[ Index ] |
PHP Cross Reference of WordPress |
[Summary view] [Print] [Text view]
1 /******/ (function() { // webpackBootstrap 2 /******/ var __webpack_modules__ = ({ 3 4 /***/ 5096: 5 /***/ (function(module) { 6 7 "use strict"; 8 9 10 function noop() { 11 return null; 12 } 13 14 noop.isRequired = noop; 15 16 function noopThunk() { 17 return noop; 18 } 19 20 module.exports = { 21 and: noopThunk, 22 between: noopThunk, 23 booleanSome: noopThunk, 24 childrenHavePropXorChildren: noopThunk, 25 childrenOf: noopThunk, 26 childrenOfType: noopThunk, 27 childrenSequenceOf: noopThunk, 28 componentWithName: noopThunk, 29 disallowedIf: noopThunk, 30 elementType: noopThunk, 31 empty: noopThunk, 32 explicitNull: noopThunk, 33 forbidExtraProps: Object, 34 integer: noopThunk, 35 keysOf: noopThunk, 36 mutuallyExclusiveProps: noopThunk, 37 mutuallyExclusiveTrueProps: noopThunk, 38 nChildren: noopThunk, 39 nonNegativeInteger: noop, 40 nonNegativeNumber: noopThunk, 41 numericString: noopThunk, 42 object: noopThunk, 43 or: noopThunk, 44 predicate: noopThunk, 45 range: noopThunk, 46 ref: noopThunk, 47 requiredBy: noopThunk, 48 restrictedProp: noopThunk, 49 sequenceOf: noopThunk, 50 shape: noopThunk, 51 stringEndsWith: noopThunk, 52 stringStartsWith: noopThunk, 53 uniqueArray: noopThunk, 54 uniqueArrayOf: noopThunk, 55 valuesOf: noopThunk, 56 withShape: noopThunk 57 }; 58 59 60 /***/ }), 61 62 /***/ 4882: 63 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 64 65 module.exports = true ? __webpack_require__(5096) : 0; 66 67 68 69 /***/ }), 70 71 /***/ 4485: 72 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 73 74 "use strict"; 75 76 77 var ArraySpeciesCreate = __webpack_require__(1539); 78 var FlattenIntoArray = __webpack_require__(6739); 79 var Get = __webpack_require__(6448); 80 var ToIntegerOrInfinity = __webpack_require__(1723); 81 var ToLength = __webpack_require__(6840); 82 var ToObject = __webpack_require__(1283); 83 84 module.exports = function flat() { 85 var O = ToObject(this); 86 var sourceLen = ToLength(Get(O, 'length')); 87 88 var depthNum = 1; 89 if (arguments.length > 0 && typeof arguments[0] !== 'undefined') { 90 depthNum = ToIntegerOrInfinity(arguments[0]); 91 } 92 93 var A = ArraySpeciesCreate(O, 0); 94 FlattenIntoArray(A, O, sourceLen, 0, depthNum); 95 return A; 96 }; 97 98 99 /***/ }), 100 101 /***/ 116: 102 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 103 104 "use strict"; 105 106 107 var define = __webpack_require__(9170); 108 var callBind = __webpack_require__(9961); 109 110 var implementation = __webpack_require__(4485); 111 var getPolyfill = __webpack_require__(616); 112 var polyfill = getPolyfill(); 113 var shim = __webpack_require__(2059); 114 115 var boundFlat = callBind(polyfill); 116 117 define(boundFlat, { 118 getPolyfill: getPolyfill, 119 implementation: implementation, 120 shim: shim 121 }); 122 123 module.exports = boundFlat; 124 125 126 /***/ }), 127 128 /***/ 9630: 129 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 130 131 "use strict"; 132 133 134 var GetIntrinsic = __webpack_require__(1801); 135 136 var callBind = __webpack_require__(9961); 137 138 var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf')); 139 140 module.exports = function callBoundIntrinsic(name, allowMissing) { 141 var intrinsic = GetIntrinsic(name, !!allowMissing); 142 if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) { 143 return callBind(intrinsic); 144 } 145 return intrinsic; 146 }; 147 148 149 /***/ }), 150 151 /***/ 9961: 152 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 153 154 "use strict"; 155 156 157 var bind = __webpack_require__(1930); 158 var GetIntrinsic = __webpack_require__(1801); 159 160 var $apply = GetIntrinsic('%Function.prototype.apply%'); 161 var $call = GetIntrinsic('%Function.prototype.call%'); 162 var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply); 163 164 var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true); 165 var $defineProperty = GetIntrinsic('%Object.defineProperty%', true); 166 var $max = GetIntrinsic('%Math.max%'); 167 168 if ($defineProperty) { 169 try { 170 $defineProperty({}, 'a', { value: 1 }); 171 } catch (e) { 172 // IE 8 has a broken defineProperty 173 $defineProperty = null; 174 } 175 } 176 177 module.exports = function callBind(originalFunction) { 178 var func = $reflectApply(bind, $call, arguments); 179 if ($gOPD && $defineProperty) { 180 var desc = $gOPD(func, 'length'); 181 if (desc.configurable) { 182 // original length, plus the receiver, minus any additional arguments (after the receiver) 183 $defineProperty( 184 func, 185 'length', 186 { value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) } 187 ); 188 } 189 } 190 return func; 191 }; 192 193 var applyBind = function applyBind() { 194 return $reflectApply(bind, $apply, arguments); 195 }; 196 197 if ($defineProperty) { 198 $defineProperty(module.exports, 'apply', { value: applyBind }); 199 } else { 200 module.exports.apply = applyBind; 201 } 202 203 204 /***/ }), 205 206 /***/ 4219: 207 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 208 209 "use strict"; 210 211 212 var undefined; 213 214 var $SyntaxError = SyntaxError; 215 var $Function = Function; 216 var $TypeError = TypeError; 217 218 // eslint-disable-next-line consistent-return 219 var getEvalledConstructor = function (expressionSyntax) { 220 try { 221 return $Function('"use strict"; return (' + expressionSyntax + ').constructor;')(); 222 } catch (e) {} 223 }; 224 225 var $gOPD = Object.getOwnPropertyDescriptor; 226 if ($gOPD) { 227 try { 228 $gOPD({}, ''); 229 } catch (e) { 230 $gOPD = null; // this is IE 8, which has a broken gOPD 231 } 232 } 233 234 var throwTypeError = function () { 235 throw new $TypeError(); 236 }; 237 var ThrowTypeError = $gOPD 238 ? (function () { 239 try { 240 // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties 241 arguments.callee; // IE 8 does not throw here 242 return throwTypeError; 243 } catch (calleeThrows) { 244 try { 245 // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '') 246 return $gOPD(arguments, 'callee').get; 247 } catch (gOPDthrows) { 248 return throwTypeError; 249 } 250 } 251 }()) 252 : throwTypeError; 253 254 var hasSymbols = __webpack_require__(9828)(); 255 256 var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto 257 258 var needsEval = {}; 259 260 var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array); 261 262 var INTRINSICS = { 263 '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError, 264 '%Array%': Array, 265 '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer, 266 '%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined, 267 '%AsyncFromSyncIteratorPrototype%': undefined, 268 '%AsyncFunction%': needsEval, 269 '%AsyncGenerator%': needsEval, 270 '%AsyncGeneratorFunction%': needsEval, 271 '%AsyncIteratorPrototype%': needsEval, 272 '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics, 273 '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt, 274 '%Boolean%': Boolean, 275 '%DataView%': typeof DataView === 'undefined' ? undefined : DataView, 276 '%Date%': Date, 277 '%decodeURI%': decodeURI, 278 '%decodeURIComponent%': decodeURIComponent, 279 '%encodeURI%': encodeURI, 280 '%encodeURIComponent%': encodeURIComponent, 281 '%Error%': Error, 282 '%eval%': eval, // eslint-disable-line no-eval 283 '%EvalError%': EvalError, 284 '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array, 285 '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array, 286 '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry, 287 '%Function%': $Function, 288 '%GeneratorFunction%': needsEval, 289 '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array, 290 '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array, 291 '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array, 292 '%isFinite%': isFinite, 293 '%isNaN%': isNaN, 294 '%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined, 295 '%JSON%': typeof JSON === 'object' ? JSON : undefined, 296 '%Map%': typeof Map === 'undefined' ? undefined : Map, 297 '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()), 298 '%Math%': Math, 299 '%Number%': Number, 300 '%Object%': Object, 301 '%parseFloat%': parseFloat, 302 '%parseInt%': parseInt, 303 '%Promise%': typeof Promise === 'undefined' ? undefined : Promise, 304 '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy, 305 '%RangeError%': RangeError, 306 '%ReferenceError%': ReferenceError, 307 '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect, 308 '%RegExp%': RegExp, 309 '%Set%': typeof Set === 'undefined' ? undefined : Set, 310 '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()), 311 '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer, 312 '%String%': String, 313 '%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined, 314 '%Symbol%': hasSymbols ? Symbol : undefined, 315 '%SyntaxError%': $SyntaxError, 316 '%ThrowTypeError%': ThrowTypeError, 317 '%TypedArray%': TypedArray, 318 '%TypeError%': $TypeError, 319 '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array, 320 '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray, 321 '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array, 322 '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array, 323 '%URIError%': URIError, 324 '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap, 325 '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef, 326 '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet 327 }; 328 329 var doEval = function doEval(name) { 330 var value; 331 if (name === '%AsyncFunction%') { 332 value = getEvalledConstructor('async function () {}'); 333 } else if (name === '%GeneratorFunction%') { 334 value = getEvalledConstructor('function* () {}'); 335 } else if (name === '%AsyncGeneratorFunction%') { 336 value = getEvalledConstructor('async function* () {}'); 337 } else if (name === '%AsyncGenerator%') { 338 var fn = doEval('%AsyncGeneratorFunction%'); 339 if (fn) { 340 value = fn.prototype; 341 } 342 } else if (name === '%AsyncIteratorPrototype%') { 343 var gen = doEval('%AsyncGenerator%'); 344 if (gen) { 345 value = getProto(gen.prototype); 346 } 347 } 348 349 INTRINSICS[name] = value; 350 351 return value; 352 }; 353 354 var LEGACY_ALIASES = { 355 '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'], 356 '%ArrayPrototype%': ['Array', 'prototype'], 357 '%ArrayProto_entries%': ['Array', 'prototype', 'entries'], 358 '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'], 359 '%ArrayProto_keys%': ['Array', 'prototype', 'keys'], 360 '%ArrayProto_values%': ['Array', 'prototype', 'values'], 361 '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'], 362 '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'], 363 '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'], 364 '%BooleanPrototype%': ['Boolean', 'prototype'], 365 '%DataViewPrototype%': ['DataView', 'prototype'], 366 '%DatePrototype%': ['Date', 'prototype'], 367 '%ErrorPrototype%': ['Error', 'prototype'], 368 '%EvalErrorPrototype%': ['EvalError', 'prototype'], 369 '%Float32ArrayPrototype%': ['Float32Array', 'prototype'], 370 '%Float64ArrayPrototype%': ['Float64Array', 'prototype'], 371 '%FunctionPrototype%': ['Function', 'prototype'], 372 '%Generator%': ['GeneratorFunction', 'prototype'], 373 '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'], 374 '%Int8ArrayPrototype%': ['Int8Array', 'prototype'], 375 '%Int16ArrayPrototype%': ['Int16Array', 'prototype'], 376 '%Int32ArrayPrototype%': ['Int32Array', 'prototype'], 377 '%JSONParse%': ['JSON', 'parse'], 378 '%JSONStringify%': ['JSON', 'stringify'], 379 '%MapPrototype%': ['Map', 'prototype'], 380 '%NumberPrototype%': ['Number', 'prototype'], 381 '%ObjectPrototype%': ['Object', 'prototype'], 382 '%ObjProto_toString%': ['Object', 'prototype', 'toString'], 383 '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'], 384 '%PromisePrototype%': ['Promise', 'prototype'], 385 '%PromiseProto_then%': ['Promise', 'prototype', 'then'], 386 '%Promise_all%': ['Promise', 'all'], 387 '%Promise_reject%': ['Promise', 'reject'], 388 '%Promise_resolve%': ['Promise', 'resolve'], 389 '%RangeErrorPrototype%': ['RangeError', 'prototype'], 390 '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'], 391 '%RegExpPrototype%': ['RegExp', 'prototype'], 392 '%SetPrototype%': ['Set', 'prototype'], 393 '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'], 394 '%StringPrototype%': ['String', 'prototype'], 395 '%SymbolPrototype%': ['Symbol', 'prototype'], 396 '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'], 397 '%TypedArrayPrototype%': ['TypedArray', 'prototype'], 398 '%TypeErrorPrototype%': ['TypeError', 'prototype'], 399 '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'], 400 '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'], 401 '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'], 402 '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'], 403 '%URIErrorPrototype%': ['URIError', 'prototype'], 404 '%WeakMapPrototype%': ['WeakMap', 'prototype'], 405 '%WeakSetPrototype%': ['WeakSet', 'prototype'] 406 }; 407 408 var bind = __webpack_require__(1930); 409 var hasOwn = __webpack_require__(9284); 410 var $concat = bind.call(Function.call, Array.prototype.concat); 411 var $spliceApply = bind.call(Function.apply, Array.prototype.splice); 412 var $replace = bind.call(Function.call, String.prototype.replace); 413 var $strSlice = bind.call(Function.call, String.prototype.slice); 414 415 /* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */ 416 var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; 417 var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */ 418 var stringToPath = function stringToPath(string) { 419 var first = $strSlice(string, 0, 1); 420 var last = $strSlice(string, -1); 421 if (first === '%' && last !== '%') { 422 throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`'); 423 } else if (last === '%' && first !== '%') { 424 throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`'); 425 } 426 var result = []; 427 $replace(string, rePropName, function (match, number, quote, subString) { 428 result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match; 429 }); 430 return result; 431 }; 432 /* end adaptation */ 433 434 var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) { 435 var intrinsicName = name; 436 var alias; 437 if (hasOwn(LEGACY_ALIASES, intrinsicName)) { 438 alias = LEGACY_ALIASES[intrinsicName]; 439 intrinsicName = '%' + alias[0] + '%'; 440 } 441 442 if (hasOwn(INTRINSICS, intrinsicName)) { 443 var value = INTRINSICS[intrinsicName]; 444 if (value === needsEval) { 445 value = doEval(intrinsicName); 446 } 447 if (typeof value === 'undefined' && !allowMissing) { 448 throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!'); 449 } 450 451 return { 452 alias: alias, 453 name: intrinsicName, 454 value: value 455 }; 456 } 457 458 throw new $SyntaxError('intrinsic ' + name + ' does not exist!'); 459 }; 460 461 module.exports = function GetIntrinsic(name, allowMissing) { 462 if (typeof name !== 'string' || name.length === 0) { 463 throw new $TypeError('intrinsic name must be a non-empty string'); 464 } 465 if (arguments.length > 1 && typeof allowMissing !== 'boolean') { 466 throw new $TypeError('"allowMissing" argument must be a boolean'); 467 } 468 469 var parts = stringToPath(name); 470 var intrinsicBaseName = parts.length > 0 ? parts[0] : ''; 471 472 var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing); 473 var intrinsicRealName = intrinsic.name; 474 var value = intrinsic.value; 475 var skipFurtherCaching = false; 476 477 var alias = intrinsic.alias; 478 if (alias) { 479 intrinsicBaseName = alias[0]; 480 $spliceApply(parts, $concat([0, 1], alias)); 481 } 482 483 for (var i = 1, isOwn = true; i < parts.length; i += 1) { 484 var part = parts[i]; 485 var first = $strSlice(part, 0, 1); 486 var last = $strSlice(part, -1); 487 if ( 488 ( 489 (first === '"' || first === "'" || first === '`') 490 || (last === '"' || last === "'" || last === '`') 491 ) 492 && first !== last 493 ) { 494 throw new $SyntaxError('property names with quotes must have matching quotes'); 495 } 496 if (part === 'constructor' || !isOwn) { 497 skipFurtherCaching = true; 498 } 499 500 intrinsicBaseName += '.' + part; 501 intrinsicRealName = '%' + intrinsicBaseName + '%'; 502 503 if (hasOwn(INTRINSICS, intrinsicRealName)) { 504 value = INTRINSICS[intrinsicRealName]; 505 } else if (value != null) { 506 if (!(part in value)) { 507 if (!allowMissing) { 508 throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.'); 509 } 510 return void undefined; 511 } 512 if ($gOPD && (i + 1) >= parts.length) { 513 var desc = $gOPD(value, part); 514 isOwn = !!desc; 515 516 // By convention, when a data property is converted to an accessor 517 // property to emulate a data property that does not suffer from 518 // the override mistake, that accessor's getter is marked with 519 // an `originalValue` property. Here, when we detect this, we 520 // uphold the illusion by pretending to see that original data 521 // property, i.e., returning the value rather than the getter 522 // itself. 523 if (isOwn && 'get' in desc && !('originalValue' in desc.get)) { 524 value = desc.get; 525 } else { 526 value = value[part]; 527 } 528 } else { 529 isOwn = hasOwn(value, part); 530 value = value[part]; 531 } 532 533 if (isOwn && !skipFurtherCaching) { 534 INTRINSICS[intrinsicRealName] = value; 535 } 536 } 537 } 538 return value; 539 }; 540 541 542 /***/ }), 543 544 /***/ 9828: 545 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 546 547 "use strict"; 548 549 550 var origSymbol = typeof Symbol !== 'undefined' && Symbol; 551 var hasSymbolSham = __webpack_require__(5960); 552 553 module.exports = function hasNativeSymbols() { 554 if (typeof origSymbol !== 'function') { return false; } 555 if (typeof Symbol !== 'function') { return false; } 556 if (typeof origSymbol('foo') !== 'symbol') { return false; } 557 if (typeof Symbol('bar') !== 'symbol') { return false; } 558 559 return hasSymbolSham(); 560 }; 561 562 563 /***/ }), 564 565 /***/ 5960: 566 /***/ (function(module) { 567 568 "use strict"; 569 570 571 /* eslint complexity: [2, 18], max-statements: [2, 33] */ 572 module.exports = function hasSymbols() { 573 if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; } 574 if (typeof Symbol.iterator === 'symbol') { return true; } 575 576 var obj = {}; 577 var sym = Symbol('test'); 578 var symObj = Object(sym); 579 if (typeof sym === 'string') { return false; } 580 581 if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; } 582 if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; } 583 584 // temp disabled per https://github.com/ljharb/object.assign/issues/17 585 // if (sym instanceof Symbol) { return false; } 586 // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4 587 // if (!(symObj instanceof Symbol)) { return false; } 588 589 // if (typeof Symbol.prototype.toString !== 'function') { return false; } 590 // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; } 591 592 var symVal = 42; 593 obj[sym] = symVal; 594 for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop 595 if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; } 596 597 if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; } 598 599 var syms = Object.getOwnPropertySymbols(obj); 600 if (syms.length !== 1 || syms[0] !== sym) { return false; } 601 602 if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; } 603 604 if (typeof Object.getOwnPropertyDescriptor === 'function') { 605 var descriptor = Object.getOwnPropertyDescriptor(obj, sym); 606 if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; } 607 } 608 609 return true; 610 }; 611 612 613 /***/ }), 614 615 /***/ 4363: 616 /***/ (function(module) { 617 618 "use strict"; 619 620 621 var fnToStr = Function.prototype.toString; 622 var reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply; 623 var badArrayLike; 624 var isCallableMarker; 625 if (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') { 626 try { 627 badArrayLike = Object.defineProperty({}, 'length', { 628 get: function () { 629 throw isCallableMarker; 630 } 631 }); 632 isCallableMarker = {}; 633 // eslint-disable-next-line no-throw-literal 634 reflectApply(function () { throw 42; }, null, badArrayLike); 635 } catch (_) { 636 if (_ !== isCallableMarker) { 637 reflectApply = null; 638 } 639 } 640 } else { 641 reflectApply = null; 642 } 643 644 var constructorRegex = /^\s*class\b/; 645 var isES6ClassFn = function isES6ClassFunction(value) { 646 try { 647 var fnStr = fnToStr.call(value); 648 return constructorRegex.test(fnStr); 649 } catch (e) { 650 return false; // not a function 651 } 652 }; 653 654 var tryFunctionObject = function tryFunctionToStr(value) { 655 try { 656 if (isES6ClassFn(value)) { return false; } 657 fnToStr.call(value); 658 return true; 659 } catch (e) { 660 return false; 661 } 662 }; 663 var toStr = Object.prototype.toString; 664 var fnClass = '[object Function]'; 665 var genClass = '[object GeneratorFunction]'; 666 var hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag` 667 /* globals document: false */ 668 var documentDotAll = typeof document === 'object' && typeof document.all === 'undefined' && document.all !== undefined ? document.all : {}; 669 670 module.exports = reflectApply 671 ? function isCallable(value) { 672 if (value === documentDotAll) { return true; } 673 if (!value) { return false; } 674 if (typeof value !== 'function' && typeof value !== 'object') { return false; } 675 if (typeof value === 'function' && !value.prototype) { return true; } 676 try { 677 reflectApply(value, null, badArrayLike); 678 } catch (e) { 679 if (e !== isCallableMarker) { return false; } 680 } 681 return !isES6ClassFn(value); 682 } 683 : function isCallable(value) { 684 if (value === documentDotAll) { return true; } 685 if (!value) { return false; } 686 if (typeof value !== 'function' && typeof value !== 'object') { return false; } 687 if (typeof value === 'function' && !value.prototype) { return true; } 688 if (hasToStringTag) { return tryFunctionObject(value); } 689 if (isES6ClassFn(value)) { return false; } 690 var strClass = toStr.call(value); 691 return strClass === fnClass || strClass === genClass; 692 }; 693 694 695 /***/ }), 696 697 /***/ 4221: 698 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 699 700 "use strict"; 701 702 703 var callBound = __webpack_require__(9630); 704 var hasToStringTag = __webpack_require__(4111)(); 705 var has; 706 var $exec; 707 var isRegexMarker; 708 var badStringifier; 709 710 if (hasToStringTag) { 711 has = callBound('Object.prototype.hasOwnProperty'); 712 $exec = callBound('RegExp.prototype.exec'); 713 isRegexMarker = {}; 714 715 var throwRegexMarker = function () { 716 throw isRegexMarker; 717 }; 718 badStringifier = { 719 toString: throwRegexMarker, 720 valueOf: throwRegexMarker 721 }; 722 723 if (typeof Symbol.toPrimitive === 'symbol') { 724 badStringifier[Symbol.toPrimitive] = throwRegexMarker; 725 } 726 } 727 728 var $toString = callBound('Object.prototype.toString'); 729 var gOPD = Object.getOwnPropertyDescriptor; 730 var regexClass = '[object RegExp]'; 731 732 module.exports = hasToStringTag 733 // eslint-disable-next-line consistent-return 734 ? function isRegex(value) { 735 if (!value || typeof value !== 'object') { 736 return false; 737 } 738 739 var descriptor = gOPD(value, 'lastIndex'); 740 var hasLastIndexDataProperty = descriptor && has(descriptor, 'value'); 741 if (!hasLastIndexDataProperty) { 742 return false; 743 } 744 745 try { 746 $exec(value, badStringifier); 747 } catch (e) { 748 return e === isRegexMarker; 749 } 750 } 751 : function isRegex(value) { 752 // In older browsers, typeof regex incorrectly returns 'function' 753 if (!value || (typeof value !== 'object' && typeof value !== 'function')) { 754 return false; 755 } 756 757 return $toString(value) === regexClass; 758 }; 759 760 761 /***/ }), 762 763 /***/ 3205: 764 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 765 766 var hasMap = typeof Map === 'function' && Map.prototype; 767 var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null; 768 var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null; 769 var mapForEach = hasMap && Map.prototype.forEach; 770 var hasSet = typeof Set === 'function' && Set.prototype; 771 var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null; 772 var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null; 773 var setForEach = hasSet && Set.prototype.forEach; 774 var hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype; 775 var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null; 776 var hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype; 777 var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null; 778 var hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype; 779 var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null; 780 var booleanValueOf = Boolean.prototype.valueOf; 781 var objectToString = Object.prototype.toString; 782 var functionToString = Function.prototype.toString; 783 var $match = String.prototype.match; 784 var $slice = String.prototype.slice; 785 var $replace = String.prototype.replace; 786 var $toUpperCase = String.prototype.toUpperCase; 787 var $toLowerCase = String.prototype.toLowerCase; 788 var $test = RegExp.prototype.test; 789 var $concat = Array.prototype.concat; 790 var $join = Array.prototype.join; 791 var $arrSlice = Array.prototype.slice; 792 var $floor = Math.floor; 793 var bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null; 794 var gOPS = Object.getOwnPropertySymbols; 795 var symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null; 796 var hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object'; 797 // ie, `has-tostringtag/shams 798 var toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol') 799 ? Symbol.toStringTag 800 : null; 801 var isEnumerable = Object.prototype.propertyIsEnumerable; 802 803 var gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ( 804 [].__proto__ === Array.prototype // eslint-disable-line no-proto 805 ? function (O) { 806 return O.__proto__; // eslint-disable-line no-proto 807 } 808 : null 809 ); 810 811 function addNumericSeparator(num, str) { 812 if ( 813 num === Infinity 814 || num === -Infinity 815 || num !== num 816 || (num && num > -1000 && num < 1000) 817 || $test.call(/e/, str) 818 ) { 819 return str; 820 } 821 var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g; 822 if (typeof num === 'number') { 823 var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num) 824 if (int !== num) { 825 var intStr = String(int); 826 var dec = $slice.call(str, intStr.length + 1); 827 return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, ''); 828 } 829 } 830 return $replace.call(str, sepRegex, '$&_'); 831 } 832 833 var inspectCustom = (__webpack_require__(4080).custom); 834 var inspectSymbol = inspectCustom && isSymbol(inspectCustom) ? inspectCustom : null; 835 836 module.exports = function inspect_(obj, options, depth, seen) { 837 var opts = options || {}; 838 839 if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) { 840 throw new TypeError('option "quoteStyle" must be "single" or "double"'); 841 } 842 if ( 843 has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number' 844 ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity 845 : opts.maxStringLength !== null 846 ) 847 ) { 848 throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`'); 849 } 850 var customInspect = has(opts, 'customInspect') ? opts.customInspect : true; 851 if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') { 852 throw new TypeError('option "customInspect", if provided, must be `true`, `false`, or `\'symbol\'`'); 853 } 854 855 if ( 856 has(opts, 'indent') 857 && opts.indent !== null 858 && opts.indent !== '\t' 859 && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0) 860 ) { 861 throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`'); 862 } 863 if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') { 864 throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`'); 865 } 866 var numericSeparator = opts.numericSeparator; 867 868 if (typeof obj === 'undefined') { 869 return 'undefined'; 870 } 871 if (obj === null) { 872 return 'null'; 873 } 874 if (typeof obj === 'boolean') { 875 return obj ? 'true' : 'false'; 876 } 877 878 if (typeof obj === 'string') { 879 return inspectString(obj, opts); 880 } 881 if (typeof obj === 'number') { 882 if (obj === 0) { 883 return Infinity / obj > 0 ? '0' : '-0'; 884 } 885 var str = String(obj); 886 return numericSeparator ? addNumericSeparator(obj, str) : str; 887 } 888 if (typeof obj === 'bigint') { 889 var bigIntStr = String(obj) + 'n'; 890 return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr; 891 } 892 893 var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth; 894 if (typeof depth === 'undefined') { depth = 0; } 895 if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') { 896 return isArray(obj) ? '[Array]' : '[Object]'; 897 } 898 899 var indent = getIndent(opts, depth); 900 901 if (typeof seen === 'undefined') { 902 seen = []; 903 } else if (indexOf(seen, obj) >= 0) { 904 return '[Circular]'; 905 } 906 907 function inspect(value, from, noIndent) { 908 if (from) { 909 seen = $arrSlice.call(seen); 910 seen.push(from); 911 } 912 if (noIndent) { 913 var newOpts = { 914 depth: opts.depth 915 }; 916 if (has(opts, 'quoteStyle')) { 917 newOpts.quoteStyle = opts.quoteStyle; 918 } 919 return inspect_(value, newOpts, depth + 1, seen); 920 } 921 return inspect_(value, opts, depth + 1, seen); 922 } 923 924 if (typeof obj === 'function') { 925 var name = nameOf(obj); 926 var keys = arrObjKeys(obj, inspect); 927 return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : ''); 928 } 929 if (isSymbol(obj)) { 930 var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, '$1') : symToString.call(obj); 931 return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString; 932 } 933 if (isElement(obj)) { 934 var s = '<' + $toLowerCase.call(String(obj.nodeName)); 935 var attrs = obj.attributes || []; 936 for (var i = 0; i < attrs.length; i++) { 937 s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts); 938 } 939 s += '>'; 940 if (obj.childNodes && obj.childNodes.length) { s += '...'; } 941 s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>'; 942 return s; 943 } 944 if (isArray(obj)) { 945 if (obj.length === 0) { return '[]'; } 946 var xs = arrObjKeys(obj, inspect); 947 if (indent && !singleLineValues(xs)) { 948 return '[' + indentedJoin(xs, indent) + ']'; 949 } 950 return '[ ' + $join.call(xs, ', ') + ' ]'; 951 } 952 if (isError(obj)) { 953 var parts = arrObjKeys(obj, inspect); 954 if ('cause' in obj && !isEnumerable.call(obj, 'cause')) { 955 return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }'; 956 } 957 if (parts.length === 0) { return '[' + String(obj) + ']'; } 958 return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }'; 959 } 960 if (typeof obj === 'object' && customInspect) { 961 if (inspectSymbol && typeof obj[inspectSymbol] === 'function') { 962 return obj[inspectSymbol](); 963 } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') { 964 return obj.inspect(); 965 } 966 } 967 if (isMap(obj)) { 968 var mapParts = []; 969 mapForEach.call(obj, function (value, key) { 970 mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj)); 971 }); 972 return collectionOf('Map', mapSize.call(obj), mapParts, indent); 973 } 974 if (isSet(obj)) { 975 var setParts = []; 976 setForEach.call(obj, function (value) { 977 setParts.push(inspect(value, obj)); 978 }); 979 return collectionOf('Set', setSize.call(obj), setParts, indent); 980 } 981 if (isWeakMap(obj)) { 982 return weakCollectionOf('WeakMap'); 983 } 984 if (isWeakSet(obj)) { 985 return weakCollectionOf('WeakSet'); 986 } 987 if (isWeakRef(obj)) { 988 return weakCollectionOf('WeakRef'); 989 } 990 if (isNumber(obj)) { 991 return markBoxed(inspect(Number(obj))); 992 } 993 if (isBigInt(obj)) { 994 return markBoxed(inspect(bigIntValueOf.call(obj))); 995 } 996 if (isBoolean(obj)) { 997 return markBoxed(booleanValueOf.call(obj)); 998 } 999 if (isString(obj)) { 1000 return markBoxed(inspect(String(obj))); 1001 } 1002 if (!isDate(obj) && !isRegExp(obj)) { 1003 var ys = arrObjKeys(obj, inspect); 1004 var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object; 1005 var protoTag = obj instanceof Object ? '' : 'null prototype'; 1006 var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : ''; 1007 var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : ''; 1008 var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : ''); 1009 if (ys.length === 0) { return tag + '{}'; } 1010 if (indent) { 1011 return tag + '{' + indentedJoin(ys, indent) + '}'; 1012 } 1013 return tag + '{ ' + $join.call(ys, ', ') + ' }'; 1014 } 1015 return String(obj); 1016 }; 1017 1018 function wrapQuotes(s, defaultStyle, opts) { 1019 var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '"' : "'"; 1020 return quoteChar + s + quoteChar; 1021 } 1022 1023 function quote(s) { 1024 return $replace.call(String(s), /"/g, '"'); 1025 } 1026 1027 function isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } 1028 function isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } 1029 function isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } 1030 function isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } 1031 function isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } 1032 function isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } 1033 function isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } 1034 1035 // Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives 1036 function isSymbol(obj) { 1037 if (hasShammedSymbols) { 1038 return obj && typeof obj === 'object' && obj instanceof Symbol; 1039 } 1040 if (typeof obj === 'symbol') { 1041 return true; 1042 } 1043 if (!obj || typeof obj !== 'object' || !symToString) { 1044 return false; 1045 } 1046 try { 1047 symToString.call(obj); 1048 return true; 1049 } catch (e) {} 1050 return false; 1051 } 1052 1053 function isBigInt(obj) { 1054 if (!obj || typeof obj !== 'object' || !bigIntValueOf) { 1055 return false; 1056 } 1057 try { 1058 bigIntValueOf.call(obj); 1059 return true; 1060 } catch (e) {} 1061 return false; 1062 } 1063 1064 var hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; }; 1065 function has(obj, key) { 1066 return hasOwn.call(obj, key); 1067 } 1068 1069 function toStr(obj) { 1070 return objectToString.call(obj); 1071 } 1072 1073 function nameOf(f) { 1074 if (f.name) { return f.name; } 1075 var m = $match.call(functionToString.call(f), /^function\s*([\w$]+)/); 1076 if (m) { return m[1]; } 1077 return null; 1078 } 1079 1080 function indexOf(xs, x) { 1081 if (xs.indexOf) { return xs.indexOf(x); } 1082 for (var i = 0, l = xs.length; i < l; i++) { 1083 if (xs[i] === x) { return i; } 1084 } 1085 return -1; 1086 } 1087 1088 function isMap(x) { 1089 if (!mapSize || !x || typeof x !== 'object') { 1090 return false; 1091 } 1092 try { 1093 mapSize.call(x); 1094 try { 1095 setSize.call(x); 1096 } catch (s) { 1097 return true; 1098 } 1099 return x instanceof Map; // core-js workaround, pre-v2.5.0 1100 } catch (e) {} 1101 return false; 1102 } 1103 1104 function isWeakMap(x) { 1105 if (!weakMapHas || !x || typeof x !== 'object') { 1106 return false; 1107 } 1108 try { 1109 weakMapHas.call(x, weakMapHas); 1110 try { 1111 weakSetHas.call(x, weakSetHas); 1112 } catch (s) { 1113 return true; 1114 } 1115 return x instanceof WeakMap; // core-js workaround, pre-v2.5.0 1116 } catch (e) {} 1117 return false; 1118 } 1119 1120 function isWeakRef(x) { 1121 if (!weakRefDeref || !x || typeof x !== 'object') { 1122 return false; 1123 } 1124 try { 1125 weakRefDeref.call(x); 1126 return true; 1127 } catch (e) {} 1128 return false; 1129 } 1130 1131 function isSet(x) { 1132 if (!setSize || !x || typeof x !== 'object') { 1133 return false; 1134 } 1135 try { 1136 setSize.call(x); 1137 try { 1138 mapSize.call(x); 1139 } catch (m) { 1140 return true; 1141 } 1142 return x instanceof Set; // core-js workaround, pre-v2.5.0 1143 } catch (e) {} 1144 return false; 1145 } 1146 1147 function isWeakSet(x) { 1148 if (!weakSetHas || !x || typeof x !== 'object') { 1149 return false; 1150 } 1151 try { 1152 weakSetHas.call(x, weakSetHas); 1153 try { 1154 weakMapHas.call(x, weakMapHas); 1155 } catch (s) { 1156 return true; 1157 } 1158 return x instanceof WeakSet; // core-js workaround, pre-v2.5.0 1159 } catch (e) {} 1160 return false; 1161 } 1162 1163 function isElement(x) { 1164 if (!x || typeof x !== 'object') { return false; } 1165 if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) { 1166 return true; 1167 } 1168 return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function'; 1169 } 1170 1171 function inspectString(str, opts) { 1172 if (str.length > opts.maxStringLength) { 1173 var remaining = str.length - opts.maxStringLength; 1174 var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : ''); 1175 return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer; 1176 } 1177 // eslint-disable-next-line no-control-regex 1178 var s = $replace.call($replace.call(str, /(['\\])/g, '\\$1'), /[\x00-\x1f]/g, lowbyte); 1179 return wrapQuotes(s, 'single', opts); 1180 } 1181 1182 function lowbyte(c) { 1183 var n = c.charCodeAt(0); 1184 var x = { 1185 8: 'b', 1186 9: 't', 1187 10: 'n', 1188 12: 'f', 1189 13: 'r' 1190 }[n]; 1191 if (x) { return '\\' + x; } 1192 return '\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16)); 1193 } 1194 1195 function markBoxed(str) { 1196 return 'Object(' + str + ')'; 1197 } 1198 1199 function weakCollectionOf(type) { 1200 return type + ' { ? }'; 1201 } 1202 1203 function collectionOf(type, size, entries, indent) { 1204 var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', '); 1205 return type + ' (' + size + ') {' + joinedEntries + '}'; 1206 } 1207 1208 function singleLineValues(xs) { 1209 for (var i = 0; i < xs.length; i++) { 1210 if (indexOf(xs[i], '\n') >= 0) { 1211 return false; 1212 } 1213 } 1214 return true; 1215 } 1216 1217 function getIndent(opts, depth) { 1218 var baseIndent; 1219 if (opts.indent === '\t') { 1220 baseIndent = '\t'; 1221 } else if (typeof opts.indent === 'number' && opts.indent > 0) { 1222 baseIndent = $join.call(Array(opts.indent + 1), ' '); 1223 } else { 1224 return null; 1225 } 1226 return { 1227 base: baseIndent, 1228 prev: $join.call(Array(depth + 1), baseIndent) 1229 }; 1230 } 1231 1232 function indentedJoin(xs, indent) { 1233 if (xs.length === 0) { return ''; } 1234 var lineJoiner = '\n' + indent.prev + indent.base; 1235 return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\n' + indent.prev; 1236 } 1237 1238 function arrObjKeys(obj, inspect) { 1239 var isArr = isArray(obj); 1240 var xs = []; 1241 if (isArr) { 1242 xs.length = obj.length; 1243 for (var i = 0; i < obj.length; i++) { 1244 xs[i] = has(obj, i) ? inspect(obj[i], obj) : ''; 1245 } 1246 } 1247 var syms = typeof gOPS === 'function' ? gOPS(obj) : []; 1248 var symMap; 1249 if (hasShammedSymbols) { 1250 symMap = {}; 1251 for (var k = 0; k < syms.length; k++) { 1252 symMap['$' + syms[k]] = syms[k]; 1253 } 1254 } 1255 1256 for (var key in obj) { // eslint-disable-line no-restricted-syntax 1257 if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue 1258 if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue 1259 if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) { 1260 // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section 1261 continue; // eslint-disable-line no-restricted-syntax, no-continue 1262 } else if ($test.call(/[^\w$]/, key)) { 1263 xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj)); 1264 } else { 1265 xs.push(key + ': ' + inspect(obj[key], obj)); 1266 } 1267 } 1268 if (typeof gOPS === 'function') { 1269 for (var j = 0; j < syms.length; j++) { 1270 if (isEnumerable.call(obj, syms[j])) { 1271 xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj)); 1272 } 1273 } 1274 } 1275 return xs; 1276 } 1277 1278 1279 /***/ }), 1280 1281 /***/ 616: 1282 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1283 1284 "use strict"; 1285 1286 1287 var implementation = __webpack_require__(4485); 1288 1289 module.exports = function getPolyfill() { 1290 return Array.prototype.flat || implementation; 1291 }; 1292 1293 1294 /***/ }), 1295 1296 /***/ 2059: 1297 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1298 1299 "use strict"; 1300 1301 1302 var define = __webpack_require__(9170); 1303 var shimUnscopables = __webpack_require__(2505); 1304 1305 var getPolyfill = __webpack_require__(616); 1306 1307 module.exports = function shimFlat() { 1308 var polyfill = getPolyfill(); 1309 1310 define( 1311 Array.prototype, 1312 { flat: polyfill }, 1313 { flat: function () { return Array.prototype.flat !== polyfill; } } 1314 ); 1315 1316 shimUnscopables('flat'); 1317 1318 return polyfill; 1319 }; 1320 1321 1322 /***/ }), 1323 1324 /***/ 7615: 1325 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1326 1327 "use strict"; 1328 1329 1330 var GetIntrinsic = __webpack_require__(1801); 1331 1332 var callBind = __webpack_require__(2550); 1333 1334 var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf')); 1335 1336 module.exports = function callBoundIntrinsic(name, allowMissing) { 1337 var intrinsic = GetIntrinsic(name, !!allowMissing); 1338 if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) { 1339 return callBind(intrinsic); 1340 } 1341 return intrinsic; 1342 }; 1343 1344 1345 /***/ }), 1346 1347 /***/ 2550: 1348 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1349 1350 "use strict"; 1351 1352 1353 var bind = __webpack_require__(1930); 1354 var GetIntrinsic = __webpack_require__(1801); 1355 1356 var $apply = GetIntrinsic('%Function.prototype.apply%'); 1357 var $call = GetIntrinsic('%Function.prototype.call%'); 1358 var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply); 1359 1360 var $defineProperty = GetIntrinsic('%Object.defineProperty%', true); 1361 1362 if ($defineProperty) { 1363 try { 1364 $defineProperty({}, 'a', { value: 1 }); 1365 } catch (e) { 1366 // IE 8 has a broken defineProperty 1367 $defineProperty = null; 1368 } 1369 } 1370 1371 module.exports = function callBind() { 1372 return $reflectApply(bind, $call, arguments); 1373 }; 1374 1375 var applyBind = function applyBind() { 1376 return $reflectApply(bind, $apply, arguments); 1377 }; 1378 1379 if ($defineProperty) { 1380 $defineProperty(module.exports, 'apply', { value: applyBind }); 1381 } else { 1382 module.exports.apply = applyBind; 1383 } 1384 1385 1386 /***/ }), 1387 1388 /***/ 4403: 1389 /***/ (function(module, exports) { 1390 1391 var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! 1392 Copyright (c) 2018 Jed Watson. 1393 Licensed under the MIT License (MIT), see 1394 http://jedwatson.github.io/classnames 1395 */ 1396 /* global define */ 1397 1398 (function () { 1399 'use strict'; 1400 1401 var hasOwn = {}.hasOwnProperty; 1402 1403 function classNames() { 1404 var classes = []; 1405 1406 for (var i = 0; i < arguments.length; i++) { 1407 var arg = arguments[i]; 1408 if (!arg) continue; 1409 1410 var argType = typeof arg; 1411 1412 if (argType === 'string' || argType === 'number') { 1413 classes.push(arg); 1414 } else if (Array.isArray(arg)) { 1415 if (arg.length) { 1416 var inner = classNames.apply(null, arg); 1417 if (inner) { 1418 classes.push(inner); 1419 } 1420 } 1421 } else if (argType === 'object') { 1422 if (arg.toString === Object.prototype.toString) { 1423 for (var key in arg) { 1424 if (hasOwn.call(arg, key) && arg[key]) { 1425 classes.push(key); 1426 } 1427 } 1428 } else { 1429 classes.push(arg.toString()); 1430 } 1431 } 1432 } 1433 1434 return classes.join(' '); 1435 } 1436 1437 if ( true && module.exports) { 1438 classNames.default = classNames; 1439 module.exports = classNames; 1440 } else if (true) { 1441 // register as 'classnames', consistent with npm package name 1442 !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () { 1443 return classNames; 1444 }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), 1445 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 1446 } else {} 1447 }()); 1448 1449 1450 /***/ }), 1451 1452 /***/ 8495: 1453 /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1454 1455 "use strict"; 1456 __webpack_require__.r(__webpack_exports__); 1457 /* harmony export */ __webpack_require__.d(__webpack_exports__, { 1458 /* harmony export */ "addEventListener": function() { return /* binding */ addEventListener; } 1459 /* harmony export */ }); 1460 var CAN_USE_DOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); 1461 1462 // Adapted from Modernizr 1463 // https://github.com/Modernizr/Modernizr/blob/acb3f0d9/feature-detects/dom/passiveeventlisteners.js#L26-L37 1464 function testPassiveEventListeners() { 1465 if (!CAN_USE_DOM) { 1466 return false; 1467 } 1468 1469 if (!window.addEventListener || !window.removeEventListener || !Object.defineProperty) { 1470 return false; 1471 } 1472 1473 var supportsPassiveOption = false; 1474 try { 1475 var opts = Object.defineProperty({}, 'passive', { 1476 // eslint-disable-next-line getter-return 1477 get: function () { 1478 function get() { 1479 supportsPassiveOption = true; 1480 } 1481 1482 return get; 1483 }() 1484 }); 1485 var noop = function noop() {}; 1486 window.addEventListener('testPassiveEventSupport', noop, opts); 1487 window.removeEventListener('testPassiveEventSupport', noop, opts); 1488 } catch (e) { 1489 // do nothing 1490 } 1491 1492 return supportsPassiveOption; 1493 } 1494 1495 var memoized = void 0; 1496 1497 function canUsePassiveEventListeners() { 1498 if (memoized === undefined) { 1499 memoized = testPassiveEventListeners(); 1500 } 1501 return memoized; 1502 } 1503 1504 function normalizeEventOptions(eventOptions) { 1505 if (!eventOptions) { 1506 return undefined; 1507 } 1508 1509 if (!canUsePassiveEventListeners()) { 1510 // If the browser does not support the passive option, then it is expecting 1511 // a boolean for the options argument to specify whether it should use 1512 // capture or not. In more modern browsers, this is passed via the `capture` 1513 // option, so let's just hoist that value up. 1514 return !!eventOptions.capture; 1515 } 1516 1517 return eventOptions; 1518 } 1519 1520 /* eslint-disable no-bitwise */ 1521 1522 /** 1523 * Generate a unique key for any set of event options 1524 */ 1525 function eventOptionsKey(normalizedEventOptions) { 1526 if (!normalizedEventOptions) { 1527 return 0; 1528 } 1529 1530 // If the browser does not support passive event listeners, the normalized 1531 // event options will be a boolean. 1532 if (normalizedEventOptions === true) { 1533 return 100; 1534 } 1535 1536 // At this point, the browser supports passive event listeners, so we expect 1537 // the event options to be an object with possible properties of capture, 1538 // passive, and once. 1539 // 1540 // We want to consistently return the same value, regardless of the order of 1541 // these properties, so let's use binary maths to assign each property to a 1542 // bit, and then add those together (with an offset to account for the 1543 // booleans at the beginning of this function). 1544 var capture = normalizedEventOptions.capture << 0; 1545 var passive = normalizedEventOptions.passive << 1; 1546 var once = normalizedEventOptions.once << 2; 1547 return capture + passive + once; 1548 } 1549 1550 function ensureCanMutateNextEventHandlers(eventHandlers) { 1551 if (eventHandlers.handlers === eventHandlers.nextHandlers) { 1552 // eslint-disable-next-line no-param-reassign 1553 eventHandlers.nextHandlers = eventHandlers.handlers.slice(); 1554 } 1555 } 1556 1557 function TargetEventHandlers(target) { 1558 this.target = target; 1559 this.events = {}; 1560 } 1561 1562 TargetEventHandlers.prototype.getEventHandlers = function () { 1563 function getEventHandlers(eventName, options) { 1564 var key = String(eventName) + ' ' + String(eventOptionsKey(options)); 1565 1566 if (!this.events[key]) { 1567 this.events[key] = { 1568 handlers: [], 1569 handleEvent: undefined 1570 }; 1571 this.events[key].nextHandlers = this.events[key].handlers; 1572 } 1573 1574 return this.events[key]; 1575 } 1576 1577 return getEventHandlers; 1578 }(); 1579 1580 TargetEventHandlers.prototype.handleEvent = function () { 1581 function handleEvent(eventName, options, event) { 1582 var eventHandlers = this.getEventHandlers(eventName, options); 1583 eventHandlers.handlers = eventHandlers.nextHandlers; 1584 eventHandlers.handlers.forEach(function (handler) { 1585 if (handler) { 1586 // We need to check for presence here because a handler function may 1587 // cause later handlers to get removed. This can happen if you for 1588 // instance have a waypoint that unmounts another waypoint as part of an 1589 // onEnter/onLeave handler. 1590 handler(event); 1591 } 1592 }); 1593 } 1594 1595 return handleEvent; 1596 }(); 1597 1598 TargetEventHandlers.prototype.add = function () { 1599 function add(eventName, listener, options) { 1600 var _this = this; 1601 1602 // options has already been normalized at this point. 1603 var eventHandlers = this.getEventHandlers(eventName, options); 1604 1605 ensureCanMutateNextEventHandlers(eventHandlers); 1606 1607 if (eventHandlers.nextHandlers.length === 0) { 1608 eventHandlers.handleEvent = this.handleEvent.bind(this, eventName, options); 1609 1610 this.target.addEventListener(eventName, eventHandlers.handleEvent, options); 1611 } 1612 1613 eventHandlers.nextHandlers.push(listener); 1614 1615 var isSubscribed = true; 1616 var unsubscribe = function () { 1617 function unsubscribe() { 1618 if (!isSubscribed) { 1619 return; 1620 } 1621 1622 isSubscribed = false; 1623 1624 ensureCanMutateNextEventHandlers(eventHandlers); 1625 var index = eventHandlers.nextHandlers.indexOf(listener); 1626 eventHandlers.nextHandlers.splice(index, 1); 1627 1628 if (eventHandlers.nextHandlers.length === 0) { 1629 // All event handlers have been removed, so we want to remove the event 1630 // listener from the target node. 1631 1632 if (_this.target) { 1633 // There can be a race condition where the target may no longer exist 1634 // when this function is called, e.g. when a React component is 1635 // unmounting. Guarding against this prevents the following error: 1636 // 1637 // Cannot read property 'removeEventListener' of undefined 1638 _this.target.removeEventListener(eventName, eventHandlers.handleEvent, options); 1639 } 1640 1641 eventHandlers.handleEvent = undefined; 1642 } 1643 } 1644 1645 return unsubscribe; 1646 }(); 1647 return unsubscribe; 1648 } 1649 1650 return add; 1651 }(); 1652 1653 var EVENT_HANDLERS_KEY = '__consolidated_events_handlers__'; 1654 1655 // eslint-disable-next-line import/prefer-default-export 1656 function addEventListener(target, eventName, listener, options) { 1657 if (!target[EVENT_HANDLERS_KEY]) { 1658 // eslint-disable-next-line no-param-reassign 1659 target[EVENT_HANDLERS_KEY] = new TargetEventHandlers(target); 1660 } 1661 var normalizedEventOptions = normalizeEventOptions(options); 1662 return target[EVENT_HANDLERS_KEY].add(eventName, listener, normalizedEventOptions); 1663 } 1664 1665 1666 1667 1668 /***/ }), 1669 1670 /***/ 9170: 1671 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1672 1673 "use strict"; 1674 1675 1676 var keys = __webpack_require__(806); 1677 var hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol'; 1678 1679 var toStr = Object.prototype.toString; 1680 var concat = Array.prototype.concat; 1681 var origDefineProperty = Object.defineProperty; 1682 1683 var isFunction = function (fn) { 1684 return typeof fn === 'function' && toStr.call(fn) === '[object Function]'; 1685 }; 1686 1687 var arePropertyDescriptorsSupported = function () { 1688 var obj = {}; 1689 try { 1690 origDefineProperty(obj, 'x', { enumerable: false, value: obj }); 1691 // eslint-disable-next-line no-unused-vars, no-restricted-syntax 1692 for (var _ in obj) { // jscs:ignore disallowUnusedVariables 1693 return false; 1694 } 1695 return obj.x === obj; 1696 } catch (e) { /* this is IE 8. */ 1697 return false; 1698 } 1699 }; 1700 var supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported(); 1701 1702 var defineProperty = function (object, name, value, predicate) { 1703 if (name in object && (!isFunction(predicate) || !predicate())) { 1704 return; 1705 } 1706 if (supportsDescriptors) { 1707 origDefineProperty(object, name, { 1708 configurable: true, 1709 enumerable: false, 1710 value: value, 1711 writable: true 1712 }); 1713 } else { 1714 object[name] = value; 1715 } 1716 }; 1717 1718 var defineProperties = function (object, map) { 1719 var predicates = arguments.length > 2 ? arguments[2] : {}; 1720 var props = keys(map); 1721 if (hasSymbols) { 1722 props = concat.call(props, Object.getOwnPropertySymbols(map)); 1723 } 1724 for (var i = 0; i < props.length; i += 1) { 1725 defineProperty(object, props[i], map[props[i]], predicates[props[i]]); 1726 } 1727 }; 1728 1729 defineProperties.supportsDescriptors = !!supportsDescriptors; 1730 1731 module.exports = defineProperties; 1732 1733 1734 /***/ }), 1735 1736 /***/ 8110: 1737 /***/ (function(module) { 1738 1739 "use strict"; 1740 1741 1742 module.exports = function contains(other) { 1743 if (arguments.length < 1) { 1744 throw new TypeError('1 argument is required'); 1745 } 1746 if (typeof other !== 'object') { 1747 throw new TypeError('Argument 1 (”other“) to Node.contains must be an instance of Node'); 1748 } 1749 1750 var node = other; 1751 do { 1752 if (this === node) { 1753 return true; 1754 } 1755 if (node) { 1756 node = node.parentNode; 1757 } 1758 } while (node); 1759 1760 return false; 1761 }; 1762 1763 1764 /***/ }), 1765 1766 /***/ 6789: 1767 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1768 1769 "use strict"; 1770 1771 1772 var define = __webpack_require__(9170); 1773 1774 var implementation = __webpack_require__(8110); 1775 var getPolyfill = __webpack_require__(8267); 1776 var polyfill = getPolyfill(); 1777 var shim = __webpack_require__(714); 1778 1779 var boundContains = function contains(node, other) { 1780 return polyfill.apply(node, [other]); 1781 }; 1782 1783 define(boundContains, { 1784 getPolyfill: getPolyfill, 1785 implementation: implementation, 1786 shim: shim 1787 }); 1788 1789 module.exports = boundContains; 1790 1791 1792 /***/ }), 1793 1794 /***/ 8267: 1795 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1796 1797 "use strict"; 1798 1799 1800 var implementation = __webpack_require__(8110); 1801 1802 module.exports = function getPolyfill() { 1803 if (typeof document !== 'undefined') { 1804 if (document.contains) { 1805 return document.contains; 1806 } 1807 if (document.body && document.body.contains) { 1808 try { 1809 if (typeof document.body.contains.call(document, '') === 'boolean') { 1810 return document.body.contains; 1811 } 1812 } catch (e) { /**/ } 1813 } 1814 } 1815 return implementation; 1816 }; 1817 1818 1819 /***/ }), 1820 1821 /***/ 714: 1822 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1823 1824 "use strict"; 1825 1826 1827 var define = __webpack_require__(9170); 1828 var getPolyfill = __webpack_require__(8267); 1829 1830 module.exports = function shimContains() { 1831 var polyfill = getPolyfill(); 1832 if (typeof document !== 'undefined') { 1833 define( 1834 document, 1835 { contains: polyfill }, 1836 { contains: function () { return document.contains !== polyfill; } } 1837 ); 1838 if (typeof Element !== 'undefined') { 1839 define( 1840 Element.prototype, 1841 { contains: polyfill }, 1842 { contains: function () { return Element.prototype.contains !== polyfill; } } 1843 ); 1844 } 1845 } 1846 return polyfill; 1847 }; 1848 1849 1850 /***/ }), 1851 1852 /***/ 1345: 1853 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1854 1855 "use strict"; 1856 1857 1858 var util = __webpack_require__(5022); 1859 1860 function scrollIntoView(elem, container, config) { 1861 config = config || {}; 1862 // document 归一化到 window 1863 if (container.nodeType === 9) { 1864 container = util.getWindow(container); 1865 } 1866 1867 var allowHorizontalScroll = config.allowHorizontalScroll; 1868 var onlyScrollIfNeeded = config.onlyScrollIfNeeded; 1869 var alignWithTop = config.alignWithTop; 1870 var alignWithLeft = config.alignWithLeft; 1871 var offsetTop = config.offsetTop || 0; 1872 var offsetLeft = config.offsetLeft || 0; 1873 var offsetBottom = config.offsetBottom || 0; 1874 var offsetRight = config.offsetRight || 0; 1875 1876 allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll; 1877 1878 var isWin = util.isWindow(container); 1879 var elemOffset = util.offset(elem); 1880 var eh = util.outerHeight(elem); 1881 var ew = util.outerWidth(elem); 1882 var containerOffset = undefined; 1883 var ch = undefined; 1884 var cw = undefined; 1885 var containerScroll = undefined; 1886 var diffTop = undefined; 1887 var diffBottom = undefined; 1888 var win = undefined; 1889 var winScroll = undefined; 1890 var ww = undefined; 1891 var wh = undefined; 1892 1893 if (isWin) { 1894 win = container; 1895 wh = util.height(win); 1896 ww = util.width(win); 1897 winScroll = { 1898 left: util.scrollLeft(win), 1899 top: util.scrollTop(win) 1900 }; 1901 // elem 相对 container 可视视窗的距离 1902 diffTop = { 1903 left: elemOffset.left - winScroll.left - offsetLeft, 1904 top: elemOffset.top - winScroll.top - offsetTop 1905 }; 1906 diffBottom = { 1907 left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight, 1908 top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom 1909 }; 1910 containerScroll = winScroll; 1911 } else { 1912 containerOffset = util.offset(container); 1913 ch = container.clientHeight; 1914 cw = container.clientWidth; 1915 containerScroll = { 1916 left: container.scrollLeft, 1917 top: container.scrollTop 1918 }; 1919 // elem 相对 container 可视视窗的距离 1920 // 注意边框, offset 是边框到根节点 1921 diffTop = { 1922 left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft, 1923 top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop 1924 }; 1925 diffBottom = { 1926 left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight, 1927 top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom 1928 }; 1929 } 1930 1931 if (diffTop.top < 0 || diffBottom.top > 0) { 1932 // 强制向上 1933 if (alignWithTop === true) { 1934 util.scrollTop(container, containerScroll.top + diffTop.top); 1935 } else if (alignWithTop === false) { 1936 util.scrollTop(container, containerScroll.top + diffBottom.top); 1937 } else { 1938 // 自动调整 1939 if (diffTop.top < 0) { 1940 util.scrollTop(container, containerScroll.top + diffTop.top); 1941 } else { 1942 util.scrollTop(container, containerScroll.top + diffBottom.top); 1943 } 1944 } 1945 } else { 1946 if (!onlyScrollIfNeeded) { 1947 alignWithTop = alignWithTop === undefined ? true : !!alignWithTop; 1948 if (alignWithTop) { 1949 util.scrollTop(container, containerScroll.top + diffTop.top); 1950 } else { 1951 util.scrollTop(container, containerScroll.top + diffBottom.top); 1952 } 1953 } 1954 } 1955 1956 if (allowHorizontalScroll) { 1957 if (diffTop.left < 0 || diffBottom.left > 0) { 1958 // 强制向上 1959 if (alignWithLeft === true) { 1960 util.scrollLeft(container, containerScroll.left + diffTop.left); 1961 } else if (alignWithLeft === false) { 1962 util.scrollLeft(container, containerScroll.left + diffBottom.left); 1963 } else { 1964 // 自动调整 1965 if (diffTop.left < 0) { 1966 util.scrollLeft(container, containerScroll.left + diffTop.left); 1967 } else { 1968 util.scrollLeft(container, containerScroll.left + diffBottom.left); 1969 } 1970 } 1971 } else { 1972 if (!onlyScrollIfNeeded) { 1973 alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft; 1974 if (alignWithLeft) { 1975 util.scrollLeft(container, containerScroll.left + diffTop.left); 1976 } else { 1977 util.scrollLeft(container, containerScroll.left + diffBottom.left); 1978 } 1979 } 1980 } 1981 } 1982 } 1983 1984 module.exports = scrollIntoView; 1985 1986 /***/ }), 1987 1988 /***/ 5425: 1989 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 1990 1991 "use strict"; 1992 1993 1994 module.exports = __webpack_require__(1345); 1995 1996 /***/ }), 1997 1998 /***/ 5022: 1999 /***/ (function(module) { 2000 2001 "use strict"; 2002 2003 2004 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; 2005 2006 var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; 2007 2008 var RE_NUM = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source; 2009 2010 function getClientPosition(elem) { 2011 var box = undefined; 2012 var x = undefined; 2013 var y = undefined; 2014 var doc = elem.ownerDocument; 2015 var body = doc.body; 2016 var docElem = doc && doc.documentElement; 2017 // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式 2018 box = elem.getBoundingClientRect(); 2019 2020 // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop 2021 // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确 2022 // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin 2023 2024 x = box.left; 2025 y = box.top; 2026 2027 // In IE, most of the time, 2 extra pixels are added to the top and left 2028 // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and 2029 // IE6 standards mode, this border can be overridden by setting the 2030 // document element's border to zero -- thus, we cannot rely on the 2031 // offset always being 2 pixels. 2032 2033 // In quirks mode, the offset can be determined by querying the body's 2034 // clientLeft/clientTop, but in standards mode, it is found by querying 2035 // the document element's clientLeft/clientTop. Since we already called 2036 // getClientBoundingRect we have already forced a reflow, so it is not 2037 // too expensive just to query them all. 2038 2039 // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的 2040 // 窗口边框标准是设 documentElement ,quirks 时设置 body 2041 // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去 2042 // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置 2043 // 标准 ie 下 docElem.clientTop 就是 border-top 2044 // ie7 html 即窗口边框改变不了。永远为 2 2045 // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0 2046 2047 x -= docElem.clientLeft || body.clientLeft || 0; 2048 y -= docElem.clientTop || body.clientTop || 0; 2049 2050 return { 2051 left: x, 2052 top: y 2053 }; 2054 } 2055 2056 function getScroll(w, top) { 2057 var ret = w['page' + (top ? 'Y' : 'X') + 'Offset']; 2058 var method = 'scroll' + (top ? 'Top' : 'Left'); 2059 if (typeof ret !== 'number') { 2060 var d = w.document; 2061 // ie6,7,8 standard mode 2062 ret = d.documentElement[method]; 2063 if (typeof ret !== 'number') { 2064 // quirks mode 2065 ret = d.body[method]; 2066 } 2067 } 2068 return ret; 2069 } 2070 2071 function getScrollLeft(w) { 2072 return getScroll(w); 2073 } 2074 2075 function getScrollTop(w) { 2076 return getScroll(w, true); 2077 } 2078 2079 function getOffset(el) { 2080 var pos = getClientPosition(el); 2081 var doc = el.ownerDocument; 2082 var w = doc.defaultView || doc.parentWindow; 2083 pos.left += getScrollLeft(w); 2084 pos.top += getScrollTop(w); 2085 return pos; 2086 } 2087 function _getComputedStyle(elem, name, computedStyle_) { 2088 var val = ''; 2089 var d = elem.ownerDocument; 2090 var computedStyle = computedStyle_ || d.defaultView.getComputedStyle(elem, null); 2091 2092 // https://github.com/kissyteam/kissy/issues/61 2093 if (computedStyle) { 2094 val = computedStyle.getPropertyValue(name) || computedStyle[name]; 2095 } 2096 2097 return val; 2098 } 2099 2100 var _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i'); 2101 var RE_POS = /^(top|right|bottom|left)$/; 2102 var CURRENT_STYLE = 'currentStyle'; 2103 var RUNTIME_STYLE = 'runtimeStyle'; 2104 var LEFT = 'left'; 2105 var PX = 'px'; 2106 2107 function _getComputedStyleIE(elem, name) { 2108 // currentStyle maybe null 2109 // http://msdn.microsoft.com/en-us/library/ms535231.aspx 2110 var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name]; 2111 2112 // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值 2113 // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19 2114 // 在 ie 下不对,需要直接用 offset 方式 2115 // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了 2116 2117 // From the awesome hack by Dean Edwards 2118 // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 2119 // If we're not dealing with a regular pixel number 2120 // but a number that has a weird ending, we need to convert it to pixels 2121 // exclude left right for relativity 2122 if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) { 2123 // Remember the original values 2124 var style = elem.style; 2125 var left = style[LEFT]; 2126 var rsLeft = elem[RUNTIME_STYLE][LEFT]; 2127 2128 // prevent flashing of content 2129 elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT]; 2130 2131 // Put in the new values to get a computed value out 2132 style[LEFT] = name === 'fontSize' ? '1em' : ret || 0; 2133 ret = style.pixelLeft + PX; 2134 2135 // Revert the changed values 2136 style[LEFT] = left; 2137 2138 elem[RUNTIME_STYLE][LEFT] = rsLeft; 2139 } 2140 return ret === '' ? 'auto' : ret; 2141 } 2142 2143 var getComputedStyleX = undefined; 2144 if (typeof window !== 'undefined') { 2145 getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE; 2146 } 2147 2148 function each(arr, fn) { 2149 for (var i = 0; i < arr.length; i++) { 2150 fn(arr[i]); 2151 } 2152 } 2153 2154 function isBorderBoxFn(elem) { 2155 return getComputedStyleX(elem, 'boxSizing') === 'border-box'; 2156 } 2157 2158 var BOX_MODELS = ['margin', 'border', 'padding']; 2159 var CONTENT_INDEX = -1; 2160 var PADDING_INDEX = 2; 2161 var BORDER_INDEX = 1; 2162 var MARGIN_INDEX = 0; 2163 2164 function swap(elem, options, callback) { 2165 var old = {}; 2166 var style = elem.style; 2167 var name = undefined; 2168 2169 // Remember the old values, and insert the new ones 2170 for (name in options) { 2171 if (options.hasOwnProperty(name)) { 2172 old[name] = style[name]; 2173 style[name] = options[name]; 2174 } 2175 } 2176 2177 callback.call(elem); 2178 2179 // Revert the old values 2180 for (name in options) { 2181 if (options.hasOwnProperty(name)) { 2182 style[name] = old[name]; 2183 } 2184 } 2185 } 2186 2187 function getPBMWidth(elem, props, which) { 2188 var value = 0; 2189 var prop = undefined; 2190 var j = undefined; 2191 var i = undefined; 2192 for (j = 0; j < props.length; j++) { 2193 prop = props[j]; 2194 if (prop) { 2195 for (i = 0; i < which.length; i++) { 2196 var cssProp = undefined; 2197 if (prop === 'border') { 2198 cssProp = prop + which[i] + 'Width'; 2199 } else { 2200 cssProp = prop + which[i]; 2201 } 2202 value += parseFloat(getComputedStyleX(elem, cssProp)) || 0; 2203 } 2204 } 2205 } 2206 return value; 2207 } 2208 2209 /** 2210 * A crude way of determining if an object is a window 2211 * @member util 2212 */ 2213 function isWindow(obj) { 2214 // must use == for ie8 2215 /* eslint eqeqeq:0 */ 2216 return obj != null && obj == obj.window; 2217 } 2218 2219 var domUtils = {}; 2220 2221 each(['Width', 'Height'], function (name) { 2222 domUtils['doc' + name] = function (refWin) { 2223 var d = refWin.document; 2224 return Math.max( 2225 // firefox chrome documentElement.scrollHeight< body.scrollHeight 2226 // ie standard mode : documentElement.scrollHeight> body.scrollHeight 2227 d.documentElement['scroll' + name], 2228 // quirks : documentElement.scrollHeight 最大等于可视窗口多一点? 2229 d.body['scroll' + name], domUtils['viewport' + name](d)); 2230 }; 2231 2232 domUtils['viewport' + name] = function (win) { 2233 // pc browser includes scrollbar in window.innerWidth 2234 var prop = 'client' + name; 2235 var doc = win.document; 2236 var body = doc.body; 2237 var documentElement = doc.documentElement; 2238 var documentElementProp = documentElement[prop]; 2239 // 标准模式取 documentElement 2240 // backcompat 取 body 2241 return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp; 2242 }; 2243 }); 2244 2245 /* 2246 得到元素的大小信息 2247 @param elem 2248 @param name 2249 @param {String} [extra] 'padding' : (css width) + padding 2250 'border' : (css width) + padding + border 2251 'margin' : (css width) + padding + border + margin 2252 */ 2253 function getWH(elem, name, extra) { 2254 if (isWindow(elem)) { 2255 return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem); 2256 } else if (elem.nodeType === 9) { 2257 return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem); 2258 } 2259 var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom']; 2260 var borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight; 2261 var computedStyle = getComputedStyleX(elem); 2262 var isBorderBox = isBorderBoxFn(elem, computedStyle); 2263 var cssBoxValue = 0; 2264 if (borderBoxValue == null || borderBoxValue <= 0) { 2265 borderBoxValue = undefined; 2266 // Fall back to computed then un computed css if necessary 2267 cssBoxValue = getComputedStyleX(elem, name); 2268 if (cssBoxValue == null || Number(cssBoxValue) < 0) { 2269 cssBoxValue = elem.style[name] || 0; 2270 } 2271 // Normalize '', auto, and prepare for extra 2272 cssBoxValue = parseFloat(cssBoxValue) || 0; 2273 } 2274 if (extra === undefined) { 2275 extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX; 2276 } 2277 var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox; 2278 var val = borderBoxValue || cssBoxValue; 2279 if (extra === CONTENT_INDEX) { 2280 if (borderBoxValueOrIsBorderBox) { 2281 return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle); 2282 } 2283 return cssBoxValue; 2284 } 2285 if (borderBoxValueOrIsBorderBox) { 2286 var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle); 2287 return val + (extra === BORDER_INDEX ? 0 : padding); 2288 } 2289 return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle); 2290 } 2291 2292 var cssShow = { 2293 position: 'absolute', 2294 visibility: 'hidden', 2295 display: 'block' 2296 }; 2297 2298 // fix #119 : https://github.com/kissyteam/kissy/issues/119 2299 function getWHIgnoreDisplay(elem) { 2300 var val = undefined; 2301 var args = arguments; 2302 // in case elem is window 2303 // elem.offsetWidth === undefined 2304 if (elem.offsetWidth !== 0) { 2305 val = getWH.apply(undefined, args); 2306 } else { 2307 swap(elem, cssShow, function () { 2308 val = getWH.apply(undefined, args); 2309 }); 2310 } 2311 return val; 2312 } 2313 2314 function css(el, name, v) { 2315 var value = v; 2316 if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') { 2317 for (var i in name) { 2318 if (name.hasOwnProperty(i)) { 2319 css(el, i, name[i]); 2320 } 2321 } 2322 return undefined; 2323 } 2324 if (typeof value !== 'undefined') { 2325 if (typeof value === 'number') { 2326 value += 'px'; 2327 } 2328 el.style[name] = value; 2329 return undefined; 2330 } 2331 return getComputedStyleX(el, name); 2332 } 2333 2334 each(['width', 'height'], function (name) { 2335 var first = name.charAt(0).toUpperCase() + name.slice(1); 2336 domUtils['outer' + first] = function (el, includeMargin) { 2337 return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX); 2338 }; 2339 var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom']; 2340 2341 domUtils[name] = function (elem, val) { 2342 if (val !== undefined) { 2343 if (elem) { 2344 var computedStyle = getComputedStyleX(elem); 2345 var isBorderBox = isBorderBoxFn(elem); 2346 if (isBorderBox) { 2347 val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle); 2348 } 2349 return css(elem, name, val); 2350 } 2351 return undefined; 2352 } 2353 return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX); 2354 }; 2355 }); 2356 2357 // 设置 elem 相对 elem.ownerDocument 的坐标 2358 function setOffset(elem, offset) { 2359 // set position first, in-case top/left are set even on static elem 2360 if (css(elem, 'position') === 'static') { 2361 elem.style.position = 'relative'; 2362 } 2363 2364 var old = getOffset(elem); 2365 var ret = {}; 2366 var current = undefined; 2367 var key = undefined; 2368 2369 for (key in offset) { 2370 if (offset.hasOwnProperty(key)) { 2371 current = parseFloat(css(elem, key)) || 0; 2372 ret[key] = current + offset[key] - old[key]; 2373 } 2374 } 2375 css(elem, ret); 2376 } 2377 2378 module.exports = _extends({ 2379 getWindow: function getWindow(node) { 2380 var doc = node.ownerDocument || node; 2381 return doc.defaultView || doc.parentWindow; 2382 }, 2383 offset: function offset(el, value) { 2384 if (typeof value !== 'undefined') { 2385 setOffset(el, value); 2386 } else { 2387 return getOffset(el); 2388 } 2389 }, 2390 2391 isWindow: isWindow, 2392 each: each, 2393 css: css, 2394 clone: function clone(obj) { 2395 var ret = {}; 2396 for (var i in obj) { 2397 if (obj.hasOwnProperty(i)) { 2398 ret[i] = obj[i]; 2399 } 2400 } 2401 var overflow = obj.overflow; 2402 if (overflow) { 2403 for (var i in obj) { 2404 if (obj.hasOwnProperty(i)) { 2405 ret.overflow[i] = obj.overflow[i]; 2406 } 2407 } 2408 } 2409 return ret; 2410 }, 2411 scrollLeft: function scrollLeft(w, v) { 2412 if (isWindow(w)) { 2413 if (v === undefined) { 2414 return getScrollLeft(w); 2415 } 2416 window.scrollTo(v, getScrollTop(w)); 2417 } else { 2418 if (v === undefined) { 2419 return w.scrollLeft; 2420 } 2421 w.scrollLeft = v; 2422 } 2423 }, 2424 scrollTop: function scrollTop(w, v) { 2425 if (isWindow(w)) { 2426 if (v === undefined) { 2427 return getScrollTop(w); 2428 } 2429 window.scrollTo(getScrollLeft(w), v); 2430 } else { 2431 if (v === undefined) { 2432 return w.scrollTop; 2433 } 2434 w.scrollTop = v; 2435 } 2436 }, 2437 2438 viewportWidth: 0, 2439 viewportHeight: 0 2440 }, domUtils); 2441 2442 /***/ }), 2443 2444 /***/ 9214: 2445 /***/ (function(__unused_webpack_module, exports) { 2446 2447 "use strict"; 2448 var __webpack_unused_export__; 2449 /** @license React v17.0.2 2450 * react-is.production.min.js 2451 * 2452 * Copyright (c) Facebook, Inc. and its affiliates. 2453 * 2454 * This source code is licensed under the MIT license found in the 2455 * LICENSE file in the root directory of this source tree. 2456 */ 2457 var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131; 2458 if("function"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x("react.element");c=x("react.portal");d=x("react.fragment");e=x("react.strict_mode");f=x("react.profiler");g=x("react.provider");h=x("react.context");k=x("react.forward_ref");l=x("react.suspense");m=x("react.suspense_list");n=x("react.memo");p=x("react.lazy");q=x("react.block");r=x("react.server.block");u=x("react.fundamental");v=x("react.debug_trace_mode");w=x("react.legacy_hidden")} 2459 function y(a){if("object"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;__webpack_unused_export__=h;__webpack_unused_export__=z;__webpack_unused_export__=A;__webpack_unused_export__=B;__webpack_unused_export__=C;__webpack_unused_export__=D;__webpack_unused_export__=E;__webpack_unused_export__=F;__webpack_unused_export__=G;__webpack_unused_export__=H; 2460 __webpack_unused_export__=I;__webpack_unused_export__=function(){return!1};__webpack_unused_export__=function(){return!1};__webpack_unused_export__=function(a){return y(a)===h};__webpack_unused_export__=function(a){return y(a)===g};__webpack_unused_export__=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===b};__webpack_unused_export__=function(a){return y(a)===k};__webpack_unused_export__=function(a){return y(a)===d};__webpack_unused_export__=function(a){return y(a)===p};__webpack_unused_export__=function(a){return y(a)===n}; 2461 __webpack_unused_export__=function(a){return y(a)===c};__webpack_unused_export__=function(a){return y(a)===f};__webpack_unused_export__=function(a){return y(a)===e};__webpack_unused_export__=function(a){return y(a)===l};__webpack_unused_export__=function(a){return"string"===typeof a||"function"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||"object"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1}; 2462 __webpack_unused_export__=y; 2463 2464 2465 /***/ }), 2466 2467 /***/ 2797: 2468 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2469 2470 "use strict"; 2471 2472 2473 if (true) { 2474 /* unused reexport */ __webpack_require__(9214); 2475 } else {} 2476 2477 2478 /***/ }), 2479 2480 /***/ 2505: 2481 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2482 2483 "use strict"; 2484 2485 2486 var has = __webpack_require__(9284); 2487 2488 var hasUnscopables = typeof Symbol === 'function' && typeof Symbol.unscopables === 'symbol'; 2489 2490 var map = hasUnscopables && Array.prototype[Symbol.unscopables]; 2491 2492 var $TypeError = TypeError; 2493 2494 module.exports = function shimUnscopables(method) { 2495 if (typeof method !== 'string' || !method) { 2496 throw new $TypeError('method must be a non-empty string'); 2497 } 2498 if (!has(Array.prototype, method)) { 2499 throw new $TypeError('method must be on Array.prototype'); 2500 } 2501 if (hasUnscopables) { 2502 map[method] = true; 2503 } 2504 }; 2505 2506 2507 /***/ }), 2508 2509 /***/ 5249: 2510 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2511 2512 "use strict"; 2513 2514 2515 var hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol'; 2516 2517 var isPrimitive = __webpack_require__(3777); 2518 var isCallable = __webpack_require__(5443); 2519 var isDate = __webpack_require__(8659); 2520 var isSymbol = __webpack_require__(3082); 2521 2522 var ordinaryToPrimitive = function OrdinaryToPrimitive(O, hint) { 2523 if (typeof O === 'undefined' || O === null) { 2524 throw new TypeError('Cannot call method on ' + O); 2525 } 2526 if (typeof hint !== 'string' || (hint !== 'number' && hint !== 'string')) { 2527 throw new TypeError('hint must be "string" or "number"'); 2528 } 2529 var methodNames = hint === 'string' ? ['toString', 'valueOf'] : ['valueOf', 'toString']; 2530 var method, result, i; 2531 for (i = 0; i < methodNames.length; ++i) { 2532 method = O[methodNames[i]]; 2533 if (isCallable(method)) { 2534 result = method.call(O); 2535 if (isPrimitive(result)) { 2536 return result; 2537 } 2538 } 2539 } 2540 throw new TypeError('No default value'); 2541 }; 2542 2543 var GetMethod = function GetMethod(O, P) { 2544 var func = O[P]; 2545 if (func !== null && typeof func !== 'undefined') { 2546 if (!isCallable(func)) { 2547 throw new TypeError(func + ' returned for property ' + P + ' of object ' + O + ' is not a function'); 2548 } 2549 return func; 2550 } 2551 return void 0; 2552 }; 2553 2554 // http://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive 2555 module.exports = function ToPrimitive(input) { 2556 if (isPrimitive(input)) { 2557 return input; 2558 } 2559 var hint = 'default'; 2560 if (arguments.length > 1) { 2561 if (arguments[1] === String) { 2562 hint = 'string'; 2563 } else if (arguments[1] === Number) { 2564 hint = 'number'; 2565 } 2566 } 2567 2568 var exoticToPrim; 2569 if (hasSymbols) { 2570 if (Symbol.toPrimitive) { 2571 exoticToPrim = GetMethod(input, Symbol.toPrimitive); 2572 } else if (isSymbol(input)) { 2573 exoticToPrim = Symbol.prototype.valueOf; 2574 } 2575 } 2576 if (typeof exoticToPrim !== 'undefined') { 2577 var result = exoticToPrim.call(input, hint); 2578 if (isPrimitive(result)) { 2579 return result; 2580 } 2581 throw new TypeError('unable to convert exotic object to primitive'); 2582 } 2583 if (hint === 'default' && (isDate(input) || isSymbol(input))) { 2584 hint = 'string'; 2585 } 2586 return ordinaryToPrimitive(input, hint === 'default' ? 'number' : hint); 2587 }; 2588 2589 2590 /***/ }), 2591 2592 /***/ 3777: 2593 /***/ (function(module) { 2594 2595 "use strict"; 2596 2597 2598 module.exports = function isPrimitive(value) { 2599 return value === null || (typeof value !== 'function' && typeof value !== 'object'); 2600 }; 2601 2602 2603 /***/ }), 2604 2605 /***/ 9930: 2606 /***/ (function(module) { 2607 2608 "use strict"; 2609 2610 2611 /* eslint no-invalid-this: 1 */ 2612 2613 var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible '; 2614 var slice = Array.prototype.slice; 2615 var toStr = Object.prototype.toString; 2616 var funcType = '[object Function]'; 2617 2618 module.exports = function bind(that) { 2619 var target = this; 2620 if (typeof target !== 'function' || toStr.call(target) !== funcType) { 2621 throw new TypeError(ERROR_MESSAGE + target); 2622 } 2623 var args = slice.call(arguments, 1); 2624 2625 var bound; 2626 var binder = function () { 2627 if (this instanceof bound) { 2628 var result = target.apply( 2629 this, 2630 args.concat(slice.call(arguments)) 2631 ); 2632 if (Object(result) === result) { 2633 return result; 2634 } 2635 return this; 2636 } else { 2637 return target.apply( 2638 that, 2639 args.concat(slice.call(arguments)) 2640 ); 2641 } 2642 }; 2643 2644 var boundLength = Math.max(0, target.length - args.length); 2645 var boundArgs = []; 2646 for (var i = 0; i < boundLength; i++) { 2647 boundArgs.push('$' + i); 2648 } 2649 2650 bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder); 2651 2652 if (target.prototype) { 2653 var Empty = function Empty() {}; 2654 Empty.prototype = target.prototype; 2655 bound.prototype = new Empty(); 2656 Empty.prototype = null; 2657 } 2658 2659 return bound; 2660 }; 2661 2662 2663 /***/ }), 2664 2665 /***/ 1930: 2666 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2667 2668 "use strict"; 2669 2670 2671 var implementation = __webpack_require__(9930); 2672 2673 module.exports = Function.prototype.bind || implementation; 2674 2675 2676 /***/ }), 2677 2678 /***/ 1801: 2679 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 2680 2681 "use strict"; 2682 2683 2684 /* globals 2685 AggregateError, 2686 Atomics, 2687 FinalizationRegistry, 2688 SharedArrayBuffer, 2689 WeakRef, 2690 */ 2691 2692 var undefined; 2693 2694 var $SyntaxError = SyntaxError; 2695 var $Function = Function; 2696 var $TypeError = TypeError; 2697 2698 // eslint-disable-next-line consistent-return 2699 var getEvalledConstructor = function (expressionSyntax) { 2700 try { 2701 // eslint-disable-next-line no-new-func 2702 return Function('"use strict"; return (' + expressionSyntax + ').constructor;')(); 2703 } catch (e) {} 2704 }; 2705 2706 var $gOPD = Object.getOwnPropertyDescriptor; 2707 if ($gOPD) { 2708 try { 2709 $gOPD({}, ''); 2710 } catch (e) { 2711 $gOPD = null; // this is IE 8, which has a broken gOPD 2712 } 2713 } 2714 2715 var throwTypeError = function () { 2716 throw new $TypeError(); 2717 }; 2718 var ThrowTypeError = $gOPD 2719 ? (function () { 2720 try { 2721 // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties 2722 arguments.callee; // IE 8 does not throw here 2723 return throwTypeError; 2724 } catch (calleeThrows) { 2725 try { 2726 // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '') 2727 return $gOPD(arguments, 'callee').get; 2728 } catch (gOPDthrows) { 2729 return throwTypeError; 2730 } 2731 } 2732 }()) 2733 : throwTypeError; 2734 2735 var hasSymbols = __webpack_require__(9905)(); 2736 2737 var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto 2738 2739 var asyncGenFunction = getEvalledConstructor('async function* () {}'); 2740 var asyncGenFunctionPrototype = asyncGenFunction ? asyncGenFunction.prototype : undefined; 2741 var asyncGenPrototype = asyncGenFunctionPrototype ? asyncGenFunctionPrototype.prototype : undefined; 2742 2743 var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array); 2744 2745 var INTRINSICS = { 2746 '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError, 2747 '%Array%': Array, 2748 '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer, 2749 '%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined, 2750 '%AsyncFromSyncIteratorPrototype%': undefined, 2751 '%AsyncFunction%': getEvalledConstructor('async function () {}'), 2752 '%AsyncGenerator%': asyncGenFunctionPrototype, 2753 '%AsyncGeneratorFunction%': asyncGenFunction, 2754 '%AsyncIteratorPrototype%': asyncGenPrototype ? getProto(asyncGenPrototype) : undefined, 2755 '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics, 2756 '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt, 2757 '%Boolean%': Boolean, 2758 '%DataView%': typeof DataView === 'undefined' ? undefined : DataView, 2759 '%Date%': Date, 2760 '%decodeURI%': decodeURI, 2761 '%decodeURIComponent%': decodeURIComponent, 2762 '%encodeURI%': encodeURI, 2763 '%encodeURIComponent%': encodeURIComponent, 2764 '%Error%': Error, 2765 '%eval%': eval, // eslint-disable-line no-eval 2766 '%EvalError%': EvalError, 2767 '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array, 2768 '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array, 2769 '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry, 2770 '%Function%': $Function, 2771 '%GeneratorFunction%': getEvalledConstructor('function* () {}'), 2772 '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array, 2773 '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array, 2774 '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array, 2775 '%isFinite%': isFinite, 2776 '%isNaN%': isNaN, 2777 '%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined, 2778 '%JSON%': typeof JSON === 'object' ? JSON : undefined, 2779 '%Map%': typeof Map === 'undefined' ? undefined : Map, 2780 '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()), 2781 '%Math%': Math, 2782 '%Number%': Number, 2783 '%Object%': Object, 2784 '%parseFloat%': parseFloat, 2785 '%parseInt%': parseInt, 2786 '%Promise%': typeof Promise === 'undefined' ? undefined : Promise, 2787 '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy, 2788 '%RangeError%': RangeError, 2789 '%ReferenceError%': ReferenceError, 2790 '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect, 2791 '%RegExp%': RegExp, 2792 '%Set%': typeof Set === 'undefined' ? undefined : Set, 2793 '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()), 2794 '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer, 2795 '%String%': String, 2796 '%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined, 2797 '%Symbol%': hasSymbols ? Symbol : undefined, 2798 '%SyntaxError%': $SyntaxError, 2799 '%ThrowTypeError%': ThrowTypeError, 2800 '%TypedArray%': TypedArray, 2801 '%TypeError%': $TypeError, 2802 '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array, 2803 '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray, 2804 '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array, 2805 '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array, 2806 '%URIError%': URIError, 2807 '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap, 2808 '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef, 2809 '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet 2810 }; 2811 2812 var LEGACY_ALIASES = { 2813 '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'], 2814 '%ArrayPrototype%': ['Array', 'prototype'], 2815 '%ArrayProto_entries%': ['Array', 'prototype', 'entries'], 2816 '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'], 2817 '%ArrayProto_keys%': ['Array', 'prototype', 'keys'], 2818 '%ArrayProto_values%': ['Array', 'prototype', 'values'], 2819 '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'], 2820 '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'], 2821 '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'], 2822 '%BooleanPrototype%': ['Boolean', 'prototype'], 2823 '%DataViewPrototype%': ['DataView', 'prototype'], 2824 '%DatePrototype%': ['Date', 'prototype'], 2825 '%ErrorPrototype%': ['Error', 'prototype'], 2826 '%EvalErrorPrototype%': ['EvalError', 'prototype'], 2827 '%Float32ArrayPrototype%': ['Float32Array', 'prototype'], 2828 '%Float64ArrayPrototype%': ['Float64Array', 'prototype'], 2829 '%FunctionPrototype%': ['Function', 'prototype'], 2830 '%Generator%': ['GeneratorFunction', 'prototype'], 2831 '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'], 2832 '%Int8ArrayPrototype%': ['Int8Array', 'prototype'], 2833 '%Int16ArrayPrototype%': ['Int16Array', 'prototype'], 2834 '%Int32ArrayPrototype%': ['Int32Array', 'prototype'], 2835 '%JSONParse%': ['JSON', 'parse'], 2836 '%JSONStringify%': ['JSON', 'stringify'], 2837 '%MapPrototype%': ['Map', 'prototype'], 2838 '%NumberPrototype%': ['Number', 'prototype'], 2839 '%ObjectPrototype%': ['Object', 'prototype'], 2840 '%ObjProto_toString%': ['Object', 'prototype', 'toString'], 2841 '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'], 2842 '%PromisePrototype%': ['Promise', 'prototype'], 2843 '%PromiseProto_then%': ['Promise', 'prototype', 'then'], 2844 '%Promise_all%': ['Promise', 'all'], 2845 '%Promise_reject%': ['Promise', 'reject'], 2846 '%Promise_resolve%': ['Promise', 'resolve'], 2847 '%RangeErrorPrototype%': ['RangeError', 'prototype'], 2848 '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'], 2849 '%RegExpPrototype%': ['RegExp', 'prototype'], 2850 '%SetPrototype%': ['Set', 'prototype'], 2851 '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'], 2852 '%StringPrototype%': ['String', 'prototype'], 2853 '%SymbolPrototype%': ['Symbol', 'prototype'], 2854 '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'], 2855 '%TypedArrayPrototype%': ['TypedArray', 'prototype'], 2856 '%TypeErrorPrototype%': ['TypeError', 'prototype'], 2857 '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'], 2858 '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'], 2859 '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'], 2860 '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'], 2861 '%URIErrorPrototype%': ['URIError', 'prototype'], 2862 '%WeakMapPrototype%': ['WeakMap', 'prototype'], 2863 '%WeakSetPrototype%': ['WeakSet', 'prototype'] 2864 }; 2865 2866 var bind = __webpack_require__(1930); 2867 var hasOwn = __webpack_require__(9284); 2868 var $concat = bind.call(Function.call, Array.prototype.concat); 2869 var $spliceApply = bind.call(Function.apply, Array.prototype.splice); 2870 var $replace = bind.call(Function.call, String.prototype.replace); 2871 var $strSlice = bind.call(Function.call, String.prototype.slice); 2872 2873 /* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */ 2874 var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; 2875 var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */ 2876 var stringToPath = function stringToPath(string) { 2877 var first = $strSlice(string, 0, 1); 2878 var last = $strSlice(string, -1); 2879 if (first === '%' && last !== '%') { 2880 throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`'); 2881 } else if (last === '%' && first !== '%') { 2882 throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`'); 2883 } 2884 var result = []; 2885 $replace(string, rePropName, function (match, number, quote, subString) { 2886 result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match; 2887 }); 2888 return result; 2889 }; 2890 /* end adaptation */ 2891 2892 var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) { 2893 var intrinsicName = name; 2894 var alias; 2895 if (hasOwn(LEGACY_ALIASES, intrinsicName)) { 2896 alias = LEGACY_ALIASES[intrinsicName]; 2897 intrinsicName = '%' + alias[0] + '%'; 2898 } 2899 2900 if (hasOwn(INTRINSICS, intrinsicName)) { 2901 var value = INTRINSICS[intrinsicName]; 2902 if (typeof value === 'undefined' && !allowMissing) { 2903 throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!'); 2904 } 2905 2906 return { 2907 alias: alias, 2908 name: intrinsicName, 2909 value: value 2910 }; 2911 } 2912 2913 throw new $SyntaxError('intrinsic ' + name + ' does not exist!'); 2914 }; 2915 2916 module.exports = function GetIntrinsic(name, allowMissing) { 2917 if (typeof name !== 'string' || name.length === 0) { 2918 throw new $TypeError('intrinsic name must be a non-empty string'); 2919 } 2920 if (arguments.length > 1 && typeof allowMissing !== 'boolean') { 2921 throw new $TypeError('"allowMissing" argument must be a boolean'); 2922 } 2923 2924 var parts = stringToPath(name); 2925 var intrinsicBaseName = parts.length > 0 ? parts[0] : ''; 2926 2927 var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing); 2928 var intrinsicRealName = intrinsic.name; 2929 var value = intrinsic.value; 2930 var skipFurtherCaching = false; 2931 2932 var alias = intrinsic.alias; 2933 if (alias) { 2934 intrinsicBaseName = alias[0]; 2935 $spliceApply(parts, $concat([0, 1], alias)); 2936 } 2937 2938 for (var i = 1, isOwn = true; i < parts.length; i += 1) { 2939 var part = parts[i]; 2940 var first = $strSlice(part, 0, 1); 2941 var last = $strSlice(part, -1); 2942 if ( 2943 ( 2944 (first === '"' || first === "'" || first === '`') 2945 || (last === '"' || last === "'" || last === '`') 2946 ) 2947 && first !== last 2948 ) { 2949 throw new $SyntaxError('property names with quotes must have matching quotes'); 2950 } 2951 if (part === 'constructor' || !isOwn) { 2952 skipFurtherCaching = true; 2953 } 2954 2955 intrinsicBaseName += '.' + part; 2956 intrinsicRealName = '%' + intrinsicBaseName + '%'; 2957 2958 if (hasOwn(INTRINSICS, intrinsicRealName)) { 2959 value = INTRINSICS[intrinsicRealName]; 2960 } else if (value != null) { 2961 if (!(part in value)) { 2962 if (!allowMissing) { 2963 throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.'); 2964 } 2965 return void undefined; 2966 } 2967 if ($gOPD && (i + 1) >= parts.length) { 2968 var desc = $gOPD(value, part); 2969 isOwn = !!desc; 2970 2971 // By convention, when a data property is converted to an accessor 2972 // property to emulate a data property that does not suffer from 2973 // the override mistake, that accessor's getter is marked with 2974 // an `originalValue` property. Here, when we detect this, we 2975 // uphold the illusion by pretending to see that original data 2976 // property, i.e., returning the value rather than the getter 2977 // itself. 2978 if (isOwn && 'get' in desc && !('originalValue' in desc.get)) { 2979 value = desc.get; 2980 } else { 2981 value = value[part]; 2982 } 2983 } else { 2984 isOwn = hasOwn(value, part); 2985 value = value[part]; 2986 } 2987 2988 if (isOwn && !skipFurtherCaching) { 2989 INTRINSICS[intrinsicRealName] = value; 2990 } 2991 } 2992 } 2993 return value; 2994 }; 2995 2996 2997 /***/ }), 2998 2999 /***/ 5371: 3000 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3001 3002 "use strict"; 3003 3004 3005 var define = __webpack_require__(9170); 3006 var isSymbol = __webpack_require__(3082); 3007 3008 var globalKey = '__ global cache key __'; 3009 /* istanbul ignore else */ 3010 // eslint-disable-next-line no-restricted-properties 3011 if (typeof Symbol === 'function' && isSymbol(Symbol('foo')) && typeof Symbol['for'] === 'function') { 3012 // eslint-disable-next-line no-restricted-properties 3013 globalKey = Symbol['for'](globalKey); 3014 } 3015 3016 var trueThunk = function () { 3017 return true; 3018 }; 3019 3020 var ensureCache = function ensureCache() { 3021 if (!__webpack_require__.g[globalKey]) { 3022 var properties = {}; 3023 properties[globalKey] = {}; 3024 var predicates = {}; 3025 predicates[globalKey] = trueThunk; 3026 define(__webpack_require__.g, properties, predicates); 3027 } 3028 return __webpack_require__.g[globalKey]; 3029 }; 3030 3031 var cache = ensureCache(); 3032 3033 var isPrimitive = function isPrimitive(val) { 3034 return val === null || (typeof val !== 'object' && typeof val !== 'function'); 3035 }; 3036 3037 var getPrimitiveKey = function getPrimitiveKey(val) { 3038 if (isSymbol(val)) { 3039 return Symbol.prototype.valueOf.call(val); 3040 } 3041 return typeof val + ' | ' + String(val); 3042 }; 3043 3044 var requirePrimitiveKey = function requirePrimitiveKey(val) { 3045 if (!isPrimitive(val)) { 3046 throw new TypeError('key must not be an object'); 3047 } 3048 }; 3049 3050 var globalCache = { 3051 clear: function clear() { 3052 delete __webpack_require__.g[globalKey]; 3053 cache = ensureCache(); 3054 }, 3055 3056 'delete': function deleteKey(key) { 3057 requirePrimitiveKey(key); 3058 delete cache[getPrimitiveKey(key)]; 3059 return !globalCache.has(key); 3060 }, 3061 3062 get: function get(key) { 3063 requirePrimitiveKey(key); 3064 return cache[getPrimitiveKey(key)]; 3065 }, 3066 3067 has: function has(key) { 3068 requirePrimitiveKey(key); 3069 return getPrimitiveKey(key) in cache; 3070 }, 3071 3072 set: function set(key, value) { 3073 requirePrimitiveKey(key); 3074 var primitiveKey = getPrimitiveKey(key); 3075 var props = {}; 3076 props[primitiveKey] = value; 3077 var predicates = {}; 3078 predicates[primitiveKey] = trueThunk; 3079 define(cache, props, predicates); 3080 return globalCache.has(key); 3081 }, 3082 3083 setIfMissingThenGet: function setIfMissingThenGet(key, valueThunk) { 3084 if (globalCache.has(key)) { 3085 return globalCache.get(key); 3086 } 3087 var item = valueThunk(); 3088 globalCache.set(key, item); 3089 return item; 3090 } 3091 }; 3092 3093 module.exports = globalCache; 3094 3095 3096 /***/ }), 3097 3098 /***/ 7115: 3099 /***/ (function(__unused_webpack_module, exports) { 3100 3101 // Copyright (c) 2014 Rafael Caricio. All rights reserved. 3102 // Use of this source code is governed by a BSD-style license that can be 3103 // found in the LICENSE file. 3104 3105 var GradientParser = {}; 3106 3107 GradientParser.parse = (function() { 3108 3109 var tokens = { 3110 linearGradient: /^(\-(webkit|o|ms|moz)\-)?(linear\-gradient)/i, 3111 repeatingLinearGradient: /^(\-(webkit|o|ms|moz)\-)?(repeating\-linear\-gradient)/i, 3112 radialGradient: /^(\-(webkit|o|ms|moz)\-)?(radial\-gradient)/i, 3113 repeatingRadialGradient: /^(\-(webkit|o|ms|moz)\-)?(repeating\-radial\-gradient)/i, 3114 sideOrCorner: /^to (left (top|bottom)|right (top|bottom)|left|right|top|bottom)/i, 3115 extentKeywords: /^(closest\-side|closest\-corner|farthest\-side|farthest\-corner|contain|cover)/, 3116 positionKeywords: /^(left|center|right|top|bottom)/i, 3117 pixelValue: /^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))px/, 3118 percentageValue: /^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))\%/, 3119 emValue: /^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))em/, 3120 angleValue: /^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))deg/, 3121 startCall: /^\(/, 3122 endCall: /^\)/, 3123 comma: /^,/, 3124 hexColor: /^\#([0-9a-fA-F]+)/, 3125 literalColor: /^([a-zA-Z]+)/, 3126 rgbColor: /^rgb/i, 3127 rgbaColor: /^rgba/i, 3128 number: /^(([0-9]*\.[0-9]+)|([0-9]+\.?))/ 3129 }; 3130 3131 var input = ''; 3132 3133 function error(msg) { 3134 var err = new Error(input + ': ' + msg); 3135 err.source = input; 3136 throw err; 3137 } 3138 3139 function getAST() { 3140 var ast = matchListDefinitions(); 3141 3142 if (input.length > 0) { 3143 error('Invalid input not EOF'); 3144 } 3145 3146 return ast; 3147 } 3148 3149 function matchListDefinitions() { 3150 return matchListing(matchDefinition); 3151 } 3152 3153 function matchDefinition() { 3154 return matchGradient( 3155 'linear-gradient', 3156 tokens.linearGradient, 3157 matchLinearOrientation) || 3158 3159 matchGradient( 3160 'repeating-linear-gradient', 3161 tokens.repeatingLinearGradient, 3162 matchLinearOrientation) || 3163 3164 matchGradient( 3165 'radial-gradient', 3166 tokens.radialGradient, 3167 matchListRadialOrientations) || 3168 3169 matchGradient( 3170 'repeating-radial-gradient', 3171 tokens.repeatingRadialGradient, 3172 matchListRadialOrientations); 3173 } 3174 3175 function matchGradient(gradientType, pattern, orientationMatcher) { 3176 return matchCall(pattern, function(captures) { 3177 3178 var orientation = orientationMatcher(); 3179 if (orientation) { 3180 if (!scan(tokens.comma)) { 3181 error('Missing comma before color stops'); 3182 } 3183 } 3184 3185 return { 3186 type: gradientType, 3187 orientation: orientation, 3188 colorStops: matchListing(matchColorStop) 3189 }; 3190 }); 3191 } 3192 3193 function matchCall(pattern, callback) { 3194 var captures = scan(pattern); 3195 3196 if (captures) { 3197 if (!scan(tokens.startCall)) { 3198 error('Missing ('); 3199 } 3200 3201 result = callback(captures); 3202 3203 if (!scan(tokens.endCall)) { 3204 error('Missing )'); 3205 } 3206 3207 return result; 3208 } 3209 } 3210 3211 function matchLinearOrientation() { 3212 return matchSideOrCorner() || 3213 matchAngle(); 3214 } 3215 3216 function matchSideOrCorner() { 3217 return match('directional', tokens.sideOrCorner, 1); 3218 } 3219 3220 function matchAngle() { 3221 return match('angular', tokens.angleValue, 1); 3222 } 3223 3224 function matchListRadialOrientations() { 3225 var radialOrientations, 3226 radialOrientation = matchRadialOrientation(), 3227 lookaheadCache; 3228 3229 if (radialOrientation) { 3230 radialOrientations = []; 3231 radialOrientations.push(radialOrientation); 3232 3233 lookaheadCache = input; 3234 if (scan(tokens.comma)) { 3235 radialOrientation = matchRadialOrientation(); 3236 if (radialOrientation) { 3237 radialOrientations.push(radialOrientation); 3238 } else { 3239 input = lookaheadCache; 3240 } 3241 } 3242 } 3243 3244 return radialOrientations; 3245 } 3246 3247 function matchRadialOrientation() { 3248 var radialType = matchCircle() || 3249 matchEllipse(); 3250 3251 if (radialType) { 3252 radialType.at = matchAtPosition(); 3253 } else { 3254 var defaultPosition = matchPositioning(); 3255 if (defaultPosition) { 3256 radialType = { 3257 type: 'default-radial', 3258 at: defaultPosition 3259 }; 3260 } 3261 } 3262 3263 return radialType; 3264 } 3265 3266 function matchCircle() { 3267 var circle = match('shape', /^(circle)/i, 0); 3268 3269 if (circle) { 3270 circle.style = matchLength() || matchExtentKeyword(); 3271 } 3272 3273 return circle; 3274 } 3275 3276 function matchEllipse() { 3277 var ellipse = match('shape', /^(ellipse)/i, 0); 3278 3279 if (ellipse) { 3280 ellipse.style = matchDistance() || matchExtentKeyword(); 3281 } 3282 3283 return ellipse; 3284 } 3285 3286 function matchExtentKeyword() { 3287 return match('extent-keyword', tokens.extentKeywords, 1); 3288 } 3289 3290 function matchAtPosition() { 3291 if (match('position', /^at/, 0)) { 3292 var positioning = matchPositioning(); 3293 3294 if (!positioning) { 3295 error('Missing positioning value'); 3296 } 3297 3298 return positioning; 3299 } 3300 } 3301 3302 function matchPositioning() { 3303 var location = matchCoordinates(); 3304 3305 if (location.x || location.y) { 3306 return { 3307 type: 'position', 3308 value: location 3309 }; 3310 } 3311 } 3312 3313 function matchCoordinates() { 3314 return { 3315 x: matchDistance(), 3316 y: matchDistance() 3317 }; 3318 } 3319 3320 function matchListing(matcher) { 3321 var captures = matcher(), 3322 result = []; 3323 3324 if (captures) { 3325 result.push(captures); 3326 while (scan(tokens.comma)) { 3327 captures = matcher(); 3328 if (captures) { 3329 result.push(captures); 3330 } else { 3331 error('One extra comma'); 3332 } 3333 } 3334 } 3335 3336 return result; 3337 } 3338 3339 function matchColorStop() { 3340 var color = matchColor(); 3341 3342 if (!color) { 3343 error('Expected color definition'); 3344 } 3345 3346 color.length = matchDistance(); 3347 return color; 3348 } 3349 3350 function matchColor() { 3351 return matchHexColor() || 3352 matchRGBAColor() || 3353 matchRGBColor() || 3354 matchLiteralColor(); 3355 } 3356 3357 function matchLiteralColor() { 3358 return match('literal', tokens.literalColor, 0); 3359 } 3360 3361 function matchHexColor() { 3362 return match('hex', tokens.hexColor, 1); 3363 } 3364 3365 function matchRGBColor() { 3366 return matchCall(tokens.rgbColor, function() { 3367 return { 3368 type: 'rgb', 3369 value: matchListing(matchNumber) 3370 }; 3371 }); 3372 } 3373 3374 function matchRGBAColor() { 3375 return matchCall(tokens.rgbaColor, function() { 3376 return { 3377 type: 'rgba', 3378 value: matchListing(matchNumber) 3379 }; 3380 }); 3381 } 3382 3383 function matchNumber() { 3384 return scan(tokens.number)[1]; 3385 } 3386 3387 function matchDistance() { 3388 return match('%', tokens.percentageValue, 1) || 3389 matchPositionKeyword() || 3390 matchLength(); 3391 } 3392 3393 function matchPositionKeyword() { 3394 return match('position-keyword', tokens.positionKeywords, 1); 3395 } 3396 3397 function matchLength() { 3398 return match('px', tokens.pixelValue, 1) || 3399 match('em', tokens.emValue, 1); 3400 } 3401 3402 function match(type, pattern, captureIndex) { 3403 var captures = scan(pattern); 3404 if (captures) { 3405 return { 3406 type: type, 3407 value: captures[captureIndex] 3408 }; 3409 } 3410 } 3411 3412 function scan(regexp) { 3413 var captures, 3414 blankCaptures; 3415 3416 blankCaptures = /^[\n\r\t\s]+/.exec(input); 3417 if (blankCaptures) { 3418 consume(blankCaptures[0].length); 3419 } 3420 3421 captures = regexp.exec(input); 3422 if (captures) { 3423 consume(captures[0].length); 3424 } 3425 3426 return captures; 3427 } 3428 3429 function consume(size) { 3430 input = input.substr(size); 3431 } 3432 3433 return function(code) { 3434 input = code.toString(); 3435 return getAST(); 3436 }; 3437 })(); 3438 3439 exports.parse = (GradientParser || {}).parse; 3440 3441 3442 /***/ }), 3443 3444 /***/ 9905: 3445 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3446 3447 "use strict"; 3448 3449 3450 var origSymbol = __webpack_require__.g.Symbol; 3451 var hasSymbolSham = __webpack_require__(5682); 3452 3453 module.exports = function hasNativeSymbols() { 3454 if (typeof origSymbol !== 'function') { return false; } 3455 if (typeof Symbol !== 'function') { return false; } 3456 if (typeof origSymbol('foo') !== 'symbol') { return false; } 3457 if (typeof Symbol('bar') !== 'symbol') { return false; } 3458 3459 return hasSymbolSham(); 3460 }; 3461 3462 3463 /***/ }), 3464 3465 /***/ 5682: 3466 /***/ (function(module) { 3467 3468 "use strict"; 3469 3470 3471 /* eslint complexity: [2, 18], max-statements: [2, 33] */ 3472 module.exports = function hasSymbols() { 3473 if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; } 3474 if (typeof Symbol.iterator === 'symbol') { return true; } 3475 3476 var obj = {}; 3477 var sym = Symbol('test'); 3478 var symObj = Object(sym); 3479 if (typeof sym === 'string') { return false; } 3480 3481 if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; } 3482 if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; } 3483 3484 // temp disabled per https://github.com/ljharb/object.assign/issues/17 3485 // if (sym instanceof Symbol) { return false; } 3486 // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4 3487 // if (!(symObj instanceof Symbol)) { return false; } 3488 3489 // if (typeof Symbol.prototype.toString !== 'function') { return false; } 3490 // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; } 3491 3492 var symVal = 42; 3493 obj[sym] = symVal; 3494 for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax 3495 if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; } 3496 3497 if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; } 3498 3499 var syms = Object.getOwnPropertySymbols(obj); 3500 if (syms.length !== 1 || syms[0] !== sym) { return false; } 3501 3502 if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; } 3503 3504 if (typeof Object.getOwnPropertyDescriptor === 'function') { 3505 var descriptor = Object.getOwnPropertyDescriptor(obj, sym); 3506 if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; } 3507 } 3508 3509 return true; 3510 }; 3511 3512 3513 /***/ }), 3514 3515 /***/ 81: 3516 /***/ (function(module) { 3517 3518 "use strict"; 3519 3520 3521 /* eslint complexity: [2, 18], max-statements: [2, 33] */ 3522 module.exports = function hasSymbols() { 3523 if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; } 3524 if (typeof Symbol.iterator === 'symbol') { return true; } 3525 3526 var obj = {}; 3527 var sym = Symbol('test'); 3528 var symObj = Object(sym); 3529 if (typeof sym === 'string') { return false; } 3530 3531 if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; } 3532 if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; } 3533 3534 // temp disabled per https://github.com/ljharb/object.assign/issues/17 3535 // if (sym instanceof Symbol) { return false; } 3536 // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4 3537 // if (!(symObj instanceof Symbol)) { return false; } 3538 3539 // if (typeof Symbol.prototype.toString !== 'function') { return false; } 3540 // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; } 3541 3542 var symVal = 42; 3543 obj[sym] = symVal; 3544 for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop 3545 if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; } 3546 3547 if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; } 3548 3549 var syms = Object.getOwnPropertySymbols(obj); 3550 if (syms.length !== 1 || syms[0] !== sym) { return false; } 3551 3552 if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; } 3553 3554 if (typeof Object.getOwnPropertyDescriptor === 'function') { 3555 var descriptor = Object.getOwnPropertyDescriptor(obj, sym); 3556 if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; } 3557 } 3558 3559 return true; 3560 }; 3561 3562 3563 /***/ }), 3564 3565 /***/ 4111: 3566 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3567 3568 "use strict"; 3569 3570 3571 var hasSymbols = __webpack_require__(81); 3572 3573 module.exports = function hasToStringTagShams() { 3574 return hasSymbols() && !!Symbol.toStringTag; 3575 }; 3576 3577 3578 /***/ }), 3579 3580 /***/ 9284: 3581 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3582 3583 "use strict"; 3584 3585 3586 var bind = __webpack_require__(1930); 3587 3588 module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty); 3589 3590 3591 /***/ }), 3592 3593 /***/ 3138: 3594 /***/ (function(module) { 3595 3596 module.exports = 3597 /******/ (function(modules) { // webpackBootstrap 3598 /******/ // The module cache 3599 /******/ var installedModules = {}; 3600 /******/ 3601 /******/ // The require function 3602 /******/ function __nested_webpack_require_187__(moduleId) { 3603 /******/ 3604 /******/ // Check if module is in cache 3605 /******/ if(installedModules[moduleId]) 3606 /******/ return installedModules[moduleId].exports; 3607 /******/ 3608 /******/ // Create a new module (and put it into the cache) 3609 /******/ var module = installedModules[moduleId] = { 3610 /******/ exports: {}, 3611 /******/ id: moduleId, 3612 /******/ loaded: false 3613 /******/ }; 3614 /******/ 3615 /******/ // Execute the module function 3616 /******/ modules[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_187__); 3617 /******/ 3618 /******/ // Flag the module as loaded 3619 /******/ module.loaded = true; 3620 /******/ 3621 /******/ // Return the exports of the module 3622 /******/ return module.exports; 3623 /******/ } 3624 /******/ 3625 /******/ 3626 /******/ // expose the modules object (__webpack_modules__) 3627 /******/ __nested_webpack_require_187__.m = modules; 3628 /******/ 3629 /******/ // expose the module cache 3630 /******/ __nested_webpack_require_187__.c = installedModules; 3631 /******/ 3632 /******/ // __webpack_public_path__ 3633 /******/ __nested_webpack_require_187__.p = ""; 3634 /******/ 3635 /******/ // Load entry module and return exports 3636 /******/ return __nested_webpack_require_187__(0); 3637 /******/ }) 3638 /************************************************************************/ 3639 /******/ ([ 3640 /* 0 */ 3641 /***/ (function(module, exports, __nested_webpack_require_1468__) { 3642 3643 module.exports = __nested_webpack_require_1468__(1); 3644 3645 3646 /***/ }), 3647 /* 1 */ 3648 /***/ (function(module, exports, __nested_webpack_require_1587__) { 3649 3650 'use strict'; 3651 3652 Object.defineProperty(exports, "__esModule", { 3653 value: true 3654 }); 3655 3656 var _utils = __nested_webpack_require_1587__(2); 3657 3658 Object.defineProperty(exports, 'combineChunks', { 3659 enumerable: true, 3660 get: function get() { 3661 return _utils.combineChunks; 3662 } 3663 }); 3664 Object.defineProperty(exports, 'fillInChunks', { 3665 enumerable: true, 3666 get: function get() { 3667 return _utils.fillInChunks; 3668 } 3669 }); 3670 Object.defineProperty(exports, 'findAll', { 3671 enumerable: true, 3672 get: function get() { 3673 return _utils.findAll; 3674 } 3675 }); 3676 Object.defineProperty(exports, 'findChunks', { 3677 enumerable: true, 3678 get: function get() { 3679 return _utils.findChunks; 3680 } 3681 }); 3682 3683 /***/ }), 3684 /* 2 */ 3685 /***/ (function(module, exports) { 3686 3687 'use strict'; 3688 3689 Object.defineProperty(exports, "__esModule", { 3690 value: true 3691 }); 3692 3693 3694 /** 3695 * Creates an array of chunk objects representing both higlightable and non highlightable pieces of text that match each search word. 3696 * @return Array of "chunks" (where a Chunk is { start:number, end:number, highlight:boolean }) 3697 */ 3698 var findAll = exports.findAll = function findAll(_ref) { 3699 var autoEscape = _ref.autoEscape, 3700 _ref$caseSensitive = _ref.caseSensitive, 3701 caseSensitive = _ref$caseSensitive === undefined ? false : _ref$caseSensitive, 3702 _ref$findChunks = _ref.findChunks, 3703 findChunks = _ref$findChunks === undefined ? defaultFindChunks : _ref$findChunks, 3704 sanitize = _ref.sanitize, 3705 searchWords = _ref.searchWords, 3706 textToHighlight = _ref.textToHighlight; 3707 return fillInChunks({ 3708 chunksToHighlight: combineChunks({ 3709 chunks: findChunks({ 3710 autoEscape: autoEscape, 3711 caseSensitive: caseSensitive, 3712 sanitize: sanitize, 3713 searchWords: searchWords, 3714 textToHighlight: textToHighlight 3715 }) 3716 }), 3717 totalLength: textToHighlight ? textToHighlight.length : 0 3718 }); 3719 }; 3720 3721 /** 3722 * Takes an array of {start:number, end:number} objects and combines chunks that overlap into single chunks. 3723 * @return {start:number, end:number}[] 3724 */ 3725 3726 3727 var combineChunks = exports.combineChunks = function combineChunks(_ref2) { 3728 var chunks = _ref2.chunks; 3729 3730 chunks = chunks.sort(function (first, second) { 3731 return first.start - second.start; 3732 }).reduce(function (processedChunks, nextChunk) { 3733 // First chunk just goes straight in the array... 3734 if (processedChunks.length === 0) { 3735 return [nextChunk]; 3736 } else { 3737 // ... subsequent chunks get checked to see if they overlap... 3738 var prevChunk = processedChunks.pop(); 3739 if (nextChunk.start <= prevChunk.end) { 3740 // It may be the case that prevChunk completely surrounds nextChunk, so take the 3741 // largest of the end indeces. 3742 var endIndex = Math.max(prevChunk.end, nextChunk.end); 3743 processedChunks.push({ highlight: false, start: prevChunk.start, end: endIndex }); 3744 } else { 3745 processedChunks.push(prevChunk, nextChunk); 3746 } 3747 return processedChunks; 3748 } 3749 }, []); 3750 3751 return chunks; 3752 }; 3753 3754 /** 3755 * Examine text for any matches. 3756 * If we find matches, add them to the returned array as a "chunk" object ({start:number, end:number}). 3757 * @return {start:number, end:number}[] 3758 */ 3759 var defaultFindChunks = function defaultFindChunks(_ref3) { 3760 var autoEscape = _ref3.autoEscape, 3761 caseSensitive = _ref3.caseSensitive, 3762 _ref3$sanitize = _ref3.sanitize, 3763 sanitize = _ref3$sanitize === undefined ? defaultSanitize : _ref3$sanitize, 3764 searchWords = _ref3.searchWords, 3765 textToHighlight = _ref3.textToHighlight; 3766 3767 textToHighlight = sanitize(textToHighlight); 3768 3769 return searchWords.filter(function (searchWord) { 3770 return searchWord; 3771 }) // Remove empty words 3772 .reduce(function (chunks, searchWord) { 3773 searchWord = sanitize(searchWord); 3774 3775 if (autoEscape) { 3776 searchWord = escapeRegExpFn(searchWord); 3777 } 3778 3779 var regex = new RegExp(searchWord, caseSensitive ? 'g' : 'gi'); 3780 3781 var match = void 0; 3782 while (match = regex.exec(textToHighlight)) { 3783 var _start = match.index; 3784 var _end = regex.lastIndex; 3785 // We do not return zero-length matches 3786 if (_end > _start) { 3787 chunks.push({ highlight: false, start: _start, end: _end }); 3788 } 3789 3790 // Prevent browsers like Firefox from getting stuck in an infinite loop 3791 // See http://www.regexguru.com/2008/04/watch-out-for-zero-length-matches/ 3792 if (match.index === regex.lastIndex) { 3793 regex.lastIndex++; 3794 } 3795 } 3796 3797 return chunks; 3798 }, []); 3799 }; 3800 // Allow the findChunks to be overridden in findAll, 3801 // but for backwards compatibility we export as the old name 3802 exports.findChunks = defaultFindChunks; 3803 3804 /** 3805 * Given a set of chunks to highlight, create an additional set of chunks 3806 * to represent the bits of text between the highlighted text. 3807 * @param chunksToHighlight {start:number, end:number}[] 3808 * @param totalLength number 3809 * @return {start:number, end:number, highlight:boolean}[] 3810 */ 3811 3812 var fillInChunks = exports.fillInChunks = function fillInChunks(_ref4) { 3813 var chunksToHighlight = _ref4.chunksToHighlight, 3814 totalLength = _ref4.totalLength; 3815 3816 var allChunks = []; 3817 var append = function append(start, end, highlight) { 3818 if (end - start > 0) { 3819 allChunks.push({ 3820 start: start, 3821 end: end, 3822 highlight: highlight 3823 }); 3824 } 3825 }; 3826 3827 if (chunksToHighlight.length === 0) { 3828 append(0, totalLength, false); 3829 } else { 3830 var lastIndex = 0; 3831 chunksToHighlight.forEach(function (chunk) { 3832 append(lastIndex, chunk.start, false); 3833 append(chunk.start, chunk.end, true); 3834 lastIndex = chunk.end; 3835 }); 3836 append(lastIndex, totalLength, false); 3837 } 3838 return allChunks; 3839 }; 3840 3841 function defaultSanitize(string) { 3842 return string; 3843 } 3844 3845 function escapeRegExpFn(string) { 3846 return string.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'); 3847 } 3848 3849 /***/ }) 3850 /******/ ]); 3851 3852 3853 /***/ }), 3854 3855 /***/ 1281: 3856 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 3857 3858 "use strict"; 3859 3860 3861 var reactIs = __webpack_require__(338); 3862 3863 /** 3864 * Copyright 2015, Yahoo! Inc. 3865 * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. 3866 */ 3867 var REACT_STATICS = { 3868 childContextTypes: true, 3869 contextType: true, 3870 contextTypes: true, 3871 defaultProps: true, 3872 displayName: true, 3873 getDefaultProps: true, 3874 getDerivedStateFromError: true, 3875 getDerivedStateFromProps: true, 3876 mixins: true, 3877 propTypes: true, 3878 type: true 3879 }; 3880 var KNOWN_STATICS = { 3881 name: true, 3882 length: true, 3883 prototype: true, 3884 caller: true, 3885 callee: true, 3886 arguments: true, 3887 arity: true 3888 }; 3889 var FORWARD_REF_STATICS = { 3890 '$$typeof': true, 3891 render: true, 3892 defaultProps: true, 3893 displayName: true, 3894 propTypes: true 3895 }; 3896 var MEMO_STATICS = { 3897 '$$typeof': true, 3898 compare: true, 3899 defaultProps: true, 3900 displayName: true, 3901 propTypes: true, 3902 type: true 3903 }; 3904 var TYPE_STATICS = {}; 3905 TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS; 3906 TYPE_STATICS[reactIs.Memo] = MEMO_STATICS; 3907 3908 function getStatics(component) { 3909 // React v16.11 and below 3910 if (reactIs.isMemo(component)) { 3911 return MEMO_STATICS; 3912 } // React v16.12 and above 3913 3914 3915 return TYPE_STATICS[component['$$typeof']] || REACT_STATICS; 3916 } 3917 3918 var defineProperty = Object.defineProperty; 3919 var getOwnPropertyNames = Object.getOwnPropertyNames; 3920 var getOwnPropertySymbols = Object.getOwnPropertySymbols; 3921 var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; 3922 var getPrototypeOf = Object.getPrototypeOf; 3923 var objectPrototype = Object.prototype; 3924 function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { 3925 if (typeof sourceComponent !== 'string') { 3926 // don't hoist over string (html) components 3927 if (objectPrototype) { 3928 var inheritedComponent = getPrototypeOf(sourceComponent); 3929 3930 if (inheritedComponent && inheritedComponent !== objectPrototype) { 3931 hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); 3932 } 3933 } 3934 3935 var keys = getOwnPropertyNames(sourceComponent); 3936 3937 if (getOwnPropertySymbols) { 3938 keys = keys.concat(getOwnPropertySymbols(sourceComponent)); 3939 } 3940 3941 var targetStatics = getStatics(targetComponent); 3942 var sourceStatics = getStatics(sourceComponent); 3943 3944 for (var i = 0; i < keys.length; ++i) { 3945 var key = keys[i]; 3946 3947 if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) { 3948 var descriptor = getOwnPropertyDescriptor(sourceComponent, key); 3949 3950 try { 3951 // Avoid failures from read-only properties 3952 defineProperty(targetComponent, key, descriptor); 3953 } catch (e) {} 3954 } 3955 } 3956 } 3957 3958 return targetComponent; 3959 } 3960 3961 module.exports = hoistNonReactStatics; 3962 3963 3964 /***/ }), 3965 3966 /***/ 5443: 3967 /***/ (function(module) { 3968 3969 "use strict"; 3970 3971 3972 var fnToStr = Function.prototype.toString; 3973 var reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply; 3974 var badArrayLike; 3975 var isCallableMarker; 3976 if (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') { 3977 try { 3978 badArrayLike = Object.defineProperty({}, 'length', { 3979 get: function () { 3980 throw isCallableMarker; 3981 } 3982 }); 3983 isCallableMarker = {}; 3984 // eslint-disable-next-line no-throw-literal 3985 reflectApply(function () { throw 42; }, null, badArrayLike); 3986 } catch (_) { 3987 if (_ !== isCallableMarker) { 3988 reflectApply = null; 3989 } 3990 } 3991 } else { 3992 reflectApply = null; 3993 } 3994 3995 var constructorRegex = /^\s*class\b/; 3996 var isES6ClassFn = function isES6ClassFunction(value) { 3997 try { 3998 var fnStr = fnToStr.call(value); 3999 return constructorRegex.test(fnStr); 4000 } catch (e) { 4001 return false; // not a function 4002 } 4003 }; 4004 4005 var tryFunctionObject = function tryFunctionToStr(value) { 4006 try { 4007 if (isES6ClassFn(value)) { return false; } 4008 fnToStr.call(value); 4009 return true; 4010 } catch (e) { 4011 return false; 4012 } 4013 }; 4014 var toStr = Object.prototype.toString; 4015 var fnClass = '[object Function]'; 4016 var genClass = '[object GeneratorFunction]'; 4017 var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol'; 4018 4019 module.exports = reflectApply 4020 ? function isCallable(value) { 4021 if (!value) { return false; } 4022 if (typeof value !== 'function' && typeof value !== 'object') { return false; } 4023 if (typeof value === 'function' && !value.prototype) { return true; } 4024 try { 4025 reflectApply(value, null, badArrayLike); 4026 } catch (e) { 4027 if (e !== isCallableMarker) { return false; } 4028 } 4029 return !isES6ClassFn(value); 4030 } 4031 : function isCallable(value) { 4032 if (!value) { return false; } 4033 if (typeof value !== 'function' && typeof value !== 'object') { return false; } 4034 if (typeof value === 'function' && !value.prototype) { return true; } 4035 if (hasToStringTag) { return tryFunctionObject(value); } 4036 if (isES6ClassFn(value)) { return false; } 4037 var strClass = toStr.call(value); 4038 return strClass === fnClass || strClass === genClass; 4039 }; 4040 4041 4042 /***/ }), 4043 4044 /***/ 8659: 4045 /***/ (function(module) { 4046 4047 "use strict"; 4048 4049 4050 var getDay = Date.prototype.getDay; 4051 var tryDateObject = function tryDateGetDayCall(value) { 4052 try { 4053 getDay.call(value); 4054 return true; 4055 } catch (e) { 4056 return false; 4057 } 4058 }; 4059 4060 var toStr = Object.prototype.toString; 4061 var dateClass = '[object Date]'; 4062 var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol'; 4063 4064 module.exports = function isDateObject(value) { 4065 if (typeof value !== 'object' || value === null) { 4066 return false; 4067 } 4068 return hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass; 4069 }; 4070 4071 4072 /***/ }), 4073 4074 /***/ 3082: 4075 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 4076 4077 "use strict"; 4078 4079 4080 var toStr = Object.prototype.toString; 4081 var hasSymbols = __webpack_require__(9905)(); 4082 4083 if (hasSymbols) { 4084 var symToStr = Symbol.prototype.toString; 4085 var symStringRegex = /^Symbol\(.*\)$/; 4086 var isSymbolObject = function isRealSymbolObject(value) { 4087 if (typeof value.valueOf() !== 'symbol') { 4088 return false; 4089 } 4090 return symStringRegex.test(symToStr.call(value)); 4091 }; 4092 4093 module.exports = function isSymbol(value) { 4094 if (typeof value === 'symbol') { 4095 return true; 4096 } 4097 if (toStr.call(value) !== '[object Symbol]') { 4098 return false; 4099 } 4100 try { 4101 return isSymbolObject(value); 4102 } catch (e) { 4103 return false; 4104 } 4105 }; 4106 } else { 4107 4108 module.exports = function isSymbol(value) { 4109 // this environment does not support Symbols. 4110 return false && 0; 4111 }; 4112 } 4113 4114 4115 /***/ }), 4116 4117 /***/ 5834: 4118 /***/ (function(module, exports) { 4119 4120 Object.defineProperty(exports, "__esModule", ({ 4121 value: true 4122 })); 4123 exports["default"] = isTouchDevice; 4124 function isTouchDevice() { 4125 return !!(typeof window !== 'undefined' && ('ontouchstart' in window || window.DocumentTouch && typeof document !== 'undefined' && document instanceof window.DocumentTouch)) || !!(typeof navigator !== 'undefined' && (navigator.maxTouchPoints || navigator.msMaxTouchPoints)); 4126 } 4127 module.exports = exports['default']; 4128 4129 /***/ }), 4130 4131 /***/ 4937: 4132 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 4133 4134 var root = __webpack_require__(158); 4135 4136 /** Built-in value references. */ 4137 var Symbol = root.Symbol; 4138 4139 module.exports = Symbol; 4140 4141 4142 /***/ }), 4143 4144 /***/ 194: 4145 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 4146 4147 var Symbol = __webpack_require__(4937), 4148 getRawTag = __webpack_require__(5401), 4149 objectToString = __webpack_require__(2445); 4150 4151 /** `Object#toString` result references. */ 4152 var nullTag = '[object Null]', 4153 undefinedTag = '[object Undefined]'; 4154 4155 /** Built-in value references. */ 4156 var symToStringTag = Symbol ? Symbol.toStringTag : undefined; 4157 4158 /** 4159 * The base implementation of `getTag` without fallbacks for buggy environments. 4160 * 4161 * @private 4162 * @param {*} value The value to query. 4163 * @returns {string} Returns the `toStringTag`. 4164 */ 4165 function baseGetTag(value) { 4166 if (value == null) { 4167 return value === undefined ? undefinedTag : nullTag; 4168 } 4169 return (symToStringTag && symToStringTag in Object(value)) 4170 ? getRawTag(value) 4171 : objectToString(value); 4172 } 4173 4174 module.exports = baseGetTag; 4175 4176 4177 /***/ }), 4178 4179 /***/ 2383: 4180 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 4181 4182 var trimmedEndIndex = __webpack_require__(8725); 4183 4184 /** Used to match leading whitespace. */ 4185 var reTrimStart = /^\s+/; 4186 4187 /** 4188 * The base implementation of `_.trim`. 4189 * 4190 * @private 4191 * @param {string} string The string to trim. 4192 * @returns {string} Returns the trimmed string. 4193 */ 4194 function baseTrim(string) { 4195 return string 4196 ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') 4197 : string; 4198 } 4199 4200 module.exports = baseTrim; 4201 4202 4203 /***/ }), 4204 4205 /***/ 4528: 4206 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 4207 4208 /** Detect free variable `global` from Node.js. */ 4209 var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g; 4210 4211 module.exports = freeGlobal; 4212 4213 4214 /***/ }), 4215 4216 /***/ 5401: 4217 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 4218 4219 var Symbol = __webpack_require__(4937); 4220 4221 /** Used for built-in method references. */ 4222 var objectProto = Object.prototype; 4223 4224 /** Used to check objects for own properties. */ 4225 var hasOwnProperty = objectProto.hasOwnProperty; 4226 4227 /** 4228 * Used to resolve the 4229 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) 4230 * of values. 4231 */ 4232 var nativeObjectToString = objectProto.toString; 4233 4234 /** Built-in value references. */ 4235 var symToStringTag = Symbol ? Symbol.toStringTag : undefined; 4236 4237 /** 4238 * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. 4239 * 4240 * @private 4241 * @param {*} value The value to query. 4242 * @returns {string} Returns the raw `toStringTag`. 4243 */ 4244 function getRawTag(value) { 4245 var isOwn = hasOwnProperty.call(value, symToStringTag), 4246 tag = value[symToStringTag]; 4247 4248 try { 4249 value[symToStringTag] = undefined; 4250 var unmasked = true; 4251 } catch (e) {} 4252 4253 var result = nativeObjectToString.call(value); 4254 if (unmasked) { 4255 if (isOwn) { 4256 value[symToStringTag] = tag; 4257 } else { 4258 delete value[symToStringTag]; 4259 } 4260 } 4261 return result; 4262 } 4263 4264 module.exports = getRawTag; 4265 4266 4267 /***/ }), 4268 4269 /***/ 2445: 4270 /***/ (function(module) { 4271 4272 /** Used for built-in method references. */ 4273 var objectProto = Object.prototype; 4274 4275 /** 4276 * Used to resolve the 4277 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) 4278 * of values. 4279 */ 4280 var nativeObjectToString = objectProto.toString; 4281 4282 /** 4283 * Converts `value` to a string using `Object.prototype.toString`. 4284 * 4285 * @private 4286 * @param {*} value The value to convert. 4287 * @returns {string} Returns the converted string. 4288 */ 4289 function objectToString(value) { 4290 return nativeObjectToString.call(value); 4291 } 4292 4293 module.exports = objectToString; 4294 4295 4296 /***/ }), 4297 4298 /***/ 158: 4299 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 4300 4301 var freeGlobal = __webpack_require__(4528); 4302 4303 /** Detect free variable `self`. */ 4304 var freeSelf = typeof self == 'object' && self && self.Object === Object && self; 4305 4306 /** Used as a reference to the global object. */ 4307 var root = freeGlobal || freeSelf || Function('return this')(); 4308 4309 module.exports = root; 4310 4311 4312 /***/ }), 4313 4314 /***/ 8725: 4315 /***/ (function(module) { 4316 4317 /** Used to match a single whitespace character. */ 4318 var reWhitespace = /\s/; 4319 4320 /** 4321 * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace 4322 * character of `string`. 4323 * 4324 * @private 4325 * @param {string} string The string to inspect. 4326 * @returns {number} Returns the index of the last non-whitespace character. 4327 */ 4328 function trimmedEndIndex(string) { 4329 var index = string.length; 4330 4331 while (index-- && reWhitespace.test(string.charAt(index))) {} 4332 return index; 4333 } 4334 4335 module.exports = trimmedEndIndex; 4336 4337 4338 /***/ }), 4339 4340 /***/ 6897: 4341 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 4342 4343 var isObject = __webpack_require__(3619), 4344 now = __webpack_require__(8253), 4345 toNumber = __webpack_require__(5053); 4346 4347 /** Error message constants. */ 4348 var FUNC_ERROR_TEXT = 'Expected a function'; 4349 4350 /* Built-in method references for those with the same name as other `lodash` methods. */ 4351 var nativeMax = Math.max, 4352 nativeMin = Math.min; 4353 4354 /** 4355 * Creates a debounced function that delays invoking `func` until after `wait` 4356 * milliseconds have elapsed since the last time the debounced function was 4357 * invoked. The debounced function comes with a `cancel` method to cancel 4358 * delayed `func` invocations and a `flush` method to immediately invoke them. 4359 * Provide `options` to indicate whether `func` should be invoked on the 4360 * leading and/or trailing edge of the `wait` timeout. The `func` is invoked 4361 * with the last arguments provided to the debounced function. Subsequent 4362 * calls to the debounced function return the result of the last `func` 4363 * invocation. 4364 * 4365 * **Note:** If `leading` and `trailing` options are `true`, `func` is 4366 * invoked on the trailing edge of the timeout only if the debounced function 4367 * is invoked more than once during the `wait` timeout. 4368 * 4369 * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred 4370 * until to the next tick, similar to `setTimeout` with a timeout of `0`. 4371 * 4372 * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) 4373 * for details over the differences between `_.debounce` and `_.throttle`. 4374 * 4375 * @static 4376 * @memberOf _ 4377 * @since 0.1.0 4378 * @category Function 4379 * @param {Function} func The function to debounce. 4380 * @param {number} [wait=0] The number of milliseconds to delay. 4381 * @param {Object} [options={}] The options object. 4382 * @param {boolean} [options.leading=false] 4383 * Specify invoking on the leading edge of the timeout. 4384 * @param {number} [options.maxWait] 4385 * The maximum time `func` is allowed to be delayed before it's invoked. 4386 * @param {boolean} [options.trailing=true] 4387 * Specify invoking on the trailing edge of the timeout. 4388 * @returns {Function} Returns the new debounced function. 4389 * @example 4390 * 4391 * // Avoid costly calculations while the window size is in flux. 4392 * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); 4393 * 4394 * // Invoke `sendMail` when clicked, debouncing subsequent calls. 4395 * jQuery(element).on('click', _.debounce(sendMail, 300, { 4396 * 'leading': true, 4397 * 'trailing': false 4398 * })); 4399 * 4400 * // Ensure `batchLog` is invoked once after 1 second of debounced calls. 4401 * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); 4402 * var source = new EventSource('/stream'); 4403 * jQuery(source).on('message', debounced); 4404 * 4405 * // Cancel the trailing debounced invocation. 4406 * jQuery(window).on('popstate', debounced.cancel); 4407 */ 4408 function debounce(func, wait, options) { 4409 var lastArgs, 4410 lastThis, 4411 maxWait, 4412 result, 4413 timerId, 4414 lastCallTime, 4415 lastInvokeTime = 0, 4416 leading = false, 4417 maxing = false, 4418 trailing = true; 4419 4420 if (typeof func != 'function') { 4421 throw new TypeError(FUNC_ERROR_TEXT); 4422 } 4423 wait = toNumber(wait) || 0; 4424 if (isObject(options)) { 4425 leading = !!options.leading; 4426 maxing = 'maxWait' in options; 4427 maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; 4428 trailing = 'trailing' in options ? !!options.trailing : trailing; 4429 } 4430 4431 function invokeFunc(time) { 4432 var args = lastArgs, 4433 thisArg = lastThis; 4434 4435 lastArgs = lastThis = undefined; 4436 lastInvokeTime = time; 4437 result = func.apply(thisArg, args); 4438 return result; 4439 } 4440 4441 function leadingEdge(time) { 4442 // Reset any `maxWait` timer. 4443 lastInvokeTime = time; 4444 // Start the timer for the trailing edge. 4445 timerId = setTimeout(timerExpired, wait); 4446 // Invoke the leading edge. 4447 return leading ? invokeFunc(time) : result; 4448 } 4449 4450 function remainingWait(time) { 4451 var timeSinceLastCall = time - lastCallTime, 4452 timeSinceLastInvoke = time - lastInvokeTime, 4453 timeWaiting = wait - timeSinceLastCall; 4454 4455 return maxing 4456 ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) 4457 : timeWaiting; 4458 } 4459 4460 function shouldInvoke(time) { 4461 var timeSinceLastCall = time - lastCallTime, 4462 timeSinceLastInvoke = time - lastInvokeTime; 4463 4464 // Either this is the first call, activity has stopped and we're at the 4465 // trailing edge, the system time has gone backwards and we're treating 4466 // it as the trailing edge, or we've hit the `maxWait` limit. 4467 return (lastCallTime === undefined || (timeSinceLastCall >= wait) || 4468 (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); 4469 } 4470 4471 function timerExpired() { 4472 var time = now(); 4473 if (shouldInvoke(time)) { 4474 return trailingEdge(time); 4475 } 4476 // Restart the timer. 4477 timerId = setTimeout(timerExpired, remainingWait(time)); 4478 } 4479 4480 function trailingEdge(time) { 4481 timerId = undefined; 4482 4483 // Only invoke if we have `lastArgs` which means `func` has been 4484 // debounced at least once. 4485 if (trailing && lastArgs) { 4486 return invokeFunc(time); 4487 } 4488 lastArgs = lastThis = undefined; 4489 return result; 4490 } 4491 4492 function cancel() { 4493 if (timerId !== undefined) { 4494 clearTimeout(timerId); 4495 } 4496 lastInvokeTime = 0; 4497 lastArgs = lastCallTime = lastThis = timerId = undefined; 4498 } 4499 4500 function flush() { 4501 return timerId === undefined ? result : trailingEdge(now()); 4502 } 4503 4504 function debounced() { 4505 var time = now(), 4506 isInvoking = shouldInvoke(time); 4507 4508 lastArgs = arguments; 4509 lastThis = this; 4510 lastCallTime = time; 4511 4512 if (isInvoking) { 4513 if (timerId === undefined) { 4514 return leadingEdge(lastCallTime); 4515 } 4516 if (maxing) { 4517 // Handle invocations in a tight loop. 4518 clearTimeout(timerId); 4519 timerId = setTimeout(timerExpired, wait); 4520 return invokeFunc(lastCallTime); 4521 } 4522 } 4523 if (timerId === undefined) { 4524 timerId = setTimeout(timerExpired, wait); 4525 } 4526 return result; 4527 } 4528 debounced.cancel = cancel; 4529 debounced.flush = flush; 4530 return debounced; 4531 } 4532 4533 module.exports = debounce; 4534 4535 4536 /***/ }), 4537 4538 /***/ 3619: 4539 /***/ (function(module) { 4540 4541 /** 4542 * Checks if `value` is the 4543 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) 4544 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) 4545 * 4546 * @static 4547 * @memberOf _ 4548 * @since 0.1.0 4549 * @category Lang 4550 * @param {*} value The value to check. 4551 * @returns {boolean} Returns `true` if `value` is an object, else `false`. 4552 * @example 4553 * 4554 * _.isObject({}); 4555 * // => true 4556 * 4557 * _.isObject([1, 2, 3]); 4558 * // => true 4559 * 4560 * _.isObject(_.noop); 4561 * // => true 4562 * 4563 * _.isObject(null); 4564 * // => false 4565 */ 4566 function isObject(value) { 4567 var type = typeof value; 4568 return value != null && (type == 'object' || type == 'function'); 4569 } 4570 4571 module.exports = isObject; 4572 4573 4574 /***/ }), 4575 4576 /***/ 1653: 4577 /***/ (function(module) { 4578 4579 /** 4580 * Checks if `value` is object-like. A value is object-like if it's not `null` 4581 * and has a `typeof` result of "object". 4582 * 4583 * @static 4584 * @memberOf _ 4585 * @since 4.0.0 4586 * @category Lang 4587 * @param {*} value The value to check. 4588 * @returns {boolean} Returns `true` if `value` is object-like, else `false`. 4589 * @example 4590 * 4591 * _.isObjectLike({}); 4592 * // => true 4593 * 4594 * _.isObjectLike([1, 2, 3]); 4595 * // => true 4596 * 4597 * _.isObjectLike(_.noop); 4598 * // => false 4599 * 4600 * _.isObjectLike(null); 4601 * // => false 4602 */ 4603 function isObjectLike(value) { 4604 return value != null && typeof value == 'object'; 4605 } 4606 4607 module.exports = isObjectLike; 4608 4609 4610 /***/ }), 4611 4612 /***/ 1878: 4613 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 4614 4615 var baseGetTag = __webpack_require__(194), 4616 isObjectLike = __webpack_require__(1653); 4617 4618 /** `Object#toString` result references. */ 4619 var symbolTag = '[object Symbol]'; 4620 4621 /** 4622 * Checks if `value` is classified as a `Symbol` primitive or object. 4623 * 4624 * @static 4625 * @memberOf _ 4626 * @since 4.0.0 4627 * @category Lang 4628 * @param {*} value The value to check. 4629 * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. 4630 * @example 4631 * 4632 * _.isSymbol(Symbol.iterator); 4633 * // => true 4634 * 4635 * _.isSymbol('abc'); 4636 * // => false 4637 */ 4638 function isSymbol(value) { 4639 return typeof value == 'symbol' || 4640 (isObjectLike(value) && baseGetTag(value) == symbolTag); 4641 } 4642 4643 module.exports = isSymbol; 4644 4645 4646 /***/ }), 4647 4648 /***/ 8253: 4649 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 4650 4651 var root = __webpack_require__(158); 4652 4653 /** 4654 * Gets the timestamp of the number of milliseconds that have elapsed since 4655 * the Unix epoch (1 January 1970 00:00:00 UTC). 4656 * 4657 * @static 4658 * @memberOf _ 4659 * @since 2.4.0 4660 * @category Date 4661 * @returns {number} Returns the timestamp. 4662 * @example 4663 * 4664 * _.defer(function(stamp) { 4665 * console.log(_.now() - stamp); 4666 * }, _.now()); 4667 * // => Logs the number of milliseconds it took for the deferred invocation. 4668 */ 4669 var now = function() { 4670 return root.Date.now(); 4671 }; 4672 4673 module.exports = now; 4674 4675 4676 /***/ }), 4677 4678 /***/ 8172: 4679 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 4680 4681 var debounce = __webpack_require__(6897), 4682 isObject = __webpack_require__(3619); 4683 4684 /** Error message constants. */ 4685 var FUNC_ERROR_TEXT = 'Expected a function'; 4686 4687 /** 4688 * Creates a throttled function that only invokes `func` at most once per 4689 * every `wait` milliseconds. The throttled function comes with a `cancel` 4690 * method to cancel delayed `func` invocations and a `flush` method to 4691 * immediately invoke them. Provide `options` to indicate whether `func` 4692 * should be invoked on the leading and/or trailing edge of the `wait` 4693 * timeout. The `func` is invoked with the last arguments provided to the 4694 * throttled function. Subsequent calls to the throttled function return the 4695 * result of the last `func` invocation. 4696 * 4697 * **Note:** If `leading` and `trailing` options are `true`, `func` is 4698 * invoked on the trailing edge of the timeout only if the throttled function 4699 * is invoked more than once during the `wait` timeout. 4700 * 4701 * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred 4702 * until to the next tick, similar to `setTimeout` with a timeout of `0`. 4703 * 4704 * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) 4705 * for details over the differences between `_.throttle` and `_.debounce`. 4706 * 4707 * @static 4708 * @memberOf _ 4709 * @since 0.1.0 4710 * @category Function 4711 * @param {Function} func The function to throttle. 4712 * @param {number} [wait=0] The number of milliseconds to throttle invocations to. 4713 * @param {Object} [options={}] The options object. 4714 * @param {boolean} [options.leading=true] 4715 * Specify invoking on the leading edge of the timeout. 4716 * @param {boolean} [options.trailing=true] 4717 * Specify invoking on the trailing edge of the timeout. 4718 * @returns {Function} Returns the new throttled function. 4719 * @example 4720 * 4721 * // Avoid excessively updating the position while scrolling. 4722 * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); 4723 * 4724 * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. 4725 * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); 4726 * jQuery(element).on('click', throttled); 4727 * 4728 * // Cancel the trailing throttled invocation. 4729 * jQuery(window).on('popstate', throttled.cancel); 4730 */ 4731 function throttle(func, wait, options) { 4732 var leading = true, 4733 trailing = true; 4734 4735 if (typeof func != 'function') { 4736 throw new TypeError(FUNC_ERROR_TEXT); 4737 } 4738 if (isObject(options)) { 4739 leading = 'leading' in options ? !!options.leading : leading; 4740 trailing = 'trailing' in options ? !!options.trailing : trailing; 4741 } 4742 return debounce(func, wait, { 4743 'leading': leading, 4744 'maxWait': wait, 4745 'trailing': trailing 4746 }); 4747 } 4748 4749 module.exports = throttle; 4750 4751 4752 /***/ }), 4753 4754 /***/ 5053: 4755 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 4756 4757 var baseTrim = __webpack_require__(2383), 4758 isObject = __webpack_require__(3619), 4759 isSymbol = __webpack_require__(1878); 4760 4761 /** Used as references for various `Number` constants. */ 4762 var NAN = 0 / 0; 4763 4764 /** Used to detect bad signed hexadecimal string values. */ 4765 var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; 4766 4767 /** Used to detect binary string values. */ 4768 var reIsBinary = /^0b[01]+$/i; 4769 4770 /** Used to detect octal string values. */ 4771 var reIsOctal = /^0o[0-7]+$/i; 4772 4773 /** Built-in method references without a dependency on `root`. */ 4774 var freeParseInt = parseInt; 4775 4776 /** 4777 * Converts `value` to a number. 4778 * 4779 * @static 4780 * @memberOf _ 4781 * @since 4.0.0 4782 * @category Lang 4783 * @param {*} value The value to process. 4784 * @returns {number} Returns the number. 4785 * @example 4786 * 4787 * _.toNumber(3.2); 4788 * // => 3.2 4789 * 4790 * _.toNumber(Number.MIN_VALUE); 4791 * // => 5e-324 4792 * 4793 * _.toNumber(Infinity); 4794 * // => Infinity 4795 * 4796 * _.toNumber('3.2'); 4797 * // => 3.2 4798 */ 4799 function toNumber(value) { 4800 if (typeof value == 'number') { 4801 return value; 4802 } 4803 if (isSymbol(value)) { 4804 return NAN; 4805 } 4806 if (isObject(value)) { 4807 var other = typeof value.valueOf == 'function' ? value.valueOf() : value; 4808 value = isObject(other) ? (other + '') : other; 4809 } 4810 if (typeof value != 'string') { 4811 return value === 0 ? value : +value; 4812 } 4813 value = baseTrim(value); 4814 var isBinary = reIsBinary.test(value); 4815 return (isBinary || reIsOctal.test(value)) 4816 ? freeParseInt(value.slice(2), isBinary ? 2 : 8) 4817 : (reIsBadHex.test(value) ? NAN : +value); 4818 } 4819 4820 module.exports = toNumber; 4821 4822 4823 /***/ }), 4824 4825 /***/ 9756: 4826 /***/ (function(module) { 4827 4828 /** 4829 * Memize options object. 4830 * 4831 * @typedef MemizeOptions 4832 * 4833 * @property {number} [maxSize] Maximum size of the cache. 4834 */ 4835 4836 /** 4837 * Internal cache entry. 4838 * 4839 * @typedef MemizeCacheNode 4840 * 4841 * @property {?MemizeCacheNode|undefined} [prev] Previous node. 4842 * @property {?MemizeCacheNode|undefined} [next] Next node. 4843 * @property {Array<*>} args Function arguments for cache 4844 * entry. 4845 * @property {*} val Function result. 4846 */ 4847 4848 /** 4849 * Properties of the enhanced function for controlling cache. 4850 * 4851 * @typedef MemizeMemoizedFunction 4852 * 4853 * @property {()=>void} clear Clear the cache. 4854 */ 4855 4856 /** 4857 * Accepts a function to be memoized, and returns a new memoized function, with 4858 * optional options. 4859 * 4860 * @template {Function} F 4861 * 4862 * @param {F} fn Function to memoize. 4863 * @param {MemizeOptions} [options] Options object. 4864 * 4865 * @return {F & MemizeMemoizedFunction} Memoized function. 4866 */ 4867 function memize( fn, options ) { 4868 var size = 0; 4869 4870 /** @type {?MemizeCacheNode|undefined} */ 4871 var head; 4872 4873 /** @type {?MemizeCacheNode|undefined} */ 4874 var tail; 4875 4876 options = options || {}; 4877 4878 function memoized( /* ...args */ ) { 4879 var node = head, 4880 len = arguments.length, 4881 args, i; 4882 4883 searchCache: while ( node ) { 4884 // Perform a shallow equality test to confirm that whether the node 4885 // under test is a candidate for the arguments passed. Two arrays 4886 // are shallowly equal if their length matches and each entry is 4887 // strictly equal between the two sets. Avoid abstracting to a 4888 // function which could incur an arguments leaking deoptimization. 4889 4890 // Check whether node arguments match arguments length 4891 if ( node.args.length !== arguments.length ) { 4892 node = node.next; 4893 continue; 4894 } 4895 4896 // Check whether node arguments match arguments values 4897 for ( i = 0; i < len; i++ ) { 4898 if ( node.args[ i ] !== arguments[ i ] ) { 4899 node = node.next; 4900 continue searchCache; 4901 } 4902 } 4903 4904 // At this point we can assume we've found a match 4905 4906 // Surface matched node to head if not already 4907 if ( node !== head ) { 4908 // As tail, shift to previous. Must only shift if not also 4909 // head, since if both head and tail, there is no previous. 4910 if ( node === tail ) { 4911 tail = node.prev; 4912 } 4913 4914 // Adjust siblings to point to each other. If node was tail, 4915 // this also handles new tail's empty `next` assignment. 4916 /** @type {MemizeCacheNode} */ ( node.prev ).next = node.next; 4917 if ( node.next ) { 4918 node.next.prev = node.prev; 4919 } 4920 4921 node.next = head; 4922 node.prev = null; 4923 /** @type {MemizeCacheNode} */ ( head ).prev = node; 4924 head = node; 4925 } 4926 4927 // Return immediately 4928 return node.val; 4929 } 4930 4931 // No cached value found. Continue to insertion phase: 4932 4933 // Create a copy of arguments (avoid leaking deoptimization) 4934 args = new Array( len ); 4935 for ( i = 0; i < len; i++ ) { 4936 args[ i ] = arguments[ i ]; 4937 } 4938 4939 node = { 4940 args: args, 4941 4942 // Generate the result from original function 4943 val: fn.apply( null, args ), 4944 }; 4945 4946 // Don't need to check whether node is already head, since it would 4947 // have been returned above already if it was 4948 4949 // Shift existing head down list 4950 if ( head ) { 4951 head.prev = node; 4952 node.next = head; 4953 } else { 4954 // If no head, follows that there's no tail (at initial or reset) 4955 tail = node; 4956 } 4957 4958 // Trim tail if we're reached max size and are pending cache insertion 4959 if ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) { 4960 tail = /** @type {MemizeCacheNode} */ ( tail ).prev; 4961 /** @type {MemizeCacheNode} */ ( tail ).next = null; 4962 } else { 4963 size++; 4964 } 4965 4966 head = node; 4967 4968 return node.val; 4969 } 4970 4971 memoized.clear = function() { 4972 head = null; 4973 tail = null; 4974 size = 0; 4975 }; 4976 4977 if ( false ) {} 4978 4979 // Ignore reason: There's not a clear solution to create an intersection of 4980 // the function with additional properties, where the goal is to retain the 4981 // function signature of the incoming argument and add control properties 4982 // on the return value. 4983 4984 // @ts-ignore 4985 return memoized; 4986 } 4987 4988 module.exports = memize; 4989 4990 4991 /***/ }), 4992 4993 /***/ 8383: 4994 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 4995 4996 "use strict"; 4997 4998 4999 var keysShim; 5000 if (!Object.keys) { 5001 // modified from https://github.com/es-shims/es5-shim 5002 var has = Object.prototype.hasOwnProperty; 5003 var toStr = Object.prototype.toString; 5004 var isArgs = __webpack_require__(4418); // eslint-disable-line global-require 5005 var isEnumerable = Object.prototype.propertyIsEnumerable; 5006 var hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString'); 5007 var hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype'); 5008 var dontEnums = [ 5009 'toString', 5010 'toLocaleString', 5011 'valueOf', 5012 'hasOwnProperty', 5013 'isPrototypeOf', 5014 'propertyIsEnumerable', 5015 'constructor' 5016 ]; 5017 var equalsConstructorPrototype = function (o) { 5018 var ctor = o.constructor; 5019 return ctor && ctor.prototype === o; 5020 }; 5021 var excludedKeys = { 5022 $applicationCache: true, 5023 $console: true, 5024 $external: true, 5025 $frame: true, 5026 $frameElement: true, 5027 $frames: true, 5028 $innerHeight: true, 5029 $innerWidth: true, 5030 $onmozfullscreenchange: true, 5031 $onmozfullscreenerror: true, 5032 $outerHeight: true, 5033 $outerWidth: true, 5034 $pageXOffset: true, 5035 $pageYOffset: true, 5036 $parent: true, 5037 $scrollLeft: true, 5038 $scrollTop: true, 5039 $scrollX: true, 5040 $scrollY: true, 5041 $self: true, 5042 $webkitIndexedDB: true, 5043 $webkitStorageInfo: true, 5044 $window: true 5045 }; 5046 var hasAutomationEqualityBug = (function () { 5047 /* global window */ 5048 if (typeof window === 'undefined') { return false; } 5049 for (var k in window) { 5050 try { 5051 if (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') { 5052 try { 5053 equalsConstructorPrototype(window[k]); 5054 } catch (e) { 5055 return true; 5056 } 5057 } 5058 } catch (e) { 5059 return true; 5060 } 5061 } 5062 return false; 5063 }()); 5064 var equalsConstructorPrototypeIfNotBuggy = function (o) { 5065 /* global window */ 5066 if (typeof window === 'undefined' || !hasAutomationEqualityBug) { 5067 return equalsConstructorPrototype(o); 5068 } 5069 try { 5070 return equalsConstructorPrototype(o); 5071 } catch (e) { 5072 return false; 5073 } 5074 }; 5075 5076 keysShim = function keys(object) { 5077 var isObject = object !== null && typeof object === 'object'; 5078 var isFunction = toStr.call(object) === '[object Function]'; 5079 var isArguments = isArgs(object); 5080 var isString = isObject && toStr.call(object) === '[object String]'; 5081 var theKeys = []; 5082 5083 if (!isObject && !isFunction && !isArguments) { 5084 throw new TypeError('Object.keys called on a non-object'); 5085 } 5086 5087 var skipProto = hasProtoEnumBug && isFunction; 5088 if (isString && object.length > 0 && !has.call(object, 0)) { 5089 for (var i = 0; i < object.length; ++i) { 5090 theKeys.push(String(i)); 5091 } 5092 } 5093 5094 if (isArguments && object.length > 0) { 5095 for (var j = 0; j < object.length; ++j) { 5096 theKeys.push(String(j)); 5097 } 5098 } else { 5099 for (var name in object) { 5100 if (!(skipProto && name === 'prototype') && has.call(object, name)) { 5101 theKeys.push(String(name)); 5102 } 5103 } 5104 } 5105 5106 if (hasDontEnumBug) { 5107 var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object); 5108 5109 for (var k = 0; k < dontEnums.length; ++k) { 5110 if (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) { 5111 theKeys.push(dontEnums[k]); 5112 } 5113 } 5114 } 5115 return theKeys; 5116 }; 5117 } 5118 module.exports = keysShim; 5119 5120 5121 /***/ }), 5122 5123 /***/ 806: 5124 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 5125 5126 "use strict"; 5127 5128 5129 var slice = Array.prototype.slice; 5130 var isArgs = __webpack_require__(4418); 5131 5132 var origKeys = Object.keys; 5133 var keysShim = origKeys ? function keys(o) { return origKeys(o); } : __webpack_require__(8383); 5134 5135 var originalKeys = Object.keys; 5136 5137 keysShim.shim = function shimObjectKeys() { 5138 if (Object.keys) { 5139 var keysWorksWithArguments = (function () { 5140 // Safari 5.0 bug 5141 var args = Object.keys(arguments); 5142 return args && args.length === arguments.length; 5143 }(1, 2)); 5144 if (!keysWorksWithArguments) { 5145 Object.keys = function keys(object) { // eslint-disable-line func-name-matching 5146 if (isArgs(object)) { 5147 return originalKeys(slice.call(object)); 5148 } 5149 return originalKeys(object); 5150 }; 5151 } 5152 } else { 5153 Object.keys = keysShim; 5154 } 5155 return Object.keys || keysShim; 5156 }; 5157 5158 module.exports = keysShim; 5159 5160 5161 /***/ }), 5162 5163 /***/ 4418: 5164 /***/ (function(module) { 5165 5166 "use strict"; 5167 5168 5169 var toStr = Object.prototype.toString; 5170 5171 module.exports = function isArguments(value) { 5172 var str = toStr.call(value); 5173 var isArgs = str === '[object Arguments]'; 5174 if (!isArgs) { 5175 isArgs = str !== '[object Array]' && 5176 value !== null && 5177 typeof value === 'object' && 5178 typeof value.length === 'number' && 5179 value.length >= 0 && 5180 toStr.call(value.callee) === '[object Function]'; 5181 } 5182 return isArgs; 5183 }; 5184 5185 5186 /***/ }), 5187 5188 /***/ 2148: 5189 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 5190 5191 "use strict"; 5192 5193 5194 // modified from https://github.com/es-shims/es6-shim 5195 var keys = __webpack_require__(806); 5196 var canBeObject = function (obj) { 5197 return typeof obj !== 'undefined' && obj !== null; 5198 }; 5199 var hasSymbols = __webpack_require__(5682)(); 5200 var callBound = __webpack_require__(7615); 5201 var toObject = Object; 5202 var $push = callBound('Array.prototype.push'); 5203 var $propIsEnumerable = callBound('Object.prototype.propertyIsEnumerable'); 5204 var originalGetSymbols = hasSymbols ? Object.getOwnPropertySymbols : null; 5205 5206 // eslint-disable-next-line no-unused-vars 5207 module.exports = function assign(target, source1) { 5208 if (!canBeObject(target)) { throw new TypeError('target must be an object'); } 5209 var objTarget = toObject(target); 5210 var s, source, i, props, syms, value, key; 5211 for (s = 1; s < arguments.length; ++s) { 5212 source = toObject(arguments[s]); 5213 props = keys(source); 5214 var getSymbols = hasSymbols && (Object.getOwnPropertySymbols || originalGetSymbols); 5215 if (getSymbols) { 5216 syms = getSymbols(source); 5217 for (i = 0; i < syms.length; ++i) { 5218 key = syms[i]; 5219 if ($propIsEnumerable(source, key)) { 5220 $push(props, key); 5221 } 5222 } 5223 } 5224 for (i = 0; i < props.length; ++i) { 5225 key = props[i]; 5226 value = source[key]; 5227 if ($propIsEnumerable(source, key)) { 5228 objTarget[key] = value; 5229 } 5230 } 5231 } 5232 return objTarget; 5233 }; 5234 5235 5236 /***/ }), 5237 5238 /***/ 4011: 5239 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 5240 5241 "use strict"; 5242 5243 5244 var defineProperties = __webpack_require__(9170); 5245 var callBind = __webpack_require__(2550); 5246 5247 var implementation = __webpack_require__(2148); 5248 var getPolyfill = __webpack_require__(293); 5249 var shim = __webpack_require__(2666); 5250 5251 var polyfill = callBind.apply(getPolyfill()); 5252 // eslint-disable-next-line no-unused-vars 5253 var bound = function assign(target, source1) { 5254 return polyfill(Object, arguments); 5255 }; 5256 5257 defineProperties(bound, { 5258 getPolyfill: getPolyfill, 5259 implementation: implementation, 5260 shim: shim 5261 }); 5262 5263 module.exports = bound; 5264 5265 5266 /***/ }), 5267 5268 /***/ 293: 5269 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 5270 5271 "use strict"; 5272 5273 5274 var implementation = __webpack_require__(2148); 5275 5276 var lacksProperEnumerationOrder = function () { 5277 if (!Object.assign) { 5278 return false; 5279 } 5280 /* 5281 * v8, specifically in node 4.x, has a bug with incorrect property enumeration order 5282 * note: this does not detect the bug unless there's 20 characters 5283 */ 5284 var str = 'abcdefghijklmnopqrst'; 5285 var letters = str.split(''); 5286 var map = {}; 5287 for (var i = 0; i < letters.length; ++i) { 5288 map[letters[i]] = letters[i]; 5289 } 5290 var obj = Object.assign({}, map); 5291 var actual = ''; 5292 for (var k in obj) { 5293 actual += k; 5294 } 5295 return str !== actual; 5296 }; 5297 5298 var assignHasPendingExceptions = function () { 5299 if (!Object.assign || !Object.preventExtensions) { 5300 return false; 5301 } 5302 /* 5303 * Firefox 37 still has "pending exception" logic in its Object.assign implementation, 5304 * which is 72% slower than our shim, and Firefox 40's native implementation. 5305 */ 5306 var thrower = Object.preventExtensions({ 1: 2 }); 5307 try { 5308 Object.assign(thrower, 'xy'); 5309 } catch (e) { 5310 return thrower[1] === 'y'; 5311 } 5312 return false; 5313 }; 5314 5315 module.exports = function getPolyfill() { 5316 if (!Object.assign) { 5317 return implementation; 5318 } 5319 if (lacksProperEnumerationOrder()) { 5320 return implementation; 5321 } 5322 if (assignHasPendingExceptions()) { 5323 return implementation; 5324 } 5325 return Object.assign; 5326 }; 5327 5328 5329 /***/ }), 5330 5331 /***/ 2666: 5332 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 5333 5334 "use strict"; 5335 5336 5337 var define = __webpack_require__(9170); 5338 var getPolyfill = __webpack_require__(293); 5339 5340 module.exports = function shimAssign() { 5341 var polyfill = getPolyfill(); 5342 define( 5343 Object, 5344 { assign: polyfill }, 5345 { assign: function () { return Object.assign !== polyfill; } } 5346 ); 5347 return polyfill; 5348 }; 5349 5350 5351 /***/ }), 5352 5353 /***/ 1631: 5354 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 5355 5356 "use strict"; 5357 5358 5359 var has = __webpack_require__(9284); 5360 var RequireObjectCoercible = __webpack_require__(604); 5361 var callBound = __webpack_require__(7615); 5362 5363 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable'); 5364 5365 module.exports = function values(O) { 5366 var obj = RequireObjectCoercible(O); 5367 var vals = []; 5368 for (var key in obj) { 5369 if (has(obj, key) && $isEnumerable(obj, key)) { 5370 vals.push(obj[key]); 5371 } 5372 } 5373 return vals; 5374 }; 5375 5376 5377 /***/ }), 5378 5379 /***/ 5861: 5380 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 5381 5382 "use strict"; 5383 5384 5385 var define = __webpack_require__(9170); 5386 var callBind = __webpack_require__(2550); 5387 5388 var implementation = __webpack_require__(1631); 5389 var getPolyfill = __webpack_require__(779); 5390 var shim = __webpack_require__(7256); 5391 5392 var polyfill = callBind(getPolyfill(), Object); 5393 5394 define(polyfill, { 5395 getPolyfill: getPolyfill, 5396 implementation: implementation, 5397 shim: shim 5398 }); 5399 5400 module.exports = polyfill; 5401 5402 5403 /***/ }), 5404 5405 /***/ 604: 5406 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 5407 5408 "use strict"; 5409 5410 5411 module.exports = __webpack_require__(2559); 5412 5413 5414 /***/ }), 5415 5416 /***/ 2559: 5417 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 5418 5419 "use strict"; 5420 5421 5422 var GetIntrinsic = __webpack_require__(6732); 5423 5424 var $TypeError = GetIntrinsic('%TypeError%'); 5425 5426 // http://www.ecma-international.org/ecma-262/5.1/#sec-9.10 5427 5428 module.exports = function CheckObjectCoercible(value, optMessage) { 5429 if (value == null) { 5430 throw new $TypeError(optMessage || ('Cannot call method on ' + value)); 5431 } 5432 return value; 5433 }; 5434 5435 5436 /***/ }), 5437 5438 /***/ 6732: 5439 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 5440 5441 "use strict"; 5442 5443 5444 /* globals 5445 AggregateError, 5446 Atomics, 5447 FinalizationRegistry, 5448 SharedArrayBuffer, 5449 WeakRef, 5450 */ 5451 5452 var undefined; 5453 5454 var $SyntaxError = SyntaxError; 5455 var $Function = Function; 5456 var $TypeError = TypeError; 5457 5458 // eslint-disable-next-line consistent-return 5459 var getEvalledConstructor = function (expressionSyntax) { 5460 try { 5461 // eslint-disable-next-line no-new-func 5462 return Function('"use strict"; return (' + expressionSyntax + ').constructor;')(); 5463 } catch (e) {} 5464 }; 5465 5466 var $gOPD = Object.getOwnPropertyDescriptor; 5467 if ($gOPD) { 5468 try { 5469 $gOPD({}, ''); 5470 } catch (e) { 5471 $gOPD = null; // this is IE 8, which has a broken gOPD 5472 } 5473 } 5474 5475 var throwTypeError = function () { throw new $TypeError(); }; 5476 var ThrowTypeError = $gOPD 5477 ? (function () { 5478 try { 5479 // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties 5480 arguments.callee; // IE 8 does not throw here 5481 return throwTypeError; 5482 } catch (calleeThrows) { 5483 try { 5484 // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '') 5485 return $gOPD(arguments, 'callee').get; 5486 } catch (gOPDthrows) { 5487 return throwTypeError; 5488 } 5489 } 5490 }()) 5491 : throwTypeError; 5492 5493 var hasSymbols = __webpack_require__(9905)(); 5494 5495 var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto 5496 5497 var asyncGenFunction = getEvalledConstructor('async function* () {}'); 5498 var asyncGenFunctionPrototype = asyncGenFunction ? asyncGenFunction.prototype : undefined; 5499 var asyncGenPrototype = asyncGenFunctionPrototype ? asyncGenFunctionPrototype.prototype : undefined; 5500 5501 var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array); 5502 5503 var INTRINSICS = { 5504 '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError, 5505 '%Array%': Array, 5506 '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer, 5507 '%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined, 5508 '%AsyncFromSyncIteratorPrototype%': undefined, 5509 '%AsyncFunction%': getEvalledConstructor('async function () {}'), 5510 '%AsyncGenerator%': asyncGenFunctionPrototype, 5511 '%AsyncGeneratorFunction%': asyncGenFunction, 5512 '%AsyncIteratorPrototype%': asyncGenPrototype ? getProto(asyncGenPrototype) : undefined, 5513 '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics, 5514 '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt, 5515 '%Boolean%': Boolean, 5516 '%DataView%': typeof DataView === 'undefined' ? undefined : DataView, 5517 '%Date%': Date, 5518 '%decodeURI%': decodeURI, 5519 '%decodeURIComponent%': decodeURIComponent, 5520 '%encodeURI%': encodeURI, 5521 '%encodeURIComponent%': encodeURIComponent, 5522 '%Error%': Error, 5523 '%eval%': eval, // eslint-disable-line no-eval 5524 '%EvalError%': EvalError, 5525 '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array, 5526 '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array, 5527 '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry, 5528 '%Function%': $Function, 5529 '%GeneratorFunction%': getEvalledConstructor('function* () {}'), 5530 '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array, 5531 '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array, 5532 '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array, 5533 '%isFinite%': isFinite, 5534 '%isNaN%': isNaN, 5535 '%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined, 5536 '%JSON%': typeof JSON === 'object' ? JSON : undefined, 5537 '%Map%': typeof Map === 'undefined' ? undefined : Map, 5538 '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()), 5539 '%Math%': Math, 5540 '%Number%': Number, 5541 '%Object%': Object, 5542 '%parseFloat%': parseFloat, 5543 '%parseInt%': parseInt, 5544 '%Promise%': typeof Promise === 'undefined' ? undefined : Promise, 5545 '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy, 5546 '%RangeError%': RangeError, 5547 '%ReferenceError%': ReferenceError, 5548 '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect, 5549 '%RegExp%': RegExp, 5550 '%Set%': typeof Set === 'undefined' ? undefined : Set, 5551 '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()), 5552 '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer, 5553 '%String%': String, 5554 '%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined, 5555 '%Symbol%': hasSymbols ? Symbol : undefined, 5556 '%SyntaxError%': $SyntaxError, 5557 '%ThrowTypeError%': ThrowTypeError, 5558 '%TypedArray%': TypedArray, 5559 '%TypeError%': $TypeError, 5560 '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array, 5561 '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray, 5562 '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array, 5563 '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array, 5564 '%URIError%': URIError, 5565 '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap, 5566 '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef, 5567 '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet 5568 }; 5569 5570 var LEGACY_ALIASES = { 5571 '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'], 5572 '%ArrayPrototype%': ['Array', 'prototype'], 5573 '%ArrayProto_entries%': ['Array', 'prototype', 'entries'], 5574 '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'], 5575 '%ArrayProto_keys%': ['Array', 'prototype', 'keys'], 5576 '%ArrayProto_values%': ['Array', 'prototype', 'values'], 5577 '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'], 5578 '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'], 5579 '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'], 5580 '%BooleanPrototype%': ['Boolean', 'prototype'], 5581 '%DataViewPrototype%': ['DataView', 'prototype'], 5582 '%DatePrototype%': ['Date', 'prototype'], 5583 '%ErrorPrototype%': ['Error', 'prototype'], 5584 '%EvalErrorPrototype%': ['EvalError', 'prototype'], 5585 '%Float32ArrayPrototype%': ['Float32Array', 'prototype'], 5586 '%Float64ArrayPrototype%': ['Float64Array', 'prototype'], 5587 '%FunctionPrototype%': ['Function', 'prototype'], 5588 '%Generator%': ['GeneratorFunction', 'prototype'], 5589 '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'], 5590 '%Int8ArrayPrototype%': ['Int8Array', 'prototype'], 5591 '%Int16ArrayPrototype%': ['Int16Array', 'prototype'], 5592 '%Int32ArrayPrototype%': ['Int32Array', 'prototype'], 5593 '%JSONParse%': ['JSON', 'parse'], 5594 '%JSONStringify%': ['JSON', 'stringify'], 5595 '%MapPrototype%': ['Map', 'prototype'], 5596 '%NumberPrototype%': ['Number', 'prototype'], 5597 '%ObjectPrototype%': ['Object', 'prototype'], 5598 '%ObjProto_toString%': ['Object', 'prototype', 'toString'], 5599 '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'], 5600 '%PromisePrototype%': ['Promise', 'prototype'], 5601 '%PromiseProto_then%': ['Promise', 'prototype', 'then'], 5602 '%Promise_all%': ['Promise', 'all'], 5603 '%Promise_reject%': ['Promise', 'reject'], 5604 '%Promise_resolve%': ['Promise', 'resolve'], 5605 '%RangeErrorPrototype%': ['RangeError', 'prototype'], 5606 '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'], 5607 '%RegExpPrototype%': ['RegExp', 'prototype'], 5608 '%SetPrototype%': ['Set', 'prototype'], 5609 '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'], 5610 '%StringPrototype%': ['String', 'prototype'], 5611 '%SymbolPrototype%': ['Symbol', 'prototype'], 5612 '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'], 5613 '%TypedArrayPrototype%': ['TypedArray', 'prototype'], 5614 '%TypeErrorPrototype%': ['TypeError', 'prototype'], 5615 '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'], 5616 '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'], 5617 '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'], 5618 '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'], 5619 '%URIErrorPrototype%': ['URIError', 'prototype'], 5620 '%WeakMapPrototype%': ['WeakMap', 'prototype'], 5621 '%WeakSetPrototype%': ['WeakSet', 'prototype'] 5622 }; 5623 5624 var bind = __webpack_require__(1930); 5625 var hasOwn = __webpack_require__(9284); 5626 var $concat = bind.call(Function.call, Array.prototype.concat); 5627 var $spliceApply = bind.call(Function.apply, Array.prototype.splice); 5628 var $replace = bind.call(Function.call, String.prototype.replace); 5629 5630 /* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */ 5631 var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; 5632 var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */ 5633 var stringToPath = function stringToPath(string) { 5634 var result = []; 5635 $replace(string, rePropName, function (match, number, quote, subString) { 5636 result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match; 5637 }); 5638 return result; 5639 }; 5640 /* end adaptation */ 5641 5642 var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) { 5643 var intrinsicName = name; 5644 var alias; 5645 if (hasOwn(LEGACY_ALIASES, intrinsicName)) { 5646 alias = LEGACY_ALIASES[intrinsicName]; 5647 intrinsicName = '%' + alias[0] + '%'; 5648 } 5649 5650 if (hasOwn(INTRINSICS, intrinsicName)) { 5651 var value = INTRINSICS[intrinsicName]; 5652 if (typeof value === 'undefined' && !allowMissing) { 5653 throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!'); 5654 } 5655 5656 return { 5657 alias: alias, 5658 name: intrinsicName, 5659 value: value 5660 }; 5661 } 5662 5663 throw new $SyntaxError('intrinsic ' + name + ' does not exist!'); 5664 }; 5665 5666 module.exports = function GetIntrinsic(name, allowMissing) { 5667 if (typeof name !== 'string' || name.length === 0) { 5668 throw new $TypeError('intrinsic name must be a non-empty string'); 5669 } 5670 if (arguments.length > 1 && typeof allowMissing !== 'boolean') { 5671 throw new $TypeError('"allowMissing" argument must be a boolean'); 5672 } 5673 5674 var parts = stringToPath(name); 5675 var intrinsicBaseName = parts.length > 0 ? parts[0] : ''; 5676 5677 var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing); 5678 var intrinsicRealName = intrinsic.name; 5679 var value = intrinsic.value; 5680 var skipFurtherCaching = false; 5681 5682 var alias = intrinsic.alias; 5683 if (alias) { 5684 intrinsicBaseName = alias[0]; 5685 $spliceApply(parts, $concat([0, 1], alias)); 5686 } 5687 5688 for (var i = 1, isOwn = true; i < parts.length; i += 1) { 5689 var part = parts[i]; 5690 if (part === 'constructor' || !isOwn) { 5691 skipFurtherCaching = true; 5692 } 5693 5694 intrinsicBaseName += '.' + part; 5695 intrinsicRealName = '%' + intrinsicBaseName + '%'; 5696 5697 if (hasOwn(INTRINSICS, intrinsicRealName)) { 5698 value = INTRINSICS[intrinsicRealName]; 5699 } else if (value != null) { 5700 if ($gOPD && (i + 1) >= parts.length) { 5701 var desc = $gOPD(value, part); 5702 isOwn = !!desc; 5703 5704 if (!allowMissing && !(part in value)) { 5705 throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.'); 5706 } 5707 // By convention, when a data property is converted to an accessor 5708 // property to emulate a data property that does not suffer from 5709 // the override mistake, that accessor's getter is marked with 5710 // an `originalValue` property. Here, when we detect this, we 5711 // uphold the illusion by pretending to see that original data 5712 // property, i.e., returning the value rather than the getter 5713 // itself. 5714 if (isOwn && 'get' in desc && !('originalValue' in desc.get)) { 5715 value = desc.get; 5716 } else { 5717 value = value[part]; 5718 } 5719 } else { 5720 isOwn = hasOwn(value, part); 5721 value = value[part]; 5722 } 5723 5724 if (isOwn && !skipFurtherCaching) { 5725 INTRINSICS[intrinsicRealName] = value; 5726 } 5727 } 5728 } 5729 return value; 5730 }; 5731 5732 5733 /***/ }), 5734 5735 /***/ 779: 5736 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 5737 5738 "use strict"; 5739 5740 5741 var implementation = __webpack_require__(1631); 5742 5743 module.exports = function getPolyfill() { 5744 return typeof Object.values === 'function' ? Object.values : implementation; 5745 }; 5746 5747 5748 /***/ }), 5749 5750 /***/ 7256: 5751 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 5752 5753 "use strict"; 5754 5755 5756 var getPolyfill = __webpack_require__(779); 5757 var define = __webpack_require__(9170); 5758 5759 module.exports = function shimValues() { 5760 var polyfill = getPolyfill(); 5761 define(Object, { values: polyfill }, { 5762 values: function testValues() { 5763 return Object.values !== polyfill; 5764 } 5765 }); 5766 return polyfill; 5767 }; 5768 5769 5770 /***/ }), 5771 5772 /***/ 5372: 5773 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 5774 5775 "use strict"; 5776 /** 5777 * Copyright (c) 2013-present, Facebook, Inc. 5778 * 5779 * This source code is licensed under the MIT license found in the 5780 * LICENSE file in the root directory of this source tree. 5781 */ 5782 5783 5784 5785 var ReactPropTypesSecret = __webpack_require__(9567); 5786 5787 function emptyFunction() {} 5788 function emptyFunctionWithReset() {} 5789 emptyFunctionWithReset.resetWarningCache = emptyFunction; 5790 5791 module.exports = function() { 5792 function shim(props, propName, componentName, location, propFullName, secret) { 5793 if (secret === ReactPropTypesSecret) { 5794 // It is still safe when called from React. 5795 return; 5796 } 5797 var err = new Error( 5798 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 5799 'Use PropTypes.checkPropTypes() to call them. ' + 5800 'Read more at http://fb.me/use-check-prop-types' 5801 ); 5802 err.name = 'Invariant Violation'; 5803 throw err; 5804 }; 5805 shim.isRequired = shim; 5806 function getShim() { 5807 return shim; 5808 }; 5809 // Important! 5810 // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. 5811 var ReactPropTypes = { 5812 array: shim, 5813 bigint: shim, 5814 bool: shim, 5815 func: shim, 5816 number: shim, 5817 object: shim, 5818 string: shim, 5819 symbol: shim, 5820 5821 any: shim, 5822 arrayOf: getShim, 5823 element: shim, 5824 elementType: shim, 5825 instanceOf: getShim, 5826 node: shim, 5827 objectOf: getShim, 5828 oneOf: getShim, 5829 oneOfType: getShim, 5830 shape: getShim, 5831 exact: getShim, 5832 5833 checkPropTypes: emptyFunctionWithReset, 5834 resetWarningCache: emptyFunction 5835 }; 5836 5837 ReactPropTypes.PropTypes = ReactPropTypes; 5838 5839 return ReactPropTypes; 5840 }; 5841 5842 5843 /***/ }), 5844 5845 /***/ 2652: 5846 /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 5847 5848 /** 5849 * Copyright (c) 2013-present, Facebook, Inc. 5850 * 5851 * This source code is licensed under the MIT license found in the 5852 * LICENSE file in the root directory of this source tree. 5853 */ 5854 5855 if (false) { var throwOnDirectAccess, ReactIs; } else { 5856 // By explicitly using `prop-types` you are opting into new production behavior. 5857 // http://fb.me/prop-types-in-prod 5858 module.exports = __webpack_require__(5372)(); 5859 } 5860 5861 5862 /***/ }), 5863 5864 /***/ 9567: 5865 /***/ (function(module) { 5866 5867 "use strict"; 5868 /** 5869 * Copyright (c) 2013-present, Facebook, Inc. 5870 * 5871 * This source code is licensed under the MIT license found in the 5872 * LICENSE file in the root directory of this source tree. 5873 */ 5874 5875 5876 5877 var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; 5878 5879 module.exports = ReactPropTypesSecret; 5880 5881 5882 /***/ }), 5883 5884 /***/ 2541: 5885 /***/ (function(module) { 5886 5887 "use strict"; 5888 /** 5889 * Copyright (c) 2013-present, Facebook, Inc. 5890 * 5891 * This source code is licensed under the MIT license found in the 5892 * LICENSE file in the root directory of this source tree. 5893 * 5894 * @providesModule shallowCompare 5895 */ 5896 5897 5898 5899 var hasOwnProperty = Object.prototype.hasOwnProperty; 5900 5901 /** 5902 * inlined Object.is polyfill to avoid requiring consumers ship their own 5903 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is 5904 */ 5905 function is(x, y) { 5906 // SameValue algorithm 5907 if (x === y) { 5908 // Steps 1-5, 7-10 5909 // Steps 6.b-6.e: +0 != -0 5910 // Added the nonzero y check to make Flow happy, but it is redundant 5911 return x !== 0 || y !== 0 || 1 / x === 1 / y; 5912 } else { 5913 // Step 6.a: NaN == NaN 5914 return x !== x && y !== y; 5915 } 5916 } 5917 5918 /** 5919 * Performs equality by iterating through keys on an object and returning false 5920 * when any key has values which are not strictly equal between the arguments. 5921 * Returns true when the values of all keys are strictly equal. 5922 */ 5923 function shallowEqual(objA, objB) { 5924 if (is(objA, objB)) { 5925 return true; 5926 } 5927 5928 if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) { 5929 return false; 5930 } 5931 5932 var keysA = Object.keys(objA); 5933 var keysB = Object.keys(objB); 5934 5935 if (keysA.length !== keysB.length) { 5936 return false; 5937 } 5938 5939 // Test for A's keys different from B. 5940 for (var i = 0; i < keysA.length; i++) { 5941 if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) { 5942 return false; 5943 } 5944 } 5945 5946 return true; 5947 } 5948 5949 /** 5950 * Does a shallow comparison for props and state. 5951 * See ReactComponentWithPureRenderMixin 5952 * See also https://facebook.github.io/react/docs/shallow-compare.html 5953 */ 5954 function shallowCompare(instance, nextProps, nextState) { 5955 return ( 5956 !shallowEqual(instance.props, nextProps) || 5957 !shallowEqual(instance.state, nextState) 5958 ); 5959 } 5960 5961 module.exports = shallowCompare; 5962 5963 5964 /***/ }), 5965 5966 /***/ 4185: 5967 /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 5968 5969 // eslint-disable-next-line import/no-unresolved 5970 __webpack_require__(17); 5971 5972 5973 /***/ }), 5974 5975 /***/ 7617: 5976 /***/ (function(__unused_webpack_module, exports, __webpack_require__) { 5977 5978 "use strict"; 5979 5980 5981 Object.defineProperty(exports, "__esModule", ({ 5982 value: true 5983 })); 5984 exports.PureCalendarDay = undefined; 5985 5986 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; 5987 5988 var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); 5989 5990 var _object = __webpack_require__(4011); 5991 5992 var _object2 = _interopRequireDefault(_object); 5993 5994 var _react = __webpack_require__(9196); 5995 5996 var _react2 = _interopRequireDefault(_react); 5997 5998 var _propTypes = __webpack_require__(2652); 5999 6000 var _propTypes2 = _interopRequireDefault(_propTypes); 6001 6002 var _reactAddonsShallowCompare = __webpack_require__(2541); 6003 6004 var _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare); 6005 6006 var _reactMomentProptypes = __webpack_require__(6150); 6007 6008 var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes); 6009 6010 var _airbnbPropTypes = __webpack_require__(4882); 6011 6012 var _reactWithStyles = __webpack_require__(3576); 6013 6014 var _moment = __webpack_require__(6292); 6015 6016 var _moment2 = _interopRequireDefault(_moment); 6017 6018 var _defaultPhrases = __webpack_require__(6030); 6019 6020 var _getPhrasePropTypes = __webpack_require__(2893); 6021 6022 var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes); 6023 6024 var _getCalendarDaySettings = __webpack_require__(7475); 6025 6026 var _getCalendarDaySettings2 = _interopRequireDefault(_getCalendarDaySettings); 6027 6028 var _ModifiersShape = __webpack_require__(6747); 6029 6030 var _ModifiersShape2 = _interopRequireDefault(_ModifiersShape); 6031 6032 var _constants = __webpack_require__(257); 6033 6034 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 6035 6036 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 6037 6038 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } 6039 6040 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } 6041 6042 var propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, { 6043 day: _reactMomentProptypes2['default'].momentObj, 6044 daySize: _airbnbPropTypes.nonNegativeInteger, 6045 isOutsideDay: _propTypes2['default'].bool, 6046 modifiers: _ModifiersShape2['default'], 6047 isFocused: _propTypes2['default'].bool, 6048 tabIndex: _propTypes2['default'].oneOf([0, -1]), 6049 onDayClick: _propTypes2['default'].func, 6050 onDayMouseEnter: _propTypes2['default'].func, 6051 onDayMouseLeave: _propTypes2['default'].func, 6052 renderDayContents: _propTypes2['default'].func, 6053 ariaLabelFormat: _propTypes2['default'].string, 6054 6055 // internationalization 6056 phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.CalendarDayPhrases)) 6057 })); 6058 6059 var defaultProps = { 6060 day: (0, _moment2['default'])(), 6061 daySize: _constants.DAY_SIZE, 6062 isOutsideDay: false, 6063 modifiers: new Set(), 6064 isFocused: false, 6065 tabIndex: -1, 6066 onDayClick: function () { 6067 function onDayClick() {} 6068 6069 return onDayClick; 6070 }(), 6071 onDayMouseEnter: function () { 6072 function onDayMouseEnter() {} 6073 6074 return onDayMouseEnter; 6075 }(), 6076 onDayMouseLeave: function () { 6077 function onDayMouseLeave() {} 6078 6079 return onDayMouseLeave; 6080 }(), 6081 6082 renderDayContents: null, 6083 ariaLabelFormat: 'dddd, LL', 6084 6085 // internationalization 6086 phrases: _defaultPhrases.CalendarDayPhrases 6087 }; 6088 6089 var CalendarDay = function (_React$Component) { 6090 _inherits(CalendarDay, _React$Component); 6091 6092 function CalendarDay() { 6093 var _ref; 6094 6095 _classCallCheck(this, CalendarDay); 6096 6097 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { 6098 args[_key] = arguments[_key]; 6099 } 6100 6101 var _this = _possibleConstructorReturn(this, (_ref = CalendarDay.__proto__ || Object.getPrototypeOf(CalendarDay)).call.apply(_ref, [this].concat(args))); 6102 6103 _this.setButtonRef = _this.setButtonRef.bind(_this); 6104 return _this; 6105 } 6106 6107 _createClass(CalendarDay, [{ 6108 key: 'shouldComponentUpdate', 6109 value: function () { 6110 function shouldComponentUpdate(nextProps, nextState) { 6111 return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState); 6112 } 6113 6114 return shouldComponentUpdate; 6115 }() 6116 }, { 6117 key: 'componentDidUpdate', 6118 value: function () { 6119 function componentDidUpdate(prevProps) { 6120 var _props = this.props, 6121 isFocused = _props.isFocused, 6122 tabIndex = _props.tabIndex; 6123 6124 if (tabIndex === 0) { 6125 if (isFocused || tabIndex !== prevProps.tabIndex) { 6126 this.buttonRef.focus(); 6127 } 6128 } 6129 } 6130 6131 return componentDidUpdate; 6132 }() 6133 }, { 6134 key: 'onDayClick', 6135 value: function () { 6136 function onDayClick(day, e) { 6137 var onDayClick = this.props.onDayClick; 6138 6139 onDayClick(day, e); 6140 } 6141 6142 return onDayClick; 6143 }() 6144 }, { 6145 key: 'onDayMouseEnter', 6146 value: function () { 6147 function onDayMouseEnter(day, e) { 6148 var onDayMouseEnter = this.props.onDayMouseEnter; 6149 6150 onDayMouseEnter(day, e); 6151 } 6152 6153 return onDayMouseEnter; 6154 }() 6155 }, { 6156 key: 'onDayMouseLeave', 6157 value: function () { 6158 function onDayMouseLeave(day, e) { 6159 var onDayMouseLeave = this.props.onDayMouseLeave; 6160 6161 onDayMouseLeave(day, e); 6162 } 6163 6164 return onDayMouseLeave; 6165 }() 6166 }, { 6167 key: 'onKeyDown', 6168 value: function () { 6169 function onKeyDown(day, e) { 6170 var onDayClick = this.props.onDayClick; 6171 var key = e.key; 6172 6173 if (key === 'Enter' || key === ' ') { 6174 onDayClick(day, e); 6175 } 6176 } 6177 6178 return onKeyDown; 6179 }() 6180 }, { 6181 key: 'setButtonRef', 6182 value: function () { 6183 function setButtonRef(ref) { 6184 this.buttonRef = ref; 6185 } 6186 6187 return setButtonRef; 6188 }() 6189 }, { 6190 key: 'render', 6191 value: function () { 6192 function render() { 6193 var _this2 = this; 6194 6195 var _props2 = this.props, 6196 day = _props2.day, 6197 ariaLabelFormat = _props2.ariaLabelFormat, 6198 daySize = _props2.daySize, 6199 isOutsideDay = _props2.isOutsideDay, 6200 modifiers = _props2.modifiers, 6201 renderDayContents = _props2.renderDayContents, 6202 tabIndex = _props2.tabIndex, 6203 styles = _props2.styles, 6204 phrases = _props2.phrases; 6205 6206 6207 if (!day) return _react2['default'].createElement('td', null); 6208 6209 var _getCalendarDaySettin = (0, _getCalendarDaySettings2['default'])(day, ariaLabelFormat, daySize, modifiers, phrases), 6210 daySizeStyles = _getCalendarDaySettin.daySizeStyles, 6211 useDefaultCursor = _getCalendarDaySettin.useDefaultCursor, 6212 selected = _getCalendarDaySettin.selected, 6213 hoveredSpan = _getCalendarDaySettin.hoveredSpan, 6214 isOutsideRange = _getCalendarDaySettin.isOutsideRange, 6215 ariaLabel = _getCalendarDaySettin.ariaLabel; 6216 6217 return _react2['default'].createElement( 6218 'td', 6219 _extends({}, (0, _reactWithStyles.css)(styles.CalendarDay, useDefaultCursor && styles.CalendarDay__defaultCursor, styles.CalendarDay__default, isOutsideDay && styles.CalendarDay__outside, modifiers.has('today') && styles.CalendarDay__today, modifiers.has('first-day-of-week') && styles.CalendarDay__firstDayOfWeek, modifiers.has('last-day-of-week') && styles.CalendarDay__lastDayOfWeek, modifiers.has('hovered-offset') && styles.CalendarDay__hovered_offset, modifiers.has('highlighted-calendar') && styles.CalendarDay__highlighted_calendar, modifiers.has('blocked-minimum-nights') && styles.CalendarDay__blocked_minimum_nights, modifiers.has('blocked-calendar') && styles.CalendarDay__blocked_calendar, hoveredSpan && styles.CalendarDay__hovered_span, modifiers.has('selected-span') && styles.CalendarDay__selected_span, modifiers.has('last-in-range') && styles.CalendarDay__last_in_range, modifiers.has('selected-start') && styles.CalendarDay__selected_start, modifiers.has('selected-end') && styles.CalendarDay__selected_end, selected && styles.CalendarDay__selected, isOutsideRange && styles.CalendarDay__blocked_out_of_range, daySizeStyles), { 6220 role: 'button' // eslint-disable-line jsx-a11y/no-noninteractive-element-to-interactive-role 6221 , ref: this.setButtonRef, 6222 'aria-label': ariaLabel, 6223 onMouseEnter: function () { 6224 function onMouseEnter(e) { 6225 _this2.onDayMouseEnter(day, e); 6226 } 6227 6228 return onMouseEnter; 6229 }(), 6230 onMouseLeave: function () { 6231 function onMouseLeave(e) { 6232 _this2.onDayMouseLeave(day, e); 6233 } 6234 6235 return onMouseLeave; 6236 }(), 6237 onMouseUp: function () { 6238 function onMouseUp(e) { 6239 e.currentTarget.blur(); 6240 } 6241 6242 return onMouseUp; 6243 }(), 6244 onClick: function () { 6245 function onClick(e) { 6246 _this2.onDayClick(day, e); 6247 } 6248 6249 return onClick; 6250 }(), 6251 onKeyDown: function () { 6252 function onKeyDown(e) { 6253 _this2.onKeyDown(day, e); 6254 } 6255 6256 return onKeyDown; 6257 }(), 6258 tabIndex: tabIndex 6259 }), 6260 renderDayContents ? renderDayContents(day, modifiers) : day.format('D') 6261 ); 6262 } 6263 6264 return render; 6265 }() 6266 }]); 6267 6268 return CalendarDay; 6269 }(_react2['default'].Component); 6270 6271 CalendarDay.propTypes = propTypes; 6272 CalendarDay.defaultProps = defaultProps; 6273 6274 exports.PureCalendarDay = CalendarDay; 6275 exports["default"] = (0, _reactWithStyles.withStyles)(function (_ref2) { 6276 var _ref2$reactDates = _ref2.reactDates, 6277 color = _ref2$reactDates.color, 6278 font = _ref2$reactDates.font; 6279 return { 6280 CalendarDay: { 6281 boxSizing: 'border-box', 6282 cursor: 'pointer', 6283 fontSize: font.size, 6284 textAlign: 'center', 6285 6286 ':active': { 6287 outline: 0 6288 } 6289 }, 6290 6291 CalendarDay__defaultCursor: { 6292 cursor: 'default' 6293 }, 6294 6295 CalendarDay__default: { 6296 border: '1px solid ' + String(color.core.borderLight), 6297 color: color.text, 6298 background: color.background, 6299 6300 ':hover': { 6301 background: color.core.borderLight, 6302 border: '1px double ' + String(color.core.borderLight), 6303 color: 'inherit' 6304 } 6305 }, 6306 6307 CalendarDay__hovered_offset: { 6308 background: color.core.borderBright, 6309 border: '1px double ' + String(color.core.borderLight), 6310 color: 'inherit' 6311 }, 6312 6313 CalendarDay__outside: { 6314 border: 0, 6315 background: color.outside.backgroundColor, 6316 color: color.outside.color, 6317 6318 ':hover': { 6319 border: 0 6320 } 6321 }, 6322 6323 CalendarDay__blocked_minimum_nights: { 6324 background: color.minimumNights.backgroundColor, 6325 border: '1px solid ' + String(color.minimumNights.borderColor), 6326 color: color.minimumNights.color, 6327 6328 ':hover': { 6329 background: color.minimumNights.backgroundColor_hover, 6330 color: color.minimumNights.color_active 6331 }, 6332 6333 ':active': { 6334 background: color.minimumNights.backgroundColor_active, 6335 color: color.minimumNights.color_active 6336 } 6337 }, 6338 6339 CalendarDay__highlighted_calendar: { 6340 background: color.highlighted.backgroundColor, 6341 color: color.highlighted.color, 6342 6343 ':hover': { 6344 background: color.highlighted.backgroundColor_hover, 6345 color: color.highlighted.color_active 6346 }, 6347 6348 ':active': { 6349 background: color.highlighted.backgroundColor_active, 6350 color: color.highlighted.color_active 6351 } 6352 }, 6353 6354 CalendarDay__selected_span: { 6355 background: color.selectedSpan.backgroundColor, 6356 border: '1px solid ' + String(color.selectedSpan.borderColor), 6357 color: color.selectedSpan.color, 6358 6359 ':hover': { 6360 background: color.selectedSpan.backgroundColor_hover, 6361 border: '1px solid ' + String(color.selectedSpan.borderColor), 6362 color: color.selectedSpan.color_active 6363 }, 6364 6365 ':active': { 6366 background: color.selectedSpan.backgroundColor_active, 6367 border: '1px solid ' + String(color.selectedSpan.borderColor), 6368 color: color.selectedSpan.color_active 6369 } 6370 }, 6371 6372 CalendarDay__last_in_range: { 6373 borderRight: color.core.primary 6374 }, 6375 6376 CalendarDay__selected: { 6377 background: color.selected.backgroundColor, 6378 border: '1px solid ' + String(color.selected.borderColor), 6379 color: color.selected.color, 6380 6381 ':hover': { 6382 background: color.selected.backgroundColor_hover, 6383 border: '1px solid ' + String(color.selected.borderColor), 6384 color: color.selected.color_active 6385 }, 6386 6387 ':active': { 6388 background: color.selected.backgroundColor_active, 6389 border: '1px solid ' + String(color.selected.borderColor), 6390 color: color.selected.color_active 6391 } 6392 }, 6393 6394 CalendarDay__hovered_span: { 6395 background: color.hoveredSpan.backgroundColor, 6396 border: '1px solid ' + String(color.hoveredSpan.borderColor), 6397 color: color.hoveredSpan.color, 6398 6399 ':hover': { 6400 background: color.hoveredSpan.backgroundColor_hover, 6401 border: '1px solid ' + String(color.hoveredSpan.borderColor), 6402 color: color.hoveredSpan.color_active 6403 }, 6404 6405 ':active': { 6406 background: color.hoveredSpan.backgroundColor_active, 6407 border: '1px solid ' + String(color.hoveredSpan.borderColor), 6408 color: color.hoveredSpan.color_active 6409 } 6410 }, 6411 6412 CalendarDay__blocked_calendar: { 6413 background: color.blocked_calendar.backgroundColor, 6414 border: '1px solid ' + String(color.blocked_calendar.borderColor), 6415 color: color.blocked_calendar.color, 6416 6417 ':hover': { 6418 background: color.blocked_calendar.backgroundColor_hover, 6419 border: '1px solid ' + String(color.blocked_calendar.borderColor), 6420 color: color.blocked_calendar.color_active 6421 }, 6422 6423 ':active': { 6424 background: color.blocked_calendar.backgroundColor_active, 6425 border: '1px solid ' + String(color.blocked_calendar.borderColor), 6426 color: color.blocked_calendar.color_active 6427 } 6428 }, 6429 6430 CalendarDay__blocked_out_of_range: { 6431 background: color.blocked_out_of_range.backgroundColor, 6432 border: '1px solid ' + String(color.blocked_out_of_range.borderColor), 6433 color: color.blocked_out_of_range.color, 6434 6435 ':hover': { 6436 background: color.blocked_out_of_range.backgroundColor_hover, 6437 border: '1px solid ' + String(color.blocked_out_of_range.borderColor), 6438 color: color.blocked_out_of_range.color_active 6439 }, 6440 6441 ':active': { 6442 background: color.blocked_out_of_range.backgroundColor_active, 6443 border: '1px solid ' + String(color.blocked_out_of_range.borderColor), 6444 color: color.blocked_out_of_range.color_active 6445 } 6446 }, 6447 6448 CalendarDay__selected_start: {}, 6449 CalendarDay__selected_end: {}, 6450 CalendarDay__today: {}, 6451 CalendarDay__firstDayOfWeek: {}, 6452 CalendarDay__lastDayOfWeek: {} 6453 }; 6454 })(CalendarDay); 6455 6456 /***/ }), 6457 6458 /***/ 5986: 6459 /***/ (function(__unused_webpack_module, exports, __webpack_require__) { 6460 6461 "use strict"; 6462 6463 6464 Object.defineProperty(exports, "__esModule", ({ 6465 value: true 6466 })); 6467 6468 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; 6469 6470 var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); 6471 6472 var _object = __webpack_require__(4011); 6473 6474 var _object2 = _interopRequireDefault(_object); 6475 6476 var _react = __webpack_require__(9196); 6477 6478 var _react2 = _interopRequireDefault(_react); 6479 6480 var _propTypes = __webpack_require__(2652); 6481 6482 var _propTypes2 = _interopRequireDefault(_propTypes); 6483 6484 var _reactAddonsShallowCompare = __webpack_require__(2541); 6485 6486 var _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare); 6487 6488 var _reactMomentProptypes = __webpack_require__(6150); 6489 6490 var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes); 6491 6492 var _airbnbPropTypes = __webpack_require__(4882); 6493 6494 var _reactWithStyles = __webpack_require__(3576); 6495 6496 var _moment = __webpack_require__(6292); 6497 6498 var _moment2 = _interopRequireDefault(_moment); 6499 6500 var _defaultPhrases = __webpack_require__(6030); 6501 6502 var _getPhrasePropTypes = __webpack_require__(2893); 6503 6504 var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes); 6505 6506 var _CalendarWeek = __webpack_require__(4604); 6507 6508 var _CalendarWeek2 = _interopRequireDefault(_CalendarWeek); 6509 6510 var _CalendarDay = __webpack_require__(7617); 6511 6512 var _CalendarDay2 = _interopRequireDefault(_CalendarDay); 6513 6514 var _calculateDimension = __webpack_require__(8607); 6515 6516 var _calculateDimension2 = _interopRequireDefault(_calculateDimension); 6517 6518 var _getCalendarMonthWeeks = __webpack_require__(5644); 6519 6520 var _getCalendarMonthWeeks2 = _interopRequireDefault(_getCalendarMonthWeeks); 6521 6522 var _isSameDay = __webpack_require__(3923); 6523 6524 var _isSameDay2 = _interopRequireDefault(_isSameDay); 6525 6526 var _toISODateString = __webpack_require__(7310); 6527 6528 var _toISODateString2 = _interopRequireDefault(_toISODateString); 6529 6530 var _ModifiersShape = __webpack_require__(6747); 6531 6532 var _ModifiersShape2 = _interopRequireDefault(_ModifiersShape); 6533 6534 var _ScrollableOrientationShape = __webpack_require__(6553); 6535 6536 var _ScrollableOrientationShape2 = _interopRequireDefault(_ScrollableOrientationShape); 6537 6538 var _DayOfWeekShape = __webpack_require__(243); 6539 6540 var _DayOfWeekShape2 = _interopRequireDefault(_DayOfWeekShape); 6541 6542 var _constants = __webpack_require__(257); 6543 6544 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 6545 6546 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 6547 6548 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } 6549 6550 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint react/no-array-index-key: 0 */ 6551 6552 var propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, { 6553 month: _reactMomentProptypes2['default'].momentObj, 6554 horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger, 6555 isVisible: _propTypes2['default'].bool, 6556 enableOutsideDays: _propTypes2['default'].bool, 6557 modifiers: _propTypes2['default'].objectOf(_ModifiersShape2['default']), 6558 orientation: _ScrollableOrientationShape2['default'], 6559 daySize: _airbnbPropTypes.nonNegativeInteger, 6560 onDayClick: _propTypes2['default'].func, 6561 onDayMouseEnter: _propTypes2['default'].func, 6562 onDayMouseLeave: _propTypes2['default'].func, 6563 onMonthSelect: _propTypes2['default'].func, 6564 onYearSelect: _propTypes2['default'].func, 6565 renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'), 6566 renderCalendarDay: _propTypes2['default'].func, 6567 renderDayContents: _propTypes2['default'].func, 6568 renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'), 6569 firstDayOfWeek: _DayOfWeekShape2['default'], 6570 setMonthTitleHeight: _propTypes2['default'].func, 6571 verticalBorderSpacing: _airbnbPropTypes.nonNegativeInteger, 6572 6573 focusedDate: _reactMomentProptypes2['default'].momentObj, // indicates focusable day 6574 isFocused: _propTypes2['default'].bool, // indicates whether or not to move focus to focusable day 6575 6576 // i18n 6577 monthFormat: _propTypes2['default'].string, 6578 phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.CalendarDayPhrases)), 6579 dayAriaLabelFormat: _propTypes2['default'].string 6580 })); 6581 6582 var defaultProps = { 6583 month: (0, _moment2['default'])(), 6584 horizontalMonthPadding: 13, 6585 isVisible: true, 6586 enableOutsideDays: false, 6587 modifiers: {}, 6588 orientation: _constants.HORIZONTAL_ORIENTATION, 6589 daySize: _constants.DAY_SIZE, 6590 onDayClick: function () { 6591 function onDayClick() {} 6592 6593 return onDayClick; 6594 }(), 6595 onDayMouseEnter: function () { 6596 function onDayMouseEnter() {} 6597 6598 return onDayMouseEnter; 6599 }(), 6600 onDayMouseLeave: function () { 6601 function onDayMouseLeave() {} 6602 6603 return onDayMouseLeave; 6604 }(), 6605 onMonthSelect: function () { 6606 function onMonthSelect() {} 6607 6608 return onMonthSelect; 6609 }(), 6610 onYearSelect: function () { 6611 function onYearSelect() {} 6612 6613 return onYearSelect; 6614 }(), 6615 6616 renderMonthText: null, 6617 renderCalendarDay: function () { 6618 function renderCalendarDay(props) { 6619 return _react2['default'].createElement(_CalendarDay2['default'], props); 6620 } 6621 6622 return renderCalendarDay; 6623 }(), 6624 renderDayContents: null, 6625 renderMonthElement: null, 6626 firstDayOfWeek: null, 6627 setMonthTitleHeight: null, 6628 6629 focusedDate: null, 6630 isFocused: false, 6631 6632 // i18n 6633 monthFormat: 'MMMM YYYY', // english locale 6634 phrases: _defaultPhrases.CalendarDayPhrases, 6635 dayAriaLabelFormat: undefined, 6636 verticalBorderSpacing: undefined 6637 }; 6638 6639 var CalendarMonth = function (_React$Component) { 6640 _inherits(CalendarMonth, _React$Component); 6641 6642 function CalendarMonth(props) { 6643 _classCallCheck(this, CalendarMonth); 6644 6645 var _this = _possibleConstructorReturn(this, (CalendarMonth.__proto__ || Object.getPrototypeOf(CalendarMonth)).call(this, props)); 6646 6647 _this.state = { 6648 weeks: (0, _getCalendarMonthWeeks2['default'])(props.month, props.enableOutsideDays, props.firstDayOfWeek == null ? _moment2['default'].localeData().firstDayOfWeek() : props.firstDayOfWeek) 6649 }; 6650 6651 _this.setCaptionRef = _this.setCaptionRef.bind(_this); 6652 _this.setMonthTitleHeight = _this.setMonthTitleHeight.bind(_this); 6653 return _this; 6654 } 6655 6656 _createClass(CalendarMonth, [{ 6657 key: 'componentDidMount', 6658 value: function () { 6659 function componentDidMount() { 6660 this.setMonthTitleHeightTimeout = setTimeout(this.setMonthTitleHeight, 0); 6661 } 6662 6663 return componentDidMount; 6664 }() 6665 }, { 6666 key: 'componentWillReceiveProps', 6667 value: function () { 6668 function componentWillReceiveProps(nextProps) { 6669 var month = nextProps.month, 6670 enableOutsideDays = nextProps.enableOutsideDays, 6671 firstDayOfWeek = nextProps.firstDayOfWeek; 6672 var _props = this.props, 6673 prevMonth = _props.month, 6674 prevEnableOutsideDays = _props.enableOutsideDays, 6675 prevFirstDayOfWeek = _props.firstDayOfWeek; 6676 6677 if (!month.isSame(prevMonth) || enableOutsideDays !== prevEnableOutsideDays || firstDayOfWeek !== prevFirstDayOfWeek) { 6678 this.setState({ 6679 weeks: (0, _getCalendarMonthWeeks2['default'])(month, enableOutsideDays, firstDayOfWeek == null ? _moment2['default'].localeData().firstDayOfWeek() : firstDayOfWeek) 6680 }); 6681 } 6682 } 6683 6684 return componentWillReceiveProps; 6685 }() 6686 }, { 6687 key: 'shouldComponentUpdate', 6688 value: function () { 6689 function shouldComponentUpdate(nextProps, nextState) { 6690 return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState); 6691 } 6692 6693 return shouldComponentUpdate; 6694 }() 6695 }, { 6696 key: 'componentWillUnmount', 6697 value: function () { 6698 function componentWillUnmount() { 6699 if (this.setMonthTitleHeightTimeout) { 6700 clearTimeout(this.setMonthTitleHeightTimeout); 6701 } 6702 } 6703 6704 return componentWillUnmount; 6705 }() 6706 }, { 6707 key: 'setMonthTitleHeight', 6708 value: function () { 6709 function setMonthTitleHeight() { 6710 var setMonthTitleHeight = this.props.setMonthTitleHeight; 6711 6712 if (setMonthTitleHeight) { 6713 var captionHeight = (0, _calculateDimension2['default'])(this.captionRef, 'height', true, true); 6714 setMonthTitleHeight(captionHeight); 6715 } 6716 } 6717 6718 return setMonthTitleHeight; 6719 }() 6720 }, { 6721 key: 'setCaptionRef', 6722 value: function () { 6723 function setCaptionRef(ref) { 6724 this.captionRef = ref; 6725 } 6726 6727 return setCaptionRef; 6728 }() 6729 }, { 6730 key: 'render', 6731 value: function () { 6732 function render() { 6733 var _props2 = this.props, 6734 dayAriaLabelFormat = _props2.dayAriaLabelFormat, 6735 daySize = _props2.daySize, 6736 focusedDate = _props2.focusedDate, 6737 horizontalMonthPadding = _props2.horizontalMonthPadding, 6738 isFocused = _props2.isFocused, 6739 isVisible = _props2.isVisible, 6740 modifiers = _props2.modifiers, 6741 month = _props2.month, 6742 monthFormat = _props2.monthFormat, 6743 onDayClick = _props2.onDayClick, 6744 onDayMouseEnter = _props2.onDayMouseEnter, 6745 onDayMouseLeave = _props2.onDayMouseLeave, 6746 onMonthSelect = _props2.onMonthSelect, 6747 onYearSelect = _props2.onYearSelect, 6748 orientation = _props2.orientation, 6749 phrases = _props2.phrases, 6750 renderCalendarDay = _props2.renderCalendarDay, 6751 renderDayContents = _props2.renderDayContents, 6752 renderMonthElement = _props2.renderMonthElement, 6753 renderMonthText = _props2.renderMonthText, 6754 styles = _props2.styles, 6755 verticalBorderSpacing = _props2.verticalBorderSpacing; 6756 var weeks = this.state.weeks; 6757 6758 var monthTitle = renderMonthText ? renderMonthText(month) : month.format(monthFormat); 6759 6760 var verticalScrollable = orientation === _constants.VERTICAL_SCROLLABLE; 6761 6762 return _react2['default'].createElement( 6763 'div', 6764 _extends({}, (0, _reactWithStyles.css)(styles.CalendarMonth, { padding: '0 ' + String(horizontalMonthPadding) + 'px' }), { 6765 'data-visible': isVisible 6766 }), 6767 _react2['default'].createElement( 6768 'div', 6769 _extends({ 6770 ref: this.setCaptionRef 6771 }, (0, _reactWithStyles.css)(styles.CalendarMonth_caption, verticalScrollable && styles.CalendarMonth_caption__verticalScrollable)), 6772 renderMonthElement ? renderMonthElement({ month: month, onMonthSelect: onMonthSelect, onYearSelect: onYearSelect }) : _react2['default'].createElement( 6773 'strong', 6774 null, 6775 monthTitle 6776 ) 6777 ), 6778 _react2['default'].createElement( 6779 'table', 6780 _extends({}, (0, _reactWithStyles.css)(!verticalBorderSpacing && styles.CalendarMonth_table, verticalBorderSpacing && styles.CalendarMonth_verticalSpacing, verticalBorderSpacing && { borderSpacing: '0px ' + String(verticalBorderSpacing) + 'px' }), { 6781 role: 'presentation' 6782 }), 6783 _react2['default'].createElement( 6784 'tbody', 6785 null, 6786 weeks.map(function (week, i) { 6787 return _react2['default'].createElement( 6788 _CalendarWeek2['default'], 6789 { key: i }, 6790 week.map(function (day, dayOfWeek) { 6791 return renderCalendarDay({ 6792 key: dayOfWeek, 6793 day: day, 6794 daySize: daySize, 6795 isOutsideDay: !day || day.month() !== month.month(), 6796 tabIndex: isVisible && (0, _isSameDay2['default'])(day, focusedDate) ? 0 : -1, 6797 isFocused: isFocused, 6798 onDayMouseEnter: onDayMouseEnter, 6799 onDayMouseLeave: onDayMouseLeave, 6800 onDayClick: onDayClick, 6801 renderDayContents: renderDayContents, 6802 phrases: phrases, 6803 modifiers: modifiers[(0, _toISODateString2['default'])(day)], 6804 ariaLabelFormat: dayAriaLabelFormat 6805 }); 6806 }) 6807 ); 6808 }) 6809 ) 6810 ) 6811 ); 6812 } 6813 6814 return render; 6815 }() 6816 }]); 6817 6818 return CalendarMonth; 6819 }(_react2['default'].Component); 6820 6821 CalendarMonth.propTypes = propTypes; 6822 CalendarMonth.defaultProps = defaultProps; 6823 6824 exports["default"] = (0, _reactWithStyles.withStyles)(function (_ref) { 6825 var _ref$reactDates = _ref.reactDates, 6826 color = _ref$reactDates.color, 6827 font = _ref$reactDates.font, 6828 spacing = _ref$reactDates.spacing; 6829 return { 6830 CalendarMonth: { 6831 background: color.background, 6832 textAlign: 'center', 6833 verticalAlign: 'top', 6834 userSelect: 'none' 6835 }, 6836 6837 CalendarMonth_table: { 6838 borderCollapse: 'collapse', 6839 borderSpacing: 0 6840 }, 6841 6842 CalendarMonth_verticalSpacing: { 6843 borderCollapse: 'separate' 6844 }, 6845 6846 CalendarMonth_caption: { 6847 color: color.text, 6848 fontSize: font.captionSize, 6849 textAlign: 'center', 6850 paddingTop: spacing.captionPaddingTop, 6851 paddingBottom: spacing.captionPaddingBottom, 6852 captionSide: 'initial' 6853 }, 6854 6855 CalendarMonth_caption__verticalScrollable: { 6856 paddingTop: 12, 6857 paddingBottom: 7 6858 } 6859 }; 6860 })(CalendarMonth); 6861 6862 /***/ }), 6863 6864 /***/ 7938: 6865 /***/ (function(__unused_webpack_module, exports, __webpack_require__) { 6866 6867 "use strict"; 6868 6869 6870 Object.defineProperty(exports, "__esModule", ({ 6871 value: true 6872 })); 6873 6874 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; 6875 6876 var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); 6877 6878 var _object = __webpack_require__(4011); 6879 6880 var _object2 = _interopRequireDefault(_object); 6881 6882 var _react = __webpack_require__(9196); 6883 6884 var _react2 = _interopRequireDefault(_react); 6885 6886 var _propTypes = __webpack_require__(2652); 6887 6888 var _propTypes2 = _interopRequireDefault(_propTypes); 6889 6890 var _reactAddonsShallowCompare = __webpack_require__(2541); 6891 6892 var _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare); 6893 6894 var _reactMomentProptypes = __webpack_require__(6150); 6895 6896 var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes); 6897 6898 var _airbnbPropTypes = __webpack_require__(4882); 6899 6900 var _reactWithStyles = __webpack_require__(3576); 6901 6902 var _moment = __webpack_require__(6292); 6903 6904 var _moment2 = _interopRequireDefault(_moment); 6905 6906 var _consolidatedEvents = __webpack_require__(8495); 6907 6908 var _defaultPhrases = __webpack_require__(6030); 6909 6910 var _getPhrasePropTypes = __webpack_require__(2893); 6911 6912 var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes); 6913 6914 var _CalendarMonth = __webpack_require__(5986); 6915 6916 var _CalendarMonth2 = _interopRequireDefault(_CalendarMonth); 6917 6918 var _isTransitionEndSupported = __webpack_require__(7978); 6919 6920 var _isTransitionEndSupported2 = _interopRequireDefault(_isTransitionEndSupported); 6921 6922 var _getTransformStyles = __webpack_require__(8304); 6923 6924 var _getTransformStyles2 = _interopRequireDefault(_getTransformStyles); 6925 6926 var _getCalendarMonthWidth = __webpack_require__(8964); 6927 6928 var _getCalendarMonthWidth2 = _interopRequireDefault(_getCalendarMonthWidth); 6929 6930 var _toISOMonthString = __webpack_require__(2705); 6931 6932 var _toISOMonthString2 = _interopRequireDefault(_toISOMonthString); 6933 6934 var _isPrevMonth = __webpack_require__(3858); 6935 6936 var _isPrevMonth2 = _interopRequireDefault(_isPrevMonth); 6937 6938 var _isNextMonth = __webpack_require__(1310); 6939 6940 var _isNextMonth2 = _interopRequireDefault(_isNextMonth); 6941 6942 var _ModifiersShape = __webpack_require__(6747); 6943 6944 var _ModifiersShape2 = _interopRequireDefault(_ModifiersShape); 6945 6946 var _ScrollableOrientationShape = __webpack_require__(6553); 6947 6948 var _ScrollableOrientationShape2 = _interopRequireDefault(_ScrollableOrientationShape); 6949 6950 var _DayOfWeekShape = __webpack_require__(243); 6951 6952 var _DayOfWeekShape2 = _interopRequireDefault(_DayOfWeekShape); 6953 6954 var _constants = __webpack_require__(257); 6955 6956 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 6957 6958 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 6959 6960 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } 6961 6962 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } 6963 6964 var propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, { 6965 enableOutsideDays: _propTypes2['default'].bool, 6966 firstVisibleMonthIndex: _propTypes2['default'].number, 6967 horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger, 6968 initialMonth: _reactMomentProptypes2['default'].momentObj, 6969 isAnimating: _propTypes2['default'].bool, 6970 numberOfMonths: _propTypes2['default'].number, 6971 modifiers: _propTypes2['default'].objectOf(_propTypes2['default'].objectOf(_ModifiersShape2['default'])), 6972 orientation: _ScrollableOrientationShape2['default'], 6973 onDayClick: _propTypes2['default'].func, 6974 onDayMouseEnter: _propTypes2['default'].func, 6975 onDayMouseLeave: _propTypes2['default'].func, 6976 onMonthTransitionEnd: _propTypes2['default'].func, 6977 onMonthChange: _propTypes2['default'].func, 6978 onYearChange: _propTypes2['default'].func, 6979 renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'), 6980 renderCalendarDay: _propTypes2['default'].func, 6981 renderDayContents: _propTypes2['default'].func, 6982 translationValue: _propTypes2['default'].number, 6983 renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'), 6984 daySize: _airbnbPropTypes.nonNegativeInteger, 6985 focusedDate: _reactMomentProptypes2['default'].momentObj, // indicates focusable day 6986 isFocused: _propTypes2['default'].bool, // indicates whether or not to move focus to focusable day 6987 firstDayOfWeek: _DayOfWeekShape2['default'], 6988 setMonthTitleHeight: _propTypes2['default'].func, 6989 isRTL: _propTypes2['default'].bool, 6990 transitionDuration: _airbnbPropTypes.nonNegativeInteger, 6991 verticalBorderSpacing: _airbnbPropTypes.nonNegativeInteger, 6992 6993 // i18n 6994 monthFormat: _propTypes2['default'].string, 6995 phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.CalendarDayPhrases)), 6996 dayAriaLabelFormat: _propTypes2['default'].string 6997 })); 6998 6999 var defaultProps = { 7000 enableOutsideDays: false, 7001 firstVisibleMonthIndex: 0, 7002 horizontalMonthPadding: 13, 7003 initialMonth: (0, _moment2['default'])(), 7004 isAnimating: false, 7005 numberOfMonths: 1, 7006 modifiers: {}, 7007 orientation: _constants.HORIZONTAL_ORIENTATION, 7008 onDayClick: function () { 7009 function onDayClick() {} 7010 7011 return onDayClick; 7012 }(), 7013 onDayMouseEnter: function () { 7014 function onDayMouseEnter() {} 7015 7016 return onDayMouseEnter; 7017 }(), 7018 onDayMouseLeave: function () { 7019 function onDayMouseLeave() {} 7020 7021 return onDayMouseLeave; 7022 }(), 7023 onMonthChange: function () { 7024 function onMonthChange() {} 7025 7026 return onMonthChange; 7027 }(), 7028 onYearChange: function () { 7029 function onYearChange() {} 7030 7031 return onYearChange; 7032 }(), 7033 onMonthTransitionEnd: function () { 7034 function onMonthTransitionEnd() {} 7035 7036 return onMonthTransitionEnd; 7037 }(), 7038 7039 renderMonthText: null, 7040 renderCalendarDay: undefined, 7041 renderDayContents: null, 7042 translationValue: null, 7043 renderMonthElement: null, 7044 daySize: _constants.DAY_SIZE, 7045 focusedDate: null, 7046 isFocused: false, 7047 firstDayOfWeek: null, 7048 setMonthTitleHeight: null, 7049 isRTL: false, 7050 transitionDuration: 200, 7051 verticalBorderSpacing: undefined, 7052 7053 // i18n 7054 monthFormat: 'MMMM YYYY', // english locale 7055 phrases: _defaultPhrases.CalendarDayPhrases, 7056 dayAriaLabelFormat: undefined 7057 }; 7058 7059 function getMonths(initialMonth, numberOfMonths, withoutTransitionMonths) { 7060 var month = initialMonth.clone(); 7061 if (!withoutTransitionMonths) month = month.subtract(1, 'month'); 7062 7063 var months = []; 7064 for (var i = 0; i < (withoutTransitionMonths ? numberOfMonths : numberOfMonths + 2); i += 1) { 7065 months.push(month); 7066 month = month.clone().add(1, 'month'); 7067 } 7068 7069 return months; 7070 } 7071 7072 var CalendarMonthGrid = function (_React$Component) { 7073 _inherits(CalendarMonthGrid, _React$Component); 7074 7075 function CalendarMonthGrid(props) { 7076 _classCallCheck(this, CalendarMonthGrid); 7077 7078 var _this = _possibleConstructorReturn(this, (CalendarMonthGrid.__proto__ || Object.getPrototypeOf(CalendarMonthGrid)).call(this, props)); 7079 7080 var withoutTransitionMonths = props.orientation === _constants.VERTICAL_SCROLLABLE; 7081 _this.state = { 7082 months: getMonths(props.initialMonth, props.numberOfMonths, withoutTransitionMonths) 7083 }; 7084 7085 _this.isTransitionEndSupported = (0, _isTransitionEndSupported2['default'])(); 7086 _this.onTransitionEnd = _this.onTransitionEnd.bind(_this); 7087 _this.setContainerRef = _this.setContainerRef.bind(_this); 7088 7089 _this.locale = _moment2['default'].locale(); 7090 _this.onMonthSelect = _this.onMonthSelect.bind(_this); 7091 _this.onYearSelect = _this.onYearSelect.bind(_this); 7092 return _this; 7093 } 7094 7095 _createClass(CalendarMonthGrid, [{ 7096 key: 'componentDidMount', 7097 value: function () { 7098 function componentDidMount() { 7099 this.removeEventListener = (0, _consolidatedEvents.addEventListener)(this.container, 'transitionend', this.onTransitionEnd); 7100 } 7101 7102 return componentDidMount; 7103 }() 7104 }, { 7105 key: 'componentWillReceiveProps', 7106 value: function () { 7107 function componentWillReceiveProps(nextProps) { 7108 var _this2 = this; 7109 7110 var initialMonth = nextProps.initialMonth, 7111 numberOfMonths = nextProps.numberOfMonths, 7112 orientation = nextProps.orientation; 7113 var months = this.state.months; 7114 var _props = this.props, 7115 prevInitialMonth = _props.initialMonth, 7116 prevNumberOfMonths = _props.numberOfMonths; 7117 7118 var hasMonthChanged = !prevInitialMonth.isSame(initialMonth, 'month'); 7119 var hasNumberOfMonthsChanged = prevNumberOfMonths !== numberOfMonths; 7120 var newMonths = months; 7121 7122 if (hasMonthChanged && !hasNumberOfMonthsChanged) { 7123 if ((0, _isNextMonth2['default'])(prevInitialMonth, initialMonth)) { 7124 newMonths = months.slice(1); 7125 newMonths.push(months[months.length - 1].clone().add(1, 'month')); 7126 } else if ((0, _isPrevMonth2['default'])(prevInitialMonth, initialMonth)) { 7127 newMonths = months.slice(0, months.length - 1); 7128 newMonths.unshift(months[0].clone().subtract(1, 'month')); 7129 } else { 7130 var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE; 7131 newMonths = getMonths(initialMonth, numberOfMonths, withoutTransitionMonths); 7132 } 7133 } 7134 7135 if (hasNumberOfMonthsChanged) { 7136 var _withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE; 7137 newMonths = getMonths(initialMonth, numberOfMonths, _withoutTransitionMonths); 7138 } 7139 7140 var momentLocale = _moment2['default'].locale(); 7141 if (this.locale !== momentLocale) { 7142 this.locale = momentLocale; 7143 newMonths = newMonths.map(function (m) { 7144 return m.locale(_this2.locale); 7145 }); 7146 } 7147 7148 this.setState({ 7149 months: newMonths 7150 }); 7151 } 7152 7153 return componentWillReceiveProps; 7154 }() 7155 }, { 7156 key: 'shouldComponentUpdate', 7157 value: function () { 7158 function shouldComponentUpdate(nextProps, nextState) { 7159 return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState); 7160 } 7161 7162 return shouldComponentUpdate; 7163 }() 7164 }, { 7165 key: 'componentDidUpdate', 7166 value: function () { 7167 function componentDidUpdate() { 7168 var _props2 = this.props, 7169 isAnimating = _props2.isAnimating, 7170 transitionDuration = _props2.transitionDuration, 7171 onMonthTransitionEnd = _props2.onMonthTransitionEnd; 7172 7173 // For IE9, immediately call onMonthTransitionEnd instead of 7174 // waiting for the animation to complete. Similarly, if transitionDuration 7175 // is set to 0, also immediately invoke the onMonthTransitionEnd callback 7176 7177 if ((!this.isTransitionEndSupported || !transitionDuration) && isAnimating) { 7178 onMonthTransitionEnd(); 7179 } 7180 } 7181 7182 return componentDidUpdate; 7183 }() 7184 }, { 7185 key: 'componentWillUnmount', 7186 value: function () { 7187 function componentWillUnmount() { 7188 if (this.removeEventListener) this.removeEventListener(); 7189 } 7190 7191 return componentWillUnmount; 7192 }() 7193 }, { 7194 key: 'onTransitionEnd', 7195 value: function () { 7196 function onTransitionEnd() { 7197 var onMonthTransitionEnd = this.props.onMonthTransitionEnd; 7198 7199 onMonthTransitionEnd(); 7200 } 7201 7202 return onTransitionEnd; 7203 }() 7204 }, { 7205 key: 'onMonthSelect', 7206 value: function () { 7207 function onMonthSelect(currentMonth, newMonthVal) { 7208 var newMonth = currentMonth.clone(); 7209 var _props3 = this.props, 7210 onMonthChange = _props3.onMonthChange, 7211 orientation = _props3.orientation; 7212 var months = this.state.months; 7213 7214 var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE; 7215 var initialMonthSubtraction = months.indexOf(currentMonth); 7216 if (!withoutTransitionMonths) { 7217 initialMonthSubtraction -= 1; 7218 } 7219 newMonth.set('month', newMonthVal).subtract(initialMonthSubtraction, 'months'); 7220 onMonthChange(newMonth); 7221 } 7222 7223 return onMonthSelect; 7224 }() 7225 }, { 7226 key: 'onYearSelect', 7227 value: function () { 7228 function onYearSelect(currentMonth, newYearVal) { 7229 var newMonth = currentMonth.clone(); 7230 var _props4 = this.props, 7231 onYearChange = _props4.onYearChange, 7232 orientation = _props4.orientation; 7233 var months = this.state.months; 7234 7235 var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE; 7236 var initialMonthSubtraction = months.indexOf(currentMonth); 7237 if (!withoutTransitionMonths) { 7238 initialMonthSubtraction -= 1; 7239 } 7240 newMonth.set('year', newYearVal).subtract(initialMonthSubtraction, 'months'); 7241 onYearChange(newMonth); 7242 } 7243 7244 return onYearSelect; 7245 }() 7246 }, { 7247 key: 'setContainerRef', 7248 value: function () { 7249 function setContainerRef(ref) { 7250 this.container = ref; 7251 } 7252 7253 return setContainerRef; 7254 }() 7255 }, { 7256 key: 'render', 7257 value: function () { 7258 function render() { 7259 var _this3 = this; 7260 7261 var _props5 = this.props, 7262 enableOutsideDays = _props5.enableOutsideDays, 7263 firstVisibleMonthIndex = _props5.firstVisibleMonthIndex, 7264 horizontalMonthPadding = _props5.horizontalMonthPadding, 7265 isAnimating = _props5.isAnimating, 7266 modifiers = _props5.modifiers, 7267 numberOfMonths = _props5.numberOfMonths, 7268 monthFormat = _props5.monthFormat, 7269 orientation = _props5.orientation, 7270 translationValue = _props5.translationValue, 7271 daySize = _props5.daySize, 7272 onDayMouseEnter = _props5.onDayMouseEnter, 7273 onDayMouseLeave = _props5.onDayMouseLeave, 7274 onDayClick = _props5.onDayClick, 7275 renderMonthText = _props5.renderMonthText, 7276 renderCalendarDay = _props5.renderCalendarDay, 7277 renderDayContents = _props5.renderDayContents, 7278 renderMonthElement = _props5.renderMonthElement, 7279 onMonthTransitionEnd = _props5.onMonthTransitionEnd, 7280 firstDayOfWeek = _props5.firstDayOfWeek, 7281 focusedDate = _props5.focusedDate, 7282 isFocused = _props5.isFocused, 7283 isRTL = _props5.isRTL, 7284 styles = _props5.styles, 7285 phrases = _props5.phrases, 7286 dayAriaLabelFormat = _props5.dayAriaLabelFormat, 7287 transitionDuration = _props5.transitionDuration, 7288 verticalBorderSpacing = _props5.verticalBorderSpacing, 7289 setMonthTitleHeight = _props5.setMonthTitleHeight; 7290 var months = this.state.months; 7291 7292 var isVertical = orientation === _constants.VERTICAL_ORIENTATION; 7293 var isVerticalScrollable = orientation === _constants.VERTICAL_SCROLLABLE; 7294 var isHorizontal = orientation === _constants.HORIZONTAL_ORIENTATION; 7295 7296 var calendarMonthWidth = (0, _getCalendarMonthWidth2['default'])(daySize, horizontalMonthPadding); 7297 7298 var width = isVertical || isVerticalScrollable ? calendarMonthWidth : (numberOfMonths + 2) * calendarMonthWidth; 7299 7300 var transformType = isVertical || isVerticalScrollable ? 'translateY' : 'translateX'; 7301 var transformValue = transformType + '(' + String(translationValue) + 'px)'; 7302 7303 return _react2['default'].createElement( 7304 'div', 7305 _extends({}, (0, _reactWithStyles.css)(styles.CalendarMonthGrid, isHorizontal && styles.CalendarMonthGrid__horizontal, isVertical && styles.CalendarMonthGrid__vertical, isVerticalScrollable && styles.CalendarMonthGrid__vertical_scrollable, isAnimating && styles.CalendarMonthGrid__animating, isAnimating && transitionDuration && { 7306 transition: 'transform ' + String(transitionDuration) + 'ms ease-in-out' 7307 }, (0, _object2['default'])({}, (0, _getTransformStyles2['default'])(transformValue), { 7308 width: width 7309 })), { 7310 ref: this.setContainerRef, 7311 onTransitionEnd: onMonthTransitionEnd 7312 }), 7313 months.map(function (month, i) { 7314 var isVisible = i >= firstVisibleMonthIndex && i < firstVisibleMonthIndex + numberOfMonths; 7315 var hideForAnimation = i === 0 && !isVisible; 7316 var showForAnimation = i === 0 && isAnimating && isVisible; 7317 var monthString = (0, _toISOMonthString2['default'])(month); 7318 return _react2['default'].createElement( 7319 'div', 7320 _extends({ 7321 key: monthString 7322 }, (0, _reactWithStyles.css)(isHorizontal && styles.CalendarMonthGrid_month__horizontal, hideForAnimation && styles.CalendarMonthGrid_month__hideForAnimation, showForAnimation && !isVertical && !isRTL && { 7323 position: 'absolute', 7324 left: -calendarMonthWidth 7325 }, showForAnimation && !isVertical && isRTL && { 7326 position: 'absolute', 7327 right: 0 7328 }, showForAnimation && isVertical && { 7329 position: 'absolute', 7330 top: -translationValue 7331 }, !isVisible && !isAnimating && styles.CalendarMonthGrid_month__hidden)), 7332 _react2['default'].createElement(_CalendarMonth2['default'], { 7333 month: month, 7334 isVisible: isVisible, 7335 enableOutsideDays: enableOutsideDays, 7336 modifiers: modifiers[monthString], 7337 monthFormat: monthFormat, 7338 orientation: orientation, 7339 onDayMouseEnter: onDayMouseEnter, 7340 onDayMouseLeave: onDayMouseLeave, 7341 onDayClick: onDayClick, 7342 onMonthSelect: _this3.onMonthSelect, 7343 onYearSelect: _this3.onYearSelect, 7344 renderMonthText: renderMonthText, 7345 renderCalendarDay: renderCalendarDay, 7346 renderDayContents: renderDayContents, 7347 renderMonthElement: renderMonthElement, 7348 firstDayOfWeek: firstDayOfWeek, 7349 daySize: daySize, 7350 focusedDate: isVisible ? focusedDate : null, 7351 isFocused: isFocused, 7352 phrases: phrases, 7353 setMonthTitleHeight: setMonthTitleHeight, 7354 dayAriaLabelFormat: dayAriaLabelFormat, 7355 verticalBorderSpacing: verticalBorderSpacing, 7356 horizontalMonthPadding: horizontalMonthPadding 7357 }) 7358 ); 7359 }) 7360 ); 7361 } 7362 7363 return render; 7364 }() 7365 }]); 7366 7367 return CalendarMonthGrid; 7368 }(_react2['default'].Component); 7369 7370 CalendarMonthGrid.propTypes = propTypes; 7371 CalendarMonthGrid.defaultProps = defaultProps; 7372 7373 exports["default"] = (0, _reactWithStyles.withStyles)(function (_ref) { 7374 var _ref$reactDates = _ref.reactDates, 7375 color = _ref$reactDates.color, 7376 noScrollBarOnVerticalScrollable = _ref$reactDates.noScrollBarOnVerticalScrollable, 7377 spacing = _ref$reactDates.spacing, 7378 zIndex = _ref$reactDates.zIndex; 7379 return { 7380 CalendarMonthGrid: { 7381 background: color.background, 7382 textAlign: 'left', 7383 zIndex: zIndex 7384 }, 7385 7386 CalendarMonthGrid__animating: { 7387 zIndex: zIndex + 1 7388 }, 7389 7390 CalendarMonthGrid__horizontal: { 7391 position: 'absolute', 7392 left: spacing.dayPickerHorizontalPadding 7393 }, 7394 7395 CalendarMonthGrid__vertical: { 7396 margin: '0 auto' 7397 }, 7398 7399 CalendarMonthGrid__vertical_scrollable: (0, _object2['default'])({ 7400 margin: '0 auto', 7401 overflowY: 'scroll' 7402 }, noScrollBarOnVerticalScrollable && { 7403 '-webkitOverflowScrolling': 'touch', 7404 '::-webkit-scrollbar': { 7405 '-webkit-appearance': 'none', 7406 display: 'none' 7407 } 7408 }), 7409 7410 CalendarMonthGrid_month__horizontal: { 7411 display: 'inline-block', 7412 verticalAlign: 'top', 7413 minHeight: '100%' 7414 }, 7415 7416 CalendarMonthGrid_month__hideForAnimation: { 7417 position: 'absolute', 7418 zIndex: zIndex - 1, 7419 opacity: 0, 7420 pointerEvents: 'none' 7421 }, 7422 7423 CalendarMonthGrid_month__hidden: { 7424 visibility: 'hidden' 7425 } 7426 }; 7427 })(CalendarMonthGrid); 7428 7429 /***/ }), 7430 7431 /***/ 4604: 7432 /***/ (function(__unused_webpack_module, exports, __webpack_require__) { 7433 7434 "use strict"; 7435 7436 7437 Object.defineProperty(exports, "__esModule", ({ 7438 value: true 7439 })); 7440 exports["default"] = CalendarWeek; 7441 7442 var _react = __webpack_require__(9196); 7443 7444 var _react2 = _interopRequireDefault(_react); 7445 7446 var _airbnbPropTypes = __webpack_require__(4882); 7447 7448 var _CalendarDay = __webpack_require__(7617); 7449 7450 var _CalendarDay2 = _interopRequireDefault(_CalendarDay); 7451 7452 var _CustomizableCalendarDay = __webpack_require__(6698); 7453 7454 var _CustomizableCalendarDay2 = _interopRequireDefault(_CustomizableCalendarDay); 7455 7456 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 7457 7458 var propTypes = (0, _airbnbPropTypes.forbidExtraProps)({ 7459 children: (0, _airbnbPropTypes.or)([(0, _airbnbPropTypes.childrenOfType)(_CalendarDay2['default']), (0, _airbnbPropTypes.childrenOfType)(_CustomizableCalendarDay2['default'])]).isRequired 7460 }); 7461 7462 function CalendarWeek(_ref) { 7463 var children = _ref.children; 7464 7465 return _react2['default'].createElement( 7466 'tr', 7467 null, 7468 children 7469 ); 7470 } 7471 7472 CalendarWeek.propTypes = propTypes; 7473 7474 /***/ }), 7475 7476 /***/ 9588: 7477 /***/ (function(__unused_webpack_module, exports, __webpack_require__) { 7478 7479 "use strict"; 7480 7481 7482 Object.defineProperty(exports, "__esModule", ({ 7483 value: true 7484 })); 7485 7486 var _react = __webpack_require__(9196); 7487 7488 var _react2 = _interopRequireDefault(_react); 7489 7490 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 7491 7492 var ChevronDown = function () { 7493 function ChevronDown(props) { 7494 return _react2['default'].createElement( 7495 'svg', 7496 props, 7497 _react2['default'].createElement('path', { 7498 d: 'M967.5 288.5L514.3 740.7c-11 11-21 11-32 0L29.1 288.5c-4-5-6-11-6-16 0-13 10-23 23-23 6 0 11 2 15 7l437.2 436.2 437.2-436.2c4-5 9-7 16-7 6 0 11 2 16 7 9 10.9 9 21 0 32z' 7499 }) 7500 ); 7501 } 7502 7503 return ChevronDown; 7504 }(); 7505 7506 ChevronDown.defaultProps = { 7507 viewBox: '0 0 1000 1000' 7508 }; 7509 exports["default"] = ChevronDown; 7510 7511 /***/ }), 7512 7513 /***/ 1809: 7514 /***/ (function(__unused_webpack_module, exports, __webpack_require__) { 7515 7516 "use strict"; 7517 7518 7519 Object.defineProperty(exports, "__esModule", ({ 7520 value: true 7521 })); 7522 7523 var _react = __webpack_require__(9196); 7524 7525 var _react2 = _interopRequireDefault(_react); 7526 7527 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 7528 7529 var ChevronUp = function () { 7530 function ChevronUp(props) { 7531 return _react2['default'].createElement( 7532 'svg', 7533 props, 7534 _react2['default'].createElement('path', { 7535 d: 'M32.1 712.6l453.2-452.2c11-11 21-11 32 0l453.2 452.2c4 5 6 10 6 16 0 13-10 23-22 23-7 0-12-2-16-7L501.3 308.5 64.1 744.7c-4 5-9 7-15 7-7 0-12-2-17-7-9-11-9-21 0-32.1z' 7536 }) 7537 ); 7538 } 7539 7540 return ChevronUp; 7541 }(); 7542 7543 ChevronUp.defaultProps = { 7544 viewBox: '0 0 1000 1000' 7545 }; 7546 exports["default"] = ChevronUp; 7547 7548 /***/ }), 7549 7550 /***/ 6973: 7551 /***/ (function(__unused_webpack_module, exports, __webpack_require__) { 7552 7553 "use strict"; 7554 7555 7556 Object.defineProperty(exports, "__esModule", ({ 7557 value: true 7558 })); 7559 7560 var _react = __webpack_require__(9196); 7561 7562 var _react2 = _interopRequireDefault(_react); 7563 7564 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 7565 7566 var CloseButton = function () { 7567 function CloseButton(props) { 7568 return _react2['default'].createElement( 7569 'svg', 7570 props, 7571 _react2['default'].createElement('path', { 7572 fillRule: 'evenodd', 7573 d: 'M11.53.47a.75.75 0 0 0-1.061 0l-4.47 4.47L1.529.47A.75.75 0 1 0 .468 1.531l4.47 4.47-4.47 4.47a.75.75 0 1 0 1.061 1.061l4.47-4.47 4.47 4.47a.75.75 0 1 0 1.061-1.061l-4.47-4.47 4.47-4.47a.75.75 0 0 0 0-1.061z' 7574 }) 7575 ); 7576 } 7577 7578 return CloseButton; 7579 }(); 7580 7581 CloseButton.defaultProps = { 7582 viewBox: '0 0 12 12' 7583 }; 7584 exports["default"] = CloseButton; 7585 7586 /***/ }), 7587 7588 /***/ 6698: 7589 /***/ (function(__unused_webpack_module, exports, __webpack_require__) { 7590 7591 "use strict"; 7592 7593 7594 Object.defineProperty(exports, "__esModule", ({ 7595 value: true 7596 })); 7597 exports.PureCustomizableCalendarDay = exports.selectedStyles = exports.lastInRangeStyles = exports.selectedSpanStyles = exports.hoveredSpanStyles = exports.blockedOutOfRangeStyles = exports.blockedCalendarStyles = exports.blockedMinNightsStyles = exports.highlightedCalendarStyles = exports.outsideStyles = exports.defaultStyles = undefined; 7598 7599 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; 7600 7601 var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); 7602 7603 var _object = __webpack_require__(4011); 7604 7605 var _object2 = _interopRequireDefault(_object); 7606 7607 var _react = __webpack_require__(9196); 7608 7609 var _react2 = _interopRequireDefault(_react); 7610 7611 var _propTypes = __webpack_require__(2652); 7612 7613 var _propTypes2 = _interopRequireDefault(_propTypes); 7614 7615 var _reactAddonsShallowCompare = __webpack_require__(2541); 7616 7617 var _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare); 7618 7619 var _reactMomentProptypes = __webpack_require__(6150); 7620 7621 var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes); 7622 7623 var _airbnbPropTypes = __webpack_require__(4882); 7624 7625 var _reactWithStyles = __webpack_require__(3576); 7626 7627 var _moment = __webpack_require__(6292); 7628 7629 var _moment2 = _interopRequireDefault(_moment); 7630 7631 var _defaultPhrases = __webpack_require__(6030); 7632 7633 var _getPhrasePropTypes = __webpack_require__(2893); 7634 7635 var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes); 7636 7637 var _getCalendarDaySettings = __webpack_require__(7475); 7638 7639 var _getCalendarDaySettings2 = _interopRequireDefault(_getCalendarDaySettings); 7640 7641 var _constants = __webpack_require__(257); 7642 7643 var _DefaultTheme = __webpack_require__(8158); 7644 7645 var _DefaultTheme2 = _interopRequireDefault(_DefaultTheme); 7646 7647 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 7648 7649 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 7650 7651 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } 7652 7653 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } 7654 7655 var color = _DefaultTheme2['default'].reactDates.color; 7656 7657 7658 function getStyles(stylesObj, isHovered) { 7659 if (!stylesObj) return null; 7660 7661 var hover = stylesObj.hover; 7662 7663 if (isHovered && hover) { 7664 return hover; 7665 } 7666 7667 return stylesObj; 7668 } 7669 7670 var DayStyleShape = _propTypes2['default'].shape({ 7671 background: _propTypes2['default'].string, 7672 border: (0, _airbnbPropTypes.or)([_propTypes2['default'].string, _propTypes2['default'].number]), 7673 color: _propTypes2['default'].string, 7674 7675 hover: _propTypes2['default'].shape({ 7676 background: _propTypes2['default'].string, 7677 border: (0, _airbnbPropTypes.or)([_propTypes2['default'].string, _propTypes2['default'].number]), 7678 color: _propTypes2['default'].string 7679 }) 7680 }); 7681 7682 var propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, { 7683 day: _reactMomentProptypes2['default'].momentObj, 7684 daySize: _airbnbPropTypes.nonNegativeInteger, 7685 isOutsideDay: _propTypes2['default'].bool, 7686 modifiers: _propTypes2['default'].instanceOf(Set), 7687 isFocused: _propTypes2['default'].bool, 7688 tabIndex: _propTypes2['default'].oneOf([0, -1]), 7689 onDayClick: _propTypes2['default'].func, 7690 onDayMouseEnter: _propTypes2['default'].func, 7691 onDayMouseLeave: _propTypes2['default'].func, 7692 renderDayContents: _propTypes2['default'].func, 7693 ariaLabelFormat: _propTypes2['default'].string, 7694 7695 // style overrides 7696 defaultStyles: DayStyleShape, 7697 outsideStyles: DayStyleShape, 7698 todayStyles: DayStyleShape, 7699 firstDayOfWeekStyles: DayStyleShape, 7700 lastDayOfWeekStyles: DayStyleShape, 7701 highlightedCalendarStyles: DayStyleShape, 7702 blockedMinNightsStyles: DayStyleShape, 7703 blockedCalendarStyles: DayStyleShape, 7704 blockedOutOfRangeStyles: DayStyleShape, 7705 hoveredSpanStyles: DayStyleShape, 7706 selectedSpanStyles: DayStyleShape, 7707 lastInRangeStyles: DayStyleShape, 7708 selectedStyles: DayStyleShape, 7709 selectedStartStyles: DayStyleShape, 7710 selectedEndStyles: DayStyleShape, 7711 afterHoveredStartStyles: DayStyleShape, 7712 7713 // internationalization 7714 phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.CalendarDayPhrases)) 7715 })); 7716 7717 var defaultStyles = exports.defaultStyles = { 7718 border: '1px solid ' + String(color.core.borderLight), 7719 color: color.text, 7720 background: color.background, 7721 7722 hover: { 7723 background: color.core.borderLight, 7724 border: '1px double ' + String(color.core.borderLight), 7725 color: 'inherit' 7726 } 7727 }; 7728 7729 var outsideStyles = exports.outsideStyles = { 7730 background: color.outside.backgroundColor, 7731 border: 0, 7732 color: color.outside.color 7733 }; 7734 7735 var highlightedCalendarStyles = exports.highlightedCalendarStyles = { 7736 background: color.highlighted.backgroundColor, 7737 color: color.highlighted.color, 7738 7739 hover: { 7740 background: color.highlighted.backgroundColor_hover, 7741 color: color.highlighted.color_active 7742 } 7743 }; 7744 7745 var blockedMinNightsStyles = exports.blockedMinNightsStyles = { 7746 background: color.minimumNights.backgroundColor, 7747 border: '1px solid ' + String(color.minimumNights.borderColor), 7748 color: color.minimumNights.color, 7749 7750 hover: { 7751 background: color.minimumNights.backgroundColor_hover, 7752 color: color.minimumNights.color_active 7753 } 7754 }; 7755 7756 var blockedCalendarStyles = exports.blockedCalendarStyles = { 7757 background: color.blocked_calendar.backgroundColor, 7758 border: '1px solid ' + String(color.blocked_calendar.borderColor), 7759 color: color.blocked_calendar.color, 7760 7761 hover: { 7762 background: color.blocked_calendar.backgroundColor_hover, 7763 border: '1px solid ' + String(color.blocked_calendar.borderColor), 7764 color: color.blocked_calendar.color_active 7765 } 7766 }; 7767 7768 var blockedOutOfRangeStyles = exports.blockedOutOfRangeStyles = { 7769 background: color.blocked_out_of_range.backgroundColor, 7770 border: '1px solid ' + String(color.blocked_out_of_range.borderColor), 7771 color: color.blocked_out_of_range.color, 7772 7773 hover: { 7774 background: color.blocked_out_of_range.backgroundColor_hover, 7775 border: '1px solid ' + String(color.blocked_out_of_range.borderColor), 7776 color: color.blocked_out_of_range.color_active 7777 } 7778 }; 7779 7780 var hoveredSpanStyles = exports.hoveredSpanStyles = { 7781 background: color.hoveredSpan.backgroundColor, 7782 border: '1px solid ' + String(color.hoveredSpan.borderColor), 7783 color: color.hoveredSpan.color, 7784 7785 hover: { 7786 background: color.hoveredSpan.backgroundColor_hover, 7787 border: '1px solid ' + String(color.hoveredSpan.borderColor), 7788 color: color.hoveredSpan.color_active 7789 } 7790 }; 7791 7792 var selectedSpanStyles = exports.selectedSpanStyles = { 7793 background: color.selectedSpan.backgroundColor, 7794 border: '1px solid ' + String(color.selectedSpan.borderColor), 7795 color: color.selectedSpan.color, 7796 7797 hover: { 7798 background: color.selectedSpan.backgroundColor_hover, 7799 border: '1px solid ' + String(color.selectedSpan.borderColor), 7800 color: color.selectedSpan.color_active 7801 } 7802 }; 7803 7804 var lastInRangeStyles = exports.lastInRangeStyles = { 7805 borderRight: color.core.primary 7806 }; 7807 7808 var selectedStyles = exports.selectedStyles = { 7809 background: color.selected.backgroundColor, 7810 border: '1px solid ' + String(color.selected.borderColor), 7811 color: color.selected.color, 7812 7813 hover: { 7814 background: color.selected.backgroundColor_hover, 7815 border: '1px solid ' + String(color.selected.borderColor), 7816 color: color.selected.color_active 7817 } 7818 }; 7819 7820 var defaultProps = { 7821 day: (0, _moment2['default'])(), 7822 daySize: _constants.DAY_SIZE, 7823 isOutsideDay: false, 7824 modifiers: new Set(), 7825 isFocused: false, 7826 tabIndex: -1, 7827 onDayClick: function () { 7828 function onDayClick() {} 7829 7830 return onDayClick; 7831 }(), 7832 onDayMouseEnter: function () { 7833 function onDayMouseEnter() {} 7834 7835 return onDayMouseEnter; 7836 }(), 7837 onDayMouseLeave: function () { 7838 function onDayMouseLeave() {} 7839 7840 return onDayMouseLeave; 7841 }(), 7842 7843 renderDayContents: null, 7844 ariaLabelFormat: 'dddd, LL', 7845 7846 // style defaults 7847 defaultStyles: defaultStyles, 7848 outsideStyles: outsideStyles, 7849 todayStyles: {}, 7850 highlightedCalendarStyles: highlightedCalendarStyles, 7851 blockedMinNightsStyles: blockedMinNightsStyles, 7852 blockedCalendarStyles: blockedCalendarStyles, 7853 blockedOutOfRangeStyles: blockedOutOfRangeStyles, 7854 hoveredSpanStyles: hoveredSpanStyles, 7855 selectedSpanStyles: selectedSpanStyles, 7856 lastInRangeStyles: lastInRangeStyles, 7857 selectedStyles: selectedStyles, 7858 selectedStartStyles: {}, 7859 selectedEndStyles: {}, 7860 afterHoveredStartStyles: {}, 7861 firstDayOfWeekStyles: {}, 7862 lastDayOfWeekStyles: {}, 7863 7864 // internationalization 7865 phrases: _defaultPhrases.CalendarDayPhrases 7866 }; 7867 7868 var CustomizableCalendarDay = function (_React$Component) { 7869 _inherits(CustomizableCalendarDay, _React$Component); 7870 7871 function CustomizableCalendarDay() { 7872 var _ref; 7873 7874 _classCallCheck(this, CustomizableCalendarDay); 7875 7876 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { 7877 args[_key] = arguments[_key]; 7878 } 7879 7880 var _this = _possibleConstructorReturn(this, (_ref = CustomizableCalendarDay.__proto__ || Object.getPrototypeOf(CustomizableCalendarDay)).call.apply(_ref, [this].concat(args))); 7881 7882 _this.state = { 7883 isHovered: false 7884 }; 7885 7886 _this.setButtonRef = _this.setButtonRef.bind(_this); 7887 return _this; 7888 } 7889 7890 _createClass(CustomizableCalendarDay, [{ 7891 key: 'shouldComponentUpdate', 7892 value: function () { 7893 function shouldComponentUpdate(nextProps, nextState) { 7894 return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState); 7895 } 7896 7897 return shouldComponentUpdate; 7898 }() 7899 }, { 7900 key: 'componentDidUpdate', 7901 value: function () { 7902 function componentDidUpdate(prevProps) { 7903 var _props = this.props, 7904 isFocused = _props.isFocused, 7905 tabIndex = _props.tabIndex; 7906 7907 if (tabIndex === 0) { 7908 if (isFocused || tabIndex !== prevProps.tabIndex) { 7909 this.buttonRef.focus(); 7910 } 7911 } 7912 } 7913 7914 return componentDidUpdate; 7915 }() 7916 }, { 7917 key: 'onDayClick', 7918 value: function () { 7919 function onDayClick(day, e) { 7920 var onDayClick = this.props.onDayClick; 7921 7922 onDayClick(day, e); 7923 } 7924 7925 return onDayClick; 7926 }() 7927 }, { 7928 key: 'onDayMouseEnter', 7929 value: function () { 7930 function onDayMouseEnter(day, e) { 7931 var onDayMouseEnter = this.props.onDayMouseEnter; 7932 7933 this.setState({ isHovered: true }); 7934 onDayMouseEnter(day, e); 7935 } 7936 7937 return onDayMouseEnter; 7938 }() 7939 }, { 7940 key: 'onDayMouseLeave', 7941 value: function () { 7942 function onDayMouseLeave(day, e) { 7943 var onDayMouseLeave = this.props.onDayMouseLeave; 7944 7945 this.setState({ isHovered: false }); 7946 onDayMouseLeave(day, e); 7947 } 7948 7949 return onDayMouseLeave; 7950 }() 7951 }, { 7952 key: 'onKeyDown', 7953 value: function () { 7954 function onKeyDown(day, e) { 7955 var onDayClick = this.props.onDayClick; 7956 var key = e.key; 7957 7958 if (key === 'Enter' || key === ' ') { 7959 onDayClick(day, e); 7960 } 7961 } 7962 7963 return onKeyDown; 7964 }() 7965 }, { 7966 key: 'setButtonRef', 7967 value: function () { 7968 function setButtonRef(ref) { 7969 this.buttonRef = ref; 7970 } 7971 7972 return setButtonRef; 7973 }() 7974 }, { 7975 key: 'render', 7976 value: function () { 7977 function render() { 7978 var _this2 = this; 7979 7980 var _props2 = this.props, 7981 day = _props2.day, 7982 ariaLabelFormat = _props2.ariaLabelFormat, 7983 daySize = _props2.daySize, 7984 isOutsideDay = _props2.isOutsideDay, 7985 modifiers = _props2.modifiers, 7986 tabIndex = _props2.tabIndex, 7987 renderDayContents = _props2.renderDayContents, 7988 styles = _props2.styles, 7989 phrases = _props2.phrases, 7990 defaultStylesWithHover = _props2.defaultStyles, 7991 outsideStylesWithHover = _props2.outsideStyles, 7992 todayStylesWithHover = _props2.todayStyles, 7993 firstDayOfWeekStylesWithHover = _props2.firstDayOfWeekStyles, 7994 lastDayOfWeekStylesWithHover = _props2.lastDayOfWeekStyles, 7995 highlightedCalendarStylesWithHover = _props2.highlightedCalendarStyles, 7996 blockedMinNightsStylesWithHover = _props2.blockedMinNightsStyles, 7997 blockedCalendarStylesWithHover = _props2.blockedCalendarStyles, 7998 blockedOutOfRangeStylesWithHover = _props2.blockedOutOfRangeStyles, 7999 hoveredSpanStylesWithHover = _props2.hoveredSpanStyles, 8000 selectedSpanStylesWithHover = _props2.selectedSpanStyles, 8001 lastInRangeStylesWithHover = _props2.lastInRangeStyles, 8002 selectedStylesWithHover = _props2.selectedStyles, 8003 selectedStartStylesWithHover = _props2.selectedStartStyles, 8004 selectedEndStylesWithHover = _props2.selectedEndStyles, 8005 afterHoveredStartStylesWithHover = _props2.afterHoveredStartStyles; 8006 var isHovered = this.state.isHovered; 8007 8008 8009 if (!day) return _react2['default'].createElement('td', null); 8010 8011 var _getCalendarDaySettin = (0, _getCalendarDaySettings2['default'])(day, ariaLabelFormat, daySize, modifiers, phrases), 8012 daySizeStyles = _getCalendarDaySettin.daySizeStyles, 8013 useDefaultCursor = _getCalendarDaySettin.useDefaultCursor, 8014 selected = _getCalendarDaySettin.selected, 8015 hoveredSpan = _getCalendarDaySettin.hoveredSpan, 8016 isOutsideRange = _getCalendarDaySettin.isOutsideRange, 8017 ariaLabel = _getCalendarDaySettin.ariaLabel; 8018 8019 return _react2['default'].createElement( 8020 'td', 8021 _extends({}, (0, _reactWithStyles.css)(styles.CalendarDay, useDefaultCursor && styles.CalendarDay__defaultCursor, daySizeStyles, getStyles(defaultStylesWithHover, isHovered), isOutsideDay && getStyles(outsideStylesWithHover, isHovered), modifiers.has('today') && getStyles(todayStylesWithHover, isHovered), modifiers.has('first-day-of-week') && getStyles(firstDayOfWeekStylesWithHover, isHovered), modifiers.has('last-day-of-week') && getStyles(lastDayOfWeekStylesWithHover, isHovered), modifiers.has('highlighted-calendar') && getStyles(highlightedCalendarStylesWithHover, isHovered), modifiers.has('blocked-minimum-nights') && getStyles(blockedMinNightsStylesWithHover, isHovered), modifiers.has('blocked-calendar') && getStyles(blockedCalendarStylesWithHover, isHovered), hoveredSpan && getStyles(hoveredSpanStylesWithHover, isHovered), modifiers.has('after-hovered-start') && getStyles(afterHoveredStartStylesWithHover, isHovered), modifiers.has('selected-span') && getStyles(selectedSpanStylesWithHover, isHovered), modifiers.has('last-in-range') && getStyles(lastInRangeStylesWithHover, isHovered), selected && getStyles(selectedStylesWithHover, isHovered), modifiers.has('selected-start') && getStyles(selectedStartStylesWithHover, isHovered), modifiers.has('selected-end') && getStyles(selectedEndStylesWithHover, isHovered), isOutsideRange && getStyles(blockedOutOfRangeStylesWithHover, isHovered)), { 8022 role: 'button' // eslint-disable-line jsx-a11y/no-noninteractive-element-to-interactive-role 8023 , ref: this.setButtonRef, 8024 'aria-label': ariaLabel, 8025 onMouseEnter: function () { 8026 function onMouseEnter(e) { 8027 _this2.onDayMouseEnter(day, e); 8028 } 8029 8030 return onMouseEnter; 8031 }(), 8032 onMouseLeave: function () { 8033 function onMouseLeave(e) { 8034 _this2.onDayMouseLeave(day, e); 8035 } 8036 8037 return onMouseLeave; 8038 }(), 8039 onMouseUp: function () { 8040 function onMouseUp(e) { 8041 e.currentTarget.blur(); 8042 } 8043 8044 return onMouseUp; 8045 }(), 8046 onClick: function () { 8047 function onClick(e) { 8048 _this2.onDayClick(day, e); 8049 } 8050 8051 return onClick; 8052 }(), 8053 onKeyDown: function () { 8054 function onKeyDown(e) { 8055 _this2.onKeyDown(day, e); 8056 } 8057 8058 return onKeyDown; 8059 }(), 8060 tabIndex: tabIndex 8061 }), 8062 renderDayContents ? renderDayContents(day, modifiers) : day.format('D') 8063 ); 8064 } 8065 8066 return render; 8067 }() 8068 }]); 8069 8070 return CustomizableCalendarDay; 8071 }(_react2['default'].Component); 8072 8073 CustomizableCalendarDay.propTypes = propTypes; 8074 CustomizableCalendarDay.defaultProps = defaultProps; 8075 8076 exports.PureCustomizableCalendarDay = CustomizableCalendarDay; 8077 exports["default"] = (0, _reactWithStyles.withStyles)(function (_ref2) { 8078 var font = _ref2.reactDates.font; 8079 return { 8080 CalendarDay: { 8081 boxSizing: 'border-box', 8082 cursor: 'pointer', 8083 fontSize: font.size, 8084 textAlign: 'center', 8085 8086 ':active': { 8087 outline: 0 8088 } 8089 }, 8090 8091 CalendarDay__defaultCursor: { 8092 cursor: 'default' 8093 } 8094 }; 8095 })(CustomizableCalendarDay); 8096 8097 /***/ }), 8098 8099 /***/ 8665: 8100 /***/ (function(__unused_webpack_module, exports, __webpack_require__) { 8101 8102 "use strict"; 8103 8104 8105 Object.defineProperty(exports, "__esModule", ({ 8106 value: true 8107 })); 8108 exports.PureDayPicker = exports.defaultProps = undefined; 8109 8110 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; 8111 8112 var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); 8113 8114 var _object = __webpack_require__(4011); 8115 8116 var _object2 = _interopRequireDefault(_object); 8117 8118 var _react = __webpack_require__(9196); 8119 8120 var _react2 = _interopRequireDefault(_react); 8121 8122 var _propTypes = __webpack_require__(2652); 8123 8124 var _propTypes2 = _interopRequireDefault(_propTypes); 8125 8126 var _reactAddonsShallowCompare = __webpack_require__(2541); 8127 8128 var _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare); 8129 8130 var _airbnbPropTypes = __webpack_require__(4882); 8131 8132 var _reactWithStyles = __webpack_require__(3576); 8133 8134 var _moment = __webpack_require__(6292); 8135 8136 var _moment2 = _interopRequireDefault(_moment); 8137 8138 var _throttle = __webpack_require__(8172); 8139 8140 var _throttle2 = _interopRequireDefault(_throttle); 8141 8142 var _isTouchDevice = __webpack_require__(5834); 8143 8144 var _isTouchDevice2 = _interopRequireDefault(_isTouchDevice); 8145 8146 var _reactOutsideClickHandler = __webpack_require__(6606); 8147 8148 var _reactOutsideClickHandler2 = _interopRequireDefault(_reactOutsideClickHandler); 8149 8150 var _defaultPhrases = __webpack_require__(6030); 8151 8152 var _getPhrasePropTypes = __webpack_require__(2893); 8153 8154 var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes); 8155 8156 var _CalendarMonthGrid = __webpack_require__(7938); 8157 8158 var _CalendarMonthGrid2 = _interopRequireDefault(_CalendarMonthGrid); 8159 8160 var _DayPickerNavigation = __webpack_require__(3895); 8161 8162 var _DayPickerNavigation2 = _interopRequireDefault(_DayPickerNavigation); 8163 8164 var _DayPickerKeyboardShortcuts = __webpack_require__(600); 8165 8166 var _DayPickerKeyboardShortcuts2 = _interopRequireDefault(_DayPickerKeyboardShortcuts); 8167 8168 var _getNumberOfCalendarMonthWeeks = __webpack_require__(4112); 8169 8170 var _getNumberOfCalendarMonthWeeks2 = _interopRequireDefault(_getNumberOfCalendarMonthWeeks); 8171 8172 var _getCalendarMonthWidth = __webpack_require__(8964); 8173 8174 var _getCalendarMonthWidth2 = _interopRequireDefault(_getCalendarMonthWidth); 8175 8176 var _calculateDimension = __webpack_require__(8607); 8177 8178 var _calculateDimension2 = _interopRequireDefault(_calculateDimension); 8179 8180 var _getActiveElement = __webpack_require__(5814); 8181 8182 var _getActiveElement2 = _interopRequireDefault(_getActiveElement); 8183 8184 var _isDayVisible = __webpack_require__(5713); 8185 8186 var _isDayVisible2 = _interopRequireDefault(_isDayVisible); 8187 8188 var _ModifiersShape = __webpack_require__(6747); 8189 8190 var _ModifiersShape2 = _interopRequireDefault(_ModifiersShape); 8191 8192 var _ScrollableOrientationShape = __webpack_require__(6553); 8193 8194 var _ScrollableOrientationShape2 = _interopRequireDefault(_ScrollableOrientationShape); 8195 8196 var _DayOfWeekShape = __webpack_require__(243); 8197 8198 var _DayOfWeekShape2 = _interopRequireDefault(_DayOfWeekShape); 8199 8200 var _CalendarInfoPositionShape = __webpack_require__(8182); 8201 8202 var _CalendarInfoPositionShape2 = _interopRequireDefault(_CalendarInfoPositionShape); 8203 8204 var _constants = __webpack_require__(257); 8205 8206 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } 8207 8208 function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } 8209 8210 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 8211 8212 function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } 8213 8214 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } 8215 8216 var MONTH_PADDING = 23; 8217 var PREV_TRANSITION = 'prev'; 8218 var NEXT_TRANSITION = 'next'; 8219 var MONTH_SELECTION_TRANSITION = 'month_selection'; 8220 var YEAR_SELECTION_TRANSITION = 'year_selection'; 8221 8222 var propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, { 8223 8224 // calendar presentation props 8225 enableOutsideDays: _propTypes2['default'].bool, 8226 numberOfMonths: _propTypes2['default'].number, 8227 orientation: _ScrollableOrientationShape2['default'], 8228 withPortal: _propTypes2['default'].bool, 8229 onOutsideClick: _propTypes2['default'].func, 8230 hidden: _propTypes2['default'].bool, 8231 initialVisibleMonth: _propTypes2['default'].func, 8232 firstDayOfWeek: _DayOfWeekShape2['default'], 8233 renderCalendarInfo: _propTypes2['default'].func, 8234 calendarInfoPosition: _CalendarInfoPositionShape2['default'], 8235 hideKeyboardShortcutsPanel: _propTypes2['default'].bool, 8236 daySize: _airbnbPropTypes.nonNegativeInteger, 8237 isRTL: _propTypes2['default'].bool, 8238 verticalHeight: _airbnbPropTypes.nonNegativeInteger, 8239 noBorder: _propTypes2['default'].bool, 8240 transitionDuration: _airbnbPropTypes.nonNegativeInteger, 8241 verticalBorderSpacing: _airbnbPropTypes.nonNegativeInteger, 8242 horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger, 8243 8244 // navigation props 8245 navPrev: _propTypes2['default'].node, 8246 navNext: _propTypes2['default'].node, 8247 noNavButtons: _propTypes2['default'].bool, 8248 onPrevMonthClick: _propTypes2['default'].func, 8249 onNextMonthClick: _propTypes2['default'].func, 8250 onMonthChange: _propTypes2['default'].func, 8251 onYearChange: _propTypes2['default'].func, 8252 onMultiplyScrollableMonths: _propTypes2['default'].func, // VERTICAL_SCROLLABLE daypickers only 8253 8254 // month props 8255 renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'), 8256 renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'), 8257 8258 // day props 8259 modifiers: _propTypes2['default'].objectOf(_propTypes2['default'].objectOf(_ModifiersShape2['default'])), 8260 renderCalendarDay: _propTypes2['default'].func, 8261 renderDayContents: _propTypes2['default'].func, 8262 onDayClick: _propTypes2['default'].func, 8263 onDayMouseEnter: _propTypes2['default'].func, 8264 onDayMouseLeave: _propTypes2['default'].func, 8265 8266 // accessibility props 8267 isFocused: _propTypes2['default'].bool, 8268 getFirstFocusableDay: _propTypes2['default'].func, 8269 onBlur: _propTypes2['default'].func, 8270 showKeyboardShortcuts: _propTypes2['default'].bool, 8271 8272 // internationalization 8273 monthFormat: _propTypes2['default'].string, 8274 weekDayFormat: _propTypes2['default'].string, 8275 phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DayPickerPhrases)), 8276 dayAriaLabelFormat: _propTypes2['default'].string 8277 })); 8278 8279 var defaultProps = exports.defaultProps = { 8280 // calendar presentation props 8281 enableOutsideDays: false, 8282 numberOfMonths: 2, 8283 orientation: _constants.HORIZONTAL_ORIENTATION, 8284 withPortal: false, 8285 onOutsideClick: function () { 8286 function onOutsideClick() {} 8287 8288 return onOutsideClick; 8289 }(), 8290 8291 hidden: false, 8292 initialVisibleMonth: function () { 8293 function initialVisibleMonth() { 8294 return (0, _moment2['default'])(); 8295 } 8296 8297 return initialVisibleMonth; 8298 }(), 8299 firstDayOfWeek: null, 8300 renderCalendarInfo: null, 8301 calendarInfoPosition: _constants.INFO_POSITION_BOTTOM, 8302 hideKeyboardShortcutsPanel: false, 8303 daySize: _constants.DAY_SIZE, 8304 isRTL: false, 8305 verticalHeight: null, 8306 noBorder: false, 8307 transitionDuration: undefined, 8308 verticalBorderSpacing: undefined, 8309 horizontalMonthPadding: 13, 8310 8311 // navigation props 8312 navPrev: null, 8313 navNext: null, 8314 noNavButtons: false, 8315 onPrevMonthClick: function () { 8316 function onPrevMonthClick() {} 8317 8318 return onPrevMonthClick; 8319 }(), 8320 onNextMonthClick: function () { 8321 function onNextMonthClick() {} 8322 8323 return onNextMonthClick; 8324 }(), 8325 onMonthChange: function () { 8326 function onMonthChange() {} 8327 8328 return onMonthChange; 8329 }(), 8330 onYearChange: function () { 8331 function onYearChange() {} 8332 8333 return onYearChange; 8334 }(), 8335 onMultiplyScrollableMonths: function () { 8336 function onMultiplyScrollableMonths() {} 8337 8338 return onMultiplyScrollableMonths; 8339 }(), 8340 8341 8342 // month props 8343 renderMonthText: null, 8344 renderMonthElement: null, 8345 8346 // day props 8347 modifiers: {}, 8348 renderCalendarDay: undefined, 8349 renderDayContents: null, 8350 onDayClick: function () { 8351 function onDayClick() {} 8352 8353 return onDayClick; 8354 }(), 8355 onDayMouseEnter: function () { 8356 function onDayMouseEnter() {} 8357 8358 return onDayMouseEnter; 8359 }(), 8360 onDayMouseLeave: function () { 8361 function onDayMouseLeave() {} 8362 8363 return onDayMouseLeave; 8364 }(), 8365 8366 8367 // accessibility props 8368 isFocused: false, 8369 getFirstFocusableDay: null, 8370 onBlur: function () { 8371 function onBlur() {} 8372 8373 return onBlur; 8374 }(), 8375 8376 showKeyboardShortcuts: false, 8377 8378 // internationalization 8379 monthFormat: 'MMMM YYYY', 8380 weekDayFormat: 'dd', 8381 phrases: _defaultPhrases.DayPickerPhrases, 8382 dayAriaLabelFormat: undefined 8383 }; 8384 8385 var DayPicker = function (_React$Component) { 8386 _inherits(DayPicker, _React$Component); 8387 8388 function DayPicker(props) { 8389 _classCallCheck(this, DayPicker); 8390 8391 var _this = _possibleConstructorReturn(this, (DayPicker.__proto__ || Object.getPrototypeOf(DayPicker)).call(this, props)); 8392 8393 var currentMonth = props.hidden ? (0, _moment2['default'])() : props.initialVisibleMonth(); 8394 8395 var focusedDate = currentMonth.clone().startOf('month'); 8396 if (props.getFirstFocusableDay) { 8397 focusedDate = props.getFirstFocusableDay(currentMonth); 8398 } 8399 8400 var horizontalMonthPadding = props.horizontalMonthPadding; 8401 8402 8403 var translationValue = props.isRTL && _this.isHorizontal() ? -(0, _getCalendarMonthWidth2['default'])(props.daySize, horizontalMonthPadding) : 0; 8404 8405 _this.hasSetInitialVisibleMonth = !props.hidden; 8406 _this.state = { 8407 currentMonth: currentMonth, 8408 monthTransition: null, 8409 translationValue: translationValue, 8410 scrollableMonthMultiple: 1, 8411 calendarMonthWidth: (0, _getCalendarMonthWidth2['default'])(props.daySize, horizontalMonthPadding), 8412 focusedDate: !props.hidden || props.isFocused ? focusedDate : null, 8413 nextFocusedDate: null, 8414 showKeyboardShortcuts: props.showKeyboardShortcuts, 8415 onKeyboardShortcutsPanelClose: function () { 8416 function onKeyboardShortcutsPanelClose() {} 8417 8418 return onKeyboardShortcutsPanelClose; 8419 }(), 8420 8421 isTouchDevice: (0, _isTouchDevice2['default'])(), 8422 withMouseInteractions: true, 8423 calendarInfoWidth: 0, 8424 monthTitleHeight: null, 8425 hasSetHeight: false 8426 }; 8427 8428 _this.setCalendarMonthWeeks(currentMonth); 8429 8430 _this.calendarMonthGridHeight = 0; 8431 _this.setCalendarInfoWidthTimeout = null; 8432 8433 _this.onKeyDown = _this.onKeyDown.bind(_this); 8434 _this.throttledKeyDown = (0, _throttle2['default'])(_this.onFinalKeyDown, 200, { trailing: false }); 8435 _this.onPrevMonthClick = _this.onPrevMonthClick.bind(_this); 8436 _this.onNextMonthClick = _this.onNextMonthClick.bind(_this); 8437 _this.onMonthChange = _this.onMonthChange.bind(_this); 8438 _this.onYearChange = _this.onYearChange.bind(_this); 8439 8440 _this.multiplyScrollableMonths = _this.multiplyScrollableMonths.bind(_this); 8441 _this.updateStateAfterMonthTransition = _this.updateStateAfterMonthTransition.bind(_this); 8442 8443 _this.openKeyboardShortcutsPanel = _this.openKeyboardShortcutsPanel.bind(_this); 8444 _this.closeKeyboardShortcutsPanel = _this.closeKeyboardShortcutsPanel.bind(_this); 8445 8446 _this.setCalendarInfoRef = _this.setCalendarInfoRef.bind(_this); 8447 _this.setContainerRef = _this.setContainerRef.bind(_this); 8448 _this.setTransitionContainerRef = _this.setTransitionContainerRef.bind(_this); 8449 _this.setMonthTitleHeight = _this.setMonthTitleHeight.bind(_this); 8450 return _this; 8451 } 8452 8453 _createClass(DayPicker, [{ 8454 key: 'componentDidMount', 8455 value: function () { 8456 function componentDidMount() { 8457 var currentMonth = this.state.currentMonth; 8458 8459 if (this.calendarInfo) { 8460 this.setState({ 8461 isTouchDevice: (0, _isTouchDevice2['default'])(), 8462 calendarInfoWidth: (0, _calculateDimension2['default'])(this.calendarInfo, 'width', true, true) 8463 }); 8464 } else { 8465 this.setState({ isTouchDevice: (0, _isTouchDevice2['default'])() }); 8466 } 8467 8468 this.setCalendarMonthWeeks(currentMonth); 8469 } 8470 8471 return componentDidMount; 8472 }() 8473 }, { 8474 key: 'componentWillReceiveProps', 8475 value: function () { 8476 function componentWillReceiveProps(nextProps) { 8477 var hidden = nextProps.hidden, 8478 isFocused = nextProps.isFocused, 8479 showKeyboardShortcuts = nextProps.showKeyboardShortcuts, 8480 onBlur = nextProps.onBlur, 8481 renderMonthText = nextProps.renderMonthText, 8482 horizontalMonthPadding = nextProps.horizontalMonthPadding; 8483 var currentMonth = this.state.currentMonth; 8484 8485 8486 if (!hidden) { 8487 if (!this.hasSetInitialVisibleMonth) { 8488 this.hasSetInitialVisibleMonth = true; 8489 this.setState({ 8490 currentMonth: nextProps.initialVisibleMonth() 8491 }); 8492 } 8493 } 8494 8495 var _props = this.props, 8496 daySize = _props.daySize, 8497 prevIsFocused = _props.isFocused, 8498 prevRenderMonthText = _props.renderMonthText; 8499 8500 8501 if (nextProps.daySize !== daySize) { 8502 this.setState({ 8503 calendarMonthWidth: (0, _getCalendarMonthWidth2['default'])(nextProps.daySize, horizontalMonthPadding) 8504 }); 8505 } 8506 8507 if (isFocused !== prevIsFocused) { 8508 if (isFocused) { 8509 var focusedDate = this.getFocusedDay(currentMonth); 8510 8511 var onKeyboardShortcutsPanelClose = this.state.onKeyboardShortcutsPanelClose; 8512 8513 if (nextProps.showKeyboardShortcuts) { 8514 // the ? shortcut came from the input and we should return input there once it is close 8515 onKeyboardShortcutsPanelClose = onBlur; 8516 } 8517 8518 this.setState({ 8519 showKeyboardShortcuts: showKeyboardShortcuts, 8520 onKeyboardShortcutsPanelClose: onKeyboardShortcutsPanelClose, 8521 focusedDate: focusedDate, 8522 withMouseInteractions: false 8523 }); 8524 } else { 8525 this.setState({ focusedDate: null }); 8526 } 8527 } 8528 8529 if (renderMonthText !== prevRenderMonthText) { 8530 this.setState({ 8531 monthTitleHeight: null 8532 }); 8533 } 8534 } 8535 8536 return componentWillReceiveProps; 8537 }() 8538 }, { 8539 key: 'shouldComponentUpdate', 8540 value: function () { 8541 function shouldComponentUpdate(nextProps, nextState) { 8542 return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState); 8543 } 8544 8545 return shouldComponentUpdate; 8546 }() 8547 }, { 8548 key: 'componentWillUpdate', 8549 value: function () { 8550 function componentWillUpdate() { 8551 var _this2 = this; 8552 8553 var transitionDuration = this.props.transitionDuration; 8554 8555 // Calculating the dimensions trigger a DOM repaint which 8556 // breaks the CSS transition. 8557 // The setTimeout will wait until the transition ends. 8558 8559 if (this.calendarInfo) { 8560 this.setCalendarInfoWidthTimeout = setTimeout(function () { 8561 var calendarInfoWidth = _this2.state.calendarInfoWidth; 8562 8563 var calendarInfoPanelWidth = (0, _calculateDimension2['default'])(_this2.calendarInfo, 'width', true, true); 8564 if (calendarInfoWidth !== calendarInfoPanelWidth) { 8565 _this2.setState({ 8566 calendarInfoWidth: calendarInfoPanelWidth 8567 }); 8568 } 8569 }, transitionDuration); 8570 } 8571 } 8572 8573 return componentWillUpdate; 8574 }() 8575 }, { 8576 key: 'componentDidUpdate', 8577 value: function () { 8578 function componentDidUpdate(prevProps) { 8579 var _props2 = this.props, 8580 orientation = _props2.orientation, 8581 daySize = _props2.daySize, 8582 isFocused = _props2.isFocused, 8583 numberOfMonths = _props2.numberOfMonths; 8584 var _state = this.state, 8585 focusedDate = _state.focusedDate, 8586 monthTitleHeight = _state.monthTitleHeight; 8587 8588 8589 if (this.isHorizontal() && (orientation !== prevProps.orientation || daySize !== prevProps.daySize)) { 8590 var visibleCalendarWeeks = this.calendarMonthWeeks.slice(1, numberOfMonths + 1); 8591 var calendarMonthWeeksHeight = Math.max.apply(Math, [0].concat(_toConsumableArray(visibleCalendarWeeks))) * (daySize - 1); 8592 var newMonthHeight = monthTitleHeight + calendarMonthWeeksHeight + 1; 8593 this.adjustDayPickerHeight(newMonthHeight); 8594 } 8595 8596 if (!prevProps.isFocused && isFocused && !focusedDate) { 8597 this.container.focus(); 8598 } 8599 } 8600 8601 return componentDidUpdate; 8602 }() 8603 }, { 8604 key: 'componentWillUnmount', 8605 value: function () { 8606 function componentWillUnmount() { 8607 clearTimeout(this.setCalendarInfoWidthTimeout); 8608 } 8609 8610 return componentWillUnmount; 8611 }() 8612 }, { 8613 key: 'onKeyDown', 8614 value: function () { 8615 function onKeyDown(e) { 8616 e.stopPropagation(); 8617 if (!_constants.MODIFIER_KEY_NAMES.has(e.key)) { 8618 this.throttledKeyDown(e); 8619 } 8620 } 8621 8622 return onKeyDown; 8623 }() 8624 }, { 8625 key: 'onFinalKeyDown', 8626 value: function () { 8627 function onFinalKeyDown(e) { 8628 this.setState({ withMouseInteractions: false }); 8629 8630 var _props3 = this.props, 8631 onBlur = _props3.onBlur, 8632 isRTL = _props3.isRTL; 8633 var _state2 = this.state, 8634 focusedDate = _state2.focusedDate, 8635 showKeyboardShortcuts = _state2.showKeyboardShortcuts; 8636 8637 if (!focusedDate) return; 8638 8639 var newFocusedDate = focusedDate.clone(); 8640 8641 var didTransitionMonth = false; 8642 8643 // focus might be anywhere when the keyboard shortcuts panel is opened so we want to 8644 // return it to wherever it was before when the panel was opened 8645 var activeElement = (0, _getActiveElement2['default'])(); 8646 var onKeyboardShortcutsPanelClose = function () { 8647 function onKeyboardShortcutsPanelClose() { 8648 if (activeElement) activeElement.focus(); 8649 } 8650 8651 return onKeyboardShortcutsPanelClose; 8652 }(); 8653 8654 switch (e.key) { 8655 case 'ArrowUp': 8656 e.preventDefault(); 8657 newFocusedDate.subtract(1, 'week'); 8658 didTransitionMonth = this.maybeTransitionPrevMonth(newFocusedDate); 8659 break; 8660 case 'ArrowLeft': 8661 e.preventDefault(); 8662 if (isRTL) { 8663 newFocusedDate.add(1, 'day'); 8664 } else { 8665 newFocusedDate.subtract(1, 'day'); 8666 } 8667 didTransitionMonth = this.maybeTransitionPrevMonth(newFocusedDate); 8668 break; 8669 case 'Home': 8670 e.preventDefault(); 8671 newFocusedDate.startOf('week'); 8672 didTransitionMonth = this.maybeTransitionPrevMonth(newFocusedDate); 8673 break; 8674 case 'PageUp': 8675 e.preventDefault(); 8676 newFocusedDate.subtract(1, 'month'); 8677 didTransitionMonth = this.maybeTransitionPrevMonth(newFocusedDate); 8678 break; 8679 8680 case 'ArrowDown': 8681 e.preventDefault(); 8682 newFocusedDate.add(1, 'week'); 8683 didTransitionMonth = this.maybeTransitionNextMonth(newFocusedDate); 8684 break; 8685 case 'ArrowRight': 8686 e.preventDefault(); 8687 if (isRTL) { 8688 newFocusedDate.subtract(1, 'day'); 8689 } else { 8690 newFocusedDate.add(1, 'day'); 8691 } 8692 didTransitionMonth = this.maybeTransitionNextMonth(newFocusedDate); 8693 break; 8694 case 'End': 8695 e.preventDefault(); 8696 newFocusedDate.endOf('week'); 8697 didTransitionMonth = this.maybeTransitionNextMonth(newFocusedDate); 8698 break; 8699 case 'PageDown': 8700 e.preventDefault(); 8701 newFocusedDate.add(1, 'month'); 8702 didTransitionMonth = this.maybeTransitionNextMonth(newFocusedDate); 8703 break; 8704 8705 case '?': 8706 this.openKeyboardShortcutsPanel(onKeyboardShortcutsPanelClose); 8707 break; 8708 8709 case 'Escape': 8710 if (showKeyboardShortcuts) { 8711 this.closeKeyboardShortcutsPanel(); 8712 } else { 8713 onBlur(); 8714 } 8715 break; 8716 8717 default: 8718 break; 8719 } 8720 8721 // If there was a month transition, do not update the focused date until the transition has 8722 // completed. Otherwise, attempting to focus on a DOM node may interrupt the CSS animation. If 8723 // didTransitionMonth is true, the focusedDate gets updated in #updateStateAfterMonthTransition 8724 if (!didTransitionMonth) { 8725 this.setState({ 8726 focusedDate: newFocusedDate 8727 }); 8728 } 8729 } 8730 8731 return onFinalKeyDown; 8732 }() 8733 }, {