vendor: 4,323 bytes, lines 1-106
1/******/ (function(modules) { // webpackBootstrap 2/******/ // The module cache 3/******/ var installedModules = {}; 4/******/ 5/******/ // The require function 6/******/ function __webpack_require__(moduleId) { 7/******/ 8/******/ // Check if module is in cache 9/******/ if(installedModules[moduleId]) { 10/******/ return installedModules[moduleId].exports; 11/******/ } 12/******/ // Create a new module (and put it into the cache) 13/******/ var module = installedModules[moduleId] = { 14/******/ i: moduleId, 15/******/ l: false, 16/******/ exports: {} 17/******/ }; 18/******/ 19/******/ // Execute the module function 20/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 21/******/ 22/******/ // Flag the module as loaded 23/******/ module.l = true; 24/******/ 25/******/ // Return the exports of the module 26/******/ return module.exports; 27/******/ } 28/******/ 29/******/ 30/******/ // expose the modules object (__webpack_modules__) 31/******/ __webpack_require__.m = modules; 32/******/ 33/******/ // expose the module cache 34/******/ __webpack_require__.c = installedModules; 35/******/ 36/******/ // define getter function for harmony exports 37/******/ __webpack_require__.d = function(exports, name, getter) { 38/******/ if(!__webpack_require__.o(exports, name)) { 39/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); 40/******/ } 41/******/ }; 42/******/ 43/******/ // define __esModule on exports 44/******/ __webpack_require__.r = function(exports) { 45/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 46/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 47/******/ } 48/******/ Object.defineProperty(exports, '__esModule', { value: true }); 49/******/ }; 50/******/ 51/******/ // create a fake namespace object 52/******/ // mode & 1: value is a module id, require it 53/******/ // mode & 2: merge all properties of value into the ns 54/******/ // mode & 4: return value when already ns object 55/******/ // mode & 8|1: behave like require 56/******/ __webpack_require__.t = function(value, mode) { 57/******/ if(mode & 1) value = __webpack_require__(value); 58/******/ if(mode & 8) return value; 59/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; 60/******/ var ns = Object.create(null); 61/******/ __webpack_require__.r(ns); 62/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); 63/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); 64/******/ return ns; 65/******/ }; 66/******/ 67/******/ // getDefaultExport function for compatibility with non-harmony modules 68/******/ __webpack_require__.n = function(module) { 69/******/ var getter = module && module.__esModule ? 70/******/ function getDefault() { return module['default']; } : 71/******/ function getModuleExports() { return module; }; 72/******/ __webpack_require__.d(getter, 'a', getter); 73/******/ return getter; 74/******/ }; 75/******/ 76/******/ // Object.prototype.hasOwnProperty.call 77/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 78/******/ 79/******/ // __webpack_public_path__ 80/******/ __webpack_require__.p = "/"; 81/******/ 82/******/ 83/******/ // Load entry module and return exports 84/******/ return __webpack_require__(__webpack_require__.s = 47); 85/******/ }) 86/************************************************************************/ 87/******/ ([ 88/* 0 */ 89/***/ (function(module, exports, __webpack_require__) { 90 91"use strict"; 92 93 94if (true) { 95 module.exports = __webpack_require__(48); 96} else {} 97 98 99/***/ }), 100/* 1 */ 101/***/ (function(module, exports, __webpack_require__) { 102 103"use strict"; 104 105Object.defineProperty(exports, "__esModule", { value: true }); 106exports.NOTES = exports.MULTI_TOUCH = exports.CANCEL = exports.CLEAR_TEMP = exports.CLEAR_VIEW = exports.PATTERN_TYPE = exports.NOTE_COPY = exports.PATTERN_UPDATE = exports.PATTERN_IDX = exports.PATTERN_COPY = exports.PATTERN_SET = exports.PATTERN_CHAIN_NEW = exports.PATTERN_CHAIN = exports.PATTERN_VIEW = exports.PATTERNS = exports.SOUNDS_SET = exports.SOUNDS_VIEW = exports.VOLUME_SET = exports.VOLUME = exports.SOUND = exp
106orts.SWING = exports.SWING_SET = exports.BPM = exports.MUTE = exports.WRITE = exports.PLAY = void 0; 107exports.PLAY = 'play_toggle'; 108exports.WRITE = 'write_toggle'; 109exports.MUTE = 'mute_toggle'; 110exports.BPM = 'bpm'; 111exports.SWING_SET = 'swing_set'; 112exports.SWING = 'swing'; 113exports.SOUND = 'sound'; 114exports.VOLUME = 'volume'; 115exports.VOLUME_SET = 'volume_set'; 116exports.SOUNDS_VIEW = 'sounds_view'; 117exports.SOUNDS_SET = 'sounds_set'; 118exports.PATTERNS = 'patterns'; 119exports.PATTERN_VIEW = 'pattern_view'; 120exports.PATTERN_CHAIN = 'pattern_chain'; 121exports.PATTERN_CHAIN_NEW = 'pattern_chain_new'; 122exports.PATTERN_SET = 'pattern_set'; 123exports.PATTERN_COPY = 'pattern_copy'; 124exports.PATTERN_IDX = 'pattern_idx'; 125exports.PATTERN_UPDATE = 'pattern_update'; 126exports.NOTE_COPY = 'note_copy'; 127exports.PATTERN_TYPE = 'patternType'; 128exports.CLEAR_VIEW = 'clear_view'; 129exports.CLEAR_TEMP = 'clear_temp'; 130exports.CANCEL = 'cancel'; 131exports.MULTI_TOUCH = 'multi_touch'; 132exports.NOTES = ['C', 'D', 'E', 'F', 'G', 'A', 'B']; 133 134 135/***/ }), 136/* 2 */ 137/***/ (function(module, exports, __webpack_require__) { 138 139/** 140 * Copyright (c) 2013-present, Facebook, Inc. 141 * 142 * This source code is licensed under the MIT license found in the 143 * LICENSE file in the root directory of this source tree. 144 */ 145 146if (false) { var throwOnDirectAccess, ReactIs; } else { 147 // By explicitly using `prop-types` you are opting into new production behavior. 148 // http://fb.me/prop-types-in-prod 149 module.exports = __webpack_require__(53)(); 150} 151 152 153/***/ }), 154/* 3 */ 155/***/ (function(module, exports, __webpack_require__) { 156 157"use strict"; 158 159Object.defineProperty(exports, "__esModule", { value: true }); 160exports.getObjectType = function (value) { 161 return Object.prototype.toString.call(value).slice(8, -1); 162}; 163var isObjectOfType = function (type) { return function (value) { 164 return exports.getObjectType(value) === type; 165}; }; 166var isOfType = function (type) { return function (value) { return typeof value === type; }; }; 167var is = function (value) { 168 switch (value) { 169 case null: 170 return "null" /* null */; 171 case true: 172 case false: 173 return "boolean" /* boolean */; 174 default: 175 } 176 switch (typeof value) { 177 case 'undefined': 178 return "undefined" /* undefined */; 179 case 'string': 180 return "string" /* string */; 181 case 'number': 182 return "number" /* number */; 183 case 'bigint': 184 return "bigint" /* bigint */; 185 case 'symbol': 186 return "symbol" /* symbol */; 187 default: 188 } 189 if (is.array(value)) { 190 return "Array" /* array */; 191 } 192 if (is.function(value)) { 193 return "Function" /* function */; 194 } 195 var tagType = exports.getObjectType(value); 196 /* istanbul ignore else */ 197 if (tagType) { 198 return tagType; 199 } 200 /* istanbul ignore next */ 201 return "Object" /* object */; 202}; 203is.array = Array.isArray; 204is.arrayOf = function (target, predicate) { 205 if (!is.array(target) && !is.function(predicate)) { 206 return false; 207 } 208 return target.every(function (d) { return predicate(d); }); 209}; 210// tslint:disable-next-line:ban-types 211is.asyncFunction = isObjectOfType("AsyncFunction" /* asyncFunction */); 212is.boolean = function (value) { 213 return value === true || value === false; 214}; 215is.date = isObjectOfType("Date" /* date */); 216is.defined = function (value) { return !is.undefined(value); }; 217is.domElement = function (value) { 218 var DOM_PROPERTIES_TO_CHECK = [ 219 'innerHTML', 220 'ownerDocument', 221 'style', 222 'attributes', 223 'nodeValue', 224 ]; 225 return (is.object(value) && 226 !is.plainObject(value) && 227 value.nodeType === 1 && 228 is.string(value.nodeName) && 229 DOM_PROPERTIES_TO_CHECK.every(function (property) { return property in value; })); 230}; 231is.empty = function (value) { 232 return ((is.string(value) && value.length === 0) || 233 (is.array(value) && value.length === 0) || 234 (is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length === 0) || 235 (is.set(value) && value.size === 0) || 236 (is.map(value) && value.size === 0)); 237}; 238is.error = isObjectOfType("Error" /* error */); 239// tslint:disable-next-line:ban-types 240is.function = isObjectOfType("Function" /* function */); 241is.generator = function (value) { 242 return (is.iterable(value) && 243 is.function(value.next) && 244 is.function(value.throw)); 245}; 246is.generatorFunction = isObjectOfType("GeneratorFunction" /* generatorFunction */); 247// tslint:disable-next-line:variable-name 248is.instanceOf = function (instance, class_) { 249 if (!instance || !class_) { 250 return false;
251 } 252 return Object.getPrototypeOf(instance) === class_.prototype; 253}; 254is.iterable = function (value) { 255 return (!is.nullOrUndefined(value) && is.function(value[Symbol.iterator])); 256}; 257is.map = isObjectOfType("Map" /* map */); 258is.nan = function (value) { 259 return Number.isNaN(value); 260}; 261is.null = function (value) { 262 return value === null; 263}; 264is.nullOrUndefined = function (value) { 265 return is.null(value) || is.undefined(value); 266}; 267is.number = function (value) { 268 return isOfType("number" /* number */)(value) && !is.nan(value); 269}; 270is.numericString = function (value) { 271 return is.string(value) && value.length > 0 && !Number.isNaN(Number(value)); 272}; 273is.object = function (value) { 274 return !is.nullOrUndefined(value) && (is.function(value) || typeof value === 'object'); 275}; 276is.oneOf = function (target, value) { 277 if (!is.array(target)) { 278 return false; 279 } 280 return target.indexOf(value) > -1; 281}; 282is.plainObject = function (value) { 283 if (exports.getObjectType(value) !== 'Object') { 284 return false; 285 } 286 var prototype = Object.getPrototypeOf(value); 287 return prototype === null || prototype === Object.getPrototypeOf({}); 288}; 289is.promise = isObjectOfType("Promise" /* promise */); 290is.propertyOf = function (target, key, predicate) { 291 if (!is.object(target) || !key) { 292 return false; 293 } 294 // @ts-ignore 295 var value = target[key]; 296 if (is.function(predicate)) { 297 return predicate(value); 298 } 299 return is.defined(value); 300}; 301is.regexp = isObjectOfType("RegExp" /* regExp */); 302is.set = isObjectOfType("Set" /* set */); 303is.string = isOfType("string" /* string */); 304is.symbol = isOfType("symbol" /* symbol */); 305is.undefined = isOfType("undefined" /* undefined */); 306is.weakMap = isObjectOfType("WeakMap" /* weakMap */); 307is.weakSet = isObjectOfType("WeakSet" /* weakSet */); 308exports.default = is; 309//# sourceMappingURL=index.js.map 310 311/***/ }), 312/* 4 */ 313/***/ (function(module, __webpack_exports__, __webpack_require__) { 314 315"use strict"; 316__webpack_require__.r(__webpack_exports__); 317/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MemoryRouter", function() { return MemoryRouter; }); 318/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Prompt", function() { return Prompt; }); 319/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Redirect", function() { return Redirect; }); 320/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Route", function() { return Route; }); 321/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Router", function() { return Router; }); 322/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StaticRouter", function() { return StaticRouter; }); 323/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Switch", function() { return Switch; }); 324/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__HistoryContext", function() { return historyContext; }); 325/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__RouterContext", function() { return context; }); 326/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "generatePath", function() { return generatePath; }); 327/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "matchPath", function() { return matchPath; }); 328/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useHistory", function() { return useHistory; }); 329/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useLocation", function() { return useLocation; }); 330/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useParams", function() { return useParams; }); 331/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useRouteMatch", function() { return useRouteMatch; }); 332/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "withRouter", function() { return withRouter; }); 333/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); 334/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0); 335/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); 336/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2); 337/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); 338/* harmony import */ var history__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8); 339/* harmony import */ var mini_create_react_context__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(25); 340/* harmony import */ var tiny_invariant__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7); 341/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5); 342/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(26); 343/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(path_to_regexp__WEBPACK_IMPORTED_MODULE_7__); 344/* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(11); 345/* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react_is__WEBPACK_IMPORTED_MODULE_8__); 346/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(17); 347/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(40); 348/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_10__); 349 350 351 352 353 354 355 356 357 358 359 360 361 362// TODO: Replace with React.createContext once we can assume React 16+ 363 364var createNamedContext = function createNamedContext(name) { 365 var context = Object(mini_create_react_context__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(); 366 context.displayName = name; 367 return context; 368}; 369 370var historyContext = 371/*#__PURE__*/ 372createNamedContext("Router-History"); 373 374// TODO: Replace with React.createContext once we can assume React 16+ 375 376var createNamedContext$1 = function createNamedContext(name) { 377 var context = Object(mini_create_react_context__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(); 378 context.displayName = name; 379 return context; 380}; 381
382var context = 383/*#__PURE__*/ 384createNamedContext$1("Router"); 385 386/** 387 * The public API for putting history on context. 388 */ 389 390var Router = 391/*#__PURE__*/ 392function (_React$Component) { 393 Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(Router, _React$Component); 394 395 Router.computeRootMatch = function computeRootMatch(pathname) { 396 return { 397 path: "/", 398 url: "/", 399 params: {}, 400 isExact: pathname === "/" 401 }; 402 }; 403 404 function Router(props) { 405 var _this; 406 407 _this = _React$Component.call(this, props) || this; 408 _this.state = { 409 location: props.history.location 410 }; // This is a bit of a hack. We have to start listening for location 411 // changes here in the constructor in case there are any <Redirect>s 412 // on the initial render. If there are, they will replace/push when 413 // they mount and since cDM fires in children before parents, we may 414 // get a new location before the <Router> is mounted. 415 416 _this._isMounted = false; 417 _this._pendingLocation = null; 418 419 if (!props.staticContext) { 420 _this.unlisten = props.history.listen(function (location) { 421 if (_this._isMounted) { 422 _this.setState({ 423 location: location 424 }); 425 } else { 426 _this._pendingLocation = location; 427 } 428 }); 429 } 430 431 return _this; 432 } 433 434 var _proto = Router.prototype; 435 436 _proto.componentDidMount = function componentDidMount() { 437 this._isMounted = true; 438 439 if (this._pendingLocation) { 440 this.setState({ 441 location: this._pendingLocation 442 }); 443 } 444 }; 445 446 _proto.componentWillUnmount = function componentWillUnmount() { 447 if (this.unlisten) this.unlisten(); 448 }; 449 450 _proto.render = function render() { 451 return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(context.Provider, { 452 value: { 453 history: this.props.history, 454 location: this.state.location, 455 match: Router.computeRootMatch(this.state.location.pathname), 456 staticContext: this.props.staticContext 457 } 458 }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(historyContext.Provider, { 459 children: this.props.children || null, 460 value: this.props.history 461 })); 462 }; 463 464 return Router; 465}(react__WEBPACK_IMPORTED_MODULE_1___default.a.Component); 466 467if (false) {} 468 469/** 470 * The public API for a <Router> that stores location in memory. 471 */ 472 473var MemoryRouter = 474/*#__PURE__*/ 475function (_React$Component) { 476 Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(MemoryRouter, _React$Component); 477 478 function MemoryRouter() { 479 var _this; 480 481 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 482 args[_key] = arguments[_key]; 483 } 484 485 _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this; 486 _this.history = Object(history__WEBPACK_IMPORTED_MODULE_3__["createMemoryHistory"])(_this.props); 487 return _this; 488 } 489 490 var _proto = MemoryRouter.prototype; 491 492 _proto.render = function render() { 493 return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Router, { 494 history: this.history, 495 children: this.props.children 496 }); 497 }; 498 499 return MemoryRouter; 500}(react__WEBPACK_IMPORTED_MODULE_1___default.a.Component); 501 502if (false) {} 503 504var Lifecycle = 505/*#__PURE__*/ 506function (_React$Component) { 507 Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(Lifecycle, _React$Component); 508 509 function Lifecycle() { 510 return _React$Component.apply(this, arguments) || this; 511 } 512 513 var _proto = Lifecycle.prototype; 514 515 _proto.componentDidMount = function componentDidMount() { 516 if (this.props.onMount) this.props.onMount.call(this, this); 517 }; 518 519 _proto.componentDidUpdate = function componentDidUpdate(prevProps) { 520 if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps); 521 }; 522 523 _proto.componentWillUnmount = function componentWillUnmount() { 524 if (this.props.onUnmount) this.props.onUnmount.call(this, this); 525 }; 526 527 _proto.render = function render() { 528 return null; 529 }; 530 531 return Lifecycle; 532}(react__WEBPACK_IMPORTED_MODULE_1___default.a.Component); 533 534/** 535 * The public API for prompting the user before navigating away from a screen. 536 */ 537 538function Prompt(_ref) { 539 var message = _ref.message, 540 _ref$when = _ref.when, 541 when = _ref$when === void 0 ? true : _ref$when; 542 return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(context.Consumer, null, function (context) { 543 !context ? false ? undefined : Object(tiny_invariant__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(false) : void 0; 544 if (!when || context.staticContext) return null; 545 var method = context.history.block; 546 return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Lifecycle, { 547 onMount: function onMount(self) { 548 self.release = method(message); 549 }, 550 onUpdate: function onUpdate(self, prevProps) { 551 if (prevProps.message !== message) { 552 self.release(); 553 self.release = method(message); 554 } 555 }, 556 onUnmount: function onUnmount(self) { 557 self.release(); 558 }, 559 message: message 560 }); 561 }); 562} 563 564if (false) { var messageType; } 565 566var cache = {}; 567var cacheLimit = 10000; 568var cacheCount = 0; 569 570function compilePath(path) { 571 if (cache[path]) return cache[path]; 572 var generator = path_to_regexp__WEBPACK_IMPORTED_MODULE_7___default.a.compile(path); 573 574 if (cacheCount < cacheLimit) { 575 cache[path] = generator; 576 cacheCount++; 577 } 578 579 return generator; 580} 581/** 582 * Public API for generating a URL pathname from a path and parameters. 583 */ 584 585 586function generatePath(path, params) { 587 if (path === void 0) { 588 path = "/"; 589 } 590 591 if (params === void 0) { 592 params = {}; 593 } 594 595 return path === "/" ? path : compilePath(path)(params, { 596 pretty: true 597 }); 598} 599 600/** 601 * The public API for navigating programmatically with a component. 602 */ 603 604function Redirect(_ref) { 605 var computedMatch = _ref.computedMatch, 606 to = _ref.to, 607 _ref$push = _ref.push, 608 push = _ref$push === void 0 ? false : _ref$push; 609 return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(context.Consumer, null, function (context) { 610 !context ? false ? undefined : Object(tiny_invariant__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(false) : void 0; 611 var history = context.history, 612 staticContext = context.staticContext; 613 var method = push ? history.push : history.replace; 614 var location = Object(history__WEBPACK_IMPORTED_MODULE_3__["createLocation"])(computedMatch ? typeof to === "string" ? generatePath(to, computedMatch.params) : Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])({}, to, { 615 pathname: generatePath(to.pathname, computedMatch.params) 616 }) : to); // When rendering in a static context, 617 // set the new location immediately. 618 619 if (staticContext) { 620 method(location); 621 return null; 622 } 623 624 return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Lifecycle, { 625 onMount: function onMount() { 626 method(location); 627 }, 628 onUpdate: function onUpdate(self, prevProps) { 629 var prevLocation = Object(history__WEBPACK_IMPORTED_MODULE_3__["createLocation"])(prevProps.to); 630 631 if (!Object(history__WEBPACK_IMPORTED_MODULE_3__["locationsAreEqual"])(prevLocation, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])({}, location, { 632 key: prevLocation.key 633 }))) { 634 method(location); 635 } 636 }, 637 to: to 638 }); 639 }); 640} 641 642if (false) {} 643 644var cache$1 = {}; 645var cacheLimit$1 = 10000; 646var cacheCount$1 = 0; 647 648function compilePath$1(path, options) { 649 var cacheKey = "" + options.end + options.strict + options.sensitive; 650 var pathCache = cache$1[cacheKey] || (cache$1[cacheKey] = {}); 651 if (pathCache[path]) return pathCache[path]; 652 var keys = []; 653 var regexp = path_to_regexp__WEBPACK_IMPORTED_MODULE_7___default()(path, keys, options); 654 var result = { 655 regexp: regexp, 656 keys: keys 657 }; 658 659 if (cacheCount$1 < cacheLimit$1) { 660 pathCache[path] = result; 661 cacheCount$1++; 662 } 663 664 return result; 665} 666/** 667 * Public API for matching a URL pathname to a path. 668 */ 669 670 671function matchPath(pathname, options) { 672 if (options === void 0) { 673 options = {}; 674 } 675 676 if (typeof options === "string" || Array.isArray(options)) { 677 options = { 678 path: options 679 }; 680 } 681 682 var _options = options, 683 path = _options.path, 684 _options$exact = _options.exact, 685 exact = _options$exact === void 0 ? false : _options$exact, 686 _options$strict = _options.strict,
687 strict = _options$strict === void 0 ? false : _options$strict, 688 _options$sensitive = _options.sensitive, 689 sensitive = _options$sensitive === void 0 ? false : _options$sensitive; 690 var paths = [].concat(path); 691 return paths.reduce(function (matched, path) { 692 if (!path && path !== "") return null; 693 if (matched) return matched; 694 695 var _compilePath = compilePath$1(path, { 696 end: exact, 697 strict: strict, 698 sensitive: sensitive 699 }), 700 regexp = _compilePath.regexp, 701 keys = _compilePath.keys; 702 703 var match = regexp.exec(pathname); 704 if (!match) return null; 705 var url = match[0], 706 values = match.slice(1); 707 var isExact = pathname === url; 708 if (exact && !isExact) return null; 709 return { 710 path: path, 711 // the path used to match 712 url: path === "/" && url === "" ? "/" : url, 713 // the matched portion of the URL 714 isExact: isExact, 715 // whether or not we matched exactly 716 params: keys.reduce(function (memo, key, index) { 717 memo[key.name] = values[index]; 718 return memo; 719 }, {}) 720 }; 721 }, null); 722} 723 724function isEmptyChildren(children) { 725 return react__WEBPACK_IMPORTED_MODULE_1___default.a.Children.count(children) === 0; 726} 727 728function evalChildrenDev(children, props, path) { 729 var value = children(props); 730 false ? undefined : void 0; 731 return value || null; 732} 733/** 734 * The public API for matching a single path and rendering. 735 */ 736 737 738var Route = 739/*#__PURE__*/ 740function (_React$Component) { 741 Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(Route, _React$Component); 742 743 function Route() { 744 return _React$Component.apply(this, arguments) || this; 745 } 746 747 var _proto = Route.prototype; 748 749 _proto.render = function render() { 750 var _this = this; 751 752 return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(context.Consumer, null, function (context$1) { 753 !context$1 ? false ? undefined : Object(tiny_invariant__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(false) : void 0; 754 var location = _this.props.location || context$1.location; 755 var match = _this.props.computedMatch ? _this.props.computedMatch // <Switch> already computed the match for us 756 : _this.props.path ? matchPath(location.pathname, _this.props) : context$1.match; 757 758 var props = Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])({}, context$1, { 759 location: location, 760 match: match 761 }); 762 763 var _this$props = _this.props, 764 children = _this$props.children, 765 component = _this$props.component, 766 render = _this$props.render; // Preact uses an empty array as children by 767 // default, so use null if that's the case. 768 769 if (Array.isArray(children) && children.length === 0) { 770 children = null; 771 } 772 773 return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(context.Provider, { 774 value: props 775 }, props.match ? children ? typeof children === "function" ? false ? undefined : children(props) : children : component ? react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(component, props) : render ? render(props) : null : typeof children === "function" ? false ? undefined : children(props) : null); 776 }); 777 }; 778 779 return Route; 780}(react__WEBPACK_IMPORTED_MODULE_1___default.a.Component); 781 782if (false) {} 783 784function addLeadingSlash(path) { 785 return path.charAt(0) === "/" ? path : "/" + path; 786} 787 788function addBasename(basename, location) { 789 if (!basename) return location; 790 return Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])({}, location, { 791 pathname: addLeadingSlash(basename) + location.pathname 792 }); 793} 794 795function stripBasename(basename, location) { 796 if (!basename) return location; 797 var base = addLeadingSlash(basename); 798 if (location.pathname.indexOf(base) !== 0) return location; 799 return Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])({}, location, { 800 pathname: location.pathname.substr(base.length) 801 }); 802} 803 804function createURL(location) { 805 return typeof location === "string" ? location : Object(history__WEBPACK_IMPORTED_MODULE_3__["createPath"])(location); 806} 807 808function staticHandler(methodName) { 809 return function () { 810 false ? undefined : Object(tiny_invariant__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(false) ; 811 }; 812} 813 814function noop() {} 815/** 816 * The public top-level API for a "static" <Router>, so-called because it 817 * can't actually change the current location. Instead, it just records 818 * location changes in a context object. Useful mainly in testing and 819 * server-rendering scenarios. 820 */ 821 822 823var StaticRouter = 824/*#__PURE__*/ 825function (_React$Component) { 826 Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(StaticRouter, _React$Component); 827 828 function StaticRouter() { 829 var _this; 830 831 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 832 args[_key] = arguments[_key]; 833 } 834 835 _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this; 836 837 _this.handlePush = function (location) { 838 return _this.navigateTo(location, "PUSH"); 839 }; 840 841 _this.handleReplace = function (location) { 842 return _this.navigateTo(location, "REPLACE"); 843 }; 844 845 _this.handleListen = function () { 846 return noop; 847 }; 848 849 _this.handleBlock = function () { 850 return noop; 851 }; 852 853 return _this; 854 } 855 856 var _proto = StaticRouter.prototype; 857 858 _proto.navigateTo = function navigateTo(location, action) { 859 var _this$props = this.props, 860 _this$props$basename = _this$props.basename, 861 basename = _this$props$basename === void 0 ? "" : _this$props$basename, 862 _this$props$context = _this$props.context, 863 context = _this$props$context === void 0 ? {}
863 : _this$props$context; 864 context.action = action; 865 context.location = addBasename(basename, Object(history__WEBPACK_IMPORTED_MODULE_3__["createLocation"])(location)); 866 context.url = createURL(context.location); 867 }; 868 869 _proto.render = function render() { 870 var _this$props2 = this.props, 871 _this$props2$basename = _this$props2.basename, 872 basename = _this$props2$basename === void 0 ? "" : _this$props2$basename, 873 _this$props2$context = _this$props2.context, 874 context = _this$props2$context === void 0 ? {} : _this$props2$context, 875 _this$props2$location = _this$props2.location, 876 location = _this$props2$location === void 0 ? "/" : _this$props2$location, 877 rest = Object(_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"])(_this$props2, ["basename", "context", "location"]); 878 879 var history = { 880 createHref: function createHref(path) { 881 return addLeadingSlash(basename + createURL(path)); 882 }, 883 action: "POP", 884 location: stripBasename(basename, Object(history__WEBPACK_IMPORTED_MODULE_3__["createLocation"])(location)), 885 push: this.handlePush, 886 replace: this.handleReplace, 887 go: staticHandler("go"), 888 goBack: staticHandler("goBack"), 889 goForward: staticHandler("goForward"), 890 listen: this.handleListen, 891 block: this.handleBlock 892 }; 893 return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Router, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])({}, rest, { 894 history: history, 895 staticContext: context 896 })); 897 }; 898 899 return StaticRouter; 900}(react__WEBPACK_IMPORTED_MODULE_1___default.a.Component); 901 902if (false) {} 903 904/** 905 * The public API for rendering the first <Route> that matches. 906 */ 907 908var Switch = 909/*#__PURE__*/ 910function (_React$Component) { 911 Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(Switch, _React$Component); 912 913 function Switch() { 914 return _React$Component.apply(this, arguments) || this; 915 } 916 917 var _proto = Switch.prototype; 918 919 _proto.render = function render() { 920 var _this = this; 921 922 return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(context.Consumer, null, function (context) { 923 !context ? false ? undefined : Object(tiny_invariant__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(false) : void 0; 924 var location = _this.props.location || context.location; 925 var element, match; // We use React.Children.forEach instead of React.Children.toArray().find() 926 // here because toArray adds keys to all child elements and we do not want 927 // to trigger an unmount/remount for two <Route>s that render the same 928 // component at different URLs. 929 930 react__WEBPACK_IMPORTED_MODULE_1___default.a.Children.forEach(_this.props.children, function (child) { 931 if (match == null && react__WEBPACK_IMPORTED_MODULE_1___default.a.isValidElement(child)) { 932 element = child; 933 var path = child.props.path || child.props.from; 934 match = path ? matchPath(location.pathname, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])({}, child.props, { 935 path: path 936 })) : context.match; 937 } 938 }); 939 return match ? react__WEBPACK_IMPORTED_MODULE_1___default.a.cloneElement(element, { 940 location: location, 941 computedMatch: match 942 }) : null; 943 }); 944 }; 945 946 return Switch; 947}(react__WEBPACK_IMPORTED_MODULE_1___default.a.Component); 948 949if (false) {} 950 951/** 952 * A public higher-order component to access the imperative API 953 */ 954 955function withRouter(Component) { 956 var displayName = "withRouter(" + (Component.displayName || Component.name) + ")"; 957 958 var C = function C(props) { 959 var wrappedComponentRef = props.wrappedComponentRef, 960 remainingProps = Object(_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"])(props, ["wrappedComponentRef"]); 961 962 return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(context.Consumer, null, function (context) { 963 !context ? false ? undefined : Object(tiny_invariant__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(false) : void 0; 964 return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Component, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])({}, remainingProps, context, { 965 ref: wrappedComponentRef 966 })); 967 }); 968 }; 969 970 C.displayName = displayName; 971 C.WrappedComponent = Component; 972 973 if (false) {} 974 975 return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_10___default()(C, Component); 976} 977 978var useContext = react__WEBPACK_IMPORTED_MODULE_1___default.a.useContext; 979function useHistory() { 980 if (false) {} 981 982 return useContext(historyContext); 983} 984function useLocation() { 985 if (false) {} 986 987 return useContext(context).location; 988} 989function useParams() { 990 if (false) {} 991 992 var match = useContext(context).match; 993 return match ? match.params : {}; 994} 995function useRouteMatch(path) { 996 if (false) {} 997 998 var location = useLocation(); 999 var match = useContext(context).match; 1000 return path ? matchPath(location.pathname, path) : match; 1001} 1002 1003if (false) { var secondaryBuildName, initialBuildName, buildNames, key, global; } 1004 1005 1006//# sourceMappingURL=react-router.js.map 1007 1008 1009/***/ }), 1010/* 5 */ 1011/***/ (function(module, __webpack_exports__, __webpack_require__) { 1012 1013"use strict"; 1014/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _extends; }); 1015function _extends() { 1016 _extends = Object.assign || function (target) { 1017 for (var i = 1; i < arguments.length; i++) { 1018 var source = arguments[i]; 1019 1020 for (var key in source) { 1021 if (Object.prototype.hasOwnProperty.call(source, key)) { 1022 target[key] = source[key]; 1023 } 1024 } 1025 } 1026 1027 return target; 1028 }; 1029 1030 return _extends.apply(this, arguments); 1031} 1032 1033/***/ }), 1034/* 6 */ 1035/***/ (function(module, __webpack_exports__, __webpack_require__) { 1036 1037"use strict"; 1038/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _inheritsLoose; }); 1039function _inheritsLoose(subClass, superClass) { 1040 subClass.prototype = Object.create(superClass.prototype); 1041 subClass.prototype.constructor = subClass; 1042 subClass.__proto__ = superClass; 1043} 1044 1045/***/ }), 1046/* 7 */ 1047/***/ (function(module, __webpack_exports__, __webpack_require__) { 1048 1049"use strict"; 1050var isProduction = "production" === 'production'; 1051var prefix = 'Invariant failed'; 1052function invariant(condition, message) { 1053 if (condition) { 1054 return; 1055 } 1056 if (isProduction) { 1057 throw new Error(prefix); 1058 } 1059 throw new Error(prefix + ": " + (message || '')); 1060} 1061 1062/* harmony default export */ __webpack_exports__["a"] = (invariant); 1063 1064 1065/***/ }), 1066/* 8 */ 1067/***/ (function(module, __webpack_exports__, __webpack_require__) { 1068 1069"use strict"; 1070__webpack_require__.r(__webpack_exports__); 1071 1072// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js 1073var esm_extends = __webpack_require__(5); 1074 1075// CONCATENATED MODULE: ./node_modules/resolve-pathname/esm/resolve-pathname.js 1076function isAbsolute(pathname) { 1077 return pathname.charAt(0) === '/'; 1078} 1079 1080// About 1.5x faster than the two-arg version of Array#splice() 1081function spliceOne(list, index) { 1082 for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) { 1083 list[i] = list[k]; 1084 } 1085 1086 list.pop(); 1087} 1088 1089// This implementation is based heavily on node's url.parse 1090function resolvePathname(to, from) { 1091 if (from === undefined) from = ''; 1092 1093 var toParts = (to && to.split('/')) || []; 1094 var fromParts = (from && from.split('/')) || []; 1095 1096 var isToAbs = to && isAbsolute(to); 1097 var isFromAbs = from && isAbsolute(from); 1098 var mustEndAbs = isToAbs || isFromAbs; 1099 1100 if (to && isAbsolute(to)) { 1101 // to is absolute 1102 fromParts = toParts; 1103 } else if (toParts.length) { 1104 // to is relative, drop the filename 1105 fromParts.pop(); 1106 fromParts = fromParts.concat(toParts); 1107 } 1108 1109 if (!fromParts.length) return '/'; 1110 1111 var hasTrailingSlash; 1112 if (fromParts.length) { 1113 var last = fromParts[fromParts.length - 1]; 1114 hasTrailingSlash = last === '.' || last === '..' || last === ''; 1115 } else { 1116 hasTrailingSlash = false;
1117 } 1118 1119 var up = 0; 1120 for (var i = fromParts.length; i >= 0; i--) { 1121 var part = fromParts[i]; 1122 1123 if (part === '.') { 1124 spliceOne(fromParts, i); 1125 } else if (part === '..') { 1126 spliceOne(fromParts, i); 1127 up++; 1128 } else if (up) { 1129 spliceOne(fromParts, i); 1130 up--; 1131 } 1132 } 1133 1134 if (!mustEndAbs) for (; up--; up) fromParts.unshift('..'); 1135 1136 if ( 1137 mustEndAbs && 1138 fromParts[0] !== '' && 1139 (!fromParts[0] || !isAbsolute(fromParts[0])) 1140 ) 1141 fromParts.unshift(''); 1142 1143 var result = fromParts.join('/'); 1144 1145 if (hasTrailingSlash && result.substr(-1) !== '/') result += '/'; 1146 1147 return result; 1148} 1149 1150/* harmony default export */ var resolve_pathname = (resolvePathname); 1151 1152// CONCATENATED MODULE: ./node_modules/value-equal/esm/value-equal.js 1153function value_equal_valueOf(obj) { 1154 return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj); 1155} 1156 1157function valueEqual(a, b) { 1158 // Test for strict equality first. 1159 if (a === b) return true; 1160 1161 // Otherwise, if either of them == null they are not equal. 1162 if (a == null || b == null) return false; 1163 1164 if (Array.isArray(a)) { 1165 return ( 1166 Array.isArray(b) && 1167 a.length === b.length && 1168 a.every(function(item, index) { 1169 return valueEqual(item, b[index]); 1170 }) 1171 ); 1172 } 1173 1174 if (typeof a === 'object' || typeof b === 'object') { 1175 var aValue = value_equal_valueOf(a); 1176 var bValue = value_equal_valueOf(b); 1177 1178 if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue); 1179 1180 return Object.keys(Object.assign({}, a, b)).every(function(key) { 1181 return valueEqual(a[key], b[key]); 1182 }); 1183 } 1184 1185 return false; 1186} 1187 1188/* harmony default export */ var value_equal = (valueEqual); 1189 1190// EXTERNAL MODULE: ./node_modules/tiny-invariant/dist/tiny-invariant.esm.js 1191var tiny_invariant_esm = __webpack_require__(7); 1192 1193// CONCATENATED MODULE: ./node_modules/history/esm/history.js 1194/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createBrowserHistory", function() { return createBrowserHistory; }); 1195/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createHashHistory", function() { return createHashHistory; }); 1196/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createMemoryHistory", function() { return createMemoryHistory; }); 1197/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createLocation", function() { return createLocation; }); 1198/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "locationsAreEqual", function() { return locationsAreEqual; }); 1199/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parsePath", function() { return parsePath; }); 1200/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createPath", function() { return createPath; }); 1201 1202 1203 1204 1205 1206 1207function addLeadingSlash(path) { 1208 return path.charAt(0) === '/' ? path : '/' + path; 1209} 1210function stripLeadingSlash(path) { 1211 return path.charAt(0) === '/' ? path.substr(1) : path; 1212} 1213function hasBasename(path, prefix) { 1214 return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1; 1215} 1216function stripBasename(path, prefix) { 1217 return hasBasename(path, prefix) ? path.substr(prefix.length) : path; 1218} 1219function stripTrailingSlash(path) { 1220 return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path; 1221} 1222function parsePath(path) { 1223 var pathname = path || '/'; 1224 var search = ''; 1225 var hash = ''; 1226 var hashIndex = pathname.indexOf('#'); 1227 1228 if (hashIndex !== -1) { 1229 hash = pathname.substr(hashIndex); 1230 pathname = pathname.substr(0, hashIndex); 1231 } 1232 1233 var searchIndex = pathname.indexOf('?'); 1234 1235 if (searchIndex !== -1) { 1236 search = pathname.substr(searchIndex); 1237 pathname = pathname.substr(0, searchIndex); 1238 } 1239 1240 return { 1241 pathname: pathname, 1242 search: search === '?' ? '' : search, 1243 hash: hash === '#' ? '' : hash 1244 }; 1245} 1246function createPath(location) { 1247 var pathname = location.pathname, 1248 search = location.search, 1249 hash = location.hash; 1250 var path = pathname || '/'; 1251 if (search && search !== '?') path += search.charAt(0) === '?' ? search : "?" + search; 1252 if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : "#" + hash; 1253 return path; 1254} 1255 1256function createLocation(path, state, key, currentLocation) { 1257 var location; 1258 1259 if (typeof path === 'string') { 1260 // Two-arg form: push(path, state) 1261 location = parsePath(path); 1262 location.state = state; 1263 } else { 1264 // One-arg form: push(location) 1265 location = Object(esm_extends["a" /* default */])({}, path); 1266 if (location.pathname === undefined) location.pathname = ''; 1267 1268 if (location.search) { 1269 if (location.search.charAt(0) !== '?') location.search = '?' + location.search; 1270 } else { 1271 location.search = ''; 1272 } 1273 1274 if (location.hash) { 1275 if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash; 1276 } else { 1277 location.hash = ''; 1278 } 1279 1280 if (state !== undefined && location.state === undefined) location.state = state; 1281 } 1282 1283 try { 1284 location.pathname = decodeURI(location.pathname); 1285 } catch (e) { 1286 if (e instanceof URIError) { 1287 throw new URIError('Pathname "' + location.pathname + '" could not be decoded. ' + 'This is likely caused by an invali
1287d percent-encoding.'); 1288 } else { 1289 throw e; 1290 } 1291 } 1292 1293 if (key) location.key = key; 1294 1295 if (currentLocation) { 1296 // Resolve incomplete/relative pathname relative to current location. 1297 if (!location.pathname) { 1298 location.pathname = currentLocation.pathname; 1299 } else if (location.pathname.charAt(0) !== '/') { 1300 location.pathname = resolve_pathname(location.pathname, currentLocation.pathname); 1301 } 1302 } else { 1303 // When there is no prior location and pathname is empty, set it to / 1304 if (!location.pathname) { 1305 location.pathname = '/'; 1306 } 1307 } 1308 1309 return location; 1310} 1311function locationsAreEqual(a, b) { 1312 return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && value_equal(a.state, b.state); 1313} 1314 1315function createTransitionManager() { 1316 var prompt = null; 1317 1318 function setPrompt(nextPrompt) { 1319 false ? undefined : void 0; 1320 prompt = nextPrompt; 1321 return function () { 1322 if (prompt === nextPrompt) prompt = null; 1323 }; 1324 } 1325 1326 function confirmTransitionTo(location, action, getUserConfirmation, callback) { 1327 // TODO: If another transition starts while we're still confirming 1328 // the previous one, we may end up in a weird state. Figure out the 1329 // best way to handle this. 1330 if (prompt != null) { 1331 var result = typeof prompt === 'function' ? prompt(location, action) : prompt; 1332 1333 if (typeof result === 'string') { 1334 if (typeof getUserConfirmation === 'function') { 1335 getUserConfirmation(result, callback); 1336 } else { 1337 false ? undefined : void 0; 1338 callback(true); 1339 } 1340 } else { 1341 // Return false from a transition hook to cancel the transition. 1342 callback(result !== false); 1343 } 1344 } else { 1345 callback(true); 1346 } 1347 } 1348 1349 var listeners = []; 1350 1351 function appendListener(fn) { 1352 var isActive = true; 1353 1354 function listener() { 1355 if (isActive) fn.apply(void 0, arguments); 1356 } 1357 1358 listeners.push(listener); 1359 return function () { 1360 isActive = false; 1361 listeners = listeners.filter(function (item) { 1362 return item !== listener; 1363 }); 1364 }; 1365 } 1366 1367 function notifyListeners() { 1368 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 1369 args[_key] = arguments[_key]; 1370 } 1371 1372 listeners.forEach(function (listener) { 1373 return listener.apply(void 0, args); 1374 }); 1375 } 1376 1377 return { 1378 setPrompt: setPrompt, 1379 confirmTransitionTo: confirmTransitionTo, 1380 appendListener: appendListener, 1381 notifyListeners: notifyListeners 1382 }; 1383} 1384 1385var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); 1386function getConfirmation(message, callback) { 1387 callback(window.confirm(message)); // eslint-disable-line no-alert 1388} 1389/** 1390 * Returns true if the HTML5 history API is supported. Taken from Modernizr. 1391 * 1392 * https://github.com/Modernizr/Modernizr/blob/master/LICENSE 1393 * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js 1394 * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586 1395 */ 1396 1397function supportsHistory() { 1398 var ua = window.navigator.userAgent; 1399 if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false; 1400 return window.history && 'pushState' in window.history; 1401} 1402/** 1403 * Returns true if browser fires popstate on hash change. 1404 * IE10 and IE11 do not. 1405 */ 1406 1407function supportsPopStateOnHashChange() { 1408 return window.navigator.userAgent.indexOf('Trident') === -1; 1409} 1410/** 1411 * Returns false if using go(n) with hash history causes a full page reload. 1412 */ 1413 1414function supportsGoWithoutReloadUsingHash() { 1415 return window.navigator.userAgent.indexOf('Firefox') === -1; 1416} 1417/** 1418 * Returns true if a given popstate event is an extraneous WebKit event. 1419 * Accounts for the fact that Chrome on iOS fires real popstate events 1420 * containing undefined state when pressing the back button. 1421 */ 1422 1423function isExtraneousPopstateEvent(event) { 1424 return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1; 1425} 1426 1427var PopStateEvent = 'popstate'; 1428var HashChangeEvent = 'hashchange'; 1429 1430function getHistoryState() { 1431 try { 1432 return window.history.state || {}; 1433 } catch (e) { 1434 // IE 11 sometimes throws when accessing window.history.state 1435 // See https://github.com/ReactTraining/history/pull/289 1436 return {}; 1437 } 1438} 1439/** 1440 * Creates a history object that uses the HTML5 history API including 1441 * pushState, replaceState, and the popstate event. 1442 */ 1443 1444 1445function createBrowserHistory(props) { 1446 if (props === void 0) { 1447 props = {}; 1448 } 1449 1450 !canUseDOM ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0; 1451 var globalHistory = window.history; 1452 var canUseHistory = supportsHistory(); 1453 var needsHashChangeListener = !supportsPopStateOnHashChange(); 1454 var _props = props, 1455 _props$forceRefresh = _props.forceRefresh, 1456 forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh, 1457 _props$getUserConfirm = _props.getUserConfirmation, 1458 getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm, 1459 _props$keyLength = _props.keyLength,
1460 keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength; 1461 var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : ''; 1462 1463 function getDOMLocation(historyState) { 1464 var _ref = historyState || {}, 1465 key = _ref.key, 1466 state = _ref.state; 1467 1468 var _window$location = window.location, 1469 pathname = _window$location.pathname, 1470 search = _window$location.search, 1471 hash = _window$location.hash; 1472 var path = pathname + search + hash; 1473 false ? undefined : void 0; 1474 if (basename) path = stripBasename(path, basename); 1475 return createLocation(path, state, key); 1476 } 1477 1478 function createKey() { 1479 return Math.random().toString(36).substr(2, keyLength); 1480 } 1481 1482 var transitionManager = createTransitionManager(); 1483 1484 function setState(nextState) { 1485 Object(esm_extends["a" /* default */])(history, nextState); 1486 1487 history.length = globalHistory.length; 1488 transitionManager.notifyListeners(history.location, history.action); 1489 } 1490 1491 function handlePopState(event) { 1492 // Ignore extraneous popstate events in WebKit. 1493 if (isExtraneousPopstateEvent(event)) return; 1494 handlePop(getDOMLocation(event.state)); 1495 } 1496 1497 function handleHashChange() { 1498 handlePop(getDOMLocation(getHistoryState())); 1499 } 1500 1501 var forceNextPop = false; 1502 1503 function handlePop(location) { 1504 if (forceNextPop) { 1505 forceNextPop = false; 1506 setState(); 1507 } else { 1508 var action = 'POP'; 1509 transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { 1510 if (ok) { 1511 setState({ 1512 action: action, 1513 location: location 1514 }); 1515 } else { 1516 revertPop(location); 1517 } 1518 }); 1519 } 1520 } 1521 1522 function revertPop(fromLocation) { 1523 var toLocation = history.location; // TODO: We could probably make this more reliable by 1524 // keeping a list of keys we've seen in sessionStorage. 1525 // Instead, we just default to 0 for keys we don't know. 1526 1527 var toIndex = allKeys.indexOf(toLocation.key); 1528 if (toIndex === -1) toIndex = 0; 1529 var fromIndex = allKeys.indexOf(fromLocation.key); 1530 if (fromIndex === -1) fromIndex = 0; 1531 var delta = toIndex - fromIndex; 1532 1533 if (delta) { 1534 forceNextPop = true; 1535 go(delta); 1536 } 1537 } 1538 1539 var initialLocation = getDOMLocation(getHistoryState()); 1540 var allKeys = [initialLocation.key]; // Public interface 1541 1542 function createHref(location) { 1543 return basename + createPath(location); 1544 } 1545 1546 function push(path, state) { 1547 false ? undefined : void 0; 1548 var action = 'PUSH'; 1549 var location = createLocation(path, state, createKey(), history.location); 1550 transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { 1551 if (!ok) return; 1552 var href = createHref(location); 1553 var key = location.key, 1554 state = location.state; 1555 1556 if (canUseHistory) { 1557 globalHistory.pushState({ 1558 key: key, 1559 state: state 1560 }, null, href); 1561 1562 if (forceRefresh) { 1563 window.location.href = href; 1564 } else { 1565 var prevIndex = allKeys.indexOf(history.location.key); 1566 var nextKeys = allKeys.slice(0, prevIndex + 1); 1567 nextKeys.push(location.key); 1568 allKeys = nextKeys; 1569 setState({ 1570 action: action, 1571 location: location 1572 }); 1573 } 1574 } else { 1575 false ? undefined : void 0; 1576 window.location.href = href; 1577 } 1578 }); 1579 } 1580 1581 function replace(path, state) { 1582 false ? undefined : void 0; 1583 var action = 'REPLACE'; 1584 var location = createLocation(path, state, createKey(), history.location); 1585 transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { 1586 if (!ok) return; 1587 var href = createHref(location); 1588 var key = location.key, 1589 state = location.state; 1590 1591 if (canUseHistory) { 1592 globalHistory.replaceState({ 1593 key: key, 1594 state: state 1595 }, null, href); 1596 1597 if (forceRefresh) { 1598 window.location.replace(href); 1599 } else {
1600 var prevIndex = allKeys.indexOf(history.location.key); 1601 if (prevIndex !== -1) allKeys[prevIndex] = location.key; 1602 setState({ 1603 action: action, 1604 location: location 1605 }); 1606 } 1607 } else { 1608 false ? undefined : void 0; 1609 window.location.replace(href); 1610 } 1611 }); 1612 } 1613 1614 function go(n) { 1615 globalHistory.go(n); 1616 } 1617 1618 function goBack() { 1619 go(-1); 1620 } 1621 1622 function goForward() { 1623 go(1); 1624 } 1625 1626 var listenerCount = 0; 1627 1628 function checkDOMListeners(delta) { 1629 listenerCount += delta; 1630 1631 if (listenerCount === 1 && delta === 1) { 1632 window.addEventListener(PopStateEvent, handlePopState); 1633 if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange); 1634 } else if (listenerCount === 0) { 1635 window.removeEventListener(PopStateEvent, handlePopState); 1636 if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange); 1637 } 1638 } 1639 1640 var isBlocked = false; 1641 1642 function block(prompt) { 1643 if (prompt === void 0) { 1644 prompt = false; 1645 } 1646 1647 var unblock = transitionManager.setPrompt(prompt); 1648 1649 if (!isBlocked) { 1650 checkDOMListeners(1); 1651 isBlocked = true; 1652 } 1653 1654 return function () { 1655 if (isBlocked) { 1656 isBlocked = false; 1657 checkDOMListeners(-1); 1658 } 1659 1660 return unblock(); 1661 }; 1662 } 1663 1664 function listen(listener) { 1665 var unlisten = transitionManager.appendListener(listener); 1666 checkDOMListeners(1); 1667 return function () { 1668 checkDOMListeners(-1); 1669 unlisten(); 1670 }; 1671 } 1672 1673 var history = { 1674 length: globalHistory.length, 1675 action: 'POP', 1676 location: initialLocation, 1677 createHref: createHref, 1678 push: push, 1679 replace: replace, 1680 go: go, 1681 goBack: goBack, 1682 goForward: goForward, 1683 block: block, 1684 listen: listen 1685 }; 1686 return history; 1687} 1688 1689var HashChangeEvent$1 = 'hashchange'; 1690var HashPathCoders = { 1691 hashbang: { 1692 encodePath: function encodePath(path) { 1693 return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path); 1694 }, 1695 decodePath: function decodePath(path) { 1696 return path.charAt(0) === '!' ? path.substr(1) : path; 1697 } 1698 }, 1699 noslash: { 1700 encodePath: stripLeadingSlash, 1701 decodePath: addLeadingSlash 1702 }, 1703 slash: { 1704 encodePath: addLeadingSlash, 1705 decodePath: addLeadingSlash 1706 } 1707}; 1708 1709function stripHash(url) { 1710 var hashIndex = url.indexOf('#'); 1711 return hashIndex === -1 ? url : url.slice(0, hashIndex); 1712} 1713 1714function getHashPath() { 1715 // We can't use window.location.hash here because it's not 1716 // consistent across browsers - Firefox will pre-decode it! 1717 var href = window.location.href; 1718 var hashIndex = href.indexOf('#'); 1719 return hashIndex === -1 ? '' : href.substring(hashIndex + 1); 1720} 1721 1722function pushHashPath(path) { 1723 window.location.hash = path; 1724} 1725 1726function replaceHashPath(path) { 1727 window.location.replace(stripHash(window.location.href) + '#' + path); 1728} 1729 1730function createHashHistory(props) { 1731 if (props === void 0) { 1732 props = {}; 1733 } 1734 1735 !canUseDOM ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0; 1736 var globalHistory = window.history; 1737 var canGoWithoutReload = supportsGoWithoutReloadUsingHash(); 1738 var _props = props, 1739 _props$getUserConfirm = _props.getUserConfirmation, 1740 getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm, 1741 _props$hashType = _props.hashType, 1742 hashType = _props$hashType === void 0 ? 'slash' : _props$hashType; 1743 var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : ''; 1744 var _HashPathCoders$hashT = HashPathCoders[hashType], 1745 encodePath = _HashPathCoders$hashT.encodePath, 1746 decodePath = _HashPathCoders$hashT.decodePath; 1747 1748 function getDOMLocation() { 1749 var path = decodePath(getHashPath()); 1750 false ? undefined : void 0; 1751 if (basename) path = stripBasename(path, basename); 1752 return createLocation(path); 1753 } 1754 1755 var transitionManager = createTransitionManager(); 1756 1757 function setState(nextState) { 1758 Object(esm_extends["a" /* default */])(history, nextState); 1759 1760 history.length = globalHistory.length; 1761 transitionManager.notifyListeners(history.location, history.action); 1762 } 1763 1764 var forceNextPop = false;
1765 var ignorePath = null; 1766 1767 function locationsAreEqual$$1(a, b) { 1768 return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash; 1769 } 1770 1771 function handleHashChange() { 1772 var path = getHashPath(); 1773 var encodedPath = encodePath(path); 1774 1775 if (path !== encodedPath) { 1776 // Ensure we always have a properly-encoded hash. 1777 replaceHashPath(encodedPath); 1778 } else { 1779 var location = getDOMLocation(); 1780 var prevLocation = history.location; 1781 if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change. 1782 1783 if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace. 1784 1785 ignorePath = null; 1786 handlePop(location); 1787 } 1788 } 1789 1790 function handlePop(location) { 1791 if (forceNextPop) { 1792 forceNextPop = false; 1793 setState(); 1794 } else { 1795 var action = 'POP'; 1796 transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { 1797 if (ok) { 1798 setState({ 1799 action: action, 1800 location: location 1801 }); 1802 } else { 1803 revertPop(location); 1804 } 1805 }); 1806 } 1807 } 1808 1809 function revertPop(fromLocation) { 1810 var toLocation = history.location; // TODO: We could probably make this more reliable by 1811 // keeping a list of paths we've seen in sessionStorage. 1812 // Instead, we just default to 0 for paths we don't know. 1813 1814 var toIndex = allPaths.lastIndexOf(createPath(toLocation)); 1815 if (toIndex === -1) toIndex = 0; 1816 var fromIndex = allPaths.lastIndexOf(createPath(fromLocation)); 1817 if (fromIndex === -1) fromIndex = 0; 1818 var delta = toIndex - fromIndex; 1819 1820 if (delta) { 1821 forceNextPop = true; 1822 go(delta); 1823 } 1824 } // Ensure the hash is encoded properly before doing anything else. 1825 1826 1827 var path = getHashPath(); 1828 var encodedPath = encodePath(path); 1829 if (path !== encodedPath) replaceHashPath(encodedPath); 1830 var initialLocation = getDOMLocation(); 1831 var allPaths = [createPath(initialLocation)]; // Public interface 1832 1833 function createHref(location) { 1834 var baseTag = document.querySelector('base'); 1835 var href = ''; 1836 1837 if (baseTag && baseTag.getAttribute('href')) { 1838 href = stripHash(window.location.href); 1839 } 1840 1841 return href + '#' + encodePath(basename + createPath(location)); 1842 } 1843 1844 function push(path, state) { 1845 false ? undefined : void 0; 1846 var action = 'PUSH'; 1847 var location = createLocation(path, undefined, undefined, history.location); 1848 transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { 1849 if (!ok) return; 1850 var path = createPath(location); 1851 var encodedPath = encodePath(basename + path); 1852 var hashChanged = getHashPath() !== encodedPath; 1853 1854 if (hashChanged) { 1855 // We cannot tell if a hashchange was caused by a PUSH, so we'd 1856 // rather setState here and ignore the hashchange. The caveat here 1857 // is that other hash histories in the page will consider it a POP. 1858 ignorePath = path; 1859 pushHashPath(encodedPath); 1860 var prevIndex = allPaths.lastIndexOf(createPath(history.location)); 1861 var nextPaths = allPaths.slice(0, prevIndex + 1); 1862 nextPaths.push(path); 1863 allPaths = nextPaths; 1864 setState({ 1865 action: action, 1866 location: location 1867 }); 1868 } else { 1869 false ? undefined : void 0; 1870 setState(); 1871 } 1872 }); 1873 } 1874 1875 function replace(path, state) { 1876 false ? undefined : void 0; 1877 var action = 'REPLACE'; 1878 var location = createLocation(path, undefined, undefined, history.location); 1879 transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { 1880 if (!ok) return; 1881 var path = createPath(location); 1882 var encodedPath = encodePath(basename + path); 1883 var hashChanged = getHashPath() !== encodedPath; 1884 1885 if (hashChanged) { 1886 // We cannot tell if a hashchange was caused by a REPLACE, so we'd 1887 // rather setState here and ignore the hashchange. The caveat here 1888 // is that other hash histories in the page will consider it a POP. 1889 ignorePath = path; 1890 replaceHashPath(encodedPath); 1891 } 1892 1893 var prevIndex = allPaths.indexOf(createPath(history.location)); 1894 if (prevIndex !== -1) allPaths[prevIndex] = path; 1895 setState({ 1896 action: action, 1897 location: location 1898 }); 1899 }); 1900 } 1901 1902 function go(n) { 1903 false ? undefined : void 0; 1904 globalHistory.go(n); 1905 } 1906 1907 function goBack() { 1908 go(-1); 1909 } 1910 1911 function goForward() { 1912 go(1); 1913 } 1914 1915 var listenerCount = 0; 1916 1917 function checkDOMListeners(delta) { 1918 listenerCount += delta; 1919 1920 if (listenerCount === 1 && delta === 1) { 1921 window.addEventListener(HashChangeEvent$1, handleHashChange); 1922 } else if (listenerCount === 0) { 1923 window.removeEventListener(HashChangeEvent$1, handleHashChange); 1924 } 1925 } 1926 1927 var isBlocked = false;
1928 1929 function block(prompt) { 1930 if (prompt === void 0) { 1931 prompt = false; 1932 } 1933 1934 var unblock = transitionManager.setPrompt(prompt); 1935 1936 if (!isBlocked) { 1937 checkDOMListeners(1); 1938 isBlocked = true; 1939 } 1940 1941 return function () { 1942 if (isBlocked) { 1943 isBlocked = false; 1944 checkDOMListeners(-1); 1945 } 1946 1947 return unblock(); 1948 }; 1949 } 1950 1951 function listen(listener) { 1952 var unlisten = transitionManager.appendListener(listener); 1953 checkDOMListeners(1); 1954 return function () { 1955 checkDOMListeners(-1); 1956 unlisten(); 1957 }; 1958 } 1959 1960 var history = { 1961 length: globalHistory.length, 1962 action: 'POP', 1963 location: initialLocation, 1964 createHref: createHref, 1965 push: push, 1966 replace: replace, 1967 go: go, 1968 goBack: goBack, 1969 goForward: goForward, 1970 block: block, 1971 listen: listen 1972 }; 1973 return history; 1974} 1975 1976function clamp(n, lowerBound, upperBound) { 1977 return Math.min(Math.max(n, lowerBound), upperBound); 1978} 1979/** 1980 * Creates a history object that stores locations in memory. 1981 */ 1982 1983 1984function createMemoryHistory(props) { 1985 if (props === void 0) { 1986 props = {}; 1987 } 1988 1989 var _props = props, 1990 getUserConfirmation = _props.getUserConfirmation, 1991 _props$initialEntries = _props.initialEntries, 1992 initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries, 1993 _props$initialIndex = _props.initialIndex, 1994 initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex, 1995 _props$keyLength = _props.keyLength, 1996 keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength; 1997 var transitionManager = createTransitionManager(); 1998 1999 function setState(nextState) { 2000 Object(esm_extends["a" /* default */])(history, nextState); 2001 2002 history.length = history.entries.length; 2003 transitionManager.notifyListeners(history.location, history.action); 2004 } 2005 2006 function createKey() { 2007 return Math.random().toString(36).substr(2, keyLength); 2008 } 2009 2010 var index = clamp(initialIndex, 0, initialEntries.length - 1); 2011 var entries = initialEntries.map(function (entry) { 2012 return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey()); 2013 }); // Public interface 2014 2015 var createHref = createPath; 2016 2017 function push(path, state) { 2018 false ? undefined : void 0; 2019 var action = 'PUSH'; 2020 var location = createLocation(path, state, createKey(), history.location); 2021 transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { 2022 if (!ok) return; 2023 var prevIndex = history.index; 2024 var nextIndex = prevIndex + 1; 2025 var nextEntries = history.entries.slice(0); 2026 2027 if (nextEntries.length > nextIndex) { 2028 nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location); 2029 } else { 2030 nextEntries.push(location); 2031 } 2032 2033 setState({ 2034 action: action, 2035 location: location, 2036 index: nextIndex, 2037 entries: nextEntries 2038 }); 2039 }); 2040 } 2041 2042 function replace(path, state) { 2043 false ? undefined : void 0; 2044 var action = 'REPLACE'; 2045 var location = createLocation(path, state, createKey(), history.location); 2046 transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { 2047 if (!ok) return; 2048 history.entries[history.index] = location; 2049 setState({ 2050 action: action, 2051 location: location 2052 }); 2053 }); 2054 } 2055 2056 function go(n) { 2057 var nextIndex = clamp(history.index + n, 0, history.entries.length - 1); 2058 var action = 'POP'; 2059 var location = history.entries[nextIndex]; 2060 transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) { 2061 if (ok) { 2062 setState({ 2063 action: action, 2064 location: location, 2065 index: nextIndex 2066 }); 2067 } else { 2068 // Mimic the behavior of DOM histories by 2069 // causing a render after a cancelled POP. 2070 setState(); 2071 } 2072 }); 2073 } 2074 2075 function goBack() { 2076 go(-1); 2077 } 2078 2079 function goForward() { 2080 go(1); 2081 } 2082 2083 function canGo(n) { 2084 var nextIndex = history.index + n; 2085 return nextIndex >= 0 && nextIndex < history.entries.length; 2086 } 2087 2088 function block(prompt) { 2089 if (prompt === void 0) { 2090 prompt = false;
2091 } 2092 2093 return transitionManager.setPrompt(prompt); 2094 } 2095 2096 function listen(listener) { 2097 return transitionManager.appendListener(listener); 2098 } 2099 2100 var history = { 2101 length: entries.length, 2102 action: 'POP', 2103 location: entries[index], 2104 index: index, 2105 entries: entries, 2106 createHref: createHref, 2107 push: push, 2108 replace: replace, 2109 go: go, 2110 goBack: goBack, 2111 goForward: goForward, 2112 canGo: canGo, 2113 block: block, 2114 listen: listen 2115 }; 2116 return history; 2117} 2118 2119 2120 2121 2122/***/ }), 2123/* 9 */ 2124/***/ (function(module, __webpack_exports__, __webpack_require__) { 2125 2126"use strict"; 2127__webpack_require__.r(__webpack_exports__); 2128/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CoreProvider", function() { return CoreProvider; }); 2129/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); 2130/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); 2131/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); 2132/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(14); 2133/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_utils__WEBPACK_IMPORTED_MODULE_2__); 2134/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1); 2135/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_constants__WEBPACK_IMPORTED_MODULE_3__); 2136var _defaultActionHandler; 2137 2138function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } 2139 2140function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } 2141 2142function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } 2143 2144function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } 2145 2146function 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; } 2147 2148function _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) { _defineProperty(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; } 2149 2150function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } 2151 2152function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } 2153 2154function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 2155 2156function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } 2157 2158function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } 2159 2160function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 2161 2162function _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; } 2163 2164 2165 2166 2167 2168var playerContext = Object(react__WEBPACK_IMPORTED_MODULE_0__["createContext"])({}); 2169 2170var isInRange = function isInRange(val) { 2171 return typeof val === 'number' && val >= 0 && val < 17; 2172}; 2173 2174var getValueFromDataset = function getValueFromDataset(dataset) { 2175 return dataset && typeof dataset.value !== 'undefined' ? dataset.value : undefined; 2176}; 2177 2178var multiTouchAction = function multiTouchAction(derivedAction, state) { 2179 var _ref, _ref6; 2180 2181 var values = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; 2182 2183 switch (derivedAction) { 2184 case _constants__WEBPACK_IMPORTED_MODULE_3__["VOLUME"]: 2185 var volume = values[1] ? values[1].idx : undefined; 2186 return isInRange(volume) ? (_ref = {}, _defineProperty(_ref, _constants__WEBPACK_IMPORTED_MODULE_3__["VOLUME"], volume - 8), _defineProperty(_ref, _constants__WEBPACK_IMPORTED_MODULE_3__["MUTE"], false), _ref) : {}; 2187 2188 case _constants__WEBPACK_IMPORTED_MODULE_3__["SWING_SET"]: 2189 return isInRange(value) ? _defineProperty({}, _constants__WEBPACK_IMPORTED_MODULE_3__["SWING"], value) : {}; 2190 2191 case _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_COPY"]: 2192 var value1 = getValueFromDataset(values[0]); 2193 var value2 = getValueFromDataset(values[1]); 2194 return isInRange(value1) && isInRange(value2) ? _defineProperty({}, _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERNS"], Object(_utils__WEBPACK_IMPORTED_MODULE_2__["updatePatternAtIdx"])(state, state[_constants__WEBPACK_IMPORTED_MODULE_3__["PATTERNS"]][value1], value2)) : {}; 2195 2196 case _constants__WEBPACK_IMPORTED_MODULE_3__["NOTE_COPY"]: 2197 var note1 = getValueFromDataset(values[0]); 2198 var note2 = getValueFromDataset(values[1]); 2199 return isInRange(note1) && isInRange(note2) ? _defineProperty({}, _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERNS"], Object(_utils__WEBPACK_IMPORTED_MODULE_2__["updateNoteInPattern"])(state, state[_constants__WEBPACK_IMPORTED_MODULE_3__["PATTERNS"]][state[_constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_IDX"]]][state[_constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_TYPE"]
2199] || state[_constants__WEBPACK_IMPORTED_MODULE_3__["SOUND"]]][note1], note2)) : {}; 2200 2201 case _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_CHAIN"]: 2202 if (values.length === 1) { 2203 var _ref5; 2204 2205 return _ref5 = {}, _defineProperty(_ref5, _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_CHAIN_NEW"], true), _defineProperty(_ref5, "view", _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_VIEW"]), _ref5; 2206 } 2207 2208 var value = getValueFromDataset(values[1]); 2209 2210 if (typeof value === 'undefined') { 2211 return {}; 2212 } 2213 2214 return _ref6 = {}, _defineProperty(_ref6, _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_CHAIN_NEW"], false), _defineProperty(_ref6, _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_CHAIN"], state[_constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_CHAIN_NEW"]] ? [value] : [].concat(_toConsumableArray(state[_constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_CHAIN"]]), [value])), _ref6; 2215 2216 default: 2217 return {}; 2218 } 2219}; 2220 2221var canceLActionHandler = function canceLActionHandler(state) { 2222 var _ref7; 2223 2224 var dataset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 2225 2226 switch (dataset.secondary) { 2227 case _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_COPY"]: 2228 return _ref7 = {}, _defineProperty(_ref7, _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERNS"], Object(_utils__WEBPACK_IMPORTED_MODULE_2__["updatePatternAtIdx"])(state, Object(_utils__WEBPACK_IMPORTED_MODULE_2__["getEmptyPattern"])(), dataset.idx)), _defineProperty(_ref7, "lastAction", _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_UPDATE"]), _ref7; 2229 2230 default: 2231 return {}; 2232 } 2233}; 2234 2235var defaultActionHandlers = (_defaultActionHandler = {}, _defineProperty(_defaultActionHandler, _constants__WEBPACK_IMPORTED_MODULE_3__["PLAY"], function (state) { 2236 return _defineProperty({}, _constants__WEBPACK_IMPORTED_MODULE_3__["PLAY"], !state[_constants__WEBPACK_IMPORTED_MODULE_3__["PLAY"]]); 2237}), _defineProperty(_defaultActionHandler, _constants__WEBPACK_IMPORTED_MODULE_3__["WRITE"], function (state) { 2238 var _ref9; 2239 2240 return _ref9 = {}, _defineProperty(_ref9, _constants__WEBPACK_IMPORTED_MODULE_3__["WRITE"], !state[_constants__WEBPACK_IMPORTED_MODULE_3__["WRITE"]]), _defineProperty(_ref9, "view", state[_constants__WEBPACK_IMPORTED_MODULE_3__["WRITE"]] ? state.view : null), _ref9; 2241}), _defineProperty(_defaultActionHandler, _constants__WEBPACK_IMPORTED_MODULE_3__["MUTE"], function (state) { 2242 return _defineProperty({}, _constants__WEBPACK_IMPORTED_MODULE_3__["MUTE"], !state[_constants__WEBPACK_IMPORTED_MODULE_3__["MUTE"]]); 2243}), _defineProperty(_defaultActionHandler, _constants__WEBPACK_IMPORTED_MODULE_3__["CLEAR_VIEW"], function () { 2244 return { 2245 view: null 2246 }; 2247}), _defineProperty(_defaultActionHandler, _constants__WEBPACK_IMPORTED_MODULE_3__["SOUNDS_VIEW"], function (state) { 2248 return { 2249 view: state.view !== _constants__WEBPACK_IMPORTED_MODULE_3__["SOUNDS_VIEW"] ? _constants__WEBPACK_IMPORTED_MODULE_3__["SOUNDS_VIEW"] : null 2250 }; 2251}), _defineProperty(_defaultActionHandler, _constants__WEBPACK_IMPORTED_MODULE_3__["SOUNDS_SET"], function (state, value) { 2252 var _ref11; 2253 2254 return _ref11 = { 2255 view: state[_constants__WEBPACK_IMPORTED_MODULE_3__["WRITE"]] ? _constants__WEBPACK_IMPORTED_MODULE_3__["WRITE"] : null 2256 }, _defineProperty(_ref11, _constants__WEBPACK_IMPORTED_MODULE_3__["SOUND"], value), _defineProperty(_ref11, _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_TYPE"], value), _ref11; 2257}), _defineProperty(_defaultActionHandler, _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_VIEW"], function (state) { 2258 return _defineProperty({ 2259 view: state.view !== _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_VIEW"] ? _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_VIEW"] : null 2260 }, _constants__WEBPACK_IMPORTED_MODULE_3__["WRITE"], false); 2261}), _defineProperty(_defaultActionHandler, _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_SET"], function (state, value) { 2262 var _ref13; 2263 2264 return _ref13 = {}, _defineProperty(_ref13, _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_IDX"], value), _defineProperty(_ref13, _constants__WEBPACK_IMPORTED_MODULE_3__["WRITE"], true), _defineProperty(_ref13, "view", state[_constants__WEBPACK_IMPORTED_MODULE_3__["WRITE"]] || null), _ref13; 2265}), _defineProperty(_defaultActionHandler, _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_CHAIN"], function (state, _ref14) { 2266 var idx = _ref14.idx, 2267 append = _ref14.append; 2268 2269 if (state[_constants__WEBPACK_IMPORTED_MODULE_3__["WRITE"]]) { 2270 var _ref15; 2271 2272 return _ref15 = {}, _defineProperty(_ref15, _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_IDX"], idx), _defineProperty(_ref15, "view", _constants__WEBPACK_IMPORTED_MODULE_3__["WRITE"]), _ref15; 2273 } 2274 2275 return _defineProperty({}, _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_CHAIN"], append ? [].concat(_toConsumableArray(state[_constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_CHAIN"]]), [idx]) : [idx]); 2276}), _defineProperty(_defaultActionHandler, _constants__WEBPACK_IMPORTED_MODULE_3__["BPM"], function (state, value) { 2277 return _defineProperty({}, _constants__WEBPACK_IMPORTED_MODULE_3__["BPM"], value ? value : Object(_utils__WEBPACK_IMPORTED_MODULE_2__["rotateBpm"])(state[_constants__WEBPACK_IMPORTED_MODULE_3__["BPM"]])); 2278}), _defineProperty(_defaultActionHandler, _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_UPDATE"], function (state, _ref18) { 2279 var _ref19; 2280 2281 var idx = _ref18.idx, 2282 note = _ref18.note, 2283 span = _ref18.span;
2284 var activePattern = state[_constants__WEBPACK_IMPORTED_MODULE_3__["PATTERNS"]][state[_constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_IDX"]]]; 2285 var updatedPatterns = [].concat(_toConsumableArray(state[_constants__WEBPACK_IMPORTED_MODULE_3__["PATTERNS"]].slice(0, state[_constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_IDX"]])), [_objectSpread({}, activePattern, _defineProperty({}, state[_constants__WEBPACK_IMPORTED_MODULE_3__["SOUND"]], [].concat(_toConsumableArray(activePattern[state[_constants__WEBPACK_IMPORTED_MODULE_3__["SOUND"]]].slice(0, idx)), [note ? { 2286 note: note, 2287 span: span 2288 } : null], _toConsumableArray(activePattern[state[_constants__WEBPACK_IMPORTED_MODULE_3__["SOUND"]]].slice(idx + 1)))))], _toConsumableArray(state[_constants__WEBPACK_IMPORTED_MODULE_3__["PATTERNS"]].slice(state[_constants__WEBPACK_IMPORTED_MODULE_3__["PATTERN_IDX"]] + 1))); 2289 return _ref19 = {}, _defineProperty(_ref19, _constants__WEBPACK_IMPORTED_MODULE_3__["PATTERNS"], updatedPatterns), _defineProperty(_ref19, "lastNote", note || state.lastNote), _ref19; 2290}), _defineProperty(_defaultActionHandler, _constants__WEBPACK_IMPORTED_MODULE_3__["MULTI_TOUCH"], function (state, value) { 2291 var hasCancel = value.findIndex(function (v) { 2292 return v.action === _constants__WEBPACK_IMPORTED_MODULE_3__["CANCEL"]; 2293 }); 2294 2295 if (hasCancel !== -1) { 2296 return canceLActionHandler(state, value.find(function (v) { 2297 return v.action !== _constants__WEBPACK_IMPORTED_MODULE_3__["CANCEL"]; 2298 })); 2299 } 2300 2301 var action = value && value[0] ? value[0].secondary : null; 2302 return _objectSpread({}, multiTouchAction(action, state, value), { 2303 lastAction: action 2304 }); 2305}), _defineProperty(_defaultActionHandler, _constants__WEBPACK_IMPORTED_MODULE_3__["CANCEL"], function () { 2306 return { 2307 view: null 2308 }; 2309}), _defaultActionHandler); 2310 2311var generateReducer = function generateReducer() { 2312 var actionHandler = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultActionHandler; 2313 return function (state, action) { 2314 var stateChanges = actionHandler[action.type] ? actionHandler[action.type](state, action.value) : {}; 2315 2316 var newState = _objectSpread({}, state, {}, stateChanges, { 2317 lastAction: action.type !== _constants__WEBPACK_IMPORTED_MODULE_3__["MULTI_TOUCH"] ? action.type : stateChanges.lastAction || action.value[0].secondary 2318 }); 2319 2320 return newState; 2321 }; 2322}; 2323 2324var CoreProvider = function CoreProvider(props) { 2325 var history = Object(react_router_dom__WEBPACK_IMPORTED_MODULE_1__["useHistory"])(); 2326 var initialState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(function () { 2327 return Object(_utils__WEBPACK_IMPORTED_MODULE_2__["getInitialState"])({ 2328 customState: props.AudioProcessor.customState, 2329 pathname: history.location.pathname 2330 }); 2331 }, []); 2332 var coreReducer = Object(react__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(function () { 2333 return generateReducer(_objectSpread({}, defaultActionHandlers, {}, props.AudioProcessor.customReducer)); 2334 }, []); 2335 var soundProcessor = Object(react__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(function () { 2336 return new props.AudioProcessor(initialState); 2337 }, []); 2338 2339 var _useReducer = Object(react__WEBPACK_IMPORTED_MODULE_0__["useReducer"])(coreReducer, initialState), 2340 _useReducer2 = _slicedToArray(_useReducer, 2), 2341 state = _useReducer2[0], 2342 dispatch = _useReducer2[1]; 2343 2344 Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () { 2345 soundProcessor.reducer(state.lastAction, state); 2346 2347 if (state.lastAction === 'menu') { 2348 history.push("/"); 2349 } 2350 }, [state]); 2351 Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () { 2352 Object(_utils__WEBPACK_IMPORTED_MODULE_2__["setLocalStorage"])(state, history.location.pathname); 2353 }, [state[_constants__WEBPACK_IMPORTED_MODULE_3__["PATTERNS"]]]); 2354 Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () { 2355 return soundProcessor.unmount; 2356 }, []); 2357 var synthAction = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (note) { 2358 var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'release'; 2359 var length = arguments.length > 2 ? arguments[2] : undefined; 2360 2361 switch (action) { 2362 case 'attack': 2363 soundProcessor.sound.tone.triggerAttackRelease(note, length); 2364 return; 2365 2366 default: 2367 soundProcessor.sound.tone.triggerRelease(); 2368 return; 2369 } 2370 }
vendor: 5,491 bytes, lines 2370-2565
2370, [state[_constants__WEBPACK_IMPORTED_MODULE_3__["SOUND"]], state[_constants__WEBPACK_IMPORTED_MODULE_3__["MUTE"]]]); 2371 return ( 2372 /*#__PURE__*/ 2373 react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(playerContext.Provider, { 2374 value: { 2375 state: state, 2376 dispatch: dispatch, 2377 synthAction: synthAction, 2378 sounds: props.AudioProcessor.sounds, 2379 view: state.view, 2380 startNote: props.AudioProcessor.startNote 2381 } 2382 }, props.children) 2383 ); 2384}; 2385/* harmony default export */ __webpack_exports__["default"] = (playerContext); 2386 2387/***/ }), 2388/* 10 */ 2389/***/ (function(module, exports, __webpack_require__) { 2390 2391"use strict"; 2392 2393 2394var isMergeableObject = function isMergeableObject(value) { 2395 return isNonNullObject(value) 2396 && !isSpecial(value) 2397}; 2398 2399function isNonNullObject(value) { 2400 return !!value && typeof value === 'object' 2401} 2402 2403function isSpecial(value) { 2404 var stringValue = Object.prototype.toString.call(value); 2405 2406 return stringValue === '[object RegExp]' 2407 || stringValue === '[object Date]' 2408 || isReactElement(value) 2409} 2410 2411// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25 2412var canUseSymbol = typeof Symbol === 'function' && Symbol.for; 2413var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7; 2414 2415function isReactElement(value) { 2416 return value.$$typeof === REACT_ELEMENT_TYPE 2417} 2418 2419function emptyTarget(val) { 2420 return Array.isArray(val) ? [] : {} 2421} 2422 2423function cloneUnlessOtherwiseSpecified(value, options) { 2424 return (options.clone !== false && options.isMergeableObject(value)) 2425 ? deepmerge(emptyTarget(value), value, options) 2426 : value 2427} 2428 2429function defaultArrayMerge(target, source, options) { 2430 return target.concat(source).map(function(element) { 2431 return cloneUnlessOtherwiseSpecified(element, options) 2432 }) 2433} 2434 2435function getMergeFunction(key, options) { 2436 if (!options.customMerge) { 2437 return deepmerge 2438 } 2439 var customMerge = options.customMerge(key); 2440 return typeof customMerge === 'function' ? customMerge : deepmerge 2441} 2442 2443function getEnumerableOwnPropertySymbols(target) { 2444 return Object.getOwnPropertySymbols 2445 ? Object.getOwnPropertySymbols(target).filter(function(symbol) { 2446 return target.propertyIsEnumerable(symbol) 2447 }) 2448 : [] 2449} 2450 2451function getKeys(target) { 2452 return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target)) 2453} 2454 2455function propertyIsOnObject(object, property) { 2456 try { 2457 return property in object 2458 } catch(_) { 2459 return false 2460 } 2461} 2462 2463// Protects from prototype poisoning and unexpected merging up the prototype chain. 2464function propertyIsUnsafe(target, key) { 2465 return propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet, 2466 && !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain, 2467 && Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable. 2468} 2469 2470function mergeObject(target, source, options) { 2471 var destination = {}; 2472 if (options.isMergeableObject(target)) { 2473 getKeys(target).forEach(function(key) { 2474 destination[key] = cloneUnlessOtherwiseSpecified(target[key], options); 2475 }); 2476 } 2477 getKeys(source).forEach(function(key) { 2478 if (propertyIsUnsafe(target, key)) { 2479 return 2480 } 2481 2482 if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) { 2483 destination[key] = getMergeFunction(key, options)(target[key], source[key], options); 2484 } else { 2485 destination[key] = cloneUnlessOtherwiseSpecified(source[key], options); 2486 } 2487 }); 2488 return destination 2489} 2490 2491function deepmerge(target, source, options) { 2492 options = options || {}; 2493 options.arrayMerge = options.arrayMerge || defaultArrayMerge; 2494 options.isMergeableObject = options.isMergeableObject || isMergeableObject; 2495 // cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge() 2496 // implementations can use it. The caller may not replace it. 2497 options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified; 2498 2499 var sourceIsArray = Array.isArray(source); 2500 var targetIsArray = Array.isArray(target); 2501 var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray; 2502 2503 if (!sourceAndTargetTypesMatch) { 2504 return cloneUnlessOtherwiseSpecified(source, options) 2505 } else if (sourceIsArray) { 2506 return options.arrayMerge(target, source, options) 2507 } else { 2508 return mergeObject(target, source, options) 2509 } 2510} 2511 2512deepmerge.all = function deepmergeAll(array, options) { 2513 if (!Array.isArray(array)) { 2514 throw new Error('first argument should be an array') 2515 } 2516 2517 return array.reduce(function(prev, next) { 2518 return deepmerge(prev, next, options) 2519 }, {}) 2520}; 2521 2522var deepmerge_1 = deepmerge; 2523 2524module.exports = deepmerge_1; 2525 2526 2527/***/ }), 2528/* 11 */ 2529/***/ (function(module, exports, __webpack_require__) { 2530 2531"use strict"; 2532 2533 2534if (true) { 2535 module.exports = __webpack_require__(56); 2536} else {} 2537 2538 2539/***/ }), 2540/* 12 */ 2541/***/ (function(module, exports, __webpack_require__) { 2542 2543"use strict"; 2544 2545 2546function checkDCE() { 2547 /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ 2548 if ( 2549 typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' || 2550 typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function' 2551 ) { 2552 return; 2553 } 2554 if (false) {} 2555 try { 2556 // Verify that the code above has been dead code eliminated (DCE'd). 2557 __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE); 2558 } catch (err) { 2559 // DevTools shouldn't crash React, no matter what. 2560 // We should still report in case we break this code. 2561 console.error(err); 2562 } 2563} 2564 2565if (true) {
2566 // DCE check should happen before ReactDOM bundle executes so that 2567 // DevTools can report bad minification during injection. 2568 checkDCE(); 2569 module.exports = __webpack_require__(49); 2570} else {} 2571 2572 2573/***/ }), 2574/* 13 */ 2575/***/ (function(module, __webpack_exports__, __webpack_require__) { 2576 2577"use strict"; 2578__webpack_require__.r(__webpack_exports__); 2579/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createGlobalStyle", function() { return createGlobalStyle; }); 2580/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "css", function() { return css; }); 2581/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isStyledComponent", function() { return isStyledComponent; }); 2582/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "keyframes", function() { return keyframes; }); 2583/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ServerStyleSheet", function() { return ServerStyleSheet; }); 2584/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StyleSheetConsumer", function() { return StyleSheetConsumer; }); 2585/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StyleSheetContext", function() { return StyleSheetContext; }); 2586/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StyleSheetManager", function() { return StyleSheetManager; }); 2587/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ThemeConsumer", function() { return ThemeConsumer; }); 2588/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ThemeContext", function() { return ThemeContext; }); 2589/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ThemeProvider", function() { return ThemeProvider; }); 2590/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "withTheme", function() { return withTheme; }); 2591/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS", function() { return __DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS; }); 2592/* harmony import */ var stylis_stylis_min__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27); 2593/* harmony import */ var stylis_stylis_min__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(stylis_stylis_min__WEBPACK_IMPORTED_MODULE_0__); 2594/* harmony import */ var stylis_rule_sheet__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41); 2595/* harmony import */ var stylis_rule_sheet__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(stylis_rule_sheet__WEBPACK_IMPORTED_MODULE_1__); 2596/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0); 2597/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); 2598/* harmony import */ var _emotion_unitless__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(42); 2599/* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(11); 2600/* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_is__WEBPACK_IMPORTED_MODULE_4__); 2601/* harmony import */ var memoize_one__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(28); 2602/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2); 2603/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__); 2604/* harmony import */ var _emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(45); 2605/* harmony import */ var merge_anything__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(46); 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616// 2617 2618var interleave = (function (strings, interpolations) { 2619 var result = [strings[0]]; 2620 2621 for (var i = 0, len = interpolations.length; i < len; i += 1) { 2622 result.push(interpolations[i], strings[i + 1]); 2623 } 2624 2625 return result; 2626}); 2627 2628var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { 2629 return typeof obj; 2630} : function (obj) { 2631 return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; 2632}; 2633 2634var classCallCheck = function (instance, Constructor) { 2635 if (!(instance instanceof Constructor)) { 2636 throw new TypeError("Cannot call a class as a function"); 2637 } 2638}; 2639 2640var createClass = function () { 2641 function defineProperties(target, props) { 2642 for (var i = 0; i < props.length; i++) { 2643 var descriptor = props[i]; 2644 descriptor.enumerable = descriptor.enumerable || false; 2645 descriptor.configurable = true; 2646 if ("value" in descriptor) descriptor.writable = true; 2647 Object.defineProperty(target, descriptor.key, descriptor); 2648 } 2649 } 2650 2651 return function (Constructor, protoProps, staticProps) { 2652 if (protoProps) defineProperties(Constructor.prototype, protoProps); 2653 if (staticProps) defineProperties(Constructor, staticProps); 2654 return Constructor; 2655 }; 2656}(); 2657 2658var _extends = Object.assign || function (target) { 2659 for (var i = 1; i < arguments.length; i++) { 2660 var source = arguments[i]; 2661 2662 for (var key in source) { 2663 if (Object.prototype.hasOwnProperty.call(source, key)) { 2664 target[key] = source[key]; 2665 } 2666 } 2667 } 2668 2669 return target; 2670}; 2671 2672var inherits = function (subClass, superClass) { 2673 if (typeof superClass !== "function" && superClass !== null) { 2674 throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); 2675 } 2676 2677 subClass.prototype = Object.create(superClass && superClass.prototype, { 2678 constructor: { 2679 value: subClass, 2680 enumerable: false, 2681 writable: true, 2682 configurable: true 2683 } 2684 }); 2685 if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; 2686}; 2687 2688var objectWithoutProperties = function (obj, keys) { 2689 var target = {}; 2690 2691 for (var i in obj) { 2692 if (keys.indexOf(i) >= 0) continue; 2693 if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; 2694 target[i] = obj[i]; 2695 } 2696 2697 return target; 2698}; 2699 2700var possibleConstructorReturn = function (self, call) { 2701 if (!self) { 2702 throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); 2703 } 2704 2705 return call && (typeof call === "object" || typeof call === "function") ? call : self; 2706}; 2707 2708// 2709var isPlainObject = (function (x) { 2710 return (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && x.constructor === Object; 2711}); 2712 2713// 2714var EMPTY_ARRAY = Object.freeze([]); 2715var EMPTY_OBJECT = Object.freeze({}); 2716 2717// 2718function isFunction(test) { 2719 return typeof test === 'function'; 2720} 2721 2722// 2723 2724function getComponentName(target) { 2725 return ( false) || target.displayName || target.name || 'Component'; 2726} 2727 2728// 2729function isStatelessFunction(test) { 2730 return typeof test === 'function' && !(test.prototype && test.prototype.isReactComponent); 2731} 2732 2733// 2734function isStyledComponent(target) { 2735 return target && typeof target.styledComponentId === 'string'; 2736} 2737 2738// 2739 2740var SC_ATTR = typeof process !== 'undefined' && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR) || 'data-styled'; 2741 2742var SC_VERSION_ATTR = 'data-styled-version'; 2743 2744var SC_STREAM_ATTR = 'data-styled-streamed'; 2745
2746var IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window; 2747 2748var DISABLE_SPEEDY = typeof SC_DISABLE_SPEEDY === 'boolean' && SC_DISABLE_SPEEDY || typeof process !== 'undefined' && (process.env.REACT_APP_SC_DISABLE_SPEEDY || process.env.SC_DISABLE_SPEEDY) || "production" !== 'production'; 2749 2750// Shared empty execution context when generating static styles 2751var STATIC_EXECUTION_CONTEXT = {}; 2752 2753// 2754 2755 2756/** 2757 * Parse errors.md and turn it into a simple hash of code: message 2758 */ 2759var ERRORS = false ? undefined : {}; 2760 2761/** 2762 * super basic version of sprintf 2763 */ 2764function format() { 2765 var a = arguments.length <= 0 ? undefined : arguments[0]; 2766 var b = []; 2767 2768 for (var c = 1, len = arguments.length; c < len; c += 1) { 2769 b.push(arguments.length <= c ? undefined : arguments[c]); 2770 } 2771 2772 b.forEach(function (d) { 2773 a = a.replace(/%[a-z]/, d); 2774 }); 2775 2776 return a; 2777} 2778 2779/** 2780 * Create an error file out of errors.md for development and a simple web link to the full errors 2781 * in production mode. 2782 */ 2783 2784var StyledComponentsError = function (_Error) { 2785 inherits(StyledComponentsError, _Error); 2786 2787 function StyledComponentsError(code) { 2788 classCallCheck(this, StyledComponentsError); 2789 2790 for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 2791 interpolations[_key - 1] = arguments[_key]; 2792 } 2793 2794 if (true) { 2795 var _this = possibleConstructorReturn(this, _Error.call(this, 'An error occurred. See https://github.com/styled-components/styled-components/blob/master/packages/styled-components/src/utils/errors.md#' + code + ' for more information.' + (interpolations.length > 0 ? ' Additional arguments: ' + interpolations.join(', ') : ''))); 2796 } else { var _this; } 2797 return possibleConstructorReturn(_this); 2798 } 2799 2800 return StyledComponentsError; 2801}(Error); 2802 2803// 2804var SC_COMPONENT_ID = /^[^\S\n]*?\/\* sc-component-id:\s*(\S+)\s+\*\//gm; 2805 2806var extractComps = (function (maybeCSS) { 2807 var css = '' + (maybeCSS || ''); // Definitely a string, and a clone 2808 var existingComponents = []; 2809 css.replace(SC_COMPONENT_ID, function (match, componentId, matchIndex) { 2810 existingComponents.push({ componentId: componentId, matchIndex: matchIndex }); 2811 return match; 2812 }); 2813 return existingComponents.map(function (_ref, i) { 2814 var componentId = _ref.componentId, 2815 matchIndex = _ref.matchIndex; 2816 2817 var nextComp = existingComponents[i + 1]; 2818 var cssFromDOM = nextComp ? css.slice(matchIndex, nextComp.matchIndex) : css.slice(matchIndex); 2819 return { componentId: componentId, cssFromDOM: cssFromDOM }; 2820 }); 2821}); 2822 2823// 2824 2825var COMMENT_REGEX = /^\s*\/\/.*$/gm; 2826 2827// NOTE: This stylis instance is only used to split rules from SSR'd style tags 2828var stylisSplitter = new stylis_stylis_min__WEBPACK_IMPORTED_MODULE_0___default.a({ 2829 global: false, 2830 cascade: true, 2831 keyframe: false, 2832 prefix: false, 2833 compress: false, 2834 semicolon: true 2835}); 2836 2837var stylis = new stylis_stylis_min__WEBPACK_IMPORTED_MODULE_0___default.a({ 2838 global: false, 2839 cascade: true, 2840 keyframe: false, 2841 prefix: true, 2842 compress: false, 2843 semicolon: false // NOTE: This means "autocomplete missing semicolons" 2844}); 2845 2846// Wrap `insertRulePlugin to build a list of rules, 2847// and then make our own plugin to return the rules. This 2848// makes it easier to hook into the existing SSR architecture 2849 2850var parsingRules = []; 2851 2852// eslint-disable-next-line consistent-return 2853var returnRulesPlugin = function returnRulesPlugin(context) { 2854 if (context === -2) { 2855 var parsedRules = parsingRules; 2856 parsingRules = []; 2857 return parsedRules; 2858 } 2859}; 2860 2861var parseRulesPlugin = stylis_rule_sheet__WEBPACK_IMPORTED_MODULE_1___default()(function (rule) { 2862 parsingRules.push(rule); 2863}); 2864 2865var _componentId = void 0; 2866var _selector = void 0; 2867var _selectorRegexp = void 0; 2868 2869var selfReferenceReplacer = function selfReferenceReplacer(match, offset, string) { 2870 if ( 2871 // the first self-ref is always untouched 2872 offset > 0 && 2873 // there should be at least two self-refs to do a replacement (.b > .b) 2874 string.slice(0, offset).indexOf(_selector) !== -1 && 2875 // no consecutive self refs (.b.b); that is a precedence boost and treated differently 2876 string.slice(offset - _selector.length, offset) !== _selector) { 2877 return '.' + _componentId; 2878 } 2879 2880 return match; 2881}; 2882 2883/** 2884 * When writing a style like 2885 * 2886 * & + & { 2887 * color: red; 2888 * } 2889 * 2890 * The second ampersand should be a reference to the static component class. stylis 2891 * has no knowledge of static class so we have to intelligently replace the base selector. 2892 */ 2893var selfReferenceReplacementPlugin = function selfReferenceReplacementPlugin(context, _, selectors) { 2894 if (context === 2 && selectors.length && selectors[0].lastIndexOf(_selector) > 0) { 2895 // eslint-disable-next-line no-param-reassign 2896 selectors[0] = selectors[0].replace(_selectorRegexp, selfReferenceReplacer); 2897 } 2898}; 2899 2900stylis.use([selfReferenceReplacementPlugin, parseRulesPlugin, returnRulesPlugin]); 2901stylisSplitter.use([parseRulesPlugin, returnRulesPlugin]); 2902 2903var splitByRules = function splitByRules(css) { 2904 return stylisSplitter('', css); 2905}; 2906 2907function stringifyRules(rules, selector, prefix) { 2908 var componentId = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '&'; 2909 2910 var flatCSS = rules.join('').replace(COMMENT_REGEX, ''); // replace JS comments 2911 2912 var cssStr = selector && prefix ? prefix + ' ' + selector + ' { ' + flatCSS + ' }' : flatCSS; 2913 2914 // stylis has no concept of state to be passed to plugins 2915 // but since JS is single=threaded, we can rely on that to ensure 2916 // these properties stay in sync with the current stylis run
2917 _componentId = componentId; 2918 _selector = selector; 2919 _selectorRegexp = new RegExp('\\' + _selector + '\\b', 'g'); 2920 2921 return stylis(prefix || !selector ? '' : selector, cssStr); 2922} 2923 2924// 2925/* eslint-disable camelcase, no-undef */ 2926 2927var getNonce = (function () { 2928 return true ? __webpack_require__.nc : undefined; 2929}); 2930 2931// 2932/* These are helpers for the StyleTags to keep track of the injected 2933 * rule names for each (component) ID that they're keeping track of. 2934 * They're crucial for detecting whether a name has already been 2935 * injected. 2936 * (This excludes rehydrated names) */ 2937 2938/* adds a new ID:name pairing to a names dictionary */ 2939var addNameForId = function addNameForId(names, id, name) { 2940 if (name) { 2941 // eslint-disable-next-line no-param-reassign 2942 var namesForId = names[id] || (names[id] = Object.create(null)); 2943 namesForId[name] = true; 2944 } 2945}; 2946 2947/* resets an ID entirely by overwriting it in the dictionary */ 2948var resetIdNames = function resetIdNames(names, id) { 2949 // eslint-disable-next-line no-param-reassign 2950 names[id] = Object.create(null); 2951}; 2952 2953/* factory for a names dictionary checking the existance of an ID:name pairing */ 2954var hasNameForId = function hasNameForId(names) { 2955 return function (id, name) { 2956 return names[id] !== undefined && names[id][name]; 2957 }; 2958}; 2959 2960/* stringifies names for the html/element output */ 2961var stringifyNames = function stringifyNames(names) { 2962 var str = ''; 2963 // eslint-disable-next-line guard-for-in 2964 for (var id in names) { 2965 str += Object.keys(names[id]).join(' ') + ' '; 2966 } 2967 return str.trim(); 2968}; 2969 2970/* clones the nested names dictionary */ 2971var cloneNames = function cloneNames(names) { 2972 var clone = Object.create(null); 2973 // eslint-disable-next-line guard-for-in 2974 for (var id in names) { 2975 clone[id] = _extends({}, names[id]); 2976 } 2977 return clone; 2978}; 2979 2980// 2981 2982/* These are helpers that deal with the insertRule (aka speedy) API 2983 * They are used in the StyleTags and specifically the speedy tag 2984 */ 2985 2986/* retrieve a sheet for a given style tag */ 2987var sheetForTag = function sheetForTag(tag) { 2988 // $FlowFixMe 2989 if (tag.sheet) return tag.sheet; 2990 2991 /* Firefox quirk requires us to step through all stylesheets to find one owned by the given tag */ 2992 var size = tag.ownerDocument.styleSheets.length; 2993 for (var i = 0; i < size; i += 1) { 2994 var sheet = tag.ownerDocument.styleSheets[i]; 2995 // $FlowFixMe 2996 if (sheet.ownerNode === tag) return sheet; 2997 } 2998 2999 /* we should always be able to find a tag */ 3000 throw new StyledComponentsError(10); 3001}; 3002 3003/* insert a rule safely and return whether it was actually injected */ 3004var safeInsertRule = function safeInsertRule(sheet, cssRule, index) { 3005 /* abort early if cssRule string is falsy */ 3006 if (!cssRule) return false; 3007 3008 var maxIndex = sheet.cssRules.length; 3009 3010 try { 3011 /* use insertRule and cap passed index with maxIndex (no of cssRules) */ 3012 sheet.insertRule(cssRule, index <= maxIndex ? index : maxIndex); 3013 } catch (err) { 3014 /* any error indicates an invalid rule */ 3015 return false; 3016 } 3017 3018 return true; 3019}; 3020 3021/* deletes `size` rules starting from `removalIndex` */ 3022var deleteRules = function deleteRules(sheet, removalIndex, size) { 3023 var lowerBound = removalIndex - size; 3024 for (var i = removalIndex; i > lowerBound; i -= 1) { 3025 sheet.deleteRule(i); 3026 } 3027}; 3028 3029// 3030 3031/* this marker separates component styles and is important for rehydration */ 3032var makeTextMarker = function makeTextMarker(id) { 3033 return '\n/* sc-component-id: ' + id + ' */\n'; 3034}; 3035 3036/* add up all numbers in array up until and including the index */ 3037var addUpUntilIndex = function addUpUntilIndex(sizes, index) { 3038 var totalUpToIndex = 0; 3039 for (var i = 0; i <= index; i += 1) { 3040 totalUpToIndex += sizes[i]; 3041 } 3042 3043 return totalUpToIndex; 3044}; 3045 3046/* create a new style tag after lastEl */ 3047var makeStyleTag = function makeStyleTag(target, tagEl, insertBefore) { 3048 var targetDocument = document; 3049 if (target) targetDocument = target.ownerDocument;else if (tagEl) targetDocument = tagEl.ownerDocument; 3050 3051 var el = targetDocument.createElement('style'); 3052 el.setAttribute(SC_ATTR, ''); 3053 el.setAttribute(SC_VERSION_ATTR, "4.4.1"); 3054 3055 var nonce = getNonce(); 3056 if (nonce) { 3057 el.setAttribute('nonce', nonce); 3058 } 3059 3060 /* Work around insertRule quirk in EdgeHTML */ 3061 el.appendChild(targetDocument.createTextNode('')); 3062 3063 if (target && !tagEl) { 3064 /* Append to target when no previous element was passed */ 3065 target.appendChild(el); 3066 } else { 3067 if (!tagEl || !target || !tagEl.parentNode) { 3068 throw new StyledComponentsError(6); 3069 } 3070 3071 /* Insert new style tag after the previous one */ 3072 tagEl.parentNode.insertBefore(el, insertBefore ? tagEl : tagEl.nextSibling); 3073 } 3074 3075 return el; 3076}; 3077 3078/* takes a css factory function and outputs an html styled tag factory */ 3079var wrapAsHtmlTag = function wrapAsHtmlTag(css, names) {
3080 return function (additionalAttrs) { 3081 var nonce = getNonce(); 3082 var attrs = [nonce && 'nonce="' + nonce + '"', SC_ATTR + '="' + stringifyNames(names) + '"', SC_VERSION_ATTR + '="' + "4.4.1" + '"', additionalAttrs]; 3083 3084 var htmlAttr = attrs.filter(Boolean).join(' '); 3085 return '<style ' + htmlAttr + '>' + css() + '</style>'; 3086 }; 3087}; 3088 3089/* takes a css factory function and outputs an element factory */ 3090var wrapAsElement = function wrapAsElement(css, names) { 3091 return function () { 3092 var _props; 3093 3094 var props = (_props = {}, _props[SC_ATTR] = stringifyNames(names), _props[SC_VERSION_ATTR] = "4.4.1", _props); 3095 3096 var nonce = getNonce(); 3097 if (nonce) { 3098 // $FlowFixMe 3099 props.nonce = nonce; 3100 } 3101 3102 // eslint-disable-next-line react/no-danger 3103 return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement('style', _extends({}, props, { dangerouslySetInnerHTML: { __html: css() } })); 3104 }; 3105}; 3106 3107var getIdsFromMarkersFactory = function getIdsFromMarkersFactory(markers) { 3108 return function () { 3109 return Object.keys(markers); 3110 }; 3111}; 3112 3113/* speedy tags utilise insertRule */ 3114var makeSpeedyTag = function makeSpeedyTag(el, getImportRuleTag) { 3115 var names = Object.create(null); 3116 var markers = Object.create(null); 3117 var sizes = []; 3118 3119 var extractImport = getImportRuleTag !== undefined; 3120 /* indicates whether getImportRuleTag was called */ 3121 var usedImportRuleTag = false; 3122 3123 var insertMarker = function insertMarker(id) { 3124 var prev = markers[id]; 3125 if (prev !== undefined) { 3126 return prev; 3127 } 3128 3129 markers[id] = sizes.length; 3130 sizes.push(0); 3131 resetIdNames(names, id); 3132 3133 return markers[id]; 3134 }; 3135 3136 var insertRules = function insertRules(id, cssRules, name) { 3137 var marker = insertMarker(id); 3138 var sheet = sheetForTag(el); 3139 var insertIndex = addUpUntilIndex(sizes, marker); 3140 3141 var injectedRules = 0; 3142 var importRules = []; 3143 var cssRulesSize = cssRules.length; 3144 3145 for (var i = 0; i < cssRulesSize; i += 1) { 3146 var cssRule = cssRules[i]; 3147 var mayHaveImport = extractImport; /* @import rules are reordered to appear first */ 3148 if (mayHaveImport && cssRule.indexOf('@import') !== -1) { 3149 importRules.push(cssRule); 3150 } else if (safeInsertRule(sheet, cssRule, insertIndex + injectedRules)) { 3151 mayHaveImport = false; 3152 injectedRules += 1; 3153 } 3154 } 3155 3156 if (extractImport && importRules.length > 0) { 3157 usedImportRuleTag = true; 3158 // $FlowFixMe 3159 getImportRuleTag().insertRules(id + '-import', importRules); 3160 } 3161 3162 sizes[marker] += injectedRules; /* add up no of injected rules */ 3163 addNameForId(names, id, name); 3164 }; 3165 3166 var removeRules = function removeRules(id) { 3167 var marker = markers[id]; 3168 if (marker === undefined) return; 3169 // $FlowFixMe 3170 if (el.isConnected === false) return; 3171 3172 var size = sizes[marker]; 3173 var sheet = sheetForTag(el); 3174 var removalIndex = addUpUntilIndex(sizes, marker) - 1; 3175 deleteRules(sheet, removalIndex, size); 3176 sizes[marker] = 0; 3177 resetIdNames(names, id); 3178 3179 if (extractImport && usedImportRuleTag) { 3180 // $FlowFixMe 3181 getImportRuleTag().removeRules(id + '-import'); 3182 } 3183 }; 3184 3185 var css = function css() { 3186 var _sheetForTag = sheetForTag(el), 3187 cssRules = _sheetForTag.cssRules; 3188 3189 var str = ''; 3190 3191 // eslint-disable-next-line guard-for-in 3192 for (var id in markers) { 3193 str += makeTextMarker(id); 3194 var marker = markers[id]; 3195 var end = addUpUntilIndex(sizes, marker); 3196 var size = sizes[marker]; 3197 for (var i = end - size; i < end; i += 1) { 3198 var rule = cssRules[i]; 3199 if (rule !== undefined) { 3200 str += rule.cssText; 3201 } 3202 } 3203 } 3204 3205 return str; 3206 }; 3207 3208 return { 3209 clone: function clone() { 3210 throw new StyledComponentsError(5); 3211 }, 3212 3213 css: css, 3214 getIds: getIdsFromMarkersFactory(markers), 3215 hasNameForId: hasNameForId(names), 3216 insertMarker: insertMarker, 3217 insertRules: insertRules, 3218 removeRules: removeRules, 3219 sealed: false, 3220 styleTag: el, 3221 toElement: wrapAsElement(css, names), 3222 toHTML: wrapAsHtmlTag(css, names) 3223 }; 3224}; 3225 3226var makeTextNode = function makeTextNode(targetDocument, id) { 3227 return targetDocument.createTextNode(makeTextMarker(id)); 3228}; 3229 3230var makeBrowserTag = function makeBrowserTag(el, getImportRuleTag) { 3231 var names = Object.create(null); 3232 var markers = Object.create(null); 3233 3234 var extractImport = getImportRuleTag !== undefined; 3235 3236 /* indicates whether getImportRuleTag was called */ 3237 var usedImportRuleTag = false;
3238 3239 var insertMarker = function insertMarker(id) { 3240 var prev = markers[id]; 3241 if (prev !== undefined) { 3242 return prev; 3243 } 3244 3245 markers[id] = makeTextNode(el.ownerDocument, id); 3246 el.appendChild(markers[id]); 3247 names[id] = Object.create(null); 3248 3249 return markers[id]; 3250 }; 3251 3252 var insertRules = function insertRules(id, cssRules, name) { 3253 var marker = insertMarker(id); 3254 var importRules = []; 3255 var cssRulesSize = cssRules.length; 3256 3257 for (var i = 0; i < cssRulesSize; i += 1) { 3258 var rule = cssRules[i]; 3259 var mayHaveImport = extractImport; 3260 if (mayHaveImport && rule.indexOf('@import') !== -1) { 3261 importRules.push(rule); 3262 } else { 3263 mayHaveImport = false; 3264 var separator = i === cssRulesSize - 1 ? '' : ' '; 3265 marker.appendData('' + rule + separator); 3266 } 3267 } 3268 3269 addNameForId(names, id, name); 3270 3271 if (extractImport && importRules.length > 0) { 3272 usedImportRuleTag = true; 3273 // $FlowFixMe 3274 getImportRuleTag().insertRules(id + '-import', importRules); 3275 } 3276 }; 3277 3278 var removeRules = function removeRules(id) { 3279 var marker = markers[id]; 3280 if (marker === undefined) return; 3281 3282 /* create new empty text node and replace the current one */ 3283 var newMarker = makeTextNode(el.ownerDocument, id); 3284 el.replaceChild(newMarker, marker); 3285 markers[id] = newMarker; 3286 resetIdNames(names, id); 3287 3288 if (extractImport && usedImportRuleTag) { 3289 // $FlowFixMe 3290 getImportRuleTag().removeRules(id + '-import'); 3291 } 3292 }; 3293 3294 var css = function css() { 3295 var str = ''; 3296 3297 // eslint-disable-next-line guard-for-in 3298 for (var id in markers) { 3299 str += markers[id].data; 3300 } 3301 3302 return str; 3303 }; 3304 3305 return { 3306 clone: function clone() { 3307 throw new StyledComponentsError(5); 3308 }, 3309 3310 css: css, 3311 getIds: getIdsFromMarkersFactory(markers), 3312 hasNameForId: hasNameForId(names), 3313 insertMarker: insertMarker, 3314 insertRules: insertRules, 3315 removeRules: removeRules, 3316 sealed: false, 3317 styleTag: el, 3318 toElement: wrapAsElement(css, names), 3319 toHTML: wrapAsHtmlTag(css, names) 3320 }; 3321}; 3322 3323var makeServerTag = function makeServerTag(namesArg, markersArg) { 3324 var names = namesArg === undefined ? Object.create(null) : namesArg; 3325 var markers = markersArg === undefined ? Object.create(null) : markersArg; 3326 3327 var insertMarker = function insertMarker(id) { 3328 var prev = markers[id]; 3329 if (prev !== undefined) { 3330 return prev; 3331 } 3332 3333 return markers[id] = ['']; 3334 }; 3335 3336 var insertRules = function insertRules(id, cssRules, name) { 3337 var marker = insertMarker(id); 3338 marker[0] += cssRules.join(' '); 3339 addNameForId(names, id, name); 3340 }; 3341 3342 var removeRules = function removeRules(id) { 3343 var marker = markers[id]; 3344 if (marker === undefined) return; 3345 marker[0] = ''; 3346 resetIdNames(names, id); 3347 }; 3348 3349 var css = function css() { 3350 var str = ''; 3351 // eslint-disable-next-line guard-for-in 3352 for (var id in markers) { 3353 var cssForId = markers[id][0]; 3354 if (cssForId) { 3355 str += makeTextMarker(id) + cssForId; 3356 } 3357 } 3358 return str; 3359 }; 3360 3361 var clone = function clone() { 3362 var namesClone = cloneNames(names); 3363 var markersClone = Object.create(null); 3364 3365 // eslint-disable-next-line guard-for-in 3366 for (var id in markers) { 3367 markersClone[id] = [markers[id][0]]; 3368 } 3369 3370 return makeServerTag(namesClone, markersClone); 3371 }; 3372 3373 var tag = { 3374 clone: clone, 3375 css: css, 3376 getIds: getIdsFromMarkersFactory(markers), 3377 hasNameForId: hasNameForId(names), 3378 insertMarker: insertMarker, 3379 insertRules: insertRules, 3380 removeRules: removeRules, 3381 sealed: false, 3382 styleTag: null, 3383 toElement: wrapAsElement(css, names), 3384 toHTML: wrapAsHtmlTag(css, names) 3385 }; 3386 3387 return tag; 3388}; 3389 3390var makeTag = function makeTag(target, tagEl, forceServer, insertBefore, getImportRuleTag) { 3391 if (IS_BROWSER && !forceServer) { 3392 var el = makeStyleTag(target, tagEl, insertBefore); 3393 3394 if (DISABLE_SPEEDY) { 3395 return makeBrowserTag(el, getImportRuleTag); 3396 } else { 3397 return makeSpeedyTag(el, getImportRuleTag); 3398 } 3399 } 3400 3401 return makeServerTag(); 3402}; 3403 3404var rehydrate = function rehydrate(tag, els, extracted) { 3405 /* add all extracted components to the new tag */ 3406 for (var i = 0, len = extracted.length; i < len; i += 1) { 3407 var _extracted$i = extracted[i], 3408 componentId = _extracted$i.componentId, 3409 cssFromDOM = _extracted$i.cssFromDOM; 3410 3411 var cssRules = splitByRules(cssFromDOM); 3412 tag.insertRules(componentId, cssRules); 3413 } 3414 3415 /* remove old HTMLStyleElements, since they have been rehydrated */ 3416 for (var _i = 0, _len = els.length; _i < _len; _i += 1) { 3417 var el = els[_i]; 3418 if (el.parentNode) { 3419 el.parentNode.removeChild(el); 3420 } 3421 } 3422}; 3423 3424// 3425 3426var SPLIT_REGEX = /\s+/; 3427 3428/* determine the maximum number of components before tags are sharded */ 3429var MAX_SIZE = void 0; 3430if (IS_BROWSER) { 3431 /* in speedy mode we can keep a lot more rules in a sheet before a slowdown can be expected */ 3432 MAX_SIZE = DISABLE_SPEEDY ? 40 : 1000; 3433} else { 3434 /* for servers we do not need to shard at all */ 3435 MAX_SIZE = -1; 3436} 3437 3438var sheetRunningId = 0; 3439var master = void 0; 3440 3441var StyleSheet = function () { 3442 3443 /* a map from ids to tags */ 3444 3445 /* deferred rules for a given id */ 3446 3447 /* this is used for not reinjecting rules via hasNameForId() */ 3448 3449 /* when rules for an id are removed using remove() we have to ignore rehydratedNames for it */ 3450 3451 /* a list of tags belonging to this StyleSheet */ 3452 3453 /* a tag for import rules */ 3454 3455 /* current capacity until a new tag must be created */ 3456 3457 /* children (aka clones) of this StyleSheet inheriting all and future injections */ 3458 3459 function StyleSheet() { 3460 var _this = this; 3461 3462 var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : IS_BROWSER ? document.head : null; 3463 var forceServer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
3464 classCallCheck(this, StyleSheet); 3465 3466 this.getImportRuleTag = function () { 3467 var importRuleTag = _this.importRuleTag; 3468 3469 if (importRuleTag !== undefined) { 3470 return importRuleTag; 3471 } 3472 3473 var firstTag = _this.tags[0]; 3474 var insertBefore = true; 3475 3476 return _this.importRuleTag = makeTag(_this.target, firstTag ? firstTag.styleTag : null, _this.forceServer, insertBefore); 3477 }; 3478 3479 sheetRunningId += 1; 3480 this.id = sheetRunningId; 3481 this.forceServer = forceServer; 3482 this.target = forceServer ? null : target; 3483 this.tagMap = {}; 3484 this.deferred = {}; 3485 this.rehydratedNames = {}; 3486 this.ignoreRehydratedNames = {}; 3487 this.tags = []; 3488 this.capacity = 1; 3489 this.clones = []; 3490 } 3491 3492 /* rehydrate all SSR'd style tags */ 3493 3494 3495 StyleSheet.prototype.rehydrate = function rehydrate$$1() { 3496 if (!IS_BROWSER || this.forceServer) return this; 3497 3498 var els = []; 3499 var extracted = []; 3500 var isStreamed = false; 3501 3502 /* retrieve all of our SSR style elements from the DOM */ 3503 var nodes = document.querySelectorAll('style[' + SC_ATTR + '][' + SC_VERSION_ATTR + '="' + "4.4.1" + '"]'); 3504 3505 var nodesSize = nodes.length; 3506 3507 /* abort rehydration if no previous style tags were found */ 3508 if (!nodesSize) return this; 3509 3510 for (var i = 0; i < nodesSize; i += 1) { 3511 var el = nodes[i]; 3512 3513 /* check if style tag is a streamed tag */ 3514 if (!isStreamed) isStreamed = !!el.getAttribute(SC_STREAM_ATTR); 3515 3516 /* retrieve all component names */ 3517 var elNames = (el.getAttribute(SC_ATTR) || '').trim().split(SPLIT_REGEX); 3518 var elNamesSize = elNames.length; 3519 for (var j = 0, name; j < elNamesSize; j += 1) { 3520 name = elNames[j]; 3521 /* add rehydrated name to sheet to avoid re-adding styles */ 3522 this.rehydratedNames[name] = true; 3523 } 3524 3525 /* extract all components and their CSS */ 3526 extracted.push.apply(extracted, extractComps(el.textContent)); 3527 3528 /* store original HTMLStyleElement */ 3529 els.push(el); 3530 } 3531 3532 /* abort rehydration if nothing was extracted */ 3533 var extractedSize = extracted.length; 3534 if (!extractedSize) return this; 3535 3536 /* create a tag to be used for rehydration */ 3537 var tag = this.makeTag(null); 3538 3539 rehydrate(tag, els, extracted); 3540 3541 /* reset capacity and adjust MAX_SIZE by the initial size of the rehydration */ 3542 this.capacity = Math.max(1, MAX_SIZE - extractedSize); 3543 this.tags.push(tag); 3544 3545 /* retrieve all component ids */ 3546 for (var _j = 0; _j < extractedSize; _j += 1) { 3547 this.tagMap[extracted[_j].componentId] = tag; 3548 } 3549 3550 return this; 3551 }; 3552 3553 /* retrieve a "master" instance of StyleSheet which is typically used when no other is available 3554 * The master StyleSheet is targeted by createGlobalStyle, keyframes, and components outside of any 3555 * StyleSheetManager's context */ 3556 3557 3558 /* reset the internal "master" instance */ 3559 StyleSheet.reset = function reset() { 3560 var forceServer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; 3561 3562 master = new StyleSheet(undefined, forceServer).rehydrate(); 3563 }; 3564 3565 /* adds "children" to the StyleSheet that inherit all of the parents' rules 3566 * while their own rules do not affect the parent */ 3567 3568 3569 StyleSheet.prototype.clone = function clone() { 3570 var sheet = new StyleSheet(this.target, this.forceServer); 3571 3572 /* add to clone array */ 3573 this.clones.push(sheet); 3574 3575 /* clone all tags */ 3576 sheet.tags = this.tags.map(function (tag) { 3577 var ids = tag.getIds(); 3578 var newTag = tag.clone(); 3579 3580 /* reconstruct tagMap */ 3581 for (var i = 0; i < ids.length; i += 1) { 3582 sheet.tagMap[ids[i]] = newTag; 3583 } 3584 3585 return newTag; 3586 }); 3587 3588 /* clone other maps */ 3589 sheet.rehydratedNames = _extends({}, this.rehydratedNames); 3590 sheet.deferred = _extends({}, this.deferred); 3591 3592 return sheet; 3593 }; 3594 3595 /* force StyleSheet to create a new tag on the next injection */ 3596 3597 3598 StyleSheet.prototype.sealAllTags = function sealAllTags() { 3599 this.capacity = 1; 3600
3601 this.tags.forEach(function (tag) { 3602 // eslint-disable-next-line no-param-reassign 3603 tag.sealed = true; 3604 }); 3605 }; 3606 3607 StyleSheet.prototype.makeTag = function makeTag$$1(tag) { 3608 var lastEl = tag ? tag.styleTag : null; 3609 var insertBefore = false; 3610 3611 return makeTag(this.target, lastEl, this.forceServer, insertBefore, this.getImportRuleTag); 3612 }; 3613 3614 /* get a tag for a given componentId, assign the componentId to one, or shard */ 3615 StyleSheet.prototype.getTagForId = function getTagForId(id) { 3616 /* simply return a tag, when the componentId was already assigned one */ 3617 var prev = this.tagMap[id]; 3618 if (prev !== undefined && !prev.sealed) { 3619 return prev; 3620 } 3621 3622 var tag = this.tags[this.tags.length - 1]; 3623 3624 /* shard (create a new tag) if the tag is exhausted (See MAX_SIZE) */ 3625 this.capacity -= 1; 3626 3627 if (this.capacity === 0) { 3628 this.capacity = MAX_SIZE; 3629 tag = this.makeTag(tag); 3630 this.tags.push(tag); 3631 } 3632 3633 return this.tagMap[id] = tag; 3634 }; 3635 3636 /* mainly for createGlobalStyle to check for its id */ 3637 3638 3639 StyleSheet.prototype.hasId = function hasId(id) { 3640 return this.tagMap[id] !== undefined; 3641 }; 3642 3643 /* caching layer checking id+name to already have a corresponding tag and injected rules */ 3644 3645 3646 StyleSheet.prototype.hasNameForId = function hasNameForId(id, name) { 3647 /* exception for rehydrated names which are checked separately */ 3648 if (this.ignoreRehydratedNames[id] === undefined && this.rehydratedNames[name]) { 3649 return true; 3650 } 3651 3652 var tag = this.tagMap[id]; 3653 return tag !== undefined && tag.hasNameForId(id, name); 3654 }; 3655 3656 /* registers a componentId and registers it on its tag */ 3657 3658 3659 StyleSheet.prototype.deferredInject = function deferredInject(id, cssRules) { 3660 /* don't inject when the id is already registered */ 3661 if (this.tagMap[id] !== undefined) return; 3662 3663 var clones = this.clones; 3664 3665 for (var i = 0; i < clones.length; i += 1) { 3666 clones[i].deferredInject(id, cssRules); 3667 } 3668 3669 this.getTagForId(id).insertMarker(id); 3670 this.deferred[id] = cssRules; 3671 }; 3672 3673 /* injects rules for a given id with a name that will need to be cached */ 3674 3675 3676 StyleSheet.prototype.inject = function inject(id, cssRules, name) { 3677 var clones = this.clones; 3678 3679 3680 for (var i = 0; i < clones.length; i += 1) { 3681 clones[i].inject(id, cssRules, name); 3682 } 3683 3684 var tag = this.getTagForId(id); 3685 3686 /* add deferred rules for component */ 3687 if (this.deferred[id] !== undefined) { 3688 // Combine passed cssRules with previously deferred CSS rules 3689 // NOTE: We cannot mutate the deferred array itself as all clones 3690 // do the same (see clones[i].inject) 3691 var rules = this.deferred[id].concat(cssRules); 3692 tag.insertRules(id, rules, name); 3693 3694 this.deferred[id] = undefined; 3695 } else { 3696 tag.insertRules(id, cssRules, name); 3697 } 3698 }; 3699 3700 /* removes all rules for a given id, which doesn't remove its marker but resets it */ 3701 3702 3703 StyleSheet.prototype.remove = function remove(id) { 3704 var tag = this.tagMap[id]; 3705 if (tag === undefined) return; 3706 3707 var clones = this.clones; 3708 3709 for (var i = 0; i < clones.length; i += 1) { 3710 clones[i].remove(id); 3711 } 3712 3713 /* remove all rules from the tag */ 3714 tag.removeRules(id); 3715 3716 /* ignore possible rehydrated names */ 3717 this.ignoreRehydratedNames[id] = true; 3718 3719 /* delete possible deferred rules */ 3720 this.deferred[id] = undefined; 3721 }; 3722 3723 StyleSheet.prototype.toHTML = function toHTML() { 3724 return this.tags.map(function (tag) { 3725 return tag.toHTML(); 3726 }).join(''); 3727 }; 3728 3729 StyleSheet.prototype.toReactElements = function toReactElements() { 3730 var id = this.id; 3731 3732 3733 return this.tags.map(function (tag, i) { 3734 var key = 'sc-' + id + '-' + i; 3735 return Object(react__WEBPACK_IMPORTED_MODULE_2__["cloneElement"])(tag.toElement(), { key: key }); 3736 }); 3737 }; 3738 3739 createClass(StyleSheet, null, [{ 3740 key: 'master', 3741 get: function get$$1() { 3742 return master || (master = new StyleSheet().rehydrate()); 3743 } 3744 3745 /* NOTE: This is just for backwards-compatibility with jest-styled-components */ 3746 3747 }, { 3748 key: 'instance', 3749 get: function get$$1() { 3750 return StyleSheet.master; 3751 } 3752 }]); 3753 return StyleSheet; 3754}(); 3755 3756// 3757 3758var Keyframes = function () { 3759 function Keyframes(name, rules) { 3760 var _this = this; 3761 3762 classCallCheck(this, Keyframes); 3763 3764 this.inject = function (styleSheet) { 3765 if (!styleSheet.hasNameForId(_this.id, _this.name)) { 3766 styleSheet.inject(_this.id, _this.rules, _this.name); 3767 } 3768 }; 3769 3770 this.toString = function () { 3771 throw new StyledComponentsError(12, String(_this.name)); 3772 }; 3773 3774 this.name = name; 3775 this.rules = rules; 3776
3777 this.id = 'sc-keyframes-' + name; 3778 } 3779 3780 Keyframes.prototype.getName = function getName() { 3781 return this.name; 3782 }; 3783 3784 return Keyframes; 3785}(); 3786 3787// 3788 3789/** 3790 * inlined version of 3791 * https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/hyphenateStyleName.js 3792 */ 3793 3794var uppercasePattern = /([A-Z])/g; 3795var msPattern = /^ms-/; 3796 3797/** 3798 * Hyphenates a camelcased CSS property name, for example: 3799 * 3800 * > hyphenateStyleName('backgroundColor') 3801 * < "background-color" 3802 * > hyphenateStyleName('MozTransition') 3803 * < "-moz-transition" 3804 * > hyphenateStyleName('msTransition') 3805 * < "-ms-transition" 3806 * 3807 * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix 3808 * is converted to `-ms-`. 3809 * 3810 * @param {string} string 3811 * @return {string} 3812 */ 3813function hyphenateStyleName(string) { 3814 return string.replace(uppercasePattern, '-$1').toLowerCase().replace(msPattern, '-ms-'); 3815} 3816 3817// 3818 3819// Taken from https://github.com/facebook/react/blob/b87aabdfe1b7461e7331abb3601d9e6bb27544bc/packages/react-dom/src/shared/dangerousStyleValue.js 3820function addUnitIfNeeded(name, value) { 3821 // https://github.com/amilajack/eslint-plugin-flowtype-errors/issues/133 3822 // $FlowFixMe 3823 if (value == null || typeof value === 'boolean' || value === '') { 3824 return ''; 3825 } 3826 3827 if (typeof value === 'number' && value !== 0 && !(name in _emotion_unitless__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])) { 3828 return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers 3829 } 3830 3831 return String(value).trim(); 3832} 3833 3834// 3835 3836/** 3837 * It's falsish not falsy because 0 is allowed. 3838 */ 3839var isFalsish = function isFalsish(chunk) { 3840 return chunk === undefined || chunk === null || chunk === false || chunk === ''; 3841}; 3842 3843var objToCssArray = function objToCssArray(obj, prevKey) { 3844 var rules = []; 3845 var keys = Object.keys(obj); 3846 3847 keys.forEach(function (key) { 3848 if (!isFalsish(obj[key])) { 3849 if (isPlainObject(obj[key])) { 3850 rules.push.apply(rules, objToCssArray(obj[key], key)); 3851 3852 return rules; 3853 } else if (isFunction(obj[key])) { 3854 rules.push(hyphenateStyleName(key) + ':', obj[key], ';'); 3855 3856 return rules; 3857 } 3858 rules.push(hyphenateStyleName(key) + ': ' + addUnitIfNeeded(key, obj[key]) + ';'); 3859 } 3860 return rules; 3861 }); 3862 3863 return prevKey ? [prevKey + ' {'].concat(rules, ['}']) : rules; 3864}; 3865 3866function flatten(chunk, executionContext, styleSheet) { 3867 if (Array.isArray(chunk)) { 3868 var ruleSet = []; 3869 3870 for (var i = 0, len = chunk.length, result; i < len; i += 1) { 3871 result = flatten(chunk[i], executionContext, styleSheet); 3872 3873 if (result === null) continue;else if (Array.isArray(result)) ruleSet.push.apply(ruleSet, result);else ruleSet.push(result); 3874 } 3875 3876 return ruleSet; 3877 } 3878 3879 if (isFalsish(chunk)) { 3880 return null; 3881 } 3882 3883 /* Handle other components */ 3884 if (isStyledComponent(chunk)) { 3885 return '.' + chunk.styledComponentId; 3886 } 3887 3888 /* Either execute or defer the function */ 3889 if (isFunction(chunk)) { 3890 if (isStatelessFunction(chunk) && executionContext) { 3891 var _result = chunk(executionContext); 3892 3893 if (false) {} 3894 3895 return flatten(_result, executionContext, styleSheet); 3896 } else return chunk; 3897 } 3898 3899 if (chunk instanceof Keyframes) { 3900 if (styleSheet) { 3901 chunk.inject(styleSheet); 3902 return chunk.getName(); 3903 } else return chunk; 3904 } 3905 3906 /* Handle objects */ 3907 return isPlainObject(chunk) ? objToCssArray(chunk) : chunk.toString(); 3908} 3909 3910// 3911 3912function css(styles) { 3913 for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 3914 interpolations[_key - 1] = arguments[_key]; 3915 } 3916 3917 if (isFunction(styles) || isPlainObject(styles)) { 3918 // $FlowFixMe 3919 return flatten(interleave(EMPTY_ARRAY, [styles].concat(interpolations))); 3920 } 3921 3922 // $FlowFixMe 3923 return flatten(interleave(styles, interpolations)); 3924} 3925 3926// 3927 3928function constructWithOptions(componentConstructor, tag) { 3929 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : EMPTY_OBJECT; 3930 3931 if (!Object(react_is__WEBPACK_IMPORTED_MODULE_4__["isValidElementType"])(tag)) { 3932 throw new StyledComponentsError(1, String(tag)); 3933 } 3934 3935 /* This is callable directly as a template function */ 3936 // $FlowFixMe: Not typed to avoid destructuring arguments 3937 var templateFunction = function templateFunction() { 3938 return componentConstructor(tag, options, css.apply(undefined, arguments)); 3939 }; 3940 3941 /* If config methods are called, wrap up a new template function and merge options */ 3942 templateFunction.withConfig = function (config) { 3943 return constructWithOptions(componentConstructor, tag, _extends({}, options, config)); 3944 }; 3945 3946 /* Modify/inject new props at runtime */ 3947 templateFunction.attrs = function (attrs) { 3948 return constructWithOptions(componentConstructor, tag, _extends({}, options, { 3949 attrs: Array.prototype.concat(options.attrs, attrs).filter(
3949Boolean) 3950 })); 3951 }; 3952 3953 return templateFunction; 3954} 3955 3956// 3957// Source: https://github.com/garycourt/murmurhash-js/blob/master/murmurhash2_gc.js 3958function murmurhash(c) { 3959 for (var e = c.length | 0, a = e | 0, d = 0, b; e >= 4;) { 3960 b = c.charCodeAt(d) & 255 | (c.charCodeAt(++d) & 255) << 8 | (c.charCodeAt(++d) & 255) << 16 | (c.charCodeAt(++d) & 255) << 24, b = 1540483477 * (b & 65535) + ((1540483477 * (b >>> 16) & 65535) << 16), b ^= b >>> 24, b = 1540483477 * (b & 65535) + ((1540483477 * (b >>> 16) & 65535) << 16), a = 1540483477 * (a & 65535) + ((1540483477 * (a >>> 16) & 65535) << 16) ^ b, e -= 4, ++d; 3961 } 3962 switch (e) { 3963 case 3: 3964 a ^= (c.charCodeAt(d + 2) & 255) << 16; 3965 case 2: 3966 a ^= (c.charCodeAt(d + 1) & 255) << 8; 3967 case 1: 3968 a ^= c.charCodeAt(d) & 255, a = 1540483477 * (a & 65535) + ((1540483477 * (a >>> 16) & 65535) << 16); 3969 } 3970 a ^= a >>> 13; 3971 a = 1540483477 * (a & 65535) + ((1540483477 * (a >>> 16) & 65535) << 16); 3972 return (a ^ a >>> 15) >>> 0; 3973} 3974 3975// 3976/* eslint-disable no-bitwise */ 3977 3978/* This is the "capacity" of our alphabet i.e. 2x26 for all letters plus their capitalised 3979 * counterparts */ 3980var charsLength = 52; 3981 3982/* start at 75 for 'a' until 'z' (25) and then start at 65 for capitalised letters */ 3983var getAlphabeticChar = function getAlphabeticChar(code) { 3984 return String.fromCharCode(code + (code > 25 ? 39 : 97)); 3985}; 3986 3987/* input a number, usually a hash and convert it to base-52 */ 3988function generateAlphabeticName(code) { 3989 var name = ''; 3990 var x = void 0; 3991 3992 /* get a char and divide by alphabet-length */ 3993 for (x = code; x > charsLength; x = Math.floor(x / charsLength)) { 3994 name = getAlphabeticChar(x % charsLength) + name; 3995 } 3996 3997 return getAlphabeticChar(x % charsLength) + name; 3998} 3999 4000// 4001 4002function hasFunctionObjectKey(obj) { 4003 // eslint-disable-next-line guard-for-in, no-restricted-syntax 4004 for (var key in obj) { 4005 if (isFunction(obj[key])) { 4006 return true; 4007 } 4008 } 4009 4010 return false; 4011} 4012 4013function isStaticRules(rules, attrs) { 4014 for (var i = 0; i < rules.length; i += 1) { 4015 var rule = rules[i]; 4016 4017 // recursive case 4018 if (Array.isArray(rule) && !isStaticRules(rule, attrs)) { 4019 return false; 4020 } else if (isFunction(rule) && !isStyledComponent(rule)) { 4021 // functions are allowed to be static if they're just being 4022 // used to get the classname of a nested styled component 4023 return false; 4024 } 4025 } 4026 4027 if (attrs.some(function (x) { 4028 return isFunction(x) || hasFunctionObjectKey(x); 4029 })) return false; 4030 4031 return true; 4032} 4033 4034// 4035 4036/* combines hashStr (murmurhash) and nameGenerator for convenience */ 4037var hasher = function hasher(str) { 4038 return generateAlphabeticName(murmurhash(str)); 4039}; 4040 4041/* 4042 ComponentStyle is all the CSS-specific stuff, not 4043 the React-specific stuff. 4044 */ 4045 4046var ComponentStyle = function () { 4047 function ComponentStyle(rules, attrs, componentId) { 4048 classCallCheck(this, ComponentStyle); 4049 4050 this.rules = rules; 4051 this.isStatic = true && isStaticRules(rules, attrs); 4052 this.componentId = componentId; 4053 4054 if (!StyleSheet.master.hasId(componentId)) { 4055 StyleSheet.master.deferredInject(componentId, []); 4056 } 4057 } 4058 4059 /* 4060 * Flattens a rule set into valid CSS 4061 * Hashes it, wraps the whole chunk in a .hash1234 {} 4062 * Returns the hash to be injected on render() 4063 * */ 4064 4065 4066 ComponentStyle.prototype.generateAndInjectStyles = function generateAndInjectStyles(executionContext, styleSheet) { 4067 var isStatic = this.isStatic, 4068 componentId = this.componentId, 4069 lastClassName = this.lastClassName; 4070 4071 if (IS_BROWSER && isStatic && typeof lastClassName === 'string' && styleSheet.hasNameForId(componentId, lastClassName)) { 4072 return lastClassName; 4073 } 4074 4075 var flatCSS = flatten(this.rules, executionContext, styleSheet); 4076 var name = hasher(this.componentId + flatCSS.join('')); 4077 if (!styleSheet.hasNameForId(componentId, name)) { 4078 styleSheet.inject(this.componentId, stringifyRules(flatCSS, '.' + name, undefined, componentId), name); 4079 } 4080 4081 this.lastClassName = name; 4082 return name; 4083 }; 4084 4085 ComponentStyle.generateName = function generateName(str) { 4086 return hasher(str); 4087 }; 4088 4089 return ComponentStyle; 4090}(); 4091 4092// 4093 4094var LIMIT = 200; 4095
4096var createWarnTooManyClasses = (function (displayName) { 4097 var generatedClasses = {}; 4098 var warningSeen = false; 4099 4100 return function (className) { 4101 if (!warningSeen) { 4102 generatedClasses[className] = true; 4103 if (Object.keys(generatedClasses).length >= LIMIT) { 4104 // Unable to find latestRule in test environment. 4105 /* eslint-disable no-console, prefer-template */ 4106 console.warn('Over ' + LIMIT + ' classes were generated for component ' + displayName + '. \n' + 'Consider using the attrs method, together with a style object for frequently changed styles.\n' + 'Example:\n' + ' const Component = styled.div.attrs(props => ({\n' + ' style: {\n' + ' background: props.background,\n' + ' },\n' + ' }))`width: 100%;`\n\n' + ' <Component />'); 4107 warningSeen = true; 4108 generatedClasses = {}; 4109 } 4110 } 4111 }; 4112}); 4113 4114// 4115 4116var determineTheme = (function (props, fallbackTheme) { 4117 var defaultProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : EMPTY_OBJECT; 4118 4119 // Props should take precedence over ThemeProvider, which should take precedence over 4120 // defaultProps, but React automatically puts defaultProps on props. 4121 4122 /* eslint-disable react/prop-types, flowtype-errors/show-errors */ 4123 var isDefaultTheme = defaultProps ? props.theme === defaultProps.theme : false; 4124 var theme = props.theme && !isDefaultTheme ? props.theme : fallbackTheme || defaultProps.theme; 4125 /* eslint-enable */ 4126 4127 return theme; 4128}); 4129 4130// 4131var escapeRegex = /[[\].#*$><+~=|^:(),"'`-]+/g; 4132var dashesAtEnds = /(^-|-$)/g; 4133 4134/** 4135 * TODO: Explore using CSS.escape when it becomes more available 4136 * in evergreen browsers. 4137 */ 4138function escape(str) { 4139 return str 4140 // Replace all possible CSS selectors 4141 .replace(escapeRegex, '-') 4142 4143 // Remove extraneous hyphens at the start and end 4144 .replace(dashesAtEnds, ''); 4145} 4146 4147// 4148 4149function isTag(target) { 4150 return typeof target === 'string' && ( false ? undefined : true); 4151} 4152 4153// 4154 4155function generateDisplayName(target) { 4156 // $FlowFixMe 4157 return isTag(target) ? 'styled.' + target : 'Styled(' + getComponentName(target) + ')'; 4158} 4159 4160var _TYPE_STATICS; 4161 4162var REACT_STATICS = { 4163 childContextTypes: true, 4164 contextTypes: true, 4165 defaultProps: true, 4166 displayName: true, 4167 getDerivedStateFromProps: true, 4168 propTypes: true, 4169 type: true 4170}; 4171 4172var KNOWN_STATICS = { 4173 name: true, 4174 length: true, 4175 prototype: true, 4176 caller: true, 4177 callee: true, 4178 arguments: true, 4179 arity: true 4180}; 4181 4182var TYPE_STATICS = (_TYPE_STATICS = {}, _TYPE_STATICS[react_is__WEBPACK_IMPORTED_MODULE_4__["ForwardRef"]] = { 4183 $$typeof: true, 4184 render: true 4185}, _TYPE_STATICS); 4186 4187var defineProperty$1 = Object.defineProperty, 4188 getOwnPropertyNames = Object.getOwnPropertyNames, 4189 _Object$getOwnPropert = Object.getOwnPropertySymbols, 4190 getOwnPropertySymbols = _Object$getOwnPropert === undefined ? function () { 4191 return []; 4192} : _Object$getOwnPropert, 4193 getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor, 4194 getPrototypeOf = Object.getPrototypeOf, 4195 objectPrototype = Object.prototype; 4196var arrayPrototype = Array.prototype; 4197 4198 4199function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { 4200 if (typeof sourceComponent !== 'string') { 4201 // don't hoist over string (html) components 4202 4203 var inheritedComponent = getPrototypeOf(sourceComponent); 4204 4205 if (inheritedComponent && inheritedComponent !== objectPrototype) { 4206 hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); 4207 } 4208 4209 var keys = arrayPrototype.concat(getOwnPropertyNames(sourceComponent), 4210 // $FlowFixMe 4211 getOwnPropertySymbols(sourceComponent)); 4212 4213 var targetStatics = TYPE_STATICS[targetComponent.$$typeof] || REACT_STATICS; 4214 4215 var sourceStatics = TYPE_STATICS[sourceComponent.$$typeof] || REACT_STATICS; 4216 4217 var i = keys.length; 4218 var descriptor = void 0; 4219 var key = void 0; 4220 4221 // eslint-disable-next-line no-plusplus 4222 while (i--) { 4223 key = keys[i]; 4224 4225 if ( 4226 // $FlowFixMe 4227 !KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && 4228 // $FlowFixMe 4229 !(targetStatics && targetStatics[key])) { 4230 descriptor = getOwnPropertyDescriptor(sourceComponent, key); 4231 4232 if (descriptor) { 4233 try { 4234 // Avoid failures from read-only properties 4235 defineProperty$1(targetComponent, key, descriptor); 4236 } catch (e) { 4237 /* fail silently */ 4238 } 4239 } 4240 } 4241 } 4242 4243 return targetComponent; 4244 } 4245 4246 return targetComponent; 4247} 4248 4249// 4250function isDerivedReactComponent(fn) { 4251 return !!(fn && fn.prototype && fn.prototype.isReactComponent); 4252} 4253 4254// 4255// Helper to call a given function, only once 4256var once = (function (cb) { 4257 var called = false;
4258 4259 return function () { 4260 if (!called) { 4261 called = true; 4262 cb.apply(undefined, arguments); 4263 } 4264 }; 4265}); 4266 4267// 4268 4269var ThemeContext = Object(react__WEBPACK_IMPORTED_MODULE_2__["createContext"])(); 4270 4271var ThemeConsumer = ThemeContext.Consumer; 4272 4273/** 4274 * Provide a theme to an entire react component tree via context 4275 */ 4276 4277var ThemeProvider = function (_Component) { 4278 inherits(ThemeProvider, _Component); 4279 4280 function ThemeProvider(props) { 4281 classCallCheck(this, ThemeProvider); 4282 4283 var _this = possibleConstructorReturn(this, _Component.call(this, props)); 4284 4285 _this.getContext = Object(memoize_one__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(_this.getContext.bind(_this)); 4286 _this.renderInner = _this.renderInner.bind(_this); 4287 return _this; 4288 } 4289 4290 ThemeProvider.prototype.render = function render() { 4291 if (!this.props.children) return null; 4292 4293 return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement( 4294 ThemeContext.Consumer, 4295 null, 4296 this.renderInner 4297 ); 4298 }; 4299 4300 ThemeProvider.prototype.renderInner = function renderInner(outerTheme) { 4301 var context = this.getContext(this.props.theme, outerTheme); 4302 4303 return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement( 4304 ThemeContext.Provider, 4305 { value: context }, 4306 this.props.children 4307 ); 4308 }; 4309 4310 /** 4311 * Get the theme from the props, supporting both (outerTheme) => {} 4312 * as well as object notation 4313 */ 4314 4315 4316 ThemeProvider.prototype.getTheme = function getTheme(theme, outerTheme) { 4317 if (isFunction(theme)) { 4318 var mergedTheme = theme(outerTheme); 4319 4320 if (false) {} 4321 4322 return mergedTheme; 4323 } 4324 4325 if (theme === null || Array.isArray(theme) || (typeof theme === 'undefined' ? 'undefined' : _typeof(theme)) !== 'object') { 4326 throw new StyledComponentsError(8); 4327 } 4328 4329 return _extends({}, outerTheme, theme); 4330 }; 4331 4332 ThemeProvider.prototype.getContext = function getContext(theme, outerTheme) { 4333 return this.getTheme(theme, outerTheme); 4334 }; 4335 4336 return ThemeProvider; 4337}(react__WEBPACK_IMPORTED_MODULE_2__["Component"]); 4338 4339// 4340 4341var CLOSING_TAG_R = /^\s*<\/[a-z]/i; 4342 4343var ServerStyleSheet = function () { 4344 function ServerStyleSheet() { 4345 classCallCheck(this, ServerStyleSheet); 4346 4347 /* The master sheet might be reset, so keep a reference here */ 4348 this.masterSheet = StyleSheet.master; 4349 this.instance = this.masterSheet.clone(); 4350 this.sealed = false; 4351 } 4352 4353 /** 4354 * Mark the ServerStyleSheet as being fully emitted and manually GC it from the 4355 * StyleSheet singleton. 4356 */ 4357 4358 4359 ServerStyleSheet.prototype.seal = function seal() { 4360 if (!this.sealed) { 4361 /* Remove sealed StyleSheets from the master sheet */ 4362 var index = this.masterSheet.clones.indexOf(this.instance); 4363 this.masterSheet.clones.splice(index, 1); 4364 this.sealed = true; 4365 } 4366 }; 4367 4368 ServerStyleSheet.prototype.collectStyles = function collectStyles(children) { 4369 if (this.sealed) { 4370 throw new StyledComponentsError(2); 4371 } 4372 4373 return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement( 4374 StyleSheetManager, 4375 { sheet: this.instance }, 4376 children 4377 ); 4378 }; 4379 4380 ServerStyleSheet.prototype.getStyleTags = function getStyleTags() { 4381 this.seal(); 4382 return this.instance.toHTML(); 4383 }; 4384 4385 ServerStyleSheet.prototype.getStyleElement = function getStyleElement() { 4386 this.seal(); 4387 return this.instance.toReactElements(); 4388 }; 4389 4390 ServerStyleSheet.prototype.interleaveWithNodeStream = function interleaveWithNodeStream(readableStream) { 4391 var _this = this; 4392 4393 { 4394 throw new StyledComponentsError(3); 4395 } 4396 4397 /* the tag index keeps track of which tags have already been emitted */ 4398 var instance = this.instance; 4399 4400 var instanceTagIndex = 0; 4401 4402 var streamAttr = SC_STREAM_ATTR + '="true"'; 4403 4404 var transformer = new stream.Transform({ 4405 transform: function appendStyleChunks(chunk, /* encoding */_, callback) { 4406 var tags = instance.tags; 4407 4408 var html = ''; 4409 4410 /* retrieve html for each new style tag */ 4411 for (; instanceTagIndex < tags.length; instanceTagIndex += 1) { 4412 var tag = tags[instanceTagIndex]; 4413 html += tag.toHTML(streamAttr); 4414 } 4415 4416 /* force our StyleSheets to emit entirely new tags */ 4417 instance.sealAllTags(); 4418 4419 var renderedHtml = chunk.toString(); 4420 4421 /* prepend style html to chunk, unless the start of the chunk is a closing tag in which case append right after that */ 4422 if (CLOSING_TAG_R.test(renderedHtml)) { 4423 var endOfClosingTag = renderedHtml.indexOf('>'); 4424 4425 this.push(renderedHtml.slice(0, endOfClosingTag + 1) + html + renderedHtml.slice(endOfClosingTag + 1)); 4426 } else this.push(html + renderedHtml); 4427 4428 callback(); 4429 } 4430 }); 4431 4432 readableStream.on('end', function () { 4433 return _this.seal(); 4434 }); 4435 4436 readableStream.on('error', function (err) { 4437 _this.seal(); 4438 4439 // forward the error to the transform stream 4440 transformer.emit('error', err); 4441 }); 4442 4443 return readableStream.pipe(transformer); 4444 }; 4445 4446 return ServerStyleSheet; 4447}(); 4448 4449// 4450 4451var StyleSheetContext = Object(react__WEBPACK_IMPORTED_MODULE_2__["createContext"])(); 4452var StyleSheetConsumer = StyleSheetContext.Consumer; 4453 4454var StyleSheetManager = function (_Component) { 4455 inherits(StyleSheetManager, _Component); 4456 4457 function StyleSheetManager(props) { 4458 classCallCheck(this, StyleSheetManager); 4459 4460 var _this = possibleConstructorReturn(this, _Component.call(this, props)); 4461 4462 _this.getContext = Object(memoize_one__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(_this.getContext); 4463 return _this; 4464 } 4465 4466 StyleSheetManager.prototype.getContext = function getContext(sheet, target) { 4467 if (sheet) { 4468 return sheet; 4469 } else if (target) { 4470 return new StyleSheet(target); 4471 } else { 4472 throw new StyledComponentsError(4); 4473 } 4474 }; 4475 4476 StyleSheetManager.prototype.render = function render() { 4477 var _props = this.props, 4478 children = _props.children, 4479 sheet = _props.sheet, 4480 target = _props.target; 4481 4482 4483 return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement( 4484 StyleSheetContext.Provider, 4485 { value: this.getContext(sheet, target) }, 4486 false ? undefined : children 4487 ); 4488 }; 4489 4490 return StyleSheetManager; 4491}(react__WEBPACK_IMPORTED_MODULE_2__["Component"]); 4492 false ? undefined : void 0; 4493 4494// 4495 4496var identifiers = {}; 4497 4498/* We depend on components having unique IDs */ 4499function generateId(_ComponentStyle, _displayName, parentComponentId) { 4500 var displayName = typeof _displayName !== 'string' ? 'sc' : escape(_displayName); 4501 4502 /** 4503 * This ensures uniqueness if two components happen to share 4504 * the same displayName. 4505 */ 4506 var nr = (identifiers[displayName] || 0) + 1; 4507 identifiers[displayName] = nr; 4508 4509 var componentId = displayName + '-' + _ComponentStyle.generateName(displayName + nr); 4510 4511 return parentComponentId ? parentComponentId + '-' + componentId : componentId; 4512} 4513 4514// $FlowFixMe 4515 4516var StyledComponent = function (_Component) { 4517 inherits(StyledComponent, _Component); 4518 4519 function StyledComponent() { 4520 classCallCheck(this, StyledComponent); 4521 4522 var _this = possibleConstructorReturn(this, _Component.call(this)); 4523 4524 _this.attrs = {}; 4525 4526 _this.renderOuter = _this.renderOuter.bind(_this); 4527 _this.renderInner = _this.renderInner.bind(_this); 4528 4529 if (false) {} 4530 return _this; 4531 } 4532 4533 StyledComponent.prototype.render = function render() { 4534 return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement( 4535 StyleSheetConsumer, 4536 null, 4537 this.renderOuter 4538 ); 4539 }; 4540 4541 StyledComponent.prototype.renderOuter = function renderOuter() { 4542 var styleSheet = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : StyleSheet.master; 4543 4544 this.styleSheet = styleSheet; 4545 4546 // No need to subscribe a static component to theme changes, it won't
4546change anything 4547 if (this.props.forwardedComponent.componentStyle.isStatic) return this.renderInner(); 4548 4549 return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement( 4550 ThemeConsumer, 4551 null, 4552 this.renderInner 4553 ); 4554 }; 4555 4556 StyledComponent.prototype.renderInner = function renderInner(theme) { 4557 var _props$forwardedCompo = this.props.forwardedComponent, 4558 componentStyle = _props$forwardedCompo.componentStyle, 4559 defaultProps = _props$forwardedCompo.defaultProps, 4560 displayName = _props$forwardedCompo.displayName, 4561 foldedComponentIds = _props$forwardedCompo.foldedComponentIds, 4562 styledComponentId = _props$forwardedCompo.styledComponentId, 4563 target = _props$forwardedCompo.target; 4564 4565 4566 var generatedClassName = void 0; 4567 if (componentStyle.isStatic) { 4568 generatedClassName = this.generateAndInjectStyles(EMPTY_OBJECT, this.props); 4569 } else { 4570 generatedClassName = this.generateAndInjectStyles(determineTheme(this.props, theme, defaultProps) || EMPTY_OBJECT, this.props); 4571 } 4572 4573 var elementToBeCreated = this.props.as || this.attrs.as || target; 4574 var isTargetTag = isTag(elementToBeCreated); 4575 4576 var propsForElement = {}; 4577 var computedProps = _extends({}, this.props, this.attrs); 4578 4579 var key = void 0; 4580 // eslint-disable-next-line guard-for-in 4581 for (key in computedProps) { 4582 if (false) {} 4583 4584 if (key === 'forwardedComponent' || key === 'as') { 4585 continue; 4586 } else if (key === 'forwardedRef') propsForElement.ref = computedProps[key];else if (key === 'forwardedAs') propsForElement.as = computedProps[key];else if (!isTargetTag || Object(_emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"])(key)) { 4587 // Don't pass through non HTML tags through to HTML elements 4588 propsForElement[key] = computedProps[key]; 4589 } 4590 } 4591 4592 if (this.props.style && this.attrs.style) { 4593 propsForElement.style = _extends({}, this.attrs.style, this.props.style); 4594 } 4595 4596 propsForElement.className = Array.prototype.concat(foldedComponentIds, styledComponentId, generatedClassName !== styledComponentId ? generatedClassName : null, this.props.className, this.attrs.className).filter(Boolean).join(' '); 4597 4598 return Object(react__WEBPACK_IMPORTED_MODULE_2__["createElement"])(elementToBeCreated, propsForElement); 4599 }; 4600 4601 StyledComponent.prototype.buildExecutionContext = function buildExecutionContext(theme, props, attrs) { 4602 var _this2 = this; 4603 4604 var context = _extends({}, props, { theme: theme }); 4605 4606 if (!attrs.length) return context; 4607 4608 this.attrs = {}; 4609 4610 attrs.forEach(function (attrDef) { 4611 var resolvedAttrDef = attrDef; 4612 var attrDefWasFn = false; 4613 var attr = void 0; 4614 var key = void 0; 4615 4616 if (isFunction(resolvedAttrDef)) { 4617 // $FlowFixMe 4618 resolvedAttrDef = resolvedAttrDef(context); 4619 attrDefWasFn = true; 4620 } 4621 4622 /* eslint-disable guard-for-in */ 4623 // $FlowFixMe 4624 for (key in resolvedAttrDef) { 4625 attr = resolvedAttrDef[key]; 4626 4627 if (!attrDefWasFn) { 4628 if (isFunction(attr) && !isDerivedReactComponent(attr) && !isStyledComponent(attr)) { 4629 if (false) {} 4630 4631 attr = attr(context); 4632 4633 if (false) {} 4634 } 4635 } 4636 4637 _this2.attrs[key] = attr; 4638 context[key] = attr; 4639 } 4640 /* eslint-enable */ 4641 }); 4642 4643 return context; 4644 }; 4645 4646 StyledComponent.prototype.generateAndInjectStyles = function generateAndInjectStyles(theme, props) { 4647 var _props$forwardedCompo2 = props.forwardedComponent, 4648 attrs = _props$forwardedCompo2.attrs, 4649 componentStyle = _props$forwardedCompo2.componentStyle, 4650 warnTooManyClasses = _props$forwardedCompo2.warnTooManyClasses; 4651 4652 // statically styled-components don't need to build an execution context object, 4653 // and shouldn't be increasing the number of class names 4654 4655 if (componentStyle.isStatic && !attrs.length) { 4656 return componentStyle.generateAndInjectStyles(EMPTY_OBJECT, this.styleSheet); 4657 } 4658 4659 var className = componentStyle.generateAndInjectStyles(this.buildExecutionContext(theme, props, attrs), this.styleSheet); 4660 4661 if (false) {} 4662 4663 return className; 4664 }; 4665 4666 return StyledComponent; 4667}(react__WEBPACK_IMPORTED_MODULE_2__["Component"]); 4668 4669function createStyledComponent(target, options, rules) { 4670 var isTargetStyledComp = isStyledComponent(target); 4671 var isClass = !isTag(target); 4672 4673 var _options$displayName = options.displayName, 4674 displayName = _options$displayName === undefined ? generateDisplayName(target) : _options$displayName, 4675 _options$componentId = options.componentId, 4676 componentId = _options$componentId === undefined ? generateId(ComponentStyle, options.displayName, options.parentComponentId) : _options$componentId, 4677 _options$ParentCompon = options.ParentComponent, 4678 ParentComponent = _options$ParentCompon === undefined ? StyledComponent : _options$ParentCompon, 4679 _options$attrs = options.attrs, 4680 attrs = _options$attrs === undefined ? EMPTY_ARRAY : _options$attrs; 4681 4682 4683 var styledComponentId = options.displayName && options.componentId ? escape(options.displayName) + '-' + options.componentId : options.componentId || componentId; 4684 4685 // fold the underlying StyledComponent attrs up (implicit extend) 4686 var finalAttrs = 4687 // $FlowFixMe 4688 isTargetStyledComp && target.attrs ? Array.prototype.concat(target.attrs, attrs).filter(
4688Boolean) : attrs; 4689 4690 var componentStyle = new ComponentStyle(isTargetStyledComp ? // fold the underlying StyledComponent rules up (implicit extend) 4691 // $FlowFixMe 4692 target.componentStyle.rules.concat(rules) : rules, finalAttrs, styledComponentId); 4693 4694 /** 4695 * forwardRef creates a new interim component, which we'll take advantage of 4696 * instead of extending ParentComponent to create _another_ interim class 4697 */ 4698 var WrappedStyledComponent = void 0; 4699 var forwardRef = function forwardRef(props, ref) { 4700 return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(ParentComponent, _extends({}, props, { forwardedComponent: WrappedStyledComponent, forwardedRef: ref })); 4701 }; 4702 forwardRef.displayName = displayName; 4703 WrappedStyledComponent = react__WEBPACK_IMPORTED_MODULE_2___default.a.forwardRef(forwardRef); 4704 WrappedStyledComponent.displayName = displayName; 4705 4706 // $FlowFixMe 4707 WrappedStyledComponent.attrs = finalAttrs; 4708 // $FlowFixMe 4709 WrappedStyledComponent.componentStyle = componentStyle; 4710 4711 // $FlowFixMe 4712 WrappedStyledComponent.foldedComponentIds = isTargetStyledComp ? // $FlowFixMe 4713 Array.prototype.concat(target.foldedComponentIds, target.styledComponentId) : EMPTY_ARRAY; 4714 4715 // $FlowFixMe 4716 WrappedStyledComponent.styledComponentId = styledComponentId; 4717 4718 // fold the underlying StyledComponent target up since we folded the styles 4719 // $FlowFixMe 4720 WrappedStyledComponent.target = isTargetStyledComp ? target.target : target; 4721 4722 // $FlowFixMe 4723 WrappedStyledComponent.withComponent = function withComponent(tag) { 4724 var previousComponentId = options.componentId, 4725 optionsToCopy = objectWithoutProperties(options, ['componentId']); 4726 4727 4728 var newComponentId = previousComponentId && previousComponentId + '-' + (isTag(tag) ? tag : escape(getComponentName(tag))); 4729 4730 var newOptions = _extends({}, optionsToCopy, { 4731 attrs: finalAttrs, 4732 componentId: newComponentId, 4733 ParentComponent: ParentComponent 4734 }); 4735 4736 return createStyledComponent(tag, newOptions, rules); 4737 }; 4738 4739 // $FlowFixMe 4740 Object.defineProperty(WrappedStyledComponent, 'defaultProps', { 4741 get: function get$$1() { 4742 return this._foldedDefaultProps; 4743 }, 4744 set: function set$$1(obj) { 4745 // $FlowFixMe 4746 this._foldedDefaultProps = isTargetStyledComp ? Object(merge_anything__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"])(target.defaultProps, obj) : obj; 4747 } 4748 }); 4749 4750 if (false) {} 4751 4752 // $FlowFixMe 4753 WrappedStyledComponent.toString = function () { 4754 return '.' + WrappedStyledComponent.styledComponentId; 4755 }; 4756 4757 if (isClass) { 4758 hoistNonReactStatics(WrappedStyledComponent, target, { 4759 // all SC-specific things should not be hoisted 4760 attrs: true, 4761 componentStyle: true, 4762 displayName: true, 4763 foldedComponentIds: true, 4764 styledComponentId: true, 4765 target: true, 4766 withComponent: true 4767 }); 4768 } 4769 4770 return WrappedStyledComponent; 4771} 4772 4773// 4774// Thanks to ReactDOMFactories for this handy list! 4775 4776var 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', 'marquee', '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', 4777 4778// SVG 4779'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'marker', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan']; 4780 4781// 4782 4783var styled = function styled(tag) { 4784 return constructWithOptions(createStyledComponent, tag); 4785}; 4786 4787// Shorthands for all valid HTML Elements
4788domElements.forEach(function (domElement) { 4789 styled[domElement] = styled(domElement); 4790}); 4791 4792// 4793 4794var GlobalStyle = function () { 4795 function GlobalStyle(rules, componentId) { 4796 classCallCheck(this, GlobalStyle); 4797 4798 this.rules = rules; 4799 this.componentId = componentId; 4800 this.isStatic = isStaticRules(rules, EMPTY_ARRAY); 4801 4802 if (!StyleSheet.master.hasId(componentId)) { 4803 StyleSheet.master.deferredInject(componentId, []); 4804 } 4805 } 4806 4807 GlobalStyle.prototype.createStyles = function createStyles(executionContext, styleSheet) { 4808 var flatCSS = flatten(this.rules, executionContext, styleSheet); 4809 var css = stringifyRules(flatCSS, ''); 4810 4811 styleSheet.inject(this.componentId, css); 4812 }; 4813 4814 GlobalStyle.prototype.removeStyles = function removeStyles(styleSheet) { 4815 var componentId = this.componentId; 4816 4817 if (styleSheet.hasId(componentId)) { 4818 styleSheet.remove(componentId); 4819 } 4820 }; 4821 4822 // TODO: overwrite in-place instead of remove+create? 4823 4824 4825 GlobalStyle.prototype.renderStyles = function renderStyles(executionContext, styleSheet) { 4826 this.removeStyles(styleSheet); 4827 this.createStyles(executionContext, styleSheet); 4828 }; 4829 4830 return GlobalStyle; 4831}(); 4832 4833// 4834 4835// place our cache into shared context so it'll persist between HMRs 4836if (IS_BROWSER) { 4837 window.scCGSHMRCache = {}; 4838} 4839 4840function createGlobalStyle(strings) { 4841 for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 4842 interpolations[_key - 1] = arguments[_key]; 4843 } 4844 4845 var rules = css.apply(undefined, [strings].concat(interpolations)); 4846 var id = 'sc-global-' + murmurhash(JSON.stringify(rules)); 4847 var style = new GlobalStyle(rules, id); 4848 4849 var GlobalStyleComponent = function (_React$Component) { 4850 inherits(GlobalStyleComponent, _React$Component); 4851 4852 function GlobalStyleComponent(props) { 4853 classCallCheck(this, GlobalStyleComponent); 4854 4855 var _this = possibleConstructorReturn(this, _React$Component.call(this, props)); 4856 4857 var _this$constructor = _this.constructor, 4858 globalStyle = _this$constructor.globalStyle, 4859 styledComponentId = _this$constructor.styledComponentId; 4860 4861 4862 if (IS_BROWSER) { 4863 window.scCGSHMRCache[styledComponentId] = (window.scCGSHMRCache[styledComponentId] || 0) + 1; 4864 } 4865 4866 /** 4867 * This fixes HMR compatibility. Don't ask me why, but this combination of 4868 * caching the closure variables via statics and then persisting the statics in 4869 * state works across HMR where no other combination did. ¯\_(ツ)_/¯ 4870 */ 4871 _this.state = { 4872 globalStyle: globalStyle, 4873 styledComponentId: styledComponentId 4874 }; 4875 return _this; 4876 } 4877 4878 GlobalStyleComponent.prototype.componentWillUnmount = function componentWillUnmount() { 4879 if (window.scCGSHMRCache[this.state.styledComponentId]) { 4880 window.scCGSHMRCache[this.state.styledComponentId] -= 1; 4881 } 4882 /** 4883 * Depending on the order "render" is called this can cause the styles to be lost 4884 * until the next render pass of the remaining instance, which may 4885 * not be immediate. 4886 */ 4887 if (window.scCGSHMRCache[this.state.styledComponentId] === 0) { 4888 this.state.globalStyle.removeStyles(this.styleSheet); 4889 } 4890 }; 4891 4892 GlobalStyleComponent.prototype.render = function render() { 4893 var _this2 = this; 4894 4895 if (false) {} 4896 4897 return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement( 4898 StyleSheetConsumer, 4899 null, 4900 function (styleSheet) { 4901 _this2.styleSheet = styleSheet || StyleSheet.master; 4902 4903 var globalStyle = _this2.state.globalStyle; 4904 4905 4906 if (globalStyle.isStatic) { 4907 globalStyle.renderStyles(STATIC_EXECUTION_CONTEXT, _this2.styleSheet); 4908 4909 return null; 4910 } else { 4911 return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement( 4912 ThemeConsumer, 4913 null, 4914 function (theme) { 4915 // $FlowFixMe 4916 var defaultProps = _this2.constructor.defaultProps; 4917 4918 4919 var context = _extends({}, _this2.props); 4920 4921 if (typeof theme !== 'undefined') { 4922 context.theme = determineTheme(_this2.props, theme, defaultProps); 4923 } 4924
4925 globalStyle.renderStyles(context, _this2.styleSheet); 4926 4927 return null; 4928 } 4929 ); 4930 } 4931 } 4932 ); 4933 }; 4934 4935 return GlobalStyleComponent; 4936 }(react__WEBPACK_IMPORTED_MODULE_2___default.a.Component); 4937 4938 GlobalStyleComponent.globalStyle = style; 4939 GlobalStyleComponent.styledComponentId = id; 4940 4941 4942 return GlobalStyleComponent; 4943} 4944 4945// 4946 4947var replaceWhitespace = function replaceWhitespace(str) { 4948 return str.replace(/\s|\\n/g, ''); 4949}; 4950 4951function keyframes(strings) { 4952 /* Warning if you've used keyframes on React Native */ 4953 if (false) {} 4954 4955 for (var _len = arguments.length, interpolations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 4956 interpolations[_key - 1] = arguments[_key]; 4957 } 4958 4959 var rules = css.apply(undefined, [strings].concat(interpolations)); 4960 4961 var name = generateAlphabeticName(murmurhash(replaceWhitespace(JSON.stringify(rules)))); 4962 4963 return new Keyframes(name, stringifyRules(rules, name, '@keyframes')); 4964} 4965 4966// 4967 4968var withTheme = (function (Component$$1) { 4969 var WithTheme = react__WEBPACK_IMPORTED_MODULE_2___default.a.forwardRef(function (props, ref) { 4970 return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement( 4971 ThemeConsumer, 4972 null, 4973 function (theme) { 4974 // $FlowFixMe 4975 var defaultProps = Component$$1.defaultProps; 4976 4977 var themeProp = determineTheme(props, theme, defaultProps); 4978 4979 if (false) {} 4980 4981 return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Component$$1, _extends({}, props, { theme: themeProp, ref: ref })); 4982 } 4983 ); 4984 }); 4985 4986 hoistNonReactStatics(WithTheme, Component$$1); 4987 4988 WithTheme.displayName = 'WithTheme(' + getComponentName(Component$$1) + ')'; 4989 4990 return WithTheme; 4991}); 4992 4993// 4994 4995/* eslint-disable */ 4996var __DO_NOT_USE_OR_YOU_WILL_BE_HAUNTED_BY_SPOOKY_GHOSTS = { 4997 StyleSheet: StyleSheet 4998}; 4999 5000// 5001 5002/* Warning if you've imported this file on React Native */ 5003if (false) {} 5004 5005/* Warning if there are several instances of styled-components */ 5006if (false) {} 5007 5008// 5009 5010/* harmony default export */ __webpack_exports__["default"] = (styled); 5011 5012//# sourceMappingURL=styled-components.browser.esm.js.map 5013 5014/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(58))) 5015 5016/***/ }), 5017/* 14 */ 5018/***/ (function(module, exports, __webpack_require__) { 5019 5020"use strict"; 5021 5022var __assign = (this && this.__assign) || function () { 5023 __assign = Object.assign || function(t) { 5024 for (var s, i = 1, n = arguments.length; i < n; i++) { 5025 s = arguments[i]; 5026 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) 5027 t[p] = s[p]; 5028 } 5029 return t; 5030 }; 5031 return __assign.apply(this, arguments); 5032};
5033var __spreadArrays = (this && this.__spreadArrays) || function () { 5034 for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; 5035 for (var r = Array(s), k = 0, i = 0; i < il; i++) 5036 for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) 5037 r[k] = a[j]; 5038 return r; 5039}; 5040var _a; 5041Object.defineProperty(exports, "__esModule", { value: true }); 5042exports.updateNoteInPattern = exports.updatePatternAtIdx = exports.rotateBpm = exports.getInitialState = exports.setLocalStorage = exports.getEmptyPattern = void 0; 5043var _constants_1 = __webpack_require__(1); 5044exports.getEmptyPattern = function () { return ({ spots: new Array(16).fill(null), drums: new Array(16).fill(null), effects: new Array(16).fill(null) }); }; 5045var genericInitialState = (_a = {}, 5046 _a[_constants_1.PLAY] = false, 5047 _a[_constants_1.WRITE] = false, 5048 _a[_constants_1.PATTERN_VIEW] = false, 5049 _a[_constants_1.SOUNDS_VIEW] = false, 5050 _a[_constants_1.BPM] = 120, 5051 _a[_constants_1.VOLUME] = 1, 5052 _a[_constants_1.SOUND] = 0, 5053 _a[_constants_1.PATTERNS] = new Array(16).fill(exports.getEmptyPattern()), 5054 _a[_constants_1.PATTERN_IDX] = 0, 5055 _a.lastNote = 'C3', 5056 _a[_constants_1.PATTERN_CHAIN] = [0, 1], 5057 _a[_constants_1.PATTERN_TYPE] = 0, 5058 _a[_constants_1.MUTE] = true, 5059 _a); 5060var formatPathname = function (pathname) { 5061 if (pathname === void 0) { pathname = ''; } 5062 var parts = pathname.split('/').filter(function (v) { return v; }); 5063 if (parts.find(function (v) { return v.toLowerCase() === 'tutorial'; })) { 5064 return; 5065 } 5066 return parts.slice(0, 2).join('/'); 5067}; 5068var getLocalStorage = function (pathname, customState) { 5069 if (customState === void 0) { customState = {}; } 5070 var formattedData = {}; 5071 if (!pathname) { 5072 return formattedData; 5073 } 5074 var savedJson = window.localStorage.getItem(formatPathname(pathname)); 5075 if (!savedJson) { 5076 return {}; 5077 } 5078 var savedState = JSON.parse(savedJson); 5079 formattedData[_constants_1.PATTERNS] = genericInitialState[_constants_1.PATTERNS].map(function (v, idx) { return savedState[_constants_1.PATTERNS] && savedState[_constants_1.PATTERNS][idx] 5080 ? savedState[_constants_1.PATTERNS][idx] 5081 : (customState[_constants_1.PATTERNS] || v); }); 5082 [_constants_1.PATTERN_CHAIN, _constants_1.VOLUME, _constants_1.SOUND, _constants_1.PATTERN_TYPE, _constants_1.BPM].forEach(function (v) { 5083 formattedData[v] = savedState[v] || customState[v] || genericInitialState[v]; 5084 }); 5085 return formattedData; 5086}; 5087exports.setLocalStorage = function (state, locationPathname) { 5088 var _a; 5089 var pathname = locationPathname || window.location.pathname; 5090 var formattedPathname = formatPathname(pathname); 5091 if (!formattedPathname) { 5092 return; 5093 } 5094 var formattedData = (_a = {}, 5095 _a[_constants_1.VOLUME] = state[_constants_1.VOLUME], 5096 _a[_constants_1.BPM] = state[_constants_1.BPM], 5097 _a[_constants_1.SOUND] = state[_constants_1.SOUND], 5098 _a[_constants_1.PATTERN_TYPE] = state[_constants_1.PATTERN_TYPE], 5099 _a[_constants_1.PATTERN_CHAIN] = state[_constants_1.PATTERN_CHAIN], 5100 _a[_constants_1.PATTERNS] = state[_constants_1.PATTERNS].reduce(function (acc, val, idx) { 5101 if (val && Object.entries(val).some(function (_a) { 5102 var key = _a[0], values = _a[1]; 5103 return Array.isArray(values) && values.some(function (v) { return !!v; }); 5104 })) { 5105 acc[idx] = val; 5106 } 5107 return acc; 5108 }, {}), 5109 _a); 5110 window.localStorage.setItem(formatPathname(pathname), JSON.stringify(formattedData)); 5111}; 5112exports.getInitialState = function (_a) { 5113 var mutable = _a.mutable, customState = _a.customState, _b = _a.pathname, pathname = _b === void 0 ? '' : _b; 5114 var localStorage = getLocalStorage(pathname, customState); 5115 console.log(localStorage); 5116 return __assign(__assign(__assign(__assign({}, genericInitialState), { mutable: mutable }), (customState || {})), localStorage); 5117}; 5118// if working from a base you have limited control of BPM 5119var getSyncBpmOptions = function (base) { return [base / 4, base / 2, base, base * 2, base * 4].filter(function (v) { return v > 30 && v < 320; }); }; 5120// iterating through basic bpm options, if there's a base it sticks to times that pair well with it 5121exports.rotateBpm = function (value, base) { 5122 var options = base ? getSyncBpmOptions(base) : [80, 100, 120, 140, 320]; 5123 return (options.find(function (v) { return v > value; }) || 80); 5124}; 5125exports.updatePatternAtIdx = function (state, newPattern, idx) { 5126 return __spreadArrays(state[_constants_1.PATTERNS].slice(0, idx), [ 5127 newPattern 5128 ], state[_constants_1.PATTERNS].slice(idx + 1)); 5129}; 5130exports.updateNoteInPattern = function (state, note, idx) { 5131 var _a;
5132 var pattern = state[_constants_1.PATTERNS][state[_constants_1.PATTERN_IDX]]; 5133 var patternPart = pattern[state[_constants_1.PATTERN_TYPE]]; 5134 return __spreadArrays(state[_constants_1.PATTERNS].slice(0, state[_constants_1.PATTERN_IDX]), [ 5135 __assign(__assign({}, pattern), (_a = {}, _a[state[_constants_1.PATTERN_TYPE]] = __spreadArrays(patternPart.slice(0, idx), [ 5136 note 5137 ], patternPart.slice(idx + 1)), _a)) 5138 ], state[_constants_1.PATTERNS].slice(state[_constants_1.PATTERN_IDX] + 1)); 5139}; 5140 5141 5142/***/ }), 5143/* 15 */ 5144/***/ (function(module, exports, __webpack_require__) { 5145 5146"use strict"; 5147 5148var __spreadArrays = (this && this.__spreadArrays) || function () { 5149 for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; 5150 for (var r = Array(s), k = 0, i = 0; i < il; i++) 5151 for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) 5152 r[k] = a[j]; 5153 return r; 5154}; 5155Object.defineProperty(exports, "__esModule", { value: true }); 5156exports.generateInstrument = exports.generateKeys = void 0; 5157var tone_1 = __webpack_require__(16); 5158var _constants_1 = __webpack_require__(1); 5159exports.generateKeys = function (start) { 5160 if (start === void 0) { start = 3; } 5161 var sounds = []; 5162 for (var i = 0; i < 16; i++) { 5163 sounds.push({ id: "" + _constants_1.NOTES[i % 7] + (start + Math.floor(i / 7)) }); 5164 } 5165 return sounds; 5166}; 5167exports.generateInstrument = function (_a) { 5168 var title = _a.title, _b = _a.instrument, instrument = _b === void 0 ? tone_1.default.Synth : _b, _c = _a.toneParams, toneParams = _c === void 0 ? [] : _c, customKeys = _a.customKeys, idx = _a.idx; 5169 var tone = new (instrument.bind.apply(instrument, __spreadArrays([void 0], toneParams)))(); 5170 return { 5171 name: title || tone.toString().split('Synth')[0] || 'Synth', 5172 tone: tone, 5173 keys: customKeys, 5174 idx: idx, 5175 }; 5176}; 5177 5178 5179/***/ }), 5180/* 16 */ 5181/***/ (function(module, exports, __webpack_require__) { 5182 5183!function(t,e){ true?module.exports=e():undefined}("undefined"!=typeof self?self:this,function(){return function(t){var e={};function i(s){if(e[s])return e[s].exports;var n=e[s]={i:s,l:!1,exports:{}};return t[s].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=t,i.c=e,i.d=function(t,e,s){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:s})},i.r=function(t){Object.defineProperty(t,"__esModule",{value:!0})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=148)}([function(t,e,i){"use strict";i.r(e),function(t){var s=i(93),n=function(){if(!(this instanceof n))throw new Error("constructor needs to be called with the 'new' keyword")}; 5184/** 5185 * Tone.js 5186 * @author Yotam Mann 5187 * @license http://opensource.org/licenses/MIT MIT License 5188 * @copyright 2014-2019 Yotam Mann 5189 */n.prototype.toString=function(){for(var t in n){var e=t[0].match(/^[A-Z]$/),i=n[t]===this.constructor;if(n.isFunction(n[t])&&e&&i)return t}return"Tone"},n.prototype.dispose=function(){return this},n.prototype.set=function(t,e){if(n.isString(t)){var i={};i[t]=e,t=i}t:for(var s in t){e=t[s];var o=this;if(-1!==s.indexOf(".")){for(var a=s.split("."),r=0;r<a.length-1;r++)if((o=o[a[r]])instanceof n){a.splice(0,r+1);var l=a.join(".");o.set(l,e);continue t}s=a[a.length-1]}var u=o[s];n.isUndef(u)||(n.Signal&&u instanceof n.Signal||n.Param&&u instanceof n.Param?u.value!==e&&(u.value=e):u instanceof AudioParam?u.value!==e&&(u.value=e):n.TimeBase&&u instanceof n.TimeBase?o[s]=e:u instanceof n?u.set(e):u!==e&&(o[s]=e))}return this},n.prototype.get=function(t){n.isUndef(t)?t=this._collectDefaults(this.constructor):n.isString(t)&&(t=[t]);for(var e={},i=0;i<t.length;i++){var s=t[i],o=this,a=e;if(-1!==s.indexOf(".")){for(var r=s.split("."),l=0;l<r.length-1;l++){var u=r[l];a[u]=a[u]||{},a=a[u],o=o[u]}s=r[r.length-1]}var d=o[s];n.isObject(t[s])?a[s]=d.get():n.Signal&&d instanceof n.Signal?a[s]=d.value:n.Param&&d instanceof n.Param?a[s]=d.value:d instanceof AudioParam?a[s]=d.value:d instanceof n?a[s]=d.get():!n.isFunction(d)&&n.isDefined(d)&&(a[s]=d)}return e},n.prototype._collectDefaults=function(t){var e=[];
5189if(n.isDefined(t.defaults)&&(e=Object.keys(t.defaults)),n.isDefined(t._super))for(var i=this._collectDefaults(t._super),s=0;s<i.length;s++)-1===e.indexOf(i[s])&&e.push(i[s]);return e},n.defaults=function(t,e,i){var s={};if(1===t.length&&n.isObject(t[0]))s=t[0];else for(var o=0;o<e.length;o++)s[e[o]]=t[o];return n.isDefined(i.defaults)?n.defaultArg(s,i.defaults):n.isObject(i)?n.defaultArg(s,i):s},n.defaultArg=function(t,e){if(n.isObject(t)&&n.isObject(e)){var i={};for(var s in t)i[s]=n.defaultArg(e[s],t[s]);for(var o in e)i[o]=n.defaultArg(t[o],e[o]);return i}return n.isUndef(t)?e:t},n.prototype.log=function(){if(this.debug||this.toString()===n.global.TONE_DEBUG_CLASS){var t=Array.from(arguments);t.unshift(this.toString()+":"),console.log.apply(void 0,t)}},n.prototype.assert=function(t,e){if(!t)throw new Error(e)},n.connectSeries=function(){for(var t=arguments[0],e=1;e<arguments.length;e++){var i=arguments[e];n.connect(t,i),t=i}return n},n.connect=function(t,e,i,s){for(;n.isDefined(e.input);)n.isArray(e.input)?(s=n.defaultArg(s,0),e=e.input[s],s=0):e.input&&(e=e.input);return e instanceof AudioParam?t.connect(e,i):e instanceof AudioNode&&t.connect(e,i,s),n},n.disconnect=function(t,e,i,s){if(e){for(var o=!1;!o;)n.isArray(e.input)?(n.isDefined(s)?n.disconnect(t,e.input[s],i):e.input.forEach(function(e){try{n.disconnect(t,e,i)}catch(t){}}),o=!0):e.input?e=e.input:o=!0;e instanceof AudioParam?t.disconnect(e,i):e instanceof AudioNode&&t.disconnect(e,i,s)}else t.disconnect();return n},n.isUndef=function(t){return void 0===t},n.isDefined=function(t){return!n.isUndef(t)},n.isFunction=function(t){return"function"==typeof t},n.isNumber=function(t){return"number"==typeof t},n.isObject=function(t){return"[object Object]"===Object.prototype.toString.call(t)&&t.constructor===Object},n.isBoolean=function(t){return"boolean"==typeof t},n.isArray=function(t){return Array.isArray(t)},n.isString=function(t){return"string"==typeof t},n.isNote=function(t){return n.isString(t)&&/^([a-g]{1}(?:b|#|x|bb)?)(-?[0-9]+)/i.test(t)},n.noOp=function(){},n.prototype._readOnly=function(t){if(Array.isArray(t))for(var e=0;e<t.length;e++)this._readOnly(t[e]);else Object.defineProperty(this,t,{writable:!1,enumerable:!0})},n.prototype._writable=function(t){if(Array.isArray(t))for(var e=0;e<t.length;e++)this._writable(t[e]);else Object.defineProperty(this,t,{writable:!0})},n.State={Started:"started",Stopped:"stopped",Paused:"paused"},n.global=n.isUndef(t)?window:t,n.equalPowerScale=function(t){var e=.5*Math.PI;return Math.sin(t*e)},n.dbToGain=function(t){return Math.pow(10,t/20)},n.gainToDb=function(t){return Math.log(t)/Math.LN10*20},n.intervalToFrequencyRatio=function(t){return Math.pow(2,t/12)},n.prototype.now=function(){return n.context.now()},n.now=function(){return n.context.now()},n.prototype.immediate=function(){return n.context.currentTime},n.immediate=function(){return n.context.currentTime},n.extend=function(t,e){function i(){}n.isUndef(e)&&(e=n),i.prototype=e.prototype,t.prototype=new i,t.prototype.constructor=t,t._super=e},n._audioContext=null,n.start=function(){return n.context.resume()},Object.defineProperty(n,"context",{get:function(){return n._audioContext},set:function(t){t.isContext?n._audioContext=t:n._audioContext=new n.Context(t),n.Context.emit("init",n._audioContext)}}),Object.defineProperty(n.prototype,"context",{get:function(){return n.context}}),n.setContext=function(t){n.context=t},Object.defineProperty(n.prototype,"blockTime",{get:function(){return 128/this.context.sampleRate}}),Object.defineProperty(n.prototype,"sampleTime",{get:function(){return 1/this.context.sampleRate}}),Object.defineProperty(n,"supported",{get:function(){var t=n.global.hasOwnProperty("AudioContext")||n.global.hasOwnProperty("webkitAudioContext"),e=n.global.hasOwnProperty("Promise");return t&&e}}),Object.defineProperty(n,"initialized",{get:function(){return Boolean(n.context)}}),n.getContext=function(t){if(n.initialized)t(n.context);else{var e=function(){t(n.context),n.Context.off("init",e)};n.Context.on("init",e)}return n},n.version=s.a,e.default=n}.call(this,i(147))}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(20);if(s.default.supported){var n=new OfflineAudioContext(2,1,44100),o=n.createGain(),a=n.createGain();if(o.connect(a)!==a){var r=AudioNode.prototype.connect;AudioNode.prototype.connect=function(){return r.apply(this,arguments),arguments[0]}}}s.default.AudioNode=function(){s.default.call(this);var t=s.default.defaults(arguments,["context"],{context:s.default.context});this._context=t.context},s.default.extend(s.default.AudioNode),Object.defineProperty(s.default.AudioNode.prototype,"context",{get:function(){return this._context}}),s.default.AudioNode.prototype.createInsOuts=function(t,e){1===t?this.input=this.context.createGain():t>1&&(this.input=new Array(t)),1===e?this.output=this.context.createGain():e>1&&(this.output=new Array(e))},Object.defineProperty(s.default.AudioNode.prototype,"channelCount",{get:function(){return this.output.channelCount},set:function(t){return this.output.channelCount=t}}),Object.defineProperty(s.default.AudioNode.prototype,"channelCountMode",{get:function(){return this.output.channelCountMode},set:function(t){return this.output.channelCountMode=t}}),Object.defineProperty(s.default.AudioNode.prototype,"channelInterpretation",{get:function(){return this.output.channelInterpretation},set:function(t){return this.output.channelInterpretation=t}}),Object.defineProperty(s.default.AudioNode.prototype,"numberOfInputs",{get:function(){return this.input?s.default.isArray(this.input)?this.input.length:1:0}}),Object.defineProperty(s.default.AudioNode.prototype,"numberOfOutputs",{get:function(){return this.output?s.default.isArray(this.output)?this.output.length:1:0}}),s.default.AudioNode.prototype.connect=function(t,e,i){return s.default.isArray(this.output)?(e=s.default.defaultArg(e,0),this.output[e].connect(t,0,i)):s.default.connect(this.output,t,e,i),this},s.default.AudioNode.prototype.disconnect=function(t,e,i){return s.default.isArray(this.output)?(e=s.default.defaultArg(e,0),this.output[e].disconnect(t,0,i)):s.default.disconnect(this.output,t,e,i),this},s.default.AudioNode.prototype.chain=function(){var t=Array.from(arguments);return t.unshift(this),s.default.connectSeries.apply(void 0,t),this},s.default.AudioNode.prototype.fan=function(){for(var t=0;t<arguments.length;t++)this.connect(arguments[t]);return this},s.default.AudioNode.prototype.dispose=function(){return s.default.isDefined(this.input)&&(this.input instanceof AudioNode&&this.input.disconnect(),this.input=null),s.default.isDefined(this.output)&&(this.output instanceof AudioNode&&this.output.disconnect(),this.output=null),this._context=null,this};e.default=s.default.AudioNode},function(t,e,i){"use strict";i.r(e);var s=i(0);i(4),i(14),i(30),i(44),i(20),i(3);if(s.default.supported&&!s.default.global.AudioContext.prototype.createConstantSource){var n=function(t){this.context=t;for(var e=t.createBuffer(1,128,t.sampleRate),i=e.getChannelData(0),s=0;s<i.length;s++)i[s]=1;this._bufferSource=t.createBufferSource(),this._bufferSource.channelCount=1,this._bufferSource.channelCountMode="explicit",this._bufferSource.buffer=e,this._bufferSource.loop=!0;var n=this._output=t.createGain();this.offset=n.gain,this._bufferSource.connect(n)};n.prototype.start=function(t){return this._bufferSource.start(t),this},n.prototype.stop=function(t){return this._bufferSource.stop(t),this},n.prototype.connect=function(){return this._output.connect.apply(this._output,arguments),this},n.prototype.disconnect=function(){return this._output.disconnect.apply(this._output,arguments),this},AudioContext.prototype.createConstantSource=function(){return new n(this)},s.default.Context.prototype.createConstantSource=function(){return new n(this)}}s.default.Signal=function(){var t=s.default.defaults(arguments,["value","units"],s.default.Signal);s.default.Param.call(this,t),this._constantSource=this.context.createConstantSource(),this._constantSource.start(0),this._param=this._constantSource.offset,this.value=t.value,this.output=this._constantSource,this.input=this._param=this.output.offset},s.default.extend(s.default.Signal,s.default.Param),s.default.Signal.defaults={value:0,units:s.default.Type.Default,convert:!0},s.default.Signal.prototype.connect=s.default.SignalBase.prototype.connect,s.default.Signal.prototype.disconnect=s.default.SignalBase.prototype.disconnect,s.default.Signal.prototype.getValueAtTime=function(t){return this._param.getValueAtTime?this._param.getValueAtTime(t):s.default.Param.prototype.getValueAtTime.call(this,t)},s.default.Signal.prototype.dispose=function(){return s.default.Param.prototype.dispose.call(this),this._constantSource.stop(),this._constantSource.disconnect(),this._constantSource=null,this};e.default=s.default.Signal}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(14),i(4),i(1);s.default.Gain=function(){var t=s.default.defaults(arguments,["gain","units"],s.default.Gain);s.default.AudioNode.call(this,t),this.input=this.output=this._gainNode=this.context.createGain(),this.gain=new s.default.Param({param:this._gainNode.gain,units:t.units,value:t.gain,convert:t.convert}),this._readOnly("gain")},s.default.extend(s.default.Gain,s.default.AudioNode),s.default.Gain.defaults={gain:1,convert:!0},s.default.Gain.prototype.dispose=function(){s.default.AudioNode.prototype.dispose.call(this),this._gainNode.disconnect(),this._gainNode=null,this._writable("gain"),this.gain.dispose(),this.gain=null},e.default=s.default.Gain},function(t,e,i){"use strict";i.r(e);var s=i(0);i(63),i(46),i(45),i(20);s.default.Type={Default:"number",Time:"time",Frequency:"frequency",TransportTime:"transportTime",Ticks:"ticks",NormalRange:"normalRange",AudioRange:"audioRange",Decibels:"db",Interval:"interval",BPM:"bpm",Positive:"positive",Gain:"gain",Cents:"cents",Degrees:"degrees",MIDI:"midi",BarsBeatsSixteenths:"barsBeatsSixteenths",Samples:"samples",Hertz:"hertz",Note:"note",Milliseconds:"milliseconds",Seconds:"seconds",Notation:"notation"},s.default.prototype.toSeconds=function(t){return s.default.isNumber(t)?t:s.default.isUndef(t)?this.now():s.default.isString(t)||s.default.isObject(t)?new s.default.Time(t).toSeconds():t instanceof s.default.TimeBase?t.toSeconds():void 0},s.default.prototype.toFrequency=function(t){return s.default.isNumber(t)?t:s.default.isString(t)||s.default.isUndef(t)||s.default.isObject(t)?new s.default.Frequency(t).valueOf():t instanceof s.default.TimeBase?t.toFrequency():void 0},s.default.prototype.toTicks=function(t){return s.default.isNumber(t)||s.default.isString(t)||s.default.isObject(t)?new s.default.TransportTime(t).toTicks():s.default.isUndef(t)?s.default.Transport.ticks:t instanceof s.default.TimeBase?t.toTicks():void 0},e.default=s.default},function(t,e,i){"use strict";i.r(e);var s=i(0);i(14),i(3),i(30);s.default.Multiply=function(t){s.default.Signal.call(this),this.createInsOuts(2,0),this._mult=this.input[0]=this.output=new s.default.Gain,this._param=this.input[1]=this.output.gain,this.value=s.default.defaultArg(t,0)},s.default.extend(s.default.Multiply,s.default.Signal),s.default.Multiply.prototype.dispose=function(){return s.default.Signal.prototype.dispose.call(this),this._mult.dispose(),this._mult=null,this._param=null,this},e.default=s.default.Multiply},function(t,e,i){"use strict";i.r(e);var s=i(0);i(16),i(27),i(40),i(4),i(34),i(2),i(1);s.default.Source=function(t){t=s.default.defaultArg(t,s.default.Source.defaults),s.default.AudioNode.call(this),this._volume=this.output=new s.default.Volume(t.volume),this.volume=this._volume.volume,this._readOnly("volume"),this._state=new s.default.TimelineState(s.default.State.Stopped),this._state.memory=100,this._synced=!1,this._scheduled=[],this._volume.output.output.channelCount=2,this._volume.output.output.channelCountMode="explicit",this.mute=t.mute},s.default.extend(s.default.Source,s.default.AudioNode),s.default.Source.defaults={volume:0,mute:!1},Object.defineProperty(s.default.Source.prototype,"state",{get:function(){return this._synced?s.default.Transport.state===s.default.State.Started?this._state.getValueAtTime(s.default.Transport.seconds):s.default.State.Stopped:this._state.getValueAtTime(this.now())}}),Object.defineProperty(s.default.Source.prototype,"mute",{get:function(){return this._volume.mute},set:function(t){this._volume.mute=t}}),s.default.Source.prototype._start=s.default.noOp,s.default.Source.prototype.restart=s.default.noOp,s.default.Source.prototype._stop=s.default.noOp,s.default.Source.prototype.start=function(t,e,i){if(s.default.isUndef(t)&&this._synced?t=s.default.Transport.seconds:(t=this.toSeconds(t),t=Math.max(t,this.context.currentTime)),this._state.getValueAtTime(t)===s.default.State.Started)this._state.cancel(t),this._state.setStateAtTime(s.default.State.Started,t),this.restart(t,e,i);else if(this._state.setStateAtTime(s.default.State.Started,t),this._synced){var n=this._state.get(t);n.offset=s.default.defaultArg(e,0),n.duration=i;var o=s.default.Transport.schedule(function(t){this._start(t,e,i)}.bind(this),t);this._scheduled.push(o),s.default.Transport.state===s.default.State.Started&&this._syncedStart(this.now(),s.default.Transport.seconds)}else this._start.apply(this,arguments);return this},s.default.Source.prototype.stop=function(t){if(s.default.isUndef(t)&&this._synced?t=s.default.Transport.seconds:(t=this.toSeconds(t),t=Math.max(t,this.context.currentTime)),this._synced){var e=s.default.Transport.schedule(this._stop.bind(this),t);this._scheduled.push(e)}else this._stop.apply(this,arguments);return this._state.cancel(t),this._state.setStateAtTime(s.default.State.Stopped,t),this},s.default.Source.prototype.sync=function(){return this._synced=!0,this._syncedStart=function(t,e){if(e>0){var i=this._state.get(e);if(i&&i.state===s.default.State.Started&&i.time!==e){var n,o=e-this.toSeconds(i.time);i.duration&&(n=this.toSeconds(i.duration)-o),this._start(t,this.toSeconds(i.offset)+o,n)}}}.bind(this),this._syncedStop=function(t){var e=s.default.Transport.getSecondsAtTime(Math.max(t-this.sampleTime,0)
5189);this._state.getValueAtTime(e)===s.default.State.Started&&this._stop(t)}.bind(this),s.default.Transport.on("start loopStart",this._syncedStart),s.default.Transport.on("stop pause loopEnd",this._syncedStop),this},s.default.Source.prototype.unsync=function(){this._synced&&(s.default.Transport.off("stop pause loopEnd",this._syncedStop),s.default.Transport.off("start loopStart",this._syncedStart)),this._synced=!1;for(var t=0;t<this._scheduled.length;t++){var e=this._scheduled[t];s.default.Transport.clear(e)}return this._scheduled=[],this._state.cancel(0),this},s.default.Source.prototype.dispose=function(){s.default.AudioNode.prototype.dispose.call(this),this.unsync(),this._scheduled=null,this._writable("volume"),this._volume.dispose(),this._volume=null,this.volume=null,this._state.dispose(),this._state=null},e.default=s.default.Source},function(t,e,i){"use strict";i.r(e);var s=i(0);i(30),i(44);if(s.default.supported&&!s.default.global.AudioContext.prototype._native_createWaveShaper){var n=navigator.userAgent.toLowerCase();if(n.includes("safari")&&!n.includes("chrome")){var o=function(t){for(var e in this._internalNode=this.input=this.output=t._native_createWaveShaper(),this._curve=null,this._internalNode)this._defineProperty(this._internalNode,e)};Object.defineProperty(o.prototype,"curve",{get:function(){return this._curve},set:function(t){this._curve=t;var e=new Float32Array(t.length+1);e.set(t,1),e[0]=t[0],this._internalNode.curve=e}}),o.prototype._defineProperty=function(t,e){s.default.isUndef(this[e])&&Object.defineProperty(this,e,{get:function(){return"function"==typeof t[e]?t[e].bind(t):t[e]},set:function(i){t[e]=i}})},s.default.global.AudioContext.prototype._native_createWaveShaper=s.default.global.AudioContext.prototype.createWaveShaper,s.default.global.AudioContext.prototype.createWaveShaper=function(){return new o(this)}}}s.default.WaveShaper=function(t,e){s.default.SignalBase.call(this),this._shaper=this.input=this.output=this.context.createWaveShaper(),this._curve=null,Array.isArray(t)?this.curve=t:isFinite(t)||s.default.isUndef(t)?this._curve=new Float32Array(s.default.defaultArg(t,1024)):s.default.isFunction(t)&&(this._curve=new Float32Array(s.default.defaultArg(e,1024)),this.setMap(t))},s.default.extend(s.default.WaveShaper,s.default.SignalBase),s.default.WaveShaper.prototype.setMap=function(t){for(var e=new Array(this._curve.length),i=0,s=this._curve.length;i<s;i++){var n=i/(s-1)*2-1;e[i]=t(n,i)}return this.curve=e,this},Object.defineProperty(s.default.WaveShaper.prototype,"curve",{get:function(){return this._shaper.curve},set:function(t){this._curve=new Float32Array(t),this._shaper.curve=this._curve}}),Object.defineProperty(s.default.WaveShaper.prototype,"oversample",{get:function(){return this._shaper.oversample},set:function(t){if(!["none","2x","4x"].includes(t))throw new RangeError("Tone.WaveShaper: oversampling must be either 'none', '2x', or '4x'");this._shaper.oversample=t}}),s.default.WaveShaper.prototype.dispose=function(){return s.default.SignalBase.prototype.dispose.call(this),this._shaper.disconnect(),this._shaper=null,this._curve=null,this};e.default=s.default.WaveShaper},function(t,e,i){"use strict";i.r(e);var s=i(0);i(23),i(1);s.default.Effect=function(){var t=s.default.defaults(arguments,["wet"],s.default.Effect);s.default.AudioNode.call(this),this.createInsOuts(1,1),this._dryWet=new s.default.CrossFade(t.wet),this.wet=this._dryWet.fade,this.effectSend=new s.default.Gain,this.effectReturn=new s.default.Gain,s.default.connect(this.input,this._dryWet.a),s.default.connect(this.input,this.effectSend),this.effectReturn.connect(this._dryWet.b),this._dryWet.connect(this.output),this._readOnly(["wet"])},s.default.extend(s.default.Effect,s.default.AudioNode),s.default.Effect.defaults={wet:1},s.default.Effect.prototype.connectEffect=function(t){return this.effectSend.chain(t,this.effectReturn),this},s.default.Effect.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._dryWet.dispose(),this._dryWet=null,this.effectSend.dispose(),this.effectSend=null,this.effectReturn.dispose(),this.effectReturn=null,this._writable(["wet"]),this.wet=null,this},e.default=s.default.Effect}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(2),i(1);s.default.Filter=function(){var t=s.default.defaults(arguments,["frequency","type","rolloff"],s.default.Filter);s.default.AudioNode.call(this),this.createInsOuts(1,1),this._filters=[],this.frequency=new s.default.Signal(t.frequency,s.default.Type.Frequency),this.detune=new s.default.Signal(0,s.default.Type.Cents),this.gain=new s.default.Signal({value:t.gain,convert:!0,type:s.default.Type.Decibels}),this.Q=new s.default.Signal(t.Q),this._type=t.type,this._rolloff=t.rolloff,this.rolloff=t.rolloff,this._readOnly(["detune","frequency","gain","Q"])},s.default.extend(s.default.Filter,s.default.AudioNode),s.default.Filter.defaults={type:"lowpass",frequency:350,rolloff:-12,Q:1,gain:0},Object.defineProperty(s.default.Filter.prototype,"type",{get:function(){return this._type},set:function(t){if(-1===["lowpass","highpass","bandpass","lowshelf","highshelf","notch","allpass","peaking"].indexOf(t))throw new TypeError("Tone.Filter: invalid type "+t);this._type=t;for(var e=0;e<this._filters.length;e++)this._filters[e].type=t}}),Object.defineProperty(s.default.Filter.prototype,"rolloff",{get:function(){return this._rolloff},set:function(t){t=parseInt(t,10);var e=[-12,-24,-48,-96].indexOf(t);if(-1===e)throw new RangeError("Tone.Filter: rolloff can only be -12, -24, -48 or -96");e+=1,this._rolloff=t,this.input.disconnect();for(var i=0;i<this._filters.length;i++)this._filters[i].disconnect(),this._filters[i]=null;this._filters=new Array(e);for(var n=0;n<e;n++){var o=this.context.createBiquadFilter();o.type=this._type,this.frequency.connect(o.frequency),this.detune.connect(o.detune),this.Q.connect(o.Q),this.gain.connect(o.gain),this._filters[n]=o}var a=[this.input].concat(this._filters).concat([this.output]);s.default.connectSeries.apply(s.default,a)}}),s.default.Filter.prototype.getFrequencyResponse=function(t){t=s.default.defaultArg(t,128);for(var e=new Float32Array(t).map(function(){return 1}),i=new Float32Array(t),n=0;n<t;n++){var o=19980*Math.pow(n/t,2)+20;i[n]=o}var a=new Float32Array(t),r=new Float32Array(t);return this._filters.forEach(function(){var t=this.context.createBiquadFilter();t.type=this._type,t.Q.value=this.Q.value,t.frequency.value=this.frequency.value,t.gain.value=this.gain.value,t.getFrequencyResponse(i,a,r),a.forEach(function(t,i){e[i]*=t})}.bind(this)),e},s.default.Filter.prototype.dispose=function(){s.default.AudioNode.prototype.dispose.call(this);for(var t=0;t<this._filters.length;t++)this._filters[t].disconnect(),this._filters[t]=null;return this._filters=null,this._writable(["detune","frequency","gain","Q"]),this.frequency.dispose(),this.Q.dispose(),this.frequency=null,this.Q=null,this.detune.dispose(),this.detune=null,this.gain.dispose(),this.gain=null,this},e.default=s.default.Filter},function(t,e,i){"use strict";i.r(e);var s=i(0);i(1);s.default.Merge=function(t){t=s.default.defaultArg(t,2),s.default.AudioNode.call(this),this.createInsOuts(t,0),this._merger=this.output=this.context.createChannelMerger(t);for(var e=0;e<t;e++)this.input[e]=new s.default.Gain,this.input[e].connect(this._merger,0,e),this.input[e].channelCount=1,this.input[e].channelCountMode="explicit";this.left=this.input[0],this.right=this.input[1]},s.default.extend(s.default.Merge,s.default.AudioNode),s.default.Merge.prototype.dispose=function(){return this.input.forEach(function(t){t.dispose()}),s.default.AudioNode.prototype.dispose.call(this),this.left=null,this.right=null,this._merger.disconnect(),this._merger=null,this},e.default=s.default.Merge},function(t,e,i){"use strict";i.r(e);var s=i(0);i(35),i(4);s.default.supported&&(AudioBuffer.prototype.copyToChannel||(AudioBuffer.prototype.copyToChannel=function(t,e,i){var s=this.getChannelData(e);i=i||0;for(var n=0;n<s.length;n++)s[n+i]=t[n]},AudioBuffer.prototype.copyFromChannel=function(t,e,i){var s=this.getChannelData(e);i=i||0;for(var n=0;n<t.length;n++)t[n]=s[n+i]})),s.default.Buffer=function(){var t=s.default.defaults(arguments,["url","onload","onerror"],s.default.Buffer);s.default.call(this),this._buffer=null,this._reversed=t.reverse,this._xhr=null,this.onload=s.default.noOp,t.url instanceof AudioBuffer||t.url instanceof s.default.Buffer?(this.set(t.url),this.loaded||(this.onload=t.onload)):s.default.isString(t.url)&&this.load(t.url).then(t.onload).catch(t.onerror)},s.default.extend(s.default.Buffer),s.default.Buffer.defaults={url:void 0,reverse:!1,onload:s.default.noOp,onerror:s.default.noOp},s.default.Buffer.prototype.set=function(t){return t instanceof s.default.Buffer?t.loaded?this._buffer=t.get():t.onload=function(){this.set(t),this.onload(this)}.bind(this):this._buffer=t,this._reversed&&this._reverse(),this},s.default.Buffer.prototype.get=function(){return this._buffer}
5189,s.default.Buffer.prototype.load=function(t,e,i){return new Promise(function(n,o){this._xhr=s.default.Buffer.load(t,function(t){this._xhr=null,this.set(t),n(this),this.onload(this),e&&e(this)}.bind(this),function(t){this._xhr=null,o(t),i&&i(t)}.bind(this))}.bind(this))},s.default.Buffer.prototype.dispose=function(){return s.default.prototype.dispose.call(this),this._buffer=null,this._xhr&&(s.default.Buffer._removeFromDownloadQueue(this._xhr),this._xhr.abort(),this._xhr=null),this},Object.defineProperty(s.default.Buffer.prototype,"loaded",{get:function(){return this.length>0}}),Object.defineProperty(s.default.Buffer.prototype,"duration",{get:function(){return this._buffer?this._buffer.duration:0}}),Object.defineProperty(s.default.Buffer.prototype,"length",{get:function(){return this._buffer?this._buffer.length:0}}),Object.defineProperty(s.default.Buffer.prototype,"numberOfChannels",{get:function(){return this._buffer?this._buffer.numberOfChannels:0}}),s.default.Buffer.prototype.fromArray=function(t){var e=t[0].length>0,i=e?t.length:1,s=e?t[0].length:t.length,n=this.context.createBuffer(i,s,this.context.sampleRate);e||1!==i||(t=[t]);for(var o=0;o<i;o++)n.copyToChannel(t[o],o);return this._buffer=n,this},s.default.Buffer.prototype.toMono=function(t){if(s.default.isNumber(t))this.fromArray(this.toArray(t));else{for(var e=new Float32Array(this.length),i=this.numberOfChannels,n=0;n<i;n++)for(var o=this.toArray(n),a=0;a<o.length;a++)e[a]+=o[a];e=e.map(function(t){return t/i}),this.fromArray(e)}return this},s.default.Buffer.prototype.toArray=function(t){if(s.default.isNumber(t))return this.getChannelData(t);if(1===this.numberOfChannels)return this.toArray(0);for(var e=[],i=0;i<this.numberOfChannels;i++)e[i]=this.getChannelData(i);return e},s.default.Buffer.prototype.getChannelData=function(t){return this._buffer.getChannelData(t)},s.default.Buffer.prototype.slice=function(t,e){e=s.default.defaultArg(e,this.duration);for(var i=Math.floor(this.context.sampleRate*this.toSeconds(t)),n=Math.floor(this.context.sampleRate*this.toSeconds(e)),o=[],a=0;a<this.numberOfChannels;a++)o[a]=this.toArray(a).slice(i,n);return(new s.default.Buffer).fromArray(o)},s.default.Buffer.prototype._reverse=function(){if(this.loaded)for(var t=0;t<this.numberOfChannels;t++)Array.prototype.reverse.call(this.getChannelData(t));return this},Object.defineProperty(s.default.Buffer.prototype,"reverse",{get:function(){return this._reversed},set:function(t){this._reversed!==t&&(this._reversed=t,this._reverse())}}),s.default.Emitter.mixin(s.default.Buffer),s.default.Buffer._downloadQueue=[],s.default.Buffer.baseUrl="",s.default.Buffer.fromArray=function(t){return(new s.default.Buffer).fromArray(t)},s.default.Buffer.fromUrl=function(t){var e=new s.default.Buffer;return e.load(t).then(function(){return e})},s.default.Buffer._removeFromDownloadQueue=function(t){var e=s.default.Buffer._downloadQueue.indexOf(t);-1!==e&&s.default.Buffer._downloadQueue.splice(e,1)},s.default.Buffer.load=function(t,e,i){e=s.default.defaultArg(e,s.default.noOp);var n=t.match(/\[(.+\|?)+\]$/);if(n){for(var o=n[1].split("|"),a=o[0],r=0;r<o.length;r++)if(s.default.Buffer.supportsType(o[r])){a=o[r];break}t=t.replace(n[0],a)}function l(t){if(s.default.Buffer._removeFromDownloadQueue(d),s.default.Buffer.emit("error",t),!i)throw t;i(t)}function u(){for(var t=0,e=0;e<s.default.Buffer._downloadQueue.length;e++)t+=s.default.Buffer._downloadQueue[e].progress;s.default.Buffer.emit("progress",t/s.default.Buffer._downloadQueue.length)}var d=new XMLHttpRequest;return d.open("GET",s.default.Buffer.baseUrl+t,!0),d.responseType="arraybuffer",d.progress=0,s.default.Buffer._downloadQueue.push(d),d.addEventListener("load",function(){200===d.status?s.default.context.decodeAudioData(d.response).then(function(t){d.progress=1,u(),e(t),s.default.Buffer._removeFromDownloadQueue(d),0===s.default.Buffer._downloadQueue.length&&s.default.Buffer.emit("load")}).catch(function(){s.default.Buffer._removeFromDownloadQueue(d),l("Tone.Buffer: could not decode audio data: "+t)}):l("Tone.Buffer: could not locate file: "+t)}),d.addEventListener("error",l),d.addEventListener("progress",function(t){t.lengthComputable&&(d.progress=t.loaded/t.total*.95,u())}),d.send(),d},s.default.Buffer.cancelDownloads=function(){return s.default.Buffer._downloadQueue.slice().forEac
5189h(function(t){s.default.Buffer._removeFromDownloadQueue(t),t.abort()}),s.default.Buffer},s.default.Buffer.supportsType=function(t){var e=t.split(".");return e=e[e.length-1],""!==document.createElement("audio").canPlayType("audio/"+e)},s.default.loaded=function(){var t,e;function i(){s.default.Buffer.off("load",t),s.default.Buffer.off("error",e)}return new Promise(function(i,n){t=function(){i()},e=function(){n()},s.default.Buffer.on("load",t),s.default.Buffer.on("error",e)}).then(i).catch(function(t){throw i(),new Error(t)})};e.default=s.default.Buffer},function(t,e,i){"use strict";i.r(e);var s=i(0);i(17),i(26),i(1),i(2),i(22),i(4),i(28);s.default.LFO=function(){var t=s.default.defaults(arguments,["frequency","min","max"],s.default.LFO);s.default.AudioNode.call(this),this._oscillator=new s.default.Oscillator({frequency:t.frequency,type:t.type}),this.frequency=this._oscillator.frequency,this.amplitude=this._oscillator.volume,this.amplitude.units=s.default.Type.NormalRange,this.amplitude.value=t.amplitude,this._stoppedSignal=new s.default.Signal(0,s.default.Type.AudioRange),this._zeros=new s.default.Zero,this._stoppedValue=0,this._a2g=new s.default.AudioToGain,this._scaler=this.output=new s.default.Scale(t.min,t.max),this._units=s.default.Type.Default,this.units=t.units,this._oscillator.chain(this._a2g,this._scaler),this._zeros.connect(this._a2g),this._stoppedSignal.connect(this._a2g),this._readOnly(["amplitude","frequency"]),this.phase=t.phase},s.default.extend(s.default.LFO,s.default.AudioNode),s.default.LFO.defaults={type:"sine",min:0,max:1,phase:0,frequency:"4n",amplitude:1,units:s.default.Type.Default},s.default.LFO.prototype.start=function(t){return t=this.toSeconds(t),this._stoppedSignal.setValueAtTime(0,t),this._oscillator.start(t),this},s.default.LFO.prototype.stop=function(t){return t=this.toSeconds(t),this._stoppedSignal.setValueAtTime(this._stoppedValue,t),this._oscillator.stop(t),this},s.default.LFO.prototype.sync=function(){return this._oscillator.sync(),this._oscillator.syncFrequency(),this},s.default.LFO.prototype.unsync=function(){return this._oscillator.unsync(),this._oscillator.unsyncFrequency(),this},Object.defineProperty(s.default.LFO.prototype,"min",{get:function(){return this._toUnits(this._scaler.min)},set:function(t){t=this._fromUnits(t),this._scaler.min=t}}),Object.defineProperty(s.default.LFO.prototype,"max",{get:function(){return this._toUnits(this._scaler.max)},set:function(t){t=this._fromUnits(t),this._scaler.max=t}}),Object.defineProperty(s.default.LFO.prototype,"type",{get:function(){return this._oscillator.type},set:function(t){this._oscillator.type=t,this._stoppedValue=this._oscillator._getInitialValue(),this._stoppedSignal.value=this._stoppedValue}}),Object.defineProperty(s.default.LFO.prototype,"phase",{get:function(){return this._oscillator.phase},set:function(t){this._oscillator.phase=t,this._stoppedValue=this._oscillator._getInitialValue(),this._stoppedSignal.value=this._stoppedValue}}),Object.defineProperty(s.default.LFO.prototype,"units",{get:function(){return this._units},set:function(t){var e=this.min,i=this.max;this._units=t,this.min=e,this.max=i}}),Object.defineProperty(s.default.LFO.prototype,"state",{get:function(){return this._oscillator.state}}),s.default.LFO.prototype.connect=function(t){return t.constructor!==s.default.Signal&&t.constructor!==s.default.Param||(this.convert=t.convert,this.units=t.units),s.default.SignalBase.prototype.connect.apply(this,arguments),this},s.default.LFO.prototype._fromUnits=s.default.Param.prototype._fromUnits,s.default.LFO.prototype._toUnits=s.default.Param.prototype._toUnits,s.default.LFO.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._writable(["amplitude","frequency"]),this._oscillator.dispose(),this._oscillator=null,this._stoppedSignal.dispose(),this._stoppedSignal=null,this._zeros.dispose(),this._zeros=null,this._scaler.dispose(),this._scaler=null,this._a2g.dispose(),this._a2g=null,this.frequency=null,this.amplitude=null,this},e.default=s.default.LFO},function(t,e,i){"use strict";i.r(e);var s=i(0);i(29),i(90),i(2),i(3);s.default.Subtract=function(t){s.default.Signal.call(this),this.createInsOuts(2,0),this._sum=this.input[0]=this.output=new s.default.Gain,this._neg=new s.default.Negate,this._param=this.input[1]=new s.default.Signal(t),this._param.chain(this._neg,this._sum)},s.default.extend(s.default.Subtract,s.default.Signal),s.default.Subtract.prototype.dispose=function(){return s.default.Signal.prototype.dispose.call(this),this._neg.dispose(),this._neg=null,this._sum.disconnect(),this._sum=null,this},e.default=s.default.Subtract}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(4),i(1),i(24);s.default.Param=function(){var t=s.default.defaults(arguments,["param","units","convert"],s.default.Param);s.default.AudioNode.call(this,t),this._param=this.input=t.param,this.units=t.units,this.convert=t.convert,this.overridden=!1,this._events=new s.default.Timeline(1e3),s.default.isDefined(t.value)&&this._param&&this.setValueAtTime(t.value,0)},s.default.extend(s.default.Param,s.default.AudioNode),s.default.Param.defaults={units:s.default.Type.Default,convert:!0,param:void 0},Object.defineProperty(s.default.Param.prototype,"value",{get:function(){var t=this.now();return this._toUnits(this.getValueAtTime(t))},set:function(t){this._initialValue=this._fromUnits(t),this.cancelScheduledValues(this.now()),this.setValueAtTime(t,this.now())}}),Object.defineProperty(s.default.Param.prototype,"minValue",{get:function(){return this.units===s.default.Type.Time||this.units===s.default.Type.Frequency||this.units===s.default.Type.NormalRange||this.units===s.default.Type.Positive||this.units===s.default.Type.BPM?0:this.units===s.default.Type.AudioRange?-1:this.units===s.default.Type.Decibels?-1/0:this._param.minValue}}),Object.defineProperty(s.default.Param.prototype,"maxValue",{get:function(){return this.units===s.default.Type.NormalRange||this.units===s.default.Type.AudioRange?1:this._param.maxValue}}),s.default.Param.prototype._fromUnits=function(t){if(!this.convert&&!s.default.isUndef(this.convert)||this.overridden)return t;switch(this.units){case s.default.Type.Time:return this.toSeconds(t);case s.default.Type.Frequency:return this.toFrequency(t);case s.default.Type.Decibels:return s.default.dbToGain(t);case s.default.Type.NormalRange:return Math.min(Math.max(t,0),1);case s.default.Type.AudioRange:return Math.min(Math.max(t,-1),1);case s.default.Type.Positive:return Math.max(t,0);default:return t}},s.default.Param.prototype._toUnits=function(t){if(!this.convert&&!s.default.isUndef(this.convert))return t;switch(this.units){case s.default.Type.Decibels:return s.default.gainToDb(t);default:return t}},s.default.Param.prototype._minOutput=1e-5,s.default.Param.AutomationType={Linear:"linearRampToValueAtTime",Exponential:"exponentialRampToValueAtTime",Target:"setTargetAtTime",SetValue:"setValueAtTime",Cancel:"cancelScheduledValues"},s.default.Param.prototype.setValueAtTime=function(t,e){return e=this.toSeconds(e),t=this._fromUnits(t),this._events.add({type:s.default.Param.AutomationType.SetValue,value:t,time:e}),this.log(s.default.Param.AutomationType.SetValue,t,e),this._param.setValueAtTime(t,e),this},s.default.Param.prototype.getValueAtTime=function(t){t=this.toSeconds(t);var e=this._events.getAfter(t),i=this._events.get(t),n=s.default.defaultArg(this._initialValue,this._param.defaultValue),o=n;if(null===i)o=n;else if(i.type===s.default.Param.AutomationType.Target){var a,r=this._events.getBefore(i.time);a=null===r?n:r.value,o=this._exponentialApproach(i.time,a,i.value,i.constant,t)}else o=null===e?i.value:e.type===s.default.Param.AutomationType.Linear?this._linearInterpolate(i.time,i.value,e.time,e.value,t):e.type===s.default.Param.AutomationType.Exponential?this._exponentialInterpolate(i.time,i.value,e.time,e.value,t):i.value;return o},s.default.Param.prototype.setRampPoint=function(t){t=this.toSeconds(t);var e=this.getValueAtTime(t);return this.cancelAndHoldAtTime(t),0===e&&(e=this._minOutput),this.setValueAtTime(this._toUnits(e),t),this},s.default.Param.prototype.linearRampToValueAtTime=function(t,e){return t=this._fromUnits(t),e=this.toSeconds(e),this._events.add({type:s.default.Param.AutomationType.Linear,value:t,time:e}),this.log(s.default.Param.AutomationType.Linear,t,e),this._param.linearRampToValueAtTime(t,e),this},s.default.Param.prototype.exponentialRampToValueAtTime=function(t,e){return t=this._fromUnits(t),t=Math.max(this._minOutput,t),e=this.toSeconds(e),this._events.add({type:s.default.Param.AutomationType.Exponential,time:e,value:t}),this.log(s.default.Param.AutomationType.Exponential,t,e),this._param.exponentialRampToValueAtTime(t,e),this}
5189,s.default.Param.prototype.exponentialRampTo=function(t,e,i){return i=this.toSeconds(i),this.setRampPoint(i),this.exponentialRampToValueAtTime(t,i+this.toSeconds(e)),this},s.default.Param.prototype.linearRampTo=function(t,e,i){return i=this.toSeconds(i),this.setRampPoint(i),this.linearRampToValueAtTime(t,i+this.toSeconds(e)),this},s.default.Param.prototype.targetRampTo=function(t,e,i){return i=this.toSeconds(i),this.setRampPoint(i),this.exponentialApproachValueAtTime(t,i,e),this},s.default.Param.prototype.exponentialApproachValueAtTime=function(t,e,i){var s=Math.log(this.toSeconds(i)+1)/Math.log(200);return e=this.toSeconds(e),this.setTargetAtTime(t,e,s),this.cancelAndHoldAtTime(e+.9*i),this.linearRampToValueAtTime(t,e+i),this},s.default.Param.prototype.setTargetAtTime=function(t,e,i){if(t=this._fromUnits(t),i<=0)throw new Error("timeConstant must be greater than 0");return e=this.toSeconds(e),this._events.add({type:s.default.Param.AutomationType.Target,value:t,time:e,constant:i}),this.log(s.default.Param.AutomationType.Target,t,e,i),this._param.setTargetAtTime(t,e,i),this},s.default.Param.prototype.setValueCurveAtTime=function(t,e,i,n){n=s.default.defaultArg(n,1),i=this.toSeconds(i),e=this.toSeconds(e),this.setValueAtTime(t[0]*n,e);for(var o=i/(t.length-1),a=1;a<t.length;a++)this.linearRampToValueAtTime(t[a]*n,e+a*o);return this},s.default.Param.prototype.cancelScheduledValues=function(t){return t=this.toSeconds(t),this._events.cancel(t),this._param.cancelScheduledValues(t),this.log(s.default.Param.AutomationType.Cancel,t),this},s.default.Param.prototype.cancelAndHoldAtTime=function(t){t=this.toSeconds(t);var e=this.getValueAtTime(t);this.log("cancelAndHoldAtTime",t,"value="+e),this._param.cancelScheduledValues(t);var i=this._events.get(t),n=this._events.getAfter(t);return i&&i.time===t?n?this._events.cancel(n.time):this._events.cancel(t+this.sampleTime):n&&(this._events.cancel(n.time),n.type===s.default.Param.AutomationType.Linear?this.linearRampToValueAtTime(e,t):n.type===s.default.Param.AutomationType.Exponential&&this.exponentialRampToValueAtTime(e,t)),this._events.add({type:s.default.Param.AutomationType.SetValue,value:e,time:t}),this._param.setValueAtTime(e,t),this},s.default.Param.prototype.rampTo=function(t,e,i){return e=s.default.defaultArg(e,.1),this.units===s.default.Type.Frequency||this.units===s.default.Type.BPM||this.units===s.default.Type.Decibels?this.exponentialRampTo(t,e,i):this.linearRampTo(t,e,i),this},s.default.Param.prototype._exponentialApproach=function(t,e,i,s,n){return i+(e-i)*Math.exp(-(n-t)/s)},s.default.Param.prototype._linearInterpolate=function(t,e,i,s,n){return e+(n-t)/(i-t)*(s-e)},s.default.Param.prototype._exponentialInterpolate=function(t,e,i,s,n){return e*Math.pow(s/e,(n-t)/(i-t))},s.default.Param.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._param=null,this._events=null,this},e.default=s.default.Param},function(t,e,i){"use strict";i.r(e);var s=i(0);i(8),i(19),i(10),i(23);s.default.StereoEffect=function(){s.default.AudioNode.call(this);var t=s.default.defaults(arguments,["wet"],s.default.Effect);this.createInsOuts(1,1),this._dryWet=new s.default.CrossFade(t.wet),this.wet=this._dryWet.fade,this._split=new s.default.Split,this.effectSendL=this._split.left,this.effectSendR=this._split.right,this._merge=new s.default.Merge,this.effectReturnL=this._merge.left,this.effectReturnR=this._merge.right,s.default.connect(this.input,this._split),s.default.connect(this.input,this._dryWet,0,0),this._merge.connect(this._dryWet,0,1),this._dryWet.connect(this.output),this._readOnly(["wet"])},s.default.extend(s.default.StereoEffect,s.default.Effect),s.default.StereoEffect.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._dryWet.dispose(),this._dryWet=null,this._split.dispose(),this._split=null,this._merge.dispose(),this._merge=null,this.effectSendL=null,this.effectSendR=null,this.effectReturnL=null,this.effectReturnR=null,this._writable(["wet"]),this.wet=null,this},e.default=s.default.StereoEffect},function(t,e,i){"use strict";i.r(e);var s=i(0);i(83),i(4),i(24),i(35),i(3),i(81),i(80),i(56);s.default.Transport=function(){s.default.Emitter.call(this),s.default.getContext(function(){this.loop=!1,this._loopStart=0,this._loopEnd=0,this._ppq=n.defaults.PPQ,this._clock=new s.default.Clock({callback:this._processTick.bind(this),frequency:0}),this._bindClockEvents(),this.bpm=this._clock.frequency,this.bpm._toUnits=this._toUnits.bind(this),this.bpm._fromUnits=this._fromUnits.bind(this),this.bpm.units=s.default.Type.BPM,this.bpm.value=n.defaults.bpm,this._readOnly("bpm"),this._timeSignature=n.defaults.timeSignature,this._scheduledEvents={},this._timeline=new s.default.Timeline,this._repeatedEvents=new s.default.IntervalTimeline,this._syncedSignals=[],this._swingTicks=n.defaults.PPQ/2,this._swingAmou
5189nt=0,this.context.transport=this}.bind(this))},s.default.extend(s.default.Transport,s.default.Emitter),s.default.Transport.defaults={bpm:120,swing:0,swingSubdivision:"8n",timeSignature:4,loopStart:0,loopEnd:"4m",PPQ:192},s.default.Transport.prototype.isTransport=!0,s.default.Transport.prototype._processTick=function(t,e){if(this._swingAmount>0&&e%this._ppq!=0&&e%(2*this._swingTicks)!=0){var i=e%(2*this._swingTicks)/(2*this._swingTicks),n=Math.sin(i*Math.PI)*this._swingAmount;t+=s.default.Ticks(2*this._swingTicks/3).toSeconds()*n}this.loop&&e>=this._loopEnd&&(this.emit("loopEnd",t),this._clock.setTicksAtTime(this._loopStart,t),e=this._loopStart,this.emit("loopStart",t,this._clock.getSecondsAtTime(t)),this.emit("loop",t)),this._timeline.forEachAtTime(e,function(e){e.invoke(t)})},s.default.Transport.prototype.schedule=function(t,e){var i=new s.default.TransportEvent(this,{time:s.default.TransportTime(e),callback:t});return this._addEvent(i,this._timeline)},s.default.Transport.prototype.scheduleRepeat=function(t,e,i,n){var o=new s.default.TransportRepeatEvent(this,{callback:t,interval:s.default.Time(e),time:s.default.TransportTime(i),duration:s.default.Time(s.default.defaultArg(n,1/0))});return this._addEvent(o,this._repeatedEvents)},s.default.Transport.prototype.scheduleOnce=function(t,e){var i=new s.default.TransportEvent(this,{time:s.default.TransportTime(e),callback:t,once:!0});return this._addEvent(i,this._timeline)},s.default.Transport.prototype.clear=function(t){if(this._scheduledEvents.hasOwnProperty(t)){var e=this._scheduledEvents[t.toString()];e.timeline.remove(e.event),e.event.dispose(),delete this._scheduledEvents[t.toString()]}return this},s.default.Transport.prototype._addEvent=function(t,e){return this._scheduledEvents[t.id.toString()]={event:t,timeline:e},e.add(t),t.id},s.default.Transport.prototype.cancel=function(t){return t=s.default.defaultArg(t,0),t=this.toTicks(t),this._timeline.forEachFrom(t,function(t){this.clear(t.id)}.bind(this)),this._repeatedEvents.forEachFrom(t,function(t){this.clear(t.id)}.bind(this)),this},s.default.Transport.prototype._bindClockEvents=function(){this._clock.on("start",function(t,e){e=s.default.Ticks(e).toSeconds(),this.emit("start",t,e)}.bind(this)),this._clock.on("stop",function(t){this.emit("stop",t)}.bind(this)),this._clock.on("pause",function(t){this.emit("pause",t)}.bind(this))},Object.defineProperty(s.default.Transport.prototype,"state",{get:function(){return this._clock.getStateAtTime(this.now())}}),s.default.Transport.prototype.start=function(t,e){return s.default.isDefined(e)&&(e=this.toTicks(e)),this._clock.start(t,e),this},s.default.Transport.prototype.stop=function(t){return this._clock.stop(t),this},s.default.Transport.prototype.pause=function(t){return this._clock.pause(t),this},s.default.Transport.prototype.toggle=function(t){return t=this.toSeconds(t),this._clock.getStateAtTime(t)!==s.default.State.Started?this.start(t):this.stop(t),this},Object.defineProperty(s.default.Transport.prototype,"timeSignature",{get:function(){return this._timeSignature},set:function(t){s.default.isArray(t)&&(t=t[0]/t[1]*4),this._timeSignature=t}}),Object.defineProperty(s.default.Transport.prototype,"loopStart",{get:function(){return s.default.Ticks(this._loopStart).toSeconds()},set:function(t){this._loopStart=this.toTicks(t)}}),Object.defineProperty(s.default.Transport.prototype,"loopEnd",{get:function(){return s.default.Ticks(this._loopEnd).toSeconds()},set:function(t){this._loopEnd=this.toTicks(t)}}),s.default.Transport.prototype.setLoopPoints=function(t,e){return this.loopStart=t,this.loopEnd=e,this},Object.defineProperty(s.default.Transport.prototype,"swing",{get:function(){return this._swingAmou
5189nt},set:function(t){this._swingAmount=t}}),Object.defineProperty(s.default.Transport.prototype,"swingSubdivision",{get:function(){return s.default.Ticks(this._swingTicks).toNotation()},set:function(t){this._swingTicks=this.toTicks(t)}}),Object.defineProperty(s.default.Transport.prototype,"position",{get:function(){var t=this.now(),e=this._clock.getTicksAtTime(t);return s.default.Ticks(e).toBarsBeatsSixteenths()},set:function(t){var e=this.toTicks(t);this.ticks=e}}),Object.defineProperty(s.default.Transport.prototype,"seconds",{get:function(){return this._clock.seconds},set:function(t){var e=this.now(),i=this.bpm.timeToTicks(t,e);this.ticks=i}}),Object.defineProperty(s.default.Transport.prototype,"progress",{get:function(){if(this.loop){var t=this.now();return(this._clock.getTicksAtTime(t)-this._loopStart)/(this._loopEnd-this._loopStart)}return 0}}),Object.defineProperty(s.default.Transport.prototype,"ticks",{get:function(){return this._clock.ticks},set:function(t){if(this._clock.ticks!==t){var e=this.now();this.state===s.default.State.Started?(this.emit("stop",e),this._clock.setTicksAtTime(t,e),this.emit("start",e,this.seconds)):this._clock.setTicksAtTime(t,e)}}}),s.default.Transport.prototype.getTicksAtTime=function(t){return Math.round(this._clock.getTicksAtTime(t))},s.default.Transport.prototype.getSecondsAtTime=function(t){return this._clock.getSecondsAtTime(t)},Object.defineProperty(s.default.Transport.prototype,"PPQ",{get:function(){return this._ppq},set:function(t){var e=this.bpm.value;this._ppq=t,this.bpm.value=e}}),s.default.Transport.prototype._fromUnits=function(t){return 1/(60/t/this.PPQ)},s.default.Transport.prototype._toUnits=function(t){return t/this.PPQ*60},s.default.Transport.prototype.nextSubdivision=function(t){if(t=this.toTicks(t),this.state!==s.default.State.Started)return 0;var e=this.now(),i=t-this.getTicksAtTime(e)%t;return this._clock.nextTickTime(i,e)},s.default.Transport.prototype.syncSignal=function(t,e){if(!e){var i=this.now();e=0!==t.getValueAtTime(i)?t.getValueAtTime(i)/this.bpm.getValueAtTime(i):0}var n=new s.default.Gain(e);return this.bpm.chain(n,t._param),this._syncedSignals.push({ratio:n,signal:t,initial:t.value}),t.value=0,this},s.default.Transport.prototype.unsyncSignal=function(t){for(var e=this._syncedSignals.length-1;e>=0;e--){var i=this._syncedSignals[e];i.signal===t&&(i.ratio.dispose(),i.signal.value=i.initial,this._syncedSignals.splice(e,1))}return this},s.default.Transport.prototype.dispose=function(){return s.default.Emitter.prototype.dispose.call(this),this._clock.dispose(),this._clock=null,this._writable("bpm"),this.bpm=null,this._timeline.dispose(),this._timeline=null,this._repeatedEvents.dispose(),this._repeatedEvents=null,this};var n=s.default.Transport;s.default.Transport=new n,s.default.Context.on("init",function(t){t.transport&&t.transport.isTransport?s.default.Transport=t.transport:s.default.Transport=new n}),s.default.Context.on("close",function(t){t.transport&&t.transport.isTransport&&t.transport.dis
5189pose()}),e.default=s.default.Transport},function(t,e,i){"use strict";i.r(e);var s=i(0);i(2),i(6),i(16),i(64);s.default.Oscillator=function(){var t=s.default.defaults(arguments,["frequency","type"],s.default.Oscillator);s.default.Source.call(this,t),this._oscillator=null,this.frequency=new s.default.Signal(t.frequency,s.default.Type.Frequency),this.detune=new s.default.Signal(t.detune,s.default.Type.Cents),this._wave=null,this._partials=t.partials,this._partialCount=t.partialCount,this._phase=t.phase,this._type=t.type,t.partialCount&&t.type!==s.default.Oscillator.Type.Custom&&(this._type=this.baseType+t.partialCount.toString()),this.phase=this._phase,this._readOnly(["frequency","detune"])},s.default.extend(s.default.Oscillator,s.default.Source),s.default.Oscillator.defaults={type:"sine",frequency:440,detune:0,phase:0,partials:[],partialCount:0},s.default.Oscillator.Type={Sine:"sine",Triangle:"triangle",Sawtooth:"sawtooth",Square:"square",Custom:"custom"},s.default.Oscillator.prototype._start=function(t){this.log("start",t);var e=new s.default.OscillatorNode;this._oscillator=e,this._wave?this._oscillator.setPeriodicWave(this._wave):this._oscillator.type=this._type,this._oscillator.connect(this.output),this.frequency.connect(this._oscillator.frequency),this.detune.connect(this._oscillator.detune),t=this.toSeconds(t),this._oscillator.start(t)},s.default.Oscillator.prototype._stop=function(t){return this.log("stop",t),this._oscillator&&(t=this.toSeconds(t),this._oscillator.stop(t)),this},s.default.Oscillator.prototype.restart=function(t){return this._oscillator&&this._oscillator.cancelStop(),this._state.cancel(this.toSeconds(t)),this},s.default.Oscillator.prototype.syncFrequency=function(){return s.default.Transport.syncSignal(this.frequency),this},s.default.Oscillator.prototype.unsyncFrequency=function(){return s.default.Transport.unsyncSignal(this.frequency),this},Object.defineProperty(s.default.Oscillator.prototype,"type",{get:function(){return this._type},set:function(t){var e=[s.default.Oscillator.Type.Sine,s.default.Oscillator.Type.Square,s.default.Oscillator.Type.Triangle,s.default.Oscillator.Type.Sawtooth].includes(t);if(0===this._phase&&e)this._wave=null,this._partialCount=0,null!==this._oscillator&&(this._oscillator.type=t);else{var i=this._getRealImaginary(t,this._phase),n=this.context.createPeriodicWave(i[0],i[1]);this._wave=n,null!==this._oscillator&&this._oscillator.setPeriodicWave(this._wave)}this._type=t}}),Object.defineProperty(s.default.Oscillator.prototype,"baseType",{get:function(){return this._type.replace(this.partialCount,"")},set:function(t){this.partialCount&&this._type!==s.default.Oscillator.Type.Custom&&t!==s.default.Oscillator.Type.Custom?this.type=t+this.partialCount:this.type=t}}),Object.defineProperty(s.default.Oscillator.prototype,"partialCount",{get:function(){return this._partialCount},set:function(t){var e=this._type,i=/^(sine|triangle|square|sawtooth)(\d+)$/.exec(this._type);i&&(e=i[1]),this._type!==s.default.Oscillator.Type.Custom&&(this.type=0===t?e:e+t.toString())}}),s.default.Oscillator.prototype.get=function(){var t=s.default.prototype.get.apply(this,arguments);return t.type!==s.default.Oscillator.Type.Custom&&delete t.partials,t},s.default.Oscillator.prototype._getRealImaginary=function(t,e){var i=2048,n=new Float32Array(i),o=new Float32Array(i),a=1;if(t===s.default.Oscillator.Type.Custom)a=this._partials.length+1,this._partialCount=this._partials.length,i=a;else{var r=/^(sine|triangle|square|sawtooth)(\d+)$/.exec(t);r?(a=parseInt(r[2])+1,this._partialCount=parseInt(r[2]),t=r[1],i=a=Math.max(a,2)):this._partialCount=0,this._partials=[]}for(var l=1;l<i;++l){var u,d=2/(l*Math.PI);switch(t){case s.default.Oscillator.Type.Sine:u=l<=a?1:0,this._partials[l-1]=u;break;case s.default.Oscillator.Type.Square:u=1&l?2*d:0,this._partials[l-1]=u;break;case s.default.Oscillator.Type.Sawtooth:u=d*(1&l?1:-1),this._partials[l-1]=u;break;case s.default.Oscillator.Type.Triangle:u=1&l?d*d*2*(l-1>>1&1?-1:1):0,this._partials[l-1]=u;break;case s.default.Oscillator.Type.Custom:u=this._partials[l-1];break;default:throw new TypeError("Tone.Oscillator: invalid type: "+t)}0!==u?(n[l]=-u*Math.sin(e*l),o[l]=u*Math.cos(e*l)):(n[l]=0,o[l]=0)}return[n,o]}
5189,s.default.Oscillator.prototype._inverseFFT=function(t,e,i){for(var s=0,n=t.length,o=0;o<n;o++)s+=t[o]*Math.cos(o*i)+e[o]*Math.sin(o*i);return s},s.default.Oscillator.prototype._getInitialValue=function(){for(var t=this._getRealImaginary(this._type,0),e=t[0],i=t[1],s=0,n=2*Math.PI,o=0;o<8;o++)s=Math.max(this._inverseFFT(e,i,o/8*n),s);return-this._inverseFFT(e,i,this._phase)/s},Object.defineProperty(s.default.Oscillator.prototype,"partials",{get:function(){return this._partials},set:function(t){this._partials=t,this.type=s.default.Oscillator.Type.Custom}}),Object.defineProperty(s.default.Oscillator.prototype,"phase",{get:function(){return this._phase*(180/Math.PI)},set:function(t){this._phase=t*Math.PI/180,this.type=this._type}}),s.default.Oscillator.prototype.dispose=function(){return s.default.Source.prototype.dispose.call(this),null!==this._oscillator&&(this._oscillator.dispose(),this._oscillator=null),this._wave=null,this._writable(["frequency","detune"]),this.frequency.dispose(),this.frequency=null,this.detune.dispose(),this.detune=null,this._partials=null,this},e.default=s.default.Oscillator},function(t,e,i){"use strict";i.r(e);var s=i(0);i(14),i(1);s.default.Delay=function(){var t=s.default.defaults(arguments,["delayTime","maxDelay"],s.default.Delay);s.default.AudioNode.call(this,t),this._maxDelay=Math.max(this.toSeconds(t.maxDelay),this.toSeconds(t.delayTime)),this._delayNode=this.input=this.output=this.context.createDelay(this._maxDelay),this.delayTime=new s.default.Param({param:this._delayNode.delayTime,units:s.default.Type.Time,value:t.delayTime}),this._readOnly("delayTime")},s.default.extend(s.default.Delay,s.default.AudioNode),s.default.Delay.defaults={maxDelay:1,delayTime:0},Object.defineProperty(s.default.Delay.prototype,"maxDelay",{get:function(){return this._maxDelay}}),s.default.Delay.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._delayNode.disconnect(),this._delayNode=null,this._writable("delayTime"),this.delayTime=null,this},e.default=s.default.Delay},function(t,e,i){"use strict";i.r(e);var s=i(0);i(3),i(1);s.default.Split=function(t){t=s.default.defaultArg(t,2),s.default.AudioNode.call(this),this.createInsOuts(0,t),this._splitter=this.input=this.context.createChannelSplitter(t);for(var e=0;e<t;e++)this.output[e]=new s.default.Gain,s.default.connect(this._splitter,this.output[e],e,0),this.output[e].channelCount=1,this.output[e].channelCountMode="explicit";this.left=this.output[0],this.right=this.output[1]},s.default.extend(s.default.Split,s.default.AudioNode),s.default.Split.prototype.dispose=function(){return this.output.forEach(function(t){t.dispose()}),s.default.AudioNode.prototype.dispose.call(this),this._splitter.disconnect(),this.left=null,this.right=null,this._splitter=null,this},e.default=s.default.Split},function(t,e,i){"use strict";i.r(e);var s=i(0),n=(i(35),i(24),i(44),["baseLatency","destination","currentTime","sampleRate","listener","state"]),o=["suspend","close","resume","getOutputTimestamp","createMediaElementSource","createMediaStreamSource","createMediaStreamDestination","createBuffer","decodeAudioData","createBufferSource","createConstantSource","createGain","createDelay","createBiquadFilter","createIIRFilter","createWaveShaper","createPanner","createConvolver","createDynamicsCompressor","createAnalyser","createScriptProcessor","createStereoPanner","createOscillator","createPeriodicWave","createChannelSplitter","createChannelMerger","audioWorklet"];s.default.Context=function(){s.default.Emitter.call(this);var t=s.default.defaults(arguments,["context"],s.default.Context);if(!t.context&&(t.context=new s.default.global.AudioContext,!t.context))throw new Error("could not create AudioContext. Possibly too many AudioContexts running already.");for(this._context=t.context;this._context.rawContext;)this._context=this._context.rawContext;n.forEach(function(t){this._defineProperty(this._context,t)}.bind(this)),o.forEach(function(t){this._defineMethod(this._context,t)}.bind(this)),this._latencyHint=t.latencyHint,this._constants={},this.lookAhead=t.lookAhead,this._computedUpdateInterval=0,this._ticker=new a(this.emit.bind(this,"tick"),t.clockSource,t.updateInterval),this._timeouts=new s.default.Timeline,this._timeoutIds=0,this.on("tick",this._timeoutLoop.bind(this)),this._context.onstatechange=function(t){this.emit
5189("statechange",t)}.bind(this)},s.default.extend(s.default.Context,s.default.Emitter),s.default.Emitter.mixin(s.default.Context),s.default.Context.defaults={clockSource:"worker",latencyHint:"interactive",lookAhead:.1,updateInterval:.03},s.default.Context.prototype.isContext=!0,s.default.Context.prototype._defineProperty=function(t,e){s.default.isUndef(this[e])&&Object.defineProperty(this,e,{get:function(){return t[e]},set:function(i){t[e]=i}})},s.default.Context.prototype._defineMethod=function(t,e){s.default.isUndef(this[e])&&Object.defineProperty(this,e,{get:function(){return t[e].bind(t)}})},s.default.Context.prototype.now=function(){return this._context.currentTime+this.lookAhead},Object.defineProperty(s.default.Context.prototype,"destination",{get:function(){return this.master?this.master:this._context.destination}}),s.default.Context.prototype.resume=function(){return"suspended"===this._context.state&&this._context instanceof AudioContext?this._context.resume():Promise.resolve()},s.default.Context.prototype.close=function(){var t=Promise.resolve();return this!==s.default.global.TONE_AUDIO_CONTEXT&&(t=this.rawContext.close()),t.then(function(){s.default.Context.emit("close",this)}.bind(this))},s.default.Context.prototype.getConstant=function(t){if(this._constants[t])return this._constants[t];for(var e=this._context.createBuffer(1,128,this._context.sampleRate),i=e.getChannelData(0),s=0;s<i.length;s++)i[s]=t;var n=this._context.createBufferSource();return n.channelCount=1,n.channelCountMode="explicit",n.buffer=e,n.loop=!0,n.start(0),this._constants[t]=n,n},s.default.Context.prototype._timeoutLoop=function(){for(var t=this.now();this._timeouts&&this._timeouts.length&&this._timeouts.peek().time<=t;)this._timeouts.shift().callback()},s.default.Context.prototype.setTimeout=function(t,e){this._timeoutIds++;var i=this.now();return this._timeouts.add({callback:t,time:i+e,id:this._timeoutIds}),this._timeoutIds},s.default.Context.prototype.clearTimeout=function(t){return this._timeouts.forEach(function(e){e.id===t&&this.remove(e)}),this},Object.defineProperty(s.default.Context.prototype,"updateInterval",{get:function(){return this._ticker.updateInterval},set:function(t){this._ticker.updateInterval=t}}),Object.defineProperty(s.default.Context.prototype,"rawContext",{get:function(){return this._context}}),Object.defineProperty(s.default.Context.prototype,"clockSource",{get:function(){return this._ticker.type},set:function(t){this._ticker.type=t}}),Object.defineProperty(s.default.Context.prototype,"latencyHint",{get:function(){return this._latencyHint},set:function(t){var e=t;if(this._latencyHint=t,s.default.isString(t))switch(t){case"interactive":e=.1,this._context.latencyHint=t;break;case"playback":e=.8,this._context.latencyHint=t;break;case"balanced":e=.25,this._context.latencyHint=t;break;case"fastest":this._context.latencyHint="interactive",e=.01}this.lookAhead=e,this.updateInterval=e/3}}),s.default.Context.prototype.dispose=function(){return this.close().then(function(){for(var t in s.default.Emitter.prototype.dispose.call(this),this._ticker.dispose(),this._ticker=null,this._timeouts.dispose(),this._timeouts=null,this._constants)this._constants[t].disconnect();this._constants=null}.bind(this))};var a=function(t,e,i){this._type=e,this._updateInterval=i,this._callback=s.default.defaultArg(t,s.default.noOp),this._createClock()};if(a.Type={Worker:"worker",Timeout:"timeout",Offline:"offline"},a.prototype._createWorker=function(){s.default.global.URL=s.default.global.URL||s.default.global.webkitURL;var t=new Blob(["var timeoutTime = "+(1e3*this._updateInterval).toFixed(1)+";self.onmessage = function(msg){\ttimeoutTime = parseInt(msg.data);};function tick(){\tsetTimeout(tick, timeoutTime);\tself.postMessage('tick');}tick();"]),e=URL.createObjectURL(t),i=new Worker(e);i.onmessage=this._callback.bind(this),this._worker=i},a.prototype._createTimeout=function(){this._timeout=setTimeout(function(){this._createTimeout(),this._callback()}.bind(this),1e3*this._updateInterval)},a.prototype._createClock=function(){if(this._type===a.Type.Worker)try{this._createWorker()}catch(t){this._type=a.Type.Timeout,this._createClock()}else this._type===a.Type.Timeout&&this._createTimeout()},Object.defineProperty(a.prototype,"updateInterval",{get:function(){return this._updateInterval},set:function(t){this._updateInterval=Math.max(t,128/44100),this._type===a.Type.Worker&&this._worker.postMessage(Math.max(1e3*t,1))}}),Object.defineProperty(a.prototype,"type",{get:function(){return this._type},set:function(t){this._disposeClock(),this._type=t,this._createClock()}}),a.prototype._disposeClock=function(){this._timeout&&(clearTimeout(this._timeout),this._timeout=null),this._worker&&(this._worker.terminate(),this._worker.onmessage=null,this._worker=null)},a.prototype.dispose=function(){this._disposeClock(),this._callback=null},s.default.supported&&!s.default.initialized){if(s.default.global.TONE_AUDIO_CONTEXT||(s.default.global.TONE_AUDIO_CONTEXT=new s.default.Context),s.default.context=s.default.global.TONE_AUDIO_CONTEXT,!s.default.global.TONE_SILENCE_LOGGING){var r="v";"dev"===s.default.version&&(r="");var l=" * Tone.js "+r+s.default.version+" * ";console.log("%c"+l,"background: #000; color: #fff")}}else s.default.supported||s.default.global.TONE_SILENCE_LOGGING||console.warn("This browser does not support Tone.js");e.default=s.default.Context}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(4),i(40);s.default.Instrument=function(t){t=s.default.defaultArg(t,s.default.Instrument.defaults),s.default.AudioNode.call(this),this._volume=this.output=new s.default.Volume(t.volume),this.volume=this._volume.volume,this._readOnly("volume"),this._scheduledEvents=[]},s.default.extend(s.default.Instrument,s.default.AudioNode),s.default.Instrument.defaults={volume:0},s.default.Instrument.prototype.triggerAttack=s.default.noOp,s.default.Instrument.prototype.triggerRelease=s.default.noOp,s.default.Instrument.prototype.sync=function(){return this._syncMethod("triggerAttack",1),this._syncMethod("triggerRelease",0),this},s.default.Instrument.prototype._syncMethod=function(t,e){var i=this["_original_"+t]=this[t];this[t]=function(){var t=Array.prototype.slice.call(arguments),n=t[e],o=s.default.Transport.schedule(function(s){t[e]=s,i.apply(this,t)}.bind(this),n);this._scheduledEvents.push(o)}.bind(this)},s.default.Instrument.prototype.unsync=function(){return this._scheduledEvents.forEach(function(t){s.default.Transport.clear(t)}),this._scheduledEvents=[],this._original_triggerAttack&&(this.triggerAttack=this._original_triggerAttack,this.triggerRelease=this._original_triggerRelease),this},s.default.Instrument.prototype.triggerAttackRelease=function(t,e,i,s){return i=this.toSeconds(i),e=this.toSeconds(e),this.triggerAttack(t,i,s),this.triggerRelease(i+e),this},s.default.Instrument.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._volume.dispose(),this._volume=null,this._writable(["volume"]),this.volume=null,this.unsync(),this._scheduledEvents=null,this},e.default=s.default.Instrument},function(t,e,i){"use strict";i.r(e);var s=i(0);i(7),i(2);s.default.AudioToGain=function(){s.default.SignalBase.call(this),this._norm=this.input=this.output=new s.default.WaveShaper(function(t){return(t+1)/2})},s.default.extend(s.default.AudioToGain,s.default.SignalBase),s.default.AudioToGain.prototype.dispose=function(){return s.default.SignalBase.prototype.dispose.call(this),this._norm.dispose(),this._norm=null,this},e.default=s.default.AudioToGain},function(t,e,i){"use strict";i.r(e);var s=i(0);i(2),i(13),i(89),i(3),i(1);s.default.CrossFade=function(t){s.default.AudioNode.call(this),this.createInsOuts(2,1),this.a=this.input[0]=new s.default.Gain,this.b=this.input[1]=new s.default.Gain,this.fade=new s.default.Signal(s.default.defaultArg(t,.5),s.default.Type.NormalRange),this._equalPowerA=new s.default.EqualPowerGain,this._equalPowerB=new s.default.EqualPowerGain,this._one=this.context.getConstant(1),this._invert=new s.default.Subtract,this.a.connect(this.output),this.b.connect(this.output),this.fade.chain(this._equalPowerB,this.b.gain),s.default.connect(this._one,this._invert,0,0),this.fade.connect(this._invert,0,1),this._invert.chain(this._equalPowerA,this.a.gain),this._readOnly("fade")},s.default.extend(s.default.CrossFade,s.default.AudioNode),s.default.CrossFade.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._writable("fade"),this._equalPowerA.dispose(),this._equalPowerA=null,this._equalPowerB.dispose(),this._equalPowerB=null,this.fade.dispose(),this.fade=null,this._invert.dispose(),this._invert=null,this._one=null,this.a.dispose(),this.a=null,this.b.dispose(),this.b=null,this},e.default=s.default.CrossFade},function(t,e,i){"use strict";i.r(e);var s=i(0);s.default.Timeline=function(){var t=s.default.defaults(arguments,["memory"],s.default.Timeline);s.default.call(this),this._timeline=[],this.memory=t.memory},s.default.extend(s.default.Timeline),s.default.Timeline.defaults={memory:1/0},Object.defineProperty(s.default.Timeline.prototype,"length",{get:function(){return this._timeline.length}}),s.default.Timeline.prototype.add=function(t){if(s.default.isUndef(t.time))throw new Error("Tone.Timeline: events must have a time attribute");t.time=t.time.valueOf();var e=this._search(t.time);if(this._timeline.splice(e+1,0,t),this.length>this.memory){var i=this.length-this.memory;this._timeline.splice(0,i)}return this},s.default.Timeline.prototype.remove=function(t){var e=this._timeline.indexOf(t);return-1!==e&&this._timeline.splice(e,1),this},s.default.Timeline.prototype.get=function(t,e){e=s.default.defaultArg(e,"t
5189ime");var i=this._search(t,e);return-1!==i?this._timeline[i]:null},s.default.Timeline.prototype.peek=function(){return this._timeline[0]},s.default.Timeline.prototype.shift=function(){return this._timeline.shift()},s.default.Timeline.prototype.getAfter=function(t,e){e=s.default.defaultArg(e,"time");var i=this._search(t,e);return i+1<this._timeline.length?this._timeline[i+1]:null},s.default.Timeline.prototype.getBefore=function(t,e){e=s.default.defaultArg(e,"time");var i=this._timeline.length;if(i>0&&this._timeline[i-1][e]<t)return this._timeline[i-1];var n=this._search(t,e);return n-1>=0?this._timeline[n-1]:null},s.default.Timeline.prototype.cancel=function(t){if(this._timeline.length>1){var e=this._search(t);if(e>=0)if(this._timeline[e].time===t){for(var i=e;i>=0&&this._timeline[i].time===t;i--)e=i;this._timeline=this._timeline.slice(0,e)}else this._timeline=this._timeline.slice(0,e+1);else this._timeline=[]}else 1===this._timeline.length&&this._timeline[0].time>=t&&(this._timeline=[]);return this},s.default.Timeline.prototype.cancelBefore=function(t){var e=this._search(t);return e>=0&&(this._timeline=this._timeline.slice(e+1)),this},s.default.Timeline.prototype.previousEvent=function(t){var e=this._timeline.indexOf(t);return e>0?this._timeline[e-1]:null},s.default.Timeline.prototype._search=function(t,e){if(0===this._timeline.length)return-1;e=s.default.defaultArg(e,"time");var i=0,n=this._timeline.length,o=n;if(n>0&&this._timeline[n-1][e]<=t)return n-1;for(;i<o;){var a=Math.floor(i+(o-i)/2),r=this._timeline[a],l=this._timeline[a+1];if(r[e]===t){for(var u=a;u<this._timeline.length;u++){this._timeline[u][e]===t&&(a=u)}return a}if(r[e]<t&&l[e]>t)return a;r[e]>t?o=a:i=a+1}return-1},s.default.Timeline.prototype._iterate=function(t,e,i){e=s.default.defaultArg(e,0),i=s.default.defaultArg(i,this._timeline.length-1),this._timeline.slice(e,i+1).forEach(function(e){t.call(this,e)}.bind(this))},s.default.Timeline.prototype.forEach=function(t){return this._iterate(t),this},s.default.Timeline.prototype.forEachBefore=function(t,e){var i=this._search(t);return-1!==i&&this._iterate(e,0,i),this},s.default.Timeline.prototype.forEachAfter=function(t,e){var i=this._search(t);return this._iterate(e,i+1),this},s.default.Timeline.prototype.forEachBetween=function(t,e,i){var s=this._search(t),n=this._search(e);return-1!==s&&-1!==n?(this._timeline[s].time!==t&&(s+=1),this._timeline[n].time===e&&(n-=1),this._iterate(i,s,n)):-1===s&&this._iterate(i,0,n),this},s.default.Timeline.prototype.forEachFrom=function(t,e){for(var i=this._search(t);i>=0&&this._timeline[i].time>=t;)i--;return this._iterate(e,i+1),this},s.default.Timeline.prototype.forEachAtTime=function(t,e){var i=this._search(t);return-1!==i&&this._iterate(function(i){i.time===t&&e.call(this,i)},0,i),this},s.default.Timeline.prototype.dispose=function(){return s.default.prototype.dispose.call(this),this._timeline=null,this},e.default=s.default.Timeline},function(t,e,i){"use strict";i.r(e);var s=i(0);i(21),i(2);s.default.Monophonic=function(t){t=s.default.defaultArg(t,s.default.Monophonic.defaults),s.default.Instrument.call(this,t),this.portamento=t.portamento},s.default.extend(s.default.Monophonic,s.default.Instrument),s.default.Monophonic.defaults={portamento:0},s.default.Monophonic.prototype.triggerAttack=function(t,e,i){return this.log("triggerAttack",t,e,i),e=this.toSeconds(e),this._triggerEnvelopeAttack(e,i),this.setNote(t,e),this},s.default.Monophonic.prototype.triggerRelease=function(t){return this.log("triggerRelease",t),t=this.toSeconds(t),this._triggerEnvelopeRelease(t),this},s.default.Monophonic.prototype._triggerEnvelopeAttack=function(){},s.default.Monophonic.prototype._triggerEnvelopeRelease=function(){},s.default.Monophonic.prototype.getLevelAtTime=function(t){return t=this.toSeconds(t),this.envelope.getValueAtTime(t)},s.default.Monophonic.prototype.setNote=function(t,e){if(e=this.toSeconds(e),this.portamento>0&&this.getLevelAtTime(e)>.05){var i=this.toSeconds(this.portamento);this.frequency.exponentialRampTo(t,i,e)}else this.frequency.setValueAtTime(t,e);return this},e.default=s.default.Monophonic}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(29),i(5),i(2);s.default.Scale=function(t,e){s.default.SignalBase.call(this),this._outputMin=s.default.defaultArg(t,0),this._outputMax=s.default.defaultArg(e,1),this._scale=this.input=new s.default.Multiply(1),this._add=this.output=new s.default.Add(0),this._scale.connect(this._add),this._setRange()},s.default.extend(s.default.Scale,s.default.SignalBase),Object.defineProperty(s.default.Scale.prototype,"min",{get:function(){return this._outputMin},set:function(t){this._outputMin=t,this._setRange()}}),Object.defineProperty(s.default.Scale.prototype,"max",{get:function(){return this._outputMax},set:function(t){this._outputMax=t,this._setRange()}}),s.default.Scale.prototype._setRange=function(){this._add.value=this._outputMin,this._scale.value=this._outputMax-this._outputMin},s.default.Scale.prototype.dispose=function(){return s.default.SignalBase.prototype.dispose.call(this),this._add.dispose(),this._add=null,this._scale.dispose(),this._scale=null,this},e.default=s.default.Scale},function(t,e,i){"use strict";i.r(e);var s=i(0);i(2),i(3),i(1);s.default.Volume=function(){var t=s.default.defaults(arguments,["volume"],s.default.Volume);s.default.AudioNode.call(this,t),this.output=this.input=new s.default.Gain(t.volume,s.default.Type.Decibels),this._unmutedVolume=t.volume,this.volume=this.output.gain,this._readOnly("volume"),this.mute=t.mute},s.default.extend(s.default.Volume,s.default.AudioNode),s.default.Volume.defaults={volume:0,mute:!1},Object.defineProperty(s.default.Volume.prototype,"mute",{get:function(){return this.volume.value===-1/0},set:function(t){!this.mute&&t?(this._unmutedVolume=this.volume.value,this.volume.value=-1/0):this.mute&&!t&&(this.volume.value=this._unmutedVolume)}}),s.default.Volume.prototype.dispose=function(){return this.input.dispose(),s.default.AudioNode.prototype.dispose.call(this),this._writable("volume"),this.volume.dispose(),this.volume=null,this},e.default=s.default.Volume},function(t,e,i){"use strict";i.r(e);var s=i(0);i(3),i(30);s.default.Zero=function(){s.default.SignalBase.call(this),this._gain=this.input=this.output=new s.default.Gain,s.default.connect(this.context.getConstant(0),this._gain)},s.default.extend(s.default.Zero,s.default.SignalBase),s.default.Zero.prototype.dispose=function(){return s.default.SignalBase.prototype.dispose.call(this),this._gain.dispose(),this._gain=null,this},e.default=s.default.Zero},function(t,e,i){"use strict";i.r(e);var s=i(0);i(2),i(3);s.default.Add=function(t){s.default.Signal.call(this),this.createInsOuts(2,0),this._sum=this.input[0]=this.input[1]=this.output=new s.default.Gain,this._param=this.input[1]=new s.default.Signal(t),this._param.connect(this._sum)},s.default.extend(s.default.Add,s.default.Signal),s.default.Add.prototype.dispose=function(){return s.default.Signal.prototype.dispose.call(this),this._sum.dispose(),this._sum=null,this},e.default=s.default.Add},function(t,e,i){"use strict";i.r(e);var s=i(0);i(1);s.default.SignalBase=function(){s.default.AudioNode.call(this)},s.default.extend(s.default.SignalBase,s.default.AudioNode),s.default.SignalBase.prototype.connect=function(t,e,i){return s.default.Signal&&s.default.Signal===t.constructor||s.default.Param&&s.default.Param===t.constructor?(t._param.cancelScheduledValues(0),t._param.setValueAtTime(0,0),t.overridden=!0):t instanceof AudioParam&&(t.cancelScheduledValues(0),t.setValueAtTime(0,0)),s.default.AudioNode.prototype.connect.call(this,t,e,i),this},e.default=s.default.SignalBase},function(t,e,i){"use strict";i.r(e);var s=i(0);i(47),i(3);s.default.AmplitudeEnvelope=function(){s.default.Envelope.apply(this,arguments),this.input=this.output=new s.default.Gain,this._sig.connect(this.output.gain)},s.default.extend(s.default.AmplitudeEnvelope,s.default.Envelope),s.default.AmplitudeEnvelope.prototype.dispose=function(){return s.default.Envelope.prototype.dispose.call(this),this},e.default=s.default.AmplitudeEnvelope},function(t,e,i){"use strict";i.r(e);var s=i(0);i(11),i(6),i(3),i(1);s.default.BufferSource=function(){var t=s.default.defaults(arguments,["buffer","onload"],s.default.BufferSource);s.default.AudioNode.call(this,t),this.onended=t.onended,this._startTime=-1,this._sourceStarted=!1,this._sourceStopped=!1,this._stopTime=-1,this._gainNode=this.output=new s.default.Gain(0),this._source=this.context.createBufferSource(),s.default.connect(this._source,this._gainNode),this._source.onended=this._onended.bind(this),this._buffer=new s.default.Buffer(t.buffer,t.onload),this.playbackRate=new s.default.Param({param:this._source.playbackRate,units:s.default.Type.Positive,value:t.playbackRate}),this.fadeIn=t.fadeIn,this.fadeOut=t.fadeOut,this.curve=t.curve,this._onendedTimeout=-1,this.loop=t.loop,this.loopStart=t.loopStart,this.loopEnd=t.loopEnd},s.default.extend(s.default.BufferSource,s.default.AudioNode),s.default.BufferSource.defaults={one
5189nded:s.default.noOp,onload:s.default.noOp,loop:!1,loopStart:0,loopEnd:0,fadeIn:0,fadeOut:0,curve:"linear",playbackRate:1},Object.defineProperty(s.default.BufferSource.prototype,"state",{get:function(){return this.getStateAtTime(this.now())}}),s.default.BufferSource.prototype.getStateAtTime=function(t){return t=this.toSeconds(t),-1!==this._startTime&&this._startTime<=t&&(-1===this._stopTime||t<this._stopTime)&&!this._sourceStopped?s.default.State.Started:s.default.State.Stopped},s.default.BufferSource.prototype.start=function(t,e,i,n){this.log("start",t,e,i,n),this.assert(-1===this._startTime,"can only be started once"),this.assert(this.buffer.loaded,"buffer is either not set or not loaded"),this.assert(!this._sourceStopped,"source is already stopped"),t=this.toSeconds(t),e=this.loop?s.default.defaultArg(e,this.loopStart):s.default.defaultArg(e,0),e=this.toSeconds(e),e=Math.max(e,0),n=s.default.defaultArg(n,1);var o=this.toSeconds(this.fadeIn);if(o>0?(this._gainNode.gain.setValueAtTime(0,t),"linear"===this.curve?this._gainNode.gain.linearRampToValueAtTime(n,t+o):this._gainNode.gain.exponentialApproachValueAtTime(n,t,o)):this._gainNode.gain.setValueAtTime(n,t),this._startTime=t,s.default.isDefined(i)){var a=this.toSeconds(i);a=Math.max(a,0),this.stop(t+a)}if(this.loop){var r=this.loopEnd||this.buffer.duration,l=this.loopStart;e>=r&&(e=(e-l)%(r-l)+l)}return this._source.buffer=this.buffer.get(),this._source.loopEnd=this.loopEnd||this.buffer.duration,e<this.buffer.duration&&(this._sourceStarted=!0,this._source.start(t,e)),this},s.default.BufferSource.prototype.stop=function(t){this.log("stop",t),this.assert(this.buffer.loaded,"buffer is either not set or not loaded"),this.assert(!this._sourceStopped,"source is already stopped"),t=this.toSeconds(t),-1!==this._stopTime&&this.cancelStop();var e=this.toSeconds(this.fadeOut);return this._stopTime=t+e,e>0?"linear"===this.curve?this._gainNode.gain.linearRampTo(0,e,t):this._gainNode.gain.targetRampTo(0,e,t):(this._gainNode.gain.cancelAndHoldAtTime(t),this._gainNode.gain.setValueAtTime(0,t)),s.default.context.clearTimeout(this._onendedTimeout),this._onendedTimeout=s.default.context.setTimeout(this._onended.bind(this),this._stopTime-this.now()),this},s.default.BufferSource.prototype.cancelStop=function(){if(-1!==this._startTime&&!this._sourceStopped){var t=this.toSeconds(this.fadeIn);this._gainNode.gain.cancelScheduledValues(this._startTime+t+this.sampleTime),this.context.clearTimeout(this._onendedTimeout),this._stopTime=-1}return this},s.default.BufferSource.prototype._onended=function(){if(!this._sourceStopped){this._sourceStopped=!0;var t="exponential"===this.curve?2*this.fadeOut:0;this._sourceStarted&&-1!==this._stopTime&&this._source.stop(this._stopTime+t),this.onended(this),setTimeout(function(){this._source&&(this._source.disconnect(),this._gainNode.disconnect())}.bind(this),1e3*t+100)}},Object.defineProperty(s.default.BufferSource.prototype,"loopStart",{get:function(){return this._source.loopStart},set:function(t){this._source.loopStart=this.toSeconds(t)}}),Object.defineProperty(s.default.BufferSource.prototype,"loopEnd",{get:function(){return this._source.loopEnd},set:function(t){this._source.loopEnd=this.toSeconds(t)}}),Object.defineProperty(s.default.BufferSource.prototype,"buffer",{get:function(){return this._buffer},set:function(t){this._buffer.set(t)}}),Object.defineProperty(s.default.BufferSource.prototype,"loop",{get:function(){return this._source.loop},set:function(t){this._source.loop=t,this.cancelStop()}}),s.default.BufferSource.prototype.dispose=function(){return this._wasDisposed||(this._wasDisposed=!0,s.default.AudioNode.prototype.dispose.call(this),this.onended=null,this._source.onended=null,this._source.disconnect(),this._source=null,this._gainNode.dis
5189pose(),this._gainNode=null,this._buffer.dispose(),this._buffer=null,this._startTime=-1,this.playbackRate=null,s.default.context.clearTimeout(this._onendedTimeout)),this},e.default=s.default.BufferSource},function(t,e,i){"use strict";i.r(e);var s=i(0);i(8),i(2),i(5),i(3);s.default.FeedbackEffect=function(){var t=s.default.defaults(arguments,["feedback"],s.default.FeedbackEffect);s.default.Effect.call(this,t),this._feedbackGain=new s.default.Gain(t.feedback,s.default.Type.NormalRange),this.feedback=this._feedbackGain.gain,this.effectReturn.chain(this._feedbackGain,this.effectSend),this._readOnly(["feedback"])},s.default.extend(s.default.FeedbackEffect,s.default.Effect),s.default.FeedbackEffect.defaults={feedback:.125},s.default.FeedbackEffect.prototype.dispose=function(){return s.default.Effect.prototype.dispose.call(this),this._writable(["feedback"]),this._feedbackGain.dispose(),this._feedbackGain=null,this.feedback=null,this},e.default=s.default.FeedbackEffect},function(t,e,i){"use strict";i.r(e);var s=i(0);i(24),i(4);s.default.TimelineState=function(t){s.default.Timeline.call(this),this._initial=t},s.default.extend(s.default.TimelineState,s.default.Timeline),s.default.TimelineState.prototype.getValueAtTime=function(t){var e=this.get(t);return null!==e?e.state:this._initial},s.default.TimelineState.prototype.setStateAtTime=function(t,e){return this.add({state:t,time:e}),this},s.default.TimelineState.prototype.getLastState=function(t,e){e=this.toSeconds(e);for(var i=this._search(e);i>=0;i--){var s=this._timeline[i];if(s.state===t)return s}},s.default.TimelineState.prototype.getNextState=function(t,e){e=this.toSeconds(e);var i=this._search(e);if(-1!==i)for(var s=i;s<this._timeline.length;s++){var n=this._timeline[s];if(n.state===t)return n}},e.default=s.default.TimelineState},function(t,e,i){"use strict";i.r(e);var s=i(0);s.default.Emitter=function(){s.default.call(this),this._events={}},s.default.extend(s.default.Emitter),s.default.Emitter.prototype.on=function(t,e){for(var i=t.split(/\W+/),s=0;s<i.length;s++){var n=i[s];this._events.hasOwnProperty(n)||(this._events[n]=[]),this._events[n].push(e)}return this},s.default.Emitter.prototype.once=function(t,e){var i=function(){e.apply(this,arguments),this.off(t,i)}.bind(this);return this.on(t,i),this},s.default.Emitter.prototype.off=function(t,e){for(var i=t.split(/\W+/),n=0;n<i.length;n++)if(t=i[n],this._events.hasOwnProperty(t))if(s.default.isUndef(e))this._events[t]=[];else for(var o=this._events[t],a=0;a<o.length;a++)o[a]===e&&o.splice(a,1);return this},s.default.Emitter.prototype.emit=function(t){if(this._events){var e=Array.apply(null,arguments).slice(1);if(this._events.hasOwnProperty(t))for(var i=this._events[t].slice(0),s=0,n=i.length;s<n;s++)i[s].apply(this,e)}return this},s.default.Emitter.mixin=function(t){var e=["on","once","off","emit"];t._events={};for(var i=0;i<e.length;i++){var n=e[i],o=s.default.Emitter.prototype[n];t[n]=o}return s.default.Emitter},s.default.Emitter.prototype.dispose=function(){return s.default.prototype.dispose.call(this),this._events=null,this},e.default=s.default.Emitter},function(t,e,i){"use strict";i.r(e);var s=i(0);i(1),i(44);s.default.supported&&(AnalyserNode.prototype.getFloatTimeDomainData||(AnalyserNode.prototype.getFloatTimeDomainData=function(t){var e=new Uint8Array(t.length);this.getByteTimeDomainData(e);for(var i=0;i<e.length;i++)t[i]=(e[i]-128)/128})),s.default.Analyser=function(){var t=s.default.defaults(arguments,["type","size"],s.default.Analyser);s.default.AudioNode.call(this),this._analyser=this.input=this.output=this.context.createAnalyser(),this._type=t.type,this._buffer=null,this.size=t.size,this.type=t.type},s.default.extend(s.default.Analyser,s.default.AudioNode),s.default.Analyser.defaults={size:1024,type:"fft",smoothing:.8},s.default.Analyser.Type={Waveform:"waveform",FFT:"fft"},s.default.Analyser.prototype.getValue=function(){return this._type===s.default.Analyser.Type.FFT?this._analyser.getFloatFrequencyData(this._buffer):this._type===s.default.Analyser.Type.Waveform&&this._analyser.getFloatTimeDomainData(this._buffer),this._buffer},Object.defineProperty(s.default.Analyser.prototype,"size",{get:function(){return this._analyser.frequencyBinCount},set:function(t){this._analyser.fftSize=2*t,this._buffer=new Float32Array(t)}}),Object.defineProperty(s.default.Analyser.prototype,"type",{get:function(){return this._type},set:function(t){if(t!==s.default.Analyser.Type.Waveform&&t!==s.default.Analyser.Type.FFT)throw new TypeError("Tone.Analyser: invalid type: "+t);this._type=t}}),Object.defineProperty(s.default.Analyser.prototype,"smoothing",{get:function(){return this._analyser.smoothingTimeConstant},set:function(t){this._analyser.smoothingTimeConstant=t}}),s.default.Analyser.prototype.dispose=function(){s.default.AudioNode.prototype.dispose.call(this),this._analyser.disconnect(),this._analyser=null,this._buffer=null};e.default=s.default.Analyser}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(6),i(17),i(50),i(69),i(49),i(68),i(67);s.default.OmniOscillator=function(){var t=s.default.defaults(arguments,["frequency","type"],s.default.OmniOscillator);s.default.Source.call(this,t),this.frequency=new s.default.Signal(t.frequency,s.default.Type.Frequency),this.detune=new s.default.Signal(t.detune,s.default.Type.Cents),this._sourceType=void 0,this._oscillator=null,this.type=t.type,this._readOnly(["frequency","detune"]),this.set(t)},s.default.extend(s.default.OmniOscillator,s.default.Source),s.default.OmniOscillator.defaults={frequency:440,detune:0,type:"sine",phase:0};var n="PulseOscillator",o="PWMOscillator",a="Oscillator",r="FMOscillator",l="AMOscillator",u="FatOscillator";s.default.OmniOscillator.prototype._start=function(t){this._oscillator.start(t)},s.default.OmniOscillator.prototype._stop=function(t){this._oscillator.stop(t)},s.default.OmniOscillator.prototype.restart=function(t){this._oscillator.restart(t)},Object.defineProperty(s.default.OmniOscillator.prototype,"type",{get:function(){var t="";return this._sourceType===r?t="fm":this._sourceType===l?t="am":this._sourceType===u&&(t="fat"),t+this._oscillator.type},set:function(t){"fm"===t.substr(0,2)?(this._createNewOscillator(r),this._oscillator.type=t.substr(2)):"am"===t.substr(0,2)?(this._createNewOscillator(l),this._oscillator.type=t.substr(2)):"fat"===t.substr(0,3)?(this._createNewOscillator(u),this._oscillator.type=t.substr(3)):"pwm"===t?this._createNewOscillator(o):"pulse"===t?this._createNewOscillator(n):(this._createNewOscillator(a),this._oscillator.type=t)}}),Object.defineProperty(s.default.OmniOscillator.prototype,"partials",{get:function(){return this._oscillator.partials},set:function(t){this._oscillator.partials=t}}),Object.defineProperty(s.default.OmniOscillator.prototype,"partialCount",{get:function(){return this._oscillator.partialCount},set:function(t){this._oscillator.partialCount=t}}),s.default.OmniOscillator.prototype.set=function(t,e){return"type"===t?this.type=e:s.default.isObject(t)&&t.hasOwnProperty("type")&&(this.type=t.type),s.default.prototype.set.apply(this,arguments),this},s.default.OmniOscillator.prototype.get=function(t){var e=this._oscillator.get(t);return e.type=this.type,e},s.default.OmniOscillator.prototype._createNewOscillator=function(t){if(t!==this._sourceType){this._sourceType=t;var e=s.default[t],i=this.now();if(null!==this._oscillator){var n=this._oscillator;n.stop(i),this.context.setTimeout(function(){n.dispose(),n=null},this.blockTime)}this._oscillator=new e,this.frequency.connect(this._oscillator.frequency),this.detune.connect(this._oscillator.detune),this._oscillator.connect(this.output),this.state===s.default.State.Started&&this._oscillator.start(i)}},Object.defineProperty(s.default.OmniOscillator.prototype,"phase",{get:function(){return this._oscillator.phase},set:function(t){this._oscillator.phase=t}});var d={PulseOscillator:"pulse",PWMOscillator:"pwm",Oscillator:"oscillator",FMOscillator:"fm",AMOscillator:"am",FatOscillator:"fat"};Object.defineProperty(s.default.OmniOscillator.prototype,"sourceType",{get:function(){return d[this._sourceType]},set:function(t){var e="sine";"pwm"!==this._oscillator.type&&"pulse"!==this._oscillator.type&&(e=this._oscillator.type),t===d.FMOscillator?this.type="fm"+e:t===d.AMOscillator?this.type="am"+e:t===d.FatOscillator?this.type="fat"+e:t===d.Oscillator?this.type=e:t===d.PulseOscillator?this.type="pulse":t===d.PWMOscillator&&(this.type="pwm")}}),Object.defineProperty(s.default.OmniOscillator.prototype,"baseType",{get:function(){return this._oscillator.baseType},set:function(t){this.sourceType!==d.PulseOscillator&&this.sourceType!==d.PWMOscillator&&(this._oscillator.baseType=t)}}),Object.defineProperty(s.default.OmniOscillator.prototype,"width",{get:function(){return this._sourceType===n?this._oscillator.width:void 0}}),Object.defineProperty(s.default.OmniOscillator.prototype,"count",{get:function(){return this._sourceType===u?this._oscillator.count:void 0},set:function(t){this._sourceType===u&&(this._oscillator.count=t)}}),Object.defineProperty(s.default.OmniOscillator.prototype,"spread",{get:function(){return this._sourceType===u?this._oscillator.spread:void 0},set:function(t){this._sourceType===u&&(this._oscillator.spread=t)}}),Object.defineProperty(s.default.OmniOscillator.prototype,"modulationType",{get:function(){return this._sourceType===r||this._sourceType===l?this._oscillator.modulationType:void 0},set:function(t){this._sourceType!==r&&this._sourceType!==l||(this._oscillator.modulationType=t)}}),Object.defineProperty(s.default.OmniOscillator.prototype,"modulationIndex",{get:function(){return this._sourceType===r?this._oscillator.modulationIndex:void 0}}),Object.defineProperty(s.default.OmniOscillator.prototype,"harmonicity",{get:function(){return this._sourceType===r||this._sourceType===l?this._oscillator.harmonicity:void 0}}),Object.defineProperty(s.default.OmniOscillator.prototype,"modulationFrequency",{get:function(){return this._sourceType===o?this._oscillator.modulationFrequency:void 0}}),s.default.OmniOscillator.prototype.dispose=function(){return s.default.Source.prototype.dispose.call(this),this._writable(["frequency","detune"]),this.detune.dispose(),this.detune=null,this.frequency.dispose(),this.frequency=null,this._oscillator.dispose(),this._oscillator=null,this._sourceType=null,this},e.default=s.default.OmniOscillator}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(31),i(37),i(25);s.default.Synth=function(t){t=s.default.defaultArg(t,s.default.Synth.defaults),s.default.Monophonic.call(this,t),this.oscillator=new s.default.OmniOscillator(t.oscillator),this.frequency=this.oscillator.frequency,this.detune=this.oscillator.detune,this.envelope=new s.default.AmplitudeEnvelope(t.envelope),this.oscillator.chain(this.envelope,this.output),this._readOnly(["oscillator","frequency","detune","envelope"])},s.default.extend(s.default.Synth,s.default.Monophonic),s.default.Synth.defaults={oscillator:{type:"triangle"},envelope:{attack:.005,decay:.1,sustain:.3,release:1}},s.default.Synth.prototype._triggerEnvelopeAttack=function(t,e){return this.envelope.triggerAttack(t,e),this.oscillator.start(t),0===this.envelope.sustain&&this.oscillator.stop(t+this.toSeconds(this.envelope.attack)+this.toSeconds(this.envelope.decay)),this},s.default.Synth.prototype._triggerEnvelopeRelease=function(t){return t=this.toSeconds(t),this.envelope.triggerRelease(t),this.oscillator.stop(t+this.toSeconds(this.envelope.release)),this},s.default.Synth.prototype.dispose=function(){return s.default.Monophonic.prototype.dispose.call(this),this._writable(["oscillator","frequency","detune","envelope"]),this.oscillator.dispose(),this.oscillator=null,this.envelope.dispose(),this.envelope=null,this.frequency=null,this.detune=null,this},e.default=s.default.Synth},function(t,e,i){"use strict";i.r(e);var s=i(0);i(6),i(11),i(32);s.default.Noise=function(){var t=s.default.defaults(arguments,["type"],s.default.Noise);s.default.Source.call(this,t),this._source=null,this._type=t.type,this._playbackRate=t.playbackRate},s.default.extend(s.default.Noise,s.default.Source),s.default.Noise.defaults={type:"white",playbackRate:1},Object.defineProperty(s.default.Noise.prototype,"type",{get:function(){return this._type},set:function(t){if(this._type!==t){if(!(t in n))throw new TypeError("Tone.Noise: invalid type: "+t);if(this._type=t,this.state===s.default.State.Started){var e=this.now();this._stop(e),this._start(e)}}}}),Object.defineProperty(s.default.Noise.prototype,"playbackRate",{get:function(){return this._playbackRate},set:function(t){this._playbackRate=t,this._source&&(this._source.playbackRate.value=t)}}),s.default.Noise.prototype._start=function(t){var e=n[this._type];this._source=new s.default.BufferSource(e).connect(this.output),this._source.loop=!0,this._source.playbackRate.value=this._playbackRate,this._source.start(this.toSeconds(t),Math.random()*(e.duration-.001))},s.default.Noise.prototype._stop=function(t){this._source&&(this._source.stop(this.toSeconds(t)),this._source=null)},s.default.Noise.prototype.restart=function(t){return this._stop(t),this._start(t),this},s.default.Noise.prototype.dispose=function(){return s.default.Source.prototype.dispose.call(this),null!==this._source&&(this._source.disconnect(),this._source=null),this._buffer=null,this};var n={},o={};Object.defineProperty(n,"pink",{get:function(){if(!o.pink){for(var t=[],e=0;e<2;e++){var i,n,a,r,l,u,d,f=new Float32Array(220500);t[e]=f,i=n=a=r=l=u=d=0;for(var h=0;h<220500;h++){var c=2*Math.random()-1;i=.99886*i+.0555179*c,n=.99332*n+.0750759*c,a=.969*a+.153852*c,r=.8665*r+.3104856*c,l=.55*l+.5329522*c,u=-.7616*u-.016898*c,f[h]=i+n+a+r+l+u+d+.5362*c,f[h]*=.11,d=.115926*c}}o.pink=(new s.default.Buffer).fromArray(t)}return o.pink}}),Object.defineProperty(n,"brown",{get:function(){if(!o.brown){for(var t=[],e=0;e<2;e++){var i=new Float32Array(220500);t[e]=i;for(var n=0,a=0;a<220500;a++){var r=2*Math.random()-1;i[a]=(n+.02*r)/1.02,n=i[a],i[a]*=3.5}}o.brown=(new s.default.Buffer).fromArray(t)}return o.brown}}),Object.defineProperty(n,"white",{get:function(){if(!o.white){for(var t=[],e=0;e<2;e++){var i=new Float32Array(220500);t[e]=i;for(var n=0;n<220500;n++)i[n]=2*Math.random()-1}o.white=(new s.default.Buffer).fromArray(t)}return o.white}}),e.default=s.default.Noise},function(t,e,i){"use strict";i.r(e);var s=i(0);i(27),i(20),i(1);s.default.Master=function(){s.default.AudioNode.call(this),s.default.getContext(function(){this.createInsOuts(1,0),this._volume=this.output=new s.default.Volume,this.volume=this._volume.volume,this._readOnly("volume"),s.default.connectSeries(this.input,this.output,this.context.destination),this.context.master=this}.bind(this))},s.default.extend(s.default.Master,s.default.AudioNode),s.default.Master.defaults={volume:0,mute:!1},s.default.Master.prototype.isMaster=!0,Object.defineProperty(s.default.Master.prototype,"mute",{get:function(){return this._volume.mute},set:function(t){this._volume.mute=t}}),s.default.Master.prototype.chain=function(){this.input.disconnect();var t=Array.from(arguments);t.unshift(this.input),t.push(this.output),s.default.connectSeries.apply(void 0,t)},s.default.Master.prototype.dispose=function(){s.default.AudioNode.prototype.dispose.call(this),this._writable("volume"),this._volume.dispose(),this._volume=null,this.volume=null},s.default.AudioNode.prototype.toMaster=function(){return this.connect(this.context.master),this};var n=s.default.Master;s.default.Master=new n,s.default.Context.on("init",function(t){t.master&&t.master.isMaster?s.default.Master=t.master:s.default.Master=new n}),s.default.Context.on("close",function(t){t.master&&t.master.isMaster&&t.master.dispose()}),e.default=s.default.Master}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(86),i(47);s.default.FrequencyEnvelope=function(){var t=s.default.defaults(arguments,["attack","decay","sustain","release"],s.default.Envelope);t=s.default.defaultArg(t,s.default.FrequencyEnvelope.defaults),s.default.ScaledEnvelope.call(this,t),this._octaves=t.octaves,this.baseFrequency=t.baseFrequency,this.octaves=t.octaves,this.exponent=t.exponent},s.default.extend(s.default.FrequencyEnvelope,s.default.Envelope),s.default.FrequencyEnvelope.defaults={baseFrequency:200,octaves:4,exponent:1},Object.defineProperty(s.default.FrequencyEnvelope.prototype,"baseFrequency",{get:function(){return this._scale.min},set:function(t){this._scale.min=this.toFrequency(t),this.octaves=this._octaves}}),Object.defineProperty(s.default.FrequencyEnvelope.prototype,"octaves",{get:function(){return this._octaves},set:function(t){this._octaves=t,this._scale.max=this.baseFrequency*Math.pow(2,t)}}),Object.defineProperty(s.default.FrequencyEnvelope.prototype,"exponent",{get:function(){return this._exp.value},set:function(t){this._exp.value=t}}),s.default.FrequencyEnvelope.prototype.dispose=function(){return s.default.ScaledEnvelope.prototype.dispose.call(this),this},e.default=s.default.FrequencyEnvelope},function(t,e,i){"use strict";i.r(e);var s=i(0);i(26),i(61);s.default.ScaleExp=function(t,e,i){s.default.SignalBase.call(this),this._scale=this.output=new s.default.Scale(t,e),this._exp=this.input=new s.default.Pow(s.default.defaultArg(i,2)),this._exp.connect(this._scale)}
5189,s.default.extend(s.default.ScaleExp,s.default.SignalBase),Object.defineProperty(s.default.ScaleExp.prototype,"exponent",{get:function(){return this._exp.value},set:function(t){this._exp.value=t}}),Object.defineProperty(s.default.ScaleExp.prototype,"min",{get:function(){return this._scale.min},set:function(t){this._scale.min=t}}),Object.defineProperty(s.default.ScaleExp.prototype,"max",{get:function(){return this._scale.max},set:function(t){this._scale.max=t}}),s.default.ScaleExp.prototype.dispose=function(){return s.default.SignalBase.prototype.dispose.call(this),this._scale.dispose(),this._scale=null,this._exp.dispose(),this._exp=null,this},e.default=s.default.ScaleExp},function(t,e,i){"use strict";i.r(e);var s=i(0);i(14),i(1);s.default.Compressor=function(){var t=s.default.defaults(arguments,["threshold","ratio"],s.default.Compressor);s.default.AudioNode.call(this),this._compressor=this.input=this.output=this.context.createDynamicsCompressor(),this.threshold=new s.default.Param({param:this._compressor.threshold,units:s.default.Type.Decibels,convert:!1}),this.attack=new s.default.Param(this._compressor.attack,s.default.Type.Time),this.release=new s.default.Param(this._compressor.release,s.default.Type.Time),this.knee=new s.default.Param({param:this._compressor.knee,units:s.default.Type.Decibels,convert:!1}),this.ratio=new s.default.Param({param:this._compressor.ratio,convert:!1}),this._readOnly(["knee","release","attack","ratio","threshold"]),this.set(t)},s.default.extend(s.default.Compressor,s.default.AudioNode),s.default.Compressor.defaults={ratio:12,threshold:-24,release:.25,attack:.003,knee:30},s.default.Compressor.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._writable(["knee","release","attack","ratio","threshold"]),this._compressor.disconnect(),this._compressor=null,this.attack.dispose(),this.attack=null,this.release.dispose(),this.release=null,this.threshold.dispose(),this.threshold=null,this.ratio.dispose(),this.ratio=null,this.knee.dispose(),this.knee=null,this},e.default=s.default.Compressor},function(t,e,i){"use strict";var s=i(0);i(92);if(s.default.supported){!s.default.global.hasOwnProperty("AudioContext")&&s.default.global.hasOwnProperty("webkitAudioContext")&&(s.default.global.AudioContext=s.default.global.webkitAudioContext),AudioContext.prototype.close||(AudioContext.prototype.close=function(){return s.default.isFunction(this.suspend)&&this.suspend(),Promise.resolve()}),AudioContext.prototype.resume||(AudioContext.prototype.resume=function(){var t=this.createBuffer(1,1,this.sampleRate),e=this.createBufferSource();return e.buffer=t,e.connect(this.destination),e.start(0),Promise.resolve()}),!AudioContext.prototype.createGain&&AudioContext.prototype.createGainNode&&(AudioContext.prototype.createGain=AudioContext.prototype.createGainNode),!AudioContext.prototype.createDelay&&AudioContext.prototype.createDelayNode&&(AudioContext.prototype.createDelay=AudioContext.prototype.createDelayNode);var n=!1,o=new OfflineAudioContext(1,1,44100),a=new Uint32Array([1179011410,48,1163280727,544501094,16,131073,44100,176400,1048580,1635017060,8,0,0,0,0]).buffer;try{var r=o.decodeAudioData(a);r&&s.default.isFunction(r.then)&&(n=!0)}catch(t){n=!1}n||(AudioContext.prototype._native_decodeAudioData=AudioContext.prototype.decodeAudioData,AudioContext.prototype.decodeAudioData=function(t){return new Promise(function(e,i){this._native_decodeAudioData(t,e,i)}.bind(this))})}},function(t,e,i){"use strict";i.r(e);var s=i(0);i(63);s.default.TransportTime=function(t,e){if(!(this instanceof s.default.TransportTime))return new s.default.TransportTime(t,e);s.default.Time.call(this,t,e)},s.default.extend(s.default.TransportTime,s.default.Time),s.default.TransportTime.prototype._now=function(){return s.default.Transport.seconds},e.default=s.default.TransportTime},function(t,e,i){"use strict";i.r(e);var s=i(0);i(62);s.default.Frequency=function(t,e){if(!(this instanceof s.default.Frequency))return new s.default.Frequency(t,e);s.default.TimeBase.call(this,t,e)},s.default.extend(s.default.Frequency,s.default.TimeBase),s.default.Frequency.prototype._expressions=Object.assign({},s.default.TimeBase.prototype._expressions,{midi:{regexp:/^(\d+(?:\.\d+)?midi)/,method:function(t){return"midi"===this._defaultUnits?t
5189:s.default.Frequency.mtof(t)}},note:{regexp:/^([a-g]{1}(?:b|#|x|bb)?)(-?[0-9]+)/i,method:function(t,e){var i=n[t.toLowerCase()]+12*(parseInt(e)+1);return"midi"===this._defaultUnits?i:s.default.Frequency.mtof(i)}},tr:{regexp:/^(\d+(?:\.\d+)?):(\d+(?:\.\d+)?):?(\d+(?:\.\d+)?)?/,method:function(t,e,i){var s=1;return t&&"0"!==t&&(s*=this._beatsToUnits(this._getTimeSignature()*parseFloat(t))),e&&"0"!==e&&(s*=this._beatsToUnits(parseFloat(e))),i&&"0"!==i&&(s*=this._beatsToUnits(parseFloat(i)/4)),s}}}),s.default.Frequency.prototype.transpose=function(t){return new this.constructor(this.valueOf()*s.default.intervalToFrequencyRatio(t))},s.default.Frequency.prototype.harmonize=function(t){return t.map(function(t){return this.transpose(t)}.bind(this))},s.default.Frequency.prototype.toMidi=function(){return s.default.Frequency.ftom(this.valueOf())},s.default.Frequency.prototype.toNote=function(){var t=this.toFrequency(),e=Math.log2(t/s.default.Frequency.A4),i=Math.round(12*e)+57,n=Math.floor(i/12);return n<0&&(i+=-12*n),o[i%12]+n.toString()},s.default.Frequency.prototype.toSeconds=function(){return 1/s.default.TimeBase.prototype.toSeconds.call(this)},s.default.Frequency.prototype.toFrequency=function(){return s.default.TimeBase.prototype.toFrequency.call(this)},s.default.Frequency.prototype.toTicks=function(){var t=this._beatsToUnits(1),e=this.valueOf()/t;return Math.floor(e*s.default.Transport.PPQ)},s.default.Frequency.prototype._noArg=function(){return 0},s.default.Frequency.prototype._frequencyToUnits=function(t){return t},s.default.Frequency.prototype._ticksToUnits=function(t){return 1/(60*t/(s.default.Transport.bpm.value*s.default.Transport.PPQ))},s.default.Frequency.prototype._beatsToUnits=function(t){return 1/s.default.TimeBase.prototype._beatsToUnits.call(this,t)},s.default.Frequency.prototype._secondsToUnits=function(t){return 1/t},s.default.Frequency.prototype._defaultUnits="hz";var n={cbb:-2,cb:-1,c:0,"c#":1,cx:2,dbb:0,db:1,d:2,"d#":3,dx:4,ebb:2,eb:3,e:4,"e#":5,ex:6,fbb:3,fb:4,f:5,"f#":6,fx:7,gbb:5,gb:6,g:7,"g#":8,gx:9,abb:7,ab:8,a:9,"a#":10,ax:11,bbb:9,bb:10,b:11,"b#":12,bx:13},o=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"];s.default.Frequency.A4=440,s.default.Frequency.mtof=function(t){return s.default.Frequency.A4*Math.pow(2,(t-69)/12)},s.default.Frequency.ftom=function(t){return 69+Math.round(12*Math.log2(t/s.default.Frequency.A4))},e.default=s.default.Frequency},function(t,e,i){"use strict";i.r(e);var s=i(0);i(2),i(61),i(4),i(1);s.default.Envelope=function(){var t=s.default.defaults(arguments,["attack","decay","sustain","release"],s.default.Envelope);s.default.AudioNode.call(this),this.attack=t.attack,this.decay=t.decay,this.sustain=t.sustain,this.release=t.release,this._attackCurve="linear",this._releaseCurve="exponential",this._sig=this.output=new s.default.Signal(0),this.attackCurve=t.attackCurve,this.releaseCurve=t.releaseCurve,this.decayCurve=t.decayCurve},s.default.extend(s.default.Envelope,s.default.AudioNode),s.default.Envelope.defaults={attack:.01,decay:.1,sustain:.5,release:1,attackCurve:"linear",decayCurve:"exponential",releaseCurve:"exponential"},Object.defineProperty(s.default.Envelope.prototype,"value",{get:function(){return this.getValueAtTime(this.now())}}),s.default.Envelope.prototype._getCurve=function(t,e){if(s.default.isString(t))return t;if(s.default.isArray(t))for(var i in s.default.Envelope.Type)if(s.default.Envelope.Type[i][e]===t)return i},s.default.Envelope.prototype._setCurve=function(t,e,i){if(s.default.Envelope.Type.hasOwnProperty(i)){var n=s.default.Envelope.Type[i];s.default.isObject(n)?this[t]=n[e]:this[t]=n}else{if(!s.default.isArray(i))throw new Error("Tone.Envelope: invalid curve: "+i);this[t]=i}},Object.defineProperty(s.default.Envelope.prototype,"attackCurve",{get:function(){return this._getCurve(this._attackCurve,"In")},set:function(t){this._setCurve("_attackCurve","In",t)}}),Object.defineProperty(s.default.Envelope.prototype,"releaseCurve",{get:function(){return this._getCurve(this._releaseCurve,"Out")},set:function(t){this._setCurve("_releaseCurve","Out",t)}}),Object.defineProperty(s.default.Envelope.prototype,"decayCurve",{get:function(){return this._decayCurve},set:function(t){if(!["linear","exponential"].includes(t))throw new Error("Tone.Envelope: invalid curve: "+t);this._decayCurve=t}}),s.default.Envelope.prototype.triggerAttack=function(t,e){this.log("triggerAttack",t,e),t=this.toSeconds(t);var i=this.toSeconds(this.attack),n=this.toSeconds(this.decay);e=s.default.defaultArg(e,1);var o=this.getValueAtTime(t);o>0&&(i=(1-o)/(1/i));if(0===i)this._sig.setValueAtTime(e,t);else if("linear"===this._attackCurve)this._sig.linearRampTo(e,i,t);else if("exponential"===this._attackCurve)this._sig.targetRampTo(e,i,t);else if(i>0){this._sig.cancelAndHoldAtTime(t);for(var a=this._attackCurve,r=1;r<a.length;r++)if(a[r-1]<=o&&o<=a[r]){(a=this._attackCurve.slice(r))[0]=o;break}this._sig.setValueCurveAtTime(a,t,i,e)}if(n){var l=e*this.sustain,u=t+i;this.log("decay",u),"linear"===this._decayCurve?this._sig.linearRampTo(l,n,u+this.sampleTime):"exponential"===this._decayCurve&&this._sig.exponentialApproachValueAtTime(l,u,n)}return this},s.default.Envelope.prototype.triggerRelease=function(t){this.log("triggerRelease",t),t=this.toSeconds(t);var e=this.getValueAtTime(t);if(e>0){var i=this.toSeconds(this.release);if("linear"===this._releaseCurve)this._sig.linearRampTo(0,i,t);else if("exponential"===this._releaseCurve)this._sig.targetRampTo(0,i,t);else{var n=this._releaseCurve;s.default.isArray(n)&&(this._sig.cancelAndHoldAtTime(t),this._sig.setValueCurveAtTime(n,t,i,e))}}return this},s.default.Envelope.prototype.getValueAtTime=function(t){return this._sig.getValueAtTime(t)},s.default.Envelope.prototype.triggerAttackRelease=function(t,e,
5189i){return e=this.toSeconds(e),this.triggerAttack(e,i),this.triggerRelease(e+this.toSeconds(t)),this},s.default.Envelope.prototype.cancel=function(t){return this._sig.cancelScheduledValues(t),this},s.default.Envelope.prototype.connect=s.default.SignalBase.prototype.connect,function(){var t,e,i=[];for(t=0;t<128;t++)i[t]=Math.sin(t/127*(Math.PI/2));var n=[];for(t=0;t<127;t++){e=t/127;var o=Math.sin(e*(2*Math.PI)*6.4-Math.PI/2)+1;n[t]=o/10+.83*e}n[127]=1;var a=[];for(t=0;t<128;t++)a[t]=Math.ceil(t/127*5)/5;var r=[];for(t=0;t<128;t++)e=t/127,r[t]=.5*(1-Math.cos(Math.PI*e));var l,u=[];for(t=0;t<128;t++){e=t/127;var d=4*Math.pow(e,3)+.2,f=Math.cos(d*Math.PI*2*e);u[t]=Math.abs(f*(1-e))}function h(t){for(var e=new Array(t.length),i=0;i<t.length;i++)e[i]=1-t[i];return e}s.default.Envelope.Type={linear:"linear",exponential:"exponential",bounce:{In:h(u),Out:u},cosine:{In:i,Out:(l=i,l.slice(0).reverse())},step:{In:a,Out:h(a)},ripple:{In:n,Out:h(n)},sine:{In:r,Out:h(r)}}}(),s.default.Envelope.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._sig.dispose(),this._sig=null,this._attackCurve=null,this._releaseCurve=null,this},e.default=s.default.Envelope},function(t,e,i){"use strict";i.r(e);var s=i(0);i(23),i(10),i(19),i(7),i(28),i(3),i(2),i(20);if(s.default.supported&&!s.default.global.AudioContext.prototype.createStereoPanner){var n=function(t){this.context=t,this.pan=new s.default.Signal(0,s.default.Type.AudioRange);var e=new s.default.WaveShaper(function(t){return s.default.equalPowerScale((t+1)/2)},4096),i=new s.default.WaveShaper(function(t){return s.default.equalPowerScale(1-(t+1)/2)},4096),n=new s.default.Gain,o=new s.default.Gain,a=this.input=new s.default.Split;a._splitter.channelCountMode="explicit",(new s.default.Zero).fan(e,i);var r=this.output=new s.default.Merge;a.left.chain(n,r.left),a.right.chain(o,r.right),this.pan.chain(i,n.gain),this.pan.chain(e,o.gain)};n.prototype.disconnect=function(){this.output.disconnect.apply(this.output,arguments)},n.prototype.connect=function(){this.output.connect.apply(this.output,arguments)},AudioContext.prototype.createStereoPanner=function(){return new n(this)},s.default.Context.prototype.createStereoPanner=function(){return new n(this)}}i(22),i(1);s.default.Panner=function(){var t=s.default.defaults(arguments,["pan"],s.default.Panner);s.default.AudioNode.call(this),this._panner=this.input=this.output=this.context.createStereoPanner(),this.pan=this._panner.pan,this.pan.value=t.pan,this._readOnly("pan")},s.default.extend(s.default.Panner,s.default.AudioNode),s.default.Panner.defaults={pan:0},s.default.Panner.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._writable("pan"),this._panner.disconnect(),this._panner=null,this.pan=null,this};e.default=s.default.Panner},function(t,e,i){"use strict";i.r(e);var s=i(0);i(6),i(17),i(5),i(3);s.default.FMOscillator=function(){var t=s.default.defaults(arguments,["frequency","type","modulationType"],s.default.FMOscillator);s.default.Source.call(this,t),this._carrier=new s.default.Oscillator(t.frequency,t.type),this.frequency=new s.default.Signal(t.frequency,s.default.Type.Frequency),this.detune=this._carrier.detune,this.detune.value=t.detune,this.modulationIndex=new s.default.Multiply(t.modulationIndex),this.modulationIndex.units=s.default.Type.Positive,this._modulator=new s.default.Oscillator(t.frequency,t.modulationType),this.harmonicity=new s.default.Multiply(t.harmonicity),this.harmonicity.units=s.default.Type.Positive,this._modulationNode=new s.default.Gain(0),this.frequency.connect(this._carrier.frequency),this.frequency.chain(this.harmonicity,this._modulator.frequency),this.frequency.chain(this.modulationIndex,this._modulationNode),this._modulator.connect(this._modulationNode.gain),this._modulationNode.connect(this._carrier.frequency),this._carrier.connect(this.output),this.detune.connect(this._modulator.detune),this.phase=t.phase,this._readOnly(["modulationIndex","frequency","detune","harmonicity"])},s.default.extend(s.default.FMOscillator,s.default.Source),s.default.FMOscillator.defaults={frequency:440,detune:0,phase:0,type:"sine",modulationIndex:2,modulationType:"square",harmonicity:1},s.default.FMOscillator.prototype._start=function(t){this._modulator.start(t),this._carrier.start(t)},s.default.FMOscillator.prototype._stop=function(t){this._modulator.stop(t),this._carrier.stop(t)},s.default.FMOscillator.prototype.restart=function(t){this._modulator.restart(t),this._carrier.restart(t)},Object.defineProperty(s.default.FMOscillator.prototype,"type",{get:function(){return this._carrier.type},set:function(t){this._carrier.type=t}}),Object.defineProperty(s.default.FMOscillator.prototype,"baseType",{get:function(){return this._carrier.baseType},set:function(t){this._carrier.baseType=t}}),Object.defineProperty(s.default.FMOscillator.prototype,"partialCount",{get:function(){return this._carrier.partialCount},set:function(t){this._carrier.partialCount=t}}),Object.defineProperty(s.default.FMOscillator.prototype,"modulationType",{get:function(){return this._modulator.type},set:function(t){this._modulator.type=t}}),Object.defineProperty(s.default.FMOscillator.prototype,"phase",{get:function(){return this._carrier.phase},set:function(t){this._carrier.phase=t,this._modulator.phase=t}}),Object.defineProperty(s.default.FMOscillator.prototype,"partials",{get:function(){return this._carrier.partials},set:function(t){this._carrier.partials=t}}),s.default.FMOscillator.prototype.dispose=function(){return s.default.Source.prototype.dispose.call(this),this._writable(["modulationIndex","frequency","detune","harmonicity"]),this.frequency.dispose(),this.frequency=null,this.detune=null,this.harmonicity.dispose(),this.harmonicity=null,this._carrier.dispose(),this._carrier=null,this._modulator.dispose(),this._modulator=null,this._modulationNode.dis
5189pose(),this._modulationNode=null,this.modulationIndex.dispose(),this.modulationIndex=null,this},e.default=s.default.FMOscillator},function(t,e,i){"use strict";i.r(e);var s=i(0);i(6),i(17),i(2),i(7),i(3);s.default.PulseOscillator=function(){var t=s.default.defaults(arguments,["frequency","width"],s.default.Oscillator);s.default.Source.call(this,t),this.width=new s.default.Signal(t.width,s.default.Type.NormalRange),this._widthGate=new s.default.Gain(0),this._sawtooth=new s.default.Oscillator({frequency:t.frequency,detune:t.detune,type:"sawtooth",phase:t.phase}),this.frequency=this._sawtooth.frequency,this.detune=this._sawtooth.detune,this._thresh=new s.default.WaveShaper(function(t){return t<0?-1:1}),this._sawtooth.chain(this._thresh,this.output),this.width.chain(this._widthGate,this._thresh),this._readOnly(["width","frequency","detune"])},s.default.extend(s.default.PulseOscillator,s.default.Source),s.default.PulseOscillator.defaults={frequency:440,detune:0,phase:0,width:.2},s.default.PulseOscillator.prototype._start=function(t){t=this.toSeconds(t),this._sawtooth.start(t),this._widthGate.gain.setValueAtTime(1,t)},s.default.PulseOscillator.prototype._stop=function(t){t=this.toSeconds(t),this._sawtooth.stop(t),this._widthGate.gain.setValueAtTime(0,t)},s.default.PulseOscillator.prototype.restart=function(t){this._sawtooth.restart(t),this._widthGate.gain.cancelScheduledValues(t),this._widthGate.gain.setValueAtTime(1,t)},Object.defineProperty(s.default.PulseOscillator.prototype,"phase",{get:function(){return this._sawtooth.phase},set:function(t){this._sawtooth.phase=t}}),Object.defineProperty(s.default.PulseOscillator.prototype,"type",{get:function(){return"pulse"}}),Object.defineProperty(s.default.PulseOscillator.prototype,"baseType",{get:function(){return"pulse"}}),Object.defineProperty(s.default.PulseOscillator.prototype,"partials",{get:function(){return[]}}),s.default.PulseOscillator.prototype.dispose=function(){return s.default.Source.prototype.dispose.call(this),this._sawtooth.dispose(),this._sawtooth=null,this._writable(["width","frequency","detune"]),this.width.dispose(),this.width=null,this._widthGate.dispose(),this._widthGate=null,this._thresh.dispose(),this._thresh=null,this.frequency=null,this.detune=null,this},e.default=s.default.PulseOscillator},function(t,e,i){"use strict";i.r(e);var s=i(0);i(16),i(4),i(34);s.default.Event=function(){var t=s.default.defaults(arguments,["callback","value"],s.default.Event);s.default.call(this),this._loop=t.loop,this.callback=t.callback,this.value=t.value,this._loopStart=this.toTicks(t.loopStart),this._loopEnd=this.toTicks(t.loopEnd),this._state=new s.default.TimelineState(s.default.State.Stopped),this._playbackRate=1,this._startOffset=0,this._probability=t.probability,this._humanize=t.humanize,this.mute=t.mute,this.playbackRate=t.playbackRate},s.default.extend(s.default.Event),s.default.Event.defaults={callback:s.default.noOp,loop:!1,loopEnd:"1m",loopStart:0,playbackRate:1,value:null,probability:1,mute:!1,humanize:!1},s.default.Event.prototype._rescheduleEvents=function(t){return t=s.default.defaultArg(t,-1),this._state.forEachFrom(t,function(t){var e;if(t.state===s.default.State.Started){s.default.isDefined(t.id)&&s.default.Transport.clear(t.id);var i=t.time+Math.round(this.startOffset/this._playbackRate);if(!0===this._loop||s.default.isNumber(this._loop)&&this._loop>1){e=1/0,s.default.isNumber(this._loop)&&(e=this._loop*this._getLoopDuration());var n=this._state.getAfter(i);null!==n&&(e=Math.min(e,n.time-i)),e!==1/0&&(this._state.setStateAtTime(s.default.State.Stopped,i+e+1),e=s.default.Ticks(e));var o=s.default.Ticks(this._getLoopDuration());t.id=s.default.Transport.scheduleRepeat(this._tick.bind(this),o,s.default.Ticks(i),e)}else t.id=s.default.Transport.schedule(this._tick.bind(this),s.default.Ticks(i))}}.bind(this)),this},Object.defineProperty(s.default.Event.prototype,"state",{get:function(){return this._state.getValueAtTime(s.default.Transport.ticks)}}),Object.defineProperty(s.default.Event.prototype,"startOffset",{get:function(){return this._startOffset},set:function(t){this._startOffset=t}}),Object.defineProperty(s.default.Event.prototype,"probability",{get:function(){return this._probability},set:function(t){this._probability=t}}),Object.defineProperty(s.default.Event.prototype,"humanize",{get:function(){return this._humanize},set:function(t){this._humanize=t}}
5189),s.default.Event.prototype.start=function(t){return t=this.toTicks(t),this._state.getValueAtTime(t)===s.default.State.Stopped&&(this._state.add({state:s.default.State.Started,time:t,id:void 0}),this._rescheduleEvents(t)),this},s.default.Event.prototype.stop=function(t){if(this.cancel(t),t=this.toTicks(t),this._state.getValueAtTime(t)===s.default.State.Started){this._state.setStateAtTime(s.default.State.Stopped,t);var e=this._state.getBefore(t),i=t;null!==e&&(i=e.time),this._rescheduleEvents(i)}return this},s.default.Event.prototype.cancel=function(t){return t=s.default.defaultArg(t,-1/0),t=this.toTicks(t),this._state.forEachFrom(t,function(t){s.default.Transport.clear(t.id)}),this._state.cancel(t),this},s.default.Event.prototype._tick=function(t){var e=s.default.Transport.getTicksAtTime(t);if(!this.mute&&this._state.getValueAtTime(e)===s.default.State.Started){if(this.probability<1&&Math.random()>this.probability)return;if(this.humanize){var i=.02;s.default.isBoolean(this.humanize)||(i=this.toSeconds(this.humanize)),t+=(2*Math.random()-1)*i}this.callback(t,this.value)}},s.default.Event.prototype._getLoopDuration=function(){return Math.round((this._loopEnd-this._loopStart)/this._playbackRate)},Object.defineProperty(s.default.Event.prototype,"loop",{get:function(){return this._loop},set:function(t){this._loop=t,this._rescheduleEvents()}}),Object.defineProperty(s.default.Event.prototype,"playbackRate",{get:function(){return this._playbackRate},set:function(t){this._playbackRate=t,this._rescheduleEvents()}}),Object.defineProperty(s.default.Event.prototype,"loopEnd",{get:function(){return s.default.Ticks(this._loopEnd).toSeconds()},set:function(t){this._loopEnd=this.toTicks(t),this._loop&&this._rescheduleEvents()}}),Object.defineProperty(s.default.Event.prototype,"loopStart",{get:function(){return s.default.Ticks(this._loopStart).toSeconds()},set:function(t){this._loopStart=this.toTicks(t),this._loop&&this._rescheduleEvents()}}),Object.defineProperty(s.default.Event.prototype,"progress",{get:function(){if(this._loop){var t=s.default.Transport.ticks,e=this._state.get(t);if(null!==e&&e.state===s.default.State.Started){var i=this._getLoopDuration();return(t-e.time)%i/i}return 0}return 0}}),s.default.Event.prototype.dispose=function(){this.cancel(),this._state.dispose(),this._state=null,this.callback=null,this.value=null},e.default=s.default.Event},function(t,e,i){"use strict";i.r(e);var s=i(0);i(2),i(13),i(29),i(10),i(3),i(1);s.default.MidSideMerge=function(){s.default.AudioNode.call(this),this.createInsOuts(2,0),this.mid=this.input[0]=new s.default.Gain,this._left=new s.default.Add,this._timesTwoLeft=new s.default.Multiply(Math.SQRT1_2),this.side=this.input[1]=new s.default.Gain,this._right=new s.default.Subtract,this._timesTwoRight=new s.default.Multiply(Math.SQRT1_2),this._merge=this.output=new s.default.Merge,this.mid.connect(this._left,0,0),this.side.connect(this._left,0,1),this.mid.connect(this._right,0,0),this.side.connect(this._right,0,1),this._left.connect(this._timesTwoLeft),this._right.connect(this._timesTwoRight),this._timesTwoLeft.connect(this._merge,0,0),this._timesTwoRight.connect(this._merge,0,1)},s.default.extend(s.default.MidSideMerge,s.default.AudioNode),s.default.MidSideMerge.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this.mid.dispose(),this.mid=null,this.side.dispose(),this.side=null,this._left.dispose(),this._left=null,this._timesTwoLeft.dispose(),this._timesTwoLeft=null,this._right.dispose(),this._right=null,this._timesTwoRight.dispose(),this._timesTwoRight=null,this._merge.dispose(),this._merge=null,this},e.default=s.default.MidSideMerge},function(t,e,i){"use strict";i.r(e);var s=i(0);i(29),i(13),i(2),i(19),i(1);s.default.MidSideSplit=function(){s.default.AudioNode.call(this),this.createInsOuts(0,2),this._split=this.input=new s.default.Split,this._midAdd=new s.default.Add,this.mid=this.output[0]=new s.default.Multiply(Math.SQRT1_2),this._sideSubtract=new s.default.Subtract,this.side=this.output[1]=new s.default.Multiply(Math.SQRT1_2),this._split.connect(this._midAdd,0,0),this._split.connect(this._midAdd,1,1),this._split.connect(this._sideSubtract,0,0
5189),this._split.connect(this._sideSubtract,1,1),this._midAdd.connect(this.mid),this._sideSubtract.connect(this.side)},s.default.extend(s.default.MidSideSplit,s.default.AudioNode),s.default.MidSideSplit.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this.mid.dispose(),this.mid=null,this.side.dispose(),this.side=null,this._midAdd.dispose(),this._midAdd=null,this._sideSubtract.dispose(),this._sideSubtract=null,this._split.dispose(),this._split=null,this},e.default=s.default.MidSideSplit},function(t,e,i){"use strict";i.r(e);var s=i(0);i(2),i(9),i(1),i(59);s.default.LowpassCombFilter=function(){var t=s.default.defaults(arguments,["delayTime","resonance","dampening"],s.default.LowpassCombFilter);s.default.AudioNode.call(this),this._combFilter=this.output=new s.default.FeedbackCombFilter(t.delayTime,t.resonance),this.delayTime=this._combFilter.delayTime,this._lowpass=this.input=new s.default.Filter({frequency:t.dampening,type:"lowpass",Q:0,rolloff:-12}),this.dampening=this._lowpass.frequency,this.resonance=this._combFilter.resonance,this._lowpass.connect(this._combFilter),this._readOnly(["dampening","resonance","delayTime"])},s.default.extend(s.default.LowpassCombFilter,s.default.AudioNode),s.default.LowpassCombFilter.defaults={delayTime:.1,resonance:.5,dampening:3e3},s.default.LowpassCombFilter.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._writable(["dampening","resonance","delayTime"]),this._combFilter.dispose(),this._combFilter=null,this.resonance=null,this.delayTime=null,this._lowpass.dispose(),this._lowpass=null,this.dampening=null,this},e.default=s.default.LowpassCombFilter},function(t,e,i){"use strict";i.r(e);var s=i(0);i(45);s.default.Ticks=function(t,e){if(!(this instanceof s.default.Ticks))return new s.default.Ticks(t,e);s.default.TransportTime.call(this,t,e)},s.default.extend(s.default.Ticks,s.default.TransportTime),s.default.Ticks.prototype._defaultUnits="i",s.default.Ticks.prototype._now=function(){return s.default.Transport.ticks},s.default.Ticks.prototype._beatsToUnits=function(t){return this._getPPQ()*t},s.default.Ticks.prototype._secondsToUnits=function(t){return Math.floor(t/(60/this._getBpm())*this._getPPQ())},s.default.Ticks.prototype._ticksToUnits=function(t){return t},s.default.Ticks.prototype.toTicks=function(){return this.valueOf()},s.default.Ticks.prototype.toSeconds=function(){return this.valueOf()/this._getPPQ()*(60/this._getBpm())},e.default=s.default.Ticks},function(t,e,i){"use strict";i.r(e);var s=i(0);i(55);s.default.TransportEvent=function(t,e){e=s.default.defaultArg(e,s.default.TransportEvent.defaults),s.default.call(this),this.Trans
5189port=t,this.id=s.default.TransportEvent._eventId++,this.time=s.default.Ticks(e.time),this.callback=e.callback,this._once=e.once},s.default.extend(s.default.TransportEvent),s.default.TransportEvent.defaults={once:!1,callback:s.default.noOp},s.default.TransportEvent._eventId=0,s.default.TransportEvent.prototype.invoke=function(t){this.callback&&(this.callback(t),this._once&&this.Transport&&this.Transport.clear(this.id))},s.default.TransportEvent.prototype.dispose=function(){return s.default.prototype.dispose.call(this),this.Transport=null,this.callback=null,this.time=null,this},e.default=s.default.TransportEvent},function(t,e,i){"use strict";i.r(e);var s=i(0);i(82),i(34),i(24),i(14);s.default.TickSource=function(){var t=s.default.defaults(arguments,["frequency"],s.default.TickSource);this.frequency=new s.default.TickSignal(t.frequency),this._readOnly("frequency"),this._state=new s.default.TimelineState(s.default.State.Stopped),this._state.setStateAtTime(s.default.State.Stopped,0),this._tickOffset=new s.default.Timeline,this.setTicksAtTime(0,0)},s.default.extend(s.default.TickSource),s.default.TickSource.defaults={frequency:1},Object.defineProperty(s.default.TickSource.prototype,"state",{get:function(){return this._state.getValueAtTime(this.now())}}),s.default.TickSource.prototype.start=function(t,e){return t=this.toSeconds(t),this._state.getValueAtTime(t)!==s.default.State.Started&&(this._state.setStateAtTime(s.default.State.Started,t),s.default.isDefined(e)&&this.setTicksAtTime(e,t)),this},s.default.TickSource.prototype.stop=function(t){if(t=this.toSeconds(t),this._state.getValueAtTime(t)===s.default.State.Stopped){var e=this._state.get(t);e.time>0&&(this._tickOffset.cancel(e.time),this._state.cancel(e.time))}return this._state.cancel(t),this._state.setStateAtTime(s.default.State.Stopped,t),this.setTicksAtTime(0,t),this},s.default.TickSource.prototype.pause=function(t){return t=this.toSeconds(t),this._state.getValueAtTime(t)===s.default.State.Started&&this._state.setStateAtTime(s.default.State.Paused,t),this},s.default.TickSource.prototype.cancel=function(t){return t=this.toSeconds(t),this._state.cancel(t),this._tickOffset.cancel(t),this},s.default.TickSource.prototype.getTicksAtTime=function(t){t=this.toSeconds(t);var e=this._state.getLastState(s.default.State.Stopped,t),i={state:s.default.State.Paused,time:t};this._state.add(i);var n=e,o=0;return this._state.forEachBetween(e.time,t+this.sampleTime,function(t){var e=n.time,i=this._tickOffset.get(t.time);i.time>=n.time&&(o=i.ticks,e=i.time),n.state===s.default.State.Started&&t.state!==s.default.State.Started&&(o+=this.frequency.getTicksAtTime(t.time)-this.frequency.getTicksAtTime(e)),n=t}.bind(this)),this._state.remove(i),o},Object.defineProperty(s.default.TickSource.prototype,"ticks",{get:function(){return this.getTicksAtTime(this.now())},set:function(t){this.setTicksAtTime(t,this.now())}}),Object.defineProperty(s.default.TickSource.prototype,"seconds",{get:function(){return this.getSecondsAtTime(this.now())},set:function(t){var e=this.now(),i=this.frequency.timeToTicks(t,e);this.setTicksAtTime(i,e)}}),s.default.TickSource.prototype.getSecondsAtTime=function(t){t=this.toSeconds(t);var e=this._state.getLastState(s.default.State.Stopped,t),i={state:s.default.State.Paused,time:t};this._state.add(i);var n=e,o=0;return this._state.forEachBetween(e.time,t+this.sampleTime,function(t){var e=n.time,i=this._tickOffset.get(t.time);i.time>=n.time&&(o=i.seconds,e=i.time),n.state===s.default.State.Started&&t.state!==s.default.State.Started&&(o+=t.time-e),n=t}.bind(this)),this._state.remove(i),o},s.default.TickSource.prototype.setTicksAtTime=function(t,e){return e=this.toSeconds(e),this._tickOffset.cancel(e),this._tickOffset.add({time:e,ticks:t,seconds:this.frequency.getDurationOfTicks(t,e)}),this},s.default.TickSource.prototype.getStateAtTime=function(t){return t=this.toSeconds(t),this._state.getValueAtTime(t)},s.default.TickSource.prototype.getTimeOfTick=function(t,e){e=s.default.defaultArg(e,this.now());var i=this._tickOffset.get(e),n=this._state.get(e),o=Math.max(i.time,n.time),a=this.frequency.getTicksAtTime(o)+t-i.ticks;return this.frequency.getTimeOfTick(a)},s.default.TickSource.prototype.forEachTickBetween=function(t,e,
5189i){var n=this._state.get(t);if(this._state.forEachBetween(t,e,function(e){n.state===s.default.State.Started&&e.state!==s.default.State.Started&&this.forEachTickBetween(Math.max(n.time,t),e.time-this.sampleTime,i),n=e}.bind(this)),t=Math.max(n.time,t),n.state===s.default.State.Started&&this._state){var o=this.frequency.getTicksAtTime(t),a=(o-this.frequency.getTicksAtTime(n.time))%1;0!==a&&(a=1-a);for(var r=this.frequency.getTimeOfTick(o+a),l=null;r<e&&this._state;){try{i(r,Math.round(this.getTicksAtTime(r)))}catch(t){l=t;break}this._state&&(r+=this.frequency.getDurationOfTicks(1,r))}}if(l)throw l;return this},s.default.TickSource.prototype.dispose=function(){return s.default.Param.prototype.dispose.call(this),this._state.dispose(),this._state=null,this._tickOffset.dispose(),this._tickOffset=null,this._writable("frequency"),this.frequency.dispose(),this.frequency=null,this},e.default=s.default.TickSource},function(t,e,i){"use strict";i.r(e);var s=i(0);i(87),i(13),i(2),i(4),i(18),i(1);s.default.Follower=function(){var t=s.default.defaults(arguments,["smoothing"],s.default.Follower);s.default.AudioNode.call(this),this.createInsOuts(1,1),this._abs=new s.default.Abs,this._filter=this.context.createBiquadFilter(),this._filter.type="lowpass",this._filter.frequency.value=0,this._filter.Q.value=0,this._sub=new s.default.Subtract,this._delay=new s.default.Delay(this.blockTime),this._smoothing=t.smoothing,s.default.connect(this.input,this._delay),s.default.connect(this.input,this._sub,0,1),this._sub.chain(this._abs,this._filter,this.output),this.smoothing=t.smoothing},s.default.extend(s.default.Follower,s.default.AudioNode),s.default.Follower.defaults={smoothing:.05},Object.defineProperty(s.default.Follower.prototype,"smoothing",{get:function(){return this._smoothing},set:function(t){this._smoothing=t,this._filter.frequency.value=.5*s.default.Time(t).toFrequency()}}),s.default.Follower.prototype.connect=s.default.SignalBase.prototype.connect,s.default.Follower.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._filter.disconnect(),this._filter=null,this._delay.dispose(),this._delay=null,this._sub.disconnect(),this._sub=null,this._abs.dispose(),this._abs=null,this},e.default=s.default.Follower},function(t,e,i){"use strict";i.r(e);var s=i(0);i(42),i(2),i(14),i(18),i(3),i(1);s.default.FeedbackCombFilter=function(){var t=s.default.defaults(arguments,["delayTime","resonance"],s.default.FeedbackCombFilter);s.default.AudioNode.call(this),this._delay=this.input=this.output=new s.default.Delay(t.delayTime),this.delayTime=this._delay.delayTime,this._feedback=new s.default.Gain(t.resonance,s.default.Type.NormalRange),this.resonance=this._feedback.gain,this._delay.chain(this._feedback,this._delay),this._readOnly(["resonance","delayTime"])},s.default.extend(s.default.FeedbackCombFilter,s.default.AudioNode),s.default.FeedbackCombFilter.defaults={delayTime:.1,resonance:.5},s.default.FeedbackCombFilter.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._writable(["resonance","delayTime"]),this._delay.dispose(),this._delay=null,this.delayTime=null,this._feedback.dispose(),this._feedback=null,this.resonance=null,this},e.default=s.default.FeedbackCombFilter},function(t,e,i){"use strict";i.r(e);var s=i(0);i(9),i(2),i(3),i(1);s.default.MultibandSplit=function(){var t=s.default.defaults(arguments,["lowFrequency","highFrequency"],s.default.MultibandSplit);s.default.AudioNode.call(this),this.input=new s.default.Gain,this.output=new Array(3),this.low=this.output[0]=new s.default.Filter(0,"lowpass"),this._lowMidFilter=new s.default.Filter(0,"highpass"),this.mid=this.output[1]=new s.default.Filter(0,"lowpass"),this.high=this.output[2]=new s.default.Filter(0,"highpass"),this.lowFrequency=new s.default.Signal(t.lowFrequency,s.default.Type.Frequency),this.highFrequency=new s.default.Signal(t.highFrequency,s.default.Type.Frequency),this.Q=new s.default.Signal(t.Q),this.input.fan(this.low,this.high),this.input.chain(this._lowMidFilter,this.mid),this.lowFrequency.connect(this.low.frequency),this.lowFrequency.connect(this._lowMidFilter.frequency),this.highFrequency.connect(this.mid.frequency),this.highFrequency.connect(this.high.frequency),this.Q.connect(this.low.Q),this.Q.connect(this._lowMidFilter.Q),this.Q.connect(this.mid.Q),this.Q.connect(this.high.Q),this._readOnly(["high","mid","low","highFrequency","lowFrequency"])},s.default.extend(s.default.MultibandSplit,s.default.AudioNode),s.default.MultibandSplit.defaults={lowFrequency:400,highFrequency:2500,Q:1},s.default.MultibandSplit.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._writable(["high","mid","low","highFrequency","lowFrequency"]),this.low.dispose(),this.low=null,this._lowMidFilter.dispose(),this._lowMidFilter=null,this.mid.dispose(),this.mid=null,this.high.dispose(),this.high=null,this.lowFrequency.dispose(),this.lowFrequency=null,this.highFrequency.dispose(),this.highFrequency=null,this.Q.dispose(),this.Q=null,this},e.default=s.default.MultibandSplit}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(7);s.default.Pow=function(t){s.default.SignalBase.call(this),this._exp=s.default.defaultArg(t,1),this._expScaler=this.input=this.output=new s.default.WaveShaper(this._expFunc(this._exp),8192)},s.default.extend(s.default.Pow,s.default.SignalBase),Object.defineProperty(s.default.Pow.prototype,"value",{get:function(){return this._exp},set:function(t){this._exp=t,this._expScaler.setMap(this._expFunc(this._exp))}}),s.default.Pow.prototype._expFunc=function(t){return function(e){return Math.pow(Math.abs(e),t)}},s.default.Pow.prototype.dispose=function(){return s.default.SignalBase.prototype.dispose.call(this),this._expScaler.dispose(),this._expScaler=null,this},e.default=s.default.Pow},function(t,e,i){"use strict";i.r(e);var s=i(0);s.default.TimeBase=function(t,e){if(!(this instanceof s.default.TimeBase))return new s.default.TimeBase(t,e);if(this._val=t,this._units=e,s.default.isUndef(this._units)&&s.default.isString(this._val)&&parseFloat(this._val)==this._val&&"+"!==this._val.charAt(0))this._val=parseFloat(this._val),this._units=this._defaultUnits;else if(t&&t.constructor===this.constructor)this._val=t._val,this._units=t._units;else if(t instanceof s.default.TimeBase)switch(this._defaultUnits){case"s":this._val=t.toSeconds();break;case"i":this._val=t.toTicks();break;case"hz":this._val=t.toFrequency();break;case"midi":this._val=t.toMidi();break;default:throw new Error("Unrecognized default units "+this._defaultUnits)}},s.default.extend(s.default.TimeBase),s.default.TimeBase.prototype._expressions={n:{regexp:/^(\d+)n(\.?)$/i,method:function(t,e){t=parseInt(t);var i="."===e?1.5:1;return 1===t?this._beatsToUnits(this._getTimeSignature())*i:this._beatsToUnits(4/t)*i}},t:{regexp:/^(\d+)t$/i,method:function(t){return t=parseInt(t),this._beatsToUnits(8/(3*parseInt(t)))}},m:{regexp:/^(\d+)m$/i,method:function(t){return this._beatsToUnits(parseInt(t)*this._getTimeSignature())}},i:{regexp:/^(\d+)i$/i,method:function(t){return this._ticksToUnits(parseInt(t))}},hz:{regexp:/^(\d+(?:\.\d+)?)hz$/i,method:function(t){return this._frequencyToUnits(parseFloat(t))}},tr:{regexp:/^(\d+(?:\.\d+)?):(\d+(?:\.\d+)?):?(\d+(?:\.\d+)?)?$/,method:function(t,e,i){var s=0;return t&&"0"!==t&&(s+=this._beatsToUnits(this._getTimeSignature()*parseFloat(t))),e&&"0"!==e&&(s+=this._beatsToUnits(parseFloat(e))),i&&"0"!==i&&(s+=this._beatsToUnits(parseFloat(i)/4)),s}},s:{regexp:/^(\d+(?:\.\d+)?)s$/,method:function(t){return this._secondsToUnits(parseFloat(t))}},samples:{regexp:/^(\d+)samples$/,method:function(t){return parseInt(t)/this.context.sampleRate}},default:{regexp:/^(\d+(?:\.\d+)?)$/,method:function(t){return this._expressions[this._defaultUnits].method.call(this,t)}}},s.default.TimeBase.prototype._defaultUnits="s",s.default.TimeBase.prototype._getBpm=function(){return s.default.Transport?s.default.Transport.bpm.value:120},s.default.TimeBase.prototype._getTimeSignature=function(){return s.default.Transport?s.default.Transport.timeSignature:4},s.default.TimeBase.prototype._getPPQ=function(){return s.default.Transport?s.default.Transport.PPQ:192},s.default.TimeBase.prototype._now=function(){return this.now()},s.default.TimeBase.prototype._frequencyToUnits=function(t){return 1/t},s.default.TimeBase.prototype._beatsToUnits=function(t){return 60/this._getBpm()*t},s.default.TimeBase.prototype._secondsToUnits=function(t){return t},s.default.TimeBase.prototype._ticksToUnits=function(t){return t*(this._beatsToUnits(1)/this._getPPQ())},s.default.TimeBase.prototype._noArg=function(){return this._now()},s.default.TimeBase.prototype.valueOf=function(){if(s.default.isUndef(this._val))return this._noArg();if(s.default.isString(this._val)&&s.default.isUndef(this._units)){for(var t in this._expressions)if(this._expressions[t].regexp.test(this._val.trim())){this._units=t;break}}else if(s.default.isObject(this._val)){var e=0;for(var i in this._val){var n=this._val[i];e+=new this.constructor(i).valueOf()*n}return e}if(s.default.isDefined(this._units)){var o=this._expressions[this._units],a=this._val.toString().trim().match(o.regexp);return a?o.method.apply(this,a.slice(1)):o.method.call(this,parseFloat(this._val))}return this._val},s.default.TimeBase.prototype.toSeconds=function(){return this.valueOf()},s.default.TimeBase.prototype.toFrequency=function(){return 1/this.toSeconds()},s.default.TimeBase.prototype.toSamples=function(){return this.toSeconds()*this.context.sampleRate},s.default.TimeBase.prototype.toMilliseconds=function(){return 1e3*this.toSeconds()},s.default.TimeBase.prototype.dispose=function(){this._val=null,this._units=null},e.default=s.default.TimeBase}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(62),i(46);s.default.Time=function(t,e){if(!(this instanceof s.default.Time))return new s.default.Time(t,e);s.default.TimeBase.call(this,t,e)},s.default.extend(s.default.Time,s.default.TimeBase),s.default.Time.prototype._expressions=Object.assign({},s.default.TimeBase.prototype._expressions,{quantize:{regexp:/^@(.+)/,method:function(t){if(s.default.Transport){var e=new this.constructor(t);return this._secondsToUnits(s.default.Transport.nextSubdivision(e))}return 0}},now:{regexp:/^\+(.+)/,method:function(t){return this._now()+new this.constructor(t)}}}),s.default.Time.prototype.quantize=function(t,e){e=s.default.defaultArg(e,1);var i=new this.constructor(t),n=this.valueOf();return n+(Math.round(n/i)*i-n)*e},s.default.Time.prototype.toNotation=function(){for(var t=this.toSeconds(),e=["1m"],i=1;i<8;i++){var n=Math.pow(2,i);e.push(n+"n."),e.push(n+"n"),e.push(n+"t")}e.push("0");var o=e[0],a=s.default.Time(e[0]).toSeconds();return e.forEach(function(e){var i=s.default.Time(e).toSeconds();Math.abs(i-t)<Math.abs(a-t)&&(o=e,a=i)}),o},s.default.Time.prototype.toBarsBeatsSixteenths=function(){var t=this._beatsToUnits(1),e=this.valueOf()/t;e=parseFloat(e.toFixed(4));var i=Math.floor(e/this._getTimeSignature()),s=e%1*4;return e=Math.floor(e)%this._getTimeSignature(),(s=s.toString()).length>3&&(s=parseFloat(parseFloat(s).toFixed(3))),[i,e,s].join(":")},s.default.Time.prototype.toTicks=function(){var t=this._beatsToUnits(1),e=this.valueOf()/t;return Math.round(e*this._getPPQ())},s.default.Time.prototype.toSeconds=function(){return this.valueOf()},s.default.Time.prototype.toMidi=function(){return s.default.Frequency.ftom(this.toFrequency())},e.default=s.default.Time},function(t,e,i){"use strict";i.r(e);var s=i(0);i(11),i(6),i(3),i(1);s.default.supported&&(OscillatorNode.prototype.setPeriodicWave||(OscillatorNode.prototype.setPeriodicWave=OscillatorNode.prototype.setWaveTable),AudioContext.prototype.createPeriodicWave||(AudioContext.prototype.createPeriodicWave=AudioContext.prototype.createWaveTable)),s.default.OscillatorNode=function(){var t=s.default.defaults(arguments,["frequency","type"],s.default.OscillatorNode);s.default.AudioNode.call(this,t),this.onended=t.onended,this._startTime=-1,this._stopTime=-1,this._gainNode=this.output=new s.default.Gain(0),this._oscillator=this.context.createOscillator(),s.default.connect(this._oscillator,this._gainNode),this.type=t.type,this.frequency=new s.default.Param({param:this._oscillator.frequency,units:s.default.Type.Frequency,value:t.frequency}),this.detune=new s.default.Param({param:this._oscillator.detune,units:s.default.Type.Cents,value:t.detune}),this._gain=1},s.default.extend(s.default.OscillatorNode,s.default.AudioNode),s.default.OscillatorNode.defaults={frequency:440,detune:0,type:"sine",onended:s.default.noOp},Object.defineProperty(s.default.OscillatorNode.prototype,"state",{get:function(){return this.getStateAtTime(this.now())}}),s.default.OscillatorNode.prototype.getStateAtTime=function(t){return t=this.toSeconds(t),-1!==this._startTime&&t>=this._startTime&&(-1===this._stopTime||t<=this._stopTime)?s.default.State.Started:s.default.State.Stopped},s.default.OscillatorNode.prototype.start=function(t){if(this.log("start",t),-1!==this._startTime)throw new Error("cannot call OscillatorNode.start more than once");return this._startTime=this.toSeconds(t),this._startTime=Math.max(this._startTime,this.context.currentTime),this._oscillator.start(this._startTime),this._gainNode.gain.setValueAtTime(1,this._startTime),this},s.default.OscillatorNode.prototype.setPeriodicWave=function(t){return this._oscillator.setPeriodicWave(t),this},s.default.OscillatorNode.prototype.stop=function(t){return this.log("stop",t),this.assert(-1!==this._startTime,"'start' must be called before 'stop'"),this.cancelStop(),this._stopTime=this.toSeconds(t),this._stopTime=Math.max(this._stopTime,this.context.currentTime),this._stopTime>this._startTime?(this._gainNode.gain.setValueAtTime(0,this._stopTime),this.context.clearTimeout(this._timeout),this._timeout=this.context.setTimeout(function(){this._oscillator.stop(this.now()),this.onended(),setTimeout(function(){this._oscillator&&(this._oscillator.disconnect(),this._gainNode.disconnect())}.bind(this),100)}.bind(this),this._stopTime-this.context.currentTime)):this._gainNode.gain.cancelScheduledValues(this._startTime),this},s.default.OscillatorNode.prototype.cancelStop=function(){return-1!==this._startTime&&(this._gainNode.gain.cancelScheduledValues(this._startTime+this.sampleTime),this.context.clearTimeout(this._timeout),this._stopTime=-1),this},Object.defineProperty(s.default.OscillatorNode.prototype,"type",{get:function(){return this._oscillator.type},set:function(t){this._oscillator.type=t}}),s.default.OscillatorNode.prototype.dispose=function(){return this._wasDisposed||(this._wasDisposed=!0,this.context.clearTimeout(this._timeout),s.default.AudioNode.prototype.dispose.call(this),this.onended=null,this._oscillator.disconnect(),this._oscillator=null,this._gainNode.dis
5189pose(),this._gainNode=null,this.frequency.dispose(),this.frequency=null,this.detune.dispose(),this.detune=null),this};e.default=s.default.OscillatorNode},function(t,e,i){"use strict";i.r(e);var s=i(0);i(11),i(6),i(57),i(32);s.default.Player=function(t){var e;t instanceof s.default.Buffer&&t.loaded?(t=t.get(),e=s.default.Player.defaults):e=s.default.defaults(arguments,["url","onload"],s.default.Player),s.default.Source.call(this,e),this.autostart=e.autostart,this._buffer=new s.default.Buffer({url:e.url,onload:this._onload.bind(this,e.onload),reverse:e.reverse}),t instanceof AudioBuffer&&this._buffer.set(t),this._loop=e.loop,this._loopStart=e.loopStart,this._loopEnd=e.loopEnd,this._playbackRate=e.playbackRate,this._activeSources=[],this.fadeIn=e.fadeIn,this.fadeOut=e.fadeOut},s.default.extend(s.default.Player,s.default.Source),s.default.Player.defaults={onload:s.default.noOp,playbackRate:1,loop:!1,autostart:!1,loopStart:0,loopEnd:0,reverse:!1,fadeIn:0,fadeOut:0},s.default.Player.prototype.load=function(t,e){return this._buffer.load(t,this._onload.bind(this,e))},s.default.Player.prototype._onload=function(t){(t=s.default.defaultArg(t,s.default.noOp))(this),this.autostart&&this.start()},s.default.Player.prototype._onSourceEnd=function(t){var e=this._activeSources.indexOf(t);this._activeSources.splice(e,1),0!==this._activeSources.length||this._synced||this._state.setStateAtTime(s.default.State.Stopped,s.default.now())},s.default.Player.prototype._start=function(t,e,i){e=this._loop?s.default.defaultArg(e,this._loopStart):s.default.defaultArg(e,0),e=this.toSeconds(e),this._synced&&(e*=this._playbackRate);var n=s.default.defaultArg(i,Math.max(this._buffer.duration-e,0));n=this.toSeconds(n),n/=this._playbackRate,t=this.toSeconds(t);var o=new s.default.BufferSource({buffer:this._buffer,loop:this._loop,loopStart:this._loopStart,loopEnd:this._loopEnd,onended:this._onSourceEnd.bind(this),playbackRate:this._playbackRate,fadeIn:this.fadeIn,fadeOut:this.fadeOut}).connect(this.output);return this._loop||this._synced||this._state.setStateAtTime(s.default.State.Stopped,t+n),this._activeSources.push(o),this._loop&&s.default.isUndef(i)?o.start(t,e):o.start(t,e,n-this.toSeconds(this.fadeOut)),this},s.default.Player.prototype._stop=function(t){return t=this.toSeconds(t),this._activeSources.forEach(function(e){e.stop(t)}),this},s.default.Player.prototype.restart=function(t,e,i){return this._stop(t),this._start(t,e,i),this},s.default.Player.prototype.seek=function(t,e){return e=this.toSeconds(e),this._state.getValueAtTime(e)===s.default.State.Started&&(t=this.toSeconds(t),this._stop(e),this._start(e,t)),this},s.default.Player.prototype.setLoopPoints=function(t,e){return this.loopStart=t,this.loopEnd=e,this},Object.defineProperty(s.default.Player.prototype,"loopStart",{get:function(){return this._loopStart},set:function(t){this._loopStart=t,this._activeSources.forEach(function(e){e.loopStart=t})}}),Object.defineProperty(s.default.Player.prototype,"loopEnd",{get:function(){return this._loopEnd},set:function(t){this._loopEnd=t,this._activeSources.forEach(function(e){e.loopEnd=t})}}),Object.defineProperty(s.default.Player.prototype,"buffer",{get:function(){return this._buffer},set:function(t){this._buffer.set(t)}}),Object.defineProperty(s.default.Player.prototype,"loop",{get:function(){return this._loop},set:function(t){if(this._loop!==t&&(this._loop=t,this._activeSources.forEach(function(e){e.loop=t}),t)){var e=this._state.getNextState(s.default.State.Stopped,this.now());e&&this._state.cancel(e.time)}}}),Object.defineProperty(s.default.Player.prototype,"playbackRate",{get:function(){return this._playbackRate},set:function(t){this._playbackRate=t;var e=this.now(),i=this._state.getNextState(s.default.State.Stopped,e);i&&this._state.cancel(i.time),this._activeSources.forEach(function(i){i.cancelStop(),i.playbackRate.setValueAtTime(t,e)})}}),Object.defineProperty(s.default.Player.prototype,"reverse",{get:function(){return this._buffer.reverse},set:function(t){this._buffer.reverse=t}}),Object.defineProperty(s.default.Player.prototype,"loaded",{get:function(){return this._buffer.loaded}}),s.default.Player.prototype.dispose=function(){return this._activeSources.forEac
5189h(function(t){t.dispose()}),this._activeSources=null,s.default.Source.prototype.dispose.call(this),this._buffer.dispose(),this._buffer=null,this},e.default=s.default.Player},function(t,e,i){"use strict";i.r(e);var s=i(0);i(31),i(41),i(37),i(2),i(9),i(25);s.default.MonoSynth=function(t){t=s.default.defaultArg(t,s.default.MonoSynth.defaults),s.default.Monophonic.call(this,t),this.oscillator=new s.default.OmniOscillator(t.oscillator),this.frequency=this.oscillator.frequency,this.detune=this.oscillator.detune,this.filter=new s.default.Filter(t.filter),this.filter.frequency.value=5e3,this.filterEnvelope=new s.default.FrequencyEnvelope(t.filterEnvelope),this.envelope=new s.default.AmplitudeEnvelope(t.envelope),this.oscillator.chain(this.filter,this.envelope,this.output),this.filterEnvelope.connect(this.filter.frequency),this._readOnly(["oscillator","frequency","detune","filter","filterEnvelope","envelope"])},s.default.extend(s.default.MonoSynth,s.default.Monophonic),s.default.MonoSynth.defaults={frequency:"C4",detune:0,oscillator:{type:"square"},filter:{Q:6,type:"lowpass",rolloff:-24},envelope:{attack:.005,decay:.1,sustain:.9,release:1},filterEnvelope:{attack:.06,decay:.2,sustain:.5,release:2,baseFrequency:200,octaves:7,exponent:2}},s.default.MonoSynth.prototype._triggerEnvelopeAttack=function(t,e){return t=this.toSeconds(t),this.envelope.triggerAttack(t,e),this.filterEnvelope.triggerAttack(t),this.oscillator.start(t),0===this.envelope.sustain&&this.oscillator.stop(t+this.envelope.attack+this.envelope.decay),this},s.default.MonoSynth.prototype._triggerEnvelopeRelease=function(t){return this.envelope.triggerRelease(t),this.filterEnvelope.triggerRelease(t),this.oscillator.stop(t+this.envelope.release),this},s.default.MonoSynth.prototype.dispose=function(){return s.default.Monophonic.prototype.dispose.call(this),this._writable(["oscillator","frequency","detune","filter","filterEnvelope","envelope"]),this.oscillator.dispose(),this.oscillator=null,this.envelope.dispose(),this.envelope=null,this.filterEnvelope.dispose(),this.filterEnvelope=null,this.filter.dispose(),this.filter=null,this.frequency=null,this.detune=null,this},e.default=s.default.MonoSynth},function(t,e,i){"use strict";i.r(e);var s=i(0);i(6),i(17),i(5),i(3);s.default.FatOscillator=function(){var t=s.default.defaults(arguments,["frequency","type","spread"],s.default.FatOscillator);s.default.Source.call(this,t),this.frequency=new s.default.Signal(t.frequency,s.default.Type.Frequency),this.detune=new s.default.Signal(t.detune,s.default.Type.Cents),this._oscillators=[],this._spread=t.spread,this._type=t.type,this._phase=t.phase,this._partials=t.partials,this._partialCount=t.partialCount,this.count=t.count,this._readOnly(["frequency","detune"])},s.default.extend(s.default.FatOscillator,s.default.Source),s.default.FatOscillator.defaults={frequency:440,detune:0,phase:0,spread:20,count:3,type:"sawtooth",partials:[],partialCount:0},s.default.FatOscillator.prototype._start=function(t){t=this.toSeconds(t),this._forEach(function(e){e.start(t)})},s.default.FatOscillator.prototype._stop=function(t){t=this.toSeconds(t),this._forEach(function(e){e.stop(t)})},s.default.FatOscillator.prototype.restart=function(t){t=this.toSeconds(t),this._forEach(function(e){e.restart(t)})},s.default.FatOscillator.prototype._forEach=function(t){for(var e=0;e<this._oscillators.length;e++)t.call(this,this._oscillators[e],e)},Object.defineProperty(s.default.FatOscillator.prototype,"type",{get:function(){return this._type},set:function(t){this._type=t,this._forEach(function(e){e.type=t})}}),Object.defineProperty(s.default.FatOscillator.prototype,"spread",{get:function(){return this._spread},set:function(t){if(this._spread=t,this._oscillators.length>1){var e=-t/2,i=t/(this._oscillators.length-1);this._forEach(function(t,s){t.detune.value=e+i*s})}}}),Object.defineProperty(s.default.FatOscillator.prototype,"count",{get:function(){return this._oscillators.length},set:function(t){if(t=Math.max(t,1),this._oscillators.length!==t){this._forEach(function(t){t.dispose()}),this._oscillators=[];for(var e=0;e<t;e++){var i=new s.default.Oscillator;this.type===s.default.Oscillator.Type.Custom?i.partials=this._partials:i.type=this._type,i.partialCount=this._partialCount,i.phase=this._phase+e/t*360,i.volume.value=-6-1.1*t,this.frequency.connect(i.frequency),this.detune.connect(i.detune),i.connect(this.output),this._oscillators[e]=i}this.spread=this._spread,this.state===s.default.State.Started&&this._forEac
5189h(function(t){t.start()})}}}),Object.defineProperty(s.default.FatOscillator.prototype,"phase",{get:function(){return this._phase},set:function(t){this._phase=t,this._forEach(function(e){e.phase=t})}}),Object.defineProperty(s.default.FatOscillator.prototype,"baseType",{get:function(){return this._oscillators[0].baseType},set:function(t){this._forEach(function(e){e.baseType=t}),this._type=this._oscillators[0].type}}),Object.defineProperty(s.default.FatOscillator.prototype,"partials",{get:function(){return this._oscillators[0].partials},set:function(t){this._partials=t,this._type=s.default.Oscillator.Type.Custom,this._forEach(function(e){e.partials=t})}}),Object.defineProperty(s.default.FatOscillator.prototype,"partialCount",{get:function(){return this._oscillators[0].partialCount},set:function(t){this._partialCount=t,this._forEach(function(e){e.partialCount=t}),this._type=this._oscillators[0].type}}),s.default.FatOscillator.prototype.dispose=function(){return s.default.Source.prototype.dispose.call(this),this._writable(["frequency","detune"]),this.frequency.dispose(),this.frequency=null,this.detune.dispose(),this.detune=null,this._forEach(function(t){t.dispose()}),this._oscillators=null,this._partials=null,this},e.default=s.default.FatOscillator},function(t,e,i){"use strict";i.r(e);var s=i(0);i(6),i(17),i(5),i(3),i(22);s.default.AMOscillator=function(){var t=s.default.defaults(arguments,["frequency","type","modulationType"],s.default.AMOscillator);s.default.Source.call(this,t),this._carrier=new s.default.Oscillator(t.frequency,t.type),this.frequency=this._carrier.frequency,this.detune=this._carrier.detune,this.detune.value=t.detune,this._modulator=new s.default.Oscillator(t.frequency,t.modulationType),this._modulationScale=new s.default.AudioToGain,this.harmonicity=new s.default.Multiply(t.harmonicity),this.harmonicity.units=s.default.Type.Positive,this._modulationNode=new s.default.Gain(0),this.frequency.chain(this.harmonicity,this._modulator.frequency),this.detune.connect(this._modulator.detune),this._modulator.chain(this._modulationScale,this._modulationNode.gain),this._carrier.chain(this._modulationNode,this.output),this.phase=t.phase,this._readOnly(["frequency","detune","harmonicity"])},s.default.extend(s.default.AMOscillator,s.default.Oscillator),s.default.AMOscillator.defaults={frequency:440,detune:0,phase:0,type:"sine",modulationType:"square",harmonicity:1},s.default.AMOscillator.prototype._start=function(t){this._modulator.start(t),this._carrier.start(t)},s.default.AMOscillator.prototype._stop=function(t){this._modulator.stop(t),this._carrier.stop(t)},s.default.AMOscillator.prototype.restart=function(t){this._modulator.restart(t),this._carrier.restart(t)},Object.defineProperty(s.default.AMOscillator.prototype,"type",{get:function(){return this._carrier.type},set:function(t){this._carrier.type=t}}),Object.defineProperty(s.default.AMOscillator.prototype,"baseType",{get:function(){return this._carrier.baseType},set:function(t){this._carrier.baseType=t}}),Object.defineProperty(s.default.AMOscillator.prototype,"partialCount",{get:function(){return this._carrier.partialCount},set:function(t){this._carrier.partialCount=t}}),Object.defineProperty(s.default.AMOscillator.prototype,"modulationType",{get:function(){return this._modulator.type},set:function(t){this._modulator.type=t}}),Object.defineProperty(s.default.AMOscillator.prototype,"phase",{get:function(){return this._carrier.phase},set:function(t){this._carrier.phase=t,this._modulator.phase=t}}),Object.defineProperty(s.default.AMOscillator.prototype,"partials",{get:function(){return this._carrier.partials},set:function(t){this._carrier.partials=t}}),s.default.AMOscillator.prototype.dispose=function(){return s.default.Source.prototype.dispose.call(this),this._writable(["frequency","detune","harmonicity"]),this.frequency=null,this.detune=null,this.harmonicity.dispose(),this.harmonicity=null,this._carrier.dispose(),this._carrier=null,this._modulator.dispose(),this._modulator=null,this._modulationNode.dispose(),this._modulationNode=null,this._modulationScale.dispose(),this._modulationScale=null,this},e.default=s.default.AMOscillator}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(6),i(50),i(17),i(5);s.default.PWMOscillator=function(){var t=s.default.defaults(arguments,["frequency","modulationFrequency"],s.default.PWMOscillator);s.default.Source.call(this,t),this._pulse=new s.default.PulseOscillator(t.modulationFrequency),this._pulse._sawtooth.type="sine",this._modulator=new s.default.Oscillator({frequency:t.frequency,detune:t.detune,phase:t.phase}),this._scale=new s.default.Multiply(2),this.frequency=this._modulator.frequency,this.detune=this._modulator.detune,this.modulationFrequency=this._pulse.frequency,this._modulator.chain(this._scale,this._pulse.width),this._pulse.connect(this.output),this._readOnly(["modulationFrequency","frequency","detune"])},s.default.extend(s.default.PWMOscillator,s.default.Source),s.default.PWMOscillator.defaults={frequency:440,detune:0,phase:0,modulationFrequency:.4},s.default.PWMOscillator.prototype._start=function(t){t=this.toSeconds(t),this._modulator.start(t),this._pulse.start(t)},s.default.PWMOscillator.prototype._stop=function(t){t=this.toSeconds(t),this._modulator.stop(t),this._pulse.stop(t)},s.default.PWMOscillator.prototype.restart=function(t){this._modulator.restart(t),this._pulse.restart(t)},Object.defineProperty(s.default.PWMOscillator.prototype,"type",{get:function(){return"pwm"}}),Object.defineProperty(s.default.PWMOscillator.prototype,"baseType",{get:function(){return"pwm"}}),Object.defineProperty(s.default.PWMOscillator.prototype,"partials",{get:function(){return[]}}),Object.defineProperty(s.default.PWMOscillator.prototype,"phase",{get:function(){return this._modulator.phase},set:function(t){this._modulator.phase=t}}),s.default.PWMOscillator.prototype.dispose=function(){return s.default.Source.prototype.dispose.call(this),this._pulse.dispose(),this._pulse=null,this._scale.dispose(),this._scale=null,this._modulator.dispose(),this._modulator=null,this._writable(["modulationFrequency","frequency","detune"]),this.frequency=null,this.detune=null,this.modulationFrequency=null,this},e.default=s.default.PWMOscillator},function(t,e,i){"use strict";i.r(e);var s=i(0);i(51),i(4),i(16);s.default.Part=function(){var t=s.default.defaults(arguments,["callback","events"],s.default.Part);s.default.Event.call(this,t),this._events=[];for(var e=0;e<t.events.length;e++)Array.isArray(t.events[e])?this.add(t.events[e][0],t.events[e][1]):this.add(t.events[e])},s.default.extend(s.default.Part,s.default.Event),s.default.Part.defaults={callback:s.default.noOp,loop:!1,loopEnd:"1m",loopStart:0,playbackRate:1,probability:1,humanize:!1,mute:!1,events:[]},s.default.Part.prototype.start=function(t,e){var i=this.toTicks(t);return this._state.getValueAtTime(i)!==s.default.State.Started&&(e=this._loop?s.default.defaultArg(e,this._loopStart):s.default.defaultArg(e,0),e=this.toTicks(e),this._state.add({state:s.default.State.Started,time:i,offset:e}),this._forEach(function(t){this._startNote(t,i,e)})),this},s.default.Part.prototype._startNote=function(t,e,i){e-=i,this._loop?t.startOffset>=this._loopStart&&t.startOffset<this._loopEnd?(t.startOffset<i&&(e+=this._getLoopDuration()),t.start(s.default.Ticks(e))):t.startOffset<this._loopStart&&t.startOffset>=i&&(t.loop=!1,t.start(s.default.Ticks(e))):t.startOffset>=i&&t.start(s.default.Ticks(e))},Object.defineProperty(s.default.Part.prototype,"startOffset",{get:function(){return this._startOffset},set:function(t){this._startOffset=t,this._forEach(function(t){t.startOffset+=this._startOffset})}}),s.default.Part.prototype.stop=function(t){var e=this.toTicks(t);return this._state.cancel(e),this._state.setStateAtTime(s.default.State.Stopped,e),this._forEach(function(e){e.stop(t)}),this},s.default.Part.prototype.at=function(t,e){t=s.default.TransportTime(t);for(var i=s.default.Ticks(1).toSeconds(),n=0;n<this._events.length;n++){var o=this._events[n];if(Math.abs(t.toTicks()-o.startOffset)<i)return s.default.isDefined(e)&&(o.value=e),o}return s.default.isDefined(e)?(this.add(t,e),this._events[this._events.length-1]):null},s.default.Part.prototype.add=function(t,e){var i;
5189return t.hasOwnProperty("time")&&(t=(e=t).time),t=this.toTicks(t),e instanceof s.default.Event?(i=e).callback=this._tick.bind(this):i=new s.default.Event({callback:this._tick.bind(this),value:e}),i.startOffset=t,i.set({loopEnd:this.loopEnd,loopStart:this.loopStart,loop:this.loop,humanize:this.humanize,playbackRate:this.playbackRate,probability:this.probability}),this._events.push(i),this._restartEvent(i),this},s.default.Part.prototype._restartEvent=function(t){this._state.forEach(function(e){e.state===s.default.State.Started?this._startNote(t,e.time,e.offset):t.stop(s.default.Ticks(e.time))}.bind(this))},s.default.Part.prototype.remove=function(t,e){t.hasOwnProperty("time")&&(t=(e=t).time),t=this.toTicks(t);for(var i=this._events.length-1;i>=0;i--){var n=this._events[i];n.startOffset===t&&(s.default.isUndef(e)||s.default.isDefined(e)&&n.value===e)&&(this._events.splice(i,1),n.dispose())}return this},s.default.Part.prototype.removeAll=function(){return this._forEach(function(t){t.dispose()}),this._events=[],this},s.default.Part.prototype.cancel=function(t){return this._forEach(function(e){e.cancel(t)}),this._state.cancel(this.toTicks(t)),this},s.default.Part.prototype._forEach=function(t,e){if(this._events){e=s.default.defaultArg(e,this);for(var i=this._events.length-1;i>=0;i--){var n=this._events[i];n instanceof s.default.Part?n._forEach(t,e):t.call(e,n)}}return this},s.default.Part.prototype._setAll=function(t,e){this._forEach(function(i){i[t]=e})},s.default.Part.prototype._tick=function(t,e){this.mute||this.callback(t,e)},s.default.Part.prototype._testLoopBoundries=function(t){this._loop&&(t.startOffset<this._loopStart||t.startOffset>=this._loopEnd)?t.cancel(0):t.state===s.default.State.Stopped&&this._restartEvent(t)},Object.defineProperty(s.default.Part.prototype,"probability",{get:function(){return this._probability},set:function(t){this._probability=t,this._setAll("probability",t)}}),Object.defineProperty(s.default.Part.prototype,"humanize",{get:function(){return this._humanize},set:function(t){this._humanize=t,this._setAll("humanize",t)}}),Object.defineProperty(s.default.Part.prototype,"loop",{get:function(){return this._loop},set:function(t){this._loop=t,this._forEach(function(e){e._loopStart=this._loopStart,e._loopEnd=this._loopEnd,e.loop=t,this._testLoopBoundries(e)})}}),Object.defineProperty(s.default.Part.prototype,"loopEnd",{get:function(){return s.default.Ticks(this._loopEnd).toSeconds()},set:function(t){this._loopEnd=this.toTicks(t),this._loop&&this._forEach(function(e){e.loopEnd=t,this._testLoopBoundries(e)})}}),Object.defineProperty(s.default.Part.prototype,"loopStart",{get:function(){return s.default.Ticks(this._loopStart).toSeconds()},set:function(t){this._loopStart=this.toTicks(t),this._loop&&this._forEach(function(t){t.loopStart=this.loopStart,this._testLoopBoundries(t)})}}),Object.defineProperty(s.default.Part.prototype,"playbackRate",{get:function(){return this._playbackRate},set:function(t){this._playbackRate=t,this._setAll("playbackRate",t)}}),Object.defineProperty(s.default.Part.prototype,"length",{get:function(){return this._events.length}}),s.default.Part.prototype.dispose=function(){return s.default.Event.prototype.dispose.call(this),this.removeAll(),this.callback=null,this._events=null,this},e.default=s.default.Part},function(t,e,i){"use strict";i.r(e);var s=i(0);i(51);s.default.Loop=function(){var t=s.default.defaults(arguments,["callback","interval"],s.default.Loop);s.default.call(this),this._event=new s.default.Event({callback:this._tick.bind(this),loop:!0,loopEnd:t.interval,playbackRate:t.playbackRate,probability:t.probability}),this.callback=t.callback,this.iterations=t.iterations},s.default.extend(s.default.Loop),s.default.Loop.defaults={interval:"4n",callback:s.default.noOp,playbackRate:1,iterations:1/0,probability:!0,mute:!1},s.default.Loop.prototype.start=function(t){return this._event.start(t),this},s.default.Loop.prototype.stop=function(t){return this._event.stop(t),this},s.default.Loop.prototype.cancel=function(t){return this._event.cancel(t),this},s.default.Loop.prototype._tick=function(t){this.callback(t)},Object.defineProperty(s.default.Loop.prototype,"state",{get:function(){return this._event.state}}),Object.defineProperty(s.default.Loop.prototype,"progress",{get:function(){return this._event.progress}}),Object.defineProperty(s.default.Loop.prototype,"interval",{get:function(){return this._event.loopEnd},set:function(t){this._event.loopEnd=t}}),Object.defineProperty(s.default.Loop.prototype,"playbackRate",{get:function(){return this._event.playbackRate},set:function(t){this._event.playbackRate=t}}),Object.defineProperty(s.default.Loop.prototype,"humanize",{get:function(){return this._event.humanize},set:function(t){this._event.humanize=t}}),Object.defineProperty(s.default.Loop.prototype,"probability",{get:function(){return this._event.probability},set:function(t){this._event.probability=t}}),Object.defineProperty(s.default.Loop.prototype,"mute",{get:function(){return this._event.mute},set:function(t){this._event.mute=t}}),Object.defineProperty(s.default.Loop.prototype,"iterations",{get:function(){return!0===this._event.loop?1/0:this._event.loop},set:function(t){this._event.loop=t===1/0||t}}),s.default.Loop.prototype.dispose=function(){this._event.dispose(),this._event=null,this.callback=null},e.default=s.default.Loop}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(15),i(33);s.default.StereoXFeedbackEffect=function(){var t=s.default.defaults(arguments,["feedback"],s.default.FeedbackEffect);s.default.StereoEffect.call(this,t),this.feedback=new s.default.Signal(t.feedback,s.default.Type.NormalRange),this._feedbackLR=new s.default.Gain,this._feedbackRL=new s.default.Gain,this.effectReturnL.chain(this._feedbackLR,this.effectSendR),this.effectReturnR.chain(this._feedbackRL,this.effectSendL),this.feedback.fan(this._feedbackLR.gain,this._feedbackRL.gain),this._readOnly(["feedback"])},s.default.extend(s.default.StereoXFeedbackEffect,s.default.StereoEffect),s.default.StereoXFeedbackEffect.prototype.dispose=function(){return s.default.StereoEffect.prototype.dispose.call(this),this._writable(["feedback"]),this.feedback.dispose(),this.feedback=null,this._feedbackLR.dispose(),this._feedbackLR=null,this._feedbackRL.dispose(),this._feedbackRL=null,this},e.default=s.default.StereoXFeedbackEffect},function(t,e,i){"use strict";i.r(e);var s=i(0);i(8),i(53),i(52);s.default.MidSideEffect=function(){s.default.Effect.apply(this,arguments),this._midSideSplit=new s.default.MidSideSplit,this._midSideMerge=new s.default.MidSideMerge,this.midSend=this._midSideSplit.mid,this.sideSend=this._midSideSplit.side,this.midReturn=this._midSideMerge.mid,this.sideReturn=this._midSideMerge.side,this.effectSend.connect(this._midSideSplit),this._midSideMerge.connect(this.effectReturn)},s.default.extend(s.default.MidSideEffect,s.default.Effect),s.default.MidSideEffect.prototype.dispose=function(){return s.default.Effect.prototype.dispose.call(this),this._midSideSplit.dispose(),this._midSideSplit=null,this._midSideMerge.dispose(),this._midSideMerge=null,this.midSend=null,this.sideSend=null,this.midReturn=null,this.sideReturn=null,this},e.default=s.default.MidSideEffect},function(t,e,i){"use strict";i.r(e);var s=i(0);i(11),i(8);s.default.Convolver=function(){var t=s.default.defaults(arguments,["url","onload"],s.default.Convolver);s.default.Effect.call(this,t),this._convolver=this.context.createConvolver(),this._buffer=new s.default.Buffer(t.url,function(e){this.buffer=e.get(),t.onload()}.bind(this)),this._buffer.loaded&&(this.buffer=this._buffer),this.normalize=t.normalize,this.connectEffect(this._convolver)},s.default.extend(s.default.Convolver,s.default.Effect),s.default.Convolver.defaults={onload:s.default.noOp,normalize:!0},Object.defineProperty(s.default.Convolver.prototype,"buffer",{get:function(){return this._buffer.length?this._buffer:null},set:function(t){this._buffer.set(t),this._convolver.buffer&&(this.effectSend.disconnect(),this._convolver.disconnect(),this._convolver=this.context.createConvolver(),this.connectEffect(this._convolver)),this._convolver.buffer=this._buffer.get()}}),Object.defineProperty(s.default.Convolver.prototype,"normalize",{get:function(){return this._convolver.normalize},set:function(t){this._convolver.normalize=t}}),s.default.Convolver.prototype.load=function(t,e){return this._buffer.load(t,function(t){this.buffer=t,e&&e()}.bind(this))},s.default.Convolver.prototype.dispose=function(){return s.default.Effect.prototype.dispose.call(this),this._buffer.dispose(),this._buffer=null,this._convolver.disconnect(),this._convolver=null,this},e.default=s.default.Convolver},function(t,e,i){"use strict";i.r(e);var s=i(0);i(7),i(5),i(13);s.default.Modulo=function(t){s.default.SignalBase.call(this),this.createInsOuts(1,0),this._shaper=new s.default.WaveShaper(Math.pow(2,16)),this._multiply=new s.default.Multiply,this._subtract=this.output=new s.default.Subtract,this._modSignal=new s.default.Signal(t),s.default.connect(this.input,this._shaper),s.default.connect(this.input,this._subtract),this._modSignal.connect(this._multiply,0,0),this._shaper.connect(this._multiply,0,1),this._multiply.connect(this._subtract,0,1),this._setWaveShaper(t)},s.default.extend(s.default.Modulo,s.default.SignalBase),s.default.Modulo.prototype._setWaveShaper=function(t){this._shaper.setMap(function(e){return Math.floor((e+1e-4)/t)})},Object.defineProperty(s.default.Modulo.prototype,"value",{get:function(){return this._modSignal.value},set:function(t){this._modSignal.value=t,this._setWaveShaper(t)}}),s.default.Modulo.prototype.dispose=function(){return s.default.SignalBase.prototype.dispose.call(this),this._shaper.dispose(),this._shaper=null,this._multiply.dispose(),this._multiply=null,this._subtract.dispose(),this._subtract=null,this._modSignal.dis
5189pose(),this._modSignal=null,this},e.default=s.default.Modulo},function(t,e,i){"use strict";i.r(e);var s=i(0);i(20),i(92);s.default.OfflineContext=function(t,e,i){var n=new OfflineAudioContext(t,e*i,i);s.default.Context.call(this,{context:n,clockSource:"offline",lookAhead:0,updateInterval:128/i}),this._duration=e,this._currentTime=0},s.default.extend(s.default.OfflineContext,s.default.Context),s.default.OfflineContext.prototype.now=function(){return this._currentTime},s.default.OfflineContext.prototype.resume=function(){return Promise.resolve()},s.default.OfflineContext.prototype.render=function(){for(;this._duration-this._currentTime>=0;)this.emit("tick"),this._currentTime+=.005;return this._context.startRendering()},s.default.OfflineContext.prototype.close=function(){return this._context=null,Promise.resolve()},e.default=s.default.OfflineContext},function(t,e,i){"use strict";i.r(e);var s=i(0);i(16),i(11),i(76),i(40);s.default.Offline=function(t,e){var i=s.default.context.sampleRate,n=s.default.context,o=new s.default.OfflineContext(2,e,i);s.default.context=o;var a=t(s.default.Transport),r=null;return r=a&&s.default.isFunction(a.then)?a.then(function(){return o.render()}):o.render(),s.default.context=n,r.then(function(t){return new s.default.Buffer(t)})},e.default=s.default.Offline},function(t,e,i){"use strict";i.r(e);var s=i(0);i(11);s.default.Buffers=function(t){var e=Array.prototype.slice.call(arguments);e.shift();var i=s.default.defaults(e,["onload","baseUrl"],s.default.Buffers);for(var n in s.default.call(this),this._buffers={},this.baseUrl=i.baseUrl,this._loadingCount=0,t)this._loadingCount++,this.add(n,t[n],this._bufferLoaded.bind(this,i.onload))},s.default.extend(s.default.Buffers),s.default.Buffers.defaults={onload:s.default.noOp,baseUrl:""},s.default.Buffers.prototype.has=function(t){return this._buffers.hasOwnProperty(t)},s.default.Buffers.prototype.get=function(t){if(this.has(t))return this._buffers[t];throw new Error("Tone.Buffers: no buffer named "+t)},s.default.Buffers.prototype._bufferLoaded=function(t){this._loadingCount--,0===this._loadingCount&&t&&t(this)},Object.defineProperty(s.default.Buffers.prototype,"loaded",{get:function(){var t=!0;for(var e in this._buffers){var i=this.get(e);t=t&&i.loaded}return t}}),s.default.Buffers.prototype.add=function(t,e,i){return i=s.default.defaultArg(i,s.default.noOp),e instanceof s.default.Buffer?(this._buffers[t]=e,i(this)):e instanceof AudioBuffer?(this._buffers[t]=new s.default.Buffer(e),i(this)):s.default.isString(e)&&(this._buffers[t]=new s.default.Buffer(this.baseUrl+e,i)),this},s.default.Buffers.prototype.dispose=function(){for(var t in s.default.prototype.dispose.call(this),this._buffers)this._buffers[t].dispose();return this._buffers=null,this},e.default=s.default.Buffers},function(t,e,i){"use strict";i.r(e);var s=i(0);s.default.CtrlPattern=function(){var t=s.default.defaults(arguments,["values","type"],s.default.CtrlPattern);s.default.call(this),this.values=t.values,this.index=0,this._type=null,this._shuffled=null,this._direction=null,this.type=t.type},s.default.extend(s.default.CtrlPattern),s.default.CtrlPattern.Type={Up:"up",Down:"down",UpDown:"upDown",DownUp:"downUp",AlternateUp:"alternateUp",AlternateDown:"alternateDown",Random:"random",RandomWalk:"randomWalk",RandomOnce:"randomOnce"},s.default.CtrlPattern.defaults={type:s.default.CtrlPattern.Type.Up,values:[]},Object.defineProperty(s.default.CtrlPattern.prototype,"value",{get:function(){if(0!==this.values.length){if(1===this.values.length)return this.values[0];this.index=Math.min(this.index,this.values.length-1);var t=this.values[this.index];return this.type===s.default.CtrlPattern.Type.RandomOnce&&(this.values.length!==this._shuffled.length&&this._shuffleValues(),t=this.values[this._shuffled[this.index]]),t}}}),Object.defineProperty(s.default.CtrlPattern.prototype,"type",{get:function(){return this._type},set:function(t){this._type=t,this._shuffled=null,this._type===s.default.CtrlPattern.Type.Up||this._type===s.default.CtrlPattern.Type.UpDown||this._type===s.default.CtrlPattern.Type.RandomOnce||this._type===s.default.CtrlPattern.Type.AlternateUp?this.index=0:this._type!==s.default.CtrlPattern.Type.Down&&this._type!==s.default.CtrlPattern.Type.DownUp&&this._type!==s.default.CtrlPattern.Type.AlternateDown||(this.index=this.values.length-1),this._type===s.default.CtrlPattern.Type.UpDown||this._type===s.default.CtrlPattern.Type.AlternateUp?this._direction=s.default.CtrlPattern.Type.Up:this._type!==s.default.CtrlPattern.Type.DownUp&&this._type!==s.default.CtrlPattern.Type.AlternateDown||(this._direction=s.default.CtrlPattern.Type.Down),this._type===s.default.CtrlPattern.Type.RandomOnce?this._shuffleValues():this._type===s.default.CtrlPattern.Type.Random&&(this.index=Math.floor(Math.random()*this.values.length))}}
5189),s.default.CtrlPattern.prototype.next=function(){var t=this.type;return t===s.default.CtrlPattern.Type.Up?(this.index++,this.index>=this.values.length&&(this.index=0)):t===s.default.CtrlPattern.Type.Down?(this.index--,this.index<0&&(this.index=this.values.length-1)):t===s.default.CtrlPattern.Type.UpDown||t===s.default.CtrlPattern.Type.DownUp?(this._direction===s.default.CtrlPattern.Type.Up?this.index++:this.index--,this.index<0?(this.index=1,this._direction=s.default.CtrlPattern.Type.Up):this.index>=this.values.length&&(this.index=this.values.length-2,this._direction=s.default.CtrlPattern.Type.Down)):t===s.default.CtrlPattern.Type.Random?this.index=Math.floor(Math.random()*this.values.length):t===s.default.CtrlPattern.Type.RandomWalk?Math.random()<.5?(this.index--,this.index=Math.max(this.index,0)):(this.index++,this.index=Math.min(this.index,this.values.length-1)):t===s.default.CtrlPattern.Type.RandomOnce?(this.index++,this.index>=this.values.length&&(this.index=0,this._shuffleValues())):t===s.default.CtrlPattern.Type.AlternateUp?(this._direction===s.default.CtrlPattern.Type.Up?(this.index+=2,this._direction=s.default.CtrlPattern.Type.Down):(this.index-=1,this._direction=s.default.CtrlPattern.Type.Up),this.index>=this.values.length&&(this.index=0,this._direction=s.default.CtrlPattern.Type.Up)):t===s.default.CtrlPattern.Type.AlternateDown&&(this._direction===s.default.CtrlPattern.Type.Up?(this.index+=1,this._direction=s.default.CtrlPattern.Type.Down):(this.index-=2,this._direction=s.default.CtrlPattern.Type.Up),this.index<0&&(this.index=this.values.length-1,this._direction=s.default.CtrlPattern.Type.Down)),this.value},s.default.CtrlPattern.prototype._shuffleValues=function(){var t=[];this._shuffled=[];for(var e=0;e<this.values.length;e++)t[e]=e;for(;t.length>0;){var i=t.splice(Math.floor(t.length*Math.random()),1);this._shuffled.push(i[0])}},s.default.CtrlPattern.prototype.dispose=function(){this._shuffled=null,this.values=null},e.default=s.default.CtrlPattern},function(t,e,i){"use strict";i.r(e);var s=i(0);i(56),i(55);s.default.TransportRepeatEvent=function(t,e){s.default.TransportEvent.call(this,t,e),e=s.default.defaultArg(e,s.default.TransportRepeatEvent.defaults),this.duration=s.default.Ticks(e.duration),this._interval=s.default.Ticks(e.interval),this._currentId=-1,this._nextId=-1,this._nextTick=this.time,this._boundRestart=this._restart.bind(this),this.Trans
5189port.on("start loopStart",this._boundRestart),this._restart()},s.default.extend(s.default.TransportRepeatEvent,s.default.TransportEvent),s.default.TransportRepeatEvent.defaults={duration:1/0,interval:1},s.default.TransportRepeatEvent.prototype.invoke=function(t){this._createEvents(t),s.default.TransportEvent.prototype.invoke.call(this,t)},s.default.TransportRepeatEvent.prototype._createEvents=function(t){var e=this.Transport.getTicksAtTime(t);e>=this.time&&e>=this._nextTick&&this._nextTick+this._interval<this.time+this.duration&&(this._nextTick+=this._interval,this._currentId=this._nextId,this._nextId=this.Transport.scheduleOnce(this.invoke.bind(this),s.default.Ticks(this._nextTick)))},s.default.TransportRepeatEvent.prototype._restart=function(t){this.Transport.clear(this._currentId),this.Transport.clear(this._nextId),this._nextTick=this.time;var e=this.Transport.getTicksAtTime(t);e>this.time&&(this._nextTick=this.time+Math.ceil((e-this.time)/this._interval)*this._interval),this._currentId=this.Transport.scheduleOnce(this.invoke.bind(this),s.default.Ticks(this._nextTick)),this._nextTick+=this._interval,this._nextId=this.Transport.scheduleOnce(this.invoke.bind(this),s.default.Ticks(this._nextTick))},s.default.TransportRepeatEvent.prototype.dispose=function(){return this.Transport.clear(this._currentId),this.Trans
5189port.clear(this._nextId),this.Transport.off("start loopStart",this._boundRestart),this._boundCreateEvents=null,s.default.TransportEvent.prototype.dispose.call(this),this.duration=null,this._interval=null,this},e.default=s.default.TransportRepeatEvent},function(t,e,i){"use strict";i.r(e);var s=i(0);i(4);s.default.IntervalTimeline=function(){s.default.call(this),this._root=null,this._length=0},s.default.extend(s.default.IntervalTimeline),s.default.IntervalTimeline.prototype.add=function(t){if(s.default.isUndef(t.time)||s.default.isUndef(t.duration))throw new Error("Tone.IntervalTimeline: events must have time and duration parameters");t.time=t.time.valueOf();var e=new n(t.time,t.time+t.duration,t);for(null===this._root?this._root=e:this._root.insert(e),this._length++;null!==e;)e.updateHeight(),e.updateMax(),this._rebalance(e),e=e.parent;return this},s.default.IntervalTimeline.prototype.remove=function(t){if(null!==this._root){var e=[];this._root.search(t.time,e);for(var i=0;i<e.length;i++){var s=e[i];if(s.event===t){this._removeNode(s),this._length--;break}}}return this},Object.defineProperty(s.default.IntervalTimeline.prototype,"length",{get:function(){return this._length}}),s.default.IntervalTimeline.prototype.cancel=function(t){return this.forEachFrom(t,function(t){this.remove(t)}.bind(this)),this},s.default.IntervalTimeline.prototype._setRoot=function(t){this._root=t,null!==this._root&&(this._root.parent=null)},s.default.IntervalTimeline.prototype._replaceNodeInParent=function(t,e){null!==t.parent?(t.isLeftChild()?t.parent.left=e:t.parent.right=e,this._rebalance(t.parent)):this._setRoot(e)},s.default.IntervalTimeline.prototype._removeNode=function(t){if(null===t.left&&null===t.right)this._replaceNodeInParent(t,null);else if(null===t.right)this._replaceNodeInParent(t,t.left);else if(null===t.left)this._replaceNodeInParent(t,t.right);else{var e,i;if(t.getBalance()>0)if(null===t.left.right)(e=t.left).right=t.right,i=e;else{for(e=t.left.right;null!==e.right;)e=e.right;e.parent.right=e.left,i=e.parent,e.left=t.left,e.right=t.right}else if(null===t.right.left)(e=t.right).left=t.left,i=e;else{for(e=t.right.left;null!==e.left;)e=e.left;e.parent.left=e.right,i=e.parent,e.left=t.left,e.right=t.right}null!==t.parent?t.isLeftChild()?t.parent.left=e:t.parent.right=e:this._setRoot(e),this._rebalance(i)}t.dispose()},s.default.IntervalTimeline.prototype._rotateLeft=function(t){var e=t.parent,i=t.isLeftChild(),s=t.right;t.right=s.left,s.left=t,null!==e?i?e.left=s:e.right=s:this._setRoot(s)},s.default.IntervalTimeline.prototype._rotateRight=function(t){var e=t.parent,i=t.isLeftChild(),s=t.left;t.left=s.right,s.right=t,null!==e?i?e.left=s:e.right=s:this._setRoot(s)},s.default.IntervalTimeline.prototype._rebalance=function(t){var e=t.getBalance();e>1?t.left.getBalance()<0?this._rotateLeft(t.left):this._rotateRight(t):e<-1&&(t.right.getBalance()>0?this._rotateRight(t.right):this._rotateLeft(t))},s.default.IntervalTimeline.prototype.get=function(t){if(null!==this._root){var e=[];if(this._root.search(t,e),e.length>0){for(var i=e[0],s=1;s<e.length;s++)e[s].low>i.low&&(i=e[s]);return i.event}}return null},s.default.IntervalTimeline.prototype.forEach=function(t){if(null!==this._root){var e=[];this._root.traverse(function(t){e.push(t)});for(var i=0;i<e.length;i++){var s=e[i].event;s&&t(s)}}return this},s.default.IntervalTimeline.prototype.forEachAtTime=function(t,e){if(null!==this._root){var i=[];this._root.search(t,i);for(var s=i.length-1;s>=0;s--){var n=i[s].event;n&&e(n)}}return this},s.default.IntervalTimeline.prototype.forEachFrom=function(t,e){if(null!==this._root){var i=[];this._root.searchAfter(t,i);for(var s=i.length-1;s>=0;s--){e(i[s].event)}}return this},s.default.IntervalTimeline.prototype.dispose=function(){var t=[];null!==this._root&&this._root.traverse(function(e){t.push(e)});for(var e=0;e<t.length;e++)t[e].dispose();return t=null,this._root=null,this};var n=function(t,e,i){this.event=i,this.low=t,this.high=e,this.max=this.high,this._left=null,this._right=null,this.parent=null,this.height=0};n.prototype.insert=function(t){t.low<=this.low?null===this.left?this.left=t:this.left.insert(t):null===this.right?this.right=t:this.right.insert(t)},n.prototype.search=function(t,e){t>this.max||(null!==this.left&&this.left.search(t,e),this.low<=t&&this.high>t&&e.push(this),this.low>t||null!==this.right&&this.right.search(t,e))},n.prototype.searchAfter=function(t,e){this.low>=t&&(e.push(this),null!==this.left&&this.left.searchAfter(t,e)),null!==this.right&&this.right.searchAfter(t,e)},n.prototype.traverse=function(t){t(this),null!==this.left&&this.left.traverse(t),null!==this.right&&this.right.traverse(t)},n.prototype.updateHeight=function(){null!==this.left&&null!==this.right?this.height=Math.max(this.left.height,this.right.height)+1:null!==this.right?this.height=this.right.height+1:null!==this.left?this.height=this.left.height+1:this.height=0},n.prototype.updateMax=function(){this.max=this.high,null!==this.left&&(this.max=Math.max(this.max,this.left.max)),null!==this.right&&(this.max=Math.max(this.max,this.right.max))},n.prototype.getBalance=function(){var t=0;return null!==this.left&&null!==this.right?t=this.left.height-this.right.height:null!==this.left?t=this.left.height+1:null!==this.right&&(t=-(this.right.height+1)),t},n.prototype.isLeftChild=function(){return null!==this.parent&&this.parent.left===this},Object.defineProperty(n.prototype,"left",{get:function(){return this._left},set:function(t){this._left=t,null!==t&&(t.parent=this),this.updateHeight(),this.updateMax()}}),Object.defineProperty(n.prototype,"right",{get:function(){return this._right},set:function(t){this._right=t,null!==t&&(t.parent=this),this.updateHeight(),this.updateMax()}}),n.prototype.dispose=function(){this.parent=null,this._left=null,this._right=null,this.event=null},e.default=s.default.IntervalTimeline}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(2);function n(t){return function(e,i){i=this.toSeconds(i),t.apply(this,arguments);var s=this._events.get(i),n=this._events.previousEvent(s),o=this._getTicksUntilEvent(n,i);return s.ticks=Math.max(o,0),this}}s.default.TickSignal=function(t){t=s.default.defaultArg(t,1),s.default.Signal.call(this,{units:s.default.Type.Ticks,value:t}),this._events.memory=1/0,this.cancelScheduledValues(0),this._events.add({type:s.default.Param.AutomationType.SetValue,time:0,value:t})},s.default.extend(s.default.TickSignal,s.default.Signal),s.default.TickSignal.prototype.setValueAtTime=n(s.default.Signal.prototype.setValueAtTime),s.default.TickSignal.prototype.linearRampToValueAtTime=n(s.default.Signal.prototype.linearRampToValueAtTime),s.default.TickSignal.prototype.setTargetAtTime=function(t,e,i){e=this.toSeconds(e),this.setRampPoint(e),t=this._fromUnits(t);for(var s=this._events.get(e),n=Math.round(Math.max(1/i,1)),o=0;o<=n;o++){var a=i*o+e,r=this._exponentialApproach(s.time,s.value,t,i,a);this.linearRampToValueAtTime(this._toUnits(r),a)}return this},s.default.TickSignal.prototype.exponentialRampToValueAtTime=function(t,e){e=this.toSeconds(e),t=this._fromUnits(t);for(var i=this._events.get(e),s=Math.round(Math.max(10*(e-i.time),1)),n=(e-i.time)/s,o=0;o<=s;o++){var a=n*o+i.time,r=this._exponentialInterpolate(i.time,i.value,e,t,a);this.linearRampToValueAtTime(this._toUnits(r),a)}return this},s.default.TickSignal.prototype._getTicksUntilEvent=function(t,e){if(null===t)t={ticks:0,time:0};else if(s.default.isUndef(t.ticks)){var i=this._events.previousEvent(t);t.ticks=this._getTicksUntilEvent(i,t.time)}var n=this.getValueAtTime(t.time),o=this.getValueAtTime(e);return this._events.get(e).time===e&&this._events.get(e).type===s.default.Param.AutomationType.SetValue&&(o=this.getValueAtTime(e-this.sampleTime)),.5*(e-t.time)*(n+o)+t.ticks},s.default.TickSignal.prototype.getTicksAtTime=function(t){t=this.toSeconds(t);var e=this._events.get(t);return Math.max(this._getTicksUntilEvent(e,t),0)},s.default.TickSignal.prototype.getDurationOfTicks=function(t,e){e=this.toSeconds(e);var i=this.getTicksAtTime(e);return this.getTimeOfTick(i+t)-e},s.default.TickSignal.prototype.getTimeOfTick=function(t){var e=this._events.get(t,"ticks"),i=this._events.getAfter(t,"ticks");if(e&&e.ticks===t)return e.time;if(e&&i&&i.type===s.default.Param.AutomationType.Linear&&e.value!==i.value){var n=this.getValueAtTime(e.time),o=(this.getValueAtTime(i.time)-n)/(i.time-e.time),a=Math.sqrt(Math.pow(n,2)-2*o*(e.ticks-t)),r=(-n+a)/o;return(r>0?r:(-n-a)/o)+e.time}return e?0===e.value?1/0:e.time+(t-e.ticks)/e.value:t/this._initialValue},s.default.TickSignal.prototype.ticksToTime=function(t,e){return e=this.toSeconds(e),new s.default.Time(this.getDurationOfTicks(t,e))},s.default.TickSignal.prototype.timeToTicks=function(t,e){e=this.toSeconds(e),t=this.toSeconds(t);var i=this.getTicksAtTime(e),n=this.getTicksAtTime(e+t);return new s.default.Ticks(n-i)},e.default=s.default.TickSignal},function(t,e,i){"use strict";i.r(e);var s=i(0);i(57),i(34),i(35),i(20);s.default.Clock=function(){var t=s.default.defaults(arguments,["callback","frequency"],s.default.Clock);s.default.Emitter.call(this),this.callback=t.callback,this._nextTick=0,this._tickSource=new s.default.TickSource(t.frequency),this._lastUpdate=0,this.frequency=this._tickSource.frequency,this._readOnly("frequency"),this._state=new s.default.TimelineState(s.default.State.Stopped),this._state.setStateAtTime(s.default.State.Stopped,0),this._boundLoop=this._loop.bind(this),this.context.on("tick",this._boundLoop)},s.default.extend(s.default.Clock,s.default.Emitter),s.default.Clock.defaults={callback:s.default.noOp,frequency:1},Object.defineProperty(s.default.Clock.prototype,"state",{get:function(){return this._state.getValueAtTime(this.now())}}),s.default.Clock.prototype.start=function(t,e){return this.context.resume(),t=this.toSeconds(t),this._state.getValueAtTime(t)!==s.default.State.Started&&(this._state.setStateAtTime(s.default.State.Started,t),this._tickSource.start(t,e),t<this._lastUpdate&&this.emit
5189("start",t,e)),this},s.default.Clock.prototype.stop=function(t){return t=this.toSeconds(t),this._state.cancel(t),this._state.setStateAtTime(s.default.State.Stopped,t),this._tickSource.stop(t),t<this._lastUpdate&&this.emit("stop",t),this},s.default.Clock.prototype.pause=function(t){return t=this.toSeconds(t),this._state.getValueAtTime(t)===s.default.State.Started&&(this._state.setStateAtTime(s.default.State.Paused,t),this._tickSource.pause(t),t<this._lastUpdate&&this.emit("pause",t)),this},Object.defineProperty(s.default.Clock.prototype,"ticks",{get:function(){return Math.ceil(this.getTicksAtTime(this.now()))},set:function(t){this._tickSource.ticks=t}}),Object.defineProperty(s.default.Clock.prototype,"seconds",{get:function(){return this._tickSource.seconds},set:function(t){this._tickSource.seconds=t}}),s.default.Clock.prototype.getSecondsAtTime=function(t){return this._tickSource.getSecondsAtTime(t)},s.default.Clock.prototype.setTicksAtTime=function(t,e){return this._tickSource.setTicksAtTime(t,e),this},s.default.Clock.prototype.getTicksAtTime=function(t){return this._tickSource.getTicksAtTime(t)},s.default.Clock.prototype.nextTickTime=function(t,e){e=this.toSeconds(e);var i=this.getTicksAtTime(e);return this._tickSource.getTimeOfTick(i+t,e)},s.default.Clock.prototype._loop=function(){var t=this._lastUpdate,e=this.now();this._lastUpdate=e,t!==e&&(this._state.forEachBetween(t,e,function(t){switch(t.state){case s.default.State.Started:var e=this._tickSource.getTicksAtTime(t.time);this.emit("start",t.time,e);break;case s.default.State.Stopped:0!==t.time&&this.emit("stop",t.time);break;case s.default.State.Paused:this.emit("pause",t.time)}}.bind(this)),this._tickSource.forEachTickBetween(t,e,function(t,e){this.callback(t,e)}.bind(this)))},s.default.Clock.prototype.getStateAtTime=function(t){return t=this.toSeconds(t),this._state.getValueAtTime(t)},s.default.Clock.prototype.dispose=function(){s.default.Emitter.prototype.dispose.call(this),this.context.off("tick",this._boundLoop),this._writable("frequency"),this._tickSource.dispose(),this._tickSource=null,this.frequency=null,this._boundLoop=null,this._nextTick=1/0,this.callback=null,this._state.dispose(),this._state=null},e.default=s.default.Clock},function(t,e,i){"use strict";i.r(e);var s=i(0);i(2),i(5),i(7);s.default.GreaterThanZero=function(){s.default.SignalBase.call(this),this._thresh=this.output=new s.default.WaveShaper(function(t){return t<=0?0:1},127),this._scale=this.input=new s.default.Multiply(1e4),this._scale.connect(this._thresh)},s.default.extend(s.default.GreaterThanZero,s.default.SignalBase),s.default.GreaterThanZero.prototype.dispose=function(){return s.default.SignalBase.prototype.dispose.call(this),this._scale.dispose(),this._scale=null,this._thresh.dispose(),this._thresh=null,this},e.default=s.default.GreaterThanZero},function(t,e,i){"use strict";i.r(e);var s=i(0);i(84),i(13),i(2);s.default.GreaterThan=function(t){s.default.Signal.call(this),this.createInsOuts(2,0),this._param=this.input[0]=new s.default.Subtract(t),this.input[1]=this._param.input[1],this._gtz=this.output=new s.default.GreaterThanZero,this._param.connect(this._gtz)},s.default.extend(s.default.GreaterThan,s.default.Signal),s.default.GreaterThan.prototype.dispose=function(){return s.default.Signal.prototype.dispose.call(this),this._gtz.dispose(),this._gtz=null,this},e.default=s.default.GreaterThan},function(t,e,i){"use strict";i.r(e);var s=i(0);i(47),i(26);s.default.ScaledEnvelope=function(){var t=s.default.defaults(arguments,["attack","decay","sustain","release"],s.default.Envelope);s.default.Envelope.call(this,t),t=s.default.defaultArg(t,s.default.ScaledEnvelope.defaults),this._exp=this.output=new s.default.Pow(t.exponent),this._scale=this.output=new s.default.Scale(t.min,t.max),this._sig.chain(this._exp,this._scale)},s.default.extend(s.default.ScaledEnvelope,s.default.Envelope),s.default.ScaledEnvelope.defaults={min:0,max:1,exponent:1},Object.defineProperty(s.default.ScaledEnvelope.prototype,"min",{get:function(){return this._scale.min},set:function(t){this._scale.min=t}}),Object.defineProperty(s.default.ScaledEnvelope.prototype,"max",{get:function(){return this._scale.max},set:function(t){this._scale.max=t}}),Object.defineProperty(s.default.ScaledEnvelope.prototype,"exponent",{get:function(){return this._exp.value},set:function(t){this._exp.value=t}}),s.default.ScaledEnvelope.prototype.dispose=function(){return s.default.Envelope.prototype.dispose.call(this),this._scale.dispose(),this._scale=null,this._exp.dispose(),this._exp=null,this},e.default=s.default.ScaledEnvelope}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(7),i(30);s.default.Abs=function(){s.default.SignalBase.call(this),this._abs=this.input=this.output=new s.default.WaveShaper(function(t){return Math.abs(t)<.001?0:Math.abs(t)},1024)},s.default.extend(s.default.Abs,s.default.SignalBase),s.default.Abs.prototype.dispose=function(){return s.default.SignalBase.prototype.dispose.call(this),this._abs.dispose(),this._abs=null,this},e.default=s.default.Abs},function(t,e,i){"use strict";i.r(e);var s=i(0);i(3),i(1);s.default.Solo=function(){var t=s.default.defaults(arguments,["solo"],s.default.Solo);s.default.AudioNode.call(this),this.input=this.output=new s.default.Gain,this._soloBind=this._soloed.bind(this),this.context.on("solo",this._soloBind),this.solo=t.solo},s.default.extend(s.default.Solo,s.default.AudioNode),s.default.Solo.defaults={solo:!1},Object.defineProperty(s.default.Solo.prototype,"solo",{get:function(){return this._isSoloed()},set:function(t){t?this._addSolo():this._removeSolo(),this.context.emit("solo",this)}}),Object.defineProperty(s.default.Solo.prototype,"muted",{get:function(){return 0===this.input.gain.value}}),s.default.Solo.prototype._addSolo=function(){s.default.isArray(this.context._currentSolo)||(this.context._currentSolo=[]),this._isSoloed()||this.context._currentSolo.push(this)},s.default.Solo.prototype._removeSolo=function(){if(this._isSoloed()){var t=this.context._currentSolo.indexOf(this);this.context._currentSolo.splice(t,1)}},s.default.Solo.prototype._isSoloed=function(){return!!s.default.isArray(this.context._currentSolo)&&(0!==this.context._currentSolo.length&&-1!==this.context._currentSolo.indexOf(this))},s.default.Solo.prototype._noSolos=function(){return!s.default.isArray(this.context._currentSolo)||0===this.context._currentSolo.length},s.default.Solo.prototype._soloed=function(){this._isSoloed()?this.input.gain.value=1:this._noSolos()?this.input.gain.value=1:this.input.gain.value=0},s.default.Solo.prototype.dispose=function(){return this.context.off("solo",this._soloBind),this._removeSolo(),this._soloBind=null,s.default.AudioNode.prototype.dispose.call(this),this},e.default=s.default.Solo},function(t,e,i){"use strict";i.r(e);var s=i(0);i(7);s.default.EqualPowerGain=function(){s.default.SignalBase.call(this),this._eqPower=this.input=this.output=new s.default.WaveShaper(function(t){return Math.abs(t)<.001?0:s.default.equalPowerScale(t)}.bind(this),4096)},s.default.extend(s.default.EqualPowerGain,s.default.SignalBase),s.default.EqualPowerGain.prototype.dispose=function(){return s.default.SignalBase.prototype.dispose.call(this),this._eqPower.dispose(),this._eqPower=null,this},e.default=s.default.EqualPowerGain},function(t,e,i){"use strict";i.r(e);var s=i(0);i(5),i(2);s.default.Negate=function(){s.default.SignalBase.call(this),this._multiply=this.input=this.output=new s.default.Multiply(-1)},s.default.extend(s.default.Negate,s.default.SignalBase),s.default.Negate.prototype.dispose=function(){return s.default.SignalBase.prototype.dispose.call(this),this._multiply.dispose(),this._multiply=null,this},e.default=s.default.Negate},function(t,e,i){"use strict";i.r(e);var s=i(0);i(48),i(27),i(1);s.default.PanVol=function(){var t=s.default.defaults(arguments,["pan","volume"],s.default.PanVol);s.default.AudioNode.call(this),this._panner=this.input=new s.default.Panner(t.pan),this.pan=this._panner.pan,this._volume=this.output=new s.default.Volume(t.volume),this.volume=this._volume.volume,this._panner.connect(this._volume),this.mute=t.mute,this._readOnly(["pan","volume"])},s.default.extend(s.default.PanVol,s.default.AudioNode),s.default.PanVol.defaults={pan:0,volume:0,mute:!1},Object.defineProperty(s.default.PanVol.prototype,"mute",{get:function(){return this._volume.mute},set:function(t){this._volume.mute=t}}),s.default.PanVol.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._writable(["pan","volume"]),this._panner.dispose(),this._panner=null,this.pan=null,this._volume.dispose(),this._volume=null,this.volume=null,this},e.default=s.default.PanVol},function(t,e,i){"use strict";var s=i(0);if(s.default.supported){!s.default.global.hasOwnProperty("OfflineAudioContext")&&s.default.global.hasOwnProperty("webkitOfflineAudioContext")&&(s.default.global.OfflineAudioContext=s.default.global.webkitOfflineAudioContext);var n=new OfflineAudioContext(1,1,44100).startRendering();n&&s.default.isFunction(n.then)||(OfflineAudioContext.prototype._native_startRendering=OfflineAudioContext.prototype.startRendering,OfflineAudioContext.prototype.startRendering=function(){return new Promise(function(t){this.oncomplete=function(e){t(e.renderedBuffer)},this._native_startRendering()}.bind(this))})}}
5189,function(t,e,i){"use strict";e.a="13.8.25"},function(t,e,i){"use strict";i.r(e);var s=i(0);i(46);s.default.Midi=function(t,e){if(!(this instanceof s.default.Midi))return new s.default.Midi(t,e);s.default.Frequency.call(this,t,e)},s.default.extend(s.default.Midi,s.default.Frequency),s.default.Midi.prototype._defaultUnits="midi",s.default.Midi.prototype._frequencyToUnits=function(t){return s.default.Frequency.ftom(s.default.Frequency.prototype._frequencyToUnits.call(this,t))},s.default.Midi.prototype._ticksToUnits=function(t){return s.default.Frequency.ftom(s.default.Frequency.prototype._ticksToUnits.call(this,t))},s.default.Midi.prototype._beatsToUnits=function(t){return s.default.Frequency.ftom(s.default.Frequency.prototype._beatsToUnits.call(this,t))},s.default.Midi.prototype._secondsToUnits=function(t){return s.default.Frequency.ftom(s.default.Frequency.prototype._secondsToUnits.call(this,t))},s.default.Midi.prototype.toMidi=function(){return this.valueOf()},s.default.Midi.prototype.toFrequency=function(){return s.default.Frequency.mtof(this.toMidi())},s.default.Midi.prototype.transpose=function(t){return new this.constructor(this.toMidi()+t)},e.default=s.default.Midi},function(t,e,i){"use strict";i.r(e);var s=i(0);i(27),i(1);s.default.UserMedia=function(){var t=s.default.defaults(arguments,["volume"],s.default.UserMedia);s.default.AudioNode.call(this),this._mediaStream=null,this._stream=null,this._device=null,this._volume=this.output=new s.default.Volume(t.volume),this.volume=this._volume.volume,this._readOnly("volume"),this.mute=t.mute},s.default.extend(s.default.UserMedia,s.default.AudioNode),s.default.UserMedia.defaults={volume:0,mute:!1},s.default.UserMedia.prototype.open=function(t){return this.state===s.default.State.Started&&this.close(),s.default.UserMedia.enumerateDevices().then(function(e){var i;if(s.default.isNumber(t))i=e[t];else if(!(i=e.find(function(e){return e.label===t||e.deviceId===t}))&&e.length>0)i=e[0];else if(!i&&s.default.isDefined(t))throw new Error("Tone.UserMedia: no matching device: "+t);this._device=i;var n={audio:{echoCancellation:!1,sampleRate:this.context.sampleRate,noiseSuppression:!1,mozNoiseSuppression:!1}};return i&&(n.audio.deviceId=i.deviceId),navigator.mediaDevices.getUserMedia(n).then(function(t){return this._stream||(this._stream=t,this._mediaStream=this.context.createMediaStreamSource(t),s.default.connect(this._mediaStream,this.output)),this}.bind(this))}.bind(this))},s.default.UserMedia.prototype.close=function(){return this._stream&&(this._stream.getAudioTracks().forEach(function(t){t.stop()}),this._stream=null,this._mediaStream.disconnect(),this._mediaStream=null),this._device=null,this},s.default.UserMedia.enumerateDevices=function(){return navigator.mediaDevices.enumerateDevices().then(function(t){return t.filter(function(t){return"audioinput"===t.kind})})},Object.defineProperty(s.default.UserMedia.prototype,"state",{get:function(){return this._stream&&this._stream.active?s.default.State.Started:s.default.State.Stopped}}),Object.defineProperty(s.default.UserMedia.prototype,"deviceId",{get:function(){return this._device?this._device.deviceId:null}}),Object.defineProperty(s.default.UserMedia.prototype,"groupId",{get:function(){return this._device?this._device.groupId:null}}),Object.defineProperty(s.default.UserMedia.prototype,"label",{get:function(){return this._device?this._device.label:null}}),Object.defineProperty(s.default.UserMedia.prototype,"mute",{get:function(){return this._volume.mute},set:function(t){this._volume.mute=t}}),s.default.UserMedia.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this.close(),this._writable("volume"),this._volume.dispose(),this._volume=null,this.volume=null,this},Object.defineProperty(s.default.UserMedia,"supported",{get:function(){return s.default.isDefined(navigator.mediaDevices)&&s.default.isFunction(navigator.mediaDevices.getUserMedia)}}),e.default=s.default.UserMedia},function(t,e,i){"use strict";i.r(e);var s=i(0);i(65),i(27),i(1);s.default.Players=function(t){var e=Array.prototype.slice.call(arguments);e.shift();var i=s.default.defaults(e,["onload"],s.default.Players);for(var n in s.default.AudioNode.call(this,i),this._volume=this.output=new s.default.Volume(i.volume),this.volume=this._volume.volume,this._readOnly("volume"),this._volume.output.output.channelCount=2,this._volume.output.output.channelCountMode="explicit",this.mute=i.mute,this._players={},this._loadingCount=0,this._fadeIn=i.fadeIn,this._fadeOut=i.fadeOut,t)this._loadingCount++,this.add(n,t[n],this._bufferLoaded.bind(this,i.onload))},s.default.extend(s.default.Players,s.default.AudioNode),s.default.Players.defaults={volume:0,mute:!1,onload:s.default.noOp,fadeIn:0,fadeOut:0},s.default.Players.prototype._bufferLoaded=function(t){this._loadingCount--,0===this._loadingCount&&t&&t(this)},Object.defineProperty(s.default.Players.prototype,"mute",{get:function(){return this._volume.mute},set:function(t){this._volume.mute=t}}),Object.defineProperty(s.default.Players.prototype,"fadeIn",{get:function(){return this._fadeIn}
5189,set:function(t){this._fadeIn=t,this._forEach(function(e){e.fadeIn=t})}}),Object.defineProperty(s.default.Players.prototype,"fadeOut",{get:function(){return this._fadeOut},set:function(t){this._fadeOut=t,this._forEach(function(e){e.fadeOut=t})}}),Object.defineProperty(s.default.Players.prototype,"state",{get:function(){var t=!1;return this._forEach(function(e){t=t||e.state===s.default.State.Started}),t?s.default.State.Started:s.default.State.Stopped}}),s.default.Players.prototype.has=function(t){return this._players.hasOwnProperty(t)},s.default.Players.prototype.get=function(t){if(this.has(t))return this._players[t];throw new Error("Tone.Players: no player named "+t)},s.default.Players.prototype._forEach=function(t){for(var e in this._players)t(this._players[e],e);return this},Object.defineProperty(s.default.Players.prototype,"loaded",{get:function(){var t=!0;return this._forEach(function(e){t=t&&e.loaded}),t}}),s.default.Players.prototype.add=function(t,e,i){return this._players[t]=new s.default.Player(e,i).connect(this.output),this._players[t].fadeIn=this._fadeIn,this._players[t].fadeOut=this._fadeOut,this},s.default.Players.prototype.stopAll=function(t){this._forEach(function(e){e.stop(t)})},s.default.Players.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._volume.dispose(),this._volume=null,this._writable("volume"),this.volume=null,this.output=null,this._forEach(function(t){t.dispose()}),this._players=null,this},e.default=s.default.Players},function(t,e,i){"use strict";i.r(e);var s=i(0);i(6),i(11),i(32);s.default.GrainPlayer=function(){var t=s.default.defaults(arguments,["url","onload"],s.default.GrainPlayer);s.default.Source.call(this,t),this.buffer=new s.default.Buffer(t.url,t.onload.bind(void 0,this)),this._clock=new s.default.Clock(this._tick.bind(this),t.grainSize),this._loopStart=0,this._loopEnd=0,this._activeSources=[],this._playbackRate=t.playbackRate,this._grainSize=t.grainSize,this._overlap=t.overlap,this.detune=t.detune,this.overlap=t.overlap,this.loop=t.loop,this.playbackRate=t.playbackRate,this.grainSize=t.grainSize,this.loopStart=t.loopStart,this.loopEnd=t.loopEnd,this.reverse=t.reverse,this._clock.on("stop",this._onstop.bind(this))},s.default.extend(s.default.GrainPlayer,s.default.Source),s.default.GrainPlayer.defaults={onload:s.default.noOp,overlap:.1,grainSize:.2,playbackRate:1,detune:0,loop:!1,loopStart:0,loopEnd:0,reverse:!1},s.default.GrainPlayer.prototype._start=function(t,e,i){e=s.default.defaultArg(e,0),e=this.toSeconds(e),t=this.toSeconds(t),this._offset=e,this._clock.start(t),i&&this.stop(t+this.toSeconds(i))},s.default.GrainPlayer.prototype._stop=function(t){this._clock.stop(t)},s.default.GrainPlayer.prototype._onstop=function(t){this._activeSources.forEach(function(e){e.fadeOut=0,e.stop(t)})},s.default.GrainPlayer.prototype._tick=function(t){if(!this.loop&&this._offset>this.buffer.duration)this.stop(t);else{var e=this._offset<this._overlap?0:this._overlap,i=new s.default.BufferSource({buffer:this.buffer,fadeIn:e,fadeOut:this._overlap,loop:this.loop,loopStart:this._loopStart,loopEnd:this._loopEnd,playbackRate:s.default.intervalToFrequencyRatio(this.detune/100)}).connect(this.output);i.start(t,this._offset),this._offset+=this.grainSize,i.stop(t+this.grainSize/this.playbackRate),this._activeSources.push(i),i.onended=function(){var t=this._activeSources.indexOf(i);-1!==t&&this._activeSources.splice(t,1)}.bind(this)}},Object.defineProperty(s.default.GrainPlayer.prototype,"playbackRate",{get:function(){return this._playbackRate},set:function(t){this._playbackRate=t,this.grainSize=this._grainSize}}),Object.defineProperty(s.default.GrainPlayer.prototype,"loopStart",{get:function(){return this._loopStart},set:function(t){this._loopStart=this.toSeconds(t)}}),Object.defineProperty(s.default.GrainPlayer.prototype,"loopEnd",{get:function(){return this._loopEnd},set:function(t){this._loopEnd=this.toSeconds(t)}}),Object.defineProperty(s.default.GrainPlayer.prototype,"reverse",{get:function(){return this.buffer.reverse},set:function(t){this.buffer.reverse=t}}),Object.defineProperty(s.default.GrainPlayer.prototype,"grainSize",{get:function(){return this._grainSize},set:function(t){this._grainSize=this.toSeconds(t),this._clock.frequency.value=this._playbackRate/this._grainSize}}),Object.defineProperty(s.default.GrainPlayer.prototype,"overlap",{get:function(){return this._overlap},set:function(t){this._overlap=this.toSeconds(t)}}),Object.defineProperty(s.default.GrainPlayer.prototype,"loaded",{get:function(){return this.buffer.loaded}}),s.default.GrainPlayer.prototype.dispose=function(){return s.default.Source.prototype.dispose.call(this),this.buffer.dispose(),this.buffer=null,this._clock.dispose(),this._clock=null,this._activeSources.forEac
5189h(function(t){t.dispose()}),this._activeSources=null,this},e.default=s.default.GrainPlayer},function(t,e,i){"use strict";i.r(e);var s=i(0);i(16),i(2),i(45);s.default.TransportTimelineSignal=function(){s.default.Signal.apply(this,arguments),this.output=this._outputSig=new s.default.Signal(this._initialValue),this._lastVal=this.value,this._synced=s.default.Transport.scheduleRepeat(this._onTick.bind(this),"1i"),this._bindAnchorValue=this._anchorValue.bind(this),s.default.Transport.on("start stop pause",this._bindAnchorValue),this._events.memory=1/0},s.default.extend(s.default.TransportTimelineSignal,s.default.Signal),s.default.TransportTimelineSignal.prototype._onTick=function(t){var e=this.getValueAtTime(s.default.Transport.seconds);this._lastVal!==e&&(this._lastVal=e,this._outputSig.linearRampToValueAtTime(e,t))},s.default.TransportTimelineSignal.prototype._anchorValue=function(t){var e=this.getValueAtTime(s.default.Transport.seconds);return this._lastVal=e,this._outputSig.cancelScheduledValues(t),this._outputSig.setValueAtTime(e,t),this},s.default.TransportTimelineSignal.prototype.getValueAtTime=function(t){return t=s.default.TransportTime(t),s.default.Signal.prototype.getValueAtTime.call(this,t)},s.default.TransportTimelineSignal.prototype.setValueAtTime=function(t,e){return e=s.default.TransportTime(e),s.default.Signal.prototype.setValueAtTime.call(this,t,e),this},s.default.TransportTimelineSignal.prototype.linearRampToValueAtTime=function(t,e){return e=s.default.TransportTime(e),s.default.Signal.prototype.linearRampToValueAtTime.call(this,t,e),this},s.default.TransportTimelineSignal.prototype.exponentialRampToValueAtTime=function(t,e){return e=s.default.TransportTime(e),s.default.Signal.prototype.exponentialRampToValueAtTime.call(this,t,e),this},s.default.TransportTimelineSignal.prototype.setTargetAtTime=function(t,e,i){return e=s.default.TransportTime(e),s.default.Signal.prototype.setTargetAtTime.call(this,t,e,i),this},s.default.TransportTimelineSignal.prototype.cancelScheduledValues=function(t){return t=s.default.TransportTime(t),s.default.Signal.prototype.cancelScheduledValues.call(this,t),this},s.default.TransportTimelineSignal.prototype.setValueCurveAtTime=function(t,e,i,n){return e=s.default.TransportTime(e),i=s.default.TransportTime(i),s.default.Signal.prototype.setValueCurveAtTime.call(this,t,e,i,n),this},s.default.TransportTimelineSignal.prototype.cancelAndHoldAtTime=function(t){return s.default.Signal.prototype.cancelAndHoldAtTime.call(this,s.default.TransportTime(t))},s.default.TransportTimelineSignal.prototype.dispose=function(){s.default.Transport.clear(this._synced),s.default.Transport.off("start stop pause",this._syncedCallback),this._events.cancel(0),s.default.Signal.prototype.dispose.call(this),this._outputSig.dispose(),this._outputSig=null},e.default=s.default.TransportTimelineSignal},function(t,e,i){"use strict";i.r(e);var s=i(0);i(29),i(5);s.default.Normalize=function(t,e){s.default.SignalBase.call(this),this._inputMin=s.default.defaultArg(t,0),this._inputMax=s.default.defaultArg(e,1),this._sub=this.input=new s.default.Add(0),this._div=this.output=new s.default.Multiply(1),this._sub.connect(this._div),this._setRange()},s.default.extend(s.default.Normalize,s.default.SignalBase),Object.defineProperty(s.default.Normalize.prototype,"min",{get:function(){return this._inputMin},set:function(t){this._inputMin=t,this._setRange()}}),Object.defineProperty(s.default.Normalize.prototype,"max",{get:function(){return this._inputMax},set:function(t){this._inputMax=t,this._setRange()}}),s.default.Normalize.prototype._setRange=function(){this._sub.value=-this._inputMin,this._div.value=1/(this._inputMax-this._inputMin)},s.default.Normalize.prototype.dispose=function(){return s.default.SignalBase.prototype.dispose.call(this),this._sub.dispose(),this._sub=null,this._div.dispose(),this._div=null,this},e.default=s.default.Normalize},function(t,e,i){"use strict";i.r(e);var s=i(0);i(7),i(2);s.default.GainToAudio=function(){s.default.SignalBase.call(this),this._norm=this.input=this.output=new s.default.WaveShaper(function(t){return 2*Math.abs(t)-1})},s.default.extend(s.default.GainToAudio,s.default.SignalBase),s.default.GainToAudio.prototype.dispose=function(){return s.default.SignalBase.prototype.dispose.call(this),this._norm.dispose(),this._norm=null,this},e.default=s.default.GainToAudio}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(21),i(78),i(32);s.default.Sampler=function(t){var e=Array.prototype.slice.call(arguments);e.shift();var i=s.default.defaults(e,["onload","baseUrl"],s.default.Sampler);s.default.Instrument.call(this,i);var n={};for(var o in t)if(s.default.isNote(o)){n[s.default.Frequency(o).toMidi()]=t[o]}else{if(isNaN(parseFloat(o)))throw new Error("Tone.Sampler: url keys must be the note's pitch");n[o]=t[o]}this._buffers=new s.default.Buffers(n,i.onload,i.baseUrl),this._activeSources={},this.attack=i.attack,this.release=i.release,this.curve=i.curve},s.default.extend(s.default.Sampler,s.default.Instrument),s.default.Sampler.defaults={attack:0,release:.1,onload:s.default.noOp,baseUrl:"",curve:"exponential"},s.default.Sampler.prototype._findClosest=function(t){for(var e=0;e<96;){if(this._buffers.has(t+e))return-e;if(this._buffers.has(t-e))return e;e++}throw new Error("No available buffers for note: "+t)},s.default.Sampler.prototype.triggerAttack=function(t,e,i){this.log("triggerAttack",t,e,i),Array.isArray(t)||(t=[t]);for(var n=0;n<t.length;n++){var o=s.default.Frequency(t[n]).toMidi(),a=this._findClosest(o),r=o-a,l=this._buffers.get(r),u=s.default.intervalToFrequencyRatio(a),d=new s.default.BufferSource({buffer:l,playbackRate:u,fadeIn:this.attack,fadeOut:this.release,curve:this.curve}).connect(this.output);d.start(e,0,l.duration/u,i),s.default.isArray(this._activeSources[o])||(this._activeSources[o]=[]),this._activeSources[o].push(d),d.onended=function(){if(this._activeSources&&this._activeSources[o]){var t=this._activeSources[o].indexOf(d);-1!==t&&this._activeSources[o].splice(t,1)}}.bind(this)}return this},s.default.Sampler.prototype.triggerRelease=function(t,e){this.log("triggerRelease",t,e),Array.isArray(t)||(t=[t]);for(var i=0;i<t.length;i++){var n=s.default.Frequency(t[i]).toMidi();this._activeSources[n]&&this._activeSources[n].length&&(e=this.toSeconds(e),this._activeSources[n].forEach(function(t){t.stop(e)}),this._activeSources[n]=[])}return this},s.default.Sampler.prototype.releaseAll=function(t){for(var e in t=this.toSeconds(t),this._activeSources)for(var i=this._activeSources[e];i.length;){i.shift().stop(t)}return this},s.default.Sampler.prototype.sync=function(){return this._syncMethod("triggerAttack",1),this._syncMethod("triggerRelease",1),this},s.default.Sampler.prototype.triggerAttackRelease=function(t,e,i,n){if(i=this.toSeconds(i),this.triggerAttack(t,i,n),s.default.isArray(e)&&s.default.isArray(t))for(var o=0;o<t.length;o++){var a=e[Math.min(o,e.length-1)];this.triggerRelease(t[o],i+this.toSeconds(a))}else this.triggerRelease(t,i+this.toSeconds(e));return this},s.default.Sampler.prototype.add=function(t,e,i){if(s.default.isNote(t)){var n=s.default.Frequency(t).toMidi();this._buffers.add(n,e,i)}else{if(isNaN(parseFloat(t)))throw new Error("Tone.Sampler: note must be the note's pitch. Instead got "+t);this._buffers.add(t,e,i)}},Object.defineProperty(s.default.Sampler.prototype,"loaded",{get:function(){return this._buffers.loaded}}),s.default.Sampler.prototype.dispose=function(){for(var t in s.default.Instrument.prototype.dispose.call(this),this._buffers.dispose(),this._buffers=null,this._activeSources)this._activeSources[t].forEach(function(t){t.dispose()});return this._activeSources=null,this},e.default=s.default.Sampler},function(t,e,i){"use strict";i.r(e);var s=i(0);i(38),i(6);s.default.PolySynth=function(){var t=s.default.defaults(arguments,["polyphony","voice"],s.default.PolySynth);s.default.Instrument.call(this,t),(t=s.default.defaultArg(t,s.default.Instrument.defaults)).polyphony=Math.min(s.default.PolySynth.MAX_POLYPHONY,t.polyphony),this.voices=new Array(t.polyphony),this.assert(t.polyphony>0,"polyphony must be greater than 0"),this.detune=new s.default.Signal(t.detune,s.default.Type.Cents),this._readOnly("detune");for(var e=0;e<t.polyphony;e++){var i=new t.voice(arguments[2],arguments[3]);if(!(i instanceof s.default.Monophonic))throw new Error("Synth constructor must be instance of Tone.Monophonic");this.voices[e]=i,i.index=e,i.connect(this.output),i.hasOwnProperty("detune")&&this.detune.connect(i.detune)}},s.default.extend(s.default.PolySynth,s.default.Instrument),s.default.PolySynth.defaults={polyphony:4,volume:0,detune:0,voice:s.default.Synth},s.default.PolySynth.prototype._getClosestVoice=function(t,e){var i=this.voices.find(function(i){if(Math.abs(i.frequency.getValueAtTime(t)-s.default.Frequency(e))<1e-4&&i.getLevelAtTime(t)>1e-5)return i});return i||this.voices.slice().sort(function(e,i){var s=e.getLevelAtTime(t+this.blockTime),n=i.getLevelAtTime(t+this.blockTime);return s<1e-5&&(s=0),n<1e-5&&(n=0),s-n}.bind(this))[0]}
5189,s.default.PolySynth.prototype.triggerAttack=function(t,e,i){return Array.isArray(t)||(t=[t]),e=this.toSeconds(e),t.forEach(function(t){var s=this._getClosestVoice(e,t);s.triggerAttack(t,e,i),this.log("triggerAttack",s.index,t)}.bind(this)),this},s.default.PolySynth.prototype.triggerRelease=function(t,e){return Array.isArray(t)||(t=[t]),e=this.toSeconds(e),t.forEach(function(t){var i=this._getClosestVoice(e,t);this.log("triggerRelease",i.index,t),i.triggerRelease(e)}.bind(this)),this},s.default.PolySynth.prototype.triggerAttackRelease=function(t,e,i,n){if(i=this.toSeconds(i),this.triggerAttack(t,i,n),s.default.isArray(e)&&s.default.isArray(t))for(var o=0;o<t.length;o++){var a=e[Math.min(o,e.length-1)];this.triggerRelease(t[o],i+this.toSeconds(a))}else this.triggerRelease(t,i+this.toSeconds(e));return this},s.default.PolySynth.prototype.sync=function(){return this._syncMethod("triggerAttack",1),this._syncMethod("triggerRelease",1),this},s.default.PolySynth.prototype.set=function(t,e,i){for(var s=0;s<this.voices.length;s++)this.voices[s].set(t,e,i);return this},s.default.PolySynth.prototype.get=function(t){return this.voices[0].get(t)},s.default.PolySynth.prototype.releaseAll=function(t){return t=this.toSeconds(t),this.voices.forEach(function(e){e.triggerRelease(t)}),this},s.default.PolySynth.prototype.dispose=function(){return s.default.Instrument.prototype.dispose.call(this),this.voices.forEach(function(t){t.dispose()}),this._writable("detune"),this.detune.dispose(),this.detune=null,this.voices=null,this},s.default.PolySynth.MAX_POLYPHONY=20,e.default=s.default.PolySynth},function(t,e,i){"use strict";i.r(e);var s=i(0);i(21),i(39),i(54);s.default.PluckSynth=function(t){t=s.default.defaultArg(t,s.default.PluckSynth.defaults),s.default.Instrument.call(this,t),this._noise=new s.default.Noise("pink"),this.attackNoise=t.attackNoise,this._lfcf=new s.default.LowpassCombFilter({resonance:t.resonance,dampening:t.dampening}),this.resonance=this._lfcf.resonance,this.dampening=this._lfcf.dampening,this._noise.connect(this._lfcf),this._lfcf.connect(this.output),this._readOnly(["resonance","dampening"])},s.default.extend(s.default.PluckSynth,s.default.Instrument),s.default.PluckSynth.defaults={attackNoise:1,dampening:4e3,resonance:.7},s.default.PluckSynth.prototype.triggerAttack=function(t,e){t=this.toFrequency(t),e=this.toSeconds(e);var i=1/t;return this._lfcf.delayTime.setValueAtTime(i,e),this._noise.start(e),this._noise.stop(e+i*this.attackNoise),this},s.default.PluckSynth.prototype.dispose=function(){return s.default.Instrument.prototype.dispose.call(this),this._noise.dispose(),this._lfcf.dispose(),this._noise=null,this._lfcf=null,this._writable(["resonance","dampening"]),this.dampening=null,this.resonance=null,this},e.default=s.default.PluckSynth},function(t,e,i){"use strict";i.r(e);var s=i(0);i(31),i(41),i(39),i(2),i(9),i(21);s.default.NoiseSynth=function(t){t=s.default.defaultArg(t,s.default.NoiseSynth.defaults),s.default.Instrument.call(this,t),this.noise=new s.default.Noise(t.noise),this.envelope=new s.default.AmplitudeEnvelope(t.envelope),this.noise.chain(this.envelope,this.output),this._readOnly(["noise","envelope"])},s.default.extend(s.default.NoiseSynth,s.default.Instrument),s.default.NoiseSynth.defaults={noise:{type:"white"},envelope:{attack:.005,decay:.1,sustain:0}},s.default.NoiseSynth.prototype.triggerAttack=function(t,e){return t=this.toSeconds(t),this.envelope.triggerAttack(t,e),this.noise.start(t),0===this.envelope.sustain&&this.noise.stop(t+this.envelope.attack+this.envelope.decay),this},s.default.NoiseSynth.prototype.triggerRelease=function(t){return t=this.toSeconds(t),this.envelope.triggerRelease(t),this.noise.stop(t+this.envelope.release),this},s.default.NoiseSynth.prototype.sync=function(){return this._syncMethod("triggerAttack",0),this._syncMethod("triggerRelease",0),this},s.default.NoiseSynth.prototype.triggerAttackRelease=function(t,e,i){return e=this.toSeconds(e),t=this.toSeconds(t),this.triggerAttack(e,i),this.triggerRelease(e+t),this},s.default.NoiseSynth.prototype.dispose=function(){return s.default.Instrument.prototype.dispose.call(this),this._writable(["noise","envelope"]),this.noise.dispose(),this.noise=null,this.envelope.dis
5189pose(),this.envelope=null,this},e.default=s.default.NoiseSynth},function(t,e,i){"use strict";i.r(e);var s=i(0),n=(i(21),i(49),i(9),i(41),i(31),i(3),i(26),i(5),[1,1.483,1.932,2.546,2.63,3.897]);s.default.MetalSynth=function(t){t=s.default.defaultArg(t,s.default.MetalSynth.defaults),s.default.Instrument.call(this,t),this.frequency=new s.default.Signal(t.frequency,s.default.Type.Frequency),this._oscillators=[],this._freqMultipliers=[],this._amplitue=new s.default.Gain(0).connect(this.output),this._highpass=new s.default.Filter({type:"highpass",Q:-3.0102999566398125}).connect(this._amplitue),this._octaves=t.octaves,this._filterFreqScaler=new s.default.Scale(t.resonance,7e3),this.envelope=new s.default.Envelope({attack:t.envelope.attack,attackCurve:"linear",decay:t.envelope.decay,sustain:0,release:t.envelope.release}).chain(this._filterFreqScaler,this._highpass.frequency),this.envelope.connect(this._amplitue.gain);for(var e=0;e<n.length;e++){var i=new s.default.FMOscillator({type:"square",modulationType:"square",harmonicity:t.harmonicity,modulationIndex:t.modulationIndex});i.connect(this._highpass),this._oscillators[e]=i;var o=new s.default.Multiply(n[e]);this._freqMultipliers[e]=o,this.frequency.chain(o,i.frequency)}this.octaves=t.octaves},s.default.extend(s.default.MetalSynth,s.default.Instrument),s.default.MetalSynth.defaults={frequency:200,envelope:{attack:.001,decay:1.4,release:.2},harmonicity:5.1,modulationIndex:32,resonance:4e3,octaves:1.5},s.default.MetalSynth.prototype.triggerAttack=function(t,e){return t=this.toSeconds(t),e=s.default.defaultArg(e,1),this.envelope.triggerAttack(t,e),this._oscillators.forEach(function(e){e.start(t)}),0===this.envelope.sustain&&this._oscillators.forEach(function(e){e.stop(t+this.envelope.attack+this.envelope.decay)}.bind(this)),this},s.default.MetalSynth.prototype.triggerRelease=function(t){return t=this.toSeconds(t),this.envelope.triggerRelease(t),this._oscillators.forEach(function(e){e.stop(t+this.envelope.release)}.bind(this)),this},s.default.MetalSynth.prototype.sync=function(){return this._syncMethod("triggerAttack",0),this._syncMethod("triggerRelease",0),this},s.default.MetalSynth.prototype.triggerAttackRelease=function(t,e,i){return e=this.toSeconds(e),t=this.toSeconds(t),this.triggerAttack(e,i),this.triggerRelease(e+t),this},Object.defineProperty(s.default.MetalSynth.prototype,"modulationIndex",{get:function(){return this._oscillators[0].modulationIndex.value},set:function(t){for(var e=0;e<this._oscillators.length;e++)this._oscillators[e].modulationIndex.value=t}}),Object.defineProperty(s.default.MetalSynth.prototype,"harmonicity",{get:function(){return this._oscillators[0].harmonicity.value},set:function(t){for(var e=0;e<this._oscillators.length;e++)this._oscillators[e].harmonicity.value=t}}),Object.defineProperty(s.default.MetalSynth.prototype,"resonance",{get:function(){return this._filterFreqScaler.min},set:function(t){this._filterFreqScaler.min=t,this.octaves=this._octaves}}),Object.defineProperty(s.default.MetalSynth.prototype,"octaves",{get:function(){return this._octaves},set:function(t){this._octaves=t,this._filterFreqScaler.max=this._filterFreqScaler.min*Math.pow(2,t)}}),s.default.MetalSynth.prototype.dispose=function(){s.default.Instrument.prototype.dispose.call(this);for(var t=0;t<this._oscillators.length;t++)this._oscillators[t].dispose(),this._freqMultipliers[t].dispose();this._oscillators=null,this._freqMultipliers=null,this.frequency.dispose(),this.frequency=null,this._filterFreqScaler.dispose(),this._filterFreqScaler=null,this._amplitue.dispose(),this._amplitue=null,this.envelope.dispose(),this.envelope=null,this._highpass.dispose(),this._highpass=null},e.default=s.default.MetalSynth},function(t,e,i){"use strict";i.r(e);var s=i(0);i(37),i(21),i(31);s.default.MembraneSynth=function(t){t=s.default.defaultArg(t,s.default.MembraneSynth.defaults),s.default.Instrument.call(this,t),this.oscillator=new s.default.OmniOscillator(t.oscillator),this.envelope=new s.default.AmplitudeEnvelope(t.envelope),this.octaves=t.octaves,this.pitchDecay=t.pitchDecay,this.oscillator.chain(this.envelope,this.output),this._readOnly(["oscillator","envelope"])},s.default.extend(s.default.MembraneSynth,s.default.Instrument),s.default.MembraneSynth.defaults={pitchDecay:.05,octaves:10,oscillator:{type:"sine"},envelope:{attack:.001,decay:.4,sustain:.01,release:1.4,attackCurve:"exponential"}}
5189,s.default.MembraneSynth.prototype.triggerAttack=function(t,e,i){e=this.toSeconds(e);var s=(t=this.toFrequency(t))*this.octaves;return this.oscillator.frequency.setValueAtTime(s,e),this.oscillator.frequency.exponentialRampToValueAtTime(t,e+this.toSeconds(this.pitchDecay)),this.envelope.triggerAttack(e,i),this.oscillator.start(e),0===this.envelope.sustain&&this.oscillator.stop(e+this.envelope.attack+this.envelope.decay),this},s.default.MembraneSynth.prototype.triggerRelease=function(t){return t=this.toSeconds(t),this.envelope.triggerRelease(t),this.oscillator.stop(t+this.envelope.release),this},s.default.MembraneSynth.prototype.dispose=function(){return s.default.Instrument.prototype.dispose.call(this),this._writable(["oscillator","envelope"]),this.oscillator.dispose(),this.oscillator=null,this.envelope.dispose(),this.envelope=null,this},e.default=s.default.MembraneSynth},function(t,e,i){"use strict";i.r(e);var s=i(0);i(38),i(2),i(5),i(25);s.default.FMSynth=function(t){t=s.default.defaultArg(t,s.default.FMSynth.defaults),s.default.Monophonic.call(this,t),this._carrier=new s.default.Synth(t.carrier),this._carrier.volume.value=-10,this.oscillator=this._carrier.oscillator,this.envelope=this._carrier.envelope.set(t.envelope),this._modulator=new s.default.Synth(t.modulator),this._modulator.volume.value=-10,this.modulation=this._modulator.oscillator.set(t.modulation),this.modulationEnvelope=this._modulator.envelope.set(t.modulationEnvelope),this.frequency=new s.default.Signal(440,s.default.Type.Frequency),this.detune=new s.default.Signal(t.detune,s.default.Type.Cents),this.harmonicity=new s.default.Multiply(t.harmonicity),this.harmonicity.units=s.default.Type.Positive,this.modulationIndex=new s.default.Multiply(t.modulationIndex),this.modulationIndex.units=s.default.Type.Positive,this._modulationNode=new s.default.Gain(0),this.frequency.connect(this._carrier.frequency),this.frequency.chain(this.harmonicity,this._modulator.frequency),this.frequency.chain(this.modulationIndex,this._modulationNode),this.detune.fan(this._carrier.detune,this._modulator.detune),this._modulator.connect(this._modulationNode.gain),this._modulationNode.connect(this._carrier.frequency),this._carrier.connect(this.output),this._readOnly(["frequency","harmonicity","modulationIndex","oscillator","envelope","modulation","modulationEnvelope","detune"])},s.default.extend(s.default.FMSynth,s.default.Monophonic),s.default.FMSynth.defaults={harmonicity:3,modulationIndex:10,detune:0,oscillator:{type:"sine"},envelope:{attack:.01,decay:.01,sustain:1,release:.5},modulation:{type:"square"},modulationEnvelope:{attack:.5,decay:0,sustain:1,release:.5}},s.default.FMSynth.prototype._triggerEnvelopeAttack=function(t,e){return t=this.toSeconds(t),this._carrier._triggerEnvelopeAttack(t,e),this._modulator._triggerEnvelopeAttack(t),this},s.default.FMSynth.prototype._triggerEnvelopeRelease=function(t){return t=this.toSeconds(t),this._carrier._triggerEnvelopeRelease(t),this._modulator._triggerEnvelopeRelease(t),this},s.default.FMSynth.prototype.dispose=function(){return s.default.Monophonic.prototype.dispose.call(this),this._writable(["frequency","harmonicity","modulationIndex","oscillator","envelope","modulation","modulationEnvelope","detune"]),this._carrier.dispose(),this._carrier=null,this._modulator.dispose(),this._modulator=null,this.frequency.dispose(),this.frequency=null,this.detune.dispose(),this.detune=null,this.modulationIndex.dispose(),this.modulationIndex=null,this.harmonicity.dispose(),this.harmonicity=null,this._modulationNode.dispose(),this._modulationNode=null,this.oscillator=null,this.envelope=null,this.modulationEnvelope=null,this.modulation=null,this},e.default=s.default.FMSynth},function(t,e,i){"use strict";i.r(e);var s=i(0);i(66),i(12),i(2),i(5),i(25),i(14);s.default.DuoSynth=function(t){t=s.default.defaultArg(t,s.default.DuoSynth.defaults),s.default.Monophonic.call(this,t),this.voice0=new s.default.MonoSynth(t.voice0),this.voice0.volume.value=-10,this.voice1=new s.default.MonoSynth(t.voice1),this.voice1.volume.value=-10,this._vibrato=new s.default.LFO(t.vibratoRate,-50,50),this._vibrato.start(),this.vibratoRate=this._vibrato.frequency,this._vibratoGain=new s.default.Gain(t.vibratoAmount,s.default.Type.Positive),this.vibratoAmount=this._vibratoGain.gain,this.frequency=new s.default.Signal(440,s.default.Type.Frequency),this.harmonicity=new s.default.Multiply(t.harmonicity),this.harmonicity.units=s.default.Type.Positive,this.frequency.connect(this.voice0.frequency),this.frequency.chain(this.harmonicity,this.voice1.frequency),this._vibrato.connect(this._vibratoGain),this._vibratoGain.fan(this.voice0.detune,this.voice1.detune),this.voice0.connect(this.output),this.voice1.connect(this.output),this._readOnly(["voice0","voice1","frequency","vibratoAmount","vibratoRate"])},s.default.extend(s.default.DuoSynth,s.default.Monophonic),s.default.DuoSynth.defaults={vibratoAmount:.5,vibratoRate:5,harmonicity:1.5,voice0:{volume:-10,portamento:0,oscillator:{type:"sine"},filterEnvelope:{attack:.01,decay:0,sustain:1,release:.5},envelope:{attack:.01,decay:0,sustain:1,release:.5}},voice1:{volume:-10,portamento:0,oscillator:{type:"sine"},filterEnvelope:{attack:.01,decay:0,sustain:1,release:.5},envelope:{attack:.01,decay:0,sustain:1,release:.5}}},s.default.DuoSynth.prototype._triggerEnvelopeAttack=function(t,e){return t=this.toSeconds(t),this.voice0._triggerEnvelopeAttack(t,e),this.voice1._triggerEnvelopeAttack(t,e),this},s.default.DuoSynth.prototype._triggerEnvelopeRelease=function(t){return this.voice0._triggerEnvelopeRelease(t),this.voice1._triggerEnvelopeRelease(t),this},s.default.DuoSynth.prototype.getLevelAtTime=function(t){return(this.voice0.getLevelAtTime(t)+this.voice1.getLevelAtTime(t))/2},s.default.DuoSynth.prototype.dispose=function(){return s.default.Monophonic.prototype.dispose.call(this),this._writable(["voice0","voice1","frequency","vibratoAmount","vibratoRate"]),this.voice0.dispose(),this.voice0=null,this.voice1.dispose(),this.voice1=null,this.frequency.dispose(),this.frequency=null,this._vibratoGain.dispose(),this._vibratoGain=null,this._vibrato=null,this.harmonicity.dispose(),this.harmonicity=null,this.vibratoAmount.dispose(),this.vibratoAmount=null,this.vibratoRate=null,this},e.default=s.default.DuoSynth}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(38),i(2),i(5),i(25),i(22),i(3);s.default.AMSynth=function(t){t=s.default.defaultArg(t,s.default.AMSynth.defaults),s.default.Monophonic.call(this,t),this._carrier=new s.default.Synth,this._carrier.volume.value=-10,this.oscillator=this._carrier.oscillator.set(t.oscillator),this.envelope=this._carrier.envelope.set(t.envelope),this._modulator=new s.default.Synth,this._modulator.volume.value=-10,this.modulation=this._modulator.oscillator.set(t.modulation),this.modulationEnvelope=this._modulator.envelope.set(t.modulationEnvelope),this.frequency=new s.default.Signal(440,s.default.Type.Frequency),this.detune=new s.default.Signal(t.detune,s.default.Type.Cents),this.harmonicity=new s.default.Multiply(t.harmonicity),this.harmonicity.units=s.default.Type.Positive,this._modulationScale=new s.default.AudioToGain,this._modulationNode=new s.default.Gain,this.frequency.connect(this._carrier.frequency),this.frequency.chain(this.harmonicity,this._modulator.frequency),this.detune.fan(this._carrier.detune,this._modulator.detune),this._modulator.chain(this._modulationScale,this._modulationNode.gain),this._carrier.chain(this._modulationNode,this.output),this._readOnly(["frequency","harmonicity","oscillator","envelope","modulation","modulationEnvelope","detune"])},s.default.extend(s.default.AMSynth,s.default.Monophonic),s.default.AMSynth.defaults={harmonicity:3,detune:0,oscillator:{type:"sine"},envelope:{attack:.01,decay:.01,sustain:1,release:.5},modulation:{type:"square"},modulationEnvelope:{attack:.5,decay:0,sustain:1,release:.5}},s.default.AMSynth.prototype._triggerEnvelopeAttack=function(t,e){return t=this.toSeconds(t),this._carrier._triggerEnvelopeAttack(t,e),this._modulator._triggerEnvelopeAttack(t),this},s.default.AMSynth.prototype._triggerEnvelopeRelease=function(t){return this._carrier._triggerEnvelopeRelease(t),this._modulator._triggerEnvelopeRelease(t),this},s.default.AMSynth.prototype.dispose=function(){return s.default.Monophonic.prototype.dispose.call(this),this._writable(["frequency","harmonicity","oscillator","envelope","modulation","modulationEnvelope","detune"]),this._carrier.dispose(),this._carrier=null,this._modulator.dispose(),this._modulator=null,this.frequency.dispose(),this.frequency=null,this.detune.dispose(),this.detune=null,this.harmonicity.dispose(),this.harmonicity=null,this._modulationScale.dispose(),this._modulationScale=null,this._modulationNode.dispose(),this._modulationNode=null,this.oscillator=null,this.envelope=null,this.modulationEnvelope=null,this.modulation=null,this},e.default=s.default.AMSynth},function(t,e,i){"use strict";i.r(e);var s=i(0);i(70),i(16);s.default.Sequence=function(){var t=s.default.defaults(arguments,["callback","events","subdivision"],s.default.Sequence),e=t.events;if(delete t.events,s.default.Part.call(this,t),this._subdivision=this.toTicks(t.subdivision),s.default.isUndef(t.loopEnd)&&s.default.isDefined(e)&&(this._loopEnd=e.length*this._subdivision),this._loop=!0,s.default.isDefined(e))for(var i=0;i<e.length;i++)this.add(i,e[i])},s.default.extend(s.default.Sequence,s.default.Part),s.default.Sequence.defaults={subdivision:"4n"},Object.defineProperty(s.default.Sequence.prototype,"subdivision",{get:function(){return s.default.Ticks(this._subdivision).toSeconds()}}),s.default.Sequence.prototype.at=function(t,e){return s.default.isArray(e)&&this.remove(t),s.default.Part.prototype.at.call(this,this._indexTime(t),e)},s.default.Sequence.prototype.add=function(t,e){if(null===e)return this;if(s.default.isArray(e)){var i=Math.round(this._subdivision/e.length);e=new s.default.Sequence(this._tick.bind(this),e,s.default.Ticks(i))}return s.default.Part.prototype.add.call(this,this._indexTime(t),e),this},s.default.Sequence.prototype.remove=function(t,e){return s.default.Part.prototype.remove.call(this,this._indexTime(t),e),this},s.default.Sequence.prototype._indexTime=function(t){return t instanceof s.default.TransportTime?t:s.default.Ticks(t*this._subdivision+this.startOffset).toSeconds()},s.default.Sequence.prototype.dispose=function(){return s.default.Part.prototype.dispose.call(this),this},e.default=s.default.Sequence}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(71),i(79);s.default.Pattern=function(){var t=s.default.defaults(arguments,["callback","values","pattern"],s.default.Pattern);s.default.Loop.call(this,t),this._pattern=new s.default.CtrlPattern({values:t.values,type:t.pattern,index:t.index})},s.default.extend(s.default.Pattern,s.default.Loop),s.default.Pattern.defaults={pattern:s.default.CtrlPattern.Type.Up,callback:s.default.noOp,values:[]},s.default.Pattern.prototype._tick=function(t){this.callback(t,this._pattern.value),this._pattern.next()},Object.defineProperty(s.default.Pattern.prototype,"index",{get:function(){return this._pattern.index},set:function(t){this._pattern.index=t}}),Object.defineProperty(s.default.Pattern.prototype,"values",{get:function(){return this._pattern.values},set:function(t){this._pattern.values=t}}),Object.defineProperty(s.default.Pattern.prototype,"value",{get:function(){return this._pattern.value}}),Object.defineProperty(s.default.Pattern.prototype,"pattern",{get:function(){return this._pattern.type},set:function(t){this._pattern.type=t}}),s.default.Pattern.prototype.dispose=function(){s.default.Loop.prototype.dispose.call(this),this._pattern.dispose(),this._pattern=null},e.default=s.default.Pattern},function(t,e,i){"use strict";i.r(e);var s=i(0);i(8),i(18),i(12);s.default.Vibrato=function(){var t=s.default.defaults(arguments,["frequency","depth"],s.default.Vibrato);s.default.Effect.call(this,t),this._delayNode=new s.default.Delay(0,t.maxDelay),this._lfo=new s.default.LFO({type:t.type,min:0,max:t.maxDelay,frequency:t.frequency,phase:-90}).start().connect(this._delayNode.delayTime),this.frequency=this._lfo.frequency,this.depth=this._lfo.amplitude,this.depth.value=t.depth,this._readOnly(["frequency","depth"]),this.effectSend.chain(this._delayNode,this.effectReturn)},s.default.extend(s.default.Vibrato,s.default.Effect),s.default.Vibrato.defaults={maxDelay:.005,frequency:5,depth:.1,type:"sine"},Object.defineProperty(s.default.Vibrato.prototype,"type",{get:function(){return this._lfo.type},set:function(t){this._lfo.type=t}}),s.default.Vibrato.prototype.dispose=function(){s.default.Effect.prototype.dispose.call(this),this._delayNode.dispose(),this._delayNode=null,this._lfo.dispose(),this._lfo=null,this._writable(["frequency","depth"]),this.frequency=null,this.depth=null},e.default=s.default.Vibrato},function(t,e,i){"use strict";i.r(e);var s=i(0);i(12),i(15);s.default.Tremolo=function(){var t=s.default.defaults(arguments,["frequency","depth"],s.default.Tremolo);s.default.StereoEffect.call(this,t),this._lfoL=new s.default.LFO({phase:t.spread,min:1,max:0}),this._lfoR=new s.default.LFO({phase:t.spread,min:1,max:0}),this._amplitudeL=new s.default.Gain,this._amplitudeR=new s.default.Gain,this.frequency=new s.default.Signal(t.frequency,s.default.Type.Frequency),this.depth=new s.default.Signal(t.depth,s.default.Type.NormalRange),this._readOnly(["frequency","depth"]),this.effectSendL.chain(this._amplitudeL,this.effectReturnL),this.effectSendR.chain(this._amplitudeR,this.effectReturnR),this._lfoL.connect(this._amplitudeL.gain),this._lfoR.connect(this._amplitudeR.gain),this.frequency.fan(this._lfoL.frequency,this._lfoR.frequency),this.depth.fan(this._lfoR.amplitude,this._lfoL.amplitude),this.type=t.type,this.spread=t.spread},s.default.extend(s.default.Tremolo,s.default.StereoEffect),s.default.Tremolo.defaults={frequency:10,type:"sine",depth:.5,spread:180},s.default.Tremolo.prototype.start=function(t){return this._lfoL.start(t),this._lfoR.start(t),this},s.default.Tremolo.prototype.stop=function(t){return this._lfoL.stop(t),this._lfoR.stop(t),this},s.default.Tremolo.prototype.sync=function(t){return this._lfoL.sync(t),this._lfoR.sync(t),s.default.Transport.syncSignal(this.frequency),this},s.default.Tremolo.prototype.unsync=function(){return this._lfoL.unsync(),this._lfoR.unsync(),s.default.Transport.unsyncSignal(this.frequency),this},Object.defineProperty(s.default.Tremolo.prototype,"type",{get:function(){return this._lfoL.type},set:function(t){this._lfoL.type=t,this._lfoR.type=t}}),Object.defineProperty(s.default.Tremolo.prototype,"spread",{get:function(){return this._lfoR.phase-this._lfoL.phase},set:function(t){this._lfoL.phase=90-t/2,this._lfoR.phase=t/2+90}}),s.default.Tremolo.prototype.dispose=function(){return s.default.StereoEffect.prototype.dispose.call(this),this._writable(["frequency","depth"]),this._lfoL.dispose(),this._lfoL=null,this._lfoR.dispose(),this._lfoR=null,this._amplitudeL.dispose(),this._amplitudeL=null,this._amplitudeR.dispose(),this._amplitudeR=null,this.frequency=null,this.depth=null,this},e.default=s.default.Tremolo}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(73),i(2),i(5),i(13);s.default.StereoWidener=function(){var t=s.default.defaults(arguments,["width"],s.default.StereoWidener);s.default.MidSideEffect.call(this,t),this.width=new s.default.Signal(t.width,s.default.Type.NormalRange),this._readOnly(["width"]),this._twoTimesWidthMid=new s.default.Multiply(2),this._twoTimesWidthSide=new s.default.Multiply(2),this._midMult=new s.default.Multiply,this._twoTimesWidthMid.connect(this._midMult,0,1),this.midSend.chain(this._midMult,this.midReturn),this._oneMinusWidth=new s.default.Subtract,this._oneMinusWidth.connect(this._twoTimesWidthMid),s.default.connect(this.context.getConstant(1),this._oneMinusWidth,0,0),this.width.connect(this._oneMinusWidth,0,1),this._sideMult=new s.default.Multiply,this.width.connect(this._twoTimesWidthSide),this._twoTimesWidthSide.connect(this._sideMult,0,1),this.sideSend.chain(this._sideMult,this.sideReturn)},s.default.extend(s.default.StereoWidener,s.default.MidSideEffect),s.default.StereoWidener.defaults={width:.5},s.default.StereoWidener.prototype.dispose=function(){return s.default.MidSideEffect.prototype.dispose.call(this),this._writable(["width"]),this.width.dispose(),this.width=null,this._midMult.dispose(),this._midMult=null,this._sideMult.dispose(),this._sideMult=null,this._twoTimesWidthMid.dispose(),this._twoTimesWidthMid=null,this._twoTimesWidthSide.dispose(),this._twoTimesWidthSide=null,this._oneMinusWidth.dispose(),this._oneMinusWidth=null,this},e.default=s.default.StereoWidener},function(t,e,i){"use strict";i.r(e);var s=i(0);i(15),i(33),i(3);s.default.StereoFeedbackEffect=function(){var t=s.default.defaults(arguments,["feedback"],s.default.FeedbackEffect);s.default.StereoEffect.call(this,t),this.feedback=new s.default.Signal(t.feedback,s.default.Type.NormalRange),this._feedbackL=new s.default.Gain,this._feedbackR=new s.default.Gain,this.effectReturnL.chain(this._feedbackL,this.effectSendL),this.effectReturnR.chain(this._feedbackR,this.effectSendR),this.feedback.fan(this._feedbackL.gain,this._feedbackR.gain),this._readOnly(["feedback"])},s.default.extend(s.default.StereoFeedbackEffect,s.default.StereoEffect),s.default.StereoFeedbackEffect.prototype.dispose=function(){return s.default.StereoEffect.prototype.dispose.call(this),this._writable(["feedback"]),this.feedback.dispose(),this.feedback=null,this._feedbackL.dispose(),this._feedbackL=null,this._feedbackR.dispose(),this._feedbackR=null,this},e.default=s.default.StereoFeedbackEffect},function(t,e,i){"use strict";i.r(e);var s=i(0);i(77),i(9),i(10),i(39),i(3),i(74);s.default.Reverb=function(){var t=s.default.defaults(arguments,["decay"],s.default.Reverb);s.default.Effect.call(this,t),this._convolver=this.context.createConvolver(),this.decay=t.decay,this.preDelay=t.preDelay,this.connectEffect(this._convolver)},s.default.extend(s.default.Reverb,s.default.Effect),s.default.Reverb.defaults={decay:1.5,preDelay:.01},s.default.Reverb.prototype.generate=function(){return s.default.Offline(function(){var t=new s.default.Noise,e=new s.default.Noise,i=new s.default.Merge;t.connect(i.left),e.connect(i.right);var n=(new s.default.Gain).toMaster();i.connect(n),t.start(0),e.start(0),n.gain.setValueAtTime(0,0),n.gain.setValueAtTime(1,this.preDelay),n.gain.exponentialApproachValueAtTime(0,this.preDelay,this.decay+this.preDelay)}.bind(this),this.decay+this.preDelay).then(function(t){return this._convolver.buffer=t.get(),this}.bind(this))},s.default.Reverb.prototype.dispose=function(){return s.default.Effect.prototype.dispose.call(this),this._convolver.disconnect(),this._convolver=null,this},e.default=s.default.Reverb},function(t,e,i){"use strict";i.r(e);var s=i(0);i(12),i(23),i(2),i(33),i(18);s.default.PitchShift=function(){var t=s.default.defaults(arguments,["pitch"],s.default.PitchShift);s.default.FeedbackEffect.call(this,t),this._frequency=new s.default.Signal(0),this._delayA=new s.default.Delay(0,1),this._lfoA=new s.default.LFO({min:0,max:.1,type:"sawtooth"}).connect(this._delayA.delayTime),this._delayB=new s.default.Delay(0,1),this._lfoB=new s.default.LFO({min:0,max:.1,type:"sawtooth",phase:180}).connect(this._delayB.delayTime),this._crossFade=new s.default.CrossFade,this._crossFadeLFO=new s.default.LFO({min:0,max:1,type:"triangle",phase:90}).connect(this._crossFade.fade),this._feedbackDelay=new s.default.Delay(t.delayTime),this.delayTime=this._feedbackDelay.delayTime,this._readOnly("delayTime"),this._pitch=t.pitch,this._windowSize=t.windowSize,this._delayA.connect(this._crossFade.a),this._delayB.connect(this._crossFade.b),this._frequency.fan(this._lfoA.frequency,this._lfoB.frequency,this._crossFadeLFO.frequency),this.effectSend.fan(this._delayA,this._delayB),this._crossFade.chain(this._feedbackDelay,this.effectReturn);var e=this.now();this._lfoA.start(e),this._lfoB.start(e),this._crossFadeLFO.start(e),this.windowSize=this._windowSize},s.default.extend(s.default.PitchShift,s.default.FeedbackEffect),s.default.PitchShift.defaults={pitch:0,windowSize:.1,delayTime:0,feedback:0},Object.defineProperty(s.default.PitchShift.prototype,"pitch",{get:function(){return this._pitch},set:function(t){this._pitch=t;var e=0;t<0?(this._lfoA.min=0,this._lfoA.max=this._windowSize,this._lfoB.min=0,this._lfoB.max=this._windowSize,e=s.default.intervalToFrequencyRatio(t-1)+1):(this._lfoA.min=this._windowSize,this._lfoA.max=0,this._lfoB.min=this._windowSize,this._lfoB.max=0,e=s.default.intervalToFrequencyRatio(t)-1),this._frequency.value=e*(1.2/this._windowSize)}}),Object.defineProperty(s.default.PitchShift.prototype,"windowSize",{get:function(){return this._windowSize},set:function(t){this._windowSize=this.toSeconds(t),this.pitch=this._pitch}}),s.default.PitchShift.prototype.dispose=function(){return s.default.FeedbackEffect.prototype.dispose.call(this),this._frequency.dispose(),this._frequency=null,this._delayA.disconnect(),this._delayA=null,this._delayB.disconnect(),this._delayB=null,this._lfoA.dispose(),this._lfoA=null,this._lfoB.dispose(),this._lfoB=null,this._crossFade.dispose(),this._crossFade=null,this._crossFadeLFO.dispose(),this._crossFadeLFO=null,this._writable("delayTime"),this._feedbackDelay.dispose(),this._feedbackDelay=null,this.delayTime=null,this},e.default=s.default.PitchShift}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(72),i(2),i(18);s.default.PingPongDelay=function(){var t=s.default.defaults(arguments,["delayTime","feedback"],s.default.PingPongDelay);s.default.StereoXFeedbackEffect.call(this,t),this._leftDelay=new s.default.Delay(0,t.maxDelayTime),this._rightDelay=new s.default.Delay(0,t.maxDelayTime),this._rightPreDelay=new s.default.Delay(0,t.maxDelayTime),this.delayTime=new s.default.Signal(t.delayTime,s.default.Type.Time),this.effectSendL.chain(this._leftDelay,this.effectReturnL),this.effectSendR.chain(this._rightPreDelay,this._rightDelay,this.effectReturnR),this.delayTime.fan(this._leftDelay.delayTime,this._rightDelay.delayTime,this._rightPreDelay.delayTime),this._feedbackLR.disconnect(),this._feedbackLR.connect(this._rightDelay),this._readOnly(["delayTime"])},s.default.extend(s.default.PingPongDelay,s.default.StereoXFeedbackEffect),s.default.PingPongDelay.defaults={delayTime:.25,maxDelayTime:1},s.default.PingPongDelay.prototype.dispose=function(){return s.default.StereoXFeedbackEffect.prototype.dispose.call(this),this._leftDelay.dispose(),this._leftDelay=null,this._rightDelay.dispose(),this._rightDelay=null,this._rightPreDelay.dispose(),this._rightPreDelay=null,this._writable(["delayTime"]),this.delayTime.dispose(),this.delayTime=null,this},e.default=s.default.PingPongDelay},function(t,e,i){"use strict";i.r(e);var s=i(0);i(12),i(9),i(15);s.default.Phaser=function(){var t=s.default.defaults(arguments,["frequency","octaves","baseFrequency"],s.default.Phaser);s.default.StereoEffect.call(this,t),this._lfoL=new s.default.LFO(t.frequency,0,1),this._lfoR=new s.default.LFO(t.frequency,0,1),this._lfoR.phase=180,this._baseFrequency=t.baseFrequency,this._octaves=t.octaves,this.Q=new s.default.Signal(t.Q,s.default.Type.Positive),this._filtersL=this._makeFilters(t.stages,this._lfoL,this.Q),this._filtersR=this._makeFilters(t.stages,this._lfoR,this.Q),this.frequency=this._lfoL.frequency,this.frequency.value=t.frequency,this.effectSendL.connect(this._filtersL[0]),this.effectSendR.connect(this._filtersR[0]),s.default.connect(this._filtersL[t.stages-1],this.effectReturnL),s.default.connect(this._filtersR[t.stages-1],this.effectReturnR),this._lfoL.frequency.connect(this._lfoR.frequency),this.baseFrequency=t.baseFrequency,this.octaves=t.octaves,this._lfoL.start(),this._lfoR.start(),this._readOnly(["frequency","Q"])},s.default.extend(s.default.Phaser,s.default.StereoEffect),s.default.Phaser.defaults={frequency:.5,octaves:3,stages:10,Q:10,baseFrequency:350},s.default.Phaser.prototype._makeFilters=function(t,e,i){for(var n=new Array(t),o=0;o<t;o++){var a=this.context.createBiquadFilter();a.type="allpass",i.connect(a.Q),e.connect(a.frequency),n[o]=a}return s.default.connectSeries.apply(s.default,n),n},Object.defineProperty(s.default.Phaser.prototype,"octaves",{get:function(){return this._octaves},set:function(t){this._octaves=t;var e=this._baseFrequency*Math.pow(2,t);this._lfoL.max=e,this._lfoR.max=e}}),Object.defineProperty(s.default.Phaser.prototype,"baseFrequency",{get:function(){return this._baseFrequency},set:function(t){this._baseFrequency=t,this._lfoL.min=t,this._lfoR.min=t,this.octaves=this._octaves}}),s.default.Phaser.prototype.dispose=function(){s.default.StereoEffect.prototype.dispose.call(this),this._writable(["frequency","Q"]),this.Q.dispose(),this.Q=null,this._lfoL.dispose(),this._lfoL=null,this._lfoR.dispose(),this._lfoR=null;for(var t=0;t<this._filtersL.length;t++)this._filtersL[t].disconnect(),this._filtersL[t]=null;this._filtersL=null;for(var e=0;e<this._filtersR.length;e++)this._filtersR[e].disconnect(),this._filtersR[e]=null;return this._filtersR=null,this.frequency=null,this},e.default=s.default.Phaser},function(t,e,i){"use strict";i.r(e);var s=i(0),n=(i(59),i(15),i(26),[.06748,.06404,.08212,.09004]),o=[.773,.802,.753,.733],a=[347,113,37];s.default.JCReverb=function(){var t=s.default.defaults(arguments,["roomSize"],s.default.JCReverb);s.default.StereoEffect.call(this,t),this.roomSize=new s.default.Signal(t.roomSize,s.default.Type.NormalRange),this._scaleRoomSize=new s.default.Scale(-.733,.197),this._allpassFilters=[],this._feedbackCombFilters=[];for(var e=0;e<a.length;e++){var i=this.context.createBiquadFilter();i.type="allpass",i.frequency.value=a[e],this._allpassFilters.push(i)}for(var r=0;r<n.length;r++){var l=new s.default.FeedbackCombFilter(n[r],.1);this._scaleRoomSize.connect(l.resonance),l.resonance.value=o[r],s.default.connect(this._allpassFilters[this._allpassFilters.length-1],l),r<n.length/2?l.connect(this.effectReturnL):l.connect(this.effectReturn
5189R),this._feedbackCombFilters.push(l)}this.roomSize.connect(this._scaleRoomSize),s.default.connectSeries.apply(s.default,this._allpassFilters),this.effectSendL.connect(this._allpassFilters[0]),this.effectSendR.connect(this._allpassFilters[0]),this._readOnly(["roomSize"])},s.default.extend(s.default.JCReverb,s.default.StereoEffect),s.default.JCReverb.defaults={roomSize:.5},s.default.JCReverb.prototype.dispose=function(){s.default.StereoEffect.prototype.dispose.call(this);for(var t=0;t<this._allpassFilters.length;t++)this._allpassFilters[t].disconnect(),this._allpassFilters[t]=null;this._allpassFilters=null;for(var e=0;e<this._feedbackCombFilters.length;e++)this._feedbackCombFilters[e].dispose(),this._feedbackCombFilters[e]=null;return this._feedbackCombFilters=null,this._writable(["roomSize"]),this.roomSize.dispose(),this.roomSize=null,this._scaleRoomSize.dispose(),this._scaleRoomSize=null,this},e.default=s.default.JCReverb},function(t,e,i){"use strict";i.r(e);var s=i(0),n=(i(54),i(15),i(2),i(19),i(10),i(42),[1557/44100,1617/44100,1491/44100,1422/44100,1277/44100,1356/44100,1188/44100,1116/44100]),o=[225,556,441,341];s.default.Freeverb=function(){var t=s.default.defaults(arguments,["roomSize","dampening"],s.default.Freeverb);s.default.StereoEffect.call(this,t),this.roomSize=new s.default.Signal(t.roomSize,s.default.Type.NormalRange),this.dampening=new s.default.Signal(t.dampening,s.default.Type.Frequency),this._combFilters=[],this._allpassFiltersL=[],this._allpassFiltersR=[];for(var e=0;e<o.length;e++){var i=this.context.createBiquadFilter();i.type="allpass",i.frequency.value=o[e],this._allpassFiltersL.push(i)}for(var a=0;a<o.length;a++){var r=this.context.createBiquadFilter();r.type="allpass",r.frequency.value=o[a],this._allpassFiltersR.push(r)}for(var l=0;l<n.length;l++){var u=new s.default.LowpassCombFilter(n[l]);l<n.length/2?this.effectSendL.chain(u,this._allpassFiltersL[0]):this.effectSendR.chain(u,this._allpassFiltersR[0]),this.roomSize.connect(u.resonance),this.dampening.connect(u.dampening),this._combFilters.push(u)}s.default.connectSeries.apply(s.default,this._allpassFiltersL),s.default.connectSeries.apply(s.default,this._allpassFiltersR),s.default.connect(this._allpassFiltersL[this._allpassFiltersL.length-1],this.effectReturnL),s.default.connect(this._allpassFiltersR[this._allpassFiltersR.length-1],this.effectReturnR),this._readOnly(["roomSize","dampening"])},s.default.extend(s.default.Freeverb,s.default.StereoEffect),s.default.Freeverb.defaults={roomSize:.7,dampening:3e3},s.default.Freeverb.prototype.dispose=function(){s.default.StereoEffect.prototype.dispose.call(this);for(var t=0;t<this._allpassFiltersL.length;t++)this._allpassFiltersL[t].disconnect(),this._allpassFiltersL[t]=null;this._allpassFiltersL=null;for(var e=0;e<this._allpassFiltersR.length;e++)this._allpassFiltersR[e].disconnect(),this._allpassFiltersR[e]=null;this._allpassFiltersR=null;for(var i=0;i<this._combFilters.length;i++)this._combFilters[i].dispose(),this._combFilters[i]=null;return this._combFilters=null,this._writable(["roomSize","dampening"]),this.roomSize.dispose(),this.roomSize=null,this.dampening.dispose(),this.dampening=null,this},e.default=s.default.Freeverb},function(t,e,i){"use strict";i.r(e);var s=i(0);i(33),i(2),i(18);s.default.FeedbackDelay=function(){var t=s.default.defaults(arguments,["delayTime","feedback"],s.default.FeedbackDelay);s.default.FeedbackEffect.call(this,t),this._delayNode=new s.default.Delay(t.delayTime,t.maxDelay),this.delayTime=this._delayNode.delayTime,this.connectEffect(this._delayNode),this._readOnly(["delayTime"])},s.default.extend(s.default.FeedbackDelay,s.default.FeedbackEffect),s.default.FeedbackDelay.defaults={delayTime:.25,maxDelay:1},s.default.FeedbackDelay.prototype.dispose=function(){return s.default.FeedbackEffect.prototype.dispose.call(this),this._delayNode.dispose(),this._delayNode=null,this._writable(["delayTime"]),this.delayTime=null,this},e.default=s.default.FeedbackDelay},function(t,e,i){"use strict";i.r(e);var s=i(0);i(8),i(7);s.default.Distortion=function(){var t=s.default.defaults(arguments,["distortion"],s.default.Distortion);s.default.Effect.call(this,t),this._shaper=new s.default.WaveShaper(4096),this._distortion=t.distortion,this.connectEffect(this._shaper),this.distortion=t.distortion,this.oversample=t.oversample},s.default.extend(s.default.Distortion,s.default.Effect),s.default.Distortion.defaults={distortion:.4,oversample:"none"},Object.defineProperty(s.default.Distortion.prototype,"distortion",{get:function(){return this._distortion},set:function(t){this._distortion=t;var e=100*t,i=Math.PI/180;this._shaper.setMap(function(t){return Math.abs(t)<.001?0:(3+e)*t*20*i/(Math.PI+e*Math.abs(t))})}}),Object.defineProperty(s.default.Distortion.prototype,"oversample",{get:function(){return this._shaper.oversample},set:function(t){this._shaper.oversample=t}}),s.default.Distortion.prototype.dispose=function(){return s.default.Effect.prototype.dispose.call(this),this._shaper.dispose(),this._shaper=null,this},e.default=s.default.Distortion}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(12),i(15),i(18);s.default.Chorus=function(){var t=s.default.defaults(arguments,["frequency","delayTime","depth"],s.default.Chorus);s.default.StereoEffect.call(this,t),this._depth=t.depth,this._delayTime=t.delayTime/1e3,this._lfoL=new s.default.LFO({frequency:t.frequency,min:0,max:1}),this._lfoR=new s.default.LFO({frequency:t.frequency,min:0,max:1,phase:180}),this._delayNodeL=new s.default.Delay,this._delayNodeR=new s.default.Delay,this.frequency=this._lfoL.frequency,this.effectSendL.chain(this._delayNodeL,this.effectReturnL),this.effectSendR.chain(this._delayNodeR,this.effectReturnR),this.effectSendL.connect(this.effectReturnL),this.effectSendR.connect(this.effectReturnR),this._lfoL.connect(this._delayNodeL.delayTime),this._lfoR.connect(this._delayNodeR.delayTime),this._lfoL.start(),this._lfoR.start(),this._lfoL.frequency.connect(this._lfoR.frequency),this.depth=this._depth,this.frequency.value=t.frequency,this.type=t.type,this._readOnly(["frequency"]),this.spread=t.spread},s.default.extend(s.default.Chorus,s.default.StereoEffect),s.default.Chorus.defaults={frequency:1.5,delayTime:3.5,depth:.7,type:"sine",spread:180},Object.defineProperty(s.default.Chorus.prototype,"depth",{get:function(){return this._depth},set:function(t){this._depth=t;var e=this._delayTime*t;this._lfoL.min=Math.max(this._delayTime-e,0),this._lfoL.max=this._delayTime+e,this._lfoR.min=Math.max(this._delayTime-e,0),this._lfoR.max=this._delayTime+e}}),Object.defineProperty(s.default.Chorus.prototype,"delayTime",{get:function(){return 1e3*this._delayTime},set:function(t){this._delayTime=t/1e3,this.depth=this._depth}}),Object.defineProperty(s.default.Chorus.prototype,"type",{get:function(){return this._lfoL.type},set:function(t){this._lfoL.type=t,this._lfoR.type=t}}),Object.defineProperty(s.default.Chorus.prototype,"spread",{get:function(){return this._lfoR.phase-this._lfoL.phase},set:function(t){this._lfoL.phase=90-t/2,this._lfoR.phase=t/2+90}}),s.default.Chorus.prototype.dispose=function(){return s.default.StereoEffect.prototype.dispose.call(this),this._lfoL.dispose(),this._lfoL=null,this._lfoR.dispose(),this._lfoR=null,this._delayNodeL.dispose(),this._delayNodeL=null,this._delayNodeR.dispose(),this._delayNodeR=null,this._writable("frequency"),this.frequency=null,this},e.default=s.default.Chorus},function(t,e,i){"use strict";i.r(e);var s=i(0);i(8),i(7);s.default.Chebyshev=function(){var t=s.default.defaults(arguments,["order"],s.default.Chebyshev);s.default.Effect.call(this,t),this._shaper=new s.default.WaveShaper(4096),this._order=t.order,this.connectEffect(this._shaper),this.order=t.order,this.oversample=t.oversample},s.default.extend(s.default.Chebyshev,s.default.Effect),s.default.Chebyshev.defaults={order:1,oversample:"none"},s.default.Chebyshev.prototype._getCoefficient=function(t,e,i){return i.hasOwnProperty(e)?i[e]:(i[e]=0===e?0:1===e?t:2*t*this._getCoefficient(t,e-1,i)-this._getCoefficient(t,e-2,i),i[e])},Object.defineProperty(s.default.Chebyshev.prototype,"order",{get:function(){return this._order},set:function(t){this._order=t;for(var e=new Array(4096),i=e.length,s=0;s<i;++s){var n=2*s/i-1;e[s]=0===n?0:this._getCoefficient(n,t,{})}this._shaper.curve=e}}),Object.defineProperty(s.default.Chebyshev.prototype,"oversample",{get:function(){return this._shaper.oversample},set:function(t){this._shaper.oversample=t}}),s.default.Chebyshev.prototype.dispose=function(){return s.default.Effect.prototype.dispose.call(this),this._shaper.dispose(),this._shaper=null,this},e.default=s.default.Chebyshev},function(t,e,i){"use strict";i.r(e);var s=i(0);i(8),i(13),i(75);s.default.BitCrusher=function(){var t=s.default.defaults(arguments,["bits"],s.default.BitCrusher);s.default.Effect.call(this,t);var e=1/Math.pow(2,t.bits-1);this._subtract=new s.default.Subtract,this._modulo=new s.default.Modulo(e),this._bits=t.bits,this.effectSend.fan(this._subtract,this._modulo),this._modulo.connect(this._subtract,0,1),this._subtract.connect(this.effectReturn)},s.default.extend(s.default.BitCrusher,s.default.Effect),s.default.BitCrusher.defaults={bits:4},Object.defineProperty(s.default.BitCrusher.prototype,"bits",{get:function(){return this._bits},set:function(t){this._bits=t;var e=1/Math.pow(2,t-1);this._modulo.value=e}}),s.default.BitCrusher.prototype.dispose=function(){return s.default.Effect.prototype.dispose.call(this),this._subtract.dispose(),this._subtract=null,this._modulo.dispose(),this._modulo=null,this},e.default=s.default.BitCrusher}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(58),i(42),i(8),i(9);s.default.AutoWah=function(){var t=s.default.defaults(arguments,["baseFrequency","octaves","sensitivity"],s.default.AutoWah);s.default.Effect.call(this,t),this.follower=new s.default.Follower(t.follower),this._sweepRange=new s.default.ScaleExp(0,1,.5),this._baseFrequency=t.baseFrequency,this._octaves=t.octaves,this._inputBoost=new s.default.Gain,this._bandpass=new s.default.Filter({rolloff:-48,frequency:0,Q:t.Q}),this._peaking=new s.default.Filter(0,"peaking"),this._peaking.gain.value=t.gain,this.gain=this._peaking.gain,this.Q=this._bandpass.Q,this.effectSend.chain(this._inputBoost,this.follower,this._sweepRange),this._sweepRange.connect(this._bandpass.frequency),this._sweepRange.connect(this._peaking.frequency),this.effectSend.chain(this._bandpass,this._peaking,this.effectReturn),this._setSweepRange(),this.sensitivity=t.sensitivity,this._readOnly(["gain","Q"])},s.default.extend(s.default.AutoWah,s.default.Effect),s.default.AutoWah.defaults={baseFrequency:100,octaves:6,sensitivity:0,Q:2,gain:2,follower:{attack:.3,release:.5}},Object.defineProperty(s.default.AutoWah.prototype,"octaves",{get:function(){return this._octaves},set:function(t){this._octaves=t,this._setSweepRange()}}),Object.defineProperty(s.default.AutoWah.prototype,"baseFrequency",{get:function(){return this._baseFrequency},set:function(t){this._baseFrequency=t,this._setSweepRange()}}),Object.defineProperty(s.default.AutoWah.prototype,"sensitivity",{get:function(){return s.default.gainToDb(1/this._inputBoost.gain.value)},set:function(t){this._inputBoost.gain.value=1/s.default.dbToGain(t)}}),s.default.AutoWah.prototype._setSweepRange=function(){this._sweepRange.min=this._baseFrequency,this._sweepRange.max=Math.min(this._baseFrequency*Math.pow(2,this._octaves),this.context.sampleRate/2)},s.default.AutoWah.prototype.dispose=function(){return s.default.Effect.prototype.dispose.call(this),this.follower.dispose(),this.follower=null,this._sweepRange.dispose(),this._sweepRange=null,this._bandpass.dispose(),this._bandpass=null,this._peaking.dispose(),this._peaking=null,this._inputBoost.dispose(),this._inputBoost=null,this._writable(["gain","Q"]),this.gain=null,this.Q=null,this},e.default=s.default.AutoWah},function(t,e,i){"use strict";i.r(e);var s=i(0);i(8),i(12),i(48);s.default.AutoPanner=function(){var t=s.default.defaults(arguments,["frequency"],s.default.AutoPanner);s.default.Effect.call(this,t),this._lfo=new s.default.LFO({frequency:t.frequency,amplitude:t.depth,min:-1,max:1}),this.depth=this._lfo.amplitude,this._panner=new s.default.Panner,this.frequency=this._lfo.frequency,this.connectEffect(this._panner),this._lfo.connect(this._panner.pan),this.type=t.type,this._readOnly(["depth","frequency"])},s.default.extend(s.default.AutoPanner,s.default.Effect),s.default.AutoPanner.defaults={frequency:1,type:"sine",depth:1},s.default.AutoPanner.prototype.start=function(t){return this._lfo.start(t),this},s.default.AutoPanner.prototype.stop=function(t){return this._lfo.stop(t),this},s.default.AutoPanner.prototype.sync=function(t){return this._lfo.sync(t),this},s.default.AutoPanner.prototype.unsync=function(){return this._lfo.unsync(),this},Object.defineProperty(s.default.AutoPanner.prototype,"type",{get:function(){return this._lfo.type},set:function(t){this._lfo.type=t}}),s.default.AutoPanner.prototype.dispose=function(){return s.default.Effect.prototype.dispose.call(this),this._lfo.dispose(),this._lfo=null,this._panner.dispose(),this._panner=null,this._writable(["depth","frequency"]),this.frequency=null,this.depth=null,this},e.default=s.default.AutoPanner},function(t,e,i){"use strict";i.r(e);var s=i(0);i(8),i(12),i(9);s.default.AutoFilter=function(){var t=s.default.defaults(arguments,["frequency","baseFrequency","octaves"],s.default.AutoFilter);s.default.Effect.call(this,t),this._lfo=new s.default.LFO({frequency:t.frequency,amplitude:t.depth}),this.depth=this._lfo.amplitude,this.frequency=this._lfo.frequency,this.filter=new s.default.Filter(t.filter),this._octaves=0,this.connectEffect(this.filter),this._lfo.connect(this.filter.frequency),this.type=t.type,this._readOnly(["frequency","depth"]),this.octaves=t.octaves,this.baseFrequency=t.baseFrequency},s.default.extend(s.default.AutoFilter,s.default.Effect),s.default.AutoFilter.defaults={frequency:1,type:"sine",depth:1,baseFrequency:200,octaves:2.6,filter:{type:"lowpass",rolloff:-12,Q:1}},s.default.AutoFilter.prototype.start=function(t){return this._lfo.start(t),this},s.default.AutoFilter.prototype.stop=function(t){return this._lfo.stop(t),this},s.default.AutoFilter.prototype.sync=function(t){return this._lfo.sync(t),this},s.default.AutoFilter.prototype.unsync=function(){return this._lfo.unsync(),this},Object.defineProperty(s.default.AutoFilter.prototype,"type",{get:function(){return this._lfo.type},set:function(t){this._lfo.type=t}}),Object.defineProperty(s.default.AutoFilter.prototype,"baseFrequency",{get:function(){return this._lfo.min},set:function(t){this._lfo.min=this.toFrequency(t),this.octaves=this._octaves}}),Object.defineProperty(s.default.AutoFilter.prototype,"octaves",{get:function(){return this._octaves},set:function(t){this._octaves=t,this._lfo.max=this.baseFrequency*Math.pow(2,t)}}),s.default.AutoFilter.prototype.dispose=function(){return s.default.Effect.prototype.dispose.call(this),this._lfo.dispose(),this._lfo=null,this.filter.dispose(),this.filter=null,this._writable(["frequency","depth"]),this.frequency=null,this.depth=null,this},e.default=s.default.AutoFilter}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(23),i(10),i(19),i(2),i(22),i(28);s.default.Listener=function(){s.default.call(this),this._orientation=[0,0,0,0,0,0],this._position=[0,0,0],s.default.getContext(function(){this.set(n.defaults)}.bind(this))},s.default.extend(s.default.Listener),s.default.Listener.defaults={positionX:0,positionY:0,positionZ:0,forwardX:0,forwardY:0,forwardZ:1,upX:0,upY:1,upZ:0},s.default.Listener.prototype.isListener=!0,s.default.Listener.prototype._rampTimeConstant=.01,s.default.Listener.prototype.setPosition=function(t,e,i){if(this.context.rawContext.listener.positionX){var s=this.now();this.context.rawContext.listener.positionX.setTargetAtTime(t,s,this._rampTimeConstant),this.context.rawContext.listener.positionY.setTargetAtTime(e,s,this._rampTimeConstant),this.context.rawContext.listener.positionZ.setTargetAtTime(i,s,this._rampTimeConstant)}else this.context.rawContext.listener.setPosition(t,e,i);return this._position=Array.prototype.slice.call(arguments),this},s.default.Listener.prototype.setOrientation=function(t,e,i,s,n,o){if(this.context.rawContext.listener.forwardX){var a=this.now();this.context.rawContext.listener.forwardX.setTargetAtTime(t,a,this._rampTimeConstant),this.context.rawContext.listener.forwardY.setTargetAtTime(e,a,this._rampTimeConstant),this.context.rawContext.listener.forwardZ.setTargetAtTime(i,a,this._rampTimeConstant),this.context.rawContext.listener.upX.setTargetAtTime(s,a,this._rampTimeConstant),this.context.rawContext.listener.upY.setTargetAtTime(n,a,this._rampTimeConstant),this.context.rawContext.listener.upZ.setTargetAtTime(o,a,this._rampTimeConstant)}else this.context.rawContext.listener.setOrientation(t,e,i,s,n,o);return this._orientation=Array.prototype.slice.call(arguments),this},Object.defineProperty(s.default.Listener.prototype,"positionX",{set:function(t){this._position[0]=t,this.setPosition.apply(this,this._position)},get:function(){return this._position[0]}}),Object.defineProperty(s.default.Listener.prototype,"positionY",{set:function(t){this._position[1]=t,this.setPosition.apply(this,this._position)},get:function(){return this._position[1]}}),Object.defineProperty(s.default.Listener.prototype,"positionZ",{set:function(t){this._position[2]=t,this.setPosition.apply(this,this._position)},get:function(){return this._position[2]}}),Object.defineProperty(s.default.Listener.prototype,"forwardX",{set:function(t){this._orientation[0]=t,this.setOrientation.apply(this,this._orientation)},get:function(){return this._orientation[0]}}),Object.defineProperty(s.default.Listener.prototype,"forwardY",{set:function(t){this._orientation[1]=t,this.setOrientation.apply(this,this._orientation)},get:function(){return this._orientation[1]}}),Object.defineProperty(s.default.Listener.prototype,"forwardZ",{set:function(t){this._orientation[2]=t,this.setOrientation.apply(this,this._orientation)},get:function(){return this._orientation[2]}}),Object.defineProperty(s.default.Listener.prototype,"upX",{set:function(t){this._orientation[3]=t,this.setOrientation.apply(this,this._orientation)},get:function(){return this._orientation[3]}}),Object.defineProperty(s.default.Listener.prototype,"upY",{set:function(t){this._orientation[4]=t,this.setOrientation.apply(this,this._orientation)},get:function(){return this._orientation[4]}}),Object.defineProperty(s.default.Listener.prototype,"upZ",{set:function(t){this._orientation[5]=t,this.setOrientation.apply(this,this._orientation)},get:function(){return this._orientation[5]}}),s.default.Listener.prototype.dispose=function(){return this._orientation=null,this._position=null,this};var n=s.default.Listener;s.default.Listener=new n,s.default.Context.on("init",function(t){t.listener&&t.listener.isListener?s.default.Listener=t.listener:s.default.Listener=new n}),e.default=s.default.Listener},function(t,e,i){"use strict";i.r(e);var s=i(0);i(24);s.default.Draw=function(){s.default.call(this),this._events=new s.default.Timeline,this.expiration=.25,this.anticipation=.008,this._boundDrawLoop=this._drawLoop.bind(this)},s.default.extend(s.default.Draw),s.default.Draw.prototype.schedule=function(t,e){return this._events.add({callback:t,time:this.toSeconds(e)}),1===this._events.length&&requestAnimationFrame(this._boundDrawLoop),this},s.default.Draw.prototype.cancel=function(t){return this._events.cancel(this.toSeconds(t)),this},s.default.Draw.prototype._drawLoop=function(){for(var t=s.default.context.currentTime;this._events.length&&this._events.peek().time-this.anticipation<=t;){var e=this._events.shift();t-e.time<=this.expiration&&e.callback()}this._events.length>0&&requestAnimationFrame(this._boundDrawLoop)},s.default.Draw=new s.default.Draw,e.default=s.default.Draw}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0),n=(i(3),{});s.default.prototype.send=function(t,e){n.hasOwnProperty(t)||(n[t]=this.context.createGain()),e=s.default.defaultArg(e,0);var i=new s.default.Gain(e,s.default.Type.Decibels);return this.connect(i),i.connect(n[t]),i},s.default.prototype.receive=function(t,e){return n.hasOwnProperty(t)||(n[t]=this.context.createGain()),s.default.connect(n[t],this,0,e),this},s.default.Context.on("init",function(t){t.buses?n=t.buses:(n={},t.buses=n)}),e.default=s.default},function(t,e,i){"use strict";i.r(e);var s=i(0);i(4);s.default.CtrlRandom=function(){var t=s.default.defaults(arguments,["min","max"],s.default.CtrlRandom);s.default.call(this),this.min=t.min,this.max=t.max,this.integer=t.integer},s.default.extend(s.default.CtrlRandom),s.default.CtrlRandom.defaults={min:0,max:1,integer:!1},Object.defineProperty(s.default.CtrlRandom.prototype,"value",{get:function(){var t=this.toSeconds(this.min),e=this.toSeconds(this.max),i=Math.random(),s=i*t+(1-i)*e;return this.integer&&(s=Math.floor(s)),s}}),e.default=s.default.CtrlRandom},function(t,e,i){"use strict";i.r(e);var s=i(0);s.default.CtrlMarkov=function(t,e){s.default.call(this),this.values=s.default.defaultArg(t,{}),this.value=s.default.defaultArg(e,Object.keys(this.values)[0])},s.default.extend(s.default.CtrlMarkov),s.default.CtrlMarkov.prototype.next=function(){if(this.values.hasOwnProperty(this.value)){var t=this.values[this.value];if(s.default.isArray(t))for(var e=this._getProbDistribution(t),i=Math.random(),n=0,o=0;o<e.length;o++){var a=e[o];if(i>n&&i<n+a){var r=t[o];s.default.isObject(r)?this.value=r.value:this.value=r}n+=a}else this.value=t}return this.value},s.default.CtrlMarkov.prototype._getProbDistribution=function(t){for(var e=[],i=0,n=!1,o=0;o<t.length;o++){var a=t[o];s.default.isObject(a)?(n=!0,e[o]=a.probability):e[o]=1/t.length,i+=e[o]}if(n)for(var r=0;r<e.length;r++)e[r]=e[r]/i;return e},s.default.CtrlMarkov.prototype.dispose=function(){this.values=null},e.default=s.default.CtrlMarkov},function(t,e,i){"use strict";i.r(e);var s=i(0);i(4);s.default.CtrlInterpolate=function(){var t=s.default.defaults(arguments,["values","index"],s.default.CtrlInterpolate);s.default.call(this),this.values=t.values,this.index=t.index},s.default.extend(s.default.CtrlInterpolate),s.default.CtrlInterpolate.defaults={index:0,values:[]},Object.defineProperty(s.default.CtrlInterpolate.prototype,"value",{get:function(){var t=this.index;t=Math.min(t,this.values.length-1);var e=Math.floor(t),i=this.values[e],s=this.values[Math.ceil(t)];return this._interpolate(t-e,i,s)}}),s.default.CtrlInterpolate.prototype._interpolate=function(t,e,i){if(s.default.isArray(e)){for(var n=[],o=0;o<e.length;o++)n[o]=this._interpolate(t,e[o],i[o]);return n}if(s.default.isObject(e)){var a={};for(var r in e)a[r]=this._interpolate(t,e[r],i[r]);return a}return(1-t)*(e=this._toNumber(e))+t*(i=this._toNumber(i))},s.default.CtrlInterpolate.prototype._toNumber=function(t){return s.default.isNumber(t)?t:this.toSeconds(t)},s.default.CtrlInterpolate.prototype.dispose=function(){this.values=null},e.default=s.default.CtrlInterpolate},function(t,e,i){"use strict";i.r(e);var s=i(0);i(36),i(1);s.default.Waveform=function(){var t=s.default.defaults(arguments,["size"],s.default.Waveform);t.type=s.default.Analyser.Type.Waveform,s.default.AudioNode.call(this),this._analyser=this.input=this.output=new s.default.Analyser(t)},s.default.extend(s.default.Waveform,s.default.AudioNode),s.default.Waveform.defaults={size:1024},s.default.Waveform.prototype.getValue=function(){return this._analyser.getValue()},Object.defineProperty(s.default.Waveform.prototype,"size",{get:function(){return this._analyser.size},set:function(t){this._analyser.size=t}}),s.default.Waveform.prototype.dispose=function(){s.default.AudioNode.prototype.dispose.call(this),this._analyser.dispose(),this._analyser=null},e.default=s.default.Waveform},function(t,e,i){"use strict";i.r(e);var s=i(0);i(23),i(10),i(19),i(2),i(22),i(28),i(1);s.default.Panner3D=function(){var t=s.default.defaults(arguments,["positionX","positionY","positionZ"],s.default.Panner3D);s.default.AudioNode.call(this),this._panner=this.input=this.output=this.context.createPanner(),this._panner.panningModel=t.panningModel,this._panner.maxDistance=t.maxDistance,this._panner.distanceModel=t.distanceModel,this._panner.coneOuterGain=t.coneOuterGain,this._panner.coneOuterAngle=t.coneOuterAngle,this._panner.coneInnerAngle=t.coneInnerAngle,this._panner.refDistance=t.refDistance,this._panner.rolloffFactor=t.rolloffFactor,this._orientation=[t.orientationX,t.orientationY,t.orientationZ],this._position=[t.positionX,t.positionY,t.positionZ],this.orientationX=t.orientationX,this.orientationY=t.orientationY,this.orientationZ=t.orientationZ,this.positionX=t.positionX,this.positionY=t.positionY,this.positionZ=t.positionZ},s.default.extend(s.default.Panner3D,s.default.AudioNode),s.default.Panner3D.defaults={positionX:0,positionY:0,positionZ:0,orientationX:0,orientationY:0,orientationZ:0,panningModel:"equalpower",maxDistance:1e4,distanceModel:"inverse",coneOuterGain:0,coneOuterAngle:360,coneInnerAngle:360,refDistance:1,rolloffFactor:1},s.default.Panner3D.prototype._rampTimeConstant=.01,s.default.Panner3D.prototype.setPosition=function(t,e,
5189i){if(this._panner.positionX){var s=this.now();this._panner.positionX.setTargetAtTime(t,s,this._rampTimeConstant),this._panner.positionY.setTargetAtTime(e,s,this._rampTimeConstant),this._panner.positionZ.setTargetAtTime(i,s,this._rampTimeConstant)}else this._panner.setPosition(t,e,i);return this._position=Array.prototype.slice.call(arguments),this},s.default.Panner3D.prototype.setOrientation=function(t,e,i){if(this._panner.orientationX){var s=this.now();this._panner.orientationX.setTargetAtTime(t,s,this._rampTimeConstant),this._panner.orientationY.setTargetAtTime(e,s,this._rampTimeConstant),this._panner.orientationZ.setTargetAtTime(i,s,this._rampTimeConstant)}else this._panner.setOrientation(t,e,i);return this._orientation=Array.prototype.slice.call(arguments),this},Object.defineProperty(s.default.Panner3D.prototype,"positionX",{set:function(t){this._position[0]=t,this.setPosition.apply(this,this._position)},get:function(){return this._position[0]}}),Object.defineProperty(s.default.Panner3D.prototype,"positionY",{set:function(t){this._position[1]=t,this.setPosition.apply(this,this._position)},get:function(){return this._position[1]}}),Object.defineProperty(s.default.Panner3D.prototype,"positionZ",{set:function(t){this._position[2]=t,this.setPosition.apply(this,this._position)},get:function(){return this._position[2]}}),Object.defineProperty(s.default.Panner3D.prototype,"orientationX",{set:function(t){this._orientation[0]=t,this.setOrientation.apply(this,this._orientation)},get:function(){return this._orientation[0]}}),Object.defineProperty(s.default.Panner3D.prototype,"orientationY",{set:function(t){this._orientation[1]=t,this.setOrientation.apply(this,this._orientation)},get:function(){return this._orientation[1]}}),Object.defineProperty(s.default.Panner3D.prototype,"orientationZ",{set:function(t){this._orientation[2]=t,this.setOrientation.apply(this,this._orientation)},get:function(){return this._orientation[2]}}),s.default.Panner3D._aliasProperty=function(t){Object.defineProperty(s.default.Panner3D.prototype,t,{set
5189:function(e){this._panner[t]=e},get:function(){return this._panner[t]}})},s.default.Panner3D._aliasProperty("panningModel"),s.default.Panner3D._aliasProperty("refDistance"),s.default.Panner3D._aliasProperty("rolloffFactor"),s.default.Panner3D._aliasProperty("distanceModel"),s.default.Panner3D._aliasProperty("coneInnerAngle"),s.default.Panner3D._aliasProperty("coneOuterAngle"),s.default.Panner3D._aliasProperty("coneOuterGain"),s.default.Panner3D._aliasProperty("maxDistance"),s.default.Panner3D.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._panner.disconnect(),this._panner=null,this._orientation=null,this._position=null,this},e.default=s.default.Panner3D},function(t,e,i){"use strict";i.r(e);var s=i(0);i(60),i(43),i(1);s.default.MultibandCompressor=function(t){s.default.AudioNode.call(this),t=s.default.defaultArg(arguments,s.default.MultibandCompressor.defaults),this._splitter=this.input=new s.default.MultibandSplit({lowFrequency:t.lowFrequency,highFrequency:t.highFrequency}),this.lowFrequency=this._splitter.lowFrequency,this.highFrequency=this._splitter.highFrequency,this.output=new s.default.Gain,this.low=new s.default.Compressor(t.low),this.mid=new s.default.Compressor(t.mid),this.high=new s.default.Compressor(t.high),this._splitter.low.chain(this.low,this.output),this._splitter.mid.chain(this.mid,this.output),this._splitter.high.chain(this.high,this.output),this._readOnly(["high","mid","low","highFrequency","lowFrequency"])},s.default.extend(s.default.MultibandCompressor,s.default.AudioNode),s.default.MultibandCompressor.defaults={low:s.default.Compressor.defaults,mid:s.default.Compressor.defaults,high:s.default.Compressor.defaults,lowFrequency:250,highFrequency:2e3},s.default.MultibandCompressor.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._splitter.dispose(),this._writable(["high","mid","low","highFrequency","lowFrequency"]),this.low.dispose(),this.mid.dispose(),this.high.dispose(),this._splitter=null,this.low=null,this.mid=null,this.high=null,this.lowFrequency=null,this.highFrequency=null,this},e.default=s.default.MultibandCompressor},function(t,e,i){"use strict";i.r(e);var s=i(0);i(10),i(1);s.default.Mono=function(){s.default.AudioNode.call(this),this.createInsOuts(1,0),this._merge=this.output=new s.default.Merge,s.default.connect(this.input,this._merge,0,0),s.default.connect(this.input,this._merge,0,1)},s.default.extend(s.default.Mono,s.default.AudioNode),s.default.Mono.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._merge.dispose(),this._merge=null,this},e.default=s.default.Mono},function(t,e,i){"use strict";i.r(e);var s=i(0);i(53),i(52),i(43),i(1);s.default.MidSideCompressor=function(t){s.default.AudioNode.call(this),t=s.default.defaultArg(t,s.default.MidSideCompressor.defaults),this._midSideSplit=this.input=new s.default.MidSideSplit,this._midSideMerge=this.output=new s.default.MidSideMerge,this.mid=new s.default.Compressor(t.mid),this.side=new s.default.Compressor(t.side),this._midSideSplit.mid.chain(this.mid,this._midSideMerge.mid),this._midSideSplit.side.chain(this.side,this._midSideMerge.side),this._readOnly(["mid","side"])},s.default.extend(s.default.MidSideCompressor,s.default.AudioNode),s.default.MidSideCompressor.defaults={mid:{ratio:3,threshold:-24,release:.03,attack:.02,knee:16},side:{ratio:6,threshold:-30,release:.25,attack:.03,knee:10}},s.default.MidSideCompressor.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._writable(["mid","side"]),this.mid.dispose(),this.mid=null,this.side.dispose(),this.side=null,this._midSideSplit.dispose(),this._midSideSplit=null,this._midSideMerge.dispose(),this._midSideMerge=null,this},e.default=s.default.MidSideCompressor},function(t,e,i){"use strict";i.r(e);var s=i(0);i(36),i(1);s.default.Meter=function(){var t=s.default.defaults(arguments,["smoothing"],s.default.Meter);s.default.AudioNode.call(this),this.smoothing=t.smoothing,this._rms=0,this.input=this.output=this._analyser=new s.default.Analyser("waveform",256)},s.default.extend(s.default.Meter,s.default.AudioNode),s.default.Meter.defaults={smoothing:.8},s.default.Meter.prototype.getLevel=function(){for(var t=this._analyser.getValue(),e=0,i=0;i<t.length;i++){var n=t[i];e+=n*n}var o=Math.sqrt(e/t.length);return this._rms=Math.max(o,this._rms*this.smoothing),s.default.gainToDb(this._rms)},s.default.Meter.prototype.getValue=function(){return this._analyser.getValue()[0]},s.default.Meter.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._analyser.dispose(),this._analyser=null,this},e.default=s.default.Meter}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(43),i(1);s.default.Limiter=function(){var t=s.default.defaults(arguments,["threshold"],s.default.Limiter);s.default.AudioNode.call(this),this._compressor=this.input=this.output=new s.default.Compressor({attack:.001,decay:.001,threshold:t.threshold}),this.threshold=this._compressor.threshold,this._readOnly("threshold")},s.default.extend(s.default.Limiter,s.default.AudioNode),s.default.Limiter.defaults={threshold:-12},s.default.Limiter.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._compressor.dispose(),this._compressor=null,this._writable("threshold"),this.threshold=null,this},e.default=s.default.Limiter},function(t,e,i){"use strict";i.r(e);var s=i(0);i(58),i(85),i(1);s.default.Gate=function(){var t=s.default.defaults(arguments,["threshold","smoothing"],s.default.Gate);s.default.AudioNode.call(this),this.createInsOuts(1,1),this._follower=new s.default.Follower(t.smoothing),this._gt=new s.default.GreaterThan(s.default.dbToGain(t.threshold)),s.default.connect(this.input,this.output),s.default.connectSeries(this.input,this._follower,this._gt,this.output.gain)},s.default.extend(s.default.Gate,s.default.AudioNode),s.default.Gate.defaults={smoothing:.1,threshold:-40},Object.defineProperty(s.default.Gate.prototype,"threshold",{get:function(){return s.default.gainToDb(this._gt.value)},set:function(t){this._gt.value=s.default.dbToGain(t)}}),Object.defineProperty(s.default.Gate.prototype,"smoothing",{get:function(){return this._follower.smoothing},set:function(t){this._follower.smoothing=t}}),s.default.Gate.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._follower.dispose(),this._gt.dispose(),this._follower=null,this._gt=null,this},e.default=s.default.Gate},function(t,e,i){"use strict";i.r(e);var s=i(0);i(36),i(1);s.default.FFT=function(){var t=s.default.defaults(arguments,["size"],s.default.FFT);t.type=s.default.Analyser.Type.FFT,s.default.AudioNode.call(this),this._analyser=this.input=this.output=new s.default.Analyser(t)},s.default.extend(s.default.FFT,s.default.AudioNode),s.default.FFT.defaults={size:1024},s.default.FFT.prototype.getValue=function(){return this._analyser.getValue()},Object.defineProperty(s.default.FFT.prototype,"size",{get:function(){return this._analyser.size},set:function(t){this._analyser.size=t}}),s.default.FFT.prototype.dispose=function(){s.default.AudioNode.prototype.dispose.call(this),this._analyser.dispose(),this._analyser=null},e.default=s.default.FFT},function(t,e,i){"use strict";i.r(e);var s=i(0);i(60),i(3),i(1);s.default.EQ3=function(){var t=s.default.defaults(arguments,["low","mid","high"],s.default.EQ3);s.default.AudioNode.call(this),this.output=new s.default.Gain,this._multibandSplit=this.input=new s.default.MultibandSplit({lowFrequency:t.lowFrequency,highFrequency:t.highFrequency}),this._lowGain=new s.default.Gain(t.low,s.default.Type.Decibels),this._midGain=new s.default.Gain(t.mid,s.default.Type.Decibels),this._highGain=new s.default.Gain(t.high,s.default.Type.Decibels),this.low=this._lowGain.gain,this.mid=this._midGain.gain,this.high=this._highGain.gain,this.Q=this._multibandSplit.Q,this.lowFrequency=this._multibandSplit.lowFrequency,this.highFrequency=this._multibandSplit.highFrequency,this._multibandSplit.low.chain(this._lowGain,this.output),this._multibandSplit.mid.chain(this._midGain,this.output),this._multibandSplit.high.chain(this._highGain,this.output),this._readOnly(["low","mid","high","lowFrequency","highFrequency"])},s.default.extend(s.default.EQ3,s.default.AudioNode),s.default.EQ3.defaults={low:0,mid:0,high:0,lowFrequency:400,highFrequency:2500},s.default.EQ3.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._writable(["low","mid","high","lowFrequency","highFrequency"]),this._multibandSplit.dispose(),this._multibandSplit=null,this.lowFrequency=null,this.highFrequency=null,this._lowGain.dispose(),this._lowGain=null,this._midGain.dispose(),this._midGain=null,this._highGain.dispose(),this._highGain=null,this.low=null,this.mid=null,this.high=null,this.Q=null,this},e.default=s.default.EQ3}
5189,function(t,e,i){"use strict";i.r(e);var s=i(0);i(91),i(88),i(1);s.default.Channel=function(){var t=s.default.defaults(arguments,["volume","pan"],s.default.PanVol);s.default.AudioNode.call(this,t),this._solo=this.input=new s.default.Solo(t.solo),this._panVol=this.output=new s.default.PanVol({pan:t.pan,volume:t.volume,mute:t.mute}),this.pan=this._panVol.pan,this.volume=this._panVol.volume,this._solo.connect(this._panVol),this._readOnly(["pan","volume"])},s.default.extend(s.default.Channel,s.default.AudioNode),s.default.Channel.defaults={pan:0,volume:0,mute:!1,solo:!1},Object.defineProperty(s.default.Channel.prototype,"solo",{get:function(){return this._solo.solo},set:function(t){this._solo.solo=t}}),Object.defineProperty(s.default.Channel.prototype,"muted",{get:function(){return this._solo.muted||this.mute}}),Object.defineProperty(s.default.Channel.prototype,"mute",{get:function(){return this._panVol.mute},set:function(t){this._panVol.mute=t}}),s.default.Channel.prototype.dispose=function(){return s.default.AudioNode.prototype.dispose.call(this),this._writable(["pan","volume"]),this._panVol.dispose(),this._panVol=null,this.pan=null,this.volume=null,this._solo.dispose(),this._solo=null,this},e.default=s.default.Channel},function(t,e){var i;i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(i=window)}t.exports=i},function(t,e,i){i(31),i(36),i(146),i(43),i(23),i(47),i(145),i(59),i(144),i(9),i(58),i(41),i(143),i(12),i(142),i(54),i(10),i(141),i(140),i(52),i(53),i(139),i(138),i(60),i(48),i(137),i(91),i(86),i(88),i(19),i(27),i(136),i(135),i(134),i(79),i(133),i(1),i(11),i(78),i(132),i(83),i(20),i(18),i(131),i(35),i(3),i(81),i(130),i(40),i(77),i(76),i(14),i(24),i(34),i(16),i(56),i(80),i(129),i(128),i(127),i(126),i(125),i(124),i(74),i(123),i(8),i(122),i(33),i(121),i(120),i(73),i(119),i(118),i(117),i(116),i(15),i(115),i(114),i(72),i(113),i(112),i(51),i(71),i(70),i(111),i(110),i(109),i(108),i(107),i(21),i(106),i(105),i(25),i(66),i(104),i(103),i(102),i(101),i(38),i(87),i(29),i(22),i(89),i(100),i(85),i(84),i(75),i(5),i(90),i(99),i(61),i(26),i(42),i(2),i(30),i(13),i(82),i(98),i(7),i(28),i(68),i(32),i(67),i(49),i(97),i(39),i(37),i(17),i(64),i(65),i(96),i(50),i(69),i(6),i(57),i(95),i(46),i(94),i(55),i(63),i(62),i(45),i(4),t.exports=i(0).default}])}); 5190//# sourceMappingURL=Tone.js.map 5191 5192/***/ }), 5193/* 17 */ 5194/***/ (function(module, __webpack_exports__, __webpack_require__) { 5195 5196"use strict"; 5197/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutPropertiesLoose; }); 5198function _objectWithoutPropertiesLoose(source, excluded) { 5199 if (source == null) return {}; 5200 var target = {}; 5201 var sourceKeys = Object.keys(source); 5202 var key, i; 5203 5204 for (i = 0; i < sourceKeys.length; i++) { 5205 key = sourceKeys[i]; 5206 if (excluded.indexOf(key) >= 0) continue; 5207 target[key] = source[key]; 5208 } 5209 5210 return target; 5211} 5212 5213/***/ }), 5214/* 18 */ 5215/***/ (function(module, exports, __webpack_require__) { 5216 5217"use strict"; 5218 5219Object.defineProperty(exports, "__esModule", { value: true }); 5220var deep_diff_1 = __webpack_require__(82); 5221// @ts-ignore 5222var nested_property_1 = __webpack_require__(83); 5223function isPlainObj() { 5224 var args = []; 5225 for (var _i = 0; _i < arguments.length; _i++) { 5226 args[_i] = arguments[_i]; 5227 } 5228 return args.every(function (d) { 5229 if (!d) { 5230 return false; 5231 } 5232 var prototype = Object.getPrototypeOf(d); 5233 return (Object.prototype.toString.call(d).slice(8, -1) === 'Object' && 5234 (prototype === null || prototype === Object.getPrototypeOf({}))); 5235 }); 5236} 5237function isArray() { 5238 var args = []; 5239 for (var _i = 0; _i < arguments.length; _i++) { 5240 args[_i] = arguments[_i]; 5241 } 5242 return args.every(Array.isArray); 5243} 5244function isNumber() { 5245 var args = []; 5246 for (var _i = 0; _i < arguments.length; _i++) { 5247 args[_i] = arguments[_i]; 5248 } 5249 return args.every(function (d) { return typeof d === 'number'; }); 5250} 5251function treeChanges(data, nextData) { 5252 if (!data || !nextData) { 5253 throw new Error('Missing required parameters'); 5254 } 5255 return { 5256 changed: function (key) { 5257 var left = nested_property_1.get(data, key); 5258 var right = nested_property_1.get(nextData, key); 5259 if (isArray(left, right) || isPlainObj(left, right)) { 5260 return !!deep_diff_1.diff(left, right); 5261 } 5262 return left !== right; 5263 }, 5264 changedFrom: function (key, previous, actual) { 5265 if (typeof key === 'undefined') { 5266 throw new Error('Key parameter is required'); 5267 } 5268 var useActual = typeof previous !== 'undefined' && typeof actual !== 'undefined'; 5269 var left = nested_property_1.get(data, key); 5270 var right = nested_property_1.get(nextData, key); 5271 var leftComparator = Array.isArray(previous) 5272 ? previous.indexOf(left) >= 0 5273 : left === previous; 5274 var rightComparator = Array.isArray(actual) ? actual.indexOf(right) >= 0 : right === actual; 5275 return leftComparator && (useActual ? rightComparator : !useActual); 5276 }, 5277 changedTo: function (key, actual) { 5278 if (typeof key === 'undefined') { 5279 throw new Error('Key parameter is required'); 5280 } 5281 var left = nested_property_1.get(data, key); 5282 var right = nested_property_1.get(nextData, key); 5283 var leftComparator = Array.isArray(actual) ? actual.indexOf(left) < 0 : left !== actual; 5284 var rightComparator = Array.isArray(actual) ? actual.indexOf(right) >= 0 : right === actual; 5285 return leftComparator && rightComparator; 5286 }, 5287 increased: function (key) { 5288 if (typeof key === 'undefined') { 5289 throw new Error('Key parameter is required'); 5290 } 5291 return (isNumber(nested_property_1.get(data, key), nested_property_1.get(nextData, key)) && 5292 nested_property_1.get(data, key) < nested_property_1.get(nextData, key)); 5293 }, 5294 decreased: function (key) { 5295 if (typeof key === 'undefined') { 5296 throw new Error('Key parameter is required'); 5297 } 5298 return (isNumber(nested_property_1.get(data, key), nested_property_1.get(nextData, key)) && 5299 nested_property_1.get(data, key) > nested_property_1.get(nextData, key)); 5300 }, 5301 }; 5302} 5303exports.default = treeChanges; 5304//# sourceMappingURL=index.js.map 5305 5306/***/ }), 5307/* 19 */ 5308/***/ (function(module, exports, __webpack_require__) { 5309 5310"use strict"; 5311
5312var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { 5313 if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } 5314 return cooked; 5315}; 5316var __assign = (this && this.__assign) || function () { 5317 __assign = Object.assign || function(t) { 5318 for (var s, i = 1, n = arguments.length; i < n; i++) { 5319 s = arguments[i]; 5320 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) 5321 t[p] = s[p]; 5322 } 5323 return t; 5324 }; 5325 return __assign.apply(this, arguments); 5326}; 5327Object.defineProperty(exports, "__esModule", { value: true }); 5328var React = __webpack_require__(0); 5329var styled_components_1 = __webpack_require__(13); 5330var context_1 = __webpack_require__(9); 5331var _constants_1 = __webpack_require__(1); 5332var _utils_1 = __webpack_require__(65); 5333var DesktopEventsContext_1 = __webpack_require__(35); 5334var buttonLight = function (color) { return ("background: " + color + ";\n box-shadow: 0px 0px 9px " + color + ";"); }; 5335var active = buttonLight('radial-gradient(#efaaaa 40%, #e8e8e8 75%)'); 5336var temp = buttonLight('#9999d0'); 5337var highlight = buttonLight('#ffd0d0'); 5338var DefaultCell = styled_components_1.default('button')(templateObject_1 || (templateOb
5338ject_1 = __makeTemplateObject(["\n @keyframes flash {\n 0% { box-shadow: initial; }\n 20% { box-shadow: 0px 0px 50px red; }\n 70% { box-shadow: intiial; }\n }\n background-color: #e8e8e8; \n margin: 5px;\n word-wrap: break-word;\n padding: 0px;\n\n ", "\n ", "\n &[data-live] {\n ", "\n }\n &[data-active]:not(:active) {\n ", "\n }\n &:focus {\n outline: none;\n }\n &:active, &[data-active] {\n ", "\n }\n &[data-held] {\n ", "\n }\n &[data-held][data-active] {\n background-color: #aae0aa;\n box-shadow: 0px 0px 9px #9999d0, inset 0px 0px 4px 4px #9999d0;\n }\n .pad & {\n &[data-active], &:focus {\n border: none;\n padding-top: 2px;\n padding-left: 2px;\n background-color: #eeeeee;\n box-shadow: 0px 0px 2px white;\n }\n }\n &::after {\n display: inline-block;\n content: attr(data-display); background-repeat: no-repeat;\n background-size: 24px;\n background-position: center;\n ", "\n ", "\n }\n &:active::after {\n transform: translate(1px, 1px);\n }\n\n"], ["\n @keyframes flash {\n 0% { box-shadow: initial; }\n 20% { box-shadow: 0px 0px 50px red; }\n 70% { box-shadow: intiial; }\n }\n background-color: #e8e8e8; \n margin: 5px;\n word-wrap: break-word;\n padding: 0px;\n\n ", "\n ", "\n &[data-live] {\n ", "\n }\n &[data-active]:not(:active) {\n ", "\n }\n &:focus {\n outline: none;\n }\n &:active, &[data-active] {\n ", "\n }\n &[data-held] {\n ", "\n }\n &[data-held][data-active] {\n background-color: #aae0aa;\n box-shadow: 0px 0px 9px #9999d0, inset 0px 0px 4px 4px #9999d0;\n }\n .pad & {\n &[data-active], &:focus {\n border: none;\n padding-top: 2px;\n padding-left: 2px;\n background-color: #eeeeee;\n box-shadow: 0px 0px 2px white;\n }\n }\n &::after {\n display: inline-block;\n content: attr(data-display); background-repeat: no-repeat;\n background-size: 24px;\n background-position: center;\n ", "\n ", 5339 "\n }\n &:active::after {\n transform: translate(1px, 1px);\n }\n\n"])), function (_a) { 5340 var height = _a.height;
5341 return height ? "grid-row: span " + height + ";" : ''; 5342}, function (_a) { 5343 var width = _a.width; 5344 return width ? "grid-column: span " + width + ";" : ''; 5345}, highlight, active, active, temp, function (_a) { 5346 var icon = _a.icon; 5347 return icon ? "background-image: url(" + icon + "); content: ''; width: 100%; height: 100%;" : ''; 5348}, function (_a) { 5349 var isDataDisplay = _a.isDataDisplay; 5350 return isDataDisplay 5351 ? "font-family: monospace; font-size: 8px; line-height: 16px;" 5352 : ''; 5353}); 5354var holdTime = 400; 5355/** 5356 * As desktop cannot do multitouch, a secondary system involving holding down buttons is required too 5357 */ 5358var Cell = React.forwardRef(function (props, ref) { 5359 var holdTimer = React.useRef(null); 5360 var dispatch = React.useContext(context_1.default).dispatch; 5361 var desktop = React.useContext(DesktopEventsContext_1.default); 5362 var isHeld = React.useMemo(function () { 5363 var checkValue = typeof props.value !== 'undefined' 5364 ? props.value 5365 : (props.id || undefined); 5366 return (props.secondaryAction 5367 && desktop.held 5368 && (desktop.held.secondary === props.secondaryAction) 5369 && (desktop.held.value === checkValue) 5370 ? true 5371 : undefined); 5372 }, [desktop.held, props.secondaryAction, props.value]); 5373 var onMouseDown = React.useCallback(function (e) { 5374 var buttonData = _utils_1.getButtonData(e.target); 5375 holdTimer.current = setTimeout(function () { 5376 if (holdTimer.current && props.secondaryAction) { 5377 desktop.onHold(buttonData); 5378 } 5379 holdTimer.current = null; 5380 }, holdTime); 5381 }, []); 5382 var onMouseUp = React.useCallback(function () { 5383 if (holdTimer.current && !props.onClick) { 5384 clearTimeout(holdTimer.current); 5385 holdTimer.current = null; 5386 } 5387 }, []); 5388 var onClick = React.useCallback(function (e) { 5389 var buttonData = _utils_1.getButtonData(e.target); 5390 if (desktop.held.secondary 5391 && (holdTimer.current 5392 || (desktop.held.secondary !== buttonData.secondary))) { 5393 clearTimeout(holdTimer.current); 5394 holdTimer.current = null; 5395 desktop.holdAction(buttonData); 5396 } 5397 else if (holdTimer.current) { 5398 clearTimeout(holdTimer.current); 5399 holdTimer.current = null; 5400 if (props.onClick) { 5401 props.onClick(e); 5402 } 5403 return; 5404 }
5405 else if (props.onHold && props.onClick) { 5406 props.onClick(e); 5407 } 5408 }, [props.onClick, desktop.held]); 5409 var onTouchStart = React.useCallback(function (e) { 5410 holdTimer.current = setTimeout(function () { 5411 holdTimer.current = null; 5412 }, holdTime); 5413 if (isHeld) { 5414 return; 5415 } 5416 else { 5417 console.log(_utils_1.getTouchValues(e)); 5418 dispatch({ 5419 type: _constants_1.MULTI_TOUCH, 5420 value: _utils_1.getTouchValues(e), 5421 }); 5422 } 5423 }, [desktop.held, isHeld]); 5424 var actionProps = React.useMemo(function () { 5425 return { 5426 onClick: onClick, 5427 onMouseDown: props.onHold || onMouseDown, 5428 onMouseUp: props.onRelease || onMouseUp, 5429 onTouchStart: props.noTouch ? undefined : (props.onHold || onTouchStart), 5430 onTouchEnd: props.noTouch ? undefined : (props.onRelease || onMouseUp), 5431 onMouseEnter: props.onMouseEnter, 5432 onMouseLeave: props.onMouseLeave, 5433 }; 5434 }, [ 5435 props.onClick, 5436 props.onMouseEnter, 5437 props.onMouseLeave, 5438 desktop.held, 5439 ]); 5440 return (React.createElement(props.Component, __assign({ type: "button" }, actionProps, { "data-secondary": props.secondaryAction, "data-display": props.icon ? undefined : props.display, "data-value": typeof props.value !== 'undefined' 5441 ? props.value 5442 : props.id, "data-action": props.action, "data-active": props.isActive ? true : undefined, "data-held": isHeld, "data-idx": props.idx, "data-live": props.highlight || undefined, ref: ref, id: props.buttonId, height: props.height, width: props.width, icon: props.icon, isDataDisplay: props.isDataDisplay && typeof props.display !== 'undefined' }), props.children)); 5443}); 5444Cell.defaultProps = { 5445 Component: DefaultCell, 5446}; 5447exports.default = Cell; 5448var templateObject_1; 5449 5450 5451/***/ }), 5452/* 20 */ 5453/***/ (function(module, exports, __webpack_require__) { 5454 5455"use strict"; 5456
5457var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { 5458 if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } 5459 return cooked; 5460}; 5461var __assign = (this && this.__assign) || function () { 5462 __assign = Object.assign || function(t) { 5463 for (var s, i = 1, n = arguments.length; i < n; i++) { 5464 s = arguments[i]; 5465 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) 5466 t[p] = s[p]; 5467 } 5468 return t; 5469 }; 5470 return __assign.apply(this, arguments); 5471}; 5472var __rest = (this && this.__rest) || function (s, e) { 5473 var t = {}; 5474 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) 5475 t[p] = s[p]; 5476 if (s != null && typeof Object.getOwnPropertySymbols === "function") 5477 for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { 5478 if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) 5479 t[p[i]] = s[p[i]]; 5480 } 5481 return t; 5482}; 5483Object.defineProperty(exports, "__esModule", { value: true }); 5484var React = __webpack_require__(0); 5485var styled_components_1 = __webpack_require__(13); 5486var margin = 8; 5487var playerWidth = 450; 5488var columns = 8; 5489var padActiveTransparent = 'radial-gradient(#efaaaa 40%, rgba(255, 255, 255, 0.7) 75%)'; 5490// buttons located in the pad need some translucency to allow fiddling with the StatusPad colors underneath 5491// pretty hacky but I think it opens up some design freedom that can be totally divorced from reach 5492// and that's kinda neat??? 5493var Pad = styled_components_1.default('div')(templateObject_1 || (templateOb
5493ject_1 = __makeTemplateObject(["\n position: relative;\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n height: 100vw;\n max-height: ", "px;\n grid-column: 1 / ", ";\n grid-row: 4 / 5;\n justify-content: space-evenly;\n > button, > .cell {\n border-radius: 4px;\n margin: ", "px;\n width: calc(25% - ", "px);\n height: calc(", "% - ", "px);\n }\n > button {\n background-color: rgba(255, 255, 255, 0.7); \n }\n > button:active {\n padding-top: 1px;\n padding-left: 1px;\n }\n > button[data-active] {\n background: ", " !important;\n }\n > buttons {\n border-bottom: 2px solid #bbb;\n border-right: 2px solid #bbb;\n &:active {\n border: none;\n border-top: 1px solid #222;\n border-left: 1px solid #222;\n }\n }\n ", "\n ", "\n ", "\n"], ["\n position: relative;\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n height: 100vw;\n max-height: ", "px;\n grid-column: 1 / ", ";\n grid-row: 4 / 5;\n justify-content: space-evenly;\n > button, > .cell {\n border-radius: 4px;\n margin: ", "px;\n width: calc(25% - ", "px);\n height: calc(", "% - ", "px);\n }\n > button {\n background-color: rgba(255, 255, 255, 0.7); \n }\n > button:active {\n padding-top: 1px;\n padding-left: 1px;\n }\n > button[data-active] {\n background: ", " !important;\n }\n > buttons {\n border-bottom: 2px solid #bbb;\n border-right: 2px solid #bbb;\n &:active {\n border: none;\n border-top: 1px solid #222;\n border-left: 1px solid #222;\n }\n }\n ", "\n ", "\n ", 5494 "\n"])), playerWidth, columns + 1, margin, margin * 2, function (_a) { 5495 var _b = _a.entries, entries = _b === void 0 ? 16 : _b; 5496 return (100 / (entries / 4)); 5497}, margin * 2, padActiveTransparent, function (_a) { 5498 var bold = _a.bold; 5499 return bold ? " *::after { font-weight: bold }" : ''; 5500}, function (_a) { 5501 var italic = _a.italic; 5502 return italic ? " *::after { font-style: italic; }" : ''; 5503}, function (_a) { 5504 var activeChildIdx = _a.activeChildIdx; 5505 return typeof activeChildIdx === 'number' 5506 ? ">*:nth-child(" + (activeChildIdx + 1) + ") { box-shadow: inset 0px 0px 4px 2px blue; } " 5507 : ''; 5508}); 5509var AbstractPad = function (_a) { 5510 var children = _a.children, props = __rest(_a, ["children"]); 5511 return (React.createElement(Pad, __assign({}, props, { className: "Pad " + (props.className || '') }), React.Children.map(children, function (child, idx) { return (React.useMemo(function () { return (React.cloneElement(child, { idx: idx })); }, [props])); }))); 5512}; 5513exports.default = AbstractPad; 5514var templateObject_1; 5515 5516 5517/***/ }), 5518/* 21 */ 5519/***/ (function(module, __webpack_exports__, __webpack_require__) { 5520 5521"use strict"; 5522__webpack_require__.r(__webpack_exports__); 5523/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BrowserRouter", function() { return BrowserRouter; }); 5524/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HashRouter", function() { return HashRouter; }); 5525/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Link", function() { return Link; }); 5526/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "NavLink", function() { return NavLink; }); 5527/* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4); 5528/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MemoryRouter", function() { return react_router__WEBPACK_IMPORTED_MODULE_0__["MemoryRouter"]; }); 5529 5530/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Prompt", function() { return react_router__WEBPACK_IMPORTED_MODULE_0__["Prompt"]; }); 5531 5532/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Redirect", function() { return react_router__WEBPACK_IMPORTED_MODULE_0__["Redirect"]; }); 5533 5534/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Route", function() { return react_router__WEBPACK_IMPORTED_MODULE_0__["Route"]; }); 5535 5536/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Router", function() { return react_router__WEBPACK_IMPORTED_MODULE_0__["Router"]; }); 5537 5538/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "StaticRouter", function() { return react_router__WEBPACK_IMPORTED_MODULE_0__["StaticRouter"]; }); 5539 5540/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Switch", function() { return react_router__WEBPACK_IMPORTED_MODULE_0__["Switch"]; }); 5541 5542/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "generatePath", function() { return react_router__WEBPACK_IMPORTED_MODULE_0__["generatePath"]; }); 5543 5544/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "matchPath", function() { return react_router__WEBPACK_IMPORTED_MODULE_0__["matchPath"]; }); 5545 5546/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "useHistory", function() { return react_router__WEBPACK_IMPORTED_MODULE_0__["useHistory"]; }); 5547 5548/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "useLocation", function() { return react_router__WEBPACK_IMPORTED_MODULE_0__["useLocation"]; }); 5549 5550/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "useParams", function() { return react_router__WEBPACK_IMPORTED_MODULE_0__["useParams"]; }); 5551 5552/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "useRouteMatch", function() { return react_router__WEBPACK_IMPORTED_MODULE_0__["useRouteMatch"]; }); 5553 5554/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "withRouter", function() { return react_router__WEBPACK_IMPORTED_MODULE_0__["withRouter"]; }); 5555 5556/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6); 5557/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0); 5558/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); 5559/* harmony import */ var history__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8); 5560/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2); 5561/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__); 5562/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5); 5563/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(17); 5564/* harmony import */ var tiny_invariant__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(7); 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576/** 5577 * The public API for a <Router> that uses HTML5 history. 5578 */ 5579 5580var BrowserRouter = 5581/*#__PURE__*/ 5582function (_React$Component) { 5583 Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(BrowserRouter, _React$Component); 5584 5585 function BrowserRouter() { 5586 var _this; 5587 5588 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 5589 args[_key] = arguments[_key]; 5590 } 5591 5592 _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this; 5593 _this.history = Object(history__WEBPACK_IMPORTED_MODULE_3__["createBrowserHistory"])(_this.props); 5594 return _this; 5595 } 5596 5597 var _proto = BrowserRouter.prototype; 5598 5599 _proto.render = function render() { 5600 return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__["Router"], { 5601 history: this.history, 5602 children: this.props.children 5603 }); 5604 }; 5605 5606 return BrowserRouter; 5607}(react__WEBPACK_IMPORTED_MODULE_2___default.a.Component); 5608 5609if (false) {} 5610 5611/** 5612 * The public API for a <Router> that uses window.location.hash. 5613 */ 5614 5615var HashRouter = 5616/*#__PURE__*/ 5617function (_React$Component) { 5618 Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(HashRouter, _React$Component); 5619 5620 function HashRouter() { 5621 var _this; 5622 5623 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 5624 args[_key] = arguments[_key]; 5625 } 5626 5627 _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this; 5628 _this.history = Object(history__WEBPACK_IMPORTED_MODULE_3__["createHashHistory"])(_this.props); 5629 return _this; 5630 } 5631 5632 var _proto = HashRouter.prototype; 5633 5634 _proto.render = function render() { 5635 return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__["Router"], { 5636 history: this.history, 5637 children: this.props.children 5638 }); 5639 }; 5640 5641 return HashRouter; 5642}(react__WEBPACK_IMPORTED_MODULE_2___default.a.Component); 5643 5644if (false) {} 5645 5646var resolveToLocation = function resolveToLocation(to, currentLocation) { 5647 return typeof to === "function" ? to(currentLocation) : to; 5648}; 5649var normalizeToLocation = function normalizeToLocation(to, currentLocation) { 5650 return typeof to === "string" ? Object(history__WEBPACK_IMPORTED_MODULE_3__["createLocation"])(to, null, null, currentLocation) : to; 5651}; 5652 5653var forwardRefShim = function forwardRefShim(C) { 5654 return C; 5655}; 5656 5657var forwardRef = react__WEBPACK_IMPORTED_MODULE_2___default.a.forwardRef; 5658 5659if (typeof forwardRef === "undefined") { 5660 forwardRef = forwardRefShim; 5661} 5662 5663function isModifiedEvent(event) { 5664 return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey); 5665} 5666 5667var LinkAnchor = forwardRef(function (_ref, forwardedRef) { 5668 var innerRef = _ref.innerRef, 5669 navigate = _ref.navigate, 5670 _onClick = _ref.onClick, 5671 rest = Object(_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])(_ref, ["innerRef", "navigate", "onClick"]); 5672 5673 var target = rest.target; 5674 5675 var props = Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])({}, rest, { 5676 onClick: function onClick(event) {
5677 try { 5678 if (_onClick) _onClick(event); 5679 } catch (ex) { 5680 event.preventDefault(); 5681 throw ex; 5682 } 5683 5684 if (!event.defaultPrevented && // onClick prevented default 5685 event.button === 0 && ( // ignore everything but left clicks 5686 !target || target === "_self") && // let browser handle "target=_blank" etc. 5687 !isModifiedEvent(event) // ignore clicks with modifier keys 5688 ) { 5689 event.preventDefault(); 5690 navigate(); 5691 } 5692 } 5693 }); // React 15 compat 5694 5695 5696 if (forwardRefShim !== forwardRef) { 5697 props.ref = forwardedRef || innerRef; 5698 } else { 5699 props.ref = innerRef; 5700 } 5701 /* eslint-disable-next-line jsx-a11y/anchor-has-content */ 5702 5703 5704 return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("a", props); 5705}); 5706 5707if (false) {} 5708/** 5709 * The public API for rendering a history-aware <a>. 5710 */ 5711 5712 5713var Link = forwardRef(function (_ref2, forwardedRef) { 5714 var _ref2$component = _ref2.component, 5715 component = _ref2$component === void 0 ? LinkAnchor : _ref2$component, 5716 replace = _ref2.replace, 5717 to = _ref2.to, 5718 innerRef = _ref2.innerRef, 5719 rest = Object(_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])(_ref2, ["component", "replace", "to", "innerRef"]); 5720 5721 return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__["__RouterContext"].Consumer, null, function (context) { 5722 !context ? false ? undefined : Object(tiny_invariant__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"])(false) : void 0; 5723 var history = context.history; 5724 var location = normalizeToLocation(resolveToLocation(to, context.location), context.location); 5725 var href = location ? history.createHref(location) : ""; 5726 5727 var props = Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])({}, rest, { 5728 href: href, 5729 navigate: function navigate() { 5730 var location = resolveToLocation(to, context.location); 5731 var method = replace ? history.replace : history.push; 5732 method(location); 5733 } 5734 }); // React 15 compat 5735 5736 5737 if (forwardRefShim !== forwardRef) { 5738 props.ref = forwardedRef || innerRef; 5739 } else { 5740 props.innerRef = innerRef; 5741 } 5742 5743 return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(component, props); 5744 }); 5745}); 5746 5747if (false) { var refType, toType; } 5748 5749var forwardRefShim$1 = function forwardRefShim(C) { 5750 return C; 5751}; 5752 5753var forwardRef$1 = react__WEBPACK_IMPORTED_MODULE_2___default.a.forwardRef; 5754 5755if (typeof forwardRef$1 === "undefined") { 5756 forwardRef$1 = forwardRefShim$1; 5757} 5758 5759function joinClassnames() { 5760 for (var _len = arguments.length, classnames = new Array(_len), _key = 0; _key < _len; _key++) { 5761 classnames[_key] = arguments[_key]; 5762 } 5763 5764 return classnames.filter(function (i) { 5765 return i; 5766 }).join(" "); 5767} 5768/** 5769 * A <Link> wrapper that knows if it's "active" or not. 5770 */ 5771 5772 5773var NavLink = forwardRef$1(function (_ref, forwardedRef) { 5774 var _ref$ariaCurrent = _ref["aria-current"], 5775 ariaCurrent = _ref$ariaCurrent === void 0 ? "page" : _ref$ariaCurrent, 5776 _ref$activeClassName = _ref.activeClassName, 5777 activeClassName = _ref$activeClassName === void 0 ? "active" : _ref$activeClassName, 5778 activeStyle = _ref.activeStyle, 5779 classNameProp = _ref.className, 5780 exact = _ref.exact, 5781 isActiveProp = _ref.isActive, 5782 locationProp = _ref.location, 5783 sensitive = _ref.sensitive, 5784 strict = _ref.strict, 5785 styleProp = _ref.style, 5786 to = _ref.to, 5787 innerRef = _ref.innerRef, 5788 rest = Object(_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])(_ref, ["aria-current", "activeClassName", "activeStyle", "className", "exact", "isActive", "location", "sensitive", "strict", "style", "to", "innerRef"]); 5789 5790 return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__["__RouterContext"].Consumer, null, function (context) { 5791 !context ? false ? undefined : Object(tiny_invariant__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"])(false) : void 0; 5792 var currentLocation = locationProp || context.location; 5793 var toLocation = normalizeToLocation(resolveToLocation(to, currentLocation), currentLocation); 5794 var path = toLocation.pathname; // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202 5795 5796 var escapedPath = path && path.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1"); 5797 var match = escapedPath ? Object(react_router__WEBPACK_IMPORTED_MODULE_0__["matchPath"])(currentLocation.pathname, { 5798 path: escapedPath, 5799 exact: exact, 5800 sensitive: sensitive,
5801 strict: strict 5802 }) : null; 5803 var isActive = !!(isActiveProp ? isActiveProp(match, currentLocation) : match); 5804 var className = isActive ? joinClassnames(classNameProp, activeClassName) : classNameProp; 5805 var style = isActive ? Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])({}, styleProp, {}, activeStyle) : styleProp; 5806 5807 var props = Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])({ 5808 "aria-current": isActive && ariaCurrent || null, 5809 className: className, 5810 style: style, 5811 to: toLocation 5812 }, rest); // React 15 compat 5813 5814 5815 if (forwardRefShim$1 !== forwardRef$1) { 5816 props.ref = forwardedRef || innerRef; 5817 } else { 5818 props.innerRef = innerRef; 5819 } 5820 5821 return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Link, props); 5822 }); 5823}); 5824 5825if (false) { var ariaCurrentType; } 5826 5827 5828//# sourceMappingURL=react-router-dom.js.map 5829 5830 5831/***/ }), 5832/* 22 */ 5833/***/ (function(module, exports, __webpack_require__) { 5834 5835var __WEBPACK_AMD_DEFINE_RESULT__;/*! 5836 Copyright (c) 2015 Jed Watson. 5837 Based on code that is Copyright 2013-2015, Facebook, Inc. 5838 All rights reserved. 5839*/ 5840/* global define */ 5841 5842(function () { 5843 'use strict'; 5844 5845 var canUseDOM = !!( 5846 typeof window !== 'undefined' && 5847 window.document && 5848 window.document.createElement 5849 ); 5850 5851 var ExecutionEnvironment = { 5852 5853 canUseDOM: canUseDOM, 5854 5855 canUseWorkers: typeof Worker !== 'undefined', 5856 5857 canUseEventListeners: 5858 canUseDOM && !!(window.addEventListener || window.attachEvent), 5859 5860 canUseViewport: canUseDOM && !!window.screen 5861 5862 }; 5863 5864 if (true) { 5865 !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () { 5866 return ExecutionEnvironment; 5867 }).call(exports, __webpack_require__, exports, module), 5868 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 5869 } else {} 5870 5871}()); 5872 5873 5874/***/ }), 5875/* 23 */, 5876/* 24 */ 5877/***/ (function(module, exports) { 5878 5879var g; 5880 5881// This works in non-strict mode 5882g = (function() { 5883 return this; 5884})(); 5885 5886try { 5887 // This works if eval is allowed (see CSP) 5888 g = g || new Function("return this")(); 5889} catch (e) { 5890 // This works if the window reference is available 5891 if (typeof window === "object") g = window; 5892} 5893 5894// g can still be undefined, but nothing to do about it... 5895// We return undefined, instead of nothing here, so it's 5896// easier to handle this case. if(!global) { ...} 5897 5898module.exports = g; 5899 5900 5901/***/ }), 5902/* 25 */ 5903/***/ (function(module, __webpack_exports__, __webpack_require__) { 5904 5905"use strict"; 5906/* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); 5907/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); 5908/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6); 5909/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2); 5910/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); 5911 5912 5913 5914 5915 5916var MAX_SIGNED_31_BIT_INT = 1073741823; 5917var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {}; 5918 5919function getUniqueId() { 5920 var key = '__global_unique_id__'; 5921 return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1; 5922} 5923 5924function objectIs(x, y) { 5925 if (x === y) { 5926 return x !== 0 || 1 / x === 1 / y; 5927 } else { 5928 return x !== x && y !== y; 5929 } 5930} 5931 5932function createEventEmitter(value) { 5933 var handlers = []; 5934 return { 5935 on: function on(handler) { 5936 handlers.push(handler); 5937 }, 5938 off: function off(handler) { 5939 handlers = handlers.filter(function (h) { 5940 return h !== handler; 5941 }); 5942 }, 5943 get: function get() { 5944 return value; 5945 }, 5946 set: function set(newValue, changedBits) { 5947 value = newValue; 5948 handlers.forEach(function (handler) { 5949 return handler(value, changedBits); 5950 }); 5951 } 5952 }; 5953} 5954 5955function onlyChild(children) { 5956 return Array.isArray(children) ? children[0] : children; 5957} 5958 5959function createReactContext(defaultValue, calculateChangedBits) { 5960 var _Provider$childContex, _Consumer$contextType; 5961 5962 var contextProp = '__create-react-context-' + getUniqueId() + '__'; 5963 5964 var Provider = /*#__PURE__*/function (_Component) { 5965 Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(Provider, _Component); 5966 5967 function Provider() { 5968 var _this; 5969 5970 _this = _Component.apply(this, arguments) || this; 5971 _this.emitter = createEventEmitter(_this.props.value); 5972 return _this; 5973 } 5974 5975 var _proto = Provider.prototype; 5976 5977 _proto.getChildContext = function getChildContext() { 5978 var _ref; 5979 5980 return _ref = {}, _ref[contextProp] = this.emitter, _ref; 5981 }; 5982 5983 _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) { 5984 if (this.props.value !== nextProps.value) { 5985 var oldValue = this.props.value; 5986 var newValue = nextProps.value; 5987 var changedBits; 5988 5989 if (objectIs(oldValue, newValue)) { 5990 changedBits = 0; 5991 } else { 5992 changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT; 5993 5994 if (false) {} 5995 5996 changedBits |= 0; 5997 5998 if (changedBits !== 0) { 5999 this.emitter.set(nextProps.value, changedBits); 6000 } 6001 } 6002 } 6003 }; 6004 6005 _proto.render = function render() { 6006 return this.props.children; 6007 }; 6008 6009 return Provider; 6010 }(react__WEBPACK_IMPORTED_MODULE_0__["Component"]); 6011 6012 Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object.isRequired, _Provider$childContex); 6013 6014 var Consumer = /*#__PURE__*/function (_Component2) { 6015 Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(Consumer, _Component2); 6016 6017 function Consumer() { 6018 var _this2; 6019 6020 _this2 = _Component2.apply(this, arguments) || this; 6021 _this2.state = { 6022 value: _this2.getValue() 6023 }; 6024 6025 _this2.onUpdate = function (newValue, changedBits) { 6026 var observedBits = _this2.observedBits | 0; 6027 6028 if ((observedBits & changedBits) !== 0) { 6029 _this2.setState({ 6030 value: _this2.getValue() 6031 }); 6032 } 6033 }; 6034 6035 return _this2; 6036 } 6037 6038 var _proto2 = Consumer.prototype; 6039 6040 _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) { 6041 var observedBits = nextProps.observedBits; 6042 this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits; 6043 }; 6044 6045 _proto2.componentDidMount = function componentDidMount() { 6046 if (this.context[contextProp]) { 6047 this.context[contextProp].on(this.onUpdate); 6048 } 6049 6050 var observedBits = this.props.observedBits; 6051 this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits; 6052 }; 6053 6054 _proto2.componentWillUnmount = function componentWillUnmount() { 6055 if (this.context[contextProp]) { 6056 this.context[contextProp].off(this.onUpdate); 6057 } 6058 }; 6059 6060 _proto2.getValue = function getValue() { 6061 if (this.context[contextProp]) { 6062 return this.context[contextProp].get(); 6063 } else { 6064 return defaultValue; 6065 } 6066 }; 6067 6068 _proto2.render = function render() { 6069 return onlyChild(this.props.children)(this.state.value); 6070 }; 6071 6072 return Consumer; 6073 }(react__WEBPACK_IMPORTED_MODULE_0__["Component"]); 6074 6075 Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, _Consumer$contextType); 6076 return { 6077 Provider: Provider, 6078 Consumer: Consumer 6079 }; 6080} 6081 6082var index = react__WEBPACK_IMPORTED_MODULE_0___default.a.createContext || createReactContext; 6083 6084/* harmony default export */ __webpack_exports__["a"] = (index); 6085 6086/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(24))) 6087 6088/***/ }), 6089/* 26 */ 6090/***/ (function(module, exports, __webpack_require__) { 6091 6092var isarray = __webpack_require__(55) 6093 6094/** 6095 * Expose `pathToRegexp`. 6096 */ 6097module.exports = pathToRegexp 6098module.exports.parse = parse 6099module.exports.compile = compile 6100module.exports.tokensToFunction = tokensToFunction 6101module.exports.tokensToRegExp = tokensToRegExp 6102 6103/** 6104 * The main path matching regexp utility. 6105 * 6106 * @type {RegExp} 6107 */ 6108var PATH_REGEXP = new RegExp([ 6109 // Match escaped characters that would otherwise appear in future matches. 6110 // This allows the user to escape special characters that won't transform. 6111 '(\\\\.)', 6112 // Match Express-style parameters and un-named parameters with a prefix 6113 // and optional suffixes. Matches appear as: 6114 // 6115 // "/:test(\\d+)?" => ["/", "test", "\d+", undefined, "?", undefined] 6116 // "/route(\\d+)" => [undefined, undefined, undefined, "\d+", undefined, undefined] 6117 // "/*" => ["/", undefined, undefined, undefined, undefined, "*"] 6118 '([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))'
6119].join('|'), 'g') 6120 6121/** 6122 * Parse a string for the raw tokens. 6123 * 6124 * @param {string} str 6125 * @param {Object=} options 6126 * @return {!Array} 6127 */ 6128function parse (str, options) { 6129 var tokens = [] 6130 var key = 0 6131 var index = 0 6132 var path = '' 6133 var defaultDelimiter = options && options.delimiter || '/' 6134 var res 6135 6136 while ((res = PATH_REGEXP.exec(str)) != null) { 6137 var m = res[0] 6138 var escaped = res[1] 6139 var offset = res.index 6140 path += str.slice(index, offset) 6141 index = offset + m.length 6142 6143 // Ignore already escaped sequences. 6144 if (escaped) { 6145 path += escaped[1] 6146 continue 6147 } 6148 6149 var next = str[index] 6150 var prefix = res[2] 6151 var name = res[3] 6152 var capture = res[4] 6153 var group = res[5] 6154 var modifier = res[6] 6155 var asterisk = res[7] 6156 6157 // Push the current path onto the tokens. 6158 if (path) { 6159 tokens.push(path) 6160 path = '' 6161 } 6162 6163 var partial = prefix != null && next != null && next !== prefix 6164 var repeat = modifier === '+' || modifier === '*' 6165 var optional = modifier === '?' || modifier === '*' 6166 var delimiter = res[2] || defaultDelimiter 6167 var pattern = capture || group 6168 6169 tokens.push({ 6170 name: name || key++, 6171 prefix: prefix || '', 6172 delimiter: delimiter, 6173 optional: optional, 6174 repeat: repeat, 6175 partial: partial, 6176 asterisk: !!asterisk, 6177 pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?') 6178 }) 6179 } 6180 6181 // Match any characters still remaining. 6182 if (index < str.length) { 6183 path += str.substr(index) 6184 } 6185 6186 // If the path exists, push it onto the end. 6187 if (path) { 6188 tokens.push(path) 6189 } 6190 6191 return tokens 6192} 6193 6194/** 6195 * Compile a string to a template function for the path. 6196 * 6197 * @param {string} str 6198 * @param {Object=} options 6199 * @return {!function(Object=, Object=)} 6200 */ 6201function compile (str, options) { 6202 return tokensToFunction(parse(str, options), options) 6203} 6204 6205/** 6206 * Prettier encoding of URI path segments. 6207 * 6208 * @param {string} 6209 * @return {string} 6210 */ 6211function encodeURIComponentPretty (str) { 6212 return encodeURI(str).replace(/[\/?#]/g, function (c) { 6213 return '%' + c.charCodeAt(0).toString(16).toUpperCase() 6214 }) 6215} 6216 6217/** 6218 * Encode the asterisk parameter. Similar to `pretty`, but allows slashes. 6219 * 6220 * @param {string} 6221 * @return {string} 6222 */ 6223function encodeAsterisk (str) { 6224 return encodeURI(str).replace(/[?#]/g, function (c) { 6225 return '%' + c.charCodeAt(0).toString(16).toUpperCase() 6226 }) 6227} 6228 6229/** 6230 * Expose a method for transforming tokens into the path function. 6231 */ 6232function tokensToFunction (tokens, options) { 6233 // Compile all the tokens into regexps. 6234 var matches = new Array(tokens.length) 6235 6236 // Compile all the patterns before compilation. 6237 for (var i = 0; i < tokens.length; i++) { 6238 if (typeof tokens[i] === 'object') { 6239 matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options)) 6240 } 6241 } 6242 6243 return function (obj, opts) { 6244 var path = '' 6245 var data = obj || {} 6246 var options = opts || {} 6247 var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent 6248 6249 for (var i = 0; i < tokens.length; i++) { 6250 var token = tokens[i] 6251 6252 if (typeof token === 'string') { 6253 path += token 6254 6255 continue 6256 } 6257 6258 var value = data[token.name] 6259 var segment 6260 6261 if (value == null) { 6262 if (token.optional) { 6263 // Prepend partial segment prefixes. 6264 if (token.partial) { 6265 path += token.prefix 6266 } 6267 6268 continue 6269 } else { 6270 throw new TypeError('Expected "' + token.name + '" to be defined') 6271 } 6272 } 6273 6274 if (isarray(value)) { 6275 if (!token.repeat) { 6276 throw new TypeError('Expected "' + token.name + '" to not repeat, but received `' + JSON.stringify(value) + '`') 6277 } 6278 6279 if (value.length === 0) { 6280 if (token.optional) { 6281 continue 6282 } else { 6283 throw new TypeError('Expected "' + token.name + '" to not be empty') 6284 } 6285 } 6286 6287 for (var j = 0; j < value.length; j++) { 6288 segment = encode(value[j]) 6289 6290 if (!matches[i].test(segment)) { 6291 throw new TypeError('Expected all "' + token.name + '" to match "' + token.pattern + '", but received `' + JSON.stringify(segment) + '`') 6292 } 6293 6294 path += (j === 0 ? token.prefix : token.delimiter) + segment 6295 } 6296 6297 continue 6298 } 6299 6300 segment = token.asterisk ? encodeAsterisk(value) : encode(value) 6301 6302 if (!matches[i].test(segment)) { 6303 throw new TypeError('Expected "' + token.name + '" to match "' + token.pattern + '", but received "' + segment + '"') 6304 } 6305 6306 path += token.prefix + segment 6307 } 6308 6309 return path 6310 } 6311} 6312 6313/** 6314 * Escape a regular expression string. 6315 * 6316 * @param {string} str 6317 * @return {string} 6318 */ 6319function escapeString (str) { 6320 return str.replace(/([.+*?=^!:${}()[\]|\/\\])/g, '\\$1') 6321} 6322 6323/** 6324 * Escape the capturing group by escaping special characters and meaning. 6325 * 6326 * @param {string} group 6327 * @return {string} 6328 */ 6329function escapeGroup (group) { 6330 return group.replace(/([=!:$\/()])/g, '\\$1') 6331} 6332 6333/** 6334 * Attach the keys as a property of the regexp. 6335 * 6336 * @param {!RegExp} re 6337 * @param {Array} keys 6338 * @return {!RegExp} 6339 */ 6340function attachKeys (re, keys) { 6341 re.keys = keys 6342 return re 6343} 6344 6345/** 6346 * Get the flags for a regexp from the options. 6347 * 6348 * @param {Object} options 6349 * @return {string} 6350 */ 6351function flags (options) { 6352 return options && options.sensitive ? '' : 'i' 6353} 6354 6355/** 6356 * Pull out keys from a regexp. 6357 * 6358 * @param {!RegExp} path 6359 * @param {!Array} keys 6360 * @return {!RegExp} 6361 */ 6362function regexpToRegexp (path, keys) { 6363 // Use a negative lookahead to match only capturing groups. 6364 var groups = path.source.match(/\((?!\?)/g) 6365 6366 if (groups) { 6367 for (var i = 0; i < groups.length; i++) { 6368 keys.push({ 6369 name: i, 6370 prefix: null, 6371 delimiter: null, 6372 optional: false, 6373 repeat: false, 6374 partial: false, 6375 asterisk: false, 6376 pattern: null 6377 }) 6378 } 6379 } 6380 6381 return attachKeys(path, keys) 6382} 6383 6384/** 6385 * Transform an array into a regexp. 6386 * 6387 * @param {!Array} path 6388 * @param {Array} keys 6389 * @param {!Object} options 6390 * @return {!RegExp} 6391 */ 6392function arrayToRegexp (path, keys, options) { 6393 var parts = [] 6394 6395 for (var i = 0; i < path.length; i++) { 6396 parts.push(pathToRegexp(path[i], keys, options).source) 6397 } 6398 6399 var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options)) 6400 6401 return attachKeys(regexp, keys) 6402} 6403 6404/** 6405 * Create a path regexp from string input. 6406 * 6407 * @param {string} path 6408 * @param {!Array} keys 6409 * @param {!Object} options 6410 * @return {!RegExp} 6411 */ 6412function stringToRegexp (path, keys, options) { 6413 return tokensToRegExp(parse(path, options), keys, options) 6414} 6415 6416/** 6417 * Expose a function for taking tokens and returning a RegExp. 6418 * 6419 * @param {!Array} tokens 6420 * @param {(Array|Object)=} keys 6421 * @param {Object=} options 6422 * @return {!RegExp} 6423 */ 6424function tokensToRegExp (tokens, keys, options) { 6425 if (!isarray(keys)) {
6426 options = /** @type {!Object} */ (keys || options) 6427 keys = [] 6428 } 6429 6430 options = options || {} 6431 6432 var strict = options.strict 6433 var end = options.end !== false 6434 var route = '' 6435 6436 // Iterate over the tokens and create our regexp string. 6437 for (var i = 0; i < tokens.length; i++) { 6438 var token = tokens[i] 6439 6440 if (typeof token === 'string') { 6441 route += escapeString(token) 6442 } else { 6443 var prefix = escapeString(token.prefix) 6444 var capture = '(?:' + token.pattern + ')' 6445 6446 keys.push(token) 6447 6448 if (token.repeat) { 6449 capture += '(?:' + prefix + capture + ')*' 6450 } 6451 6452 if (token.optional) { 6453 if (!token.partial) { 6454 capture = '(?:' + prefix + '(' + capture + '))?' 6455 } else { 6456 capture = prefix + '(' + capture + ')?' 6457 } 6458 } else { 6459 capture = prefix + '(' + capture + ')' 6460 } 6461 6462 route += capture 6463 } 6464 } 6465 6466 var delimiter = escapeString(options.delimiter || '/') 6467 var endsWithDelimiter = route.slice(-delimiter.length) === delimiter 6468 6469 // In non-strict mode we allow a slash at the end of match. If the path to 6470 // match already ends with a slash, we remove it for consistency. The slash 6471 // is valid at the end of a path match, not in the middle. This is important 6472 // in non-ending mode, where "/test/" shouldn't match "/test//route". 6473 if (!strict) { 6474 route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?' 6475 } 6476 6477 if (end) { 6478 route += '$' 6479 } else { 6480 // In non-ending mode, we need the capturing groups to match as much as 6481 // possible by using a positive lookahead to the end or next path segment. 6482 route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)' 6483 } 6484 6485 return attachKeys(new RegExp('^' + route, flags(options)), keys) 6486} 6487 6488/** 6489 * Normalize the given path string, returning a regular expression. 6490 * 6491 * An empty array can be passed in for the keys, which will hold the 6492 * placeholder key descriptions. For example, using `/user/:id`, `keys` will 6493 * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`. 6494 * 6495 * @param {(string|RegExp|Array)} path 6496 * @param {(Array|Object)=} keys 6497 * @param {Object=} options 6498 * @return {!RegExp} 6499 */ 6500function pathToRegexp (path, keys, options) { 6501 if (!isarray(keys)) {
6502 options = /** @type {!Object} */ (keys || options) 6503 keys = [] 6504 } 6505 6506 options = options || {} 6507 6508 if (path instanceof RegExp) { 6509 return regexpToRegexp(path, /** @type {!Array} */ (keys)) 6510 } 6511 6512 if (isarray(path)) { 6513 return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options) 6514 } 6515 6516 return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options) 6517} 6518 6519 6520/***/ }), 6521/* 27 */ 6522/***/ (function(module, exports, __webpack_require__) { 6523 6524!function(e){ true?module.exports=e(null):undefined}(function e(a){"use strict";var r=/^\0+/g,c=/[\0\r\f]/g,s=/: */g,t=/zoo|gra/,i=/([,: ])(transform)/g,f=/,+\s*(?![^(]*[)])/g,n=/ +\s*(?![^(]*[)])/g,l=/ *[\0] */g,o=/,\r+?/g,h=/([\t\r\n ])*\f?&/g,u=/:global\(((?:[^\(\)\[\]]*|\[.*\]|\([^\(\)]*\))*)\)/g,d=/\W+/g,b=/@(k\w+)\s*(\S*)\s*/,p=/::(place)/g,k=/:(read-only)/g,g=/\s+(?=[{\];=:>])/g,A=/([[}=:>])\s+/g,C=/(\{[^{]+?);(?=\})/g,w=/\s{2,}/g,v=/([^\(])(:+) */g,m=/[svh]\w+-[tblr]{2}/,x=/\(\s*(.*)\s*\)/g,$=/([\s\S]*?);/g,y=/-self|flex-/g,O=/[^]*?(:[rp][el]a[\w-]+)[^]*/,j=/stretch|:\s*\w+\-(?:conte|avail)/,z=/([^-])(image-set\()/,N="-webkit-",S="-moz-",F="-ms-",W=59,q=125,B=123,D=40,E=41,G=91,H=93,I=10,J=13,K=9,L=64,M=32,P=38,Q=45,R=95,T=42,U=44,V=58,X=39,Y=34,Z=47,_=62,ee=43,ae=126,re=0,ce=12,se=11,te=107,ie=109,fe=115,ne=112,le=111,oe=105,he=99,ue=100,de=112,be=1,pe=1,ke=0,ge=1,Ae=1,Ce=1,we=0,ve=0,me=0,xe=[],$e=[],ye=0,Oe=null,je=-2,ze=-1,Ne=0,Se=1,Fe=2,We=3,qe=0,Be=1,De="",Ee="",Ge="";function He(e,a,s,t,i){for(var f,n,o=0,h=0,u=0,d=0,g=0,A=0,C=0,w=0,m=0,$=0,y=0,O=0,j=0,z=0,R=0,we=0,$e=0,Oe=0,je=0,ze=s.length,Je=ze-1,Re="",Te="",Ue="",Ve="",Xe="",Ye="";R<ze;){if(C=s.charCodeAt(R),R===Je)if(h+d+u+o!==0){if(0!==h)C=h===Z?I:Z;d=u=o=0,ze++,Je++}if(h+d+u+o===0){if(R===Je){if(we>0)Te=Te.replace(c,"");if(Te.trim().length>0){switch(C){case M:case K:case W:case J:case I:break;default:Te+=s.charAt(R)}C=W}}if(1===$e)switch(C){case B:case q:case W:case Y:case X:case D:case E:case U:$e=0;case K:case J:case I:case M:break;default:for($e=0,je=R,g=C,R--,C=W;je<ze;)switch(s.charCodeAt(je++)){case I:case J:case W:++R,C=g,je=ze;break;case V:if(we>0)++R,C=g;case B:je=ze}}switch(C){case B:for(g=(Te=Te.trim()).charCodeAt(0),y=1,je=++R;R<ze;){switch(C=s.charCodeAt(R)){case B:y++;break;case q:y--;break;case Z:switch(A=s.charCodeAt(R+1)){case T:case Z:R=Qe(A,R,Je,s)}break;case G:C++;case D:C++;case Y:case X:for(;R++<Je&&s.charCodeAt(R)!==C;);}if(0===y)break;R++}if(Ue=s.substring(je,R),g===re)g=(Te=Te.replace(r,"").trim()).charCodeAt(0);switch(g){case L:if(we>0)Te=Te.replace(c,"");switch(A=Te.charCodeAt(1)){case ue:case ie:case fe:case Q:f=a;break;default:f=xe}if(je=(Ue=He(a,f,Ue,A,i+1)).length,me>0&&0===je)je=Te.length;if(ye>
65240)if(f=Ie(xe,Te,Oe),n=Pe(We,Ue,f,a,pe,be,je,A,i,t),Te=f.join(""),void 0!==n)if(0===(je=(Ue=n.trim()).length))A=0,Ue="";if(je>0)switch(A){case fe:Te=Te.replace(x,Me);case ue:case ie:case Q:Ue=Te+"{"+Ue+"}";break;case te:if(Ue=(Te=Te.replace(b,"$1 $2"+(Be>0?De:"")))+"{"+Ue+"}",1===Ae||2===Ae&&Le("@"+Ue,3))Ue="@"+N+Ue+"@"+Ue;else Ue="@"+Ue;break;default:if(Ue=Te+Ue,t===de)Ve+=Ue,Ue=""}else Ue="";break;default:Ue=He(a,Ie(a,Te,Oe),Ue,t,i+1)}Xe+=Ue,O=0,$e=0,z=0,we=0,Oe=0,j=0,Te="",Ue="",C=s.charCodeAt(++R);break;case q:case W:if((je=(Te=(we>0?Te.replace(c,""):Te).trim()).length)>1){if(0===z)if((g=Te.charCodeAt(0))===Q||g>96&&g<123)je=(Te=Te.replace(" ",":")).length;if(ye>0)if(void 0!==(n=Pe(Se,Te,a,e,pe,be,Ve.length,t,i,t)))if(0===(je=(Te=n.trim()).length))Te="\0\0";switch(g=Te.charCodeAt(0),A=Te.charCodeAt(1),g){case re:break;case L:if(A===oe||A===he){Ye+=Te+s.charAt(R);break}default:if(Te.charCodeAt(je-1)===V)break;Ve+=Ke(Te,g,A,Te.charCodeAt(2))}}O=0,$e=0,z=0,we=0,Oe=0,Te="",C=s.charCodeAt(++R)}}switch(C){case J:case I:if(h+d+u+o+ve===0)switch($){case E:case X:case Y:case L:case ae:case _:case T:case ee:case Z:case Q:case V:case U:case W:case B:case q:break;default:if(z>0)$e=1}if(h===Z)h=0;else if(ge+O===0&&t!==te&&Te.length>0)we=1,Te+="\0";if(ye*qe>0)Pe(Ne,Te,a,e,pe,be,Ve.length,t,i,t);be=1,pe++;break;case W:case q:if(h+d+u+o===0){be++;break}default:switch(be++,Re=s.charAt(R),C){case K:case M:if(d+o+h===0)switch(w){case U:case V:case K:case M:Re="";break;default:if(C!==M)Re=" "}break;case re:Re="\\0";break;case ce:Re="\\f";break;case se:Re="\\v";break;case P:if(d+h+o===0&&ge>0)Oe=1,we=1,Re="\f"+Re;break;case 108:if(d+h+o+ke===0&&z>0)switch(R-z){case 2:if(w===ne&&s.charCodeAt(R-3)===V)ke=w;case 8:if(m===le)ke=m}break;case V:if(d+h+o===0)z=R;break;case U:if(h+u+d+o===0)we=1,Re+="\r";break;case Y:case X:if(0===h)d=d===C?0:0===d?C:d;break;case G:if(d+h+u===0)o++;break;case H:if(d+h+u===0)o--;break;case E:if(d+h+o===0)u--;break;case D:if(d+h+o===0){if(0===O)switch(2*w+3*m){case 533:break;default:y=0,O=1}u++}break;case L:if(h+u+d+o+z+j===0)j=1;break;case T:case Z:if(d+o+u>0)break;switch(h){case 0:switch(2*C+3*s.charCodeAt(R+1)){case 235:h=Z;break;case 220:je=R,h=T}break;case T:if(C===Z&&w===T&&je+2!==R){if(33===s.charCodeAt(je+2))Ve+=s.substring(je,R+1);Re="",h=0}}}if(0===h){if(ge+d+o+j===0&&t!==te&&C!==W)switch(C){case U:case ae:case _:case ee:case E:case D:if(0===O){switch(w){case K:case M:case I:case J:Re+="\0";break;default:Re="\0"+Re+(C===U?"":"\0")}we=1}else switch(C){case D:if(z+7===R&&108===w)z=0;O=++y;break;case E:if(0==(O=--y))we=1,Re+="\0"}break;case K:case M:switch(w){case re:case B:case q:case W:case U:case ce:case K:case M:case I:case J:break;default:if(0===O)we=1,Re+="\0"}}if(Te+=Re,C!==M&&C!==K)$=C}}m=w,w=C,R++}if(je=Ve.length,me>0)if(0===je&&0===Xe.length&&0===a[0].length==false)if(t!==ie||1===a.length&&(ge>0?Ee:Ge)===a[0])je=a.join(",").length+2;if(je>0){if(f=0===ge&&t!==te?function(e){for(var a,r,s=0,t=e.length,i=Array(t);s<t;++s){for(var f=e[s].split(l),n="",o=0,h=0,u=0,d=0,b=f.length;o<b;++o){if(0===(h=(r=f[o]).length)&&b>1)continue;if(u=n.charCodeAt(n.length-1),d=r.charCodeAt(0),a="",0!==o)switch(u){case T:case ae:case _:case ee:case M:case D:break;default:a=" "}switch(d){case P:r=a+Ee;case ae:case _:case ee:case M:case E:case D:break;case G:r=a+r+Ee;break;case V:switch(2*r.charCodeAt(1)+3*r.charCodeAt(2)){case 530:if(Ce>0){r=a+r.substring(8,h-1);break}default:if(o<1||f[o-1].length<1)r=a+Ee+r}break;case U:a="";default:if(h>1&&r.indexOf(":")>0)r=a+r.replace(v,"$1"+Ee+"$2");else r=a+r+Ee}n+=r}i[s]=n.replace(c,"").trim()}return i}(a):a,ye>0)if(void 0!==(n=Pe(Fe,Ve,f,e,pe,be,je,t,i,t))&&0===(Ve=n).length)return Ye+Ve+Xe;if(Ve=f.join(",")+"{"+Ve+"}",Ae*ke!=0){if(2===Ae&&!Le(Ve,2))ke=0;switch(ke){case le:Ve=Ve.replace(k,":"+S+"$1")+Ve;break;case ne:Ve=Ve.replace(p,"::"+N+"input-$1")+Ve.replace(p,"::"+S+"$1")+Ve.replace(p,":"+F+"input-$1")+Ve}ke=0}}return Ye+Ve+Xe}function Ie(e,a,r){var c=a.trim().split(o),s=c,t=c.length,i=e.length;switch(i){case 0:case 1:for(var f=0,n=0===i?"":e[0]+" ";f<t;++f)s[f]=Je(n,s[f],r,i).trim();break;default:f=0;var l=0;for(s=[];f<t;++f)for(var h=0;h<i;
6524++h)s[l++]=Je(e[h]+" ",c[f],r,i).trim()}return s}function Je(e,a,r,c){var s=a,t=s.charCodeAt(0);if(t<33)t=(s=s.trim()).charCodeAt(0);switch(t){case P:switch(ge+c){case 0:case 1:if(0===e.trim().length)break;default:return s.replace(h,"$1"+e.trim())}break;case V:switch(s.charCodeAt(1)){case 103:if(Ce>0&&ge>0)return s.replace(u,"$1").replace(h,"$1"+Ge);break;default:return e.trim()+s.replace(h,"$1"+e.trim())}default:if(r*ge>0&&s.indexOf("\f")>0)return s.replace(h,(e.charCodeAt(0)===V?"":"$1")+e.trim())}return e+s}function Ke(e,a,r,c){var l,o=0,h=e+";",u=2*a+3*r+4*c;if(944===u)return function(e){var a=e.length,r=e.indexOf(":",9)+1,c=e.substring(0,r).trim(),s=e.substring(r,a-1).trim();switch(e.charCodeAt(9)*Be){case 0:break;case Q:if(110!==e.charCodeAt(10))break;default:for(var t=s.split((s="",f)),i=0,r=0,a=t.length;i<a;r=0,++i){for(var l=t[i],o=l.split(n);l=o[r];){var h=l.charCodeAt(0);if(1===Be&&(h>L&&h<90||h>96&&h<123||h===R||h===Q&&l.charCodeAt(1)!==Q))switch(isNaN(parseFloat(l))+(-1!==l.indexOf("("))){case 1:switch(l){case"infinite":case"alternate":case"backwards":case"running":case"normal":case"forwards":case"both":case"none":case"linear":case"ease":case"ease-in":case"ease-out":case"ease-in-out":case"paused":case"reverse":case"alternate-reverse":case"inherit":case"initial":case"unset":case"step-start":case"step-end":break;default:l+=De}}o[r++]=l}s+=(0===i?"":",")+o.join(" ")}}if(s=c+s+";",1===Ae||2===Ae&&Le(s,1))return N+s+s;return s}(h);else if(0===Ae||2===Ae&&!Le(h,1))return h;switch(u){case 1015:return 97===h.charCodeAt(10)?N+h+h:h;case 951:return 116===h.charCodeAt(3)?N+h+h:h;case 963:return 110===h.charCodeAt(5)?N+h+h:h;case 1009:if(100!==h.charCodeAt(4))break;case 969:case 942:return N+h+h;case 978:return N+h+S+h+h;case 1019:case 983:return N+h+S+h+F+h+h;case 883:if(h.charCodeAt(8)===Q)return N+h+h;if(h.indexOf("image-set(",11)>0)return h.replace(z,"$1"+N+"$2")+h;return h;
vendor: 1,191 bytes, line 6524
6524case 932:if(h.charCodeAt(4)===Q)switch(h.charCodeAt(5)){case 103:return N+"box-"+h.replace("-grow","")+N+h+F+h.replace("grow","positive")+h;case 115:return N+h+F+h.replace("shrink","negative")+h;case 98:return N+h+F+h.replace("basis","preferred-size")+h}return N+h+F+h+h;case 964:return N+h+F+"flex-"+h+h;case 1023:if(99!==h.charCodeAt(8))break;return l=h.substring(h.indexOf(":",15)).replace("flex-","").replace("space-between","justify"),N+"box-pack"+l+N+h+F+"flex-pack"+l+h;case 1005:return t.test(h)?h.replace(s,":"+N)+h.replace(s,":"+S)+h:h;case 1e3:switch(o=(l=h.substring(13).trim()).indexOf("-")+1,l.charCodeAt(0)+l.charCodeAt(o)){case 226:l=h.replace(m,"tb");break;case 232:l=h.replace(m,"tb-rl");break;case 220:l=h.replace(m,"lr");break;default:return h}return N+h+F+l+h;case 1017:if(-1===h.indexOf("sticky",9))return h;case 975:switch(o=(h=e).length-10,u=(l=(33===h.charCodeAt(o)?h.substring(0,o):h).substring(e.indexOf(":",7)+1).trim()).charCodeAt(0)+(0|l.charCodeAt(7))){case 203:if(l.charCodeAt(8)<111)break;case 115:h=h.replace(l,N+l)+";"+h;break;case 207:case 102:h=h.replace(l,N+(u>102?"inline-":"")+"box")+";"+h.replace(l,N+l)+";"+h.replace(l,F+l+"box")+";"+h}return h+";";
6524case 938:if(h.charCodeAt(5)===Q)switch(h.charCodeAt(6)){case 105:return l=h.replace("-items",""),N+h+N+"box-"+l+F+"flex-"+l+h;case 115:return N+h+F+"flex-item-"+h.replace(y,"")+h;default:return N+h+F+"flex-line-pack"+h.replace("align-content","").replace(y,"")+h}break;case 973:case 989:if(h.charCodeAt(3)!==Q||122===h.charCodeAt(4))break;case 931:case 953:if(true===j.test(e))if(115===(l=e.substring(e.indexOf(":")+1)).charCodeAt(0))return Ke(e.replace("stretch","fill-available"),a,r,c).replace(":fill-available",":stretch");else return h.replace(l,N+l)+h.replace(l,S+l.replace("fill-",""))+h;break;case 962:if(h=N+h+(102===h.charCodeAt(5)?F+h:"")+h,r+c===211&&105===h.charCodeAt(13)&&h.indexOf("transform",10)>0)return h.substring(0,h.indexOf(";",27)+1).replace(i,"$1"+N+"$2")+h}return h}function Le(e,a){var r=e.indexOf(1===a?":":"{"),c=e.substring(0,3!==a?r:10),s=e.substring(r+1,e.length-1);return Oe(2!==a?c:c.replace(O,"$1"),s,a)}function Me(e,a){var r=Ke(a,a.charCodeAt(0),a.charCodeAt(1),a.charCodeAt(2));return r!==a+";"?r.replace($," or ($1)").substring(4):"("+a+")"}function Pe(e,a,r,c,s,t,i,f,n,l){for(var o,h=0,u=a;h<ye;++h)switch(o=$e[h].call(Te,e,u,r,c,s,t,i,f,n,l)){case void 0:case false:case true:case null:break;default:u=o}if(u!==a)return u}function Qe(e,a,r,c){for(var s=a+1;s<r;++s)switch(c.charCodeAt(s)){case Z:if(e===T)if(c.charCodeAt(s-1)===T&&a+2!==s)return s+1;break;case I:if(e===Z)return s+1}return s}function Re(e){for(var a in e){var r=e[a];switch(a){case"keyframe":Be=0|r;break;case"global":Ce=0|r;break;case"cascade":ge=0|r;break;case"compress":we=0|r;break;case"semicolon":ve=0|r;break;case"preserve":me=0|r;break;case"prefix":if(Oe=null,!r)Ae=0;else if("function"!=typeof r)Ae=1;else Ae=2,Oe=r}}return Re}function Te(a,r){if(void 0!==this&&this.constructor===Te)return e(a);var s=a,t=s.charCodeAt(0);if(t<33)t=(s=s.trim()).charCodeAt(0);if(Be>0)De=s.replace(d,t===G?"":"-");if(t=1,1===ge)Ge=s;else Ee=s;var i,f=[Ge];if(ye>0)if(void 0!==(i=Pe(ze,r,f,f,pe,be,0,0,0,0))&&"string"==typeof i)r=i;var n=He(xe,f,r,0,0);if(ye>0)if(void 0!==(i=Pe(je,n,f,f,pe,be,n.length,0,0,0))&&"string"!=typeof(n=i))t=0;return De="",Ge="",Ee="",ke=0,pe=1,be=1,we*t==0?n:n.replace(c,"").replace(g,"").replace(A,"$1").replace(C,"$1").replace(w," ")}if(Te.use=function e(a){switch(a){case void 0:case null:ye=$e.length=0;break;default:if("function"==typeof a)$e[ye++]=a;else if("object"==typeof a)for(var r=0,c=a.length;r<c;++r)e(a[r]);else qe=0|!!a}return e},Te.set=Re,void 0!==a)Re(a);return Te}); 6525//# sourceMappingURL=stylis.min.js.map 6526 6527/***/ }), 6528/* 28 */ 6529/***/ (function(module, __webpack_exports__, __webpack_require__) { 6530 6531"use strict"; 6532function areInputsEqual(newInputs, lastInputs) { 6533 if (newInputs.length !== lastInputs.length) { 6534 return false; 6535 } 6536 for (var i = 0; i < newInputs.length; i++) { 6537 if (newInputs[i] !== lastInputs[i]) { 6538 return false; 6539 } 6540 } 6541 return true; 6542} 6543 6544function memoizeOne(resultFn, isEqual) { 6545 if (isEqual === void 0) { isEqual = areInputsEqual; } 6546 var lastThis; 6547 var lastArgs = []; 6548 var lastResult; 6549 var calledOnce = false; 6550 function memoized() { 6551 var newArgs = []; 6552 for (var _i = 0; _i < arguments.length; _i++) { 6553 newArgs[_i] = arguments[_i]; 6554 } 6555 if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) { 6556 return lastResult; 6557 } 6558 lastResult = resultFn.apply(this, newArgs); 6559 calledOnce = true; 6560 lastThis = this; 6561 lastArgs = newArgs; 6562 return lastResult; 6563 } 6564 return memoized; 6565} 6566 6567/* harmony default export */ __webpack_exports__["a"] = (memoizeOne); 6568 6569 6570/***/ }), 6571/* 29 */ 6572/***/ (function(module, exports, __webpack_require__) { 6573 6574var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root, factory) { 6575 if (true) { 6576 !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), 6577 __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? 6578 (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
6579 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 6580 } else {} 6581}(this, function () { 6582 var regex = /(auto|scroll)/; 6583 6584 var parents = function (node, ps) { 6585 if (node.parentNode === null) { return ps; } 6586 6587 return parents(node.parentNode, ps.concat([node])); 6588 }; 6589 6590 var style = function (node, prop) { 6591 return getComputedStyle(node, null).getPropertyValue(prop); 6592 }; 6593 6594 var overflow = function (node) { 6595 return style(node, "overflow") + style(node, "overflow-y") + style(node, "overflow-x"); 6596 }; 6597 6598 var scroll = function (node) { 6599 return regex.test(overflow(node)); 6600 }; 6601 6602 var scrollParent = function (node) { 6603 if (!(node instanceof HTMLElement || node instanceof SVGElement)) { 6604 return ; 6605 } 6606 6607 var ps = parents(node.parentNode, []); 6608 6609 for (var i = 0; i < ps.length; i += 1) { 6610 if (scroll(ps[i])) { 6611 return ps[i]; 6612 } 6613 } 6614 6615 return document.scrollingElement || document.documentElement; 6616 }; 6617 6618 return scrollParent; 6619})); 6620 6621 6622/***/ }), 6623/* 30 */ 6624/***/ (function(module, exports, __webpack_require__) { 6625 6626"use strict"; 6627Object.defineProperty(exports,'__esModule',{value:!0});var VALIDATOR_ARG_ERROR_MESSAGE='The typeValidator argument must be a function with the signature function(props, propName, componentName).',MESSAGE_ARG_ERROR_MESSAGE='The error message is optional, but must be a string if provided.',propIsRequired=function propIsRequired(a,b,c,d){if('boolean'==typeof a)return a;return'function'==typeof a?a(b,c,d):!(!0!==!!a)&&!!a},propExists=function propExists(a,b){return Object.hasOwnProperty.call(a,b)},missingPropError=function missingPropError(a,b,c,d){return d?new Error(d):new Error('Required '+a[b]+' `'+b+'`'+(' was not specified in `'+c+'`.'))},guardAgainstInvalidArgTypes=function guardAgainstInvalidArgTypes(a,b){if('function'!=typeof a)throw new TypeError(VALIDATOR_ARG_ERROR_MESSAGE);if(!!b&&'string'!=typeof b)throw new TypeError(MESSAGE_ARG_ERROR_MESSAGE)},isRequiredIf=function isRequiredIf(a,b,c){return guardAgainstInvalidArgTypes(a,c),function(d,e,f){for(var _len=arguments.length,g=Array(3<_len?_len-3:0),_key=3;_key<_len;_key++)g[_key-3]=arguments[_key];return propIsRequired(b,d,e,f)?propExists(d,e)?a.apply(void 0,[d,e,f].concat(g)):missingPropError(d,e,f,c):a.apply(void 0,[d,e,f].concat(g));// Is not required, so just run typeValidator. 6628}};exports.default=isRequiredIf; 6629 6630//# sourceMappingURL=isRequiredIf.js.map 6631 6632/***/ }), 6633/* 31 */ 6634/***/ (function(module, __webpack_exports__, __webpack_require__) { 6635 6636"use strict"; 6637/* WEBPACK VAR INJECTION */(function(global) {/**! 6638 * @fileOverview Kickass library to create and place poppers near their reference elements. 6639 * @version 1.16.1 6640 * @license 6641 * Copyright (c) 2016 Federico Zivolo and contributors 6642 * 6643 * Permission is hereby granted, free of charge, to any person obtaining a copy 6644 * of this software and associated documentation files (the "Software"), to deal 6645 * in the Software without restriction, including without limitation the rights 6646 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 6647 * copies of the Software, and to permit persons to whom the Software is 6648 * furnished to do so, subject to the following conditions: 6649 * 6650 * The above copyright notice and this permission notice shall be included in all 6651 * copies or substantial portions of the Software. 6652 * 6653 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 6654 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 6655 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 6656 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 6657 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 6658 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 6659 * SOFTWARE. 6660 */ 6661var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined'; 6662 6663var timeoutDuration = function () { 6664 var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox']; 6665 for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) { 6666 if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) { 6667 return 1; 6668 } 6669 } 6670 return 0; 6671}(); 6672 6673function microtaskDebounce(fn) { 6674 var called = false;
vendor: 3,141 bytes, lines 6675-6800
6675 return function () { 6676 if (called) { 6677 return; 6678 } 6679 called = true; 6680 window.Promise.resolve().then(function () { 6681 called = false; 6682 fn(); 6683 }); 6684 }; 6685} 6686 6687function taskDebounce(fn) { 6688 var scheduled = false; 6689 return function () { 6690 if (!scheduled) { 6691 scheduled = true; 6692 setTimeout(function () { 6693 scheduled = false; 6694 fn(); 6695 }, timeoutDuration); 6696 } 6697 }; 6698} 6699 6700var supportsMicroTasks = isBrowser && window.Promise; 6701 6702/** 6703* Create a debounced version of a method, that's asynchronously deferred 6704* but called in the minimum time possible. 6705* 6706* @method 6707* @memberof Popper.Utils 6708* @argument {Function} fn 6709* @returns {Function} 6710*/ 6711var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce; 6712 6713/** 6714 * Check if the given variable is a function 6715 * @method 6716 * @memberof Popper.Utils 6717 * @argument {Any} functionToCheck - variable to check 6718 * @returns {Boolean} answer to: is a function? 6719 */ 6720function isFunction(functionToCheck) { 6721 var getType = {}; 6722 return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; 6723} 6724 6725/** 6726 * Get CSS computed property of the given element 6727 * @method 6728 * @memberof Popper.Utils 6729 * @argument {Eement} element 6730 * @argument {String} property 6731 */ 6732function getStyleComputedProperty(element, property) { 6733 if (element.nodeType !== 1) { 6734 return []; 6735 } 6736 // NOTE: 1 DOM access here 6737 var window = element.ownerDocument.defaultView; 6738 var css = window.getComputedStyle(element, null); 6739 return property ? css[property] : css; 6740} 6741 6742/** 6743 * Returns the parentNode or the host of the element 6744 * @method 6745 * @memberof Popper.Utils 6746 * @argument {Element} element 6747 * @returns {Element} parent 6748 */ 6749function getParentNode(element) { 6750 if (element.nodeName === 'HTML') { 6751 return element; 6752 } 6753 return element.parentNode || element.host; 6754} 6755 6756/** 6757 * Returns the scrolling parent of the given element 6758 * @method 6759 * @memberof Popper.Utils 6760 * @argument {Element} element 6761 * @returns {Element} scroll parent 6762 */ 6763function getScrollParent(element) { 6764 // Return body, `getScroll` will take care to get the correct `scrollTop` from it 6765 if (!element) { 6766 return document.body; 6767 } 6768 6769 switch (element.nodeName) { 6770 case 'HTML': 6771 case 'BODY': 6772 return element.ownerDocument.body; 6773 case '#document': 6774 return element.body; 6775 } 6776 6777 // Firefox want us to check `-x` and `-y` variations as well 6778 6779 var _getStyleComputedProp = getStyleComputedProperty(element), 6780 overflow = _getStyleComputedProp.overflow, 6781 overflowX = _getStyleComputedProp.overflowX, 6782 overflowY = _getStyleComputedProp.overflowY; 6783 6784 if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) { 6785 return element; 6786 } 6787 6788 return getScrollParent(getParentNode(element)); 6789} 6790 6791/** 6792 * Returns the reference node of the reference object, or the reference object itself. 6793 * @method 6794 * @memberof Popper.Utils 6795 * @param {Element|Object} reference - the reference element (the popper will be relative to this) 6796 * @returns {Element} parent 6797 */ 6798function getReferenceNode(reference) { 6799 return reference && reference.referenceNode ? reference.referenceNode : reference; 6800}
vendor: 3,047 bytes, lines 6800-6906
6800 6801 6802var isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode); 6803var isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent); 6804 6805/** 6806 * Determines if the browser is Internet Explorer 6807 * @method 6808 * @memberof Popper.Utils 6809 * @param {Number} version to check 6810 * @returns {Boolean} isIE 6811 */ 6812function isIE(version) { 6813 if (version === 11) { 6814 return isIE11; 6815 } 6816 if (version === 10) { 6817 return isIE10; 6818 } 6819 return isIE11 || isIE10; 6820} 6821 6822/** 6823 * Returns the offset parent of the given element 6824 * @method 6825 * @memberof Popper.Utils 6826 * @argument {Element} element 6827 * @returns {Element} offset parent 6828 */ 6829function getOffsetParent(element) { 6830 if (!element) { 6831 return document.documentElement; 6832 } 6833 6834 var noOffsetParent = isIE(10) ? document.body : null; 6835 6836 // NOTE: 1 DOM access here 6837 var offsetParent = element.offsetParent || null; 6838 // Skip hidden elements which don't have an offsetParent 6839 while (offsetParent === noOffsetParent && element.nextElementSibling) { 6840 offsetParent = (element = element.nextElementSibling).offsetParent; 6841 } 6842 6843 var nodeName = offsetParent && offsetParent.nodeName; 6844 6845 if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') { 6846 return element ? element.ownerDocument.documentElement : document.documentElement; 6847 } 6848 6849 // .offsetParent will return the closest TH, TD or TABLE in case 6850 // no offsetParent is present, I hate this job... 6851 if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') { 6852 return getOffsetParent(offsetParent); 6853 } 6854 6855 return offsetParent; 6856} 6857 6858function isOffsetContainer(element) { 6859 var nodeName = element.nodeName; 6860 6861 if (nodeName === 'BODY') { 6862 return false; 6863 } 6864 return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element; 6865} 6866 6867/** 6868 * Finds the root node (document, shadowDOM root) of the given element 6869 * @method 6870 * @memberof Popper.Utils 6871 * @argument {Element} node 6872 * @returns {Element} root node 6873 */ 6874function getRoot(node) { 6875 if (node.parentNode !== null) { 6876 return getRoot(node.parentNode); 6877 } 6878 6879 return node; 6880} 6881 6882/** 6883 * Finds the offset parent common to the two provided nodes 6884 * @method 6885 * @memberof Popper.Utils 6886 * @argument {Element} element1 6887 * @argument {Element} element2 6888 * @returns {Element} common offset parent 6889 */ 6890function findCommonOffsetParent(element1, element2) { 6891 // This check is needed to avoid errors in case one of the elements isn't defined for any reason 6892 if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) { 6893 return document.documentElement; 6894 } 6895 6896 // Here we make sure to give as "start" the element that comes first in the DOM 6897 var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING; 6898 var start = order ? element1 : element2; 6899 var end = order ? element2 : element1; 6900 6901 // Get common ancestor container 6902 var range = document.createRange(); 6903 range.setStart(start, 0); 6904 range.setEnd(end, 0); 6905 var commonAncestorContainer = range.commonAncestorContainer; 6906
vendor: 5,354 bytes, lines 6907-7084
6907 // Both nodes are inside #document 6908 6909 if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) { 6910 if (isOffsetContainer(commonAncestorContainer)) { 6911 return commonAncestorContainer; 6912 } 6913 6914 return getOffsetParent(commonAncestorContainer); 6915 } 6916 6917 // one of the nodes is inside shadowDOM, find which one 6918 var element1root = getRoot(element1); 6919 if (element1root.host) { 6920 return findCommonOffsetParent(element1root.host, element2); 6921 } else { 6922 return findCommonOffsetParent(element1, getRoot(element2).host); 6923 } 6924} 6925 6926/** 6927 * Gets the scroll value of the given element in the given side (top and left) 6928 * @method 6929 * @memberof Popper.Utils 6930 * @argument {Element} element 6931 * @argument {String} side `top` or `left` 6932 * @returns {number} amount of scrolled pixels 6933 */ 6934function getScroll(element) { 6935 var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top'; 6936 6937 var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft'; 6938 var nodeName = element.nodeName; 6939 6940 if (nodeName === 'BODY' || nodeName === 'HTML') { 6941 var html = element.ownerDocument.documentElement; 6942 var scrollingElement = element.ownerDocument.scrollingElement || html; 6943 return scrollingElement[upperSide]; 6944 } 6945 6946 return element[upperSide]; 6947} 6948 6949/* 6950 * Sum or subtract the element scroll values (left and top) from a given rect object 6951 * @method 6952 * @memberof Popper.Utils 6953 * @param {Object} rect - Rect object you want to change 6954 * @param {HTMLElement} element - The element from the function reads the scroll values 6955 * @param {Boolean} subtract - set to true if you want to subtract the scroll values 6956 * @return {Object} rect - The modifier rect object 6957 */ 6958function includeScroll(rect, element) { 6959 var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; 6960 6961 var scrollTop = getScroll(element, 'top'); 6962 var scrollLeft = getScroll(element, 'left'); 6963 var modifier = subtract ? -1 : 1; 6964 rect.top += scrollTop * modifier; 6965 rect.bottom += scrollTop * modifier; 6966 rect.left += scrollLeft * modifier; 6967 rect.right += scrollLeft * modifier; 6968 return rect; 6969} 6970 6971/* 6972 * Helper to detect borders of a given element 6973 * @method 6974 * @memberof Popper.Utils 6975 * @param {CSSStyleDeclaration} styles 6976 * Result of `getStyleComputedProperty` on the given element 6977 * @param {String} axis - `x` or `y` 6978 * @return {number} borders - The borders size of the given axis 6979 */ 6980 6981function getBordersSize(styles, axis) { 6982 var sideA = axis === 'x' ? 'Left' : 'Top'; 6983 var sideB = sideA === 'Left' ? 'Right' : 'Bottom'; 6984 6985 return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']); 6986} 6987 6988function getSize(axis, body, html, computedStyle) { 6989 return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0); 6990} 6991 6992function getWindowSizes(document) { 6993 var body = document.body; 6994 var html = document.documentElement; 6995 var computedStyle = isIE(10) && getComputedStyle(html); 6996 6997 return { 6998 height: getSize('Height', body, html, computedStyle), 6999 width: getSize('Width', body, html, computedStyle) 7000 }; 7001} 7002 7003var classCallCheck = function (instance, Constructor) { 7004 if (!(instance instanceof Constructor)) { 7005 throw new TypeError("Cannot call a class as a function"); 7006 } 7007}; 7008 7009var createClass = function () { 7010 function defineProperties(target, props) { 7011 for (var i = 0; i < props.length; i++) { 7012 var descriptor = props[i]; 7013 descriptor.enumerable = descriptor.enumerable || false; 7014 descriptor.configurable = true; 7015 if ("value" in descriptor) descriptor.writable = true; 7016 Object.defineProperty(target, descriptor.key, descriptor); 7017 } 7018 } 7019 7020 return function (Constructor, protoProps, staticProps) { 7021 if (protoProps) defineProperties(Constructor.prototype, protoProps); 7022 if (staticProps) defineProperties(Constructor, staticProps); 7023 return Constructor; 7024 }; 7025}(); 7026 7027 7028 7029 7030 7031var defineProperty = function (obj, key, value) { 7032 if (key in obj) { 7033 Object.defineProperty(obj, key, { 7034 value: value, 7035 enumerable: true, 7036 configurable: true, 7037 writable: true 7038 }); 7039 } else { 7040 obj[key] = value; 7041 } 7042 7043 return obj; 7044}; 7045 7046var _extends = Object.assign || function (target) { 7047 for (var i = 1; i < arguments.length; i++) { 7048 var source = arguments[i]; 7049 7050 for (var key in source) { 7051 if (Object.prototype.hasOwnProperty.call(source, key)) { 7052 target[key] = source[key]; 7053 } 7054 } 7055 } 7056 7057 return target; 7058}; 7059 7060/** 7061 * Given element offsets, generate an output similar to getBoundingClientRect 7062 * @method 7063 * @memberof Popper.Utils 7064 * @argument {Object} offsets 7065 * @returns {Object} ClientRect like output 7066 */ 7067function getClientRect(offsets) { 7068 return _extends({}, offsets, { 7069 right: offsets.left + offsets.width, 7070 bottom: offsets.top + offsets.height 7071 }); 7072} 7073 7074/** 7075 * Get bounding client rect of given element 7076 * @method 7077 * @memberof Popper.Utils 7078 * @param {HTMLElement} element 7079 * @return {Object} client rect 7080 */ 7081function getBoundingClientRect(element) { 7082 var rect = {}; 7083 7084 // IE10 10 FIX: Please, don't ask, the element isn't
vendor: 4,625 bytes, lines 7085-7214
7085 // considered in DOM in some circumstances... 7086 // This isn't reproducible in IE10 compatibility mode of IE11 7087 try { 7088 if (isIE(10)) { 7089 rect = element.getBoundingClientRect(); 7090 var scrollTop = getScroll(element, 'top'); 7091 var scrollLeft = getScroll(element, 'left'); 7092 rect.top += scrollTop; 7093 rect.left += scrollLeft; 7094 rect.bottom += scrollTop; 7095 rect.right += scrollLeft; 7096 } else { 7097 rect = element.getBoundingClientRect(); 7098 } 7099 } catch (e) {} 7100 7101 var result = { 7102 left: rect.left, 7103 top: rect.top, 7104 width: rect.right - rect.left, 7105 height: rect.bottom - rect.top 7106 }; 7107 7108 // subtract scrollbar size from sizes 7109 var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {}; 7110 var width = sizes.width || element.clientWidth || result.width; 7111 var height = sizes.height || element.clientHeight || result.height; 7112 7113 var horizScrollbar = element.offsetWidth - width; 7114 var vertScrollbar = element.offsetHeight - height; 7115 7116 // if an hypothetical scrollbar is detected, we must be sure it's not a `border` 7117 // we make this check conditional for performance reasons 7118 if (horizScrollbar || vertScrollbar) { 7119 var styles = getStyleComputedProperty(element); 7120 horizScrollbar -= getBordersSize(styles, 'x'); 7121 vertScrollbar -= getBordersSize(styles, 'y'); 7122 7123 result.width -= horizScrollbar; 7124 result.height -= vertScrollbar; 7125 } 7126 7127 return getClientRect(result); 7128} 7129 7130function getOffsetRectRelativeToArbitraryNode(children, parent) { 7131 var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; 7132 7133 var isIE10 = isIE(10); 7134 var isHTML = parent.nodeName === 'HTML'; 7135 var childrenRect = getBoundingClientRect(children); 7136 var parentRect = getBoundingClientRect(parent); 7137 var scrollParent = getScrollParent(children); 7138 7139 var styles = getStyleComputedProperty(parent); 7140 var borderTopWidth = parseFloat(styles.borderTopWidth); 7141 var borderLeftWidth = parseFloat(styles.borderLeftWidth); 7142 7143 // In cases where the parent is fixed, we must ignore negative scroll in offset calc 7144 if (fixedPosition && isHTML) { 7145 parentRect.top = Math.max(parentRect.top, 0); 7146 parentRect.left = Math.max(parentRect.left, 0); 7147 } 7148 var offsets = getClientRect({ 7149 top: childrenRect.top - parentRect.top - borderTopWidth, 7150 left: childrenRect.left - parentRect.left - borderLeftWidth, 7151 width: childrenRect.width, 7152 height: childrenRect.height 7153 }); 7154 offsets.marginTop = 0; 7155 offsets.marginLeft = 0; 7156 7157 // Subtract margins of documentElement in case it's being used as parent 7158 // we do this only on HTML because it's the only element that behaves 7159 // differently when margins are applied to it. The margins are included in 7160 // the box of the documentElement, in the other cases not. 7161 if (!isIE10 && isHTML) { 7162 var marginTop = parseFloat(styles.marginTop); 7163 var marginLeft = parseFloat(styles.marginLeft); 7164 7165 offsets.top -= borderTopWidth - marginTop; 7166 offsets.bottom -= borderTopWidth - marginTop; 7167 offsets.left -= borderLeftWidth - marginLeft; 7168 offsets.right -= borderLeftWidth - marginLeft; 7169 7170 // Attach marginTop and marginLeft because in some circumstances we may need them 7171 offsets.marginTop = marginTop; 7172 offsets.marginLeft = marginLeft; 7173 } 7174 7175 if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') { 7176 offsets = includeScroll(offsets, parent); 7177 } 7178 7179 return offsets; 7180} 7181 7182function getViewportOffsetRectRelativeToArtbitraryNode(element) { 7183 var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; 7184 7185 var html = element.ownerDocument.documentElement; 7186 var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html); 7187 var width = Math.max(html.clientWidth, window.innerWidth || 0); 7188 var height = Math.max(html.clientHeight, window.innerHeight || 0); 7189 7190 var scrollTop = !excludeScroll ? getScroll(html) : 0; 7191 var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0; 7192 7193 var offset = { 7194 top: scrollTop - relativeOffset.top + relativeOffset.marginTop, 7195 left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft, 7196 width: width, 7197 height: height 7198 }; 7199 7200 return getClientRect(offset); 7201} 7202 7203/** 7204 * Check if the given element is fixed or is inside a fixed parent 7205 * @method 7206 * @memberof Popper.Utils 7207 * @argument {Element} element 7208 * @argument {Element} customContainer 7209 * @returns {Boolean} answer to "isFixed?" 7210 */ 7211function isFixed(element) { 7212 var nodeName = element.nodeName; 7213 if (nodeName === 'BODY' || nodeName === 'HTML') { 7214 return false;
vendor: 16,186 bytes, lines 7215-7724
7215 } 7216 if (getStyleComputedProperty(element, 'position') === 'fixed') { 7217 return true; 7218 } 7219 var parentNode = getParentNode(element); 7220 if (!parentNode) { 7221 return false; 7222 } 7223 return isFixed(parentNode); 7224} 7225 7226/** 7227 * Finds the first parent of an element that has a transformed property defined 7228 * @method 7229 * @memberof Popper.Utils 7230 * @argument {Element} element 7231 * @returns {Element} first transformed parent or documentElement 7232 */ 7233 7234function getFixedPositionOffsetParent(element) { 7235 // This check is needed to avoid errors in case one of the elements isn't defined for any reason 7236 if (!element || !element.parentElement || isIE()) { 7237 return document.documentElement; 7238 } 7239 var el = element.parentElement; 7240 while (el && getStyleComputedProperty(el, 'transform') === 'none') { 7241 el = el.parentElement; 7242 } 7243 return el || document.documentElement; 7244} 7245 7246/** 7247 * Computed the boundaries limits and return them 7248 * @method 7249 * @memberof Popper.Utils 7250 * @param {HTMLElement} popper 7251 * @param {HTMLElement} reference 7252 * @param {number} padding 7253 * @param {HTMLElement} boundariesElement - Element used to define the boundaries 7254 * @param {Boolean} fixedPosition - Is in fixed position mode 7255 * @returns {Object} Coordinates of the boundaries 7256 */ 7257function getBoundaries(popper, reference, padding, boundariesElement) { 7258 var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; 7259 7260 // NOTE: 1 DOM access here 7261 7262 var boundaries = { top: 0, left: 0 }; 7263 var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference)); 7264 7265 // Handle viewport case 7266 if (boundariesElement === 'viewport') { 7267 boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition); 7268 } else { 7269 // Handle other cases based on DOM element used as boundaries 7270 var boundariesNode = void 0; 7271 if (boundariesElement === 'scrollParent') { 7272 boundariesNode = getScrollParent(getParentNode(reference)); 7273 if (boundariesNode.nodeName === 'BODY') { 7274 boundariesNode = popper.ownerDocument.documentElement; 7275 } 7276 } else if (boundariesElement === 'window') { 7277 boundariesNode = popper.ownerDocument.documentElement; 7278 } else { 7279 boundariesNode = boundariesElement; 7280 } 7281 7282 var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition); 7283 7284 // In case of HTML, we need a different computation 7285 if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) { 7286 var _getWindowSizes = getWindowSizes(popper.ownerDocument), 7287 height = _getWindowSizes.height, 7288 width = _getWindowSizes.width; 7289 7290 boundaries.top += offsets.top - offsets.marginTop; 7291 boundaries.bottom = height + offsets.top; 7292 boundaries.left += offsets.left - offsets.marginLeft; 7293 boundaries.right = width + offsets.left; 7294 } else { 7295 // for all the other DOM elements, this one is good 7296 boundaries = offsets; 7297 } 7298 } 7299 7300 // Add paddings 7301 padding = padding || 0; 7302 var isPaddingNumber = typeof padding === 'number'; 7303 boundaries.left += isPaddingNumber ? padding : padding.left || 0; 7304 boundaries.top += isPaddingNumber ? padding : padding.top || 0; 7305 boundaries.right -= isPaddingNumber ? padding : padding.right || 0; 7306 boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; 7307 7308 return boundaries; 7309} 7310 7311function getArea(_ref) { 7312 var width = _ref.width, 7313 height = _ref.height; 7314 7315 return width * height; 7316} 7317 7318/** 7319 * Utility used to transform the `auto` placement to the placement with more 7320 * available space. 7321 * @method 7322 * @memberof Popper.Utils 7323 * @argument {Object} data - The data object generated by update method 7324 * @argument {Object} options - Modifiers configuration and options 7325 * @returns {Object} The data object, properly modified 7326 */ 7327function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) { 7328 var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0; 7329 7330 if (placement.indexOf('auto') === -1) { 7331 return placement; 7332 } 7333 7334 var boundaries = getBoundaries(popper, reference, padding, boundariesElement); 7335 7336 var rects = { 7337 top: { 7338 width: boundaries.width, 7339 height: refRect.top - boundaries.top 7340 }, 7341 right: { 7342 width: boundaries.right - refRect.right, 7343 height: boundaries.height 7344 }, 7345 bottom: { 7346 width: boundaries.width, 7347 height: boundaries.bottom - refRect.bottom 7348 }, 7349 left: { 7350 width: refRect.left - boundaries.left, 7351 height: boundaries.height 7352 } 7353 }; 7354 7355 var sortedAreas = Object.keys(rects).map(function (key) { 7356 return _extends({ 7357 key: key 7358 }, rects[key], { 7359 area: getArea(rects[key]) 7360 }); 7361 }).sort(function (a, b) { 7362 return b.area - a.area; 7363 }); 7364 7365 var filteredAreas = sortedAreas.filter(function (_ref2) { 7366 var width = _ref2.width, 7367 height = _ref2.height; 7368 return width >= popper.clientWidth && height >= popper.clientHeight; 7369 }); 7370 7371 var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key; 7372 7373 var variation = placement.split('-')[1]; 7374 7375 return computedPlacement + (variation ? '-' + variation : ''); 7376} 7377 7378/** 7379 * Get offsets to the reference element 7380 * @method 7381 * @memberof Popper.Utils 7382 * @param {Object} state 7383 * @param {Element} popper - the popper element 7384 * @param {Element} reference - the reference element (the popper will be relative to this) 7385 * @param {Element} fixedPosition - is in fixed position mode 7386 * @returns {Object} An object containing the offsets which will be applied to the popper 7387 */ 7388function getReferenceOffsets(state, popper, reference) { 7389 var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; 7390 7391 var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference)); 7392 return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition); 7393} 7394 7395/** 7396 * Get the outer sizes of the given element (offset size + margins) 7397 * @method 7398 * @memberof Popper.Utils 7399 * @argument {Element} element 7400 * @returns {Object} object containing width and height properties 7401 */ 7402function getOuterSizes(element) { 7403 var window = element.ownerDocument.defaultView; 7404 var styles = window.getComputedStyle(element); 7405 var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0); 7406 var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0); 7407 var result = { 7408 width: element.offsetWidth + y, 7409 height: element.offsetHeight + x 7410 }; 7411 return result; 7412} 7413 7414/** 7415 * Get the opposite placement of the given one 7416 * @method 7417 * @memberof Popper.Utils 7418 * @argument {String} placement 7419 * @returns {String} flipped placement 7420 */ 7421function getOppositePlacement(placement) { 7422 var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }; 7423 return placement.replace(/left|right|bottom|top/g, function (matched) { 7424 return hash[matched]; 7425 }); 7426} 7427 7428/** 7429 * Get offsets to the popper 7430 * @method 7431 * @memberof Popper.Utils 7432 * @param {Object} position - CSS position the Popper will get applied 7433 * @param {HTMLElement} popper - the popper element 7434 * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this) 7435 * @param {String} placement - one of the valid placement options 7436 * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper 7437 */ 7438function getPopperOffsets(popper, referenceOffsets, placement) { 7439 placement = placement.split('-')[0]; 7440 7441 // Get popper node sizes 7442 var popperRect = getOuterSizes(popper); 7443 7444 // Add position, width and height to our offsets object 7445 var popperOffsets = { 7446 width: popperRect.width, 7447 height: popperRect.height 7448 }; 7449 7450 // depending by the popper placement we have to compute its offsets slightly differently 7451 var isHoriz = ['right', 'left'].indexOf(placement) !== -1; 7452 var mainSide = isHoriz ? 'top' : 'left'; 7453 var secondarySide = isHoriz ? 'left' : 'top'; 7454 var measurement = isHoriz ? 'height' : 'width'; 7455 var secondaryMeasurement = !isHoriz ? 'height' : 'width'; 7456 7457 popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2; 7458 if (placement === secondarySide) { 7459 popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement]; 7460 } else { 7461 popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)]; 7462 } 7463 7464 return popperOffsets; 7465} 7466 7467/** 7468 * Mimics the `find` method of Array 7469 * @method 7470 * @memberof Popper.Utils 7471 * @argument {Array} arr 7472 * @argument prop 7473 * @argument value 7474 * @returns index or -1 7475 */ 7476function find(arr, check) { 7477 // use native find if supported 7478 if (Array.prototype.find) { 7479 return arr.find(check); 7480 } 7481 7482 // use `filter` to obtain the same behavior of `find` 7483 return arr.filter(check)[0]; 7484} 7485 7486/** 7487 * Return the index of the matching object 7488 * @method 7489 * @memberof Popper.Utils 7490 * @argument {Array} arr 7491 * @argument prop 7492 * @argument value 7493 * @returns index or -1 7494 */ 7495function findIndex(arr, prop, value) { 7496 // use native findIndex if supported 7497 if (Array.prototype.findIndex) { 7498 return arr.findIndex(function (cur) { 7499 return cur[prop] === value; 7500 }); 7501 } 7502 7503 // use `find` + `indexOf` if `findIndex` isn't supported 7504 var match = find(arr, function (obj) { 7505 return obj[prop] === value; 7506 }); 7507 return arr.indexOf(match); 7508} 7509 7510/** 7511 * Loop trough the list of modifiers and run them in order, 7512 * each of them will then edit the data object. 7513 * @method 7514 * @memberof Popper.Utils 7515 * @param {dataObject} data 7516 * @param {Array} modifiers 7517 * @param {String} ends - Optional modifier name used as stopper 7518 * @returns {dataObject} 7519 */ 7520function runModifiers(modifiers, data, ends) { 7521 var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends)); 7522 7523 modifiersToRun.forEach(function (modifier) { 7524 if (modifier['function']) { 7525 // eslint-disable-line dot-notation 7526 console.warn('`modifier.function` is deprecated, use `modifier.fn`!'); 7527 } 7528 var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation 7529 if (modifier.enabled && isFunction(fn)) { 7530 // Add properties to offsets to make them a complete clientRect object 7531 // we do this before each modifier to make sure the previous one doesn't 7532 // mess with these values 7533 data.offsets.popper = getClientRect(data.offsets.popper); 7534 data.offsets.reference = getClientRect(data.offsets.reference); 7535 7536 data = fn(data, modifier); 7537 } 7538 }); 7539 7540 return data; 7541} 7542 7543/** 7544 * Updates the position of the popper, computing the new offsets and applying 7545 * the new style.<br /> 7546 * Prefer `scheduleUpdate` over `update` because of performance reasons. 7547 * @method 7548 * @memberof Popper 7549 */ 7550function update() { 7551 // if popper is destroyed, don't perform any further update 7552 if (this.state.isDestroyed) { 7553 return; 7554 } 7555 7556 var data = { 7557 instance: this, 7558 styles: {}, 7559 arrowStyles: {}, 7560 attributes: {}, 7561 flipped: false, 7562 offsets: {} 7563 }; 7564 7565 // compute reference element offsets 7566 data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed); 7567 7568 // compute auto placement, store placement inside the data object, 7569 // modifiers will be able to edit `placement` if needed 7570 // and refer to originalPlacement to know the original value 7571 data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding); 7572 7573 // store the computed placement inside `originalPlacement` 7574 data.originalPlacement = data.placement; 7575 7576 data.positionFixed = this.options.positionFixed; 7577 7578 // compute the popper offsets 7579 data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement); 7580 7581 data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute'; 7582 7583 // run the modifiers 7584 data = runModifiers(this.modifiers, data); 7585 7586 // the first `update` will call `onCreate` callback 7587 // the other ones will call `onUpdate` callback 7588 if (!this.state.isCreated) { 7589 this.state.isCreated = true; 7590 this.options.onCreate(data); 7591 } else { 7592 this.options.onUpdate(data); 7593 } 7594} 7595 7596/** 7597 * Helper used to know if the given modifier is enabled. 7598 * @method 7599 * @memberof Popper.Utils 7600 * @returns {Boolean} 7601 */ 7602function isModifierEnabled(modifiers, modifierName) { 7603 return modifiers.some(function (_ref) { 7604 var name = _ref.name, 7605 enabled = _ref.enabled; 7606 return enabled && name === modifierName; 7607 }); 7608} 7609 7610/** 7611 * Get the prefixed supported property name 7612 * @method 7613 * @memberof Popper.Utils 7614 * @argument {String} property (camelCase) 7615 * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix) 7616 */ 7617function getSupportedPropertyName(property) { 7618 var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O']; 7619 var upperProp = property.charAt(0).toUpperCase() + property.slice(1); 7620 7621 for (var i = 0; i < prefixes.length; i++) { 7622 var prefix = prefixes[i]; 7623 var toCheck = prefix ? '' + prefix + upperProp : property; 7624 if (typeof document.body.style[toCheck] !== 'undefined') { 7625 return toCheck; 7626 } 7627 } 7628 return null; 7629} 7630 7631/** 7632 * Destroys the popper. 7633 * @method 7634 * @memberof Popper 7635 */ 7636function destroy() { 7637 this.state.isDestroyed = true; 7638 7639 // touch DOM only if `applyStyle` modifier is enabled 7640 if (isModifierEnabled(this.modifiers, 'applyStyle')) { 7641 this.popper.removeAttribute('x-placement'); 7642 this.popper.style.position = ''; 7643 this.popper.style.top = ''; 7644 this.popper.style.left = ''; 7645 this.popper.style.right = ''; 7646 this.popper.style.bottom = ''; 7647 this.popper.style.willChange = ''; 7648 this.popper.style[getSupportedPropertyName('transform')] = ''; 7649 } 7650 7651 this.disableEventListeners(); 7652 7653 // remove the popper if user explicitly asked for the deletion on destroy 7654 // do not use `remove` because IE11 doesn't support it 7655 if (this.options.removeOnDestroy) { 7656 this.popper.parentNode.removeChild(this.popper); 7657 } 7658 return this; 7659} 7660 7661/** 7662 * Get the window associated with the element 7663 * @argument {Element} element 7664 * @returns {Window} 7665 */ 7666function getWindow(element) { 7667 var ownerDocument = element.ownerDocument; 7668 return ownerDocument ? ownerDocument.defaultView : window; 7669} 7670 7671function attachToScrollParents(scrollParent, event, callback, scrollParents) { 7672 var isBody = scrollParent.nodeName === 'BODY'; 7673 var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent; 7674 target.addEventListener(event, callback, { passive: true }); 7675 7676 if (!isBody) { 7677 attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents); 7678 } 7679 scrollParents.push(target); 7680} 7681 7682/** 7683 * Setup needed event listeners used to update the popper position 7684 * @method 7685 * @memberof Popper.Utils 7686 * @private 7687 */ 7688function setupEventListeners(reference, options, state, updateBound) { 7689 // Resize event listener on window 7690 state.updateBound = updateBound; 7691 getWindow(reference).addEventListener('resize', state.updateBound, { passive: true }); 7692 7693 // Scroll event listener on scroll parents 7694 var scrollElement = getScrollParent(reference); 7695 attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents); 7696 state.scrollElement = scrollElement; 7697 state.eventsEnabled = true; 7698 7699 return state; 7700} 7701 7702/** 7703 * It will add resize/scroll events and start recalculating 7704 * position of the popper element when they are triggered. 7705 * @method 7706 * @memberof Popper 7707 */ 7708function enableEventListeners() { 7709 if (!this.state.eventsEnabled) { 7710 this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate); 7711 } 7712} 7713 7714/** 7715 * Remove event listeners used to update the popper position 7716 * @method 7717 * @memberof Popper.Utils 7718 * @private 7719 */ 7720function removeEventListeners(reference, state) { 7721 // Remove resize event listener on window 7722 getWindow(reference).removeEventListener('resize', state.updateBound); 7723 7724 // Remove scroll event listener on scroll parents
vendor: 12,824 bytes, lines 7725-8086
7725 state.scrollParents.forEach(function (target) { 7726 target.removeEventListener('scroll', state.updateBound); 7727 }); 7728 7729 // Reset state 7730 state.updateBound = null; 7731 state.scrollParents = []; 7732 state.scrollElement = null; 7733 state.eventsEnabled = false; 7734 return state; 7735} 7736 7737/** 7738 * It will remove resize/scroll events and won't recalculate popper position 7739 * when they are triggered. It also won't trigger `onUpdate` callback anymore, 7740 * unless you call `update` method manually. 7741 * @method 7742 * @memberof Popper 7743 */ 7744function disableEventListeners() { 7745 if (this.state.eventsEnabled) { 7746 cancelAnimationFrame(this.scheduleUpdate); 7747 this.state = removeEventListeners(this.reference, this.state); 7748 } 7749} 7750 7751/** 7752 * Tells if a given input is a number 7753 * @method 7754 * @memberof Popper.Utils 7755 * @param {*} input to check 7756 * @return {Boolean} 7757 */ 7758function isNumeric(n) { 7759 return n !== '' && !isNaN(parseFloat(n)) && isFinite(n); 7760} 7761 7762/** 7763 * Set the style to the given popper 7764 * @method 7765 * @memberof Popper.Utils 7766 * @argument {Element} element - Element to apply the style to 7767 * @argument {Object} styles 7768 * Object with a list of properties and values which will be applied to the element 7769 */ 7770function setStyles(element, styles) { 7771 Object.keys(styles).forEach(function (prop) { 7772 var unit = ''; 7773 // add unit if the value is numeric and is one of the following 7774 if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) { 7775 unit = 'px'; 7776 } 7777 element.style[prop] = styles[prop] + unit; 7778 }); 7779} 7780 7781/** 7782 * Set the attributes to the given popper 7783 * @method 7784 * @memberof Popper.Utils 7785 * @argument {Element} element - Element to apply the attributes to 7786 * @argument {Object} styles 7787 * Object with a list of properties and values which will be applied to the element 7788 */ 7789function setAttributes(element, attributes) { 7790 Object.keys(attributes).forEach(function (prop) { 7791 var value = attributes[prop]; 7792 if (value !== false) { 7793 element.setAttribute(prop, attributes[prop]); 7794 } else { 7795 element.removeAttribute(prop); 7796 } 7797 }); 7798} 7799 7800/** 7801 * @function 7802 * @memberof Modifiers 7803 * @argument {Object} data - The data object generated by `update` method 7804 * @argument {Object} data.styles - List of style properties - values to apply to popper element 7805 * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element 7806 * @argument {Object} options - Modifiers configuration and options 7807 * @returns {Object} The same data object 7808 */ 7809function applyStyle(data) { 7810 // any property present in `data.styles` will be applied to the popper, 7811 // in this way we can make the 3rd party modifiers add custom styles to it 7812 // Be aware, modifiers could override the properties defined in the previous 7813 // lines of this modifier! 7814 setStyles(data.instance.popper, data.styles); 7815 7816 // any property present in `data.attributes` will be applied to the popper, 7817 // they will be set as HTML attributes of the element 7818 setAttributes(data.instance.popper, data.attributes); 7819 7820 // if arrowElement is defined and arrowStyles has some properties 7821 if (data.arrowElement && Object.keys(data.arrowStyles).length) { 7822 setStyles(data.arrowElement, data.arrowStyles); 7823 } 7824 7825 return data; 7826} 7827 7828/** 7829 * Set the x-placement attribute before everything else because it could be used 7830 * to add margins to the popper margins needs to be calculated to get the 7831 * correct popper offsets. 7832 * @method 7833 * @memberof Popper.modifiers 7834 * @param {HTMLElement} reference - The reference element used to position the popper 7835 * @param {HTMLElement} popper - The HTML element used as popper 7836 * @param {Object} options - Popper.js options 7837 */ 7838function applyStyleOnLoad(reference, popper, options, modifierOptions, state) { 7839 // compute reference element offsets 7840 var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed); 7841 7842 // compute auto placement, store placement inside the data object, 7843 // modifiers will be able to edit `placement` if needed 7844 // and refer to originalPlacement to know the original value 7845 var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding); 7846 7847 popper.setAttribute('x-placement', placement); 7848 7849 // Apply `position` to popper before anything else because 7850 // without the position applied we can't guarantee correct computations 7851 setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' }); 7852 7853 return options; 7854} 7855 7856/** 7857 * @function 7858 * @memberof Popper.Utils 7859 * @argument {Object} data - The data object generated by `update` method 7860 * @argument {Boolean} shouldRound - If the offsets should be rounded at all 7861 * @returns {Object} The popper's position offsets rounded 7862 * 7863 * The tale of pixel-perfect positioning. It's still not 100% perfect, but as 7864 * good as it can be within reason. 7865 * Discussion here: https://github.com/FezVrasta/popper.js/pull/715 7866 * 7867 * Low DPI screens cause a popper to be blurry if not using full pixels (Safari 7868 * as well on High DPI screens). 7869 * 7870 * Firefox prefers no rounding for positioning and does not have blurriness on 7871 * high DPI screens. 7872 * 7873 * Only horizontal placement and left/right values need to be considered. 7874 */ 7875function getRoundedOffsets(data, shouldRound) { 7876 var _data$offsets = data.offsets, 7877 popper = _data$offsets.popper, 7878 reference = _data$offsets.reference; 7879 var round = Math.round, 7880 floor = Math.floor; 7881 7882 var noRound = function noRound(v) { 7883 return v; 7884 }; 7885 7886 var referenceWidth = round(reference.width); 7887 var popperWidth = round(popper.width); 7888 7889 var isVertical = ['left', 'right'].indexOf(data.placement) !== -1; 7890 var isVariation = data.placement.indexOf('-') !== -1; 7891 var sameWidthParity = referenceWidth % 2 === popperWidth % 2; 7892 var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1; 7893 7894 var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor; 7895 var verticalToInteger = !shouldRound ? noRound : round; 7896 7897 return { 7898 left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left), 7899 top: verticalToInteger(popper.top), 7900 bottom: verticalToInteger(popper.bottom), 7901 right: horizontalToInteger(popper.right) 7902 }; 7903} 7904 7905var isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent); 7906 7907/** 7908 * @function 7909 * @memberof Modifiers 7910 * @argument {Object} data - The data object generated by `update` method 7911 * @argument {Object} options - Modifiers configuration and options 7912 * @returns {Object} The data object, properly modified 7913 */ 7914function computeStyle(data, options) { 7915 var x = options.x, 7916 y = options.y; 7917 var popper = data.offsets.popper; 7918 7919 // Remove this legacy support in Popper.js v2 7920 7921 var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) { 7922 return modifier.name === 'applyStyle'; 7923 }).gpuAcceleration; 7924 if (legacyGpuAccelerationOption !== undefined) { 7925 console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'); 7926 } 7927 var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration; 7928 7929 var offsetParent = getOffsetParent(data.instance.popper); 7930 var offsetParentRect = getBoundingClientRect(offsetParent); 7931 7932 // Styles 7933 var styles = { 7934 position: popper.position 7935 }; 7936 7937 var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox); 7938 7939 var sideA = x === 'bottom' ? 'top' : 'bottom'; 7940 var sideB = y === 'right' ? 'left' : 'right'; 7941 7942 // if gpuAcceleration is set to `true` and transform is supported, 7943 // we use `translate3d` to apply the position to the popper we 7944 // automatically use the supported prefixed version if needed 7945 var prefixedProperty = getSupportedPropertyName('transform'); 7946 7947 // now, let's make a step back and look at this code closely (wtf?) 7948 // If the content of the popper grows once it's been positioned, it 7949 // may happen that the popper gets misplaced because of the new content 7950 // overflowing its reference element 7951 // To avoid this problem, we provide two options (x and y), which allow 7952 // the consumer to define the offset origin. 7953 // If we position a popper on top of a reference element, we can set 7954 // `x` to `top` to make the popper grow towards its top instead of 7955 // its bottom. 7956 var left = void 0, 7957 top = void 0; 7958 if (sideA === 'bottom') { 7959 // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar) 7960 // and not the bottom of the html element 7961 if (offsetParent.nodeName === 'HTML') { 7962 top = -offsetParent.clientHeight + offsets.bottom; 7963 } else { 7964 top = -offsetParentRect.height + offsets.bottom; 7965 } 7966 } else { 7967 top = offsets.top; 7968 } 7969 if (sideB === 'right') { 7970 if (offsetParent.nodeName === 'HTML') { 7971 left = -offsetParent.clientWidth + offsets.right; 7972 } else { 7973 left = -offsetParentRect.width + offsets.right; 7974 } 7975 } else { 7976 left = offsets.left; 7977 } 7978 if (gpuAcceleration && prefixedProperty) { 7979 styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)'; 7980 styles[sideA] = 0; 7981 styles[sideB] = 0; 7982 styles.willChange = 'transform'; 7983 } else { 7984 // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties 7985 var invertTop = sideA === 'bottom' ? -1 : 1; 7986 var invertLeft = sideB === 'right' ? -1 : 1; 7987 styles[sideA] = top * invertTop; 7988 styles[sideB] = left * invertLeft; 7989 styles.willChange = sideA + ', ' + sideB; 7990 } 7991 7992 // Attributes 7993 var attributes = { 7994 'x-placement': data.placement 7995 }; 7996 7997 // Update `data` attributes, styles and arrowStyles 7998 data.attributes = _extends({}, attributes, data.attributes); 7999 data.styles = _extends({}, styles, data.styles); 8000 data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles); 8001 8002 return data; 8003} 8004 8005/** 8006 * Helper used to know if the given modifier depends from another one.<br /> 8007 * It checks if the needed modifier is listed and enabled. 8008 * @method 8009 * @memberof Popper.Utils 8010 * @param {Array} modifiers - list of modifiers 8011 * @param {String} requestingName - name of requesting modifier 8012 * @param {String} requestedName - name of requested modifier 8013 * @returns {Boolean} 8014 */ 8015function isModifierRequired(modifiers, requestingName, requestedName) { 8016 var requesting = find(modifiers, function (_ref) { 8017 var name = _ref.name; 8018 return name === requestingName; 8019 }); 8020 8021 var isRequired = !!requesting && modifiers.some(function (modifier) { 8022 return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order; 8023 }); 8024 8025 if (!isRequired) { 8026 var _requesting = '`' + requestingName + '`'; 8027 var requested = '`' + requestedName + '`'; 8028 console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!'); 8029 } 8030 return isRequired; 8031} 8032 8033/** 8034 * @function 8035 * @memberof Modifiers 8036 * @argument {Object} data - The data object generated by update method 8037 * @argument {Object} options - Modifiers configuration and options 8038 * @returns {Object} The data object, properly modified 8039 */ 8040function arrow(data, options) { 8041 var _data$offsets$arrow; 8042 8043 // arrow depends on keepTogether in order to work 8044 if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) { 8045 return data; 8046 } 8047 8048 var arrowElement = options.element; 8049 8050 // if arrowElement is a string, suppose it's a CSS selector 8051 if (typeof arrowElement === 'string') { 8052 arrowElement = data.instance.popper.querySelector(arrowElement); 8053 8054 // if arrowElement is not found, don't run the modifier 8055 if (!arrowElement) { 8056 return data; 8057 } 8058 } else { 8059 // if the arrowElement isn't a query selector we must check that the 8060 // provided DOM node is child of its popper node 8061 if (!data.instance.popper.contains(arrowElement)) { 8062 console.warn('WARNING: `arrow.element` must be child of its popper element!'); 8063 return data; 8064 } 8065 } 8066 8067 var placement = data.placement.split('-')[0]; 8068 var _data$offsets = data.offsets, 8069 popper = _data$offsets.popper, 8070 reference = _data$offsets.reference; 8071 8072 var isVertical = ['left', 'right'].indexOf(placement) !== -1; 8073 8074 var len = isVertical ? 'height' : 'width'; 8075 var sideCapitalized = isVertical ? 'Top' : 'Left'; 8076 var side = sideCapitalized.toLowerCase(); 8077 var altSide = isVertical ? 'left' : 'top'; 8078 var opSide = isVertical ? 'bottom' : 'right'; 8079 var arrowElementSize = getOuterSizes(arrowElement)[len]; 8080 8081 // 8082 // extends keepTogether behavior making sure the popper and its 8083 // reference have enough pixels in conjunction 8084 // 8085 8086 // top/left side
vendor: 5,392 bytes, lines 8087-8242
8087 if (reference[opSide] - arrowElementSize < popper[side]) { 8088 data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize); 8089 } 8090 // bottom/right side 8091 if (reference[side] + arrowElementSize > popper[opSide]) { 8092 data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide]; 8093 } 8094 data.offsets.popper = getClientRect(data.offsets.popper); 8095 8096 // compute center of the popper 8097 var center = reference[side] + reference[len] / 2 - arrowElementSize / 2; 8098 8099 // Compute the sideValue using the updated popper offsets 8100 // take popper margin in account because we don't have this info available 8101 var css = getStyleComputedProperty(data.instance.popper); 8102 var popperMarginSide = parseFloat(css['margin' + sideCapitalized]); 8103 var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']); 8104 var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide; 8105 8106 // prevent arrowElement from being placed not contiguously to its popper 8107 sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0); 8108 8109 data.arrowElement = arrowElement; 8110 data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow); 8111 8112 return data; 8113} 8114 8115/** 8116 * Get the opposite placement variation of the given one 8117 * @method 8118 * @memberof Popper.Utils 8119 * @argument {String} placement variation 8120 * @returns {String} flipped placement variation 8121 */ 8122function getOppositeVariation(variation) { 8123 if (variation === 'end') { 8124 return 'start'; 8125 } else if (variation === 'start') { 8126 return 'end'; 8127 } 8128 return variation; 8129} 8130 8131/** 8132 * List of accepted placements to use as values of the `placement` option.<br /> 8133 * Valid placements are: 8134 * - `auto` 8135 * - `top` 8136 * - `right` 8137 * - `bottom` 8138 * - `left` 8139 * 8140 * Each placement can have a variation from this list: 8141 * - `-start` 8142 * - `-end` 8143 * 8144 * Variations are interpreted easily if you think of them as the left to right 8145 * written languages. Horizontally (`top` and `bottom`), `start` is left and `end` 8146 * is right.<br /> 8147 * Vertically (`left` and `right`), `start` is top and `end` is bottom. 8148 * 8149 * Some valid examples are: 8150 * - `top-end` (on top of reference, right aligned) 8151 * - `right-start` (on right of reference, top aligned) 8152 * - `bottom` (on bottom, centered) 8153 * - `auto-end` (on the side with more space available, alignment depends by placement) 8154 * 8155 * @static 8156 * @type {Array} 8157 * @enum {String} 8158 * @readonly 8159 * @method placements 8160 * @memberof Popper 8161 */ 8162var placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']; 8163 8164// Get rid of `auto` `auto-start` and `auto-end` 8165var validPlacements = placements.slice(3); 8166 8167/** 8168 * Given an initial placement, returns all the subsequent placements 8169 * clockwise (or counter-clockwise). 8170 * 8171 * @method 8172 * @memberof Popper.Utils 8173 * @argument {String} placement - A valid placement (it accepts variations) 8174 * @argument {Boolean} counter - Set to true to walk the placements counterclockwise 8175 * @returns {Array} placements including their variations 8176 */ 8177function clockwise(placement) { 8178 var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; 8179 8180 var index = validPlacements.indexOf(placement); 8181 var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index)); 8182 return counter ? arr.reverse() : arr; 8183} 8184 8185var BEHAVIORS = { 8186 FLIP: 'flip', 8187 CLOCKWISE: 'clockwise', 8188 COUNTERCLOCKWISE: 'counterclockwise' 8189}; 8190 8191/** 8192 * @function 8193 * @memberof Modifiers 8194 * @argument {Object} data - The data object generated by update method 8195 * @argument {Object} options - Modifiers configuration and options 8196 * @returns {Object} The data object, properly modified 8197 */ 8198function flip(data, options) { 8199 // if `inner` modifier is enabled, we can't use the `flip` modifier 8200 if (isModifierEnabled(data.instance.modifiers, 'inner')) { 8201 return data; 8202 } 8203 8204 if (data.flipped && data.placement === data.originalPlacement) { 8205 // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides 8206 return data; 8207 } 8208 8209 var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed); 8210 8211 var placement = data.placement.split('-')[0]; 8212 var placementOpposite = getOppositePlacement(placement); 8213 var variation = data.placement.split('-')[1] || ''; 8214 8215 var flipOrder = []; 8216 8217 switch (options.behavior) { 8218 case BEHAVIORS.FLIP: 8219 flipOrder = [placement, placementOpposite]; 8220 break; 8221 case BEHAVIORS.CLOCKWISE: 8222 flipOrder = clockwise(placement); 8223 break; 8224 case BEHAVIORS.COUNTERCLOCKWISE: 8225 flipOrder = clockwise(placement, true); 8226 break; 8227 default: 8228 flipOrder = options.behavior; 8229 } 8230 8231 flipOrder.forEach(function (step, index) { 8232 if (placement !== step || flipOrder.length === index + 1) { 8233 return data; 8234 } 8235 8236 placement = data.placement.split('-')[0]; 8237 placementOpposite = getOppositePlacement(placement); 8238 8239 var popperOffsets = data.offsets.popper; 8240 var refOffsets = data.offsets.reference; 8241 8242 // using floor because the reference offsets may contain decimals we are not going to consider here
vendor: 36,132 bytes, lines 8243-9250
8243 var floor = Math.floor; 8244 var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom); 8245 8246 var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left); 8247 var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right); 8248 var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top); 8249 var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom); 8250 8251 var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom; 8252 8253 // flip the variation if required 8254 var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; 8255 8256 // flips variation if reference element overflows boundaries 8257 var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom); 8258 8259 // flips variation if popper content overflows boundaries 8260 var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop); 8261 8262 var flippedVariation = flippedVariationByRef || flippedVariationByContent; 8263 8264 if (overlapsRef || overflowsBoundaries || flippedVariation) { 8265 // this boolean to detect any flip loop 8266 data.flipped = true; 8267 8268 if (overlapsRef || overflowsBoundaries) { 8269 placement = flipOrder[index + 1]; 8270 } 8271 8272 if (flippedVariation) { 8273 variation = getOppositeVariation(variation); 8274 } 8275 8276 data.placement = placement + (variation ? '-' + variation : ''); 8277 8278 // this object contains `position`, we want to preserve it along with 8279 // any additional property we may add in the future 8280 data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement)); 8281 8282 data = runModifiers(data.instance.modifiers, data, 'flip'); 8283 } 8284 }); 8285 return data; 8286} 8287 8288/** 8289 * @function 8290 * @memberof Modifiers 8291 * @argument {Object} data - The data object generated by update method 8292 * @argument {Object} options - Modifiers configuration and options 8293 * @returns {Object} The data object, properly modified 8294 */ 8295function keepTogether(data) { 8296 var _data$offsets = data.offsets, 8297 popper = _data$offsets.popper, 8298 reference = _data$offsets.reference; 8299 8300 var placement = data.placement.split('-')[0]; 8301 var floor = Math.floor; 8302 var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; 8303 var side = isVertical ? 'right' : 'bottom'; 8304 var opSide = isVertical ? 'left' : 'top'; 8305 var measurement = isVertical ? 'width' : 'height'; 8306 8307 if (popper[side] < floor(reference[opSide])) { 8308 data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement]; 8309 } 8310 if (popper[opSide] > floor(reference[side])) { 8311 data.offsets.popper[opSide] = floor(reference[side]); 8312 } 8313 8314 return data; 8315} 8316 8317/** 8318 * Converts a string containing value + unit into a px value number 8319 * @function 8320 * @memberof {modifiers~offset} 8321 * @private 8322 * @argument {String} str - Value + unit string 8323 * @argument {String} measurement - `height` or `width` 8324 * @argument {Object} popperOffsets 8325 * @argument {Object} referenceOffsets 8326 * @returns {Number|String} 8327 * Value in pixels, or original string if no values were extracted 8328 */ 8329function toValue(str, measurement, popperOffsets, referenceOffsets) { 8330 // separate value from unit 8331 var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/); 8332 var value = +split[1]; 8333 var unit = split[2]; 8334 8335 // If it's not a number it's an operator, I guess 8336 if (!value) { 8337 return str; 8338 } 8339 8340 if (unit.indexOf('%') === 0) { 8341 var element = void 0; 8342 switch (unit) { 8343 case '%p': 8344 element = popperOffsets; 8345 break; 8346 case '%': 8347 case '%r': 8348 default: 8349 element = referenceOffsets; 8350 } 8351 8352 var rect = getClientRect(element); 8353 return rect[measurement] / 100 * value; 8354 } else if (unit === 'vh' || unit === 'vw') { 8355 // if is a vh or vw, we calculate the size based on the viewport 8356 var size = void 0; 8357 if (unit === 'vh') { 8358 size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); 8359 } else { 8360 size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); 8361 } 8362 return size / 100 * value; 8363 } else { 8364 // if is an explicit pixel unit, we get rid of the unit and keep the value 8365 // if is an implicit unit, it's px, and we return just the value 8366 return value; 8367 } 8368} 8369 8370/** 8371 * Parse an `offset` string to extrapolate `x` and `y` numeric offsets. 8372 * @function 8373 * @memberof {modifiers~offset} 8374 * @private 8375 * @argument {String} offset 8376 * @argument {Object} popperOffsets 8377 * @argument {Object} referenceOffsets 8378 * @argument {String} basePlacement 8379 * @returns {Array} a two cells array with x and y offsets in numbers 8380 */ 8381function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) { 8382 var offsets = [0, 0]; 8383 8384 // Use height if placement is left or right and index is 0 otherwise use width 8385 // in this way the first offset will use an axis and the second one 8386 // will use the other one 8387 var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1; 8388 8389 // Split the offset string to obtain a list of values and operands 8390 // The regex addresses values with the plus or minus sign in front (+10, -20, etc) 8391 var fragments = offset.split(/(\+|\-)/).map(function (frag) { 8392 return frag.trim(); 8393 }); 8394 8395 // Detect if the offset string contains a pair of values or a single one 8396 // they could be separated by comma or space 8397 var divider = fragments.indexOf(find(fragments, function (frag) { 8398 return frag.search(/,|\s/) !== -1; 8399 })); 8400 8401 if (fragments[divider] && fragments[divider].indexOf(',') === -1) { 8402 console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.'); 8403 } 8404 8405 // If divider is found, we divide the list of values and operands to divide 8406 // them by ofset X and Y. 8407 var splitRegex = /\s*,\s*|\s+/; 8408 var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments]; 8409 8410 // Convert the values with units to absolute pixels to allow our computations 8411 ops = ops.map(function (op, index) { 8412 // Most of the units rely on the orientation of the popper 8413 var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width'; 8414 var mergeWithPrevious = false; 8415 return op 8416 // This aggregates any `+` or `-` sign that aren't considered operators 8417 // e.g.: 10 + +5 => [10, +, +5] 8418 .reduce(function (a, b) { 8419 if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) { 8420 a[a.length - 1] = b; 8421 mergeWithPrevious = true; 8422 return a; 8423 } else if (mergeWithPrevious) { 8424 a[a.length - 1] += b; 8425 mergeWithPrevious = false; 8426 return a; 8427 } else { 8428 return a.concat(b); 8429 } 8430 }, []) 8431 // Here we convert the string values into number values (in px) 8432 .map(function (str) { 8433 return toValue(str, measurement, popperOffsets, referenceOffsets); 8434 }); 8435 }); 8436 8437 // Loop trough the offsets arrays and execute the operations 8438 ops.forEach(function (op, index) { 8439 op.forEach(function (frag, index2) { 8440 if (isNumeric(frag)) { 8441 offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1); 8442 } 8443 }); 8444 }); 8445 return offsets; 8446} 8447 8448/** 8449 * @function 8450 * @memberof Modifiers 8451 * @argument {Object} data - The data object generated by update method 8452 * @argument {Object} options - Modifiers configuration and options 8453 * @argument {Number|String} options.offset=0 8454 * The offset value as described in the modifier description 8455 * @returns {Object} The data object, properly modified 8456 */ 8457function offset(data, _ref) { 8458 var offset = _ref.offset; 8459 var placement = data.placement, 8460 _data$offsets = data.offsets, 8461 popper = _data$offsets.popper, 8462 reference = _data$offsets.reference; 8463 8464 var basePlacement = placement.split('-')[0]; 8465 8466 var offsets = void 0; 8467 if (isNumeric(+offset)) { 8468 offsets = [+offset, 0]; 8469 } else { 8470 offsets = parseOffset(offset, popper, reference, basePlacement); 8471 } 8472 8473 if (basePlacement === 'left') { 8474 popper.top += offsets[0]; 8475 popper.left -= offsets[1]; 8476 } else if (basePlacement === 'right') { 8477 popper.top += offsets[0]; 8478 popper.left += offsets[1]; 8479 } else if (basePlacement === 'top') { 8480 popper.left += offsets[0]; 8481 popper.top -= offsets[1]; 8482 } else if (basePlacement === 'bottom') { 8483 popper.left += offsets[0]; 8484 popper.top += offsets[1]; 8485 } 8486 8487 data.popper = popper; 8488 return data; 8489} 8490 8491/** 8492 * @function 8493 * @memberof Modifiers 8494 * @argument {Object} data - The data object generated by `update` method 8495 * @argument {Object} options - Modifiers configuration and options 8496 * @returns {Object} The data object, properly modified 8497 */ 8498function preventOverflow(data, options) { 8499 var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper); 8500 8501 // If offsetParent is the reference element, we really want to 8502 // go one step up and use the next offsetParent as reference to 8503 // avoid to make this modifier completely useless and look like broken 8504 if (data.instance.reference === boundariesElement) { 8505 boundariesElement = getOffsetParent(boundariesElement); 8506 } 8507 8508 // NOTE: DOM access here 8509 // resets the popper's position so that the document size can be calculated excluding 8510 // the size of the popper element itself 8511 var transformProp = getSupportedPropertyName('transform'); 8512 var popperStyles = data.instance.popper.style; // assignment to help minification 8513 var top = popperStyles.top, 8514 left = popperStyles.left, 8515 transform = popperStyles[transformProp]; 8516 8517 popperStyles.top = ''; 8518 popperStyles.left = ''; 8519 popperStyles[transformProp] = ''; 8520 8521 var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed); 8522 8523 // NOTE: DOM access here 8524 // restores the original style properties after the offsets have been computed 8525 popperStyles.top = top; 8526 popperStyles.left = left; 8527 popperStyles[transformProp] = transform; 8528 8529 options.boundaries = boundaries; 8530 8531 var order = options.priority; 8532 var popper = data.offsets.popper; 8533 8534 var check = { 8535 primary: function primary(placement) { 8536 var value = popper[placement]; 8537 if (popper[placement] < boundaries[placement] && !options.escapeWithReference) { 8538 value = Math.max(popper[placement], boundaries[placement]); 8539 } 8540 return defineProperty({}, placement, value); 8541 }, 8542 secondary: function secondary(placement) { 8543 var mainSide = placement === 'right' ? 'left' : 'top'; 8544 var value = popper[mainSide]; 8545 if (popper[placement] > boundaries[placement] && !options.escapeWithReference) { 8546 value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height)); 8547 } 8548 return defineProperty({}, mainSide, value); 8549 } 8550 }; 8551 8552 order.forEach(function (placement) { 8553 var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary'; 8554 popper = _extends({}, popper, check[side](placement)); 8555 }); 8556 8557 data.offsets.popper = popper; 8558 8559 return data; 8560} 8561 8562/** 8563 * @function 8564 * @memberof Modifiers 8565 * @argument {Object} data - The data object generated by `update` method 8566 * @argument {Object} options - Modifiers configuration and options 8567 * @returns {Object} The data object, properly modified 8568 */ 8569function shift(data) { 8570 var placement = data.placement; 8571 var basePlacement = placement.split('-')[0]; 8572 var shiftvariation = placement.split('-')[1]; 8573 8574 // if shift shiftvariation is specified, run the modifier 8575 if (shiftvariation) { 8576 var _data$offsets = data.offsets, 8577 reference = _data$offsets.reference, 8578 popper = _data$offsets.popper; 8579 8580 var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1; 8581 var side = isVertical ? 'left' : 'top'; 8582 var measurement = isVertical ? 'width' : 'height'; 8583 8584 var shiftOffsets = { 8585 start: defineProperty({}, side, reference[side]), 8586 end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement]) 8587 }; 8588 8589 data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]); 8590 } 8591 8592 return data; 8593} 8594 8595/** 8596 * @function 8597 * @memberof Modifiers 8598 * @argument {Object} data - The data object generated by update method 8599 * @argument {Object} options - Modifiers configuration and options 8600 * @returns {Object} The data object, properly modified 8601 */ 8602function hide(data) { 8603 if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) { 8604 return data; 8605 } 8606 8607 var refRect = data.offsets.reference; 8608 var bound = find(data.instance.modifiers, function (modifier) { 8609 return modifier.name === 'preventOverflow'; 8610 }).boundaries; 8611 8612 if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) { 8613 // Avoid unnecessary DOM access if visibility hasn't changed 8614 if (data.hide === true) { 8615 return data; 8616 } 8617 8618 data.hide = true; 8619 data.attributes['x-out-of-boundaries'] = ''; 8620 } else { 8621 // Avoid unnecessary DOM access if visibility hasn't changed 8622 if (data.hide === false) { 8623 return data; 8624 } 8625 8626 data.hide = false; 8627 data.attributes['x-out-of-boundaries'] = false; 8628 } 8629 8630 return data; 8631} 8632 8633/** 8634 * @function 8635 * @memberof Modifiers 8636 * @argument {Object} data - The data object generated by `update` method 8637 * @argument {Object} options - Modifiers configuration and options 8638 * @returns {Object} The data object, properly modified 8639 */ 8640function inner(data) { 8641 var placement = data.placement; 8642 var basePlacement = placement.split('-')[0]; 8643 var _data$offsets = data.offsets, 8644 popper = _data$offsets.popper, 8645 reference = _data$offsets.reference; 8646 8647 var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1; 8648 8649 var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1; 8650 8651 popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0); 8652 8653 data.placement = getOppositePlacement(placement); 8654 data.offsets.popper = getClientRect(popper); 8655 8656 return data; 8657} 8658 8659/** 8660 * Modifier function, each modifier can have a function of this type assigned 8661 * to its `fn` property.<br /> 8662 * These functions will be called on each update, this means that you must 8663 * make sure they are performant enough to avoid performance bottlenecks. 8664 * 8665 * @function ModifierFn 8666 * @argument {dataObject} data - The data object generated by `update` method 8667 * @argument {Object} options - Modifiers configuration and options 8668 * @returns {dataObject} The data object, properly modified 8669 */ 8670 8671/** 8672 * Modifiers are plugins used to alter the behavior of your poppers.<br /> 8673 * Popper.js uses a set of 9 modifiers to provide all the basic functionalities 8674 * needed by the library. 8675 * 8676 * Usually you don't want to override the `order`, `fn` and `onLoad` props. 8677 * All the other properties are configurations that could be tweaked. 8678 * @namespace modifiers 8679 */ 8680var modifiers = { 8681 /** 8682 * Modifier used to shift the popper on the start or end of its reference 8683 * element.<br /> 8684 * It will read the variation of the `placement` property.<br /> 8685 * It can be one either `-end` or `-start`. 8686 * @memberof modifiers 8687 * @inner 8688 */ 8689 shift: { 8690 /** @prop {number} order=100 - Index used to define the order of execution */ 8691 order: 100, 8692 /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ 8693 enabled: true, 8694 /** @prop {ModifierFn} */ 8695 fn: shift 8696 }, 8697 8698 /** 8699 * The `offset` modifier can shift your popper on both its axis. 8700 * 8701 * It accepts the following units: 8702 * - `px` or unit-less, interpreted as pixels 8703 * - `%` or `%r`, percentage relative to the length of the reference element 8704 * - `%p`, percentage relative to the length of the popper element 8705 * - `vw`, CSS viewport width unit 8706 * - `vh`, CSS viewport height unit 8707 * 8708 * For length is intended the main axis relative to the placement of the popper.<br /> 8709 * This means that if the placement is `top` or `bottom`, the length will be the 8710 * `width`. In case of `left` or `right`, it will be the `height`. 8711 * 8712 * You can provide a single value (as `Number` or `String`), or a pair of values 8713 * as `String` divided by a comma or one (or more) white spaces.<br /> 8714 * The latter is a deprecated method because it leads to confusion and will be 8715 * removed in v2.<br /> 8716 * Additionally, it accepts additions and subtractions between different units. 8717 * Note that multiplications and divisions aren't supported. 8718 * 8719 * Valid examples are: 8720 * ``` 8721 * 10 8722 * '10%' 8723 * '10, 10' 8724 * '10%, 10' 8725 * '10 + 10%' 8726 * '10 - 5vh + 3%' 8727 * '-10px + 5vh, 5px - 6%' 8728 * ``` 8729 * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap 8730 * > with their reference element, unfortunately, you will have to disable the `flip` modifier. 8731 * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373). 8732 * 8733 * @memberof modifiers 8734 * @inner 8735 */ 8736 offset: { 8737 /** @prop {number} order=200 - Index used to define the order of execution */ 8738 order: 200, 8739 /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ 8740 enabled: true, 8741 /** @prop {ModifierFn} */ 8742 fn: offset, 8743 /** @prop {Number|String} offset=0 8744 * The offset value as described in the modifier description 8745 */ 8746 offset: 0 8747 }, 8748 8749 /** 8750 * Modifier used to prevent the popper from being positioned outside the boundary. 8751 * 8752 * A scenario exists where the reference itself is not within the boundaries.<br /> 8753 * We can say it has "escaped the boundaries" — or just "escaped".<br /> 8754 * In this case we need to decide whether the popper should either: 8755 * 8756 * - detach from the reference and remain "trapped" in the boundaries, or 8757 * - if it should ignore the boundary and "escape with its reference" 8758 * 8759 * When `escapeWithReference` is set to`true` and reference is completely 8760 * outside its boundaries, the popper will overflow (or completely leave) 8761 * the boundaries in order to remain attached to the edge of the reference. 8762 * 8763 * @memberof modifiers 8764 * @inner 8765 */ 8766 preventOverflow: { 8767 /** @prop {number} order=300 - Index used to define the order of execution */ 8768 order: 300, 8769 /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ 8770 enabled: true, 8771 /** @prop {ModifierFn} */ 8772 fn: preventOverflow, 8773 /** 8774 * @prop {Array} [priority=['left','right','top','bottom']] 8775 * Popper will try to prevent overflow following these priorities by default, 8776 * then, it could overflow on the left and on top of the `boundariesElement` 8777 */ 8778 priority: ['left', 'right', 'top', 'bottom'], 8779 /** 8780 * @prop {number} padding=5 8781 * Amount of pixel used to define a minimum distance between the boundaries 8782 * and the popper. This makes sure the popper always has a little padding 8783 * between the edges of its container 8784 */ 8785 padding: 5, 8786 /** 8787 * @prop {String|HTMLElement} boundariesElement='scrollParent' 8788 * Boundaries used by the modifier. Can be `scrollParent`, `window`, 8789 * `viewport` or any DOM element. 8790 */ 8791 boundariesElement: 'scrollParent' 8792 }, 8793 8794 /** 8795 * Modifier used to make sure the reference and its popper stay near each other 8796 * without leaving any gap between the two. Especially useful when the arrow is 8797 * enabled and you want to ensure that it points to its reference element. 8798 * It cares only about the first axis. You can still have poppers with margin 8799 * between the popper and its reference element. 8800 * @memberof modifiers 8801 * @inner 8802 */ 8803 keepTogether: { 8804 /** @prop {number} order=400 - Index used to define the order of execution */ 8805 order: 400, 8806 /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ 8807 enabled: true, 8808 /** @prop {ModifierFn} */ 8809 fn: keepTogether 8810 }, 8811 8812 /** 8813 * This modifier is used to move the `arrowElement` of the popper to make 8814 * sure it is positioned between the reference element and its popper element. 8815 * It will read the outer size of the `arrowElement` node to detect how many 8816 * pixels of conjunction are needed. 8817 * 8818 * It has no effect if no `arrowElement` is provided. 8819 * @memberof modifiers 8820 * @inner 8821 */ 8822 arrow: { 8823 /** @prop {number} order=500 - Index used to define the order of execution */ 8824 order: 500, 8825 /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ 8826 enabled: true, 8827 /** @prop {ModifierFn} */ 8828 fn: arrow, 8829 /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */ 8830 element: '[x-arrow]' 8831 }, 8832 8833 /** 8834 * Modifier used to flip the popper's placement when it starts to overlap its 8835 * reference element. 8836 * 8837 * Requires the `preventOverflow` modifier before it in order to work. 8838 * 8839 * **NOTE:** this modifier will interrupt the current update cycle and will 8840 * restart it if it detects the need to flip the placement. 8841 * @memberof modifiers 8842 * @inner 8843 */ 8844 flip: { 8845 /** @prop {number} order=600 - Index used to define the order of execution */ 8846 order: 600, 8847 /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ 8848 enabled: true, 8849 /** @prop {ModifierFn} */ 8850 fn: flip, 8851 /** 8852 * @prop {String|Array} behavior='flip' 8853 * The behavior used to change the popper's placement. It can be one of 8854 * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid 8855 * placements (with optional variations) 8856 */ 8857 behavior: 'flip', 8858 /** 8859 * @prop {number} padding=5 8860 * The popper will flip if it hits the edges of the `boundariesElement` 8861 */ 8862 padding: 5, 8863 /** 8864 * @prop {String|HTMLElement} boundariesElement='viewport' 8865 * The element which will define the boundaries of the popper position. 8866 * The popper will never be placed outside of the defined boundaries 8867 * (except if `keepTogether` is enabled) 8868 */ 8869 boundariesElement: 'viewport', 8870 /** 8871 * @prop {Boolean} flipVariations=false 8872 * The popper will switch placement variation between `-start` and `-end` when 8873 * the reference element overlaps its boundaries. 8874 * 8875 * The original placement should have a set variation. 8876 */ 8877 flipVariations: false, 8878 /** 8879 * @prop {Boolean} flipVariationsByContent=false 8880 * The popper will switch placement variation between `-start` and `-end` when 8881 * the popper element overlaps its reference boundaries. 8882 * 8883 * The original placement should have a set variation. 8884 */ 8885 flipVariationsByContent: false 8886 }, 8887 8888 /** 8889 * Modifier used to make the popper flow toward the inner of the reference element. 8890 * By default, when this modifier is disabled, the popper will be placed outside 8891 * the reference element. 8892 * @memberof modifiers 8893 * @inner 8894 */ 8895 inner: { 8896 /** @prop {number} order=700 - Index used to define the order of execution */ 8897 order: 700, 8898 /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */ 8899 enabled: false, 8900 /** @prop {ModifierFn} */ 8901 fn: inner 8902 }, 8903 8904 /** 8905 * Modifier used to hide the popper when its reference element is outside of the 8906 * popper boundaries. It will set a `x-out-of-boundaries` attribute which can 8907 * be used to hide with a CSS selector the popper when its reference is 8908 * out of boundaries. 8909 * 8910 * Requires the `preventOverflow` modifier before it in order to work. 8911 * @memberof modifiers 8912 * @inner 8913 */ 8914 hide: { 8915 /** @prop {number} order=800 - Index used to define the order of execution */ 8916 order: 800, 8917 /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ 8918 enabled: true, 8919 /** @prop {ModifierFn} */ 8920 fn: hide 8921 }, 8922 8923 /** 8924 * Computes the style that will be applied to the popper element to gets 8925 * properly positioned. 8926 * 8927 * Note that this modifier will not touch the DOM, it just prepares the styles 8928 * so that `applyStyle` modifier can apply it. This separation is useful 8929 * in case you need to replace `applyStyle` with a custom implementation. 8930 * 8931 * This modifier has `850` as `order` value to maintain backward compatibility 8932 * with previous versions of Popper.js. Expect the modifiers ordering method 8933 * to change in future major versions of the library. 8934 * 8935 * @memberof modifiers 8936 * @inner 8937 */ 8938 computeStyle: { 8939 /** @prop {number} order=850 - Index used to define the order of execution */ 8940 order: 850, 8941 /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ 8942 enabled: true, 8943 /** @prop {ModifierFn} */ 8944 fn: computeStyle, 8945 /** 8946 * @prop {Boolean} gpuAcceleration=true 8947 * If true, it uses the CSS 3D transformation to position the popper. 8948 * Otherwise, it will use the `top` and `left` properties 8949 */ 8950 gpuAcceleration: true, 8951 /** 8952 * @prop {string} [x='bottom'] 8953 * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin. 8954 * Change this if your popper should grow in a direction different from `bottom` 8955 */ 8956 x: 'bottom', 8957 /** 8958 * @prop {string} [x='left'] 8959 * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin. 8960 * Change this if your popper should grow in a direction different from `right` 8961 */ 8962 y: 'right' 8963 }, 8964 8965 /** 8966 * Applies the computed styles to the popper element. 8967 * 8968 * All the DOM manipulations are limited to this modifier. This is useful in case 8969 * you want to integrate Popper.js inside a framework or view library and you 8970 * want to delegate all the DOM manipulations to it. 8971 * 8972 * Note that if you disable this modifier, you must make sure the popper element 8973 * has its position set to `absolute` before Popper.js can do its work! 8974 * 8975 * Just disable this modifier and define your own to achieve the desired effect. 8976 * 8977 * @memberof modifiers 8978 * @inner 8979 */ 8980 applyStyle: { 8981 /** @prop {number} order=900 - Index used to define the order of execution */ 8982 order: 900, 8983 /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ 8984 enabled: true, 8985 /** @prop {ModifierFn} */ 8986 fn: applyStyle, 8987 /** @prop {Function} */ 8988 onLoad: applyStyleOnLoad, 8989 /** 8990 * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier 8991 * @prop {Boolean} gpuAcceleration=true 8992 * If true, it uses the CSS 3D transformation to position the popper. 8993 * Otherwise, it will use the `top` and `left` properties 8994 */ 8995 gpuAcceleration: undefined 8996 } 8997}; 8998 8999/** 9000 * The `dataObject` is an object containing all the information used by Popper.js. 9001 * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks. 9002 * @name dataObject 9003 * @property {Object} data.instance The Popper.js instance 9004 * @property {String} data.placement Placement applied to popper 9005 * @property {String} data.originalPlacement Placement originally defined on init 9006 * @property {Boolean} data.flipped True if popper has been flipped by flip modifier 9007 * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper 9008 * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier 9009 * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`) 9010 * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`) 9011 * @property {Object} data.boundaries Offsets of the popper boundaries 9012 * @property {Object} data.offsets The measurements of popper, reference and arrow elements 9013 * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values 9014 * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values 9015 * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0 9016 */ 9017 9018/** 9019 * Default options provided to Popper.js constructor.<br /> 9020 * These can be overridden using the `options` argument of Popper.js.<br /> 9021 * To override an option, simply pass an object with the same 9022 * structure of the `options` object, as the 3rd argument. For example: 9023 * ``` 9024 * new Popper(ref, pop, { 9025 * modifiers: { 9026 * preventOverflow: { enabled: false } 9027 * } 9028 * }) 9029 * ``` 9030 * @type {Object} 9031 * @static 9032 * @memberof Popper 9033 */ 9034var Defaults = { 9035 /** 9036 * Popper's placement. 9037 * @prop {Popper.placements} placement='bottom' 9038 */ 9039 placement: 'bottom', 9040 9041 /** 9042 * Set this to true if you want popper to position it self in 'fixed' mode 9043 * @prop {Boolean} positionFixed=false 9044 */ 9045 positionFixed: false, 9046 9047 /** 9048 * Whether events (resize, scroll) are initially enabled. 9049 * @prop {Boolean} eventsEnabled=true 9050 */ 9051 eventsEnabled: true, 9052 9053 /** 9054 * Set to true if you want to automatically remove the popper when 9055 * you call the `destroy` method. 9056 * @prop {Boolean} removeOnDestroy=false 9057 */ 9058 removeOnDestroy: false, 9059 9060 /** 9061 * Callback called when the popper is created.<br /> 9062 * By default, it is set to no-op.<br /> 9063 * Access Popper.js instance with `data.instance`. 9064 * @prop {onCreate} 9065 */ 9066 onCreate: function onCreate() {}, 9067 9068 /** 9069 * Callback called when the popper is updated. This callback is not called 9070 * on the initialization/creation of the popper, but only on subsequent 9071 * updates.<br /> 9072 * By default, it is set to no-op.<br /> 9073 * Access Popper.js instance with `data.instance`. 9074 * @prop {onUpdate} 9075 */ 9076 onUpdate: function onUpdate() {}, 9077 9078 /** 9079 * List of modifiers used to modify the offsets before they are applied to the popper. 9080 * They provide most of the functionalities of Popper.js. 9081 * @prop {modifiers} 9082 */ 9083 modifiers: modifiers 9084}; 9085 9086/** 9087 * @callback onCreate 9088 * @param {dataObject} data 9089 */ 9090 9091/** 9092 * @callback onUpdate 9093 * @param {dataObject} data 9094 */ 9095 9096// Utils 9097// Methods 9098var Popper = function () { 9099 /** 9100 * Creates a new Popper.js instance. 9101 * @class Popper 9102 * @param {Element|referenceObject} reference - The reference element used to position the popper 9103 * @param {Element} popper - The HTML / XML element used as the popper 9104 * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults) 9105 * @return {Object} instance - The generated Popper.js instance 9106 */ 9107 function Popper(reference, popper) { 9108 var _this = this; 9109 9110 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; 9111 classCallCheck(this, Popper); 9112 9113 this.scheduleUpdate = function () { 9114 return requestAnimationFrame(_this.update); 9115 }; 9116 9117 // make update() debounced, so that it only runs at most once-per-tick 9118 this.update = debounce(this.update.bind(this)); 9119 9120 // with {} we create a new object with the options inside it 9121 this.options = _extends({}, Popper.Defaults, options); 9122 9123 // init state 9124 this.state = { 9125 isDestroyed: false, 9126 isCreated: false, 9127 scrollParents: [] 9128 }; 9129 9130 // get reference and popper elements (allow jQuery wrappers) 9131 this.reference = reference && reference.jquery ? reference[0] : reference; 9132 this.popper = popper && popper.jquery ? popper[0] : popper; 9133 9134 // Deep merge modifiers options 9135 this.options.modifiers = {}; 9136 Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) { 9137 _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {}); 9138 }); 9139 9140 // Refactoring modifiers' list (Object => Array) 9141 this.modifiers = Object.keys(this.options.modifiers).map(function (name) { 9142 return _extends({ 9143 name: name 9144 }, _this.options.modifiers[name]); 9145 }) 9146 // sort the modifiers by order 9147 .sort(function (a, b) { 9148 return a.order - b.order; 9149 }); 9150 9151 // modifiers have the ability to execute arbitrary code when Popper.js get inited 9152 // such code is executed in the same order of its modifier 9153 // they could add new properties to their options configuration 9154 // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`! 9155 this.modifiers.forEach(function (modifierOptions) { 9156 if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) { 9157 modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state); 9158 } 9159 }); 9160 9161 // fire the first update to position the popper in the right place 9162 this.update(); 9163 9164 var eventsEnabled = this.options.eventsEnabled; 9165 if (eventsEnabled) { 9166 // setup event listeners, they will take care of update the position in specific situations 9167 this.enableEventListeners(); 9168 } 9169 9170 this.state.eventsEnabled = eventsEnabled; 9171 } 9172 9173 // We can't use class properties because they don't get listed in the 9174 // class prototype and break stuff like Sinon stubs 9175 9176 9177 createClass(Popper, [{ 9178 key: 'update', 9179 value: function update$$1() { 9180 return update.call(this); 9181 } 9182 }, { 9183 key: 'destroy', 9184 value: function destroy$$1() { 9185 return destroy.call(this); 9186 } 9187 }, { 9188 key: 'enableEventListeners', 9189 value: function enableEventListeners$$1() { 9190 return enableEventListeners.call(this); 9191 } 9192 }, { 9193 key: 'disableEventListeners', 9194 value: function disableEventListeners$$1() { 9195 return disableEventListeners.call(this); 9196 } 9197 9198 /** 9199 * Schedules an update. It will run on the next UI update available. 9200 * @method scheduleUpdate 9201 * @memberof Popper 9202 */ 9203 9204 9205 /** 9206 * Collection of utilities useful when writing custom modifiers. 9207 * Starting from version 1.7, this method is available only if you 9208 * include `popper-utils.js` before `popper.js`. 9209 * 9210 * **DEPRECATION**: This way to access PopperUtils is deprecated 9211 * and will be removed in v2! Use the PopperUtils module directly instead. 9212 * Due to the high instability of the methods contained in Utils, we can't 9213 * guarantee them to follow semver. Use them at your own risk! 9214 * @static 9215 * @private 9216 * @type {Object} 9217 * @deprecated since version 1.8 9218 * @member Utils 9219 * @memberof Popper 9220 */ 9221 9222 }]); 9223 return Popper; 9224}(); 9225 9226/** 9227 * The `referenceObject` is an object that provides an interface compatible with Popper.js 9228 * and lets you use it as replacement of a real DOM node.<br /> 9229 * You can use this method to position a popper relatively to a set of coordinates 9230 * in case you don't have a DOM node to use as reference. 9231 * 9232 * ``` 9233 * new Popper(referenceObject, popperNode); 9234 * ``` 9235 * 9236 * NB: This feature isn't supported in Internet Explorer 10. 9237 * @name referenceObject 9238 * @property {Function} data.getBoundingClientRect 9239 * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method. 9240 * @property {number} data.clientWidth 9241 * An ES6 getter that will return the width of the virtual reference element. 9242 * @property {number} data.clientHeight 9243 * An ES6 getter that will return the height of the virtual reference element. 9244 */ 9245 9246 9247Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils; 9248Popper.placements = placements; 9249Popper.Defaults = Defaults; 9250
9251/* harmony default export */ __webpack_exports__["a"] = (Popper); 9252//# sourceMappingURL=popper.js.map 9253 9254/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(24))) 9255 9256/***/ }), 9257/* 32 */ 9258/***/ (function(module, exports, __webpack_require__) { 9259 9260"use strict"; 9261/* 9262object-assign 9263(c) Sindre Sorhus 9264@license MIT
vendor: 2,140 bytes, lines 9265-9358
9265*/ 9266 9267 9268/* eslint-disable no-unused-vars */ 9269var getOwnPropertySymbols = Object.getOwnPropertySymbols; 9270var hasOwnProperty = Object.prototype.hasOwnProperty; 9271var propIsEnumerable = Object.prototype.propertyIsEnumerable; 9272 9273function toObject(val) { 9274 if (val === null || val === undefined) { 9275 throw new TypeError('Object.assign cannot be called with null or undefined'); 9276 } 9277 9278 return Object(val); 9279} 9280 9281function shouldUseNative() { 9282 try { 9283 if (!Object.assign) { 9284 return false; 9285 } 9286 9287 // Detect buggy property enumeration order in older V8 versions. 9288 9289 // https://bugs.chromium.org/p/v8/issues/detail?id=4118 9290 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers 9291 test1[5] = 'de'; 9292 if (Object.getOwnPropertyNames(test1)[0] === '5') { 9293 return false; 9294 } 9295 9296 // https://bugs.chromium.org/p/v8/issues/detail?id=3056 9297 var test2 = {}; 9298 for (var i = 0; i < 10; i++) { 9299 test2['_' + String.fromCharCode(i)] = i; 9300 } 9301 var order2 = Object.getOwnPropertyNames(test2).map(function (n) { 9302 return test2[n]; 9303 }); 9304 if (order2.join('') !== '0123456789') { 9305 return false; 9306 } 9307 9308 // https://bugs.chromium.org/p/v8/issues/detail?id=3056 9309 var test3 = {}; 9310 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { 9311 test3[letter] = letter; 9312 }); 9313 if (Object.keys(Object.assign({}, test3)).join('') !== 9314 'abcdefghijklmnopqrst') { 9315 return false; 9316 } 9317 9318 return true; 9319 } catch (err) { 9320 // We don't expect any of the above to throw, but better to be safe. 9321 return false; 9322 } 9323} 9324 9325module.exports = shouldUseNative() ? Object.assign : function (target, source) { 9326 var from; 9327 var to = toObject(target); 9328 var symbols; 9329 9330 for (var s = 1; s < arguments.length; s++) { 9331 from = Object(arguments[s]); 9332 9333 for (var key in from) { 9334 if (hasOwnProperty.call(from, key)) { 9335 to[key] = from[key]; 9336 } 9337 } 9338 9339 if (getOwnPropertySymbols) { 9340 symbols = getOwnPropertySymbols(from); 9341 for (var i = 0; i < symbols.length; i++) { 9342 if (propIsEnumerable.call(from, symbols[i])) { 9343 to[symbols[i]] = from[symbols[i]]; 9344 } 9345 } 9346 } 9347 } 9348 9349 return to; 9350}; 9351 9352 9353/***/ }), 9354/* 33 */ 9355/***/ (function(module, exports, __webpack_require__) { 9356 9357"use strict"; 9358
9359var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { 9360 if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } 9361 return cooked; 9362}; 9363Object.defineProperty(exports, "__esModule", { value: true }); 9364exports.wrapperStyles = exports.maxHeight = exports.rows = exports.columns = exports.playerWidth = void 0; 9365var styled_components_1 = __webpack_require__(13); 9366exports.playerWidth = 450; 9367exports.columns = 8; 9368exports.rows = 11; 9369exports.maxHeight = (450 / exports.columns) * exports.rows; 9370exports.wrapperStyles = "\n max-width: " + exports.playerWidth + "px;\n width: 100%;\n margin: auto;\n max-height: -webkit-fill-available;\n touch-action: none;\n @media only screen and (min-width: " + exports.playerWidth + "px) {\n height: " + exports.maxHeight + "px;\n }\n"; 9371var Wrapper = styled_components_1.default('div')(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", "\n ", "\n ", "\n"], ["\n ", "\n ", 9372 "\n ", "\n"])), exports.wrapperStyles, function (_a) { 9373 var colorFilter = _a.colorFilter; 9374 return (colorFilter ? "filter: " + colorFilter + ";" : ''); 9375}, function (_a) { 9376 var extraStyles = _a.extraStyles; 9377 return extraStyles ? extraStyles : ''; 9378}); 9379exports.default = Wrapper; 9380var templateObject_1; 9381 9382 9383/***/ }), 9384/* 34 */ 9385/***/ (function(module, exports, __webpack_require__) { 9386 9387"use strict"; 9388
9389var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { 9390 if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } 9391 return cooked; 9392}; 9393Object.defineProperty(exports, "__esModule", { value: true }); 9394exports.BoringWrapper = void 0; 9395var React = __webpack_require__(0); 9396var styled_components_1 = __webpack_require__(13); 9397var react_router_dom_1 = __webpack_require__(21); 9398exports.BoringWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n padding: 16px;\n max-width: 600px;\n margin: auto;\n color: #ddd;\n background-color: #555;\n text-shadow: 0px 0px 8px black;\n h1 {\n border-bottom: 2px solid #ccc;\n }\n h2, h3 {\n border-bottom: 1px solid #ccc;\n }\n a { color: #ddd; }\n"], ["\n padding: 16px;\n max-width: 600px;\n margin: auto;\n color: #ddd;\n background-color: #555;\n text-shadow: 0px 0px 8px black;\n h1 {\n border-bottom: 2px solid #ccc;\n }\n h2, h3 {\n border-bottom: 1px solid #ccc;\n }\n a { color: #ddd; }\n"]))); 9399var Plans = function (props) { return (React.createElement(exports.BoringWrapper, null, 9400 React.createElement(react_router_dom_1.Link, { to: "/" }, "Home"), 9401 React.createElement("h1", null, "To be implemented..."), 9402 React.createElement("p", null, "Sorry, this section is being left until the other bits actually work okay."), 9403 React.createElement("h2", null, "What exactly is this section though?"), 9404 React.createElement("p", null, "The idea is that if you're able to make some sequences and chain them on each player, then you'd be able to play them simultaneously and switch between them"), 9405 React.createElement("p", null, 9406 "If this works okay technically then what I'd ", 9407 React.createElement("em", null, "really"), 9408 " like to do is add a server so multiple devices could sync together, this would allow one person to play with multiple phones at once just like when using multiple pocket operators or to play together either with friends via the same link or some kind of Chatroulette style setup."), 9409 React.createElement("h2", null, "Okay... so any idea when you might actually do this?"), 9410 React.createElement("p", null, "Firstly I'd like to get the UI to be a bit more clear, it'd also be nice to get some help with the sounds and stuff cos I'm a total novice when it actually comes to that stuff (I just really like messing with TE gadgets)"), 9411 React.createElement("p", null, "I'm pretty sure it'd be quite easy to sync by just nesting the inactive players within the main one and playing them all"), 9412 React.createElement("h2", null, "Can I help?"), 9413 React.createElement("p", null, "Absolutely yes!"), 9414 React.createElement("ul", null, 9415 React.createElement("li", null, "It'd be amazing if someone could get better options for the 16 instruments on each player and give me an idea of how to do a more advanced drum machine style variant (what kind of optiosn could fit within the constraints of the UI)"), 9416 React.createElement("li", null, "Getting volumes all balanced out so each instrument is at a similar level of loudness would be cool too"), 9417 React.createElement("li", null, "Any ways of improving how browsers handle the audio, especially with iOS"), 9418 React.createElement("li", null, "Fix the issues with the Patterns button on Android"), 9419 React.createElement("li", null, "How to structure the tutorial(s), what's there right now is very rudimentary"), 9420 React.createElement("li", null, "If someone made a page with images to reference and stuff, along with improvements to the UI via icons"), 9421 React.createElement("li", null, "Ideas for what to do with the green/grey bit at the top, how could it best convey the relevant info at a given time")))); }; 9422exports.default = Plans; 9423var templateObject_1; 9424 9425 9426/***/ }), 9427/* 35 */ 9428/***/ (function(module, exports, __webpack_require__) { 9429 9430"use strict"; 9431 9432Object.defineProperty(exports, "__esModule", { value: true }); 9433exports.DesktopEventsProvider = void 0; 9434var React = __webpack_require__(0); 9435var context_1 = __webpack_require__(9); 9436var _constants_1 = __webpack_require__(1); 9437var desktopEventsContext = React.createContext({}); 9438; 9439// as this is primarily a mobile touch screen, multitouch actions are React.used a lot 9440// this is an attempt to push all the mouse handling nonsense into one spot and convert it to match 9441exports.DesktopEventsProvider = function (props) { 9442 var _a = React.useState({}), held = _a[0], setHeld = _a[1];
9443 var _b = React.useContext(props.context), dispatch = _b.dispatch, state = _b.state; 9444 React.useEffect(function () { 9445 if (held.secondary 9446 && [ 9447 _constants_1.CANCEL, 9448 _constants_1.VOLUME, 9449 _constants_1.PATTERN_COPY, 9450 _constants_1.SWING_SET, 9451 _constants_1.NOTE_COPY, 9452 _constants_1.CLEAR_TEMP, 9453 _constants_1.PLAY, 9454 ].includes(state.lastAction)) { 9455 setHeld({}); 9456 dispatch({ type: 'hold_action_complete' }); 9457 } 9458 }, [held, state.lastAction]); 9459 var holdAction = React.useCallback(function (dataset) { 9460 var basicActionButton = Object.keys(dataset).length === 1 && dataset.action; 9461 if (basicActionButton) { 9462 dispatch({ type: basicActionButton }); 9463 } 9464 if (held.action === dataset.action 9465 && held.value === dataset.value 9466 || basicActionButton) { 9467 dispatch({ 9468 type: _constants_1.CLEAR_TEMP, 9469 values: held, 9470 }); 9471 } 9472 else if (held.action) { 9473 console.log({ 9474 type: _constants_1.MULTI_TOUCH, 9475 value: [ 9476 held, 9477 dataset, 9478 ], 9479 }); 9480 dispatch({ 9481 type: _constants_1.MULTI_TOUCH, 9482 value: [ 9483 held, 9484 dataset, 9485 ], 9486 }); 9487 } 9488 }, [held]); 9489 var onHold = React.useCallback(function (dataset) { 9490 if (dataset.secondary 9491 && dataset.secondary !== held.secondary) { 9492 setHeld(dataset); 9493 if ([_constants_1.PATTERN_CHAIN].includes(dataset.secondary)) { 9494 dispatch({ 9495 type: _constants_1.MULTI_TOUCH, 9496 value: [dataset], 9497 }); 9498 } 9499 } 9500 else { 9501 setHeld({}); 9502 } 9503 }, [held]); 9504 return (React.createElement(desktopEventsContext.Provider, { value: { 9505 held: held, 9506 holdAction: holdAction, 9507 onHold: onHold, 9508 } }, props.children)); 9509}; 9510exports.DesktopEventsProvider.defaultProps = { 9511 context: context_1.default, 9512}; 9513exports.default = desktopEventsContext; 9514 9515 9516/***/ }), 9517/* 36 */ 9518/***/ (function(module, exports, __webpack_require__) { 9519 9520"use strict"; 9521 9522var __assign = (this && this.__assign) || function () { 9523 __assign = Object.assign || function(t) { 9524 for (var s, i = 1, n = arguments.length; i < n; i++) { 9525 s = arguments[i]; 9526 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) 9527 t[p] = s[p]; 9528 } 9529 return t; 9530 }; 9531 return __assign.apply(this, arguments); 9532}; 9533Object.defineProperty(exports, "__esModule", { value: true }); 9534var React = __webpack_require__(0); 9535var Note_1 = __webpack_require__(66); 9536var _utils_1 = __webpack_require__(15); 9537var abstractPad_1 = __webpack_require__(20); 9538var context_1 = __webpack_require__(9); 9539; 9540var NotesPad = function (props) { 9541 var startNote = React.useContext(context_1.default).startNote; 9542 var keys = React.useState(_utils_1.generateKeys(+startNote[1]).map(function (v, idx) { return (__assign(__assign({}, v), { idx: idx })); }))[0]; 9543 return (React.createElement(abstractPad_1.default, { bold: props.bold, italic: props.italic, activeChildIdx: props.activeChildIdx }, keys.map(function (note) { return (React.createElement(Note_1.default, __assign({ key: note.id }, note, { onHold: props.onHold, onRelease: props.onRelease, onClick: props.onClick, action: props.onClick ? props.action : undefined }))); }))); 9544}; 9545exports.default = NotesPad; 9546 9547 9548/***/ }), 9549/* 37 */ 9550/***/ (function(module, exports, __webpack_require__) { 9551 9552"use strict"; 9553 9554var __extends = (this && this.__extends) || (function () { 9555 var extendStatics = function (d, b) { 9556 extendStatics = Object.setPrototypeOf || 9557 ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || 9558 function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; 9559 return extendStatics(d, b); 9560 }; 9561 return function (d, b) { 9562 extendStatics(d, b); 9563 function __() { this.constructor = d; } 9564 d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); 9565 }; 9566})(); 9567var __assign = (this && this.__assign) || function () { 9568 __assign = Object.assign || function(t) { 9569 for (var s, i = 1, n = arguments.length; i < n; i++) { 9570 s = arguments[i]; 9571 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) 9572 t[p] = s[p]; 9573 } 9574 return t; 9575 }; 9576 return __assign.apply(this, arguments); 9577};
9578var __spreadArrays = (this && this.__spreadArrays) || function () { 9579 for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; 9580 for (var r = Array(s), k = 0, i = 0; i < il; i++) 9581 for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) 9582 r[k] = a[j]; 9583 return r; 9584}; 9585var _a, _b; 9586Object.defineProperty(exports, "__esModule", { value: true }); 9587var Tone = __webpack_require__(16); 9588var _utils_1 = __webpack_require__(15); 9589var sources_1 = __webpack_require__(38); 9590var _sources_1 = __webpack_require__(39); 9591var _constants_1 = __webpack_require__(1); 9592var abstractPlayer_1 = __webpack_require__(78); 9593var MelodyPlayer = /** @class */ (function (_super) { 9594 __extends(MelodyPlayer, _super); 9595 function MelodyPlayer(initialState, childStaticValues) { 9596 var _this = _super.call(this, initialState, __assign(__assign({}, MelodyPlayer), childStaticValues)) || this; 9597 _this.getNewPlaysound = function (idx) { 9598 var newPlaySound = idx < 15 9599 ? _utils_1.generateInstrument(_this.static.sources[idx]) 9600 : _sources_1.generateDrumMachine(_this.static.startNote, idx); 9601 newPlaySound.tone.toMaster(); 9602 if (idx < 15) { 9603 newPlaySound.tone.volume.value = _this.lastState[_constants_1.VOLUME]; 9604 } 9605 return newPlaySound; 9606 }; 9607 var playerSounds = (childStaticValues === null || childStaticValues === void 0 ? void 0 : childStaticValues.sounds) || MelodyPlayer.sounds; 9608 _this.melodySound = playerSounds[0]; 9609 _this.basicDrum = playerSounds[15], 9610 _this.basicDrum.tone.toMaster(); 9611 return _this; 9612 } 9613 MelodyPlayer.prototype.reducer = function (actionType, state) { 9614 this.lastState = state; // TODO probably unreliable 9615 // todo status lights handler 9616 if (!this.currentChain.length) { 9617 this.currentChain = state[_constants_1.PATTERN_CHAIN]; 9618 } 9619 if (this.patternInterval && this.lastState.view !== _constants_1.PATTERN_VIEW) { 9620 this.stopPatternFlashing(); 9621 } 9622 else if (!this.patternInterval && this.lastState.view === _constants_1.PATTERN_VIEW && !this.lastState[_constants_1.PLAY]) { 9623 this.patternFlashing(); 9624 } 9625 switch (actionType) { 9626 case _constants_1.PLAY: 9627 this.stopPatternFlashing(); 9628 if (Tone.Transport.state !== 'started') { 9629 Tone.Transport.start(); 9630 } 9631 this.isPlaying = state[_constants_1.PLAY]; 9632 if (this.isPlaying) { 9633 this.clearAllLights(); 9634 this.loop.start(); 9635 } 9636 else { 9637 this.loop.stop(); 9638 this.currentIdx = 0; 9639 this.clearAllLights(); 9640 } 9641 return; 9642 case _constants_1.BPM: 9643 Tone.Transport.bpm.rampTo(state[_constants_1.BPM], 2); 9644 return; 9645 case _constants_1.SOUNDS_SET: 9646 if (state[_constants_1.SOUND] === this.sound.idx) { 9647 return; 9648 } 9649 var newPlaySound = this.getNewPlaysound(state[_constants_1.SOUND]); 9650 this.sound.tone.disconnect(); 9651 this.sound.tone.dispose(); 9652 this.sound = newPlaySound; 9653 if (state[_constants_1.SOUND] !== 15) { 9654 var melodySound = this.playerSounds[state[_constants_1.SOUND]]; 9655 melodySound.tone.toMaster(); 9656 this.melodySound.tone.disconnect(); 9657 this.melodySound = melodySound; 9658 } 9659 return; 9660 case _constants_1.PATTERN_UPDATE: 9661 case _constants_1.NOTE_COPY: 9662 case _constants_1.PATTERN_COPY: 9663 this.patterns = state[_constants_1.PATTERNS]; 9664 return; 9665 case _constants_1.VOLUME: 9666 this.melodySound.tone.volume.value = state[_constants_1.VOLUME];
9667 this.sound.tone.volume.value = state[_constants_1.VOLUME]; 9668 case _constants_1.MUTE: 9669 this.updateMute(); 9670 return; 9671 default: 9672 return; 9673 } 9674 }; 9675 MelodyPlayer.prototype.loopAction = function (patternIdx, noteIdx) { 9676 var pattern = this.patterns[patternIdx]; 9677 if (pattern.spots[noteIdx]) { 9678 var span = pattern.spots[noteIdx].span + 1; 9679 var bars = Math.floor(span / 16); 9680 var quarters = (pattern.spots[noteIdx].span + 1) - bars; 9681 this.melodySound.tone.triggerAttackRelease(pattern.spots[noteIdx].note, "0:" + bars + ":" + quarters); 9682 } 9683 if (pattern.drums[noteIdx]) { 9684 this.basicDrum.tone.triggerAttackRelease(pattern.drums[noteIdx].note); 9685 } 9686 }; 9687 MelodyPlayer.startNote = 'c3'; 9688 MelodyPlayer.sources = sources_1.melodySoundSources; 9689 MelodyPlayer.sounds = __spreadArrays(MelodyPlayer.sources.map(function (v, idx) { return (__assign(__assign({}, _utils_1.generateInstrument(v)), { id: idx })); }), [ 9690 _sources_1.generateDrumMachine(MelodyPlayer.startNote, MelodyPlayer.sources.length), 9691 ]); 9692 MelodyPlayer.customState = (_a = {}, 9693 _a[_constants_1.PATTERN_TYPE] = 'spots', 9694 _a); 9695 MelodyPlayer.customReducer = (_b = {}, 9696 _b[_constants_1.SOUNDS_SET] = function (state, value) { 9697 var _a; 9698 return (_a = { 9699 view: state[_constants_1.WRITE] ? _constants_1.WRITE : null 9700 }, 9701 _a[_constants_1.SOUND] = value, 9702 _a[_constants_1.PATTERN_TYPE] = +value === 15 ? 'drums' : 'spots', 9703 _a); 9704 }, 9705 _b[_constants_1.PATTERN_UPDATE] = function (state, _a) { 9706 var _b, _c; 9707 var idx = _a.idx, note = _a.note, span = _a.span; 9708 var lastKey = state[_constants_1.SOUND] === 15 ? 'lastBeat' : 'lastNote'; 9709 var activePattern = state[_constants_1.PATTERNS][state[_constants_1.PATTERN_IDX]]; 9710 var updatedPatterns = __spreadArrays(state[_constants_1.PATTERNS].slice(0, state[_constants_1.PATTERN_IDX]), [ 9711 __assign(__assign({}, activePattern), (_b = {}, _b[state[_constants_1.PATTERN_TYPE]] = __spreadArrays(activePattern[state[_constants_1.PATTERN_TYPE]].slice(0, idx), [ 9712 note ? { note: note, span: span } : null 9713 ], activePattern[state[_constants_1.PATTERN_TYPE]].slice(idx + 1)), _b)) 9714 ], state[_constants_1.PATTERNS].slice(state[_constants_1.PATTERN_IDX] + 1)); 9715 return _c = {}, 9716 _c[_constants_1.PATTERNS] = updatedPatterns, 9717 _c[lastKey] = note || state[lastKey], 9718 _c; 9719 }, 9720 _b); 9721 return MelodyPlayer; 9722}(abstractPlayer_1.default)); 9723exports.default = MelodyPlayer; 9724 9725 9726/***/ }), 9727/* 38 */ 9728/***/ (function(module, exports, __webpack_require__) { 9729 9730"use strict"; 9731 9732var __assign = (this && this.__assign) || function () { 9733 __assign = Object.assign || function(t) { 9734 for (var s, i = 1, n = arguments.length; i < n; i++) { 9735 s = arguments[i]; 9736 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) 9737 t[p] = s[p]; 9738 } 9739 return t; 9740 }; 9741 return __assign.apply(this, arguments); 9742}; 9743Object.defineProperty(exports, "__esModule", { value: true }); 9744exports.melodySoundSources = exports.pianoSource = void 0; 9745var Tone = __webpack_require__(16); 9746exports.pianoSource = [1, 2, , 3, 4, 5, 6, 7, 8] 9747 .reduce(function (acc, val) { 9748 var _a; 9749 return (__assign(__assign({}, acc), (_a = {}, _a["C" + val] = "C" + val + ".[mp3|ogg]", _a))); 9750}, {}); 9751exports.melodySoundSources = [ 9752 { instrument: Tone.Synth }, 9753 { instrument: Tone.DuoSynth }, 9754 { instrument: Tone.MembraneSynth }, 9755 { instrument: Tone.MetalSynth }, 9756 { instrument: Tone.MonoSynth }, 9757 { instrument: Tone.MonoSynth, title: 'brasscircuit', 9758 toneParams: [{ 9759 portamento: 0.01, 9760 oscillator: { 9761 type: 'sawtooth' 9762 }, 9763 filter: { 9764 Q: 2, 9765 type: 'lowpass', 9766 rolloff: -24 9767 }, 9768 envelope: { 9769 attack: 0.1, 9770 decay: 0.1, 9771 sustain: 0.6, 9772 release: 0.5 9773 }, 9774 filterEnvelope: { 9775 attack: 0.05, 9776 decay: 0.8, 9777 sustain: 0.4, 9778 release: 1.5, 9779 baseFrequency: 2000,
9780 octaves: 1.5 9781 }, 9782 }], 9783 }, 9784 { instrument: Tone.PluckSynth }, 9785 { instrument: Tone.PolySynth }, 9786 { instrument: Tone.FMSynth }, 9787 { instrument: Tone.FMSynth, title: 'kalimba', 9788 toneParams: [{ 9789 harmonicity: 8, 9790 modulationIndex: 2, 9791 oscillator: { 9792 type: 'sine' 9793 }, 9794 envelope: { 9795 attack: 0.001, 9796 decay: 2, 9797 sustain: 0.1, 9798 release: 2 9799 }, 9800 modulation: { 9801 type: 'square' 9802 }, 9803 modulationEnvelope: { 9804 attack: 0.002, 9805 decay: 0.2, 9806 sustain: 0, 9807 release: 0.2 9808 } 9809 }], 9810 }, 9811 { instrument: Tone.FMSynth, title: 'ecello', 9812 toneParams: [{ 9813 harmonicity: 3.01, 9814 modulationIndex: 14, 9815 oscillator: { 9816 type: 'triangle' 9817 }, 9818 envelope: { 9819 attack: 0.2, 9820 decay: 0.3, 9821 sustain: 0.1, 9822 release: 1.2 9823 }, 9824 modulation: { 9825 type: 'square' 9826 }, 9827 modulationEnvelope: { 9828 attack: 0.01, 9829 decay: 0.5, 9830 sustain: 0.2, 9831 release: 0.1 9832 } 9833 }], 9834 }, 9835 { instrument: Tone.NoiseSynth }, 9836 { instrument: Tone.Synth, title: 'delicate', 9837 toneParams: [{ 9838 portamento: 0.0, 9839 oscillator: { 9840 type: 'square4' 9841 }, 9842 envelope: { 9843 attack: 2, 9844 decay: 1, 9845 sustain: 0.2, 9846 release: 2 9847 }, 9848 }], 9849 }, 9850 { instrument: Tone.Synth, title: 'steelpan', 9851 toneParams: [{ 9852 oscillator: { 9853 type: 'fatcustom', 9854 partials: [0.2, 1, 0, 0.5, 0.1], 9855 spread: 40, 9856 count: 3 9857 }, 9858 envelope: { 9859 attack: 0.001, 9860 decay: 1.6, 9861 sustain: 0, 9862 release: 1.6 9863 } 9864 }], 9865 }, 9866 { instrument: Tone.Sampler, title: 'pianoSampler', 9867 toneParams: [ 9868 exports.pianoSource, 9869 { release: 1, baseUrl: '/static/sampler/' } 9870 ], 9871 }, 9872]; 9873 9874 9875/***/ }), 9876/* 39 */ 9877/***/ (function(module, exports, __webpack_require__) { 9878 9879"use strict"; 9880 9881Object.defineProperty(exports, "__esModule", { value: true }); 9882exports.generateDrumMachine = exports.demoDrum = void 0; 9883var DrumMachine_1 = __webpack_require__(77); 9884exports.demoDrum = [ 9885 { name: 'kick1', src: 'acoustic-k-1.mp3' }, 9886 { name: 'kick2', src: 'CYCdh_Kurz08-Kick01.[ogg|mp3]' }, 9887 { name: 'tom1', src: 'CYCdh_Kurz08-Tom02.[ogg|mp3]', volume: 2 }, 9888 { name: 'tom2', src: 'CYCdh_Kurz08-Tom04.[ogg|mp3]', volume: 2 }, 9889 { name: 'snare1', src: 'acoustic-s-1.mp3' }, 9890 { name: 'snare2', src: 'CYCdh_Kurz08-Snr01.[ogg|mp3]' }, 9891 { name: 'sdSt', src: 'CYCdh_Kurz08-SdSt02.[ogg|mp3]' }, 9892 { name: 'scratch', src: 'CYCdh_Kurz08-Scratch02.[ogg|mp3]' }, 9893 { name: 'hat1', src: 'acoustic-h-1.mp3', volume: 20 }, 9894 { name: 'hat2', src: 'acoustic-h-2.mp3' }, 9895 { name: 'pdHat', src: 'CYCdh_Kurz08-PdHat.[ogg|mp3]' }, 9896 { name: 'opHat', src: 'CYCdh_Kurz08-OpHat.[ogg|mp3]' }, 9897 { name: 'clap', src: 'CYCdh_Kurz08-clap.[ogg|mp3]' }, 9898 { name: 'crash', src: 'CYCdh_Kurz08-Crash01.[ogg|mp3]' }, 9899 { name: 'perc1', src: 'CYCdh_Kurz08-Perc01.[ogg|mp3]' }, 9900 { name: 'perc3', src: 'CYCdh_Kurz08-Perc04.[ogg|mp3]' }, 9901]; 9902exports.generateDrumMachine = function (startNote, idx, baseVolume) { 9903 if (startNote === void 0) { startNote = 'c3'; } 9904 if (baseVolume === void 0) { baseVolume = 1; } 9905 return { 9906 name: 'basicDrum', 9907 tone: new DrumMachine_1.default({ 9908 sources: exports.demoDrum, 9909 baseUrl: '/static/demoDrum/', 9910 startNote: startNote, 9911 baseVolume: baseVolume, 9912 }), 9913 keys: exports.demoDrum.map(function (_a) { 9914 var name = _a.name; 9915 return name; 9916 }), 9917 idx: idx, 9918 }; 9919}; 9920 9921 9922/***/ }), 9923/* 40 */ 9924/***/ (function(module, exports, __webpack_require__) { 9925 9926"use strict"; 9927 9928 9929var reactIs = __webpack_require__(11); 9930 9931/** 9932 * Copyright 2015, Yahoo! Inc. 9933 * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. 9934 */ 9935var REACT_STATICS = { 9936 childContextTypes: true, 9937 contextType: true, 9938 contextTypes: true, 9939 defaultProps: true, 9940 displayName: true, 9941 getDefaultProps: true, 9942 getDerivedStateFromError: true, 9943 getDerivedStateFromProps: true, 9944 mixins: true, 9945 propTypes: true,
9946 type: true 9947}; 9948var KNOWN_STATICS = { 9949 name: true, 9950 length: true, 9951 prototype: true, 9952 caller: true, 9953 callee: true, 9954 arguments: true, 9955 arity: true 9956}; 9957var FORWARD_REF_STATICS = { 9958 '$$typeof': true, 9959 render: true, 9960 defaultProps: true, 9961 displayName: true, 9962 propTypes: true 9963}; 9964var MEMO_STATICS = { 9965 '$$typeof': true, 9966 compare: true, 9967 defaultProps: true, 9968 displayName: true, 9969 propTypes: true, 9970 type: true 9971}; 9972var TYPE_STATICS = {}; 9973TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS; 9974TYPE_STATICS[reactIs.Memo] = MEMO_STATICS; 9975 9976function getStatics(component) { 9977 // React v16.11 and below 9978 if (reactIs.isMemo(component)) { 9979 return MEMO_STATICS; 9980 } // React v16.12 and above 9981 9982 9983 return TYPE_STATICS[component['$$typeof']] || REACT_STATICS; 9984} 9985 9986var defineProperty = Object.defineProperty; 9987var getOwnPropertyNames = Object.getOwnPropertyNames; 9988var getOwnPropertySymbols = Object.getOwnPropertySymbols; 9989var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; 9990var getPrototypeOf = Object.getPrototypeOf; 9991var objectPrototype = Object.prototype; 9992function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { 9993 if (typeof sourceComponent !== 'string') { 9994 // don't hoist over string (html) components 9995 if (objectPrototype) { 9996 var inheritedComponent = getPrototypeOf(sourceComponent); 9997 9998 if (inheritedComponent && inheritedComponent !== objectPrototype) { 9999 hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); 10000 } 10001 } 10002 10003 var keys = getOwnPropertyNames(sourceComponent); 10004 10005 if (getOwnPropertySymbols) { 10006 keys = keys.concat(getOwnPropertySymbols(sourceComponent)); 10007 } 10008 10009 var targetStatics = getStatics(targetComponent); 10010 var sourceStatics = getStatics(sourceComponent); 10011 10012 for (var i = 0; i < keys.length; ++i) { 10013 var key = keys[i]; 10014 10015 if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) { 10016 var descriptor = getOwnPropertyDescriptor(sourceComponent, key); 10017 10018 try { 10019 // Avoid failures from read-only properties 10020 defineProperty(targetComponent, key, descriptor); 10021 } catch (e) {} 10022 } 10023 } 10024 } 10025 10026 return targetComponent; 10027} 10028 10029module.exports = hoistNonReactStatics; 10030 10031 10032/***/ }), 10033/* 41 */ 10034/***/ (function(module, exports, __webpack_require__) { 10035 10036(function (factory) { 10037 true ? (module['exports'] = factory()) : 10038 undefined 10039}(function () { 10040 10041 'use strict' 10042 10043 return function (insertRule) { 10044 var delimiter = '/*|*/' 10045 var needle = delimiter+'}' 10046 10047 function toSheet (block) { 10048 if (block) 10049 try { 10050 insertRule(block + '}') 10051 } catch (e) {} 10052 } 10053 10054 return function ruleSheet (context, content, selectors, parents, line, column, length, ns, depth, at) { 10055 switch (context) { 10056 // property 10057 case 1: 10058 // @import 10059 if (depth === 0 && content.charCodeAt(0) === 64) 10060 return insertRule(content+';'), '' 10061 break 10062 // selector 10063 case 2: 10064 if (ns === 0) 10065 return content + delimiter 10066 break 10067 // at-rule 10068 case 3: 10069 switch (ns) { 10070 // @font-face, @page 10071 case 102: 10072 case 112: 10073 return insertRule(selectors[0]+content), '' 10074 default: 10075 return content + (at === 0 ? delimiter : '') 10076 } 10077 case -2: 10078 content.split(needle).forEach(toSheet) 10079 } 10080 } 10081 } 10082})) 10083 10084 10085/***/ }), 10086/* 42 */ 10087/***/ (function(module, __webpack_exports__, __webpack_require__) { 10088 10089"use strict"; 10090var unitlessKeys = { 10091 animationIterationCount: 1, 10092 borderImageOutset: 1, 10093 borderImageSlice: 1, 10094 borderImageWidth: 1, 10095 boxFlex: 1, 10096 boxFlexGroup: 1, 10097 boxOrdinalGroup: 1, 10098 columnCount: 1, 10099 columns: 1, 10100 flex: 1, 10101 flexGrow: 1, 10102 flexPositive: 1, 10103 flexShrink: 1, 10104 flexNegative: 1, 10105 flexOrder: 1, 10106 gridRow: 1, 10107 gridRowEnd: 1, 10108 gridRowSpan: 1, 10109 gridRowStart: 1, 10110 gridColumn: 1, 10111 gridColumnEnd: 1, 10112 gridColumnSpan: 1, 10113 gridColumnStart: 1, 10114 msGridRow: 1, 10115 msGridRowSpan: 1, 10116 msGridColumn: 1, 10117 msGridColumnSpan: 1, 10118 fontWeight: 1, 10119 lineHeight: 1, 10120 opacity: 1, 10121 order: 1, 10122 orphans: 1, 10123 tabSize: 1, 10124 widows: 1, 10125 zIndex: 1, 10126 zoom: 1, 10127 WebkitLineClamp: 1, 10128 // SVG-related properties 10129 fillOpacity: 1, 10130 floodOpacity: 1, 10131 stopOpacity: 1, 10132 strokeDasharray: 1, 10133 strokeDashoffset: 1, 10134 strokeMiterlimit: 1, 10135 strokeOpacity: 1, 10136 strokeWidth: 1 10137}; 10138 10139/* harmony default export */ __webpack_exports__["a"] = (unitlessKeys); 10140 10141 10142/***/ }), 10143/* 43 */
10144/***/ (function(module, exports) { 10145 10146var E_NOSCROLL = new Error('Element already at target scroll position') 10147var E_CANCELLED = new Error('Scroll cancelled') 10148var min = Math.min 10149var ms = Date.now 10150 10151module.exports = { 10152 left: make('scrollLeft'), 10153 top: make('scrollTop') 10154} 10155 10156function make (prop) { 10157 return function scroll (el, to, opts, cb) { 10158 opts = opts || {} 10159 10160 if (typeof opts == 'function') cb = opts, opts = {} 10161 if (typeof cb != 'function') cb = noop 10162 10163 var start = ms() 10164 var from = el[prop] 10165 var ease = opts.ease || inOutSine 10166 var duration = !isNaN(opts.duration) ? +opts.duration : 350 10167 var cancelled = false 10168 10169 return from === to ? 10170 cb(E_NOSCROLL, el[prop]) : 10171 requestAnimationFrame(animate), cancel 10172 10173 function cancel () { 10174 cancelled = true 10175 } 10176 10177 function animate (timestamp) { 10178 if (cancelled) return cb(E_CANCELLED, el[prop]) 10179 10180 var now = ms() 10181 var time = min(1, ((now - start) / duration)) 10182 var eased = ease(time) 10183 10184 el[prop] = (eased * (to - from)) + from 10185 10186 time < 1 ? 10187 requestAnimationFrame(animate) : 10188 requestAnimationFrame(function () { 10189 cb(null, el[prop]) 10190 }) 10191 } 10192 } 10193} 10194 10195function inOutSine (n) { 10196 return 0.5 * (1 - Math.cos(Math.PI * n)) 10197} 10198 10199function noop () {} 10200 10201 10202/***/ }), 10203/* 44 */ 10204/***/ (function(module, __webpack_exports__, __webpack_require__) { 10205 10206"use strict"; 10207/* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); 10208/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); 10209/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2); 10210/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); 10211/* harmony import */ var react_proptype_conditional_require__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(30); 10212/* harmony import */ var react_proptype_conditional_require__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_proptype_conditional_require__WEBPACK_IMPORTED_MODULE_2__); 10213/* harmony import */ var popper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(31); 10214/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(10); 10215/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(deepmerge__WEBPACK_IMPORTED_MODULE_4__); 10216/* harmony import */ var is_lite__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3); 10217/* harmony import */ var is_lite__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(is_lite__WEBPACK_IMPORTED_MODULE_5__); 10218/* harmony import */ var tree_changes__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(18); 10219/* harmony import */ var tree_changes__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(tree_changes__WEBPACK_IMPORTED_MODULE_6__); 10220/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(12); 10221/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_7__); 10222/* harmony import */ var exenv__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(22); 10223/* harmony import */ var exenv__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(exenv__WEBPACK_IMPORTED_MODULE_8__); 10224 10225 10226 10227 10228 10229 10230 10231 10232 10233 10234function _classCallCheck(instance, Constructor) { 10235 if (!(instance instanceof Constructor)) { 10236 throw new TypeError("Cannot call a class as a function"); 10237 } 10238} 10239 10240function _defineProperties(target, props) { 10241 for (var i = 0; i < props.length; i++) { 10242 var descriptor = props[i]; 10243 descriptor.enumerable = descriptor.enumerable || false; 10244 descriptor.configurable = true; 10245 if ("value" in descriptor) descriptor.writable = true; 10246 Object.defineProperty(target, descriptor.key, descriptor); 10247 } 10248} 10249 10250function _createClass(Constructor, protoProps, staticProps) { 10251 if (protoProps) _defineProperties(Constructor.prototype, protoProps); 10252 if (staticProps) _defineProperties(Constructor, staticProps); 10253 return Constructor; 10254} 10255 10256function _defineProperty(obj, key, value) { 10257 if (key in obj) { 10258 Object.defineProperty(obj, key, { 10259 value: value, 10260 enumerable: true, 10261 configurable: true, 10262 writable: true 10263 }); 10264 } else { 10265 obj[key] = value; 10266 } 10267 10268 return obj; 10269} 10270 10271function ownKeys(object, enumerableOnly) { 10272 var keys = Object.keys(object); 10273 10274 if (Object.getOwnPropertySymbols) { 10275 var symbols = Object.getOwnPropertySymbols(object); 10276 if (enumerableOnly) symbols = symbols.filter(function (sym) { 10277 return Object.getOwnPropertyDescriptor(object, sym).enumerable; 10278 }); 10279 keys.push.apply(keys, symbols); 10280 } 10281 10282 return keys; 10283} 10284
10285function _objectSpread2(target) { 10286 for (var i = 1; i < arguments.length; i++) { 10287 var source = arguments[i] != null ? arguments[i] : {}; 10288 10289 if (i % 2) { 10290 ownKeys(Object(source), true).forEach(function (key) { 10291 _defineProperty(target, key, source[key]); 10292 }); 10293 } else if (Object.getOwnPropertyDescriptors) { 10294 Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); 10295 } else { 10296 ownKeys(Object(source)).forEach(function (key) { 10297 Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); 10298 }); 10299 } 10300 } 10301 10302 return target; 10303} 10304 10305function _inherits(subClass, superClass) { 10306 if (typeof superClass !== "function" && superClass !== null) { 10307 throw new TypeError("Super expression must either be null or a function"); 10308 } 10309 10310 subClass.prototype = Object.create(superClass && superClass.prototype, { 10311 constructor: { 10312 value: subClass, 10313 writable: true, 10314 configurable: true 10315 } 10316 }); 10317 if (superClass) _setPrototypeOf(subClass, superClass); 10318} 10319 10320function _getPrototypeOf(o) { 10321 _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { 10322 return o.__proto__ || Object.getPrototypeOf(o); 10323 }; 10324 return _getPrototypeOf(o); 10325} 10326 10327function _setPrototypeOf(o, p) { 10328 _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { 10329 o.__proto__ = p; 10330 return o; 10331 }; 10332 10333 return _setPrototypeOf(o, p); 10334} 10335 10336function _objectWithoutPropertiesLoose(source, excluded) { 10337 if (source == null) return {}; 10338 var target = {}; 10339 var sourceKeys = Object.keys(source); 10340 var key, i; 10341 10342 for (i = 0; i < sourceKeys.length; i++) { 10343 key = sourceKeys[i]; 10344 if (excluded.indexOf(key) >= 0) continue; 10345 target[key] = source[key]; 10346 } 10347 10348 return target; 10349} 10350 10351function _objectWithoutProperties(source, excluded) { 10352 if (source == null) return {}; 10353 10354 var target = _objectWithoutPropertiesLoose(source, excluded); 10355 10356 var key, i; 10357 10358 if (Object.getOwnPropertySymbols) { 10359 var sourceSymbolKeys = Object.getOwnPropertySymbols(source); 10360 10361 for (i = 0; i < sourceSymbolKeys.length; i++) { 10362 key = sourceSymbolKeys[i]; 10363 if (excluded.indexOf(key) >= 0) continue; 10364 if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; 10365 target[key] = source[key]; 10366 } 10367 } 10368 10369 return target; 10370} 10371 10372function _assertThisInitialized(self) { 10373 if (self === void 0) { 10374 throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); 10375 } 10376 10377 return self; 10378} 10379 10380function _possibleConstructorReturn(self, call) { 10381 if (call && (typeof call === "object" || typeof call === "function")) { 10382 return call; 10383 } 10384 10385 return _assertThisInitialized(self); 10386} 10387 10388var DEFAULTS = {flip:{padding:20},preventOverflow:{padding:10}}; 10389 10390var STATUS = {INIT:'init',IDLE:'idle',OPENING:'opening',OPEN:'open',CLOSING:'closing',ERROR:'error'}; 10391 10392var canUseDOM=exenv__WEBPACK_IMPORTED_MODULE_8___default.a.canUseDOM;var isReact16=react_dom__WEBPACK_IMPORTED_MODULE_7___default.a.createPortal!==undefined;function isMobile(){return 'ontouchstart'in window&&/Mobi/.test(navigator.userAgent);}/** 10393 * Log method calls if debug is enabled 10394 * 10395 * @private 10396 * @param {Object} arg 10397 * @param {string} arg.title - The title the logger was called from 10398 * @param {Object|Array} [arg.data] - The data to be logged 10399 * @param {boolean} [arg.warn] - If true, the message will be a warning 10400 * @param {boolean} [arg.debug] - Nothing will be logged unless debug is true 10401 */function log(_ref){var title=_ref.title,data=_ref.data,_ref$warn=_ref.warn,warn=_ref$warn===void 0?false:_ref$warn,_ref$debug=_ref.debug,debug=_ref$debug===void 0?false:_ref$debug;/* eslint-disable no-console */var logFn=warn?console.warn||console.error:console.log;if(debug&&title&&data){console.groupCollapsed("%creact-floater: ".concat(title),'color: #9b00ff; font-weight: bold; font-size: 12px;');if(Array.isArray(data)){data.forEach(function(d){if(is_lite__WEBPACK_IMPORTED_MODULE_5___default.a.plainObject(d)&&d.key){logFn.apply(console,[d.key,d.value]);}else{logFn.apply(console,[d]);}});}else{logFn.apply(console,[data]);}console.groupEnd();}/* eslint-enable */}function on(element,event,cb){var capture=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;element.addEventListener(event,cb,capture);}function off(element,event,cb){var capture=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;element.removeEventListener(event,cb,capture);}function once(element,event,cb){var capture=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var _nextCB;// eslint-disable-next-line prefer-const 10402_nextCB=function nextCB(e){cb(e);
10402off(element,event,_nextCB);};on(element,event,_nextCB,capture);}function noop(){} 10403 10404var ReactFloaterPortal=/*#__PURE__*/function(_React$Component){_inherits(ReactFloaterPortal,_React$Component);function ReactFloaterPortal(props){var _this;_classCallCheck(this,ReactFloaterPortal);_this=_possibleConstructorReturn(this,_getPrototypeOf(ReactFloaterPortal).call(this,props));if(!canUseDOM)return _possibleConstructorReturn(_this);_this.node=document.createElement('div');if(props.id){_this.node.id=props.id;}if(props.zIndex){_this.node.style.zIndex=props.zIndex;}document.body.appendChild(_this.node);return _this;}_createClass(ReactFloaterPortal,[{key:"componentDidMount",value:function componentDidMount(){if(!canUseDOM)return;if(!isReact16){this.renderPortal();}}},{key:"componentDidUpdate",value:function componentDidUpdate(){if(!canUseDOM)return;if(!isReact16){this.renderPortal();}}},{key:"componentWillUnmount",value:function componentWillUnmount(){if(!canUseDOM||!this.node)return;if(!isReact16){react_dom__WEBPACK_IMPORTED_MODULE_7___default.a.unmountComponentAtNode(this.node);}document.body.removeChild(this.node);}},{key:"renderPortal",value:function renderPortal(){if(!canUseDOM)return null;var _this$props=this.props,children=_this$props.children,setRef=_this$props.setRef;/* istanbul ignore else */if(isReact16){return react_dom__WEBPACK_IMPORTED_MODULE_7___default.a.createPortal(children,this.node);}var portal=react_dom__WEBPACK_IMPORTED_MODULE_7___default.a.unstable_renderSubtreeIntoContainer(this,children.length>1?react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",null,children):children[0],this.node);setRef(portal);return null;}},{key:"renderReact16",value:function renderReact16(){var _this$props2=this.props,hasChildren=_this$props2.hasChildren,placement=_this$props2.placement,target=_this$props2.target;if(!hasChildren){if(target||placement==='center'){return this.renderPortal();}return null;}return this.renderPortal();}},{key:"render",value:function render(){if(!isReact16){return null;}return this.renderReact16();}}]);return ReactFloaterPortal;}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component);_defineProperty(ReactFloaterPortal,"propTypes",{children:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.element,prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array]),hasChildren:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,id:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number]),placement:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,setRef:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,target:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string]),zIndex:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number}); 10405 10406var FloaterArrow=/*#__PURE__*/function(_React$Component){_inherits(FloaterArrow,_React$Component);function FloaterArrow(){_classCallCheck(this,FloaterArrow);return _possibleConstructorReturn(this,_getPrototypeOf(FloaterArrow).apply(this,arguments));}_createClass(FloaterArrow,[{key:"render",value:function render(){var _this$props=this.props,placement=_this$props.placement,setArrowRef=_this$props.setArrowRef,styles=_this$props.styles;var _styles$arrow=styles.arrow,color=_styles$arrow.color,display=_styles$arrow.display,length=_styles$arrow.length,margin=_styles$arrow.margin,position=_styles$arrow.position,spread=_styles$arrow.spread;var arrowStyles={display:display,position:position};var points;var x=spread;var y=length;/* istanbul ignore else */if(placement.startsWith('top')){points="0,0 ".concat(x/2,",").concat(y," ").concat(x,",0");arrowStyles.bottom=0;arrowStyles.marginLeft=margin;arrowStyles.marginRight=margin;}else if(placement.startsWith('bottom')){points="".concat(x,",").concat(y," ").concat(x/2,",0 0,").concat(y);arrowStyles.top=0;arrowStyles.marginLeft=margin;arrowStyles.marginRight=margin;}else if(placement.startsWith('left')){y=spread;x=length;points="0,0 ".concat(x,",").concat(y/2," 0,").concat(y);arrowStyles.right=0;arrowStyles.marginTop=margin;arrowStyles.marginBottom=margin;}else if(placement.startsWith('right')){y=spread;x=length;points="".concat(x,",").concat(y," ").concat(x,",0 0,").concat(y/2);arrowStyles.left=0;arrowStyles.marginTop=margin;arrowStyles.marginBottom=margin;}return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"__floater__arrow",style:this.parentStyle},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",{ref:setArrowRef,style:arrowStyles},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("svg",{width:x,height:y,version:"1.1",xmlns:"http://www.w3.org/2000/svg"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("polygon",{points:p
10406oints,fill:color}))));}},{key:"parentStyle",get:function get(){var _this$props2=this.props,placement=_this$props2.placement,styles=_this$props2.styles;var length=styles.arrow.length;var arrow={pointerEvents:'none',position:'absolute',width:'100%'};/* istanbul ignore else */if(placement.startsWith('top')){arrow.bottom=0;arrow.left=0;arrow.right=0;arrow.height=length;}else if(placement.startsWith('bottom')){arrow.left=0;arrow.right=0;arrow.top=0;arrow.height=length;}else if(placement.startsWith('left')){arrow.right=0;arrow.top=0;arrow.bottom=0;}else if(placement.startsWith('right')){arrow.left=0;arrow.top=0;}return arrow;}}]);return FloaterArrow;}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component);_defineProperty(FloaterArrow,"propTypes",{placement:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,setArrowRef:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,styles:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired}); 10407 10408var FloaterCloseBtn=function FloaterCloseBtn(_ref){var handleClick=_ref.handleClick,styles=_ref.styles;var color=styles.color,height=styles.height,width=styles.width,style=_objectWithoutProperties(styles,["color","height","width"]);return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button",{"aria-label":"close",onClick:handleClick,style:style,type:"button"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("svg",{width:"".concat(width,"px"),height:"".concat(height,"px"),viewBox:"0 0 18 18",version:"1.1",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid"},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("g",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("path",{d:"M8.13911129,9.00268191 L0.171521827,17.0258467 C-0.0498027049,17.248715 -0.0498027049,17.6098394 0.171521827,17.8327545 C0.28204354,17.9443526 0.427188206,17.9998706 0.572051765,17.9998706 C0.71714958,17.9998706 0.862013139,17.9443526 0.972581703,17.8327545 L9.0000937,9.74924618 L17.0276057,17.8327545 C17.1384085,17.9443526 17.2832721,17.9998706 17.4281356,17.9998706 C17.5729992,17.9998706 17.718097,17.9443526 17.8286656,17.8327545 C18.0499901,17.6098862 18.0499901,17.2487618 17.8286656,17.0258467 L9.86135722,9.00268191 L17.8340066,0.973848225 C18.0553311,0.750979934 18.0553311,0.389855532 17.8340066,0.16694039 C17.6126821,-0.0556467968 17.254037,-0.0556467968 17.0329467,0.16694039 L9.00042166,8.25611765 L0.967006424,0.167268345 C0.745681892,-0.0553188426 0.387317931,-0.0553188426 0.165993399,0.167268345 C-0.0553311331,0.390136635 -0.0553311331,0.751261038 0.165993399,0.974176179 L8.13920499,9.00268191 L8.13911129,9.00268191 Z",fill:color}))));};FloaterCloseBtn.propTypes={handleClick:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,styles:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired}; 10409 10410var FloaterContainer=function FloaterContainer(_ref){var content=_ref.content,footer=_ref.footer,handleClick=_ref.handleClick,open=_ref.open,positionWrapper=_ref.positionWrapper,showCloseButton=_ref.showCloseButton,title=_ref.title,styles=_ref.styles;var output={content:react__WEBPACK_IMPORTED_MODULE_0___default.a.isValidElement(content)?content:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"__floater__content",style:styles.content},content)};if(title){output.title=react__WEBPACK_IMPORTED_MODULE_0___default.a.isValidElement(title)?title:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"__floater__title",style:styles.title},title);}if(footer){output.footer=react__WEBPACK_IMPORTED_MODULE_0___default.a.isValidElement(footer)?footer:react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"__floater__footer",style:styles.footer},footer);}if((showCloseButton||positionWrapper)&&!is_lite__WEBPACK_IMPORTED_MODULE_5___default.a["boolean"](open)){output.close=react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(FloaterCloseBtn,{styles:styles.close,handleClick:handleClick});}return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"__floater__c
10410ontainer",style:styles.container},output.close,output.title,output.content,output.footer);};FloaterContainer.propTypes={content:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.node.isRequired,footer:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.node,handleClick:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,open:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,positionWrapper:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,showCloseButton:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,styles:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired,title:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.node}; 10411 10412var Floater=/*#__PURE__*/function(_React$Component){_inherits(Floater,_React$Component);function Floater(){_classCallCheck(this,Floater);return _possibleConstructorReturn(this,_getPrototypeOf(Floater).apply(this,arguments));}_createClass(Floater,[{key:"render",value:function render(){var _this$props=this.props,component=_this$props.component,closeFn=_this$props.handleClick,hideArrow=_this$props.hideArrow,setFloaterRef=_this$props.setFloaterRef,status=_this$props.status;var output={};var classes=['__floater'];if(component){if(react__WEBPACK_IMPORTED_MODULE_0___default.a.isValidElement(component)){output.content=react__WEBPACK_IMPORTED_MODULE_0___default.a.cloneElement(component,{closeFn:closeFn});}else{output.content=component({closeFn:closeFn});}}else{output.content=react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(FloaterContainer,this.props);}if(status===STATUS.OPEN){classes.push('__floater__open');}if(!hideArrow){output.arrow=react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(FloaterArrow,this.props);}return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{ref:setFloaterRef,className:classes.join(' '),style:this.style},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div",{className:"__floater__body"},output.content,output.arrow));}},{key:"style",get:function get(){var _this$props2=this.props,disableAnimation=_this$props2.disableAnimation,component=_this$props2.component,placement=_this$props2.placement,hideArrow=_this$props2.hideArrow,status=_this$props2.status,styles=_this$props2.styles;var length=styles.arrow.length,floater=styles.floater,floaterCentered=styles.floaterCentered,floaterClosing=styles.floaterClosing,floaterOpening=styles.floaterOpening,floaterWithAnimation=styles.floaterWithAnimation,floaterWithComponent=styles.floaterWithComponent;var element={};if(!hideArrow){if(placement.startsWith('top')){element.padding="0 0 ".concat(length,"px");}else if(placement.startsWith('bottom')){element.padding="".concat(length,"px 0 0");}else if(placement.startsWith('left')){element.padding="0 ".concat(length,"px 0 0");}else if(placement.startsWith('right')){element.padding="0 0 0 ".concat(length,"px");}}if([STATUS.OPENING,STATUS.OPEN].indexOf(status)!==-1){element=_objectSpread2({},element,{},floaterOpening);}if(status===STATUS.CLOSING){element=_objectSpread2({},element,{},floaterClosing);}if(status===STATUS.OPEN&&!disableAnimation){element=_objectSpread2({},element,{},floaterWithAnimation);}if(placement==='center'){element=_objectSpread2({},element,{},floaterCentered);}if(component){element=_objectSpread2({},element,{},floaterWithComponent);}return _objectSpread2({},floater,{},element);}}]);return Floater;}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component);_defineProperty(Floater,"propTypes",{component:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.element]),content:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.node,disableAnimation:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,footer:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.node,handleClick:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,hideArrow:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,open:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,placement:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,positionWrapper:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,setArrowRef:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,setFloaterRef:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,showCloseButton:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,status:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,styles:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired,title:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.node}); 10413 10414var ReactFloaterWrapper=/*#__PURE__*/function(_React$Component){_inherits(ReactFloaterWrapper,_React$Component);function ReactFloaterWrapper(){_classCallCheck(this,ReactFloaterWrapper);return _possibleConstructorReturn(this,_getPrototypeOf(ReactFloaterWrapper).apply(this,arguments));}_createClass(ReactFloaterWrapper,[{key:"render",value:function render(){var _this$props=this.props,children=_this$props.children,handleClick=_this$props.handleClick,handleMouseEnter=_this$props.handleMouseEnter,handleMouseLeave=_this$props.handleMouseLeave,setChildRef=_this$props.setChildRef,setWrapperRef=_this$props.setWrapperRef,style=_this$props.style,styles=_this$props.styles;var element;/* istanbul ignore else */if(children){if(react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.count(children)===1){if(!react__WEBPACK_IMPORTED_MODULE_0___default.a.isValidElement(children)){element=react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,children);}else{var refProp=is_lite__WEBPACK_IMPORTED_MODULE_5___default.a["function"](children.type)?'innerRef':'ref';element=react__WEBPACK_IMPORTED_MODULE_0___default.a.cloneElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.only(children),_defineProperty({},refProp,setChildRef));}}else{element=children;}}if(!element){return null;}return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",{ref:setWrapperRef,style:_objectSpread2
10414({},styles,{},style),onClick:handleClick,onMouseEnter:handleMouseEnter,onMouseLeave:handleMouseLeave},element);}}]);return ReactFloaterWrapper;}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component);_defineProperty(ReactFloaterWrapper,"propTypes",{children:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.node,handleClick:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,handleMouseEnter:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,handleMouseLeave:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,setChildRef:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,setWrapperRef:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,style:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,styles:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired}); 10415 10416var defaultOptions={zIndex:100};function getStyles(styles){var options=deepmerge__WEBPACK_IMPORTED_MODULE_4___default()(defaultOptions,styles.options||{});return {wrapper:{cursor:'help',display:'inline-flex',flexDirection:'column',zIndex:options.zIndex},wrapperPosition:{left:-1000,position:'absolute',top:-1000,visibility:'hidden'},floater:{display:'inline-block',filter:'drop-shadow(0 0 3px rgba(0, 0, 0, 0.3))',maxWidth:300,opacity:0,position:'relative',transition:'opacity 0.3s',visibility:'hidden',zIndex:options.zIndex},floaterOpening:{opacity:1,visibility:'visible'},floaterWithAnimation:{opacity:1,transition:'opacity 0.3s, transform 0.2s',visibility:'visible'},floaterWithComponent:{maxWidth:'100%'},floaterClosing:{opacity:0,visibility:'visible'},floaterCentered:{left:'50%',position:'fixed',top:'50%',transform:'translate(-50%, -50%)'},container:{backgroundColor:'#fff',color:'#666',minHeight:60,minWidth:200,padding:20,position:'relative',zIndex:10},title:{borderBottom:'1px solid #555',color:'#555',fontSize:18,marginBottom:5,paddingBottom:6,paddingRight:18},content:{fontSize:15},close:{backgroundColor:'transparent',border:0,borderRadius:0,color:'#555',fontSize:0,height:15,outline:'none',padding:10,position:'absolute',right:0,top:0,width:15,WebkitAppearance:'none'},footer:{borderTop:'1px solid #ccc',fontSize:13,marginTop:10,paddingTop:5},arrow:{color:'#fff',display:'inline-flex',length:16,margin:8,position:'absolute',spread:32},options:options};} 10417 10418var POSITIONING_PROPS=['position','top','right','bottom','left'];var ReactFloater=/*#__PURE__*/function(_React$Component){_inherits(ReactFloater,_React$Component);function ReactFloater(props){var _this;_classCallCheck(this,ReactFloater);_this=_possibleConstructorReturn(this,_getPrototypeOf(ReactFloater).call(this,props));/* istanbul ignore else */_defineProperty(_assertThisInitialized(_this),"setArrowRef",function(ref){_this.arrowRef=ref;});_defineProperty(_assertThisInitialized(_this),"setChildRef",function(ref){_this.childRef=ref;});_defineProperty(_assertThisInitialized(_this),"setFloaterRef",function(ref){if(!_this.floaterRef){_this.floaterRef=ref;}});_defineProperty(_assertThisInitialized(_this),"setWrapperRef",function(ref){_this.wrapperRef=ref;});_defineProperty(_assertThisInitialized(_this),"handleTransitionEnd",function(){var status=_this.state.status;var callback=_this.props.callback;/* istanbul ignore else */if(_this.wrapperPopper){_this.wrapperPopper.instance.update();}_this.setState({status:status===STATUS.OPENING?STATUS.OPEN:STATUS.IDLE},function(){var newStatus=_this.state.status;callback(newStatus===STATUS.OPEN?'open':'close',_this.props);});});_defineProperty(_assertThisInitialized(_this),"handleClick",function(){var _this$props=_this.props,event=_this$props.event,open=_this$props.open;if(is_lite__WEBPACK_IMPORTED_MODULE_5___default.a["boolean"](open))return;var _this$state=_this.state,positionWrapper=_this$state.positionWrapper,status=_this$state.status;/* istanbul ignore else */if(_this.event==='click'||_this.event==='hover'&&positionWrapper){log({title:'click',data:[{event:event,status:status===STATUS.OPEN?'closing':'opening'}],debug:_this.debug});_this.toggle();}});_defineProperty(_assertThisInitialized(_this),"handleMouseEnter",function(){var _this$props2=_this.props,event=_this$props2.event,open=_this$props2.o
10418pen;if(is_lite__WEBPACK_IMPORTED_MODULE_5___default.a["boolean"](open)||isMobile())return;var status=_this.state.status;/* istanbul ignore else */if(_this.event==='hover'&&status===STATUS.IDLE){log({title:'mouseEnter',data:[{key:'originalEvent',value:event}],debug:_this.debug});clearTimeout(_this.eventDelayTimeout);_this.toggle();}});_defineProperty(_assertThisInitialized(_this),"handleMouseLeave",function(){var _this$props3=_this.props,event=_this$props3.event,eventDelay=_this$props3.eventDelay,open=_this$props3.open;if(is_lite__WEBPACK_IMPORTED_MODULE_5___default.a["boolean"](open)||isMobile())return;var _this$state2=_this.state,status=_this$state2.status,positionWrapper=_this$state2.positionWrapper;/* istanbul ignore else */if(_this.event==='hover'){log({title:'mouseLeave',data:[{key:'originalEvent',value:event}],debug:_this.debug});if(!eventDelay){_this.toggle(STATUS.IDLE);}else if([STATUS.OPENING,STATUS.OPEN].indexOf(status)!==-1&&!positionWrapper&&!_this.eventDelayTimeout){_this.eventDelayTimeout=setTimeout(function(){delete _this.eventDelayTimeout;_this.toggle();},eventDelay*1000);}}});_this.state={currentPlacement:props.placement,positionWrapper:props.wrapperOptions.position&&!!props.target,status:STATUS.INIT,statusWrapper:STATUS.INIT};_this._isMounted=false;if(canUseDOM){window.addEventListener('load',function(){if(_this.popper){_this.popper.instance.update();}if(_this.wrapperPopper){_this.wrapperPopper.instance.update();}});}return _this;}_createClass(ReactFloater,[{key:"componentDidMount",value:function componentDidMount(){if(!canUseDOM)return;var positionWrapper=this.state.positionWrapper;var _this$props5=this.props,children=_this$props5.children,open=_this$props5.open,target=_this$props5.target;this._isMounted=true;log({title:'init',data:{hasChildren:!!children,hasTarget:!!target,isControlled:is_lite__WEBPACK_IMPORTED_MODULE_5___default.a["boolean"](open),positionWrapper:positionWrapper,target:this.target,floater:this.floaterRef},debug:this.debug});this.initPopper();if(!children&&target&&!is_lite__WEBPACK_IMPORTED_MODULE_5___default.a["boolean"](open));}},{key:"componentDidUpdate",value:function componentDidUpdate(prevProps,prevState){if(!canUseDOM)return;var _this$props6=this.props,autoOpen=_this$props6.autoOpen,open=_this$props6.open,target=_this$props6.target,wrapperOptions=_this$props6.wrapperOptions;var _treeChanges=tree_changes__WEBPACK_IMPORTED_MODULE_6___default()(prevState,this.state),changedFrom=_treeChanges.changedFrom,changedTo=_treeChanges.changedTo;if(prevProps.open!==open){var forceStatus;// always follow `open` in controlled mode 10419if(is_lite__WEBPACK_IMPORTED_MODULE_5___default.a["boolean"](open)){forceStatus=open?STATUS.OPENING:STATUS.CLOSING;}this.toggle(forceStatus);}if(prevProps.wrapperOptions.position!==wrapperOptions.position||prevProps.target!==target){this.changeWrapperPosition(this.props);}if(changedTo('status',STATUS.IDLE)&&open){this.toggle(STATUS.OPEN);}else if(changedFrom('status',STATUS.INIT,STATUS.IDLE)&&autoOpen){this.toggle(STATUS.OPEN);}if(this.popper&&changedTo('status',STATUS.OPENING)){this.popper.instance.update();}if(this.floaterRef&&(changedTo('status',STATUS.OPENING)||changedTo('status',STATUS.CLOSING))){once(this.floaterRef,'transitionend',this.handleTransitionEnd);}}},{key:"componentWillUnmount",value:function componentWillUnmount(){if(!canUseDOM)return;this._isMounted=false;if(this.popper){this.popper.instance.destroy();}if(this.wrapperPopper){this.wrapperPopper.instance.destroy();}}},{key:"initPopper",value:function initPopper(){var _this2=this;var target=arguments.length>0&&arguments[0]!==undefined?arguments[0]:this.target;var positionWrapper=this.state.positionWrapper;var _this$props7=this.props,disableFlip=_this$props7.disableFlip,getPopper=_this$props7.getPopper,hideArrow=_this$props7.hideArrow,offset=_this$props7.offset,placement=_this$props7.placement,wrapperOptions=_this$props7.wrapperOptions;var flipBehavior=placement==='top'||placement==='bottom'?'flip':['right','bottom-end','top-end','left','top-start','bottom-start'];/* istanbul ignore else */if(placement==='center'){this.setState({status:STATUS.IDLE});}else if(target&&this.floaterRef){var _this$options=this.options,arrow=_this$options.arrow,flip=_this$options.flip,offsetOptions=_this$options.offset,rest=_objectWithoutProperties(_this$options,["arrow","flip","offset"]);new popper_js__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"](target,this.floaterRef,{placement:placement,modifiers:_objectSpread2
10419({arrow:_objectSpread2({enabled:!hideArrow,element:this.arrowRef},arrow),flip:_objectSpread2({enabled:!disableFlip,behavior:flipBehavior},flip),offset:_objectSpread2({offset:"0, ".concat(offset,"px")},offsetOptions)},rest),onCreate:function onCreate(data){_this2.popper=data;getPopper(data,'floater');if(_this2._isMounted){_this2.setState({currentPlacement:data.placement,status:STATUS.IDLE});}if(placement!==data.placement){setTimeout(function(){data.instance.update();},1);}},onUpdate:function onUpdate(data){_this2.popper=data;var currentPlacement=_this2.state.currentPlacement;if(_this2._isMounted&&data.placement!==currentPlacement){_this2.setState({currentPlacement:data.placement});}}});}if(positionWrapper){var wrapperOffset=!is_lite__WEBPACK_IMPORTED_MODULE_5___default.a.undefined(wrapperOptions.offset)?wrapperOptions.offset:0;new popper_js__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"](this.target,this.wrapperRef,{placement:wrapperOptions.placement||placement,modifiers:{arrow:{enabled:false},offset:{offset:"0, ".concat(wrapperOffset,"px")},flip:{enabled:false}},onCreate:function onCreate(data){_this2.wrapperPopper=data;if(_this2._isMounted){_this2.setState({statusWrapper:STATUS.IDLE});}getPopper(data,'wrapper');if(placement!==data.placement){setTimeout(function(){data.instance.update();},1);}}});}}},{key:"changeWrapperPosition",value:function changeWrapperPosition(_ref){var target=_ref.target,wrapperOptions=_ref.wrapperOptions;this.setState({positionWrapper:wrapperOptions.position&&!!target});}},{key:"toggle",value:function toggle(forceStatus){var status=this.state.status;var nextStatus=status===STATUS.OPEN?STATUS.CLOSING:STATUS.OPENING;if(!is_lite__WEBPACK_IMPORTED_MODULE_5___default.a.undefined(forceStatus)){nextStatus=forceStatus;}this.setState({status:nextStatus});}},{key:"render",value:function render(){var _this$state3=this.state,currentPlacement=_this$state3.currentPlacement,positionWrapper=_this$state3.positionWrapper,status=_this$state3.status;var _this$props8=this.props,children=_this$props8.children,component=_this$props8.component,content=_this$props8.content,disableAnimation=_this$props8.disableAnimation,footer=_this$props8.footer,hideArrow=_this$props8.hideArrow,id=_this$props8.id,open=_this$props8.open,showCloseButton=_this$props8.showCloseButton,style=_this$props8.style,target=_this$props8.target,title=_this$props8.title;var wrapper=react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(ReactFloaterWrapper,{handleClick:this.handleClick,handleMouseEnter:this.handleMouseEnter,handleMouseLeave:this.handleMouseLeave,setChildRef:this.setChildRef,setWrapperRef:this.setWrapperRef,style:style,styles:this.styles.wrapper},children);var output={};if(positionWrapper){output.wrapperInPortal=wrapper;}else{output.wrapperAsChildren=wrapper;}return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span",null,react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(ReactFloaterPortal,{hasChildren:!!children,id:id,placement:currentPlacement,setRef:this.setFloaterRef,target:target,zIndex:this.styles.options.zIndex},react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Floater,{component:component,content:content,disableAnimation:disableAnimation,footer:footer,handleClick:this.handleClick,hideArrow:hideArrow||currentPlacement==='center',open:open,placement:currentPlacement,positionWrapper:positionWrapper,setArrowRef:this.setArrowRef,setFloaterRef:this.setFloaterRef,showCloseButton:showCloseButton,status:status,styles:this.styles,title:title}),output.wrapperInPortal),output.wrapperAsChildren);}},{key:"debug",get:function get(){var debug=this.props.debug;return debug||!!global.ReactFloaterDebug;}},{key:"event",get:function get(){var _this$props9=this.props,disableHoverToClick=_this$props9.disableHoverToClick,event=_this$props9.event;if(event==='hover'&&isMobile()&&!disableHoverToClick){return 'click';}return event;}},{key:"options",get:function get(){var options=this.props.options;return deepmerge__WEBPACK_IMPORTED_MODULE_4___default()(DEFAULTS,options||{});}},{key:"styles",get:function get(){var _this3=this;var _this$state4=this.state,status=_this$state4.status,positionWrapper=_this$state4.positionWrapper,statusWrapper=_this$state4.statusWrapper;var styles=this.props.styles;var nextStyles=deepmerge__WEBPACK_IMPORTED_MODULE_4___default()(getStyles(styles),styles);if(positionWrapper){var wrapperStyles;if(!([STATUS.IDLE].indexOf(status)!==-1)||!([STATUS.IDLE].indexOf(statusWrapper)!==-1)){wrapperStyles=nextStyles.wrapperPosition;}else{wrapperStyles=this.wrapperPopper.styles;}
10419nextStyles.wrapper=_objectSpread2({},nextStyles.wrapper,{},wrapperStyles);}/* istanbul ignore else */if(this.target){var targetStyles=window.getComputedStyle(this.target);/* istanbul ignore else */if(this.wrapperStyles){nextStyles.wrapper=_objectSpread2({},nextStyles.wrapper,{},this.wrapperStyles);}else if(!(['relative','static'].indexOf(targetStyles.position)!==-1)){this.wrapperStyles={};if(!positionWrapper){POSITIONING_PROPS.forEach(function(d){_this3.wrapperStyles[d]=targetStyles[d];});nextStyles.wrapper=_objectSpread2({},nextStyles.wrapper,{},this.wrapperStyles);this.target.style.position='relative';this.target.style.top='auto';this.target.style.right='auto';this.target.style.bottom='auto';this.target.style.left='auto';}}}return nextStyles;}},{key:"target",get:function get(){if(!canUseDOM)return null;var target=this.props.target;if(target){if(is_lite__WEBPACK_IMPORTED_MODULE_5___default.a.domElement(target)){return target;}return document.querySelector(target);}return this.childRef||this.wrapperRef;}}]);return ReactFloater;}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component);_defineProperty(ReactFloater,"propTypes",{autoOpen:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,callback:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,children:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.node,component:react_proptype_conditional_require__WEBPACK_IMPORTED_MODULE_2___default()(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.element]),function(props){return !props.content;}),content:react_proptype_conditional_require__WEBPACK_IMPORTED_MODULE_2___default()(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.node,function(props){return !props.component;}),debug:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,disableAnimation:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,disableFlip:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,disableHoverToClick:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,event:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['hover','click']),eventDelay:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,footer:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.node,getPopper:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,hideArrow:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,id:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number]),offset:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,open:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,options:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,placement:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top','top-start','top-end','bottom','bottom-start','bottom-end','left','left-start','left-end','right','right-start','right-end','auto','center']),showCloseButton:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,style:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,styles:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,target:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string]),title:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.node,wrapperOptions:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({offset:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,placement:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['top','top-start','top-end','bottom','bottom-start','bottom-end','left','left-start','left-end','right','right-start','right-end','auto']),position:prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool})});_defineProperty(ReactFloater,"defaultProps",{autoOpen:false,callback:noop,debug:false,disableAnimation:false,disableFlip:false,disableHoverToClick:false,event:'click',eventDelay:0.4,getPopper:noop,hideArrow:false,offset:15,placement:'bottom',showCloseButton:false,styles:{},target:null,wrapperOptions:{position:false}}); 10420 10421/* harmony default export */ __webpack_exports__["a"] = (ReactFloater); 10422 10423/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(24))) 10424 10425/***/ }), 10426/* 45 */ 10427/***/ (function(module, __webpack_exports__, __webpack_require__) { 10428 10429"use strict"; 10430 10431// CONCATENATED MODULE: ./node_modules/styled-components/node_modules/@emotion/memoize/dist/memoize.browser.esm.js 10432function memoize(fn) { 10433 var cache = {}; 10434 return function (arg) { 10435 if (cache[arg] === undefined) cache[arg] = fn(arg); 10436 return cache[arg]; 10437 }; 10438} 10439 10440/* harmony default export */ var memoize_browser_esm = (memoize); 10441 10442// CONCATENATED MODULE: ./node_modules/styled-components/node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js 10443 10444 10445var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInl
10445ine|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23 10446 10447var index = memoize_browser_esm(function (prop) { 10448 return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111 10449 /* o */ 10450 && prop.charCodeAt(1) === 110 10451 /* n */ 10452 && prop.charCodeAt(2) < 91; 10453} 10454/* Z+1 */ 10455); 10456 10457/* harmony default export */ var is_prop_valid_browser_esm = __webpack_exports__["a"] = (index); 10458 10459 10460/***/ }), 10461/* 46 */ 10462/***/ (function(module, __webpack_exports__, __webpack_require__) { 10463 10464"use strict"; 10465 10466// CONCATENATED MODULE: ./node_modules/is-what/dist/index.esm.js 10467/** 10468 * Returns the object type of the given payload 10469 * 10470 * @param {*} payload 10471 * @returns {string} 10472 */ 10473function getType(payload) { 10474 return Object.prototype.toString.call(payload).slice(8, -1); 10475} 10476/** 10477 * Returns whether the payload is undefined 10478 * 10479 * @param {*} payload 10480 * @returns {payload is undefined} 10481 */ 10482function isUndefined(payload) { 10483 return getType(payload) === 'Undefined'; 10484} 10485/** 10486 * Returns whether the payload is null 10487 * 10488 * @param {*} payload 10489 * @returns {payload is null} 10490 */ 10491function isNull(payload) { 10492 return getType(payload) === 'Null'; 10493} 10494/** 10495 * Returns whether the payload is a plain JavaScript object (excluding special classes or objects with other prototypes) 10496 * 10497 * @param {*} payload 10498 * @returns {payload is {[key: string]: any}} 10499 */ 10500function isPlainObject(payload) { 10501 if (getType(payload) !== 'Object') 10502 return false;
10503 return payload.constructor === Object && Object.getPrototypeOf(payload) === Object.prototype; 10504} 10505/** 10506 * Returns whether the payload is a plain JavaScript object (excluding special classes or objects with other prototypes) 10507 * 10508 * @param {*} payload 10509 * @returns {payload is {[key: string]: any}} 10510 */ 10511function isObject(payload) { 10512 return isPlainObject(payload); 10513} 10514/** 10515 * Returns whether the payload is an any kind of object (including special classes or objects with different prototypes) 10516 * 10517 * @param {*} payload 10518 * @returns {payload is {[key: string]: any}} 10519 */ 10520function isAnyObject(payload) { 10521 return getType(payload) === 'Object'; 10522} 10523/** 10524 * Returns whether the payload is an object like a type passed in < > 10525 * 10526 * Usage: isObjectLike<{id: any}>(payload) // will make sure it's an object and has an `id` prop. 10527 * 10528 * @template T this must be passed in < > 10529 * @param {*} payload 10530 * @returns {payload is T} 10531 */ 10532function isObjectLike(payload) { 10533 return isAnyObject(payload); 10534} 10535/** 10536 * Returns whether the payload is a function 10537 * 10538 * @param {*} payload 10539 * @returns {payload is Function} 10540 */ 10541function isFunction(payload) { 10542 return getType(payload) === 'Function'; 10543} 10544/** 10545 * Returns whether the payload is an array 10546 * 10547 * @param {*} payload 10548 * @returns {payload is undefined} 10549 */ 10550function isArray(payload) { 10551 return getType(payload) === 'Array'; 10552} 10553/** 10554 * Returns whether the payload is a string 10555 * 10556 * @param {*} payload 10557 * @returns {payload is string} 10558 */ 10559function isString(payload) { 10560 return getType(payload) === 'String'; 10561} 10562/** 10563 * Returns whether the payload is a string, BUT returns false for '' 10564 * 10565 * @param {*} payload 10566 * @returns {payload is string} 10567 */ 10568function isFullString(payload) { 10569 return isString(payload) && payload !== ''; 10570} 10571/** 10572 * Returns whether the payload is '' 10573 * 10574 * @param {*} payload 10575 * @returns {payload is string} 10576 */ 10577function isEmptyString(payload) { 10578 return payload === ''; 10579} 10580/** 10581 * Returns whether the payload is a number 10582 * 10583 * This will return false for NaN 10584 * 10585 * @param {*} payload 10586 * @returns {payload is number} 10587 */ 10588function isNumber(payload) { 10589 return getType(payload) === 'Number' && !isNaN(payload); 10590} 10591/** 10592 * Returns whether the payload is a boolean 10593 * 10594 * @param {*} payload 10595 * @returns {payload is boolean} 10596 */ 10597function isBoolean(payload) { 10598 return getType(payload) === 'Boolean'; 10599} 10600/** 10601 * Returns whether the payload is a regular expression (RegExp) 10602 * 10603 * @param {*} payload 10604 * @returns {payload is RegExp} 10605 */ 10606function isRegExp(payload) { 10607 return getType(payload) === 'RegExp'; 10608} 10609/** 10610 * Returns whether the payload is a Map 10611 * 10612 * @param {*} payload 10613 * @returns {payload is Map} 10614 */ 10615function isMap(payload) { 10616 return getType(payload) === 'Map'; 10617} 10618/** 10619 * Returns whether the payload is a WeakMap 10620 * 10621 * @param {*} payload 10622 * @returns {payload is WeakMap} 10623 */ 10624function isWeakMap(payload) { 10625 return getType(payload) === 'WeakMap'; 10626} 10627/** 10628 * Returns whether the payload is a Set 10629 * 10630 * @param {*} payload 10631 * @returns {payload is Set} 10632 */ 10633function isSet(payload) { 10634 return getType(payload) === 'Set'; 10635} 10636/** 10637 * Returns whether the payload is a WeakSet 10638 * 10639 * @param {*} payload 10640 * @returns {payload is WeakSet} 10641 */ 10642function isWeakSet(payload) { 10643 return getType(payload) === 'WeakSet'; 10644} 10645/** 10646 * Returns whether the payload is a Symbol 10647 * 10648 * @param {*} payload 10649 * @returns {payload is symbol} 10650 */ 10651function isSymbol(payload) { 10652 return getType(payload) === 'Symbol'; 10653} 10654/** 10655 * Returns whether the payload is a Date, and that the date is valid 10656 * 10657 * @param {*} payload 10658 * @returns {payload is Date} 10659 */ 10660function isDate(payload) { 10661 return getType(payload) === 'Date' && !isNaN(payload); 10662} 10663/** 10664 * Returns whether the payload is a Blob 10665 * 10666 * @param {*} payload 10667 * @returns {payload is Blob} 10668 */ 10669function isBlob(payload) { 10670 return getType(payload) === 'Blob'; 10671} 10672/** 10673 * Returns whether the payload is a File 10674 * 10675 * @param {*} payload 10676 * @returns {payload is File} 10677 */ 10678function isFile(payload) { 10679 return getType(payload) === 'File'; 10680} 10681/** 10682 * Returns whether the payload is a Promise 10683 * 10684 * @param {*} payload 10685 * @returns {payload is Promise} 10686 */ 10687function isPromise(payload) { 10688 return getType(payload) === 'Promise'; 10689} 10690/** 10691 * Returns whether the payload is an Error 10692 * 10693 * @param {*} payload 10694 * @returns {payload is Error} 10695 */ 10696function isError(payload) { 10697 return getType(payload) === 'Error'; 10698} 10699/** 10700 * Returns whether the payload is a primitive type (eg. Boolean | Null | Undefined | Number | String | Symbol) 10701 * 10702 * @param {*} payload 10703 * @returns {(payload is boolean | null | undefined | number | string | symbol)} 10704 */ 10705function isPrimitive(payload) { 10706 return (isBoolean(payload) || 10707 isNull(payload) || 10708 isUndefined(payload) || 10709 isNumber(payload) || 10710 isString(payload) || 10711 isSymbol(payload)); 10712} 10713/** 10714 * Returns true whether the payload is null or undefined 10715 * 10716 * @param {*} payload 10717 * @returns {(payload is null | undefined)} 10718 */ 10719function isNullOrUndefined(payload) { 10720 return isNull(payload) || isUndefined(payload); 10721} 10722/** 10723 * Does a generic check to check that the given payload is of a given type. 10724 * In cases like Number, it will return true for NaN as NaN is a Number (thanks javascript!); 10725 * It will, however, differentiate between object and null 10726 * 10727 * @template T 10728 * @param {*} payload 10729 * @param {T} type 10730 * @throws {TypeError}
10730 Will throw type error if type is an invalid type 10731 * @returns {payload is T} 10732 */ 10733function isType(payload, type) { 10734 if (!(type instanceof Function)) { 10735 throw new TypeError('Type must be a function'); 10736 } 10737 if (!Object.prototype.hasOwnProperty.call(type, 'prototype')) { 10738 throw new TypeError('Type is not a class'); 10739 } 10740 // Classes usually have names (as functions usually have names) 10741 var name = type.name; 10742 return getType(payload) === name || Boolean(payload && payload.constructor === type); 10743} 10744 10745 10746 10747// CONCATENATED MODULE: ./node_modules/merge-anything/dist/index.esm.js 10748/* unused harmony export concatArrays */ 10749/* unused harmony export merge */ 10750 10751 10752/*! ***************************************************************************** 10753Copyright (c) Microsoft Corporation. All rights reserved. 10754Licensed under the Apache License, Version 2.0 (the "License"); you may not use 10755this file except in compliance with the License. You may obtain a copy of the 10756License at http://www.apache.org/licenses/LICENSE-2.0 10757 10758THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 10759KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED 10760WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, 10761MERCHANTABLITY OR NON-INFRINGEMENT. 10762 10763See the Apache Version 2.0 License for specific language governing permissions 10764and limitations under the License. 10765***************************************************************************** */ 10766 10767function __spreadArrays() { 10768 for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; 10769 for (var r = Array(s), k = 0, i = 0; i < il; i++) 10770 for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) 10771 r[k] = a[j]; 10772 return r; 10773} 10774 10775function assignProp(carry, key, newVal, originalObject) { 10776 var propType = originalObject.propertyIsEnumerable(key) 10777 ? 'enumerable' 10778 : 'nonenumerable'; 10779 if (propType === 'enumerable') 10780 carry[key] = newVal; 10781 if (propType === 'nonenumerable') { 10782 Object.defineProperty(carry, key, { 10783 value: newVal, 10784 enumerable: false, 10785 writable: true, 10786 configurable: true 10787 }); 10788 } 10789} 10790function mergeRecursively(origin, newComer, extensions) { 10791 // work directly on newComer if its not an object 10792 if (!isPlainObject(newComer)) { 10793 // extend merge rules 10794 if (extensions && isArray(extensions)) { 10795 extensions.forEach(function (extend) { 10796 newComer = extend(origin, newComer); 10797 }); 10798 } 10799 return newComer; 10800 } 10801 // define newObject to merge all values upon 10802 var newObject = {}; 10803 if (isPlainObject(origin)) { 10804 var props_1 = Object.getOwnPropertyNames(origin); 10805 var symbols_1 = Object.getOwnPropertySymbols(origin); 10806 newObject = __spreadArrays(props_1, symbols_1).reduce(function (carry, key) { 10807 // @ts-ignore 10808 var targetVal = origin[key]; 10809 if ((!isSymbol(key) && !Object.getOwnPropertyNames(newComer).includes(key)) || 10810 (isSymbol(key) && !Object.getOwnPropertySymbols(newComer).includes(key))) { 10811 assignProp(carry, key, targetVal, origin); 10812 } 10813 return carry; 10814 }, {}); 10815 } 10816 var props = Object.getOwnPropertyNames(newComer); 10817 var symbols = Object.getOwnPropertySymbols(newComer); 10818 var result = __spreadArrays(props, symbols).reduce(function (carry, key) { 10819 // re-define the origin and newComer as targetVal and newVal 10820 var newVal = newComer[key]; 10821 var targetVal = (isPlainObject(origin)) 10822 // @ts-ignore
10823 ? origin[key] 10824 : undefined; 10825 // extend merge rules 10826 if (extensions && isArray(extensions)) { 10827 extensions.forEach(function (extend) { 10828 newVal = extend(targetVal, newVal); 10829 }); 10830 } 10831 // When newVal is an object do the merge recursively 10832 if (targetVal !== undefined && isPlainObject(newVal)) { 10833 newVal = mergeRecursively(targetVal, newVal, extensions); 10834 } 10835 assignProp(carry, key, newVal, newComer); 10836 return carry; 10837 }, newObject); 10838 return result; 10839} 10840/** 10841 * Merge anything recursively. 10842 * Objects get merged, special objects (classes etc.) are re-assigned "as is". 10843 * Basic types overwrite objects or other basic types. 10844 * 10845 * @param {(IConfig | any)} origin 10846 * @param {...any[]} newComers 10847 * @returns the result 10848 */ 10849function merge(origin) { 10850 var newComers = []; 10851 for (var _i = 1; _i < arguments.length; _i++) { 10852 newComers[_i - 1] = arguments[_i]; 10853 } 10854 var extensions = null; 10855 var base = origin; 10856 if (isPlainObject(origin) && origin.extensions && Object.keys(origin).length === 1) { 10857 base = {}; 10858 extensions = origin.extensions; 10859 } 10860 return newComers.reduce(function (result, newComer) { 10861 return mergeRecursively(result, newComer, extensions); 10862 }, base); 10863} 10864 10865function concatArrays(originVal, newVal) { 10866 if (isArray(originVal) && isArray(newVal)) { 10867 // concat logic 10868 return originVal.concat(newVal); 10869 } 10870 return newVal; // always return newVal as fallback!! 10871} 10872 10873/* harmony default export */ var index_esm = __webpack_exports__["a"] = (merge); 10874 10875 10876 10877/***/ }), 10878/* 47 */ 10879/***/ (function(module, exports, __webpack_require__) { 10880 10881"use strict"; 10882 10883Object.defineProperty(exports, "__esModule", { value: true }); 10884var React = __webpack_require__(0); 10885var ReactDOM = __webpack_require__(12); 10886var App_1 = __webpack_require__(52); 10887var wrapper = document.getElementById('app'); 10888if (wrapper) { 10889 ReactDOM.render(React.createElement(App_1.default, null), wrapper); 10890} 10891 10892 10893/***/ }), 10894/* 48 */ 10895/***/ (function(module, exports, __webpack_require__) { 10896 10897"use strict"; 10898/** @license React v16.12.0 10899 * react.production.min.js 10900 * 10901 * Copyright (c) Facebook, Inc. and its affiliates. 10902 * 10903 * This source code is licensed under the MIT license found in the 10904 * LICENSE file in the root directory of this source tree. 10905 */ 10906 10907var h=__webpack_require__(32),n="function"===typeof Symbol&&Symbol.for,p=n?Symbol.for("react.element"):60103,q=n?Symbol.for("react.portal"):60106,r=n?Symbol.for("react.fragment"):60107,t=n?Symbol.for("react.strict_mode"):60108,u=n?Symbol.for("react.profiler"):60114,v=n?Symbol.for("react.provider"):60109,w=n?Symbol.for("react.context"):60110,x=n?Symbol.for("react.forward_ref"):60112,y=n?Symbol.for("react.suspense"):60113;n&&Symbol.for("react.suspense_list"); 10908var z=n?Symbol.for("react.memo"):60115,aa=n?Symbol.for("react.lazy"):60116;n&&Symbol.for("react.fundamental");n&&Symbol.for("react.responder");n&&Symbol.for("react.scope");var A="function"===typeof Symbol&&Symbol.iterator; 10909function B(a){for(var b="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=1;c<arguments.length;c++)b+="&args[]="+encodeURIComponent(arguments[c]);return"Minified React error #"+a+"; visit "+b+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var C={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},D={}; 10910function E(a,b,c){this.props=a;this.context=b;this.refs=D;this.updater=c||C}E.prototype.isReactComponent={};E.prototype.setState=function(a,b){if("object"!==typeof a&&"function"!==typeof a&&null!=a)throw Error(B(85));this.updater.enqueueSetState(this,a,b,"setState")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,"forceUpdate")};function F(){}F.prototype=E.prototype;function G(a,b,c){this.props=a;this.context=b;this.refs=D;this.updater=c||C}var H=G.prototype=new F; 10911H.constructor=G;h(H,E.prototype);H.isPureReactComponent=!0;var I={current:null},J={current:null},K=Object.prototype.hasOwnProperty,L={key:!0,ref:!0,__self:!0,__source:!0}; 10912function M(a,b,c){var e,d={},g=null,l=null;if(null!=b)for(e in void 0!==b.ref&&(l=b.ref),void 0!==b.key&&(g=""+b.key),b)K.call(b,e)&&!L.hasOwnProperty(e)&&(d[e]=b[e]);var f=arguments.length-2;if(1===f)d.children=c;else if(1<f){for(var k=Array(f),m=0;m<f;m++)k[m]=arguments[m+2];d.children=k}if(a&&a.defaultProps)for(e in f=a.defaultProps,f)void 0===d[e]&&(d[e]=f[e]);return{$$typeof:p,type:a,key:g,ref:l,props:d,_owner:J.current}} 10913function ba(a,b){return{$$typeof:p,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}
vendor: 29,341 bytes, lines 10913-10999
10913function N(a){return"object"===typeof a&&null!==a&&a.$$typeof===p}function escape(a){var b={"=":"=0",":":"=2"};return"$"+(""+a).replace(/[=:]/g,function(a){return b[a]})}var O=/\/+/g,P=[];function Q(a,b,c,e){if(P.length){var d=P.pop();d.result=a;d.keyPrefix=b;d.func=c;d.context=e;d.count=0;return d}return{result:a,keyPrefix:b,func:c,context:e,count:0}} 10914function R(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>P.length&&P.push(a)} 10915function S(a,b,c,e){var d=typeof a;if("undefined"===d||"boolean"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case "string":case "number":g=!0;break;case "object":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,""===b?"."+T(a,0):b),1;g=0;b=""===b?".":b+":";if(Array.isArray(a))for(var l=0;l<a.length;l++){d=a[l];var f=b+T(d,l);g+=S(d,f,c,e)}else if(null===a||"object"!==typeof a?f=null:(f=A&&a[A]||a["@@iterator"],f="function"===typeof f?f:null),"function"===typeof f)for(a=f.call(a),l= 109160;!(d=a.next()).done;)d=d.value,f=b+T(d,l++),g+=S(d,f,c,e);else if("object"===d)throw c=""+a,Error(B(31,"[object Object]"===c?"object with keys {"+Object.keys(a).join(", ")+"}":c,""));return g}function U(a,b,c){return null==a?0:S(a,"",b,c)}function T(a,b){return"object"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function ca(a,b){a.func.call(a.context,b,a.count++)} 10917function da(a,b,c){var e=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?V(a,e,c,function(a){return a}):null!=a&&(N(a)&&(a=ba(a,d+(!a.key||b&&b.key===a.key?"":(""+a.key).replace(O,"$&/")+"/")+c)),e.push(a))}function V(a,b,c,e,d){var g="";null!=c&&(g=(""+c).replace(O,"$&/")+"/");b=Q(b,g,e,d);U(a,da,b);R(b)}function W(){var a=I.current;if(null===a)throw Error(B(321));return a} 10918var X={Children:{map:function(a,b,c){if(null==a)return a;var e=[];V(a,e,null,b,c);return e},forEach:function(a,b,c){if(null==a)return a;b=Q(null,null,b,c);U(a,ca,b);R(b)},count:function(a){return U(a,function(){return null},null)},toArray:function(a){var b=[];V(a,b,null,function(a){return a});return b},only:function(a){if(!N(a))throw Error(B(143));return a}},createRef:function(){return{current:null}},Component:E,PureComponent:G,createContext:function(a,b){void 0===b&&(b=null);a={$$typeof:w,_calculateChangedBits:b, 10919_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:v,_context:a};return a.Consumer=a},forwardRef:function(a){return{$$typeof:x,render:a}},lazy:function(a){return{$$typeof:aa,_ctor:a,_status:-1,_result:null}},memo:function(a,b){return{$$typeof:z,type:a,compare:void 0===b?null:b}},useCallback:function(a,b){return W().useCallback(a,b)},useContext:function(a,b){return W().useContext(a,b)},useEffect:function(a,b){return W().useEffect(a,b)},useImperativeHandle:function(a, 10920b,c){return W().useImperativeHandle(a,b,c)},useDebugValue:function(){},useLayoutEffect:function(a,b){return W().useLayoutEffect(a,b)},useMemo:function(a,b){return W().useMemo(a,b)},useReducer:function(a,b,c){return W().useReducer(a,b,c)},useRef:function(a){return W().useRef(a)},useState:function(a){return W().useState(a)},Fragment:r,Profiler:u,StrictMode:t,Suspense:y,createElement:M,cloneElement:function(a,b,c){if(null===a||void 0===a)throw Error(B(267,a));var e=h({},a.props),d=a.key,g=a.ref,l=a._owner; 10921if(null!=b){void 0!==b.ref&&(g=b.ref,l=J.current);void 0!==b.key&&(d=""+b.key);if(a.type&&a.type.defaultProps)var f=a.type.defaultProps;for(k in b)K.call(b,k)&&!L.hasOwnProperty(k)&&(e[k]=void 0===b[k]&&void 0!==f?f[k]:b[k])}var k=arguments.length-2;if(1===k)e.children=c;else if(1<k){f=Array(k);for(var m=0;m<k;m++)f[m]=arguments[m+2];e.children=f}return{$$typeof:p,type:a.type,key:d,ref:g,props:e,_owner:l}},createFactory:function(a){var b=M.bind(null,a);b.type=a;return b},isValidElement:N,version:"16.12.0", 10922__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentDispatcher:I,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:J,IsSomeRendererActing:{current:!1},assign:h}},Y={default:X},Z=Y&&X||Y;module.exports=Z.default||Z; 10923 10924 10925/***/ }), 10926/* 49 */ 10927/***/ (function(module, exports, __webpack_require__) { 10928 10929"use strict"; 10930/** @license React v16.12.0 10931 * react-dom.production.min.js 10932 * 10933 * Copyright (c) Facebook, Inc. and its affiliates. 10934 * 10935 * This source code is licensed under the MIT license found in the 10936 * LICENSE file in the root directory of this source tree. 10937 */ 10938 10939/* 10940 Modernizr 3.0.0pre (Custom Build) | MIT 10941*/ 10942var aa=__webpack_require__(0),n=__webpack_require__(32),q=__webpack_require__(50);function u(a){for(var b="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=1;c<arguments.length;c++)b+="&args[]="+encodeURIComponent(arguments[c]);return"Minified React error #"+a+"; visit "+b+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!aa)throw Error(u(227));var ba=null,ca={}; 10943function da(){if(ba)for(var a in ca){var b=ca[a],c=ba.indexOf(a);if(!(-1<c))throw Error(u(96,a));if(!ea[c]){if(!b.extractEvents)throw Error(u(97,a));ea[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;if(fa.hasOwnProperty(h))throw Error(u(99,h));fa[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&ha(k[e],g,h);e=!0}else f.registrationName?(ha(f.registrationName,g,h),e=!0):e=!1;if(!e)throw Error(u(98,d,a));}}}} 10944function ha(a,b,c){if(ia[a])throw Error(u(100,a));ia[a]=b;ja[a]=b.eventTypes[c].dependencies}var ea=[],fa={},ia={},ja={};function ka(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var la=!1,ma=null,na=!1,oa=null,pa={onError:function(a){la=!0;ma=a}};function qa(a,b,c,d,e,f,g,h,k){la=!1;ma=null;ka.apply(pa,arguments)} 10945function ra(a,b,c,d,e,f,g,h,k){qa.apply(this,arguments);if(la){if(la){var l=ma;la=!1;ma=null}else throw Error(u(198));na||(na=!0,oa=l)}}var sa=null,ua=null,va=null;function wa(a,b,c){var d=a.type||"unknown-event";a.currentTarget=va(c);ra(d,b,void 0,a);a.currentTarget=null}function xa(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]} 10946function ya(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var za=null;function Aa(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;d<b.length&&!a.isPropagationStopped();d++)wa(a,b[d],c[d]);else b&&wa(a,b,c);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a)}}function Ba(a){null!==a&&(za=xa(za,a));a=za;za=null;if(a){ya(a,Aa);if(za)throw Error(u(95));if(na)throw a=oa,na=!1,oa=null,a;}} 10947var Ca={injectEventPluginOrder:function(a){if(ba)throw Error(u(101));ba=Array.prototype.slice.call(a);da()},injectEventPluginsByName:function(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];if(!ca.hasOwnProperty(c)||ca[c]!==d){if(ca[c])throw Error(u(102,c));ca[c]=d;b=!0}}b&&da()}}; 10948function Da(a,b){var c=a.stateNode;if(!c)return null;var d=sa(c);if(!d)return null;c=d[b];a:switch(b){case "onClick":case "onClickCapture":case "onDoubleClick":case "onDoubleClickCapture":case "onMouseDown":case "onMouseDownCapture":case "onMouseMove":case "onMouseMoveCapture":case "onMouseUp":case "onMouseUpCapture":(d=!d.disabled)||(a=a.type,d=!("button"===a||"input"===a||"select"===a||"textarea"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&"function"!==typeof c)throw Error(u(231,b,typeof c)); 10949return c}var Ea=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Ea.hasOwnProperty("ReactCurrentDispatcher")||(Ea.ReactCurrentDispatcher={current:null});Ea.hasOwnProperty("ReactCurrentBatchConfig")||(Ea.ReactCurrentBatchConfig={suspense:null}); 10950var Fa=/^(.*)[\\\/]/,w="function"===typeof Symbol&&Symbol.for,Ga=w?Symbol.for("react.element"):60103,Ha=w?Symbol.for("react.portal"):60106,Ia=w?Symbol.for("react.fragment"):60107,Ja=w?Symbol.for("react.strict_mode"):60108,Ka=w?Symbol.for("react.profiler"):60114,La=w?Symbol.for("react.provider"):60109,Ma=w?Symbol.for("react.context"):60110,Na=w?Symbol.for("react.concurrent_mode"):60111,Oa=w?Symbol.for("react.forward_ref"):60112,Pa=w?Symbol.for("react.suspense"):60113,Qa=w?Symbol.for("react.suspense_list"): 1095160120,Ra=w?Symbol.for("react.memo"):60115,Sa=w?Symbol.for("react.lazy"):60116;w&&Symbol.for("react.fundamental");w&&Symbol.for("react.responder");w&&Symbol.for("react.scope");var Ta="function"===typeof Symbol&&Symbol.iterator;function Ua(a){if(null===a||"object"!==typeof a)return null;a=Ta&&a[Ta]||a["@@iterator"];return"function"===typeof a?a:null} 10952function Va(a){if(-1===a._status){a._status=0;var b=a._ctor;b=b();a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)})}} 10953function Wa(a){if(null==a)return null;if("function"===typeof a)return a.displayName||a.name||null;if("string"===typeof a)return a;switch(a){case Ia:return"Fragment";case Ha:return"Portal";case Ka:return"Profiler";case Ja:return"StrictMode";case Pa:return"Suspense";case Qa:return"SuspenseList"}if("object"===typeof a)switch(a.$$typeof){case Ma:return"Context.Consumer";case La:return"Context.Provider";case Oa:var b=a.render;b=b.displayName||b.name||"";return a.displayName||(""!==b?"ForwardRef("+b+")": 10954"ForwardRef");case Ra:return Wa(a.type);case Sa:if(a=1===a._status?a._result:null)return Wa(a)}return null}function Xa(a){var b="";do{a:switch(a.tag){case 3:case 4:case 6:case 7:case 10:case 9:var c="";break a;default:var d=a._debugOwner,e=a._debugSource,f=Wa(a.type);c=null;d&&(c=Wa(d.type));d=f;f="";e?f=" (at "+e.fileName.replace(Fa,"")+":"+e.lineNumber+")":c&&(f=" (created by "+c+")");c="\n in "+(d||"Unknown")+f}b+=c;a=a.return}while(a);return b} 10955var Ya=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement),Za=null,$a=null,ab=null;function bb(a){if(a=ua(a)){if("function"!==typeof Za)throw Error(u(280));var b=sa(a.stateNode);Za(a.stateNode,a.type,b)}}function cb(a){$a?ab?ab.push(a):ab=[a]:$a=a}function db(){if($a){var a=$a,b=ab;ab=$a=null;bb(a);if(b)for(a=0;a<b.length;a++)bb(b[a])}}function eb(a,b){return a(b)}function fb(a,b,c,d){return a(b,c,d)}function gb(){} 10956var hb=eb,ib=!1,jb=!1;function kb(){if(null!==$a||null!==ab)gb(),db()}new Map;var lb=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,mb=Object.prototype.hasOwnProperty,nb={},ob={}; 10957function pb(a){if(mb.call(ob,a))return!0;if(mb.call(nb,a))return!1;if(lb.test(a))return ob[a]=!0;nb[a]=!0;return!1}function qb(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case "function":case "symbol":return!0;case "boolean":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return"data-"!==a&&"aria-"!==a;default:return!1}} 10958function rb(a,b,c,d){if(null===b||"undefined"===typeof b||qb(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function B(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var D={}; 10959"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1)}); 10960["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1)}); 10961["checked","multiple","muted","selected"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1)});["capture","download"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1)});["cols","rows","size","span"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1)});["rowSpan","start"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1)});var sb=/[\-:]([a-z])/g;function tb(a){return a[1].toUpperCase()} 10962"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a){var b=a.replace(sb, 10963tb);D[b]=new B(b,1,!1,a,null,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a){var b=a.replace(sb,tb);D[b]=new B(b,1,!1,a,"http://www.w3.org/1999/xlink",!1)});["xml:base","xml:lang","xml:space"].forEach(function(a){var b=a.replace(sb,tb);D[b]=new B(b,1,!1,a,"http://www.w3.org/XML/1998/namespace",!1)});["tabIndex","crossOrigin"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1)}); 10964D.xlinkHref=new B("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0);["src","href","action","formAction"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0)});function ub(a){switch(typeof a){case "boolean":case "number":case "object":case "string":case "undefined":return a;default:return""}} 10965function vb(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||"o"!==b[0]&&"O"!==b[0]||"n"!==b[1]&&"N"!==b[1]?!1:!0;f||(rb(b,c,e,d)&&(c=null),d||null===e?pb(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,""+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:"":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?"":""+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))} 10966function wb(a){var b=a.type;return(a=a.nodeName)&&"input"===a.toLowerCase()&&("checkbox"===b||"radio"===b)} 10967function xb(a){var b=wb(a)?"checked":"value",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=""+a[b];if(!a.hasOwnProperty(b)&&"undefined"!==typeof c&&"function"===typeof c.get&&"function"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=""+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=""+a},stopTracking:function(){a._valueTracker= 10968null;delete a[b]}}}}function yb(a){a._valueTracker||(a._valueTracker=xb(a))}function zb(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d="";a&&(d=wb(a)?a.checked?"true":"false":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Ab(a,b){var c=b.checked;return n({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})} 10969function Bb(a,b){var c=null==b.defaultValue?"":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=ub(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:"checkbox"===b.type||"radio"===b.type?null!=b.checked:null!=b.value}}function Cb(a,b){b=b.checked;null!=b&&vb(a,"checked",b,!1)} 10970function Eb(a,b){Cb(a,b);var c=ub(b.value),d=b.type;if(null!=c)if("number"===d){if(0===c&&""===a.value||a.value!=c)a.value=""+c}else a.value!==""+c&&(a.value=""+c);else if("submit"===d||"reset"===d){a.removeAttribute("value");return}b.hasOwnProperty("value")?Fb(a,b.type,c):b.hasOwnProperty("defaultValue")&&Fb(a,b.type,ub(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)} 10971function Gb(a,b,c){if(b.hasOwnProperty("value")||b.hasOwnProperty("defaultValue")){var d=b.type;if(!("submit"!==d&&"reset"!==d||void 0!==b.value&&null!==b.value))return;b=""+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;""!==c&&(a.name="");a.defaultChecked=!a.defaultChecked;a.defaultChecked=!!a._wrapperState.initialChecked;""!==c&&(a.name=c)} 10972function Fb(a,b,c){if("number"!==b||a.ownerDocument.activeElement!==a)null==c?a.defaultValue=""+a._wrapperState.initialValue:a.defaultValue!==""+c&&(a.defaultValue=""+c)}function Hb(a){var b="";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function Ib(a,b){a=n({children:void 0},b);if(b=Hb(b.children))a.children=b;return a} 10973function Jb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b["$"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty("$"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=""+ub(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}} 10974function Kb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(u(91));return n({},b,{value:void 0,defaultValue:void 0,children:""+a._wrapperState.initialValue})}function Lb(a,b){var c=b.value;if(null==c){c=b.defaultValue;b=b.children;if(null!=b){if(null!=c)throw Error(u(92));if(Array.isArray(b)){if(!(1>=b.length))throw Error(u(93));b=b[0]}c=b}null==c&&(c="")}a._wrapperState={initialValue:ub(c)}} 10975function Mb(a,b){var c=ub(b.value),d=ub(b.defaultValue);null!=c&&(c=""+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=""+d)}function Nb(a){var b=a.textContent;b===a._wrapperState.initialValue&&""!==b&&null!==b&&(a.value=b)}var Ob={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"}; 10976function Pb(a){switch(a){case "svg":return"http://www.w3.org/2000/svg";case "math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Qb(a,b){return null==a||"http://www.w3.org/1999/xhtml"===a?Pb(b):"http://www.w3.org/2000/svg"===a&&"foreignObject"===b?"http://www.w3.org/1999/xhtml":a} 10977var Rb,Sb=function(a){return"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Ob.svg||"innerHTML"in a)a.innerHTML=b;else{Rb=Rb||document.createElement("div");Rb.innerHTML="<svg>"+b.valueOf().toString()+"</svg>";for(b=Rb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}}); 10978function Tb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Ub(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c["Webkit"+a]="webkit"+b;c["Moz"+a]="moz"+b;return c}var Vb={animationend:Ub("Animation","AnimationEnd"),animationiteration:Ub("Animation","AnimationIteration"),animationstart:Ub("Animation","AnimationStart"),transitionend:Ub("Transition","TransitionEnd")},Wb={},Xb={}; 10979Ya&&(Xb=document.createElement("div").style,"AnimationEvent"in window||(delete Vb.animationend.animation,delete Vb.animationiteration.animation,delete Vb.animationstart.animation),"TransitionEvent"in window||delete Vb.transitionend.transition);function Yb(a){if(Wb[a])return Wb[a];if(!Vb[a])return a;var b=Vb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Xb)return Wb[a]=b[c];return a}var Zb=Yb("animationend"),$b=Yb("animationiteration"),ac=Yb("animationstart"),bc=Yb("transitionend"),cc="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "); 10980function ec(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function fc(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function gc(a){if(ec(a)!==a)throw Error(u(188));} 10981function hc(a){var b=a.alternate;if(!b){b=ec(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return gc(e),a;if(f===d)return gc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h=== 10982c){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function ic(a){a=hc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null} 10983var jc,kc,lc,mc=!1,nc=[],oc=null,pc=null,qc=null,rc=new Map,sc=new Map,tc=[],uc="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit".split(" "),vc="focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture".split(" "); 10984function wc(a){var b=xc(a);uc.forEach(function(c){yc(c,a,b)});vc.forEach(function(c){yc(c,a,b)})}function zc(a,b,c,d){return{blockedOn:a,topLevelType:b,eventSystemFlags:c|32,nativeEvent:d}}function Ac(a,b){switch(a){case "focus":case "blur":oc=null;break;case "dragenter":case "dragleave":pc=null;break;case "mouseover":case "mouseout":qc=null;break;case "pointerover":case "pointerout":rc.delete(b.pointerId);break;case "gotpointercapture":case "lostpointercapture":sc.delete(b.pointerId)}} 10985function Bc(a,b,c,d,e){if(null===a||a.nativeEvent!==e)return a=zc(b,c,d,e),null!==b&&(b=Cc(b),null!==b&&kc(b)),a;a.eventSystemFlags|=d;return a}function Dc(a,b,c,d){switch(b){case "focus":return oc=Bc(oc,a,b,c,d),!0;case "dragenter":return pc=Bc(pc,a,b,c,d),!0;case "mouseover":return qc=Bc(qc,a,b,c,d),!0;case "pointerover":var e=d.pointerId;rc.set(e,Bc(rc.get(e)||null,a,b,c,d));return!0;case "gotpointercapture":return e=d.pointerId,sc.set(e,Bc(sc.get(e)||null,a,b,c,d)),!0}return!1} 10986function Ec(a){var b=Fc(a.target);if(null!==b){var c=ec(b);if(null!==c)if(b=c.tag,13===b){if(b=fc(c),null!==b){a.blockedOn=b;q.unstable_runWithPriority(a.priority,function(){lc(c)});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}function Gc(a){if(null!==a.blockedOn)return!1;var b=Hc(a.topLevelType,a.eventSystemFlags,a.nativeEvent);if(null!==b){var c=Cc(b);null!==c&&kc(c);a.blockedOn=b;return!1}return!0} 10987function Ic(a,b,c){Gc(a)&&c.delete(b)}function Jc(){for(mc=!1;0<nc.length;){var a=nc[0];if(null!==a.blockedOn){a=Cc(a.blockedOn);null!==a&&jc(a);break}var b=Hc(a.topLevelType,a.eventSystemFlags,a.nativeEvent);null!==b?a.blockedOn=b:nc.shift()}null!==oc&&Gc(oc)&&(oc=null);null!==pc&&Gc(pc)&&(pc=null);null!==qc&&Gc(qc)&&(qc=null);rc.forEach(Ic);sc.forEach(Ic)}function Kc(a,b){a.blockedOn===b&&(a.blockedOn=null,mc||(mc=!0,q.unstable_scheduleCallback(q.unstable_NormalPriority,Jc)))} 10988function Lc(a){function b(b){return Kc(b,a)}if(0<nc.length){Kc(nc[0],a);for(var c=1;c<nc.length;c++){var d=nc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==oc&&Kc(oc,a);null!==pc&&Kc(pc,a);null!==qc&&Kc(qc,a);rc.forEach(b);sc.forEach(b);for(c=0;c<tc.length;c++)d=tc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<tc.length&&(c=tc[0],null===c.blockedOn);)Ec(c),null===c.blockedOn&&tc.shift()} 10989function Mc(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}function Nc(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}function Oc(a,b,c){if(b=Da(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=xa(c._dispatchListeners,b),c._dispatchInstances=xa(c._dispatchInstances,a)} 10990function Pc(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Nc(b);for(b=c.length;0<b--;)Oc(c[b],"captured",a);for(b=0;b<c.length;b++)Oc(c[b],"bubbled",a)}}function Qc(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=Da(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=xa(c._dispatchListeners,b),c._dispatchInstances=xa(c._dispatchInstances,a))}function Rc(a){a&&a.dispatchConfig.registrationName&&Qc(a._targetInst,null,a)} 10991function Sc(a){ya(a,Pc)}function Tc(){return!0}function Uc(){return!1}function E(a,b,c,d){this.dispatchConfig=a;this._targetInst=b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):"target"===e?this.target=d:this[e]=c[e]);this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?Tc:Uc;this.isPropagationStopped=Uc;return this} 10992n(E.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():"unknown"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=Tc)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():"unknown"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=Tc)},persist:function(){this.isPersistent=Tc},isPersistent:Uc,destructor:function(){var a=this.constructor.Interface, 10993b;for(b in a)this[b]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null;this.isPropagationStopped=this.isDefaultPrevented=Uc;this._dispatchInstances=this._dispatchListeners=null}});E.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null}; 10994E.extend=function(a){function b(){}function c(){return d.apply(this,arguments)}var d=this;b.prototype=d.prototype;var e=new b;n(e,c.prototype);c.prototype=e;c.prototype.constructor=c;c.Interface=n({},d.Interface,a);c.extend=d.extend;Vc(c);return c};Vc(E);function Wc(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e}return new this(a,b,c,d)} 10995function Xc(a){if(!(a instanceof this))throw Error(u(279));a.destructor();10>this.eventPool.length&&this.eventPool.push(a)}function Vc(a){a.eventPool=[];a.getPooled=Wc;a.release=Xc}var Yc=E.extend({animationName:null,elapsedTime:null,pseudoElement:null}),Zc=E.extend({clipboardData:function(a){return"clipboardData"in a?a.clipboardData:window.clipboardData}}),$c=E.extend({view:null,detail:null}),ad=$c.extend({relatedTarget:null}); 10996function bd(a){var b=a.keyCode;"charCode"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0} 10997var cd={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},dd={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4", 10998116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},ed={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function gd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=ed[a])?!!b[a]:!1}function hd(){return gd} 10999var id=$c.extend({key:function(a){if(a.key){var b=cd[a.key]||a.key;if("Unidentified"!==b)return b}return"keypress"===a.type?(a=bd(a),13===a?"Enter":String.fromCharCode(a)):"keydown"===a.type||"keyup"===a.type?dd[a.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:hd,charCo
10999de:function(a){return"keypress"===a.type?bd(a):0},keyCode:function(a){return"keydown"===a.type||"keyup"===a.type?a.keyCode:0},which:function(a){return"keypress"=== 11000a.type?bd(a):"keydown"===a.type||"keyup"===a.type?a.keyCode:0}}),jd=0,kd=0,ld=!1,md=!1,nd=$c.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:hd,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)},movementX:function(a){if("movementX"in a)return a.movementX;var b=jd;jd=a.screenX;return ld?"mousemove"===a.type?a.screenX- 11001b:0:(ld=!0,0)},movementY:function(a){if("movementY"in a)return a.movementY;var b=kd;kd=a.screenY;return md?"mousemove"===a.type?a.screenY-b:0:(md=!0,0)}}),od=nd.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),pd=nd.extend({dataTransfer:null}),qd=$c.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:hd}),rd=E.extend({propertyName:null, 11002elapsedTime:null,pseudoElement:null}),sd=nd.extend({deltaX:function(a){return"deltaX"in a?a.deltaX:"wheelDeltaX"in a?-a.wheelDeltaX:0},deltaY:function(a){return"deltaY"in a?a.deltaY:"wheelDeltaY"in a?-a.wheelDeltaY:"wheelDelta"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),td=[["blur","blur",0],["cancel","cancel",0],["click","click",0],["close","close",0],["contextmenu","contextMenu",0],["copy","copy",0],["cut","cut",0],["auxclick","auxClick",0],["dblclick","doubleClick",0],["dragend","dragEnd", 110030],["dragstart","dragStart",0],["drop","drop",0],["focus","focus",0],["input","input",0],["invalid","invalid",0],["keydown","keyDown",0],["keypress","keyPress",0],["keyup","keyUp",0],["mousedown","mouseDown",0],["mouseup","mouseUp",0],["paste","paste",0],["pause","pause",0],["play","play",0],["pointercancel","pointerCancel",0],["pointerdown","pointerDown",0],["pointerup","pointerUp",0],["ratechange","rateChange",0],["reset","reset",0],["seeked","seeked",0],["submit","submit",0],["touchcancel","touchCancel", 110040],["touchend","touchEnd",0],["touchstart","touchStart",0],["volumechange","volumeChange",0],["drag","drag",1],["dragenter","dragEnter",1],["dragexit","dragExit",1],["dragleave","dragLeave",1],["dragover","dragOver",1],["mousemove","mouseMove",1],["mouseout","mouseOut",1],["mouseover","mouseOver",1],["pointermove","pointerMove",1],["pointerout","pointerOut",1],["pointerover","pointerOver",1],["scroll","scroll",1],["toggle","toggle",1],["touchmove","touchMove",1],["wheel","wheel",1],["abort","abort", 110052],[Zb,"animationEnd",2],[$b,"animationIteration",2],[ac,"animationStart",2],["canplay","canPlay",2],["canplaythrough","canPlayThrough",2],["durationchange","durationChange",2],["emptied","emptied",2],["encrypted","encrypted",2],["ended","ended",2],["error","error",2],["gotpointercapture","gotPointerCapture",2],["load","load",2],["loadeddata","loadedData",2],["loadedmetadata","loadedMetadata",2],["loadstart","loadStart",2],["lostpointercapture","lostPointerCapture",2],["playing","playing",2],["progress", 11006"progress",2],["seeking","seeking",2],["stalled","stalled",2],["suspend","suspend",2],["timeupdate","timeUpdate",2],[bc,"transitionEnd",2],["waiting","waiting",2]],ud={},vd={},wd=0;for(;wd<td.length;wd++){var yd=td[wd],zd=yd[0],Ad=yd[1],Bd=yd[2],Cd="on"+(Ad[0].toUpperCase()+Ad.slice(1)),Dd={phasedRegistrationNames:{bubbled:Cd,captured:Cd+"Capture"},dependencies:[zd],eventPriority:Bd};ud[Ad]=Dd;vd[zd]=Dd} 11007var Ed={eventTypes:ud,getEventPriority:function(a){a=vd[a];return void 0!==a?a.eventPriority:2},extractEvents:function(a,b,c,d){var e=vd[a];if(!e)return null;switch(a){case "keypress":if(0===bd(c))return null;case "keydown":case "keyup":a=id;break;case "blur":case "focus":a=ad;break;case "click":if(2===c.button)return null;case "auxclick":case "dblclick":case "mousedown":case "mousemove":case "mouseup":case "mouseout":case "mouseover":case "contextmenu":a=nd;break;case "drag":case "dragend":case "dragenter":case "dragexit":case "dragleave":case "dragover":case "dragstart":case "drop":a= 11008pd;break;case "touchcancel":case "touchend":case "touchmove":case "touchstart":a=qd;break;case Zb:case $b:case ac:a=Yc;break;case bc:a=rd;break;case "scroll":a=$c;break;case "wheel":a=sd;break;case "copy":case "cut":case "paste":a=Zc;break;case "gotpointercapture":case "lostpointercapture":case "pointercancel":case "pointerdown":case "pointermove":case "pointerout":case "pointerover":case "pointerup":a=od;break;default:a=E}b=a.getPooled(e,b,c,d);Sc(b);return b}},Fd=q.unstable_UserBlockingPriority, 11009Gd=q.unstable_runWithPriority,Hd=Ed.getEventPriority,Id=10,Jd=[]; 11010function Kd(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=Fc(d)}while(c);for(c=0;c<a.ancestors.length;c++){b=a.ancestors[c];var e=Mc(a.nativeEvent);d=a.topLevelType;for(var f=a.nativeEvent,g=a.eventSystemFlags,h=null,k=0;k<ea.length;k++){var l=ea[k];l&&(l=l.extractEvents(d,b,f,e,g))&&(h=xa(h,l))}Ba(h)}} 11011var Ld=!0;function F(a,b){Md(b,a,!1)}function Md(a,b,c){switch(Hd(b)){case 0:var d=Nd.bind(null,b,1);break;case 1:d=Od.bind(null,b,1);break;default:d=Pd.bind(null,b,1)}
vendor: 16,286 bytes, lines 11011-11049
11011c?a.addEventListener(b,d,!0):a.addEventListener(b,d,!1)}function Nd(a,b,c){ib||gb();var d=Pd,e=ib;ib=!0;try{fb(d,a,b,c)}finally{(ib=e)||kb()}}function Od(a,b,c){Gd(Fd,Pd.bind(null,a,b,c))} 11012function Qd(a,b,c,d){if(Jd.length){var e=Jd.pop();e.topLevelType=a;e.eventSystemFlags=b;e.nativeEvent=c;e.targetInst=d;a=e}else a={topLevelType:a,eventSystemFlags:b,nativeEvent:c,targetInst:d,ancestors:[]};try{if(b=Kd,c=a,jb)b(c,void 0);else{jb=!0;try{hb(b,c,void 0)}finally{jb=!1,kb()}}}finally{a.topLevelType=null,a.nativeEvent=null,a.targetInst=null,a.ancestors.length=0,Jd.length<Id&&Jd.push(a)}} 11013function Pd(a,b,c){if(Ld)if(0<nc.length&&-1<uc.indexOf(a))a=zc(null,a,b,c),nc.push(a);else{var d=Hc(a,b,c);null===d?Ac(a,c):-1<uc.indexOf(a)?(a=zc(d,a,b,c),nc.push(a)):Dc(d,a,b,c)||(Ac(a,c),Qd(a,b,c,null))}}function Hc(a,b,c){var d=Mc(c);d=Fc(d);if(null!==d){var e=ec(d);if(null===e)d=null;else{var f=e.tag;if(13===f){d=fc(e);if(null!==d)return d;d=null}else if(3===f){if(e.stateNode.hydrate)return 3===e.tag?e.stateNode.containerInfo:null;d=null}else e!==d&&(d=null)}}Qd(a,b,c,d);return null} 11014function Rd(a){if(!Ya)return!1;a="on"+a;var b=a in document;b||(b=document.createElement("div"),b.setAttribute(a,"return;"),b="function"===typeof b[a]);return b}var Sd=new ("function"===typeof WeakMap?WeakMap:Map);function xc(a){var b=Sd.get(a);void 0===b&&(b=new Set,Sd.set(a,b));return b} 11015function yc(a,b,c){if(!c.has(a)){switch(a){case "scroll":Md(b,"scroll",!0);break;case "focus":case "blur":Md(b,"focus",!0);Md(b,"blur",!0);c.add("blur");c.add("focus");break;case "cancel":case "close":Rd(a)&&Md(b,a,!0);break;case "invalid":case "submit":case "reset":break;default:-1===cc.indexOf(a)&&F(a,b)}c.add(a)}} 11016var Td={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0, 11017floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ud=["Webkit","ms","Moz","O"];Object.keys(Td).forEach(function(a){Ud.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);Td[b]=Td[a]})});function Vd(a,b,c){return null==b||"boolean"===typeof b||""===b?"":c||"number"!==typeof b||0===b||Td.hasOwnProperty(a)&&Td[a]?(""+b).trim():b+"px"} 11018function Wd(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf("--"),e=Vd(c,b[c],d);"float"===c&&(c="cssFloat");d?a.setProperty(c,e):a[c]=e}}var Xd=n({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}); 11019function Yd(a,b){if(b){if(Xd[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(u(137,a,""));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(u(60));if(!("object"===typeof b.dangerouslySetInnerHTML&&"__html"in b.dangerouslySetInnerHTML))throw Error(u(61));}if(null!=b.style&&"object"!==typeof b.style)throw Error(u(62,""));}} 11020function Zd(a,b){if(-1===a.indexOf("-"))return"string"===typeof b.is;switch(a){case "annotation-xml":case "color-profile":case "font-face":case "font-face-src":case "font-face-uri":case "font-face-format":case "font-face-name":case "missing-glyph":return!1;default:return!0}}function $d(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=xc(a);b=ja[b];for(var d=0;d<b.length;d++)yc(b[d],a,c)}function ae(){} 11021function be(a){a=a||("undefined"!==typeof document?document:void 0);if("undefined"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function ce(a){for(;a&&a.firstChild;)a=a.firstChild;return a}function de(a,b){var c=ce(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ce(c)}} 11022function ee(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?ee(a,b.parentNode):"contains"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function fe(){for(var a=window,b=be();b instanceof a.HTMLIFrameElement;){try{var c="string"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=be(a.document)}return b} 11023function ge(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&("input"===b&&("text"===a.type||"search"===a.type||"tel"===a.type||"url"===a.type||"password"===a.type)||"textarea"===b||"true"===a.contentEditable)}var he="$",ie="/$",je="$?",ke="$!",le=null,me=null;function ne(a,b){switch(a){case "button":case "input":case "select":case "textarea":return!!b.autoFocus}return!1} 11024function oe(a,b){return"textarea"===a||"option"===a||"noscript"===a||"string"===typeof b.children||"number"===typeof b.children||"object"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var pe="function"===typeof setTimeout?setTimeout:void 0,qe="function"===typeof clearTimeout?clearTimeout:void 0;function re(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a} 11025function se(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===he||c===ke||c===je){if(0===b)return a;b--}else c===ie&&b++}a=a.previousSibling}return null}var te=Math.random().toString(36).slice(2),ue="__reactInternalInstance$"+te,ve="__reactEventHandlers$"+te,we="__reactContainere$"+te; 11026function Fc(a){var b=a[ue];if(b)return b;for(var c=a.parentNode;c;){if(b=c[we]||c[ue]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=se(a);null!==a;){if(c=a[ue])return c;a=se(a)}return b}a=c;c=a.parentNode}return null}function Cc(a){a=a[ue]||a[we];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function xe(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function ye(a){return a[ve]||null}var ze=null,Ae=null,Be=null; 11027function Ce(){if(Be)return Be;var a,b=Ae,c=b.length,d,e="value"in ze?ze.value:ze.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return Be=e.slice(a,1<d?1-d:void 0)}var De=E.extend({data:null}),Ee=E.extend({data:null}),Fe=[9,13,27,32],Ge=Ya&&"CompositionEvent"in window,He=null;Ya&&"documentMode"in document&&(He=document.documentMode); 11028var Ie=Ya&&"TextEvent"in window&&!He,Je=Ya&&(!Ge||He&&8<He&&11>=He),Ke=String.fromCharCode(32),Le={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart", 11029captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},Me=!1; 11030function Ne(a,b){switch(a){case "keyup":return-1!==Fe.indexOf(b.keyCode);case "keydown":return 229!==b.keyCode;case "keypress":case "mousedown":case "blur":return!0;default:return!1}}function Oe(a){a=a.detail;return"object"===typeof a&&"data"in a?a.data:null}var Pe=!1;function Qe(a,b){switch(a){case "compositionend":return Oe(b);case "keypress":if(32!==b.which)return null;Me=!0;return Ke;case "textInput":return a=b.data,a===Ke&&Me?null:a;default:return null}} 11031function Re(a,b){if(Pe)return"compositionend"===a||!Ge&&Ne(a,b)?(a=Ce(),Be=Ae=ze=null,Pe=!1,a):null;switch(a){case "paste":return null;case "keypress":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case "compositionend":return Je&&"ko"!==b.locale?null:b.data;default:return null}} 11032var Se={eventTypes:Le,extractEvents:function(a,b,c,d){var e;if(Ge)b:{switch(a){case "compositionstart":var f=Le.compositionStart;break b;case "compositionend":f=Le.compositionEnd;break b;case "compositionupdate":f=Le.compositionUpdate;break b}f=void 0}else Pe?Ne(a,c)&&(f=Le.compositionEnd):"keydown"===a&&229===c.keyCode&&(f=Le.compositionStart);f?(Je&&"ko"!==c.locale&&(Pe||f!==Le.compositionStart?f===Le.compositionEnd&&Pe&&(e=Ce()):(ze=d,Ae="value"in ze?ze.value:ze.textContent,Pe=!0)),f=De.getPooled(f, 11033b,c,d),e?f.data=e:(e=Oe(c),null!==e&&(f.data=e)),Sc(f),e=f):e=null;(a=Ie?Qe(a,c):Re(a,c))?(b=Ee.getPooled(Le.beforeInput,b,c,d),b.data=a,Sc(b)):b=null;return null===e?b:null===b?e:[e,b]}},Te={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Ue(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return"input"===b?!!Te[a.type]:"textarea"===b?!0:!1} 11034var Ve={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}};function We(a,b,c){a=E.getPooled(Ve.change,a,b,c);a.type="change";cb(c);Sc(a);return a}var Xe=null,Ye=null;function Ze(a){Ba(a)}function $e(a){var b=xe(a);if(zb(b))return a}function af(a,b){if("change"===a)return b}var bf=!1;Ya&&(bf=Rd("input")&&(!document.documentMode||9<document.documentMode)); 11035function cf(){Xe&&(Xe.detachEvent("onpropertychange",df),Ye=Xe=null)}function df(a){if("value"===a.propertyName&&$e(Ye))if(a=We(Ye,a,Mc(a)),ib)Ba(a);else{ib=!0;try{eb(Ze,a)}finally{ib=!1,kb()}}}function ef(a,b,c){"focus"===a?(cf(),Xe=b,Ye=c,Xe.attachEvent("onpropertychange",df)):"blur"===a&&cf()}function ff(a){if("selectionchange"===a||"keyup"===a||"keydown"===a)return $e(Ye)}function gf(a,b){if("click"===a)return $e(b)}function hf(a,b){if("input"===a||"change"===a)return $e(b)} 11036var jf={eventTypes:Ve,_isInputEventSupported:bf,extractEvents:function(a,b,c,d){var e=b?xe(b):window,f=e.nodeName&&e.nodeName.toLowerCase();if("select"===f||"input"===f&&"file"===e.type)var g=af;else if(Ue(e))if(bf)g=hf;else{g=ff;var h=ef}else(f=e.nodeName)&&"input"===f.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)&&(g=gf);if(g&&(g=g(a,b)))return We(g,c,d);h&&h(a,e,b);"blur"===a&&(a=e._wrapperState)&&a.controlled&&"number"===e.type&&Fb(e,"number",e.value)}},kf={mouseEnter:{registrationName:"onMouseEnter", 11037dependencies:["mouseout","mouseover"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["mouseout","mouseover"]},pointerEnter:{registrationName:"onPointerEnter",dependencies:["pointerout","pointerover"]},pointerLeave:{registrationName:"onPointerLeave",dependencies:["pointerout","pointerover"]}},lf,mf={eventTypes:kf,extractEvents:function(a,b,c,d,e){var f="mouseover"===a||"pointerover"===a,g="mouseout"===a||"pointerout"===a;if(f&&0===(e&32)&&(c.relatedTarget||c.fromElement)||!g&&!f)return null; 11038e=d.window===d?d:(e=d.ownerDocument)?e.defaultView||e.parentWindow:window;if(g){if(g=b,b=(b=c.relatedTarget||c.toElement)?Fc(b):null,null!==b&&(f=ec(b),b!==f||5!==b.tag&&6!==b.tag))b=null}else g=null;if(g===b)return null;if("mouseout"===a||"mouseover"===a){var h=nd;var k=kf.mouseLeave;var l=kf.mouseEnter;var m="mouse"}else if("pointerout"===a||"pointerover"===a)h=od,k=kf.pointerLeave,l=kf.pointerEnter,m="pointer";a=null==g?e:xe(g);e=null==b?e:xe(b);k=h.getPooled(k,g,c,d);k.type=m+"leave";k.target= 11039a;k.relatedTarget=e;d=h.getPooled(l,b,c,d);d.type=m+"enter";d.target=e;d.relatedTarget=a;h=g;m=b;if(h&&m)a:{l=h;a=m;g=0;for(b=l;b;b=Nc(b))g++;b=0;for(e=a;e;e=Nc(e))b++;for(;0<g-b;)l=Nc(l),g--;for(;0<b-g;)a=Nc(a),b--;for(;g--;){if(l===a||l===a.alternate)break a;l=Nc(l);a=Nc(a)}l=null}else l=null;a=l;for(l=[];h&&h!==a;){g=h.alternate;if(null!==g&&g===a)break;l.push(h);h=Nc(h)}for(h=[];m&&m!==a;){g=m.alternate;if(null!==g&&g===a)break;h.push(m);m=Nc(m)}for(m=0;m<l.length;m++)Qc(l[m],"bubbled",k);for(m= 11040h.length;0<m--;)Qc(h[m],"captured",d);if(c===lf)return lf=null,[k];lf=c;return[k,d]}};function nf(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var of="function"===typeof Object.is?Object.is:nf,pf=Object.prototype.hasOwnProperty;function qf(a,b){if(of(a,b))return!0;if("object"!==typeof a||null===a||"object"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!pf.call(b,c[d])||!of(a[c[d]],b[c[d]]))return!1;return!0} 11041var rf=Ya&&"documentMode"in document&&11>=document.documentMode,sf={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ")}},tf=null,uf=null,vf=null,wf=!1; 11042function xf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(wf||null==tf||tf!==be(c))return null;c=tf;"selectionStart"in c&&ge(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return vf&&qf(vf,c)?null:(vf=c,a=E.getPooled(sf.select,uf,a,b),a.type="select",a.target=tf,Sc(a),a)} 11043var yf={eventTypes:sf,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=xc(e);f=ja.onSelect;for(var g=0;g<f.length;g++)if(!e.has(f[g])){e=!1;break a}e=!0}f=!e}if(f)return null;e=b?xe(b):window;switch(a){case "focus":if(Ue(e)||"true"===e.contentEditable)tf=e,uf=b,vf=null;break;case "blur":vf=uf=tf=null;break;case "mousedown":wf=!0;break;case "contextmenu":case "mouseup":case "dragend":return wf=!1,xf(c,d);case "selectionchange":if(rf)break; 11044case "keydown":case "keyup":return xf(c,d)}return null}};Ca.injectEventPluginOrder("ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" "));var zf=Cc;sa=ye;ua=zf;va=xe;Ca.injectEventPluginsByName({SimpleEventPlugin:Ed,EnterLeaveEventPlugin:mf,ChangeEventPlugin:jf,SelectEventPlugin:yf,BeforeInputEventPlugin:Se});new Set;var Af=[],Bf=-1;function G(a){0>Bf||(a.current=Af[Bf],Af[Bf]=null,Bf--)} 11045function I(a,b){Bf++;Af[Bf]=a.current;a.current=b}var Cf={},J={current:Cf},K={current:!1},Df=Cf;function Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a} 11046function Ff(a){G(K,a);G(J,a)}function Gf(a){G(K,a);G(J,a)}function Hf(a,b,c){if(J.current!==Cf)throw Error(u(168));I(J,b,a);I(K,c,a)}function If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if("function"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,Wa(b)||"Unknown",e));return n({},c,{},d)}function Jf(a){var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||Cf;Df=J.current;I(J,b,a);I(K,K.current,a);return!0} 11047function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(b=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=b,G(K,a),G(J,a),I(J,b,a)):G(K,a);I(K,c,a)} 11048var Lf=q.unstable_runWithPriority,Mf=q.unstable_scheduleCallback,Nf=q.unstable_cancelCallback,Of=q.unstable_shouldYield,Pf=q.unstable_requestPaint,Qf=q.unstable_now,Rf=q.unstable_getCurrentPriorityLevel,Sf=q.unstable_ImmediatePriority,Tf=q.unstable_UserBlockingPriority,Uf=q.unstable_NormalPriority,Vf=q.unstable_LowPriority,Wf=q.unstable_IdlePriority,Xf={},Yf=void 0!==Pf?Pf:function(){},Zf=null,$f=null,ag=!1,bg=Qf(),cg=1E4>bg?Qf:function(){return Qf()-bg}; 11049function dg(){switch(Rf()){case Sf:return 99;case Tf:return 98;case Uf:return 97;case Vf:return 96;case Wf:return 95;default:throw Error(u(332));}}function eg(a){switch(a){case 99:return Sf;case 98:return Tf;
11049case 97:return Uf;case 96:return Vf;case 95:return Wf;default:throw Error(u(332));}}function fg(a,b){a=eg(a);return Lf(a,b)}function gg(a,b,c){a=eg(a);return Mf(a,b,c)}function hg(a){null===Zf?(Zf=[a],$f=Mf(Sf,ig)):Zf.push(a);return Xf}function jg(){if(null!==$f){var a=$f;$f=null;Nf(a)}ig()} 11050function ig(){if(!ag&&null!==Zf){ag=!0;var a=0;try{var b=Zf;fg(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});Zf=null}catch(c){throw null!==Zf&&(Zf=Zf.slice(a+1)),Mf(Sf,jg),c;}finally{ag=!1}}}var kg=3;function lg(a,b,c){c/=10;return 1073741821-(((1073741821-a+b/10)/c|0)+1)*c}function mg(a,b){if(a&&a.defaultProps){b=n({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}var ng={current:null},og=null,pg=null,qg=null;function rg(){qg=pg=og=null} 11051function sg(a,b){var c=a.type._context;I(ng,c._currentValue,a);c._currentValue=b}function tg(a){var b=ng.current;G(ng,a);a.type._context._currentValue=b}function ug(a,b){for(;null!==a;){var c=a.alternate;if(a.childExpirationTime<b)a.childExpirationTime=b,null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);else if(null!==c&&c.childExpirationTime<b)c.childExpirationTime=b;else break;a=a.return}} 11052function vg(a,b){og=a;qg=pg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(a.expirationTime>=b&&(wg=!0),a.firstContext=null)}function xg(a,b){if(qg!==a&&!1!==b&&0!==b){if("number"!==typeof b||1073741823===b)qg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===pg){if(null===og)throw Error(u(308));pg=b;og.dependencies={expirationTime:0,firstContext:b,responders:null}}else pg=pg.next=b}return a._currentValue}var yg=!1; 11053function zg(a){return{baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Ag(a){return{baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}} 11054function Bg(a,b){return{expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Cg(a,b){null===a.lastUpdate?a.firstUpdate=a.lastUpdate=b:(a.lastUpdate.next=b,a.lastUpdate=b)} 11055function Dg(a,b){var c=a.alternate;if(null===c){var d=a.updateQueue;var e=null;null===d&&(d=a.updateQueue=zg(a.memoizedState))}else d=a.updateQueue,e=c.updateQueue,null===d?null===e?(d=a.updateQueue=zg(a.memoizedState),e=c.updateQueue=zg(c.memoizedState)):d=a.updateQueue=Ag(e):null===e&&(e=c.updateQueue=Ag(d));null===e||d===e?Cg(d,b):null===d.lastUpdate||null===e.lastUpdate?(Cg(d,b),Cg(e,b)):(Cg(d,b),e.lastUpdate=b)} 11056function Eg(a,b){var c=a.updateQueue;c=null===c?a.updateQueue=zg(a.memoizedState):Fg(a,c);null===c.lastCapturedUpdate?c.firstCapturedUpdate=c.lastCapturedUpdate=b:(c.lastCapturedUpdate.next=b,c.lastCapturedUpdate=b)}function Fg(a,b){var c=a.alternate;null!==c&&b===c.updateQueue&&(b=a.updateQueue=Ag(b));return b} 11057function Gg(a,b,c,d,e,f){switch(c.tag){case 1:return a=c.payload,"function"===typeof a?a.call(f,d,e):a;case 3:a.effectTag=a.effectTag&-4097|64;case 0:a=c.payload;e="function"===typeof a?a.call(f,d,e):a;if(null===e||void 0===e)break;return n({},d,e);case 2:yg=!0}return d} 11058function Hg(a,b,c,d,e){yg=!1;b=Fg(a,b);for(var f=b.baseState,g=null,h=0,k=b.firstUpdate,l=f;null!==k;){var m=k.expirationTime;m<e?(null===g&&(g=k,f=l),h<m&&(h=m)):(Ig(m,k.suspenseConfig),l=Gg(a,b,k,l,c,d),null!==k.callback&&(a.effectTag|=32,k.nextEffect=null,null===b.lastEffect?b.firstEffect=b.lastEffect=k:(b.lastEffect.nextEffect=k,b.lastEffect=k)));k=k.next}m=null;for(k=b.firstCapturedUpdate;null!==k;){var C=k.expirationTime;C<e?(null===m&&(m=k,null===g&&(f=l)),h<C&&(h=C)):(l=Gg(a,b,k,l,c,d),null!== 11059k.callback&&(a.effectTag|=32,k.nextEffect=null,null===b.lastCapturedEffect?b.firstCapturedEffect=b.lastCapturedEffect=k:(b.lastCapturedEffect.nextEffect=k,b.lastCapturedEffect=k)));k=k.next}null===g&&(b.lastUpdate=null);null===m?b.lastCapturedUpdate=null:a.effectTag|=32;null===g&&null===m&&(f=l);b.baseState=f;b.firstUpdate=g;b.firstCapturedUpdate=m;Jg(h);a.expirationTime=h;a.memoizedState=l} 11060function Kg(a,b,c){null!==b.firstCapturedUpdate&&(null!==b.lastUpdate&&(b.lastUpdate.next=b.firstCapturedUpdate,b.lastUpdate=b.lastCapturedUpdate),b.firstCapturedUpdate=b.lastCapturedUpdate=null);Lg(b.firstEffect,c);b.firstEffect=b.lastEffect=null;Lg(b.firstCapturedEffect,c);b.firstCapturedEffect=b.lastCapturedEffect=null}function Lg(a,b){for(;null!==a;){var c=a.callback;if(null!==c){a.callback=null;var d=b;if("function"!==typeof c)throw Error(u(191,c));c.call(d)}a=a.nextEffect}} 11061var Mg=Ea.ReactCurrentBatchConfig,Ng=(new aa.Component).refs;function Og(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:n({},b,c);a.memoizedState=c;d=a.updateQueue;null!==d&&0===a.expirationTime&&(d.baseState=c)} 11062var Sg={isMounted:function(a){return(a=a._reactInternalFiber)?ec(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=Pg(),e=Mg.suspense;d=Qg(d,a,e);e=Bg(d,e);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);Dg(a,e);Rg(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=Pg(),e=Mg.suspense;d=Qg(d,a,e);e=Bg(d,e);e.tag=1;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);Dg(a,e);Rg(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=Pg(),d=Mg.suspense; 11063c=Qg(c,a,d);d=Bg(c,d);d.tag=2;void 0!==b&&null!==b&&(d.callback=b);Dg(a,d);Rg(a,c)}};function Tg(a,b,c,d,e,f,g){a=a.stateNode;return"function"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!qf(c,d)||!qf(e,f):!0} 11064function Ug(a,b,c){var d=!1,e=Cf;var f=b.contextType;"object"===typeof f&&null!==f?f=xg(f):(e=L(b)?Df:J.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Ef(a,e):Cf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Sg;a.stateNode=b;b._reactInternalFiber=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b} 11065function Vg(a,b,c,d){a=b.state;"function"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);"function"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Sg.enqueueReplaceState(b,b.state,null)} 11066function Wg(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=Ng;var f=b.contextType;
vendor: 8,634 bytes, lines 11066-11084
11066"object"===typeof f&&null!==f?e.context=xg(f):(f=L(b)?Df:J.current,e.context=Ef(a,f));f=a.updateQueue;null!==f&&(Hg(a,f,c,e,d),e.state=a.memoizedState);f=b.getDerivedStateFromProps;"function"===typeof f&&(Og(a,b,f,c),e.state=a.memoizedState);"function"===typeof b.getDerivedStateFromProps||"function"===typeof e.getSnapshotBeforeUpdate||"function"!==typeof e.UNSAFE_componentWillMount&&"function"!== 11067typeof e.componentWillMount||(b=e.state,"function"===typeof e.componentWillMount&&e.componentWillMount(),"function"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Sg.enqueueReplaceState(e,e.state,null),f=a.updateQueue,null!==f&&(Hg(a,f,c,e,d),e.state=a.memoizedState));"function"===typeof e.componentDidMount&&(a.effectTag|=4)}var Xg=Array.isArray; 11068function Yg(a,b,c){a=c.ref;if(null!==a&&"function"!==typeof a&&"object"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(u(309));var d=c.stateNode}if(!d)throw Error(u(147,a));var e=""+a;if(null!==b&&null!==b.ref&&"function"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===Ng&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if("string"!==typeof a)throw Error(u(284));if(!c._owner)throw Error(u(290,a));}return a} 11069function Zg(a,b){if("textarea"!==a.type)throw Error(u(31,"[object Object]"===Object.prototype.toString.call(b)?"object with keys {"+Object.keys(b).join(", ")+"}":b,""));} 11070function $g(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b,c){a=ah(a,b,c);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag= 110712,c):d;b.effectTag=2;return c}function g(b){a&&null===b.alternate&&(b.effectTag=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=bh(c,a.mode,d),b.return=a,b;b=e(b,c,d);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props,d),d.ref=Yg(a,b,c),d.return=a,d;d=ch(c.type,c.key,c.props,null,a.mode,d);d.ref=Yg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!== 11072c.implementation)return b=dh(c,a.mode,d),b.return=a,b;b=e(b,c.children||[],d);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=eh(c,a.mode,d,f),b.return=a,b;b=e(b,c,d);b.return=a;return b}function C(a,b,c){if("string"===typeof b||"number"===typeof b)return b=bh(""+b,a.mode,c),b.return=a,b;if("object"===typeof b&&null!==b){switch(b.$$typeof){case Ga:return c=ch(b.type,b.key,b.props,null,a.mode,c),c.ref=Yg(a,null,b),c.return=a,c;case Ha:return b=dh(b,a.mode,c),b.return=a,b}if(Xg(b)|| 11073Ua(b))return b=eh(b,a.mode,c,null),b.return=a,b;Zg(a,b)}return null}function y(a,b,c,d){var e=null!==b?b.key:null;if("string"===typeof c||"number"===typeof c)return null!==e?null:h(a,b,""+c,d);if("object"===typeof c&&null!==c){switch(c.$$typeof){case Ga:return c.key===e?c.type===Ia?m(a,b,c.props.children,d,e):k(a,b,c,d):null;case Ha:return c.key===e?l(a,b,c,d):null}if(Xg(c)||Ua(c))return null!==e?null:m(a,b,c,d,null);Zg(a,c)}return null}function H(a,b,c,d,e){if("string"===typeof d||"number"===typeof d)return a= 11074a.get(c)||null,h(b,a,""+d,e);if("object"===typeof d&&null!==d){switch(d.$$typeof){case Ga:return a=a.get(null===d.key?c:d.key)||null,d.type===Ia?m(b,a,d.props.children,e,d.key):k(b,a,d,e);case Ha:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e)}if(Xg(d)||Ua(d))return a=a.get(c)||null,m(b,a,d,e,null);Zg(b,d)}return null}function z(e,g,h,k){for(var l=null,m=null,r=g,x=g=0,A=null;null!==r&&x<h.length;x++){r.index>x?(A=r,r=null):A=r.sibling;var p=y(e,r,h[x],k);if(null===p){null===r&&(r=A);break}a&& 11075r&&null===p.alternate&&b(e,r);g=f(p,g,x);null===m?l=p:m.sibling=p;m=p;r=A}if(x===h.length)return c(e,r),l;if(null===r){for(;x<h.length;x++)r=C(e,h[x],k),null!==r&&(g=f(r,g,x),null===m?l=r:m.sibling=r,m=r);return l}for(r=d(e,r);x<h.length;x++)A=H(r,e,x,h[x],k),null!==A&&(a&&null!==A.alternate&&r.delete(null===A.key?x:A.key),g=f(A,g,x),null===m?l=A:m.sibling=A,m=A);a&&r.forEach(function(a){return b(e,a)});return l}function ta(e,g,h,k){var l=Ua(h);if("function"!==typeof l)throw Error(u(150));h=l.call(h); 11076if(null==h)throw Error(u(151));for(var m=l=null,r=g,x=g=0,A=null,p=h.next();null!==r&&!p.done;x++,p=h.next()){r.index>x?(A=r,r=null):A=r.sibling;var z=y(e,r,p.value,k);if(null===z){null===r&&(r=A);break}a&&r&&null===z.alternate&&b(e,r);g=f(z,g,x);null===m?l=z:m.sibling=z;m=z;r=A}if(p.done)return c(e,r),l;if(null===r){for(;!p.done;x++,p=h.next())p=C(e,p.value,k),null!==p&&(g=f(p,g,x),null===m?l=p:m.sibling=p,m=p);return l}for(r=d(e,r);!p.done;x++,p=h.next())p=H(r,e,x,p.value,k),null!==p&&(a&&null!== 11077p.alternate&&r.delete(null===p.key?x:p.key),g=f(p,g,x),null===m?l=p:m.sibling=p,m=p);a&&r.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k="object"===typeof f&&null!==f&&f.type===Ia&&null===f.key;k&&(f=f.props.children);var l="object"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Ga:a:{l=f.key;for(k=d;null!==k;){if(k.key===l)if(7===k.tag?f.type===Ia:k.elementType===f.type){c(a,k.sibling);d=e(k,f.type===Ia?f.props.children:f.props,h);d.ref=Yg(a,k,f);d.return=a;a=d;break a}else{c(a, 11078k);break}else b(a,k);k=k.sibling}f.type===Ia?(d=eh(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=ch(f.type,f.key,f.props,null,a.mode,h),h.ref=Yg(a,d,f),h.return=a,a=h)}return g(a);case Ha:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=dh(f,a.mode,h);d.return=a;a=d}return g(a)}if("string"=== 11079typeof f||"number"===typeof f)return f=""+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h),d.return=a,a=d):(c(a,d),d=bh(f,a.mode,h),d.return=a,a=d),g(a);if(Xg(f))return z(a,d,f,h);if(Ua(f))return ta(a,d,f,h);l&&Zg(a,f);if("undefined"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||"Component"));}return c(a,d)}}var fh=$g(!0),gh=$g(!1),hh={},ih={current:hh},jh={current:hh},kh={current:hh};function lh(a){if(a===hh)throw Error(u(174));return a} 11080function mh(a,b){I(kh,b,a);I(jh,a,a);I(ih,hh,a);var c=b.nodeType;switch(c){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Qb(null,"");break;default:c=8===c?b.parentNode:b,b=c.namespaceURI||null,c=c.tagName,b=Qb(b,c)}G(ih,a);I(ih,b,a)}function nh(a){G(ih,a);G(jh,a);G(kh,a)}function oh(a){lh(kh.current);var b=lh(ih.current);var c=Qb(b,a.type);b!==c&&(I(jh,a,a),I(ih,c,a))}function ph(a){jh.current===a&&(G(ih,a),G(jh,a))}var M={current:0}; 11081function qh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===je||c.data===ke))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function rh(a,b){return{responder:a,props:b}} 11082var sh=Ea.ReactCurrentDispatcher,N=Ea.ReactCurrentBatchConfig,th=0,uh=null,O=null,vh=null,wh=null,P=null,xh=null,yh=0,zh=null,Ah=0,Bh=!1,Ch=null,Gh=0;function Q(){throw Error(u(321));}function Hh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!of(a[c],b[c]))return!1;return!0} 11083function Ih(a,b,c,d,e,f){th=f;uh=b;vh=null!==a?a.memoizedState:null;sh.current=null===vh?Jh:Kh;b=c(d,e);if(Bh){do Bh=!1,Gh+=1,vh=null!==a?a.memoizedState:null,xh=wh,zh=P=O=null,sh.current=Kh,b=c(d,e);while(Bh);Ch=null;Gh=0}sh.current=Lh;a=uh;a.memoizedState=wh;a.expirationTime=yh;a.updateQueue=zh;a.effectTag|=Ah;a=null!==O&&null!==O.next;th=0;xh=P=wh=vh=O=uh=null;yh=0;zh=null;Ah=0;if(a)throw Error(u(300));return b} 11084function Mh(){sh.current=Lh;th=0;xh=P=wh=vh=O=uh=null;yh=0;zh=null;Ah=0;Bh=!1;Ch=null;Gh=0}function Nh(){var a={memoizedState:null,baseState:null,queue:null,baseUpdate:null,next:null};null===P?wh=P=a:P=P.next=a;return P}function Oh(){if(null!==xh)P=xh,xh=P.next,O=vh,vh=null!==O?O.next:null;else{if(null===vh)throw Error(u(310));O=vh;var a={memoizedState:O.memoizedState,baseState:O.baseState,queue:O.queue,baseUpdate:O.baseUpdate,next:null};P=null===P?wh=a:P.next=a;
11084vh=O.next}return P} 11085function Ph(a,b){return"function"===typeof b?b(a):b} 11086function Qh(a){var b=Oh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;if(0<Gh){var d=c.dispatch;if(null!==Ch){var e=Ch.get(c);if(void 0!==e){Ch.delete(c);var f=b.memoizedState;do f=a(f,e.action),e=e.next;while(null!==e);of(f,b.memoizedState)||(wg=!0);b.memoizedState=f;b.baseUpdate===c.last&&(b.baseState=f);c.lastRenderedState=f;return[f,d]}}return[b.memoizedState,d]}d=c.last;var g=b.baseUpdate;f=b.baseState;null!==g?(null!==d&&(d.next=null),d=g.next):d=null!==d?d.next:null;if(null!== 11087d){var h=e=null,k=d,l=!1;do{var m=k.expirationTime;m<th?(l||(l=!0,h=g,e=f),m>yh&&(yh=m,Jg(yh))):(Ig(m,k.suspenseConfig),f=k.eagerReducer===a?k.eagerState:a(f,k.action));g=k;k=k.next}while(null!==k&&k!==d);l||(h=g,e=f);of(f,b.memoizedState)||(wg=!0);b.memoizedState=f;b.baseUpdate=h;b.baseState=e;c.lastRenderedState=f}return[b.memoizedState,c.dispatch]} 11088function Rh(a){var b=Nh();"function"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={last:null,dispatch:null,lastRenderedReducer:Ph,lastRenderedState:a};a=a.dispatch=Sh.bind(null,uh,a);return[b.memoizedState,a]}function Th(a){return Qh(Ph,a)}function Uh(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};null===zh?(zh={lastEffect:null},zh.lastEffect=a.next=a):(b=zh.lastEffect,null===b?zh.lastEffect=a.next=a:(c=b.next,b.next=a,a.next=c,zh.lastEffect=a));return a} 11089function Vh(a,b,c,d){var e=Nh();Ah|=a;e.memoizedState=Uh(b,c,void 0,void 0===d?null:d)}function Wh(a,b,c,d){var e=Oh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&Hh(d,g.deps)){Uh(0,c,f,d);return}}Ah|=a;e.memoizedState=Uh(b,c,f,d)}function Xh(a,b){return Vh(516,192,a,b)}function Yh(a,b){return Wh(516,192,a,b)} 11090function Zh(a,b){if("function"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function $h(){}function ai(a,b){Nh().memoizedState=[a,void 0===b?null:b];return a}function bi(a,b){var c=Oh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Hh(b,d[1]))return d[0];c.memoizedState=[a,b];return a} 11091function Sh(a,b,c){if(!(25>Gh))throw Error(u(301));var d=a.alternate;if(a===uh||null!==d&&d===uh)if(Bh=!0,a={expirationTime:th,suspenseConfig:null,action:c,eagerReducer:null,eagerState:null,next:null},null===Ch&&(Ch=new Map),c=Ch.get(b),void 0===c)Ch.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}else{var e=Pg(),f=Mg.suspense;e=Qg(e,a,f);f={expirationTime:e,suspenseConfig:f,action:c,eagerReducer:null,eagerState:null,next:null};var g=b.last;if(null===g)f.next=f;else{var h=g.next;null!==h&& 11092(f.next=h);g.next=f}b.last=f;if(0===a.expirationTime&&(null===d||0===d.expirationTime)&&(d=b.lastRenderedReducer,null!==d))try{var k=b.lastRenderedState,l=d(k,c);f.eagerReducer=d;f.eagerState=l;if(of(l,k))return}catch(m){}finally{}Rg(a,e)}} 11093var Lh={readContext:xg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useResponder:Q,useDeferredValue:Q,useTransition:Q},Jh={readContext:xg,useCallback:ai,useContext:xg,useEffect:Xh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Vh(4,36,Zh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Vh(4,36,a,b)},useMemo:function(a,b){var c=Nh();b=void 0===b?null:b;a=a();c.memoizedState= 11094[a,b];return a},useReducer:function(a,b,c){var d=Nh();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={last:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=Sh.bind(null,uh,a);return[d.memoizedState,a]}
vendor: 27,038 bytes, lines 11094-11160
11094,useRef:function(a){var b=Nh();a={current:a};return b.memoizedState=a},useState:Rh,useDebugValue:$h,useResponder:rh,useDeferredValue:function(a,b){var c=Rh(a),d=c[0],e=c[1];Xh(function(){q.unstable_next(function(){var c=N.suspense;N.suspense=void 0===b?null:b;try{e(a)}finally{N.suspense= 11095c}})},[a,b]);return d},useTransition:function(a){var b=Rh(!1),c=b[0],d=b[1];return[ai(function(b){d(!0);q.unstable_next(function(){var c=N.suspense;N.suspense=void 0===a?null:a;try{d(!1),b()}finally{N.suspense=c}})},[a,c]),c]}},Kh={readContext:xg,useCallback:bi,useContext:xg,useEffect:Yh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Wh(4,36,Zh.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Wh(4,36,a,b)},useMemo:function(a,b){var c=Oh();b=void 0===b? 11096null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Hh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a},useReducer:Qh,useRef:function(){return Oh().memoizedState},useState:Th,useDebugValue:$h,useResponder:rh,useDeferredValue:function(a,b){var c=Th(a),d=c[0],e=c[1];Yh(function(){q.unstable_next(function(){var c=N.suspense;N.suspense=void 0===b?null:b;try{e(a)}finally{N.suspense=c}})},[a,b]);return d},useTransition:function(a){var b=Th(!1),c=b[0],d=b[1];return[bi(function(b){d(!0);q.unstable_next(function(){var c= 11097N.suspense;N.suspense=void 0===a?null:a;try{d(!1),b()}finally{N.suspense=c}})},[a,c]),c]}},ci=null,di=null,ei=!1;function fi(a,b){var c=gi(5,null,null,0);c.elementType="DELETED";c.type="DELETED";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c} 11098function hi(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=""===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}} 11099function ii(a){if(ei){var b=di;if(b){var c=b;if(!hi(a,b)){b=re(c.nextSibling);if(!b||!hi(a,b)){a.effectTag=a.effectTag&-1025|2;ei=!1;ci=a;return}fi(ci,c)}ci=a;di=re(b.firstChild)}else a.effectTag=a.effectTag&-1025|2,ei=!1,ci=a}}function ji(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;ci=a} 11100function ki(a){if(a!==ci)return!1;if(!ei)return ji(a),ei=!0,!1;var b=a.type;if(5!==a.tag||"head"!==b&&"body"!==b&&!oe(b,a.memoizedProps))for(b=di;b;)fi(a,b),b=re(b.nextSibling);ji(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(u(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(c===ie){if(0===b){di=re(a.nextSibling);break a}b--}else c!==he&&c!==ke&&c!==je||b++}a=a.nextSibling}di=null}}else di=ci?re(a.stateNode.nextSibling):null;return!0} 11101function li(){di=ci=null;ei=!1}var mi=Ea.ReactCurrentOwner,wg=!1;function R(a,b,c,d){b.child=null===a?gh(b,null,c,d):fh(b,a.child,c,d)}function ni(a,b,c,d,e){c=c.render;var f=b.ref;vg(b,e);d=Ih(a,b,c,d,f,e);if(null!==a&&!wg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),oi(a,b,e);b.effectTag|=1;R(a,b,d,e);return b.child} 11102function pi(a,b,c,d,e,f){if(null===a){var g=c.type;if("function"===typeof g&&!qi(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,ri(a,b,g,d,e,f);a=ch(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(e<f&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:qf,c(e,d)&&a.ref===b.ref))return oi(a,b,f);b.effectTag|=1;a=ah(g,d,f);a.ref=b.ref;a.return=b;return b.child=a} 11103function ri(a,b,c,d,e,f){return null!==a&&qf(a.memoizedProps,d)&&a.ref===b.ref&&(wg=!1,e<f)?oi(a,b,f):si(a,b,c,d,f)}function ti(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.effectTag|=128}function si(a,b,c,d,e){var f=L(c)?Df:J.current;f=Ef(b,f);vg(b,e);c=Ih(a,b,c,d,f,e);if(null!==a&&!wg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),oi(a,b,e);b.effectTag|=1;R(a,b,c,e);return b.child} 11104function ui(a,b,c,d,e){if(L(c)){var f=!0;Jf(b)}else f=!1;vg(b,e);if(null===b.stateNode)null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),Ug(b,c,d,e),Wg(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;"object"===typeof l&&null!==l?l=xg(l):(l=L(c)?Df:J.current,l=Ef(b,l));var m=c.getDerivedStateFromProps,C="function"===typeof m||"function"===typeof g.getSnapshotBeforeUpdate;C||"function"!==typeof g.UNSAFE_componentWillReceiveProps&& 11105"function"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Vg(b,g,d,l);yg=!1;var y=b.memoizedState;k=g.state=y;var H=b.updateQueue;null!==H&&(Hg(b,H,d,g,e),k=b.memoizedState);h!==d||y!==k||K.current||yg?("function"===typeof m&&(Og(b,c,m,d),k=b.memoizedState),(h=yg||Tg(b,c,h,d,y,k,l))?(C||"function"!==typeof g.UNSAFE_componentWillMount&&"function"!==typeof g.componentWillMount||("function"===typeof g.componentWillMount&&g.componentWillMount(),"function"===typeof g.UNSAFE_componentWillMount&& 11106g.UNSAFE_componentWillMount()),"function"===typeof g.componentDidMount&&(b.effectTag|=4)):("function"===typeof g.componentDidMount&&(b.effectTag|=4),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):("function"===typeof g.componentDidMount&&(b.effectTag|=4),d=!1)}else g=b.stateNode,h=b.memoizedProps,g.props=b.type===b.elementType?h:mg(b.type,h),k=g.context,l=c.contextType,"object"===typeof l&&null!==l?l=xg(l):(l=L(c)?Df:J.current,l=Ef(b,l)),m=c.getDerivedStateFromProps,(C= 11107"function"===typeof m||"function"===typeof g.getSnapshotBeforeUpdate)||"function"!==typeof g.UNSAFE_componentWillReceiveProps&&"function"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&Vg(b,g,d,l),yg=!1,k=b.memoizedState,y=g.state=k,H=b.updateQueue,null!==H&&(Hg(b,H,d,g,e),y=b.memoizedState),h!==d||k!==y||K.current||yg?("function"===typeof m&&(Og(b,c,m,d),y=b.memoizedState),(m=yg||Tg(b,c,h,d,k,y,l))?(C||"function"!==typeof g.UNSAFE_componentWillUpdate&&"function"!==typeof g.componentWillUpdate|| 11108("function"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,y,l),"function"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,y,l)),"function"===typeof g.componentDidUpdate&&(b.effectTag|=4),"function"===typeof g.getSnapshotBeforeUpdate&&(b.effectTag|=256)):("function"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),"function"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),b.memoizedProps= 11109d,b.memoizedState=y),g.props=d,g.state=y,g.context=l,d=m):("function"!==typeof g.componentDidUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=4),"function"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&k===a.memoizedState||(b.effectTag|=256),d=!1);return vi(a,b,c,d,f,e)} 11110function vi(a,b,c,d,e,f){ti(a,b);var g=0!==(b.effectTag&64);if(!d&&!g)return e&&Kf(b,c,!1),oi(a,b,f);d=b.stateNode;mi.current=b;var h=g&&"function"!==typeof c.getDerivedStateFromError?null:d.render();b.effectTag|=1;null!==a&&g?(b.child=fh(b,a.child,null,f),b.child=fh(b,null,h,f)):R(a,b,h,f);b.memoizedState=d.state;e&&Kf(b,c,!0);return b.child}function wi(a){var b=a.stateNode;b.pendingContext?Hf(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Hf(a,b.context,!1);mh(a,b.containerInfo)} 11111var xi={dehydrated:null,retryTime:0}; 11112function yi(a,b,c){var d=b.mode,e=b.pendingProps,f=M.current,g=!1,h;(h=0!==(b.effectTag&64))||(h=0!==(f&2)&&(null===a||null!==a.memoizedState));h?(g=!0,b.effectTag&=-65):null!==a&&null===a.memoizedState||void 0===e.fallback||!0===e.unstable_avoidThisFallback||(f|=1);I(M,f&1,b);if(null===a){void 0!==e.fallback&&ii(b);if(g){g=e.fallback;e=eh(null,d,0,null);e.return=b;if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=eh(g,d,c,null);c.return= 11113b;e.sibling=c;b.memoizedState=xi;b.child=e;return c}d=e.children;b.memoizedState=null;return b.child=gh(b,null,d,c)}if(null!==a.memoizedState){a=a.child;d=a.sibling;if(g){e=e.fallback;c=ah(a,a.pendingProps,0);c.return=b;if(0===(b.mode&2)&&(g=null!==b.memoizedState?b.child.child:b.child,g!==a.child))for(c.child=g;null!==g;)g.return=c,g=g.sibling;d=ah(d,e,d.expirationTime);d.return=b;c.sibling=d;c.childExpirationTime=0;b.memoizedState=xi;b.child=c;return d}c=fh(b,a.child,e.children,c);b.memoizedState= 11114null;return b.child=c}a=a.child;if(g){g=e.fallback;e=eh(null,d,0,null);e.return=b;e.child=a;null!==a&&(a.return=e);if(0===(b.mode&2))for(a=null!==b.memoizedState?b.child.child:b.child,e.child=a;null!==a;)a.return=e,a=a.sibling;c=eh(g,d,c,null);c.return=b;e.sibling=c;c.effectTag|=2;e.childExpirationTime=0;b.memoizedState=xi;b.child=e;return c}b.memoizedState=null;return b.child=fh(b,a,e.children,c)} 11115function zi(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);ug(a.return,b)}function Ai(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,last:d,tail:c,tailExpiration:0,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.last=d,g.tail=c,g.tailExpiration=0,g.tailMode=e,g.lastEffect=f)} 11116function Bi(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;R(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.effectTag|=64;else{if(null!==a&&0!==(a.effectTag&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&zi(a,c);else if(19===a.tag)zi(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}I(M,d,b);if(0===(b.mode&2))b.memoizedState= 11117null;else switch(e){case "forwards":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===qh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);Ai(b,!1,e,c,f,b.lastEffect);break;case "backwards":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===qh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}Ai(b,!0,c,null,f,b.lastEffect);break;case "together":Ai(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null}return b.child} 11118function oi(a,b,c){null!==a&&(b.dependencies=a.dependencies);var d=b.expirationTime;0!==d&&Jg(d);if(b.childExpirationTime<c)return null;if(null!==a&&b.child!==a.child)throw Error(u(153));if(null!==b.child){a=b.child;c=ah(a,a.pendingProps,a.expirationTime);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=ah(a,a.pendingProps,a.expirationTime),c.return=b;c.sibling=null}return b.child}function Ci(a){a.effectTag|=4}var Hi,Ii,Ji,Ki; 11119Hi=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Ii=function(){}; 11120Ji=function(a,b,c,d,e){var f=a.memoizedProps;if(f!==d){var g=b.stateNode;lh(ih.current);a=null;switch(c){case "input":f=Ab(g,f);d=Ab(g,d);a=[];break;case "option":f=Ib(g,f);d=Ib(g,d);a=[];break;case "select":f=n({},f,{value:void 0});d=n({},d,{value:void 0});a=[];break;case "textarea":f=Kb(g,f);d=Kb(g,d);a=[];break;default:"function"!==typeof f.onClick&&"function"===typeof d.onClick&&(g.onclick=ae)}Yd(c,d);var h,k;c=null;for(h in f)if(!d.hasOwnProperty(h)&&f.hasOwnProperty(h)&&null!=f[h])if("style"=== 11121h)for(k in g=f[h],g)g.hasOwnProperty(k)&&(c||(c={}),c[k]="");else"dangerouslySetInnerHTML"!==h&&"children"!==h&&"suppressContentEditableWarning"!==h&&"suppressHydrationWarning"!==h&&"autoFocus"!==h&&(ia.hasOwnProperty(h)?a||(a=[]):(a=a||[]).push(h,null));for(h in d){var l=d[h];g=null!=f?f[h]:void 0;if(d.hasOwnProperty(h)&&l!==g&&(null!=l||null!=g))if("style"===h)if(g){for(k in g)!g.hasOwnProperty(k)||l&&l.hasOwnProperty(k)||(c||(c={}),c[k]="");for(k in l)l.hasOwnProperty(k)&&g[k]!==l[k]&&(c||(c={}), 11122c[k]=l[k])}else c||(a||(a=[]),a.push(h,c)),c=l;else"dangerouslySetInnerHTML"===h?(l=l?l.__html:void 0,g=g?g.__html:void 0,null!=l&&g!==l&&(a=a||[]).push(h,""+l)):"children"===h?g===l||"string"!==typeof l&&"number"!==typeof l||(a=a||[]).push(h,""+l):"suppressContentEditableWarning"!==h&&"suppressHydrationWarning"!==h&&(ia.hasOwnProperty(h)?(null!=l&&$d(e,h),a||g===l||(a=[])):(a=a||[]).push(h,l))}c&&(a=a||[]).push("style",c);e=a;(b.updateQueue=e)&&Ci(b)}};Ki=function(a,b,c,d){c!==d&&Ci(b)}; 11123function Li(a,b){switch(a.tailMode){case "hidden":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case "collapsed":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}} 11124function Mi(a){switch(a.tag){case 1:L(a.type)&&Ff(a);var b=a.effectTag;return b&4096?(a.effectTag=b&-4097|64,a):null;case 3:nh(a);Gf(a);b=a.effectTag;if(0!==(b&64))throw Error(u(285));a.effectTag=b&-4097|64;return a;case 5:return ph(a),null;case 13:return G(M,a),b=a.effectTag,b&4096?(a.effectTag=b&-4097|64,a):null;case 19:return G(M,a),null;case 4:return nh(a),null;case 10:return tg(a),null;default:return null}}function Ni(a,b){return{value:a,source:b,stack:Xa(b)}} 11125var Oi="function"===typeof WeakSet?WeakSet:Set;function Pi(a,b){var c=b.source,d=b.stack;null===d&&null!==c&&(d=Xa(c));null!==c&&Wa(c.type);b=b.value;null!==a&&1===a.tag&&Wa(a.type);try{console.error(b)}catch(e){setTimeout(function(){throw e;})}}function Qi(a,b){try{b.props=a.memoizedProps,b.state=a.memoizedState,b.componentWillUnmount()}catch(c){Ri(a,c)}}function Si(a){var b=a.ref;if(null!==b)if("function"===typeof b)try{b(null)}catch(c){Ri(a,c)}else b.current=null} 11126function Ti(a,b){switch(b.tag){case 0:case 11:case 15:Ui(2,0,b);break;case 1:if(b.effectTag&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:mg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}break;case 3:case 5:case 6:case 4:case 17:break;default:throw Error(u(163));}} 11127function Ui(a,b,c){c=c.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do{if(0!==(d.tag&a)){var e=d.destroy;d.destroy=void 0;void 0!==e&&e()}0!==(d.tag&b)&&(e=d.create,d.destroy=e());d=d.next}while(d!==c)}} 11128function Vi(a,b,c){"function"===typeof Wi&&Wi(b);switch(b.tag){case 0:case 11:case 14:case 15:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var d=a.next;fg(97<c?97:c,function(){var a=d;do{var c=a.destroy;if(void 0!==c){var g=b;try{c()}catch(h){Ri(g,h)}}a=a.next}while(a!==d)})}break;case 1:Si(b);c=b.stateNode;"function"===typeof c.componentWillUnmount&&Qi(b,c);break;case 5:Si(b);break;case 4:Xi(a,b,c)}} 11129function Yi(a){var b=a.alternate;a.return=null;a.child=null;a.memoizedState=null;a.updateQueue=null;a.dependencies=null;a.alternate=null;a.firstEffect=null;a.lastEffect=null;a.pendingProps=null;a.memoizedProps=null;null!==b&&Yi(b)}function Zi(a){return 5===a.tag||3===a.tag||4===a.tag} 11130function $i(a){a:{for(var b=a.return;null!==b;){if(Zi(b)){var c=b;break a}b=b.return}throw Error(u(160));}b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(u(161));}c.effectTag&16&&(Tb(b,""),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||Zi(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.effectTag&2)continue b; 11131if(null===c.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.effectTag&2)){c=c.stateNode;break a}}for(var e=a;;){var f=5===e.tag||6===e.tag;if(f){var g=f?e.stateNode:e.stateNode.instance;if(c)if(d){f=b;var h=g;g=c;8===f.nodeType?f.parentNode.insertBefore(h,g):f.insertBefore(h,g)}else b.insertBefore(g,c);else d?(h=b,8===h.nodeType?(f=h.parentNode,f.insertBefore(g,h)):(f=h,f.appendChild(g)),h=h._reactRootContainer,null!==h&&void 0!==h||null!==f.onclick||(f.onclick=ae)):b.appendChild(g)}else if(4!== 11132e.tag&&null!==e.child){e.child.return=e;e=e.child;continue}if(e===a)break;for(;null===e.sibling;){if(null===e.return||e.return===a)return;e=e.return}e.sibling.return=e.return;e=e.sibling}} 11133function Xi(a,b,c){for(var d=b,e=!1,f,g;;){if(!e){e=d.return;a:for(;;){if(null===e)throw Error(u(160));f=e.stateNode;switch(e.tag){case 5:g=!1;break a;case 3:f=f.containerInfo;g=!0;break a;case 4:f=f.containerInfo;g=!0;break a}e=e.return}e=!0}if(5===d.tag||6===d.tag){a:for(var h=a,k=d,l=c,m=k;;)if(Vi(h,m,l),null!==m.child&&4!==m.tag)m.child.return=m,m=m.child;else{if(m===k)break;for(;null===m.sibling;){if(null===m.return||m.return===k)break a;m=m.return}m.sibling.return=m.return;m=m.sibling}g?(h= 11134f,k=d.stateNode,8===h.nodeType?h.parentNode.removeChild(k):h.removeChild(k)):f.removeChild(d.stateNode)}else if(4===d.tag){if(null!==d.child){f=d.stateNode.containerInfo;g=!0;d.child.return=d;d=d.child;continue}}else if(Vi(a,d,c),null!==d.child){d.child.return=d;d=d.child;continue}if(d===b)break;for(;null===d.sibling;){if(null===d.return||d.return===b)return;d=d.return;4===d.tag&&(e=!1)}d.sibling.return=d.return;d=d.sibling}} 11135function aj(a,b){switch(b.tag){case 0:case 11:case 14:case 15:Ui(4,8,b);break;case 1:break;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps,e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[ve]=d;"input"===a&&"radio"===d.type&&null!=d.name&&Cb(c,d);Zd(a,e);b=Zd(a,d);for(e=0;e<f.length;e+=2){var g=f[e],h=f[e+1];"style"===g?Wd(c,h):"dangerouslySetInnerHTML"===g?Sb(c,h):"children"===g?Tb(c,h):vb(c,g,h,b)}switch(a){case "input":Eb(c,d);break;case "textarea":Mb(c, 11136d);break;case "select":b=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,a=d.value,null!=a?Jb(c,!!d.multiple,a,!1):b!==!!d.multiple&&(null!=d.defaultValue?Jb(c,!!d.multiple,d.defaultValue,!0):Jb(c,!!d.multiple,d.multiple?[]:"",!1))}}}break;case 6:if(null===b.stateNode)throw Error(u(162));b.stateNode.nodeValue=b.memoizedProps;break;case 3:b=b.stateNode;b.hydrate&&(b.hydrate=!1,Lc(b.containerInfo));break;case 12:break;case 13:c=b;null===b.memoizedState?d=!1:(d=!0,c=b.child,bj=cg()); 11137if(null!==c)a:for(a=c;;){if(5===a.tag)f=a.stateNode,d?(f=f.style,"function"===typeof f.setProperty?f.setProperty("display","none","important"):f.display="none"):(f=a.stateNode,e=a.memoizedProps.style,e=void 0!==e&&null!==e&&e.hasOwnProperty("display")?e.display:null,f.style.display=Vd("display",e));else if(6===a.tag)a.stateNode.nodeValue=d?"":a.memoizedProps;else if(13===a.tag&&null!==a.memoizedState&&null===a.memoizedState.dehydrated){f=a.child.sibling;f.return=a;a=f;continue}else if(null!==a.child){a.child.return= 11138a;a=a.child;continue}if(a===c)break a;for(;null===a.sibling;){if(null===a.return||a.return===c)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}cj(b);break;case 19:cj(b);break;case 17:break;case 20:break;case 21:break;default:throw Error(u(163));}}function cj(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Oi);b.forEach(function(b){var d=dj.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}var ej="function"===typeof WeakMap?WeakMap:Map; 11139function fj(a,b,c){c=Bg(c,null);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){gj||(gj=!0,hj=d);Pi(a,b)};return c} 11140function ij(a,b,c){c=Bg(c,null);c.tag=3;var d=a.type.getDerivedStateFromError;if("function"===typeof d){var e=b.value;c.payload=function(){Pi(a,b);return d(e)}}var f=a.stateNode;null!==f&&"function"===typeof f.componentDidCatch&&(c.callback=function(){"function"!==typeof d&&(null===jj?jj=new Set([this]):jj.add(this),Pi(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:""})});return c} 11141var kj=Math.ceil,lj=Ea.ReactCurrentDispatcher,mj=Ea.ReactCurrentOwner,S=0,nj=8,oj=16,pj=32,qj=0,rj=1,sj=2,tj=3,uj=4,vj=5,T=S,U=null,V=null,W=0,X=qj,wj=null,xj=1073741823,yj=1073741823,zj=null,Aj=0,Bj=!1,bj=0,Cj=500,Y=null,gj=!1,hj=null,jj=null,Dj=!1,Ej=null,Fj=90,Gj=null,Hj=0,Ij=null,Jj=0;function Pg(){return(T&(oj|pj))!==S?1073741821-(cg()/10|0):0!==Jj?Jj:Jj=1073741821-(cg()/10|0)} 11142function Qg(a,b,c){b=b.mode;if(0===(b&2))return 1073741823;var d=dg();if(0===(b&4))return 99===d?1073741823:1073741822;if((T&oj)!==S)return W;if(null!==c)a=lg(a,c.timeoutMs|0||5E3,250);else switch(d){case 99:a=1073741823;break;case 98:a=lg(a,150,100);break;case 97:case 96:a=lg(a,5E3,250);break;case 95:a=2;break;default:throw Error(u(326));}null!==U&&a===W&&--a;return a} 11143function Rg(a,b){if(50<Hj)throw Hj=0,Ij=null,Error(u(185));a=Kj(a,b);if(null!==a){var c=dg();1073741823===b?(T&nj)!==S&&(T&(oj|pj))===S?Lj(a):(Z(a),T===S&&jg()):Z(a);(T&4)===S||98!==c&&99!==c||(null===Gj?Gj=new Map([[a,b]]):(c=Gj.get(a),(void 0===c||c>b)&&Gj.set(a,b)))}} 11144function Kj(a,b){a.expirationTime<b&&(a.expirationTime=b);var c=a.alternate;null!==c&&c.expirationTime<b&&(c.expirationTime=b);var d=a.return,e=null;if(null===d&&3===a.tag)e=a.stateNode;else for(;null!==d;){c=d.alternate;d.childExpirationTime<b&&(d.childExpirationTime=b);null!==c&&c.childExpirationTime<b&&(c.childExpirationTime=b);if(null===d.return&&3===d.tag){e=d.stateNode;break}d=d.return}null!==e&&(U===e&&(Jg(b),X===uj&&Mj(e,W)),Nj(e,b));return e} 11145function Oj(a){var b=a.lastExpiredTime;if(0!==b)return b;b=a.firstPendingTime;if(!Pj(a,b))return b;b=a.lastPingedTime;a=a.nextKnownPendingLevel;return b>a?b:a} 11146function Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=hg(Lj.bind(null,a));else{var b=Oj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Pg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Xf&&Nf(c)}a.callbackExpirationTime= 11147b;a.callbackPriority=d;b=1073741823===b?hg(Lj.bind(null,a)):gg(d,Qj.bind(null,a),{timeout:10*(1073741821-b)-cg()});a.callbackNode=b}}} 11148function Qj(a,b){Jj=0;if(b)return b=Pg(),Rj(a,b),Z(a),null;var c=Oj(a);if(0!==c){b=a.callbackNode;if((T&(oj|pj))!==S)throw Error(u(327));Sj();a===U&&c===W||Tj(a,c);if(null!==V){var d=T;T|=oj;var e=Uj(a);do try{Vj();break}catch(h){Wj(a,h)}while(1);rg();T=d;lj.current=e;if(X===rj)throw b=wj,Tj(a,c),Mj(a,c),Z(a),b;if(null===V)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=X,U=null,d){case qj:case rj:throw Error(u(345));case sj:Rj(a,2<c?2:c);break;case tj:Mj(a,c);d=a.lastSuspendedTime; 11149c===d&&(a.nextKnownPendingLevel=Xj(e));if(1073741823===xj&&(e=bj+Cj-cg(),10<e)){if(Bj){var f=a.lastPingedTime;if(0===f||f>=c){a.lastPingedTime=c;Tj(a,c);break}}f=Oj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=pe(Yj.bind(null,a),e);break}Yj(a);break;case uj:Mj(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Xj(e));if(Bj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Tj(a,c);break}e=Oj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime= 11150d;break}1073741823!==yj?d=10*(1073741821-yj)-cg():1073741823===xj?d=0:(d=10*(1073741821-xj)-5E3,e=cg(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*kj(d/1960))-d,c<d&&(d=c));if(10<d){a.timeoutHandle=pe(Yj.bind(null,a),d);break}Yj(a);break;case vj:if(1073741823!==xj&&null!==zj){f=xj;var g=zj;d=g.busyMinDurationMs|0;0>=d?d=0:(e=g.busyDelayMs|0,f=cg()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10<d){Mj(a,c);a.timeoutHandle= 11151pe(Yj.bind(null,a),d);break}}Yj(a);break;default:throw Error(u(329));}Z(a);if(a.callbackNode===b)return Qj.bind(null,a)}}return null} 11152function Lj(a){var b=a.lastExpiredTime;b=0!==b?b:1073741823;if(a.finishedExpirationTime===b)Yj(a);else{if((T&(oj|pj))!==S)throw Error(u(327));Sj();a===U&&b===W||Tj(a,b);if(null!==V){var c=T;T|=oj;var d=Uj(a);do try{Zj();break}catch(e){Wj(a,e)}while(1);rg();T=c;lj.current=d;if(X===rj)throw c=wj,Tj(a,b),Mj(a,b),Z(a),c;if(null!==V)throw Error(u(261));a.finishedWork=a.current.alternate;a.finishedExpirationTime=b;U=null;Yj(a);Z(a)}}return null} 11153function ak(){if(null!==Gj){var a=Gj;Gj=null;a.forEach(function(a,c){Rj(c,a);Z(c)});jg()}}function bk(a,b){var c=T;T|=1;try{return a(b)}finally{T=c,T===S&&jg()}}function ck(a,b){var c=T;T&=-2;T|=nj;try{return a(b)}finally{T=c,T===S&&jg()}} 11154function Tj(a,b){a.finishedWork=null;a.finishedExpirationTime=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,qe(c));if(null!==V)for(c=V.return;null!==c;){var d=c;switch(d.tag){case 1:var e=d.type.childContextTypes;null!==e&&void 0!==e&&Ff(d);break;case 3:nh(d);Gf(d);break;case 5:ph(d);break;case 4:nh(d);break;case 13:G(M,d);break;case 19:G(M,d);break;case 10:tg(d)}c=c.return}U=a;V=ah(a.current,null,b);W=b;X=qj;wj=null;yj=xj=1073741823;zj=null;Aj=0;Bj=!1} 11155function Wj(a,b){do{try{rg();Mh();if(null===V||null===V.return)return X=rj,wj=b,null;a:{var c=a,d=V.return,e=V,f=b;b=W;e.effectTag|=2048;e.firstEffect=e.lastEffect=null;if(null!==f&&"object"===typeof f&&"function"===typeof f.then){var g=f,h=0!==(M.current&1),k=d;do{var l;if(l=13===k.tag){var m=k.memoizedState;if(null!==m)l=null!==m.dehydrated?!0:!1;else{var C=k.memoizedProps;l=void 0===C.fallback?!1:!0!==C.unstable_avoidThisFallback?!0:h?!1:!0}}if(l){var y=k.updateQueue;if(null===y){var H=new Set; 11156H.add(g);k.updateQueue=H}else y.add(g);if(0===(k.mode&2)){k.effectTag|=64;e.effectTag&=-2981;if(1===e.tag)if(null===e.alternate)e.tag=17;else{var z=Bg(1073741823,null);z.tag=2;Dg(e,z)}e.expirationTime=1073741823;break a}f=void 0;e=b;var ta=c.pingCache;null===ta?(ta=c.pingCache=new ej,f=new Set,ta.set(g,f)):(f=ta.get(g),void 0===f&&(f=new Set,ta.set(g,f)));if(!f.has(e)){f.add(e);var r=dk.bind(null,c,g,e);g.then(r,r)}k.effectTag|=4096;k.expirationTime=b;break a}k=k.return}while(null!==k);f=Error((Wa(e.type)|| 11157"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display."+Xa(e))}X!==vj&&(X=sj);f=Ni(f,e);k=d;do{switch(k.tag){case 3:g=f;k.effectTag|=4096;k.expirationTime=b;var x=fj(k,g,b);Eg(k,x);break a;case 1:g=f;var A=k.type,p=k.stateNode;if(0===(k.effectTag&64)&&("function"===typeof A.getDerivedStateFromError||null!==p&&"function"===typeof p.componentDidCatch&& 11158(null===jj||!jj.has(p)))){k.effectTag|=4096;k.expirationTime=b;var t=ij(k,g,b);Eg(k,t);break a}}k=k.return}while(null!==k)}V=ek(V)}catch(v){b=v;continue}break}while(1)}function Uj(){var a=lj.current;lj.current=Lh;return null===a?Lh:a}function Ig(a,b){a<xj&&2<a&&(xj=a);null!==b&&a<yj&&2<a&&(yj=a,zj=b)}function Jg(a){a>Aj&&(Aj=a)}function Zj(){for(;null!==V;)V=fk(V)}function Vj(){for(;null!==V&&!Of();)V=fk(V)} 11159function fk(a){var b=gk(a.alternate,a,W);a.memoizedProps=a.pendingProps;null===b&&(b=ek(a));mj.current=null;return b} 11160function ek(a){V=a;do{var b=V.alternate;a=V.return;if(0===(V.effectTag&2048)){a:{var c=b;b=V;var d=W;
11160var e=b.pendingProps;switch(b.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:L(b.type)&&Ff(b);break;case 3:nh(b);Gf(b);e=b.stateNode;e.pendingContext&&(e.context=e.pendingContext,e.pendingContext=null);(null===c||null===c.child)&&ki(b)&&Ci(b);Ii(b);break;case 5:ph(b);d=lh(kh.current);var f=b.type;if(null!==c&&null!=b.stateNode)Ji(c,b,f,e,d),c.ref!==b.ref&&(b.effectTag|=128);else if(e){var g= 11161lh(ih.current);if(ki(b)){e=b;var h=e.stateNode;c=e.type;var k=e.memoizedProps,l=d;h[ue]=e;h[ve]=k;f=void 0;d=h;switch(c){case "iframe":case "object":case "embed":F("load",d);break;case "video":case "audio":for(h=0;h<cc.length;h++)F(cc[h],d);break;case "source":F("error",d);break;case "img":case "image":case "link":F("error",d);F("load",d);break;case "form":F("reset",d);F("submit",d);break;case "details":F("toggle",d);break;case "input":Bb(d,k);F("invalid",d);$d(l,"onChange");break;case "select":d._wrapperState= 11162{wasMultiple:!!k.multiple};F("invalid",d);$d(l,"onChange");break;case "textarea":Lb(d,k),F("invalid",d),$d(l,"onChange")}Yd(c,k);h=null;for(f in k)k.hasOwnProperty(f)&&(g=k[f],"children"===f?"string"===typeof g?d.textContent!==g&&(h=["children",g]):"number"===typeof g&&d.textContent!==""+g&&(h=["children",""+g]):ia.hasOwnProperty(f)&&null!=g&&$d(l,f));switch(c){case "input":yb(d);Gb(d,k,!0);break;case "textarea":yb(d);Nb(d,k);break;case "select":case "option":break;default:"function"===typeof k.onClick&& 11163(d.onclick=ae)}f=h;e.updateQueue=f;e=null!==f?!0:!1;e&&Ci(b)}else{c=b;l=f;k=e;h=9===d.nodeType?d:d.ownerDocument;g===Ob.html&&(g=Pb(l));g===Ob.html?"script"===l?(k=h.createElement("div"),k.innerHTML="<script>\x3c/script>",h=k.removeChild(k.firstChild)):"string"===typeof k.is?h=h.createElement(l,{is:k.is}):(h=h.createElement(l),"select"===l&&(l=h,k.multiple?l.multiple=!0:k.size&&(l.size=k.size))):h=h.createElementNS(g,l);k=h;k[ue]=c;k[ve]=e;Hi(k,b,!1,!1);b.stateNode=k;l=f;c=e;var m=d,C=Zd(l,c);switch(l){case "iframe":case "object":case "embed":F("load", 11164k);d=c;break;case "video":case "audio":for(d=0;d<cc.length;d++)F(cc[d],k);d=c;break;case "source":F("error",k);d=c;break;case "img":case "image":case "link":F("error",k);F("load",k);d=c;break;case "form":F("reset",k);F("submit",k);d=c;break;case "details":F("toggle",k);d=c;break;case "input":Bb(k,c);d=Ab(k,c);F("invalid",k);$d(m,"onChange");break;case "option":d=Ib(k,c);break;case "select":k._wrapperState={wasMultiple:!!c.multiple};d=n({},c,{value:void 0});F("invalid",k);$d(m,"onChange");break;case "textarea":Lb(k, 11165c);d=Kb(k,c);F("invalid",k);$d(m,"onChange");break;default:d=c}Yd(l,d);h=void 0;g=l;var y=k,H=d;for(h in H)if(H.hasOwnProperty(h)){var z=H[h];"style"===h?Wd(y,z):"dangerouslySetInnerHTML"===h?(z=z?z.__html:void 0,null!=z&&Sb(y,z)):"children"===h?"string"===typeof z?("textarea"!==g||""!==z)&&Tb(y,z):"number"===typeof z&&Tb(y,""+z):"suppressContentEditableWarning"!==h&&"suppressHydrationWarning"!==h&&"autoFocus"!==h&&(ia.hasOwnProperty(h)?null!=z&&$d(m,h):null!=z&&vb(y,h,z,C))}switch(l){case "input":yb(k); 11166Gb(k,c,!1);break;case "textarea":yb(k);Nb(k,c);break;case "option":null!=c.value&&k.setAttribute("value",""+ub(c.value));break;case "select":d=k;d.multiple=!!c.multiple;k=c.value;null!=k?Jb(d,!!c.multiple,k,!1):null!=c.defaultValue&&Jb(d,!!c.multiple,c.defaultValue,!0);break;default:"function"===typeof d.onClick&&(k.onclick=ae)}(e=ne(f,e))&&Ci(b)}null!==b.ref&&(b.effectTag|=128)}else if(null===b.stateNode)throw Error(u(166));break;case 6:if(c&&null!=b.stateNode)Ki(c,b,c.memoizedProps,e);else{if("string"!== 11167typeof e&&null===b.stateNode)throw Error(u(166));d=lh(kh.current);lh(ih.current);ki(b)?(e=b,f=e.stateNode,d=e.memoizedProps,f[ue]=e,(e=f.nodeValue!==d)&&Ci(b)):(f=b,e=(9===d.nodeType?d:d.ownerDocument).createTextNode(e),e[ue]=f,b.stateNode=e)}break;case 11:break;case 13:G(M,b);e=b.memoizedState;if(0!==(b.effectTag&64)){b.expirationTime=d;break a}e=null!==e;f=!1;null===c?void 0!==b.memoizedProps.fallback&&ki(b):(d=c.memoizedState,f=null!==d,e||null===d||(d=c.child.sibling,null!==d&&(k=b.firstEffect, 11168null!==k?(b.firstEffect=d,d.nextEffect=k):(b.firstEffect=b.lastEffect=d,d.nextEffect=null),d.effectTag=8)));if(e&&!f&&0!==(b.mode&2))if(null===c&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(M.current&1))X===qj&&(X=tj);else{if(X===qj||X===tj)X=uj;0!==Aj&&null!==U&&(Mj(U,W),Nj(U,Aj))}if(e||f)b.effectTag|=4;break;case 7:break;case 8:break;case 12:break;case 4:nh(b);Ii(b);break;case 10:tg(b);break;case 9:break;case 14:break;case 17:L(b.type)&&Ff(b);break;case 19:G(M,b);e=b.memoizedState;if(null=== 11169e)break;f=0!==(b.effectTag&64);k=e.rendering;if(null===k)if(f)Li(e,!1);else{if(X!==qj||null!==c&&0!==(c.effectTag&64))for(c=b.child;null!==c;){k=qh(c);if(null!==k){b.effectTag|=64;Li(e,!1);f=k.updateQueue;null!==f&&(b.updateQueue=f,b.effectTag|=4);null===e.lastEffect&&(b.firstEffect=null);b.lastEffect=e.lastEffect;e=d;for(f=b.child;null!==f;)d=f,c=e,d.effectTag&=2,d.nextEffect=null,d.firstEffect=null,d.lastEffect=null,k=d.alternate,null===k?(d.childExpirationTime=0,d.expirationTime=c,d.child=null, 11170d.memoizedProps=null,d.memoizedState=null,d.updateQueue=null,d.dependencies=null):(d.childExpirationTime=k.childExpirationTime,d.expirationTime=k.expirationTime,d.child=k.child,d.memoizedProps=k.memoizedProps,d.memoizedState=k.memoizedState,d.updateQueue=k.updateQueue,c=k.dependencies,d.dependencies=null===c?null:{expirationTime:c.expirationTime,firstContext:c.firstContext,responders:c.responders}),f=f.sibling;I(M,M.current&1|2,b);b=b.child;break a}c=c.sibling}}else{if(!f)if(c=qh(k),null!==c){if(b.effectTag|= 1117164,f=!0,d=c.updateQueue,null!==d&&(b.updateQueue=d,b.effectTag|=4),Li(e,!0),null===e.tail&&"hidden"===e.tailMode&&!k.alternate){b=b.lastEffect=e.lastEffect;null!==b&&(b.nextEffect=null);break}}else cg()>e.tailExpiration&&1<d&&(b.effectTag|=64,f=!0,Li(e,!1),b.expirationTime=b.childExpirationTime=d-1);e.isBackwards?(k.sibling=b.child,b.child=k):(d=e.last,null!==d?d.sibling=k:b.child=k,e.last=k)}if(null!==e.tail){0===e.tailExpiration&&(e.tailExpiration=cg()+500);d=e.tail;e.rendering=d;e.tail=d.sibling; 11172e.lastEffect=b.lastEffect;d.sibling=null;e=M.current;e=f?e&1|2:e&1;I(M,e,b);b=d;break a}break;case 20:break;case 21:break;default:throw Error(u(156,b.tag));}b=null}e=V;if(1===W||1!==e.childExpirationTime){f=0;for(d=e.child;null!==d;)c=d.expirationTime,k=d.childExpirationTime,c>f&&(f=c),k>f&&(f=k),d=d.sibling;e.childExpirationTime=f}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=V.firstEffect),null!==V.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect= 11173V.firstEffect),a.lastEffect=V.lastEffect),1<V.effectTag&&(null!==a.lastEffect?a.lastEffect.nextEffect=V:a.firstEffect=V,a.lastEffect=V))}else{b=Mi(V,W);if(null!==b)return b.effectTag&=2047,b;null!==a&&(a.firstEffect=a.lastEffect=null,a.effectTag|=2048)}b=V.sibling;if(null!==b)return b;V=a}while(null!==V);X===qj&&(X=vj);return null}function Xj(a){var b=a.expirationTime;a=a.childExpirationTime;return b>a?b:a}function Yj(a){var b=dg();fg(99,ik.bind(null,a,b));return null} 11174function ik(a,b){do Sj();while(null!==Ej);if((T&(oj|pj))!==S)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;
vendor: 24,579 bytes, lines 11174-11268
11174if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Xj(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime= 11175d-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===U&&(V=U=null,W=0);1<c.effectTag?null!==c.lastEffect?(c.lastEffect.nextEffect=c,e=c.firstEffect):e=c:e=c.firstEffect;if(null!==e){var f=T;T|=pj;mj.current=null;le=Ld;var g=fe();if(ge(g)){if("selectionStart"in g)var h={start:g.selectionStart,end:g.selectionEnd};else a:{h=(h=g.ownerDocument)&&h.defaultView||window;var k=h.getSelection&&h.getSelection();if(k&&0!==k.rangeCount){h=k.anchorNode;var l=k.anchorOffset, 11176m=k.focusNode;k=k.focusOffset;try{h.nodeType,m.nodeType}catch(Db){h=null;break a}var C=0,y=-1,H=-1,z=0,ta=0,r=g,x=null;b:for(;;){for(var A;;){r!==h||0!==l&&3!==r.nodeType||(y=C+l);r!==m||0!==k&&3!==r.nodeType||(H=C+k);3===r.nodeType&&(C+=r.nodeValue.length);if(null===(A=r.firstChild))break;x=r;r=A}for(;;){if(r===g)break b;x===h&&++z===l&&(y=C);x===m&&++ta===k&&(H=C);if(null!==(A=r.nextSibling))break;r=x;x=r.parentNode}r=A}h=-1===y||-1===H?null:{start:y,end:H}}else h=null}h=h||{start:0,end:0}}else h= 11177null;me={focusedElem:g,selectionRange:h};Ld=!1;Y=e;do try{jk()}catch(Db){if(null===Y)throw Error(u(330));Ri(Y,Db);Y=Y.nextEffect}while(null!==Y);Y=e;do try{for(g=a,h=b;null!==Y;){var p=Y.effectTag;p&16&&Tb(Y.stateNode,"");if(p&128){var t=Y.alternate;if(null!==t){var v=t.ref;null!==v&&("function"===typeof v?v(null):v.current=null)}}switch(p&1038){case 2:$i(Y);Y.effectTag&=-3;break;case 6:$i(Y);Y.effectTag&=-3;aj(Y.alternate,Y);break;case 1024:Y.effectTag&=-1025;break;case 1028:Y.effectTag&=-1025;aj(Y.alternate, 11178Y);break;case 4:aj(Y.alternate,Y);break;case 8:l=Y,Xi(g,l,h),Yi(l)}Y=Y.nextEffect}}catch(Db){if(null===Y)throw Error(u(330));Ri(Y,Db);Y=Y.nextEffect}while(null!==Y);v=me;t=fe();p=v.focusedElem;h=v.selectionRange;if(t!==p&&p&&p.ownerDocument&&ee(p.ownerDocument.documentElement,p)){null!==h&&ge(p)&&(t=h.start,v=h.end,void 0===v&&(v=t),"selectionStart"in p?(p.selectionStart=t,p.selectionEnd=Math.min(v,p.value.length)):(v=(t=p.ownerDocument||document)&&t.defaultView||window,v.getSelection&&(v=v.getSelection(), 11179l=p.textContent.length,g=Math.min(h.start,l),h=void 0===h.end?g:Math.min(h.end,l),!v.extend&&g>h&&(l=h,h=g,g=l),l=de(p,g),m=de(p,h),l&&m&&(1!==v.rangeCount||v.anchorNode!==l.node||v.anchorOffset!==l.offset||v.focusNode!==m.node||v.focusOffset!==m.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),v.removeAllRanges(),g>h?(v.addRange(t),v.extend(m.node,m.offset)):(t.setEnd(m.node,m.offset),v.addRange(t))))));t=[];for(v=p;v=v.parentNode;)1===v.nodeType&&t.push({element:v,left:v.scrollLeft,top:v.scrollTop}); 11180"function"===typeof p.focus&&p.focus();for(p=0;p<t.length;p++)v=t[p],v.element.scrollLeft=v.left,v.element.scrollTop=v.top}me=null;Ld=!!le;le=null;a.current=c;Y=e;do try{for(p=d;null!==Y;){var Dh=Y.effectTag;if(Dh&36){var dc=Y.alternate;t=Y;v=p;switch(t.tag){case 0:case 11:case 15:Ui(16,32,t);break;case 1:var fd=t.stateNode;if(t.effectTag&4)if(null===dc)fd.componentDidMount();else{var hk=t.elementType===t.type?dc.memoizedProps:mg(t.type,dc.memoizedProps);fd.componentDidUpdate(hk,dc.memoizedState, 11181fd.__reactInternalSnapshotBeforeUpdate)}var Eh=t.updateQueue;null!==Eh&&Kg(t,Eh,fd,v);break;case 3:var Fh=t.updateQueue;if(null!==Fh){g=null;if(null!==t.child)switch(t.child.tag){case 5:g=t.child.stateNode;break;case 1:g=t.child.stateNode}Kg(t,Fh,g,v)}break;case 5:var xk=t.stateNode;null===dc&&t.effectTag&4&&ne(t.type,t.memoizedProps)&&xk.focus();break;case 6:break;case 4:break;case 12:break;case 13:if(null===t.memoizedState){var Di=t.alternate;if(null!==Di){var Ei=Di.memoizedState;if(null!==Ei){var Fi= 11182Ei.dehydrated;null!==Fi&&Lc(Fi)}}}break;case 19:case 17:case 20:case 21:break;default:throw Error(u(163));}}if(Dh&128){t=void 0;var xd=Y.ref;if(null!==xd){var Gi=Y.stateNode;switch(Y.tag){case 5:t=Gi;break;default:t=Gi}"function"===typeof xd?xd(t):xd.current=t}}Y=Y.nextEffect}}catch(Db){if(null===Y)throw Error(u(330));Ri(Y,Db);Y=Y.nextEffect}while(null!==Y);Y=null;Yf();T=f}else a.current=c;if(Dj)Dj=!1,Ej=a,Fj=b;else for(Y=e;null!==Y;)b=Y.nextEffect,Y.nextEffect=null,Y=b;b=a.firstPendingTime;0===b&& 11183(jj=null);1073741823===b?a===Ij?Hj++:(Hj=0,Ij=a):Hj=0;"function"===typeof kk&&kk(c.stateNode,d);Z(a);if(gj)throw gj=!1,a=hj,hj=null,a;if((T&nj)!==S)return null;jg();return null}function jk(){for(;null!==Y;){var a=Y.effectTag;0!==(a&256)&&Ti(Y.alternate,Y);0===(a&512)||Dj||(Dj=!0,gg(97,function(){Sj();return null}));Y=Y.nextEffect}}function Sj(){if(90!==Fj){var a=97<Fj?97:Fj;Fj=90;return fg(a,lk)}} 11184function lk(){if(null===Ej)return!1;var a=Ej;Ej=null;if((T&(oj|pj))!==S)throw Error(u(331));var b=T;T|=pj;for(a=a.current.firstEffect;null!==a;){try{var c=a;if(0!==(c.effectTag&512))switch(c.tag){case 0:case 11:case 15:Ui(128,0,c),Ui(0,64,c)}}catch(d){if(null===a)throw Error(u(330));Ri(a,d)}c=a.nextEffect;a.nextEffect=null;a=c}T=b;jg();return!0}function mk(a,b,c){b=Ni(c,b);b=fj(a,b,1073741823);Dg(a,b);a=Kj(a,1073741823);null!==a&&Z(a)} 11185function Ri(a,b){if(3===a.tag)mk(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){mk(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if("function"===typeof c.type.getDerivedStateFromError||"function"===typeof d.componentDidCatch&&(null===jj||!jj.has(d))){a=Ni(b,a);a=ij(c,a,1073741823);Dg(c,a);c=Kj(c,1073741823);null!==c&&Z(c);break}}c=c.return}} 11186function dk(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);U===a&&W===c?X===uj||X===tj&&1073741823===xj&&cg()-bj<Cj?Tj(a,W):Bj=!0:Pj(a,c)&&(b=a.lastPingedTime,0!==b&&b<c||(a.lastPingedTime=c,a.finishedExpirationTime===c&&(a.finishedExpirationTime=0,a.finishedWork=null),Z(a)))}function dj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=Pg(),b=Qg(b,a,null));a=Kj(a,b);null!==a&&Z(a)}var gk; 11187gk=function(a,b,c){var d=b.expirationTime;if(null!==a){var e=b.pendingProps;if(a.memoizedProps!==e||K.current)wg=!0;else{if(d<c){wg=!1;switch(b.tag){case 3:wi(b);li();break;case 5:oh(b);if(b.mode&4&&1!==c&&e.hidden)return b.expirationTime=b.childExpirationTime=1,null;break;case 1:L(b.type)&&Jf(b);break;case 4:mh(b,b.stateNode.containerInfo);break;case 10:sg(b,b.memoizedProps.value);break;case 13:if(null!==b.memoizedState){d=b.child.childExpirationTime;if(0!==d&&d>=c)return yi(a,b,c);I(M,M.current& 111881,b);b=oi(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1,b);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return Bi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current,b);if(!d)return null}return oi(a,b,c)}wg=!1}}else wg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Ef(b,J.current);vg(b,c);e=Ih(null,b,d,a,e,c);b.effectTag|=1;if("object"=== 11189typeof e&&null!==e&&"function"===typeof e.render&&void 0===e.$$typeof){b.tag=1;Mh();if(L(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;var g=d.getDerivedStateFromProps;"function"===typeof g&&Og(b,d,g,a);e.updater=Sg;b.stateNode=e;e._reactInternalFiber=b;Wg(b,d,a,c);b=vi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;Va(e);if(1!==e._status)throw e._result; 11190e=e._result;b.type=e;f=b.tag=nk(e);a=mg(e,a);switch(f){case 0:b=si(null,b,e,a,c);break;case 1:b=ui(null,b,e,a,c);break;case 11:b=ni(null,b,e,a,c);break;case 14:b=pi(null,b,e,mg(e.type,a),d,c);break;default:throw Error(u(306,e,""));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:mg(d,e),si(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:mg(d,e),ui(a,b,d,e,c);case 3:wi(b);d=b.updateQueue;if(null===d)throw Error(u(282));e=b.memoizedState;e=null!==e?e.element: 11191null;Hg(b,d,b.pendingProps,null,c);d=b.memoizedState.element;if(d===e)li(),b=oi(a,b,c);else{if(e=b.stateNode.hydrate)di=re(b.stateNode.containerInfo.firstChild),ci=b,e=ei=!0;if(e)for(c=gh(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),li();b=b.child}return b;case 5:return oh(b),null===a&&ii(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,oe(d,e)?g=null:null!==f&&oe(d,f)&&(b.effectTag|=16),ti(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime= 11192b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&ii(b),null;case 13:return yi(a,b,c);case 4:return mh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=fh(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:mg(d,e),ni(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,b,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context; 11193e=b.pendingProps;g=b.memoizedProps;f=e.value;sg(b,f);if(null!==g){var h=g.value;f=of(h,f)?0:("function"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0;if(0===f){if(g.children===e.children&&!K.current){b=oi(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==k){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=Bg(c,null),l.tag=2,Dg(h,l));h.expirationTime<c&&(h.expirationTime= 11194c);l=h.alternate;null!==l&&l.expirationTime<c&&(l.expirationTime=c);ug(h.return,c);k.expirationTime<c&&(k.expirationTime=c);break}l=l.next}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=g}}R(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,vg(b,c),e=xg(e,f.unstable_observedBits),d=d(e),b.effectTag|=1,R(a,b,d,c),b.child; 11195case 14:return e=b.type,f=mg(e,b.pendingProps),f=mg(e.type,f),pi(a,b,e,f,d,c);case 15:return ri(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:mg(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2),b.tag=1,L(d)?(a=!0,Jf(b)):a=!1,vg(b,c),Ug(b,d,e,c),Wg(b,d,e,c),vi(null,b,d,!0,a,c);case 19:return Bi(a,b,c)}throw Error(u(156,b.tag));};var kk=null,Wi=null; 11196function ok(a){if("undefined"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);kk=function(a){try{b.onCommitFiberRoot(c,a,void 0,64===(a.current.effectTag&64))}catch(e){}};Wi=function(a){try{b.onCommitFiberUnmount(c,a)}catch(e){}}}catch(d){}return!0} 11197function pk(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null}function gi(a,b,c,d){return new pk(a,b,c,d)} 11198function qi(a){a=a.prototype;return!(!a||!a.isReactComponent)}function nk(a){if("function"===typeof a)return qi(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Oa)return 11;if(a===Ra)return 14}return 2} 11199function ah(a,b){var c=a.alternate;null===c?(c=gi(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{expirationTime:b.expirationTime, 11200firstContext:b.firstContext,responders:b.responders};c.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c} 11201function ch(a,b,c,d,e,f){var g=2;d=a;if("function"===typeof a)qi(a)&&(g=1);else if("string"===typeof a)g=5;else a:switch(a){case Ia:return eh(c.children,e,f,b);case Na:g=8;e|=7;break;case Ja:g=8;e|=1;break;case Ka:return a=gi(12,c,b,e|8),a.elementType=Ka,a.type=Ka,a.expirationTime=f,a;case Pa:return a=gi(13,c,b,e),a.type=Pa,a.elementType=Pa,a.expirationTime=f,a;case Qa:return a=gi(19,c,b,e),a.elementType=Qa,a.expirationTime=f,a;default:if("object"===typeof a&&null!==a)switch(a.$$typeof){case La:g= 1120210;break a;case Ma:g=9;break a;case Oa:g=11;break a;case Ra:g=14;break a;case Sa:g=16;d=null;break a}throw Error(u(130,null==a?a:typeof a,""));}b=gi(g,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b}function eh(a,b,c,d){a=gi(7,a,d,b);a.expirationTime=c;return a}function bh(a,b,c){a=gi(6,a,null,b);a.expirationTime=c;return a} 11203function dh(a,b,c){b=gi(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b} 11204function qk(a,b,c){this.tag=b;this.current=null;this.containerInfo=a;this.pingCache=this.pendingChildren=null;this.finishedExpirationTime=0;this.finishedWork=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=null;this.callbackPriority=90;this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0} 11205function Pj(a,b){var c=a.firstSuspendedTime;a=a.lastSuspendedTime;return 0!==c&&c>=b&&a<=b}function Mj(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;c<b&&(a.firstSuspendedTime=b);if(d>b||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)} 11206function Nj(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Rj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b} 11207function rk(a,b,c,d){var e=b.current,f=Pg(),g=Mg.suspense;f=Qg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(ec(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=If(c,k,h);break a}}c=h}else c=Cf;null===b.context?b.context=c:b.pendingContext=c;b=Bg(f,g);b.payload={element:a};d=void 0=== 11208d?null:d;null!==d&&(b.callback=d);Dg(e,b);Rg(e,f);return f}function sk(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function tk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime<b&&(a.retryTime=b)}function uk(a,b){tk(a,b);(a=a.alternate)&&tk(a,b)} 11209function vk(a,b,c){c=null!=c&&!0===c.hydrate;var d=new qk(a,b,c),e=gi(3,null,null,2===b?7:1===b?3:0);d.current=e;e.stateNode=d;a[we]=d.current;c&&0!==b&&wc(9===a.nodeType?a:a.ownerDocument);this._internalRoot=d}vk.prototype.render=function(a,b){rk(a,this._internalRoot,null,void 0===b?null:b)};vk.prototype.unmount=function(a){var b=this._internalRoot,c=void 0===a?null:a,d=b.containerInfo;rk(null,b,null,function(){d[we]=null;null!==c&&c()})}; 11210function wk(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||" react-mount-point-unstable "!==a.nodeValue))}function yk(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute("data-reactroot")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new vk(a,0,b?{hydrate:!0}:void 0)} 11211function zk(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if("function"===typeof e){var h=e;e=function(){var a=sk(g);h.call(a)}}rk(b,g,a,e)}else{f=c._reactRootContainer=yk(c,d);g=f._internalRoot;if("function"===typeof e){var k=e;e=function(){var a=sk(g);k.call(a)}}ck(function(){rk(b,g,a,e)})}return sk(g)}function Ak(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:Ha,key:null==d?null:""+d,children:a,containerInfo:b,implementation:c}} 11212jc=function(a){if(13===a.tag){var b=lg(Pg(),150,100);Rg(a,b);uk(a,b)}};kc=function(a){if(13===a.tag){Pg();var b=kg++;Rg(a,b);uk(a,b)}};lc=function(a){if(13===a.tag){var b=Pg();b=Qg(b,a,null);Rg(a,b);uk(a,b)}}; 11213Za=function(a,b,c){switch(b){case "input":Eb(a,c);b=c.name;if("radio"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll("input[name="+JSON.stringify(""+b)+'][type="radio"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=ye(d);if(!e)throw Error(u(90));zb(d);Eb(d,e)}}}break;case "textarea":Mb(a,c);break;case "select":b=c.value,null!=b&&Jb(a,!!c.multiple,b,!1)}};eb=bk; 11214fb=function(a,b,c,d){var e=T;T|=4;try{return fg(98,a.bind(null,b,c,d))}finally{T=e,T===S&&jg()}};gb=function(){(T&(1|oj|pj))===S&&(ak(),Sj())};hb=function(a,b){var c=T;T|=2;try{return a(b)}finally{T=c,T===S&&jg()}};function Bk(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!wk(b))throw Error(u(200));return Ak(a,b,null,c)} 11215var Ck={createPortal:Bk,findDOMNode:function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternalFiber;if(void 0===b){if("function"===typeof a.render)throw Error(u(188));throw Error(u(268,Object.keys(a)));}a=ic(b);a=null===a?null:a.stateNode;return a},hydrate:function(a,b,c){if(!wk(b))throw Error(u(200));return zk(null,a,b,!0,c)},render:function(a,b,c){if(!wk(b))throw Error(u(200));return zk(null,a,b,!1,c)},unstable_renderSubtreeIntoContainer:function(a,b,c,d){if(!wk(c))throw Error(u(200)); 11216if(null==a||void 0===a._reactInternalFiber)throw Error(u(38));return zk(a,b,c,!1,d)},unmountComponentAtNode:function(a){if(!wk(a))throw Error(u(40));return a._reactRootContainer?(ck(function(){zk(null,null,a,!1,function(){a._reactRootContainer=null;a[we]=null})}),!0):!1},unstable_createPortal:function(){return Bk.apply(void 0,arguments)},unstable_batchedUpdates:bk,flushSync:function(a,b){if((T&(oj|pj))!==S)throw Error(u(187));var c=T;T|=1;try{return fg(99,a.bind(null,b))}finally{T=c,jg()}},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{Events:[Cc, 11217xe,ye,Ca.injectEventPluginsByName,fa,Sc,function(a){ya(a,Rc)},cb,db,Pd,Ba,Sj,{current:!1}]}}; 11218(function(a){var b=a.findFiberByHostInstance;return ok(n({},a,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Ea.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=ic(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))})({findFiberByHostInstance:Fc,bundleType:0,version:"16.12.0", 11219rendererPackageName:"react-dom"});var Dk={default:Ck},Ek=Dk&&Ck||Dk;module.exports=Ek.default||Ek; 11220 11221 11222/***/ }), 11223/* 50 */ 11224/***/ (function(module, exports, __webpack_require__) { 11225 11226"use strict"; 11227 11228 11229if (true) { 11230 module.exports = __webpack_require__(51); 11231} else {} 11232 11233 11234/***/ }), 11235/* 51 */ 11236/***/ (function(module, exports, __webpack_require__) { 11237 11238"use strict"; 11239/** @license React v0.18.0 11240 * scheduler.production.min.js 11241 * 11242 * Copyright (c) Facebook, Inc. and its affiliates. 11243 * 11244 * This source code is licensed under the MIT license found in the 11245 * LICENSE file in the root directory of this source tree. 11246 */ 11247 11248Object.defineProperty(exports,"__esModule",{value:!0});var f,g,h,k,l; 11249if("undefined"===typeof window||"function"!==typeof MessageChannel){var p=null,q=null,t=function(){if(null!==p)try{var a=exports.unstable_now();p(!0,a);p=null}catch(b){throw setTimeout(t,0),b;}},u=Date.now();exports.unstable_now=function(){return Date.now()-u};f=function(a){null!==p?setTimeout(f,0,a):(p=a,setTimeout(t,0))};g=function(a,b){q=setTimeout(a,b)};h=function(){clearTimeout(q)};k=function(){return!1};l=exports.unstable_forceFrameRate=function(){}}else{var w=window.performance,x=window.Date, 11250y=window.setTimeout,z=window.clearTimeout;if("undefined"!==typeof console){var A=window.cancelAnimationFrame;"function"!==typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills");"function"!==typeof A&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if("object"=== 11251typeof w&&"function"===typeof w.now)exports.unstable_now=function(){return w.now()};else{var B=x.now();exports.unstable_now=function(){return x.now()-B}}var C=!1,D=null,E=-1,F=5,G=0;k=function(){return exports.unstable_now()>=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):F=0<a?Math.floor(1E3/a):5};var H=new MessageChannel,I=H.port2;H.port1.onmessage= 11252function(){if(null!==D){var a=exports.unstable_now();G=a+F;try{D(!0,a)?I.postMessage(null):(C=!1,D=null)}catch(b){throw I.postMessage(null),b;}}else C=!1};f=function(a){D=a;C||(C=!0,I.postMessage(null))};g=function(a,b){E=y(function(){a(exports.unstable_now())},b)};h=function(){z(E);E=-1}}function J(a,b){var c=a.length;a.push(b);a:for(;;){var d=Math.floor((c-1)/2),e=a[d];if(void 0!==e&&0<K(e,b))a[d]=b,a[c]=e,c=d;else break a}}function L(a){a=a[0];return void 0===a?null:a} 11253function M(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length;d<e;){var m=2*(d+1)-1,n=a[m],v=m+1,r=a[v];if(void 0!==n&&0>K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1; 11254function V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}} 11255function X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();"function"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}} 11256function Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_ImmediatePriority=1;exports.unstable_UserBlockingPriority=2;exports.unstable_NormalPriority=3;exports.unstable_IdlePriority=5;exports.unstable_LowPriority=4;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}}; 11257exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}}; 11258exports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if("object"===typeof c&&null!==c){var e=c.delay;e="number"===typeof e&&0<e?d+e:d;c="number"===typeof c.timeout?c.timeout:Y(a)}else c=Y(a),e=d;c=e+c;a={id:P++,callback:b,priorityLevel:a,startTime:e,expirationTime:c,sortIndex:-1};e>d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};exports.unstable_cancelCallback=function(a){a.callback=null}; 11259exports.unstable_wrapCallback=function(a){var b=R;return function(){var c=R;R=b;try{return a.apply(this,arguments)}finally{R=c}}};exports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime<Q.expirationTime||k()};exports.unstable_requestPaint=Z;exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))}; 11260exports.unstable_pauseExecution=function(){};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_Profiling=null; 11261 11262 11263/***/ }), 11264/* 52 */ 11265/***/ (function(module, exports, __webpack_require__) { 11266 11267"use strict"; 11268
11269var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { 11270 if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } 11271 return cooked; 11272}; 11273var __assign = (this && this.__assign) || function () { 11274 __assign = Object.assign || function(t) { 11275 for (var s, i = 1, n = arguments.length; i < n; i++) { 11276 s = arguments[i]; 11277 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) 11278 t[p] = s[p]; 11279 } 11280 return t; 11281 }; 11282 return __assign.apply(this, arguments); 11283}; 11284Object.defineProperty(exports, "__esModule", { value: true }); 11285var React = __webpack_require__(0); 11286var react_router_1 = __webpack_require__(4); 11287var history_1 = __webpack_require__(8); 11288var Menu_1 = __webpack_require__(57); 11289var styled_components_1 = __webpack_require__(13); 11290var Plans_1 = __webpack_require__(34); 11291var About_1 = __webpack_require__(59); 11292var SoloPlayerComponent = React.lazy(function () { return Promise.resolve().then(function () { return __webpack_require__(60); }); }); 11293var history = history_1.createBrowserHistory(); 11294var loadingKeyframe = styled_components_1.keyframes(templateObject_1 || (templateOb
11294ject_1 = __makeTemplateObject(["\n 0% {\n content: 'Loading.';\n }\n 33% {\n content: 'Loading..';\n }\n 66% {\n content: 'Loading...';\n }\n 100% {\n content: 'Loading';\n }\n"], ["\n 0% {\n content: 'Loading.';\n }\n 33% {\n content: 'Loading..';\n }\n 66% {\n content: 'Loading...';\n }\n 100% {\n content: 'Loading';\n }\n"]))); 11295var Fallback = styled_components_1.default('div')(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n background-color: #ddd;\n position: relative;\n width: 200px;\n height: 200px;\n &::after {\n content: '';\n font-size: 20px;\n position: absolute;\n top: 0px;\n left: 0px;\n padding: 20px;\n animation: ", " 0.2s linear infinite;\n }\n"], ["\n background-color: #ddd;\n position: relative;\n width: 200px;\n height: 200px;\n &::after {\n content: '';\n font-size: 20px;\n position: absolute;\n top: 0px;\n left: 0px;\n padding: 20px;\n animation: ", " 0.2s linear infinite;\n }\n"])), loadingKeyframe); 11296var LazyPlayer = function (props) { return (React.createElement(React.Suspense, { fallback: React.createElement(Fallback, null) }, 11297 React.createElement(SoloPlayerComponent, __assign({}, props)))); }; 11298var App = function () { 11299 return (React.createElement(react_router_1.Router, { history: history }, 11300 React.createElement(react_router_1.Route, { path: ['/solo/:player/:variant', '/solo/:player'] }, 11301 React.createElement(LazyPlayer, null)), 11302 React.createElement(react_router_1.Route, { path: "/simultaneous" }, 11303 React.createElement(Plans_1.default, null)), 11304 React.createElement(react_router_1.Route, { path: "/about" }, 11305 React.createElement(About_1.default, null)), 11306 React.createElement(react_router_1.Route, { path: "/", exact: true }, 11307 React.createElement(Menu_1.default, null)))); 11308}; 11309exports.default = App; 11310var templateObject_1, templateObject_2; 11311 11312 11313/***/ }), 11314/* 53 */ 11315/***/ (function(module, exports, __webpack_require__) { 11316 11317"use strict"; 11318/** 11319 * Copyright (c) 2013-present, Facebook, Inc. 11320 * 11321 * This source code is licensed under the MIT license found in the 11322 * LICENSE file in the root directory of this source tree. 11323 */ 11324 11325 11326 11327var ReactPropTypesSecret = __webpack_require__(54); 11328 11329function emptyFunction() {} 11330function emptyFunctionWithReset() {} 11331emptyFunctionWithReset.resetWarningCache = emptyFunction; 11332 11333module.exports = function() { 11334 function shim(props, propName, componentName, location, propFullName, secret) { 11335 if (secret === ReactPropTypesSecret) { 11336 // It is still safe when called from React. 11337 return; 11338 } 11339 var err = new Error( 11340 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 11341 'Use PropTypes.checkPropTypes() to call them. ' + 11342 'Read more at http://fb.me/use-check-prop-types' 11343 ); 11344 err.name = 'Invariant Violation'; 11345 throw err; 11346 }; 11347 shim.isRequired = shim; 11348 function getShim() { 11349 return shim; 11350 }; 11351 // Important! 11352 // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. 11353 var ReactPropTypes = { 11354 array: shim, 11355 bool: shim, 11356 func: shim, 11357 number: shim, 11358 object: shim, 11359 string: shim, 11360 symbol: shim, 11361 11362 any: shim, 11363 arrayOf: getShim, 11364 element: shim, 11365 elementType: shim, 11366 instanceOf: getShim, 11367 node: shim, 11368 objectOf: getShim, 11369 oneOf: getShim, 11370 oneOfType: getShim, 11371 shape: getShim, 11372 exact: getShim, 11373 11374 checkPropTypes: emptyFunctionWithReset, 11375 resetWarningCache: emptyFunction 11376 }; 11377 11378 ReactPropTypes.PropTypes = ReactPropTypes; 11379 11380 return ReactPropTypes; 11381}; 11382 11383 11384/***/ }), 11385/* 54 */ 11386/***/ (function(module, exports, __webpack_require__) { 11387 11388"use strict"; 11389/** 11390 * Copyright (c) 2013-present, Facebook, Inc. 11391 * 11392 * This source code is licensed under the MIT license found in the 11393 * LICENSE file in the root directory of this source tree. 11394 */ 11395 11396 11397 11398var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; 11399 11400module.exports = ReactPropTypesSecret; 11401 11402 11403/***/ }), 11404/* 55 */
vendor: 2,463 bytes, lines 11405-11431
11405/***/ (function(module, exports) { 11406 11407module.exports = Array.isArray || function (arr) { 11408 return Object.prototype.toString.call(arr) == '[object Array]'; 11409}; 11410 11411 11412/***/ }), 11413/* 56 */ 11414/***/ (function(module, exports, __webpack_require__) { 11415 11416"use strict"; 11417/** @license React v16.12.0 11418 * react-is.production.min.js 11419 * 11420 * Copyright (c) Facebook, Inc. and its affiliates. 11421 * 11422 * This source code is licensed under the MIT license found in the 11423 * LICENSE file in the root directory of this source tree. 11424 */ 11425 11426Object.defineProperty(exports,"__esModule",{value:!0}); 11427var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b?Symbol.for("react.suspense_list"): 1142860120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.fundamental"):60117,w=b?Symbol.for("react.responder"):60118,x=b?Symbol.for("react.scope"):60119;function y(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function z(a){return y(a)===m} 11429exports.typeOf=y;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p; 11430exports.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===v||a.$$typeof===w||a.$$typeof===x)};exports.isAsyncMode=function(a){return z(a)||y(a)===l};exports.isConcurrentMode=z;exports.isContextConsumer=function(a){return y(a)===k};exports.isContextProvider=function(a){return y(a)===h}; 11431exports.isElement=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return y(a)===n};
11431exports.isFragment=function(a){return y(a)===e};exports.isLazy=function(a){return y(a)===t};exports.isMemo=function(a){return y(a)===r};exports.isPortal=function(a){return y(a)===d};exports.isProfiler=function(a){return y(a)===g};exports.isStrictMode=function(a){return y(a)===f};exports.isSuspense=function(a){return y(a)===p}; 11432 11433 11434/***/ }), 11435/* 57 */ 11436/***/ (function(module, exports, __webpack_require__) { 11437 11438"use strict"; 11439 11440var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { 11441 if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } 11442 return cooked; 11443}; 11444Object.defineProperty(exports, "__esModule", { value: true }); 11445var React = __webpack_require__(0); 11446var react_router_dom_1 = __webpack_require__(21); 11447var Wrapper_1 = __webpack_require__(33); 11448var styled = __webpack_require__(13); 11449var NavAction = styled.default(react_router_dom_1.NavLink)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: relative;\n text-align: center;\n text-transform: uppercase;\n padding: 20px 0px;\n margin: auto;\n color: white;\n text-decoration: none;\n width: 100%;\n &:before {\n position: absolute;\n height: 100vh;\n bottom: 0px;\n left: 0px;\n background-color: white;\n opacity: 0.05;\n width: 100%;\n content: '';\n z-index: -10;\n } \n"], ["\n position: relative;\n text-align: center;\n text-transform: uppercase;\n padding: 20px 0px;\n margin: auto;\n color: white;\n text-decoration: none;\n width: 100%;\n &:before {\n position: absolute;\n height: 100vh;\n bottom: 0px;\n left: 0px;\n background-color: white;\n opacity: 0.05;\n width: 100%;\n content: '';\n z-index: -10;\n } \n"]))); 11450var Contents = styled.default.div(templateObject_2 || (templateOb
11450ject_2 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n color: #eee;\n h1 {\n border-bottom: 1px solid grey;\n margin: 0px;\n width: 100%;\n }\n"], ["\n display: flex;\n flex-direction: column;\n color: #eee;\n h1 {\n border-bottom: 1px solid grey;\n margin: 0px;\n width: 100%;\n }\n"]))); 11451var Menu = function () { 11452 var location = react_router_dom_1.useLocation(); 11453 var history = react_router_dom_1.useHistory(); 11454 var _a = react_router_dom_1.useParams().player, player = _a === void 0 ? 'melody' : _a; 11455 if (location.pathname === '/' && location.search.match(/\?tutorial/)) { 11456 history.replace('/solo/melody/tutorial'); 11457 return null; 11458 } 11459 return (React.createElement(Wrapper_1.default, null, 11460 React.createElement(Contents, null, 11461 React.createElement("h1", null, "16step"), 11462 React.createElement(NavAction, { to: "/about" }, "About"), 11463 React.createElement(NavAction, { to: "/solo/melody/normal" }, "Melody Solo"), 11464 React.createElement(NavAction, { to: "/solo/bass/normal" }, "Bass Solo"), 11465 React.createElement(NavAction, { to: "/simultaneous" }, "Simultaneous"), 11466 React.createElement(NavAction, { to: "/solo/" + player + "/tutorial" }, "Help")))); 11467}; 11468exports.default = Menu; 11469var templateObject_1, templateObject_2; 11470 11471 11472/***/ }), 11473/* 58 */ 11474/***/ (function(module, exports) { 11475 11476// shim for using process in browser 11477var process = module.exports = {}; 11478 11479// cached from whatever global is present so that test runners that stub it 11480// don't break things. But we need to wrap it in a try catch in case it is 11481// wrapped in strict mode code which doesn't define any globals. It's inside a 11482// function because try/catches deoptimize in certain engines. 11483 11484var cachedSetTimeout; 11485var cachedClearTimeout; 11486 11487function defaultSetTimout() { 11488 throw new Error('setTimeout has not been defined'); 11489} 11490function defaultClearTimeout () { 11491 throw new Error('clearTimeout has not been defined'); 11492} 11493(function () { 11494 try { 11495 if (typeof setTimeout === 'function') { 11496 cachedSetTimeout = setTimeout; 11497 } else { 11498 cachedSetTimeout = defaultSetTimout; 11499 } 11500 } catch (e) { 11501 cachedSetTimeout = defaultSetTimout; 11502 } 11503 try { 11504 if (typeof clearTimeout === 'function') { 11505 cachedClearTimeout = clearTimeout; 11506 } else { 11507 cachedClearTimeout = defaultClearTimeout; 11508 } 11509 } catch (e) { 11510 cachedClearTimeout = defaultClearTimeout; 11511 } 11512} ()) 11513function runTimeout(fun) { 11514 if (cachedSetTimeout === setTimeout) { 11515 //normal enviroments in sane situations 11516 return setTimeout(fun, 0); 11517 } 11518 // if setTimeout wasn't available but was latter defined 11519 if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { 11520 cachedSetTimeout = setTimeout; 11521 return setTimeout(fun, 0); 11522 } 11523 try { 11524 // when when somebody has screwed with setTimeout but no I.E. maddness 11525 return cachedSetTimeout(fun, 0); 11526 } catch(e){ 11527 try { 11528 // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally 11529 return cachedSetTimeout.call(null, fun, 0); 11530 } catch(e){ 11531 // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error 11532 return cachedSetTimeout.call(this, fun, 0); 11533 } 11534 } 11535 11536 11537} 11538function runClearTimeout(marker) { 11539 if (cachedClearTimeout === clearTimeout) { 11540 //normal enviroments in sane situations 11541 return clearTimeout(marker); 11542 } 11543 // if clearTimeout wasn't available but was latter defined 11544 if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { 11545 cachedClearTimeout = clearTimeout; 11546 return clearTimeout(marker); 11547 } 11548 try { 11549 // when when somebody has screwed with setTimeout but no I.E. maddness 11550 return cachedClearTimeout(marker); 11551 } catch (e){ 11552 try { 11553 // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally 11554 return cachedClearTimeout.call(null, marker); 11555 } catch (e){ 11556 // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. 11557 // Some versions of I.E. have different rules for clearTimeout vs setTimeout 11558 return cachedClearTimeout.call(this, marker); 11559 } 11560 } 11561 11562 11563 11564} 11565var queue = []; 11566var draining = false;
vendor: 6,765 bytes, lines 11567-11716
11567var currentQueue; 11568var queueIndex = -1; 11569 11570function cleanUpNextTick() { 11571 if (!draining || !currentQueue) { 11572 return; 11573 } 11574 draining = false; 11575 if (currentQueue.length) { 11576 queue = currentQueue.concat(queue); 11577 } else { 11578 queueIndex = -1; 11579 } 11580 if (queue.length) { 11581 drainQueue(); 11582 } 11583} 11584 11585function drainQueue() { 11586 if (draining) { 11587 return; 11588 } 11589 var timeout = runTimeout(cleanUpNextTick); 11590 draining = true; 11591 11592 var len = queue.length; 11593 while(len) { 11594 currentQueue = queue; 11595 queue = []; 11596 while (++queueIndex < len) { 11597 if (currentQueue) { 11598 currentQueue[queueIndex].run(); 11599 } 11600 } 11601 queueIndex = -1; 11602 len = queue.length; 11603 } 11604 currentQueue = null; 11605 draining = false; 11606 runClearTimeout(timeout); 11607} 11608 11609process.nextTick = function (fun) { 11610 var args = new Array(arguments.length - 1); 11611 if (arguments.length > 1) { 11612 for (var i = 1; i < arguments.length; i++) { 11613 args[i - 1] = arguments[i]; 11614 } 11615 } 11616 queue.push(new Item(fun, args)); 11617 if (queue.length === 1 && !draining) { 11618 runTimeout(drainQueue); 11619 } 11620}; 11621 11622// v8 likes predictible objects 11623function Item(fun, array) { 11624 this.fun = fun; 11625 this.array = array; 11626} 11627Item.prototype.run = function () { 11628 this.fun.apply(null, this.array); 11629}; 11630process.title = 'browser'; 11631process.browser = true; 11632process.env = {}; 11633process.argv = []; 11634process.version = ''; // empty string to avoid regexp issues 11635process.versions = {}; 11636 11637function noop() {} 11638 11639process.on = noop; 11640process.addListener = noop; 11641process.once = noop; 11642process.off = noop; 11643process.removeListener = noop; 11644process.removeAllListeners = noop; 11645process.emit = noop; 11646process.prependListener = noop; 11647process.prependOnceListener = noop; 11648 11649process.listeners = function (name) { return [] } 11650 11651process.binding = function (name) { 11652 throw new Error('process.binding is not supported'); 11653}; 11654 11655process.cwd = function () { return '/' }; 11656process.chdir = function (dir) { 11657 throw new Error('process.chdir is not supported'); 11658}; 11659process.umask = function() { return 0; }; 11660 11661 11662/***/ }), 11663/* 59 */ 11664/***/ (function(module, exports, __webpack_require__) { 11665 11666"use strict"; 11667 11668Object.defineProperty(exports, "__esModule", { value: true }); 11669var React = __webpack_require__(0); 11670var react_router_dom_1 = __webpack_require__(21); 11671var Plans_1 = __webpack_require__(34); 11672var About = function () { return (React.createElement(Plans_1.BoringWrapper, null, 11673 React.createElement(react_router_dom_1.Link, { to: "/" }, "Home"), 11674 React.createElement("h1", { id: "music-app-thing" }, "Music App Thing"), 11675 React.createElement("p", null, "(Designed primarily with mobiles in mind)"), 11676 React.createElement("h2", { id: "what-this-does-" }, "What this does?"), 11677 React.createElement("p", null, "Originally I was just going to do a straight up replica of a Teenage Engineering Pocket Operator, but as I was using it very early on I realised it'd be way more fun to make something based on that kind of premise but designed to work on a mobile phone. "), 11678 React.createElement("ul", null, 11679 React.createElement("li", null, "16 step sequencer"), 11680 React.createElement("li", null, "16 instrument options"), 11681 React.createElement("li", null, "Save 16 sixteen step patterns"), 11682 React.createElement("li", null, "Which you can then chain in whatever order you like"), 11683 React.createElement("li", null, "(On the existing players) each pattern contains two parts, the melody (played with a selected instrument from options 1-15) and a simple beat (using instrument 16).")), 11684 React.createElement("p", null, "There's a largely redundant space at the top of the screen that will be used to more clearly convey what's going on when I know which bits are most confusing."), 11685 React.createElement("p", null, "It may be beneficial to watch some videos of pocket operators first to get an idea of what this would love to be."), 11686 React.createElement("h2", { id: "how-it-works" }, "How it works"), 11687 React.createElement("p", null, 11688 React.createElement("a", { href: "https://padraig-operator.netlify.app/solo/melody/tutorial" }, "https://padraig-operator.netlify.app/solo/melody/tutorial"), 11689 " will hopefully explain some of it, it's quite buggy right now unfortunately."), 11690 React.createElement("p", null, "As it was primarily designed with phones in mind, I designed everything with two point multitouch in mind. The solutions for desktop involve holding down the first value of a multitouch and then selecting the second after it turns blue."), 11691 React.createElement("p", null, "The order in which buttons is pressed is important, but I'll hopefully resolve this later."), 11692 React.createElement("h3", { id: "buttons" }, "Buttons"), 11693 React.createElement("p", null, "Click actions:"), 11694 React.createElement("ul", null, 11695 React.createElement("li", null, "BPM: toggles the bmp between a series of options"), 11696 React.createElement("li", null, "Menu: Goes to home page"), 11697 React.createElement("li", null, "C: cancel button, unfinished but basically a catch all (I wanna get out of this)"), 11698 React.createElement("li", null, "Speaker: Mute/Unmute"), 11699 React.createElement("li", null, "Record: Enter write mode"), 11700 React.createElement("li", null, "S: Select sound to use"), 11701 React.createElement("li", null, "Play: play pause"), 11702 React.createElement("li", null, "Pattern: select pattern to edit (may require to be held on android for the moment)"), 11703 React.createElement("li", null, "buttons 1-16: varies on mode (select note/duration/pattern/spot/sound/..., default is play note)")), 11704 React.createElement("p", null, "MultiTouch/Hold actions: "), 11705 React.createElement("ul", null, 11706 React.createElement("li", null, "BPM: TBD, will either be be greater control over bpm or swing"), 11707 React.createElement("li", null, "Menu: N/A"), 11708 React.createElement("li", null, "C: varies, along with a pattern it will delete the pattern"), 11709 React.createElement("li", null, "Speaker: Sets volume"), 11710 React.createElement("li", null, "Record: N/A"), 11711 React.createElement("li", null, "S: TBD"), 11712 React.createElement("li", null, "Play: N/A"), 11713 React.createElement("li", null, "Pattern: Pattern chain mode with 1-16 (click again to exit)"), 11714 React.createElement("li", null, "buttons 1-16: copy pattern a to b (pattern select screen), copy spot a to b (write mode)")), 11715 React.createElement("h3", { id: "visuals-explained" }, "Visuals explained"), 11716 React.createElement("p", null, "Most of this has been done primarily with the goal of just leaving the flexibility for clearer visual
11716s later. The green/grey box at the top of the screen will be used to provide whatever data needs to be more clearly conveyed if I ever get around to figuring that out."), 11717 React.createElement("p", null, 11718 React.createElement("em", null, "NOTE: I use hue-rotate to give the different devices different color schemes, so these colors are specifically for /solo/melody")), 11719 React.createElement("h4", { id: "button-backgrounds" }, "Button backgrounds"), 11720 React.createElement("ul", null, 11721 React.createElement("li", null, "BPM: Red middle (active)"), 11722 React.createElement("li", null, "Record: Red middle (in write mode)"), 11723 React.createElement("li", null, "S: Red middle (in sound select mode)"), 11724 React.createElement("li", null, "Play: Red middle (playing pattern chain)"), 11725 React.createElement("li", null, "Pattern: Red middle (in pattern select mode), Blue outline (pattern chain mode, desktop only), ")), 11726 React.createElement("p", null, "Index buttons"), 11727 React.createElement("ul", null, 11728 React.createElement("li", null, "default: Red (note playing)"), 11729 React.createElement("li", null, "Sequence composition: red (active pattern), blue (spot to copy, click another index button to copy this spot)"), 11730 React.createElement("li", null, "Patterns view: red middle (selected pattern), red and flashing (in pattern chain), blue (pattern to copy, click another index button to copy this spot)")), 11731 React.createElement("h4", { id: "index-button-outlines" }, "Index button outlines"), 11732 React.createElement("p", null, "These serve largely just to keep track of where we're at in the current sequence"), 11733 React.createElement("ul", null, 11734 React.createElement("li", null, "Green: currently playing pattern index"), 11735 React.createElement("li", null, "Red: currently playing step in 16 step loop")), 11736 React.createElement("p", null, "In composition mode when the active pattern is playing the red outlines will all sequentially fill up."), 11737 React.createElement("h3", { id: "views" }, "Views"), 11738 React.createElement("ul", null, 11739 React.createElement("li", null, "default: play notes"), 11740 React.createElement("li", null, "Record button on: write mode, select beats and notes for current 16 step pattern"), 11741 React.createElement("li", null, "S button active: Sound select mode, selects the instrument for the loop and whether you're currently editing melody or the drum beats"), 11742 React.createElement("li", null, "Pattern button active: Selecting a pattern to currently edit, also used to create current chain for playback and to copy patterns")), 11743 React.createElement("h3", { id: "walkthrough" }, "Walkthrough"), 11744 React.createElement("p", null, "Not sure how useful this is, I'll do a video later"), 11745 React.createElement("ol", null, 11746 React.createElement("li", null, "Refresh page"), 11747 React.createElement("li", null, "Click record button, this will open composition view, allowing you to edit the currently active pattern (default is the first pattern)"), 11748 React.createElement("li", null, "Click any index, select a note when prompted, if you hold the note you can select how long it is played for"), 11749 React.createElement("li", null, "Click sound button"), 11750 React.createElement("li", null, "Select the bottom right sound option, this switches to drum mode"), 11751 React.createElement("li", null, "click any index again, select a drum beat"), 11752 React.createElement("li", null, "hit play, you should hear the beat looping (if not click the record button again and hit any note on the initial pad)"), 11753 React.createElement("li", null, "click on patterns"), 11754 React.createElement("li", null, "hold the first pattern, then select a second pattern to copy it"), 11755 React.createElement("li", null, "add another sound to this pattern"), 11756 React.createElement("li", null, "click on patterns again"), 11757 React.createElement("li", null, "hold the patterns button, on desktop wait til it goes blue and then release"), 11758 React.createElement("li", null, "(while still holding patterns on mobile) click the two patterns which you've edited, if on desktop now click the patterns button again")), 11759 React.createElement("p", null, "You should hear a sequence where it plays the two patterns you've created in the sequence you've chained them."), 11760 React.createElement("h2", { id: "weird-technical-stuff" }, "Weird Technical Stuff"), 11761 React.createElement("h3", { id: "ui" }, "UI"), 11762 React.createElement("p", null, "So the vast majority of what happens in this is dealt with via touch and click event on buttons which do specific actions onto the global state on the basis of that button's data attrbute values. As such, a large portion of the knowledge is contained within the HTML."), 11763 React.createElement("p", null, "In a perhaps ill-advised move, the UI is heavily built upon on specific component which handles all actions in the UI. The key actions are:"), 11764 React.createElement("ul", null, 11765 React.createElement("li", null, "click events"), 11766 React.createElement("li", null, "multi-touch events"), 11767 React.createElement("li", null, "touch-events")), 11768 React.createElement("h3", { id: "system-stuff" }, "System stuff"), 11769 React.createElement("p", null, "In terms of system there are two key parts"), 11770 React.createElement("ul", null, 11771 React.createElement("li", null, "the \"Core\": this is basically just your Redux style global store type deal, it processes each action triggered by the UI and passes the updates both back to the UI and out to the audio player"), 11772 React.createElement("li", null, "the \"player\": located in the Systems directory, this is a class object which handles everything related to Tone.js on the basis of what has occurred in the core. Each instance of the core is initialised with a player instance, as a result of this, the player is able to pass in custom actions into the core so the player behaviour can have a greater range of variety.")), 11773 React.createElement("p", null, "The code in this component is currently pretty messy to handle all the edge cases, I'll probably split out specific versions later for readabilities sake. There is a separate context within the Components directory which handles an alternative means for multi touch actions on desktop devices."), 11774 React.createElement("h2", { id: "credits" }, "Credits"), 11775 React.createElement("ul", null, 11776 React.createElement("li", null, "HEAVILY influenced by Teenage Engineering's Pocket Operator series, with major concessions made to fit workflow to a 320px wide screen. These are all amazing and you should buy one (I recommend PO-32 as a starting point, alternatively any of the first 3 are really fun albeit not as powerful)"), 11777 React.createElement("li", null, 11778 "Tone.js ", 11779 React.createElement("a", { href: "https://github.com/Tonejs/Tone.js" }, "https://github.com/Tonejs/Tone.js"), 11780 " for saving me a ton of time and having good documentation and responses to issues over the years")), 11781 React.createElement("h2", null, "Promo stuff"), 11782 React.createElement("ul", null, [ 11783 { link: 'github.com/padraigfl', text: 'Github' }, 11784 { link: 'github.com/padraigfl/critic-lists', text: 'Source code' }, 11785 { link: 'dvd-rom.netlify.app', text: 'DVD Menu Simulator' }, 11786 { link: 'packard-belle.netlify.app', text: 'Windows98 Clone' }, 11787 { link: 'react-coursebuilder.netlify.app', text: 'Youtube App thing' }, 11788 { link: 'critics-list.netlify.app', text: 'End-of-year critics lists aggregator' }, 11789 { link: 'github.com/padraigfl/us-bus-data', text: 'Loadsa bus data' }, 11790 ].map(function (_a, i) { 11791 var link = _a.link, text = _a.text; 11792 return (React.createElement("li", null, 11793 React.createElement("a", { href: "https://" + link, target: "_blank" }, text))); 11794 }
11794)))); }; 11795exports.default = About; 11796 11797 11798/***/ }), 11799/* 60 */ 11800/***/ (function(module, exports, __webpack_require__) { 11801 11802"use strict"; 11803 11804var __assign = (this && this.__assign) || function () { 11805 __assign = Object.assign || function(t) { 11806 for (var s, i = 1, n = arguments.length; i < n; i++) { 11807 s = arguments[i]; 11808 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) 11809 t[p] = s[p]; 11810 } 11811 return t; 11812 }; 11813 return __assign.apply(this, arguments); 11814}; 11815Object.defineProperty(exports, "__esModule", { value: true }); 11816var React = __webpack_require__(0); 11817var player_1 = __webpack_require__(61); 11818var players_1 = __webpack_require__(75); 11819var context_1 = __webpack_require__(9); 11820var react_router_1 = __webpack_require__(4); 11821var Tutorial_1 = __webpack_require__(80); 11822var SoloPlayerComponent = function (props) { 11823 var _a = react_router_1.useParams(), player = _a.player, variant = _a.variant; 11824 var soundProcessor = player === 'bass' ? players_1.BassPlayer : players_1.MelodyPlayer; 11825 return (React.createElement(context_1.CoreProvider, __assign({ AudioProcessor: soundProcessor }, props), 11826 React.createElement(player_1.default, { colorFilter: soundProcessor.colorFilter }), 11827 // @ts-ignore 11828 variant === 'tutorial' ? React.createElement(Tutorial_1.default, null) : null)); 11829}; 11830exports.default = SoloPlayerComponent; 11831 11832 11833/***/ }), 11834/* 61 */ 11835/***/ (function(module, exports, __webpack_require__) { 11836 11837"use strict"; 11838 11839Object.defineProperty(exports, "__esModule", { value: true }); 11840var Player_1 = __webpack_require__(62); 11841exports.default = Player_1.default; 11842 11843 11844/***/ }), 11845/* 62 */ 11846/***/ (function(module, exports, __webpack_require__) { 11847 11848"use strict"; 11849
11850var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { 11851 if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } 11852 return cooked; 11853}; 11854Object.defineProperty(exports, "__esModule", { value: true }); 11855exports.maxHeight = exports.rows = exports.columns = void 0; 11856var React = __webpack_require__(0); 11857var Actions_1 = __webpack_require__(63); 11858var Wrapper_1 = __webpack_require__(33); 11859var NotesPad_1 = __webpack_require__(36); 11860var SequencePad_1 = __webpack_require__(67); 11861var DataView_1 = __webpack_require__(70); 11862var SoundsPad_1 = __webpack_require__(71); 11863var StatusPad_1 = __webpack_require__(72); 11864var PatternsPad_1 = __webpack_require__(73); 11865var context_1 = __webpack_require__(9); 11866var _constants_1 = __webpack_require__(1); 11867var DesktopEventsContext_1 = __webpack_require__(35); 11868var styled_components_1 = __webpack_require__(13); 11869exports.columns = 8; 11870exports.rows = 11; 11871exports.maxHeight = (450 / exports.columns) * exports.rows; 11872var gridStyles = styled_components_1.css(templateObject_1 || (templateOb
11872ject_1 = __makeTemplateObject(["\n display: grid;\n width: 100%;\n grid-template-columns: repeat(", ", ", "%);\n grid-template-rows: repeat(3, ", "vw) auto;\n touch-action: none;\n @media only screen and (min-width: ", "px) {\n grid-template-rows: repeat(3, ", "%) auto;\n }\n"], ["\n display: grid;\n width: 100%;\n grid-template-columns: repeat(", ", ", "%);\n grid-template-rows: repeat(3, ", "vw) auto;\n touch-action: none;\n @media only screen and (min-width: ", "px) {\n grid-template-rows: repeat(3, ", "%) auto;\n }\n"])), exports.columns, 100 / exports.columns, 100 / exports.columns, Wrapper_1.playerWidth, 100 / exports.rows); 11873var PadsRender = function () { 11874 var state = React.useContext(context_1.default).state; 11875 return React.useMemo(function () { 11876 if (state.view === _constants_1.SOUNDS_VIEW) { 11877 return React.createElement(SoundsPad_1.default, null); 11878 } 11879 if (state.view === _constants_1.PATTERN_VIEW) { 11880 return React.createElement(PatternsPad_1.default, null); 11881 } 11882 if (state.view === _constants_1.WRITE || state[_constants_1.WRITE]) { 11883 return React.createElement(SequencePad_1.default, null); 11884 } 11885 return React.createElement(NotesPad_1.default, null); 11886 }, [state.view, state[_constants_1.WRITE]]); 11887}; 11888var UI = function (props) { 11889 return (React.createElement(Wrapper_1.default, { extraStyles: gridStyles, colorFilter: [props.colorFilter] }, 11890 React.createElement(DataView_1.default, null), 11891 React.createElement(DesktopEventsContext_1.DesktopEventsProvider, null, 11892 React.createElement(StatusPad_1.default, null), 11893 React.createElement(Actions_1.default, null), 11894 React.createElement(PadsRender, null)))); 11895}; 11896exports.default = UI; 11897var templateObject_1; 11898 11899 11900/***/ }), 11901/* 63 */ 11902/***/ (function(module, exports, __webpack_require__) { 11903 11904"use strict"; 11905 11906var __assign = (this && this.__assign) || function () { 11907 __assign = Object.assign || function(t) { 11908 for (var s, i = 1, n = arguments.length; i < n; i++) { 11909 s = arguments[i]; 11910 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) 11911 t[p] = s[p]; 11912 } 11913 return t; 11914 }; 11915 return __assign.apply(this, arguments); 11916}; 11917Object.defineProperty(exports, "__esModule", { value: true }); 11918var React = __webpack_require__(0); 11919var context_1 = __webpack_require__(9); 11920var Action_1 = __webpack_require__(64); 11921var _constants_1 = __webpack_require__(1); 11922var actionButtons = [ 11923 { id: _constants_1.PATTERN_VIEW, secondaryAction: _constants_1.PATTERN_CHAIN, height: 2, width: 2, display: 'Patterns' }, 11924 { id: 'menu', icon: '/static/icons/menu.png' }, 11925 { id: _constants_1.CANCEL, display: 'C' }, 11926 { id: _constants_1.MUTE, isActive: _constants_1.MUTE, secondaryAction: _constants_1.VOLUME, icon: '/static/icons/mute.png' }, 11927 { id: _constants_1.WRITE, isActive: _constants_1.WRITE, icon: '/static/icons/record.png' }, 11928 { id: _constants_1.BPM, value: _constants_1.BPM, width: 2 }, 11929 { id: _constants_1.SOUNDS_VIEW, value: _constants_1.SOUND, display: 'S' }, 11930 { id: _constants_1.PLAY, isActive: _constants_1.PLAY, icon: '/static/icons/play.png' }, 11931]; 11932var Actions = function () { 11933 var _a = React.useContext(context_1.default), state = _a.state, dispatch = _a.dispatch; 11934 var fireDispatch = React.useCallback(function (e) { 11935 var dataset = e.currentTarget.dataset; 11936 if (dataset.action) { 11937 dispatch({ type: dataset.action }); 11938 } 11939 }, []); 11940 return (React.createElement(React.Fragment, null, actionButtons.map(function (action) { 11941 return React.useMemo(function () { return (React.createElement(Action_1.default, __assign({}, action, { key: action.id, onClick: fireDispatch, isActive: state[action.isActive] || state.view === action.id, display: "" + (action.display || action.id) + (state[action.value] || '') }))); }, [state[action.isActive], state.view, state[action.value]]); 11942 }))); 11943}; 11944exports.default = Actions; 11945 11946 11947/***/ }), 11948/* 64 */ 11949/***/ (function(module, exports, __webpack_require__) { 11950 11951"use strict"; 11952 11953Object.defineProperty(exports, "__esModule", { value: true }); 11954var React = __webpack_require__(0); 11955var abstractCell_1 = __webpack_require__(19); 11956var ActionButton = function (props) { 11957 return (React.createElement(abstractCell_1.default, { onClick: props.onClick, action: props.id, isActive: props.isActive, secondaryAction: props.secondaryAction, buttonId: "action--" + props.id, display: props.display, height: props.height, width: props.width, icon: props.icon })); 11958}; 11959exports.default = ActionButton; 11960 11961
11962/***/ }), 11963/* 65 */ 11964/***/ (function(module, exports, __webpack_require__) { 11965 11966"use strict"; 11967 11968var __assign = (this && this.__assign) || function () { 11969 __assign = Object.assign || function(t) { 11970 for (var s, i = 1, n = arguments.length; i < n; i++) { 11971 s = arguments[i]; 11972 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) 11973 t[p] = s[p]; 11974 } 11975 return t; 11976 }; 11977 return __assign.apply(this, arguments); 11978}; 11979Object.defineProperty(exports, "__esModule", { value: true }); 11980exports.getTouchValues = exports.getButtonData = exports.datasetStringParse = void 0; 11981exports.datasetStringParse = function (dataset) { 11982 if (dataset === void 0) { dataset = {}; } 11983 return (Object.entries(dataset).reduce(function (acc, _a) { 11984 var _b; 11985 var key = _a[0], val = _a[1]; 11986 var value; 11987 try { 11988 value = JSON.parse(val); 11989 } 11990 catch (_c) { 11991 if (val !== 'undefined') { 11992 value = val; 11993 } 11994 } 11995 return __assign(__assign({}, acc), (_b = {}, _b[key] = value, _b)); 11996 }, {})); 11997}; 11998exports.getButtonData = function (target) { 11999 if (target instanceof HTMLButtonElement) { 12000 return exports.datasetStringParse(target.dataset); 12001 } 12002 if (target.parentNode instanceof HTMLElement) { 12003 return exports.getButtonData(target.parentNode); 12004 } 12005 return null; 12006}; 12007exports.getTouchValues = function (e) { 12008 var touchArray = []; 12009 for (var i = 0; i < e.touches.length; i++) { 12010 touchArray.push(e.touches[i]); 12011 } 12012 return (touchArray.map(function (_a) { 12013 var target = _a.target; 12014 return (exports.getButtonData(target)); 12015 }).filter(function (v) { return !!v; })); 12016}; 12017 12018 12019/***/ }), 12020/* 66 */ 12021/***/ (function(module, exports, __webpack_require__) { 12022 12023"use strict"; 12024 12025var __assign = (this && this.__assign) || function () { 12026 __assign = Object.assign || function(t) { 12027 for (var s, i = 1, n = arguments.length; i < n; i++) { 12028 s = arguments[i]; 12029 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) 12030 t[p] = s[p]; 12031 } 12032 return t; 12033 }; 12034 return __assign.apply(this, arguments); 12035}; 12036Object.defineProperty(exports, "__esModule", { value: true }); 12037var React = __webpack_require__(0); 12038var abstractCell_1 = __webpack_require__(19); 12039var context_1 = __webpack_require__(9); 12040var _constants_1 = __webpack_require__(1); 12041; 12042var NoteButton = function (props) { 12043 var _a = React.useState(false), playing = _a[0], setPlayStatus = _a[1]; 12044 var _b = React.useContext(context_1.default), synthAction = _b.synthAction, sounds = _b.sounds, state = _b.state; 12045 var debounce = React.useRef(null); 12046 var noteRef = React.useRef(null); 12047 // needs debouncers 12048 var onDragEnter = React.useCallback(function (e) { 12049 if (e.buttons === 1) { 12050 debounce.current = setTimeout(function () { 12051 noteRef.current.focus(); 12052 setPlayStatus(true); 12053 synthAction(props.id, 'attack'); 12054 debounce.current = null; 12055 }, 40); 12056 } 12057 }, [synthAction]); 12058 var onDragExit = React.useCallback(function (e) { 12059 if (e.buttons === 1) { 12060 if (debounce.current) { 12061 clearTimeout(debounce.current); 12062 debounce.current = null; 12063 } 12064 console.log(noteRef.current); 12065 noteRef.current.blur(); 12066 synthAction(props.id); 12067 } 12068 setPlayStatus(false); 12069 }, [synthAction, setPlayStatus]); 12070 var onMouseUp = React.useCallback(function (e) { 12071 setPlayStatus(false); 12072 noteRef.current.blur(); 12073 synthAction(props.id, 'release'); 12074 }, [synthAction, setPlayStatus]); 12075 var onMouseDown = React.useCallback(function (e) { 12076 setPlayStatus(true); 12077 synthAction(props.id, 'attack'); 12078 }, [synthAction, setPlayStatus]); 12079 var actions = React.useMemo(function () { 12080 return props.onClick 12081 ? { 12082 onClick: props.onClick, 12083 onHold: props.onHold, 12084 onRelease: props.onRelease, 12085 } 12086 : { 12087 onClick: function () { 12088 if (debounce.current) { 12089 clearTimeout(debounce.current); 12090 debounce.current = null; 12091 synthAction(props.id, 'attack', '8n'); 12092 } 12093 }, 12094 onHold: onMouseDown, 12095 onRelease: onMouseUp, 12096 onMouseEnter: onDragEnter, 12097 onMouseLeave: onDragExit, 12098 }; 12099 }, [props.onClick]); 12100 return (React.createElement(abstractCell_1.default, __assign({}, actions, { ref: noteRef, isActive: playing, value: props.id, display: (sounds[state[_constants_1.SOUND]].keys 12101 && sounds[state[_constants_1.SOUND]].keys[props.idx]) || props.id, action: props.action, idx: props.idx, noTouch: !props.on
12101Hold }))); 12102}; 12103exports.default = NoteButton; 12104 12105 12106/***/ }), 12107/* 67 */ 12108/***/ (function(module, exports, __webpack_require__) { 12109 12110"use strict"; 12111 12112var __assign = (this && this.__assign) || function () { 12113 __assign = Object.assign || function(t) { 12114 for (var s, i = 1, n = arguments.length; i < n; i++) { 12115 s = arguments[i]; 12116 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) 12117 t[p] = s[p]; 12118 } 12119 return t; 12120 }; 12121 return __assign.apply(this, arguments); 12122}; 12123Object.defineProperty(exports, "__esModule", { value: true }); 12124var React = __webpack_require__(0); 12125var Sequencer_1 = __webpack_require__(68); 12126var context_1 = __webpack_require__(9); 12127var abstractPad_1 = __webpack_require__(20); 12128var _constants_1 = __webpack_require__(1); 12129var NotesPad_1 = __webpack_require__(36); 12130var NumberPad_1 = __webpack_require__(69); 12131var _utils_1 = __webpack_require__(15); 12132var getNoteDisplay = function (note, customKeys) { 12133 var disp = customKeys 12134 ? customKeys[note.note] 12135 : note.note; 12136 return "" + disp + (note.span ? "-" + note.span : ''); 12137}; 12138// Primary composition pad 12139// Writes 16 step sequences to loop 12140var SequencePad = function () { 12141 var holdTimer = React.useRef(null); 12142 var _a = React.useContext(context_1.default), state = _a.state, dispatch = _a.dispatch, sounds = _a.sounds, startNote = _a.startNote; 12143 var _b = React.useState({}), newSequenceValue = _b[0], updateNewValue = _b[1]; 12144 var _c = React.useState(null), copyValue = _c[0], setCopyValue = _c[1]; 12145 var pattern = React.useMemo(function () { 12146 return state[_constants_1.PATTERNS][state[_constants_1.PATTERN_IDX]]; 12147 }, [state[_constants_1.PATTERNS], state[_constants_1.PATTERN_IDX]]); 12148 var patternType = React.useMemo(function () { return state[_constants_1.PATTERN_TYPE]; }, [state[_constants_1.PATTERN_TYPE]]); 12149 var customKeys = React.useMemo(function () { 12150 if (!sounds[state[_constants_1.SOUND]].keys) { 12151 return null; 12152 } 12153 return _utils_1.generateKeys(+startNote[1]).reduce(function (acc, val, idx) { 12154 var _a; 12155 return (__assign(__assign({}, acc), (_a = {}, _a[val.id] = sounds[state[_constants_1.SOUND]].keys[idx], _a))); 12156 }, {}); 12157 }, [state[_constants_1.SOUND]]); 12158 React.useEffect(function () { 12159 if (state.lastAction === _constants_1.CANCEL) { 12160 updateNewValue({}); 12161 setCopyValue(null); 12162 } 12163 }, [state]); 12164 // clear on cancel ?? 12165 var initalPattern = React.useMemo(function () { return (JSON.parse(JSON.stringify(state[_constants_1.PATTERNS][state[_constants_1.PATTERN_IDX]]))); }, [state[_constants_1.PATTERN_IDX]]); 12166 var updateCopyValue = React.useCallback(function (value) { 12167 setCopyValue(value); 12168 }, []); 12169 var updatePattern = React.useCallback(function (_a) { 12170 var idx = _a.idx, note = _a.note, span = _a.span; 12171 dispatch({ 12172 type: _constants_1.PATTERN_UPDATE, 12173 value: { 12174 idx: idx, note: note, span: span, 12175 }, 12176 }); 12177 updateNewValue({}); 12178 }, [state[_constants_1.PATTERNS], state[_constants_1.PATTERN_IDX]]); 12179 var onSelectStep = React.useCallback(function (e) { 12180 var idx = +e.currentTarget.dataset.value; 12181 var currentPattern = state[_constants_1.PATTERNS][state[_constants_1.PATTERN_IDX]]; 12182 if (copyValue) { 12183 updatePattern(__assign({ idx: idx }, copyValue)); 12184 } 12185 else if (currentPattern[patternType][idx]) { 12186 updatePattern({ idx: idx }); 12187 } 12188 else { 12189 updateNewValue({ idx: idx }); 12190 } 12191 }, [copyValue, state[_constants_1.PATTERNS]]); 12192 var onSimpleSetNote = React.useCallback(function (e) { 12193 console.log(e); 12194 var isBasicDrum = state[_constants_1.PATTERN_TYPE] === 'drums'; 12195 if (holdTimer.current || isBasicDrum) { 12196 var value = e.currentTarget.dataset.value; 12197 updatePattern(__assign(__assign({}, newSequenceValue), { note: value, span: !isBasicDrum ? 1 : undefined })); 12198 return; 12199 } 12200 clearTimeout(holdTimer.current); 12201 holdTimer.current = null; 12202 }, [newSequenceValue]); 12203 var onSelectNote = React.useCallback(function (e) { 12204 var value = e.currentTarget.dataset.value; 12205 console.log('a'); 12206 holdTimer.current = setTimeout(function () { 12207 console.log('b'); 12208 if (state[_constants_1.PATTERN_TYPE] === 'drums') { 12209 updatePattern(__assign(__assign({}, newSequenceValue), { note: value })); 12210 } 12211 else { 12212 updateNewValue(__assign(__assign({}, newSequenceValue), { note: value })); 12213 } 12214 holdTimer.current = null; 12215 }, 300); 12216 }, [newSequenceValue]); 12217 var clearIt = React.useCallback(function () { return clearTimeout(holdTimer.current); }, []); 12218 var onSelectLength = React.useCallback(function (e) { 12219 var value = +e.currentTarget.dataset.value; 12220 updatePattern(__assign(__assign({}, newSequenceValue), { span: value })); 12221 }, [newSequenceValue]);
12222 return (React.useMemo(function () { return state[_constants_1.WRITE] && (React.createElement(React.Fragment, null, 12223 typeof newSequenceValue.idx !== 'number' 12224 && pattern 12225 && pattern[patternType] 12226 && (React.createElement(abstractPad_1.default, null, pattern[patternType].map(function (note, idx) { 12227 return React.createElement(Sequencer_1.default, __assign({}, note, { onClick: onSelectStep, key: idx, highlight: idx === state[_constants_1.PATTERN_IDX], display: note ? getNoteDisplay(note, customKeys) : null, action: _constants_1.PATTERN_UPDATE, secondaryAction: _constants_1.NOTE_COPY })); 12228 }))), 12229 typeof newSequenceValue.idx === 'number' && !newSequenceValue.note && (React.createElement(NotesPad_1.default, { activeChildIdx: newSequenceValue.idx, onClick: onSimpleSetNote, onHold: onSelectNote, onRelease: clearIt, action: 'pattern_entry_note', italic: true, bold: true })), 12230 typeof newSequenceValue.idx === 'number' && newSequenceValue.note && (React.createElement(NumberPad_1.default, { activeChildIdx: newSequenceValue.idx, onClick: onSelectLength, action: 'pattern_entry_length', italic: true, bold: true, displayValue: true })))); }, [newSequenceValue, state[_constants_1.PATTERNS], state[_constants_1.WRITE]])); 12231}; 12232exports.default = SequencePad; 12233 12234 12235/***/ }), 12236/* 68 */ 12237/***/ (function(module, exports, __webpack_require__) { 12238 12239"use strict"; 12240 12241Object.defineProperty(exports, "__esModule", { value: true }); 12242var React = __webpack_require__(0); 12243var abstractCell_1 = __webpack_require__(19); 12244// @todo pattern chaining is gonna take work 12245var PatternButton = function (props) { 12246 return (React.createElement(abstractCell_1.default, { onClick: props.onClick, value: props.idx, action: props.action, display: props.display, secondaryAction: props.secondaryAction, isActive: props.isActive, highlight: props.highlight, idx: props.idx })); 12247}; 12248exports.default = PatternButton; 12249 12250 12251/***/ }), 12252/* 69 */ 12253/***/ (function(module, exports, __webpack_require__) { 12254 12255"use strict"; 12256 12257Object.defineProperty(exports, "__esModule", { value: true }); 12258var React = __webpack_require__(0); 12259var abstractPad_1 = __webpack_require__(20); 12260var abstractCell_1 = __webpack_require__(19); 12261var NumberPad = function (props) { return (React.createElement(abstractPad_1.default, { bold: props.bold, italic: props.italic, activeChildIdx: props.activeChildIdx }, new Array(16).fill(null).map(function (_, idx) { return (React.createElement(abstractCell_1.default, { key: idx, onClick: props.onClick, onHold: props.onHold, onRelease: props.onRelease, secondaryAction: props.secondaryAction, action: props.action, display: props.displayValue ? (idx + 1).toString() : undefined, isActive: idx === props.activeIdx, highlight: props.getHighlight ? props.getHighlight(idx) : undefined, value: idx })); }))); }; 12262exports.default = NumberPad; 12263 12264 12265/***/ }), 12266/* 70 */ 12267/***/ (function(module, exports, __webpack_require__) { 12268 12269"use strict"; 12270
12271var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { 12272 if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } 12273 return cooked; 12274}; 12275var __rest = (this && this.__rest) || function (s, e) { 12276 var t = {}; 12277 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) 12278 t[p] = s[p]; 12279 if (s != null && typeof Object.getOwnPropertySymbols === "function") 12280 for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { 12281 if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) 12282 t[p[i]] = s[p[i]]; 12283 } 12284 return t; 12285}; 12286var __spreadArrays = (this && this.__spreadArrays) || function () { 12287 for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; 12288 for (var r = Array(s), k = 0, i = 0; i < il; i++) 12289 for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) 12290 r[k] = a[j]; 12291 return r; 12292}; 12293Object.defineProperty(exports, "__esModule", { value: true }); 12294var React = __webpack_require__(0); 12295var styled_components_1 = __webpack_require__(13); 12296var context_1 = __webpack_require__(9); 12297var _constants_1 = __webpack_require__(1); 12298var border = '1px dotted black'; 12299var DataViews = styled_components_1.default('div')(templateObject_1 || (templateOb
12299ject_1 = __makeTemplateObject(["\n grid-column: 3/7;\n grid-row: 1/4;\n background-color: #aabbaa;\n font-family: monospace;\n user-select: none;\n pointer-event: none;\n display: grid;\n grid-template-rows: repeat(6, ", "%);\n grid-template-columns: repeat(8, 12.5%); \n align-items: center;\n\n padding: 2px;\n"], ["\n grid-column: 3/7;\n grid-row: 1/4;\n background-color: #aabbaa;\n font-family: monospace;\n user-select: none;\n pointer-event: none;\n display: grid;\n grid-template-rows: repeat(6, ", "%);\n grid-template-columns: repeat(8, 12.5%); \n align-items: center;\n\n padding: 2px;\n"])), 100 / 6); 12300var PatternData = styled_components_1.default('div')(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n grid-row: 2/5;\n padding: 2px;\n text-align: center;\n align-self: start;\n height: 100%;\n outline: ", ";\n overflow: hidden;\n"], ["\n grid-row: 2/5;\n padding: 2px;\n text-align: center;\n align-self: start;\n height: 100%;\n outline: ", ";\n overflow: hidden;\n"])), border); 12301var GridCell = styled_components_1.default('div')(templateObject_3 || (templateOb
12301ject_3 = __makeTemplateObject(["\n text-align: center;\n\n ", "\n ", "\n &::after {\n content: attr(data-display);\n }\n ", "\n ", "\n"], ["\n text-align: center;\n\n ", 12302 "\n ", 12303 "\n &::after {\n content: attr(data-display);\n }\n ", "\n ", "\n"])), function (_a) { 12304 var column = _a.column, _b = _a.width, width = _b === void 0 ? 1 : _b; 12305 return typeof column !== 'undefined' 12306 ? "grid-column: " + column + "/" + (column + width) + ";" 12307 : ''; 12308}, function (_a) { 12309 var row = _a.row, _b = _a.height, height = _b === void 0 ? 1 : _b; 12310 return typeof row !== 'undefined' 12311 ? "grid-row: " + row + "/" + (row + height) + ";" 12312 : ''; 12313}, function (_a) { 12314 var borderRight = _a.borderRight; 12315 return borderRight ? 'border-right: 1px dotted black;' : ''; 12316}, function (_a) { 12317 var align = _a.align; 12318 return align ? "align-self: " + align + ";" : ''; 12319}); 12320var IOSAlert = styled_components_1.default('div')(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n grid-column: 2/9;\n text-align: right;\n align-self: start;\n &::after {\n ", "\n }\n"], ["\n grid-column: 2/9;\n text-align: right;\n align-self: start;\n &::after {\n ", 12321 "\n }\n"])), function (_a) { 12322 var lastAction = _a.lastAction; 12323 if (!lastAction) { 12324 return 'content: \'Press unmute to begin\';'; 12325 } 12326 if (/iPhone|iPod|iPad/.test(navigator.platform)) { 12327 return 'content: \'iOS needs silent off\';'; 12328 } 12329 return ''; 12330}); 12331var getView = function (state) { 12332 if (state.view) { 12333 return state.view; 12334 } 12335 if (state[_constants_1.WRITE]) { 12336 return 'compose'; 12337 } 12338 return 'soundcheck'; 12339}; 12340var LogView = styled_components_1.default('ul')(templateObject_5 || (templateOb
12340ject_5 = __makeTemplateObject(["\n grid-row: 2/6;\n grid-column: 2/9;\n border: 1px dotted black;\n padding-left: 20px;\n margin: 5px;\n line-height: 10px;\n height: 100%;\n"], ["\n grid-row: 2/6;\n grid-column: 2/9;\n border: 1px dotted black;\n padding-left: 20px;\n margin: 5px;\n line-height: 10px;\n height: 100%;\n"]))); 12341var actionListLimit = 7; 12342var DataView = function (props) { 12343 var state = React.useContext(context_1.default).state; 12344 var _a = React.useState([]), log = _a[0], setLog = _a[1]; 12345 React.useEffect(function () { 12346 if (props.viewLog) { 12347 return; 12348 } 12349 if (!state.lastAction) { 12350 return; 12351 } 12352 if (log.length < actionListLimit) { 12353 setLog(__spreadArrays(log, [state.lastAction])); 12354 return; 12355 } 12356 setLog(__spreadArrays(log.slice(log.length - actionListLimit + 1), [state.lastAction])); 12357 }, [state.lastAction]); 12358 var sound = state.sound, rest = __rest(state, ["sound"]); 12359 return (React.createElement(DataViews, null, 12360 React.createElement(GridCell, { "data-display": state[_constants_1.PATTERN_IDX].toString().padStart(2, '0') }), 12361 React.createElement(PatternData, null, 12362 state[_constants_1.PATTERN_CHAIN].map(function (v) { return v.toString().padStart(2, '0'); }).join(' '), 12363 ' ^^'), 12364 React.createElement(GridCell, { row: 6, column: 1, "data-display": state[_constants_1.BPM].toString().padStart(3, '0') }), 12365 React.createElement(GridCell, { row: 5, column: 1, "data-display": 'S00', align: "end" }), 12366 !props.viewLog && log.length ? (React.createElement(LogView, null, log.map(function (v, idx) { return React.createElement("li", { key: v + idx + 'log' }, v); }))) : null, 12367 React.createElement(GridCell, { row: 6, column: 2, width: 6, "data-display": getView(state) }), 12368 React.createElement(GridCell, { row: 5, column: 8, "data-display": ("" + Math.floor(state[_constants_1.VOLUME] + 8)).padStart(2, '0') }), 12369 React.createElement(GridCell, { row: 6, column: 8, "data-display": state[_constants_1.SOUND].toString().padStart(2, '0') }), 12370 React.createElement(IOSAlert, { lastAction: state.lastAction }))); 12371}; 12372exports.default = DataView; 12373var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5; 12374 12375 12376/***/ }), 12377/* 71 */ 12378/***/ (function(module, exports, __webpack_require__) { 12379 12380"use strict"; 12381 12382Object.defineProperty(exports, "__esModule", { value: true }); 12383var React = __webpack_require__(0); 12384var abstractPad_1 = __webpack_require__(20); 12385var _constants_1 = __webpack_require__(1); 12386var context_1 = __webpack_require__(9); 12387var abstractCell_1 = __webpack_require__(19); 12388// Selects the sound to work with live 12389var SoundsPad = function () { 12390 var _a = React.useContext(context_1.default), sounds = _a.sounds, state = _a.state, dispatch = _a.dispatch; 12391 var fireDispatch = React.useCallback(function (e) { 12392 var idx = +e.currentTarget.dataset.idx; 12393 dispatch({ type: _constants_1.SOUNDS_SET, value: idx }); 12394 }, []); 12395 return state.view === _constants_1.SOUNDS_VIEW && (React.createElement(abstractPad_1.default, null, React.useMemo(function () { return (sounds.map(function (sound, idx) { return (React.createElement(abstractCell_1.default, { key: sound.id + sound.name, onClick: fireDispatch, action: _constants_1.SOUNDS_SET, highlight: state[_constants_1.SOUND] === idx, display: sound.name })); })); }, [state[_constants_1.SOUND], sounds]))); 12396}; 12397exports.default = SoundsPad; 12398 12399 12400/***/ }), 12401/* 72 */ 12402/***/ (function(module, exports, __webpack_require__) { 12403 12404"use strict"; 12405
12406var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { 12407 if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } 12408 return cooked; 12409}; 12410Object.defineProperty(exports, "__esModule", { value: true }); 12411var React = __webpack_require__(0); 12412var abstractPad_1 = __webpack_require__(20); 12413var styled_components_1 = __webpack_require__(13); 12414var cells = new Array(16).fill(null); 12415var green = '#00FF00'; 12416var greenLow = '#008800'; 12417var red = '#FF0000'; 12418var redLow = '#880000'; 12419var multiOutline = function (outlines) { 12420 var i = 0; 12421 var multi = outlines.map(function (_a) { 12422 var _b = _a.o, o = _b === void 0 ? 0 : _b, _c = _a.b, b = _c === void 0 ? 0 : _c, _d = _a.c, c = _d === void 0 ? green : _d; 12423 var edge = i + o; 12424 var val = "0px 0px 0px " + (i + 1) + "px #222, 0px 0px " + b + "px " + edge + "px " + c; 12425 i = edge; 12426 return val; 12427 }); 12428 return multi.join(', '); 12429}; 12430var StatusCell = styled_components_1.default('div')(templateObject_1 || (templateOb
12430ject_1 = __makeTemplateObject(["\n box-shadow: ", ";\n pointer-events: none;\n background-color: rgba(255, 255, 255, 0.7);\n transition: all ease-out 200ms;\n &.red, &.green {\n transition: none;\n }\n &.green {\n box-shadow: ", ";\n }\n &.red {\n box-shadow: ", ";\n }\n &.red.green {\n box-shadow: ", ";\n }\n &.live {\n background-color: white;\n }\n &.bgRed {\n background-color: red;\n transition: none;\n }\n"], ["\n box-shadow: ", ";\n pointer-events: none;\n background-color: rgba(255, 255, 255, 0.7);\n transition: all ease-out 200ms;\n &.red, &.green {\n transition: none;\n }\n &.green {\n box-shadow: ", ";\n }\n &.red {\n box-shadow: ", ";\n }\n &.red.green {\n box-shadow: ", ";\n }\n &.live {\n background-color: white;\n }\n &.bgRed {\n background-color: red;\n transition: none;\n }\n"])), multiOutline([{ o: 3, c: greenLow }, { o: 3, c: redLow }]), multiOutline([{ o: 4, c: green }, { o: 2, c: redLow }]), multiOutline([{ o: 3, c: greenLow }, { o: 4, c: red }]), multiOutline([{ o: 4, c: green }, { o: 3, c: red }])); 12431var StatusPad = function () { 12432 return (React.createElement(abstractPad_1.default, { entries: 16, id: "Pad--status-pad" }, cells.map(function (_, idx) { return React.createElement(StatusCell, { className: "cell", id: "live-status--" + idx, key: idx }); }))); 12433}; 12434exports.default = StatusPad; 12435var templateObject_1; 12436 12437 12438/***/ }), 12439/* 73 */ 12440/***/ (function(module, exports, __webpack_require__) { 12441 12442"use strict"; 12443 12444Object.defineProperty(exports, "__esModule", { value: true }); 12445var React = __webpack_require__(0); 12446var context_1 = __webpack_require__(9); 12447var _constants_1 = __webpack_require__(1); 12448var abstractPad_1 = __webpack_require__(20); 12449var PatternCell_1 = __webpack_require__(74); 12450// Pad for selecting patterns 12451// Depending on state this controls which pattern you wish to edit or how to chain them 12452var PatternsPad = function () { 12453 var _a = React.useContext(context_1.default), dispatch = _a.dispatch, state = _a.state; 12454 var onClick = React.useCallback(function (e) { 12455 var clickValue = +e.currentTarget.dataset.value; 12456 dispatch({ 12457 type: _constants_1.PATTERN_SET, 12458 value: clickValue, 12459 }); 12460 }, [state]); 12461 return state.view === _constants_1.PATTERN_VIEW && (React.createElement(abstractPad_1.default, null, state[_constants_1.PATTERNS].map(function (v, idx) { return (React.useMemo(function () { return (React.createElement(PatternCell_1.default, { key: idx, pattern: v, onClick: onClick, secondaryAction: _constants_1.PATTERN_COPY, action: _constants_1.PATTERN_SET, isActive: state[_
12461constants_1.PATTERN_IDX] === idx, value: idx, idx: idx })); }, [state[_constants_1.PATTERNS][idx], state[_constants_1.PATTERN_IDX], state[_constants_1.PATTERN_CHAIN]])); }))); 12462}; 12463exports.default = PatternsPad; 12464 12465 12466/***/ }), 12467/* 74 */ 12468/***/ (function(module, exports, __webpack_require__) { 12469 12470"use strict"; 12471 12472var __assign = (this && this.__assign) || function () { 12473 __assign = Object.assign || function(t) { 12474 for (var s, i = 1, n = arguments.length; i < n; i++) { 12475 s = arguments[i]; 12476 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) 12477 t[p] = s[p]; 12478 } 12479 return t; 12480 }; 12481 return __assign.apply(this, arguments); 12482}; 12483var __rest = (this && this.__rest) || function (s, e) { 12484 var t = {}; 12485 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) 12486 t[p] = s[p]; 12487 if (s != null && typeof Object.getOwnPropertySymbols === "function") 12488 for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { 12489 if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) 12490 t[p[i]] = s[p[i]]; 12491 } 12492 return t; 12493}; 12494Object.defineProperty(exports, "__esModule", { value: true }); 12495var React = __webpack_require__(0); 12496var abstractCell_1 = __webpack_require__(19); 12497var getDisplay = function (pattern) { 12498 var noteCount = pattern.spots.filter(function (v) { return v; }).length; 12499 var beatCount = pattern.drums.filter(function (v) { return v; }).length; 12500 if (!noteCount && !beatCount) { 12501 return; 12502 } 12503 return pattern.spots.map(function (v, idx) { 12504 return "" + (v ? v.note : '__') + (pattern.drums[idx] ? 'X' : '_') + (idx !== 15 && idx % 4 === 3 ? ' ' : ''); 12505 }).join(''); 12506}; 12507var PatternCell = function (_a) { 12508 var pattern = _a.pattern, props = __rest(_a, ["pattern"]); 12509 return (React.createElement(abstractCell_1.default, __assign({}, props, { display: getDisplay(pattern) || undefined, isDataDisplay: true }))); 12510}; 12511exports.default = PatternCell; 12512 12513 12514/***/ }), 12515/* 75 */ 12516/***/ (function(module, exports, __webpack_require__) { 12517 12518"use strict"; 12519 12520Object.defineProperty(exports, "__esModule", { value: true }); 12521var player_1 = __webpack_require__(76); 12522Object.defineProperty(exports, "BassPlayer", { enumerable: true, get: function () { return player_1.default; } }); 12523var player_2 = __webpack_require__(37); 12524Object.defineProperty(exports, "MelodyPlayer", { enumerable: true, get: function () { return player_2.default; } }); 12525 12526 12527/***/ }), 12528/* 76 */ 12529/***/ (function(module, exports, __webpack_require__) { 12530 12531"use strict"; 12532 12533var __extends = (this && this.__extends) || (function () { 12534 var extendStatics = function (d, b) { 12535 extendStatics = Object.setPrototypeOf || 12536 ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || 12537 function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; 12538 return extendStatics(d, b); 12539 }; 12540 return function (d, b) { 12541 extendStatics(d, b); 12542 function __() { this.constructor = d; } 12543 d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); 12544 }; 12545})(); 12546var __assign = (this && this.__assign) || function () { 12547 __assign = Object.assign || function(t) { 12548 for (var s, i = 1, n = arguments.length; i < n; i++) { 12549 s = arguments[i]; 12550 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) 12551 t[p] = s[p]; 12552 } 12553 return t; 12554 }; 12555 return __assign.apply(this, arguments); 12556};
12557var __spreadArrays = (this && this.__spreadArrays) || function () { 12558 for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; 12559 for (var r = Array(s), k = 0, i = 0; i < il; i++) 12560 for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) 12561 r[k] = a[j]; 12562 return r; 12563}; 12564Object.defineProperty(exports, "__esModule", { value: true }); 12565var player_1 = __webpack_require__(37); 12566var sources_1 = __webpack_require__(79); 12567var _utils_1 = __webpack_require__(15); 12568var _sources_1 = __webpack_require__(39); 12569var LazyBass = /** @class */ (function (_super) { 12570 __extends(LazyBass, _super); 12571 function LazyBass(initalValues) { 12572 var _this = _super.call(this, initalValues, LazyBass) || this; 12573 _this.getNewPlaysound = function (idx) { 12574 var newPlaySound = idx < 15 12575 ? _utils_1.generateInstrument(sources_1.bassSoundSources[idx]) 12576 : _sources_1.generateDrumMachine(LazyBass.startNote, idx); 12577 newPlaySound.tone.toMaster(); 12578 return newPlaySound; 12579 }; 12580 return _this; 12581 } 12582 LazyBass.colorFilter = 'hue-rotate(90deg) saturate(5)'; 12583 LazyBass.startNote = 'c1'; 12584 LazyBass.sources = sources_1.bassSoundSources; 12585 LazyBass.sounds = __spreadArrays(LazyBass.sources.map(function (v, idx) { return (__assign(__assign({}, _utils_1.generateInstrument(v)), { id: idx })); }), [ 12586 _sources_1.generateDrumMachine(LazyBass.startNote, LazyBass.sources.length), 12587 ]); 12588 return LazyBass; 12589}(player_1.default)); 12590exports.default = LazyBass; 12591 12592 12593/***/ }), 12594/* 77 */ 12595/***/ (function(module, __webpack_exports__, __webpack_require__) { 12596 12597"use strict"; 12598__webpack_require__.r(__webpack_exports__); 12599/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DrumMachine", function() { return DrumMachine; }); 12600/* harmony import */ var tone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16); 12601/* harmony import */ var tone__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(tone__WEBPACK_IMPORTED_MODULE_0__); 12602/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(15); 12603/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_utils__WEBPACK_IMPORTED_MODULE_1__); 12604function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } 12605 12606function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 12607 12608function _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); } } 12609 12610function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 12611 12612function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } 12613 12614function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } 12615 12616function _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } 12617 12618function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } 12619 12620function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } 12621 12622function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } 12623
12624function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } 12625 12626function _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; } 12627 12628 12629 12630var DrumMachine = 12631/*#__PURE__*/ 12632function (_Tone$Players) { 12633 _inherits(DrumMachine, _Tone$Players); 12634 12635 var _super = _createSuper(DrumMachine); 12636 12637 function DrumMachine(_ref) { 12638 var _this; 12639 12640 var sources = _ref.sources, 12641 baseUrl = _ref.baseUrl, 12642 _ref$startNote = _ref.startNote, 12643 startNote = _ref$startNote === void 0 ? 'c3' : _ref$startNote, 12644 _ref$baseVolume = _ref.baseVolume, 12645 baseVolume = _ref$baseVolume === void 0 ? 0 : _ref$baseVolume; 12646 12647 _classCallCheck(this, DrumMachine); 12648 12649 var beatArray = []; 12650 var customKeys = []; 12651 sources.forEach(function (_ref2) { 12652 var name = _ref2.name, 12653 src = _ref2.src; 12654 beatArray.push("".concat(baseUrl).concat(src)); 12655 customKeys.push(name); 12656 }); 12657 _this = _super.call(this, beatArray); 12658 12659 _defineProperty(_assertThisInitialized(_this), "playing", []); 12660 12661 _defineProperty(_assertThisInitialized(_this), "overlap", false); 12662 12663 _defineProperty(_assertThisInitialized(_this), "keyMap", {}); 12664 12665 _defineProperty(_assertThisInitialized(_this), "baseVolume", 0); 12666 12667 _defineProperty(_assertThisInitialized(_this), "name", 'basicDrum'); 12668 12669 _this.baseVolume = baseVolume; 12670 Object(_utils__WEBPACK_IMPORTED_MODULE_1__["generateKeys"])(+startNote[1]).forEach(function (key, idx) { 12671 _this.keyMap[key.id] = { 12672 player: _this.get(idx), 12673 data: sources[idx] 12674 }; 12675 }); 12676 12677 if (customKeys.filter(function (v) { 12678 return !!v; 12679 }).length) { 12680 _this.customKeys = customKeys; 12681 } 12682 12683 return _this; 12684 } 12685 12686 _createClass(DrumMachine, [{ 12687 key: "triggerAttackRelease", 12688 value: function triggerAttackRelease(note) { 12689 var _this$keyMap$note = this.keyMap[note], 12690 data = _this$keyMap$note.data, 12691 player = _this$keyMap$note.player; 12692 this.setVolume(data); 12693 player.start(); 12694 } 12695 }, { 12696 key: "triggerAttack", 12697 value: function triggerAttack(note) { 12698 this.triggerAttackRelease(note); 12699 } 12700 }, { 12701 key: "triggerRelease", 12702 value: function triggerRelease(note) {// this.keyMap[note].stop(); 12703 } 12704 }, { 12705 key: "setVolume", 12706 value: function setVolume(data) { 12707 if (data && data.volume && data.volume !== this.volume.value) { 12708 this.volume.value = data.volume; 12709 return; 12710 } 12711 12712 if (typeof data.volume === 'undefined' && this.volume.value !== this.baseVolume) { 12713 this.volume.value = this.baseVolume; 12714 } 12715 } 12716 }]); 12717 12718 return DrumMachine; 12719}(tone__WEBPACK_IMPORTED_MODULE_0___default.a.Players); 12720/* harmony default export */ __webpack_exports__["default"] = (DrumMachine); 12721 12722/***/ }), 12723/* 78 */ 12724/***/ (function(module, exports, __webpack_require__) { 12725 12726"use strict"; 12727
12728var __spreadArrays = (this && this.__spreadArrays) || function () { 12729 for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; 12730 for (var r = Array(s), k = 0, i = 0; i < il; i++) 12731 for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) 12732 r[k] = a[j]; 12733 return r; 12734}; 12735Object.defineProperty(exports, "__esModule", { value: true }); 12736var Tone = __webpack_require__(16); 12737var _utils_1 = __webpack_require__(15); 12738var _constants_1 = __webpack_require__(1); 12739window.Tone = Tone; 12740var AbstractSoundProcessor = /** @class */ (function () { 12741 function AbstractSoundProcessor(initialValues, staticValues) { 12742 var _this = this; 12743 this.currentIdx = 0; 12744 this.currentChain = []; 12745 this.isPlaying = false; 12746 this.updateLights = function (idx, color, clearLights) { 12747 if (color === void 0) { color = 'red'; } 12748 if (clearLights === void 0) { clearLights = true; } 12749 var next = document.getElementById("live-status--" + idx % 16); 12750 if (clearLights) { 12751 _this.clearLights(color); 12752 } 12753 next.classList.add(color); 12754 }; 12755 this.clearLights = function (color) { 12756 if (color === void 0) { color = 'red'; } 12757 document.querySelectorAll("[id^=live-status--]." + color).forEach(function (v) { return v.classList.remove(color); }); 12758 }; 12759 this.clearAllLights = function () { 12760 _this.clearLights('red'); 12761 _this.clearLights('green'); 12762 _this.stopPatternFlashing(); 12763 }; 12764 this.updateIndex = function (newIndex) { 12765 _this.currentIdx = newIndex; 12766 if (_this.currentIdx % 16 === 0) { 12767 var hasUpdatedChain = _this.lastState[_constants_1.PATTERN_CHAIN] !== _this.currentChain; 12768 var chainLengthChanged = hasUpdatedChain 12769 && _this.lastState[_constants_1.PATTERN_CHAIN].length !== _this.currentChain.length; 12770 if (hasUpdatedChain) { 12771 _this.currentChain = _this.lastState[_constants_1.PATTERN_CHAIN]; 12772 } 12773 if (chainLengthChanged) { 12774 _this.currentIdx = 0; 12775 } 12776 } 12777 }; 12778 this.loopBuilder = function () { 12779 var timeStamp = 0; 12780 var timesArr = []; 12781 return new Tone.Loop(function (time) { 12782 var derivedIndex = _this.currentIdx % (_this.currentChain.length * 16); 12783 var patternIdx = _this.currentChain[Math.floor(derivedIndex / 16)]; 12784 var noteIdx = _this.currentIdx % 16; 12785 timeStamp = time - timeStamp; 12786 timesArr = __spreadArrays(timesArr, [timeStamp]); 12787 _this.currentIdx += 1; 12788 _this.updateLights(noteIdx, 'red', _this.lastState[_constants_1.PATTERN_IDX] === patternIdx && _this.lastState[_constants_1.WRITE] 12789 ? (noteIdx % 16 === 0) 12790 : undefined); 12791 if (noteIdx === 0) { 12792 _this.updateLights(patternIdx, 'green'); 12793 } 12794 _this.loopAction(patternIdx, noteIdx); 12795 if (_this.players) { 12796 _this.players.forEach(function (player) { 12797 player.loopNestAction(_this.currentIdx, _this.currentChain.length); 12798 }); 12799 } 12800 _this.updateIndex(_this.currentIdx); 12801 }, '16n'); 12802 }; 12803 this.static = staticValues; 12804 this.playerSounds = this.static.sounds; 12805 this.sources = this.static.sources; 12806 this.patterns = initialValues[_constants_1.PATTERNS]; 12807 this.sound = _utils_1.generateInstrument(this.sources[0]), 12808 this.playerSounds[0].tone.toMaster(); 12809 this.sound.tone.toMaster(); 12810 Tone.Master.mute = true; 12811 this.loop = this.loopBuilder(); 12812 } 12813 AbstractSoundProcessor.prototype.reducer = function (action, state) { 12814 throw new Error('Classes should define a reducer'); 12815 }; 12816 AbstractSoundProcessor.prototype.receivedUpdates = function (updateObject) { 12817 // checks for updates in object and applies them
12818 throw new Error("This will apply updates from a parent reducer"); 12819 }; 12820 AbstractSoundProcessor.prototype.updateMute = function () { 12821 if (this.lastState[_constants_1.MUTE] !== Tone.Master.mute) { 12822 Tone.Master.mute = this.lastState[_constants_1.MUTE]; 12823 if (!this.lastState[_constants_1.MUTE] && Tone.Transport.state !== 'started') { 12824 Tone.Transport.start(); 12825 } 12826 } 12827 }; 12828 AbstractSoundProcessor.prototype.patternFlashing = function () { 12829 var _this = this; 12830 var idx = 0; 12831 this.patternInterval = setInterval(function () { 12832 var duration = _this.lastState[_constants_1.PATTERN_CHAIN].length + 1; 12833 var entry = idx % 2 === 0 12834 ? _this.lastState[_constants_1.PATTERN_CHAIN][(idx / 2) % duration] 12835 : undefined; 12836 if (typeof entry !== 'undefined') { 12837 _this.updateLights(entry, 'bgRed'); 12838 } 12839 else { 12840 _this.clearLights('bgRed'); 12841 } 12842 idx++; 12843 }, 100); 12844 }; 12845 AbstractSoundProcessor.prototype.stopPatternFlashing = function () { 12846 if (this.patternInterval) { 12847 clearInterval(this.patternInterval); 12848 this.patternInterval = null; 12849 this.clearLights('bgRed'); 12850 } 12851 }; 12852 AbstractSoundProcessor.prototype.getNewPlaysound = function (idx) { 12853 throw new Error("Please implement action in child"); 12854 }; 12855 // means of sequencing multiple players on the one loop... probably gonna be a nightmare 12856 AbstractSoundProcessor.prototype.loopNestAction = function (parentIdx, parentChain) { 12857 // TODO 12858 // calulate the bits and pieces to have the sequences pair consistently 12859 // return this.loopAction(calculatedPattern, calculatedNote); 12860 }; 12861 AbstractSoundProcessor.prototype.loopAction = function (currentIdx, noteIdx) { 12862 throw new Error("Please implement action is child"); 12863 }; 12864 AbstractSoundProcessor.prototype.unmount = function () { 12865 if (this && this.loop) { 12866 this.loop.stop(); 12867 this.clearAllLights(); 12868 } 12869 }; 12870 return AbstractSoundProcessor; 12871}()); 12872exports.default = AbstractSoundProcessor; 12873 12874 12875/***/ }), 12876/* 79 */ 12877/***/ (function(module, exports, __webpack_require__) { 12878 12879"use strict"; 12880 12881var __assign = (this && this.__assign) || function () { 12882 __assign = Object.assign || function(t) { 12883 for (var s, i = 1, n = arguments.length; i < n; i++) { 12884 s = arguments[i]; 12885 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) 12886 t[p] = s[p]; 12887 } 12888 return t; 12889 }; 12890 return __assign.apply(this, arguments); 12891};
12892var __spreadArrays = (this && this.__spreadArrays) || function () { 12893 for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; 12894 for (var r = Array(s), k = 0, i = 0; i < il; i++) 12895 for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) 12896 r[k] = a[j]; 12897 return r; 12898}; 12899Object.defineProperty(exports, "__esModule", { value: true }); 12900exports.bassSoundSources = void 0; 12901var Tone = __webpack_require__(16); 12902var sources_1 = __webpack_require__(38); 12903exports.bassSoundSources = sources_1.melodySoundSources.map(function (v) { 12904 if (v.instrument === Tone.Sampler) { 12905 return __assign(__assign({}, v), { toneParams: [v.toneParams[0], __assign(__assign({}, v.toneParams[1]), { volume: 15 })] }); 12906 } 12907 return __assign(__assign({}, v), { toneParams: Array.isArray(v.toneParams) && v.toneParams.length 12908 ? __spreadArrays([__assign(__assign({}, v.toneParams[0]), { volume: 15 })], v.toneParams.slice(1)) : [{ volume: 15 }] }); 12909}); 12910 12911 12912/***/ }), 12913/* 80 */ 12914/***/ (function(module, exports, __webpack_require__) { 12915 12916"use strict"; 12917
12918var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { 12919 if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } 12920 return cooked; 12921}; 12922Object.defineProperty(exports, "__esModule", { value: true }); 12923var React = __webpack_require__(0); 12924var react_joyride_1 = __webpack_require__(81); 12925var context_1 = __webpack_require__(9); 12926var _constants_1 = __webpack_require__(1); 12927var styled_components_1 = __webpack_require__(13); 12928var Shell = styled_components_1.default('div')(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: fixed;\n top: 0px; \n width: 100%;\n height: 100%;\n"], ["\n position: fixed;\n top: 0px; \n width: 100%;\n height: 100%;\n"]))); 12929var timeout = 0; 12930var getSteps = function (dispatch, sounds, setOverlay) { return [{ 12931 disableBeacon: true, 12932 target: "#action--" + _constants_1.MUTE, 12933 content: (React.createElement(React.Fragment, null, 12934 React.createElement("p", null, "Due to browser restrictions, the audio button is in the active state by default (meaning muted), please unmute."), 12935 React.createElement("p", null, "If you are on iOS you may need to turn off silent on your phone too."))), 12936 callback: function () { return dispatch({ type: _constants_1.MUTE }); }, 12937 undo: function () { return dispatch({ type: _constants_1.MUTE }); }, 12938 }, { 12939 target: '#live-status--0', 12940 content: (React.createElement(React.Fragment, null, 12941 React.createElement("p", null, "Click a note to test audio"))), 12942 callback: function () { 12943 sounds[0].tone.triggerAttack('c3'); 12944 }, 12945 undo: function () { return sounds[0].tone.triggerRelease(); }, 12946 }, { 12947 target: '#live-status--0', 12948 content: (React.createElement(React.Fragment, null, 12949 React.createElement("p", null, "A sample sound should be playing, click next to stop"))), 12950 callback: function () { 12951 sounds[0].tone.triggerRelease(); 12952 }, 12953 undo: function () { return sounds[0].tone.triggerAttack('c3'); }, 12954 }, { 12955 target: ".Pad", 12956 content: (React.createElement(React.Fragment, null, 12957 React.createElement("p", null, "This 16 grid pad covers a range of functions depending on the current view and settings."), 12958 React.createElement("p", null, " From left to right, top to bottom each button represents an incrementing value for the relevant field (in this case notes to play)"))), 12959 callback: function () { 12960 dispatch({ type: _constants_1.SOUNDS_VIEW }); 12961 }, 12962 undo: function () { return dispatch({ type: _constants_1.CANCEL }); }, 12963 }, { 12964 target: "#action--" + _constants_1.SOUNDS_VIEW, 12965 content: (React.createElement(React.Fragment, null, 12966 React.createElement("p", null, "Switches to instrument selection view, here you select the current sound you are playing with live and editing sequences for."), 12967 React.createElement("p", null, " Select an instrument to exit."))), 12968 }, { 12969 target: '.Pad', 12970 content: (React.createElement(React.Fragment, null, 12971 React.createElement("p", null, "Here you select the instrument you want to work with, w/e of the last instrument (for basic drum beats), you can only have one active instrument at a time in the current system."), 12972 React.createElement("p", null, " When you change instrument the sound in the sequence will update to use the new instrument"))), 12973 callback: function (a, b) { 12974 console.log(a, b); 12975 dispatch({ type: _constants_1.PATTERN_VIEW }); 12976 }, 12977 undo: function () { return dispatch({ type: _constants_1.SOUNDS_VIEW }); }, 12978 }, { 12979 target: "#action--" + _constants_1.PATTERN_VIEW, 12980 content: (React.createElement(React.Fragment, null, 12981 React.createElement("p", null, "Switches to pattern view"))), 12982 }, { 12983 target: '.Pad', 12984 content: (React.createElement(React.Fragment, null, 12985 React.createElement("p", null, "from here you select the current pattern to edit and the chain of patterns to play."), 12986 React.createElement("p", null, " The existing pattern chain will flash sequentially in order in this view."))), 12987 callback: function () { 12988 dispatch({ type: _constants_1.PATTERN_VIEW }); 12989 dispatch({ type: _constants_1.WRITE }); 12990 }, 12991 undo: function () { dispatch({ type: _constants_1.PATTERN_VIEW }); dispatch({ type: _constants_1.WRITE }); }, 12992 }, {
12993 target: "#action--" + _constants_1.WRITE, 12994 content: (React.createElement(React.Fragment, null, 12995 React.createElement("p", null, "When this is on, the default view allows editing of the currently active pattern sequence"))), 12996 callback: function () { 12997 dispatch({ type: _constants_1.WRITE }); 12998 dispatch({ type: _constants_1.PLAY }); 12999 }, 13000 undo: function () { 13001 dispatch({ type: _constants_1.PLAY }); 13002 dispatch({ type: _constants_1.WRITE }); 13003 }, 13004 }, { 13005 target: "#action--" + _constants_1.PLAY, 13006 content: (React.createElement(React.Fragment, null, 13007 React.createElement("p", null, "Toggles whether the active sequence is playing or not, updates you do to patterns should apply live."), 13008 React.createElement("p", null, "The green light represents the current pattern and the red one represents the index within that pattern."))), 13009 callback: function () { 13010 var i = 0; 13011 timeout = setInterval(function () { 13012 dispatch({ type: _constants_1.BPM }); 13013 i++; 13014 if (i > 5) { 13015 clearInterval(timeout); 13016 timeout = null; 13017 } 13018 }, 3000); 13019 }, 13020 undo: function () { 13021 clearInterval(timeout); 13022 } 13023 }, { 13024 target: "#action--" + _constants_1.BPM, 13025 content: (React.createElement(React.Fragment, null, 13026 React.createElement("p", null, "This changes the speed of the pattern, press to go between speeds"))), 13027 callback: function () { 13028 clearInterval(timeout); 13029 timeout = null; 13030 }, 13031 }, { 13032 target: "#action--" + _constants_1.WRITE, 13033 content: (React.createElement(React.Fragment, null, 13034 React.createElement("p", null, "Switches to composition mode"))), 13035 callback: function () { return dispatch({ type: _constants_1.WRITE }); }, 13036 undo: function () { return dispatch({ type: _constants_1.WRITE }); }, 13037 }, { 13038 target: ".Pad", 13039 content: (React.createElement(React.Fragment, null, 13040 React.createElement("p", null, "On this display, when the UI reads \"compose\" you sequence 16 step patterns"))), 13041 }, { 13042 target: "[data-idx=\"0\"]", 13043 content: (React.createElement(React.Fragment, null, 13044 React.createElement("p", null, "Click an entry to select a note, hold a note to select the duration of the note (defaults to a quarter)"))), 13045 callback: function () { return dispatch({ type: _constants_1.PATTERN_UPDATE, value: { idx: 0, note: 'C3', span: 4 } }); }, 13046 undo: function () { return dispatch({ type: _constants_1.PATTERN_UPDATE, value: { idx: 0 } }); }, 13047 }, { 13048 target: "[data-idx=\"6\"]", 13049 content: (React.createElement(React.Fragment, null, 13050 React.createElement("p", null, "Copy a note by holding it and pressing another square (or click it again to wipe)"))), 13051 callback: function () { 13052 dispatch({ type: _constants_1.MULTI_TOUCH, value: [{ secondary: _constants_1.NOTE_COPY, value: 0 }, { value: 6 }] }); 13053 }, 13054 undo: function () { return dispatch({ type: _constants_1.PATTERN_UPDATE, value: { idx: 6 } }); }, 13055 }, { 13056 target: "#action--" + _constants_1.SOUNDS_VIEW, 13057 content: (React.createElement(React.Fragment, null, 13058 React.createElement("p", null, "By selecting option 16 from the sounds view, you can add a basic drum beat to your pattern too"))), 13059 callback: function () { 13060 dispatch({ type: _constants_1.SOUNDS_SET, value: 15 }); 13061 }, 13062 undo: function () { return dispatch({ type: _constants_1.SOUNDS_SET, value: 1 }); }, 13063 }, { 13064 target: "[data-idx=\"0\"]", 13065 content: (React.createElement(React.Fragment, null, 13066 React.createElement("p", null, "Drum beats add in the same manner"))), 13067 callback: function () { 13068 dispatch({ type: _constants_1.PATTERN_UPDATE, value: { idx: 0, note: 'C3' } }); 13069 dispatch({ type: _constants_1.PATTERN_UPDATE, value: { idx: 4, note: 'F3' } }); 13070 dispatch({ type: _constants_1.PATTERN_UPDATE, value: { idx: 8, note: 'C3' } }); 13071 dispatch({ type: _constants_1.PATTERN_UPDATE, value: { idx: 12, note: 'C4' } }); 13072 }, 13073 undo: function () { 13074 [0, 4, 8, 12].forEach(function (v) {
13075 return dispatch({ type: _constants_1.PATTERN_UPDATE, value: { idx: v } }); 13076 }); 13077 }, 13078 }, { 13079 target: "#action--" + _constants_1.PATTERN_VIEW, 13080 content: (React.createElement(React.Fragment, null, 13081 React.createElement("p", null, "Returning to pattern view will now show data relating to the changes for pattern 1"))), 13082 callback: function () { 13083 dispatch({ type: _constants_1.PATTERN_VIEW }); 13084 }, 13085 undo: function () { return dispatch({ type: _constants_1.PATTERN_VIEW }); }, 13086 }, { 13087 target: ".Pad", 13088 content: (React.createElement(React.Fragment, null, 13089 React.createElement("p", null, "To copy a pattern, hold the pattern and then touch another pattern (or cancel to erase)"))), 13090 callback: function () { 13091 dispatch({ type: _constants_1.MULTI_TOUCH, value: [{ secondary: _constants_1.PATTERN_COPY, idx: 0, value: 0 }, { idx: 1, value: 1 }] }); 13092 }, 13093 undo: function () { return dispatch({ type: _constants_1.MULTI_TOUCH, value: [{ secondary: _constants_1.PATTERN_COPY, idx: 5, value: 5 }, { idx: 1, value: 1 }] }); }, 13094 }, { 13095 target: ".Pad", 13096 content: (React.createElement(React.Fragment, null, 13097 React.createElement("p", null, "Now you can edit the pattern to create a second variant quickly"))), 13098 }, { 13099 target: "#action--" + _constants_1.SOUNDS_VIEW, 13100 content: (React.createElement(React.Fragment, null, 13101 React.createElement("p", null, "You can change the sound live (behaviour may be different on different players)"))), 13102 callback: function () { 13103 dispatch({ type: _constants_1.SOUNDS_VIEW }); 13104 dispatch({ type: _constants_1.SOUNDS_SET, value: 14 }); 13105 dispatch({ type: _constants_1.WRITE }); 13106 }, 13107 undo: function () { 13108 dispatch({ type: _constants_1.SOUNDS_VIEW }); 13109 dispatch({ type: _constants_1.SOUNDS_SET, value: 1 }); 13110 dispatch({ type: _constants_1.WRITE }); 13111 }, 13112 }, { 13113 target: ".Pad", 13114 content: (React.createElement(React.Fragment, null, 13115 React.createElement("p", null, "Lets add some extra sounds to pattern 1"))), 13116 callback: function () { 13117 dispatch({ type: _constants_1.PATTERN_UPDATE, value: { idx: 4, note: 'A2', span: 1 } }); 13118 dispatch({ type: _constants_1.PATTERN_UPDATE, value: { idx: 5, note: 'b2', span: 1 } }); 13119 }, 13120 undo: function () { 13121 dispatch({ type: _constants_1.PATTERN_UPDATE, value: { idx: 4 } }); 13122 dispatch({ type: _constants_1.PATTERN_UPDATE, value: { idx: 5 } }); 13123 }, 13124 }, { 13125 target: ".Pad", 13126 content: (React.createElement(React.Fragment, null, 13127 React.createElement("p", null, "You should now be hearing two unique patterns play"))), 13128 callback: function () { return dispatch({ type: _constants_1.PATTERN_VIEW }); }, 13129 undo: function () { return dispatch({ type: _constants_1.PATTERN_VIEW }); }, 13130 }, { 13131 target: "#action-" + _constants_1.PATTERN_VIEW, 13132 content: (React.createElement(React.Fragment, null, 13133 React.createElement("p", null, "To alter the sequence of patterns, hold the patterns button and type the buttons in the order you wish to sequence them (in this case we will try 0 1 0 2)"))), 13134 callback: function () { 13135 dispatch({ type: _constants_1.MULTI_TOUCH, value: [{ secondary: _constants_1.PATTERN_CHAIN }, { value: 0, idx: 0 }] }); 13136 dispatch({ type: _constants_1.MULTI_TOUCH, value: [{ secondary: _constants_1.PATTERN_CHAIN }, { value: 2, idx: 2 }] }); 13137 }, 13138 }, { 13139 target: 'body', 13140 content: (React.createElement(React.Fragment, null, 13141 React.createElement("p", null, "That's all I can be bothered with for now, I will try and break this up into parts and allow the ability to go back and forward through it at a later date hopefully."), 13142 React.createElement("p", null, 13143 "There should be an instruction manual up somewhere to consult soon too. Press next to play with this data, alternatively you can ", 13144 React.createElement("a", { href: "https://github.com/padraigfl/music-sequencer", target: "_blank" }
13144, "view additional documents here")))), 13145 callback: function (x, y) { 13146 setOverlay(false); 13147 }, 13148 } 13149]; }; 13150var fireCallbackOnStepEnd = function (state) { 13151 console.log(state); 13152 if (!state.step.callback) { 13153 return; 13154 } 13155 if (state.lifecycle === 'complete') { 13156 state.step.callback(); 13157 return; 13158 } 13159 if (state.action === 'prev' && state.lifecycle === 'ready' && state.step.undo) { 13160 state.step.undo(state.action); 13161 } 13162 // TODO reverse action 13163}; 13164var Tutorial = function () { 13165 var _a = React.useState(true), overlay = _a[0], setOverlay = _a[1]; 13166 var _b = React.useContext(context_1.default), dispatch = _b.dispatch, sounds = _b.sounds; 13167 var steps = React.useMemo(function () { return (getSteps(dispatch, sounds, setOverlay) 13168 // .map(v => ({ 13169 // ...v, 13170 // placement: v.target === '.Pad' ? ('top' as any) : undefined 13171 // })) 13172 ); }, [dispatch, sounds]); 13173 return React.useMemo(function () { 13174 var Wrapper = overlay ? Shell : React.Fragment; 13175 return (React.createElement(Wrapper, null, 13176 React.createElement(react_joyride_1.default, { steps: steps, callback: fireCallbackOnStepEnd, disableOverlayClose: true, disableCloseOnEsc: true, continuous: true, run: true }))); 13177 }, [steps, overlay]); 13178}; 13179exports.default = Tutorial; 13180var templateObject_1; 13181 13182 13183/***/ }), 13184/* 81 */ 13185/***/ (function(module, __webpack_exports__, __webpack_require__) { 13186 13187"use strict"; 13188__webpack_require__.r(__webpack_exports__); 13189/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ACTIONS", function() { return ACTIONS; }); 13190/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EVENTS", function() { return EVENTS; }); 13191/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LIFECYCLE", function() { return LIFECYCLE; }); 13192/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "STATUS", function() { return STATUS; }); 13193/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); 13194/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); 13195/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2); 13196/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); 13197/* harmony import */ var tree_changes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(18); 13198/* harmony import */ var tree_changes__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(tree_changes__WEBPACK_IMPORTED_MODULE_2__); 13199/* harmony import */ var is_lite__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3); 13200/* harmony import */ var is_lite__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(is_lite__WEBPACK_IMPORTED_MODULE_3__); 13201/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(12); 13202/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_4__); 13203/* harmony import */ var exenv__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(22); 13204/* harmony import */ var exenv__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(exenv__WEBPACK_IMPORTED_MODULE_5__); 13205/* harmony import */ var scroll__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(43); 13206/* harmony import */ var scroll__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(scroll__WEBPACK_IMPORTED_MODULE_6__); 13207/* harmony import */ var scrollparent__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(29); 13208/* harmony import */ var scrollparent__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(scrollparent__WEBPACK_IMPORTED_MODULE_7__); 13209/* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(11); 13210/* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react_is__WEBPACK_IMPORTED_MODULE_8__); 13211/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(10); 13212/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(deepmerge__WEBPACK_IMPORTED_MODULE_9__); 13213/* harmony import */ var react_floater__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(44); 13214 13215 13216 13217 13218 13219 13220 13221 13222 13223 13224 13225 13226function _classCallCheck(instance, Constructor) { 13227 if (!(instance instanceof Constructor)) { 13228 throw new TypeError("Cannot call a class as a function"); 13229 } 13230} 13231 13232function _defineProperties(target, props) { 13233 for (var i = 0; i < props.length; i++) { 13234 var descriptor = props[i]; 13235 descriptor.enumerable = descriptor.enumerable || false; 13236 descriptor.configurable = true; 13237 if ("value" in descriptor) descriptor.writable = true; 13238 Object.defineProperty(target, descriptor.key, descriptor); 13239 } 13240} 13241 13242function _createClass(Constructor, protoProps, staticProps) { 13243 if (protoProps) _defineProperties(Constructor.prototype, protoProps); 13244 if (staticProps) _defineProperties(Constructor, staticProps); 13245 return Constructor; 13246} 13247 13248function _defineProperty(obj, key, value) { 13249 if (key in obj) { 13250 Object.defineProperty(obj, key, { 13251 value: value, 13252 enumerable: true, 13253 configurable: true, 13254 writable: true 13255 }); 13256 } else { 13257 obj[key] = value; 13258 } 13259 13260 return obj; 13261} 13262 13263function _extends() { 13264 _extends = Object.assign || function (target) { 13265 for (var i = 1; i < arguments.length; i++) { 13266 var source = arguments[i]; 13267 13268 for (var key in source) { 13269 if (Object.prototype.hasOwnProperty.call(source, key)) { 13270 target[key] = source[key]; 13271 } 13272 } 13273 } 13274 13275 return target; 13276 }; 13277 13278 return _extends.apply(this, arguments); 13279} 13280 13281function ownKeys(object, enumerableOnly) { 13282 var keys = Object.keys(object); 13283 13284 if (Object.getOwnPropertySymbols) { 13285 var symbols = Object.getOwnPropertySymbols(object); 13286 if (enumerableOnly) symbols = symbols.filter(function (sym) { 13287 return Object.getOwnPropertyDescriptor(object, sym).enumerable; 13288 }); 13289 keys.push.apply(keys, symbols); 13290 } 13291 13292 return keys; 13293} 13294
13295function _objectSpread2(target) { 13296 for (var i = 1; i < arguments.length; i++) { 13297 var source = arguments[i] != null ? arguments[i] : {}; 13298 13299 if (i % 2) { 13300 ownKeys(Object(source), true).forEach(function (key) { 13301 _defineProperty(target, key, source[key]); 13302 }); 13303 } else if (Object.getOwnPropertyDescriptors) { 13304 Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); 13305 } else { 13306 ownKeys(Object(source)).forEach(function (key) { 13307 Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); 13308 }); 13309 } 13310 } 13311 13312 return target; 13313} 13314 13315function _inherits(subClass, superClass) { 13316 if (typeof superClass !== "function" && superClass !== null) { 13317 throw new TypeError("Super expression must either be null or a function"); 13318 } 13319 13320 subClass.prototype = Object.create(superClass && superClass.prototype, { 13321 constructor: { 13322 value: subClass, 13323 writable: true, 13324 configurable: true 13325 } 13326 }); 13327 if (superClass) _setPrototypeOf(subClass, superClass); 13328} 13329 13330function _getPrototypeOf(o) { 13331 _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { 13332 return o.__proto__ || Object.getPrototypeOf(o); 13333 }; 13334 return _getPrototypeOf(o); 13335} 13336 13337function _setPrototypeOf(o, p) { 13338 _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { 13339 o.__proto__ = p; 13340 return o; 13341 }; 13342 13343 return _setPrototypeOf(o, p); 13344} 13345 13346function _objectWithoutPropertiesLoose(source, excluded) { 13347 if (source == null) return {}; 13348 var target = {}; 13349 var sourceKeys = Object.keys(source); 13350 var key, i; 13351 13352 for (i = 0; i < sourceKeys.length; i++) { 13353 key = sourceKeys[i]; 13354 if (excluded.indexOf(key) >= 0) continue; 13355 target[key] = source[key]; 13356 } 13357 13358 return target; 13359} 13360 13361function _objectWithoutProperties(source, excluded) { 13362 if (source == null) return {}; 13363 13364 var target = _objectWithoutPropertiesLoose(source, excluded); 13365 13366 var key, i; 13367 13368 if (Object.getOwnPropertySymbols) { 13369 var sourceSymbolKeys = Object.getOwnPropertySymbols(source); 13370 13371 for (i = 0; i < sourceSymbolKeys.length; i++) { 13372 key = sourceSymbolKeys[i]; 13373 if (excluded.indexOf(key) >= 0) continue; 13374 if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; 13375 target[key] = source[key]; 13376 } 13377 } 13378 13379 return target; 13380} 13381 13382function _assertThisInitialized(self) { 13383 if (self === void 0) { 13384 throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); 13385 } 13386 13387 return self; 13388} 13389 13390function _possibleConstructorReturn(self, call) { 13391 if (call && (typeof call === "object" || typeof call === "function")) { 13392 return call; 13393 } 13394 13395 return _assertThisInitialized(self); 13396} 13397 13398var ACTIONS = { 13399 INIT: 'init', 13400 START: 'start', 13401 STOP: 'stop', 13402 RESET: 'reset', 13403 PREV: 'prev', 13404 NEXT: 'next', 13405 GO: 'go', 13406 CLOSE: 'close', 13407 SKIP: 'skip', 13408 UPDATE: 'update' 13409}; 13410 13411var EVENTS = { 13412 TOUR_START: 'tour:start', 13413 STEP_BEFORE: 'step:before', 13414 BEACON: 'beacon', 13415 TOOLTIP: 'tooltip', 13416 STEP_AFTER: 'step:after', 13417 TOUR_END: 'tour:end', 13418 TOUR_STATUS: 'tour:status', 13419 TARGET_NOT_FOUND: 'error:target_not_found', 13420 ERROR: 'error' 13421}; 13422 13423var LIFECYCLE = { 13424 INIT: 'init', 13425 READY: 'ready', 13426 BEACON: 'beacon', 13427 TOOLTIP: 'tooltip', 13428 COMPLETE: 'complete', 13429 ERROR: 'error' 13430}; 13431 13432var STATUS = { 13433 IDLE: 'idle', 13434 READY: 'ready', 13435 WAITING: 'waiting', 13436 RUNNING: 'running', 13437 PAUSED: 'paused', 13438 SKIPPED: 'skipped', 13439 FINISHED: 'finished', 13440 ERROR: 'error' 13441}; 13442 13443var canUseDOM = exenv__WEBPACK_IMPORTED_MODULE_5___default.a.canUseDOM; 13444var isReact16 = react_dom__WEBPACK_IMPORTED_MODULE_4__["createPortal"] !== undefined; 13445/** 13446 * Get the current browser 13447 * 13448 * @param {string} userAgent 13449 * 13450 * @returns {String} 13451 */ 13452 13453function getBrowser() { 13454 var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : navigator.userAgent; 13455 var browser = userAgent; 13456 13457 if (typeof window === 'undefined') { 13458 browser = 'node'; 13459 } else if (document.documentMode) { 13460 browser = 'ie'; 13461 } else if (/Edge/.test(userAgent)) { 13462 browser = 'edge'; 13463 } // Opera 8.0+ 13464 else if (Boolean(window.opera) || userAgent.indexOf(' OPR/') >= 0) { 13465 browser = 'opera'; 13466 } // Firefox 1.0+ 13467 else if (typeof window.InstallTrigger !== 'undefined') { 13468 browser = 'firefox'; 13469 } // Chrome 1+ 13470 else if (window.chrome) { 13471 browser = 'chrome'; 13472 } // Safari (and Chrome iOS, Firefox iOS) 13473 else if (/(Version\/([0-9._]+).*Safari|CriOS|FxiOS| Mobile\/)/.test(userAgent)) { 13474 browser = 'safari'; 13475 } 13476 13477 return browser; 13478} 13479/** 13480 * Get the toString Object type 13481 * @param {*} value 13482 * @returns {string} 13483 */ 13484 13485function getObjectType(value) { 13486 return Object.prototype.toString.call(value).slice(8, -1).toLowerCase(); 13487} 13488/** 13489 * Get text from React components 13490 * 13491 * @param {*} root 13492 * 13493 * @returns {string} 13494 */ 13495 13496function getText(root) { 13497 var content = []; 13498 13499 var recurse = function recurse(child) { 13500 /* istanbul ignore else */ 13501 if (typeof child === 'string' || typeof child === 'number') { 13502 content.push(child); 13503 } else if (Array.isArray(child)) { 13504 child.forEach(function (c) { 13505 return recurse(c); 13506 }); 13507 } else if (child && child.props) { 13508 var children = child.props.children; 13509 13510 if (Array.isArray(children)) {
13511 children.forEach(function (c) { 13512 return recurse(c); 13513 }); 13514 } else { 13515 recurse(children); 13516 } 13517 } 13518 }; 13519 13520 recurse(root); 13521 return content.join(' ').trim(); 13522} 13523function hasOwnProperty(value, key) { 13524 return Object.prototype.hasOwnProperty.call(value, key); 13525} 13526function hasValidKeys(value, keys) { 13527 if (!is_lite__WEBPACK_IMPORTED_MODULE_3___default.a.plainObject(value) || !is_lite__WEBPACK_IMPORTED_MODULE_3___default.a.array(keys)) { 13528 return false; 13529 } 13530 13531 return Object.keys(value).every(function (d) { 13532 return keys.indexOf(d) !== -1; 13533 }); 13534} 13535/** 13536 * Convert hex to RGB 13537 * 13538 * @param {string} hex 13539 * @returns {Array} 13540 */ 13541 13542function hexToRGB(hex) { 13543 var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i; 13544 var properHex = hex.replace(shorthandRegex, function (m, r, g, b) { 13545 return r + r + g + g + b + b; 13546 }); 13547 var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(properHex); 13548 return result ? [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)] : []; 13549} 13550/** 13551 * Decide if the step shouldn't skip the beacon 13552 * @param {Object} step 13553 * 13554 * @returns {boolean} 13555 */ 13556 13557function hideBeacon(step) { 13558 return step.disableBeacon || step.placement === 'center'; 13559} 13560/** 13561 * Compare if two variables are equal 13562 * 13563 * @param {*} left 13564 * @param {*} right 13565 * 13566 * @returns {boolean} 13567 */ 13568 13569function isEqual(left, right) { 13570 var type; 13571 var hasReactElement = Object(react__WEBPACK_IMPORTED_MODULE_0__["isValidElement"])(left) || Object(react__WEBPACK_IMPORTED_MODULE_0__["isValidElement"])(right); 13572 var hasUndefined = is_lite__WEBPACK_IMPORTED_MODULE_3___default.a.undefined(left) || is_lite__WEBPACK_IMPORTED_MODULE_3___default.a.undefined(right); 13573 13574 if (getObjectType(left) !== getObjectType(right) || hasReactElement || hasUndefined) { 13575 return false; 13576 } 13577 13578 if (is_lite__WEBPACK_IMPORTED_MODULE_3___default.a.domElement(left)) { 13579 return left.isSameNode(right); 13580 } 13581 13582 if (is_lite__WEBPACK_IMPORTED_MODULE_3___default.a.number(left)) { 13583 return left === right; 13584 } 13585 13586 if (is_lite__WEBPACK_IMPORTED_MODULE_3___default.a["function"](left)) { 13587 return left.toString() === right.toString(); 13588 } 13589 13590 for (var key in left) { 13591 /* istanbul ignore else */ 13592 if (hasOwnProperty(left, key)) { 13593 if (typeof left[key] === 'undefined' || typeof right[key] === 'undefined') { 13594 return false; 13595 } 13596 13597 type = getObjectType(left[key]); 13598 13599 if (['object', 'array'].indexOf(type) !== -1 && isEqual(left[key], right[key])) { 13600 continue; 13601 } 13602 13603 if (type === 'function' && isEqual(left[key], right[key])) { 13604 continue; 13605 } 13606 13607 if (left[key] !== right[key]) { 13608 return false; 13609 } 13610 } 13611 } 13612 13613 for (var p in right) { 13614 /* istanbul ignore else */ 13615 if (hasOwnProperty(right, p)) { 13616 if (typeof left[p] === 'undefined') { 13617 return false; 13618 } 13619 } 13620 } 13621 13622 return true; 13623} 13624/** 13625 * Detect legacy browsers 13626 * 13627 * @returns {boolean} 13628 */ 13629 13630function isLegacy() { 13631 return !(['chrome', 'safari', 'firefox', 'opera'].indexOf(getBrowser()) !== -1); 13632} 13633/** 13634 * Log method calls if debug is enabled 13635 * 13636 * @private 13637 * @param {Object} arg 13638 * @param {string} arg.title - The title the logger was called from 13639 * @param {Object|Array} [arg.data] - The data to be logged 13640 * @param {boolean} [arg.warn] - If true, the message will be a warning 13641 * @param {boolean} [arg.debug] - Nothing will be logged unless debug is true 13642 */ 13643 13644function log(_ref) { 13645 var title = _ref.title, 13646 data = _ref.data, 13647 _ref$warn = _ref.warn, 13648 warn = _ref$warn === void 0 ? false : _ref$warn, 13649 _ref$debug = _ref.debug, 13650 debug = _ref$debug === void 0 ? false : _ref$debug; 13651 13652 /* eslint-disable no-console */ 13653 var logFn = warn ? console.warn || console.error : console.log; 13654 13655 if (debug) { 13656 if (title && data) { 13657 console.groupCollapsed("%creact-joyride: ".concat(title), 'color: #ff0044; font-weight: bold; font-size: 12px;'); 13658 13659 if (Array.isArray(data)) { 13660 data.forEach(function (d) { 13661 if (is_lite__WEBPACK_IMPORTED_MODULE_3___default.a.plainObject(d) && d.key) { 13662 logFn.apply(console, [d.key, d.value]); 13663 } else { 13664 logFn.apply(console, [d]); 13665 } 13666 }); 13667 } else { 13668 logFn.apply(console, [data]); 13669 } 13670 13671 console.groupEnd(); 13672 } else { 13673 console.error('Missing title or data props'); 13674 } 13675 } 13676 /* eslint-enable */ 13677 13678} 13679 13680var defaultState = { 13681 action: '', 13682 controlled: false, 13683 index: 0, 13684 lifecycle: LIFECYCLE.INIT, 13685 size: 0, 13686 status: STATUS.IDLE 13687}; 13688var validKeys = ['action', 'index', 'lifecycle', 'status']; 13689function createStore(props) { 13690 var store = new Map(); 13691 var data = new Map(); 13692 13693 var Store = 13694 /*#__PURE__*/ 13695 function () { 13696 function Store() { 13697 var _this = this; 13698 13699 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, 13700 _ref$continuous = _ref.continuous, 13701 continuous = _ref$continuous === void 0 ? false : _ref$continuous, 13702 stepIndex = _ref.stepIndex, 13703 _ref$steps = _ref.steps, 13704 _steps = _ref$steps === void 0 ? [] : _ref$steps; 13705 13706 _classCallCheck(this, Store); 13707 13708 _defineProperty(this, "listener", void 0); 13709 13710 _defineProperty(this, "setSteps", function (steps) {
13711 var _this$getState = _this.getState(), 13712 size = _this$getState.size, 13713 status = _this$getState.status; 13714 13715 var state = { 13716 size: steps.length, 13717 status: status 13718 }; 13719 data.set('steps', steps); 13720 13721 if (status === STATUS.WAITING && !size && steps.length) { 13722 state.status = STATUS.RUNNING; 13723 } 13724 13725 _this.setState(state); 13726 }); 13727 13728 _defineProperty(this, "addListener", function (listener) { 13729 _this.listener = listener; 13730 }); 13731 13732 _defineProperty(this, "update", function (state) { 13733 if (!hasValidKeys(state, validKeys)) { 13734 throw new Error("State is not valid. Valid keys: ".concat(validKeys.join(', '))); 13735 } 13736 13737 _this.setState(_objectSpread2({}, _this.getNextState(_objectSpread2({}, _this.getState(), {}, state, { 13738 action: state.action || ACTIONS.UPDATE 13739 }), true))); 13740 }); 13741 13742 _defineProperty(this, "start", function (nextIndex) { 13743 var _this$getState2 = _this.getState(), 13744 index = _this$getState2.index, 13745 size = _this$getState2.size; 13746 13747 _this.setState(_objectSpread2({}, _this.getNextState({ 13748 action: ACTIONS.START, 13749 index: is_lite__WEBPACK_IMPORTED_MODULE_3___default.a.number(nextIndex) ? nextIndex : index 13750 }, true), { 13751 status: size ? STATUS.RUNNING : STATUS.WAITING 13752 })); 13753 }); 13754 13755 _defineProperty(this, "stop", function () { 13756 var advance = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; 13757 13758 var _this$getState3 = _this.getState(), 13759 index = _this$getState3.index, 13760 status = _this$getState3.status; 13761 13762 if ([STATUS.FINISHED, STATUS.SKIPPED].indexOf(status) !== -1) return; 13763 13764 _this.setState(_objectSpread2({}, _this.getNextState({ 13765 action: ACTIONS.STOP, 13766 index: index + (advance ? 1 : 0) 13767 }), { 13768 status: STATUS.PAUSED 13769 })); 13770 }); 13771 13772 _defineProperty(this, "close", function () { 13773 var _this$getState4 = _this.getState(), 13774 index = _this$getState4.index, 13775 status = _this$getState4.status; 13776 13777 if (status !== STATUS.RUNNING) return; 13778 13779 _this.setState(_objectSpread2({}, _this.getNextState({ 13780 action: ACTIONS.CLOSE, 13781 index: index + 1 13782 }))); 13783 }); 13784 13785 _defineProperty(this, "go", function (nextIndex) { 13786 var _this$getState5 = _this.getState(), 13787 controlled = _this$getState5.controlled, 13788 status = _this$getState5.status; 13789 13790 if (controlled || status !== STATUS.RUNNING) return; 13791 13792 var step = _this.getSteps()[nextIndex]; 13793 13794 _this.setState(_objectSpread2({}, _this.getNextState({ 13795 action: ACTIONS.GO, 13796 index: nextIndex 13797 }), { 13798 status: step ? status : STATUS.FINISHED 13799 })); 13800 }); 13801 13802 _defineProperty(this, "info", function () { 13803 return _this.getState(); 13804 }); 13805 13806 _defineProperty(this, "next", function () { 13807 var _this$getState6 = _this.getState(), 13808 index = _this$getState6.index, 13809 status = _this$getState6.status; 13810 13811 if (status !== STATUS.RUNNING) return; 13812 13813 _this.setState(_this.getNextState({ 13814 action: ACTIONS.NEXT, 13815 index: index + 1 13816 })); 13817 }); 13818 13819 _defineProperty(this, "open", function () { 13820 var _this$getState7 = _this.getState(), 13821 status = _this$getState7.status; 13822 13823 if (status !== STATUS.RUNNING) return; 13824 13825 _this.setState(_objectSpread2({}, _this.getNextState({ 13826 action: ACTIONS.UPDATE, 13827 lifecycle: LIFECYCLE.TOOLTIP 13828 }))); 13829 }); 13830 13831 _defineProperty(this, "prev", function () { 13832 var _this$getState8 = _this.getState(), 13833 index = _this$getState8.index, 13834 status = _this$getState8.status; 13835 13836 if (status !== STATUS.RUNNING) return; 13837 13838 _this.setState(_objectSpread2({}, _this.getNextState({ 13839 action: ACTIONS.PREV, 13840 index: index - 1 13841 }))); 13842 }); 13843 13844 _defineProperty(this, "reset", function () { 13845 var restart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
13846 13847 var _this$getState9 = _this.getState(), 13848 controlled = _this$getState9.controlled; 13849 13850 if (controlled) return; 13851 13852 _this.setState(_objectSpread2({}, _this.getNextState({ 13853 action: ACTIONS.RESET, 13854 index: 0 13855 }), { 13856 status: restart ? STATUS.RUNNING : STATUS.READY 13857 })); 13858 }); 13859 13860 _defineProperty(this, "skip", function () { 13861 var _this$getState10 = _this.getState(), 13862 status = _this$getState10.status; 13863 13864 if (status !== STATUS.RUNNING) return; 13865 13866 _this.setState({ 13867 action: ACTIONS.SKIP, 13868 lifecycle: LIFECYCLE.INIT, 13869 status: STATUS.SKIPPED 13870 }); 13871 }); 13872 13873 this.setState({ 13874 action: ACTIONS.INIT, 13875 controlled: is_lite__WEBPACK_IMPORTED_MODULE_3___default.a.number(stepIndex), 13876 continuous: continuous, 13877 index: is_lite__WEBPACK_IMPORTED_MODULE_3___default.a.number(stepIndex) ? stepIndex : 0, 13878 lifecycle: LIFECYCLE.INIT, 13879 status: _steps.length ? STATUS.READY : STATUS.IDLE 13880 }, true); 13881 this.setSteps(_steps); 13882 } 13883 13884 _createClass(Store, [{ 13885 key: "setState", 13886 value: function setState(nextState) { 13887 var initial = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; 13888 var state = this.getState(); 13889 13890 var _state$nextState = _objectSpread2({}, state, {}, nextState), 13891 action = _state$nextState.action, 13892 index = _state$nextState.index, 13893 lifecycle = _state$nextState.lifecycle, 13894 size = _state$nextState.size, 13895 status = _state$nextState.status; 13896 13897 store.set('action', action); 13898 store.set('index', index); 13899 store.set('lifecycle', lifecycle); 13900 store.set('size', size); 13901 store.set('status', status); 13902 13903 if (initial) { 13904 store.set('controlled', nextState.controlled); 13905 store.set('continuous', nextState.continuous); 13906 } 13907 /* istanbul ignore else */ 13908 13909 13910 if (this.listener && this.hasUpdatedState(state)) { 13911 // console.log('▶ ▶ ▶ NEW STATE', this.getState()); 13912 this.listener(this.getState()); 13913 } 13914 } 13915 }, { 13916 key: "getState", 13917 value: function getState() { 13918 if (!store.size) { 13919 return _objectSpread2({}, defaultState); 13920 } 13921 13922 return { 13923 action: store.get('action') || '', 13924 controlled: store.get('controlled') || false, 13925 index: parseInt(store.get('index'), 10), 13926 lifecycle: store.get('lifecycle') || '', 13927 size: store.get('size') || 0, 13928 status: store.get('status') || '' 13929 }; 13930 } 13931 }, { 13932 key: "getNextState", 13933 value: function getNextState(state) { 13934 var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; 13935 13936 var _this$getState11 = this.getState(), 13937 action = _this$getState11.action, 13938 controlled = _this$getState11.controlled, 13939 index = _this$getState11.index, 13940 size = _this$getState11.size, 13941 status = _this$getState11.status; 13942 13943 var newIndex = is_lite__WEBPACK_IMPORTED_MODULE_3___default.a.number(state.index) ? state.index : index; 13944 var nextIndex = controlled && !force ? index : Math.min(Math.max(newIndex, 0), size); 13945 return { 13946 action: state.action || action, 13947 controlled: controlled, 13948 index: nextIndex, 13949 lifecycle: state.lifecycle || LIFECYCLE.INIT, 13950 size: state.size || size, 13951 status: nextIndex === size ? STATUS.FINISHED : state.status || status 13952 }; 13953 } 13954 }, { 13955 key: "hasUpdatedState", 13956 value: function hasUpdatedState(oldState) { 13957 var before = JSON.stringify(oldState); 13958 var after = JSON.stringify(this.getState()); 13959 return before !== after; 13960 } 13961 }, { 13962 key: "getSteps", 13963 value: function getSteps() { 13964 var steps = data.get('steps'); 13965 return Array.isArray(steps) ? steps : []; 13966 } 13967 }, { 13968 key: "getHelpers", 13969 value: function getHelpers() { 13970 return { 13971 close: this.close, 13972 go: this.go, 13973 info: this.info, 13974 next: this.next, 13975 open: this.open, 13976 prev: this.prev, 13977 reset: this.reset, 13978 skip: this.skip 13979 }; 13980 } 13981 }]); 13982 13983 return Store; 13984 }(); 13985 13986 return new Store(props); 13987} 13988 13989function scrollDoc() { 13990 return document.scrollingElement || document.createElement('body'); 13991} 13992/** 13993 * Find the bounding client rect 13994 * 13995 * @private 13996 * @param {HTMLElement} element - The target element 13997 * @returns {Object} 13998 */ 13999 14000function getClientRect(element) { 14001 if (!element) { 14002 return {}; 14003 } 14004 14005 return element.getBoundingClientRect(); 14006} 14007/** 14008 * Helper function to get the browser-normalized "document height" 14009 * @returns {Number} 14010 */ 14011 14012function getDocumentHeight() { 14013 var _document = document, 14014 body = _document.body, 14015 html = _document.documentElement; 14016 14017 if (!body || !html) { 14018 return 0; 14019 } 14020 14021 return Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight); 14022} 14023/** 14024 * Find and return the target DOM element based on a step's 'target'. 14025 * 14026 * @private 14027 * @param {string|HTMLElement} element 14028 * 14029 * @returns {HTMLElement|null} 14030 */ 14031 14032function getElement(element) { 14033 /* istanbul ignore else */ 14034 if (typeof element === 'string') { 14035 return document.querySelector(element); 14036 } 14037 14038 return element; 14039} 14040/** 14041 * Get computed style property 14042 * 14043 * @param {HTMLElement} el 14044 * 14045 * @returns {Object} 14046 */ 14047 14048function getStyleComputedProperty(el) { 14049 if (!el || el.nodeType !== 1) { 14050 return {}; 14051 } 14052 14053 return getComputedStyle(el); 14054} 14055/** 14056 * Get scroll parent with fix 14057 * 14058 * @param {HTMLElement} element 14059 * @param {boolean} skipFix 14060 * @param {boolean} [forListener] 14061 * 14062 * @returns {*} 14063 */ 14064 14065function getScrollParent(element, skipFix, forListener) { 14066 var parent = scrollparent__WEBPACK_IMPORTED_MODULE_7___default()(element); 14067 14068 if (parent.isSameNode(scrollDoc())) { 14069 if (forListener) { 14070 return document; 14071 } 14072 14073 return scrollDoc(); 14074 } 14075 14076 var hasScrolling = parent.scrollHeight > parent.offsetHeight; 14077 /* istanbul ignore else */ 14078 14079 if (!hasScrolling && !skipFix) { 14080 parent.style.overflow = 'initial'; 14081 return scrollDoc(); 14082 } 14083 14084 return parent; 14085} 14086/** 14087 * Check if the element has custom scroll parent 14088 * 14089 * @param {HTMLElement} element 14090 * @param {boolean} skipFix 14091 * 14092 * @returns {boolean} 14093 */ 14094 14095function hasCustomScrollParent(element, skipFix) { 14096 if (!element) return false;
14097 var parent = getScrollParent(element, skipFix); 14098 return !parent.isSameNode(scrollDoc()); 14099} 14100/** 14101 * Check if the element has custom offset parent 14102 * 14103 * @param {HTMLElement} element 14104 * 14105 * @returns {boolean} 14106 */ 14107 14108function hasCustomOffsetParent(element) { 14109 return element.offsetParent !== document.body; 14110} 14111/** 14112 * Check if an element has fixed/sticky position 14113 * @param {HTMLElement|Node} el 14114 * @param {string} [type] 14115 * 14116 * @returns {boolean} 14117 */ 14118 14119function hasPosition(el) { 14120 var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'fixed'; 14121 14122 if (!el || !(el instanceof HTMLElement)) { 14123 return false; 14124 } 14125 14126 var nodeName = el.nodeName; 14127 14128 if (nodeName === 'BODY' || nodeName === 'HTML') { 14129 return false; 14130 } 14131 14132 if (getStyleComputedProperty(el).position === type) { 14133 return true; 14134 } 14135 14136 return hasPosition(el.parentNode, type); 14137} 14138/** 14139 * Check if the element is visible 14140 * 14141 * @param {HTMLElement} element 14142 * 14143 * @returns {boolean} 14144 */ 14145 14146function isElementVisible(element) { 14147 if (!element) return false; 14148 var parentElement = element; 14149 14150 while (parentElement) { 14151 if (parentElement === document.body) break; 14152 /* istanbul ignore else */ 14153 14154 if (parentElement instanceof HTMLElement) { 14155 var _getComputedStyle = getComputedStyle(parentElement), 14156 display = _getComputedStyle.display, 14157 visibility = _getComputedStyle.visibility; 14158 14159 if (display === 'none' || visibility === 'hidden') { 14160 return false; 14161 } 14162 } 14163 14164 parentElement = parentElement.parentNode; 14165 } 14166 14167 return true; 14168} 14169/** 14170 * Find and return the target DOM element based on a step's 'target'. 14171 * 14172 * @private 14173 * @param {string|HTMLElement} element 14174 * @param {number} offset 14175 * @param {boolean} skipFix 14176 * 14177 * @returns {HTMLElement|undefined} 14178 */ 14179 14180function getElementPosition(element, offset, skipFix) { 14181 var elementRect = getClientRect(element); 14182 var parent = getScrollParent(element, skipFix); 14183 var hasScrollParent = hasCustomScrollParent(element, skipFix); 14184 var parentTop = 0; 14185 /* istanbul ignore else */ 14186 14187 if (parent instanceof HTMLElement) { 14188 parentTop = parent.scrollTop; 14189 } 14190 14191 var top = elementRect.top + (!hasScrollParent && !hasPosition(element) ? parentTop : 0); 14192 return Math.floor(top - offset); 14193} 14194/** 14195 * Get the scrollTop position 14196 * 14197 * @param {HTMLElement} element 14198 * @param {number} offset 14199 * @param {boolean} skipFix 14200 * 14201 * @returns {number} 14202 */ 14203 14204function getScrollTo(element, offset, skipFix) { 14205 if (!element) { 14206 return 0; 14207 } 14208 14209 var parent = scrollparent__WEBPACK_IMPORTED_MODULE_7___default()(element); 14210 var top = element.offsetTop; 14211 14212 if (hasCustomScrollParent(element, skipFix) && !hasCustomOffsetParent(element)) { 14213 top -= parent.offsetTop; 14214 } 14215 14216 return Math.floor(top - offset); 14217} 14218/** 14219 * Scroll to position 14220 * @param {number} value 14221 * @param {HTMLElement} element 14222 * @param {number} scrollDuration 14223 * @returns {Promise<*>} 14224 */ 14225 14226function scrollTo(value) { 14227 var element = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : scrollDoc(); 14228 var scrollDuration = arguments.length > 2 ? arguments[2] : undefined; 14229 return new Promise(function (resolve, reject) { 14230 var scrollTop = element.scrollTop; 14231 var limit = value > scrollTop ? value - scrollTop : scrollTop - value; 14232 scroll__WEBPACK_IMPORTED_MODULE_6___default.a.top(element, value, { 14233 duration: limit < 100 ? 50 : scrollDuration 14234 }, function (error) { 14235 if (error && error.message !== 'Element already at target scroll position') { 14236 return reject(error); 14237 } 14238 14239 return resolve(); 14240 }); 14241 }); 14242} 14243 14244function createChainableTypeChecker(validate) { 14245 function checkType(isRequired, props, propName, componentName, location, propFullName) { 14246 var componentNameSafe = componentName || '<<anonymous>>'; 14247 var propFullNameSafe = propFullName || propName; 14248 /* istanbul ignore else */ 14249 14250 if (props[propName] == null) { 14251 if (isRequired) { 14252 return new Error("Required ".concat(location, " `").concat(propFullNameSafe, "` was not specified in `").concat(componentNameSafe, "`.")); 14253 } 14254 14255 return null; 14256 } 14257 14258 for (var _len = arguments.length, args = new Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) { 14259 args[_key - 6] = arguments[_key]; 14260 } 14261 14262 return validate.apply(void 0, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args)); 14263 } 14264 14265 var chainedCheckType = checkType.bind(null, false); 14266 chainedCheckType.isRequired = checkType.bind(null, true); 14267 return chainedCheckType; 14268} 14269 14270var componentTypeWithRefs = createChainableTypeChecker(function (props, propName, componentName, location, propFullName) { 14271 var propValue = props[propName]; 14272 var Component = propValue; 14273 14274 if (!react__WEBPACK_IMPORTED_MODULE_0___default.a.isValidElement(propValue) && Object(react_is__WEBPACK_IMPORTED_MODULE_8__["isValidElementType"])(propValue)) { 14275 var ownProps = { 14276 ref: function ref() {}, 14277 step: {} 14278 }; 14279 Component = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Component, ownProps); 14280 } 14281 14282 if (is_lite__WEBPACK_IMPORTED_MODULE_3___default.a.string(propValue) || is_lite__WEBPACK_IMPORTED_MODULE_3___default.a.number(propValue) || !Object(react_is__WEBPACK_IMPORTED_MODULE_8__["isValidElementType"])(propValue) || !([react_is__WEBPACK_IMPORTED_MODULE_8__["Element"], react_is__WEBPACK_IMPORTED_MODULE_8__["ForwardRef"]].indexOf(Object(react_is__WEBPACK_IMPORTED_MODULE_8__["typeOf"])(Component)) !== -1)) { 14283 return new Error("Invalid ".concat(location, " `").concat(propFullName, "` supplied to `").concat(componentName, "`. Expected a React class or forwardRef.")); 14284 } 14285 14286 return undefined; 14287}); 14288 14289var defaultOptions = { 14290 arrowColor: '#fff', 14291 backgroundColor: '#fff', 14292 beaconSize: 36, 14293 overlayColor: 'rgba(0, 0, 0, 0.5)', 14294 primaryColor: '#f04', 14295 spotlightShadow: '0 0 15px rgba(0, 0, 0, 0.5)', 14296 textColor: '#333', 14297 zIndex: 100 14298}; 14299var buttonBase = { 14300 backgroundColor: 'transparent', 14301 border: 0, 14302 borderRadius: 0, 14303 color: '#555', 14304 cursor: 'pointer', 14305 fontSize: 16, 14306 lineHeight: 1, 14307 padding: 8, 14308 WebkitAppearance: 'none' 14309}; 14310var spotlight = { 14311 borderRadius: 4, 14312 position: 'absolute' 14313}; 14314function getStyles() { 14315 var stepStyles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 14316 var options = deepmerge__WEBPACK_IMPORTED_MODULE_9___default()(defaultOptions, stepStyles.options || {}); 14317 var width = 290; 14318 14319 if (window.innerWidth > 480) { 14320 width = 380; 14321 } 14322 14323 if (options.width) { 14324 if (window.innerWidth < options.width) { 14325 width = window.innerWidth - 30; 14326 } else { 14327 width = options.width; //eslint-disable-line prefer-destructuring 14328 } 14329 } 14330
14331 var overlay = { 14332 bottom: 0, 14333 left: 0, 14334 overflow: 'hidden', 14335 position: 'absolute', 14336 right: 0, 14337 top: 0, 14338 zIndex: options.zIndex 14339 }; 14340 var defaultStyles = { 14341 beacon: _objectSpread2({}, buttonBase, { 14342 display: 'inline-block', 14343 height: options.beaconSize, 14344 position: 'relative', 14345 width: options.beaconSize, 14346 zIndex: options.zIndex 14347 }), 14348 beaconInner: { 14349 animation: 'joyride-beacon-inner 1.2s infinite ease-in-out', 14350 backgroundColor: options.primaryColor, 14351 borderRadius: '50%', 14352 display: 'block', 14353 height: '50%', 14354 left: '50%', 14355 opacity: 0.7, 14356 position: 'absolute', 14357 top: '50%', 14358 transform: 'translate(-50%, -50%)', 14359 width: '50%' 14360 }, 14361 beaconOuter: { 14362 animation: 'joyride-beacon-outer 1.2s infinite ease-in-out', 14363 backgroundColor: "rgba(".concat(hexToRGB(options.primaryColor).join(','), ", 0.2)"), 14364 border: "2px solid ".concat(options.primaryColor), 14365 borderRadius: '50%', 14366 boxSizing: 'border-box', 14367 display: 'block', 14368 height: '100%', 14369 left: 0, 14370 opacity: 0.9, 14371 position: 'absolute', 14372 top: 0, 14373 transformOrigin: 'center', 14374 width: '100%' 14375 }, 14376 tooltip: { 14377 backgroundColor: options.backgroundColor, 14378 borderRadius: 5, 14379 boxSizing: 'border-box', 14380 color: options.textColor, 14381 fontSize: 16, 14382 maxWidth: '100%', 14383 padding: 15, 14384 position: 'relative', 14385 width: width 14386 }, 14387 tooltipContainer: { 14388 lineHeight: 1.4, 14389 textAlign: 'center' 14390 }, 14391 tooltipTitle: { 14392 fontSize: 18, 14393 margin: 0 14394 }, 14395 tooltipContent: { 14396 padding: '20px 10px' 14397 }, 14398 tooltipFooter: { 14399 alignItems: 'center', 14400 display: 'flex', 14401 justifyContent: 'flex-end', 14402 marginTop: 15 14403 }, 14404 tooltipFooterSpacer: { 14405 flex: 1 14406 }, 14407 buttonNext: _objectSpread2({}, buttonBase, { 14408 backgroundColor: options.primaryColor, 14409 borderRadius: 4, 14410 color: '#fff' 14411 }), 14412 buttonBack: _objectSpread2({}, buttonBase, { 14413 color: options.primaryColor, 14414 marginLeft: 'auto', 14415 marginRight: 5 14416 }), 14417 buttonClose: _objectSpread2({}, buttonBase, { 14418 color: options.textColor, 14419 height: 14, 14420 padding: 15, 14421 position: 'absolute', 14422 right: 0, 14423 top: 0, 14424 width: 14 14425 }), 14426 buttonSkip: _objectSpread2({}, buttonBase, { 14427 color: options.textColor, 14428 fontSize: 14 14429 }), 14430 overlay: _objectSpread2({}, overlay, { 14431 backgroundColor: options.overlayColor, 14432 mixBlendMode: 'hard-light' 14433 }), 14434 overlayLegacy: _objectSpread2({}, overlay), 14435 overlayLegacyCenter: _objectSpread2({}, overlay, { 14436 backgroundColor: options.overlayColor 14437 }), 14438 spotlight: _objectSpread2({}, spotlight, { 14439 backgroundColor: 'gray' 14440 }), 14441 spotlightLegacy: _objectSpread2({}, spotlight, { 14442 boxShadow: "0 0 0 9999px ".concat(options.overlayColor, ", ").concat(options.spotlightShadow) 14443 }), 14444 floaterStyles: { 14445 arrow: { 14446 color: options.arrowColor 14447 }, 14448 options: { 14449 zIndex: options.zIndex 14450 } 14451 }, 14452 options: options 14453 }; 14454 return deepmerge__WEBPACK_IMPORTED_MODULE_9___default()(defaultStyles, stepStyles); 14455} 14456 14457var DEFAULTS = { 14458 floaterProps: { 14459 options: { 14460 preventOverflow: { 14461 boundariesElement: 'scrollParent' 14462 } 14463 }, 14464 wrapperOptions: { 14465 offset: -18, 14466 position: true 14467 } 14468 }, 14469 locale: { 14470 back: 'Back', 14471 close: 'Close', 14472 last: 'Last', 14473 next: 'Next', 14474 open: 'Open the dialog', 14475 skip: 'Skip' 14476 }, 14477 step: { 14478 event: 'click', 14479 placement: 'bottom', 14480 offset: 10 14481 } 14482}; 14483 14484function getTourProps(props) { 14485 var sharedTourProps = ['beaconComponent', 'disableCloseOnEsc', 'disableOverlay', 'disableOverlayClose', 'disableScrolling', 'disableScrollParentFix', 'floaterProps', 'hideBackButton', 'locale', 'showProgress', 'showSkipButton', 'spotlightClicks', 'spotlightPadding', 'styles', 'tooltipComponent']; 14486 return Object.keys(props).filter(function (d) { 14487 return sharedTourProps.indexOf(d) !== -1; 14488 }).reduce(function (acc, i) { 14489 acc[i] = props[i]; //eslint-disable-line react/destructuring-assignment 14490 14491 return acc; 14492 }, {}); 14493} 14494 14495function getMergedStep(step, props) { 14496 if (!step) return null; 14497 var mergedStep = deepmerge__WEBPACK_IMPORTED_MODULE_9___default.a.all([getTourProps(props), DEFAULTS.step, step], { 14498 isMergeableObject: is_lite__WEBPACK_IMPORTED_MODULE_3___default.a.plainObject 14499 }); 14500 var mergedStyles = getStyles(deepmerge__WEBPACK_IMPORTED_MODULE_9___default()(props.styles || {}, step.styles || {})); 14501 var scrollParent = hasCustomScrollParent(getElement(step.target), mergedStep.disableScrollParentFix); 14502 var floaterProps = deepmerge__WEBPACK_IMPORTED_MODULE_9___default.a.all([props.floaterProps || {}, DEFAULTS.floaterProps, mergedStep.floaterProps || {}]); // Set react-floater props 14503 14504 floaterProps.offset = mergedStep.offset; 14505 floaterProps.styles = deepmerge__WEBPACK_IMPORTED_MODULE_9___default()(floaterProps.styles || {}, mergedStyles.floaterStyles || {}); 14506 delete mergedStyles.floaterStyles; 14507 floaterProps.offset += props.spotlightPadding || step.spotlightPadding; 14508 14509 if (step.placementBeacon) { 14510 floaterProps.wrapperOptions.placement = step.placementBeacon; 14511 } 14512 14513 if (scrollParent) { 14514 floaterProps.options.preventOverflow.boundariesElement = 'window'; 14515 } 14516
14517 return _objectSpread2({}, mergedStep, { 14518 locale: deepmerge__WEBPACK_IMPORTED_MODULE_9___default.a.all([DEFAULTS.locale, props.locale || {}, mergedStep.locale || {}]), 14519 floaterProps: floaterProps, 14520 styles: mergedStyles 14521 }); 14522} 14523/** 14524 * Validate if a step is valid 14525 * 14526 * @param {Object} step - A step object 14527 * @param {boolean} debug 14528 * 14529 * @returns {boolean} - True if the step is valid, false otherwise 14530 */ 14531 14532function validateStep(step) { 14533 var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; 14534 14535 if (!is_lite__WEBPACK_IMPORTED_MODULE_3___default.a.plainObject(step)) { 14536 log({ 14537 title: 'validateStep', 14538 data: 'step must be an object', 14539 warn: true, 14540 debug: debug 14541 }); 14542 return false; 14543 } 14544 14545 if (!step.target) { 14546 log({ 14547 title: 'validateStep', 14548 data: 'target is missing from the step', 14549 warn: true, 14550 debug: debug 14551 }); 14552 return false; 14553 } 14554 14555 return true; 14556} 14557/** 14558 * Validate if steps is valid 14559 * 14560 * @param {Array} steps - A steps array 14561 * @param {boolean} debug 14562 * 14563 * @returns {boolean} - True if the steps are valid, false otherwise 14564 */ 14565 14566function validateSteps(steps) { 14567 var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; 14568 14569 if (!is_lite__WEBPACK_IMPORTED_MODULE_3___default.a.array(steps)) { 14570 log({ 14571 title: 'validateSteps', 14572 data: 'steps must be an array', 14573 warn: true, 14574 debug: debug 14575 }); 14576 return false; 14577 } 14578 14579 return steps.every(function (d) { 14580 return validateStep(d, debug); 14581 }); 14582} 14583 14584var Scope = function Scope(_element) { 14585 var _this = this; 14586 14587 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 14588 14589 _classCallCheck(this, Scope); 14590 14591 _defineProperty(this, "element", void 0); 14592 14593 _defineProperty(this, "options", void 0); 14594 14595 _defineProperty(this, "canBeTabbed", function (element) { 14596 var tabIndex = element.tabIndex; 14597 if (tabIndex === null || tabIndex < 0) tabIndex = undefined; 14598 var isTabIndexNaN = isNaN(tabIndex); 14599 return !isTabIndexNaN && _this.canHaveFocus(element, true); 14600 }); 14601 14602 _defineProperty(this, "canHaveFocus", function (element, isTabIndexNotNaN) { 14603 var validTabNodes = /input|select|textarea|button|object/; 14604 var nodeName = element.nodeName.toLowerCase(); 14605 var res = validTabNodes.test(nodeName) && !element.getAttribute('disabled') || (nodeName === 'a' ? element.getAttribute('href') || isTabIndexNotNaN : isTabIndexNotNaN); 14606 return res && _this.isVisible(element); 14607 }); 14608 14609 _defineProperty(this, "findValidTabElements", function () { 14610 return [].slice.call(_this.element.querySelectorAll('*'), 0).filter(_this.canBeTabbed); 14611 }); 14612 14613 _defineProperty(this, "handleKeyDown", function (e) { 14614 var _this$options$keyCode = _this.options.keyCode, 14615 keyCode = _this$options$keyCode === void 0 ? 9 : _this$options$keyCode; 14616 /* istanbul ignore else */ 14617 14618 if (e.keyCode === keyCode) { 14619 _this.interceptTab(e); 14620 } 14621 }); 14622 14623 _defineProperty(this, "interceptTab", function (event) { 14624 event.preventDefault(); 14625 14626 var elements = _this.findValidTabElements(); 14627 14628 var shiftKey = event.shiftKey; 14629 14630 if (!elements.length) { 14631 return; 14632 } 14633 14634 var x = elements.indexOf(document.activeElement); 14635 14636 if (x === -1 || !shiftKey && x + 1 === elements.length) { 14637 x = 0; 14638 } else if (shiftKey && x === 0) { 14639 x = elements.length - 1; 14640 } else { 14641 x += shiftKey ? -1 : 1; 14642 } 14643 14644 elements[x].focus(); 14645 }); 14646 14647 _defineProperty(this, "isHidden", function (element) { 14648 var noSize = element.offsetWidth <= 0 && element.offsetHeight <= 0; 14649 var style = window.getComputedStyle(element); 14650 if (noSize && !element.innerHTML) return true; 14651 return noSize && style.getPropertyValue('overflow') !== 'visible' || style.getPropertyValue('display') === 'none'; 14652 }); 14653 14654 _defineProperty(this, "isVisible", function (element) { 14655 var parentElement = element; 14656 14657 while (parentElement) { 14658 /* istanbul ignore else */ 14659 if (parentElement instanceof HTMLElement) { 14660 if (parentElement === document.body) break; 14661 /* istanbul ignore else */ 14662 14663 if (_this.isHidden(parentElement)) return false;
14664 parentElement = parentElement.parentNode; 14665 } 14666 } 14667 14668 return true; 14669 }); 14670 14671 _defineProperty(this, "removeScope", function () { 14672 window.removeEventListener('keydown', _this.handleKeyDown); 14673 }); 14674 14675 _defineProperty(this, "checkFocus", function (target) { 14676 if (document.activeElement !== target) { 14677 target.focus(); 14678 window.requestAnimationFrame(function () { 14679 return _this.checkFocus(target); 14680 }); 14681 } 14682 }); 14683 14684 _defineProperty(this, "setFocus", function () { 14685 var selector = _this.options.selector; 14686 if (!selector) return; 14687 14688 var target = _this.element.querySelector(selector); 14689 /* istanbul ignore else */ 14690 14691 14692 if (target) { 14693 window.requestAnimationFrame(function () { 14694 return _this.checkFocus(target); 14695 }); 14696 } 14697 }); 14698 14699 if (!(_element instanceof HTMLElement)) { 14700 throw new TypeError('Invalid parameter: element must be an HTMLElement'); 14701 } 14702 14703 this.element = _element; 14704 this.options = options; 14705 window.addEventListener('keydown', this.handleKeyDown, false); 14706 this.setFocus(); 14707}; 14708 14709var JoyrideBeacon = 14710/*#__PURE__*/ 14711function (_React$Component) { 14712 _inherits(JoyrideBeacon, _React$Component); 14713 14714 function JoyrideBeacon(props) { 14715 var _this; 14716 14717 _classCallCheck(this, JoyrideBeacon); 14718 14719 _this = _possibleConstructorReturn(this, _getPrototypeOf(JoyrideBeacon).call(this, props)); 14720 14721 _defineProperty(_assertThisInitialized(_this), "setBeaconRef", function (c) { 14722 _this.beacon = c; 14723 }); 14724 14725 if (!props.beaconComponent) { 14726 var head = document.head || document.getElementsByTagName('head')[0]; 14727 var style = document.createElement('style'); 14728 var css = "\n @keyframes joyride-beacon-inner {\n 20% {\n opacity: 0.9;\n }\n \n 90% {\n opacity: 0.7;\n }\n }\n \n @keyframes joyride-beacon-outer {\n 0% {\n transform: scale(1);\n }\n \n 45% {\n opacity: 0.7;\n transform: scale(0.75);\n }\n \n 100% {\n opacity: 0.9;\n transform: scale(1);\n }\n }\n "; 14729 style.type = 'text/css'; 14730 style.id = 'joyride-beacon-animation'; 14731 style.appendChild(document.createTextNode(css)); 14732 head.appendChild(style); 14733 } 14734 14735 return _this; 14736 } 14737 14738 _createClass(JoyrideBeacon, [{ 14739 key: "componentDidMount", 14740 value: function componentDidMount() { 14741 var _this2 = this; 14742 14743 var shouldFocus = this.props.shouldFocus; 14744 14745 setTimeout(function () { 14746 if (is_lite__WEBPACK_IMPORTED_MODULE_3___default.a.domElement(_this2.beacon) && shouldFocus) { 14747 _this2.beacon.focus(); 14748 } 14749 }, 0); 14750 } 14751 }, { 14752 key: "componentWillUnmount", 14753 value: function componentWillUnmount() { 14754 var style = document.getElementById('joyride-beacon-animation'); 14755 14756 if (style) { 14757 style.parentNode.removeChild(style); 14758 } 14759 } 14760 }, { 14761 key: "render", 14762 value: function render() { 14763 var _this$props = this.props, 14764 beaconComponent = _this$props.beaconComponent, 14765 locale = _this$props.locale, 14766 onClickOrHover = _this$props.onClickOrHover, 14767 styles = _this$props.styles; 14768 var props = { 14769 'aria-label': locale.open, 14770 onClick: onClickOrHover, 14771 onMouseEnter: onClickOrHover, 14772 ref: this.setBeaconRef, 14773 title: locale.open 14774 }; 14775 var component; 14776 14777 if (beaconComponent) { 14778 var BeaconComponent = beaconComponent; 14779 component = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(BeaconComponent, props); 14780 } else { 14781 component = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", _extends({ 14782 key: "JoyrideBeacon", 14783 className: "react-joyride__beacon", 14784 style: styles.beacon, 14785 type: "button" 14786 }, props), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { 14787 style: styles.beaconInner 14788 }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { 14789 style: styles.beaconOuter 14790 })); 14791 } 14792 14793 return component; 14794 } 14795 }]); 14796 14797 return JoyrideBeacon; 14798}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); 14799 14800var JoyrideSpotlight = function JoyrideSpotlight(_ref) { 14801 var styles = _ref.styles; 14802 return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { 14803 key: "JoyrideSpotlight", 14804 className: "react-joyride__spotlight", 14805 style: styles 14806 }); 14807}; 14808 14809var JoyrideOverlay = 14810/*#__PURE__*/ 14811function (_React$Component) { 14812 _inherits(JoyrideOverlay, _React$Component); 14813 14814 function JoyrideOverlay() { 14815 var _getPrototypeOf2; 14816 14817 var _this; 14818 14819 _classCallCheck(this, JoyrideOverlay); 14820 14821 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 14822 args[_key] = arguments[_key]; 14823 } 14824 14825 _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(JoyrideOverlay)).call.apply(_getPrototypeOf2, [this].concat(args))); 14826 14827 _defineProperty(_assertThisInitialized(_this), "_isMounted", false); 14828 14829 _defineProperty(_assertThisInitialized(_this), "state", { 14830 mouseOverSpotlight: false, 14831 isScrolling: false, 14832 showSpotlight: true 14833 }); 14834 14835 _defineProperty(_assertThisInitialized(_this), "handleMouseMove", function (e) { 14836 var mouseOverSpotlight = _this.state.mouseOverSpotlight; 14837 var _this$spotlightStyles = _this.spotlightStyles, 14838 height = _this$spotlightStyles.height, 14839 left = _this$spotlightStyles.left, 14840 position = _this$spotlightStyles.position, 14841 top = _this$spotlightStyles.top, 14842 width = _this$spotlightStyles.width; 14843 var offsetY = position === 'fixed' ? e.clientY : e.pageY; 14844 var offsetX = position === 'fixed' ? e.clientX : e.pageX;
14845 var inSpotlightHeight = offsetY >= top && offsetY <= top + height; 14846 var inSpotlightWidth = offsetX >= left && offsetX <= left + width; 14847 var inSpotlight = inSpotlightWidth && inSpotlightHeight; 14848 14849 if (inSpotlight !== mouseOverSpotlight) { 14850 _this.updateState({ 14851 mouseOverSpotlight: inSpotlight 14852 }); 14853 } 14854 }); 14855 14856 _defineProperty(_assertThisInitialized(_this), "handleScroll", function () { 14857 var target = _this.props.target; 14858 var element = getElement(target); 14859 14860 if (_this.scrollParent !== document) { 14861 var isScrolling = _this.state.isScrolling; 14862 14863 if (!isScrolling) { 14864 _this.updateState({ 14865 isScrolling: true, 14866 showSpotlight: false 14867 }); 14868 } 14869 14870 clearTimeout(_this.scrollTimeout); 14871 _this.scrollTimeout = setTimeout(function () { 14872 _this.updateState({ 14873 isScrolling: false, 14874 showSpotlight: true 14875 }); 14876 }, 50); 14877 } else if (hasPosition(element, 'sticky')) { 14878 _this.updateState({}); 14879 } 14880 }); 14881 14882 _defineProperty(_assertThisInitialized(_this), "handleResize", function () { 14883 clearTimeout(_this.resizeTimeout); 14884 _this.resizeTimeout = setTimeout(function () { 14885 if (!_this._isMounted) { 14886 return; 14887 } 14888 14889 _this.forceUpdate(); 14890 }, 100); 14891 }); 14892 14893 return _this; 14894 } 14895 14896 _createClass(JoyrideOverlay, [{ 14897 key: "componentDidMount", 14898 value: function componentDidMount() { 14899 var _this$props = this.props, 14900 debug = _this$props.debug, 14901 disableScrolling = _this$props.disableScrolling, 14902 disableScrollParentFix = _this$props.disableScrollParentFix, 14903 target = _this$props.target; 14904 var element = getElement(target); 14905 this.scrollParent = getScrollParent(element, disableScrollParentFix, true); 14906 this._isMounted = true; 14907 14908 window.addEventListener('resize', this.handleResize); 14909 } 14910 }, { 14911 key: "componentDidUpdate", 14912 value: function componentDidUpdate(prevProps) { 14913 var _this2 = this; 14914 14915 var _this$props2 = this.props, 14916 lifecycle = _this$props2.lifecycle, 14917 spotlightClicks = _this$props2.spotlightClicks; 14918 14919 var _treeChanges = tree_changes__WEBPACK_IMPORTED_MODULE_2___default()(prevProps, this.props), 14920 changed = _treeChanges.changed, 14921 changedTo = _treeChanges.changedTo; 14922 /* istanbul ignore else */ 14923 14924 14925 if (changedTo('lifecycle', LIFECYCLE.TOOLTIP)) { 14926 this.scrollParent.addEventListener('scroll', this.handleScroll, { 14927 passive: true 14928 }); 14929 setTimeout(function () { 14930 var isScrolling = _this2.state.isScrolling; 14931 14932 if (!isScrolling) { 14933 _this2.updateState({ 14934 showSpotlight: true 14935 }); 14936 } 14937 }, 100); 14938 } 14939 14940 if (changed('spotlightClicks') || changed('disableOverlay') || changed('lifecycle')) { 14941 if (spotlightClicks && lifecycle === LIFECYCLE.TOOLTIP) { 14942 window.addEventListener('mousemove', this.handleMouseMove, false); 14943 } else if (lifecycle !== LIFECYCLE.TOOLTIP) { 14944 window.removeEventListener('mousemove', this.handleMouseMove); 14945 } 14946 } 14947 } 14948 }, { 14949 key: "componentWillUnmount", 14950 value: function componentWillUnmount() { 14951 this._isMounted = false; 14952 window.removeEventListener('mousemove', this.handleMouseMove); 14953 window.removeEventListener('resize', this.handleResize); 14954 clearTimeout(this.resizeTimeout); 14955 clearTimeout(this.scrollTimeout); 14956 this.scrollParent.removeEventListener('scroll', this.handleScroll); 14957 } 14958 }, { 14959 key: "updateState", 14960 value: function updateState(state) { 14961 if (!this._isMounted) { 14962 return; 14963 } 14964 14965 this.setState(state); 14966 } 14967 }, { 14968 key: "render", 14969 value: function render() { 14970 var _this$state = this.state, 14971 mouseOverSpotlight = _this$state.mouseOverSpotlight, 14972 showSpotlight = _this$state.showSpotlight; 14973 var _this$props3 = this.props, 14974 disableOverlay = _this$props3.disableOverlay, 14975 lifecycle = _this$props3.lifecycle, 14976 onClickOverlay = _this$props3.onClickOverlay, 14977 placement = _this$props3.placement, 14978 styles = _this$props3.styles; 14979 14980 if (disableOverlay || lifecycle !== LIFECYCLE.TOOLTIP) { 14981 return null; 14982 } 14983 14984 var baseStyles = styles.overlay; 14985 /* istanbul ignore else */ 14986 14987 if (isLegacy()) { 14988 baseStyles = placement === 'center' ? styles.overlayLegacyCenter : styles.overlayLegacy; 14989 } 14990
14991 var stylesOverlay = _objectSpread2({ 14992 cursor: 'pointer', 14993 height: getDocumentHeight(), 14994 pointerEvents: mouseOverSpotlight ? 'none' : 'auto' 14995 }, baseStyles); 14996 14997 var spotlight = placement !== 'center' && showSpotlight && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(JoyrideSpotlight, { 14998 styles: this.spotlightStyles 14999 }); // Hack for Safari bug with mix-blend-mode with z-index 15000 15001 if (getBrowser() === 'safari') { 15002 var mixBlendMode = stylesOverlay.mixBlendMode, 15003 zIndex = stylesOverlay.zIndex, 15004 safarOverlay = _objectWithoutProperties(stylesOverlay, ["mixBlendMode", "zIndex"]); 15005 15006 spotlight = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { 15007 style: _objectSpread2({}, safarOverlay) 15008 }, spotlight); 15009 delete stylesOverlay.backgroundColor; 15010 } 15011 15012 return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { 15013 className: "react-joyride__overlay", 15014 style: stylesOverlay, 15015 onClick: onClickOverlay 15016 }, spotlight); 15017 } 15018 }, { 15019 key: "spotlightStyles", 15020 get: function get() { 15021 var showSpotlight = this.state.showSpotlight; 15022 var _this$props4 = this.props, 15023 disableScrollParentFix = _this$props4.disableScrollParentFix, 15024 spotlightClicks = _this$props4.spotlightClicks, 15025 spotlightPadding = _this$props4.spotlightPadding, 15026 styles = _this$props4.styles, 15027 target = _this$props4.target; 15028 var element = getElement(target); 15029 var elementRect = getClientRect(element); 15030 var isFixedTarget = hasPosition(element); 15031 var top = getElementPosition(element, spotlightPadding, disableScrollParentFix); 15032 return _objectSpread2({}, isLegacy() ? styles.spotlightLegacy : styles.spotlight, { 15033 height: Math.round(elementRect.height + spotlightPadding * 2), 15034 left: Math.round(elementRect.left - spotlightPadding), 15035 opacity: showSpotlight ? 1 : 0, 15036 pointerEvents: spotlightClicks ? 'none' : 'auto', 15037 position: isFixedTarget ? 'fixed' : 'absolute', 15038 top: top, 15039 transition: 'opacity 0.2s', 15040 width: Math.round(elementRect.width + spotlightPadding * 2) 15041 }); 15042 } 15043 }]); 15044 15045 return JoyrideOverlay; 15046}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); 15047 15048var JoyrideTooltipCloseBtn = function JoyrideTooltipCloseBtn(_ref) { 15049 var styles = _ref.styles, 15050 props = _objectWithoutProperties(_ref, ["styles"]); 15051 15052 var color = styles.color, 15053 height = styles.height, 15054 width = styles.width, 15055 style = _objectWithoutProperties(styles, ["color", "height", "width"]); 15056 15057 return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", _extends({ 15058 style: style, 15059 type: "button" 15060 }, props), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("svg", { 15061 width: typeof width === 'number' ? "".concat(width, "px") : width, 15062 height: typeof height === 'number' ? "".concat(height, "px") : height, 15063 viewBox: "0 0 18 18", 15064 version: "1.1", 15065 xmlns: "http://www.w3.org/2000/svg", 15066 preserveAspectRatio: "xMidYMid" 15067 }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("g", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("path", { 15068 d: "M8.13911129,9.00268191 L0.171521827,17.0258467 C-0.0498027049,17.248715 -0.0498027049,17.6098394 0.171521827,17.8327545 C0.28204354,17.9443526 0.427188206,17.9998706 0.572051765,17.9998706 C0.71714958,17.9998706 0.862013139,17.9443526 0.972581703,17.8327545 L9.0000937,9.74924618 L17.0276057,17.8327545 C17.1384085,17.9443526 17.2832721,17.9998706 17.4281356,17.9998706 C17.5729992,17.9998706 17.718097,17.9443526 17.8286656,17.8327545 C18.0499901,17.6098862 18.0499901,17.2487618 17.8286656,17.0258467 L9.86135722,9.00268191 L17.8340066,0.973848225 C18.0553311,0.750979934 18.0553311,0.389855532 17.8340066,0.16694039 C17.6126821,-0.0556467968 17.254037,-0.0556467968 17.0329467,0.16694039 L9.00042166,8.25611765 L0.967006424,0.167268345 C0.745681892,-0.0553188426 0.387317931,-0.0553188426 0.165993399,0.167268345 C-0.0553311331,0.390136635 -0.0553311331,0.751261038 0.165993399,0.974176179 L8.13920499,9.00268191 L8.13911129,9.00268191 Z", 15069 fill: color 15070 })))); 15071}; 15072 15073var JoyrideTooltipContainer = 15074/*#__PURE__*/ 15075function (_React$Component) { 15076 _inherits(JoyrideTooltipContainer, _React$Component); 15077 15078 function JoyrideTooltipContainer() { 15079 _classCallCheck(this, JoyrideTooltipContainer); 15080 15081 return _possibleConstructorReturn(this, _getPrototypeOf(JoyrideTooltipContainer).apply(this, arguments)); 15082 } 15083 15084 _createClass(JoyrideTooltipContainer, [{ 15085 key: "render", 15086 value: function render() { 15087 var _this$props = this.props, 15088 backProps = _this$props.backProps, 15089 closeProps = _this$props.closeProps, 15090 continuous = _this$props.continuous, 15091 index = _this$props.index, 15092 isLastStep = _this$props.isLastStep, 15093 primaryProps = _this$props.primaryProps, 15094 size = _this$props.size, 15095 skipProps = _this$props.skipProps, 15096 step = _this$props.step, 15097 tooltipProps = _this$props.tooltipProps; 15098 var content = step.content, 15099 hideBackButton = step.hideBackButton, 15100 hideCloseButton = step.hideCloseButton, 15101 hideFooter = step.hideFooter, 15102 showProgress = step.showProgress, 15103 showSkipButton = step.showSkipButton, 15104 title = step.title, 15105 styles = step.styles; 15106 var _step$locale = step.locale, 15107 back = _step$locale.back, 15108 close = _step$locale.close, 15109 last = _step$locale.last, 15110 next = _step$locale.next, 15111 skip = _step$locale.skip; 15112 var output = { 15113 primary: close 15114 }; 15115 15116 if (continuous) { 15117 output.primary = isLastStep ? last : next; 15118 15119 if (showProgress) { 15120 output.primary = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", null, output.primary, " (", index + 1, "/", size, ")"); 15121 } 15122 } 15123 15124 if (showSkipButton && !isLastStep) {
15125 output.skip = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", _extends({ 15126 style: styles.buttonSkip, 15127 type: "button", 15128 "aria-live": "off" 15129 }, skipProps), skip); 15130 } 15131 15132 if (!hideBackButton && index > 0) { 15133 output.back = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", _extends({ 15134 style: styles.buttonBack, 15135 type: "button" 15136 }, backProps), back); 15137 } 15138 15139 output.close = !hideCloseButton && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(JoyrideTooltipCloseBtn, _extends({ 15140 styles: styles.buttonClose 15141 }, closeProps)); 15142 return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", _extends({ 15143 key: "JoyrideTooltip", 15144 className: "react-joyride__tooltip", 15145 style: styles.tooltip 15146 }, tooltipProps), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { 15147 style: styles.tooltipContainer 15148 }, title && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", { 15149 style: styles.tooltipTitle, 15150 "aria-label": title 15151 }, title), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { 15152 style: styles.tooltipContent 15153 }, content)), !hideFooter && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { 15154 style: styles.tooltipFooter 15155 }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { 15156 style: styles.tooltipFooterSpacer 15157 }, output.skip), output.back, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", _extends({ 15158 style: styles.buttonNext, 15159 type: "button" 15160 }, primaryProps), output.primary)), output.close); 15161 } 15162 }]); 15163 15164 return JoyrideTooltipContainer; 15165}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); 15166 15167var JoyrideTooltip = 15168/*#__PURE__*/ 15169function (_React$Component) { 15170 _inherits(JoyrideTooltip, _React$Component); 15171 15172 function JoyrideTooltip() { 15173 var _getPrototypeOf2; 15174 15175 var _this; 15176 15177 _classCallCheck(this, JoyrideTooltip); 15178 15179 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 15180 args[_key] = arguments[_key]; 15181 } 15182 15183 _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(JoyrideTooltip)).call.apply(_getPrototypeOf2, [this].concat(args))); 15184 15185 _defineProperty(_assertThisInitialized(_this), "handleClickBack", function (e) { 15186 e.preventDefault(); 15187 var helpers = _this.props.helpers; 15188 helpers.prev(); 15189 }); 15190 15191 _defineProperty(_assertThisInitialized(_this), "handleClickClose", function (e) { 15192 e.preventDefault(); 15193 var helpers = _this.props.helpers; 15194 helpers.close(); 15195 }); 15196 15197 _defineProperty(_assertThisInitialized(_this), "handleClickPrimary", function (e) { 15198 e.preventDefault(); 15199 var _this$props = _this.props, 15200 continuous = _this$props.continuous, 15201 helpers = _this$props.helpers; 15202 15203 if (!continuous) { 15204 helpers.close(); 15205 return; 15206 } 15207 15208 helpers.next(); 15209 }); 15210 15211 _defineProperty(_assertThisInitialized(_this), "handleClickSkip", function (e) { 15212 e.preventDefault(); 15213 var helpers = _this.props.helpers; 15214 helpers.skip(); 15215 }); 15216 15217 _defineProperty(_assertThisInitialized(_this), "getElementsProps", function () { 15218 var _this$props2 = _this.props, 15219 continuous = _this$props2.continuous, 15220 isLastStep = _this$props2.isLastStep, 15221 setTooltipRef = _this$props2.setTooltipRef, 15222 step = _this$props2.step; 15223 var back = getText(step.locale.back); 15224 var close = getText(step.locale.close); 15225 var last = getText(step.locale.last); 15226 var next = getText(step.locale.next); 15227 var skip = getText(step.locale.skip); 15228 var primaryText = continuous ? next : close; 15229 15230 if (isLastStep) { 15231 primaryText = last; 15232 } 15233 15234 return { 15235 backProps: { 15236 'aria-label': back, 15237 'data-action': 'back', 15238 onClick: _this.handleClickBack, 15239 role: 'button', 15240 title: back 15241 }, 15242 closeProps: { 15243 'aria-label': close, 15244 'data-action': 'close', 15245 onClick: _this.handleClickClose, 15246 role: 'button', 15247 title: close 15248 }, 15249 primaryProps: { 15250 'aria-label': primaryText, 15251 'data-action': 'primary', 15252 onClick: _this.handleClickPrimary, 15253 role: 'button', 15254 title: primaryText 15255 }, 15256 skipProps: { 15257 'aria-label': skip, 15258 'data-action': 'skip', 15259 onClick: _this.handleClickSkip, 15260 role: 'button', 15261 title: skip 15262 }, 15263 tooltipProps: {
15264 'aria-modal': true, 15265 ref: setTooltipRef, 15266 role: 'alertdialog' 15267 } 15268 }; 15269 }); 15270 15271 return _this; 15272 } 15273 15274 _createClass(JoyrideTooltip, [{ 15275 key: "render", 15276 value: function render() { 15277 var _this$props3 = this.props, 15278 continuous = _this$props3.continuous, 15279 index = _this$props3.index, 15280 isLastStep = _this$props3.isLastStep, 15281 size = _this$props3.size, 15282 step = _this$props3.step; 15283 15284 var beaconComponent = step.beaconComponent, 15285 tooltipComponent = step.tooltipComponent, 15286 cleanStep = _objectWithoutProperties(step, ["beaconComponent", "tooltipComponent"]); 15287 15288 var component; 15289 15290 if (tooltipComponent) { 15291 var renderProps = _objectSpread2({}, this.getElementsProps(), { 15292 continuous: continuous, 15293 index: index, 15294 isLastStep: isLastStep, 15295 size: size, 15296 step: cleanStep 15297 }); 15298 15299 var TooltipComponent = tooltipComponent; 15300 component = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(TooltipComponent, renderProps); 15301 } else { 15302 component = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(JoyrideTooltipContainer, _extends({}, this.getElementsProps(), { 15303 continuous: continuous, 15304 index: index, 15305 isLastStep: isLastStep, 15306 size: size, 15307 step: step 15308 })); 15309 } 15310 15311 return component; 15312 } 15313 }]); 15314 15315 return JoyrideTooltip; 15316}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); 15317 15318var JoyridePortal = 15319/*#__PURE__*/ 15320function (_React$Component) { 15321 _inherits(JoyridePortal, _React$Component); 15322 15323 function JoyridePortal(props) { 15324 var _this; 15325 15326 _classCallCheck(this, JoyridePortal); 15327 15328 _this = _possibleConstructorReturn(this, _getPrototypeOf(JoyridePortal).call(this, props)); 15329 if (!canUseDOM) return _possibleConstructorReturn(_this); 15330 _this.node = document.createElement('div'); 15331 /* istanbul ignore else */ 15332 15333 if (props.id) { 15334 _this.node.id = props.id; 15335 } 15336 15337 document.body.appendChild(_this.node); 15338 return _this; 15339 } 15340 15341 _createClass(JoyridePortal, [{ 15342 key: "componentDidMount", 15343 value: function componentDidMount() { 15344 if (!canUseDOM) return; 15345 15346 if (!isReact16) { 15347 this.renderReact15(); 15348 } 15349 } 15350 }, { 15351 key: "componentDidUpdate", 15352 value: function componentDidUpdate() { 15353 if (!canUseDOM) return; 15354 15355 if (!isReact16) { 15356 this.renderReact15(); 15357 } 15358 } 15359 }, { 15360 key: "componentWillUnmount", 15361 value: function componentWillUnmount() { 15362 if (!canUseDOM || !this.node) return; 15363 15364 if (!isReact16) { 15365 react_dom__WEBPACK_IMPORTED_MODULE_4___default.a.unmountComponentAtNode(this.node); 15366 } 15367 15368 document.body.removeChild(this.node); 15369 } 15370 }, { 15371 key: "renderReact15", 15372 value: function renderReact15() { 15373 if (!canUseDOM) return null; 15374 var children = this.props.children; 15375 react_dom__WEBPACK_IMPORTED_MODULE_4___default.a.unstable_renderSubtreeIntoContainer(this, children, this.node); 15376 return null; 15377 } 15378 }, { 15379 key: "renderReact16", 15380 value: function renderReact16() { 15381 if (!canUseDOM || !isReact16) return null; 15382 var children = this.props.children; 15383 return react_dom__WEBPACK_IMPORTED_MODULE_4___default.a.createPortal(children, this.node); 15384 } 15385 }, { 15386 key: "render", 15387 value: function render() { 15388 if (!isReact16) { 15389 return null; 15390 } 15391 15392 return this.renderReact16(); 15393 } 15394 }]); 15395 15396 return JoyridePortal; 15397}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); 15398 15399var JoyrideStep = 15400/*#__PURE__*/ 15401function (_React$Component) { 15402 _inherits(JoyrideStep, _React$Component); 15403 15404 function JoyrideStep() { 15405 var _getPrototypeOf2; 15406 15407 var _this; 15408 15409 _classCallCheck(this, JoyrideStep); 15410 15411 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 15412 args[_key] = arguments[_key]; 15413 } 15414 15415 _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(JoyrideStep)).call.apply(_getPrototypeOf2, [this].concat(args))); 15416 15417 _defineProperty(_assertThisInitialized(_this), "scope", { 15418 removeScope: function removeScope() {} 15419 }); 15420 15421 _defineProperty(_assertThisInitialized(_this), "handleClickHoverBeacon", function (e) { 15422 var _this$props = _this.props, 15423 step = _this$props.step, 15424 update = _this$props.update; 15425 15426 if (e.type === 'mouseenter' && step.event !== 'hover') { 15427 return; 15428 } 15429 15430 update({ 15431 lifecycle: LIFECYCLE.TOOLTIP 15432 }); 15433 }); 15434 15435 _defineProperty(_assertThisInitialized(_this), "handleClickOverlay", function () { 15436 var _this$props2 = _this.props, 15437 helpers = _this$props2.helpers, 15438 step = _this$props2.step; 15439 15440 if (!step.disableOverlayClose) { 15441 helpers.close(); 15442 } 15443 }); 15444 15445 _defineProperty(_assertThisInitialized(_this), "setTooltipRef", function (c) { 15446 _this.tooltip = c; 15447 }); 15448 15449 _defineProperty(_assertThisInitialized(_this), "setPopper", function (popper, type) { 15450 var _this$props3 = _this.props, 15451 action = _this$props3.action, 15452 setPopper = _this$props3.setPopper, 15453 update = _this$props3.update; 15454 15455 if (type === 'wrapper') { 15456 _this.beaconPopper = popper; 15457 } else { 15458 _this.tooltipPopper = popper; 15459 } 15460 15461 setPopper(popper, type); 15462 15463 if (_this.beaconPopper && _this.tooltipPopper) { 15464 update({ 15465 action: action === ACTIONS.CLOSE ? ACTIONS.CLOSE : action, 15466 lifecycle: LIFECYCLE.READY 15467 }); 15468 } 15469 }); 15470 15471 return _this; 15472 } 15473 15474 _createClass(JoyrideStep, [{ 15475 key: "componentDidMount", 15476 value: function componentDidMount() { 15477 var _this$props4 = this.props, 15478 debug = _this$props4.debug, 15479 index = _this$props4.index; 15480 log({ 15481 title: "step:".concat(index), 15482 data: [{ 15483 key: 'props', 15484 value: this.props 15485 }], 15486 debug: debug 15487 }); 15488 } 15489 }, { 15490 key: "componentDidUpdate", 15491 value: function componentDidUpdate(prevProps) { 15492 var _this$props5 = this.props, 15493 action = _this$props5.action, 15494 callback = _this$props5.callback, 15495 continuous = _this$props5.continuous, 15496 controlled = _this$props5.controlled, 15497 debug = _this$props5.debug, 15498 index = _this$props5.index, 15499 lifecycle = _this$props5.lifecycle, 15500 size = _this$props5.size, 15501 status = _this$props5.status, 15502 step = _this$props5.step, 15503 update = _this$props5.update; 15504 15505 var _treeChanges = tree_changes__WEBPACK_IMPORTED_MODULE_2___default()(prevProps, this.props), 15506 changed = _treeChanges.changed, 15507 changedTo = _treeChanges.changedTo, 15508 changedFrom = _treeChanges.changedFrom; 15509 15510 var state = { 15511 action: action, 15512 controlled: controlled, 15513 index: index, 15514 lifecycle: lifecycle, 15515 size: size, 15516 status: status 15517 }; 15518 var skipBeacon = continuous && action !== ACTIONS.CLOSE && (index > 0 || action === ACTIONS.PREV); 15519 var hasStoreChanged = changed('action') || changed('index') || changed('lifecycle') || changed('status'); 15520 var hasStarted = changedFrom('lifecycle', [LIFECYCLE.TOOLTIP, LIFECYCLE.INIT], LIFECYCLE.INIT); 15521 var isAfterAction = changedTo('action', [ACTIONS.NEXT, ACTIONS.PREV, A
15521CTIONS.SKIP, ACTIONS.CLOSE]); 15522 15523 if (isAfterAction && (hasStarted || controlled)) { 15524 callback(_objectSpread2({}, state, { 15525 index: prevProps.index, 15526 lifecycle: LIFECYCLE.COMPLETE, 15527 step: prevProps.step, 15528 type: EVENTS.STEP_AFTER 15529 })); 15530 } // There's a step to use, but there's no target in the DOM 15531 15532 15533 if (hasStoreChanged && step) { 15534 var element = getElement(step.target); 15535 var elementExists = !!element; 15536 var hasRenderedTarget = elementExists && isElementVisible(element); 15537 15538 if (hasRenderedTarget) { 15539 if (changedFrom('status', STATUS.READY, STATUS.RUNNING) || changedFrom('lifecycle', LIFECYCLE.INIT, LIFECYCLE.READY)) { 15540 callback(_objectSpread2({}, state, { 15541 step: step, 15542 type: EVENTS.STEP_BEFORE 15543 })); 15544 } 15545 } else { 15546 console.warn(elementExists ? 'Target not visible' : 'Target not mounted', step); //eslint-disable-line no-console 15547 15548 callback(_objectSpread2({}, state, { 15549 type: EVENTS.TARGET_NOT_FOUND, 15550 step: step 15551 })); 15552 15553 if (!controlled) { 15554 update({ 15555 index: index + ([ACTIONS.PREV].indexOf(action) !== -1 ? -1 : 1) 15556 }); 15557 } 15558 } 15559 } 15560 15561 if (changedFrom('lifecycle', LIFECYCLE.INIT, LIFECYCLE.READY)) { 15562 update({ 15563 lifecycle: hideBeacon(step) || skipBeacon ? LIFECYCLE.TOOLTIP : LIFECYCLE.BEACON 15564 }); 15565 } 15566 15567 if (changed('index')) { 15568 log({ 15569 title: "step:".concat(lifecycle), 15570 data: [{ 15571 key: 'props', 15572 value: this.props 15573 }], 15574 debug: debug 15575 }); 15576 } 15577 /* istanbul ignore else */ 15578 15579 15580 if (changedTo('lifecycle', LIFECYCLE.BEACON)) { 15581 callback(_objectSpread2({}, state, { 15582 step: step, 15583 type: EVENTS.BEACON 15584 })); 15585 } 15586 15587 if (changedTo('lifecycle', LIFECYCLE.TOOLTIP)) { 15588 callback(_objectSpread2({}, state, { 15589 step: step, 15590 type: EVENTS.TOOLTIP 15591 })); 15592 this.scope = new Scope(this.tooltip, { 15593 selector: '[data-action=primary]' 15594 }); 15595 this.scope.setFocus(); 15596 } 15597 15598 if (changedFrom('lifecycle', [LIFECYCLE.TOOLTIP, LIFECYCLE.INIT], LIFECYCLE.INIT)) { 15599 this.scope.removeScope(); 15600 delete this.beaconPopper; 15601 delete this.tooltipPopper; 15602 } 15603 } 15604 }, { 15605 key: "componentWillUnmount", 15606 value: function componentWillUnmount() { 15607 this.scope.removeScope(); 15608 } 15609 /** 15610 * Beacon click/hover event listener 15611 * 15612 * @param {Event} e 15613 */ 15614 15615 }, { 15616 key: "render", 15617 value: function render() { 15618 var _this$props6 = this.props, 15619 continuous = _this$props6.continuous, 15620 debug = _this$props6.debug, 15621 helpers = _this$props6.helpers, 15622 index = _this$props6.index, 15623 lifecycle = _this$props6.lifecycle, 15624 shouldScroll = _this$props6.shouldScroll, 15625 size = _this$props6.size, 15626 step = _this$props6.step; 15627 var target = getElement(step.target); 15628 15629 if (!validateStep(step) || !is_lite__WEBPACK_IMPORTED_MODULE_3___default.a.domElement(target)) { 15630 return null; 15631 } 15632 15633 return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { 15634 key: "JoyrideStep-".concat(index), 15635 className: "react-joyride__step" 15636 }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(JoyridePortal, { 15637 id: "react-joyride-portal" 15638 }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(JoyrideOverlay, _extends({}, step, { 15639 debug: debug, 15640 lifecycle: lifecycle, 15641 onClickOverlay: this.handleClickOverlay 15642 }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_floater__WEBPACK_IMPORTED_MODULE_10__[/* default */ "a"], _extends({ 15643 component: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(JoyrideTooltip, { 15644 continuous: continuous, 15645 helpers: helpers, 15646 index: index, 15647 isLastStep: index + 1 === size, 15648 setTooltipRef: this.setTooltipRef, 15649 size: size, 15650 step: step 15651 }), 15652 debug: debug, 15653 getPopper: this.setPopper, 15654 id: "react-joyride-step-".concat(index), 15655 isPositioned: step.isFixed || hasPosition(target), 15656 open: this.open, 15657 placement: step.placement, 15658 target: step.target 15659 }, step.floaterProps), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(JoyrideBeacon, { 15660 beaconComponent: step.beaconComponent, 15661 locale: step.locale, 15662 onClickOrHover: this.handleClickHoverBeacon, 15663 shouldFocus: shouldScroll, 15664 styles: step.styles 15665 }))); 15666 } 15667 }, { 15668 key: "open", 15669 get: function get() { 15670 var _this$props7 = this.props, 15671 step = _this$props7.step, 15672 lifecycle = _this$props7.lifecycle; 15673 return !!(hideBeacon(step) || lifecycle === LIFECYCLE.TOOLTIP); 15674 } 15675 }]); 15676 15677 return JoyrideStep; 15678}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); 15679 15680var Joyride = 15681/*#__PURE__*/ 15682function (_React$Component) { 15683 _inherits(Joyride, _React$Component); 15684 15685 function Joyride(props) { 15686 var _this; 15687 15688 _classCallCheck(this, Joyride); 15689 15690 _this = _possibleConstructorReturn(this, _getPrototypeOf(Joyride).call(this, props)); 15691 15692 _defineProperty(_assertThisInitialized(_this), "initStore", function () { 15693 var _this$props = _this.props, 15694 debug = _this$props.debug, 15695 getHelpers = _this$props.getHelpers, 15696 run = _this$props.run, 15697 stepIndex = _this$props.stepIndex;
15698 _this.store = new createStore(_objectSpread2({}, _this.props, { 15699 controlled: run && is_lite__WEBPACK_IMPORTED_MODULE_3___default.a.number(stepIndex) 15700 })); 15701 _this.helpers = _this.store.getHelpers(); 15702 var addListener = _this.store.addListener; 15703 log({ 15704 title: 'init', 15705 data: [{ 15706 key: 'props', 15707 value: _this.props 15708 }, { 15709 key: 'state', 15710 value: _this.state 15711 }], 15712 debug: debug 15713 }); // Sync the store to this component's state. 15714 15715 addListener(_this.syncState); 15716 getHelpers(_this.helpers); 15717 return _this.store.getState(); 15718 }); 15719 15720 _defineProperty(_assertThisInitialized(_this), "callback", function (data) { 15721 var callback = _this.props.callback; 15722 /* istanbul ignore else */ 15723 15724 if (is_lite__WEBPACK_IMPORTED_MODULE_3___default.a["function"](callback)) { 15725 callback(data); 15726 } 15727 }); 15728 15729 _defineProperty(_assertThisInitialized(_this), "handleKeyboard", function (e) { 15730 var _this$state = _this.state, 15731 index = _this$state.index, 15732 lifecycle = _this$state.lifecycle; 15733 var steps = _this.props.steps; 15734 var step = steps[index]; 15735 var intKey = window.Event ? e.which : e.keyCode; 15736 15737 if (lifecycle === LIFECYCLE.TOOLTIP) { 15738 if (intKey === 27 && step && !step.disableCloseOnEsc) { 15739 _this.store.close(); 15740 } 15741 } 15742 }); 15743 15744 _defineProperty(_assertThisInitialized(_this), "syncState", function (state) { 15745 _this.setState(state); 15746 }); 15747 15748 _defineProperty(_assertThisInitialized(_this), "setPopper", function (popper, type) { 15749 if (type === 'wrapper') { 15750 _this.beaconPopper = popper; 15751 } else { 15752 _this.tooltipPopper = popper; 15753 } 15754 }); 15755 15756 _defineProperty(_assertThisInitialized(_this), "shouldScroll", function (disableScrolling, index, scrollToFirstStep, lifecycle, step, target, prevState) { 15757 return !disableScrolling && (index !== 0 || scrollToFirstStep || lifecycle === LIFECYCLE.TOOLTIP) && step.placement !== 'center' && (!step.isFixed || !hasPosition(target)) && // fixed steps don't need to scroll 15758 prevState.lifecycle !== lifecycle && [LIFECYCLE.BEACON, LIFECYCLE.TOOLTIP].indexOf(lifecycle) !== -1; 15759 }); 15760 15761 _this.state = _this.initStore(); 15762 return _this; 15763 } 15764 15765 _createClass(Joyride, [{ 15766 key: "componentDidMount", 15767 value: function componentDidMount() { 15768 if (!canUseDOM) return; 15769 var _this$props2 = this.props, 15770 disableCloseOnEsc = _this$props2.disableCloseOnEsc, 15771 debug = _this$props2.debug, 15772 run = _this$props2.run, 15773 steps = _this$props2.steps; 15774 var start = this.store.start; 15775 15776 if (validateSteps(steps, debug) && run) { 15777 start(); 15778 } 15779 /* istanbul ignore else */ 15780 15781 15782 if (!disableCloseOnEsc) { 15783 document.body.addEventListener('keydown', this.handleKeyboard, { 15784 passive: true 15785 }); 15786 } 15787 } 15788 }, { 15789 key: "componentDidUpdate", 15790 value: function componentDidUpdate(prevProps, prevState) { 15791 if (!canUseDOM) return; 15792 var _this$state2 = this.state, 15793 action = _this$state2.action, 15794 controlled = _this$state2.controlled, 15795 index = _this$state2.index, 15796 lifecycle = _this$state2.lifecycle, 15797 status = _this$state2.status; 15798 var _this$props3 = this.props, 15799 debug = _this$props3.debug, 15800 run = _this$props3.run, 15801 stepIndex = _this$props3.stepIndex, 15802 steps = _this$props3.steps; 15803 var prevSteps = prevProps.steps, 15804 prevStepIndex = prevProps.stepIndex; 15805 var _this$store = this.store, 15806 setSteps = _this$store.setSteps, 15807 reset = _this$store.reset, 15808 start = _this$store.start, 15809 stop = _this$store.stop, 15810 update = _this$store.update; 15811 15812 var _treeChanges = tree_changes__WEBPACK_IMPORTED_MODULE_2___default()(prevProps, this.props), 15813 changedProps = _treeChanges.changed; 15814 15815 var _treeChanges2 = tree_changes__WEBPACK_IMPORTED_MODULE_2___default()(prevState, this.state), 15816 changed = _treeChanges2.changed, 15817 changedFrom = _treeChanges2.changedFrom, 15818 changedTo = _treeChanges2.changedTo; 15819 15820 var step = getMergedStep(steps[index], this.props); 15821 var stepsChanged = !isEqual(prevSteps, steps); 15822 var stepIndexChanged = is_lite__WEBPACK_IMPORTED_MODULE_3___default.a.number(stepIndex) && changedProps('stepIndex'); 15823 15824 if (stepsChanged) { 15825 if (validateSteps(steps, debug)) { 15826 setSteps(steps); 15827 } else { 15828 console.warn('Steps are not valid', steps); //eslint-disable-line no-console 15829 } 15830 } 15831 /* istanbul ignore else */ 15832 15833 15834 if (changedProps('run')) { 15835 if (run) { 15836 start(stepIndex); 15837 } else { 15838 stop(); 15839 } 15840 } 15841 /* istanbul ignore else */ 15842 15843 15844 if (stepIndexChanged) { 15845 var nextAction = prevStepIndex < stepIndex ? ACTIONS.NEXT : ACTIONS.PREV; 15846 15847 if (action === ACTIONS.STOP) { 15848 nextAction = ACTIONS.START; 15849 } 15850 15851 if (!([STATUS.FINISHED, STATUS.SKIPPED].indexOf(status) !== -1)) { 15852 update({ 15853 action: action === ACTIONS.CLOSE ? ACTIONS.CLOSE : nextAction, 15854 index: stepIndex, 15855 lifecycle: LIFECYCLE.INIT 15856 }); 15857 } 15858 } 15859
15860 var callbackData = _objectSpread2({}, this.state, { 15861 index: index, 15862 step: step 15863 }); 15864 15865 var isAfterAction = changedTo('action', [ACTIONS.NEXT, ACTIONS.PREV, ACTIONS.SKIP, ACTIONS.CLOSE]); 15866 15867 if (isAfterAction && changedTo('status', STATUS.PAUSED)) { 15868 var prevStep = getMergedStep(steps[prevState.index], this.props); 15869 this.callback(_objectSpread2({}, callbackData, { 15870 index: prevState.index, 15871 lifecycle: LIFECYCLE.COMPLETE, 15872 step: prevStep, 15873 type: EVENTS.STEP_AFTER 15874 })); 15875 } 15876 15877 if (changedTo('status', [STATUS.FINISHED, STATUS.SKIPPED])) { 15878 var _prevStep = getMergedStep(steps[prevState.index], this.props); 15879 15880 if (!controlled) { 15881 this.callback(_objectSpread2({}, callbackData, { 15882 index: prevState.index, 15883 lifecycle: LIFECYCLE.COMPLETE, 15884 step: _prevStep, 15885 type: EVENTS.STEP_AFTER 15886 })); 15887 } 15888 15889 this.callback(_objectSpread2({}, callbackData, { 15890 type: EVENTS.TOUR_END, 15891 // Return the last step when the tour is finished 15892 step: _prevStep, 15893 index: prevState.index 15894 })); 15895 reset(); 15896 } else if (changedFrom('status', [STATUS.IDLE, STATUS.READY], STATUS.RUNNING)) { 15897 this.callback(_objectSpread2({}, callbackData, { 15898 type: EVENTS.TOUR_START 15899 })); 15900 } else if (changed('status')) { 15901 this.callback(_objectSpread2({}, callbackData, { 15902 type: EVENTS.TOUR_STATUS 15903 })); 15904 } else if (changedTo('action', ACTIONS.RESET)) { 15905 this.callback(_objectSpread2({}, callbackData, { 15906 type: EVENTS.TOUR_STATUS 15907 })); 15908 } 15909 15910 if (step) { 15911 this.scrollToStep(prevState); 15912 15913 if (step.placement === 'center' && status === STATUS.RUNNING && lifecycle === LIFECYCLE.INIT) { 15914 this.store.update({ 15915 lifecycle: LIFECYCLE.READY 15916 }); 15917 } 15918 } 15919 } 15920 }, { 15921 key: "componentWillUnmount", 15922 value: function componentWillUnmount() { 15923 var disableCloseOnEsc = this.props.disableCloseOnEsc; 15924 /* istanbul ignore else */ 15925 15926 if (!disableCloseOnEsc) { 15927 document.body.removeEventListener('keydown', this.handleKeyboard); 15928 } 15929 } 15930 }, { 15931 key: "scrollToStep", 15932 value: function scrollToStep(prevState) { 15933 var _this$state3 = this.state, 15934 index = _this$state3.index, 15935 lifecycle = _this$state3.lifecycle, 15936 status = _this$state3.status; 15937 var _this$props4 = this.props, 15938 debug = _this$props4.debug, 15939 disableScrolling = _this$props4.disableScrolling, 15940 disableScrollParentFix = _this$props4.disableScrollParentFix, 15941 scrollToFirstStep = _this$props4.scrollToFirstStep, 15942 scrollOffset = _this$props4.scrollOffset, 15943 scrollDuration = _this$props4.scrollDuration, 15944 steps = _this$props4.steps; 15945 var step = getMergedStep(steps[index], this.props); 15946 /* istanbul ignore else */ 15947 15948 if (step) { 15949 var target = getElement(step.target); 15950 var shouldScroll = this.shouldScroll(disableScrolling, index, scrollToFirstStep, lifecycle, step, target, prevState); 15951 15952 if (status === STATUS.RUNNING && shouldScroll) { 15953 var hasCustomScroll = hasCustomScrollParent(target, disableScrollParentFix); 15954 var scrollParent = getScrollParent(target, disableScrollParentFix); 15955 var scrollY = Math.floor(getScrollTo(target, scrollOffset, disableScrollParentFix)) || 0; 15956 log({ 15957 title: 'scrollToStep', 15958 data: [{ 15959 key: 'index', 15960 value: index 15961 }, { 15962 key: 'lifecycle', 15963 value: lifecycle 15964 }, { 15965 key: 'status', 15966 value: status 15967 }], 15968 debug: debug 15969 }); 15970 /* istanbul ignore else */ 15971 15972 if (lifecycle === LIFECYCLE.BEACON && this.beaconPopper) { 15973 var _this$beaconPopper = this.beaconPopper, 15974 placement = _this$beaconPopper.placement, 15975 popper = _this$beaconPopper.popper; 15976 /* istanbul ignore else */ 15977 15978 if (!(['bottom'].indexOf(placement) !== -1) && !hasCustomScroll) { 15979 scrollY = Math.floor(popper.top - scrollOffset); 15980 } 15981 } else if (lifecycle === LIFECYCLE.TOOLTIP && this.tooltipPopper) { 15982 var _this$tooltipPopper = this.tooltipPopper, 15983 flipped = _this$tooltipPopper.flipped, 15984 _placement = _this$tooltipPopper.placement, 15985 _popper = _this$tooltipPopper.popper; 15986 15987 if (['top', 'right', 'left'].indexOf(_placement) !== -1 && !flipped && !hasCustomScroll) { 15988 scrollY = Math.floor(_popper.top - scrollOffset); 15989 } else { 15990 scrollY -= step.spotlightPadding; 15991 } 15992 } 15993 15994 scrollY = scrollY >= 0 ? scrollY : 0; 15995 /* istanbul ignore else */ 15996 15997 if (status === STATUS.RUNNING) { 15998 scrollTo(scrollY, scrollParent, scrollDuration); 15999 } 16000 } 16001 } 16002 } 16003 /** 16004 * Trigger the callback. 16005 * 16006 * @private 16007 * @param {Object} data 16008 */ 16009 16010 }, { 16011 key: "render", 16012 value: function render() { 16013 if (!canUseDOM) return null; 16014 var _this$state4 = this.state, 16015 index = _this$state4.index, 16016 status = _this$state4.status; 16017 var _this$props5 = this.props, 16018 continuous = _this$props5.continuous, 16019 debug = _this$props5.debug, 16020 disableScrolling = _this$props5.disableScrolling, 16021 scrollToFirstStep = _this$props5.scrollToFirstStep, 16022 steps = _this$props5.steps; 16023 var step = getMergedStep(steps[index], this.props); 16024 var output; 16025 16026 if (status === STATUS.RUNNING && step) { 16027 output = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(JoyrideStep, _extends({}, this.state, { 16028 callback: this.callback, 16029 continuous: continuous, 16030 debug: debug, 16031 setPopper: this.setPopper, 16032 helpers: this.helpers, 16033 shouldScroll: !disableScrolling && (index !== 0 || scrollToFirstStep), 16034 step: step, 16035 update: this.store.update 16036 })); 16037 } 16038 16039 return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { 16040 className: "react-joyride" 16041 }, output); 16042 } 16043 }]); 16044 16045 return Joyride; 16046}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component); 16047 16048_defineProperty(Joyride, "defaultProps", { 16049 continuous: false, 16050 debug: false, 16051 disableCloseOnEsc: false,
16052 disableOverlay: false, 16053 disableOverlayClose: false, 16054 disableScrolling: false, 16055 disableScrollParentFix: false, 16056 getHelpers: function getHelpers() {}, 16057 hideBackButton: false, 16058 run: true, 16059 scrollOffset: 20, 16060 scrollDuration: 300, 16061 scrollToFirstStep: false, 16062 showSkipButton: false, 16063 showProgress: false, 16064 spotlightClicks: false, 16065 spotlightPadding: 10, 16066 steps: [] 16067}); 16068 16069/* harmony default export */ __webpack_exports__["default"] = (Joyride); 16070 16071 16072 16073/***/ }), 16074/* 82 */ 16075/***/ (function(module, exports, __webpack_require__) { 16076 16077var __WEBPACK_AMD_DEFINE_RESULT__;;(function(root, factory) { // eslint-disable-line no-extra-semi 16078 var deepDiff = factory(root); 16079 // eslint-disable-next-line no-undef 16080 if (true) { 16081 // AMD 16082 !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() { // eslint-disable-line no-undef 16083 return deepDiff; 16084 }).call(exports, __webpack_require__, exports, module), 16085 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 16086 } else { var _deepdiff;
vendor: 14,671 bytes, lines 16086-16590
16086 } 16087}(this, function(root) { 16088 var validKinds = ['N', 'E', 'A', 'D']; 16089 16090 // nodejs compatible on server side and in the browser. 16091 function inherits(ctor, superCtor) { 16092 ctor.super_ = superCtor; 16093 ctor.prototype = Object.create(superCtor.prototype, { 16094 constructor: { 16095 value: ctor, 16096 enumerable: false, 16097 writable: true, 16098 configurable: true 16099 } 16100 }); 16101 } 16102 16103 function Diff(kind, path) { 16104 Object.defineProperty(this, 'kind', { 16105 value: kind, 16106 enumerable: true 16107 }); 16108 if (path && path.length) { 16109 Object.defineProperty(this, 'path', { 16110 value: path, 16111 enumerable: true 16112 }); 16113 } 16114 } 16115 16116 function DiffEdit(path, origin, value) { 16117 DiffEdit.super_.call(this, 'E', path); 16118 Object.defineProperty(this, 'lhs', { 16119 value: origin, 16120 enumerable: true 16121 }); 16122 Object.defineProperty(this, 'rhs', { 16123 value: value, 16124 enumerable: true 16125 }); 16126 } 16127 inherits(DiffEdit, Diff); 16128 16129 function DiffNew(path, value) { 16130 DiffNew.super_.call(this, 'N', path); 16131 Object.defineProperty(this, 'rhs', { 16132 value: value, 16133 enumerable: true 16134 }); 16135 } 16136 inherits(DiffNew, Diff); 16137 16138 function DiffDeleted(path, value) { 16139 DiffDeleted.super_.call(this, 'D', path); 16140 Object.defineProperty(this, 'lhs', { 16141 value: value, 16142 enumerable: true 16143 }); 16144 } 16145 inherits(DiffDeleted, Diff); 16146 16147 function DiffArray(path, index, item) { 16148 DiffArray.super_.call(this, 'A', path); 16149 Object.defineProperty(this, 'index', { 16150 value: index, 16151 enumerable: true 16152 }); 16153 Object.defineProperty(this, 'item', { 16154 value: item, 16155 enumerable: true 16156 }); 16157 } 16158 inherits(DiffArray, Diff); 16159 16160 function arrayRemove(arr, from, to) { 16161 var rest = arr.slice((to || from) + 1 || arr.length); 16162 arr.length = from < 0 ? arr.length + from : from; 16163 arr.push.apply(arr, rest); 16164 return arr; 16165 } 16166 16167 function realTypeOf(subject) { 16168 var type = typeof subject; 16169 if (type !== 'object') { 16170 return type; 16171 } 16172 16173 if (subject === Math) { 16174 return 'math'; 16175 } else if (subject === null) { 16176 return 'null'; 16177 } else if (Array.isArray(subject)) { 16178 return 'array'; 16179 } else if (Object.prototype.toString.call(subject) === '[object Date]') { 16180 return 'date'; 16181 } else if (typeof subject.toString === 'function' && /^\/.*\//.test(subject.toString())) { 16182 return 'regexp'; 16183 } 16184 return 'object'; 16185 } 16186 16187 // http://werxltd.com/wp/2010/05/13/javascript-implementation-of-javas-string-hashcode-method/ 16188 function hashThisString(string) { 16189 var hash = 0; 16190 if (string.length === 0) { return hash; } 16191 for (var i = 0; i < string.length; i++) { 16192 var char = string.charCodeAt(i); 16193 hash = ((hash << 5) - hash) + char; 16194 hash = hash & hash; // Convert to 32bit integer 16195 } 16196 return hash; 16197 } 16198 16199 // Gets a hash of the given object in an array order-independent fashion 16200 // also object key order independent (easier since they can be alphabetized) 16201 function getOrderIndependentHash(object) { 16202 var accum = 0; 16203 var type = realTypeOf(object); 16204 16205 if (type === 'array') { 16206 object.forEach(function (item) { 16207 // Addition is commutative so this is order indep 16208 accum += getOrderIndependentHash(item); 16209 }); 16210 16211 var arrayString = '[type: array, hash: ' + accum + ']'; 16212 return accum + hashThisString(arrayString); 16213 } 16214 16215 if (type === 'object') { 16216 for (var key in object) { 16217 if (object.hasOwnProperty(key)) { 16218 var keyValueString = '[ type: object, key: ' + key + ', value hash: ' + getOrderIndependentHash(object[key]) + ']'; 16219 accum += hashThisString(keyValueString); 16220 } 16221 } 16222 16223 return accum; 16224 } 16225 16226 // Non object, non array...should be good? 16227 var stringToHash = '[ type: ' + type + ' ; value: ' + object + ']'; 16228 return accum + hashThisString(stringToHash); 16229 } 16230 16231 function deepDiff(lhs, rhs, changes, prefilter, path, key, stack, orderIndependent) { 16232 changes = changes || []; 16233 path = path || []; 16234 stack = stack || []; 16235 var currentPath = path.slice(0); 16236 if (typeof key !== 'undefined' && key !== null) { 16237 if (prefilter) { 16238 if (typeof (prefilter) === 'function' && prefilter(currentPath, key)) { 16239 return; 16240 } else if (typeof (prefilter) === 'object') { 16241 if (prefilter.prefilter && prefilter.prefilter(currentPath, key)) { 16242 return; 16243 } 16244 if (prefilter.normalize) { 16245 var alt = prefilter.normalize(currentPath, key, lhs, rhs); 16246 if (alt) { 16247 lhs = alt[0]; 16248 rhs = alt[1]; 16249 } 16250 } 16251 } 16252 } 16253 currentPath.push(key); 16254 } 16255 16256 // Use string comparison for regexes 16257 if (realTypeOf(lhs) === 'regexp' && realTypeOf(rhs) === 'regexp') { 16258 lhs = lhs.toString(); 16259 rhs = rhs.toString(); 16260 } 16261 16262 var ltype = typeof lhs; 16263 var rtype = typeof rhs; 16264 var i, j, k, other; 16265 16266 var ldefined = ltype !== 'undefined' || 16267 (stack && (stack.length > 0) && stack[stack.length - 1].lhs && 16268 Object.getOwnPropertyDescriptor(stack[stack.length - 1].lhs, key)); 16269 var rdefined = rtype !== 'undefined' || 16270 (stack && (stack.length > 0) && stack[stack.length - 1].rhs && 16271 Object.getOwnPropertyDescriptor(stack[stack.length - 1].rhs, key)); 16272 16273 if (!ldefined && rdefined) { 16274 changes.push(new DiffNew(currentPath, rhs)); 16275 } else if (!rdefined && ldefined) { 16276 changes.push(new DiffDeleted(currentPath, lhs)); 16277 } else if (realTypeOf(lhs) !== realTypeOf(rhs)) { 16278 changes.push(new DiffEdit(currentPath, lhs, rhs)); 16279 } else if (realTypeOf(lhs) === 'date' && (lhs - rhs) !== 0) { 16280 changes.push(new DiffEdit(currentPath, lhs, rhs)); 16281 } else if (ltype === 'object' && lhs !== null && rhs !== null) { 16282 for (i = stack.length - 1; i > -1; --i) { 16283 if (stack[i].lhs === lhs) { 16284 other = true; 16285 break; 16286 } 16287 } 16288 if (!other) { 16289 stack.push({ lhs: lhs, rhs: rhs }); 16290 if (Array.isArray(lhs)) { 16291 // If order doesn't matter, we need to sort our arrays 16292 if (orderIndependent) { 16293 lhs.sort(function (a, b) { 16294 return getOrderIndependentHash(a) - getOrderIndependentHash(b); 16295 }); 16296 16297 rhs.sort(function (a, b) { 16298 return getOrderIndependentHash(a) - getOrderIndependentHash(b); 16299 }); 16300 } 16301 i = rhs.length - 1; 16302 j = lhs.length - 1; 16303 while (i > j) { 16304 changes.push(new DiffArray(currentPath, i, new DiffNew(undefined, rhs[i--]))); 16305 } 16306 while (j > i) { 16307 changes.push(new DiffArray(currentPath, j, new DiffDeleted(undefined, lhs[j--]))); 16308 } 16309 for (; i >= 0; --i) { 16310 deepDiff(lhs[i], rhs[i], changes, prefilter, currentPath, i, stack, orderIndependent); 16311 } 16312 } else { 16313 var akeys = Object.keys(lhs); 16314 var pkeys = Object.keys(rhs); 16315 for (i = 0; i < akeys.length; ++i) { 16316 k = akeys[i]; 16317 other = pkeys.indexOf(k); 16318 if (other >= 0) { 16319 deepDiff(lhs[k], rhs[k], changes, prefilter, currentPath, k, stack, orderIndependent); 16320 pkeys[other] = null; 16321 } else { 16322 deepDiff(lhs[k], undefined, changes, prefilter, currentPath, k, stack, orderIndependent); 16323 } 16324 } 16325 for (i = 0; i < pkeys.length; ++i) { 16326 k = pkeys[i]; 16327 if (k) { 16328 deepDiff(undefined, rhs[k], changes, prefilter, currentPath, k, stack, orderIndependent); 16329 } 16330 } 16331 } 16332 stack.length = stack.length - 1; 16333 } else if (lhs !== rhs) { 16334 // lhs is contains a cycle at this element and it differs from rhs 16335 changes.push(new DiffEdit(currentPath, lhs, rhs)); 16336 } 16337 } else if (lhs !== rhs) { 16338 if (!(ltype === 'number' && isNaN(lhs) && isNaN(rhs))) { 16339 changes.push(new DiffEdit(currentPath, lhs, rhs)); 16340 } 16341 } 16342 } 16343 16344 function observableDiff(lhs, rhs, observer, prefilter, orderIndependent) { 16345 var changes = []; 16346 deepDiff(lhs, rhs, changes, prefilter, null, null, null, orderIndependent); 16347 if (observer) { 16348 for (var i = 0; i < changes.length; ++i) { 16349 observer(changes[i]); 16350 } 16351 } 16352 return changes; 16353 } 16354 16355 function orderIndependentDeepDiff(lhs, rhs, changes, prefilter, path, key, stack) { 16356 return deepDiff(lhs, rhs, changes, prefilter, path, key, stack, true); 16357 } 16358 16359 function accumulateDiff(lhs, rhs, prefilter, accum) { 16360 var observer = (accum) ? 16361 function (difference) { 16362 if (difference) { 16363 accum.push(difference); 16364 } 16365 } : undefined; 16366 var changes = observableDiff(lhs, rhs, observer, prefilter); 16367 return (accum) ? accum : (changes.length) ? changes : undefined; 16368 } 16369 16370 function accumulateOrderIndependentDiff(lhs, rhs, prefilter, accum) { 16371 var observer = (accum) ? 16372 function (difference) { 16373 if (difference) { 16374 accum.push(difference); 16375 } 16376 } : undefined; 16377 var changes = observableDiff(lhs, rhs, observer, prefilter, true); 16378 return (accum) ? accum : (changes.length) ? changes : undefined; 16379 } 16380 16381 function applyArrayChange(arr, index, change) { 16382 if (change.path && change.path.length) { 16383 var it = arr[index], 16384 i, u = change.path.length - 1; 16385 for (i = 0; i < u; i++) { 16386 it = it[change.path[i]]; 16387 } 16388 switch (change.kind) { 16389 case 'A': 16390 applyArrayChange(it[change.path[i]], change.index, change.item); 16391 break; 16392 case 'D': 16393 delete it[change.path[i]]; 16394 break; 16395 case 'E': 16396 case 'N': 16397 it[change.path[i]] = change.rhs; 16398 break; 16399 } 16400 } else { 16401 switch (change.kind) { 16402 case 'A': 16403 applyArrayChange(arr[index], change.index, change.item); 16404 break; 16405 case 'D': 16406 arr = arrayRemove(arr, index); 16407 break; 16408 case 'E': 16409 case 'N': 16410 arr[index] = change.rhs; 16411 break; 16412 } 16413 } 16414 return arr; 16415 } 16416 16417 function applyChange(target, source, change) { 16418 if (typeof change === 'undefined' && source && ~validKinds.indexOf(source.kind)) { 16419 change = source; 16420 } 16421 if (target && change && change.kind) { 16422 var it = target, 16423 i = -1, 16424 last = change.path ? change.path.length - 1 : 0; 16425 while (++i < last) { 16426 if (typeof it[change.path[i]] === 'undefined') { 16427 it[change.path[i]] = (typeof change.path[i + 1] !== 'undefined' && typeof change.path[i + 1] === 'number') ? [] : {}; 16428 } 16429 it = it[change.path[i]]; 16430 } 16431 switch (change.kind) { 16432 case 'A': 16433 if (change.path && typeof it[change.path[i]] === 'undefined') { 16434 it[change.path[i]] = []; 16435 } 16436 applyArrayChange(change.path ? it[change.path[i]] : it, change.index, change.item); 16437 break; 16438 case 'D': 16439 delete it[change.path[i]]; 16440 break; 16441 case 'E': 16442 case 'N': 16443 it[change.path[i]] = change.rhs; 16444 break; 16445 } 16446 } 16447 } 16448 16449 function revertArrayChange(arr, index, change) { 16450 if (change.path && change.path.length) { 16451 // the structure of the object at the index has changed... 16452 var it = arr[index], 16453 i, u = change.path.length - 1; 16454 for (i = 0; i < u; i++) { 16455 it = it[change.path[i]]; 16456 } 16457 switch (change.kind) { 16458 case 'A': 16459 revertArrayChange(it[change.path[i]], change.index, change.item); 16460 break; 16461 case 'D': 16462 it[change.path[i]] = change.lhs; 16463 break; 16464 case 'E': 16465 it[change.path[i]] = change.lhs; 16466 break; 16467 case 'N': 16468 delete it[change.path[i]]; 16469 break; 16470 } 16471 } else { 16472 // the array item is different... 16473 switch (change.kind) { 16474 case 'A': 16475 revertArrayChange(arr[index], change.index, change.item); 16476 break; 16477 case 'D': 16478 arr[index] = change.lhs; 16479 break; 16480 case 'E': 16481 arr[index] = change.lhs; 16482 break; 16483 case 'N': 16484 arr = arrayRemove(arr, index); 16485 break; 16486 } 16487 } 16488 return arr; 16489 } 16490 16491 function revertChange(target, source, change) { 16492 if (target && source && change && change.kind) { 16493 var it = target, 16494 i, u; 16495 u = change.path.length - 1; 16496 for (i = 0; i < u; i++) { 16497 if (typeof it[change.path[i]] === 'undefined') { 16498 it[change.path[i]] = {}; 16499 } 16500 it = it[change.path[i]]; 16501 } 16502 switch (change.kind) { 16503 case 'A': 16504 // Array was modified... 16505 // it will be an array... 16506 revertArrayChange(it[change.path[i]], change.index, change.item); 16507 break; 16508 case 'D': 16509 // Item was deleted... 16510 it[change.path[i]] = change.lhs; 16511 break; 16512 case 'E': 16513 // Item was edited... 16514 it[change.path[i]] = change.lhs; 16515 break; 16516 case 'N': 16517 // Item is new... 16518 delete it[change.path[i]]; 16519 break; 16520 } 16521 } 16522 } 16523 16524 function applyDiff(target, source, filter) { 16525 if (target && source) { 16526 var onChange = function (change) { 16527 if (!filter || filter(target, source, change)) { 16528 applyChange(target, source, change); 16529 } 16530 }; 16531 observableDiff(target, source, onChange); 16532 } 16533 } 16534 16535 Object.defineProperties(accumulateDiff, { 16536 16537 diff: { 16538 value: accumulateDiff, 16539 enumerable: true 16540 }, 16541 orderIndependentDiff: { 16542 value: accumulateOrderIndependentDiff, 16543 enumerable: true 16544 }, 16545 observableDiff: { 16546 value: observableDiff, 16547 enumerable: true 16548 }, 16549 orderIndependentObservableDiff: { 16550 value: orderIndependentDeepDiff, 16551 enumerable: true 16552 }, 16553 orderIndepHash: { 16554 value: getOrderIndependentHash, 16555 enumerable: true 16556 }, 16557 applyDiff: { 16558 value: applyDiff, 16559 enumerable: true 16560 }, 16561 applyChange: { 16562 value: applyChange, 16563 enumerable: true 16564 }, 16565 revertChange: { 16566 value: revertChange, 16567 enumerable: true 16568 }, 16569 isConflict: { 16570 value: function () { 16571 return typeof $conflict !== 'undefined'; 16572 }, 16573 enumerable: true 16574 } 16575 }); 16576 16577 // hackish... 16578 accumulateDiff.DeepDiff = accumulateDiff; 16579 // ...but works with: 16580 // import DeepDiff from 'deep-diff' 16581 // import { DeepDiff } from 'deep-diff' 16582 // const DeepDiff = require('deep-diff'); 16583 // const { DeepDiff } = require('deep-diff'); 16584 16585 if (root) { 16586 root.DeepDiff = accumulateDiff; 16587 } 16588 16589 return accumulateDiff; 16590}));
16591 16592 16593/***/ }), 16594/* 83 */ 16595/***/ (function(module, exports, __webpack_require__) { 16596 16597"use strict"; 16598/** 16599* @license nested-property https://github.com/cosmosio/nested-property 16600* 16601* The MIT License (MIT) 16602* 16603* Copyright (c) 2014-2015 Olivier Scherrer <[email protected]> 16604*/ 16605 16606 16607module.exports = { 16608 set: setNestedProperty, 16609 get: getNestedProperty, 16610 has: hasNestedProperty, 16611 hasOwn: function (object, property, options) { 16612 return this.has(object, property, options || {own: true}); 16613 }, 16614 isIn: isInNestedProperty 16615}; 16616 16617/** 16618 * Get the property of an object nested in one or more objects 16619 * given an object such as a.b.c.d = 5, getNestedProperty(a, "b.c.d") will return 5. 16620 * @param {Object} object the object to get the property from 16621 * @param {String} property the path to the property as a string 16622 * @returns the object or the the property value if found 16623 */ 16624function getNestedProperty(object, property) { 16625 if (object && typeof object == "object") { 16626 if (typeof property == "string" && property !== "") { 16627 var split = property.split("."); 16628 return split.reduce(function (obj, prop) { 16629 return obj && obj[prop]; 16630 }, object); 16631 } else if (typeof property == "number") { 16632 return object[property]; 16633 } else { 16634 return object; 16635 } 16636 } else { 16637 return object; 16638 } 16639} 16640 16641/** 16642 * Tell if a nested object has a given property (or array a given index) 16643 * given an object such as a.b.c.d = 5, hasNestedProperty(a, "b.c.d") will return true. 16644 * It also returns true if the property is in the prototype chain. 16645 * @param {Object} object the object to get the property from 16646 * @param {String} property the path to the property as a string 16647 * @param {Object} options: 16648 * - own: set to reject properties from the prototype 16649 * @returns true if has (property in object), false otherwise 16650 */ 16651function hasNestedProperty(object, property, options) { 16652 options = options || {}; 16653 16654 if (object && typeof object == "object") { 16655 if (typeof property == "string" && property !== "") { 16656 var split = property.split("."); 16657 return split.reduce(function (obj, prop, idx, array) { 16658 if (idx == array.length - 1) { 16659 if (options.own) { 16660 return !!(obj && obj.hasOwnProperty(prop)); 16661 } else { 16662 return !!(obj !== null && typeof obj == "object" && prop in obj); 16663 } 16664 } 16665 return obj && obj[prop]; 16666 }, object); 16667 } else if (typeof property == "number") { 16668 return property in object; 16669 } else { 16670 return false; 16671 } 16672 } else { 16673 return false; 16674 } 16675} 16676 16677/** 16678 * Set the property of an object nested in one or more objects 16679 * If the property doesn't exist, it gets created. 16680 * @param {Object} object 16681 * @param {String} property 16682 * @param value the value to set 16683 * @returns object if no assignment was made or the value if the assignment was made 16684 */ 16685function setNestedProperty(object, property, value) { 16686 if (object && typeof object == "object") { 16687 if (typeof property == "string" && property !== "") { 16688 var split = property.split("."); 16689 return split.reduce(function (obj, prop, idx) { 16690 const nextPropIsNumber = Number.isInteger(Number(split[idx + 1])); 16691 16692 obj[prop] = obj[prop] || (nextPropIsNumber ? [] : {}) 16693 if (split.length == (idx + 1)) { 16694 obj[prop] = value; 16695 } 16696 return obj[prop]; 16697 }, object); 16698 } else if (typeof property == "number") { 16699 object[property] = value; 16700 return object[property]; 16701 } else { 16702 return object; 16703 } 16704 } else { 16705 return object; 16706 } 16707} 16708 16709/** 16710 * Tell if an object is on the path to a nested property 16711 * If the object is on the path, and the path exists, it returns true, and false otherwise. 16712 * @param {Object} object to get the nested property from 16713 * @param {String} property name of the nested property 16714 * @param {Object} objectInPath the object to check 16715 * @param {Object} options:
16716 * - validPath: return false if the path is invalid, even if the object is in the path 16717 * @returns {boolean} true if the object is on the path 16718 */ 16719function isInNestedProperty(object, property, objectInPath, options) { 16720 options = options || {}; 16721 16722 if (object && typeof object == "object") { 16723 if (typeof property == "string" && property !== "") { 16724 var split = property.split("."), 16725 isIn = false, 16726 pathExists; 16727 16728 pathExists = !!split.reduce(function (obj, prop) { 16729 isIn = isIn || obj === objectInPath || (!!obj && obj[prop] === objectInPath); 16730 return obj && obj[prop]; 16731 }, object); 16732 16733 if (options.validPath) { 16734 return isIn && pathExists; 16735 } else { 16736 return isIn; 16737 } 16738 } else { 16739 return false; 16740 } 16741 } else { 16742 return false; 16743 } 16744} 16745 16746 16747/***/ }) 16748/******/ ]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.