WooCommerce Admin - Version 1.9.1

Version Description

2021-09-21 =

  • Fix unsecured reports

=

Download this release

Release Info

Developer joshuaflow
Plugin Icon 128x128 WooCommerce Admin
Version 1.9.1
Comparing to
See all releases

Code changes from version 2.2.6 to 1.9.1

Files changed (1) hide show
  1. dist/app/index.js +10255 -16487
dist/app/index.js CHANGED
@@ -95,7 +95,7 @@ this["wc"] = this["wc"] || {}; this["wc"]["app"] =
95
  /******/
96
  /******/
97
  /******/ // mini-css-extract-plugin CSS loading
98
- /******/ var cssChunks = {"0":1,"4":1,"7":1,"9":1,"10":1,"14":1,"15":1,"20":1,"28":1,"29":1,"32":1,"34":1,"36":1,"46":1,"47":1,"48":1,"49":1};
99
  /******/ if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);
100
  /******/ else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {
101
  /******/ promises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {
@@ -259,17 +259,19 @@ this["wc"] = this["wc"] || {}; this["wc"]["app"] =
259
  /******/
260
  /******/
261
  /******/ // Load entry module and return exports
262
- /******/ return __webpack_require__(__webpack_require__.s = 418);
263
  /******/ })
264
  /************************************************************************/
265
- /******/ ([
266
- /* 0 */
 
267
  /***/ (function(module, exports) {
268
 
269
- (function() { module.exports = window["wp"]["element"]; }());
270
 
271
  /***/ }),
272
- /* 1 */
 
273
  /***/ (function(module, exports, __webpack_require__) {
274
 
275
  /**
@@ -282,12713 +284,7461 @@ this["wc"] = this["wc"] || {}; this["wc"]["app"] =
282
  if (false) { var throwOnDirectAccess, ReactIs; } else {
283
  // By explicitly using `prop-types` you are opting into new production behavior.
284
  // http://fb.me/prop-types-in-prod
285
- module.exports = __webpack_require__(215)();
286
  }
287
 
288
 
289
  /***/ }),
290
- /* 2 */
 
291
  /***/ (function(module, exports) {
292
 
293
- (function() { module.exports = window["wp"]["i18n"]; }());
294
 
295
  /***/ }),
296
- /* 3 */
297
- /***/ (function(module, exports, __webpack_require__) {
298
 
299
- /* WEBPACK VAR INJECTION */(function(global) {var check = function (it) {
300
- return it && it.Math == Math && it;
301
- };
302
-
303
- // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
304
- module.exports =
305
- /* global globalThis -- safe */
306
- check(typeof globalThis == 'object' && globalThis) ||
307
- check(typeof window == 'object' && window) ||
308
- check(typeof self == 'object' && self) ||
309
- check(typeof global == 'object' && global) ||
310
- // eslint-disable-next-line no-new-func -- fallback
311
- (function () { return this; })() || Function('return this')();
312
 
313
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(96)))
 
 
 
 
 
 
 
 
314
 
315
- /***/ }),
316
- /* 4 */
317
- /***/ (function(module, exports) {
318
 
319
- (function() { module.exports = window["wp"]["components"]; }());
 
 
320
 
321
- /***/ }),
322
- /* 5 */
323
- /***/ (function(module, exports) {
 
 
 
324
 
325
- (function() { module.exports = window["lodash"]; }());
 
 
 
 
326
 
327
- /***/ }),
328
- /* 6 */
329
- /***/ (function(module, exports) {
330
 
331
- module.exports = function (exec) {
332
- try {
333
- return !!exec();
334
- } catch (error) {
335
- return true;
336
  }
337
- };
338
 
 
 
 
 
 
 
 
 
 
 
339
 
340
- /***/ }),
341
- /* 7 */
342
- /***/ (function(module, exports) {
343
 
344
- function _defineProperty(obj, key, value) {
345
- if (key in obj) {
346
- Object.defineProperty(obj, key, {
347
- value: value,
348
- enumerable: true,
349
- configurable: true,
350
- writable: true
351
- });
352
- } else {
353
- obj[key] = value;
354
  }
355
 
356
- return obj;
357
- }
358
-
359
- module.exports = _defineProperty;
360
 
361
- /***/ }),
362
- /* 8 */
363
- /***/ (function(module, exports, __webpack_require__) {
364
 
365
- var global = __webpack_require__(3);
366
- var shared = __webpack_require__(58);
367
- var has = __webpack_require__(11);
368
- var uid = __webpack_require__(55);
369
- var NATIVE_SYMBOL = __webpack_require__(62);
370
- var USE_SYMBOL_AS_UID = __webpack_require__(93);
371
-
372
- var WellKnownSymbolsStore = shared('wks');
373
- var Symbol = global.Symbol;
374
- var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;
375
-
376
- module.exports = function (name) {
377
- if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
378
- if (NATIVE_SYMBOL && has(Symbol, name)) {
379
- WellKnownSymbolsStore[name] = Symbol[name];
380
- } else {
381
- WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
382
- }
383
- } return WellKnownSymbolsStore[name];
384
  };
 
 
 
 
 
 
385
 
 
 
386
 
387
- /***/ }),
388
- /* 9 */
389
- /***/ (function(module, exports, __webpack_require__) {
390
-
391
- var isObject = __webpack_require__(10);
392
 
393
- module.exports = function (it) {
394
- if (!isObject(it)) {
395
- throw TypeError(String(it) + ' is not an object');
396
- } return it;
 
397
  };
 
 
 
 
 
 
398
 
 
 
 
 
 
 
 
399
 
400
- /***/ }),
401
- /* 10 */
402
- /***/ (function(module, exports) {
403
-
404
- module.exports = function (it) {
405
- return typeof it === 'object' ? it !== null : typeof it === 'function';
406
- };
407
-
408
 
409
- /***/ }),
410
- /* 11 */
411
- /***/ (function(module, exports) {
 
 
 
 
412
 
413
- var hasOwnProperty = {}.hasOwnProperty;
 
 
414
 
415
- module.exports = function (it, key) {
416
- return hasOwnProperty.call(it, key);
 
 
 
 
 
 
417
  };
 
 
 
 
 
418
 
 
 
 
 
 
419
 
420
- /***/ }),
421
- /* 12 */
422
- /***/ (function(module, exports, __webpack_require__) {
423
-
424
- var global = __webpack_require__(3);
425
- var getOwnPropertyDescriptor = __webpack_require__(33).f;
426
- var createNonEnumerableProperty = __webpack_require__(19);
427
- var redefine = __webpack_require__(27);
428
- var setGlobal = __webpack_require__(46);
429
- var copyConstructorProperties = __webpack_require__(103);
430
- var isForced = __webpack_require__(74);
431
-
432
- /*
433
- options.target - name of the target object
434
- options.global - target is the global object
435
- options.stat - export as static methods of target
436
- options.proto - export as prototype methods of target
437
- options.real - real prototype method for the `pure` version
438
- options.forced - export even if the native feature is available
439
- options.bind - bind methods to the target, required for the `pure` version
440
- options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
441
- options.unsafe - use the simple assignment of property instead of delete + defineProperty
442
- options.sham - add a flag to not completely full polyfills
443
- options.enumerable - export as enumerable property
444
- options.noTargetGet - prevent calling a getter on target
445
- */
446
- module.exports = function (options, source) {
447
- var TARGET = options.target;
448
- var GLOBAL = options.global;
449
- var STATIC = options.stat;
450
- var FORCED, target, key, targetProperty, sourceProperty, descriptor;
451
- if (GLOBAL) {
452
- target = global;
453
- } else if (STATIC) {
454
- target = global[TARGET] || setGlobal(TARGET, {});
455
- } else {
456
- target = (global[TARGET] || {}).prototype;
457
- }
458
- if (target) for (key in source) {
459
- sourceProperty = source[key];
460
- if (options.noTargetGet) {
461
- descriptor = getOwnPropertyDescriptor(target, key);
462
- targetProperty = descriptor && descriptor.value;
463
- } else targetProperty = target[key];
464
- FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
465
- // contained in target
466
- if (!FORCED && targetProperty !== undefined) {
467
- if (typeof sourceProperty === typeof targetProperty) continue;
468
- copyConstructorProperties(sourceProperty, targetProperty);
469
- }
470
- // add a flag to not completely full polyfills
471
- if (options.sham || (targetProperty && targetProperty.sham)) {
472
- createNonEnumerableProperty(sourceProperty, 'sham', true);
473
  }
474
- // extend global
475
- redefine(target, key, sourceProperty, options);
476
- }
477
  };
478
 
479
-
480
  /***/ }),
481
- /* 13 */
482
- /***/ (function(module, exports, __webpack_require__) {
483
-
484
- var fails = __webpack_require__(6);
485
 
486
- // Detect IE8's incomplete defineProperty implementation
487
- module.exports = !fails(function () {
488
- return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
489
- });
490
-
491
-
492
- /***/ }),
493
- /* 14 */
494
  /***/ (function(module, exports) {
495
 
496
- function _getPrototypeOf(o) {
497
- module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
498
- return o.__proto__ || Object.getPrototypeOf(o);
499
- };
500
- return _getPrototypeOf(o);
501
  }
502
 
503
- module.exports = _getPrototypeOf;
504
 
505
  /***/ }),
506
- /* 15 */
507
- /***/ (function(module, exports, __webpack_require__) {
508
-
509
- /*!
510
- Copyright (c) 2017 Jed Watson.
511
- Licensed under the MIT License (MIT), see
512
- http://jedwatson.github.io/classnames
513
- */
514
- /* global define */
515
-
516
- (function () {
517
- 'use strict';
518
-
519
- var hasOwn = {}.hasOwnProperty;
520
-
521
- function classNames () {
522
- var classes = [];
523
-
524
- for (var i = 0; i < arguments.length; i++) {
525
- var arg = arguments[i];
526
- if (!arg) continue;
527
-
528
- var argType = typeof arg;
529
-
530
- if (argType === 'string' || argType === 'number') {
531
- classes.push(arg);
532
- } else if (Array.isArray(arg) && arg.length) {
533
- var inner = classNames.apply(null, arg);
534
- if (inner) {
535
- classes.push(inner);
536
- }
537
- } else if (argType === 'object') {
538
- for (var key in arg) {
539
- if (hasOwn.call(arg, key) && arg[key]) {
540
- classes.push(key);
541
- }
542
- }
543
- }
544
- }
545
-
546
- return classes.join(' ');
547
- }
548
-
549
- if ( true && module.exports) {
550
- classNames.default = classNames;
551
- module.exports = classNames;
552
- } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {
553
- // register as 'classnames', consistent with npm package name
554
- define('classnames', [], function () {
555
- return classNames;
556
- });
557
- } else {
558
- window.classNames = classNames;
559
- }
560
- }());
561
-
562
 
563
- /***/ }),
564
- /* 16 */
565
  /***/ (function(module, exports) {
566
 
567
- (function() { module.exports = window["regeneratorRuntime"]; }());
568
 
569
  /***/ }),
570
- /* 17 */
571
- /***/ (function(module, exports, __webpack_require__) {
572
 
573
- var DESCRIPTORS = __webpack_require__(13);
574
- var IE8_DOM_DEFINE = __webpack_require__(72);
575
- var anObject = __webpack_require__(9);
576
- var toPrimitive = __webpack_require__(40);
577
-
578
- var nativeDefineProperty = Object.defineProperty;
579
-
580
- // `Object.defineProperty` method
581
- // https://tc39.es/ecma262/#sec-object.defineproperty
582
- exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
583
- anObject(O);
584
- P = toPrimitive(P, true);
585
- anObject(Attributes);
586
- if (IE8_DOM_DEFINE) try {
587
- return nativeDefineProperty(O, P, Attributes);
588
- } catch (error) { /* empty */ }
589
- if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
590
- if ('value' in Attributes) O[P] = Attributes.value;
591
- return O;
592
- };
593
-
594
-
595
- /***/ }),
596
- /* 18 */
597
  /***/ (function(module, exports) {
598
 
599
- function _assertThisInitialized(self) {
600
- if (self === void 0) {
601
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
 
 
 
 
602
  }
 
603
 
604
- return self;
 
 
 
605
  }
606
 
607
- module.exports = _assertThisInitialized;
608
 
609
  /***/ }),
610
- /* 19 */
611
- /***/ (function(module, exports, __webpack_require__) {
612
 
613
- var DESCRIPTORS = __webpack_require__(13);
614
- var definePropertyModule = __webpack_require__(17);
615
- var createPropertyDescriptor = __webpack_require__(39);
616
 
617
- module.exports = DESCRIPTORS ? function (object, key, value) {
618
- return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
619
- } : function (object, key, value) {
620
- object[key] = value;
621
- return object;
622
- };
623
 
624
 
625
  /***/ }),
626
- /* 20 */
627
- /***/ (function(module, exports) {
628
-
629
- (function() { module.exports = window["React"]; }());
630
 
631
- /***/ }),
632
- /* 21 */
633
- /***/ (function(module, exports, __webpack_require__) {
634
 
635
- // toObject with fallback for non-array-like ES3 strings
636
- var IndexedObject = __webpack_require__(71);
637
- var requireObjectCoercible = __webpack_require__(32);
638
 
639
- module.exports = function (it) {
640
- return IndexedObject(requireObjectCoercible(it));
641
- };
 
642
 
 
 
643
 
644
- /***/ }),
645
- /* 22 */
646
- /***/ (function(module, exports) {
647
-
648
- function _classCallCheck(instance, Constructor) {
649
- if (!(instance instanceof Constructor)) {
650
- throw new TypeError("Cannot call a class as a function");
651
- }
652
  }
653
-
654
- module.exports = _classCallCheck;
655
-
656
- /***/ }),
657
- /* 23 */
658
- /***/ (function(module, exports) {
659
-
660
- function _defineProperties(target, props) {
661
- for (var i = 0; i < props.length; i++) {
662
- var descriptor = props[i];
663
- descriptor.enumerable = descriptor.enumerable || false;
664
- descriptor.configurable = true;
665
- if ("value" in descriptor) descriptor.writable = true;
666
- Object.defineProperty(target, descriptor.key, descriptor);
667
- }
668
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
669
 
670
- function _createClass(Constructor, protoProps, staticProps) {
671
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
672
- if (staticProps) _defineProperties(Constructor, staticProps);
673
- return Constructor;
674
- }
675
 
676
- module.exports = _createClass;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
677
 
678
- /***/ }),
679
- /* 24 */
680
- /***/ (function(module, exports, __webpack_require__) {
681
 
682
- var setPrototypeOf = __webpack_require__(204);
683
 
684
- function _inherits(subClass, superClass) {
685
- if (typeof superClass !== "function" && superClass !== null) {
686
- throw new TypeError("Super expression must either be null or a function");
687
- }
 
688
 
689
- subClass.prototype = Object.create(superClass && superClass.prototype, {
690
- constructor: {
691
- value: subClass,
692
- writable: true,
693
- configurable: true
 
 
 
 
 
 
 
694
  }
695
- });
696
- if (superClass) setPrototypeOf(subClass, superClass);
697
  }
698
 
699
- module.exports = _inherits;
700
-
701
- /***/ }),
702
- /* 25 */
703
- /***/ (function(module, exports, __webpack_require__) {
704
-
705
- var _typeof = __webpack_require__(108);
706
-
707
- var assertThisInitialized = __webpack_require__(18);
708
-
709
- function _possibleConstructorReturn(self, call) {
710
- if (call && (_typeof(call) === "object" || typeof call === "function")) {
711
- return call;
712
- }
713
 
714
- return assertThisInitialized(self);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
715
  }
716
 
717
- module.exports = _possibleConstructorReturn;
718
-
719
- /***/ }),
720
- /* 26 */
721
- /***/ (function(module, exports) {
722
-
723
- (function() { module.exports = window["wp"]["data"]; }());
724
-
725
- /***/ }),
726
- /* 27 */
727
- /***/ (function(module, exports, __webpack_require__) {
728
-
729
- var global = __webpack_require__(3);
730
- var createNonEnumerableProperty = __webpack_require__(19);
731
- var has = __webpack_require__(11);
732
- var setGlobal = __webpack_require__(46);
733
- var inspectSource = __webpack_require__(68);
734
- var InternalStateModule = __webpack_require__(45);
735
-
736
- var getInternalState = InternalStateModule.get;
737
- var enforceInternalState = InternalStateModule.enforce;
738
- var TEMPLATE = String(String).split('String');
739
-
740
- (module.exports = function (O, key, value, options) {
741
- var unsafe = options ? !!options.unsafe : false;
742
- var simple = options ? !!options.enumerable : false;
743
- var noTargetGet = options ? !!options.noTargetGet : false;
744
- var state;
745
- if (typeof value == 'function') {
746
- if (typeof key == 'string' && !has(value, 'name')) {
747
- createNonEnumerableProperty(value, 'name', key);
748
  }
749
- state = enforceInternalState(value);
750
- if (!state.source) {
751
- state.source = TEMPLATE.join(typeof key == 'string' ? key : '');
752
  }
753
- }
754
- if (O === global) {
755
- if (simple) O[key] = value;
756
- else setGlobal(key, value);
757
- return;
758
- } else if (!unsafe) {
759
- delete O[key];
760
- } else if (!noTargetGet && O[key]) {
761
- simple = true;
762
- }
763
- if (simple) O[key] = value;
764
- else createNonEnumerableProperty(O, key, value);
765
- // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
766
- })(Function.prototype, 'toString', function toString() {
767
- return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
768
- });
769
-
770
-
771
- /***/ }),
772
- /* 28 */
773
- /***/ (function(module, exports) {
774
-
775
- (function() { module.exports = window["wp"]["primitives"]; }());
776
-
777
- /***/ }),
778
- /* 29 */
779
- /***/ (function(module, exports) {
780
-
781
- (function() { module.exports = window["moment"]; }());
782
-
783
- /***/ }),
784
- /* 30 */
785
- /***/ (function(module, exports) {
786
-
787
- var toString = {}.toString;
788
 
789
- module.exports = function (it) {
790
- return toString.call(it).slice(8, -1);
 
 
 
 
 
791
  };
 
 
 
 
 
 
792
 
 
793
 
794
- /***/ }),
795
- /* 31 */
796
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
797
 
798
- var path = __webpack_require__(81);
799
- var global = __webpack_require__(3);
800
 
801
- var aFunction = function (variable) {
802
- return typeof variable == 'function' ? variable : undefined;
803
  };
804
 
805
- module.exports = function (namespace, method) {
806
- return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])
807
- : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];
808
  };
 
809
 
810
 
811
  /***/ }),
812
- /* 32 */
813
- /***/ (function(module, exports) {
814
 
815
- // `RequireObjectCoercible` abstract operation
816
- // https://tc39.es/ecma262/#sec-requireobjectcoercible
817
- module.exports = function (it) {
818
- if (it == undefined) throw TypeError("Can't call method on " + it);
819
- return it;
820
- };
821
 
 
822
 
823
- /***/ }),
824
- /* 33 */
825
- /***/ (function(module, exports, __webpack_require__) {
826
 
827
- var DESCRIPTORS = __webpack_require__(13);
828
- var propertyIsEnumerableModule = __webpack_require__(76);
829
- var createPropertyDescriptor = __webpack_require__(39);
830
- var toIndexedObject = __webpack_require__(21);
831
- var toPrimitive = __webpack_require__(40);
832
- var has = __webpack_require__(11);
833
- var IE8_DOM_DEFINE = __webpack_require__(72);
834
-
835
- var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
836
-
837
- // `Object.getOwnPropertyDescriptor` method
838
- // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
839
- exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
840
- O = toIndexedObject(O);
841
- P = toPrimitive(P, true);
842
- if (IE8_DOM_DEFINE) try {
843
- return nativeGetOwnPropertyDescriptor(O, P);
844
- } catch (error) { /* empty */ }
845
- if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
846
- };
847
 
848
 
849
  /***/ }),
850
- /* 34 */
 
851
  /***/ (function(module, exports, __webpack_require__) {
852
 
853
- var toInteger = __webpack_require__(42);
854
 
855
- var min = Math.min;
 
 
 
856
 
857
- // `ToLength` abstract operation
858
- // https://tc39.es/ecma262/#sec-tolength
859
- module.exports = function (argument) {
860
- return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
861
- };
 
 
 
 
862
 
 
863
 
864
  /***/ }),
865
- /* 35 */
866
- /***/ (function(module, exports) {
867
 
868
- (function() { module.exports = window["wp"]["dataControls"]; }());
 
869
 
870
- /***/ }),
871
- /* 36 */
872
- /***/ (function(module, exports) {
 
 
 
 
 
 
 
 
873
 
874
- module.exports = {};
875
 
876
 
877
- /***/ }),
878
- /* 37 */
879
- /***/ (function(module, exports, __webpack_require__) {
880
 
881
- var $ = __webpack_require__(12);
882
- var toObject = __webpack_require__(38);
883
- var nativeKeys = __webpack_require__(54);
884
- var fails = __webpack_require__(6);
885
 
886
- var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });
 
 
 
 
887
 
888
- // `Object.keys` method
889
- // https://tc39.es/ecma262/#sec-object.keys
890
- $({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
891
- keys: function keys(it) {
892
- return nativeKeys(toObject(it));
893
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
894
  });
895
-
896
 
897
  /***/ }),
898
- /* 38 */
899
- /***/ (function(module, exports, __webpack_require__) {
900
 
901
- var requireObjectCoercible = __webpack_require__(32);
 
902
 
903
- // `ToObject` abstract operation
904
- // https://tc39.es/ecma262/#sec-toobject
905
- module.exports = function (argument) {
906
- return Object(requireObjectCoercible(argument));
907
- };
908
 
909
 
910
- /***/ }),
911
- /* 39 */
912
- /***/ (function(module, exports) {
913
 
914
- module.exports = function (bitmap, value) {
915
- return {
916
- enumerable: !(bitmap & 1),
917
- configurable: !(bitmap & 2),
918
- writable: !(bitmap & 4),
919
- value: value
920
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
921
  };
 
 
 
922
 
 
 
 
 
 
923
 
924
- /***/ }),
925
- /* 40 */
926
- /***/ (function(module, exports, __webpack_require__) {
927
 
928
- var isObject = __webpack_require__(10);
929
-
930
- // `ToPrimitive` abstract operation
931
- // https://tc39.es/ecma262/#sec-toprimitive
932
- // instead of the ES6 spec version, we didn't implement @@toPrimitive case
933
- // and the second argument - flag - preferred type is a string
934
- module.exports = function (input, PREFERRED_STRING) {
935
- if (!isObject(input)) return input;
936
- var fn, val;
937
- if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
938
- if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
939
- if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
940
- throw TypeError("Can't convert object to primitive value");
941
- };
942
 
 
 
 
 
 
 
 
 
 
 
 
943
 
944
- /***/ }),
945
- /* 41 */
946
- /***/ (function(module, exports, __webpack_require__) {
 
947
 
948
- "use strict";
949
 
950
- var $ = __webpack_require__(12);
951
- var $filter = __webpack_require__(75).filter;
952
- var arrayMethodHasSpeciesSupport = __webpack_require__(89);
953
 
954
- var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
 
955
 
956
- // `Array.prototype.filter` method
957
- // https://tc39.es/ecma262/#sec-array.prototype.filter
958
- // with adding support of @@species
959
- $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
960
- filter: function filter(callbackfn /* , thisArg */) {
961
- return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
962
- }
963
- });
964
 
 
 
965
 
966
- /***/ }),
967
- /* 42 */
968
- /***/ (function(module, exports) {
 
 
 
 
969
 
970
- var ceil = Math.ceil;
971
- var floor = Math.floor;
972
 
973
- // `ToInteger` abstract operation
974
- // https://tc39.es/ecma262/#sec-tointeger
975
- module.exports = function (argument) {
976
- return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
977
- };
978
 
979
 
980
  /***/ }),
981
- /* 43 */
982
- /***/ (function(module, exports, __webpack_require__) {
983
 
984
- var arrayWithHoles = __webpack_require__(182);
 
985
 
986
- var iterableToArrayLimit = __webpack_require__(183);
987
 
988
- var unsupportedIterableToArray = __webpack_require__(131);
989
 
990
- var nonIterableRest = __webpack_require__(184);
 
 
 
991
 
992
- function _slicedToArray(arr, i) {
993
- return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
994
  }
995
 
996
- module.exports = _slicedToArray;
997
 
998
  /***/ }),
999
- /* 44 */
1000
- /***/ (function(module, exports, __webpack_require__) {
1001
 
1002
- var arrayWithoutHoles = __webpack_require__(179);
 
1003
 
1004
- var iterableToArray = __webpack_require__(180);
 
 
 
 
 
1005
 
1006
- var unsupportedIterableToArray = __webpack_require__(131);
1007
 
1008
- var nonIterableSpread = __webpack_require__(181);
 
 
1009
 
1010
- function _toConsumableArray(arr) {
1011
- return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
1012
- }
 
 
1013
 
1014
- module.exports = _toConsumableArray;
 
 
 
 
1015
 
1016
- /***/ }),
1017
- /* 45 */
1018
- /***/ (function(module, exports, __webpack_require__) {
1019
 
1020
- var NATIVE_WEAK_MAP = __webpack_require__(106);
1021
- var global = __webpack_require__(3);
1022
- var isObject = __webpack_require__(10);
1023
- var createNonEnumerableProperty = __webpack_require__(19);
1024
- var objectHas = __webpack_require__(11);
1025
- var shared = __webpack_require__(47);
1026
- var sharedKey = __webpack_require__(52);
1027
- var hiddenKeys = __webpack_require__(36);
1028
 
1029
- var WeakMap = global.WeakMap;
1030
- var set, get, has;
1031
 
1032
- var enforce = function (it) {
1033
- return has(it) ? get(it) : set(it, {});
1034
- };
1035
 
1036
- var getterFor = function (TYPE) {
1037
- return function (it) {
1038
- var state;
1039
- if (!isObject(it) || (state = get(it)).type !== TYPE) {
1040
- throw TypeError('Incompatible receiver, ' + TYPE + ' required');
1041
- } return state;
1042
- };
1043
- };
1044
 
1045
- if (NATIVE_WEAK_MAP) {
1046
- var store = shared.state || (shared.state = new WeakMap());
1047
- var wmget = store.get;
1048
- var wmhas = store.has;
1049
- var wmset = store.set;
1050
- set = function (it, metadata) {
1051
- metadata.facade = it;
1052
- wmset.call(store, it, metadata);
1053
- return metadata;
1054
- };
1055
- get = function (it) {
1056
- return wmget.call(store, it) || {};
1057
- };
1058
- has = function (it) {
1059
- return wmhas.call(store, it);
1060
- };
1061
- } else {
1062
- var STATE = sharedKey('state');
1063
- hiddenKeys[STATE] = true;
1064
- set = function (it, metadata) {
1065
- metadata.facade = it;
1066
- createNonEnumerableProperty(it, STATE, metadata);
1067
- return metadata;
1068
- };
1069
- get = function (it) {
1070
- return objectHas(it, STATE) ? it[STATE] : {};
1071
- };
1072
- has = function (it) {
1073
- return objectHas(it, STATE);
1074
- };
1075
- }
1076
 
1077
- module.exports = {
1078
- set: set,
1079
- get: get,
1080
- has: has,
1081
- enforce: enforce,
1082
- getterFor: getterFor
1083
- };
1084
 
 
1085
 
1086
- /***/ }),
1087
- /* 46 */
1088
- /***/ (function(module, exports, __webpack_require__) {
1089
 
1090
- var global = __webpack_require__(3);
1091
- var createNonEnumerableProperty = __webpack_require__(19);
1092
 
1093
- module.exports = function (key, value) {
1094
- try {
1095
- createNonEnumerableProperty(global, key, value);
1096
- } catch (error) {
1097
- global[key] = value;
1098
- } return value;
1099
- };
1100
 
 
 
1101
 
1102
- /***/ }),
1103
- /* 47 */
1104
- /***/ (function(module, exports, __webpack_require__) {
 
1105
 
1106
- var global = __webpack_require__(3);
1107
- var setGlobal = __webpack_require__(46);
 
 
 
 
 
 
1108
 
1109
- var SHARED = '__core-js_shared__';
1110
- var store = global[SHARED] || setGlobal(SHARED, {});
 
 
 
 
 
 
 
1111
 
1112
- module.exports = store;
 
 
1113
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1114
 
1115
- /***/ }),
1116
- /* 48 */
1117
- /***/ (function(module, exports) {
1118
 
1119
- // IE8- don't enum bug keys
1120
- module.exports = [
1121
- 'constructor',
1122
- 'hasOwnProperty',
1123
- 'isPrototypeOf',
1124
- 'propertyIsEnumerable',
1125
- 'toLocaleString',
1126
- 'toString',
1127
- 'valueOf'
1128
- ];
1129
 
 
 
 
1130
 
1131
- /***/ }),
1132
- /* 49 */
1133
- /***/ (function(module, exports, __webpack_require__) {
1134
 
1135
- var global = __webpack_require__(3);
1136
- var DOMIterables = __webpack_require__(127);
1137
- var forEach = __webpack_require__(149);
1138
- var createNonEnumerableProperty = __webpack_require__(19);
1139
-
1140
- for (var COLLECTION_NAME in DOMIterables) {
1141
- var Collection = global[COLLECTION_NAME];
1142
- var CollectionPrototype = Collection && Collection.prototype;
1143
- // some Chrome versions have non-configurable methods on DOMTokenList
1144
- if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {
1145
- createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);
1146
- } catch (error) {
1147
- CollectionPrototype.forEach = forEach;
1148
  }
1149
  }
 
 
 
 
 
 
 
 
 
 
1150
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1151
 
1152
- /***/ }),
1153
- /* 50 */
1154
- /***/ (function(module, exports) {
1155
-
1156
- (function() { module.exports = window["wc"]["navigation"]; }());
1157
-
1158
- /***/ }),
1159
- /* 51 */
1160
- /***/ (function(module, exports, __webpack_require__) {
1161
-
1162
- "use strict";
1163
-
1164
- var $ = __webpack_require__(12);
1165
- var $map = __webpack_require__(75).map;
1166
- var arrayMethodHasSpeciesSupport = __webpack_require__(89);
1167
-
1168
- var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');
1169
-
1170
- // `Array.prototype.map` method
1171
- // https://tc39.es/ecma262/#sec-array.prototype.map
1172
- // with adding support of @@species
1173
- $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
1174
- map: function map(callbackfn /* , thisArg */) {
1175
- return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
1176
  }
1177
- });
1178
 
 
 
 
 
 
 
 
 
1179
 
1180
- /***/ }),
1181
- /* 52 */
1182
- /***/ (function(module, exports, __webpack_require__) {
1183
 
1184
- var shared = __webpack_require__(58);
1185
- var uid = __webpack_require__(55);
1186
 
1187
- var keys = shared('keys');
1188
 
1189
- module.exports = function (key) {
1190
- return keys[key] || (keys[key] = uid(key));
1191
- };
1192
 
1193
 
1194
- /***/ }),
1195
- /* 53 */
1196
- /***/ (function(module, exports, __webpack_require__) {
1197
 
1198
- "use strict";
 
 
 
1199
 
1200
- var $ = __webpack_require__(12);
1201
- var global = __webpack_require__(3);
1202
- var getBuiltIn = __webpack_require__(31);
1203
- var IS_PURE = __webpack_require__(57);
1204
- var DESCRIPTORS = __webpack_require__(13);
1205
- var NATIVE_SYMBOL = __webpack_require__(62);
1206
- var USE_SYMBOL_AS_UID = __webpack_require__(93);
1207
- var fails = __webpack_require__(6);
1208
- var has = __webpack_require__(11);
1209
- var isArray = __webpack_require__(84);
1210
- var isObject = __webpack_require__(10);
1211
- var anObject = __webpack_require__(9);
1212
- var toObject = __webpack_require__(38);
1213
- var toIndexedObject = __webpack_require__(21);
1214
- var toPrimitive = __webpack_require__(40);
1215
- var createPropertyDescriptor = __webpack_require__(39);
1216
- var nativeObjectCreate = __webpack_require__(69);
1217
- var objectKeys = __webpack_require__(54);
1218
- var getOwnPropertyNamesModule = __webpack_require__(56);
1219
- var getOwnPropertyNamesExternal = __webpack_require__(147);
1220
- var getOwnPropertySymbolsModule = __webpack_require__(79);
1221
- var getOwnPropertyDescriptorModule = __webpack_require__(33);
1222
- var definePropertyModule = __webpack_require__(17);
1223
- var propertyIsEnumerableModule = __webpack_require__(76);
1224
- var createNonEnumerableProperty = __webpack_require__(19);
1225
- var redefine = __webpack_require__(27);
1226
- var shared = __webpack_require__(58);
1227
- var sharedKey = __webpack_require__(52);
1228
- var hiddenKeys = __webpack_require__(36);
1229
- var uid = __webpack_require__(55);
1230
- var wellKnownSymbol = __webpack_require__(8);
1231
- var wrappedWellKnownSymbolModule = __webpack_require__(119);
1232
- var defineWellKnownSymbol = __webpack_require__(148);
1233
- var setToStringTag = __webpack_require__(90);
1234
- var InternalStateModule = __webpack_require__(45);
1235
- var $forEach = __webpack_require__(75).forEach;
1236
-
1237
- var HIDDEN = sharedKey('hidden');
1238
- var SYMBOL = 'Symbol';
1239
- var PROTOTYPE = 'prototype';
1240
- var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
1241
- var setInternalState = InternalStateModule.set;
1242
- var getInternalState = InternalStateModule.getterFor(SYMBOL);
1243
- var ObjectPrototype = Object[PROTOTYPE];
1244
- var $Symbol = global.Symbol;
1245
- var $stringify = getBuiltIn('JSON', 'stringify');
1246
- var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
1247
- var nativeDefineProperty = definePropertyModule.f;
1248
- var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
1249
- var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
1250
- var AllSymbols = shared('symbols');
1251
- var ObjectPrototypeSymbols = shared('op-symbols');
1252
- var StringToSymbolRegistry = shared('string-to-symbol-registry');
1253
- var SymbolToStringRegistry = shared('symbol-to-string-registry');
1254
- var WellKnownSymbolsStore = shared('wks');
1255
- var QObject = global.QObject;
1256
- // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
1257
- var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
1258
-
1259
- // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
1260
- var setSymbolDescriptor = DESCRIPTORS && fails(function () {
1261
- return nativeObjectCreate(nativeDefineProperty({}, 'a', {
1262
- get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }
1263
- })).a != 7;
1264
- }) ? function (O, P, Attributes) {
1265
- var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);
1266
- if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
1267
- nativeDefineProperty(O, P, Attributes);
1268
- if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
1269
- nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
1270
  }
1271
- } : nativeDefineProperty;
1272
-
1273
- var wrap = function (tag, description) {
1274
- var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);
1275
- setInternalState(symbol, {
1276
- type: SYMBOL,
1277
- tag: tag,
1278
- description: description
1279
- });
1280
- if (!DESCRIPTORS) symbol.description = description;
1281
- return symbol;
1282
- };
1283
 
1284
- var isSymbol = USE_SYMBOL_AS_UID ? function (it) {
1285
- return typeof it == 'symbol';
1286
- } : function (it) {
1287
- return Object(it) instanceof $Symbol;
1288
- };
1289
 
1290
- var $defineProperty = function defineProperty(O, P, Attributes) {
1291
- if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
1292
- anObject(O);
1293
- var key = toPrimitive(P, true);
1294
- anObject(Attributes);
1295
- if (has(AllSymbols, key)) {
1296
- if (!Attributes.enumerable) {
1297
- if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
1298
- O[HIDDEN][key] = true;
1299
- } else {
1300
- if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
1301
- Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
1302
- } return setSymbolDescriptor(O, key, Attributes);
1303
- } return nativeDefineProperty(O, key, Attributes);
1304
- };
1305
 
1306
- var $defineProperties = function defineProperties(O, Properties) {
1307
- anObject(O);
1308
- var properties = toIndexedObject(Properties);
1309
- var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
1310
- $forEach(keys, function (key) {
1311
- if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);
1312
- });
1313
- return O;
1314
- };
 
 
 
 
 
 
 
 
 
 
1315
 
1316
- var $create = function create(O, Properties) {
1317
- return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);
1318
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1319
 
1320
- var $propertyIsEnumerable = function propertyIsEnumerable(V) {
1321
- var P = toPrimitive(V, true);
1322
- var enumerable = nativePropertyIsEnumerable.call(this, P);
1323
- if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;
1324
- return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
1325
- };
1326
 
1327
- var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
1328
- var it = toIndexedObject(O);
1329
- var key = toPrimitive(P, true);
1330
- if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
1331
- var descriptor = nativeGetOwnPropertyDescriptor(it, key);
1332
- if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
1333
- descriptor.enumerable = true;
1334
  }
1335
- return descriptor;
1336
- };
1337
-
1338
- var $getOwnPropertyNames = function getOwnPropertyNames(O) {
1339
- var names = nativeGetOwnPropertyNames(toIndexedObject(O));
1340
- var result = [];
1341
- $forEach(names, function (key) {
1342
- if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
1343
- });
1344
- return result;
1345
- };
1346
-
1347
- var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
1348
- var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
1349
- var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
1350
- var result = [];
1351
- $forEach(names, function (key) {
1352
- if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
1353
- result.push(AllSymbols[key]);
1354
- }
1355
- });
1356
- return result;
1357
- };
1358
 
1359
- // `Symbol` constructor
1360
- // https://tc39.es/ecma262/#sec-symbol-constructor
1361
- if (!NATIVE_SYMBOL) {
1362
- $Symbol = function Symbol() {
1363
- if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');
1364
- var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
1365
- var tag = uid(description);
1366
- var setter = function (value) {
1367
- if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);
1368
- if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
1369
- setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
1370
- };
1371
- if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
1372
- return wrap(tag, description);
1373
- };
1374
 
1375
- redefine($Symbol[PROTOTYPE], 'toString', function toString() {
1376
- return getInternalState(this).tag;
1377
- });
1378
 
1379
- redefine($Symbol, 'withoutSetter', function (description) {
1380
- return wrap(uid(description), description);
1381
- });
1382
 
1383
- propertyIsEnumerableModule.f = $propertyIsEnumerable;
1384
- definePropertyModule.f = $defineProperty;
1385
- getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
1386
- getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
1387
- getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;
1388
 
1389
- wrappedWellKnownSymbolModule.f = function (name) {
1390
- return wrap(wellKnownSymbol(name), name);
1391
- };
1392
 
1393
- if (DESCRIPTORS) {
1394
- // https://github.com/tc39/proposal-Symbol-description
1395
- nativeDefineProperty($Symbol[PROTOTYPE], 'description', {
1396
- configurable: true,
1397
- get: function description() {
1398
- return getInternalState(this).description;
1399
- }
1400
- });
1401
- if (!IS_PURE) {
1402
- redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
1403
- }
1404
- }
1405
- }
1406
 
1407
- $({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {
1408
- Symbol: $Symbol
1409
- });
1410
 
1411
- $forEach(objectKeys(WellKnownSymbolsStore), function (name) {
1412
- defineWellKnownSymbol(name);
1413
- });
1414
 
1415
- $({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {
1416
- // `Symbol.for` method
1417
- // https://tc39.es/ecma262/#sec-symbol.for
1418
- 'for': function (key) {
1419
- var string = String(key);
1420
- if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
1421
- var symbol = $Symbol(string);
1422
- StringToSymbolRegistry[string] = symbol;
1423
- SymbolToStringRegistry[symbol] = string;
1424
- return symbol;
1425
- },
1426
- // `Symbol.keyFor` method
1427
- // https://tc39.es/ecma262/#sec-symbol.keyfor
1428
- keyFor: function keyFor(sym) {
1429
- if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
1430
- if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
1431
- },
1432
- useSetter: function () { USE_SETTER = true; },
1433
- useSimple: function () { USE_SETTER = false; }
1434
- });
1435
 
1436
- $({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {
1437
- // `Object.create` method
1438
- // https://tc39.es/ecma262/#sec-object.create
1439
- create: $create,
1440
- // `Object.defineProperty` method
1441
- // https://tc39.es/ecma262/#sec-object.defineproperty
1442
- defineProperty: $defineProperty,
1443
- // `Object.defineProperties` method
1444
- // https://tc39.es/ecma262/#sec-object.defineproperties
1445
- defineProperties: $defineProperties,
1446
- // `Object.getOwnPropertyDescriptor` method
1447
- // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors
1448
- getOwnPropertyDescriptor: $getOwnPropertyDescriptor
1449
- });
1450
 
1451
- $({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {
1452
- // `Object.getOwnPropertyNames` method
1453
- // https://tc39.es/ecma262/#sec-object.getownpropertynames
1454
- getOwnPropertyNames: $getOwnPropertyNames,
1455
- // `Object.getOwnPropertySymbols` method
1456
- // https://tc39.es/ecma262/#sec-object.getownpropertysymbols
1457
- getOwnPropertySymbols: $getOwnPropertySymbols
1458
- });
1459
 
1460
- // Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
1461
- // https://bugs.chromium.org/p/v8/issues/detail?id=3443
1462
- $({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {
1463
- getOwnPropertySymbols: function getOwnPropertySymbols(it) {
1464
- return getOwnPropertySymbolsModule.f(toObject(it));
1465
- }
1466
- });
1467
 
1468
- // `JSON.stringify` method behavior with symbols
1469
- // https://tc39.es/ecma262/#sec-json.stringify
1470
- if ($stringify) {
1471
- var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {
1472
- var symbol = $Symbol();
1473
- // MS Edge converts symbol values to JSON as {}
1474
- return $stringify([symbol]) != '[null]'
1475
- // WebKit converts symbol values to JSON as null
1476
- || $stringify({ a: symbol }) != '{}'
1477
- // V8 throws on boxed symbols
1478
- || $stringify(Object(symbol)) != '{}';
1479
- });
1480
 
1481
- $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {
1482
- // eslint-disable-next-line no-unused-vars -- required for `.length`
1483
- stringify: function stringify(it, replacer, space) {
1484
- var args = [it];
1485
- var index = 1;
1486
- var $replacer;
1487
- while (arguments.length > index) args.push(arguments[index++]);
1488
- $replacer = replacer;
1489
- if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
1490
- if (!isArray(replacer)) replacer = function (key, value) {
1491
- if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
1492
- if (!isSymbol(value)) return value;
1493
- };
1494
- args[1] = replacer;
1495
- return $stringify.apply(null, args);
1496
- }
1497
- });
1498
- }
1499
 
1500
- // `Symbol.prototype[@@toPrimitive]` method
1501
- // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive
1502
- if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {
1503
- createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
1504
- }
1505
- // `Symbol.prototype[@@toStringTag]` property
1506
- // https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag
1507
- setToStringTag($Symbol, SYMBOL);
1508
 
1509
- hiddenKeys[HIDDEN] = true;
 
1510
 
 
 
 
1511
 
1512
- /***/ }),
1513
- /* 54 */
1514
- /***/ (function(module, exports, __webpack_require__) {
1515
 
1516
- var internalObjectKeys = __webpack_require__(73);
1517
- var enumBugKeys = __webpack_require__(48);
1518
 
1519
- // `Object.keys` method
1520
- // https://tc39.es/ecma262/#sec-object.keys
1521
- module.exports = Object.keys || function keys(O) {
1522
- return internalObjectKeys(O, enumBugKeys);
1523
- };
1524
 
 
 
1525
 
1526
- /***/ }),
1527
- /* 55 */
1528
- /***/ (function(module, exports) {
1529
 
1530
- var id = 0;
1531
- var postfix = Math.random();
 
1532
 
1533
- module.exports = function (key) {
1534
- return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
1535
- };
1536
 
 
 
1537
 
1538
- /***/ }),
1539
- /* 56 */
1540
- /***/ (function(module, exports, __webpack_require__) {
1541
 
1542
- var internalObjectKeys = __webpack_require__(73);
1543
- var enumBugKeys = __webpack_require__(48);
1544
 
1545
- var hiddenKeys = enumBugKeys.concat('length', 'prototype');
1546
 
1547
- // `Object.getOwnPropertyNames` method
1548
- // https://tc39.es/ecma262/#sec-object.getownpropertynames
1549
- exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
1550
- return internalObjectKeys(O, hiddenKeys);
1551
- };
1552
 
1553
 
1554
- /***/ }),
1555
- /* 57 */
1556
- /***/ (function(module, exports) {
1557
 
1558
- module.exports = false;
1559
 
1560
 
1561
- /***/ }),
1562
- /* 58 */
1563
- /***/ (function(module, exports, __webpack_require__) {
1564
 
1565
- var IS_PURE = __webpack_require__(57);
1566
- var store = __webpack_require__(47);
1567
 
1568
- (module.exports = function (key, value) {
1569
- return store[key] || (store[key] = value !== undefined ? value : {});
1570
- })('versions', []).push({
1571
- version: '3.9.1',
1572
- mode: IS_PURE ? 'pure' : 'global',
1573
- copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
1574
- });
1575
 
1576
 
1577
- /***/ }),
1578
- /* 59 */
1579
- /***/ (function(module, exports) {
1580
 
1581
- (function() { module.exports = window["wc"]["data"]; }());
1582
 
1583
- /***/ }),
1584
- /* 60 */
1585
- /***/ (function(module, exports, __webpack_require__) {
1586
 
1587
- var $ = __webpack_require__(12);
1588
- var fails = __webpack_require__(6);
1589
- var toIndexedObject = __webpack_require__(21);
1590
- var nativeGetOwnPropertyDescriptor = __webpack_require__(33).f;
1591
- var DESCRIPTORS = __webpack_require__(13);
1592
 
1593
- var FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });
1594
- var FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;
 
1595
 
1596
- // `Object.getOwnPropertyDescriptor` method
1597
- // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
1598
- $({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {
1599
- getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {
1600
- return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);
1601
- }
1602
- });
1603
 
 
 
 
 
 
1604
 
1605
- /***/ }),
1606
- /* 61 */
1607
- /***/ (function(module, exports, __webpack_require__) {
1608
 
1609
- var $ = __webpack_require__(12);
1610
- var DESCRIPTORS = __webpack_require__(13);
1611
- var ownKeys = __webpack_require__(86);
1612
- var toIndexedObject = __webpack_require__(21);
1613
- var getOwnPropertyDescriptorModule = __webpack_require__(33);
1614
- var createProperty = __webpack_require__(102);
1615
-
1616
- // `Object.getOwnPropertyDescriptors` method
1617
- // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors
1618
- $({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {
1619
- getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
1620
- var O = toIndexedObject(object);
1621
- var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
1622
- var keys = ownKeys(O);
1623
- var result = {};
1624
- var index = 0;
1625
- var key, descriptor;
1626
- while (keys.length > index) {
1627
- descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);
1628
- if (descriptor !== undefined) createProperty(result, key, descriptor);
1629
- }
1630
- return result;
1631
- }
1632
- });
1633
 
 
 
 
 
1634
 
1635
- /***/ }),
1636
- /* 62 */
1637
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
1638
 
1639
- var IS_NODE = __webpack_require__(77);
1640
- var V8_VERSION = __webpack_require__(63);
1641
- var fails = __webpack_require__(6);
1642
 
1643
- module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
1644
- /* global Symbol -- required for testing */
1645
- return !Symbol.sham &&
1646
- // Chrome 38 Symbol has incorrect toString conversion
1647
- // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
1648
- (IS_NODE ? V8_VERSION === 38 : V8_VERSION > 37 && V8_VERSION < 41);
1649
- });
 
1650
 
 
 
1651
 
1652
- /***/ }),
1653
- /* 63 */
1654
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
1655
 
1656
- var global = __webpack_require__(3);
1657
- var userAgent = __webpack_require__(87);
1658
-
1659
- var process = global.process;
1660
- var versions = process && process.versions;
1661
- var v8 = versions && versions.v8;
1662
- var match, version;
1663
-
1664
- if (v8) {
1665
- match = v8.split('.');
1666
- version = match[0] + match[1];
1667
- } else if (userAgent) {
1668
- match = userAgent.match(/Edge\/(\d+)/);
1669
- if (!match || match[1] >= 74) {
1670
- match = userAgent.match(/Chrome\/(\d+)/);
1671
- if (match) version = match[1];
1672
  }
1673
- }
1674
 
1675
- module.exports = version && +version;
1676
 
 
 
1677
 
1678
- /***/ }),
1679
- /* 64 */
1680
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
1681
 
1682
- var $ = __webpack_require__(12);
1683
- var getBuiltIn = __webpack_require__(31);
1684
- var aFunction = __webpack_require__(70);
1685
- var anObject = __webpack_require__(9);
1686
- var isObject = __webpack_require__(10);
1687
- var create = __webpack_require__(69);
1688
- var bind = __webpack_require__(212);
1689
- var fails = __webpack_require__(6);
1690
-
1691
- var nativeConstruct = getBuiltIn('Reflect', 'construct');
1692
-
1693
- // `Reflect.construct` method
1694
- // https://tc39.es/ecma262/#sec-reflect.construct
1695
- // MS Edge supports only 2 arguments and argumentsList argument is optional
1696
- // FF Nightly sets third argument as `new.target`, but does not create `this` from it
1697
- var NEW_TARGET_BUG = fails(function () {
1698
- function F() { /* empty */ }
1699
- return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);
1700
- });
1701
- var ARGS_BUG = !fails(function () {
1702
- nativeConstruct(function () { /* empty */ });
1703
- });
1704
- var FORCED = NEW_TARGET_BUG || ARGS_BUG;
1705
-
1706
- $({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {
1707
- construct: function construct(Target, args /* , newTarget */) {
1708
- aFunction(Target);
1709
- anObject(args);
1710
- var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
1711
- if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);
1712
- if (Target == newTarget) {
1713
- // w/o altered newTarget, optimization for 0-4 arguments
1714
- switch (args.length) {
1715
- case 0: return new Target();
1716
- case 1: return new Target(args[0]);
1717
- case 2: return new Target(args[0], args[1]);
1718
- case 3: return new Target(args[0], args[1], args[2]);
1719
- case 4: return new Target(args[0], args[1], args[2], args[3]);
1720
- }
1721
- // w/o altered newTarget, lot of arguments case
1722
- var $args = [null];
1723
- $args.push.apply($args, args);
1724
- return new (bind.apply(Target, $args))();
1725
- }
1726
- // with altered newTarget, not support built-in constructors
1727
- var proto = newTarget.prototype;
1728
- var instance = create(isObject(proto) ? proto : Object.prototype);
1729
- var result = Function.apply.call(Target, instance, args);
1730
- return isObject(result) ? result : instance;
1731
- }
1732
- });
1733
-
1734
-
1735
- /***/ }),
1736
- /* 65 */
1737
- /***/ (function(module, exports) {
1738
 
1739
- (function() { module.exports = window["wp"]["compose"]; }());
 
 
 
 
 
 
 
 
 
 
 
 
1740
 
1741
- /***/ }),
1742
- /* 66 */
1743
- /***/ (function(module, exports, __webpack_require__) {
1744
 
1745
- "use strict";
1746
 
1747
- var $ = __webpack_require__(12);
1748
- var fails = __webpack_require__(6);
1749
- var isArray = __webpack_require__(84);
1750
- var isObject = __webpack_require__(10);
1751
- var toObject = __webpack_require__(38);
1752
- var toLength = __webpack_require__(34);
1753
- var createProperty = __webpack_require__(102);
1754
- var arraySpeciesCreate = __webpack_require__(109);
1755
- var arrayMethodHasSpeciesSupport = __webpack_require__(89);
1756
- var wellKnownSymbol = __webpack_require__(8);
1757
- var V8_VERSION = __webpack_require__(63);
1758
-
1759
- var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
1760
- var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
1761
- var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
1762
-
1763
- // We can't use this feature detection in V8 since it causes
1764
- // deoptimization and serious performance degradation
1765
- // https://github.com/zloirock/core-js/issues/679
1766
- var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {
1767
- var array = [];
1768
- array[IS_CONCAT_SPREADABLE] = false;
1769
- return array.concat()[0] !== array;
1770
- });
1771
 
1772
- var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
 
 
 
1773
 
1774
- var isConcatSpreadable = function (O) {
1775
- if (!isObject(O)) return false;
1776
- var spreadable = O[IS_CONCAT_SPREADABLE];
1777
- return spreadable !== undefined ? !!spreadable : isArray(O);
1778
- };
1779
 
1780
- var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
1781
-
1782
- // `Array.prototype.concat` method
1783
- // https://tc39.es/ecma262/#sec-array.prototype.concat
1784
- // with adding support of @@isConcatSpreadable and @@species
1785
- $({ target: 'Array', proto: true, forced: FORCED }, {
1786
- // eslint-disable-next-line no-unused-vars -- required for `.length`
1787
- concat: function concat(arg) {
1788
- var O = toObject(this);
1789
- var A = arraySpeciesCreate(O, 0);
1790
- var n = 0;
1791
- var i, k, length, len, E;
1792
- for (i = -1, length = arguments.length; i < length; i++) {
1793
- E = i === -1 ? O : arguments[i];
1794
- if (isConcatSpreadable(E)) {
1795
- len = toLength(E.length);
1796
- if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
1797
- for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
1798
- } else {
1799
- if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
1800
- createProperty(A, n++, E);
1801
- }
1802
  }
1803
- A.length = n;
1804
- return A;
1805
- }
1806
- });
1807
 
 
 
 
 
1808
 
1809
- /***/ }),
1810
- /* 67 */
1811
- /***/ (function(module, exports, __webpack_require__) {
1812
 
1813
- var global = __webpack_require__(3);
1814
- var isObject = __webpack_require__(10);
 
 
 
 
1815
 
1816
- var document = global.document;
1817
- // typeof document.createElement is 'object' in old IE
1818
- var EXISTS = isObject(document) && isObject(document.createElement);
1819
 
1820
- module.exports = function (it) {
1821
- return EXISTS ? document.createElement(it) : {};
1822
- };
1823
 
 
 
 
 
1824
 
1825
- /***/ }),
1826
- /* 68 */
1827
- /***/ (function(module, exports, __webpack_require__) {
1828
 
1829
- var store = __webpack_require__(47);
1830
 
1831
- var functionToString = Function.toString;
 
 
1832
 
1833
- // this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
1834
- if (typeof store.inspectSource != 'function') {
1835
- store.inspectSource = function (it) {
1836
- return functionToString.call(it);
1837
  };
1838
- }
1839
 
1840
- module.exports = store.inspectSource;
 
 
1841
 
 
 
 
1842
 
1843
- /***/ }),
1844
- /* 69 */
1845
- /***/ (function(module, exports, __webpack_require__) {
1846
 
1847
- var anObject = __webpack_require__(9);
1848
- var defineProperties = __webpack_require__(104);
1849
- var enumBugKeys = __webpack_require__(48);
1850
- var hiddenKeys = __webpack_require__(36);
1851
- var html = __webpack_require__(98);
1852
- var documentCreateElement = __webpack_require__(67);
1853
- var sharedKey = __webpack_require__(52);
1854
 
1855
- var GT = '>';
1856
- var LT = '<';
1857
- var PROTOTYPE = 'prototype';
1858
- var SCRIPT = 'script';
1859
- var IE_PROTO = sharedKey('IE_PROTO');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1860
 
1861
- var EmptyConstructor = function () { /* empty */ };
1862
 
1863
- var scriptTag = function (content) {
1864
- return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
1865
- };
1866
 
1867
- // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
1868
- var NullProtoObjectViaActiveX = function (activeXDocument) {
1869
- activeXDocument.write(scriptTag(''));
1870
- activeXDocument.close();
1871
- var temp = activeXDocument.parentWindow.Object;
1872
- activeXDocument = null; // avoid memory leak
1873
- return temp;
1874
- };
1875
 
1876
- // Create object with fake `null` prototype: use iframe Object with cleared prototype
1877
- var NullProtoObjectViaIFrame = function () {
1878
- // Thrash, waste and sodomy: IE GC bug
1879
- var iframe = documentCreateElement('iframe');
1880
- var JS = 'java' + SCRIPT + ':';
1881
- var iframeDocument;
1882
- iframe.style.display = 'none';
1883
- html.appendChild(iframe);
1884
- // https://github.com/zloirock/core-js/issues/475
1885
- iframe.src = String(JS);
1886
- iframeDocument = iframe.contentWindow.document;
1887
- iframeDocument.open();
1888
- iframeDocument.write(scriptTag('document.F=Object'));
1889
- iframeDocument.close();
1890
- return iframeDocument.F;
1891
- };
1892
 
1893
- // Check for document.domain and active x support
1894
- // No need to use active x approach when document.domain is not set
1895
- // see https://github.com/es-shims/es5-shim/issues/150
1896
- // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
1897
- // avoid IE GC bug
1898
- var activeXDocument;
1899
- var NullProtoObject = function () {
1900
- try {
1901
- /* global ActiveXObject -- old IE */
1902
- activeXDocument = document.domain && new ActiveXObject('htmlfile');
1903
- } catch (error) { /* ignore */ }
1904
- NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
1905
- var length = enumBugKeys.length;
1906
- while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
1907
- return NullProtoObject();
1908
- };
1909
 
1910
- hiddenKeys[IE_PROTO] = true;
1911
-
1912
- // `Object.create` method
1913
- // https://tc39.es/ecma262/#sec-object.create
1914
- module.exports = Object.create || function create(O, Properties) {
1915
- var result;
1916
- if (O !== null) {
1917
- EmptyConstructor[PROTOTYPE] = anObject(O);
1918
- result = new EmptyConstructor();
1919
- EmptyConstructor[PROTOTYPE] = null;
1920
- // add "__proto__" for Object.getPrototypeOf polyfill
1921
- result[IE_PROTO] = O;
1922
- } else result = NullProtoObject();
1923
- return Properties === undefined ? result : defineProperties(result, Properties);
1924
- };
1925
 
 
 
 
 
1926
 
1927
- /***/ }),
1928
- /* 70 */
1929
- /***/ (function(module, exports) {
1930
 
1931
- module.exports = function (it) {
1932
- if (typeof it != 'function') {
1933
- throw TypeError(String(it) + ' is not a function');
1934
- } return it;
1935
- };
1936
 
 
 
 
1937
 
1938
- /***/ }),
1939
- /* 71 */
1940
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
1941
 
1942
- var fails = __webpack_require__(6);
1943
- var classof = __webpack_require__(30);
 
 
1944
 
1945
- var split = ''.split;
 
 
 
 
 
1946
 
1947
- // fallback for non-array-like ES3 and non-enumerable old V8 strings
1948
- module.exports = fails(function () {
1949
- // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
1950
- // eslint-disable-next-line no-prototype-builtins -- safe
1951
- return !Object('z').propertyIsEnumerable(0);
1952
- }) ? function (it) {
1953
- return classof(it) == 'String' ? split.call(it, '') : Object(it);
1954
- } : Object;
 
 
1955
 
 
1956
 
1957
- /***/ }),
1958
- /* 72 */
1959
- /***/ (function(module, exports, __webpack_require__) {
1960
 
1961
- var DESCRIPTORS = __webpack_require__(13);
1962
- var fails = __webpack_require__(6);
1963
- var createElement = __webpack_require__(67);
 
 
 
 
 
 
 
1964
 
1965
- // Thank's IE8 for his funny defineProperty
1966
- module.exports = !DESCRIPTORS && !fails(function () {
1967
- return Object.defineProperty(createElement('div'), 'a', {
1968
- get: function () { return 7; }
1969
- }).a != 7;
1970
- });
1971
 
 
 
 
 
 
1972
 
1973
- /***/ }),
1974
- /* 73 */
1975
- /***/ (function(module, exports, __webpack_require__) {
1976
 
1977
- var has = __webpack_require__(11);
1978
- var toIndexedObject = __webpack_require__(21);
1979
- var indexOf = __webpack_require__(83).indexOf;
1980
- var hiddenKeys = __webpack_require__(36);
1981
-
1982
- module.exports = function (object, names) {
1983
- var O = toIndexedObject(object);
1984
- var i = 0;
1985
- var result = [];
1986
- var key;
1987
- for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
1988
- // Don't enum bug & hidden keys
1989
- while (names.length > i) if (has(O, key = names[i++])) {
1990
- ~indexOf(result, key) || result.push(key);
1991
  }
1992
- return result;
1993
- };
1994
 
 
 
 
 
 
1995
 
1996
- /***/ }),
1997
- /* 74 */
1998
- /***/ (function(module, exports, __webpack_require__) {
1999
-
2000
- var fails = __webpack_require__(6);
 
 
 
 
 
 
 
2001
 
2002
- var replacement = /#|\.prototype\./;
 
 
 
 
 
 
2003
 
2004
- var isForced = function (feature, detection) {
2005
- var value = data[normalize(feature)];
2006
- return value == POLYFILL ? true
2007
- : value == NATIVE ? false
2008
- : typeof detection == 'function' ? fails(detection)
2009
- : !!detection;
2010
- };
2011
-
2012
- var normalize = isForced.normalize = function (string) {
2013
- return String(string).replace(replacement, '.').toLowerCase();
2014
- };
2015
-
2016
- var data = isForced.data = {};
2017
- var NATIVE = isForced.NATIVE = 'N';
2018
- var POLYFILL = isForced.POLYFILL = 'P';
 
 
 
 
 
2019
 
2020
- module.exports = isForced;
 
 
2021
 
 
 
 
 
 
 
 
 
2022
 
2023
- /***/ }),
2024
- /* 75 */
2025
- /***/ (function(module, exports, __webpack_require__) {
2026
 
2027
- var bind = __webpack_require__(94);
2028
- var IndexedObject = __webpack_require__(71);
2029
- var toObject = __webpack_require__(38);
2030
- var toLength = __webpack_require__(34);
2031
- var arraySpeciesCreate = __webpack_require__(109);
2032
-
2033
- var push = [].push;
2034
-
2035
- // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation
2036
- var createMethod = function (TYPE) {
2037
- var IS_MAP = TYPE == 1;
2038
- var IS_FILTER = TYPE == 2;
2039
- var IS_SOME = TYPE == 3;
2040
- var IS_EVERY = TYPE == 4;
2041
- var IS_FIND_INDEX = TYPE == 6;
2042
- var IS_FILTER_OUT = TYPE == 7;
2043
- var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
2044
- return function ($this, callbackfn, that, specificCreate) {
2045
- var O = toObject($this);
2046
- var self = IndexedObject(O);
2047
- var boundFunction = bind(callbackfn, that, 3);
2048
- var length = toLength(self.length);
2049
- var index = 0;
2050
- var create = specificCreate || arraySpeciesCreate;
2051
- var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;
2052
- var value, result;
2053
- for (;length > index; index++) if (NO_HOLES || index in self) {
2054
- value = self[index];
2055
- result = boundFunction(value, index, O);
2056
- if (TYPE) {
2057
- if (IS_MAP) target[index] = result; // map
2058
- else if (result) switch (TYPE) {
2059
- case 3: return true; // some
2060
- case 5: return value; // find
2061
- case 6: return index; // findIndex
2062
- case 2: push.call(target, value); // filter
2063
- } else switch (TYPE) {
2064
- case 4: return false; // every
2065
- case 7: push.call(target, value); // filterOut
2066
- }
2067
- }
2068
- }
2069
- return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
2070
- };
2071
- };
2072
 
2073
- module.exports = {
2074
- // `Array.prototype.forEach` method
2075
- // https://tc39.es/ecma262/#sec-array.prototype.foreach
2076
- forEach: createMethod(0),
2077
- // `Array.prototype.map` method
2078
- // https://tc39.es/ecma262/#sec-array.prototype.map
2079
- map: createMethod(1),
2080
- // `Array.prototype.filter` method
2081
- // https://tc39.es/ecma262/#sec-array.prototype.filter
2082
- filter: createMethod(2),
2083
- // `Array.prototype.some` method
2084
- // https://tc39.es/ecma262/#sec-array.prototype.some
2085
- some: createMethod(3),
2086
- // `Array.prototype.every` method
2087
- // https://tc39.es/ecma262/#sec-array.prototype.every
2088
- every: createMethod(4),
2089
- // `Array.prototype.find` method
2090
- // https://tc39.es/ecma262/#sec-array.prototype.find
2091
- find: createMethod(5),
2092
- // `Array.prototype.findIndex` method
2093
- // https://tc39.es/ecma262/#sec-array.prototype.findIndex
2094
- findIndex: createMethod(6),
2095
- // `Array.prototype.filterOut` method
2096
- // https://github.com/tc39/proposal-array-filtering
2097
- filterOut: createMethod(7)
2098
- };
2099
 
 
2100
 
2101
- /***/ }),
2102
- /* 76 */
2103
- /***/ (function(module, exports, __webpack_require__) {
2104
 
2105
- "use strict";
 
 
 
 
2106
 
2107
- var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
2108
- var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
 
 
2109
 
2110
- // Nashorn ~ JDK8 bug
2111
- var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
 
 
 
2112
 
2113
- // `Object.prototype.propertyIsEnumerable` method implementation
2114
- // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
2115
- exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
2116
- var descriptor = getOwnPropertyDescriptor(this, V);
2117
- return !!descriptor && descriptor.enumerable;
2118
- } : nativePropertyIsEnumerable;
2119
 
 
 
 
 
 
2120
 
2121
- /***/ }),
2122
- /* 77 */
2123
- /***/ (function(module, exports, __webpack_require__) {
2124
 
2125
- var classof = __webpack_require__(30);
2126
- var global = __webpack_require__(3);
2127
 
2128
- module.exports = classof(global.process) == 'process';
 
 
2129
 
 
 
 
 
 
 
2130
 
2131
- /***/ }),
2132
- /* 78 */
2133
- /***/ (function(module, exports) {
 
 
 
 
 
2134
 
2135
- (function() { module.exports = window["wp"]["url"]; }());
 
 
2136
 
2137
- /***/ }),
2138
- /* 79 */
2139
- /***/ (function(module, exports) {
 
 
2140
 
2141
- exports.f = Object.getOwnPropertySymbols;
 
 
 
 
 
 
2142
 
2143
 
2144
- /***/ }),
2145
- /* 80 */
2146
- /***/ (function(module, exports) {
 
2147
 
2148
- function _extends() {
2149
- module.exports = _extends = Object.assign || function (target) {
2150
- for (var i = 1; i < arguments.length; i++) {
2151
- var source = arguments[i];
2152
 
2153
- for (var key in source) {
2154
- if (Object.prototype.hasOwnProperty.call(source, key)) {
2155
- target[key] = source[key];
2156
- }
2157
- }
2158
  }
2159
 
2160
- return target;
2161
- };
2162
-
2163
- return _extends.apply(this, arguments);
2164
- }
2165
 
2166
- module.exports = _extends;
 
 
2167
 
2168
- /***/ }),
2169
- /* 81 */
2170
- /***/ (function(module, exports, __webpack_require__) {
2171
 
2172
- var global = __webpack_require__(3);
 
 
2173
 
2174
- module.exports = global;
 
 
2175
 
 
 
2176
 
2177
- /***/ }),
2178
- /* 82 */
2179
- /***/ (function(module, exports, __webpack_require__) {
2180
 
2181
- var wellKnownSymbol = __webpack_require__(8);
 
 
 
 
 
 
 
 
 
2182
 
2183
- var TO_STRING_TAG = wellKnownSymbol('toStringTag');
2184
- var test = {};
 
 
 
 
 
 
 
2185
 
2186
- test[TO_STRING_TAG] = 'z';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2187
 
2188
- module.exports = String(test) === '[object z]';
 
2189
 
 
2190
 
2191
- /***/ }),
2192
- /* 83 */
2193
- /***/ (function(module, exports, __webpack_require__) {
2194
 
2195
- var toIndexedObject = __webpack_require__(21);
2196
- var toLength = __webpack_require__(34);
2197
- var toAbsoluteIndex = __webpack_require__(97);
2198
-
2199
- // `Array.prototype.{ indexOf, includes }` methods implementation
2200
- var createMethod = function (IS_INCLUDES) {
2201
- return function ($this, el, fromIndex) {
2202
- var O = toIndexedObject($this);
2203
- var length = toLength(O.length);
2204
- var index = toAbsoluteIndex(fromIndex, length);
2205
- var value;
2206
- // Array#includes uses SameValueZero equality algorithm
2207
- // eslint-disable-next-line no-self-compare -- NaN check
2208
- if (IS_INCLUDES && el != el) while (length > index) {
2209
- value = O[index++];
2210
- // eslint-disable-next-line no-self-compare -- NaN check
2211
- if (value != value) return true;
2212
- // Array#indexOf ignores holes, Array#includes - not
2213
- } else for (;length > index; index++) {
2214
- if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
2215
- } return !IS_INCLUDES && -1;
2216
- };
2217
- };
2218
 
2219
- module.exports = {
2220
- // `Array.prototype.includes` method
2221
- // https://tc39.es/ecma262/#sec-array.prototype.includes
2222
- includes: createMethod(true),
2223
- // `Array.prototype.indexOf` method
2224
- // https://tc39.es/ecma262/#sec-array.prototype.indexof
2225
- indexOf: createMethod(false)
2226
- };
2227
 
 
2228
 
2229
- /***/ }),
2230
- /* 84 */
2231
- /***/ (function(module, exports, __webpack_require__) {
2232
 
2233
- var classof = __webpack_require__(30);
2234
-
2235
- // `IsArray` abstract operation
2236
- // https://tc39.es/ecma262/#sec-isarray
2237
- module.exports = Array.isArray || function isArray(arg) {
2238
- return classof(arg) == 'Array';
2239
- };
2240
-
2241
-
2242
- /***/ }),
2243
- /* 85 */
2244
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
2245
-
2246
- "use strict";
2247
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ADMIN_URL; });
2248
- /* unused harmony export COUNTRIES */
2249
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return CURRENCY; });
2250
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return LOCALE; });
2251
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return ORDER_STATUSES; });
2252
- /* unused harmony export SITE_TITLE */
2253
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return WC_ASSET_URL; });
2254
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getSetting; });
2255
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return setSetting; });
2256
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getAdminLink; });
2257
- /* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(108);
2258
- /* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);
2259
- /* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(37);
2260
- /* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_1__);
2261
- /* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(107);
2262
- /* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_2__);
2263
- /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2);
2264
- /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
2265
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2266
 
 
 
2267
 
 
2268
 
2269
  /**
2270
- * External dependencies
2271
  */
2272
- // Remove mutable data from settings object to prevent access. Data stores should be used instead.
2273
 
2274
- var mutableSources = ['wcAdminSettings', 'preloadSettings'];
2275
- var settings = (typeof wcSettings === "undefined" ? "undefined" : _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(wcSettings)) === 'object' ? wcSettings : {};
2276
- var SOURCE = Object.keys(settings).reduce(function (source, key) {
2277
- if (!mutableSources.includes(key)) {
2278
- source[key] = settings[key];
2279
- }
2280
 
2281
- return source;
2282
- }, {});
2283
- var ADMIN_URL = SOURCE.adminUrl;
2284
- var COUNTRIES = SOURCE.countries;
2285
- var CURRENCY = SOURCE.currency;
2286
- var LOCALE = SOURCE.locale;
2287
- var ORDER_STATUSES = SOURCE.orderStatuses;
2288
- var SITE_TITLE = SOURCE.siteTitle;
2289
- var WC_ASSET_URL = SOURCE.wcAssetUrl;
2290
- /**
2291
- * Retrieves a setting value from the setting state.
2292
- *
2293
- * @param {string} name The identifier for the setting.
2294
- * @param {*} [fallback=false] The value to use as a fallback
2295
- * if the setting is not in the
2296
- * state.
2297
- * @param {Function} [filter=( val ) => val] A callback for filtering the
2298
- * value before it's returned.
2299
- * Receives both the found value
2300
- * (if it exists for the key) and
2301
- * the provided fallback arg.
2302
- *
2303
- * @return {*} The value present in the settings state for the given
2304
- * name.
2305
- */
2306
 
2307
- function getSetting(name) {
2308
- var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
2309
- var filter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (val) {
2310
- return val;
 
 
2311
  };
2312
 
2313
- if (mutableSources.includes(name)) {
2314
- throw new Error(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Mutable settings should be accessed via data store.'));
2315
- }
2316
 
2317
- var value = SOURCE.hasOwnProperty(name) ? SOURCE[name] : fallback;
2318
- return filter(value, fallback);
 
2319
  }
2320
- /**
2321
- * Sets a value to a property on the settings state.
2322
- *
2323
- * NOTE: This feature is to be removed in favour of data stores when a full migration
2324
- * is complete.
2325
- *
2326
- * @deprecated
2327
- *
2328
- * @param {string} name The setting property key for the
2329
- * setting being mutated.
2330
- * @param {*} value The value to set.
2331
- * @param {Function} [filter=( val ) => val] Allows for providing a callback
2332
- * to sanitize the setting (eg.
2333
- * ensure it's a number)
2334
- */
2335
 
2336
- function setSetting(name, value) {
2337
- var filter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (val) {
2338
- return val;
2339
- };
2340
 
2341
- if (mutableSources.includes(name)) {
2342
- throw new Error(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Mutable settings should be mutated via data store.'));
2343
- }
 
2344
 
2345
- SOURCE[name] = filter(value);
2346
  }
2347
- /**
2348
- * Returns a string with the site's wp-admin URL appended. JS version of `admin_url`.
2349
- *
2350
- * @param {string} path Relative path.
2351
- * @return {string} Full admin URL.
2352
- */
2353
 
2354
- function getAdminLink(path) {
2355
- return (ADMIN_URL || '') + path;
2356
  }
 
 
2357
 
2358
- /***/ }),
2359
- /* 86 */
2360
- /***/ (function(module, exports, __webpack_require__) {
 
2361
 
2362
- var getBuiltIn = __webpack_require__(31);
2363
- var getOwnPropertyNamesModule = __webpack_require__(56);
2364
- var getOwnPropertySymbolsModule = __webpack_require__(79);
2365
- var anObject = __webpack_require__(9);
2366
 
2367
- // all object keys, includes non-enumerable and symbols
2368
- module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
2369
- var keys = getOwnPropertyNamesModule.f(anObject(it));
2370
- var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
2371
- return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
2372
- };
2373
 
 
2374
 
2375
- /***/ }),
2376
- /* 87 */
2377
- /***/ (function(module, exports, __webpack_require__) {
2378
 
2379
- var getBuiltIn = __webpack_require__(31);
 
2380
 
2381
- module.exports = getBuiltIn('navigator', 'userAgent') || '';
 
2382
 
 
 
2383
 
2384
- /***/ }),
2385
- /* 88 */
2386
- /***/ (function(module, exports, __webpack_require__) {
2387
 
2388
- "use strict";
 
2389
 
2390
- var $ = __webpack_require__(12);
2391
- var exec = __webpack_require__(91);
2392
 
2393
- // `RegExp.prototype.exec` method
2394
- // https://tc39.es/ecma262/#sec-regexp.prototype.exec
2395
- $({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {
2396
- exec: exec
2397
- });
2398
 
 
 
2399
 
2400
- /***/ }),
2401
- /* 89 */
2402
- /***/ (function(module, exports, __webpack_require__) {
2403
 
2404
- var fails = __webpack_require__(6);
2405
- var wellKnownSymbol = __webpack_require__(8);
2406
- var V8_VERSION = __webpack_require__(63);
2407
 
2408
- var SPECIES = wellKnownSymbol('species');
 
2409
 
2410
- module.exports = function (METHOD_NAME) {
2411
- // We can't use this feature detection in V8 since it causes
2412
- // deoptimization and serious performance degradation
2413
- // https://github.com/zloirock/core-js/issues/677
2414
- return V8_VERSION >= 51 || !fails(function () {
2415
- var array = [];
2416
- var constructor = array.constructor = {};
2417
- constructor[SPECIES] = function () {
2418
- return { foo: 1 };
2419
- };
2420
- return array[METHOD_NAME](Boolean).foo !== 1;
2421
- });
2422
- };
2423
 
2424
 
2425
- /***/ }),
2426
- /* 90 */
2427
- /***/ (function(module, exports, __webpack_require__) {
2428
 
2429
- var defineProperty = __webpack_require__(17).f;
2430
- var has = __webpack_require__(11);
2431
- var wellKnownSymbol = __webpack_require__(8);
2432
 
2433
- var TO_STRING_TAG = wellKnownSymbol('toStringTag');
2434
 
2435
- module.exports = function (it, TAG, STATIC) {
2436
- if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
2437
- defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });
2438
- }
2439
- };
2440
 
2441
 
2442
- /***/ }),
2443
- /* 91 */
2444
- /***/ (function(module, exports, __webpack_require__) {
2445
 
2446
- "use strict";
2447
 
2448
- var regexpFlags = __webpack_require__(114);
2449
- var stickyHelpers = __webpack_require__(137);
 
2450
 
2451
- var nativeExec = RegExp.prototype.exec;
2452
- // This always refers to the native implementation, because the
2453
- // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
2454
- // which loads this file before patching the method.
2455
- var nativeReplace = String.prototype.replace;
2456
 
2457
- var patchedExec = nativeExec;
2458
 
2459
- var UPDATES_LAST_INDEX_WRONG = (function () {
2460
- var re1 = /a/;
2461
- var re2 = /b*/g;
2462
- nativeExec.call(re1, 'a');
2463
- nativeExec.call(re2, 'a');
2464
- return re1.lastIndex !== 0 || re2.lastIndex !== 0;
2465
- })();
2466
 
2467
- var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;
2468
 
2469
- // nonparticipating capturing group, copied from es5-shim's String#split patch.
2470
- // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
2471
- var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
2472
 
2473
- var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;
2474
 
2475
- if (PATCH) {
2476
- patchedExec = function exec(str) {
2477
- var re = this;
2478
- var lastIndex, reCopy, match, i;
2479
- var sticky = UNSUPPORTED_Y && re.sticky;
2480
- var flags = regexpFlags.call(re);
2481
- var source = re.source;
2482
- var charsAdded = 0;
2483
- var strCopy = str;
2484
 
2485
- if (sticky) {
2486
- flags = flags.replace('y', '');
2487
- if (flags.indexOf('g') === -1) {
2488
- flags += 'g';
2489
- }
2490
 
2491
- strCopy = String(str).slice(re.lastIndex);
2492
- // Support anchored sticky behavior.
2493
- if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
2494
- source = '(?: ' + source + ')';
2495
- strCopy = ' ' + strCopy;
2496
- charsAdded++;
2497
- }
2498
- // ^(? + rx + ) is needed, in combination with some str slicing, to
2499
- // simulate the 'y' flag.
2500
- reCopy = new RegExp('^(?:' + source + ')', flags);
2501
- }
2502
 
2503
- if (NPCG_INCLUDED) {
2504
- reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
2505
- }
2506
- if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
2507
-
2508
- match = nativeExec.call(sticky ? reCopy : re, strCopy);
2509
-
2510
- if (sticky) {
2511
- if (match) {
2512
- match.input = match.input.slice(charsAdded);
2513
- match[0] = match[0].slice(charsAdded);
2514
- match.index = re.lastIndex;
2515
- re.lastIndex += match[0].length;
2516
- } else re.lastIndex = 0;
2517
- } else if (UPDATES_LAST_INDEX_WRONG && match) {
2518
- re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
2519
- }
2520
- if (NPCG_INCLUDED && match && match.length > 1) {
2521
- // Fix browsers whose `exec` methods don't consistently return `undefined`
2522
- // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
2523
- nativeReplace.call(match[0], reCopy, function () {
2524
- for (i = 1; i < arguments.length - 2; i++) {
2525
- if (arguments[i] === undefined) match[i] = undefined;
2526
- }
2527
- });
 
 
 
 
2528
  }
 
2529
 
2530
- return match;
2531
- };
2532
- }
2533
-
2534
- module.exports = patchedExec;
2535
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2536
 
2537
- /***/ }),
2538
- /* 92 */
2539
- /***/ (function(module, exports) {
2540
 
2541
- (function() { module.exports = window["wc"]["tracks"]; }());
 
 
 
 
2542
 
2543
- /***/ }),
2544
- /* 93 */
2545
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
2546
 
2547
- var NATIVE_SYMBOL = __webpack_require__(62);
 
 
 
 
 
 
2548
 
2549
- module.exports = NATIVE_SYMBOL
2550
- /* global Symbol -- safe */
2551
- && !Symbol.sham
2552
- && typeof Symbol.iterator == 'symbol';
2553
 
 
2554
 
2555
- /***/ }),
2556
- /* 94 */
2557
- /***/ (function(module, exports, __webpack_require__) {
2558
 
2559
- var aFunction = __webpack_require__(70);
 
2560
 
2561
- // optional / simple context binding
2562
- module.exports = function (fn, that, length) {
2563
- aFunction(fn);
2564
- if (that === undefined) return fn;
2565
- switch (length) {
2566
- case 0: return function () {
2567
- return fn.call(that);
2568
- };
2569
- case 1: return function (a) {
2570
- return fn.call(that, a);
2571
- };
2572
- case 2: return function (a, b) {
2573
- return fn.call(that, a, b);
2574
- };
2575
- case 3: return function (a, b, c) {
2576
- return fn.call(that, a, b, c);
2577
- };
2578
- }
2579
- return function (/* ...args */) {
2580
- return fn.apply(that, arguments);
2581
- };
2582
- };
2583
-
2584
-
2585
- /***/ }),
2586
- /* 95 */
2587
- /***/ (function(module, exports) {
2588
 
2589
- (function() { module.exports = window["wp"]["apiFetch"]; }());
 
 
 
 
2590
 
2591
- /***/ }),
2592
- /* 96 */
2593
- /***/ (function(module, exports) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2594
 
2595
- var g;
 
 
 
 
 
 
 
 
 
2596
 
2597
- // This works in non-strict mode
2598
- g = (function() {
2599
- return this;
2600
- })();
 
 
 
 
2601
 
2602
- try {
2603
- // This works if eval is allowed (see CSP)
2604
- g = g || new Function("return this")();
2605
- } catch (e) {
2606
- // This works if the window reference is available
2607
- if (typeof window === "object") g = window;
2608
- }
2609
 
2610
- // g can still be undefined, but nothing to do about it...
2611
- // We return undefined, instead of nothing here, so it's
2612
- // easier to handle this case. if(!global) { ...}
 
 
 
2613
 
2614
- module.exports = g;
 
 
 
 
 
 
2615
 
2616
 
2617
- /***/ }),
2618
- /* 97 */
2619
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2620
 
2621
- var toInteger = __webpack_require__(42);
 
2622
 
2623
- var max = Math.max;
2624
- var min = Math.min;
 
 
 
 
 
2625
 
2626
- // Helper for a popular repeating case of the spec:
2627
- // Let integer be ? ToInteger(index).
2628
- // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
2629
- module.exports = function (index, length) {
2630
- var integer = toInteger(index);
2631
- return integer < 0 ? max(integer + length, 0) : min(integer, length);
2632
  };
 
 
 
2633
 
 
 
2634
 
2635
- /***/ }),
2636
- /* 98 */
2637
- /***/ (function(module, exports, __webpack_require__) {
2638
-
2639
- var getBuiltIn = __webpack_require__(31);
2640
-
2641
- module.exports = getBuiltIn('document', 'documentElement');
2642
 
 
 
2643
 
2644
- /***/ }),
2645
- /* 99 */,
2646
- /* 100 */
2647
- /***/ (function(module, exports, __webpack_require__) {
2648
 
2649
- var TO_STRING_TAG_SUPPORT = __webpack_require__(82);
2650
- var redefine = __webpack_require__(27);
2651
- var toString = __webpack_require__(130);
2652
 
2653
- // `Object.prototype.toString` method
2654
- // https://tc39.es/ecma262/#sec-object.prototype.tostring
2655
- if (!TO_STRING_TAG_SUPPORT) {
2656
- redefine(Object.prototype, 'toString', toString, { unsafe: true });
2657
- }
2658
 
 
 
2659
 
2660
- /***/ }),
2661
- /* 101 */
2662
- /***/ (function(module, exports) {
2663
 
2664
- (function() { module.exports = window["wc"]["date"]; }());
2665
 
2666
- /***/ }),
2667
- /* 102 */
2668
- /***/ (function(module, exports, __webpack_require__) {
2669
 
2670
- "use strict";
 
 
2671
 
2672
- var toPrimitive = __webpack_require__(40);
2673
- var definePropertyModule = __webpack_require__(17);
2674
- var createPropertyDescriptor = __webpack_require__(39);
 
 
 
 
 
 
 
2675
 
2676
- module.exports = function (object, key, value) {
2677
- var propertyKey = toPrimitive(key);
2678
- if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
2679
- else object[propertyKey] = value;
2680
- };
2681
 
2682
 
2683
- /***/ }),
2684
- /* 103 */
2685
- /***/ (function(module, exports, __webpack_require__) {
2686
 
2687
- var has = __webpack_require__(11);
2688
- var ownKeys = __webpack_require__(86);
2689
- var getOwnPropertyDescriptorModule = __webpack_require__(33);
2690
- var definePropertyModule = __webpack_require__(17);
2691
-
2692
- module.exports = function (target, source) {
2693
- var keys = ownKeys(source);
2694
- var defineProperty = definePropertyModule.f;
2695
- var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
2696
- for (var i = 0; i < keys.length; i++) {
2697
- var key = keys[i];
2698
- if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
2699
- }
2700
- };
2701
 
2702
 
2703
- /***/ }),
2704
- /* 104 */
2705
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
2706
 
2707
- var DESCRIPTORS = __webpack_require__(13);
2708
- var definePropertyModule = __webpack_require__(17);
2709
- var anObject = __webpack_require__(9);
2710
- var objectKeys = __webpack_require__(54);
2711
-
2712
- // `Object.defineProperties` method
2713
- // https://tc39.es/ecma262/#sec-object.defineproperties
2714
- module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
2715
- anObject(O);
2716
- var keys = objectKeys(Properties);
2717
- var length = keys.length;
2718
- var index = 0;
2719
- var key;
2720
- while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);
2721
- return O;
2722
  };
2723
 
 
 
 
 
 
 
 
 
2724
 
2725
- /***/ }),
2726
- /* 105 */
2727
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
2728
-
2729
- "use strict";
2730
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Navigation; });
2731
- /* unused harmony export NavigationBackButton */
2732
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return NavigationGroup; });
2733
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return NavigationMenu; });
2734
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return NavigationItem; });
2735
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return Text; });
2736
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return useSlot; });
2737
- /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
2738
- /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__);
2739
  /**
2740
  * External dependencies
2741
  */
2742
 
 
2743
  /**
2744
- * Prioritize exports of non-experimental components over experimental.
2745
  */
2746
 
2747
- var Navigation = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["Navigation"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalNavigation"];
2748
- var NavigationBackButton = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["NavigationBackButton"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalNavigationBackButton"];
2749
- var NavigationGroup = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["NavigationGroup"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalNavigationGroup"];
2750
- var NavigationMenu = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["NavigationMenu"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalNavigationMenu"];
2751
- var NavigationItem = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["NavigationItem"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalNavigationItem"];
2752
- var Text = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["Text"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalText"];
2753
- var useSlot = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["useSlot"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalUseSlot"];
2754
-
2755
- /***/ }),
2756
- /* 106 */
2757
- /***/ (function(module, exports, __webpack_require__) {
2758
 
2759
- var global = __webpack_require__(3);
2760
- var inspectSource = __webpack_require__(68);
 
 
 
2761
 
2762
- var WeakMap = global.WeakMap;
 
2763
 
2764
- module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
 
2765
 
 
 
 
 
2766
 
2767
- /***/ }),
2768
- /* 107 */
2769
- /***/ (function(module, exports, __webpack_require__) {
2770
 
2771
- "use strict";
 
 
 
 
 
 
 
 
 
2772
 
2773
- var $ = __webpack_require__(12);
2774
- var $includes = __webpack_require__(83).includes;
2775
- var addToUnscopables = __webpack_require__(118);
2776
 
2777
- // `Array.prototype.includes` method
2778
- // https://tc39.es/ecma262/#sec-array.prototype.includes
2779
- $({ target: 'Array', proto: true }, {
2780
- includes: function includes(el /* , fromIndex = 0 */) {
2781
- return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
2782
  }
2783
- });
2784
-
2785
- // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
2786
- addToUnscopables('includes');
2787
 
 
 
 
 
 
 
 
 
 
2788
 
2789
- /***/ }),
2790
- /* 108 */
2791
- /***/ (function(module, exports) {
2792
-
2793
- function _typeof(obj) {
2794
- "@babel/helpers - typeof";
2795
 
2796
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
2797
- module.exports = _typeof = function _typeof(obj) {
2798
- return typeof obj;
2799
- };
2800
- } else {
2801
- module.exports = _typeof = function _typeof(obj) {
2802
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
2803
- };
2804
- }
2805
 
2806
- return _typeof(obj);
2807
- }
 
2808
 
2809
- module.exports = _typeof;
2810
 
2811
- /***/ }),
2812
- /* 109 */
2813
- /***/ (function(module, exports, __webpack_require__) {
2814
 
2815
- var isObject = __webpack_require__(10);
2816
- var isArray = __webpack_require__(84);
2817
- var wellKnownSymbol = __webpack_require__(8);
2818
-
2819
- var SPECIES = wellKnownSymbol('species');
2820
-
2821
- // `ArraySpeciesCreate` abstract operation
2822
- // https://tc39.es/ecma262/#sec-arrayspeciescreate
2823
- module.exports = function (originalArray, length) {
2824
- var C;
2825
- if (isArray(originalArray)) {
2826
- C = originalArray.constructor;
2827
- // cross-realm fallback
2828
- if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
2829
- else if (isObject(C)) {
2830
- C = C[SPECIES];
2831
- if (C === null) C = undefined;
 
 
 
 
 
2832
  }
2833
- } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
 
 
2834
  };
 
2835
 
2836
 
2837
- /***/ }),
2838
- /* 110 */
2839
- /***/ (function(module, exports) {
2840
-
2841
- module.exports = {};
2842
 
2843
 
2844
- /***/ }),
2845
- /* 111 */
2846
- /***/ (function(module, exports, __webpack_require__) {
2847
 
2848
- "use strict";
2849
 
2850
- // TODO: Remove from `core-js@4` since it's moved to entry points
2851
- __webpack_require__(88);
2852
- var redefine = __webpack_require__(27);
2853
- var fails = __webpack_require__(6);
2854
- var wellKnownSymbol = __webpack_require__(8);
2855
- var regexpExec = __webpack_require__(91);
2856
- var createNonEnumerableProperty = __webpack_require__(19);
2857
-
2858
- var SPECIES = wellKnownSymbol('species');
2859
-
2860
- var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
2861
- // #replace needs built-in support for named groups.
2862
- // #match works fine because it just return the exec results, even if it has
2863
- // a "grops" property.
2864
- var re = /./;
2865
- re.exec = function () {
2866
- var result = [];
2867
- result.groups = { a: '7' };
2868
- return result;
2869
- };
2870
- return ''.replace(re, '$<a>') !== '7';
2871
- });
2872
 
2873
- // IE <= 11 replaces $0 with the whole match, as if it was $&
2874
- // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
2875
- var REPLACE_KEEPS_$0 = (function () {
2876
- return 'a'.replace(/./, '$0') === '$0';
2877
- })();
2878
 
2879
- var REPLACE = wellKnownSymbol('replace');
2880
- // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
2881
- var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
2882
- if (/./[REPLACE]) {
2883
- return /./[REPLACE]('a', '$0') === '';
2884
- }
2885
- return false;
2886
- })();
2887
 
2888
- // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
2889
- // Weex JS has frozen built-in prototypes, so use try / catch wrapper
2890
- var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
2891
- // eslint-disable-next-line regexp/no-empty-group -- required for testing
2892
- var re = /(?:)/;
2893
- var originalExec = re.exec;
2894
- re.exec = function () { return originalExec.apply(this, arguments); };
2895
- var result = 'ab'.split(re);
2896
- return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
2897
- });
2898
 
2899
- module.exports = function (KEY, length, exec, sham) {
2900
- var SYMBOL = wellKnownSymbol(KEY);
 
 
 
 
 
 
 
2901
 
2902
- var DELEGATES_TO_SYMBOL = !fails(function () {
2903
- // String methods call symbol-named RegEp methods
2904
- var O = {};
2905
- O[SYMBOL] = function () { return 7; };
2906
- return ''[KEY](O) != 7;
2907
- });
2908
 
2909
- var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
2910
- // Symbol-named RegExp methods call .exec
2911
- var execCalled = false;
2912
- var re = /a/;
2913
-
2914
- if (KEY === 'split') {
2915
- // We can't use real regex here since it causes deoptimization
2916
- // and serious performance degradation in V8
2917
- // https://github.com/zloirock/core-js/issues/306
2918
- re = {};
2919
- // RegExp[@@split] doesn't call the regex's exec method, but first creates
2920
- // a new one. We need to return the patched regex when creating the new one.
2921
- re.constructor = {};
2922
- re.constructor[SPECIES] = function () { return re; };
2923
- re.flags = '';
2924
- re[SYMBOL] = /./[SYMBOL];
 
2925
  }
2926
 
2927
- re.exec = function () { execCalled = true; return null; };
2928
-
2929
- re[SYMBOL]('');
2930
- return !execCalled;
2931
- });
 
 
 
2932
 
2933
- if (
2934
- !DELEGATES_TO_SYMBOL ||
2935
- !DELEGATES_TO_EXEC ||
2936
- (KEY === 'replace' && !(
2937
- REPLACE_SUPPORTS_NAMED_GROUPS &&
2938
- REPLACE_KEEPS_$0 &&
2939
- !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
2940
- )) ||
2941
- (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
2942
- ) {
2943
- var nativeRegExpMethod = /./[SYMBOL];
2944
- var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
2945
- if (regexp.exec === regexpExec) {
2946
- if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
2947
- // The native String method already delegates to @@method (this
2948
- // polyfilled function), leasing to infinite recursion.
2949
- // We avoid it by directly calling the native @@method method.
2950
- return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
2951
  }
2952
- return { done: true, value: nativeMethod.call(str, regexp, arg2) };
 
 
 
 
 
 
2953
  }
2954
- return { done: false };
2955
- }, {
2956
- REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,
2957
- REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
2958
- });
2959
- var stringMethod = methods[0];
2960
- var regexMethod = methods[1];
2961
-
2962
- redefine(String.prototype, KEY, stringMethod);
2963
- redefine(RegExp.prototype, SYMBOL, length == 2
2964
- // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
2965
- // 21.2.5.11 RegExp.prototype[@@split](string, limit)
2966
- ? function (string, arg) { return regexMethod.call(string, this, arg); }
2967
- // 21.2.5.6 RegExp.prototype[@@match](string)
2968
- // 21.2.5.9 RegExp.prototype[@@search](string)
2969
- : function (string) { return regexMethod.call(string, this); }
2970
- );
2971
- }
2972
 
2973
- if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2974
  };
 
2975
 
2976
 
2977
- /***/ }),
2978
- /* 112 */
2979
- /***/ (function(module, exports, __webpack_require__) {
2980
 
2981
- var classof = __webpack_require__(30);
2982
- var regexpExec = __webpack_require__(91);
2983
-
2984
- // `RegExpExec` abstract operation
2985
- // https://tc39.es/ecma262/#sec-regexpexec
2986
- module.exports = function (R, S) {
2987
- var exec = R.exec;
2988
- if (typeof exec === 'function') {
2989
- var result = exec.call(R, S);
2990
- if (typeof result !== 'object') {
2991
- throw TypeError('RegExp exec method returned something other than an Object or null');
2992
- }
2993
- return result;
2994
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2995
 
2996
- if (classof(R) !== 'RegExp') {
2997
- throw TypeError('RegExp#exec called on incompatible receiver');
2998
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2999
 
3000
- return regexpExec.call(R, S);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3001
  };
 
3002
 
3003
 
 
 
 
3004
 
3005
- /***/ }),
3006
- /* 113 */
3007
- /***/ (function(module, exports, __webpack_require__) {
3008
 
3009
- var TO_STRING_TAG_SUPPORT = __webpack_require__(82);
3010
- var classofRaw = __webpack_require__(30);
3011
- var wellKnownSymbol = __webpack_require__(8);
3012
 
3013
- var TO_STRING_TAG = wellKnownSymbol('toStringTag');
3014
- // ES3 wrong here
3015
- var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
3016
 
3017
- // fallback for IE11 Script Access Denied error
3018
- var tryGet = function (it, key) {
3019
- try {
3020
- return it[key];
3021
- } catch (error) { /* empty */ }
3022
- };
3023
 
3024
- // getting tag from ES6+ `Object.prototype.toString`
3025
- module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
3026
- var O, tag, result;
3027
- return it === undefined ? 'Undefined' : it === null ? 'Null'
3028
- // @@toStringTag case
3029
- : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag
3030
- // builtinTag case
3031
- : CORRECT_ARGUMENTS ? classofRaw(O)
3032
- // ES3 arguments fallback
3033
- : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
3034
- };
3035
 
3036
 
3037
- /***/ }),
3038
- /* 114 */
3039
- /***/ (function(module, exports, __webpack_require__) {
3040
 
3041
- "use strict";
3042
 
3043
- var anObject = __webpack_require__(9);
3044
-
3045
- // `RegExp.prototype.flags` getter implementation
3046
- // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
3047
- module.exports = function () {
3048
- var that = anObject(this);
3049
- var result = '';
3050
- if (that.global) result += 'g';
3051
- if (that.ignoreCase) result += 'i';
3052
- if (that.multiline) result += 'm';
3053
- if (that.dotAll) result += 's';
3054
- if (that.unicode) result += 'u';
3055
- if (that.sticky) result += 'y';
3056
- return result;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3057
  };
 
3058
 
3059
 
3060
- /***/ }),
3061
- /* 115 */,
3062
- /* 116 */
3063
- /***/ (function(module, exports, __webpack_require__) {
3064
 
3065
- var objectWithoutPropertiesLoose = __webpack_require__(233);
 
 
 
 
 
 
 
 
 
3066
 
3067
- function _objectWithoutProperties(source, excluded) {
3068
- if (source == null) return {};
3069
- var target = objectWithoutPropertiesLoose(source, excluded);
3070
- var key, i;
3071
 
3072
- if (Object.getOwnPropertySymbols) {
3073
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
3074
 
3075
- for (i = 0; i < sourceSymbolKeys.length; i++) {
3076
- key = sourceSymbolKeys[i];
3077
- if (excluded.indexOf(key) >= 0) continue;
3078
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
3079
- target[key] = source[key];
3080
- }
3081
- }
3082
 
3083
- return target;
3084
- }
 
3085
 
3086
- module.exports = _objectWithoutProperties;
3087
 
3088
- /***/ }),
3089
- /* 117 */
3090
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
3091
 
3092
- "use strict";
3093
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _extends; });
3094
- function _extends() {
3095
- _extends = Object.assign || function (target) {
3096
- for (var i = 1; i < arguments.length; i++) {
3097
- var source = arguments[i];
3098
 
3099
- for (var key in source) {
3100
- if (Object.prototype.hasOwnProperty.call(source, key)) {
3101
- target[key] = source[key];
3102
- }
3103
- }
3104
- }
3105
 
3106
- return target;
3107
- };
3108
 
3109
- return _extends.apply(this, arguments);
3110
- }
 
3111
 
3112
- /***/ }),
3113
- /* 118 */
3114
- /***/ (function(module, exports, __webpack_require__) {
3115
 
3116
- var wellKnownSymbol = __webpack_require__(8);
3117
- var create = __webpack_require__(69);
3118
- var definePropertyModule = __webpack_require__(17);
3119
 
3120
- var UNSCOPABLES = wellKnownSymbol('unscopables');
3121
- var ArrayPrototype = Array.prototype;
 
 
 
 
 
 
 
 
 
3122
 
3123
- // Array.prototype[@@unscopables]
3124
- // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
3125
- if (ArrayPrototype[UNSCOPABLES] == undefined) {
3126
- definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
3127
- configurable: true,
3128
- value: create(null)
3129
- });
3130
- }
3131
 
3132
- // add a key to Array.prototype[@@unscopables]
3133
- module.exports = function (key) {
3134
- ArrayPrototype[UNSCOPABLES][key] = true;
3135
- };
3136
 
 
 
 
3137
 
3138
- /***/ }),
3139
- /* 119 */
3140
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
3141
 
3142
- var wellKnownSymbol = __webpack_require__(8);
 
 
 
3143
 
3144
- exports.f = wellKnownSymbol;
 
3145
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3146
 
3147
- /***/ }),
3148
- /* 120 */,
3149
- /* 121 */
3150
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
3151
 
3152
- "use strict";
 
3153
 
3154
- var fails = __webpack_require__(6);
 
 
3155
 
3156
- module.exports = function (METHOD_NAME, argument) {
3157
- var method = [][METHOD_NAME];
3158
- return !!method && fails(function () {
3159
- // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing
3160
- method.call(null, argument || function () { throw 1; }, 1);
3161
- });
3162
- };
3163
 
 
 
 
 
 
 
 
3164
 
3165
- /***/ }),
3166
- /* 122 */
3167
- /***/ (function(module, exports, __webpack_require__) {
3168
 
3169
- "use strict";
 
3170
 
3171
- var charAt = __webpack_require__(125).charAt;
 
3172
 
3173
- // `AdvanceStringIndex` abstract operation
3174
- // https://tc39.es/ecma262/#sec-advancestringindex
3175
- module.exports = function (S, index, unicode) {
3176
- return index + (unicode ? charAt(S, index).length : 1);
3177
- };
3178
 
 
 
 
3179
 
3180
- /***/ }),
3181
- /* 123 */
3182
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3183
 
3184
- "use strict";
 
 
 
 
3185
 
3186
- var toIndexedObject = __webpack_require__(21);
3187
- var addToUnscopables = __webpack_require__(118);
3188
- var Iterators = __webpack_require__(110);
3189
- var InternalStateModule = __webpack_require__(45);
3190
- var defineIterator = __webpack_require__(166);
3191
-
3192
- var ARRAY_ITERATOR = 'Array Iterator';
3193
- var setInternalState = InternalStateModule.set;
3194
- var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
3195
-
3196
- // `Array.prototype.entries` method
3197
- // https://tc39.es/ecma262/#sec-array.prototype.entries
3198
- // `Array.prototype.keys` method
3199
- // https://tc39.es/ecma262/#sec-array.prototype.keys
3200
- // `Array.prototype.values` method
3201
- // https://tc39.es/ecma262/#sec-array.prototype.values
3202
- // `Array.prototype[@@iterator]` method
3203
- // https://tc39.es/ecma262/#sec-array.prototype-@@iterator
3204
- // `CreateArrayIterator` internal method
3205
- // https://tc39.es/ecma262/#sec-createarrayiterator
3206
- module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
3207
- setInternalState(this, {
3208
- type: ARRAY_ITERATOR,
3209
- target: toIndexedObject(iterated), // target
3210
- index: 0, // next index
3211
- kind: kind // kind
3212
- });
3213
- // `%ArrayIteratorPrototype%.next` method
3214
- // https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next
3215
- }, function () {
3216
- var state = getInternalState(this);
3217
- var target = state.target;
3218
- var kind = state.kind;
3219
- var index = state.index++;
3220
- if (!target || index >= target.length) {
3221
- state.target = undefined;
3222
- return { value: undefined, done: true };
3223
- }
3224
- if (kind == 'keys') return { value: index, done: false };
3225
- if (kind == 'values') return { value: target[index], done: false };
3226
- return { value: [index, target[index]], done: false };
3227
- }, 'values');
3228
 
3229
- // argumentsList[@@iterator] is %ArrayProto_values%
3230
- // https://tc39.es/ecma262/#sec-createunmappedargumentsobject
3231
- // https://tc39.es/ecma262/#sec-createmappedargumentsobject
3232
- Iterators.Arguments = Iterators.Array;
3233
 
3234
- // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
3235
- addToUnscopables('keys');
3236
- addToUnscopables('values');
3237
- addToUnscopables('entries');
3238
 
 
 
 
 
3239
 
3240
- /***/ }),
3241
- /* 124 */
3242
- /***/ (function(module, exports) {
 
3243
 
3244
- function _arrayLikeToArray(arr, len) {
3245
- if (len == null || len > arr.length) len = arr.length;
 
 
3246
 
3247
- for (var i = 0, arr2 = new Array(len); i < len; i++) {
3248
- arr2[i] = arr[i];
3249
- }
 
 
3250
 
3251
- return arr2;
3252
- }
3253
 
3254
- module.exports = _arrayLikeToArray;
3255
 
3256
- /***/ }),
3257
- /* 125 */
3258
- /***/ (function(module, exports, __webpack_require__) {
3259
 
3260
- var toInteger = __webpack_require__(42);
3261
- var requireObjectCoercible = __webpack_require__(32);
3262
-
3263
- // `String.prototype.{ codePointAt, at }` methods implementation
3264
- var createMethod = function (CONVERT_TO_STRING) {
3265
- return function ($this, pos) {
3266
- var S = String(requireObjectCoercible($this));
3267
- var position = toInteger(pos);
3268
- var size = S.length;
3269
- var first, second;
3270
- if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
3271
- first = S.charCodeAt(position);
3272
- return first < 0xD800 || first > 0xDBFF || position + 1 === size
3273
- || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
3274
- ? CONVERT_TO_STRING ? S.charAt(position) : first
3275
- : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
3276
- };
3277
- };
3278
 
3279
- module.exports = {
3280
- // `String.prototype.codePointAt` method
3281
- // https://tc39.es/ecma262/#sec-string.prototype.codepointat
3282
- codeAt: createMethod(false),
3283
- // `String.prototype.at` method
3284
- // https://github.com/mathiasbynens/String.prototype.at
3285
- charAt: createMethod(true)
3286
- };
3287
 
3288
 
3289
- /***/ }),
3290
- /* 126 */
3291
- /***/ (function(module, exports) {
3292
 
3293
- (function() { module.exports = window["wp"]["keycodes"]; }());
3294
 
3295
- /***/ }),
3296
- /* 127 */
3297
- /***/ (function(module, exports) {
3298
 
3299
- // iterable DOM collections
3300
- // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
3301
- module.exports = {
3302
- CSSRuleList: 0,
3303
- CSSStyleDeclaration: 0,
3304
- CSSValueList: 0,
3305
- ClientRectList: 0,
3306
- DOMRectList: 0,
3307
- DOMStringList: 0,
3308
- DOMTokenList: 1,
3309
- DataTransferItemList: 0,
3310
- FileList: 0,
3311
- HTMLAllCollection: 0,
3312
- HTMLCollection: 0,
3313
- HTMLFormElement: 0,
3314
- HTMLSelectElement: 0,
3315
- MediaList: 0,
3316
- MimeTypeArray: 0,
3317
- NamedNodeMap: 0,
3318
- NodeList: 1,
3319
- PaintRequestList: 0,
3320
- Plugin: 0,
3321
- PluginArray: 0,
3322
- SVGLengthList: 0,
3323
- SVGNumberList: 0,
3324
- SVGPathSegList: 0,
3325
- SVGPointList: 0,
3326
- SVGStringList: 0,
3327
- SVGTransformList: 0,
3328
- SourceBufferList: 0,
3329
- StyleSheetList: 0,
3330
- TextTrackCueList: 0,
3331
- TextTrackList: 0,
3332
- TouchList: 0
3333
- };
3334
 
3335
 
3336
- /***/ }),
3337
- /* 128 */
3338
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
3339
 
3340
- "use strict";
3341
 
3342
- // EXPORTS
3343
- __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _inheritsLoose; });
3344
 
3345
- // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
3346
- function _setPrototypeOf(o, p) {
3347
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
3348
- o.__proto__ = p;
3349
- return o;
3350
- };
3351
 
3352
- return _setPrototypeOf(o, p);
3353
- }
3354
- // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js
3355
 
3356
- function _inheritsLoose(subClass, superClass) {
3357
- subClass.prototype = Object.create(superClass.prototype);
3358
- subClass.prototype.constructor = subClass;
3359
- _setPrototypeOf(subClass, superClass);
3360
- }
3361
 
3362
- /***/ }),
3363
- /* 129 */
3364
- /***/ (function(module, exports, __webpack_require__) {
3365
 
3366
- var DESCRIPTORS = __webpack_require__(13);
3367
- var defineProperty = __webpack_require__(17).f;
3368
-
3369
- var FunctionPrototype = Function.prototype;
3370
- var FunctionPrototypeToString = FunctionPrototype.toString;
3371
- var nameRE = /^\s*function ([^ (]*)/;
3372
- var NAME = 'name';
3373
-
3374
- // Function instances `.name` property
3375
- // https://tc39.es/ecma262/#sec-function-instances-name
3376
- if (DESCRIPTORS && !(NAME in FunctionPrototype)) {
3377
- defineProperty(FunctionPrototype, NAME, {
3378
- configurable: true,
3379
- get: function () {
3380
- try {
3381
- return FunctionPrototypeToString.call(this).match(nameRE)[1];
3382
- } catch (error) {
3383
- return '';
3384
- }
3385
- }
3386
- });
3387
- }
3388
 
3389
 
3390
- /***/ }),
3391
- /* 130 */
3392
- /***/ (function(module, exports, __webpack_require__) {
3393
 
3394
- "use strict";
3395
 
3396
- var TO_STRING_TAG_SUPPORT = __webpack_require__(82);
3397
- var classof = __webpack_require__(113);
3398
 
3399
- // `Object.prototype.toString` method implementation
3400
- // https://tc39.es/ecma262/#sec-object.prototype.tostring
3401
- module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
3402
- return '[object ' + classof(this) + ']';
3403
- };
3404
 
 
 
 
3405
 
3406
- /***/ }),
3407
- /* 131 */
3408
- /***/ (function(module, exports, __webpack_require__) {
3409
 
3410
- var arrayLikeToArray = __webpack_require__(124);
3411
 
3412
- function _unsupportedIterableToArray(o, minLen) {
3413
- if (!o) return;
3414
- if (typeof o === "string") return arrayLikeToArray(o, minLen);
3415
- var n = Object.prototype.toString.call(o).slice(8, -1);
3416
- if (n === "Object" && o.constructor) n = o.constructor.name;
3417
- if (n === "Map" || n === "Set") return Array.from(o);
3418
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
3419
- }
3420
 
3421
- module.exports = _unsupportedIterableToArray;
3422
 
3423
- /***/ }),
3424
- /* 132 */
3425
- /***/ (function(module, exports) {
3426
 
3427
- (function() { module.exports = window["wp"]["htmlEntities"]; }());
3428
 
3429
- /***/ }),
3430
- /* 133 */
3431
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
3432
 
3433
- "use strict";
3434
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutPropertiesLoose; });
3435
- function _objectWithoutPropertiesLoose(source, excluded) {
3436
- if (source == null) return {};
3437
- var target = {};
3438
- var sourceKeys = Object.keys(source);
3439
- var key, i;
3440
 
3441
- for (i = 0; i < sourceKeys.length; i++) {
3442
- key = sourceKeys[i];
3443
- if (excluded.indexOf(key) >= 0) continue;
3444
- target[key] = source[key];
3445
- }
 
 
 
3446
 
3447
- return target;
3448
- }
3449
 
3450
- /***/ }),
3451
- /* 134 */
3452
- /***/ (function(module, exports) {
3453
 
3454
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
3455
- try {
3456
- var info = gen[key](arg);
3457
- var value = info.value;
3458
- } catch (error) {
3459
- reject(error);
3460
- return;
3461
- }
3462
 
3463
- if (info.done) {
3464
- resolve(value);
3465
- } else {
3466
- Promise.resolve(value).then(_next, _throw);
 
 
 
 
3467
  }
3468
- }
3469
-
3470
- function _asyncToGenerator(fn) {
3471
- return function () {
3472
- var self = this,
3473
- args = arguments;
3474
- return new Promise(function (resolve, reject) {
3475
- var gen = fn.apply(self, args);
3476
 
3477
- function _next(value) {
3478
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
3479
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3480
 
3481
- function _throw(err) {
3482
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
3483
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3484
 
3485
- _next(undefined);
3486
- });
3487
- };
3488
- }
 
 
 
 
 
3489
 
3490
- module.exports = _asyncToGenerator;
 
 
 
 
 
 
 
 
 
 
 
 
3491
 
3492
- /***/ }),
3493
- /* 135 */
3494
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3495
 
3496
- "use strict";
 
 
 
 
 
 
 
3497
 
3498
- var fixRegExpWellKnownSymbolLogic = __webpack_require__(111);
3499
- var anObject = __webpack_require__(9);
3500
- var toLength = __webpack_require__(34);
3501
- var toInteger = __webpack_require__(42);
3502
- var requireObjectCoercible = __webpack_require__(32);
3503
- var advanceStringIndex = __webpack_require__(122);
3504
- var getSubstitution = __webpack_require__(168);
3505
- var regExpExec = __webpack_require__(112);
 
 
3506
 
3507
- var max = Math.max;
3508
- var min = Math.min;
 
 
 
3509
 
3510
- var maybeToString = function (it) {
3511
- return it === undefined ? it : String(it);
3512
- };
3513
 
3514
- // @@replace logic
3515
- fixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
3516
- var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;
3517
- var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;
3518
- var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
3519
-
3520
- return [
3521
- // `String.prototype.replace` method
3522
- // https://tc39.es/ecma262/#sec-string.prototype.replace
3523
- function replace(searchValue, replaceValue) {
3524
- var O = requireObjectCoercible(this);
3525
- var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
3526
- return replacer !== undefined
3527
- ? replacer.call(searchValue, O, replaceValue)
3528
- : nativeReplace.call(String(O), searchValue, replaceValue);
3529
- },
3530
- // `RegExp.prototype[@@replace]` method
3531
- // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
3532
- function (regexp, replaceValue) {
3533
- if (
3534
- (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||
3535
- (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)
3536
- ) {
3537
- var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
3538
- if (res.done) return res.value;
3539
  }
3540
 
3541
- var rx = anObject(regexp);
3542
- var S = String(this);
 
3543
 
3544
- var functionalReplace = typeof replaceValue === 'function';
3545
- if (!functionalReplace) replaceValue = String(replaceValue);
 
 
 
 
 
 
 
 
 
3546
 
3547
- var global = rx.global;
3548
- if (global) {
3549
- var fullUnicode = rx.unicode;
3550
- rx.lastIndex = 0;
3551
  }
3552
- var results = [];
3553
- while (true) {
3554
- var result = regExpExec(rx, S);
3555
- if (result === null) break;
3556
 
3557
- results.push(result);
3558
- if (!global) break;
3559
-
3560
- var matchStr = String(result[0]);
3561
- if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3562
  }
3563
 
3564
- var accumulatedResult = '';
3565
- var nextSourcePosition = 0;
3566
- for (var i = 0; i < results.length; i++) {
3567
- result = results[i];
3568
-
3569
- var matched = String(result[0]);
3570
- var position = max(min(toInteger(result.index), S.length), 0);
3571
- var captures = [];
3572
- // NOTE: This is equivalent to
3573
- // captures = result.slice(1).map(maybeToString)
3574
- // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
3575
- // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
3576
- // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
3577
- for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
3578
- var namedCaptures = result.groups;
3579
- if (functionalReplace) {
3580
- var replacerArgs = [matched].concat(captures, position, S);
3581
- if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
3582
- var replacement = String(replaceValue.apply(undefined, replacerArgs));
3583
- } else {
3584
- replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3585
  }
3586
- if (position >= nextSourcePosition) {
3587
- accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
3588
- nextSourcePosition = position + matched.length;
 
 
 
 
 
 
 
 
3589
  }
3590
- }
3591
- return accumulatedResult + S.slice(nextSourcePosition);
3592
  }
3593
- ];
3594
- });
3595
-
3596
-
3597
- /***/ }),
3598
- /* 136 */
3599
- /***/ (function(module, exports) {
3600
 
3601
- module.exports = function (it, Constructor, name) {
3602
- if (!(it instanceof Constructor)) {
3603
- throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
3604
- } return it;
3605
  };
 
 
3606
 
 
 
 
3607
 
3608
- /***/ }),
3609
- /* 137 */
3610
- /***/ (function(module, exports, __webpack_require__) {
3611
-
3612
- "use strict";
3613
-
3614
-
3615
- var fails = __webpack_require__(6);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3616
 
3617
- // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
3618
- // so we use an intermediate function.
3619
- function RE(s, f) {
3620
- return RegExp(s, f);
3621
- }
 
3622
 
3623
- exports.UNSUPPORTED_Y = fails(function () {
3624
- // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
3625
- var re = RE('a', 'y');
3626
- re.lastIndex = 2;
3627
- return re.exec('abcd') != null;
3628
- });
3629
 
3630
- exports.BROKEN_CARET = fails(function () {
3631
- // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
3632
- var re = RE('^r', 'gy');
3633
- re.lastIndex = 2;
3634
- return re.exec('str') != null;
3635
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3636
 
 
 
 
 
 
 
 
3637
 
3638
- /***/ }),
3639
- /* 138 */,
3640
- /* 139 */
3641
- /***/ (function(module, exports, __webpack_require__) {
3642
 
3643
- "use strict";
3644
 
3645
- var $ = __webpack_require__(12);
3646
- var IndexedObject = __webpack_require__(71);
3647
- var toIndexedObject = __webpack_require__(21);
3648
- var arrayMethodIsStrict = __webpack_require__(121);
3649
 
3650
- var nativeJoin = [].join;
3651
 
3652
- var ES3_STRINGS = IndexedObject != Object;
3653
- var STRICT_METHOD = arrayMethodIsStrict('join', ',');
3654
 
3655
- // `Array.prototype.join` method
3656
- // https://tc39.es/ecma262/#sec-array.prototype.join
3657
- $({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {
3658
- join: function join(separator) {
3659
- return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
3660
- }
3661
- });
3662
 
 
 
 
3663
 
3664
- /***/ }),
3665
- /* 140 */
3666
- /***/ (function(module, exports, __webpack_require__) {
3667
 
3668
- "use strict";
3669
 
3670
- var $ = __webpack_require__(12);
3671
- var notARegExp = __webpack_require__(207);
3672
- var requireObjectCoercible = __webpack_require__(32);
3673
- var correctIsRegExpLogic = __webpack_require__(208);
3674
-
3675
- // `String.prototype.includes` method
3676
- // https://tc39.es/ecma262/#sec-string.prototype.includes
3677
- $({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {
3678
- includes: function includes(searchString /* , position = 0 */) {
3679
- return !!~String(requireObjectCoercible(this))
3680
- .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);
3681
- }
3682
- });
3683
 
3684
 
3685
- /***/ }),
3686
- /* 141 */
3687
- /***/ (function(module, exports) {
 
 
 
3688
 
3689
- (function() { module.exports = window["wp"]["hooks"]; }());
 
 
 
 
 
 
 
3690
 
3691
- /***/ }),
3692
- /* 142 */
3693
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
3694
 
3695
- "use strict";
 
 
 
3696
 
3697
- var redefine = __webpack_require__(27);
3698
- var anObject = __webpack_require__(9);
3699
- var fails = __webpack_require__(6);
3700
- var flags = __webpack_require__(114);
3701
-
3702
- var TO_STRING = 'toString';
3703
- var RegExpPrototype = RegExp.prototype;
3704
- var nativeToString = RegExpPrototype[TO_STRING];
3705
-
3706
- var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
3707
- // FF44- RegExp#toString has a wrong name
3708
- var INCORRECT_NAME = nativeToString.name != TO_STRING;
3709
-
3710
- // `RegExp.prototype.toString` method
3711
- // https://tc39.es/ecma262/#sec-regexp.prototype.tostring
3712
- if (NOT_GENERIC || INCORRECT_NAME) {
3713
- redefine(RegExp.prototype, TO_STRING, function toString() {
3714
- var R = anObject(this);
3715
- var p = String(R.source);
3716
- var rf = R.flags;
3717
- var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);
3718
- return '/' + p + '/' + f;
3719
- }, { unsafe: true });
3720
- }
3721
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3722
 
3723
- /***/ }),
3724
- /* 143 */
3725
- /***/ (function(module, exports, __webpack_require__) {
 
3726
 
3727
- /* eslint-disable no-proto -- safe */
3728
- var anObject = __webpack_require__(9);
3729
- var aPossiblePrototype = __webpack_require__(160);
3730
-
3731
- // `Object.setPrototypeOf` method
3732
- // https://tc39.es/ecma262/#sec-object.setprototypeof
3733
- // Works with __proto__ only. Old v8 can't work with null proto objects.
3734
- module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
3735
- var CORRECT_SETTER = false;
3736
- var test = {};
3737
- var setter;
3738
- try {
3739
- setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
3740
- setter.call(test, []);
3741
- CORRECT_SETTER = test instanceof Array;
3742
- } catch (error) { /* empty */ }
3743
- return function setPrototypeOf(O, proto) {
3744
- anObject(O);
3745
- aPossiblePrototype(proto);
3746
- if (CORRECT_SETTER) setter.call(O, proto);
3747
- else O.__proto__ = proto;
3748
- return O;
3749
- };
3750
- }() : undefined);
3751
 
3752
 
3753
- /***/ }),
3754
- /* 144 */
3755
- /***/ (function(module, exports, __webpack_require__) {
3756
 
3757
- var isObject = __webpack_require__(10);
3758
- var classof = __webpack_require__(30);
3759
- var wellKnownSymbol = __webpack_require__(8);
3760
 
3761
- var MATCH = wellKnownSymbol('match');
3762
 
3763
- // `IsRegExp` abstract operation
3764
- // https://tc39.es/ecma262/#sec-isregexp
3765
- module.exports = function (it) {
3766
- var isRegExp;
3767
- return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
3768
- };
3769
 
 
 
 
3770
 
3771
- /***/ }),
3772
- /* 145 */
3773
- /***/ (function(module, exports) {
3774
 
3775
- (function() { module.exports = window["wc"]["components"]; }());
3776
 
3777
- /***/ }),
3778
- /* 146 */
3779
- /***/ (function(module, exports, __webpack_require__) {
3780
 
3781
- var global = __webpack_require__(3);
3782
- var DOMIterables = __webpack_require__(127);
3783
- var ArrayIteratorMethods = __webpack_require__(123);
3784
- var createNonEnumerableProperty = __webpack_require__(19);
3785
- var wellKnownSymbol = __webpack_require__(8);
3786
-
3787
- var ITERATOR = wellKnownSymbol('iterator');
3788
- var TO_STRING_TAG = wellKnownSymbol('toStringTag');
3789
- var ArrayValues = ArrayIteratorMethods.values;
3790
-
3791
- for (var COLLECTION_NAME in DOMIterables) {
3792
- var Collection = global[COLLECTION_NAME];
3793
- var CollectionPrototype = Collection && Collection.prototype;
3794
- if (CollectionPrototype) {
3795
- // some Chrome versions have non-configurable methods on DOMTokenList
3796
- if (CollectionPrototype[ITERATOR] !== ArrayValues) try {
3797
- createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);
3798
- } catch (error) {
3799
- CollectionPrototype[ITERATOR] = ArrayValues;
3800
- }
3801
- if (!CollectionPrototype[TO_STRING_TAG]) {
3802
- createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
3803
- }
3804
- if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {
3805
- // some Chrome versions have non-configurable methods on DOMTokenList
3806
- if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {
3807
- createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
3808
- } catch (error) {
3809
- CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
3810
- }
3811
- }
3812
- }
3813
- }
3814
 
3815
 
3816
- /***/ }),
3817
- /* 147 */
3818
- /***/ (function(module, exports, __webpack_require__) {
3819
 
3820
- var toIndexedObject = __webpack_require__(21);
3821
- var nativeGetOwnPropertyNames = __webpack_require__(56).f;
 
3822
 
3823
- var toString = {}.toString;
3824
 
3825
- var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
3826
- ? Object.getOwnPropertyNames(window) : [];
3827
 
3828
- var getWindowNames = function (it) {
3829
- try {
3830
- return nativeGetOwnPropertyNames(it);
3831
- } catch (error) {
3832
- return windowNames.slice();
3833
- }
3834
- };
3835
 
3836
- // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
3837
- module.exports.f = function getOwnPropertyNames(it) {
3838
- return windowNames && toString.call(it) == '[object Window]'
3839
- ? getWindowNames(it)
3840
- : nativeGetOwnPropertyNames(toIndexedObject(it));
3841
- };
3842
 
 
 
 
 
 
 
 
 
 
3843
 
3844
- /***/ }),
3845
- /* 148 */
3846
- /***/ (function(module, exports, __webpack_require__) {
3847
 
3848
- var path = __webpack_require__(81);
3849
- var has = __webpack_require__(11);
3850
- var wrappedWellKnownSymbolModule = __webpack_require__(119);
3851
- var defineProperty = __webpack_require__(17).f;
3852
-
3853
- module.exports = function (NAME) {
3854
- var Symbol = path.Symbol || (path.Symbol = {});
3855
- if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {
3856
- value: wrappedWellKnownSymbolModule.f(NAME)
3857
  });
3858
- };
3859
-
3860
-
3861
- /***/ }),
3862
- /* 149 */
3863
- /***/ (function(module, exports, __webpack_require__) {
 
 
3864
 
3865
- "use strict";
 
 
 
 
3866
 
3867
- var $forEach = __webpack_require__(75).forEach;
3868
- var arrayMethodIsStrict = __webpack_require__(121);
 
 
 
3869
 
3870
- var STRICT_METHOD = arrayMethodIsStrict('forEach');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3871
 
3872
- // `Array.prototype.forEach` method implementation
3873
- // https://tc39.es/ecma262/#sec-array.prototype.foreach
3874
- module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {
3875
- return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
3876
- } : [].forEach;
3877
 
3878
 
3879
- /***/ }),
3880
- /* 150 */
3881
- /***/ (function(module, exports, __webpack_require__) {
3882
 
3883
- var anObject = __webpack_require__(9);
3884
- var aFunction = __webpack_require__(70);
3885
- var wellKnownSymbol = __webpack_require__(8);
3886
 
3887
- var SPECIES = wellKnownSymbol('species');
3888
 
3889
- // `SpeciesConstructor` abstract operation
3890
- // https://tc39.es/ecma262/#sec-speciesconstructor
3891
- module.exports = function (O, defaultConstructor) {
3892
- var C = anObject(O).constructor;
3893
- var S;
3894
- return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);
3895
- };
3896
 
 
3897
 
3898
- /***/ }),
3899
- /* 151 */
3900
- /***/ (function(module, exports, __webpack_require__) {
3901
 
3902
- "use strict";
 
 
3903
 
3904
- var charAt = __webpack_require__(125).charAt;
3905
- var InternalStateModule = __webpack_require__(45);
3906
- var defineIterator = __webpack_require__(166);
3907
-
3908
- var STRING_ITERATOR = 'String Iterator';
3909
- var setInternalState = InternalStateModule.set;
3910
- var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
3911
-
3912
- // `String.prototype[@@iterator]` method
3913
- // https://tc39.es/ecma262/#sec-string.prototype-@@iterator
3914
- defineIterator(String, 'String', function (iterated) {
3915
- setInternalState(this, {
3916
- type: STRING_ITERATOR,
3917
- string: String(iterated),
3918
- index: 0
3919
- });
3920
- // `%StringIteratorPrototype%.next` method
3921
- // https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next
3922
- }, function next() {
3923
- var state = getInternalState(this);
3924
- var string = state.string;
3925
- var index = state.index;
3926
- var point;
3927
- if (index >= string.length) return { value: undefined, done: true };
3928
- point = charAt(string, index);
3929
- state.index += point.length;
3930
- return { value: point, done: false };
3931
- });
3932
 
 
 
3933
 
3934
- /***/ }),
3935
- /* 152 */
3936
- /***/ (function(module, exports, __webpack_require__) {
3937
 
3938
- var redefine = __webpack_require__(27);
 
3939
 
3940
- module.exports = function (target, src, options) {
3941
- for (var key in src) redefine(target, key, src[key], options);
3942
- return target;
3943
- };
3944
 
 
 
 
 
 
 
 
 
 
3945
 
3946
- /***/ }),
3947
- /* 153 */
3948
- /***/ (function(module, exports, __webpack_require__) {
3949
 
3950
- "use strict";
 
 
 
3951
 
3952
- var getBuiltIn = __webpack_require__(31);
3953
- var definePropertyModule = __webpack_require__(17);
3954
- var wellKnownSymbol = __webpack_require__(8);
3955
- var DESCRIPTORS = __webpack_require__(13);
3956
 
3957
- var SPECIES = wellKnownSymbol('species');
 
3958
 
3959
- module.exports = function (CONSTRUCTOR_NAME) {
3960
- var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
3961
- var defineProperty = definePropertyModule.f;
3962
 
3963
- if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
3964
- defineProperty(Constructor, SPECIES, {
3965
- configurable: true,
3966
- get: function () { return this; }
3967
- });
3968
- }
3969
- };
3970
 
3971
 
3972
- /***/ }),
3973
- /* 154 */
3974
- /***/ (function(module, exports, __webpack_require__) {
3975
 
3976
- var anObject = __webpack_require__(9);
3977
- var isArrayIteratorMethod = __webpack_require__(171);
3978
- var toLength = __webpack_require__(34);
3979
- var bind = __webpack_require__(94);
3980
- var getIteratorMethod = __webpack_require__(155);
3981
- var iteratorClose = __webpack_require__(172);
3982
 
3983
- var Result = function (stopped, result) {
3984
- this.stopped = stopped;
3985
- this.result = result;
3986
- };
3987
 
3988
- module.exports = function (iterable, unboundFunction, options) {
3989
- var that = options && options.that;
3990
- var AS_ENTRIES = !!(options && options.AS_ENTRIES);
3991
- var IS_ITERATOR = !!(options && options.IS_ITERATOR);
3992
- var INTERRUPTED = !!(options && options.INTERRUPTED);
3993
- var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);
3994
- var iterator, iterFn, index, length, result, next, step;
3995
-
3996
- var stop = function (condition) {
3997
- if (iterator) iteratorClose(iterator);
3998
- return new Result(true, condition);
3999
- };
4000
 
4001
- var callFn = function (value) {
4002
- if (AS_ENTRIES) {
4003
- anObject(value);
4004
- return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
4005
- } return INTERRUPTED ? fn(value, stop) : fn(value);
4006
- };
4007
 
4008
- if (IS_ITERATOR) {
4009
- iterator = iterable;
4010
- } else {
4011
- iterFn = getIteratorMethod(iterable);
4012
- if (typeof iterFn != 'function') throw TypeError('Target is not iterable');
4013
- // optimisation for array iterators
4014
- if (isArrayIteratorMethod(iterFn)) {
4015
- for (index = 0, length = toLength(iterable.length); length > index; index++) {
4016
- result = callFn(iterable[index]);
4017
- if (result && result instanceof Result) return result;
4018
- } return new Result(false);
4019
- }
4020
- iterator = iterFn.call(iterable);
4021
- }
4022
 
4023
- next = iterator.next;
4024
- while (!(step = next.call(iterator)).done) {
4025
- try {
4026
- result = callFn(step.value);
4027
- } catch (error) {
4028
- iteratorClose(iterator);
4029
- throw error;
4030
- }
4031
- if (typeof result == 'object' && result && result instanceof Result) return result;
4032
- } return new Result(false);
4033
- };
4034
 
4035
 
4036
- /***/ }),
4037
- /* 155 */
4038
- /***/ (function(module, exports, __webpack_require__) {
4039
 
4040
- var classof = __webpack_require__(113);
4041
- var Iterators = __webpack_require__(110);
4042
- var wellKnownSymbol = __webpack_require__(8);
4043
 
4044
- var ITERATOR = wellKnownSymbol('iterator');
4045
 
4046
- module.exports = function (it) {
4047
- if (it != undefined) return it[ITERATOR]
4048
- || it['@@iterator']
4049
- || Iterators[classof(it)];
4050
- };
 
 
 
 
 
 
4051
 
 
 
 
 
 
 
 
 
 
4052
 
4053
- /***/ }),
4054
- /* 156 */
4055
- /***/ (function(module, exports, __webpack_require__) {
 
 
4056
 
4057
- var isObject = __webpack_require__(10);
4058
- var setPrototypeOf = __webpack_require__(143);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4059
 
4060
- // makes subclassing work correct for wrapped built-ins
4061
- module.exports = function ($this, dummy, Wrapper) {
4062
- var NewTarget, NewTargetPrototype;
4063
- if (
4064
- // it can work only with native `setPrototypeOf`
4065
- setPrototypeOf &&
4066
- // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
4067
- typeof (NewTarget = dummy.constructor) == 'function' &&
4068
- NewTarget !== Wrapper &&
4069
- isObject(NewTargetPrototype = NewTarget.prototype) &&
4070
- NewTargetPrototype !== Wrapper.prototype
4071
- ) setPrototypeOf($this, NewTargetPrototype);
4072
- return $this;
4073
- };
4074
 
 
 
 
 
 
 
 
4075
 
4076
- /***/ }),
4077
- /* 157 */
4078
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
 
 
4079
 
4080
- var global = __webpack_require__(3);
4081
- var fails = __webpack_require__(6);
4082
- var bind = __webpack_require__(94);
4083
- var html = __webpack_require__(98);
4084
- var createElement = __webpack_require__(67);
4085
- var IS_IOS = __webpack_require__(158);
4086
- var IS_NODE = __webpack_require__(77);
4087
-
4088
- var location = global.location;
4089
- var set = global.setImmediate;
4090
- var clear = global.clearImmediate;
4091
- var process = global.process;
4092
- var MessageChannel = global.MessageChannel;
4093
- var Dispatch = global.Dispatch;
4094
- var counter = 0;
4095
- var queue = {};
4096
- var ONREADYSTATECHANGE = 'onreadystatechange';
4097
- var defer, channel, port;
4098
-
4099
- var run = function (id) {
4100
- // eslint-disable-next-line no-prototype-builtins -- safe
4101
- if (queue.hasOwnProperty(id)) {
4102
- var fn = queue[id];
4103
- delete queue[id];
4104
- fn();
4105
- }
4106
- };
4107
 
4108
- var runner = function (id) {
4109
- return function () {
4110
- run(id);
4111
- };
4112
- };
 
 
4113
 
4114
- var listener = function (event) {
4115
- run(event.data);
4116
- };
 
 
 
 
 
4117
 
4118
- var post = function (id) {
4119
- // old engines have not location.origin
4120
- global.postMessage(id + '', location.protocol + '//' + location.host);
4121
- };
4122
 
4123
- // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
4124
- if (!set || !clear) {
4125
- set = function setImmediate(fn) {
4126
- var args = [];
4127
- var i = 1;
4128
- while (arguments.length > i) args.push(arguments[i++]);
4129
- queue[++counter] = function () {
4130
- // eslint-disable-next-line no-new-func -- spec requirement
4131
- (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);
4132
  };
4133
- defer(counter);
4134
- return counter;
4135
- };
4136
- clear = function clearImmediate(id) {
4137
- delete queue[id];
4138
  };
4139
- // Node.js 0.8-
4140
- if (IS_NODE) {
4141
- defer = function (id) {
4142
- process.nextTick(runner(id));
4143
- };
4144
- // Sphere (JS game engine) Dispatch API
4145
- } else if (Dispatch && Dispatch.now) {
4146
- defer = function (id) {
4147
- Dispatch.now(runner(id));
4148
- };
4149
- // Browsers with MessageChannel, includes WebWorkers
4150
- // except iOS - https://github.com/zloirock/core-js/issues/624
4151
- } else if (MessageChannel && !IS_IOS) {
4152
- channel = new MessageChannel();
4153
- port = channel.port2;
4154
- channel.port1.onmessage = listener;
4155
- defer = bind(port.postMessage, port, 1);
4156
- // Browsers with postMessage, skip WebWorkers
4157
- // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
4158
- } else if (
4159
- global.addEventListener &&
4160
- typeof postMessage == 'function' &&
4161
- !global.importScripts &&
4162
- location && location.protocol !== 'file:' &&
4163
- !fails(post)
4164
- ) {
4165
- defer = post;
4166
- global.addEventListener('message', listener, false);
4167
- // IE8-
4168
- } else if (ONREADYSTATECHANGE in createElement('script')) {
4169
- defer = function (id) {
4170
- html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
4171
- html.removeChild(this);
4172
- run(id);
4173
- };
4174
- };
4175
- // Rest old browsers
4176
- } else {
4177
- defer = function (id) {
4178
- setTimeout(runner(id), 0);
4179
- };
4180
- }
4181
  }
4182
 
4183
- module.exports = {
4184
- set: set,
4185
- clear: clear
4186
- };
4187
 
 
4188
 
4189
- /***/ }),
4190
- /* 158 */
4191
- /***/ (function(module, exports, __webpack_require__) {
4192
 
4193
- var userAgent = __webpack_require__(87);
4194
 
4195
- module.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);
4196
 
4197
 
4198
- /***/ }),
4199
- /* 159 */
4200
- /***/ (function(module, exports, __webpack_require__) {
4201
 
4202
- "use strict";
4203
 
4204
- var aFunction = __webpack_require__(70);
4205
 
4206
- var PromiseCapability = function (C) {
4207
- var resolve, reject;
4208
- this.promise = new C(function ($$resolve, $$reject) {
4209
- if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
4210
- resolve = $$resolve;
4211
- reject = $$reject;
4212
- });
4213
- this.resolve = aFunction(resolve);
4214
- this.reject = aFunction(reject);
4215
- };
4216
 
4217
- // 25.4.1.5 NewPromiseCapability(C)
4218
- module.exports.f = function (C) {
4219
- return new PromiseCapability(C);
4220
- };
4221
 
4222
 
4223
- /***/ }),
4224
- /* 160 */
4225
- /***/ (function(module, exports, __webpack_require__) {
4226
 
4227
- var isObject = __webpack_require__(10);
4228
 
4229
- module.exports = function (it) {
4230
- if (!isObject(it) && it !== null) {
4231
- throw TypeError("Can't set " + String(it) + ' as a prototype');
4232
- } return it;
4233
- };
4234
 
 
 
 
4235
 
4236
- /***/ }),
4237
- /* 161 */,
4238
- /* 162 */
4239
- /***/ (function(module, exports, __webpack_require__) {
4240
 
4241
- "use strict";
4242
 
4243
 
4244
- var stringify = __webpack_require__(227);
4245
- var parse = __webpack_require__(228);
4246
- var formats = __webpack_require__(169);
4247
 
4248
- module.exports = {
4249
- formats: formats,
4250
- parse: parse,
4251
- stringify: stringify
4252
- };
4253
-
4254
-
4255
- /***/ }),
4256
- /* 163 */
4257
- /***/ (function(module, exports) {
4258
-
4259
- (function() { module.exports = window["ReactDOM"]; }());
4260
-
4261
- /***/ }),
4262
- /* 164 */
4263
- /***/ (function(module, exports, __webpack_require__) {
4264
 
4265
- "use strict";
 
4266
 
4267
- var $ = __webpack_require__(12);
4268
- var IS_PURE = __webpack_require__(57);
4269
- var global = __webpack_require__(3);
4270
- var getBuiltIn = __webpack_require__(31);
4271
- var NativePromise = __webpack_require__(193);
4272
- var redefine = __webpack_require__(27);
4273
- var redefineAll = __webpack_require__(152);
4274
- var setToStringTag = __webpack_require__(90);
4275
- var setSpecies = __webpack_require__(153);
4276
- var isObject = __webpack_require__(10);
4277
- var aFunction = __webpack_require__(70);
4278
- var anInstance = __webpack_require__(136);
4279
- var inspectSource = __webpack_require__(68);
4280
- var iterate = __webpack_require__(154);
4281
- var checkCorrectnessOfIteration = __webpack_require__(165);
4282
- var speciesConstructor = __webpack_require__(150);
4283
- var task = __webpack_require__(157).set;
4284
- var microtask = __webpack_require__(194);
4285
- var promiseResolve = __webpack_require__(196);
4286
- var hostReportErrors = __webpack_require__(197);
4287
- var newPromiseCapabilityModule = __webpack_require__(159);
4288
- var perform = __webpack_require__(198);
4289
- var InternalStateModule = __webpack_require__(45);
4290
- var isForced = __webpack_require__(74);
4291
- var wellKnownSymbol = __webpack_require__(8);
4292
- var IS_NODE = __webpack_require__(77);
4293
- var V8_VERSION = __webpack_require__(63);
4294
-
4295
- var SPECIES = wellKnownSymbol('species');
4296
- var PROMISE = 'Promise';
4297
- var getInternalState = InternalStateModule.get;
4298
- var setInternalState = InternalStateModule.set;
4299
- var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
4300
- var PromiseConstructor = NativePromise;
4301
- var TypeError = global.TypeError;
4302
- var document = global.document;
4303
- var process = global.process;
4304
- var $fetch = getBuiltIn('fetch');
4305
- var newPromiseCapability = newPromiseCapabilityModule.f;
4306
- var newGenericPromiseCapability = newPromiseCapability;
4307
- var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);
4308
- var NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';
4309
- var UNHANDLED_REJECTION = 'unhandledrejection';
4310
- var REJECTION_HANDLED = 'rejectionhandled';
4311
- var PENDING = 0;
4312
- var FULFILLED = 1;
4313
- var REJECTED = 2;
4314
- var HANDLED = 1;
4315
- var UNHANDLED = 2;
4316
- var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
4317
-
4318
- var FORCED = isForced(PROMISE, function () {
4319
- var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);
4320
- if (!GLOBAL_CORE_JS_PROMISE) {
4321
- // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
4322
- // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
4323
- // We can't detect it synchronously, so just check versions
4324
- if (V8_VERSION === 66) return true;
4325
- // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test
4326
- if (!IS_NODE && !NATIVE_REJECTION_EVENT) return true;
4327
  }
4328
- // We need Promise#finally in the pure version for preventing prototype pollution
4329
- if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;
4330
- // We can't use @@species feature detection in V8 since it causes
4331
- // deoptimization and performance degradation
4332
- // https://github.com/zloirock/core-js/issues/679
4333
- if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;
4334
- // Detect correctness of subclassing with @@species support
4335
- var promise = PromiseConstructor.resolve(1);
4336
- var FakePromise = function (exec) {
4337
- exec(function () { /* empty */ }, function () { /* empty */ });
4338
- };
4339
- var constructor = promise.constructor = {};
4340
- constructor[SPECIES] = FakePromise;
4341
- return !(promise.then(function () { /* empty */ }) instanceof FakePromise);
4342
- });
4343
-
4344
- var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
4345
- PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });
4346
- });
4347
-
4348
- // helpers
4349
- var isThenable = function (it) {
4350
- var then;
4351
- return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
4352
- };
4353
-
4354
- var notify = function (state, isReject) {
4355
- if (state.notified) return;
4356
- state.notified = true;
4357
- var chain = state.reactions;
4358
- microtask(function () {
4359
- var value = state.value;
4360
- var ok = state.state == FULFILLED;
4361
- var index = 0;
4362
- // variable length - can't use forEach
4363
- while (chain.length > index) {
4364
- var reaction = chain[index++];
4365
- var handler = ok ? reaction.ok : reaction.fail;
4366
- var resolve = reaction.resolve;
4367
- var reject = reaction.reject;
4368
- var domain = reaction.domain;
4369
- var result, then, exited;
4370
- try {
4371
- if (handler) {
4372
- if (!ok) {
4373
- if (state.rejection === UNHANDLED) onHandleUnhandled(state);
4374
- state.rejection = HANDLED;
4375
- }
4376
- if (handler === true) result = value;
4377
- else {
4378
- if (domain) domain.enter();
4379
- result = handler(value); // can throw
4380
- if (domain) {
4381
- domain.exit();
4382
- exited = true;
4383
- }
4384
- }
4385
- if (result === reaction.promise) {
4386
- reject(TypeError('Promise-chain cycle'));
4387
- } else if (then = isThenable(result)) {
4388
- then.call(result, resolve, reject);
4389
- } else resolve(result);
4390
- } else reject(value);
4391
- } catch (error) {
4392
- if (domain && !exited) domain.exit();
4393
- reject(error);
4394
- }
4395
- }
4396
- state.reactions = [];
4397
- state.notified = false;
4398
- if (isReject && !state.rejection) onUnhandled(state);
4399
- });
4400
- };
4401
-
4402
- var dispatchEvent = function (name, promise, reason) {
4403
- var event, handler;
4404
- if (DISPATCH_EVENT) {
4405
- event = document.createEvent('Event');
4406
- event.promise = promise;
4407
- event.reason = reason;
4408
- event.initEvent(name, false, true);
4409
- global.dispatchEvent(event);
4410
- } else event = { promise: promise, reason: reason };
4411
- if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);
4412
- else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);
4413
- };
4414
 
4415
- var onUnhandled = function (state) {
4416
- task.call(global, function () {
4417
- var promise = state.facade;
4418
- var value = state.value;
4419
- var IS_UNHANDLED = isUnhandled(state);
4420
- var result;
4421
- if (IS_UNHANDLED) {
4422
- result = perform(function () {
4423
- if (IS_NODE) {
4424
- process.emit('unhandledRejection', value, promise);
4425
- } else dispatchEvent(UNHANDLED_REJECTION, promise, value);
 
 
 
4426
  });
4427
- // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
4428
- state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
4429
- if (result.error) throw result.value;
4430
  }
4431
- });
4432
- };
4433
-
4434
- var isUnhandled = function (state) {
4435
- return state.rejection !== HANDLED && !state.parent;
4436
- };
4437
-
4438
- var onHandleUnhandled = function (state) {
4439
- task.call(global, function () {
4440
- var promise = state.facade;
4441
- if (IS_NODE) {
4442
- process.emit('rejectionHandled', promise);
4443
- } else dispatchEvent(REJECTION_HANDLED, promise, state.value);
4444
- });
4445
- };
4446
 
4447
- var bind = function (fn, state, unwrap) {
4448
- return function (value) {
4449
- fn(state, value, unwrap);
4450
- };
4451
- };
4452
 
4453
- var internalReject = function (state, value, unwrap) {
4454
- if (state.done) return;
4455
- state.done = true;
4456
- if (unwrap) state = unwrap;
4457
- state.value = value;
4458
- state.state = REJECTED;
4459
- notify(state, true);
4460
- };
4461
 
4462
- var internalResolve = function (state, value, unwrap) {
4463
- if (state.done) return;
4464
- state.done = true;
4465
- if (unwrap) state = unwrap;
4466
- try {
4467
- if (state.facade === value) throw TypeError("Promise can't be resolved itself");
4468
- var then = isThenable(value);
4469
- if (then) {
4470
- microtask(function () {
4471
- var wrapper = { done: false };
4472
- try {
4473
- then.call(value,
4474
- bind(internalResolve, wrapper, state),
4475
- bind(internalReject, wrapper, state)
4476
- );
4477
- } catch (error) {
4478
- internalReject(wrapper, error, state);
4479
- }
4480
- });
4481
- } else {
4482
- state.value = value;
4483
- state.state = FULFILLED;
4484
- notify(state, false);
4485
- }
4486
- } catch (error) {
4487
- internalReject({ done: false }, error, state);
4488
- }
4489
  };
4490
-
4491
- // constructor polyfill
4492
- if (FORCED) {
4493
- // 25.4.3.1 Promise(executor)
4494
- PromiseConstructor = function Promise(executor) {
4495
- anInstance(this, PromiseConstructor, PROMISE);
4496
- aFunction(executor);
4497
- Internal.call(this);
4498
- var state = getInternalState(this);
4499
- try {
4500
- executor(bind(internalResolve, state), bind(internalReject, state));
4501
- } catch (error) {
4502
- internalReject(state, error);
4503
- }
4504
- };
4505
- // eslint-disable-next-line no-unused-vars -- required for `.length`
4506
- Internal = function Promise(executor) {
4507
- setInternalState(this, {
4508
- type: PROMISE,
4509
- done: false,
4510
- notified: false,
4511
- parent: false,
4512
- reactions: [],
4513
- rejection: false,
4514
- state: PENDING,
4515
- value: undefined
4516
- });
4517
- };
4518
- Internal.prototype = redefineAll(PromiseConstructor.prototype, {
4519
- // `Promise.prototype.then` method
4520
- // https://tc39.es/ecma262/#sec-promise.prototype.then
4521
- then: function then(onFulfilled, onRejected) {
4522
- var state = getInternalPromiseState(this);
4523
- var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
4524
- reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
4525
- reaction.fail = typeof onRejected == 'function' && onRejected;
4526
- reaction.domain = IS_NODE ? process.domain : undefined;
4527
- state.parent = true;
4528
- state.reactions.push(reaction);
4529
- if (state.state != PENDING) notify(state, false);
4530
- return reaction.promise;
4531
- },
4532
- // `Promise.prototype.catch` method
4533
- // https://tc39.es/ecma262/#sec-promise.prototype.catch
4534
- 'catch': function (onRejected) {
4535
- return this.then(undefined, onRejected);
4536
- }
4537
- });
4538
- OwnPromiseCapability = function () {
4539
- var promise = new Internal();
4540
- var state = getInternalState(promise);
4541
- this.promise = promise;
4542
- this.resolve = bind(internalResolve, state);
4543
- this.reject = bind(internalReject, state);
4544
  };
4545
- newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
4546
- return C === PromiseConstructor || C === PromiseWrapper
4547
- ? new OwnPromiseCapability(C)
4548
- : newGenericPromiseCapability(C);
 
 
4549
  };
 
 
 
4550
 
4551
- if (!IS_PURE && typeof NativePromise == 'function') {
4552
- nativeThen = NativePromise.prototype.then;
4553
-
4554
- // wrap native Promise#then for native async functions
4555
- redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {
4556
- var that = this;
4557
- return new PromiseConstructor(function (resolve, reject) {
4558
- nativeThen.call(that, resolve, reject);
4559
- }).then(onFulfilled, onRejected);
4560
- // https://github.com/zloirock/core-js/issues/640
4561
- }, { unsafe: true });
4562
-
4563
- // wrap fetch result
4564
- if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {
4565
- // eslint-disable-next-line no-unused-vars -- required for `.length`
4566
- fetch: function fetch(input /* , init */) {
4567
- return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));
4568
- }
4569
- });
4570
- }
4571
- }
4572
 
4573
- $({ global: true, wrap: true, forced: FORCED }, {
4574
- Promise: PromiseConstructor
4575
- });
4576
 
4577
- setToStringTag(PromiseConstructor, PROMISE, false, true);
4578
- setSpecies(PROMISE);
4579
 
4580
- PromiseWrapper = getBuiltIn(PROMISE);
4581
 
4582
- // statics
4583
- $({ target: PROMISE, stat: true, forced: FORCED }, {
4584
- // `Promise.reject` method
4585
- // https://tc39.es/ecma262/#sec-promise.reject
4586
- reject: function reject(r) {
4587
- var capability = newPromiseCapability(this);
4588
- capability.reject.call(undefined, r);
4589
- return capability.promise;
4590
- }
4591
- });
4592
 
4593
- $({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {
4594
- // `Promise.resolve` method
4595
- // https://tc39.es/ecma262/#sec-promise.resolve
4596
- resolve: function resolve(x) {
4597
- return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);
4598
- }
4599
- });
4600
 
4601
- $({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
4602
- // `Promise.all` method
4603
- // https://tc39.es/ecma262/#sec-promise.all
4604
- all: function all(iterable) {
4605
- var C = this;
4606
- var capability = newPromiseCapability(C);
4607
- var resolve = capability.resolve;
4608
- var reject = capability.reject;
4609
- var result = perform(function () {
4610
- var $promiseResolve = aFunction(C.resolve);
4611
- var values = [];
4612
- var counter = 0;
4613
- var remaining = 1;
4614
- iterate(iterable, function (promise) {
4615
- var index = counter++;
4616
- var alreadyCalled = false;
4617
- values.push(undefined);
4618
- remaining++;
4619
- $promiseResolve.call(C, promise).then(function (value) {
4620
- if (alreadyCalled) return;
4621
- alreadyCalled = true;
4622
- values[index] = value;
4623
- --remaining || resolve(values);
4624
- }, reject);
4625
- });
4626
- --remaining || resolve(values);
4627
- });
4628
- if (result.error) reject(result.value);
4629
- return capability.promise;
4630
- },
4631
- // `Promise.race` method
4632
- // https://tc39.es/ecma262/#sec-promise.race
4633
- race: function race(iterable) {
4634
- var C = this;
4635
- var capability = newPromiseCapability(C);
4636
- var reject = capability.reject;
4637
- var result = perform(function () {
4638
- var $promiseResolve = aFunction(C.resolve);
4639
- iterate(iterable, function (promise) {
4640
- $promiseResolve.call(C, promise).then(capability.resolve, reject);
4641
- });
4642
- });
4643
- if (result.error) reject(result.value);
4644
- return capability.promise;
4645
- }
4646
- });
4647
 
 
 
 
4648
 
4649
- /***/ }),
4650
- /* 165 */
4651
- /***/ (function(module, exports, __webpack_require__) {
4652
 
4653
- var wellKnownSymbol = __webpack_require__(8);
4654
 
4655
- var ITERATOR = wellKnownSymbol('iterator');
4656
- var SAFE_CLOSING = false;
4657
 
4658
- try {
4659
- var called = 0;
4660
- var iteratorWithReturn = {
4661
- next: function () {
4662
- return { done: !!called++ };
4663
- },
4664
- 'return': function () {
4665
- SAFE_CLOSING = true;
4666
- }
4667
- };
4668
- iteratorWithReturn[ITERATOR] = function () {
4669
- return this;
4670
- };
4671
- // eslint-disable-next-line no-throw-literal -- required for testing
4672
- Array.from(iteratorWithReturn, function () { throw 2; });
4673
- } catch (error) { /* empty */ }
4674
 
4675
- module.exports = function (exec, SKIP_CLOSING) {
4676
- if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
4677
- var ITERATION_SUPPORT = false;
4678
- try {
4679
- var object = {};
4680
- object[ITERATOR] = function () {
4681
- return {
4682
- next: function () {
4683
- return { done: ITERATION_SUPPORT = true };
4684
- }
4685
- };
4686
- };
4687
- exec(object);
4688
- } catch (error) { /* empty */ }
4689
- return ITERATION_SUPPORT;
4690
- };
4691
 
4692
 
4693
- /***/ }),
4694
- /* 166 */
4695
- /***/ (function(module, exports, __webpack_require__) {
4696
 
4697
- "use strict";
4698
 
4699
- var $ = __webpack_require__(12);
4700
- var createIteratorConstructor = __webpack_require__(199);
4701
- var getPrototypeOf = __webpack_require__(174);
4702
- var setPrototypeOf = __webpack_require__(143);
4703
- var setToStringTag = __webpack_require__(90);
4704
- var createNonEnumerableProperty = __webpack_require__(19);
4705
- var redefine = __webpack_require__(27);
4706
- var wellKnownSymbol = __webpack_require__(8);
4707
- var IS_PURE = __webpack_require__(57);
4708
- var Iterators = __webpack_require__(110);
4709
- var IteratorsCore = __webpack_require__(173);
4710
-
4711
- var IteratorPrototype = IteratorsCore.IteratorPrototype;
4712
- var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
4713
- var ITERATOR = wellKnownSymbol('iterator');
4714
- var KEYS = 'keys';
4715
- var VALUES = 'values';
4716
- var ENTRIES = 'entries';
4717
-
4718
- var returnThis = function () { return this; };
4719
-
4720
- module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
4721
- createIteratorConstructor(IteratorConstructor, NAME, next);
4722
-
4723
- var getIterationMethod = function (KIND) {
4724
- if (KIND === DEFAULT && defaultIterator) return defaultIterator;
4725
- if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];
4726
- switch (KIND) {
4727
- case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
4728
- case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
4729
- case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
4730
- } return function () { return new IteratorConstructor(this); };
4731
- };
4732
 
4733
- var TO_STRING_TAG = NAME + ' Iterator';
4734
- var INCORRECT_VALUES_NAME = false;
4735
- var IterablePrototype = Iterable.prototype;
4736
- var nativeIterator = IterablePrototype[ITERATOR]
4737
- || IterablePrototype['@@iterator']
4738
- || DEFAULT && IterablePrototype[DEFAULT];
4739
- var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
4740
- var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
4741
- var CurrentIteratorPrototype, methods, KEY;
4742
-
4743
- // fix native
4744
- if (anyNativeIterator) {
4745
- CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
4746
- if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
4747
- if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
4748
- if (setPrototypeOf) {
4749
- setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
4750
- } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {
4751
- createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);
4752
- }
4753
- }
4754
- // Set @@toStringTag to native iterators
4755
- setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
4756
- if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;
4757
- }
4758
- }
4759
 
4760
- // fix Array#{values, @@iterator}.name in V8 / FF
4761
- if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
4762
- INCORRECT_VALUES_NAME = true;
4763
- defaultIterator = function values() { return nativeIterator.call(this); };
4764
- }
4765
 
4766
- // define iterator
4767
- if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
4768
- createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);
4769
- }
4770
- Iterators[NAME] = defaultIterator;
4771
-
4772
- // export additional methods
4773
- if (DEFAULT) {
4774
- methods = {
4775
- values: getIterationMethod(VALUES),
4776
- keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
4777
- entries: getIterationMethod(ENTRIES)
4778
- };
4779
- if (FORCED) for (KEY in methods) {
4780
- if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
4781
- redefine(IterablePrototype, KEY, methods[KEY]);
4782
- }
4783
- } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
4784
- }
4785
 
4786
- return methods;
4787
- };
4788
 
 
 
 
 
 
 
4789
 
4790
- /***/ }),
4791
- /* 167 */,
4792
- /* 168 */
4793
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
4794
 
4795
- var toObject = __webpack_require__(38);
4796
-
4797
- var floor = Math.floor;
4798
- var replace = ''.replace;
4799
- var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
4800
- var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
4801
-
4802
- // https://tc39.es/ecma262/#sec-getsubstitution
4803
- module.exports = function (matched, str, position, captures, namedCaptures, replacement) {
4804
- var tailPos = position + matched.length;
4805
- var m = captures.length;
4806
- var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
4807
- if (namedCaptures !== undefined) {
4808
- namedCaptures = toObject(namedCaptures);
4809
- symbols = SUBSTITUTION_SYMBOLS;
4810
  }
4811
- return replace.call(replacement, symbols, function (match, ch) {
4812
- var capture;
4813
- switch (ch.charAt(0)) {
4814
- case '$': return '$';
4815
- case '&': return matched;
4816
- case '`': return str.slice(0, position);
4817
- case "'": return str.slice(tailPos);
4818
- case '<':
4819
- capture = namedCaptures[ch.slice(1, -1)];
4820
- break;
4821
- default: // \d\d?
4822
- var n = +ch;
4823
- if (n === 0) return match;
4824
- if (n > m) {
4825
- var f = floor(n / 10);
4826
- if (f === 0) return match;
4827
- if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
4828
- return match;
4829
- }
4830
- capture = captures[n - 1];
4831
  }
4832
- return capture === undefined ? '' : capture;
 
4833
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4834
  };
4835
 
 
 
 
 
4836
 
4837
- /***/ }),
4838
- /* 169 */
4839
- /***/ (function(module, exports, __webpack_require__) {
4840
 
4841
- "use strict";
4842
 
4843
 
4844
- var replace = String.prototype.replace;
4845
- var percentTwenties = /%20/g;
4846
 
4847
- var Format = {
4848
- RFC1738: 'RFC1738',
4849
- RFC3986: 'RFC3986'
4850
- };
4851
 
4852
- module.exports = {
4853
- 'default': Format.RFC3986,
4854
- formatters: {
4855
- RFC1738: function (value) {
4856
- return replace.call(value, percentTwenties, '+');
4857
- },
4858
- RFC3986: function (value) {
4859
- return String(value);
4860
- }
4861
- },
4862
- RFC1738: Format.RFC1738,
4863
- RFC3986: Format.RFC3986
4864
- };
4865
 
4866
 
4867
- /***/ }),
4868
- /* 170 */
4869
- /***/ (function(module, exports, __webpack_require__) {
4870
 
4871
- "use strict";
4872
 
4873
- var fixRegExpWellKnownSymbolLogic = __webpack_require__(111);
4874
- var anObject = __webpack_require__(9);
4875
- var requireObjectCoercible = __webpack_require__(32);
4876
- var sameValue = __webpack_require__(214);
4877
- var regExpExec = __webpack_require__(112);
4878
-
4879
- // @@search logic
4880
- fixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {
4881
- return [
4882
- // `String.prototype.search` method
4883
- // https://tc39.es/ecma262/#sec-string.prototype.search
4884
- function search(regexp) {
4885
- var O = requireObjectCoercible(this);
4886
- var searcher = regexp == undefined ? undefined : regexp[SEARCH];
4887
- return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
4888
- },
4889
- // `RegExp.prototype[@@search]` method
4890
- // https://tc39.es/ecma262/#sec-regexp.prototype-@@search
4891
- function (regexp) {
4892
- var res = maybeCallNative(nativeSearch, regexp, this);
4893
- if (res.done) return res.value;
4894
-
4895
- var rx = anObject(regexp);
4896
- var S = String(this);
4897
-
4898
- var previousLastIndex = rx.lastIndex;
4899
- if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;
4900
- var result = regExpExec(rx, S);
4901
- if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;
4902
- return result === null ? -1 : result.index;
4903
- }
4904
- ];
4905
- });
4906
 
 
4907
 
4908
- /***/ }),
4909
- /* 171 */
4910
- /***/ (function(module, exports, __webpack_require__) {
4911
 
4912
- var wellKnownSymbol = __webpack_require__(8);
4913
- var Iterators = __webpack_require__(110);
4914
 
4915
- var ITERATOR = wellKnownSymbol('iterator');
4916
- var ArrayPrototype = Array.prototype;
 
4917
 
4918
- // check on default Array iterator
4919
- module.exports = function (it) {
4920
- return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
4921
- };
4922
 
4923
 
4924
- /***/ }),
4925
- /* 172 */
4926
- /***/ (function(module, exports, __webpack_require__) {
4927
 
4928
- var anObject = __webpack_require__(9);
4929
 
4930
- module.exports = function (iterator) {
4931
- var returnMethod = iterator['return'];
4932
- if (returnMethod !== undefined) {
4933
- return anObject(returnMethod.call(iterator)).value;
4934
- }
4935
- };
4936
 
4937
 
4938
- /***/ }),
4939
- /* 173 */
4940
- /***/ (function(module, exports, __webpack_require__) {
4941
 
4942
- "use strict";
4943
 
4944
- var fails = __webpack_require__(6);
4945
- var getPrototypeOf = __webpack_require__(174);
4946
- var createNonEnumerableProperty = __webpack_require__(19);
4947
- var has = __webpack_require__(11);
4948
- var wellKnownSymbol = __webpack_require__(8);
4949
- var IS_PURE = __webpack_require__(57);
4950
-
4951
- var ITERATOR = wellKnownSymbol('iterator');
4952
- var BUGGY_SAFARI_ITERATORS = false;
4953
-
4954
- var returnThis = function () { return this; };
4955
-
4956
- // `%IteratorPrototype%` object
4957
- // https://tc39.es/ecma262/#sec-%iteratorprototype%-object
4958
- var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
4959
-
4960
- if ([].keys) {
4961
- arrayIterator = [].keys();
4962
- // Safari 8 has buggy iterators w/o `next`
4963
- if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
4964
- else {
4965
- PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
4966
- if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
4967
- }
4968
- }
4969
 
4970
- var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {
4971
- var test = {};
4972
- // FF44- legacy iterators case
4973
- return IteratorPrototype[ITERATOR].call(test) !== test;
4974
- });
4975
 
4976
- if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};
4977
 
4978
- // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
4979
- if ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {
4980
- createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
4981
- }
4982
 
4983
- module.exports = {
4984
- IteratorPrototype: IteratorPrototype,
4985
- BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
4986
- };
4987
 
4988
 
4989
- /***/ }),
4990
- /* 174 */
4991
- /***/ (function(module, exports, __webpack_require__) {
4992
 
4993
- var has = __webpack_require__(11);
4994
- var toObject = __webpack_require__(38);
4995
- var sharedKey = __webpack_require__(52);
4996
- var CORRECT_PROTOTYPE_GETTER = __webpack_require__(213);
4997
-
4998
- var IE_PROTO = sharedKey('IE_PROTO');
4999
- var ObjectPrototype = Object.prototype;
5000
-
5001
- // `Object.getPrototypeOf` method
5002
- // https://tc39.es/ecma262/#sec-object.getprototypeof
5003
- module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
5004
- O = toObject(O);
5005
- if (has(O, IE_PROTO)) return O[IE_PROTO];
5006
- if (typeof O.constructor == 'function' && O instanceof O.constructor) {
5007
- return O.constructor.prototype;
5008
- } return O instanceof Object ? ObjectPrototype : null;
5009
- };
5010
 
5011
 
5012
- /***/ }),
5013
- /* 175 */,
5014
- /* 176 */
5015
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
5016
 
5017
- "use strict";
5018
- var isProduction = "production" === 'production';
5019
- var prefix = 'Invariant failed';
5020
- function invariant(condition, message) {
5021
- if (condition) {
5022
- return;
5023
- }
5024
- if (isProduction) {
5025
- throw new Error(prefix);
5026
- }
5027
- throw new Error(prefix + ": " + (message || ''));
5028
- }
5029
 
5030
- /* harmony default export */ __webpack_exports__["a"] = (invariant);
5031
 
 
 
5032
 
5033
- /***/ }),
5034
- /* 177 */
5035
- /***/ (function(module, exports, __webpack_require__) {
5036
 
5037
- "use strict";
5038
-
5039
- var fixRegExpWellKnownSymbolLogic = __webpack_require__(111);
5040
- var isRegExp = __webpack_require__(144);
5041
- var anObject = __webpack_require__(9);
5042
- var requireObjectCoercible = __webpack_require__(32);
5043
- var speciesConstructor = __webpack_require__(150);
5044
- var advanceStringIndex = __webpack_require__(122);
5045
- var toLength = __webpack_require__(34);
5046
- var callRegExpExec = __webpack_require__(112);
5047
- var regexpExec = __webpack_require__(91);
5048
- var fails = __webpack_require__(6);
5049
-
5050
- var arrayPush = [].push;
5051
- var min = Math.min;
5052
- var MAX_UINT32 = 0xFFFFFFFF;
5053
-
5054
- // babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
5055
- var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });
5056
-
5057
- // @@split logic
5058
- fixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
5059
- var internalSplit;
5060
- if (
5061
- 'abbc'.split(/(b)*/)[1] == 'c' ||
5062
- // eslint-disable-next-line regexp/no-empty-group -- required for testing
5063
- 'test'.split(/(?:)/, -1).length != 4 ||
5064
- 'ab'.split(/(?:ab)*/).length != 2 ||
5065
- '.'.split(/(.?)(.?)/).length != 4 ||
5066
- // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
5067
- '.'.split(/()()/).length > 1 ||
5068
- ''.split(/.?/).length
5069
- ) {
5070
- // based on es5-shim implementation, need to rework it
5071
- internalSplit = function (separator, limit) {
5072
- var string = String(requireObjectCoercible(this));
5073
- var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
5074
- if (lim === 0) return [];
5075
- if (separator === undefined) return [string];
5076
- // If `separator` is not a regex, use native split
5077
- if (!isRegExp(separator)) {
5078
- return nativeSplit.call(string, separator, lim);
5079
- }
5080
- var output = [];
5081
- var flags = (separator.ignoreCase ? 'i' : '') +
5082
- (separator.multiline ? 'm' : '') +
5083
- (separator.unicode ? 'u' : '') +
5084
- (separator.sticky ? 'y' : '');
5085
- var lastLastIndex = 0;
5086
- // Make `global` and avoid `lastIndex` issues by working with a copy
5087
- var separatorCopy = new RegExp(separator.source, flags + 'g');
5088
- var match, lastIndex, lastLength;
5089
- while (match = regexpExec.call(separatorCopy, string)) {
5090
- lastIndex = separatorCopy.lastIndex;
5091
- if (lastIndex > lastLastIndex) {
5092
- output.push(string.slice(lastLastIndex, match.index));
5093
- if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
5094
- lastLength = match[0].length;
5095
- lastLastIndex = lastIndex;
5096
- if (output.length >= lim) break;
5097
- }
5098
- if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
5099
- }
5100
- if (lastLastIndex === string.length) {
5101
- if (lastLength || !separatorCopy.test('')) output.push('');
5102
- } else output.push(string.slice(lastLastIndex));
5103
- return output.length > lim ? output.slice(0, lim) : output;
5104
- };
5105
- // Chakra, V8
5106
- } else if ('0'.split(undefined, 0).length) {
5107
- internalSplit = function (separator, limit) {
5108
- return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
5109
- };
5110
- } else internalSplit = nativeSplit;
5111
-
5112
- return [
5113
- // `String.prototype.split` method
5114
- // https://tc39.es/ecma262/#sec-string.prototype.split
5115
- function split(separator, limit) {
5116
- var O = requireObjectCoercible(this);
5117
- var splitter = separator == undefined ? undefined : separator[SPLIT];
5118
- return splitter !== undefined
5119
- ? splitter.call(separator, O, limit)
5120
- : internalSplit.call(String(O), separator, limit);
5121
- },
5122
- // `RegExp.prototype[@@split]` method
5123
- // https://tc39.es/ecma262/#sec-regexp.prototype-@@split
5124
- //
5125
- // NOTE: This cannot be properly polyfilled in engines that don't support
5126
- // the 'y' flag.
5127
- function (regexp, limit) {
5128
- var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
5129
- if (res.done) return res.value;
5130
-
5131
- var rx = anObject(regexp);
5132
- var S = String(this);
5133
- var C = speciesConstructor(rx, RegExp);
5134
-
5135
- var unicodeMatching = rx.unicode;
5136
- var flags = (rx.ignoreCase ? 'i' : '') +
5137
- (rx.multiline ? 'm' : '') +
5138
- (rx.unicode ? 'u' : '') +
5139
- (SUPPORTS_Y ? 'y' : 'g');
5140
-
5141
- // ^(? + rx + ) is needed, in combination with some S slicing, to
5142
- // simulate the 'y' flag.
5143
- var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
5144
- var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
5145
- if (lim === 0) return [];
5146
- if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];
5147
- var p = 0;
5148
- var q = 0;
5149
- var A = [];
5150
- while (q < S.length) {
5151
- splitter.lastIndex = SUPPORTS_Y ? q : 0;
5152
- var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));
5153
- var e;
5154
- if (
5155
- z === null ||
5156
- (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
5157
- ) {
5158
- q = advanceStringIndex(S, q, unicodeMatching);
5159
- } else {
5160
- A.push(S.slice(p, q));
5161
- if (A.length === lim) return A;
5162
- for (var i = 1; i <= z.length - 1; i++) {
5163
- A.push(z[i]);
5164
- if (A.length === lim) return A;
5165
- }
5166
- q = p = e;
5167
- }
5168
- }
5169
- A.push(S.slice(p));
5170
- return A;
5171
- }
5172
- ];
5173
- }, !SUPPORTS_Y);
5174
 
 
 
5175
 
5176
- /***/ }),
5177
- /* 178 */
5178
- /***/ (function(module, exports, __webpack_require__) {
5179
 
5180
- "use strict";
5181
 
5182
- var DESCRIPTORS = __webpack_require__(13);
5183
- var global = __webpack_require__(3);
5184
- var isForced = __webpack_require__(74);
5185
- var redefine = __webpack_require__(27);
5186
- var has = __webpack_require__(11);
5187
- var classof = __webpack_require__(30);
5188
- var inheritIfRequired = __webpack_require__(156);
5189
- var toPrimitive = __webpack_require__(40);
5190
- var fails = __webpack_require__(6);
5191
- var create = __webpack_require__(69);
5192
- var getOwnPropertyNames = __webpack_require__(56).f;
5193
- var getOwnPropertyDescriptor = __webpack_require__(33).f;
5194
- var defineProperty = __webpack_require__(17).f;
5195
- var trim = __webpack_require__(188).trim;
5196
-
5197
- var NUMBER = 'Number';
5198
- var NativeNumber = global[NUMBER];
5199
- var NumberPrototype = NativeNumber.prototype;
5200
-
5201
- // Opera ~12 has broken Object#toString
5202
- var BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;
5203
-
5204
- // `ToNumber` abstract operation
5205
- // https://tc39.es/ecma262/#sec-tonumber
5206
- var toNumber = function (argument) {
5207
- var it = toPrimitive(argument, false);
5208
- var first, third, radix, maxCode, digits, length, index, code;
5209
- if (typeof it == 'string' && it.length > 2) {
5210
- it = trim(it);
5211
- first = it.charCodeAt(0);
5212
- if (first === 43 || first === 45) {
5213
- third = it.charCodeAt(2);
5214
- if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
5215
- } else if (first === 48) {
5216
- switch (it.charCodeAt(1)) {
5217
- case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i
5218
- case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i
5219
- default: return +it;
5220
- }
5221
- digits = it.slice(2);
5222
- length = digits.length;
5223
- for (index = 0; index < length; index++) {
5224
- code = digits.charCodeAt(index);
5225
- // parseInt parses a string to a first unavailable symbol
5226
- // but ToNumber should return NaN if a string contains unavailable symbols
5227
- if (code < 48 || code > maxCode) return NaN;
5228
- } return parseInt(digits, radix);
5229
- }
5230
- } return +it;
5231
- };
5232
 
5233
- // `Number` constructor
5234
- // https://tc39.es/ecma262/#sec-number-constructor
5235
- if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {
5236
- var NumberWrapper = function Number(value) {
5237
- var it = arguments.length < 1 ? 0 : value;
5238
- var dummy = this;
5239
- return dummy instanceof NumberWrapper
5240
- // check on 1..constructor(foo) case
5241
- && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)
5242
- ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);
5243
- };
5244
- for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (
5245
- // ES3:
5246
- 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
5247
- // ES2015 (in case, if modules with ES2015 Number statics required before):
5248
- 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
5249
- 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +
5250
- // ESNext
5251
- 'fromString,range'
5252
- ).split(','), j = 0, key; keys.length > j; j++) {
5253
- if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {
5254
- defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));
5255
- }
5256
  }
5257
- NumberWrapper.prototype = NumberPrototype;
5258
- NumberPrototype.constructor = NumberWrapper;
5259
- redefine(global, NUMBER, NumberWrapper);
5260
- }
5261
 
 
 
 
 
 
 
 
 
 
 
5262
 
5263
- /***/ }),
5264
- /* 179 */
5265
- /***/ (function(module, exports, __webpack_require__) {
5266
-
5267
- var arrayLikeToArray = __webpack_require__(124);
5268
 
5269
- function _arrayWithoutHoles(arr) {
5270
- if (Array.isArray(arr)) return arrayLikeToArray(arr);
5271
- }
 
 
 
 
 
 
 
 
 
 
 
 
5272
 
5273
- module.exports = _arrayWithoutHoles;
 
5274
 
5275
- /***/ }),
5276
- /* 180 */
5277
- /***/ (function(module, exports) {
 
 
5278
 
5279
- function _iterableToArray(iter) {
5280
- if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
5281
- }
5282
 
5283
- module.exports = _iterableToArray;
 
 
5284
 
5285
- /***/ }),
5286
- /* 181 */
5287
- /***/ (function(module, exports) {
5288
 
5289
- function _nonIterableSpread() {
5290
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5291
- }
5292
 
5293
- module.exports = _nonIterableSpread;
 
 
5294
 
5295
- /***/ }),
5296
- /* 182 */
5297
- /***/ (function(module, exports) {
 
 
 
 
 
 
 
 
 
5298
 
5299
- function _arrayWithHoles(arr) {
5300
- if (Array.isArray(arr)) return arr;
5301
- }
 
 
 
 
 
 
 
5302
 
5303
- module.exports = _arrayWithHoles;
 
 
 
 
 
 
 
5304
 
5305
- /***/ }),
5306
- /* 183 */
5307
- /***/ (function(module, exports) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5308
 
5309
- function _iterableToArrayLimit(arr, i) {
5310
- if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
5311
- var _arr = [];
5312
- var _n = true;
5313
- var _d = false;
5314
- var _e = undefined;
5315
 
5316
- try {
5317
- for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
5318
- _arr.push(_s.value);
 
 
 
 
 
 
 
 
 
 
 
5319
 
5320
- if (i && _arr.length === i) break;
5321
- }
5322
- } catch (err) {
5323
- _d = true;
5324
- _e = err;
5325
- } finally {
5326
- try {
5327
- if (!_n && _i["return"] != null) _i["return"]();
5328
- } finally {
5329
- if (_d) throw _e;
5330
- }
5331
  }
5332
 
5333
- return _arr;
5334
- }
5335
-
5336
- module.exports = _iterableToArrayLimit;
5337
 
5338
- /***/ }),
5339
- /* 184 */
5340
- /***/ (function(module, exports) {
 
 
 
5341
 
5342
- function _nonIterableRest() {
5343
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5344
- }
5345
 
5346
- module.exports = _nonIterableRest;
5347
 
5348
- /***/ }),
5349
- /* 185 */,
5350
- /* 186 */,
5351
- /* 187 */
5352
- /***/ (function(module, exports, __webpack_require__) {
5353
 
5354
- "use strict";
 
5355
 
5356
- var $ = __webpack_require__(12);
5357
- var isObject = __webpack_require__(10);
5358
- var isArray = __webpack_require__(84);
5359
- var toAbsoluteIndex = __webpack_require__(97);
5360
- var toLength = __webpack_require__(34);
5361
- var toIndexedObject = __webpack_require__(21);
5362
- var createProperty = __webpack_require__(102);
5363
- var wellKnownSymbol = __webpack_require__(8);
5364
- var arrayMethodHasSpeciesSupport = __webpack_require__(89);
5365
-
5366
- var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');
5367
-
5368
- var SPECIES = wellKnownSymbol('species');
5369
- var nativeSlice = [].slice;
5370
- var max = Math.max;
5371
-
5372
- // `Array.prototype.slice` method
5373
- // https://tc39.es/ecma262/#sec-array.prototype.slice
5374
- // fallback for not array-like ES3 strings and DOM objects
5375
- $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
5376
- slice: function slice(start, end) {
5377
- var O = toIndexedObject(this);
5378
- var length = toLength(O.length);
5379
- var k = toAbsoluteIndex(start, length);
5380
- var fin = toAbsoluteIndex(end === undefined ? length : end, length);
5381
- // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
5382
- var Constructor, result, n;
5383
- if (isArray(O)) {
5384
- Constructor = O.constructor;
5385
- // cross-realm fallback
5386
- if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
5387
- Constructor = undefined;
5388
- } else if (isObject(Constructor)) {
5389
- Constructor = Constructor[SPECIES];
5390
- if (Constructor === null) Constructor = undefined;
5391
- }
5392
- if (Constructor === Array || Constructor === undefined) {
5393
- return nativeSlice.call(O, k, fin);
5394
- }
5395
  }
5396
- result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));
5397
- for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
5398
- result.length = n;
5399
- return result;
5400
- }
5401
- });
5402
 
 
 
5403
 
5404
- /***/ }),
5405
- /* 188 */
5406
- /***/ (function(module, exports, __webpack_require__) {
5407
 
5408
- var requireObjectCoercible = __webpack_require__(32);
5409
- var whitespaces = __webpack_require__(189);
 
 
 
 
 
 
5410
 
5411
- var whitespace = '[' + whitespaces + ']';
5412
- var ltrim = RegExp('^' + whitespace + whitespace + '*');
5413
- var rtrim = RegExp(whitespace + whitespace + '*$');
5414
 
5415
- // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
5416
- var createMethod = function (TYPE) {
5417
- return function ($this) {
5418
- var string = String(requireObjectCoercible($this));
5419
- if (TYPE & 1) string = string.replace(ltrim, '');
5420
- if (TYPE & 2) string = string.replace(rtrim, '');
5421
- return string;
5422
- };
5423
- };
5424
 
5425
- module.exports = {
5426
- // `String.prototype.{ trimLeft, trimStart }` methods
5427
- // https://tc39.es/ecma262/#sec-string.prototype.trimstart
5428
- start: createMethod(1),
5429
- // `String.prototype.{ trimRight, trimEnd }` methods
5430
- // https://tc39.es/ecma262/#sec-string.prototype.trimend
5431
- end: createMethod(2),
5432
- // `String.prototype.trim` method
5433
- // https://tc39.es/ecma262/#sec-string.prototype.trim
5434
- trim: createMethod(3)
5435
- };
5436
 
 
5437
 
5438
  /***/ }),
5439
- /* 189 */
5440
- /***/ (function(module, exports) {
5441
 
5442
- // a string of all valid unicode whitespaces
5443
- module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
5444
- '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
5445
 
 
5446
 
5447
  /***/ }),
5448
- /* 190 */,
5449
- /* 191 */,
5450
- /* 192 */
5451
  /***/ (function(module, exports, __webpack_require__) {
5452
 
5453
  "use strict";
 
 
 
 
 
 
 
 
5454
 
5455
- var $ = __webpack_require__(12);
5456
- var $find = __webpack_require__(75).find;
5457
- var addToUnscopables = __webpack_require__(118);
5458
-
5459
- var FIND = 'find';
5460
- var SKIPS_HOLES = true;
5461
 
5462
- // Shouldn't skip holes
5463
- if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
5464
 
5465
- // `Array.prototype.find` method
5466
- // https://tc39.es/ecma262/#sec-array.prototype.find
5467
- $({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
5468
- find: function find(callbackfn /* , that = undefined */) {
5469
- return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
5470
- }
5471
- });
5472
 
5473
- // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
5474
- addToUnscopables(FIND);
5475
 
 
5476
 
5477
  /***/ }),
5478
- /* 193 */
5479
- /***/ (function(module, exports, __webpack_require__) {
5480
 
5481
- var global = __webpack_require__(3);
 
 
 
5482
 
5483
- module.exports = global.Promise;
 
 
 
5484
 
 
5485
 
5486
  /***/ }),
5487
- /* 194 */
 
5488
  /***/ (function(module, exports, __webpack_require__) {
5489
 
5490
- var global = __webpack_require__(3);
5491
- var getOwnPropertyDescriptor = __webpack_require__(33).f;
5492
- var macrotask = __webpack_require__(157).set;
5493
- var IS_IOS = __webpack_require__(158);
5494
- var IS_WEBOS_WEBKIT = __webpack_require__(195);
5495
- var IS_NODE = __webpack_require__(77);
5496
-
5497
- var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
5498
- var document = global.document;
5499
- var process = global.process;
5500
- var Promise = global.Promise;
5501
- // Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`
5502
- var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
5503
- var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
5504
-
5505
- var flush, head, last, notify, toggle, node, promise, then;
5506
-
5507
- // modern engines have queueMicrotask method
5508
- if (!queueMicrotask) {
5509
- flush = function () {
5510
- var parent, fn;
5511
- if (IS_NODE && (parent = process.domain)) parent.exit();
5512
- while (head) {
5513
- fn = head.fn;
5514
- head = head.next;
5515
- try {
5516
- fn();
5517
- } catch (error) {
5518
- if (head) notify();
5519
- else last = undefined;
5520
- throw error;
5521
- }
5522
- } last = undefined;
5523
- if (parent) parent.enter();
5524
- };
5525
 
5526
- // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339
5527
- // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898
5528
- if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {
5529
- toggle = true;
5530
- node = document.createTextNode('');
5531
- new MutationObserver(flush).observe(node, { characterData: true });
5532
- notify = function () {
5533
- node.data = toggle = !toggle;
5534
- };
5535
- // environments with maybe non-completely correct, but existent Promise
5536
- } else if (Promise && Promise.resolve) {
5537
- // Promise.resolve without an argument throws an error in LG WebOS 2
5538
- promise = Promise.resolve(undefined);
5539
- then = promise.then;
5540
- notify = function () {
5541
- then.call(promise, flush);
5542
- };
5543
- // Node.js without promises
5544
- } else if (IS_NODE) {
5545
- notify = function () {
5546
- process.nextTick(flush);
5547
- };
5548
- // for other environments - macrotask based on:
5549
- // - setImmediate
5550
- // - MessageChannel
5551
- // - window.postMessag
5552
- // - onreadystatechange
5553
- // - setTimeout
5554
- } else {
5555
- notify = function () {
5556
- // strange IE + webpack dev server bug - use .call(global)
5557
- macrotask.call(global, flush);
5558
- };
5559
- }
5560
- }
5561
-
5562
- module.exports = queueMicrotask || function (fn) {
5563
- var task = { fn: fn, next: undefined };
5564
- if (last) last.next = task;
5565
- if (!head) {
5566
- head = task;
5567
- notify();
5568
- } last = task;
5569
- };
5570
 
 
5571
 
5572
- /***/ }),
5573
- /* 195 */
5574
- /***/ (function(module, exports, __webpack_require__) {
5575
 
5576
- var userAgent = __webpack_require__(87);
 
 
 
 
 
5577
 
5578
- module.exports = /web0s(?!.*chrome)/i.test(userAgent);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5579
 
 
 
 
5580
 
5581
- /***/ }),
5582
- /* 196 */
5583
- /***/ (function(module, exports, __webpack_require__) {
5584
 
5585
- var anObject = __webpack_require__(9);
5586
- var isObject = __webpack_require__(10);
5587
- var newPromiseCapability = __webpack_require__(159);
5588
-
5589
- module.exports = function (C, x) {
5590
- anObject(C);
5591
- if (isObject(x) && x.constructor === C) return x;
5592
- var promiseCapability = newPromiseCapability.f(C);
5593
- var resolve = promiseCapability.resolve;
5594
- resolve(x);
5595
- return promiseCapability.promise;
5596
  };
 
 
 
 
5597
 
 
 
 
 
 
 
 
 
 
 
 
5598
 
5599
- /***/ }),
5600
- /* 197 */
5601
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5602
 
5603
- var global = __webpack_require__(3);
 
5604
 
5605
- module.exports = function (a, b) {
5606
- var console = global.console;
5607
- if (console && console.error) {
5608
- arguments.length === 1 ? console.error(a) : console.error(a, b);
5609
- }
5610
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
5611
 
 
 
5612
 
5613
- /***/ }),
5614
- /* 198 */
5615
- /***/ (function(module, exports) {
 
 
 
 
5616
 
5617
- module.exports = function (exec) {
5618
- try {
5619
- return { error: false, value: exec() };
5620
- } catch (error) {
5621
- return { error: true, value: error };
 
 
 
 
 
 
 
5622
  }
5623
- };
5624
 
 
 
5625
 
5626
- /***/ }),
5627
- /* 199 */
5628
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
5629
 
5630
- "use strict";
5631
 
5632
- var IteratorPrototype = __webpack_require__(173).IteratorPrototype;
5633
- var create = __webpack_require__(69);
5634
- var createPropertyDescriptor = __webpack_require__(39);
5635
- var setToStringTag = __webpack_require__(90);
5636
- var Iterators = __webpack_require__(110);
5637
 
5638
- var returnThis = function () { return this; };
 
 
5639
 
5640
- module.exports = function (IteratorConstructor, NAME, next) {
5641
- var TO_STRING_TAG = NAME + ' Iterator';
5642
- IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });
5643
- setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
5644
- Iterators[TO_STRING_TAG] = returnThis;
5645
- return IteratorConstructor;
5646
- };
5647
 
 
5648
 
5649
- /***/ }),
5650
- /* 200 */
5651
- /***/ (function(module, exports, __webpack_require__) {
5652
 
5653
- "use strict";
 
 
 
5654
 
 
 
 
 
 
5655
 
5656
- var formats = __webpack_require__(169);
 
 
 
 
 
5657
 
5658
- var has = Object.prototype.hasOwnProperty;
5659
- var isArray = Array.isArray;
5660
 
5661
- var hexTable = (function () {
5662
- var array = [];
5663
- for (var i = 0; i < 256; ++i) {
5664
- array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());
5665
  }
5666
 
5667
- return array;
5668
- }());
5669
 
5670
- var compactQueue = function compactQueue(queue) {
5671
- while (queue.length > 1) {
5672
- var item = queue.pop();
5673
- var obj = item.obj[item.prop];
 
5674
 
5675
- if (isArray(obj)) {
5676
- var compacted = [];
 
 
 
5677
 
5678
- for (var j = 0; j < obj.length; ++j) {
5679
- if (typeof obj[j] !== 'undefined') {
5680
- compacted.push(obj[j]);
5681
- }
5682
- }
5683
 
5684
- item.obj[item.prop] = compacted;
5685
- }
5686
- }
5687
- };
 
 
5688
 
5689
- var arrayToObject = function arrayToObject(source, options) {
5690
- var obj = options && options.plainObjects ? Object.create(null) : {};
5691
- for (var i = 0; i < source.length; ++i) {
5692
- if (typeof source[i] !== 'undefined') {
5693
- obj[i] = source[i];
5694
- }
5695
  }
5696
 
5697
- return obj;
5698
- };
5699
 
5700
- var merge = function merge(target, source, options) {
5701
- /* eslint no-param-reassign: 0 */
5702
- if (!source) {
5703
- return target;
5704
- }
5705
 
5706
- if (typeof source !== 'object') {
5707
- if (isArray(target)) {
5708
- target.push(source);
5709
- } else if (target && typeof target === 'object') {
5710
- if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {
5711
- target[source] = true;
5712
- }
5713
- } else {
5714
- return [target, source];
5715
- }
5716
 
5717
- return target;
5718
- }
5719
 
5720
- if (!target || typeof target !== 'object') {
5721
- return [target].concat(source);
5722
- }
5723
 
5724
- var mergeTarget = target;
5725
- if (isArray(target) && !isArray(source)) {
5726
- mergeTarget = arrayToObject(target, options);
5727
  }
5728
 
5729
- if (isArray(target) && isArray(source)) {
5730
- source.forEach(function (item, i) {
5731
- if (has.call(target, i)) {
5732
- var targetItem = target[i];
5733
- if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {
5734
- target[i] = merge(targetItem, item, options);
5735
- } else {
5736
- target.push(item);
5737
- }
5738
- } else {
5739
- target[i] = item;
5740
- }
5741
- });
5742
- return target;
5743
  }
5744
 
5745
- return Object.keys(source).reduce(function (acc, key) {
5746
- var value = source[key];
5747
 
5748
- if (has.call(acc, key)) {
5749
- acc[key] = merge(acc[key], value, options);
5750
- } else {
5751
- acc[key] = value;
5752
- }
5753
- return acc;
5754
- }, mergeTarget);
5755
- };
5756
 
5757
- var assign = function assignSingleSource(target, source) {
5758
- return Object.keys(source).reduce(function (acc, key) {
5759
- acc[key] = source[key];
5760
- return acc;
5761
- }, target);
5762
- };
5763
 
5764
- var decode = function (str, decoder, charset) {
5765
- var strWithoutPlus = str.replace(/\+/g, ' ');
5766
- if (charset === 'iso-8859-1') {
5767
- // unescape never throws, no try...catch needed:
5768
- return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
5769
- }
5770
- // utf-8
5771
- try {
5772
- return decodeURIComponent(strWithoutPlus);
5773
- } catch (e) {
5774
- return strWithoutPlus;
5775
- }
 
5776
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5777
 
5778
- var encode = function encode(str, defaultEncoder, charset, kind, format) {
5779
- // This code was originally written by Brian White (mscdex) for the io.js core querystring library.
5780
- // It has been adapted here for stricter adherence to RFC 3986
5781
- if (str.length === 0) {
5782
- return str;
5783
- }
5784
-
5785
- var string = str;
5786
- if (typeof str === 'symbol') {
5787
- string = Symbol.prototype.toString.call(str);
5788
- } else if (typeof str !== 'string') {
5789
- string = String(str);
5790
- }
 
 
 
 
 
 
 
 
5791
 
5792
- if (charset === 'iso-8859-1') {
5793
- return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {
5794
- return '%26%23' + parseInt($0.slice(2), 16) + '%3B';
5795
- });
5796
- }
5797
 
5798
- var out = '';
5799
- for (var i = 0; i < string.length; ++i) {
5800
- var c = string.charCodeAt(i);
 
5801
 
5802
- if (
5803
- c === 0x2D // -
5804
- || c === 0x2E // .
5805
- || c === 0x5F // _
5806
- || c === 0x7E // ~
5807
- || (c >= 0x30 && c <= 0x39) // 0-9
5808
- || (c >= 0x41 && c <= 0x5A) // a-z
5809
- || (c >= 0x61 && c <= 0x7A) // A-Z
5810
- || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )
5811
- ) {
5812
- out += string.charAt(i);
5813
- continue;
5814
- }
5815
 
5816
- if (c < 0x80) {
5817
- out = out + hexTable[c];
5818
- continue;
5819
- }
 
 
5820
 
5821
- if (c < 0x800) {
5822
- out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);
5823
- continue;
5824
- }
5825
 
5826
- if (c < 0xD800 || c >= 0xE000) {
5827
- out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);
5828
- continue;
5829
- }
5830
 
5831
- i += 1;
5832
- c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));
5833
- out += hexTable[0xF0 | (c >> 18)]
5834
- + hexTable[0x80 | ((c >> 12) & 0x3F)]
5835
- + hexTable[0x80 | ((c >> 6) & 0x3F)]
5836
- + hexTable[0x80 | (c & 0x3F)];
5837
- }
5838
 
5839
- return out;
 
5840
  };
5841
 
5842
- var compact = function compact(value) {
5843
- var queue = [{ obj: { o: value }, prop: 'o' }];
5844
- var refs = [];
 
 
 
 
 
5845
 
5846
- for (var i = 0; i < queue.length; ++i) {
5847
- var item = queue[i];
5848
- var obj = item.obj[item.prop];
5849
 
5850
- var keys = Object.keys(obj);
5851
- for (var j = 0; j < keys.length; ++j) {
5852
- var key = keys[j];
5853
- var val = obj[key];
5854
- if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {
5855
- queue.push({ obj: obj, prop: key });
5856
- refs.push(val);
5857
- }
5858
  }
5859
- }
5860
-
5861
- compactQueue(queue);
5862
 
5863
- return value;
5864
- };
5865
-
5866
- var isRegExp = function isRegExp(obj) {
5867
- return Object.prototype.toString.call(obj) === '[object RegExp]';
5868
- };
5869
 
5870
- var isBuffer = function isBuffer(obj) {
5871
- if (!obj || typeof obj !== 'object') {
5872
- return false;
5873
- }
 
 
 
 
 
 
 
 
 
5874
 
5875
- return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
5876
- };
 
 
 
5877
 
5878
- var combine = function combine(a, b) {
5879
- return [].concat(a, b);
5880
- };
5881
 
5882
- var maybeMap = function maybeMap(val, fn) {
5883
- if (isArray(val)) {
5884
- var mapped = [];
5885
- for (var i = 0; i < val.length; i += 1) {
5886
- mapped.push(fn(val[i]));
5887
- }
5888
- return mapped;
5889
- }
5890
- return fn(val);
5891
  };
5892
 
5893
- module.exports = {
5894
- arrayToObject: arrayToObject,
5895
- assign: assign,
5896
- combine: combine,
5897
- compact: compact,
5898
- decode: decode,
5899
- encode: encode,
5900
- isBuffer: isBuffer,
5901
- isRegExp: isRegExp,
5902
- maybeMap: maybeMap,
5903
- merge: merge
5904
- };
5905
 
 
 
 
5906
 
5907
- /***/ }),
5908
- /* 201 */,
5909
- /* 202 */
5910
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
5911
 
5912
- "use strict";
 
 
 
 
 
 
 
5913
 
5914
- // EXPORTS
5915
- __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ createBrowserHistory; });
5916
- __webpack_require__.d(__webpack_exports__, "c", function() { return /* binding */ createMemoryHistory; });
5917
- __webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ createLocation; });
5918
- __webpack_require__.d(__webpack_exports__, "e", function() { return /* binding */ locationsAreEqual; });
5919
- __webpack_require__.d(__webpack_exports__, "d", function() { return /* binding */ createPath; });
5920
 
5921
- // UNUSED EXPORTS: createHashHistory, parsePath
 
 
 
5922
 
5923
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
5924
- var esm_extends = __webpack_require__(117);
5925
 
5926
- // CONCATENATED MODULE: ./node_modules/resolve-pathname/esm/resolve-pathname.js
5927
- function isAbsolute(pathname) {
5928
- return pathname.charAt(0) === '/';
5929
- }
 
 
 
5930
 
5931
- // About 1.5x faster than the two-arg version of Array#splice()
5932
- function spliceOne(list, index) {
5933
- for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {
5934
- list[i] = list[k];
5935
- }
5936
 
5937
- list.pop();
5938
- }
5939
 
5940
- // This implementation is based heavily on node's url.parse
5941
- function resolvePathname(to, from) {
5942
- if (from === undefined) from = '';
 
 
5943
 
5944
- var toParts = (to && to.split('/')) || [];
5945
- var fromParts = (from && from.split('/')) || [];
 
 
 
 
 
 
 
 
 
 
 
5946
 
5947
- var isToAbs = to && isAbsolute(to);
5948
- var isFromAbs = from && isAbsolute(from);
5949
- var mustEndAbs = isToAbs || isFromAbs;
5950
 
5951
- if (to && isAbsolute(to)) {
5952
- // to is absolute
5953
- fromParts = toParts;
5954
- } else if (toParts.length) {
5955
- // to is relative, drop the filename
5956
- fromParts.pop();
5957
- fromParts = fromParts.concat(toParts);
5958
- }
5959
 
5960
- if (!fromParts.length) return '/';
 
 
 
 
 
 
5961
 
5962
- var hasTrailingSlash;
5963
- if (fromParts.length) {
5964
- var last = fromParts[fromParts.length - 1];
5965
- hasTrailingSlash = last === '.' || last === '..' || last === '';
5966
- } else {
5967
- hasTrailingSlash = false;
5968
- }
5969
 
5970
- var up = 0;
5971
- for (var i = fromParts.length; i >= 0; i--) {
5972
- var part = fromParts[i];
 
 
 
 
5973
 
5974
- if (part === '.') {
5975
- spliceOne(fromParts, i);
5976
- } else if (part === '..') {
5977
- spliceOne(fromParts, i);
5978
- up++;
5979
- } else if (up) {
5980
- spliceOne(fromParts, i);
5981
- up--;
5982
- }
5983
- }
5984
 
5985
- if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');
5986
 
5987
- if (
5988
- mustEndAbs &&
5989
- fromParts[0] !== '' &&
5990
- (!fromParts[0] || !isAbsolute(fromParts[0]))
5991
- )
5992
- fromParts.unshift('');
5993
 
5994
- var result = fromParts.join('/');
 
 
5995
 
5996
- if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';
5997
 
5998
- return result;
5999
- }
6000
 
6001
- /* harmony default export */ var resolve_pathname = (resolvePathname);
6002
 
6003
- // CONCATENATED MODULE: ./node_modules/value-equal/esm/value-equal.js
6004
- function value_equal_valueOf(obj) {
6005
- return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);
6006
- }
6007
 
6008
- function valueEqual(a, b) {
6009
- // Test for strict equality first.
6010
- if (a === b) return true;
 
 
6011
 
6012
- // Otherwise, if either of them == null they are not equal.
6013
- if (a == null || b == null) return false;
6014
 
6015
- if (Array.isArray(a)) {
6016
- return (
6017
- Array.isArray(b) &&
6018
- a.length === b.length &&
6019
- a.every(function(item, index) {
6020
- return valueEqual(item, b[index]);
6021
- })
6022
- );
6023
  }
6024
 
6025
- if (typeof a === 'object' || typeof b === 'object') {
6026
- var aValue = value_equal_valueOf(a);
6027
- var bValue = value_equal_valueOf(b);
6028
 
6029
- if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);
 
6030
 
6031
- return Object.keys(Object.assign({}, a, b)).every(function(key) {
6032
- return valueEqual(a[key], b[key]);
6033
- });
6034
  }
 
6035
 
6036
- return false;
6037
- }
6038
-
6039
- /* harmony default export */ var value_equal = (valueEqual);
6040
 
6041
- // EXTERNAL MODULE: ./node_modules/tiny-invariant/dist/tiny-invariant.esm.js
6042
- var tiny_invariant_esm = __webpack_require__(176);
 
 
6043
 
6044
- // CONCATENATED MODULE: ./node_modules/history/esm/history.js
 
 
 
 
 
 
6045
 
 
 
 
6046
 
 
 
 
 
 
6047
 
 
 
 
6048
 
 
 
 
 
 
6049
 
 
 
6050
 
6051
- function addLeadingSlash(path) {
6052
- return path.charAt(0) === '/' ? path : '/' + path;
6053
- }
6054
- function stripLeadingSlash(path) {
6055
- return path.charAt(0) === '/' ? path.substr(1) : path;
6056
- }
6057
- function hasBasename(path, prefix) {
6058
- return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;
6059
- }
6060
- function stripBasename(path, prefix) {
6061
- return hasBasename(path, prefix) ? path.substr(prefix.length) : path;
6062
- }
6063
- function stripTrailingSlash(path) {
6064
- return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;
6065
- }
6066
- function parsePath(path) {
6067
- var pathname = path || '/';
6068
- var search = '';
6069
- var hash = '';
6070
- var hashIndex = pathname.indexOf('#');
6071
 
6072
- if (hashIndex !== -1) {
6073
- hash = pathname.substr(hashIndex);
6074
- pathname = pathname.substr(0, hashIndex);
6075
  }
6076
 
6077
- var searchIndex = pathname.indexOf('?');
 
6078
 
6079
- if (searchIndex !== -1) {
6080
- search = pathname.substr(searchIndex);
6081
- pathname = pathname.substr(0, searchIndex);
6082
- }
6083
 
6084
- return {
6085
- pathname: pathname,
6086
- search: search === '?' ? '' : search,
6087
- hash: hash === '#' ? '' : hash
6088
- };
6089
- }
6090
- function createPath(location) {
6091
- var pathname = location.pathname,
6092
- search = location.search,
6093
- hash = location.hash;
6094
- var path = pathname || '/';
6095
- if (search && search !== '?') path += search.charAt(0) === '?' ? search : "?" + search;
6096
- if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : "#" + hash;
6097
- return path;
6098
  }
6099
 
6100
- function createLocation(path, state, key, currentLocation) {
6101
- var location;
 
 
6102
 
6103
- if (typeof path === 'string') {
6104
- // Two-arg form: push(path, state)
6105
- location = parsePath(path);
6106
- location.state = state;
6107
- } else {
6108
- // One-arg form: push(location)
6109
- location = Object(esm_extends["a" /* default */])({}, path);
6110
- if (location.pathname === undefined) location.pathname = '';
6111
 
6112
- if (location.search) {
6113
- if (location.search.charAt(0) !== '?') location.search = '?' + location.search;
6114
- } else {
6115
- location.search = '';
6116
- }
6117
 
6118
- if (location.hash) {
6119
- if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;
6120
- } else {
6121
- location.hash = '';
6122
- }
6123
 
6124
- if (state !== undefined && location.state === undefined) location.state = state;
 
 
 
 
6125
  }
6126
 
6127
- try {
6128
- location.pathname = decodeURI(location.pathname);
6129
- } catch (e) {
6130
- if (e instanceof URIError) {
6131
- throw new URIError('Pathname "' + location.pathname + '" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');
6132
- } else {
6133
- throw e;
6134
- }
6135
- }
6136
 
6137
- if (key) location.key = key;
 
 
 
 
6138
 
6139
- if (currentLocation) {
6140
- // Resolve incomplete/relative pathname relative to current location.
6141
- if (!location.pathname) {
6142
- location.pathname = currentLocation.pathname;
6143
- } else if (location.pathname.charAt(0) !== '/') {
6144
- location.pathname = resolve_pathname(location.pathname, currentLocation.pathname);
6145
- }
6146
- } else {
6147
- // When there is no prior location and pathname is empty, set it to /
6148
- if (!location.pathname) {
6149
- location.pathname = '/';
6150
- }
6151
- }
6152
 
6153
- return location;
6154
- }
6155
- function locationsAreEqual(a, b) {
6156
- return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && value_equal(a.state, b.state);
6157
- }
6158
 
6159
- function createTransitionManager() {
6160
- var prompt = null;
6161
 
6162
- function setPrompt(nextPrompt) {
6163
- false ? undefined : void 0;
6164
- prompt = nextPrompt;
6165
- return function () {
6166
- if (prompt === nextPrompt) prompt = null;
6167
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6168
  }
 
6169
 
6170
- function confirmTransitionTo(location, action, getUserConfirmation, callback) {
6171
- // TODO: If another transition starts while we're still confirming
6172
- // the previous one, we may end up in a weird state. Figure out the
6173
- // best way to handle this.
6174
- if (prompt != null) {
6175
- var result = typeof prompt === 'function' ? prompt(location, action) : prompt;
6176
 
6177
- if (typeof result === 'string') {
6178
- if (typeof getUserConfirmation === 'function') {
6179
- getUserConfirmation(result, callback);
6180
- } else {
6181
- false ? undefined : void 0;
6182
- callback(true);
6183
- }
6184
- } else {
6185
- // Return false from a transition hook to cancel the transition.
6186
- callback(result !== false);
6187
- }
6188
- } else {
6189
- callback(true);
6190
- }
6191
  }
6192
 
6193
- var listeners = [];
6194
-
6195
- function appendListener(fn) {
6196
- var isActive = true;
 
 
 
 
6197
 
6198
- function listener() {
6199
- if (isActive) fn.apply(void 0, arguments);
6200
- }
6201
 
6202
- listeners.push(listener);
6203
- return function () {
6204
- isActive = false;
6205
- listeners = listeners.filter(function (item) {
6206
- return item !== listener;
 
 
 
 
 
 
 
6207
  });
6208
- };
6209
- }
6210
-
6211
- function notifyListeners() {
6212
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
6213
- args[_key] = arguments[_key];
6214
- }
6215
-
6216
- listeners.forEach(function (listener) {
6217
- return listener.apply(void 0, args);
6218
- });
6219
- }
6220
-
6221
- return {
6222
- setPrompt: setPrompt,
6223
- confirmTransitionTo: confirmTransitionTo,
6224
- appendListener: appendListener,
6225
- notifyListeners: notifyListeners
6226
- };
6227
  }
6228
 
6229
- var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
6230
- function getConfirmation(message, callback) {
6231
- callback(window.confirm(message)); // eslint-disable-line no-alert
6232
- }
6233
  /**
6234
- * Returns true if the HTML5 history API is supported. Taken from Modernizr.
 
6235
  *
6236
- * https://github.com/Modernizr/Modernizr/blob/master/LICENSE
6237
- * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js
6238
- * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6239
  */
6240
-
6241
- function supportsHistory() {
6242
- var ua = window.navigator.userAgent;
6243
- if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;
6244
- return window.history && 'pushState' in window.history;
 
 
 
6245
  }
6246
- /**
6247
- * Returns true if browser fires popstate on hash change.
6248
- * IE10 and IE11 do not.
6249
- */
6250
 
6251
- function supportsPopStateOnHashChange() {
6252
- return window.navigator.userAgent.indexOf('Trident') === -1;
6253
- }
6254
- /**
6255
- * Returns false if using go(n) with hash history causes a full page reload.
6256
- */
6257
 
6258
- function supportsGoWithoutReloadUsingHash() {
6259
- return window.navigator.userAgent.indexOf('Firefox') === -1;
6260
- }
6261
- /**
6262
- * Returns true if a given popstate event is an extraneous WebKit event.
6263
- * Accounts for the fact that Chrome on iOS fires real popstate events
6264
- * containing undefined state when pressing the back button.
6265
- */
6266
 
6267
- function isExtraneousPopstateEvent(event) {
6268
- return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;
6269
- }
 
 
 
 
 
 
6270
 
6271
- var PopStateEvent = 'popstate';
6272
- var HashChangeEvent = 'hashchange';
 
 
6273
 
6274
- function getHistoryState() {
6275
- try {
6276
- return window.history.state || {};
6277
- } catch (e) {
6278
- // IE 11 sometimes throws when accessing window.history.state
6279
- // See https://github.com/ReactTraining/history/pull/289
6280
- return {};
 
6281
  }
6282
- }
6283
- /**
6284
- * Creates a history object that uses the HTML5 history API including
6285
- * pushState, replaceState, and the popstate event.
6286
- */
6287
 
 
6288
 
6289
- function createBrowserHistory(props) {
6290
- if (props === void 0) {
6291
- props = {};
6292
- }
6293
 
6294
- !canUseDOM ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
6295
- var globalHistory = window.history;
6296
- var canUseHistory = supportsHistory();
6297
- var needsHashChangeListener = !supportsPopStateOnHashChange();
6298
- var _props = props,
6299
- _props$forceRefresh = _props.forceRefresh,
6300
- forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,
6301
- _props$getUserConfirm = _props.getUserConfirmation,
6302
- getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,
6303
- _props$keyLength = _props.keyLength,
6304
- keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;
6305
- var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';
6306
 
6307
- function getDOMLocation(historyState) {
6308
- var _ref = historyState || {},
6309
- key = _ref.key,
6310
- state = _ref.state;
6311
 
6312
- var _window$location = window.location,
6313
- pathname = _window$location.pathname,
6314
- search = _window$location.search,
6315
- hash = _window$location.hash;
6316
- var path = pathname + search + hash;
6317
- false ? undefined : void 0;
6318
- if (basename) path = stripBasename(path, basename);
6319
- return createLocation(path, state, key);
6320
- }
6321
 
6322
- function createKey() {
6323
- return Math.random().toString(36).substr(2, keyLength);
6324
- }
6325
 
6326
- var transitionManager = createTransitionManager();
 
6327
 
6328
- function setState(nextState) {
6329
- Object(esm_extends["a" /* default */])(history, nextState);
 
 
6330
 
6331
- history.length = globalHistory.length;
6332
- transitionManager.notifyListeners(history.location, history.action);
6333
- }
6334
 
6335
- function handlePopState(event) {
6336
- // Ignore extraneous popstate events in WebKit.
6337
- if (isExtraneousPopstateEvent(event)) return;
6338
- handlePop(getDOMLocation(event.state));
 
6339
  }
6340
 
6341
- function handleHashChange() {
6342
- handlePop(getDOMLocation(getHistoryState()));
6343
- }
6344
 
6345
- var forceNextPop = false;
 
6346
 
6347
- function handlePop(location) {
6348
- if (forceNextPop) {
6349
- forceNextPop = false;
6350
- setState();
 
 
 
 
 
 
6351
  } else {
6352
- var action = 'POP';
6353
- transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
6354
- if (ok) {
6355
- setState({
6356
- action: action,
6357
- location: location
6358
- });
6359
- } else {
6360
- revertPop(location);
6361
- }
6362
  });
6363
  }
6364
- }
6365
-
6366
- function revertPop(fromLocation) {
6367
- var toLocation = history.location; // TODO: We could probably make this more reliable by
6368
- // keeping a list of keys we've seen in sessionStorage.
6369
- // Instead, we just default to 0 for keys we don't know.
6370
 
6371
- var toIndex = allKeys.indexOf(toLocation.key);
6372
- if (toIndex === -1) toIndex = 0;
6373
- var fromIndex = allKeys.indexOf(fromLocation.key);
6374
- if (fromIndex === -1) fromIndex = 0;
6375
- var delta = toIndex - fromIndex;
6376
 
6377
- if (delta) {
6378
- forceNextPop = true;
6379
- go(delta);
6380
- }
6381
- }
6382
 
6383
- var initialLocation = getDOMLocation(getHistoryState());
6384
- var allKeys = [initialLocation.key]; // Public interface
6385
 
6386
- function createHref(location) {
6387
- return basename + createPath(location);
6388
- }
6389
 
6390
- function push(path, state) {
6391
- false ? undefined : void 0;
6392
- var action = 'PUSH';
6393
- var location = createLocation(path, state, createKey(), history.location);
6394
- transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
6395
- if (!ok) return;
6396
- var href = createHref(location);
6397
- var key = location.key,
6398
- state = location.state;
6399
 
6400
- if (canUseHistory) {
6401
- globalHistory.pushState({
6402
- key: key,
6403
- state: state
6404
- }, null, href);
 
 
 
 
 
 
 
 
 
6405
 
6406
- if (forceRefresh) {
6407
- window.location.href = href;
6408
- } else {
6409
- var prevIndex = allKeys.indexOf(history.location.key);
6410
- var nextKeys = allKeys.slice(0, prevIndex + 1);
6411
- nextKeys.push(location.key);
6412
- allKeys = nextKeys;
6413
- setState({
6414
- action: action,
6415
- location: location
6416
- });
6417
- }
6418
- } else {
6419
- false ? undefined : void 0;
6420
- window.location.href = href;
6421
- }
6422
- });
6423
  }
 
 
 
6424
 
6425
- function replace(path, state) {
6426
- false ? undefined : void 0;
6427
- var action = 'REPLACE';
6428
- var location = createLocation(path, state, createKey(), history.location);
6429
- transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
6430
- if (!ok) return;
6431
- var href = createHref(location);
6432
- var key = location.key,
6433
- state = location.state;
6434
 
6435
- if (canUseHistory) {
6436
- globalHistory.replaceState({
6437
- key: key,
6438
- state: state
6439
- }, null, href);
6440
 
6441
- if (forceRefresh) {
6442
- window.location.replace(href);
6443
- } else {
6444
- var prevIndex = allKeys.indexOf(history.location.key);
6445
- if (prevIndex !== -1) allKeys[prevIndex] = location.key;
6446
- setState({
6447
- action: action,
6448
- location: location
6449
- });
6450
- }
6451
- } else {
6452
- false ? undefined : void 0;
6453
- window.location.replace(href);
6454
- }
6455
- });
6456
- }
6457
 
6458
- function go(n) {
6459
- globalHistory.go(n);
6460
- }
 
 
6461
 
6462
- function goBack() {
6463
- go(-1);
6464
- }
 
 
 
 
 
 
 
 
6465
 
6466
- function goForward() {
6467
- go(1);
6468
- }
6469
 
6470
- var listenerCount = 0;
 
 
 
 
6471
 
6472
- function checkDOMListeners(delta) {
6473
- listenerCount += delta;
 
 
 
 
 
6474
 
6475
- if (listenerCount === 1 && delta === 1) {
6476
- window.addEventListener(PopStateEvent, handlePopState);
6477
- if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);
6478
- } else if (listenerCount === 0) {
6479
- window.removeEventListener(PopStateEvent, handlePopState);
6480
- if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);
6481
- }
6482
  }
 
 
 
6483
 
6484
- var isBlocked = false;
 
6485
 
6486
- function block(prompt) {
6487
- if (prompt === void 0) {
6488
- prompt = false;
6489
- }
6490
 
6491
- var unblock = transitionManager.setPrompt(prompt);
 
 
 
 
 
 
 
 
 
 
6492
 
6493
- if (!isBlocked) {
6494
- checkDOMListeners(1);
6495
- isBlocked = true;
6496
- }
6497
 
6498
- return function () {
6499
- if (isBlocked) {
6500
- isBlocked = false;
6501
- checkDOMListeners(-1);
6502
- }
6503
 
6504
- return unblock();
6505
- };
6506
- }
6507
 
6508
- function listen(listener) {
6509
- var unlisten = transitionManager.appendListener(listener);
6510
- checkDOMListeners(1);
6511
- return function () {
6512
- checkDOMListeners(-1);
6513
- unlisten();
6514
- };
6515
- }
6516
 
6517
- var history = {
6518
- length: globalHistory.length,
6519
- action: 'POP',
6520
- location: initialLocation,
6521
- createHref: createHref,
6522
- push: push,
6523
- replace: replace,
6524
- go: go,
6525
- goBack: goBack,
6526
- goForward: goForward,
6527
- block: block,
6528
- listen: listen
6529
- };
6530
- return history;
6531
- }
6532
 
6533
- var HashChangeEvent$1 = 'hashchange';
6534
- var HashPathCoders = {
6535
- hashbang: {
6536
- encodePath: function encodePath(path) {
6537
- return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);
6538
- },
6539
- decodePath: function decodePath(path) {
6540
- return path.charAt(0) === '!' ? path.substr(1) : path;
6541
- }
6542
- },
6543
- noslash: {
6544
- encodePath: stripLeadingSlash,
6545
- decodePath: addLeadingSlash
6546
- },
6547
- slash: {
6548
- encodePath: addLeadingSlash,
6549
- decodePath: addLeadingSlash
6550
- }
6551
- };
6552
 
6553
- function stripHash(url) {
6554
- var hashIndex = url.indexOf('#');
6555
- return hashIndex === -1 ? url : url.slice(0, hashIndex);
6556
- }
6557
 
6558
- function getHashPath() {
6559
- // We can't use window.location.hash here because it's not
6560
- // consistent across browsers - Firefox will pre-decode it!
6561
- var href = window.location.href;
6562
- var hashIndex = href.indexOf('#');
6563
- return hashIndex === -1 ? '' : href.substring(hashIndex + 1);
6564
- }
 
 
 
 
 
6565
 
6566
- function pushHashPath(path) {
6567
- window.location.hash = path;
6568
- }
6569
 
6570
- function replaceHashPath(path) {
6571
- window.location.replace(stripHash(window.location.href) + '#' + path);
6572
- }
6573
 
6574
- function createHashHistory(props) {
6575
- if (props === void 0) {
6576
- props = {};
 
 
 
6577
  }
 
 
6578
 
6579
- !canUseDOM ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
6580
- var globalHistory = window.history;
6581
- var canGoWithoutReload = supportsGoWithoutReloadUsingHash();
6582
- var _props = props,
6583
- _props$getUserConfirm = _props.getUserConfirmation,
6584
- getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,
6585
- _props$hashType = _props.hashType,
6586
- hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;
6587
- var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';
6588
- var _HashPathCoders$hashT = HashPathCoders[hashType],
6589
- encodePath = _HashPathCoders$hashT.encodePath,
6590
- decodePath = _HashPathCoders$hashT.decodePath;
6591
-
6592
- function getDOMLocation() {
6593
- var path = decodePath(getHashPath());
6594
- false ? undefined : void 0;
6595
- if (basename) path = stripBasename(path, basename);
6596
- return createLocation(path);
6597
- }
6598
 
6599
- var transitionManager = createTransitionManager();
 
6600
 
6601
- function setState(nextState) {
6602
- Object(esm_extends["a" /* default */])(history, nextState);
6603
 
6604
- history.length = globalHistory.length;
6605
- transitionManager.notifyListeners(history.location, history.action);
6606
- }
6607
 
6608
- var forceNextPop = false;
6609
- var ignorePath = null;
6610
 
6611
- function locationsAreEqual$$1(a, b) {
6612
- return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;
6613
- }
6614
 
6615
- function handleHashChange() {
6616
- var path = getHashPath();
6617
- var encodedPath = encodePath(path);
6618
 
6619
- if (path !== encodedPath) {
6620
- // Ensure we always have a properly-encoded hash.
6621
- replaceHashPath(encodedPath);
6622
- } else {
6623
- var location = getDOMLocation();
6624
- var prevLocation = history.location;
6625
- if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.
 
6626
 
6627
- if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.
 
 
 
 
 
 
 
 
 
6628
 
6629
- ignorePath = null;
6630
- handlePop(location);
6631
- }
6632
- }
6633
 
6634
- function handlePop(location) {
6635
- if (forceNextPop) {
6636
- forceNextPop = false;
6637
- setState();
6638
- } else {
6639
- var action = 'POP';
6640
- transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
6641
- if (ok) {
6642
- setState({
6643
- action: action,
6644
- location: location
6645
  });
6646
- } else {
6647
- revertPop(location);
6648
- }
 
 
 
 
 
 
 
 
6649
  });
6650
  }
6651
- }
6652
 
6653
- function revertPop(fromLocation) {
6654
- var toLocation = history.location; // TODO: We could probably make this more reliable by
6655
- // keeping a list of paths we've seen in sessionStorage.
6656
- // Instead, we just default to 0 for paths we don't know.
6657
 
6658
- var toIndex = allPaths.lastIndexOf(createPath(toLocation));
6659
- if (toIndex === -1) toIndex = 0;
6660
- var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));
6661
- if (fromIndex === -1) fromIndex = 0;
6662
- var delta = toIndex - fromIndex;
6663
 
6664
- if (delta) {
6665
- forceNextPop = true;
6666
- go(delta);
6667
- }
6668
- } // Ensure the hash is encoded properly before doing anything else.
 
 
 
 
 
 
 
6669
 
 
 
 
 
 
6670
 
6671
- var path = getHashPath();
6672
- var encodedPath = encodePath(path);
6673
- if (path !== encodedPath) replaceHashPath(encodedPath);
6674
- var initialLocation = getDOMLocation();
6675
- var allPaths = [createPath(initialLocation)]; // Public interface
6676
 
6677
- function createHref(location) {
6678
- var baseTag = document.querySelector('base');
6679
- var href = '';
6680
 
6681
- if (baseTag && baseTag.getAttribute('href')) {
6682
- href = stripHash(window.location.href);
6683
- }
6684
 
6685
- return href + '#' + encodePath(basename + createPath(location));
6686
- }
 
 
 
6687
 
6688
- function push(path, state) {
6689
- false ? undefined : void 0;
6690
- var action = 'PUSH';
6691
- var location = createLocation(path, undefined, undefined, history.location);
6692
- transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
6693
- if (!ok) return;
6694
- var path = createPath(location);
6695
- var encodedPath = encodePath(basename + path);
6696
- var hashChanged = getHashPath() !== encodedPath;
 
 
 
 
 
 
 
 
 
6697
 
6698
- if (hashChanged) {
6699
- // We cannot tell if a hashchange was caused by a PUSH, so we'd
6700
- // rather setState here and ignore the hashchange. The caveat here
6701
- // is that other hash histories in the page will consider it a POP.
6702
- ignorePath = path;
6703
- pushHashPath(encodedPath);
6704
- var prevIndex = allPaths.lastIndexOf(createPath(history.location));
6705
- var nextPaths = allPaths.slice(0, prevIndex + 1);
6706
- nextPaths.push(path);
6707
- allPaths = nextPaths;
6708
- setState({
6709
- action: action,
6710
- location: location
6711
- });
6712
- } else {
6713
- false ? undefined : void 0;
6714
- setState();
6715
- }
6716
- });
6717
- }
6718
-
6719
- function replace(path, state) {
6720
- false ? undefined : void 0;
6721
- var action = 'REPLACE';
6722
- var location = createLocation(path, undefined, undefined, history.location);
6723
- transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
6724
- if (!ok) return;
6725
- var path = createPath(location);
6726
- var encodedPath = encodePath(basename + path);
6727
- var hashChanged = getHashPath() !== encodedPath;
6728
-
6729
- if (hashChanged) {
6730
- // We cannot tell if a hashchange was caused by a REPLACE, so we'd
6731
- // rather setState here and ignore the hashchange. The caveat here
6732
- // is that other hash histories in the page will consider it a POP.
6733
- ignorePath = path;
6734
- replaceHashPath(encodedPath);
6735
- }
6736
-
6737
- var prevIndex = allPaths.indexOf(createPath(history.location));
6738
- if (prevIndex !== -1) allPaths[prevIndex] = path;
6739
- setState({
6740
- action: action,
6741
- location: location
6742
  });
6743
- });
6744
- }
 
 
6745
 
6746
- function go(n) {
6747
- false ? undefined : void 0;
6748
- globalHistory.go(n);
6749
- }
6750
 
6751
- function goBack() {
6752
- go(-1);
6753
- }
 
6754
 
6755
- function goForward() {
6756
- go(1);
6757
- }
 
6758
 
6759
- var listenerCount = 0;
 
 
6760
 
6761
- function checkDOMListeners(delta) {
6762
- listenerCount += delta;
 
 
 
 
 
 
 
6763
 
6764
- if (listenerCount === 1 && delta === 1) {
6765
- window.addEventListener(HashChangeEvent$1, handleHashChange);
6766
- } else if (listenerCount === 0) {
6767
- window.removeEventListener(HashChangeEvent$1, handleHashChange);
6768
- }
6769
- }
 
 
 
6770
 
6771
- var isBlocked = false;
 
 
6772
 
6773
- function block(prompt) {
6774
- if (prompt === void 0) {
6775
- prompt = false;
6776
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6777
 
6778
- var unblock = transitionManager.setPrompt(prompt);
 
 
 
 
 
 
 
 
 
6779
 
6780
- if (!isBlocked) {
6781
- checkDOMListeners(1);
6782
- isBlocked = true;
6783
- }
 
 
6784
 
6785
- return function () {
6786
- if (isBlocked) {
6787
- isBlocked = false;
6788
- checkDOMListeners(-1);
6789
  }
 
6790
 
6791
- return unblock();
6792
- };
6793
- }
 
 
6794
 
6795
- function listen(listener) {
6796
- var unlisten = transitionManager.appendListener(listener);
6797
- checkDOMListeners(1);
6798
- return function () {
6799
- checkDOMListeners(-1);
6800
- unlisten();
6801
- };
6802
- }
6803
 
6804
- var history = {
6805
- length: globalHistory.length,
6806
- action: 'POP',
6807
- location: initialLocation,
6808
- createHref: createHref,
6809
- push: push,
6810
- replace: replace,
6811
- go: go,
6812
- goBack: goBack,
6813
- goForward: goForward,
6814
- block: block,
6815
- listen: listen
6816
  };
6817
- return history;
6818
- }
6819
 
6820
- function clamp(n, lowerBound, upperBound) {
6821
- return Math.min(Math.max(n, lowerBound), upperBound);
6822
- }
6823
- /**
6824
- * Creates a history object that stores locations in memory.
6825
- */
 
 
 
 
6826
 
 
 
6827
 
6828
- function createMemoryHistory(props) {
6829
- if (props === void 0) {
6830
- props = {};
6831
- }
6832
 
6833
- var _props = props,
6834
- getUserConfirmation = _props.getUserConfirmation,
6835
- _props$initialEntries = _props.initialEntries,
6836
- initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,
6837
- _props$initialIndex = _props.initialIndex,
6838
- initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,
6839
- _props$keyLength = _props.keyLength,
6840
- keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;
6841
- var transitionManager = createTransitionManager();
6842
 
6843
- function setState(nextState) {
6844
- Object(esm_extends["a" /* default */])(history, nextState);
 
 
 
 
 
 
6845
 
6846
- history.length = history.entries.length;
6847
- transitionManager.notifyListeners(history.location, history.action);
6848
- }
 
 
 
 
 
 
 
 
 
6849
 
6850
- function createKey() {
6851
- return Math.random().toString(36).substr(2, keyLength);
6852
- }
6853
-
6854
- var index = clamp(initialIndex, 0, initialEntries.length - 1);
6855
- var entries = initialEntries.map(function (entry) {
6856
- return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());
6857
- }); // Public interface
6858
-
6859
- var createHref = createPath;
6860
 
6861
- function push(path, state) {
6862
- false ? undefined : void 0;
6863
- var action = 'PUSH';
6864
- var location = createLocation(path, state, createKey(), history.location);
6865
- transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
6866
- if (!ok) return;
6867
- var prevIndex = history.index;
6868
- var nextIndex = prevIndex + 1;
6869
- var nextEntries = history.entries.slice(0);
 
 
 
 
 
6870
 
6871
- if (nextEntries.length > nextIndex) {
6872
- nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);
6873
- } else {
6874
- nextEntries.push(location);
6875
  }
6876
 
6877
- setState({
6878
- action: action,
6879
- location: location,
6880
- index: nextIndex,
6881
- entries: nextEntries
6882
- });
6883
- });
6884
- }
6885
 
6886
- function replace(path, state) {
6887
- false ? undefined : void 0;
6888
- var action = 'REPLACE';
6889
- var location = createLocation(path, state, createKey(), history.location);
6890
- transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
6891
- if (!ok) return;
6892
- history.entries[history.index] = location;
6893
- setState({
6894
- action: action,
6895
- location: location
6896
  });
6897
- });
6898
- }
6899
 
6900
- function go(n) {
6901
- var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);
6902
- var action = 'POP';
6903
- var location = history.entries[nextIndex];
6904
- transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
6905
- if (ok) {
6906
- setState({
6907
- action: action,
6908
- location: location,
6909
- index: nextIndex
6910
- });
6911
- } else {
6912
- // Mimic the behavior of DOM histories by
6913
- // causing a render after a cancelled POP.
6914
- setState();
6915
- }
6916
  });
6917
- }
6918
-
6919
- function goBack() {
6920
- go(-1);
6921
- }
6922
-
6923
- function goForward() {
6924
- go(1);
6925
- }
6926
-
6927
- function canGo(n) {
6928
- var nextIndex = history.index + n;
6929
- return nextIndex >= 0 && nextIndex < history.entries.length;
6930
- }
6931
-
6932
- function block(prompt) {
6933
- if (prompt === void 0) {
6934
- prompt = false;
6935
- }
6936
 
6937
- return transitionManager.setPrompt(prompt);
6938
- }
 
 
 
 
 
6939
 
6940
- function listen(listener) {
6941
- return transitionManager.appendListener(listener);
6942
- }
 
 
 
 
 
 
6943
 
6944
- var history = {
6945
- length: entries.length,
6946
- action: 'POP',
6947
- location: entries[index],
6948
- index: index,
6949
- entries: entries,
6950
- createHref: createHref,
6951
- push: push,
6952
- replace: replace,
6953
- go: go,
6954
- goBack: goBack,
6955
- goForward: goForward,
6956
- canGo: canGo,
6957
- block: block,
6958
- listen: listen
6959
- };
6960
- return history;
6961
- }
6962
 
 
 
6963
 
 
 
 
 
6964
 
 
 
6965
 
6966
- /***/ }),
6967
- /* 203 */
6968
- /***/ (function(module, exports, __webpack_require__) {
 
6969
 
6970
- "use strict";
 
 
 
 
6971
 
6972
- var fixRegExpWellKnownSymbolLogic = __webpack_require__(111);
6973
- var anObject = __webpack_require__(9);
6974
- var toLength = __webpack_require__(34);
6975
- var requireObjectCoercible = __webpack_require__(32);
6976
- var advanceStringIndex = __webpack_require__(122);
6977
- var regExpExec = __webpack_require__(112);
6978
-
6979
- // @@match logic
6980
- fixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
6981
- return [
6982
- // `String.prototype.match` method
6983
- // https://tc39.es/ecma262/#sec-string.prototype.match
6984
- function match(regexp) {
6985
- var O = requireObjectCoercible(this);
6986
- var matcher = regexp == undefined ? undefined : regexp[MATCH];
6987
- return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
6988
- },
6989
- // `RegExp.prototype[@@match]` method
6990
- // https://tc39.es/ecma262/#sec-regexp.prototype-@@match
6991
- function (regexp) {
6992
- var res = maybeCallNative(nativeMatch, regexp, this);
6993
- if (res.done) return res.value;
6994
-
6995
- var rx = anObject(regexp);
6996
- var S = String(this);
6997
-
6998
- if (!rx.global) return regExpExec(rx, S);
6999
-
7000
- var fullUnicode = rx.unicode;
7001
- rx.lastIndex = 0;
7002
- var A = [];
7003
- var n = 0;
7004
- var result;
7005
- while ((result = regExpExec(rx, S)) !== null) {
7006
- var matchStr = String(result[0]);
7007
- A[n] = matchStr;
7008
- if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
7009
- n++;
7010
  }
7011
- return n === 0 ? null : A;
7012
- }
7013
- ];
7014
- });
7015
-
7016
-
7017
- /***/ }),
7018
- /* 204 */
7019
- /***/ (function(module, exports) {
7020
-
7021
- function _setPrototypeOf(o, p) {
7022
- module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
7023
- o.__proto__ = p;
7024
- return o;
7025
- };
7026
-
7027
- return _setPrototypeOf(o, p);
7028
- }
7029
-
7030
- module.exports = _setPrototypeOf;
7031
 
7032
- /***/ }),
7033
- /* 205 */
7034
- /***/ (function(module, exports, __webpack_require__) {
7035
 
7036
- var hiddenKeys = __webpack_require__(36);
7037
- var isObject = __webpack_require__(10);
7038
- var has = __webpack_require__(11);
7039
- var defineProperty = __webpack_require__(17).f;
7040
- var uid = __webpack_require__(55);
7041
- var FREEZING = __webpack_require__(253);
 
 
 
 
 
 
 
 
 
7042
 
7043
- var METADATA = uid('meta');
7044
- var id = 0;
 
7045
 
7046
- var isExtensible = Object.isExtensible || function () {
7047
- return true;
 
 
7048
  };
7049
 
7050
- var setMetadata = function (it) {
7051
- defineProperty(it, METADATA, { value: {
7052
- objectID: 'O' + ++id, // object ID
7053
- weakData: {} // weak collections IDs
7054
- } });
7055
- };
7056
 
7057
- var fastKey = function (it, create) {
7058
- // return a primitive with prefix
7059
- if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
7060
- if (!has(it, METADATA)) {
7061
- // can't set metadata to uncaught frozen object
7062
- if (!isExtensible(it)) return 'F';
7063
- // not necessary to add metadata
7064
- if (!create) return 'E';
7065
- // add missing metadata
7066
- setMetadata(it);
7067
- // return object ID
7068
- } return it[METADATA].objectID;
7069
- };
7070
 
7071
- var getWeakData = function (it, create) {
7072
- if (!has(it, METADATA)) {
7073
- // can't set metadata to uncaught frozen object
7074
- if (!isExtensible(it)) return true;
7075
- // not necessary to add metadata
7076
- if (!create) return false;
7077
- // add missing metadata
7078
- setMetadata(it);
7079
- // return the store of weak collections IDs
7080
- } return it[METADATA].weakData;
7081
  };
7082
 
7083
- // add metadata on freeze-family methods calling
7084
- var onFreeze = function (it) {
7085
- if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);
7086
- return it;
7087
- };
 
 
7088
 
7089
- var meta = module.exports = {
7090
- REQUIRED: false,
7091
- fastKey: fastKey,
7092
- getWeakData: getWeakData,
7093
- onFreeze: onFreeze
7094
- };
7095
-
7096
- hiddenKeys[METADATA] = true;
7097
-
7098
-
7099
- /***/ }),
7100
- /* 206 */,
7101
- /* 207 */
7102
- /***/ (function(module, exports, __webpack_require__) {
7103
-
7104
- var isRegExp = __webpack_require__(144);
7105
-
7106
- module.exports = function (it) {
7107
- if (isRegExp(it)) {
7108
- throw TypeError("The method doesn't accept regular expressions");
7109
- } return it;
7110
  };
7111
 
 
 
 
 
 
 
 
7112
 
7113
- /***/ }),
7114
- /* 208 */
7115
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7116
 
7117
- var wellKnownSymbol = __webpack_require__(8);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7118
 
7119
- var MATCH = wellKnownSymbol('match');
 
 
 
 
 
7120
 
7121
- module.exports = function (METHOD_NAME) {
7122
- var regexp = /./;
7123
- try {
7124
- '/./'[METHOD_NAME](regexp);
7125
- } catch (error1) {
7126
- try {
7127
- regexp[MATCH] = false;
7128
- return '/./'[METHOD_NAME](regexp);
7129
- } catch (error2) { /* empty */ }
7130
- } return false;
7131
- };
7132
 
 
7133
 
7134
- /***/ }),
7135
- /* 209 */
7136
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
7137
 
7138
- var DESCRIPTORS = __webpack_require__(13);
7139
- var global = __webpack_require__(3);
7140
- var isForced = __webpack_require__(74);
7141
- var inheritIfRequired = __webpack_require__(156);
7142
- var defineProperty = __webpack_require__(17).f;
7143
- var getOwnPropertyNames = __webpack_require__(56).f;
7144
- var isRegExp = __webpack_require__(144);
7145
- var getFlags = __webpack_require__(114);
7146
- var stickyHelpers = __webpack_require__(137);
7147
- var redefine = __webpack_require__(27);
7148
- var fails = __webpack_require__(6);
7149
- var setInternalState = __webpack_require__(45).set;
7150
- var setSpecies = __webpack_require__(153);
7151
- var wellKnownSymbol = __webpack_require__(8);
7152
-
7153
- var MATCH = wellKnownSymbol('match');
7154
- var NativeRegExp = global.RegExp;
7155
- var RegExpPrototype = NativeRegExp.prototype;
7156
- var re1 = /a/g;
7157
- var re2 = /a/g;
7158
-
7159
- // "new" should create a new object, old webkit bug
7160
- var CORRECT_NEW = new NativeRegExp(re1) !== re1;
7161
-
7162
- var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;
7163
-
7164
- var FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {
7165
- re2[MATCH] = false;
7166
- // RegExp constructor can alter flags and IsRegExp works correct with @@match
7167
- return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';
7168
- })));
7169
-
7170
- // `RegExp` constructor
7171
- // https://tc39.es/ecma262/#sec-regexp-constructor
7172
- if (FORCED) {
7173
- var RegExpWrapper = function RegExp(pattern, flags) {
7174
- var thisIsRegExp = this instanceof RegExpWrapper;
7175
- var patternIsRegExp = isRegExp(pattern);
7176
- var flagsAreUndefined = flags === undefined;
7177
- var sticky;
7178
-
7179
- if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {
7180
- return pattern;
7181
- }
7182
 
7183
- if (CORRECT_NEW) {
7184
- if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;
7185
- } else if (pattern instanceof RegExpWrapper) {
7186
- if (flagsAreUndefined) flags = getFlags.call(pattern);
7187
- pattern = pattern.source;
7188
- }
 
 
 
 
 
 
7189
 
7190
- if (UNSUPPORTED_Y) {
7191
- sticky = !!flags && flags.indexOf('y') > -1;
7192
- if (sticky) flags = flags.replace(/y/g, '');
7193
- }
7194
 
7195
- var result = inheritIfRequired(
7196
- CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),
7197
- thisIsRegExp ? this : RegExpPrototype,
7198
- RegExpWrapper
7199
- );
 
 
 
 
 
 
 
 
 
 
 
 
7200
 
7201
- if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky });
7202
 
7203
- return result;
7204
- };
7205
- var proxy = function (key) {
7206
- key in RegExpWrapper || defineProperty(RegExpWrapper, key, {
7207
- configurable: true,
7208
- get: function () { return NativeRegExp[key]; },
7209
- set: function (it) { NativeRegExp[key] = it; }
7210
  });
7211
- };
7212
- var keys = getOwnPropertyNames(NativeRegExp);
7213
- var index = 0;
7214
- while (keys.length > index) proxy(keys[index++]);
7215
- RegExpPrototype.constructor = RegExpWrapper;
7216
- RegExpWrapper.prototype = RegExpPrototype;
7217
- redefine(global, 'RegExp', RegExpWrapper);
7218
- }
7219
-
7220
- // https://tc39.es/ecma262/#sec-get-regexp-@@species
7221
- setSpecies('RegExp');
7222
-
7223
-
7224
- /***/ }),
7225
- /* 210 */
7226
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
7227
-
7228
- "use strict";
7229
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return STORE_KEY; });
7230
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return API_NAMESPACE; });
7231
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return QUEUE_OPTION_NAME; });
7232
- var STORE_KEY = 'wc/customer-effort-score';
7233
- var API_NAMESPACE = '/wc-admin';
7234
- var QUEUE_OPTION_NAME = 'woocommerce_ces_tracks_queue';
7235
-
7236
- /***/ }),
7237
- /* 211 */
7238
- /***/ (function(module, exports) {
7239
-
7240
- (function() { module.exports = window["wp"]["date"]; }());
7241
 
7242
- /***/ }),
7243
- /* 212 */
7244
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7245
 
7246
- "use strict";
 
7247
 
7248
- var aFunction = __webpack_require__(70);
7249
- var isObject = __webpack_require__(10);
 
 
 
 
 
 
 
7250
 
7251
- var slice = [].slice;
7252
- var factories = {};
7253
 
7254
- var construct = function (C, argsLength, args) {
7255
- if (!(argsLength in factories)) {
7256
- for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';
7257
- // eslint-disable-next-line no-new-func -- we have no proper alternatives, IE8- only
7258
- factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');
7259
- } return factories[argsLength](C, args);
7260
- };
7261
 
7262
- // `Function.prototype.bind` method implementation
7263
- // https://tc39.es/ecma262/#sec-function.prototype.bind
7264
- module.exports = Function.bind || function bind(that /* , ...args */) {
7265
- var fn = aFunction(this);
7266
- var partArgs = slice.call(arguments, 1);
7267
- var boundFunction = function bound(/* args... */) {
7268
- var args = partArgs.concat(slice.call(arguments));
7269
- return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);
7270
  };
7271
- if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;
7272
- return boundFunction;
7273
- };
7274
-
7275
-
7276
- /***/ }),
7277
- /* 213 */
7278
- /***/ (function(module, exports, __webpack_require__) {
7279
 
7280
- var fails = __webpack_require__(6);
 
7281
 
7282
- module.exports = !fails(function () {
7283
- function F() { /* empty */ }
7284
- F.prototype.constructor = null;
7285
- return Object.getPrototypeOf(new F()) !== F.prototype;
7286
- });
7287
 
 
 
7288
 
7289
- /***/ }),
7290
- /* 214 */
7291
- /***/ (function(module, exports) {
7292
 
7293
- // `SameValue` abstract operation
7294
- // https://tc39.es/ecma262/#sec-samevalue
7295
- module.exports = Object.is || function is(x, y) {
7296
- // eslint-disable-next-line no-self-compare -- NaN check
7297
- return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
7298
- };
7299
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7300
 
7301
- /***/ }),
7302
- /* 215 */
7303
- /***/ (function(module, exports, __webpack_require__) {
7304
 
7305
- "use strict";
7306
- /**
7307
- * Copyright (c) 2013-present, Facebook, Inc.
7308
- *
7309
- * This source code is licensed under the MIT license found in the
7310
- * LICENSE file in the root directory of this source tree.
7311
- */
7312
 
 
7313
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7314
 
7315
- var ReactPropTypesSecret = __webpack_require__(216);
 
7316
 
7317
- function emptyFunction() {}
7318
- function emptyFunctionWithReset() {}
7319
- emptyFunctionWithReset.resetWarningCache = emptyFunction;
7320
-
7321
- module.exports = function() {
7322
- function shim(props, propName, componentName, location, propFullName, secret) {
7323
- if (secret === ReactPropTypesSecret) {
7324
- // It is still safe when called from React.
7325
- return;
7326
- }
7327
- var err = new Error(
7328
- 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
7329
- 'Use PropTypes.checkPropTypes() to call them. ' +
7330
- 'Read more at http://fb.me/use-check-prop-types'
7331
- );
7332
- err.name = 'Invariant Violation';
7333
- throw err;
7334
- };
7335
- shim.isRequired = shim;
7336
- function getShim() {
7337
- return shim;
7338
- };
7339
- // Important!
7340
- // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
7341
- var ReactPropTypes = {
7342
- array: shim,
7343
- bool: shim,
7344
- func: shim,
7345
- number: shim,
7346
- object: shim,
7347
- string: shim,
7348
- symbol: shim,
7349
-
7350
- any: shim,
7351
- arrayOf: getShim,
7352
- element: shim,
7353
- elementType: shim,
7354
- instanceOf: getShim,
7355
- node: shim,
7356
- objectOf: getShim,
7357
- oneOf: getShim,
7358
- oneOfType: getShim,
7359
- shape: getShim,
7360
- exact: getShim,
7361
-
7362
- checkPropTypes: emptyFunctionWithReset,
7363
- resetWarningCache: emptyFunction
7364
- };
7365
-
7366
- ReactPropTypes.PropTypes = ReactPropTypes;
7367
-
7368
- return ReactPropTypes;
7369
- };
7370
-
7371
-
7372
- /***/ }),
7373
- /* 216 */
7374
- /***/ (function(module, exports, __webpack_require__) {
7375
-
7376
- "use strict";
7377
- /**
7378
- * Copyright (c) 2013-present, Facebook, Inc.
7379
- *
7380
- * This source code is licensed under the MIT license found in the
7381
- * LICENSE file in the root directory of this source tree.
7382
- */
7383
-
7384
-
7385
-
7386
- var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
7387
-
7388
- module.exports = ReactPropTypesSecret;
7389
-
7390
-
7391
- /***/ }),
7392
- /* 217 */,
7393
- /* 218 */,
7394
- /* 219 */,
7395
- /* 220 */,
7396
- /* 221 */
7397
- /***/ (function(module, exports, __webpack_require__) {
7398
-
7399
- "use strict";
7400
 
7401
- var DESCRIPTORS = __webpack_require__(13);
7402
- var fails = __webpack_require__(6);
7403
- var objectKeys = __webpack_require__(54);
7404
- var getOwnPropertySymbolsModule = __webpack_require__(79);
7405
- var propertyIsEnumerableModule = __webpack_require__(76);
7406
- var toObject = __webpack_require__(38);
7407
- var IndexedObject = __webpack_require__(71);
7408
 
7409
- var nativeAssign = Object.assign;
7410
- var defineProperty = Object.defineProperty;
 
 
 
 
 
 
 
 
 
 
 
 
 
7411
 
7412
- // `Object.assign` method
7413
- // https://tc39.es/ecma262/#sec-object.assign
7414
- module.exports = !nativeAssign || fails(function () {
7415
- // should have correct order of operations (Edge bug)
7416
- if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {
7417
- enumerable: true,
7418
- get: function () {
7419
- defineProperty(this, 'b', {
7420
- value: 3,
7421
- enumerable: false
7422
- });
7423
- }
7424
- }), { b: 2 })).b !== 1) return true;
7425
- // should work with symbols and should have deterministic property order (V8 bug)
7426
- var A = {};
7427
- var B = {};
7428
- /* global Symbol -- required for testing */
7429
- var symbol = Symbol();
7430
- var alphabet = 'abcdefghijklmnopqrst';
7431
- A[symbol] = 7;
7432
- alphabet.split('').forEach(function (chr) { B[chr] = chr; });
7433
- return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
7434
- }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`
7435
- var T = toObject(target);
7436
- var argumentsLength = arguments.length;
7437
- var index = 1;
7438
- var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
7439
- var propertyIsEnumerable = propertyIsEnumerableModule.f;
7440
- while (argumentsLength > index) {
7441
- var S = IndexedObject(arguments[index++]);
7442
- var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
7443
- var length = keys.length;
7444
- var j = 0;
7445
- var key;
7446
- while (length > j) {
7447
- key = keys[j++];
7448
- if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];
7449
  }
7450
- } return T;
7451
- } : nativeAssign;
7452
-
7453
-
7454
- /***/ }),
7455
- /* 222 */,
7456
- /* 223 */,
7457
- /* 224 */
7458
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
7459
-
7460
- "use strict";
7461
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _defineProperty; });
7462
- function _defineProperty(obj, key, value) {
7463
- if (key in obj) {
7464
- Object.defineProperty(obj, key, {
7465
- value: value,
7466
- enumerable: true,
7467
- configurable: true,
7468
- writable: true
7469
- });
7470
- } else {
7471
- obj[key] = value;
7472
  }
7473
 
7474
- return obj;
7475
- }
7476
-
7477
- /***/ }),
7478
- /* 225 */
7479
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
7480
-
7481
- "use strict";
7482
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutProperties; });
7483
- /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(133);
7484
 
7485
- function _objectWithoutProperties(source, excluded) {
7486
- if (source == null) return {};
7487
- var target = Object(_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(source, excluded);
7488
- var key, i;
7489
 
7490
- if (Object.getOwnPropertySymbols) {
7491
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
7492
 
7493
- for (i = 0; i < sourceSymbolKeys.length; i++) {
7494
- key = sourceSymbolKeys[i];
7495
- if (excluded.indexOf(key) >= 0) continue;
7496
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
7497
- target[key] = source[key];
7498
- }
7499
- }
7500
 
7501
- return target;
 
 
 
 
 
 
 
 
 
 
7502
  }
7503
 
7504
- /***/ }),
7505
- /* 226 */,
7506
- /* 227 */
7507
- /***/ (function(module, exports, __webpack_require__) {
7508
 
7509
- "use strict";
 
7510
 
 
 
 
7511
 
7512
- var utils = __webpack_require__(200);
7513
- var formats = __webpack_require__(169);
7514
- var has = Object.prototype.hasOwnProperty;
7515
 
7516
- var arrayPrefixGenerators = {
7517
- brackets: function brackets(prefix) {
7518
- return prefix + '[]';
7519
- },
7520
- comma: 'comma',
7521
- indices: function indices(prefix, key) {
7522
- return prefix + '[' + key + ']';
7523
- },
7524
- repeat: function repeat(prefix) {
7525
- return prefix;
7526
  }
7527
- };
7528
 
7529
- var isArray = Array.isArray;
7530
- var push = Array.prototype.push;
7531
- var pushToArray = function (arr, valueOrArray) {
7532
- push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);
7533
- };
7534
 
7535
- var toISO = Date.prototype.toISOString;
 
7536
 
7537
- var defaultFormat = formats['default'];
7538
- var defaults = {
7539
- addQueryPrefix: false,
7540
- allowDots: false,
7541
- charset: 'utf-8',
7542
- charsetSentinel: false,
7543
- delimiter: '&',
7544
- encode: true,
7545
- encoder: utils.encode,
7546
- encodeValuesOnly: false,
7547
- format: defaultFormat,
7548
- formatter: formats.formatters[defaultFormat],
7549
- // deprecated
7550
- indices: false,
7551
- serializeDate: function serializeDate(date) {
7552
- return toISO.call(date);
7553
- },
7554
- skipNulls: false,
7555
- strictNullHandling: false
7556
- };
7557
-
7558
- var isNonNullishPrimitive = function isNonNullishPrimitive(v) {
7559
- return typeof v === 'string'
7560
- || typeof v === 'number'
7561
- || typeof v === 'boolean'
7562
- || typeof v === 'symbol'
7563
- || typeof v === 'bigint';
7564
- };
7565
-
7566
- var stringify = function stringify(
7567
- object,
7568
- prefix,
7569
- generateArrayPrefix,
7570
- strictNullHandling,
7571
- skipNulls,
7572
- encoder,
7573
- filter,
7574
- sort,
7575
- allowDots,
7576
- serializeDate,
7577
- format,
7578
- formatter,
7579
- encodeValuesOnly,
7580
- charset
7581
- ) {
7582
- var obj = object;
7583
- if (typeof filter === 'function') {
7584
- obj = filter(prefix, obj);
7585
- } else if (obj instanceof Date) {
7586
- obj = serializeDate(obj);
7587
- } else if (generateArrayPrefix === 'comma' && isArray(obj)) {
7588
- obj = utils.maybeMap(obj, function (value) {
7589
- if (value instanceof Date) {
7590
- return serializeDate(value);
7591
- }
7592
- return value;
7593
- });
7594
- }
7595
-
7596
- if (obj === null) {
7597
- if (strictNullHandling) {
7598
- return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;
7599
- }
7600
-
7601
- obj = '';
7602
- }
7603
-
7604
- if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {
7605
- if (encoder) {
7606
- var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);
7607
- return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];
7608
- }
7609
- return [formatter(prefix) + '=' + formatter(String(obj))];
7610
- }
7611
-
7612
- var values = [];
7613
-
7614
- if (typeof obj === 'undefined') {
7615
- return values;
7616
- }
7617
-
7618
- var objKeys;
7619
- if (generateArrayPrefix === 'comma' && isArray(obj)) {
7620
- // we need to join elements in
7621
- objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : undefined }];
7622
- } else if (isArray(filter)) {
7623
- objKeys = filter;
7624
- } else {
7625
- var keys = Object.keys(obj);
7626
- objKeys = sort ? keys.sort(sort) : keys;
7627
- }
7628
-
7629
- for (var i = 0; i < objKeys.length; ++i) {
7630
- var key = objKeys[i];
7631
- var value = typeof key === 'object' && key.value !== undefined ? key.value : obj[key];
7632
-
7633
- if (skipNulls && value === null) {
7634
- continue;
7635
- }
7636
-
7637
- var keyPrefix = isArray(obj)
7638
- ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix
7639
- : prefix + (allowDots ? '.' + key : '[' + key + ']');
7640
-
7641
- pushToArray(values, stringify(
7642
- value,
7643
- keyPrefix,
7644
- generateArrayPrefix,
7645
- strictNullHandling,
7646
- skipNulls,
7647
- encoder,
7648
- filter,
7649
- sort,
7650
- allowDots,
7651
- serializeDate,
7652
- format,
7653
- formatter,
7654
- encodeValuesOnly,
7655
- charset
7656
- ));
7657
- }
7658
-
7659
- return values;
7660
- };
7661
-
7662
- var normalizeStringifyOptions = function normalizeStringifyOptions(opts) {
7663
- if (!opts) {
7664
- return defaults;
7665
- }
7666
-
7667
- if (opts.encoder !== null && opts.encoder !== undefined && typeof opts.encoder !== 'function') {
7668
- throw new TypeError('Encoder has to be a function.');
7669
- }
7670
-
7671
- var charset = opts.charset || defaults.charset;
7672
- if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
7673
- throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
7674
- }
7675
-
7676
- var format = formats['default'];
7677
- if (typeof opts.format !== 'undefined') {
7678
- if (!has.call(formats.formatters, opts.format)) {
7679
- throw new TypeError('Unknown format option provided.');
7680
- }
7681
- format = opts.format;
7682
- }
7683
- var formatter = formats.formatters[format];
7684
-
7685
- var filter = defaults.filter;
7686
- if (typeof opts.filter === 'function' || isArray(opts.filter)) {
7687
- filter = opts.filter;
7688
- }
7689
-
7690
- return {
7691
- addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,
7692
- allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
7693
- charset: charset,
7694
- charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
7695
- delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,
7696
- encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,
7697
- encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,
7698
- encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
7699
- filter: filter,
7700
- format: format,
7701
- formatter: formatter,
7702
- serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,
7703
- skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,
7704
- sort: typeof opts.sort === 'function' ? opts.sort : null,
7705
- strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
7706
- };
7707
- };
7708
-
7709
- module.exports = function (object, opts) {
7710
- var obj = object;
7711
- var options = normalizeStringifyOptions(opts);
7712
-
7713
- var objKeys;
7714
- var filter;
7715
-
7716
- if (typeof options.filter === 'function') {
7717
- filter = options.filter;
7718
- obj = filter('', obj);
7719
- } else if (isArray(options.filter)) {
7720
- filter = options.filter;
7721
- objKeys = filter;
7722
- }
7723
-
7724
- var keys = [];
7725
-
7726
- if (typeof obj !== 'object' || obj === null) {
7727
- return '';
7728
- }
7729
-
7730
- var arrayFormat;
7731
- if (opts && opts.arrayFormat in arrayPrefixGenerators) {
7732
- arrayFormat = opts.arrayFormat;
7733
- } else if (opts && 'indices' in opts) {
7734
- arrayFormat = opts.indices ? 'indices' : 'repeat';
7735
- } else {
7736
- arrayFormat = 'indices';
7737
- }
7738
-
7739
- var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];
7740
-
7741
- if (!objKeys) {
7742
- objKeys = Object.keys(obj);
7743
- }
7744
-
7745
- if (options.sort) {
7746
- objKeys.sort(options.sort);
7747
- }
7748
-
7749
- for (var i = 0; i < objKeys.length; ++i) {
7750
- var key = objKeys[i];
7751
-
7752
- if (options.skipNulls && obj[key] === null) {
7753
- continue;
7754
- }
7755
- pushToArray(keys, stringify(
7756
- obj[key],
7757
- key,
7758
- generateArrayPrefix,
7759
- options.strictNullHandling,
7760
- options.skipNulls,
7761
- options.encode ? options.encoder : null,
7762
- options.filter,
7763
- options.sort,
7764
- options.allowDots,
7765
- options.serializeDate,
7766
- options.format,
7767
- options.formatter,
7768
- options.encodeValuesOnly,
7769
- options.charset
7770
- ));
7771
- }
7772
-
7773
- var joined = keys.join(options.delimiter);
7774
- var prefix = options.addQueryPrefix === true ? '?' : '';
7775
-
7776
- if (options.charsetSentinel) {
7777
- if (options.charset === 'iso-8859-1') {
7778
- // encodeURIComponent('&#10003;'), the "numeric entity" representation of a checkmark
7779
- prefix += 'utf8=%26%2310003%3B&';
7780
- } else {
7781
- // encodeURIComponent('✓')
7782
- prefix += 'utf8=%E2%9C%93&';
7783
- }
7784
- }
7785
-
7786
- return joined.length > 0 ? prefix + joined : '';
7787
- };
7788
-
7789
-
7790
- /***/ }),
7791
- /* 228 */
7792
- /***/ (function(module, exports, __webpack_require__) {
7793
-
7794
- "use strict";
7795
-
7796
-
7797
- var utils = __webpack_require__(200);
7798
-
7799
- var has = Object.prototype.hasOwnProperty;
7800
- var isArray = Array.isArray;
7801
-
7802
- var defaults = {
7803
- allowDots: false,
7804
- allowPrototypes: false,
7805
- arrayLimit: 20,
7806
- charset: 'utf-8',
7807
- charsetSentinel: false,
7808
- comma: false,
7809
- decoder: utils.decode,
7810
- delimiter: '&',
7811
- depth: 5,
7812
- ignoreQueryPrefix: false,
7813
- interpretNumericEntities: false,
7814
- parameterLimit: 1000,
7815
- parseArrays: true,
7816
- plainObjects: false,
7817
- strictNullHandling: false
7818
- };
7819
-
7820
- var interpretNumericEntities = function (str) {
7821
- return str.replace(/&#(\d+);/g, function ($0, numberStr) {
7822
- return String.fromCharCode(parseInt(numberStr, 10));
7823
- });
7824
- };
7825
-
7826
- var parseArrayValue = function (val, options) {
7827
- if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {
7828
- return val.split(',');
7829
- }
7830
-
7831
- return val;
7832
- };
7833
-
7834
- // This is what browsers will submit when the ✓ character occurs in an
7835
- // application/x-www-form-urlencoded body and the encoding of the page containing
7836
- // the form is iso-8859-1, or when the submitted form has an accept-charset
7837
- // attribute of iso-8859-1. Presumably also with other charsets that do not contain
7838
- // the ✓ character, such as us-ascii.
7839
- var isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')
7840
-
7841
- // These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.
7842
- var charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')
7843
-
7844
- var parseValues = function parseQueryStringValues(str, options) {
7845
- var obj = {};
7846
- var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str;
7847
- var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;
7848
- var parts = cleanStr.split(options.delimiter, limit);
7849
- var skipIndex = -1; // Keep track of where the utf8 sentinel was found
7850
- var i;
7851
-
7852
- var charset = options.charset;
7853
- if (options.charsetSentinel) {
7854
- for (i = 0; i < parts.length; ++i) {
7855
- if (parts[i].indexOf('utf8=') === 0) {
7856
- if (parts[i] === charsetSentinel) {
7857
- charset = 'utf-8';
7858
- } else if (parts[i] === isoSentinel) {
7859
- charset = 'iso-8859-1';
7860
- }
7861
- skipIndex = i;
7862
- i = parts.length; // The eslint settings do not allow break;
7863
- }
7864
- }
7865
- }
7866
-
7867
- for (i = 0; i < parts.length; ++i) {
7868
- if (i === skipIndex) {
7869
- continue;
7870
- }
7871
- var part = parts[i];
7872
-
7873
- var bracketEqualsPos = part.indexOf(']=');
7874
- var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;
7875
-
7876
- var key, val;
7877
- if (pos === -1) {
7878
- key = options.decoder(part, defaults.decoder, charset, 'key');
7879
- val = options.strictNullHandling ? null : '';
7880
- } else {
7881
- key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');
7882
- val = utils.maybeMap(
7883
- parseArrayValue(part.slice(pos + 1), options),
7884
- function (encodedVal) {
7885
- return options.decoder(encodedVal, defaults.decoder, charset, 'value');
7886
- }
7887
- );
7888
- }
7889
-
7890
- if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {
7891
- val = interpretNumericEntities(val);
7892
- }
7893
-
7894
- if (part.indexOf('[]=') > -1) {
7895
- val = isArray(val) ? [val] : val;
7896
- }
7897
-
7898
- if (has.call(obj, key)) {
7899
- obj[key] = utils.combine(obj[key], val);
7900
- } else {
7901
- obj[key] = val;
7902
- }
7903
- }
7904
-
7905
- return obj;
7906
- };
7907
-
7908
- var parseObject = function (chain, val, options, valuesParsed) {
7909
- var leaf = valuesParsed ? val : parseArrayValue(val, options);
7910
-
7911
- for (var i = chain.length - 1; i >= 0; --i) {
7912
- var obj;
7913
- var root = chain[i];
7914
-
7915
- if (root === '[]' && options.parseArrays) {
7916
- obj = [].concat(leaf);
7917
- } else {
7918
- obj = options.plainObjects ? Object.create(null) : {};
7919
- var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;
7920
- var index = parseInt(cleanRoot, 10);
7921
- if (!options.parseArrays && cleanRoot === '') {
7922
- obj = { 0: leaf };
7923
- } else if (
7924
- !isNaN(index)
7925
- && root !== cleanRoot
7926
- && String(index) === cleanRoot
7927
- && index >= 0
7928
- && (options.parseArrays && index <= options.arrayLimit)
7929
- ) {
7930
- obj = [];
7931
- obj[index] = leaf;
7932
- } else {
7933
- obj[cleanRoot] = leaf;
7934
- }
7935
- }
7936
-
7937
- leaf = obj;
7938
- }
7939
-
7940
- return leaf;
7941
- };
7942
-
7943
- var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {
7944
- if (!givenKey) {
7945
- return;
7946
- }
7947
-
7948
- // Transform dot notation to bracket notation
7949
- var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey;
7950
-
7951
- // The regex chunks
7952
-
7953
- var brackets = /(\[[^[\]]*])/;
7954
- var child = /(\[[^[\]]*])/g;
7955
-
7956
- // Get the parent
7957
-
7958
- var segment = options.depth > 0 && brackets.exec(key);
7959
- var parent = segment ? key.slice(0, segment.index) : key;
7960
-
7961
- // Stash the parent if it exists
7962
-
7963
- var keys = [];
7964
- if (parent) {
7965
- // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties
7966
- if (!options.plainObjects && has.call(Object.prototype, parent)) {
7967
- if (!options.allowPrototypes) {
7968
- return;
7969
- }
7970
- }
7971
-
7972
- keys.push(parent);
7973
- }
7974
-
7975
- // Loop through children appending to the array until we hit depth
7976
-
7977
- var i = 0;
7978
- while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {
7979
- i += 1;
7980
- if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {
7981
- if (!options.allowPrototypes) {
7982
- return;
7983
- }
7984
- }
7985
- keys.push(segment[1]);
7986
- }
7987
-
7988
- // If there's a remainder, just add whatever is left
7989
-
7990
- if (segment) {
7991
- keys.push('[' + key.slice(segment.index) + ']');
7992
- }
7993
-
7994
- return parseObject(keys, val, options, valuesParsed);
7995
- };
7996
-
7997
- var normalizeParseOptions = function normalizeParseOptions(opts) {
7998
- if (!opts) {
7999
- return defaults;
8000
- }
8001
-
8002
- if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {
8003
- throw new TypeError('Decoder has to be a function.');
8004
- }
8005
-
8006
- if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
8007
- throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
8008
- }
8009
- var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;
8010
-
8011
- return {
8012
- allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
8013
- allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,
8014
- arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,
8015
- charset: charset,
8016
- charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
8017
- comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,
8018
- decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,
8019
- delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
8020
- // eslint-disable-next-line no-implicit-coercion, no-extra-parens
8021
- depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,
8022
- ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
8023
- interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
8024
- parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,
8025
- parseArrays: opts.parseArrays !== false,
8026
- plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,
8027
- strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
8028
- };
8029
- };
8030
-
8031
- module.exports = function (str, opts) {
8032
- var options = normalizeParseOptions(opts);
8033
-
8034
- if (str === '' || str === null || typeof str === 'undefined') {
8035
- return options.plainObjects ? Object.create(null) : {};
8036
- }
8037
-
8038
- var tempObj = typeof str === 'string' ? parseValues(str, options) : str;
8039
- var obj = options.plainObjects ? Object.create(null) : {};
8040
-
8041
- // Iterate over the keys and setup the new object
8042
-
8043
- var keys = Object.keys(tempObj);
8044
- for (var i = 0; i < keys.length; ++i) {
8045
- var key = keys[i];
8046
- var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');
8047
- obj = utils.merge(obj, newObj, options);
8048
- }
8049
-
8050
- return utils.compact(obj);
8051
- };
8052
-
8053
-
8054
- /***/ }),
8055
- /* 229 */
8056
- /***/ (function(module, exports, __webpack_require__) {
8057
-
8058
- "use strict";
8059
-
8060
- var $ = __webpack_require__(12);
8061
- var global = __webpack_require__(3);
8062
- var isForced = __webpack_require__(74);
8063
- var redefine = __webpack_require__(27);
8064
- var InternalMetadataModule = __webpack_require__(205);
8065
- var iterate = __webpack_require__(154);
8066
- var anInstance = __webpack_require__(136);
8067
- var isObject = __webpack_require__(10);
8068
- var fails = __webpack_require__(6);
8069
- var checkCorrectnessOfIteration = __webpack_require__(165);
8070
- var setToStringTag = __webpack_require__(90);
8071
- var inheritIfRequired = __webpack_require__(156);
8072
-
8073
- module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
8074
- var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;
8075
- var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;
8076
- var ADDER = IS_MAP ? 'set' : 'add';
8077
- var NativeConstructor = global[CONSTRUCTOR_NAME];
8078
- var NativePrototype = NativeConstructor && NativeConstructor.prototype;
8079
- var Constructor = NativeConstructor;
8080
- var exported = {};
8081
-
8082
- var fixMethod = function (KEY) {
8083
- var nativeMethod = NativePrototype[KEY];
8084
- redefine(NativePrototype, KEY,
8085
- KEY == 'add' ? function add(value) {
8086
- nativeMethod.call(this, value === 0 ? 0 : value);
8087
- return this;
8088
- } : KEY == 'delete' ? function (key) {
8089
- return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
8090
- } : KEY == 'get' ? function get(key) {
8091
- return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);
8092
- } : KEY == 'has' ? function has(key) {
8093
- return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
8094
- } : function set(key, value) {
8095
- nativeMethod.call(this, key === 0 ? 0 : key, value);
8096
- return this;
8097
- }
8098
- );
8099
- };
8100
-
8101
- var REPLACE = isForced(
8102
- CONSTRUCTOR_NAME,
8103
- typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {
8104
- new NativeConstructor().entries().next();
8105
- }))
8106
- );
8107
-
8108
- if (REPLACE) {
8109
- // create collection constructor
8110
- Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
8111
- InternalMetadataModule.REQUIRED = true;
8112
- } else if (isForced(CONSTRUCTOR_NAME, true)) {
8113
- var instance = new Constructor();
8114
- // early implementations not supports chaining
8115
- var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
8116
- // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
8117
- var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });
8118
- // most early implementations doesn't supports iterables, most modern - not close it correctly
8119
- // eslint-disable-next-line no-new -- required for testing
8120
- var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });
8121
- // for early implementations -0 and +0 not the same
8122
- var BUGGY_ZERO = !IS_WEAK && fails(function () {
8123
- // V8 ~ Chromium 42- fails only with 5+ elements
8124
- var $instance = new NativeConstructor();
8125
- var index = 5;
8126
- while (index--) $instance[ADDER](index, index);
8127
- return !$instance.has(-0);
8128
- });
8129
-
8130
- if (!ACCEPT_ITERABLES) {
8131
- Constructor = wrapper(function (dummy, iterable) {
8132
- anInstance(dummy, Constructor, CONSTRUCTOR_NAME);
8133
- var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
8134
- if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
8135
- return that;
8136
- });
8137
- Constructor.prototype = NativePrototype;
8138
- NativePrototype.constructor = Constructor;
8139
- }
8140
-
8141
- if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
8142
- fixMethod('delete');
8143
- fixMethod('has');
8144
- IS_MAP && fixMethod('get');
8145
- }
8146
-
8147
- if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);
8148
-
8149
- // weak collections should not contains .clear method
8150
- if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;
8151
- }
8152
-
8153
- exported[CONSTRUCTOR_NAME] = Constructor;
8154
- $({ global: true, forced: Constructor != NativeConstructor }, exported);
8155
-
8156
- setToStringTag(Constructor, CONSTRUCTOR_NAME);
8157
-
8158
- if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);
8159
-
8160
- return Constructor;
8161
- };
8162
-
8163
-
8164
- /***/ }),
8165
- /* 230 */,
8166
- /* 231 */
8167
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
8168
-
8169
- "use strict";
8170
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getCountryCode; });
8171
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getCurrencyRegion; });
8172
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getProductIdsForCart; });
8173
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getCategorizedOnboardingProducts; });
8174
- /* unused harmony export getProductList */
8175
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getPriceValue; });
8176
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return isWCAdmin; });
8177
- /* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(44);
8178
- /* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__);
8179
- /* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(177);
8180
- /* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_1__);
8181
- /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(88);
8182
- /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2__);
8183
- /* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(107);
8184
- /* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_3__);
8185
- /* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(140);
8186
- /* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_4__);
8187
- /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51);
8188
- /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_5__);
8189
- /* harmony import */ var core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(248);
8190
- /* harmony import */ var core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_6__);
8191
- /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(100);
8192
- /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_7__);
8193
- /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(151);
8194
- /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_8__);
8195
- /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(123);
8196
- /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_9__);
8197
- /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(146);
8198
- /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_10__);
8199
- /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(66);
8200
- /* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_11__);
8201
- /* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(49);
8202
- /* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_12__);
8203
- /* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(192);
8204
- /* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_13__);
8205
- /* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(178);
8206
- /* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_14__);
8207
- /* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(135);
8208
- /* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_15__);
8209
- /* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(132);
8210
- /* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_16__);
8211
- /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(5);
8212
- /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_17__);
8213
- /* harmony import */ var _woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(85);
8214
-
8215
-
8216
-
8217
-
8218
-
8219
-
8220
-
8221
-
8222
-
8223
-
8224
-
8225
-
8226
-
8227
-
8228
-
8229
-
8230
-
8231
- /**
8232
- * External dependencies
8233
- */
8234
-
8235
-
8236
-
8237
- /**
8238
- * Gets the country code from a country:state value string.
8239
- *
8240
- * @param {string} countryState Country state string, e.g. US:GA.
8241
- * @return {string} Country string.
8242
- */
8243
-
8244
- function getCountryCode(countryState) {
8245
- if (!countryState) {
8246
- return null;
8247
- }
8248
-
8249
- return countryState.split(':')[0];
8250
- }
8251
- function getCurrencyRegion(countryState) {
8252
- var region = getCountryCode(countryState);
8253
- var euCountries = Object(lodash__WEBPACK_IMPORTED_MODULE_17__["without"])(Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_18__[/* getSetting */ "g"])('onboarding', {
8254
- euCountries: []
8255
- }).euCountries, 'GB');
8256
-
8257
- if (euCountries.includes(region)) {
8258
- region = 'EU';
8259
- }
8260
-
8261
- return region;
8262
- }
8263
- /**
8264
- * Gets the product IDs for items based on the product types and theme selected in the onboarding profiler.
8265
- *
8266
- * @param {Object} profileItems Onboarding profile.
8267
- * @param {boolean} includeInstalledItems Include installed items in returned product IDs.
8268
- * @param {Array} installedPlugins Installed plugins.
8269
- * @return {Array} Product Ids.
8270
- */
8271
-
8272
- function getProductIdsForCart(profileItems) {
8273
- var includeInstalledItems = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
8274
- var installedPlugins = arguments.length > 2 ? arguments[2] : undefined;
8275
- var productList = getProductList(profileItems, includeInstalledItems, installedPlugins);
8276
- var productIds = productList.map(function (product) {
8277
- return product.id || product.product;
8278
- });
8279
- return productIds;
8280
- }
8281
- /**
8282
- * Gets the labeled/categorized product names and types for items based on the product types and theme selected in the onboarding profiler.
8283
- *
8284
- * @param {Object} profileItems Onboarding profile.
8285
- * @param {Array} installedPlugins Installed plugins.
8286
- * @return {Array} Objects with labeled/categorized product names and types.
8287
- */
8288
-
8289
- function getCategorizedOnboardingProducts(profileItems, installedPlugins) {
8290
- var productList = {};
8291
- productList.products = getProductList(profileItems, true, installedPlugins);
8292
- productList.remainingProducts = getProductList(profileItems, false, installedPlugins);
8293
-
8294
- var uniqueItemsList = _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default()(new Set([].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default()(productList.products), _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default()(productList.remainingProducts))));
8295
-
8296
- productList.uniqueItemsList = uniqueItemsList.map(function (product) {
8297
- var cleanedProduct;
8298
-
8299
- if (product.label) {
8300
- cleanedProduct = {
8301
- type: 'extension',
8302
- name: product.label
8303
- };
8304
- } else {
8305
- cleanedProduct = {
8306
- type: 'theme',
8307
- name: product.title
8308
- };
8309
- }
8310
-
8311
- return cleanedProduct;
8312
- });
8313
- return productList;
8314
- }
8315
- /**
8316
- * Gets a product list for items based on the product types and theme selected in the onboarding profiler.
8317
- *
8318
- * @param {Object} profileItems Onboarding profile.
8319
- * @param {boolean} includeInstalledItems Include installed items in returned product list.
8320
- * @param {Array} installedPlugins Installed plugins.
8321
- * @return {Array} Products.
8322
- */
8323
-
8324
- function getProductList(profileItems) {
8325
- var includeInstalledItems = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
8326
- var installedPlugins = arguments.length > 2 ? arguments[2] : undefined;
8327
- var onboarding = Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_18__[/* getSetting */ "g"])('onboarding', {});
8328
- var productList = []; // The population of onboarding.productTypes only happens if the task list should be shown
8329
- // so bail early if it isn't present.
8330
-
8331
- if (!onboarding.productTypes) {
8332
- return productList;
8333
- }
8334
-
8335
- var productTypes = profileItems.product_types || [];
8336
- productTypes.forEach(function (productType) {
8337
- if (onboarding.productTypes[productType] && onboarding.productTypes[productType].product && (includeInstalledItems || !installedPlugins.includes(onboarding.productTypes[productType].slug))) {
8338
- productList.push(onboarding.productTypes[productType]);
8339
- }
8340
- });
8341
- var theme = onboarding.themes.find(function (themeData) {
8342
- return themeData.slug === profileItems.theme;
8343
- });
8344
-
8345
- if (theme && theme.id && getPriceValue(theme.price) > 0 && (includeInstalledItems || !theme.is_installed)) {
8346
- productList.push(theme);
8347
- }
8348
-
8349
- return productList;
8350
- }
8351
- /**
8352
- * Get the value of a price from a string, removing any non-numeric characters.
8353
- *
8354
- * @param {string} string Price string.
8355
- * @return {number} Number value.
8356
- */
8357
-
8358
- function getPriceValue(string) {
8359
- return Number(Object(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_16__["decodeEntities"])(string).replace(/[^0-9.-]+/g, ''));
8360
- }
8361
- /**
8362
- * Determines if a URL is a WC admin url.
8363
- *
8364
- * @param {*} url - the url to test
8365
- * @return {boolean} true if the url is a wc-admin URL
8366
- */
8367
-
8368
- function isWCAdmin(url) {
8369
- return /admin.php\?page=wc-admin/.test(url);
8370
- }
8371
-
8372
- /***/ }),
8373
- /* 232 */,
8374
- /* 233 */
8375
- /***/ (function(module, exports) {
8376
-
8377
- function _objectWithoutPropertiesLoose(source, excluded) {
8378
- if (source == null) return {};
8379
- var target = {};
8380
- var sourceKeys = Object.keys(source);
8381
- var key, i;
8382
-
8383
- for (i = 0; i < sourceKeys.length; i++) {
8384
- key = sourceKeys[i];
8385
- if (excluded.indexOf(key) >= 0) continue;
8386
- target[key] = source[key];
8387
- }
8388
-
8389
- return target;
8390
- }
8391
-
8392
- module.exports = _objectWithoutPropertiesLoose;
8393
-
8394
- /***/ }),
8395
- /* 234 */
8396
- /***/ (function(module, exports, __webpack_require__) {
8397
-
8398
- "use strict";
8399
-
8400
- var bind = __webpack_require__(94);
8401
- var toObject = __webpack_require__(38);
8402
- var callWithSafeIterationClosing = __webpack_require__(252);
8403
- var isArrayIteratorMethod = __webpack_require__(171);
8404
- var toLength = __webpack_require__(34);
8405
- var createProperty = __webpack_require__(102);
8406
- var getIteratorMethod = __webpack_require__(155);
8407
-
8408
- // `Array.from` method implementation
8409
- // https://tc39.es/ecma262/#sec-array.from
8410
- module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
8411
- var O = toObject(arrayLike);
8412
- var C = typeof this == 'function' ? this : Array;
8413
- var argumentsLength = arguments.length;
8414
- var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
8415
- var mapping = mapfn !== undefined;
8416
- var iteratorMethod = getIteratorMethod(O);
8417
- var index = 0;
8418
- var length, result, step, iterator, next, value;
8419
- if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);
8420
- // if the target is not iterable or it's an array with the default iterator - use a simple case
8421
- if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
8422
- iterator = iteratorMethod.call(O);
8423
- next = iterator.next;
8424
- result = new C();
8425
- for (;!(step = next.call(iterator)).done; index++) {
8426
- value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;
8427
- createProperty(result, index, value);
8428
- }
8429
- } else {
8430
- length = toLength(O.length);
8431
- result = new C(length);
8432
- for (;length > index; index++) {
8433
- value = mapping ? mapfn(O[index], index) : O[index];
8434
- createProperty(result, index, value);
8435
- }
8436
- }
8437
- result.length = index;
8438
- return result;
8439
- };
8440
-
8441
-
8442
- /***/ }),
8443
- /* 235 */
8444
- /***/ (function(module, exports, __webpack_require__) {
8445
-
8446
- "use strict";
8447
-
8448
- var defineProperty = __webpack_require__(17).f;
8449
- var create = __webpack_require__(69);
8450
- var redefineAll = __webpack_require__(152);
8451
- var bind = __webpack_require__(94);
8452
- var anInstance = __webpack_require__(136);
8453
- var iterate = __webpack_require__(154);
8454
- var defineIterator = __webpack_require__(166);
8455
- var setSpecies = __webpack_require__(153);
8456
- var DESCRIPTORS = __webpack_require__(13);
8457
- var fastKey = __webpack_require__(205).fastKey;
8458
- var InternalStateModule = __webpack_require__(45);
8459
-
8460
- var setInternalState = InternalStateModule.set;
8461
- var internalStateGetterFor = InternalStateModule.getterFor;
8462
-
8463
- module.exports = {
8464
- getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
8465
- var C = wrapper(function (that, iterable) {
8466
- anInstance(that, C, CONSTRUCTOR_NAME);
8467
- setInternalState(that, {
8468
- type: CONSTRUCTOR_NAME,
8469
- index: create(null),
8470
- first: undefined,
8471
- last: undefined,
8472
- size: 0
8473
- });
8474
- if (!DESCRIPTORS) that.size = 0;
8475
- if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
8476
- });
8477
-
8478
- var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
8479
-
8480
- var define = function (that, key, value) {
8481
- var state = getInternalState(that);
8482
- var entry = getEntry(that, key);
8483
- var previous, index;
8484
- // change existing entry
8485
- if (entry) {
8486
- entry.value = value;
8487
- // create new entry
8488
- } else {
8489
- state.last = entry = {
8490
- index: index = fastKey(key, true),
8491
- key: key,
8492
- value: value,
8493
- previous: previous = state.last,
8494
- next: undefined,
8495
- removed: false
8496
- };
8497
- if (!state.first) state.first = entry;
8498
- if (previous) previous.next = entry;
8499
- if (DESCRIPTORS) state.size++;
8500
- else that.size++;
8501
- // add to index
8502
- if (index !== 'F') state.index[index] = entry;
8503
- } return that;
8504
- };
8505
-
8506
- var getEntry = function (that, key) {
8507
- var state = getInternalState(that);
8508
- // fast case
8509
- var index = fastKey(key);
8510
- var entry;
8511
- if (index !== 'F') return state.index[index];
8512
- // frozen object case
8513
- for (entry = state.first; entry; entry = entry.next) {
8514
- if (entry.key == key) return entry;
8515
- }
8516
- };
8517
-
8518
- redefineAll(C.prototype, {
8519
- // 23.1.3.1 Map.prototype.clear()
8520
- // 23.2.3.2 Set.prototype.clear()
8521
- clear: function clear() {
8522
- var that = this;
8523
- var state = getInternalState(that);
8524
- var data = state.index;
8525
- var entry = state.first;
8526
- while (entry) {
8527
- entry.removed = true;
8528
- if (entry.previous) entry.previous = entry.previous.next = undefined;
8529
- delete data[entry.index];
8530
- entry = entry.next;
8531
- }
8532
- state.first = state.last = undefined;
8533
- if (DESCRIPTORS) state.size = 0;
8534
- else that.size = 0;
8535
- },
8536
- // 23.1.3.3 Map.prototype.delete(key)
8537
- // 23.2.3.4 Set.prototype.delete(value)
8538
- 'delete': function (key) {
8539
- var that = this;
8540
- var state = getInternalState(that);
8541
- var entry = getEntry(that, key);
8542
- if (entry) {
8543
- var next = entry.next;
8544
- var prev = entry.previous;
8545
- delete state.index[entry.index];
8546
- entry.removed = true;
8547
- if (prev) prev.next = next;
8548
- if (next) next.previous = prev;
8549
- if (state.first == entry) state.first = next;
8550
- if (state.last == entry) state.last = prev;
8551
- if (DESCRIPTORS) state.size--;
8552
- else that.size--;
8553
- } return !!entry;
8554
- },
8555
- // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
8556
- // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
8557
- forEach: function forEach(callbackfn /* , that = undefined */) {
8558
- var state = getInternalState(this);
8559
- var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
8560
- var entry;
8561
- while (entry = entry ? entry.next : state.first) {
8562
- boundFunction(entry.value, entry.key, this);
8563
- // revert to the last existing entry
8564
- while (entry && entry.removed) entry = entry.previous;
8565
- }
8566
- },
8567
- // 23.1.3.7 Map.prototype.has(key)
8568
- // 23.2.3.7 Set.prototype.has(value)
8569
- has: function has(key) {
8570
- return !!getEntry(this, key);
8571
- }
8572
- });
8573
-
8574
- redefineAll(C.prototype, IS_MAP ? {
8575
- // 23.1.3.6 Map.prototype.get(key)
8576
- get: function get(key) {
8577
- var entry = getEntry(this, key);
8578
- return entry && entry.value;
8579
- },
8580
- // 23.1.3.9 Map.prototype.set(key, value)
8581
- set: function set(key, value) {
8582
- return define(this, key === 0 ? 0 : key, value);
8583
- }
8584
- } : {
8585
- // 23.2.3.1 Set.prototype.add(value)
8586
- add: function add(value) {
8587
- return define(this, value = value === 0 ? 0 : value, value);
8588
- }
8589
- });
8590
- if (DESCRIPTORS) defineProperty(C.prototype, 'size', {
8591
- get: function () {
8592
- return getInternalState(this).size;
8593
- }
8594
- });
8595
- return C;
8596
- },
8597
- setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {
8598
- var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';
8599
- var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);
8600
- var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);
8601
- // add .keys, .values, .entries, [@@iterator]
8602
- // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
8603
- defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {
8604
- setInternalState(this, {
8605
- type: ITERATOR_NAME,
8606
- target: iterated,
8607
- state: getInternalCollectionState(iterated),
8608
- kind: kind,
8609
- last: undefined
8610
- });
8611
- }, function () {
8612
- var state = getInternalIteratorState(this);
8613
- var kind = state.kind;
8614
- var entry = state.last;
8615
- // revert to the last existing entry
8616
- while (entry && entry.removed) entry = entry.previous;
8617
- // get next entry
8618
- if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {
8619
- // or finish the iteration
8620
- state.target = undefined;
8621
- return { value: undefined, done: true };
8622
- }
8623
- // return step by kind
8624
- if (kind == 'keys') return { value: entry.key, done: false };
8625
- if (kind == 'values') return { value: entry.value, done: false };
8626
- return { value: [entry.key, entry.value], done: false };
8627
- }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
8628
-
8629
- // add [@@species], 23.1.2.2, 23.2.2.2
8630
- setSpecies(CONSTRUCTOR_NAME);
8631
- }
8632
- };
8633
-
8634
-
8635
- /***/ }),
8636
- /* 236 */,
8637
- /* 237 */,
8638
- /* 238 */,
8639
- /* 239 */,
8640
- /* 240 */,
8641
- /* 241 */,
8642
- /* 242 */,
8643
- /* 243 */,
8644
- /* 244 */,
8645
- /* 245 */,
8646
- /* 246 */,
8647
- /* 247 */
8648
- /***/ (function(module, exports) {
8649
-
8650
- (function() { module.exports = window["wc"]["currency"]; }());
8651
-
8652
- /***/ }),
8653
- /* 248 */
8654
- /***/ (function(module, exports, __webpack_require__) {
8655
-
8656
- "use strict";
8657
-
8658
- var collection = __webpack_require__(229);
8659
- var collectionStrong = __webpack_require__(235);
8660
-
8661
- // `Set` constructor
8662
- // https://tc39.es/ecma262/#sec-set-objects
8663
- module.exports = collection('Set', function (init) {
8664
- return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };
8665
- }, collectionStrong);
8666
-
8667
-
8668
- /***/ }),
8669
- /* 249 */
8670
- /***/ (function(module, exports, __webpack_require__) {
8671
-
8672
- var DESCRIPTORS = __webpack_require__(13);
8673
- var objectKeys = __webpack_require__(54);
8674
- var toIndexedObject = __webpack_require__(21);
8675
- var propertyIsEnumerable = __webpack_require__(76).f;
8676
-
8677
- // `Object.{ entries, values }` methods implementation
8678
- var createMethod = function (TO_ENTRIES) {
8679
- return function (it) {
8680
- var O = toIndexedObject(it);
8681
- var keys = objectKeys(O);
8682
- var length = keys.length;
8683
- var i = 0;
8684
- var result = [];
8685
- var key;
8686
- while (length > i) {
8687
- key = keys[i++];
8688
- if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {
8689
- result.push(TO_ENTRIES ? [key, O[key]] : O[key]);
8690
- }
8691
- }
8692
- return result;
8693
- };
8694
- };
8695
-
8696
- module.exports = {
8697
- // `Object.entries` method
8698
- // https://tc39.es/ecma262/#sec-object.entries
8699
- entries: createMethod(true),
8700
- // `Object.values` method
8701
- // https://tc39.es/ecma262/#sec-object.values
8702
- values: createMethod(false)
8703
- };
8704
-
8705
-
8706
- /***/ }),
8707
- /* 250 */
8708
- /***/ (function(module, exports, __webpack_require__) {
8709
-
8710
- var $ = __webpack_require__(12);
8711
- var assign = __webpack_require__(221);
8712
-
8713
- // `Object.assign` method
8714
- // https://tc39.es/ecma262/#sec-object.assign
8715
- $({ target: 'Object', stat: true, forced: Object.assign !== assign }, {
8716
- assign: assign
8717
- });
8718
-
8719
-
8720
- /***/ }),
8721
- /* 251 */,
8722
- /* 252 */
8723
- /***/ (function(module, exports, __webpack_require__) {
8724
-
8725
- var anObject = __webpack_require__(9);
8726
- var iteratorClose = __webpack_require__(172);
8727
-
8728
- // call something on iterator step with safe closing on error
8729
- module.exports = function (iterator, fn, value, ENTRIES) {
8730
- try {
8731
- return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
8732
- // 7.4.6 IteratorClose(iterator, completion)
8733
- } catch (error) {
8734
- iteratorClose(iterator);
8735
- throw error;
8736
- }
8737
- };
8738
-
8739
-
8740
- /***/ }),
8741
- /* 253 */
8742
- /***/ (function(module, exports, __webpack_require__) {
8743
-
8744
- var fails = __webpack_require__(6);
8745
-
8746
- module.exports = !fails(function () {
8747
- return Object.isExtensible(Object.preventExtensions({}));
8748
- });
8749
-
8750
-
8751
- /***/ }),
8752
- /* 254 */
8753
- /***/ (function(module, exports, __webpack_require__) {
8754
-
8755
- var fails = __webpack_require__(6);
8756
- var wellKnownSymbol = __webpack_require__(8);
8757
- var IS_PURE = __webpack_require__(57);
8758
-
8759
- var ITERATOR = wellKnownSymbol('iterator');
8760
-
8761
- module.exports = !fails(function () {
8762
- var url = new URL('b?a=1&b=2&c=3', 'http://a');
8763
- var searchParams = url.searchParams;
8764
- var result = '';
8765
- url.pathname = 'c%20d';
8766
- searchParams.forEach(function (value, key) {
8767
- searchParams['delete']('b');
8768
- result += key + value;
8769
- });
8770
- return (IS_PURE && !url.toJSON)
8771
- || !searchParams.sort
8772
- || url.href !== 'http://a/c%20d?a=1&c=3'
8773
- || searchParams.get('c') !== '3'
8774
- || String(new URLSearchParams('?a=1')) !== 'a=1'
8775
- || !searchParams[ITERATOR]
8776
- // throws in Edge
8777
- || new URL('https://a@b').username !== 'a'
8778
- || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'
8779
- // not punycoded in Edge
8780
- || new URL('http://тест').host !== 'xn--e1aybc'
8781
- // not escaped in Chrome 62-
8782
- || new URL('http://a#б').hash !== '#%D0%B1'
8783
- // fails in Chrome 66-
8784
- || result !== 'a1c3'
8785
- // throws in Safari
8786
- || new URL('http://x', undefined).host !== 'x';
8787
- });
8788
-
8789
-
8790
- /***/ }),
8791
- /* 255 */,
8792
- /* 256 */,
8793
- /* 257 */,
8794
- /* 258 */,
8795
- /* 259 */,
8796
- /* 260 */,
8797
- /* 261 */,
8798
- /* 262 */
8799
- /***/ (function(module, exports) {
8800
-
8801
- (function() { module.exports = window["wp"]["dom"]; }());
8802
-
8803
- /***/ }),
8804
- /* 263 */,
8805
- /* 264 */,
8806
- /* 265 */,
8807
- /* 266 */,
8808
- /* 267 */,
8809
- /* 268 */
8810
- /***/ (function(module, exports, __webpack_require__) {
8811
-
8812
- "use strict";
8813
-
8814
-
8815
- if (true) {
8816
- module.exports = __webpack_require__(298);
8817
- } else {}
8818
-
8819
-
8820
- /***/ }),
8821
- /* 269 */,
8822
- /* 270 */,
8823
- /* 271 */,
8824
- /* 272 */,
8825
- /* 273 */,
8826
- /* 274 */,
8827
- /* 275 */,
8828
- /* 276 */,
8829
- /* 277 */
8830
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
8831
-
8832
- "use strict";
8833
- /* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(164);
8834
- /* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_0__);
8835
- /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(100);
8836
- /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__);
8837
- /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(151);
8838
- /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_2__);
8839
- /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(123);
8840
- /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_3__);
8841
- /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(146);
8842
- /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_4__);
8843
- /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(41);
8844
- /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_5__);
8845
- /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2);
8846
- /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);
8847
- /* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(141);
8848
- /* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_7__);
8849
- /* harmony import */ var _woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(85);
8850
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(0);
8851
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_9__);
8852
-
8853
-
8854
-
8855
-
8856
-
8857
-
8858
-
8859
- /**
8860
- * External dependencies
8861
- */
8862
-
8863
-
8864
-
8865
-
8866
- var manageStock = Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_8__[/* getSetting */ "g"])('manageStock', 'no');
8867
- var REPORTS_FILTER = 'woocommerce_admin_reports_list';
8868
- /**
8869
- * Internal dependencies
8870
- */
8871
-
8872
- var RevenueReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_9__["lazy"])(function () {
8873
- return Promise.all(/* import() | analytics-report-revenue */[__webpack_require__.e(0), __webpack_require__.e(16)]).then(__webpack_require__.bind(null, 584));
8874
- });
8875
- var ProductsReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_9__["lazy"])(function () {
8876
- return Promise.all(/* import() | analytics-report-products */[__webpack_require__.e(0), __webpack_require__.e(2), __webpack_require__.e(15)]).then(__webpack_require__.bind(null, 580));
8877
- });
8878
- var VariationsReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_9__["lazy"])(function () {
8879
- return Promise.all(/* import() | analytics-report-variations */[__webpack_require__.e(0), __webpack_require__.e(2), __webpack_require__.e(19)]).then(__webpack_require__.bind(null, 585));
8880
- });
8881
- var OrdersReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_9__["lazy"])(function () {
8882
- return Promise.all(/* import() | analytics-report-orders */[__webpack_require__.e(0), __webpack_require__.e(5), __webpack_require__.e(14)]).then(__webpack_require__.bind(null, 586));
8883
- });
8884
- var CategoriesReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_9__["lazy"])(function () {
8885
- return Promise.all(/* import() | analytics-report-categories */[__webpack_require__.e(0), __webpack_require__.e(2), __webpack_require__.e(10)]).then(__webpack_require__.bind(null, 582));
8886
- });
8887
- var CouponsReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_9__["lazy"])(function () {
8888
- return Promise.all(/* import() | analytics-report-coupons */[__webpack_require__.e(0), __webpack_require__.e(11)]).then(__webpack_require__.bind(null, 587));
8889
- });
8890
- var TaxesReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_9__["lazy"])(function () {
8891
- return Promise.all(/* import() | analytics-report-taxes */[__webpack_require__.e(0), __webpack_require__.e(18)]).then(__webpack_require__.bind(null, 588));
8892
- });
8893
- var DownloadsReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_9__["lazy"])(function () {
8894
- return Promise.all(/* import() | analytics-report-downloads */[__webpack_require__.e(0), __webpack_require__.e(13)]).then(__webpack_require__.bind(null, 589));
8895
- });
8896
- var StockReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_9__["lazy"])(function () {
8897
- return Promise.all(/* import() | analytics-report-stock */[__webpack_require__.e(0), __webpack_require__.e(17)]).then(__webpack_require__.bind(null, 581));
8898
- });
8899
- var CustomersReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_9__["lazy"])(function () {
8900
- return Promise.all(/* import() | analytics-report-customers */[__webpack_require__.e(0), __webpack_require__.e(12)]).then(__webpack_require__.bind(null, 583));
8901
- });
8902
- /* harmony default export */ __webpack_exports__["a"] = (function () {
8903
- var reports = [{
8904
- report: 'revenue',
8905
- title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Revenue', 'woocommerce-admin'),
8906
- component: RevenueReport,
8907
- navArgs: {
8908
- id: 'woocommerce-analytics-revenue'
8909
- }
8910
- }, {
8911
- report: 'products',
8912
- title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Products', 'woocommerce-admin'),
8913
- component: ProductsReport,
8914
- navArgs: {
8915
- id: 'woocommerce-analytics-products'
8916
- }
8917
- }, {
8918
- report: 'variations',
8919
- title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Variations', 'woocommerce-admin'),
8920
- component: VariationsReport,
8921
- navArgs: {
8922
- id: 'woocommerce-analytics-variations'
8923
- }
8924
- }, {
8925
- report: 'orders',
8926
- title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Orders', 'woocommerce-admin'),
8927
- component: OrdersReport,
8928
- navArgs: {
8929
- id: 'woocommerce-analytics-orders'
8930
- }
8931
- }, {
8932
- report: 'categories',
8933
- title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Categories', 'woocommerce-admin'),
8934
- component: CategoriesReport,
8935
- navArgs: {
8936
- id: 'woocommerce-analytics-categories'
8937
- }
8938
- }, {
8939
- report: 'coupons',
8940
- title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Coupons', 'woocommerce-admin'),
8941
- component: CouponsReport,
8942
- navArgs: {
8943
- id: 'woocommerce-analytics-coupons'
8944
- }
8945
- }, {
8946
- report: 'taxes',
8947
- title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Taxes', 'woocommerce-admin'),
8948
- component: TaxesReport,
8949
- navArgs: {
8950
- id: 'woocommerce-analytics-taxes'
8951
- }
8952
- }, manageStock === 'yes' ? {
8953
- report: 'stock',
8954
- title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Stock', 'woocommerce-admin'),
8955
- component: StockReport,
8956
- navArgs: {
8957
- id: 'woocommerce-analytics-stock'
8958
- }
8959
- } : null, {
8960
- report: 'customers',
8961
- title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Customers', 'woocommerce-admin'),
8962
- component: CustomersReport
8963
- }, {
8964
- report: 'downloads',
8965
- title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__["__"])('Downloads', 'woocommerce-admin'),
8966
- component: DownloadsReport,
8967
- navArgs: {
8968
- id: 'woocommerce-analytics-downloads'
8969
- }
8970
- }].filter(Boolean);
8971
- return Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_7__["applyFilters"])(REPORTS_FILTER, reports);
8972
- });
8973
-
8974
- /***/ }),
8975
- /* 278 */
8976
- /***/ (function(module, exports, __webpack_require__) {
8977
-
8978
- "use strict";
8979
-
8980
-
8981
- var reactIs = __webpack_require__(268);
8982
-
8983
- /**
8984
- * Copyright 2015, Yahoo! Inc.
8985
- * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
8986
- */
8987
- var REACT_STATICS = {
8988
- childContextTypes: true,
8989
- contextType: true,
8990
- contextTypes: true,
8991
- defaultProps: true,
8992
- displayName: true,
8993
- getDefaultProps: true,
8994
- getDerivedStateFromError: true,
8995
- getDerivedStateFromProps: true,
8996
- mixins: true,
8997
- propTypes: true,
8998
- type: true
8999
- };
9000
- var KNOWN_STATICS = {
9001
- name: true,
9002
- length: true,
9003
- prototype: true,
9004
- caller: true,
9005
- callee: true,
9006
- arguments: true,
9007
- arity: true
9008
- };
9009
- var FORWARD_REF_STATICS = {
9010
- '$$typeof': true,
9011
- render: true,
9012
- defaultProps: true,
9013
- displayName: true,
9014
- propTypes: true
9015
- };
9016
- var MEMO_STATICS = {
9017
- '$$typeof': true,
9018
- compare: true,
9019
- defaultProps: true,
9020
- displayName: true,
9021
- propTypes: true,
9022
- type: true
9023
- };
9024
- var TYPE_STATICS = {};
9025
- TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
9026
- TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
9027
-
9028
- function getStatics(component) {
9029
- // React v16.11 and below
9030
- if (reactIs.isMemo(component)) {
9031
- return MEMO_STATICS;
9032
- } // React v16.12 and above
9033
-
9034
-
9035
- return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
9036
- }
9037
-
9038
- var defineProperty = Object.defineProperty;
9039
- var getOwnPropertyNames = Object.getOwnPropertyNames;
9040
- var getOwnPropertySymbols = Object.getOwnPropertySymbols;
9041
- var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
9042
- var getPrototypeOf = Object.getPrototypeOf;
9043
- var objectPrototype = Object.prototype;
9044
- function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
9045
- if (typeof sourceComponent !== 'string') {
9046
- // don't hoist over string (html) components
9047
- if (objectPrototype) {
9048
- var inheritedComponent = getPrototypeOf(sourceComponent);
9049
-
9050
- if (inheritedComponent && inheritedComponent !== objectPrototype) {
9051
- hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
9052
- }
9053
- }
9054
-
9055
- var keys = getOwnPropertyNames(sourceComponent);
9056
-
9057
- if (getOwnPropertySymbols) {
9058
- keys = keys.concat(getOwnPropertySymbols(sourceComponent));
9059
- }
9060
-
9061
- var targetStatics = getStatics(targetComponent);
9062
- var sourceStatics = getStatics(sourceComponent);
9063
-
9064
- for (var i = 0; i < keys.length; ++i) {
9065
- var key = keys[i];
9066
-
9067
- if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
9068
- var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
9069
-
9070
- try {
9071
- // Avoid failures from read-only properties
9072
- defineProperty(targetComponent, key, descriptor);
9073
- } catch (e) {}
9074
- }
9075
- }
9076
- }
9077
-
9078
- return targetComponent;
9079
- }
9080
-
9081
- module.exports = hoistNonReactStatics;
9082
-
9083
-
9084
- /***/ }),
9085
- /* 279 */
9086
- /***/ (function(module, exports) {
9087
-
9088
- (function() { module.exports = window["wp"]["plugins"]; }());
9089
-
9090
- /***/ }),
9091
- /* 280 */
9092
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
9093
-
9094
- "use strict";
9095
-
9096
- // EXPORTS
9097
- __webpack_require__.d(__webpack_exports__, "c", function() { return /* binding */ layout_PrimaryLayout; });
9098
- __webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ PageLayout; });
9099
- __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ EmbedLayout; });
9100
-
9101
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.reflect.construct.js
9102
- var es_reflect_construct = __webpack_require__(64);
9103
-
9104
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.keys.js
9105
- var es_object_keys = __webpack_require__(37);
9106
-
9107
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js
9108
- var es_symbol = __webpack_require__(53);
9109
-
9110
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js
9111
- var es_object_get_own_property_descriptor = __webpack_require__(60);
9112
-
9113
- // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js
9114
- var web_dom_collections_for_each = __webpack_require__(49);
9115
-
9116
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptors.js
9117
- var es_object_get_own_property_descriptors = __webpack_require__(61);
9118
-
9119
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js
9120
- var helpers_extends = __webpack_require__(80);
9121
- var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends);
9122
-
9123
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js
9124
- var objectWithoutProperties = __webpack_require__(116);
9125
- var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
9126
-
9127
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
9128
- var defineProperty = __webpack_require__(7);
9129
- var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
9130
-
9131
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
9132
- var classCallCheck = __webpack_require__(22);
9133
- var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
9134
-
9135
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
9136
- var createClass = __webpack_require__(23);
9137
- var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
9138
-
9139
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
9140
- var inherits = __webpack_require__(24);
9141
- var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
9142
-
9143
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
9144
- var possibleConstructorReturn = __webpack_require__(25);
9145
- var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
9146
-
9147
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
9148
- var getPrototypeOf = __webpack_require__(14);
9149
- var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
9150
-
9151
- // EXTERNAL MODULE: external ["wp","element"]
9152
- var external_wp_element_ = __webpack_require__(0);
9153
-
9154
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.js
9155
- var es_promise = __webpack_require__(164);
9156
-
9157
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js
9158
- var es_object_to_string = __webpack_require__(100);
9159
-
9160
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.iterator.js
9161
- var es_string_iterator = __webpack_require__(151);
9162
-
9163
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.iterator.js
9164
- var es_array_iterator = __webpack_require__(123);
9165
-
9166
- // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.iterator.js
9167
- var web_dom_collections_iterator = __webpack_require__(146);
9168
-
9169
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.search.js
9170
- var es_string_search = __webpack_require__(170);
9171
-
9172
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.exec.js
9173
- var es_regexp_exec = __webpack_require__(88);
9174
-
9175
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.replace.js
9176
- var es_string_replace = __webpack_require__(135);
9177
-
9178
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.includes.js
9179
- var es_array_includes = __webpack_require__(107);
9180
-
9181
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.includes.js
9182
- var es_string_includes = __webpack_require__(140);
9183
-
9184
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js
9185
- var es_array_map = __webpack_require__(51);
9186
-
9187
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js
9188
- var es_array_filter = __webpack_require__(41);
9189
-
9190
- // EXTERNAL MODULE: external ["wp","compose"]
9191
- var external_wp_compose_ = __webpack_require__(65);
9192
-
9193
- // EXTERNAL MODULE: external ["wp","data"]
9194
- var external_wp_data_ = __webpack_require__(26);
9195
-
9196
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js + 1 modules
9197
- var inheritsLoose = __webpack_require__(128);
9198
-
9199
- // EXTERNAL MODULE: external "React"
9200
- var external_React_ = __webpack_require__(20);
9201
- var external_React_default = /*#__PURE__*/__webpack_require__.n(external_React_);
9202
-
9203
- // EXTERNAL MODULE: ./node_modules/prop-types/index.js
9204
- var prop_types = __webpack_require__(1);
9205
- var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
9206
-
9207
- // EXTERNAL MODULE: ./node_modules/history/esm/history.js + 2 modules
9208
- var esm_history = __webpack_require__(202);
9209
-
9210
- // EXTERNAL MODULE: ./node_modules/mini-create-react-context/dist/esm/index.js
9211
- var esm = __webpack_require__(316);
9212
-
9213
- // EXTERNAL MODULE: ./node_modules/tiny-invariant/dist/tiny-invariant.esm.js
9214
- var tiny_invariant_esm = __webpack_require__(176);
9215
-
9216
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
9217
- var esm_extends = __webpack_require__(117);
9218
-
9219
- // EXTERNAL MODULE: ./node_modules/path-to-regexp/index.js
9220
- var path_to_regexp = __webpack_require__(317);
9221
- var path_to_regexp_default = /*#__PURE__*/__webpack_require__.n(path_to_regexp);
9222
-
9223
- // EXTERNAL MODULE: ./node_modules/react-is/index.js
9224
- var react_is = __webpack_require__(268);
9225
-
9226
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
9227
- var objectWithoutPropertiesLoose = __webpack_require__(133);
9228
-
9229
- // EXTERNAL MODULE: ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js
9230
- var hoist_non_react_statics_cjs = __webpack_require__(278);
9231
- var hoist_non_react_statics_cjs_default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics_cjs);
9232
-
9233
- // CONCATENATED MODULE: ./node_modules/react-router/esm/react-router.js
9234
-
9235
-
9236
-
9237
-
9238
-
9239
-
9240
-
9241
-
9242
-
9243
-
9244
-
9245
-
9246
-
9247
- // TODO: Replace with React.createContext once we can assume React 16+
9248
-
9249
- var react_router_createNamedContext = function createNamedContext(name) {
9250
- var context = Object(esm["a" /* default */])();
9251
- context.displayName = name;
9252
- return context;
9253
- };
9254
-
9255
- var historyContext =
9256
- /*#__PURE__*/
9257
- react_router_createNamedContext("Router-History");
9258
-
9259
- // TODO: Replace with React.createContext once we can assume React 16+
9260
-
9261
- var createNamedContext$1 = function createNamedContext(name) {
9262
- var context = Object(esm["a" /* default */])();
9263
- context.displayName = name;
9264
- return context;
9265
- };
9266
-
9267
- var react_router_context =
9268
- /*#__PURE__*/
9269
- createNamedContext$1("Router");
9270
-
9271
- /**
9272
- * The public API for putting history on context.
9273
- */
9274
-
9275
- var react_router_Router =
9276
- /*#__PURE__*/
9277
- function (_React$Component) {
9278
- Object(inheritsLoose["a" /* default */])(Router, _React$Component);
9279
-
9280
- Router.computeRootMatch = function computeRootMatch(pathname) {
9281
- return {
9282
- path: "/",
9283
- url: "/",
9284
- params: {},
9285
- isExact: pathname === "/"
9286
- };
9287
- };
9288
-
9289
- function Router(props) {
9290
- var _this;
9291
-
9292
- _this = _React$Component.call(this, props) || this;
9293
- _this.state = {
9294
- location: props.history.location
9295
- }; // This is a bit of a hack. We have to start listening for location
9296
- // changes here in the constructor in case there are any <Redirect>s
9297
- // on the initial render. If there are, they will replace/push when
9298
- // they mount and since cDM fires in children before parents, we may
9299
- // get a new location before the <Router> is mounted.
9300
-
9301
- _this._isMounted = false;
9302
- _this._pendingLocation = null;
9303
-
9304
- if (!props.staticContext) {
9305
- _this.unlisten = props.history.listen(function (location) {
9306
- if (_this._isMounted) {
9307
- _this.setState({
9308
- location: location
9309
- });
9310
- } else {
9311
- _this._pendingLocation = location;
9312
- }
9313
- });
9314
- }
9315
-
9316
- return _this;
9317
- }
9318
-
9319
- var _proto = Router.prototype;
9320
-
9321
- _proto.componentDidMount = function componentDidMount() {
9322
- this._isMounted = true;
9323
-
9324
- if (this._pendingLocation) {
9325
- this.setState({
9326
- location: this._pendingLocation
9327
- });
9328
- }
9329
- };
9330
-
9331
- _proto.componentWillUnmount = function componentWillUnmount() {
9332
- if (this.unlisten) this.unlisten();
9333
- };
9334
-
9335
- _proto.render = function render() {
9336
- return external_React_default.a.createElement(react_router_context.Provider, {
9337
- value: {
9338
- history: this.props.history,
9339
- location: this.state.location,
9340
- match: Router.computeRootMatch(this.state.location.pathname),
9341
- staticContext: this.props.staticContext
9342
- }
9343
- }, external_React_default.a.createElement(historyContext.Provider, {
9344
- children: this.props.children || null,
9345
- value: this.props.history
9346
- }));
9347
- };
9348
-
9349
- return Router;
9350
- }(external_React_default.a.Component);
9351
-
9352
- if (false) {}
9353
-
9354
- /**
9355
- * The public API for a <Router> that stores location in memory.
9356
- */
9357
-
9358
- var react_router_MemoryRouter =
9359
- /*#__PURE__*/
9360
- function (_React$Component) {
9361
- Object(inheritsLoose["a" /* default */])(MemoryRouter, _React$Component);
9362
-
9363
- function MemoryRouter() {
9364
- var _this;
9365
-
9366
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
9367
- args[_key] = arguments[_key];
9368
- }
9369
-
9370
- _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
9371
- _this.history = Object(esm_history["c" /* createMemoryHistory */])(_this.props);
9372
- return _this;
9373
- }
9374
-
9375
- var _proto = MemoryRouter.prototype;
9376
-
9377
- _proto.render = function render() {
9378
- return external_React_default.a.createElement(react_router_Router, {
9379
- history: this.history,
9380
- children: this.props.children
9381
- });
9382
- };
9383
-
9384
- return MemoryRouter;
9385
- }(external_React_default.a.Component);
9386
-
9387
- if (false) {}
9388
-
9389
- var react_router_Lifecycle =
9390
- /*#__PURE__*/
9391
- function (_React$Component) {
9392
- Object(inheritsLoose["a" /* default */])(Lifecycle, _React$Component);
9393
-
9394
- function Lifecycle() {
9395
- return _React$Component.apply(this, arguments) || this;
9396
- }
9397
-
9398
- var _proto = Lifecycle.prototype;
9399
-
9400
- _proto.componentDidMount = function componentDidMount() {
9401
- if (this.props.onMount) this.props.onMount.call(this, this);
9402
- };
9403
-
9404
- _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
9405
- if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);
9406
- };
9407
-
9408
- _proto.componentWillUnmount = function componentWillUnmount() {
9409
- if (this.props.onUnmount) this.props.onUnmount.call(this, this);
9410
- };
9411
-
9412
- _proto.render = function render() {
9413
- return null;
9414
- };
9415
-
9416
- return Lifecycle;
9417
- }(external_React_default.a.Component);
9418
-
9419
- /**
9420
- * The public API for prompting the user before navigating away from a screen.
9421
- */
9422
-
9423
- function Prompt(_ref) {
9424
- var message = _ref.message,
9425
- _ref$when = _ref.when,
9426
- when = _ref$when === void 0 ? true : _ref$when;
9427
- return external_React_default.a.createElement(react_router_context.Consumer, null, function (context) {
9428
- !context ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
9429
- if (!when || context.staticContext) return null;
9430
- var method = context.history.block;
9431
- return external_React_default.a.createElement(react_router_Lifecycle, {
9432
- onMount: function onMount(self) {
9433
- self.release = method(message);
9434
- },
9435
- onUpdate: function onUpdate(self, prevProps) {
9436
- if (prevProps.message !== message) {
9437
- self.release();
9438
- self.release = method(message);
9439
- }
9440
- },
9441
- onUnmount: function onUnmount(self) {
9442
- self.release();
9443
- },
9444
- message: message
9445
- });
9446
- });
9447
- }
9448
-
9449
- if (false) { var messageType; }
9450
-
9451
- var cache = {};
9452
- var cacheLimit = 10000;
9453
- var cacheCount = 0;
9454
-
9455
- function compilePath(path) {
9456
- if (cache[path]) return cache[path];
9457
- var generator = path_to_regexp_default.a.compile(path);
9458
-
9459
- if (cacheCount < cacheLimit) {
9460
- cache[path] = generator;
9461
- cacheCount++;
9462
- }
9463
-
9464
- return generator;
9465
- }
9466
- /**
9467
- * Public API for generating a URL pathname from a path and parameters.
9468
- */
9469
-
9470
-
9471
- function generatePath(path, params) {
9472
- if (path === void 0) {
9473
- path = "/";
9474
- }
9475
-
9476
- if (params === void 0) {
9477
- params = {};
9478
- }
9479
-
9480
- return path === "/" ? path : compilePath(path)(params, {
9481
- pretty: true
9482
- });
9483
- }
9484
-
9485
- /**
9486
- * The public API for navigating programmatically with a component.
9487
- */
9488
-
9489
- function Redirect(_ref) {
9490
- var computedMatch = _ref.computedMatch,
9491
- to = _ref.to,
9492
- _ref$push = _ref.push,
9493
- push = _ref$push === void 0 ? false : _ref$push;
9494
- return external_React_default.a.createElement(react_router_context.Consumer, null, function (context) {
9495
- !context ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
9496
- var history = context.history,
9497
- staticContext = context.staticContext;
9498
- var method = push ? history.push : history.replace;
9499
- var location = Object(esm_history["b" /* createLocation */])(computedMatch ? typeof to === "string" ? generatePath(to, computedMatch.params) : Object(esm_extends["a" /* default */])({}, to, {
9500
- pathname: generatePath(to.pathname, computedMatch.params)
9501
- }) : to); // When rendering in a static context,
9502
- // set the new location immediately.
9503
-
9504
- if (staticContext) {
9505
- method(location);
9506
- return null;
9507
- }
9508
-
9509
- return external_React_default.a.createElement(react_router_Lifecycle, {
9510
- onMount: function onMount() {
9511
- method(location);
9512
- },
9513
- onUpdate: function onUpdate(self, prevProps) {
9514
- var prevLocation = Object(esm_history["b" /* createLocation */])(prevProps.to);
9515
-
9516
- if (!Object(esm_history["e" /* locationsAreEqual */])(prevLocation, Object(esm_extends["a" /* default */])({}, location, {
9517
- key: prevLocation.key
9518
- }))) {
9519
- method(location);
9520
- }
9521
- },
9522
- to: to
9523
- });
9524
- });
9525
- }
9526
-
9527
- if (false) {}
9528
-
9529
- var cache$1 = {};
9530
- var cacheLimit$1 = 10000;
9531
- var cacheCount$1 = 0;
9532
-
9533
- function compilePath$1(path, options) {
9534
- var cacheKey = "" + options.end + options.strict + options.sensitive;
9535
- var pathCache = cache$1[cacheKey] || (cache$1[cacheKey] = {});
9536
- if (pathCache[path]) return pathCache[path];
9537
- var keys = [];
9538
- var regexp = path_to_regexp_default()(path, keys, options);
9539
- var result = {
9540
- regexp: regexp,
9541
- keys: keys
9542
- };
9543
-
9544
- if (cacheCount$1 < cacheLimit$1) {
9545
- pathCache[path] = result;
9546
- cacheCount$1++;
9547
- }
9548
-
9549
- return result;
9550
- }
9551
- /**
9552
- * Public API for matching a URL pathname to a path.
9553
- */
9554
-
9555
-
9556
- function matchPath(pathname, options) {
9557
- if (options === void 0) {
9558
- options = {};
9559
- }
9560
-
9561
- if (typeof options === "string" || Array.isArray(options)) {
9562
- options = {
9563
- path: options
9564
- };
9565
- }
9566
-
9567
- var _options = options,
9568
- path = _options.path,
9569
- _options$exact = _options.exact,
9570
- exact = _options$exact === void 0 ? false : _options$exact,
9571
- _options$strict = _options.strict,
9572
- strict = _options$strict === void 0 ? false : _options$strict,
9573
- _options$sensitive = _options.sensitive,
9574
- sensitive = _options$sensitive === void 0 ? false : _options$sensitive;
9575
- var paths = [].concat(path);
9576
- return paths.reduce(function (matched, path) {
9577
- if (!path && path !== "") return null;
9578
- if (matched) return matched;
9579
-
9580
- var _compilePath = compilePath$1(path, {
9581
- end: exact,
9582
- strict: strict,
9583
- sensitive: sensitive
9584
- }),
9585
- regexp = _compilePath.regexp,
9586
- keys = _compilePath.keys;
9587
-
9588
- var match = regexp.exec(pathname);
9589
- if (!match) return null;
9590
- var url = match[0],
9591
- values = match.slice(1);
9592
- var isExact = pathname === url;
9593
- if (exact && !isExact) return null;
9594
- return {
9595
- path: path,
9596
- // the path used to match
9597
- url: path === "/" && url === "" ? "/" : url,
9598
- // the matched portion of the URL
9599
- isExact: isExact,
9600
- // whether or not we matched exactly
9601
- params: keys.reduce(function (memo, key, index) {
9602
- memo[key.name] = values[index];
9603
- return memo;
9604
- }, {})
9605
- };
9606
- }, null);
9607
- }
9608
-
9609
- function isEmptyChildren(children) {
9610
- return external_React_default.a.Children.count(children) === 0;
9611
- }
9612
-
9613
- function evalChildrenDev(children, props, path) {
9614
- var value = children(props);
9615
- false ? undefined : void 0;
9616
- return value || null;
9617
- }
9618
- /**
9619
- * The public API for matching a single path and rendering.
9620
- */
9621
-
9622
-
9623
- var react_router_Route =
9624
- /*#__PURE__*/
9625
- function (_React$Component) {
9626
- Object(inheritsLoose["a" /* default */])(Route, _React$Component);
9627
-
9628
- function Route() {
9629
- return _React$Component.apply(this, arguments) || this;
9630
- }
9631
-
9632
- var _proto = Route.prototype;
9633
-
9634
- _proto.render = function render() {
9635
- var _this = this;
9636
-
9637
- return external_React_default.a.createElement(react_router_context.Consumer, null, function (context$1) {
9638
- !context$1 ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
9639
- var location = _this.props.location || context$1.location;
9640
- var match = _this.props.computedMatch ? _this.props.computedMatch // <Switch> already computed the match for us
9641
- : _this.props.path ? matchPath(location.pathname, _this.props) : context$1.match;
9642
-
9643
- var props = Object(esm_extends["a" /* default */])({}, context$1, {
9644
- location: location,
9645
- match: match
9646
- });
9647
-
9648
- var _this$props = _this.props,
9649
- children = _this$props.children,
9650
- component = _this$props.component,
9651
- render = _this$props.render; // Preact uses an empty array as children by
9652
- // default, so use null if that's the case.
9653
-
9654
- if (Array.isArray(children) && children.length === 0) {
9655
- children = null;
9656
- }
9657
-
9658
- return external_React_default.a.createElement(react_router_context.Provider, {
9659
- value: props
9660
- }, props.match ? children ? typeof children === "function" ? false ? undefined : children(props) : children : component ? external_React_default.a.createElement(component, props) : render ? render(props) : null : typeof children === "function" ? false ? undefined : children(props) : null);
9661
- });
9662
- };
9663
-
9664
- return Route;
9665
- }(external_React_default.a.Component);
9666
-
9667
- if (false) {}
9668
-
9669
- function addLeadingSlash(path) {
9670
- return path.charAt(0) === "/" ? path : "/" + path;
9671
- }
9672
-
9673
- function addBasename(basename, location) {
9674
- if (!basename) return location;
9675
- return Object(esm_extends["a" /* default */])({}, location, {
9676
- pathname: addLeadingSlash(basename) + location.pathname
9677
- });
9678
- }
9679
-
9680
- function stripBasename(basename, location) {
9681
- if (!basename) return location;
9682
- var base = addLeadingSlash(basename);
9683
- if (location.pathname.indexOf(base) !== 0) return location;
9684
- return Object(esm_extends["a" /* default */])({}, location, {
9685
- pathname: location.pathname.substr(base.length)
9686
- });
9687
- }
9688
-
9689
- function createURL(location) {
9690
- return typeof location === "string" ? location : Object(esm_history["d" /* createPath */])(location);
9691
- }
9692
-
9693
- function staticHandler(methodName) {
9694
- return function () {
9695
- false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) ;
9696
- };
9697
- }
9698
-
9699
- function noop() {}
9700
- /**
9701
- * The public top-level API for a "static" <Router>, so-called because it
9702
- * can't actually change the current location. Instead, it just records
9703
- * location changes in a context object. Useful mainly in testing and
9704
- * server-rendering scenarios.
9705
- */
9706
-
9707
-
9708
- var react_router_StaticRouter =
9709
- /*#__PURE__*/
9710
- function (_React$Component) {
9711
- Object(inheritsLoose["a" /* default */])(StaticRouter, _React$Component);
9712
-
9713
- function StaticRouter() {
9714
- var _this;
9715
-
9716
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
9717
- args[_key] = arguments[_key];
9718
- }
9719
-
9720
- _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
9721
-
9722
- _this.handlePush = function (location) {
9723
- return _this.navigateTo(location, "PUSH");
9724
- };
9725
-
9726
- _this.handleReplace = function (location) {
9727
- return _this.navigateTo(location, "REPLACE");
9728
- };
9729
-
9730
- _this.handleListen = function () {
9731
- return noop;
9732
- };
9733
-
9734
- _this.handleBlock = function () {
9735
- return noop;
9736
- };
9737
-
9738
- return _this;
9739
- }
9740
-
9741
- var _proto = StaticRouter.prototype;
9742
-
9743
- _proto.navigateTo = function navigateTo(location, action) {
9744
- var _this$props = this.props,
9745
- _this$props$basename = _this$props.basename,
9746
- basename = _this$props$basename === void 0 ? "" : _this$props$basename,
9747
- _this$props$context = _this$props.context,
9748
- context = _this$props$context === void 0 ? {} : _this$props$context;
9749
- context.action = action;
9750
- context.location = addBasename(basename, Object(esm_history["b" /* createLocation */])(location));
9751
- context.url = createURL(context.location);
9752
- };
9753
-
9754
- _proto.render = function render() {
9755
- var _this$props2 = this.props,
9756
- _this$props2$basename = _this$props2.basename,
9757
- basename = _this$props2$basename === void 0 ? "" : _this$props2$basename,
9758
- _this$props2$context = _this$props2.context,
9759
- context = _this$props2$context === void 0 ? {} : _this$props2$context,
9760
- _this$props2$location = _this$props2.location,
9761
- location = _this$props2$location === void 0 ? "/" : _this$props2$location,
9762
- rest = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props2, ["basename", "context", "location"]);
9763
-
9764
- var history = {
9765
- createHref: function createHref(path) {
9766
- return addLeadingSlash(basename + createURL(path));
9767
- },
9768
- action: "POP",
9769
- location: stripBasename(basename, Object(esm_history["b" /* createLocation */])(location)),
9770
- push: this.handlePush,
9771
- replace: this.handleReplace,
9772
- go: staticHandler("go"),
9773
- goBack: staticHandler("goBack"),
9774
- goForward: staticHandler("goForward"),
9775
- listen: this.handleListen,
9776
- block: this.handleBlock
9777
- };
9778
- return external_React_default.a.createElement(react_router_Router, Object(esm_extends["a" /* default */])({}, rest, {
9779
- history: history,
9780
- staticContext: context
9781
- }));
9782
- };
9783
-
9784
- return StaticRouter;
9785
- }(external_React_default.a.Component);
9786
-
9787
- if (false) {}
9788
-
9789
- /**
9790
- * The public API for rendering the first <Route> that matches.
9791
- */
9792
-
9793
- var react_router_Switch =
9794
- /*#__PURE__*/
9795
- function (_React$Component) {
9796
- Object(inheritsLoose["a" /* default */])(Switch, _React$Component);
9797
-
9798
- function Switch() {
9799
- return _React$Component.apply(this, arguments) || this;
9800
- }
9801
-
9802
- var _proto = Switch.prototype;
9803
-
9804
- _proto.render = function render() {
9805
- var _this = this;
9806
-
9807
- return external_React_default.a.createElement(react_router_context.Consumer, null, function (context) {
9808
- !context ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
9809
- var location = _this.props.location || context.location;
9810
- var element, match; // We use React.Children.forEach instead of React.Children.toArray().find()
9811
- // here because toArray adds keys to all child elements and we do not want
9812
- // to trigger an unmount/remount for two <Route>s that render the same
9813
- // component at different URLs.
9814
-
9815
- external_React_default.a.Children.forEach(_this.props.children, function (child) {
9816
- if (match == null && external_React_default.a.isValidElement(child)) {
9817
- element = child;
9818
- var path = child.props.path || child.props.from;
9819
- match = path ? matchPath(location.pathname, Object(esm_extends["a" /* default */])({}, child.props, {
9820
- path: path
9821
- })) : context.match;
9822
- }
9823
- });
9824
- return match ? external_React_default.a.cloneElement(element, {
9825
- location: location,
9826
- computedMatch: match
9827
- }) : null;
9828
- });
9829
- };
9830
-
9831
- return Switch;
9832
- }(external_React_default.a.Component);
9833
-
9834
- if (false) {}
9835
-
9836
- /**
9837
- * A public higher-order component to access the imperative API
9838
- */
9839
-
9840
- function withRouter(Component) {
9841
- var displayName = "withRouter(" + (Component.displayName || Component.name) + ")";
9842
-
9843
- var C = function C(props) {
9844
- var wrappedComponentRef = props.wrappedComponentRef,
9845
- remainingProps = Object(objectWithoutPropertiesLoose["a" /* default */])(props, ["wrappedComponentRef"]);
9846
-
9847
- return external_React_default.a.createElement(react_router_context.Consumer, null, function (context) {
9848
- !context ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
9849
- return external_React_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, remainingProps, context, {
9850
- ref: wrappedComponentRef
9851
- }));
9852
- });
9853
- };
9854
-
9855
- C.displayName = displayName;
9856
- C.WrappedComponent = Component;
9857
-
9858
- if (false) {}
9859
-
9860
- return hoist_non_react_statics_cjs_default()(C, Component);
9861
- }
9862
-
9863
- var useContext = external_React_default.a.useContext;
9864
- function useHistory() {
9865
- if (false) {}
9866
-
9867
- return useContext(historyContext);
9868
- }
9869
- function useLocation() {
9870
- if (false) {}
9871
-
9872
- return useContext(react_router_context).location;
9873
- }
9874
- function useParams() {
9875
- if (false) {}
9876
-
9877
- var match = useContext(react_router_context).match;
9878
- return match ? match.params : {};
9879
- }
9880
- function useRouteMatch(path) {
9881
- if (false) {}
9882
-
9883
- var location = useLocation();
9884
- var match = useContext(react_router_context).match;
9885
- return path ? matchPath(location.pathname, path) : match;
9886
- }
9887
-
9888
- if (false) { var secondaryBuildName, initialBuildName, buildNames, react_router_key, global; }
9889
-
9890
-
9891
- //# sourceMappingURL=react-router.js.map
9892
-
9893
- // EXTERNAL MODULE: external "lodash"
9894
- var external_lodash_ = __webpack_require__(5);
9895
-
9896
- // EXTERNAL MODULE: ./node_modules/qs/lib/index.js
9897
- var lib = __webpack_require__(162);
9898
-
9899
- // EXTERNAL MODULE: external ["wc","components"]
9900
- var external_wc_components_ = __webpack_require__(145);
9901
-
9902
- // EXTERNAL MODULE: external ["wc","navigation"]
9903
- var external_wc_navigation_ = __webpack_require__(50);
9904
-
9905
- // EXTERNAL MODULE: ./client/wc-admin-settings/index.js
9906
- var wc_admin_settings = __webpack_require__(85);
9907
-
9908
- // EXTERNAL MODULE: external ["wc","data"]
9909
- var external_wc_data_ = __webpack_require__(59);
9910
-
9911
- // EXTERNAL MODULE: external ["wc","tracks"]
9912
- var external_wc_tracks_ = __webpack_require__(92);
9913
-
9914
- // EXTERNAL MODULE: external ["wc","notices"]
9915
- var external_wc_notices_ = __webpack_require__(421);
9916
-
9917
- // EXTERNAL MODULE: ./client/layout/style.scss
9918
- var layout_style = __webpack_require__(422);
9919
-
9920
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js
9921
- var es_array_concat = __webpack_require__(66);
9922
-
9923
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.match.js
9924
- var es_string_match = __webpack_require__(203);
9925
-
9926
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.split.js
9927
- var es_string_split = __webpack_require__(177);
9928
-
9929
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.assign.js
9930
- var es_object_assign = __webpack_require__(250);
9931
-
9932
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.from.js
9933
- var es_array_from = __webpack_require__(283);
9934
-
9935
- // EXTERNAL MODULE: external ["wp","hooks"]
9936
- var external_wp_hooks_ = __webpack_require__(141);
9937
-
9938
- // EXTERNAL MODULE: external ["wp","i18n"]
9939
- var external_wp_i18n_ = __webpack_require__(2);
9940
-
9941
- // EXTERNAL MODULE: ./client/analytics/report/get-reports.js
9942
- var get_reports = __webpack_require__(277);
9943
-
9944
- // EXTERNAL MODULE: ./client/dashboard/utils.js
9945
- var utils = __webpack_require__(231);
9946
-
9947
- // CONCATENATED MODULE: ./client/layout/controller.js
9948
-
9949
-
9950
-
9951
-
9952
-
9953
-
9954
-
9955
-
9956
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = getPrototypeOf_default()(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
9957
-
9958
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
9959
-
9960
-
9961
-
9962
-
9963
-
9964
-
9965
-
9966
-
9967
-
9968
-
9969
-
9970
-
9971
-
9972
-
9973
-
9974
-
9975
-
9976
-
9977
- /**
9978
- * External dependencies
9979
- */
9980
-
9981
-
9982
-
9983
-
9984
-
9985
-
9986
-
9987
-
9988
- /**
9989
- * Internal dependencies
9990
- */
9991
-
9992
-
9993
-
9994
- var AnalyticsReport = Object(external_wp_element_["lazy"])(function () {
9995
- return __webpack_require__.e(/* import() | analytics-report */ 9).then(__webpack_require__.bind(null, 691));
9996
- });
9997
- var AnalyticsSettings = Object(external_wp_element_["lazy"])(function () {
9998
- return __webpack_require__.e(/* import() | analytics-settings */ 20).then(__webpack_require__.bind(null, 711));
9999
- });
10000
- var Dashboard = Object(external_wp_element_["lazy"])(function () {
10001
- return __webpack_require__.e(/* import() | dashboard */ 28).then(__webpack_require__.bind(null, 692));
10002
- });
10003
- var Homescreen = Object(external_wp_element_["lazy"])(function () {
10004
- return Promise.all(/* import() | homescreen */[__webpack_require__.e(1), __webpack_require__.e(3), __webpack_require__.e(52), __webpack_require__.e(4), __webpack_require__.e(32)]).then(__webpack_require__.bind(null, 708));
10005
- });
10006
- var MarketingOverview = Object(external_wp_element_["lazy"])(function () {
10007
- return Promise.all(/* import() | marketing-overview */[__webpack_require__.e(3), __webpack_require__.e(36)]).then(__webpack_require__.bind(null, 712));
10008
- });
10009
- var ProfileWizard = Object(external_wp_element_["lazy"])(function () {
10010
- return Promise.all(/* import() | profile-wizard */[__webpack_require__.e(53), __webpack_require__.e(46)]).then(__webpack_require__.bind(null, 709));
10011
- });
10012
- var SettingsGroup = Object(external_wp_element_["lazy"])(function () {
10013
- return Promise.all(/* import() | profile-wizard */[__webpack_require__.e(53), __webpack_require__.e(46)]).then(__webpack_require__.bind(null, 704));
10014
- });
10015
- var PAGES_FILTER = 'woocommerce_admin_pages_list';
10016
- var controller_getPages = function getPages() {
10017
- var pages = [];
10018
- var initialBreadcrumbs = [['', wcSettings.woocommerceTranslation]];
10019
- pages.push({
10020
- container: Homescreen,
10021
- path: '/',
10022
- breadcrumbs: [].concat(initialBreadcrumbs, [Object(external_wp_i18n_["__"])('Home', 'woocommerce-admin')]),
10023
- wpOpenMenu: 'toplevel_page_woocommerce',
10024
- navArgs: {
10025
- id: 'woocommerce-home'
10026
- },
10027
- capability: 'manage_woocommerce'
10028
- });
10029
-
10030
- if (window.wcAdminFeatures.analytics) {
10031
- pages.push({
10032
- container: Dashboard,
10033
- path: '/analytics/overview',
10034
- breadcrumbs: [].concat(initialBreadcrumbs, [['/analytics/overview', Object(external_wp_i18n_["__"])('Analytics', 'woocommerce-admin')], Object(external_wp_i18n_["__"])('Overview', 'woocommerce-admin')]),
10035
- wpOpenMenu: 'toplevel_page_wc-admin-path--analytics-overview',
10036
- navArgs: {
10037
- id: 'woocommerce-analytics-overview'
10038
- },
10039
- capability: 'view_woocommerce_reports'
10040
- });
10041
- pages.push({
10042
- container: AnalyticsSettings,
10043
- path: '/analytics/settings',
10044
- breadcrumbs: [].concat(initialBreadcrumbs, [['/analytics/revenue', Object(external_wp_i18n_["__"])('Analytics', 'woocommerce-admin')], Object(external_wp_i18n_["__"])('Settings', 'woocommerce-admin')]),
10045
- wpOpenMenu: 'toplevel_page_wc-admin-path--analytics-overview',
10046
- navArgs: {
10047
- id: 'woocommerce-analytics-settings'
10048
- },
10049
- capability: 'view_woocommerce_reports'
10050
- });
10051
- pages.push({
10052
- container: AnalyticsReport,
10053
- path: '/customers',
10054
- breadcrumbs: [].concat(initialBreadcrumbs, [Object(external_wp_i18n_["__"])('Customers', 'woocommerce-admin')]),
10055
- wpOpenMenu: 'toplevel_page_woocommerce',
10056
- navArgs: {
10057
- id: 'woocommerce-analytics-customers'
10058
- },
10059
- capability: 'view_woocommerce_reports'
10060
- });
10061
- pages.push({
10062
- container: AnalyticsReport,
10063
- path: '/analytics/:report',
10064
- breadcrumbs: function breadcrumbs(_ref) {
10065
- var match = _ref.match;
10066
- var report = Object(external_lodash_["find"])(Object(get_reports["a" /* default */])(), {
10067
- report: match.params.report
10068
- });
10069
-
10070
- if (!report) {
10071
- return [];
10072
- }
10073
-
10074
- return [].concat(initialBreadcrumbs, [['/analytics/revenue', Object(external_wp_i18n_["__"])('Analytics', 'woocommerce-admin')], report.title]);
10075
- },
10076
- wpOpenMenu: 'toplevel_page_wc-admin-path--analytics-overview',
10077
- capability: 'view_woocommerce_reports'
10078
- });
10079
- }
10080
-
10081
- if (window.wcAdminFeatures.marketing) {
10082
- pages.push({
10083
- container: MarketingOverview,
10084
- path: '/marketing',
10085
- breadcrumbs: [].concat(initialBreadcrumbs, [['/marketing', Object(external_wp_i18n_["__"])('Marketing', 'woocommerce-admin')], Object(external_wp_i18n_["__"])('Overview', 'woocommerce-admin')]),
10086
- wpOpenMenu: 'toplevel_page_woocommerce-marketing',
10087
- navArgs: {
10088
- id: 'woocommerce-marketing-overview'
10089
- },
10090
- capability: 'view_woocommerce_reports'
10091
- });
10092
- }
10093
-
10094
- if (window.wcAdminFeatures.onboarding) {
10095
- pages.push({
10096
- container: ProfileWizard,
10097
- path: '/setup-wizard',
10098
- breadcrumbs: [].concat(initialBreadcrumbs, [['/setup-wizard', Object(external_wp_i18n_["__"])('Setup Wizard', 'woocommerce-admin')]]),
10099
- capability: 'manage_woocommerce'
10100
- });
10101
- }
10102
-
10103
- if (window.wcAdminFeatures.settings) {
10104
- pages.push({
10105
- container: SettingsGroup,
10106
- path: '/settings/:page',
10107
- breadcrumbs: function breadcrumbs(_ref2) {
10108
- var match = _ref2.match;
10109
- // @todo This might need to be refactored to retreive groups via data store.
10110
- var settingsPages = Object(wc_admin_settings["g" /* getSetting */])('settingsPages');
10111
- var page = settingsPages[match.params.page];
10112
-
10113
- if (!page) {
10114
- return [];
10115
- }
10116
-
10117
- return [].concat(initialBreadcrumbs, [[settingsPages.general ? '/settings/general' : "/settings/".concat(Object.keys(settingsPages)[0]), Object(external_wp_i18n_["__"])('Settings', 'woocommerce-admin')], page]);
10118
- },
10119
- wpOpenMenu: 'toplevel_page_woocommerce',
10120
- capability: 'manage_woocommerce'
10121
- });
10122
- }
10123
-
10124
- return Object(external_wp_hooks_["applyFilters"])(PAGES_FILTER, pages);
10125
- };
10126
- var controller_Controller = /*#__PURE__*/function (_Component) {
10127
- inherits_default()(Controller, _Component);
10128
-
10129
- var _super = _createSuper(Controller);
10130
-
10131
- function Controller() {
10132
- classCallCheck_default()(this, Controller);
10133
-
10134
- return _super.apply(this, arguments);
10135
- }
10136
-
10137
- createClass_default()(Controller, [{
10138
- key: "componentDidMount",
10139
- value: function componentDidMount() {
10140
- window.document.documentElement.scrollTop = 0;
10141
- window.document.body.classList.remove('woocommerce-admin-is-loading');
10142
- }
10143
- }, {
10144
- key: "componentDidUpdate",
10145
- value: function componentDidUpdate(prevProps) {
10146
- var prevBaseQuery = Object(external_lodash_["omit"])(prevProps.query, 'chartType', 'filter', 'paged');
10147
- var baseQuery = Object(external_lodash_["omit"])(this.props.query, 'chartType', 'filter', 'paged');
10148
-
10149
- if (prevProps.query.paged > 1 && !Object(external_lodash_["isEqual"])(prevBaseQuery, baseQuery)) {
10150
- Object(external_wc_navigation_["getHistory"])().replace(Object(external_wc_navigation_["getNewPath"])({
10151
- paged: 1
10152
- }));
10153
- }
10154
-
10155
- if (prevProps.match.url !== this.props.match.url) {
10156
- window.document.documentElement.scrollTop = 0;
10157
- }
10158
- }
10159
- }, {
10160
- key: "render",
10161
- value: function render() {
10162
- var _this$props = this.props,
10163
- page = _this$props.page,
10164
- match = _this$props.match,
10165
- query = _this$props.query;
10166
- var url = match.url,
10167
- params = match.params;
10168
- window.wpNavMenuUrlUpdate(query);
10169
- window.wpNavMenuClassChange(page, url);
10170
- return Object(external_wp_element_["createElement"])(external_wp_element_["Suspense"], {
10171
- fallback: Object(external_wp_element_["createElement"])(external_wc_components_["Spinner"], null)
10172
- }, Object(external_wp_element_["createElement"])(page.container, {
10173
- params: params,
10174
- path: url,
10175
- pathMatch: page.path,
10176
- query: query
10177
- }));
10178
- }
10179
- }]);
10180
-
10181
- return Controller;
10182
- }(external_wp_element_["Component"]);
10183
- /**
10184
- * Update an anchor's link in sidebar to include persisted queries. Leave excluded screens
10185
- * as is.
10186
- *
10187
- * @param {HTMLElement} item - Sidebar anchor link.
10188
- * @param {Object} nextQuery - A query object to be added to updated hrefs.
10189
- * @param {Array} excludedScreens - wc-admin screens to avoid updating.
10190
- */
10191
-
10192
- function updateLinkHref(item, nextQuery, excludedScreens) {
10193
- if (Object(utils["f" /* isWCAdmin */])(item.href)) {
10194
- var search = Object(external_lodash_["last"])(item.href.split('?'));
10195
- var query = Object(lib["parse"])(search);
10196
- var path = query.path || 'homescreen';
10197
- var screen = Object(external_wc_navigation_["getScreenFromPath"])(path);
10198
- var isExcludedScreen = excludedScreens.includes(screen);
10199
- var href = 'admin.php?' + Object(lib["stringify"])(Object.assign(query, isExcludedScreen ? {} : nextQuery)); // Replace the href so you can see the url on hover.
10200
-
10201
- item.href = href;
10202
-
10203
- item.onclick = function (e) {
10204
- e.preventDefault();
10205
- Object(external_wc_navigation_["getHistory"])().push(href);
10206
- };
10207
- }
10208
- } // Update's wc-admin links in wp-admin menu
10209
-
10210
- window.wpNavMenuUrlUpdate = function (query) {
10211
- var nextQuery = Object(external_wc_navigation_["getPersistedQuery"])(query);
10212
- var excludedScreens = Object(external_wc_navigation_["getQueryExcludedScreens"])();
10213
- Array.from(document.querySelectorAll('#adminmenu a')).forEach(function (item) {
10214
- return updateLinkHref(item, nextQuery, excludedScreens);
10215
- });
10216
- }; // When the route changes, we need to update wp-admin's menu with the correct section & current link
10217
-
10218
-
10219
- window.wpNavMenuClassChange = function (page, url) {
10220
- Array.from(document.getElementsByClassName('current')).forEach(function (item) {
10221
- item.classList.remove('current');
10222
- });
10223
- var submenu = Array.from(document.querySelectorAll('.wp-has-current-submenu'));
10224
- submenu.forEach(function (element) {
10225
- element.classList.remove('wp-has-current-submenu');
10226
- element.classList.remove('wp-menu-open');
10227
- element.classList.remove('selected');
10228
- element.classList.add('wp-not-current-submenu');
10229
- element.classList.add('menu-top');
10230
- });
10231
- var pageUrl = url === '/' ? 'admin.php?page=wc-admin' : 'admin.php?page=wc-admin&path=' + encodeURIComponent(url);
10232
- var currentItemsSelector = url === '/' ? "li > a[href$=\"".concat(pageUrl, "\"], li > a[href*=\"").concat(pageUrl, "?\"]") : "li > a[href*=\"".concat(pageUrl, "\"]");
10233
- var currentItems = document.querySelectorAll(currentItemsSelector);
10234
- Array.from(currentItems).forEach(function (item) {
10235
- item.parentElement.classList.add('current');
10236
- });
10237
-
10238
- if (page.wpOpenMenu) {
10239
- var currentMenu = document.querySelector('#' + page.wpOpenMenu);
10240
-
10241
- if (currentMenu) {
10242
- currentMenu.classList.remove('wp-not-current-submenu');
10243
- currentMenu.classList.add('wp-has-current-submenu');
10244
- currentMenu.classList.add('wp-menu-open');
10245
- currentMenu.classList.add('current');
10246
- }
10247
- }
10248
-
10249
- var wpWrap = document.querySelector('#wpwrap');
10250
- wpWrap.classList.remove('wp-responsive-open');
10251
- };
10252
- // EXTERNAL MODULE: ./node_modules/core-js/modules/web.url.js
10253
- var web_url = __webpack_require__(287);
10254
-
10255
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.slice.js
10256
- var es_array_slice = __webpack_require__(187);
10257
-
10258
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.join.js
10259
- var es_array_join = __webpack_require__(139);
10260
-
10261
- // EXTERNAL MODULE: external ["wp","components"]
10262
- var external_wp_components_ = __webpack_require__(4);
10263
-
10264
- // EXTERNAL MODULE: ./node_modules/classnames/index.js
10265
- var classnames = __webpack_require__(15);
10266
- var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
10267
-
10268
- // EXTERNAL MODULE: external ["wp","htmlEntities"]
10269
- var external_wp_htmlEntities_ = __webpack_require__(132);
10270
-
10271
- // EXTERNAL MODULE: ./packages/experimental/build-module/index.js
10272
- var build_module = __webpack_require__(105);
10273
-
10274
- // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/icon/index.js
10275
- var build_module_icon = __webpack_require__(426);
10276
-
10277
- // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-left.js
10278
- var chevron_left = __webpack_require__(597);
10279
-
10280
- // EXTERNAL MODULE: external ["wp","keycodes"]
10281
- var external_wp_keycodes_ = __webpack_require__(126);
10282
-
10283
- // EXTERNAL MODULE: ./client/header/style.scss
10284
- var header_style = __webpack_require__(423);
10285
-
10286
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
10287
- var slicedToArray = __webpack_require__(43);
10288
- var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
10289
-
10290
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.function.name.js
10291
- var es_function_name = __webpack_require__(129);
10292
-
10293
- // EXTERNAL MODULE: external ["wp","primitives"]
10294
- var external_wp_primitives_ = __webpack_require__(28);
10295
-
10296
- // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/inbox.js
10297
-
10298
-
10299
- /**
10300
- * WordPress dependencies
10301
- */
10302
-
10303
- var inbox_inbox = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], {
10304
- xmlns: "http://www.w3.org/2000/svg",
10305
- viewBox: "0 0 24 24"
10306
- }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], {
10307
- fillRule: "evenodd",
10308
- d: "M6 5.5h12a.5.5 0 01.5.5v7H14a2 2 0 11-4 0H5.5V6a.5.5 0 01.5-.5zm-.5 9V18a.5.5 0 00.5.5h12a.5.5 0 00.5-.5v-3.5h-3.337a3.5 3.5 0 01-6.326 0H5.5zM4 13V6a2 2 0 012-2h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2v-5z",
10309
- clipRule: "evenodd"
10310
- }));
10311
- /* harmony default export */ var library_inbox = (inbox_inbox);
10312
- //# sourceMappingURL=inbox.js.map
10313
- // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/help.js
10314
-
10315
-
10316
- /**
10317
- * WordPress dependencies
10318
- */
10319
-
10320
- var help_help = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], {
10321
- xmlns: "http://www.w3.org/2000/svg",
10322
- viewBox: "0 0 24 24"
10323
- }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], {
10324
- d: "M12 4.75a7.25 7.25 0 100 14.5 7.25 7.25 0 000-14.5zM3.25 12a8.75 8.75 0 1117.5 0 8.75 8.75 0 01-17.5 0zM12 8.75a1.5 1.5 0 01.167 2.99c-.465.052-.917.44-.917 1.01V14h1.5v-.845A3 3 0 109 10.25h1.5a1.5 1.5 0 011.5-1.5zM11.25 15v1.5h1.5V15h-1.5z"
10325
- }));
10326
- /* harmony default export */ var library_help = (help_help);
10327
- //# sourceMappingURL=help.js.map
10328
- // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/external.js
10329
- var external = __webpack_require__(596);
10330
-
10331
- // EXTERNAL MODULE: ./client/header/activity-panel/style.scss
10332
- var activity_panel_style = __webpack_require__(424);
10333
-
10334
- // EXTERNAL MODULE: ./client/inbox-panel/utils.js
10335
- var inbox_panel_utils = __webpack_require__(332);
10336
-
10337
- // CONCATENATED MODULE: ./client/header/activity-panel/unread-indicators.js
10338
- /**
10339
- * External dependencies
10340
- */
10341
-
10342
-
10343
- /**
10344
- * Internal dependencies
10345
- */
10346
-
10347
-
10348
- var UNREAD_NOTES_QUERY = {
10349
- page: 1,
10350
- per_page: external_wc_data_["QUERY_DEFAULTS"].pageSize,
10351
- status: 'unactioned',
10352
- type: external_wc_data_["QUERY_DEFAULTS"].noteTypes,
10353
- orderby: 'date',
10354
- order: 'desc'
10355
- };
10356
- function getUnreadNotes(select) {
10357
- var _select = select(external_wc_data_["NOTES_STORE_NAME"]),
10358
- getNotes = _select.getNotes,
10359
- getNotesError = _select.getNotesError,
10360
- isResolving = _select.isResolving;
10361
-
10362
- var _select2 = select(external_wc_data_["USER_STORE_NAME"]),
10363
- getCurrentUser = _select2.getCurrentUser;
10364
-
10365
- var userData = getCurrentUser();
10366
- var lastRead = parseInt(userData && userData.woocommerce_meta && userData.woocommerce_meta.activity_panel_inbox_last_read, 10);
10367
-
10368
- if (!lastRead) {
10369
- return null;
10370
- }
10371
-
10372
- getNotes(UNREAD_NOTES_QUERY);
10373
- var isError = Boolean(getNotesError('getNotes', [UNREAD_NOTES_QUERY]));
10374
- var isRequesting = isResolving('getNotes', [UNREAD_NOTES_QUERY]);
10375
-
10376
- if (isError || isRequesting) {
10377
- return null;
10378
- }
10379
-
10380
- var latestNotes = getNotes(UNREAD_NOTES_QUERY);
10381
- var unreadNotesCount = Object(inbox_panel_utils["a" /* getUnreadNotesCount */])(latestNotes, lastRead);
10382
- return unreadNotesCount > 0;
10383
- }
10384
- function getLowStockCount() {
10385
- return Object(wc_admin_settings["g" /* getSetting */])('lowStockCount', 0);
10386
- }
10387
- // CONCATENATED MODULE: ./client/header/activity-panel/tab/index.js
10388
-
10389
-
10390
-
10391
- /**
10392
- * External dependencies
10393
- */
10394
-
10395
-
10396
-
10397
- var tab_Tab = function Tab(_ref) {
10398
- var icon = _ref.icon,
10399
- title = _ref.title,
10400
- name = _ref.name,
10401
- unread = _ref.unread,
10402
- selected = _ref.selected,
10403
- isPanelOpen = _ref.isPanelOpen,
10404
- onTabClick = _ref.onTabClick;
10405
- var className = classnames_default()('woocommerce-layout__activity-panel-tab', {
10406
- 'is-active': isPanelOpen && selected,
10407
- 'has-unread': unread
10408
- });
10409
- var tabKey = "activity-panel-tab-".concat(name);
10410
- return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
10411
- role: "tab",
10412
- className: className,
10413
- "aria-selected": selected,
10414
- "aria-controls": "activity-panel-".concat(name),
10415
- key: tabKey,
10416
- id: tabKey,
10417
- onClick: function onClick() {
10418
- onTabClick(name);
10419
- }
10420
- }, icon, title, ' ', unread && Object(external_wp_element_["createElement"])("span", {
10421
- className: "screen-reader-text"
10422
- }, Object(external_wp_i18n_["__"])('unread activity', 'woocommerce-admin')));
10423
- };
10424
- // CONCATENATED MODULE: ./client/header/activity-panel/tabs/index.js
10425
-
10426
-
10427
-
10428
-
10429
-
10430
-
10431
- /**
10432
- * External dependencies
10433
- */
10434
-
10435
-
10436
-
10437
- /**
10438
- * Internal dependencies
10439
- */
10440
-
10441
-
10442
- var tabs_Tabs = function Tabs(_ref) {
10443
- var tabs = _ref.tabs,
10444
- _onTabClick = _ref.onTabClick,
10445
- selectedTabName = _ref.selectedTab,
10446
- _ref$tabOpen = _ref.tabOpen,
10447
- tabOpen = _ref$tabOpen === void 0 ? false : _ref$tabOpen;
10448
-
10449
- var _useState = Object(external_wp_element_["useState"])({
10450
- tabOpen: tabOpen,
10451
- currentTab: selectedTabName
10452
- }),
10453
- _useState2 = slicedToArray_default()(_useState, 2),
10454
- _useState2$ = _useState2[0],
10455
- tabIsOpenState = _useState2$.tabOpen,
10456
- currentTab = _useState2$.currentTab,
10457
- setTabState = _useState2[1]; // Keep state synced with props
10458
-
10459
-
10460
- Object(external_wp_element_["useEffect"])(function () {
10461
- setTabState({
10462
- tabOpen: tabOpen,
10463
- currentTab: selectedTabName
10464
- });
10465
- }, [tabOpen, selectedTabName]);
10466
- return Object(external_wp_element_["createElement"])(external_wp_components_["NavigableMenu"], {
10467
- role: "tablist",
10468
- orientation: "horizontal",
10469
- className: "woocommerce-layout__activity-panel-tabs"
10470
- }, tabs && tabs.map(function (tab, i) {
10471
- if (tab.component) {
10472
- var Comp = tab.component,
10473
- options = tab.options;
10474
- return Object(external_wp_element_["createElement"])(Comp, extends_default()({
10475
- key: i
10476
- }, options));
10477
- }
10478
-
10479
- return Object(external_wp_element_["createElement"])(tab_Tab, extends_default()({
10480
- key: i,
10481
- index: i,
10482
- isPanelOpen: tabIsOpenState,
10483
- selected: currentTab === tab.name
10484
- }, tab, {
10485
- onTabClick: function onTabClick() {
10486
- var isTabOpen = currentTab === tab.name || currentTab === '' ? !tabIsOpenState : true; // If a panel is being opened, or if an existing panel is already open and a different one is being opened, record a track.
10487
-
10488
- if (!isTabOpen || currentTab !== tab.name) {
10489
- Object(external_wc_tracks_["recordEvent"])('activity_panel_open', {
10490
- tab: tab.name
10491
- });
10492
- }
10493
-
10494
- setTabState({
10495
- tabOpen: isTabOpen,
10496
- currentTab: tab.name
10497
- });
10498
-
10499
- _onTabClick(tab, isTabOpen);
10500
- }
10501
- }));
10502
- }));
10503
- };
10504
- // CONCATENATED MODULE: ./client/header/activity-panel/setup-progress.js
10505
-
10506
- var setup_progress_SetupProgress = function SetupProgress() {
10507
- return Object(external_wp_element_["createElement"])("svg", {
10508
- className: "woocommerce-layout__activity-panel-tab-icon setup-progress",
10509
- width: "18",
10510
- height: "18",
10511
- viewBox: "0 0 24 24",
10512
- fill: "none",
10513
- xmlns: "http://www.w3.org/2000/svg"
10514
- }, Object(external_wp_element_["createElement"])("path", {
10515
- d: "M12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20Z",
10516
- stroke: "#DCDCDE",
10517
- strokeWidth: "2"
10518
- }), Object(external_wp_element_["createElement"])("path", {
10519
- d: "M4 12V12C4 16.4183 7.58172 20 12 20V20C16.4183 20 20 16.4183 20 12V12C20 7.58172 16.4183 4 12 4V4",
10520
- strokeWidth: "2",
10521
- strokeLinecap: "round"
10522
- }));
10523
- };
10524
- // CONCATENATED MODULE: ./client/header/activity-panel/display-options/icons/display.js
10525
-
10526
-
10527
- /**
10528
- * External dependencies
10529
- */
10530
-
10531
- var display_DisplayIcon = function DisplayIcon() {
10532
- return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("svg", {
10533
- className: "woocommerce-layout__activity-panel-tab-icon",
10534
- width: "24",
10535
- height: "24",
10536
- viewBox: "3 3 24 24",
10537
- fill: "none",
10538
- xmlns: "http://www.w3.org/2000/svg"
10539
- }, Object(external_wp_element_["createElement"])("path", {
10540
- d: "M13.8053 15.3982C13.8053 15.7965 13.4867 16.1947 13.0089 16.1947H6.79646C6.55752 16.1947 6.39823 16.115 6.23894 15.9558C6.07965 15.7965 6 15.6372 6 15.3982V6.79646C6 6.63717 6.15929 6.39823 6.23894 6.23894C6.39823 6.07965 6.55752 6 6.79646 6H13.0089C13.4071 6 13.8053 6.31858 13.8053 6.79646V15.3982Z",
10541
- strokeWidth: "1.5",
10542
- strokeLinecap: "round",
10543
- strokeLinejoin: "round"
10544
- }), Object(external_wp_element_["createElement"])("path", {
10545
- d: "M23.9203 10.6195C23.9203 11.0177 23.6017 11.4159 23.1238 11.4159H16.9115C16.6725 11.4159 16.5132 11.3363 16.3539 11.177C16.1946 11.0177 16.115 10.8584 16.115 10.6195V6.79646C16.115 6.39823 16.4336 6 16.9115 6H23.1238C23.5221 6 23.9203 6.31858 23.9203 6.79646V10.6195Z",
10546
- strokeWidth: "1.5",
10547
- strokeLinecap: "round",
10548
- strokeLinejoin: "round"
10549
- }), Object(external_wp_element_["createElement"])("path", {
10550
- d: "M13.8053 23.2035C13.8053 23.4424 13.7257 23.6017 13.5664 23.761C13.4071 23.9203 13.2478 23.9999 13.0089 23.9999H6.79646C6.39823 23.9999 6 23.6813 6 23.2035V19.3804C6 19.1415 6.07965 18.9822 6.23894 18.8229C6.39823 18.6636 6.55752 18.584 6.79646 18.584H13.0089C13.4071 18.584 13.8053 18.9026 13.8053 19.3804V23.2035Z",
10551
- strokeWidth: "1.5",
10552
- strokeLinecap: "round",
10553
- strokeLinejoin: "round"
10554
- }), Object(external_wp_element_["createElement"])("path", {
10555
- d: "M16.9912 23.9999C16.7522 23.9999 16.5929 23.9202 16.4336 23.7609C16.2743 23.6016 16.1947 23.4423 16.1947 23.2034V14.6016C16.1947 14.3627 16.2743 14.2034 16.4336 14.0441C16.5929 13.8848 16.7522 13.8052 16.9912 13.8052H23.2036C23.4425 13.8052 23.6018 13.8848 23.7611 14.0441C23.9204 14.2034 24 14.3627 24 14.6016V23.2034C24 23.6016 23.6814 23.9999 23.2036 23.9999H16.9912Z",
10556
- strokeWidth: "1.5",
10557
- strokeLinecap: "round",
10558
- strokeLinejoin: "round"
10559
- })), Object(external_wp_i18n_["__"])('Display', 'woocommerce-admin'));
10560
- };
10561
- // CONCATENATED MODULE: ./client/header/activity-panel/display-options/icons/single-column.js
10562
-
10563
- var single_column_SingleColumnIcon = function SingleColumnIcon() {
10564
- return Object(external_wp_element_["createElement"])("svg", {
10565
- className: "woocommerce-layout__activity-panel-tab-icon",
10566
- width: "12",
10567
- height: "14",
10568
- viewBox: "0 0 12 14",
10569
- fill: "none",
10570
- xmlns: "http://www.w3.org/2000/svg"
10571
- }, Object(external_wp_element_["createElement"])("rect", {
10572
- x: "0.5",
10573
- y: "0.5",
10574
- width: "11",
10575
- height: "13",
10576
- strokeWidth: "1"
10577
- }));
10578
- };
10579
- // CONCATENATED MODULE: ./client/header/activity-panel/display-options/icons/two-columns.js
10580
-
10581
- var two_columns_TwoColumnsIcon = function TwoColumnsIcon() {
10582
- return Object(external_wp_element_["createElement"])("svg", {
10583
- className: "woocommerce-layout__activity-panel-tab-icon",
10584
- width: "18",
10585
- height: "14",
10586
- viewBox: "0 0 18 14",
10587
- fill: "none",
10588
- xmlns: "http://www.w3.org/2000/svg"
10589
- }, Object(external_wp_element_["createElement"])("rect", {
10590
- x: "0.5",
10591
- y: "0.5",
10592
- width: "7",
10593
- height: "13",
10594
- strokeWidth: "1"
10595
- }), Object(external_wp_element_["createElement"])("rect", {
10596
- x: "9.5",
10597
- y: "0.5",
10598
- width: "7",
10599
- height: "13",
10600
- strokeWidth: "1"
10601
- }));
10602
- };
10603
- // CONCATENATED MODULE: ./client/header/activity-panel/display-options/index.js
10604
-
10605
-
10606
- /**
10607
- * External dependencies
10608
- */
10609
-
10610
-
10611
-
10612
-
10613
-
10614
- /**
10615
- * Internal dependencies
10616
- */
10617
-
10618
-
10619
-
10620
-
10621
- var LAYOUTS = [{
10622
- value: 'single_column',
10623
- label: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(single_column_SingleColumnIcon, null), Object(external_wp_i18n_["__"])('Single column', 'woocommerce-admin'))
10624
- }, {
10625
- value: 'two_columns',
10626
- label: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(two_columns_TwoColumnsIcon, null), Object(external_wp_i18n_["__"])('Two columns', 'woocommerce-admin'))
10627
- }];
10628
- var display_options_DisplayOptions = function DisplayOptions() {
10629
- var defaultHomescreenLayout = Object(external_wp_data_["useSelect"])(function (select) {
10630
- var _select = select(external_wc_data_["OPTIONS_STORE_NAME"]),
10631
- getOption = _select.getOption;
10632
-
10633
- return getOption('woocommerce_default_homepage_layout') || 'single_column';
10634
- });
10635
-
10636
- var _useUserPreferences = Object(external_wc_data_["useUserPreferences"])(),
10637
- updateUserPreferences = _useUserPreferences.updateUserPreferences,
10638
- layout = _useUserPreferences.homepage_layout;
10639
-
10640
- return Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], {
10641
- icon: Object(external_wp_element_["createElement"])(display_DisplayIcon, null)
10642
- /* translators: button label text should, if possible, be under 16 characters. */
10643
- ,
10644
- label: Object(external_wp_i18n_["__"])('Display options', 'woocommerce-admin'),
10645
- toggleProps: {
10646
- className: 'woocommerce-layout__activity-panel-tab display-options',
10647
- onClick: function onClick() {
10648
- return Object(external_wc_tracks_["recordEvent"])('homescreen_display_click');
10649
- }
10650
- },
10651
- popoverProps: {
10652
- className: 'woocommerce-layout__activity-panel-popover'
10653
- }
10654
- }, function (_ref) {
10655
- var onClose = _ref.onClose;
10656
- return Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], {
10657
- className: "woocommerce-layout__homescreen-display-options",
10658
- label: Object(external_wp_i18n_["__"])('Layout', 'woocommerce-admin')
10659
- }, Object(external_wp_element_["createElement"])(external_wp_components_["MenuItemsChoice"], {
10660
- choices: LAYOUTS,
10661
- onSelect: function onSelect(newLayout) {
10662
- updateUserPreferences({
10663
- homepage_layout: newLayout
10664
- });
10665
- onClose();
10666
- Object(external_wc_tracks_["recordEvent"])('homescreen_display_option', {
10667
- display_option: newLayout
10668
- });
10669
- },
10670
- value: layout || defaultHomescreenLayout
10671
- }));
10672
- });
10673
- };
10674
- // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close.js
10675
- var library_close = __webpack_require__(595);
10676
-
10677
- // EXTERNAL MODULE: ./client/header/activity-panel/highlight-tooltip/style.scss
10678
- var highlight_tooltip_style = __webpack_require__(425);
10679
-
10680
- // CONCATENATED MODULE: ./client/header/activity-panel/highlight-tooltip/index.js
10681
-
10682
-
10683
-
10684
- /**
10685
- * External dependencies
10686
- */
10687
-
10688
-
10689
-
10690
-
10691
-
10692
-
10693
- /**
10694
- * Internal dependencies
10695
- */
10696
-
10697
-
10698
- var SHOW_CLASS = 'highlight-tooltip__show';
10699
-
10700
- function HighlightTooltip(_ref) {
10701
- var title = _ref.title,
10702
- closeButtonText = _ref.closeButtonText,
10703
- content = _ref.content,
10704
- _ref$show = _ref.show,
10705
- show = _ref$show === void 0 ? true : _ref$show,
10706
- id = _ref.id,
10707
- onClose = _ref.onClose,
10708
- delay = _ref.delay,
10709
- _ref$onShow = _ref.onShow,
10710
- onShow = _ref$onShow === void 0 ? external_lodash_["noop"] : _ref$onShow,
10711
- _ref$useAnchor = _ref.useAnchor,
10712
- useAnchor = _ref$useAnchor === void 0 ? false : _ref$useAnchor;
10713
-
10714
- var _useState = Object(external_wp_element_["useState"])(delay > 0 ? null : show),
10715
- _useState2 = slicedToArray_default()(_useState, 2),
10716
- showHighlight = _useState2[0],
10717
- setShowHighlight = _useState2[1];
10718
-
10719
- var _useState3 = Object(external_wp_element_["useState"])(null),
10720
- _useState4 = slicedToArray_default()(_useState3, 2),
10721
- node = _useState4[0],
10722
- setNode = _useState4[1];
10723
-
10724
- var _useState5 = Object(external_wp_element_["useState"])(null),
10725
- _useState6 = slicedToArray_default()(_useState5, 2),
10726
- anchorRect = _useState6[0],
10727
- setAnchorRect = _useState6[1];
10728
-
10729
- Object(external_wp_element_["useEffect"])(function () {
10730
- var element = document.getElementById(id);
10731
- var container, parent;
10732
-
10733
- if (element && !node) {
10734
- // Add tooltip container
10735
- if (!useAnchor) {
10736
- parent = element.parentElement;
10737
- } else {
10738
- parent = document.createElement('div');
10739
- document.body.appendChild(parent);
10740
- }
10741
-
10742
- container = document.createElement('div');
10743
- container.classList.add('highlight-tooltip__container');
10744
- parent.appendChild(container);
10745
- setNode(container);
10746
- }
10747
-
10748
- var timeoutId = triggerShowTooltip(container);
10749
- return function () {
10750
- if (container) {
10751
- var parentElement = container.parentElement;
10752
- parentElement.removeChild(container);
10753
-
10754
- if (useAnchor) {
10755
- parentElement.remove();
10756
- }
10757
- }
10758
-
10759
- if (timeoutId) {
10760
- clearTimeout(timeoutId);
10761
- }
10762
- };
10763
- }, []);
10764
- Object(external_wp_element_["useEffect"])(function () {
10765
- if (!showHighlight && node) {
10766
- node.classList.remove(SHOW_CLASS);
10767
- }
10768
- }, [showHighlight]);
10769
- Object(external_wp_element_["useEffect"])(function () {
10770
- if (show !== showHighlight && showHighlight !== null && node) {
10771
- setShowHighlight(show);
10772
-
10773
- if (!show) {
10774
- node.classList.remove(SHOW_CLASS);
10775
- } else if (node) {
10776
- triggerShowTooltip(node);
10777
- }
10778
- }
10779
- }, [show]);
10780
- Object(external_wp_element_["useLayoutEffect"])(function () {
10781
- window.addEventListener('resize', updateSize);
10782
- return function () {
10783
- return window.removeEventListener('resize', updateSize);
10784
- };
10785
- }, []);
10786
-
10787
- function updateSize() {
10788
- if (useAnchor) {
10789
- var element = document.getElementById(id);
10790
- setAnchorRect(element.getBoundingClientRect());
10791
- }
10792
- }
10793
-
10794
- var triggerShowTooltip = function triggerShowTooltip(container) {
10795
- var timeoutId = null;
10796
-
10797
- if (delay > 0) {
10798
- timeoutId = setTimeout(function () {
10799
- timeoutId = null;
10800
- showTooltip(container);
10801
- }, delay);
10802
- } else if (!showHighlight) {
10803
- showTooltip(container);
10804
- }
10805
-
10806
- return timeoutId;
10807
- };
10808
-
10809
- var showTooltip = function showTooltip(container) {
10810
- var element = document.getElementById(id);
10811
-
10812
- if (element && useAnchor) {
10813
- setAnchorRect(element.getBoundingClientRect());
10814
- }
10815
-
10816
- if (container) {
10817
- container.classList.add(SHOW_CLASS);
10818
- }
10819
-
10820
- setShowHighlight(true);
10821
- onShow();
10822
- };
10823
-
10824
- var triggerClose = function triggerClose() {
10825
- setShowHighlight(false);
10826
-
10827
- if (onClose) {
10828
- onClose();
10829
- }
10830
- };
10831
-
10832
- if (!node) {
10833
- return null;
10834
- }
10835
-
10836
- return Object(external_wp_element_["createPortal"])(Object(external_wp_element_["createElement"])("div", {
10837
- className: "highlight-tooltip__portal"
10838
- }, showHighlight ? Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["IsolatedEventContainer"], {
10839
- className: "highlight-tooltip__overlay"
10840
- }), Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], {
10841
- className: "highlight-tooltip__popover",
10842
- noArrow: false,
10843
- anchorRect: anchorRect,
10844
- focusOnMount: "container"
10845
- }, Object(external_wp_element_["createElement"])(external_wp_components_["Card"], {
10846
- size: "medium"
10847
- }, Object(external_wp_element_["createElement"])(external_wp_components_["CardHeader"], null, title, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
10848
- isSmall: true,
10849
- onClick: triggerClose,
10850
- icon: library_close["a" /* default */]
10851
- })), Object(external_wp_element_["createElement"])(external_wp_components_["CardBody"], null, content || null), Object(external_wp_element_["createElement"])(external_wp_components_["CardFooter"], {
10852
- isBorderless: true
10853
- }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
10854
- size: "small",
10855
- isPrimary: true,
10856
- onClick: triggerClose
10857
- }, closeButtonText || Object(external_wp_i18n_["__"])('Close', 'woocommerce-admin')))))) : null), node);
10858
- }
10859
-
10860
- HighlightTooltip.propTypes = {
10861
- /**
10862
- * The id of the element it should highlight, should be unique per HighlightTooltip.
10863
- */
10864
- id: prop_types_default.a.string.isRequired,
10865
-
10866
- /**
10867
- * Title of the popup
10868
- */
10869
- title: prop_types_default.a.string.isRequired,
10870
-
10871
- /**
10872
- * Text of the close button.
10873
- */
10874
- closeButtonText: prop_types_default.a.string.isRequired,
10875
-
10876
- /**
10877
- * Content of the popup, can be either text or react element.
10878
- */
10879
- content: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]),
10880
-
10881
- /**
10882
- * If to show the popup, defaults to true.
10883
- */
10884
- show: prop_types_default.a.bool,
10885
-
10886
- /**
10887
- * Callback for when the user closes the popup.
10888
- */
10889
- onClose: prop_types_default.a.func,
10890
-
10891
- /**
10892
- * This will delay the popup from appearing by the number of ms.
10893
- */
10894
- delay: prop_types_default.a.number,
10895
-
10896
- /**
10897
- * A callback for when the tooltip is shown.
10898
- */
10899
- onShow: prop_types_default.a.func,
10900
-
10901
- /**
10902
- * useAnchor, will append the tooltip to the body tag, and make use of the anchorRect to display the tooltip.
10903
- * Defaults to false.
10904
- */
10905
- useAnchor: prop_types_default.a.bool
10906
- };
10907
-
10908
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.find.js
10909
- var es_array_find = __webpack_require__(192);
10910
-
10911
- // EXTERNAL MODULE: external ["wp","dom"]
10912
- var external_wp_dom_ = __webpack_require__(262);
10913
-
10914
- // CONCATENATED MODULE: ./client/hooks/useFocusOnMount.js
10915
-
10916
-
10917
- /**
10918
- * This hook was directly copied from https://github.com/WordPress/gutenberg/blob/master/packages/compose/src/hooks/use-focus-on-mount/index.js
10919
- * to avoid its absence in older versions of WordPress.
10920
- *
10921
- * This can be removed once the minimum supported version of WordPress includes this hook.
10922
- */
10923
-
10924
- /**
10925
- * External dependencies
10926
- */
10927
-
10928
-
10929
- /**
10930
- * Hook used to focus the first tabbable element on mount.
10931
- *
10932
- * @param {boolean|string} focusOnMount Focus on mount mode.
10933
- * @return {Function} Ref callback.
10934
- *
10935
- * @example
10936
- * ```js
10937
- * import { useFocusOnMount } from '@wordpress/compose';
10938
- *
10939
- * const WithFocusOnMount = () => {
10940
- * const ref = useFocusOnMount()
10941
- * return (
10942
- * <div ref={ ref }>
10943
- * <Button />
10944
- * <Button />
10945
- * </div>
10946
- * );
10947
- * }
10948
- * ```
10949
- */
10950
-
10951
- function useFocusOnMount() {
10952
- var focusOnMount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'firstElement';
10953
- var focusOnMountRef = Object(external_wp_element_["useRef"])(focusOnMount);
10954
- Object(external_wp_element_["useEffect"])(function () {
10955
- focusOnMountRef.current = focusOnMount;
10956
- }, [focusOnMount]);
10957
- return Object(external_wp_element_["useCallback"])(function (node) {
10958
- if (!node || focusOnMountRef.current === false) {
10959
- return;
10960
- }
10961
-
10962
- if (node.contains(node.ownerDocument.activeElement)) {
10963
- return;
10964
- }
10965
-
10966
- var target = node;
10967
-
10968
- if (focusOnMountRef.current === 'firstElement') {
10969
- var firstTabbable = external_wp_dom_["focus"].tabbable.find(node)[0];
10970
-
10971
- if (firstTabbable) {
10972
- target = firstTabbable;
10973
- }
10974
- }
10975
-
10976
- target.focus();
10977
- }, []);
10978
- }
10979
- // CONCATENATED MODULE: ./client/hooks/useFocusOutside.js
10980
- /**
10981
- * External dependencies
10982
- */
10983
-
10984
-
10985
- /**
10986
- * Input types which are classified as button types, for use in considering
10987
- * whether element is a (focus-normalized) button.
10988
- *
10989
- * @type {string[]}
10990
- */
10991
-
10992
- var INPUT_BUTTON_TYPES = ['button', 'submit'];
10993
- /**
10994
- * @typedef {HTMLButtonElement | HTMLLinkElement | HTMLInputElement} FocusNormalizedButton
10995
- */
10996
- // Disable reason: Rule doesn't support predicate return types
10997
-
10998
- /* eslint-disable jsdoc/valid-types */
10999
-
11000
- /**
11001
- * Returns true if the given element is a button element subject to focus
11002
- * normalization, or false otherwise.
11003
- *
11004
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus
11005
- *
11006
- * @param {EventTarget} eventTarget The target from a mouse or touch event.
11007
- *
11008
- * @return {eventTarget is FocusNormalizedButton} Whether element is a button.
11009
- */
11010
-
11011
- function isFocusNormalizedButton(eventTarget) {
11012
- if (!(eventTarget instanceof window.HTMLElement)) {
11013
- return false;
11014
- }
11015
-
11016
- switch (eventTarget.nodeName) {
11017
- case 'A':
11018
- case 'BUTTON':
11019
- return true;
11020
-
11021
- case 'INPUT':
11022
- return Object(external_lodash_["includes"])(INPUT_BUTTON_TYPES,
11023
- /** @type {HTMLInputElement} */
11024
- eventTarget.type);
11025
- }
11026
-
11027
- return false;
11028
- }
11029
- /* eslint-enable jsdoc/valid-types */
11030
-
11031
- /**
11032
- * @typedef {import('react').SyntheticEvent} SyntheticEvent
11033
- */
11034
-
11035
- /**
11036
- * @callback EventCallback
11037
- * @param {SyntheticEvent} event input related event.
11038
- */
11039
-
11040
- /**
11041
- * @typedef FocusOutsideReactElement
11042
- * @property {EventCallback} handleFocusOutside callback for a focus outside event.
11043
- */
11044
-
11045
- /**
11046
- * @typedef {import('react').MutableRefObject<FocusOutsideReactElement | undefined>} FocusOutsideRef
11047
- */
11048
-
11049
- /**
11050
- * @typedef {Object} FocusOutsideReturnValue
11051
- * @property {EventCallback} onFocus An event handler for focus events.
11052
- * @property {EventCallback} onBlur An event handler for blur events.
11053
- * @property {EventCallback} onMouseDown An event handler for mouse down events.
11054
- * @property {EventCallback} onMouseUp An event handler for mouse up events.
11055
- * @property {EventCallback} onTouchStart An event handler for touch start events.
11056
- * @property {EventCallback} onTouchEnd An event handler for touch end events.
11057
- */
11058
-
11059
- /**
11060
- * A react hook that can be used to check whether focus has moved outside the
11061
- * element the event handlers are bound to.
11062
- *
11063
- * @param {EventCallback} onFocusOutside A callback triggered when focus moves outside
11064
- * the element the event handlers are bound to.
11065
- *
11066
- * @return {FocusOutsideReturnValue} An object containing event handlers. Bind the event handlers
11067
- * to a wrapping element element to capture when focus moves
11068
- * outside that element.
11069
- */
11070
-
11071
-
11072
- function useFocusOutside(onFocusOutside) {
11073
- var currentOnFocusOutside = Object(external_wp_element_["useRef"])(onFocusOutside);
11074
- Object(external_wp_element_["useEffect"])(function () {
11075
- currentOnFocusOutside.current = onFocusOutside;
11076
- }, [onFocusOutside]);
11077
- var preventBlurCheck = Object(external_wp_element_["useRef"])(false);
11078
- /**
11079
- * @type {import('react').MutableRefObject<number | undefined>}
11080
- */
11081
-
11082
- var blurCheckTimeoutId = Object(external_wp_element_["useRef"])();
11083
- /**
11084
- * Cancel a blur check timeout.
11085
- */
11086
-
11087
- var cancelBlurCheck = Object(external_wp_element_["useCallback"])(function () {
11088
- clearTimeout(blurCheckTimeoutId.current);
11089
- }, []); // Cancel blur checks on unmount.
11090
-
11091
- Object(external_wp_element_["useEffect"])(function () {
11092
- return function () {
11093
- return cancelBlurCheck();
11094
- };
11095
- }, []); // Cancel a blur check if the callback or ref is no longer provided.
11096
-
11097
- Object(external_wp_element_["useEffect"])(function () {
11098
- if (!onFocusOutside) {
11099
- cancelBlurCheck();
11100
- }
11101
- }, [onFocusOutside, cancelBlurCheck]);
11102
- /**
11103
- * Handles a mousedown or mouseup event to respectively assign and
11104
- * unassign a flag for preventing blur check on button elements. Some
11105
- * browsers, namely Firefox and Safari, do not emit a focus event on
11106
- * button elements when clicked, while others do. The logic here
11107
- * intends to normalize this as treating click on buttons as focus.
11108
- *
11109
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus
11110
- *
11111
- * @param {SyntheticEvent} event Event for mousedown or mouseup.
11112
- */
11113
-
11114
- var normalizeButtonFocus = Object(external_wp_element_["useCallback"])(function (event) {
11115
- var type = event.type,
11116
- target = event.target;
11117
- var isInteractionEnd = Object(external_lodash_["includes"])(['mouseup', 'touchend'], type);
11118
-
11119
- if (isInteractionEnd) {
11120
- preventBlurCheck.current = false;
11121
- } else if (isFocusNormalizedButton(target)) {
11122
- preventBlurCheck.current = true;
11123
- }
11124
- }, []);
11125
- /**
11126
- * A callback triggered when a blur event occurs on the element the handler
11127
- * is bound to.
11128
- *
11129
- * Calls the `onFocusOutside` callback in an immediate timeout if focus has
11130
- * move outside the bound element and is still within the document.
11131
- *
11132
- * @param {SyntheticEvent} event Blur event.
11133
- */
11134
-
11135
- var queueBlurCheck = Object(external_wp_element_["useCallback"])(function (event) {
11136
- // React does not allow using an event reference asynchronously
11137
- // due to recycling behavior, except when explicitly persisted.
11138
- event.persist(); // Skip blur check if clicking button. See `normalizeButtonFocus`.
11139
-
11140
- if (preventBlurCheck.current) {
11141
- return;
11142
- }
11143
-
11144
- blurCheckTimeoutId.current = setTimeout(function () {
11145
- // If document is not focused then focus should remain
11146
- // inside the wrapped component and therefore we cancel
11147
- // this blur event thereby leaving focus in place.
11148
- // https://developer.mozilla.org/en-US/docs/Web/API/Document/hasFocus.
11149
- if (!document.hasFocus()) {
11150
- event.preventDefault();
11151
- return;
11152
- }
11153
-
11154
- if (typeof currentOnFocusOutside.current === 'function') {
11155
- currentOnFocusOutside.current(event);
11156
- }
11157
- }, 0);
11158
- }, []);
11159
- return {
11160
- onFocus: cancelBlurCheck,
11161
- onMouseDown: normalizeButtonFocus,
11162
- onMouseUp: normalizeButtonFocus,
11163
- onTouchStart: normalizeButtonFocus,
11164
- onTouchEnd: normalizeButtonFocus,
11165
- onBlur: queueBlurCheck
11166
- };
11167
- }
11168
- // CONCATENATED MODULE: ./client/header/activity-panel/panel.js
11169
-
11170
-
11171
-
11172
- /**
11173
- * External dependencies
11174
- */
11175
-
11176
-
11177
-
11178
- /**
11179
- * Internal dependencies
11180
- */
11181
-
11182
-
11183
-
11184
- var panel_Panel = function Panel(_ref) {
11185
- var content = _ref.content,
11186
- isPanelOpen = _ref.isPanelOpen,
11187
- isPanelSwitching = _ref.isPanelSwitching,
11188
- currentTab = _ref.currentTab,
11189
- tab = _ref.tab,
11190
- closePanel = _ref.closePanel,
11191
- clearPanel = _ref.clearPanel;
11192
- var panelClass = 'woocommerce-layout__activity-panel-wrapper';
11193
-
11194
- var handleFocusOutside = function handleFocusOutside(event) {
11195
- var isClickOnModalOrSnackbar = event.relatedTarget && (event.relatedTarget.closest('.woocommerce-inbox-dismiss-confirmation_modal') || event.relatedTarget.closest('.components-snackbar__action'));
11196
-
11197
- if (isPanelOpen && !isClickOnModalOrSnackbar) {
11198
- closePanel();
11199
- }
11200
- };
11201
-
11202
- var possibleFocusPanel = function possibleFocusPanel() {
11203
- if (!containerRef.current || !isPanelOpen || !tab) {
11204
- return;
11205
- }
11206
-
11207
- focusOnMountRef(containerRef.current);
11208
- };
11209
-
11210
- var finishTransition = function finishTransition(e) {
11211
- if (e && e.propertyName === 'transform') {
11212
- clearPanel();
11213
- possibleFocusPanel();
11214
- }
11215
- };
11216
-
11217
- var focusOnMountRef = useFocusOnMount();
11218
- var useFocusOutsideProps = useFocusOutside(handleFocusOutside);
11219
- var containerRef = Object(external_wp_element_["useRef"])(null);
11220
- var mergedContainerRef = Object(external_wp_element_["useCallback"])(function (node) {
11221
- containerRef.current = node;
11222
- focusOnMountRef(node);
11223
- }, []);
11224
-
11225
- if (!tab) {
11226
- return Object(external_wp_element_["createElement"])("div", {
11227
- className: panelClass
11228
- });
11229
- }
11230
-
11231
- if (!content) {
11232
- return null;
11233
- }
11234
-
11235
- var classNames = classnames_default()(panelClass, {
11236
- 'is-open': isPanelOpen,
11237
- 'is-switching': isPanelSwitching
11238
- });
11239
- return Object(external_wp_element_["createElement"])("div", extends_default()({
11240
- className: classNames,
11241
- tabIndex: 0,
11242
- role: "tabpanel",
11243
- "aria-label": tab.title,
11244
- onTransitionEnd: finishTransition
11245
- }, useFocusOutsideProps, {
11246
- ref: mergedContainerRef
11247
- }), Object(external_wp_element_["createElement"])("div", {
11248
- className: "woocommerce-layout__activity-panel-content",
11249
- key: 'activity-panel-' + currentTab,
11250
- id: 'activity-panel-' + currentTab
11251
- }, Object(external_wp_element_["createElement"])(external_wp_element_["Suspense"], {
11252
- fallback: Object(external_wp_element_["createElement"])(external_wc_components_["Spinner"], null)
11253
- }, content)));
11254
- };
11255
- /* harmony default export */ var panel = (panel_Panel);
11256
- // CONCATENATED MODULE: ./client/header/activity-panel/index.js
11257
-
11258
-
11259
-
11260
-
11261
-
11262
-
11263
-
11264
-
11265
-
11266
-
11267
-
11268
-
11269
- /**
11270
- * External dependencies
11271
- */
11272
-
11273
-
11274
-
11275
-
11276
-
11277
-
11278
-
11279
-
11280
-
11281
-
11282
- /**
11283
- * Internal dependencies
11284
- */
11285
-
11286
-
11287
-
11288
-
11289
-
11290
-
11291
-
11292
-
11293
-
11294
- var HelpPanel = Object(external_wp_element_["lazy"])(function () {
11295
- return Promise.all(/* import() | activity-panels-help */[__webpack_require__.e(54), __webpack_require__.e(6), __webpack_require__.e(7)]).then(__webpack_require__.bind(null, 705));
11296
- });
11297
- var InboxPanel = Object(external_wp_element_["lazy"])(function () {
11298
- return Promise.all(/* import() | activity-panels-inbox */[__webpack_require__.e(1), __webpack_require__.e(3), __webpack_require__.e(4), __webpack_require__.e(8)]).then(__webpack_require__.bind(null, 689));
11299
- });
11300
- var activity_panel_ActivityPanel = function ActivityPanel(_ref) {
11301
- var isEmbedded = _ref.isEmbedded,
11302
- query = _ref.query,
11303
- userPreferencesData = _ref.userPreferencesData;
11304
-
11305
- var _useState = Object(external_wp_element_["useState"])(''),
11306
- _useState2 = slicedToArray_default()(_useState, 2),
11307
- currentTab = _useState2[0],
11308
- setCurrentTab = _useState2[1];
11309
-
11310
- var _useState3 = Object(external_wp_element_["useState"])(false),
11311
- _useState4 = slicedToArray_default()(_useState3, 2),
11312
- isPanelClosing = _useState4[0],
11313
- setIsPanelClosing = _useState4[1];
11314
-
11315
- var _useState5 = Object(external_wp_element_["useState"])(false),
11316
- _useState6 = slicedToArray_default()(_useState5, 2),
11317
- isPanelOpen = _useState6[0],
11318
- setIsPanelOpen = _useState6[1];
11319
-
11320
- var _useState7 = Object(external_wp_element_["useState"])(false),
11321
- _useState8 = slicedToArray_default()(_useState7, 2),
11322
- isPanelSwitching = _useState8[0],
11323
- setIsPanelSwitching = _useState8[1];
11324
-
11325
- var _useSelect = Object(external_wp_data_["useSelect"])(function (select) {
11326
- var _select = select(external_wc_data_["OPTIONS_STORE_NAME"]),
11327
- getOption = _select.getOption,
11328
- isResolving = _select.isResolving;
11329
-
11330
- return {
11331
- hasUnreadNotes: getUnreadNotes(select),
11332
- requestingTaskListOptions: isResolving('getOption', ['woocommerce_task_list_complete']) || isResolving('getOption', ['woocommerce_task_list_hidden']),
11333
- setupTaskListComplete: getOption('woocommerce_task_list_complete') === 'yes',
11334
- setupTaskListHidden: getOption('woocommerce_task_list_hidden') === 'yes',
11335
- trackedCompletedTasks: getOption('woocommerce_task_list_tracked_completed_tasks') || []
11336
- };
11337
- }),
11338
- hasUnreadNotes = _useSelect.hasUnreadNotes,
11339
- requestingTaskListOptions = _useSelect.requestingTaskListOptions,
11340
- setupTaskListComplete = _useSelect.setupTaskListComplete,
11341
- setupTaskListHidden = _useSelect.setupTaskListHidden,
11342
- trackedCompletedTasks = _useSelect.trackedCompletedTasks;
11343
-
11344
- var _useDispatch = Object(external_wp_data_["useDispatch"])(external_wc_data_["OPTIONS_STORE_NAME"]),
11345
- updateOptions = _useDispatch.updateOptions;
11346
-
11347
- var _useUser = Object(external_wc_data_["useUser"])(),
11348
- currentUserCan = _useUser.currentUserCan;
11349
-
11350
- var togglePanel = function togglePanel(_ref2, isTabOpen) {
11351
- var tabName = _ref2.name;
11352
- var panelSwitching = tabName !== currentTab && currentTab !== '' && isTabOpen && isPanelOpen;
11353
-
11354
- if (isPanelClosing) {
11355
- return;
11356
- }
11357
-
11358
- setCurrentTab(tabName);
11359
- setIsPanelOpen(isTabOpen);
11360
- setIsPanelSwitching(panelSwitching);
11361
- };
11362
-
11363
- var _closePanel = function closePanel() {
11364
- setIsPanelClosing(true);
11365
- setIsPanelOpen(false);
11366
- };
11367
-
11368
- var _clearPanel = function clearPanel() {
11369
- if (!isPanelOpen) {
11370
- setIsPanelClosing(false);
11371
- setIsPanelSwitching(false);
11372
- setCurrentTab('');
11373
- }
11374
- };
11375
-
11376
- var isHomescreen = function isHomescreen() {
11377
- return query.page === 'wc-admin' && !query.path;
11378
- };
11379
-
11380
- var isPerformingSetupTask = function isPerformingSetupTask() {
11381
- return query.task && !query.path && (requestingTaskListOptions === true || setupTaskListHidden === false && setupTaskListComplete === false);
11382
- }; // @todo Pull in dynamic unread status/count
11383
-
11384
-
11385
- var getTabs = function getTabs() {
11386
- var inbox = {
11387
- name: 'inbox',
11388
- title: Object(external_wp_i18n_["__"])('Inbox', 'woocommerce-admin'),
11389
- icon: Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], {
11390
- icon: library_inbox
11391
- }),
11392
- unread: hasUnreadNotes,
11393
- visible: (isEmbedded || !isHomescreen()) && !isPerformingSetupTask()
11394
- };
11395
- var setup = {
11396
- name: 'setup',
11397
- title: Object(external_wp_i18n_["__"])('Finish setup', 'woocommerce-admin'),
11398
- icon: Object(external_wp_element_["createElement"])(setup_progress_SetupProgress, null),
11399
- onClick: function onClick() {
11400
- var currentLocation = window.location.href;
11401
- var homescreenLocation = Object(wc_admin_settings["f" /* getAdminLink */])('admin.php?page=wc-admin'); // Don't navigate if we're already on the homescreen, this will cause an infinite loop
11402
-
11403
- if (currentLocation !== homescreenLocation) {
11404
- // Ensure that if the user is trying to get to the task list they can see it even if
11405
- // it was dismissed.
11406
- if (setupTaskListHidden === 'no') {
11407
- redirectToHomeScreen();
11408
- } else {
11409
- updateOptions({
11410
- woocommerce_task_list_hidden: 'no'
11411
- }).then(redirectToHomeScreen);
11412
- }
11413
- }
11414
-
11415
- return null;
11416
- },
11417
- visible: currentUserCan('manage_woocommerce') && !setupTaskListComplete && !setupTaskListHidden && !isPerformingSetupTask() && (!isHomescreen() || isEmbedded)
11418
- };
11419
- var help = {
11420
- name: 'help',
11421
- title: Object(external_wp_i18n_["__"])('Help', 'woocommerce-admin'),
11422
- icon: Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], {
11423
- icon: library_help
11424
- }),
11425
- visible: isHomescreen() && !isEmbedded || isPerformingSetupTask()
11426
- };
11427
- var displayOptions = {
11428
- component: display_options_DisplayOptions,
11429
- visible: !isEmbedded && isHomescreen() && !isPerformingSetupTask()
11430
- };
11431
- var previewSite = {
11432
- name: 'previewSite',
11433
- title: Object(external_wp_i18n_["__"])('Preview site', 'woocommerce-admin'),
11434
- icon: Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], {
11435
- icon: external["a" /* default */]
11436
- }),
11437
- visible: query.page === 'wc-admin' && query.task === 'appearance',
11438
- onClick: function onClick() {
11439
- window.open(window.wcSettings.siteUrl);
11440
- return null;
11441
- }
11442
- };
11443
- return [inbox, setup, previewSite, displayOptions, help].filter(function (tab) {
11444
- return tab.visible;
11445
- });
11446
- };
11447
-
11448
- var getPanelContent = function getPanelContent(tab) {
11449
- var task = query.task;
11450
-
11451
- switch (tab) {
11452
- case 'inbox':
11453
- return Object(external_wp_element_["createElement"])(InboxPanel, null);
11454
-
11455
- case 'help':
11456
- return Object(external_wp_element_["createElement"])(HelpPanel, {
11457
- taskName: task
11458
- });
11459
-
11460
- default:
11461
- return null;
11462
- }
11463
- };
11464
-
11465
- var redirectToHomeScreen = function redirectToHomeScreen() {
11466
- if (Object(utils["f" /* isWCAdmin */])(window.location.href)) {
11467
- Object(external_wc_navigation_["getHistory"])().push(Object(external_wc_navigation_["getNewPath"])({}, '/', {}));
11468
- } else {
11469
- window.location.href = Object(wc_admin_settings["f" /* getAdminLink */])('admin.php?page=wc-admin');
11470
- }
11471
- };
11472
-
11473
- var closedHelpPanelHighlight = function closedHelpPanelHighlight() {
11474
- Object(external_wc_tracks_["recordEvent"])('help_tooltip_click');
11475
-
11476
- if (userPreferencesData && userPreferencesData.updateUserPreferences) {
11477
- userPreferencesData.updateUserPreferences({
11478
- help_panel_highlight_shown: 'yes'
11479
- });
11480
- }
11481
- };
11482
-
11483
- var shouldShowHelpTooltip = function shouldShowHelpTooltip() {
11484
- var task = query.task;
11485
- var startedTasks = userPreferencesData && userPreferencesData.task_list_tracked_started_tasks;
11486
- var highlightShown = userPreferencesData && userPreferencesData.help_panel_highlight_shown;
11487
-
11488
- if (task && highlightShown !== 'yes' && (startedTasks || {})[task] > 1 && !trackedCompletedTasks.includes(task)) {
11489
- return true;
11490
- }
11491
-
11492
- return false;
11493
- };
11494
-
11495
- var tabs = getTabs();
11496
- var headerId = Object(external_lodash_["uniqueId"])('activity-panel-header_');
11497
- var showHelpHighlightTooltip = shouldShowHelpTooltip();
11498
- return Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(external_wc_components_["H"], {
11499
- id: headerId,
11500
- className: "screen-reader-text"
11501
- }, Object(external_wp_i18n_["__"])('Store Activity', 'woocommerce-admin')), Object(external_wp_element_["createElement"])(external_wc_components_["Section"], {
11502
- component: "aside",
11503
- id: "woocommerce-activity-panel",
11504
- className: "woocommerce-layout__activity-panel",
11505
- "aria-labelledby": headerId
11506
- }, Object(external_wp_element_["createElement"])(tabs_Tabs, {
11507
- tabs: tabs,
11508
- tabOpen: isPanelOpen,
11509
- selectedTab: currentTab,
11510
- onTabClick: function onTabClick(tab, tabOpen) {
11511
- if (tab.onClick) {
11512
- tab.onClick();
11513
- return;
11514
- }
11515
-
11516
- togglePanel(tab, tabOpen);
11517
- }
11518
- }), Object(external_wp_element_["createElement"])(panel_Panel, {
11519
- currentTab: true,
11520
- isPanelOpen: isPanelOpen,
11521
- isPanelSwitching: isPanelSwitching,
11522
- tab: Object(external_lodash_["find"])(getTabs(), {
11523
- name: currentTab
11524
- }),
11525
- content: getPanelContent(currentTab),
11526
- closePanel: function closePanel() {
11527
- return _closePanel();
11528
- },
11529
- clearPanel: function clearPanel() {
11530
- return _clearPanel();
11531
- }
11532
- })), showHelpHighlightTooltip ? Object(external_wp_element_["createElement"])(HighlightTooltip, {
11533
- delay: 1000,
11534
- useAnchor: true,
11535
- title: Object(external_wp_i18n_["__"])("We're here for help", 'woocommerce-admin'),
11536
- content: Object(external_wp_i18n_["__"])('If you have any questions, feel free to explore the WooCommerce docs listed here.', 'woocommerce-admin'),
11537
- closeButtonText: Object(external_wp_i18n_["__"])('Got it', 'woocommerce-admin'),
11538
- id: "activity-panel-tab-help",
11539
- onClose: function onClose() {
11540
- return closedHelpPanelHighlight();
11541
- },
11542
- onShow: function onShow() {
11543
- return Object(external_wc_tracks_["recordEvent"])('help_tooltip_view');
11544
- }
11545
- }) : null);
11546
- };
11547
- activity_panel_ActivityPanel.defaultProps = {
11548
- getHistory: external_wc_navigation_["getHistory"]
11549
- };
11550
- /* harmony default export */ var activity_panel = (activity_panel_ActivityPanel);
11551
- // CONCATENATED MODULE: ./client/lib/platform/index.js
11552
- var ANDROID_PLATFORM = 'android';
11553
- var IOS_PLATFORM = 'ios';
11554
- var UNKNOWN_PLATFORM = 'unknown';
11555
- /**
11556
- * Provide basic detection of platform based on user agent. This is not
11557
- * a robust check for browser features or the like. You should only use
11558
- * this for non-critical display logic.
11559
- */
11560
-
11561
- var platform = function platform() {
11562
- if (/iPhone|iPad|iPod/i.test(window.navigator.userAgent)) {
11563
- return IOS_PLATFORM;
11564
- } else if (/Android/i.test(window.navigator.userAgent)) {
11565
- return ANDROID_PLATFORM;
11566
- }
11567
-
11568
- return UNKNOWN_PLATFORM;
11569
- };
11570
- // CONCATENATED MODULE: ./client/mobile-banner/app-icon.js
11571
-
11572
- var app_icon_AppIcon = function AppIcon() {
11573
- return Object(external_wp_element_["createElement"])("svg", {
11574
- width: "37",
11575
- height: "37",
11576
- viewBox: "0 0 92 92",
11577
- fill: "none",
11578
- xmlns: "http://www.w3.org/2000/svg"
11579
- }, Object(external_wp_element_["createElement"])("rect", {
11580
- width: "92",
11581
- height: "92",
11582
- rx: "21.3953",
11583
- fill: "#7F54B3"
11584
- }), Object(external_wp_element_["createElement"])("path", {
11585
- fillRule: "evenodd",
11586
- clipRule: "evenodd",
11587
- d: "M72.5937 28.043H19.8094C16.4781 28.0459 13.7783 30.7705 13.7754 34.1324V54.4501C13.7783 57.812 16.4781 60.5366 19.8094 60.5395H44.8229L56.2573 66.9607L53.6672 60.5395H72.599C74.2009 60.5402 75.7374 59.8983 76.8702 58.7552C78.0029 57.612 78.639 56.0614 78.6383 54.4447V34.1324C78.6376 32.5157 78.0002 30.9657 76.8664 29.8235C75.7327 28.6814 74.1956 28.0408 72.5937 28.043ZM19.1057 32.4208C18.4658 32.4324 17.8646 32.7359 17.467 33.2482C17.0888 33.7635 16.9404 34.4175 17.058 35.0502C18.5962 45.0986 20.0338 51.8757 21.371 55.3816C21.8779 56.658 22.4896 57.2703 23.2063 57.2185C24.3075 57.1489 25.6263 55.5968 27.1627 52.5621C27.9964 50.8412 29.2602 48.2662 30.9539 44.837C32.3785 49.88 34.309 53.6787 36.7456 56.2331C37.4291 56.9436 38.1204 57.2748 38.8195 57.2266C39.4185 57.1931 39.953 56.8315 40.217 56.2813C40.4753 55.7358 40.5806 55.1278 40.5211 54.5248C40.3516 52.0703 40.5919 48.667 41.2421 44.3149C41.9081 39.8057 42.7523 36.5818 43.7749 34.6432C43.9822 34.2526 44.0733 33.8087 44.037 33.366C44.0039 32.7587 43.7116 32.1969 43.2374 31.829C42.7745 31.4367 42.1799 31.2446 41.5803 31.2935C40.8334 31.3325 40.1682 31.7885 39.8499 32.4797C38.2331 35.5019 37.0812 40.4109 36.3943 47.2068C35.2823 44.2394 34.4509 41.1703 33.9114 38.0412C33.623 36.4613 32.9037 35.7125 31.7536 35.7946C30.9592 35.8589 30.3063 36.3944 29.7819 37.4012L24.0348 48.5643C23.0997 44.6692 22.2205 39.9289 21.3972 34.3433C21.1997 32.9652 20.4358 32.3244 19.1057 32.4208ZM69.9089 34.6877C71.6969 35.0381 73.2407 36.2 74.1186 37.8559C74.9693 39.3247 75.3946 41.1161 75.3946 43.23C75.4148 45.9567 74.7062 48.6357 73.3477 50.9687C71.7778 53.7023 69.7195 55.0691 67.1727 55.0691C66.6933 55.0668 66.2153 55.0128 65.7467 54.9078C63.9584 54.5581 62.4143 53.396 61.5371 51.7396C60.6864 50.2452 60.261 48.4411 60.261 46.3272C60.2357 43.6127 60.945 40.9454 62.3079 38.6295C63.9023 35.8959 65.9607 34.5291 68.4829 34.5291C68.9623 34.5304 69.4402 34.5836 69.9089 34.6877ZM68.7937 49.4848C69.7707 48.5773 70.4399 47.2269 70.8012 45.4337V45.4419C70.9315 44.7826 70.9959 44.1112 70.9933 43.4382C70.986 42.5849 70.8291 41.74 70.5302 40.9452C70.1443 39.901 69.6304 39.3124 68.9884 39.1793C68.0378 38.9643 67.1239 39.5256 66.2469 40.8632C65.5812 41.8393 65.109 42.9432 64.8577 44.1106C64.7276 44.7708 64.6632 45.4432 64.6657 46.1171C64.6739 46.9677 64.8308 47.8096 65.1287 48.6019C65.5146 49.6388 66.0294 50.2274 66.6731 50.3678C67.3169 50.5081 68.0237 50.2138 68.7937 49.4848ZM57.9079 37.8559C57.0291 36.2008 55.4854 35.0392 53.6976 34.6877C53.2279 34.5837 52.749 34.5306 52.2687 34.5291C49.7443 34.5291 47.6856 35.8959 46.0927 38.6295C44.7295 40.9454 44.0201 43.6127 44.0454 46.3272C44.0454 48.4411 44.4699 50.2452 45.319 51.7396C46.1976 53.3949 47.7414 54.5566 49.5294 54.9078C49.999 55.0126 50.4779 55.0667 50.9582 55.0691C53.5055 55.0691 55.5642 53.7023 57.1343 50.9687C58.4922 48.6355 59.2001 45.9565 59.1789 43.23C59.1789 41.1161 58.7544 39.3247 57.9053 37.8559H57.9079ZM54.5903 45.4337C54.2307 47.2269 53.5614 48.5773 52.5825 49.4848C51.8115 50.2065 51.101 50.5017 50.4589 50.3678C49.8169 50.2338 49.3011 49.6461 48.9169 48.6019C48.6181 47.8097 48.4603 46.9678 48.4511 46.1171C48.4495 45.4431 48.5148 44.7707 48.6459 44.1106C48.8971 42.9432 49.3694 41.8393 50.0353 40.8632C50.9124 39.5256 51.8264 38.9643 52.7773 39.1793C53.4193 39.3124 53.9333 39.901 54.3193 40.9452C54.617 41.7404 54.7739 42.585 54.7824 43.4382C54.785 44.1112 54.7207 44.7826 54.5903 45.4419V45.4337Z",
11588
- fill: "white"
11589
- }));
11590
  };
11591
- // EXTERNAL MODULE: ./client/mobile-banner/style.scss
11592
- var mobile_banner_style = __webpack_require__(427);
11593
-
11594
- // CONCATENATED MODULE: ./client/mobile-banner/constants.js
11595
- // The Play Store link is defined as an exported constant mainly for the sake of testing the Mobile App Banner.
11596
- // It is nearly impossible to fake navigation in JSDOM 16, so exposing this link for mocking allows us to
11597
- // avoid triggering a navigation.
11598
- var PLAY_STORE_LINK = 'https://play.google.com/store/apps/details?id=com.woocommerce.android';
11599
- var TRACKING_EVENT_NAME = 'wcadmin_mobile_android_banner_click';
11600
- // CONCATENATED MODULE: ./client/mobile-banner/index.js
11601
-
11602
 
 
 
 
11603
 
11604
- /**
11605
- * External dependencies
11606
- */
11607
-
11608
-
11609
-
11610
-
11611
- /**
11612
- * Internal dependencies
11613
- */
11614
-
11615
-
11616
-
11617
-
11618
-
11619
- var SHOW_APP_BANNER_MODIFIER_CLASS = 'woocommerce-layout__show-app-banner';
11620
- var mobile_banner_MobileAppBanner = function MobileAppBanner(_ref) {
11621
- var onInstall = _ref.onInstall,
11622
- onDismiss = _ref.onDismiss;
11623
- Object(external_wp_element_["useEffect"])(function () {
11624
- var layout = document.getElementsByClassName('woocommerce-layout')[0];
11625
-
11626
- if (platform() === ANDROID_PLATFORM) {
11627
- if (layout) {
11628
- // This is a hack to allow the mobile banner to work in the context of the header which is
11629
- // position fixed. This can be refactored away when we move away from the activity panel
11630
- // in future.
11631
- layout.classList.add(SHOW_APP_BANNER_MODIFIER_CLASS);
11632
- }
11633
- }
11634
-
11635
- return function () {
11636
- if (layout) {
11637
- layout.classList.remove(SHOW_APP_BANNER_MODIFIER_CLASS);
11638
- }
11639
- };
11640
- }, []);
11641
 
11642
- var _useState = Object(external_wp_element_["useState"])(false),
11643
- _useState2 = slicedToArray_default()(_useState, 2),
11644
- isDismissed = _useState2[0],
11645
- setDismissed = _useState2[1]; // On iOS the "Smart App Banner" meta tag is used so only display this on Android.
11646
 
 
 
 
 
 
 
 
 
11647
 
11648
- if (platform() === ANDROID_PLATFORM && !isDismissed) {
11649
- return Object(external_wp_element_["createElement"])("div", {
11650
- className: "woocommerce-mobile-app-banner"
11651
- }, Object(external_wp_element_["createElement"])(external_wp_components_["Icon"], {
11652
- icon: "no-alt",
11653
- "data-testid": "dismiss-btn",
11654
- onClick: function onClick() {
11655
- onDismiss();
11656
- setDismissed(true);
11657
- Object(external_wc_tracks_["recordEvent"])(TRACKING_EVENT_NAME, {
11658
- action: 'dismiss'
11659
- });
11660
- }
11661
- }), Object(external_wp_element_["createElement"])(app_icon_AppIcon, null), Object(external_wp_element_["createElement"])("div", {
11662
- className: "woocommerce-mobile-app-banner__description"
11663
- }, Object(external_wp_element_["createElement"])("p", {
11664
- className: "woocommerce-mobile-app-banner__description__text"
11665
- }, Object(external_wp_i18n_["__"])('Run your store from anywhere', 'woocommerce-admin')), Object(external_wp_element_["createElement"])("p", {
11666
- className: "woocommerce-mobile-app-banner__description__text"
11667
- }, Object(external_wp_i18n_["__"])('Download the WooCommerce app', 'woocommerce-admin'))), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
11668
- href: PLAY_STORE_LINK,
11669
- isSecondary: true,
11670
- onClick: function onClick() {
11671
- onInstall();
11672
- setDismissed(true);
11673
- Object(external_wc_tracks_["recordEvent"])(TRACKING_EVENT_NAME, {
11674
- action: 'install'
11675
- });
11676
- }
11677
- }, Object(external_wp_i18n_["__"])('Install', 'woocommerce-admin')));
11678
- }
11679
 
11680
- return null;
11681
- };
11682
- // CONCATENATED MODULE: ./client/hooks/useIsScrolled.js
11683
 
 
 
11684
 
11685
- /**
11686
- * External dependencies
11687
- */
11688
 
11689
- function useIsScrolled() {
11690
- var _useState = Object(external_wp_element_["useState"])(false),
11691
- _useState2 = slicedToArray_default()(_useState, 2),
11692
- isScrolled = _useState2[0],
11693
- setIsScrolled = _useState2[1];
11694
 
11695
- var rafHandle = Object(external_wp_element_["useRef"])(null);
11696
- Object(external_wp_element_["useEffect"])(function () {
11697
- var updateIsScrolled = function updateIsScrolled() {
11698
- setIsScrolled(window.pageYOffset > 20);
11699
- };
11700
 
11701
- var scrollListener = function scrollListener() {
11702
- rafHandle.current = window.requestAnimationFrame(updateIsScrolled);
11703
- };
11704
 
11705
- window.addEventListener('scroll', scrollListener);
11706
- return function () {
11707
- window.removeEventListener('scroll', scrollListener);
11708
- window.cancelAnimationFrame(rafHandle.current);
11709
- };
11710
- }, []);
11711
- return isScrolled;
11712
- }
11713
- // EXTERNAL MODULE: external ["wp","plugins"]
11714
- var external_wp_plugins_ = __webpack_require__(279);
 
 
 
11715
 
11716
- // EXTERNAL MODULE: ./client/navigation/style.scss
11717
- var navigation_style = __webpack_require__(428);
 
11718
 
11719
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
11720
- var toConsumableArray = __webpack_require__(44);
11721
- var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
11722
 
11723
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.values.js
11724
- var es_object_values = __webpack_require__(285);
11725
 
11726
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.number.max-safe-integer.js
11727
- var es_number_max_safe_integer = __webpack_require__(429);
 
 
 
 
 
11728
 
11729
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.number.constructor.js
11730
- var es_number_constructor = __webpack_require__(178);
 
 
 
 
 
11731
 
11732
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.constructor.js
11733
- var es_regexp_constructor = __webpack_require__(209);
 
 
 
 
 
11734
 
11735
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.to-string.js
11736
- var es_regexp_to_string = __webpack_require__(142);
11737
 
11738
- // CONCATENATED MODULE: ./client/navigation/utils.ts
11739
 
 
 
 
 
 
 
 
11740
 
 
 
 
 
 
 
 
11741
 
11742
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
 
 
 
 
 
 
11743
 
11744
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
 
11745
 
 
 
 
 
 
 
 
 
11746
 
 
 
 
 
 
 
 
 
11747
 
 
 
 
 
 
 
11748
 
 
 
 
 
11749
 
 
 
 
 
 
 
11750
 
 
 
 
 
 
 
 
11751
 
 
 
 
 
 
 
 
 
 
 
 
11752
 
11753
 
 
 
11754
 
 
11755
 
 
 
 
 
 
 
 
 
 
 
11756
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11757
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11758
 
 
 
 
11759
 
 
 
 
 
 
 
 
11760
 
 
 
 
11761
 
11762
- /**
11763
- * External dependencies
11764
- */
11765
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11766
 
11767
- /**
11768
- * Get the full URL if a relative path is passed.
11769
- */
11770
- var utils_getFullUrl = function getFullUrl(url) {
11771
- if (url.indexOf('http') === 0) {
11772
- return url;
11773
- }
11774
 
11775
- return Object(wc_admin_settings["f" /* getAdminLink */])(url);
11776
- };
11777
- /**
11778
- * Get a default regex expression to match the path and provided params.
11779
- */
11780
 
11781
- var utils_getDefaultMatchExpression = function getDefaultMatchExpression(url) {
11782
- var escapedUrl = url.replace(/[-\/\\^$*+?.()|[\]{}]/gi, '\\$&');
 
 
 
 
 
11783
 
11784
- var _escapedUrl$split = escapedUrl.split(/\\\?|#/),
11785
- _escapedUrl$split2 = slicedToArray_default()(_escapedUrl$split, 3),
11786
- path = _escapedUrl$split2[0],
11787
- args = _escapedUrl$split2[1],
11788
- hash = _escapedUrl$split2[2];
11789
 
11790
- var hashExpression = hash ? "(.*#".concat(hash, "$)") : '';
11791
- var argsExpression = args ? args.split('&').reduce(function (acc, param) {
11792
- return "".concat(acc, "(?=.*[?|&]").concat(param, "(&|$|#))");
11793
- }, '') : '';
11794
- return '^' + path + argsExpression + hashExpression;
11795
- };
11796
- /**
11797
- * Get a match score for a menu item given a location.
11798
- */
11799
 
11800
- var getMatchScore = function getMatchScore(location, itemUrl) {
11801
- var itemExpression = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
 
 
 
11802
 
11803
- if (!itemUrl) {
11804
- return 0;
11805
- }
 
 
11806
 
11807
- var fullUrl = utils_getFullUrl(itemUrl);
11808
- var href = location.href; // Return highest possible score for exact match.
 
 
 
 
 
 
 
 
 
 
11809
 
11810
- if (fullUrl === href) {
11811
- return Number.MAX_SAFE_INTEGER;
11812
- }
11813
 
11814
- var defaultExpression = utils_getDefaultMatchExpression(fullUrl);
11815
- var regexp = new RegExp(itemExpression || defaultExpression, 'i');
11816
- return (decodeURIComponent(href).match(regexp) || []).length;
11817
- };
11818
 
11819
- /**
11820
- * Adds a listener that runs on history change.
11821
- *
11822
- * @param {Function} listener Listener to add on history change.
11823
- * @return {Function} Function to remove listeners.
11824
- */
11825
- var addHistoryListener = function addHistoryListener(listener) {
11826
- // Monkey patch pushState to allow trigger the pushstate event listener.
11827
- if (!window.wcNavigation.historyPatched) {
11828
- (function (history) {
11829
- /* global CustomEvent */
11830
- var pushState = history.pushState;
11831
- var replaceState = history.replaceState;
11832
 
11833
- history.pushState = function (state, title, url) {
11834
- var pushStateEvent = new CustomEvent('pushstate', state);
11835
- window.dispatchEvent(pushStateEvent);
11836
- return pushState.apply(history, [state, title, url]);
11837
- };
 
11838
 
11839
- history.replaceState = function (state, title, url) {
11840
- var replaceStateEvent = new CustomEvent('replacestate', state);
11841
- window.dispatchEvent(replaceStateEvent);
11842
- return replaceState.apply(history, [state, title, url]);
11843
- };
11844
 
11845
- window.wcNavigation.historyPatched = true;
11846
- })(window.history);
11847
- }
11848
 
11849
- window.addEventListener('popstate', listener);
11850
- window.addEventListener('pushstate', listener);
11851
- window.addEventListener('replacestate', listener);
11852
- return function () {
11853
- window.removeEventListener('popstate', listener);
11854
- window.removeEventListener('pushstate', listener);
11855
- window.removeEventListener('replacestate', listener);
11856
- };
11857
- };
11858
- /**
11859
- * Get the closest matching item.
11860
- *
11861
- * @param {Array} items An array of items to match against.
11862
- */
11863
 
11864
- var getMatchingItem = function getMatchingItem(items) {
11865
- var matchedItem = null;
11866
- var highestMatchScore = 0;
11867
- items.forEach(function (item) {
11868
- var score = getMatchScore(window.location, item.url, item.matchExpression);
11869
 
11870
- if (score > 0 && score >= highestMatchScore) {
11871
- highestMatchScore = score;
11872
- matchedItem = item;
11873
- }
11874
- });
11875
- return matchedItem || null;
11876
- };
11877
- /**
11878
- * Available menu IDs.
11879
- */
11880
 
11881
- var menuIds = ['primary', 'favorites', 'plugins', 'secondary'];
 
 
 
11882
 
11883
- /**
11884
- * Default categories for the menu.
11885
- */
11886
- var defaultCategories = {
11887
- woocommerce: {
11888
- id: 'woocommerce',
11889
- isCategory: true,
11890
- menuId: 'primary',
11891
- migrate: true,
11892
- order: 10,
11893
- parent: '',
11894
- title: 'WooCommerce'
11895
  }
11896
- };
11897
- /**
11898
- * Sort an array of menu items by their order property.
11899
- *
11900
- * @param {Array} menuItems Array of menu items.
11901
- * @return {Array} Sorted menu items.
11902
- */
11903
-
11904
- var sortMenuItems = function sortMenuItems(menuItems) {
11905
- return menuItems.sort(function (a, b) {
11906
- if (a.order === b.order) {
11907
- return a.title.localeCompare(b.title);
11908
- }
11909
-
11910
- return a.order - b.order;
11911
- });
11912
- };
11913
- /**
11914
- * Get a flat tree structure of all Categories and thier children grouped by menuId
11915
- *
11916
- * @param {Array} menuItems Array of menu items.
11917
- * @param {Function} currentUserCan Callback method passed the capability to determine if a menu item is visible.
11918
- * @return {Object} Mapped menu items and categories.
11919
- */
11920
-
11921
- var getMappedItemsCategories = function getMappedItemsCategories(menuItems, currentUserCan) {
11922
- var categories = _objectSpread({}, defaultCategories);
11923
 
11924
- var items = sortMenuItems(menuItems).reduce(function (acc, item) {
11925
- // Set up the category if it doesn't yet exist.
11926
- if (!acc[item.parent]) {
11927
- acc[item.parent] = {};
11928
- menuIds.forEach(function (menuId) {
11929
- acc[item.parent][menuId] = [];
 
 
 
 
 
 
 
 
 
 
 
 
11930
  });
11931
- } // Incorrect menu ID.
 
 
11932
 
 
 
 
11933
 
11934
- if (!acc[item.parent][item.menuId]) {
11935
- return acc;
11936
- } // User does not have permission to view this item.
11937
 
 
11938
 
11939
- if (currentUserCan && item.capability && !currentUserCan(item.capability)) {
11940
- return acc;
11941
- } // Add categories.
11942
 
 
 
11943
 
11944
- if (item.isCategory) {
11945
- categories[item.id] = item;
 
11946
  }
11947
 
11948
- var menuIdArray = acc[item.parent][item.menuId];
11949
 
11950
- if (menuIdArray) {
11951
- menuIdArray.push(item);
11952
- }
11953
 
11954
- return acc;
11955
- }, {});
11956
- return {
11957
- items: items,
11958
- categories: categories
11959
- };
11960
- };
11961
- // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/wordpress.js
11962
 
 
 
 
 
 
11963
 
11964
- /**
11965
- * WordPress dependencies
11966
- */
 
11967
 
11968
- var wordpress = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], {
11969
- xmlns: "http://www.w3.org/2000/svg",
11970
- viewBox: "-2 -2 24 24"
11971
- }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], {
11972
- d: "M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01C4.12 2.69 6.87 1.11 10 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z"
11973
- }));
11974
- /* harmony default export */ var library_wordpress = (wordpress);
11975
- //# sourceMappingURL=wordpress.js.map
11976
- // CONCATENATED MODULE: ./client/navigation/components/header/index.js
11977
 
 
11978
 
 
 
 
 
 
 
11979
 
11980
- /**
11981
- * External dependencies
11982
- */
11983
 
 
 
11984
 
 
11985
 
 
 
11986
 
 
 
11987
 
 
 
 
 
11988
 
 
 
11989
 
 
 
 
 
 
 
11990
 
 
 
11991
 
11992
- /**
11993
- * Internal dependencies
11994
- */
11995
 
 
 
 
 
11996
 
 
 
 
 
11997
 
 
 
 
11998
 
11999
- var header_Header = function Header() {
12000
- var siteTitle = Object(wc_admin_settings["g" /* getSetting */])('siteTitle', '');
12001
- var homeUrl = Object(wc_admin_settings["g" /* getSetting */])('homeUrl', '');
12002
- var isScrolled = useIsScrolled();
 
12003
 
12004
- var _useState = Object(external_wp_element_["useState"])(document.body.classList.contains(false)),
12005
- _useState2 = slicedToArray_default()(_useState, 2),
12006
- isFolded = _useState2[0],
12007
- setIsFolded = _useState2[1];
 
 
 
12008
 
12009
- var navClasses = {
12010
- folded: 'is-wc-nav-folded',
12011
- expanded: 'is-wc-nav-expanded'
12012
- };
12013
 
12014
- var foldNav = function foldNav() {
12015
- document.body.classList.add(navClasses.folded);
12016
- document.body.classList.remove(navClasses.expanded);
12017
- setIsFolded(true);
12018
- };
12019
 
12020
- var expandNav = function expandNav() {
12021
- document.body.classList.remove(navClasses.folded);
12022
- document.body.classList.add(navClasses.expanded);
12023
- setIsFolded(false);
12024
  };
 
12025
 
12026
- var toggleFolded = function toggleFolded() {
12027
- if (document.body.classList.contains(navClasses.folded)) {
12028
- expandNav();
12029
- } else {
12030
- foldNav();
12031
- }
12032
- };
12033
 
12034
- var foldOnMobile = function foldOnMobile() {
12035
- var screenWidth = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.body.clientWidth;
12036
 
12037
- if (screenWidth <= 960) {
12038
- foldNav();
12039
- } else {
12040
- expandNav();
12041
- }
12042
- };
12043
 
12044
- Object(external_wp_element_["useEffect"])(function () {
12045
- foldOnMobile();
12046
- var foldEvents = [{
12047
- eventName: 'orientationchange',
12048
- handler: function handler(e) {
12049
- return foldOnMobile(e.target.screen.availWidth);
12050
- }
12051
- }, {
12052
- eventName: 'resize',
12053
- handler: Object(external_lodash_["debounce"])(function () {
12054
- return foldOnMobile();
12055
- }, 200)
12056
- }];
12057
 
12058
- for (var _i = 0, _foldEvents = foldEvents; _i < _foldEvents.length; _i++) {
12059
- var _foldEvents$_i = _foldEvents[_i],
12060
- eventName = _foldEvents$_i.eventName,
12061
- handler = _foldEvents$_i.handler;
12062
- window.addEventListener(eventName, handler, false);
12063
- }
12064
 
12065
- addHistoryListener(function () {
12066
- return foldOnMobile();
12067
- });
12068
- }, []);
12069
- var buttonIcon = Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], {
12070
- size: "36px",
12071
- icon: library_wordpress
12072
- });
12073
 
12074
- var _useSelect = Object(external_wp_data_["useSelect"])(function (select) {
12075
- var _select = select('core/data'),
12076
- isResolving = _select.isResolving;
 
 
 
 
 
12077
 
12078
- var _select2 = select('core'),
12079
- getEntityRecord = _select2.getEntityRecord;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12080
 
12081
- var siteData = getEntityRecord('root', '__unstableBase', undefined) || {};
12082
- return {
12083
- isRequestingSiteIcon: isResolving('core', 'getEntityRecord', ['root', '__unstableBase', undefined]),
12084
- siteIconUrl: siteData.siteIconUrl
12085
- };
12086
- }),
12087
- isRequestingSiteIcon = _useSelect.isRequestingSiteIcon,
12088
- siteIconUrl = _useSelect.siteIconUrl;
 
 
 
 
 
 
12089
 
12090
- if (siteIconUrl) {
12091
- buttonIcon = Object(external_wp_element_["createElement"])("img", {
12092
- alt: Object(external_wp_i18n_["__"])('Site Icon'),
12093
- src: siteIconUrl
12094
- });
12095
- } else if (isRequestingSiteIcon) {
12096
- buttonIcon = null;
12097
- }
12098
 
12099
- var className = classnames_default()('woocommerce-navigation-header', {
12100
- 'is-scrolled': isScrolled
12101
- });
12102
- return Object(external_wp_element_["createElement"])("div", {
12103
- className: className
12104
- }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
12105
- onClick: function onClick() {
12106
- return toggleFolded();
12107
- },
12108
- className: "woocommerce-navigation-header__site-icon",
12109
- "aria-label": "Fold navigation",
12110
- role: "switch",
12111
- "aria-checked": isFolded ? 'true' : 'false'
12112
- }, buttonIcon), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
12113
- href: homeUrl,
12114
- className: "woocommerce-navigation-header__site-title",
12115
- as: "span"
12116
- }, Object(external_wp_htmlEntities_["decodeEntities"])(siteTitle)));
12117
- };
12118
 
12119
- /* harmony default export */ var header = (header_Header);
12120
- // EXTERNAL MODULE: ./client/navigation/components/category-title/style.scss
12121
- var category_title_style = __webpack_require__(430);
 
 
12122
 
12123
- // EXTERNAL MODULE: ./client/navigation/components/favorite-button/style.scss
12124
- var favorite_button_style = __webpack_require__(431);
 
 
 
12125
 
12126
- // CONCATENATED MODULE: ./client/navigation/components/favorite-button/index.js
 
 
 
 
 
 
 
 
 
 
12127
 
 
 
 
 
12128
 
 
 
 
 
12129
 
 
 
12130
 
12131
  /**
12132
- * External dependencies
 
 
 
 
12133
  */
12134
-
12135
-
12136
-
12137
-
12138
 
12139
  /**
12140
- * Internal dependencies
 
 
 
12141
  */
12142
-
12143
-
12144
- var favorite_button_FavoriteButton = function FavoriteButton(_ref) {
12145
- var id = _ref.id;
12146
-
12147
- var _useSelect = Object(external_wp_data_["useSelect"])(function (select) {
12148
- return {
12149
- favorites: select(external_wc_data_["NAVIGATION_STORE_NAME"]).getFavorites(),
12150
- isResolving: select(external_wc_data_["NAVIGATION_STORE_NAME"]).isResolving('getFavorites')
12151
- };
12152
- }),
12153
- favorites = _useSelect.favorites,
12154
- isResolving = _useSelect.isResolving;
12155
-
12156
- var _useDispatch = Object(external_wp_data_["useDispatch"])(external_wc_data_["NAVIGATION_STORE_NAME"]),
12157
- addFavorite = _useDispatch.addFavorite,
12158
- removeFavorite = _useDispatch.removeFavorite;
12159
-
12160
- var isFavorited = favorites.includes(id);
12161
-
12162
- var toggleFavorite = function toggleFavorite() {
12163
- var toggle = isFavorited ? removeFavorite : addFavorite;
12164
- toggle(id);
12165
- Object(external_wc_tracks_["recordEvent"])('navigation_favorite', {
12166
- id: id,
12167
- action: isFavorited ? 'unfavorite' : 'favorite'
12168
- });
12169
- };
12170
-
12171
- if (isResolving) {
12172
- return null;
12173
- }
12174
-
12175
- return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
12176
- id: "woocommerce-navigation-favorite-button",
12177
- className: "woocommerce-navigation-favorite-button",
12178
- isTertiary: true,
12179
- onClick: toggleFavorite,
12180
- icon: isFavorited ? 'star-filled' : 'star-empty',
12181
- "aria-label": isFavorited ? Object(external_wp_i18n_["__"])('Add this item to your favorites.', 'woocommerce-admin') : Object(external_wp_i18n_["__"])('Remove this item from your favorites.', 'woocommerce-admin')
12182
- });
12183
- };
12184
- /* harmony default export */ var favorite_button = (favorite_button_FavoriteButton);
12185
- // CONCATENATED MODULE: ./client/navigation/components/favorites-tooltip/index.js
12186
-
12187
-
12188
 
12189
  /**
12190
- * External dependencies
 
 
 
12191
  */
12192
-
12193
-
 
 
 
12194
 
12195
  /**
12196
- * Internal dependencies
12197
  */
 
 
 
12198
 
12199
-
12200
- var tooltipHiddenOption = 'woocommerce_navigation_favorites_tooltip_hidden';
12201
- var favorites_tooltip_FavoritesTooltip = function FavoritesTooltip() {
12202
- var _useSelect = Object(external_wp_data_["useSelect"])(function (select) {
12203
- var _select = select(external_wc_data_["OPTIONS_STORE_NAME"]),
12204
- getOption = _select.getOption,
12205
- isResolving = _select.isResolving;
12206
-
12207
- return {
12208
- isFavoritesResolving: select(external_wc_data_["NAVIGATION_STORE_NAME"]).isResolving('getFavorites'),
12209
- isOptionResolving: isResolving('getOption', [tooltipHiddenOption]),
12210
- isTooltipHidden: getOption(tooltipHiddenOption) === 'yes'
12211
- };
12212
- }),
12213
- isFavoritesResolving = _useSelect.isFavoritesResolving,
12214
- isOptionResolving = _useSelect.isOptionResolving,
12215
- isTooltipHidden = _useSelect.isTooltipHidden;
12216
-
12217
- var _useDispatch = Object(external_wp_data_["useDispatch"])(external_wc_data_["OPTIONS_STORE_NAME"]),
12218
- updateOptions = _useDispatch.updateOptions;
12219
-
12220
- if (isFavoritesResolving || isTooltipHidden || isOptionResolving) {
12221
- return null;
12222
- }
12223
-
12224
- if (document.body.classList.contains('is-wc-nav-folded')) {
12225
- return null;
12226
  }
12227
 
12228
- return Object(external_wp_element_["createElement"])(HighlightTooltip, {
12229
- delay: 1000,
12230
- title: Object(external_wp_i18n_["__"])('Introducing favorites', 'woocommerce-admin'),
12231
- content: Object(external_wp_i18n_["__"])('You can now favorite your extensions to pin them in the top level of the navigation.', 'woocommerce-admin'),
12232
- closeButtonText: Object(external_wp_i18n_["__"])('Got it', 'woocommerce-admin'),
12233
- id: "woocommerce-navigation-favorite-button",
12234
- onClose: function onClose() {
12235
- return updateOptions(defineProperty_default()({}, tooltipHiddenOption, 'yes'));
12236
- },
12237
- useAnchor: true
12238
- });
12239
- };
12240
- /* harmony default export */ var favorites_tooltip = (favorites_tooltip_FavoritesTooltip);
12241
- // CONCATENATED MODULE: ./client/navigation/components/category-title/index.js
12242
-
12243
-
12244
 
12245
- /**
12246
- * Internal dependencies
12247
- */
12248
 
 
 
12249
 
 
 
12250
 
12251
- var category_title_CategoryTitle = function CategoryTitle(_ref) {
12252
- var category = _ref.category;
12253
- var id = category.id,
12254
- menuId = category.menuId,
12255
- title = category.title;
12256
- var className = 'woocommerce-navigation-category-title';
12257
 
12258
- if (['plugins', 'favorites'].includes(menuId)) {
12259
- return Object(external_wp_element_["createElement"])("span", {
12260
- className: className
12261
- }, Object(external_wp_element_["createElement"])("span", {
12262
- className: "".concat(className, "__text")
12263
- }, title), Object(external_wp_element_["createElement"])(favorite_button_FavoriteButton, {
12264
- id: id
12265
- }), Object(external_wp_element_["createElement"])(favorites_tooltip_FavoritesTooltip, null));
12266
- }
12267
 
12268
- return Object(external_wp_element_["createElement"])("span", {
12269
- className: className
12270
- }, title);
12271
- };
12272
- /* harmony default export */ var category_title = (category_title_CategoryTitle);
12273
- // CONCATENATED MODULE: ./client/navigation/components/Item/index.js
12274
 
 
 
 
 
12275
 
12276
- /**
12277
- * External dependencies
12278
- */
 
 
 
 
12279
 
 
 
12280
 
 
 
 
12281
 
 
 
12282
 
12283
- var Item_Item = function Item(_ref) {
12284
- var item = _ref.item;
12285
- var slot = Object(external_wc_navigation_["useNavSlot"])('woocommerce_navigation_' + item.id);
12286
- var hasFills = Boolean(slot.fills && slot.fills.length);
12287
 
12288
- var trackClick = function trackClick(id) {
12289
- Object(external_wc_tracks_["recordEvent"])('navigation_click', {
12290
- menu_item: id
12291
- });
12292
- }; // Disable reason: The div wrapping the slot item is used for tracking purposes
12293
- // and should not be a tabbable element.
12294
 
12295
- /* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */
12296
- // Only render a slot if a coresponding Fill exists and the item is not a category
 
12297
 
 
 
12298
 
12299
- if (hasFills && !item.isCategory) {
12300
- return Object(external_wp_element_["createElement"])(build_module["c" /* NavigationItem */], {
12301
- key: item.id,
12302
- item: item.id
12303
- }, Object(external_wp_element_["createElement"])("div", {
12304
- onClick: function onClick() {
12305
- return trackClick(item.id);
12306
- }
12307
- }, Object(external_wp_element_["createElement"])(external_wc_navigation_["WooNavigationItem"].Slot, {
12308
- name: item.id
12309
- })));
12310
  }
 
12311
 
12312
- return Object(external_wp_element_["createElement"])(build_module["c" /* NavigationItem */], {
12313
- key: item.id,
12314
- item: item.id,
12315
- title: item.title,
12316
- href: item.url,
12317
- navigateToMenu: !item.url && item.id,
12318
- onClick: function onClick() {
12319
- return trackClick(item.id);
12320
- },
12321
- hideIfTargetMenuEmpty: true
12322
- });
12323
- /* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */
12324
- };
12325
 
12326
- /* harmony default export */ var components_Item = (Item_Item);
12327
- // CONCATENATED MODULE: ./client/navigation/components/container/primary-menu.js
 
 
 
 
 
 
 
12328
 
 
 
 
 
 
 
 
 
 
 
 
12329
 
 
 
 
 
 
 
 
 
 
12330
 
12331
  /**
12332
- * External dependencies
 
 
 
 
12333
  */
 
 
 
12334
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12335
 
 
 
12336
 
12337
  /**
12338
- * Internal dependencies
 
 
 
 
 
12339
  */
 
 
12340
 
12341
-
12342
-
12343
- var primary_menu_PrimaryMenu = function PrimaryMenu(_ref) {
12344
- var category = _ref.category,
12345
- onBackClick = _ref.onBackClick,
12346
- pluginItems = _ref.pluginItems,
12347
- primaryItems = _ref.primaryItems;
12348
-
12349
- if (!primaryItems.length && !pluginItems.length) {
12350
- return null;
12351
  }
12352
 
12353
- var rootBackLabel = Object(external_wp_hooks_["applyFilters"])('woocommerce_navigation_root_back_label', Object(external_wp_i18n_["__"])('WordPress Dashboard', 'woocommerce-admin'));
12354
- var rootBackUrl = Object(external_wp_hooks_["applyFilters"])('woocommerce_navigation_root_back_url', window.wcNavigation.rootBackUrl);
12355
- var isRootBackVisible = category.id === 'woocommerce' && rootBackUrl;
12356
- return Object(external_wp_element_["createElement"])(build_module["d" /* NavigationMenu */], {
12357
- title: Object(external_wp_element_["createElement"])(category_title, {
12358
- category: category
12359
- }),
12360
- menu: category.id,
12361
- parentMenu: category.parent,
12362
- backButtonLabel: isRootBackVisible ? rootBackLabel : category.backButtonLabel || null,
12363
- onBackButtonClick: isRootBackVisible ? function () {
12364
- onBackClick('woocommerce');
12365
- window.location = rootBackUrl;
12366
- } : function () {
12367
- return onBackClick(category.id);
12368
- }
12369
- }, !!primaryItems.length && Object(external_wp_element_["createElement"])(build_module["b" /* NavigationGroup */], null, primaryItems.map(function (item) {
12370
- return Object(external_wp_element_["createElement"])(components_Item, {
12371
- key: item.id,
12372
- item: item
12373
- });
12374
- })), !!pluginItems.length && Object(external_wp_element_["createElement"])(build_module["b" /* NavigationGroup */], {
12375
- title: category.id === 'woocommerce' ? Object(external_wp_i18n_["__"])('Extensions', 'woocommerce-admin') : null
12376
- }, pluginItems.map(function (item) {
12377
- return Object(external_wp_element_["createElement"])(components_Item, {
12378
- key: item.id,
12379
- item: item
12380
- });
12381
- })));
12382
- };
12383
- // CONCATENATED MODULE: ./client/navigation/components/container/secondary-menu.js
12384
-
12385
 
 
 
12386
 
12387
  /**
12388
- * External dependencies
 
 
 
 
 
12389
  */
 
 
 
12390
 
12391
  /**
12392
- * Internal dependencies
 
 
 
 
 
12393
  */
12394
-
12395
-
12396
-
12397
- var secondary_menu_SecondaryMenu = function SecondaryMenu(_ref) {
12398
- var category = _ref.category,
12399
- items = _ref.items,
12400
- onBackClick = _ref.onBackClick;
12401
-
12402
- if (!items.length) {
12403
- return null;
12404
  }
12405
 
12406
- var isRoot = category.id === 'woocommerce';
12407
- return Object(external_wp_element_["createElement"])(build_module["d" /* NavigationMenu */], {
12408
- className: "components-navigation__menu-secondary",
12409
- title: !isRoot && Object(external_wp_element_["createElement"])(category_title, {
12410
- category: category
12411
- }),
12412
- menu: category.id,
12413
- parentMenu: category.parent,
12414
- backButtonLabel: category.backButtonLabel || null,
12415
- onBackButtonClick: isRoot ? null : function () {
12416
- return onBackClick(category.id);
12417
- }
12418
- }, Object(external_wp_element_["createElement"])(build_module["b" /* NavigationGroup */], {
12419
- onBackButtonClick: function onBackButtonClick() {
12420
- return onBackClick(category.id);
12421
- }
12422
- }, items.map(function (item) {
12423
- return Object(external_wp_element_["createElement"])(components_Item, {
12424
- key: item.id,
12425
- item: item
12426
- });
12427
- })));
12428
- };
12429
- // CONCATENATED MODULE: ./client/navigation/components/container/index.js
12430
-
12431
 
 
 
 
12432
 
 
 
 
12433
 
 
 
 
 
 
12434
 
 
12435
 
 
 
 
12436
 
12437
- /**
12438
- * External dependencies
12439
- */
 
 
 
 
 
 
12440
 
 
 
 
12441
 
 
 
12442
 
 
 
 
 
 
 
 
12443
 
 
 
 
 
 
 
 
12444
 
 
 
12445
 
12446
  /**
12447
- * Internal dependencies
 
 
 
 
 
 
 
 
 
12448
  */
 
 
 
 
 
12449
 
 
12450
 
 
 
 
12451
 
 
 
 
12452
 
 
 
12453
 
12454
 
12455
- var container_Container = function Container() {
12456
- var _useSelect = Object(external_wp_data_["useSelect"])(function (select) {
12457
- return {
12458
- menuItems: select(external_wc_data_["NAVIGATION_STORE_NAME"]).getMenuItems()
12459
- };
12460
- }),
12461
- menuItems = _useSelect.menuItems;
12462
-
12463
- Object(external_wp_element_["useEffect"])(function () {
12464
- // Collapse the original WP Menu.
12465
- document.documentElement.classList.remove('wp-toolbar');
12466
- document.body.classList.add('has-woocommerce-navigation');
12467
- var adminMenu = document.getElementById('adminmenumain');
12468
-
12469
- if (!adminMenu) {
12470
- return;
12471
- }
12472
-
12473
- adminMenu.classList.add('folded');
12474
- }, []);
12475
-
12476
- var _useState = Object(external_wp_element_["useState"])('woocommerce-home'),
12477
- _useState2 = slicedToArray_default()(_useState, 2),
12478
- activeItem = _useState2[0],
12479
- setActiveItem = _useState2[1];
12480
-
12481
- var _useState3 = Object(external_wp_element_["useState"])('woocommerce'),
12482
- _useState4 = slicedToArray_default()(_useState3, 2),
12483
- activeLevel = _useState4[0],
12484
- setActiveLevel = _useState4[1];
12485
-
12486
- Object(external_wp_element_["useEffect"])(function () {
12487
- var initialMatchedItem = getMatchingItem(menuItems);
12488
-
12489
- if (initialMatchedItem && activeItem !== initialMatchedItem) {
12490
- setActiveItem(initialMatchedItem);
12491
- setActiveLevel(initialMatchedItem.parent);
12492
- }
12493
-
12494
- var removeListener = addHistoryListener(function () {
12495
- setTimeout(function () {
12496
- var matchedItem = getMatchingItem(menuItems);
12497
 
12498
- if (matchedItem) {
12499
- setActiveItem(matchedItem);
12500
- setActiveLevel(matchedItem.parent);
12501
- }
12502
- }, 0);
12503
- });
12504
- return removeListener;
12505
- }, [menuItems]);
12506
 
12507
- var _useUser = Object(external_wc_data_["useUser"])(),
12508
- currentUserCan = _useUser.currentUserCan;
12509
 
12510
- var _useMemo = Object(external_wp_element_["useMemo"])(function () {
12511
- return getMappedItemsCategories(menuItems, currentUserCan);
12512
- }, [menuItems, currentUserCan]),
12513
- categories = _useMemo.categories,
12514
- items = _useMemo.items;
12515
 
12516
- var navDomRef = Object(external_wp_element_["useRef"])(null);
12517
 
12518
- var onBackClick = function onBackClick(id) {
12519
- Object(external_wc_tracks_["recordEvent"])('navigation_back_click', {
12520
- category: id
12521
- });
12522
- };
12523
 
12524
- var isRoot = activeLevel === 'woocommerce';
12525
- var classes = classnames_default()('woocommerce-navigation', {
12526
- 'is-root': isRoot
12527
- });
12528
- return Object(external_wp_element_["createElement"])("div", {
12529
- className: classes
12530
- }, Object(external_wp_element_["createElement"])(header, null), Object(external_wp_element_["createElement"])("div", {
12531
- className: "woocommerce-navigation__wrapper",
12532
- ref: navDomRef
12533
- }, Object(external_wp_element_["createElement"])(build_module["a" /* Navigation */], {
12534
- activeItem: activeItem ? activeItem.id : null,
12535
- activeMenu: activeLevel,
12536
- onActivateMenu: function onActivateMenu() {
12537
- if (navDomRef && navDomRef.current) {
12538
- navDomRef.current.scrollTop = 0;
12539
- }
12540
 
12541
- setActiveLevel.apply(void 0, arguments);
12542
- }
12543
- }, Object.values(categories).map(function (category) {
12544
- var categoryItems = items[category.id];
12545
- return !!categoryItems && [Object(external_wp_element_["createElement"])(primary_menu_PrimaryMenu, {
12546
- key: category.id,
12547
- category: category,
12548
- onBackClick: onBackClick,
12549
- primaryItems: [].concat(toConsumableArray_default()(categoryItems.primary), toConsumableArray_default()(categoryItems.favorites)),
12550
- pluginItems: categoryItems.plugins
12551
- }), Object(external_wp_element_["createElement"])(secondary_menu_SecondaryMenu, {
12552
- key: "secondary/".concat(category.id),
12553
- category: category,
12554
- onBackClick: onBackClick,
12555
- items: categoryItems.secondary
12556
- })];
12557
- }))));
12558
- };
12559
 
12560
- /* harmony default export */ var container = (container_Container);
12561
- // CONCATENATED MODULE: ./client/navigation/index.js
12562
 
 
 
12563
 
 
 
 
 
 
12564
  /**
12565
  * External dependencies
12566
  */
12567
 
12568
-
12569
-
12570
  /**
12571
- * Internal dependencies
 
 
 
 
12572
  */
12573
 
 
 
 
 
 
12574
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12575
 
 
 
 
 
 
 
 
12576
 
12577
- var navigation_Navigation = function Navigation() {
12578
- return Object(external_wp_element_["createElement"])(external_wc_navigation_["NavSlotFillProvider"], null, Object(external_wp_element_["createElement"])(container, null), Object(external_wp_element_["createElement"])(external_wp_plugins_["PluginArea"], null));
12579
- };
12580
-
12581
- var HydratedNavigation = Object(external_wc_data_["withNavigationHydration"])(window.wcNavigation)(navigation_Navigation);
12582
- /* harmony default export */ var navigation = (HydratedNavigation);
12583
- // CONCATENATED MODULE: ./client/header/index.js
12584
-
12585
-
12586
-
12587
-
12588
- function header_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
12589
-
12590
- function header_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { header_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { header_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
12591
-
12592
-
12593
 
 
 
12594
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12595
 
12596
 
12597
 
 
12598
 
 
12599
 
 
 
 
12600
 
 
 
 
12601
 
12602
 
 
12603
 
 
 
 
 
 
12604
 
 
 
 
 
 
 
 
 
12605
 
 
 
 
 
 
 
 
 
12606
 
 
 
 
12607
  /**
12608
- * External dependencies
 
 
12609
  */
12610
 
 
 
 
 
 
 
 
 
12611
 
 
 
 
 
 
 
 
 
12612
 
 
 
 
 
 
 
 
 
12613
 
 
 
 
 
 
 
 
 
12614
 
 
 
 
 
 
 
 
 
12615
 
 
 
 
 
 
 
 
 
 
 
12616
 
 
 
 
 
12617
 
 
 
 
 
 
 
 
 
 
12618
 
12619
 
 
 
 
12620
 
 
12621
 
12622
- /**
12623
- * Internal dependencies
12624
- */
12625
 
 
12626
 
 
12627
 
 
 
12628
 
 
12629
 
 
12630
 
 
 
12631
 
12632
- var header_renderTaskListBackButton = function renderTaskListBackButton() {
12633
- var currentUrl = new URL(window.location.href);
12634
- var task = currentUrl.searchParams.get('task');
12635
 
12636
- if (task) {
12637
- var homeText = Object(external_wp_i18n_["__"])('WooCommerce Home', 'woocommerce-admin');
12638
 
12639
- var navigateHome = function navigateHome() {
12640
- Object(external_wc_tracks_["recordEvent"])('topbar_back_button', {
12641
- page_name: header_getPageTitle(window.title)
12642
- });
12643
- Object(external_wc_navigation_["updateQueryString"])({}, Object(external_wc_navigation_["getHistory"])().location.pathname, {});
12644
- }; // if it's a task list page, render a back button to the homescreen
12645
-
12646
-
12647
- return Object(external_wp_element_["createElement"])(external_wp_components_["Tooltip"], {
12648
- text: homeText
12649
- }, Object(external_wp_element_["createElement"])("div", {
12650
- tabIndex: "0",
12651
- role: "button",
12652
- "data-testid": "header-back-button",
12653
- className: "woocommerce-layout__header-back-button",
12654
- onKeyDown: function onKeyDown(_ref) {
12655
- var keyCode = _ref.keyCode;
12656
-
12657
- if (keyCode === external_wp_keycodes_["ENTER"] || keyCode === external_wp_keycodes_["SPACE"]) {
12658
- navigateHome();
12659
- }
12660
- }
12661
- }, Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], {
12662
- icon: chevron_left["a" /* default */],
12663
- onClick: navigateHome
12664
- })));
12665
- }
12666
 
12667
- return null;
12668
- };
12669
 
12670
- var header_getPageTitle = function getPageTitle(defaultTitle) {
12671
- var currentUrl = new URL(window.location.href);
12672
- var task = currentUrl.searchParams.get('task'); // If it's the task list then render a title based on which task the user is on.
12673
 
12674
- return {
12675
- payments: Object(external_wp_i18n_["__"])('Choose payment methods', 'woocommerce-admin'),
12676
- tax: Object(external_wp_i18n_["__"])('Add tax rates', 'woocommerce-admin'),
12677
- appearance: Object(external_wp_i18n_["__"])('Personalize your store', 'woocommerce-admin'),
12678
- products: Object(external_wp_i18n_["__"])('Add products', 'woocommerce-admin'),
12679
- shipping: Object(external_wp_i18n_["__"])('Set up shipping costs', 'woocommerce-admin')
12680
- }[task] || defaultTitle;
12681
- };
12682
 
12683
- var client_header_Header = function Header(_ref2) {
12684
- var sections = _ref2.sections,
12685
- _ref2$isEmbedded = _ref2.isEmbedded,
12686
- isEmbedded = _ref2$isEmbedded === void 0 ? false : _ref2$isEmbedded,
12687
- query = _ref2.query;
12688
- var headerElement = Object(external_wp_element_["useRef"])(null);
12689
- var siteTitle = Object(wc_admin_settings["g" /* getSetting */])('siteTitle', '');
12690
- var pageTitle = sections.slice(-1)[0];
12691
- var isScrolled = useIsScrolled();
12692
 
12693
- var _useUserPreferences = Object(external_wc_data_["useUserPreferences"])(),
12694
- updateUserPreferences = _useUserPreferences.updateUserPreferences,
12695
- userData = objectWithoutProperties_default()(_useUserPreferences, ["updateUserPreferences"]);
12696
 
12697
- var isModalDismissed = userData.android_app_banner_dismissed === 'yes';
12698
- var debounceTimer = null;
12699
- var className = classnames_default()('woocommerce-layout__header', {
12700
- 'is-scrolled': isScrolled
12701
- });
12702
- Object(external_wp_element_["useLayoutEffect"])(function () {
12703
- updateBodyMargin();
12704
- window.addEventListener('resize', updateBodyMargin);
12705
- return function () {
12706
- window.removeEventListener('resize', updateBodyMargin);
12707
- var wpBody = document.querySelector('#wpbody');
12708
 
12709
- if (!wpBody) {
12710
- return;
12711
- }
12712
 
12713
- wpBody.style.marginTop = null;
12714
- };
12715
- }, [isModalDismissed]);
12716
 
12717
- var updateBodyMargin = function updateBodyMargin() {
12718
- clearTimeout(debounceTimer);
12719
- debounceTimer = setTimeout(function () {
12720
- var wpBody = document.querySelector('#wpbody');
12721
 
12722
- if (!wpBody || !headerElement.current) {
12723
- return;
12724
- }
12725
 
12726
- wpBody.style.marginTop = "".concat(headerElement.current.offsetHeight, "px");
12727
- }, 200);
12728
- };
12729
 
12730
- Object(external_wp_element_["useEffect"])(function () {
12731
- if (!isEmbedded) {
12732
- var documentTitle = sections.map(function (section) {
12733
- return Array.isArray(section) ? section[1] : section;
12734
- }).reverse().join(' &lsaquo; ');
12735
- var decodedTitle = Object(external_wp_htmlEntities_["decodeEntities"])(Object(external_wp_i18n_["sprintf"])(
12736
- /* translators: 1: document title. 2: page title */
12737
- Object(external_wp_i18n_["__"])('%1$s &lsaquo; %2$s &#8212; WooCommerce', 'woocommerce-admin'), documentTitle, siteTitle));
12738
 
12739
- if (document.title !== decodedTitle) {
12740
- document.title = decodedTitle;
 
 
12741
  }
12742
  }
12743
- }, [isEmbedded, sections, siteTitle]);
12744
 
12745
- var dismissHandler = function dismissHandler() {
12746
- updateUserPreferences({
12747
- android_app_banner_dismissed: 'yes'
12748
- });
12749
  };
12750
 
12751
- var backButton = header_renderTaskListBackButton();
12752
- var backButtonClass = backButton ? 'with-back-button' : '';
12753
- return Object(external_wp_element_["createElement"])("div", {
12754
- className: className,
12755
- ref: headerElement
12756
- }, !isModalDismissed && Object(external_wp_element_["createElement"])(mobile_banner_MobileAppBanner, {
12757
- onDismiss: dismissHandler,
12758
- onInstall: dismissHandler
12759
- }), Object(external_wp_element_["createElement"])("div", {
12760
- className: "woocommerce-layout__header-wrapper"
12761
- }, window.wcAdminFeatures.navigation && Object(external_wp_element_["createElement"])(navigation, null), header_renderTaskListBackButton(), Object(external_wp_element_["createElement"])(build_module["e" /* Text */], {
12762
- className: "woocommerce-layout__header-heading ".concat(backButtonClass),
12763
- as: "h1",
12764
- variant: "subtitle.small"
12765
- }, header_getPageTitle(Object(external_wp_htmlEntities_["decodeEntities"])(pageTitle))), window.wcAdminFeatures['activity-panels'] && Object(external_wp_element_["createElement"])(activity_panel, {
12766
- isEmbedded: isEmbedded,
12767
- query: query,
12768
- userPreferencesData: header_objectSpread(header_objectSpread({}, userData), {}, {
12769
- updateUserPreferences: updateUserPreferences
12770
- })
12771
- })));
12772
- };
12773
- // CONCATENATED MODULE: ./client/layout/notices.js
12774
-
12775
-
12776
-
12777
-
12778
 
 
12779
 
 
12780
 
 
 
12781
 
12782
- function notices_createSuper(Derived) { var hasNativeReflectConstruct = notices_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = getPrototypeOf_default()(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12783
 
12784
- function notices_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12785
 
12786
  /**
12787
  * External dependencies
12788
  */
 
12789
 
12790
-
12791
- var notices_Notices = /*#__PURE__*/function (_Component) {
12792
- inherits_default()(Notices, _Component);
12793
-
12794
- var _super = notices_createSuper(Notices);
12795
-
12796
- function Notices() {
12797
- classCallCheck_default()(this, Notices);
12798
-
12799
- return _super.apply(this, arguments);
12800
  }
12801
 
12802
- createClass_default()(Notices, [{
12803
- key: "render",
12804
- value: function render() {
12805
- return Object(external_wp_element_["createElement"])("div", {
12806
- id: "woocommerce-layout__notice-list",
12807
- className: "woocommerce-layout__notice-list"
12808
- });
12809
- }
12810
- }]);
12811
-
12812
- return Notices;
12813
- }(external_wp_element_["Component"]);
12814
-
12815
- /* harmony default export */ var layout_notices = (notices_Notices);
12816
- // EXTERNAL MODULE: external "regeneratorRuntime"
12817
- var external_regeneratorRuntime_ = __webpack_require__(16);
12818
- var external_regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(external_regeneratorRuntime_);
12819
-
12820
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
12821
- var asyncToGenerator = __webpack_require__(134);
12822
- var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
12823
-
12824
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.weak-map.js
12825
- var es_weak_map = __webpack_require__(432);
12826
-
12827
- // EXTERNAL MODULE: ./node_modules/react-spring/web.cjs.js
12828
- var web_cjs = __webpack_require__(315);
12829
-
12830
- // EXTERNAL MODULE: ./client/layout/transient-notices/snackbar/index.js
12831
- var snackbar = __webpack_require__(392);
12832
-
12833
- // CONCATENATED MODULE: ./client/layout/transient-notices/snackbar/list.js
12834
 
 
 
 
 
 
12835
 
 
 
 
12836
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12837
 
 
 
 
 
12838
 
 
 
 
12839
 
 
 
 
 
 
 
 
 
12840
 
 
 
 
12841
 
 
12842
 
 
 
12843
 
 
12844
 
 
12845
 
12846
- /**
12847
- * External dependencies
12848
- */
12849
 
 
12850
 
12851
 
 
12852
 
 
12853
 
12854
- /**
12855
- * Internal dependencies
12856
- */
12857
 
 
12858
 
12859
- /**
12860
- * Renders a list of notices.
12861
- *
12862
- * @param {Object} $0 Props passed to the component.
12863
- * @param {Array} $0.notices Array of notices to render.
12864
- * @param {Function} $0.onRemove Function called when a notice should be removed / dismissed.
12865
- * @param {Function} $0.onRemove2 Function called when a notice should be removed / dismissed.
12866
- * @param {Object} $0.className Name of the class used by the component.
12867
- * @param {Object} $0.children Array of children to be rendered inside the notice list.
12868
- * @return {Object} The rendered notices list.
12869
- */
12870
 
12871
- function SnackbarList(_ref) {
12872
- var notices = _ref.notices,
12873
- className = _ref.className,
12874
- children = _ref.children,
12875
- _ref$onRemove = _ref.onRemove,
12876
- onRemove = _ref$onRemove === void 0 ? external_lodash_["noop"] : _ref$onRemove,
12877
- _ref$onRemove2 = _ref.onRemove2,
12878
- onRemove2 = _ref$onRemove2 === void 0 ? external_lodash_["noop"] : _ref$onRemove2;
12879
- var isReducedMotion = Object(external_wp_compose_["useReducedMotion"])();
12880
 
12881
- var _useState = Object(external_wp_element_["useState"])(function () {
12882
- return new WeakMap();
12883
- }),
12884
- _useState2 = slicedToArray_default()(_useState, 1),
12885
- refMap = _useState2[0];
12886
 
12887
- var transitions = Object(web_cjs["useTransition"])(notices, function (notice) {
12888
- return notice.id;
12889
- }, {
12890
- from: {
12891
- opacity: 0,
12892
- height: 0
12893
- },
12894
- enter: function enter(item) {
12895
- return /*#__PURE__*/function () {
12896
- var _ref2 = asyncToGenerator_default()( /*#__PURE__*/external_regeneratorRuntime_default.a.mark(function _callee(next) {
12897
- return external_regeneratorRuntime_default.a.wrap(function _callee$(_context) {
12898
- while (1) {
12899
- switch (_context.prev = _context.next) {
12900
- case 0:
12901
- _context.next = 2;
12902
- return next({
12903
- opacity: 1,
12904
- height: refMap.get(item).offsetHeight
12905
- });
12906
 
12907
- case 2:
12908
- return _context.abrupt("return", _context.sent);
12909
 
12910
- case 3:
12911
- case "end":
12912
- return _context.stop();
12913
- }
12914
- }
12915
- }, _callee);
12916
- }));
12917
 
12918
- return function (_x) {
12919
- return _ref2.apply(this, arguments);
12920
- };
12921
- }();
12922
- },
12923
- leave: function leave() {
12924
- return /*#__PURE__*/function () {
12925
- var _ref3 = asyncToGenerator_default()( /*#__PURE__*/external_regeneratorRuntime_default.a.mark(function _callee2(next) {
12926
- return external_regeneratorRuntime_default.a.wrap(function _callee2$(_context2) {
12927
- while (1) {
12928
- switch (_context2.prev = _context2.next) {
12929
- case 0:
12930
- _context2.next = 2;
12931
- return next({
12932
- opacity: 0
12933
- });
12934
 
12935
- case 2:
12936
- _context2.next = 4;
12937
- return next({
12938
- height: 0
12939
- });
12940
 
12941
- case 4:
12942
- case "end":
12943
- return _context2.stop();
12944
- }
12945
- }
12946
- }, _callee2);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12947
  }));
 
 
12948
 
12949
- return function (_x2) {
12950
- return _ref3.apply(this, arguments);
12951
- };
12952
- }();
12953
- },
12954
- immediate: isReducedMotion
12955
- });
12956
- className = classnames_default()('components-snackbar-list', className);
12957
-
12958
- var removeNotice = function removeNotice(notice) {
12959
- return function () {
12960
- onRemove(notice.id); // To be removed when we're no longer using core/notices2.
12961
 
12962
- onRemove2(notice.id);
12963
- };
12964
- };
12965
 
12966
- return Object(external_wp_element_["createElement"])("div", {
12967
- className: className
12968
- }, children, transitions.map(function (_ref4) {
12969
- var notice = _ref4.item,
12970
- key = _ref4.key,
12971
- style = _ref4.props;
12972
- return Object(external_wp_element_["createElement"])(web_cjs["animated"].div, {
12973
- key: key,
12974
- style: style
12975
- }, Object(external_wp_element_["createElement"])("div", {
12976
- className: "components-snackbar-list__notice-container",
12977
- ref: function ref(_ref5) {
12978
- return _ref5 && refMap.set(notice, _ref5);
12979
- }
12980
- }, Object(external_wp_element_["createElement"])(snackbar["a" /* default */], extends_default()({}, Object(external_lodash_["omit"])(notice, ['content']), {
12981
- onRemove: removeNotice(notice)
12982
- }), notice.content)));
12983
- }));
12984
- }
12985
 
12986
- /* harmony default export */ var list = (SnackbarList);
12987
- // EXTERNAL MODULE: ./client/layout/transient-notices/style.scss
12988
- var transient_notices_style = __webpack_require__(435);
12989
 
12990
- // CONCATENATED MODULE: ./client/layout/transient-notices/index.js
 
12991
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12992
 
12993
 
12994
  /**
@@ -12997,208 +7747,269 @@ var transient_notices_style = __webpack_require__(435);
12997
 
12998
 
12999
 
13000
- /**
13001
- * Internal dependencies
13002
- */
13003
-
13004
 
13005
 
13006
 
13007
- function TransientNotices(props) {
13008
- var _useDispatch = Object(external_wp_data_["useDispatch"])('core/notices'),
13009
- onRemove = _useDispatch.removeNotice;
13010
 
13011
- var _useDispatch2 = Object(external_wp_data_["useDispatch"])('core/notices2'),
13012
- onRemove2 = _useDispatch2.removeNotice;
13013
-
13014
- var noticeData = Object(external_wp_data_["useSelect"])(function (select) {
13015
- // NOTE: This uses core/notices2, if this file is copied back upstream
13016
- // to Gutenberg this needs to be changed back to just core/notices.
13017
- var notices = select('core/notices').getNotices();
13018
- var notices2 = select('core/notices2').getNotices();
13019
- return {
13020
- notices: notices,
13021
- notices2: notices2
13022
- };
13023
- });
13024
- /**
13025
- * Combines the two notices in the component vs in the useSelect, as we don't want to
13026
- * create new object references on each useSelect call.
13027
- */
13028
 
13029
- var getNotices = function getNotices() {
13030
- var notices = noticeData.notices,
13031
- _noticeData$notices = noticeData.notices2,
13032
- notices2 = _noticeData$notices === void 0 ? [] : _noticeData$notices;
13033
- return notices.concat(notices2);
13034
- };
 
13035
 
13036
- var className = props.className;
13037
- var classes = classnames_default()('woocommerce-transient-notices', 'components-notices__snackbar', className);
13038
- var notices = getNotices();
13039
- return Object(external_wp_element_["createElement"])(list, {
13040
- notices: notices,
13041
- className: classes,
13042
- onRemove: onRemove,
13043
- onRemove2: onRemove2
13044
- });
13045
  }
13046
 
13047
- TransientNotices.propTypes = {
13048
- /**
13049
- * Additional class name to style the component.
13050
- */
13051
- className: prop_types_default.a.string,
13052
-
13053
- /**
13054
- * Array of notices to be displayed.
13055
- */
13056
- notices: prop_types_default.a.array
13057
- };
13058
- /* harmony default export */ var transient_notices = (TransientNotices);
13059
- // CONCATENATED MODULE: ./client/layout/navigation.js
13060
-
13061
-
13062
-
13063
-
13064
- function navigation_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
13065
-
13066
- function navigation_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { navigation_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { navigation_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
13067
 
 
 
 
 
13068
 
 
 
 
13069
 
 
 
 
13070
 
 
 
 
 
13071
 
 
13072
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13073
 
 
 
 
13074
 
 
 
13075
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13076
 
 
 
13077
 
13078
- /**
13079
- * External dependencies
13080
- */
13081
 
 
 
13082
 
 
13083
 
 
13084
 
 
 
13085
 
 
 
 
 
 
13086
  /**
13087
- * Internal dependencies
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13088
  */
13089
 
13090
 
 
 
 
 
13091
 
13092
 
 
 
 
13093
 
13094
-
13095
- var navigation_NavigationPlugin = function NavigationPlugin() {
13096
- var _useState = Object(external_wp_element_["useState"])(Object(external_wc_navigation_["getPersistedQuery"])()),
13097
- _useState2 = slicedToArray_default()(_useState, 2),
13098
- persistedQuery = _useState2[0],
13099
- setPersistedQuery = _useState2[1];
13100
-
13101
- var pathIsExcluded = function pathIsExcluded(path) {
13102
- return Object(external_wc_navigation_["getQueryExcludedScreens"])().includes(Object(external_wc_navigation_["getScreenFromPath"])(path));
13103
- }; // Update the persisted queries when history is updated
13104
-
13105
-
13106
- Object(external_wp_element_["useEffect"])(function () {
13107
- return addHistoryListener(function () {
13108
- setTimeout(function () {
13109
- if (pathIsExcluded()) {
13110
- return;
13111
- }
13112
-
13113
- setPersistedQuery(Object(external_wc_navigation_["getPersistedQuery"])());
13114
- }, 0);
13115
- });
13116
- }, []);
13117
- /**
13118
- * If the current page is embedded, stay with the default urls
13119
- * provided by Navigation because the router isn't present to
13120
- * respond to <Link /> component's manipulation of the url.
13121
- */
13122
-
13123
- if (!Object(utils["f" /* isWCAdmin */])(window.location.href)) {
13124
- return null;
13125
  }
 
 
 
13126
 
13127
- var reports = Object(get_reports["a" /* default */])().filter(function (item) {
13128
- return item.navArgs;
13129
- });
13130
- var pages = controller_getPages().filter(function (page) {
13131
- return page.navArgs;
13132
- }).map(function (page) {
13133
- if (page.path === '/analytics/settings') {
13134
- return navigation_objectSpread(navigation_objectSpread({}, page), {}, {
13135
- breadcrumbs: [Object(external_wp_i18n_["__"])('Analytics', 'woocommerce-admin')]
13136
- });
13137
- }
13138
-
13139
- return page;
13140
- });
13141
- return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, pages.map(function (page) {
13142
- return Object(external_wp_element_["createElement"])(external_wc_navigation_["WooNavigationItem"], {
13143
- item: page.navArgs.id,
13144
- key: page.navArgs.id
13145
- }, Object(external_wp_element_["createElement"])(external_wc_components_["Link"], {
13146
- className: "components-button",
13147
- href: Object(external_wc_navigation_["getNewPath"])(pathIsExcluded(page.path) ? {} : persistedQuery, page.path, {}),
13148
- type: "wc-admin"
13149
- }, page.breadcrumbs[page.breadcrumbs.length - 1]));
13150
- }), reports.map(function (item) {
13151
- return Object(external_wp_element_["createElement"])(external_wc_navigation_["WooNavigationItem"], {
13152
- item: item.navArgs.id,
13153
- key: item.navArgs.id
13154
- }, Object(external_wp_element_["createElement"])(external_wc_components_["Link"], {
13155
- className: "components-button",
13156
- href: Object(external_wc_navigation_["getNewPath"])(pathIsExcluded(item.report) ? {} : persistedQuery, "/analytics/".concat(item.report), {}),
13157
- type: "wc-admin"
13158
- }, item.title));
13159
- }));
13160
- };
13161
-
13162
- Object(external_wp_plugins_["registerPlugin"])('wc-admin-navigation', {
13163
- render: navigation_NavigationPlugin
13164
- });
13165
- // CONCATENATED MODULE: ./client/layout/index.js
13166
-
13167
-
13168
-
13169
-
13170
 
 
 
13171
 
 
13172
 
 
13173
 
 
 
13174
 
 
13175
 
 
 
13176
 
 
13177
 
 
 
 
 
 
 
13178
 
 
 
 
 
13179
 
 
 
 
 
13180
 
 
 
 
13181
 
13182
- function layout_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
 
 
13183
 
13184
- function layout_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { layout_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { layout_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
 
 
13185
 
13186
- function layout_createSuper(Derived) { var hasNativeReflectConstruct = layout_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = getPrototypeOf_default()(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
 
13187
 
13188
- function layout_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
 
 
13189
 
 
 
13190
 
 
 
 
13191
 
 
 
13192
 
 
 
13193
 
 
 
13194
 
 
 
13195
 
 
13196
 
13197
 
13198
 
13199
 
13200
 
 
13201
 
 
13202
 
13203
  /**
13204
  * External dependencies
@@ -13211,6672 +8022,5425 @@ function layout_isNativeReflectConstruct() { if (typeof Reflect === "undefined"
13211
 
13212
 
13213
 
13214
-
13215
-
13216
-
13217
-
13218
-
13219
  /**
13220
- * Internal dependencies
 
 
 
 
 
 
 
 
 
 
 
 
 
13221
  */
13222
 
 
 
 
 
 
 
 
 
 
 
 
 
13223
 
 
 
 
 
13224
 
 
 
 
13225
 
13226
 
 
 
 
 
 
 
 
 
 
13227
 
13228
 
13229
- var StoreAlerts = Object(external_wp_element_["lazy"])(function () {
13230
- return Promise.all(/* import() | store-alerts */[__webpack_require__.e(1), __webpack_require__.e(47)]).then(__webpack_require__.bind(null, 714));
13231
- });
13232
- var WCPayUsageModal = Object(external_wp_element_["lazy"])(function () {
13233
- return __webpack_require__.e(/* import() | wcpay-usage-modal */ 51).then(__webpack_require__.bind(null, 609));
13234
- });
13235
- var layout_PrimaryLayout = /*#__PURE__*/function (_Component) {
13236
- inherits_default()(PrimaryLayout, _Component);
13237
 
13238
- var _super = layout_createSuper(PrimaryLayout);
 
 
 
 
 
13239
 
13240
- function PrimaryLayout() {
13241
- classCallCheck_default()(this, PrimaryLayout);
 
13242
 
13243
- return _super.apply(this, arguments);
13244
- }
 
 
 
 
 
13245
 
13246
- createClass_default()(PrimaryLayout, [{
13247
- key: "render",
13248
- value: function render() {
13249
- var children = this.props.children;
13250
- return Object(external_wp_element_["createElement"])("div", {
13251
- className: "woocommerce-layout__primary",
13252
- id: "woocommerce-layout__primary"
13253
- }, window.wcAdminFeatures['store-alerts'] && Object(external_wp_element_["createElement"])(external_wp_element_["Suspense"], {
13254
- fallback: Object(external_wp_element_["createElement"])(external_wc_components_["Spinner"], null)
13255
- }, Object(external_wp_element_["createElement"])(StoreAlerts, null)), Object(external_wp_element_["createElement"])(layout_notices, null), children);
13256
- }
13257
- }]);
13258
 
13259
- return PrimaryLayout;
13260
- }(external_wp_element_["Component"]);
 
 
 
 
 
 
 
13261
 
13262
- var layout_Layout = /*#__PURE__*/function (_Component2) {
13263
- inherits_default()(_Layout, _Component2);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13264
 
13265
- var _super2 = layout_createSuper(_Layout);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13266
 
13267
- function _Layout() {
13268
- classCallCheck_default()(this, _Layout);
 
 
13269
 
13270
- return _super2.apply(this, arguments);
13271
- }
 
 
13272
 
13273
- createClass_default()(_Layout, [{
13274
- key: "componentDidMount",
13275
- value: function componentDidMount() {
13276
- this.recordPageViewTrack();
13277
- }
13278
- }, {
13279
- key: "componentDidUpdate",
13280
- value: function componentDidUpdate(prevProps) {
13281
- var previousPath = Object(external_lodash_["get"])(prevProps, 'location.pathname');
13282
- var currentPath = Object(external_lodash_["get"])(this.props, 'location.pathname');
13283
 
13284
- if (!previousPath || !currentPath) {
13285
- return;
13286
- }
 
13287
 
13288
- if (previousPath !== currentPath) {
13289
- this.recordPageViewTrack();
13290
- }
13291
- }
13292
- }, {
13293
- key: "recordPageViewTrack",
13294
- value: function recordPageViewTrack() {
13295
- var _this$props = this.props,
13296
- activePlugins = _this$props.activePlugins,
13297
- installedPlugins = _this$props.installedPlugins,
13298
- isEmbedded = _this$props.isEmbedded,
13299
- isJetpackConnected = _this$props.isJetpackConnected;
13300
- var navigationFlag = {
13301
- has_navigation: !!window.wcNavigation
13302
- };
13303
 
13304
- if (isEmbedded) {
13305
- var _path = document.location.pathname + document.location.search;
 
 
13306
 
13307
- Object(external_wc_tracks_["recordPageView"])(_path, layout_objectSpread({
13308
- is_embedded: true
13309
- }, navigationFlag));
13310
- return;
13311
- }
13312
 
13313
- var pathname = Object(external_lodash_["get"])(this.props, 'location.pathname');
 
 
 
 
13314
 
13315
- if (!pathname) {
13316
- return;
13317
- } // Remove leading slash, and camel case remaining pathname
13318
 
 
 
 
 
13319
 
13320
- var path = pathname.substring(1).replace(/\//g, '_'); // When pathname is `/` we are on the home screen.
 
 
 
13321
 
13322
- if (path.length === 0) {
13323
- path = 'home_screen';
13324
- }
 
 
 
 
 
 
 
 
 
 
 
 
13325
 
13326
- Object(external_wc_tracks_["recordPageView"])(path, layout_objectSpread({
13327
- jetpack_installed: installedPlugins.includes('jetpack'),
13328
- jetpack_active: activePlugins.includes('jetpack'),
13329
- jetpack_connected: isJetpackConnected
13330
- }, navigationFlag));
13331
- }
13332
- }, {
13333
- key: "getQuery",
13334
- value: function getQuery(searchString) {
13335
- if (!searchString) {
13336
- return {};
13337
- }
13338
 
13339
- var search = searchString.substring(1);
13340
- return Object(lib["parse"])(search);
13341
- }
13342
- }, {
13343
- key: "isWCPaySettingsPage",
13344
- value: function isWCPaySettingsPage() {
13345
- var _getQuery = Object(external_wc_navigation_["getQuery"])(),
13346
- page = _getQuery.page,
13347
- section = _getQuery.section,
13348
- tab = _getQuery.tab;
13349
 
13350
- return page === 'wc-settings' && tab === 'checkout' && section === 'woocommerce_payments';
13351
- }
13352
- }, {
13353
- key: "render",
13354
- value: function render() {
13355
- var _this$props2 = this.props,
13356
- isEmbedded = _this$props2.isEmbedded,
13357
- restProps = objectWithoutProperties_default()(_this$props2, ["isEmbedded"]);
13358
 
13359
- var _this$props3 = this.props,
13360
- location = _this$props3.location,
13361
- page = _this$props3.page;
13362
- var breadcrumbs = page.breadcrumbs;
13363
- var query = this.getQuery(location && location.search);
13364
- return Object(external_wp_element_["createElement"])("div", {
13365
- className: "woocommerce-layout"
13366
- }, Object(external_wp_element_["createElement"])(client_header_Header, {
13367
- sections: Object(external_lodash_["isFunction"])(breadcrumbs) ? breadcrumbs(this.props) : breadcrumbs,
13368
- isEmbedded: isEmbedded,
13369
- query: query
13370
- }), Object(external_wp_element_["createElement"])(transient_notices, null), !isEmbedded && Object(external_wp_element_["createElement"])(layout_PrimaryLayout, null, Object(external_wp_element_["createElement"])("div", {
13371
- className: "woocommerce-layout__main"
13372
- }, Object(external_wp_element_["createElement"])(controller_Controller, extends_default()({}, restProps, {
13373
- query: query
13374
- })))), isEmbedded && this.isWCPaySettingsPage() && Object(external_wp_element_["createElement"])(external_wp_element_["Suspense"], {
13375
- fallback: null
13376
- }, Object(external_wp_element_["createElement"])(WCPayUsageModal, null)));
13377
- }
13378
- }]);
13379
 
13380
- return _Layout;
13381
- }(external_wp_element_["Component"]);
 
13382
 
13383
- layout_Layout.propTypes = {
13384
- isEmbedded: prop_types_default.a.bool,
13385
- page: prop_types_default.a.shape({
13386
- container: prop_types_default.a.oneOfType([prop_types_default.a.func, prop_types_default.a.object // Support React.lazy
13387
- ]),
13388
- path: prop_types_default.a.string,
13389
- breadcrumbs: prop_types_default.a.oneOfType([prop_types_default.a.func, prop_types_default.a.arrayOf(prop_types_default.a.oneOfType([prop_types_default.a.arrayOf(prop_types_default.a.string), prop_types_default.a.string]))]).isRequired,
13390
- wpOpenMenu: prop_types_default.a.string
13391
- }).isRequired
13392
- };
13393
- var Layout = Object(external_wp_compose_["compose"])(Object(external_wc_data_["withPluginsHydration"])(layout_objectSpread(layout_objectSpread({}, window.wcSettings.plugins || {}), {}, {
13394
- jetpackStatus: window.wcSettings.dataEndpoints && window.wcSettings.dataEndpoints.jetpackStatus || false
13395
- })), Object(external_wp_data_["withSelect"])(function (select, _ref) {
13396
- var isEmbedded = _ref.isEmbedded;
13397
 
13398
- // Embedded pages don't send plugin info to Tracks.
13399
- if (isEmbedded) {
13400
- return;
13401
- }
 
13402
 
13403
- var _select = select(external_wc_data_["PLUGINS_STORE_NAME"]),
13404
- getActivePlugins = _select.getActivePlugins,
13405
- getInstalledPlugins = _select.getInstalledPlugins,
13406
- isJetpackConnected = _select.isJetpackConnected;
 
 
 
 
 
 
 
 
 
 
 
13407
 
 
 
 
 
13408
  return {
13409
- activePlugins: getActivePlugins(),
13410
- isJetpackConnected: isJetpackConnected(),
13411
- installedPlugins: getInstalledPlugins()
 
 
 
13412
  };
13413
- }))(layout_Layout);
 
 
 
13414
 
13415
- var layout_PageLayout = function _PageLayout() {
13416
- var _useUser = Object(external_wc_data_["useUser"])(),
13417
- currentUserCan = _useUser.currentUserCan;
 
 
 
13418
 
13419
- return Object(external_wp_element_["createElement"])(react_router_Router, {
13420
- history: Object(external_wc_navigation_["getHistory"])()
13421
- }, Object(external_wp_element_["createElement"])(react_router_Switch, null, controller_getPages().filter(function (page) {
13422
- return !page.capability || currentUserCan(page.capability);
13423
- }).map(function (page) {
13424
- return Object(external_wp_element_["createElement"])(react_router_Route, {
13425
- key: page.path,
13426
- path: page.path,
13427
- exact: true,
13428
- render: function render(props) {
13429
- return Object(external_wp_element_["createElement"])(Layout, extends_default()({
13430
- page: page
13431
- }, props));
13432
- }
13433
- });
13434
- })));
13435
- };
13436
 
13437
- var PageLayout = Object(external_wp_compose_["compose"])(window.wcSettings.preloadOptions ? Object(external_wc_data_["withOptionsHydration"])(layout_objectSpread({}, window.wcSettings.preloadOptions)) : external_lodash_["identity"])(layout_PageLayout);
13438
 
13439
- var layout_EmbedLayout = function _EmbedLayout() {
13440
- return Object(external_wp_element_["createElement"])(Layout, {
13441
- page: {
13442
- breadcrumbs: Object(wc_admin_settings["g" /* getSetting */])('embedBreadcrumbs', [])
13443
- },
13444
- isEmbedded: true
13445
- });
13446
- };
13447
 
13448
- var EmbedLayout = Object(external_wp_compose_["compose"])(window.wcSettings.preloadOptions ? Object(external_wc_data_["withOptionsHydration"])(layout_objectSpread({}, window.wcSettings.preloadOptions)) : external_lodash_["identity"])(layout_EmbedLayout);
 
 
13449
 
13450
- /***/ }),
13451
- /* 281 */
13452
- /***/ (function(module, exports) {
13453
 
13454
- (function() { module.exports = window["wc"]["number"]; }());
13455
 
13456
- /***/ }),
13457
- /* 282 */,
13458
- /* 283 */
13459
- /***/ (function(module, exports, __webpack_require__) {
13460
 
13461
- var $ = __webpack_require__(12);
13462
- var from = __webpack_require__(234);
13463
- var checkCorrectnessOfIteration = __webpack_require__(165);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13464
 
13465
- var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
13466
- Array.from(iterable);
13467
- });
13468
 
13469
- // `Array.from` method
13470
- // https://tc39.es/ecma262/#sec-array.from
13471
- $({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {
13472
- from: from
13473
- });
13474
 
 
 
13475
 
13476
- /***/ }),
13477
- /* 284 */,
13478
- /* 285 */
13479
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
13480
 
13481
- var $ = __webpack_require__(12);
13482
- var $values = __webpack_require__(249).values;
13483
 
13484
- // `Object.values` method
13485
- // https://tc39.es/ecma262/#sec-object.values
13486
- $({ target: 'Object', stat: true }, {
13487
- values: function values(O) {
13488
- return $values(O);
13489
- }
13490
- });
13491
 
 
13492
 
13493
- /***/ }),
13494
- /* 286 */,
13495
- /* 287 */
13496
- /***/ (function(module, exports, __webpack_require__) {
13497
 
13498
- "use strict";
 
 
13499
 
13500
- // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
13501
- __webpack_require__(151);
13502
- var $ = __webpack_require__(12);
13503
- var DESCRIPTORS = __webpack_require__(13);
13504
- var USE_NATIVE_URL = __webpack_require__(254);
13505
- var global = __webpack_require__(3);
13506
- var defineProperties = __webpack_require__(104);
13507
- var redefine = __webpack_require__(27);
13508
- var anInstance = __webpack_require__(136);
13509
- var has = __webpack_require__(11);
13510
- var assign = __webpack_require__(221);
13511
- var arrayFrom = __webpack_require__(234);
13512
- var codeAt = __webpack_require__(125).codeAt;
13513
- var toASCII = __webpack_require__(294);
13514
- var setToStringTag = __webpack_require__(90);
13515
- var URLSearchParamsModule = __webpack_require__(295);
13516
- var InternalStateModule = __webpack_require__(45);
13517
-
13518
- var NativeURL = global.URL;
13519
- var URLSearchParams = URLSearchParamsModule.URLSearchParams;
13520
- var getInternalSearchParamsState = URLSearchParamsModule.getState;
13521
- var setInternalState = InternalStateModule.set;
13522
- var getInternalURLState = InternalStateModule.getterFor('URL');
13523
- var floor = Math.floor;
13524
- var pow = Math.pow;
13525
-
13526
- var INVALID_AUTHORITY = 'Invalid authority';
13527
- var INVALID_SCHEME = 'Invalid scheme';
13528
- var INVALID_HOST = 'Invalid host';
13529
- var INVALID_PORT = 'Invalid port';
13530
-
13531
- var ALPHA = /[A-Za-z]/;
13532
- var ALPHANUMERIC = /[\d+-.A-Za-z]/;
13533
- var DIGIT = /\d/;
13534
- var HEX_START = /^(0x|0X)/;
13535
- var OCT = /^[0-7]+$/;
13536
- var DEC = /^\d+$/;
13537
- var HEX = /^[\dA-Fa-f]+$/;
13538
- /* eslint-disable no-control-regex -- safe */
13539
- var FORBIDDEN_HOST_CODE_POINT = /[\u0000\t\u000A\u000D #%/:?@[\\]]/;
13540
- var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\t\u000A\u000D #/:?@[\\]]/;
13541
- var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g;
13542
- var TAB_AND_NEW_LINE = /[\t\u000A\u000D]/g;
13543
- /* eslint-enable no-control-regex -- safe */
13544
- var EOF;
13545
-
13546
- var parseHost = function (url, input) {
13547
- var result, codePoints, index;
13548
- if (input.charAt(0) == '[') {
13549
- if (input.charAt(input.length - 1) != ']') return INVALID_HOST;
13550
- result = parseIPv6(input.slice(1, -1));
13551
- if (!result) return INVALID_HOST;
13552
- url.host = result;
13553
- // opaque host
13554
- } else if (!isSpecial(url)) {
13555
- if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;
13556
- result = '';
13557
- codePoints = arrayFrom(input);
13558
- for (index = 0; index < codePoints.length; index++) {
13559
- result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);
13560
- }
13561
- url.host = result;
13562
- } else {
13563
- input = toASCII(input);
13564
- if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;
13565
- result = parseIPv4(input);
13566
- if (result === null) return INVALID_HOST;
13567
- url.host = result;
13568
- }
13569
  };
13570
 
13571
- var parseIPv4 = function (input) {
13572
- var parts = input.split('.');
13573
- var partsLength, numbers, index, part, radix, number, ipv4;
13574
- if (parts.length && parts[parts.length - 1] == '') {
13575
- parts.pop();
13576
- }
13577
- partsLength = parts.length;
13578
- if (partsLength > 4) return input;
13579
- numbers = [];
13580
- for (index = 0; index < partsLength; index++) {
13581
- part = parts[index];
13582
- if (part == '') return input;
13583
- radix = 10;
13584
- if (part.length > 1 && part.charAt(0) == '0') {
13585
- radix = HEX_START.test(part) ? 16 : 8;
13586
- part = part.slice(radix == 8 ? 1 : 2);
13587
- }
13588
- if (part === '') {
13589
- number = 0;
13590
- } else {
13591
- if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;
13592
- number = parseInt(part, radix);
13593
- }
13594
- numbers.push(number);
13595
- }
13596
- for (index = 0; index < partsLength; index++) {
13597
- number = numbers[index];
13598
- if (index == partsLength - 1) {
13599
- if (number >= pow(256, 5 - partsLength)) return null;
13600
- } else if (number > 255) return null;
13601
- }
13602
- ipv4 = numbers.pop();
13603
- for (index = 0; index < numbers.length; index++) {
13604
- ipv4 += numbers[index] * pow(256, 3 - index);
13605
- }
13606
- return ipv4;
13607
- };
13608
 
13609
- // eslint-disable-next-line max-statements -- TODO
13610
- var parseIPv6 = function (input) {
13611
- var address = [0, 0, 0, 0, 0, 0, 0, 0];
13612
- var pieceIndex = 0;
13613
- var compress = null;
13614
- var pointer = 0;
13615
- var value, length, numbersSeen, ipv4Piece, number, swaps, swap;
13616
 
13617
- var char = function () {
13618
- return input.charAt(pointer);
13619
- };
 
 
13620
 
13621
- if (char() == ':') {
13622
- if (input.charAt(1) != ':') return;
13623
- pointer += 2;
13624
- pieceIndex++;
13625
- compress = pieceIndex;
13626
- }
13627
- while (char()) {
13628
- if (pieceIndex == 8) return;
13629
- if (char() == ':') {
13630
- if (compress !== null) return;
13631
- pointer++;
13632
- pieceIndex++;
13633
- compress = pieceIndex;
13634
- continue;
13635
- }
13636
- value = length = 0;
13637
- while (length < 4 && HEX.test(char())) {
13638
- value = value * 16 + parseInt(char(), 16);
13639
- pointer++;
13640
- length++;
13641
- }
13642
- if (char() == '.') {
13643
- if (length == 0) return;
13644
- pointer -= length;
13645
- if (pieceIndex > 6) return;
13646
- numbersSeen = 0;
13647
- while (char()) {
13648
- ipv4Piece = null;
13649
- if (numbersSeen > 0) {
13650
- if (char() == '.' && numbersSeen < 4) pointer++;
13651
- else return;
13652
- }
13653
- if (!DIGIT.test(char())) return;
13654
- while (DIGIT.test(char())) {
13655
- number = parseInt(char(), 10);
13656
- if (ipv4Piece === null) ipv4Piece = number;
13657
- else if (ipv4Piece == 0) return;
13658
- else ipv4Piece = ipv4Piece * 10 + number;
13659
- if (ipv4Piece > 255) return;
13660
- pointer++;
13661
- }
13662
- address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;
13663
- numbersSeen++;
13664
- if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;
13665
  }
13666
- if (numbersSeen != 4) return;
13667
- break;
13668
- } else if (char() == ':') {
13669
- pointer++;
13670
- if (!char()) return;
13671
- } else if (char()) return;
13672
- address[pieceIndex++] = value;
13673
- }
13674
- if (compress !== null) {
13675
- swaps = pieceIndex - compress;
13676
- pieceIndex = 7;
13677
- while (pieceIndex != 0 && swaps > 0) {
13678
- swap = address[pieceIndex];
13679
- address[pieceIndex--] = address[compress + swaps - 1];
13680
- address[compress + --swaps] = swap;
13681
- }
13682
- } else if (pieceIndex != 8) return;
13683
- return address;
13684
- };
13685
 
13686
- var findLongestZeroSequence = function (ipv6) {
13687
- var maxIndex = null;
13688
- var maxLength = 1;
13689
- var currStart = null;
13690
- var currLength = 0;
13691
- var index = 0;
13692
- for (; index < 8; index++) {
13693
- if (ipv6[index] !== 0) {
13694
- if (currLength > maxLength) {
13695
- maxIndex = currStart;
13696
- maxLength = currLength;
13697
- }
13698
- currStart = null;
13699
- currLength = 0;
13700
- } else {
13701
- if (currStart === null) currStart = index;
13702
- ++currLength;
13703
- }
13704
- }
13705
- if (currLength > maxLength) {
13706
- maxIndex = currStart;
13707
- maxLength = currLength;
13708
- }
13709
- return maxIndex;
13710
- };
13711
 
13712
- var serializeHost = function (host) {
13713
- var result, index, compress, ignore0;
13714
- // ipv4
13715
- if (typeof host == 'number') {
13716
- result = [];
13717
- for (index = 0; index < 4; index++) {
13718
- result.unshift(host % 256);
13719
- host = floor(host / 256);
13720
- } return result.join('.');
13721
- // ipv6
13722
- } else if (typeof host == 'object') {
13723
- result = '';
13724
- compress = findLongestZeroSequence(host);
13725
- for (index = 0; index < 8; index++) {
13726
- if (ignore0 && host[index] === 0) continue;
13727
- if (ignore0) ignore0 = false;
13728
- if (compress === index) {
13729
- result += index ? ':' : '::';
13730
- ignore0 = true;
13731
- } else {
13732
- result += host[index].toString(16);
13733
- if (index < 7) result += ':';
13734
- }
13735
- }
13736
- return '[' + result + ']';
13737
- } return host;
13738
  };
13739
 
13740
- var C0ControlPercentEncodeSet = {};
13741
- var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {
13742
- ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1
13743
- });
13744
- var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {
13745
- '#': 1, '?': 1, '{': 1, '}': 1
13746
- });
13747
- var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {
13748
- '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1
13749
- });
13750
 
13751
- var percentEncode = function (char, set) {
13752
- var code = codeAt(char, 0);
13753
- return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);
13754
- };
13755
 
13756
- var specialSchemes = {
13757
- ftp: 21,
13758
- file: null,
13759
- http: 80,
13760
- https: 443,
13761
- ws: 80,
13762
- wss: 443
13763
- };
13764
 
13765
- var isSpecial = function (url) {
13766
- return has(specialSchemes, url.scheme);
13767
- };
13768
 
13769
- var includesCredentials = function (url) {
13770
- return url.username != '' || url.password != '';
13771
- };
13772
 
13773
- var cannotHaveUsernamePasswordPort = function (url) {
13774
- return !url.host || url.cannotBeABaseURL || url.scheme == 'file';
13775
- };
13776
 
13777
- var isWindowsDriveLetter = function (string, normalized) {
13778
- var second;
13779
- return string.length == 2 && ALPHA.test(string.charAt(0))
13780
- && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));
13781
- };
13782
 
13783
- var startsWithWindowsDriveLetter = function (string) {
13784
- var third;
13785
- return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (
13786
- string.length == 2 ||
13787
- ((third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#')
13788
- );
13789
- };
13790
 
13791
- var shortenURLsPath = function (url) {
13792
- var path = url.path;
13793
- var pathSize = path.length;
13794
- if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {
13795
- path.pop();
13796
- }
13797
- };
 
13798
 
13799
- var isSingleDot = function (segment) {
13800
- return segment === '.' || segment.toLowerCase() === '%2e';
13801
- };
13802
 
13803
- var isDoubleDot = function (segment) {
13804
- segment = segment.toLowerCase();
13805
- return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';
13806
- };
13807
 
13808
- // States:
13809
- var SCHEME_START = {};
13810
- var SCHEME = {};
13811
- var NO_SCHEME = {};
13812
- var SPECIAL_RELATIVE_OR_AUTHORITY = {};
13813
- var PATH_OR_AUTHORITY = {};
13814
- var RELATIVE = {};
13815
- var RELATIVE_SLASH = {};
13816
- var SPECIAL_AUTHORITY_SLASHES = {};
13817
- var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};
13818
- var AUTHORITY = {};
13819
- var HOST = {};
13820
- var HOSTNAME = {};
13821
- var PORT = {};
13822
- var FILE = {};
13823
- var FILE_SLASH = {};
13824
- var FILE_HOST = {};
13825
- var PATH_START = {};
13826
- var PATH = {};
13827
- var CANNOT_BE_A_BASE_URL_PATH = {};
13828
- var QUERY = {};
13829
- var FRAGMENT = {};
13830
-
13831
- // eslint-disable-next-line max-statements -- TODO
13832
- var parseURL = function (url, input, stateOverride, base) {
13833
- var state = stateOverride || SCHEME_START;
13834
- var pointer = 0;
13835
- var buffer = '';
13836
- var seenAt = false;
13837
- var seenBracket = false;
13838
- var seenPasswordToken = false;
13839
- var codePoints, char, bufferCodePoints, failure;
13840
-
13841
- if (!stateOverride) {
13842
- url.scheme = '';
13843
- url.username = '';
13844
- url.password = '';
13845
- url.host = null;
13846
- url.port = null;
13847
- url.path = [];
13848
- url.query = null;
13849
- url.fragment = null;
13850
- url.cannotBeABaseURL = false;
13851
- input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');
13852
- }
13853
 
13854
- input = input.replace(TAB_AND_NEW_LINE, '');
13855
 
13856
- codePoints = arrayFrom(input);
13857
 
13858
- while (pointer <= codePoints.length) {
13859
- char = codePoints[pointer];
13860
- switch (state) {
13861
- case SCHEME_START:
13862
- if (char && ALPHA.test(char)) {
13863
- buffer += char.toLowerCase();
13864
- state = SCHEME;
13865
- } else if (!stateOverride) {
13866
- state = NO_SCHEME;
13867
- continue;
13868
- } else return INVALID_SCHEME;
13869
- break;
13870
-
13871
- case SCHEME:
13872
- if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {
13873
- buffer += char.toLowerCase();
13874
- } else if (char == ':') {
13875
- if (stateOverride && (
13876
- (isSpecial(url) != has(specialSchemes, buffer)) ||
13877
- (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||
13878
- (url.scheme == 'file' && !url.host)
13879
- )) return;
13880
- url.scheme = buffer;
13881
- if (stateOverride) {
13882
- if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;
13883
- return;
13884
- }
13885
- buffer = '';
13886
- if (url.scheme == 'file') {
13887
- state = FILE;
13888
- } else if (isSpecial(url) && base && base.scheme == url.scheme) {
13889
- state = SPECIAL_RELATIVE_OR_AUTHORITY;
13890
- } else if (isSpecial(url)) {
13891
- state = SPECIAL_AUTHORITY_SLASHES;
13892
- } else if (codePoints[pointer + 1] == '/') {
13893
- state = PATH_OR_AUTHORITY;
13894
- pointer++;
13895
- } else {
13896
- url.cannotBeABaseURL = true;
13897
- url.path.push('');
13898
- state = CANNOT_BE_A_BASE_URL_PATH;
13899
- }
13900
- } else if (!stateOverride) {
13901
- buffer = '';
13902
- state = NO_SCHEME;
13903
- pointer = 0;
13904
- continue;
13905
- } else return INVALID_SCHEME;
13906
- break;
13907
-
13908
- case NO_SCHEME:
13909
- if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;
13910
- if (base.cannotBeABaseURL && char == '#') {
13911
- url.scheme = base.scheme;
13912
- url.path = base.path.slice();
13913
- url.query = base.query;
13914
- url.fragment = '';
13915
- url.cannotBeABaseURL = true;
13916
- state = FRAGMENT;
13917
- break;
13918
- }
13919
- state = base.scheme == 'file' ? FILE : RELATIVE;
13920
- continue;
13921
 
13922
- case SPECIAL_RELATIVE_OR_AUTHORITY:
13923
- if (char == '/' && codePoints[pointer + 1] == '/') {
13924
- state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
13925
- pointer++;
13926
- } else {
13927
- state = RELATIVE;
13928
- continue;
13929
- } break;
13930
 
13931
- case PATH_OR_AUTHORITY:
13932
- if (char == '/') {
13933
- state = AUTHORITY;
13934
- break;
13935
- } else {
13936
- state = PATH;
13937
- continue;
13938
- }
13939
 
13940
- case RELATIVE:
13941
- url.scheme = base.scheme;
13942
- if (char == EOF) {
13943
- url.username = base.username;
13944
- url.password = base.password;
13945
- url.host = base.host;
13946
- url.port = base.port;
13947
- url.path = base.path.slice();
13948
- url.query = base.query;
13949
- } else if (char == '/' || (char == '\\' && isSpecial(url))) {
13950
- state = RELATIVE_SLASH;
13951
- } else if (char == '?') {
13952
- url.username = base.username;
13953
- url.password = base.password;
13954
- url.host = base.host;
13955
- url.port = base.port;
13956
- url.path = base.path.slice();
13957
- url.query = '';
13958
- state = QUERY;
13959
- } else if (char == '#') {
13960
- url.username = base.username;
13961
- url.password = base.password;
13962
- url.host = base.host;
13963
- url.port = base.port;
13964
- url.path = base.path.slice();
13965
- url.query = base.query;
13966
- url.fragment = '';
13967
- state = FRAGMENT;
13968
- } else {
13969
- url.username = base.username;
13970
- url.password = base.password;
13971
- url.host = base.host;
13972
- url.port = base.port;
13973
- url.path = base.path.slice();
13974
- url.path.pop();
13975
- state = PATH;
13976
- continue;
13977
- } break;
13978
 
13979
- case RELATIVE_SLASH:
13980
- if (isSpecial(url) && (char == '/' || char == '\\')) {
13981
- state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
13982
- } else if (char == '/') {
13983
- state = AUTHORITY;
13984
- } else {
13985
- url.username = base.username;
13986
- url.password = base.password;
13987
- url.host = base.host;
13988
- url.port = base.port;
13989
- state = PATH;
13990
- continue;
13991
- } break;
13992
 
13993
- case SPECIAL_AUTHORITY_SLASHES:
13994
- state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
13995
- if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;
13996
- pointer++;
13997
- break;
13998
 
13999
- case SPECIAL_AUTHORITY_IGNORE_SLASHES:
14000
- if (char != '/' && char != '\\') {
14001
- state = AUTHORITY;
14002
- continue;
14003
- } break;
14004
-
14005
- case AUTHORITY:
14006
- if (char == '@') {
14007
- if (seenAt) buffer = '%40' + buffer;
14008
- seenAt = true;
14009
- bufferCodePoints = arrayFrom(buffer);
14010
- for (var i = 0; i < bufferCodePoints.length; i++) {
14011
- var codePoint = bufferCodePoints[i];
14012
- if (codePoint == ':' && !seenPasswordToken) {
14013
- seenPasswordToken = true;
14014
- continue;
14015
- }
14016
- var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);
14017
- if (seenPasswordToken) url.password += encodedCodePoints;
14018
- else url.username += encodedCodePoints;
14019
- }
14020
- buffer = '';
14021
- } else if (
14022
- char == EOF || char == '/' || char == '?' || char == '#' ||
14023
- (char == '\\' && isSpecial(url))
14024
- ) {
14025
- if (seenAt && buffer == '') return INVALID_AUTHORITY;
14026
- pointer -= arrayFrom(buffer).length + 1;
14027
- buffer = '';
14028
- state = HOST;
14029
- } else buffer += char;
14030
- break;
14031
-
14032
- case HOST:
14033
- case HOSTNAME:
14034
- if (stateOverride && url.scheme == 'file') {
14035
- state = FILE_HOST;
14036
- continue;
14037
- } else if (char == ':' && !seenBracket) {
14038
- if (buffer == '') return INVALID_HOST;
14039
- failure = parseHost(url, buffer);
14040
- if (failure) return failure;
14041
- buffer = '';
14042
- state = PORT;
14043
- if (stateOverride == HOSTNAME) return;
14044
- } else if (
14045
- char == EOF || char == '/' || char == '?' || char == '#' ||
14046
- (char == '\\' && isSpecial(url))
14047
- ) {
14048
- if (isSpecial(url) && buffer == '') return INVALID_HOST;
14049
- if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;
14050
- failure = parseHost(url, buffer);
14051
- if (failure) return failure;
14052
- buffer = '';
14053
- state = PATH_START;
14054
- if (stateOverride) return;
14055
- continue;
14056
- } else {
14057
- if (char == '[') seenBracket = true;
14058
- else if (char == ']') seenBracket = false;
14059
- buffer += char;
14060
- } break;
14061
-
14062
- case PORT:
14063
- if (DIGIT.test(char)) {
14064
- buffer += char;
14065
- } else if (
14066
- char == EOF || char == '/' || char == '?' || char == '#' ||
14067
- (char == '\\' && isSpecial(url)) ||
14068
- stateOverride
14069
- ) {
14070
- if (buffer != '') {
14071
- var port = parseInt(buffer, 10);
14072
- if (port > 0xFFFF) return INVALID_PORT;
14073
- url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;
14074
- buffer = '';
14075
- }
14076
- if (stateOverride) return;
14077
- state = PATH_START;
14078
- continue;
14079
- } else return INVALID_PORT;
14080
- break;
14081
-
14082
- case FILE:
14083
- url.scheme = 'file';
14084
- if (char == '/' || char == '\\') state = FILE_SLASH;
14085
- else if (base && base.scheme == 'file') {
14086
- if (char == EOF) {
14087
- url.host = base.host;
14088
- url.path = base.path.slice();
14089
- url.query = base.query;
14090
- } else if (char == '?') {
14091
- url.host = base.host;
14092
- url.path = base.path.slice();
14093
- url.query = '';
14094
- state = QUERY;
14095
- } else if (char == '#') {
14096
- url.host = base.host;
14097
- url.path = base.path.slice();
14098
- url.query = base.query;
14099
- url.fragment = '';
14100
- state = FRAGMENT;
14101
- } else {
14102
- if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
14103
- url.host = base.host;
14104
- url.path = base.path.slice();
14105
- shortenURLsPath(url);
14106
- }
14107
- state = PATH;
14108
- continue;
14109
- }
14110
- } else {
14111
- state = PATH;
14112
- continue;
14113
- } break;
14114
 
14115
- case FILE_SLASH:
14116
- if (char == '/' || char == '\\') {
14117
- state = FILE_HOST;
14118
- break;
14119
- }
14120
- if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
14121
- if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);
14122
- else url.host = base.host;
14123
- }
14124
- state = PATH;
14125
- continue;
14126
-
14127
- case FILE_HOST:
14128
- if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') {
14129
- if (!stateOverride && isWindowsDriveLetter(buffer)) {
14130
- state = PATH;
14131
- } else if (buffer == '') {
14132
- url.host = '';
14133
- if (stateOverride) return;
14134
- state = PATH_START;
14135
- } else {
14136
- failure = parseHost(url, buffer);
14137
- if (failure) return failure;
14138
- if (url.host == 'localhost') url.host = '';
14139
- if (stateOverride) return;
14140
- buffer = '';
14141
- state = PATH_START;
14142
- } continue;
14143
- } else buffer += char;
14144
- break;
14145
-
14146
- case PATH_START:
14147
- if (isSpecial(url)) {
14148
- state = PATH;
14149
- if (char != '/' && char != '\\') continue;
14150
- } else if (!stateOverride && char == '?') {
14151
- url.query = '';
14152
- state = QUERY;
14153
- } else if (!stateOverride && char == '#') {
14154
- url.fragment = '';
14155
- state = FRAGMENT;
14156
- } else if (char != EOF) {
14157
- state = PATH;
14158
- if (char != '/') continue;
14159
- } break;
14160
-
14161
- case PATH:
14162
- if (
14163
- char == EOF || char == '/' ||
14164
- (char == '\\' && isSpecial(url)) ||
14165
- (!stateOverride && (char == '?' || char == '#'))
14166
- ) {
14167
- if (isDoubleDot(buffer)) {
14168
- shortenURLsPath(url);
14169
- if (char != '/' && !(char == '\\' && isSpecial(url))) {
14170
- url.path.push('');
14171
- }
14172
- } else if (isSingleDot(buffer)) {
14173
- if (char != '/' && !(char == '\\' && isSpecial(url))) {
14174
- url.path.push('');
14175
- }
14176
- } else {
14177
- if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {
14178
- if (url.host) url.host = '';
14179
- buffer = buffer.charAt(0) + ':'; // normalize windows drive letter
14180
- }
14181
- url.path.push(buffer);
14182
- }
14183
- buffer = '';
14184
- if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {
14185
- while (url.path.length > 1 && url.path[0] === '') {
14186
- url.path.shift();
14187
- }
14188
- }
14189
- if (char == '?') {
14190
- url.query = '';
14191
- state = QUERY;
14192
- } else if (char == '#') {
14193
- url.fragment = '';
14194
- state = FRAGMENT;
14195
- }
14196
- } else {
14197
- buffer += percentEncode(char, pathPercentEncodeSet);
14198
- } break;
14199
-
14200
- case CANNOT_BE_A_BASE_URL_PATH:
14201
- if (char == '?') {
14202
- url.query = '';
14203
- state = QUERY;
14204
- } else if (char == '#') {
14205
- url.fragment = '';
14206
- state = FRAGMENT;
14207
- } else if (char != EOF) {
14208
- url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);
14209
- } break;
14210
-
14211
- case QUERY:
14212
- if (!stateOverride && char == '#') {
14213
- url.fragment = '';
14214
- state = FRAGMENT;
14215
- } else if (char != EOF) {
14216
- if (char == "'" && isSpecial(url)) url.query += '%27';
14217
- else if (char == '#') url.query += '%23';
14218
- else url.query += percentEncode(char, C0ControlPercentEncodeSet);
14219
- } break;
14220
-
14221
- case FRAGMENT:
14222
- if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);
14223
- break;
14224
- }
14225
 
14226
- pointer++;
 
14227
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14228
  };
 
 
 
 
14229
 
14230
- // `URL` constructor
14231
- // https://url.spec.whatwg.org/#url-class
14232
- var URLConstructor = function URL(url /* , base */) {
14233
- var that = anInstance(this, URLConstructor, 'URL');
14234
- var base = arguments.length > 1 ? arguments[1] : undefined;
14235
- var urlString = String(url);
14236
- var state = setInternalState(that, { type: 'URL' });
14237
- var baseState, failure;
14238
- if (base !== undefined) {
14239
- if (base instanceof URLConstructor) baseState = getInternalURLState(base);
14240
- else {
14241
- failure = parseURL(baseState = {}, String(base));
14242
- if (failure) throw TypeError(failure);
 
 
 
 
 
 
 
 
 
 
14243
  }
14244
- }
14245
- failure = parseURL(state, urlString, null, baseState);
14246
- if (failure) throw TypeError(failure);
14247
- var searchParams = state.searchParams = new URLSearchParams();
14248
- var searchParamsState = getInternalSearchParamsState(searchParams);
14249
- searchParamsState.updateSearchParams(state.query);
14250
- searchParamsState.updateURL = function () {
14251
- state.query = String(searchParams) || null;
14252
  };
14253
- if (!DESCRIPTORS) {
14254
- that.href = serializeURL.call(that);
14255
- that.origin = getOrigin.call(that);
14256
- that.protocol = getProtocol.call(that);
14257
- that.username = getUsername.call(that);
14258
- that.password = getPassword.call(that);
14259
- that.host = getHost.call(that);
14260
- that.hostname = getHostname.call(that);
14261
- that.port = getPort.call(that);
14262
- that.pathname = getPathname.call(that);
14263
- that.search = getSearch.call(that);
14264
- that.searchParams = getSearchParams.call(that);
14265
- that.hash = getHash.call(that);
14266
- }
14267
- };
14268
 
14269
- var URLPrototype = URLConstructor.prototype;
14270
-
14271
- var serializeURL = function () {
14272
- var url = getInternalURLState(this);
14273
- var scheme = url.scheme;
14274
- var username = url.username;
14275
- var password = url.password;
14276
- var host = url.host;
14277
- var port = url.port;
14278
- var path = url.path;
14279
- var query = url.query;
14280
- var fragment = url.fragment;
14281
- var output = scheme + ':';
14282
- if (host !== null) {
14283
- output += '//';
14284
- if (includesCredentials(url)) {
14285
- output += username + (password ? ':' + password : '') + '@';
14286
- }
14287
- output += serializeHost(host);
14288
- if (port !== null) output += ':' + port;
14289
- } else if (scheme == 'file') output += '//';
14290
- output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
14291
- if (query !== null) output += '?' + query;
14292
- if (fragment !== null) output += '#' + fragment;
14293
- return output;
14294
- };
14295
 
14296
- var getOrigin = function () {
14297
- var url = getInternalURLState(this);
14298
- var scheme = url.scheme;
14299
- var port = url.port;
14300
- if (scheme == 'blob') try {
14301
- return new URL(scheme.path[0]).origin;
14302
- } catch (error) {
14303
- return 'null';
14304
- }
14305
- if (scheme == 'file' || !isSpecial(url)) return 'null';
14306
- return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');
14307
- };
14308
 
14309
- var getProtocol = function () {
14310
- return getInternalURLState(this).scheme + ':';
14311
- };
14312
 
14313
- var getUsername = function () {
14314
- return getInternalURLState(this).username;
14315
- };
14316
 
14317
- var getPassword = function () {
14318
- return getInternalURLState(this).password;
14319
- };
14320
 
14321
- var getHost = function () {
14322
- var url = getInternalURLState(this);
14323
- var host = url.host;
14324
- var port = url.port;
14325
- return host === null ? ''
14326
- : port === null ? serializeHost(host)
14327
- : serializeHost(host) + ':' + port;
14328
- };
14329
 
14330
- var getHostname = function () {
14331
- var host = getInternalURLState(this).host;
14332
- return host === null ? '' : serializeHost(host);
14333
- };
14334
 
14335
- var getPort = function () {
14336
- var port = getInternalURLState(this).port;
14337
- return port === null ? '' : String(port);
14338
- };
14339
 
14340
- var getPathname = function () {
14341
- var url = getInternalURLState(this);
14342
- var path = url.path;
14343
- return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
14344
- };
14345
 
14346
- var getSearch = function () {
14347
- var query = getInternalURLState(this).query;
14348
- return query ? '?' + query : '';
14349
- };
14350
 
14351
- var getSearchParams = function () {
14352
- return getInternalURLState(this).searchParams;
14353
- };
14354
 
14355
- var getHash = function () {
14356
- var fragment = getInternalURLState(this).fragment;
14357
- return fragment ? '#' + fragment : '';
14358
- };
14359
 
14360
- var accessorDescriptor = function (getter, setter) {
14361
- return { get: getter, set: setter, configurable: true, enumerable: true };
14362
- };
14363
 
14364
- if (DESCRIPTORS) {
14365
- defineProperties(URLPrototype, {
14366
- // `URL.prototype.href` accessors pair
14367
- // https://url.spec.whatwg.org/#dom-url-href
14368
- href: accessorDescriptor(serializeURL, function (href) {
14369
- var url = getInternalURLState(this);
14370
- var urlString = String(href);
14371
- var failure = parseURL(url, urlString);
14372
- if (failure) throw TypeError(failure);
14373
- getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
14374
- }),
14375
- // `URL.prototype.origin` getter
14376
- // https://url.spec.whatwg.org/#dom-url-origin
14377
- origin: accessorDescriptor(getOrigin),
14378
- // `URL.prototype.protocol` accessors pair
14379
- // https://url.spec.whatwg.org/#dom-url-protocol
14380
- protocol: accessorDescriptor(getProtocol, function (protocol) {
14381
- var url = getInternalURLState(this);
14382
- parseURL(url, String(protocol) + ':', SCHEME_START);
14383
- }),
14384
- // `URL.prototype.username` accessors pair
14385
- // https://url.spec.whatwg.org/#dom-url-username
14386
- username: accessorDescriptor(getUsername, function (username) {
14387
- var url = getInternalURLState(this);
14388
- var codePoints = arrayFrom(String(username));
14389
- if (cannotHaveUsernamePasswordPort(url)) return;
14390
- url.username = '';
14391
- for (var i = 0; i < codePoints.length; i++) {
14392
- url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);
14393
- }
14394
- }),
14395
- // `URL.prototype.password` accessors pair
14396
- // https://url.spec.whatwg.org/#dom-url-password
14397
- password: accessorDescriptor(getPassword, function (password) {
14398
- var url = getInternalURLState(this);
14399
- var codePoints = arrayFrom(String(password));
14400
- if (cannotHaveUsernamePasswordPort(url)) return;
14401
- url.password = '';
14402
- for (var i = 0; i < codePoints.length; i++) {
14403
- url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);
14404
- }
14405
- }),
14406
- // `URL.prototype.host` accessors pair
14407
- // https://url.spec.whatwg.org/#dom-url-host
14408
- host: accessorDescriptor(getHost, function (host) {
14409
- var url = getInternalURLState(this);
14410
- if (url.cannotBeABaseURL) return;
14411
- parseURL(url, String(host), HOST);
14412
- }),
14413
- // `URL.prototype.hostname` accessors pair
14414
- // https://url.spec.whatwg.org/#dom-url-hostname
14415
- hostname: accessorDescriptor(getHostname, function (hostname) {
14416
- var url = getInternalURLState(this);
14417
- if (url.cannotBeABaseURL) return;
14418
- parseURL(url, String(hostname), HOSTNAME);
14419
- }),
14420
- // `URL.prototype.port` accessors pair
14421
- // https://url.spec.whatwg.org/#dom-url-port
14422
- port: accessorDescriptor(getPort, function (port) {
14423
- var url = getInternalURLState(this);
14424
- if (cannotHaveUsernamePasswordPort(url)) return;
14425
- port = String(port);
14426
- if (port == '') url.port = null;
14427
- else parseURL(url, port, PORT);
14428
- }),
14429
- // `URL.prototype.pathname` accessors pair
14430
- // https://url.spec.whatwg.org/#dom-url-pathname
14431
- pathname: accessorDescriptor(getPathname, function (pathname) {
14432
- var url = getInternalURLState(this);
14433
- if (url.cannotBeABaseURL) return;
14434
- url.path = [];
14435
- parseURL(url, pathname + '', PATH_START);
14436
- }),
14437
- // `URL.prototype.search` accessors pair
14438
- // https://url.spec.whatwg.org/#dom-url-search
14439
- search: accessorDescriptor(getSearch, function (search) {
14440
- var url = getInternalURLState(this);
14441
- search = String(search);
14442
- if (search == '') {
14443
- url.query = null;
14444
- } else {
14445
- if ('?' == search.charAt(0)) search = search.slice(1);
14446
- url.query = '';
14447
- parseURL(url, search, QUERY);
14448
- }
14449
- getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
14450
- }),
14451
- // `URL.prototype.searchParams` getter
14452
- // https://url.spec.whatwg.org/#dom-url-searchparams
14453
- searchParams: accessorDescriptor(getSearchParams),
14454
- // `URL.prototype.hash` accessors pair
14455
- // https://url.spec.whatwg.org/#dom-url-hash
14456
- hash: accessorDescriptor(getHash, function (hash) {
14457
- var url = getInternalURLState(this);
14458
- hash = String(hash);
14459
- if (hash == '') {
14460
- url.fragment = null;
14461
- return;
14462
- }
14463
- if ('#' == hash.charAt(0)) hash = hash.slice(1);
14464
- url.fragment = '';
14465
- parseURL(url, hash, FRAGMENT);
14466
- })
14467
- });
14468
- }
14469
 
14470
- // `URL.prototype.toJSON` method
14471
- // https://url.spec.whatwg.org/#dom-url-tojson
14472
- redefine(URLPrototype, 'toJSON', function toJSON() {
14473
- return serializeURL.call(this);
14474
- }, { enumerable: true });
14475
-
14476
- // `URL.prototype.toString` method
14477
- // https://url.spec.whatwg.org/#URL-stringification-behavior
14478
- redefine(URLPrototype, 'toString', function toString() {
14479
- return serializeURL.call(this);
14480
- }, { enumerable: true });
14481
-
14482
- if (NativeURL) {
14483
- var nativeCreateObjectURL = NativeURL.createObjectURL;
14484
- var nativeRevokeObjectURL = NativeURL.revokeObjectURL;
14485
- // `URL.createObjectURL` method
14486
- // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL
14487
- // eslint-disable-next-line no-unused-vars -- required for `.length`
14488
- if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {
14489
- return nativeCreateObjectURL.apply(NativeURL, arguments);
14490
- });
14491
- // `URL.revokeObjectURL` method
14492
- // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL
14493
- // eslint-disable-next-line no-unused-vars -- required for `.length`
14494
- if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {
14495
- return nativeRevokeObjectURL.apply(NativeURL, arguments);
14496
- });
14497
- }
14498
 
14499
- setToStringTag(URLConstructor, 'URL');
 
14500
 
14501
- $({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {
14502
- URL: URLConstructor
14503
- });
14504
 
 
 
14505
 
14506
- /***/ }),
14507
- /* 288 */,
14508
- /* 289 */,
14509
- /* 290 */,
14510
- /* 291 */,
14511
- /* 292 */,
14512
- /* 293 */
14513
- /***/ (function(module, exports) {
14514
 
14515
- (function() { module.exports = window["wp"]["notices"]; }());
 
14516
 
14517
- /***/ }),
14518
- /* 294 */
14519
- /***/ (function(module, exports, __webpack_require__) {
14520
 
14521
- "use strict";
 
14522
 
14523
- // based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js
14524
- var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1
14525
- var base = 36;
14526
- var tMin = 1;
14527
- var tMax = 26;
14528
- var skew = 38;
14529
- var damp = 700;
14530
- var initialBias = 72;
14531
- var initialN = 128; // 0x80
14532
- var delimiter = '-'; // '\x2D'
14533
- var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars
14534
- var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators
14535
- var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';
14536
- var baseMinusTMin = base - tMin;
14537
- var floor = Math.floor;
14538
- var stringFromCharCode = String.fromCharCode;
14539
 
14540
- /**
14541
- * Creates an array containing the numeric code points of each Unicode
14542
- * character in the string. While JavaScript uses UCS-2 internally,
14543
- * this function will convert a pair of surrogate halves (each of which
14544
- * UCS-2 exposes as separate characters) into a single code point,
14545
- * matching UTF-16.
14546
- */
14547
- var ucs2decode = function (string) {
14548
- var output = [];
14549
- var counter = 0;
14550
- var length = string.length;
14551
- while (counter < length) {
14552
- var value = string.charCodeAt(counter++);
14553
- if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
14554
- // It's a high surrogate, and there is a next character.
14555
- var extra = string.charCodeAt(counter++);
14556
- if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.
14557
- output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
14558
- } else {
14559
- // It's an unmatched surrogate; only append this code unit, in case the
14560
- // next code unit is the high surrogate of a surrogate pair.
14561
- output.push(value);
14562
- counter--;
14563
- }
14564
- } else {
14565
- output.push(value);
14566
- }
14567
- }
14568
- return output;
14569
- };
14570
 
14571
  /**
14572
- * Converts a digit/integer into a basic code point.
14573
  */
14574
- var digitToBasic = function (digit) {
14575
- // 0..25 map to ASCII a..z or A..Z
14576
- // 26..35 map to ASCII 0..9
14577
- return digit + 22 + 75 * (digit < 26);
14578
- };
14579
 
14580
- /**
14581
- * Bias adaptation function as per section 3.4 of RFC 3492.
14582
- * https://tools.ietf.org/html/rfc3492#section-3.4
14583
- */
14584
- var adapt = function (delta, numPoints, firstTime) {
14585
- var k = 0;
14586
- delta = firstTime ? floor(delta / damp) : delta >> 1;
14587
- delta += floor(delta / numPoints);
14588
- for (; delta > baseMinusTMin * tMax >> 1; k += base) {
14589
- delta = floor(delta / baseMinusTMin);
14590
- }
14591
- return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
14592
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
14593
 
14594
  /**
14595
- * Converts a string of Unicode symbols (e.g. a domain name label) to a
14596
- * Punycode string of ASCII-only symbols.
14597
  */
14598
- // eslint-disable-next-line max-statements -- TODO
14599
- var encode = function (input) {
14600
- var output = [];
14601
-
14602
- // Convert the input in UCS-2 to an array of Unicode code points.
14603
- input = ucs2decode(input);
14604
-
14605
- // Cache the length.
14606
- var inputLength = input.length;
14607
-
14608
- // Initialize the state.
14609
- var n = initialN;
14610
- var delta = 0;
14611
- var bias = initialBias;
14612
- var i, currentValue;
14613
-
14614
- // Handle the basic code points.
14615
- for (i = 0; i < input.length; i++) {
14616
- currentValue = input[i];
14617
- if (currentValue < 0x80) {
14618
- output.push(stringFromCharCode(currentValue));
14619
- }
14620
- }
14621
 
14622
- var basicLength = output.length; // number of basic code points.
14623
- var handledCPCount = basicLength; // number of code points that have been handled;
14624
 
14625
- // Finish the basic string with a delimiter unless it's empty.
14626
- if (basicLength) {
14627
- output.push(delimiter);
14628
- }
14629
 
14630
- // Main encoding loop:
14631
- while (handledCPCount < inputLength) {
14632
- // All non-basic code points < n have been handled already. Find the next larger one:
14633
- var m = maxInt;
14634
- for (i = 0; i < input.length; i++) {
14635
- currentValue = input[i];
14636
- if (currentValue >= n && currentValue < m) {
14637
- m = currentValue;
14638
- }
14639
- }
14640
 
14641
- // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.
14642
- var handledCPCountPlusOne = handledCPCount + 1;
14643
- if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
14644
- throw RangeError(OVERFLOW_ERROR);
14645
- }
14646
 
14647
- delta += (m - n) * handledCPCountPlusOne;
14648
- n = m;
14649
 
14650
- for (i = 0; i < input.length; i++) {
14651
- currentValue = input[i];
14652
- if (currentValue < n && ++delta > maxInt) {
14653
- throw RangeError(OVERFLOW_ERROR);
14654
- }
14655
- if (currentValue == n) {
14656
- // Represent delta as a generalized variable-length integer.
14657
- var q = delta;
14658
- for (var k = base; /* no condition */; k += base) {
14659
- var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
14660
- if (q < t) break;
14661
- var qMinusT = q - t;
14662
- var baseMinusT = base - t;
14663
- output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
14664
- q = floor(qMinusT / baseMinusT);
14665
- }
14666
 
14667
- output.push(stringFromCharCode(digitToBasic(q)));
14668
- bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
14669
- delta = 0;
14670
- ++handledCPCount;
14671
- }
14672
- }
14673
 
14674
- ++delta;
14675
- ++n;
14676
- }
14677
- return output.join('');
14678
- };
14679
 
14680
- module.exports = function (input) {
14681
- var encoded = [];
14682
- var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.');
14683
- var i, label;
14684
- for (i = 0; i < labels.length; i++) {
14685
- label = labels[i];
14686
- encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);
14687
- }
14688
- return encoded.join('.');
14689
- };
14690
 
14691
 
14692
- /***/ }),
14693
- /* 295 */
14694
- /***/ (function(module, exports, __webpack_require__) {
14695
 
14696
- "use strict";
 
 
 
 
 
 
 
14697
 
14698
- // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
14699
- __webpack_require__(123);
14700
- var $ = __webpack_require__(12);
14701
- var getBuiltIn = __webpack_require__(31);
14702
- var USE_NATIVE_URL = __webpack_require__(254);
14703
- var redefine = __webpack_require__(27);
14704
- var redefineAll = __webpack_require__(152);
14705
- var setToStringTag = __webpack_require__(90);
14706
- var createIteratorConstructor = __webpack_require__(199);
14707
- var InternalStateModule = __webpack_require__(45);
14708
- var anInstance = __webpack_require__(136);
14709
- var hasOwn = __webpack_require__(11);
14710
- var bind = __webpack_require__(94);
14711
- var classof = __webpack_require__(113);
14712
- var anObject = __webpack_require__(9);
14713
- var isObject = __webpack_require__(10);
14714
- var create = __webpack_require__(69);
14715
- var createPropertyDescriptor = __webpack_require__(39);
14716
- var getIterator = __webpack_require__(296);
14717
- var getIteratorMethod = __webpack_require__(155);
14718
- var wellKnownSymbol = __webpack_require__(8);
14719
-
14720
- var $fetch = getBuiltIn('fetch');
14721
- var Headers = getBuiltIn('Headers');
14722
- var ITERATOR = wellKnownSymbol('iterator');
14723
- var URL_SEARCH_PARAMS = 'URLSearchParams';
14724
- var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';
14725
- var setInternalState = InternalStateModule.set;
14726
- var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);
14727
- var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);
14728
-
14729
- var plus = /\+/g;
14730
- var sequences = Array(4);
14731
-
14732
- var percentSequence = function (bytes) {
14733
- return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi'));
14734
- };
14735
 
14736
- var percentDecode = function (sequence) {
14737
- try {
14738
- return decodeURIComponent(sequence);
14739
- } catch (error) {
14740
- return sequence;
14741
- }
14742
- };
14743
 
14744
- var deserialize = function (it) {
14745
- var result = it.replace(plus, ' ');
14746
- var bytes = 4;
14747
- try {
14748
- return decodeURIComponent(result);
14749
- } catch (error) {
14750
- while (bytes) {
14751
- result = result.replace(percentSequence(bytes--), percentDecode);
14752
  }
14753
- return result;
14754
- }
14755
- };
14756
-
14757
- var find = /[!'()~]|%20/g;
14758
-
14759
- var replace = {
14760
- '!': '%21',
14761
- "'": '%27',
14762
- '(': '%28',
14763
- ')': '%29',
14764
- '~': '%7E',
14765
- '%20': '+'
14766
- };
14767
 
14768
- var replacer = function (match) {
14769
- return replace[match];
14770
- };
14771
 
14772
- var serialize = function (it) {
14773
- return encodeURIComponent(it).replace(find, replacer);
14774
- };
 
 
 
14775
 
14776
- var parseSearchParams = function (result, query) {
14777
- if (query) {
14778
- var attributes = query.split('&');
14779
- var index = 0;
14780
- var attribute, entry;
14781
- while (index < attributes.length) {
14782
- attribute = attributes[index++];
14783
- if (attribute.length) {
14784
- entry = attribute.split('=');
14785
- result.push({
14786
- key: deserialize(entry.shift()),
14787
- value: deserialize(entry.join('='))
14788
- });
14789
  }
 
 
 
 
 
 
 
 
 
 
 
 
14790
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14791
  }
14792
- };
14793
 
14794
- var updateSearchParams = function (query) {
14795
- this.entries.length = 0;
14796
- parseSearchParams(this.entries, query);
 
 
 
 
 
 
 
 
 
 
 
 
14797
  };
14798
 
14799
- var validateArgumentsLength = function (passed, required) {
14800
- if (passed < required) throw TypeError('Not enough arguments');
14801
- };
14802
 
14803
- var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
14804
- setInternalState(this, {
14805
- type: URL_SEARCH_PARAMS_ITERATOR,
14806
- iterator: getIterator(getInternalParamsState(params).entries),
14807
- kind: kind
14808
- });
14809
- }, 'Iterator', function next() {
14810
- var state = getInternalIteratorState(this);
14811
- var kind = state.kind;
14812
- var step = state.iterator.next();
14813
- var entry = step.value;
14814
- if (!step.done) {
14815
- step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];
14816
- } return step;
14817
- });
14818
 
14819
- // `URLSearchParams` constructor
14820
- // https://url.spec.whatwg.org/#interface-urlsearchparams
14821
- var URLSearchParamsConstructor = function URLSearchParams(/* init */) {
14822
- anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);
14823
- var init = arguments.length > 0 ? arguments[0] : undefined;
14824
- var that = this;
14825
- var entries = [];
14826
- var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;
14827
-
14828
- setInternalState(that, {
14829
- type: URL_SEARCH_PARAMS,
14830
- entries: entries,
14831
- updateURL: function () { /* empty */ },
14832
- updateSearchParams: updateSearchParams
14833
- });
14834
 
14835
- if (init !== undefined) {
14836
- if (isObject(init)) {
14837
- iteratorMethod = getIteratorMethod(init);
14838
- if (typeof iteratorMethod === 'function') {
14839
- iterator = iteratorMethod.call(init);
14840
- next = iterator.next;
14841
- while (!(step = next.call(iterator)).done) {
14842
- entryIterator = getIterator(anObject(step.value));
14843
- entryNext = entryIterator.next;
14844
- if (
14845
- (first = entryNext.call(entryIterator)).done ||
14846
- (second = entryNext.call(entryIterator)).done ||
14847
- !entryNext.call(entryIterator).done
14848
- ) throw TypeError('Expected sequence with length 2');
14849
- entries.push({ key: first.value + '', value: second.value + '' });
14850
- }
14851
- } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });
14852
- } else {
14853
- parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');
14854
- }
14855
- }
14856
- };
14857
 
14858
- var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
14859
 
14860
- redefineAll(URLSearchParamsPrototype, {
14861
- // `URLSearchParams.prototype.append` method
14862
- // https://url.spec.whatwg.org/#dom-urlsearchparams-append
14863
- append: function append(name, value) {
14864
- validateArgumentsLength(arguments.length, 2);
14865
- var state = getInternalParamsState(this);
14866
- state.entries.push({ key: name + '', value: value + '' });
14867
- state.updateURL();
14868
- },
14869
- // `URLSearchParams.prototype.delete` method
14870
- // https://url.spec.whatwg.org/#dom-urlsearchparams-delete
14871
- 'delete': function (name) {
14872
- validateArgumentsLength(arguments.length, 1);
14873
- var state = getInternalParamsState(this);
14874
- var entries = state.entries;
14875
- var key = name + '';
14876
- var index = 0;
14877
- while (index < entries.length) {
14878
- if (entries[index].key === key) entries.splice(index, 1);
14879
- else index++;
14880
- }
14881
- state.updateURL();
14882
- },
14883
- // `URLSearchParams.prototype.get` method
14884
- // https://url.spec.whatwg.org/#dom-urlsearchparams-get
14885
- get: function get(name) {
14886
- validateArgumentsLength(arguments.length, 1);
14887
- var entries = getInternalParamsState(this).entries;
14888
- var key = name + '';
14889
- var index = 0;
14890
- for (; index < entries.length; index++) {
14891
- if (entries[index].key === key) return entries[index].value;
14892
- }
14893
- return null;
14894
- },
14895
- // `URLSearchParams.prototype.getAll` method
14896
- // https://url.spec.whatwg.org/#dom-urlsearchparams-getall
14897
- getAll: function getAll(name) {
14898
- validateArgumentsLength(arguments.length, 1);
14899
- var entries = getInternalParamsState(this).entries;
14900
- var key = name + '';
14901
- var result = [];
14902
- var index = 0;
14903
- for (; index < entries.length; index++) {
14904
- if (entries[index].key === key) result.push(entries[index].value);
14905
- }
14906
- return result;
14907
- },
14908
- // `URLSearchParams.prototype.has` method
14909
- // https://url.spec.whatwg.org/#dom-urlsearchparams-has
14910
- has: function has(name) {
14911
- validateArgumentsLength(arguments.length, 1);
14912
- var entries = getInternalParamsState(this).entries;
14913
- var key = name + '';
14914
- var index = 0;
14915
- while (index < entries.length) {
14916
- if (entries[index++].key === key) return true;
14917
- }
14918
- return false;
14919
- },
14920
- // `URLSearchParams.prototype.set` method
14921
- // https://url.spec.whatwg.org/#dom-urlsearchparams-set
14922
- set: function set(name, value) {
14923
- validateArgumentsLength(arguments.length, 1);
14924
- var state = getInternalParamsState(this);
14925
- var entries = state.entries;
14926
- var found = false;
14927
- var key = name + '';
14928
- var val = value + '';
14929
- var index = 0;
14930
- var entry;
14931
- for (; index < entries.length; index++) {
14932
- entry = entries[index];
14933
- if (entry.key === key) {
14934
- if (found) entries.splice(index--, 1);
14935
- else {
14936
- found = true;
14937
- entry.value = val;
14938
- }
14939
- }
14940
- }
14941
- if (!found) entries.push({ key: key, value: val });
14942
- state.updateURL();
14943
- },
14944
- // `URLSearchParams.prototype.sort` method
14945
- // https://url.spec.whatwg.org/#dom-urlsearchparams-sort
14946
- sort: function sort() {
14947
- var state = getInternalParamsState(this);
14948
- var entries = state.entries;
14949
- // Array#sort is not stable in some engines
14950
- var slice = entries.slice();
14951
- var entry, entriesIndex, sliceIndex;
14952
- entries.length = 0;
14953
- for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {
14954
- entry = slice[sliceIndex];
14955
- for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {
14956
- if (entries[entriesIndex].key > entry.key) {
14957
- entries.splice(entriesIndex, 0, entry);
14958
- break;
14959
- }
14960
- }
14961
- if (entriesIndex === sliceIndex) entries.push(entry);
14962
- }
14963
- state.updateURL();
14964
- },
14965
- // `URLSearchParams.prototype.forEach` method
14966
- forEach: function forEach(callback /* , thisArg */) {
14967
- var entries = getInternalParamsState(this).entries;
14968
- var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);
14969
- var index = 0;
14970
- var entry;
14971
- while (index < entries.length) {
14972
- entry = entries[index++];
14973
- boundFunction(entry.value, entry.key, this);
14974
- }
14975
- },
14976
- // `URLSearchParams.prototype.keys` method
14977
- keys: function keys() {
14978
- return new URLSearchParamsIterator(this, 'keys');
14979
- },
14980
- // `URLSearchParams.prototype.values` method
14981
- values: function values() {
14982
- return new URLSearchParamsIterator(this, 'values');
14983
- },
14984
- // `URLSearchParams.prototype.entries` method
14985
- entries: function entries() {
14986
- return new URLSearchParamsIterator(this, 'entries');
14987
  }
14988
- }, { enumerable: true });
14989
-
14990
- // `URLSearchParams.prototype[@@iterator]` method
14991
- redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);
14992
-
14993
- // `URLSearchParams.prototype.toString` method
14994
- // https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior
14995
- redefine(URLSearchParamsPrototype, 'toString', function toString() {
14996
- var entries = getInternalParamsState(this).entries;
14997
- var result = [];
14998
- var index = 0;
14999
- var entry;
15000
- while (index < entries.length) {
15001
- entry = entries[index++];
15002
- result.push(serialize(entry.key) + '=' + serialize(entry.value));
15003
- } return result.join('&');
15004
- }, { enumerable: true });
15005
-
15006
- setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);
15007
-
15008
- $({ global: true, forced: !USE_NATIVE_URL }, {
15009
- URLSearchParams: URLSearchParamsConstructor
15010
- });
15011
 
15012
- // Wrap `fetch` for correct work with polyfilled `URLSearchParams`
15013
- // https://github.com/zloirock/core-js/issues/674
15014
- if (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {
15015
- $({ global: true, enumerable: true, forced: true }, {
15016
- fetch: function fetch(input /* , init */) {
15017
- var args = [input];
15018
- var init, body, headers;
15019
- if (arguments.length > 1) {
15020
- init = arguments[1];
15021
- if (isObject(init)) {
15022
- body = init.body;
15023
- if (classof(body) === URL_SEARCH_PARAMS) {
15024
- headers = init.headers ? new Headers(init.headers) : new Headers();
15025
- if (!headers.has('content-type')) {
15026
- headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
15027
- }
15028
- init = create(init, {
15029
- body: createPropertyDescriptor(0, String(body)),
15030
- headers: createPropertyDescriptor(0, headers)
15031
- });
15032
- }
15033
- }
15034
- args.push(init);
15035
- } return $fetch.apply(this, args);
15036
  }
15037
  });
15038
- }
15039
-
15040
- module.exports = {
15041
- URLSearchParams: URLSearchParamsConstructor,
15042
- getState: getInternalParamsState
15043
  };
15044
 
 
 
15045
 
15046
- /***/ }),
15047
- /* 296 */
15048
- /***/ (function(module, exports, __webpack_require__) {
15049
 
15050
- var anObject = __webpack_require__(9);
15051
- var getIteratorMethod = __webpack_require__(155);
15052
 
15053
- module.exports = function (it) {
15054
- var iteratorMethod = getIteratorMethod(it);
15055
- if (typeof iteratorMethod != 'function') {
15056
- throw TypeError(String(it) + ' is not iterable');
15057
- } return anObject(iteratorMethod.call(it));
15058
- };
15059
 
 
15060
 
15061
- /***/ }),
15062
- /* 297 */
15063
- /***/ (function(module, exports) {
15064
 
15065
- // shim for using process in browser
15066
- var process = module.exports = {};
 
15067
 
15068
- // cached from whatever global is present so that test runners that stub it
15069
- // don't break things. But we need to wrap it in a try catch in case it is
15070
- // wrapped in strict mode code which doesn't define any globals. It's inside a
15071
- // function because try/catches deoptimize in certain engines.
15072
 
15073
- var cachedSetTimeout;
15074
- var cachedClearTimeout;
15075
 
15076
- function defaultSetTimout() {
15077
- throw new Error('setTimeout has not been defined');
15078
- }
15079
- function defaultClearTimeout () {
15080
- throw new Error('clearTimeout has not been defined');
15081
- }
15082
- (function () {
15083
- try {
15084
- if (typeof setTimeout === 'function') {
15085
- cachedSetTimeout = setTimeout;
15086
- } else {
15087
- cachedSetTimeout = defaultSetTimout;
15088
- }
15089
- } catch (e) {
15090
- cachedSetTimeout = defaultSetTimout;
15091
- }
15092
- try {
15093
- if (typeof clearTimeout === 'function') {
15094
- cachedClearTimeout = clearTimeout;
15095
- } else {
15096
- cachedClearTimeout = defaultClearTimeout;
15097
- }
15098
- } catch (e) {
15099
- cachedClearTimeout = defaultClearTimeout;
15100
- }
15101
- } ())
15102
- function runTimeout(fun) {
15103
- if (cachedSetTimeout === setTimeout) {
15104
- //normal enviroments in sane situations
15105
- return setTimeout(fun, 0);
15106
- }
15107
- // if setTimeout wasn't available but was latter defined
15108
- if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
15109
- cachedSetTimeout = setTimeout;
15110
- return setTimeout(fun, 0);
15111
- }
15112
- try {
15113
- // when when somebody has screwed with setTimeout but no I.E. maddness
15114
- return cachedSetTimeout(fun, 0);
15115
- } catch(e){
15116
- try {
15117
- // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
15118
- return cachedSetTimeout.call(null, fun, 0);
15119
- } catch(e){
15120
- // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
15121
- return cachedSetTimeout.call(this, fun, 0);
15122
- }
15123
- }
15124
 
15125
 
15126
- }
15127
- function runClearTimeout(marker) {
15128
- if (cachedClearTimeout === clearTimeout) {
15129
- //normal enviroments in sane situations
15130
- return clearTimeout(marker);
15131
- }
15132
- // if clearTimeout wasn't available but was latter defined
15133
- if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
15134
- cachedClearTimeout = clearTimeout;
15135
- return clearTimeout(marker);
15136
- }
15137
- try {
15138
- // when when somebody has screwed with setTimeout but no I.E. maddness
15139
- return cachedClearTimeout(marker);
15140
- } catch (e){
15141
- try {
15142
- // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
15143
- return cachedClearTimeout.call(null, marker);
15144
- } catch (e){
15145
- // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
15146
- // Some versions of I.E. have different rules for clearTimeout vs setTimeout
15147
- return cachedClearTimeout.call(this, marker);
15148
- }
15149
- }
15150
 
15151
 
 
 
 
15152
 
15153
- }
15154
- var queue = [];
15155
- var draining = false;
15156
- var currentQueue;
15157
- var queueIndex = -1;
15158
 
15159
- function cleanUpNextTick() {
15160
- if (!draining || !currentQueue) {
15161
- return;
15162
- }
15163
- draining = false;
15164
- if (currentQueue.length) {
15165
- queue = currentQueue.concat(queue);
15166
- } else {
15167
- queueIndex = -1;
15168
- }
15169
- if (queue.length) {
15170
- drainQueue();
15171
- }
15172
- }
15173
 
15174
- function drainQueue() {
15175
- if (draining) {
15176
- return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15177
  }
15178
- var timeout = runTimeout(cleanUpNextTick);
15179
- draining = true;
15180
 
15181
- var len = queue.length;
15182
- while(len) {
15183
- currentQueue = queue;
15184
- queue = [];
15185
- while (++queueIndex < len) {
15186
- if (currentQueue) {
15187
- currentQueue[queueIndex].run();
15188
- }
15189
- }
15190
- queueIndex = -1;
15191
- len = queue.length;
 
 
 
 
 
 
 
 
 
 
 
15192
  }
15193
- currentQueue = null;
15194
- draining = false;
15195
- runClearTimeout(timeout);
15196
- }
15197
 
15198
- process.nextTick = function (fun) {
15199
- var args = new Array(arguments.length - 1);
15200
- if (arguments.length > 1) {
15201
- for (var i = 1; i < arguments.length; i++) {
15202
- args[i - 1] = arguments[i];
 
15203
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15204
  }
15205
- queue.push(new Item(fun, args));
15206
- if (queue.length === 1 && !draining) {
15207
- runTimeout(drainQueue);
 
 
 
15208
  }
15209
- };
 
 
 
 
15210
 
15211
- // v8 likes predictible objects
15212
- function Item(fun, array) {
15213
- this.fun = fun;
15214
- this.array = array;
15215
- }
15216
- Item.prototype.run = function () {
15217
- this.fun.apply(null, this.array);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15218
  };
15219
- process.title = 'browser';
15220
- process.browser = true;
15221
- process.env = {};
15222
- process.argv = [];
15223
- process.version = ''; // empty string to avoid regexp issues
15224
- process.versions = {};
15225
 
15226
- function noop() {}
 
 
 
 
 
 
 
 
 
 
 
15227
 
15228
- process.on = noop;
15229
- process.addListener = noop;
15230
- process.once = noop;
15231
- process.off = noop;
15232
- process.removeListener = noop;
15233
- process.removeAllListeners = noop;
15234
- process.emit = noop;
15235
- process.prependListener = noop;
15236
- process.prependOnceListener = noop;
15237
 
15238
- process.listeners = function (name) { return [] }
15239
 
15240
- process.binding = function (name) {
15241
- throw new Error('process.binding is not supported');
15242
- };
15243
 
15244
- process.cwd = function () { return '/' };
15245
- process.chdir = function (dir) {
15246
- throw new Error('process.chdir is not supported');
 
 
 
 
 
 
15247
  };
15248
- process.umask = function() { return 0; };
15249
 
 
 
15250
 
15251
  /***/ }),
15252
- /* 298 */
15253
- /***/ (function(module, exports, __webpack_require__) {
15254
-
15255
- "use strict";
15256
- /** @license React v16.13.1
15257
- * react-is.production.min.js
15258
- *
15259
- * Copyright (c) Facebook, Inc. and its affiliates.
15260
- *
15261
- * This source code is licensed under the MIT license found in the
15262
- * LICENSE file in the root directory of this source tree.
15263
- */
15264
 
15265
- var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b?
15266
- Symbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x=b?Symbol.for("react.responder"):60118,y=b?Symbol.for("react.scope"):60119;
15267
- function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;
15268
- exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};
15269
- exports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};
15270
- exports.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;
15271
 
 
15272
 
15273
  /***/ }),
15274
- /* 299 */,
15275
- /* 300 */,
15276
- /* 301 */,
15277
- /* 302 */,
15278
- /* 303 */,
15279
- /* 304 */,
15280
- /* 305 */,
15281
- /* 306 */,
15282
- /* 307 */,
15283
- /* 308 */,
15284
- /* 309 */,
15285
- /* 310 */,
15286
- /* 311 */,
15287
- /* 312 */,
15288
- /* 313 */,
15289
- /* 314 */,
15290
- /* 315 */
15291
- /***/ (function(module, exports, __webpack_require__) {
15292
 
15293
  "use strict";
 
 
 
 
 
 
 
 
 
 
 
15294
 
15295
 
15296
- Object.defineProperty(exports, '__esModule', { value: true });
 
 
15297
 
15298
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
15299
 
15300
- var _extends = _interopDefault(__webpack_require__(80));
15301
- var _objectWithoutPropertiesLoose = _interopDefault(__webpack_require__(233));
15302
- var React = __webpack_require__(20);
15303
- var React__default = _interopDefault(React);
15304
- var _inheritsLoose = _interopDefault(__webpack_require__(434));
15305
- var _assertThisInitialized = _interopDefault(__webpack_require__(18));
15306
 
15307
- var is = {
15308
- arr: Array.isArray,
15309
- obj: function obj(a) {
15310
- return Object.prototype.toString.call(a) === '[object Object]';
15311
- },
15312
- fun: function fun(a) {
15313
- return typeof a === 'function';
15314
- },
15315
- str: function str(a) {
15316
- return typeof a === 'string';
15317
- },
15318
- num: function num(a) {
15319
- return typeof a === 'number';
15320
- },
15321
- und: function und(a) {
15322
- return a === void 0;
15323
- },
15324
- nul: function nul(a) {
15325
- return a === null;
15326
- },
15327
- set: function set(a) {
15328
- return a instanceof Set;
15329
- },
15330
- map: function map(a) {
15331
- return a instanceof Map;
15332
- },
15333
- equ: function equ(a, b) {
15334
- if (typeof a !== typeof b) return false;
15335
- if (is.str(a) || is.num(a)) return a === b;
15336
- if (is.obj(a) && is.obj(b) && Object.keys(a).length + Object.keys(b).length === 0) return true;
15337
- var i;
15338
 
15339
- for (i in a) {
15340
- if (!(i in b)) return false;
15341
- }
15342
 
15343
- for (i in b) {
15344
- if (a[i] !== b[i]) return false;
15345
- }
15346
 
15347
- return is.und(i) ? a === b : true;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15348
  }
15349
- };
15350
- function merge(target, lowercase) {
15351
- if (lowercase === void 0) {
15352
- lowercase = true;
15353
  }
15354
 
15355
- return function (object) {
15356
- return (is.arr(object) ? object : Object.keys(object)).reduce(function (acc, element) {
15357
- var key = lowercase ? element[0].toLowerCase() + element.substring(1) : element;
15358
- acc[key] = target(key);
15359
- return acc;
15360
- }, target);
15361
- };
15362
- }
15363
- function useForceUpdate() {
15364
- var _useState = React.useState(false),
15365
- f = _useState[1];
15366
 
15367
- var forceUpdate = React.useCallback(function () {
15368
- return f(function (v) {
15369
- return !v;
15370
- });
15371
- }, []);
15372
- return forceUpdate;
15373
- }
15374
- function withDefault(value, defaultValue) {
15375
- return is.und(value) || is.nul(value) ? defaultValue : value;
15376
- }
15377
- function toArray(a) {
15378
- return !is.und(a) ? is.arr(a) ? a : [a] : [];
15379
- }
15380
- function callProp(obj) {
15381
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
15382
- args[_key - 1] = arguments[_key];
15383
- }
15384
 
15385
- return is.fun(obj) ? obj.apply(void 0, args) : obj;
15386
- }
15387
 
15388
- function getForwardProps(props) {
15389
- var to = props.to,
15390
- from = props.from,
15391
- config = props.config,
15392
- onStart = props.onStart,
15393
- onRest = props.onRest,
15394
- onFrame = props.onFrame,
15395
- children = props.children,
15396
- reset = props.reset,
15397
- reverse = props.reverse,
15398
- force = props.force,
15399
- immediate = props.immediate,
15400
- delay = props.delay,
15401
- attach = props.attach,
15402
- destroyed = props.destroyed,
15403
- interpolateTo = props.interpolateTo,
15404
- ref = props.ref,
15405
- lazy = props.lazy,
15406
- forward = _objectWithoutPropertiesLoose(props, ["to", "from", "config", "onStart", "onRest", "onFrame", "children", "reset", "reverse", "force", "immediate", "delay", "attach", "destroyed", "interpolateTo", "ref", "lazy"]);
15407
 
15408
- return forward;
 
 
 
 
 
15409
  }
15410
 
15411
- function interpolateTo(props) {
15412
- var forward = getForwardProps(props);
15413
- if (is.und(forward)) return _extends({
15414
- to: forward
15415
- }, props);
15416
- var rest = Object.keys(props).reduce(function (a, k) {
15417
- var _extends2;
15418
 
15419
- return !is.und(forward[k]) ? a : _extends({}, a, (_extends2 = {}, _extends2[k] = props[k], _extends2));
15420
- }, {});
15421
- return _extends({
15422
- to: forward
15423
- }, rest);
15424
- }
15425
- function handleRef(ref, forward) {
15426
- if (forward) {
15427
- // If it's a function, assume it's a ref callback
15428
- if (is.fun(forward)) forward(ref);else if (is.obj(forward)) {
15429
- forward.current = ref;
15430
- }
15431
- }
15432
 
15433
- return ref;
 
 
 
 
 
 
15434
  }
 
15435
 
15436
- var Animated =
15437
- /*#__PURE__*/
15438
- function () {
15439
- function Animated() {
15440
- this.payload = void 0;
15441
- this.children = [];
15442
- }
15443
 
15444
- var _proto = Animated.prototype;
 
15445
 
15446
- _proto.getAnimatedValue = function getAnimatedValue() {
15447
- return this.getValue();
15448
- };
15449
 
15450
- _proto.getPayload = function getPayload() {
15451
- return this.payload || this;
15452
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15453
 
15454
- _proto.attach = function attach() {};
15455
 
15456
- _proto.detach = function detach() {};
15457
 
15458
- _proto.getChildren = function getChildren() {
15459
- return this.children;
15460
- };
15461
 
15462
- _proto.addChild = function addChild(child) {
15463
- if (this.children.length === 0) this.attach();
15464
- this.children.push(child);
15465
- };
15466
 
15467
- _proto.removeChild = function removeChild(child) {
15468
- var index = this.children.indexOf(child);
15469
- this.children.splice(index, 1);
15470
- if (this.children.length === 0) this.detach();
15471
- };
15472
 
15473
- return Animated;
15474
- }();
15475
- var AnimatedArray =
15476
- /*#__PURE__*/
15477
- function (_Animated) {
15478
- _inheritsLoose(AnimatedArray, _Animated);
15479
 
15480
- function AnimatedArray() {
15481
- var _this;
15482
 
15483
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
15484
- args[_key] = arguments[_key];
15485
- }
15486
 
15487
- _this = _Animated.call.apply(_Animated, [this].concat(args)) || this;
15488
- _this.payload = [];
15489
 
15490
- _this.attach = function () {
15491
- return _this.payload.forEach(function (p) {
15492
- return p instanceof Animated && p.addChild(_assertThisInitialized(_this));
15493
- });
15494
- };
15495
 
15496
- _this.detach = function () {
15497
- return _this.payload.forEach(function (p) {
15498
- return p instanceof Animated && p.removeChild(_assertThisInitialized(_this));
15499
- });
15500
- };
15501
 
15502
- return _this;
15503
- }
15504
 
15505
- return AnimatedArray;
15506
- }(Animated);
15507
- var AnimatedObject =
15508
- /*#__PURE__*/
15509
- function (_Animated2) {
15510
- _inheritsLoose(AnimatedObject, _Animated2);
15511
 
15512
- function AnimatedObject() {
15513
- var _this2;
15514
 
15515
- for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
15516
- args[_key3] = arguments[_key3];
15517
- }
 
 
 
 
 
 
 
 
 
 
 
 
15518
 
15519
- _this2 = _Animated2.call.apply(_Animated2, [this].concat(args)) || this;
15520
- _this2.payload = {};
 
 
 
 
 
 
 
15521
 
15522
- _this2.attach = function () {
15523
- return Object.values(_this2.payload).forEach(function (s) {
15524
- return s instanceof Animated && s.addChild(_assertThisInitialized(_this2));
15525
- });
15526
- };
 
15527
 
15528
- _this2.detach = function () {
15529
- return Object.values(_this2.payload).forEach(function (s) {
15530
- return s instanceof Animated && s.removeChild(_assertThisInitialized(_this2));
15531
- });
15532
- };
15533
 
15534
- return _this2;
15535
- }
 
 
 
 
15536
 
15537
- var _proto2 = AnimatedObject.prototype;
15538
 
15539
- _proto2.getValue = function getValue(animated) {
15540
- if (animated === void 0) {
15541
- animated = false;
15542
- }
15543
 
15544
- var payload = {};
 
 
 
 
 
 
 
 
15545
 
15546
- for (var _key4 in this.payload) {
15547
- var value = this.payload[_key4];
15548
- if (animated && !(value instanceof Animated)) continue;
15549
- payload[_key4] = value instanceof Animated ? value[animated ? 'getAnimatedValue' : 'getValue']() : value;
15550
  }
15551
 
15552
- return payload;
15553
- };
15554
-
15555
- _proto2.getAnimatedValue = function getAnimatedValue() {
15556
- return this.getValue(true);
15557
- };
15558
 
15559
- return AnimatedObject;
15560
- }(Animated);
15561
 
15562
- var applyAnimatedValues;
15563
- function injectApplyAnimatedValues(fn, transform) {
15564
- applyAnimatedValues = {
15565
- fn: fn,
15566
- transform: transform
15567
- };
15568
- }
15569
- var colorNames;
15570
- function injectColorNames(names) {
15571
- colorNames = names;
15572
- }
15573
- var requestFrame = function requestFrame(cb) {
15574
- return typeof window !== 'undefined' ? window.requestAnimationFrame(cb) : -1;
15575
- };
15576
- var cancelFrame = function cancelFrame(id) {
15577
- typeof window !== 'undefined' && window.cancelAnimationFrame(id);
15578
- };
15579
- function injectFrame(raf, caf) {
15580
- requestFrame = raf;
15581
- cancelFrame = caf;
15582
- }
15583
- var interpolation;
15584
- function injectStringInterpolator(fn) {
15585
- interpolation = fn;
15586
- }
15587
- var now = function now() {
15588
- return Date.now();
15589
- };
15590
- function injectNow(nowFn) {
15591
- now = nowFn;
15592
- }
15593
- var defaultElement;
15594
- function injectDefaultElement(el) {
15595
- defaultElement = el;
15596
- }
15597
- var animatedApi = function animatedApi(node) {
15598
- return node.current;
15599
- };
15600
- function injectAnimatedApi(fn) {
15601
- animatedApi = fn;
15602
- }
15603
- var createAnimatedStyle;
15604
- function injectCreateAnimatedStyle(factory) {
15605
- createAnimatedStyle = factory;
15606
- }
15607
- var manualFrameloop;
15608
- function injectManualFrameloop(callback) {
15609
- manualFrameloop = callback;
15610
- }
15611
 
15612
- var Globals = /*#__PURE__*/Object.freeze({
15613
- get applyAnimatedValues () { return applyAnimatedValues; },
15614
- injectApplyAnimatedValues: injectApplyAnimatedValues,
15615
- get colorNames () { return colorNames; },
15616
- injectColorNames: injectColorNames,
15617
- get requestFrame () { return requestFrame; },
15618
- get cancelFrame () { return cancelFrame; },
15619
- injectFrame: injectFrame,
15620
- get interpolation () { return interpolation; },
15621
- injectStringInterpolator: injectStringInterpolator,
15622
- get now () { return now; },
15623
- injectNow: injectNow,
15624
- get defaultElement () { return defaultElement; },
15625
- injectDefaultElement: injectDefaultElement,
15626
- get animatedApi () { return animatedApi; },
15627
- injectAnimatedApi: injectAnimatedApi,
15628
- get createAnimatedStyle () { return createAnimatedStyle; },
15629
- injectCreateAnimatedStyle: injectCreateAnimatedStyle,
15630
- get manualFrameloop () { return manualFrameloop; },
15631
- injectManualFrameloop: injectManualFrameloop
15632
- });
15633
 
15634
- /**
15635
- * Wraps the `style` property with `AnimatedStyle`.
15636
- */
15637
 
15638
- var AnimatedProps =
15639
- /*#__PURE__*/
15640
- function (_AnimatedObject) {
15641
- _inheritsLoose(AnimatedProps, _AnimatedObject);
15642
 
15643
- function AnimatedProps(props, callback) {
15644
- var _this;
15645
 
15646
- _this = _AnimatedObject.call(this) || this;
15647
- _this.update = void 0;
15648
- _this.payload = !props.style ? props : _extends({}, props, {
15649
- style: createAnimatedStyle(props.style)
15650
- });
15651
- _this.update = callback;
15652
 
15653
- _this.attach();
15654
 
15655
- return _this;
15656
- }
15657
 
15658
- return AnimatedProps;
15659
- }(AnimatedObject);
15660
 
15661
- var isFunctionComponent = function isFunctionComponent(val) {
15662
- return is.fun(val) && !(val.prototype instanceof React__default.Component);
15663
- };
 
 
15664
 
15665
- var createAnimatedComponent = function createAnimatedComponent(Component) {
15666
- var AnimatedComponent = React.forwardRef(function (props, ref) {
15667
- var forceUpdate = useForceUpdate();
15668
- var mounted = React.useRef(true);
15669
- var propsAnimated = React.useRef(null);
15670
- var node = React.useRef(null);
15671
- var attachProps = React.useCallback(function (props) {
15672
- var oldPropsAnimated = propsAnimated.current;
15673
 
15674
- var callback = function callback() {
15675
- var didUpdate = false;
15676
 
15677
- if (node.current) {
15678
- didUpdate = applyAnimatedValues.fn(node.current, propsAnimated.current.getAnimatedValue());
15679
- }
15680
 
15681
- if (!node.current || didUpdate === false) {
15682
- // If no referenced node has been found, or the update target didn't have a
15683
- // native-responder, then forceUpdate the animation ...
15684
- forceUpdate();
15685
- }
15686
- };
15687
 
15688
- propsAnimated.current = new AnimatedProps(props, callback);
15689
- oldPropsAnimated && oldPropsAnimated.detach();
15690
- }, []);
15691
- React.useEffect(function () {
15692
- return function () {
15693
- mounted.current = false;
15694
- propsAnimated.current && propsAnimated.current.detach();
15695
- };
15696
- }, []);
15697
- React.useImperativeHandle(ref, function () {
15698
- return animatedApi(node, mounted, forceUpdate);
15699
- });
15700
- attachProps(props);
15701
 
15702
- var _getValue = propsAnimated.current.getValue(),
15703
- scrollTop = _getValue.scrollTop,
15704
- scrollLeft = _getValue.scrollLeft,
15705
- animatedProps = _objectWithoutPropertiesLoose(_getValue, ["scrollTop", "scrollLeft"]); // Functions cannot have refs, see:
15706
- // See: https://github.com/react-spring/react-spring/issues/569
15707
 
 
15708
 
15709
- var refFn = isFunctionComponent(Component) ? undefined : function (childRef) {
15710
- return node.current = handleRef(childRef, ref);
15711
- };
15712
- return React__default.createElement(Component, _extends({}, animatedProps, {
15713
- ref: refFn
15714
- }));
15715
- });
15716
- return AnimatedComponent;
15717
- };
15718
 
15719
- var active = false;
15720
- var controllers = new Set();
 
 
 
 
 
 
 
15721
 
15722
- var update = function update() {
15723
- if (!active) return false;
15724
- var time = now();
 
 
15725
 
15726
- for (var _iterator = controllers, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
15727
- var _ref;
 
 
 
15728
 
15729
- if (_isArray) {
15730
- if (_i >= _iterator.length) break;
15731
- _ref = _iterator[_i++];
15732
- } else {
15733
- _i = _iterator.next();
15734
- if (_i.done) break;
15735
- _ref = _i.value;
15736
- }
15737
 
15738
- var controller = _ref;
15739
- var isActive = false;
15740
 
15741
- for (var configIdx = 0; configIdx < controller.configs.length; configIdx++) {
15742
- var config = controller.configs[configIdx];
15743
- var endOfAnimation = void 0,
15744
- lastTime = void 0;
15745
 
15746
- for (var valIdx = 0; valIdx < config.animatedValues.length; valIdx++) {
15747
- var animation = config.animatedValues[valIdx]; // If an animation is done, skip, until all of them conclude
15748
 
15749
- if (animation.done) continue;
15750
- var from = config.fromValues[valIdx];
15751
- var to = config.toValues[valIdx];
15752
- var position = animation.lastPosition;
15753
- var isAnimated = to instanceof Animated;
15754
- var velocity = Array.isArray(config.initialVelocity) ? config.initialVelocity[valIdx] : config.initialVelocity;
15755
- if (isAnimated) to = to.getValue(); // Conclude animation if it's either immediate, or from-values match end-state
15756
 
15757
- if (config.immediate) {
15758
- animation.setValue(to);
15759
- animation.done = true;
15760
- continue;
15761
- } // Break animation when string values are involved
15762
 
 
 
 
 
 
15763
 
15764
- if (typeof from === 'string' || typeof to === 'string') {
15765
- animation.setValue(to);
15766
- animation.done = true;
15767
- continue;
15768
- }
15769
 
15770
- if (config.duration !== void 0) {
15771
- /** Duration easing */
15772
- position = from + config.easing((time - animation.startTime) / config.duration) * (to - from);
15773
- endOfAnimation = time >= animation.startTime + config.duration;
15774
- } else if (config.decay) {
15775
- /** Decay easing */
15776
- position = from + velocity / (1 - 0.998) * (1 - Math.exp(-(1 - 0.998) * (time - animation.startTime)));
15777
- endOfAnimation = Math.abs(animation.lastPosition - position) < 0.1;
15778
- if (endOfAnimation) to = position;
15779
- } else {
15780
- /** Spring easing */
15781
- lastTime = animation.lastTime !== void 0 ? animation.lastTime : time;
15782
- velocity = animation.lastVelocity !== void 0 ? animation.lastVelocity : config.initialVelocity; // If we lost a lot of frames just jump to the end.
15783
 
15784
- if (time > lastTime + 64) lastTime = time; // http://gafferongames.com/game-physics/fix-your-timestep/
 
15785
 
15786
- var numSteps = Math.floor(time - lastTime);
15787
 
15788
- for (var i = 0; i < numSteps; ++i) {
15789
- var force = -config.tension * (position - to);
15790
- var damping = -config.friction * velocity;
15791
- var acceleration = (force + damping) / config.mass;
15792
- velocity = velocity + acceleration * 1 / 1000;
15793
- position = position + velocity * 1 / 1000;
15794
- } // Conditions for stopping the spring animation
15795
 
 
 
15796
 
15797
- var isOvershooting = config.clamp && config.tension !== 0 ? from < to ? position > to : position < to : false;
15798
- var isVelocity = Math.abs(velocity) <= config.precision;
15799
- var isDisplacement = config.tension !== 0 ? Math.abs(to - position) <= config.precision : true;
15800
- endOfAnimation = isOvershooting || isVelocity && isDisplacement;
15801
- animation.lastVelocity = velocity;
15802
- animation.lastTime = time;
15803
- } // Trails aren't done until their parents conclude
 
 
 
 
 
 
15804
 
 
 
 
15805
 
15806
- if (isAnimated && !config.toValues[valIdx].done) endOfAnimation = false;
 
 
 
 
 
 
15807
 
15808
- if (endOfAnimation) {
15809
- // Ensure that we end up with a round value
15810
- if (animation.value !== to) position = to;
15811
- animation.done = true;
15812
- } else isActive = true;
15813
 
15814
- animation.setValue(position);
15815
- animation.lastPosition = position;
15816
- } // Keep track of updated values only when necessary
15817
 
 
 
 
15818
 
15819
- if (controller.props.onFrame) controller.values[config.name] = config.interpolation.getValue();
15820
- } // Update callbacks in the end of the frame
15821
 
 
15822
 
15823
- if (controller.props.onFrame) controller.props.onFrame(controller.values); // Either call onEnd or next frame
 
15824
 
15825
- if (!isActive) {
15826
- controllers.delete(controller);
15827
- controller.stop(true);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15828
  }
15829
- } // Loop over as long as there are controllers ...
15830
 
 
 
15831
 
15832
- if (controllers.size) {
15833
- if (manualFrameloop) manualFrameloop();else requestFrame(update);
15834
- } else {
15835
- active = false;
15836
- }
15837
 
15838
- return active;
15839
- };
15840
 
15841
- var start = function start(controller) {
15842
- if (!controllers.has(controller)) controllers.add(controller);
15843
 
15844
- if (!active) {
15845
- active = true;
15846
- if (manualFrameloop) requestFrame(manualFrameloop);else requestFrame(update);
15847
- }
15848
- };
15849
 
15850
- var stop = function stop(controller) {
15851
- if (controllers.has(controller)) controllers.delete(controller);
15852
- };
 
15853
 
15854
- function createInterpolator(range, output, extrapolate) {
15855
- if (typeof range === 'function') {
15856
- return range;
15857
- }
15858
 
15859
- if (Array.isArray(range)) {
15860
- return createInterpolator({
15861
- range: range,
15862
- output: output,
15863
- extrapolate: extrapolate
15864
- });
15865
  }
15866
 
15867
- if (interpolation && typeof range.output[0] === 'string') {
15868
- return interpolation(range);
15869
- }
15870
 
15871
- var config = range;
15872
- var outputRange = config.output;
15873
- var inputRange = config.range || [0, 1];
15874
- var extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend';
15875
- var extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend';
15876
 
15877
- var easing = config.easing || function (t) {
15878
- return t;
15879
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15880
 
15881
- return function (input) {
15882
- var range = findRange(input, inputRange);
15883
- return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map);
15884
- };
15885
  }
15886
 
15887
- function interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {
15888
- var result = map ? map(input) : input; // Extrapolate
15889
 
15890
- if (result < inputMin) {
15891
- if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;
15892
- }
15893
 
15894
- if (result > inputMax) {
15895
- if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;
15896
- }
15897
 
15898
- if (outputMin === outputMax) return outputMin;
15899
- if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax; // Input Range
 
15900
 
15901
- if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin); // Easing
 
15902
 
15903
- result = easing(result); // Output Range
15904
 
15905
- if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;
15906
- return result;
15907
- }
15908
 
15909
- function findRange(input, inputRange) {
15910
- for (var i = 1; i < inputRange.length - 1; ++i) {
15911
- if (inputRange[i] >= input) break;
15912
- }
15913
 
15914
- return i - 1;
 
 
 
 
 
15915
  }
15916
 
15917
- var AnimatedInterpolation =
15918
- /*#__PURE__*/
15919
- function (_AnimatedArray) {
15920
- _inheritsLoose(AnimatedInterpolation, _AnimatedArray);
15921
-
15922
- function AnimatedInterpolation(parents, range, output, extrapolate) {
15923
- var _this;
15924
 
15925
- _this = _AnimatedArray.call(this) || this;
15926
- _this.calc = void 0;
15927
- _this.payload = parents instanceof AnimatedArray && !(parents instanceof AnimatedInterpolation) ? parents.getPayload() : Array.isArray(parents) ? parents : [parents];
15928
- _this.calc = createInterpolator(range, output, extrapolate);
15929
- return _this;
15930
- }
15931
 
15932
- var _proto = AnimatedInterpolation.prototype;
15933
 
15934
- _proto.getValue = function getValue() {
15935
- return this.calc.apply(this, this.payload.map(function (value) {
15936
- return value.getValue();
15937
- }));
15938
- };
 
 
 
15939
 
15940
- _proto.updateConfig = function updateConfig(range, output, extrapolate) {
15941
- this.calc = createInterpolator(range, output, extrapolate);
15942
- };
15943
 
15944
- _proto.interpolate = function interpolate(range, output, extrapolate) {
15945
- return new AnimatedInterpolation(this, range, output, extrapolate);
15946
- };
15947
 
15948
- return AnimatedInterpolation;
15949
- }(AnimatedArray);
15950
 
15951
- var interpolate$1 = function interpolate(parents, range, output) {
15952
- return parents && new AnimatedInterpolation(parents, range, output);
15953
- };
15954
 
15955
- var config = {
15956
- default: {
15957
- tension: 170,
15958
- friction: 26
15959
- },
15960
- gentle: {
15961
- tension: 120,
15962
- friction: 14
15963
- },
15964
- wobbly: {
15965
- tension: 180,
15966
- friction: 12
15967
- },
15968
- stiff: {
15969
- tension: 210,
15970
- friction: 20
15971
- },
15972
- slow: {
15973
- tension: 280,
15974
- friction: 60
15975
- },
15976
- molasses: {
15977
- tension: 280,
15978
- friction: 120
15979
- }
15980
- };
15981
 
15982
- /** API
15983
- * useChain(references, timeSteps, timeFrame)
15984
- */
15985
 
15986
- function useChain(refs, timeSteps, timeFrame) {
15987
- if (timeFrame === void 0) {
15988
- timeFrame = 1000;
15989
- }
15990
 
15991
- var previous = React.useRef();
15992
- React.useEffect(function () {
15993
- if (is.equ(refs, previous.current)) refs.forEach(function (_ref) {
15994
- var current = _ref.current;
15995
- return current && current.start();
15996
- });else if (timeSteps) {
15997
- refs.forEach(function (_ref2, index) {
15998
- var current = _ref2.current;
15999
 
16000
- if (current) {
16001
- var ctrls = current.controllers;
16002
 
16003
- if (ctrls.length) {
16004
- var t = timeFrame * timeSteps[index];
16005
- ctrls.forEach(function (ctrl) {
16006
- ctrl.queue = ctrl.queue.map(function (e) {
16007
- return _extends({}, e, {
16008
- delay: e.delay + t
16009
- });
16010
- });
16011
- ctrl.start();
16012
- });
16013
- }
16014
- }
16015
- });
16016
- } else refs.reduce(function (q, _ref3, rI) {
16017
- var current = _ref3.current;
16018
- return q = q.then(function () {
16019
- return current.start();
16020
- });
16021
- }, Promise.resolve());
16022
- previous.current = refs;
16023
- });
16024
- }
16025
 
16026
- /**
16027
- * Animated works by building a directed acyclic graph of dependencies
16028
- * transparently when you render your Animated components.
16029
- *
16030
- * new Animated.Value(0)
16031
- * .interpolate() .interpolate() new Animated.Value(1)
16032
- * opacity translateY scale
16033
- * style transform
16034
- * View#234 style
16035
- * View#123
16036
- *
16037
- * A) Top Down phase
16038
- * When an AnimatedValue is updated, we recursively go down through this
16039
- * graph in order to find leaf nodes: the views that we flag as needing
16040
- * an update.
16041
- *
16042
- * B) Bottom Up phase
16043
- * When a view is flagged as needing an update, we recursively go back up
16044
- * in order to build the new value that it needs. The reason why we need
16045
- * this two-phases process is to deal with composite props such as
16046
- * transform which can receive values from multiple parents.
16047
- */
16048
- function addAnimatedStyles(node, styles) {
16049
- if ('update' in node) {
16050
- styles.add(node);
16051
- } else {
16052
- node.getChildren().forEach(function (child) {
16053
- return addAnimatedStyles(child, styles);
16054
- });
16055
  }
 
 
16056
  }
16057
 
16058
- var AnimatedValue =
16059
- /*#__PURE__*/
16060
- function (_Animated) {
16061
- _inheritsLoose(AnimatedValue, _Animated);
16062
 
16063
- function AnimatedValue(_value) {
16064
- var _this;
16065
 
16066
- _this = _Animated.call(this) || this;
16067
- _this.animatedStyles = new Set();
16068
- _this.value = void 0;
16069
- _this.startPosition = void 0;
16070
- _this.lastPosition = void 0;
16071
- _this.lastVelocity = void 0;
16072
- _this.startTime = void 0;
16073
- _this.lastTime = void 0;
16074
- _this.done = false;
16075
 
16076
- _this.setValue = function (value, flush) {
16077
- if (flush === void 0) {
16078
- flush = true;
16079
- }
16080
 
16081
- _this.value = value;
16082
- if (flush) _this.flush();
16083
- };
16084
 
16085
- _this.value = _value;
16086
- _this.startPosition = _value;
16087
- _this.lastPosition = _value;
16088
- return _this;
 
 
 
16089
  }
16090
 
16091
- var _proto = AnimatedValue.prototype;
 
 
 
 
 
16092
 
16093
- _proto.flush = function flush() {
16094
- if (this.animatedStyles.size === 0) {
16095
- addAnimatedStyles(this, this.animatedStyles);
16096
- }
 
 
 
 
 
 
 
 
 
 
16097
 
16098
- this.animatedStyles.forEach(function (animatedStyle) {
16099
- return animatedStyle.update();
16100
  });
16101
  };
 
16102
 
16103
- _proto.clearStyles = function clearStyles() {
16104
- this.animatedStyles.clear();
16105
- };
16106
 
16107
- _proto.getValue = function getValue() {
16108
- return this.value;
16109
- };
16110
 
16111
- _proto.interpolate = function interpolate(range, output, extrapolate) {
16112
- return new AnimatedInterpolation(this, range, output, extrapolate);
16113
- };
16114
 
16115
- return AnimatedValue;
16116
- }(Animated);
16117
 
16118
- var AnimatedValueArray =
16119
- /*#__PURE__*/
16120
- function (_AnimatedArray) {
16121
- _inheritsLoose(AnimatedValueArray, _AnimatedArray);
16122
 
16123
- function AnimatedValueArray(values) {
16124
- var _this;
16125
 
16126
- _this = _AnimatedArray.call(this) || this;
16127
- _this.payload = values.map(function (n) {
16128
- return new AnimatedValue(n);
16129
- });
16130
- return _this;
16131
- }
16132
 
16133
- var _proto = AnimatedValueArray.prototype;
 
 
 
 
 
 
 
 
 
 
 
 
 
16134
 
16135
- _proto.setValue = function setValue(value, flush) {
16136
- var _this2 = this;
16137
 
16138
- if (flush === void 0) {
16139
- flush = true;
16140
- }
16141
 
16142
- if (Array.isArray(value)) {
16143
- if (value.length === this.payload.length) {
16144
- value.forEach(function (v, i) {
16145
- return _this2.payload[i].setValue(v, flush);
16146
- });
16147
- }
16148
- } else {
16149
- this.payload.forEach(function (p) {
16150
- return p.setValue(value, flush);
16151
- });
16152
- }
16153
- };
16154
 
16155
- _proto.getValue = function getValue() {
16156
- return this.payload.map(function (v) {
16157
- return v.getValue();
16158
- });
16159
- };
16160
 
16161
- _proto.interpolate = function interpolate(range, output) {
16162
- return new AnimatedInterpolation(this, range, output);
16163
- };
16164
 
16165
- return AnimatedValueArray;
16166
- }(AnimatedArray);
16167
 
16168
- var G = 0;
16169
 
16170
- var Controller =
16171
- /*#__PURE__*/
16172
- function () {
16173
- function Controller() {
16174
- var _this = this;
16175
 
16176
- this.id = void 0;
16177
- this.idle = true;
16178
- this.hasChanged = false;
16179
- this.guid = 0;
16180
- this.local = 0;
16181
- this.props = {};
16182
- this.merged = {};
16183
- this.animations = {};
16184
- this.interpolations = {};
16185
- this.values = {};
16186
- this.configs = [];
16187
- this.listeners = [];
16188
- this.queue = [];
16189
- this.localQueue = void 0;
 
 
16190
 
16191
- this.getValues = function () {
16192
- return _this.interpolations;
16193
- };
 
16194
 
16195
- this.id = G++;
16196
- }
16197
- /** update(props)
16198
- * This function filters input props and creates an array of tasks which are executed in .start()
16199
- * Each task is allowed to carry a delay, which means it can execute asnychroneously */
16200
 
 
16201
 
16202
- var _proto = Controller.prototype;
 
 
16203
 
16204
- _proto.update = function update$$1(args) {
16205
- //this._id = n + this.id
16206
- if (!args) return this; // Extract delay and the to-prop from props
 
 
 
 
16207
 
16208
- var _ref = interpolateTo(args),
16209
- _ref$delay = _ref.delay,
16210
- delay = _ref$delay === void 0 ? 0 : _ref$delay,
16211
- to = _ref.to,
16212
- props = _objectWithoutPropertiesLoose(_ref, ["delay", "to"]);
16213
 
16214
- if (is.arr(to) || is.fun(to)) {
16215
- // If config is either a function or an array queue it up as is
16216
- this.queue.push(_extends({}, props, {
16217
- delay: delay,
16218
- to: to
16219
- }));
16220
- } else if (to) {
16221
- // Otherwise go through each key since it could be delayed individually
16222
- var ops = {};
16223
- Object.entries(to).forEach(function (_ref2) {
16224
- var _to;
16225
 
16226
- var k = _ref2[0],
16227
- v = _ref2[1];
 
16228
 
16229
- // Fetch delay and create an entry, consisting of the to-props, the delay, and basic props
16230
- var entry = _extends({
16231
- to: (_to = {}, _to[k] = v, _to),
16232
- delay: callProp(delay, k)
16233
- }, props);
16234
 
16235
- var previous = ops[entry.delay] && ops[entry.delay].to;
16236
- ops[entry.delay] = _extends({}, ops[entry.delay], entry, {
16237
- to: _extends({}, previous, entry.to)
16238
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16239
  });
16240
- this.queue = Object.values(ops);
16241
- } // Sort queue, so that async calls go last
16242
 
 
 
 
 
 
 
 
16243
 
16244
- this.queue = this.queue.sort(function (a, b) {
16245
- return a.delay - b.delay;
16246
- }); // Diff the reduced props immediately (they'll contain the from-prop and some config)
 
 
 
 
 
 
 
 
 
 
 
16247
 
16248
- this.diff(props);
16249
- return this;
16250
- }
16251
- /** start(onEnd)
16252
- * This function either executes a queue, if present, or starts the frameloop, which animates */
16253
- ;
16254
 
16255
- _proto.start = function start$$1(onEnd) {
16256
- var _this2 = this;
16257
 
16258
- // If a queue is present we must excecute it
16259
- if (this.queue.length) {
16260
- this.idle = false; // Updates can interrupt trailing queues, in that case we just merge values
16261
 
16262
- if (this.localQueue) {
16263
- this.localQueue.forEach(function (_ref3) {
16264
- var _ref3$from = _ref3.from,
16265
- from = _ref3$from === void 0 ? {} : _ref3$from,
16266
- _ref3$to = _ref3.to,
16267
- to = _ref3$to === void 0 ? {} : _ref3$to;
16268
- if (is.obj(from)) _this2.merged = _extends({}, from, _this2.merged);
16269
- if (is.obj(to)) _this2.merged = _extends({}, _this2.merged, to);
16270
- });
16271
- } // The guid helps us tracking frames, a new queue over an old one means an override
16272
- // We discard async calls in that caseÍ
16273
 
 
 
 
16274
 
16275
- var local = this.local = ++this.guid;
16276
- var queue = this.localQueue = this.queue;
16277
- this.queue = []; // Go through each entry and execute it
16278
 
16279
- queue.forEach(function (_ref4, index) {
16280
- var delay = _ref4.delay,
16281
- props = _objectWithoutPropertiesLoose(_ref4, ["delay"]);
 
 
 
 
 
 
 
16282
 
16283
- var cb = function cb(finished) {
16284
- if (index === queue.length - 1 && local === _this2.guid && finished) {
16285
- _this2.idle = true;
16286
- if (_this2.props.onRest) _this2.props.onRest(_this2.merged);
16287
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16288
 
16289
- if (onEnd) onEnd();
16290
- }; // Entries can be delayed, ansyc or immediate
16291
 
 
 
 
 
16292
 
16293
- var async = is.arr(props.to) || is.fun(props.to);
 
 
 
 
 
16294
 
16295
- if (delay) {
16296
- setTimeout(function () {
16297
- if (local === _this2.guid) {
16298
- if (async) _this2.runAsync(props, cb);else _this2.diff(props).start(cb);
 
 
 
 
 
 
 
 
 
16299
  }
16300
- }, delay);
16301
- } else if (async) _this2.runAsync(props, cb);else _this2.diff(props).start(cb);
16302
- });
16303
- } // Otherwise we kick of the frameloop
16304
- else {
16305
- if (is.fun(onEnd)) this.listeners.push(onEnd);
16306
- if (this.props.onStart) this.props.onStart();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16307
 
16308
- start(this);
16309
- }
 
 
 
 
 
 
 
 
 
 
 
 
16310
 
16311
- return this;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16312
  };
 
 
 
 
 
 
16313
 
16314
- _proto.stop = function stop$$1(finished) {
16315
- this.listeners.forEach(function (onEnd) {
16316
- return onEnd(finished);
16317
- });
16318
- this.listeners = [];
16319
- return this;
16320
- }
16321
- /** Pause sets onEnd listeners free, but also removes the controller from the frameloop */
16322
- ;
16323
 
16324
- _proto.pause = function pause(finished) {
16325
- this.stop(true);
16326
- if (finished) stop(this);
16327
- return this;
16328
- };
 
 
 
 
16329
 
16330
- _proto.runAsync = function runAsync(_ref5, onEnd) {
16331
- var _this3 = this;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16332
 
16333
- var delay = _ref5.delay,
16334
- props = _objectWithoutPropertiesLoose(_ref5, ["delay"]);
 
 
 
 
 
 
 
16335
 
16336
- var local = this.local; // If "to" is either a function or an array it will be processed async, therefor "to" should be empty right now
16337
- // If the view relies on certain values "from" has to be present
 
 
 
 
 
16338
 
16339
- var queue = Promise.resolve(undefined);
 
 
 
16340
 
16341
- if (is.arr(props.to)) {
16342
- var _loop = function _loop(i) {
16343
- var index = i;
 
 
 
 
 
 
 
16344
 
16345
- var fresh = _extends({}, props, interpolateTo(props.to[index]));
 
 
16346
 
16347
- if (is.arr(fresh.config)) fresh.config = fresh.config[index];
16348
- queue = queue.then(function () {
16349
- //this.stop()
16350
- if (local === _this3.guid) return new Promise(function (r) {
16351
- return _this3.diff(fresh).start(r);
16352
- });
16353
- });
16354
- };
16355
 
16356
- for (var i = 0; i < props.to.length; i++) {
16357
- _loop(i);
16358
- }
16359
- } else if (is.fun(props.to)) {
16360
- var index = 0;
16361
- var last;
16362
- queue = queue.then(function () {
16363
- return props.to( // next(props)
16364
- function (p) {
16365
- var fresh = _extends({}, props, interpolateTo(p));
16366
 
16367
- if (is.arr(fresh.config)) fresh.config = fresh.config[index];
16368
- index++; //this.stop()
16369
 
16370
- if (local === _this3.guid) return last = new Promise(function (r) {
16371
- return _this3.diff(fresh).start(r);
16372
- });
16373
- return;
16374
- }, // cancel()
16375
- function (finished) {
16376
- if (finished === void 0) {
16377
- finished = true;
16378
- }
16379
 
16380
- return _this3.stop(finished);
16381
- }).then(function () {
16382
- return last;
16383
- });
16384
- });
16385
- }
 
 
 
 
 
16386
 
16387
- queue.then(onEnd);
16388
- };
16389
 
16390
- _proto.diff = function diff(props) {
16391
- var _this4 = this;
16392
 
16393
- this.props = _extends({}, this.props, props);
16394
- var _this$props = this.props,
16395
- _this$props$from = _this$props.from,
16396
- from = _this$props$from === void 0 ? {} : _this$props$from,
16397
- _this$props$to = _this$props.to,
16398
- to = _this$props$to === void 0 ? {} : _this$props$to,
16399
- _this$props$config = _this$props.config,
16400
- config = _this$props$config === void 0 ? {} : _this$props$config,
16401
- reverse = _this$props.reverse,
16402
- attach = _this$props.attach,
16403
- reset = _this$props.reset,
16404
- immediate = _this$props.immediate; // Reverse values when requested
16405
 
16406
- if (reverse) {
16407
- var _ref6 = [to, from];
16408
- from = _ref6[0];
16409
- to = _ref6[1];
16410
- } // This will collect all props that were ever set, reset merged props when necessary
16411
 
 
16412
 
16413
- this.merged = _extends({}, from, this.merged, to);
16414
- this.hasChanged = false; // Attachment handling, trailed springs can "attach" themselves to a previous spring
16415
 
16416
- var target = attach && attach(this); // Reduces input { name: value } pairs into animated values
16417
 
16418
- this.animations = Object.entries(this.merged).reduce(function (acc, _ref7) {
16419
- var name = _ref7[0],
16420
- value = _ref7[1];
16421
- // Issue cached entries, except on reset
16422
- var entry = acc[name] || {}; // Figure out what the value is supposed to be
16423
 
16424
- var isNumber = is.num(value);
16425
- var isString = is.str(value) && !value.startsWith('#') && !/\d/.test(value) && !colorNames[value];
16426
- var isArray = is.arr(value);
16427
- var isInterpolation = !isNumber && !isArray && !isString;
16428
- var fromValue = !is.und(from[name]) ? from[name] : value;
16429
- var toValue = isNumber || isArray ? value : isString ? value : 1;
16430
- var toConfig = callProp(config, name);
16431
- if (target) toValue = target.animations[name].parent;
16432
- var parent = entry.parent,
16433
- interpolation$$1 = entry.interpolation,
16434
- toValues = toArray(target ? toValue.getPayload() : toValue),
16435
- animatedValues;
16436
- var newValue = value;
16437
- if (isInterpolation) newValue = interpolation({
16438
- range: [0, 1],
16439
- output: [value, value]
16440
- })(1);
16441
- var currentValue = interpolation$$1 && interpolation$$1.getValue(); // Change detection flags
16442
 
16443
- var isFirst = is.und(parent);
16444
- var isActive = !isFirst && entry.animatedValues.some(function (v) {
16445
- return !v.done;
16446
- });
16447
- var currentValueDiffersFromGoal = !is.equ(newValue, currentValue);
16448
- var hasNewGoal = !is.equ(newValue, entry.previous);
16449
- var hasNewConfig = !is.equ(toConfig, entry.config); // Change animation props when props indicate a new goal (new value differs from previous one)
16450
- // and current values differ from it. Config changes trigger a new update as well (though probably shouldn't?)
 
 
 
16451
 
16452
- if (reset || hasNewGoal && currentValueDiffersFromGoal || hasNewConfig) {
16453
- var _extends2;
16454
 
16455
- // Convert regular values into animated values, ALWAYS re-use if possible
16456
- if (isNumber || isString) parent = interpolation$$1 = entry.parent || new AnimatedValue(fromValue);else if (isArray) parent = interpolation$$1 = entry.parent || new AnimatedValueArray(fromValue);else if (isInterpolation) {
16457
- var prev = entry.interpolation && entry.interpolation.calc(entry.parent.value);
16458
- prev = prev !== void 0 && !reset ? prev : fromValue;
16459
 
16460
- if (entry.parent) {
16461
- parent = entry.parent;
16462
- parent.setValue(0, false);
16463
- } else parent = new AnimatedValue(0);
16464
 
16465
- var range = {
16466
- output: [prev, value]
16467
- };
16468
 
16469
- if (entry.interpolation) {
16470
- interpolation$$1 = entry.interpolation;
16471
- entry.interpolation.updateConfig(range);
16472
- } else interpolation$$1 = parent.interpolate(range);
16473
- }
16474
- toValues = toArray(target ? toValue.getPayload() : toValue);
16475
- animatedValues = toArray(parent.getPayload());
16476
- if (reset && !isInterpolation) parent.setValue(fromValue, false);
16477
- _this4.hasChanged = true; // Reset animated values
16478
 
16479
- animatedValues.forEach(function (value) {
16480
- value.startPosition = value.value;
16481
- value.lastPosition = value.value;
16482
- value.lastVelocity = isActive ? value.lastVelocity : undefined;
16483
- value.lastTime = isActive ? value.lastTime : undefined;
16484
- value.startTime = now();
16485
- value.done = false;
16486
- value.animatedStyles.clear();
16487
- }); // Set immediate values
16488
 
16489
- if (callProp(immediate, name)) {
16490
- parent.setValue(isInterpolation ? toValue : value, false);
16491
- }
16492
 
16493
- return _extends({}, acc, (_extends2 = {}, _extends2[name] = _extends({}, entry, {
16494
- name: name,
16495
- parent: parent,
16496
- interpolation: interpolation$$1,
16497
- animatedValues: animatedValues,
16498
- toValues: toValues,
16499
- previous: newValue,
16500
- config: toConfig,
16501
- fromValues: toArray(parent.getValue()),
16502
- immediate: callProp(immediate, name),
16503
- initialVelocity: withDefault(toConfig.velocity, 0),
16504
- clamp: withDefault(toConfig.clamp, false),
16505
- precision: withDefault(toConfig.precision, 0.01),
16506
- tension: withDefault(toConfig.tension, 170),
16507
- friction: withDefault(toConfig.friction, 26),
16508
- mass: withDefault(toConfig.mass, 1),
16509
- duration: toConfig.duration,
16510
- easing: withDefault(toConfig.easing, function (t) {
16511
- return t;
16512
- }),
16513
- decay: toConfig.decay
16514
- }), _extends2));
16515
- } else {
16516
- if (!currentValueDiffersFromGoal) {
16517
- var _extends3;
16518
 
16519
- // So ... the current target value (newValue) appears to be different from the previous value,
16520
- // which normally constitutes an update, but the actual value (currentValue) matches the target!
16521
- // In order to resolve this without causing an animation update we silently flag the animation as done,
16522
- // which it technically is. Interpolations also needs a config update with their target set to 1.
16523
- if (isInterpolation) {
16524
- parent.setValue(1, false);
16525
- interpolation$$1.updateConfig({
16526
- output: [newValue, newValue]
16527
- });
16528
- }
16529
 
16530
- parent.done = true;
16531
- _this4.hasChanged = true;
16532
- return _extends({}, acc, (_extends3 = {}, _extends3[name] = _extends({}, acc[name], {
16533
- previous: newValue
16534
- }), _extends3));
16535
- }
16536
 
16537
- return acc;
16538
- }
16539
- }, this.animations);
16540
 
16541
- if (this.hasChanged) {
16542
- // Make animations available to frameloop
16543
- this.configs = Object.values(this.animations);
16544
- this.values = {};
16545
- this.interpolations = {};
16546
 
16547
- for (var key in this.animations) {
16548
- this.interpolations[key] = this.animations[key].interpolation;
16549
- this.values[key] = this.animations[key].interpolation.getValue();
16550
- }
 
 
 
 
16551
  }
16552
 
16553
- return this;
16554
- };
16555
 
16556
- _proto.destroy = function destroy() {
16557
- this.stop();
16558
- this.props = {};
16559
- this.merged = {};
16560
- this.animations = {};
16561
- this.interpolations = {};
16562
- this.values = {};
16563
- this.configs = [];
16564
- this.local = 0;
16565
- };
16566
 
16567
- return Controller;
16568
- }();
16569
 
16570
- /** API
16571
- * const props = useSprings(number, [{ ... }, { ... }, ...])
16572
- * const [props, set] = useSprings(number, (i, controller) => ({ ... }))
16573
- */
 
16574
 
16575
- var useSprings = function useSprings(length, props) {
16576
- var mounted = React.useRef(false);
16577
- var ctrl = React.useRef();
16578
- var isFn = is.fun(props); // The controller maintains the animation values, starts and stops animations
16579
 
16580
- var _useMemo = React.useMemo(function () {
16581
- // Remove old controllers
16582
- if (ctrl.current) {
16583
- ctrl.current.map(function (c) {
16584
- return c.destroy();
16585
- });
16586
- ctrl.current = undefined;
16587
  }
16588
 
16589
- var ref;
16590
- return [new Array(length).fill().map(function (_, i) {
16591
- var ctrl = new Controller();
16592
- var newProps = isFn ? callProp(props, i, ctrl) : props[i];
16593
- if (i === 0) ref = newProps.ref;
16594
- ctrl.update(newProps);
16595
- if (!ref) ctrl.start();
16596
- return ctrl;
16597
- }), ref];
16598
- }, [length]),
16599
- controllers = _useMemo[0],
16600
- ref = _useMemo[1];
16601
 
16602
- ctrl.current = controllers; // The hooks reference api gets defined here ...
 
 
 
 
16603
 
16604
- var api = React.useImperativeHandle(ref, function () {
16605
- return {
16606
- start: function start() {
16607
- return Promise.all(ctrl.current.map(function (c) {
16608
- return new Promise(function (r) {
16609
- return c.start(r);
16610
- });
16611
- }));
16612
- },
16613
- stop: function stop(finished) {
16614
- return ctrl.current.forEach(function (c) {
16615
- return c.stop(finished);
16616
- });
16617
- },
16618
 
16619
- get controllers() {
16620
- return ctrl.current;
16621
- }
16622
 
16623
- };
16624
- }); // This function updates the controllers
 
16625
 
16626
- var updateCtrl = React.useMemo(function () {
16627
- return function (updateProps) {
16628
- return ctrl.current.map(function (c, i) {
16629
- c.update(isFn ? callProp(updateProps, i, c) : updateProps[i]);
16630
- if (!ref) c.start();
16631
- });
16632
- };
16633
- }, [length]); // Update controller if props aren't functional
16634
 
16635
- React.useEffect(function () {
16636
- if (mounted.current) {
16637
- if (!isFn) updateCtrl(props);
16638
- } else if (!ref) ctrl.current.forEach(function (c) {
16639
- return c.start();
16640
- });
16641
- }); // Update mounted flag and destroy controller on unmount
 
 
 
 
 
 
 
 
16642
 
16643
- React.useEffect(function () {
16644
- return mounted.current = true, function () {
16645
- return ctrl.current.forEach(function (c) {
16646
- return c.destroy();
16647
- });
16648
- };
16649
- }, []); // Return animated props, or, anim-props + the update-setter above
16650
 
16651
- var propValues = ctrl.current.map(function (c) {
16652
- return c.getValues();
16653
- });
16654
- return isFn ? [propValues, updateCtrl, function (finished) {
16655
- return ctrl.current.forEach(function (c) {
16656
- return c.pause(finished);
16657
- });
16658
- }] : propValues;
16659
  };
16660
 
16661
- /** API
16662
- * const props = useSpring({ ... })
16663
- * const [props, set] = useSpring(() => ({ ... }))
16664
- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16665
 
16666
- var useSpring = function useSpring(props) {
16667
- var isFn = is.fun(props);
 
 
16668
 
16669
- var _useSprings = useSprings(1, isFn ? props : [props]),
16670
- result = _useSprings[0],
16671
- set = _useSprings[1],
16672
- pause = _useSprings[2];
16673
 
16674
- return isFn ? [result[0], set, pause] : result;
16675
- };
 
 
16676
 
16677
- /** API
16678
- * const trails = useTrail(number, { ... })
16679
- * const [trails, set] = useTrail(number, () => ({ ... }))
16680
- */
 
 
 
16681
 
16682
- var useTrail = function useTrail(length, props) {
16683
- var mounted = React.useRef(false);
16684
- var isFn = is.fun(props);
16685
- var updateProps = callProp(props);
16686
- var instances = React.useRef();
16687
 
16688
- var _useSprings = useSprings(length, function (i, ctrl) {
16689
- if (i === 0) instances.current = [];
16690
- instances.current.push(ctrl);
16691
- return _extends({}, updateProps, {
16692
- config: callProp(updateProps.config, i),
16693
- attach: i > 0 && function () {
16694
- return instances.current[i - 1];
16695
- }
16696
- });
16697
- }),
16698
- result = _useSprings[0],
16699
- set = _useSprings[1],
16700
- pause = _useSprings[2]; // Set up function to update controller
16701
 
 
 
 
16702
 
16703
- var updateCtrl = React.useMemo(function () {
16704
- return function (props) {
16705
- return set(function (i, ctrl) {
16706
- var last = props.reverse ? i === 0 : length - 1 === i;
16707
- var attachIdx = props.reverse ? i + 1 : i - 1;
16708
- var attachController = instances.current[attachIdx];
16709
- return _extends({}, props, {
16710
- config: callProp(props.config || updateProps.config, i),
16711
- attach: attachController && function () {
16712
- return attachController;
16713
- }
16714
- });
16715
- });
16716
- };
16717
- }, [length, updateProps.reverse]); // Update controller if props aren't functional
16718
 
16719
- React.useEffect(function () {
16720
- return void (mounted.current && !isFn && updateCtrl(props));
16721
- }); // Update mounted flag and destroy controller on unmount
16722
 
16723
- React.useEffect(function () {
16724
- return void (mounted.current = true);
16725
- }, []);
16726
- return isFn ? [result, updateCtrl, pause] : result;
16727
  };
16728
 
16729
- /** API
16730
- * const transitions = useTransition(items, itemKeys, { ... })
16731
- * const [transitions, update] = useTransition(items, itemKeys, () => ({ ... }))
16732
- */
16733
 
16734
- var guid = 0;
16735
- var ENTER = 'enter';
16736
- var LEAVE = 'leave';
16737
- var UPDATE = 'update';
16738
 
16739
- var mapKeys = function mapKeys(items, keys) {
16740
- return (typeof keys === 'function' ? items.map(keys) : toArray(keys)).map(String);
16741
  };
16742
 
16743
- var get = function get(props) {
16744
- var items = props.items,
16745
- _props$keys = props.keys,
16746
- keys = _props$keys === void 0 ? function (item) {
16747
- return item;
16748
- } : _props$keys,
16749
- rest = _objectWithoutPropertiesLoose(props, ["items", "keys"]);
16750
-
16751
- items = toArray(items !== void 0 ? items : null);
16752
- return _extends({
16753
- items: items,
16754
- keys: mapKeys(items, keys)
16755
- }, rest);
16756
  };
16757
 
16758
- function useTransition(input, keyTransform, config) {
16759
- var props = _extends({
16760
- items: input,
16761
- keys: keyTransform || function (i) {
16762
- return i;
 
 
16763
  }
16764
- }, config);
16765
-
16766
- var _get = get(props),
16767
- _get$lazy = _get.lazy,
16768
- lazy = _get$lazy === void 0 ? false : _get$lazy,
16769
- _get$unique = _get.unique,
16770
- _get$reset = _get.reset,
16771
- reset = _get$reset === void 0 ? false : _get$reset,
16772
- enter = _get.enter,
16773
- leave = _get.leave,
16774
- update = _get.update,
16775
- onDestroyed = _get.onDestroyed,
16776
- keys = _get.keys,
16777
- items = _get.items,
16778
- onFrame = _get.onFrame,
16779
- _onRest = _get.onRest,
16780
- onStart = _get.onStart,
16781
- ref = _get.ref,
16782
- extra = _objectWithoutPropertiesLoose(_get, ["lazy", "unique", "reset", "enter", "leave", "update", "onDestroyed", "keys", "items", "onFrame", "onRest", "onStart", "ref"]);
16783
-
16784
- var forceUpdate = useForceUpdate();
16785
- var mounted = React.useRef(false);
16786
- var state = React.useRef({
16787
- mounted: false,
16788
- first: true,
16789
- deleted: [],
16790
- current: {},
16791
- transitions: [],
16792
- prevProps: {},
16793
- paused: !!props.ref,
16794
- instances: !mounted.current && new Map(),
16795
- forceUpdate: forceUpdate
16796
- });
16797
- React.useImperativeHandle(props.ref, function () {
16798
- return {
16799
- start: function start() {
16800
- return Promise.all(Array.from(state.current.instances).map(function (_ref) {
16801
- var c = _ref[1];
16802
- return new Promise(function (r) {
16803
- return c.start(r);
16804
- });
16805
- }));
16806
- },
16807
- stop: function stop(finished) {
16808
- return Array.from(state.current.instances).forEach(function (_ref2) {
16809
- var c = _ref2[1];
16810
- return c.stop(finished);
16811
- });
16812
- },
16813
 
16814
- get controllers() {
16815
- return Array.from(state.current.instances).map(function (_ref3) {
16816
- var c = _ref3[1];
16817
- return c;
16818
- });
16819
- }
 
 
 
 
 
 
16820
 
16821
- };
16822
- }); // Update state
16823
 
16824
- state.current = diffItems(state.current, props);
16825
 
16826
- if (state.current.changed) {
16827
- // Update state
16828
- state.current.transitions.forEach(function (transition) {
16829
- var slot = transition.slot,
16830
- from = transition.from,
16831
- to = transition.to,
16832
- config = transition.config,
16833
- trail = transition.trail,
16834
- key = transition.key,
16835
- item = transition.item;
16836
- if (!state.current.instances.has(key)) state.current.instances.set(key, new Controller()); // update the map object
16837
 
16838
- var ctrl = state.current.instances.get(key);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16839
 
16840
- var newProps = _extends({}, extra, {
16841
- to: to,
16842
- from: from,
16843
- config: config,
16844
- ref: ref,
16845
- onRest: function onRest(values) {
16846
- if (state.current.mounted) {
16847
- if (transition.destroyed) {
16848
- // If no ref is given delete destroyed items immediately
16849
- if (!ref && !lazy) cleanUp(state, key);
16850
- if (onDestroyed) onDestroyed(item);
16851
- } // A transition comes to rest once all its springs conclude
 
 
 
 
 
 
 
 
 
 
16852
 
16853
 
16854
- var curInstances = Array.from(state.current.instances);
16855
- var active = curInstances.some(function (_ref4) {
16856
- var c = _ref4[1];
16857
- return !c.idle;
16858
- });
16859
- if (!active && (ref || lazy) && state.current.deleted.length > 0) cleanUp(state);
16860
- if (_onRest) _onRest(item, slot, values);
16861
- }
16862
- },
16863
- onStart: onStart && function () {
16864
- return onStart(item, slot);
16865
- },
16866
- onFrame: onFrame && function (values) {
16867
- return onFrame(item, slot, values);
16868
- },
16869
- delay: trail,
16870
- reset: reset && slot === ENTER // Update controller
16871
 
16872
- });
16873
 
16874
- ctrl.update(newProps);
16875
- if (!state.current.paused) ctrl.start();
16876
- });
16877
- }
16878
 
16879
- React.useEffect(function () {
16880
- state.current.mounted = mounted.current = true;
16881
- return function () {
16882
- state.current.mounted = mounted.current = false;
16883
- Array.from(state.current.instances).map(function (_ref5) {
16884
- var c = _ref5[1];
16885
- return c.destroy();
16886
- });
16887
- state.current.instances.clear();
16888
- };
16889
- }, []);
16890
- return state.current.transitions.map(function (_ref6) {
16891
- var item = _ref6.item,
16892
- slot = _ref6.slot,
16893
- key = _ref6.key;
16894
- return {
16895
- item: item,
16896
- key: key,
16897
- state: slot,
16898
- props: state.current.instances.get(key).getValues()
16899
- };
16900
- });
16901
- }
16902
 
16903
- function cleanUp(state, filterKey) {
16904
- var deleted = state.current.deleted;
 
 
16905
 
16906
- var _loop = function _loop() {
16907
- if (_isArray) {
16908
- if (_i >= _iterator.length) return "break";
16909
- _ref8 = _iterator[_i++];
16910
- } else {
16911
- _i = _iterator.next();
16912
- if (_i.done) return "break";
16913
- _ref8 = _i.value;
16914
  }
 
16915
 
16916
- var _ref7 = _ref8;
16917
- var key = _ref7.key;
16918
 
16919
- var filter = function filter(t) {
16920
- return t.key !== key;
16921
- };
16922
 
16923
- if (is.und(filterKey) || filterKey === key) {
16924
- state.current.instances.delete(key);
16925
- state.current.transitions = state.current.transitions.filter(filter);
16926
- state.current.deleted = state.current.deleted.filter(filter);
 
 
 
 
 
16927
  }
16928
- };
 
 
 
 
16929
 
16930
- for (var _iterator = deleted, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
16931
- var _ref8;
16932
 
16933
- var _ret = _loop();
16934
 
16935
- if (_ret === "break") break;
16936
- }
16937
 
16938
- state.current.forceUpdate();
16939
- }
16940
 
16941
- function diffItems(_ref9, props) {
16942
- var first = _ref9.first,
16943
- prevProps = _ref9.prevProps,
16944
- state = _objectWithoutPropertiesLoose(_ref9, ["first", "prevProps"]);
16945
 
16946
- var _get2 = get(props),
16947
- items = _get2.items,
16948
- keys = _get2.keys,
16949
- initial = _get2.initial,
16950
- from = _get2.from,
16951
- enter = _get2.enter,
16952
- leave = _get2.leave,
16953
- update = _get2.update,
16954
- _get2$trail = _get2.trail,
16955
- trail = _get2$trail === void 0 ? 0 : _get2$trail,
16956
- unique = _get2.unique,
16957
- config = _get2.config,
16958
- _get2$order = _get2.order,
16959
- order = _get2$order === void 0 ? [ENTER, LEAVE, UPDATE] : _get2$order;
16960
 
16961
- var _get3 = get(prevProps),
16962
- _keys = _get3.keys,
16963
- _items = _get3.items;
16964
 
16965
- var current = _extends({}, state.current);
16966
 
16967
- var deleted = [].concat(state.deleted); // Compare next keys with current keys
 
16968
 
16969
- var currentKeys = Object.keys(current);
16970
- var currentSet = new Set(currentKeys);
16971
- var nextSet = new Set(keys);
16972
- var added = keys.filter(function (item) {
16973
- return !currentSet.has(item);
16974
- });
16975
- var removed = state.transitions.filter(function (item) {
16976
- return !item.destroyed && !nextSet.has(item.originalKey);
16977
- }).map(function (i) {
16978
- return i.originalKey;
16979
- });
16980
- var updated = keys.filter(function (item) {
16981
- return currentSet.has(item);
16982
- });
16983
- var delay = -trail;
16984
 
16985
- while (order.length) {
16986
- var changeType = order.shift();
16987
 
16988
- switch (changeType) {
16989
- case ENTER:
16990
- {
16991
- added.forEach(function (key, index) {
16992
- // In unique mode, remove fading out transitions if their key comes in again
16993
- if (unique && deleted.find(function (d) {
16994
- return d.originalKey === key;
16995
- })) deleted = deleted.filter(function (t) {
16996
- return t.originalKey !== key;
16997
- });
16998
- var keyIndex = keys.indexOf(key);
16999
- var item = items[keyIndex];
17000
- var slot = first && initial !== void 0 ? 'initial' : ENTER;
17001
- current[key] = {
17002
- slot: slot,
17003
- originalKey: key,
17004
- key: unique ? String(key) : guid++,
17005
- item: item,
17006
- trail: delay = delay + trail,
17007
- config: callProp(config, item, slot),
17008
- from: callProp(first ? initial !== void 0 ? initial || {} : from : from, item),
17009
- to: callProp(enter, item)
17010
- };
17011
- });
17012
- break;
17013
- }
17014
 
17015
- case LEAVE:
17016
- {
17017
- removed.forEach(function (key) {
17018
- var keyIndex = _keys.indexOf(key);
17019
 
17020
- var item = _items[keyIndex];
17021
- var slot = LEAVE;
17022
- deleted.unshift(_extends({}, current[key], {
17023
- slot: slot,
17024
- destroyed: true,
17025
- left: _keys[Math.max(0, keyIndex - 1)],
17026
- right: _keys[Math.min(_keys.length, keyIndex + 1)],
17027
- trail: delay = delay + trail,
17028
- config: callProp(config, item, slot),
17029
- to: callProp(leave, item)
17030
- }));
17031
- delete current[key];
17032
- });
17033
- break;
17034
- }
17035
 
17036
- case UPDATE:
17037
- {
17038
- updated.forEach(function (key) {
17039
- var keyIndex = keys.indexOf(key);
17040
- var item = items[keyIndex];
17041
- var slot = UPDATE;
17042
- current[key] = _extends({}, current[key], {
17043
- item: item,
17044
- slot: slot,
17045
- trail: delay = delay + trail,
17046
- config: callProp(config, item, slot),
17047
- to: callProp(update, item)
17048
- });
17049
- });
17050
- break;
17051
- }
17052
- }
17053
- }
17054
 
17055
- var out = keys.map(function (key) {
17056
- return current[key];
17057
- }); // This tries to restore order for deleted items by finding their last known siblings
17058
- // only using the left sibling to keep order placement consistent for all deleted items
17059
 
17060
- deleted.forEach(function (_ref10) {
17061
- var left = _ref10.left,
17062
- right = _ref10.right,
17063
- item = _objectWithoutPropertiesLoose(_ref10, ["left", "right"]);
17064
 
17065
- var pos; // Was it the element on the left, if yes, move there ...
 
 
 
 
 
17066
 
17067
- if ((pos = out.findIndex(function (t) {
17068
- return t.originalKey === left;
17069
- })) !== -1) pos += 1; // And if nothing else helps, move it to the start ¯\_(ツ)_/¯
17070
 
17071
- pos = Math.max(0, pos);
17072
- out = [].concat(out.slice(0, pos), [item], out.slice(pos));
17073
- });
17074
- return _extends({}, state, {
17075
- changed: added.length || removed.length || updated.length,
17076
- first: first && added.length === 0,
17077
- transitions: out,
17078
- current: current,
17079
- deleted: deleted,
17080
- prevProps: props
17081
- });
17082
  }
17083
 
17084
- var AnimatedStyle =
17085
- /*#__PURE__*/
17086
- function (_AnimatedObject) {
17087
- _inheritsLoose(AnimatedStyle, _AnimatedObject);
17088
 
17089
- function AnimatedStyle(style) {
17090
- var _this;
17091
 
17092
- if (style === void 0) {
17093
- style = {};
17094
- }
17095
 
17096
- _this = _AnimatedObject.call(this) || this;
 
 
 
 
 
17097
 
17098
- if (style.transform && !(style.transform instanceof Animated)) {
17099
- style = applyAnimatedValues.transform(style);
17100
- }
17101
 
17102
- _this.payload = style;
17103
- return _this;
 
 
 
 
 
 
 
 
 
17104
  }
17105
 
17106
- return AnimatedStyle;
17107
- }(AnimatedObject);
17108
 
17109
- // http://www.w3.org/TR/css3-color/#svg-color
17110
- var colors = {
17111
- transparent: 0x00000000,
17112
- aliceblue: 0xf0f8ffff,
17113
- antiquewhite: 0xfaebd7ff,
17114
- aqua: 0x00ffffff,
17115
- aquamarine: 0x7fffd4ff,
17116
- azure: 0xf0ffffff,
17117
- beige: 0xf5f5dcff,
17118
- bisque: 0xffe4c4ff,
17119
- black: 0x000000ff,
17120
- blanchedalmond: 0xffebcdff,
17121
- blue: 0x0000ffff,
17122
- blueviolet: 0x8a2be2ff,
17123
- brown: 0xa52a2aff,
17124
- burlywood: 0xdeb887ff,
17125
- burntsienna: 0xea7e5dff,
17126
- cadetblue: 0x5f9ea0ff,
17127
- chartreuse: 0x7fff00ff,
17128
- chocolate: 0xd2691eff,
17129
- coral: 0xff7f50ff,
17130
- cornflowerblue: 0x6495edff,
17131
- cornsilk: 0xfff8dcff,
17132
- crimson: 0xdc143cff,
17133
- cyan: 0x00ffffff,
17134
- darkblue: 0x00008bff,
17135
- darkcyan: 0x008b8bff,
17136
- darkgoldenrod: 0xb8860bff,
17137
- darkgray: 0xa9a9a9ff,
17138
- darkgreen: 0x006400ff,
17139
- darkgrey: 0xa9a9a9ff,
17140
- darkkhaki: 0xbdb76bff,
17141
- darkmagenta: 0x8b008bff,
17142
- darkolivegreen: 0x556b2fff,
17143
- darkorange: 0xff8c00ff,
17144
- darkorchid: 0x9932ccff,
17145
- darkred: 0x8b0000ff,
17146
- darksalmon: 0xe9967aff,
17147
- darkseagreen: 0x8fbc8fff,
17148
- darkslateblue: 0x483d8bff,
17149
- darkslategray: 0x2f4f4fff,
17150
- darkslategrey: 0x2f4f4fff,
17151
- darkturquoise: 0x00ced1ff,
17152
- darkviolet: 0x9400d3ff,
17153
- deeppink: 0xff1493ff,
17154
- deepskyblue: 0x00bfffff,
17155
- dimgray: 0x696969ff,
17156
- dimgrey: 0x696969ff,
17157
- dodgerblue: 0x1e90ffff,
17158
- firebrick: 0xb22222ff,
17159
- floralwhite: 0xfffaf0ff,
17160
- forestgreen: 0x228b22ff,
17161
- fuchsia: 0xff00ffff,
17162
- gainsboro: 0xdcdcdcff,
17163
- ghostwhite: 0xf8f8ffff,
17164
- gold: 0xffd700ff,
17165
- goldenrod: 0xdaa520ff,
17166
- gray: 0x808080ff,
17167
- green: 0x008000ff,
17168
- greenyellow: 0xadff2fff,
17169
- grey: 0x808080ff,
17170
- honeydew: 0xf0fff0ff,
17171
- hotpink: 0xff69b4ff,
17172
- indianred: 0xcd5c5cff,
17173
- indigo: 0x4b0082ff,
17174
- ivory: 0xfffff0ff,
17175
- khaki: 0xf0e68cff,
17176
- lavender: 0xe6e6faff,
17177
- lavenderblush: 0xfff0f5ff,
17178
- lawngreen: 0x7cfc00ff,
17179
- lemonchiffon: 0xfffacdff,
17180
- lightblue: 0xadd8e6ff,
17181
- lightcoral: 0xf08080ff,
17182
- lightcyan: 0xe0ffffff,
17183
- lightgoldenrodyellow: 0xfafad2ff,
17184
- lightgray: 0xd3d3d3ff,
17185
- lightgreen: 0x90ee90ff,
17186
- lightgrey: 0xd3d3d3ff,
17187
- lightpink: 0xffb6c1ff,
17188
- lightsalmon: 0xffa07aff,
17189
- lightseagreen: 0x20b2aaff,
17190
- lightskyblue: 0x87cefaff,
17191
- lightslategray: 0x778899ff,
17192
- lightslategrey: 0x778899ff,
17193
- lightsteelblue: 0xb0c4deff,
17194
- lightyellow: 0xffffe0ff,
17195
- lime: 0x00ff00ff,
17196
- limegreen: 0x32cd32ff,
17197
- linen: 0xfaf0e6ff,
17198
- magenta: 0xff00ffff,
17199
- maroon: 0x800000ff,
17200
- mediumaquamarine: 0x66cdaaff,
17201
- mediumblue: 0x0000cdff,
17202
- mediumorchid: 0xba55d3ff,
17203
- mediumpurple: 0x9370dbff,
17204
- mediumseagreen: 0x3cb371ff,
17205
- mediumslateblue: 0x7b68eeff,
17206
- mediumspringgreen: 0x00fa9aff,
17207
- mediumturquoise: 0x48d1ccff,
17208
- mediumvioletred: 0xc71585ff,
17209
- midnightblue: 0x191970ff,
17210
- mintcream: 0xf5fffaff,
17211
- mistyrose: 0xffe4e1ff,
17212
- moccasin: 0xffe4b5ff,
17213
- navajowhite: 0xffdeadff,
17214
- navy: 0x000080ff,
17215
- oldlace: 0xfdf5e6ff,
17216
- olive: 0x808000ff,
17217
- olivedrab: 0x6b8e23ff,
17218
- orange: 0xffa500ff,
17219
- orangered: 0xff4500ff,
17220
- orchid: 0xda70d6ff,
17221
- palegoldenrod: 0xeee8aaff,
17222
- palegreen: 0x98fb98ff,
17223
- paleturquoise: 0xafeeeeff,
17224
- palevioletred: 0xdb7093ff,
17225
- papayawhip: 0xffefd5ff,
17226
- peachpuff: 0xffdab9ff,
17227
- peru: 0xcd853fff,
17228
- pink: 0xffc0cbff,
17229
- plum: 0xdda0ddff,
17230
- powderblue: 0xb0e0e6ff,
17231
- purple: 0x800080ff,
17232
- rebeccapurple: 0x663399ff,
17233
- red: 0xff0000ff,
17234
- rosybrown: 0xbc8f8fff,
17235
- royalblue: 0x4169e1ff,
17236
- saddlebrown: 0x8b4513ff,
17237
- salmon: 0xfa8072ff,
17238
- sandybrown: 0xf4a460ff,
17239
- seagreen: 0x2e8b57ff,
17240
- seashell: 0xfff5eeff,
17241
- sienna: 0xa0522dff,
17242
- silver: 0xc0c0c0ff,
17243
- skyblue: 0x87ceebff,
17244
- slateblue: 0x6a5acdff,
17245
- slategray: 0x708090ff,
17246
- slategrey: 0x708090ff,
17247
- snow: 0xfffafaff,
17248
- springgreen: 0x00ff7fff,
17249
- steelblue: 0x4682b4ff,
17250
- tan: 0xd2b48cff,
17251
- teal: 0x008080ff,
17252
- thistle: 0xd8bfd8ff,
17253
- tomato: 0xff6347ff,
17254
- turquoise: 0x40e0d0ff,
17255
- violet: 0xee82eeff,
17256
- wheat: 0xf5deb3ff,
17257
- white: 0xffffffff,
17258
- whitesmoke: 0xf5f5f5ff,
17259
- yellow: 0xffff00ff,
17260
- yellowgreen: 0x9acd32ff
17261
- };
17262
 
17263
- // const INTEGER = '[-+]?\\d+';
17264
- var NUMBER = '[-+]?\\d*\\.?\\d+';
17265
- var PERCENTAGE = NUMBER + '%';
17266
 
17267
- function call() {
17268
- for (var _len = arguments.length, parts = new Array(_len), _key = 0; _key < _len; _key++) {
17269
- parts[_key] = arguments[_key];
17270
- }
17271
 
17272
- return '\\(\\s*(' + parts.join(')\\s*,\\s*(') + ')\\s*\\)';
 
17273
  }
17274
 
17275
- var rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));
17276
- var rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));
17277
- var hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));
17278
- var hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));
17279
- var hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
17280
- var hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
17281
- var hex6 = /^#([0-9a-fA-F]{6})$/;
17282
- var hex8 = /^#([0-9a-fA-F]{8})$/;
17283
 
17284
- /*
17285
- https://github.com/react-community/normalize-css-color
17286
 
17287
- BSD 3-Clause License
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17288
 
17289
- Copyright (c) 2016, React Community
17290
- All rights reserved.
 
 
 
17291
 
17292
- Redistribution and use in source and binary forms, with or without
17293
- modification, are permitted provided that the following conditions are met:
 
17294
 
17295
- * Redistributions of source code must retain the above copyright notice, this
17296
- list of conditions and the following disclaimer.
 
17297
 
17298
- * Redistributions in binary form must reproduce the above copyright notice,
17299
- this list of conditions and the following disclaimer in the documentation
17300
- and/or other materials provided with the distribution.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17301
 
17302
- * Neither the name of the copyright holder nor the names of its
17303
- contributors may be used to endorse or promote products derived from
17304
- this software without specific prior written permission.
 
17305
 
17306
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17307
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17308
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17309
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
17310
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
17311
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
17312
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
17313
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
17314
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
17315
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
17316
- */
17317
- function normalizeColor(color) {
17318
- var match;
17319
 
17320
- if (typeof color === 'number') {
17321
- return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;
17322
- } // Ordered based on occurrences on Facebook codebase
 
 
 
 
17323
 
 
 
 
 
 
 
17324
 
17325
- if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;
17326
- if (colors.hasOwnProperty(color)) return colors[color];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17327
 
17328
- if (match = rgb.exec(color)) {
17329
- return (parse255(match[1]) << 24 | // r
17330
- parse255(match[2]) << 16 | // g
17331
- parse255(match[3]) << 8 | // b
17332
- 0x000000ff) >>> // a
17333
- 0;
 
 
17334
  }
17335
 
17336
- if (match = rgba.exec(color)) {
17337
- return (parse255(match[1]) << 24 | // r
17338
- parse255(match[2]) << 16 | // g
17339
- parse255(match[3]) << 8 | // b
17340
- parse1(match[4])) >>> // a
17341
- 0;
17342
- }
 
 
17343
 
17344
- if (match = hex3.exec(color)) {
17345
- return parseInt(match[1] + match[1] + // r
17346
- match[2] + match[2] + // g
17347
- match[3] + match[3] + // b
17348
- 'ff', // a
17349
- 16) >>> 0;
17350
- } // https://drafts.csswg.org/css-color-4/#hex-notation
 
 
 
17351
 
 
 
 
 
 
 
 
17352
 
17353
- if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17354
 
17355
- if (match = hex4.exec(color)) {
17356
- return parseInt(match[1] + match[1] + // r
17357
- match[2] + match[2] + // g
17358
- match[3] + match[3] + // b
17359
- match[4] + match[4], // a
17360
- 16) >>> 0;
17361
- }
 
 
 
 
 
 
17362
 
17363
- if (match = hsl.exec(color)) {
17364
- return (hslToRgb(parse360(match[1]), // h
17365
- parsePercentage(match[2]), // s
17366
- parsePercentage(match[3]) // l
17367
- ) | 0x000000ff) >>> // a
17368
- 0;
17369
- }
17370
 
17371
- if (match = hsla.exec(color)) {
17372
- return (hslToRgb(parse360(match[1]), // h
17373
- parsePercentage(match[2]), // s
17374
- parsePercentage(match[3]) // l
17375
- ) | parse1(match[4])) >>> // a
17376
- 0;
17377
- }
17378
 
17379
- return null;
17380
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17381
 
17382
- function hue2rgb(p, q, t) {
17383
- if (t < 0) t += 1;
17384
- if (t > 1) t -= 1;
17385
- if (t < 1 / 6) return p + (q - p) * 6 * t;
17386
- if (t < 1 / 2) return q;
17387
- if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
17388
- return p;
17389
- }
17390
 
17391
- function hslToRgb(h, s, l) {
17392
- var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
17393
- var p = 2 * l - q;
17394
- var r = hue2rgb(p, q, h + 1 / 3);
17395
- var g = hue2rgb(p, q, h);
17396
- var b = hue2rgb(p, q, h - 1 / 3);
17397
- return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;
17398
- }
17399
 
17400
- function parse255(str) {
17401
- var int = parseInt(str, 10);
17402
- if (int < 0) return 0;
17403
- if (int > 255) return 255;
17404
- return int;
17405
- }
17406
 
17407
- function parse360(str) {
17408
- var int = parseFloat(str);
17409
- return (int % 360 + 360) % 360 / 360;
17410
- }
17411
 
17412
- function parse1(str) {
17413
- var num = parseFloat(str);
17414
- if (num < 0) return 0;
17415
- if (num > 1) return 255;
17416
- return Math.round(num * 255);
17417
- }
17418
 
17419
- function parsePercentage(str) {
17420
- // parseFloat conveniently ignores the final %
17421
- var int = parseFloat(str);
17422
- if (int < 0) return 0;
17423
- if (int > 100) return 1;
17424
- return int / 100;
17425
- }
17426
 
17427
- function colorToRgba(input) {
17428
- var int32Color = normalizeColor(input);
17429
- if (int32Color === null) return input;
17430
- int32Color = int32Color || 0;
17431
- var r = (int32Color & 0xff000000) >>> 24;
17432
- var g = (int32Color & 0x00ff0000) >>> 16;
17433
- var b = (int32Color & 0x0000ff00) >>> 8;
17434
- var a = (int32Color & 0x000000ff) / 255;
17435
- return "rgba(" + r + ", " + g + ", " + b + ", " + a + ")";
17436
- } // Problem: https://github.com/animatedjs/animated/pull/102
17437
- // Solution: https://stackoverflow.com/questions/638565/parsing-scientific-notation-sensibly/658662
17438
 
 
 
17439
 
17440
- var stringShapeRegex = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g; // Covers rgb, rgba, hsl, hsla
17441
- // Taken from https://gist.github.com/olmokramer/82ccce673f86db7cda5e
 
 
 
 
 
 
 
17442
 
17443
- var colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi; // Covers color names (transparent, blue, etc.)
 
 
 
17444
 
17445
- var colorNamesRegex = new RegExp("(" + Object.keys(colors).join('|') + ")", 'g');
17446
- /**
17447
- * Supports string shapes by extracting numbers so new values can be computed,
17448
- * and recombines those values into new strings of the same shape. Supports
17449
- * things like:
17450
- *
17451
- * rgba(123, 42, 99, 0.36) // colors
17452
- * -45deg // values with units
17453
- * 0 2px 2px 0px rgba(0, 0, 0, 0.12) // box shadows
17454
- */
17455
 
17456
- var createStringInterpolator = function createStringInterpolator(config) {
17457
- // Replace colors with rgba
17458
- var outputRange = config.output.map(function (rangeValue) {
17459
- return rangeValue.replace(colorRegex, colorToRgba);
17460
- }).map(function (rangeValue) {
17461
- return rangeValue.replace(colorNamesRegex, colorToRgba);
17462
- });
17463
- var outputRanges = outputRange[0].match(stringShapeRegex).map(function () {
17464
- return [];
17465
- });
17466
- outputRange.forEach(function (value) {
17467
- value.match(stringShapeRegex).forEach(function (number, i) {
17468
- return outputRanges[i].push(+number);
17469
- });
17470
- });
17471
- var interpolations = outputRange[0].match(stringShapeRegex).map(function (_value, i) {
17472
- return createInterpolator(_extends({}, config, {
17473
- output: outputRanges[i]
17474
- }));
17475
- });
17476
- return function (input) {
17477
- var i = 0;
17478
- return outputRange[0] // 'rgba(0, 100, 200, 0)'
17479
- // ->
17480
- // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'
17481
- .replace(stringShapeRegex, function () {
17482
- return interpolations[i++](input);
17483
- }) // rgba requires that the r,g,b are integers.... so we want to round them, but we *dont* want to
17484
- // round the opacity (4th column).
17485
- .replace(/rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi, function (_, p1, p2, p3, p4) {
17486
- return "rgba(" + Math.round(p1) + ", " + Math.round(p2) + ", " + Math.round(p3) + ", " + p4 + ")";
17487
- });
17488
- };
17489
- };
17490
 
17491
- var isUnitlessNumber = {
17492
- animationIterationCount: true,
17493
- borderImageOutset: true,
17494
- borderImageSlice: true,
17495
- borderImageWidth: true,
17496
- boxFlex: true,
17497
- boxFlexGroup: true,
17498
- boxOrdinalGroup: true,
17499
- columnCount: true,
17500
- columns: true,
17501
- flex: true,
17502
- flexGrow: true,
17503
- flexPositive: true,
17504
- flexShrink: true,
17505
- flexNegative: true,
17506
- flexOrder: true,
17507
- gridRow: true,
17508
- gridRowEnd: true,
17509
- gridRowSpan: true,
17510
- gridRowStart: true,
17511
- gridColumn: true,
17512
- gridColumnEnd: true,
17513
- gridColumnSpan: true,
17514
- gridColumnStart: true,
17515
- fontWeight: true,
17516
- lineClamp: true,
17517
- lineHeight: true,
17518
- opacity: true,
17519
- order: true,
17520
- orphans: true,
17521
- tabSize: true,
17522
- widows: true,
17523
- zIndex: true,
17524
- zoom: true,
17525
- // SVG-related properties
17526
- fillOpacity: true,
17527
- floodOpacity: true,
17528
- stopOpacity: true,
17529
- strokeDasharray: true,
17530
- strokeDashoffset: true,
17531
- strokeMiterlimit: true,
17532
- strokeOpacity: true,
17533
- strokeWidth: true
17534
- };
17535
 
17536
- var prefixKey = function prefixKey(prefix, key) {
17537
- return prefix + key.charAt(0).toUpperCase() + key.substring(1);
17538
- };
 
17539
 
17540
- var prefixes = ['Webkit', 'Ms', 'Moz', 'O'];
17541
- isUnitlessNumber = Object.keys(isUnitlessNumber).reduce(function (acc, prop) {
17542
- prefixes.forEach(function (prefix) {
17543
- return acc[prefixKey(prefix, prop)] = acc[prop];
17544
- });
17545
- return acc;
17546
- }, isUnitlessNumber);
 
 
 
17547
 
17548
- function dangerousStyleValue(name, value, isCustomProperty) {
17549
- if (value == null || typeof value === 'boolean' || value === '') return '';
17550
- if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17551
 
17552
- return ('' + value).trim();
17553
- }
 
 
17554
 
17555
- var attributeCache = {};
17556
- injectCreateAnimatedStyle(function (style) {
17557
- return new AnimatedStyle(style);
17558
- });
17559
- injectDefaultElement('div');
17560
- injectStringInterpolator(createStringInterpolator);
17561
- injectColorNames(colors);
17562
- injectApplyAnimatedValues(function (instance, props) {
17563
- if (instance.nodeType && instance.setAttribute !== undefined) {
17564
- var style = props.style,
17565
- children = props.children,
17566
- scrollTop = props.scrollTop,
17567
- scrollLeft = props.scrollLeft,
17568
- attributes = _objectWithoutPropertiesLoose(props, ["style", "children", "scrollTop", "scrollLeft"]);
17569
 
17570
- var filter = instance.nodeName === 'filter' || instance.parentNode && instance.parentNode.nodeName === 'filter';
17571
- if (scrollTop !== void 0) instance.scrollTop = scrollTop;
17572
- if (scrollLeft !== void 0) instance.scrollLeft = scrollLeft; // Set textContent, if children is an animatable value
17573
 
17574
- if (children !== void 0) instance.textContent = children; // Set styles ...
 
 
 
 
 
17575
 
17576
- for (var styleName in style) {
17577
- if (!style.hasOwnProperty(styleName)) continue;
17578
- var isCustomProperty = styleName.indexOf('--') === 0;
17579
- var styleValue = dangerousStyleValue(styleName, style[styleName], isCustomProperty);
17580
- if (styleName === 'float') styleName = 'cssFloat';
17581
- if (isCustomProperty) instance.style.setProperty(styleName, styleValue);else instance.style[styleName] = styleValue;
17582
- } // Set attributes ...
17583
 
 
 
 
 
 
 
17584
 
17585
- for (var name in attributes) {
17586
- // Attributes are written in dash case
17587
- var dashCase = filter ? name : attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, function (n) {
17588
- return '-' + n.toLowerCase();
17589
- }));
17590
- if (typeof instance.getAttribute(dashCase) !== 'undefined') instance.setAttribute(dashCase, attributes[name]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17591
  }
17592
 
17593
- return;
17594
- } else return false;
17595
- }, function (style) {
17596
- return style;
17597
- });
17598
 
17599
- var domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG
17600
- 'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];
17601
- // Extend animated with all the available THREE elements
17602
- var apply = merge(createAnimatedComponent, false);
17603
- var extendedAnimated = apply(domElements);
17604
 
17605
- exports.apply = apply;
17606
- exports.config = config;
17607
- exports.update = update;
17608
- exports.animated = extendedAnimated;
17609
- exports.a = extendedAnimated;
17610
- exports.interpolate = interpolate$1;
17611
- exports.Globals = Globals;
17612
- exports.useSpring = useSpring;
17613
- exports.useTrail = useTrail;
17614
- exports.useTransition = useTransition;
17615
- exports.useChain = useChain;
17616
- exports.useSprings = useSprings;
17617
 
 
 
 
 
 
 
 
 
17618
 
17619
- /***/ }),
17620
- /* 316 */
17621
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
17622
 
17623
- "use strict";
17624
- /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20);
17625
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
17626
- /* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(128);
17627
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1);
17628
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);
17629
 
 
 
 
 
17630
 
 
 
17631
 
 
 
 
 
 
 
17632
 
 
 
 
 
 
 
 
 
17633
 
17634
- var MAX_SIGNED_31_BIT_INT = 1073741823;
17635
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17636
 
17637
- function getUniqueId() {
17638
- var key = '__global_unique_id__';
17639
- return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;
17640
- }
 
 
 
17641
 
17642
- function objectIs(x, y) {
17643
- if (x === y) {
17644
- return x !== 0 || 1 / x === 1 / y;
17645
- } else {
17646
- return x !== x && y !== y;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17647
  }
17648
- }
17649
 
17650
- function createEventEmitter(value) {
17651
- var handlers = [];
17652
- return {
17653
- on: function on(handler) {
17654
- handlers.push(handler);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17655
  },
17656
- off: function off(handler) {
17657
- handlers = handlers.filter(function (h) {
17658
- return h !== handler;
17659
- });
 
 
 
 
 
 
 
17660
  },
17661
- get: function get() {
17662
- return value;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17663
  },
17664
- set: function set(newValue, changedBits) {
17665
- value = newValue;
17666
- handlers.forEach(function (handler) {
17667
- return handler(value, changedBits);
17668
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17669
  }
17670
  };
17671
- }
17672
 
17673
- function onlyChild(children) {
17674
- return Array.isArray(children) ? children[0] : children;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17675
  }
17676
 
17677
- function createReactContext(defaultValue, calculateChangedBits) {
17678
- var _Provider$childContex, _Consumer$contextType;
17679
 
17680
- var contextProp = '__create-react-context-' + getUniqueId() + '__';
17681
 
17682
- var Provider = /*#__PURE__*/function (_Component) {
17683
- Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(Provider, _Component);
17684
 
17685
- function Provider() {
17686
- var _this;
17687
 
17688
- _this = _Component.apply(this, arguments) || this;
17689
- _this.emitter = createEventEmitter(_this.props.value);
17690
- return _this;
17691
- }
17692
 
17693
- var _proto = Provider.prototype;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17694
 
17695
- _proto.getChildContext = function getChildContext() {
17696
- var _ref;
17697
 
17698
- return _ref = {}, _ref[contextProp] = this.emitter, _ref;
17699
- };
17700
 
17701
- _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
17702
- if (this.props.value !== nextProps.value) {
17703
- var oldValue = this.props.value;
17704
- var newValue = nextProps.value;
17705
- var changedBits;
 
17706
 
17707
- if (objectIs(oldValue, newValue)) {
17708
- changedBits = 0;
17709
- } else {
17710
- changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;
17711
 
17712
- if (false) {}
17713
 
17714
- changedBits |= 0;
 
17715
 
17716
- if (changedBits !== 0) {
17717
- this.emitter.set(nextProps.value, changedBits);
17718
- }
17719
- }
17720
- }
17721
- };
17722
 
17723
- _proto.render = function render() {
17724
- return this.props.children;
17725
- };
17726
 
17727
- return Provider;
17728
- }(react__WEBPACK_IMPORTED_MODULE_0__["Component"]);
 
 
 
 
 
 
 
 
 
 
 
 
 
17729
 
17730
- Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object.isRequired, _Provider$childContex);
 
17731
 
17732
- var Consumer = /*#__PURE__*/function (_Component2) {
17733
- Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(Consumer, _Component2);
 
 
 
 
 
 
 
 
 
 
17734
 
17735
- function Consumer() {
17736
- var _this2;
17737
 
17738
- _this2 = _Component2.apply(this, arguments) || this;
17739
- _this2.state = {
17740
- value: _this2.getValue()
17741
- };
17742
 
17743
- _this2.onUpdate = function (newValue, changedBits) {
17744
- var observedBits = _this2.observedBits | 0;
17745
 
17746
- if ((observedBits & changedBits) !== 0) {
17747
- _this2.setState({
17748
- value: _this2.getValue()
17749
- });
17750
- }
17751
- };
17752
 
17753
- return _this2;
17754
- }
 
 
 
 
17755
 
17756
- var _proto2 = Consumer.prototype;
17757
 
17758
- _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
17759
- var observedBits = nextProps.observedBits;
17760
- this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;
17761
- };
17762
 
17763
- _proto2.componentDidMount = function componentDidMount() {
17764
- if (this.context[contextProp]) {
17765
- this.context[contextProp].on(this.onUpdate);
17766
- }
17767
 
17768
- var observedBits = this.props.observedBits;
17769
- this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;
17770
- };
 
 
17771
 
17772
- _proto2.componentWillUnmount = function componentWillUnmount() {
17773
- if (this.context[contextProp]) {
17774
- this.context[contextProp].off(this.onUpdate);
17775
- }
17776
- };
17777
 
17778
- _proto2.getValue = function getValue() {
17779
- if (this.context[contextProp]) {
17780
- return this.context[contextProp].get();
17781
- } else {
17782
- return defaultValue;
17783
- }
17784
- };
17785
 
17786
- _proto2.render = function render() {
17787
- return onlyChild(this.props.children)(this.state.value);
17788
- };
17789
 
17790
- return Consumer;
17791
- }(react__WEBPACK_IMPORTED_MODULE_0__["Component"]);
 
17792
 
17793
- Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, _Consumer$contextType);
17794
- return {
17795
- Provider: Provider,
17796
- Consumer: Consumer
17797
- };
17798
- }
 
 
17799
 
17800
- var index = react__WEBPACK_IMPORTED_MODULE_0___default.a.createContext || createReactContext;
17801
 
17802
- /* harmony default export */ __webpack_exports__["a"] = (index);
 
 
 
 
 
 
17803
 
17804
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(96)))
 
 
17805
 
17806
- /***/ }),
17807
- /* 317 */
17808
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
17809
 
17810
- var isarray = __webpack_require__(436)
17811
 
17812
- /**
17813
- * Expose `pathToRegexp`.
17814
- */
17815
- module.exports = pathToRegexp
17816
- module.exports.parse = parse
17817
- module.exports.compile = compile
17818
- module.exports.tokensToFunction = tokensToFunction
17819
- module.exports.tokensToRegExp = tokensToRegExp
17820
 
17821
- /**
17822
- * The main path matching regexp utility.
17823
- *
17824
- * @type {RegExp}
17825
- */
17826
- var PATH_REGEXP = new RegExp([
17827
- // Match escaped characters that would otherwise appear in future matches.
17828
- // This allows the user to escape special characters that won't transform.
17829
- '(\\\\.)',
17830
- // Match Express-style parameters and un-named parameters with a prefix
17831
- // and optional suffixes. Matches appear as:
17832
- //
17833
- // "/:test(\\d+)?" => ["/", "test", "\d+", undefined, "?", undefined]
17834
- // "/route(\\d+)" => [undefined, undefined, undefined, "\d+", undefined, undefined]
17835
- // "/*" => ["/", undefined, undefined, undefined, undefined, "*"]
17836
- '([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))'
17837
- ].join('|'), 'g')
17838
 
17839
- /**
17840
- * Parse a string for the raw tokens.
17841
- *
17842
- * @param {string} str
17843
- * @param {Object=} options
17844
- * @return {!Array}
17845
- */
17846
- function parse (str, options) {
17847
- var tokens = []
17848
- var key = 0
17849
- var index = 0
17850
- var path = ''
17851
- var defaultDelimiter = options && options.delimiter || '/'
17852
- var res
17853
 
17854
- while ((res = PATH_REGEXP.exec(str)) != null) {
17855
- var m = res[0]
17856
- var escaped = res[1]
17857
- var offset = res.index
17858
- path += str.slice(index, offset)
17859
- index = offset + m.length
17860
 
17861
- // Ignore already escaped sequences.
17862
- if (escaped) {
17863
- path += escaped[1]
17864
- continue
17865
- }
17866
 
17867
- var next = str[index]
17868
- var prefix = res[2]
17869
- var name = res[3]
17870
- var capture = res[4]
17871
- var group = res[5]
17872
- var modifier = res[6]
17873
- var asterisk = res[7]
17874
 
17875
- // Push the current path onto the tokens.
17876
- if (path) {
17877
- tokens.push(path)
17878
- path = ''
17879
- }
17880
 
17881
- var partial = prefix != null && next != null && next !== prefix
17882
- var repeat = modifier === '+' || modifier === '*'
17883
- var optional = modifier === '?' || modifier === '*'
17884
- var delimiter = res[2] || defaultDelimiter
17885
- var pattern = capture || group
17886
 
17887
- tokens.push({
17888
- name: name || key++,
17889
- prefix: prefix || '',
17890
- delimiter: delimiter,
17891
- optional: optional,
17892
- repeat: repeat,
17893
- partial: partial,
17894
- asterisk: !!asterisk,
17895
- pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')
17896
- })
17897
  }
17898
 
17899
- // Match any characters still remaining.
17900
- if (index < str.length) {
17901
- path += str.substr(index)
17902
- }
17903
 
17904
- // If the path exists, push it onto the end.
17905
- if (path) {
17906
- tokens.push(path)
 
 
17907
  }
17908
 
17909
- return tokens
17910
  }
17911
 
17912
- /**
17913
- * Compile a string to a template function for the path.
17914
- *
17915
- * @param {string} str
17916
- * @param {Object=} options
17917
- * @return {!function(Object=, Object=)}
17918
- */
17919
- function compile (str, options) {
17920
- return tokensToFunction(parse(str, options), options)
17921
- }
17922
 
17923
- /**
17924
- * Prettier encoding of URI path segments.
17925
- *
17926
- * @param {string}
17927
- * @return {string}
17928
- */
17929
- function encodeURIComponentPretty (str) {
17930
- return encodeURI(str).replace(/[\/?#]/g, function (c) {
17931
- return '%' + c.charCodeAt(0).toString(16).toUpperCase()
17932
- })
17933
- }
17934
 
17935
- /**
17936
- * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.
17937
- *
17938
- * @param {string}
17939
- * @return {string}
17940
- */
17941
- function encodeAsterisk (str) {
17942
- return encodeURI(str).replace(/[?#]/g, function (c) {
17943
- return '%' + c.charCodeAt(0).toString(16).toUpperCase()
17944
- })
 
 
 
 
 
 
 
 
 
 
 
17945
  }
 
 
 
 
 
17946
 
17947
- /**
17948
- * Expose a method for transforming tokens into the path function.
17949
- */
17950
- function tokensToFunction (tokens, options) {
17951
- // Compile all the tokens into regexps.
17952
- var matches = new Array(tokens.length)
17953
 
17954
- // Compile all the patterns before compilation.
17955
- for (var i = 0; i < tokens.length; i++) {
17956
- if (typeof tokens[i] === 'object') {
17957
- matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))
17958
- }
17959
  }
17960
 
17961
- return function (obj, opts) {
17962
- var path = ''
17963
- var data = obj || {}
17964
- var options = opts || {}
17965
- var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent
 
 
 
 
 
 
 
 
 
 
17966
 
17967
- for (var i = 0; i < tokens.length; i++) {
17968
- var token = tokens[i]
17969
 
17970
- if (typeof token === 'string') {
17971
- path += token
 
 
 
 
 
 
17972
 
17973
- continue
17974
- }
 
 
 
17975
 
17976
- var value = data[token.name]
17977
- var segment
 
 
 
17978
 
17979
- if (value == null) {
17980
- if (token.optional) {
17981
- // Prepend partial segment prefixes.
17982
- if (token.partial) {
17983
- path += token.prefix
17984
- }
17985
 
17986
- continue
17987
- } else {
17988
- throw new TypeError('Expected "' + token.name + '" to be defined')
17989
- }
17990
- }
 
 
 
 
17991
 
17992
- if (isarray(value)) {
17993
- if (!token.repeat) {
17994
- throw new TypeError('Expected "' + token.name + '" to not repeat, but received `' + JSON.stringify(value) + '`')
17995
- }
17996
 
17997
- if (value.length === 0) {
17998
- if (token.optional) {
17999
- continue
18000
- } else {
18001
- throw new TypeError('Expected "' + token.name + '" to not be empty')
18002
- }
18003
- }
 
 
 
 
 
 
18004
 
18005
- for (var j = 0; j < value.length; j++) {
18006
- segment = encode(value[j])
 
 
 
18007
 
18008
- if (!matches[i].test(segment)) {
18009
- throw new TypeError('Expected all "' + token.name + '" to match "' + token.pattern + '", but received `' + JSON.stringify(segment) + '`')
18010
- }
 
 
 
 
 
 
 
18011
 
18012
- path += (j === 0 ? token.prefix : token.delimiter) + segment
18013
- }
 
 
 
 
18014
 
18015
- continue
 
 
 
 
 
 
 
 
 
18016
  }
 
 
 
 
18017
 
18018
- segment = token.asterisk ? encodeAsterisk(value) : encode(value)
18019
 
18020
- if (!matches[i].test(segment)) {
18021
- throw new TypeError('Expected "' + token.name + '" to match "' + token.pattern + '", but received "' + segment + '"')
18022
- }
18023
 
18024
- path += token.prefix + segment
 
18025
  }
18026
 
18027
- return path
 
 
 
 
 
 
18028
  }
18029
- }
18030
 
18031
- /**
18032
- * Escape a regular expression string.
18033
- *
18034
- * @param {string} str
18035
- * @return {string}
18036
- */
18037
- function escapeString (str) {
18038
- return str.replace(/([.+*?=^!:${}()[\]|\/\\])/g, '\\$1')
18039
- }
18040
 
18041
- /**
18042
- * Escape the capturing group by escaping special characters and meaning.
18043
- *
18044
- * @param {string} group
18045
- * @return {string}
18046
- */
18047
- function escapeGroup (group) {
18048
- return group.replace(/([=!:$\/()])/g, '\\$1')
18049
- }
18050
 
18051
- /**
18052
- * Attach the keys as a property of the regexp.
18053
- *
18054
- * @param {!RegExp} re
18055
- * @param {Array} keys
18056
- * @return {!RegExp}
18057
- */
18058
- function attachKeys (re, keys) {
18059
- re.keys = keys
18060
- return re
18061
  }
18062
 
18063
- /**
18064
- * Get the flags for a regexp from the options.
18065
- *
18066
- * @param {Object} options
18067
- * @return {string}
18068
- */
18069
- function flags (options) {
18070
- return options && options.sensitive ? '' : 'i'
18071
  }
18072
-
18073
  /**
18074
- * Pull out keys from a regexp.
18075
  *
18076
- * @param {!RegExp} path
18077
- * @param {!Array} keys
18078
- * @return {!RegExp}
18079
  */
18080
- function regexpToRegexp (path, keys) {
18081
- // Use a negative lookahead to match only capturing groups.
18082
- var groups = path.source.match(/\((?!\?)/g)
18083
-
18084
- if (groups) {
18085
- for (var i = 0; i < groups.length; i++) {
18086
- keys.push({
18087
- name: i,
18088
- prefix: null,
18089
- delimiter: null,
18090
- optional: false,
18091
- repeat: false,
18092
- partial: false,
18093
- asterisk: false,
18094
- pattern: null
18095
- })
18096
- }
18097
- }
18098
 
18099
- return attachKeys(path, keys)
 
 
 
18100
  }
18101
-
18102
  /**
18103
- * Transform an array into a regexp.
18104
- *
18105
- * @param {!Array} path
18106
- * @param {Array} keys
18107
- * @param {!Object} options
18108
- * @return {!RegExp}
18109
  */
18110
- function arrayToRegexp (path, keys, options) {
18111
- var parts = []
18112
-
18113
- for (var i = 0; i < path.length; i++) {
18114
- parts.push(pathToRegexp(path[i], keys, options).source)
18115
- }
18116
-
18117
- var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))
18118
 
18119
- return attachKeys(regexp, keys)
 
18120
  }
18121
-
18122
  /**
18123
- * Create a path regexp from string input.
18124
- *
18125
- * @param {string} path
18126
- * @param {!Array} keys
18127
- * @param {!Object} options
18128
- * @return {!RegExp}
18129
  */
18130
- function stringToRegexp (path, keys, options) {
18131
- return tokensToRegExp(parse(path, options), keys, options)
18132
- }
18133
 
 
 
 
18134
  /**
18135
- * Expose a function for taking tokens and returning a RegExp.
18136
- *
18137
- * @param {!Array} tokens
18138
- * @param {(Array|Object)=} keys
18139
- * @param {Object=} options
18140
- * @return {!RegExp}
18141
  */
18142
- function tokensToRegExp (tokens, keys, options) {
18143
- if (!isarray(keys)) {
18144
- options = /** @type {!Object} */ (keys || options)
18145
- keys = []
18146
- }
18147
-
18148
- options = options || {}
18149
-
18150
- var strict = options.strict
18151
- var end = options.end !== false
18152
- var route = ''
18153
-
18154
- // Iterate over the tokens and create our regexp string.
18155
- for (var i = 0; i < tokens.length; i++) {
18156
- var token = tokens[i]
18157
-
18158
- if (typeof token === 'string') {
18159
- route += escapeString(token)
18160
- } else {
18161
- var prefix = escapeString(token.prefix)
18162
- var capture = '(?:' + token.pattern + ')'
18163
-
18164
- keys.push(token)
18165
-
18166
- if (token.repeat) {
18167
- capture += '(?:' + prefix + capture + ')*'
18168
- }
18169
-
18170
- if (token.optional) {
18171
- if (!token.partial) {
18172
- capture = '(?:' + prefix + '(' + capture + '))?'
18173
- } else {
18174
- capture = prefix + '(' + capture + ')?'
18175
- }
18176
- } else {
18177
- capture = prefix + '(' + capture + ')'
18178
- }
18179
-
18180
- route += capture
18181
- }
18182
- }
18183
 
18184
- var delimiter = escapeString(options.delimiter || '/')
18185
- var endsWithDelimiter = route.slice(-delimiter.length) === delimiter
 
18186
 
18187
- // In non-strict mode we allow a slash at the end of match. If the path to
18188
- // match already ends with a slash, we remove it for consistency. The slash
18189
- // is valid at the end of a path match, not in the middle. This is important
18190
- // in non-ending mode, where "/test/" shouldn't match "/test//route".
18191
- if (!strict) {
18192
- route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'
18193
- }
18194
 
18195
- if (end) {
18196
- route += '$'
18197
- } else {
18198
- // In non-ending mode, we need the capturing groups to match as much as
18199
- // possible by using a positive lookahead to the end or next path segment.
18200
- route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'
 
18201
  }
18202
-
18203
- return attachKeys(new RegExp('^' + route, flags(options)), keys)
18204
  }
18205
-
18206
  /**
18207
- * Normalize the given path string, returning a regular expression.
18208
- *
18209
- * An empty array can be passed in for the keys, which will hold the
18210
- * placeholder key descriptions. For example, using `/user/:id`, `keys` will
18211
- * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.
18212
- *
18213
- * @param {(string|RegExp|Array)} path
18214
- * @param {(Array|Object)=} keys
18215
- * @param {Object=} options
18216
- * @return {!RegExp}
18217
- */
18218
- function pathToRegexp (path, keys, options) {
18219
- if (!isarray(keys)) {
18220
- options = /** @type {!Object} */ (keys || options)
18221
- keys = []
18222
  }
18223
 
18224
- options = options || {}
 
 
 
 
 
 
 
 
 
 
 
18225
 
18226
- if (path instanceof RegExp) {
18227
- return regexpToRegexp(path, /** @type {!Array} */ (keys))
 
 
 
 
 
 
 
 
 
 
 
18228
  }
18229
 
18230
- if (isarray(path)) {
18231
- return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)
18232
  }
18233
 
18234
- return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)
18235
- }
18236
 
 
 
18237
 
18238
- /***/ }),
18239
- /* 318 */,
18240
- /* 319 */,
18241
- /* 320 */,
18242
- /* 321 */,
18243
- /* 322 */,
18244
- /* 323 */,
18245
- /* 324 */,
18246
- /* 325 */,
18247
- /* 326 */,
18248
- /* 327 */,
18249
- /* 328 */,
18250
- /* 329 */,
18251
- /* 330 */,
18252
- /* 331 */,
18253
- /* 332 */
18254
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
18255
 
18256
- "use strict";
18257
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getUnreadNotesCount; });
18258
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return hasValidNotes; });
18259
- /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5);
18260
- /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);
18261
- /**
18262
- * External dependencies
18263
- */
18264
 
18265
- /**
18266
- * Get the count of the unread notes from the received list.
18267
- *
18268
- * @param {Array} notes - List of notes, contains read and unread notes.
18269
- * @param {number} lastRead - The timestamp that the user read a note.
18270
- * @return {number} - Unread notes count.
18271
- */
18272
 
18273
- function getUnreadNotesCount(notes, lastRead) {
18274
- var unreadNotes = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["filter"])(notes, function (note) {
18275
- var isDeleted = note.is_deleted,
18276
- dateCreatedGmt = note.date_created_gmt,
18277
- status = note.status;
18278
 
18279
- if (!isDeleted) {
18280
- var unread = !lastRead || !dateCreatedGmt || new Date(dateCreatedGmt + 'Z').getTime() > lastRead;
18281
- return unread && status === 'unactioned';
 
 
 
 
 
 
 
 
 
 
 
 
 
18282
  }
18283
- });
18284
- return unreadNotes.length;
18285
- }
18286
- /**
18287
- * Verifies if there are any valid notes in the list.
18288
- *
18289
- * @param {Array} notes - List of notes, contains read and unread notes.
18290
- * @return {boolean} - Whether there are valid notes or not.
18291
- */
18292
 
18293
- function hasValidNotes(notes) {
18294
- var validNotes = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["filter"])(notes, function (note) {
18295
- var isDeleted = note.is_deleted;
18296
- return !isDeleted;
18297
- });
18298
- return validNotes.length > 0;
18299
- }
18300
 
18301
- /***/ }),
18302
- /* 333 */,
18303
- /* 334 */,
18304
- /* 335 */,
18305
- /* 336 */,
18306
- /* 337 */,
18307
- /* 338 */,
18308
- /* 339 */,
18309
- /* 340 */,
18310
- /* 341 */,
18311
- /* 342 */,
18312
- /* 343 */,
18313
- /* 344 */,
18314
- /* 345 */,
18315
- /* 346 */,
18316
- /* 347 */,
18317
- /* 348 */,
18318
- /* 349 */,
18319
- /* 350 */,
18320
- /* 351 */,
18321
- /* 352 */,
18322
- /* 353 */,
18323
- /* 354 */,
18324
- /* 355 */,
18325
- /* 356 */,
18326
- /* 357 */,
18327
- /* 358 */,
18328
- /* 359 */,
18329
- /* 360 */,
18330
- /* 361 */,
18331
- /* 362 */,
18332
- /* 363 */,
18333
- /* 364 */,
18334
- /* 365 */,
18335
- /* 366 */,
18336
- /* 367 */,
18337
- /* 368 */,
18338
- /* 369 */,
18339
- /* 370 */,
18340
- /* 371 */,
18341
- /* 372 */,
18342
- /* 373 */,
18343
- /* 374 */,
18344
- /* 375 */,
18345
- /* 376 */,
18346
- /* 377 */,
18347
- /* 378 */,
18348
- /* 379 */,
18349
- /* 380 */,
18350
- /* 381 */,
18351
- /* 382 */,
18352
- /* 383 */,
18353
- /* 384 */,
18354
- /* 385 */,
18355
- /* 386 */,
18356
- /* 387 */,
18357
- /* 388 */,
18358
- /* 389 */,
18359
- /* 390 */,
18360
- /* 391 */,
18361
- /* 392 */
18362
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
18363
 
18364
- "use strict";
18365
- /* WEBPACK VAR INJECTION */(function(process) {/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
18366
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
18367
- /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(51);
18368
- /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1__);
18369
- /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5);
18370
- /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);
18371
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(15);
18372
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__);
18373
- /* harmony import */ var _wordpress_a11y__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(393);
18374
- /* harmony import */ var _wordpress_a11y__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_a11y__WEBPACK_IMPORTED_MODULE_4__);
18375
- /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2);
18376
- /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__);
18377
- /* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(394);
18378
- /* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_warning__WEBPACK_IMPORTED_MODULE_6__);
18379
- /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(4);
18380
- /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__);
18381
 
 
 
18382
 
 
 
 
18383
 
18384
- /**
18385
- * External dependencies
18386
- */
 
 
 
 
 
 
18387
 
 
 
 
 
 
18388
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18389
 
 
 
 
 
 
 
 
 
 
18390
 
 
 
 
 
 
18391
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18392
 
 
 
 
18393
 
18394
- var NOTICE_TIMEOUT = 10000;
18395
- /** @typedef {import('@wordpress/element').WPElement} WPElement */
 
18396
 
18397
- /**
18398
- * Custom hook which announces the message with the given politeness, if a
18399
- * valid message is provided.
18400
- *
18401
- * @param {string|WPElement} [message] Message to announce.
18402
- * @param {'polite'|'assertive'} politeness Politeness to announce.
18403
- */
18404
 
18405
- function useSpokenMessage(message, politeness) {
18406
- var spokenMessage = typeof message === 'string' ? message : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["renderToString"])(message);
18407
- Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
18408
- if (spokenMessage) {
18409
- Object(_wordpress_a11y__WEBPACK_IMPORTED_MODULE_4__["speak"])(spokenMessage, politeness);
18410
- }
18411
- }, [spokenMessage, politeness]);
18412
- }
18413
 
18414
- function Snackbar(_ref, ref) {
18415
- var className = _ref.className,
18416
- children = _ref.children,
18417
- _ref$spokenMessage = _ref.spokenMessage,
18418
- spokenMessage = _ref$spokenMessage === void 0 ? children : _ref$spokenMessage,
18419
- _ref$politeness = _ref.politeness,
18420
- politeness = _ref$politeness === void 0 ? 'polite' : _ref$politeness,
18421
- _ref$actions = _ref.actions,
18422
- actions = _ref$actions === void 0 ? [] : _ref$actions,
18423
- _ref$onRemove = _ref.onRemove,
18424
- onRemove = _ref$onRemove === void 0 ? lodash__WEBPACK_IMPORTED_MODULE_2__["noop"] : _ref$onRemove,
18425
- _ref$icon = _ref.icon,
18426
- icon = _ref$icon === void 0 ? null : _ref$icon,
18427
- _ref$explicitDismiss = _ref.explicitDismiss,
18428
- explicitDismiss = _ref$explicitDismiss === void 0 ? false : _ref$explicitDismiss,
18429
- _ref$onDismiss = _ref.onDismiss,
18430
- onDismiss = _ref$onDismiss === void 0 ? null : _ref$onDismiss;
18431
- onDismiss = onDismiss || lodash__WEBPACK_IMPORTED_MODULE_2__["noop"];
18432
 
18433
- function dismissMe(event) {
18434
- if (event && event.preventDefault) {
18435
- event.preventDefault();
 
 
 
18436
  }
18437
-
18438
- onDismiss();
18439
- onRemove();
18440
  }
18441
 
18442
- function onActionClick(event, onClick) {
18443
- event.stopPropagation();
18444
- onRemove();
18445
 
18446
- if (onClick) {
18447
- onClick(event);
 
18448
  }
18449
- }
18450
 
18451
- useSpokenMessage(spokenMessage, politeness); // Only set up the timeout dismiss if we're not explicitly dismissing.
 
 
 
 
 
18452
 
18453
- Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
18454
- var timeoutHandle = setTimeout(function () {
18455
- if (!explicitDismiss) {
18456
- onDismiss();
18457
- onRemove();
18458
- }
18459
- }, NOTICE_TIMEOUT);
18460
  return function () {
18461
- return clearTimeout(timeoutHandle);
18462
- };
18463
- }, [explicitDismiss, onDismiss, onRemove]);
18464
- var classes = classnames__WEBPACK_IMPORTED_MODULE_3___default()(className, 'components-snackbar', {
18465
- 'components-snackbar-explicit-dismiss': !!explicitDismiss
18466
- });
18467
 
18468
- if (actions && actions.length > 1) {
18469
- // we need to inform developers that snackbar only accepts 1 action
18470
- typeof process !== "undefined" && process.env && "production" !== "production" ? _wordpress_warning__WEBPACK_IMPORTED_MODULE_6___default()('Snackbar can only have 1 action, use Notice if your message require many messages') : void 0; // return first element only while keeping it inside an array
18471
 
18472
- actions = [actions[0]];
 
 
 
 
 
 
18473
  }
18474
 
18475
- var snackbarContentClassnames = classnames__WEBPACK_IMPORTED_MODULE_3___default()('components-snackbar__content', {
18476
- 'components-snackbar__content-with-icon': !!icon
18477
- });
18478
- return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
18479
- ref: ref,
18480
- className: classes,
18481
- onClick: !explicitDismiss ? dismissMe : lodash__WEBPACK_IMPORTED_MODULE_2__["noop"],
18482
- tabIndex: "0",
18483
- role: !explicitDismiss ? 'button' : '',
18484
- onKeyPress: !explicitDismiss ? dismissMe : lodash__WEBPACK_IMPORTED_MODULE_2__["noop"],
18485
- "aria-label": !explicitDismiss ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["__"])('Dismiss this notice') : ''
18486
- }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
18487
- className: snackbarContentClassnames
18488
- }, icon && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
18489
- className: "components-snackbar__icon"
18490
- }, icon), children, actions.map(function (_ref2, index) {
18491
- var label = _ref2.label,
18492
- _onClick = _ref2.onClick,
18493
- url = _ref2.url;
18494
- return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__["Button"], {
18495
- key: index,
18496
- href: url,
18497
- isTertiary: true,
18498
- onClick: function onClick(event) {
18499
- return onActionClick(event, _onClick);
18500
- },
18501
- className: "components-snackbar__action"
18502
- }, label);
18503
- }), explicitDismiss && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("span", {
18504
- role: "button",
18505
- "aria-label": "Dismiss this notice",
18506
- tabIndex: "0",
18507
- className: "components-snackbar__dismiss-button",
18508
- onClick: dismissMe,
18509
- onKeyPress: dismissMe
18510
- }, "\u2715")));
18511
  }
18512
 
18513
- /* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["forwardRef"])(Snackbar));
18514
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(297)))
18515
-
18516
- /***/ }),
18517
- /* 393 */
18518
- /***/ (function(module, exports) {
 
 
 
 
 
 
 
 
 
 
 
 
 
18519
 
18520
- (function() { module.exports = window["wp"]["a11y"]; }());
 
 
 
18521
 
18522
- /***/ }),
18523
- /* 394 */
18524
- /***/ (function(module, exports) {
 
 
 
 
18525
 
18526
- (function() { module.exports = window["wp"]["warning"]; }());
 
 
18527
 
18528
- /***/ }),
18529
- /* 395 */
18530
- /***/ (function(module, exports) {
18531
 
18532
- (function() { module.exports = window["wc"]["customerEffortScore"]; }());
 
 
 
18533
 
18534
- /***/ }),
18535
- /* 396 */,
18536
- /* 397 */,
18537
- /* 398 */,
18538
- /* 399 */,
18539
- /* 400 */,
18540
- /* 401 */,
18541
- /* 402 */,
18542
- /* 403 */
18543
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
18544
 
18545
- "use strict";
 
 
 
 
 
18546
 
18547
- // EXPORTS
18548
- __webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ customer_effort_score_tracks_container; });
18549
 
18550
- // UNUSED EXPORTS: CustomerEffortScoreTracks
 
18551
 
18552
- // NAMESPACE OBJECT: ./client/customer-effort-score-tracks/data/actions.js
18553
- var actions_namespaceObject = {};
18554
- __webpack_require__.r(actions_namespaceObject);
18555
- __webpack_require__.d(actions_namespaceObject, "setCesSurveyQueue", function() { return setCesSurveyQueue; });
18556
- __webpack_require__.d(actions_namespaceObject, "addCesSurvey", function() { return addCesSurvey; });
18557
- __webpack_require__.d(actions_namespaceObject, "addCesSurveyForAnalytics", function() { return addCesSurveyForAnalytics; });
18558
- __webpack_require__.d(actions_namespaceObject, "addCesSurveyForCustomerSearch", function() { return addCesSurveyForCustomerSearch; });
18559
 
18560
- // NAMESPACE OBJECT: ./client/customer-effort-score-tracks/data/resolvers.js
18561
- var resolvers_namespaceObject = {};
18562
- __webpack_require__.r(resolvers_namespaceObject);
18563
- __webpack_require__.d(resolvers_namespaceObject, "getCesSurveyQueue", function() { return resolvers_getCesSurveyQueue; });
18564
 
18565
- // NAMESPACE OBJECT: ./client/customer-effort-score-tracks/data/selectors.js
18566
- var selectors_namespaceObject = {};
18567
- __webpack_require__.r(selectors_namespaceObject);
18568
- __webpack_require__.d(selectors_namespaceObject, "getCesSurveyQueue", function() { return selectors_getCesSurveyQueue; });
18569
 
18570
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.keys.js
18571
- var es_object_keys = __webpack_require__(37);
 
18572
 
18573
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js
18574
- var es_symbol = __webpack_require__(53);
 
 
 
 
 
18575
 
18576
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js
18577
- var es_array_filter = __webpack_require__(41);
18578
 
18579
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js
18580
- var es_object_get_own_property_descriptor = __webpack_require__(60);
 
 
18581
 
18582
- // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js
18583
- var web_dom_collections_for_each = __webpack_require__(49);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18584
 
18585
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptors.js
18586
- var es_object_get_own_property_descriptors = __webpack_require__(61);
 
 
18587
 
18588
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
18589
- var toConsumableArray = __webpack_require__(44);
18590
- var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
 
 
18591
 
18592
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
18593
- var defineProperty = __webpack_require__(7);
18594
- var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
 
 
18595
 
18596
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
18597
- var slicedToArray = __webpack_require__(43);
18598
- var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
18599
 
18600
- // EXTERNAL MODULE: external ["wp","element"]
18601
- var external_wp_element_ = __webpack_require__(0);
 
 
 
18602
 
18603
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js
18604
- var es_array_concat = __webpack_require__(66);
 
18605
 
18606
- // EXTERNAL MODULE: ./node_modules/prop-types/index.js
18607
- var prop_types = __webpack_require__(1);
18608
- var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
18609
 
18610
- // EXTERNAL MODULE: external ["wc","tracks"]
18611
- var external_wc_tracks_ = __webpack_require__(92);
18612
 
18613
- // EXTERNAL MODULE: external ["wc","customerEffortScore"]
18614
- var external_wc_customerEffortScore_ = __webpack_require__(395);
18615
- var external_wc_customerEffortScore_default = /*#__PURE__*/__webpack_require__.n(external_wc_customerEffortScore_);
 
 
 
 
 
 
18616
 
18617
- // EXTERNAL MODULE: external ["wp","compose"]
18618
- var external_wp_compose_ = __webpack_require__(65);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18619
 
18620
- // EXTERNAL MODULE: external ["wp","data"]
18621
- var external_wp_data_ = __webpack_require__(26);
 
 
 
 
 
 
 
18622
 
18623
- // EXTERNAL MODULE: external ["wc","data"]
18624
- var external_wc_data_ = __webpack_require__(59);
 
 
 
 
 
18625
 
18626
- // EXTERNAL MODULE: external ["wp","i18n"]
18627
- var external_wp_i18n_ = __webpack_require__(2);
 
 
 
 
 
 
18628
 
18629
- // CONCATENATED MODULE: ./client/customer-effort-score-tracks/customer-effort-score-tracks.js
 
 
 
18630
 
 
 
 
18631
 
 
 
 
18632
 
 
18633
 
 
 
18634
 
 
 
 
 
 
 
18635
 
 
18636
 
 
 
 
 
18637
 
 
18638
 
 
 
 
 
18639
 
 
 
 
 
 
18640
 
 
 
 
18641
 
18642
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
 
 
 
 
 
 
 
18643
 
18644
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18645
 
 
 
 
18646
  /**
18647
- * External dependencies
18648
  */
18649
 
18650
 
 
 
 
 
18651
 
 
 
 
 
 
 
 
 
 
18652
 
 
 
18653
 
 
 
 
18654
 
 
 
 
18655
 
 
 
 
 
18656
 
18657
- var SHOWN_FOR_ACTIONS_OPTION_NAME = 'woocommerce_ces_shown_for_actions';
18658
- var ADMIN_INSTALL_TIMESTAMP_OPTION_NAME = 'woocommerce_admin_install_timestamp';
18659
- var ALLOW_TRACKING_OPTION_NAME = 'woocommerce_allow_tracking';
18660
- /**
18661
- * A CustomerEffortScore wrapper that uses tracks to track the selected
18662
- * customer effort score.
18663
- *
18664
- * @param {Object} props Component props.
18665
- * @param {string} props.action The action name sent to Tracks.
18666
- * @param {Object} props.trackProps Additional props sent to Tracks.
18667
- * @param {string} props.label The label displayed in the modal.
18668
- * @param {string} props.onSubmitLabel The label displayed upon survey submission.
18669
- * @param {Array} props.cesShownForActions The array of actions that the CES modal has been shown for.
18670
- * @param {boolean} props.allowTracking Whether tracking is allowed or not.
18671
- * @param {boolean} props.resolving Are values still being resolved.
18672
- * @param {number} props.storeAgeInWeeks The age of the store in weeks.
18673
- * @param {Function} props.updateOptions Function to update options.
18674
- * @param {Function} props.createNotice Function to create a snackbar.
18675
- */
18676
 
18677
- function CustomerEffortScoreTracks(_ref) {
18678
- var action = _ref.action,
18679
- trackProps = _ref.trackProps,
18680
- label = _ref.label,
18681
- _ref$onSubmitLabel = _ref.onSubmitLabel,
18682
- onSubmitLabel = _ref$onSubmitLabel === void 0 ? Object(external_wp_i18n_["__"])('Thank you for your feedback!', 'woocommerce-admin') : _ref$onSubmitLabel,
18683
- cesShownForActions = _ref.cesShownForActions,
18684
- allowTracking = _ref.allowTracking,
18685
- resolving = _ref.resolving,
18686
- storeAgeInWeeks = _ref.storeAgeInWeeks,
18687
- updateOptions = _ref.updateOptions,
18688
- createNotice = _ref.createNotice;
18689
 
18690
- var _useState = Object(external_wp_element_["useState"])(false),
18691
- _useState2 = slicedToArray_default()(_useState, 2),
18692
- modalShown = _useState2[0],
18693
- setModalShown = _useState2[1];
 
18694
 
18695
- if (resolving) {
18696
- return null;
18697
- } // Don't show if tracking is disallowed.
 
 
 
 
 
18698
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18699
 
18700
- if (!allowTracking) {
18701
- return null;
18702
- } // We only want to return null early if the modal was already shown
18703
- // for this action *before* this component was initially instantiated.
18704
- //
18705
- // We want to make sure we still render CustomerEffortScore below
18706
- // (we don't want to return null early), if the modal was shown for this
18707
- // instantiation, so that the component doesn't go away while we are
18708
- // still showing it.
 
 
 
 
 
 
 
 
 
18709
 
 
 
 
18710
 
18711
- if (cesShownForActions.indexOf(action) !== -1 && !modalShown) {
18712
- return null;
18713
  }
18714
 
18715
- var onNoticeShown = function onNoticeShown() {
18716
- Object(external_wc_tracks_["recordEvent"])('ces_snackbar_view', _objectSpread({
18717
- action: action,
18718
- store_age: storeAgeInWeeks
18719
- }, trackProps));
18720
- };
18721
 
18722
- var addActionToShownOption = function addActionToShownOption() {
18723
- updateOptions(defineProperty_default()({}, SHOWN_FOR_ACTIONS_OPTION_NAME, [action].concat(toConsumableArray_default()(cesShownForActions))));
18724
- };
 
18725
 
18726
- var onNoticeDismissed = function onNoticeDismissed() {
18727
- Object(external_wc_tracks_["recordEvent"])('ces_snackbar_dismiss', _objectSpread({
18728
- action: action,
18729
- store_age: storeAgeInWeeks
18730
- }, trackProps));
18731
- addActionToShownOption();
18732
- };
18733
 
18734
- var onModalShown = function onModalShown() {
18735
- setModalShown(true);
18736
- Object(external_wc_tracks_["recordEvent"])('ces_view', _objectSpread({
18737
- action: action,
18738
- store_age: storeAgeInWeeks
18739
- }, trackProps));
18740
- addActionToShownOption();
18741
- };
18742
 
18743
- var recordScore = function recordScore(score, comments) {
18744
- Object(external_wc_tracks_["recordEvent"])('ces_feedback', _objectSpread({
18745
- action: action,
18746
- score: score,
18747
- comments: comments || '',
18748
- store_age: storeAgeInWeeks
18749
- }, trackProps));
18750
- createNotice('success', onSubmitLabel);
 
 
 
 
 
 
 
18751
  };
18752
-
18753
- return Object(external_wp_element_["createElement"])(external_wc_customerEffortScore_default.a, {
18754
- recordScoreCallback: recordScore,
18755
- label: label,
18756
- onNoticeShownCallback: onNoticeShown,
18757
- onNoticeDismissedCallback: onNoticeDismissed,
18758
- onModalShownCallback: onModalShown,
18759
- icon: Object(external_wp_element_["createElement"])("span", {
18760
- style: {
18761
- height: 21,
18762
- width: 21
18763
- },
18764
- role: "img",
18765
- "aria-label": Object(external_wp_i18n_["__"])('Pencil icon', 'woocommerce-admin')
18766
- }, "\u270F\uFE0F")
18767
- });
18768
  }
18769
 
18770
- CustomerEffortScoreTracks.propTypes = {
18771
- /**
18772
- * The action name sent to Tracks.
18773
- */
18774
- action: prop_types_default.a.string.isRequired,
18775
-
18776
- /**
18777
- * Additional props sent to Tracks.
18778
- */
18779
- trackProps: prop_types_default.a.object,
18780
-
18781
- /**
18782
- * The label displayed in the modal.
18783
- */
18784
- label: prop_types_default.a.string.isRequired,
18785
-
18786
- /**
18787
- * The label for the snackbar that appears upon survey submission.
18788
- */
18789
- onSubmitLabel: prop_types_default.a.string,
18790
 
18791
- /**
18792
- * The array of actions that the CES modal has been shown for.
18793
- */
18794
- cesShownForActions: prop_types_default.a.arrayOf(prop_types_default.a.string).isRequired,
18795
 
18796
- /**
18797
- * Whether tracking is allowed or not.
18798
- */
18799
- allowTracking: prop_types_default.a.bool,
18800
 
18801
- /**
18802
- * Whether props are still being resolved.
18803
- */
18804
- resolving: prop_types_default.a.bool.isRequired,
18805
 
18806
- /**
18807
- * The age of the store in weeks.
18808
- */
18809
- storeAgeInWeeks: prop_types_default.a.number,
18810
 
18811
- /**
18812
- * Function to update options.
18813
- */
18814
- updateOptions: prop_types_default.a.func,
18815
 
18816
- /**
18817
- * Function to create a snackbar
18818
- */
18819
- createNotice: prop_types_default.a.func
18820
- };
18821
 
18822
- function getStoreAgeInWeeks(adminInstallTimestamp) {
18823
- if (adminInstallTimestamp === 0) {
18824
- return null;
18825
- } // Date.now() is ms since Unix epoch, adminInstallTimestamp is in
18826
- // seconds since Unix epoch.
18827
 
 
 
 
 
 
 
 
18828
 
18829
- var storeAgeInMs = Date.now() - adminInstallTimestamp * 1000;
18830
- var storeAgeInWeeks = Math.round(storeAgeInMs / external_wc_data_["WEEK"]);
18831
- return storeAgeInWeeks;
18832
- }
18833
 
18834
- /* harmony default export */ var customer_effort_score_tracks = (Object(external_wp_compose_["compose"])(Object(external_wp_data_["withSelect"])(function (select) {
18835
- var _select = select(external_wc_data_["OPTIONS_STORE_NAME"]),
18836
- getOption = _select.getOption,
18837
- isResolving = _select.isResolving;
18838
 
18839
- var cesShownForActions = getOption(SHOWN_FOR_ACTIONS_OPTION_NAME) || [];
18840
- var adminInstallTimestamp = getOption(ADMIN_INSTALL_TIMESTAMP_OPTION_NAME) || 0;
18841
- var storeAgeInWeeks = getStoreAgeInWeeks(adminInstallTimestamp);
18842
- var allowTrackingOption = getOption(ALLOW_TRACKING_OPTION_NAME) || 'no';
18843
- var allowTracking = allowTrackingOption === 'yes';
18844
- var resolving = isResolving('getOption', [SHOWN_FOR_ACTIONS_OPTION_NAME]) || storeAgeInWeeks === null || isResolving('getOption', [ADMIN_INSTALL_TIMESTAMP_OPTION_NAME]) || isResolving('getOption', [ALLOW_TRACKING_OPTION_NAME]);
18845
- return {
18846
- cesShownForActions: cesShownForActions,
18847
- allowTracking: allowTracking,
18848
- storeAgeInWeeks: storeAgeInWeeks,
18849
- resolving: resolving
18850
  };
18851
- }), Object(external_wp_data_["withDispatch"])(function (dispatch) {
18852
- var _dispatch = dispatch(external_wc_data_["OPTIONS_STORE_NAME"]),
18853
- updateOptions = _dispatch.updateOptions;
18854
 
18855
- var _dispatch2 = dispatch('core/notices'),
18856
- createNotice = _dispatch2.createNotice;
18857
 
18858
- return {
18859
- updateOptions: updateOptions,
18860
- createNotice: createNotice
18861
- };
18862
- }))(CustomerEffortScoreTracks));
18863
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js
18864
- var es_array_map = __webpack_require__(51);
18865
 
18866
- // EXTERNAL MODULE: ./client/customer-effort-score-tracks/data/constants.js
18867
- var constants = __webpack_require__(210);
18868
 
18869
- // EXTERNAL MODULE: external ["wp","dataControls"]
18870
- var external_wp_dataControls_ = __webpack_require__(35);
18871
 
18872
- // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/action-types.js
18873
- var TYPES = {
18874
- SET_CES_SURVEY_QUEUE: 'SET_CES_SURVEY_QUEUE',
18875
- ADD_CES_SURVEY: 'ADD_CES_SURVEY'
18876
- };
18877
- /* harmony default export */ var action_types = (TYPES);
18878
- // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/actions.js
18879
  /**
18880
- * External dependencies
 
 
 
18881
  */
18882
 
18883
- /**
18884
- * Internal dependencies
18885
- */
18886
 
18887
 
18888
- /**
18889
- * Initialize the state
18890
- *
18891
- * @param {Object} queue initial queue
18892
- */
18893
 
18894
- function setCesSurveyQueue(queue) {
18895
- return {
18896
- type: action_types.SET_CES_SURVEY_QUEUE,
18897
- queue: queue
 
 
 
 
 
 
 
 
 
 
 
 
 
18898
  };
18899
- }
18900
- /**
18901
- * Add a new CES track to the state.
18902
- *
18903
- * @param {string} action action name for the survey
18904
- * @param {string} label label for the snackback
18905
- * @param {string} pageNow value of window.pagenow
18906
- * @param {string} adminPage value of window.adminpage
18907
- * @param {string} onsubmit_label label for the snackback onsubmit
18908
- * @param {Object} props object for optional props
18909
- */
 
 
 
18910
 
18911
- function addCesSurvey(action, label) {
18912
- var pageNow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : window.pagenow;
18913
- var adminPage = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : window.adminpage;
18914
- var onsubmit_label = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : undefined;
18915
- var props = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};
18916
- return {
18917
- type: action_types.ADD_CES_SURVEY,
18918
- action: action,
18919
- label: label,
18920
- pageNow: pageNow,
18921
- adminPage: adminPage,
18922
- onsubmit_label: onsubmit_label,
18923
- props: props
 
18924
  };
18925
- }
18926
- /**
18927
- * Add a new CES survey track for the pages in Analytics menu
18928
- */
18929
 
18930
- function addCesSurveyForAnalytics() {
18931
- return addCesSurvey('analytics_filtered', Object(external_wp_i18n_["__"])('How easy was it to filter your store analytics?', 'woocommerce-admin'), 'woocommerce_page_wc-admin', 'woocommerce_page_wc-admin');
18932
- }
 
 
 
 
 
 
 
 
 
18933
  /**
18934
- * Add a new CES survey track on searching customers.
 
 
 
18935
  */
18936
 
18937
- function addCesSurveyForCustomerSearch() {
18938
- return addCesSurvey('ces_search', Object(external_wp_i18n_["__"])('How easy was it to use search?', 'woocommerce-admin'), 'woocommerce_page_wc-admin', 'woocommerce_page_wc-admin', undefined, {
18939
- search_area: 'customer'
18940
- });
18941
- }
18942
- // EXTERNAL MODULE: external "regeneratorRuntime"
18943
- var external_regeneratorRuntime_ = __webpack_require__(16);
18944
- var external_regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(external_regeneratorRuntime_);
18945
 
18946
- // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/resolvers.js
18947
 
 
18948
 
18949
- var _marked = /*#__PURE__*/external_regeneratorRuntime_default.a.mark(resolvers_getCesSurveyQueue);
18950
 
18951
 
 
18952
 
18953
- /**
18954
- * External dependencies
18955
- */
18956
 
18957
- /**
18958
- * Internal dependencies
18959
- */
 
18960
 
 
 
18961
 
 
18962
 
18963
- function resolvers_getCesSurveyQueue() {
18964
- var response;
18965
- return external_regeneratorRuntime_default.a.wrap(function getCesSurveyQueue$(_context) {
18966
- while (1) {
18967
- switch (_context.prev = _context.next) {
18968
- case 0:
18969
- _context.next = 2;
18970
- return Object(external_wp_dataControls_["apiFetch"])({
18971
- path: "".concat(constants["a" /* API_NAMESPACE */], "/options?options=").concat(constants["b" /* QUEUE_OPTION_NAME */])
18972
- });
18973
 
18974
- case 2:
18975
- response = _context.sent;
18976
 
18977
- if (!response) {
18978
- _context.next = 8;
18979
- break;
18980
- }
18981
 
18982
- _context.next = 6;
18983
- return setCesSurveyQueue(response[constants["b" /* QUEUE_OPTION_NAME */]] || []);
18984
 
18985
- case 6:
18986
- _context.next = 9;
18987
- break;
18988
 
18989
- case 8:
18990
- throw new Error();
18991
 
18992
- case 9:
18993
- case "end":
18994
- return _context.stop();
18995
- }
18996
- }
18997
- }, _marked);
18998
  }
18999
- // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/selectors.js
19000
- function selectors_getCesSurveyQueue(state) {
19001
- return state.queue;
19002
  }
19003
- // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/reducer.js
 
19004
 
 
 
 
 
 
19005
 
19006
 
19007
 
19008
 
 
 
 
19009
 
 
19010
 
 
 
19011
 
 
19012
 
 
 
 
 
19013
 
19014
- function reducer_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
 
 
 
 
 
 
19015
 
19016
- function reducer_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { reducer_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { reducer_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
 
 
19017
 
19018
- /**
19019
- * Internal dependencies
19020
- */
19021
 
19022
- var DEFAULT_STATE = {
19023
- queue: []
19024
- };
19025
 
19026
- var reducer_reducer = function reducer() {
19027
- var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_STATE;
19028
- var action = arguments.length > 1 ? arguments[1] : undefined;
19029
 
19030
- switch (action.type) {
19031
- case action_types.SET_CES_SURVEY_QUEUE:
19032
- return reducer_objectSpread(reducer_objectSpread({}, state), {}, {
19033
- queue: action.queue
19034
- });
19035
 
19036
- case action_types.ADD_CES_SURVEY:
19037
- // Prevent duplicate
19038
- var hasDuplicate = state.queue.filter(function (track) {
19039
- return track.action === action.action;
19040
- });
19041
 
19042
- if (hasDuplicate.length) {
19043
- return state;
19044
- }
19045
 
19046
- var newTrack = {
19047
- action: action.action,
19048
- label: action.label,
19049
- pagenow: action.pageNow,
19050
- adminpage: action.adminPage,
19051
- onSubmitLabel: action.onSubmitLabel,
19052
- props: action.props
19053
- };
19054
- return reducer_objectSpread(reducer_objectSpread({}, state), {}, {
19055
- queue: [].concat(toConsumableArray_default()(state.queue), [newTrack])
19056
- });
19057
 
19058
- default:
19059
- return state;
19060
- }
 
 
 
 
 
 
 
 
19061
  };
19062
 
19063
- /* harmony default export */ var data_reducer = (reducer_reducer);
19064
- // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/index.js
19065
- /**
19066
- * External dependencies
19067
- */
19068
 
 
19069
 
19070
- /**
19071
- * Internal dependencies
19072
- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19073
 
 
 
 
 
19074
 
 
 
19075
 
 
 
 
 
 
 
 
19076
 
 
19077
 
 
 
 
19078
 
19079
- /* harmony default export */ var data = (Object(external_wp_data_["registerStore"])(constants["c" /* STORE_KEY */], {
19080
- actions: actions_namespaceObject,
19081
- selectors: selectors_namespaceObject,
19082
- resolvers: resolvers_namespaceObject,
19083
- controls: external_wp_dataControls_["controls"],
19084
- reducer: data_reducer
19085
- }));
19086
- // CONCATENATED MODULE: ./client/customer-effort-score-tracks/customer-effort-score-tracks-container.js
 
 
 
 
 
 
 
19087
 
 
 
 
19088
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19089
 
 
 
19090
 
19091
- /**
19092
- * External dependencies
19093
- */
 
19094
 
 
 
 
19095
 
 
 
 
 
19096
 
 
 
 
 
 
 
 
 
19097
 
19098
- /**
19099
- * Internal dependencies
19100
- */
 
19101
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19102
 
 
 
 
19103
 
 
 
19104
 
19105
- /**
19106
- * Maps the queue of CES tracks surveys to CustomerEffortScoreTracks
19107
- * components. Note that generally there will only be a single survey per page
19108
- * however this is designed to be flexible if multiple surveys per page are
19109
- * added in the future.
19110
- *
19111
- * @param {Object} props Component props.
19112
- * @param {Array} props.queue The queue of surveys.
19113
- * @param {boolean} props.resolving Whether the queue is resolving.
19114
- * @param {Function} props.clearQueue Sets up clearing of the queue on the next page load.
19115
- */
19116
 
19117
- function CustomerEffortScoreTracksContainer(_ref) {
19118
- var queue = _ref.queue,
19119
- resolving = _ref.resolving,
19120
- clearQueue = _ref.clearQueue;
19121
 
19122
- if (resolving) {
19123
- return null;
19124
- }
19125
 
19126
- var queueForPage = queue.filter(function (item) {
19127
- return item.pagenow === window.pagenow && item.adminpage === window.adminpage;
19128
- });
 
 
 
 
 
19129
 
19130
- if (queueForPage.length) {
19131
- clearQueue();
19132
- }
19133
 
19134
- return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, queueForPage.map(function (item, index) {
19135
- return Object(external_wp_element_["createElement"])(customer_effort_score_tracks, {
19136
- key: index,
19137
- action: item.action,
19138
- label: item.label,
19139
- onSubmitLabel: item.onsubmit_label,
19140
- trackProps: item.props || {}
19141
- });
19142
- }));
19143
- }
19144
 
19145
- CustomerEffortScoreTracksContainer.propTypes = {
19146
- /**
19147
- * The queue of CES tracks surveys to display.
19148
- */
19149
- queue: prop_types_default.a.arrayOf(prop_types_default.a.object),
19150
 
19151
- /**
19152
- * If the queue option is being resolved.
19153
- */
19154
- resolving: prop_types_default.a.bool,
19155
 
19156
- /**
19157
- * Set up clearing the queue on the next page load.
19158
- */
19159
- clearQueue: prop_types_default.a.func
19160
- };
19161
- /* harmony default export */ var customer_effort_score_tracks_container = (Object(external_wp_compose_["compose"])(Object(external_wp_data_["withSelect"])(function (select) {
19162
- var _select = select(constants["c" /* STORE_KEY */]),
19163
- getCesSurveyQueue = _select.getCesSurveyQueue,
19164
- isResolving = _select.isResolving;
 
 
 
 
 
 
 
 
 
 
19165
 
19166
- var queue = getCesSurveyQueue();
19167
- var resolving = isResolving('getOption', [constants["b" /* QUEUE_OPTION_NAME */]]);
19168
- return {
19169
- queue: queue,
19170
- resolving: resolving
19171
- };
19172
- }), Object(external_wp_data_["withDispatch"])(function (dispatch) {
19173
- var _dispatch = dispatch(external_wc_data_["OPTIONS_STORE_NAME"]),
19174
- updateOptions = _dispatch.updateOptions;
19175
 
19176
- return {
19177
- clearQueue: function clearQueue() {
19178
- // This sets an option that should be used on the next page
19179
- // load to clear the CES tracks queue for the current page (see
19180
- // CustomerEffortScoreTracks.php) - clearing the queue
19181
- // directly puts this into an infinite loop which is picked
19182
- // up by React.
19183
- updateOptions({
19184
- woocommerce_clear_ces_tracks_queue_for_page: {
19185
- pagenow: window.pagenow,
19186
- adminpage: window.adminpage
19187
  }
19188
- });
19189
  }
19190
- };
19191
- }))(CustomerEffortScoreTracksContainer));
19192
- // CONCATENATED MODULE: ./client/customer-effort-score-tracks/index.js
19193
 
 
 
19194
 
19195
 
19196
  /***/ }),
19197
- /* 404 */,
19198
- /* 405 */,
19199
- /* 406 */,
19200
- /* 407 */,
19201
- /* 408 */,
19202
- /* 409 */,
19203
- /* 410 */,
19204
- /* 411 */,
19205
- /* 412 */,
19206
- /* 413 */,
19207
- /* 414 */,
19208
- /* 415 */,
19209
- /* 416 */,
19210
- /* 417 */,
19211
- /* 418 */
19212
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
19213
-
19214
- "use strict";
19215
- __webpack_require__.r(__webpack_exports__);
19216
- /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
19217
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
19218
- /* harmony import */ var _wordpress_notices__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(293);
19219
- /* harmony import */ var _wordpress_notices__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_notices__WEBPACK_IMPORTED_MODULE_1__);
19220
- /* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59);
19221
- /* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__);
19222
- /* harmony import */ var _stylesheets_index_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(420);
19223
- /* harmony import */ var _stylesheets_index_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_stylesheets_index_scss__WEBPACK_IMPORTED_MODULE_3__);
19224
- /* harmony import */ var _layout__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(280);
19225
- /* harmony import */ var _customer_effort_score_tracks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(403);
19226
-
19227
-
19228
- /**
19229
- * External dependencies
19230
- */
19231
-
19232
-
19233
-
19234
- /**
19235
- * Internal dependencies
19236
- */
19237
 
 
 
19238
 
 
19239
 
19240
- // Modify webpack pubilcPath at runtime based on location of WordPress Plugin.
19241
- // eslint-disable-next-line no-undef,camelcase
19242
 
19243
- __webpack_require__.p = global.wcAdminAssets.path;
19244
- var appRoot = document.getElementById('root');
19245
- var embeddedRoot = document.getElementById('woocommerce-embedded-root');
19246
- var settingsGroup = 'wc_admin';
19247
- var hydrateUser = window.wcSettings.currentUserData;
19248
 
19249
- if (appRoot) {
19250
- var HydratedPageLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__["withSettingsHydration"])(settingsGroup, window.wcSettings)(_layout__WEBPACK_IMPORTED_MODULE_4__[/* PageLayout */ "b"]);
19251
- var hydrateSettings = window.wcSettings.preloadSettings && window.wcSettings.preloadSettings.general;
19252
 
19253
- if (hydrateSettings) {
19254
- HydratedPageLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__["withSettingsHydration"])('general', {
19255
- general: window.wcSettings.preloadSettings.general
19256
- })(HydratedPageLayout);
19257
- }
 
 
 
 
 
 
 
 
 
 
 
 
19258
 
19259
- if (hydrateUser) {
19260
- HydratedPageLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__["withCurrentUserHydration"])(hydrateUser)(HydratedPageLayout);
19261
- }
 
 
19262
 
19263
- Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(HydratedPageLayout, null), appRoot);
19264
- } else if (embeddedRoot) {
19265
- var HydratedEmbedLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__["withSettingsHydration"])(settingsGroup, window.wcSettings)(_layout__WEBPACK_IMPORTED_MODULE_4__[/* EmbedLayout */ "a"]);
 
19266
 
19267
- if (hydrateUser) {
19268
- HydratedEmbedLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__["withCurrentUserHydration"])(hydrateUser)(HydratedEmbedLayout);
19269
- } // Render the header.
19270
 
 
 
 
 
 
 
19271
 
19272
- Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(HydratedEmbedLayout, null), embeddedRoot);
19273
- embeddedRoot.classList.remove('is-embed-loading'); // Render notices just above the WP content div.
19274
 
19275
- var wpBody = document.getElementById('wpbody-content');
19276
- var wrap = wpBody.querySelector('.wrap.woocommerce') || wpBody.querySelector('[class="wrap"]');
19277
- var noticeContainer = document.createElement('div');
19278
- Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
19279
- className: "woocommerce-layout"
19280
- }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_layout__WEBPACK_IMPORTED_MODULE_4__[/* PrimaryLayout */ "c"], null)), wpBody.insertBefore(noticeContainer, wrap));
19281
- } // Render the CustomerEffortScoreTracksContainer only if
19282
- // the feature flag is enabled.
19283
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19284
 
19285
- if (window.wcAdminFeatures && window.wcAdminFeatures['customer-effort-score-tracks'] === true) {
19286
- // Set up customer effort score survey.
19287
- (function () {
19288
- var root = appRoot || embeddedRoot;
19289
- Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_customer_effort_score_tracks__WEBPACK_IMPORTED_MODULE_5__[/* CustomerEffortScoreTracksContainer */ "a"], null), root.insertBefore(document.createElement('div'), null));
19290
- })();
19291
- }
19292
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(96)))
19293
 
19294
- /***/ }),
19295
- /* 419 */,
19296
- /* 420 */
19297
- /***/ (function(module, exports, __webpack_require__) {
19298
 
19299
- // extracted by mini-css-extract-plugin
 
 
 
 
 
 
 
 
 
 
 
 
19300
 
19301
- /***/ }),
19302
- /* 421 */
19303
- /***/ (function(module, exports) {
19304
 
19305
- (function() { module.exports = window["wc"]["notices"]; }());
 
 
19306
 
19307
- /***/ }),
19308
- /* 42
95
  /******/
96
  /******/
97
  /******/ // mini-css-extract-plugin CSS loading
98
+ /******/ var cssChunks = {"0":1,"3":1,"4":1,"7":1,"9":1,"14":1,"20":1,"28":1,"29":1,"32":1,"34":1,"36":1,"46":1,"47":1,"48":1};
99
  /******/ if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);
100
  /******/ else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {
101
  /******/ promises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {
259
  /******/
260
  /******/
261
  /******/ // Load entry module and return exports
262
+ /******/ return __webpack_require__(__webpack_require__.s = 298);
263
  /******/ })
264
  /************************************************************************/
265
+ /******/ ({
266
+
267
+ /***/ 0:
268
  /***/ (function(module, exports) {
269
 
270
+ (function() { module.exports = this["wp"]["element"]; }());
271
 
272
  /***/ }),
273
+
274
+ /***/ 1:
275
  /***/ (function(module, exports, __webpack_require__) {
276
 
277
  /**
284
  if (false) { var throwOnDirectAccess, ReactIs; } else {
285
  // By explicitly using `prop-types` you are opting into new production behavior.
286
  // http://fb.me/prop-types-in-prod
287
+ module.exports = __webpack_require__(76)();
288
  }
289
 
290
 
291
  /***/ }),
292
+
293
+ /***/ 10:
294
  /***/ (function(module, exports) {
295
 
296
+ (function() { module.exports = this["React"]; }());
297
 
298
  /***/ }),
 
 
299
 
300
+ /***/ 105:
301
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
302
 
303
+ "use strict";
304
+ /* unused harmony export getFullUrl */
305
+ /* unused harmony export getMatchScore */
306
+ /* unused harmony export getDefaultMatchExpression */
307
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return addHistoryListener; });
308
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getMatchingItem; });
309
+ /* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21);
310
+ /* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__);
311
+ /* harmony import */ var _woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(25);
312
 
 
 
 
313
 
314
+ /**
315
+ * External dependencies
316
+ */
317
 
318
+ /**
319
+ * Get the full URL if a relative path is passed.
320
+ *
321
+ * @param {string} url URL
322
+ * @return {string} Full URL
323
+ */
324
 
325
+ var getFullUrl = function getFullUrl(url) {
326
+ var _window$location = window.location,
327
+ origin = _window$location.origin,
328
+ pathname = _window$location.pathname,
329
+ search = _window$location.search;
330
 
331
+ if (url.indexOf('#') === 0) {
332
+ return origin + pathname + search + url;
333
+ }
334
 
335
+ if (url.indexOf('http') === 0) {
336
+ return url;
 
 
 
337
  }
 
338
 
339
+ return origin + url;
340
+ };
341
+ /**
342
+ * Get a match score for a menu item given a location.
343
+ *
344
+ * @param {Object} location Window location
345
+ * @param {string} itemUrl URL to compare
346
+ * @param {string} itemExpression Custom match expression
347
+ * @return {number} Number of matches or 0 if not matched.
348
+ */
349
 
350
+ var getMatchScore = function getMatchScore(location, itemUrl) {
351
+ var itemExpression = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
 
352
 
353
+ if (!itemUrl) {
354
+ return;
 
 
 
 
 
 
 
 
355
  }
356
 
357
+ var fullUrl = getFullUrl(itemUrl);
358
+ var href = location.href; // Return highest possible score for exact match.
 
 
359
 
360
+ if (fullUrl === href) {
361
+ return Number.MAX_SAFE_INTEGER;
362
+ }
363
 
364
+ var defaultExpression = getDefaultMatchExpression(fullUrl);
365
+ var regexp = new RegExp(itemExpression || defaultExpression, 'i');
366
+ return (decodeURIComponent(href).match(regexp) || []).length;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
367
  };
368
+ /**
369
+ * Get a default expression to match the path and provided params.
370
+ *
371
+ * @param {string} url URL to match.
372
+ * @return {string} Regex expression.
373
+ */
374
 
375
+ var getDefaultMatchExpression = function getDefaultMatchExpression(url) {
376
+ var escapedUrl = url.replace(/[-\/\\^$*+?.()|[\]{}]/gi, '\\$&');
377
 
378
+ var _escapedUrl$split = escapedUrl.split(/\\\?|#/),
379
+ _escapedUrl$split2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_escapedUrl$split, 3),
380
+ path = _escapedUrl$split2[0],
381
+ args = _escapedUrl$split2[1],
382
+ hash = _escapedUrl$split2[2];
383
 
384
+ var hashExpression = hash ? "(.*#".concat(hash, "$)") : '';
385
+ var argsExpression = args ? args.split('&').reduce(function (acc, param) {
386
+ return "".concat(acc, "(?=.*[?|&]").concat(param, "(&|$|#))");
387
+ }, '') : '';
388
+ return '^' + path + argsExpression + hashExpression;
389
  };
390
+ /**
391
+ * Adds a listener that runs on history change.
392
+ *
393
+ * @param {Function} listener Listener to add on history change.
394
+ * @return {Function} Function to remove listeners.
395
+ */
396
 
397
+ var addHistoryListener = function addHistoryListener(listener) {
398
+ // Monkey patch pushState to allow trigger the pushstate event listener.
399
+ if (!window.wcNavigation.historyPatched) {
400
+ (function (history) {
401
+ /* global CustomEvent */
402
+ var pushState = history.pushState;
403
+ var replaceState = history.replaceState;
404
 
405
+ history.pushState = function (state) {
406
+ var pushStateEvent = new CustomEvent('pushstate', {
407
+ state: state
408
+ });
409
+ window.dispatchEvent(pushStateEvent);
410
+ return pushState.apply(history, arguments);
411
+ };
 
412
 
413
+ history.replaceState = function (state) {
414
+ var replaceStateEvent = new CustomEvent('replacestate', {
415
+ state: state
416
+ });
417
+ window.dispatchEvent(replaceStateEvent);
418
+ return replaceState.apply(history, arguments);
419
+ };
420
 
421
+ window.wcNavigation.historyPatched = true;
422
+ })(window.history);
423
+ }
424
 
425
+ window.addEventListener('popstate', listener);
426
+ window.addEventListener('pushstate', listener);
427
+ window.addEventListener('replacestate', listener);
428
+ return function () {
429
+ window.removeEventListener('popstate', listener);
430
+ window.removeEventListener('pushstate', listener);
431
+ window.removeEventListener('replacestate', listener);
432
+ };
433
  };
434
+ /**
435
+ * Get the closest matching item.
436
+ *
437
+ * @param {Array} items An array of items to match against.
438
+ */
439
 
440
+ var getMatchingItem = function getMatchingItem(items) {
441
+ var matchedItem = null;
442
+ var highestMatchScore = 0;
443
+ items.forEach(function (item) {
444
+ var score = getMatchScore(window.location, Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_1__[/* getAdminLink */ "f"])(item.url), item.matchExpression);
445
 
446
+ if (score > 0 && score >= highestMatchScore) {
447
+ highestMatchScore = score;
448
+ matchedItem = item;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
449
  }
450
+ });
451
+ return matchedItem || null;
 
452
  };
453
 
 
454
  /***/ }),
 
 
 
 
455
 
456
+ /***/ 11:
 
 
 
 
 
 
 
457
  /***/ (function(module, exports) {
458
 
459
+ function _classCallCheck(instance, Constructor) {
460
+ if (!(instance instanceof Constructor)) {
461
+ throw new TypeError("Cannot call a class as a function");
462
+ }
 
463
  }
464
 
465
+ module.exports = _classCallCheck;
466
 
467
  /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
468
 
469
+ /***/ 110:
 
470
  /***/ (function(module, exports) {
471
 
472
+ (function() { module.exports = this["wc"]["currency"]; }());
473
 
474
  /***/ }),
 
 
475
 
476
+ /***/ 12:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
477
  /***/ (function(module, exports) {
478
 
479
+ function _defineProperties(target, props) {
480
+ for (var i = 0; i < props.length; i++) {
481
+ var descriptor = props[i];
482
+ descriptor.enumerable = descriptor.enumerable || false;
483
+ descriptor.configurable = true;
484
+ if ("value" in descriptor) descriptor.writable = true;
485
+ Object.defineProperty(target, descriptor.key, descriptor);
486
  }
487
+ }
488
 
489
+ function _createClass(Constructor, protoProps, staticProps) {
490
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
491
+ if (staticProps) _defineProperties(Constructor, staticProps);
492
+ return Constructor;
493
  }
494
 
495
+ module.exports = _createClass;
496
 
497
  /***/ }),
 
 
498
 
499
+ /***/ 121:
500
+ /***/ (function(module, exports, __webpack_require__) {
 
501
 
502
+ "use strict";
503
+ var _extends=Object.assign||function(a){for(var c,b=1;b<arguments.length;b++)for(var d in c=arguments[b],c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=c[d]);return a};Object.defineProperty(exports,'__esModule',{value:!0});exports.default=function(a){var b=a.size,c=b===void 0?24:b,d=a.onClick,e=a.icon,f=a.className,g=_objectWithoutProperties(a,['size','onClick','icon','className']),j=['gridicon','gridicons-cross-small',f,!1,!1,!1].filter(Boolean).join(' ');return _react2.default.createElement('svg',_extends({className:j,height:c,width:c,onClick:d},g,{xmlns:'http://www.w3.org/2000/svg',viewBox:'0 0 24 24'}),_react2.default.createElement('g',null,_react2.default.createElement('path',{d:'M17.705 7.705l-1.41-1.41L12 10.59 7.705 6.295l-1.41 1.41L10.59 12l-4.295 4.295 1.41 1.41L12 13.41l4.295 4.295 1.41-1.41L13.41 12l4.295-4.295z'})))};var _react=__webpack_require__(10),_react2=_interopRequireDefault(_react);function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _objectWithoutProperties(a,b){var d={};for(var c in a)0<=b.indexOf(c)||Object.prototype.hasOwnProperty.call(a,c)&&(d[c]=a[c]);return d}module.exports=exports['default'];
 
 
 
 
504
 
505
 
506
  /***/ }),
 
 
 
 
507
 
508
+ /***/ 125:
509
+ /***/ (function(module, exports) {
 
510
 
511
+ // shim for using process in browser
512
+ var process = module.exports = {};
 
513
 
514
+ // cached from whatever global is present so that test runners that stub it
515
+ // don't break things. But we need to wrap it in a try catch in case it is
516
+ // wrapped in strict mode code which doesn't define any globals. It's inside a
517
+ // function because try/catches deoptimize in certain engines.
518
 
519
+ var cachedSetTimeout;
520
+ var cachedClearTimeout;
521
 
522
+ function defaultSetTimout() {
523
+ throw new Error('setTimeout has not been defined');
 
 
 
 
 
 
524
  }
525
+ function defaultClearTimeout () {
526
+ throw new Error('clearTimeout has not been defined');
 
 
 
 
 
 
 
 
 
 
 
 
 
527
  }
528
+ (function () {
529
+ try {
530
+ if (typeof setTimeout === 'function') {
531
+ cachedSetTimeout = setTimeout;
532
+ } else {
533
+ cachedSetTimeout = defaultSetTimout;
534
+ }
535
+ } catch (e) {
536
+ cachedSetTimeout = defaultSetTimout;
537
+ }
538
+ try {
539
+ if (typeof clearTimeout === 'function') {
540
+ cachedClearTimeout = clearTimeout;
541
+ } else {
542
+ cachedClearTimeout = defaultClearTimeout;
543
+ }
544
+ } catch (e) {
545
+ cachedClearTimeout = defaultClearTimeout;
546
+ }
547
+ } ())
548
+ function runTimeout(fun) {
549
+ if (cachedSetTimeout === setTimeout) {
550
+ //normal enviroments in sane situations
551
+ return setTimeout(fun, 0);
552
+ }
553
+ // if setTimeout wasn't available but was latter defined
554
+ if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
555
+ cachedSetTimeout = setTimeout;
556
+ return setTimeout(fun, 0);
557
+ }
558
+ try {
559
+ // when when somebody has screwed with setTimeout but no I.E. maddness
560
+ return cachedSetTimeout(fun, 0);
561
+ } catch(e){
562
+ try {
563
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
564
+ return cachedSetTimeout.call(null, fun, 0);
565
+ } catch(e){
566
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
567
+ return cachedSetTimeout.call(this, fun, 0);
568
+ }
569
+ }
570
 
 
 
 
 
 
571
 
572
+ }
573
+ function runClearTimeout(marker) {
574
+ if (cachedClearTimeout === clearTimeout) {
575
+ //normal enviroments in sane situations
576
+ return clearTimeout(marker);
577
+ }
578
+ // if clearTimeout wasn't available but was latter defined
579
+ if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
580
+ cachedClearTimeout = clearTimeout;
581
+ return clearTimeout(marker);
582
+ }
583
+ try {
584
+ // when when somebody has screwed with setTimeout but no I.E. maddness
585
+ return cachedClearTimeout(marker);
586
+ } catch (e){
587
+ try {
588
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
589
+ return cachedClearTimeout.call(null, marker);
590
+ } catch (e){
591
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
592
+ // Some versions of I.E. have different rules for clearTimeout vs setTimeout
593
+ return cachedClearTimeout.call(this, marker);
594
+ }
595
+ }
596
 
 
 
 
597
 
 
598
 
599
+ }
600
+ var queue = [];
601
+ var draining = false;
602
+ var currentQueue;
603
+ var queueIndex = -1;
604
 
605
+ function cleanUpNextTick() {
606
+ if (!draining || !currentQueue) {
607
+ return;
608
+ }
609
+ draining = false;
610
+ if (currentQueue.length) {
611
+ queue = currentQueue.concat(queue);
612
+ } else {
613
+ queueIndex = -1;
614
+ }
615
+ if (queue.length) {
616
+ drainQueue();
617
  }
 
 
618
  }
619
 
620
+ function drainQueue() {
621
+ if (draining) {
622
+ return;
623
+ }
624
+ var timeout = runTimeout(cleanUpNextTick);
625
+ draining = true;
 
 
 
 
 
 
 
 
626
 
627
+ var len = queue.length;
628
+ while(len) {
629
+ currentQueue = queue;
630
+ queue = [];
631
+ while (++queueIndex < len) {
632
+ if (currentQueue) {
633
+ currentQueue[queueIndex].run();
634
+ }
635
+ }
636
+ queueIndex = -1;
637
+ len = queue.length;
638
+ }
639
+ currentQueue = null;
640
+ draining = false;
641
+ runClearTimeout(timeout);
642
  }
643
 
644
+ process.nextTick = function (fun) {
645
+ var args = new Array(arguments.length - 1);
646
+ if (arguments.length > 1) {
647
+ for (var i = 1; i < arguments.length; i++) {
648
+ args[i - 1] = arguments[i];
649
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
650
  }
651
+ queue.push(new Item(fun, args));
652
+ if (queue.length === 1 && !draining) {
653
+ runTimeout(drainQueue);
654
  }
655
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
656
 
657
+ // v8 likes predictible objects
658
+ function Item(fun, array) {
659
+ this.fun = fun;
660
+ this.array = array;
661
+ }
662
+ Item.prototype.run = function () {
663
+ this.fun.apply(null, this.array);
664
  };
665
+ process.title = 'browser';
666
+ process.browser = true;
667
+ process.env = {};
668
+ process.argv = [];
669
+ process.version = ''; // empty string to avoid regexp issues
670
+ process.versions = {};
671
 
672
+ function noop() {}
673
 
674
+ process.on = noop;
675
+ process.addListener = noop;
676
+ process.once = noop;
677
+ process.off = noop;
678
+ process.removeListener = noop;
679
+ process.removeAllListeners = noop;
680
+ process.emit = noop;
681
+ process.prependListener = noop;
682
+ process.prependOnceListener = noop;
683
 
684
+ process.listeners = function (name) { return [] }
 
685
 
686
+ process.binding = function (name) {
687
+ throw new Error('process.binding is not supported');
688
  };
689
 
690
+ process.cwd = function () { return '/' };
691
+ process.chdir = function (dir) {
692
+ throw new Error('process.chdir is not supported');
693
  };
694
+ process.umask = function() { return 0; };
695
 
696
 
697
  /***/ }),
 
 
698
 
699
+ /***/ 126:
700
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
701
 
702
+ "use strict";
703
 
 
 
 
704
 
705
+ if (true) {
706
+ module.exports = __webpack_require__(152);
707
+ } else {}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
708
 
709
 
710
  /***/ }),
711
+
712
+ /***/ 13:
713
  /***/ (function(module, exports, __webpack_require__) {
714
 
715
+ var setPrototypeOf = __webpack_require__(75);
716
 
717
+ function _inherits(subClass, superClass) {
718
+ if (typeof superClass !== "function" && superClass !== null) {
719
+ throw new TypeError("Super expression must either be null or a function");
720
+ }
721
 
722
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
723
+ constructor: {
724
+ value: subClass,
725
+ writable: true,
726
+ configurable: true
727
+ }
728
+ });
729
+ if (superClass) setPrototypeOf(subClass, superClass);
730
+ }
731
 
732
+ module.exports = _inherits;
733
 
734
  /***/ }),
 
 
735
 
736
+ /***/ 138:
737
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
738
 
739
+ "use strict";
740
+ /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
741
+ /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
742
+ /* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42);
743
+ /* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__);
744
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
745
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
746
+ /* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(25);
747
+ /**
748
+ * External dependencies
749
+ */
750
 
 
751
 
752
 
753
+ /**
754
+ * Internal dependencies
755
+ */
756
 
 
 
 
 
757
 
758
+ var manageStock = Object(_settings__WEBPACK_IMPORTED_MODULE_3__[/* getSetting */ "g"])('manageStock', 'no');
759
+ var REPORTS_FILTER = 'woocommerce_admin_reports_list';
760
+ /**
761
+ * Internal dependencies
762
+ */
763
 
764
+ var RevenueReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["lazy"])(function () {
765
+ return Promise.all(/* import() | analytics-report-revenue */[__webpack_require__.e(0), __webpack_require__.e(16)]).then(__webpack_require__.bind(null, 489));
766
+ });
767
+ var ProductsReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["lazy"])(function () {
768
+ return Promise.all(/* import() | analytics-report-products */[__webpack_require__.e(0), __webpack_require__.e(3), __webpack_require__.e(15)]).then(__webpack_require__.bind(null, 485));
769
+ });
770
+ var VariationsReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["lazy"])(function () {
771
+ return Promise.all(/* import() | analytics-report-variations */[__webpack_require__.e(0), __webpack_require__.e(19)]).then(__webpack_require__.bind(null, 490));
772
+ });
773
+ var OrdersReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["lazy"])(function () {
774
+ return Promise.all(/* import() | analytics-report-orders */[__webpack_require__.e(0), __webpack_require__.e(5), __webpack_require__.e(14)]).then(__webpack_require__.bind(null, 491));
775
+ });
776
+ var CategoriesReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["lazy"])(function () {
777
+ return Promise.all(/* import() | analytics-report-categories */[__webpack_require__.e(0), __webpack_require__.e(3), __webpack_require__.e(10)]).then(__webpack_require__.bind(null, 487));
778
+ });
779
+ var CouponsReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["lazy"])(function () {
780
+ return Promise.all(/* import() | analytics-report-coupons */[__webpack_require__.e(0), __webpack_require__.e(11)]).then(__webpack_require__.bind(null, 492));
781
+ });
782
+ var TaxesReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["lazy"])(function () {
783
+ return Promise.all(/* import() | analytics-report-taxes */[__webpack_require__.e(0), __webpack_require__.e(18)]).then(__webpack_require__.bind(null, 493));
784
+ });
785
+ var DownloadsReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["lazy"])(function () {
786
+ return Promise.all(/* import() | analytics-report-downloads */[__webpack_require__.e(0), __webpack_require__.e(13)]).then(__webpack_require__.bind(null, 494));
787
+ });
788
+ var StockReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["lazy"])(function () {
789
+ return Promise.all(/* import() | analytics-report-stock */[__webpack_require__.e(0), __webpack_require__.e(17)]).then(__webpack_require__.bind(null, 486));
790
+ });
791
+ var CustomersReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["lazy"])(function () {
792
+ return Promise.all(/* import() | analytics-report-customers */[__webpack_require__.e(0), __webpack_require__.e(12)]).then(__webpack_require__.bind(null, 488));
793
+ });
794
+ /* harmony default export */ __webpack_exports__["a"] = (function () {
795
+ var reports = [{
796
+ report: 'revenue',
797
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Revenue', 'woocommerce-admin'),
798
+ component: RevenueReport,
799
+ navArgs: {
800
+ id: 'woocommerce-analytics-revenue'
801
+ }
802
+ }, {
803
+ report: 'products',
804
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Products', 'woocommerce-admin'),
805
+ component: ProductsReport,
806
+ navArgs: {
807
+ id: 'woocommerce-analytics-products'
808
+ }
809
+ }, {
810
+ report: 'variations',
811
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Variations', 'woocommerce-admin'),
812
+ component: VariationsReport,
813
+ navArgs: {
814
+ id: 'woocommerce-analytics-variations'
815
+ }
816
+ }, {
817
+ report: 'orders',
818
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Orders', 'woocommerce-admin'),
819
+ component: OrdersReport,
820
+ navArgs: {
821
+ id: 'woocommerce-analytics-orders'
822
+ }
823
+ }, {
824
+ report: 'categories',
825
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Categories', 'woocommerce-admin'),
826
+ component: CategoriesReport,
827
+ navArgs: {
828
+ id: 'woocommerce-analytics-categories'
829
+ }
830
+ }, {
831
+ report: 'coupons',
832
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Coupons', 'woocommerce-admin'),
833
+ component: CouponsReport,
834
+ navArgs: {
835
+ id: 'woocommerce-analytics-coupons'
836
+ }
837
+ }, {
838
+ report: 'taxes',
839
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Taxes', 'woocommerce-admin'),
840
+ component: TaxesReport,
841
+ navArgs: {
842
+ id: 'woocommerce-analytics-taxes'
843
+ }
844
+ }, manageStock === 'yes' ? {
845
+ report: 'stock',
846
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Stock', 'woocommerce-admin'),
847
+ component: StockReport,
848
+ navArgs: {
849
+ id: 'woocommerce-analytics-stock'
850
+ }
851
+ } : null, {
852
+ report: 'customers',
853
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Customers', 'woocommerce-admin'),
854
+ component: CustomersReport
855
+ }, {
856
+ report: 'downloads',
857
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Downloads', 'woocommerce-admin'),
858
+ component: DownloadsReport,
859
+ navArgs: {
860
+ id: 'woocommerce-analytics-downloads'
861
+ }
862
+ }].filter(Boolean);
863
+ return Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(REPORTS_FILTER, reports);
864
  });
 
865
 
866
  /***/ }),
 
 
867
 
868
+ /***/ 139:
869
+ /***/ (function(module, exports, __webpack_require__) {
870
 
871
+ "use strict";
 
 
 
 
872
 
873
 
874
+ var reactIs = __webpack_require__(126);
 
 
875
 
876
+ /**
877
+ * Copyright 2015, Yahoo! Inc.
878
+ * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
879
+ */
880
+ var REACT_STATICS = {
881
+ childContextTypes: true,
882
+ contextType: true,
883
+ contextTypes: true,
884
+ defaultProps: true,
885
+ displayName: true,
886
+ getDefaultProps: true,
887
+ getDerivedStateFromError: true,
888
+ getDerivedStateFromProps: true,
889
+ mixins: true,
890
+ propTypes: true,
891
+ type: true
892
+ };
893
+ var KNOWN_STATICS = {
894
+ name: true,
895
+ length: true,
896
+ prototype: true,
897
+ caller: true,
898
+ callee: true,
899
+ arguments: true,
900
+ arity: true
901
+ };
902
+ var FORWARD_REF_STATICS = {
903
+ '$$typeof': true,
904
+ render: true,
905
+ defaultProps: true,
906
+ displayName: true,
907
+ propTypes: true
908
+ };
909
+ var MEMO_STATICS = {
910
+ '$$typeof': true,
911
+ compare: true,
912
+ defaultProps: true,
913
+ displayName: true,
914
+ propTypes: true,
915
+ type: true
916
  };
917
+ var TYPE_STATICS = {};
918
+ TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
919
+ TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
920
 
921
+ function getStatics(component) {
922
+ // React v16.11 and below
923
+ if (reactIs.isMemo(component)) {
924
+ return MEMO_STATICS;
925
+ } // React v16.12 and above
926
 
 
 
 
927
 
928
+ return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
929
+ }
 
 
 
 
 
 
 
 
 
 
 
 
930
 
931
+ var defineProperty = Object.defineProperty;
932
+ var getOwnPropertyNames = Object.getOwnPropertyNames;
933
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
934
+ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
935
+ var getPrototypeOf = Object.getPrototypeOf;
936
+ var objectPrototype = Object.prototype;
937
+ function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
938
+ if (typeof sourceComponent !== 'string') {
939
+ // don't hoist over string (html) components
940
+ if (objectPrototype) {
941
+ var inheritedComponent = getPrototypeOf(sourceComponent);
942
 
943
+ if (inheritedComponent && inheritedComponent !== objectPrototype) {
944
+ hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
945
+ }
946
+ }
947
 
948
+ var keys = getOwnPropertyNames(sourceComponent);
949
 
950
+ if (getOwnPropertySymbols) {
951
+ keys = keys.concat(getOwnPropertySymbols(sourceComponent));
952
+ }
953
 
954
+ var targetStatics = getStatics(targetComponent);
955
+ var sourceStatics = getStatics(sourceComponent);
956
 
957
+ for (var i = 0; i < keys.length; ++i) {
958
+ var key = keys[i];
 
 
 
 
 
 
959
 
960
+ if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
961
+ var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
962
 
963
+ try {
964
+ // Avoid failures from read-only properties
965
+ defineProperty(targetComponent, key, descriptor);
966
+ } catch (e) {}
967
+ }
968
+ }
969
+ }
970
 
971
+ return targetComponent;
972
+ }
973
 
974
+ module.exports = hoistNonReactStatics;
 
 
 
 
975
 
976
 
977
  /***/ }),
 
 
978
 
979
+ /***/ 14:
980
+ /***/ (function(module, exports, __webpack_require__) {
981
 
982
+ var _typeof = __webpack_require__(30);
983
 
984
+ var assertThisInitialized = __webpack_require__(8);
985
 
986
+ function _possibleConstructorReturn(self, call) {
987
+ if (call && (_typeof(call) === "object" || typeof call === "function")) {
988
+ return call;
989
+ }
990
 
991
+ return assertThisInitialized(self);
 
992
  }
993
 
994
+ module.exports = _possibleConstructorReturn;
995
 
996
  /***/ }),
 
 
997
 
998
+ /***/ 140:
999
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1000
 
1001
+ "use strict";
1002
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useIsScrolled; });
1003
+ /* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21);
1004
+ /* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__);
1005
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0);
1006
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__);
1007
 
 
1008
 
1009
+ /**
1010
+ * External dependencies
1011
+ */
1012
 
1013
+ function useIsScrolled() {
1014
+ var _useState = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useState"])(false),
1015
+ _useState2 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_useState, 2),
1016
+ isScrolled = _useState2[0],
1017
+ setIsScrolled = _useState2[1];
1018
 
1019
+ var rafHandle = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useRef"])(null);
1020
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useEffect"])(function () {
1021
+ var updateIsScrolled = function updateIsScrolled() {
1022
+ setIsScrolled(window.pageYOffset > 20);
1023
+ };
1024
 
1025
+ var scrollListener = function scrollListener() {
1026
+ rafHandle.current = window.requestAnimationFrame(updateIsScrolled);
1027
+ };
1028
 
1029
+ window.addEventListener('scroll', scrollListener);
1030
+ return function () {
1031
+ window.removeEventListener('scroll', scrollListener);
1032
+ window.cancelAnimationFrame(rafHandle.current);
1033
+ };
1034
+ }, []);
1035
+ return isScrolled;
1036
+ }
1037
 
1038
+ /***/ }),
 
1039
 
1040
+ /***/ 141:
1041
+ /***/ (function(module, exports) {
 
1042
 
1043
+ (function() { module.exports = this["wp"]["plugins"]; }());
 
 
 
 
 
 
 
1044
 
1045
+ /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1046
 
1047
+ /***/ 142:
1048
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 
 
 
1049
 
1050
+ "use strict";
1051
 
1052
+ // EXPORTS
1053
+ __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ speak; });
 
1054
 
1055
+ // UNUSED EXPORTS: setup
 
1056
 
1057
+ // EXTERNAL MODULE: ./node_modules/@wordpress/dom-ready/build-module/index.js
1058
+ var build_module = __webpack_require__(54);
 
 
 
 
 
1059
 
1060
+ // EXTERNAL MODULE: external {"this":["wp","i18n"]}
1061
+ var external_this_wp_i18n_ = __webpack_require__(2);
1062
 
1063
+ // CONCATENATED MODULE: ./node_modules/@wordpress/a11y/build-module/add-intro-text.js
1064
+ /**
1065
+ * WordPress dependencies
1066
+ */
1067
 
1068
+ /**
1069
+ * Build the explanatory text to be placed before the aria live regions.
1070
+ *
1071
+ * This text is initially hidden from assistive technologies by using a `hidden`
1072
+ * HTML attribute which is then removed once a message fills the aria-live regions.
1073
+ *
1074
+ * @return {HTMLParagraphElement} The explanatory text HTML element.
1075
+ */
1076
 
1077
+ function addIntroText() {
1078
+ var introText = document.createElement('p');
1079
+ introText.id = 'a11y-speak-intro-text';
1080
+ introText.className = 'a11y-speak-intro-text';
1081
+ introText.textContent = Object(external_this_wp_i18n_["__"])('Notifications');
1082
+ introText.setAttribute('style', 'position: absolute;' + 'margin: -1px;' + 'padding: 0;' + 'height: 1px;' + 'width: 1px;' + 'overflow: hidden;' + 'clip: rect(1px, 1px, 1px, 1px);' + '-webkit-clip-path: inset(50%);' + 'clip-path: inset(50%);' + 'border: 0;' + 'word-wrap: normal !important;');
1083
+ introText.setAttribute('hidden', 'hidden');
1084
+ var _document = document,
1085
+ body = _document.body;
1086
 
1087
+ if (body) {
1088
+ body.appendChild(introText);
1089
+ }
1090
 
1091
+ return introText;
1092
+ }
1093
+ //# sourceMappingURL=add-intro-text.js.map
1094
+ // CONCATENATED MODULE: ./node_modules/@wordpress/a11y/build-module/add-container.js
1095
+ /**
1096
+ * Build the live regions markup.
1097
+ *
1098
+ * @param {string} [ariaLive] Value for the 'aria-live' attribute; default: 'polite'.
1099
+ *
1100
+ * @return {HTMLDivElement} The ARIA live region HTML element.
1101
+ */
1102
+ function addContainer() {
1103
+ var ariaLive = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'polite';
1104
+ var container = document.createElement('div');
1105
+ container.id = "a11y-speak-".concat(ariaLive);
1106
+ container.className = 'a11y-speak-region';
1107
+ container.setAttribute('style', 'position: absolute;' + 'margin: -1px;' + 'padding: 0;' + 'height: 1px;' + 'width: 1px;' + 'overflow: hidden;' + 'clip: rect(1px, 1px, 1px, 1px);' + '-webkit-clip-path: inset(50%);' + 'clip-path: inset(50%);' + 'border: 0;' + 'word-wrap: normal !important;');
1108
+ container.setAttribute('aria-live', ariaLive);
1109
+ container.setAttribute('aria-relevant', 'additions text');
1110
+ container.setAttribute('aria-atomic', 'true');
1111
+ var _document = document,
1112
+ body = _document.body;
1113
 
1114
+ if (body) {
1115
+ body.appendChild(container);
1116
+ }
1117
 
1118
+ return container;
1119
+ }
1120
+ //# sourceMappingURL=add-container.js.map
1121
+ // CONCATENATED MODULE: ./node_modules/@wordpress/a11y/build-module/clear.js
1122
+ /**
1123
+ * Clears the a11y-speak-region elements and hides the explanatory text.
1124
+ */
1125
+ function clear() {
1126
+ var regions = document.getElementsByClassName('a11y-speak-region');
1127
+ var introText = document.getElementById('a11y-speak-intro-text');
1128
 
1129
+ for (var i = 0; i < regions.length; i++) {
1130
+ regions[i].textContent = '';
1131
+ } // Make sure the explanatory text is hidden from assistive technologies.
1132
 
 
 
 
1133
 
1134
+ if (introText) {
1135
+ introText.setAttribute('hidden', 'hidden');
 
 
 
 
 
 
 
 
 
 
 
1136
  }
1137
  }
1138
+ //# sourceMappingURL=clear.js.map
1139
+ // CONCATENATED MODULE: ./node_modules/@wordpress/a11y/build-module/filter-message.js
1140
+ var previousMessage = '';
1141
+ /**
1142
+ * Filter the message to be announced to the screenreader.
1143
+ *
1144
+ * @param {string} message The message to be announced.
1145
+ *
1146
+ * @return {string} The filtered message.
1147
+ */
1148
 
1149
+ function filterMessage(message) {
1150
+ /*
1151
+ * Strip HTML tags (if any) from the message string. Ideally, messages should
1152
+ * be simple strings, carefully crafted for specific use with A11ySpeak.
1153
+ * When re-using already existing strings this will ensure simple HTML to be
1154
+ * stripped out and replaced with a space. Browsers will collapse multiple
1155
+ * spaces natively.
1156
+ */
1157
+ message = message.replace(/<[^<>]+>/g, ' ');
1158
+ /*
1159
+ * Safari + VoiceOver don't announce repeated, identical strings. We use
1160
+ * a `no-break space` to force them to think identical strings are different.
1161
+ */
1162
 
1163
+ if (previousMessage === message) {
1164
+ message += "\xA0";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1165
  }
 
1166
 
1167
+ previousMessage = message;
1168
+ return message;
1169
+ }
1170
+ //# sourceMappingURL=filter-message.js.map
1171
+ // CONCATENATED MODULE: ./node_modules/@wordpress/a11y/build-module/index.js
1172
+ /**
1173
+ * WordPress dependencies
1174
+ */
1175
 
1176
+ /**
1177
+ * Internal dependencies
1178
+ */
1179
 
 
 
1180
 
 
1181
 
 
 
 
1182
 
1183
 
1184
+ /**
1185
+ * Create the live regions.
1186
+ */
1187
 
1188
+ function setup() {
1189
+ var introText = document.getElementById('a11y-speak-intro-text');
1190
+ var containerAssertive = document.getElementById('a11y-speak-assertive');
1191
+ var containerPolite = document.getElementById('a11y-speak-polite');
1192
 
1193
+ if (introText === null) {
1194
+ addIntroText();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1195
  }
 
 
 
 
 
 
 
 
 
 
 
 
1196
 
1197
+ if (containerAssertive === null) {
1198
+ addContainer('assertive');
1199
+ }
 
 
1200
 
1201
+ if (containerPolite === null) {
1202
+ addContainer('polite');
1203
+ }
1204
+ }
1205
+ /**
1206
+ * Run setup on domReady.
1207
+ */
 
 
 
 
 
 
 
 
1208
 
1209
+ Object(build_module["a" /* default */])(setup);
1210
+ /**
1211
+ * Allows you to easily announce dynamic interface updates to screen readers using ARIA live regions.
1212
+ * This module is inspired by the `speak` function in `wp-a11y.js`.
1213
+ *
1214
+ * @param {string} message The message to be announced by assistive technologies.
1215
+ * @param {string} [ariaLive] The politeness level for aria-live; default: 'polite'.
1216
+ *
1217
+ * @example
1218
+ * ```js
1219
+ * import { speak } from '@wordpress/a11y';
1220
+ *
1221
+ * // For polite messages that shouldn't interrupt what screen readers are currently announcing.
1222
+ * speak( 'The message you want to send to the ARIA live region' );
1223
+ *
1224
+ * // For assertive messages that should interrupt what screen readers are currently announcing.
1225
+ * speak( 'The message you want to send to the ARIA live region', 'assertive' );
1226
+ * ```
1227
+ */
1228
 
1229
+ function speak(message, ariaLive) {
1230
+ /*
1231
+ * Clear previous messages to allow repeated strings being read out and hide
1232
+ * the explanatory text from assistive technologies.
1233
+ */
1234
+ clear();
1235
+ message = filterMessage(message);
1236
+ var introText = document.getElementById('a11y-speak-intro-text');
1237
+ var containerAssertive = document.getElementById('a11y-speak-assertive');
1238
+ var containerPolite = document.getElementById('a11y-speak-polite');
1239
+
1240
+ if (containerAssertive && ariaLive === 'assertive') {
1241
+ containerAssertive.textContent = message;
1242
+ } else if (containerPolite) {
1243
+ containerPolite.textContent = message;
1244
+ }
1245
+ /*
1246
+ * Make the explanatory text available to assistive technologies by removing
1247
+ * the 'hidden' HTML attribute.
1248
+ */
1249
 
 
 
 
 
 
 
1250
 
1251
+ if (introText) {
1252
+ introText.removeAttribute('hidden');
 
 
 
 
 
1253
  }
1254
+ }
1255
+ //# sourceMappingURL=index.js.map
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1256
 
1257
+ /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1258
 
1259
+ /***/ 143:
1260
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
1261
 
1262
+ "use strict";
 
 
1263
 
1264
+ // EXPORTS
1265
+ __webpack_require__.d(__webpack_exports__, "c", function() { return /* binding */ layout_PrimaryLayout; });
1266
+ __webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ PageLayout; });
1267
+ __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ EmbedLayout; });
 
1268
 
1269
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js
1270
+ var helpers_extends = __webpack_require__(24);
1271
+ var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends);
1272
 
1273
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js
1274
+ var objectWithoutProperties = __webpack_require__(34);
1275
+ var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
 
 
 
 
 
 
 
 
 
 
1276
 
1277
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
1278
+ var defineProperty = __webpack_require__(5);
1279
+ var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
1280
 
1281
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
1282
+ var classCallCheck = __webpack_require__(11);
1283
+ var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
1284
 
1285
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
1286
+ var createClass = __webpack_require__(12);
1287
+ var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1288
 
1289
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
1290
+ var inherits = __webpack_require__(13);
1291
+ var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
 
 
 
 
 
 
 
 
 
 
 
1292
 
1293
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
1294
+ var possibleConstructorReturn = __webpack_require__(14);
1295
+ var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
 
 
 
 
 
1296
 
1297
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
1298
+ var getPrototypeOf = __webpack_require__(6);
1299
+ var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
 
 
 
 
1300
 
1301
+ // EXTERNAL MODULE: external {"this":["wp","element"]}
1302
+ var external_this_wp_element_ = __webpack_require__(0);
 
 
 
 
 
 
 
 
 
 
1303
 
1304
+ // EXTERNAL MODULE: external {"this":["wp","compose"]}
1305
+ var external_this_wp_compose_ = __webpack_require__(18);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1306
 
1307
+ // EXTERNAL MODULE: external {"this":["wp","data"]}
1308
+ var external_this_wp_data_ = __webpack_require__(15);
 
 
 
 
 
 
1309
 
1310
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js
1311
+ var inheritsLoose = __webpack_require__(38);
1312
 
1313
+ // EXTERNAL MODULE: external "React"
1314
+ var external_React_ = __webpack_require__(10);
1315
+ var external_React_default = /*#__PURE__*/__webpack_require__.n(external_React_);
1316
 
1317
+ // EXTERNAL MODULE: ./node_modules/prop-types/index.js
1318
+ var prop_types = __webpack_require__(1);
1319
+ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
1320
 
1321
+ // EXTERNAL MODULE: ./node_modules/history/esm/history.js + 2 modules
1322
+ var esm_history = __webpack_require__(70);
1323
 
1324
+ // EXTERNAL MODULE: ./node_modules/mini-create-react-context/dist/esm/index.js
1325
+ var esm = __webpack_require__(181);
 
 
 
1326
 
1327
+ // EXTERNAL MODULE: ./node_modules/tiny-invariant/dist/tiny-invariant.esm.js
1328
+ var tiny_invariant_esm = __webpack_require__(56);
1329
 
1330
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
1331
+ var esm_extends = __webpack_require__(32);
 
1332
 
1333
+ // EXTERNAL MODULE: ./node_modules/path-to-regexp/index.js
1334
+ var path_to_regexp = __webpack_require__(182);
1335
+ var path_to_regexp_default = /*#__PURE__*/__webpack_require__.n(path_to_regexp);
1336
 
1337
+ // EXTERNAL MODULE: ./node_modules/react-is/index.js
1338
+ var react_is = __webpack_require__(126);
 
1339
 
1340
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
1341
+ var objectWithoutPropertiesLoose = __webpack_require__(41);
1342
 
1343
+ // EXTERNAL MODULE: ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js
1344
+ var hoist_non_react_statics_cjs = __webpack_require__(139);
1345
+ var hoist_non_react_statics_cjs_default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics_cjs);
1346
 
1347
+ // CONCATENATED MODULE: ./node_modules/react-router/esm/react-router.js
 
1348
 
 
1349
 
 
 
 
 
 
1350
 
1351
 
 
 
 
1352
 
 
1353
 
1354
 
 
 
 
1355
 
 
 
1356
 
 
 
 
 
 
 
 
1357
 
1358
 
 
 
 
1359
 
 
1360
 
1361
+ // TODO: Replace with React.createContext once we can assume React 16+
 
 
1362
 
1363
+ var react_router_createNamedContext = function createNamedContext(name) {
1364
+ var context = Object(esm["a" /* default */])();
1365
+ context.displayName = name;
1366
+ return context;
1367
+ };
1368
 
1369
+ var historyContext =
1370
+ /*#__PURE__*/
1371
+ react_router_createNamedContext("Router-History");
1372
 
1373
+ // TODO: Replace with React.createContext once we can assume React 16+
 
 
 
 
 
 
1374
 
1375
+ var createNamedContext$1 = function createNamedContext(name) {
1376
+ var context = Object(esm["a" /* default */])();
1377
+ context.displayName = name;
1378
+ return context;
1379
+ };
1380
 
1381
+ var react_router_context =
1382
+ /*#__PURE__*/
1383
+ createNamedContext$1("Router");
1384
 
1385
+ /**
1386
+ * The public API for putting history on context.
1387
+ */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1388
 
1389
+ var react_router_Router =
1390
+ /*#__PURE__*/
1391
+ function (_React$Component) {
1392
+ Object(inheritsLoose["a" /* default */])(Router, _React$Component);
1393
 
1394
+ Router.computeRootMatch = function computeRootMatch(pathname) {
1395
+ return {
1396
+ path: "/",
1397
+ url: "/",
1398
+ params: {},
1399
+ isExact: pathname === "/"
1400
+ };
1401
+ };
1402
 
1403
+ function Router(props) {
1404
+ var _this;
 
1405
 
1406
+ _this = _React$Component.call(this, props) || this;
1407
+ _this.state = {
1408
+ location: props.history.location
1409
+ }; // This is a bit of a hack. We have to start listening for location
1410
+ // changes here in the constructor in case there are any <Redirect>s
1411
+ // on the initial render. If there are, they will replace/push when
1412
+ // they mount and since cDM fires in children before parents, we may
1413
+ // get a new location before the <Router> is mounted.
1414
 
1415
+ _this._isMounted = false;
1416
+ _this._pendingLocation = null;
1417
 
1418
+ if (!props.staticContext) {
1419
+ _this.unlisten = props.history.listen(function (location) {
1420
+ if (_this._isMounted) {
1421
+ _this.setState({
1422
+ location: location
1423
+ });
1424
+ } else {
1425
+ _this._pendingLocation = location;
1426
+ }
1427
+ });
1428
+ }
1429
 
1430
+ return _this;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1431
  }
 
1432
 
1433
+ var _proto = Router.prototype;
1434
 
1435
+ _proto.componentDidMount = function componentDidMount() {
1436
+ this._isMounted = true;
1437
 
1438
+ if (this._pendingLocation) {
1439
+ this.setState({
1440
+ location: this._pendingLocation
1441
+ });
1442
+ }
1443
+ };
1444
 
1445
+ _proto.componentWillUnmount = function componentWillUnmount() {
1446
+ if (this.unlisten) this.unlisten();
1447
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1448
 
1449
+ _proto.render = function render() {
1450
+ return external_React_default.a.createElement(react_router_context.Provider, {
1451
+ value: {
1452
+ history: this.props.history,
1453
+ location: this.state.location,
1454
+ match: Router.computeRootMatch(this.state.location.pathname),
1455
+ staticContext: this.props.staticContext
1456
+ }
1457
+ }, external_React_default.a.createElement(historyContext.Provider, {
1458
+ children: this.props.children || null,
1459
+ value: this.props.history
1460
+ }));
1461
+ };
1462
 
1463
+ return Router;
1464
+ }(external_React_default.a.Component);
 
1465
 
1466
+ if (false) {}
1467
 
1468
+ /**
1469
+ * The public API for a <Router> that stores location in memory.
1470
+ */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1471
 
1472
+ var react_router_MemoryRouter =
1473
+ /*#__PURE__*/
1474
+ function (_React$Component) {
1475
+ Object(inheritsLoose["a" /* default */])(MemoryRouter, _React$Component);
1476
 
1477
+ function MemoryRouter() {
1478
+ var _this;
 
 
 
1479
 
1480
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1481
+ args[_key] = arguments[_key];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1482
  }
 
 
 
 
1483
 
1484
+ _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
1485
+ _this.history = Object(esm_history["c" /* createMemoryHistory */])(_this.props);
1486
+ return _this;
1487
+ }
1488
 
1489
+ var _proto = MemoryRouter.prototype;
 
 
1490
 
1491
+ _proto.render = function render() {
1492
+ return external_React_default.a.createElement(react_router_Router, {
1493
+ history: this.history,
1494
+ children: this.props.children
1495
+ });
1496
+ };
1497
 
1498
+ return MemoryRouter;
1499
+ }(external_React_default.a.Component);
 
1500
 
1501
+ if (false) {}
 
 
1502
 
1503
+ var react_router_Lifecycle =
1504
+ /*#__PURE__*/
1505
+ function (_React$Component) {
1506
+ Object(inheritsLoose["a" /* default */])(Lifecycle, _React$Component);
1507
 
1508
+ function Lifecycle() {
1509
+ return _React$Component.apply(this, arguments) || this;
1510
+ }
1511
 
1512
+ var _proto = Lifecycle.prototype;
1513
 
1514
+ _proto.componentDidMount = function componentDidMount() {
1515
+ if (this.props.onMount) this.props.onMount.call(this, this);
1516
+ };
1517
 
1518
+ _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
1519
+ if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);
 
 
1520
  };
 
1521
 
1522
+ _proto.componentWillUnmount = function componentWillUnmount() {
1523
+ if (this.props.onUnmount) this.props.onUnmount.call(this, this);
1524
+ };
1525
 
1526
+ _proto.render = function render() {
1527
+ return null;
1528
+ };
1529
 
1530
+ return Lifecycle;
1531
+ }(external_React_default.a.Component);
 
1532
 
1533
+ /**
1534
+ * The public API for prompting the user before navigating away from a screen.
1535
+ */
 
 
 
 
1536
 
1537
+ function Prompt(_ref) {
1538
+ var message = _ref.message,
1539
+ _ref$when = _ref.when,
1540
+ when = _ref$when === void 0 ? true : _ref$when;
1541
+ return external_React_default.a.createElement(react_router_context.Consumer, null, function (context) {
1542
+ !context ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
1543
+ if (!when || context.staticContext) return null;
1544
+ var method = context.history.block;
1545
+ return external_React_default.a.createElement(react_router_Lifecycle, {
1546
+ onMount: function onMount(self) {
1547
+ self.release = method(message);
1548
+ },
1549
+ onUpdate: function onUpdate(self, prevProps) {
1550
+ if (prevProps.message !== message) {
1551
+ self.release();
1552
+ self.release = method(message);
1553
+ }
1554
+ },
1555
+ onUnmount: function onUnmount(self) {
1556
+ self.release();
1557
+ },
1558
+ message: message
1559
+ });
1560
+ });
1561
+ }
1562
 
1563
+ if (false) { var messageType; }
1564
 
1565
+ var cache = {};
1566
+ var cacheLimit = 10000;
1567
+ var cacheCount = 0;
1568
 
1569
+ function compilePath(path) {
1570
+ if (cache[path]) return cache[path];
1571
+ var generator = path_to_regexp_default.a.compile(path);
 
 
 
 
 
1572
 
1573
+ if (cacheCount < cacheLimit) {
1574
+ cache[path] = generator;
1575
+ cacheCount++;
1576
+ }
 
 
 
 
 
 
 
 
 
 
 
 
1577
 
1578
+ return generator;
1579
+ }
1580
+ /**
1581
+ * Public API for generating a URL pathname from a path and parameters.
1582
+ */
 
 
 
 
 
 
 
 
 
 
 
1583
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1584
 
1585
+ function generatePath(path, params) {
1586
+ if (path === void 0) {
1587
+ path = "/";
1588
+ }
1589
 
1590
+ if (params === void 0) {
1591
+ params = {};
1592
+ }
1593
 
1594
+ return path === "/" ? path : compilePath(path)(params, {
1595
+ pretty: true
1596
+ });
1597
+ }
 
1598
 
1599
+ /**
1600
+ * The public API for navigating programmatically with a component.
1601
+ */
1602
 
1603
+ function Redirect(_ref) {
1604
+ var computedMatch = _ref.computedMatch,
1605
+ to = _ref.to,
1606
+ _ref$push = _ref.push,
1607
+ push = _ref$push === void 0 ? false : _ref$push;
1608
+ return external_React_default.a.createElement(react_router_context.Consumer, null, function (context) {
1609
+ !context ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
1610
+ var history = context.history,
1611
+ staticContext = context.staticContext;
1612
+ var method = push ? history.push : history.replace;
1613
+ var location = Object(esm_history["b" /* createLocation */])(computedMatch ? typeof to === "string" ? generatePath(to, computedMatch.params) : Object(esm_extends["a" /* default */])({}, to, {
1614
+ pathname: generatePath(to.pathname, computedMatch.params)
1615
+ }) : to); // When rendering in a static context,
1616
+ // set the new location immediately.
1617
 
1618
+ if (staticContext) {
1619
+ method(location);
1620
+ return null;
1621
+ }
1622
 
1623
+ return external_React_default.a.createElement(react_router_Lifecycle, {
1624
+ onMount: function onMount() {
1625
+ method(location);
1626
+ },
1627
+ onUpdate: function onUpdate(self, prevProps) {
1628
+ var prevLocation = Object(esm_history["b" /* createLocation */])(prevProps.to);
1629
 
1630
+ if (!Object(esm_history["e" /* locationsAreEqual */])(prevLocation, Object(esm_extends["a" /* default */])({}, location, {
1631
+ key: prevLocation.key
1632
+ }))) {
1633
+ method(location);
1634
+ }
1635
+ },
1636
+ to: to
1637
+ });
1638
+ });
1639
+ }
1640
 
1641
+ if (false) {}
1642
 
1643
+ var cache$1 = {};
1644
+ var cacheLimit$1 = 10000;
1645
+ var cacheCount$1 = 0;
1646
 
1647
+ function compilePath$1(path, options) {
1648
+ var cacheKey = "" + options.end + options.strict + options.sensitive;
1649
+ var pathCache = cache$1[cacheKey] || (cache$1[cacheKey] = {});
1650
+ if (pathCache[path]) return pathCache[path];
1651
+ var keys = [];
1652
+ var regexp = path_to_regexp_default()(path, keys, options);
1653
+ var result = {
1654
+ regexp: regexp,
1655
+ keys: keys
1656
+ };
1657
 
1658
+ if (cacheCount$1 < cacheLimit$1) {
1659
+ pathCache[path] = result;
1660
+ cacheCount$1++;
1661
+ }
 
 
1662
 
1663
+ return result;
1664
+ }
1665
+ /**
1666
+ * Public API for matching a URL pathname to a path.
1667
+ */
1668
 
 
 
 
1669
 
1670
+ function matchPath(pathname, options) {
1671
+ if (options === void 0) {
1672
+ options = {};
 
 
 
 
 
 
 
 
 
 
 
1673
  }
 
 
1674
 
1675
+ if (typeof options === "string" || Array.isArray(options)) {
1676
+ options = {
1677
+ path: options
1678
+ };
1679
+ }
1680
 
1681
+ var _options = options,
1682
+ path = _options.path,
1683
+ _options$exact = _options.exact,
1684
+ exact = _options$exact === void 0 ? false : _options$exact,
1685
+ _options$strict = _options.strict,
1686
+ strict = _options$strict === void 0 ? false : _options$strict,
1687
+ _options$sensitive = _options.sensitive,
1688
+ sensitive = _options$sensitive === void 0 ? false : _options$sensitive;
1689
+ var paths = [].concat(path);
1690
+ return paths.reduce(function (matched, path) {
1691
+ if (!path && path !== "") return null;
1692
+ if (matched) return matched;
1693
 
1694
+ var _compilePath = compilePath$1(path, {
1695
+ end: exact,
1696
+ strict: strict,
1697
+ sensitive: sensitive
1698
+ }),
1699
+ regexp = _compilePath.regexp,
1700
+ keys = _compilePath.keys;
1701
 
1702
+ var match = regexp.exec(pathname);
1703
+ if (!match) return null;
1704
+ var url = match[0],
1705
+ values = match.slice(1);
1706
+ var isExact = pathname === url;
1707
+ if (exact && !isExact) return null;
1708
+ return {
1709
+ path: path,
1710
+ // the path used to match
1711
+ url: path === "/" && url === "" ? "/" : url,
1712
+ // the matched portion of the URL
1713
+ isExact: isExact,
1714
+ // whether or not we matched exactly
1715
+ params: keys.reduce(function (memo, key, index) {
1716
+ memo[key.name] = values[index];
1717
+ return memo;
1718
+ }, {})
1719
+ };
1720
+ }, null);
1721
+ }
1722
 
1723
+ function isEmptyChildren(children) {
1724
+ return external_React_default.a.Children.count(children) === 0;
1725
+ }
1726
 
1727
+ function evalChildrenDev(children, props, path) {
1728
+ var value = children(props);
1729
+ false ? undefined : void 0;
1730
+ return value || null;
1731
+ }
1732
+ /**
1733
+ * The public API for matching a single path and rendering.
1734
+ */
1735
 
 
 
 
1736
 
1737
+ var react_router_Route =
1738
+ /*#__PURE__*/
1739
+ function (_React$Component) {
1740
+ Object(inheritsLoose["a" /* default */])(Route, _React$Component);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1741
 
1742
+ function Route() {
1743
+ return _React$Component.apply(this, arguments) || this;
1744
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1745
 
1746
+ var _proto = Route.prototype;
1747
 
1748
+ _proto.render = function render() {
1749
+ var _this = this;
 
1750
 
1751
+ return external_React_default.a.createElement(react_router_context.Consumer, null, function (context$1) {
1752
+ !context$1 ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
1753
+ var location = _this.props.location || context$1.location;
1754
+ var match = _this.props.computedMatch ? _this.props.computedMatch // <Switch> already computed the match for us
1755
+ : _this.props.path ? matchPath(location.pathname, _this.props) : context$1.match;
1756
 
1757
+ var props = Object(esm_extends["a" /* default */])({}, context$1, {
1758
+ location: location,
1759
+ match: match
1760
+ });
1761
 
1762
+ var _this$props = _this.props,
1763
+ children = _this$props.children,
1764
+ component = _this$props.component,
1765
+ render = _this$props.render; // Preact uses an empty array as children by
1766
+ // default, so use null if that's the case.
1767
 
1768
+ if (Array.isArray(children) && children.length === 0) {
1769
+ children = null;
1770
+ }
 
 
 
1771
 
1772
+ return external_React_default.a.createElement(react_router_context.Provider, {
1773
+ value: props
1774
+ }, props.match ? children ? typeof children === "function" ? false ? undefined : children(props) : children : component ? external_React_default.a.createElement(component, props) : render ? render(props) : null : typeof children === "function" ? false ? undefined : children(props) : null);
1775
+ });
1776
+ };
1777
 
1778
+ return Route;
1779
+ }(external_React_default.a.Component);
 
1780
 
1781
+ if (false) {}
 
1782
 
1783
+ function addLeadingSlash(path) {
1784
+ return path.charAt(0) === "/" ? path : "/" + path;
1785
+ }
1786
 
1787
+ function addBasename(basename, location) {
1788
+ if (!basename) return location;
1789
+ return Object(esm_extends["a" /* default */])({}, location, {
1790
+ pathname: addLeadingSlash(basename) + location.pathname
1791
+ });
1792
+ }
1793
 
1794
+ function stripBasename(basename, location) {
1795
+ if (!basename) return location;
1796
+ var base = addLeadingSlash(basename);
1797
+ if (location.pathname.indexOf(base) !== 0) return location;
1798
+ return Object(esm_extends["a" /* default */])({}, location, {
1799
+ pathname: location.pathname.substr(base.length)
1800
+ });
1801
+ }
1802
 
1803
+ function createURL(location) {
1804
+ return typeof location === "string" ? location : Object(esm_history["d" /* createPath */])(location);
1805
+ }
1806
 
1807
+ function staticHandler(methodName) {
1808
+ return function () {
1809
+ false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) ;
1810
+ };
1811
+ }
1812
 
1813
+ function noop() {}
1814
+ /**
1815
+ * The public top-level API for a "static" <Router>, so-called because it
1816
+ * can't actually change the current location. Instead, it just records
1817
+ * location changes in a context object. Useful mainly in testing and
1818
+ * server-rendering scenarios.
1819
+ */
1820
 
1821
 
1822
+ var react_router_StaticRouter =
1823
+ /*#__PURE__*/
1824
+ function (_React$Component) {
1825
+ Object(inheritsLoose["a" /* default */])(StaticRouter, _React$Component);
1826
 
1827
+ function StaticRouter() {
1828
+ var _this;
 
 
1829
 
1830
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1831
+ args[_key] = arguments[_key];
 
 
 
1832
  }
1833
 
1834
+ _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
 
 
 
 
1835
 
1836
+ _this.handlePush = function (location) {
1837
+ return _this.navigateTo(location, "PUSH");
1838
+ };
1839
 
1840
+ _this.handleReplace = function (location) {
1841
+ return _this.navigateTo(location, "REPLACE");
1842
+ };
1843
 
1844
+ _this.handleListen = function () {
1845
+ return noop;
1846
+ };
1847
 
1848
+ _this.handleBlock = function () {
1849
+ return noop;
1850
+ };
1851
 
1852
+ return _this;
1853
+ }
1854
 
1855
+ var _proto = StaticRouter.prototype;
 
 
1856
 
1857
+ _proto.navigateTo = function navigateTo(location, action) {
1858
+ var _this$props = this.props,
1859
+ _this$props$basename = _this$props.basename,
1860
+ basename = _this$props$basename === void 0 ? "" : _this$props$basename,
1861
+ _this$props$context = _this$props.context,
1862
+ context = _this$props$context === void 0 ? {} : _this$props$context;
1863
+ context.action = action;
1864
+ context.location = addBasename(basename, Object(esm_history["b" /* createLocation */])(location));
1865
+ context.url = createURL(context.location);
1866
+ };
1867
 
1868
+ _proto.render = function render() {
1869
+ var _this$props2 = this.props,
1870
+ _this$props2$basename = _this$props2.basename,
1871
+ basename = _this$props2$basename === void 0 ? "" : _this$props2$basename,
1872
+ _this$props2$context = _this$props2.context,
1873
+ context = _this$props2$context === void 0 ? {} : _this$props2$context,
1874
+ _this$props2$location = _this$props2.location,
1875
+ location = _this$props2$location === void 0 ? "/" : _this$props2$location,
1876
+ rest = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props2, ["basename", "context", "location"]);
1877
 
1878
+ var history = {
1879
+ createHref: function createHref(path) {
1880
+ return addLeadingSlash(basename + createURL(path));
1881
+ },
1882
+ action: "POP",
1883
+ location: stripBasename(basename, Object(esm_history["b" /* createLocation */])(location)),
1884
+ push: this.handlePush,
1885
+ replace: this.handleReplace,
1886
+ go: staticHandler("go"),
1887
+ goBack: staticHandler("goBack"),
1888
+ goForward: staticHandler("goForward"),
1889
+ listen: this.handleListen,
1890
+ block: this.handleBlock
1891
+ };
1892
+ return external_React_default.a.createElement(react_router_Router, Object(esm_extends["a" /* default */])({}, rest, {
1893
+ history: history,
1894
+ staticContext: context
1895
+ }));
1896
+ };
1897
 
1898
+ return StaticRouter;
1899
+ }(external_React_default.a.Component);
1900
 
1901
+ if (false) {}
1902
 
1903
+ /**
1904
+ * The public API for rendering the first <Route> that matches.
1905
+ */
1906
 
1907
+ var react_router_Switch =
1908
+ /*#__PURE__*/
1909
+ function (_React$Component) {
1910
+ Object(inheritsLoose["a" /* default */])(Switch, _React$Component);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1911
 
1912
+ function Switch() {
1913
+ return _React$Component.apply(this, arguments) || this;
1914
+ }
 
 
 
 
 
1915
 
1916
+ var _proto = Switch.prototype;
1917
 
1918
+ _proto.render = function render() {
1919
+ var _this = this;
 
1920
 
1921
+ return external_React_default.a.createElement(react_router_context.Consumer, null, function (context) {
1922
+ !context ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
1923
+ var location = _this.props.location || context.location;
1924
+ var element, match; // We use React.Children.forEach instead of React.Children.toArray().find()
1925
+ // here because toArray adds keys to all child elements and we do not want
1926
+ // to trigger an unmount/remount for two <Route>s that render the same
1927
+ // component at different URLs.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1928
 
1929
+ external_React_default.a.Children.forEach(_this.props.children, function (child) {
1930
+ if (match == null && external_React_default.a.isValidElement(child)) {
1931
+ element = child;
1932
+ var path = child.props.path || child.props.from;
1933
+ match = path ? matchPath(location.pathname, Object(esm_extends["a" /* default */])({}, child.props, {
1934
+ path: path
1935
+ })) : context.match;
1936
+ }
1937
+ });
1938
+ return match ? external_React_default.a.cloneElement(element, {
1939
+ location: location,
1940
+ computedMatch: match
1941
+ }) : null;
1942
+ });
1943
+ };
1944
 
1945
+ return Switch;
1946
+ }(external_React_default.a.Component);
1947
 
1948
+ if (false) {}
1949
 
1950
  /**
1951
+ * A public higher-order component to access the imperative API
1952
  */
 
1953
 
1954
+ function withRouter(Component) {
1955
+ var displayName = "withRouter(" + (Component.displayName || Component.name) + ")";
 
 
 
 
1956
 
1957
+ var C = function C(props) {
1958
+ var wrappedComponentRef = props.wrappedComponentRef,
1959
+ remainingProps = Object(objectWithoutPropertiesLoose["a" /* default */])(props, ["wrappedComponentRef"]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1960
 
1961
+ return external_React_default.a.createElement(react_router_context.Consumer, null, function (context) {
1962
+ !context ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
1963
+ return external_React_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, remainingProps, context, {
1964
+ ref: wrappedComponentRef
1965
+ }));
1966
+ });
1967
  };
1968
 
1969
+ C.displayName = displayName;
1970
+ C.WrappedComponent = Component;
 
1971
 
1972
+ if (false) {}
1973
+
1974
+ return hoist_non_react_statics_cjs_default()(C, Component);
1975
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1976
 
1977
+ var useContext = external_React_default.a.useContext;
1978
+ function useHistory() {
1979
+ if (false) {}
 
1980
 
1981
+ return useContext(historyContext);
1982
+ }
1983
+ function useLocation() {
1984
+ if (false) {}
1985
 
1986
+ return useContext(react_router_context).location;
1987
  }
1988
+ function useParams() {
1989
+ if (false) {}
 
 
 
 
1990
 
1991
+ var match = useContext(react_router_context).match;
1992
+ return match ? match.params : {};
1993
  }
1994
+ function useRouteMatch(path) {
1995
+ if (false) {}
1996
 
1997
+ var location = useLocation();
1998
+ var match = useContext(react_router_context).match;
1999
+ return path ? matchPath(location.pathname, path) : match;
2000
+ }
2001
 
2002
+ if (false) { var secondaryBuildName, initialBuildName, buildNames, react_router_key, global; }
 
 
 
2003
 
 
 
 
 
 
 
2004
 
2005
+ //# sourceMappingURL=react-router.js.map
2006
 
2007
+ // EXTERNAL MODULE: external "lodash"
2008
+ var external_lodash_ = __webpack_require__(3);
 
2009
 
2010
+ // EXTERNAL MODULE: ./node_modules/qs/lib/index.js
2011
+ var lib = __webpack_require__(50);
2012
 
2013
+ // EXTERNAL MODULE: external {"this":["wc","components"]}
2014
+ var external_this_wc_components_ = __webpack_require__(47);
2015
 
2016
+ // EXTERNAL MODULE: external {"this":["wc","navigation"]}
2017
+ var external_this_wc_navigation_ = __webpack_require__(20);
2018
 
2019
+ // EXTERNAL MODULE: ./client/settings/index.js
2020
+ var settings = __webpack_require__(25);
 
2021
 
2022
+ // EXTERNAL MODULE: external {"this":["wc","data"]}
2023
+ var external_this_wc_data_ = __webpack_require__(22);
2024
 
2025
+ // EXTERNAL MODULE: external {"this":["wc","tracks"]}
2026
+ var external_this_wc_tracks_ = __webpack_require__(28);
2027
 
2028
+ // EXTERNAL MODULE: ./client/layout/style.scss
2029
+ var layout_style = __webpack_require__(301);
 
 
 
2030
 
2031
+ // EXTERNAL MODULE: external {"this":["wp","hooks"]}
2032
+ var external_this_wp_hooks_ = __webpack_require__(42);
2033
 
2034
+ // EXTERNAL MODULE: external {"this":["wp","i18n"]}
2035
+ var external_this_wp_i18n_ = __webpack_require__(2);
 
2036
 
2037
+ // EXTERNAL MODULE: ./client/analytics/report/get-reports.js
2038
+ var get_reports = __webpack_require__(138);
 
2039
 
2040
+ // EXTERNAL MODULE: ./client/dashboard/utils.js
2041
+ var utils = __webpack_require__(92);
2042
 
2043
+ // CONCATENATED MODULE: ./client/layout/controller.js
 
 
 
 
 
 
 
 
 
 
 
 
2044
 
2045
 
 
 
 
2046
 
 
 
 
2047
 
 
2048
 
 
 
 
 
 
2049
 
2050
 
2051
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = getPrototypeOf_default()(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
 
 
2052
 
2053
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
2054
 
2055
+ /**
2056
+ * External dependencies
2057
+ */
2058
 
 
 
 
 
 
2059
 
 
2060
 
 
 
 
 
 
 
 
2061
 
 
2062
 
 
 
 
2063
 
 
2064
 
2065
+ /**
2066
+ * Internal dependencies
2067
+ */
 
 
 
 
 
 
2068
 
 
 
 
 
 
2069
 
 
 
 
 
 
 
 
 
 
 
 
2070
 
2071
+ var AnalyticsReport = Object(external_this_wp_element_["lazy"])(function () {
2072
+ return __webpack_require__.e(/* import() | analytics-report */ 9).then(__webpack_require__.bind(null, 582));
2073
+ });
2074
+ var AnalyticsSettings = Object(external_this_wp_element_["lazy"])(function () {
2075
+ return __webpack_require__.e(/* import() | analytics-settings */ 20).then(__webpack_require__.bind(null, 599));
2076
+ });
2077
+ var Dashboard = Object(external_this_wp_element_["lazy"])(function () {
2078
+ return __webpack_require__.e(/* import() | dashboard */ 28).then(__webpack_require__.bind(null, 583));
2079
+ });
2080
+ var Homescreen = Object(external_this_wp_element_["lazy"])(function () {
2081
+ return Promise.all(/* import() | homescreen */[__webpack_require__.e(1), __webpack_require__.e(2), __webpack_require__.e(52), __webpack_require__.e(4), __webpack_require__.e(32)]).then(__webpack_require__.bind(null, 596));
2082
+ });
2083
+ var MarketingOverview = Object(external_this_wp_element_["lazy"])(function () {
2084
+ return Promise.all(/* import() | marketing-overview */[__webpack_require__.e(2), __webpack_require__.e(36)]).then(__webpack_require__.bind(null, 600));
2085
+ });
2086
+ var ProfileWizard = Object(external_this_wp_element_["lazy"])(function () {
2087
+ return __webpack_require__.e(/* import() | profile-wizard */ 46).then(__webpack_require__.bind(null, 597));
2088
+ });
2089
+ var PAGES_FILTER = 'woocommerce_admin_pages_list';
2090
+ var controller_getPages = function getPages() {
2091
+ var pages = [];
2092
+ var initialBreadcrumbs = [['', wcSettings.woocommerceTranslation]];
2093
+ pages.push({
2094
+ container: Homescreen,
2095
+ path: '/',
2096
+ breadcrumbs: [].concat(initialBreadcrumbs, [Object(external_this_wp_i18n_["__"])('Home', 'woocommerce-admin')]),
2097
+ wpOpenMenu: 'toplevel_page_woocommerce',
2098
+ navArgs: {
2099
+ id: 'woocommerce-home'
2100
  }
2101
+ });
2102
 
2103
+ if (window.wcAdminFeatures.analytics) {
2104
+ pages.push({
2105
+ container: Dashboard,
2106
+ path: '/analytics/overview',
2107
+ breadcrumbs: [].concat(initialBreadcrumbs, [['/analytics/overview', Object(external_this_wp_i18n_["__"])('Analytics', 'woocommerce-admin')], Object(external_this_wp_i18n_["__"])('Overview', 'woocommerce-admin')]),
2108
+ wpOpenMenu: 'toplevel_page_wc-admin-path--analytics-overview',
2109
+ navArgs: {
2110
+ id: 'woocommerce-analytics-overview'
2111
+ }
2112
+ });
2113
+ pages.push({
2114
+ container: AnalyticsSettings,
2115
+ path: '/analytics/settings',
2116
+ breadcrumbs: [].concat(initialBreadcrumbs, [['/analytics/revenue', Object(external_this_wp_i18n_["__"])('Analytics', 'woocommerce-admin')], Object(external_this_wp_i18n_["__"])('Settings', 'woocommerce-admin')]),
2117
+ wpOpenMenu: 'toplevel_page_wc-admin-path--analytics-overview',
2118
+ navArgs: {
2119
+ id: 'woocommerce-analytics-settings'
2120
+ }
2121
+ });
2122
+ pages.push({
2123
+ container: AnalyticsReport,
2124
+ path: '/customers',
2125
+ breadcrumbs: [].concat(initialBreadcrumbs, [Object(external_this_wp_i18n_["__"])('Customers', 'woocommerce-admin')]),
2126
+ wpOpenMenu: 'toplevel_page_woocommerce',
2127
+ navArgs: {
2128
+ id: 'woocommerce-analytics-customers'
2129
+ }
2130
+ });
2131
+ pages.push({
2132
+ container: AnalyticsReport,
2133
+ path: '/analytics/:report',
2134
+ breadcrumbs: function breadcrumbs(_ref) {
2135
+ var match = _ref.match;
2136
+ var report = Object(external_lodash_["find"])(Object(get_reports["a" /* default */])(), {
2137
+ report: match.params.report
2138
+ });
2139
 
2140
+ if (!report) {
2141
+ return [];
2142
+ }
2143
 
2144
+ return [].concat(initialBreadcrumbs, [['/analytics/revenue', Object(external_this_wp_i18n_["__"])('Analytics', 'woocommerce-admin')], report.title]);
2145
+ },
2146
+ wpOpenMenu: 'toplevel_page_wc-admin-path--analytics-overview'
2147
+ });
2148
+ }
2149
 
2150
+ if (window.wcAdminFeatures.marketing) {
2151
+ pages.push({
2152
+ container: MarketingOverview,
2153
+ path: '/marketing',
2154
+ breadcrumbs: [].concat(initialBreadcrumbs, [['/marketing', Object(external_this_wp_i18n_["__"])('Marketing', 'woocommerce-admin')], Object(external_this_wp_i18n_["__"])('Overview', 'woocommerce-admin')]),
2155
+ wpOpenMenu: 'toplevel_page_woocommerce-marketing',
2156
+ navArgs: {
2157
+ id: 'woocommerce-marketing-overview'
2158
+ }
2159
+ });
2160
+ }
2161
 
2162
+ if (window.wcAdminFeatures.onboarding) {
2163
+ pages.push({
2164
+ container: ProfileWizard,
2165
+ path: '/setup-wizard',
2166
+ breadcrumbs: [].concat(initialBreadcrumbs, [['/setup-wizard', Object(external_this_wp_i18n_["__"])('Setup Wizard', 'woocommerce-admin')]])
2167
+ });
2168
+ }
2169
 
2170
+ return Object(external_this_wp_hooks_["applyFilters"])(PAGES_FILTER, pages);
2171
+ };
2172
+ var controller_Controller = /*#__PURE__*/function (_Component) {
2173
+ inherits_default()(Controller, _Component);
2174
 
2175
+ var _super = _createSuper(Controller);
2176
 
2177
+ function Controller() {
2178
+ classCallCheck_default()(this, Controller);
 
2179
 
2180
+ return _super.apply(this, arguments);
2181
+ }
2182
 
2183
+ createClass_default()(Controller, [{
2184
+ key: "componentDidMount",
2185
+ value: function componentDidMount() {
2186
+ window.document.documentElement.scrollTop = 0;
2187
+ window.document.body.classList.remove('woocommerce-admin-is-loading');
2188
+ }
2189
+ }, {
2190
+ key: "componentDidUpdate",
2191
+ value: function componentDidUpdate(prevProps) {
2192
+ var prevBaseQuery = Object(external_lodash_["omit"])(prevProps.query, 'chartType', 'filter', 'paged');
2193
+ var baseQuery = Object(external_lodash_["omit"])(this.props.query, 'chartType', 'filter', 'paged');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2194
 
2195
+ if (prevProps.query.paged > 1 && !Object(external_lodash_["isEqual"])(prevBaseQuery, baseQuery)) {
2196
+ Object(external_this_wc_navigation_["getHistory"])().replace(Object(external_this_wc_navigation_["getNewPath"])({
2197
+ paged: 1
2198
+ }));
2199
+ }
2200
 
2201
+ if (prevProps.match.url !== this.props.match.url) {
2202
+ window.document.documentElement.scrollTop = 0;
2203
+ }
2204
+ }
2205
+ }, {
2206
+ key: "render",
2207
+ value: function render() {
2208
+ var _this$props = this.props,
2209
+ page = _this$props.page,
2210
+ match = _this$props.match,
2211
+ query = _this$props.query;
2212
+ var url = match.url,
2213
+ params = match.params;
2214
+ window.wpNavMenuUrlUpdate(query);
2215
+ window.wpNavMenuClassChange(page, url);
2216
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Suspense"], {
2217
+ fallback: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Spinner"], null)
2218
+ }, Object(external_this_wp_element_["createElement"])(page.container, {
2219
+ params: params,
2220
+ path: url,
2221
+ pathMatch: page.path,
2222
+ query: query
2223
+ }));
2224
+ }
2225
+ }]);
2226
 
2227
+ return Controller;
2228
+ }(external_this_wp_element_["Component"]);
2229
+ /**
2230
+ * Update an anchor's link in sidebar to include persisted queries. Leave excluded screens
2231
+ * as is.
2232
+ *
2233
+ * @param {HTMLElement} item - Sidebar anchor link.
2234
+ * @param {Object} nextQuery - A query object to be added to updated hrefs.
2235
+ * @param {Array} excludedScreens - wc-admin screens to avoid updating.
2236
+ */
2237
 
2238
+ function updateLinkHref(item, nextQuery, excludedScreens) {
2239
+ if (Object(utils["f" /* isWCAdmin */])(item.href)) {
2240
+ var search = Object(external_lodash_["last"])(item.href.split('?'));
2241
+ var query = Object(lib["parse"])(search);
2242
+ var path = query.path || 'homescreen';
2243
+ var screen = Object(external_this_wc_navigation_["getScreenFromPath"])(path);
2244
+ var isExcludedScreen = excludedScreens.includes(screen);
2245
+ var href = 'admin.php?' + Object(lib["stringify"])(Object.assign(query, isExcludedScreen ? {} : nextQuery)); // Replace the href so you can see the url on hover.
2246
 
2247
+ item.href = href;
 
 
 
 
 
 
2248
 
2249
+ item.onclick = function (e) {
2250
+ e.preventDefault();
2251
+ Object(external_this_wc_navigation_["getHistory"])().push(href);
2252
+ };
2253
+ }
2254
+ } // Update's wc-admin links in wp-admin menu
2255
 
2256
+ window.wpNavMenuUrlUpdate = function (query) {
2257
+ var nextQuery = Object(external_this_wc_navigation_["getPersistedQuery"])(query);
2258
+ var excludedScreens = Object(external_this_wc_navigation_["getQueryExcludedScreens"])();
2259
+ Array.from(document.querySelectorAll('#adminmenu a')).forEach(function (item) {
2260
+ return updateLinkHref(item, nextQuery, excludedScreens);
2261
+ });
2262
+ }; // When the route changes, we need to update wp-admin's menu with the correct section & current link
2263
 
2264
 
2265
+ window.wpNavMenuClassChange = function (page, url) {
2266
+ Array.from(document.getElementsByClassName('current')).forEach(function (item) {
2267
+ item.classList.remove('current');
2268
+ });
2269
+ var submenu = Array.from(document.querySelectorAll('.wp-has-current-submenu'));
2270
+ submenu.forEach(function (element) {
2271
+ element.classList.remove('wp-has-current-submenu');
2272
+ element.classList.remove('wp-menu-open');
2273
+ element.classList.remove('selected');
2274
+ element.classList.add('wp-not-current-submenu');
2275
+ element.classList.add('menu-top');
2276
+ });
2277
+ var pageUrl = url === '/' ? 'admin.php?page=wc-admin' : 'admin.php?page=wc-admin&path=' + encodeURIComponent(url);
2278
+ var currentItemsSelector = url === '/' ? "li > a[href$=\"".concat(pageUrl, "\"], li > a[href*=\"").concat(pageUrl, "?\"]") : "li > a[href*=\"".concat(pageUrl, "\"]");
2279
+ var currentItems = document.querySelectorAll(currentItemsSelector);
2280
+ Array.from(currentItems).forEach(function (item) {
2281
+ item.parentElement.classList.add('current');
2282
+ });
2283
 
2284
+ if (page.wpOpenMenu) {
2285
+ var currentMenu = document.querySelector('#' + page.wpOpenMenu);
2286
 
2287
+ if (currentMenu) {
2288
+ currentMenu.classList.remove('wp-not-current-submenu');
2289
+ currentMenu.classList.add('wp-has-current-submenu');
2290
+ currentMenu.classList.add('wp-menu-open');
2291
+ currentMenu.classList.add('current');
2292
+ }
2293
+ }
2294
 
2295
+ var wpWrap = document.querySelector('#wpwrap');
2296
+ wpWrap.classList.remove('wp-responsive-open');
 
 
 
 
2297
  };
2298
+ // EXTERNAL MODULE: ./node_modules/classnames/index.js
2299
+ var classnames = __webpack_require__(7);
2300
+ var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
2301
 
2302
+ // EXTERNAL MODULE: external {"this":["wp","htmlEntities"]}
2303
+ var external_this_wp_htmlEntities_ = __webpack_require__(40);
2304
 
2305
+ // EXTERNAL MODULE: ./packages/experimental/build-module/index.js
2306
+ var build_module = __webpack_require__(31);
 
 
 
 
 
2307
 
2308
+ // EXTERNAL MODULE: ./client/header/style.scss
2309
+ var header_style = __webpack_require__(302);
2310
 
2311
+ // EXTERNAL MODULE: ./node_modules/react-click-outside/dist/index.js
2312
+ var dist = __webpack_require__(278);
2313
+ var dist_default = /*#__PURE__*/__webpack_require__.n(dist);
 
2314
 
2315
+ // EXTERNAL MODULE: external {"this":["wp","components"]}
2316
+ var external_this_wp_components_ = __webpack_require__(4);
 
2317
 
2318
+ // EXTERNAL MODULE: ./node_modules/gridicons/dist/cross-small.js
2319
+ var cross_small = __webpack_require__(121);
2320
+ var cross_small_default = /*#__PURE__*/__webpack_require__.n(cross_small);
 
 
2321
 
2322
+ // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/icon/index.js
2323
+ var build_module_icon = __webpack_require__(306);
2324
 
2325
+ // EXTERNAL MODULE: ./node_modules/@wordpress/primitives/build-module/svg/index.js
2326
+ var svg = __webpack_require__(196);
 
2327
 
2328
+ // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/help.js
2329
 
 
 
 
2330
 
2331
+ /**
2332
+ * WordPress dependencies
2333
+ */
2334
 
2335
+ var help_help = Object(external_this_wp_element_["createElement"])(svg["b" /* SVG */], {
2336
+ xmlns: "http://www.w3.org/2000/svg",
2337
+ viewBox: "0 0 24 24"
2338
+ }, Object(external_this_wp_element_["createElement"])(svg["a" /* Path */], {
2339
+ d: "M12 4.75a7.25 7.25 0 100 14.5 7.25 7.25 0 000-14.5zM3.25 12a8.75 8.75 0 1117.5 0 8.75 8.75 0 01-17.5 0zM12 8.75a1.5 1.5 0 01.167 2.99c-.465.052-.917.44-.917 1.01V14h1.5v-.845A3 3 0 109 10.25h1.5a1.5 1.5 0 011.5-1.5zM11.25 15v1.5h1.5V15h-1.5z"
2340
+ }));
2341
+ /* harmony default export */ var library_help = (help_help);
2342
+ //# sourceMappingURL=help.js.map
2343
+ // EXTERNAL MODULE: ./client/header/activity-panel/style.scss
2344
+ var activity_panel_style = __webpack_require__(304);
2345
 
2346
+ // CONCATENATED MODULE: ./client/header/activity-panel/toggle-bubble.js
 
 
 
 
2347
 
2348
 
2349
+ /**
2350
+ * External dependencies
2351
+ */
2352
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2353
 
2354
 
2355
+ var toggle_bubble_ActivityPanelToggleBubble = function ActivityPanelToggleBubble(_ref) {
2356
+ var _ref$height = _ref.height,
2357
+ height = _ref$height === void 0 ? 24 : _ref$height,
2358
+ _ref$width = _ref.width,
2359
+ width = _ref$width === void 0 ? 24 : _ref$width,
2360
+ _ref$hasUnread = _ref.hasUnread,
2361
+ hasUnread = _ref$hasUnread === void 0 ? false : _ref$hasUnread;
2362
+ var classes = classnames_default()('woocommerce-layout__activity-panel-toggle-bubble', {
2363
+ 'has-unread': hasUnread
2364
+ });
2365
+ /* eslint-disable max-len */
2366
 
2367
+ return Object(external_this_wp_element_["createElement"])("div", {
2368
+ className: classes
2369
+ }, Object(external_this_wp_element_["createElement"])("svg", {
2370
+ height: height,
2371
+ width: width,
2372
+ viewBox: "0 0 24 24"
2373
+ }, Object(external_this_wp_element_["createElement"])("path", {
2374
+ d: "M18.9 2H5.1C3.4 2 2 3.4 2 5.1v10.7C2 17.6 3.4 19 5.1 19H9l6 3-1-3h4.9c1.7 0 3.1-1.4 3.1-3.1V5.1C22 3.4 20.6 2 18.9 2zm-1.5 4.5c-.4.8-.8 2.1-1 3.9-.3 1.8-.4 3.1-.3 4.1 0 .3 0 .5-.1.7-.1.2-.3.4-.6.4s-.6-.1-.9-.4c-1-1-1.8-2.6-2.4-4.6-.7 1.4-1.2 2.4-1.6 3.1-.6 1.2-1.2 1.8-1.6 1.9-.3 0-.5-.2-.8-.7-.5-1.4-1.1-4.2-1.7-8.2 0-.3 0-.5.2-.7.1-.2.4-.3.7-.4.5 0 .9.2.9.8.3 2.3.7 4.2 1.1 5.7l2.4-4.5c.2-.4.4-.6.8-.6.5 0 .8.3.9.9.3 1.4.6 2.6 1 3.7.3-2.7.8-4.7 1.4-5.9.2-.3.4-.5.7-.5.2 0 .5.1.7.2.2.2.3.4.3.6 0 .2 0 .4-.1.5z"
2375
+ })));
2376
+ /* eslint-enable max-len */
 
 
 
 
 
2377
  };
2378
 
2379
+ toggle_bubble_ActivityPanelToggleBubble.propTypes = {
2380
+ height: prop_types_default.a.number,
2381
+ width: prop_types_default.a.number,
2382
+ hasUnread: prop_types_default.a.bool
2383
+ };
2384
+ /* harmony default export */ var toggle_bubble = (toggle_bubble_ActivityPanelToggleBubble);
2385
+ // EXTERNAL MODULE: ./client/inbox-panel/utils.js
2386
+ var inbox_panel_utils = __webpack_require__(195);
2387
 
2388
+ // CONCATENATED MODULE: ./client/header/activity-panel/unread-indicators.js
 
 
 
 
 
 
 
 
 
 
 
 
 
2389
  /**
2390
  * External dependencies
2391
  */
2392
 
2393
+
2394
  /**
2395
+ * Internal dependencies
2396
  */
2397
 
 
 
 
 
 
 
 
 
 
 
 
2398
 
2399
+ function getUnreadNotes(select) {
2400
+ var _select = select(external_this_wc_data_["NOTES_STORE_NAME"]),
2401
+ getNotes = _select.getNotes,
2402
+ getNotesError = _select.getNotesError,
2403
+ isResolving = _select.isResolving;
2404
 
2405
+ var _select2 = select(external_this_wc_data_["USER_STORE_NAME"]),
2406
+ getCurrentUser = _select2.getCurrentUser;
2407
 
2408
+ var userData = getCurrentUser();
2409
+ var lastRead = parseInt(userData && userData.woocommerce_meta && userData.woocommerce_meta.activity_panel_inbox_last_read, 10);
2410
 
2411
+ if (!lastRead) {
2412
+ return null;
2413
+ } // @todo This method would be more performant if we ask only for 1 item per page with status "unactioned".
2414
+ // This change should be applied after having pagination implemented.
2415
 
 
 
 
2416
 
2417
+ var notesQuery = {
2418
+ page: 1,
2419
+ per_page: external_this_wc_data_["QUERY_DEFAULTS"].pageSize,
2420
+ status: 'unactioned',
2421
+ type: external_this_wc_data_["QUERY_DEFAULTS"].noteTypes,
2422
+ orderby: 'date',
2423
+ order: 'desc'
2424
+ }; // Disable eslint rule requiring `latestNotes` to be defined below because the next two statements
2425
+ // depend on `getNotes` to have been called.
2426
+ // eslint-disable-next-line @wordpress/no-unused-vars-before-return
2427
 
2428
+ var latestNotes = getNotes(notesQuery);
2429
+ var isError = Boolean(getNotesError('getNotes', [notesQuery]));
2430
+ var isRequesting = isResolving('getNotes', [notesQuery]);
2431
 
2432
+ if (isError || isRequesting) {
2433
+ return null;
 
 
 
2434
  }
 
 
 
 
2435
 
2436
+ var unreadNotesCount = Object(inbox_panel_utils["a" /* getUnreadNotesCount */])(latestNotes, lastRead);
2437
+ return unreadNotesCount > 0;
2438
+ }
2439
+ function getLowStockCount() {
2440
+ return Object(settings["g" /* getSetting */])('lowStockCount', 0);
2441
+ }
2442
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
2443
+ var slicedToArray = __webpack_require__(21);
2444
+ var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
2445
 
2446
+ // CONCATENATED MODULE: ./client/header/activity-panel/tab/index.js
 
 
 
 
 
2447
 
 
 
 
 
 
 
 
 
 
2448
 
2449
+ /**
2450
+ * External dependencies
2451
+ */
2452
 
 
2453
 
 
 
 
2454
 
2455
+ var tab_Tab = function Tab(_ref) {
2456
+ var icon = _ref.icon,
2457
+ title = _ref.title,
2458
+ name = _ref.name,
2459
+ unread = _ref.unread,
2460
+ selected = _ref.selected,
2461
+ isPanelOpen = _ref.isPanelOpen,
2462
+ onTabClick = _ref.onTabClick;
2463
+ var className = classnames_default()('woocommerce-layout__activity-panel-tab', {
2464
+ 'is-active': isPanelOpen && selected,
2465
+ 'has-unread': unread
2466
+ });
2467
+ var tabKey = "activity-panel-tab-".concat(name);
2468
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
2469
+ role: "tab",
2470
+ className: className,
2471
+ "aria-selected": selected,
2472
+ "aria-controls": "activity-panel-".concat(name),
2473
+ key: tabKey,
2474
+ id: tabKey,
2475
+ onClick: function onClick() {
2476
+ onTabClick(name);
2477
  }
2478
+ }, icon, title, ' ', unread && Object(external_this_wp_element_["createElement"])("span", {
2479
+ className: "screen-reader-text"
2480
+ }, Object(external_this_wp_i18n_["__"])('unread activity', 'woocommerce-admin')));
2481
  };
2482
+ // CONCATENATED MODULE: ./client/header/activity-panel/tabs/index.js
2483
 
2484
 
 
 
 
 
 
2485
 
2486
 
2487
+ /**
2488
+ * External dependencies
2489
+ */
2490
 
 
2491
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2492
 
2493
+ /**
2494
+ * Internal dependencies
2495
+ */
 
 
2496
 
 
 
 
 
 
 
 
 
2497
 
2498
+ var tabs_Tabs = function Tabs(_ref) {
2499
+ var tabs = _ref.tabs,
2500
+ _onTabClick = _ref.onTabClick,
2501
+ selectedTabName = _ref.selectedTab,
2502
+ _ref$tabOpen = _ref.tabOpen,
2503
+ tabOpen = _ref$tabOpen === void 0 ? false : _ref$tabOpen;
 
 
 
 
2504
 
2505
+ var _useState = Object(external_this_wp_element_["useState"])({
2506
+ tabOpen: tabOpen,
2507
+ currentTab: selectedTabName
2508
+ }),
2509
+ _useState2 = slicedToArray_default()(_useState, 2),
2510
+ _useState2$ = _useState2[0],
2511
+ tabIsOpenState = _useState2$.tabOpen,
2512
+ currentTab = _useState2$.currentTab,
2513
+ setTabState = _useState2[1]; // Keep state synced with props
2514
 
 
 
 
 
 
 
2515
 
2516
+ Object(external_this_wp_element_["useEffect"])(function () {
2517
+ setTabState({
2518
+ tabOpen: tabOpen,
2519
+ currentTab: selectedTabName
2520
+ });
2521
+ }, [tabOpen, selectedTabName]);
2522
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["NavigableMenu"], {
2523
+ role: "tablist",
2524
+ orientation: "horizontal",
2525
+ className: "woocommerce-layout__activity-panel-tabs"
2526
+ }, tabs && tabs.map(function (tab, i) {
2527
+ if (tab.component) {
2528
+ var Comp = tab.component,
2529
+ options = tab.options;
2530
+ return Object(external_this_wp_element_["createElement"])(Comp, extends_default()({
2531
+ key: i
2532
+ }, options));
2533
  }
2534
 
2535
+ return Object(external_this_wp_element_["createElement"])(tab_Tab, extends_default()({
2536
+ key: i,
2537
+ index: i,
2538
+ isPanelOpen: tabIsOpenState,
2539
+ selected: currentTab === tab.name
2540
+ }, tab, {
2541
+ onTabClick: function onTabClick() {
2542
+ var isTabOpen = currentTab === tab.name || currentTab === '' ? !tabIsOpenState : true; // If a panel is being opened, or if an existing panel is already open and a different one is being opened, record a track.
2543
 
2544
+ if (!isTabOpen || currentTab !== tab.name) {
2545
+ Object(external_this_wc_tracks_["recordEvent"])('activity_panel_open', {
2546
+ tab: tab.name
2547
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2548
  }
2549
+
2550
+ setTabState({
2551
+ tabOpen: isTabOpen,
2552
+ currentTab: tab.name
2553
+ });
2554
+
2555
+ _onTabClick(tab, isTabOpen);
2556
  }
2557
+ }));
2558
+ }));
2559
+ };
2560
+ // CONCATENATED MODULE: ./client/header/activity-panel/setup-progress.js
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2561
 
2562
+ var setup_progress_SetupProgress = function SetupProgress() {
2563
+ return Object(external_this_wp_element_["createElement"])("svg", {
2564
+ className: "woocommerce-layout__activity-panel-tab-icon setup-progress",
2565
+ width: "18",
2566
+ height: "18",
2567
+ viewBox: "0 0 24 24",
2568
+ fill: "none",
2569
+ xmlns: "http://www.w3.org/2000/svg"
2570
+ }, Object(external_this_wp_element_["createElement"])("path", {
2571
+ d: "M12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20Z",
2572
+ stroke: "#DCDCDE",
2573
+ strokeWidth: "2"
2574
+ }), Object(external_this_wp_element_["createElement"])("path", {
2575
+ d: "M4 12V12C4 16.4183 7.58172 20 12 20V20C16.4183 20 20 16.4183 20 12V12C20 7.58172 16.4183 4 12 4V4",
2576
+ strokeWidth: "2",
2577
+ strokeLinecap: "round"
2578
+ }));
2579
  };
2580
+ // CONCATENATED MODULE: ./client/header/activity-panel/display-options/icons/display.js
2581
 
2582
 
2583
+ /**
2584
+ * External dependencies
2585
+ */
2586
 
2587
+ var display_DisplayIcon = function DisplayIcon() {
2588
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])("svg", {
2589
+ className: "woocommerce-layout__activity-panel-tab-icon",
2590
+ width: "24",
2591
+ height: "24",
2592
+ viewBox: "3 3 24 24",
2593
+ fill: "none",
2594
+ xmlns: "http://www.w3.org/2000/svg"
2595
+ }, Object(external_this_wp_element_["createElement"])("path", {
2596
+ d: "M13.8053 15.3982C13.8053 15.7965 13.4867 16.1947 13.0089 16.1947H6.79646C6.55752 16.1947 6.39823 16.115 6.23894 15.9558C6.07965 15.7965 6 15.6372 6 15.3982V6.79646C6 6.63717 6.15929 6.39823 6.23894 6.23894C6.39823 6.07965 6.55752 6 6.79646 6H13.0089C13.4071 6 13.8053 6.31858 13.8053 6.79646V15.3982Z",
2597
+ strokeWidth: "1.5",
2598
+ strokeLinecap: "round",
2599
+ strokeLinejoin: "round"
2600
+ }), Object(external_this_wp_element_["createElement"])("path", {
2601
+ d: "M23.9203 10.6195C23.9203 11.0177 23.6017 11.4159 23.1238 11.4159H16.9115C16.6725 11.4159 16.5132 11.3363 16.3539 11.177C16.1946 11.0177 16.115 10.8584 16.115 10.6195V6.79646C16.115 6.39823 16.4336 6 16.9115 6H23.1238C23.5221 6 23.9203 6.31858 23.9203 6.79646V10.6195Z",
2602
+ strokeWidth: "1.5",
2603
+ strokeLinecap: "round",
2604
+ strokeLinejoin: "round"
2605
+ }), Object(external_this_wp_element_["createElement"])("path", {
2606
+ d: "M13.8053 23.2035C13.8053 23.4424 13.7257 23.6017 13.5664 23.761C13.4071 23.9203 13.2478 23.9999 13.0089 23.9999H6.79646C6.39823 23.9999 6 23.6813 6 23.2035V19.3804C6 19.1415 6.07965 18.9822 6.23894 18.8229C6.39823 18.6636 6.55752 18.584 6.79646 18.584H13.0089C13.4071 18.584 13.8053 18.9026 13.8053 19.3804V23.2035Z",
2607
+ strokeWidth: "1.5",
2608
+ strokeLinecap: "round",
2609
+ strokeLinejoin: "round"
2610
+ }), Object(external_this_wp_element_["createElement"])("path", {
2611
+ d: "M16.9912 23.9999C16.7522 23.9999 16.5929 23.9202 16.4336 23.7609C16.2743 23.6016 16.1947 23.4423 16.1947 23.2034V14.6016C16.1947 14.3627 16.2743 14.2034 16.4336 14.0441C16.5929 13.8848 16.7522 13.8052 16.9912 13.8052H23.2036C23.4425 13.8052 23.6018 13.8848 23.7611 14.0441C23.9204 14.2034 24 14.3627 24 14.6016V23.2034C24 23.6016 23.6814 23.9999 23.2036 23.9999H16.9912Z",
2612
+ strokeWidth: "1.5",
2613
+ strokeLinecap: "round",
2614
+ strokeLinejoin: "round"
2615
+ })), Object(external_this_wp_i18n_["__"])('Display', 'woocommerce-admin'));
2616
+ };
2617
+ // CONCATENATED MODULE: ./client/header/activity-panel/display-options/icons/single-column.js
2618
 
2619
+ var single_column_SingleColumnIcon = function SingleColumnIcon() {
2620
+ return Object(external_this_wp_element_["createElement"])("svg", {
2621
+ className: "woocommerce-layout__activity-panel-tab-icon",
2622
+ width: "12",
2623
+ height: "14",
2624
+ viewBox: "0 0 12 14",
2625
+ fill: "none",
2626
+ xmlns: "http://www.w3.org/2000/svg"
2627
+ }, Object(external_this_wp_element_["createElement"])("rect", {
2628
+ x: "0.5",
2629
+ y: "0.5",
2630
+ width: "11",
2631
+ height: "13",
2632
+ strokeWidth: "1"
2633
+ }));
2634
+ };
2635
+ // CONCATENATED MODULE: ./client/header/activity-panel/display-options/icons/two-columns.js
2636
 
2637
+ var two_columns_TwoColumnsIcon = function TwoColumnsIcon() {
2638
+ return Object(external_this_wp_element_["createElement"])("svg", {
2639
+ className: "woocommerce-layout__activity-panel-tab-icon",
2640
+ width: "18",
2641
+ height: "14",
2642
+ viewBox: "0 0 18 14",
2643
+ fill: "none",
2644
+ xmlns: "http://www.w3.org/2000/svg"
2645
+ }, Object(external_this_wp_element_["createElement"])("rect", {
2646
+ x: "0.5",
2647
+ y: "0.5",
2648
+ width: "7",
2649
+ height: "13",
2650
+ strokeWidth: "1"
2651
+ }), Object(external_this_wp_element_["createElement"])("rect", {
2652
+ x: "9.5",
2653
+ y: "0.5",
2654
+ width: "7",
2655
+ height: "13",
2656
+ strokeWidth: "1"
2657
+ }));
2658
  };
2659
+ // CONCATENATED MODULE: ./client/header/activity-panel/display-options/index.js
2660
 
2661
 
2662
+ /**
2663
+ * External dependencies
2664
+ */
2665
 
 
 
 
2666
 
 
 
 
2667
 
 
 
 
2668
 
 
 
 
 
 
 
2669
 
2670
+ /**
2671
+ * Internal dependencies
2672
+ */
 
 
 
 
 
 
 
 
2673
 
2674
 
 
 
 
2675
 
 
2676
 
2677
+ var LAYOUTS = [{
2678
+ value: 'single_column',
2679
+ label: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(single_column_SingleColumnIcon, null), Object(external_this_wp_i18n_["__"])('Single column', 'woocommerce-admin'))
2680
+ }, {
2681
+ value: 'two_columns',
2682
+ label: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(two_columns_TwoColumnsIcon, null), Object(external_this_wp_i18n_["__"])('Two columns', 'woocommerce-admin'))
2683
+ }];
2684
+ var display_options_DisplayOptions = function DisplayOptions() {
2685
+ var defaultHomescreenLayout = Object(external_this_wp_data_["useSelect"])(function (select) {
2686
+ var _select = select(external_this_wc_data_["OPTIONS_STORE_NAME"]),
2687
+ getOption = _select.getOption;
2688
+
2689
+ return getOption('woocommerce_default_homepage_layout') || 'single_column';
2690
+ });
2691
+
2692
+ var _useUserPreferences = Object(external_this_wc_data_["useUserPreferences"])(),
2693
+ updateUserPreferences = _useUserPreferences.updateUserPreferences,
2694
+ layout = _useUserPreferences.homepage_layout;
2695
+
2696
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["DropdownMenu"], {
2697
+ icon: Object(external_this_wp_element_["createElement"])(display_DisplayIcon, null)
2698
+ /* translators: button label text should, if possible, be under 16 characters. */
2699
+ ,
2700
+ label: Object(external_this_wp_i18n_["__"])('Display options', 'woocommerce-admin'),
2701
+ toggleProps: {
2702
+ className: 'woocommerce-layout__activity-panel-tab display-options',
2703
+ onClick: function onClick() {
2704
+ return Object(external_this_wc_tracks_["recordEvent"])('homescreen_display_click');
2705
+ }
2706
+ },
2707
+ popoverProps: {
2708
+ className: 'woocommerce-layout__activity-panel-popover'
2709
+ }
2710
+ }, function (_ref) {
2711
+ var onClose = _ref.onClose;
2712
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["MenuGroup"], {
2713
+ className: "woocommerce-layout__homescreen-display-options",
2714
+ label: Object(external_this_wp_i18n_["__"])('Layout', 'woocommerce-admin')
2715
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["MenuItemsChoice"], {
2716
+ choices: LAYOUTS,
2717
+ onSelect: function onSelect(newLayout) {
2718
+ updateUserPreferences({
2719
+ homepage_layout: newLayout
2720
+ });
2721
+ onClose();
2722
+ Object(external_this_wc_tracks_["recordEvent"])('homescreen_display_option', {
2723
+ display_option: newLayout
2724
+ });
2725
+ },
2726
+ value: layout || defaultHomescreenLayout
2727
+ }));
2728
+ });
2729
  };
2730
+ // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/close.js
2731
 
2732
 
2733
+ /**
2734
+ * WordPress dependencies
2735
+ */
 
2736
 
2737
+ var close_close = Object(external_this_wp_element_["createElement"])(svg["b" /* SVG */], {
2738
+ xmlns: "http://www.w3.org/2000/svg",
2739
+ viewBox: "0 0 24 24"
2740
+ }, Object(external_this_wp_element_["createElement"])(svg["a" /* Path */], {
2741
+ d: "M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z"
2742
+ }));
2743
+ /* harmony default export */ var library_close = (close_close);
2744
+ //# sourceMappingURL=close.js.map
2745
+ // EXTERNAL MODULE: ./client/header/activity-panel/highlight-tooltip/style.scss
2746
+ var highlight_tooltip_style = __webpack_require__(305);
2747
 
2748
+ // CONCATENATED MODULE: ./client/header/activity-panel/highlight-tooltip/index.js
 
 
 
2749
 
 
 
2750
 
 
 
 
 
 
 
 
2751
 
2752
+ /**
2753
+ * External dependencies
2754
+ */
2755
 
 
2756
 
 
 
 
2757
 
 
 
 
 
 
 
2758
 
 
 
 
 
 
 
2759
 
 
 
2760
 
2761
+ /**
2762
+ * Internal dependencies
2763
+ */
2764
 
 
 
 
2765
 
2766
+ var SHOW_CLASS = 'highlight-tooltip__show';
 
 
2767
 
2768
+ function HighlightTooltip(_ref) {
2769
+ var title = _ref.title,
2770
+ closeButtonText = _ref.closeButtonText,
2771
+ content = _ref.content,
2772
+ _ref$show = _ref.show,
2773
+ show = _ref$show === void 0 ? true : _ref$show,
2774
+ id = _ref.id,
2775
+ onClose = _ref.onClose,
2776
+ delay = _ref.delay,
2777
+ _ref$onShow = _ref.onShow,
2778
+ onShow = _ref$onShow === void 0 ? external_lodash_["noop"] : _ref$onShow;
2779
 
2780
+ var _useState = Object(external_this_wp_element_["useState"])(delay > 0 ? null : show),
2781
+ _useState2 = slicedToArray_default()(_useState, 2),
2782
+ showHighlight = _useState2[0],
2783
+ setShowHighlight = _useState2[1];
 
 
 
 
2784
 
2785
+ var _useState3 = Object(external_this_wp_element_["useState"])(null),
2786
+ _useState4 = slicedToArray_default()(_useState3, 2),
2787
+ node = _useState4[0],
2788
+ setNode = _useState4[1];
2789
 
2790
+ Object(external_this_wp_element_["useEffect"])(function () {
2791
+ var element = document.getElementById(id);
2792
+ var container;
2793
 
2794
+ if (element && !node) {
2795
+ // Add tooltip container
2796
+ var parent = element.parentElement;
2797
+ container = document.createElement('div');
2798
+ container.classList.add('highlight-tooltip__container');
2799
+ parent.appendChild(container);
2800
+ setNode(container);
2801
+ }
2802
 
2803
+ var timeoutId = showTooltip(container);
2804
+ return function () {
2805
+ if (container) {
2806
+ var _parent = container.parentElement;
2807
 
2808
+ _parent.removeChild(container);
2809
+ }
2810
 
2811
+ if (timeoutId) {
2812
+ clearTimeout(timeoutId);
2813
+ }
2814
+ };
2815
+ }, []);
2816
+ Object(external_this_wp_element_["useEffect"])(function () {
2817
+ if (!showHighlight && node) {
2818
+ node.classList.remove(SHOW_CLASS);
2819
+ }
2820
+ }, [showHighlight]);
2821
+ Object(external_this_wp_element_["useEffect"])(function () {
2822
+ if (show !== showHighlight && showHighlight !== null && node) {
2823
+ setShowHighlight(show);
2824
 
2825
+ if (!show) {
2826
+ node.classList.remove(SHOW_CLASS);
2827
+ } else if (node) {
2828
+ showTooltip(node);
2829
+ }
2830
+ }
2831
+ }, [show]);
2832
 
2833
+ var showTooltip = function showTooltip(container) {
2834
+ var timeoutId = null;
2835
 
2836
+ if (delay > 0) {
2837
+ timeoutId = setTimeout(function () {
2838
+ timeoutId = null;
2839
 
2840
+ if (container) {
2841
+ container.classList.add(SHOW_CLASS);
2842
+ }
 
 
 
 
2843
 
2844
+ setShowHighlight(show);
2845
+ onShow();
2846
+ }, delay);
2847
+ } else if (!showHighlight) {
2848
+ if (container) {
2849
+ container.classList.add(SHOW_CLASS);
2850
+ }
2851
 
2852
+ setShowHighlight(true);
2853
+ onShow();
2854
+ }
2855
 
2856
+ return timeoutId;
2857
+ };
2858
 
2859
+ var triggerClose = function triggerClose() {
2860
+ setShowHighlight(false);
2861
 
2862
+ if (onClose) {
2863
+ onClose();
2864
+ }
2865
+ };
 
2866
 
2867
+ if (!node) {
2868
+ return null;
2869
+ }
2870
 
2871
+ return Object(external_this_wp_element_["createPortal"])(Object(external_this_wp_element_["createElement"])("div", {
2872
+ className: "highlight-tooltip__portal"
2873
+ }, showHighlight ? Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["IsolatedEventContainer"], {
2874
+ className: "highlight-tooltip__overlay"
2875
+ }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Popover"], {
2876
+ className: "highlight-tooltip__popover",
2877
+ noArrow: false,
2878
+ focusOnMount: "container"
2879
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Card"], {
2880
+ size: "medium"
2881
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["CardHeader"], null, title, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
2882
+ isSmall: true,
2883
+ onClick: triggerClose,
2884
+ icon: library_close
2885
+ })), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["CardBody"], null, content || null), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["CardFooter"], {
2886
+ isBorderless: true
2887
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
2888
+ size: "small",
2889
+ isPrimary: true,
2890
+ onClick: triggerClose
2891
+ }, closeButtonText || Object(external_this_wp_i18n_["__"])('Close', 'woocommerce-admin')))))) : null), node);
2892
+ }
2893
 
2894
+ HighlightTooltip.propTypes = {
2895
+ /**
2896
+ * The id of the element it should highlight, should be unique per HighlightTooltip.
2897
+ */
2898
+ id: prop_types_default.a.string.isRequired,
2899
 
2900
+ /**
2901
+ * Title of the popup
2902
+ */
2903
+ title: prop_types_default.a.string.isRequired,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2904
 
2905
+ /**
2906
+ * Text of the close button.
2907
+ */
2908
+ closeButtonText: prop_types_default.a.string.isRequired,
2909
 
2910
+ /**
2911
+ * Content of the popup, can be either text or react element.
2912
+ */
2913
+ content: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]),
2914
 
2915
+ /**
2916
+ * If to show the popup, defaults to true.
2917
+ */
2918
+ show: prop_types_default.a.bool,
2919
 
2920
+ /**
2921
+ * Callback for when the user closes the popup.
2922
+ */
2923
+ onClose: prop_types_default.a.func,
2924
 
2925
+ /**
2926
+ * This will delay the popup from appearing by the number of ms.
2927
+ */
2928
+ delay: prop_types_default.a.number,
2929
 
2930
+ /**
2931
+ * A callback for when the tooltip is shown.
2932
+ */
2933
+ onShow: prop_types_default.a.func
2934
+ };
2935
 
2936
+ // CONCATENATED MODULE: ./client/header/activity-panel/index.js
 
2937
 
 
2938
 
 
 
 
2939
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2940
 
 
 
 
 
 
 
 
 
2941
 
2942
 
 
 
 
2943
 
2944
+ function activity_panel_createSuper(Derived) { var hasNativeReflectConstruct = activity_panel_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = getPrototypeOf_default()(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
2945
 
2946
+ function activity_panel_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
 
 
2947
 
2948
+ /**
2949
+ * External dependencies
2950
+ */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2951
 
2952
 
 
 
 
2953
 
 
2954
 
 
 
2955
 
 
 
 
 
 
 
2956
 
 
 
 
2957
 
 
 
 
 
 
2958
 
 
 
 
2959
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2960
 
2961
 
 
 
 
2962
 
 
2963
 
 
 
2964
 
 
 
 
 
 
2965
 
2966
+ /**
2967
+ * Internal dependencies
2968
+ */
2969
 
 
 
 
2970
 
 
2971
 
 
 
 
 
 
 
 
 
2972
 
 
2973
 
 
 
 
2974
 
 
2975
 
 
 
 
2976
 
 
 
 
 
 
 
 
2977
 
2978
+ var HelpPanel = Object(external_this_wp_element_["lazy"])(function () {
2979
+ return Promise.all(/* import() | activity-panels-help */[__webpack_require__.e(53), __webpack_require__.e(6), __webpack_require__.e(7)]).then(__webpack_require__.bind(null, 593));
2980
+ });
2981
+ var InboxPanel = Object(external_this_wp_element_["lazy"])(function () {
2982
+ return Promise.all(/* import() | activity-panels-inbox */[__webpack_require__.e(1), __webpack_require__.e(2), __webpack_require__.e(4), __webpack_require__.e(8)]).then(__webpack_require__.bind(null, 580));
2983
+ });
2984
+ var activity_panel_ActivityPanel = /*#__PURE__*/function (_Component) {
2985
+ inherits_default()(ActivityPanel, _Component);
2986
 
2987
+ var _super = activity_panel_createSuper(ActivityPanel);
 
2988
 
2989
+ function ActivityPanel(props) {
2990
+ var _this;
 
2991
 
2992
+ classCallCheck_default()(this, ActivityPanel);
 
 
 
 
 
 
 
2993
 
2994
+ _this = _super.call(this, props);
2995
+ _this.state = {
2996
+ isPanelOpen: false,
2997
+ mobileOpen: false,
2998
+ currentTab: '',
2999
+ isPanelSwitching: false
3000
+ };
3001
+ return _this;
3002
  }
 
 
 
 
 
 
 
 
3003
 
3004
+ createClass_default()(ActivityPanel, [{
3005
+ key: "togglePanel",
3006
+ value: function togglePanel(_ref, isTabOpen) {
3007
+ var tabName = _ref.name;
3008
+ this.setState(function (state) {
3009
+ var isPanelSwitching = tabName !== state.currentTab && state.currentTab !== '' && isTabOpen && state.isPanelOpen;
3010
+ return {
3011
+ isPanelOpen: isTabOpen,
3012
+ mobileOpen: isTabOpen,
3013
+ currentTab: tabName,
3014
+ isPanelSwitching: isPanelSwitching
3015
+ };
3016
+ });
3017
+ }
3018
+ }, {
3019
+ key: "closePanel",
3020
+ value: function closePanel() {
3021
+ this.setState(function () {
3022
+ return {
3023
+ isPanelOpen: false,
3024
+ currentTab: ''
3025
+ };
3026
+ });
3027
+ }
3028
+ }, {
3029
+ key: "clearPanel",
3030
+ value: function clearPanel() {
3031
+ this.setState(function () {
3032
+ return {
3033
+ isPanelSwitching: false
3034
+ };
3035
+ });
3036
+ } // On smaller screen, the panel buttons are hidden behind a toggle.
3037
 
3038
+ }, {
3039
+ key: "toggleMobile",
3040
+ value: function toggleMobile() {
3041
+ var tabs = this.getTabs();
3042
+ this.setState(function (state) {
3043
+ return {
3044
+ mobileOpen: !state.mobileOpen,
3045
+ currentTab: state.mobileOpen ? '' : tabs[0].name,
3046
+ isPanelOpen: !state.mobileOpen
3047
+ };
3048
+ });
3049
+ }
3050
+ }, {
3051
+ key: "handleClickOutside",
3052
+ value: function handleClickOutside(event) {
3053
+ var isPanelOpen = this.state.isPanelOpen;
3054
+ var isClickOnModalOrSnackbar = event.target.closest('.woocommerce-inbox-dismiss-confirmation_modal') || event.target.closest('.components-snackbar__action');
3055
 
3056
+ if (isPanelOpen && !isClickOnModalOrSnackbar) {
3057
+ this.closePanel();
3058
+ }
3059
+ }
3060
+ }, {
3061
+ key: "isHomescreen",
3062
+ value: function isHomescreen() {
3063
+ var _this$props$getHistor = this.props.getHistory(),
3064
+ location = _this$props$getHistor.location;
3065
 
3066
+ return location.pathname === '/';
3067
+ }
3068
+ }, {
3069
+ key: "isPerformingSetupTask",
3070
+ value: function isPerformingSetupTask() {
3071
+ var _this$props = this.props,
3072
+ requestingTaskListOptions = _this$props.requestingTaskListOptions,
3073
+ taskListComplete = _this$props.taskListComplete,
3074
+ taskListHidden = _this$props.taskListHidden,
3075
+ query = _this$props.query;
3076
+ var isPerformingSetupTask = query.task && !query.path && (requestingTaskListOptions === true || taskListHidden === false && taskListComplete === false);
3077
+ return isPerformingSetupTask;
3078
+ } // @todo Pull in dynamic unread status/count
3079
 
3080
+ }, {
3081
+ key: "getTabs",
3082
+ value: function getTabs() {
3083
+ var _this$props2 = this.props,
3084
+ hasUnreadNotes = _this$props2.hasUnreadNotes,
3085
+ isEmbedded = _this$props2.isEmbedded,
3086
+ taskListComplete = _this$props2.taskListComplete,
3087
+ taskListHidden = _this$props2.taskListHidden;
3088
+ var isPerformingSetupTask = this.isPerformingSetupTask(); // Don't show the inbox on the Home screen.
3089
+
3090
+ var showInbox = (isEmbedded || !this.isHomescreen()) && !isPerformingSetupTask;
3091
+ var showHelp = this.isHomescreen() && !isEmbedded || isPerformingSetupTask;
3092
+ var showDisplayOptions = !isEmbedded && this.isHomescreen() && !isPerformingSetupTask;
3093
+ var showStoreSetup = !taskListComplete && !taskListHidden && !isPerformingSetupTask && (!this.isHomescreen() || isEmbedded);
3094
+ var inbox = showInbox ? {
3095
+ name: 'inbox',
3096
+ title: Object(external_this_wp_i18n_["__"])('Inbox', 'woocommerce-admin'),
3097
+ icon: Object(external_this_wp_element_["createElement"])("i", {
3098
+ className: "material-icons-outlined"
3099
+ }, "inbox"),
3100
+ unread: hasUnreadNotes
3101
+ } : null;
3102
+ var setup = showStoreSetup ? {
3103
+ name: 'setup',
3104
+ title: Object(external_this_wp_i18n_["__"])('Store Setup', 'woocommerce-admin'),
3105
+ icon: Object(external_this_wp_element_["createElement"])(setup_progress_SetupProgress, null)
3106
+ } : null;
3107
+ var help = showHelp ? {
3108
+ name: 'help',
3109
+ title: Object(external_this_wp_i18n_["__"])('Help', 'woocommerce-admin'),
3110
+ icon: Object(external_this_wp_element_["createElement"])(build_module_icon["a" /* default */], {
3111
+ icon: library_help
3112
+ })
3113
+ } : null;
3114
+ var displayOptions = showDisplayOptions ? {
3115
+ component: display_options_DisplayOptions
3116
+ } : null;
3117
+ return [inbox, setup, displayOptions, help].filter(Boolean);
3118
+ }
3119
+ }, {
3120
+ key: "getPanelContent",
3121
+ value: function getPanelContent(tab) {
3122
+ var query = this.props.query;
3123
+ var task = query.task;
3124
+
3125
+ switch (tab) {
3126
+ case 'inbox':
3127
+ return Object(external_this_wp_element_["createElement"])(InboxPanel, null);
3128
+
3129
+ case 'help':
3130
+ return Object(external_this_wp_element_["createElement"])(HelpPanel, {
3131
+ taskName: task
3132
+ });
3133
 
3134
+ default:
3135
+ return null;
3136
+ }
3137
+ }
3138
+ }, {
3139
+ key: "renderPanel",
3140
+ value: function renderPanel() {
3141
+ var _this2 = this;
3142
 
3143
+ var _this$props3 = this.props,
3144
+ updateOptions = _this$props3.updateOptions,
3145
+ taskListHidden = _this$props3.taskListHidden;
3146
+ var _this$state = this.state,
3147
+ isPanelOpen = _this$state.isPanelOpen,
3148
+ currentTab = _this$state.currentTab,
3149
+ isPanelSwitching = _this$state.isPanelSwitching;
3150
+ var tab = Object(external_lodash_["find"])(this.getTabs(), {
3151
+ name: currentTab
3152
+ });
3153
 
3154
+ if (!tab) {
3155
+ return Object(external_this_wp_element_["createElement"])("div", {
3156
+ className: "woocommerce-layout__activity-panel-wrapper"
3157
+ });
3158
+ }
3159
 
3160
+ var clearPanel = function clearPanel() {
3161
+ _this2.clearPanel();
3162
+ };
3163
 
3164
+ if (currentTab === 'display-options') {
3165
+ return null;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3166
  }
3167
 
3168
+ if (currentTab === 'setup') {
3169
+ var currentLocation = window.location.href;
3170
+ var homescreenLocation = Object(settings["f" /* getAdminLink */])('admin.php?page=wc-admin'); // Don't navigate if we're already on the homescreen, this will cause an infinite loop
3171
 
3172
+ if (currentLocation !== homescreenLocation) {
3173
+ // Ensure that if the user is trying to get to the task list they can see it even if
3174
+ // it was dismissed.
3175
+ if (taskListHidden === 'no') {
3176
+ this.redirectToHomeScreen();
3177
+ } else {
3178
+ updateOptions({
3179
+ woocommerce_task_list_hidden: 'no'
3180
+ }).then(this.redirectToHomeScreen);
3181
+ }
3182
+ }
3183
 
3184
+ return null;
 
 
 
3185
  }
 
 
 
 
3186
 
3187
+ var classNames = classnames_default()('woocommerce-layout__activity-panel-wrapper', {
3188
+ 'is-open': isPanelOpen,
3189
+ 'is-switching': isPanelSwitching
3190
+ });
3191
+ return Object(external_this_wp_element_["createElement"])("div", {
3192
+ className: classNames,
3193
+ tabIndex: 0,
3194
+ role: "tabpanel",
3195
+ "aria-label": tab.title,
3196
+ onTransitionEnd: clearPanel,
3197
+ onAnimationEnd: clearPanel
3198
+ }, Object(external_this_wp_element_["createElement"])("div", {
3199
+ className: "woocommerce-layout__activity-panel-content",
3200
+ key: 'activity-panel-' + currentTab,
3201
+ id: 'activity-panel-' + currentTab
3202
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Suspense"], {
3203
+ fallback: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Spinner"], null)
3204
+ }, this.getPanelContent(currentTab))));
3205
+ }
3206
+ }, {
3207
+ key: "redirectToHomeScreen",
3208
+ value: function redirectToHomeScreen() {
3209
+ if (Object(utils["f" /* isWCAdmin */])(window.location.href)) {
3210
+ Object(external_this_wc_navigation_["getHistory"])().push(Object(external_this_wc_navigation_["getNewPath"])({}, '/', {}));
3211
+ } else {
3212
+ window.location.href = Object(settings["f" /* getAdminLink */])('admin.php?page=wc-admin');
3213
+ }
3214
+ }
3215
+ }, {
3216
+ key: "closedHelpPanelHighlight",
3217
+ value: function closedHelpPanelHighlight() {
3218
+ var userPreferencesData = this.props.userPreferencesData;
3219
+ Object(external_this_wc_tracks_["recordEvent"])('help_tooltip_click');
3220
+
3221
+ if (userPreferencesData && userPreferencesData.updateUserPreferences) {
3222
+ userPreferencesData.updateUserPreferences({
3223
+ help_panel_highlight_shown: 'yes'
3224
+ });
3225
+ }
3226
+ }
3227
+ }, {
3228
+ key: "shouldShowHelpTooltip",
3229
+ value: function shouldShowHelpTooltip() {
3230
+ var _this$props4 = this.props,
3231
+ userPreferencesData = _this$props4.userPreferencesData,
3232
+ trackedCompletedTasks = _this$props4.trackedCompletedTasks,
3233
+ query = _this$props4.query;
3234
+ var task = query.task;
3235
+ var startedTasks = userPreferencesData && userPreferencesData.task_list_tracked_started_tasks;
3236
+ var highlightShown = userPreferencesData && userPreferencesData.help_panel_highlight_shown;
3237
+
3238
+ if (task && highlightShown !== 'yes' && (startedTasks || {})[task] > 1 && !trackedCompletedTasks.includes(task)) {
3239
+ return true;
3240
  }
3241
 
3242
+ return false;
3243
+ }
3244
+ }, {
3245
+ key: "render",
3246
+ value: function render() {
3247
+ var _this3 = this;
3248
+
3249
+ var tabs = this.getTabs();
3250
+ var _this$state2 = this.state,
3251
+ mobileOpen = _this$state2.mobileOpen,
3252
+ currentTab = _this$state2.currentTab,
3253
+ isPanelOpen = _this$state2.isPanelOpen;
3254
+ var headerId = Object(external_lodash_["uniqueId"])('activity-panel-header_');
3255
+ var panelClasses = classnames_default()('woocommerce-layout__activity-panel', {
3256
+ 'is-mobile-open': this.state.mobileOpen
3257
+ });
3258
+ var showHelpHighlightTooltip = this.shouldShowHelpTooltip();
3259
+ var hasUnread = tabs.some(function (tab) {
3260
+ return tab.unread;
3261
+ });
3262
+ var viewLabel = hasUnread ? Object(external_this_wp_i18n_["__"])('View Activity Panel, you have unread activity', 'woocommerce-admin') : Object(external_this_wp_i18n_["__"])('View Activity Panel', 'woocommerce-admin');
3263
+ return Object(external_this_wp_element_["createElement"])("div", null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
3264
+ id: headerId,
3265
+ className: "screen-reader-text"
3266
+ }, Object(external_this_wp_i18n_["__"])('Store Activity', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Section"], {
3267
+ component: "aside",
3268
+ id: "woocommerce-activity-panel",
3269
+ "aria-labelledby": headerId
3270
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
3271
+ onClick: function onClick() {
3272
+ _this3.toggleMobile();
3273
+ },
3274
+ label: mobileOpen ? Object(external_this_wp_i18n_["__"])('Close Activity Panel', 'woocommerce-admin') : viewLabel,
3275
+ "aria-expanded": mobileOpen,
3276
+ className: "woocommerce-layout__activity-panel-mobile-toggle"
3277
+ }, mobileOpen ? Object(external_this_wp_element_["createElement"])(cross_small_default.a, null) : Object(external_this_wp_element_["createElement"])(toggle_bubble, {
3278
+ hasUnread: hasUnread
3279
+ })), Object(external_this_wp_element_["createElement"])("div", {
3280
+ className: panelClasses
3281
+ }, Object(external_this_wp_element_["createElement"])(tabs_Tabs, {
3282
+ tabs: tabs,
3283
+ tabOpen: isPanelOpen,
3284
+ selectedTab: currentTab,
3285
+ onTabClick: function onTabClick(tab, tabOpen) {
3286
+ _this3.togglePanel(tab, tabOpen);
3287
  }
3288
+ }), this.renderPanel())), showHelpHighlightTooltip ? Object(external_this_wp_element_["createElement"])(HighlightTooltip, {
3289
+ delay: 1000,
3290
+ title: Object(external_this_wp_i18n_["__"])("We're here for help", 'woocommerce-admin'),
3291
+ content: Object(external_this_wp_i18n_["__"])('If you have any questions, feel free to explore the WooCommerce docs listed here.', 'woocommerce-admin'),
3292
+ closeButtonText: Object(external_this_wp_i18n_["__"])('Got it', 'woocommerce-admin'),
3293
+ id: "activity-panel-tab-help",
3294
+ onClose: function onClose() {
3295
+ return _this3.closedHelpPanelHighlight();
3296
+ },
3297
+ onShow: function onShow() {
3298
+ return Object(external_this_wc_tracks_["recordEvent"])('help_tooltip_view');
3299
  }
3300
+ }) : null);
 
3301
  }
3302
+ }]);
 
 
 
 
 
 
3303
 
3304
+ return ActivityPanel;
3305
+ }(external_this_wp_element_["Component"]);
3306
+ activity_panel_ActivityPanel.defaultProps = {
3307
+ getHistory: external_this_wc_navigation_["getHistory"]
3308
  };
3309
+ /* harmony default export */ var activity_panel = (Object(external_this_wp_compose_["compose"])(Object(external_this_wp_data_["withSelect"])(function (select) {
3310
+ var hasUnreadNotes = getUnreadNotes(select);
3311
 
3312
+ var _select = select(external_this_wc_data_["OPTIONS_STORE_NAME"]),
3313
+ getOption = _select.getOption,
3314
+ isResolving = _select.isResolving;
3315
 
3316
+ var taskListComplete = getOption('woocommerce_task_list_complete') === 'yes';
3317
+ var taskListHidden = getOption('woocommerce_task_list_hidden') === 'yes';
3318
+ var requestingTaskListOptions = isResolving('getOption', ['woocommerce_task_list_complete']) || isResolving('getOption', ['woocommerce_task_list_hidden']);
3319
+ var trackedCompletedTasks = getOption('woocommerce_task_list_tracked_completed_tasks') || [];
3320
+ return {
3321
+ hasUnreadNotes: hasUnreadNotes,
3322
+ requestingTaskListOptions: requestingTaskListOptions,
3323
+ taskListComplete: taskListComplete,
3324
+ taskListHidden: taskListHidden,
3325
+ trackedCompletedTasks: trackedCompletedTasks
3326
+ };
3327
+ }), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
3328
+ return {
3329
+ updateOptions: dispatch(external_this_wc_data_["OPTIONS_STORE_NAME"]).updateOptions
3330
+ };
3331
+ }), dist_default.a)(activity_panel_ActivityPanel));
3332
+ // CONCATENATED MODULE: ./client/lib/platform/index.js
3333
+ var ANDROID_PLATFORM = 'android';
3334
+ var IOS_PLATFORM = 'ios';
3335
+ var UNKNOWN_PLATFORM = 'unknown';
3336
+ /**
3337
+ * Provide basic detection of platform based on user agent. This is not
3338
+ * a robust check for browser features or the like. You should only use
3339
+ * this for non-critical display logic.
3340
+ */
3341
 
3342
+ var platform = function platform() {
3343
+ if (/iPhone|iPad|iPod/i.test(window.navigator.userAgent)) {
3344
+ return IOS_PLATFORM;
3345
+ } else if (/Android/i.test(window.navigator.userAgent)) {
3346
+ return ANDROID_PLATFORM;
3347
+ }
3348
 
3349
+ return UNKNOWN_PLATFORM;
3350
+ };
3351
+ // CONCATENATED MODULE: ./client/mobile-banner/app-icon.js
 
 
 
3352
 
3353
+ var app_icon_AppIcon = function AppIcon() {
3354
+ return Object(external_this_wp_element_["createElement"])("svg", {
3355
+ width: "37",
3356
+ height: "37",
3357
+ viewBox: "0 0 92 92",
3358
+ fill: "none",
3359
+ xmlns: "http://www.w3.org/2000/svg"
3360
+ }, Object(external_this_wp_element_["createElement"])("rect", {
3361
+ width: "92",
3362
+ height: "92",
3363
+ rx: "21.3953",
3364
+ fill: "#7F54B3"
3365
+ }), Object(external_this_wp_element_["createElement"])("path", {
3366
+ fillRule: "evenodd",
3367
+ clipRule: "evenodd",
3368
+ d: "M72.5937 28.043H19.8094C16.4781 28.0459 13.7783 30.7705 13.7754 34.1324V54.4501C13.7783 57.812 16.4781 60.5366 19.8094 60.5395H44.8229L56.2573 66.9607L53.6672 60.5395H72.599C74.2009 60.5402 75.7374 59.8983 76.8702 58.7552C78.0029 57.612 78.639 56.0614 78.6383 54.4447V34.1324C78.6376 32.5157 78.0002 30.9657 76.8664 29.8235C75.7327 28.6814 74.1956 28.0408 72.5937 28.043ZM19.1057 32.4208C18.4658 32.4324 17.8646 32.7359 17.467 33.2482C17.0888 33.7635 16.9404 34.4175 17.058 35.0502C18.5962 45.0986 20.0338 51.8757 21.371 55.3816C21.8779 56.658 22.4896 57.2703 23.2063 57.2185C24.3075 57.1489 25.6263 55.5968 27.1627 52.5621C27.9964 50.8412 29.2602 48.2662 30.9539 44.837C32.3785 49.88 34.309 53.6787 36.7456 56.2331C37.4291 56.9436 38.1204 57.2748 38.8195 57.2266C39.4185 57.1931 39.953 56.8315 40.217 56.2813C40.4753 55.7358 40.5806 55.1278 40.5211 54.5248C40.3516 52.0703 40.5919 48.667 41.2421 44.3149C41.9081 39.8057 42.7523 36.5818 43.7749 34.6432C43.9822 34.2526 44.0733 33.8087 44.037 33.366C44.0039 32.7587 43.7116 32.1969 43.2374 31.829C42.7745 31.4367 42.1799 31.2446 41.5803 31.2935C40.8334 31.3325 40.1682 31.7885 39.8499 32.4797C38.2331 35.5019 37.0812 40.4109 36.3943 47.2068C35.2823 44.2394 34.4509 41.1703 33.9114 38.0412C33.623 36.4613 32.9037 35.7125 31.7536 35.7946C30.9592 35.8589 30.3063 36.3944 29.7819 37.4012L24.0348 48.5643C23.0997 44.6692 22.2205 39.9289 21.3972 34.3433C21.1997 32.9652 20.4358 32.3244 19.1057 32.4208ZM69.9089 34.6877C71.6969 35.0381 73.2407 36.2 74.1186 37.8559C74.9693 39.3247 75.3946 41.1161 75.3946 43.23C75.4148 45.9567 74.7062 48.6357 73.3477 50.9687C71.7778 53.7023 69.7195 55.0691 67.1727 55.0691C66.6933 55.0668 66.2153 55.0128 65.7467 54.9078C63.9584 54.5581 62.4143 53.396 61.5371 51.7396C60.6864 50.2452 60.261 48.4411 60.261 46.3272C60.2357 43.6127 60.945 40.9454 62.3079 38.6295C63.9023 35.8959 65.9607 34.5291 68.4829 34.5291C68.9623 34.5304 69.4402 34.5836 69.9089 34.6877ZM68.7937 49.4848C69.7707 48.5773 70.4399 47.2269 70.8012 45.4337V45.4419C70.9315 44.7826 70.9959 44.1112 70.9933 43.4382C70.986 42.5849 70.8291 41.74 70.5302 40.9452C70.1443 39.901 69.6304 39.3124 68.9884 39.1793C68.0378 38.9643 67.1239 39.5256 66.2469 40.8632C65.5812 41.8393 65.109 42.9432 64.8577 44.1106C64.7276 44.7708 64.6632 45.4432 64.6657 46.1171C64.6739 46.9677 64.8308 47.8096 65.1287 48.6019C65.5146 49.6388 66.0294 50.2274 66.6731 50.3678C67.3169 50.5081 68.0237 50.2138 68.7937 49.4848ZM57.9079 37.8559C57.0291 36.2008 55.4854 35.0392 53.6976 34.6877C53.2279 34.5837 52.749 34.5306 52.2687 34.5291C49.7443 34.5291 47.6856 35.8959 46.0927 38.6295C44.7295 40.9454 44.0201 43.6127 44.0454 46.3272C44.0454 48.4411 44.4699 50.2452 45.319 51.7396C46.1976 53.3949 47.7414 54.5566 49.5294 54.9078C49.999 55.0126 50.4779 55.0667 50.9582 55.0691C53.5055 55.0691 55.5642 53.7023 57.1343 50.9687C58.4922 48.6355 59.2001 45.9565 59.1789 43.23C59.1789 41.1161 58.7544 39.3247 57.9053 37.8559H57.9079ZM54.5903 45.4337C54.2307 47.2269 53.5614 48.5773 52.5825 49.4848C51.8115 50.2065 51.101 50.5017 50.4589 50.3678C49.8169 50.2338 49.3011 49.6461 48.9169 48.6019C48.6181 47.8097 48.4603 46.9678 48.4511 46.1171C48.4495 45.4431 48.5148 44.7707 48.6459 44.1106C48.8971 42.9432 49.3694 41.8393 50.0353 40.8632C50.9124 39.5256 51.8264 38.9643 52.7773 39.1793C53.4193 39.3124 53.9333 39.901 54.3193 40.9452C54.617 41.7404 54.7739 42.585 54.7824 43.4382C54.785 44.1112 54.7207 44.7826 54.5903 45.4419V45.4337Z",
3369
+ fill: "white"
3370
+ }));
3371
+ };
3372
+ // EXTERNAL MODULE: ./client/mobile-banner/style.scss
3373
+ var mobile_banner_style = __webpack_require__(307);
3374
 
3375
+ // CONCATENATED MODULE: ./client/mobile-banner/constants.js
3376
+ // The Play Store link is defined as an exported constant mainly for the sake of testing the Mobile App Banner.
3377
+ // It is nearly impossible to fake navigation in JSDOM 16, so exposing this link for mocking allows us to
3378
+ // avoid triggering a navigation.
3379
+ var PLAY_STORE_LINK = 'https://play.google.com/store/apps/details?id=com.woocommerce.android';
3380
+ var TRACKING_EVENT_NAME = 'wcadmin_mobile_android_banner_click';
3381
+ // CONCATENATED MODULE: ./client/mobile-banner/index.js
3382
 
 
 
 
 
3383
 
 
3384
 
3385
+ /**
3386
+ * External dependencies
3387
+ */
 
3388
 
 
3389
 
 
 
3390
 
 
 
 
 
 
 
 
3391
 
3392
+ /**
3393
+ * Internal dependencies
3394
+ */
3395
 
 
 
 
3396
 
 
3397
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3398
 
3399
 
3400
+ var SHOW_APP_BANNER_MODIFIER_CLASS = 'woocommerce-layout__show-app-banner';
3401
+ var mobile_banner_MobileAppBanner = function MobileAppBanner(_ref) {
3402
+ var onInstall = _ref.onInstall,
3403
+ onDismiss = _ref.onDismiss;
3404
+ Object(external_this_wp_element_["useEffect"])(function () {
3405
+ var layout = document.getElementsByClassName('woocommerce-layout')[0];
3406
 
3407
+ if (platform() === ANDROID_PLATFORM) {
3408
+ if (layout) {
3409
+ // This is a hack to allow the mobile banner to work in the context of the header which is
3410
+ // position fixed. This can be refactored away when we move away from the activity panel
3411
+ // in future.
3412
+ layout.classList.add(SHOW_APP_BANNER_MODIFIER_CLASS);
3413
+ }
3414
+ }
3415
 
3416
+ return function () {
3417
+ if (layout) {
3418
+ layout.classList.remove(SHOW_APP_BANNER_MODIFIER_CLASS);
3419
+ }
3420
+ };
3421
+ }, []);
3422
 
3423
+ var _useState = Object(external_this_wp_element_["useState"])(false),
3424
+ _useState2 = slicedToArray_default()(_useState, 2),
3425
+ isDismissed = _useState2[0],
3426
+ setDismissed = _useState2[1]; // On iOS the "Smart App Banner" meta tag is used so only display this on Android.
3427
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3428
 
3429
+ if (platform() === ANDROID_PLATFORM && !isDismissed) {
3430
+ return Object(external_this_wp_element_["createElement"])("div", {
3431
+ className: "woocommerce-mobile-app-banner"
3432
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Icon"], {
3433
+ icon: "no-alt",
3434
+ "data-testid": "dismiss-btn",
3435
+ onClick: function onClick() {
3436
+ onDismiss();
3437
+ setDismissed(true);
3438
+ Object(external_this_wc_tracks_["recordEvent"])(TRACKING_EVENT_NAME, {
3439
+ action: 'dismiss'
3440
+ });
3441
+ }
3442
+ }), Object(external_this_wp_element_["createElement"])(app_icon_AppIcon, null), Object(external_this_wp_element_["createElement"])("div", {
3443
+ className: "woocommerce-mobile-app-banner__description"
3444
+ }, Object(external_this_wp_element_["createElement"])("p", {
3445
+ className: "woocommerce-mobile-app-banner__description__text"
3446
+ }, Object(external_this_wp_i18n_["__"])('Run your store from anywhere', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])("p", {
3447
+ className: "woocommerce-mobile-app-banner__description__text"
3448
+ }, Object(external_this_wp_i18n_["__"])('Download the WooCommerce app', 'woocommerce-admin'))), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
3449
+ href: PLAY_STORE_LINK,
3450
+ isSecondary: true,
3451
+ onClick: function onClick() {
3452
+ onInstall();
3453
+ setDismissed(true);
3454
+ Object(external_this_wc_tracks_["recordEvent"])(TRACKING_EVENT_NAME, {
3455
+ action: 'install'
3456
+ });
3457
+ }
3458
+ }, Object(external_this_wp_i18n_["__"])('Install', 'woocommerce-admin')));
3459
+ }
3460
 
3461
+ return null;
3462
+ };
3463
+ // EXTERNAL MODULE: ./client/hooks/useIsScrolled.js
3464
+ var useIsScrolled = __webpack_require__(140);
3465
 
3466
+ // CONCATENATED MODULE: ./client/header/index.js
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3467
 
3468
 
 
 
 
3469
 
 
 
 
3470
 
3471
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
3472
 
3473
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
 
 
 
 
 
3474
 
3475
+ /**
3476
+ * External dependencies
3477
+ */
3478
 
 
 
 
3479
 
 
3480
 
 
 
 
3481
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3482
 
3483
 
 
 
 
3484
 
3485
+ /**
3486
+ * Internal dependencies
3487
+ */
3488
 
 
3489
 
 
 
3490
 
 
 
 
 
 
 
 
3491
 
 
 
 
 
 
 
3492
 
3493
+ var header_Header = function Header(_ref) {
3494
+ var sections = _ref.sections,
3495
+ _ref$isEmbedded = _ref.isEmbedded,
3496
+ isEmbedded = _ref$isEmbedded === void 0 ? false : _ref$isEmbedded,
3497
+ query = _ref.query;
3498
+ var headerElement = Object(external_this_wp_element_["useRef"])(null);
3499
+ var siteTitle = Object(settings["g" /* getSetting */])('siteTitle', '');
3500
+ var pageTitle = sections.slice(-1)[0];
3501
+ var isScrolled = Object(useIsScrolled["a" /* default */])();
3502
 
3503
+ var _useUserPreferences = Object(external_this_wc_data_["useUserPreferences"])(),
3504
+ updateUserPreferences = _useUserPreferences.updateUserPreferences,
3505
+ userData = objectWithoutProperties_default()(_useUserPreferences, ["updateUserPreferences"]);
3506
 
3507
+ var isModalDismissed = userData.android_app_banner_dismissed === 'yes';
3508
+ var className = classnames_default()('woocommerce-layout__header', {
3509
+ 'is-scrolled': isScrolled
 
 
 
 
 
 
3510
  });
3511
+ Object(external_this_wp_element_["useEffect"])(function () {
3512
+ if (!isEmbedded) {
3513
+ var documentTitle = sections.map(function (section) {
3514
+ return Array.isArray(section) ? section[1] : section;
3515
+ }).reverse().join(' &lsaquo; ');
3516
+ var decodedTitle = Object(external_this_wp_htmlEntities_["decodeEntities"])(Object(external_this_wp_i18n_["sprintf"])(
3517
+ /* translators: 1: document title. 2: page title */
3518
+ Object(external_this_wp_i18n_["__"])('%1$s &lsaquo; %2$s &#8212; WooCommerce', 'woocommerce-admin'), documentTitle, siteTitle));
3519
 
3520
+ if (document.title !== decodedTitle) {
3521
+ document.title = decodedTitle;
3522
+ }
3523
+ }
3524
+ }, [isEmbedded, sections, siteTitle]);
3525
 
3526
+ var dismissHandler = function dismissHandler() {
3527
+ updateUserPreferences({
3528
+ android_app_banner_dismissed: 'yes'
3529
+ });
3530
+ };
3531
 
3532
+ return Object(external_this_wp_element_["createElement"])("div", {
3533
+ className: className,
3534
+ ref: headerElement
3535
+ }, !isModalDismissed && Object(external_this_wp_element_["createElement"])(mobile_banner_MobileAppBanner, {
3536
+ onDismiss: dismissHandler,
3537
+ onInstall: dismissHandler
3538
+ }), Object(external_this_wp_element_["createElement"])(build_module["f" /* Text */], {
3539
+ className: "woocommerce-layout__header-heading",
3540
+ as: "h1",
3541
+ variant: "subtitle.small"
3542
+ }, Object(external_this_wp_htmlEntities_["decodeEntities"])(pageTitle)), window.wcAdminFeatures['activity-panels'] && Object(external_this_wp_element_["createElement"])(activity_panel, {
3543
+ isEmbedded: isEmbedded,
3544
+ query: query,
3545
+ userPreferencesData: _objectSpread(_objectSpread({}, userData), {}, {
3546
+ updateUserPreferences: updateUserPreferences
3547
+ })
3548
+ }));
3549
+ };
3550
+ // CONCATENATED MODULE: ./client/layout/notices.js
3551
 
 
 
 
 
 
3552
 
3553
 
 
 
 
3554
 
 
 
 
3555
 
 
3556
 
 
 
 
 
 
 
 
3557
 
3558
+ function notices_createSuper(Derived) { var hasNativeReflectConstruct = notices_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = getPrototypeOf_default()(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
3559
 
3560
+ function notices_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
 
 
3561
 
3562
+ /**
3563
+ * External dependencies
3564
+ */
3565
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3566
 
3567
+ var notices_Notices = /*#__PURE__*/function (_Component) {
3568
+ inherits_default()(Notices, _Component);
3569
 
3570
+ var _super = notices_createSuper(Notices);
 
 
3571
 
3572
+ function Notices() {
3573
+ classCallCheck_default()(this, Notices);
3574
 
3575
+ return _super.apply(this, arguments);
3576
+ }
 
 
3577
 
3578
+ createClass_default()(Notices, [{
3579
+ key: "render",
3580
+ value: function render() {
3581
+ return Object(external_this_wp_element_["createElement"])("div", {
3582
+ id: "woocommerce-layout__notice-list",
3583
+ className: "woocommerce-layout__notice-list"
3584
+ });
3585
+ }
3586
+ }]);
3587
 
3588
+ return Notices;
3589
+ }(external_this_wp_element_["Component"]);
 
3590
 
3591
+ /* harmony default export */ var layout_notices = (notices_Notices);
3592
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js
3593
+ var regenerator = __webpack_require__(9);
3594
+ var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);
3595
 
3596
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
3597
+ var asyncToGenerator = __webpack_require__(43);
3598
+ var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
 
3599
 
3600
+ // EXTERNAL MODULE: ./node_modules/react-spring/web.cjs.js
3601
+ var web_cjs = __webpack_require__(180);
3602
 
3603
+ // EXTERNAL MODULE: ./client/layout/transient-notices/snackbar/index.js
3604
+ var snackbar = __webpack_require__(279);
 
3605
 
3606
+ // CONCATENATED MODULE: ./client/layout/transient-notices/snackbar/list.js
 
 
 
 
 
 
3607
 
3608
 
 
 
 
3609
 
 
 
 
 
 
 
3610
 
 
 
 
 
3611
 
 
 
 
 
 
 
 
 
 
 
 
 
3612
 
3613
+ /**
3614
+ * External dependencies
3615
+ */
 
 
 
3616
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3617
 
 
 
 
 
 
 
 
 
 
 
 
3618
 
3619
 
 
 
 
3620
 
3621
+ /**
3622
+ * Internal dependencies
3623
+ */
3624
 
 
3625
 
3626
+ /**
3627
+ * Renders a list of notices.
3628
+ *
3629
+ * @param {Object} $0 Props passed to the component.
3630
+ * @param {Array} $0.notices Array of notices to render.
3631
+ * @param {Function} $0.onRemove Function called when a notice should be removed / dismissed.
3632
+ * @param {Function} $0.onRemove2 Function called when a notice should be removed / dismissed.
3633
+ * @param {Object} $0.className Name of the class used by the component.
3634
+ * @param {Object} $0.children Array of children to be rendered inside the notice list.
3635
+ * @return {Object} The rendered notices list.
3636
+ */
3637
 
3638
+ function SnackbarList(_ref) {
3639
+ var notices = _ref.notices,
3640
+ className = _ref.className,
3641
+ children = _ref.children,
3642
+ _ref$onRemove = _ref.onRemove,
3643
+ onRemove = _ref$onRemove === void 0 ? external_lodash_["noop"] : _ref$onRemove,
3644
+ _ref$onRemove2 = _ref.onRemove2,
3645
+ onRemove2 = _ref$onRemove2 === void 0 ? external_lodash_["noop"] : _ref$onRemove2;
3646
+ var isReducedMotion = Object(external_this_wp_compose_["useReducedMotion"])();
3647
 
3648
+ var _useState = Object(external_this_wp_element_["useState"])(function () {
3649
+ return new WeakMap();
3650
+ }),
3651
+ _useState2 = slicedToArray_default()(_useState, 1),
3652
+ refMap = _useState2[0];
3653
 
3654
+ var transitions = Object(web_cjs["useTransition"])(notices, function (notice) {
3655
+ return notice.id;
3656
+ }, {
3657
+ from: {
3658
+ opacity: 0,
3659
+ height: 0
3660
+ },
3661
+ enter: function enter(item) {
3662
+ return /*#__PURE__*/function () {
3663
+ var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regenerator_default.a.mark(function _callee(next) {
3664
+ return regenerator_default.a.wrap(function _callee$(_context) {
3665
+ while (1) {
3666
+ switch (_context.prev = _context.next) {
3667
+ case 0:
3668
+ _context.next = 2;
3669
+ return next({
3670
+ opacity: 1,
3671
+ height: refMap.get(item).offsetHeight
3672
+ });
3673
 
3674
+ case 2:
3675
+ return _context.abrupt("return", _context.sent);
 
 
 
 
 
 
 
 
 
 
 
 
3676
 
3677
+ case 3:
3678
+ case "end":
3679
+ return _context.stop();
3680
+ }
3681
+ }
3682
+ }, _callee);
3683
+ }));
3684
 
3685
+ return function (_x) {
3686
+ return _ref2.apply(this, arguments);
3687
+ };
3688
+ }();
3689
+ },
3690
+ leave: function leave() {
3691
+ return /*#__PURE__*/function () {
3692
+ var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regenerator_default.a.mark(function _callee2(next) {
3693
+ return regenerator_default.a.wrap(function _callee2$(_context2) {
3694
+ while (1) {
3695
+ switch (_context2.prev = _context2.next) {
3696
+ case 0:
3697
+ _context2.next = 2;
3698
+ return next({
3699
+ opacity: 0
3700
+ });
3701
 
3702
+ case 2:
3703
+ _context2.next = 4;
3704
+ return next({
3705
+ height: 0
3706
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3707
 
3708
+ case 4:
3709
+ case "end":
3710
+ return _context2.stop();
3711
+ }
3712
+ }
3713
+ }, _callee2);
3714
+ }));
3715
 
3716
+ return function (_x2) {
3717
+ return _ref3.apply(this, arguments);
3718
+ };
3719
+ }();
3720
+ },
3721
+ immediate: isReducedMotion
3722
+ });
3723
+ className = classnames_default()('components-snackbar-list', className);
3724
 
3725
+ var removeNotice = function removeNotice(notice) {
3726
+ return function () {
3727
+ onRemove(notice.id); // To be removed when we're no longer using core/notices2.
 
3728
 
3729
+ onRemove2(notice.id);
 
 
 
 
 
 
 
 
3730
  };
 
 
 
 
 
3731
  };
3732
+
3733
+ return Object(external_this_wp_element_["createElement"])("div", {
3734
+ className: className
3735
+ }, children, transitions.map(function (_ref4) {
3736
+ var notice = _ref4.item,
3737
+ key = _ref4.key,
3738
+ style = _ref4.props;
3739
+ return Object(external_this_wp_element_["createElement"])(web_cjs["animated"].div, {
3740
+ key: key,
3741
+ style: style
3742
+ }, Object(external_this_wp_element_["createElement"])("div", {
3743
+ className: "components-snackbar-list__notice-container",
3744
+ ref: function ref(_ref5) {
3745
+ return _ref5 && refMap.set(notice, _ref5);
3746
+ }
3747
+ }, Object(external_this_wp_element_["createElement"])(snackbar["a" /* default */], extends_default()({}, Object(external_lodash_["omit"])(notice, ['content']), {
3748
+ onRemove: removeNotice(notice)
3749
+ }), notice.content)));
3750
+ }));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3751
  }
3752
 
3753
+ /* harmony default export */ var list = (SnackbarList);
3754
+ // EXTERNAL MODULE: ./client/layout/transient-notices/style.scss
3755
+ var transient_notices_style = __webpack_require__(309);
 
3756
 
3757
+ // CONCATENATED MODULE: ./client/layout/transient-notices/index.js
3758
 
 
 
 
3759
 
 
3760
 
 
3761
 
3762
 
 
 
 
3763
 
 
3764
 
3765
+ function transient_notices_createSuper(Derived) { var hasNativeReflectConstruct = transient_notices_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = getPrototypeOf_default()(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
3766
 
3767
+ function transient_notices_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
 
 
 
 
 
 
 
 
 
3768
 
3769
+ /**
3770
+ * External dependencies
3771
+ */
 
3772
 
3773
 
 
 
 
3774
 
 
3775
 
 
 
 
 
 
3776
 
3777
+ /**
3778
+ * Internal dependencies
3779
+ */
3780
 
 
 
 
 
3781
 
 
3782
 
3783
 
3784
+ var transient_notices_TransientNotices = /*#__PURE__*/function (_Component) {
3785
+ inherits_default()(TransientNotices, _Component);
 
3786
 
3787
+ var _super = transient_notices_createSuper(TransientNotices);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3788
 
3789
+ function TransientNotices() {
3790
+ classCallCheck_default()(this, TransientNotices);
3791
 
3792
+ return _super.apply(this, arguments);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3793
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3794
 
3795
+ createClass_default()(TransientNotices, [{
3796
+ key: "render",
3797
+ value: function render() {
3798
+ var _this$props = this.props,
3799
+ className = _this$props.className,
3800
+ notices = _this$props.notices,
3801
+ onRemove = _this$props.onRemove,
3802
+ onRemove2 = _this$props.onRemove2;
3803
+ var classes = classnames_default()('woocommerce-transient-notices', 'components-notices__snackbar', className);
3804
+ return Object(external_this_wp_element_["createElement"])(list, {
3805
+ notices: notices,
3806
+ className: classes,
3807
+ onRemove: onRemove,
3808
+ onRemove2: onRemove2
3809
  });
 
 
 
3810
  }
3811
+ }]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3812
 
3813
+ return TransientNotices;
3814
+ }(external_this_wp_element_["Component"]);
 
 
 
3815
 
3816
+ transient_notices_TransientNotices.propTypes = {
3817
+ /**
3818
+ * Additional class name to style the component.
3819
+ */
3820
+ className: prop_types_default.a.string,
 
 
 
3821
 
3822
+ /**
3823
+ * Array of notices to be displayed.
3824
+ */
3825
+ notices: prop_types_default.a.array
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3826
  };
3827
+ /* harmony default export */ var transient_notices = (Object(external_this_wp_compose_["compose"])(Object(external_this_wp_data_["withSelect"])(function (select) {
3828
+ // NOTE: This uses core/notices2, if this file is copied back upstream
3829
+ // to Gutenberg this needs to be changed back to just core/notices.
3830
+ var notices = select('core/notices').getNotices();
3831
+ var notices2 = select('core/notices2').getNotices();
3832
+ return {
3833
+ notices: notices.concat(notices2)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3834
  };
3835
+ }), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
3836
+ return {
3837
+ // NOTE: This uses core/notices2, if this file is copied back upstream
3838
+ // to Gutenberg this needs to be changed back to core/notices.
3839
+ onRemove: dispatch('core/notices').removeNotice,
3840
+ onRemove2: dispatch('core/notices2').removeNotice
3841
  };
3842
+ }))(transient_notices_TransientNotices));
3843
+ // EXTERNAL MODULE: external {"this":["wp","plugins"]}
3844
+ var external_this_wp_plugins_ = __webpack_require__(141);
3845
 
3846
+ // EXTERNAL MODULE: ./client/navigation/utils.js
3847
+ var navigation_utils = __webpack_require__(105);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3848
 
3849
+ // CONCATENATED MODULE: ./client/layout/navigation.js
 
 
3850
 
 
 
3851
 
 
3852
 
 
 
 
 
 
 
 
 
 
 
3853
 
3854
+ function navigation_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
 
 
 
 
 
 
3855
 
3856
+ function navigation_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { navigation_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { navigation_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3857
 
3858
+ /**
3859
+ * External dependencies
3860
+ */
3861
 
 
 
 
3862
 
 
3863
 
 
 
3864
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3865
 
3866
+ /**
3867
+ * Internal dependencies
3868
+ */
 
 
 
 
 
 
 
 
 
 
 
 
 
3869
 
3870
 
 
 
 
3871
 
 
3872
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3873
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3874
 
3875
+ var navigation_NavigationPlugin = function NavigationPlugin() {
3876
+ var _useState = Object(external_this_wp_element_["useState"])(Object(external_this_wc_navigation_["getPersistedQuery"])()),
3877
+ _useState2 = slicedToArray_default()(_useState, 2),
3878
+ persistedQuery = _useState2[0],
3879
+ setPersistedQuery = _useState2[1];
3880
 
3881
+ var pathIsExcluded = function pathIsExcluded(path) {
3882
+ return Object(external_this_wc_navigation_["getQueryExcludedScreens"])().includes(Object(external_this_wc_navigation_["getScreenFromPath"])(path));
3883
+ }; // Update the persisted queries when history is updated
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3884
 
 
 
3885
 
3886
+ Object(external_this_wp_element_["useEffect"])(function () {
3887
+ return Object(navigation_utils["a" /* addHistoryListener */])(function () {
3888
+ setTimeout(function () {
3889
+ if (pathIsExcluded()) {
3890
+ return;
3891
+ }
3892
 
3893
+ setPersistedQuery(Object(external_this_wc_navigation_["getPersistedQuery"])());
3894
+ }, 0);
3895
+ });
3896
+ }, []);
3897
+ /**
3898
+ * If the current page is embedded, stay with the default urls
3899
+ * provided by Navigation because the router isn't present to
3900
+ * respond to <Link /> component's manipulation of the url.
3901
+ */
3902
 
3903
+ if (!Object(utils["f" /* isWCAdmin */])(window.location.href)) {
3904
+ return null;
 
 
 
 
 
 
 
 
 
 
 
 
 
3905
  }
3906
+
3907
+ var reports = Object(get_reports["a" /* default */])().filter(function (item) {
3908
+ return item.navArgs;
3909
+ });
3910
+ var pages = controller_getPages().filter(function (page) {
3911
+ return page.navArgs;
3912
+ }).map(function (page) {
3913
+ if (page.path === '/analytics/settings') {
3914
+ return navigation_objectSpread(navigation_objectSpread({}, page), {}, {
3915
+ breadcrumbs: [Object(external_this_wp_i18n_["__"])('Analytics', 'woocommerce-admin')]
3916
+ });
 
 
 
 
 
 
 
 
 
3917
  }
3918
+
3919
+ return page;
3920
  });
3921
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, pages.map(function (page) {
3922
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_navigation_["WooNavigationItem"], {
3923
+ item: page.navArgs.id,
3924
+ key: page.navArgs.id
3925
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
3926
+ className: "components-button",
3927
+ href: Object(external_this_wc_navigation_["getNewPath"])(pathIsExcluded(page.path) ? {} : persistedQuery, page.path, {}),
3928
+ type: "wc-admin"
3929
+ }, page.breadcrumbs[page.breadcrumbs.length - 1]));
3930
+ }), reports.map(function (item) {
3931
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_navigation_["WooNavigationItem"], {
3932
+ item: item.navArgs.id,
3933
+ key: item.navArgs.id
3934
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
3935
+ className: "components-button",
3936
+ href: Object(external_this_wc_navigation_["getNewPath"])(pathIsExcluded(item.report) ? {} : persistedQuery, "/analytics/".concat(item.report), {}),
3937
+ type: "wc-admin"
3938
+ }, item.title));
3939
+ }));
3940
  };
3941
 
3942
+ Object(external_this_wp_plugins_["registerPlugin"])('wc-admin-navigation', {
3943
+ render: navigation_NavigationPlugin
3944
+ });
3945
+ // CONCATENATED MODULE: ./client/layout/index.js
3946
 
 
 
 
3947
 
 
3948
 
3949
 
 
 
3950
 
 
 
 
 
3951
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3952
 
3953
 
 
 
 
3954
 
 
3955
 
3956
+ function layout_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3957
 
3958
+ function layout_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { layout_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { layout_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3959
 
3960
+ function layout_createSuper(Derived) { var hasNativeReflectConstruct = layout_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = getPrototypeOf_default()(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; }
 
 
3961
 
3962
+ function layout_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
 
3963
 
3964
+ /**
3965
+ * External dependencies
3966
+ */
3967
 
 
 
 
 
3968
 
3969
 
 
 
 
3970
 
 
3971
 
 
 
 
 
 
 
3972
 
3973
 
 
 
 
3974
 
 
3975
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3976
 
 
 
 
 
 
3977
 
 
3978
 
3979
+ /**
3980
+ * Internal dependencies
3981
+ */
 
3982
 
 
 
 
 
3983
 
3984
 
 
 
 
3985
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3986
 
3987
 
 
 
 
 
3988
 
3989
+ var StoreAlerts = Object(external_this_wp_element_["lazy"])(function () {
3990
+ return Promise.all(/* import() | store-alerts */[__webpack_require__.e(1), __webpack_require__.e(47)]).then(__webpack_require__.bind(null, 601));
3991
+ });
3992
+ var WCPayUsageModal = Object(external_this_wp_element_["lazy"])(function () {
3993
+ return __webpack_require__.e(/* import() | wcpay-usage-modal */ 51).then(__webpack_require__.bind(null, 529));
3994
+ });
3995
+ var layout_PrimaryLayout = /*#__PURE__*/function (_Component) {
3996
+ inherits_default()(PrimaryLayout, _Component);
 
 
 
 
3997
 
3998
+ var _super = layout_createSuper(PrimaryLayout);
3999
 
4000
+ function PrimaryLayout() {
4001
+ classCallCheck_default()(this, PrimaryLayout);
4002
 
4003
+ return _super.apply(this, arguments);
4004
+ }
 
4005
 
4006
+ createClass_default()(PrimaryLayout, [{
4007
+ key: "render",
4008
+ value: function render() {
4009
+ var children = this.props.children;
4010
+ return Object(external_this_wp_element_["createElement"])("div", {
4011
+ className: "woocommerce-layout__primary",
4012
+ id: "woocommerce-layout__primary"
4013
+ }, window.wcAdminFeatures['store-alerts'] && Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Suspense"], {
4014
+ fallback: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Spinner"], null)
4015
+ }, Object(external_this_wp_element_["createElement"])(StoreAlerts, null)), Object(external_this_wp_element_["createElement"])(layout_notices, null), children);
4016
+ }
4017
+ }]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4018
 
4019
+ return PrimaryLayout;
4020
+ }(external_this_wp_element_["Component"]);
4021
 
4022
+ var layout_Layout = /*#__PURE__*/function (_Component2) {
4023
+ inherits_default()(_Layout, _Component2);
 
4024
 
4025
+ var _super2 = layout_createSuper(_Layout);
4026
 
4027
+ function _Layout() {
4028
+ classCallCheck_default()(this, _Layout);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4029
 
4030
+ return _super2.apply(this, arguments);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4031
  }
 
 
 
 
4032
 
4033
+ createClass_default()(_Layout, [{
4034
+ key: "componentDidMount",
4035
+ value: function componentDidMount() {
4036
+ this.recordPageViewTrack();
4037
+ }
4038
+ }, {
4039
+ key: "componentDidUpdate",
4040
+ value: function componentDidUpdate(prevProps) {
4041
+ var previousPath = Object(external_lodash_["get"])(prevProps, 'location.pathname');
4042
+ var currentPath = Object(external_lodash_["get"])(this.props, 'location.pathname');
4043
 
4044
+ if (!previousPath || !currentPath) {
4045
+ return;
4046
+ }
 
 
4047
 
4048
+ if (previousPath !== currentPath) {
4049
+ this.recordPageViewTrack();
4050
+ }
4051
+ }
4052
+ }, {
4053
+ key: "recordPageViewTrack",
4054
+ value: function recordPageViewTrack() {
4055
+ var _this$props = this.props,
4056
+ activePlugins = _this$props.activePlugins,
4057
+ installedPlugins = _this$props.installedPlugins,
4058
+ isEmbedded = _this$props.isEmbedded,
4059
+ isJetpackConnected = _this$props.isJetpackConnected;
4060
+ var navigationFlag = {
4061
+ has_navigation: !!window.wcNavigation
4062
+ };
4063
 
4064
+ if (isEmbedded) {
4065
+ var _path = document.location.pathname + document.location.search;
4066
 
4067
+ Object(external_this_wc_tracks_["recordPageView"])(_path, layout_objectSpread({
4068
+ is_embedded: true
4069
+ }, navigationFlag));
4070
+ return;
4071
+ }
4072
 
4073
+ var pathname = Object(external_lodash_["get"])(this.props, 'location.pathname');
 
 
4074
 
4075
+ if (!pathname) {
4076
+ return;
4077
+ } // Remove leading slash, and camel case remaining pathname
4078
 
 
 
 
4079
 
4080
+ var path = pathname.substring(1).replace(/\//g, '_'); // When pathname is `/` we are on the home screen.
 
 
4081
 
4082
+ if (path.length === 0) {
4083
+ path = 'home_screen';
4084
+ }
4085
 
4086
+ Object(external_this_wc_tracks_["recordPageView"])(path, layout_objectSpread({
4087
+ jetpack_installed: installedPlugins.includes('jetpack'),
4088
+ jetpack_active: activePlugins.includes('jetpack'),
4089
+ jetpack_connected: isJetpackConnected
4090
+ }, navigationFlag));
4091
+ }
4092
+ }, {
4093
+ key: "getQuery",
4094
+ value: function getQuery(searchString) {
4095
+ if (!searchString) {
4096
+ return {};
4097
+ }
4098
 
4099
+ var search = searchString.substring(1);
4100
+ return Object(lib["parse"])(search);
4101
+ }
4102
+ }, {
4103
+ key: "isWCPaySettingsPage",
4104
+ value: function isWCPaySettingsPage() {
4105
+ var _getQuery = Object(external_this_wc_navigation_["getQuery"])(),
4106
+ page = _getQuery.page,
4107
+ section = _getQuery.section,
4108
+ tab = _getQuery.tab;
4109
 
4110
+ return page === 'wc-settings' && tab === 'checkout' && section === 'woocommerce_payments';
4111
+ }
4112
+ }, {
4113
+ key: "render",
4114
+ value: function render() {
4115
+ var _this$props2 = this.props,
4116
+ isEmbedded = _this$props2.isEmbedded,
4117
+ restProps = objectWithoutProperties_default()(_this$props2, ["isEmbedded"]);
4118
 
4119
+ var _this$props3 = this.props,
4120
+ location = _this$props3.location,
4121
+ page = _this$props3.page;
4122
+ var breadcrumbs = page.breadcrumbs;
4123
+ var query = this.getQuery(location && location.search);
4124
+ return Object(external_this_wp_element_["createElement"])("div", {
4125
+ className: "woocommerce-layout"
4126
+ }, Object(external_this_wp_element_["createElement"])(header_Header, {
4127
+ sections: Object(external_lodash_["isFunction"])(breadcrumbs) ? breadcrumbs(this.props) : breadcrumbs,
4128
+ isEmbedded: isEmbedded,
4129
+ query: query
4130
+ }), Object(external_this_wp_element_["createElement"])(transient_notices, null), !isEmbedded && Object(external_this_wp_element_["createElement"])(layout_PrimaryLayout, null, Object(external_this_wp_element_["createElement"])("div", {
4131
+ className: "woocommerce-layout__main"
4132
+ }, Object(external_this_wp_element_["createElement"])(controller_Controller, extends_default()({}, restProps, {
4133
+ query: query
4134
+ })))), isEmbedded && this.isWCPaySettingsPage() && Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Suspense"], {
4135
+ fallback: null
4136
+ }, Object(external_this_wp_element_["createElement"])(WCPayUsageModal, null)));
4137
+ }
4138
+ }]);
4139
 
4140
+ return _Layout;
4141
+ }(external_this_wp_element_["Component"]);
 
 
 
 
4142
 
4143
+ layout_Layout.propTypes = {
4144
+ isEmbedded: prop_types_default.a.bool,
4145
+ page: prop_types_default.a.shape({
4146
+ container: prop_types_default.a.oneOfType([prop_types_default.a.func, prop_types_default.a.object // Support React.lazy
4147
+ ]),
4148
+ path: prop_types_default.a.string,
4149
+ breadcrumbs: prop_types_default.a.oneOfType([prop_types_default.a.func, prop_types_default.a.arrayOf(prop_types_default.a.oneOfType([prop_types_default.a.arrayOf(prop_types_default.a.string), prop_types_default.a.string]))]).isRequired,
4150
+ wpOpenMenu: prop_types_default.a.string
4151
+ }).isRequired
4152
+ };
4153
+ var Layout = Object(external_this_wp_compose_["compose"])(Object(external_this_wc_data_["withPluginsHydration"])(layout_objectSpread(layout_objectSpread({}, window.wcSettings.plugins || {}), {}, {
4154
+ jetpackStatus: window.wcSettings.dataEndpoints && window.wcSettings.dataEndpoints.jetpackStatus || false
4155
+ })), Object(external_this_wp_data_["withSelect"])(function (select, _ref) {
4156
+ var isEmbedded = _ref.isEmbedded;
4157
 
4158
+ // Embedded pages don't send plugin info to Tracks.
4159
+ if (isEmbedded) {
4160
+ return;
 
 
 
 
 
 
 
 
4161
  }
4162
 
4163
+ var _select = select(external_this_wc_data_["PLUGINS_STORE_NAME"]),
4164
+ getActivePlugins = _select.getActivePlugins,
4165
+ getInstalledPlugins = _select.getInstalledPlugins,
4166
+ isJetpackConnected = _select.isJetpackConnected;
4167
 
4168
+ return {
4169
+ activePlugins: getActivePlugins(),
4170
+ isJetpackConnected: isJetpackConnected(),
4171
+ installedPlugins: getInstalledPlugins()
4172
+ };
4173
+ }))(layout_Layout);
4174
 
4175
+ var layout_PageLayout = /*#__PURE__*/function (_Component3) {
4176
+ inherits_default()(_PageLayout, _Component3);
 
4177
 
4178
+ var _super3 = layout_createSuper(_PageLayout);
4179
 
4180
+ function _PageLayout() {
4181
+ classCallCheck_default()(this, _PageLayout);
 
 
 
4182
 
4183
+ return _super3.apply(this, arguments);
4184
+ }
4185
 
4186
+ createClass_default()(_PageLayout, [{
4187
+ key: "render",
4188
+ value: function render() {
4189
+ return Object(external_this_wp_element_["createElement"])(react_router_Router, {
4190
+ history: Object(external_this_wc_navigation_["getHistory"])()
4191
+ }, Object(external_this_wp_element_["createElement"])(react_router_Switch, null, controller_getPages().map(function (page) {
4192
+ return Object(external_this_wp_element_["createElement"])(react_router_Route, {
4193
+ key: page.path,
4194
+ path: page.path,
4195
+ exact: true,
4196
+ render: function render(props) {
4197
+ return Object(external_this_wp_element_["createElement"])(Layout, extends_default()({
4198
+ page: page
4199
+ }, props));
4200
+ }
4201
+ });
4202
+ })));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4203
  }
4204
+ }]);
 
 
 
 
 
4205
 
4206
+ return _PageLayout;
4207
+ }(external_this_wp_element_["Component"]);
4208
 
4209
+ var PageLayout = Object(external_this_wp_compose_["compose"])(window.wcSettings.preloadOptions ? Object(external_this_wc_data_["withOptionsHydration"])(layout_objectSpread({}, window.wcSettings.preloadOptions)) : external_lodash_["identity"])(layout_PageLayout);
 
 
4210
 
4211
+ var layout_EmbedLayout = function _EmbedLayout() {
4212
+ return Object(external_this_wp_element_["createElement"])(Layout, {
4213
+ page: {
4214
+ breadcrumbs: Object(settings["g" /* getSetting */])('embedBreadcrumbs', [])
4215
+ },
4216
+ isEmbedded: true
4217
+ });
4218
+ };
4219
 
4220
+ var EmbedLayout = Object(external_this_wp_compose_["compose"])(window.wcSettings.preloadOptions ? Object(external_this_wc_data_["withOptionsHydration"])(layout_objectSpread({}, window.wcSettings.preloadOptions)) : external_lodash_["identity"])(layout_EmbedLayout);
 
 
4221
 
4222
+ /***/ }),
 
 
 
 
 
 
 
 
4223
 
4224
+ /***/ 144:
4225
+ /***/ (function(module, exports) {
 
 
 
 
 
 
 
 
 
4226
 
4227
+ (function() { module.exports = this["wc"]["number"]; }());
4228
 
4229
  /***/ }),
 
 
4230
 
4231
+ /***/ 15:
4232
+ /***/ (function(module, exports) {
 
4233
 
4234
+ (function() { module.exports = this["wp"]["data"]; }());
4235
 
4236
  /***/ }),
4237
+
4238
+ /***/ 152:
 
4239
  /***/ (function(module, exports, __webpack_require__) {
4240
 
4241
  "use strict";
4242
+ /** @license React v16.13.1
4243
+ * react-is.production.min.js
4244
+ *
4245
+ * Copyright (c) Facebook, Inc. and its affiliates.
4246
+ *
4247
+ * This source code is licensed under the MIT license found in the
4248
+ * LICENSE file in the root directory of this source tree.
4249
+ */
4250
 
4251
+ var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b?
4252
+ Symbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x=b?Symbol.for("react.responder"):60118,y=b?Symbol.for("react.scope"):60119;
4253
+ function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;
4254
+ exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};
4255
+ exports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};
4256
+ exports.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;
4257
 
 
 
4258
 
4259
+ /***/ }),
 
 
 
 
 
 
4260
 
4261
+ /***/ 16:
4262
+ /***/ (function(module, exports) {
4263
 
4264
+ (function() { module.exports = this["moment"]; }());
4265
 
4266
  /***/ }),
 
 
4267
 
4268
+ /***/ 17:
4269
+ /***/ (function(module, exports) {
4270
+
4271
+ (function() { module.exports = this["wp"]["dataControls"]; }());
4272
 
4273
+ /***/ }),
4274
+
4275
+ /***/ 18:
4276
+ /***/ (function(module, exports) {
4277
 
4278
+ (function() { module.exports = this["wp"]["compose"]; }());
4279
 
4280
  /***/ }),
4281
+
4282
+ /***/ 180:
4283
  /***/ (function(module, exports, __webpack_require__) {
4284
 
4285
+ "use strict";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4286
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4287
 
4288
+ Object.defineProperty(exports, '__esModule', { value: true });
4289
 
4290
+ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
 
 
4291
 
4292
+ var _extends = _interopDefault(__webpack_require__(24));
4293
+ var _objectWithoutPropertiesLoose = _interopDefault(__webpack_require__(94));
4294
+ var React = __webpack_require__(10);
4295
+ var React__default = _interopDefault(React);
4296
+ var _inheritsLoose = _interopDefault(__webpack_require__(308));
4297
+ var _assertThisInitialized = _interopDefault(__webpack_require__(8));
4298
 
4299
+ var is = {
4300
+ arr: Array.isArray,
4301
+ obj: function obj(a) {
4302
+ return Object.prototype.toString.call(a) === '[object Object]';
4303
+ },
4304
+ fun: function fun(a) {
4305
+ return typeof a === 'function';
4306
+ },
4307
+ str: function str(a) {
4308
+ return typeof a === 'string';
4309
+ },
4310
+ num: function num(a) {
4311
+ return typeof a === 'number';
4312
+ },
4313
+ und: function und(a) {
4314
+ return a === void 0;
4315
+ },
4316
+ nul: function nul(a) {
4317
+ return a === null;
4318
+ },
4319
+ set: function set(a) {
4320
+ return a instanceof Set;
4321
+ },
4322
+ map: function map(a) {
4323
+ return a instanceof Map;
4324
+ },
4325
+ equ: function equ(a, b) {
4326
+ if (typeof a !== typeof b) return false;
4327
+ if (is.str(a) || is.num(a)) return a === b;
4328
+ if (is.obj(a) && is.obj(b) && Object.keys(a).length + Object.keys(b).length === 0) return true;
4329
+ var i;
4330
 
4331
+ for (i in a) {
4332
+ if (!(i in b)) return false;
4333
+ }
4334
 
4335
+ for (i in b) {
4336
+ if (a[i] !== b[i]) return false;
4337
+ }
4338
 
4339
+ return is.und(i) ? a === b : true;
4340
+ }
 
 
 
 
 
 
 
 
 
4341
  };
4342
+ function merge(target, lowercase) {
4343
+ if (lowercase === void 0) {
4344
+ lowercase = true;
4345
+ }
4346
 
4347
+ return function (object) {
4348
+ return (is.arr(object) ? object : Object.keys(object)).reduce(function (acc, element) {
4349
+ var key = lowercase ? element[0].toLowerCase() + element.substring(1) : element;
4350
+ acc[key] = target(key);
4351
+ return acc;
4352
+ }, target);
4353
+ };
4354
+ }
4355
+ function useForceUpdate() {
4356
+ var _useState = React.useState(false),
4357
+ f = _useState[1];
4358
 
4359
+ var forceUpdate = React.useCallback(function () {
4360
+ return f(function (v) {
4361
+ return !v;
4362
+ });
4363
+ }, []);
4364
+ return forceUpdate;
4365
+ }
4366
+ function withDefault(value, defaultValue) {
4367
+ return is.und(value) || is.nul(value) ? defaultValue : value;
4368
+ }
4369
+ function toArray(a) {
4370
+ return !is.und(a) ? is.arr(a) ? a : [a] : [];
4371
+ }
4372
+ function callProp(obj) {
4373
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
4374
+ args[_key - 1] = arguments[_key];
4375
+ }
4376
 
4377
+ return is.fun(obj) ? obj.apply(void 0, args) : obj;
4378
+ }
4379
 
4380
+ function getForwardProps(props) {
4381
+ var to = props.to,
4382
+ from = props.from,
4383
+ config = props.config,
4384
+ onStart = props.onStart,
4385
+ onRest = props.onRest,
4386
+ onFrame = props.onFrame,
4387
+ children = props.children,
4388
+ reset = props.reset,
4389
+ reverse = props.reverse,
4390
+ force = props.force,
4391
+ immediate = props.immediate,
4392
+ delay = props.delay,
4393
+ attach = props.attach,
4394
+ destroyed = props.destroyed,
4395
+ interpolateTo = props.interpolateTo,
4396
+ ref = props.ref,
4397
+ lazy = props.lazy,
4398
+ forward = _objectWithoutPropertiesLoose(props, ["to", "from", "config", "onStart", "onRest", "onFrame", "children", "reset", "reverse", "force", "immediate", "delay", "attach", "destroyed", "interpolateTo", "ref", "lazy"]);
4399
 
4400
+ return forward;
4401
+ }
4402
 
4403
+ function interpolateTo(props) {
4404
+ var forward = getForwardProps(props);
4405
+ if (is.und(forward)) return _extends({
4406
+ to: forward
4407
+ }, props);
4408
+ var rest = Object.keys(props).reduce(function (a, k) {
4409
+ var _extends2;
4410
 
4411
+ return !is.und(forward[k]) ? a : _extends({}, a, (_extends2 = {}, _extends2[k] = props[k], _extends2));
4412
+ }, {});
4413
+ return _extends({
4414
+ to: forward
4415
+ }, rest);
4416
+ }
4417
+ function handleRef(ref, forward) {
4418
+ if (forward) {
4419
+ // If it's a function, assume it's a ref callback
4420
+ if (is.fun(forward)) forward(ref);else if (is.obj(forward)) {
4421
+ forward.current = ref;
4422
+ }
4423
  }
 
4424
 
4425
+ return ref;
4426
+ }
4427
 
4428
+ var Animated =
4429
+ /*#__PURE__*/
4430
+ function () {
4431
+ function Animated() {
4432
+ this.payload = void 0;
4433
+ this.children = [];
4434
+ }
4435
 
4436
+ var _proto = Animated.prototype;
4437
 
4438
+ _proto.getAnimatedValue = function getAnimatedValue() {
4439
+ return this.getValue();
4440
+ };
 
 
4441
 
4442
+ _proto.getPayload = function getPayload() {
4443
+ return this.payload || this;
4444
+ };
4445
 
4446
+ _proto.attach = function attach() {};
 
 
 
 
 
 
4447
 
4448
+ _proto.detach = function detach() {};
4449
 
4450
+ _proto.getChildren = function getChildren() {
4451
+ return this.children;
4452
+ };
4453
 
4454
+ _proto.addChild = function addChild(child) {
4455
+ if (this.children.length === 0) this.attach();
4456
+ this.children.push(child);
4457
+ };
4458
 
4459
+ _proto.removeChild = function removeChild(child) {
4460
+ var index = this.children.indexOf(child);
4461
+ this.children.splice(index, 1);
4462
+ if (this.children.length === 0) this.detach();
4463
+ };
4464
 
4465
+ return Animated;
4466
+ }();
4467
+ var AnimatedArray =
4468
+ /*#__PURE__*/
4469
+ function (_Animated) {
4470
+ _inheritsLoose(AnimatedArray, _Animated);
4471
 
4472
+ function AnimatedArray() {
4473
+ var _this;
4474
 
4475
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
4476
+ args[_key] = arguments[_key];
 
 
4477
  }
4478
 
4479
+ _this = _Animated.call.apply(_Animated, [this].concat(args)) || this;
4480
+ _this.payload = [];
4481
 
4482
+ _this.attach = function () {
4483
+ return _this.payload.forEach(function (p) {
4484
+ return p instanceof Animated && p.addChild(_assertThisInitialized(_this));
4485
+ });
4486
+ };
4487
 
4488
+ _this.detach = function () {
4489
+ return _this.payload.forEach(function (p) {
4490
+ return p instanceof Animated && p.removeChild(_assertThisInitialized(_this));
4491
+ });
4492
+ };
4493
 
4494
+ return _this;
4495
+ }
 
 
 
4496
 
4497
+ return AnimatedArray;
4498
+ }(Animated);
4499
+ var AnimatedObject =
4500
+ /*#__PURE__*/
4501
+ function (_Animated2) {
4502
+ _inheritsLoose(AnimatedObject, _Animated2);
4503
 
4504
+ function AnimatedObject() {
4505
+ var _this2;
4506
+
4507
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
4508
+ args[_key3] = arguments[_key3];
 
4509
  }
4510
 
4511
+ _this2 = _Animated2.call.apply(_Animated2, [this].concat(args)) || this;
4512
+ _this2.payload = {};
4513
 
4514
+ _this2.attach = function () {
4515
+ return Object.values(_this2.payload).forEach(function (s) {
4516
+ return s instanceof Animated && s.addChild(_assertThisInitialized(_this2));
4517
+ });
4518
+ };
4519
 
4520
+ _this2.detach = function () {
4521
+ return Object.values(_this2.payload).forEach(function (s) {
4522
+ return s instanceof Animated && s.removeChild(_assertThisInitialized(_this2));
4523
+ });
4524
+ };
 
 
 
 
 
4525
 
4526
+ return _this2;
4527
+ }
4528
 
4529
+ var _proto2 = AnimatedObject.prototype;
 
 
4530
 
4531
+ _proto2.getValue = function getValue(animated) {
4532
+ if (animated === void 0) {
4533
+ animated = false;
4534
  }
4535
 
4536
+ var payload = {};
4537
+
4538
+ for (var _key4 in this.payload) {
4539
+ var value = this.payload[_key4];
4540
+ if (animated && !(value instanceof Animated)) continue;
4541
+ payload[_key4] = value instanceof Animated ? value[animated ? 'getAnimatedValue' : 'getValue']() : value;
 
 
 
 
 
 
 
 
4542
  }
4543
 
4544
+ return payload;
4545
+ };
4546
 
4547
+ _proto2.getAnimatedValue = function getAnimatedValue() {
4548
+ return this.getValue(true);
4549
+ };
 
 
 
 
 
4550
 
4551
+ return AnimatedObject;
4552
+ }(Animated);
 
 
 
 
4553
 
4554
+ var applyAnimatedValues;
4555
+ function injectApplyAnimatedValues(fn, transform) {
4556
+ applyAnimatedValues = {
4557
+ fn: fn,
4558
+ transform: transform
4559
+ };
4560
+ }
4561
+ var colorNames;
4562
+ function injectColorNames(names) {
4563
+ colorNames = names;
4564
+ }
4565
+ var requestFrame = function requestFrame(cb) {
4566
+ return typeof window !== 'undefined' ? window.requestAnimationFrame(cb) : -1;
4567
  };
4568
+ var cancelFrame = function cancelFrame(id) {
4569
+ typeof window !== 'undefined' && window.cancelAnimationFrame(id);
4570
+ };
4571
+ function injectFrame(raf, caf) {
4572
+ requestFrame = raf;
4573
+ cancelFrame = caf;
4574
+ }
4575
+ var interpolation;
4576
+ function injectStringInterpolator(fn) {
4577
+ interpolation = fn;
4578
+ }
4579
+ var now = function now() {
4580
+ return Date.now();
4581
+ };
4582
+ function injectNow(nowFn) {
4583
+ now = nowFn;
4584
+ }
4585
+ var defaultElement;
4586
+ function injectDefaultElement(el) {
4587
+ defaultElement = el;
4588
+ }
4589
+ var animatedApi = function animatedApi(node) {
4590
+ return node.current;
4591
+ };
4592
+ function injectAnimatedApi(fn) {
4593
+ animatedApi = fn;
4594
+ }
4595
+ var createAnimatedStyle;
4596
+ function injectCreateAnimatedStyle(factory) {
4597
+ createAnimatedStyle = factory;
4598
+ }
4599
+ var manualFrameloop;
4600
+ function injectManualFrameloop(callback) {
4601
+ manualFrameloop = callback;
4602
+ }
4603
 
4604
+ var Globals = /*#__PURE__*/Object.freeze({
4605
+ get applyAnimatedValues () { return applyAnimatedValues; },
4606
+ injectApplyAnimatedValues: injectApplyAnimatedValues,
4607
+ get colorNames () { return colorNames; },
4608
+ injectColorNames: injectColorNames,
4609
+ get requestFrame () { return requestFrame; },
4610
+ get cancelFrame () { return cancelFrame; },
4611
+ injectFrame: injectFrame,
4612
+ get interpolation () { return interpolation; },
4613
+ injectStringInterpolator: injectStringInterpolator,
4614
+ get now () { return now; },
4615
+ injectNow: injectNow,
4616
+ get defaultElement () { return defaultElement; },
4617
+ injectDefaultElement: injectDefaultElement,
4618
+ get animatedApi () { return animatedApi; },
4619
+ injectAnimatedApi: injectAnimatedApi,
4620
+ get createAnimatedStyle () { return createAnimatedStyle; },
4621
+ injectCreateAnimatedStyle: injectCreateAnimatedStyle,
4622
+ get manualFrameloop () { return manualFrameloop; },
4623
+ injectManualFrameloop: injectManualFrameloop
4624
+ });
4625
 
4626
+ /**
4627
+ * Wraps the `style` property with `AnimatedStyle`.
4628
+ */
 
 
4629
 
4630
+ var AnimatedProps =
4631
+ /*#__PURE__*/
4632
+ function (_AnimatedObject) {
4633
+ _inheritsLoose(AnimatedProps, _AnimatedObject);
4634
 
4635
+ function AnimatedProps(props, callback) {
4636
+ var _this;
 
 
 
 
 
 
 
 
 
 
 
4637
 
4638
+ _this = _AnimatedObject.call(this) || this;
4639
+ _this.update = void 0;
4640
+ _this.payload = !props.style ? props : _extends({}, props, {
4641
+ style: createAnimatedStyle(props.style)
4642
+ });
4643
+ _this.update = callback;
4644
 
4645
+ _this.attach();
 
 
 
4646
 
4647
+ return _this;
4648
+ }
 
 
4649
 
4650
+ return AnimatedProps;
4651
+ }(AnimatedObject);
 
 
 
 
 
4652
 
4653
+ var isFunctionComponent = function isFunctionComponent(val) {
4654
+ return is.fun(val) && !(val.prototype instanceof React__default.Component);
4655
  };
4656
 
4657
+ var createAnimatedComponent = function createAnimatedComponent(Component) {
4658
+ var AnimatedComponent = React.forwardRef(function (props, ref) {
4659
+ var forceUpdate = useForceUpdate();
4660
+ var mounted = React.useRef(true);
4661
+ var propsAnimated = React.useRef(null);
4662
+ var node = React.useRef(null);
4663
+ var attachProps = React.useCallback(function (props) {
4664
+ var oldPropsAnimated = propsAnimated.current;
4665
 
4666
+ var callback = function callback() {
4667
+ var didUpdate = false;
 
4668
 
4669
+ if (node.current) {
4670
+ didUpdate = applyAnimatedValues.fn(node.current, propsAnimated.current.getAnimatedValue());
 
 
 
 
 
 
4671
  }
 
 
 
4672
 
4673
+ if (!node.current || didUpdate === false) {
4674
+ // If no referenced node has been found, or the update target didn't have a
4675
+ // native-responder, then forceUpdate the animation ...
4676
+ forceUpdate();
4677
+ }
4678
+ };
4679
 
4680
+ propsAnimated.current = new AnimatedProps(props, callback);
4681
+ oldPropsAnimated && oldPropsAnimated.detach();
4682
+ }, []);
4683
+ React.useEffect(function () {
4684
+ return function () {
4685
+ mounted.current = false;
4686
+ propsAnimated.current && propsAnimated.current.detach();
4687
+ };
4688
+ }, []);
4689
+ React.useImperativeHandle(ref, function () {
4690
+ return animatedApi(node, mounted, forceUpdate);
4691
+ });
4692
+ attachProps(props);
4693
 
4694
+ var _getValue = propsAnimated.current.getValue(),
4695
+ scrollTop = _getValue.scrollTop,
4696
+ scrollLeft = _getValue.scrollLeft,
4697
+ animatedProps = _objectWithoutPropertiesLoose(_getValue, ["scrollTop", "scrollLeft"]); // Functions cannot have refs, see:
4698
+ // See: https://github.com/react-spring/react-spring/issues/569
4699
 
 
 
 
4700
 
4701
+ var refFn = isFunctionComponent(Component) ? undefined : function (childRef) {
4702
+ return node.current = handleRef(childRef, ref);
4703
+ };
4704
+ return React__default.createElement(Component, _extends({}, animatedProps, {
4705
+ ref: refFn
4706
+ }));
4707
+ });
4708
+ return AnimatedComponent;
 
4709
  };
4710
 
4711
+ var active = false;
4712
+ var controllers = new Set();
 
 
 
 
 
 
 
 
 
 
4713
 
4714
+ var update = function update() {
4715
+ if (!active) return false;
4716
+ var time = now();
4717
 
4718
+ for (var _iterator = controllers, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
4719
+ var _ref;
 
 
4720
 
4721
+ if (_isArray) {
4722
+ if (_i >= _iterator.length) break;
4723
+ _ref = _iterator[_i++];
4724
+ } else {
4725
+ _i = _iterator.next();
4726
+ if (_i.done) break;
4727
+ _ref = _i.value;
4728
+ }
4729
 
4730
+ var controller = _ref;
4731
+ var isActive = false;
 
 
 
 
4732
 
4733
+ for (var configIdx = 0; configIdx < controller.configs.length; configIdx++) {
4734
+ var config = controller.configs[configIdx];
4735
+ var endOfAnimation = void 0,
4736
+ lastTime = void 0;
4737
 
4738
+ for (var valIdx = 0; valIdx < config.animatedValues.length; valIdx++) {
4739
+ var animation = config.animatedValues[valIdx]; // If an animation is done, skip, until all of them conclude
4740
 
4741
+ if (animation.done) continue;
4742
+ var from = config.fromValues[valIdx];
4743
+ var to = config.toValues[valIdx];
4744
+ var position = animation.lastPosition;
4745
+ var isAnimated = to instanceof Animated;
4746
+ var velocity = Array.isArray(config.initialVelocity) ? config.initialVelocity[valIdx] : config.initialVelocity;
4747
+ if (isAnimated) to = to.getValue(); // Conclude animation if it's either immediate, or from-values match end-state
4748
 
4749
+ if (config.immediate) {
4750
+ animation.setValue(to);
4751
+ animation.done = true;
4752
+ continue;
4753
+ } // Break animation when string values are involved
4754
 
 
 
4755
 
4756
+ if (typeof from === 'string' || typeof to === 'string') {
4757
+ animation.setValue(to);
4758
+ animation.done = true;
4759
+ continue;
4760
+ }
4761
 
4762
+ if (config.duration !== void 0) {
4763
+ /** Duration easing */
4764
+ position = from + config.easing((time - animation.startTime) / config.duration) * (to - from);
4765
+ endOfAnimation = time >= animation.startTime + config.duration;
4766
+ } else if (config.decay) {
4767
+ /** Decay easing */
4768
+ position = from + velocity / (1 - 0.998) * (1 - Math.exp(-(1 - 0.998) * (time - animation.startTime)));
4769
+ endOfAnimation = Math.abs(animation.lastPosition - position) < 0.1;
4770
+ if (endOfAnimation) to = position;
4771
+ } else {
4772
+ /** Spring easing */
4773
+ lastTime = animation.lastTime !== void 0 ? animation.lastTime : time;
4774
+ velocity = animation.lastVelocity !== void 0 ? animation.lastVelocity : config.initialVelocity; // If we lost a lot of frames just jump to the end.
4775
 
4776
+ if (time > lastTime + 64) lastTime = time; // http://gafferongames.com/game-physics/fix-your-timestep/
 
 
4777
 
4778
+ var numSteps = Math.floor(time - lastTime);
 
 
 
 
 
 
 
4779
 
4780
+ for (var i = 0; i < numSteps; ++i) {
4781
+ var force = -config.tension * (position - to);
4782
+ var damping = -config.friction * velocity;
4783
+ var acceleration = (force + damping) / config.mass;
4784
+ velocity = velocity + acceleration * 1 / 1000;
4785
+ position = position + velocity * 1 / 1000;
4786
+ } // Conditions for stopping the spring animation
4787
 
 
 
 
 
 
 
 
4788
 
4789
+ var isOvershooting = config.clamp && config.tension !== 0 ? from < to ? position > to : position < to : false;
4790
+ var isVelocity = Math.abs(velocity) <= config.precision;
4791
+ var isDisplacement = config.tension !== 0 ? Math.abs(to - position) <= config.precision : true;
4792
+ endOfAnimation = isOvershooting || isVelocity && isDisplacement;
4793
+ animation.lastVelocity = velocity;
4794
+ animation.lastTime = time;
4795
+ } // Trails aren't done until their parents conclude
4796
 
 
 
 
 
 
 
 
 
 
 
4797
 
4798
+ if (isAnimated && !config.toValues[valIdx].done) endOfAnimation = false;
4799
 
4800
+ if (endOfAnimation) {
4801
+ // Ensure that we end up with a round value
4802
+ if (animation.value !== to) position = to;
4803
+ animation.done = true;
4804
+ } else isActive = true;
 
4805
 
4806
+ animation.setValue(position);
4807
+ animation.lastPosition = position;
4808
+ } // Keep track of updated values only when necessary
4809
 
 
4810
 
4811
+ if (controller.props.onFrame) controller.values[config.name] = config.interpolation.getValue();
4812
+ } // Update callbacks in the end of the frame
4813
 
 
4814
 
4815
+ if (controller.props.onFrame) controller.props.onFrame(controller.values); // Either call onEnd or next frame
 
 
 
4816
 
4817
+ if (!isActive) {
4818
+ controllers.delete(controller);
4819
+ controller.stop(true);
4820
+ }
4821
+ } // Loop over as long as there are controllers ...
4822
 
 
 
4823
 
4824
+ if (controllers.size) {
4825
+ if (manualFrameloop) manualFrameloop();else requestFrame(update);
4826
+ } else {
4827
+ active = false;
 
 
 
 
4828
  }
4829
 
4830
+ return active;
4831
+ };
 
4832
 
4833
+ var start = function start(controller) {
4834
+ if (!controllers.has(controller)) controllers.add(controller);
4835
 
4836
+ if (!active) {
4837
+ active = true;
4838
+ if (manualFrameloop) requestFrame(manualFrameloop);else requestFrame(update);
4839
  }
4840
+ };
4841
 
4842
+ var stop = function stop(controller) {
4843
+ if (controllers.has(controller)) controllers.delete(controller);
4844
+ };
 
4845
 
4846
+ function createInterpolator(range, output, extrapolate) {
4847
+ if (typeof range === 'function') {
4848
+ return range;
4849
+ }
4850
 
4851
+ if (Array.isArray(range)) {
4852
+ return createInterpolator({
4853
+ range: range,
4854
+ output: output,
4855
+ extrapolate: extrapolate
4856
+ });
4857
+ }
4858
 
4859
+ if (interpolation && typeof range.output[0] === 'string') {
4860
+ return interpolation(range);
4861
+ }
4862
 
4863
+ var config = range;
4864
+ var outputRange = config.output;
4865
+ var inputRange = config.range || [0, 1];
4866
+ var extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend';
4867
+ var extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend';
4868
 
4869
+ var easing = config.easing || function (t) {
4870
+ return t;
4871
+ };
4872
 
4873
+ return function (input) {
4874
+ var range = findRange(input, inputRange);
4875
+ return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map);
4876
+ };
4877
+ }
4878
 
4879
+ function interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {
4880
+ var result = map ? map(input) : input; // Extrapolate
4881
 
4882
+ if (result < inputMin) {
4883
+ if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;
4884
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4885
 
4886
+ if (result > inputMax) {
4887
+ if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;
 
4888
  }
4889
 
4890
+ if (outputMin === outputMax) return outputMin;
4891
+ if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax; // Input Range
4892
 
4893
+ if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin); // Easing
 
 
 
4894
 
4895
+ result = easing(result); // Output Range
4896
+
4897
+ if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;
4898
+ return result;
 
 
 
 
 
 
 
 
 
 
4899
  }
4900
 
4901
+ function findRange(input, inputRange) {
4902
+ for (var i = 1; i < inputRange.length - 1; ++i) {
4903
+ if (inputRange[i] >= input) break;
4904
+ }
4905
 
4906
+ return i - 1;
4907
+ }
 
 
 
 
 
 
4908
 
4909
+ var AnimatedInterpolation =
4910
+ /*#__PURE__*/
4911
+ function (_AnimatedArray) {
4912
+ _inheritsLoose(AnimatedInterpolation, _AnimatedArray);
 
4913
 
4914
+ function AnimatedInterpolation(parents, range, output, extrapolate) {
4915
+ var _this;
 
 
 
4916
 
4917
+ _this = _AnimatedArray.call(this) || this;
4918
+ _this.calc = void 0;
4919
+ _this.payload = parents instanceof AnimatedArray && !(parents instanceof AnimatedInterpolation) ? parents.getPayload() : Array.isArray(parents) ? parents : [parents];
4920
+ _this.calc = createInterpolator(range, output, extrapolate);
4921
+ return _this;
4922
  }
4923
 
4924
+ var _proto = AnimatedInterpolation.prototype;
 
 
 
 
 
 
 
 
4925
 
4926
+ _proto.getValue = function getValue() {
4927
+ return this.calc.apply(this, this.payload.map(function (value) {
4928
+ return value.getValue();
4929
+ }));
4930
+ };
4931
 
4932
+ _proto.updateConfig = function updateConfig(range, output, extrapolate) {
4933
+ this.calc = createInterpolator(range, output, extrapolate);
4934
+ };
 
 
 
 
 
 
 
 
 
 
4935
 
4936
+ _proto.interpolate = function interpolate(range, output, extrapolate) {
4937
+ return new AnimatedInterpolation(this, range, output, extrapolate);
4938
+ };
 
 
4939
 
4940
+ return AnimatedInterpolation;
4941
+ }(AnimatedArray);
4942
 
4943
+ var interpolate$1 = function interpolate(parents, range, output) {
4944
+ return parents && new AnimatedInterpolation(parents, range, output);
4945
+ };
4946
+
4947
+ var config = {
4948
+ default: {
4949
+ tension: 170,
4950
+ friction: 26
4951
+ },
4952
+ gentle: {
4953
+ tension: 120,
4954
+ friction: 14
4955
+ },
4956
+ wobbly: {
4957
+ tension: 180,
4958
+ friction: 12
4959
+ },
4960
+ stiff: {
4961
+ tension: 210,
4962
+ friction: 20
4963
+ },
4964
+ slow: {
4965
+ tension: 280,
4966
+ friction: 60
4967
+ },
4968
+ molasses: {
4969
+ tension: 280,
4970
+ friction: 120
4971
  }
4972
+ };
4973
 
4974
+ /** API
4975
+ * useChain(references, timeSteps, timeFrame)
4976
+ */
 
 
 
4977
 
4978
+ function useChain(refs, timeSteps, timeFrame) {
4979
+ if (timeFrame === void 0) {
4980
+ timeFrame = 1000;
 
 
 
 
 
 
 
 
 
 
 
4981
  }
4982
 
4983
+ var previous = React.useRef();
4984
+ React.useEffect(function () {
4985
+ if (is.equ(refs, previous.current)) refs.forEach(function (_ref) {
4986
+ var current = _ref.current;
4987
+ return current && current.start();
4988
+ });else if (timeSteps) {
4989
+ refs.forEach(function (_ref2, index) {
4990
+ var current = _ref2.current;
4991
 
4992
+ if (current) {
4993
+ var ctrls = current.controllers;
 
4994
 
4995
+ if (ctrls.length) {
4996
+ var t = timeFrame * timeSteps[index];
4997
+ ctrls.forEach(function (ctrl) {
4998
+ ctrl.queue = ctrl.queue.map(function (e) {
4999
+ return _extends({}, e, {
5000
+ delay: e.delay + t
5001
+ });
5002
+ });
5003
+ ctrl.start();
5004
+ });
5005
+ }
5006
+ }
5007
  });
5008
+ } else refs.reduce(function (q, _ref3, rI) {
5009
+ var current = _ref3.current;
5010
+ return q = q.then(function () {
5011
+ return current.start();
5012
+ });
5013
+ }, Promise.resolve());
5014
+ previous.current = refs;
5015
+ });
 
 
 
 
 
 
 
 
 
 
 
5016
  }
5017
 
 
 
 
 
5018
  /**
5019
+ * Animated works by building a directed acyclic graph of dependencies
5020
+ * transparently when you render your Animated components.
5021
  *
5022
+ * new Animated.Value(0)
5023
+ * .interpolate() .interpolate() new Animated.Value(1)
5024
+ * opacity translateY scale
5025
+ * style transform
5026
+ * View#234 style
5027
+ * View#123
5028
+ *
5029
+ * A) Top Down phase
5030
+ * When an AnimatedValue is updated, we recursively go down through this
5031
+ * graph in order to find leaf nodes: the views that we flag as needing
5032
+ * an update.
5033
+ *
5034
+ * B) Bottom Up phase
5035
+ * When a view is flagged as needing an update, we recursively go back up
5036
+ * in order to build the new value that it needs. The reason why we need
5037
+ * this two-phases process is to deal with composite props such as
5038
+ * transform which can receive values from multiple parents.
5039
  */
5040
+ function addAnimatedStyles(node, styles) {
5041
+ if ('update' in node) {
5042
+ styles.add(node);
5043
+ } else {
5044
+ node.getChildren().forEach(function (child) {
5045
+ return addAnimatedStyles(child, styles);
5046
+ });
5047
+ }
5048
  }
 
 
 
 
5049
 
5050
+ var AnimatedValue =
5051
+ /*#__PURE__*/
5052
+ function (_Animated) {
5053
+ _inheritsLoose(AnimatedValue, _Animated);
 
 
5054
 
5055
+ function AnimatedValue(_value) {
5056
+ var _this;
 
 
 
 
 
 
5057
 
5058
+ _this = _Animated.call(this) || this;
5059
+ _this.animatedStyles = new Set();
5060
+ _this.value = void 0;
5061
+ _this.startPosition = void 0;
5062
+ _this.lastPosition = void 0;
5063
+ _this.lastVelocity = void 0;
5064
+ _this.startTime = void 0;
5065
+ _this.lastTime = void 0;
5066
+ _this.done = false;
5067
 
5068
+ _this.setValue = function (value, flush) {
5069
+ if (flush === void 0) {
5070
+ flush = true;
5071
+ }
5072
 
5073
+ _this.value = value;
5074
+ if (flush) _this.flush();
5075
+ };
5076
+
5077
+ _this.value = _value;
5078
+ _this.startPosition = _value;
5079
+ _this.lastPosition = _value;
5080
+ return _this;
5081
  }
 
 
 
 
 
5082
 
5083
+ var _proto = AnimatedValue.prototype;
5084
 
5085
+ _proto.flush = function flush() {
5086
+ if (this.animatedStyles.size === 0) {
5087
+ addAnimatedStyles(this, this.animatedStyles);
5088
+ }
5089
 
5090
+ this.animatedStyles.forEach(function (animatedStyle) {
5091
+ return animatedStyle.update();
5092
+ });
5093
+ };
 
 
 
 
 
 
 
 
5094
 
5095
+ _proto.clearStyles = function clearStyles() {
5096
+ this.animatedStyles.clear();
5097
+ };
 
5098
 
5099
+ _proto.getValue = function getValue() {
5100
+ return this.value;
5101
+ };
 
 
 
 
 
 
5102
 
5103
+ _proto.interpolate = function interpolate(range, output, extrapolate) {
5104
+ return new AnimatedInterpolation(this, range, output, extrapolate);
5105
+ };
5106
 
5107
+ return AnimatedValue;
5108
+ }(Animated);
5109
 
5110
+ var AnimatedValueArray =
5111
+ /*#__PURE__*/
5112
+ function (_AnimatedArray) {
5113
+ _inheritsLoose(AnimatedValueArray, _AnimatedArray);
5114
 
5115
+ function AnimatedValueArray(values) {
5116
+ var _this;
 
5117
 
5118
+ _this = _AnimatedArray.call(this) || this;
5119
+ _this.payload = values.map(function (n) {
5120
+ return new AnimatedValue(n);
5121
+ });
5122
+ return _this;
5123
  }
5124
 
5125
+ var _proto = AnimatedValueArray.prototype;
 
 
5126
 
5127
+ _proto.setValue = function setValue(value, flush) {
5128
+ var _this2 = this;
5129
 
5130
+ if (flush === void 0) {
5131
+ flush = true;
5132
+ }
5133
+
5134
+ if (Array.isArray(value)) {
5135
+ if (value.length === this.payload.length) {
5136
+ value.forEach(function (v, i) {
5137
+ return _this2.payload[i].setValue(v, flush);
5138
+ });
5139
+ }
5140
  } else {
5141
+ this.payload.forEach(function (p) {
5142
+ return p.setValue(value, flush);
 
 
 
 
 
 
 
 
5143
  });
5144
  }
5145
+ };
 
 
 
 
 
5146
 
5147
+ _proto.getValue = function getValue() {
5148
+ return this.payload.map(function (v) {
5149
+ return v.getValue();
5150
+ });
5151
+ };
5152
 
5153
+ _proto.interpolate = function interpolate(range, output) {
5154
+ return new AnimatedInterpolation(this, range, output);
5155
+ };
 
 
5156
 
5157
+ return AnimatedValueArray;
5158
+ }(AnimatedArray);
5159
 
5160
+ var G = 0;
 
 
5161
 
5162
+ var Controller =
5163
+ /*#__PURE__*/
5164
+ function () {
5165
+ function Controller() {
5166
+ var _this = this;
 
 
 
 
5167
 
5168
+ this.id = void 0;
5169
+ this.idle = true;
5170
+ this.hasChanged = false;
5171
+ this.guid = 0;
5172
+ this.local = 0;
5173
+ this.props = {};
5174
+ this.merged = {};
5175
+ this.animations = {};
5176
+ this.interpolations = {};
5177
+ this.values = {};
5178
+ this.configs = [];
5179
+ this.listeners = [];
5180
+ this.queue = [];
5181
+ this.localQueue = void 0;
5182
 
5183
+ this.getValues = function () {
5184
+ return _this.interpolations;
5185
+ };
5186
+
5187
+ this.id = G++;
 
 
 
 
 
 
 
 
 
 
 
 
5188
  }
5189
+ /** update(props)
5190
+ * This function filters input props and creates an array of tasks which are executed in .start()
5191
+ * Each task is allowed to carry a delay, which means it can execute asnychroneously */
5192
 
 
 
 
 
 
 
 
 
 
5193
 
5194
+ var _proto = Controller.prototype;
 
 
 
 
5195
 
5196
+ _proto.update = function update$$1(args) {
5197
+ //this._id = n + this.id
5198
+ if (!args) return this; // Extract delay and the to-prop from props
 
 
 
 
 
 
 
 
 
 
 
 
 
5199
 
5200
+ var _ref = interpolateTo(args),
5201
+ _ref$delay = _ref.delay,
5202
+ delay = _ref$delay === void 0 ? 0 : _ref$delay,
5203
+ to = _ref.to,
5204
+ props = _objectWithoutPropertiesLoose(_ref, ["delay", "to"]);
5205
 
5206
+ if (is.arr(to) || is.fun(to)) {
5207
+ // If config is either a function or an array queue it up as is
5208
+ this.queue.push(_extends({}, props, {
5209
+ delay: delay,
5210
+ to: to
5211
+ }));
5212
+ } else if (to) {
5213
+ // Otherwise go through each key since it could be delayed individually
5214
+ var ops = {};
5215
+ Object.entries(to).forEach(function (_ref2) {
5216
+ var _to;
5217
 
5218
+ var k = _ref2[0],
5219
+ v = _ref2[1];
 
5220
 
5221
+ // Fetch delay and create an entry, consisting of the to-props, the delay, and basic props
5222
+ var entry = _extends({
5223
+ to: (_to = {}, _to[k] = v, _to),
5224
+ delay: callProp(delay, k)
5225
+ }, props);
5226
 
5227
+ var previous = ops[entry.delay] && ops[entry.delay].to;
5228
+ ops[entry.delay] = _extends({}, ops[entry.delay], entry, {
5229
+ to: _extends({}, previous, entry.to)
5230
+ });
5231
+ });
5232
+ this.queue = Object.values(ops);
5233
+ } // Sort queue, so that async calls go last
5234
 
5235
+
5236
+ this.queue = this.queue.sort(function (a, b) {
5237
+ return a.delay - b.delay;
5238
+ }); // Diff the reduced props immediately (they'll contain the from-prop and some config)
5239
+
5240
+ this.diff(props);
5241
+ return this;
5242
  }
5243
+ /** start(onEnd)
5244
+ * This function either executes a queue, if present, or starts the frameloop, which animates */
5245
+ ;
5246
 
5247
+ _proto.start = function start$$1(onEnd) {
5248
+ var _this2 = this;
5249
 
5250
+ // If a queue is present we must excecute it
5251
+ if (this.queue.length) {
5252
+ this.idle = false; // Updates can interrupt trailing queues, in that case we just merge values
 
5253
 
5254
+ if (this.localQueue) {
5255
+ this.localQueue.forEach(function (_ref3) {
5256
+ var _ref3$from = _ref3.from,
5257
+ from = _ref3$from === void 0 ? {} : _ref3$from,
5258
+ _ref3$to = _ref3.to,
5259
+ to = _ref3$to === void 0 ? {} : _ref3$to;
5260
+ if (is.obj(from)) _this2.merged = _extends({}, from, _this2.merged);
5261
+ if (is.obj(to)) _this2.merged = _extends({}, _this2.merged, to);
5262
+ });
5263
+ } // The guid helps us tracking frames, a new queue over an old one means an override
5264
+ // We discard async calls in that caseÍ
5265
 
 
 
 
 
5266
 
5267
+ var local = this.local = ++this.guid;
5268
+ var queue = this.localQueue = this.queue;
5269
+ this.queue = []; // Go through each entry and execute it
 
 
5270
 
5271
+ queue.forEach(function (_ref4, index) {
5272
+ var delay = _ref4.delay,
5273
+ props = _objectWithoutPropertiesLoose(_ref4, ["delay"]);
5274
 
5275
+ var cb = function cb(finished) {
5276
+ if (index === queue.length - 1 && local === _this2.guid && finished) {
5277
+ _this2.idle = true;
5278
+ if (_this2.props.onRest) _this2.props.onRest(_this2.merged);
5279
+ }
 
 
 
5280
 
5281
+ if (onEnd) onEnd();
5282
+ }; // Entries can be delayed, ansyc or immediate
 
 
 
 
 
 
 
 
 
 
 
 
 
5283
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5284
 
5285
+ var async = is.arr(props.to) || is.fun(props.to);
 
 
 
5286
 
5287
+ if (delay) {
5288
+ setTimeout(function () {
5289
+ if (local === _this2.guid) {
5290
+ if (async) _this2.runAsync(props, cb);else _this2.diff(props).start(cb);
5291
+ }
5292
+ }, delay);
5293
+ } else if (async) _this2.runAsync(props, cb);else _this2.diff(props).start(cb);
5294
+ });
5295
+ } // Otherwise we kick of the frameloop
5296
+ else {
5297
+ if (is.fun(onEnd)) this.listeners.push(onEnd);
5298
+ if (this.props.onStart) this.props.onStart();
5299
 
5300
+ start(this);
5301
+ }
 
5302
 
5303
+ return this;
5304
+ };
 
5305
 
5306
+ _proto.stop = function stop$$1(finished) {
5307
+ this.listeners.forEach(function (onEnd) {
5308
+ return onEnd(finished);
5309
+ });
5310
+ this.listeners = [];
5311
+ return this;
5312
  }
5313
+ /** Pause sets onEnd listeners free, but also removes the controller from the frameloop */
5314
+ ;
5315
 
5316
+ _proto.pause = function pause(finished) {
5317
+ this.stop(true);
5318
+ if (finished) stop(this);
5319
+ return this;
5320
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5321
 
5322
+ _proto.runAsync = function runAsync(_ref5, onEnd) {
5323
+ var _this3 = this;
5324
 
5325
+ var delay = _ref5.delay,
5326
+ props = _objectWithoutPropertiesLoose(_ref5, ["delay"]);
5327
 
5328
+ var local = this.local; // If "to" is either a function or an array it will be processed async, therefor "to" should be empty right now
5329
+ // If the view relies on certain values "from" has to be present
 
5330
 
5331
+ var queue = Promise.resolve(undefined);
 
5332
 
5333
+ if (is.arr(props.to)) {
5334
+ var _loop = function _loop(i) {
5335
+ var index = i;
5336
 
5337
+ var fresh = _extends({}, props, interpolateTo(props.to[index]));
 
 
5338
 
5339
+ if (is.arr(fresh.config)) fresh.config = fresh.config[index];
5340
+ queue = queue.then(function () {
5341
+ //this.stop()
5342
+ if (local === _this3.guid) return new Promise(function (r) {
5343
+ return _this3.diff(fresh).start(r);
5344
+ });
5345
+ });
5346
+ };
5347
 
5348
+ for (var i = 0; i < props.to.length; i++) {
5349
+ _loop(i);
5350
+ }
5351
+ } else if (is.fun(props.to)) {
5352
+ var index = 0;
5353
+ var last;
5354
+ queue = queue.then(function () {
5355
+ return props.to( // next(props)
5356
+ function (p) {
5357
+ var fresh = _extends({}, props, interpolateTo(p));
5358
 
5359
+ if (is.arr(fresh.config)) fresh.config = fresh.config[index];
5360
+ index++; //this.stop()
 
 
5361
 
5362
+ if (local === _this3.guid) return last = new Promise(function (r) {
5363
+ return _this3.diff(fresh).start(r);
 
 
 
 
 
 
 
 
 
5364
  });
5365
+ return;
5366
+ }, // cancel()
5367
+ function (finished) {
5368
+ if (finished === void 0) {
5369
+ finished = true;
5370
+ }
5371
+
5372
+ return _this3.stop(finished);
5373
+ }).then(function () {
5374
+ return last;
5375
+ });
5376
  });
5377
  }
 
5378
 
5379
+ queue.then(onEnd);
5380
+ };
 
 
5381
 
5382
+ _proto.diff = function diff(props) {
5383
+ var _this4 = this;
 
 
 
5384
 
5385
+ this.props = _extends({}, this.props, props);
5386
+ var _this$props = this.props,
5387
+ _this$props$from = _this$props.from,
5388
+ from = _this$props$from === void 0 ? {} : _this$props$from,
5389
+ _this$props$to = _this$props.to,
5390
+ to = _this$props$to === void 0 ? {} : _this$props$to,
5391
+ _this$props$config = _this$props.config,
5392
+ config = _this$props$config === void 0 ? {} : _this$props$config,
5393
+ reverse = _this$props.reverse,
5394
+ attach = _this$props.attach,
5395
+ reset = _this$props.reset,
5396
+ immediate = _this$props.immediate; // Reverse values when requested
5397
 
5398
+ if (reverse) {
5399
+ var _ref6 = [to, from];
5400
+ from = _ref6[0];
5401
+ to = _ref6[1];
5402
+ } // This will collect all props that were ever set, reset merged props when necessary
5403
 
 
 
 
 
 
5404
 
5405
+ this.merged = _extends({}, from, this.merged, to);
5406
+ this.hasChanged = false; // Attachment handling, trailed springs can "attach" themselves to a previous spring
 
5407
 
5408
+ var target = attach && attach(this); // Reduces input { name: value } pairs into animated values
 
 
5409
 
5410
+ this.animations = Object.entries(this.merged).reduce(function (acc, _ref7) {
5411
+ var name = _ref7[0],
5412
+ value = _ref7[1];
5413
+ // Issue cached entries, except on reset
5414
+ var entry = acc[name] || {}; // Figure out what the value is supposed to be
5415
 
5416
+ var isNumber = is.num(value);
5417
+ var isString = is.str(value) && !value.startsWith('#') && !/\d/.test(value) && !colorNames[value];
5418
+ var isArray = is.arr(value);
5419
+ var isInterpolation = !isNumber && !isArray && !isString;
5420
+ var fromValue = !is.und(from[name]) ? from[name] : value;
5421
+ var toValue = isNumber || isArray ? value : isString ? value : 1;
5422
+ var toConfig = callProp(config, name);
5423
+ if (target) toValue = target.animations[name].parent;
5424
+ var parent = entry.parent,
5425
+ interpolation$$1 = entry.interpolation,
5426
+ toValues = toArray(target ? toValue.getPayload() : toValue),
5427
+ animatedValues;
5428
+ var newValue = value;
5429
+ if (isInterpolation) newValue = interpolation({
5430
+ range: [0, 1],
5431
+ output: [value, value]
5432
+ })(1);
5433
+ var currentValue = interpolation$$1 && interpolation$$1.getValue(); // Change detection flags
5434
 
5435
+ var isFirst = is.und(parent);
5436
+ var isActive = !isFirst && entry.animatedValues.some(function (v) {
5437
+ return !v.done;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5438
  });
5439
+ var currentValueDiffersFromGoal = !is.equ(newValue, currentValue);
5440
+ var hasNewGoal = !is.equ(newValue, entry.previous);
5441
+ var hasNewConfig = !is.equ(toConfig, entry.config); // Change animation props when props indicate a new goal (new value differs from previous one)
5442
+ // and current values differ from it. Config changes trigger a new update as well (though probably shouldn't?)
5443
 
5444
+ if (reset || hasNewGoal && currentValueDiffersFromGoal || hasNewConfig) {
5445
+ var _extends2;
 
 
5446
 
5447
+ // Convert regular values into animated values, ALWAYS re-use if possible
5448
+ if (isNumber || isString) parent = interpolation$$1 = entry.parent || new AnimatedValue(fromValue);else if (isArray) parent = interpolation$$1 = entry.parent || new AnimatedValueArray(fromValue);else if (isInterpolation) {
5449
+ var prev = entry.interpolation && entry.interpolation.calc(entry.parent.value);
5450
+ prev = prev !== void 0 && !reset ? prev : fromValue;
5451
 
5452
+ if (entry.parent) {
5453
+ parent = entry.parent;
5454
+ parent.setValue(0, false);
5455
+ } else parent = new AnimatedValue(0);
5456
 
5457
+ var range = {
5458
+ output: [prev, value]
5459
+ };
5460
 
5461
+ if (entry.interpolation) {
5462
+ interpolation$$1 = entry.interpolation;
5463
+ entry.interpolation.updateConfig(range);
5464
+ } else interpolation$$1 = parent.interpolate(range);
5465
+ }
5466
+ toValues = toArray(target ? toValue.getPayload() : toValue);
5467
+ animatedValues = toArray(parent.getPayload());
5468
+ if (reset && !isInterpolation) parent.setValue(fromValue, false);
5469
+ _this4.hasChanged = true; // Reset animated values
5470
 
5471
+ animatedValues.forEach(function (value) {
5472
+ value.startPosition = value.value;
5473
+ value.lastPosition = value.value;
5474
+ value.lastVelocity = isActive ? value.lastVelocity : undefined;
5475
+ value.lastTime = isActive ? value.lastTime : undefined;
5476
+ value.startTime = now();
5477
+ value.done = false;
5478
+ value.animatedStyles.clear();
5479
+ }); // Set immediate values
5480
 
5481
+ if (callProp(immediate, name)) {
5482
+ parent.setValue(isInterpolation ? toValue : value, false);
5483
+ }
5484
 
5485
+ return _extends({}, acc, (_extends2 = {}, _extends2[name] = _extends({}, entry, {
5486
+ name: name,
5487
+ parent: parent,
5488
+ interpolation: interpolation$$1,
5489
+ animatedValues: animatedValues,
5490
+ toValues: toValues,
5491
+ previous: newValue,
5492
+ config: toConfig,
5493
+ fromValues: toArray(parent.getValue()),
5494
+ immediate: callProp(immediate, name),
5495
+ initialVelocity: withDefault(toConfig.velocity, 0),
5496
+ clamp: withDefault(toConfig.clamp, false),
5497
+ precision: withDefault(toConfig.precision, 0.01),
5498
+ tension: withDefault(toConfig.tension, 170),
5499
+ friction: withDefault(toConfig.friction, 26),
5500
+ mass: withDefault(toConfig.mass, 1),
5501
+ duration: toConfig.duration,
5502
+ easing: withDefault(toConfig.easing, function (t) {
5503
+ return t;
5504
+ }),
5505
+ decay: toConfig.decay
5506
+ }), _extends2));
5507
+ } else {
5508
+ if (!currentValueDiffersFromGoal) {
5509
+ var _extends3;
5510
 
5511
+ // So ... the current target value (newValue) appears to be different from the previous value,
5512
+ // which normally constitutes an update, but the actual value (currentValue) matches the target!
5513
+ // In order to resolve this without causing an animation update we silently flag the animation as done,
5514
+ // which it technically is. Interpolations also needs a config update with their target set to 1.
5515
+ if (isInterpolation) {
5516
+ parent.setValue(1, false);
5517
+ interpolation$$1.updateConfig({
5518
+ output: [newValue, newValue]
5519
+ });
5520
+ }
5521
 
5522
+ parent.done = true;
5523
+ _this4.hasChanged = true;
5524
+ return _extends({}, acc, (_extends3 = {}, _extends3[name] = _extends({}, acc[name], {
5525
+ previous: newValue
5526
+ }), _extends3));
5527
+ }
5528
 
5529
+ return acc;
 
 
 
5530
  }
5531
+ }, this.animations);
5532
 
5533
+ if (this.hasChanged) {
5534
+ // Make animations available to frameloop
5535
+ this.configs = Object.values(this.animations);
5536
+ this.values = {};
5537
+ this.interpolations = {};
5538
 
5539
+ for (var key in this.animations) {
5540
+ this.interpolations[key] = this.animations[key].interpolation;
5541
+ this.values[key] = this.animations[key].interpolation.getValue();
5542
+ }
5543
+ }
 
 
 
5544
 
5545
+ return this;
 
 
 
 
 
 
 
 
 
 
 
5546
  };
 
 
5547
 
5548
+ _proto.destroy = function destroy() {
5549
+ this.stop();
5550
+ this.props = {};
5551
+ this.merged = {};
5552
+ this.animations = {};
5553
+ this.interpolations = {};
5554
+ this.values = {};
5555
+ this.configs = [];
5556
+ this.local = 0;
5557
+ };
5558
 
5559
+ return Controller;
5560
+ }();
5561
 
5562
+ /** API
5563
+ * const props = useSprings(number, [{ ... }, { ... }, ...])
5564
+ * const [props, set] = useSprings(number, (i, controller) => ({ ... }))
5565
+ */
5566
 
5567
+ var useSprings = function useSprings(length, props) {
5568
+ var mounted = React.useRef(false);
5569
+ var ctrl = React.useRef();
5570
+ var isFn = is.fun(props); // The controller maintains the animation values, starts and stops animations
 
 
 
 
 
5571
 
5572
+ var _useMemo = React.useMemo(function () {
5573
+ // Remove old controllers
5574
+ if (ctrl.current) {
5575
+ ctrl.current.map(function (c) {
5576
+ return c.destroy();
5577
+ });
5578
+ ctrl.current = undefined;
5579
+ }
5580
 
5581
+ var ref;
5582
+ return [new Array(length).fill().map(function (_, i) {
5583
+ var ctrl = new Controller();
5584
+ var newProps = isFn ? callProp(props, i, ctrl) : props[i];
5585
+ if (i === 0) ref = newProps.ref;
5586
+ ctrl.update(newProps);
5587
+ if (!ref) ctrl.start();
5588
+ return ctrl;
5589
+ }), ref];
5590
+ }, [length]),
5591
+ controllers = _useMemo[0],
5592
+ ref = _useMemo[1];
5593
 
5594
+ ctrl.current = controllers; // The hooks reference api gets defined here ...
 
 
 
 
 
 
 
 
 
5595
 
5596
+ var api = React.useImperativeHandle(ref, function () {
5597
+ return {
5598
+ start: function start() {
5599
+ return Promise.all(ctrl.current.map(function (c) {
5600
+ return new Promise(function (r) {
5601
+ return c.start(r);
5602
+ });
5603
+ }));
5604
+ },
5605
+ stop: function stop(finished) {
5606
+ return ctrl.current.forEach(function (c) {
5607
+ return c.stop(finished);
5608
+ });
5609
+ },
5610
 
5611
+ get controllers() {
5612
+ return ctrl.current;
 
 
5613
  }
5614
 
5615
+ };
5616
+ }); // This function updates the controllers
 
 
 
 
 
 
5617
 
5618
+ var updateCtrl = React.useMemo(function () {
5619
+ return function (updateProps) {
5620
+ return ctrl.current.map(function (c, i) {
5621
+ c.update(isFn ? callProp(updateProps, i, c) : updateProps[i]);
5622
+ if (!ref) c.start();
 
 
 
 
 
5623
  });
5624
+ };
5625
+ }, [length]); // Update controller if props aren't functional
5626
 
5627
+ React.useEffect(function () {
5628
+ if (mounted.current) {
5629
+ if (!isFn) updateCtrl(props);
5630
+ } else if (!ref) ctrl.current.forEach(function (c) {
5631
+ return c.start();
 
 
 
 
 
 
 
 
 
 
 
5632
  });
5633
+ }); // Update mounted flag and destroy controller on unmount
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5634
 
5635
+ React.useEffect(function () {
5636
+ return mounted.current = true, function () {
5637
+ return ctrl.current.forEach(function (c) {
5638
+ return c.destroy();
5639
+ });
5640
+ };
5641
+ }, []); // Return animated props, or, anim-props + the update-setter above
5642
 
5643
+ var propValues = ctrl.current.map(function (c) {
5644
+ return c.getValues();
5645
+ });
5646
+ return isFn ? [propValues, updateCtrl, function (finished) {
5647
+ return ctrl.current.forEach(function (c) {
5648
+ return c.pause(finished);
5649
+ });
5650
+ }] : propValues;
5651
+ };
5652
 
5653
+ /** API
5654
+ * const props = useSpring({ ... })
5655
+ * const [props, set] = useSpring(() => ({ ... }))
5656
+ */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5657
 
5658
+ var useSpring = function useSpring(props) {
5659
+ var isFn = is.fun(props);
5660
 
5661
+ var _useSprings = useSprings(1, isFn ? props : [props]),
5662
+ result = _useSprings[0],
5663
+ set = _useSprings[1],
5664
+ pause = _useSprings[2];
5665
 
5666
+ return isFn ? [result[0], set, pause] : result;
5667
+ };
5668
 
5669
+ /** API
5670
+ * const trails = useTrail(number, { ... })
5671
+ * const [trails, set] = useTrail(number, () => ({ ... }))
5672
+ */
5673
 
5674
+ var useTrail = function useTrail(length, props) {
5675
+ var mounted = React.useRef(false);
5676
+ var isFn = is.fun(props);
5677
+ var updateProps = callProp(props);
5678
+ var instances = React.useRef();
5679
 
5680
+ var _useSprings = useSprings(length, function (i, ctrl) {
5681
+ if (i === 0) instances.current = [];
5682
+ instances.current.push(ctrl);
5683
+ return _extends({}, updateProps, {
5684
+ config: callProp(updateProps.config, i),
5685
+ attach: i > 0 && function () {
5686
+ return instances.current[i - 1];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5687
  }
5688
+ });
5689
+ }),
5690
+ result = _useSprings[0],
5691
+ set = _useSprings[1],
5692
+ pause = _useSprings[2]; // Set up function to update controller
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5693
 
 
 
 
5694
 
5695
+ var updateCtrl = React.useMemo(function () {
5696
+ return function (props) {
5697
+ return set(function (i, ctrl) {
5698
+ var last = props.reverse ? i === 0 : length - 1 === i;
5699
+ var attachIdx = props.reverse ? i + 1 : i - 1;
5700
+ var attachController = instances.current[attachIdx];
5701
+ return _extends({}, props, {
5702
+ config: callProp(props.config || updateProps.config, i),
5703
+ attach: attachController && function () {
5704
+ return attachController;
5705
+ }
5706
+ });
5707
+ });
5708
+ };
5709
+ }, [length, updateProps.reverse]); // Update controller if props aren't functional
5710
 
5711
+ React.useEffect(function () {
5712
+ return void (mounted.current && !isFn && updateCtrl(props));
5713
+ }); // Update mounted flag and destroy controller on unmount
5714
 
5715
+ React.useEffect(function () {
5716
+ return void (mounted.current = true);
5717
+ }, []);
5718
+ return isFn ? [result, updateCtrl, pause] : result;
5719
  };
5720
 
5721
+ /** API
5722
+ * const transitions = useTransition(items, itemKeys, { ... })
5723
+ * const [transitions, update] = useTransition(items, itemKeys, () => ({ ... }))
5724
+ */
 
 
5725
 
5726
+ var guid = 0;
5727
+ var ENTER = 'enter';
5728
+ var LEAVE = 'leave';
5729
+ var UPDATE = 'update';
 
 
 
 
 
 
 
 
 
5730
 
5731
+ var mapKeys = function mapKeys(items, keys) {
5732
+ return (typeof keys === 'function' ? items.map(keys) : toArray(keys)).map(String);
 
 
 
 
 
 
 
 
5733
  };
5734
 
5735
+ var get = function get(props) {
5736
+ var items = props.items,
5737
+ _props$keys = props.keys,
5738
+ keys = _props$keys === void 0 ? function (item) {
5739
+ return item;
5740
+ } : _props$keys,
5741
+ rest = _objectWithoutPropertiesLoose(props, ["items", "keys"]);
5742
 
5743
+ items = toArray(items !== void 0 ? items : null);
5744
+ return _extends({
5745
+ items: items,
5746
+ keys: mapKeys(items, keys)
5747
+ }, rest);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5748
  };
5749
 
5750
+ function useTransition(input, keyTransform, config) {
5751
+ var props = _extends({
5752
+ items: input,
5753
+ keys: keyTransform || function (i) {
5754
+ return i;
5755
+ }
5756
+ }, config);
5757
 
5758
+ var _get = get(props),
5759
+ _get$lazy = _get.lazy,
5760
+ lazy = _get$lazy === void 0 ? false : _get$lazy,
5761
+ _get$unique = _get.unique,
5762
+ _get$reset = _get.reset,
5763
+ reset = _get$reset === void 0 ? false : _get$reset,
5764
+ enter = _get.enter,
5765
+ leave = _get.leave,
5766
+ update = _get.update,
5767
+ onDestroyed = _get.onDestroyed,
5768
+ keys = _get.keys,
5769
+ items = _get.items,
5770
+ onFrame = _get.onFrame,
5771
+ _onRest = _get.onRest,
5772
+ onStart = _get.onStart,
5773
+ ref = _get.ref,
5774
+ extra = _objectWithoutPropertiesLoose(_get, ["lazy", "unique", "reset", "enter", "leave", "update", "onDestroyed", "keys", "items", "onFrame", "onRest", "onStart", "ref"]);
5775
 
5776
+ var forceUpdate = useForceUpdate();
5777
+ var mounted = React.useRef(false);
5778
+ var state = React.useRef({
5779
+ mounted: false,
5780
+ first: true,
5781
+ deleted: [],
5782
+ current: {},
5783
+ transitions: [],
5784
+ prevProps: {},
5785
+ paused: !!props.ref,
5786
+ instances: !mounted.current && new Map(),
5787
+ forceUpdate: forceUpdate
5788
+ });
5789
+ React.useImperativeHandle(props.ref, function () {
5790
+ return {
5791
+ start: function start() {
5792
+ return Promise.all(Array.from(state.current.instances).map(function (_ref) {
5793
+ var c = _ref[1];
5794
+ return new Promise(function (r) {
5795
+ return c.start(r);
5796
+ });
5797
+ }));
5798
+ },
5799
+ stop: function stop(finished) {
5800
+ return Array.from(state.current.instances).forEach(function (_ref2) {
5801
+ var c = _ref2[1];
5802
+ return c.stop(finished);
5803
+ });
5804
+ },
5805
 
5806
+ get controllers() {
5807
+ return Array.from(state.current.instances).map(function (_ref3) {
5808
+ var c = _ref3[1];
5809
+ return c;
5810
+ });
5811
+ }
5812
 
5813
+ };
5814
+ }); // Update state
 
 
 
 
 
 
 
 
 
5815
 
5816
+ state.current = diffItems(state.current, props);
5817
 
5818
+ if (state.current.changed) {
5819
+ // Update state
5820
+ state.current.transitions.forEach(function (transition) {
5821
+ var slot = transition.slot,
5822
+ from = transition.from,
5823
+ to = transition.to,
5824
+ config = transition.config,
5825
+ trail = transition.trail,
5826
+ key = transition.key,
5827
+ item = transition.item;
5828
+ if (!state.current.instances.has(key)) state.current.instances.set(key, new Controller()); // update the map object
5829
 
5830
+ var ctrl = state.current.instances.get(key);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5831
 
5832
+ var newProps = _extends({}, extra, {
5833
+ to: to,
5834
+ from: from,
5835
+ config: config,
5836
+ ref: ref,
5837
+ onRest: function onRest(values) {
5838
+ if (state.current.mounted) {
5839
+ if (transition.destroyed) {
5840
+ // If no ref is given delete destroyed items immediately
5841
+ if (!ref && !lazy) cleanUp(state, key);
5842
+ if (onDestroyed) onDestroyed(item);
5843
+ } // A transition comes to rest once all its springs conclude
5844
 
 
 
 
 
5845
 
5846
+ var curInstances = Array.from(state.current.instances);
5847
+ var active = curInstances.some(function (_ref4) {
5848
+ var c = _ref4[1];
5849
+ return !c.idle;
5850
+ });
5851
+ if (!active && (ref || lazy) && state.current.deleted.length > 0) cleanUp(state);
5852
+ if (_onRest) _onRest(item, slot, values);
5853
+ }
5854
+ },
5855
+ onStart: onStart && function () {
5856
+ return onStart(item, slot);
5857
+ },
5858
+ onFrame: onFrame && function (values) {
5859
+ return onFrame(item, slot, values);
5860
+ },
5861
+ delay: trail,
5862
+ reset: reset && slot === ENTER // Update controller
5863
 
5864
+ });
5865
 
5866
+ ctrl.update(newProps);
5867
+ if (!state.current.paused) ctrl.start();
 
 
 
 
 
5868
  });
5869
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5870
 
5871
+ React.useEffect(function () {
5872
+ state.current.mounted = mounted.current = true;
5873
+ return function () {
5874
+ state.current.mounted = mounted.current = false;
5875
+ Array.from(state.current.instances).map(function (_ref5) {
5876
+ var c = _ref5[1];
5877
+ return c.destroy();
5878
+ });
5879
+ state.current.instances.clear();
5880
+ };
5881
+ }, []);
5882
+ return state.current.transitions.map(function (_ref6) {
5883
+ var item = _ref6.item,
5884
+ slot = _ref6.slot,
5885
+ key = _ref6.key;
5886
+ return {
5887
+ item: item,
5888
+ key: key,
5889
+ state: slot,
5890
+ props: state.current.instances.get(key).getValues()
5891
+ };
5892
+ });
5893
+ }
5894
 
5895
+ function cleanUp(state, filterKey) {
5896
+ var deleted = state.current.deleted;
5897
 
5898
+ var _loop = function _loop() {
5899
+ if (_isArray) {
5900
+ if (_i >= _iterator.length) return "break";
5901
+ _ref8 = _iterator[_i++];
5902
+ } else {
5903
+ _i = _iterator.next();
5904
+ if (_i.done) return "break";
5905
+ _ref8 = _i.value;
5906
+ }
5907
 
5908
+ var _ref7 = _ref8;
5909
+ var key = _ref7.key;
5910
 
5911
+ var filter = function filter(t) {
5912
+ return t.key !== key;
5913
+ };
 
 
 
 
5914
 
5915
+ if (is.und(filterKey) || filterKey === key) {
5916
+ state.current.instances.delete(key);
5917
+ state.current.transitions = state.current.transitions.filter(filter);
5918
+ state.current.deleted = state.current.deleted.filter(filter);
5919
+ }
 
 
 
5920
  };
 
 
 
 
 
 
 
 
5921
 
5922
+ for (var _iterator = deleted, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
5923
+ var _ref8;
5924
 
5925
+ var _ret = _loop();
 
 
 
 
5926
 
5927
+ if (_ret === "break") break;
5928
+ }
5929
 
5930
+ state.current.forceUpdate();
5931
+ }
 
5932
 
5933
+ function diffItems(_ref9, props) {
5934
+ var first = _ref9.first,
5935
+ prevProps = _ref9.prevProps,
5936
+ state = _objectWithoutPropertiesLoose(_ref9, ["first", "prevProps"]);
 
 
5937
 
5938
+ var _get2 = get(props),
5939
+ items = _get2.items,
5940
+ keys = _get2.keys,
5941
+ initial = _get2.initial,
5942
+ from = _get2.from,
5943
+ enter = _get2.enter,
5944
+ leave = _get2.leave,
5945
+ update = _get2.update,
5946
+ _get2$trail = _get2.trail,
5947
+ trail = _get2$trail === void 0 ? 0 : _get2$trail,
5948
+ unique = _get2.unique,
5949
+ config = _get2.config,
5950
+ _get2$order = _get2.order,
5951
+ order = _get2$order === void 0 ? [ENTER, LEAVE, UPDATE] : _get2$order;
5952
 
5953
+ var _get3 = get(prevProps),
5954
+ _keys = _get3.keys,
5955
+ _items = _get3.items;
5956
 
5957
+ var current = _extends({}, state.current);
 
 
 
 
 
 
5958
 
5959
+ var deleted = [].concat(state.deleted); // Compare next keys with current keys
5960
 
5961
+ var currentKeys = Object.keys(current);
5962
+ var currentSet = new Set(currentKeys);
5963
+ var nextSet = new Set(keys);
5964
+ var added = keys.filter(function (item) {
5965
+ return !currentSet.has(item);
5966
+ });
5967
+ var removed = state.transitions.filter(function (item) {
5968
+ return !item.destroyed && !nextSet.has(item.originalKey);
5969
+ }).map(function (i) {
5970
+ return i.originalKey;
5971
+ });
5972
+ var updated = keys.filter(function (item) {
5973
+ return currentSet.has(item);
5974
+ });
5975
+ var delay = -trail;
5976
 
5977
+ while (order.length) {
5978
+ var changeType = order.shift();
5979
 
5980
+ switch (changeType) {
5981
+ case ENTER:
5982
+ {
5983
+ added.forEach(function (key, index) {
5984
+ // In unique mode, remove fading out transitions if their key comes in again
5985
+ if (unique && deleted.find(function (d) {
5986
+ return d.originalKey === key;
5987
+ })) deleted = deleted.filter(function (t) {
5988
+ return t.originalKey !== key;
5989
+ });
5990
+ var keyIndex = keys.indexOf(key);
5991
+ var item = items[keyIndex];
5992
+ var slot = first && initial !== void 0 ? 'initial' : ENTER;
5993
+ current[key] = {
5994
+ slot: slot,
5995
+ originalKey: key,
5996
+ key: unique ? String(key) : guid++,
5997
+ item: item,
5998
+ trail: delay = delay + trail,
5999
+ config: callProp(config, item, slot),
6000
+ from: callProp(first ? initial !== void 0 ? initial || {} : from : from, item),
6001
+ to: callProp(enter, item)
6002
+ };
6003
+ });
6004
+ break;
6005
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6006
 
6007
+ case LEAVE:
6008
+ {
6009
+ removed.forEach(function (key) {
6010
+ var keyIndex = _keys.indexOf(key);
 
 
 
6011
 
6012
+ var item = _items[keyIndex];
6013
+ var slot = LEAVE;
6014
+ deleted.unshift(_extends({}, current[key], {
6015
+ slot: slot,
6016
+ destroyed: true,
6017
+ left: _keys[Math.max(0, keyIndex - 1)],
6018
+ right: _keys[Math.min(_keys.length, keyIndex + 1)],
6019
+ trail: delay = delay + trail,
6020
+ config: callProp(config, item, slot),
6021
+ to: callProp(leave, item)
6022
+ }));
6023
+ delete current[key];
6024
+ });
6025
+ break;
6026
+ }
6027
 
6028
+ case UPDATE:
6029
+ {
6030
+ updated.forEach(function (key) {
6031
+ var keyIndex = keys.indexOf(key);
6032
+ var item = items[keyIndex];
6033
+ var slot = UPDATE;
6034
+ current[key] = _extends({}, current[key], {
6035
+ item: item,
6036
+ slot: slot,
6037
+ trail: delay = delay + trail,
6038
+ config: callProp(config, item, slot),
6039
+ to: callProp(update, item)
6040
+ });
6041
+ });
6042
+ break;
6043
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6044
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6045
  }
6046
 
6047
+ var out = keys.map(function (key) {
6048
+ return current[key];
6049
+ }); // This tries to restore order for deleted items by finding their last known siblings
6050
+ // only using the left sibling to keep order placement consistent for all deleted items
 
 
 
 
 
 
6051
 
6052
+ deleted.forEach(function (_ref10) {
6053
+ var left = _ref10.left,
6054
+ right = _ref10.right,
6055
+ item = _objectWithoutPropertiesLoose(_ref10, ["left", "right"]);
6056
 
6057
+ var pos; // Was it the element on the left, if yes, move there ...
 
6058
 
6059
+ if ((pos = out.findIndex(function (t) {
6060
+ return t.originalKey === left;
6061
+ })) !== -1) pos += 1; // And if nothing else helps, move it to the start ¯\_(ツ)_/¯
 
 
 
 
6062
 
6063
+ pos = Math.max(0, pos);
6064
+ out = [].concat(out.slice(0, pos), [item], out.slice(pos));
6065
+ });
6066
+ return _extends({}, state, {
6067
+ changed: added.length || removed.length || updated.length,
6068
+ first: first && added.length === 0,
6069
+ transitions: out,
6070
+ current: current,
6071
+ deleted: deleted,
6072
+ prevProps: props
6073
+ });
6074
  }
6075
 
6076
+ var AnimatedStyle =
6077
+ /*#__PURE__*/
6078
+ function (_AnimatedObject) {
6079
+ _inheritsLoose(AnimatedStyle, _AnimatedObject);
6080
 
6081
+ function AnimatedStyle(style) {
6082
+ var _this;
6083
 
6084
+ if (style === void 0) {
6085
+ style = {};
6086
+ }
6087
 
6088
+ _this = _AnimatedObject.call(this) || this;
 
 
6089
 
6090
+ if (style.transform && !(style.transform instanceof Animated)) {
6091
+ style = applyAnimatedValues.transform(style);
 
 
 
 
 
 
 
 
6092
  }
 
6093
 
6094
+ _this.payload = style;
6095
+ return _this;
6096
+ }
 
 
6097
 
6098
+ return AnimatedStyle;
6099
+ }(AnimatedObject);
6100
 
6101
+ // http://www.w3.org/TR/css3-color/#svg-color
6102
+ var colors = {
6103
+ transparent: 0x00000000,
6104
+ aliceblue: 0xf0f8ffff,
6105
+ antiquewhite: 0xfaebd7ff,
6106
+ aqua: 0x00ffffff,
6107
+ aquamarine: 0x7fffd4ff,
6108
+ azure: 0xf0ffffff,
6109
+ beige: 0xf5f5dcff,
6110
+ bisque: 0xffe4c4ff,
6111
+ black: 0x000000ff,
6112
+ blanchedalmond: 0xffebcdff,
6113
+ blue: 0x0000ffff,
6114
+ blueviolet: 0x8a2be2ff,
6115
+ brown: 0xa52a2aff,
6116
+ burlywood: 0xdeb887ff,
6117
+ burntsienna: 0xea7e5dff,
6118
+ cadetblue: 0x5f9ea0ff,
6119
+ chartreuse: 0x7fff00ff,
6120
+ chocolate: 0xd2691eff,
6121
+ coral: 0xff7f50ff,
6122
+ cornflowerblue: 0x6495edff,
6123
+ cornsilk: 0xfff8dcff,
6124
+ crimson: 0xdc143cff,
6125
+ cyan: 0x00ffffff,
6126
+ darkblue: 0x00008bff,
6127
+ darkcyan: 0x008b8bff,
6128
+ darkgoldenrod: 0xb8860bff,
6129
+ darkgray: 0xa9a9a9ff,
6130
+ darkgreen: 0x006400ff,
6131
+ darkgrey: 0xa9a9a9ff,
6132
+ darkkhaki: 0xbdb76bff,
6133
+ darkmagenta: 0x8b008bff,
6134
+ darkolivegreen: 0x556b2fff,
6135
+ darkorange: 0xff8c00ff,
6136
+ darkorchid: 0x9932ccff,
6137
+ darkred: 0x8b0000ff,
6138
+ darksalmon: 0xe9967aff,
6139
+ darkseagreen: 0x8fbc8fff,
6140
+ darkslateblue: 0x483d8bff,
6141
+ darkslategray: 0x2f4f4fff,
6142
+ darkslategrey: 0x2f4f4fff,
6143
+ darkturquoise: 0x00ced1ff,
6144
+ darkviolet: 0x9400d3ff,
6145
+ deeppink: 0xff1493ff,
6146
+ deepskyblue: 0x00bfffff,
6147
+ dimgray: 0x696969ff,
6148
+ dimgrey: 0x696969ff,
6149
+ dodgerblue: 0x1e90ffff,
6150
+ firebrick: 0xb22222ff,
6151
+ floralwhite: 0xfffaf0ff,
6152
+ forestgreen: 0x228b22ff,
6153
+ fuchsia: 0xff00ffff,
6154
+ gainsboro: 0xdcdcdcff,
6155
+ ghostwhite: 0xf8f8ffff,
6156
+ gold: 0xffd700ff,
6157
+ goldenrod: 0xdaa520ff,
6158
+ gray: 0x808080ff,
6159
+ green: 0x008000ff,
6160
+ greenyellow: 0xadff2fff,
6161
+ grey: 0x808080ff,
6162
+ honeydew: 0xf0fff0ff,
6163
+ hotpink: 0xff69b4ff,
6164
+ indianred: 0xcd5c5cff,
6165
+ indigo: 0x4b0082ff,
6166
+ ivory: 0xfffff0ff,
6167
+ khaki: 0xf0e68cff,
6168
+ lavender: 0xe6e6faff,
6169
+ lavenderblush: 0xfff0f5ff,
6170
+ lawngreen: 0x7cfc00ff,
6171
+ lemonchiffon: 0xfffacdff,
6172
+ lightblue: 0xadd8e6ff,
6173
+ lightcoral: 0xf08080ff,
6174
+ lightcyan: 0xe0ffffff,
6175
+ lightgoldenrodyellow: 0xfafad2ff,
6176
+ lightgray: 0xd3d3d3ff,
6177
+ lightgreen: 0x90ee90ff,
6178
+ lightgrey: 0xd3d3d3ff,
6179
+ lightpink: 0xffb6c1ff,
6180
+ lightsalmon: 0xffa07aff,
6181
+ lightseagreen: 0x20b2aaff,
6182
+ lightskyblue: 0x87cefaff,
6183
+ lightslategray: 0x778899ff,
6184
+ lightslategrey: 0x778899ff,
6185
+ lightsteelblue: 0xb0c4deff,
6186
+ lightyellow: 0xffffe0ff,
6187
+ lime: 0x00ff00ff,
6188
+ limegreen: 0x32cd32ff,
6189
+ linen: 0xfaf0e6ff,
6190
+ magenta: 0xff00ffff,
6191
+ maroon: 0x800000ff,
6192
+ mediumaquamarine: 0x66cdaaff,
6193
+ mediumblue: 0x0000cdff,
6194
+ mediumorchid: 0xba55d3ff,
6195
+ mediumpurple: 0x9370dbff,
6196
+ mediumseagreen: 0x3cb371ff,
6197
+ mediumslateblue: 0x7b68eeff,
6198
+ mediumspringgreen: 0x00fa9aff,
6199
+ mediumturquoise: 0x48d1ccff,
6200
+ mediumvioletred: 0xc71585ff,
6201
+ midnightblue: 0x191970ff,
6202
+ mintcream: 0xf5fffaff,
6203
+ mistyrose: 0xffe4e1ff,
6204
+ moccasin: 0xffe4b5ff,
6205
+ navajowhite: 0xffdeadff,
6206
+ navy: 0x000080ff,
6207
+ oldlace: 0xfdf5e6ff,
6208
+ olive: 0x808000ff,
6209
+ olivedrab: 0x6b8e23ff,
6210
+ orange: 0xffa500ff,
6211
+ orangered: 0xff4500ff,
6212
+ orchid: 0xda70d6ff,
6213
+ palegoldenrod: 0xeee8aaff,
6214
+ palegreen: 0x98fb98ff,
6215
+ paleturquoise: 0xafeeeeff,
6216
+ palevioletred: 0xdb7093ff,
6217
+ papayawhip: 0xffefd5ff,
6218
+ peachpuff: 0xffdab9ff,
6219
+ peru: 0xcd853fff,
6220
+ pink: 0xffc0cbff,
6221
+ plum: 0xdda0ddff,
6222
+ powderblue: 0xb0e0e6ff,
6223
+ purple: 0x800080ff,
6224
+ rebeccapurple: 0x663399ff,
6225
+ red: 0xff0000ff,
6226
+ rosybrown: 0xbc8f8fff,
6227
+ royalblue: 0x4169e1ff,
6228
+ saddlebrown: 0x8b4513ff,
6229
+ salmon: 0xfa8072ff,
6230
+ sandybrown: 0xf4a460ff,
6231
+ seagreen: 0x2e8b57ff,
6232
+ seashell: 0xfff5eeff,
6233
+ sienna: 0xa0522dff,
6234
+ silver: 0xc0c0c0ff,
6235
+ skyblue: 0x87ceebff,
6236
+ slateblue: 0x6a5acdff,
6237
+ slategray: 0x708090ff,
6238
+ slategrey: 0x708090ff,
6239
+ snow: 0xfffafaff,
6240
+ springgreen: 0x00ff7fff,
6241
+ steelblue: 0x4682b4ff,
6242
+ tan: 0xd2b48cff,
6243
+ teal: 0x008080ff,
6244
+ thistle: 0xd8bfd8ff,
6245
+ tomato: 0xff6347ff,
6246
+ turquoise: 0x40e0d0ff,
6247
+ violet: 0xee82eeff,
6248
+ wheat: 0xf5deb3ff,
6249
+ white: 0xffffffff,
6250
+ whitesmoke: 0xf5f5f5ff,
6251
+ yellow: 0xffff00ff,
6252
+ yellowgreen: 0x9acd32ff
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6253
  };
 
 
 
 
 
 
 
 
 
 
 
6254
 
6255
+ // const INTEGER = '[-+]?\\d+';
6256
+ var NUMBER = '[-+]?\\d*\\.?\\d+';
6257
+ var PERCENTAGE = NUMBER + '%';
6258
 
6259
+ function call() {
6260
+ for (var _len = arguments.length, parts = new Array(_len), _key = 0; _key < _len; _key++) {
6261
+ parts[_key] = arguments[_key];
6262
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6263
 
6264
+ return '\\(\\s*(' + parts.join(')\\s*,\\s*(') + ')\\s*\\)';
6265
+ }
 
 
6266
 
6267
+ var rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));
6268
+ var rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));
6269
+ var hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));
6270
+ var hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));
6271
+ var hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
6272
+ var hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
6273
+ var hex6 = /^#([0-9a-fA-F]{6})$/;
6274
+ var hex8 = /^#([0-9a-fA-F]{8})$/;
6275
 
6276
+ /*
6277
+ https://github.com/react-community/normalize-css-color
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6278
 
6279
+ BSD 3-Clause License
 
 
6280
 
6281
+ Copyright (c) 2016, React Community
6282
+ All rights reserved.
6283
 
6284
+ Redistribution and use in source and binary forms, with or without
6285
+ modification, are permitted provided that the following conditions are met:
 
6286
 
6287
+ * Redistributions of source code must retain the above copyright notice, this
6288
+ list of conditions and the following disclaimer.
 
 
 
6289
 
6290
+ * Redistributions in binary form must reproduce the above copyright notice,
6291
+ this list of conditions and the following disclaimer in the documentation
6292
+ and/or other materials provided with the distribution.
 
 
6293
 
6294
+ * Neither the name of the copyright holder nor the names of its
6295
+ contributors may be used to endorse or promote products derived from
6296
+ this software without specific prior written permission.
6297
 
6298
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
6299
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
6300
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
6301
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
6302
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
6303
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
6304
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
6305
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
6306
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
6307
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
6308
+ */
6309
+ function normalizeColor(color) {
6310
+ var match;
6311
 
6312
+ if (typeof color === 'number') {
6313
+ return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;
6314
+ } // Ordered based on occurrences on Facebook codebase
6315
 
 
 
 
6316
 
6317
+ if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;
6318
+ if (colors.hasOwnProperty(color)) return colors[color];
6319
 
6320
+ if (match = rgb.exec(color)) {
6321
+ return (parse255(match[1]) << 24 | // r
6322
+ parse255(match[2]) << 16 | // g
6323
+ parse255(match[3]) << 8 | // b
6324
+ 0x000000ff) >>> // a
6325
+ 0;
6326
+ }
6327
 
6328
+ if (match = rgba.exec(color)) {
6329
+ return (parse255(match[1]) << 24 | // r
6330
+ parse255(match[2]) << 16 | // g
6331
+ parse255(match[3]) << 8 | // b
6332
+ parse1(match[4])) >>> // a
6333
+ 0;
6334
+ }
6335
 
6336
+ if (match = hex3.exec(color)) {
6337
+ return parseInt(match[1] + match[1] + // r
6338
+ match[2] + match[2] + // g
6339
+ match[3] + match[3] + // b
6340
+ 'ff', // a
6341
+ 16) >>> 0;
6342
+ } // https://drafts.csswg.org/css-color-4/#hex-notation
6343
 
 
 
6344
 
6345
+ if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;
6346
 
6347
+ if (match = hex4.exec(color)) {
6348
+ return parseInt(match[1] + match[1] + // r
6349
+ match[2] + match[2] + // g
6350
+ match[3] + match[3] + // b
6351
+ match[4] + match[4], // a
6352
+ 16) >>> 0;
6353
+ }
6354
 
6355
+ if (match = hsl.exec(color)) {
6356
+ return (hslToRgb(parse360(match[1]), // h
6357
+ parsePercentage(match[2]), // s
6358
+ parsePercentage(match[3]) // l
6359
+ ) | 0x000000ff) >>> // a
6360
+ 0;
6361
+ }
6362
 
6363
+ if (match = hsla.exec(color)) {
6364
+ return (hslToRgb(parse360(match[1]), // h
6365
+ parsePercentage(match[2]), // s
6366
+ parsePercentage(match[3]) // l
6367
+ ) | parse1(match[4])) >>> // a
6368
+ 0;
6369
+ }
6370
 
6371
+ return null;
6372
+ }
6373
 
6374
+ function hue2rgb(p, q, t) {
6375
+ if (t < 0) t += 1;
6376
+ if (t > 1) t -= 1;
6377
+ if (t < 1 / 6) return p + (q - p) * 6 * t;
6378
+ if (t < 1 / 2) return q;
6379
+ if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
6380
+ return p;
6381
+ }
6382
 
6383
+ function hslToRgb(h, s, l) {
6384
+ var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
6385
+ var p = 2 * l - q;
6386
+ var r = hue2rgb(p, q, h + 1 / 3);
6387
+ var g = hue2rgb(p, q, h);
6388
+ var b = hue2rgb(p, q, h - 1 / 3);
6389
+ return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;
6390
+ }
6391
 
6392
+ function parse255(str) {
6393
+ var int = parseInt(str, 10);
6394
+ if (int < 0) return 0;
6395
+ if (int > 255) return 255;
6396
+ return int;
6397
+ }
6398
 
6399
+ function parse360(str) {
6400
+ var int = parseFloat(str);
6401
+ return (int % 360 + 360) % 360 / 360;
6402
+ }
6403
 
6404
+ function parse1(str) {
6405
+ var num = parseFloat(str);
6406
+ if (num < 0) return 0;
6407
+ if (num > 1) return 255;
6408
+ return Math.round(num * 255);
6409
+ }
6410
 
6411
+ function parsePercentage(str) {
6412
+ // parseFloat conveniently ignores the final %
6413
+ var int = parseFloat(str);
6414
+ if (int < 0) return 0;
6415
+ if (int > 100) return 1;
6416
+ return int / 100;
6417
+ }
6418
 
6419
+ function colorToRgba(input) {
6420
+ var int32Color = normalizeColor(input);
6421
+ if (int32Color === null) return input;
6422
+ int32Color = int32Color || 0;
6423
+ var r = (int32Color & 0xff000000) >>> 24;
6424
+ var g = (int32Color & 0x00ff0000) >>> 16;
6425
+ var b = (int32Color & 0x0000ff00) >>> 8;
6426
+ var a = (int32Color & 0x000000ff) / 255;
6427
+ return "rgba(" + r + ", " + g + ", " + b + ", " + a + ")";
6428
+ } // Problem: https://github.com/animatedjs/animated/pull/102
6429
+ // Solution: https://stackoverflow.com/questions/638565/parsing-scientific-notation-sensibly/658662
6430
 
6431
 
6432
+ var stringShapeRegex = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g; // Covers rgb, rgba, hsl, hsla
6433
+ // Taken from https://gist.github.com/olmokramer/82ccce673f86db7cda5e
6434
 
6435
+ var colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi; // Covers color names (transparent, blue, etc.)
6436
 
6437
+ var colorNamesRegex = new RegExp("(" + Object.keys(colors).join('|') + ")", 'g');
6438
+ /**
6439
+ * Supports string shapes by extracting numbers so new values can be computed,
6440
+ * and recombines those values into new strings of the same shape. Supports
6441
+ * things like:
6442
+ *
6443
+ * rgba(123, 42, 99, 0.36) // colors
6444
+ * -45deg // values with units
6445
+ * 0 2px 2px 0px rgba(0, 0, 0, 0.12) // box shadows
6446
+ */
6447
 
6448
+ var createStringInterpolator = function createStringInterpolator(config) {
6449
+ // Replace colors with rgba
6450
+ var outputRange = config.output.map(function (rangeValue) {
6451
+ return rangeValue.replace(colorRegex, colorToRgba);
6452
+ }).map(function (rangeValue) {
6453
+ return rangeValue.replace(colorNamesRegex, colorToRgba);
6454
+ });
6455
+ var outputRanges = outputRange[0].match(stringShapeRegex).map(function () {
6456
+ return [];
6457
+ });
6458
+ outputRange.forEach(function (value) {
6459
+ value.match(stringShapeRegex).forEach(function (number, i) {
6460
+ return outputRanges[i].push(+number);
6461
+ });
6462
+ });
6463
+ var interpolations = outputRange[0].match(stringShapeRegex).map(function (_value, i) {
6464
+ return createInterpolator(_extends({}, config, {
6465
+ output: outputRanges[i]
6466
+ }));
6467
+ });
6468
+ return function (input) {
6469
+ var i = 0;
6470
+ return outputRange[0] // 'rgba(0, 100, 200, 0)'
6471
+ // ->
6472
+ // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'
6473
+ .replace(stringShapeRegex, function () {
6474
+ return interpolations[i++](input);
6475
+ }) // rgba requires that the r,g,b are integers.... so we want to round them, but we *dont* want to
6476
+ // round the opacity (4th column).
6477
+ .replace(/rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi, function (_, p1, p2, p3, p4) {
6478
+ return "rgba(" + Math.round(p1) + ", " + Math.round(p2) + ", " + Math.round(p3) + ", " + p4 + ")";
6479
+ });
6480
+ };
6481
+ };
6482
 
6483
+ var isUnitlessNumber = {
6484
+ animationIterationCount: true,
6485
+ borderImageOutset: true,
6486
+ borderImageSlice: true,
6487
+ borderImageWidth: true,
6488
+ boxFlex: true,
6489
+ boxFlexGroup: true,
6490
+ boxOrdinalGroup: true,
6491
+ columnCount: true,
6492
+ columns: true,
6493
+ flex: true,
6494
+ flexGrow: true,
6495
+ flexPositive: true,
6496
+ flexShrink: true,
6497
+ flexNegative: true,
6498
+ flexOrder: true,
6499
+ gridRow: true,
6500
+ gridRowEnd: true,
6501
+ gridRowSpan: true,
6502
+ gridRowStart: true,
6503
+ gridColumn: true,
6504
+ gridColumnEnd: true,
6505
+ gridColumnSpan: true,
6506
+ gridColumnStart: true,
6507
+ fontWeight: true,
6508
+ lineClamp: true,
6509
+ lineHeight: true,
6510
+ opacity: true,
6511
+ order: true,
6512
+ orphans: true,
6513
+ tabSize: true,
6514
+ widows: true,
6515
+ zIndex: true,
6516
+ zoom: true,
6517
+ // SVG-related properties
6518
+ fillOpacity: true,
6519
+ floodOpacity: true,
6520
+ stopOpacity: true,
6521
+ strokeDasharray: true,
6522
+ strokeDashoffset: true,
6523
+ strokeMiterlimit: true,
6524
+ strokeOpacity: true,
6525
+ strokeWidth: true
6526
+ };
6527
 
6528
+ var prefixKey = function prefixKey(prefix, key) {
6529
+ return prefix + key.charAt(0).toUpperCase() + key.substring(1);
6530
+ };
6531
 
6532
+ var prefixes = ['Webkit', 'Ms', 'Moz', 'O'];
6533
+ isUnitlessNumber = Object.keys(isUnitlessNumber).reduce(function (acc, prop) {
6534
+ prefixes.forEach(function (prefix) {
6535
+ return acc[prefixKey(prefix, prop)] = acc[prop];
6536
+ });
6537
+ return acc;
6538
+ }, isUnitlessNumber);
6539
 
6540
+ function dangerousStyleValue(name, value, isCustomProperty) {
6541
+ if (value == null || typeof value === 'boolean' || value === '') return '';
6542
+ if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers
6543
 
6544
+ return ('' + value).trim();
6545
+ }
 
6546
 
6547
+ var attributeCache = {};
6548
+ injectCreateAnimatedStyle(function (style) {
6549
+ return new AnimatedStyle(style);
6550
+ });
6551
+ injectDefaultElement('div');
6552
+ injectStringInterpolator(createStringInterpolator);
6553
+ injectColorNames(colors);
6554
+ injectApplyAnimatedValues(function (instance, props) {
6555
+ if (instance.nodeType && instance.setAttribute !== undefined) {
6556
+ var style = props.style,
6557
+ children = props.children,
6558
+ scrollTop = props.scrollTop,
6559
+ scrollLeft = props.scrollLeft,
6560
+ attributes = _objectWithoutPropertiesLoose(props, ["style", "children", "scrollTop", "scrollLeft"]);
6561
 
6562
+ var filter = instance.nodeName === 'filter' || instance.parentNode && instance.parentNode.nodeName === 'filter';
6563
+ if (scrollTop !== void 0) instance.scrollTop = scrollTop;
6564
+ if (scrollLeft !== void 0) instance.scrollLeft = scrollLeft; // Set textContent, if children is an animatable value
 
 
 
 
6565
 
6566
+ if (children !== void 0) instance.textContent = children; // Set styles ...
 
 
 
 
6567
 
6568
+ for (var styleName in style) {
6569
+ if (!style.hasOwnProperty(styleName)) continue;
6570
+ var isCustomProperty = styleName.indexOf('--') === 0;
6571
+ var styleValue = dangerousStyleValue(styleName, style[styleName], isCustomProperty);
6572
+ if (styleName === 'float') styleName = 'cssFloat';
6573
+ if (isCustomProperty) instance.style.setProperty(styleName, styleValue);else instance.style[styleName] = styleValue;
6574
+ } // Set attributes ...
6575
 
 
 
 
 
 
6576
 
6577
+ for (var name in attributes) {
6578
+ // Attributes are written in dash case
6579
+ var dashCase = filter ? name : attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, function (n) {
6580
+ return '-' + n.toLowerCase();
6581
+ }));
6582
+ if (typeof instance.getAttribute(dashCase) !== 'undefined') instance.setAttribute(dashCase, attributes[name]);
6583
+ }
 
 
6584
 
6585
+ return;
6586
+ } else return false;
6587
+ }, function (style) {
6588
+ return style;
6589
+ });
6590
 
6591
+ var domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG
6592
+ 'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];
6593
+ // Extend animated with all the available THREE elements
6594
+ var apply = merge(createAnimatedComponent, false);
6595
+ var extendedAnimated = apply(domElements);
6596
 
6597
+ exports.apply = apply;
6598
+ exports.config = config;
6599
+ exports.update = update;
6600
+ exports.animated = extendedAnimated;
6601
+ exports.a = extendedAnimated;
6602
+ exports.interpolate = interpolate$1;
6603
+ exports.Globals = Globals;
6604
+ exports.useSpring = useSpring;
6605
+ exports.useTrail = useTrail;
6606
+ exports.useTransition = useTransition;
6607
+ exports.useChain = useChain;
6608
+ exports.useSprings = useSprings;
6609
 
 
 
 
6610
 
6611
+ /***/ }),
 
 
 
6612
 
6613
+ /***/ 181:
6614
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
6615
 
6616
+ "use strict";
6617
+ /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10);
6618
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6619
+ /* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(38);
6620
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1);
6621
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);
6622
 
 
 
 
 
 
6623
 
 
 
 
6624
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6625
 
 
 
 
 
 
6626
 
6627
+ var MAX_SIGNED_31_BIT_INT = 1073741823;
6628
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};
 
 
 
 
 
 
 
 
6629
 
6630
+ function getUniqueId() {
6631
+ var key = '__global_unique_id__';
6632
+ return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;
6633
+ }
6634
 
6635
+ function objectIs(x, y) {
6636
+ if (x === y) {
6637
+ return x !== 0 || 1 / x === 1 / y;
6638
+ } else {
6639
+ return x !== x && y !== y;
 
 
 
 
 
 
 
6640
  }
6641
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6642
 
6643
+ function createEventEmitter(value) {
6644
+ var handlers = [];
6645
+ return {
6646
+ on: function on(handler) {
6647
+ handlers.push(handler);
6648
+ },
6649
+ off: function off(handler) {
6650
+ handlers = handlers.filter(function (h) {
6651
+ return h !== handler;
6652
+ });
6653
+ },
6654
+ get: function get() {
6655
+ return value;
6656
+ },
6657
+ set: function set(newValue, changedBits) {
6658
+ value = newValue;
6659
+ handlers.forEach(function (handler) {
6660
+ return handler(value, changedBits);
6661
  });
6662
+ }
6663
+ };
6664
+ }
6665
 
6666
+ function onlyChild(children) {
6667
+ return Array.isArray(children) ? children[0] : children;
6668
+ }
6669
 
6670
+ function createReactContext(defaultValue, calculateChangedBits) {
6671
+ var _Provider$childContex, _Consumer$contextType;
 
6672
 
6673
+ var contextProp = '__create-react-context-' + getUniqueId() + '__';
6674
 
6675
+ var Provider = /*#__PURE__*/function (_Component) {
6676
+ Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(Provider, _Component);
 
6677
 
6678
+ function Provider() {
6679
+ var _this;
6680
 
6681
+ _this = _Component.apply(this, arguments) || this;
6682
+ _this.emitter = createEventEmitter(_this.props.value);
6683
+ return _this;
6684
  }
6685
 
6686
+ var _proto = Provider.prototype;
6687
 
6688
+ _proto.getChildContext = function getChildContext() {
6689
+ var _ref;
 
6690
 
6691
+ return _ref = {}, _ref[contextProp] = this.emitter, _ref;
6692
+ };
 
 
 
 
 
 
6693
 
6694
+ _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
6695
+ if (this.props.value !== nextProps.value) {
6696
+ var oldValue = this.props.value;
6697
+ var newValue = nextProps.value;
6698
+ var changedBits;
6699
 
6700
+ if (objectIs(oldValue, newValue)) {
6701
+ changedBits = 0;
6702
+ } else {
6703
+ changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;
6704
 
6705
+ if (false) {}
 
 
 
 
 
 
 
 
6706
 
6707
+ changedBits |= 0;
6708
 
6709
+ if (changedBits !== 0) {
6710
+ this.emitter.set(nextProps.value, changedBits);
6711
+ }
6712
+ }
6713
+ }
6714
+ };
6715
 
6716
+ _proto.render = function render() {
6717
+ return this.props.children;
6718
+ };
6719
 
6720
+ return Provider;
6721
+ }(react__WEBPACK_IMPORTED_MODULE_0__["Component"]);
6722
 
6723
+ Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object.isRequired, _Provider$childContex);
6724
 
6725
+ var Consumer = /*#__PURE__*/function (_Component2) {
6726
+ Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(Consumer, _Component2);
6727
 
6728
+ function Consumer() {
6729
+ var _this2;
6730
 
6731
+ _this2 = _Component2.apply(this, arguments) || this;
6732
+ _this2.state = {
6733
+ value: _this2.getValue()
6734
+ };
6735
 
6736
+ _this2.onUpdate = function (newValue, changedBits) {
6737
+ var observedBits = _this2.observedBits | 0;
6738
 
6739
+ if ((observedBits & changedBits) !== 0) {
6740
+ _this2.setState({
6741
+ value: _this2.getValue()
6742
+ });
6743
+ }
6744
+ };
6745
 
6746
+ return _this2;
6747
+ }
6748
 
6749
+ var _proto2 = Consumer.prototype;
 
 
6750
 
6751
+ _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
6752
+ var observedBits = nextProps.observedBits;
6753
+ this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;
6754
+ };
6755
 
6756
+ _proto2.componentDidMount = function componentDidMount() {
6757
+ if (this.context[contextProp]) {
6758
+ this.context[contextProp].on(this.onUpdate);
6759
+ }
6760
 
6761
+ var observedBits = this.props.observedBits;
6762
+ this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;
6763
+ };
6764
 
6765
+ _proto2.componentWillUnmount = function componentWillUnmount() {
6766
+ if (this.context[contextProp]) {
6767
+ this.context[contextProp].off(this.onUpdate);
6768
+ }
6769
+ };
6770
 
6771
+ _proto2.getValue = function getValue() {
6772
+ if (this.context[contextProp]) {
6773
+ return this.context[contextProp].get();
6774
+ } else {
6775
+ return defaultValue;
6776
+ }
6777
+ };
6778
 
6779
+ _proto2.render = function render() {
6780
+ return onlyChild(this.props.children)(this.state.value);
6781
+ };
 
6782
 
6783
+ return Consumer;
6784
+ }(react__WEBPACK_IMPORTED_MODULE_0__["Component"]);
 
 
 
6785
 
6786
+ Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, _Consumer$contextType);
6787
+ return {
6788
+ Provider: Provider,
6789
+ Consumer: Consumer
6790
  };
6791
+ }
6792
 
6793
+ var index = react__WEBPACK_IMPORTED_MODULE_0___default.a.createContext || createReactContext;
 
 
 
 
 
 
6794
 
6795
+ /* harmony default export */ __webpack_exports__["a"] = (index);
 
6796
 
6797
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(83)))
 
 
 
 
 
6798
 
6799
+ /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
6800
 
6801
+ /***/ 182:
6802
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
6803
 
6804
+ var isarray = __webpack_require__(310)
 
 
 
 
 
 
 
6805
 
6806
+ /**
6807
+ * Expose `pathToRegexp`.
6808
+ */
6809
+ module.exports = pathToRegexp
6810
+ module.exports.parse = parse
6811
+ module.exports.compile = compile
6812
+ module.exports.tokensToFunction = tokensToFunction
6813
+ module.exports.tokensToRegExp = tokensToRegExp
6814
 
6815
+ /**
6816
+ * The main path matching regexp utility.
6817
+ *
6818
+ * @type {RegExp}
6819
+ */
6820
+ var PATH_REGEXP = new RegExp([
6821
+ // Match escaped characters that would otherwise appear in future matches.
6822
+ // This allows the user to escape special characters that won't transform.
6823
+ '(\\\\.)',
6824
+ // Match Express-style parameters and un-named parameters with a prefix
6825
+ // and optional suffixes. Matches appear as:
6826
+ //
6827
+ // "/:test(\\d+)?" => ["/", "test", "\d+", undefined, "?", undefined]
6828
+ // "/route(\\d+)" => [undefined, undefined, undefined, "\d+", undefined, undefined]
6829
+ // "/*" => ["/", undefined, undefined, undefined, undefined, "*"]
6830
+ '([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))'
6831
+ ].join('|'), 'g')
6832
 
6833
+ /**
6834
+ * Parse a string for the raw tokens.
6835
+ *
6836
+ * @param {string} str
6837
+ * @param {Object=} options
6838
+ * @return {!Array}
6839
+ */
6840
+ function parse (str, options) {
6841
+ var tokens = []
6842
+ var key = 0
6843
+ var index = 0
6844
+ var path = ''
6845
+ var defaultDelimiter = options && options.delimiter || '/'
6846
+ var res
6847
 
6848
+ while ((res = PATH_REGEXP.exec(str)) != null) {
6849
+ var m = res[0]
6850
+ var escaped = res[1]
6851
+ var offset = res.index
6852
+ path += str.slice(index, offset)
6853
+ index = offset + m.length
 
 
6854
 
6855
+ // Ignore already escaped sequences.
6856
+ if (escaped) {
6857
+ path += escaped[1]
6858
+ continue
6859
+ }
6860
+
6861
+ var next = str[index]
6862
+ var prefix = res[2]
6863
+ var name = res[3]
6864
+ var capture = res[4]
6865
+ var group = res[5]
6866
+ var modifier = res[6]
6867
+ var asterisk = res[7]
 
 
 
 
 
 
6868
 
6869
+ // Push the current path onto the tokens.
6870
+ if (path) {
6871
+ tokens.push(path)
6872
+ path = ''
6873
+ }
6874
 
6875
+ var partial = prefix != null && next != null && next !== prefix
6876
+ var repeat = modifier === '+' || modifier === '*'
6877
+ var optional = modifier === '?' || modifier === '*'
6878
+ var delimiter = res[2] || defaultDelimiter
6879
+ var pattern = capture || group
6880
 
6881
+ tokens.push({
6882
+ name: name || key++,
6883
+ prefix: prefix || '',
6884
+ delimiter: delimiter,
6885
+ optional: optional,
6886
+ repeat: repeat,
6887
+ partial: partial,
6888
+ asterisk: !!asterisk,
6889
+ pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')
6890
+ })
6891
+ }
6892
 
6893
+ // Match any characters still remaining.
6894
+ if (index < str.length) {
6895
+ path += str.substr(index)
6896
+ }
6897
 
6898
+ // If the path exists, push it onto the end.
6899
+ if (path) {
6900
+ tokens.push(path)
6901
+ }
6902
 
6903
+ return tokens
6904
+ }
6905
 
6906
  /**
6907
+ * Compile a string to a template function for the path.
6908
+ *
6909
+ * @param {string} str
6910
+ * @param {Object=} options
6911
+ * @return {!function(Object=, Object=)}
6912
  */
6913
+ function compile (str, options) {
6914
+ return tokensToFunction(parse(str, options), options)
6915
+ }
 
6916
 
6917
  /**
6918
+ * Prettier encoding of URI path segments.
6919
+ *
6920
+ * @param {string}
6921
+ * @return {string}
6922
  */
6923
+ function encodeURIComponentPretty (str) {
6924
+ return encodeURI(str).replace(/[\/?#]/g, function (c) {
6925
+ return '%' + c.charCodeAt(0).toString(16).toUpperCase()
6926
+ })
6927
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6928
 
6929
  /**
6930
+ * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.
6931
+ *
6932
+ * @param {string}
6933
+ * @return {string}
6934
  */
6935
+ function encodeAsterisk (str) {
6936
+ return encodeURI(str).replace(/[?#]/g, function (c) {
6937
+ return '%' + c.charCodeAt(0).toString(16).toUpperCase()
6938
+ })
6939
+ }
6940
 
6941
  /**
6942
+ * Expose a method for transforming tokens into the path function.
6943
  */
6944
+ function tokensToFunction (tokens, options) {
6945
+ // Compile all the tokens into regexps.
6946
+ var matches = new Array(tokens.length)
6947
 
6948
+ // Compile all the patterns before compilation.
6949
+ for (var i = 0; i < tokens.length; i++) {
6950
+ if (typeof tokens[i] === 'object') {
6951
+ matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))
6952
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6953
  }
6954
 
6955
+ return function (obj, opts) {
6956
+ var path = ''
6957
+ var data = obj || {}
6958
+ var options = opts || {}
6959
+ var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent
 
 
 
 
 
 
 
 
 
 
 
6960
 
6961
+ for (var i = 0; i < tokens.length; i++) {
6962
+ var token = tokens[i]
 
6963
 
6964
+ if (typeof token === 'string') {
6965
+ path += token
6966
 
6967
+ continue
6968
+ }
6969
 
6970
+ var value = data[token.name]
6971
+ var segment
 
 
 
 
6972
 
6973
+ if (value == null) {
6974
+ if (token.optional) {
6975
+ // Prepend partial segment prefixes.
6976
+ if (token.partial) {
6977
+ path += token.prefix
6978
+ }
 
 
 
6979
 
6980
+ continue
6981
+ } else {
6982
+ throw new TypeError('Expected "' + token.name + '" to be defined')
6983
+ }
6984
+ }
 
6985
 
6986
+ if (isarray(value)) {
6987
+ if (!token.repeat) {
6988
+ throw new TypeError('Expected "' + token.name + '" to not repeat, but received `' + JSON.stringify(value) + '`')
6989
+ }
6990
 
6991
+ if (value.length === 0) {
6992
+ if (token.optional) {
6993
+ continue
6994
+ } else {
6995
+ throw new TypeError('Expected "' + token.name + '" to not be empty')
6996
+ }
6997
+ }
6998
 
6999
+ for (var j = 0; j < value.length; j++) {
7000
+ segment = encode(value[j])
7001
 
7002
+ if (!matches[i].test(segment)) {
7003
+ throw new TypeError('Expected all "' + token.name + '" to match "' + token.pattern + '", but received `' + JSON.stringify(segment) + '`')
7004
+ }
7005
 
7006
+ path += (j === 0 ? token.prefix : token.delimiter) + segment
7007
+ }
7008
 
7009
+ continue
7010
+ }
 
 
7011
 
7012
+ segment = token.asterisk ? encodeAsterisk(value) : encode(value)
 
 
 
 
 
7013
 
7014
+ if (!matches[i].test(segment)) {
7015
+ throw new TypeError('Expected "' + token.name + '" to match "' + token.pattern + '", but received "' + segment + '"')
7016
+ }
7017
 
7018
+ path += token.prefix + segment
7019
+ }
7020
 
7021
+ return path
 
 
 
 
 
 
 
 
 
 
7022
  }
7023
+ }
7024
 
7025
+ /**
7026
+ * Escape a regular expression string.
7027
+ *
7028
+ * @param {string} str
7029
+ * @return {string}
7030
+ */
7031
+ function escapeString (str) {
7032
+ return str.replace(/([.+*?=^!:${}()[\]|\/\\])/g, '\\$1')
7033
+ }
 
 
 
 
7034
 
7035
+ /**
7036
+ * Escape the capturing group by escaping special characters and meaning.
7037
+ *
7038
+ * @param {string} group
7039
+ * @return {string}
7040
+ */
7041
+ function escapeGroup (group) {
7042
+ return group.replace(/([=!:$\/()])/g, '\\$1')
7043
+ }
7044
 
7045
+ /**
7046
+ * Attach the keys as a property of the regexp.
7047
+ *
7048
+ * @param {!RegExp} re
7049
+ * @param {Array} keys
7050
+ * @return {!RegExp}
7051
+ */
7052
+ function attachKeys (re, keys) {
7053
+ re.keys = keys
7054
+ return re
7055
+ }
7056
 
7057
+ /**
7058
+ * Get the flags for a regexp from the options.
7059
+ *
7060
+ * @param {Object} options
7061
+ * @return {string}
7062
+ */
7063
+ function flags (options) {
7064
+ return options && options.sensitive ? '' : 'i'
7065
+ }
7066
 
7067
  /**
7068
+ * Pull out keys from a regexp.
7069
+ *
7070
+ * @param {!RegExp} path
7071
+ * @param {!Array} keys
7072
+ * @return {!RegExp}
7073
  */
7074
+ function regexpToRegexp (path, keys) {
7075
+ // Use a negative lookahead to match only capturing groups.
7076
+ var groups = path.source.match(/\((?!\?)/g)
7077
 
7078
+ if (groups) {
7079
+ for (var i = 0; i < groups.length; i++) {
7080
+ keys.push({
7081
+ name: i,
7082
+ prefix: null,
7083
+ delimiter: null,
7084
+ optional: false,
7085
+ repeat: false,
7086
+ partial: false,
7087
+ asterisk: false,
7088
+ pattern: null
7089
+ })
7090
+ }
7091
+ }
7092
 
7093
+ return attachKeys(path, keys)
7094
+ }
7095
 
7096
  /**
7097
+ * Transform an array into a regexp.
7098
+ *
7099
+ * @param {!Array} path
7100
+ * @param {Array} keys
7101
+ * @param {!Object} options
7102
+ * @return {!RegExp}
7103
  */
7104
+ function arrayToRegexp (path, keys, options) {
7105
+ var parts = []
7106
 
7107
+ for (var i = 0; i < path.length; i++) {
7108
+ parts.push(pathToRegexp(path[i], keys, options).source)
 
 
 
 
 
 
 
 
7109
  }
7110
 
7111
+ var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7112
 
7113
+ return attachKeys(regexp, keys)
7114
+ }
7115
 
7116
  /**
7117
+ * Create a path regexp from string input.
7118
+ *
7119
+ * @param {string} path
7120
+ * @param {!Array} keys
7121
+ * @param {!Object} options
7122
+ * @return {!RegExp}
7123
  */
7124
+ function stringToRegexp (path, keys, options) {
7125
+ return tokensToRegExp(parse(path, options), keys, options)
7126
+ }
7127
 
7128
  /**
7129
+ * Expose a function for taking tokens and returning a RegExp.
7130
+ *
7131
+ * @param {!Array} tokens
7132
+ * @param {(Array|Object)=} keys
7133
+ * @param {Object=} options
7134
+ * @return {!RegExp}
7135
  */
7136
+ function tokensToRegExp (tokens, keys, options) {
7137
+ if (!isarray(keys)) {
7138
+ options = /** @type {!Object} */ (keys || options)
7139
+ keys = []
 
 
 
 
 
 
7140
  }
7141
 
7142
+ options = options || {}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7143
 
7144
+ var strict = options.strict
7145
+ var end = options.end !== false
7146
+ var route = ''
7147
 
7148
+ // Iterate over the tokens and create our regexp string.
7149
+ for (var i = 0; i < tokens.length; i++) {
7150
+ var token = tokens[i]
7151
 
7152
+ if (typeof token === 'string') {
7153
+ route += escapeString(token)
7154
+ } else {
7155
+ var prefix = escapeString(token.prefix)
7156
+ var capture = '(?:' + token.pattern + ')'
7157
 
7158
+ keys.push(token)
7159
 
7160
+ if (token.repeat) {
7161
+ capture += '(?:' + prefix + capture + ')*'
7162
+ }
7163
 
7164
+ if (token.optional) {
7165
+ if (!token.partial) {
7166
+ capture = '(?:' + prefix + '(' + capture + '))?'
7167
+ } else {
7168
+ capture = prefix + '(' + capture + ')?'
7169
+ }
7170
+ } else {
7171
+ capture = prefix + '(' + capture + ')'
7172
+ }
7173
 
7174
+ route += capture
7175
+ }
7176
+ }
7177
 
7178
+ var delimiter = escapeString(options.delimiter || '/')
7179
+ var endsWithDelimiter = route.slice(-delimiter.length) === delimiter
7180
 
7181
+ // In non-strict mode we allow a slash at the end of match. If the path to
7182
+ // match already ends with a slash, we remove it for consistency. The slash
7183
+ // is valid at the end of a path match, not in the middle. This is important
7184
+ // in non-ending mode, where "/test/" shouldn't match "/test//route".
7185
+ if (!strict) {
7186
+ route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'
7187
+ }
7188
 
7189
+ if (end) {
7190
+ route += '$'
7191
+ } else {
7192
+ // In non-ending mode, we need the capturing groups to match as much as
7193
+ // possible by using a positive lookahead to the end or next path segment.
7194
+ route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'
7195
+ }
7196
 
7197
+ return attachKeys(new RegExp('^' + route, flags(options)), keys)
7198
+ }
7199
 
7200
  /**
7201
+ * Normalize the given path string, returning a regular expression.
7202
+ *
7203
+ * An empty array can be passed in for the keys, which will hold the
7204
+ * placeholder key descriptions. For example, using `/user/:id`, `keys` will
7205
+ * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.
7206
+ *
7207
+ * @param {(string|RegExp|Array)} path
7208
+ * @param {(Array|Object)=} keys
7209
+ * @param {Object=} options
7210
+ * @return {!RegExp}
7211
  */
7212
+ function pathToRegexp (path, keys, options) {
7213
+ if (!isarray(keys)) {
7214
+ options = /** @type {!Object} */ (keys || options)
7215
+ keys = []
7216
+ }
7217
 
7218
+ options = options || {}
7219
 
7220
+ if (path instanceof RegExp) {
7221
+ return regexpToRegexp(path, /** @type {!Array} */ (keys))
7222
+ }
7223
 
7224
+ if (isarray(path)) {
7225
+ return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)
7226
+ }
7227
 
7228
+ return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)
7229
+ }
7230
 
7231
 
7232
+ /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7233
 
7234
+ /***/ 19:
7235
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
7236
 
7237
+ var arrayWithoutHoles = __webpack_require__(57);
 
7238
 
7239
+ var iterableToArray = __webpack_require__(58);
 
 
 
 
7240
 
7241
+ var unsupportedIterableToArray = __webpack_require__(39);
7242
 
7243
+ var nonIterableSpread = __webpack_require__(59);
 
 
 
 
7244
 
7245
+ function _toConsumableArray(arr) {
7246
+ return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
7247
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
7248
 
7249
+ module.exports = _toConsumableArray;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7250
 
7251
+ /***/ }),
 
7252
 
7253
+ /***/ 195:
7254
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
7255
 
7256
+ "use strict";
7257
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getUnreadNotesCount; });
7258
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return hasValidNotes; });
7259
+ /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
7260
+ /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);
7261
  /**
7262
  * External dependencies
7263
  */
7264
 
 
 
7265
  /**
7266
+ * Get the count of the unread notes from the received list.
7267
+ *
7268
+ * @param {Array} notes - List of notes, contains read and unread notes.
7269
+ * @param {number} lastRead - The timestamp that the user read a note.
7270
+ * @return {number} - Unread notes count.
7271
  */
7272
 
7273
+ function getUnreadNotesCount(notes, lastRead) {
7274
+ var unreadNotes = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["filter"])(notes, function (note) {
7275
+ var isDeleted = note.is_deleted,
7276
+ dateCreatedGmt = note.date_created_gmt,
7277
+ status = note.status;
7278
 
7279
+ if (!isDeleted) {
7280
+ var unread = !lastRead || !dateCreatedGmt || new Date(dateCreatedGmt + 'Z').getTime() > lastRead;
7281
+ return unread && status === 'unactioned';
7282
+ }
7283
+ });
7284
+ return unreadNotes.length;
7285
+ }
7286
+ /**
7287
+ * Verifies if there are any valid notes in the list.
7288
+ *
7289
+ * @param {Array} notes - List of notes, contains read and unread notes.
7290
+ * @return {boolean} - Whether there are valid notes or not.
7291
+ */
7292
 
7293
+ function hasValidNotes(notes) {
7294
+ var validNotes = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["filter"])(notes, function (note) {
7295
+ var isDeleted = note.is_deleted;
7296
+ return !isDeleted;
7297
+ });
7298
+ return validNotes.length > 0;
7299
+ }
7300
 
7301
+ /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7302
 
7303
+ /***/ 196:
7304
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
7305
 
7306
+ "use strict";
7307
+ /* unused harmony export Circle */
7308
+ /* unused harmony export G */
7309
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Path; });
7310
+ /* unused harmony export Polygon */
7311
+ /* unused harmony export Rect */
7312
+ /* unused harmony export Defs */
7313
+ /* unused harmony export RadialGradient */
7314
+ /* unused harmony export LinearGradient */
7315
+ /* unused harmony export Stop */
7316
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return SVG; });
7317
+ /* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36);
7318
+ /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55);
7319
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7);
7320
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
7321
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0);
7322
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);
7323
 
7324
 
7325
 
7326
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
7327
 
7328
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7329
 
7330
+ /**
7331
+ * External dependencies
7332
+ */
7333
 
7334
+ /**
7335
+ * WordPress dependencies
7336
+ */
7337
 
7338
 
7339
+ /** @typedef {{isPressed?: boolean} & import('react').ComponentPropsWithoutRef<'svg'>} SVGProps */
7340
 
7341
+ /**
7342
+ * @param {import('react').ComponentPropsWithoutRef<'circle'>} props
7343
+ *
7344
+ * @return {JSX.Element} Circle component
7345
+ */
7346
 
7347
+ var Circle = function Circle(props) {
7348
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])('circle', props);
7349
+ };
7350
+ /**
7351
+ * @param {import('react').ComponentPropsWithoutRef<'g'>} props
7352
+ *
7353
+ * @return {JSX.Element} G component
7354
+ */
7355
 
7356
+ var G = function G(props) {
7357
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])('g', props);
7358
+ };
7359
+ /**
7360
+ * @param {import('react').ComponentPropsWithoutRef<'path'>} props
7361
+ *
7362
+ * @return {JSX.Element} Path component
7363
+ */
7364
 
7365
+ var Path = function Path(props) {
7366
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])('path', props);
7367
+ };
7368
  /**
7369
+ * @param {import('react').ComponentPropsWithoutRef<'polygon'>} props
7370
+ *
7371
+ * @return {JSX.Element} Polygon component
7372
  */
7373
 
7374
+ var Polygon = function Polygon(props) {
7375
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])('polygon', props);
7376
+ };
7377
+ /**
7378
+ * @param {import('react').ComponentPropsWithoutRef<'rect'>} props
7379
+ *
7380
+ * @return {JSX.Element} Rect component
7381
+ */
7382
 
7383
+ var Rect = function Rect(props) {
7384
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])('rect', props);
7385
+ };
7386
+ /**
7387
+ * @param {import('react').ComponentPropsWithoutRef<'defs'>} props
7388
+ *
7389
+ * @return {JSX.Element} Defs component
7390
+ */
7391
 
7392
+ var Defs = function Defs(props) {
7393
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])('defs', props);
7394
+ };
7395
+ /**
7396
+ * @param {import('react').ComponentPropsWithoutRef<'radialGradient'>} props
7397
+ *
7398
+ * @return {JSX.Element} RadialGradient component
7399
+ */
7400
 
7401
+ var RadialGradient = function RadialGradient(props) {
7402
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])('radialGradient', props);
7403
+ };
7404
+ /**
7405
+ * @param {import('react').ComponentPropsWithoutRef<'linearGradient'>} props
7406
+ *
7407
+ * @return {JSX.Element} LinearGradient component
7408
+ */
7409
 
7410
+ var LinearGradient = function LinearGradient(props) {
7411
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])('linearGradient', props);
7412
+ };
7413
+ /**
7414
+ * @param {import('react').ComponentPropsWithoutRef<'stop'>} props
7415
+ *
7416
+ * @return {JSX.Element} Stop component
7417
+ */
7418
 
7419
+ var Stop = function Stop(props) {
7420
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])('stop', props);
7421
+ };
7422
+ /**
7423
+ *
7424
+ * @param {SVGProps} props isPressed indicates whether the SVG should appear as pressed.
7425
+ * Other props will be passed through to svg component.
7426
+ *
7427
+ * @return {JSX.Element} Stop component
7428
+ */
7429
 
7430
+ var SVG = function SVG(_ref) {
7431
+ var className = _ref.className,
7432
+ isPressed = _ref.isPressed,
7433
+ props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(_ref, ["className", "isPressed"]);
7434
 
7435
+ var appliedProps = _objectSpread(_objectSpread({}, props), {}, {
7436
+ className: classnames__WEBPACK_IMPORTED_MODULE_2___default()(className, {
7437
+ 'is-pressed': isPressed
7438
+ }) || undefined,
7439
+ role: 'img',
7440
+ 'aria-hidden': true,
7441
+ focusable: false
7442
+ }); // Disable reason: We need to have a way to render HTML tag for web.
7443
+ // eslint-disable-next-line react/forbid-elements
7444
 
7445
 
7446
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])("svg", appliedProps);
7447
+ };
7448
+ //# sourceMappingURL=index.js.map
7449
 
7450
+ /***/ }),
7451
 
7452
+ /***/ 2:
7453
+ /***/ (function(module, exports) {
 
7454
 
7455
+ (function() { module.exports = this["wp"]["i18n"]; }());
7456
 
7457
+ /***/ }),
7458
 
7459
+ /***/ 20:
7460
+ /***/ (function(module, exports) {
7461
 
7462
+ (function() { module.exports = this["wc"]["navigation"]; }());
7463
 
7464
+ /***/ }),
7465
 
7466
+ /***/ 21:
7467
+ /***/ (function(module, exports, __webpack_require__) {
7468
 
7469
+ var arrayWithHoles = __webpack_require__(60);
 
 
7470
 
7471
+ var iterableToArrayLimit = __webpack_require__(61);
 
7472
 
7473
+ var unsupportedIterableToArray = __webpack_require__(39);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7474
 
7475
+ var nonIterableRest = __webpack_require__(62);
 
7476
 
7477
+ function _slicedToArray(arr, i) {
7478
+ return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
7479
+ }
7480
 
7481
+ module.exports = _slicedToArray;
 
 
 
 
 
 
 
7482
 
7483
+ /***/ }),
 
 
 
 
 
 
 
 
7484
 
7485
+ /***/ 22:
7486
+ /***/ (function(module, exports) {
 
7487
 
7488
+ (function() { module.exports = this["wc"]["data"]; }());
 
 
 
 
 
 
 
 
 
 
7489
 
7490
+ /***/ }),
 
 
7491
 
7492
+ /***/ 23:
7493
+ /***/ (function(module, exports) {
 
7494
 
7495
+ (function() { module.exports = this["wp"]["url"]; }());
 
 
 
7496
 
7497
+ /***/ }),
 
 
7498
 
7499
+ /***/ 24:
7500
+ /***/ (function(module, exports) {
 
7501
 
7502
+ function _extends() {
7503
+ module.exports = _extends = Object.assign || function (target) {
7504
+ for (var i = 1; i < arguments.length; i++) {
7505
+ var source = arguments[i];
 
 
 
 
7506
 
7507
+ for (var key in source) {
7508
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
7509
+ target[key] = source[key];
7510
+ }
7511
  }
7512
  }
 
7513
 
7514
+ return target;
 
 
 
7515
  };
7516
 
7517
+ return _extends.apply(this, arguments);
7518
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7519
 
7520
+ module.exports = _extends;
7521
 
7522
+ /***/ }),
7523
 
7524
+ /***/ 25:
7525
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
7526
 
7527
+ "use strict";
7528
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ADMIN_URL; });
7529
+ /* unused harmony export COUNTRIES */
7530
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return CURRENCY; });
7531
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return LOCALE; });
7532
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return ORDER_STATUSES; });
7533
+ /* unused harmony export SITE_TITLE */
7534
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return WC_ASSET_URL; });
7535
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getSetting; });
7536
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return setSetting; });
7537
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getAdminLink; });
7538
+ /* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30);
7539
+ /* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);
7540
+ /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);
7541
+ /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
7542
 
 
7543
 
7544
  /**
7545
  * External dependencies
7546
  */
7547
+ // Remove mutable data from settings object to prevent access. Data stores should be used instead.
7548
 
7549
+ var mutableSources = ['wcAdminSettings', 'preloadSettings'];
7550
+ var settings = (typeof wcSettings === "undefined" ? "undefined" : _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(wcSettings)) === 'object' ? wcSettings : {};
7551
+ var SOURCE = Object.keys(settings).reduce(function (source, key) {
7552
+ if (!mutableSources.includes(key)) {
7553
+ source[key] = settings[key];
 
 
 
 
 
7554
  }
7555
 
7556
+ return source;
7557
+ }, {});
7558
+ var ADMIN_URL = SOURCE.adminUrl;
7559
+ var COUNTRIES = SOURCE.countries;
7560
+ var CURRENCY = SOURCE.currency;
7561
+ var LOCALE = SOURCE.locale;
7562
+ var ORDER_STATUSES = SOURCE.orderStatuses;
7563
+ var SITE_TITLE = SOURCE.siteTitle;
7564
+ var WC_ASSET_URL = SOURCE.wcAssetUrl;
7565
+ /**
7566
+ * Retrieves a setting value from the setting state.
7567
+ *
7568
+ * @param {string} name The identifier for the setting.
7569
+ * @param {*} [fallback=false] The value to use as a fallback
7570
+ * if the setting is not in the
7571
+ * state.
7572
+ * @param {Function} [filter=( val ) => val] A callback for filtering the
7573
+ * value before it's returned.
7574
+ * Receives both the found value
7575
+ * (if it exists for the key) and
7576
+ * the provided fallback arg.
7577
+ *
7578
+ * @return {*} The value present in the settings state for the given
7579
+ * name.
7580
+ */
 
 
 
 
 
 
 
7581
 
7582
+ function getSetting(name) {
7583
+ var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
7584
+ var filter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (val) {
7585
+ return val;
7586
+ };
7587
 
7588
+ if (mutableSources.includes(name)) {
7589
+ throw new Error(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Mutable settings should be accessed via data store.'));
7590
+ }
7591
 
7592
+ var value = SOURCE.hasOwnProperty(name) ? SOURCE[name] : fallback;
7593
+ return filter(value, fallback);
7594
+ }
7595
+ /**
7596
+ * Sets a value to a property on the settings state.
7597
+ *
7598
+ * NOTE: This feature is to be removed in favour of data stores when a full migration
7599
+ * is complete.
7600
+ *
7601
+ * @deprecated
7602
+ *
7603
+ * @param {string} name The setting property key for the
7604
+ * setting being mutated.
7605
+ * @param {*} value The value to set.
7606
+ * @param {Function} [filter=( val ) => val] Allows for providing a callback
7607
+ * to sanitize the setting (eg.
7608
+ * ensure it's a number)
7609
+ */
7610
 
7611
+ function setSetting(name, value) {
7612
+ var filter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (val) {
7613
+ return val;
7614
+ };
7615
 
7616
+ if (mutableSources.includes(name)) {
7617
+ throw new Error(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Mutable settings should be mutated via data store.'));
7618
+ }
7619
 
7620
+ SOURCE[name] = filter(value);
7621
+ }
7622
+ /**
7623
+ * Returns a string with the site's wp-admin URL appended. JS version of `admin_url`.
7624
+ *
7625
+ * @param {string} path Relative path.
7626
+ * @return {string} Full admin URL.
7627
+ */
7628
 
7629
+ function getAdminLink(path) {
7630
+ return (ADMIN_URL || '') + path;
7631
+ }
7632
 
7633
+ /***/ }),
7634
 
7635
+ /***/ 27:
7636
+ /***/ (function(module, exports) {
7637
 
7638
+ (function() { module.exports = this["wp"]["apiFetch"]; }());
7639
 
7640
+ /***/ }),
7641
 
7642
+ /***/ 278:
7643
+ /***/ (function(module, exports, __webpack_require__) {
 
7644
 
7645
+ "use strict";
7646
 
7647
 
7648
+ 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; };
7649
 
7650
+ 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; }; }();
7651
 
7652
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
 
 
7653
 
7654
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7655
 
7656
+ 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; }
 
 
 
 
 
 
 
 
 
 
7657
 
7658
+ 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; }
 
 
 
 
 
 
 
 
7659
 
7660
+ var hoistNonReactStatic = __webpack_require__(303);
7661
+ var React = __webpack_require__(10);
7662
+ var ReactDOM = __webpack_require__(48);
 
 
7663
 
7664
+ module.exports = function enhanceWithClickOutside(WrappedComponent) {
7665
+ var componentName = WrappedComponent.displayName || WrappedComponent.name;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7666
 
7667
+ var EnhancedComponent = function (_React$Component) {
7668
+ _inherits(EnhancedComponent, _React$Component);
7669
 
7670
+ function EnhancedComponent(props) {
7671
+ _classCallCheck(this, EnhancedComponent);
 
 
 
 
 
7672
 
7673
+ var _this = _possibleConstructorReturn(this, (EnhancedComponent.__proto__ || Object.getPrototypeOf(EnhancedComponent)).call(this, props));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7674
 
7675
+ _this.handleClickOutside = _this.handleClickOutside.bind(_this);
7676
+ return _this;
7677
+ }
 
 
7678
 
7679
+ _createClass(EnhancedComponent, [{
7680
+ key: 'componentDidMount',
7681
+ value: function componentDidMount() {
7682
+ document.addEventListener('click', this.handleClickOutside, true);
7683
+ }
7684
+ }, {
7685
+ key: 'componentWillUnmount',
7686
+ value: function componentWillUnmount() {
7687
+ document.removeEventListener('click', this.handleClickOutside, true);
7688
+ }
7689
+ }, {
7690
+ key: 'handleClickOutside',
7691
+ value: function handleClickOutside(e) {
7692
+ var domNode = this.__domNode;
7693
+ if ((!domNode || !domNode.contains(e.target)) && this.__wrappedInstance && typeof this.__wrappedInstance.handleClickOutside === 'function') {
7694
+ this.__wrappedInstance.handleClickOutside(e);
7695
+ }
7696
+ }
7697
+ }, {
7698
+ key: 'render',
7699
+ value: function render() {
7700
+ var _this2 = this;
7701
+
7702
+ var _props = this.props,
7703
+ wrappedRef = _props.wrappedRef,
7704
+ rest = _objectWithoutProperties(_props, ['wrappedRef']);
7705
+
7706
+ return React.createElement(WrappedComponent, _extends({}, rest, {
7707
+ ref: function ref(c) {
7708
+ _this2.__wrappedInstance = c;
7709
+ _this2.__domNode = ReactDOM.findDOMNode(c);
7710
+ wrappedRef && wrappedRef(c);
7711
+ }
7712
  }));
7713
+ }
7714
+ }]);
7715
 
7716
+ return EnhancedComponent;
7717
+ }(React.Component);
 
 
 
 
 
 
 
 
 
 
7718
 
7719
+ EnhancedComponent.displayName = 'clickOutside(' + componentName + ')';
 
 
7720
 
7721
+ return hoistNonReactStatic(EnhancedComponent, WrappedComponent);
7722
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7723
 
7724
+ /***/ }),
 
 
7725
 
7726
+ /***/ 279:
7727
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
7728
 
7729
+ "use strict";
7730
+ /* WEBPACK VAR INJECTION */(function(process) {/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
7731
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
7732
+ /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
7733
+ /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__);
7734
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7);
7735
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
7736
+ /* harmony import */ var _wordpress_a11y__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(142);
7737
+ /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2);
7738
+ /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
7739
+ /* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(280);
7740
+ /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4);
7741
+ /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_6__);
7742
 
7743
 
7744
  /**
7747
 
7748
 
7749
 
 
 
 
 
7750
 
7751
 
7752
 
 
 
 
7753
 
7754
+ var NOTICE_TIMEOUT = 10000;
7755
+ /** @typedef {import('@wordpress/element').WPElement} WPElement */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7756
 
7757
+ /**
7758
+ * Custom hook which announces the message with the given politeness, if a
7759
+ * valid message is provided.
7760
+ *
7761
+ * @param {string|WPElement} [message] Message to announce.
7762
+ * @param {'polite'|'assertive'} politeness Politeness to announce.
7763
+ */
7764
 
7765
+ function useSpokenMessage(message, politeness) {
7766
+ var spokenMessage = typeof message === 'string' ? message : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["renderToString"])(message);
7767
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
7768
+ if (spokenMessage) {
7769
+ Object(_wordpress_a11y__WEBPACK_IMPORTED_MODULE_3__[/* speak */ "a"])(spokenMessage, politeness);
7770
+ }
7771
+ }, [spokenMessage, politeness]);
 
 
7772
  }
7773
 
7774
+ function Snackbar(_ref, ref) {
7775
+ var className = _ref.className,
7776
+ children = _ref.children,
7777
+ _ref$spokenMessage = _ref.spokenMessage,
7778
+ spokenMessage = _ref$spokenMessage === void 0 ? children : _ref$spokenMessage,
7779
+ _ref$politeness = _ref.politeness,
7780
+ politeness = _ref$politeness === void 0 ? 'polite' : _ref$politeness,
7781
+ _ref$actions = _ref.actions,
7782
+ actions = _ref$actions === void 0 ? [] : _ref$actions,
7783
+ _ref$onRemove = _ref.onRemove,
7784
+ onRemove = _ref$onRemove === void 0 ? lodash__WEBPACK_IMPORTED_MODULE_1__["noop"] : _ref$onRemove,
7785
+ _ref$icon = _ref.icon,
7786
+ icon = _ref$icon === void 0 ? null : _ref$icon,
7787
+ _ref$explicitDismiss = _ref.explicitDismiss,
7788
+ explicitDismiss = _ref$explicitDismiss === void 0 ? false : _ref$explicitDismiss,
7789
+ _ref$onDismiss = _ref.onDismiss,
7790
+ onDismiss = _ref$onDismiss === void 0 ? null : _ref$onDismiss;
7791
+ onDismiss = onDismiss || lodash__WEBPACK_IMPORTED_MODULE_1__["noop"];
 
 
7792
 
7793
+ function dismissMe(event) {
7794
+ if (event && event.preventDefault) {
7795
+ event.preventDefault();
7796
+ }
7797
 
7798
+ onDismiss();
7799
+ onRemove();
7800
+ }
7801
 
7802
+ function onActionClick(event, onClick) {
7803
+ event.stopPropagation();
7804
+ onRemove();
7805
 
7806
+ if (onClick) {
7807
+ onClick(event);
7808
+ }
7809
+ }
7810
 
7811
+ useSpokenMessage(spokenMessage, politeness); // Only set up the timeout dismiss if we're not explicitly dismissing.
7812
 
7813
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
7814
+ var timeoutHandle = setTimeout(function () {
7815
+ if (!explicitDismiss) {
7816
+ onDismiss();
7817
+ onRemove();
7818
+ }
7819
+ }, NOTICE_TIMEOUT);
7820
+ return function () {
7821
+ return clearTimeout(timeoutHandle);
7822
+ };
7823
+ }, [explicitDismiss, onDismiss, onRemove]);
7824
+ var classes = classnames__WEBPACK_IMPORTED_MODULE_2___default()(className, 'components-snackbar', {
7825
+ 'components-snackbar-explicit-dismiss': !!explicitDismiss
7826
+ });
7827
 
7828
+ if (actions && actions.length > 1) {
7829
+ // we need to inform developers that snackbar only accepts 1 action
7830
+ typeof process !== "undefined" && process.env && "production" !== "production" ? Object(_wordpress_warning__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])('Snackbar can only have 1 action, use Notice if your message require many messages') : void 0; // return first element only while keeping it inside an array
7831
 
7832
+ actions = [actions[0]];
7833
+ }
7834
 
7835
+ var snackbarContentClassnames = classnames__WEBPACK_IMPORTED_MODULE_2___default()('components-snackbar__content', {
7836
+ 'components-snackbar__content-with-icon': !!icon
7837
+ });
7838
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
7839
+ ref: ref,
7840
+ className: classes,
7841
+ onClick: !explicitDismiss ? dismissMe : lodash__WEBPACK_IMPORTED_MODULE_1__["noop"],
7842
+ tabIndex: "0",
7843
+ role: !explicitDismiss ? 'button' : '',
7844
+ onKeyPress: !explicitDismiss ? dismissMe : lodash__WEBPACK_IMPORTED_MODULE_1__["noop"],
7845
+ "aria-label": !explicitDismiss ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Dismiss this notice') : ''
7846
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
7847
+ className: snackbarContentClassnames
7848
+ }, icon && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
7849
+ className: "components-snackbar__icon"
7850
+ }, icon), children, actions.map(function (_ref2, index) {
7851
+ var label = _ref2.label,
7852
+ _onClick = _ref2.onClick,
7853
+ url = _ref2.url;
7854
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_6__["Button"], {
7855
+ key: index,
7856
+ href: url,
7857
+ isTertiary: true,
7858
+ onClick: function onClick(event) {
7859
+ return onActionClick(event, _onClick);
7860
+ },
7861
+ className: "components-snackbar__action"
7862
+ }, label);
7863
+ }), explicitDismiss && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("span", {
7864
+ role: "button",
7865
+ "aria-label": "Dismiss this notice",
7866
+ tabIndex: "0",
7867
+ className: "components-snackbar__dismiss-button",
7868
+ onClick: dismissMe,
7869
+ onKeyPress: dismissMe
7870
+ }, "\u2715")));
7871
+ }
7872
 
7873
+ /* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["forwardRef"])(Snackbar));
7874
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(125)))
7875
 
7876
+ /***/ }),
 
 
7877
 
7878
+ /***/ 28:
7879
+ /***/ (function(module, exports) {
7880
 
7881
+ (function() { module.exports = this["wc"]["tracks"]; }());
7882
 
7883
+ /***/ }),
7884
 
7885
+ /***/ 280:
7886
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
7887
 
7888
+ "use strict";
7889
+ /* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return warning; });
7890
+ function isDev() {
7891
+ return typeof process !== 'undefined' && process.env && "production" !== 'production';
7892
+ }
7893
  /**
7894
+ * Shows a warning with `message` if environment is not `production`.
7895
+ *
7896
+ * @param {string} message Message to show in the warning.
7897
+ *
7898
+ * @example
7899
+ * ```js
7900
+ * import warning from '@wordpress/warning';
7901
+ *
7902
+ * function MyComponent( props ) {
7903
+ * if ( ! props.title ) {
7904
+ * warning( '`props.title` was not passed' );
7905
+ * }
7906
+ * ...
7907
+ * }
7908
+ * ```
7909
  */
7910
 
7911
 
7912
+ function warning(message) {
7913
+ if (!isDev()) {
7914
+ return;
7915
+ } // eslint-disable-next-line no-console
7916
 
7917
 
7918
+ console.warn(message); // Throwing an error and catching it immediately to improve debugging
7919
+ // A consumer can use 'pause on caught exceptions'
7920
+ // https://github.com/facebook/react/issues/4216
7921
 
7922
+ try {
7923
+ throw Error(message);
7924
+ } catch (x) {// do nothing
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7925
  }
7926
+ }
7927
+ //# sourceMappingURL=index.js.map
7928
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(125)))
7929
 
7930
+ /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7931
 
7932
+ /***/ 281:
7933
+ /***/ (function(module, exports) {
7934
 
7935
+ (function() { module.exports = this["wc"]["customerEffortScore"]; }());
7936
 
7937
+ /***/ }),
7938
 
7939
+ /***/ 288:
7940
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
7941
 
7942
+ "use strict";
7943
 
7944
+ // EXPORTS
7945
+ __webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ customer_effort_score_tracks_container; });
7946
 
7947
+ // UNUSED EXPORTS: CustomerEffortScoreTracks
7948
 
7949
+ // NAMESPACE OBJECT: ./client/customer-effort-score-tracks/data/actions.js
7950
+ var actions_namespaceObject = {};
7951
+ __webpack_require__.r(actions_namespaceObject);
7952
+ __webpack_require__.d(actions_namespaceObject, "setCesSurveyQueue", function() { return setCesSurveyQueue; });
7953
+ __webpack_require__.d(actions_namespaceObject, "addCesSurvey", function() { return addCesSurvey; });
7954
+ __webpack_require__.d(actions_namespaceObject, "addCesSurveyForAnalytics", function() { return addCesSurveyForAnalytics; });
7955
 
7956
+ // NAMESPACE OBJECT: ./client/customer-effort-score-tracks/data/resolvers.js
7957
+ var resolvers_namespaceObject = {};
7958
+ __webpack_require__.r(resolvers_namespaceObject);
7959
+ __webpack_require__.d(resolvers_namespaceObject, "getCesSurveyQueue", function() { return resolvers_getCesSurveyQueue; });
7960
 
7961
+ // NAMESPACE OBJECT: ./client/customer-effort-score-tracks/data/selectors.js
7962
+ var selectors_namespaceObject = {};
7963
+ __webpack_require__.r(selectors_namespaceObject);
7964
+ __webpack_require__.d(selectors_namespaceObject, "getCesSurveyQueue", function() { return selectors_getCesSurveyQueue; });
7965
 
7966
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
7967
+ var toConsumableArray = __webpack_require__(19);
7968
+ var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
7969
 
7970
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
7971
+ var defineProperty = __webpack_require__(5);
7972
+ var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
7973
 
7974
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
7975
+ var slicedToArray = __webpack_require__(21);
7976
+ var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
7977
 
7978
+ // EXTERNAL MODULE: external {"this":["wp","element"]}
7979
+ var external_this_wp_element_ = __webpack_require__(0);
7980
 
7981
+ // EXTERNAL MODULE: ./node_modules/prop-types/index.js
7982
+ var prop_types = __webpack_require__(1);
7983
+ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
7984
 
7985
+ // EXTERNAL MODULE: external {"this":["wc","tracks"]}
7986
+ var external_this_wc_tracks_ = __webpack_require__(28);
7987
 
7988
+ // EXTERNAL MODULE: external {"this":["wc","customerEffortScore"]}
7989
+ var external_this_wc_customerEffortScore_ = __webpack_require__(281);
7990
+ var external_this_wc_customerEffortScore_default = /*#__PURE__*/__webpack_require__.n(external_this_wc_customerEffortScore_);
7991
 
7992
+ // EXTERNAL MODULE: external {"this":["wp","compose"]}
7993
+ var external_this_wp_compose_ = __webpack_require__(18);
7994
 
7995
+ // EXTERNAL MODULE: external {"this":["wp","data"]}
7996
+ var external_this_wp_data_ = __webpack_require__(15);
7997
 
7998
+ // EXTERNAL MODULE: external {"this":["wc","data"]}
7999
+ var external_this_wc_data_ = __webpack_require__(22);
8000
 
8001
+ // EXTERNAL MODULE: external {"this":["wp","i18n"]}
8002
+ var external_this_wp_i18n_ = __webpack_require__(2);
8003
 
8004
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/customer-effort-score-tracks.js
8005
 
8006
 
8007
 
8008
 
8009
 
8010
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
8011
 
8012
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
8013
 
8014
  /**
8015
  * External dependencies
8022
 
8023
 
8024
 
8025
+ var SHOWN_FOR_ACTIONS_OPTION_NAME = 'woocommerce_ces_shown_for_actions';
8026
+ var ADMIN_INSTALL_TIMESTAMP_OPTION_NAME = 'woocommerce_admin_install_timestamp';
8027
+ var ALLOW_TRACKING_OPTION_NAME = 'woocommerce_allow_tracking';
 
 
8028
  /**
8029
+ * A CustomerEffortScore wrapper that uses tracks to track the selected
8030
+ * customer effort score.
8031
+ *
8032
+ * @param {Object} props Component props.
8033
+ * @param {string} props.action The action name sent to Tracks.
8034
+ * @param {Object} props.trackProps Additional props sent to Tracks.
8035
+ * @param {string} props.label The label displayed in the modal.
8036
+ * @param {string} props.onSubmitLabel The label displayed upon survey submission.
8037
+ * @param {Array} props.cesShownForActions The array of actions that the CES modal has been shown for.
8038
+ * @param {boolean} props.allowTracking Whether tracking is allowed or not.
8039
+ * @param {boolean} props.resolving Are values still being resolved.
8040
+ * @param {number} props.storeAgeInWeeks The age of the store in weeks.
8041
+ * @param {Function} props.updateOptions Function to update options.
8042
+ * @param {Function} props.createNotice Function to create a snackbar.
8043
  */
8044
 
8045
+ function CustomerEffortScoreTracks(_ref) {
8046
+ var action = _ref.action,
8047
+ trackProps = _ref.trackProps,
8048
+ label = _ref.label,
8049
+ _ref$onSubmitLabel = _ref.onSubmitLabel,
8050
+ onSubmitLabel = _ref$onSubmitLabel === void 0 ? Object(external_this_wp_i18n_["__"])('Thank you for your feedback!', 'woocommerce-admin') : _ref$onSubmitLabel,
8051
+ cesShownForActions = _ref.cesShownForActions,
8052
+ allowTracking = _ref.allowTracking,
8053
+ resolving = _ref.resolving,
8054
+ storeAgeInWeeks = _ref.storeAgeInWeeks,
8055
+ updateOptions = _ref.updateOptions,
8056
+ createNotice = _ref.createNotice;
8057
 
8058
+ var _useState = Object(external_this_wp_element_["useState"])(false),
8059
+ _useState2 = slicedToArray_default()(_useState, 2),
8060
+ modalShown = _useState2[0],
8061
+ setModalShown = _useState2[1];
8062
 
8063
+ if (resolving) {
8064
+ return null;
8065
+ } // Don't show if tracking is disallowed.
8066
 
8067
 
8068
+ if (!allowTracking) {
8069
+ return null;
8070
+ } // We only want to return null early if the modal was already shown
8071
+ // for this action *before* this component was initially instantiated.
8072
+ //
8073
+ // We want to make sure we still render CustomerEffortScore below
8074
+ // (we don't want to return null early), if the modal was shown for this
8075
+ // instantiation, so that the component doesn't go away while we are
8076
+ // still showing it.
8077
 
8078
 
8079
+ if (cesShownForActions.indexOf(action) !== -1 && !modalShown) {
8080
+ return null;
8081
+ }
 
 
 
 
 
8082
 
8083
+ var onNoticeShown = function onNoticeShown() {
8084
+ Object(external_this_wc_tracks_["recordEvent"])('ces_snackbar_view', _objectSpread({
8085
+ action: action,
8086
+ store_age: storeAgeInWeeks
8087
+ }, trackProps));
8088
+ };
8089
 
8090
+ var addActionToShownOption = function addActionToShownOption() {
8091
+ updateOptions(defineProperty_default()({}, SHOWN_FOR_ACTIONS_OPTION_NAME, [action].concat(toConsumableArray_default()(cesShownForActions))));
8092
+ };
8093
 
8094
+ var onNoticeDismissed = function onNoticeDismissed() {
8095
+ Object(external_this_wc_tracks_["recordEvent"])('ces_snackbar_dismiss', _objectSpread({
8096
+ action: action,
8097
+ store_age: storeAgeInWeeks
8098
+ }, trackProps));
8099
+ addActionToShownOption();
8100
+ };
8101
 
8102
+ var onModalShown = function onModalShown() {
8103
+ setModalShown(true);
8104
+ Object(external_this_wc_tracks_["recordEvent"])('ces_view', _objectSpread({
8105
+ action: action,
8106
+ store_age: storeAgeInWeeks
8107
+ }, trackProps));
8108
+ addActionToShownOption();
8109
+ };
 
 
 
 
8110
 
8111
+ var recordScore = function recordScore(score, comments) {
8112
+ Object(external_this_wc_tracks_["recordEvent"])('ces_feedback', _objectSpread({
8113
+ action: action,
8114
+ score: score,
8115
+ comments: comments || '',
8116
+ store_age: storeAgeInWeeks
8117
+ }, trackProps));
8118
+ createNotice('success', onSubmitLabel);
8119
+ };
8120
 
8121
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_customerEffortScore_default.a, {
8122
+ recordScoreCallback: recordScore,
8123
+ label: label,
8124
+ onNoticeShownCallback: onNoticeShown,
8125
+ onNoticeDismissedCallback: onNoticeDismissed,
8126
+ onModalShownCallback: onModalShown,
8127
+ icon: Object(external_this_wp_element_["createElement"])("span", {
8128
+ style: {
8129
+ height: 21,
8130
+ width: 21
8131
+ },
8132
+ role: "img",
8133
+ "aria-label": Object(external_this_wp_i18n_["__"])('Pencil icon', 'woocommerce-admin')
8134
+ }, "\u270F\uFE0F")
8135
+ });
8136
+ }
8137
 
8138
+ CustomerEffortScoreTracks.propTypes = {
8139
+ /**
8140
+ * The action name sent to Tracks.
8141
+ */
8142
+ action: prop_types_default.a.string.isRequired,
8143
+
8144
+ /**
8145
+ * Additional props sent to Tracks.
8146
+ */
8147
+ trackProps: prop_types_default.a.object,
8148
+
8149
+ /**
8150
+ * The label displayed in the modal.
8151
+ */
8152
+ label: prop_types_default.a.string.isRequired,
8153
 
8154
+ /**
8155
+ * The label for the snackbar that appears upon survey submission.
8156
+ */
8157
+ onSubmitLabel: prop_types_default.a.string,
8158
 
8159
+ /**
8160
+ * The array of actions that the CES modal has been shown for.
8161
+ */
8162
+ cesShownForActions: prop_types_default.a.arrayOf(prop_types_default.a.string).isRequired,
8163
 
8164
+ /**
8165
+ * Whether tracking is allowed or not.
8166
+ */
8167
+ allowTracking: prop_types_default.a.bool,
 
 
 
 
 
 
8168
 
8169
+ /**
8170
+ * Whether props are still being resolved.
8171
+ */
8172
+ resolving: prop_types_default.a.bool.isRequired,
8173
 
8174
+ /**
8175
+ * The age of the store in weeks.
8176
+ */
8177
+ storeAgeInWeeks: prop_types_default.a.number,
 
 
 
 
 
 
 
 
 
 
 
8178
 
8179
+ /**
8180
+ * Function to update options.
8181
+ */
8182
+ updateOptions: prop_types_default.a.func,
8183
 
8184
+ /**
8185
+ * Function to create a snackbar
8186
+ */
8187
+ createNotice: prop_types_default.a.func
8188
+ };
8189
 
8190
+ function getStoreAgeInWeeks(adminInstallTimestamp) {
8191
+ if (adminInstallTimestamp === 0) {
8192
+ return null;
8193
+ } // Date.now() is ms since Unix epoch, adminInstallTimestamp is in
8194
+ // seconds since Unix epoch.
8195
 
 
 
 
8196
 
8197
+ var storeAgeInMs = Date.now() - adminInstallTimestamp * 1000;
8198
+ var storeAgeInWeeks = Math.round(storeAgeInMs / external_this_wc_data_["WEEK"]);
8199
+ return storeAgeInWeeks;
8200
+ }
8201
 
8202
+ /* harmony default export */ var customer_effort_score_tracks = (Object(external_this_wp_compose_["compose"])(Object(external_this_wp_data_["withSelect"])(function (select) {
8203
+ var _select = select(external_this_wc_data_["OPTIONS_STORE_NAME"]),
8204
+ getOption = _select.getOption,
8205
+ isResolving = _select.isResolving;
8206
 
8207
+ var cesShownForActions = getOption(SHOWN_FOR_ACTIONS_OPTION_NAME) || [];
8208
+ var adminInstallTimestamp = getOption(ADMIN_INSTALL_TIMESTAMP_OPTION_NAME) || 0;
8209
+ var storeAgeInWeeks = getStoreAgeInWeeks(adminInstallTimestamp);
8210
+ var allowTrackingOption = getOption(ALLOW_TRACKING_OPTION_NAME) || 'no';
8211
+ var allowTracking = allowTrackingOption === 'yes';
8212
+ var resolving = isResolving('getOption', [SHOWN_FOR_ACTIONS_OPTION_NAME]) || storeAgeInWeeks === null || isResolving('getOption', [ADMIN_INSTALL_TIMESTAMP_OPTION_NAME]) || isResolving('getOption', [ALLOW_TRACKING_OPTION_NAME]);
8213
+ return {
8214
+ cesShownForActions: cesShownForActions,
8215
+ allowTracking: allowTracking,
8216
+ storeAgeInWeeks: storeAgeInWeeks,
8217
+ resolving: resolving
8218
+ };
8219
+ }), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
8220
+ var _dispatch = dispatch(external_this_wc_data_["OPTIONS_STORE_NAME"]),
8221
+ updateOptions = _dispatch.updateOptions;
8222
 
8223
+ var _dispatch2 = dispatch('core/notices'),
8224
+ createNotice = _dispatch2.createNotice;
 
 
 
 
 
 
 
 
 
 
8225
 
8226
+ return {
8227
+ updateOptions: updateOptions,
8228
+ createNotice: createNotice
8229
+ };
8230
+ }))(CustomerEffortScoreTracks));
8231
+ // EXTERNAL MODULE: ./client/customer-effort-score-tracks/data/constants.js
8232
+ var constants = __webpack_require__(74);
 
 
 
8233
 
8234
+ // EXTERNAL MODULE: external {"this":["wp","dataControls"]}
8235
+ var external_this_wp_dataControls_ = __webpack_require__(17);
 
 
 
 
 
 
8236
 
8237
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/action-types.js
8238
+ var TYPES = {
8239
+ SET_CES_SURVEY_QUEUE: 'SET_CES_SURVEY_QUEUE',
8240
+ ADD_CES_SURVEY: 'ADD_CES_SURVEY'
8241
+ };
8242
+ /* harmony default export */ var action_types = (TYPES);
8243
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/actions.js
8244
+ /**
8245
+ * External dependencies
8246
+ */
 
 
 
 
 
 
 
 
 
 
8247
 
8248
+ /**
8249
+ * Internal dependencies
8250
+ */
8251
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8252
 
8253
+ /**
8254
+ * Initialize the state
8255
+ *
8256
+ * @param {Object} queue initial queue
8257
+ */
8258
 
8259
+ function setCesSurveyQueue(queue) {
8260
+ return {
8261
+ type: action_types.SET_CES_SURVEY_QUEUE,
8262
+ queue: queue
8263
+ };
8264
+ }
8265
+ /**
8266
+ * Add a new CES track to the state.
8267
+ *
8268
+ * @param {string} action action name for the survey
8269
+ * @param {string} label label for the snackback
8270
+ * @param {string} pageNow value of window.pagenow
8271
+ * @param {string} adminPage value of window.adminpage
8272
+ * @param {string} onsubmit_label label for the snackback onsubmit
8273
+ */
8274
 
8275
+ function addCesSurvey(action, label) {
8276
+ var pageNow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : window.pagenow;
8277
+ var adminPage = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : window.adminpage;
8278
+ var onsubmit_label = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : undefined;
8279
  return {
8280
+ type: action_types.ADD_CES_SURVEY,
8281
+ action: action,
8282
+ label: label,
8283
+ pageNow: pageNow,
8284
+ adminPage: adminPage,
8285
+ onsubmit_label: onsubmit_label
8286
  };
8287
+ }
8288
+ /**
8289
+ * Add a new CES survey track for the pages in Analytics menu
8290
+ */
8291
 
8292
+ function addCesSurveyForAnalytics() {
8293
+ return addCesSurvey('analytics_filtered', Object(external_this_wp_i18n_["__"])('How easy was it to filter your store analytics?', 'woocommerce-admin'), 'woocommerce_page_wc-admin', 'woocommerce_page_wc-admin');
8294
+ }
8295
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js
8296
+ var regenerator = __webpack_require__(9);
8297
+ var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);
8298
 
8299
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/resolvers.js
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8300
 
 
8301
 
8302
+ var _marked = /*#__PURE__*/regenerator_default.a.mark(resolvers_getCesSurveyQueue);
 
 
 
 
 
 
 
8303
 
8304
+ /**
8305
+ * External dependencies
8306
+ */
8307
 
8308
+ /**
8309
+ * Internal dependencies
8310
+ */
8311
 
 
8312
 
 
 
 
 
8313
 
8314
+ function resolvers_getCesSurveyQueue() {
8315
+ var response;
8316
+ return regenerator_default.a.wrap(function getCesSurveyQueue$(_context) {
8317
+ while (1) {
8318
+ switch (_context.prev = _context.next) {
8319
+ case 0:
8320
+ _context.next = 2;
8321
+ return Object(external_this_wp_dataControls_["apiFetch"])({
8322
+ path: "".concat(constants["a" /* API_NAMESPACE */], "/options?options=").concat(constants["b" /* QUEUE_OPTION_NAME */])
8323
+ });
8324
+
8325
+ case 2:
8326
+ response = _context.sent;
8327
+
8328
+ if (!response) {
8329
+ _context.next = 8;
8330
+ break;
8331
+ }
8332
 
8333
+ _context.next = 6;
8334
+ return setCesSurveyQueue(response[constants["b" /* QUEUE_OPTION_NAME */]] || []);
 
8335
 
8336
+ case 6:
8337
+ _context.next = 9;
8338
+ break;
 
 
8339
 
8340
+ case 8:
8341
+ throw new Error();
8342
 
8343
+ case 9:
8344
+ case "end":
8345
+ return _context.stop();
8346
+ }
8347
+ }
8348
+ }, _marked);
8349
+ }
8350
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/selectors.js
8351
+ function selectors_getCesSurveyQueue(state) {
8352
+ return state.queue;
8353
+ }
8354
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/reducer.js
8355
 
 
 
8356
 
 
 
 
 
 
 
 
8357
 
8358
+ function reducer_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
8359
 
8360
+ function reducer_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { reducer_ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { reducer_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
 
 
 
8361
 
8362
+ /**
8363
+ * Internal dependencies
8364
+ */
8365
 
8366
+ var DEFAULT_STATE = {
8367
+ queue: []
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8368
  };
8369
 
8370
+ var reducer_reducer = function reducer() {
8371
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_STATE;
8372
+ var action = arguments.length > 1 ? arguments[1] : undefined;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8373
 
8374
+ switch (action.type) {
8375
+ case action_types.SET_CES_SURVEY_QUEUE:
8376
+ return reducer_objectSpread(reducer_objectSpread({}, state), {}, {
8377
+ queue: action.queue
8378
+ });
 
 
8379
 
8380
+ case action_types.ADD_CES_SURVEY:
8381
+ // Prevent duplicate
8382
+ var hasDuplicate = state.queue.filter(function (track) {
8383
+ return track.action === action.action;
8384
+ });
8385
 
8386
+ if (hasDuplicate.length) {
8387
+ return state;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8388
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8389
 
8390
+ var newTrack = {
8391
+ action: action.action,
8392
+ label: action.label,
8393
+ pagenow: action.pageNow,
8394
+ adminpage: action.adminPage,
8395
+ onSubmitLabel: action.onSubmitLabel
8396
+ };
8397
+ return reducer_objectSpread(reducer_objectSpread({}, state), {}, {
8398
+ queue: [].concat(toConsumableArray_default()(state.queue), [newTrack])
8399
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8400
 
8401
+ default:
8402
+ return state;
8403
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8404
  };
8405
 
8406
+ /* harmony default export */ var data_reducer = (reducer_reducer);
8407
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/index.js
8408
+ /**
8409
+ * External dependencies
8410
+ */
 
 
 
 
 
8411
 
 
 
 
 
8412
 
8413
+ /**
8414
+ * Internal dependencies
8415
+ */
 
 
 
 
 
8416
 
 
 
 
8417
 
 
 
 
8418
 
 
 
 
8419
 
 
 
 
 
 
8420
 
 
 
 
 
 
 
 
8421
 
8422
+ /* harmony default export */ var data = (Object(external_this_wp_data_["registerStore"])(constants["c" /* STORE_KEY */], {
8423
+ actions: actions_namespaceObject,
8424
+ selectors: selectors_namespaceObject,
8425
+ resolvers: resolvers_namespaceObject,
8426
+ controls: external_this_wp_dataControls_["controls"],
8427
+ reducer: data_reducer
8428
+ }));
8429
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/customer-effort-score-tracks-container.js
8430
 
 
 
 
8431
 
8432
+ /**
8433
+ * External dependencies
8434
+ */
 
8435
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8436
 
 
8437
 
 
8438
 
8439
+ /**
8440
+ * Internal dependencies
8441
+ */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8442
 
 
 
 
 
 
 
 
 
8443
 
 
 
 
 
 
 
 
 
8444
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8445
 
8446
+ /**
8447
+ * Maps the queue of CES tracks surveys to CustomerEffortScoreTracks
8448
+ * components. Note that generally there will only be a single survey per page
8449
+ * however this is designed to be flexible if multiple surveys per page are
8450
+ * added in the future.
8451
+ *
8452
+ * @param {Object} props Component props.
8453
+ * @param {Array} props.queue The queue of surveys.
8454
+ * @param {boolean} props.resolving Whether the queue is resolving.
8455
+ * @param {Function} props.clearQueue Sets up clearing of the queue on the next page load.
8456
+ */
 
 
8457
 
8458
+ function CustomerEffortScoreTracksContainer(_ref) {
8459
+ var queue = _ref.queue,
8460
+ resolving = _ref.resolving,
8461
+ clearQueue = _ref.clearQueue;
 
8462
 
8463
+ if (resolving) {
8464
+ return null;
8465
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8466
 
8467
+ var queueForPage = queue.filter(function (item) {
8468
+ return item.pagenow === window.pagenow && item.adminpage === window.adminpage;
8469
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8470
 
8471
+ if (queueForPage.length) {
8472
+ clearQueue();
8473
  }
8474
+
8475
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, queueForPage.map(function (item, index) {
8476
+ return Object(external_this_wp_element_["createElement"])(customer_effort_score_tracks, {
8477
+ key: index,
8478
+ action: item.action,
8479
+ label: item.label,
8480
+ onSubmitLabel: item.onsubmit_label,
8481
+ trackProps: item.props || {}
8482
+ });
8483
+ }));
8484
+ }
8485
+
8486
+ CustomerEffortScoreTracksContainer.propTypes = {
8487
+ /**
8488
+ * The queue of CES tracks surveys to display.
8489
+ */
8490
+ queue: prop_types_default.a.arrayOf(prop_types_default.a.object),
8491
+
8492
+ /**
8493
+ * If the queue option is being resolved.
8494
+ */
8495
+ resolving: prop_types_default.a.bool,
8496
+
8497
+ /**
8498
+ * Set up clearing the queue on the next page load.
8499
+ */
8500
+ clearQueue: prop_types_default.a.func
8501
  };
8502
+ /* harmony default export */ var customer_effort_score_tracks_container = (Object(external_this_wp_compose_["compose"])(Object(external_this_wp_data_["withSelect"])(function (select) {
8503
+ var _select = select(constants["c" /* STORE_KEY */]),
8504
+ getCesSurveyQueue = _select.getCesSurveyQueue,
8505
+ isResolving = _select.isResolving;
8506
 
8507
+ var queue = getCesSurveyQueue();
8508
+ var resolving = isResolving('getOption', [constants["b" /* QUEUE_OPTION_NAME */]]);
8509
+ return {
8510
+ queue: queue,
8511
+ resolving: resolving
8512
+ };
8513
+ }), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
8514
+ var _dispatch = dispatch(external_this_wc_data_["OPTIONS_STORE_NAME"]),
8515
+ updateOptions = _dispatch.updateOptions;
8516
+
8517
+ return {
8518
+ clearQueue: function clearQueue() {
8519
+ // This sets an option that should be used on the next page
8520
+ // load to clear the CES tracks queue for the current page (see
8521
+ // CustomerEffortScoreTracks.php) - clearing the queue
8522
+ // directly puts this into an infinite loop which is picked
8523
+ // up by React.
8524
+ updateOptions({
8525
+ woocommerce_clear_ces_tracks_queue_for_page: {
8526
+ pagenow: window.pagenow,
8527
+ adminpage: window.adminpage
8528
+ }
8529
+ });
8530
  }
 
 
 
 
 
 
 
 
8531
  };
8532
+ }))(CustomerEffortScoreTracksContainer));
8533
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/index.js
 
 
 
 
 
 
 
 
 
 
 
 
 
8534
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8535
 
 
 
 
 
 
 
 
 
 
 
 
 
8536
 
8537
+ /***/ }),
 
 
8538
 
8539
+ /***/ 289:
8540
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
8541
 
8542
+ "use strict";
 
 
8543
 
8544
+ // EXTERNAL MODULE: external {"this":["wp","element"]}
8545
+ var external_this_wp_element_ = __webpack_require__(0);
 
 
 
 
 
 
8546
 
8547
+ // EXTERNAL MODULE: external {"this":["wp","plugins"]}
8548
+ var external_this_wp_plugins_ = __webpack_require__(141);
 
 
8549
 
8550
+ // EXTERNAL MODULE: external {"this":["wc","navigation"]}
8551
+ var external_this_wc_navigation_ = __webpack_require__(20);
 
 
8552
 
8553
+ // EXTERNAL MODULE: external {"this":["wc","data"]}
8554
+ var external_this_wc_data_ = __webpack_require__(22);
 
 
 
8555
 
8556
+ // EXTERNAL MODULE: ./client/navigation/style.scss
8557
+ var style = __webpack_require__(311);
 
 
8558
 
8559
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
8560
+ var slicedToArray = __webpack_require__(21);
8561
+ var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
8562
 
8563
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
8564
+ var defineProperty = __webpack_require__(5);
8565
+ var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
 
8566
 
8567
+ // EXTERNAL MODULE: external {"this":["wp","i18n"]}
8568
+ var external_this_wp_i18n_ = __webpack_require__(2);
 
8569
 
8570
+ // EXTERNAL MODULE: external {"this":["wp","compose"]}
8571
+ var external_this_wp_compose_ = __webpack_require__(18);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8572
 
8573
+ // EXTERNAL MODULE: ./packages/experimental/build-module/index.js
8574
+ var build_module = __webpack_require__(31);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8575
 
8576
+ // EXTERNAL MODULE: external {"this":["wc","tracks"]}
8577
+ var external_this_wc_tracks_ = __webpack_require__(28);
8578
 
8579
+ // EXTERNAL MODULE: external {"this":["wp","data"]}
8580
+ var external_this_wp_data_ = __webpack_require__(15);
 
8581
 
8582
+ // EXTERNAL MODULE: ./client/navigation/utils.js
8583
+ var utils = __webpack_require__(105);
8584
 
8585
+ // EXTERNAL MODULE: external {"this":["wp","components"]}
8586
+ var external_this_wp_components_ = __webpack_require__(4);
 
 
 
 
 
 
8587
 
8588
+ // EXTERNAL MODULE: external {"this":["wp","htmlEntities"]}
8589
+ var external_this_wp_htmlEntities_ = __webpack_require__(40);
8590
 
8591
+ // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/icon/index.js
8592
+ var icon = __webpack_require__(306);
 
8593
 
8594
+ // EXTERNAL MODULE: ./node_modules/@wordpress/primitives/build-module/svg/index.js
8595
+ var svg = __webpack_require__(196);
8596
 
8597
+ // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/wordpress.js
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8598
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8599
 
8600
  /**
8601
+ * WordPress dependencies
8602
  */
 
 
 
 
 
8603
 
8604
+ var wordpress = Object(external_this_wp_element_["createElement"])(svg["b" /* SVG */], {
8605
+ xmlns: "http://www.w3.org/2000/svg",
8606
+ viewBox: "-2 -2 24 24"
8607
+ }, Object(external_this_wp_element_["createElement"])(svg["a" /* Path */], {
8608
+ d: "M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01C4.12 2.69 6.87 1.11 10 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z"
8609
+ }));
8610
+ /* harmony default export */ var library_wordpress = (wordpress);
8611
+ //# sourceMappingURL=wordpress.js.map
8612
+ // EXTERNAL MODULE: ./client/settings/index.js
8613
+ var settings = __webpack_require__(25);
8614
+
8615
+ // EXTERNAL MODULE: external "React"
8616
+ var external_React_ = __webpack_require__(10);
8617
+
8618
+ // EXTERNAL MODULE: ./node_modules/classnames/index.js
8619
+ var classnames = __webpack_require__(7);
8620
+ var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
8621
+
8622
+ // EXTERNAL MODULE: external "lodash"
8623
+ var external_lodash_ = __webpack_require__(3);
8624
+
8625
+ // EXTERNAL MODULE: ./client/hooks/useIsScrolled.js
8626
+ var useIsScrolled = __webpack_require__(140);
8627
+
8628
+ // CONCATENATED MODULE: ./client/navigation/components/header/index.js
8629
+
8630
 
8631
  /**
8632
+ * External dependencies
 
8633
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8634
 
 
 
8635
 
 
 
 
 
8636
 
 
 
 
 
 
 
 
 
 
 
8637
 
 
 
 
 
 
8638
 
 
 
8639
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8640
 
 
 
 
 
 
 
8641
 
 
 
 
 
 
8642
 
8643
+ /**
8644
+ * Internal dependencies
8645
+ */
 
 
 
 
 
 
 
8646
 
8647
 
 
 
 
8648
 
8649
+ var header_Header = function Header() {
8650
+ var siteTitle = Object(settings["g" /* getSetting */])('siteTitle', '');
8651
+ var siteUrl = Object(settings["g" /* getSetting */])('siteUrl', '');
8652
+ var isScrolled = Object(useIsScrolled["a" /* default */])();
8653
+ var navClasses = {
8654
+ folded: 'is-wc-nav-folded',
8655
+ expanded: 'is-wc-nav-expanded'
8656
+ };
8657
 
8658
+ var foldNav = function foldNav() {
8659
+ document.body.classList.add(navClasses.folded);
8660
+ document.body.classList.remove(navClasses.expanded);
8661
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8662
 
8663
+ var expandNav = function expandNav() {
8664
+ document.body.classList.remove(navClasses.folded);
8665
+ document.body.classList.add(navClasses.expanded);
8666
+ };
 
 
 
8667
 
8668
+ var toggleFolded = function toggleFolded() {
8669
+ if (document.body.classList.contains(navClasses.folded)) {
8670
+ expandNav();
8671
+ } else {
8672
+ foldNav();
 
 
 
8673
  }
8674
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
8675
 
8676
+ var foldOnMobile = function foldOnMobile() {
8677
+ var screenWidth = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.body.clientWidth;
 
8678
 
8679
+ if (screenWidth <= 960) {
8680
+ foldNav();
8681
+ } else {
8682
+ expandNav();
8683
+ }
8684
+ };
8685
 
8686
+ Object(external_React_["useEffect"])(function () {
8687
+ foldOnMobile();
8688
+ var foldEvents = [{
8689
+ eventName: 'orientationchange',
8690
+ handler: function handler(e) {
8691
+ return foldOnMobile(e.target.screen.availWidth);
 
 
 
 
 
 
 
8692
  }
8693
+ }, {
8694
+ eventName: 'resize',
8695
+ handler: Object(external_lodash_["debounce"])(function () {
8696
+ return foldOnMobile();
8697
+ }, 200)
8698
+ }];
8699
+
8700
+ for (var _i = 0, _foldEvents = foldEvents; _i < _foldEvents.length; _i++) {
8701
+ var _foldEvents$_i = _foldEvents[_i],
8702
+ eventName = _foldEvents$_i.eventName,
8703
+ handler = _foldEvents$_i.handler;
8704
+ window.addEventListener(eventName, handler, false);
8705
  }
8706
+ }, []);
8707
+ var buttonIcon = Object(external_this_wp_element_["createElement"])(icon["a" /* default */], {
8708
+ size: "36px",
8709
+ icon: library_wordpress
8710
+ });
8711
+
8712
+ var _useSelect = Object(external_this_wp_data_["useSelect"])(function (select) {
8713
+ var _select = select('core/data'),
8714
+ isResolving = _select.isResolving;
8715
+
8716
+ var _select2 = select('core'),
8717
+ getEntityRecord = _select2.getEntityRecord;
8718
+
8719
+ var siteData = getEntityRecord('root', '__unstableBase', undefined) || {};
8720
+ return {
8721
+ isRequestingSiteIcon: isResolving('core', 'getEntityRecord', ['root', '__unstableBase', undefined]),
8722
+ siteIconUrl: siteData.siteIconUrl
8723
+ };
8724
+ }),
8725
+ isRequestingSiteIcon = _useSelect.isRequestingSiteIcon,
8726
+ siteIconUrl = _useSelect.siteIconUrl;
8727
+
8728
+ if (siteIconUrl) {
8729
+ buttonIcon = Object(external_this_wp_element_["createElement"])("img", {
8730
+ alt: Object(external_this_wp_i18n_["__"])('Site Icon'),
8731
+ src: siteIconUrl
8732
+ });
8733
+ } else if (isRequestingSiteIcon) {
8734
+ buttonIcon = null;
8735
  }
 
8736
 
8737
+ var className = classnames_default()('woocommerce-navigation-header', {
8738
+ 'is-scrolled': isScrolled
8739
+ });
8740
+ return Object(external_this_wp_element_["createElement"])("div", {
8741
+ className: className
8742
+ }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
8743
+ onClick: function onClick() {
8744
+ return toggleFolded();
8745
+ },
8746
+ className: "woocommerce-navigation-header__site-icon"
8747
+ }, buttonIcon), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
8748
+ href: siteUrl,
8749
+ className: "woocommerce-navigation-header__site-title",
8750
+ as: "span"
8751
+ }, Object(external_this_wp_htmlEntities_["decodeEntities"])(siteTitle)));
8752
  };
8753
 
8754
+ /* harmony default export */ var header = (header_Header);
8755
+ // CONCATENATED MODULE: ./client/navigation/components/Item/index.js
 
8756
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8757
 
8758
+ /**
8759
+ * External dependencies
8760
+ */
 
 
 
 
 
 
 
 
 
 
 
 
8761
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8762
 
 
8763
 
8764
+
8765
+ var Item_Item = function Item(_ref) {
8766
+ var item = _ref.item;
8767
+ var slot = Object(external_this_wc_navigation_["useNavSlot"])('woocommerce_navigation_' + item.id);
8768
+ var hasFills = Boolean(slot.fills && slot.fills.length);
8769
+
8770
+ var trackClick = function trackClick(id) {
8771
+ Object(external_this_wc_tracks_["recordEvent"])('navigation_click', {
8772
+ menu_item: id
8773
+ });
8774
+ }; // Disable reason: The div wrapping the slot item is used for tracking purposes
8775
+ // and should not be a tabbable element.
8776
+
8777
+ /* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */
8778
+ // Only render a slot if a coresponding Fill exists and the item is not a category
8779
+
8780
+
8781
+ if (hasFills && !item.isCategory) {
8782
+ return Object(external_this_wp_element_["createElement"])(build_module["d" /* NavigationItem */], {
8783
+ key: item.id,
8784
+ item: item.id
8785
+ }, Object(external_this_wp_element_["createElement"])("div", {
8786
+ onClick: function onClick() {
8787
+ return trackClick(item.id);
8788
+ }
8789
+ }, Object(external_this_wp_element_["createElement"])(external_this_wc_navigation_["WooNavigationItem"].Slot, {
8790
+ name: item.id
8791
+ })));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8792
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8793
 
8794
+ return Object(external_this_wp_element_["createElement"])(build_module["d" /* NavigationItem */], {
8795
+ key: item.id,
8796
+ item: item.id,
8797
+ title: item.title,
8798
+ href: item.url,
8799
+ navigateToMenu: !item.url && item.id,
8800
+ onClick: function onClick() {
8801
+ return trackClick(item.id);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8802
  }
8803
  });
8804
+ /* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */
 
 
 
 
8805
  };
8806
 
8807
+ /* harmony default export */ var components_Item = (Item_Item);
8808
+ // CONCATENATED MODULE: ./client/navigation/components/container/index.js
8809
 
 
 
 
8810
 
 
 
8811
 
 
 
 
 
 
 
8812
 
8813
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
8814
 
8815
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
 
 
8816
 
8817
+ /**
8818
+ * External dependencies
8819
+ */
8820
 
 
 
 
 
8821
 
 
 
8822
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8823
 
8824
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8825
 
8826
 
8827
+ /**
8828
+ * Internal dependencies
8829
+ */
8830
 
 
 
 
 
 
8831
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8832
 
8833
+
8834
+
8835
+ var container_Container = function Container(_ref) {
8836
+ var menuItems = _ref.menuItems;
8837
+ Object(external_this_wp_element_["useEffect"])(function () {
8838
+ // Collapse the original WP Menu.
8839
+ var adminMenu = document.getElementById('adminmenumain');
8840
+ adminMenu.classList.add('folded');
8841
+ }, []);
8842
+ var _window$wcNavigation = window.wcNavigation,
8843
+ rootBackLabel = _window$wcNavigation.rootBackLabel,
8844
+ rootBackUrl = _window$wcNavigation.rootBackUrl;
8845
+ var parentCategory = {
8846
+ capability: 'manage_woocommerce',
8847
+ id: 'woocommerce',
8848
+ isCategory: true,
8849
+ menuId: 'primary',
8850
+ migrate: true,
8851
+ order: 10,
8852
+ parent: '',
8853
+ title: 'WooCommerce'
8854
+ };
8855
+ var categoriesMap = menuItems.reduce(function (acc, item) {
8856
+ if (item.isCategory) {
8857
+ return _objectSpread(_objectSpread({}, acc), {}, defineProperty_default()({}, item.id, item));
8858
  }
 
 
8859
 
8860
+ return acc;
8861
+ }, {
8862
+ woocommerce: parentCategory
8863
+ });
8864
+ var categories = Object.values(categoriesMap);
8865
+
8866
+ var _useState = Object(external_this_wp_element_["useState"])('woocommerce-home'),
8867
+ _useState2 = slicedToArray_default()(_useState, 2),
8868
+ activeItem = _useState2[0],
8869
+ setActiveItem = _useState2[1];
8870
+
8871
+ var _useState3 = Object(external_this_wp_element_["useState"])('woocommerce'),
8872
+ _useState4 = slicedToArray_default()(_useState3, 2),
8873
+ activeLevel = _useState4[0],
8874
+ setActiveLevel = _useState4[1];
8875
+
8876
+ Object(external_this_wp_element_["useEffect"])(function () {
8877
+ var initialMatchedItem = Object(utils["b" /* getMatchingItem */])(menuItems);
8878
+
8879
+ if (initialMatchedItem) {
8880
+ setActiveItem(initialMatchedItem);
8881
+ setActiveLevel(initialMatchedItem.parent);
8882
  }
 
 
 
 
8883
 
8884
+ var removeListener = Object(utils["a" /* addHistoryListener */])(function () {
8885
+ setTimeout(function () {
8886
+ var matchedItem = Object(utils["b" /* getMatchingItem */])(menuItems);
8887
+
8888
+ if (matchedItem) {
8889
+ setActiveItem(matchedItem);
8890
  }
8891
+ }, 0);
8892
+ });
8893
+ return removeListener;
8894
+ }, [menuItems]);
8895
+
8896
+ var getMenuItemsByCategory = function getMenuItemsByCategory(items) {
8897
+ return items.reduce(function (acc, item) {
8898
+ // Set up the category if it doesn't yet exist.
8899
+ if (!acc[item.parent]) {
8900
+ acc[item.parent] = {};
8901
+ } // Check if parent category is in the same menu.
8902
+
8903
+
8904
+ if (item.parent !== 'woocommerce' && categoriesMap[item.parent] && categoriesMap[item.parent].menuId !== item.menuId) {
8905
+ return acc;
8906
+ } // Create the menu object if it doesn't exist in this category.
8907
+
8908
+
8909
+ if (!acc[item.parent][item.menuId]) {
8910
+ acc[item.parent][item.menuId] = [];
8911
+ }
8912
+
8913
+ acc[item.parent][item.menuId].push(item);
8914
+ return acc;
8915
+ }, {});
8916
+ };
8917
+
8918
+ var categorizedItems = Object(external_this_wp_element_["useMemo"])(function () {
8919
+ return getMenuItemsByCategory(menuItems);
8920
+ }, [menuItems]);
8921
+ var navDomRef = Object(external_this_wp_element_["useRef"])(null);
8922
+
8923
+ var trackBackClick = function trackBackClick(id) {
8924
+ Object(external_this_wc_tracks_["recordEvent"])('navigation_back_click', {
8925
+ category: id
8926
+ });
8927
+ };
8928
+
8929
+ var isRootBackVisible = activeLevel === 'woocommerce' && rootBackUrl;
8930
+ return Object(external_this_wp_element_["createElement"])("div", {
8931
+ className: "woocommerce-navigation"
8932
+ }, Object(external_this_wp_element_["createElement"])(header, null), Object(external_this_wp_element_["createElement"])("div", {
8933
+ className: "woocommerce-navigation__wrapper",
8934
+ ref: navDomRef
8935
+ }, Object(external_this_wp_element_["createElement"])(build_module["a" /* Navigation */], {
8936
+ activeItem: activeItem ? activeItem.id : null,
8937
+ activeMenu: activeLevel,
8938
+ onActivateMenu: function onActivateMenu() {
8939
+ if (navDomRef && navDomRef.current) {
8940
+ navDomRef.current.scrollTop = 0;
8941
+ }
8942
+
8943
+ setActiveLevel.apply(void 0, arguments);
8944
  }
8945
+ }, isRootBackVisible && Object(external_this_wp_element_["createElement"])(build_module["b" /* NavigationBackButton */], {
8946
+ className: "woocommerce-navigation__back-to-dashboard",
8947
+ href: rootBackUrl,
8948
+ backButtonLabel: rootBackLabel,
8949
+ onClick: function onClick() {
8950
+ return trackBackClick('woocommerce');
8951
  }
8952
+ }), categories.map(function (category) {
8953
+ var _ref2 = categorizedItems[category.id] || {},
8954
+ primaryItems = _ref2.primary,
8955
+ secondaryItems = _ref2.secondary,
8956
+ pluginItems = _ref2.plugins;
8957
 
8958
+ return Object(external_this_wp_element_["createElement"])(build_module["e" /* NavigationMenu */], {
8959
+ key: category.id,
8960
+ title: category.title,
8961
+ menu: category.id,
8962
+ parentMenu: category.parent,
8963
+ backButtonLabel: category.backButtonLabel || null,
8964
+ onBackButtonClick: isRootBackVisible ? null : function () {
8965
+ return trackBackClick(category.id);
8966
+ }
8967
+ }, !!primaryItems && Object(external_this_wp_element_["createElement"])(build_module["c" /* NavigationGroup */], null, primaryItems.map(function (item) {
8968
+ return Object(external_this_wp_element_["createElement"])(components_Item, {
8969
+ key: item.id,
8970
+ item: item
8971
+ });
8972
+ })), !!pluginItems && Object(external_this_wp_element_["createElement"])(build_module["c" /* NavigationGroup */], {
8973
+ title: category.id === 'woocommerce' ? Object(external_this_wp_i18n_["__"])('Extensions', 'woocommerce-admin') : null
8974
+ }, pluginItems.map(function (item) {
8975
+ return Object(external_this_wp_element_["createElement"])(components_Item, {
8976
+ key: item.id,
8977
+ item: item
8978
+ });
8979
+ })), !!secondaryItems && Object(external_this_wp_element_["createElement"])(build_module["c" /* NavigationGroup */], {
8980
+ onBackButtonClick: function onBackButtonClick() {
8981
+ return trackBackClick(category.id);
8982
+ }
8983
+ }, secondaryItems.map(function (item) {
8984
+ return Object(external_this_wp_element_["createElement"])(components_Item, {
8985
+ key: item.id,
8986
+ item: item
8987
+ });
8988
+ })));
8989
+ }))));
8990
  };
 
 
 
 
 
 
8991
 
8992
+ /* harmony default export */ var container = (Object(external_this_wp_compose_["compose"])(Object(external_this_wp_data_["withSelect"])(function (select) {
8993
+ var _select = select(external_this_wc_data_["NAVIGATION_STORE_NAME"]),
8994
+ getActiveItem = _select.getActiveItem,
8995
+ getMenuItems = _select.getMenuItems;
8996
+
8997
+ return {
8998
+ activeItem: getActiveItem(),
8999
+ menuItems: getMenuItems()
9000
+ };
9001
+ }))(container_Container));
9002
+ // CONCATENATED MODULE: ./client/navigation/index.js
9003
+
9004
 
9005
+ /**
9006
+ * External dependencies
9007
+ */
 
 
 
 
 
 
9008
 
 
9009
 
 
 
 
9010
 
9011
+ /**
9012
+ * Internal dependencies
9013
+ */
9014
+
9015
+
9016
+
9017
+
9018
+ var navigation_Navigation = function Navigation() {
9019
+ return Object(external_this_wp_element_["createElement"])(external_this_wc_navigation_["NavSlotFillProvider"], null, Object(external_this_wp_element_["createElement"])(container, null), Object(external_this_wp_element_["createElement"])(external_this_wp_plugins_["PluginArea"], null));
9020
  };
 
9021
 
9022
+ var HydratedNavigation = Object(external_this_wc_data_["withNavigationHydration"])(window.wcNavigation)(navigation_Navigation);
9023
+ /* harmony default export */ var navigation = __webpack_exports__["a"] = (HydratedNavigation);
9024
 
9025
  /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
9026
 
9027
+ /***/ 29:
9028
+ /***/ (function(module, exports) {
 
 
 
 
9029
 
9030
+ (function() { module.exports = this["wc"]["date"]; }());
9031
 
9032
  /***/ }),
9033
+
9034
+ /***/ 298:
9035
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9036
 
9037
  "use strict";
9038
+ __webpack_require__.r(__webpack_exports__);
9039
+ /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
9040
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
9041
+ /* harmony import */ var _wordpress_notices__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(476);
9042
+ /* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(22);
9043
+ /* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__);
9044
+ /* harmony import */ var _stylesheets_index_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(300);
9045
+ /* harmony import */ var _stylesheets_index_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_stylesheets_index_scss__WEBPACK_IMPORTED_MODULE_3__);
9046
+ /* harmony import */ var _layout__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(143);
9047
+ /* harmony import */ var _customer_effort_score_tracks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(288);
9048
+ /* harmony import */ var _navigation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(289);
9049
 
9050
 
9051
+ /**
9052
+ * External dependencies
9053
+ */
9054
 
 
9055
 
 
 
 
 
 
 
9056
 
9057
+ /**
9058
+ * Internal dependencies
9059
+ */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9060
 
 
 
 
9061
 
 
 
 
9062
 
9063
+
9064
+ // Modify webpack pubilcPath at runtime based on location of WordPress Plugin.
9065
+ // eslint-disable-next-line no-undef,camelcase
9066
+
9067
+ __webpack_require__.p = global.wcAdminAssets.path;
9068
+ var appRoot = document.getElementById('root');
9069
+ var embeddedRoot = document.getElementById('woocommerce-embedded-root');
9070
+ var settingsGroup = 'wc_admin';
9071
+ var hydrateUser = window.wcSettings.currentUserData;
9072
+
9073
+ if (appRoot) {
9074
+ var HydratedPageLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__["withSettingsHydration"])(settingsGroup, window.wcSettings)(_layout__WEBPACK_IMPORTED_MODULE_4__[/* PageLayout */ "b"]);
9075
+ var hydrateSettings = window.wcSettings.preloadSettings && window.wcSettings.preloadSettings.general;
9076
+
9077
+ if (hydrateSettings) {
9078
+ HydratedPageLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__["withSettingsHydration"])('general', {
9079
+ general: window.wcSettings.preloadSettings.general
9080
+ })(HydratedPageLayout);
9081
  }
9082
+
9083
+ if (hydrateUser) {
9084
+ HydratedPageLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__["withCurrentUserHydration"])(hydrateUser)(HydratedPageLayout);
 
9085
  }
9086
 
9087
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(HydratedPageLayout, null), appRoot);
9088
+ } else if (embeddedRoot) {
9089
+ var HydratedEmbedLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__["withSettingsHydration"])(settingsGroup, window.wcSettings)(_layout__WEBPACK_IMPORTED_MODULE_4__[/* EmbedLayout */ "a"]);
 
 
 
 
 
 
 
 
9090
 
9091
+ if (hydrateUser) {
9092
+ HydratedEmbedLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__["withCurrentUserHydration"])(hydrateUser)(HydratedEmbedLayout);
9093
+ } // Render the header.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9094
 
 
 
9095
 
9096
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(HydratedEmbedLayout, null), embeddedRoot);
9097
+ embeddedRoot.classList.remove('is-embed-loading'); // Render notices just above the WP content div.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9098
 
9099
+ var wpBody = document.getElementById('wpbody-content');
9100
+ var wrap = wpBody.querySelector('.wrap.woocommerce') || wpBody.querySelector('[class="wrap"]');
9101
+ var noticeContainer = document.createElement('div');
9102
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
9103
+ className: "woocommerce-layout"
9104
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_layout__WEBPACK_IMPORTED_MODULE_4__[/* PrimaryLayout */ "c"], null)), wpBody.insertBefore(noticeContainer, wrap));
9105
  }
9106
 
9107
+ var navigationRoot = document.getElementById('woocommerce-embedded-navigation');
 
 
 
 
 
 
9108
 
9109
+ if (navigationRoot) {
9110
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_navigation__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"], null), navigationRoot);
9111
+ } // Render the CustomerEffortScoreTracksContainer only if
9112
+ // the feature flag is enabled.
 
 
 
 
 
 
 
 
 
9113
 
9114
+
9115
+ if (window.wcAdminFeatures && window.wcAdminFeatures['customer-effort-score-tracks'] === true) {
9116
+ // Set up customer effort score survey.
9117
+ (function () {
9118
+ var root = appRoot || embeddedRoot;
9119
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_customer_effort_score_tracks__WEBPACK_IMPORTED_MODULE_5__[/* CustomerEffortScoreTracksContainer */ "a"], null), root.insertBefore(document.createElement('div'), null));
9120
+ })();
9121
  }
9122
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(83)))
9123
 
9124
+ /***/ }),
 
 
 
 
 
 
9125
 
9126
+ /***/ 3:
9127
+ /***/ (function(module, exports) {
9128
 
9129
+ (function() { module.exports = this["lodash"]; }());
 
 
9130
 
9131
+ /***/ }),
9132
+
9133
+ /***/ 30:
9134
+ /***/ (function(module, exports) {
9135
+
9136
+ function _typeof(obj) {
9137
+ "@babel/helpers - typeof";
9138
+
9139
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
9140
+ module.exports = _typeof = function _typeof(obj) {
9141
+ return typeof obj;
9142
+ };
9143
+ } else {
9144
+ module.exports = _typeof = function _typeof(obj) {
9145
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
9146
+ };
9147
+ }
9148
+
9149
+ return _typeof(obj);
9150
+ }
9151
 
9152
+ module.exports = _typeof;
9153
 
9154
+ /***/ }),
9155
 
9156
+ /***/ 300:
9157
+ /***/ (function(module, exports, __webpack_require__) {
 
9158
 
9159
+ // extracted by mini-css-extract-plugin
 
 
 
9160
 
9161
+ /***/ }),
 
 
 
 
9162
 
9163
+ /***/ 301:
9164
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
9165
 
9166
+ // extracted by mini-css-extract-plugin
 
9167
 
9168
+ /***/ }),
 
 
9169
 
9170
+ /***/ 302:
9171
+ /***/ (function(module, exports, __webpack_require__) {
9172
 
9173
+ // extracted by mini-css-extract-plugin
 
 
 
 
9174
 
9175
+ /***/ }),
 
 
 
 
9176
 
9177
+ /***/ 303:
9178
+ /***/ (function(module, exports, __webpack_require__) {
9179
 
9180
+ "use strict";
 
 
 
 
 
9181
 
 
 
9182
 
9183
+ /**
9184
+ * Copyright 2015, Yahoo! Inc.
9185
+ * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
9186
+ */
9187
+ var REACT_STATICS = {
9188
+ childContextTypes: true,
9189
+ contextTypes: true,
9190
+ defaultProps: true,
9191
+ displayName: true,
9192
+ getDefaultProps: true,
9193
+ getDerivedStateFromProps: true,
9194
+ mixins: true,
9195
+ propTypes: true,
9196
+ type: true
9197
+ };
9198
 
9199
+ var KNOWN_STATICS = {
9200
+ name: true,
9201
+ length: true,
9202
+ prototype: true,
9203
+ caller: true,
9204
+ callee: true,
9205
+ arguments: true,
9206
+ arity: true
9207
+ };
9208
 
9209
+ var defineProperty = Object.defineProperty;
9210
+ var getOwnPropertyNames = Object.getOwnPropertyNames;
9211
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
9212
+ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
9213
+ var getPrototypeOf = Object.getPrototypeOf;
9214
+ var objectPrototype = getPrototypeOf && getPrototypeOf(Object);
9215
 
9216
+ function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
9217
+ if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components
 
 
 
9218
 
9219
+ if (objectPrototype) {
9220
+ var inheritedComponent = getPrototypeOf(sourceComponent);
9221
+ if (inheritedComponent && inheritedComponent !== objectPrototype) {
9222
+ hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
9223
+ }
9224
+ }
9225
 
9226
+ var keys = getOwnPropertyNames(sourceComponent);
9227
 
9228
+ if (getOwnPropertySymbols) {
9229
+ keys = keys.concat(getOwnPropertySymbols(sourceComponent));
9230
+ }
 
9231
 
9232
+ for (var i = 0; i < keys.length; ++i) {
9233
+ var key = keys[i];
9234
+ if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {
9235
+ var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
9236
+ try { // Avoid failures from read-only properties
9237
+ defineProperty(targetComponent, key, descriptor);
9238
+ } catch (e) {}
9239
+ }
9240
+ }
9241
 
9242
+ return targetComponent;
 
 
 
9243
  }
9244
 
9245
+ return targetComponent;
9246
+ }
 
 
 
 
9247
 
9248
+ module.exports = hoistNonReactStatics;
 
9249
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9250
 
9251
+ /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9252
 
9253
+ /***/ 304:
9254
+ /***/ (function(module, exports, __webpack_require__) {
 
9255
 
9256
+ // extracted by mini-css-extract-plugin
 
 
 
9257
 
9258
+ /***/ }),
 
9259
 
9260
+ /***/ 305:
9261
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
9262
 
9263
+ // extracted by mini-css-extract-plugin
9264
 
9265
+ /***/ }),
 
9266
 
9267
+ /***/ 306:
9268
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
9269
 
9270
+ "use strict";
9271
+ /* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36);
9272
+ /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55);
9273
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
9274
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
9275
 
 
 
 
 
 
 
 
 
9276
 
 
 
9277
 
9278
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
 
 
9279
 
9280
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
 
 
 
 
 
9281
 
9282
+ /**
9283
+ * WordPress dependencies
9284
+ */
9285
+ // Disable reason: JSDoc linter doesn't seem to parse the union (`&`) correctly.
 
 
 
 
 
 
 
 
 
9286
 
9287
+ /* eslint-disable jsdoc/valid-types */
 
 
 
 
9288
 
9289
+ /** @typedef {{icon: JSX.Element, size?: number} & import('react').ComponentPropsWithoutRef<'SVG'>} IconProps */
9290
 
9291
+ /* eslint-enable jsdoc/valid-types */
 
 
 
 
 
 
 
 
9292
 
9293
+ /**
9294
+ * Return an SVG icon.
9295
+ *
9296
+ * @param {IconProps} props icon is the SVG component to render
9297
+ * size is a number specifiying the icon size in pixels
9298
+ * Other props will be passed to wrapped SVG component
9299
+ *
9300
+ * @return {JSX.Element} Icon component
9301
+ */
9302
 
9303
+ function Icon(_ref) {
9304
+ var icon = _ref.icon,
9305
+ _ref$size = _ref.size,
9306
+ size = _ref$size === void 0 ? 24 : _ref$size,
9307
+ props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(_ref, ["icon", "size"]);
9308
 
9309
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["cloneElement"])(icon, _objectSpread({
9310
+ width: size,
9311
+ height: size
9312
+ }, props));
9313
+ }
9314
 
9315
+ /* harmony default export */ __webpack_exports__["a"] = (Icon);
9316
+ //# sourceMappingURL=index.js.map
 
 
 
 
 
 
9317
 
9318
+ /***/ }),
 
9319
 
9320
+ /***/ 307:
9321
+ /***/ (function(module, exports, __webpack_require__) {
 
 
9322
 
9323
+ // extracted by mini-css-extract-plugin
 
9324
 
9325
+ /***/ }),
 
 
 
 
 
 
9326
 
9327
+ /***/ 308:
9328
+ /***/ (function(module, exports) {
 
 
 
9329
 
9330
+ function _inheritsLoose(subClass, superClass) {
9331
+ subClass.prototype = Object.create(superClass.prototype);
9332
+ subClass.prototype.constructor = subClass;
9333
+ subClass.__proto__ = superClass;
9334
+ }
9335
 
9336
+ module.exports = _inheritsLoose;
 
 
 
 
9337
 
9338
+ /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
9339
 
9340
+ /***/ 309:
9341
+ /***/ (function(module, exports, __webpack_require__) {
9342
 
9343
+ // extracted by mini-css-extract-plugin
9344
 
9345
+ /***/ }),
 
 
 
 
 
 
9346
 
9347
+ /***/ 31:
9348
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
9349
 
9350
+ "use strict";
9351
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Navigation; });
9352
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return NavigationBackButton; });
9353
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return NavigationGroup; });
9354
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return NavigationMenu; });
9355
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return NavigationItem; });
9356
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return Text; });
9357
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return useSlot; });
9358
+ /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
9359
+ /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__);
9360
+ /**
9361
+ * External dependencies
9362
+ */
9363
 
9364
+ /**
9365
+ * Prioritize exports of non-experimental components over experimental.
9366
+ */
9367
 
9368
+ var Navigation = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["Navigation"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalNavigation"];
9369
+ var NavigationBackButton = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["NavigationBackButton"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalNavigationBackButton"];
9370
+ var NavigationGroup = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["NavigationGroup"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalNavigationGroup"];
9371
+ var NavigationMenu = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["NavigationMenu"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalNavigationMenu"];
9372
+ var NavigationItem = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["NavigationItem"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalNavigationItem"];
9373
+ var Text = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["Text"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalText"];
9374
+ var useSlot = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["useSlot"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalUseSlot"];
9375
 
9376
+ /***/ }),
 
 
 
 
9377
 
9378
+ /***/ 310:
9379
+ /***/ (function(module, exports) {
 
9380
 
9381
+ module.exports = Array.isArray || function (arr) {
9382
+ return Object.prototype.toString.call(arr) == '[object Array]';
9383
+ };
9384
 
 
 
9385
 
9386
+ /***/ }),
9387
 
9388
+ /***/ 311:
9389
+ /***/ (function(module, exports, __webpack_require__) {
9390
 
9391
+ // extracted by mini-css-extract-plugin
9392
+
9393
+ /***/ }),
9394
+
9395
+ /***/ 32:
9396
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
9397
+
9398
+ "use strict";
9399
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _extends; });
9400
+ function _extends() {
9401
+ _extends = Object.assign || function (target) {
9402
+ for (var i = 1; i < arguments.length; i++) {
9403
+ var source = arguments[i];
9404
+
9405
+ for (var key in source) {
9406
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
9407
+ target[key] = source[key];
9408
+ }
9409
+ }
9410
  }
 
9411
 
9412
+ return target;
9413
+ };
9414
 
9415
+ return _extends.apply(this, arguments);
9416
+ }
 
 
 
9417
 
9418
+ /***/ }),
 
9419
 
9420
+ /***/ 34:
9421
+ /***/ (function(module, exports, __webpack_require__) {
9422
 
9423
+ var objectWithoutPropertiesLoose = __webpack_require__(94);
 
 
 
 
9424
 
9425
+ function _objectWithoutProperties(source, excluded) {
9426
+ if (source == null) return {};
9427
+ var target = objectWithoutPropertiesLoose(source, excluded);
9428
+ var key, i;
9429
 
9430
+ if (Object.getOwnPropertySymbols) {
9431
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
 
 
9432
 
9433
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
9434
+ key = sourceSymbolKeys[i];
9435
+ if (excluded.indexOf(key) >= 0) continue;
9436
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
9437
+ target[key] = source[key];
9438
+ }
9439
  }
9440
 
9441
+ return target;
9442
+ }
 
9443
 
9444
+ module.exports = _objectWithoutProperties;
 
 
 
 
9445
 
9446
+ /***/ }),
9447
+
9448
+ /***/ 36:
9449
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
9450
+
9451
+ "use strict";
9452
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _defineProperty; });
9453
+ function _defineProperty(obj, key, value) {
9454
+ if (key in obj) {
9455
+ Object.defineProperty(obj, key, {
9456
+ value: value,
9457
+ enumerable: true,
9458
+ configurable: true,
9459
+ writable: true
9460
+ });
9461
+ } else {
9462
+ obj[key] = value;
9463
+ }
9464
 
9465
+ return obj;
 
 
 
9466
  }
9467
 
9468
+ /***/ }),
 
9469
 
9470
+ /***/ 37:
9471
+ /***/ (function(module, exports) {
 
9472
 
9473
+ function _arrayLikeToArray(arr, len) {
9474
+ if (len == null || len > arr.length) len = arr.length;
 
9475
 
9476
+ for (var i = 0, arr2 = new Array(len); i < len; i++) {
9477
+ arr2[i] = arr[i];
9478
+ }
9479
 
9480
+ return arr2;
9481
+ }
9482
 
9483
+ module.exports = _arrayLikeToArray;
9484
 
9485
+ /***/ }),
 
 
9486
 
9487
+ /***/ 38:
9488
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
9489
 
9490
+ "use strict";
9491
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _inheritsLoose; });
9492
+ function _inheritsLoose(subClass, superClass) {
9493
+ subClass.prototype = Object.create(superClass.prototype);
9494
+ subClass.prototype.constructor = subClass;
9495
+ subClass.__proto__ = superClass;
9496
  }
9497
 
9498
+ /***/ }),
 
 
 
 
 
 
9499
 
9500
+ /***/ 39:
9501
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
9502
 
9503
+ var arrayLikeToArray = __webpack_require__(37);
9504
 
9505
+ function _unsupportedIterableToArray(o, minLen) {
9506
+ if (!o) return;
9507
+ if (typeof o === "string") return arrayLikeToArray(o, minLen);
9508
+ var n = Object.prototype.toString.call(o).slice(8, -1);
9509
+ if (n === "Object" && o.constructor) n = o.constructor.name;
9510
+ if (n === "Map" || n === "Set") return Array.from(o);
9511
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
9512
+ }
9513
 
9514
+ module.exports = _unsupportedIterableToArray;
 
 
9515
 
9516
+ /***/ }),
 
 
9517
 
9518
+ /***/ 4:
9519
+ /***/ (function(module, exports) {
9520
 
9521
+ (function() { module.exports = this["wp"]["components"]; }());
 
 
9522
 
9523
+ /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9524
 
9525
+ /***/ 40:
9526
+ /***/ (function(module, exports) {
 
9527
 
9528
+ (function() { module.exports = this["wp"]["htmlEntities"]; }());
 
 
 
9529
 
9530
+ /***/ }),
 
 
 
 
 
 
 
9531
 
9532
+ /***/ 41:
9533
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
9534
 
9535
+ "use strict";
9536
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutPropertiesLoose; });
9537
+ function _objectWithoutPropertiesLoose(source, excluded) {
9538
+ if (source == null) return {};
9539
+ var target = {};
9540
+ var sourceKeys = Object.keys(source);
9541
+ var key, i;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9542
 
9543
+ for (i = 0; i < sourceKeys.length; i++) {
9544
+ key = sourceKeys[i];
9545
+ if (excluded.indexOf(key) >= 0) continue;
9546
+ target[key] = source[key];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9547
  }
9548
+
9549
+ return target;
9550
  }
9551
 
9552
+ /***/ }),
 
 
 
9553
 
9554
+ /***/ 42:
9555
+ /***/ (function(module, exports) {
9556
 
9557
+ (function() { module.exports = this["wp"]["hooks"]; }());
 
 
 
 
 
 
 
 
9558
 
9559
+ /***/ }),
 
 
 
9560
 
9561
+ /***/ 43:
9562
+ /***/ (function(module, exports) {
 
9563
 
9564
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
9565
+ try {
9566
+ var info = gen[key](arg);
9567
+ var value = info.value;
9568
+ } catch (error) {
9569
+ reject(error);
9570
+ return;
9571
  }
9572
 
9573
+ if (info.done) {
9574
+ resolve(value);
9575
+ } else {
9576
+ Promise.resolve(value).then(_next, _throw);
9577
+ }
9578
+ }
9579
 
9580
+ function _asyncToGenerator(fn) {
9581
+ return function () {
9582
+ var self = this,
9583
+ args = arguments;
9584
+ return new Promise(function (resolve, reject) {
9585
+ var gen = fn.apply(self, args);
9586
+
9587
+ function _next(value) {
9588
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
9589
+ }
9590
+
9591
+ function _throw(err) {
9592
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
9593
+ }
9594
 
9595
+ _next(undefined);
 
9596
  });
9597
  };
9598
+ }
9599
 
9600
+ module.exports = _asyncToGenerator;
 
 
9601
 
9602
+ /***/ }),
 
 
9603
 
9604
+ /***/ 47:
9605
+ /***/ (function(module, exports) {
 
9606
 
9607
+ (function() { module.exports = this["wc"]["components"]; }());
 
9608
 
9609
+ /***/ }),
 
 
 
9610
 
9611
+ /***/ 476:
9612
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
9613
 
9614
+ "use strict";
 
 
 
 
 
9615
 
9616
+ // NAMESPACE OBJECT: ./node_modules/@wordpress/notices/build-module/store/actions.js
9617
+ var actions_namespaceObject = {};
9618
+ __webpack_require__.r(actions_namespaceObject);
9619
+ __webpack_require__.d(actions_namespaceObject, "createNotice", function() { return createNotice; });
9620
+ __webpack_require__.d(actions_namespaceObject, "createSuccessNotice", function() { return createSuccessNotice; });
9621
+ __webpack_require__.d(actions_namespaceObject, "createInfoNotice", function() { return createInfoNotice; });
9622
+ __webpack_require__.d(actions_namespaceObject, "createErrorNotice", function() { return createErrorNotice; });
9623
+ __webpack_require__.d(actions_namespaceObject, "createWarningNotice", function() { return createWarningNotice; });
9624
+ __webpack_require__.d(actions_namespaceObject, "removeNotice", function() { return removeNotice; });
9625
+
9626
+ // NAMESPACE OBJECT: ./node_modules/@wordpress/notices/build-module/store/selectors.js
9627
+ var selectors_namespaceObject = {};
9628
+ __webpack_require__.r(selectors_namespaceObject);
9629
+ __webpack_require__.d(selectors_namespaceObject, "getNotices", function() { return getNotices; });
9630
 
9631
+ // EXTERNAL MODULE: external {"this":["wp","data"]}
9632
+ var external_this_wp_data_ = __webpack_require__(15);
9633
 
9634
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 3 modules
9635
+ var toConsumableArray = __webpack_require__(81);
 
9636
 
9637
+ // EXTERNAL MODULE: external "lodash"
9638
+ var external_lodash_ = __webpack_require__(3);
 
 
 
 
 
 
 
 
 
 
9639
 
9640
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
9641
+ var defineProperty = __webpack_require__(36);
 
 
 
9642
 
9643
+ // CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/utils/on-sub-key.js
 
 
9644
 
 
 
9645
 
9646
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
9647
 
9648
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
 
 
 
 
9649
 
9650
+ /**
9651
+ * Higher-order reducer creator which creates a combined reducer object, keyed
9652
+ * by a property on the action object.
9653
+ *
9654
+ * @param {string} actionProperty Action property by which to key object.
9655
+ *
9656
+ * @return {Function} Higher-order reducer.
9657
+ */
9658
+ var on_sub_key_onSubKey = function onSubKey(actionProperty) {
9659
+ return function (reducer) {
9660
+ return function () {
9661
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
9662
+ var action = arguments.length > 1 ? arguments[1] : undefined;
9663
+ // Retrieve subkey from action. Do not track if undefined; useful for cases
9664
+ // where reducer is scoped by action shape.
9665
+ var key = action[actionProperty];
9666
 
9667
+ if (key === undefined) {
9668
+ return state;
9669
+ } // Avoid updating state if unchanged. Note that this also accounts for a
9670
+ // reducer which returns undefined on a key which is not yet tracked.
9671
 
 
 
 
 
 
9672
 
9673
+ var nextKeyState = reducer(state[key], action);
9674
 
9675
+ if (nextKeyState === state[key]) {
9676
+ return state;
9677
+ }
9678
 
9679
+ return _objectSpread({}, state, Object(defineProperty["a" /* default */])({}, key, nextKeyState));
9680
+ };
9681
+ };
9682
+ };
9683
+ /* harmony default export */ var on_sub_key = (on_sub_key_onSubKey);
9684
+ //# sourceMappingURL=on-sub-key.js.map
9685
+ // CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/reducer.js
9686
 
 
 
 
 
 
9687
 
9688
+ /**
9689
+ * External dependencies
9690
+ */
 
 
 
 
 
 
 
 
9691
 
9692
+ /**
9693
+ * Internal dependencies
9694
+ */
9695
 
 
 
 
 
 
9696
 
9697
+ /**
9698
+ * Reducer returning the next notices state. The notices state is an object
9699
+ * where each key is a context, its value an array of notice objects.
9700
+ *
9701
+ * @param {Object} state Current state.
9702
+ * @param {Object} action Dispatched action.
9703
+ *
9704
+ * @return {Object} Updated state.
9705
+ */
9706
+
9707
+ var notices = on_sub_key('context')(function () {
9708
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
9709
+ var action = arguments.length > 1 ? arguments[1] : undefined;
9710
+
9711
+ switch (action.type) {
9712
+ case 'CREATE_NOTICE':
9713
+ // Avoid duplicates on ID.
9714
+ return [].concat(Object(toConsumableArray["a" /* default */])(Object(external_lodash_["reject"])(state, {
9715
+ id: action.notice.id
9716
+ })), [action.notice]);
9717
+
9718
+ case 'REMOVE_NOTICE':
9719
+ return Object(external_lodash_["reject"])(state, {
9720
+ id: action.id
9721
  });
9722
+ }
 
9723
 
9724
+ return state;
9725
+ });
9726
+ /* harmony default export */ var store_reducer = (notices);
9727
+ //# sourceMappingURL=reducer.js.map
9728
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js
9729
+ var regenerator = __webpack_require__(9);
9730
+ var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);
9731
 
9732
+ // CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/constants.js
9733
+ /**
9734
+ * Default context to use for notice grouping when not otherwise specified. Its
9735
+ * specific value doesn't hold much meaning, but it must be reasonably unique
9736
+ * and, more importantly, referenced consistently in the store implementation.
9737
+ *
9738
+ * @type {string}
9739
+ */
9740
+ var DEFAULT_CONTEXT = 'global';
9741
+ /**
9742
+ * Default notice status.
9743
+ *
9744
+ * @type {string}
9745
+ */
9746
 
9747
+ var DEFAULT_STATUS = 'info';
9748
+ //# sourceMappingURL=constants.js.map
9749
+ // CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/actions.js
 
 
 
9750
 
 
 
9751
 
9752
+ var _marked =
9753
+ /*#__PURE__*/
9754
+ regenerator_default.a.mark(createNotice);
9755
 
9756
+ /**
9757
+ * External dependencies
9758
+ */
 
 
 
 
 
 
 
 
9759
 
9760
+ /**
9761
+ * Internal dependencies
9762
+ */
9763
 
 
 
 
9764
 
9765
+ /**
9766
+ * @typedef {Object} WPNoticeAction Object describing a user action option associated with a notice.
9767
+ *
9768
+ * @property {string} label Message to use as action label.
9769
+ * @property {?string} url Optional URL of resource if action incurs
9770
+ * browser navigation.
9771
+ * @property {?Function} onClick Optional function to invoke when action is
9772
+ * triggered by user.
9773
+ *
9774
+ */
9775
 
9776
+ /**
9777
+ * Yields action objects used in signalling that a notice is to be created.
9778
+ *
9779
+ * @param {string} [status='info'] Notice status.
9780
+ * @param {string} content Notice message.
9781
+ * @param {Object} [options] Notice options.
9782
+ * @param {string} [options.context='global'] Context under which to
9783
+ * group notice.
9784
+ * @param {string} [options.id] Identifier for notice.
9785
+ * Automatically assigned
9786
+ * if not specified.
9787
+ * @param {boolean} [options.isDismissible=true] Whether the notice can
9788
+ * be dismissed by user.
9789
+ * @param {string} [options.type='default'] Type of notice, one of
9790
+ * `default`, or `snackbar`.
9791
+ * @param {boolean} [options.speak=true] Whether the notice
9792
+ * content should be
9793
+ * announced to screen
9794
+ * readers.
9795
+ * @param {Array<WPNoticeAction>} [options.actions] User actions to be
9796
+ * presented with notice.
9797
+ */
9798
+
9799
+ function createNotice() {
9800
+ var status,
9801
+ content,
9802
+ options,
9803
+ _options$speak,
9804
+ speak,
9805
+ _options$isDismissibl,
9806
+ isDismissible,
9807
+ _options$context,
9808
+ context,
9809
+ _options$id,
9810
+ id,
9811
+ _options$actions,
9812
+ actions,
9813
+ _options$type,
9814
+ type,
9815
+ __unstableHTML,
9816
+ _args = arguments;
9817
+
9818
+ return regenerator_default.a.wrap(function createNotice$(_context) {
9819
+ while (1) {
9820
+ switch (_context.prev = _context.next) {
9821
+ case 0:
9822
+ status = _args.length > 0 && _args[0] !== undefined ? _args[0] : DEFAULT_STATUS;
9823
+ content = _args.length > 1 ? _args[1] : undefined;
9824
+ options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
9825
+ _options$speak = options.speak, speak = _options$speak === void 0 ? true : _options$speak, _options$isDismissibl = options.isDismissible, isDismissible = _options$isDismissibl === void 0 ? true : _options$isDismissibl, _options$context = options.context, context = _options$context === void 0 ? DEFAULT_CONTEXT : _options$context, _options$id = options.id, id = _options$id === void 0 ? Object(external_lodash_["uniqueId"])(context) : _options$id, _options$actions = options.actions, actions = _options$actions === void 0 ? [] : _options$actions, _options$type = options.type, type = _options$type === void 0 ? 'default' : _options$type, __unstableHTML = options.__unstableHTML; // The supported value shape of content is currently limited to plain text
9826
+ // strings. To avoid setting expectation that e.g. a WPElement could be
9827
+ // supported, cast to a string.
9828
 
9829
+ content = String(content);
 
9830
 
9831
+ if (!speak) {
9832
+ _context.next = 8;
9833
+ break;
9834
+ }
9835
 
9836
+ _context.next = 8;
9837
+ return {
9838
+ type: 'SPEAK',
9839
+ message: content,
9840
+ ariaLive: type === 'snackbar' ? 'polite' : 'assertive'
9841
+ };
9842
 
9843
+ case 8:
9844
+ _context.next = 10;
9845
+ return {
9846
+ type: 'CREATE_NOTICE',
9847
+ context: context,
9848
+ notice: {
9849
+ id: id,
9850
+ status: status,
9851
+ content: content,
9852
+ __unstableHTML: __unstableHTML,
9853
+ isDismissible: isDismissible,
9854
+ actions: actions,
9855
+ type: type
9856
  }
9857
+ };
9858
+
9859
+ case 10:
9860
+ case "end":
9861
+ return _context.stop();
9862
+ }
9863
+ }
9864
+ }, _marked);
9865
+ }
9866
+ /**
9867
+ * Returns an action object used in signalling that a success notice is to be
9868
+ * created. Refer to `createNotice` for options documentation.
9869
+ *
9870
+ * @see createNotice
9871
+ *
9872
+ * @param {string} content Notice message.
9873
+ * @param {Object} [options] Optional notice options.
9874
+ *
9875
+ * @return {Object} Action object.
9876
+ */
9877
+
9878
+ function createSuccessNotice(content, options) {
9879
+ return createNotice('success', content, options);
9880
+ }
9881
+ /**
9882
+ * Returns an action object used in signalling that an info notice is to be
9883
+ * created. Refer to `createNotice` for options documentation.
9884
+ *
9885
+ * @see createNotice
9886
+ *
9887
+ * @param {string} content Notice message.
9888
+ * @param {Object} [options] Optional notice options.
9889
+ *
9890
+ * @return {Object} Action object.
9891
+ */
9892
+
9893
+ function createInfoNotice(content, options) {
9894
+ return createNotice('info', content, options);
9895
+ }
9896
+ /**
9897
+ * Returns an action object used in signalling that an error notice is to be
9898
+ * created. Refer to `createNotice` for options documentation.
9899
+ *
9900
+ * @see createNotice
9901
+ *
9902
+ * @param {string} content Notice message.
9903
+ * @param {Object} [options] Optional notice options.
9904
+ *
9905
+ * @return {Object} Action object.
9906
+ */
9907
 
9908
+ function createErrorNotice(content, options) {
9909
+ return createNotice('error', content, options);
9910
+ }
9911
+ /**
9912
+ * Returns an action object used in signalling that a warning notice is to be
9913
+ * created. Refer to `createNotice` for options documentation.
9914
+ *
9915
+ * @see createNotice
9916
+ *
9917
+ * @param {string} content Notice message.
9918
+ * @param {Object} [options] Optional notice options.
9919
+ *
9920
+ * @return {Object} Action object.
9921
+ */
9922
 
9923
+ function createWarningNotice(content, options) {
9924
+ return createNotice('warning', content, options);
9925
+ }
9926
+ /**
9927
+ * Returns an action object used in signalling that a notice is to be removed.
9928
+ *
9929
+ * @param {string} id Notice unique identifier.
9930
+ * @param {string} [context='global'] Optional context (grouping) in which the notice is
9931
+ * intended to appear. Defaults to default context.
9932
+ *
9933
+ * @return {Object} Action object.
9934
+ */
9935
+
9936
+ function removeNotice(id) {
9937
+ var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_CONTEXT;
9938
+ return {
9939
+ type: 'REMOVE_NOTICE',
9940
+ id: id,
9941
+ context: context
9942
  };
9943
+ }
9944
+ //# sourceMappingURL=actions.js.map
9945
+ // CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/selectors.js
9946
+ /**
9947
+ * Internal dependencies
9948
+ */
9949
 
9950
+ /** @typedef {import('./actions').WPNoticeAction} WPNoticeAction */
 
 
 
 
 
 
 
 
9951
 
9952
+ /**
9953
+ * The default empty set of notices to return when there are no notices
9954
+ * assigned for a given notices context. This can occur if the getNotices
9955
+ * selector is called without a notice ever having been created for the
9956
+ * context. A shared value is used to ensure referential equality between
9957
+ * sequential selector calls, since otherwise `[] !== []`.
9958
+ *
9959
+ * @type {Array}
9960
+ */
9961
 
9962
+ var DEFAULT_NOTICES = [];
9963
+ /**
9964
+ * @typedef {Object} WPNotice Notice object.
9965
+ *
9966
+ * @property {string} id Unique identifier of notice.
9967
+ * @property {string} status Status of notice, one of `success`,
9968
+ * `info`, `error`, or `warning`. Defaults
9969
+ * to `info`.
9970
+ * @property {string} content Notice message.
9971
+ * @property {string} __unstableHTML Notice message as raw HTML. Intended to
9972
+ * serve primarily for compatibility of
9973
+ * server-rendered notices, and SHOULD NOT
9974
+ * be used for notices. It is subject to
9975
+ * removal without notice.
9976
+ * @property {boolean} isDismissible Whether the notice can be dismissed by
9977
+ * user. Defaults to `true`.
9978
+ * @property {string} type Type of notice, one of `default`,
9979
+ * or `snackbar`. Defaults to `default`.
9980
+ * @property {boolean} speak Whether the notice content should be
9981
+ * announced to screen readers. Defaults to
9982
+ * `true`.
9983
+ * @property {WPNoticeAction[]} actions User actions to present with notice.
9984
+ *
9985
+ */
9986
 
9987
+ /**
9988
+ * Returns all notices as an array, optionally for a given context. Defaults to
9989
+ * the global context.
9990
+ *
9991
+ * @param {Object} state Notices state.
9992
+ * @param {?string} context Optional grouping context.
9993
+ *
9994
+ * @return {WPNotice[]} Array of notices.
9995
+ */
9996
 
9997
+ function getNotices(state) {
9998
+ var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_CONTEXT;
9999
+ return state[context] || DEFAULT_NOTICES;
10000
+ }
10001
+ //# sourceMappingURL=selectors.js.map
10002
+ // EXTERNAL MODULE: ./node_modules/@wordpress/a11y/build-module/index.js + 4 modules
10003
+ var build_module = __webpack_require__(142);
10004
 
10005
+ // CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/controls.js
10006
+ /**
10007
+ * WordPress dependencies
10008
+ */
10009
 
10010
+ /* harmony default export */ var controls = ({
10011
+ SPEAK: function SPEAK(action) {
10012
+ Object(build_module["a" /* speak */])(action.message, action.ariaLive || 'assertive');
10013
+ }
10014
+ });
10015
+ //# sourceMappingURL=controls.js.map
10016
+ // CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/index.js
10017
+ /**
10018
+ * WordPress dependencies
10019
+ */
10020
 
10021
+ /**
10022
+ * Internal dependencies
10023
+ */
10024
 
 
 
 
 
 
 
 
 
10025
 
 
 
 
 
 
 
 
 
 
 
10026
 
 
 
10027
 
 
 
 
 
 
 
 
 
 
10028
 
10029
+ /* harmony default export */ var store = (Object(external_this_wp_data_["registerStore"])('core/notices', {
10030
+ reducer: store_reducer,
10031
+ actions: actions_namespaceObject,
10032
+ selectors: selectors_namespaceObject,
10033
+ controls: controls
10034
+ }));
10035
+ //# sourceMappingURL=index.js.map
10036
+ // CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/index.js
10037
+ /**
10038
+ * Internal dependencies
10039
+ */
10040
 
10041
+ //# sourceMappingURL=index.js.map
 
10042
 
10043
+ /***/ }),
 
10044
 
10045
+ /***/ 48:
10046
+ /***/ (function(module, exports) {
 
 
 
 
 
 
 
 
 
 
10047
 
10048
+ (function() { module.exports = this["ReactDOM"]; }());
 
 
 
 
10049
 
10050
+ /***/ }),
10051
 
10052
+ /***/ 484:
10053
+ /***/ (function(module, exports) {
10054
 
10055
+ (function() { module.exports = this["wc"]["csvExport"]; }());
10056
 
10057
+ /***/ }),
 
 
 
 
10058
 
10059
+ /***/ 5:
10060
+ /***/ (function(module, exports) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10061
 
10062
+ function _defineProperty(obj, key, value) {
10063
+ if (key in obj) {
10064
+ Object.defineProperty(obj, key, {
10065
+ value: value,
10066
+ enumerable: true,
10067
+ configurable: true,
10068
+ writable: true
10069
+ });
10070
+ } else {
10071
+ obj[key] = value;
10072
+ }
10073
 
10074
+ return obj;
10075
+ }
10076
 
10077
+ module.exports = _defineProperty;
 
 
 
10078
 
10079
+ /***/ }),
 
 
 
10080
 
10081
+ /***/ 50:
10082
+ /***/ (function(module, exports, __webpack_require__) {
 
10083
 
10084
+ "use strict";
 
 
 
 
 
 
 
 
10085
 
 
 
 
 
 
 
 
 
 
10086
 
10087
+ var stringify = __webpack_require__(86);
10088
+ var parse = __webpack_require__(87);
10089
+ var formats = __webpack_require__(68);
10090
 
10091
+ module.exports = {
10092
+ formats: formats,
10093
+ parse: parse,
10094
+ stringify: stringify
10095
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10096
 
 
 
 
 
 
 
 
 
 
 
10097
 
10098
+ /***/ }),
 
 
 
 
 
10099
 
10100
+ /***/ 52:
10101
+ /***/ (function(module, exports, __webpack_require__) {
 
10102
 
10103
+ "use strict";
 
 
 
 
10104
 
10105
+
10106
+ var has = Object.prototype.hasOwnProperty;
10107
+ var isArray = Array.isArray;
10108
+
10109
+ var hexTable = (function () {
10110
+ var array = [];
10111
+ for (var i = 0; i < 256; ++i) {
10112
+ array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());
10113
  }
10114
 
10115
+ return array;
10116
+ }());
10117
 
10118
+ var compactQueue = function compactQueue(queue) {
10119
+ while (queue.length > 1) {
10120
+ var item = queue.pop();
10121
+ var obj = item.obj[item.prop];
 
 
 
 
 
 
10122
 
10123
+ if (isArray(obj)) {
10124
+ var compacted = [];
10125
 
10126
+ for (var j = 0; j < obj.length; ++j) {
10127
+ if (typeof obj[j] !== 'undefined') {
10128
+ compacted.push(obj[j]);
10129
+ }
10130
+ }
10131
 
10132
+ item.obj[item.prop] = compacted;
10133
+ }
10134
+ }
10135
+ };
10136
 
10137
+ var arrayToObject = function arrayToObject(source, options) {
10138
+ var obj = options && options.plainObjects ? Object.create(null) : {};
10139
+ for (var i = 0; i < source.length; ++i) {
10140
+ if (typeof source[i] !== 'undefined') {
10141
+ obj[i] = source[i];
10142
+ }
 
10143
  }
10144
 
10145
+ return obj;
10146
+ };
 
 
 
 
 
 
 
 
 
 
10147
 
10148
+ var merge = function merge(target, source, options) {
10149
+ /* eslint no-param-reassign: 0 */
10150
+ if (!source) {
10151
+ return target;
10152
+ }
10153
 
10154
+ if (typeof source !== 'object') {
10155
+ if (isArray(target)) {
10156
+ target.push(source);
10157
+ } else if (target && typeof target === 'object') {
10158
+ if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {
10159
+ target[source] = true;
10160
+ }
10161
+ } else {
10162
+ return [target, source];
10163
+ }
 
 
 
 
10164
 
10165
+ return target;
10166
+ }
 
10167
 
10168
+ if (!target || typeof target !== 'object') {
10169
+ return [target].concat(source);
10170
+ }
10171
 
10172
+ var mergeTarget = target;
10173
+ if (isArray(target) && !isArray(source)) {
10174
+ mergeTarget = arrayToObject(target, options);
10175
+ }
 
 
 
 
10176
 
10177
+ if (isArray(target) && isArray(source)) {
10178
+ source.forEach(function (item, i) {
10179
+ if (has.call(target, i)) {
10180
+ var targetItem = target[i];
10181
+ if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {
10182
+ target[i] = merge(targetItem, item, options);
10183
+ } else {
10184
+ target.push(item);
10185
+ }
10186
+ } else {
10187
+ target[i] = item;
10188
+ }
10189
+ });
10190
+ return target;
10191
+ }
10192
 
10193
+ return Object.keys(source).reduce(function (acc, key) {
10194
+ var value = source[key];
 
 
 
 
 
10195
 
10196
+ if (has.call(acc, key)) {
10197
+ acc[key] = merge(acc[key], value, options);
10198
+ } else {
10199
+ acc[key] = value;
10200
+ }
10201
+ return acc;
10202
+ }, mergeTarget);
 
10203
  };
10204
 
10205
+ var assign = function assignSingleSource(target, source) {
10206
+ return Object.keys(source).reduce(function (acc, key) {
10207
+ acc[key] = source[key];
10208
+ return acc;
10209
+ }, target);
10210
+ };
10211
+
10212
+ var decode = function (str, decoder, charset) {
10213
+ var strWithoutPlus = str.replace(/\+/g, ' ');
10214
+ if (charset === 'iso-8859-1') {
10215
+ // unescape never throws, no try...catch needed:
10216
+ return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
10217
+ }
10218
+ // utf-8
10219
+ try {
10220
+ return decodeURIComponent(strWithoutPlus);
10221
+ } catch (e) {
10222
+ return strWithoutPlus;
10223
+ }
10224
+ };
10225
+
10226
+ var encode = function encode(str, defaultEncoder, charset) {
10227
+ // This code was originally written by Brian White (mscdex) for the io.js core querystring library.
10228
+ // It has been adapted here for stricter adherence to RFC 3986
10229
+ if (str.length === 0) {
10230
+ return str;
10231
+ }
10232
+
10233
+ var string = str;
10234
+ if (typeof str === 'symbol') {
10235
+ string = Symbol.prototype.toString.call(str);
10236
+ } else if (typeof str !== 'string') {
10237
+ string = String(str);
10238
+ }
10239
+
10240
+ if (charset === 'iso-8859-1') {
10241
+ return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {
10242
+ return '%26%23' + parseInt($0.slice(2), 16) + '%3B';
10243
+ });
10244
+ }
10245
+
10246
+ var out = '';
10247
+ for (var i = 0; i < string.length; ++i) {
10248
+ var c = string.charCodeAt(i);
10249
+
10250
+ if (
10251
+ c === 0x2D // -
10252
+ || c === 0x2E // .
10253
+ || c === 0x5F // _
10254
+ || c === 0x7E // ~
10255
+ || (c >= 0x30 && c <= 0x39) // 0-9
10256
+ || (c >= 0x41 && c <= 0x5A) // a-z
10257
+ || (c >= 0x61 && c <= 0x7A) // A-Z
10258
+ ) {
10259
+ out += string.charAt(i);
10260
+ continue;
10261
+ }
10262
 
10263
+ if (c < 0x80) {
10264
+ out = out + hexTable[c];
10265
+ continue;
10266
+ }
10267
 
10268
+ if (c < 0x800) {
10269
+ out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);
10270
+ continue;
10271
+ }
10272
 
10273
+ if (c < 0xD800 || c >= 0xE000) {
10274
+ out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);
10275
+ continue;
10276
+ }
10277
 
10278
+ i += 1;
10279
+ c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));
10280
+ out += hexTable[0xF0 | (c >> 18)]
10281
+ + hexTable[0x80 | ((c >> 12) & 0x3F)]
10282
+ + hexTable[0x80 | ((c >> 6) & 0x3F)]
10283
+ + hexTable[0x80 | (c & 0x3F)];
10284
+ }
10285
 
10286
+ return out;
10287
+ };
 
 
 
10288
 
10289
+ var compact = function compact(value) {
10290
+ var queue = [{ obj: { o: value }, prop: 'o' }];
10291
+ var refs = [];
 
 
 
 
 
 
 
 
 
 
10292
 
10293
+ for (var i = 0; i < queue.length; ++i) {
10294
+ var item = queue[i];
10295
+ var obj = item.obj[item.prop];
10296
 
10297
+ var keys = Object.keys(obj);
10298
+ for (var j = 0; j < keys.length; ++j) {
10299
+ var key = keys[j];
10300
+ var val = obj[key];
10301
+ if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {
10302
+ queue.push({ obj: obj, prop: key });
10303
+ refs.push(val);
10304
+ }
10305
+ }
10306
+ }
 
 
 
 
 
10307
 
10308
+ compactQueue(queue);
 
 
10309
 
10310
+ return value;
 
 
 
10311
  };
10312
 
10313
+ var isRegExp = function isRegExp(obj) {
10314
+ return Object.prototype.toString.call(obj) === '[object RegExp]';
10315
+ };
 
10316
 
10317
+ var isBuffer = function isBuffer(obj) {
10318
+ if (!obj || typeof obj !== 'object') {
10319
+ return false;
10320
+ }
10321
 
10322
+ return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
 
10323
  };
10324
 
10325
+ var combine = function combine(a, b) {
10326
+ return [].concat(a, b);
 
 
 
 
 
 
 
 
 
 
 
10327
  };
10328
 
10329
+ var maybeMap = function maybeMap(val, fn) {
10330
+ if (isArray(val)) {
10331
+ var mapped = [];
10332
+ for (var i = 0; i < val.length; i += 1) {
10333
+ mapped.push(fn(val[i]));
10334
+ }
10335
+ return mapped;
10336
  }
10337
+ return fn(val);
10338
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10339
 
10340
+ module.exports = {
10341
+ arrayToObject: arrayToObject,
10342
+ assign: assign,
10343
+ combine: combine,
10344
+ compact: compact,
10345
+ decode: decode,
10346
+ encode: encode,
10347
+ isBuffer: isBuffer,
10348
+ isRegExp: isRegExp,
10349
+ maybeMap: maybeMap,
10350
+ merge: merge
10351
+ };
10352
 
 
 
10353
 
10354
+ /***/ }),
10355
 
10356
+ /***/ 54:
10357
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 
 
 
 
 
 
 
10358
 
10359
+ "use strict";
10360
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return domReady; });
10361
+ /**
10362
+ * @typedef {() => void} Callback
10363
+ *
10364
+ * TODO: Remove this typedef and inline `() => void` type.
10365
+ *
10366
+ * This typedef is used so that a descriptive type is provided in our
10367
+ * automatically generated documentation.
10368
+ *
10369
+ * An in-line type `() => void` would be preferable, but the generated
10370
+ * documentation is `null` in that case.
10371
+ *
10372
+ * @see https://github.com/WordPress/gutenberg/issues/18045
10373
+ */
10374
 
10375
+ /**
10376
+ * Specify a function to execute when the DOM is fully loaded.
10377
+ *
10378
+ * @param {Callback} callback A function to execute after the DOM is ready.
10379
+ *
10380
+ * @example
10381
+ * ```js
10382
+ * import domReady from '@wordpress/dom-ready';
10383
+ *
10384
+ * domReady( function() {
10385
+ * //do something after DOM loads.
10386
+ * } );
10387
+ * ```
10388
+ *
10389
+ * @return {void}
10390
+ */
10391
+ function domReady(callback) {
10392
+ if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly.
10393
+ document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly.
10394
+ ) {
10395
+ return void callback();
10396
+ } // DOMContentLoaded has not fired yet, delay callback until then.
10397
 
10398
 
10399
+ document.addEventListener('DOMContentLoaded', callback);
10400
+ }
10401
+ //# sourceMappingURL=index.js.map
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10402
 
10403
+ /***/ }),
10404
 
10405
+ /***/ 55:
10406
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
10407
 
10408
+ "use strict";
10409
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutProperties; });
10410
+ /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10411
 
10412
+ function _objectWithoutProperties(source, excluded) {
10413
+ if (source == null) return {};
10414
+ var target = Object(_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(source, excluded);
10415
+ var key, i;
10416
 
10417
+ if (Object.getOwnPropertySymbols) {
10418
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
10419
+
10420
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
10421
+ key = sourceSymbolKeys[i];
10422
+ if (excluded.indexOf(key) >= 0) continue;
10423
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
10424
+ target[key] = source[key];
10425
  }
10426
+ }
10427
 
10428
+ return target;
10429
+ }
10430
 
10431
+ /***/ }),
 
 
10432
 
10433
+ /***/ 56:
10434
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
10435
+
10436
+ "use strict";
10437
+ var isProduction = "production" === 'production';
10438
+ var prefix = 'Invariant failed';
10439
+ function invariant(condition, message) {
10440
+ if (condition) {
10441
+ return;
10442
  }
10443
+ if (isProduction) {
10444
+ throw new Error(prefix);
10445
+ }
10446
+ throw new Error(prefix + ": " + (message || ''));
10447
+ }
10448
 
10449
+ /* harmony default export */ __webpack_exports__["a"] = (invariant);
 
10450
 
 
10451
 
10452
+ /***/ }),
 
10453
 
10454
+ /***/ 57:
10455
+ /***/ (function(module, exports, __webpack_require__) {
10456
 
10457
+ var arrayLikeToArray = __webpack_require__(37);
 
 
 
10458
 
10459
+ function _arrayWithoutHoles(arr) {
10460
+ if (Array.isArray(arr)) return arrayLikeToArray(arr);
10461
+ }
 
 
 
 
 
 
 
 
 
 
 
10462
 
10463
+ module.exports = _arrayWithoutHoles;
 
 
10464
 
10465
+ /***/ }),
10466
 
10467
+ /***/ 58:
10468
+ /***/ (function(module, exports) {
10469
 
10470
+ function _iterableToArray(iter) {
10471
+ if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
10472
+ }
 
 
 
 
 
 
 
 
 
 
 
 
10473
 
10474
+ module.exports = _iterableToArray;
 
10475
 
10476
+ /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10477
 
10478
+ /***/ 59:
10479
+ /***/ (function(module, exports) {
 
 
10480
 
10481
+ function _nonIterableSpread() {
10482
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
10483
+ }
 
 
 
 
 
 
 
 
 
 
 
 
10484
 
10485
+ module.exports = _nonIterableSpread;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10486
 
10487
+ /***/ }),
 
 
 
10488
 
10489
+ /***/ 6:
10490
+ /***/ (function(module, exports) {
 
 
10491
 
10492
+ function _getPrototypeOf(o) {
10493
+ module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
10494
+ return o.__proto__ || Object.getPrototypeOf(o);
10495
+ };
10496
+ return _getPrototypeOf(o);
10497
+ }
10498
 
10499
+ module.exports = _getPrototypeOf;
10500
+
10501
+ /***/ }),
10502
 
10503
+ /***/ 60:
10504
+ /***/ (function(module, exports) {
10505
+
10506
+ function _arrayWithHoles(arr) {
10507
+ if (Array.isArray(arr)) return arr;
 
 
 
 
 
 
10508
  }
10509
 
10510
+ module.exports = _arrayWithHoles;
 
 
 
10511
 
10512
+ /***/ }),
 
10513
 
10514
+ /***/ 61:
10515
+ /***/ (function(module, exports) {
 
10516
 
10517
+ function _iterableToArrayLimit(arr, i) {
10518
+ if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
10519
+ var _arr = [];
10520
+ var _n = true;
10521
+ var _d = false;
10522
+ var _e = undefined;
10523
 
10524
+ try {
10525
+ for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
10526
+ _arr.push(_s.value);
10527
 
10528
+ if (i && _arr.length === i) break;
10529
+ }
10530
+ } catch (err) {
10531
+ _d = true;
10532
+ _e = err;
10533
+ } finally {
10534
+ try {
10535
+ if (!_n && _i["return"] != null) _i["return"]();
10536
+ } finally {
10537
+ if (_d) throw _e;
10538
+ }
10539
  }
10540
 
10541
+ return _arr;
10542
+ }
10543
 
10544
+ module.exports = _iterableToArrayLimit;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10545
 
10546
+ /***/ }),
 
 
10547
 
10548
+ /***/ 62:
10549
+ /***/ (function(module, exports) {
 
 
10550
 
10551
+ function _nonIterableRest() {
10552
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
10553
  }
10554
 
10555
+ module.exports = _nonIterableRest;
 
 
 
 
 
 
 
10556
 
10557
+ /***/ }),
 
10558
 
10559
+ /***/ 67:
10560
+ /***/ (function(module, exports, __webpack_require__) {
10561
+
10562
+ /**
10563
+ * Copyright (c) 2014-present, Facebook, Inc.
10564
+ *
10565
+ * This source code is licensed under the MIT license found in the
10566
+ * LICENSE file in the root directory of this source tree.
10567
+ */
10568
+
10569
+ var runtime = (function (exports) {
10570
+ "use strict";
10571
+
10572
+ var Op = Object.prototype;
10573
+ var hasOwn = Op.hasOwnProperty;
10574
+ var undefined; // More compressible than void 0.
10575
+ var $Symbol = typeof Symbol === "function" ? Symbol : {};
10576
+ var iteratorSymbol = $Symbol.iterator || "@@iterator";
10577
+ var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
10578
+ var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
10579
+
10580
+ function define(obj, key, value) {
10581
+ Object.defineProperty(obj, key, {
10582
+ value: value,
10583
+ enumerable: true,
10584
+ configurable: true,
10585
+ writable: true
10586
+ });
10587
+ return obj[key];
10588
+ }
10589
+ try {
10590
+ // IE 8 has a broken Object.defineProperty that only works on DOM objects.
10591
+ define({}, "");
10592
+ } catch (err) {
10593
+ define = function(obj, key, value) {
10594
+ return obj[key] = value;
10595
+ };
10596
+ }
10597
 
10598
+ function wrap(innerFn, outerFn, self, tryLocsList) {
10599
+ // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
10600
+ var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
10601
+ var generator = Object.create(protoGenerator.prototype);
10602
+ var context = new Context(tryLocsList || []);
10603
 
10604
+ // The ._invoke method unifies the implementations of the .next,
10605
+ // .throw, and .return methods.
10606
+ generator._invoke = makeInvokeMethod(innerFn, self, context);
10607
 
10608
+ return generator;
10609
+ }
10610
+ exports.wrap = wrap;
10611
 
10612
+ // Try/catch helper to minimize deoptimizations. Returns a completion
10613
+ // record like context.tryEntries[i].completion. This interface could
10614
+ // have been (and was previously) designed to take a closure to be
10615
+ // invoked without arguments, but in all the cases we care about we
10616
+ // already have an existing method we want to call, so there's no need
10617
+ // to create a new function object. We can even get away with assuming
10618
+ // the method takes exactly one argument, since that happens to be true
10619
+ // in every case, so we don't have to touch the arguments object. The
10620
+ // only additional allocation required is the completion record, which
10621
+ // has a stable shape and so hopefully should be cheap to allocate.
10622
+ function tryCatch(fn, obj, arg) {
10623
+ try {
10624
+ return { type: "normal", arg: fn.call(obj, arg) };
10625
+ } catch (err) {
10626
+ return { type: "throw", arg: err };
10627
+ }
10628
+ }
10629
 
10630
+ var GenStateSuspendedStart = "suspendedStart";
10631
+ var GenStateSuspendedYield = "suspendedYield";
10632
+ var GenStateExecuting = "executing";
10633
+ var GenStateCompleted = "completed";
10634
 
10635
+ // Returning this object from the innerFn has the same effect as
10636
+ // breaking out of the dispatch switch statement.
10637
+ var ContinueSentinel = {};
 
 
 
 
 
 
 
 
 
 
10638
 
10639
+ // Dummy constructor functions that we use as the .constructor and
10640
+ // .constructor.prototype properties for functions that return Generator
10641
+ // objects. For full spec compliance, you may wish to configure your
10642
+ // minifier not to mangle the names of these two functions.
10643
+ function Generator() {}
10644
+ function GeneratorFunction() {}
10645
+ function GeneratorFunctionPrototype() {}
10646
 
10647
+ // This is a polyfill for %IteratorPrototype% for environments that
10648
+ // don't natively support it.
10649
+ var IteratorPrototype = {};
10650
+ IteratorPrototype[iteratorSymbol] = function () {
10651
+ return this;
10652
+ };
10653
 
10654
+ var getProto = Object.getPrototypeOf;
10655
+ var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
10656
+ if (NativeIteratorPrototype &&
10657
+ NativeIteratorPrototype !== Op &&
10658
+ hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
10659
+ // This environment has a native %IteratorPrototype%; use it instead
10660
+ // of the polyfill.
10661
+ IteratorPrototype = NativeIteratorPrototype;
10662
+ }
10663
+
10664
+ var Gp = GeneratorFunctionPrototype.prototype =
10665
+ Generator.prototype = Object.create(IteratorPrototype);
10666
+ GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
10667
+ GeneratorFunctionPrototype.constructor = GeneratorFunction;
10668
+ GeneratorFunction.displayName = define(
10669
+ GeneratorFunctionPrototype,
10670
+ toStringTagSymbol,
10671
+ "GeneratorFunction"
10672
+ );
10673
 
10674
+ // Helper for defining the .next, .throw, and .return methods of the
10675
+ // Iterator interface in terms of a single ._invoke method.
10676
+ function defineIteratorMethods(prototype) {
10677
+ ["next", "throw", "return"].forEach(function(method) {
10678
+ define(prototype, method, function(arg) {
10679
+ return this._invoke(method, arg);
10680
+ });
10681
+ });
10682
  }
10683
 
10684
+ exports.isGeneratorFunction = function(genFun) {
10685
+ var ctor = typeof genFun === "function" && genFun.constructor;
10686
+ return ctor
10687
+ ? ctor === GeneratorFunction ||
10688
+ // For the native GeneratorFunction constructor, the best we can
10689
+ // do is to check its .name property.
10690
+ (ctor.displayName || ctor.name) === "GeneratorFunction"
10691
+ : false;
10692
+ };
10693
 
10694
+ exports.mark = function(genFun) {
10695
+ if (Object.setPrototypeOf) {
10696
+ Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
10697
+ } else {
10698
+ genFun.__proto__ = GeneratorFunctionPrototype;
10699
+ define(genFun, toStringTagSymbol, "GeneratorFunction");
10700
+ }
10701
+ genFun.prototype = Object.create(Gp);
10702
+ return genFun;
10703
+ };
10704
 
10705
+ // Within the body of any async function, `await x` is transformed to
10706
+ // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
10707
+ // `hasOwn.call(value, "__await")` to determine if the yielded value is
10708
+ // meant to be awaited.
10709
+ exports.awrap = function(arg) {
10710
+ return { __await: arg };
10711
+ };
10712
 
10713
+ function AsyncIterator(generator, PromiseImpl) {
10714
+ function invoke(method, arg, resolve, reject) {
10715
+ var record = tryCatch(generator[method], generator, arg);
10716
+ if (record.type === "throw") {
10717
+ reject(record.arg);
10718
+ } else {
10719
+ var result = record.arg;
10720
+ var value = result.value;
10721
+ if (value &&
10722
+ typeof value === "object" &&
10723
+ hasOwn.call(value, "__await")) {
10724
+ return PromiseImpl.resolve(value.__await).then(function(value) {
10725
+ invoke("next", value, resolve, reject);
10726
+ }, function(err) {
10727
+ invoke("throw", err, resolve, reject);
10728
+ });
10729
+ }
10730
 
10731
+ return PromiseImpl.resolve(value).then(function(unwrapped) {
10732
+ // When a yielded Promise is resolved, its final value becomes
10733
+ // the .value of the Promise<{value,done}> result for the
10734
+ // current iteration.
10735
+ result.value = unwrapped;
10736
+ resolve(result);
10737
+ }, function(error) {
10738
+ // If a rejected Promise was yielded, throw the rejection back
10739
+ // into the async generator function so it can be handled there.
10740
+ return invoke("throw", error, resolve, reject);
10741
+ });
10742
+ }
10743
+ }
10744
 
10745
+ var previousPromise;
 
 
 
 
 
 
10746
 
10747
+ function enqueue(method, arg) {
10748
+ function callInvokeWithMethodAndArg() {
10749
+ return new PromiseImpl(function(resolve, reject) {
10750
+ invoke(method, arg, resolve, reject);
10751
+ });
10752
+ }
 
10753
 
10754
+ return previousPromise =
10755
+ // If enqueue has been called before, then we want to wait until
10756
+ // all previous Promises have been resolved before calling invoke,
10757
+ // so that results are always delivered in the correct order. If
10758
+ // enqueue has not been called before, then it is important to
10759
+ // call invoke immediately, without waiting on a callback to fire,
10760
+ // so that the async generator function has the opportunity to do
10761
+ // any necessary setup in a predictable way. This predictability
10762
+ // is why the Promise constructor synchronously invokes its
10763
+ // executor callback, and why async functions synchronously
10764
+ // execute code before the first await. Since we implement simple
10765
+ // async functions in terms of async generators, it is especially
10766
+ // important to get this right, even though it requires care.
10767
+ previousPromise ? previousPromise.then(
10768
+ callInvokeWithMethodAndArg,
10769
+ // Avoid propagating failures to Promises returned by later
10770
+ // invocations of the iterator.
10771
+ callInvokeWithMethodAndArg
10772
+ ) : callInvokeWithMethodAndArg();
10773
+ }
10774
+
10775
+ // Define the unified helper method that is used to implement .next,
10776
+ // .throw, and .return (see defineIteratorMethods).
10777
+ this._invoke = enqueue;
10778
+ }
10779
+
10780
+ defineIteratorMethods(AsyncIterator.prototype);
10781
+ AsyncIterator.prototype[asyncIteratorSymbol] = function () {
10782
+ return this;
10783
+ };
10784
+ exports.AsyncIterator = AsyncIterator;
10785
 
10786
+ // Note that simple async functions are implemented on top of
10787
+ // AsyncIterator objects; they just return a Promise for the value of
10788
+ // the final result produced by the iterator.
10789
+ exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
10790
+ if (PromiseImpl === void 0) PromiseImpl = Promise;
 
 
 
10791
 
10792
+ var iter = new AsyncIterator(
10793
+ wrap(innerFn, outerFn, self, tryLocsList),
10794
+ PromiseImpl
10795
+ );
 
 
 
 
10796
 
10797
+ return exports.isGeneratorFunction(outerFn)
10798
+ ? iter // If outerFn is a generator, return the full iterator.
10799
+ : iter.next().then(function(result) {
10800
+ return result.done ? result.value : iter.next();
10801
+ });
10802
+ };
10803
 
10804
+ function makeInvokeMethod(innerFn, self, context) {
10805
+ var state = GenStateSuspendedStart;
 
 
10806
 
10807
+ return function invoke(method, arg) {
10808
+ if (state === GenStateExecuting) {
10809
+ throw new Error("Generator is already running");
10810
+ }
 
 
10811
 
10812
+ if (state === GenStateCompleted) {
10813
+ if (method === "throw") {
10814
+ throw arg;
10815
+ }
 
 
 
10816
 
10817
+ // Be forgiving, per 25.3.3.3.3 of the spec:
10818
+ // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
10819
+ return doneResult();
10820
+ }
 
 
 
 
 
 
 
10821
 
10822
+ context.method = method;
10823
+ context.arg = arg;
10824
 
10825
+ while (true) {
10826
+ var delegate = context.delegate;
10827
+ if (delegate) {
10828
+ var delegateResult = maybeInvokeDelegate(delegate, context);
10829
+ if (delegateResult) {
10830
+ if (delegateResult === ContinueSentinel) continue;
10831
+ return delegateResult;
10832
+ }
10833
+ }
10834
 
10835
+ if (context.method === "next") {
10836
+ // Setting context._sent for legacy support of Babel's
10837
+ // function.sent implementation.
10838
+ context.sent = context._sent = context.arg;
10839
 
10840
+ } else if (context.method === "throw") {
10841
+ if (state === GenStateSuspendedStart) {
10842
+ state = GenStateCompleted;
10843
+ throw context.arg;
10844
+ }
 
 
 
 
 
10845
 
10846
+ context.dispatchException(context.arg);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10847
 
10848
+ } else if (context.method === "return") {
10849
+ context.abrupt("return", context.arg);
10850
+ }
10851
+
10852
+ state = GenStateExecuting;
10853
+
10854
+ var record = tryCatch(innerFn, self, context);
10855
+ if (record.type === "normal") {
10856
+ // If an exception is thrown from innerFn, we leave state ===
10857
+ // GenStateExecuting and loop back for another invocation.
10858
+ state = context.done
10859
+ ? GenStateCompleted
10860
+ : GenStateSuspendedYield;
10861
+
10862
+ if (record.arg === ContinueSentinel) {
10863
+ continue;
10864
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10865
 
10866
+ return {
10867
+ value: record.arg,
10868
+ done: context.done
10869
+ };
10870
 
10871
+ } else if (record.type === "throw") {
10872
+ state = GenStateCompleted;
10873
+ // Dispatch the exception by looping back around to the
10874
+ // context.dispatchException(context.arg) call above.
10875
+ context.method = "throw";
10876
+ context.arg = record.arg;
10877
+ }
10878
+ }
10879
+ };
10880
+ }
10881
 
10882
+ // Call delegate.iterator[context.method](context.arg) and handle the
10883
+ // result, either by returning a { value, done } result from the
10884
+ // delegate iterator, or by modifying context.method and context.arg,
10885
+ // setting context.delegate to null, and returning the ContinueSentinel.
10886
+ function maybeInvokeDelegate(delegate, context) {
10887
+ var method = delegate.iterator[context.method];
10888
+ if (method === undefined) {
10889
+ // A .throw or .return when the delegate iterator has no .throw
10890
+ // method always terminates the yield* loop.
10891
+ context.delegate = null;
10892
+
10893
+ if (context.method === "throw") {
10894
+ // Note: ["return"] must be used for ES3 parsing compatibility.
10895
+ if (delegate.iterator["return"]) {
10896
+ // If the delegate iterator has a return method, give it a
10897
+ // chance to clean up.
10898
+ context.method = "return";
10899
+ context.arg = undefined;
10900
+ maybeInvokeDelegate(delegate, context);
10901
+
10902
+ if (context.method === "throw") {
10903
+ // If maybeInvokeDelegate(context) changed context.method from
10904
+ // "return" to "throw", let that override the TypeError below.
10905
+ return ContinueSentinel;
10906
+ }
10907
+ }
10908
 
10909
+ context.method = "throw";
10910
+ context.arg = new TypeError(
10911
+ "The iterator does not provide a 'throw' method");
10912
+ }
10913
 
10914
+ return ContinueSentinel;
10915
+ }
 
 
 
 
 
 
 
 
 
 
 
 
10916
 
10917
+ var record = tryCatch(method, delegate.iterator, context.arg);
 
 
10918
 
10919
+ if (record.type === "throw") {
10920
+ context.method = "throw";
10921
+ context.arg = record.arg;
10922
+ context.delegate = null;
10923
+ return ContinueSentinel;
10924
+ }
10925
 
10926
+ var info = record.arg;
 
 
 
 
 
 
10927
 
10928
+ if (! info) {
10929
+ context.method = "throw";
10930
+ context.arg = new TypeError("iterator result is not an object");
10931
+ context.delegate = null;
10932
+ return ContinueSentinel;
10933
+ }
10934
 
10935
+ if (info.done) {
10936
+ // Assign the result of the finished delegate to the temporary
10937
+ // variable specified by delegate.resultName (see delegateYield).
10938
+ context[delegate.resultName] = info.value;
10939
+
10940
+ // Resume execution at the desired location (see delegateYield).
10941
+ context.next = delegate.nextLoc;
10942
+
10943
+ // If context.method was "throw" but the delegate handled the
10944
+ // exception, let the outer generator proceed normally. If
10945
+ // context.method was "next", forget context.arg since it has been
10946
+ // "consumed" by the delegate iterator. If context.method was
10947
+ // "return", allow the original .return call to continue in the
10948
+ // outer generator.
10949
+ if (context.method !== "return") {
10950
+ context.method = "next";
10951
+ context.arg = undefined;
10952
+ }
10953
+
10954
+ } else {
10955
+ // Re-yield the result returned by the delegate method.
10956
+ return info;
10957
  }
10958
 
10959
+ // The delegate iterator is finished, so forget it and continue with
10960
+ // the outer generator.
10961
+ context.delegate = null;
10962
+ return ContinueSentinel;
10963
+ }
10964
 
10965
+ // Define Generator.prototype.{next,throw,return} in terms of the
10966
+ // unified ._invoke helper method.
10967
+ defineIteratorMethods(Gp);
 
 
10968
 
10969
+ define(Gp, toStringTagSymbol, "Generator");
 
 
 
 
 
 
 
 
 
 
 
10970
 
10971
+ // A Generator should always return itself as the iterator object when the
10972
+ // @@iterator function is called on it. Some browsers' implementations of the
10973
+ // iterator prototype chain incorrectly implement this, causing the Generator
10974
+ // object to not be returned from this call. This ensures that doesn't happen.
10975
+ // See https://github.com/facebook/regenerator/issues/274 for more details.
10976
+ Gp[iteratorSymbol] = function() {
10977
+ return this;
10978
+ };
10979
 
10980
+ Gp.toString = function() {
10981
+ return "[object Generator]";
10982
+ };
10983
 
10984
+ function pushTryEntry(locs) {
10985
+ var entry = { tryLoc: locs[0] };
10986
+
10987
+ if (1 in locs) {
10988
+ entry.catchLoc = locs[1];
10989
+ }
10990
 
10991
+ if (2 in locs) {
10992
+ entry.finallyLoc = locs[2];
10993
+ entry.afterLoc = locs[3];
10994
+ }
10995
 
10996
+ this.tryEntries.push(entry);
10997
+ }
10998
 
10999
+ function resetTryEntry(entry) {
11000
+ var record = entry.completion || {};
11001
+ record.type = "normal";
11002
+ delete record.arg;
11003
+ entry.completion = record;
11004
+ }
11005
 
11006
+ function Context(tryLocsList) {
11007
+ // The root entry object (effectively a try statement without a catch
11008
+ // or a finally block) gives us a place to store values thrown from
11009
+ // locations where there is no enclosing try statement.
11010
+ this.tryEntries = [{ tryLoc: "root" }];
11011
+ tryLocsList.forEach(pushTryEntry, this);
11012
+ this.reset(true);
11013
+ }
11014
 
11015
+ exports.keys = function(object) {
11016
+ var keys = [];
11017
+ for (var key in object) {
11018
+ keys.push(key);
11019
+ }
11020
+ keys.reverse();
11021
+
11022
+ // Rather than returning an object with a next method, we keep
11023
+ // things simple and return the next function itself.
11024
+ return function next() {
11025
+ while (keys.length) {
11026
+ var key = keys.pop();
11027
+ if (key in object) {
11028
+ next.value = key;
11029
+ next.done = false;
11030
+ return next;
11031
+ }
11032
+ }
11033
 
11034
+ // To avoid creating an additional object, we just hang the .value
11035
+ // and .done properties off the next function object itself. This
11036
+ // also ensures that the minifier will not anonymize the function.
11037
+ next.done = true;
11038
+ return next;
11039
+ };
11040
+ };
11041
 
11042
+ function values(iterable) {
11043
+ if (iterable) {
11044
+ var iteratorMethod = iterable[iteratorSymbol];
11045
+ if (iteratorMethod) {
11046
+ return iteratorMethod.call(iterable);
11047
+ }
11048
+
11049
+ if (typeof iterable.next === "function") {
11050
+ return iterable;
11051
+ }
11052
+
11053
+ if (!isNaN(iterable.length)) {
11054
+ var i = -1, next = function next() {
11055
+ while (++i < iterable.length) {
11056
+ if (hasOwn.call(iterable, i)) {
11057
+ next.value = iterable[i];
11058
+ next.done = false;
11059
+ return next;
11060
+ }
11061
+ }
11062
+
11063
+ next.value = undefined;
11064
+ next.done = true;
11065
+
11066
+ return next;
11067
+ };
11068
+
11069
+ return next.next = next;
11070
+ }
11071
+ }
11072
+
11073
+ // Return an iterator with no values.
11074
+ return { next: doneResult };
11075
  }
11076
+ exports.values = values;
11077
 
11078
+ function doneResult() {
11079
+ return { value: undefined, done: true };
11080
+ }
11081
+
11082
+ Context.prototype = {
11083
+ constructor: Context,
11084
+
11085
+ reset: function(skipTempReset) {
11086
+ this.prev = 0;
11087
+ this.next = 0;
11088
+ // Resetting context._sent for legacy support of Babel's
11089
+ // function.sent implementation.
11090
+ this.sent = this._sent = undefined;
11091
+ this.done = false;
11092
+ this.delegate = null;
11093
+
11094
+ this.method = "next";
11095
+ this.arg = undefined;
11096
+
11097
+ this.tryEntries.forEach(resetTryEntry);
11098
+
11099
+ if (!skipTempReset) {
11100
+ for (var name in this) {
11101
+ // Not sure about the optimal order of these conditions:
11102
+ if (name.charAt(0) === "t" &&
11103
+ hasOwn.call(this, name) &&
11104
+ !isNaN(+name.slice(1))) {
11105
+ this[name] = undefined;
11106
+ }
11107
+ }
11108
+ }
11109
  },
11110
+
11111
+ stop: function() {
11112
+ this.done = true;
11113
+
11114
+ var rootEntry = this.tryEntries[0];
11115
+ var rootRecord = rootEntry.completion;
11116
+ if (rootRecord.type === "throw") {
11117
+ throw rootRecord.arg;
11118
+ }
11119
+
11120
+ return this.rval;
11121
  },
11122
+
11123
+ dispatchException: function(exception) {
11124
+ if (this.done) {
11125
+ throw exception;
11126
+ }
11127
+
11128
+ var context = this;
11129
+ function handle(loc, caught) {
11130
+ record.type = "throw";
11131
+ record.arg = exception;
11132
+ context.next = loc;
11133
+
11134
+ if (caught) {
11135
+ // If the dispatched exception was caught by a catch block,
11136
+ // then let that catch block handle the exception normally.
11137
+ context.method = "next";
11138
+ context.arg = undefined;
11139
+ }
11140
+
11141
+ return !! caught;
11142
+ }
11143
+
11144
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
11145
+ var entry = this.tryEntries[i];
11146
+ var record = entry.completion;
11147
+
11148
+ if (entry.tryLoc === "root") {
11149
+ // Exception thrown outside of any try block that could handle
11150
+ // it, so set the completion value of the entire function to
11151
+ // throw the exception.
11152
+ return handle("end");
11153
+ }
11154
+
11155
+ if (entry.tryLoc <= this.prev) {
11156
+ var hasCatch = hasOwn.call(entry, "catchLoc");
11157
+ var hasFinally = hasOwn.call(entry, "finallyLoc");
11158
+
11159
+ if (hasCatch && hasFinally) {
11160
+ if (this.prev < entry.catchLoc) {
11161
+ return handle(entry.catchLoc, true);
11162
+ } else if (this.prev < entry.finallyLoc) {
11163
+ return handle(entry.finallyLoc);
11164
+ }
11165
+
11166
+ } else if (hasCatch) {
11167
+ if (this.prev < entry.catchLoc) {
11168
+ return handle(entry.catchLoc, true);
11169
+ }
11170
+
11171
+ } else if (hasFinally) {
11172
+ if (this.prev < entry.finallyLoc) {
11173
+ return handle(entry.finallyLoc);
11174
+ }
11175
+
11176
+ } else {
11177
+ throw new Error("try statement without catch or finally");
11178
+ }
11179
+ }
11180
+ }
11181
  },
11182
+
11183
+ abrupt: function(type, arg) {
11184
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
11185
+ var entry = this.tryEntries[i];
11186
+ if (entry.tryLoc <= this.prev &&
11187
+ hasOwn.call(entry, "finallyLoc") &&
11188
+ this.prev < entry.finallyLoc) {
11189
+ var finallyEntry = entry;
11190
+ break;
11191
+ }
11192
+ }
11193
+
11194
+ if (finallyEntry &&
11195
+ (type === "break" ||
11196
+ type === "continue") &&
11197
+ finallyEntry.tryLoc <= arg &&
11198
+ arg <= finallyEntry.finallyLoc) {
11199
+ // Ignore the finally entry if control is not jumping to a
11200
+ // location outside the try/catch block.
11201
+ finallyEntry = null;
11202
+ }
11203
+
11204
+ var record = finallyEntry ? finallyEntry.completion : {};
11205
+ record.type = type;
11206
+ record.arg = arg;
11207
+
11208
+ if (finallyEntry) {
11209
+ this.method = "next";
11210
+ this.next = finallyEntry.finallyLoc;
11211
+ return ContinueSentinel;
11212
+ }
11213
+
11214
+ return this.complete(record);
11215
+ },
11216
+
11217
+ complete: function(record, afterLoc) {
11218
+ if (record.type === "throw") {
11219
+ throw record.arg;
11220
+ }
11221
+
11222
+ if (record.type === "break" ||
11223
+ record.type === "continue") {
11224
+ this.next = record.arg;
11225
+ } else if (record.type === "return") {
11226
+ this.rval = this.arg = record.arg;
11227
+ this.method = "return";
11228
+ this.next = "end";
11229
+ } else if (record.type === "normal" && afterLoc) {
11230
+ this.next = afterLoc;
11231
+ }
11232
+
11233
+ return ContinueSentinel;
11234
+ },
11235
+
11236
+ finish: function(finallyLoc) {
11237
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
11238
+ var entry = this.tryEntries[i];
11239
+ if (entry.finallyLoc === finallyLoc) {
11240
+ this.complete(entry.completion, entry.afterLoc);
11241
+ resetTryEntry(entry);
11242
+ return ContinueSentinel;
11243
+ }
11244
+ }
11245
+ },
11246
+
11247
+ "catch": function(tryLoc) {
11248
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
11249
+ var entry = this.tryEntries[i];
11250
+ if (entry.tryLoc === tryLoc) {
11251
+ var record = entry.completion;
11252
+ if (record.type === "throw") {
11253
+ var thrown = record.arg;
11254
+ resetTryEntry(entry);
11255
+ }
11256
+ return thrown;
11257
+ }
11258
+ }
11259
+
11260
+ // The context.catch method must only be called with a location
11261
+ // argument that corresponds to a known catch block.
11262
+ throw new Error("illegal catch attempt");
11263
+ },
11264
+
11265
+ delegateYield: function(iterable, resultName, nextLoc) {
11266
+ this.delegate = {
11267
+ iterator: values(iterable),
11268
+ resultName: resultName,
11269
+ nextLoc: nextLoc
11270
+ };
11271
+
11272
+ if (this.method === "next") {
11273
+ // Deliberately forget the last sent value so that we don't
11274
+ // accidentally pass it on to the delegate.
11275
+ this.arg = undefined;
11276
+ }
11277
+
11278
+ return ContinueSentinel;
11279
  }
11280
  };
 
11281
 
11282
+ // Regardless of whether this script is executing as a CommonJS module
11283
+ // or not, return the runtime object so that we can declare the variable
11284
+ // regeneratorRuntime in the outer scope, which allows this module to be
11285
+ // injected easily by `bin/regenerator --include-runtime script.js`.
11286
+ return exports;
11287
+
11288
+ }(
11289
+ // If this script is executing as a CommonJS module, use module.exports
11290
+ // as the regeneratorRuntime namespace. Otherwise create a new empty
11291
+ // object. Either way, the resulting object will be used to initialize
11292
+ // the regeneratorRuntime variable at the top of this file.
11293
+ true ? module.exports : undefined
11294
+ ));
11295
+
11296
+ try {
11297
+ regeneratorRuntime = runtime;
11298
+ } catch (accidentalStrictMode) {
11299
+ // This module should not be running in strict mode, so the above
11300
+ // assignment should always work unless something is misconfigured. Just
11301
+ // in case runtime.js accidentally runs in strict mode, we can escape
11302
+ // strict mode using a global Function call. This could conceivably fail
11303
+ // if a Content Security Policy forbids using Function, but in that case
11304
+ // the proper solution is to fix the accidental strict mode problem. If
11305
+ // you've misconfigured your bundler to force strict mode and applied a
11306
+ // CSP to forbid Function, and you're not willing to fix either of those
11307
+ // problems, please detail your unique predicament in a GitHub issue.
11308
+ Function("r", "regeneratorRuntime = r")(runtime);
11309
  }
11310
 
 
 
11311
 
11312
+ /***/ }),
11313
 
11314
+ /***/ 68:
11315
+ /***/ (function(module, exports, __webpack_require__) {
11316
 
11317
+ "use strict";
 
11318
 
 
 
 
 
11319
 
11320
+ var replace = String.prototype.replace;
11321
+ var percentTwenties = /%20/g;
11322
+
11323
+ var util = __webpack_require__(52);
11324
+
11325
+ var Format = {
11326
+ RFC1738: 'RFC1738',
11327
+ RFC3986: 'RFC3986'
11328
+ };
11329
+
11330
+ module.exports = util.assign(
11331
+ {
11332
+ 'default': Format.RFC3986,
11333
+ formatters: {
11334
+ RFC1738: function (value) {
11335
+ return replace.call(value, percentTwenties, '+');
11336
+ },
11337
+ RFC3986: function (value) {
11338
+ return String(value);
11339
+ }
11340
+ }
11341
+ },
11342
+ Format
11343
+ );
11344
+
11345
+
11346
+ /***/ }),
11347
+
11348
+ /***/ 69:
11349
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
11350
+
11351
+ "use strict";
11352
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _arrayLikeToArray; });
11353
+ function _arrayLikeToArray(arr, len) {
11354
+ if (len == null || len > arr.length) len = arr.length;
11355
+
11356
+ for (var i = 0, arr2 = new Array(len); i < len; i++) {
11357
+ arr2[i] = arr[i];
11358
+ }
11359
+
11360
+ return arr2;
11361
+ }
11362
 
11363
+ /***/ }),
 
11364
 
11365
+ /***/ 7:
11366
+ /***/ (function(module, exports, __webpack_require__) {
11367
 
11368
+ /*!
11369
+ Copyright (c) 2017 Jed Watson.
11370
+ Licensed under the MIT License (MIT), see
11371
+ http://jedwatson.github.io/classnames
11372
+ */
11373
+ /* global define */
11374
 
11375
+ (function () {
11376
+ 'use strict';
 
 
11377
 
11378
+ var hasOwn = {}.hasOwnProperty;
11379
 
11380
+ function classNames () {
11381
+ var classes = [];
11382
 
11383
+ for (var i = 0; i < arguments.length; i++) {
11384
+ var arg = arguments[i];
11385
+ if (!arg) continue;
 
 
 
11386
 
11387
+ var argType = typeof arg;
 
 
11388
 
11389
+ if (argType === 'string' || argType === 'number') {
11390
+ classes.push(arg);
11391
+ } else if (Array.isArray(arg) && arg.length) {
11392
+ var inner = classNames.apply(null, arg);
11393
+ if (inner) {
11394
+ classes.push(inner);
11395
+ }
11396
+ } else if (argType === 'object') {
11397
+ for (var key in arg) {
11398
+ if (hasOwn.call(arg, key) && arg[key]) {
11399
+ classes.push(key);
11400
+ }
11401
+ }
11402
+ }
11403
+ }
11404
 
11405
+ return classes.join(' ');
11406
+ }
11407
 
11408
+ if ( true && module.exports) {
11409
+ classNames.default = classNames;
11410
+ module.exports = classNames;
11411
+ } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {
11412
+ // register as 'classnames', consistent with npm package name
11413
+ define('classnames', [], function () {
11414
+ return classNames;
11415
+ });
11416
+ } else {
11417
+ window.classNames = classNames;
11418
+ }
11419
+ }());
11420
 
 
 
11421
 
11422
+ /***/ }),
 
 
 
11423
 
11424
+ /***/ 70:
11425
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
11426
 
11427
+ "use strict";
 
 
 
 
 
11428
 
11429
+ // EXPORTS
11430
+ __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ createBrowserHistory; });
11431
+ __webpack_require__.d(__webpack_exports__, "c", function() { return /* binding */ createMemoryHistory; });
11432
+ __webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ createLocation; });
11433
+ __webpack_require__.d(__webpack_exports__, "e", function() { return /* binding */ locationsAreEqual; });
11434
+ __webpack_require__.d(__webpack_exports__, "d", function() { return /* binding */ createPath; });
11435
 
11436
+ // UNUSED EXPORTS: createHashHistory, parsePath
11437
 
11438
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
11439
+ var esm_extends = __webpack_require__(32);
 
 
11440
 
11441
+ // CONCATENATED MODULE: ./node_modules/resolve-pathname/esm/resolve-pathname.js
11442
+ function isAbsolute(pathname) {
11443
+ return pathname.charAt(0) === '/';
11444
+ }
11445
 
11446
+ // About 1.5x faster than the two-arg version of Array#splice()
11447
+ function spliceOne(list, index) {
11448
+ for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {
11449
+ list[i] = list[k];
11450
+ }
11451
 
11452
+ list.pop();
11453
+ }
 
 
 
11454
 
11455
+ // This implementation is based heavily on node's url.parse
11456
+ function resolvePathname(to, from) {
11457
+ if (from === undefined) from = '';
 
 
 
 
11458
 
11459
+ var toParts = (to && to.split('/')) || [];
11460
+ var fromParts = (from && from.split('/')) || [];
 
11461
 
11462
+ var isToAbs = to && isAbsolute(to);
11463
+ var isFromAbs = from && isAbsolute(from);
11464
+ var mustEndAbs = isToAbs || isFromAbs;
11465
 
11466
+ if (to && isAbsolute(to)) {
11467
+ // to is absolute
11468
+ fromParts = toParts;
11469
+ } else if (toParts.length) {
11470
+ // to is relative, drop the filename
11471
+ fromParts.pop();
11472
+ fromParts = fromParts.concat(toParts);
11473
+ }
11474
 
11475
+ if (!fromParts.length) return '/';
11476
 
11477
+ var hasTrailingSlash;
11478
+ if (fromParts.length) {
11479
+ var last = fromParts[fromParts.length - 1];
11480
+ hasTrailingSlash = last === '.' || last === '..' || last === '';
11481
+ } else {
11482
+ hasTrailingSlash = false;
11483
+ }
11484
 
11485
+ var up = 0;
11486
+ for (var i = fromParts.length; i >= 0; i--) {
11487
+ var part = fromParts[i];
11488
 
11489
+ if (part === '.') {
11490
+ spliceOne(fromParts, i);
11491
+ } else if (part === '..') {
11492
+ spliceOne(fromParts, i);
11493
+ up++;
11494
+ } else if (up) {
11495
+ spliceOne(fromParts, i);
11496
+ up--;
11497
+ }
11498
+ }
11499
 
11500
+ if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');
11501
 
11502
+ if (
11503
+ mustEndAbs &&
11504
+ fromParts[0] !== '' &&
11505
+ (!fromParts[0] || !isAbsolute(fromParts[0]))
11506
+ )
11507
+ fromParts.unshift('');
 
 
11508
 
11509
+ var result = fromParts.join('/');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11510
 
11511
+ if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';
 
 
 
 
 
 
 
 
 
 
 
 
 
11512
 
11513
+ return result;
11514
+ }
 
 
 
 
11515
 
11516
+ /* harmony default export */ var resolve_pathname = (resolvePathname);
 
 
 
 
11517
 
11518
+ // CONCATENATED MODULE: ./node_modules/value-equal/esm/value-equal.js
11519
+ function value_equal_valueOf(obj) {
11520
+ return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);
11521
+ }
 
 
 
11522
 
11523
+ function valueEqual(a, b) {
11524
+ // Test for strict equality first.
11525
+ if (a === b) return true;
 
 
11526
 
11527
+ // Otherwise, if either of them == null they are not equal.
11528
+ if (a == null || b == null) return false;
 
 
 
11529
 
11530
+ if (Array.isArray(a)) {
11531
+ return (
11532
+ Array.isArray(b) &&
11533
+ a.length === b.length &&
11534
+ a.every(function(item, index) {
11535
+ return valueEqual(item, b[index]);
11536
+ })
11537
+ );
 
 
11538
  }
11539
 
11540
+ if (typeof a === 'object' || typeof b === 'object') {
11541
+ var aValue = value_equal_valueOf(a);
11542
+ var bValue = value_equal_valueOf(b);
 
11543
 
11544
+ if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);
11545
+
11546
+ return Object.keys(Object.assign({}, a, b)).every(function(key) {
11547
+ return valueEqual(a[key], b[key]);
11548
+ });
11549
  }
11550
 
11551
+ return false;
11552
  }
11553
 
11554
+ /* harmony default export */ var value_equal = (valueEqual);
 
 
 
 
 
 
 
 
 
11555
 
11556
+ // EXTERNAL MODULE: ./node_modules/tiny-invariant/dist/tiny-invariant.esm.js
11557
+ var tiny_invariant_esm = __webpack_require__(56);
 
 
 
 
 
 
 
 
 
11558
 
11559
+ // CONCATENATED MODULE: ./node_modules/history/esm/history.js
11560
+
11561
+
11562
+
11563
+
11564
+
11565
+
11566
+ function addLeadingSlash(path) {
11567
+ return path.charAt(0) === '/' ? path : '/' + path;
11568
+ }
11569
+ function stripLeadingSlash(path) {
11570
+ return path.charAt(0) === '/' ? path.substr(1) : path;
11571
+ }
11572
+ function hasBasename(path, prefix) {
11573
+ return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;
11574
+ }
11575
+ function stripBasename(path, prefix) {
11576
+ return hasBasename(path, prefix) ? path.substr(prefix.length) : path;
11577
+ }
11578
+ function stripTrailingSlash(path) {
11579
+ return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;
11580
  }
11581
+ function parsePath(path) {
11582
+ var pathname = path || '/';
11583
+ var search = '';
11584
+ var hash = '';
11585
+ var hashIndex = pathname.indexOf('#');
11586
 
11587
+ if (hashIndex !== -1) {
11588
+ hash = pathname.substr(hashIndex);
11589
+ pathname = pathname.substr(0, hashIndex);
11590
+ }
 
 
11591
 
11592
+ var searchIndex = pathname.indexOf('?');
11593
+
11594
+ if (searchIndex !== -1) {
11595
+ search = pathname.substr(searchIndex);
11596
+ pathname = pathname.substr(0, searchIndex);
11597
  }
11598
 
11599
+ return {
11600
+ pathname: pathname,
11601
+ search: search === '?' ? '' : search,
11602
+ hash: hash === '#' ? '' : hash
11603
+ };
11604
+ }
11605
+ function createPath(location) {
11606
+ var pathname = location.pathname,
11607
+ search = location.search,
11608
+ hash = location.hash;
11609
+ var path = pathname || '/';
11610
+ if (search && search !== '?') path += search.charAt(0) === '?' ? search : "?" + search;
11611
+ if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : "#" + hash;
11612
+ return path;
11613
+ }
11614
 
11615
+ function createLocation(path, state, key, currentLocation) {
11616
+ var location;
11617
 
11618
+ if (typeof path === 'string') {
11619
+ // Two-arg form: push(path, state)
11620
+ location = parsePath(path);
11621
+ location.state = state;
11622
+ } else {
11623
+ // One-arg form: push(location)
11624
+ location = Object(esm_extends["a" /* default */])({}, path);
11625
+ if (location.pathname === undefined) location.pathname = '';
11626
 
11627
+ if (location.search) {
11628
+ if (location.search.charAt(0) !== '?') location.search = '?' + location.search;
11629
+ } else {
11630
+ location.search = '';
11631
+ }
11632
 
11633
+ if (location.hash) {
11634
+ if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;
11635
+ } else {
11636
+ location.hash = '';
11637
+ }
11638
 
11639
+ if (state !== undefined && location.state === undefined) location.state = state;
11640
+ }
 
 
 
 
11641
 
11642
+ try {
11643
+ location.pathname = decodeURI(location.pathname);
11644
+ } catch (e) {
11645
+ if (e instanceof URIError) {
11646
+ throw new URIError('Pathname "' + location.pathname + '" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');
11647
+ } else {
11648
+ throw e;
11649
+ }
11650
+ }
11651
 
11652
+ if (key) location.key = key;
 
 
 
11653
 
11654
+ if (currentLocation) {
11655
+ // Resolve incomplete/relative pathname relative to current location.
11656
+ if (!location.pathname) {
11657
+ location.pathname = currentLocation.pathname;
11658
+ } else if (location.pathname.charAt(0) !== '/') {
11659
+ location.pathname = resolve_pathname(location.pathname, currentLocation.pathname);
11660
+ }
11661
+ } else {
11662
+ // When there is no prior location and pathname is empty, set it to /
11663
+ if (!location.pathname) {
11664
+ location.pathname = '/';
11665
+ }
11666
+ }
11667
 
11668
+ return location;
11669
+ }
11670
+ function locationsAreEqual(a, b) {
11671
+ return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && value_equal(a.state, b.state);
11672
+ }
11673
 
11674
+ function createTransitionManager() {
11675
+ var prompt = null;
11676
+
11677
+ function setPrompt(nextPrompt) {
11678
+ false ? undefined : void 0;
11679
+ prompt = nextPrompt;
11680
+ return function () {
11681
+ if (prompt === nextPrompt) prompt = null;
11682
+ };
11683
+ }
11684
 
11685
+ function confirmTransitionTo(location, action, getUserConfirmation, callback) {
11686
+ // TODO: If another transition starts while we're still confirming
11687
+ // the previous one, we may end up in a weird state. Figure out the
11688
+ // best way to handle this.
11689
+ if (prompt != null) {
11690
+ var result = typeof prompt === 'function' ? prompt(location, action) : prompt;
11691
 
11692
+ if (typeof result === 'string') {
11693
+ if (typeof getUserConfirmation === 'function') {
11694
+ getUserConfirmation(result, callback);
11695
+ } else {
11696
+ false ? undefined : void 0;
11697
+ callback(true);
11698
+ }
11699
+ } else {
11700
+ // Return false from a transition hook to cancel the transition.
11701
+ callback(result !== false);
11702
  }
11703
+ } else {
11704
+ callback(true);
11705
+ }
11706
+ }
11707
 
11708
+ var listeners = [];
11709
 
11710
+ function appendListener(fn) {
11711
+ var isActive = true;
 
11712
 
11713
+ function listener() {
11714
+ if (isActive) fn.apply(void 0, arguments);
11715
  }
11716
 
11717
+ listeners.push(listener);
11718
+ return function () {
11719
+ isActive = false;
11720
+ listeners = listeners.filter(function (item) {
11721
+ return item !== listener;
11722
+ });
11723
+ };
11724
  }
 
11725
 
11726
+ function notifyListeners() {
11727
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
11728
+ args[_key] = arguments[_key];
11729
+ }
 
 
 
 
 
11730
 
11731
+ listeners.forEach(function (listener) {
11732
+ return listener.apply(void 0, args);
11733
+ });
11734
+ }
 
 
 
 
 
11735
 
11736
+ return {
11737
+ setPrompt: setPrompt,
11738
+ confirmTransitionTo: confirmTransitionTo,
11739
+ appendListener: appendListener,
11740
+ notifyListeners: notifyListeners
11741
+ };
 
 
 
 
11742
  }
11743
 
11744
+ var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
11745
+ function getConfirmation(message, callback) {
11746
+ callback(window.confirm(message)); // eslint-disable-line no-alert
 
 
 
 
 
11747
  }
 
11748
  /**
11749
+ * Returns true if the HTML5 history API is supported. Taken from Modernizr.
11750
  *
11751
+ * https://github.com/Modernizr/Modernizr/blob/master/LICENSE
11752
+ * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js
11753
+ * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586
11754
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11755
 
11756
+ function supportsHistory() {
11757
+ var ua = window.navigator.userAgent;
11758
+ if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;
11759
+ return window.history && 'pushState' in window.history;
11760
  }
 
11761
  /**
11762
+ * Returns true if browser fires popstate on hash change.
11763
+ * IE10 and IE11 do not.
 
 
 
 
11764
  */
 
 
 
 
 
 
 
 
11765
 
11766
+ function supportsPopStateOnHashChange() {
11767
+ return window.navigator.userAgent.indexOf('Trident') === -1;
11768
  }
 
11769
  /**
11770
+ * Returns false if using go(n) with hash history causes a full page reload.
 
 
 
 
 
11771
  */
 
 
 
11772
 
11773
+ function supportsGoWithoutReloadUsingHash() {
11774
+ return window.navigator.userAgent.indexOf('Firefox') === -1;
11775
+ }
11776
  /**
11777
+ * Returns true if a given popstate event is an extraneous WebKit event.
11778
+ * Accounts for the fact that Chrome on iOS fires real popstate events
11779
+ * containing undefined state when pressing the back button.
 
 
 
11780
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11781
 
11782
+ function isExtraneousPopstateEvent(event) {
11783
+ return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;
11784
+ }
11785
 
11786
+ var PopStateEvent = 'popstate';
11787
+ var HashChangeEvent = 'hashchange';
 
 
 
 
 
11788
 
11789
+ function getHistoryState() {
11790
+ try {
11791
+ return window.history.state || {};
11792
+ } catch (e) {
11793
+ // IE 11 sometimes throws when accessing window.history.state
11794
+ // See https://github.com/ReactTraining/history/pull/289
11795
+ return {};
11796
  }
 
 
11797
  }
 
11798
  /**
11799
+ * Creates a history object that uses the HTML5 history API including
11800
+ * pushState, replaceState, and the popstate event.
11801
+ */
11802
+
11803
+
11804
+ function createBrowserHistory(props) {
11805
+ if (props === void 0) {
11806
+ props = {};
 
 
 
 
 
 
 
11807
  }
11808
 
11809
+ !canUseDOM ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
11810
+ var globalHistory = window.history;
11811
+ var canUseHistory = supportsHistory();
11812
+ var needsHashChangeListener = !supportsPopStateOnHashChange();
11813
+ var _props = props,
11814
+ _props$forceRefresh = _props.forceRefresh,
11815
+ forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,
11816
+ _props$getUserConfirm = _props.getUserConfirmation,
11817
+ getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,
11818
+ _props$keyLength = _props.keyLength,
11819
+ keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;
11820
+ var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';
11821
 
11822
+ function getDOMLocation(historyState) {
11823
+ var _ref = historyState || {},
11824
+ key = _ref.key,
11825
+ state = _ref.state;
11826
+
11827
+ var _window$location = window.location,
11828
+ pathname = _window$location.pathname,
11829
+ search = _window$location.search,
11830
+ hash = _window$location.hash;
11831
+ var path = pathname + search + hash;
11832
+ false ? undefined : void 0;
11833
+ if (basename) path = stripBasename(path, basename);
11834
+ return createLocation(path, state, key);
11835
  }
11836
 
11837
+ function createKey() {
11838
+ return Math.random().toString(36).substr(2, keyLength);
11839
  }
11840
 
11841
+ var transitionManager = createTransitionManager();
 
11842
 
11843
+ function setState(nextState) {
11844
+ Object(esm_extends["a" /* default */])(history, nextState);
11845
 
11846
+ history.length = globalHistory.length;
11847
+ transitionManager.notifyListeners(history.location, history.action);
11848
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11849
 
11850
+ function handlePopState(event) {
11851
+ // Ignore extraneous popstate events in WebKit.
11852
+ if (isExtraneousPopstateEvent(event)) return;
11853
+ handlePop(getDOMLocation(event.state));
11854
+ }
 
 
 
11855
 
11856
+ function handleHashChange() {
11857
+ handlePop(getDOMLocation(getHistoryState()));
11858
+ }
 
 
 
 
11859
 
11860
+ var forceNextPop = false;
 
 
 
 
11861
 
11862
+ function handlePop(location) {
11863
+ if (forceNextPop) {
11864
+ forceNextPop = false;
11865
+ setState();
11866
+ } else {
11867
+ var action = 'POP';
11868
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
11869
+ if (ok) {
11870
+ setState({
11871
+ action: action,
11872
+ location: location
11873
+ });
11874
+ } else {
11875
+ revertPop(location);
11876
+ }
11877
+ });
11878
  }
11879
+ }
 
 
 
 
 
 
 
 
11880
 
11881
+ function revertPop(fromLocation) {
11882
+ var toLocation = history.location; // TODO: We could probably make this more reliable by
11883
+ // keeping a list of keys we've seen in sessionStorage.
11884
+ // Instead, we just default to 0 for keys we don't know.
 
 
 
11885
 
11886
+ var toIndex = allKeys.indexOf(toLocation.key);
11887
+ if (toIndex === -1) toIndex = 0;
11888
+ var fromIndex = allKeys.indexOf(fromLocation.key);
11889
+ if (fromIndex === -1) fromIndex = 0;
11890
+ var delta = toIndex - fromIndex;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11891
 
11892
+ if (delta) {
11893
+ forceNextPop = true;
11894
+ go(delta);
11895
+ }
11896
+ }
 
 
 
 
 
 
 
 
 
 
 
 
11897
 
11898
+ var initialLocation = getDOMLocation(getHistoryState());
11899
+ var allKeys = [initialLocation.key]; // Public interface
11900
 
11901
+ function createHref(location) {
11902
+ return basename + createPath(location);
11903
+ }
11904
 
11905
+ function push(path, state) {
11906
+ false ? undefined : void 0;
11907
+ var action = 'PUSH';
11908
+ var location = createLocation(path, state, createKey(), history.location);
11909
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
11910
+ if (!ok) return;
11911
+ var href = createHref(location);
11912
+ var key = location.key,
11913
+ state = location.state;
11914
 
11915
+ if (canUseHistory) {
11916
+ globalHistory.pushState({
11917
+ key: key,
11918
+ state: state
11919
+ }, null, href);
11920
 
11921
+ if (forceRefresh) {
11922
+ window.location.href = href;
11923
+ } else {
11924
+ var prevIndex = allKeys.indexOf(history.location.key);
11925
+ var nextKeys = allKeys.slice(0, prevIndex + 1);
11926
+ nextKeys.push(location.key);
11927
+ allKeys = nextKeys;
11928
+ setState({
11929
+ action: action,
11930
+ location: location
11931
+ });
11932
+ }
11933
+ } else {
11934
+ false ? undefined : void 0;
11935
+ window.location.href = href;
11936
+ }
11937
+ });
11938
+ }
11939
 
11940
+ function replace(path, state) {
11941
+ false ? undefined : void 0;
11942
+ var action = 'REPLACE';
11943
+ var location = createLocation(path, state, createKey(), history.location);
11944
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
11945
+ if (!ok) return;
11946
+ var href = createHref(location);
11947
+ var key = location.key,
11948
+ state = location.state;
11949
 
11950
+ if (canUseHistory) {
11951
+ globalHistory.replaceState({
11952
+ key: key,
11953
+ state: state
11954
+ }, null, href);
11955
 
11956
+ if (forceRefresh) {
11957
+ window.location.replace(href);
11958
+ } else {
11959
+ var prevIndex = allKeys.indexOf(history.location.key);
11960
+ if (prevIndex !== -1) allKeys[prevIndex] = location.key;
11961
+ setState({
11962
+ action: action,
11963
+ location: location
11964
+ });
11965
+ }
11966
+ } else {
11967
+ false ? undefined : void 0;
11968
+ window.location.replace(href);
11969
+ }
11970
+ });
11971
+ }
11972
 
11973
+ function go(n) {
11974
+ globalHistory.go(n);
11975
+ }
11976
 
11977
+ function goBack() {
11978
+ go(-1);
11979
+ }
11980
 
11981
+ function goForward() {
11982
+ go(1);
11983
+ }
 
 
 
 
11984
 
11985
+ var listenerCount = 0;
 
 
 
 
 
 
 
11986
 
11987
+ function checkDOMListeners(delta) {
11988
+ listenerCount += delta;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11989
 
11990
+ if (listenerCount === 1 && delta === 1) {
11991
+ window.addEventListener(PopStateEvent, handlePopState);
11992
+ if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);
11993
+ } else if (listenerCount === 0) {
11994
+ window.removeEventListener(PopStateEvent, handlePopState);
11995
+ if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);
11996
  }
 
 
 
11997
  }
11998
 
11999
+ var isBlocked = false;
 
 
12000
 
12001
+ function block(prompt) {
12002
+ if (prompt === void 0) {
12003
+ prompt = false;
12004
  }
 
12005
 
12006
+ var unblock = transitionManager.setPrompt(prompt);
12007
+
12008
+ if (!isBlocked) {
12009
+ checkDOMListeners(1);
12010
+ isBlocked = true;
12011
+ }
12012
 
 
 
 
 
 
 
 
12013
  return function () {
12014
+ if (isBlocked) {
12015
+ isBlocked = false;
12016
+ checkDOMListeners(-1);
12017
+ }
 
 
12018
 
12019
+ return unblock();
12020
+ };
12021
+ }
12022
 
12023
+ function listen(listener) {
12024
+ var unlisten = transitionManager.appendListener(listener);
12025
+ checkDOMListeners(1);
12026
+ return function () {
12027
+ checkDOMListeners(-1);
12028
+ unlisten();
12029
+ };
12030
  }
12031
 
12032
+ var history = {
12033
+ length: globalHistory.length,
12034
+ action: 'POP',
12035
+ location: initialLocation,
12036
+ createHref: createHref,
12037
+ push: push,
12038
+ replace: replace,
12039
+ go: go,
12040
+ goBack: goBack,
12041
+ goForward: goForward,
12042
+ block: block,
12043
+ listen: listen
12044
+ };
12045
+ return history;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12046
  }
12047
 
12048
+ var HashChangeEvent$1 = 'hashchange';
12049
+ var HashPathCoders = {
12050
+ hashbang: {
12051
+ encodePath: function encodePath(path) {
12052
+ return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);
12053
+ },
12054
+ decodePath: function decodePath(path) {
12055
+ return path.charAt(0) === '!' ? path.substr(1) : path;
12056
+ }
12057
+ },
12058
+ noslash: {
12059
+ encodePath: stripLeadingSlash,
12060
+ decodePath: addLeadingSlash
12061
+ },
12062
+ slash: {
12063
+ encodePath: addLeadingSlash,
12064
+ decodePath: addLeadingSlash
12065
+ }
12066
+ };
12067
 
12068
+ function stripHash(url) {
12069
+ var hashIndex = url.indexOf('#');
12070
+ return hashIndex === -1 ? url : url.slice(0, hashIndex);
12071
+ }
12072
 
12073
+ function getHashPath() {
12074
+ // We can't use window.location.hash here because it's not
12075
+ // consistent across browsers - Firefox will pre-decode it!
12076
+ var href = window.location.href;
12077
+ var hashIndex = href.indexOf('#');
12078
+ return hashIndex === -1 ? '' : href.substring(hashIndex + 1);
12079
+ }
12080
 
12081
+ function pushHashPath(path) {
12082
+ window.location.hash = path;
12083
+ }
12084
 
12085
+ function replaceHashPath(path) {
12086
+ window.location.replace(stripHash(window.location.href) + '#' + path);
12087
+ }
12088
 
12089
+ function createHashHistory(props) {
12090
+ if (props === void 0) {
12091
+ props = {};
12092
+ }
12093
 
12094
+ !canUseDOM ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
12095
+ var globalHistory = window.history;
12096
+ var canGoWithoutReload = supportsGoWithoutReloadUsingHash();
12097
+ var _props = props,
12098
+ _props$getUserConfirm = _props.getUserConfirmation,
12099
+ getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,
12100
+ _props$hashType = _props.hashType,
12101
+ hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;
12102
+ var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';
12103
+ var _HashPathCoders$hashT = HashPathCoders[hashType],
12104
+ encodePath = _HashPathCoders$hashT.encodePath,
12105
+ decodePath = _HashPathCoders$hashT.decodePath;
12106
 
12107
+ function getDOMLocation() {
12108
+ var path = decodePath(getHashPath());
12109
+ false ? undefined : void 0;
12110
+ if (basename) path = stripBasename(path, basename);
12111
+ return createLocation(path);
12112
+ }
12113
 
12114
+ var transitionManager = createTransitionManager();
 
12115
 
12116
+ function setState(nextState) {
12117
+ Object(esm_extends["a" /* default */])(history, nextState);
12118
 
12119
+ history.length = globalHistory.length;
12120
+ transitionManager.notifyListeners(history.location, history.action);
12121
+ }
 
 
 
 
12122
 
12123
+ var forceNextPop = false;
12124
+ var ignorePath = null;
 
 
12125
 
12126
+ function locationsAreEqual$$1(a, b) {
12127
+ return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;
12128
+ }
 
12129
 
12130
+ function handleHashChange() {
12131
+ var path = getHashPath();
12132
+ var encodedPath = encodePath(path);
12133
 
12134
+ if (path !== encodedPath) {
12135
+ // Ensure we always have a properly-encoded hash.
12136
+ replaceHashPath(encodedPath);
12137
+ } else {
12138
+ var location = getDOMLocation();
12139
+ var prevLocation = history.location;
12140
+ if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.
12141
 
12142
+ if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.
 
12143
 
12144
+ ignorePath = null;
12145
+ handlePop(location);
12146
+ }
12147
+ }
12148
 
12149
+ function handlePop(location) {
12150
+ if (forceNextPop) {
12151
+ forceNextPop = false;
12152
+ setState();
12153
+ } else {
12154
+ var action = 'POP';
12155
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
12156
+ if (ok) {
12157
+ setState({
12158
+ action: action,
12159
+ location: location
12160
+ });
12161
+ } else {
12162
+ revertPop(location);
12163
+ }
12164
+ });
12165
+ }
12166
+ }
12167
 
12168
+ function revertPop(fromLocation) {
12169
+ var toLocation = history.location; // TODO: We could probably make this more reliable by
12170
+ // keeping a list of paths we've seen in sessionStorage.
12171
+ // Instead, we just default to 0 for paths we don't know.
12172
 
12173
+ var toIndex = allPaths.lastIndexOf(createPath(toLocation));
12174
+ if (toIndex === -1) toIndex = 0;
12175
+ var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));
12176
+ if (fromIndex === -1) fromIndex = 0;
12177
+ var delta = toIndex - fromIndex;
12178
 
12179
+ if (delta) {
12180
+ forceNextPop = true;
12181
+ go(delta);
12182
+ }
12183
+ } // Ensure the hash is encoded properly before doing anything else.
12184
 
 
 
 
12185
 
12186
+ var path = getHashPath();
12187
+ var encodedPath = encodePath(path);
12188
+ if (path !== encodedPath) replaceHashPath(encodedPath);
12189
+ var initialLocation = getDOMLocation();
12190
+ var allPaths = [createPath(initialLocation)]; // Public interface
12191
 
12192
+ function createHref(location) {
12193
+ var baseTag = document.querySelector('base');
12194
+ var href = '';
12195
 
12196
+ if (baseTag && baseTag.getAttribute('href')) {
12197
+ href = stripHash(window.location.href);
12198
+ }
12199
 
12200
+ return href + '#' + encodePath(basename + createPath(location));
12201
+ }
12202
 
12203
+ function push(path, state) {
12204
+ false ? undefined : void 0;
12205
+ var action = 'PUSH';
12206
+ var location = createLocation(path, undefined, undefined, history.location);
12207
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
12208
+ if (!ok) return;
12209
+ var path = createPath(location);
12210
+ var encodedPath = encodePath(basename + path);
12211
+ var hashChanged = getHashPath() !== encodedPath;
12212
 
12213
+ if (hashChanged) {
12214
+ // We cannot tell if a hashchange was caused by a PUSH, so we'd
12215
+ // rather setState here and ignore the hashchange. The caveat here
12216
+ // is that other hash histories in the page will consider it a POP.
12217
+ ignorePath = path;
12218
+ pushHashPath(encodedPath);
12219
+ var prevIndex = allPaths.lastIndexOf(createPath(history.location));
12220
+ var nextPaths = allPaths.slice(0, prevIndex + 1);
12221
+ nextPaths.push(path);
12222
+ allPaths = nextPaths;
12223
+ setState({
12224
+ action: action,
12225
+ location: location
12226
+ });
12227
+ } else {
12228
+ false ? undefined : void 0;
12229
+ setState();
12230
+ }
12231
+ });
12232
+ }
12233
 
12234
+ function replace(path, state) {
12235
+ false ? undefined : void 0;
12236
+ var action = 'REPLACE';
12237
+ var location = createLocation(path, undefined, undefined, history.location);
12238
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
12239
+ if (!ok) return;
12240
+ var path = createPath(location);
12241
+ var encodedPath = encodePath(basename + path);
12242
+ var hashChanged = getHashPath() !== encodedPath;
12243
 
12244
+ if (hashChanged) {
12245
+ // We cannot tell if a hashchange was caused by a REPLACE, so we'd
12246
+ // rather setState here and ignore the hashchange. The caveat here
12247
+ // is that other hash histories in the page will consider it a POP.
12248
+ ignorePath = path;
12249
+ replaceHashPath(encodedPath);
12250
+ }
12251
 
12252
+ var prevIndex = allPaths.indexOf(createPath(history.location));
12253
+ if (prevIndex !== -1) allPaths[prevIndex] = path;
12254
+ setState({
12255
+ action: action,
12256
+ location: location
12257
+ });
12258
+ });
12259
+ }
12260
 
12261
+ function go(n) {
12262
+ false ? undefined : void 0;
12263
+ globalHistory.go(n);
12264
+ }
12265
 
12266
+ function goBack() {
12267
+ go(-1);
12268
+ }
12269
 
12270
+ function goForward() {
12271
+ go(1);
12272
+ }
12273
 
12274
+ var listenerCount = 0;
12275
 
12276
+ function checkDOMListeners(delta) {
12277
+ listenerCount += delta;
12278
 
12279
+ if (listenerCount === 1 && delta === 1) {
12280
+ window.addEventListener(HashChangeEvent$1, handleHashChange);
12281
+ } else if (listenerCount === 0) {
12282
+ window.removeEventListener(HashChangeEvent$1, handleHashChange);
12283
+ }
12284
+ }
12285
 
12286
+ var isBlocked = false;
12287
 
12288
+ function block(prompt) {
12289
+ if (prompt === void 0) {
12290
+ prompt = false;
12291
+ }
12292
 
12293
+ var unblock = transitionManager.setPrompt(prompt);
12294
 
12295
+ if (!isBlocked) {
12296
+ checkDOMListeners(1);
12297
+ isBlocked = true;
12298
+ }
12299
 
12300
+ return function () {
12301
+ if (isBlocked) {
12302
+ isBlocked = false;
12303
+ checkDOMListeners(-1);
12304
+ }
12305
 
12306
+ return unblock();
12307
+ };
12308
+ }
12309
 
12310
+ function listen(listener) {
12311
+ var unlisten = transitionManager.appendListener(listener);
12312
+ checkDOMListeners(1);
12313
+ return function () {
12314
+ checkDOMListeners(-1);
12315
+ unlisten();
12316
+ };
12317
+ }
12318
 
12319
+ var history = {
12320
+ length: globalHistory.length,
12321
+ action: 'POP',
12322
+ location: initialLocation,
12323
+ createHref: createHref,
12324
+ push: push,
12325
+ replace: replace,
12326
+ go: go,
12327
+ goBack: goBack,
12328
+ goForward: goForward,
12329
+ block: block,
12330
+ listen: listen
12331
+ };
12332
+ return history;
12333
+ }
12334
 
12335
+ function clamp(n, lowerBound, upperBound) {
12336
+ return Math.min(Math.max(n, lowerBound), upperBound);
12337
+ }
12338
  /**
12339
+ * Creates a history object that stores locations in memory.
12340
  */
12341
 
12342
 
12343
+ function createMemoryHistory(props) {
12344
+ if (props === void 0) {
12345
+ props = {};
12346
+ }
12347
 
12348
+ var _props = props,
12349
+ getUserConfirmation = _props.getUserConfirmation,
12350
+ _props$initialEntries = _props.initialEntries,
12351
+ initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,
12352
+ _props$initialIndex = _props.initialIndex,
12353
+ initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,
12354
+ _props$keyLength = _props.keyLength,
12355
+ keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;
12356
+ var transitionManager = createTransitionManager();
12357
 
12358
+ function setState(nextState) {
12359
+ Object(esm_extends["a" /* default */])(history, nextState);
12360
 
12361
+ history.length = history.entries.length;
12362
+ transitionManager.notifyListeners(history.location, history.action);
12363
+ }
12364
 
12365
+ function createKey() {
12366
+ return Math.random().toString(36).substr(2, keyLength);
12367
+ }
12368
 
12369
+ var index = clamp(initialIndex, 0, initialEntries.length - 1);
12370
+ var entries = initialEntries.map(function (entry) {
12371
+ return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());
12372
+ }); // Public interface
12373
 
12374
+ var createHref = createPath;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12375
 
12376
+ function push(path, state) {
12377
+ false ? undefined : void 0;
12378
+ var action = 'PUSH';
12379
+ var location = createLocation(path, state, createKey(), history.location);
12380
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
12381
+ if (!ok) return;
12382
+ var prevIndex = history.index;
12383
+ var nextIndex = prevIndex + 1;
12384
+ var nextEntries = history.entries.slice(0);
 
 
 
12385
 
12386
+ if (nextEntries.length > nextIndex) {
12387
+ nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);
12388
+ } else {
12389
+ nextEntries.push(location);
12390
+ }
12391
 
12392
+ setState({
12393
+ action: action,
12394
+ location: location,
12395
+ index: nextIndex,
12396
+ entries: nextEntries
12397
+ });
12398
+ });
12399
+ }
12400
 
12401
+ function replace(path, state) {
12402
+ false ? undefined : void 0;
12403
+ var action = 'REPLACE';
12404
+ var location = createLocation(path, state, createKey(), history.location);
12405
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
12406
+ if (!ok) return;
12407
+ history.entries[history.index] = location;
12408
+ setState({
12409
+ action: action,
12410
+ location: location
12411
+ });
12412
+ });
12413
+ }
12414
 
12415
+ function go(n) {
12416
+ var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);
12417
+ var action = 'POP';
12418
+ var location = history.entries[nextIndex];
12419
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
12420
+ if (ok) {
12421
+ setState({
12422
+ action: action,
12423
+ location: location,
12424
+ index: nextIndex
12425
+ });
12426
+ } else {
12427
+ // Mimic the behavior of DOM histories by
12428
+ // causing a render after a cancelled POP.
12429
+ setState();
12430
+ }
12431
+ });
12432
+ }
12433
 
12434
+ function goBack() {
12435
+ go(-1);
12436
+ }
12437
 
12438
+ function goForward() {
12439
+ go(1);
12440
  }
12441
 
12442
+ function canGo(n) {
12443
+ var nextIndex = history.index + n;
12444
+ return nextIndex >= 0 && nextIndex < history.entries.length;
12445
+ }
 
 
12446
 
12447
+ function block(prompt) {
12448
+ if (prompt === void 0) {
12449
+ prompt = false;
12450
+ }
12451
 
12452
+ return transitionManager.setPrompt(prompt);
12453
+ }
 
 
 
 
 
12454
 
12455
+ function listen(listener) {
12456
+ return transitionManager.appendListener(listener);
12457
+ }
 
 
 
 
 
12458
 
12459
+ var history = {
12460
+ length: entries.length,
12461
+ action: 'POP',
12462
+ location: entries[index],
12463
+ index: index,
12464
+ entries: entries,
12465
+ createHref: createHref,
12466
+ push: push,
12467
+ replace: replace,
12468
+ go: go,
12469
+ goBack: goBack,
12470
+ goForward: goForward,
12471
+ canGo: canGo,
12472
+ block: block,
12473
+ listen: listen
12474
  };
12475
+ return history;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12476
  }
12477
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12478
 
 
 
 
 
12479
 
 
 
 
 
12480
 
12481
+ /***/ }),
 
 
 
12482
 
12483
+ /***/ 73:
12484
+ /***/ (function(module, exports) {
 
 
12485
 
12486
+ (function() { module.exports = this["wp"]["date"]; }());
 
 
 
12487
 
12488
+ /***/ }),
 
 
 
 
12489
 
12490
+ /***/ 74:
12491
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 
12492
 
12493
+ "use strict";
12494
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return STORE_KEY; });
12495
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return API_NAMESPACE; });
12496
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return QUEUE_OPTION_NAME; });
12497
+ var STORE_KEY = 'wc/customer-effort-score';
12498
+ var API_NAMESPACE = '/wc-admin';
12499
+ var QUEUE_OPTION_NAME = 'woocommerce_ces_tracks_queue';
12500
 
12501
+ /***/ }),
 
 
 
12502
 
12503
+ /***/ 75:
12504
+ /***/ (function(module, exports) {
 
 
12505
 
12506
+ function _setPrototypeOf(o, p) {
12507
+ module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
12508
+ o.__proto__ = p;
12509
+ return o;
 
 
 
 
 
 
 
12510
  };
 
 
 
12511
 
12512
+ return _setPrototypeOf(o, p);
12513
+ }
12514
 
12515
+ module.exports = _setPrototypeOf;
 
 
 
 
 
 
12516
 
12517
+ /***/ }),
 
12518
 
12519
+ /***/ 76:
12520
+ /***/ (function(module, exports, __webpack_require__) {
12521
 
12522
+ "use strict";
 
 
 
 
 
 
12523
  /**
12524
+ * Copyright (c) 2013-present, Facebook, Inc.
12525
+ *
12526
+ * This source code is licensed under the MIT license found in the
12527
+ * LICENSE file in the root directory of this source tree.
12528
  */
12529
 
 
 
 
12530
 
12531
 
12532
+ var ReactPropTypesSecret = __webpack_require__(77);
 
 
 
 
12533
 
12534
+ function emptyFunction() {}
12535
+ function emptyFunctionWithReset() {}
12536
+ emptyFunctionWithReset.resetWarningCache = emptyFunction;
12537
+
12538
+ module.exports = function() {
12539
+ function shim(props, propName, componentName, location, propFullName, secret) {
12540
+ if (secret === ReactPropTypesSecret) {
12541
+ // It is still safe when called from React.
12542
+ return;
12543
+ }
12544
+ var err = new Error(
12545
+ 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
12546
+ 'Use PropTypes.checkPropTypes() to call them. ' +
12547
+ 'Read more at http://fb.me/use-check-prop-types'
12548
+ );
12549
+ err.name = 'Invariant Violation';
12550
+ throw err;
12551
  };
12552
+ shim.isRequired = shim;
12553
+ function getShim() {
12554
+ return shim;
12555
+ };
12556
+ // Important!
12557
+ // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
12558
+ var ReactPropTypes = {
12559
+ array: shim,
12560
+ bool: shim,
12561
+ func: shim,
12562
+ number: shim,
12563
+ object: shim,
12564
+ string: shim,
12565
+ symbol: shim,
12566
 
12567
+ any: shim,
12568
+ arrayOf: getShim,
12569
+ element: shim,
12570
+ elementType: shim,
12571
+ instanceOf: getShim,
12572
+ node: shim,
12573
+ objectOf: getShim,
12574
+ oneOf: getShim,
12575
+ oneOfType: getShim,
12576
+ shape: getShim,
12577
+ exact: getShim,
12578
+
12579
+ checkPropTypes: emptyFunctionWithReset,
12580
+ resetWarningCache: emptyFunction
12581
  };
 
 
 
 
12582
 
12583
+ ReactPropTypes.PropTypes = ReactPropTypes;
12584
+
12585
+ return ReactPropTypes;
12586
+ };
12587
+
12588
+
12589
+ /***/ }),
12590
+
12591
+ /***/ 77:
12592
+ /***/ (function(module, exports, __webpack_require__) {
12593
+
12594
+ "use strict";
12595
  /**
12596
+ * Copyright (c) 2013-present, Facebook, Inc.
12597
+ *
12598
+ * This source code is licensed under the MIT license found in the
12599
+ * LICENSE file in the root directory of this source tree.
12600
  */
12601
 
 
 
 
 
 
 
 
 
12602
 
 
12603
 
12604
+ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
12605
 
12606
+ module.exports = ReactPropTypesSecret;
12607
 
12608
 
12609
+ /***/ }),
12610
 
12611
+ /***/ 8:
12612
+ /***/ (function(module, exports) {
 
12613
 
12614
+ function _assertThisInitialized(self) {
12615
+ if (self === void 0) {
12616
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
12617
+ }
12618
 
12619
+ return self;
12620
+ }
12621
 
12622
+ module.exports = _assertThisInitialized;
12623
 
12624
+ /***/ }),
 
 
 
 
 
 
 
 
 
12625
 
12626
+ /***/ 81:
12627
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
12628
 
12629
+ "use strict";
 
 
 
12630
 
12631
+ // EXPORTS
12632
+ __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _toConsumableArray; });
12633
 
12634
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
12635
+ var arrayLikeToArray = __webpack_require__(69);
 
12636
 
12637
+ // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
 
12638
 
12639
+ function _arrayWithoutHoles(arr) {
12640
+ if (Array.isArray(arr)) return Object(arrayLikeToArray["a" /* default */])(arr);
 
 
 
 
12641
  }
12642
+ // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
12643
+ function _iterableToArray(iter) {
12644
+ if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
12645
  }
12646
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
12647
+ var unsupportedIterableToArray = __webpack_require__(91);
12648
 
12649
+ // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
12650
+ function _nonIterableSpread() {
12651
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12652
+ }
12653
+ // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
12654
 
12655
 
12656
 
12657
 
12658
+ function _toConsumableArray(arr) {
12659
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || Object(unsupportedIterableToArray["a" /* default */])(arr) || _nonIterableSpread();
12660
+ }
12661
 
12662
+ /***/ }),
12663
 
12664
+ /***/ 83:
12665
+ /***/ (function(module, exports) {
12666
 
12667
+ var g;
12668
 
12669
+ // This works in non-strict mode
12670
+ g = (function() {
12671
+ return this;
12672
+ })();
12673
 
12674
+ try {
12675
+ // This works if eval is allowed (see CSP)
12676
+ g = g || new Function("return this")();
12677
+ } catch (e) {
12678
+ // This works if the window reference is available
12679
+ if (typeof window === "object") g = window;
12680
+ }
12681
 
12682
+ // g can still be undefined, but nothing to do about it...
12683
+ // We return undefined, instead of nothing here, so it's
12684
+ // easier to handle this case. if(!global) { ...}
12685
 
12686
+ module.exports = g;
 
 
12687
 
 
 
 
12688
 
12689
+ /***/ }),
 
 
12690
 
12691
+ /***/ 86:
12692
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
12693
 
12694
+ "use strict";
 
 
 
 
12695
 
 
 
 
12696
 
12697
+ var utils = __webpack_require__(52);
12698
+ var formats = __webpack_require__(68);
12699
+ var has = Object.prototype.hasOwnProperty;
 
 
 
 
 
 
 
 
12700
 
12701
+ var arrayPrefixGenerators = {
12702
+ brackets: function brackets(prefix) {
12703
+ return prefix + '[]';
12704
+ },
12705
+ comma: 'comma',
12706
+ indices: function indices(prefix, key) {
12707
+ return prefix + '[' + key + ']';
12708
+ },
12709
+ repeat: function repeat(prefix) {
12710
+ return prefix;
12711
+ }
12712
  };
12713
 
12714
+ var isArray = Array.isArray;
12715
+ var push = Array.prototype.push;
12716
+ var pushToArray = function (arr, valueOrArray) {
12717
+ push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);
12718
+ };
12719
 
12720
+ var toISO = Date.prototype.toISOString;
12721
 
12722
+ var defaultFormat = formats['default'];
12723
+ var defaults = {
12724
+ addQueryPrefix: false,
12725
+ allowDots: false,
12726
+ charset: 'utf-8',
12727
+ charsetSentinel: false,
12728
+ delimiter: '&',
12729
+ encode: true,
12730
+ encoder: utils.encode,
12731
+ encodeValuesOnly: false,
12732
+ format: defaultFormat,
12733
+ formatter: formats.formatters[defaultFormat],
12734
+ // deprecated
12735
+ indices: false,
12736
+ serializeDate: function serializeDate(date) {
12737
+ return toISO.call(date);
12738
+ },
12739
+ skipNulls: false,
12740
+ strictNullHandling: false
12741
+ };
12742
+
12743
+ var isNonNullishPrimitive = function isNonNullishPrimitive(v) {
12744
+ return typeof v === 'string'
12745
+ || typeof v === 'number'
12746
+ || typeof v === 'boolean'
12747
+ || typeof v === 'symbol'
12748
+ || typeof v === 'bigint';
12749
+ };
12750
+
12751
+ var stringify = function stringify(
12752
+ object,
12753
+ prefix,
12754
+ generateArrayPrefix,
12755
+ strictNullHandling,
12756
+ skipNulls,
12757
+ encoder,
12758
+ filter,
12759
+ sort,
12760
+ allowDots,
12761
+ serializeDate,
12762
+ formatter,
12763
+ encodeValuesOnly,
12764
+ charset
12765
+ ) {
12766
+ var obj = object;
12767
+ if (typeof filter === 'function') {
12768
+ obj = filter(prefix, obj);
12769
+ } else if (obj instanceof Date) {
12770
+ obj = serializeDate(obj);
12771
+ } else if (generateArrayPrefix === 'comma' && isArray(obj)) {
12772
+ obj = utils.maybeMap(obj, function (value) {
12773
+ if (value instanceof Date) {
12774
+ return serializeDate(value);
12775
+ }
12776
+ return value;
12777
+ }).join(',');
12778
+ }
12779
 
12780
+ if (obj === null) {
12781
+ if (strictNullHandling) {
12782
+ return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key') : prefix;
12783
+ }
12784
 
12785
+ obj = '';
12786
+ }
12787
 
12788
+ if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {
12789
+ if (encoder) {
12790
+ var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key');
12791
+ return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value'))];
12792
+ }
12793
+ return [formatter(prefix) + '=' + formatter(String(obj))];
12794
+ }
12795
 
12796
+ var values = [];
12797
 
12798
+ if (typeof obj === 'undefined') {
12799
+ return values;
12800
+ }
12801
 
12802
+ var objKeys;
12803
+ if (isArray(filter)) {
12804
+ objKeys = filter;
12805
+ } else {
12806
+ var keys = Object.keys(obj);
12807
+ objKeys = sort ? keys.sort(sort) : keys;
12808
+ }
12809
+
12810
+ for (var i = 0; i < objKeys.length; ++i) {
12811
+ var key = objKeys[i];
12812
+ var value = obj[key];
12813
+
12814
+ if (skipNulls && value === null) {
12815
+ continue;
12816
+ }
12817
 
12818
+ var keyPrefix = isArray(obj)
12819
+ ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix
12820
+ : prefix + (allowDots ? '.' + key : '[' + key + ']');
12821
 
12822
+ pushToArray(values, stringify(
12823
+ value,
12824
+ keyPrefix,
12825
+ generateArrayPrefix,
12826
+ strictNullHandling,
12827
+ skipNulls,
12828
+ encoder,
12829
+ filter,
12830
+ sort,
12831
+ allowDots,
12832
+ serializeDate,
12833
+ formatter,
12834
+ encodeValuesOnly,
12835
+ charset
12836
+ ));
12837
+ }
12838
 
12839
+ return values;
12840
+ };
12841
 
12842
+ var normalizeStringifyOptions = function normalizeStringifyOptions(opts) {
12843
+ if (!opts) {
12844
+ return defaults;
12845
+ }
12846
 
12847
+ if (opts.encoder !== null && opts.encoder !== undefined && typeof opts.encoder !== 'function') {
12848
+ throw new TypeError('Encoder has to be a function.');
12849
+ }
12850
 
12851
+ var charset = opts.charset || defaults.charset;
12852
+ if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
12853
+ throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
12854
+ }
12855
 
12856
+ var format = formats['default'];
12857
+ if (typeof opts.format !== 'undefined') {
12858
+ if (!has.call(formats.formatters, opts.format)) {
12859
+ throw new TypeError('Unknown format option provided.');
12860
+ }
12861
+ format = opts.format;
12862
+ }
12863
+ var formatter = formats.formatters[format];
12864
 
12865
+ var filter = defaults.filter;
12866
+ if (typeof opts.filter === 'function' || isArray(opts.filter)) {
12867
+ filter = opts.filter;
12868
+ }
12869
 
12870
+ return {
12871
+ addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,
12872
+ allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
12873
+ charset: charset,
12874
+ charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
12875
+ delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,
12876
+ encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,
12877
+ encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,
12878
+ encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
12879
+ filter: filter,
12880
+ formatter: formatter,
12881
+ serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,
12882
+ skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,
12883
+ sort: typeof opts.sort === 'function' ? opts.sort : null,
12884
+ strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
12885
+ };
12886
+ };
12887
 
12888
+ module.exports = function (object, opts) {
12889
+ var obj = object;
12890
+ var options = normalizeStringifyOptions(opts);
12891
 
12892
+ var objKeys;
12893
+ var filter;
12894
 
12895
+ if (typeof options.filter === 'function') {
12896
+ filter = options.filter;
12897
+ obj = filter('', obj);
12898
+ } else if (isArray(options.filter)) {
12899
+ filter = options.filter;
12900
+ objKeys = filter;
12901
+ }
 
 
 
 
12902
 
12903
+ var keys = [];
 
 
 
12904
 
12905
+ if (typeof obj !== 'object' || obj === null) {
12906
+ return '';
12907
+ }
12908
 
12909
+ var arrayFormat;
12910
+ if (opts && opts.arrayFormat in arrayPrefixGenerators) {
12911
+ arrayFormat = opts.arrayFormat;
12912
+ } else if (opts && 'indices' in opts) {
12913
+ arrayFormat = opts.indices ? 'indices' : 'repeat';
12914
+ } else {
12915
+ arrayFormat = 'indices';
12916
+ }
12917
 
12918
+ var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];
 
 
12919
 
12920
+ if (!objKeys) {
12921
+ objKeys = Object.keys(obj);
12922
+ }
 
 
 
 
 
 
 
12923
 
12924
+ if (options.sort) {
12925
+ objKeys.sort(options.sort);
12926
+ }
 
 
12927
 
12928
+ for (var i = 0; i < objKeys.length; ++i) {
12929
+ var key = objKeys[i];
 
 
12930
 
12931
+ if (options.skipNulls && obj[key] === null) {
12932
+ continue;
12933
+ }
12934
+ pushToArray(keys, stringify(
12935
+ obj[key],
12936
+ key,
12937
+ generateArrayPrefix,
12938
+ options.strictNullHandling,
12939
+ options.skipNulls,
12940
+ options.encode ? options.encoder : null,
12941
+ options.filter,
12942
+ options.sort,
12943
+ options.allowDots,
12944
+ options.serializeDate,
12945
+ options.formatter,
12946
+ options.encodeValuesOnly,
12947
+ options.charset
12948
+ ));
12949
+ }
12950
 
12951
+ var joined = keys.join(options.delimiter);
12952
+ var prefix = options.addQueryPrefix === true ? '?' : '';
 
 
 
 
 
 
 
12953
 
12954
+ if (options.charsetSentinel) {
12955
+ if (options.charset === 'iso-8859-1') {
12956
+ // encodeURIComponent('&#10003;'), the "numeric entity" representation of a checkmark
12957
+ prefix += 'utf8=%26%2310003%3B&';
12958
+ } else {
12959
+ // encodeURIComponent('✓')
12960
+ prefix += 'utf8=%E2%9C%93&';
 
 
 
 
12961
  }
 
12962
  }
 
 
 
12963
 
12964
+ return joined.length > 0 ? prefix + joined : '';
12965
+ };
12966
 
12967
 
12968
  /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12969
 
12970
+ /***/ 87:
12971
+ /***/ (function(module, exports, __webpack_require__) {
12972
 
12973
+ "use strict";
12974
 
 
 
12975
 
12976
+ var utils = __webpack_require__(52);
 
 
 
 
12977
 
12978
+ var has = Object.prototype.hasOwnProperty;
12979
+ var isArray = Array.isArray;
 
12980
 
12981
+ var defaults = {
12982
+ allowDots: false,
12983
+ allowPrototypes: false,
12984
+ arrayLimit: 20,
12985
+ charset: 'utf-8',
12986
+ charsetSentinel: false,
12987
+ comma: false,
12988
+ decoder: utils.decode,
12989
+ delimiter: '&',
12990
+ depth: 5,
12991
+ ignoreQueryPrefix: false,
12992
+ interpretNumericEntities: false,
12993
+ parameterLimit: 1000,
12994
+ parseArrays: true,
12995
+ plainObjects: false,
12996
+ strictNullHandling: false
12997
+ };
12998
 
12999
+ var interpretNumericEntities = function (str) {
13000
+ return str.replace(/&#(\d+);/g, function ($0, numberStr) {
13001
+ return String.fromCharCode(parseInt(numberStr, 10));
13002
+ });
13003
+ };
13004
 
13005
+ var parseArrayValue = function (val, options) {
13006
+ if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {
13007
+ return val.split(',');
13008
+ }
13009
 
13010
+ return val;
13011
+ };
 
13012
 
13013
+ // This is what browsers will submit when the ✓ character occurs in an
13014
+ // application/x-www-form-urlencoded body and the encoding of the page containing
13015
+ // the form is iso-8859-1, or when the submitted form has an accept-charset
13016
+ // attribute of iso-8859-1. Presumably also with other charsets that do not contain
13017
+ // the ✓ character, such as us-ascii.
13018
+ var isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')
13019
 
13020
+ // These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.
13021
+ var charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')
13022
 
13023
+ var parseValues = function parseQueryStringValues(str, options) {
13024
+ var obj = {};
13025
+ var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str;
13026
+ var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;
13027
+ var parts = cleanStr.split(options.delimiter, limit);
13028
+ var skipIndex = -1; // Keep track of where the utf8 sentinel was found
13029
+ var i;
 
13030
 
13031
+ var charset = options.charset;
13032
+ if (options.charsetSentinel) {
13033
+ for (i = 0; i < parts.length; ++i) {
13034
+ if (parts[i].indexOf('utf8=') === 0) {
13035
+ if (parts[i] === charsetSentinel) {
13036
+ charset = 'utf-8';
13037
+ } else if (parts[i] === isoSentinel) {
13038
+ charset = 'iso-8859-1';
13039
+ }
13040
+ skipIndex = i;
13041
+ i = parts.length; // The eslint settings do not allow break;
13042
+ }
13043
+ }
13044
+ }
13045
 
13046
+ for (i = 0; i < parts.length; ++i) {
13047
+ if (i === skipIndex) {
13048
+ continue;
13049
+ }
13050
+ var part = parts[i];
 
 
 
13051
 
13052
+ var bracketEqualsPos = part.indexOf(']=');
13053
+ var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;
 
 
13054
 
13055
+ var key, val;
13056
+ if (pos === -1) {
13057
+ key = options.decoder(part, defaults.decoder, charset, 'key');
13058
+ val = options.strictNullHandling ? null : '';
13059
+ } else {
13060
+ key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');
13061
+ val = utils.maybeMap(
13062
+ parseArrayValue(part.slice(pos + 1), options),
13063
+ function (encodedVal) {
13064
+ return options.decoder(encodedVal, defaults.decoder, charset, 'value');
13065
+ }
13066
+ );
13067
+ }
13068
 
13069
+ if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {
13070
+ val = interpretNumericEntities(val);
13071
+ }
13072
 
13073
+ if (part.indexOf('[]=') > -1) {
13074
+ val = isArray(val) ? [val] : val;
13075
+ }
13076