WooCommerce Admin - Version 2.4.5

Version Description

2021-09-21 =

  • Fix unsecured reports

=

Download this release

Release Info

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

Code changes from version 2.2.6 to 2.4.5

Files changed (1) hide show
  1. dist/app/index.js +9972 -17029
dist/app/index.js CHANGED
@@ -35,7 +35,7 @@ this["wc"] = this["wc"] || {}; this["wc"]["app"] =
35
  /******/
36
  /******/ // object to store loaded CSS chunks
37
  /******/ var installedCssChunks = {
38
- /******/ 21: 0
39
  /******/ }
40
  /******/ var isCssRtlEnabled = function() {
41
  /******/ return document.dir === 'rtl';
@@ -45,14 +45,14 @@ this["wc"] = this["wc"] || {}; this["wc"]["app"] =
45
  /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
46
  /******/ // Promise = chunk loading, 0 = chunk loaded
47
  /******/ var installedChunks = {
48
- /******/ 21: 0
49
  /******/ };
50
  /******/
51
  /******/
52
  /******/
53
  /******/ // script path function
54
  /******/ function webpackJsonpScriptSrc(chunkId) {
55
- /******/ return __webpack_require__.p + "chunks/" + ({"7":"activity-panels-help","8":"activity-panels-inbox","9":"analytics-report","10":"analytics-report-categories","11":"analytics-report-coupons","12":"analytics-report-customers","13":"analytics-report-downloads","14":"analytics-report-orders","15":"analytics-report-products","16":"analytics-report-revenue","17":"analytics-report-stock","18":"analytics-report-taxes","19":"analytics-report-variations","20":"analytics-settings","27":"customizable-dashboard","28":"dashboard","29":"dashboard-charts","32":"homescreen","34":"leaderboards","36":"marketing-overview","46":"profile-wizard","47":"store-alerts","48":"store-performance","49":"task-list","51":"wcpay-usage-modal"}[chunkId]||chunkId) + ".js"
56
  /******/ }
57
  /******/
58
  /******/ function jsonpScriptSrc(chunkId) {
@@ -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,19601 +284,12568 @@ 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
- /**
12995
- * External dependencies
12996
- */
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
13205
- */
13206
-
13207
-
13208
-
13209
-
13210
-
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
- /* 422 */
19309
- /***/ (function(module, exports, __webpack_require__) {
19310
-
19311
- // extracted by mini-css-extract-plugin
19312
-
19313
- /***/ }),
19314
- /* 423 */
19315
- /***/ (function(module, exports, __webpack_require__) {
19316
-
19317
- // extracted by mini-css-extract-plugin
19318
 
19319
  /***/ }),
19320
- /* 424 */
19321
- /***/ (function(module, exports, __webpack_require__) {
19322
 
19323
- // extracted by mini-css-extract-plugin
 
 
 
19324
 
19325
  /***/ }),
19326
- /* 425 */
19327
- /***/ (function(module, exports, __webpack_require__) {
19328
 
19329
- // extracted by mini-css-extract-plugin
 
19330
 
19331
- /***/ }),
19332
- /* 426 */
19333
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
19334
 
19335
- "use strict";
19336
- /* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(224);
19337
- /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(225);
19338
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
19339
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
19340
 
 
 
 
 
 
 
 
19341
 
 
 
 
19342
 
19343
- 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; }
19344
 
19345
- 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; }
19346
 
19347
- /**
19348
- * WordPress dependencies
19349
- */
19350
 
19351
- /** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */
 
19352
 
 
19353
  /**
19354
- * Return an SVG icon.
19355
- *
19356
- * @param {IconProps} props icon is the SVG component to render
19357
- * size is a number specifiying the icon size in pixels
19358
- * Other props will be passed to wrapped SVG component
19359
  *
19360
- * @return {JSX.Element} Icon component
 
19361
  */
19362
 
19363
- function Icon(_ref) {
19364
- var icon = _ref.icon,
19365
- _ref$size = _ref.size,
19366
- size = _ref$size === void 0 ? 24 : _ref$size,
19367
- props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(_ref, ["icon", "size"]);
19368
-
19369
- return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["cloneElement"])(icon, _objectSpread({
19370
- width: size,
19371
- height: size
19372
- }, props));
19373
- }
19374
-
19375
- /* harmony default export */ __webpack_exports__["a"] = (Icon);
19376
- //# sourceMappingURL=index.js.map
19377
 
19378
- /***/ }),
19379
- /* 427 */
19380
- /***/ (function(module, exports, __webpack_require__) {
19381
 
19382
- // extracted by mini-css-extract-plugin
19383
 
19384
- /***/ }),
19385
- /* 428 */
19386
- /***/ (function(module, exports, __webpack_require__) {
19387
 
19388
- // extracted by mini-css-extract-plugin
 
 
19389
 
19390
- /***/ }),
19391
- /* 429 */
19392
- /***/ (function(module, exports, __webpack_require__) {
19393
 
19394
- var $ = __webpack_require__(12);
19395
 
19396
- // `Number.MAX_SAFE_INTEGER` constant
19397
- // https://tc39.es/ecma262/#sec-number.max_safe_integer
19398
- $({ target: 'Number', stat: true }, {
19399
- MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF
19400
- });
19401
 
 
 
 
 
 
 
 
 
 
19402
 
19403
- /***/ }),
19404
- /* 430 */
19405
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
19406
 
19407
- // extracted by mini-css-extract-plugin
 
19408
 
19409
- /***/ }),
19410
- /* 431 */
19411
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
19412
 
19413
- // extracted by mini-css-extract-plugin
 
 
 
 
 
 
19414
 
19415
- /***/ }),
19416
- /* 432 */
19417
- /***/ (function(module, exports, __webpack_require__) {
 
19418
 
19419
- "use strict";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19420
 
19421
- var global = __webpack_require__(3);
19422
- var redefineAll = __webpack_require__(152);
19423
- var InternalMetadataModule = __webpack_require__(205);
19424
- var collection = __webpack_require__(229);
19425
- var collectionWeak = __webpack_require__(433);
19426
- var isObject = __webpack_require__(10);
19427
- var enforceIternalState = __webpack_require__(45).enforce;
19428
- var NATIVE_WEAK_MAP = __webpack_require__(106);
19429
-
19430
- var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;
19431
- var isExtensible = Object.isExtensible;
19432
- var InternalWeakMap;
19433
-
19434
- var wrapper = function (init) {
19435
- return function WeakMap() {
19436
- return init(this, arguments.length ? arguments[0] : undefined);
19437
- };
19438
- };
19439
 
19440
- // `WeakMap` constructor
19441
- // https://tc39.es/ecma262/#sec-weakmap-constructor
19442
- var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);
19443
-
19444
- // IE11 WeakMap frozen keys fix
19445
- // We can't use feature detection because it crash some old IE builds
19446
- // https://github.com/zloirock/core-js/issues/485
19447
- if (NATIVE_WEAK_MAP && IS_IE11) {
19448
- InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);
19449
- InternalMetadataModule.REQUIRED = true;
19450
- var WeakMapPrototype = $WeakMap.prototype;
19451
- var nativeDelete = WeakMapPrototype['delete'];
19452
- var nativeHas = WeakMapPrototype.has;
19453
- var nativeGet = WeakMapPrototype.get;
19454
- var nativeSet = WeakMapPrototype.set;
19455
- redefineAll(WeakMapPrototype, {
19456
- 'delete': function (key) {
19457
- if (isObject(key) && !isExtensible(key)) {
19458
- var state = enforceIternalState(this);
19459
- if (!state.frozen) state.frozen = new InternalWeakMap();
19460
- return nativeDelete.call(this, key) || state.frozen['delete'](key);
19461
- } return nativeDelete.call(this, key);
19462
- },
19463
- has: function has(key) {
19464
- if (isObject(key) && !isExtensible(key)) {
19465
- var state = enforceIternalState(this);
19466
- if (!state.frozen) state.frozen = new InternalWeakMap();
19467
- return nativeHas.call(this, key) || state.frozen.has(key);
19468
- } return nativeHas.call(this, key);
19469
- },
19470
- get: function get(key) {
19471
- if (isObject(key) && !isExtensible(key)) {
19472
- var state = enforceIternalState(this);
19473
- if (!state.frozen) state.frozen = new InternalWeakMap();
19474
- return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);
19475
- } return nativeGet.call(this, key);
19476
- },
19477
- set: function set(key, value) {
19478
- if (isObject(key) && !isExtensible(key)) {
19479
- var state = enforceIternalState(this);
19480
- if (!state.frozen) state.frozen = new InternalWeakMap();
19481
- nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);
19482
- } else nativeSet.call(this, key, value);
19483
- return this;
19484
  }
19485
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19486
  }
19487
 
 
 
 
 
19488
 
19489
- /***/ }),
19490
- /* 433 */
19491
- /***/ (function(module, exports, __webpack_require__) {
19492
 
19493
- "use strict";
 
 
 
19494
 
19495
- var redefineAll = __webpack_require__(152);
19496
- var getWeakData = __webpack_require__(205).getWeakData;
19497
- var anObject = __webpack_require__(9);
19498
- var isObject = __webpack_require__(10);
19499
- var anInstance = __webpack_require__(136);
19500
- var iterate = __webpack_require__(154);
19501
- var ArrayIterationModule = __webpack_require__(75);
19502
- var $has = __webpack_require__(11);
19503
- var InternalStateModule = __webpack_require__(45);
19504
-
19505
- var setInternalState = InternalStateModule.set;
19506
- var internalStateGetterFor = InternalStateModule.getterFor;
19507
- var find = ArrayIterationModule.find;
19508
- var findIndex = ArrayIterationModule.findIndex;
19509
- var id = 0;
19510
-
19511
- // fallback for uncaught frozen keys
19512
- var uncaughtFrozenStore = function (store) {
19513
- return store.frozen || (store.frozen = new UncaughtFrozenStore());
19514
- };
19515
 
19516
- var UncaughtFrozenStore = function () {
19517
- this.entries = [];
 
 
 
 
 
 
 
 
 
 
19518
  };
19519
 
19520
- var findUncaughtFrozen = function (store, key) {
19521
- return find(store.entries, function (it) {
19522
- return it[0] === key;
19523
- });
 
 
 
 
 
 
 
19524
  };
19525
 
19526
- UncaughtFrozenStore.prototype = {
19527
- get: function (key) {
19528
- var entry = findUncaughtFrozen(this, key);
19529
- if (entry) return entry[1];
19530
- },
19531
- has: function (key) {
19532
- return !!findUncaughtFrozen(this, key);
19533
- },
19534
- set: function (key, value) {
19535
- var entry = findUncaughtFrozen(this, key);
19536
- if (entry) entry[1] = value;
19537
- else this.entries.push([key, value]);
19538
- },
19539
- 'delete': function (key) {
19540
- var index = findIndex(this.entries, function (it) {
19541
- return it[0] === key;
19542
- });
19543
- if (~index) this.entries.splice(index, 1);
19544
- return !!~index;
19545
  }
19546
  };
19547
 
19548
- module.exports = {
19549
- getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
19550
- var C = wrapper(function (that, iterable) {
19551
- anInstance(that, C, CONSTRUCTOR_NAME);
19552
- setInternalState(that, {
19553
- type: CONSTRUCTOR_NAME,
19554
- id: id++,
19555
- frozen: undefined
19556
- });
19557
- if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
19558
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19559
 
19560
- var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
19561
 
19562
- var define = function (that, key, value) {
19563
- var state = getInternalState(that);
19564
- var data = getWeakData(anObject(key), true);
19565
- if (data === true) uncaughtFrozenStore(state).set(key, value);
19566
- else data[state.id] = value;
19567
- return that;
19568
- };
19569
 
19570
- redefineAll(C.prototype, {
19571
- // 23.3.3.2 WeakMap.prototype.delete(key)
19572
- // 23.4.3.3 WeakSet.prototype.delete(value)
19573
- 'delete': function (key) {
19574
- var state = getInternalState(this);
19575
- if (!isObject(key)) return false;
19576
- var data = getWeakData(key);
19577
- if (data === true) return uncaughtFrozenStore(state)['delete'](key);
19578
- return data && $has(data, state.id) && delete data[state.id];
19579
- },
19580
- // 23.3.3.4 WeakMap.prototype.has(key)
19581
- // 23.4.3.4 WeakSet.prototype.has(value)
19582
- has: function has(key) {
19583
- var state = getInternalState(this);
19584
- if (!isObject(key)) return false;
19585
- var data = getWeakData(key);
19586
- if (data === true) return uncaughtFrozenStore(state).has(key);
19587
- return data && $has(data, state.id);
19588
- }
19589
- });
19590
 
19591
- redefineAll(C.prototype, IS_MAP ? {
19592
- // 23.3.3.3 WeakMap.prototype.get(key)
19593
- get: function get(key) {
19594
- var state = getInternalState(this);
19595
- if (isObject(key)) {
19596
- var data = getWeakData(key);
19597
- if (data === true) return uncaughtFrozenStore(state).get(key);
19598
- return data ? data[state.id] : undefined;
19599
- }
19600
- },
19601
- // 23.3.3.5 WeakMap.prototype.set(key, value)
19602
- set: function set(key, value) {
19603
- return define(this, key, value);
19604
- }
19605
- } : {
19606
- // 23.4.3.1 WeakSet.prototype.add(value)
19607
- add: function add(value) {
19608
- return define(this, value, true);
19609
- }
19610
- });
19611
 
19612
- return C;
 
 
 
 
 
 
 
19613
  }
19614
- };
 
 
 
 
19615
 
19616
 
19617
  /***/ }),
19618
- /* 434 */
 
19619
  /***/ (function(module, exports, __webpack_require__) {
19620
 
19621
- var setPrototypeOf = __webpack_require__(204);
 
 
 
 
 
 
 
19622
 
19623
- function _inheritsLoose(subClass, superClass) {
19624
- subClass.prototype = Object.create(superClass.prototype);
19625
- subClass.prototype.constructor = subClass;
19626
- setPrototypeOf(subClass, superClass);
19627
- }
19628
 
19629
- module.exports = _inheritsLoose;
19630
 
19631
- /***/ }),
19632
- /* 435 */
19633
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
19634
 
19635
- // extracted by mini-css-extract-plugin
19636
 
19637
- /***/ }),
19638
- /* 436 */
19639
- /***/ (function(module, exports) {
19640
 
19641
- module.exports = Array.isArray || function (arr) {
19642
- return Object.prototype.toString.call(arr) == '[object Array]';
19643
- };
19644
 
 
 
 
 
 
 
 
 
 
 
 
 
19645
 
19646
- /***/ }),
19647
- /* 437 */,
19648
- /* 438 */,
19649
- /* 439 */,
19650
- /* 440 */,
19651
- /* 441 */,
19652
- /* 442 */,
19653
- /* 443 */,
19654
- /* 444 */,
19655
- /* 445 */,
19656
- /* 446 */,
19657
- /* 447 */,
19658
- /* 448 */,
19659
- /* 449 */,
19660
- /* 450 */,
19661
- /* 451 */,
19662
- /* 452 */,
19663
- /* 453 */,
19664
- /* 454 */,
19665
- /* 455 */,
19666
- /* 456 */,
19667
- /* 457 */,
19668
- /* 458 */,
19669
- /* 459 */,
19670
- /* 460 */,
19671
- /* 461 */,
19672
- /* 462 */,
19673
- /* 463 */,
19674
- /* 464 */,
19675
- /* 465 */,
19676
- /* 466 */,
19677
- /* 467 */,
19678
- /* 468 */,
19679
- /* 469 */,
19680
- /* 470 */,
19681
- /* 471 */,
19682
- /* 472 */,
19683
- /* 473 */,
19684
- /* 474 */,
19685
- /* 475 */,
19686
- /* 476 */,
19687
- /* 477 */,
19688
- /* 478 */,
19689
- /* 479 */,
19690
- /* 480 */,
19691
- /* 481 */,
19692
- /* 482 */,
19693
- /* 483 */,
19694
- /* 484 */,
19695
- /* 485 */,
19696
- /* 486 */,
19697
- /* 487 */,
19698
- /* 488 */,
19699
- /* 489 */,
19700
- /* 490 */,
19701
- /* 491 */,
19702
- /* 492 */,
19703
- /* 493 */,
19704
- /* 494 */,
19705
- /* 495 */,
19706
- /* 496 */,
19707
- /* 497 */,
19708
- /* 498 */,
19709
- /* 499 */,
19710
- /* 500 */,
19711
- /* 501 */,
19712
- /* 502 */,
19713
- /* 503 */,
19714
- /* 504 */,
19715
- /* 505 */,
19716
- /* 506 */,
19717
- /* 507 */,
19718
- /* 508 */,
19719
- /* 509 */,
19720
- /* 510 */,
19721
- /* 511 */,
19722
- /* 512 */,
19723
- /* 513 */,
19724
- /* 514 */,
19725
- /* 515 */,
19726
- /* 516 */,
19727
- /* 517 */,
19728
- /* 518 */,
19729
- /* 519 */,
19730
- /* 520 */,
19731
- /* 521 */,
19732
- /* 522 */,
19733
- /* 523 */,
19734
- /* 524 */,
19735
- /* 525 */,
19736
- /* 526 */,
19737
- /* 527 */,
19738
- /* 528 */,
19739
- /* 529 */,
19740
- /* 530 */,
19741
- /* 531 */,
19742
- /* 532 */,
19743
- /* 533 */,
19744
- /* 534 */,
19745
- /* 535 */,
19746
- /* 536 */,
19747
- /* 537 */,
19748
- /* 538 */,
19749
- /* 539 */,
19750
- /* 540 */,
19751
- /* 541 */,
19752
- /* 542 */,
19753
- /* 543 */,
19754
- /* 544 */,
19755
- /* 545 */,
19756
- /* 546 */,
19757
- /* 547 */,
19758
- /* 548 */,
19759
- /* 549 */,
19760
- /* 550 */,
19761
- /* 551 */,
19762
- /* 552 */,
19763
- /* 553 */,
19764
- /* 554 */,
19765
- /* 555 */,
19766
- /* 556 */,
19767
- /* 557 */,
19768
- /* 558 */,
19769
- /* 559 */,
19770
- /* 560 */,
19771
- /* 561 */,
19772
- /* 562 */,
19773
- /* 563 */,
19774
- /* 564 */,
19775
- /* 565 */,
19776
- /* 566 */,
19777
- /* 567 */,
19778
- /* 568 */,
19779
- /* 569 */,
19780
- /* 570 */,
19781
- /* 571 */,
19782
- /* 572 */,
19783
- /* 573 */,
19784
- /* 574 */,
19785
- /* 575 */,
19786
- /* 576 */,
19787
- /* 577 */,
19788
- /* 578 */,
19789
- /* 579 */
19790
- /***/ (function(module, exports) {
19791
 
19792
- (function() { module.exports = window["wc"]["csvExport"]; }());
19793
 
19794
  /***/ }),
19795
- /* 580 */,
19796
- /* 581 */,
19797
- /* 582 */,
19798
- /* 583 */,
19799
- /* 584 */,
19800
- /* 585 */,
19801
- /* 586 */,
19802
- /* 587 */,
19803
- /* 588 */,
19804
- /* 589 */,
19805
- /* 590 */,
19806
- /* 591 */,
19807
- /* 592 */,
19808
- /* 593 */,
19809
- /* 594 */,
19810
- /* 595 */
19811
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
19812
-
19813
- "use strict";
19814
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
19815
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
19816
- /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(28);
19817
- /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
19818
 
 
 
19819
 
 
19820
  /**
19821
- * WordPress dependencies
 
 
 
 
19822
  */
19823
 
19824
- var close = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
19825
- xmlns: "http://www.w3.org/2000/svg",
19826
- viewBox: "0 0 24 24"
19827
- }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
19828
- 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"
19829
- }));
19830
- /* harmony default export */ __webpack_exports__["a"] = (close);
19831
- //# sourceMappingURL=close.js.map
19832
-
19833
- /***/ }),
19834
- /* 596 */
19835
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
19836
 
19837
- "use strict";
19838
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
19839
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
19840
- /* harmony import */ var _wordpress_primitives__WEBPACK_IMP
35
  /******/
36
  /******/ // object to store loaded CSS chunks
37
  /******/ var installedCssChunks = {
38
+ /******/ 18: 0
39
  /******/ }
40
  /******/ var isCssRtlEnabled = function() {
41
  /******/ return document.dir === 'rtl';
45
  /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
46
  /******/ // Promise = chunk loading, 0 = chunk loaded
47
  /******/ var installedChunks = {
48
+ /******/ 18: 0
49
  /******/ };
50
  /******/
51
  /******/
52
  /******/
53
  /******/ // script path function
54
  /******/ function webpackJsonpScriptSrc(chunkId) {
55
+ /******/ return __webpack_require__.p + "chunks/" + ({"4":"activity-panels-help","5":"activity-panels-inbox","6":"analytics-report","7":"analytics-report-categories","8":"analytics-report-coupons","9":"analytics-report-customers","10":"analytics-report-downloads","11":"analytics-report-orders","12":"analytics-report-products","13":"analytics-report-revenue","14":"analytics-report-stock","15":"analytics-report-taxes","16":"analytics-report-variations","17":"analytics-settings","24":"customizable-dashboard","25":"dashboard","26":"dashboard-charts","31":"homescreen","32":"leaderboards","34":"marketing-overview","44":"payment-recommendations","46":"profile-wizard","47":"store-alerts","48":"store-performance","49":"task-list","51":"wcpay-usage-modal"}[chunkId]||chunkId) + ".js"
56
  /******/ }
57
  /******/
58
  /******/ function jsonpScriptSrc(chunkId) {
95
  /******/
96
  /******/
97
  /******/ // mini-css-extract-plugin CSS loading
98
+ /******/ var cssChunks = {"0":1,"4":1,"5":1,"6":1,"7":1,"9":1,"11":1,"12":1,"14":1,"17":1,"25":1,"26":1,"31":1,"32":1,"34":1,"44":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
  /******/
260
  /******/
261
  /******/ // Load entry module and return exports
262
+ /******/ return __webpack_require__(__webpack_require__.s = 321);
263
  /******/ })
264
  /************************************************************************/
265
+ /******/ ({
266
+
267
+ /***/ 0:
268
  /***/ (function(module, exports) {
269
 
270
  (function() { module.exports = window["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__(54)();
288
  }
289
 
290
 
291
  /***/ }),
292
+
293
+ /***/ 10:
294
  /***/ (function(module, exports) {
295
 
296
+ (function() { module.exports = window["wp"]["dataControls"]; }());
297
 
298
  /***/ }),
 
 
 
 
 
 
299
 
300
+ /***/ 105:
 
 
 
 
 
 
 
 
 
 
 
 
 
301
  /***/ (function(module, exports) {
302
 
303
+ (function() { module.exports = window["wc"]["currency"]; }());
304
 
305
  /***/ }),
 
 
 
 
306
 
307
+ /***/ 107:
 
308
  /***/ (function(module, exports) {
309
 
310
+ (function() { module.exports = window["wp"]["dom"]; }());
 
 
 
 
 
 
 
311
 
312
  /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
313
 
314
+ /***/ 11:
315
+ /***/ (function(module, exports) {
316
 
317
+ (function() { module.exports = window["wc"]["data"]; }());
318
 
319
  /***/ }),
 
 
320
 
321
+ /***/ 117:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
322
  /***/ (function(module, exports, __webpack_require__) {
323
 
324
+ "use strict";
325
+ 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__(5),_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'];
 
 
 
 
 
326
 
327
 
328
  /***/ }),
 
 
 
 
 
 
329
 
330
+ /***/ 12:
 
 
331
  /***/ (function(module, exports) {
332
 
333
+ (function() { module.exports = window["wc"]["navigation"]; }());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
334
 
335
  /***/ }),
 
 
 
 
336
 
337
+ /***/ 120:
338
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
339
 
340
+ "use strict";
341
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return REVIEW_PAGE_LIMIT; });
342
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return unapprovedReviewsQuery; });
343
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getUnapprovedReviews; });
344
+ /* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11);
345
+ /* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_data__WEBPACK_IMPORTED_MODULE_0__);
346
+ /**
347
+ * External dependencies
348
+ */
349
 
350
+ const REVIEW_PAGE_LIMIT = 5;
351
+ const unapprovedReviewsQuery = {
352
+ page: 1,
353
+ per_page: 1,
354
+ status: 'hold',
355
+ _embed: 1,
356
+ _fields: ['id']
357
+ };
358
+ function getUnapprovedReviews(select) {
359
+ const {
360
+ getReviewsTotalCount,
361
+ getReviewsError,
362
+ isResolving
363
+ } = select(_woocommerce_data__WEBPACK_IMPORTED_MODULE_0__["REVIEWS_STORE_NAME"]); // eslint-disable-next-line @wordpress/no-unused-vars-before-return
364
+
365
+ const totalReviews = getReviewsTotalCount(unapprovedReviewsQuery);
366
+ const isError = Boolean(getReviewsError(unapprovedReviewsQuery));
367
+ const isRequesting = isResolving('getReviewsTotalCount', [unapprovedReviewsQuery]);
368
+
369
+ if (isError || isRequesting && totalReviews === undefined) {
370
+ return null;
371
+ }
372
 
373
+ return totalReviews;
 
 
 
 
374
  }
375
 
 
 
376
  /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
377
 
378
+ /***/ 121:
379
+ /***/ (function(module, exports, __webpack_require__) {
380
 
381
+ "use strict";
 
 
 
 
 
 
 
 
 
 
 
382
 
383
 
384
+ if (true) {
385
+ module.exports = __webpack_require__(149);
386
+ } else {}
387
 
 
388
 
389
  /***/ }),
 
 
390
 
391
+ /***/ 13:
392
+ /***/ (function(module, exports) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
393
 
394
+ function _extends() {
395
+ module.exports = _extends = Object.assign || function (target) {
396
+ for (var i = 1; i < arguments.length; i++) {
397
+ var source = arguments[i];
398
 
399
+ for (var key in source) {
400
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
401
+ target[key] = source[key];
402
+ }
403
+ }
404
+ }
405
 
406
+ return target;
407
+ };
 
 
408
 
409
+ module.exports["default"] = module.exports, module.exports.__esModule = true;
410
+ return _extends.apply(this, arguments);
411
  }
412
 
413
+ module.exports = _extends;
414
+ module.exports["default"] = module.exports, module.exports.__esModule = true;
415
 
416
  /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
417
 
418
+ /***/ 133:
 
419
  /***/ (function(module, exports) {
420
 
421
+ (function() { module.exports = window["wp"]["plugins"]; }());
422
 
423
  /***/ }),
 
 
 
 
 
 
 
 
 
 
 
424
 
425
+ /***/ 134:
426
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
427
 
428
+ "use strict";
429
+ /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
430
+ /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
431
+ /* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(34);
432
+ /* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__);
433
+ /* harmony import */ var _woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(17);
434
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0);
435
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);
436
+ /**
437
+ * External dependencies
438
+ */
439
 
 
440
 
 
 
 
441
 
 
 
 
 
 
 
 
 
 
442
 
443
+ const manageStock = Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_2__[/* getSetting */ "h"])('manageStock', 'no');
444
+ const REPORTS_FILTER = 'woocommerce_admin_reports_list';
445
+ /**
446
+ * Internal dependencies
447
+ */
448
 
449
+ const RevenueReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["lazy"])(() => Promise.all(/* import() | analytics-report-revenue */[__webpack_require__.e(0), __webpack_require__.e(13)]).then(__webpack_require__.bind(null, 524)));
450
+ const ProductsReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["lazy"])(() => Promise.all(/* import() | analytics-report-products */[__webpack_require__.e(0), __webpack_require__.e(12)]).then(__webpack_require__.bind(null, 520)));
451
+ const VariationsReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["lazy"])(() => Promise.all(/* import() | analytics-report-variations */[__webpack_require__.e(0), __webpack_require__.e(16)]).then(__webpack_require__.bind(null, 525)));
452
+ const OrdersReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["lazy"])(() => Promise.all(/* import() | analytics-report-orders */[__webpack_require__.e(0), __webpack_require__.e(11)]).then(__webpack_require__.bind(null, 526)));
453
+ const CategoriesReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["lazy"])(() => Promise.all(/* import() | analytics-report-categories */[__webpack_require__.e(0), __webpack_require__.e(7)]).then(__webpack_require__.bind(null, 522)));
454
+ const CouponsReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["lazy"])(() => Promise.all(/* import() | analytics-report-coupons */[__webpack_require__.e(0), __webpack_require__.e(8)]).then(__webpack_require__.bind(null, 527)));
455
+ const TaxesReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["lazy"])(() => Promise.all(/* import() | analytics-report-taxes */[__webpack_require__.e(0), __webpack_require__.e(15)]).then(__webpack_require__.bind(null, 528)));
456
+ const DownloadsReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["lazy"])(() => Promise.all(/* import() | analytics-report-downloads */[__webpack_require__.e(0), __webpack_require__.e(10)]).then(__webpack_require__.bind(null, 529)));
457
+ const StockReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["lazy"])(() => __webpack_require__.e(/* import() | analytics-report-stock */ 14).then(__webpack_require__.bind(null, 521)));
458
+ const CustomersReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["lazy"])(() => __webpack_require__.e(/* import() | analytics-report-customers */ 9).then(__webpack_require__.bind(null, 523)));
459
+ /* harmony default export */ __webpack_exports__["a"] = (() => {
460
+ const reports = [{
461
+ report: 'revenue',
462
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Revenue', 'woocommerce-admin'),
463
+ component: RevenueReport,
464
+ navArgs: {
465
+ id: 'woocommerce-analytics-revenue'
466
+ }
467
+ }, {
468
+ report: 'products',
469
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Products', 'woocommerce-admin'),
470
+ component: ProductsReport,
471
+ navArgs: {
472
+ id: 'woocommerce-analytics-products'
473
+ }
474
+ }, {
475
+ report: 'variations',
476
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Variations', 'woocommerce-admin'),
477
+ component: VariationsReport,
478
+ navArgs: {
479
+ id: 'woocommerce-analytics-variations'
480
+ }
481
+ }, {
482
+ report: 'orders',
483
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Orders', 'woocommerce-admin'),
484
+ component: OrdersReport,
485
+ navArgs: {
486
+ id: 'woocommerce-analytics-orders'
487
+ }
488
+ }, {
489
+ report: 'categories',
490
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Categories', 'woocommerce-admin'),
491
+ component: CategoriesReport,
492
+ navArgs: {
493
+ id: 'woocommerce-analytics-categories'
494
+ }
495
+ }, {
496
+ report: 'coupons',
497
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Coupons', 'woocommerce-admin'),
498
+ component: CouponsReport,
499
+ navArgs: {
500
+ id: 'woocommerce-analytics-coupons'
501
+ }
502
+ }, {
503
+ report: 'taxes',
504
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Taxes', 'woocommerce-admin'),
505
+ component: TaxesReport,
506
+ navArgs: {
507
+ id: 'woocommerce-analytics-taxes'
508
+ }
509
+ }, manageStock === 'yes' ? {
510
+ report: 'stock',
511
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Stock', 'woocommerce-admin'),
512
+ component: StockReport,
513
+ navArgs: {
514
+ id: 'woocommerce-analytics-stock'
515
+ }
516
+ } : null, {
517
+ report: 'customers',
518
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Customers', 'woocommerce-admin'),
519
+ component: CustomersReport
520
+ }, {
521
+ report: 'downloads',
522
+ title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Downloads', 'woocommerce-admin'),
523
+ component: DownloadsReport,
524
+ navArgs: {
525
+ id: 'woocommerce-analytics-downloads'
526
+ }
527
+ }].filter(Boolean);
528
+ return Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(REPORTS_FILTER, reports);
529
+ });
530
 
531
  /***/ }),
 
 
532
 
533
+ /***/ 135:
534
+ /***/ (function(module, exports, __webpack_require__) {
535
 
536
+ "use strict";
 
 
 
537
 
 
 
 
 
 
 
 
 
 
538
 
539
+ var reactIs = __webpack_require__(121);
540
 
541
+ /**
542
+ * Copyright 2015, Yahoo! Inc.
543
+ * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
544
+ */
545
+ var REACT_STATICS = {
546
+ childContextTypes: true,
547
+ contextType: true,
548
+ contextTypes: true,
549
+ defaultProps: true,
550
+ displayName: true,
551
+ getDefaultProps: true,
552
+ getDerivedStateFromError: true,
553
+ getDerivedStateFromProps: true,
554
+ mixins: true,
555
+ propTypes: true,
556
+ type: true
557
+ };
558
+ var KNOWN_STATICS = {
559
+ name: true,
560
+ length: true,
561
+ prototype: true,
562
+ caller: true,
563
+ callee: true,
564
+ arguments: true,
565
+ arity: true
566
+ };
567
+ var FORWARD_REF_STATICS = {
568
+ '$$typeof': true,
569
+ render: true,
570
+ defaultProps: true,
571
+ displayName: true,
572
+ propTypes: true
573
+ };
574
+ var MEMO_STATICS = {
575
+ '$$typeof': true,
576
+ compare: true,
577
+ defaultProps: true,
578
+ displayName: true,
579
+ propTypes: true,
580
+ type: true
581
+ };
582
+ var TYPE_STATICS = {};
583
+ TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
584
+ TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
585
 
586
+ function getStatics(component) {
587
+ // React v16.11 and below
588
+ if (reactIs.isMemo(component)) {
589
+ return MEMO_STATICS;
590
+ } // React v16.12 and above
591
 
 
 
 
 
592
 
593
+ return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
594
  }
595
 
596
+ var defineProperty = Object.defineProperty;
597
+ var getOwnPropertyNames = Object.getOwnPropertyNames;
598
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
599
+ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
600
+ var getPrototypeOf = Object.getPrototypeOf;
601
+ var objectPrototype = Object.prototype;
602
+ function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
603
+ if (typeof sourceComponent !== 'string') {
604
+ // don't hoist over string (html) components
605
+ if (objectPrototype) {
606
+ var inheritedComponent = getPrototypeOf(sourceComponent);
607
 
608
+ if (inheritedComponent && inheritedComponent !== objectPrototype) {
609
+ hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
610
+ }
611
+ }
612
 
613
+ var keys = getOwnPropertyNames(sourceComponent);
 
 
614
 
615
+ if (getOwnPropertySymbols) {
616
+ keys = keys.concat(getOwnPropertySymbols(sourceComponent));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
617
  }
618
+
619
+ var targetStatics = getStatics(targetComponent);
620
+ var sourceStatics = getStatics(sourceComponent);
621
+
622
+ for (var i = 0; i < keys.length; ++i) {
623
+ var key = keys[i];
624
+
625
+ if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
626
+ var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
627
+
628
+ try {
629
+ // Avoid failures from read-only properties
630
+ defineProperty(targetComponent, key, descriptor);
631
+ } catch (e) {}
632
+ }
633
  }
634
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
635
 
636
+ return targetComponent;
637
+ }
638
 
639
+ module.exports = hoistNonReactStatics;
 
 
640
 
 
641
 
642
  /***/ }),
 
 
643
 
644
+ /***/ 138:
645
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
646
 
647
+ "use strict";
 
 
648
 
649
+ // EXPORTS
650
+ __webpack_require__.d(__webpack_exports__, "c", function() { return /* binding */ layout_PrimaryLayout; });
651
+ __webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ PageLayout; });
652
+ __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ EmbedLayout; });
653
 
654
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js
655
+ var helpers_extends = __webpack_require__(13);
656
+ var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends);
657
 
658
+ // EXTERNAL MODULE: external ["wp","element"]
659
+ var external_wp_element_ = __webpack_require__(0);
660
 
661
+ // EXTERNAL MODULE: external ["wp","components"]
662
+ var external_wp_components_ = __webpack_require__(4);
 
663
 
664
+ // EXTERNAL MODULE: external ["wp","compose"]
665
+ var external_wp_compose_ = __webpack_require__(15);
666
 
667
+ // EXTERNAL MODULE: external ["wp","data"]
668
+ var external_wp_data_ = __webpack_require__(7);
 
669
 
670
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js + 1 modules
671
+ var inheritsLoose = __webpack_require__(27);
 
 
672
 
673
+ // EXTERNAL MODULE: external "React"
674
+ var external_React_ = __webpack_require__(5);
675
+ var external_React_default = /*#__PURE__*/__webpack_require__.n(external_React_);
676
 
677
+ // EXTERNAL MODULE: ./node_modules/prop-types/index.js
678
+ var prop_types = __webpack_require__(1);
679
+ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
680
 
681
+ // EXTERNAL MODULE: ./node_modules/history/esm/history.js + 2 modules
682
+ var esm_history = __webpack_require__(58);
 
 
 
 
683
 
684
+ // EXTERNAL MODULE: ./node_modules/mini-create-react-context/dist/esm/index.js
685
+ var esm = __webpack_require__(183);
686
 
687
+ // EXTERNAL MODULE: ./node_modules/tiny-invariant/dist/tiny-invariant.esm.js
688
+ var tiny_invariant_esm = __webpack_require__(49);
 
689
 
690
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
691
+ var esm_extends = __webpack_require__(25);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
692
 
693
+ // EXTERNAL MODULE: ./node_modules/path-to-regexp/index.js
694
+ var path_to_regexp = __webpack_require__(184);
695
+ var path_to_regexp_default = /*#__PURE__*/__webpack_require__.n(path_to_regexp);
696
 
697
+ // EXTERNAL MODULE: ./node_modules/react-is/index.js
698
+ var react_is = __webpack_require__(121);
 
699
 
700
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
701
+ var objectWithoutPropertiesLoose = __webpack_require__(24);
702
 
703
+ // EXTERNAL MODULE: ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js
704
+ var hoist_non_react_statics_cjs = __webpack_require__(135);
705
+ var hoist_non_react_statics_cjs_default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics_cjs);
706
 
707
+ // CONCATENATED MODULE: ./node_modules/react-router/esm/react-router.js
 
 
 
 
708
 
709
 
 
 
 
710
 
 
711
 
 
 
 
712
 
 
713
 
714
 
 
 
 
715
 
 
 
 
 
716
 
 
717
 
 
 
 
 
 
 
 
718
 
719
 
 
 
 
720
 
721
+ // TODO: Replace with React.createContext once we can assume React 16+
722
 
723
+ var react_router_createNamedContext = function createNamedContext(name) {
724
+ var context = Object(esm["a" /* default */])();
725
+ context.displayName = name;
726
+ return context;
727
  };
728
 
729
+ var historyContext =
730
+ /*#__PURE__*/
731
+ react_router_createNamedContext("Router-History");
732
 
733
+ // TODO: Replace with React.createContext once we can assume React 16+
 
 
734
 
735
+ var createNamedContext$1 = function createNamedContext(name) {
736
+ var context = Object(esm["a" /* default */])();
737
+ context.displayName = name;
738
+ return context;
 
 
 
739
  };
740
 
741
+ var react_router_context =
742
+ /*#__PURE__*/
743
+ createNamedContext$1("Router");
744
 
745
+ /**
746
+ * The public API for putting history on context.
747
+ */
748
 
749
+ var react_router_Router =
750
+ /*#__PURE__*/
751
+ function (_React$Component) {
752
+ Object(inheritsLoose["a" /* default */])(Router, _React$Component);
 
 
 
 
 
 
 
 
 
 
753
 
754
+ Router.computeRootMatch = function computeRootMatch(pathname) {
755
+ return {
756
+ path: "/",
757
+ url: "/",
758
+ params: {},
759
+ isExact: pathname === "/"
760
+ };
761
+ };
762
 
763
+ function Router(props) {
764
+ var _this;
 
765
 
766
+ _this = _React$Component.call(this, props) || this;
767
+ _this.state = {
768
+ location: props.history.location
769
+ }; // This is a bit of a hack. We have to start listening for location
770
+ // changes here in the constructor in case there are any <Redirect>s
771
+ // on the initial render. If there are, they will replace/push when
772
+ // they mount and since cDM fires in children before parents, we may
773
+ // get a new location before the <Router> is mounted.
774
 
775
+ _this._isMounted = false;
776
+ _this._pendingLocation = null;
 
777
 
778
+ if (!props.staticContext) {
779
+ _this.unlisten = props.history.listen(function (location) {
780
+ if (_this._isMounted) {
781
+ _this.setState({
782
+ location: location
783
+ });
784
+ } else {
785
+ _this._pendingLocation = location;
786
+ }
787
+ });
788
+ }
789
 
790
+ return _this;
 
 
 
 
 
791
  }
 
792
 
793
+ var _proto = Router.prototype;
794
 
795
+ _proto.componentDidMount = function componentDidMount() {
796
+ this._isMounted = true;
 
797
 
798
+ if (this._pendingLocation) {
799
+ this.setState({
800
+ location: this._pendingLocation
801
+ });
802
+ }
803
+ };
804
 
805
+ _proto.componentWillUnmount = function componentWillUnmount() {
806
+ if (this.unlisten) this.unlisten();
807
+ };
 
 
808
 
809
+ _proto.render = function render() {
810
+ return external_React_default.a.createElement(react_router_context.Provider, {
811
+ value: {
812
+ history: this.props.history,
813
+ location: this.state.location,
814
+ match: Router.computeRootMatch(this.state.location.pathname),
815
+ staticContext: this.props.staticContext
816
+ }
817
+ }, external_React_default.a.createElement(historyContext.Provider, {
818
+ children: this.props.children || null,
819
+ value: this.props.history
820
+ }));
821
+ };
822
 
823
+ return Router;
824
+ }(external_React_default.a.Component);
 
 
 
 
 
 
 
 
 
825
 
826
+ if (false) {}
 
 
827
 
828
+ /**
829
+ * The public API for a <Router> that stores location in memory.
830
+ */
831
 
832
+ var react_router_MemoryRouter =
833
+ /*#__PURE__*/
834
+ function (_React$Component) {
835
+ Object(inheritsLoose["a" /* default */])(MemoryRouter, _React$Component);
836
 
837
+ function MemoryRouter() {
838
+ var _this;
839
 
840
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
841
+ args[_key] = arguments[_key];
842
+ }
843
 
844
+ _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
845
+ _this.history = Object(esm_history["c" /* createMemoryHistory */])(_this.props);
846
+ return _this;
847
+ }
848
 
849
+ var _proto = MemoryRouter.prototype;
850
 
851
+ _proto.render = function render() {
852
+ return external_React_default.a.createElement(react_router_Router, {
853
+ history: this.history,
854
+ children: this.props.children
855
+ });
856
+ };
857
 
858
+ return MemoryRouter;
859
+ }(external_React_default.a.Component);
860
 
861
+ if (false) {}
 
 
862
 
863
+ var react_router_Lifecycle =
864
+ /*#__PURE__*/
865
+ function (_React$Component) {
866
+ Object(inheritsLoose["a" /* default */])(Lifecycle, _React$Component);
 
 
 
 
867
 
868
+ function Lifecycle() {
869
+ return _React$Component.apply(this, arguments) || this;
870
+ }
871
 
872
+ var _proto = Lifecycle.prototype;
 
 
873
 
874
+ _proto.componentDidMount = function componentDidMount() {
875
+ if (this.props.onMount) this.props.onMount.call(this, this);
 
 
 
 
876
  };
 
877
 
878
+ _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
879
+ if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
880
  };
 
 
 
 
 
 
 
 
 
881
 
882
+ _proto.componentWillUnmount = function componentWillUnmount() {
883
+ if (this.props.onUnmount) this.props.onUnmount.call(this, this);
884
+ };
885
 
886
+ _proto.render = function render() {
887
+ return null;
888
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
889
 
890
+ return Lifecycle;
891
+ }(external_React_default.a.Component);
892
 
893
+ /**
894
+ * The public API for prompting the user before navigating away from a screen.
895
+ */
896
 
897
+ function Prompt(_ref) {
898
+ var message = _ref.message,
899
+ _ref$when = _ref.when,
900
+ when = _ref$when === void 0 ? true : _ref$when;
901
+ return external_React_default.a.createElement(react_router_context.Consumer, null, function (context) {
902
+ !context ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
903
+ if (!when || context.staticContext) return null;
904
+ var method = context.history.block;
905
+ return external_React_default.a.createElement(react_router_Lifecycle, {
906
+ onMount: function onMount(self) {
907
+ self.release = method(message);
908
+ },
909
+ onUpdate: function onUpdate(self, prevProps) {
910
+ if (prevProps.message !== message) {
911
+ self.release();
912
+ self.release = method(message);
913
+ }
914
+ },
915
+ onUnmount: function onUnmount(self) {
916
+ self.release();
917
+ },
918
+ message: message
919
+ });
920
+ });
921
  }
922
 
923
+ if (false) { var messageType; }
924
 
925
+ var cache = {};
926
+ var cacheLimit = 10000;
927
+ var cacheCount = 0;
 
 
 
 
 
 
 
 
 
 
 
 
928
 
929
+ function compilePath(path) {
930
+ if (cache[path]) return cache[path];
931
+ var generator = path_to_regexp_default.a.compile(path);
932
 
933
+ if (cacheCount < cacheLimit) {
934
+ cache[path] = generator;
935
+ cacheCount++;
 
 
 
936
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
937
 
938
+ return generator;
939
+ }
940
+ /**
941
+ * Public API for generating a URL pathname from a path and parameters.
942
+ */
943
 
 
944
 
945
+ function generatePath(path, params) {
946
+ if (path === void 0) {
947
+ path = "/";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
948
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
949
 
950
+ if (params === void 0) {
951
+ params = {};
952
+ }
 
 
 
 
 
 
 
 
 
 
 
 
953
 
954
+ return path === "/" ? path : compilePath(path)(params, {
955
+ pretty: true
 
 
 
 
956
  });
957
+ }
 
 
 
 
 
 
 
 
 
 
 
 
958
 
959
+ /**
960
+ * The public API for navigating programmatically with a component.
961
+ */
 
 
 
 
 
 
 
962
 
963
+ function Redirect(_ref) {
964
+ var computedMatch = _ref.computedMatch,
965
+ to = _ref.to,
966
+ _ref$push = _ref.push,
967
+ push = _ref$push === void 0 ? false : _ref$push;
968
+ return external_React_default.a.createElement(react_router_context.Consumer, null, function (context) {
969
+ !context ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
970
+ var history = context.history,
971
+ staticContext = context.staticContext;
972
+ var method = push ? history.push : history.replace;
973
+ var location = Object(esm_history["b" /* createLocation */])(computedMatch ? typeof to === "string" ? generatePath(to, computedMatch.params) : Object(esm_extends["a" /* default */])({}, to, {
974
+ pathname: generatePath(to.pathname, computedMatch.params)
975
+ }) : to); // When rendering in a static context,
976
+ // set the new location immediately.
977
 
978
+ if (staticContext) {
979
+ method(location);
980
+ return null;
 
 
 
 
981
  }
 
 
 
982
 
983
+ return external_React_default.a.createElement(react_router_Lifecycle, {
984
+ onMount: function onMount() {
985
+ method(location);
986
+ },
987
+ onUpdate: function onUpdate(self, prevProps) {
988
+ var prevLocation = Object(esm_history["b" /* createLocation */])(prevProps.to);
 
 
 
 
 
 
 
 
 
989
 
990
+ if (!Object(esm_history["e" /* locationsAreEqual */])(prevLocation, Object(esm_extends["a" /* default */])({}, location, {
991
+ key: prevLocation.key
992
+ }))) {
993
+ method(location);
994
+ }
995
+ },
996
+ to: to
997
+ });
998
  });
999
+ }
1000
 
1001
+ if (false) {}
 
 
1002
 
1003
+ var cache$1 = {};
1004
+ var cacheLimit$1 = 10000;
1005
+ var cacheCount$1 = 0;
 
 
1006
 
1007
+ function compilePath$1(path, options) {
1008
+ var cacheKey = "" + options.end + options.strict + options.sensitive;
1009
+ var pathCache = cache$1[cacheKey] || (cache$1[cacheKey] = {});
1010
+ if (pathCache[path]) return pathCache[path];
1011
+ var keys = [];
1012
+ var regexp = path_to_regexp_default()(path, keys, options);
1013
+ var result = {
1014
+ regexp: regexp,
1015
+ keys: keys
1016
  };
1017
 
1018
+ if (cacheCount$1 < cacheLimit$1) {
1019
+ pathCache[path] = result;
1020
+ cacheCount$1++;
 
 
 
 
 
 
 
 
1021
  }
 
1022
 
1023
+ return result;
1024
+ }
1025
+ /**
1026
+ * Public API for matching a URL pathname to a path.
1027
+ */
1028
 
 
 
 
1029
 
1030
+ function matchPath(pathname, options) {
1031
+ if (options === void 0) {
1032
+ options = {};
1033
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1034
 
1035
+ if (typeof options === "string" || Array.isArray(options)) {
1036
+ options = {
1037
+ path: options
1038
+ };
1039
+ }
 
 
 
 
 
 
 
 
 
1040
 
1041
+ var _options = options,
1042
+ path = _options.path,
1043
+ _options$exact = _options.exact,
1044
+ exact = _options$exact === void 0 ? false : _options$exact,
1045
+ _options$strict = _options.strict,
1046
+ strict = _options$strict === void 0 ? false : _options$strict,
1047
+ _options$sensitive = _options.sensitive,
1048
+ sensitive = _options$sensitive === void 0 ? false : _options$sensitive;
1049
+ var paths = [].concat(path);
1050
+ return paths.reduce(function (matched, path) {
1051
+ if (!path && path !== "") return null;
1052
+ if (matched) return matched;
1053
 
1054
+ var _compilePath = compilePath$1(path, {
1055
+ end: exact,
1056
+ strict: strict,
1057
+ sensitive: sensitive
1058
+ }),
1059
+ regexp = _compilePath.regexp,
1060
+ keys = _compilePath.keys;
1061
 
1062
+ var match = regexp.exec(pathname);
1063
+ if (!match) return null;
1064
+ var url = match[0],
1065
+ values = match.slice(1);
1066
+ var isExact = pathname === url;
1067
+ if (exact && !isExact) return null;
1068
+ return {
1069
+ path: path,
1070
+ // the path used to match
1071
+ url: path === "/" && url === "" ? "/" : url,
1072
+ // the matched portion of the URL
1073
+ isExact: isExact,
1074
+ // whether or not we matched exactly
1075
+ params: keys.reduce(function (memo, key, index) {
1076
+ memo[key.name] = values[index];
1077
+ return memo;
1078
+ }, {})
1079
+ };
1080
+ }, null);
1081
+ }
1082
 
1083
+ function isEmptyChildren(children) {
1084
+ return external_React_default.a.Children.count(children) === 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1085
  }
1086
 
1087
+ function evalChildrenDev(children, props, path) {
1088
+ var value = children(props);
1089
+ false ? undefined : void 0;
1090
+ return value || null;
1091
  }
1092
+ /**
1093
+ * The public API for matching a single path and rendering.
1094
+ */
1095
 
 
1096
 
1097
+ var react_router_Route =
1098
+ /*#__PURE__*/
1099
+ function (_React$Component) {
1100
+ Object(inheritsLoose["a" /* default */])(Route, _React$Component);
1101
 
1102
+ function Route() {
1103
+ return _React$Component.apply(this, arguments) || this;
1104
+ }
1105
 
1106
+ var _proto = Route.prototype;
 
1107
 
1108
+ _proto.render = function render() {
1109
+ var _this = this;
 
 
 
1110
 
1111
+ return external_React_default.a.createElement(react_router_context.Consumer, null, function (context$1) {
1112
+ !context$1 ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
1113
+ var location = _this.props.location || context$1.location;
1114
+ var match = _this.props.computedMatch ? _this.props.computedMatch // <Switch> already computed the match for us
1115
+ : _this.props.path ? matchPath(location.pathname, _this.props) : context$1.match;
1116
 
1117
+ var props = Object(esm_extends["a" /* default */])({}, context$1, {
1118
+ location: location,
1119
+ match: match
1120
+ });
1121
 
1122
+ var _this$props = _this.props,
1123
+ children = _this$props.children,
1124
+ component = _this$props.component,
1125
+ render = _this$props.render; // Preact uses an empty array as children by
1126
+ // default, so use null if that's the case.
1127
 
1128
+ if (Array.isArray(children) && children.length === 0) {
1129
+ children = null;
1130
+ }
1131
 
1132
+ return external_React_default.a.createElement(react_router_context.Provider, {
1133
+ value: props
1134
+ }, 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);
1135
+ });
1136
+ };
1137
 
1138
+ return Route;
1139
+ }(external_React_default.a.Component);
 
1140
 
1141
+ if (false) {}
 
1142
 
1143
+ function addLeadingSlash(path) {
1144
+ return path.charAt(0) === "/" ? path : "/" + path;
1145
+ }
1146
 
1147
+ function addBasename(basename, location) {
1148
+ if (!basename) return location;
1149
+ return Object(esm_extends["a" /* default */])({}, location, {
1150
+ pathname: addLeadingSlash(basename) + location.pathname
1151
+ });
1152
+ }
1153
 
1154
+ function stripBasename(basename, location) {
1155
+ if (!basename) return location;
1156
+ var base = addLeadingSlash(basename);
1157
+ if (location.pathname.indexOf(base) !== 0) return location;
1158
+ return Object(esm_extends["a" /* default */])({}, location, {
1159
+ pathname: location.pathname.substr(base.length)
1160
+ });
1161
+ }
1162
 
1163
+ function createURL(location) {
1164
+ return typeof location === "string" ? location : Object(esm_history["d" /* createPath */])(location);
1165
+ }
1166
 
1167
+ function staticHandler(methodName) {
1168
+ return function () {
1169
+ false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) ;
1170
+ };
1171
+ }
1172
 
1173
+ function noop() {}
1174
+ /**
1175
+ * The public top-level API for a "static" <Router>, so-called because it
1176
+ * can't actually change the current location. Instead, it just records
1177
+ * location changes in a context object. Useful mainly in testing and
1178
+ * server-rendering scenarios.
1179
+ */
1180
 
 
 
 
1181
 
1182
+ var react_router_StaticRouter =
1183
+ /*#__PURE__*/
1184
+ function (_React$Component) {
1185
+ Object(inheritsLoose["a" /* default */])(StaticRouter, _React$Component);
1186
 
1187
+ function StaticRouter() {
1188
+ var _this;
 
 
 
 
 
1189
 
1190
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1191
+ args[_key] = arguments[_key];
1192
+ }
1193
 
1194
+ _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
 
 
1195
 
1196
+ _this.handlePush = function (location) {
1197
+ return _this.navigateTo(location, "PUSH");
1198
+ };
1199
 
1200
+ _this.handleReplace = function (location) {
1201
+ return _this.navigateTo(location, "REPLACE");
1202
+ };
1203
 
1204
+ _this.handleListen = function () {
1205
+ return noop;
1206
+ };
 
 
1207
 
1208
+ _this.handleBlock = function () {
1209
+ return noop;
1210
+ };
1211
 
1212
+ return _this;
 
 
 
 
1213
  }
 
1214
 
1215
+ var _proto = StaticRouter.prototype;
1216
 
1217
+ _proto.navigateTo = function navigateTo(location, action) {
1218
+ var _this$props = this.props,
1219
+ _this$props$basename = _this$props.basename,
1220
+ basename = _this$props$basename === void 0 ? "" : _this$props$basename,
1221
+ _this$props$context = _this$props.context,
1222
+ context = _this$props$context === void 0 ? {} : _this$props$context;
1223
+ context.action = action;
1224
+ context.location = addBasename(basename, Object(esm_history["b" /* createLocation */])(location));
1225
+ context.url = createURL(context.location);
1226
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1227
 
1228
+ _proto.render = function render() {
1229
+ var _this$props2 = this.props,
1230
+ _this$props2$basename = _this$props2.basename,
1231
+ basename = _this$props2$basename === void 0 ? "" : _this$props2$basename,
1232
+ _this$props2$context = _this$props2.context,
1233
+ context = _this$props2$context === void 0 ? {} : _this$props2$context,
1234
+ _this$props2$location = _this$props2.location,
1235
+ location = _this$props2$location === void 0 ? "/" : _this$props2$location,
1236
+ rest = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props2, ["basename", "context", "location"]);
1237
 
1238
+ var history = {
1239
+ createHref: function createHref(path) {
1240
+ return addLeadingSlash(basename + createURL(path));
1241
+ },
1242
+ action: "POP",
1243
+ location: stripBasename(basename, Object(esm_history["b" /* createLocation */])(location)),
1244
+ push: this.handlePush,
1245
+ replace: this.handleReplace,
1246
+ go: staticHandler("go"),
1247
+ goBack: staticHandler("goBack"),
1248
+ goForward: staticHandler("goForward"),
1249
+ listen: this.handleListen,
1250
+ block: this.handleBlock
1251
+ };
1252
+ return external_React_default.a.createElement(react_router_Router, Object(esm_extends["a" /* default */])({}, rest, {
1253
+ history: history,
1254
+ staticContext: context
1255
+ }));
1256
+ };
1257
 
1258
+ return StaticRouter;
1259
+ }(external_React_default.a.Component);
 
1260
 
1261
+ if (false) {}
 
 
 
 
 
 
1262
 
1263
+ /**
1264
+ * The public API for rendering the first <Route> that matches.
1265
+ */
1266
 
1267
+ var react_router_Switch =
1268
+ /*#__PURE__*/
1269
+ function (_React$Component) {
1270
+ Object(inheritsLoose["a" /* default */])(Switch, _React$Component);
1271
 
1272
+ function Switch() {
1273
+ return _React$Component.apply(this, arguments) || this;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1274
  }
 
1275
 
1276
+ var _proto = Switch.prototype;
1277
 
1278
+ _proto.render = function render() {
1279
+ var _this = this;
1280
 
1281
+ return external_React_default.a.createElement(react_router_context.Consumer, null, function (context) {
1282
+ !context ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
1283
+ var location = _this.props.location || context.location;
1284
+ var element, match; // We use React.Children.forEach instead of React.Children.toArray().find()
1285
+ // here because toArray adds keys to all child elements and we do not want
1286
+ // to trigger an unmount/remount for two <Route>s that render the same
1287
+ // component at different URLs.
1288
 
1289
+ external_React_default.a.Children.forEach(_this.props.children, function (child) {
1290
+ if (match == null && external_React_default.a.isValidElement(child)) {
1291
+ element = child;
1292
+ var path = child.props.path || child.props.from;
1293
+ match = path ? matchPath(location.pathname, Object(esm_extends["a" /* default */])({}, child.props, {
1294
+ path: path
1295
+ })) : context.match;
1296
+ }
1297
+ });
1298
+ return match ? external_React_default.a.cloneElement(element, {
1299
+ location: location,
1300
+ computedMatch: match
1301
+ }) : null;
1302
+ });
1303
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1304
 
1305
+ return Switch;
1306
+ }(external_React_default.a.Component);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1307
 
1308
+ if (false) {}
1309
 
1310
+ /**
1311
+ * A public higher-order component to access the imperative API
1312
+ */
 
 
1313
 
1314
+ function withRouter(Component) {
1315
+ var displayName = "withRouter(" + (Component.displayName || Component.name) + ")";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1316
 
1317
+ var C = function C(props) {
1318
+ var wrappedComponentRef = props.wrappedComponentRef,
1319
+ remainingProps = Object(objectWithoutPropertiesLoose["a" /* default */])(props, ["wrappedComponentRef"]);
1320
 
1321
+ return external_React_default.a.createElement(react_router_context.Consumer, null, function (context) {
1322
+ !context ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
1323
+ return external_React_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, remainingProps, context, {
1324
+ ref: wrappedComponentRef
1325
+ }));
1326
+ });
1327
+ };
1328
 
1329
+ C.displayName = displayName;
1330
+ C.WrappedComponent = Component;
1331
 
1332
+ if (false) {}
 
 
1333
 
1334
+ return hoist_non_react_statics_cjs_default()(C, Component);
1335
+ }
 
1336
 
1337
+ var useContext = external_React_default.a.useContext;
1338
+ function useHistory() {
1339
+ if (false) {}
1340
 
1341
+ return useContext(historyContext);
1342
+ }
1343
+ function useLocation() {
1344
+ if (false) {}
1345
 
1346
+ return useContext(react_router_context).location;
1347
+ }
1348
+ function useParams() {
1349
+ if (false) {}
1350
 
1351
+ var match = useContext(react_router_context).match;
1352
+ return match ? match.params : {};
1353
+ }
1354
+ function useRouteMatch(path) {
1355
+ if (false) {}
1356
 
1357
+ var location = useLocation();
1358
+ var match = useContext(react_router_context).match;
1359
+ return path ? matchPath(location.pathname, path) : match;
 
 
1360
  }
1361
 
1362
+ if (false) { var secondaryBuildName, initialBuildName, buildNames, react_router_key, global; }
1363
 
1364
 
1365
+ //# sourceMappingURL=react-router.js.map
 
 
1366
 
1367
+ // EXTERNAL MODULE: external "lodash"
1368
+ var external_lodash_ = __webpack_require__(3);
 
 
 
 
 
1369
 
1370
+ // EXTERNAL MODULE: ./node_modules/qs/lib/index.js
1371
+ var lib = __webpack_require__(31);
 
 
 
1372
 
1373
+ // EXTERNAL MODULE: external ["wc","components"]
1374
+ var external_wc_components_ = __webpack_require__(23);
1375
 
1376
+ // EXTERNAL MODULE: external ["wc","navigation"]
1377
+ var external_wc_navigation_ = __webpack_require__(12);
 
1378
 
1379
+ // EXTERNAL MODULE: ./client/wc-admin-settings/index.js
1380
+ var wc_admin_settings = __webpack_require__(17);
 
 
 
 
 
 
1381
 
1382
+ // EXTERNAL MODULE: external ["wc","data"]
1383
+ var external_wc_data_ = __webpack_require__(11);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1384
 
1385
+ // EXTERNAL MODULE: external ["wc","tracks"]
1386
+ var external_wc_tracks_ = __webpack_require__(18);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1387
 
1388
+ // EXTERNAL MODULE: external ["wc","notices"]
1389
+ var external_wc_notices_ = __webpack_require__(324);
 
 
 
 
 
 
 
 
 
 
 
 
 
1390
 
1391
+ // EXTERNAL MODULE: external ["wp","plugins"]
1392
+ var external_wp_plugins_ = __webpack_require__(133);
1393
 
1394
+ // EXTERNAL MODULE: ./client/layout/style.scss
1395
+ var layout_style = __webpack_require__(325);
 
1396
 
1397
+ // EXTERNAL MODULE: external ["wp","hooks"]
1398
+ var external_wp_hooks_ = __webpack_require__(34);
 
 
 
1399
 
1400
+ // EXTERNAL MODULE: external ["wp","i18n"]
1401
+ var external_wp_i18n_ = __webpack_require__(2);
1402
 
1403
+ // EXTERNAL MODULE: ./client/analytics/report/get-reports.js
1404
+ var get_reports = __webpack_require__(134);
 
1405
 
1406
+ // EXTERNAL MODULE: ./client/dashboard/utils.js
1407
+ var utils = __webpack_require__(70);
1408
 
1409
+ // CONCATENATED MODULE: ./client/layout/controller.js
1410
 
 
 
 
 
 
 
 
 
1411
 
1412
+ /**
1413
+ * External dependencies
1414
+ */
1415
 
 
 
 
1416
 
 
 
 
1417
 
 
 
 
 
 
 
1418
 
1419
 
 
 
 
1420
 
 
 
 
 
1421
 
 
 
 
 
 
 
 
 
 
 
 
 
1422
 
1423
+ /**
1424
+ * Internal dependencies
1425
+ */
1426
 
 
 
 
1427
 
 
1428
 
1429
+ const AnalyticsReport = Object(external_wp_element_["lazy"])(() => __webpack_require__.e(/* import() | analytics-report */ 6).then(__webpack_require__.bind(null, 644)));
1430
+ const AnalyticsSettings = Object(external_wp_element_["lazy"])(() => __webpack_require__.e(/* import() | analytics-settings */ 17).then(__webpack_require__.bind(null, 653)));
1431
+ const Dashboard = Object(external_wp_element_["lazy"])(() => __webpack_require__.e(/* import() | dashboard */ 25).then(__webpack_require__.bind(null, 645)));
1432
+ const Homescreen = Object(external_wp_element_["lazy"])(() => Promise.all(/* import() | homescreen */[__webpack_require__.e(2), __webpack_require__.e(1), __webpack_require__.e(31)]).then(__webpack_require__.bind(null, 651)));
1433
+ const MarketingOverview = Object(external_wp_element_["lazy"])(() => Promise.all(/* import() | marketing-overview */[__webpack_require__.e(1), __webpack_require__.e(34)]).then(__webpack_require__.bind(null, 654)));
1434
+ const ProfileWizard = Object(external_wp_element_["lazy"])(() => __webpack_require__.e(/* import() | profile-wizard */ 46).then(__webpack_require__.bind(null, 652)));
1435
+ const SettingsGroup = Object(external_wp_element_["lazy"])(() => __webpack_require__.e(/* import() | profile-wizard */ 46).then(__webpack_require__.bind(null, 646)));
1436
+ const PAGES_FILTER = 'woocommerce_admin_pages_list';
1437
+ const getPages = () => {
1438
+ const pages = [];
1439
+ const initialBreadcrumbs = [['', wcSettings.woocommerceTranslation]];
1440
+ pages.push({
1441
+ container: Homescreen,
1442
+ path: '/',
1443
+ breadcrumbs: [...initialBreadcrumbs, Object(external_wp_i18n_["__"])('Home', 'woocommerce-admin')],
1444
+ wpOpenMenu: 'toplevel_page_woocommerce',
1445
+ navArgs: {
1446
+ id: 'woocommerce-home'
1447
+ },
1448
+ capability: 'manage_woocommerce'
1449
+ });
1450
 
1451
+ if (window.wcAdminFeatures.analytics) {
1452
+ pages.push({
1453
+ container: Dashboard,
1454
+ path: '/analytics/overview',
1455
+ breadcrumbs: [...initialBreadcrumbs, ['/analytics/overview', Object(external_wp_i18n_["__"])('Analytics', 'woocommerce-admin')], Object(external_wp_i18n_["__"])('Overview', 'woocommerce-admin')],
1456
+ wpOpenMenu: 'toplevel_page_wc-admin-path--analytics-overview',
1457
+ navArgs: {
1458
+ id: 'woocommerce-analytics-overview'
1459
+ },
1460
+ capability: 'view_woocommerce_reports'
1461
+ });
1462
+ pages.push({
1463
+ container: AnalyticsSettings,
1464
+ path: '/analytics/settings',
1465
+ breadcrumbs: [...initialBreadcrumbs, ['/analytics/revenue', Object(external_wp_i18n_["__"])('Analytics', 'woocommerce-admin')], Object(external_wp_i18n_["__"])('Settings', 'woocommerce-admin')],
1466
+ wpOpenMenu: 'toplevel_page_wc-admin-path--analytics-overview',
1467
+ navArgs: {
1468
+ id: 'woocommerce-analytics-settings'
1469
+ },
1470
+ capability: 'view_woocommerce_reports'
1471
+ });
1472
+ pages.push({
1473
+ container: AnalyticsReport,
1474
+ path: '/customers',
1475
+ breadcrumbs: [...initialBreadcrumbs, Object(external_wp_i18n_["__"])('Customers', 'woocommerce-admin')],
1476
+ wpOpenMenu: 'toplevel_page_woocommerce',
1477
+ navArgs: {
1478
+ id: 'woocommerce-analytics-customers'
1479
+ },
1480
+ capability: 'view_woocommerce_reports'
1481
+ });
1482
+ pages.push({
1483
+ container: AnalyticsReport,
1484
+ path: '/analytics/:report',
1485
+ breadcrumbs: ({
1486
+ match
1487
+ }) => {
1488
+ const report = Object(external_lodash_["find"])(Object(get_reports["a" /* default */])(), {
1489
+ report: match.params.report
1490
+ });
1491
 
1492
+ if (!report) {
1493
+ return [];
1494
+ }
1495
 
1496
+ return [...initialBreadcrumbs, ['/analytics/revenue', Object(external_wp_i18n_["__"])('Analytics', 'woocommerce-admin')], report.title];
1497
+ },
1498
+ wpOpenMenu: 'toplevel_page_wc-admin-path--analytics-overview',
1499
+ capability: 'view_woocommerce_reports'
1500
+ });
1501
+ }
1502
 
1503
+ if (window.wcAdminFeatures.marketing) {
1504
+ pages.push({
1505
+ container: MarketingOverview,
1506
+ path: '/marketing',
1507
+ breadcrumbs: [...initialBreadcrumbs, ['/marketing', Object(external_wp_i18n_["__"])('Marketing', 'woocommerce-admin')], Object(external_wp_i18n_["__"])('Overview', 'woocommerce-admin')],
1508
+ wpOpenMenu: 'toplevel_page_woocommerce-marketing',
1509
+ navArgs: {
1510
+ id: 'woocommerce-marketing-overview'
1511
+ },
1512
+ capability: 'view_woocommerce_reports'
1513
+ });
1514
+ }
1515
 
1516
+ if (window.wcAdminFeatures.onboarding) {
1517
+ pages.push({
1518
+ container: ProfileWizard,
1519
+ path: '/setup-wizard',
1520
+ breadcrumbs: [...initialBreadcrumbs, ['/setup-wizard', Object(external_wp_i18n_["__"])('Setup Wizard', 'woocommerce-admin')]],
1521
+ capability: 'manage_woocommerce'
1522
+ });
1523
+ }
1524
 
1525
+ if (window.wcAdminFeatures.settings) {
1526
+ pages.push({
1527
+ container: SettingsGroup,
1528
+ path: '/settings/:page',
1529
+ breadcrumbs: ({
1530
+ match
1531
+ }) => {
1532
+ // @todo This might need to be refactored to retreive groups via data store.
1533
+ const settingsPages = Object(wc_admin_settings["h" /* getSetting */])('settingsPages');
1534
+ const page = settingsPages[match.params.page];
1535
 
1536
+ if (!page) {
1537
+ return [];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1538
  }
 
 
 
 
 
1539
 
1540
+ return [...initialBreadcrumbs, [settingsPages.general ? '/settings/general' : `/settings/${Object.keys(settingsPages)[0]}`, Object(external_wp_i18n_["__"])('Settings', 'woocommerce-admin')], page];
1541
+ },
1542
+ wpOpenMenu: 'toplevel_page_woocommerce',
1543
+ capability: 'manage_woocommerce'
1544
+ });
1545
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1546
 
1547
+ return Object(external_wp_hooks_["applyFilters"])(PAGES_FILTER, pages);
1548
+ };
1549
+ class controller_Controller extends external_wp_element_["Component"] {
1550
+ componentDidMount() {
1551
+ window.document.documentElement.scrollTop = 0;
1552
+ window.document.body.classList.remove('woocommerce-admin-is-loading');
1553
+ }
1554
 
1555
+ componentDidUpdate(prevProps) {
1556
+ const prevBaseQuery = Object(external_lodash_["omit"])(prevProps.query, 'chartType', 'filter', 'paged');
1557
+ const baseQuery = Object(external_lodash_["omit"])(this.props.query, 'chartType', 'filter', 'paged');
1558
 
1559
+ if (prevProps.query.paged > 1 && !Object(external_lodash_["isEqual"])(prevBaseQuery, baseQuery)) {
1560
+ Object(external_wc_navigation_["getHistory"])().replace(Object(external_wc_navigation_["getNewPath"])({
1561
+ paged: 1
1562
+ }));
1563
+ }
1564
 
1565
+ if (prevProps.match.url !== this.props.match.url) {
1566
+ window.document.documentElement.scrollTop = 0;
1567
+ }
1568
+ }
1569
 
1570
+ render() {
1571
+ const {
1572
+ page,
1573
+ match,
1574
+ query
1575
+ } = this.props;
1576
+ const {
1577
+ url,
1578
+ params
1579
+ } = match;
1580
+ window.wpNavMenuUrlUpdate(query);
1581
+ window.wpNavMenuClassChange(page, url);
1582
+ return Object(external_wp_element_["createElement"])(external_wp_element_["Suspense"], {
1583
+ fallback: Object(external_wp_element_["createElement"])(external_wc_components_["Spinner"], null)
1584
+ }, Object(external_wp_element_["createElement"])(page.container, {
1585
+ params: params,
1586
+ path: url,
1587
+ pathMatch: page.path,
1588
+ query: query
1589
+ }));
1590
+ }
1591
 
1592
+ }
1593
+ /**
1594
+ * Update an anchor's link in sidebar to include persisted queries. Leave excluded screens
1595
+ * as is.
1596
+ *
1597
+ * @param {HTMLElement} item - Sidebar anchor link.
1598
+ * @param {Object} nextQuery - A query object to be added to updated hrefs.
1599
+ * @param {Array} excludedScreens - wc-admin screens to avoid updating.
1600
+ */
1601
 
1602
+ function updateLinkHref(item, nextQuery, excludedScreens) {
1603
+ if (Object(utils["f" /* isWCAdmin */])(item.href)) {
1604
+ const search = Object(external_lodash_["last"])(item.href.split('?'));
1605
+ const query = Object(lib["parse"])(search);
1606
+ const path = query.path || 'homescreen';
1607
+ const screen = Object(external_wc_navigation_["getScreenFromPath"])(path);
1608
+ const isExcludedScreen = excludedScreens.includes(screen);
1609
+ const href = 'admin.php?' + Object(lib["stringify"])(Object.assign(query, isExcludedScreen ? {} : nextQuery)); // Replace the href so you can see the url on hover.
1610
 
1611
+ item.href = href;
 
 
1612
 
1613
+ item.onclick = e => {
1614
+ e.preventDefault();
1615
+ Object(external_wc_navigation_["getHistory"])().push(href);
1616
+ };
1617
+ }
1618
+ } // Update's wc-admin links in wp-admin menu
1619
 
1620
+ window.wpNavMenuUrlUpdate = function (query) {
1621
+ const nextQuery = Object(external_wc_navigation_["getPersistedQuery"])(query);
1622
+ const excludedScreens = Object(external_wc_navigation_["getQueryExcludedScreens"])();
1623
+ Array.from(document.querySelectorAll('#adminmenu a')).forEach(item => updateLinkHref(item, nextQuery, excludedScreens));
1624
+ }; // When the route changes, we need to update wp-admin's menu with the correct section & current link
1625
 
1626
 
1627
+ window.wpNavMenuClassChange = function (page, url) {
1628
+ Array.from(document.getElementsByClassName('current')).forEach(function (item) {
1629
+ item.classList.remove('current');
1630
+ });
1631
+ const submenu = Array.from(document.querySelectorAll('.wp-has-current-submenu'));
1632
+ submenu.forEach(function (element) {
1633
+ element.classList.remove('wp-has-current-submenu');
1634
+ element.classList.remove('wp-menu-open');
1635
+ element.classList.remove('selected');
1636
+ element.classList.add('wp-not-current-submenu');
1637
+ element.classList.add('menu-top');
1638
+ });
1639
+ const pageUrl = url === '/' ? 'admin.php?page=wc-admin' : 'admin.php?page=wc-admin&path=' + encodeURIComponent(url);
1640
+ const currentItemsSelector = url === '/' ? `li > a[href$="${pageUrl}"], li > a[href*="${pageUrl}?"]` : `li > a[href*="${pageUrl}"]`;
1641
+ const currentItems = document.querySelectorAll(currentItemsSelector);
1642
+ Array.from(currentItems).forEach(function (item) {
1643
+ item.parentElement.classList.add('current');
1644
+ });
1645
 
1646
+ if (page.wpOpenMenu) {
1647
+ const currentMenu = document.querySelector('#' + page.wpOpenMenu);
1648
 
1649
+ if (currentMenu) {
1650
+ currentMenu.classList.remove('wp-not-current-submenu');
1651
+ currentMenu.classList.add('wp-has-current-submenu');
1652
+ currentMenu.classList.add('wp-menu-open');
1653
+ currentMenu.classList.add('current');
1654
+ }
1655
+ }
1656
 
1657
+ const wpWrap = document.querySelector('#wpwrap');
1658
+ wpWrap.classList.remove('wp-responsive-open');
1659
+ };
1660
+ // EXTERNAL MODULE: ./node_modules/classnames/index.js
1661
+ var classnames = __webpack_require__(6);
1662
+ var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
1663
 
1664
+ // EXTERNAL MODULE: external ["wp","htmlEntities"]
1665
+ var external_wp_htmlEntities_ = __webpack_require__(32);
 
 
 
 
1666
 
1667
+ // EXTERNAL MODULE: external ["wc","experimental"]
1668
+ var external_wc_experimental_ = __webpack_require__(22);
1669
 
1670
+ // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/icon/index.js
1671
+ var build_module_icon = __webpack_require__(147);
1672
 
1673
+ // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-left.js
1674
+ var chevron_left = __webpack_require__(544);
1675
 
1676
+ // EXTERNAL MODULE: external ["wp","keycodes"]
1677
+ var external_wp_keycodes_ = __webpack_require__(30);
 
1678
 
1679
+ // EXTERNAL MODULE: ./client/header/style.scss
1680
+ var header_style = __webpack_require__(326);
1681
 
1682
+ // EXTERNAL MODULE: external ["wp","primitives"]
1683
+ var external_wp_primitives_ = __webpack_require__(8);
1684
 
1685
+ // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/inbox.js
1686
 
 
 
 
1687
 
1688
+ /**
1689
+ * WordPress dependencies
1690
+ */
1691
 
1692
+ var inbox_inbox = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], {
1693
+ xmlns: "http://www.w3.org/2000/svg",
1694
+ viewBox: "0 0 24 24"
1695
+ }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], {
1696
+ fillRule: "evenodd",
1697
+ 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",
1698
+ clipRule: "evenodd"
1699
+ }));
1700
+ /* harmony default export */ var library_inbox = (inbox_inbox);
1701
+ //# sourceMappingURL=inbox.js.map
1702
+ // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/help.js
1703
 
 
1704
 
1705
+ /**
1706
+ * WordPress dependencies
1707
+ */
1708
 
1709
+ var help_help = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], {
1710
+ xmlns: "http://www.w3.org/2000/svg",
1711
+ viewBox: "0 0 24 24"
1712
+ }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], {
1713
+ 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"
1714
+ }));
1715
+ /* harmony default export */ var library_help = (help_help);
1716
+ //# sourceMappingURL=help.js.map
1717
+ // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/external.js
1718
+ var external = __webpack_require__(543);
1719
 
1720
+ // EXTERNAL MODULE: ./client/header/activity-panel/style.scss
1721
+ var activity_panel_style = __webpack_require__(327);
 
1722
 
1723
+ // EXTERNAL MODULE: ./client/inbox-panel/utils.js
1724
+ var inbox_panel_utils = __webpack_require__(188);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1725
 
1726
+ // CONCATENATED MODULE: ./client/header/activity-panel/unread-indicators.js
1727
+ /**
1728
+ * External dependencies
1729
+ */
 
 
 
 
1730
 
1731
 
1732
+ /**
1733
+ * Internal dependencies
1734
+ */
1735
 
 
1736
 
1737
+ const UNREAD_NOTES_QUERY = {
1738
+ page: 1,
1739
+ per_page: external_wc_data_["QUERY_DEFAULTS"].pageSize,
1740
+ status: 'unactioned',
1741
+ type: external_wc_data_["QUERY_DEFAULTS"].noteTypes,
1742
+ orderby: 'date',
1743
+ order: 'desc'
1744
  };
1745
+ function isNotesPanelVisible(select) {
1746
+ const {
1747
+ getNotes,
1748
+ getNotesError,
1749
+ isResolving
1750
+ } = select(external_wc_data_["NOTES_STORE_NAME"]);
1751
+ const {
1752
+ getCurrentUser
1753
+ } = select(external_wc_data_["USER_STORE_NAME"]);
1754
+ const userData = getCurrentUser();
1755
+ const lastRead = parseInt(userData && userData.woocommerce_meta && userData.woocommerce_meta.activity_panel_inbox_last_read, 10);
1756
 
1757
+ if (!lastRead) {
1758
+ return null;
1759
+ }
1760
 
1761
+ getNotes(UNREAD_NOTES_QUERY);
1762
+ const isError = Boolean(getNotesError('getNotes', [UNREAD_NOTES_QUERY]));
1763
+ const isRequesting = isResolving('getNotes', [UNREAD_NOTES_QUERY]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1764
 
1765
+ if (isError || isRequesting) {
1766
+ return null;
1767
+ }
1768
 
1769
+ const latestNotes = getNotes(UNREAD_NOTES_QUERY);
1770
+ const unreadNotesCount = Object(inbox_panel_utils["a" /* getUnreadNotesCount */])(latestNotes, lastRead);
1771
+ return unreadNotesCount > 0;
1772
+ }
1773
+ function getLowStockCount() {
1774
+ return Object(wc_admin_settings["h" /* getSetting */])('lowStockCount', 0);
1775
+ }
1776
+ // CONCATENATED MODULE: ./client/header/activity-panel/tab/index.js
1777
 
1778
 
1779
  /**
1780
  * External dependencies
1781
  */
 
1782
 
 
 
 
 
 
 
1783
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1784
 
1785
+ const Tab = ({
1786
+ icon,
1787
+ title,
1788
+ name,
1789
+ unread,
1790
+ selected,
1791
+ isPanelOpen,
1792
+ onTabClick
1793
+ }) => {
1794
+ const className = classnames_default()('woocommerce-layout__activity-panel-tab', {
1795
+ 'is-active': isPanelOpen && selected,
1796
+ 'has-unread': unread
1797
+ });
1798
+ const tabKey = `activity-panel-tab-${name}`;
1799
+ return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
1800
+ role: "tab",
1801
+ className: className,
1802
+ "aria-selected": selected,
1803
+ "aria-controls": `activity-panel-${name}`,
1804
+ key: tabKey,
1805
+ id: tabKey,
1806
+ onClick: () => {
1807
+ onTabClick(name);
1808
+ }
1809
+ }, icon, title, ' ', unread && Object(external_wp_element_["createElement"])("span", {
1810
+ className: "screen-reader-text"
1811
+ }, Object(external_wp_i18n_["__"])('unread activity', 'woocommerce-admin')));
1812
+ };
1813
+ // CONCATENATED MODULE: ./client/header/activity-panel/tabs/index.js
1814
+
1815
 
 
 
 
1816
 
 
 
 
1817
  /**
1818
+ * External dependencies
 
 
 
 
 
 
 
 
 
 
 
 
1819
  */
1820
 
 
 
 
 
1821
 
 
 
 
1822
 
 
 
1823
  /**
1824
+ * Internal dependencies
 
 
 
1825
  */
1826
 
 
 
 
1827
 
1828
+ const Tabs = ({
1829
+ tabs,
1830
+ onTabClick,
1831
+ selectedTab: selectedTabName,
1832
+ tabOpen = false
1833
+ }) => {
1834
+ const [{
1835
+ tabOpen: tabIsOpenState,
1836
+ currentTab
1837
+ }, setTabState] = Object(external_wp_element_["useState"])({
1838
+ tabOpen,
1839
+ currentTab: selectedTabName
1840
+ }); // Keep state synced with props
1841
+
1842
+ Object(external_wp_element_["useEffect"])(() => {
1843
+ setTabState({
1844
+ tabOpen,
1845
+ currentTab: selectedTabName
1846
+ });
1847
+ }, [tabOpen, selectedTabName]);
1848
+ return Object(external_wp_element_["createElement"])(external_wp_components_["NavigableMenu"], {
1849
+ role: "tablist",
1850
+ orientation: "horizontal",
1851
+ className: "woocommerce-layout__activity-panel-tabs"
1852
+ }, tabs && tabs.map((tab, i) => {
1853
+ if (tab.component) {
1854
+ const {
1855
+ component: Comp,
1856
+ options
1857
+ } = tab;
1858
+ return Object(external_wp_element_["createElement"])(Comp, extends_default()({
1859
+ key: i
1860
+ }, options));
1861
+ }
1862
+
1863
+ return Object(external_wp_element_["createElement"])(Tab, extends_default()({
1864
+ key: i,
1865
+ index: i,
1866
+ isPanelOpen: tabIsOpenState,
1867
+ selected: currentTab === tab.name
1868
+ }, tab, {
1869
+ onTabClick: () => {
1870
+ const 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.
1871
 
1872
+ if (!isTabOpen || currentTab !== tab.name) {
1873
+ Object(external_wc_tracks_["recordEvent"])('activity_panel_open', {
1874
+ tab: tab.name
1875
+ });
1876
+ }
1877
 
1878
+ setTabState({
1879
+ tabOpen: isTabOpen,
1880
+ currentTab: tab.name
1881
+ });
1882
+ onTabClick(tab, isTabOpen);
1883
+ }
1884
+ }));
1885
+ }));
1886
  };
1887
+ // CONCATENATED MODULE: ./client/header/activity-panel/setup-progress.js
1888
 
1889
+ const SetupProgress = () => Object(external_wp_element_["createElement"])("svg", {
1890
+ className: "woocommerce-layout__activity-panel-tab-icon setup-progress",
1891
+ width: "18",
1892
+ height: "18",
1893
+ viewBox: "0 0 24 24",
1894
+ fill: "none",
1895
+ xmlns: "http://www.w3.org/2000/svg"
1896
+ }, Object(external_wp_element_["createElement"])("path", {
1897
+ 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",
1898
+ stroke: "#DCDCDE",
1899
+ strokeWidth: "2"
1900
+ }), Object(external_wp_element_["createElement"])("path", {
1901
+ d: "M4 12V12C4 16.4183 7.58172 20 12 20V20C16.4183 20 20 16.4183 20 12V12C20 7.58172 16.4183 4 12 4V4",
1902
+ strokeWidth: "2",
1903
+ strokeLinecap: "round"
1904
+ }));
1905
+ // EXTERNAL MODULE: ./client/header/activity-panel/display-options/index.js + 3 modules
1906
+ var display_options = __webpack_require__(298);
1907
 
1908
+ // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close.js
1909
+ var library_close = __webpack_require__(540);
 
1910
 
1911
+ // EXTERNAL MODULE: ./client/header/activity-panel/highlight-tooltip/style.scss
1912
+ var highlight_tooltip_style = __webpack_require__(328);
1913
 
1914
+ // CONCATENATED MODULE: ./client/header/activity-panel/highlight-tooltip/index.js
1915
 
1916
 
1917
+ /**
1918
+ * External dependencies
1919
+ */
1920
 
 
1921
 
 
 
1922
 
 
 
 
 
 
1923
 
1924
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1925
 
1926
+ /**
1927
+ * Internal dependencies
1928
+ */
 
 
1929
 
 
1930
 
1931
+ const SHOW_CLASS = 'highlight-tooltip__show';
 
 
 
 
 
 
1932
 
1933
+ function HighlightTooltip({
1934
+ title,
1935
+ closeButtonText,
1936
+ content,
1937
+ show = true,
1938
+ id,
1939
+ onClose,
1940
+ delay,
1941
+ onShow = external_lodash_["noop"],
1942
+ useAnchor = false
1943
+ }) {
1944
+ const [showHighlight, setShowHighlight] = Object(external_wp_element_["useState"])(delay > 0 ? null : show);
1945
+ const [node, setNode] = Object(external_wp_element_["useState"])(null);
1946
+ const [anchorRect, setAnchorRect] = Object(external_wp_element_["useState"])(null);
1947
+ Object(external_wp_element_["useEffect"])(() => {
1948
+ const element = document.getElementById(id);
1949
+ let container, parent;
1950
 
1951
+ if (element && !node) {
1952
+ // Add tooltip container
1953
+ if (!useAnchor) {
1954
+ parent = element.parentElement;
1955
+ } else {
1956
+ parent = document.createElement('div');
1957
+ document.body.appendChild(parent);
1958
+ }
1959
 
1960
+ container = document.createElement('div');
1961
+ container.classList.add('highlight-tooltip__container');
1962
+ parent.appendChild(container);
1963
+ setNode(container);
1964
+ }
1965
 
1966
+ const timeoutId = triggerShowTooltip(container);
1967
+ return () => {
1968
+ if (container) {
1969
+ const parentElement = container.parentElement;
1970
+ parentElement.removeChild(container);
 
 
 
 
1971
 
1972
+ if (useAnchor) {
1973
+ parentElement.remove();
1974
+ }
 
1975
  }
1976
 
1977
+ if (timeoutId) {
1978
+ clearTimeout(timeoutId);
 
 
 
 
1979
  }
1980
+ };
1981
+ }, []);
1982
+ Object(external_wp_element_["useEffect"])(() => {
1983
+ if (!showHighlight && node) {
1984
+ node.classList.remove(SHOW_CLASS);
1985
  }
1986
+ }, [showHighlight]);
1987
+ Object(external_wp_element_["useEffect"])(() => {
1988
+ if (show !== showHighlight && showHighlight !== null && node) {
1989
+ setShowHighlight(show);
1990
 
1991
+ if (!show) {
1992
+ node.classList.remove(SHOW_CLASS);
1993
+ } else if (node) {
1994
+ triggerShowTooltip(node);
1995
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1996
  }
1997
+ }, [show]);
1998
+ Object(external_wp_element_["useLayoutEffect"])(() => {
1999
+ window.addEventListener('resize', updateSize);
2000
+ return () => window.removeEventListener('resize', updateSize);
2001
+ }, []);
2002
 
2003
+ function updateSize() {
2004
+ if (useAnchor) {
2005
+ const element = document.getElementById(id);
2006
+ setAnchorRect(element.getBoundingClientRect());
2007
+ }
2008
+ }
2009
 
2010
+ const triggerShowTooltip = container => {
2011
+ let timeoutId = null;
 
2012
 
2013
+ if (delay > 0) {
2014
+ timeoutId = setTimeout(() => {
2015
+ timeoutId = null;
2016
+ showTooltip(container);
2017
+ }, delay);
2018
+ } else if (!showHighlight) {
2019
+ showTooltip(container);
2020
+ }
2021
 
2022
+ return timeoutId;
2023
+ };
 
2024
 
2025
+ const showTooltip = container => {
2026
+ const element = document.getElementById(id);
2027
 
2028
+ if (element && useAnchor) {
2029
+ setAnchorRect(element.getBoundingClientRect());
2030
+ }
 
2031
 
2032
+ if (container) {
2033
+ container.classList.add(SHOW_CLASS);
2034
+ }
2035
 
2036
+ setShowHighlight(true);
2037
+ onShow();
2038
+ };
2039
 
2040
+ const triggerClose = () => {
2041
+ setShowHighlight(false);
2042
 
2043
+ if (onClose) {
2044
+ onClose();
2045
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2046
  };
 
2047
 
2048
+ if (!node) {
2049
+ return null;
2050
+ }
2051
 
2052
+ return Object(external_wp_element_["createPortal"])(Object(external_wp_element_["createElement"])("div", {
2053
+ className: "highlight-tooltip__portal"
2054
+ }, showHighlight ? Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["IsolatedEventContainer"], {
2055
+ className: "highlight-tooltip__overlay"
2056
+ }), Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], {
2057
+ className: "highlight-tooltip__popover",
2058
+ noArrow: false,
2059
+ anchorRect: anchorRect,
2060
+ focusOnMount: "container"
2061
+ }, Object(external_wp_element_["createElement"])(external_wp_components_["Card"], {
2062
+ size: "medium"
2063
+ }, Object(external_wp_element_["createElement"])(external_wp_components_["CardHeader"], null, title, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
2064
+ isSmall: true,
2065
+ onClick: triggerClose,
2066
+ icon: library_close["a" /* default */]
2067
+ })), Object(external_wp_element_["createElement"])(external_wp_components_["CardBody"], null, content || null), Object(external_wp_element_["createElement"])(external_wp_components_["CardFooter"], {
2068
+ isBorderless: true
2069
+ }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
2070
+ size: "small",
2071
+ isPrimary: true,
2072
+ onClick: triggerClose
2073
+ }, closeButtonText || Object(external_wp_i18n_["__"])('Close', 'woocommerce-admin')))))) : null), node);
2074
+ }
2075
 
2076
+ HighlightTooltip.propTypes = {
2077
+ /**
2078
+ * The id of the element it should highlight, should be unique per HighlightTooltip.
2079
+ */
2080
+ id: prop_types_default.a.string.isRequired,
2081
 
2082
+ /**
2083
+ * Title of the popup
2084
+ */
2085
+ title: prop_types_default.a.string.isRequired,
2086
 
2087
+ /**
2088
+ * Text of the close button.
2089
+ */
2090
+ closeButtonText: prop_types_default.a.string.isRequired,
2091
 
2092
+ /**
2093
+ * Content of the popup, can be either text or react element.
2094
+ */
2095
+ content: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]),
2096
 
2097
+ /**
2098
+ * If to show the popup, defaults to true.
2099
+ */
2100
+ show: prop_types_default.a.bool,
 
 
 
2101
 
2102
+ /**
2103
+ * Callback for when the user closes the popup.
2104
+ */
2105
+ onClose: prop_types_default.a.func,
2106
 
2107
+ /**
2108
+ * This will delay the popup from appearing by the number of ms.
2109
+ */
2110
+ delay: prop_types_default.a.number,
2111
 
2112
+ /**
2113
+ * A callback for when the tooltip is shown.
2114
+ */
2115
+ onShow: prop_types_default.a.func,
2116
 
2117
+ /**
2118
+ * useAnchor, will append the tooltip to the body tag, and make use of the anchorRect to display the tooltip.
2119
+ * Defaults to false.
2120
+ */
2121
+ useAnchor: prop_types_default.a.bool
2122
+ };
2123
 
2124
+ // EXTERNAL MODULE: external ["wp","dom"]
2125
+ var external_wp_dom_ = __webpack_require__(107);
2126
 
2127
+ // CONCATENATED MODULE: ./client/hooks/useFocusOnMount.js
2128
+ /**
2129
+ * This hook was directly copied from https://github.com/WordPress/gutenberg/blob/master/packages/compose/src/hooks/use-focus-on-mount/index.js
2130
+ * to avoid its absence in older versions of WordPress.
2131
+ *
2132
+ * This can be removed once the minimum supported version of WordPress includes this hook.
2133
+ */
2134
 
2135
+ /**
2136
+ * External dependencies
2137
+ */
 
 
 
 
2138
 
2139
 
2140
+ /**
2141
+ * Hook used to focus the first tabbable element on mount.
2142
+ *
2143
+ * @param {boolean|string} focusOnMount Focus on mount mode.
2144
+ * @return {Function} Ref callback.
2145
+ *
2146
+ * @example
2147
+ * ```js
2148
+ * import { useFocusOnMount } from '@wordpress/compose';
2149
+ *
2150
+ * const WithFocusOnMount = () => {
2151
+ * const ref = useFocusOnMount()
2152
+ * return (
2153
+ * <div ref={ ref }>
2154
+ * <Button />
2155
+ * <Button />
2156
+ * </div>
2157
+ * );
2158
+ * }
2159
+ * ```
2160
+ */
2161
 
2162
+ function useFocusOnMount(focusOnMount = 'firstElement') {
2163
+ const focusOnMountRef = Object(external_wp_element_["useRef"])(focusOnMount);
2164
+ Object(external_wp_element_["useEffect"])(() => {
2165
+ focusOnMountRef.current = focusOnMount;
2166
+ }, [focusOnMount]);
2167
+ return Object(external_wp_element_["useCallback"])(node => {
2168
+ if (!node || focusOnMountRef.current === false) {
2169
+ return;
2170
+ }
2171
 
2172
+ if (node.contains(node.ownerDocument.activeElement)) {
2173
+ return;
2174
+ }
2175
 
2176
+ let target = node;
2177
 
2178
+ if (focusOnMountRef.current === 'firstElement') {
2179
+ const firstTabbable = external_wp_dom_["focus"].tabbable.find(node)[0];
 
 
2180
 
2181
+ if (firstTabbable) {
2182
+ target = firstTabbable;
2183
+ }
2184
+ }
2185
 
2186
+ target.focus();
2187
+ }, []);
 
 
2188
  }
2189
+ // CONCATENATED MODULE: ./client/hooks/useFocusOutside.js
2190
+ /**
2191
+ * External dependencies
2192
+ */
2193
 
2194
 
2195
+ /**
2196
+ * Input types which are classified as button types, for use in considering
2197
+ * whether element is a (focus-normalized) button.
2198
+ *
2199
+ * @type {string[]}
2200
+ */
 
 
 
2201
 
2202
+ const INPUT_BUTTON_TYPES = ['button', 'submit'];
2203
+ /**
2204
+ * @typedef {HTMLButtonElement | HTMLLinkElement | HTMLInputElement} FocusNormalizedButton
2205
+ */
2206
+ // Disable reason: Rule doesn't support predicate return types
2207
 
2208
+ /* eslint-disable jsdoc/valid-types */
 
 
2209
 
2210
+ /**
2211
+ * Returns true if the given element is a button element subject to focus
2212
+ * normalization, or false otherwise.
2213
+ *
2214
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus
2215
+ *
2216
+ * @param {EventTarget} eventTarget The target from a mouse or touch event.
2217
+ *
2218
+ * @return {eventTarget is FocusNormalizedButton} Whether element is a button.
2219
+ */
2220
 
2221
+ function isFocusNormalizedButton(eventTarget) {
2222
+ if (!(eventTarget instanceof window.HTMLElement)) {
2223
+ return false;
2224
+ }
2225
 
2226
+ switch (eventTarget.nodeName) {
2227
+ case 'A':
2228
+ case 'BUTTON':
2229
+ return true;
2230
 
2231
+ case 'INPUT':
2232
+ return Object(external_lodash_["includes"])(INPUT_BUTTON_TYPES,
2233
+ /** @type {HTMLInputElement} */
2234
+ eventTarget.type);
 
 
 
 
 
 
 
 
2235
  }
 
2236
 
2237
+ return false;
2238
+ }
2239
+ /* eslint-enable jsdoc/valid-types */
2240
 
2241
+ /**
2242
+ * @typedef {import('react').SyntheticEvent} SyntheticEvent
2243
+ */
2244
 
2245
+ /**
2246
+ * @callback EventCallback
2247
+ * @param {SyntheticEvent} event input related event.
2248
+ */
 
 
 
 
 
 
 
 
 
 
 
 
2249
 
2250
+ /**
2251
+ * @typedef FocusOutsideReactElement
2252
+ * @property {EventCallback} handleFocusOutside callback for a focus outside event.
2253
+ */
2254
 
2255
+ /**
2256
+ * @typedef {import('react').MutableRefObject<FocusOutsideReactElement | undefined>} FocusOutsideRef
2257
+ */
2258
 
 
 
 
 
 
 
 
 
 
 
2259
  /**
2260
+ * @typedef {Object} FocusOutsideReturnValue
2261
+ * @property {EventCallback} onFocus An event handler for focus events.
2262
+ * @property {EventCallback} onBlur An event handler for blur events.
2263
+ * @property {EventCallback} onMouseDown An event handler for mouse down events.
2264
+ * @property {EventCallback} onMouseUp An event handler for mouse up events.
2265
+ * @property {EventCallback} onTouchStart An event handler for touch start events.
2266
+ * @property {EventCallback} onTouchEnd An event handler for touch end events.
2267
  */
2268
 
2269
  /**
2270
+ * A react hook that can be used to check whether focus has moved outside the
2271
+ * element the event handlers are bound to.
2272
+ *
2273
+ * @param {EventCallback} onFocusOutside A callback triggered when focus moves outside
2274
+ * the element the event handlers are bound to.
2275
+ *
2276
+ * @return {FocusOutsideReturnValue} An object containing event handlers. Bind the event handlers
2277
+ * to a wrapping element element to capture when focus moves
2278
+ * outside that element.
2279
  */
2280
 
 
 
 
 
 
 
 
2281
 
2282
+ function useFocusOutside(onFocusOutside) {
2283
+ const currentOnFocusOutside = Object(external_wp_element_["useRef"])(onFocusOutside);
2284
+ Object(external_wp_element_["useEffect"])(() => {
2285
+ currentOnFocusOutside.current = onFocusOutside;
2286
+ }, [onFocusOutside]);
2287
+ const preventBlurCheck = Object(external_wp_element_["useRef"])(false);
2288
+ /**
2289
+ * @type {import('react').MutableRefObject<number | undefined>}
2290
+ */
2291
 
2292
+ const blurCheckTimeoutId = Object(external_wp_element_["useRef"])();
2293
+ /**
2294
+ * Cancel a blur check timeout.
2295
+ */
2296
 
2297
+ const cancelBlurCheck = Object(external_wp_element_["useCallback"])(() => {
2298
+ clearTimeout(blurCheckTimeoutId.current);
2299
+ }, []); // Cancel blur checks on unmount.
2300
 
2301
+ Object(external_wp_element_["useEffect"])(() => {
2302
+ return () => cancelBlurCheck();
2303
+ }, []); // Cancel a blur check if the callback or ref is no longer provided.
2304
 
2305
+ Object(external_wp_element_["useEffect"])(() => {
2306
+ if (!onFocusOutside) {
2307
+ cancelBlurCheck();
2308
+ }
2309
+ }, [onFocusOutside, cancelBlurCheck]);
2310
+ /**
2311
+ * Handles a mousedown or mouseup event to respectively assign and
2312
+ * unassign a flag for preventing blur check on button elements. Some
2313
+ * browsers, namely Firefox and Safari, do not emit a focus event on
2314
+ * button elements when clicked, while others do. The logic here
2315
+ * intends to normalize this as treating click on buttons as focus.
2316
+ *
2317
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus
2318
+ *
2319
+ * @param {SyntheticEvent} event Event for mousedown or mouseup.
2320
+ */
2321
 
2322
+ const normalizeButtonFocus = Object(external_wp_element_["useCallback"])(event => {
2323
+ const {
2324
+ type,
2325
+ target
2326
+ } = event;
2327
+ const isInteractionEnd = Object(external_lodash_["includes"])(['mouseup', 'touchend'], type);
2328
 
2329
+ if (isInteractionEnd) {
2330
+ preventBlurCheck.current = false;
2331
+ } else if (isFocusNormalizedButton(target)) {
2332
+ preventBlurCheck.current = true;
2333
+ }
2334
+ }, []);
2335
+ /**
2336
+ * A callback triggered when a blur event occurs on the element the handler
2337
+ * is bound to.
2338
+ *
2339
+ * Calls the `onFocusOutside` callback in an immediate timeout if focus has
2340
+ * move outside the bound element and is still within the document.
2341
+ *
2342
+ * @param {SyntheticEvent} event Blur event.
2343
+ */
2344
 
2345
+ const queueBlurCheck = Object(external_wp_element_["useCallback"])(event => {
2346
+ // React does not allow using an event reference asynchronously
2347
+ // due to recycling behavior, except when explicitly persisted.
2348
+ event.persist(); // Skip blur check if clicking button. See `normalizeButtonFocus`.
2349
 
2350
+ if (preventBlurCheck.current) {
2351
+ return;
2352
+ }
 
 
 
 
2353
 
2354
+ blurCheckTimeoutId.current = setTimeout(() => {
2355
+ // If document is not focused then focus should remain
2356
+ // inside the wrapped component and therefore we cancel
2357
+ // this blur event thereby leaving focus in place.
2358
+ // https://developer.mozilla.org/en-US/docs/Web/API/Document/hasFocus.
2359
+ if (!document.hasFocus()) {
2360
+ event.preventDefault();
2361
+ return;
2362
+ }
2363
 
2364
+ if (typeof currentOnFocusOutside.current === 'function') {
2365
+ currentOnFocusOutside.current(event);
2366
+ }
2367
+ }, 0);
2368
+ }, []);
2369
+ return {
2370
+ onFocus: cancelBlurCheck,
2371
+ onMouseDown: normalizeButtonFocus,
2372
+ onMouseUp: normalizeButtonFocus,
2373
+ onTouchStart: normalizeButtonFocus,
2374
+ onTouchEnd: normalizeButtonFocus,
2375
+ onBlur: queueBlurCheck
2376
+ };
2377
+ }
2378
+ // CONCATENATED MODULE: ./client/header/activity-panel/panel.js
2379
 
 
 
 
2380
 
 
 
2381
 
2382
+ /**
2383
+ * External dependencies
2384
+ */
 
 
 
 
 
 
2385
 
 
 
2386
 
 
2387
 
2388
+ /**
2389
+ * Internal dependencies
2390
+ */
2391
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2392
 
2393
 
2394
+ const Panel = ({
2395
+ content,
2396
+ isPanelOpen,
2397
+ isPanelSwitching,
2398
+ currentTab,
2399
+ tab,
2400
+ closePanel,
2401
+ clearPanel
2402
+ }) => {
2403
+ const panelClass = 'woocommerce-layout__activity-panel-wrapper';
2404
 
2405
+ const handleFocusOutside = event => {
2406
+ const isClickOnModalOrSnackbar = event.relatedTarget && (event.relatedTarget.closest('.woocommerce-inbox-dismiss-confirmation_modal') || event.relatedTarget.closest('.components-snackbar__action'));
2407
 
2408
+ if (isPanelOpen && !isClickOnModalOrSnackbar) {
2409
+ closePanel();
2410
+ }
2411
+ };
2412
 
2413
+ const possibleFocusPanel = () => {
2414
+ if (!containerRef.current || !isPanelOpen || !tab) {
2415
+ return;
2416
+ }
2417
 
2418
+ focusOnMountRef(containerRef.current);
2419
+ };
2420
 
2421
+ const finishTransition = e => {
2422
+ if (e && e.propertyName === 'transform') {
2423
+ clearPanel();
2424
+ possibleFocusPanel();
2425
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2426
  };
 
 
2427
 
2428
+ const focusOnMountRef = useFocusOnMount();
2429
+ const useFocusOutsideProps = useFocusOutside(handleFocusOutside);
2430
+ const containerRef = Object(external_wp_element_["useRef"])(null);
2431
+ const mergedContainerRef = Object(external_wp_element_["useCallback"])(node => {
2432
+ containerRef.current = node;
2433
+ focusOnMountRef(node);
2434
+ }, []);
2435
 
2436
+ if (!tab) {
2437
+ return Object(external_wp_element_["createElement"])("div", {
2438
+ className: panelClass
2439
+ });
 
2440
  }
 
 
2441
 
2442
+ if (!content) {
2443
+ return null;
2444
+ }
 
 
 
 
 
 
 
 
 
 
2445
 
2446
+ const classNames = classnames_default()(panelClass, {
2447
+ 'is-open': isPanelOpen,
2448
+ 'is-switching': isPanelSwitching
 
 
2449
  });
2450
+ return Object(external_wp_element_["createElement"])("div", extends_default()({
2451
+ className: classNames,
2452
+ tabIndex: 0,
2453
+ role: "tabpanel",
2454
+ "aria-label": tab.title,
2455
+ onTransitionEnd: finishTransition
2456
+ }, useFocusOutsideProps, {
2457
+ ref: mergedContainerRef
2458
+ }), Object(external_wp_element_["createElement"])("div", {
2459
+ className: "woocommerce-layout__activity-panel-content",
2460
+ key: 'activity-panel-' + currentTab,
2461
+ id: 'activity-panel-' + currentTab
2462
+ }, Object(external_wp_element_["createElement"])(external_wp_element_["Suspense"], {
2463
+ fallback: Object(external_wp_element_["createElement"])(external_wc_components_["Spinner"], null)
2464
+ }, content)));
2465
+ };
2466
+ /* harmony default export */ var panel = (Panel);
2467
+ // EXTERNAL MODULE: ./client/homescreen/activity-panel/orders/utils.js
2468
+ var orders_utils = __webpack_require__(78);
2469
 
2470
+ // EXTERNAL MODULE: ./client/homescreen/activity-panel/reviews/utils.js
2471
+ var reviews_utils = __webpack_require__(120);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2472
 
2473
+ // EXTERNAL MODULE: ./client/header/activity-panel/panels/inbox/abbreviated-notifications-panel.js + 2 modules
2474
+ var abbreviated_notifications_panel = __webpack_require__(299);
2475
 
2476
+ // CONCATENATED MODULE: ./client/header/activity-panel/index.js
 
 
2477
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2478
 
2479
+ /**
2480
+ * External dependencies
2481
+ */
2482
 
2483
 
 
 
 
2484
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2485
 
 
 
 
2486
 
 
 
2487
 
2488
 
2489
 
 
 
 
2490
 
 
 
 
2491
 
 
 
 
2492
 
 
 
 
 
 
 
2493
 
2494
+ /**
2495
+ * Internal dependencies
2496
+ */
 
 
 
 
 
 
 
 
2497
 
2498
 
 
 
 
2499
 
 
2500
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2501
 
2502
 
 
 
 
 
2503
 
 
2504
 
 
 
 
 
2505
 
 
 
2506
 
 
 
 
 
 
 
 
2507
 
 
 
2508
 
2509
+ const HelpPanel = Object(external_wp_element_["lazy"])(() => Promise.all(/* import() | activity-panels-help */[__webpack_require__.e(3), __webpack_require__.e(4)]).then(__webpack_require__.bind(null, 657)));
2510
+ const InboxPanel = Object(external_wp_element_["lazy"])(() => Promise.all(/* import() | activity-panels-inbox */[__webpack_require__.e(1), __webpack_require__.e(5)]).then(__webpack_require__.bind(null, 647)));
2511
+ const ActivityPanel = ({
2512
+ isEmbedded,
2513
+ query,
2514
+ userPreferencesData
2515
+ }) => {
2516
+ const [currentTab, setCurrentTab] = Object(external_wp_element_["useState"])('');
2517
+ const [isPanelClosing, setIsPanelClosing] = Object(external_wp_element_["useState"])(false);
2518
+ const [isPanelOpen, setIsPanelOpen] = Object(external_wp_element_["useState"])(false);
2519
+ const [isPanelSwitching, setIsPanelSwitching] = Object(external_wp_element_["useState"])(false);
2520
+ const {
2521
+ fills
2522
+ } = Object(external_wc_experimental_["useSlot"])(abbreviated_notifications_panel["a" /* ABBREVIATED_NOTIFICATION_SLOT_NAME */]);
2523
+ const hasExtendedNotifications = Boolean(fills === null || fills === void 0 ? void 0 : fills.length);
2524
 
2525
+ const getPreviewSiteBtnTrackData = (select, getOption) => {
2526
+ let trackData = {};
 
2527
 
2528
+ if (query.page === 'wc-admin' && query.task === 'appearance') {
2529
+ var _tasksStatus$themeMod;
 
 
 
 
2530
 
2531
+ const {
2532
+ getTasksStatus
2533
+ } = select(external_wc_data_["ONBOARDING_STORE_NAME"]);
2534
+ const tasksStatus = getTasksStatus();
2535
+ const demoNotice = getOption('woocommerce_demo_store_notice');
2536
+ trackData = {
2537
+ set_notice: demoNotice ? 'Y' : 'N',
2538
+ create_homepage: tasksStatus.hasHomepage === true ? 'Y' : 'N',
2539
+ upload_logo: (_tasksStatus$themeMod = tasksStatus.themeMods) !== null && _tasksStatus$themeMod !== void 0 && _tasksStatus$themeMod.custom_logo ? 'Y' : 'N'
2540
+ };
2541
  }
2542
 
2543
+ return trackData;
2544
  };
2545
 
2546
+ function getThingsToDoNextCount(tasks, dismissedTasks, isExtendedTaskListHidden) {
2547
+ if (!tasks || isExtendedTaskListHidden) {
2548
+ return 0;
2549
+ }
 
 
2550
 
2551
+ return tasks.filter(task => task.visible && !task.completed && !dismissedTasks.includes(task.key)).length;
2552
+ }
 
2553
 
2554
+ function isAbbreviatedPanelVisible(select, setupTaskListHidden, thingsToDoNextCount) {
2555
+ const orderStatuses = Object(orders_utils["c" /* getOrderStatuses */])(select);
2556
+ const isOrdersCardVisible = setupTaskListHidden && isPanelOpen ? Object(orders_utils["d" /* getUnreadOrders */])(select, orderStatuses) > 0 : false;
2557
+ const isReviewsCardVisible = setupTaskListHidden && isPanelOpen ? Object(reviews_utils["b" /* getUnapprovedReviews */])(select) : false;
2558
+ const isLowStockCardVisible = setupTaskListHidden && isPanelOpen ? Object(orders_utils["a" /* getLowStockCount */])(select) : false;
2559
+ return thingsToDoNextCount > 0 || isOrdersCardVisible || isReviewsCardVisible || isLowStockCardVisible || hasExtendedNotifications;
2560
+ }
2561
 
2562
+ const {
2563
+ hasUnreadNotes,
2564
+ hasAbbreviatedNotifications,
2565
+ thingsToDoNextCount,
2566
+ requestingTaskListOptions,
2567
+ setupTaskListComplete,
2568
+ setupTaskListHidden,
2569
+ trackedCompletedTasks,
2570
+ previewSiteBtnTrackData
2571
+ } = Object(external_wp_data_["useSelect"])(select => {
2572
+ const {
2573
+ getOption,
2574
+ isResolving
2575
+ } = select(external_wc_data_["OPTIONS_STORE_NAME"]);
2576
+ const isSetupTaskListHidden = getOption('woocommerce_task_list_hidden') === 'yes';
2577
+ const isExtendedTaskListHidden = getOption('woocommerce_extended_task_list_hidden') === 'yes';
2578
+ const extendedTaskList = Object(external_wp_hooks_["applyFilters"])('woocommerce_admin_onboarding_task_list', [], query);
2579
+ const dismissedTasks = getOption('woocommerce_task_list_dismissed_tasks') || [];
2580
+ const thingsToDoCount = getThingsToDoNextCount(extendedTaskList, dismissedTasks, isExtendedTaskListHidden);
2581
+ return {
2582
+ hasUnreadNotes: isNotesPanelVisible(select),
2583
+ hasAbbreviatedNotifications: isAbbreviatedPanelVisible(select, isSetupTaskListHidden, thingsToDoCount),
2584
+ thingsToDoNextCount: thingsToDoCount,
2585
+ requestingTaskListOptions: isResolving('getOption', ['woocommerce_task_list_complete']) || isResolving('getOption', ['woocommerce_task_list_hidden']),
2586
+ setupTaskListComplete: getOption('woocommerce_task_list_complete') === 'yes',
2587
+ setupTaskListHidden: isSetupTaskListHidden,
2588
+ trackedCompletedTasks: getOption('woocommerce_task_list_tracked_completed_tasks') || [],
2589
+ previewSiteBtnTrackData: getPreviewSiteBtnTrackData(select, getOption)
2590
+ };
2591
  });
2592
+ const {
2593
+ updateOptions
2594
+ } = Object(external_wp_data_["useDispatch"])(external_wc_data_["OPTIONS_STORE_NAME"]);
2595
+ const {
2596
+ currentUserCan
2597
+ } = Object(external_wc_data_["useUser"])();
2598
+
2599
+ const togglePanel = ({
2600
+ name: tabName
2601
+ }, isTabOpen) => {
2602
+ const panelSwitching = tabName !== currentTab && currentTab !== '' && isTabOpen && isPanelOpen;
2603
 
2604
+ if (isPanelClosing) {
2605
+ return;
2606
+ }
2607
 
2608
+ setCurrentTab(tabName);
2609
+ setIsPanelOpen(isTabOpen);
2610
+ setIsPanelSwitching(panelSwitching);
2611
+ };
2612
 
2613
+ const closePanel = () => {
2614
+ setIsPanelClosing(true);
2615
+ setIsPanelOpen(false);
2616
+ };
2617
 
2618
+ const clearPanel = () => {
2619
+ if (!isPanelOpen) {
2620
+ setIsPanelClosing(false);
2621
+ setIsPanelSwitching(false);
2622
+ setCurrentTab('');
2623
+ }
2624
+ };
2625
 
2626
+ const isHomescreen = () => {
2627
+ return query.page === 'wc-admin' && !query.path;
2628
+ };
2629
 
2630
+ const isPerformingSetupTask = () => {
2631
+ return query.task && !query.path && (requestingTaskListOptions === true || setupTaskListHidden === false && setupTaskListComplete === false);
2632
+ };
 
2633
 
2634
+ const redirectToHomeScreen = () => {
2635
+ if (Object(utils["f" /* isWCAdmin */])(window.location.href)) {
2636
+ Object(external_wc_navigation_["getHistory"])().push(Object(external_wc_navigation_["getNewPath"])({}, '/', {}));
2637
+ } else {
2638
+ window.location.href = Object(wc_admin_settings["g" /* getAdminLink */])('admin.php?page=wc-admin');
2639
+ }
2640
+ }; // @todo Pull in dynamic unread status/count
2641
 
 
2642
 
2643
+ const getTabs = () => {
2644
+ const inbox = {
2645
+ name: 'inbox',
2646
+ title: Object(external_wp_i18n_["__"])('Inbox', 'woocommerce-admin'),
2647
+ icon: Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], {
2648
+ icon: library_inbox
2649
+ }),
2650
+ unread: hasUnreadNotes || hasAbbreviatedNotifications,
2651
+ visible: (isEmbedded || !isHomescreen()) && !isPerformingSetupTask()
2652
+ };
2653
+ const setup = {
2654
+ name: 'setup',
2655
+ title: Object(external_wp_i18n_["__"])('Finish setup', 'woocommerce-admin'),
2656
+ icon: Object(external_wp_element_["createElement"])(SetupProgress, null),
2657
+ onClick: () => {
2658
+ const currentLocation = window.location.href;
2659
+ const homescreenLocation = Object(wc_admin_settings["g" /* getAdminLink */])('admin.php?page=wc-admin'); // Don't navigate if we're already on the homescreen, this will cause an infinite loop
2660
 
2661
+ if (currentLocation !== homescreenLocation) {
2662
+ // Ensure that if the user is trying to get to the task list they can see it even if
2663
+ // it was dismissed.
2664
+ if (setupTaskListHidden === 'no') {
2665
+ redirectToHomeScreen();
2666
+ } else {
2667
+ updateOptions({
2668
+ woocommerce_task_list_hidden: 'no'
2669
+ }).then(redirectToHomeScreen);
2670
+ }
2671
+ }
2672
 
2673
+ return null;
2674
+ },
2675
+ visible: currentUserCan('manage_woocommerce') && !setupTaskListComplete && !setupTaskListHidden && !isPerformingSetupTask() && (!isHomescreen() || isEmbedded)
2676
+ };
2677
+ const help = {
2678
+ name: 'help',
2679
+ title: Object(external_wp_i18n_["__"])('Help', 'woocommerce-admin'),
2680
+ icon: Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], {
2681
+ icon: library_help
2682
+ }),
2683
+ visible: isHomescreen() && !isEmbedded || isPerformingSetupTask()
2684
+ };
2685
+ const displayOptions = {
2686
+ component: display_options["b" /* DisplayOptions */],
2687
+ visible: !isEmbedded && isHomescreen() && !isPerformingSetupTask()
2688
+ };
2689
+ const previewSite = {
2690
+ name: 'previewSite',
2691
+ title: Object(external_wp_i18n_["__"])('Preview site', 'woocommerce-admin'),
2692
+ icon: Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], {
2693
+ icon: external["a" /* default */]
2694
+ }),
2695
+ visible: query.page === 'wc-admin' && query.task === 'appearance',
2696
+ onClick: () => {
2697
+ window.open(window.wcSettings.siteUrl);
2698
+ Object(external_wc_tracks_["recordEvent"])('wcadmin_tasklist_previewsite', previewSiteBtnTrackData);
2699
+ return null;
2700
+ }
2701
+ };
2702
+ return [inbox, setup, previewSite, displayOptions, help].filter(tab => tab.visible);
2703
+ };
2704
 
2705
+ const getPanelContent = tab => {
2706
+ const {
2707
+ task
2708
+ } = query;
2709
 
2710
+ switch (tab) {
2711
+ case 'inbox':
2712
+ return Object(external_wp_element_["createElement"])(InboxPanel, {
2713
+ hasAbbreviatedNotifications: hasAbbreviatedNotifications,
2714
+ thingsToDoNextCount: thingsToDoNextCount
2715
+ });
2716
 
2717
+ case 'help':
2718
+ return Object(external_wp_element_["createElement"])(HelpPanel, {
2719
+ taskName: task
2720
+ });
 
2721
 
2722
+ default:
2723
+ return null;
2724
+ }
2725
+ };
2726
 
2727
+ const closedHelpPanelHighlight = () => {
2728
+ Object(external_wc_tracks_["recordEvent"])('help_tooltip_click');
 
2729
 
2730
+ if (userPreferencesData && userPreferencesData.updateUserPreferences) {
2731
+ userPreferencesData.updateUserPreferences({
2732
+ help_panel_highlight_shown: 'yes'
2733
+ });
2734
+ }
2735
+ };
2736
 
2737
+ const shouldShowHelpTooltip = () => {
2738
+ const {
2739
+ task
2740
+ } = query;
2741
+ const startedTasks = userPreferencesData && userPreferencesData.task_list_tracked_started_tasks;
2742
+ const highlightShown = userPreferencesData && userPreferencesData.help_panel_highlight_shown;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2743
 
2744
+ if (task && highlightShown !== 'yes' && (startedTasks || {})[task] > 1 && !trackedCompletedTasks.includes(task)) {
2745
+ return true;
2746
+ }
 
2747
 
2748
+ return false;
2749
+ };
 
 
2750
 
2751
+ const tabs = getTabs();
2752
+ const headerId = Object(external_lodash_["uniqueId"])('activity-panel-header_');
2753
+ const showHelpHighlightTooltip = shouldShowHelpTooltip();
2754
+ return Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(external_wc_components_["H"], {
2755
+ id: headerId,
2756
+ className: "screen-reader-text"
2757
+ }, Object(external_wp_i18n_["__"])('Store Activity', 'woocommerce-admin')), Object(external_wp_element_["createElement"])(external_wc_components_["Section"], {
2758
+ component: "aside",
2759
+ id: "woocommerce-activity-panel",
2760
+ className: "woocommerce-layout__activity-panel",
2761
+ "aria-labelledby": headerId
2762
+ }, Object(external_wp_element_["createElement"])(Tabs, {
2763
+ tabs: tabs,
2764
+ tabOpen: isPanelOpen,
2765
+ selectedTab: currentTab,
2766
+ onTabClick: (tab, tabOpen) => {
2767
+ if (tab.onClick) {
2768
+ tab.onClick();
2769
+ return;
2770
+ }
2771
 
2772
+ togglePanel(tab, tabOpen);
2773
+ }
2774
+ }), Object(external_wp_element_["createElement"])(Panel, {
2775
+ currentTab: true,
2776
+ isPanelOpen: isPanelOpen,
2777
+ isPanelSwitching: isPanelSwitching,
2778
+ tab: Object(external_lodash_["find"])(getTabs(), {
2779
+ name: currentTab
2780
+ }),
2781
+ content: getPanelContent(currentTab),
2782
+ closePanel: () => closePanel(),
2783
+ clearPanel: () => clearPanel()
2784
+ })), showHelpHighlightTooltip ? Object(external_wp_element_["createElement"])(HighlightTooltip, {
2785
+ delay: 1000,
2786
+ useAnchor: true,
2787
+ title: Object(external_wp_i18n_["__"])("We're here for help", 'woocommerce-admin'),
2788
+ content: Object(external_wp_i18n_["__"])('If you have any questions, feel free to explore the WooCommerce docs listed here.', 'woocommerce-admin'),
2789
+ closeButtonText: Object(external_wp_i18n_["__"])('Got it', 'woocommerce-admin'),
2790
+ id: "activity-panel-tab-help",
2791
+ onClose: () => closedHelpPanelHighlight(),
2792
+ onShow: () => Object(external_wc_tracks_["recordEvent"])('help_tooltip_view')
2793
+ }) : null);
2794
+ };
2795
+ ActivityPanel.defaultProps = {
2796
+ getHistory: external_wc_navigation_["getHistory"]
2797
+ };
2798
+ /* harmony default export */ var activity_panel = (ActivityPanel);
2799
+ // EXTERNAL MODULE: ./node_modules/gridicons/dist/cross-small.js
2800
+ var cross_small = __webpack_require__(117);
2801
+ var cross_small_default = /*#__PURE__*/__webpack_require__.n(cross_small);
2802
 
2803
+ // CONCATENATED MODULE: ./client/lib/platform/index.js
2804
+ const ANDROID_PLATFORM = 'android';
2805
+ const IOS_PLATFORM = 'ios';
2806
+ const UNKNOWN_PLATFORM = 'unknown';
2807
+ /**
2808
+ * Provide basic detection of platform based on user agent. This is not
2809
+ * a robust check for browser features or the like. You should only use
2810
+ * this for non-critical display logic.
2811
+ */
2812
 
2813
+ const platform = () => {
2814
+ if (/iPhone|iPad|iPod/i.test(window.navigator.userAgent)) {
2815
+ return IOS_PLATFORM;
2816
+ } else if (/Android/i.test(window.navigator.userAgent)) {
2817
+ return ANDROID_PLATFORM;
2818
  }
2819
 
2820
+ return UNKNOWN_PLATFORM;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2821
  };
2822
+ // CONCATENATED MODULE: ./client/mobile-banner/app-icon.js
2823
 
2824
+ const AppIcon = () => {
2825
+ return Object(external_wp_element_["createElement"])("svg", {
2826
+ width: "37",
2827
+ height: "37",
2828
+ viewBox: "0 0 92 92",
2829
+ fill: "none",
2830
+ xmlns: "http://www.w3.org/2000/svg"
2831
+ }, Object(external_wp_element_["createElement"])("rect", {
2832
+ width: "92",
2833
+ height: "92",
2834
+ rx: "21.3953",
2835
+ fill: "#7F54B3"
2836
+ }), Object(external_wp_element_["createElement"])("path", {
2837
+ fillRule: "evenodd",
2838
+ clipRule: "evenodd",
2839
+ 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",
2840
+ fill: "white"
2841
+ }));
2842
  };
2843
+ // EXTERNAL MODULE: ./client/mobile-banner/style.scss
2844
+ var mobile_banner_style = __webpack_require__(329);
2845
 
2846
+ // CONCATENATED MODULE: ./client/mobile-banner/constants.js
2847
+ // The Play Store link is defined as an exported constant mainly for the sake of testing the Mobile App Banner.
2848
+ // It is nearly impossible to fake navigation in JSDOM 16, so exposing this link for mocking allows us to
2849
+ // avoid triggering a navigation.
2850
+ const PLAY_STORE_LINK = 'https://play.google.com/store/apps/details?id=com.woocommerce.android';
2851
+ const TRACKING_EVENT_NAME = 'wcadmin_mobile_android_banner_click';
2852
+ // CONCATENATED MODULE: ./client/mobile-banner/index.js
2853
 
 
 
 
2854
 
2855
+ /**
2856
+ * External dependencies
2857
+ */
2858
 
 
 
 
2859
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2860
 
2861
 
 
 
 
2862
 
 
2863
 
2864
+ /**
2865
+ * Internal dependencies
2866
+ */
2867
 
 
 
 
 
 
 
2868
 
 
 
 
2869
 
 
 
 
 
 
2870
 
 
 
 
2871
 
2872
+ const SHOW_APP_BANNER_MODIFIER_CLASS = 'woocommerce-layout__show-app-banner';
2873
+ const MobileAppBanner = ({
2874
+ onInstall,
2875
+ onDismiss
2876
+ }) => {
2877
+ Object(external_wp_element_["useEffect"])(() => {
2878
+ const layout = document.getElementsByClassName('woocommerce-layout')[0];
2879
+
2880
+ if (platform() === ANDROID_PLATFORM) {
2881
+ if (layout) {
2882
+ // This is a hack to allow the mobile banner to work in the context of the header which is
2883
+ // position fixed. This can be refactored away when we move away from the activity panel
2884
+ // in future.
2885
+ layout.classList.add(SHOW_APP_BANNER_MODIFIER_CLASS);
 
 
 
 
2886
  }
2887
  }
 
 
 
2888
 
2889
+ return () => {
2890
+ if (layout) {
2891
+ layout.classList.remove(SHOW_APP_BANNER_MODIFIER_CLASS);
2892
+ }
2893
+ };
2894
+ }, []);
2895
+ const [isDismissed, setDismissed] = Object(external_wp_element_["useState"])(false); // On iOS the "Smart App Banner" meta tag is used so only display this on Android.
2896
 
2897
+ if (platform() === ANDROID_PLATFORM && !isDismissed) {
2898
+ return Object(external_wp_element_["createElement"])("div", {
2899
+ className: "woocommerce-mobile-app-banner"
2900
+ }, Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], {
2901
+ icon: Object(external_wp_element_["createElement"])(cross_small_default.a, {
2902
+ "data-testid": "dismiss-btn"
2903
+ }),
2904
+ onClick: () => {
2905
+ onDismiss();
2906
+ setDismissed(true);
2907
+ Object(external_wc_tracks_["recordEvent"])(TRACKING_EVENT_NAME, {
2908
+ action: 'dismiss'
2909
+ });
2910
+ }
2911
+ }), Object(external_wp_element_["createElement"])(AppIcon, null), Object(external_wp_element_["createElement"])("div", {
2912
+ className: "woocommerce-mobile-app-banner__description"
2913
+ }, Object(external_wp_element_["createElement"])("p", {
2914
+ className: "woocommerce-mobile-app-banner__description__text"
2915
+ }, Object(external_wp_i18n_["__"])('Run your store from anywhere', 'woocommerce-admin')), Object(external_wp_element_["createElement"])("p", {
2916
+ className: "woocommerce-mobile-app-banner__description__text"
2917
+ }, Object(external_wp_i18n_["__"])('Download the WooCommerce app', 'woocommerce-admin'))), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
2918
+ href: PLAY_STORE_LINK,
2919
+ isSecondary: true,
2920
+ onClick: () => {
2921
+ onInstall();
2922
+ setDismissed(true);
2923
+ Object(external_wc_tracks_["recordEvent"])(TRACKING_EVENT_NAME, {
2924
+ action: 'install'
2925
+ });
2926
+ }
2927
+ }, Object(external_wp_i18n_["__"])('Install', 'woocommerce-admin')));
2928
+ }
2929
 
2930
+ return null;
 
 
 
2931
  };
2932
+ // CONCATENATED MODULE: ./client/hooks/useIsScrolled.js
2933
+ /**
2934
+ * External dependencies
2935
+ */
2936
 
2937
+ function useIsScrolled() {
2938
+ const [isScrolled, setIsScrolled] = Object(external_wp_element_["useState"])(false);
2939
+ const rafHandle = Object(external_wp_element_["useRef"])(null);
2940
+ Object(external_wp_element_["useEffect"])(() => {
2941
+ const updateIsScrolled = () => {
2942
+ setIsScrolled(window.pageYOffset > 20);
2943
+ };
2944
 
2945
+ const scrollListener = () => {
2946
+ rafHandle.current = window.requestAnimationFrame(updateIsScrolled);
2947
+ };
 
 
2948
 
2949
+ window.addEventListener('scroll', scrollListener);
2950
+ return () => {
2951
+ window.removeEventListener('scroll', scrollListener);
2952
+ window.cancelAnimationFrame(rafHandle.current);
2953
+ };
2954
+ }, []);
2955
+ return isScrolled;
2956
  }
2957
+ // EXTERNAL MODULE: ./client/navigation/style.scss
2958
+ var navigation_style = __webpack_require__(330);
2959
 
2960
+ // CONCATENATED MODULE: ./client/navigation/utils.ts
2961
+ /**
2962
+ * External dependencies
2963
+ */
 
 
 
 
 
 
 
2964
 
 
 
 
 
 
 
 
2965
 
2966
+ /**
2967
+ * Get the full URL if a relative path is passed.
2968
+ */
2969
+ const getFullUrl = url => {
2970
+ if (url.indexOf('http') === 0) {
2971
+ return url;
2972
  }
2973
 
2974
+ return Object(wc_admin_settings["g" /* getAdminLink */])(url);
2975
+ };
2976
+ /**
2977
+ * Get a default regex expression to match the path and provided params.
2978
+ */
 
2979
 
2980
+ const getDefaultMatchExpression = url => {
2981
+ const escapedUrl = url.replace(/[-\/\\^$*+?.()|[\]{}]/gi, '\\$&');
2982
+ const [path, args, hash] = escapedUrl.split(/\\\?|#/);
2983
+ const hashExpression = hash ? `(.*#${hash}$)` : '';
2984
+ const argsExpression = args ? args.split('&').reduce((acc, param) => {
2985
+ return `${acc}(?=.*[?|&]${param}(&|$|#))`;
2986
+ }, '') : '';
2987
+ return '^' + path + argsExpression + hashExpression;
2988
+ };
2989
+ /**
2990
+ * Get a match score for a menu item given a location.
2991
+ */
2992
 
2993
+ const getMatchScore = (location, itemUrl, itemExpression = null) => {
2994
+ if (!itemUrl) {
2995
+ return 0;
 
2996
  }
 
 
 
 
 
 
 
 
2997
 
2998
+ const fullUrl = getFullUrl(itemUrl);
2999
+ const {
3000
+ href
3001
+ } = location; // Return highest possible score for exact match.
3002
 
3003
+ if (fullUrl === href) {
3004
+ return Number.MAX_SAFE_INTEGER;
3005
+ }
3006
 
3007
+ const defaultExpression = getDefaultMatchExpression(fullUrl);
3008
+ const regexp = new RegExp(itemExpression || defaultExpression, 'i');
3009
+ return (decodeURIComponent(href).match(regexp) || []).length;
3010
+ };
3011
 
3012
+ /**
3013
+ * Get the closest matching item.
3014
+ *
3015
+ * @param {Array} items An array of items to match against.
3016
+ */
3017
+ const getMatchingItem = items => {
3018
+ let matchedItem = null;
3019
+ let highestMatchScore = 0;
3020
+ items.forEach(item => {
3021
+ const score = getMatchScore(window.location, item.url, item.matchExpression);
3022
 
3023
+ if (score > 0 && score >= highestMatchScore) {
3024
+ highestMatchScore = score;
3025
+ matchedItem = item;
3026
+ }
3027
+ });
3028
+ return matchedItem || null;
3029
+ };
3030
+ /**
3031
+ * Available menu IDs.
3032
+ */
3033
 
3034
+ const menuIds = ['primary', 'favorites', 'plugins', 'secondary'];
3035
 
3036
+ /**
3037
+ * Default categories for the menu.
3038
+ */
3039
+ const defaultCategories = {
3040
+ woocommerce: {
3041
+ id: 'woocommerce',
3042
+ isCategory: true,
3043
+ menuId: 'primary',
3044
+ migrate: true,
3045
+ order: 10,
3046
+ parent: '',
3047
+ title: 'WooCommerce'
3048
+ }
3049
+ };
3050
+ /**
3051
+ * Sort an array of menu items by their order property.
3052
+ *
3053
+ * @param {Array} menuItems Array of menu items.
3054
+ * @return {Array} Sorted menu items.
3055
+ */
3056
 
3057
+ const sortMenuItems = menuItems => {
3058
+ return menuItems.sort((a, b) => {
3059
+ if (a.order === b.order) {
3060
+ return a.title.localeCompare(b.title);
3061
+ }
3062
 
3063
+ return a.order - b.order;
3064
+ });
3065
  };
3066
+ /**
3067
+ * Get a flat tree structure of all Categories and thier children grouped by menuId
3068
+ *
3069
+ * @param {Array} menuItems Array of menu items.
3070
+ * @param {Function} currentUserCan Callback method passed the capability to determine if a menu item is visible.
3071
+ * @return {Object} Mapped menu items and categories.
3072
+ */
3073
 
3074
+ const getMappedItemsCategories = (menuItems, currentUserCan) => {
3075
+ const categories = { ...defaultCategories
3076
+ };
3077
+ const items = sortMenuItems(menuItems).reduce((acc, item) => {
3078
+ // Set up the category if it doesn't yet exist.
3079
+ if (!acc[item.parent]) {
3080
+ acc[item.parent] = {};
3081
+ menuIds.forEach(menuId => {
3082
+ acc[item.parent][menuId] = [];
3083
+ });
3084
+ } // Incorrect menu ID.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3085
 
 
 
3086
 
3087
+ if (!acc[item.parent][item.menuId]) {
3088
+ return acc;
3089
+ } // User does not have permission to view this item.
3090
 
 
 
 
 
 
 
 
 
 
3091
 
3092
+ if (currentUserCan && item.capability && !currentUserCan(item.capability)) {
3093
+ return acc;
3094
+ } // Add categories.
3095
 
 
 
 
3096
 
3097
+ if (item.isCategory) {
3098
+ categories[item.id] = item;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3099
  }
 
 
3100
 
3101
+ const menuIdArray = acc[item.parent][item.menuId];
3102
 
3103
+ if (menuIdArray) {
3104
+ menuIdArray.push(item);
3105
+ }
3106
 
3107
+ return acc;
3108
+ }, {});
3109
+ return {
3110
+ items,
3111
+ categories
3112
+ };
3113
  };
3114
+ // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/wordpress.js
3115
 
3116
 
3117
+ /**
3118
+ * WordPress dependencies
3119
+ */
3120
 
3121
+ var wordpress = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], {
3122
+ xmlns: "http://www.w3.org/2000/svg",
3123
+ viewBox: "-2 -2 24 24"
3124
+ }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], {
3125
+ 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"
3126
+ }));
3127
+ /* harmony default export */ var library_wordpress = (wordpress);
3128
+ //# sourceMappingURL=wordpress.js.map
3129
+ // CONCATENATED MODULE: ./client/navigation/components/header/index.js
3130
 
3131
 
3132
+ /**
3133
+ * External dependencies
3134
+ */
3135
 
 
 
 
 
 
3136
 
 
 
 
 
 
 
3137
 
 
 
 
 
 
 
3138
 
3139
 
 
 
 
 
3140
 
 
 
 
 
 
 
3141
 
 
3142
 
 
 
3143
 
 
 
 
 
 
 
 
3144
 
3145
+ /**
3146
+ * Internal dependencies
3147
+ */
3148
 
 
 
 
3149
 
 
3150
 
3151
+ const Header = () => {
3152
+ const siteTitle = Object(wc_admin_settings["h" /* getSetting */])('siteTitle', '');
3153
+ const homeUrl = Object(wc_admin_settings["h" /* getSetting */])('homeUrl', '');
3154
+ const isScrolled = useIsScrolled();
3155
+ const [isFolded, setIsFolded] = Object(external_wp_element_["useState"])(document.body.classList.contains(false));
3156
+ const navClasses = {
3157
+ folded: 'is-wc-nav-folded',
3158
+ expanded: 'is-wc-nav-expanded'
3159
+ };
 
 
 
 
3160
 
3161
+ const foldNav = () => {
3162
+ document.body.classList.add(navClasses.folded);
3163
+ document.body.classList.remove(navClasses.expanded);
3164
+ setIsFolded(true);
3165
+ };
3166
 
3167
+ const expandNav = () => {
3168
+ document.body.classList.remove(navClasses.folded);
3169
+ document.body.classList.add(navClasses.expanded);
3170
+ setIsFolded(false);
3171
+ };
3172
 
3173
+ const toggleFolded = () => {
3174
+ if (document.body.classList.contains(navClasses.folded)) {
3175
+ expandNav();
3176
+ } else {
3177
+ foldNav();
3178
+ }
3179
+ };
3180
 
3181
+ const foldOnMobile = (screenWidth = document.body.clientWidth) => {
3182
+ if (screenWidth <= 960) {
3183
+ foldNav();
3184
+ } else {
3185
+ expandNav();
3186
+ }
3187
+ };
3188
 
3189
+ Object(external_wp_element_["useEffect"])(() => {
3190
+ foldOnMobile();
3191
+ const foldEvents = [{
3192
+ eventName: 'orientationchange',
3193
+ handler: e => foldOnMobile(e.target.screen.availWidth)
3194
+ }, {
3195
+ eventName: 'resize',
3196
+ handler: Object(external_lodash_["debounce"])(() => foldOnMobile(), 200)
3197
+ }];
3198
 
3199
+ for (const {
3200
+ eventName,
3201
+ handler
3202
+ } of foldEvents) {
3203
+ window.addEventListener(eventName, handler, false);
3204
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3205
 
3206
+ Object(external_wc_navigation_["addHistoryListener"])(() => foldOnMobile());
3207
+ }, []);
3208
+ let buttonIcon = Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], {
3209
+ size: "36px",
3210
+ icon: library_wordpress
3211
+ });
3212
+ const {
3213
+ isRequestingSiteIcon,
3214
+ siteIconUrl
3215
+ } = Object(external_wp_data_["useSelect"])(select => {
3216
+ const {
3217
+ isResolving
3218
+ } = select('core/data');
3219
+ const {
3220
+ getEntityRecord
3221
+ } = select('core');
3222
+ const siteData = getEntityRecord('root', '__unstableBase', undefined) || {};
3223
+ return {
3224
+ isRequestingSiteIcon: isResolving('core', 'getEntityRecord', ['root', '__unstableBase', undefined]),
3225
+ siteIconUrl: siteData.siteIconUrl
3226
+ };
3227
+ });
3228
 
3229
+ if (siteIconUrl) {
3230
+ buttonIcon = Object(external_wp_element_["createElement"])("img", {
3231
+ alt: Object(external_wp_i18n_["__"])('Site Icon'),
3232
+ src: siteIconUrl
3233
+ });
3234
+ } else if (isRequestingSiteIcon) {
3235
+ buttonIcon = null;
3236
+ }
3237
 
3238
+ const className = classnames_default()('woocommerce-navigation-header', {
3239
+ 'is-scrolled': isScrolled
3240
+ });
3241
+ return Object(external_wp_element_["createElement"])("div", {
3242
+ className: className
3243
+ }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
3244
+ onClick: () => toggleFolded(),
3245
+ className: "woocommerce-navigation-header__site-icon",
3246
+ "aria-label": "Fold navigation",
3247
+ role: "switch",
3248
+ "aria-checked": isFolded ? 'true' : 'false'
3249
+ }, buttonIcon), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
3250
+ href: homeUrl,
3251
+ className: "woocommerce-navigation-header__site-title",
3252
+ as: "span"
3253
+ }, Object(external_wp_htmlEntities_["decodeEntities"])(siteTitle)));
3254
+ };
 
 
 
 
 
 
 
3255
 
3256
+ /* harmony default export */ var header = (Header);
3257
+ // EXTERNAL MODULE: ./client/navigation/components/category-title/style.scss
3258
+ var category_title_style = __webpack_require__(331);
3259
 
3260
+ // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/star-filled.js
 
 
3261
 
 
 
 
3262
 
3263
+ /**
3264
+ * WordPress dependencies
3265
+ */
3266
 
3267
+ var starFilled = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], {
3268
+ xmlns: "http://www.w3.org/2000/svg",
3269
+ viewBox: "0 0 24 24"
3270
+ }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], {
3271
+ d: "M11.776 4.454a.25.25 0 01.448 0l2.069 4.192a.25.25 0 00.188.137l4.626.672a.25.25 0 01.139.426l-3.348 3.263a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.362.263l-4.138-2.175a.25.25 0 00-.232 0l-4.138 2.175a.25.25 0 01-.363-.263l.79-4.607a.25.25 0 00-.071-.222L4.754 9.881a.25.25 0 01.139-.426l4.626-.672a.25.25 0 00.188-.137l2.069-4.192z"
3272
+ }));
3273
+ /* harmony default export */ var star_filled = (starFilled);
3274
+ //# sourceMappingURL=star-filled.js.map
3275
+ // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/star-empty.js
3276
 
3277
 
3278
+ /**
3279
+ * WordPress dependencies
3280
+ */
3281
 
3282
+ var starEmpty = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], {
3283
+ xmlns: "http://www.w3.org/2000/svg",
3284
+ viewBox: "0 0 24 24"
3285
+ }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], {
3286
+ fillRule: "evenodd",
3287
+ d: "M9.706 8.646a.25.25 0 01-.188.137l-4.626.672a.25.25 0 00-.139.427l3.348 3.262a.25.25 0 01.072.222l-.79 4.607a.25.25 0 00.362.264l4.138-2.176a.25.25 0 01.233 0l4.137 2.175a.25.25 0 00.363-.263l-.79-4.607a.25.25 0 01.072-.222l3.347-3.262a.25.25 0 00-.139-.427l-4.626-.672a.25.25 0 01-.188-.137l-2.069-4.192a.25.25 0 00-.448 0L9.706 8.646zM12 7.39l-.948 1.921a1.75 1.75 0 01-1.317.957l-2.12.308 1.534 1.495c.412.402.6.982.503 1.55l-.362 2.11 1.896-.997a1.75 1.75 0 011.629 0l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39z",
3288
+ clipRule: "evenodd"
3289
+ }));
3290
+ /* harmony default export */ var star_empty = (starEmpty);
3291
+ //# sourceMappingURL=star-empty.js.map
3292
+ // EXTERNAL MODULE: ./client/navigation/components/favorite-button/style.scss
3293
+ var favorite_button_style = __webpack_require__(332);
3294
 
3295
+ // CONCATENATED MODULE: ./client/navigation/components/favorite-button/index.js
 
 
3296
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3297
 
3298
+ /**
3299
+ * External dependencies
3300
+ */
3301
 
 
 
 
3302
 
 
 
3303
 
 
3304
 
 
 
3305
 
 
 
 
 
 
 
 
3306
 
3307
+ /**
3308
+ * Internal dependencies
3309
+ */
 
 
 
3310
 
3311
 
3312
+ const FavoriteButton = ({
3313
+ id
3314
+ }) => {
3315
+ const {
3316
+ favorites,
3317
+ isResolving
3318
+ } = Object(external_wp_data_["useSelect"])(select => {
3319
+ return {
3320
+ favorites: select(external_wc_data_["NAVIGATION_STORE_NAME"]).getFavorites(),
3321
+ isResolving: select(external_wc_data_["NAVIGATION_STORE_NAME"]).isResolving('getFavorites')
3322
+ };
3323
+ });
3324
+ const {
3325
+ addFavorite,
3326
+ removeFavorite
3327
+ } = Object(external_wp_data_["useDispatch"])(external_wc_data_["NAVIGATION_STORE_NAME"]);
3328
+ const isFavorited = favorites.includes(id);
3329
+
3330
+ const toggleFavorite = () => {
3331
+ const toggle = isFavorited ? removeFavorite : addFavorite;
3332
+ toggle(id);
3333
+ Object(external_wc_tracks_["recordEvent"])('navigation_favorite', {
3334
+ id,
3335
+ action: isFavorited ? 'unfavorite' : 'favorite'
3336
+ });
3337
+ };
3338
 
3339
+ if (isResolving) {
3340
+ return null;
3341
+ }
 
3342
 
3343
+ return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
3344
+ id: "woocommerce-navigation-favorite-button",
3345
+ className: "woocommerce-navigation-favorite-button",
3346
+ isTertiary: true,
3347
+ onClick: toggleFavorite,
3348
+ "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')
3349
+ }, Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], {
3350
+ icon: isFavorited ? star_filled : star_empty,
3351
+ className: `star-${isFavorited ? 'filled' : 'empty'}-icon`
3352
+ }));
3353
  };
3354
+ /* harmony default export */ var favorite_button = (FavoriteButton);
3355
+ // CONCATENATED MODULE: ./client/navigation/components/favorites-tooltip/index.js
3356
 
3357
 
3358
+ /**
3359
+ * External dependencies
3360
+ */
 
 
3361
 
 
 
3362
 
 
3363
 
3364
+ /**
3365
+ * Internal dependencies
3366
+ */
 
 
3367
 
3368
 
3369
+ const tooltipHiddenOption = 'woocommerce_navigation_favorites_tooltip_hidden';
3370
+ const FavoritesTooltip = () => {
3371
+ const {
3372
+ isFavoritesResolving,
3373
+ isOptionResolving,
3374
+ isTooltipHidden
3375
+ } = Object(external_wp_data_["useSelect"])(select => {
3376
+ const {
3377
+ getOption,
3378
+ isResolving
3379
+ } = select(external_wc_data_["OPTIONS_STORE_NAME"]);
3380
+ return {
3381
+ isFavoritesResolving: select(external_wc_data_["NAVIGATION_STORE_NAME"]).isResolving('getFavorites'),
3382
+ isOptionResolving: isResolving('getOption', [tooltipHiddenOption]),
3383
+ isTooltipHidden: getOption(tooltipHiddenOption) === 'yes'
3384
+ };
3385
+ });
3386
+ const {
3387
+ updateOptions
3388
+ } = Object(external_wp_data_["useDispatch"])(external_wc_data_["OPTIONS_STORE_NAME"]);
3389
 
3390
+ if (isFavoritesResolving || isTooltipHidden || isOptionResolving) {
3391
+ return null;
3392
+ }
3393
 
3394
+ if (document.body.classList.contains('is-wc-nav-folded')) {
3395
+ return null;
3396
+ }
3397
 
3398
+ return Object(external_wp_element_["createElement"])(HighlightTooltip, {
3399
+ delay: 1000,
3400
+ title: Object(external_wp_i18n_["__"])('Introducing favorites', 'woocommerce-admin'),
3401
+ content: Object(external_wp_i18n_["__"])('You can now favorite your extensions to pin them in the top level of the navigation.', 'woocommerce-admin'),
3402
+ closeButtonText: Object(external_wp_i18n_["__"])('Got it', 'woocommerce-admin'),
3403
+ id: "woocommerce-navigation-favorite-button",
3404
+ onClose: () => updateOptions({
3405
+ [tooltipHiddenOption]: 'yes'
3406
+ }),
3407
+ useAnchor: true
3408
+ });
3409
  };
3410
+ /* harmony default export */ var favorites_tooltip = (FavoritesTooltip);
3411
+ // CONCATENATED MODULE: ./client/navigation/components/category-title/index.js
3412
 
3413
 
3414
+ /**
3415
+ * Internal dependencies
3416
+ */
 
 
3417
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3418
 
3419
 
3420
+ const CategoryTitle = ({
3421
+ category
3422
+ }) => {
3423
+ const {
3424
+ id,
3425
+ menuId,
3426
+ title
3427
+ } = category;
3428
+ const className = 'woocommerce-navigation-category-title';
3429
 
3430
+ if (['plugins', 'favorites'].includes(menuId)) {
3431
+ return Object(external_wp_element_["createElement"])("span", {
3432
+ className: className
3433
+ }, Object(external_wp_element_["createElement"])("span", {
3434
+ className: `${className}__text`
3435
+ }, title), Object(external_wp_element_["createElement"])(FavoriteButton, {
3436
+ id: id
3437
+ }), Object(external_wp_element_["createElement"])(FavoritesTooltip, null));
3438
+ }
3439
 
3440
+ return Object(external_wp_element_["createElement"])("span", {
3441
+ className: className
3442
+ }, title);
3443
  };
3444
+ /* harmony default export */ var category_title = (CategoryTitle);
3445
+ // CONCATENATED MODULE: ./client/navigation/components/Item/index.js
3446
 
3447
 
3448
+ /**
3449
+ * External dependencies
3450
+ */
3451
 
 
3452
 
 
 
 
 
3453
 
 
3454
 
3455
+ const Item = ({
3456
+ item
3457
+ }) => {
3458
+ var _slot$fills;
3459
 
3460
+ const slot = Object(external_wc_experimental_["useSlot"])('woocommerce_navigation_' + item.id);
3461
+ const hasFills = Boolean(slot === null || slot === void 0 ? void 0 : (_slot$fills = slot.fills) === null || _slot$fills === void 0 ? void 0 : _slot$fills.length);
3462
+
3463
+ const trackClick = id => {
3464
+ Object(external_wc_tracks_["recordEvent"])('navigation_click', {
3465
+ menu_item: id
3466
  });
3467
+ }; // Disable reason: The div wrapping the slot item is used for tracking purposes
3468
+ // and should not be a tabbable element.
3469
 
3470
+ /* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */
3471
+ // Only render a slot if a coresponding Fill exists and the item is not a category
3472
 
 
 
 
3473
 
3474
+ if (hasFills && !item.isCategory) {
3475
+ return Object(external_wp_element_["createElement"])(external_wc_experimental_["NavigationItem"], {
3476
+ key: item.id,
3477
+ item: item.id
3478
+ }, Object(external_wp_element_["createElement"])("div", {
3479
+ onClick: () => trackClick(item.id)
3480
+ }, Object(external_wp_element_["createElement"])(external_wc_navigation_["WooNavigationItem"].Slot, {
3481
+ name: item.id
3482
+ })));
3483
+ }
3484
 
3485
+ return Object(external_wp_element_["createElement"])(external_wc_experimental_["NavigationItem"], {
3486
+ key: item.id,
3487
+ item: item.id,
3488
+ title: item.title,
3489
+ href: item.url,
3490
+ navigateToMenu: !item.url && item.id,
3491
+ onClick: () => trackClick(item.id),
3492
+ hideIfTargetMenuEmpty: true
3493
+ });
3494
+ /* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */
3495
  };
3496
 
3497
+ /* harmony default export */ var components_Item = (Item);
3498
+ // CONCATENATED MODULE: ./client/navigation/components/container/primary-menu.js
 
 
 
 
 
 
 
 
 
 
3499
 
 
 
 
 
 
 
3500
 
3501
+ /**
3502
+ * External dependencies
3503
+ */
 
 
 
 
 
 
 
 
 
 
 
3504
 
 
 
 
 
 
 
 
 
 
 
 
3505
 
3506
 
3507
+ /**
3508
+ * Internal dependencies
3509
+ */
3510
 
 
 
 
3511
 
 
3512
 
3513
+ const PrimaryMenu = ({
3514
+ category,
3515
+ onBackClick,
3516
+ pluginItems,
3517
+ primaryItems
3518
+ }) => {
3519
+ if (!primaryItems.length && !pluginItems.length) {
3520
+ return null;
3521
+ }
3522
 
3523
+ const rootBackLabel = Object(external_wp_hooks_["applyFilters"])('woocommerce_navigation_root_back_label', Object(external_wp_i18n_["__"])('WordPress Dashboard', 'woocommerce-admin'));
3524
+ const rootBackUrl = Object(external_wp_hooks_["applyFilters"])('woocommerce_navigation_root_back_url', window.wcNavigation.rootBackUrl);
3525
+ const isRootBackVisible = category.id === 'woocommerce' && rootBackUrl;
3526
+ return Object(external_wp_element_["createElement"])(external_wc_experimental_["NavigationMenu"], {
3527
+ title: Object(external_wp_element_["createElement"])(category_title, {
3528
+ category: category
3529
+ }),
3530
+ menu: category.id,
3531
+ parentMenu: category.parent,
3532
+ backButtonLabel: isRootBackVisible ? rootBackLabel : category.backButtonLabel || null,
3533
+ onBackButtonClick: isRootBackVisible ? () => {
3534
+ onBackClick('woocommerce');
3535
+ window.location = rootBackUrl;
3536
+ } : () => onBackClick(category.id)
3537
+ }, !!primaryItems.length && Object(external_wp_element_["createElement"])(external_wc_experimental_["NavigationGroup"], null, primaryItems.map(item => Object(external_wp_element_["createElement"])(components_Item, {
3538
+ key: item.id,
3539
+ item: item
3540
+ }))), !!pluginItems.length && Object(external_wp_element_["createElement"])(external_wc_experimental_["NavigationGroup"], {
3541
+ title: category.id === 'woocommerce' ? Object(external_wp_i18n_["__"])('Extensions', 'woocommerce-admin') : null
3542
+ }, pluginItems.map(item => Object(external_wp_element_["createElement"])(components_Item, {
3543
+ key: item.id,
3544
+ item: item
3545
+ }))));
3546
+ };
3547
+ // CONCATENATED MODULE: ./client/navigation/components/container/secondary-menu.js
3548
 
 
 
 
3549
 
3550
+ /**
3551
+ * External dependencies
3552
+ */
3553
 
3554
+ /**
3555
+ * Internal dependencies
3556
+ */
 
 
 
 
 
 
 
 
 
 
 
3557
 
3558
 
 
 
 
3559
 
3560
+ const SecondaryMenu = ({
3561
+ category,
3562
+ items,
3563
+ onBackClick
3564
+ }) => {
3565
+ if (!items.length) {
3566
+ return null;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3567
  }
 
 
 
 
 
 
 
 
 
 
 
3568
 
3569
+ const isRoot = category.id === 'woocommerce';
3570
+ return Object(external_wp_element_["createElement"])(external_wc_experimental_["NavigationMenu"], {
3571
+ className: "components-navigation__menu-secondary",
3572
+ title: !isRoot && Object(external_wp_element_["createElement"])(category_title, {
3573
+ category: category
3574
+ }),
3575
+ menu: category.id,
3576
+ parentMenu: category.parent,
3577
+ backButtonLabel: category.backButtonLabel || null,
3578
+ onBackButtonClick: isRoot ? null : () => onBackClick(category.id)
3579
+ }, Object(external_wp_element_["createElement"])(external_wc_experimental_["NavigationGroup"], {
3580
+ onBackButtonClick: () => onBackClick(category.id)
3581
+ }, items.map(item => Object(external_wp_element_["createElement"])(components_Item, {
3582
+ key: item.id,
3583
+ item: item
3584
+ }))));
3585
  };
3586
+ // CONCATENATED MODULE: ./client/navigation/components/container/index.js
3587
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3588
 
3589
+ /**
3590
+ * External dependencies
3591
+ */
 
3592
 
3593
 
 
 
 
3594
 
 
3595
 
 
3596
 
3597
 
 
 
 
3598
 
3599
+ /**
3600
+ * Internal dependencies
3601
+ */
3602
 
 
3603
 
 
 
 
 
 
 
 
 
 
 
3604
 
 
 
 
 
3605
 
3606
 
 
 
 
3607
 
3608
+ const Container = () => {
3609
+ const {
3610
+ menuItems
3611
+ } = Object(external_wp_data_["useSelect"])(select => {
3612
+ return {
3613
+ menuItems: select(external_wc_data_["NAVIGATION_STORE_NAME"]).getMenuItems()
3614
+ };
3615
+ });
3616
+ Object(external_wp_element_["useEffect"])(() => {
3617
+ // Collapse the original WP Menu.
3618
+ document.documentElement.classList.remove('wp-toolbar');
3619
+ document.body.classList.add('has-woocommerce-navigation');
3620
+ const adminMenu = document.getElementById('adminmenumain');
3621
 
3622
+ if (!adminMenu) {
3623
+ return;
3624
+ }
 
 
3625
 
3626
+ adminMenu.classList.add('folded');
3627
+ }, []);
3628
+ const [activeItem, setActiveItem] = Object(external_wp_element_["useState"])('woocommerce-home');
3629
+ const [activeLevel, setActiveLevel] = Object(external_wp_element_["useState"])('woocommerce');
3630
+ Object(external_wp_element_["useEffect"])(() => {
3631
+ const initialMatchedItem = getMatchingItem(menuItems);
3632
 
3633
+ if (initialMatchedItem && activeItem !== initialMatchedItem) {
3634
+ setActiveItem(initialMatchedItem);
3635
+ setActiveLevel(initialMatchedItem.parent);
3636
+ }
3637
 
3638
+ const removeListener = Object(external_wc_navigation_["addHistoryListener"])(() => {
3639
+ setTimeout(() => {
3640
+ const matchedItem = getMatchingItem(menuItems);
3641
 
3642
+ if (matchedItem) {
3643
+ setActiveItem(matchedItem);
3644
+ setActiveLevel(matchedItem.parent);
3645
+ }
3646
+ }, 0);
3647
+ });
3648
+ return removeListener;
3649
+ }, [menuItems]);
3650
+ const {
3651
+ currentUserCan
3652
+ } = Object(external_wc_data_["useUser"])();
3653
+ const {
3654
+ categories,
3655
+ items
3656
+ } = Object(external_wp_element_["useMemo"])(() => getMappedItemsCategories(menuItems, currentUserCan), [menuItems, currentUserCan]);
3657
+ const navDomRef = Object(external_wp_element_["useRef"])(null);
3658
+
3659
+ const onBackClick = id => {
3660
+ Object(external_wc_tracks_["recordEvent"])('navigation_back_click', {
3661
+ category: id
3662
+ });
3663
+ };
3664
 
3665
+ const isRoot = activeLevel === 'woocommerce';
3666
+ const classes = classnames_default()('woocommerce-navigation', {
3667
+ 'is-root': isRoot
3668
+ });
3669
+ return Object(external_wp_element_["createElement"])("div", {
3670
+ className: classes
3671
+ }, Object(external_wp_element_["createElement"])(header, null), Object(external_wp_element_["createElement"])("div", {
3672
+ className: "woocommerce-navigation__wrapper",
3673
+ ref: navDomRef
3674
+ }, Object(external_wp_element_["createElement"])(external_wc_experimental_["Navigation"], {
3675
+ activeItem: activeItem ? activeItem.id : null,
3676
+ activeMenu: activeLevel,
3677
+ onActivateMenu: (...args) => {
3678
+ if (navDomRef && navDomRef.current) {
3679
+ navDomRef.current.scrollTop = 0;
3680
+ }
3681
 
3682
+ setActiveLevel(...args);
3683
+ }
3684
+ }, Object.values(categories).map(category => {
3685
+ const categoryItems = items[category.id];
3686
+ return !!categoryItems && [Object(external_wp_element_["createElement"])(PrimaryMenu, {
3687
+ key: category.id,
3688
+ category: category,
3689
+ onBackClick: onBackClick,
3690
+ primaryItems: [...categoryItems.primary, ...categoryItems.favorites],
3691
+ pluginItems: categoryItems.plugins
3692
+ }), Object(external_wp_element_["createElement"])(SecondaryMenu, {
3693
+ key: `secondary/${category.id}`,
3694
+ category: category,
3695
+ onBackClick: onBackClick,
3696
+ items: categoryItems.secondary
3697
+ })];
3698
+ }))));
3699
  };
3700
 
3701
+ /* harmony default export */ var container = (Container);
3702
+ // CONCATENATED MODULE: ./client/navigation/index.js
3703
+ /**
3704
+ * External dependencies
3705
+ */
3706
 
3707
+ /**
3708
+ * Internal dependencies
3709
+ */
3710
 
 
3711
 
 
 
 
3712
 
3713
+ const HydratedNavigation = Object(external_wc_data_["withNavigationHydration"])(window.wcNavigation)(container);
3714
+ /* harmony default export */ var navigation = (HydratedNavigation);
3715
+ // CONCATENATED MODULE: ./client/header/index.js
3716
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3717
 
3718
+ /**
3719
+ * External dependencies
3720
+ */
3721
 
 
 
 
 
 
3722
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3723
 
 
 
 
 
 
 
 
 
 
 
 
 
3724
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3725
 
 
 
 
3726
 
 
 
 
 
 
 
 
 
3727
 
 
 
 
 
 
3728
 
 
 
 
 
 
 
 
 
3729
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3730
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3731
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3732
 
3733
+ /**
3734
+ * Internal dependencies
3735
+ */
3736
 
 
 
3737
 
 
3738
 
 
 
 
 
 
 
 
 
 
 
3739
 
 
 
 
 
 
 
 
3740
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3741
 
3742
 
3743
+ const renderTaskListBackButton = () => {
3744
+ const currentUrl = new URL(window.location.href);
3745
+ const task = currentUrl.searchParams.get('task');
3746
 
3747
+ if (task) {
3748
+ const homeText = Object(external_wp_i18n_["__"])('WooCommerce Home', 'woocommerce-admin');
3749
 
3750
+ const navigateHome = () => {
3751
+ Object(external_wc_tracks_["recordEvent"])('topbar_back_button', {
3752
+ page_name: getPageTitle(window.title)
3753
+ });
3754
+ Object(external_wc_navigation_["updateQueryString"])({}, Object(external_wc_navigation_["getHistory"])().location.pathname, {});
3755
+ }; // if it's a task list page, render a back button to the homescreen
3756
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3757
 
3758
+ return Object(external_wp_element_["createElement"])(external_wp_components_["Tooltip"], {
3759
+ text: homeText
3760
+ }, Object(external_wp_element_["createElement"])("div", {
3761
+ tabIndex: "0",
3762
+ role: "button",
3763
+ "data-testid": "header-back-button",
3764
+ className: "woocommerce-layout__header-back-button",
3765
+ onKeyDown: ({
3766
+ keyCode
3767
+ }) => {
3768
+ if (keyCode === external_wp_keycodes_["ENTER"] || keyCode === external_wp_keycodes_["SPACE"]) {
3769
+ navigateHome();
3770
  }
3771
+ }
3772
+ }, Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], {
3773
+ icon: chevron_left["a" /* default */],
3774
+ onClick: navigateHome
3775
+ })));
3776
+ }
3777
 
3778
+ return null;
3779
+ };
3780
 
3781
+ const getPageTitle = defaultTitle => {
3782
+ const currentUrl = new URL(window.location.href);
3783
+ const task = currentUrl.searchParams.get('task'); // If it's the task list then render a title based on which task the user is on.
3784
 
3785
+ return {
3786
+ payments: Object(external_wp_i18n_["__"])('Set up payments', 'woocommerce-admin'),
3787
+ tax: Object(external_wp_i18n_["__"])('Add tax rates', 'woocommerce-admin'),
3788
+ appearance: Object(external_wp_i18n_["__"])('Personalize your store', 'woocommerce-admin'),
3789
+ products: Object(external_wp_i18n_["__"])('Add products', 'woocommerce-admin'),
3790
+ shipping: Object(external_wp_i18n_["__"])('Set up shipping costs', 'woocommerce-admin')
3791
+ }[task] || defaultTitle;
3792
+ };
3793
 
3794
+ const header_Header = ({
3795
+ sections,
3796
+ isEmbedded = false,
3797
+ query
3798
+ }) => {
3799
+ const headerElement = Object(external_wp_element_["useRef"])(null);
3800
+ const siteTitle = Object(wc_admin_settings["h" /* getSetting */])('siteTitle', '');
3801
+ const pageTitle = sections.slice(-1)[0];
3802
+ const isScrolled = useIsScrolled();
3803
+ const {
3804
+ updateUserPreferences,
3805
+ ...userData
3806
+ } = Object(external_wc_data_["useUserPreferences"])();
3807
+ const isModalDismissed = userData.android_app_banner_dismissed === 'yes';
3808
+ let debounceTimer = null;
3809
+ const className = classnames_default()('woocommerce-layout__header', {
3810
+ 'is-scrolled': isScrolled
3811
+ });
3812
+ Object(external_wp_element_["useLayoutEffect"])(() => {
3813
+ updateBodyMargin();
3814
+ window.addEventListener('resize', updateBodyMargin);
3815
+ return () => {
3816
+ window.removeEventListener('resize', updateBodyMargin);
3817
+ const wpBody = document.querySelector('#wpbody');
 
 
 
 
 
 
 
 
 
3818
 
3819
+ if (!wpBody) {
3820
+ return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3821
  }
 
 
 
 
 
 
 
 
 
 
 
3822
 
3823
+ wpBody.style.marginTop = null;
 
 
 
 
 
 
 
 
 
 
 
3824
  };
3825
+ }, [isModalDismissed]);
 
 
 
 
 
3826
 
3827
+ const updateBodyMargin = () => {
3828
+ clearTimeout(debounceTimer);
3829
+ debounceTimer = setTimeout(function () {
3830
+ const wpBody = document.querySelector('#wpbody');
3831
+
3832
+ if (!wpBody || !headerElement.current) {
3833
+ return;
3834
+ }
3835
 
3836
+ wpBody.style.marginTop = `${headerElement.current.offsetHeight}px`;
3837
+ }, 200);
3838
+ };
3839
 
3840
+ Object(external_wp_element_["useEffect"])(() => {
3841
+ if (!isEmbedded) {
3842
+ const documentTitle = sections.map(section => {
3843
+ return Array.isArray(section) ? section[1] : section;
3844
+ }).reverse().join(' &lsaquo; ');
3845
+ const decodedTitle = Object(external_wp_htmlEntities_["decodeEntities"])(Object(external_wp_i18n_["sprintf"])(
3846
+ /* translators: 1: document title. 2: page title */
3847
+ Object(external_wp_i18n_["__"])('%1$s &lsaquo; %2$s &#8212; WooCommerce', 'woocommerce-admin'), documentTitle, siteTitle));
3848
 
3849
+ if (document.title !== decodedTitle) {
3850
+ document.title = decodedTitle;
3851
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3852
  }
3853
+ }, [isEmbedded, sections, siteTitle]);
 
 
3854
 
3855
+ const dismissHandler = () => {
3856
+ updateUserPreferences({
3857
+ android_app_banner_dismissed: 'yes'
3858
+ });
3859
+ };
3860
 
3861
+ const backButton = renderTaskListBackButton();
3862
+ const backButtonClass = backButton ? 'with-back-button' : '';
3863
+ return Object(external_wp_element_["createElement"])("div", {
3864
+ className: className,
3865
+ ref: headerElement
3866
+ }, !isModalDismissed && Object(external_wp_element_["createElement"])(MobileAppBanner, {
3867
+ onDismiss: dismissHandler,
3868
+ onInstall: dismissHandler
3869
+ }), Object(external_wp_element_["createElement"])("div", {
3870
+ className: "woocommerce-layout__header-wrapper"
3871
+ }, window.wcAdminFeatures.navigation && Object(external_wp_element_["createElement"])(navigation, null), renderTaskListBackButton(), Object(external_wp_element_["createElement"])(external_wc_experimental_["Text"], {
3872
+ className: `woocommerce-layout__header-heading ${backButtonClass}`,
3873
+ as: "h1"
3874
+ }, getPageTitle(Object(external_wp_htmlEntities_["decodeEntities"])(pageTitle))), window.wcAdminFeatures['activity-panels'] && Object(external_wp_element_["createElement"])(activity_panel, {
3875
+ isEmbedded: isEmbedded,
3876
+ query: query,
3877
+ userPreferencesData: { ...userData,
3878
+ updateUserPreferences
3879
+ }
3880
+ })));
3881
+ };
3882
+ // CONCATENATED MODULE: ./client/layout/notices.js
3883
 
 
3884
 
3885
+ /**
3886
+ * External dependencies
3887
+ */
3888
 
 
 
3889
 
3890
+ class notices_Notices extends external_wp_element_["Component"] {
3891
+ render() {
3892
+ return Object(external_wp_element_["createElement"])("div", {
3893
+ id: "woocommerce-layout__notice-list",
3894
+ className: "woocommerce-layout__notice-list"
3895
+ });
3896
+ }
3897
 
3898
+ }
 
 
 
 
 
 
 
 
 
 
 
 
3899
 
3900
+ /* harmony default export */ var layout_notices = (notices_Notices);
3901
+ // EXTERNAL MODULE: ./node_modules/react-spring/web.cjs.js
3902
+ var web_cjs = __webpack_require__(182);
3903
 
3904
+ // EXTERNAL MODULE: ./client/layout/transient-notices/snackbar/index.js
3905
+ var snackbar = __webpack_require__(301);
 
3906
 
3907
+ // CONCATENATED MODULE: ./client/layout/transient-notices/snackbar/list.js
3908
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3909
 
3910
 
3911
+ /**
3912
+ * External dependencies
3913
+ */
3914
 
 
 
3915
 
 
 
3916
 
 
 
 
 
3917
 
3918
 
3919
+ /**
3920
+ * Internal dependencies
3921
+ */
3922
 
 
3923
 
3924
+ /**
3925
+ * Renders a list of notices.
3926
+ *
3927
+ * @param {Object} $0 Props passed to the component.
3928
+ * @param {Array} $0.notices Array of notices to render.
3929
+ * @param {Function} $0.onRemove Function called when a notice should be removed / dismissed.
3930
+ * @param {Function} $0.onRemove2 Function called when a notice should be removed / dismissed.
3931
+ * @param {Object} $0.className Name of the class used by the component.
3932
+ * @param {Object} $0.children Array of children to be rendered inside the notice list.
3933
+ * @return {Object} The rendered notices list.
3934
+ */
3935
 
3936
+ function SnackbarList({
3937
+ notices,
3938
+ className,
3939
+ children,
3940
+ onRemove = external_lodash_["noop"],
3941
+ onRemove2 = external_lodash_["noop"]
3942
+ }) {
3943
+ const isReducedMotion = Object(external_wp_compose_["useReducedMotion"])();
3944
+ const [refMap] = Object(external_wp_element_["useState"])(() => new WeakMap());
3945
+ const transitions = Object(web_cjs["useTransition"])(notices, notice => notice.id, {
3946
+ from: {
3947
+ opacity: 0,
3948
+ height: 0
3949
+ },
3950
+ enter: item => async next => await next({
3951
+ opacity: 1,
3952
+ height: refMap.get(item).offsetHeight
3953
+ }),
3954
+ leave: () => async next => {
3955
+ await next({
3956
+ opacity: 0
3957
+ });
3958
+ await next({
3959
+ height: 0
3960
+ });
3961
+ },
3962
+ immediate: isReducedMotion
3963
+ });
3964
+ className = classnames_default()('components-snackbar-list', className);
3965
 
3966
+ const removeNotice = notice => () => {
3967
+ onRemove(notice.id); // To be removed when we're no longer using core/notices2.
 
3968
 
3969
+ onRemove2(notice.id);
3970
+ };
3971
 
3972
+ return Object(external_wp_element_["createElement"])("div", {
3973
+ className: className
3974
+ }, children, transitions.map(({
3975
+ item: notice,
3976
+ key,
3977
+ props: style
3978
+ }) => Object(external_wp_element_["createElement"])(web_cjs["animated"].div, {
3979
+ key: key,
3980
+ style: style
3981
+ }, Object(external_wp_element_["createElement"])("div", {
3982
+ className: "components-snackbar-list__notice-container",
3983
+ ref: ref => ref && refMap.set(notice, ref)
3984
+ }, Object(external_wp_element_["createElement"])(snackbar["a" /* default */], extends_default()({}, Object(external_lodash_["omit"])(notice, ['content']), {
3985
+ onRemove: removeNotice(notice)
3986
+ }), notice.content)))));
 
 
 
 
 
 
 
 
 
3987
  }
3988
 
3989
+ /* harmony default export */ var list = (SnackbarList);
3990
+ // EXTERNAL MODULE: ./client/layout/transient-notices/style.scss
3991
+ var transient_notices_style = __webpack_require__(337);
 
 
 
 
3992
 
3993
+ // CONCATENATED MODULE: ./client/layout/transient-notices/index.js
 
 
 
3994
 
 
 
 
 
3995
 
3996
+ /**
3997
+ * External dependencies
3998
+ */
3999
 
 
 
 
4000
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4001
 
4002
 
 
 
 
 
4003
 
 
 
 
 
 
 
 
 
 
 
 
 
4004
 
4005
+ /**
4006
+ * Internal dependencies
4007
+ */
4008
 
4009
 
 
 
 
4010
 
4011
+ const QUEUE_OPTION = 'woocommerce_admin_transient_notices_queue';
4012
+ const QUEUED_NOTICE_FILTER = 'woocommerce_admin_queued_notice_filter';
4013
 
4014
+ function TransientNotices(props) {
4015
+ const {
4016
+ removeNotice: onRemove
4017
+ } = Object(external_wp_data_["useDispatch"])('core/notices');
4018
+ const {
4019
+ createNotice: createNotice2,
4020
+ removeNotice: onRemove2
4021
+ } = Object(external_wp_data_["useDispatch"])('core/notices2');
4022
+ const {
4023
+ updateOptions
4024
+ } = Object(external_wp_data_["useDispatch"])(external_wc_data_["OPTIONS_STORE_NAME"]);
4025
+ const {
4026
+ currentUser = {},
4027
+ notices = [],
4028
+ notices2 = [],
4029
+ noticesQueue = {}
4030
+ } = Object(external_wp_data_["useSelect"])(select => {
4031
+ // NOTE: This uses core/notices2, if this file is copied back upstream
4032
+ // to Gutenberg this needs to be changed back to just core/notices.
4033
+ return {
4034
+ currentUser: select(external_wc_data_["USER_STORE_NAME"]).getCurrentUser(),
4035
+ notices: select('core/notices').getNotices(),
4036
+ notices2: select('core/notices2').getNotices(),
4037
+ noticesQueue: select(external_wc_data_["OPTIONS_STORE_NAME"]).getOption(QUEUE_OPTION)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4038
  };
4039
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4040
 
4041
+ const getCurrentUserNotices = () => {
4042
+ return Object.values(noticesQueue).filter(notice => notice.user_id === currentUser.id || !notice.user_id);
4043
+ };
4044
 
4045
+ const dequeueNotice = id => {
4046
+ const remainingNotices = { ...noticesQueue
4047
+ };
4048
+ delete remainingNotices[id];
4049
+ updateOptions({
4050
+ [QUEUE_OPTION]: remainingNotices
4051
+ });
4052
+ };
4053
 
4054
+ Object(external_wp_element_["useEffect"])(() => {
4055
+ getCurrentUserNotices().forEach(queuedNotice => {
4056
+ const notice = Object(external_wp_hooks_["applyFilters"])(QUEUED_NOTICE_FILTER, queuedNotice);
4057
+ createNotice2(notice.status, notice.content, {
4058
+ onDismiss: () => {
4059
+ dequeueNotice(notice.id);
4060
+ },
4061
+ ...(notice.options || {})
4062
+ });
4063
+ });
4064
+ }, []);
4065
+ /**
4066
+ * Combines the two notices in the component vs in the useSelect, as we don't want to
4067
+ * create new object references on each useSelect call.
4068
+ */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4069
 
4070
+ const getNotices = () => {
4071
+ return notices.concat(notices2);
 
 
 
 
 
 
 
 
4072
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4073
 
4074
+ const {
4075
+ className
4076
+ } = props;
4077
+ const classes = classnames_default()('woocommerce-transient-notices', 'components-notices__snackbar', className);
4078
+ const combinedNotices = getNotices();
4079
+ return Object(external_wp_element_["createElement"])(list, {
4080
+ notices: combinedNotices,
4081
+ className: classes,
4082
+ onRemove: onRemove,
4083
+ onRemove2: onRemove2
4084
+ });
4085
+ }
4086
 
4087
+ TransientNotices.propTypes = {
4088
+ /**
4089
+ * Additional class name to style the component.
4090
+ */
4091
+ className: prop_types_default.a.string,
4092
 
4093
+ /**
4094
+ * Array of notices to be displayed.
4095
+ */
4096
+ notices: prop_types_default.a.array
4097
+ };
4098
+ /* harmony default export */ var transient_notices = (TransientNotices);
4099
+ // CONCATENATED MODULE: ./client/layout/navigation.js
4100
 
 
4101
 
4102
+ /**
4103
+ * External dependencies
4104
+ */
4105
 
 
 
 
4106
 
 
4107
 
 
 
 
4108
 
 
 
 
4109
 
 
4110
 
4111
+ /**
4112
+ * Internal dependencies
4113
+ */
4114
 
 
 
 
4115
 
 
4116
 
 
 
 
4117
 
 
 
 
 
 
 
4118
 
4119
+ const NavigationPlugin = () => {
4120
+ const {
4121
+ persistedQuery
4122
+ } = Object(external_wp_data_["useSelect"])(select => {
4123
+ return {
4124
+ persistedQuery: select(external_wc_data_["NAVIGATION_STORE_NAME"]).getPersistedQuery()
4125
+ };
4126
+ });
4127
+ /**
4128
+ * If the current page is embedded, stay with the default urls
4129
+ * provided by Navigation because the router isn't present to
4130
+ * respond to <Link /> component's manipulation of the url.
4131
+ */
4132
 
4133
+ if (!Object(utils["f" /* isWCAdmin */])(window.location.href)) {
4134
+ return null;
 
 
 
 
 
 
 
 
 
4135
  }
4136
 
4137
+ const reports = Object(get_reports["a" /* default */])().filter(item => item.navArgs);
4138
+ const pages = getPages().filter(page => page.navArgs).map(page => {
4139
+ if (page.path === '/analytics/settings') {
4140
+ return { ...page,
4141
+ breadcrumbs: [Object(external_wp_i18n_["__"])('Analytics', 'woocommerce-admin')]
4142
+ };
4143
+ }
4144
 
4145
+ return page;
4146
+ });
4147
+ return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, pages.map(page => Object(external_wp_element_["createElement"])(external_wc_navigation_["WooNavigationItem"], {
4148
+ item: page.navArgs.id,
4149
+ key: page.navArgs.id
4150
+ }, Object(external_wp_element_["createElement"])(external_wc_components_["Link"], {
4151
+ className: "components-button",
4152
+ href: Object(external_wc_navigation_["getNewPath"])(Object(external_wc_navigation_["pathIsExcluded"])(page.path) ? {} : persistedQuery, page.path, {}),
4153
+ type: "wc-admin"
4154
+ }, page.breadcrumbs[page.breadcrumbs.length - 1]))), reports.map(item => Object(external_wp_element_["createElement"])(external_wc_navigation_["WooNavigationItem"], {
4155
+ item: item.navArgs.id,
4156
+ key: item.navArgs.id
4157
+ }, Object(external_wp_element_["createElement"])(external_wc_components_["Link"], {
4158
+ className: "components-button",
4159
+ href: Object(external_wc_navigation_["getNewPath"])(Object(external_wc_navigation_["pathIsExcluded"])(item.report) ? {} : persistedQuery, `/analytics/${item.report}`, {}),
4160
+ type: "wc-admin"
4161
+ }, item.title))));
4162
+ };
4163
 
4164
+ Object(external_wp_plugins_["registerPlugin"])('wc-admin-navigation', {
4165
+ render: NavigationPlugin
4166
+ });
4167
+ // CONCATENATED MODULE: ./client/layout/index.js
4168
 
 
 
 
4169
 
 
4170
 
4171
+ /**
4172
+ * External dependencies
4173
+ */
 
 
4174
 
 
4175
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4176
 
4177
 
 
 
 
4178
 
 
 
4179
 
 
 
 
4180
 
 
 
 
 
 
 
 
 
 
4181
 
 
 
 
 
 
 
 
 
 
 
 
4182
 
4183
 
 
 
 
4184
 
 
 
 
4185
 
4186
 
 
 
 
 
 
4187
 
 
4188
 
4189
+ /**
4190
+ * Internal dependencies
4191
+ */
4192
 
 
 
4193
 
 
 
4194
 
 
 
 
 
 
 
 
4195
 
 
 
4196
 
4197
 
 
 
 
4198
 
4199
+ const StoreAlerts = Object(external_wp_element_["lazy"])(() => Promise.all(/* import() | store-alerts */[__webpack_require__.e(2), __webpack_require__.e(47)]).then(__webpack_require__.bind(null, 656)));
4200
+ const WCPayUsageModal = Object(external_wp_element_["lazy"])(() => __webpack_require__.e(/* import() | wcpay-usage-modal */ 51).then(__webpack_require__.bind(null, 553)));
4201
+ class layout_PrimaryLayout extends external_wp_element_["Component"] {
4202
+ render() {
4203
+ const {
4204
+ children
4205
+ } = this.props;
4206
+ return Object(external_wp_element_["createElement"])("div", {
4207
+ className: "woocommerce-layout__primary",
4208
+ id: "woocommerce-layout__primary"
4209
+ }, window.wcAdminFeatures['store-alerts'] && Object(external_wp_element_["createElement"])(external_wp_element_["Suspense"], {
4210
+ fallback: Object(external_wp_element_["createElement"])(external_wc_components_["Spinner"], null)
4211
+ }, Object(external_wp_element_["createElement"])(StoreAlerts, null)), Object(external_wp_element_["createElement"])(layout_notices, null), children);
4212
+ }
4213
 
4214
+ }
4215
 
4216
+ class layout_Layout extends external_wp_element_["Component"] {
4217
+ componentDidMount() {
4218
+ this.recordPageViewTrack();
4219
+ }
4220
 
4221
+ componentDidUpdate(prevProps) {
4222
+ const previousPath = Object(external_lodash_["get"])(prevProps, 'location.pathname');
4223
+ const currentPath = Object(external_lodash_["get"])(this.props, 'location.pathname');
4224
 
4225
+ if (!previousPath || !currentPath) {
4226
+ return;
4227
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4228
 
4229
+ if (previousPath !== currentPath) {
4230
+ this.recordPageViewTrack();
4231
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4232
  }
 
 
 
 
 
 
 
 
 
 
4233
 
4234
+ recordPageViewTrack() {
4235
+ const {
4236
+ activePlugins,
4237
+ installedPlugins,
4238
+ isEmbedded,
4239
+ isJetpackConnected
4240
+ } = this.props;
4241
+ const navigationFlag = {
4242
+ has_navigation: !!window.wcNavigation
4243
+ };
4244
 
4245
+ if (isEmbedded) {
4246
+ const path = document.location.pathname + document.location.search;
4247
+ Object(external_wc_tracks_["recordPageView"])(path, {
4248
+ is_embedded: true,
4249
+ ...navigationFlag
4250
+ });
4251
+ return;
4252
+ }
4253
 
4254
+ const pathname = Object(external_lodash_["get"])(this.props, 'location.pathname');
4255
 
4256
+ if (!pathname) {
4257
+ return;
4258
+ } // Remove leading slash, and camel case remaining pathname
4259
 
4260
 
4261
+ let path = pathname.substring(1).replace(/\//g, '_'); // When pathname is `/` we are on the home screen.
 
 
4262
 
4263
+ if (path.length === 0) {
4264
+ path = 'home_screen';
4265
+ }
 
 
 
 
 
 
 
 
 
4266
 
4267
+ Object(external_wc_tracks_["recordPageView"])(path, {
4268
+ jetpack_installed: installedPlugins.includes('jetpack'),
4269
+ jetpack_active: activePlugins.includes('jetpack'),
4270
+ jetpack_connected: isJetpackConnected,
4271
+ ...navigationFlag
4272
+ });
4273
+ }
4274
 
4275
+ getQuery(searchString) {
4276
+ if (!searchString) {
4277
+ return {};
4278
+ }
4279
+
4280
+ const search = searchString.substring(1);
4281
+ return Object(lib["parse"])(search);
4282
+ }
4283
+
4284
+ isWCPaySettingsPage() {
4285
+ const {
4286
+ page,
4287
+ section,
4288
+ tab
4289
+ } = Object(external_wc_navigation_["getQuery"])();
4290
+ return page === 'wc-settings' && tab === 'checkout' && section === 'woocommerce_payments';
4291
+ }
4292
+
4293
+ render() {
4294
+ const {
4295
+ isEmbedded,
4296
+ ...restProps
4297
+ } = this.props;
4298
+ const {
4299
+ location,
4300
+ page
4301
+ } = this.props;
4302
+ const {
4303
+ breadcrumbs
4304
+ } = page;
4305
+ const query = this.getQuery(location && location.search);
4306
+ return Object(external_wp_element_["createElement"])(external_wp_components_["SlotFillProvider"], null, Object(external_wp_element_["createElement"])("div", {
4307
+ className: "woocommerce-layout"
4308
+ }, Object(external_wp_element_["createElement"])(header_Header, {
4309
+ sections: Object(external_lodash_["isFunction"])(breadcrumbs) ? breadcrumbs(this.props) : breadcrumbs,
4310
+ isEmbedded: isEmbedded,
4311
+ query: query
4312
+ }), Object(external_wp_element_["createElement"])(transient_notices, null), !isEmbedded && Object(external_wp_element_["createElement"])(layout_PrimaryLayout, null, Object(external_wp_element_["createElement"])("div", {
4313
+ className: "woocommerce-layout__main"
4314
+ }, Object(external_wp_element_["createElement"])(controller_Controller, extends_default()({}, restProps, {
4315
+ query: query
4316
+ })))), isEmbedded && this.isWCPaySettingsPage() && Object(external_wp_element_["createElement"])(external_wp_element_["Suspense"], {
4317
+ fallback: null
4318
+ }, Object(external_wp_element_["createElement"])(WCPayUsageModal, null))), Object(external_wp_element_["createElement"])(external_wp_plugins_["PluginArea"], {
4319
+ scope: "woocommerce-admin"
4320
+ }));
4321
+ }
4322
 
4323
+ }
4324
 
4325
+ layout_Layout.propTypes = {
4326
+ isEmbedded: prop_types_default.a.bool,
4327
+ page: prop_types_default.a.shape({
4328
+ container: prop_types_default.a.oneOfType([prop_types_default.a.func, prop_types_default.a.object // Support React.lazy
4329
+ ]),
4330
+ path: prop_types_default.a.string,
4331
+ 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,
4332
+ wpOpenMenu: prop_types_default.a.string
4333
+ }).isRequired
4334
+ };
4335
+ const Layout = Object(external_wp_compose_["compose"])(Object(external_wc_data_["withPluginsHydration"])({ ...(window.wcSettings.plugins || {}),
4336
+ jetpackStatus: window.wcSettings.dataEndpoints && window.wcSettings.dataEndpoints.jetpackStatus || false
4337
+ }), Object(external_wp_data_["withSelect"])((select, {
4338
+ isEmbedded
4339
+ }) => {
4340
+ // Embedded pages don't send plugin info to Tracks.
4341
+ if (isEmbedded) {
4342
+ return;
4343
  }
4344
+
4345
+ const {
4346
+ getActivePlugins,
4347
+ getInstalledPlugins,
4348
+ isJetpackConnected
4349
+ } = select(external_wc_data_["PLUGINS_STORE_NAME"]);
4350
+ return {
4351
+ activePlugins: getActivePlugins(),
4352
+ isJetpackConnected: isJetpackConnected(),
4353
+ installedPlugins: getInstalledPlugins()
4354
+ };
4355
+ }))(layout_Layout);
4356
+
4357
+ const _PageLayout = () => {
4358
+ const {
4359
+ currentUserCan
4360
+ } = Object(external_wc_data_["useUser"])();
4361
+ return Object(external_wp_element_["createElement"])(react_router_Router, {
4362
+ history: Object(external_wc_navigation_["getHistory"])()
4363
+ }, Object(external_wp_element_["createElement"])(react_router_Switch, null, getPages().filter(page => !page.capability || currentUserCan(page.capability)).map(page => {
4364
+ return Object(external_wp_element_["createElement"])(react_router_Route, {
4365
+ key: page.path,
4366
+ path: page.path,
4367
+ exact: true,
4368
+ render: props => Object(external_wp_element_["createElement"])(Layout, extends_default()({
4369
+ page: page
4370
+ }, props))
4371
+ });
4372
+ })));
4373
  };
4374
 
4375
+ const PageLayout = Object(external_wp_compose_["compose"])(window.wcSettings.preloadOptions ? Object(external_wc_data_["withOptionsHydration"])({ ...window.wcSettings.preloadOptions
4376
+ }) : external_lodash_["identity"])(_PageLayout);
4377
+
4378
+ const _EmbedLayout = () => Object(external_wp_element_["createElement"])(Layout, {
4379
+ page: {
4380
+ breadcrumbs: Object(wc_admin_settings["h" /* getSetting */])('embedBreadcrumbs', [])
4381
+ },
4382
+ isEmbedded: true
4383
+ });
4384
+
4385
+ const EmbedLayout = Object(external_wp_compose_["compose"])(window.wcSettings.preloadOptions ? Object(external_wc_data_["withOptionsHydration"])({ ...window.wcSettings.preloadOptions
4386
+ }) : external_lodash_["identity"])(_EmbedLayout);
4387
 
4388
  /***/ }),
 
 
4389
 
4390
+ /***/ 139:
4391
+ /***/ (function(module, exports) {
 
 
 
 
 
4392
 
4393
+ (function() { module.exports = window["wc"]["number"]; }());
4394
 
4395
  /***/ }),
 
 
4396
 
4397
+ /***/ 140:
4398
+ /***/ (function(module, exports) {
4399
 
4400
+ (function() { module.exports = window["wc"]["explat"]; }());
 
 
 
 
4401
 
4402
+ /***/ }),
4403
 
4404
+ /***/ 146:
4405
+ /***/ (function(module, exports) {
 
 
 
 
 
4406
 
4407
+ (function() { module.exports = window["wp"]["notices"]; }());
4408
 
4409
  /***/ }),
 
 
4410
 
4411
+ /***/ 147:
4412
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
4413
 
4414
+ "use strict";
4415
+ /* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(46);
4416
+ /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(47);
4417
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
4418
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
4419
 
 
4420
 
 
 
4421
 
4422
+ 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; }
 
 
 
 
4423
 
4424
+ 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; }
 
4425
 
4426
+ /**
4427
+ * WordPress dependencies
4428
+ */
 
4429
 
4430
+ /** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */
 
4431
 
4432
+ /**
4433
+ * Return an SVG icon.
4434
+ *
4435
+ * @param {IconProps} props icon is the SVG component to render
4436
+ * size is a number specifiying the icon size in pixels
4437
+ * Other props will be passed to wrapped SVG component
4438
+ *
4439
+ * @return {JSX.Element} Icon component
4440
+ */
4441
 
4442
+ function Icon(_ref) {
4443
+ var icon = _ref.icon,
4444
+ _ref$size = _ref.size,
4445
+ size = _ref$size === void 0 ? 24 : _ref$size,
4446
+ props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(_ref, ["icon", "size"]);
4447
 
4448
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["cloneElement"])(icon, _objectSpread({
4449
+ width: size,
4450
+ height: size
4451
+ }, props));
4452
+ }
 
 
4453
 
4454
+ /* harmony default export */ __webpack_exports__["a"] = (Icon);
4455
+ //# sourceMappingURL=index.js.map
4456
 
4457
+ /***/ }),
 
 
 
 
4458
 
4459
+ /***/ 148:
4460
+ /***/ (function(module, exports) {
 
 
 
 
 
 
 
 
4461
 
4462
+ // shim for using process in browser
4463
+ var process = module.exports = {};
4464
 
4465
+ // cached from whatever global is present so that test runners that stub it
4466
+ // don't break things. But we need to wrap it in a try catch in case it is
4467
+ // wrapped in strict mode code which doesn't define any globals. It's inside a
4468
+ // function because try/catches deoptimize in certain engines.
4469
 
4470
+ var cachedSetTimeout;
4471
+ var cachedClearTimeout;
 
 
4472
 
4473
+ function defaultSetTimout() {
4474
+ throw new Error('setTimeout has not been defined');
4475
+ }
4476
+ function defaultClearTimeout () {
4477
+ throw new Error('clearTimeout has not been defined');
4478
+ }
4479
+ (function () {
4480
+ try {
4481
+ if (typeof setTimeout === 'function') {
4482
+ cachedSetTimeout = setTimeout;
 
 
 
 
 
 
 
 
 
 
 
4483
  } else {
4484
+ cachedSetTimeout = defaultSetTimout;
4485
  }
4486
+ } catch (e) {
4487
+ cachedSetTimeout = defaultSetTimout;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4488
  }
 
4489
  try {
4490
+ if (typeof clearTimeout === 'function') {
4491
+ cachedClearTimeout = clearTimeout;
4492
+ } else {
4493
+ cachedClearTimeout = defaultClearTimeout;
4494
+ }
4495
  } catch (e) {
4496
+ cachedClearTimeout = defaultClearTimeout;
4497
  }
4498
+ } ())
4499
+ function runTimeout(fun) {
4500
+ if (cachedSetTimeout === setTimeout) {
4501
+ //normal enviroments in sane situations
4502
+ return setTimeout(fun, 0);
 
 
4503
  }
4504
+ // if setTimeout wasn't available but was latter defined
4505
+ if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
4506
+ cachedSetTimeout = setTimeout;
4507
+ return setTimeout(fun, 0);
 
 
4508
  }
4509
+ try {
4510
+ // when when somebody has screwed with setTimeout but no I.E. maddness
4511
+ return cachedSetTimeout(fun, 0);
4512
+ } catch(e){
4513
+ try {
4514
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
4515
+ return cachedSetTimeout.call(null, fun, 0);
4516
+ } catch(e){
4517
+ // 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
4518
+ return cachedSetTimeout.call(this, fun, 0);
4519
+ }
4520
  }
4521
 
 
 
 
4522
 
4523
+ }
4524
+ function runClearTimeout(marker) {
4525
+ if (cachedClearTimeout === clearTimeout) {
4526
+ //normal enviroments in sane situations
4527
+ return clearTimeout(marker);
4528
+ }
4529
+ // if clearTimeout wasn't available but was latter defined
4530
+ if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
4531
+ cachedClearTimeout = clearTimeout;
4532
+ return clearTimeout(marker);
4533
+ }
4534
+ try {
4535
+ // when when somebody has screwed with setTimeout but no I.E. maddness
4536
+ return cachedClearTimeout(marker);
4537
+ } catch (e){
4538
+ try {
4539
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
4540
+ return cachedClearTimeout.call(null, marker);
4541
+ } catch (e){
4542
+ // 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.
4543
+ // Some versions of I.E. have different rules for clearTimeout vs setTimeout
4544
+ return cachedClearTimeout.call(this, marker);
4545
  }
4546
+ }
4547
 
 
 
 
 
4548
 
 
 
 
 
4549
 
4550
+ }
4551
+ var queue = [];
4552
+ var draining = false;
4553
+ var currentQueue;
4554
+ var queueIndex = -1;
4555
 
4556
+ function cleanUpNextTick() {
4557
+ if (!draining || !currentQueue) {
4558
+ return;
 
 
 
4559
  }
4560
+ draining = false;
4561
+ if (currentQueue.length) {
4562
+ queue = currentQueue.concat(queue);
4563
+ } else {
4564
+ queueIndex = -1;
4565
+ }
4566
+ if (queue.length) {
4567
+ drainQueue();
4568
+ }
4569
+ }
4570
 
4571
+ function drainQueue() {
4572
+ if (draining) {
4573
+ return;
4574
+ }
4575
+ var timeout = runTimeout(cleanUpNextTick);
4576
+ draining = true;
 
 
 
 
4577
 
4578
+ var len = queue.length;
4579
+ while(len) {
4580
+ currentQueue = queue;
4581
+ queue = [];
4582
+ while (++queueIndex < len) {
4583
+ if (currentQueue) {
4584
+ currentQueue[queueIndex].run();
4585
  }
4586
  }
4587
+ queueIndex = -1;
4588
+ len = queue.length;
4589
  }
4590
+ currentQueue = null;
4591
+ draining = false;
4592
+ runClearTimeout(timeout);
4593
+ }
4594
 
4595
+ process.nextTick = function (fun) {
4596
+ var args = new Array(arguments.length - 1);
4597
+ if (arguments.length > 1) {
4598
+ for (var i = 1; i < arguments.length; i++) {
4599
+ args[i - 1] = arguments[i];
4600
+ }
4601
+ }
4602
+ queue.push(new Item(fun, args));
4603
+ if (queue.length === 1 && !draining) {
4604
+ runTimeout(drainQueue);
4605
+ }
4606
  };
4607
 
4608
+ // v8 likes predictible objects
4609
+ function Item(fun, array) {
4610
+ this.fun = fun;
4611
+ this.array = array;
4612
+ }
4613
+ Item.prototype.run = function () {
4614
+ this.fun.apply(null, this.array);
4615
  };
4616
+ process.title = 'browser';
4617
+ process.browser = true;
4618
+ process.env = {};
4619
+ process.argv = [];
4620
+ process.version = ''; // empty string to avoid regexp issues
4621
+ process.versions = {};
4622
 
4623
+ function noop() {}
 
 
 
4624
 
4625
+ process.on = noop;
4626
+ process.addListener = noop;
4627
+ process.once = noop;
4628
+ process.off = noop;
4629
+ process.removeListener = noop;
4630
+ process.removeAllListeners = noop;
4631
+ process.emit = noop;
4632
+ process.prependListener = noop;
4633
+ process.prependOnceListener = noop;
4634
 
4635
+ process.listeners = function (name) { return [] }
4636
+
4637
+ process.binding = function (name) {
4638
+ throw new Error('process.binding is not supported');
4639
  };
4640
 
4641
+ process.cwd = function () { return '/' };
4642
+ process.chdir = function (dir) {
4643
+ throw new Error('process.chdir is not supported');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4644
  };
4645
+ process.umask = function() { return 0; };
4646
 
4647
 
4648
  /***/ }),
4649
+
4650
+ /***/ 149:
4651
+ /***/ (function(module, exports, __webpack_require__) {
4652
 
4653
  "use strict";
4654
+ /** @license React v16.13.1
4655
+ * react-is.production.min.js
4656
+ *
4657
+ * Copyright (c) Facebook, Inc. and its affiliates.
4658
+ *
4659
+ * This source code is licensed under the MIT license found in the
4660
+ * LICENSE file in the root directory of this source tree.
4661
+ */
4662
 
4663
+ 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?
4664
+ 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;
4665
+ 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;
4666
+ 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};
4667
+ 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};
4668
+ 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;
4669
 
 
4670
 
4671
+ /***/ }),
 
4672
 
4673
+ /***/ 15:
4674
+ /***/ (function(module, exports) {
 
 
4675
 
4676
+ (function() { module.exports = window["wp"]["compose"]; }());
 
 
 
 
4677
 
4678
+ /***/ }),
 
4679
 
4680
+ /***/ 16:
4681
+ /***/ (function(module, exports) {
 
4682
 
4683
+ (function() { module.exports = window["wp"]["url"]; }());
 
4684
 
4685
+ /***/ }),
 
 
4686
 
4687
+ /***/ 17:
4688
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 
 
 
 
4689
 
4690
+ "use strict";
4691
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ADMIN_URL; });
4692
+ /* unused harmony export COUNTRIES */
4693
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return CURRENCY; });
4694
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return LOCALE; });
4695
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return ORDER_STATUSES; });
4696
+ /* unused harmony export SITE_TITLE */
4697
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return WC_ASSET_URL; });
4698
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return getSetting; });
4699
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return setSetting; });
4700
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getAdminLink; });
4701
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return enqueueScript; });
4702
+ /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
4703
+ /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
4704
+ /**
4705
+ * External dependencies
4706
+ */
4707
+ // Remove mutable data from settings object to prevent access. Data stores should be used instead.
4708
 
4709
+ const mutableSources = ['wcAdminSettings', 'preloadSettings'];
4710
+ const settings = typeof wcSettings === 'object' ? wcSettings : {};
4711
+ const SOURCE = Object.keys(settings).reduce((source, key) => {
4712
+ if (!mutableSources.includes(key)) {
4713
+ source[key] = settings[key];
 
4714
  }
4715
 
4716
+ return source;
4717
+ }, {});
4718
+ const ADMIN_URL = SOURCE.adminUrl;
4719
+ const COUNTRIES = SOURCE.countries;
4720
+ const CURRENCY = SOURCE.currency;
4721
+ const LOCALE = SOURCE.locale;
4722
+ const ORDER_STATUSES = SOURCE.orderStatuses;
4723
+ const SITE_TITLE = SOURCE.siteTitle;
4724
+ const WC_ASSET_URL = SOURCE.wcAssetUrl;
4725
+ /**
4726
+ * Retrieves a setting value from the setting state.
4727
+ *
4728
+ * @param {string} name The identifier for the setting.
4729
+ * @param {*} [fallback=false] The value to use as a fallback
4730
+ * if the setting is not in the
4731
+ * state.
4732
+ * @param {Function} [filter=( val ) => val] A callback for filtering the
4733
+ * value before it's returned.
4734
+ * Receives both the found value
4735
+ * (if it exists for the key) and
4736
+ * the provided fallback arg.
4737
+ *
4738
+ * @return {*} The value present in the settings state for the given
4739
+ * name.
4740
+ */
4741
 
4742
+ function getSetting(name, fallback = false, filter = val => val) {
4743
+ if (mutableSources.includes(name)) {
4744
+ throw new Error(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Mutable settings should be accessed via data store.'));
 
 
 
 
 
 
4745
  }
4746
 
4747
+ const value = SOURCE.hasOwnProperty(name) ? SOURCE[name] : fallback;
4748
+ return filter(value, fallback);
4749
+ }
4750
+ /**
4751
+ * Sets a value to a property on the settings state.
4752
+ *
4753
+ * NOTE: This feature is to be removed in favour of data stores when a full migration
4754
+ * is complete.
4755
+ *
4756
+ * @deprecated
4757
+ *
4758
+ * @param {string} name The setting property key for the
4759
+ * setting being mutated.
4760
+ * @param {*} value The value to set.
4761
+ * @param {Function} [filter=( val ) => val] Allows for providing a callback
4762
+ * to sanitize the setting (eg.
4763
+ * ensure it's a number)
4764
+ */
4765
 
4766
+ function setSetting(name, value, filter = val => val) {
4767
+ if (mutableSources.includes(name)) {
4768
+ throw new Error(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Mutable settings should be mutated via data store.'));
4769
+ }
4770
 
4771
+ SOURCE[name] = filter(value);
4772
  }
4773
+ /**
4774
+ * Returns a string with the site's wp-admin URL appended. JS version of `admin_url`.
4775
+ *
4776
+ * @param {string} path Relative path.
4777
+ * @return {string} Full admin URL.
4778
+ */
4779
 
4780
+ function getAdminLink(path) {
4781
+ return (ADMIN_URL || '') + path;
 
 
 
4782
  }
4783
+ /**
4784
+ * Adds a script to the page if it has not already been loaded. JS version of `wp_enqueue_script`.
4785
+ *
4786
+ * @param {Object} script WP_Script
4787
+ * @param {string} script.handle Script handle.
4788
+ * @param {string} script.src Script URL.
4789
+ */
4790
 
4791
+ function enqueueScript(script) {
4792
+ return new Promise((resolve, reject) => {
4793
+ if (document.querySelector(`#${script.handle}-js`)) {
4794
+ resolve();
4795
+ }
4796
 
4797
+ const domElement = document.createElement('script');
4798
+ domElement.src = script.src;
4799
+ domElement.id = `${script.handle}-js`;
4800
+ domElement.async = true;
4801
+ domElement.onload = resolve;
4802
+ domElement.onerror = reject;
4803
+ document.body.appendChild(domElement);
4804
+ });
4805
+ }
4806
 
4807
+ /***/ }),
 
 
 
 
 
 
 
 
4808
 
4809
+ /***/ 18:
4810
+ /***/ (function(module, exports) {
 
4811
 
4812
+ (function() { module.exports = window["wc"]["tracks"]; }());
4813
 
4814
+ /***/ }),
 
 
 
4815
 
4816
+ /***/ 182:
4817
+ /***/ (function(module, exports, __webpack_require__) {
4818
 
4819
+ "use strict";
4820
 
 
 
4821
 
4822
+ Object.defineProperty(exports, '__esModule', { value: true });
4823
 
4824
+ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4825
 
4826
+ var _extends = _interopDefault(__webpack_require__(13));
4827
+ var _objectWithoutPropertiesLoose = _interopDefault(__webpack_require__(333));
4828
+ var React = __webpack_require__(5);
4829
+ var React__default = _interopDefault(React);
4830
+ var _inheritsLoose = _interopDefault(__webpack_require__(334));
4831
+ var _assertThisInitialized = _interopDefault(__webpack_require__(336));
4832
 
4833
+ var is = {
4834
+ arr: Array.isArray,
4835
+ obj: function obj(a) {
4836
+ return Object.prototype.toString.call(a) === '[object Object]';
4837
+ },
4838
+ fun: function fun(a) {
4839
+ return typeof a === 'function';
4840
+ },
4841
+ str: function str(a) {
4842
+ return typeof a === 'string';
4843
+ },
4844
+ num: function num(a) {
4845
+ return typeof a === 'number';
4846
+ },
4847
+ und: function und(a) {
4848
+ return a === void 0;
4849
+ },
4850
+ nul: function nul(a) {
4851
+ return a === null;
4852
+ },
4853
+ set: function set(a) {
4854
+ return a instanceof Set;
4855
+ },
4856
+ map: function map(a) {
4857
+ return a instanceof Map;
4858
+ },
4859
+ equ: function equ(a, b) {
4860
+ if (typeof a !== typeof b) return false;
4861
+ if (is.str(a) || is.num(a)) return a === b;
4862
+ if (is.obj(a) && is.obj(b) && Object.keys(a).length + Object.keys(b).length === 0) return true;
4863
+ var i;
4864
 
4865
+ for (i in a) {
4866
+ if (!(i in b)) return false;
4867
+ }
4868
 
4869
+ for (i in b) {
4870
+ if (a[i] !== b[i]) return false;
4871
+ }
4872
 
4873
+ return is.und(i) ? a === b : true;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4874
  }
4875
+ };
4876
+ function merge(target, lowercase) {
4877
+ if (lowercase === void 0) {
4878
+ lowercase = true;
 
 
4879
  }
4880
 
4881
+ return function (object) {
4882
+ return (is.arr(object) ? object : Object.keys(object)).reduce(function (acc, element) {
4883
+ var key = lowercase ? element[0].toLowerCase() + element.substring(1) : element;
4884
+ acc[key] = target(key);
4885
+ return acc;
4886
+ }, target);
4887
  };
4888
  }
4889
+ function useForceUpdate() {
4890
+ var _useState = React.useState(false),
4891
+ f = _useState[1];
 
 
 
 
 
 
4892
 
4893
+ var forceUpdate = React.useCallback(function () {
4894
+ return f(function (v) {
4895
+ return !v;
4896
+ });
4897
+ }, []);
4898
+ return forceUpdate;
4899
+ }
4900
+ function withDefault(value, defaultValue) {
4901
+ return is.und(value) || is.nul(value) ? defaultValue : value;
4902
+ }
4903
+ function toArray(a) {
4904
+ return !is.und(a) ? is.arr(a) ? a : [a] : [];
4905
+ }
4906
+ function callProp(obj) {
4907
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
4908
+ args[_key - 1] = arguments[_key];
4909
+ }
4910
 
4911
+ return is.fun(obj) ? obj.apply(void 0, args) : obj;
4912
+ }
 
 
 
 
 
 
4913
 
4914
+ function getForwardProps(props) {
4915
+ var to = props.to,
4916
+ from = props.from,
4917
+ config = props.config,
4918
+ onStart = props.onStart,
4919
+ onRest = props.onRest,
4920
+ onFrame = props.onFrame,
4921
+ children = props.children,
4922
+ reset = props.reset,
4923
+ reverse = props.reverse,
4924
+ force = props.force,
4925
+ immediate = props.immediate,
4926
+ delay = props.delay,
4927
+ attach = props.attach,
4928
+ destroyed = props.destroyed,
4929
+ interpolateTo = props.interpolateTo,
4930
+ ref = props.ref,
4931
+ lazy = props.lazy,
4932
+ forward = _objectWithoutPropertiesLoose(props, ["to", "from", "config", "onStart", "onRest", "onFrame", "children", "reset", "reverse", "force", "immediate", "delay", "attach", "destroyed", "interpolateTo", "ref", "lazy"]);
4933
 
4934
+ return forward;
4935
+ }
 
 
 
4936
 
4937
+ function interpolateTo(props) {
4938
+ var forward = getForwardProps(props);
4939
+ if (is.und(forward)) return _extends({
4940
+ to: forward
4941
+ }, props);
4942
+ var rest = Object.keys(props).reduce(function (a, k) {
4943
+ var _extends2;
4944
 
4945
+ return !is.und(forward[k]) ? a : _extends({}, a, (_extends2 = {}, _extends2[k] = props[k], _extends2));
4946
+ }, {});
4947
+ return _extends({
4948
+ to: forward
4949
+ }, rest);
4950
+ }
4951
+ function handleRef(ref, forward) {
4952
+ if (forward) {
4953
+ // If it's a function, assume it's a ref callback
4954
+ if (is.fun(forward)) forward(ref);else if (is.obj(forward)) {
4955
+ forward.current = ref;
4956
  }
4957
  }
4958
 
4959
+ return ref;
4960
+ }
4961
 
4962
+ var Animated =
4963
+ /*#__PURE__*/
4964
+ function () {
4965
+ function Animated() {
4966
+ this.payload = void 0;
4967
+ this.children = [];
 
 
 
 
 
 
4968
  }
4969
 
4970
+ var _proto = Animated.prototype;
 
 
 
 
4971
 
4972
+ _proto.getAnimatedValue = function getAnimatedValue() {
4973
+ return this.getValue();
4974
+ };
4975
 
4976
+ _proto.getPayload = function getPayload() {
4977
+ return this.payload || this;
4978
+ };
 
 
 
 
4979
 
4980
+ _proto.attach = function attach() {};
 
 
 
 
 
4981
 
4982
+ _proto.detach = function detach() {};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4983
 
4984
+ _proto.getChildren = function getChildren() {
4985
+ return this.children;
4986
+ };
4987
 
4988
+ _proto.addChild = function addChild(child) {
4989
+ if (this.children.length === 0) this.attach();
4990
+ this.children.push(child);
4991
+ };
4992
 
4993
+ _proto.removeChild = function removeChild(child) {
4994
+ var index = this.children.indexOf(child);
4995
+ this.children.splice(index, 1);
4996
+ if (this.children.length === 0) this.detach();
4997
+ };
4998
 
4999
+ return Animated;
5000
+ }();
5001
+ var AnimatedArray =
5002
+ /*#__PURE__*/
5003
+ function (_Animated) {
5004
+ _inheritsLoose(AnimatedArray, _Animated);
5005
+
5006
+ function AnimatedArray() {
5007
+ var _this;
5008
 
 
5009
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
5010
  args[_key] = arguments[_key];
5011
  }
5012
 
5013
+ _this = _Animated.call.apply(_Animated, [this].concat(args)) || this;
5014
+ _this.payload = [];
 
 
5015
 
5016
+ _this.attach = function () {
5017
+ return _this.payload.forEach(function (p) {
5018
+ return p instanceof Animated && p.addChild(_assertThisInitialized(_this));
5019
+ });
5020
+ };
 
 
5021
 
5022
+ _this.detach = function () {
5023
+ return _this.payload.forEach(function (p) {
5024
+ return p instanceof Animated && p.removeChild(_assertThisInitialized(_this));
5025
+ });
5026
+ };
 
 
 
 
 
 
5027
 
5028
+ return _this;
5029
+ }
 
 
 
 
 
 
 
5030
 
5031
+ return AnimatedArray;
5032
+ }(Animated);
5033
+ var AnimatedObject =
5034
+ /*#__PURE__*/
5035
+ function (_Animated2) {
5036
+ _inheritsLoose(AnimatedObject, _Animated2);
5037
 
5038
+ function AnimatedObject() {
5039
+ var _this2;
 
 
 
 
 
 
5040
 
5041
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
5042
+ args[_key3] = arguments[_key3];
5043
+ }
5044
 
5045
+ _this2 = _Animated2.call.apply(_Animated2, [this].concat(args)) || this;
5046
+ _this2.payload = {};
5047
 
5048
+ _this2.attach = function () {
5049
+ return Object.values(_this2.payload).forEach(function (s) {
5050
+ return s instanceof Animated && s.addChild(_assertThisInitialized(_this2));
5051
+ });
5052
+ };
 
 
 
 
 
 
 
 
5053
 
5054
+ _this2.detach = function () {
5055
+ return Object.values(_this2.payload).forEach(function (s) {
5056
+ return s instanceof Animated && s.removeChild(_assertThisInitialized(_this2));
5057
+ });
5058
+ };
5059
 
5060
+ return _this2;
 
 
5061
  }
5062
 
5063
+ var _proto2 = AnimatedObject.prototype;
 
 
 
 
 
 
 
 
 
 
 
5064
 
5065
+ _proto2.getValue = function getValue(animated) {
5066
+ if (animated === void 0) {
5067
+ animated = false;
5068
+ }
5069
 
5070
+ var payload = {};
 
 
 
 
 
 
 
 
5071
 
5072
+ for (var _key4 in this.payload) {
5073
+ var value = this.payload[_key4];
5074
+ if (animated && !(value instanceof Animated)) continue;
5075
+ payload[_key4] = value instanceof Animated ? value[animated ? 'getAnimatedValue' : 'getValue']() : value;
5076
+ }
5077
 
5078
+ return payload;
5079
+ };
5080
 
5081
+ _proto2.getAnimatedValue = function getAnimatedValue() {
5082
+ return this.getValue(true);
5083
+ };
5084
 
5085
+ return AnimatedObject;
5086
+ }(Animated);
 
5087
 
5088
+ var applyAnimatedValues;
5089
+ function injectApplyAnimatedValues(fn, transform) {
5090
+ applyAnimatedValues = {
5091
+ fn: fn,
5092
+ transform: transform
5093
+ };
5094
+ }
5095
+ var colorNames;
5096
+ function injectColorNames(names) {
5097
+ colorNames = names;
5098
+ }
5099
+ var requestFrame = function requestFrame(cb) {
5100
+ return typeof window !== 'undefined' ? window.requestAnimationFrame(cb) : -1;
5101
+ };
5102
+ var cancelFrame = function cancelFrame(id) {
5103
+ typeof window !== 'undefined' && window.cancelAnimationFrame(id);
5104
+ };
5105
+ function injectFrame(raf, caf) {
5106
+ requestFrame = raf;
5107
+ cancelFrame = caf;
5108
+ }
5109
+ var interpolation;
5110
+ function injectStringInterpolator(fn) {
5111
+ interpolation = fn;
5112
+ }
5113
+ var now = function now() {
5114
+ return Date.now();
5115
+ };
5116
+ function injectNow(nowFn) {
5117
+ now = nowFn;
5118
+ }
5119
+ var defaultElement;
5120
+ function injectDefaultElement(el) {
5121
+ defaultElement = el;
5122
+ }
5123
+ var animatedApi = function animatedApi(node) {
5124
+ return node.current;
5125
+ };
5126
+ function injectAnimatedApi(fn) {
5127
+ animatedApi = fn;
5128
+ }
5129
+ var createAnimatedStyle;
5130
+ function injectCreateAnimatedStyle(factory) {
5131
+ createAnimatedStyle = factory;
5132
+ }
5133
+ var manualFrameloop;
5134
+ function injectManualFrameloop(callback) {
5135
+ manualFrameloop = callback;
5136
+ }
5137
 
5138
+ var Globals = /*#__PURE__*/Object.freeze({
5139
+ get applyAnimatedValues () { return applyAnimatedValues; },
5140
+ injectApplyAnimatedValues: injectApplyAnimatedValues,
5141
+ get colorNames () { return colorNames; },
5142
+ injectColorNames: injectColorNames,
5143
+ get requestFrame () { return requestFrame; },
5144
+ get cancelFrame () { return cancelFrame; },
5145
+ injectFrame: injectFrame,
5146
+ get interpolation () { return interpolation; },
5147
+ injectStringInterpolator: injectStringInterpolator,
5148
+ get now () { return now; },
5149
+ injectNow: injectNow,
5150
+ get defaultElement () { return defaultElement; },
5151
+ injectDefaultElement: injectDefaultElement,
5152
+ get animatedApi () { return animatedApi; },
5153
+ injectAnimatedApi: injectAnimatedApi,
5154
+ get createAnimatedStyle () { return createAnimatedStyle; },
5155
+ injectCreateAnimatedStyle: injectCreateAnimatedStyle,
5156
+ get manualFrameloop () { return manualFrameloop; },
5157
+ injectManualFrameloop: injectManualFrameloop
5158
+ });
5159
 
5160
+ /**
5161
+ * Wraps the `style` property with `AnimatedStyle`.
5162
+ */
5163
 
5164
+ var AnimatedProps =
5165
+ /*#__PURE__*/
5166
+ function (_AnimatedObject) {
5167
+ _inheritsLoose(AnimatedProps, _AnimatedObject);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5168
 
5169
+ function AnimatedProps(props, callback) {
5170
+ var _this;
 
 
 
 
 
 
 
 
5171
 
5172
+ _this = _AnimatedObject.call(this) || this;
5173
+ _this.update = void 0;
5174
+ _this.payload = !props.style ? props : _extends({}, props, {
5175
+ style: createAnimatedStyle(props.style)
5176
+ });
5177
+ _this.update = callback;
5178
 
5179
+ _this.attach();
 
5180
 
5181
+ return _this;
 
5182
  }
5183
 
5184
+ return AnimatedProps;
5185
+ }(AnimatedObject);
 
 
 
 
 
 
 
5186
 
5187
+ var isFunctionComponent = function isFunctionComponent(val) {
5188
+ return is.fun(val) && !(val.prototype instanceof React__default.Component);
5189
+ };
 
 
5190
 
5191
+ var createAnimatedComponent = function createAnimatedComponent(Component) {
5192
+ var AnimatedComponent = React.forwardRef(function (props, ref) {
5193
+ var forceUpdate = useForceUpdate();
5194
+ var mounted = React.useRef(true);
5195
+ var propsAnimated = React.useRef(null);
5196
+ var node = React.useRef(null);
5197
+ var attachProps = React.useCallback(function (props) {
5198
+ var oldPropsAnimated = propsAnimated.current;
 
 
 
 
 
 
 
 
 
 
5199
 
5200
+ var callback = function callback() {
5201
+ var didUpdate = false;
 
 
 
 
 
 
 
5202
 
5203
+ if (node.current) {
5204
+ didUpdate = applyAnimatedValues.fn(node.current, propsAnimated.current.getAnimatedValue());
5205
+ }
 
 
5206
 
5207
+ if (!node.current || didUpdate === false) {
5208
+ // If no referenced node has been found, or the update target didn't have a
5209
+ // native-responder, then forceUpdate the animation ...
5210
+ forceUpdate();
 
 
 
 
 
5211
  }
5212
+ };
 
 
 
 
 
5213
 
5214
+ propsAnimated.current = new AnimatedProps(props, callback);
5215
+ oldPropsAnimated && oldPropsAnimated.detach();
5216
+ }, []);
5217
+ React.useEffect(function () {
5218
+ return function () {
5219
+ mounted.current = false;
5220
+ propsAnimated.current && propsAnimated.current.detach();
5221
+ };
5222
+ }, []);
5223
+ React.useImperativeHandle(ref, function () {
5224
+ return animatedApi(node, mounted, forceUpdate);
5225
+ });
5226
+ attachProps(props);
5227
 
5228
+ var _getValue = propsAnimated.current.getValue(),
5229
+ scrollTop = _getValue.scrollTop,
5230
+ scrollLeft = _getValue.scrollLeft,
5231
+ animatedProps = _objectWithoutPropertiesLoose(_getValue, ["scrollTop", "scrollLeft"]); // Functions cannot have refs, see:
5232
+ // See: https://github.com/react-spring/react-spring/issues/569
5233
 
 
 
 
5234
 
5235
+ var refFn = isFunctionComponent(Component) ? undefined : function (childRef) {
5236
+ return node.current = handleRef(childRef, ref);
5237
+ };
5238
+ return React__default.createElement(Component, _extends({}, animatedProps, {
5239
+ ref: refFn
5240
+ }));
5241
+ });
5242
+ return AnimatedComponent;
5243
+ };
5244
 
5245
+ var active = false;
5246
+ var controllers = new Set();
5247
 
5248
+ var update = function update() {
5249
+ if (!active) return false;
5250
+ var time = now();
 
 
 
 
 
5251
 
5252
+ for (var _iterator = controllers, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
5253
+ var _ref;
5254
 
5255
+ if (_isArray) {
5256
+ if (_i >= _iterator.length) break;
5257
+ _ref = _iterator[_i++];
5258
+ } else {
5259
+ _i = _iterator.next();
5260
+ if (_i.done) break;
5261
+ _ref = _i.value;
5262
  }
5263
 
5264
+ var controller = _ref;
5265
+ var isActive = false;
5266
 
5267
+ for (var configIdx = 0; configIdx < controller.configs.length; configIdx++) {
5268
+ var config = controller.configs[configIdx];
5269
+ var endOfAnimation = void 0,
5270
+ lastTime = void 0;
5271
 
5272
+ for (var valIdx = 0; valIdx < config.animatedValues.length; valIdx++) {
5273
+ var animation = config.animatedValues[valIdx]; // If an animation is done, skip, until all of them conclude
 
 
 
5274
 
5275
+ if (animation.done) continue;
5276
+ var from = config.fromValues[valIdx];
5277
+ var to = config.toValues[valIdx];
5278
+ var position = animation.lastPosition;
5279
+ var isAnimated = to instanceof Animated;
5280
+ var velocity = Array.isArray(config.initialVelocity) ? config.initialVelocity[valIdx] : config.initialVelocity;
5281
+ if (isAnimated) to = to.getValue(); // Conclude animation if it's either immediate, or from-values match end-state
5282
 
5283
+ if (config.immediate) {
5284
+ animation.setValue(to);
5285
+ animation.done = true;
5286
+ continue;
5287
+ } // Break animation when string values are involved
 
 
 
5288
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5289
 
5290
+ if (typeof from === 'string' || typeof to === 'string') {
5291
+ animation.setValue(to);
5292
+ animation.done = true;
5293
+ continue;
5294
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5295
 
5296
+ if (config.duration !== void 0) {
5297
+ /** Duration easing */
5298
+ position = from + config.easing((time - animation.startTime) / config.duration) * (to - from);
5299
+ endOfAnimation = time >= animation.startTime + config.duration;
5300
+ } else if (config.decay) {
5301
+ /** Decay easing */
5302
+ position = from + velocity / (1 - 0.998) * (1 - Math.exp(-(1 - 0.998) * (time - animation.startTime)));
5303
+ endOfAnimation = Math.abs(animation.lastPosition - position) < 0.1;
5304
+ if (endOfAnimation) to = position;
5305
+ } else {
5306
+ /** Spring easing */
5307
+ lastTime = animation.lastTime !== void 0 ? animation.lastTime : time;
5308
+ velocity = animation.lastVelocity !== void 0 ? animation.lastVelocity : config.initialVelocity; // If we lost a lot of frames just jump to the end.
5309
 
5310
+ if (time > lastTime + 64) lastTime = time; // http://gafferongames.com/game-physics/fix-your-timestep/
 
 
5311
 
5312
+ var numSteps = Math.floor(time - lastTime);
 
 
5313
 
5314
+ for (var i = 0; i < numSteps; ++i) {
5315
+ var force = -config.tension * (position - to);
5316
+ var damping = -config.friction * velocity;
5317
+ var acceleration = (force + damping) / config.mass;
5318
+ velocity = velocity + acceleration * 1 / 1000;
5319
+ position = position + velocity * 1 / 1000;
5320
+ } // Conditions for stopping the spring animation
5321
 
 
 
 
 
 
 
 
 
 
 
 
 
5322
 
5323
+ var isOvershooting = config.clamp && config.tension !== 0 ? from < to ? position > to : position < to : false;
5324
+ var isVelocity = Math.abs(velocity) <= config.precision;
5325
+ var isDisplacement = config.tension !== 0 ? Math.abs(to - position) <= config.precision : true;
5326
+ endOfAnimation = isOvershooting || isVelocity && isDisplacement;
5327
+ animation.lastVelocity = velocity;
5328
+ animation.lastTime = time;
5329
+ } // Trails aren't done until their parents conclude
5330
 
 
5331
 
5332
+ if (isAnimated && !config.toValues[valIdx].done) endOfAnimation = false;
 
5333
 
5334
+ if (endOfAnimation) {
5335
+ // Ensure that we end up with a round value
5336
+ if (animation.value !== to) position = to;
5337
+ animation.done = true;
5338
+ } else isActive = true;
5339
 
5340
+ animation.setValue(position);
5341
+ animation.lastPosition = position;
5342
+ } // Keep track of updated values only when necessary
5343
 
 
 
 
5344
 
5345
+ if (controller.props.onFrame) controller.values[config.name] = config.interpolation.getValue();
5346
+ } // Update callbacks in the end of the frame
 
5347
 
 
 
 
 
 
 
 
5348
 
5349
+ if (controller.props.onFrame) controller.props.onFrame(controller.values); // Either call onEnd or next frame
5350
 
5351
+ if (!isActive) {
5352
+ controllers.delete(controller);
5353
+ controller.stop(true);
5354
  }
5355
+ } // Loop over as long as there are controllers ...
5356
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5357
 
5358
+ if (controllers.size) {
5359
+ if (manualFrameloop) manualFrameloop();else requestFrame(update);
5360
+ } else {
5361
+ active = false;
5362
+ }
5363
 
5364
+ return active;
5365
+ };
 
 
 
5366
 
5367
+ var start = function start(controller) {
5368
+ if (!controllers.has(controller)) controllers.add(controller);
 
 
 
5369
 
5370
+ if (!active) {
5371
+ active = true;
5372
+ if (manualFrameloop) requestFrame(manualFrameloop);else requestFrame(update);
5373
+ }
5374
+ };
5375
 
5376
+ var stop = function stop(controller) {
5377
+ if (controllers.has(controller)) controllers.delete(controller);
5378
+ };
 
 
5379
 
5380
+ function createInterpolator(range, output, extrapolate) {
5381
+ if (typeof range === 'function') {
5382
+ return range;
5383
+ }
5384
 
5385
+ if (Array.isArray(range)) {
5386
+ return createInterpolator({
5387
+ range: range,
5388
+ output: output,
5389
+ extrapolate: extrapolate
5390
+ });
5391
+ }
5392
 
5393
+ if (interpolation && typeof range.output[0] === 'string') {
5394
+ return interpolation(range);
5395
  }
5396
 
5397
+ var config = range;
5398
+ var outputRange = config.output;
5399
+ var inputRange = config.range || [0, 1];
5400
+ var extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend';
5401
+ var extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend';
 
 
 
 
5402
 
5403
+ var easing = config.easing || function (t) {
5404
+ return t;
5405
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5406
 
5407
+ return function (input) {
5408
+ var range = findRange(input, inputRange);
5409
+ return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map);
5410
+ };
5411
+ }
 
 
 
 
5412
 
5413
+ function interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {
5414
+ var result = map ? map(input) : input; // Extrapolate
 
 
 
 
 
5415
 
5416
+ if (result < inputMin) {
5417
+ if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;
 
 
 
 
 
5418
  }
5419
 
5420
+ if (result > inputMax) {
5421
+ if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;
 
5422
  }
5423
 
5424
+ if (outputMin === outputMax) return outputMin;
5425
+ if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax; // Input Range
 
5426
 
5427
+ if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin); // Easing
5428
+
5429
+ result = easing(result); // Output Range
5430
+
5431
+ if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;
5432
+ return result;
5433
+ }
5434
+
5435
+ function findRange(input, inputRange) {
5436
+ for (var i = 1; i < inputRange.length - 1; ++i) {
5437
+ if (inputRange[i] >= input) break;
5438
  }
5439
 
5440
+ return i - 1;
5441
+ }
5442
 
5443
+ var AnimatedInterpolation =
5444
+ /*#__PURE__*/
5445
+ function (_AnimatedArray) {
5446
+ _inheritsLoose(AnimatedInterpolation, _AnimatedArray);
5447
 
5448
+ function AnimatedInterpolation(parents, range, output, extrapolate) {
5449
+ var _this;
5450
+
5451
+ _this = _AnimatedArray.call(this) || this;
5452
+ _this.calc = void 0;
5453
+ _this.payload = parents instanceof AnimatedArray && !(parents instanceof AnimatedInterpolation) ? parents.getPayload() : Array.isArray(parents) ? parents : [parents];
5454
+ _this.calc = createInterpolator(range, output, extrapolate);
5455
+ return _this;
5456
  }
5457
 
5458
+ var _proto = AnimatedInterpolation.prototype;
5459
 
5460
+ _proto.getValue = function getValue() {
5461
+ return this.calc.apply(this, this.payload.map(function (value) {
5462
+ return value.getValue();
5463
+ }));
5464
+ };
5465
 
5466
+ _proto.updateConfig = function updateConfig(range, output, extrapolate) {
5467
+ this.calc = createInterpolator(range, output, extrapolate);
5468
+ };
5469
 
5470
+ _proto.interpolate = function interpolate(range, output, extrapolate) {
5471
+ return new AnimatedInterpolation(this, range, output, extrapolate);
5472
+ };
 
5473
 
5474
+ return AnimatedInterpolation;
5475
+ }(AnimatedArray);
 
 
 
5476
 
5477
+ var interpolate$1 = function interpolate(parents, range, output) {
5478
+ return parents && new AnimatedInterpolation(parents, range, output);
5479
+ };
5480
+
5481
+ var config = {
5482
+ default: {
5483
+ tension: 170,
5484
+ friction: 26
5485
+ },
5486
+ gentle: {
5487
+ tension: 120,
5488
+ friction: 14
5489
+ },
5490
+ wobbly: {
5491
+ tension: 180,
5492
+ friction: 12
5493
+ },
5494
+ stiff: {
5495
+ tension: 210,
5496
+ friction: 20
5497
+ },
5498
+ slow: {
5499
+ tension: 280,
5500
+ friction: 60
5501
+ },
5502
+ molasses: {
5503
+ tension: 280,
5504
+ friction: 120
5505
  }
5506
+ };
5507
 
5508
+ /** API
5509
+ * useChain(references, timeSteps, timeFrame)
5510
+ */
5511
+
5512
+ function useChain(refs, timeSteps, timeFrame) {
5513
+ if (timeFrame === void 0) {
5514
+ timeFrame = 1000;
5515
  }
5516
 
5517
+ var previous = React.useRef();
5518
+ React.useEffect(function () {
5519
+ if (is.equ(refs, previous.current)) refs.forEach(function (_ref) {
5520
+ var current = _ref.current;
5521
+ return current && current.start();
5522
+ });else if (timeSteps) {
5523
+ refs.forEach(function (_ref2, index) {
5524
+ var current = _ref2.current;
 
 
 
 
 
 
 
5525
 
5526
+ if (current) {
5527
+ var ctrls = current.controllers;
5528
+
5529
+ if (ctrls.length) {
5530
+ var t = timeFrame * timeSteps[index];
5531
+ ctrls.forEach(function (ctrl) {
5532
+ ctrl.queue = ctrl.queue.map(function (e) {
5533
+ return _extends({}, e, {
5534
+ delay: e.delay + t
5535
+ });
5536
+ });
5537
+ ctrl.start();
5538
+ });
5539
+ }
5540
+ }
5541
+ });
5542
+ } else refs.reduce(function (q, _ref3, rI) {
5543
+ var current = _ref3.current;
5544
+ return q = q.then(function () {
5545
+ return current.start();
5546
+ });
5547
+ }, Promise.resolve());
5548
+ previous.current = refs;
5549
+ });
5550
  }
5551
+
5552
  /**
5553
+ * Animated works by building a directed acyclic graph of dependencies
5554
+ * transparently when you render your Animated components.
5555
+ *
5556
+ * new Animated.Value(0)
5557
+ * .interpolate() .interpolate() new Animated.Value(1)
5558
+ * opacity translateY scale
5559
+ * style transform
5560
+ * View#234 style
5561
+ * View#123
5562
+ *
5563
+ * A) Top Down phase
5564
+ * When an AnimatedValue is updated, we recursively go down through this
5565
+ * graph in order to find leaf nodes: the views that we flag as needing
5566
+ * an update.
5567
+ *
5568
+ * B) Bottom Up phase
5569
+ * When a view is flagged as needing an update, we recursively go back up
5570
+ * in order to build the new value that it needs. The reason why we need
5571
+ * this two-phases process is to deal with composite props such as
5572
+ * transform which can receive values from multiple parents.
5573
  */
5574
+ function addAnimatedStyles(node, styles) {
5575
+ if ('update' in node) {
5576
+ styles.add(node);
5577
+ } else {
5578
+ node.getChildren().forEach(function (child) {
5579
+ return addAnimatedStyles(child, styles);
5580
+ });
5581
+ }
5582
+ }
5583
 
5584
+ var AnimatedValue =
5585
+ /*#__PURE__*/
5586
+ function (_Animated) {
5587
+ _inheritsLoose(AnimatedValue, _Animated);
5588
 
5589
+ function AnimatedValue(_value) {
5590
+ var _this;
 
 
5591
 
5592
+ _this = _Animated.call(this) || this;
5593
+ _this.animatedStyles = new Set();
5594
+ _this.value = void 0;
5595
+ _this.startPosition = void 0;
5596
+ _this.lastPosition = void 0;
5597
+ _this.lastVelocity = void 0;
5598
+ _this.startTime = void 0;
5599
+ _this.lastTime = void 0;
5600
+ _this.done = false;
5601
 
5602
+ _this.setValue = function (value, flush) {
5603
+ if (flush === void 0) {
5604
+ flush = true;
5605
+ }
5606
 
5607
+ _this.value = value;
5608
+ if (flush) _this.flush();
5609
+ };
5610
 
5611
+ _this.value = _value;
5612
+ _this.startPosition = _value;
5613
+ _this.lastPosition = _value;
5614
+ return _this;
5615
  }
5616
 
5617
+ var _proto = AnimatedValue.prototype;
 
 
 
5618
 
5619
+ _proto.flush = function flush() {
5620
+ if (this.animatedStyles.size === 0) {
5621
+ addAnimatedStyles(this, this.animatedStyles);
5622
+ }
5623
 
5624
+ this.animatedStyles.forEach(function (animatedStyle) {
5625
+ return animatedStyle.update();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5626
  });
5627
+ };
5628
 
5629
+ _proto.clearStyles = function clearStyles() {
5630
+ this.animatedStyles.clear();
5631
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5632
 
5633
+ _proto.getValue = function getValue() {
5634
+ return this.value;
5635
+ };
5636
 
5637
+ _proto.interpolate = function interpolate(range, output, extrapolate) {
5638
+ return new AnimatedInterpolation(this, range, output, extrapolate);
5639
+ };
5640
 
5641
+ return AnimatedValue;
5642
+ }(Animated);
 
 
5643
 
5644
+ var AnimatedValueArray =
5645
+ /*#__PURE__*/
5646
+ function (_AnimatedArray) {
5647
+ _inheritsLoose(AnimatedValueArray, _AnimatedArray);
5648
 
5649
+ function AnimatedValueArray(values) {
5650
+ var _this;
5651
 
5652
+ _this = _AnimatedArray.call(this) || this;
5653
+ _this.payload = values.map(function (n) {
5654
+ return new AnimatedValue(n);
5655
+ });
5656
+ return _this;
5657
  }
5658
 
5659
+ var _proto = AnimatedValueArray.prototype;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5660
 
5661
+ _proto.setValue = function setValue(value, flush) {
5662
+ var _this2 = this;
 
5663
 
5664
+ if (flush === void 0) {
5665
+ flush = true;
5666
+ }
5667
 
5668
+ if (Array.isArray(value)) {
5669
+ if (value.length === this.payload.length) {
5670
+ value.forEach(function (v, i) {
5671
+ return _this2.payload[i].setValue(v, flush);
5672
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5673
  }
5674
+ } else {
5675
+ this.payload.forEach(function (p) {
5676
+ return p.setValue(value, flush);
5677
+ });
5678
  }
5679
+ };
 
 
5680
 
5681
+ _proto.getValue = function getValue() {
5682
+ return this.payload.map(function (v) {
5683
+ return v.getValue();
5684
+ });
5685
+ };
5686
 
5687
+ _proto.interpolate = function interpolate(range, output) {
5688
+ return new AnimatedInterpolation(this, range, output);
 
 
5689
  };
5690
 
5691
+ return AnimatedValueArray;
5692
+ }(AnimatedArray);
5693
 
5694
+ var G = 0;
5695
 
5696
+ var Controller =
5697
+ /*#__PURE__*/
5698
+ function () {
5699
+ function Controller() {
5700
+ var _this = this;
5701
 
5702
+ this.id = void 0;
5703
+ this.idle = true;
5704
+ this.hasChanged = false;
5705
+ this.guid = 0;
5706
+ this.local = 0;
5707
+ this.props = {};
5708
+ this.merged = {};
5709
+ this.animations = {};
5710
+ this.interpolations = {};
5711
+ this.values = {};
5712
+ this.configs = [];
5713
+ this.listeners = [];
5714
+ this.queue = [];
5715
+ this.localQueue = void 0;
5716
 
5717
+ this.getValues = function () {
5718
+ return _this.interpolations;
5719
+ };
5720
 
5721
+ this.id = G++;
5722
+ }
5723
+ /** update(props)
5724
+ * This function filters input props and creates an array of tasks which are executed in .start()
5725
+ * Each task is allowed to carry a delay, which means it can execute asnychroneously */
5726
 
 
 
 
 
 
 
5727
 
5728
+ var _proto = Controller.prototype;
 
 
 
 
 
 
 
 
 
 
 
 
5729
 
5730
+ _proto.update = function update$$1(args) {
5731
+ //this._id = n + this.id
5732
+ if (!args) return this; // Extract delay and the to-prop from props
 
 
 
 
 
 
 
 
5733
 
5734
+ var _ref = interpolateTo(args),
5735
+ _ref$delay = _ref.delay,
5736
+ delay = _ref$delay === void 0 ? 0 : _ref$delay,
5737
+ to = _ref.to,
5738
+ props = _objectWithoutPropertiesLoose(_ref, ["delay", "to"]);
5739
 
5740
+ if (is.arr(to) || is.fun(to)) {
5741
+ // If config is either a function or an array queue it up as is
5742
+ this.queue.push(_extends({}, props, {
5743
+ delay: delay,
5744
+ to: to
5745
+ }));
5746
+ } else if (to) {
5747
+ // Otherwise go through each key since it could be delayed individually
5748
+ var ops = {};
5749
+ Object.entries(to).forEach(function (_ref2) {
5750
+ var _to;
5751
 
5752
+ var k = _ref2[0],
5753
+ v = _ref2[1];
5754
 
5755
+ // Fetch delay and create an entry, consisting of the to-props, the delay, and basic props
5756
+ var entry = _extends({
5757
+ to: (_to = {}, _to[k] = v, _to),
5758
+ delay: callProp(delay, k)
5759
+ }, props);
5760
 
5761
+ var previous = ops[entry.delay] && ops[entry.delay].to;
5762
+ ops[entry.delay] = _extends({}, ops[entry.delay], entry, {
5763
+ to: _extends({}, previous, entry.to)
5764
+ });
5765
+ });
5766
+ this.queue = Object.values(ops);
5767
+ } // Sort queue, so that async calls go last
5768
 
 
5769
 
5770
+ this.queue = this.queue.sort(function (a, b) {
5771
+ return a.delay - b.delay;
5772
+ }); // Diff the reduced props immediately (they'll contain the from-prop and some config)
 
 
5773
 
5774
+ this.diff(props);
5775
+ return this;
5776
+ }
5777
+ /** start(onEnd)
5778
+ * This function either executes a queue, if present, or starts the frameloop, which animates */
5779
+ ;
5780
 
5781
+ _proto.start = function start$$1(onEnd) {
5782
+ var _this2 = this;
 
5783
 
5784
+ // If a queue is present we must excecute it
5785
+ if (this.queue.length) {
5786
+ this.idle = false; // Updates can interrupt trailing queues, in that case we just merge values
5787
 
5788
+ if (this.localQueue) {
5789
+ this.localQueue.forEach(function (_ref3) {
5790
+ var _ref3$from = _ref3.from,
5791
+ from = _ref3$from === void 0 ? {} : _ref3$from,
5792
+ _ref3$to = _ref3.to,
5793
+ to = _ref3$to === void 0 ? {} : _ref3$to;
5794
+ if (is.obj(from)) _this2.merged = _extends({}, from, _this2.merged);
5795
+ if (is.obj(to)) _this2.merged = _extends({}, _this2.merged, to);
5796
+ });
5797
+ } // The guid helps us tracking frames, a new queue over an old one means an override
5798
+ // We discard async calls in that caseÍ
5799
 
 
 
 
 
 
 
 
 
 
 
 
5800
 
5801
+ var local = this.local = ++this.guid;
5802
+ var queue = this.localQueue = this.queue;
5803
+ this.queue = []; // Go through each entry and execute it
5804
 
5805
+ queue.forEach(function (_ref4, index) {
5806
+ var delay = _ref4.delay,
5807
+ props = _objectWithoutPropertiesLoose(_ref4, ["delay"]);
5808
 
5809
+ var cb = function cb(finished) {
5810
+ if (index === queue.length - 1 && local === _this2.guid && finished) {
5811
+ _this2.idle = true;
5812
+ if (_this2.props.onRest) _this2.props.onRest(_this2.merged);
5813
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5814
 
5815
+ if (onEnd) onEnd();
5816
+ }; // Entries can be delayed, ansyc or immediate
 
 
 
 
5817
 
 
 
 
 
5818
 
5819
+ var async = is.arr(props.to) || is.fun(props.to);
5820
+
5821
+ if (delay) {
5822
+ setTimeout(function () {
5823
+ if (local === _this2.guid) {
5824
+ if (async) _this2.runAsync(props, cb);else _this2.diff(props).start(cb);
5825
+ }
5826
+ }, delay);
5827
+ } else if (async) _this2.runAsync(props, cb);else _this2.diff(props).start(cb);
5828
+ });
5829
+ } // Otherwise we kick of the frameloop
5830
+ else {
5831
+ if (is.fun(onEnd)) this.listeners.push(onEnd);
5832
+ if (this.props.onStart) this.props.onStart();
5833
 
5834
+ start(this);
5835
+ }
5836
 
5837
+ return this;
5838
  };
5839
+
5840
+ _proto.stop = function stop$$1(finished) {
5841
+ this.listeners.forEach(function (onEnd) {
5842
+ return onEnd(finished);
 
5843
  });
5844
+ this.listeners = [];
5845
+ return this;
5846
+ }
5847
+ /** Pause sets onEnd listeners free, but also removes the controller from the frameloop */
5848
+ ;
5849
+
5850
+ _proto.pause = function pause(finished) {
5851
+ this.stop(true);
5852
+ if (finished) stop(this);
5853
+ return this;
5854
  };
 
 
 
 
 
 
 
5855
 
5856
+ _proto.runAsync = function runAsync(_ref5, onEnd) {
5857
+ var _this3 = this;
5858
 
5859
+ var delay = _ref5.delay,
5860
+ props = _objectWithoutPropertiesLoose(_ref5, ["delay"]);
5861
 
5862
+ 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
5863
+ // If the view relies on certain values "from" has to be present
 
5864
 
5865
+ var queue = Promise.resolve(undefined);
 
 
 
 
 
 
5866
 
5867
+ if (is.arr(props.to)) {
5868
+ var _loop = function _loop(i) {
5869
+ var index = i;
5870
 
5871
+ var fresh = _extends({}, props, interpolateTo(props.to[index]));
5872
 
5873
+ if (is.arr(fresh.config)) fresh.config = fresh.config[index];
5874
+ queue = queue.then(function () {
5875
+ //this.stop()
5876
+ if (local === _this3.guid) return new Promise(function (r) {
5877
+ return _this3.diff(fresh).start(r);
5878
+ });
5879
+ });
5880
+ };
5881
 
5882
+ for (var i = 0; i < props.to.length; i++) {
5883
+ _loop(i);
5884
+ }
5885
+ } else if (is.fun(props.to)) {
5886
+ var index = 0;
5887
+ var last;
5888
+ queue = queue.then(function () {
5889
+ return props.to( // next(props)
5890
+ function (p) {
5891
+ var fresh = _extends({}, props, interpolateTo(p));
5892
 
5893
+ if (is.arr(fresh.config)) fresh.config = fresh.config[index];
5894
+ index++; //this.stop()
5895
 
5896
+ if (local === _this3.guid) return last = new Promise(function (r) {
5897
+ return _this3.diff(fresh).start(r);
5898
+ });
5899
+ return;
5900
+ }, // cancel()
5901
+ function (finished) {
5902
+ if (finished === void 0) {
5903
+ finished = true;
5904
+ }
5905
 
5906
+ return _this3.stop(finished);
5907
+ }).then(function () {
5908
+ return last;
5909
+ });
5910
+ });
5911
+ }
 
5912
 
5913
+ queue.then(onEnd);
 
 
 
 
 
 
 
5914
  };
 
 
 
 
5915
 
5916
+ _proto.diff = function diff(props) {
5917
+ var _this4 = this;
 
5918
 
5919
+ this.props = _extends({}, this.props, props);
5920
+ var _this$props = this.props,
5921
+ _this$props$from = _this$props.from,
5922
+ from = _this$props$from === void 0 ? {} : _this$props$from,
5923
+ _this$props$to = _this$props.to,
5924
+ to = _this$props$to === void 0 ? {} : _this$props$to,
5925
+ _this$props$config = _this$props.config,
5926
+ config = _this$props$config === void 0 ? {} : _this$props$config,
5927
+ reverse = _this$props.reverse,
5928
+ attach = _this$props.attach,
5929
+ reset = _this$props.reset,
5930
+ immediate = _this$props.immediate; // Reverse values when requested
5931
 
5932
+ if (reverse) {
5933
+ var _ref6 = [to, from];
5934
+ from = _ref6[0];
5935
+ to = _ref6[1];
5936
+ } // This will collect all props that were ever set, reset merged props when necessary
5937
 
5938
 
5939
+ this.merged = _extends({}, from, this.merged, to);
5940
+ this.hasChanged = false; // Attachment handling, trailed springs can "attach" themselves to a previous spring
 
5941
 
5942
+ var target = attach && attach(this); // Reduces input { name: value } pairs into animated values
 
 
 
 
 
5943
 
5944
+ this.animations = Object.entries(this.merged).reduce(function (acc, _ref7) {
5945
+ var name = _ref7[0],
5946
+ value = _ref7[1];
5947
+ // Issue cached entries, except on reset
5948
+ var entry = acc[name] || {}; // Figure out what the value is supposed to be
5949
 
5950
+ var isNumber = is.num(value);
5951
+ var isString = is.str(value) && !value.startsWith('#') && !/\d/.test(value) && !colorNames[value];
5952
+ var isArray = is.arr(value);
5953
+ var isInterpolation = !isNumber && !isArray && !isString;
5954
+ var fromValue = !is.und(from[name]) ? from[name] : value;
5955
+ var toValue = isNumber || isArray ? value : isString ? value : 1;
5956
+ var toConfig = callProp(config, name);
5957
+ if (target) toValue = target.animations[name].parent;
5958
+ var parent = entry.parent,
5959
+ interpolation$$1 = entry.interpolation,
5960
+ toValues = toArray(target ? toValue.getPayload() : toValue),
5961
+ animatedValues;
5962
+ var newValue = value;
5963
+ if (isInterpolation) newValue = interpolation({
5964
+ range: [0, 1],
5965
+ output: [value, value]
5966
+ })(1);
5967
+ var currentValue = interpolation$$1 && interpolation$$1.getValue(); // Change detection flags
5968
 
5969
+ var isFirst = is.und(parent);
5970
+ var isActive = !isFirst && entry.animatedValues.some(function (v) {
5971
+ return !v.done;
5972
+ });
5973
+ var currentValueDiffersFromGoal = !is.equ(newValue, currentValue);
5974
+ var hasNewGoal = !is.equ(newValue, entry.previous);
5975
+ var hasNewConfig = !is.equ(toConfig, entry.config); // Change animation props when props indicate a new goal (new value differs from previous one)
5976
+ // and current values differ from it. Config changes trigger a new update as well (though probably shouldn't?)
5977
 
5978
+ if (reset || hasNewGoal && currentValueDiffersFromGoal || hasNewConfig) {
5979
+ var _extends2;
5980
 
5981
+ // Convert regular values into animated values, ALWAYS re-use if possible
5982
+ 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) {
5983
+ var prev = entry.interpolation && entry.interpolation.calc(entry.parent.value);
5984
+ prev = prev !== void 0 && !reset ? prev : fromValue;
5985
 
5986
+ if (entry.parent) {
5987
+ parent = entry.parent;
5988
+ parent.setValue(0, false);
5989
+ } else parent = new AnimatedValue(0);
5990
 
5991
+ var range = {
5992
+ output: [prev, value]
5993
+ };
5994
 
5995
+ if (entry.interpolation) {
5996
+ interpolation$$1 = entry.interpolation;
5997
+ entry.interpolation.updateConfig(range);
5998
+ } else interpolation$$1 = parent.interpolate(range);
5999
+ }
6000
+ toValues = toArray(target ? toValue.getPayload() : toValue);
6001
+ animatedValues = toArray(parent.getPayload());
6002
+ if (reset && !isInterpolation) parent.setValue(fromValue, false);
6003
+ _this4.hasChanged = true; // Reset animated values
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6004
 
6005
+ animatedValues.forEach(function (value) {
6006
+ value.startPosition = value.value;
6007
+ value.lastPosition = value.value;
6008
+ value.lastVelocity = isActive ? value.lastVelocity : undefined;
6009
+ value.lastTime = isActive ? value.lastTime : undefined;
6010
+ value.startTime = now();
6011
+ value.done = false;
6012
+ value.animatedStyles.clear();
6013
+ }); // Set immediate values
 
 
 
 
 
 
 
 
 
 
 
6014
 
6015
+ if (callProp(immediate, name)) {
6016
+ parent.setValue(isInterpolation ? toValue : value, false);
6017
+ }
6018
 
6019
+ return _extends({}, acc, (_extends2 = {}, _extends2[name] = _extends({}, entry, {
6020
+ name: name,
6021
+ parent: parent,
6022
+ interpolation: interpolation$$1,
6023
+ animatedValues: animatedValues,
6024
+ toValues: toValues,
6025
+ previous: newValue,
6026
+ config: toConfig,
6027
+ fromValues: toArray(parent.getValue()),
6028
+ immediate: callProp(immediate, name),
6029
+ initialVelocity: withDefault(toConfig.velocity, 0),
6030
+ clamp: withDefault(toConfig.clamp, false),
6031
+ precision: withDefault(toConfig.precision, 0.01),
6032
+ tension: withDefault(toConfig.tension, 170),
6033
+ friction: withDefault(toConfig.friction, 26),
6034
+ mass: withDefault(toConfig.mass, 1),
6035
+ duration: toConfig.duration,
6036
+ easing: withDefault(toConfig.easing, function (t) {
6037
+ return t;
6038
+ }),
6039
+ decay: toConfig.decay
6040
+ }), _extends2));
6041
+ } else {
6042
+ if (!currentValueDiffersFromGoal) {
6043
+ var _extends3;
6044
 
6045
+ // So ... the current target value (newValue) appears to be different from the previous value,
6046
+ // which normally constitutes an update, but the actual value (currentValue) matches the target!
6047
+ // In order to resolve this without causing an animation update we silently flag the animation as done,
6048
+ // which it technically is. Interpolations also needs a config update with their target set to 1.
6049
+ if (isInterpolation) {
6050
+ parent.setValue(1, false);
6051
+ interpolation$$1.updateConfig({
6052
+ output: [newValue, newValue]
6053
+ });
6054
+ }
6055
 
6056
+ parent.done = true;
6057
+ _this4.hasChanged = true;
6058
+ return _extends({}, acc, (_extends3 = {}, _extends3[name] = _extends({}, acc[name], {
6059
+ previous: newValue
6060
+ }), _extends3));
6061
+ }
6062
 
6063
+ return acc;
6064
+ }
6065
+ }, this.animations);
6066
 
6067
+ if (this.hasChanged) {
6068
+ // Make animations available to frameloop
6069
+ this.configs = Object.values(this.animations);
6070
+ this.values = {};
6071
+ this.interpolations = {};
6072
 
6073
+ for (var key in this.animations) {
6074
+ this.interpolations[key] = this.animations[key].interpolation;
6075
+ this.values[key] = this.animations[key].interpolation.getValue();
6076
+ }
6077
+ }
6078
 
6079
+ return this;
6080
+ };
6081
 
6082
+ _proto.destroy = function destroy() {
6083
+ this.stop();
6084
+ this.props = {};
6085
+ this.merged = {};
6086
+ this.animations = {};
6087
+ this.interpolations = {};
6088
+ this.values = {};
6089
+ this.configs = [];
6090
+ this.local = 0;
6091
+ };
6092
 
6093
+ return Controller;
6094
+ }();
6095
 
6096
+ /** API
6097
+ * const props = useSprings(number, [{ ... }, { ... }, ...])
6098
+ * const [props, set] = useSprings(number, (i, controller) => ({ ... }))
6099
+ */
 
 
 
6100
 
6101
+ var useSprings = function useSprings(length, props) {
6102
+ var mounted = React.useRef(false);
6103
+ var ctrl = React.useRef();
6104
+ var isFn = is.fun(props); // The controller maintains the animation values, starts and stops animations
6105
 
6106
+ var _useMemo = React.useMemo(function () {
6107
+ // Remove old controllers
6108
+ if (ctrl.current) {
6109
+ ctrl.current.map(function (c) {
6110
+ return c.destroy();
 
 
 
 
 
6111
  });
6112
+ ctrl.current = undefined;
6113
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6114
 
6115
+ var ref;
6116
+ return [new Array(length).fill().map(function (_, i) {
6117
+ var ctrl = new Controller();
6118
+ var newProps = isFn ? callProp(props, i, ctrl) : props[i];
6119
+ if (i === 0) ref = newProps.ref;
6120
+ ctrl.update(newProps);
6121
+ if (!ref) ctrl.start();
6122
+ return ctrl;
6123
+ }), ref];
6124
+ }, [length]),
6125
+ controllers = _useMemo[0],
6126
+ ref = _useMemo[1];
 
6127
 
6128
+ ctrl.current = controllers; // The hooks reference api gets defined here ...
 
6129
 
6130
+ var api = React.useImperativeHandle(ref, function () {
6131
+ return {
6132
+ start: function start() {
6133
+ return Promise.all(ctrl.current.map(function (c) {
6134
+ return new Promise(function (r) {
6135
+ return c.start(r);
6136
+ });
6137
+ }));
6138
+ },
6139
+ stop: function stop(finished) {
6140
+ return ctrl.current.forEach(function (c) {
6141
+ return c.stop(finished);
6142
+ });
6143
+ },
6144
 
6145
+ get controllers() {
6146
+ return ctrl.current;
6147
+ }
6148
 
6149
+ };
6150
+ }); // This function updates the controllers
 
 
6151
 
6152
+ var updateCtrl = React.useMemo(function () {
6153
+ return function (updateProps) {
6154
+ return ctrl.current.map(function (c, i) {
6155
+ c.update(isFn ? callProp(updateProps, i, c) : updateProps[i]);
6156
+ if (!ref) c.start();
6157
+ });
6158
+ };
6159
+ }, [length]); // Update controller if props aren't functional
6160
 
6161
+ React.useEffect(function () {
6162
+ if (mounted.current) {
6163
+ if (!isFn) updateCtrl(props);
6164
+ } else if (!ref) ctrl.current.forEach(function (c) {
6165
+ return c.start();
6166
+ });
6167
+ }); // Update mounted flag and destroy controller on unmount
6168
 
6169
+ React.useEffect(function () {
6170
+ return mounted.current = true, function () {
6171
+ return ctrl.current.forEach(function (c) {
6172
+ return c.destroy();
6173
+ });
6174
+ };
6175
+ }, []); // Return animated props, or, anim-props + the update-setter above
6176
 
6177
+ var propValues = ctrl.current.map(function (c) {
6178
+ return c.getValues();
6179
+ });
6180
+ return isFn ? [propValues, updateCtrl, function (finished) {
6181
+ return ctrl.current.forEach(function (c) {
6182
+ return c.pause(finished);
6183
+ });
6184
+ }] : propValues;
6185
+ };
6186
 
6187
+ /** API
6188
+ * const props = useSpring({ ... })
6189
+ * const [props, set] = useSpring(() => ({ ... }))
6190
+ */
6191
 
6192
+ var useSpring = function useSpring(props) {
6193
+ var isFn = is.fun(props);
6194
 
6195
+ var _useSprings = useSprings(1, isFn ? props : [props]),
6196
+ result = _useSprings[0],
6197
+ set = _useSprings[1],
6198
+ pause = _useSprings[2];
6199
 
6200
+ return isFn ? [result[0], set, pause] : result;
 
 
 
 
 
 
 
 
 
 
6201
  };
6202
 
6203
+ /** API
6204
+ * const trails = useTrail(number, { ... })
6205
+ * const [trails, set] = useTrail(number, () => ({ ... }))
6206
+ */
 
6207
 
6208
+ var useTrail = function useTrail(length, props) {
6209
+ var mounted = React.useRef(false);
6210
+ var isFn = is.fun(props);
6211
+ var updateProps = callProp(props);
6212
+ var instances = React.useRef();
6213
 
6214
+ var _useSprings = useSprings(length, function (i, ctrl) {
6215
+ if (i === 0) instances.current = [];
6216
+ instances.current.push(ctrl);
6217
+ return _extends({}, updateProps, {
6218
+ config: callProp(updateProps.config, i),
6219
+ attach: i > 0 && function () {
6220
+ return instances.current[i - 1];
6221
+ }
6222
+ });
6223
+ }),
6224
+ result = _useSprings[0],
6225
+ set = _useSprings[1],
6226
+ pause = _useSprings[2]; // Set up function to update controller
 
 
 
 
 
 
 
6227
 
 
 
 
 
 
 
 
6228
 
6229
+ var updateCtrl = React.useMemo(function () {
6230
+ return function (props) {
6231
+ return set(function (i, ctrl) {
6232
+ var last = props.reverse ? i === 0 : length - 1 === i;
6233
+ var attachIdx = props.reverse ? i + 1 : i - 1;
6234
+ var attachController = instances.current[attachIdx];
6235
+ return _extends({}, props, {
6236
+ config: callProp(props.config || updateProps.config, i),
6237
+ attach: attachController && function () {
6238
+ return attachController;
6239
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6240
  });
6241
+ });
6242
+ };
6243
+ }, [length, updateProps.reverse]); // Update controller if props aren't functional
6244
 
6245
+ React.useEffect(function () {
6246
+ return void (mounted.current && !isFn && updateCtrl(props));
6247
+ }); // Update mounted flag and destroy controller on unmount
 
6248
 
6249
+ React.useEffect(function () {
6250
+ return void (mounted.current = true);
6251
+ }, []);
6252
+ return isFn ? [result, updateCtrl, pause] : result;
6253
+ };
6254
 
6255
+ /** API
6256
+ * const transitions = useTransition(items, itemKeys, { ... })
6257
+ * const [transitions, update] = useTransition(items, itemKeys, () => ({ ... }))
6258
+ */
 
 
 
6259
 
6260
+ var guid = 0;
6261
+ var ENTER = 'enter';
6262
+ var LEAVE = 'leave';
6263
+ var UPDATE = 'update';
6264
 
6265
+ var mapKeys = function mapKeys(items, keys) {
6266
+ return (typeof keys === 'function' ? items.map(keys) : toArray(keys)).map(String);
6267
+ };
6268
 
6269
+ var get = function get(props) {
6270
+ var items = props.items,
6271
+ _props$keys = props.keys,
6272
+ keys = _props$keys === void 0 ? function (item) {
6273
+ return item;
6274
+ } : _props$keys,
6275
+ rest = _objectWithoutPropertiesLoose(props, ["items", "keys"]);
 
 
 
6276
 
6277
+ items = toArray(items !== void 0 ? items : null);
6278
+ return _extends({
6279
+ items: items,
6280
+ keys: mapKeys(items, keys)
6281
+ }, rest);
6282
+ };
6283
 
6284
+ function useTransition(input, keyTransform, config) {
6285
+ var props = _extends({
6286
+ items: input,
6287
+ keys: keyTransform || function (i) {
6288
+ return i;
6289
+ }
6290
+ }, config);
6291
 
6292
+ var _get = get(props),
6293
+ _get$lazy = _get.lazy,
6294
+ lazy = _get$lazy === void 0 ? false : _get$lazy,
6295
+ _get$unique = _get.unique,
6296
+ _get$reset = _get.reset,
6297
+ reset = _get$reset === void 0 ? false : _get$reset,
6298
+ enter = _get.enter,
6299
+ leave = _get.leave,
6300
+ update = _get.update,
6301
+ onDestroyed = _get.onDestroyed,
6302
+ keys = _get.keys,
6303
+ items = _get.items,
6304
+ onFrame = _get.onFrame,
6305
+ _onRest = _get.onRest,
6306
+ onStart = _get.onStart,
6307
+ ref = _get.ref,
6308
+ extra = _objectWithoutPropertiesLoose(_get, ["lazy", "unique", "reset", "enter", "leave", "update", "onDestroyed", "keys", "items", "onFrame", "onRest", "onStart", "ref"]);
6309
 
6310
+ var forceUpdate = useForceUpdate();
6311
+ var mounted = React.useRef(false);
6312
+ var state = React.useRef({
6313
+ mounted: false,
6314
+ first: true,
6315
+ deleted: [],
6316
+ current: {},
6317
+ transitions: [],
6318
+ prevProps: {},
6319
+ paused: !!props.ref,
6320
+ instances: !mounted.current && new Map(),
6321
+ forceUpdate: forceUpdate
6322
+ });
6323
+ React.useImperativeHandle(props.ref, function () {
6324
+ return {
6325
+ start: function start() {
6326
+ return Promise.all(Array.from(state.current.instances).map(function (_ref) {
6327
+ var c = _ref[1];
6328
+ return new Promise(function (r) {
6329
+ return c.start(r);
6330
+ });
6331
+ }));
6332
+ },
6333
+ stop: function stop(finished) {
6334
+ return Array.from(state.current.instances).forEach(function (_ref2) {
6335
+ var c = _ref2[1];
6336
+ return c.stop(finished);
6337
+ });
6338
+ },
6339
 
6340
+ get controllers() {
6341
+ return Array.from(state.current.instances).map(function (_ref3) {
6342
+ var c = _ref3[1];
6343
+ return c;
6344
+ });
6345
+ }
6346
 
6347
+ };
6348
+ }); // Update state
 
 
6349
 
6350
+ state.current = diffItems(state.current, props);
 
 
6351
 
6352
+ if (state.current.changed) {
6353
+ // Update state
6354
+ state.current.transitions.forEach(function (transition) {
6355
+ var slot = transition.slot,
6356
+ from = transition.from,
6357
+ to = transition.to,
6358
+ config = transition.config,
6359
+ trail = transition.trail,
6360
+ key = transition.key,
6361
+ item = transition.item;
6362
+ if (!state.current.instances.has(key)) state.current.instances.set(key, new Controller()); // update the map object
6363
 
6364
+ var ctrl = state.current.instances.get(key);
 
 
 
 
 
 
 
6365
 
6366
+ var newProps = _extends({}, extra, {
6367
+ to: to,
6368
+ from: from,
6369
+ config: config,
6370
+ ref: ref,
6371
+ onRest: function onRest(values) {
6372
+ if (state.current.mounted) {
6373
+ if (transition.destroyed) {
6374
+ // If no ref is given delete destroyed items immediately
6375
+ if (!ref && !lazy) cleanUp(state, key);
6376
+ if (onDestroyed) onDestroyed(item);
6377
+ } // A transition comes to rest once all its springs conclude
6378
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6379
 
6380
+ var curInstances = Array.from(state.current.instances);
6381
+ var active = curInstances.some(function (_ref4) {
6382
+ var c = _ref4[1];
6383
+ return !c.idle;
6384
+ });
6385
+ if (!active && (ref || lazy) && state.current.deleted.length > 0) cleanUp(state);
6386
+ if (_onRest) _onRest(item, slot, values);
6387
+ }
6388
+ },
6389
+ onStart: onStart && function () {
6390
+ return onStart(item, slot);
6391
+ },
6392
+ onFrame: onFrame && function (values) {
6393
+ return onFrame(item, slot, values);
6394
+ },
6395
+ delay: trail,
6396
+ reset: reset && slot === ENTER // Update controller
6397
 
6398
+ });
 
6399
 
6400
+ ctrl.update(newProps);
6401
+ if (!state.current.paused) ctrl.start();
6402
+ });
6403
+ }
 
 
 
6404
 
6405
+ React.useEffect(function () {
6406
+ state.current.mounted = mounted.current = true;
6407
+ return function () {
6408
+ state.current.mounted = mounted.current = false;
6409
+ Array.from(state.current.instances).map(function (_ref5) {
6410
+ var c = _ref5[1];
6411
+ return c.destroy();
6412
+ });
6413
+ state.current.instances.clear();
6414
+ };
6415
+ }, []);
6416
+ return state.current.transitions.map(function (_ref6) {
6417
+ var item = _ref6.item,
6418
+ slot = _ref6.slot,
6419
+ key = _ref6.key;
6420
+ return {
6421
+ item: item,
6422
+ key: key,
6423
+ state: slot,
6424
+ props: state.current.instances.get(key).getValues()
6425
+ };
6426
+ });
6427
+ }
6428
 
6429
+ function cleanUp(state, filterKey) {
6430
+ var deleted = state.current.deleted;
 
6431
 
6432
+ var _loop = function _loop() {
6433
+ if (_isArray) {
6434
+ if (_i >= _iterator.length) return "break";
6435
+ _ref8 = _iterator[_i++];
 
6436
  } else {
6437
+ _i = _iterator.next();
6438
+ if (_i.done) return "break";
6439
+ _ref8 = _i.value;
6440
  }
6441
 
6442
+ var _ref7 = _ref8;
6443
+ var key = _ref7.key;
6444
 
6445
+ var filter = function filter(t) {
6446
+ return t.key !== key;
6447
+ };
6448
 
6449
+ if (is.und(filterKey) || filterKey === key) {
6450
+ state.current.instances.delete(key);
6451
+ state.current.transitions = state.current.transitions.filter(filter);
6452
+ state.current.deleted = state.current.deleted.filter(filter);
6453
  }
6454
+ };
6455
 
6456
+ for (var _iterator = deleted, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
6457
+ var _ref8;
6458
 
6459
+ var _ret = _loop();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6460
 
6461
+ if (_ret === "break") break;
6462
+ }
6463
 
6464
+ state.current.forceUpdate();
6465
+ }
 
 
 
 
 
 
 
6466
 
6467
+ function diffItems(_ref9, props) {
6468
+ var first = _ref9.first,
6469
+ prevProps = _ref9.prevProps,
6470
+ state = _objectWithoutPropertiesLoose(_ref9, ["first", "prevProps"]);
6471
 
6472
+ var _get2 = get(props),
6473
+ items = _get2.items,
6474
+ keys = _get2.keys,
6475
+ initial = _get2.initial,
6476
+ from = _get2.from,
6477
+ enter = _get2.enter,
6478
+ leave = _get2.leave,
6479
+ update = _get2.update,
6480
+ _get2$trail = _get2.trail,
6481
+ trail = _get2$trail === void 0 ? 0 : _get2$trail,
6482
+ unique = _get2.unique,
6483
+ config = _get2.config,
6484
+ _get2$order = _get2.order,
6485
+ order = _get2$order === void 0 ? [ENTER, LEAVE, UPDATE] : _get2$order;
6486
 
6487
+ var _get3 = get(prevProps),
6488
+ _keys = _get3.keys,
6489
+ _items = _get3.items;
6490
 
6491
+ var current = _extends({}, state.current);
6492
 
6493
+ var deleted = [].concat(state.deleted); // Compare next keys with current keys
6494
 
6495
+ var currentKeys = Object.keys(current);
6496
+ var currentSet = new Set(currentKeys);
6497
+ var nextSet = new Set(keys);
6498
+ var added = keys.filter(function (item) {
6499
+ return !currentSet.has(item);
6500
+ });
6501
+ var removed = state.transitions.filter(function (item) {
6502
+ return !item.destroyed && !nextSet.has(item.originalKey);
6503
+ }).map(function (i) {
6504
+ return i.originalKey;
6505
+ });
6506
+ var updated = keys.filter(function (item) {
6507
+ return currentSet.has(item);
6508
+ });
6509
+ var delay = -trail;
6510
 
6511
+ while (order.length) {
6512
+ var changeType = order.shift();
6513
 
6514
+ switch (changeType) {
6515
+ case ENTER:
6516
+ {
6517
+ added.forEach(function (key, index) {
6518
+ // In unique mode, remove fading out transitions if their key comes in again
6519
+ if (unique && deleted.find(function (d) {
6520
+ return d.originalKey === key;
6521
+ })) deleted = deleted.filter(function (t) {
6522
+ return t.originalKey !== key;
6523
+ });
6524
+ var keyIndex = keys.indexOf(key);
6525
+ var item = items[keyIndex];
6526
+ var slot = first && initial !== void 0 ? 'initial' : ENTER;
6527
+ current[key] = {
6528
+ slot: slot,
6529
+ originalKey: key,
6530
+ key: unique ? String(key) : guid++,
6531
+ item: item,
6532
+ trail: delay = delay + trail,
6533
+ config: callProp(config, item, slot),
6534
+ from: callProp(first ? initial !== void 0 ? initial || {} : from : from, item),
6535
+ to: callProp(enter, item)
6536
+ };
6537
+ });
6538
+ break;
6539
+ }
6540
 
6541
+ case LEAVE:
6542
+ {
6543
+ removed.forEach(function (key) {
6544
+ var keyIndex = _keys.indexOf(key);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6545
 
6546
+ var item = _items[keyIndex];
6547
+ var slot = LEAVE;
6548
+ deleted.unshift(_extends({}, current[key], {
6549
+ slot: slot,
6550
+ destroyed: true,
6551
+ left: _keys[Math.max(0, keyIndex - 1)],
6552
+ right: _keys[Math.min(_keys.length, keyIndex + 1)],
6553
+ trail: delay = delay + trail,
6554
+ config: callProp(config, item, slot),
6555
+ to: callProp(leave, item)
6556
+ }));
6557
+ delete current[key];
6558
+ });
6559
+ break;
6560
  }
 
 
 
 
 
 
 
 
 
 
 
6561
 
6562
+ case UPDATE:
6563
+ {
6564
+ updated.forEach(function (key) {
6565
+ var keyIndex = keys.indexOf(key);
6566
+ var item = items[keyIndex];
6567
+ var slot = UPDATE;
6568
+ current[key] = _extends({}, current[key], {
6569
+ item: item,
6570
+ slot: slot,
6571
+ trail: delay = delay + trail,
6572
+ config: callProp(config, item, slot),
6573
+ to: callProp(update, item)
6574
+ });
6575
+ });
6576
+ break;
 
 
 
 
 
6577
  }
 
 
 
 
 
 
 
 
 
 
6578
  }
6579
+ }
6580
 
6581
+ var out = keys.map(function (key) {
6582
+ return current[key];
6583
+ }); // This tries to restore order for deleted items by finding their last known siblings
6584
+ // only using the left sibling to keep order placement consistent for all deleted items
 
 
 
 
 
 
 
 
6585
 
6586
+ deleted.forEach(function (_ref10) {
6587
+ var left = _ref10.left,
6588
+ right = _ref10.right,
6589
+ item = _objectWithoutPropertiesLoose(_ref10, ["left", "right"]);
6590
 
6591
+ var pos; // Was it the element on the left, if yes, move there ...
 
 
 
 
 
 
 
6592
 
6593
+ if ((pos = out.findIndex(function (t) {
6594
+ return t.originalKey === left;
6595
+ })) !== -1) pos += 1; // And if nothing else helps, move it to the start ¯\_(ツ)_/¯
6596
 
6597
+ pos = Math.max(0, pos);
6598
+ out = [].concat(out.slice(0, pos), [item], out.slice(pos));
6599
+ });
6600
+ return _extends({}, state, {
6601
+ changed: added.length || removed.length || updated.length,
6602
+ first: first && added.length === 0,
6603
+ transitions: out,
6604
+ current: current,
6605
+ deleted: deleted,
6606
+ prevProps: props
6607
+ });
6608
+ }
6609
 
6610
+ var AnimatedStyle =
6611
+ /*#__PURE__*/
6612
+ function (_AnimatedObject) {
6613
+ _inheritsLoose(AnimatedStyle, _AnimatedObject);
 
 
 
 
 
 
6614
 
6615
+ function AnimatedStyle(style) {
6616
+ var _this;
6617
 
6618
+ if (style === void 0) {
6619
+ style = {};
6620
  }
6621
 
6622
+ _this = _AnimatedObject.call(this) || this;
 
6623
 
6624
+ if (style.transform && !(style.transform instanceof Animated)) {
6625
+ style = applyAnimatedValues.transform(style);
 
6626
  }
6627
 
6628
+ _this.payload = style;
6629
+ return _this;
6630
+ }
6631
 
6632
+ return AnimatedStyle;
6633
+ }(AnimatedObject);
 
 
6634
 
6635
+ // http://www.w3.org/TR/css3-color/#svg-color
6636
+ var colors = {
6637
+ transparent: 0x00000000,
6638
+ aliceblue: 0xf0f8ffff,
6639
+ antiquewhite: 0xfaebd7ff,
6640
+ aqua: 0x00ffffff,
6641
+ aquamarine: 0x7fffd4ff,
6642
+ azure: 0xf0ffffff,
6643
+ beige: 0xf5f5dcff,
6644
+ bisque: 0xffe4c4ff,
6645
+ black: 0x000000ff,
6646
+ blanchedalmond: 0xffebcdff,
6647
+ blue: 0x0000ffff,
6648
+ blueviolet: 0x8a2be2ff,
6649
+ brown: 0xa52a2aff,
6650
+ burlywood: 0xdeb887ff,
6651
+ burntsienna: 0xea7e5dff,
6652
+ cadetblue: 0x5f9ea0ff,
6653
+ chartreuse: 0x7fff00ff,
6654
+ chocolate: 0xd2691eff,
6655
+ coral: 0xff7f50ff,
6656
+ cornflowerblue: 0x6495edff,
6657
+ cornsilk: 0xfff8dcff,
6658
+ crimson: 0xdc143cff,
6659
+ cyan: 0x00ffffff,
6660
+ darkblue: 0x00008bff,
6661
+ darkcyan: 0x008b8bff,
6662
+ darkgoldenrod: 0xb8860bff,
6663
+ darkgray: 0xa9a9a9ff,
6664
+ darkgreen: 0x006400ff,
6665
+ darkgrey: 0xa9a9a9ff,
6666
+ darkkhaki: 0xbdb76bff,
6667
+ darkmagenta: 0x8b008bff,
6668
+ darkolivegreen: 0x556b2fff,
6669
+ darkorange: 0xff8c00ff,
6670
+ darkorchid: 0x9932ccff,
6671
+ darkred: 0x8b0000ff,
6672
+ darksalmon: 0xe9967aff,
6673
+ darkseagreen: 0x8fbc8fff,
6674
+ darkslateblue: 0x483d8bff,
6675
+ darkslategray: 0x2f4f4fff,
6676
+ darkslategrey: 0x2f4f4fff,
6677
+ darkturquoise: 0x00ced1ff,
6678
+ darkviolet: 0x9400d3ff,
6679
+ deeppink: 0xff1493ff,
6680
+ deepskyblue: 0x00bfffff,
6681
+ dimgray: 0x696969ff,
6682
+ dimgrey: 0x696969ff,
6683
+ dodgerblue: 0x1e90ffff,
6684
+ firebrick: 0xb22222ff,
6685
+ floralwhite: 0xfffaf0ff,
6686
+ forestgreen: 0x228b22ff,
6687
+ fuchsia: 0xff00ffff,
6688
+ gainsboro: 0xdcdcdcff,
6689
+ ghostwhite: 0xf8f8ffff,
6690
+ gold: 0xffd700ff,
6691
+ goldenrod: 0xdaa520ff,
6692
+ gray: 0x808080ff,
6693
+ green: 0x008000ff,
6694
+ greenyellow: 0xadff2fff,
6695
+ grey: 0x808080ff,
6696
+ honeydew: 0xf0fff0ff,
6697
+ hotpink: 0xff69b4ff,
6698
+ indianred: 0xcd5c5cff,
6699
+ indigo: 0x4b0082ff,
6700
+ ivory: 0xfffff0ff,
6701
+ khaki: 0xf0e68cff,
6702
+ lavender: 0xe6e6faff,
6703
+ lavenderblush: 0xfff0f5ff,
6704
+ lawngreen: 0x7cfc00ff,
6705
+ lemonchiffon: 0xfffacdff,
6706
+ lightblue: 0xadd8e6ff,
6707
+ lightcoral: 0xf08080ff,
6708
+ lightcyan: 0xe0ffffff,
6709
+ lightgoldenrodyellow: 0xfafad2ff,
6710
+ lightgray: 0xd3d3d3ff,
6711
+ lightgreen: 0x90ee90ff,
6712
+ lightgrey: 0xd3d3d3ff,
6713
+ lightpink: 0xffb6c1ff,
6714
+ lightsalmon: 0xffa07aff,
6715
+ lightseagreen: 0x20b2aaff,
6716
+ lightskyblue: 0x87cefaff,
6717
+ lightslategray: 0x778899ff,
6718
+ lightslategrey: 0x778899ff,
6719
+ lightsteelblue: 0xb0c4deff,
6720
+ lightyellow: 0xffffe0ff,
6721
+ lime: 0x00ff00ff,
6722
+ limegreen: 0x32cd32ff,
6723
+ linen: 0xfaf0e6ff,
6724
+ magenta: 0xff00ffff,
6725
+ maroon: 0x800000ff,
6726
+ mediumaquamarine: 0x66cdaaff,
6727
+ mediumblue: 0x0000cdff,
6728
+ mediumorchid: 0xba55d3ff,
6729
+ mediumpurple: 0x9370dbff,
6730
+ mediumseagreen: 0x3cb371ff,
6731
+ mediumslateblue: 0x7b68eeff,
6732
+ mediumspringgreen: 0x00fa9aff,
6733
+ mediumturquoise: 0x48d1ccff,
6734
+ mediumvioletred: 0xc71585ff,
6735
+ midnightblue: 0x191970ff,
6736
+ mintcream: 0xf5fffaff,
6737
+ mistyrose: 0xffe4e1ff,
6738
+ moccasin: 0xffe4b5ff,
6739
+ navajowhite: 0xffdeadff,
6740
+ navy: 0x000080ff,
6741
+ oldlace: 0xfdf5e6ff,
6742
+ olive: 0x808000ff,
6743
+ olivedrab: 0x6b8e23ff,
6744
+ orange: 0xffa500ff,
6745
+ orangered: 0xff4500ff,
6746
+ orchid: 0xda70d6ff,
6747
+ palegoldenrod: 0xeee8aaff,
6748
+ palegreen: 0x98fb98ff,
6749
+ paleturquoise: 0xafeeeeff,
6750
+ palevioletred: 0xdb7093ff,
6751
+ papayawhip: 0xffefd5ff,
6752
+ peachpuff: 0xffdab9ff,
6753
+ peru: 0xcd853fff,
6754
+ pink: 0xffc0cbff,
6755
+ plum: 0xdda0ddff,
6756
+ powderblue: 0xb0e0e6ff,
6757
+ purple: 0x800080ff,
6758
+ rebeccapurple: 0x663399ff,
6759
+ red: 0xff0000ff,
6760
+ rosybrown: 0xbc8f8fff,
6761
+ royalblue: 0x4169e1ff,
6762
+ saddlebrown: 0x8b4513ff,
6763
+ salmon: 0xfa8072ff,
6764
+ sandybrown: 0xf4a460ff,
6765
+ seagreen: 0x2e8b57ff,
6766
+ seashell: 0xfff5eeff,
6767
+ sienna: 0xa0522dff,
6768
+ silver: 0xc0c0c0ff,
6769
+ skyblue: 0x87ceebff,
6770
+ slateblue: 0x6a5acdff,
6771
+ slategray: 0x708090ff,
6772
+ slategrey: 0x708090ff,
6773
+ snow: 0xfffafaff,
6774
+ springgreen: 0x00ff7fff,
6775
+ steelblue: 0x4682b4ff,
6776
+ tan: 0xd2b48cff,
6777
+ teal: 0x008080ff,
6778
+ thistle: 0xd8bfd8ff,
6779
+ tomato: 0xff6347ff,
6780
+ turquoise: 0x40e0d0ff,
6781
+ violet: 0xee82eeff,
6782
+ wheat: 0xf5deb3ff,
6783
+ white: 0xffffffff,
6784
+ whitesmoke: 0xf5f5f5ff,
6785
+ yellow: 0xffff00ff,
6786
+ yellowgreen: 0x9acd32ff
6787
  };
6788
 
6789
+ // const INTEGER = '[-+]?\\d+';
6790
+ var NUMBER = '[-+]?\\d*\\.?\\d+';
6791
+ var PERCENTAGE = NUMBER + '%';
6792
 
6793
+ function call() {
6794
+ for (var _len = arguments.length, parts = new Array(_len), _key = 0; _key < _len; _key++) {
6795
+ parts[_key] = arguments[_key];
6796
+ }
6797
 
6798
+ return '\\(\\s*(' + parts.join(')\\s*,\\s*(') + ')\\s*\\)';
6799
+ }
6800
 
6801
+ var rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));
6802
+ var rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));
6803
+ var hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));
6804
+ var hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));
6805
+ var hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
6806
+ var hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
6807
+ var hex6 = /^#([0-9a-fA-F]{6})$/;
6808
+ var hex8 = /^#([0-9a-fA-F]{8})$/;
6809
 
6810
+ /*
6811
+ https://github.com/react-community/normalize-css-color
 
 
 
 
6812
 
6813
+ BSD 3-Clause License
 
6814
 
6815
+ Copyright (c) 2016, React Community
6816
+ All rights reserved.
6817
 
6818
+ Redistribution and use in source and binary forms, with or without
6819
+ modification, are permitted provided that the following conditions are met:
 
6820
 
6821
+ * Redistributions of source code must retain the above copyright notice, this
6822
+ list of conditions and the following disclaimer.
6823
 
6824
+ * Redistributions in binary form must reproduce the above copyright notice,
6825
+ this list of conditions and the following disclaimer in the documentation
6826
+ and/or other materials provided with the distribution.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6827
 
6828
+ * Neither the name of the copyright holder nor the names of its
6829
+ contributors may be used to endorse or promote products derived from
6830
+ this software without specific prior written permission.
 
 
 
6831
 
6832
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
6833
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
6834
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
6835
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
6836
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
6837
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
6838
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
6839
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
6840
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
6841
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
6842
+ */
6843
+ function normalizeColor(color) {
6844
+ var match;
 
 
 
 
 
 
 
 
6845
 
6846
+ if (typeof color === 'number') {
6847
+ return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;
6848
+ } // Ordered based on occurrences on Facebook codebase
 
 
 
 
 
 
 
6849
 
 
 
 
 
 
6850
 
6851
+ if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;
6852
+ if (colors.hasOwnProperty(color)) return colors[color];
6853
 
6854
+ if (match = rgb.exec(color)) {
6855
+ return (parse255(match[1]) << 24 | // r
6856
+ parse255(match[2]) << 16 | // g
6857
+ parse255(match[3]) << 8 | // b
6858
+ 0x000000ff) >>> // a
6859
+ 0;
6860
  }
6861
 
6862
+ if (match = rgba.exec(color)) {
6863
+ return (parse255(match[1]) << 24 | // r
6864
+ parse255(match[2]) << 16 | // g
6865
+ parse255(match[3]) << 8 | // b
6866
+ parse1(match[4])) >>> // a
6867
+ 0;
6868
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6869
 
6870
+ if (match = hex3.exec(color)) {
6871
+ return parseInt(match[1] + match[1] + // r
6872
+ match[2] + match[2] + // g
6873
+ match[3] + match[3] + // b
6874
+ 'ff', // a
6875
+ 16) >>> 0;
6876
+ } // https://drafts.csswg.org/css-color-4/#hex-notation
6877
 
6878
 
6879
+ if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;
6880
 
6881
+ if (match = hex4.exec(color)) {
6882
+ return parseInt(match[1] + match[1] + // r
6883
+ match[2] + match[2] + // g
6884
+ match[3] + match[3] + // b
6885
+ match[4] + match[4], // a
6886
+ 16) >>> 0;
6887
+ }
6888
 
6889
+ if (match = hsl.exec(color)) {
6890
+ return (hslToRgb(parse360(match[1]), // h
6891
+ parsePercentage(match[2]), // s
6892
+ parsePercentage(match[3]) // l
6893
+ ) | 0x000000ff) >>> // a
6894
+ 0;
6895
+ }
6896
 
6897
+ if (match = hsla.exec(color)) {
6898
+ return (hslToRgb(parse360(match[1]), // h
6899
+ parsePercentage(match[2]), // s
6900
+ parsePercentage(match[3]) // l
6901
+ ) | parse1(match[4])) >>> // a
6902
+ 0;
6903
+ }
6904
 
6905
+ return null;
6906
+ }
6907
 
6908
+ function hue2rgb(p, q, t) {
6909
+ if (t < 0) t += 1;
6910
+ if (t > 1) t -= 1;
6911
+ if (t < 1 / 6) return p + (q - p) * 6 * t;
6912
+ if (t < 1 / 2) return q;
6913
+ if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
6914
+ return p;
6915
+ }
6916
 
6917
+ function hslToRgb(h, s, l) {
6918
+ var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
6919
+ var p = 2 * l - q;
6920
+ var r = hue2rgb(p, q, h + 1 / 3);
6921
+ var g = hue2rgb(p, q, h);
6922
+ var b = hue2rgb(p, q, h - 1 / 3);
6923
+ return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;
6924
+ }
6925
 
6926
+ function parse255(str) {
6927
+ var int = parseInt(str, 10);
6928
+ if (int < 0) return 0;
6929
+ if (int > 255) return 255;
6930
+ return int;
6931
+ }
6932
 
6933
+ function parse360(str) {
6934
+ var int = parseFloat(str);
6935
+ return (int % 360 + 360) % 360 / 360;
6936
+ }
6937
 
6938
+ function parse1(str) {
6939
+ var num = parseFloat(str);
6940
+ if (num < 0) return 0;
6941
+ if (num > 1) return 255;
6942
+ return Math.round(num * 255);
6943
+ }
6944
 
6945
+ function parsePercentage(str) {
6946
+ // parseFloat conveniently ignores the final %
6947
+ var int = parseFloat(str);
6948
+ if (int < 0) return 0;
6949
+ if (int > 100) return 1;
6950
+ return int / 100;
6951
+ }
6952
 
6953
+ function colorToRgba(input) {
6954
+ var int32Color = normalizeColor(input);
6955
+ if (int32Color === null) return input;
6956
+ int32Color = int32Color || 0;
6957
+ var r = (int32Color & 0xff000000) >>> 24;
6958
+ var g = (int32Color & 0x00ff0000) >>> 16;
6959
+ var b = (int32Color & 0x0000ff00) >>> 8;
6960
+ var a = (int32Color & 0x000000ff) / 255;
6961
+ return "rgba(" + r + ", " + g + ", " + b + ", " + a + ")";
6962
+ } // Problem: https://github.com/animatedjs/animated/pull/102
6963
+ // Solution: https://stackoverflow.com/questions/638565/parsing-scientific-notation-sensibly/658662
6964
 
 
 
 
6965
 
6966
+ var stringShapeRegex = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g; // Covers rgb, rgba, hsl, hsla
6967
+ // Taken from https://gist.github.com/olmokramer/82ccce673f86db7cda5e
6968
 
6969
+ 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.)
6970
 
6971
+ var colorNamesRegex = new RegExp("(" + Object.keys(colors).join('|') + ")", 'g');
6972
  /**
6973
+ * Supports string shapes by extracting numbers so new values can be computed,
6974
+ * and recombines those values into new strings of the same shape. Supports
6975
+ * things like:
6976
  *
6977
+ * rgba(123, 42, 99, 0.36) // colors
6978
+ * -45deg // values with units
6979
+ * 0 2px 2px 0px rgba(0, 0, 0, 0.12) // box shadows
6980
  */
6981
 
6982
+ var createStringInterpolator = function createStringInterpolator(config) {
6983
+ // Replace colors with rgba
6984
+ var outputRange = config.output.map(function (rangeValue) {
6985
+ return rangeValue.replace(colorRegex, colorToRgba);
6986
+ }).map(function (rangeValue) {
6987
+ return rangeValue.replace(colorNamesRegex, colorToRgba);
6988
+ });
6989
+ var outputRanges = outputRange[0].match(stringShapeRegex).map(function () {
6990
+ return [];
6991
+ });
6992
+ outputRange.forEach(function (value) {
6993
+ value.match(stringShapeRegex).forEach(function (number, i) {
6994
+ return outputRanges[i].push(+number);
6995
+ });
6996
+ });
6997
+ var interpolations = outputRange[0].match(stringShapeRegex).map(function (_value, i) {
6998
+ return createInterpolator(_extends({}, config, {
6999
+ output: outputRanges[i]
7000
+ }));
7001
+ });
7002
+ return function (input) {
7003
+ var i = 0;
7004
+ return outputRange[0] // 'rgba(0, 100, 200, 0)'
7005
+ // ->
7006
+ // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'
7007
+ .replace(stringShapeRegex, function () {
7008
+ return interpolations[i++](input);
7009
+ }) // rgba requires that the r,g,b are integers.... so we want to round them, but we *dont* want to
7010
+ // round the opacity (4th column).
7011
+ .replace(/rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi, function (_, p1, p2, p3, p4) {
7012
+ return "rgba(" + Math.round(p1) + ", " + Math.round(p2) + ", " + Math.round(p3) + ", " + p4 + ")";
7013
+ });
7014
+ };
7015
+ };
7016
 
7017
+ var isUnitlessNumber = {
7018
+ animationIterationCount: true,
7019
+ borderImageOutset: true,
7020
+ borderImageSlice: true,
7021
+ borderImageWidth: true,
7022
+ boxFlex: true,
7023
+ boxFlexGroup: true,
7024
+ boxOrdinalGroup: true,
7025
+ columnCount: true,
7026
+ columns: true,
7027
+ flex: true,
7028
+ flexGrow: true,
7029
+ flexPositive: true,
7030
+ flexShrink: true,
7031
+ flexNegative: true,
7032
+ flexOrder: true,
7033
+ gridRow: true,
7034
+ gridRowEnd: true,
7035
+ gridRowSpan: true,
7036
+ gridRowStart: true,
7037
+ gridColumn: true,
7038
+ gridColumnEnd: true,
7039
+ gridColumnSpan: true,
7040
+ gridColumnStart: true,
7041
+ fontWeight: true,
7042
+ lineClamp: true,
7043
+ lineHeight: true,
7044
+ opacity: true,
7045
+ order: true,
7046
+ orphans: true,
7047
+ tabSize: true,
7048
+ widows: true,
7049
+ zIndex: true,
7050
+ zoom: true,
7051
+ // SVG-related properties
7052
+ fillOpacity: true,
7053
+ floodOpacity: true,
7054
+ stopOpacity: true,
7055
+ strokeDasharray: true,
7056
+ strokeDashoffset: true,
7057
+ strokeMiterlimit: true,
7058
+ strokeOpacity: true,
7059
+ strokeWidth: true
7060
+ };
7061
 
7062
+ var prefixKey = function prefixKey(prefix, key) {
7063
+ return prefix + key.charAt(0).toUpperCase() + key.substring(1);
7064
+ };
 
 
 
 
 
 
 
7065
 
7066
+ var prefixes = ['Webkit', 'Ms', 'Moz', 'O'];
7067
+ isUnitlessNumber = Object.keys(isUnitlessNumber).reduce(function (acc, prop) {
7068
+ prefixes.forEach(function (prefix) {
7069
+ return acc[prefixKey(prefix, prop)] = acc[prop];
 
 
7070
  });
7071
+ return acc;
7072
+ }, isUnitlessNumber);
7073
+
7074
+ function dangerousStyleValue(name, value, isCustomProperty) {
7075
+ if (value == null || typeof value === 'boolean' || value === '') return '';
7076
+ if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers
7077
+
7078
+ return ('' + value).trim();
7079
  }
 
 
 
 
 
 
 
7080
 
7081
+ var attributeCache = {};
7082
+ injectCreateAnimatedStyle(function (style) {
7083
+ return new AnimatedStyle(style);
7084
+ });
7085
+ injectDefaultElement('div');
7086
+ injectStringInterpolator(createStringInterpolator);
7087
+ injectColorNames(colors);
7088
+ injectApplyAnimatedValues(function (instance, props) {
7089
+ if (instance.nodeType && instance.setAttribute !== undefined) {
7090
+ var style = props.style,
7091
+ children = props.children,
7092
+ scrollTop = props.scrollTop,
7093
+ scrollLeft = props.scrollLeft,
7094
+ attributes = _objectWithoutPropertiesLoose(props, ["style", "children", "scrollTop", "scrollLeft"]);
7095
 
7096
+ var filter = instance.nodeName === 'filter' || instance.parentNode && instance.parentNode.nodeName === 'filter';
7097
+ if (scrollTop !== void 0) instance.scrollTop = scrollTop;
7098
+ if (scrollLeft !== void 0) instance.scrollLeft = scrollLeft; // Set textContent, if children is an animatable value
7099
 
7100
+ if (children !== void 0) instance.textContent = children; // Set styles ...
 
7101
 
7102
+ for (var styleName in style) {
7103
+ if (!style.hasOwnProperty(styleName)) continue;
7104
+ var isCustomProperty = styleName.indexOf('--') === 0;
7105
+ var styleValue = dangerousStyleValue(styleName, style[styleName], isCustomProperty);
7106
+ if (styleName === 'float') styleName = 'cssFloat';
7107
+ if (isCustomProperty) instance.style.setProperty(styleName, styleValue);else instance.style[styleName] = styleValue;
7108
+ } // Set attributes ...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7109
 
 
 
 
7110
 
7111
+ for (var name in attributes) {
7112
+ // Attributes are written in dash case
7113
+ var dashCase = filter ? name : attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, function (n) {
7114
+ return '-' + n.toLowerCase();
7115
+ }));
7116
+ if (typeof instance.getAttribute(dashCase) !== 'undefined') instance.setAttribute(dashCase, attributes[name]);
7117
  }
 
 
 
 
7118
 
7119
+ return;
7120
+ } else return false;
7121
+ }, function (style) {
7122
+ return style;
7123
+ });
7124
 
7125
+ 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
7126
+ 'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];
7127
+ // Extend animated with all the available THREE elements
7128
+ var apply = merge(createAnimatedComponent, false);
7129
+ var extendedAnimated = apply(domElements);
 
 
 
7130
 
7131
+ exports.apply = apply;
7132
+ exports.config = config;
7133
+ exports.update = update;
7134
+ exports.animated = extendedAnimated;
7135
+ exports.a = extendedAnimated;
7136
+ exports.interpolate = interpolate$1;
7137
+ exports.Globals = Globals;
7138
+ exports.useSpring = useSpring;
7139
+ exports.useTrail = useTrail;
7140
+ exports.useTransition = useTransition;
7141
+ exports.useChain = useChain;
7142
+ exports.useSprings = useSprings;
7143
 
 
 
 
7144
 
7145
  /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7146
 
7147
+ /***/ 183:
7148
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
7149
 
7150
+ "use strict";
7151
+ /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5);
7152
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
7153
+ /* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27);
7154
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1);
7155
+ /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);
7156
 
 
 
 
7157
 
 
7158
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7159
 
7160
 
7161
+ var MAX_SIGNED_31_BIT_INT = 1073741823;
7162
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};
 
7163
 
7164
+ function getUniqueId() {
7165
+ var key = '__global_unique_id__';
7166
+ return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;
7167
+ }
7168
 
7169
+ function objectIs(x, y) {
7170
+ if (x === y) {
7171
+ return x !== 0 || 1 / x === 1 / y;
7172
+ } else {
7173
+ return x !== x && y !== y;
7174
+ }
7175
+ }
 
 
 
 
 
 
 
7176
 
7177
+ function createEventEmitter(value) {
7178
+ var handlers = [];
7179
+ return {
7180
+ on: function on(handler) {
7181
+ handlers.push(handler);
7182
+ },
7183
+ off: function off(handler) {
7184
+ handlers = handlers.filter(function (h) {
7185
+ return h !== handler;
 
7186
  });
7187
+ },
7188
+ get: function get() {
7189
+ return value;
7190
+ },
7191
+ set: function set(newValue, changedBits) {
7192
+ value = newValue;
7193
+ handlers.forEach(function (handler) {
7194
+ return handler(value, changedBits);
7195
+ });
7196
+ }
7197
+ };
7198
+ }
7199
 
7200
+ function onlyChild(children) {
7201
+ return Array.isArray(children) ? children[0] : children;
7202
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7203
 
7204
+ function createReactContext(defaultValue, calculateChangedBits) {
7205
+ var _Provider$childContex, _Consumer$contextType;
 
 
 
 
 
 
 
 
 
7206
 
7207
+ var contextProp = '__create-react-context-' + getUniqueId() + '__';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7208
 
7209
+ var Provider = /*#__PURE__*/function (_Component) {
7210
+ Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(Provider, _Component);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7211
 
7212
+ function Provider() {
7213
+ var _this;
7214
 
7215
+ _this = _Component.apply(this, arguments) || this;
7216
+ _this.emitter = createEventEmitter(_this.props.value);
7217
+ return _this;
7218
+ }
 
 
 
 
 
 
 
 
 
 
7219
 
7220
+ var _proto = Provider.prototype;
7221
 
7222
+ _proto.getChildContext = function getChildContext() {
7223
+ var _ref;
 
7224
 
7225
+ return _ref = {}, _ref[contextProp] = this.emitter, _ref;
7226
+ };
7227
 
7228
+ _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
7229
+ if (this.props.value !== nextProps.value) {
7230
+ var oldValue = this.props.value;
7231
+ var newValue = nextProps.value;
7232
+ var changedBits;
7233
 
7234
+ if (objectIs(oldValue, newValue)) {
7235
+ changedBits = 0;
7236
+ } else {
7237
+ changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;
 
7238
 
7239
+ if (false) {}
7240
 
7241
+ changedBits |= 0;
 
 
7242
 
7243
+ if (changedBits !== 0) {
7244
+ this.emitter.set(nextProps.value, changedBits);
7245
+ }
7246
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7247
  }
7248
+ };
 
 
 
 
 
 
 
 
 
 
 
 
7249
 
7250
+ _proto.render = function render() {
7251
+ return this.props.children;
7252
+ };
7253
 
7254
+ return Provider;
7255
+ }(react__WEBPACK_IMPORTED_MODULE_0__["Component"]);
 
7256
 
7257
+ Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object.isRequired, _Provider$childContex);
 
7258
 
7259
+ var Consumer = /*#__PURE__*/function (_Component2) {
7260
+ Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(Consumer, _Component2);
 
 
 
7261
 
7262
+ function Consumer() {
7263
+ var _this2;
7264
 
7265
+ _this2 = _Component2.apply(this, arguments) || this;
7266
+ _this2.state = {
7267
+ value: _this2.getValue()
7268
+ };
7269
 
7270
+ _this2.onUpdate = function (newValue, changedBits) {
7271
+ var observedBits = _this2.observedBits | 0;
7272
 
7273
+ if ((observedBits & changedBits) !== 0) {
7274
+ _this2.setState({
7275
+ value: _this2.getValue()
7276
+ });
7277
+ }
7278
+ };
 
 
 
 
7279
 
7280
+ return _this2;
7281
+ }
7282
 
7283
+ var _proto2 = Consumer.prototype;
 
 
7284
 
7285
+ _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
7286
+ var observedBits = nextProps.observedBits;
7287
+ this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;
7288
+ };
7289
 
7290
+ _proto2.componentDidMount = function componentDidMount() {
7291
+ if (this.context[contextProp]) {
7292
+ this.context[contextProp].on(this.onUpdate);
7293
+ }
7294
 
7295
+ var observedBits = this.props.observedBits;
7296
+ this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;
7297
+ };
7298
 
7299
+ _proto2.componentWillUnmount = function componentWillUnmount() {
7300
+ if (this.context[contextProp]) {
7301
+ this.context[contextProp].off(this.onUpdate);
7302
+ }
7303
+ };
7304
+
7305
+ _proto2.getValue = function getValue() {
7306
+ if (this.context[contextProp]) {
7307
+ return this.context[contextProp].get();
7308
+ } else {
7309
+ return defaultValue;
7310
+ }
7311
+ };
7312
 
7313
+ _proto2.render = function render() {
7314
+ return onlyChild(this.props.children)(this.state.value);
7315
+ };
7316
 
7317
+ return Consumer;
7318
+ }(react__WEBPACK_IMPORTED_MODULE_0__["Component"]);
7319
 
7320
+ Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, _Consumer$contextType);
7321
+ return {
7322
+ Provider: Provider,
7323
+ Consumer: Consumer
7324
+ };
7325
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7326
 
7327
+ var index = react__WEBPACK_IMPORTED_MODULE_0___default.a.createContext || createReactContext;
7328
 
7329
+ /* harmony default export */ __webpack_exports__["a"] = (index);
 
 
 
 
 
 
 
 
 
7330
 
7331
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(80)))
7332
 
7333
  /***/ }),
7334
+
7335
+ /***/ 184:
 
 
 
 
7336
  /***/ (function(module, exports, __webpack_require__) {
7337
 
7338
+ var isarray = __webpack_require__(338)
7339
+
7340
+ /**
7341
+ * Expose `pathToRegexp`.
7342
+ */
7343
+ module.exports = pathToRegexp
7344
+ module.exports.parse = parse
7345
+ module.exports.compile = compile
7346
+ module.exports.tokensToFunction = tokensToFunction
7347
+ module.exports.tokensToRegExp = tokensToRegExp
7348
 
7349
+ /**
7350
+ * The main path matching regexp utility.
7351
+ *
7352
+ * @type {RegExp}
7353
+ */
7354
+ var PATH_REGEXP = new RegExp([
7355
+ // Match escaped characters that would otherwise appear in future matches.
7356
+ // This allows the user to escape special characters that won't transform.
7357
+ '(\\\\.)',
7358
+ // Match Express-style parameters and un-named parameters with a prefix
7359
+ // and optional suffixes. Matches appear as:
7360
+ //
7361
+ // "/:test(\\d+)?" => ["/", "test", "\d+", undefined, "?", undefined]
7362
+ // "/route(\\d+)" => [undefined, undefined, undefined, "\d+", undefined, undefined]
7363
+ // "/*" => ["/", undefined, undefined, undefined, undefined, "*"]
7364
+ '([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))'
7365
+ ].join('|'), 'g')
7366
 
7367
+ /**
7368
+ * Parse a string for the raw tokens.
7369
+ *
7370
+ * @param {string} str
7371
+ * @param {Object=} options
7372
+ * @return {!Array}
7373
+ */
7374
+ function parse (str, options) {
7375
+ var tokens = []
7376
+ var key = 0
7377
+ var index = 0
7378
+ var path = ''
7379
+ var defaultDelimiter = options && options.delimiter || '/'
7380
+ var res
7381
 
7382
+ while ((res = PATH_REGEXP.exec(str)) != null) {
7383
+ var m = res[0]
7384
+ var escaped = res[1]
7385
+ var offset = res.index
7386
+ path += str.slice(index, offset)
7387
+ index = offset + m.length
7388
 
7389
+ // Ignore already escaped sequences.
7390
+ if (escaped) {
7391
+ path += escaped[1]
7392
+ continue
7393
+ }
 
 
 
 
 
 
7394
 
7395
+ var next = str[index]
7396
+ var prefix = res[2]
7397
+ var name = res[3]
7398
+ var capture = res[4]
7399
+ var group = res[5]
7400
+ var modifier = res[6]
7401
+ var asterisk = res[7]
 
 
 
 
 
 
 
 
 
 
 
 
 
7402
 
7403
+ // Push the current path onto the tokens.
7404
+ if (path) {
7405
+ tokens.push(path)
7406
+ path = ''
7407
+ }
7408
 
7409
+ var partial = prefix != null && next != null && next !== prefix
7410
+ var repeat = modifier === '+' || modifier === '*'
7411
+ var optional = modifier === '?' || modifier === '*'
7412
+ var delimiter = res[2] || defaultDelimiter
7413
+ var pattern = capture || group
7414
 
7415
+ tokens.push({
7416
+ name: name || key++,
7417
+ prefix: prefix || '',
7418
+ delimiter: delimiter,
7419
+ optional: optional,
7420
+ repeat: repeat,
7421
+ partial: partial,
7422
+ asterisk: !!asterisk,
7423
+ pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')
7424
+ })
7425
+ }
7426
 
7427
+ // Match any characters still remaining.
7428
+ if (index < str.length) {
7429
+ path += str.substr(index)
7430
+ }
7431
 
7432
+ // If the path exists, push it onto the end.
7433
+ if (path) {
7434
+ tokens.push(path)
7435
+ }
7436
 
7437
+ return tokens
7438
+ }
7439
 
7440
  /**
7441
+ * Compile a string to a template function for the path.
7442
+ *
7443
+ * @param {string} str
7444
+ * @param {Object=} options
7445
+ * @return {!function(Object=, Object=)}
7446
  */
7447
+ function compile (str, options) {
7448
+ return tokensToFunction(parse(str, options), options)
7449
+ }
7450
 
7451
+ /**
7452
+ * Prettier encoding of URI path segments.
7453
+ *
7454
+ * @param {string}
7455
+ * @return {string}
7456
+ */
7457
+ function encodeURIComponentPretty (str) {
7458
+ return encodeURI(str).replace(/[\/?#]/g, function (c) {
7459
+ return '%' + c.charCodeAt(0).toString(16).toUpperCase()
7460
+ })
7461
+ }
7462
 
7463
+ /**
7464
+ * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.
7465
+ *
7466
+ * @param {string}
7467
+ * @return {string}
7468
+ */
7469
+ function encodeAsterisk (str) {
7470
+ return encodeURI(str).replace(/[?#]/g, function (c) {
7471
+ return '%' + c.charCodeAt(0).toString(16).toUpperCase()
7472
+ })
7473
+ }
7474
 
 
 
 
7475
  /**
7476
+ * Expose a method for transforming tokens into the path function.
7477
  */
7478
+ function tokensToFunction (tokens, options) {
7479
+ // Compile all the tokens into regexps.
7480
+ var matches = new Array(tokens.length)
7481
 
7482
+ // Compile all the patterns before compilation.
7483
+ for (var i = 0; i < tokens.length; i++) {
7484
+ if (typeof tokens[i] === 'object') {
7485
+ matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7486
  }
7487
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7488
 
7489
+ return function (obj, opts) {
7490
+ var path = ''
7491
+ var data = obj || {}
7492
+ var options = opts || {}
7493
+ var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent
7494
 
7495
+ for (var i = 0; i < tokens.length; i++) {
7496
+ var token = tokens[i]
7497
 
7498
+ if (typeof token === 'string') {
7499
+ path += token
7500
 
7501
+ continue
7502
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7503
 
7504
+ var value = data[token.name]
7505
+ var segment
 
 
 
7506
 
7507
+ if (value == null) {
7508
+ if (token.optional) {
7509
+ // Prepend partial segment prefixes.
7510
+ if (token.partial) {
7511
+ path += token.prefix
7512
+ }
7513
 
7514
+ continue
7515
+ } else {
7516
+ throw new TypeError('Expected "' + token.name + '" to be defined')
7517
+ }
7518
+ }
7519
 
7520
+ if (isarray(value)) {
7521
+ if (!token.repeat) {
7522
+ throw new TypeError('Expected "' + token.name + '" to not repeat, but received `' + JSON.stringify(value) + '`')
7523
+ }
 
 
 
 
 
 
 
7524
 
7525
+ if (value.length === 0) {
7526
+ if (token.optional) {
7527
+ continue
7528
+ } else {
7529
+ throw new TypeError('Expected "' + token.name + '" to not be empty')
7530
+ }
7531
+ }
7532
 
7533
+ for (var j = 0; j < value.length; j++) {
7534
+ segment = encode(value[j])
7535
 
7536
+ if (!matches[i].test(segment)) {
7537
+ throw new TypeError('Expected all "' + token.name + '" to match "' + token.pattern + '", but received `' + JSON.stringify(segment) + '`')
7538
+ }
7539
 
7540
+ path += (j === 0 ? token.prefix : token.delimiter) + segment
7541
+ }
7542
 
7543
+ continue
7544
+ }
7545
 
7546
+ segment = token.asterisk ? encodeAsterisk(value) : encode(value)
 
7547
 
7548
+ if (!matches[i].test(segment)) {
7549
+ throw new TypeError('Expected "' + token.name + '" to match "' + token.pattern + '", but received "' + segment + '"')
 
 
7550
  }
7551
+
7552
+ path += token.prefix + segment
7553
  }
7554
+
7555
+ return path
7556
  }
7557
+ }
7558
 
7559
+ /**
7560
+ * Escape a regular expression string.
7561
+ *
7562
+ * @param {string} str
7563
+ * @return {string}
7564
+ */
7565
+ function escapeString (str) {
7566
+ return str.replace(/([.+*?=^!:${}()[\]|\/\\])/g, '\\$1')
7567
  }
7568
 
7569
+ /**
7570
+ * Escape the capturing group by escaping special characters and meaning.
7571
+ *
7572
+ * @param {string} group
7573
+ * @return {string}
7574
+ */
7575
+ function escapeGroup (group) {
7576
+ return group.replace(/([=!:$\/()])/g, '\\$1')
7577
+ }
7578
 
7579
+ /**
7580
+ * Attach the keys as a property of the regexp.
7581
+ *
7582
+ * @param {!RegExp} re
7583
+ * @param {Array} keys
7584
+ * @return {!RegExp}
7585
+ */
7586
+ function attachKeys (re, keys) {
7587
+ re.keys = keys
7588
+ return re
7589
+ }
7590
 
7591
+ /**
7592
+ * Get the flags for a regexp from the options.
7593
+ *
7594
+ * @param {Object} options
7595
+ * @return {string}
7596
+ */
7597
+ function flags (options) {
7598
+ return options && options.sensitive ? '' : 'i'
7599
+ }
7600
 
7601
+ /**
7602
+ * Pull out keys from a regexp.
7603
+ *
7604
+ * @param {!RegExp} path
7605
+ * @param {!Array} keys
7606
+ * @return {!RegExp}
7607
+ */
7608
+ function regexpToRegexp (path, keys) {
7609
+ // Use a negative lookahead to match only capturing groups.
7610
+ var groups = path.source.match(/\((?!\?)/g)
7611
 
7612
+ if (groups) {
7613
+ for (var i = 0; i < groups.length; i++) {
7614
+ keys.push({
7615
+ name: i,
7616
+ prefix: null,
7617
+ delimiter: null,
7618
+ optional: false,
7619
+ repeat: false,
7620
+ partial: false,
7621
+ asterisk: false,
7622
+ pattern: null
7623
+ })
7624
+ }
7625
+ }
7626
 
7627
+ return attachKeys(path, keys)
7628
+ }
7629
 
7630
+ /**
7631
+ * Transform an array into a regexp.
7632
+ *
7633
+ * @param {!Array} path
7634
+ * @param {Array} keys
7635
+ * @param {!Object} options
7636
+ * @return {!RegExp}
7637
+ */
7638
+ function arrayToRegexp (path, keys, options) {
7639
+ var parts = []
7640
 
7641
+ for (var i = 0; i < path.length; i++) {
7642
+ parts.push(pathToRegexp(path[i], keys, options).source)
7643
+ }
7644
 
7645
+ var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))
 
7646
 
7647
+ return attachKeys(regexp, keys)
7648
+ }
7649
 
7650
+ /**
7651
+ * Create a path regexp from string input.
7652
+ *
7653
+ * @param {string} path
7654
+ * @param {!Array} keys
7655
+ * @param {!Object} options
7656
+ * @return {!RegExp}
7657
+ */
7658
+ function stringToRegexp (path, keys, options) {
7659
+ return tokensToRegExp(parse(path, options), keys, options)
7660
+ }
7661
 
7662
+ /**
7663
+ * Expose a function for taking tokens and returning a RegExp.
7664
+ *
7665
+ * @param {!Array} tokens
7666
+ * @param {(Array|Object)=} keys
7667
+ * @param {Object=} options
7668
+ * @return {!RegExp}
7669
+ */
7670
+ function tokensToRegExp (tokens, keys, options) {
7671
+ if (!isarray(keys)) {
7672
+ options = /** @type {!Object} */ (keys || options)
7673
+ keys = []
7674
+ }
7675
 
7676
+ options = options || {}
 
7677
 
7678
+ var strict = options.strict
7679
+ var end = options.end !== false
7680
+ var route = ''
7681
 
7682
+ // Iterate over the tokens and create our regexp string.
7683
+ for (var i = 0; i < tokens.length; i++) {
7684
+ var token = tokens[i]
7685
 
7686
+ if (typeof token === 'string') {
7687
+ route += escapeString(token)
7688
+ } else {
7689
+ var prefix = escapeString(token.prefix)
7690
+ var capture = '(?:' + token.pattern + ')'
7691
 
7692
+ keys.push(token)
 
 
7693
 
7694
+ if (token.repeat) {
7695
+ capture += '(?:' + prefix + capture + ')*'
7696
+ }
7697
 
7698
+ if (token.optional) {
7699
+ if (!token.partial) {
7700
+ capture = '(?:' + prefix + '(' + capture + '))?'
7701
+ } else {
7702
+ capture = prefix + '(' + capture + ')?'
7703
+ }
7704
+ } else {
7705
+ capture = prefix + '(' + capture + ')'
7706
+ }
7707
 
7708
+ route += capture
7709
+ }
7710
+ }
7711
 
7712
+ var delimiter = escapeString(options.delimiter || '/')
7713
+ var endsWithDelimiter = route.slice(-delimiter.length) === delimiter
 
7714
 
7715
+ // In non-strict mode we allow a slash at the end of match. If the path to
7716
+ // match already ends with a slash, we remove it for consistency. The slash
7717
+ // is valid at the end of a path match, not in the middle. This is important
7718
+ // in non-ending mode, where "/test/" shouldn't match "/test//route".
7719
+ if (!strict) {
7720
+ route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'
7721
+ }
7722
 
7723
+ if (end) {
7724
+ route += '$'
7725
+ } else {
7726
+ // In non-ending mode, we need the capturing groups to match as much as
7727
+ // possible by using a positive lookahead to the end or next path segment.
7728
+ route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'
7729
+ }
7730
 
7731
+ return attachKeys(new RegExp('^' + route, flags(options)), keys)
7732
+ }
7733
 
7734
+ /**
7735
+ * Normalize the given path string, returning a regular expression.
7736
+ *
7737
+ * An empty array can be passed in for the keys, which will hold the
7738
+ * placeholder key descriptions. For example, using `/user/:id`, `keys` will
7739
+ * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.
7740
+ *
7741
+ * @param {(string|RegExp|Array)} path
7742
+ * @param {(Array|Object)=} keys
7743
+ * @param {Object=} options
7744
+ * @return {!RegExp}
7745
+ */
7746
+ function pathToRegexp (path, keys, options) {
7747
+ if (!isarray(keys)) {
7748
+ options = /** @type {!Object} */ (keys || options)
7749
+ keys = []
7750
+ }
7751
 
7752
+ options = options || {}
 
7753
 
7754
+ if (path instanceof RegExp) {
7755
+ return regexpToRegexp(path, /** @type {!Array} */ (keys))
7756
+ }
7757
 
7758
+ if (isarray(path)) {
7759
+ return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)
7760
+ }
7761
 
7762
+ return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)
7763
+ }
7764
 
 
 
7765
 
7766
+ /***/ }),
 
7767
 
7768
+ /***/ 188:
7769
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
7770
 
7771
+ "use strict";
7772
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getUnreadNotesCount; });
7773
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return hasValidNotes; });
7774
+ /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
7775
+ /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);
7776
+ /**
7777
+ * External dependencies
7778
+ */
7779
 
7780
+ /**
7781
+ * Get the count of the unread notes from the received list.
7782
+ *
7783
+ * @param {Array} notes - List of notes, contains read and unread notes.
7784
+ * @param {number} lastRead - The timestamp that the user read a note.
7785
+ * @return {number} - Unread notes count.
7786
+ */
7787
 
7788
+ function getUnreadNotesCount(notes, lastRead) {
7789
+ const unreadNotes = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["filter"])(notes, note => {
7790
+ const {
7791
+ is_deleted: isDeleted,
7792
+ date_created_gmt: dateCreatedGmt,
7793
+ status
7794
+ } = note;
7795
 
7796
+ if (!isDeleted) {
7797
+ const unread = !lastRead || !dateCreatedGmt || new Date(dateCreatedGmt + 'Z').getTime() > lastRead;
7798
+ return unread && status === 'unactioned';
7799
+ }
7800
+ });
7801
+ return unreadNotes.length;
7802
+ }
7803
+ /**
7804
+ * Verifies if there are any valid notes in the list.
7805
+ *
7806
+ * @param {Array} notes - List of notes, contains read and unread notes.
7807
+ * @return {boolean} - Whether there are valid notes or not.
7808
+ */
7809
 
7810
+ function hasValidNotes(notes) {
7811
+ const validNotes = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["filter"])(notes, note => {
7812
+ const {
7813
+ is_deleted: isDeleted
7814
+ } = note;
7815
+ return !isDeleted;
7816
+ });
7817
+ return validNotes.length > 0;
7818
+ }
7819
 
7820
+ /***/ }),
 
 
7821
 
7822
+ /***/ 19:
7823
+ /***/ (function(module, exports, __webpack_require__) {
 
7824
 
7825
+ "use strict";
 
7826
 
 
 
7827
 
7828
+ Object.defineProperty(exports, "__esModule", {
7829
+ value: true
7830
+ });
7831
 
7832
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; /**
7833
+ * External Dependencies
7834
+ */
7835
 
 
 
 
7836
 
7837
+ /**
7838
+ * Internal Dependencies
7839
+ */
7840
 
 
 
7841
 
7842
+ var _react = __webpack_require__(5);
 
 
7843
 
7844
+ var _react2 = _interopRequireDefault(_react);
7845
 
7846
+ var _reactAddonsCreateFragment = __webpack_require__(82);
7847
 
7848
+ var _reactAddonsCreateFragment2 = _interopRequireDefault(_reactAddonsCreateFragment);
7849
 
7850
+ var _tokenize = __webpack_require__(85);
7851
 
7852
+ var _tokenize2 = _interopRequireDefault(_tokenize);
7853
 
7854
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
7855
 
7856
+ var currentMixedString = void 0;
7857
 
7858
+ function getCloseIndex(openIndex, tokens) {
7859
+ var openToken = tokens[openIndex],
7860
+ nestLevel = 0,
7861
+ token,
7862
+ i;
7863
+ for (i = openIndex + 1; i < tokens.length; i++) {
7864
+ token = tokens[i];
7865
+ if (token.value === openToken.value) {
7866
+ if (token.type === 'componentOpen') {
7867
+ nestLevel++;
7868
+ continue;
7869
+ }
7870
+ if (token.type === 'componentClose') {
7871
+ if (nestLevel === 0) {
7872
+ return i;
7873
+ }
7874
+ nestLevel--;
7875
+ }
7876
+ }
7877
+ }
7878
+ // if we get this far, there was no matching close token
7879
+ throw new Error('Missing closing component token `' + openToken.value + '`');
7880
+ }
7881
+
7882
+ function buildChildren(tokens, components) {
7883
+ var children = [],
7884
+ childrenObject = {},
7885
+ openComponent,
7886
+ clonedOpenComponent,
7887
+ openIndex,
7888
+ closeIndex,
7889
+ token,
7890
+ i,
7891
+ grandChildTokens,
7892
+ grandChildren,
7893
+ siblingTokens,
7894
+ siblings;
7895
+
7896
+ for (i = 0; i < tokens.length; i++) {
7897
+ token = tokens[i];
7898
+ if (token.type === 'string') {
7899
+ children.push(token.value);
7900
+ continue;
7901
+ }
7902
+ // component node should at least be set
7903
+ if (!components.hasOwnProperty(token.value) || typeof components[token.value] === 'undefined') {
7904
+ throw new Error('Invalid interpolation, missing component node: `' + token.value + '`');
7905
+ }
7906
+ // should be either ReactElement or null (both type "object"), all other types deprecated
7907
+ if (_typeof(components[token.value]) !== 'object') {
7908
+ throw new Error('Invalid interpolation, component node must be a ReactElement or null: `' + token.value + '`', '\n> ' + currentMixedString);
7909
+ }
7910
+ // we should never see a componentClose token in this loop
7911
+ if (token.type === 'componentClose') {
7912
+ throw new Error('Missing opening component token: `' + token.value + '`');
7913
+ }
7914
+ if (token.type === 'componentOpen') {
7915
+ openComponent = components[token.value];
7916
+ openIndex = i;
7917
+ break;
7918
+ }
7919
+ // componentSelfClosing token
7920
+ children.push(components[token.value]);
7921
+ continue;
7922
+ }
7923
 
7924
+ if (openComponent) {
7925
+ closeIndex = getCloseIndex(openIndex, tokens);
7926
+ grandChildTokens = tokens.slice(openIndex + 1, closeIndex);
7927
+ grandChildren = buildChildren(grandChildTokens, components);
7928
+ clonedOpenComponent = _react2.default.cloneElement(openComponent, {}, grandChildren);
7929
+ children.push(clonedOpenComponent);
7930
+
7931
+ if (closeIndex < tokens.length - 1) {
7932
+ siblingTokens = tokens.slice(closeIndex + 1);
7933
+ siblings = buildChildren(siblingTokens, components);
7934
+ children = children.concat(siblings);
7935
+ }
7936
+ }
7937
 
7938
+ if (children.length === 1) {
7939
+ return children[0];
7940
+ }
7941
 
7942
+ children.forEach(function (child, index) {
7943
+ if (child) {
7944
+ childrenObject['interpolation-child-' + index] = child;
7945
+ }
7946
+ });
7947
 
7948
+ return (0, _reactAddonsCreateFragment2.default)(childrenObject);
7949
+ }
7950
 
7951
+ function interpolate(options) {
7952
+ var mixedString = options.mixedString,
7953
+ components = options.components,
7954
+ throwErrors = options.throwErrors;
7955
 
 
7956
 
7957
+ currentMixedString = mixedString;
 
 
 
 
7958
 
7959
+ if (!components) {
7960
+ return mixedString;
7961
+ }
7962
 
7963
+ if ((typeof components === 'undefined' ? 'undefined' : _typeof(components)) !== 'object') {
7964
+ if (throwErrors) {
7965
+ throw new Error('Interpolation Error: unable to process `' + mixedString + '` because components is not an object');
7966
+ }
7967
 
7968
+ return mixedString;
7969
+ }
 
 
 
7970
 
7971
+ var tokens = (0, _tokenize2.default)(mixedString);
 
 
7972
 
7973
+ try {
7974
+ return buildChildren(tokens, components);
7975
+ } catch (error) {
7976
+ if (throwErrors) {
7977
+ throw new Error('Interpolation Error: unable to process `' + mixedString + '` because of error `' + error.message + '`');
7978
+ }
7979
 
7980
+ return mixedString;
7981
+ }
7982
+ };
 
7983
 
7984
+ exports.default = interpolate;
7985
+ //# sourceMappingURL=index.js.map
 
 
 
 
 
 
7986
 
7987
+ /***/ }),
 
7988
 
7989
+ /***/ 2:
7990
+ /***/ (function(module, exports) {
 
 
 
 
 
 
7991
 
7992
+ (function() { module.exports = window["wp"]["i18n"]; }());
 
7993
 
7994
+ /***/ }),
 
 
 
 
 
 
 
 
 
 
7995
 
7996
+ /***/ 20:
7997
+ /***/ (function(module, exports) {
7998
 
7999
+ (function() { module.exports = window["wp"]["apiFetch"]; }());
8000
 
8001
+ /***/ }),
 
8002
 
8003
+ /***/ 21:
8004
+ /***/ (function(module, exports) {
 
 
 
 
8005
 
8006
+ (function() { module.exports = window["wc"]["date"]; }());
 
 
8007
 
8008
+ /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
8009
 
8010
+ /***/ 22:
8011
+ /***/ (function(module, exports) {
8012
 
8013
+ (function() { module.exports = window["wc"]["experimental"]; }());
8014
 
8015
+ /***/ }),
 
 
8016
 
8017
+ /***/ 23:
8018
+ /***/ (function(module, exports) {
 
 
8019
 
8020
+ (function() { module.exports = window["wc"]["components"]; }());
 
8021
 
8022
+ /***/ }),
 
 
8023
 
8024
+ /***/ 24:
8025
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
8026
 
8027
+ "use strict";
8028
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutPropertiesLoose; });
8029
+ function _objectWithoutPropertiesLoose(source, excluded) {
8030
+ if (source == null) return {};
8031
+ var target = {};
8032
+ var sourceKeys = Object.keys(source);
8033
+ var key, i;
8034
 
8035
+ for (i = 0; i < sourceKeys.length; i++) {
8036
+ key = sourceKeys[i];
8037
+ if (excluded.indexOf(key) >= 0) continue;
8038
+ target[key] = source[key];
8039
+ }
 
8040
 
8041
+ return target;
8042
+ }
8043
 
8044
+ /***/ }),
8045
 
8046
+ /***/ 25:
8047
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
8048
 
8049
+ "use strict";
8050
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _extends; });
8051
+ function _extends() {
8052
+ _extends = Object.assign || function (target) {
8053
+ for (var i = 1; i < arguments.length; i++) {
8054
+ var source = arguments[i];
8055
 
8056
+ for (var key in source) {
8057
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
8058
+ target[key] = source[key];
8059
+ }
8060
+ }
8061
+ }
8062
 
8063
+ return target;
 
8064
  };
8065
 
8066
+ return _extends.apply(this, arguments);
8067
+ }
 
8068
 
8069
+ /***/ }),
 
 
8070
 
8071
+ /***/ 27:
8072
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
8073
 
8074
+ "use strict";
 
8075
 
8076
+ // EXPORTS
8077
+ __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _inheritsLoose; });
 
8078
 
8079
+ // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
8080
+ function _setPrototypeOf(o, p) {
8081
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
8082
+ o.__proto__ = p;
8083
+ return o;
8084
+ };
8085
+
8086
+ return _setPrototypeOf(o, p);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8087
  }
8088
+ // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js
8089
 
8090
+ function _inheritsLoose(subClass, superClass) {
8091
+ subClass.prototype = Object.create(superClass.prototype);
8092
+ subClass.prototype.constructor = subClass;
8093
+ _setPrototypeOf(subClass, superClass);
8094
+ }
8095
 
8096
+ /***/ }),
 
 
8097
 
8098
+ /***/ 298:
8099
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
8100
 
8101
+ "use strict";
 
 
 
8102
 
8103
+ // EXPORTS
8104
+ __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ Fill; });
8105
+ __webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ DisplayOptions; });
 
 
8106
 
8107
+ // EXTERNAL MODULE: external ["wp","element"]
8108
+ var external_wp_element_ = __webpack_require__(0);
8109
 
8110
+ // EXTERNAL MODULE: external ["wp","components"]
8111
+ var external_wp_components_ = __webpack_require__(4);
 
 
8112
 
8113
+ // EXTERNAL MODULE: external ["wp","data"]
8114
+ var external_wp_data_ = __webpack_require__(7);
8115
+
8116
+ // EXTERNAL MODULE: external ["wp","i18n"]
8117
+ var external_wp_i18n_ = __webpack_require__(2);
8118
+
8119
+ // EXTERNAL MODULE: external ["wc","data"]
8120
+ var external_wc_data_ = __webpack_require__(11);
8121
+
8122
+ // EXTERNAL MODULE: external ["wc","tracks"]
8123
+ var external_wc_tracks_ = __webpack_require__(18);
8124
+
8125
+ // CONCATENATED MODULE: ./client/header/activity-panel/display-options/icons/display.js
8126
 
 
 
 
 
8127
 
8128
  /**
8129
+ * External dependencies
8130
  */
8131
 
8132
+ const DisplayIcon = () => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("svg", {
8133
+ className: "woocommerce-layout__activity-panel-tab-icon",
8134
+ width: "24",
8135
+ height: "24",
8136
+ viewBox: "3 3 24 24",
8137
+ fill: "none",
8138
+ xmlns: "http://www.w3.org/2000/svg"
8139
+ }, Object(external_wp_element_["createElement"])("path", {
8140
+ 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",
8141
+ strokeWidth: "1.5",
8142
+ strokeLinecap: "round",
8143
+ strokeLinejoin: "round"
8144
+ }), Object(external_wp_element_["createElement"])("path", {
8145
+ 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",
8146
+ strokeWidth: "1.5",
8147
+ strokeLinecap: "round",
8148
+ strokeLinejoin: "round"
8149
+ }), Object(external_wp_element_["createElement"])("path", {
8150
+ 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",
8151
+ strokeWidth: "1.5",
8152
+ strokeLinecap: "round",
8153
+ strokeLinejoin: "round"
8154
+ }), Object(external_wp_element_["createElement"])("path", {
8155
+ 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",
8156
+ strokeWidth: "1.5",
8157
+ strokeLinecap: "round",
8158
+ strokeLinejoin: "round"
8159
+ })), Object(external_wp_i18n_["__"])('Display', 'woocommerce-admin'));
8160
+ // CONCATENATED MODULE: ./client/header/activity-panel/display-options/icons/single-column.js
8161
 
8162
+ const SingleColumnIcon = () => Object(external_wp_element_["createElement"])("svg", {
8163
+ className: "woocommerce-layout__activity-panel-tab-icon",
8164
+ width: "12",
8165
+ height: "14",
8166
+ viewBox: "0 0 12 14",
8167
+ fill: "none",
8168
+ xmlns: "http://www.w3.org/2000/svg"
8169
+ }, Object(external_wp_element_["createElement"])("rect", {
8170
+ x: "0.5",
8171
+ y: "0.5",
8172
+ width: "11",
8173
+ height: "13",
8174
+ strokeWidth: "1"
8175
+ }));
8176
+ // CONCATENATED MODULE: ./client/header/activity-panel/display-options/icons/two-columns.js
8177
 
8178
+ const TwoColumnsIcon = () => Object(external_wp_element_["createElement"])("svg", {
8179
+ className: "woocommerce-layout__activity-panel-tab-icon",
8180
+ width: "18",
8181
+ height: "14",
8182
+ viewBox: "0 0 18 14",
8183
+ fill: "none",
8184
+ xmlns: "http://www.w3.org/2000/svg"
8185
+ }, Object(external_wp_element_["createElement"])("rect", {
8186
+ x: "0.5",
8187
+ y: "0.5",
8188
+ width: "7",
8189
+ height: "13",
8190
+ strokeWidth: "1"
8191
+ }), Object(external_wp_element_["createElement"])("rect", {
8192
+ x: "9.5",
8193
+ y: "0.5",
8194
+ width: "7",
8195
+ height: "13",
8196
+ strokeWidth: "1"
8197
+ }));
8198
+ // CONCATENATED MODULE: ./client/header/activity-panel/display-options/index.js
8199
 
 
 
 
 
 
 
 
 
 
 
8200
 
8201
+ /**
8202
+ * External dependencies
8203
+ */
8204
+
8205
 
 
 
 
8206
 
 
 
 
 
 
 
 
 
 
 
8207
 
 
 
 
 
8208
 
 
 
8209
  /**
8210
+ * Internal dependencies
8211
  */
8212
 
8213
 
 
 
 
 
8214
 
 
 
 
 
 
8215
 
8216
+ const {
8217
+ Fill,
8218
+ Slot
8219
+ } = Object(external_wp_components_["createSlotFill"])('DisplayOptions');
8220
+ Fill.Slot = Slot;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8221
 
8222
+ const LAYOUTS = [{
8223
+ value: 'single_column',
8224
+ label: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(SingleColumnIcon, null), Object(external_wp_i18n_["__"])('Single column', 'woocommerce-admin'))
8225
+ }, {
8226
+ value: 'two_columns',
8227
+ label: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(TwoColumnsIcon, null), Object(external_wp_i18n_["__"])('Two columns', 'woocommerce-admin'))
8228
+ }];
8229
+ const DisplayOptions = () => {
8230
+ const {
8231
+ defaultHomescreenLayout
8232
+ } = Object(external_wp_data_["useSelect"])(select => {
8233
+ const {
8234
+ getOption
8235
+ } = select(external_wc_data_["OPTIONS_STORE_NAME"]);
8236
  return {
8237
+ defaultHomescreenLayout: getOption('woocommerce_default_homepage_layout') || 'single_column'
 
 
 
 
 
 
 
 
 
8238
  };
8239
+ });
8240
+ const {
8241
+ updateUserPreferences,
8242
+ homepage_layout: layout
8243
+ } = Object(external_wc_data_["useUserPreferences"])();
8244
+ return Object(external_wp_element_["createElement"])(Slot, null, fills => Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], {
8245
+ icon: Object(external_wp_element_["createElement"])(DisplayIcon, null)
8246
+ /* translators: button label text should, if possible, be under 16 characters. */
8247
+ ,
8248
+ label: Object(external_wp_i18n_["__"])('Display options', 'woocommerce-admin'),
8249
+ toggleProps: {
8250
+ className: 'woocommerce-layout__activity-panel-tab display-options',
8251
+ onClick: () => Object(external_wc_tracks_["recordEvent"])('homescreen_display_click')
8252
+ },
8253
+ popoverProps: {
8254
+ className: 'woocommerce-layout__activity-panel-popover'
8255
+ }
8256
+ }, ({
8257
+ onClose
8258
+ }) => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, fills, Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], {
8259
+ className: "woocommerce-layout__homescreen-display-options",
8260
+ label: Object(external_wp_i18n_["__"])('Layout', 'woocommerce-admin')
8261
+ }, Object(external_wp_element_["createElement"])(external_wp_components_["MenuItemsChoice"], {
8262
+ choices: LAYOUTS,
8263
+ onSelect: newLayout => {
8264
+ updateUserPreferences({
8265
+ homepage_layout: newLayout
8266
+ });
8267
+ onClose();
8268
+ Object(external_wc_tracks_["recordEvent"])('homescreen_display_option', {
8269
+ display_option: newLayout
8270
+ });
8271
+ },
8272
+ value: layout || defaultHomescreenLayout
8273
+ })))));
8274
+ };
8275
 
8276
+ /***/ }),
 
 
8277
 
8278
+ /***/ 299:
8279
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 
 
 
 
8280
 
8281
+ "use strict";
8282
 
8283
+ // EXPORTS
8284
+ __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ ABBREVIATED_NOTIFICATION_SLOT_NAME; });
8285
+ __webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ AbbreviatedNotificationsPanel; });
 
8286
 
8287
+ // EXTERNAL MODULE: external ["wp","element"]
8288
+ var external_wp_element_ = __webpack_require__(0);
 
8289
 
8290
+ // EXTERNAL MODULE: external ["wp","i18n"]
8291
+ var external_wp_i18n_ = __webpack_require__(2);
8292
 
8293
+ // EXTERNAL MODULE: external ["wc","experimental"]
8294
+ var external_wc_experimental_ = __webpack_require__(22);
8295
 
8296
+ // EXTERNAL MODULE: external ["wc","tracks"]
8297
+ var external_wc_tracks_ = __webpack_require__(18);
 
 
 
8298
 
8299
+ // EXTERNAL MODULE: external ["wc","components"]
8300
+ var external_wc_components_ = __webpack_require__(23);
 
 
8301
 
8302
+ // EXTERNAL MODULE: external ["wp","data"]
8303
+ var external_wp_data_ = __webpack_require__(7);
 
 
 
8304
 
8305
+ // EXTERNAL MODULE: external ["wc","data"]
8306
+ var external_wc_data_ = __webpack_require__(11);
 
8307
 
8308
+ // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/page.js
8309
+ var page = __webpack_require__(541);
 
 
 
8310
 
8311
+ // EXTERNAL MODULE: external ["wp","primitives"]
8312
+ var external_wp_primitives_ = __webpack_require__(8);
8313
 
8314
+ // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/comment.js
8315
 
 
 
 
8316
 
8317
+ /**
8318
+ * WordPress dependencies
8319
+ */
 
 
 
8320
 
8321
+ var comment = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], {
8322
+ viewBox: "0 0 24 24",
8323
+ xmlns: "http://www.w3.org/2000/svg"
8324
+ }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], {
8325
+ d: "M18 4H6c-1.1 0-2 .9-2 2v12.9c0 .6.5 1.1 1.1 1.1.3 0 .5-.1.8-.3L8.5 17H18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H7.9l-2.4 2.4V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v9z"
8326
+ }));
8327
+ /* harmony default export */ var library_comment = (comment);
8328
+ //# sourceMappingURL=comment.js.map
8329
+ // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/box.js
8330
+ var box = __webpack_require__(542);
8331
 
8332
+ // EXTERNAL MODULE: external ["wp","components"]
8333
+ var external_wp_components_ = __webpack_require__(4);
8334
+
8335
+ // EXTERNAL MODULE: ./client/homescreen/activity-panel/orders/utils.js
8336
+ var utils = __webpack_require__(78);
8337
+
8338
+ // EXTERNAL MODULE: ./client/homescreen/activity-panel/reviews/utils.js
8339
+ var reviews_utils = __webpack_require__(120);
8340
+
8341
+ // EXTERNAL MODULE: ./client/dashboard/utils.js
8342
+ var dashboard_utils = __webpack_require__(70);
8343
+
8344
+ // CONCATENATED MODULE: ./client/header/activity-panel/panels/inbox/icons/bell.js
8345
+
8346
+ const Bell = () => Object(external_wp_element_["createElement"])("svg", {
8347
+ width: "24",
8348
+ height: "24",
8349
+ viewBox: "0 0 24 24",
8350
+ xmlns: "http://www.w3.org/2000/svg"
8351
+ }, Object(external_wp_element_["createElement"])("path", {
8352
+ d: "M0 0h24v24H0z",
8353
+ fill: "none"
8354
+ }), Object(external_wp_element_["createElement"])("path", {
8355
+ d: "M12 22c1.1 0 2-.9 2-2h-4c0 1.1.9 2 2 2zm6-6v-5c0-3.07-1.63-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.64 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2zm-2 1H8v-6c0-2.48 1.51-4.5 4-4.5s4 2.02 4 4.5v6z"
8356
+ }));
8357
+ // CONCATENATED MODULE: ./client/header/activity-panel/panels/inbox/abbreviated-notifications-panel.js
8358
 
 
 
 
 
 
8359
 
 
8360
  /**
8361
+ * External dependencies
 
 
 
8362
  */
8363
 
8364
 
 
 
 
 
8365
 
 
 
 
 
 
 
8366
 
 
8367
 
 
 
 
8368
 
 
 
 
8369
 
 
 
 
8370
 
8371
+ /**
8372
+ * Internal dependencies
8373
+ */
8374
 
 
 
8375
 
 
8376
 
 
 
 
 
 
 
 
 
 
 
8377
 
 
 
 
 
 
 
 
 
 
8378
 
8379
+ const EXTENDED_TASK_LIST_ID = 'extended_task_list';
8380
+ const ORDER_PANEL_ID = 'orders-panel';
8381
+ const REVIEWS_PANEL_ID = 'reviews-panel';
8382
+ const STOCK_PANEL_ID = 'stock-panel';
8383
+ const ABBREVIATED_NOTIFICATION_SLOT_NAME = 'AbbreviatedNotification';
8384
+ const AbbreviatedNotificationsPanel = ({
8385
+ thingsToDoNextCount
8386
+ }) => {
8387
+ const {
8388
+ ordersToProcessCount,
8389
+ reviewsToModerateCount,
8390
+ stockNoticesCount,
8391
+ isSetupTaskListHidden,
8392
+ isExtendedTaskListHidden
8393
+ } = Object(external_wp_data_["useSelect"])(select => {
8394
+ const {
8395
+ getOption
8396
+ } = select(external_wc_data_["OPTIONS_STORE_NAME"]);
8397
+ const orderStatuses = Object(utils["c" /* getOrderStatuses */])(select);
8398
+ return {
8399
+ ordersToProcessCount: Object(utils["d" /* getUnreadOrders */])(select, orderStatuses),
8400
+ reviewsToModerateCount: Object(reviews_utils["b" /* getUnapprovedReviews */])(select),
8401
+ stockNoticesCount: Object(utils["a" /* getLowStockCount */])(select),
8402
+ isSetupTaskListHidden: getOption('woocommerce_task_list_hidden') === 'yes',
8403
+ isExtendedTaskListHidden: getOption('woocommerce_extended_task_list_hidden') === 'yes'
8404
  };
8405
+ });
8406
+
8407
+ const trackAbbreviatedCardClick = name => {
8408
+ Object(external_wc_tracks_["recordEvent"])('activity_panel_click', {
8409
+ task: name
8410
+ });
8411
  };
8412
 
8413
+ const {
8414
+ Slot
8415
+ } = Object(external_wp_components_["createSlotFill"])(ABBREVIATED_NOTIFICATION_SLOT_NAME);
8416
+ const isWCAdminPage = Object(dashboard_utils["f" /* isWCAdmin */])(window.location.href);
8417
+ return Object(external_wp_element_["createElement"])("div", {
8418
+ className: "woocommerce-abbreviated-notifications"
8419
+ }, thingsToDoNextCount > 0 && !isExtendedTaskListHidden && Object(external_wp_element_["createElement"])(external_wc_components_["AbbreviatedCard"], {
8420
+ className: "woocommerce-abbreviated-notification",
8421
+ icon: Object(external_wp_element_["createElement"])(Bell, null),
8422
+ href: `admin.php?page=wc-admin#${EXTENDED_TASK_LIST_ID}`,
8423
+ onClick: () => trackAbbreviatedCardClick('thingsToDoNext'),
8424
+ type: isWCAdminPage ? 'wc-admin' : 'wp-admin'
8425
+ }, Object(external_wp_element_["createElement"])(external_wc_experimental_["Text"], {
8426
+ as: "h3"
8427
+ }, Object(external_wp_i18n_["__"])('Things to do next', 'woocommerce-admin')), Object(external_wp_element_["createElement"])(external_wc_experimental_["Text"], {
8428
+ as: "p"
8429
+ }, Object(external_wp_i18n_["sprintf"])(
8430
+ /* translators: Things the user has to do */
8431
+ Object(external_wp_i18n_["_n"])('You have %d new thing to do', 'You have %d new things to do', thingsToDoNextCount, 'woocommerce-admin'), thingsToDoNextCount))), ordersToProcessCount > 0 && isSetupTaskListHidden && Object(external_wp_element_["createElement"])(external_wc_components_["AbbreviatedCard"], {
8432
+ className: "woocommerce-abbreviated-notification",
8433
+ icon: page["a" /* default */],
8434
+ href: `admin.php?page=wc-admin&opened_panel=${ORDER_PANEL_ID}`,
8435
+ onClick: () => trackAbbreviatedCardClick('ordersToProcess'),
8436
+ type: isWCAdminPage ? 'wc-admin' : 'wp-admin'
8437
+ }, Object(external_wp_element_["createElement"])(external_wc_experimental_["Text"], {
8438
+ as: "h3"
8439
+ }, Object(external_wp_i18n_["__"])('Orders to fulfill', 'woocommerce-admin')), Object(external_wp_element_["createElement"])(external_wc_experimental_["Text"], null, Object(external_wp_i18n_["sprintf"])(
8440
+ /* translators: Number of orders the user has to fulfill */
8441
+ Object(external_wp_i18n_["_n"])('You have %d order to fulfill', 'You have %d orders to fulfill', ordersToProcessCount, 'woocommerce-admin'), ordersToProcessCount))), reviewsToModerateCount > 0 && isSetupTaskListHidden && Object(external_wp_element_["createElement"])(external_wc_components_["AbbreviatedCard"], {
8442
+ className: "woocommerce-abbreviated-notification",
8443
+ icon: library_comment,
8444
+ href: `admin.php?page=wc-admin&opened_panel=${REVIEWS_PANEL_ID}`,
8445
+ onClick: () => trackAbbreviatedCardClick('reviewsToModerate'),
8446
+ type: isWCAdminPage ? 'wc-admin' : 'wp-admin'
8447
+ }, Object(external_wp_element_["createElement"])(external_wc_experimental_["Text"], {
8448
+ as: "h3"
8449
+ }, Object(external_wp_i18n_["__"])('Reviews to moderate', 'woocommerce-admin')), Object(external_wp_element_["createElement"])(external_wc_experimental_["Text"], null, Object(external_wp_i18n_["sprintf"])(
8450
+ /* translators: Number of reviews the user has to moderate */
8451
+ Object(external_wp_i18n_["_n"])('You have %d review to moderate', 'You have %d reviews to moderate', reviewsToModerateCount, 'woocommerce-admin'), reviewsToModerateCount))), stockNoticesCount > 0 && isSetupTaskListHidden && Object(external_wp_element_["createElement"])(external_wc_components_["AbbreviatedCard"], {
8452
+ className: "woocommerce-abbreviated-notification",
8453
+ icon: box["a" /* default */],
8454
+ href: `admin.php?page=wc-admin&opened_panel=${STOCK_PANEL_ID}`,
8455
+ onClick: () => trackAbbreviatedCardClick('stockNotices'),
8456
+ type: isWCAdminPage ? 'wc-admin' : 'wp-admin'
8457
+ }, Object(external_wp_element_["createElement"])(external_wc_experimental_["Text"], {
8458
+ as: "h3"
8459
+ }, Object(external_wp_i18n_["__"])('Inventory to review', 'woocommerce-admin')), Object(external_wp_element_["createElement"])(external_wc_experimental_["Text"], null, Object(external_wp_i18n_["__"])('You have inventory to review and update', 'woocommerce-admin'))), !isExtendedTaskListHidden && Object(external_wp_element_["createElement"])(Slot, null));
8460
+ };
8461
+ /* harmony default export */ var abbreviated_notifications_panel = (AbbreviatedNotificationsPanel);
8462
+
8463
+ /***/ }),
8464
+
8465
+ /***/ 3:
8466
+ /***/ (function(module, exports) {
8467
 
8468
+ (function() { module.exports = window["lodash"]; }());
8469
 
8470
+ /***/ }),
 
 
8471
 
8472
+ /***/ 30:
8473
+ /***/ (function(module, exports) {
 
 
8474
 
8475
+ (function() { module.exports = window["wp"]["keycodes"]; }());
 
 
8476
 
8477
+ /***/ }),
8478
 
8479
+ /***/ 300:
8480
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
8481
 
8482
+ "use strict";
 
 
 
 
 
 
8483
 
8484
+ // EXPORTS
8485
+ __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ DEFAULT_ACTIONABLE_STATUSES; });
8486
+ __webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ config; });
 
 
 
 
 
 
 
 
 
 
 
 
8487
 
8488
+ // UNUSED EXPORTS: DEFAULT_ORDER_STATUSES, DEFAULT_DATE_RANGE
8489
+
8490
+ // EXTERNAL MODULE: external ["wp","element"]
8491
+ var external_wp_element_ = __webpack_require__(0);
8492
+
8493
+ // EXTERNAL MODULE: external ["wp","i18n"]
8494
+ var external_wp_i18n_ = __webpack_require__(2);
8495
+
8496
+ // EXTERNAL MODULE: external ["wp","hooks"]
8497
+ var external_wp_hooks_ = __webpack_require__(34);
8498
+
8499
+ // EXTERNAL MODULE: ./node_modules/interpolate-components/lib/index.js
8500
+ var lib = __webpack_require__(19);
8501
+ var lib_default = /*#__PURE__*/__webpack_require__.n(lib);
8502
+
8503
+ // EXTERNAL MODULE: ./client/wc-admin-settings/index.js
8504
+ var wc_admin_settings = __webpack_require__(17);
8505
+
8506
+ // EXTERNAL MODULE: ./node_modules/qs/lib/index.js
8507
+ var qs_lib = __webpack_require__(31);
8508
+
8509
+ // EXTERNAL MODULE: external ["wc","components"]
8510
+ var external_wc_components_ = __webpack_require__(23);
8511
+
8512
+ // EXTERNAL MODULE: external ["wc","data"]
8513
+ var external_wc_data_ = __webpack_require__(11);
8514
+
8515
+ // EXTERNAL MODULE: external ["wc","date"]
8516
+ var external_wc_date_ = __webpack_require__(21);
8517
+
8518
+ // CONCATENATED MODULE: ./client/analytics/settings/default-date.js
8519
 
 
8520
 
8521
  /**
8522
+ * External dependencies
8523
  */
8524
 
 
 
8525
 
 
 
 
8526
 
8527
+
8528
+
8529
+ const DefaultDate = ({
8530
+ value,
8531
+ onChange
8532
+ }) => {
8533
+ const {
8534
+ wcAdminSettings
8535
+ } = Object(external_wc_data_["useSettings"])('wc_admin', ['wcAdminSettings']);
8536
+ const {
8537
+ woocommerce_default_date_range: defaultDateRange
8538
+ } = wcAdminSettings;
8539
+
8540
+ const change = query => {
8541
+ onChange({
8542
+ target: {
8543
+ name: 'woocommerce_default_date_range',
8544
+ value: Object(qs_lib["stringify"])(query)
8545
+ }
8546
  });
8547
  };
8548
 
8549
+ const query = Object(qs_lib["parse"])(value.replace(/&amp;/g, '&'));
8550
+ const {
8551
+ period,
8552
+ compare,
8553
+ before,
8554
+ after
8555
+ } = Object(external_wc_date_["getDateParamsFromQuery"])(query, defaultDateRange);
8556
+ const {
8557
+ primary: primaryDate,
8558
+ secondary: secondaryDate
8559
+ } = Object(external_wc_date_["getCurrentDates"])(query, defaultDateRange);
8560
+ const dateQuery = {
8561
+ period,
8562
+ compare,
8563
+ before,
8564
+ after,
8565
+ primaryDate,
8566
+ secondaryDate
8567
+ };
8568
+ return Object(external_wp_element_["createElement"])(external_wc_components_["DateRangeFilterPicker"], {
8569
+ query: query,
8570
+ onRangeSelect: change,
8571
+ dateQuery: dateQuery,
8572
+ isoDateFormat: external_wc_date_["isoDateFormat"]
8573
+ });
8574
+ };
8575
 
8576
+ /* harmony default export */ var default_date = (DefaultDate);
8577
+ // CONCATENATED MODULE: ./client/analytics/settings/config.js
8578
 
 
 
8579
 
8580
+ /**
8581
+ * External dependencies
8582
+ */
8583
 
 
 
 
 
8584
 
 
 
 
 
8585
 
 
 
 
 
 
8586
 
8587
+ /**
8588
+ * Internal dependencies
8589
+ */
 
8590
 
 
8591
 
8592
+ const SETTINGS_FILTER = 'woocommerce_admin_analytics_settings';
8593
+ const DEFAULT_ACTIONABLE_STATUSES = ['processing', 'on-hold'];
8594
+ const DEFAULT_ORDER_STATUSES = ['completed', 'processing', 'refunded', 'cancelled', 'failed', 'pending', 'on-hold'];
8595
+ const DEFAULT_DATE_RANGE = 'period=month&compare=previous_year';
8596
+ const filteredOrderStatuses = Object.keys(wc_admin_settings["d" /* ORDER_STATUSES */]).filter(status => status !== 'refunded').map(key => {
8597
+ return {
8598
+ value: key,
8599
+ label: wc_admin_settings["d" /* ORDER_STATUSES */][key],
8600
+ description: Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('Exclude the %s status from reports', 'woocommerce-admin'), wc_admin_settings["d" /* ORDER_STATUSES */][key])
8601
+ };
8602
+ });
8603
+ const unregisteredOrderStatuses = Object(wc_admin_settings["h" /* getSetting */])('unregisteredOrderStatuses', {});
8604
+ const orderStatusOptions = [{
8605
+ key: 'defaultStatuses',
8606
+ options: filteredOrderStatuses.filter(status => DEFAULT_ORDER_STATUSES.includes(status.value))
8607
+ }, {
8608
+ key: 'customStatuses',
8609
+ label: Object(external_wp_i18n_["__"])('Custom Statuses', 'woocommerce-admin'),
8610
+ options: filteredOrderStatuses.filter(status => !DEFAULT_ORDER_STATUSES.includes(status.value))
8611
+ }, {
8612
+ key: 'unregisteredStatuses',
8613
+ label: Object(external_wp_i18n_["__"])('Unregistered Statuses', 'woocommerce-admin'),
8614
+ options: Object.keys(unregisteredOrderStatuses).map(key => {
8615
+ return {
8616
+ value: key,
8617
+ label: key,
8618
+ description: Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('Exclude the %s status from reports', 'woocommerce-admin'), key)
8619
+ };
8620
+ })
8621
+ }];
8622
+ const config = Object(external_wp_hooks_["applyFilters"])(SETTINGS_FILTER, {
8623
+ woocommerce_excluded_report_order_statuses: {
8624
+ label: Object(external_wp_i18n_["__"])('Excluded Statuses:', 'woocommerce-admin'),
8625
+ inputType: 'checkboxGroup',
8626
+ options: orderStatusOptions,
8627
+ helpText: lib_default()({
8628
+ mixedString: Object(external_wp_i18n_["__"])('Orders with these statuses are excluded from the totals in your reports. ' + 'The {{strong}}Refunded{{/strong}} status can not be excluded.', 'woocommerce-admin'),
8629
+ components: {
8630
+ strong: Object(external_wp_element_["createElement"])("strong", null)
8631
+ }
8632
+ }),
8633
+ defaultValue: ['pending', 'cancelled', 'failed']
8634
+ },
8635
+ woocommerce_actionable_order_statuses: {
8636
+ label: Object(external_wp_i18n_["__"])('Actionable Statuses:', 'woocommerce-admin'),
8637
+ inputType: 'checkboxGroup',
8638
+ options: orderStatusOptions,
8639
+ helpText: Object(external_wp_i18n_["__"])('Orders with these statuses require action on behalf of the store admin. ' + 'These orders will show up in the Home Screen - Orders task.', 'woocommerce-admin'),
8640
+ defaultValue: DEFAULT_ACTIONABLE_STATUSES
8641
+ },
8642
+ woocommerce_default_date_range: {
8643
+ name: 'woocommerce_default_date_range',
8644
+ label: Object(external_wp_i18n_["__"])('Default Date Range:', 'woocommerce-admin'),
8645
+ inputType: 'component',
8646
+ component: default_date,
8647
+ helpText: Object(external_wp_i18n_["__"])('Select a default date range. When no range is selected, reports will be viewed by ' + 'the default date range.', 'woocommerce-admin'),
8648
+ defaultValue: DEFAULT_DATE_RANGE
8649
+ }
8650
+ });
8651
+
8652
+ /***/ }),
8653
 
8654
+ /***/ 301:
8655
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
8656
 
8657
+ "use strict";
8658
+ /* WEBPACK VAR INJECTION */(function(process) {/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
8659
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
8660
+ /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
8661
+ /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__);
8662
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6);
8663
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
8664
+ /* harmony import */ var _wordpress_a11y__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(302);
8665
+ /* harmony import */ var _wordpress_a11y__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_a11y__WEBPACK_IMPORTED_MODULE_3__);
8666
+ /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2);
8667
+ /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
8668
+ /* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(303);
8669
+ /* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_warning__WEBPACK_IMPORTED_MODULE_5__);
8670
+ /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4);
8671
+ /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_6__);
8672
 
 
 
8673
 
8674
+ /**
8675
+ * External dependencies
8676
+ */
8677
 
 
 
8678
 
 
 
8679
 
 
 
8680
 
 
 
8681
 
 
 
8682
 
 
 
8683
 
8684
+ const NOTICE_TIMEOUT = 10000;
8685
+ /** @typedef {import('@wordpress/element').WPElement} WPElement */
8686
+
8687
+ /**
8688
+ * Custom hook which announces the message with the given politeness, if a
8689
+ * valid message is provided.
8690
+ *
8691
+ * @param {string|WPElement} [message] Message to announce.
8692
+ * @param {'polite'|'assertive'} politeness Politeness to announce.
8693
+ */
8694
+
8695
+ function useSpokenMessage(message, politeness) {
8696
+ const spokenMessage = typeof message === 'string' ? message : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["renderToString"])(message);
8697
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(() => {
8698
+ if (spokenMessage) {
8699
+ Object(_wordpress_a11y__WEBPACK_IMPORTED_MODULE_3__["speak"])(spokenMessage, politeness);
8700
+ }
8701
+ }, [spokenMessage, politeness]);
8702
+ }
8703
 
8704
+ function Snackbar({
8705
+ className,
8706
+ children,
8707
+ spokenMessage = children,
8708
+ politeness = 'polite',
8709
+ actions = [],
8710
+ onRemove = lodash__WEBPACK_IMPORTED_MODULE_1__["noop"],
8711
+ icon = null,
8712
+ explicitDismiss = false,
8713
+ // onDismiss is a callback executed when the snackbar is dismissed.
8714
+ // It is distinct from onRemove, which _looks_ like a callback but is
8715
+ // actually the function to call to remove the snackbar from the UI.
8716
+ onDismiss = null
8717
+ }, ref) {
8718
+ onDismiss = onDismiss || lodash__WEBPACK_IMPORTED_MODULE_1__["noop"];
8719
 
8720
+ function dismissMe(event) {
8721
+ if (event && event.preventDefault) {
8722
+ event.preventDefault();
8723
+ }
8724
 
8725
+ onDismiss();
8726
+ onRemove();
8727
+ }
8728
 
8729
+ function onActionClick(event, onClick) {
8730
+ event.stopPropagation();
8731
+ onRemove();
8732
 
8733
+ if (onClick) {
8734
+ onClick(event);
8735
+ }
8736
+ }
8737
 
8738
+ useSpokenMessage(spokenMessage, politeness); // Only set up the timeout dismiss if we're not explicitly dismissing.
 
8739
 
8740
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(() => {
8741
+ const timeoutHandle = setTimeout(() => {
8742
+ if (!explicitDismiss) {
8743
+ onDismiss();
8744
+ onRemove();
8745
+ }
8746
+ }, NOTICE_TIMEOUT);
8747
+ return () => clearTimeout(timeoutHandle);
8748
+ }, [explicitDismiss, onDismiss, onRemove]);
8749
+ const classes = classnames__WEBPACK_IMPORTED_MODULE_2___default()(className, 'components-snackbar', {
8750
+ 'components-snackbar-explicit-dismiss': !!explicitDismiss
8751
+ });
8752
 
8753
+ if (actions && actions.length > 1) {
8754
+ // we need to inform developers that snackbar only accepts 1 action
8755
+ typeof process !== "undefined" && process.env && "production" !== "production" ? _wordpress_warning__WEBPACK_IMPORTED_MODULE_5___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
8756
 
8757
+ actions = [actions[0]];
8758
+ }
8759
+
8760
+ const snackbarContentClassnames = classnames__WEBPACK_IMPORTED_MODULE_2___default()('components-snackbar__content', {
8761
+ 'components-snackbar__content-with-icon': !!icon
8762
+ });
8763
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
8764
+ ref: ref,
8765
+ className: classes,
8766
+ onClick: !explicitDismiss ? dismissMe : lodash__WEBPACK_IMPORTED_MODULE_1__["noop"],
8767
+ tabIndex: "0",
8768
+ role: !explicitDismiss ? 'button' : '',
8769
+ onKeyPress: !explicitDismiss ? dismissMe : lodash__WEBPACK_IMPORTED_MODULE_1__["noop"],
8770
+ "aria-label": !explicitDismiss ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Dismiss this notice') : ''
8771
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
8772
+ className: snackbarContentClassnames
8773
+ }, icon && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
8774
+ className: "components-snackbar__icon"
8775
+ }, icon), children, actions.map(({
8776
+ label,
8777
+ onClick,
8778
+ url
8779
+ }, index) => {
8780
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_6__["Button"], {
8781
+ key: index,
8782
+ href: url,
8783
+ isTertiary: true,
8784
+ onClick: event => onActionClick(event, onClick),
8785
+ className: "components-snackbar__action"
8786
+ }, label);
8787
+ }), explicitDismiss && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("span", {
8788
+ role: "button",
8789
+ "aria-label": "Dismiss this notice",
8790
+ tabIndex: "0",
8791
+ className: "components-snackbar__dismiss-button",
8792
+ onClick: dismissMe,
8793
+ onKeyPress: dismissMe
8794
+ }, "\u2715")));
8795
+ }
8796
+
8797
+ /* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["forwardRef"])(Snackbar));
8798
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(148)))
8799
 
8800
+ /***/ }),
8801
 
8802
+ /***/ 302:
8803
+ /***/ (function(module, exports) {
8804
 
8805
+ (function() { module.exports = window["wp"]["a11y"]; }());
8806
 
8807
+ /***/ }),
8808
 
8809
+ /***/ 303:
8810
+ /***/ (function(module, exports) {
8811
 
8812
+ (function() { module.exports = window["wp"]["warning"]; }());
8813
 
8814
+ /***/ }),
8815
 
8816
+ /***/ 304:
8817
+ /***/ (function(module, exports) {
8818
 
8819
+ (function() { module.exports = window["wc"]["customerEffortScore"]; }());
8820
 
8821
+ /***/ }),
8822
 
8823
+ /***/ 31:
8824
+ /***/ (function(module, exports, __webpack_require__) {
8825
 
8826
+ "use strict";
8827
 
8828
 
8829
+ var stringify = __webpack_require__(63);
8830
+ var parse = __webpack_require__(64);
8831
+ var formats = __webpack_require__(38);
8832
 
8833
+ module.exports = {
8834
+ formats: formats,
8835
+ parse: parse,
8836
+ stringify: stringify
8837
+ };
8838
 
8839
 
8840
+ /***/ }),
8841
 
8842
+ /***/ 313:
8843
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
8844
 
8845
+ "use strict";
8846
 
8847
+ // EXPORTS
8848
+ __webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ customer_effort_score_tracks_container; });
8849
 
8850
+ // UNUSED EXPORTS: CustomerEffortScoreTracks
8851
 
8852
+ // NAMESPACE OBJECT: ./client/customer-effort-score-tracks/data/actions.js
8853
+ var actions_namespaceObject = {};
8854
+ __webpack_require__.r(actions_namespaceObject);
8855
+ __webpack_require__.d(actions_namespaceObject, "setCesSurveyQueue", function() { return setCesSurveyQueue; });
8856
+ __webpack_require__.d(actions_namespaceObject, "addCesSurvey", function() { return addCesSurvey; });
8857
+ __webpack_require__.d(actions_namespaceObject, "addCesSurveyForAnalytics", function() { return addCesSurveyForAnalytics; });
8858
+ __webpack_require__.d(actions_namespaceObject, "addCesSurveyForCustomerSearch", function() { return addCesSurveyForCustomerSearch; });
8859
 
8860
+ // NAMESPACE OBJECT: ./client/customer-effort-score-tracks/data/resolvers.js
8861
+ var resolvers_namespaceObject = {};
8862
+ __webpack_require__.r(resolvers_namespaceObject);
8863
+ __webpack_require__.d(resolvers_namespaceObject, "getCesSurveyQueue", function() { return resolvers_getCesSurveyQueue; });
8864
 
8865
+ // NAMESPACE OBJECT: ./client/customer-effort-score-tracks/data/selectors.js
8866
+ var selectors_namespaceObject = {};
8867
+ __webpack_require__.r(selectors_namespaceObject);
8868
+ __webpack_require__.d(selectors_namespaceObject, "getCesSurveyQueue", function() { return selectors_getCesSurveyQueue; });
8869
 
8870
+ // EXTERNAL MODULE: external ["wp","element"]
8871
+ var external_wp_element_ = __webpack_require__(0);
8872
 
8873
+ // EXTERNAL MODULE: ./node_modules/prop-types/index.js
8874
+ var prop_types = __webpack_require__(1);
8875
+ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
8876
 
8877
+ // EXTERNAL MODULE: external ["wc","tracks"]
8878
+ var external_wc_tracks_ = __webpack_require__(18);
 
8879
 
8880
+ // EXTERNAL MODULE: external ["wc","customerEffortScore"]
8881
+ var external_wc_customerEffortScore_ = __webpack_require__(304);
8882
+ var external_wc_customerEffortScore_default = /*#__PURE__*/__webpack_require__.n(external_wc_customerEffortScore_);
8883
 
8884
+ // EXTERNAL MODULE: external ["wp","compose"]
8885
+ var external_wp_compose_ = __webpack_require__(15);
8886
 
8887
+ // EXTERNAL MODULE: external ["wp","data"]
8888
+ var external_wp_data_ = __webpack_require__(7);
8889
 
8890
+ // EXTERNAL MODULE: external ["wc","data"]
8891
+ var external_wc_data_ = __webpack_require__(11);
8892
 
8893
+ // EXTERNAL MODULE: external ["wp","i18n"]
8894
+ var external_wp_i18n_ = __webpack_require__(2);
8895
 
8896
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/customer-effort-score-tracks.js
8897
 
8898
 
8899
  /**
8900
+ * External dependencies
8901
  */
8902
 
8903
 
8904
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8905
 
 
 
 
8906
 
 
 
 
 
 
 
8907
 
 
 
 
 
 
 
 
 
 
 
 
 
8908
 
 
 
 
 
 
 
 
 
8909
 
8910
+ const SHOWN_FOR_ACTIONS_OPTION_NAME = 'woocommerce_ces_shown_for_actions';
8911
+ const ADMIN_INSTALL_TIMESTAMP_OPTION_NAME = 'woocommerce_admin_install_timestamp';
8912
+ const ALLOW_TRACKING_OPTION_NAME = 'woocommerce_allow_tracking';
8913
+ /**
8914
+ * A CustomerEffortScore wrapper that uses tracks to track the selected
8915
+ * customer effort score.
8916
+ *
8917
+ * @param {Object} props Component props.
8918
+ * @param {string} props.action The action name sent to Tracks.
8919
+ * @param {Object} props.trackProps Additional props sent to Tracks.
8920
+ * @param {string} props.label The label displayed in the modal.
8921
+ * @param {string} props.onSubmitLabel The label displayed upon survey submission.
8922
+ * @param {Array} props.cesShownForActions The array of actions that the CES modal has been shown for.
8923
+ * @param {boolean} props.allowTracking Whether tracking is allowed or not.
8924
+ * @param {boolean} props.resolving Are values still being resolved.
8925
+ * @param {number} props.storeAgeInWeeks The age of the store in weeks.
8926
+ * @param {Function} props.updateOptions Function to update options.
8927
+ * @param {Function} props.createNotice Function to create a snackbar.
8928
+ */
8929
 
8930
+ function CustomerEffortScoreTracks({
8931
+ action,
8932
+ trackProps,
8933
+ label,
8934
+ onSubmitLabel = Object(external_wp_i18n_["__"])('Thank you for your feedback!', 'woocommerce-admin'),
8935
+ cesShownForActions,
8936
+ allowTracking,
8937
+ resolving,
8938
+ storeAgeInWeeks,
8939
+ updateOptions,
8940
+ createNotice
8941
+ }) {
8942
+ const [modalShown, setModalShown] = Object(external_wp_element_["useState"])(false);
8943
 
8944
+ if (resolving) {
8945
+ return null;
8946
+ } // Don't show if tracking is disallowed.
 
 
 
8947
 
 
 
 
 
8948
 
8949
+ if (!allowTracking) {
8950
+ return null;
8951
+ } // We only want to return null early if the modal was already shown
8952
+ // for this action *before* this component was initially instantiated.
8953
+ //
8954
+ // We want to make sure we still render CustomerEffortScore below
8955
+ // (we don't want to return null early), if the modal was shown for this
8956
+ // instantiation, so that the component doesn't go away while we are
8957
+ // still showing it.
8958
 
 
 
8959
 
8960
+ if (cesShownForActions.indexOf(action) !== -1 && !modalShown) {
8961
+ return null;
8962
  }
8963
 
8964
+ const onNoticeShown = () => {
8965
+ Object(external_wc_tracks_["recordEvent"])('ces_snackbar_view', {
8966
+ action,
8967
+ store_age: storeAgeInWeeks,
8968
+ ...trackProps
8969
+ });
8970
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8971
 
8972
+ const addActionToShownOption = () => {
8973
+ updateOptions({
8974
+ [SHOWN_FOR_ACTIONS_OPTION_NAME]: [action, ...cesShownForActions]
8975
+ });
8976
+ };
 
 
 
 
 
8977
 
8978
+ const onNoticeDismissed = () => {
8979
+ Object(external_wc_tracks_["recordEvent"])('ces_snackbar_dismiss', {
8980
+ action,
8981
+ store_age: storeAgeInWeeks,
8982
+ ...trackProps
8983
+ });
8984
+ addActionToShownOption();
8985
+ };
8986
 
8987
+ const onModalShown = () => {
8988
+ setModalShown(true);
8989
+ Object(external_wc_tracks_["recordEvent"])('ces_view', {
8990
+ action,
8991
+ store_age: storeAgeInWeeks,
8992
+ ...trackProps
8993
+ });
8994
+ addActionToShownOption();
8995
+ };
8996
 
8997
+ const recordScore = (score, comments) => {
8998
+ Object(external_wc_tracks_["recordEvent"])('ces_feedback', {
8999
+ action,
9000
+ score,
9001
+ comments: comments || '',
9002
+ store_age: storeAgeInWeeks,
9003
+ ...trackProps
9004
+ });
9005
+ createNotice('success', onSubmitLabel);
9006
+ };
9007
 
9008
+ return Object(external_wp_element_["createElement"])(external_wc_customerEffortScore_default.a, {
9009
+ recordScoreCallback: recordScore,
9010
+ label: label,
9011
+ onNoticeShownCallback: onNoticeShown,
9012
+ onNoticeDismissedCallback: onNoticeDismissed,
9013
+ onModalShownCallback: onModalShown,
9014
+ icon: Object(external_wp_element_["createElement"])("span", {
9015
+ style: {
9016
+ height: 21,
9017
+ width: 21
9018
+ },
9019
+ role: "img",
9020
+ "aria-label": Object(external_wp_i18n_["__"])('Pencil icon', 'woocommerce-admin')
9021
+ }, "\u270F\uFE0F")
9022
  });
9023
+ }
9024
 
9025
+ CustomerEffortScoreTracks.propTypes = {
9026
+ /**
9027
+ * The action name sent to Tracks.
9028
+ */
9029
+ action: prop_types_default.a.string.isRequired,
9030
 
9031
+ /**
9032
+ * Additional props sent to Tracks.
9033
+ */
9034
+ trackProps: prop_types_default.a.object,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9035
 
9036
+ /**
9037
+ * The label displayed in the modal.
9038
+ */
9039
+ label: prop_types_default.a.string.isRequired,
9040
 
9041
+ /**
9042
+ * The label for the snackbar that appears upon survey submission.
9043
+ */
9044
+ onSubmitLabel: prop_types_default.a.string,
 
 
 
9045
 
9046
+ /**
9047
+ * The array of actions that the CES modal has been shown for.
9048
+ */
9049
+ cesShownForActions: prop_types_default.a.arrayOf(prop_types_default.a.string).isRequired,
 
9050
 
9051
+ /**
9052
+ * Whether tracking is allowed or not.
9053
+ */
9054
+ allowTracking: prop_types_default.a.bool,
9055
 
9056
+ /**
9057
+ * Whether props are still being resolved.
9058
+ */
9059
+ resolving: prop_types_default.a.bool.isRequired,
9060
 
9061
+ /**
9062
+ * The age of the store in weeks.
9063
+ */
9064
+ storeAgeInWeeks: prop_types_default.a.number,
9065
 
9066
+ /**
9067
+ * Function to update options.
9068
+ */
9069
+ updateOptions: prop_types_default.a.func,
9070
 
9071
+ /**
9072
+ * Function to create a snackbar
9073
+ */
9074
+ createNotice: prop_types_default.a.func
9075
+ };
9076
 
9077
+ function getStoreAgeInWeeks(adminInstallTimestamp) {
9078
+ if (adminInstallTimestamp === 0) {
9079
+ return null;
9080
+ } // Date.now() is ms since Unix epoch, adminInstallTimestamp is in
9081
+ // seconds since Unix epoch.
9082
 
 
 
9083
 
9084
+ const storeAgeInMs = Date.now() - adminInstallTimestamp * 1000;
9085
+ const storeAgeInWeeks = Math.round(storeAgeInMs / external_wc_data_["WEEK"]);
9086
+ return storeAgeInWeeks;
9087
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9088
 
9089
+ /* harmony default export */ var customer_effort_score_tracks = (Object(external_wp_compose_["compose"])(Object(external_wp_data_["withSelect"])(select => {
9090
+ const {
9091
+ getOption,
9092
+ isResolving
9093
+ } = select(external_wc_data_["OPTIONS_STORE_NAME"]);
9094
+ const cesShownForActions = getOption(SHOWN_FOR_ACTIONS_OPTION_NAME) || [];
9095
+ const adminInstallTimestamp = getOption(ADMIN_INSTALL_TIMESTAMP_OPTION_NAME) || 0;
9096
+ const storeAgeInWeeks = getStoreAgeInWeeks(adminInstallTimestamp);
9097
+ const allowTrackingOption = getOption(ALLOW_TRACKING_OPTION_NAME) || 'no';
9098
+ const allowTracking = allowTrackingOption === 'yes';
9099
+ const resolving = isResolving('getOption', [SHOWN_FOR_ACTIONS_OPTION_NAME]) || storeAgeInWeeks === null || isResolving('getOption', [ADMIN_INSTALL_TIMESTAMP_OPTION_NAME]) || isResolving('getOption', [ALLOW_TRACKING_OPTION_NAME]);
9100
+ return {
9101
+ cesShownForActions,
9102
+ allowTracking,
9103
+ storeAgeInWeeks,
9104
+ resolving
9105
+ };
9106
+ }), Object(external_wp_data_["withDispatch"])(dispatch => {
9107
+ const {
9108
+ updateOptions
9109
+ } = dispatch(external_wc_data_["OPTIONS_STORE_NAME"]);
9110
+ const {
9111
+ createNotice
9112
+ } = dispatch('core/notices');
9113
+ return {
9114
+ updateOptions,
9115
+ createNotice
9116
+ };
9117
+ }))(CustomerEffortScoreTracks));
9118
+ // EXTERNAL MODULE: ./client/customer-effort-score-tracks/data/constants.js
9119
+ var constants = __webpack_require__(62);
9120
 
9121
+ // EXTERNAL MODULE: external ["wp","dataControls"]
9122
+ var external_wp_dataControls_ = __webpack_require__(10);
9123
 
9124
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/action-types.js
9125
+ const TYPES = {
9126
+ SET_CES_SURVEY_QUEUE: 'SET_CES_SURVEY_QUEUE',
9127
+ ADD_CES_SURVEY: 'ADD_CES_SURVEY'
9128
+ };
9129
+ /* harmony default export */ var action_types = (TYPES);
9130
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/actions.js
9131
  /**
9132
+ * External dependencies
9133
  */
9134
 
9135
+ /**
9136
+ * Internal dependencies
9137
+ */
 
 
 
 
 
 
 
 
9138
 
9139
 
9140
  /**
9141
+ * Initialize the state
9142
+ *
9143
+ * @param {Object} queue initial queue
9144
  */
9145
 
9146
+ function setCesSurveyQueue(queue) {
9147
+ return {
9148
+ type: action_types.SET_CES_SURVEY_QUEUE,
9149
+ queue
9150
+ };
9151
+ }
9152
+ /**
9153
+ * Add a new CES track to the state.
9154
+ *
9155
+ * @param {string} action action name for the survey
9156
+ * @param {string} label label for the snackback
9157
+ * @param {string} pageNow value of window.pagenow
9158
+ * @param {string} adminPage value of window.adminpage
9159
+ * @param {string} onsubmit_label label for the snackback onsubmit
9160
+ * @param {Object} props object for optional props
9161
+ */
9162
 
9163
+ function addCesSurvey(action, label, pageNow = window.pagenow, adminPage = window.adminpage, onsubmit_label = undefined, props = {}) {
9164
+ return {
9165
+ type: action_types.ADD_CES_SURVEY,
9166
+ action,
9167
+ label,
9168
+ pageNow,
9169
+ adminPage,
9170
+ onsubmit_label,
9171
+ props
9172
+ };
9173
+ }
9174
+ /**
9175
+ * Add a new CES survey track for the pages in Analytics menu
9176
+ */
9177
 
9178
+ function addCesSurveyForAnalytics() {
9179
+ 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');
9180
+ }
9181
+ /**
9182
+ * Add a new CES survey track on searching customers.
9183
+ */
9184
 
9185
+ function addCesSurveyForCustomerSearch() {
9186
+ 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, {
9187
+ search_area: 'customer'
9188
+ });
9189
+ }
9190
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/resolvers.js
9191
  /**
9192
  * External dependencies
9193
  */
9194
 
 
9195
  /**
9196
  * Internal dependencies
9197
  */
9198
 
9199
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9200
 
9201
+ function* resolvers_getCesSurveyQueue() {
9202
+ const response = yield Object(external_wp_dataControls_["apiFetch"])({
9203
+ path: `${constants["a" /* API_NAMESPACE */]}/options?options=${constants["b" /* QUEUE_OPTION_NAME */]}`
9204
+ });
9205
 
9206
+ if (response) {
9207
+ yield setCesSurveyQueue(response[constants["b" /* QUEUE_OPTION_NAME */]] || []);
9208
+ } else {
9209
+ throw new Error();
9210
  }
 
 
 
 
9211
  }
9212
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/selectors.js
9213
+ function selectors_getCesSurveyQueue(state) {
9214
+ return state.queue;
9215
  }
9216
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/reducer.js
 
 
 
9217
  /**
9218
+ * Internal dependencies
9219
  */
9220
 
9221
+ const DEFAULT_STATE = {
9222
+ queue: []
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9223
  };
 
9224
 
9225
+ const reducer = (state = DEFAULT_STATE, action) => {
9226
+ switch (action.type) {
9227
+ case action_types.SET_CES_SURVEY_QUEUE:
9228
+ return { ...state,
9229
+ queue: action.queue
9230
+ };
9231
 
9232
+ case action_types.ADD_CES_SURVEY:
9233
+ // Prevent duplicate
9234
+ const hasDuplicate = state.queue.filter(track => track.action === action.action);
9235
 
9236
+ if (hasDuplicate.length) {
9237
+ return state;
9238
+ }
9239
 
9240
+ const newTrack = {
9241
+ action: action.action,
9242
+ label: action.label,
9243
+ pagenow: action.pageNow,
9244
+ adminpage: action.adminPage,
9245
+ onSubmitLabel: action.onSubmitLabel,
9246
+ props: action.props
9247
+ };
9248
+ return { ...state,
9249
+ queue: [...state.queue, newTrack]
9250
+ };
9251
 
9252
+ default:
9253
+ return state;
9254
+ }
9255
+ };
9256
 
9257
+ /* harmony default export */ var data_reducer = (reducer);
9258
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/index.js
9259
  /**
9260
  * External dependencies
9261
  */
9262
 
9263
 
 
9264
  /**
9265
  * Internal dependencies
9266
  */
9267
 
9268
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9269
 
 
 
 
 
 
9270
 
 
 
 
 
9271
 
 
 
 
 
 
 
9272
 
9273
+ /* harmony default export */ var data = (Object(external_wp_data_["registerStore"])(constants["c" /* STORE_KEY */], {
9274
+ actions: actions_namespaceObject,
9275
+ selectors: selectors_namespaceObject,
9276
+ resolvers: resolvers_namespaceObject,
9277
+ controls: external_wp_dataControls_["controls"],
9278
+ reducer: data_reducer
9279
+ }));
9280
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/customer-effort-score-tracks-container.js
 
 
 
 
 
 
 
 
 
 
 
9281
 
9282
 
9283
  /**
9284
  * External dependencies
9285
  */
9286
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9287
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9288
 
9289
 
9290
  /**
9291
+ * Internal dependencies
9292
  */
9293
 
9294
 
9295
 
9296
 
 
9297
  /**
9298
+ * Maps the queue of CES tracks surveys to CustomerEffortScoreTracks
9299
+ * components. Note that generally there will only be a single survey per page
9300
+ * however this is designed to be flexible if multiple surveys per page are
9301
+ * added in the future.
9302
+ *
9303
+ * @param {Object} props Component props.
9304
+ * @param {Array} props.queue The queue of surveys.
9305
+ * @param {boolean} props.resolving Whether the queue is resolving.
9306
+ * @param {Function} props.clearQueue Sets up clearing of the queue on the next page load.
9307
  */
9308
 
9309
+ function CustomerEffortScoreTracksContainer({
9310
+ queue,
9311
+ resolving,
9312
+ clearQueue
9313
+ }) {
9314
+ if (resolving) {
9315
+ return null;
9316
+ }
9317
 
9318
+ const queueForPage = queue.filter(item => item.pagenow === window.pagenow && item.adminpage === window.adminpage);
9319
 
9320
+ if (queueForPage.length) {
9321
+ clearQueue();
9322
+ }
9323
 
9324
+ return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, queueForPage.map((item, index) => Object(external_wp_element_["createElement"])(customer_effort_score_tracks, {
9325
+ key: index,
9326
+ action: item.action,
9327
+ label: item.label,
9328
+ onSubmitLabel: item.onsubmit_label,
9329
+ trackProps: item.props || {}
9330
+ })));
9331
+ }
 
 
 
 
 
 
9332
 
9333
+ CustomerEffortScoreTracksContainer.propTypes = {
9334
+ /**
9335
+ * The queue of CES tracks surveys to display.
9336
+ */
9337
+ queue: prop_types_default.a.arrayOf(prop_types_default.a.object),
9338
 
9339
+ /**
9340
+ * If the queue option is being resolved.
9341
+ */
9342
+ resolving: prop_types_default.a.bool,
9343
+
9344
+ /**
9345
+ * Set up clearing the queue on the next page load.
9346
+ */
9347
+ clearQueue: prop_types_default.a.func
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9348
  };
9349
+ /* harmony default export */ var customer_effort_score_tracks_container = (Object(external_wp_compose_["compose"])(Object(external_wp_data_["withSelect"])(select => {
9350
+ const {
9351
+ getCesSurveyQueue,
9352
+ isResolving
9353
+ } = select(constants["c" /* STORE_KEY */]);
9354
+ const queue = getCesSurveyQueue();
9355
+ const resolving = isResolving('getOption', [constants["b" /* QUEUE_OPTION_NAME */]]);
9356
+ return {
9357
+ queue,
9358
+ resolving
9359
+ };
9360
+ }), Object(external_wp_data_["withDispatch"])(dispatch => {
9361
+ const {
9362
+ updateOptions
9363
+ } = dispatch(external_wc_data_["OPTIONS_STORE_NAME"]);
9364
+ return {
9365
+ clearQueue: () => {
9366
+ // This sets an option that should be used on the next page
9367
+ // load to clear the CES tracks queue for the current page (see
9368
+ // CustomerEffortScoreTracks.php) - clearing the queue
9369
+ // directly puts this into an infinite loop which is picked
9370
+ // up by React.
9371
+ updateOptions({
9372
+ woocommerce_clear_ces_tracks_queue_for_page: {
9373
+ pagenow: window.pagenow,
9374
+ adminpage: window.adminpage
9375
+ }
9376
+ });
9377
+ }
9378
+ };
9379
+ }))(CustomerEffortScoreTracksContainer));
9380
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/index.js
9381
 
 
 
9382
 
 
9383
 
9384
+ /***/ }),
9385
 
9386
+ /***/ 314:
9387
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
9388
 
9389
+ "use strict";
9390
+
9391
+ // EXPORTS
9392
+ __webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ EmbeddedBodyLayout; });
9393
 
9394
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js
9395
+ var helpers_extends = __webpack_require__(13);
9396
+ var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends);
9397
+
9398
+ // EXTERNAL MODULE: external ["wp","element"]
9399
+ var external_wp_element_ = __webpack_require__(0);
9400
 
9401
+ // EXTERNAL MODULE: external ["wp","hooks"]
9402
+ var external_wp_hooks_ = __webpack_require__(34);
9403
 
9404
+ // EXTERNAL MODULE: ./node_modules/qs/lib/index.js
9405
+ var lib = __webpack_require__(31);
9406
 
9407
+ // CONCATENATED MODULE: ./client/payments/payment-recommendations-wrapper.tsx
9408
 
9409
 
9410
  /**
9411
+ * External dependencies
9412
  */
9413
 
9414
+ /**
9415
+ * Internal dependencies
9416
+ */
9417
 
9418
+ const PaymentRecommendationsChunk = Object(external_wp_element_["lazy"])(() => __webpack_require__.e(/* import() | payment-recommendations */ 44).then(__webpack_require__.bind(null, 648)));
9419
+ const PaymentRecommendations = ({
9420
+ page,
9421
+ tab,
9422
+ section
9423
+ }) => {
9424
+ if (page === 'wc-settings' && tab === 'checkout' && !section) {
9425
+ return Object(external_wp_element_["createElement"])(external_wp_element_["Suspense"], {
9426
+ fallback: null
9427
+ }, Object(external_wp_element_["createElement"])(PaymentRecommendationsChunk, null));
9428
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9429
 
9430
+ return null;
9431
+ };
9432
+ // CONCATENATED MODULE: ./client/payments/index.ts
 
 
9433
 
9434
+ // EXTERNAL MODULE: ./client/embedded-body-layout/style.scss
9435
+ var style = __webpack_require__(339);
 
 
9436
 
9437
+ // CONCATENATED MODULE: ./client/embedded-body-layout/embedded-body-layout.tsx
 
 
 
 
 
 
 
 
 
 
 
 
9438
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9439
 
 
 
 
 
 
 
9440
 
9441
+ /**
9442
+ * External dependencies
9443
+ */
9444
 
 
 
 
 
 
 
 
 
9445
 
9446
+ /**
9447
+ * Internal dependencies
9448
+ */
9449
 
 
 
9450
 
 
 
 
9451
 
 
 
 
9452
 
9453
+ function isWPPage(params) {
9454
+ return params.page !== undefined;
9455
+ }
9456
 
9457
+ const EMBEDDED_BODY_COMPONENT_LIST = [PaymentRecommendations];
9458
+ /**
9459
+ * This component is appended to the bottom of the WooCommerce non-react pages (like settings).
9460
+ * You can add a component by writing a Fill component from slot-fill with the `embedded-body-layout` name.
9461
+ *
9462
+ * Each Fill component receives QueryParams, consisting of a page, tab, and section string.
9463
+ */
9464
 
9465
+ const EmbeddedBodyLayout = () => {
9466
+ const query = Object(lib["parse"])(location.search.substring(1));
9467
+ let queryParams = {
9468
+ page: '',
9469
+ tab: ''
9470
  };
9471
 
9472
+ if (isWPPage(query)) {
9473
+ queryParams = query;
9474
  }
9475
 
9476
+ const componentList = Object(external_wp_hooks_["applyFilters"])('woocommerce_admin_embedded_layout_components', EMBEDDED_BODY_COMPONENT_LIST, queryParams);
9477
+ return Object(external_wp_element_["createElement"])("div", {
9478
+ className: "woocommerce-embedded-layout__primary",
9479
+ id: "woocommerce-embedded-layout__primary"
9480
+ }, componentList.map((Comp, index) => {
9481
+ return Object(external_wp_element_["createElement"])(Comp, extends_default()({
9482
+ key: index
9483
+ }, queryParams));
9484
+ }));
9485
+ };
9486
+ // CONCATENATED MODULE: ./client/embedded-body-layout/index.ts
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9487
 
 
 
 
 
9488
 
9489
+ /***/ }),
 
 
 
9490
 
9491
+ /***/ 32:
9492
+ /***/ (function(module, exports) {
 
 
9493
 
9494
+ (function() { module.exports = window["wp"]["htmlEntities"]; }());
 
 
 
9495
 
9496
+ /***/ }),
 
 
 
9497
 
9498
+ /***/ 321:
9499
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
9500
 
9501
+ "use strict";
9502
+ __webpack_require__.r(__webpack_exports__);
9503
+ /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
9504
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
9505
+ /* harmony import */ var _wordpress_notices__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(146);
9506
+ /* harmony import */ var _wordpress_notices__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_notices__WEBPACK_IMPORTED_MODULE_1__);
9507
+ /* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11);
9508
+ /* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__);
9509
+ /* harmony import */ var _stylesheets_index_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(323);
9510
+ /* harmony import */ var _stylesheets_index_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_stylesheets_index_scss__WEBPACK_IMPORTED_MODULE_3__);
9511
+ /* harmony import */ var _layout__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(138);
9512
+ /* harmony import */ var _customer_effort_score_tracks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(313);
9513
+ /* harmony import */ var _embedded_body_layout__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(314);
9514
 
 
 
9515
 
9516
+ /**
9517
+ * External dependencies
9518
+ */
9519
 
 
9520
 
9521
 
9522
  /**
9523
+ * Internal dependencies
 
 
 
9524
  */
9525
 
 
 
 
9526
 
9527
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9528
 
9529
+ // Modify webpack pubilcPath at runtime based on location of WordPress Plugin.
9530
+ // eslint-disable-next-line no-undef,camelcase
 
 
 
 
 
 
 
 
9531
 
9532
+ __webpack_require__.p = global.wcAdminAssets.path;
9533
+ const appRoot = document.getElementById('root');
9534
+ const embeddedRoot = document.getElementById('woocommerce-embedded-root');
9535
+ const settingsGroup = 'wc_admin';
9536
+ const hydrateUser = window.wcSettings.currentUserData;
9537
 
9538
+ if (appRoot) {
9539
+ let HydratedPageLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__["withSettingsHydration"])(settingsGroup, window.wcSettings)(_layout__WEBPACK_IMPORTED_MODULE_4__[/* PageLayout */ "b"]);
9540
+ const hydrateSettings = window.wcSettings.preloadSettings && window.wcSettings.preloadSettings.general;
9541
 
9542
+ if (hydrateSettings) {
9543
+ HydratedPageLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__["withSettingsHydration"])('general', {
9544
+ general: window.wcSettings.preloadSettings.general
9545
+ })(HydratedPageLayout);
9546
+ }
9547
 
9548
+ if (hydrateUser) {
9549
+ HydratedPageLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__["withCurrentUserHydration"])(hydrateUser)(HydratedPageLayout);
9550
+ }
 
9551
 
9552
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(HydratedPageLayout, null), appRoot);
9553
+ } else if (embeddedRoot) {
9554
+ let HydratedEmbedLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__["withSettingsHydration"])(settingsGroup, window.wcSettings)(_layout__WEBPACK_IMPORTED_MODULE_4__[/* EmbedLayout */ "a"]);
 
 
 
 
9555
 
9556
+ if (hydrateUser) {
9557
+ HydratedEmbedLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__["withCurrentUserHydration"])(hydrateUser)(HydratedEmbedLayout);
9558
+ } // Render the header.
9559
 
 
 
 
 
 
 
9560
 
9561
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(HydratedEmbedLayout, null), embeddedRoot);
9562
+ embeddedRoot.classList.remove('is-embed-loading'); // Render notices just above the WP content div.
 
 
 
9563
 
9564
+ const wpBody = document.getElementById('wpbody-content');
9565
+ const wrap = wpBody.querySelector('.wrap.woocommerce') || wpBody.querySelector('.wrap');
9566
+ const noticeContainer = document.createElement('div');
9567
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
9568
+ className: "woocommerce-layout"
9569
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_layout__WEBPACK_IMPORTED_MODULE_4__[/* PrimaryLayout */ "c"], null)), wpBody.insertBefore(noticeContainer, wrap));
9570
+ const embeddedBodyContainer = document.createElement('div');
9571
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_embedded_body_layout__WEBPACK_IMPORTED_MODULE_6__[/* EmbeddedBodyLayout */ "a"], null), wpBody.insertBefore(embeddedBodyContainer, wrap.nextSibling));
9572
+ } // Render the CustomerEffortScoreTracksContainer only if
9573
+ // the feature flag is enabled.
9574
 
 
 
 
 
 
 
 
 
 
 
9575
 
9576
+ if (window.wcAdminFeatures && window.wcAdminFeatures['customer-effort-score-tracks'] === true) {
9577
+ // Set up customer effort score survey.
9578
+ (function () {
9579
+ const root = appRoot || embeddedRoot;
9580
+ 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));
9581
+ })();
9582
+ }
9583
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(80)))
9584
 
9585
+ /***/ }),
 
 
 
9586
 
9587
+ /***/ 323:
9588
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
9589
 
9590
+ // extracted by mini-css-extract-plugin
 
 
9591
 
9592
+ /***/ }),
 
 
9593
 
9594
+ /***/ 324:
9595
+ /***/ (function(module, exports) {
 
 
9596
 
9597
+ (function() { module.exports = window["wc"]["notices"]; }());
 
 
 
9598
 
9599
+ /***/ }),
 
 
9600
 
9601
+ /***/ 325:
9602
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
9603
 
9604
+ // extracted by mini-css-extract-plugin
 
 
 
 
 
 
 
 
 
 
9605
 
9606
+ /***/ }),
9607
 
9608
+ /***/ 326:
9609
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
9610
 
9611
+ // extracted by mini-css-extract-plugin
 
 
 
9612
 
9613
+ /***/ }),
 
 
9614
 
9615
+ /***/ 327:
9616
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
9617
 
9618
+ // extracted by mini-css-extract-plugin
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9619
 
9620
+ /***/ }),
 
 
 
9621
 
9622
+ /***/ 328:
9623
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
 
 
9624
 
9625
+ // extracted by mini-css-extract-plugin
 
 
 
9626
 
9627
+ /***/ }),
 
 
9628
 
9629
+ /***/ 329:
9630
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
9631
 
9632
+ // extracted by mini-css-extract-plugin
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9633
 
9634
+ /***/ }),
9635
 
9636
+ /***/ 33:
9637
+ /***/ (function(module, exports) {
9638
 
9639
+ (function() { module.exports = window["ReactDOM"]; }());
 
 
9640
 
9641
+ /***/ }),
9642
 
9643
+ /***/ 330:
9644
+ /***/ (function(module, exports, __webpack_require__) {
9645
 
9646
+ // extracted by mini-css-extract-plugin
 
 
9647
 
9648
+ /***/ }),
9649
 
9650
+ /***/ 331:
9651
+ /***/ (function(module, exports, __webpack_require__) {
9652
 
9653
+ // extracted by mini-css-extract-plugin
 
 
 
 
 
 
 
 
9654
 
9655
+ /***/ }),
 
9656
 
9657
+ /***/ 332:
9658
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
9659
 
9660
+ // extracted by mini-css-extract-plugin
 
9661
 
9662
+ /***/ }),
 
 
 
 
 
9663
 
9664
+ /***/ 333:
9665
+ /***/ (function(module, exports) {
 
 
 
 
 
9666
 
9667
+ function _objectWithoutPropertiesLoose(source, excluded) {
9668
+ if (source == null) return {};
9669
+ var target = {};
9670
+ var sourceKeys = Object.keys(source);
9671
+ var key, i;
9672
 
9673
+ for (i = 0; i < sourceKeys.length; i++) {
9674
+ key = sourceKeys[i];
9675
+ if (excluded.indexOf(key) >= 0) continue;
9676
+ target[key] = source[key];
9677
  }
9678
 
9679
+ return target;
9680
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9681
 
9682
+ module.exports = _objectWithoutPropertiesLoose;
9683
+ module.exports["default"] = module.exports, module.exports.__esModule = true;
9684
 
9685
+ /***/ }),
9686
 
9687
+ /***/ 334:
9688
+ /***/ (function(module, exports, __webpack_require__) {
9689
 
9690
+ var setPrototypeOf = __webpack_require__(335);
9691
 
9692
+ function _inheritsLoose(subClass, superClass) {
9693
+ subClass.prototype = Object.create(superClass.prototype);
9694
+ subClass.prototype.constructor = subClass;
9695
+ setPrototypeOf(subClass, superClass);
9696
+ }
9697
 
9698
+ module.exports = _inheritsLoose;
9699
+ module.exports["default"] = module.exports, module.exports.__esModule = true;
9700
 
9701
+ /***/ }),
9702
 
9703
+ /***/ 335:
9704
+ /***/ (function(module, exports) {
9705
 
9706
+ function _setPrototypeOf(o, p) {
9707
+ module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
9708
+ o.__proto__ = p;
9709
+ return o;
9710
+ };
9711
 
9712
+ module.exports["default"] = module.exports, module.exports.__esModule = true;
9713
+ return _setPrototypeOf(o, p);
9714
+ }
9715
 
9716
+ module.exports = _setPrototypeOf;
9717
+ module.exports["default"] = module.exports, module.exports.__esModule = true;
9718
 
9719
+ /***/ }),
9720
 
9721
+ /***/ 336:
9722
+ /***/ (function(module, exports) {
9723
 
9724
+ function _assertThisInitialized(self) {
9725
+ if (self === void 0) {
9726
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
9727
+ }
9728
 
9729
+ return self;
9730
+ }
9731
 
9732
+ module.exports = _assertThisInitialized;
9733
+ module.exports["default"] = module.exports, module.exports.__esModule = true;
9734
 
9735
+ /***/ }),
9736
 
9737
+ /***/ 337:
9738
+ /***/ (function(module, exports, __webpack_require__) {
9739
 
9740
+ // extracted by mini-css-extract-plugin
9741
 
9742
+ /***/ }),
 
 
9743
 
9744
+ /***/ 338:
9745
+ /***/ (function(module, exports) {
9746
 
9747
+ module.exports = Array.isArray || function (arr) {
9748
+ return Object.prototype.toString.call(arr) == '[object Array]';
9749
+ };
9750
 
9751
 
9752
+ /***/ }),
9753
 
9754
+ /***/ 339:
9755
+ /***/ (function(module, exports, __webpack_require__) {
9756
 
9757
+ // extracted by mini-css-extract-plugin
9758
 
9759
+ /***/ }),
9760
 
9761
+ /***/ 34:
9762
+ /***/ (function(module, exports) {
9763
 
9764
+ (function() { module.exports = window["wp"]["hooks"]; }());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9765
 
9766
+ /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
9767
 
9768
+ /***/ 38:
9769
+ /***/ (function(module, exports, __webpack_require__) {
9770
 
9771
+ "use strict";
 
9772
 
 
 
 
9773
 
9774
+ var replace = String.prototype.replace;
9775
+ var percentTwenties = /%20/g;
 
9776
 
9777
+ var Format = {
9778
+ RFC1738: 'RFC1738',
9779
+ RFC3986: 'RFC3986'
9780
+ };
9781
 
9782
+ module.exports = {
9783
+ 'default': Format.RFC3986,
9784
+ formatters: {
9785
+ RFC1738: function (value) {
9786
+ return replace.call(value, percentTwenties, '+');
9787
+ },
9788
+ RFC3986: function (value) {
9789
+ return String(value);
9790
+ }
9791
+ },
9792
+ RFC1738: Format.RFC1738,
9793
+ RFC3986: Format.RFC3986
9794
+ };
9795
 
 
 
 
 
 
 
 
9796
 
9797
+ /***/ }),
 
 
9798
 
9799
+ /***/ 4:
9800
+ /***/ (function(module, exports) {
 
9801
 
9802
+ (function() { module.exports = window["wp"]["components"]; }());
9803
 
9804
+ /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9805
 
9806
+ /***/ 44:
9807
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
 
9808
 
9809
+ "use strict";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9810
 
 
 
9811
 
9812
+ var formats = __webpack_require__(38);
 
 
9813
 
9814
+ var has = Object.prototype.hasOwnProperty;
9815
+ var isArray = Array.isArray;
 
 
9816
 
9817
+ var hexTable = (function () {
9818
+ var array = [];
9819
+ for (var i = 0; i < 256; ++i) {
9820
+ array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());
9821
  }
 
9822
 
9823
+ return array;
9824
+ }());
 
 
 
 
 
9825
 
9826
+ var compactQueue = function compactQueue(queue) {
9827
+ while (queue.length > 1) {
9828
+ var item = queue.pop();
9829
+ var obj = item.obj[item.prop];
9830
 
9831
+ if (isArray(obj)) {
9832
+ var compacted = [];
 
 
 
 
9833
 
9834
+ for (var j = 0; j < obj.length; ++j) {
9835
+ if (typeof obj[j] !== 'undefined') {
9836
+ compacted.push(obj[j]);
9837
+ }
9838
+ }
9839
 
9840
+ item.obj[item.prop] = compacted;
9841
+ }
9842
  }
9843
+ };
9844
 
9845
+ var arrayToObject = function arrayToObject(source, options) {
9846
+ var obj = options && options.plainObjects ? Object.create(null) : {};
9847
+ for (var i = 0; i < source.length; ++i) {
9848
+ if (typeof source[i] !== 'undefined') {
9849
+ obj[i] = source[i];
9850
+ }
9851
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9852
 
9853
+ return obj;
9854
+ };
9855
+
9856
+ var merge = function merge(target, source, options) {
9857
+ /* eslint no-param-reassign: 0 */
9858
+ if (!source) {
9859
+ return target;
9860
  }
9861
+
9862
+ if (typeof source !== 'object') {
9863
+ if (isArray(target)) {
9864
+ target.push(source);
9865
+ } else if (target && typeof target === 'object') {
9866
+ if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {
9867
+ target[source] = true;
9868
+ }
9869
+ } else {
9870
+ return [target, source];
9871
+ }
9872
+
9873
+ return target;
9874
  }
9875
+
9876
+ if (!target || typeof target !== 'object') {
9877
+ return [target].concat(source);
 
 
 
 
 
 
 
 
 
9878
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9879
 
9880
+ var mergeTarget = target;
9881
+ if (isArray(target) && !isArray(source)) {
9882
+ mergeTarget = arrayToObject(target, options);
9883
+ }
 
 
9884
 
9885
+ if (isArray(target) && isArray(source)) {
9886
+ source.forEach(function (item, i) {
9887
+ if (has.call(target, i)) {
9888
+ var targetItem = target[i];
9889
+ if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {
9890
+ target[i] = merge(targetItem, item, options);
9891
+ } else {
9892
+ target.push(item);
9893
+ }
9894
+ } else {
9895
+ target[i] = item;
9896
+ }
9897
+ });
9898
+ return target;
9899
+ }
9900
+
9901
+ return Object.keys(source).reduce(function (acc, key) {
9902
+ var value = source[key];
9903
+
9904
+ if (has.call(acc, key)) {
9905
+ acc[key] = merge(acc[key], value, options);
9906
+ } else {
9907
+ acc[key] = value;
9908
+ }
9909
+ return acc;
9910
+ }, mergeTarget);
9911
  };
 
9912
 
9913
+ var assign = function assignSingleSource(target, source) {
9914
+ return Object.keys(source).reduce(function (acc, key) {
9915
+ acc[key] = source[key];
9916
+ return acc;
9917
+ }, target);
 
 
 
 
 
 
 
 
 
 
 
 
 
9918
  };
 
 
9919
 
9920
+ var decode = function (str, decoder, charset) {
9921
+ var strWithoutPlus = str.replace(/\+/g, ' ');
9922
+ if (charset === 'iso-8859-1') {
9923
+ // unescape never throws, no try...catch needed:
9924
+ return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
9925
+ }
9926
+ // utf-8
9927
+ try {
9928
+ return decodeURIComponent(strWithoutPlus);
9929
+ } catch (e) {
9930
+ return strWithoutPlus;
9931
+ }
9932
+ };
9933
 
9934
+ var encode = function encode(str, defaultEncoder, charset, kind, format) {
9935
+ // This code was originally written by Brian White (mscdex) for the io.js core querystring library.
9936
+ // It has been adapted here for stricter adherence to RFC 3986
9937
+ if (str.length === 0) {
9938
+ return str;
9939
+ }
9940
 
9941
+ var string = str;
9942
+ if (typeof str === 'symbol') {
9943
+ string = Symbol.prototype.toString.call(str);
9944
+ } else if (typeof str !== 'string') {
9945
+ string = String(str);
9946
+ }
9947
 
9948
+ if (charset === 'iso-8859-1') {
9949
+ return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {
9950
+ return '%26%23' + parseInt($0.slice(2), 16) + '%3B';
9951
+ });
9952
+ }
9953
 
9954
+ var out = '';
9955
+ for (var i = 0; i < string.length; ++i) {
9956
+ var c = string.charCodeAt(i);
9957
 
9958
+ if (
9959
+ c === 0x2D // -
9960
+ || c === 0x2E // .
9961
+ || c === 0x5F // _
9962
+ || c === 0x7E // ~
9963
+ || (c >= 0x30 && c <= 0x39) // 0-9
9964
+ || (c >= 0x41 && c <= 0x5A) // a-z
9965
+ || (c >= 0x61 && c <= 0x7A) // A-Z
9966
+ || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )
9967
+ ) {
9968
+ out += string.charAt(i);
9969
+ continue;
9970
+ }
9971
 
9972
+ if (c < 0x80) {
9973
+ out = out + hexTable[c];
9974
+ continue;
9975
+ }
9976
 
9977
+ if (c < 0x800) {
9978
+ out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);
9979
+ continue;
9980
+ }
9981
 
9982
+ if (c < 0xD800 || c >= 0xE000) {
9983
+ out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);
9984
+ continue;
9985
+ }
9986
 
9987
+ i += 1;
9988
+ c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));
9989
+ out += hexTable[0xF0 | (c >> 18)]
9990
+ + hexTable[0x80 | ((c >> 12) & 0x3F)]
9991
+ + hexTable[0x80 | ((c >> 6) & 0x3F)]
9992
+ + hexTable[0x80 | (c & 0x3F)];
9993
+ }
9994
 
9995
+ return out;
9996
+ };
9997
 
9998
+ var compact = function compact(value) {
9999
+ var queue = [{ obj: { o: value }, prop: 'o' }];
10000
+ var refs = [];
10001
 
10002
+ for (var i = 0; i < queue.length; ++i) {
10003
+ var item = queue[i];
10004
+ var obj = item.obj[item.prop];
 
 
 
10005
 
10006
+ var keys = Object.keys(obj);
10007
+ for (var j = 0; j < keys.length; ++j) {
10008
+ var key = keys[j];
10009
+ var val = obj[key];
10010
+ if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {
10011
+ queue.push({ obj: obj, prop: key });
10012
+ refs.push(val);
10013
+ }
10014
+ }
10015
  }
10016
 
10017
+ compactQueue(queue);
 
 
 
 
 
10018
 
10019
+ return value;
10020
+ };
 
 
10021
 
10022
+ var isRegExp = function isRegExp(obj) {
10023
+ return Object.prototype.toString.call(obj) === '[object RegExp]';
10024
+ };
10025
 
10026
+ var isBuffer = function isBuffer(obj) {
10027
+ if (!obj || typeof obj !== 'object') {
10028
+ return false;
10029
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10030
 
10031
+ return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
10032
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10033
 
10034
+ var combine = function combine(a, b) {
10035
+ return [].concat(a, b);
10036
+ };
10037
 
10038
+ var maybeMap = function maybeMap(val, fn) {
10039
+ if (isArray(val)) {
10040
+ var mapped = [];
10041
+ for (var i = 0; i < val.length; i += 1) {
10042
+ mapped.push(fn(val[i]));
10043
+ }
10044
+ return mapped;
10045
+ }
10046
+ return fn(val);
10047
+ };
10048
 
10049
+ module.exports = {
10050
+ arrayToObject: arrayToObject,
10051
+ assign: assign,
10052
+ combine: combine,
10053
+ compact: compact,
10054
+ decode: decode,
10055
+ encode: encode,
10056
+ isBuffer: isBuffer,
10057
+ isRegExp: isRegExp,
10058
+ maybeMap: maybeMap,
10059
+ merge: merge
10060
+ };
10061
 
10062
 
10063
+ /***/ }),
10064
 
10065
+ /***/ 46:
10066
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
10067
 
10068
+ "use strict";
10069
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _defineProperty; });
10070
+ function _defineProperty(obj, key, value) {
10071
+ if (key in obj) {
10072
+ Object.defineProperty(obj, key, {
10073
+ value: value,
10074
+ enumerable: true,
10075
+ configurable: true,
10076
+ writable: true
10077
+ });
10078
+ } else {
10079
+ obj[key] = value;
10080
+ }
10081
 
10082
+ return obj;
10083
+ }
10084
 
10085
+ /***/ }),
10086
 
10087
+ /***/ 47:
10088
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
10089
 
10090
+ "use strict";
10091
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutProperties; });
10092
+ /* harmony import */ var _objectWithoutPropertiesLoose_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24);
10093
 
10094
+ function _objectWithoutProperties(source, excluded) {
10095
+ if (source == null) return {};
10096
+ var target = Object(_objectWithoutPropertiesLoose_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(source, excluded);
10097
+ var key, i;
10098
 
10099
+ if (Object.getOwnPropertySymbols) {
10100
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
10101
 
10102
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
10103
+ key = sourceSymbolKeys[i];
10104
+ if (excluded.indexOf(key) >= 0) continue;
10105
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
10106
+ target[key] = source[key];
10107
+ }
10108
  }
10109
 
10110
+ return target;
10111
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10112
 
10113
+ /***/ }),
 
 
10114
 
10115
+ /***/ 49:
10116
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
10117
 
10118
+ "use strict";
10119
+ var isProduction = "production" === 'production';
10120
+ var prefix = 'Invariant failed';
10121
+ function invariant(condition, message) {
10122
+ if (condition) {
10123
+ return;
10124
+ }
10125
+ if (isProduction) {
10126
+ throw new Error(prefix);
10127
+ }
10128
+ throw new Error(prefix + ": " + (message || ''));
10129
+ }
10130
 
10131
+ /* harmony default export */ __webpack_exports__["a"] = (invariant);
 
 
 
10132
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10133
 
10134
+ /***/ }),
 
 
 
 
10135
 
10136
+ /***/ 5:
10137
+ /***/ (function(module, exports) {
 
10138
 
10139
+ (function() { module.exports = window["React"]; }());
 
 
 
 
 
 
 
 
 
 
 
 
 
10140
 
10141
+ /***/ }),
 
 
 
 
10142
 
10143
+ /***/ 516:
10144
+ /***/ (function(module, exports) {
 
 
 
 
 
 
 
 
10145
 
10146
+ (function() { module.exports = window["wc"]["csvExport"]; }());
10147
 
10148
+ /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10149
 
10150
+ /***/ 54:
10151
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
10152
 
10153
+ "use strict";
 
 
10154
  /**
10155
+ * Copyright (c) 2013-present, Facebook, Inc.
10156
  *
10157
+ * This source code is licensed under the MIT license found in the
10158
+ * LICENSE file in the root directory of this source tree.
 
10159
  */
10160
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10161
 
10162
 
10163
+ var ReactPropTypesSecret = __webpack_require__(55);
 
 
10164
 
10165
+ function emptyFunction() {}
10166
+ function emptyFunctionWithReset() {}
10167
+ emptyFunctionWithReset.resetWarningCache = emptyFunction;
10168
 
10169
+ module.exports = function() {
10170
+ function shim(props, propName, componentName, location, propFullName, secret) {
10171
+ if (secret === ReactPropTypesSecret) {
10172
+ // It is still safe when called from React.
10173
+ return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10174
  }
10175
+ var err = new Error(
10176
+ 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
10177
+ 'Use PropTypes.checkPropTypes() to call them. ' +
10178
+ 'Read more at http://fb.me/use-check-prop-types'
10179
+ );
10180
+ err.name = 'Invariant Violation';
10181
+ throw err;
10182
  };
10183
+ shim.isRequired = shim;
10184
+ function getShim() {
10185
+ return shim;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10186
  };
10187
+ // Important!
10188
+ // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
10189
+ var ReactPropTypes = {
10190
+ array: shim,
10191
+ bool: shim,
10192
+ func: shim,
10193
+ number: shim,
10194
+ object: shim,
10195
+ string: shim,
10196
+ symbol: shim,
10197
 
10198
+ any: shim,
10199
+ arrayOf: getShim,
10200
+ element: shim,
10201
+ elementType: shim,
10202
+ instanceOf: getShim,
10203
+ node: shim,
10204
+ objectOf: getShim,
10205
+ oneOf: getShim,
10206
+ oneOfType: getShim,
10207
+ shape: getShim,
10208
+ exact: getShim,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10209
 
10210
+ checkPropTypes: emptyFunctionWithReset,
10211
+ resetWarningCache: emptyFunction
10212
+ };
10213
 
10214
+ ReactPropTypes.PropTypes = ReactPropTypes;
 
 
 
 
 
 
10215
 
10216
+ return ReactPropTypes;
10217
+ };
 
 
 
 
 
10218
 
 
 
 
 
 
 
 
10219
 
10220
+ /***/ }),
10221
 
10222
+ /***/ 540:
10223
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
10224
 
10225
+ "use strict";
10226
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
10227
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
10228
+ /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);
10229
+ /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
 
 
10230
 
 
 
 
 
 
 
 
10231
 
10232
+ /**
10233
+ * WordPress dependencies
10234
+ */
 
 
 
 
10235
 
10236
+ var close = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
10237
+ xmlns: "http://www.w3.org/2000/svg",
10238
+ viewBox: "0 0 24 24"
10239
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
10240
+ 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"
10241
+ }));
10242
+ /* harmony default export */ __webpack_exports__["a"] = (close);
10243
+ //# sourceMappingURL=close.js.map
10244
 
10245
+ /***/ }),
 
 
 
 
 
 
 
10246
 
10247
+ /***/ 541:
10248
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 
 
 
 
10249
 
10250
+ "use strict";
10251
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
10252
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
10253
+ /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);
10254
+ /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
 
10255
 
 
 
 
 
10256
 
10257
+ /**
10258
+ * WordPress dependencies
10259
+ */
 
 
 
10260
 
10261
+ var page = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
10262
+ xmlns: "http://www.w3.org/2000/svg",
10263
+ viewBox: "0 0 24 24"
10264
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
10265
+ d: "M7 5.5h10a.5.5 0 01.5.5v12a.5.5 0 01-.5.5H7a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM17 4H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V6a2 2 0 00-2-2zm-1 3.75H8v1.5h8v-1.5zM8 11h8v1.5H8V11zm6 3.25H8v1.5h6v-1.5z"
10266
+ }));
10267
+ /* harmony default export */ __webpack_exports__["a"] = (page);
10268
+ //# sourceMappingURL=page.js.map
10269
 
10270
+ /***/ }),
 
 
 
 
 
 
 
 
 
 
10271
 
10272
+ /***/ 542:
10273
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
10274
 
10275
+ "use strict";
10276
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
10277
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
10278
+ /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);
10279
+ /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
10280
 
 
10281
 
 
10282
  /**
10283
+ * WordPress dependencies
 
 
 
 
 
 
10284
  */
10285
 
10286
+ var box = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
10287
+ xmlns: "http://www.w3.org/2000/svg",
10288
+ viewBox: "0 0 24 24"
10289
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
10290
+ fillRule: "evenodd",
10291
+ d: "M5 5.5h14a.5.5 0 01.5.5v1.5a.5.5 0 01-.5.5H5a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM4 9.232A2 2 0 013 7.5V6a2 2 0 012-2h14a2 2 0 012 2v1.5a2 2 0 01-1 1.732V18a2 2 0 01-2 2H6a2 2 0 01-2-2V9.232zm1.5.268V18a.5.5 0 00.5.5h12a.5.5 0 00.5-.5V9.5h-13z",
10292
+ clipRule: "evenodd"
10293
+ }));
10294
+ /* harmony default export */ __webpack_exports__["a"] = (box);
10295
+ //# sourceMappingURL=box.js.map
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10296
 
10297
+ /***/ }),
10298
+
10299
+ /***/ 543:
10300
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
10301
+
10302
+ "use strict";
10303
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
10304
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
10305
+ /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);
10306
+ /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
10307
+
10308
+
10309
+ /**
10310
+ * WordPress dependencies
10311
+ */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10312
 
10313
+ var external = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
10314
+ xmlns: "http://www.w3.org/2000/svg",
10315
+ viewBox: "0 0 24 24"
10316
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
10317
+ d: "M18.2 17c0 .7-.6 1.2-1.2 1.2H7c-.7 0-1.2-.6-1.2-1.2V7c0-.7.6-1.2 1.2-1.2h3.2V4.2H7C5.5 4.2 4.2 5.5 4.2 7v10c0 1.5 1.2 2.8 2.8 2.8h10c1.5 0 2.8-1.2 2.8-2.8v-3.6h-1.5V17zM14.9 3v1.5h3.7l-6.4 6.4 1.1 1.1 6.4-6.4v3.7h1.5V3h-6.3z"
10318
+ }));
10319
+ /* harmony default export */ __webpack_exports__["a"] = (external);
10320
+ //# sourceMappingURL=external.js.map
10321
 
10322
+ /***/ }),
 
 
 
 
 
 
10323
 
10324
+ /***/ 544:
10325
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
10326
 
10327
+ "use strict";
10328
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
10329
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
10330
+ /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);
10331
+ /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
10332
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10333
 
10334
+ /**
10335
+ * WordPress dependencies
10336
+ */
10337
 
10338
+ var chevronLeft = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
10339
+ xmlns: "http://www.w3.org/2000/svg",
10340
+ viewBox: "0 0 24 24"
10341
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
10342
+ d: "M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z"
10343
+ }));
10344
+ /* harmony default export */ __webpack_exports__["a"] = (chevronLeft);
10345
+ //# sourceMappingURL=chevron-left.js.map
10346
 
10347
+ /***/ }),
 
 
 
 
 
 
10348
 
10349
+ /***/ 55:
10350
+ /***/ (function(module, exports, __webpack_require__) {
10351
 
10352
+ "use strict";
10353
+ /**
10354
+ * Copyright (c) 2013-present, Facebook, Inc.
10355
+ *
10356
+ * This source code is licensed under the MIT license found in the
10357
+ * LICENSE file in the root directory of this source tree.
10358
+ */
10359
 
 
 
 
 
 
10360
 
 
 
 
 
 
10361
 
10362
+ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
10363
+
10364
+ module.exports = ReactPropTypesSecret;
 
 
 
 
 
 
 
 
 
10365
 
10366
 
10367
  /***/ }),
10368
+
10369
+ /***/ 56:
10370
+ /***/ (function(module, exports, __webpack_require__) {
10371
 
10372
  "use strict";
 
 
 
 
 
10373
 
10374
 
10375
+ /**
10376
+ * Copyright (c) 2013-present, Facebook, Inc.
10377
+ *
10378
+ * This source code is licensed under the MIT license found in the
10379
+ * LICENSE file in the root directory of this source tree.
10380
+ *
10381
+ *
10382
+ */
10383
 
10384
+ function makeEmptyFunction(arg) {
10385
+ return function () {
10386
+ return arg;
10387
+ };
10388
+ }
10389
 
10390
+ /**
10391
+ * This function accepts and discards inputs; it has no side effects. This is
10392
+ * primarily useful idiomatically for overridable function endpoints which
10393
+ * always need to be callable, since JS lacks a null-call idiom ala Cocoa.
10394
+ */
10395
+ var emptyFunction = function emptyFunction() {};
10396
 
10397
+ emptyFunction.thatReturns = makeEmptyFunction;
10398
+ emptyFunction.thatReturnsFalse = makeEmptyFunction(false);
10399
+ emptyFunction.thatReturnsTrue = makeEmptyFunction(true);
10400
+ emptyFunction.thatReturnsNull = makeEmptyFunction(null);
10401
+ emptyFunction.thatReturnsThis = function () {
10402
+ return this;
10403
+ };
10404
+ emptyFunction.thatReturnsArgument = function (arg) {
10405
+ return arg;
10406
+ };
10407
 
10408
+ module.exports = emptyFunction;
10409
+
10410
+ /***/ }),
10411
+
10412
+ /***/ 58:
10413
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
10414
+
10415
+ "use strict";
10416
+
10417
+ // EXPORTS
10418
+ __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ createBrowserHistory; });
10419
+ __webpack_require__.d(__webpack_exports__, "c", function() { return /* binding */ createMemoryHistory; });
10420
+ __webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ createLocation; });
10421
+ __webpack_require__.d(__webpack_exports__, "e", function() { return /* binding */ locationsAreEqual; });
10422
+ __webpack_require__.d(__webpack_exports__, "d", function() { return /* binding */ createPath; });
10423
+
10424
+ // UNUSED EXPORTS: createHashHistory, parsePath
10425
+
10426
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
10427
+ var esm_extends = __webpack_require__(25);
10428
+
10429
+ // CONCATENATED MODULE: ./node_modules/resolve-pathname/esm/resolve-pathname.js
10430
+ function isAbsolute(pathname) {
10431
+ return pathname.charAt(0) === '/';
10432
  }
10433
 
10434
+ // About 1.5x faster than the two-arg version of Array#splice()
10435
+ function spliceOne(list, index) {
10436
+ for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {
10437
+ list[i] = list[k];
 
10438
  }
 
10439
 
10440
+ list.pop();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10441
  }
10442
 
10443
+ // This implementation is based heavily on node's url.parse
10444
+ function resolvePathname(to, from) {
10445
+ if (from === undefined) from = '';
10446
 
10447
+ var toParts = (to && to.split('/')) || [];
10448
+ var fromParts = (from && from.split('/')) || [];
10449
 
10450
+ var isToAbs = to && isAbsolute(to);
10451
+ var isFromAbs = from && isAbsolute(from);
10452
+ var mustEndAbs = isToAbs || isFromAbs;
10453
 
10454
+ if (to && isAbsolute(to)) {
10455
+ // to is absolute
10456
+ fromParts = toParts;
10457
+ } else if (toParts.length) {
10458
+ // to is relative, drop the filename
10459
+ fromParts.pop();
10460
+ fromParts = fromParts.concat(toParts);
10461
+ }
10462
 
10463
+ if (!fromParts.length) return '/';
 
10464
 
10465
+ var hasTrailingSlash;
10466
+ if (fromParts.length) {
10467
+ var last = fromParts[fromParts.length - 1];
10468
+ hasTrailingSlash = last === '.' || last === '..' || last === '';
10469
+ } else {
10470
+ hasTrailingSlash = false;
10471
+ }
10472
 
10473
+ var up = 0;
10474
+ for (var i = fromParts.length; i >= 0; i--) {
10475
+ var part = fromParts[i];
10476
 
10477
+ if (part === '.') {
10478
+ spliceOne(fromParts, i);
10479
+ } else if (part === '..') {
10480
+ spliceOne(fromParts, i);
10481
+ up++;
10482
+ } else if (up) {
10483
+ spliceOne(fromParts, i);
10484
+ up--;
10485
+ }
10486
+ }
10487
 
10488
+ if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');
 
10489
 
10490
+ if (
10491
+ mustEndAbs &&
10492
+ fromParts[0] !== '' &&
10493
+ (!fromParts[0] || !isAbsolute(fromParts[0]))
10494
+ )
10495
+ fromParts.unshift('');
10496
+
10497
+ var result = fromParts.join('/');
10498
 
10499
+ if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';
 
 
 
10500
 
10501
+ return result;
10502
+ }
10503
 
10504
+ /* harmony default export */ var resolve_pathname = (resolvePathname);
10505
 
10506
+ // CONCATENATED MODULE: ./node_modules/value-equal/esm/value-equal.js
10507
+ function value_equal_valueOf(obj) {
10508
+ return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);
10509
+ }
 
 
10510
 
10511
+ function valueEqual(a, b) {
10512
+ // Test for strict equality first.
10513
+ if (a === b) return true;
10514
 
10515
+ // Otherwise, if either of them == null they are not equal.
10516
+ if (a == null || b == null) return false;
10517
 
10518
+ if (Array.isArray(a)) {
10519
+ return (
10520
+ Array.isArray(b) &&
10521
+ a.length === b.length &&
10522
+ a.every(function(item, index) {
10523
+ return valueEqual(item, b[index]);
10524
+ })
10525
+ );
10526
+ }
10527
 
10528
+ if (typeof a === 'object' || typeof b === 'object') {
10529
+ var aValue = value_equal_valueOf(a);
10530
+ var bValue = value_equal_valueOf(b);
10531
 
10532
+ if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);
 
10533
 
10534
+ return Object.keys(Object.assign({}, a, b)).every(function(key) {
10535
+ return valueEqual(a[key], b[key]);
10536
+ });
10537
+ }
10538
 
10539
+ return false;
10540
+ }
10541
 
10542
+ /* harmony default export */ var value_equal = (valueEqual);
 
 
 
 
 
10543
 
10544
+ // EXTERNAL MODULE: ./node_modules/tiny-invariant/dist/tiny-invariant.esm.js
10545
+ var tiny_invariant_esm = __webpack_require__(49);
10546
 
10547
+ // CONCATENATED MODULE: ./node_modules/history/esm/history.js
10548
 
 
 
 
 
10549
 
 
 
 
 
10550
 
 
 
 
10551
 
 
 
 
 
 
10552
 
 
 
 
 
 
 
 
10553
 
10554
+ function addLeadingSlash(path) {
10555
+ return path.charAt(0) === '/' ? path : '/' + path;
10556
+ }
10557
+ function stripLeadingSlash(path) {
10558
+ return path.charAt(0) === '/' ? path.substr(1) : path;
10559
+ }
10560
+ function hasBasename(path, prefix) {
10561
+ return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;
10562
+ }
10563
+ function stripBasename(path, prefix) {
10564
+ return hasBasename(path, prefix) ? path.substr(prefix.length) : path;
10565
+ }
10566
+ function stripTrailingSlash(path) {
10567
+ return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;
10568
+ }
10569
+ function parsePath(path) {
10570
+ var pathname = path || '/';
10571
+ var search = '';
10572
+ var hash = '';
10573
+ var hashIndex = pathname.indexOf('#');
10574
 
10575
+ if (hashIndex !== -1) {
10576
+ hash = pathname.substr(hashIndex);
10577
+ pathname = pathname.substr(0, hashIndex);
10578
+ }
10579
+
10580
+ var searchIndex = pathname.indexOf('?');
10581
+
10582
+ if (searchIndex !== -1) {
10583
+ search = pathname.substr(searchIndex);
10584
+ pathname = pathname.substr(0, searchIndex);
10585
+ }
10586
 
 
10587
  return {
10588
+ pathname: pathname,
10589
+ search: search === '?' ? '' : search,
10590
+ hash: hash === '#' ? '' : hash
10591
  };
10592
  }
10593
+ function createPath(location) {
10594
+ var pathname = location.pathname,
10595
+ search = location.search,
10596
+ hash = location.hash;
10597
+ var path = pathname || '/';
10598
+ if (search && search !== '?') path += search.charAt(0) === '?' ? search : "?" + search;
10599
+ if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : "#" + hash;
10600
+ return path;
10601
+ }
10602
 
10603
+ function createLocation(path, state, key, currentLocation) {
10604
+ var location;
10605
 
10606
+ if (typeof path === 'string') {
10607
+ // Two-arg form: push(path, state)
10608
+ location = parsePath(path);
10609
+ location.state = state;
10610
+ } else {
10611
+ // One-arg form: push(location)
10612
+ location = Object(esm_extends["a" /* default */])({}, path);
10613
+ if (location.pathname === undefined) location.pathname = '';
10614
 
10615
+ if (location.search) {
10616
+ if (location.search.charAt(0) !== '?') location.search = '?' + location.search;
10617
+ } else {
10618
+ location.search = '';
10619
+ }
10620
 
10621
+ if (location.hash) {
10622
+ if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;
10623
+ } else {
10624
+ location.hash = '';
10625
+ }
10626
 
10627
+ if (state !== undefined && location.state === undefined) location.state = state;
10628
+ }
10629
 
10630
+ try {
10631
+ location.pathname = decodeURI(location.pathname);
10632
+ } catch (e) {
10633
+ if (e instanceof URIError) {
10634
+ throw new URIError('Pathname "' + location.pathname + '" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');
10635
+ } else {
10636
+ throw e;
10637
+ }
10638
+ }
10639
 
10640
+ if (key) location.key = key;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10641
 
10642
+ if (currentLocation) {
10643
+ // Resolve incomplete/relative pathname relative to current location.
10644
+ if (!location.pathname) {
10645
+ location.pathname = currentLocation.pathname;
10646
+ } else if (location.pathname.charAt(0) !== '/') {
10647
+ location.pathname = resolve_pathname(location.pathname, currentLocation.pathname);
10648
+ }
10649
+ } else {
10650
+ // When there is no prior location and pathname is empty, set it to /
10651
+ if (!location.pathname) {
10652
+ location.pathname = '/';
10653
+ }
10654
+ }
 
10655
 
10656
+ return location;
10657
+ }
10658
+ function locationsAreEqual(a, b) {
10659
+ return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && value_equal(a.state, b.state);
10660
+ }
10661
+
10662
+ function createTransitionManager() {
10663
+ var prompt = null;
10664
+
10665
+ function setPrompt(nextPrompt) {
10666
+ false ? undefined : void 0;
10667
+ prompt = nextPrompt;
10668
+ return function () {
10669
+ if (prompt === nextPrompt) prompt = null;
10670
+ };
10671
+ }
10672
 
10673
+ function confirmTransitionTo(location, action, getUserConfirmation, callback) {
10674
+ // TODO: If another transition starts while we're still confirming
10675
+ // the previous one, we may end up in a weird state. Figure out the
10676
+ // best way to handle this.
10677
+ if (prompt != null) {
10678
+ var result = typeof prompt === 'function' ? prompt(location, action) : prompt;
10679
+
10680
+ if (typeof result === 'string') {
10681
+ if (typeof getUserConfirmation === 'function') {
10682
+ getUserConfirmation(result, callback);
10683
+ } else {
10684
+ false ? undefined : void 0;
10685
+ callback(true);
10686
+ }
10687
+ } else {
10688
+ // Return false from a transition hook to cancel the transition.
10689
+ callback(result !== false);
10690
+ }
10691
+ } else {
10692
+ callback(true);
10693
  }
10694
+ }
10695
 
10696
+ var listeners = [];
 
 
 
 
 
 
10697
 
10698
+ function appendListener(fn) {
10699
+ var isActive = true;
 
 
 
10700
 
10701
+ function listener() {
10702
+ if (isActive) fn.apply(void 0, arguments);
10703
+ }
 
 
10704
 
10705
+ listeners.push(listener);
10706
+ return function () {
10707
+ isActive = false;
10708
+ listeners = listeners.filter(function (item) {
10709
+ return item !== listener;
10710
+ });
10711
+ };
 
 
 
10712
  }
10713
 
10714
+ function notifyListeners() {
10715
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
10716
+ args[_key] = arguments[_key];
10717
+ }
10718
 
10719
+ listeners.forEach(function (listener) {
10720
+ return listener.apply(void 0, args);
10721
+ });
10722
  }
10723
 
10724
+ return {
10725
+ setPrompt: setPrompt,
10726
+ confirmTransitionTo: confirmTransitionTo,
10727
+ appendListener: appendListener,
10728
+ notifyListeners: notifyListeners
10729
+ };
10730
  }
10731
 
10732
+ var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
10733
+ function getConfirmation(message, callback) {
10734
+ callback(window.confirm(message)); // eslint-disable-line no-alert
10735
+ }
10736
  /**
10737
+ * Returns true if the HTML5 history API is supported. Taken from Modernizr.
10738
  *
10739
+ * https://github.com/Modernizr/Modernizr/blob/master/LICENSE
10740
+ * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js
10741
+ * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586
10742
  */
 
 
 
10743
 
10744
+ function supportsHistory() {
10745
+ var ua = window.navigator.userAgent;
10746
+ 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;
10747
+ return window.history && 'pushState' in window.history;
10748
+ }
10749
  /**
10750
+ * Returns true if browser fires popstate on hash change.
10751
+ * IE10 and IE11 do not.
 
 
10752
  */
10753
+
10754
+ function supportsPopStateOnHashChange() {
10755
+ return window.navigator.userAgent.indexOf('Trident') === -1;
 
10756
  }
10757
+ /**
10758
+ * Returns false if using go(n) with hash history causes a full page reload.
10759
+ */
10760
 
10761
+ function supportsGoWithoutReloadUsingHash() {
10762
+ return window.navigator.userAgent.indexOf('Firefox') === -1;
10763
+ }
10764
  /**
10765
+ * Returns true if a given popstate event is an extraneous WebKit event.
10766
+ * Accounts for the fact that Chrome on iOS fires real popstate events
10767
+ * containing undefined state when pressing the back button.
 
10768
  */
10769
+
10770
+ function isExtraneousPopstateEvent(event) {
10771
+ return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;
 
10772
  }
10773
 
10774
+ var PopStateEvent = 'popstate';
10775
+ var HashChangeEvent = 'hashchange';
10776
+
10777
+ function getHistoryState() {
10778
+ try {
10779
+ return window.history.state || {};
10780
+ } catch (e) {
10781
+ // IE 11 sometimes throws when accessing window.history.state
10782
+ // See https://github.com/ReactTraining/history/pull/289
10783
+ return {};
10784
+ }
10785
+ }
10786
  /**
10787
+ * Creates a history object that uses the HTML5 history API including
10788
+ * pushState, replaceState, and the popstate event.
10789
  */
 
 
 
10790
 
10791
+
10792
+ function createBrowserHistory(props) {
10793
+ if (props === void 0) {
10794
+ props = {};
10795
+ }
10796
+
10797
+ !canUseDOM ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
10798
+ var globalHistory = window.history;
10799
+ var canUseHistory = supportsHistory();
10800
+ var needsHashChangeListener = !supportsPopStateOnHashChange();
10801
+ var _props = props,
10802
+ _props$forceRefresh = _props.forceRefresh,
10803
+ forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,
10804
+ _props$getUserConfirm = _props.getUserConfirmation,
10805
+ getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,
10806
+ _props$keyLength = _props.keyLength,
10807
+ keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;
10808
+ var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';
10809
+
10810
+ function getDOMLocation(historyState) {
10811
+ var _ref = historyState || {},
10812
+ key = _ref.key,
10813
+ state = _ref.state;
10814
+
10815
+ var _window$location = window.location,
10816
+ pathname = _window$location.pathname,
10817
+ search = _window$location.search,
10818
+ hash = _window$location.hash;
10819
+ var path = pathname + search + hash;
10820
+ false ? undefined : void 0;
10821
+ if (basename) path = stripBasename(path, basename);
10822
+ return createLocation(path, state, key);
10823
+ }
10824
+
10825
+ function createKey() {
10826
+ return Math.random().toString(36).substr(2, keyLength);
10827
+ }
10828
+
10829
+ var transitionManager = createTransitionManager();
10830
+
10831
+ function setState(nextState) {
10832
+ Object(esm_extends["a" /* default */])(history, nextState);
10833
+
10834
+ history.length = globalHistory.length;
10835
+ transitionManager.notifyListeners(history.location, history.action);
10836
+ }
10837
+
10838
+ function handlePopState(event) {
10839
+ // Ignore extraneous popstate events in WebKit.
10840
+ if (isExtraneousPopstateEvent(event)) return;
10841
+ handlePop(getDOMLocation(event.state));
10842
+ }
10843
+
10844
+ function handleHashChange() {
10845
+ handlePop(getDOMLocation(getHistoryState()));
10846
+ }
10847
+
10848
+ var forceNextPop = false;
10849
+
10850
+ function handlePop(location) {
10851
+ if (forceNextPop) {
10852
+ forceNextPop = false;
10853
+ setState();
10854
+ } else {
10855
+ var action = 'POP';
10856
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
10857
+ if (ok) {
10858
+ setState({
10859
+ action: action,
10860
+ location: location
10861
+ });
10862
+ } else {
10863
+ revertPop(location);
10864
+ }
10865
+ });
10866
  }
10867
  }
10868
 
10869
+ function revertPop(fromLocation) {
10870
+ var toLocation = history.location; // TODO: We could probably make this more reliable by
10871
+ // keeping a list of keys we've seen in sessionStorage.
10872
+ // Instead, we just default to 0 for keys we don't know.
 
10873
 
10874
+ var toIndex = allKeys.indexOf(toLocation.key);
10875
+ if (toIndex === -1) toIndex = 0;
10876
+ var fromIndex = allKeys.indexOf(fromLocation.key);
10877
+ if (fromIndex === -1) fromIndex = 0;
10878
+ var delta = toIndex - fromIndex;
10879
+
10880
+ if (delta) {
10881
+ forceNextPop = true;
10882
+ go(delta);
10883
+ }
10884
+ }
10885
 
10886
+ var initialLocation = getDOMLocation(getHistoryState());
10887
+ var allKeys = [initialLocation.key]; // Public interface
10888
 
10889
+ function createHref(location) {
10890
+ return basename + createPath(location);
10891
+ }
10892
 
10893
+ function push(path, state) {
10894
+ false ? undefined : void 0;
10895
+ var action = 'PUSH';
10896
+ var location = createLocation(path, state, createKey(), history.location);
10897
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
10898
+ if (!ok) return;
10899
+ var href = createHref(location);
10900
+ var key = location.key,
10901
+ state = location.state;
10902
 
10903
+ if (canUseHistory) {
10904
+ globalHistory.pushState({
10905
+ key: key,
10906
+ state: state
10907
+ }, null, href);
 
10908
 
10909
+ if (forceRefresh) {
10910
+ window.location.href = href;
10911
  } else {
10912
+ var prevIndex = allKeys.indexOf(history.location.key);
10913
+ var nextKeys = allKeys.slice(0, prevIndex + 1);
10914
+ nextKeys.push(location.key);
10915
+ allKeys = nextKeys;
10916
+ setState({
10917
+ action: action,
10918
+ location: location
10919
+ });
10920
  }
10921
+ } else {
10922
+ false ? undefined : void 0;
10923
+ window.location.href = href;
10924
  }
10925
+ });
10926
+ }
10927
 
10928
+ function replace(path, state) {
10929
+ false ? undefined : void 0;
10930
+ var action = 'REPLACE';
10931
+ var location = createLocation(path, state, createKey(), history.location);
10932
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
10933
+ if (!ok) return;
10934
+ var href = createHref(location);
10935
+ var key = location.key,
10936
+ state = location.state;
10937
 
10938
+ if (canUseHistory) {
10939
+ globalHistory.replaceState({
10940
+ key: key,
10941
+ state: state
10942
+ }, null, href);
 
 
10943
 
10944
+ if (forceRefresh) {
10945
+ window.location.replace(href);
10946
+ } else {
10947
+ var prevIndex = allKeys.indexOf(history.location.key);
10948
+ if (prevIndex !== -1) allKeys[prevIndex] = location.key;
10949
+ setState({
10950
+ action: action,
10951
+ location: location
10952
+ });
10953
+ }
10954
+ } else {
10955
+ false ? undefined : void 0;
10956
+ window.location.replace(href);
10957
+ }
10958
+ });
10959
+ }
10960
 
10961
+ function go(n) {
10962
+ globalHistory.go(n);
10963
+ }
10964
 
10965
+ function goBack() {
10966
+ go(-1);
10967
+ }
10968
 
10969
+ function goForward() {
10970
+ go(1);
10971
+ }
10972
 
10973
+ var listenerCount = 0;
10974
 
10975
+ function checkDOMListeners(delta) {
10976
+ listenerCount += delta;
 
10977
 
10978
+ if (listenerCount === 1 && delta === 1) {
10979
+ window.addEventListener(PopStateEvent, handlePopState);
10980
+ if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);
10981
+ } else if (listenerCount === 0) {
10982
+ window.removeEventListener(PopStateEvent, handlePopState);
10983
+ if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);
10984
  }
 
 
10985
  }
 
10986
 
10987
+ var isBlocked = false;
 
 
 
 
 
 
 
 
10988
 
10989
+ function block(prompt) {
10990
+ if (prompt === void 0) {
10991
+ prompt = false;
10992
+ }
 
 
 
 
 
10993
 
10994
+ var unblock = transitionManager.setPrompt(prompt);
 
 
 
 
 
 
 
 
 
 
10995
 
10996
+ if (!isBlocked) {
10997
+ checkDOMListeners(1);
10998
+ isBlocked = true;
10999
+ }
 
 
 
 
 
11000
 
11001
+ return function () {
11002
+ if (isBlocked) {
11003
+ isBlocked = false;
11004
+ checkDOMListeners(-1);
11005
+ }
 
 
 
 
 
11006
 
11007
+ return unblock();
11008
+ };
 
 
 
 
 
 
 
 
 
 
 
11009
  }
11010
 
11011
+ function listen(listener) {
11012
+ var unlisten = transitionManager.appendListener(listener);
11013
+ checkDOMListeners(1);
11014
+ return function () {
11015
+ checkDOMListeners(-1);
11016
+ unlisten();
11017
+ };
11018
+ }
11019
 
11020
+ var history = {
11021
+ length: globalHistory.length,
11022
+ action: 'POP',
11023
+ location: initialLocation,
11024
+ createHref: createHref,
11025
+ push: push,
11026
+ replace: replace,
11027
+ go: go,
11028
+ goBack: goBack,
11029
+ goForward: goForward,
11030
+ block: block,
11031
+ listen: listen
11032
+ };
11033
+ return history;
11034
+ }
11035
 
11036
+ var HashChangeEvent$1 = 'hashchange';
11037
+ var HashPathCoders = {
11038
+ hashbang: {
11039
+ encodePath: function encodePath(path) {
11040
+ return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);
11041
+ },
11042
+ decodePath: function decodePath(path) {
11043
+ return path.charAt(0) === '!' ? path.substr(1) : path;
11044
+ }
11045
+ },
11046
+ noslash: {
11047
+ encodePath: stripLeadingSlash,
11048
+ decodePath: addLeadingSlash
11049
+ },
11050
+ slash: {
11051
+ encodePath: addLeadingSlash,
11052
+ decodePath: addLeadingSlash
11053
  }
11054
+ };
11055
 
11056
+ function stripHash(url) {
11057
+ var hashIndex = url.indexOf('#');
11058
+ return hashIndex === -1 ? url : url.slice(0, hashIndex);
11059
  }
11060
 
11061
+ function getHashPath() {
11062
+ // We can't use window.location.hash here because it's not
11063
+ // consistent across browsers - Firefox will pre-decode it!
11064
+ var href = window.location.href;
11065
+ var hashIndex = href.indexOf('#');
11066
+ return hashIndex === -1 ? '' : href.substring(hashIndex + 1);
 
 
 
 
11067
  }
11068
 
11069
+ function pushHashPath(path) {
11070
+ window.location.hash = path;
11071
+ }
 
 
 
 
 
 
 
 
 
 
 
 
11072
 
11073
+ function replaceHashPath(path) {
11074
+ window.location.replace(stripHash(window.location.href) + '#' + path);
11075
+ }
11076
 
11077
+ function createHashHistory(props) {
11078
+ if (props === void 0) {
11079
+ props = {};
11080
+ }
11081
 
11082
+ !canUseDOM ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
11083
+ var globalHistory = window.history;
11084
+ var canGoWithoutReload = supportsGoWithoutReloadUsingHash();
11085
+ var _props = props,
11086
+ _props$getUserConfirm = _props.getUserConfirmation,
11087
+ getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,
11088
+ _props$hashType = _props.hashType,
11089
+ hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;
11090
+ var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';
11091
+ var _HashPathCoders$hashT = HashPathCoders[hashType],
11092
+ encodePath = _HashPathCoders$hashT.encodePath,
11093
+ decodePath = _HashPathCoders$hashT.decodePath;
11094
 
11095
+ function getDOMLocation() {
11096
+ var path = decodePath(getHashPath());
11097
+ false ? undefined : void 0;
11098
+ if (basename) path = stripBasename(path, basename);
11099
+ return createLocation(path);
11100
+ }
11101
 
11102
+ var transitionManager = createTransitionManager();
 
 
11103
 
11104
+ function setState(nextState) {
11105
+ Object(esm_extends["a" /* default */])(history, nextState);
 
 
 
 
 
 
 
11106
 
11107
+ history.length = globalHistory.length;
11108
+ transitionManager.notifyListeners(history.location, history.action);
11109
  }
11110
 
11111
+ var forceNextPop = false;
11112
+ var ignorePath = null;
 
 
 
 
 
 
 
 
11113
 
11114
+ function locationsAreEqual$$1(a, b) {
11115
+ return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;
 
 
 
 
11116
  }
11117
 
11118
+ function handleHashChange() {
11119
+ var path = getHashPath();
11120
+ var encodedPath = encodePath(path);
11121
 
11122
+ if (path !== encodedPath) {
11123
+ // Ensure we always have a properly-encoded hash.
11124
+ replaceHashPath(encodedPath);
11125
+ } else {
11126
+ var location = getDOMLocation();
11127
+ var prevLocation = history.location;
11128
+ if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.
 
 
 
 
 
 
 
 
 
 
11129
 
11130
+ if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.
11131
 
11132
+ ignorePath = null;
11133
+ handlePop(location);
11134
+ }
11135
  }
11136
 
11137
+ function handlePop(location) {
11138
+ if (forceNextPop) {
11139
+ forceNextPop = false;
11140
+ setState();
11141
+ } else {
11142
+ var action = 'POP';
11143
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
11144
+ if (ok) {
11145
+ setState({
11146
+ action: action,
11147
+ location: location
11148
+ });
11149
+ } else {
11150
+ revertPop(location);
11151
+ }
11152
+ });
11153
+ }
11154
  }
11155
 
11156
+ function revertPop(fromLocation) {
11157
+ var toLocation = history.location; // TODO: We could probably make this more reliable by
11158
+ // keeping a list of paths we've seen in sessionStorage.
11159
+ // Instead, we just default to 0 for paths we don't know.
11160
 
11161
+ var toIndex = allPaths.lastIndexOf(createPath(toLocation));
11162
+ if (toIndex === -1) toIndex = 0;
11163
+ var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));
11164
+ if (fromIndex === -1) fromIndex = 0;
11165
+ var delta = toIndex - fromIndex;
11166
 
11167
+ if (delta) {
11168
+ forceNextPop = true;
11169
+ go(delta);
11170
+ }
11171
+ } // Ensure the hash is encoded properly before doing anything else.
 
 
 
 
 
 
 
 
 
 
 
 
11172
 
 
 
 
 
 
 
 
 
11173
 
11174
+ var path = getHashPath();
11175
+ var encodedPath = encodePath(path);
11176
+ if (path !== encodedPath) replaceHashPath(encodedPath);
11177
+ var initialLocation = getDOMLocation();
11178
+ var allPaths = [createPath(initialLocation)]; // Public interface
 
 
11179
 
11180
+ function createHref(location) {
11181
+ var baseTag = document.querySelector('base');
11182
+ var href = '';
 
 
11183
 
11184
+ if (baseTag && baseTag.getAttribute('href')) {
11185
+ href = stripHash(window.location.href);
 
11186
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11187
 
11188
+ return href + '#' + encodePath(basename + createPath(location));
11189
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11190
 
11191
+ function push(path, state) {
11192
+ false ? undefined : void 0;
11193
+ var action = 'PUSH';
11194
+ var location = createLocation(path, undefined, undefined, history.location);
11195
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
11196
+ if (!ok) return;
11197
+ var path = createPath(location);
11198
+ var encodedPath = encodePath(basename + path);
11199
+ var hashChanged = getHashPath() !== encodedPath;
 
 
 
 
 
 
 
 
11200
 
11201
+ if (hashChanged) {
11202
+ // We cannot tell if a hashchange was caused by a PUSH, so we'd
11203
+ // rather setState here and ignore the hashchange. The caveat here
11204
+ // is that other hash histories in the page will consider it a POP.
11205
+ ignorePath = path;
11206
+ pushHashPath(encodedPath);
11207
+ var prevIndex = allPaths.lastIndexOf(createPath(history.location));
11208
+ var nextPaths = allPaths.slice(0, prevIndex + 1);
11209
+ nextPaths.push(path);
11210
+ allPaths = nextPaths;
11211
+ setState({
11212
+ action: action,
11213
+ location: location
11214
+ });
11215
+ } else {
11216
+ false ? undefined : void 0;
11217
+ setState();
11218
+ }
11219
+ });
11220
+ }
11221
 
11222
+ function replace(path, state) {
11223
+ false ? undefined : void 0;
11224
+ var action = 'REPLACE';
11225
+ var location = createLocation(path, undefined, undefined, history.location);
11226
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
11227
+ if (!ok) return;
11228
+ var path = createPath(location);
11229
+ var encodedPath = encodePath(basename + path);
11230
+ var hashChanged = getHashPath() !== encodedPath;
11231
 
11232
+ if (hashChanged) {
11233
+ // We cannot tell if a hashchange was caused by a REPLACE, so we'd
11234
+ // rather setState here and ignore the hashchange. The caveat here
11235
+ // is that other hash histories in the page will consider it a POP.
11236
+ ignorePath = path;
11237
+ replaceHashPath(encodedPath);
11238
+ }
11239
 
11240
+ var prevIndex = allPaths.indexOf(createPath(history.location));
11241
+ if (prevIndex !== -1) allPaths[prevIndex] = path;
11242
+ setState({
11243
+ action: action,
11244
+ location: location
11245
+ });
11246
+ });
11247
+ }
11248
 
11249
+ function go(n) {
11250
+ false ? undefined : void 0;
11251
+ globalHistory.go(n);
11252
+ }
11253
 
11254
+ function goBack() {
11255
+ go(-1);
11256
+ }
11257
 
11258
+ function goForward() {
11259
+ go(1);
11260
+ }
11261
 
11262
+ var listenerCount = 0;
11263
 
11264
+ function checkDOMListeners(delta) {
11265
+ listenerCount += delta;
11266
 
11267
+ if (listenerCount === 1 && delta === 1) {
11268
+ window.addEventListener(HashChangeEvent$1, handleHashChange);
11269
+ } else if (listenerCount === 0) {
11270
+ window.removeEventListener(HashChangeEvent$1, handleHashChange);
11271
+ }
11272
+ }
11273
 
11274
+ var isBlocked = false;
 
 
 
 
 
 
11275
 
11276
+ function block(prompt) {
11277
+ if (prompt === void 0) {
11278
+ prompt = false;
 
 
11279
  }
 
 
11280
 
11281
+ var unblock = transitionManager.setPrompt(prompt);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11282
 
11283
+ if (!isBlocked) {
11284
+ checkDOMListeners(1);
11285
+ isBlocked = true;
11286
  }
11287
 
11288
+ return function () {
11289
+ if (isBlocked) {
11290
+ isBlocked = false;
11291
+ checkDOMListeners(-1);
11292
+ }
 
 
11293
 
11294
+ return unblock();
11295
+ };
 
11296
  }
11297
 
11298
+ function listen(listener) {
11299
+ var unlisten = transitionManager.appendListener(listener);
11300
+ checkDOMListeners(1);
 
 
 
 
 
 
11301
  return function () {
11302
+ checkDOMListeners(-1);
11303
+ unlisten();
11304
  };
 
 
 
 
 
 
 
 
 
 
11305
  }
11306
 
11307
+ var history = {
11308
+ length: globalHistory.length,
11309
+ action: 'POP',
11310
+ location: initialLocation,
11311
+ createHref: createHref,
11312
+ push: push,
11313
+ replace: replace,
11314
+ go: go,
11315
+ goBack: goBack,
11316
+ goForward: goForward,
11317
+ block: block,
11318
+ listen: listen
11319
+ };
11320
+ return history;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11321
  }
11322
 
11323
+ function clamp(n, lowerBound, upperBound) {
11324
+ return Math.min(Math.max(n, lowerBound), upperBound);
11325
+ }
11326
+ /**
11327
+ * Creates a history object that stores locations in memory.
11328
+ */
 
 
11329
 
 
 
 
11330
 
11331
+ function createMemoryHistory(props) {
11332
+ if (props === void 0) {
11333
+ props = {};
11334
+ }
11335
 
11336
+ var _props = props,
11337
+ getUserConfirmation = _props.getUserConfirmation,
11338
+ _props$initialEntries = _props.initialEntries,
11339
+ initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,
11340
+ _props$initialIndex = _props.initialIndex,
11341
+ initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,
11342
+ _props$keyLength = _props.keyLength,
11343
+ keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;
11344
+ var transitionManager = createTransitionManager();
11345
 
11346
+ function setState(nextState) {
11347
+ Object(esm_extends["a" /* default */])(history, nextState);
11348
 
11349
+ history.length = history.entries.length;
11350
+ transitionManager.notifyListeners(history.location, history.action);
11351
+ }
 
 
 
 
 
 
 
11352
 
11353
+ function createKey() {
11354
+ return Math.random().toString(36).substr(2, keyLength);
11355
+ }
11356
 
11357
+ var index = clamp(initialIndex, 0, initialEntries.length - 1);
11358
+ var entries = initialEntries.map(function (entry) {
11359
+ return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());
11360
+ }); // Public interface
11361
 
11362
+ var createHref = createPath;
11363
 
11364
+ function push(path, state) {
11365
+ false ? undefined : void 0;
11366
+ var action = 'PUSH';
11367
+ var location = createLocation(path, state, createKey(), history.location);
11368
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
11369
+ if (!ok) return;
11370
+ var prevIndex = history.index;
11371
+ var nextIndex = prevIndex + 1;
11372
+ var nextEntries = history.entries.slice(0);
11373
 
11374
+ if (nextEntries.length > nextIndex) {
11375
+ nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);
11376
+ } else {
11377
+ nextEntries.push(location);
11378
+ }
11379
 
11380
+ setState({
11381
+ action: action,
11382
+ location: location,
11383
+ index: nextIndex,
11384
+ entries: nextEntries
11385
+ });
11386
+ });
11387
+ }
11388
 
11389
+ function replace(path, state) {
11390
+ false ? undefined : void 0;
11391
+ var action = 'REPLACE';
11392
+ var location = createLocation(path, state, createKey(), history.location);
11393
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
11394
+ if (!ok) return;
11395
+ history.entries[history.index] = location;
11396
+ setState({
11397
+ action: action,
11398
+ location: location
11399
+ });
11400
+ });
11401
+ }
11402
 
11403
+ function go(n) {
11404
+ var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);
11405
+ var action = 'POP';
11406
+ var location = history.entries[nextIndex];
11407
+ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
11408
+ if (ok) {
11409
+ setState({
11410
+ action: action,
11411
+ location: location,
11412
+ index: nextIndex
11413
+ });
11414
+ } else {
11415
+ // Mimic the behavior of DOM histories by
11416
+ // causing a render after a cancelled POP.
11417
+ setState();
11418
+ }
11419
+ });
11420
+ }
11421
 
11422
+ function goBack() {
11423
+ go(-1);
11424
+ }
11425
 
11426
+ function goForward() {
11427
+ go(1);
11428
+ }
11429
 
11430
+ function canGo(n) {
11431
+ var nextIndex = history.index + n;
11432
+ return nextIndex >= 0 && nextIndex < history.entries.length;
11433
+ }
11434
 
11435
+ function block(prompt) {
11436
+ if (prompt === void 0) {
11437
+ prompt = false;
11438
+ }
11439
 
11440
+ return transitionManager.setPrompt(prompt);
11441
+ }
 
11442
 
11443
+ function listen(listener) {
11444
+ return transitionManager.appendListener(listener);
11445
+ }
11446
 
11447
+ var history = {
11448
+ length: entries.length,
11449
+ action: 'POP',
11450
+ location: entries[index],
11451
+ index: index,
11452
+ entries: entries,
11453
+ createHref: createHref,
11454
+ push: push,
11455
+ replace: replace,
11456
+ go: go,
11457
+ goBack: goBack,
11458
+ goForward: goForward,
11459
+ canGo: canGo,
11460
+ block: block,
11461
+ listen: listen
11462
+ };
11463
+ return history;
11464
+ }
11465
 
 
 
11466
 
 
 
11467
 
 
 
 
11468
 
11469
+ /***/ }),
 
11470
 
11471
+ /***/ 6:
11472
+ /***/ (function(module, exports, __webpack_require__) {
 
11473
 
11474
+ /*!
11475
+ Copyright (c) 2018 Jed Watson.
11476
+ Licensed under the MIT License (MIT), see
11477
+ http://jedwatson.github.io/classnames
11478
+ */
11479
+ /* global define */
11480
 
11481
+ (function () {
11482
+ 'use strict';
11483
 
11484
+ var hasOwn = {}.hasOwnProperty;
 
11485
 
11486
+ function classNames() {
11487
+ var classes = [];
11488
 
11489
+ for (var i = 0; i < arguments.length; i++) {
11490
+ var arg = arguments[i];
11491
+ if (!arg) continue;
11492
 
11493
+ var argType = typeof arg;
11494
 
11495
+ if (argType === 'string' || argType === 'number') {
11496
+ classes.push(arg);
11497
+ } else if (Array.isArray(arg)) {
11498
+ if (arg.length) {
11499
+ var inner = classNames.apply(null, arg);
11500
+ if (inner) {
11501
+ classes.push(inner);
11502
+ }
11503
+ }
11504
+ } else if (argType === 'object') {
11505
+ if (arg.toString === Object.prototype.toString) {
11506
+ for (var key in arg) {
11507
+ if (hasOwn.call(arg, key) && arg[key]) {
11508
+ classes.push(key);
11509
+ }
11510
+ }
11511
+ } else {
11512
+ classes.push(arg.toString());
11513
+ }
11514
+ }
11515
+ }
11516
 
11517
+ return classes.join(' ');
11518
+ }
11519
 
11520
+ if ( true && module.exports) {
11521
+ classNames.default = classNames;
11522
+ module.exports = classNames;
11523
+ } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {
11524
+ // register as 'classnames', consistent with npm package name
11525
+ define('classnames', [], function () {
11526
+ return classNames;
11527
+ });
11528
+ } else {
11529
+ window.classNames = classNames;
11530
+ }
11531
+ }());
11532
 
11533
 
11534
+ /***/ }),
11535
 
11536
+ /***/ 62:
11537
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
11538
 
11539
+ "use strict";
11540
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return STORE_KEY; });
11541
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return API_NAMESPACE; });
11542
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return QUEUE_OPTION_NAME; });
11543
+ const STORE_KEY = 'wc/customer-effort-score';
11544
+ const API_NAMESPACE = '/wc-admin';
11545
+ const QUEUE_OPTION_NAME = 'woocommerce_ces_tracks_queue';
11546
 
11547
+ /***/ }),
11548
 
11549
+ /***/ 63:
11550
+ /***/ (function(module, exports, __webpack_require__) {
11551
 
11552
+ "use strict";
11553
 
 
11554
 
11555
+ var utils = __webpack_require__(44);
11556
+ var formats = __webpack_require__(38);
11557
+ var has = Object.prototype.hasOwnProperty;
11558
 
11559
+ var arrayPrefixGenerators = {
11560
+ brackets: function brackets(prefix) {
11561
+ return prefix + '[]';
11562
+ },
11563
+ comma: 'comma',
11564
+ indices: function indices(prefix, key) {
11565
+ return prefix + '[' + key + ']';
11566
+ },
11567
+ repeat: function repeat(prefix) {
11568
+ return prefix;
11569
+ }
11570
+ };
11571
 
11572
+ var isArray = Array.isArray;
11573
+ var push = Array.prototype.push;
11574
+ var pushToArray = function (arr, valueOrArray) {
11575
+ push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);
11576
+ };
11577
 
11578
+ var toISO = Date.prototype.toISOString;
11579
 
11580
+ var defaultFormat = formats['default'];
11581
+ var defaults = {
11582
+ addQueryPrefix: false,
11583
+ allowDots: false,
11584
+ charset: 'utf-8',
11585
+ charsetSentinel: false,
11586
+ delimiter: '&',
11587
+ encode: true,
11588
+ encoder: utils.encode,
11589
+ encodeValuesOnly: false,
11590
+ format: defaultFormat,
11591
+ formatter: formats.formatters[defaultFormat],
11592
+ // deprecated
11593
+ indices: false,
11594
+ serializeDate: function serializeDate(date) {
11595
+ return toISO.call(date);
11596
+ },
11597
+ skipNulls: false,
11598
+ strictNullHandling: false
11599
+ };
11600
 
11601
+ var isNonNullishPrimitive = function isNonNullishPrimitive(v) {
11602
+ return typeof v === 'string'
11603
+ || typeof v === 'number'
11604
+ || typeof v === 'boolean'
11605
+ || typeof v === 'symbol'
11606
+ || typeof v === 'bigint';
11607
+ };
11608
 
11609
+ var stringify = function stringify(
11610
+ object,
11611
+ prefix,
11612
+ generateArrayPrefix,
11613
+ strictNullHandling,
11614
+ skipNulls,
11615
+ encoder,
11616
+ filter,
11617
+ sort,
11618
+ allowDots,
11619
+ serializeDate,
11620
+ format,
11621
+ formatter,
11622
+ encodeValuesOnly,
11623
+ charset
11624
+ ) {
11625
+ var obj = object;
11626
+ if (typeof filter === 'function') {
11627
+ obj = filter(prefix, obj);
11628
+ } else if (obj instanceof Date) {
11629
+ obj = serializeDate(obj);
11630
+ } else if (generateArrayPrefix === 'comma' && isArray(obj)) {
11631
+ obj = utils.maybeMap(obj, function (value) {
11632
+ if (value instanceof Date) {
11633
+ return serializeDate(value);
11634
+ }
11635
+ return value;
11636
+ });
11637
+ }
11638
 
11639
+ if (obj === null) {
11640
+ if (strictNullHandling) {
11641
+ return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;
11642
+ }
11643
 
11644
+ obj = '';
11645
+ }
11646
 
11647
+ if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {
11648
+ if (encoder) {
11649
+ var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);
11650
+ return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];
11651
+ }
11652
+ return [formatter(prefix) + '=' + formatter(String(obj))];
11653
+ }
 
 
 
 
 
 
 
 
 
 
 
 
11654
 
11655
+ var values = [];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11656
 
11657
+ if (typeof obj === 'undefined') {
11658
+ return values;
11659
+ }
11660
 
11661
+ var objKeys;
11662
+ if (generateArrayPrefix === 'comma' && isArray(obj)) {
11663
+ // we need to join elements in
11664
+ objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : undefined }];
11665
+ } else if (isArray(filter)) {
11666
+ objKeys = filter;
11667
+ } else {
11668
+ var keys = Object.keys(obj);
11669
+ objKeys = sort ? keys.sort(sort) : keys;
11670
+ }
11671
 
11672
+ for (var i = 0; i < objKeys.length; ++i) {
11673
+ var key = objKeys[i];
11674
+ var value = typeof key === 'object' && key.value !== undefined ? key.value : obj[key];
 
 
 
 
 
 
11675
 
11676
+ if (skipNulls && value === null) {
11677
+ continue;
11678
+ }
11679
 
11680
+ var keyPrefix = isArray(obj)
11681
+ ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix
11682
+ : prefix + (allowDots ? '.' + key : '[' + key + ']');
11683
 
11684
+ pushToArray(values, stringify(
11685
+ value,
11686
+ keyPrefix,
11687
+ generateArrayPrefix,
11688
+ strictNullHandling,
11689
+ skipNulls,
11690
+ encoder,
11691
+ filter,
11692
+ sort,
11693
+ allowDots,
11694
+ serializeDate,
11695
+ format,
11696
+ formatter,
11697
+ encodeValuesOnly,
11698
+ charset
11699
+ ));
11700
+ }
11701
 
11702
+ return values;
11703
+ };
 
11704
 
11705
+ var normalizeStringifyOptions = function normalizeStringifyOptions(opts) {
11706
+ if (!opts) {
11707
+ return defaults;
11708
+ }
 
 
 
11709
 
11710
+ if (opts.encoder !== null && opts.encoder !== undefined && typeof opts.encoder !== 'function') {
11711
+ throw new TypeError('Encoder has to be a function.');
11712
+ }
 
 
 
 
 
11713
 
11714
+ var charset = opts.charset || defaults.charset;
11715
+ if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
11716
+ throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
11717
+ }
 
 
 
 
 
11718
 
11719
+ var format = formats['default'];
11720
+ if (typeof opts.format !== 'undefined') {
11721
+ if (!has.call(formats.formatters, opts.format)) {
11722
+ throw new TypeError('Unknown format option provided.');
11723
+ }
11724
+ format = opts.format;
11725
+ }
11726
+ var formatter = formats.formatters[format];
 
 
 
 
 
 
 
 
11727
 
11728
+ var filter = defaults.filter;
11729
+ if (typeof opts.filter === 'function' || isArray(opts.filter)) {
11730
+ filter = opts.filter;
11731
+ }
 
11732
 
11733
+ return {
11734
+ addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,
11735
+ allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
11736
+ charset: charset,
11737
+ charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
11738
+ delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,
11739
+ encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,
11740
+ encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,
11741
+ encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
11742
+ filter: filter,
11743
+ format: format,
11744
+ formatter: formatter,
11745
+ serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,
11746
+ skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,
11747
+ sort: typeof opts.sort === 'function' ? opts.sort : null,
11748
+ strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
11749
+ };
11750
+ };
11751
 
11752
+ module.exports = function (object, opts) {
11753
+ var obj = object;
11754
+ var options = normalizeStringifyOptions(opts);
 
11755
 
11756
+ var objKeys;
11757
+ var filter;
 
 
11758
 
11759
+ if (typeof options.filter === 'function') {
11760
+ filter = options.filter;
11761
+ obj = filter('', obj);
11762
+ } else if (isArray(options.filter)) {
11763
+ filter = options.filter;
11764
+ objKeys = filter;
11765
+ }
11766
 
11767
+ var keys = [];
 
 
 
11768
 
11769
+ if (typeof obj !== 'object' || obj === null) {
11770
+ return '';
11771
+ }
 
11772
 
11773
+ var arrayFormat;
11774
+ if (opts && opts.arrayFormat in arrayPrefixGenerators) {
11775
+ arrayFormat = opts.arrayFormat;
11776
+ } else if (opts && 'indices' in opts) {
11777
+ arrayFormat = opts.indices ? 'indices' : 'repeat';
11778
+ } else {
11779
+ arrayFormat = 'indices';
11780
+ }
11781
 
11782
+ var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];
 
 
 
11783
 
11784
+ if (!objKeys) {
11785
+ objKeys = Object.keys(obj);
11786
+ }
 
 
11787
 
11788
+ if (options.sort) {
11789
+ objKeys.sort(options.sort);
11790
+ }
 
 
11791
 
11792
+ for (var i = 0; i < objKeys.length; ++i) {
11793
+ var key = objKeys[i];
11794
 
11795
+ if (options.skipNulls && obj[key] === null) {
11796
+ continue;
11797
+ }
11798
+ pushToArray(keys, stringify(
11799
+ obj[key],
11800
+ key,
11801
+ generateArrayPrefix,
11802
+ options.strictNullHandling,
11803
+ options.skipNulls,
11804
+ options.encode ? options.encoder : null,
11805
+ options.filter,
11806
+ options.sort,
11807
+ options.allowDots,
11808
+ options.serializeDate,
11809
+ options.format,
11810
+ options.formatter,
11811
+ options.encodeValuesOnly,
11812
+ options.charset
11813
+ ));
11814
+ }
11815
 
11816
+ var joined = keys.join(options.delimiter);
11817
+ var prefix = options.addQueryPrefix === true ? '?' : '';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11818
 
11819
+ if (options.charsetSentinel) {
11820
+ if (options.charset === 'iso-8859-1') {
11821
+ // encodeURIComponent('&#10003;'), the "numeric entity" representation of a checkmark
11822
+ prefix += 'utf8=%26%2310003%3B&';
11823
+ } else {
11824
+ // encodeURIComponent('✓')
11825
+ prefix += 'utf8=%E2%9C%93&';
11826
+ }
11827
+ }
11828
 
11829
+ return joined.length > 0 ? prefix + joined : '';
11830
+ };
 
 
 
 
 
11831
 
 
 
11832
 
11833
+ /***/ }),
 
11834
 
11835
+ /***/ 64:
11836
+ /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
11837
 
11838
+ "use strict";
 
 
11839
 
11840
 
11841
+ var utils = __webpack_require__(44);
11842
+
11843
+ var has = Object.prototype.hasOwnProperty;
11844
+ var isArray = Array.isArray;
11845
+
11846
+ var defaults = {
11847
+ allowDots: false,
11848
+ allowPrototypes: false,
11849
+ arrayLimit: 20,
11850
+ charset: 'utf-8',
11851
+ charsetSentinel: false,
11852
+ comma: false,
11853
+ decoder: utils.decode,
11854
+ delimiter: '&',
11855
+ depth: 5,
11856
+ ignoreQueryPrefix: false,
11857
+ interpretNumericEntities: false,
11858
+ parameterLimit: 1000,
11859
+ parseArrays: true,
11860
+ plainObjects: false,
11861
+ strictNullHandling: false
11862
+ };
11863
 
11864
+ var interpretNumericEntities = function (str) {
11865
+ return str.replace(/&#(\d+);/g, function ($0, numberStr) {
11866
+ return String.fromCharCode(parseInt(numberStr, 10));
11867
+ });
11868
+ };
 
 
 
 
 
 
 
 
 
 
 
11869
 
11870
+ var parseArrayValue = function (val, options) {
11871
+ if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {
11872
+ return val.split(',');
11873
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11874
 
11875
+ return val;
11876
+ };
 
 
 
 
11877
 
11878
+ // This is what browsers will submit when the ✓ character occurs in an
11879
+ // application/x-www-form-urlencoded body and the encoding of the page containing
11880
+ // the form is iso-8859-1, or when the submitted form has an accept-charset
11881
+ // attribute of iso-8859-1. Presumably also with other charsets that do not contain
11882
+ // the ✓ character, such as us-ascii.
11883
+ var isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')
 
 
11884
 
11885
+ // These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.
11886
+ var charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')
11887
 
11888
+ var parseValues = function parseQueryStringValues(str, options) {
11889
+ var obj = {};
11890
+ var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str;
11891
+ var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;
11892
+ var parts = cleanStr.split(options.delimiter, limit);
11893
+ var skipIndex = -1; // Keep track of where the utf8 sentinel was found
11894
+ var i;
11895
 
11896
+ var charset = options.charset;
11897
+ if (options.charsetSentinel) {
11898
+ for (i = 0; i < parts.length; ++i) {
11899
+ if (parts[i].indexOf('utf8=') === 0) {
11900
+ if (parts[i] === charsetSentinel) {
11901
+ charset = 'utf-8';
11902
+ } else if (parts[i] === isoSentinel) {
11903
+ charset = 'iso-8859-1';
11904
+ }
11905
+ skipIndex = i;
11906
+ i = parts.length; // The eslint settings do not allow break;
11907
+ }
11908
+ }
11909
+ }
11910
 
11911
+ for (i = 0; i < parts.length; ++i) {
11912
+ if (i === skipIndex) {
11913
+ continue;
11914
+ }
11915
+ var part = parts[i];
11916
 
11917
+ var bracketEqualsPos = part.indexOf(']=');
11918
+ var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;
11919
 
11920
+ var key, val;
11921
+ if (pos === -1) {
11922
+ key = options.decoder(part, defaults.decoder, charset, 'key');
11923
+ val = options.strictNullHandling ? null : '';
11924
+ } else {
11925
+ key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');
11926
+ val = utils.maybeMap(
11927
+ parseArrayValue(part.slice(pos + 1), options),
11928
+ function (encodedVal) {
11929
+ return options.decoder(encodedVal, defaults.decoder, charset, 'value');
11930
+ }
11931
+ );
11932
+ }
11933
 
11934
+ if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {
11935
+ val = interpretNumericEntities(val);
11936
+ }
11937
 
11938
+ if (part.indexOf('[]=') > -1) {
11939
+ val = isArray(val) ? [val] : val;
11940
+ }
11941
 
11942
+ if (has.call(obj, key)) {
11943
+ obj[key] = utils.combine(obj[key], val);
11944
+ } else {
11945
+ obj[key] = val;
11946
+ }
11947
+ }
11948
 
11949
+ return obj;
11950
+ };
 
 
 
 
 
 
 
 
11951
 
11952
+ var parseObject = function (chain, val, options, valuesParsed) {
11953
+ var leaf = valuesParsed ? val : parseArrayValue(val, options);
11954
 
11955
+ for (var i = chain.length - 1; i >= 0; --i) {
11956
+ var obj;
11957
+ var root = chain[i];
 
11958
 
11959
+ if (root === '[]' && options.parseArrays) {
11960
+ obj = [].concat(leaf);
11961
+ } else {
11962
+ obj = options.plainObjects ? Object.create(null) : {};
11963
+ var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;
11964
+ var index = parseInt(cleanRoot, 10);
11965
+ if (!options.parseArrays && cleanRoot === '') {
11966
+ obj = { 0: leaf };
11967
+ } else if (
11968
+ !isNaN(index)
11969
+ && root !== cleanRoot
11970
+ && String(index) === cleanRoot
11971
+ && index >= 0
11972
+ && (options.parseArrays && index <= options.arrayLimit)
11973
+ ) {
11974
+ obj = [];
11975
+ obj[index] = leaf;
11976
+ } else {
11977
+ obj[cleanRoot] = leaf;
11978
+ }
11979
+ }
11980
 
11981
+ leaf = obj;
11982
+ }
 
11983
 
11984
+ return leaf;
11985
+ };
11986
 
11987
+ var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {
11988
+ if (!givenKey) {
11989
+ return;
 
11990
  }
 
 
 
 
 
 
 
11991
 
11992
+ // Transform dot notation to bracket notation
11993
+ var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey;
11994
 
11995
+ // The regex chunks
11996
 
11997
+ var brackets = /(\[[^[\]]*])/;
11998
+ var child = /(\[[^[\]]*])/g;
11999
 
12000
+ // Get the parent
12001
 
12002
+ var segment = options.depth > 0 && brackets.exec(key);
12003
+ var parent = segment ? key.slice(0, segment.index) : key;
12004
 
12005
+ // Stash the parent if it exists
12006
 
12007
+ var keys = [];
12008
+ if (parent) {
12009
+ // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties
12010
+ if (!options.plainObjects && has.call(Object.prototype, parent)) {
12011
+ if (!options.allowPrototypes) {
12012
+ return;
12013
+ }
12014
+ }
12015
 
12016
+ keys.push(parent);
12017
+ }
12018
 
12019
+ // Loop through children appending to the array until we hit depth
12020
 
12021
+ var i = 0;
12022
+ while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {
12023
+ i += 1;
12024
+ if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {
12025
+ if (!options.allowPrototypes) {
12026
+ return;
12027
+ }
12028
+ }
12029
+ keys.push(segment[1]);
12030
+ }
12031
 
12032
+ // If there's a remainder, just add whatever is left
12033
 
12034
+ if (segment) {
12035
+ keys.push('[' + key.slice(segment.index) + ']');
12036
+ }
12037
 
12038
+ return parseObject(keys, val, options, valuesParsed);
 
12039
  };
12040
 
12041
+ var normalizeParseOptions = function normalizeParseOptions(opts) {
12042
+ if (!opts) {
12043
+ return defaults;
12044
+ }
12045
 
12046
+ if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {
12047
+ throw new TypeError('Decoder has to be a function.');
12048
+ }
 
 
12049
 
12050
+ if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
12051
+ throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
12052
+ }
12053
+ var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;
 
12054
 
12055
+ return {
12056
+ allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
12057
+ allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,
12058
+ arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,
12059
+ charset: charset,
12060
+ charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
12061
+ comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,
12062
+ decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,
12063
+ delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
12064
+ // eslint-disable-next-line no-implicit-coercion, no-extra-parens
12065
+ depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,
12066
+ ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
12067
+ interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
12068
+ parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,
12069
+ parseArrays: opts.parseArrays !== false,
12070
+ plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,
12071
+ strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
12072
+ };
12073
+ };
12074
 
12075
+ module.exports = function (str, opts) {
12076
+ var options = normalizeParseOptions(opts);
12077
+
12078
+ if (str === '' || str === null || typeof str === 'undefined') {
12079
+ return options.plainObjects ? Object.create(null) : {};
12080
+ }
12081
+
12082
+ var tempObj = typeof str === 'string' ? parseValues(str, options) : str;
12083
+ var obj = options.plainObjects ? Object.create(null) : {};
 
 
12084
 
12085
+ // Iterate over the keys and setup the new object
12086
+
12087
+ var keys = Object.keys(tempObj);
12088
+ for (var i = 0; i < keys.length; ++i) {
12089
+ var key = keys[i];
12090
+ var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');
12091
+ obj = utils.merge(obj, newObj, options);
12092
+ }
12093
+
12094
+ return utils.compact(obj);
12095
  };
12096
 
 
 
 
 
 
12097
 
12098
+ /***/ }),
12099
 
12100
+ /***/ 69:
12101
+ /***/ (function(module, exports) {
 
12102
 
12103
+ (function() { module.exports = window["wp"]["date"]; }());
12104
 
12105
+ /***/ }),
12106
 
12107
+ /***/ 7:
12108
+ /***/ (function(module, exports) {
12109
 
12110
+ (function() { module.exports = window["wp"]["data"]; }());
12111
 
12112
+ /***/ }),
12113
 
12114
+ /***/ 70:
12115
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 
 
 
 
12116
 
12117
+ "use strict";
12118
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getCountryCode; });
12119
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getCurrencyRegion; });
12120
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getProductIdsForCart; });
12121
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getCategorizedOnboardingProducts; });
12122
+ /* unused harmony export getProductList */
12123
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getPriceValue; });
12124
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return isWCAdmin; });
12125
+ /* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(32);
12126
+ /* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_0__);
12127
+ /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
12128
+ /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__);
12129
+ /* harmony import */ var _woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(17);
12130
+ /**
12131
+ * External dependencies
12132
+ */
12133
 
12134
 
12135
 
12136
  /**
12137
+ * Gets the country code from a country:state value string.
12138
+ *
12139
+ * @param {string} countryState Country state string, e.g. US:GA.
12140
+ * @return {string} Country string.
12141
  */
12142
 
12143
+ function getCountryCode(countryState) {
12144
+ if (!countryState) {
12145
+ return null;
12146
+ }
12147
 
12148
+ return countryState.split(':')[0];
12149
+ }
12150
+ function getCurrencyRegion(countryState) {
12151
+ let region = getCountryCode(countryState);
12152
+ const euCountries = Object(lodash__WEBPACK_IMPORTED_MODULE_1__["without"])(Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_2__[/* getSetting */ "h"])('onboarding', {
12153
+ euCountries: []
12154
+ }).euCountries, 'GB');
12155
 
12156
+ if (euCountries.includes(region)) {
12157
+ region = 'EU';
12158
+ }
12159
 
12160
+ return region;
12161
+ }
12162
  /**
12163
+ * Gets the product IDs for items based on the product types and theme selected in the onboarding profiler.
12164
+ *
12165
+ * @param {Object} profileItems Onboarding profile.
12166
+ * @param {boolean} includeInstalledItems Include installed items in returned product IDs.
12167
+ * @param {Array} installedPlugins Installed plugins.
12168
+ * @return {Array} Product Ids.
12169
  */
12170
 
12171
+ function getProductIdsForCart(profileItems, includeInstalledItems = false, installedPlugins) {
12172
+ const productList = getProductList(profileItems, includeInstalledItems, installedPlugins);
12173
+ const productIds = productList.map(product => product.id || product.product);
12174
+ return productIds;
12175
+ }
12176
+ /**
12177
+ * Gets the labeled/categorized product names and types for items based on the product types and theme selected in the onboarding profiler.
12178
+ *
12179
+ * @param {Object} profileItems Onboarding profile.
12180
+ * @param {Array} installedPlugins Installed plugins.
12181
+ * @return {Array} Objects with labeled/categorized product names and types.
12182
+ */
12183
 
12184
+ function getCategorizedOnboardingProducts(profileItems, installedPlugins) {
12185
+ const productList = {};
12186
+ productList.products = getProductList(profileItems, true, installedPlugins);
12187
+ productList.remainingProducts = getProductList(profileItems, false, installedPlugins);
12188
+ const uniqueItemsList = [...new Set([...productList.products, ...productList.remainingProducts])];
12189
+ productList.uniqueItemsList = uniqueItemsList.map(product => {
12190
+ let cleanedProduct;
12191
 
12192
+ if (product.label) {
12193
+ cleanedProduct = {
12194
+ type: 'extension',
12195
+ name: product.label
12196
+ };
12197
+ } else {
12198
+ cleanedProduct = {
12199
+ type: 'theme',
12200
+ name: product.title
12201
+ };
12202
+ }
12203
 
12204
+ return cleanedProduct;
12205
+ });
12206
+ return productList;
12207
+ }
12208
  /**
12209
+ * Gets a product list for items based on the product types and theme selected in the onboarding profiler.
 
 
 
12210
  *
12211
+ * @param {Object} profileItems Onboarding profile.
12212
+ * @param {boolean} includeInstalledItems Include installed items in returned product list.
12213
+ * @param {Array} installedPlugins Installed plugins.
12214
+ * @return {Array} Products.
12215
  */
12216
 
12217
+ function getProductList(profileItems, includeInstalledItems = false, installedPlugins) {
12218
+ const onboarding = Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_2__[/* getSetting */ "h"])('onboarding', {});
12219
+ const productList = []; // The population of onboarding.productTypes only happens if the task list should be shown
12220
+ // so bail early if it isn't present.
12221
 
12222
+ if (!onboarding.productTypes) {
12223
+ return productList;
12224
  }
12225
 
12226
+ const productTypes = profileItems.product_types || [];
12227
+ productTypes.forEach(productType => {
12228
+ if (onboarding.productTypes[productType] && onboarding.productTypes[productType].product && (includeInstalledItems || !installedPlugins.includes(onboarding.productTypes[productType].slug))) {
12229
+ productList.push(onboarding.productTypes[productType]);
12230
+ }
12231
  });
12232
+ const theme = onboarding.themes.find(themeData => themeData.slug === profileItems.theme);
12233
 
12234
+ if (theme && theme.id && getPriceValue(theme.price) > 0 && (includeInstalledItems || !theme.is_installed)) {
12235
+ productList.push(theme);
12236
  }
12237
 
12238
+ return productList;
 
 
 
 
 
 
 
 
12239
  }
12240
+ /**
12241
+ * Get the value of a price from a string, removing any non-numeric characters.
12242
+ *
12243
+ * @param {string} string Price string.
12244
+ * @return {number} Number value.
12245
+ */
12246
 
12247
+ function getPriceValue(string) {
12248
+ return Number(Object(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_0__["decodeEntities"])(string).replace(/[^0-9.-]+/g, ''));
12249
+ }
12250
+ /**
12251
+ * Determines if a URL is a WC admin url.
12252
+ *
12253
+ * @param {*} url - the url to test
12254
+ * @return {boolean} true if the url is a wc-admin URL
12255
+ */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12256
 
12257
+ function isWCAdmin(url) {
12258
+ return /admin.php\?page=wc-admin/.test(url);
12259
+ }
12260
 
12261
  /***/ }),
12262
+
12263
+ /***/ 78:
 
 
 
 
 
 
 
 
 
 
 
 
 
12264
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
12265
 
12266
  "use strict";
12267
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getUnreadOrders; });
12268
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getOrderStatuses; });
12269
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getLowStockCountQuery; });
12270
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getLowStockCount; });
12271
+ /* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11);
12272
+ /* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_data__WEBPACK_IMPORTED_MODULE_0__);
12273
+ /* harmony import */ var _analytics_settings_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(300);
 
 
 
 
 
 
12274
  /**
12275
  * External dependencies
12276
  */
12277
 
 
 
12278
  /**
12279
  * Internal dependencies
12280
  */
12281
 
12282
 
12283
+ function getUnreadOrders(select, orderStatuses) {
12284
+ const {
12285
+ getItemsTotalCount,
12286
+ getItemsError,
12287
+ isResolving
12288
+ } = select(_woocommerce_data__WEBPACK_IMPORTED_MODULE_0__["ITEMS_STORE_NAME"]);
12289
 
12290
+ if (!orderStatuses.length) {
12291
+ return 0;
12292
+ }
12293
 
12294
+ const ordersQuery = {
12295
+ page: 1,
12296
+ per_page: 1,
12297
+ // Core endpoint requires per_page > 0.
12298
+ status: orderStatuses,
12299
+ _fields: ['id']
12300
+ };
12301
+ const defaultValue = null; // Disable eslint rule requiring `totalOrders` to be defined below because the next two statements
12302
+ // depend on `getItemsTotalCount` to have been called.
12303
+ // eslint-disable-next-line @wordpress/no-unused-vars-before-return
12304
 
12305
+ const totalOrders = getItemsTotalCount('orders', ordersQuery, defaultValue);
12306
+ const isError = Boolean(getItemsError('orders', ordersQuery));
12307
+ const isRequesting = isResolving('getItemsTotalCount', ['orders', ordersQuery, defaultValue]);
12308
 
12309
+ if (isError || isRequesting) {
12310
+ return null;
 
 
12311
  }
12312
 
12313
+ return totalOrders;
12314
+ }
12315
+ function getOrderStatuses(select) {
12316
+ const {
12317
+ getSetting: getMutableSetting
12318
+ } = select(_woocommerce_data__WEBPACK_IMPORTED_MODULE_0__["SETTINGS_STORE_NAME"]);
12319
+ const {
12320
+ woocommerce_actionable_order_statuses: orderStatuses = _analytics_settings_config__WEBPACK_IMPORTED_MODULE_1__[/* DEFAULT_ACTIONABLE_STATUSES */ "a"]
12321
+ } = getMutableSetting('wc_admin', 'wcAdminSettings', {});
12322
+ return orderStatuses;
12323
+ }
12324
+ const getLowStockCountQuery = {
12325
+ page: 1,
12326
+ per_page: 1,
12327
+ low_in_stock: true,
12328
+ status: 'publish',
12329
+ _fields: ['id']
12330
+ };
12331
+ function getLowStockCount(select) {
12332
+ const {
12333
+ getItemsTotalCount,
12334
+ getItemsError,
12335
+ isResolving
12336
+ } = select(_woocommerce_data__WEBPACK_IMPORTED_MODULE_0__["ITEMS_STORE_NAME"]);
12337
+ const defaultValue = null; // Disable eslint rule requiring `totalLowStockProducts` to be defined below because the next two statements
12338
+ // depend on `getItemsTotalCount` to have been called.
12339
+ // eslint-disable-next-line @wordpress/no-unused-vars-before-return
12340
+
12341
+ const totalLowStockProducts = getItemsTotalCount('products/low-in-stock', getLowStockCountQuery, defaultValue);
12342
+ const isError = Boolean(getItemsError('products/low-in-stock', getLowStockCountQuery));
12343
+ const isRequesting = isResolving('getItemsTotalCount', ['products/low-in-stock', getLowStockCountQuery, defaultValue]);
12344
+
12345
+ if (isError || isRequesting && totalLowStockProducts === defaultValue) {
12346
+ return null;
12347
  }
12348
 
12349
+ return totalLowStockProducts;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12350
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12351
 
12352
  /***/ }),
 
 
12353
 
12354
+ /***/ 8:
12355
+ /***/ (function(module, exports) {
12356
+
12357
+ (function() { module.exports = window["wp"]["primitives"]; }());
12358
 
12359
  /***/ }),
 
 
12360
 
12361
+ /***/ 80:
12362
+ /***/ (function(module, exports) {
12363
 
12364
+ var g;
 
 
12365
 
12366
+ // This works in non-strict mode
12367
+ g = (function() {
12368
+ return this;
12369
+ })();
 
12370
 
12371
+ try {
12372
+ // This works if eval is allowed (see CSP)
12373
+ g = g || new Function("return this")();
12374
+ } catch (e) {
12375
+ // This works if the window reference is available
12376
+ if (typeof window === "object") g = window;
12377
+ }
12378
 
12379
+ // g can still be undefined, but nothing to do about it...
12380
+ // We return undefined, instead of nothing here, so it's
12381
+ // easier to handle this case. if(!global) { ...}
12382
 
12383
+ module.exports = g;
12384
 
 
12385
 
12386
+ /***/ }),
 
 
12387
 
12388
+ /***/ 82:
12389
+ /***/ (function(module, exports, __webpack_require__) {
12390
 
12391
+ "use strict";
12392
  /**
12393
+ * Copyright (c) 2015-present, Facebook, Inc.
 
 
 
 
12394
  *
12395
+ * This source code is licensed under the MIT license found in the
12396
+ * LICENSE file in the root directory of this source tree.
12397
  */
12398
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12399
 
 
 
 
12400
 
12401
+ var React = __webpack_require__(5);
12402
 
12403
+ var REACT_ELEMENT_TYPE =
12404
+ (typeof Symbol === 'function' && Symbol.for && Symbol.for('react.element')) ||
12405
+ 0xeac7;
12406
 
12407
+ var emptyFunction = __webpack_require__(56);
12408
+ var invariant = __webpack_require__(83);
12409
+ var warning = __webpack_require__(84);
12410
 
12411
+ var SEPARATOR = '.';
12412
+ var SUBSEPARATOR = ':';
 
12413
 
12414
+ var didWarnAboutMaps = false;
12415
 
12416
+ var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
12417
+ var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
 
 
 
12418
 
12419
+ function getIteratorFn(maybeIterable) {
12420
+ var iteratorFn =
12421
+ maybeIterable &&
12422
+ ((ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL]) ||
12423
+ maybeIterable[FAUX_ITERATOR_SYMBOL]);
12424
+ if (typeof iteratorFn === 'function') {
12425
+ return iteratorFn;
12426
+ }
12427
+ }
12428
 
12429
+ function escape(key) {
12430
+ var escapeRegex = /[=:]/g;
12431
+ var escaperLookup = {
12432
+ '=': '=0',
12433
+ ':': '=2'
12434
+ };
12435
+ var escapedString = ('' + key).replace(escapeRegex, function(match) {
12436
+ return escaperLookup[match];
12437
+ });
12438
 
12439
+ return '$' + escapedString;
12440
+ }
12441
 
12442
+ function getComponentKey(component, index) {
12443
+ // Do some typechecking here since we call this blindly. We want to ensure
12444
+ // that we don't block potential future ES APIs.
12445
+ if (component && typeof component === 'object' && component.key != null) {
12446
+ // Explicit key
12447
+ return escape(component.key);
12448
+ }
12449
+ // Implicit key determined by the index in the set
12450
+ return index.toString(36);
12451
+ }
12452
 
12453
+ function traverseAllChildrenImpl(
12454
+ children,
12455
+ nameSoFar,
12456
+ callback,
12457
+ traverseContext
12458
+ ) {
12459
+ var type = typeof children;
12460
 
12461
+ if (type === 'undefined' || type === 'boolean') {
12462
+ // All of the above are perceived as null.
12463
+ children = null;
12464
+ }
12465
 
12466
+ if (
12467
+ children === null ||
12468
+ type === 'string' ||
12469
+ type === 'number' ||
12470
+ // The following is inlined from ReactElement. This means we can optimize
12471
+ // some checks. React Fiber also inlines this logic for similar purposes.
12472
+ (type === 'object' && children.$$typeof === REACT_ELEMENT_TYPE)
12473
+ ) {
12474
+ callback(
12475
+ traverseContext,
12476
+ children,
12477
+ // If it's the only child, treat the name as if it was wrapped in an array
12478
+ // so that it's consistent if the number of children grows.
12479
+ nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar
12480
+ );
12481
+ return 1;
12482
+ }
12483
 
12484
+ var child;
12485
+ var nextName;
12486
+ var subtreeCount = 0; // Count of children found in the current subtree.
12487
+ var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12488
 
12489
+ if (Array.isArray(children)) {
12490
+ for (var i = 0; i < children.length; i++) {
12491
+ child = children[i];
12492
+ nextName = nextNamePrefix + getComponentKey(child, i);
12493
+ subtreeCount += traverseAllChildrenImpl(
12494
+ child,
12495
+ nextName,
12496
+ callback,
12497
+ traverseContext
12498
+ );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12499
  }
12500
+ } else {
12501
+ var iteratorFn = getIteratorFn(children);
12502
+ if (iteratorFn) {
12503
+ if (false) {}
12504
+
12505
+ var iterator = iteratorFn.call(children);
12506
+ var step;
12507
+ var ii = 0;
12508
+ while (!(step = iterator.next()).done) {
12509
+ child = step.value;
12510
+ nextName = nextNamePrefix + getComponentKey(child, ii++);
12511
+ subtreeCount += traverseAllChildrenImpl(
12512
+ child,
12513
+ nextName,
12514
+ callback,
12515
+ traverseContext
12516
+ );
12517
+ }
12518
+ } else if (type === 'object') {
12519
+ var addendum = '';
12520
+ if (false) {}
12521
+ var childrenString = '' + children;
12522
+ invariant(
12523
+ false,
12524
+ 'Objects are not valid as a React child (found: %s).%s',
12525
+ childrenString === '[object Object]'
12526
+ ? 'object with keys {' + Object.keys(children).join(', ') + '}'
12527
+ : childrenString,
12528
+ addendum
12529
+ );
12530
+ }
12531
+ }
12532
+
12533
+ return subtreeCount;
12534
  }
12535
 
12536
+ function traverseAllChildren(children, callback, traverseContext) {
12537
+ if (children == null) {
12538
+ return 0;
12539
+ }
12540
 
12541
+ return traverseAllChildrenImpl(children, '', callback, traverseContext);
12542
+ }
 
12543
 
12544
+ var userProvidedKeyEscapeRegex = /\/+/g;
12545
+ function escapeUserProvidedKey(text) {
12546
+ return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/');
12547
+ }
12548
 
12549
+ function cloneAndReplaceKey(oldElement, newKey) {
12550
+ return React.cloneElement(
12551
+ oldElement,
12552
+ {key: newKey},
12553
+ oldElement.props !== undefined ? oldElement.props.children : undefined
12554
+ );
12555
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
12556
 
12557
+ var DEFAULT_POOL_SIZE = 10;
12558
+ var DEFAULT_POOLER = oneArgumentPooler;
12559
+
12560
+ var oneArgumentPooler = function(copyFieldsFrom) {
12561
+ var Klass = this;
12562
+ if (Klass.instancePool.length) {
12563
+ var instance = Klass.instancePool.pop();
12564
+ Klass.call(instance, copyFieldsFrom);
12565
+ return instance;
12566
+ } else {
12567
+ return new Klass(copyFieldsFrom);
12568
+ }
12569
  };
12570
 
12571
+ var addPoolingTo = function addPoolingTo(CopyConstructor, pooler) {
12572
+ // Casting as any so that flow ignores the actual implementation and trusts
12573
+ // it to match the type we declared
12574
+ var NewKlass = CopyConstructor;
12575
+ NewKlass.instancePool = [];
12576
+ NewKlass.getPooled = pooler || DEFAULT_POOLER;
12577
+ if (!NewKlass.poolSize) {
12578
+ NewKlass.poolSize = DEFAULT_POOL_SIZE;
12579
+ }
12580
+ NewKlass.release = standardReleaser;
12581
+ return NewKlass;
12582
  };
12583
 
12584
+ var standardReleaser = function standardReleaser(instance) {
12585
+ var Klass = this;
12586
+ invariant(
12587
+ instance instanceof Klass,
12588
+ 'Trying to release an instance into a pool of a different type.'
12589
+ );
12590
+ instance.destructor();
12591
+ if (Klass.instancePool.length < Klass.poolSize) {
12592
+ Klass.instancePool.push(instance);
 
 
 
 
 
 
 
 
 
 
12593
  }
12594
  };
12595
 
12596
+ var fourArgumentPooler = function fourArgumentPooler(a1, a2, a3, a4) {
12597
+ var Klass = this;
12598
+ if (Klass.instancePool.length) {
12599
+ var instance = Klass.instancePool.pop();
12600
+ Klass.call(instance, a1, a2, a3, a4);
12601
+ return instance;
12602
+ } else {
12603
+ return new Klass(a1, a2, a3, a4);
12604
+ }
12605
+ };
12606
+
12607
+ function MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) {
12608
+ this.result = mapResult;
12609
+ this.keyPrefix = keyPrefix;
12610
+ this.func = mapFunction;
12611
+ this.context = mapContext;
12612
+ this.count = 0;
12613
+ }
12614
+ MapBookKeeping.prototype.destructor = function() {
12615
+ this.result = null;
12616
+ this.keyPrefix = null;
12617
+ this.func = null;
12618
+ this.context = null;
12619
+ this.count = 0;
12620
+ };
12621
+ addPoolingTo(MapBookKeeping, fourArgumentPooler);
12622
+
12623
+ function mapSingleChildIntoContext(bookKeeping, child, childKey) {
12624
+ var result = bookKeeping.result;
12625
+ var keyPrefix = bookKeeping.keyPrefix;
12626
+ var func = bookKeeping.func;
12627
+ var context = bookKeeping.context;
12628
+
12629
+ var mappedChild = func.call(context, child, bookKeeping.count++);
12630
+ if (Array.isArray(mappedChild)) {
12631
+ mapIntoWithKeyPrefixInternal(
12632
+ mappedChild,
12633
+ result,
12634
+ childKey,
12635
+ emptyFunction.thatReturnsArgument
12636
+ );
12637
+ } else if (mappedChild != null) {
12638
+ if (React.isValidElement(mappedChild)) {
12639
+ mappedChild = cloneAndReplaceKey(
12640
+ mappedChild,
12641
+ // Keep both the (mapped) and old keys if they differ, just as
12642
+ // traverseAllChildren used to do for objects as children
12643
+ keyPrefix +
12644
+ (mappedChild.key && (!child || child.key !== mappedChild.key)
12645
+ ? escapeUserProvidedKey(mappedChild.key) + '/'
12646
+ : '') +
12647
+ childKey
12648
+ );
12649
+ }
12650
+ result.push(mappedChild);
12651
+ }
12652
+ }
12653
+
12654
+ function mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {
12655
+ var escapedPrefix = '';
12656
+ if (prefix != null) {
12657
+ escapedPrefix = escapeUserProvidedKey(prefix) + '/';
12658
+ }
12659
+ var traverseContext = MapBookKeeping.getPooled(
12660
+ array,
12661
+ escapedPrefix,
12662
+ func,
12663
+ context
12664
+ );
12665
+ traverseAllChildren(children, mapSingleChildIntoContext, traverseContext);
12666
+ MapBookKeeping.release(traverseContext);
12667
+ }
12668
 
12669
+ var numericPropertyRegex = /^\d+$/;
12670
 
12671
+ var warnedAboutNumeric = false;
 
 
 
 
 
 
12672
 
12673
+ function createReactFragment(object) {
12674
+ if (typeof object !== 'object' || !object || Array.isArray(object)) {
12675
+ warning(
12676
+ false,
12677
+ 'React.addons.createFragment only accepts a single object. Got: %s',
12678
+ object
12679
+ );
12680
+ return object;
12681
+ }
12682
+ if (React.isValidElement(object)) {
12683
+ warning(
12684
+ false,
12685
+ 'React.addons.createFragment does not accept a ReactElement ' +
12686
+ 'without a wrapper object.'
12687
+ );
12688
+ return object;
12689
+ }
 
 
 
12690
 
12691
+ invariant(
12692
+ object.nodeType !== 1,
12693
+ 'React.addons.createFragment(...): Encountered an invalid child; DOM ' +
12694
+ 'elements are not valid children of React components.'
12695
+ );
12696
+
12697
+ var result = [];
 
 
 
 
 
 
 
 
 
 
 
 
 
12698
 
12699
+ for (var key in object) {
12700
+ if (false) {}
12701
+ mapIntoWithKeyPrefixInternal(
12702
+ object[key],
12703
+ result,
12704
+ key,
12705
+ emptyFunction.thatReturnsArgument
12706
+ );
12707
  }
12708
+
12709
+ return result;
12710
+ }
12711
+
12712
+ module.exports = createReactFragment;
12713
 
12714
 
12715
  /***/ }),
12716
+
12717
+ /***/ 83:
12718
  /***/ (function(module, exports, __webpack_require__) {
12719
 
12720
+ "use strict";
12721
+ /**
12722
+ * Copyright (c) 2013-present, Facebook, Inc.
12723
+ *
12724
+ * This source code is licensed under the MIT license found in the
12725
+ * LICENSE file in the root directory of this source tree.
12726
+ *
12727
+ */
12728
 
 
 
 
 
 
12729
 
 
12730
 
12731
+ /**
12732
+ * Use invariant() to assert state which your program assumes to be true.
12733
+ *
12734
+ * Provide sprintf-style format (only %s is supported) and arguments
12735
+ * to provide information about what broke and what you were
12736
+ * expecting.
12737
+ *
12738
+ * The invariant message will be stripped in production, but the invariant
12739
+ * will remain to ensure logic does not differ in production.
12740
+ */
12741
 
12742
+ var validateFormat = function validateFormat(format) {};
12743
 
12744
+ if (false) {}
 
 
12745
 
12746
+ function invariant(condition, format, a, b, c, d, e, f) {
12747
+ validateFormat(format);
 
12748
 
12749
+ if (!condition) {
12750
+ var error;
12751
+ if (format === undefined) {
12752
+ error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');
12753
+ } else {
12754
+ var args = [a, b, c, d, e, f];
12755
+ var argIndex = 0;
12756
+ error = new Error(format.replace(/%s/g, function () {
12757
+ return args[argIndex++];
12758
+ }));
12759
+ error.name = 'Invariant Violation';
12760
+ }
12761
 
12762
+ error.framesToPop = 1; // we don't care about invariant's own frame
12763
+ throw error;
12764
+ }
12765
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12766
 
12767
+ module.exports = invariant;
12768
 
12769
  /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12770
 
12771
+ /***/ 84:
12772
+ /***/ (function(module, exports, __webpack_require__) {
12773
 
12774
+ "use strict";
12775
  /**
12776
+ * Copyright (c) 2014-present, Facebook, Inc.
12777
+ *
12778
+ * This source code is licensed under the MIT license found in the
12779
+ * LICENSE file in the root directory of this source tree.
12780
+ *
12781
  */
12782
 
 
 
 
 
 
 
 
 
 
 
 
 
12783