WooCommerce Admin - Version 2.2.0

Version Description

3/30/2021 ==

  • Fix: Check if features are currently being enabled #6688
  • Add: Next new novel navigation nudge note #6610
  • Fix: Fix the activity panel toggle not closing on click #6679
  • Tweak: Add default value for contains op #6622
  • Fix: Fix use of feature checks and remove deprecated method calls #6687
  • Dev: Close activity panel tabs by default and track #6566
  • Dev: Update undefined task name properties for help panel tracks #6565
  • Fix: Allow the manager role to query certain options #6577
  • Dev: Refactor profile wizard benefits step and add tests #6583
  • Fix: Delete customer data on network user deletion #6574
  • Fix: Fix Themes step visibility in IE 11 #6578
  • Fix: Fix hidden menu title on smaller screens #6562
  • Fix: Add gross sales column to CSV export #6567
  • Dev: Add filter to profile wizard steps #6564
  • Tweak: Adjust targeting store age for the Add First Product note #6554
  • Tweak: Improve WC Shipping & Tax logic #6547
  • Tweak: Update Insight inbox note content #6555
  • Dev: Add nav intro modal tests #6518
  • Dev: Use wc filter to get status tabs for tools category #6525
  • Tweak: Remove mobile activity panel toggle #6539
  • Dev: Add nav header component tests #6509
  • Add: Add legacy report items to new navigation #6507
  • Dev: Add initial tests for navigation Menu class #6492
  • Dev: Remove active item from navigation store #6486
  • Dev: Add navigation container tests #6464
  • Add: Add preview site button on the appearance task #6457
  • Fix: Add check for navigating being enabled. #6462
  • Dev: Add nav favorite button tests #6446
  • Dev: Add a changelog lint check to PRs. #6414
  • Dev: Add navigation favorites tests #6409
  • Fix: Move the shipping input and text 1px lower. #6408
  • Dev: support use of Array.flat in client and packages. #6411
  • Fix: Correct the Klarna slug #6440
  • Tweak: Refactor autoloader to remove global variable. #6412
  • Dev: Deprecate Onboarding::has_woocommerce_support. #6401
  • Fix: Broken link anchors to online documentation. #6455
  • Dev: Add Dependency Extraction Webpack Plugin #5762
  • Dev: Add client-side filter for Navigation rootBackUrl #6505
  • Add: Back button to go to home screen from tasks in the task list. #6397
  • Fix: Update payment card style on mobile #6413
  • Fix: Missing i18n in Welcome modal. #6456
  • Fix: Restore visual styles back to Analytics tabs. #5913
  • Add: Add a "rather not say" option to revenue in the profile wizard. #6475
  • Fix: Update contrast and hover / active colors for analytics dropdown buttons #6504
  • Dev: Remove items_purchased and account_type props from onboarding profile API. #6520
  • Dev: Added warning when WC-Admin is active but not being used #6453
  • Fix: Associated Order Number for refunds was hidden #6428
  • Add: Remove Mollie promo note on install #6510
  • Add: Remote Inbox Notifications rule to trigger when WooCommerce Admin is upgraded. #6040
  • Dev: Store profiler - Added MailPoet to Business Details step #6503
  • Dev: Store profiler - Added MailPoet to new Business Details step #6515
  • Dev: Add tilde (~) to represent client root directory for imports. #6517
  • Fix: Fix issue where Loader::is_admin_page() would error if WooCommerce admin is disabled. #6563
  • Add: CES survey for search product, order, customer #6420
  • Add: CES survey for importing products #6419
  • Add: CES survey for adding product categories, tags, and attributes #6418
  • Add: Additional analytics tracking for the business details step. #6575
  • Add: Include tracking for mail poet installs in the selective bundle install #6603
  • Dev: Add script automation for gathering hooks and filters. #6454
  • Fix: Correct a bug where the JP connection flow would not happen when installing JP in the OBW. #6521
  • Dev: Add TypeScript and page objects to the E2E test suite. #6582
  • Dev: Introduce Typescript to Navigation utils #6477
  • Add: Paystack payment provider to several african countries. #6579
  • Dev: Payments task: include Mercado Pago #6572
  • Dev: Ensure script asset.php files are included in builds #6635
  • Fix: Show management links when the task list is complete (even if its not hidden). #6657
  • Fix: Adding New Zealand and Ireland to selective bundle option, previously missed. #6649
  • Fix: Update the Mercado option used for enabling/disabling. #6677
  • Dev: Ensure production script asset names don't include .min suffix #6681
  • Fix: Improve AddFirstProduct email note contents. #6617

=

Download this release

Release Info

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

Code changes from version 2.1.4 to 2.2.0

Files changed (1) hide show
  1. dist/app/index.js +16011 -10419
dist/app/index.js CHANGED
@@ -95,7 +95,7 @@ this["wc"] = this["wc"] || {}; this["wc"]["app"] =
95
  /******/
96
  /******/
97
  /******/ // mini-css-extract-plugin CSS loading
98
- /******/ var cssChunks = {"0":1,"3":1,"4":1,"7":1,"9":1,"14":1,"20":1,"28":1,"29":1,"32":1,"34":1,"36":1,"46":1,"47":1,"48":1,"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,19 +259,17 @@ this["wc"] = this["wc"] || {}; this["wc"]["app"] =
259
  /******/
260
  /******/
261
  /******/ // Load entry module and return exports
262
- /******/ return __webpack_require__(__webpack_require__.s = 294);
263
  /******/ })
264
  /************************************************************************/
265
- /******/ ({
266
-
267
- /***/ 0:
268
  /***/ (function(module, exports) {
269
 
270
- (function() { module.exports = this["wp"]["element"]; }());
271
 
272
  /***/ }),
273
-
274
- /***/ 1:
275
  /***/ (function(module, exports, __webpack_require__) {
276
 
277
  /**
@@ -284,8592 +282,12565 @@ this["wc"] = this["wc"] || {}; this["wc"]["app"] =
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__(77)();
288
  }
289
 
290
 
291
  /***/ }),
292
-
293
- /***/ 10:
294
  /***/ (function(module, exports) {
295
 
296
- (function() { module.exports = this["React"]; }());
297
 
298
  /***/ }),
 
 
299
 
300
- /***/ 11:
301
- /***/ (function(module, exports) {
 
302
 
303
- (function() { module.exports = this["wp"]["data"]; }());
 
 
 
 
 
 
 
 
 
 
304
 
305
  /***/ }),
 
 
306
 
307
- /***/ 111:
 
 
 
308
  /***/ (function(module, exports) {
309
 
310
- (function() { module.exports = this["wc"]["currency"]; }());
311
 
312
  /***/ }),
 
 
 
 
 
 
 
 
 
 
 
313
 
314
- /***/ 12:
 
315
  /***/ (function(module, exports) {
316
 
317
- function _classCallCheck(instance, Constructor) {
318
- if (!(instance instanceof Constructor)) {
319
- throw new TypeError("Cannot call a class as a function");
 
 
 
 
 
 
 
320
  }
 
 
321
  }
322
 
323
- module.exports = _classCallCheck;
324
 
325
  /***/ }),
 
 
326
 
327
- /***/ 121:
328
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
329
 
330
- "use strict";
331
 
332
- // EXPORTS
333
- __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ build_module_focus; });
 
334
 
335
- // UNUSED EXPORTS: isHorizontalEdge, isVerticalEdge, getRectangleFromRange, computeCaretRect, placeCaretAtHorizontalEdge, placeCaretAtVerticalEdge, isTextField, isNumberInput, documentHasTextSelection, documentHasUncollapsedSelection, documentHasSelection, isEntirelySelected, getScrollContainer, getOffsetParent, replace, remove, insertAfter, unwrap, replaceTag, wrap, __unstableStripHTML, isEmpty, removeInvalidHTML, getPhrasingContentSchema, isPhrasingContent, isTextContent, getFilesFromDataTransfer
336
 
337
- // NAMESPACE OBJECT: ./node_modules/@wordpress/dom/build-module/focusable.js
338
- var focusable_namespaceObject = {};
339
- __webpack_require__.r(focusable_namespaceObject);
340
- __webpack_require__.d(focusable_namespaceObject, "find", function() { return find; });
 
341
 
342
- // NAMESPACE OBJECT: ./node_modules/@wordpress/dom/build-module/tabbable.js
343
- var tabbable_namespaceObject = {};
344
- __webpack_require__.r(tabbable_namespaceObject);
345
- __webpack_require__.d(tabbable_namespaceObject, "isTabbableIndex", function() { return isTabbableIndex; });
346
- __webpack_require__.d(tabbable_namespaceObject, "find", function() { return tabbable_find; });
347
- __webpack_require__.d(tabbable_namespaceObject, "findPrevious", function() { return findPrevious; });
348
- __webpack_require__.d(tabbable_namespaceObject, "findNext", function() { return findNext; });
349
 
350
- // CONCATENATED MODULE: ./node_modules/@wordpress/dom/build-module/focusable.js
351
- /**
352
- * References:
353
- *
354
- * Focusable:
355
- * - https://www.w3.org/TR/html5/editing.html#focus-management
356
- *
357
- * Sequential focus navigation:
358
- * - https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute
359
- *
360
- * Disabled elements:
361
- * - https://www.w3.org/TR/html5/disabled-elements.html#disabled-elements
362
- *
363
- * getClientRects algorithm (requiring layout box):
364
- * - https://www.w3.org/TR/cssom-view-1/#extension-to-the-element-interface
365
- *
366
- * AREA elements associated with an IMG:
367
- * - https://w3c.github.io/html/editing.html#data-model
368
- */
369
- var SELECTOR = ['[tabindex]', 'a[href]', 'button:not([disabled])', 'input:not([type="hidden"]):not([disabled])', 'select:not([disabled])', 'textarea:not([disabled])', 'iframe', 'object', 'embed', 'area[href]', '[contenteditable]:not([contenteditable=false])'].join(',');
370
- /**
371
- * Returns true if the specified element is visible (i.e. neither display: none
372
- * nor visibility: hidden).
373
- *
374
- * @param {Element} element DOM element to test.
375
- *
376
- * @return {boolean} Whether element is visible.
377
- */
378
 
379
- function isVisible(element) {
380
- return element.offsetWidth > 0 || element.offsetHeight > 0 || element.getClientRects().length > 0;
381
- }
382
- /**
383
- * Returns true if the specified element should be skipped from focusable elements.
384
- * For now it rather specific for `iframes` and if tabindex attribute is set to -1.
385
- *
386
- * @param {Element} element DOM element to test.
387
- *
388
- * @return {boolean} Whether element should be skipped from focusable elements.
389
- */
390
 
391
 
392
- function skipFocus(element) {
393
- return element.nodeName.toLowerCase() === 'iframe' && element.getAttribute('tabindex') === '-1';
394
- }
395
- /**
396
- * Returns true if the specified area element is a valid focusable element, or
397
- * false otherwise. Area is only focusable if within a map where a named map
398
- * referenced by an image somewhere in the document.
399
- *
400
- * @param {Element} element DOM area element to test.
401
- *
402
- * @return {boolean} Whether area element is valid for focus.
403
- */
404
 
 
405
 
406
- function isValidFocusableArea(element) {
407
- var map = element.closest('map[name]');
 
408
 
409
- if (!map) {
410
- return false;
411
- }
412
 
413
- var img = element.ownerDocument.querySelector('img[usemap="#' + map.name + '"]');
414
- return !!img && isVisible(img);
415
- }
416
- /**
417
- * Returns all focusable elements within a given context.
418
- *
419
- * @param {Element} context Element in which to search.
420
- *
421
- * @return {Element[]} Focusable elements.
422
- */
423
 
 
 
 
 
 
 
 
424
 
425
- function find(context) {
426
- var elements = context.querySelectorAll(SELECTOR);
427
- return Array.from(elements).filter(function (element) {
428
- if (!isVisible(element) || skipFocus(element)) {
429
- return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
430
  }
431
-
432
- var nodeName = element.nodeName;
433
-
434
- if ('AREA' === nodeName) {
435
- return isValidFocusableArea(element);
436
  }
 
 
 
 
437
 
438
- return true;
439
- });
440
- }
441
- //# sourceMappingURL=focusable.js.map
442
- // EXTERNAL MODULE: external "lodash"
443
- var external_lodash_ = __webpack_require__(3);
444
-
445
- // CONCATENATED MODULE: ./node_modules/@wordpress/dom/build-module/tabbable.js
446
- /**
447
- * External dependencies
448
- */
449
 
450
- /**
451
- * Internal dependencies
452
- */
453
 
 
454
 
455
- /**
456
- * Returns the tab index of the given element. In contrast with the tabIndex
457
- * property, this normalizes the default (0) to avoid browser inconsistencies,
458
- * operating under the assumption that this function is only ever called with a
459
- * focusable node.
460
- *
461
- * @see https://bugzilla.mozilla.org/show_bug.cgi?id=1190261
462
- *
463
- * @param {Element} element Element from which to retrieve.
464
- *
465
- * @return {?number} Tab index of element (default 0).
466
- */
467
 
468
- function getTabIndex(element) {
469
- var tabIndex = element.getAttribute('tabindex');
470
- return tabIndex === null ? 0 : parseInt(tabIndex, 10);
471
- }
472
- /**
473
- * Returns true if the specified element is tabbable, or false otherwise.
474
- *
475
- * @param {Element} element Element to test.
476
- *
477
- * @return {boolean} Whether element is tabbable.
478
- */
479
 
 
 
 
480
 
481
- function isTabbableIndex(element) {
482
- return getTabIndex(element) !== -1;
 
 
 
483
  }
484
- /**
485
- * Returns a stateful reducer function which constructs a filtered array of
486
- * tabbable elements, where at most one radio input is selected for a given
487
- * name, giving priority to checked input, falling back to the first
488
- * encountered.
489
- *
490
- * @return {Function} Radio group collapse reducer.
491
- */
492
 
493
- function createStatefulCollapseRadioGroup() {
494
- var CHOSEN_RADIO_BY_NAME = {};
495
- return function collapseRadioGroup(result, element) {
496
- var nodeName = element.nodeName,
497
- type = element.type,
498
- checked = element.checked,
499
- name = element.name; // For all non-radio tabbables, construct to array by concatenating.
500
-
501
- if (nodeName !== 'INPUT' || type !== 'radio' || !name) {
502
- return result.concat(element);
503
- }
504
 
505
- var hasChosen = CHOSEN_RADIO_BY_NAME.hasOwnProperty(name); // Omit by skipping concatenation if the radio element is not chosen.
 
 
506
 
507
- var isChosen = checked || !hasChosen;
 
 
 
 
 
508
 
509
- if (!isChosen) {
510
- return result;
511
- } // At this point, if there had been a chosen element, the current
512
- // element is checked and should take priority. Retroactively remove
513
- // the element which had previously been considered the chosen one.
514
 
 
515
 
516
- if (hasChosen) {
517
- var hadChosenElement = CHOSEN_RADIO_BY_NAME[name];
518
- result = Object(external_lodash_["without"])(result, hadChosenElement);
519
- }
520
 
521
- CHOSEN_RADIO_BY_NAME[name] = element;
522
- return result.concat(element);
523
- };
524
- }
525
- /**
526
- * An array map callback, returning an object with the element value and its
527
- * array index location as properties. This is used to emulate a proper stable
528
- * sort where equal tabIndex should be left in order of their occurrence in the
529
- * document.
530
- *
531
- * @param {Element} element Element.
532
- * @param {number} index Array index of element.
533
- *
534
- * @return {Object} Mapped object with element, index.
535
- */
536
 
 
537
 
538
- function mapElementToObjectTabbable(element, index) {
539
- return {
540
- element: element,
541
- index: index
542
- };
543
- }
544
- /**
545
- * An array map callback, returning an element of the given mapped object's
546
- * element value.
547
- *
548
- * @param {Object} object Mapped object with index.
549
- *
550
- * @return {Element} Mapped object element.
551
- */
 
552
 
 
 
553
 
554
- function mapObjectTabbableToElement(object) {
555
- return object.element;
556
- }
557
- /**
558
- * A sort comparator function used in comparing two objects of mapped elements.
559
- *
560
- * @see mapElementToObjectTabbable
561
- *
562
- * @param {Object} a First object to compare.
563
- * @param {Object} b Second object to compare.
564
- *
565
- * @return {number} Comparator result.
566
- */
567
 
568
 
569
- function compareObjectTabbables(a, b) {
570
- var aTabIndex = getTabIndex(a.element);
571
- var bTabIndex = getTabIndex(b.element);
572
 
573
- if (aTabIndex === bTabIndex) {
574
- return a.index - b.index;
575
- }
576
 
577
- return aTabIndex - bTabIndex;
578
- }
579
- /**
580
- * Givin focusable elements, filters out tabbable element.
581
- *
582
- * @param {Array} focusables Focusable elements to filter.
583
- *
584
- * @return {Array} Tabbable elements.
585
- */
586
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
587
 
588
- function filterTabbable(focusables) {
589
- return focusables.filter(isTabbableIndex).map(mapElementToObjectTabbable).sort(compareObjectTabbables).map(mapObjectTabbableToElement).reduce(createStatefulCollapseRadioGroup(), []);
590
- }
591
 
592
- function tabbable_find(context) {
593
- return filterTabbable(find(context));
594
- }
595
- /**
596
- * Given a focusable element, find the preceding tabbable element.
597
- *
598
- * @param {Element} element The focusable element before which to look. Defaults
599
- * to the active element.
600
- */
601
 
602
- function findPrevious(element) {
603
- var focusables = find(element.ownerDocument.body);
604
- var index = focusables.indexOf(element); // Remove all focusables after and including `element`.
 
605
 
606
- focusables.length = index;
607
- return Object(external_lodash_["last"])(filterTabbable(focusables));
608
  }
609
- /**
610
- * Given a focusable element, find the next tabbable element.
611
- *
612
- * @param {Element} element The focusable element after which to look. Defaults
613
- * to the active element.
614
- */
615
-
616
- function findNext(element) {
617
- var focusables = find(element.ownerDocument.body);
618
- var index = focusables.indexOf(element); // Remove all focusables before and inside `element`.
619
 
620
- var remaining = focusables.slice(index + 1).filter(function (node) {
621
- return !element.contains(node);
622
- });
623
- return Object(external_lodash_["first"])(filterTabbable(remaining));
624
- }
625
- //# sourceMappingURL=tabbable.js.map
626
- // CONCATENATED MODULE: ./node_modules/@wordpress/dom/build-module/index.js
627
- /**
628
- * Internal dependencies
629
- */
630
 
 
 
 
631
 
632
- /**
633
- * Object grouping `focusable` and `tabbable` utils
634
- * under the keys with the same name.
635
- */
636
 
637
- var build_module_focus = {
638
- focusable: focusable_namespaceObject,
639
- tabbable: tabbable_namespaceObject
 
 
640
  };
641
 
642
 
 
 
 
643
 
644
- //# sourceMappingURL=index.js.map
645
 
646
  /***/ }),
647
-
648
- /***/ 122:
649
  /***/ (function(module, exports, __webpack_require__) {
650
 
651
- "use strict";
652
- var _extends=Object.assign||function(a){for(var c,b=1;b<arguments.length;b++)for(var d in c=arguments[b],c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=c[d]);return a};Object.defineProperty(exports,'__esModule',{value:!0});exports.default=function(a){var b=a.size,c=b===void 0?24:b,d=a.onClick,e=a.icon,f=a.className,g=_objectWithoutProperties(a,['size','onClick','icon','className']),j=['gridicon','gridicons-cross-small',f,!1,!1,!1].filter(Boolean).join(' ');return _react2.default.createElement('svg',_extends({className:j,height:c,width:c,onClick:d},g,{xmlns:'http://www.w3.org/2000/svg',viewBox:'0 0 24 24'}),_react2.default.createElement('g',null,_react2.default.createElement('path',{d:'M17.705 7.705l-1.41-1.41L12 10.59 7.705 6.295l-1.41 1.41L10.59 12l-4.295 4.295 1.41 1.41L12 13.41l4.295 4.295 1.41-1.41L13.41 12l4.295-4.295z'})))};var _react=__webpack_require__(10),_react2=_interopRequireDefault(_react);function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _objectWithoutProperties(a,b){var d={};for(var c in a)0<=b.indexOf(c)||Object.prototype.hasOwnProperty.call(a,c)&&(d[c]=a[c]);return d}module.exports=exports['default'];
 
 
 
 
 
653
 
654
 
655
  /***/ }),
656
-
657
- /***/ 125:
658
  /***/ (function(module, exports) {
659
 
660
- // shim for using process in browser
661
- var process = module.exports = {};
 
 
 
662
 
663
- // cached from whatever global is present so that test runners that stub it
664
- // don't break things. But we need to wrap it in a try catch in case it is
665
- // wrapped in strict mode code which doesn't define any globals. It's inside a
666
- // function because try/catches deoptimize in certain engines.
667
 
668
- var cachedSetTimeout;
669
- var cachedClearTimeout;
 
670
 
671
- function defaultSetTimout() {
672
- throw new Error('setTimeout has not been defined');
673
- }
674
- function defaultClearTimeout () {
675
- throw new Error('clearTimeout has not been defined');
 
 
 
676
  }
677
- (function () {
678
- try {
679
- if (typeof setTimeout === 'function') {
680
- cachedSetTimeout = setTimeout;
681
- } else {
682
- cachedSetTimeout = defaultSetTimout;
683
- }
684
- } catch (e) {
685
- cachedSetTimeout = defaultSetTimout;
686
- }
687
- try {
688
- if (typeof clearTimeout === 'function') {
689
- cachedClearTimeout = clearTimeout;
690
- } else {
691
- cachedClearTimeout = defaultClearTimeout;
692
- }
693
- } catch (e) {
694
- cachedClearTimeout = defaultClearTimeout;
695
- }
696
- } ())
697
- function runTimeout(fun) {
698
- if (cachedSetTimeout === setTimeout) {
699
- //normal enviroments in sane situations
700
- return setTimeout(fun, 0);
701
- }
702
- // if setTimeout wasn't available but was latter defined
703
- if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
704
- cachedSetTimeout = setTimeout;
705
- return setTimeout(fun, 0);
706
- }
707
- try {
708
- // when when somebody has screwed with setTimeout but no I.E. maddness
709
- return cachedSetTimeout(fun, 0);
710
- } catch(e){
711
- try {
712
- // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
713
- return cachedSetTimeout.call(null, fun, 0);
714
- } catch(e){
715
- // 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
716
- return cachedSetTimeout.call(this, fun, 0);
717
- }
718
- }
719
-
720
 
 
 
 
 
721
  }
722
- function runClearTimeout(marker) {
723
- if (cachedClearTimeout === clearTimeout) {
724
- //normal enviroments in sane situations
725
- return clearTimeout(marker);
726
- }
727
- // if clearTimeout wasn't available but was latter defined
728
- if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
729
- cachedClearTimeout = clearTimeout;
730
- return clearTimeout(marker);
731
- }
732
- try {
733
- // when when somebody has screwed with setTimeout but no I.E. maddness
734
- return cachedClearTimeout(marker);
735
- } catch (e){
736
- try {
737
- // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
738
- return cachedClearTimeout.call(null, marker);
739
- } catch (e){
740
- // 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.
741
- // Some versions of I.E. have different rules for clearTimeout vs setTimeout
742
- return cachedClearTimeout.call(this, marker);
743
- }
744
- }
745
 
 
746
 
 
 
 
747
 
748
- }
749
- var queue = [];
750
- var draining = false;
751
- var currentQueue;
752
- var queueIndex = -1;
753
 
754
- function cleanUpNextTick() {
755
- if (!draining || !currentQueue) {
756
- return;
757
- }
758
- draining = false;
759
- if (currentQueue.length) {
760
- queue = currentQueue.concat(queue);
761
- } else {
762
- queueIndex = -1;
763
- }
764
- if (queue.length) {
765
- drainQueue();
766
  }
 
 
767
  }
768
 
769
- function drainQueue() {
770
- if (draining) {
771
- return;
772
- }
773
- var timeout = runTimeout(cleanUpNextTick);
774
- draining = true;
775
 
776
- var len = queue.length;
777
- while(len) {
778
- currentQueue = queue;
779
- queue = [];
780
- while (++queueIndex < len) {
781
- if (currentQueue) {
782
- currentQueue[queueIndex].run();
783
- }
784
- }
785
- queueIndex = -1;
786
- len = queue.length;
787
- }
788
- currentQueue = null;
789
- draining = false;
790
- runClearTimeout(timeout);
791
  }
792
 
793
- process.nextTick = function (fun) {
794
- var args = new Array(arguments.length - 1);
795
- if (arguments.length > 1) {
796
- for (var i = 1; i < arguments.length; i++) {
797
- args[i - 1] = arguments[i];
798
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
799
  }
800
- queue.push(new Item(fun, args));
801
- if (queue.length === 1 && !draining) {
802
- runTimeout(drainQueue);
803
  }
804
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
805
 
806
- // v8 likes predictible objects
807
- function Item(fun, array) {
808
- this.fun = fun;
809
- this.array = array;
810
- }
811
- Item.prototype.run = function () {
812
- this.fun.apply(null, this.array);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
813
  };
814
- process.title = 'browser';
815
- process.browser = true;
816
- process.env = {};
817
- process.argv = [];
818
- process.version = ''; // empty string to avoid regexp issues
819
- process.versions = {};
820
 
821
- function noop() {}
822
 
823
- process.on = noop;
824
- process.addListener = noop;
825
- process.once = noop;
826
- process.off = noop;
827
- process.removeListener = noop;
828
- process.removeAllListeners = noop;
829
- process.emit = noop;
830
- process.prependListener = noop;
831
- process.prependOnceListener = noop;
832
 
833
- process.listeners = function (name) { return [] }
 
834
 
835
- process.binding = function (name) {
836
- throw new Error('process.binding is not supported');
837
  };
838
 
839
- process.cwd = function () { return '/' };
840
- process.chdir = function (dir) {
841
- throw new Error('process.chdir is not supported');
842
  };
843
- process.umask = function() { return 0; };
844
 
845
 
846
  /***/ }),
 
 
847
 
848
- /***/ 126:
849
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
850
 
851
- "use strict";
852
 
 
 
 
853
 
854
- if (true) {
855
- module.exports = __webpack_require__(152);
856
- } else {}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
857
 
858
 
859
  /***/ }),
 
 
860
 
861
- /***/ 13:
862
- /***/ (function(module, exports) {
863
 
864
- function _defineProperties(target, props) {
865
- for (var i = 0; i < props.length; i++) {
866
- var descriptor = props[i];
867
- descriptor.enumerable = descriptor.enumerable || false;
868
- descriptor.configurable = true;
869
- if ("value" in descriptor) descriptor.writable = true;
870
- Object.defineProperty(target, descriptor.key, descriptor);
871
- }
872
- }
873
 
874
- function _createClass(Constructor, protoProps, staticProps) {
875
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
876
- if (staticProps) _defineProperties(Constructor, staticProps);
877
- return Constructor;
878
- }
879
 
880
- module.exports = _createClass;
881
 
882
  /***/ }),
 
 
883
 
884
- /***/ 137:
885
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
886
 
887
- "use strict";
888
- /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
889
- /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
890
- /* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(43);
891
- /* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__);
892
- /* harmony import */ var _woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(25);
893
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0);
894
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);
895
- /**
896
- * External dependencies
897
- */
898
 
 
899
 
900
 
 
 
 
901
 
902
- var manageStock = Object(_woocommerce_wc_admin_settings__WEBPACK_IMPORTED_MODULE_2__[/* getSetting */ "g"])('manageStock', 'no');
903
- var REPORTS_FILTER = 'woocommerce_admin_reports_list';
904
- /**
905
- * Internal dependencies
906
- */
907
 
908
- var RevenueReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["lazy"])(function () {
909
- return Promise.all(/* import() | analytics-report-revenue */[__webpack_require__.e(0), __webpack_require__.e(16)]).then(__webpack_require__.bind(null, 486));
910
- });
911
- var ProductsReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["lazy"])(function () {
912
- return Promise.all(/* import() | analytics-report-products */[__webpack_require__.e(0), __webpack_require__.e(3), __webpack_require__.e(15)]).then(__webpack_require__.bind(null, 482));
913
- });
914
- var VariationsReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["lazy"])(function () {
915
- return Promise.all(/* import() | analytics-report-variations */[__webpack_require__.e(0), __webpack_require__.e(19)]).then(__webpack_require__.bind(null, 487));
916
- });
917
- var OrdersReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["lazy"])(function () {
918
- return Promise.all(/* import() | analytics-report-orders */[__webpack_require__.e(0), __webpack_require__.e(6), __webpack_require__.e(14)]).then(__webpack_require__.bind(null, 488));
919
- });
920
- var CategoriesReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["lazy"])(function () {
921
- return Promise.all(/* import() | analytics-report-categories */[__webpack_require__.e(0), __webpack_require__.e(3), __webpack_require__.e(10)]).then(__webpack_require__.bind(null, 484));
922
- });
923
- var CouponsReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["lazy"])(function () {
924
- return Promise.all(/* import() | analytics-report-coupons */[__webpack_require__.e(0), __webpack_require__.e(11)]).then(__webpack_require__.bind(null, 489));
925
- });
926
- var TaxesReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["lazy"])(function () {
927
- return Promise.all(/* import() | analytics-report-taxes */[__webpack_require__.e(0), __webpack_require__.e(18)]).then(__webpack_require__.bind(null, 490));
928
- });
929
- var DownloadsReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["lazy"])(function () {
930
- return Promise.all(/* import() | analytics-report-downloads */[__webpack_require__.e(0), __webpack_require__.e(13)]).then(__webpack_require__.bind(null, 491));
931
- });
932
- var StockReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["lazy"])(function () {
933
- return Promise.all(/* import() | analytics-report-stock */[__webpack_require__.e(0), __webpack_require__.e(17)]).then(__webpack_require__.bind(null, 483));
934
- });
935
- var CustomersReport = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["lazy"])(function () {
936
- return Promise.all(/* import() | analytics-report-customers */[__webpack_require__.e(0), __webpack_require__.e(12)]).then(__webpack_require__.bind(null, 485));
937
- });
938
- /* harmony default export */ __webpack_exports__["a"] = (function () {
939
- var reports = [{
940
- report: 'revenue',
941
- title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Revenue', 'woocommerce-admin'),
942
- component: RevenueReport,
943
- navArgs: {
944
- id: 'woocommerce-analytics-revenue'
945
- }
946
- }, {
947
- report: 'products',
948
- title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Products', 'woocommerce-admin'),
949
- component: ProductsReport,
950
- navArgs: {
951
- id: 'woocommerce-analytics-products'
952
- }
953
- }, {
954
- report: 'variations',
955
- title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Variations', 'woocommerce-admin'),
956
- component: VariationsReport,
957
- navArgs: {
958
- id: 'woocommerce-analytics-variations'
959
- }
960
- }, {
961
- report: 'orders',
962
- title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Orders', 'woocommerce-admin'),
963
- component: OrdersReport,
964
- navArgs: {
965
- id: 'woocommerce-analytics-orders'
966
- }
967
- }, {
968
- report: 'categories',
969
- title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Categories', 'woocommerce-admin'),
970
- component: CategoriesReport,
971
- navArgs: {
972
- id: 'woocommerce-analytics-categories'
973
- }
974
- }, {
975
- report: 'coupons',
976
- title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Coupons', 'woocommerce-admin'),
977
- component: CouponsReport,
978
- navArgs: {
979
- id: 'woocommerce-analytics-coupons'
980
- }
981
- }, {
982
- report: 'taxes',
983
- title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Taxes', 'woocommerce-admin'),
984
- component: TaxesReport,
985
- navArgs: {
986
- id: 'woocommerce-analytics-taxes'
987
- }
988
- }, manageStock === 'yes' ? {
989
- report: 'stock',
990
- title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Stock', 'woocommerce-admin'),
991
- component: StockReport,
992
- navArgs: {
993
- id: 'woocommerce-analytics-stock'
994
- }
995
- } : null, {
996
- report: 'customers',
997
- title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Customers', 'woocommerce-admin'),
998
- component: CustomersReport
999
- }, {
1000
- report: 'downloads',
1001
- title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__["__"])('Downloads', 'woocommerce-admin'),
1002
- component: DownloadsReport,
1003
- navArgs: {
1004
- id: 'woocommerce-analytics-downloads'
1005
- }
1006
- }].filter(Boolean);
1007
- return Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_1__["applyFilters"])(REPORTS_FILTER, reports);
1008
- });
1009
 
1010
- /***/ }),
1011
 
1012
- /***/ 138:
 
1013
  /***/ (function(module, exports, __webpack_require__) {
1014
 
1015
- "use strict";
 
 
 
1016
 
 
1017
 
1018
- var reactIs = __webpack_require__(126);
 
 
 
 
 
 
1019
 
1020
- /**
1021
- * Copyright 2015, Yahoo! Inc.
1022
- * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
1023
- */
1024
- var REACT_STATICS = {
1025
- childContextTypes: true,
1026
- contextType: true,
1027
- contextTypes: true,
1028
- defaultProps: true,
1029
- displayName: true,
1030
- getDefaultProps: true,
1031
- getDerivedStateFromError: true,
1032
- getDerivedStateFromProps: true,
1033
- mixins: true,
1034
- propTypes: true,
1035
- type: true
1036
- };
1037
- var KNOWN_STATICS = {
1038
- name: true,
1039
- length: true,
1040
- prototype: true,
1041
- caller: true,
1042
- callee: true,
1043
- arguments: true,
1044
- arity: true
1045
- };
1046
- var FORWARD_REF_STATICS = {
1047
- '$$typeof': true,
1048
- render: true,
1049
- defaultProps: true,
1050
- displayName: true,
1051
- propTypes: true
1052
- };
1053
- var MEMO_STATICS = {
1054
- '$$typeof': true,
1055
- compare: true,
1056
- defaultProps: true,
1057
- displayName: true,
1058
- propTypes: true,
1059
- type: true
1060
- };
1061
- var TYPE_STATICS = {};
1062
- TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
1063
- TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
1064
 
1065
- function getStatics(component) {
1066
- // React v16.11 and below
1067
- if (reactIs.isMemo(component)) {
1068
- return MEMO_STATICS;
1069
- } // React v16.12 and above
1070
 
 
 
 
 
 
 
 
 
1071
 
1072
- return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
1073
- }
1074
 
1075
- var defineProperty = Object.defineProperty;
1076
- var getOwnPropertyNames = Object.getOwnPropertyNames;
1077
- var getOwnPropertySymbols = Object.getOwnPropertySymbols;
1078
- var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
1079
- var getPrototypeOf = Object.getPrototypeOf;
1080
- var objectPrototype = Object.prototype;
1081
- function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
1082
- if (typeof sourceComponent !== 'string') {
1083
- // don't hoist over string (html) components
1084
- if (objectPrototype) {
1085
- var inheritedComponent = getPrototypeOf(sourceComponent);
1086
 
1087
- if (inheritedComponent && inheritedComponent !== objectPrototype) {
1088
- hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
1089
- }
1090
- }
 
 
 
 
 
 
 
 
 
 
1091
 
1092
- var keys = getOwnPropertyNames(sourceComponent);
1093
 
1094
- if (getOwnPropertySymbols) {
1095
- keys = keys.concat(getOwnPropertySymbols(sourceComponent));
1096
- }
1097
 
1098
- var targetStatics = getStatics(targetComponent);
1099
- var sourceStatics = getStatics(sourceComponent);
1100
 
1101
- for (var i = 0; i < keys.length; ++i) {
1102
- var key = keys[i];
 
1103
 
1104
- if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
1105
- var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
1106
 
1107
- try {
1108
- // Avoid failures from read-only properties
1109
- defineProperty(targetComponent, key, descriptor);
1110
- } catch (e) {}
1111
- }
1112
- }
1113
  }
1114
-
1115
- return targetComponent;
1116
- }
1117
-
1118
- module.exports = hoistNonReactStatics;
1119
 
1120
 
1121
  /***/ }),
1122
-
1123
- /***/ 139:
1124
  /***/ (function(module, exports) {
1125
 
1126
- (function() { module.exports = this["wp"]["plugins"]; }());
 
 
 
 
 
 
 
1127
 
1128
- /***/ }),
1129
 
1130
- /***/ 14:
 
1131
  /***/ (function(module, exports, __webpack_require__) {
1132
 
1133
- var setPrototypeOf = __webpack_require__(72);
1134
 
1135
- function _inherits(subClass, superClass) {
1136
- if (typeof superClass !== "function" && superClass !== null) {
1137
- throw new TypeError("Super expression must either be null or a function");
1138
- }
1139
 
1140
- subClass.prototype = Object.create(superClass && superClass.prototype, {
1141
- constructor: {
1142
- value: subClass,
1143
- writable: true,
1144
- configurable: true
1145
- }
1146
- });
1147
- if (superClass) setPrototypeOf(subClass, superClass);
1148
  }
1149
 
1150
- module.exports = _inherits;
1151
 
1152
  /***/ }),
 
 
1153
 
1154
- /***/ 140:
1155
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
1156
 
1157
- "use strict";
1158
 
1159
- // EXPORTS
1160
- __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ speak; });
1161
 
1162
- // UNUSED EXPORTS: setup
1163
 
1164
- // EXTERNAL MODULE: ./node_modules/@wordpress/dom-ready/build-module/index.js
1165
- var build_module = __webpack_require__(54);
 
1166
 
1167
- // EXTERNAL MODULE: external {"this":["wp","i18n"]}
1168
- var external_this_wp_i18n_ = __webpack_require__(2);
1169
 
1170
- // CONCATENATED MODULE: ./node_modules/@wordpress/a11y/build-module/add-intro-text.js
1171
- /**
1172
- * WordPress dependencies
1173
- */
1174
 
1175
- /**
1176
- * Build the explanatory text to be placed before the aria live regions.
1177
- *
1178
- * This text is initially hidden from assistive technologies by using a `hidden`
1179
- * HTML attribute which is then removed once a message fills the aria-live regions.
1180
- *
1181
- * @return {HTMLParagraphElement} The explanatory text HTML element.
1182
- */
1183
 
1184
- function addIntroText() {
1185
- var introText = document.createElement('p');
1186
- introText.id = 'a11y-speak-intro-text';
1187
- introText.className = 'a11y-speak-intro-text';
1188
- introText.textContent = Object(external_this_wp_i18n_["__"])('Notifications');
1189
- introText.setAttribute('style', 'position: absolute;' + 'margin: -1px;' + 'padding: 0;' + 'height: 1px;' + 'width: 1px;' + 'overflow: hidden;' + 'clip: rect(1px, 1px, 1px, 1px);' + '-webkit-clip-path: inset(50%);' + 'clip-path: inset(50%);' + 'border: 0;' + 'word-wrap: normal !important;');
1190
- introText.setAttribute('hidden', 'hidden');
1191
- var _document = document,
1192
- body = _document.body;
1193
 
1194
- if (body) {
1195
- body.appendChild(introText);
1196
- }
1197
 
1198
- return introText;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1199
  }
1200
- //# sourceMappingURL=add-intro-text.js.map
1201
- // CONCATENATED MODULE: ./node_modules/@wordpress/a11y/build-module/add-container.js
1202
- /**
1203
- * Build the live regions markup.
1204
- *
1205
- * @param {string} [ariaLive] Value for the 'aria-live' attribute; default: 'polite'.
1206
- *
1207
- * @return {HTMLDivElement} The ARIA live region HTML element.
1208
- */
1209
- function addContainer() {
1210
- var ariaLive = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'polite';
1211
- var container = document.createElement('div');
1212
- container.id = "a11y-speak-".concat(ariaLive);
1213
- container.className = 'a11y-speak-region';
1214
- container.setAttribute('style', 'position: absolute;' + 'margin: -1px;' + 'padding: 0;' + 'height: 1px;' + 'width: 1px;' + 'overflow: hidden;' + 'clip: rect(1px, 1px, 1px, 1px);' + '-webkit-clip-path: inset(50%);' + 'clip-path: inset(50%);' + 'border: 0;' + 'word-wrap: normal !important;');
1215
- container.setAttribute('aria-live', ariaLive);
1216
- container.setAttribute('aria-relevant', 'additions text');
1217
- container.setAttribute('aria-atomic', 'true');
1218
- var _document = document,
1219
- body = _document.body;
1220
 
1221
- if (body) {
1222
- body.appendChild(container);
1223
- }
 
 
 
 
1224
 
1225
- return container;
1226
- }
1227
- //# sourceMappingURL=add-container.js.map
1228
- // CONCATENATED MODULE: ./node_modules/@wordpress/a11y/build-module/clear.js
1229
- /**
1230
- * Clears the a11y-speak-region elements and hides the explanatory text.
1231
- */
1232
- function clear() {
1233
- var regions = document.getElementsByClassName('a11y-speak-region');
1234
- var introText = document.getElementById('a11y-speak-intro-text');
1235
 
1236
- for (var i = 0; i < regions.length; i++) {
1237
- regions[i].textContent = '';
1238
- } // Make sure the explanatory text is hidden from assistive technologies.
1239
 
 
 
1240
 
1241
- if (introText) {
1242
- introText.setAttribute('hidden', 'hidden');
1243
- }
1244
- }
1245
- //# sourceMappingURL=clear.js.map
1246
- // CONCATENATED MODULE: ./node_modules/@wordpress/a11y/build-module/filter-message.js
1247
- var previousMessage = '';
1248
- /**
1249
- * Filter the message to be announced to the screenreader.
1250
- *
1251
- * @param {string} message The message to be announced.
1252
- *
1253
- * @return {string} The filtered message.
1254
- */
1255
 
1256
- function filterMessage(message) {
1257
- /*
1258
- * Strip HTML tags (if any) from the message string. Ideally, messages should
1259
- * be simple strings, carefully crafted for specific use with A11ySpeak.
1260
- * When re-using already existing strings this will ensure simple HTML to be
1261
- * stripped out and replaced with a space. Browsers will collapse multiple
1262
- * spaces natively.
1263
- */
1264
- message = message.replace(/<[^<>]+>/g, ' ');
1265
- /*
1266
- * Safari + VoiceOver don't announce repeated, identical strings. We use
1267
- * a `no-break space` to force them to think identical strings are different.
1268
- */
1269
 
1270
- if (previousMessage === message) {
1271
- message += "\xA0";
1272
- }
1273
 
1274
- previousMessage = message;
1275
- return message;
1276
- }
1277
- //# sourceMappingURL=filter-message.js.map
1278
- // CONCATENATED MODULE: ./node_modules/@wordpress/a11y/build-module/index.js
1279
- /**
1280
- * WordPress dependencies
1281
- */
1282
 
1283
- /**
1284
- * Internal dependencies
1285
- */
1286
 
 
1287
 
1288
 
 
 
 
1289
 
 
 
 
 
 
 
 
 
 
 
1290
 
1291
- /**
1292
- * Create the live regions.
1293
- */
1294
 
1295
- function setup() {
1296
- var introText = document.getElementById('a11y-speak-intro-text');
1297
- var containerAssertive = document.getElementById('a11y-speak-assertive');
1298
- var containerPolite = document.getElementById('a11y-speak-polite');
1299
 
1300
- if (introText === null) {
1301
- addIntroText();
 
 
 
 
 
 
 
 
 
 
 
1302
  }
 
1303
 
1304
- if (containerAssertive === null) {
1305
- addContainer('assertive');
1306
- }
1307
 
1308
- if (containerPolite === null) {
1309
- addContainer('polite');
1310
- }
1311
- }
1312
- /**
1313
- * Run setup on domReady.
1314
- */
1315
 
1316
- Object(build_module["a" /* default */])(setup);
1317
- /**
1318
- * Allows you to easily announce dynamic interface updates to screen readers using ARIA live regions.
1319
- * This module is inspired by the `speak` function in `wp-a11y.js`.
1320
- *
1321
- * @param {string} message The message to be announced by assistive technologies.
1322
- * @param {string} [ariaLive] The politeness level for aria-live; default: 'polite'.
1323
- *
1324
- * @example
1325
- * ```js
1326
- * import { speak } from '@wordpress/a11y';
1327
- *
1328
- * // For polite messages that shouldn't interrupt what screen readers are currently announcing.
1329
- * speak( 'The message you want to send to the ARIA live region' );
1330
- *
1331
- * // For assertive messages that should interrupt what screen readers are currently announcing.
1332
- * speak( 'The message you want to send to the ARIA live region', 'assertive' );
1333
- * ```
1334
- */
1335
 
1336
- function speak(message, ariaLive) {
1337
- /*
1338
- * Clear previous messages to allow repeated strings being read out and hide
1339
- * the explanatory text from assistive technologies.
1340
- */
1341
- clear();
1342
- message = filterMessage(message);
1343
- var introText = document.getElementById('a11y-speak-intro-text');
1344
- var containerAssertive = document.getElementById('a11y-speak-assertive');
1345
- var containerPolite = document.getElementById('a11y-speak-polite');
1346
-
1347
- if (containerAssertive && ariaLive === 'assertive') {
1348
- containerAssertive.textContent = message;
1349
- } else if (containerPolite) {
1350
- containerPolite.textContent = message;
1351
- }
1352
- /*
1353
- * Make the explanatory text available to assistive technologies by removing
1354
- * the 'hidden' HTML attribute.
1355
- */
1356
 
 
 
1357
 
1358
- if (introText) {
1359
- introText.removeAttribute('hidden');
1360
- }
1361
- }
1362
- //# sourceMappingURL=index.js.map
1363
 
1364
- /***/ }),
 
 
1365
 
1366
- /***/ 141:
1367
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
1368
 
1369
  "use strict";
1370
 
1371
- // EXPORTS
1372
- __webpack_require__.d(__webpack_exports__, "c", function() { return /* binding */ layout_PrimaryLayout; });
1373
- __webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ PageLayout; });
1374
- __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ EmbedLayout; });
1375
 
1376
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js
1377
- var helpers_extends = __webpack_require__(24);
1378
- var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends);
1379
 
1380
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js
1381
- var objectWithoutProperties = __webpack_require__(34);
1382
- var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
 
 
 
 
 
1383
 
1384
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
1385
- var defineProperty = __webpack_require__(5);
1386
- var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
1387
 
1388
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
1389
- var classCallCheck = __webpack_require__(12);
1390
- var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
1391
 
1392
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
1393
- var createClass = __webpack_require__(13);
1394
- var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
1395
 
1396
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inherits.js
1397
- var inherits = __webpack_require__(14);
1398
- var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1399
 
1400
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js
1401
- var possibleConstructorReturn = __webpack_require__(15);
1402
- var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn);
 
 
1403
 
1404
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/getPrototypeOf.js
1405
- var getPrototypeOf = __webpack_require__(7);
1406
- var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf);
 
 
 
 
 
 
 
 
 
 
 
 
1407
 
1408
- // EXTERNAL MODULE: external {"this":["wp","element"]}
1409
- var external_this_wp_element_ = __webpack_require__(0);
 
 
 
 
 
 
 
1410
 
1411
- // EXTERNAL MODULE: external {"this":["wp","compose"]}
1412
- var external_this_wp_compose_ = __webpack_require__(20);
 
1413
 
1414
- // EXTERNAL MODULE: external {"this":["wp","data"]}
1415
- var external_this_wp_data_ = __webpack_require__(11);
 
 
 
 
1416
 
1417
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js + 1 modules
1418
- var inheritsLoose = __webpack_require__(38);
 
 
 
 
 
 
 
 
1419
 
1420
- // EXTERNAL MODULE: external "React"
1421
- var external_React_ = __webpack_require__(10);
1422
- var external_React_default = /*#__PURE__*/__webpack_require__.n(external_React_);
 
 
 
 
 
1423
 
1424
- // EXTERNAL MODULE: ./node_modules/prop-types/index.js
1425
- var prop_types = __webpack_require__(1);
1426
- var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
 
 
 
 
 
 
 
 
1427
 
1428
- // EXTERNAL MODULE: ./node_modules/history/esm/history.js + 2 modules
1429
- var esm_history = __webpack_require__(71);
 
 
 
 
 
 
 
 
 
 
 
 
 
1430
 
1431
- // EXTERNAL MODULE: ./node_modules/mini-create-react-context/dist/esm/index.js
1432
- var esm = __webpack_require__(183);
 
1433
 
1434
- // EXTERNAL MODULE: ./node_modules/tiny-invariant/dist/tiny-invariant.esm.js
1435
- var tiny_invariant_esm = __webpack_require__(56);
 
1436
 
1437
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
1438
- var esm_extends = __webpack_require__(32);
 
 
 
1439
 
1440
- // EXTERNAL MODULE: ./node_modules/path-to-regexp/index.js
1441
- var path_to_regexp = __webpack_require__(184);
1442
- var path_to_regexp_default = /*#__PURE__*/__webpack_require__.n(path_to_regexp);
1443
 
1444
- // EXTERNAL MODULE: ./node_modules/react-is/index.js
1445
- var react_is = __webpack_require__(126);
 
 
 
 
 
 
 
 
 
 
 
1446
 
1447
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
1448
- var objectWithoutPropertiesLoose = __webpack_require__(42);
 
1449
 
1450
- // EXTERNAL MODULE: ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js
1451
- var hoist_non_react_statics_cjs = __webpack_require__(138);
1452
- var hoist_non_react_statics_cjs_default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics_cjs);
1453
 
1454
- // CONCATENATED MODULE: ./node_modules/react-router/esm/react-router.js
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1455
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1456
 
 
 
 
 
 
 
 
1457
 
 
 
 
 
 
 
 
 
 
 
 
 
1458
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1459
 
 
 
 
 
 
 
 
 
1460
 
 
1461
 
1462
 
 
 
 
1463
 
 
 
1464
 
 
 
 
 
 
1465
 
1466
 
 
 
 
1467
 
1468
- // TODO: Replace with React.createContext once we can assume React 16+
 
1469
 
1470
- var react_router_createNamedContext = function createNamedContext(name) {
1471
- var context = Object(esm["a" /* default */])();
1472
- context.displayName = name;
1473
- return context;
1474
  };
1475
 
1476
- var historyContext =
1477
- /*#__PURE__*/
1478
- react_router_createNamedContext("Router-History");
1479
 
1480
- // TODO: Replace with React.createContext once we can assume React 16+
 
 
1481
 
1482
- var createNamedContext$1 = function createNamedContext(name) {
1483
- var context = Object(esm["a" /* default */])();
1484
- context.displayName = name;
1485
- return context;
 
 
 
 
 
1486
  };
1487
 
1488
- var react_router_context =
1489
- /*#__PURE__*/
1490
- createNamedContext$1("Router");
1491
 
1492
- /**
1493
- * The public API for putting history on context.
1494
- */
1495
 
1496
- var react_router_Router =
1497
- /*#__PURE__*/
1498
- function (_React$Component) {
1499
- Object(inheritsLoose["a" /* default */])(Router, _React$Component);
1500
 
1501
- Router.computeRootMatch = function computeRootMatch(pathname) {
1502
- return {
1503
- path: "/",
1504
- url: "/",
1505
- params: {},
1506
- isExact: pathname === "/"
1507
- };
1508
- };
1509
 
1510
- function Router(props) {
1511
- var _this;
 
1512
 
1513
- _this = _React$Component.call(this, props) || this;
1514
- _this.state = {
1515
- location: props.history.location
1516
- }; // This is a bit of a hack. We have to start listening for location
1517
- // changes here in the constructor in case there are any <Redirect>s
1518
- // on the initial render. If there are, they will replace/push when
1519
- // they mount and since cDM fires in children before parents, we may
1520
- // get a new location before the <Router> is mounted.
1521
 
1522
- _this._isMounted = false;
1523
- _this._pendingLocation = null;
 
 
 
 
 
1524
 
1525
- if (!props.staticContext) {
1526
- _this.unlisten = props.history.listen(function (location) {
1527
- if (_this._isMounted) {
1528
- _this.setState({
1529
- location: location
1530
- });
1531
- } else {
1532
- _this._pendingLocation = location;
1533
- }
1534
- });
1535
- }
1536
 
1537
- return _this;
1538
- }
 
1539
 
1540
- var _proto = Router.prototype;
1541
 
1542
- _proto.componentDidMount = function componentDidMount() {
1543
- this._isMounted = true;
 
1544
 
1545
- if (this._pendingLocation) {
1546
- this.setState({
1547
- location: this._pendingLocation
1548
- });
1549
- }
1550
- };
1551
 
1552
- _proto.componentWillUnmount = function componentWillUnmount() {
1553
- if (this.unlisten) this.unlisten();
1554
- };
1555
 
1556
- _proto.render = function render() {
1557
- return external_React_default.a.createElement(react_router_context.Provider, {
1558
- value: {
1559
- history: this.props.history,
1560
- location: this.state.location,
1561
- match: Router.computeRootMatch(this.state.location.pathname),
1562
- staticContext: this.props.staticContext
1563
- }
1564
- }, external_React_default.a.createElement(historyContext.Provider, {
1565
- children: this.props.children || null,
1566
- value: this.props.history
1567
- }));
1568
- };
1569
 
1570
- return Router;
1571
- }(external_React_default.a.Component);
1572
 
1573
- if (false) {}
 
 
1574
 
1575
- /**
1576
- * The public API for a <Router> that stores location in memory.
1577
- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1578
 
1579
- var react_router_MemoryRouter =
1580
- /*#__PURE__*/
1581
- function (_React$Component) {
1582
- Object(inheritsLoose["a" /* default */])(MemoryRouter, _React$Component);
1583
 
1584
- function MemoryRouter() {
1585
- var _this;
 
1586
 
1587
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1588
- args[_key] = arguments[_key];
1589
- }
1590
 
1591
- _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
1592
- _this.history = Object(esm_history["c" /* createMemoryHistory */])(_this.props);
1593
- return _this;
1594
- }
 
 
 
1595
 
1596
- var _proto = MemoryRouter.prototype;
1597
 
1598
- _proto.render = function render() {
1599
- return external_React_default.a.createElement(react_router_Router, {
1600
- history: this.history,
1601
- children: this.props.children
1602
- });
1603
- };
1604
 
1605
- return MemoryRouter;
1606
- }(external_React_default.a.Component);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1607
 
1608
- if (false) {}
1609
 
1610
- var react_router_Lifecycle =
1611
- /*#__PURE__*/
1612
- function (_React$Component) {
1613
- Object(inheritsLoose["a" /* default */])(Lifecycle, _React$Component);
1614
 
1615
- function Lifecycle() {
1616
- return _React$Component.apply(this, arguments) || this;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1617
  }
 
1618
 
1619
- var _proto = Lifecycle.prototype;
1620
 
1621
- _proto.componentDidMount = function componentDidMount() {
1622
- if (this.props.onMount) this.props.onMount.call(this, this);
1623
- };
1624
 
1625
- _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
1626
- if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);
1627
- };
1628
 
1629
- _proto.componentWillUnmount = function componentWillUnmount() {
1630
- if (this.props.onUnmount) this.props.onUnmount.call(this, this);
1631
- };
1632
 
1633
- _proto.render = function render() {
1634
- return null;
1635
- };
1636
 
1637
- return Lifecycle;
1638
- }(external_React_default.a.Component);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1639
 
1640
- /**
1641
- * The public API for prompting the user before navigating away from a screen.
1642
- */
1643
 
1644
- function Prompt(_ref) {
1645
- var message = _ref.message,
1646
- _ref$when = _ref.when,
1647
- when = _ref$when === void 0 ? true : _ref$when;
1648
- return external_React_default.a.createElement(react_router_context.Consumer, null, function (context) {
1649
- !context ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
1650
- if (!when || context.staticContext) return null;
1651
- var method = context.history.block;
1652
- return external_React_default.a.createElement(react_router_Lifecycle, {
1653
- onMount: function onMount(self) {
1654
- self.release = method(message);
1655
- },
1656
- onUpdate: function onUpdate(self, prevProps) {
1657
- if (prevProps.message !== message) {
1658
- self.release();
1659
- self.release = method(message);
1660
- }
1661
- },
1662
- onUnmount: function onUnmount(self) {
1663
- self.release();
1664
- },
1665
- message: message
1666
- });
1667
- });
1668
- }
1669
 
1670
- if (false) { var messageType; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1671
 
1672
- var cache = {};
1673
- var cacheLimit = 10000;
1674
- var cacheCount = 0;
1675
 
1676
- function compilePath(path) {
1677
- if (cache[path]) return cache[path];
1678
- var generator = path_to_regexp_default.a.compile(path);
1679
 
1680
- if (cacheCount < cacheLimit) {
1681
- cache[path] = generator;
1682
- cacheCount++;
1683
- }
1684
 
1685
- return generator;
1686
- }
1687
- /**
1688
- * Public API for generating a URL pathname from a path and parameters.
1689
- */
1690
 
 
 
 
1691
 
1692
- function generatePath(path, params) {
1693
- if (path === void 0) {
1694
- path = "/";
1695
- }
1696
 
1697
- if (params === void 0) {
1698
- params = {};
1699
- }
1700
 
1701
- return path === "/" ? path : compilePath(path)(params, {
1702
- pretty: true
1703
- });
1704
- }
1705
 
1706
- /**
1707
- * The public API for navigating programmatically with a component.
1708
- */
1709
 
1710
- function Redirect(_ref) {
1711
- var computedMatch = _ref.computedMatch,
1712
- to = _ref.to,
1713
- _ref$push = _ref.push,
1714
- push = _ref$push === void 0 ? false : _ref$push;
1715
- return external_React_default.a.createElement(react_router_context.Consumer, null, function (context) {
1716
- !context ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
1717
- var history = context.history,
1718
- staticContext = context.staticContext;
1719
- var method = push ? history.push : history.replace;
1720
- var location = Object(esm_history["b" /* createLocation */])(computedMatch ? typeof to === "string" ? generatePath(to, computedMatch.params) : Object(esm_extends["a" /* default */])({}, to, {
1721
- pathname: generatePath(to.pathname, computedMatch.params)
1722
- }) : to); // When rendering in a static context,
1723
- // set the new location immediately.
1724
 
1725
- if (staticContext) {
1726
- method(location);
1727
- return null;
1728
- }
1729
 
1730
- return external_React_default.a.createElement(react_router_Lifecycle, {
1731
- onMount: function onMount() {
1732
- method(location);
1733
- },
1734
- onUpdate: function onUpdate(self, prevProps) {
1735
- var prevLocation = Object(esm_history["b" /* createLocation */])(prevProps.to);
1736
 
1737
- if (!Object(esm_history["e" /* locationsAreEqual */])(prevLocation, Object(esm_extends["a" /* default */])({}, location, {
1738
- key: prevLocation.key
1739
- }))) {
1740
- method(location);
1741
- }
1742
- },
1743
- to: to
1744
- });
1745
- });
1746
- }
1747
 
1748
- if (false) {}
 
 
 
 
 
 
1749
 
1750
- var cache$1 = {};
1751
- var cacheLimit$1 = 10000;
1752
- var cacheCount$1 = 0;
 
 
1753
 
1754
- function compilePath$1(path, options) {
1755
- var cacheKey = "" + options.end + options.strict + options.sensitive;
1756
- var pathCache = cache$1[cacheKey] || (cache$1[cacheKey] = {});
1757
- if (pathCache[path]) return pathCache[path];
1758
- var keys = [];
1759
- var regexp = path_to_regexp_default()(path, keys, options);
1760
- var result = {
1761
- regexp: regexp,
1762
- keys: keys
1763
- };
1764
 
1765
- if (cacheCount$1 < cacheLimit$1) {
1766
- pathCache[path] = result;
1767
- cacheCount$1++;
1768
- }
1769
 
1770
- return result;
1771
- }
1772
- /**
1773
- * Public API for matching a URL pathname to a path.
1774
- */
 
 
 
1775
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1776
 
1777
- function matchPath(pathname, options) {
1778
- if (options === void 0) {
1779
- options = {};
1780
- }
 
 
 
 
 
 
 
 
 
 
 
 
1781
 
1782
- if (typeof options === "string" || Array.isArray(options)) {
1783
- options = {
1784
- path: options
1785
- };
1786
- }
 
 
 
 
 
 
 
 
 
 
1787
 
1788
- var _options = options,
1789
- path = _options.path,
1790
- _options$exact = _options.exact,
1791
- exact = _options$exact === void 0 ? false : _options$exact,
1792
- _options$strict = _options.strict,
1793
- strict = _options$strict === void 0 ? false : _options$strict,
1794
- _options$sensitive = _options.sensitive,
1795
- sensitive = _options$sensitive === void 0 ? false : _options$sensitive;
1796
- var paths = [].concat(path);
1797
- return paths.reduce(function (matched, path) {
1798
- if (!path && path !== "") return null;
1799
- if (matched) return matched;
1800
 
1801
- var _compilePath = compilePath$1(path, {
1802
- end: exact,
1803
- strict: strict,
1804
- sensitive: sensitive
1805
- }),
1806
- regexp = _compilePath.regexp,
1807
- keys = _compilePath.keys;
1808
 
1809
- var match = regexp.exec(pathname);
1810
- if (!match) return null;
1811
- var url = match[0],
1812
- values = match.slice(1);
1813
- var isExact = pathname === url;
1814
- if (exact && !isExact) return null;
1815
- return {
1816
- path: path,
1817
- // the path used to match
1818
- url: path === "/" && url === "" ? "/" : url,
1819
- // the matched portion of the URL
1820
- isExact: isExact,
1821
- // whether or not we matched exactly
1822
- params: keys.reduce(function (memo, key, index) {
1823
- memo[key.name] = values[index];
1824
- return memo;
1825
- }, {})
1826
- };
1827
- }, null);
1828
- }
1829
 
1830
- function isEmptyChildren(children) {
1831
- return external_React_default.a.Children.count(children) === 0;
1832
- }
1833
 
1834
- function evalChildrenDev(children, props, path) {
1835
- var value = children(props);
1836
- false ? undefined : void 0;
1837
- return value || null;
1838
- }
1839
- /**
1840
- * The public API for matching a single path and rendering.
1841
- */
1842
 
 
 
1843
 
1844
- var react_router_Route =
1845
- /*#__PURE__*/
1846
- function (_React$Component) {
1847
- Object(inheritsLoose["a" /* default */])(Route, _React$Component);
1848
 
1849
- function Route() {
1850
- return _React$Component.apply(this, arguments) || this;
1851
- }
 
 
 
 
 
1852
 
1853
- var _proto = Route.prototype;
1854
 
1855
- _proto.render = function render() {
1856
- var _this = this;
1857
-
1858
- return external_React_default.a.createElement(react_router_context.Consumer, null, function (context$1) {
1859
- !context$1 ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
1860
- var location = _this.props.location || context$1.location;
1861
- var match = _this.props.computedMatch ? _this.props.computedMatch // <Switch> already computed the match for us
1862
- : _this.props.path ? matchPath(location.pathname, _this.props) : context$1.match;
1863
 
1864
- var props = Object(esm_extends["a" /* default */])({}, context$1, {
1865
- location: location,
1866
- match: match
1867
- });
1868
 
1869
- var _this$props = _this.props,
1870
- children = _this$props.children,
1871
- component = _this$props.component,
1872
- render = _this$props.render; // Preact uses an empty array as children by
1873
- // default, so use null if that's the case.
 
1874
 
1875
- if (Array.isArray(children) && children.length === 0) {
1876
- children = null;
1877
- }
1878
 
1879
- return external_React_default.a.createElement(react_router_context.Provider, {
1880
- value: props
1881
- }, 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);
1882
- });
1883
- };
1884
 
1885
- return Route;
1886
- }(external_React_default.a.Component);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1887
 
1888
- if (false) {}
1889
 
1890
- function addLeadingSlash(path) {
1891
- return path.charAt(0) === "/" ? path : "/" + path;
1892
- }
1893
 
1894
- function addBasename(basename, location) {
1895
- if (!basename) return location;
1896
- return Object(esm_extends["a" /* default */])({}, location, {
1897
- pathname: addLeadingSlash(basename) + location.pathname
1898
- });
1899
- }
1900
 
1901
- function stripBasename(basename, location) {
1902
- if (!basename) return location;
1903
- var base = addLeadingSlash(basename);
1904
- if (location.pathname.indexOf(base) !== 0) return location;
1905
- return Object(esm_extends["a" /* default */])({}, location, {
1906
- pathname: location.pathname.substr(base.length)
1907
- });
1908
- }
1909
 
1910
- function createURL(location) {
1911
- return typeof location === "string" ? location : Object(esm_history["d" /* createPath */])(location);
1912
- }
 
 
 
 
1913
 
1914
- function staticHandler(methodName) {
1915
- return function () {
1916
- false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) ;
1917
- };
1918
- }
1919
 
1920
- function noop() {}
1921
- /**
1922
- * The public top-level API for a "static" <Router>, so-called because it
1923
- * can't actually change the current location. Instead, it just records
1924
- * location changes in a context object. Useful mainly in testing and
1925
- * server-rendering scenarios.
1926
- */
1927
 
 
1928
 
1929
- var react_router_StaticRouter =
1930
- /*#__PURE__*/
1931
- function (_React$Component) {
1932
- Object(inheritsLoose["a" /* default */])(StaticRouter, _React$Component);
1933
 
1934
- function StaticRouter() {
1935
- var _this;
 
1936
 
1937
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1938
- args[_key] = arguments[_key];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1939
  }
 
 
 
1940
 
1941
- _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1942
 
1943
- _this.handlePush = function (location) {
1944
- return _this.navigateTo(location, "PUSH");
1945
- };
1946
 
1947
- _this.handleReplace = function (location) {
1948
- return _this.navigateTo(location, "REPLACE");
1949
- };
1950
 
1951
- _this.handleListen = function () {
1952
- return noop;
1953
- };
1954
 
1955
- _this.handleBlock = function () {
1956
- return noop;
1957
- };
1958
 
1959
- return _this;
1960
- }
1961
 
1962
- var _proto = StaticRouter.prototype;
 
 
 
 
 
1963
 
1964
- _proto.navigateTo = function navigateTo(location, action) {
1965
- var _this$props = this.props,
1966
- _this$props$basename = _this$props.basename,
1967
- basename = _this$props$basename === void 0 ? "" : _this$props$basename,
1968
- _this$props$context = _this$props.context,
1969
- context = _this$props$context === void 0 ? {} : _this$props$context;
1970
- context.action = action;
1971
- context.location = addBasename(basename, Object(esm_history["b" /* createLocation */])(location));
1972
- context.url = createURL(context.location);
1973
- };
1974
 
1975
- _proto.render = function render() {
1976
- var _this$props2 = this.props,
1977
- _this$props2$basename = _this$props2.basename,
1978
- basename = _this$props2$basename === void 0 ? "" : _this$props2$basename,
1979
- _this$props2$context = _this$props2.context,
1980
- context = _this$props2$context === void 0 ? {} : _this$props2$context,
1981
- _this$props2$location = _this$props2.location,
1982
- location = _this$props2$location === void 0 ? "/" : _this$props2$location,
1983
- rest = Object(objectWithoutPropertiesLoose["a" /* default */])(_this$props2, ["basename", "context", "location"]);
1984
 
1985
- var history = {
1986
- createHref: function createHref(path) {
1987
- return addLeadingSlash(basename + createURL(path));
1988
- },
1989
- action: "POP",
1990
- location: stripBasename(basename, Object(esm_history["b" /* createLocation */])(location)),
1991
- push: this.handlePush,
1992
- replace: this.handleReplace,
1993
- go: staticHandler("go"),
1994
- goBack: staticHandler("goBack"),
1995
- goForward: staticHandler("goForward"),
1996
- listen: this.handleListen,
1997
- block: this.handleBlock
1998
- };
1999
- return external_React_default.a.createElement(react_router_Router, Object(esm_extends["a" /* default */])({}, rest, {
2000
- history: history,
2001
- staticContext: context
2002
- }));
2003
- };
2004
 
2005
- return StaticRouter;
2006
- }(external_React_default.a.Component);
2007
 
2008
- if (false) {}
2009
 
2010
- /**
2011
- * The public API for rendering the first <Route> that matches.
2012
- */
2013
 
2014
- var react_router_Switch =
2015
- /*#__PURE__*/
2016
- function (_React$Component) {
2017
- Object(inheritsLoose["a" /* default */])(Switch, _React$Component);
2018
 
2019
- function Switch() {
2020
- return _React$Component.apply(this, arguments) || this;
2021
- }
2022
 
2023
- var _proto = Switch.prototype;
2024
 
2025
- _proto.render = function render() {
2026
- var _this = this;
2027
 
2028
- return external_React_default.a.createElement(react_router_context.Consumer, null, function (context) {
2029
- !context ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
2030
- var location = _this.props.location || context.location;
2031
- var element, match; // We use React.Children.forEach instead of React.Children.toArray().find()
2032
- // here because toArray adds keys to all child elements and we do not want
2033
- // to trigger an unmount/remount for two <Route>s that render the same
2034
- // component at different URLs.
2035
 
2036
- external_React_default.a.Children.forEach(_this.props.children, function (child) {
2037
- if (match == null && external_React_default.a.isValidElement(child)) {
2038
- element = child;
2039
- var path = child.props.path || child.props.from;
2040
- match = path ? matchPath(location.pathname, Object(esm_extends["a" /* default */])({}, child.props, {
2041
- path: path
2042
- })) : context.match;
 
2043
  }
2044
- });
2045
- return match ? external_React_default.a.cloneElement(element, {
2046
- location: location,
2047
- computedMatch: match
2048
- }) : null;
2049
- });
2050
  };
2051
 
2052
- return Switch;
2053
- }(external_React_default.a.Component);
2054
 
2055
- if (false) {}
2056
 
2057
- /**
2058
- * A public higher-order component to access the imperative API
2059
- */
2060
 
2061
- function withRouter(Component) {
2062
- var displayName = "withRouter(" + (Component.displayName || Component.name) + ")";
2063
 
2064
- var C = function C(props) {
2065
- var wrappedComponentRef = props.wrappedComponentRef,
2066
- remainingProps = Object(objectWithoutPropertiesLoose["a" /* default */])(props, ["wrappedComponentRef"]);
2067
 
2068
- return external_React_default.a.createElement(react_router_context.Consumer, null, function (context) {
2069
- !context ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
2070
- return external_React_default.a.createElement(Component, Object(esm_extends["a" /* default */])({}, remainingProps, context, {
2071
- ref: wrappedComponentRef
2072
- }));
2073
- });
2074
- };
2075
 
2076
- C.displayName = displayName;
2077
- C.WrappedComponent = Component;
 
2078
 
2079
- if (false) {}
2080
 
2081
- return hoist_non_react_statics_cjs_default()(C, Component);
2082
- }
2083
 
2084
- var useContext = external_React_default.a.useContext;
2085
- function useHistory() {
2086
- if (false) {}
2087
 
2088
- return useContext(historyContext);
2089
- }
2090
- function useLocation() {
2091
- if (false) {}
2092
 
2093
- return useContext(react_router_context).location;
2094
- }
2095
- function useParams() {
2096
- if (false) {}
2097
 
2098
- var match = useContext(react_router_context).match;
2099
- return match ? match.params : {};
2100
- }
2101
- function useRouteMatch(path) {
2102
- if (false) {}
2103
 
2104
- var location = useLocation();
2105
- var match = useContext(react_router_context).match;
2106
- return path ? matchPath(location.pathname, path) : match;
2107
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2108
 
2109
- if (false) { var secondaryBuildName, initialBuildName, buildNames, react_router_key, global; }
 
 
 
 
 
 
 
2110
 
2111
 
2112
- //# sourceMappingURL=react-router.js.map
 
 
2113
 
2114
- // EXTERNAL MODULE: external "lodash"
2115
- var external_lodash_ = __webpack_require__(3);
2116
 
2117
- // EXTERNAL MODULE: ./node_modules/qs/lib/index.js
2118
- var lib = __webpack_require__(49);
 
 
 
2119
 
2120
- // EXTERNAL MODULE: external {"this":["wc","components"]}
2121
- var external_this_wc_components_ = __webpack_require__(47);
2122
 
2123
- // EXTERNAL MODULE: external {"this":["wc","navigation"]}
2124
- var external_this_wc_navigation_ = __webpack_require__(21);
 
2125
 
2126
- // EXTERNAL MODULE: ./client/wc-admin-settings/index.js
2127
- var wc_admin_settings = __webpack_require__(25);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2128
 
2129
- // EXTERNAL MODULE: external {"this":["wc","data"]}
2130
- var external_this_wc_data_ = __webpack_require__(22);
2131
 
2132
- // EXTERNAL MODULE: external {"this":["wc","tracks"]}
2133
- var external_this_wc_tracks_ = __webpack_require__(27);
2134
 
2135
- // EXTERNAL MODULE: ./client/layout/style.scss
2136
- var layout_style = __webpack_require__(297);
2137
 
2138
- // EXTERNAL MODULE: external {"this":["wp","hooks"]}
2139
- var external_this_wp_hooks_ = __webpack_require__(43);
 
 
2140
 
2141
- // EXTERNAL MODULE: external {"this":["wp","i18n"]}
2142
- var external_this_wp_i18n_ = __webpack_require__(2);
 
 
 
 
2143
 
2144
- // EXTERNAL MODULE: ./client/analytics/report/get-reports.js
2145
- var get_reports = __webpack_require__(137);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2146
 
2147
- // EXTERNAL MODULE: ./client/dashboard/utils.js
2148
- var utils = __webpack_require__(95);
 
 
 
2149
 
2150
- // CONCATENATED MODULE: ./client/layout/controller.js
 
 
2151
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2152
 
 
 
 
 
2153
 
 
 
 
2154
 
 
 
 
 
 
 
 
 
2155
 
 
 
 
2156
 
 
 
 
2157
 
2158
- 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); }; }
 
 
 
2159
 
2160
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
 
 
 
 
 
2161
 
2162
- /**
2163
- * External dependencies
2164
- */
2165
 
 
 
 
2166
 
 
2167
 
 
2168
 
2169
 
 
 
 
2170
 
 
2171
 
 
 
2172
 
2173
- /**
2174
- * Internal dependencies
2175
- */
 
 
2176
 
2177
 
 
 
 
2178
 
2179
- var AnalyticsReport = Object(external_this_wp_element_["lazy"])(function () {
2180
- return __webpack_require__.e(/* import() | analytics-report */ 9).then(__webpack_require__.bind(null, 589));
2181
- });
2182
- var AnalyticsSettings = Object(external_this_wp_element_["lazy"])(function () {
2183
- return __webpack_require__.e(/* import() | analytics-settings */ 20).then(__webpack_require__.bind(null, 608));
2184
- });
2185
- var Dashboard = Object(external_this_wp_element_["lazy"])(function () {
2186
- return __webpack_require__.e(/* import() | dashboard */ 28).then(__webpack_require__.bind(null, 590));
2187
- });
2188
- var Homescreen = Object(external_this_wp_element_["lazy"])(function () {
2189
- return Promise.all(/* import() | homescreen */[__webpack_require__.e(1), __webpack_require__.e(2), __webpack_require__.e(52), __webpack_require__.e(4), __webpack_require__.e(32)]).then(__webpack_require__.bind(null, 605));
2190
- });
2191
- var MarketingOverview = Object(external_this_wp_element_["lazy"])(function () {
2192
- return Promise.all(/* import() | marketing-overview */[__webpack_require__.e(2), __webpack_require__.e(36)]).then(__webpack_require__.bind(null, 609));
2193
- });
2194
- var ProfileWizard = Object(external_this_wp_element_["lazy"])(function () {
2195
- return Promise.all(/* import() | profile-wizard */[__webpack_require__.e(53), __webpack_require__.e(46)]).then(__webpack_require__.bind(null, 606));
2196
- });
2197
- var SettingsGroup = Object(external_this_wp_element_["lazy"])(function () {
2198
- return Promise.all(/* import() | profile-wizard */[__webpack_require__.e(53), __webpack_require__.e(46)]).then(__webpack_require__.bind(null, 601));
2199
- });
2200
- var PAGES_FILTER = 'woocommerce_admin_pages_list';
2201
- var controller_getPages = function getPages() {
2202
- var pages = [];
2203
- var initialBreadcrumbs = [['', wcSettings.woocommerceTranslation]];
2204
- pages.push({
2205
- container: Homescreen,
2206
- path: '/',
2207
- breadcrumbs: [].concat(initialBreadcrumbs, [Object(external_this_wp_i18n_["__"])('Home', 'woocommerce-admin')]),
2208
- wpOpenMenu: 'toplevel_page_woocommerce',
2209
- navArgs: {
2210
- id: 'woocommerce-home'
2211
- },
2212
- capability: 'manage_woocommerce'
2213
  });
 
2214
 
2215
- if (window.wcAdminFeatures.analytics) {
2216
- pages.push({
2217
- container: Dashboard,
2218
- path: '/analytics/overview',
2219
- breadcrumbs: [].concat(initialBreadcrumbs, [['/analytics/overview', Object(external_this_wp_i18n_["__"])('Analytics', 'woocommerce-admin')], Object(external_this_wp_i18n_["__"])('Overview', 'woocommerce-admin')]),
2220
- wpOpenMenu: 'toplevel_page_wc-admin-path--analytics-overview',
2221
- navArgs: {
2222
- id: 'woocommerce-analytics-overview'
2223
- },
2224
- capability: 'view_woocommerce_reports'
2225
- });
2226
- pages.push({
2227
- container: AnalyticsSettings,
2228
- path: '/analytics/settings',
2229
- breadcrumbs: [].concat(initialBreadcrumbs, [['/analytics/revenue', Object(external_this_wp_i18n_["__"])('Analytics', 'woocommerce-admin')], Object(external_this_wp_i18n_["__"])('Settings', 'woocommerce-admin')]),
2230
- wpOpenMenu: 'toplevel_page_wc-admin-path--analytics-overview',
2231
- navArgs: {
2232
- id: 'woocommerce-analytics-settings'
2233
- },
2234
- capability: 'view_woocommerce_reports'
2235
- });
2236
- pages.push({
2237
- container: AnalyticsReport,
2238
- path: '/customers',
2239
- breadcrumbs: [].concat(initialBreadcrumbs, [Object(external_this_wp_i18n_["__"])('Customers', 'woocommerce-admin')]),
2240
- wpOpenMenu: 'toplevel_page_woocommerce',
2241
- navArgs: {
2242
- id: 'woocommerce-analytics-customers'
2243
- },
2244
- capability: 'view_woocommerce_reports'
2245
- });
2246
- pages.push({
2247
- container: AnalyticsReport,
2248
- path: '/analytics/:report',
2249
- breadcrumbs: function breadcrumbs(_ref) {
2250
- var match = _ref.match;
2251
- var report = Object(external_lodash_["find"])(Object(get_reports["a" /* default */])(), {
2252
- report: match.params.report
2253
- });
2254
 
2255
- if (!report) {
2256
- return [];
2257
- }
2258
 
2259
- return [].concat(initialBreadcrumbs, [['/analytics/revenue', Object(external_this_wp_i18n_["__"])('Analytics', 'woocommerce-admin')], report.title]);
2260
- },
2261
- wpOpenMenu: 'toplevel_page_wc-admin-path--analytics-overview',
2262
- capability: 'view_woocommerce_reports'
2263
- });
2264
- }
2265
 
2266
- if (window.wcAdminFeatures.marketing) {
2267
- pages.push({
2268
- container: MarketingOverview,
2269
- path: '/marketing',
2270
- breadcrumbs: [].concat(initialBreadcrumbs, [['/marketing', Object(external_this_wp_i18n_["__"])('Marketing', 'woocommerce-admin')], Object(external_this_wp_i18n_["__"])('Overview', 'woocommerce-admin')]),
2271
- wpOpenMenu: 'toplevel_page_woocommerce-marketing',
2272
- navArgs: {
2273
- id: 'woocommerce-marketing-overview'
2274
- },
2275
- capability: 'view_woocommerce_reports'
2276
- });
2277
- }
2278
 
2279
- if (window.wcAdminFeatures.onboarding) {
2280
- pages.push({
2281
- container: ProfileWizard,
2282
- path: '/setup-wizard',
2283
- breadcrumbs: [].concat(initialBreadcrumbs, [['/setup-wizard', Object(external_this_wp_i18n_["__"])('Setup Wizard', 'woocommerce-admin')]]),
2284
- capability: 'manage_woocommerce'
2285
- });
2286
  }
 
2287
 
2288
- if (window.wcAdminFeatures.settings) {
2289
- pages.push({
2290
- container: SettingsGroup,
2291
- path: '/settings/:page',
2292
- breadcrumbs: function breadcrumbs(_ref2) {
2293
- var match = _ref2.match;
2294
- // @todo This might need to be refactored to retreive groups via data store.
2295
- var settingsPages = Object(wc_admin_settings["g" /* getSetting */])('settingsPages');
2296
- var page = settingsPages[match.params.page];
2297
 
2298
- if (!page) {
2299
- return [];
2300
- }
2301
 
2302
- return [].concat(initialBreadcrumbs, [[settingsPages.general ? '/settings/general' : "/settings/".concat(Object.keys(settingsPages)[0]), Object(external_this_wp_i18n_["__"])('Settings', 'woocommerce-admin')], page]);
2303
- },
2304
- wpOpenMenu: 'toplevel_page_woocommerce',
2305
- capability: 'manage_woocommerce'
2306
- });
2307
- }
2308
 
2309
- return Object(external_this_wp_hooks_["applyFilters"])(PAGES_FILTER, pages);
2310
- };
2311
- var controller_Controller = /*#__PURE__*/function (_Component) {
2312
- inherits_default()(Controller, _Component);
2313
 
2314
- var _super = _createSuper(Controller);
 
 
 
 
2315
 
2316
- function Controller() {
2317
- classCallCheck_default()(this, Controller);
2318
 
2319
- return _super.apply(this, arguments);
2320
- }
 
 
 
 
 
2321
 
2322
- createClass_default()(Controller, [{
2323
- key: "componentDidMount",
2324
- value: function componentDidMount() {
2325
- window.document.documentElement.scrollTop = 0;
2326
- window.document.body.classList.remove('woocommerce-admin-is-loading');
2327
- }
2328
- }, {
2329
- key: "componentDidUpdate",
2330
- value: function componentDidUpdate(prevProps) {
2331
- var prevBaseQuery = Object(external_lodash_["omit"])(prevProps.query, 'chartType', 'filter', 'paged');
2332
- var baseQuery = Object(external_lodash_["omit"])(this.props.query, 'chartType', 'filter', 'paged');
2333
 
2334
- if (prevProps.query.paged > 1 && !Object(external_lodash_["isEqual"])(prevBaseQuery, baseQuery)) {
2335
- Object(external_this_wc_navigation_["getHistory"])().replace(Object(external_this_wc_navigation_["getNewPath"])({
2336
- paged: 1
2337
- }));
2338
- }
2339
 
2340
- if (prevProps.match.url !== this.props.match.url) {
2341
- window.document.documentElement.scrollTop = 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2342
  }
 
 
 
2343
  }
2344
- }, {
2345
- key: "render",
2346
- value: function render() {
2347
- var _this$props = this.props,
2348
- page = _this$props.page,
2349
- match = _this$props.match,
2350
- query = _this$props.query;
2351
- var url = match.url,
2352
- params = match.params;
2353
- window.wpNavMenuUrlUpdate(query);
2354
- window.wpNavMenuClassChange(page, url);
2355
- return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Suspense"], {
2356
- fallback: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Spinner"], null)
2357
- }, Object(external_this_wp_element_["createElement"])(page.container, {
2358
- params: params,
2359
- path: url,
2360
- pathMatch: page.path,
2361
- query: query
2362
- }));
 
 
 
 
 
 
 
2363
  }
2364
- }]);
2365
 
2366
- return Controller;
2367
- }(external_this_wp_element_["Component"]);
2368
- /**
2369
- * Update an anchor's link in sidebar to include persisted queries. Leave excluded screens
2370
- * as is.
2371
- *
2372
- * @param {HTMLElement} item - Sidebar anchor link.
2373
- * @param {Object} nextQuery - A query object to be added to updated hrefs.
2374
- * @param {Array} excludedScreens - wc-admin screens to avoid updating.
2375
- */
2376
 
2377
- function updateLinkHref(item, nextQuery, excludedScreens) {
2378
- if (Object(utils["f" /* isWCAdmin */])(item.href)) {
2379
- var search = Object(external_lodash_["last"])(item.href.split('?'));
2380
- var query = Object(lib["parse"])(search);
2381
- var path = query.path || 'homescreen';
2382
- var screen = Object(external_this_wc_navigation_["getScreenFromPath"])(path);
2383
- var isExcludedScreen = excludedScreens.includes(screen);
2384
- var href = 'admin.php?' + Object(lib["stringify"])(Object.assign(query, isExcludedScreen ? {} : nextQuery)); // Replace the href so you can see the url on hover.
2385
 
2386
- item.href = href;
2387
 
2388
- item.onclick = function (e) {
2389
- e.preventDefault();
2390
- Object(external_this_wc_navigation_["getHistory"])().push(href);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2391
  };
2392
  }
2393
- } // Update's wc-admin links in wp-admin menu
 
 
 
2394
 
2395
- window.wpNavMenuUrlUpdate = function (query) {
2396
- var nextQuery = Object(external_this_wc_navigation_["getPersistedQuery"])(query);
2397
- var excludedScreens = Object(external_this_wc_navigation_["getQueryExcludedScreens"])();
2398
- Array.from(document.querySelectorAll('#adminmenu a')).forEach(function (item) {
2399
- return updateLinkHref(item, nextQuery, excludedScreens);
2400
- });
2401
- }; // When the route changes, we need to update wp-admin's menu with the correct section & current link
2402
 
 
 
 
2403
 
2404
- window.wpNavMenuClassChange = function (page, url) {
2405
- Array.from(document.getElementsByClassName('current')).forEach(function (item) {
2406
- item.classList.remove('current');
2407
- });
2408
- var submenu = Array.from(document.querySelectorAll('.wp-has-current-submenu'));
2409
- submenu.forEach(function (element) {
2410
- element.classList.remove('wp-has-current-submenu');
2411
- element.classList.remove('wp-menu-open');
2412
- element.classList.remove('selected');
2413
- element.classList.add('wp-not-current-submenu');
2414
- element.classList.add('menu-top');
2415
- });
2416
- var pageUrl = url === '/' ? 'admin.php?page=wc-admin' : 'admin.php?page=wc-admin&path=' + encodeURIComponent(url);
2417
- var currentItemsSelector = url === '/' ? "li > a[href$=\"".concat(pageUrl, "\"], li > a[href*=\"").concat(pageUrl, "?\"]") : "li > a[href*=\"".concat(pageUrl, "\"]");
2418
- var currentItems = document.querySelectorAll(currentItemsSelector);
2419
- Array.from(currentItems).forEach(function (item) {
2420
- item.parentElement.classList.add('current');
2421
- });
2422
 
2423
- if (page.wpOpenMenu) {
2424
- var currentMenu = document.querySelector('#' + page.wpOpenMenu);
 
2425
 
2426
- if (currentMenu) {
2427
- currentMenu.classList.remove('wp-not-current-submenu');
2428
- currentMenu.classList.add('wp-has-current-submenu');
2429
- currentMenu.classList.add('wp-menu-open');
2430
- currentMenu.classList.add('current');
2431
- }
2432
- }
2433
 
2434
- var wpWrap = document.querySelector('#wpwrap');
2435
- wpWrap.classList.remove('wp-responsive-open');
2436
- };
2437
- // EXTERNAL MODULE: ./node_modules/classnames/index.js
2438
- var classnames = __webpack_require__(6);
2439
- var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
2440
 
2441
- // EXTERNAL MODULE: external {"this":["wp","htmlEntities"]}
2442
- var external_this_wp_htmlEntities_ = __webpack_require__(41);
 
 
 
 
 
2443
 
2444
- // EXTERNAL MODULE: ./packages/experimental/build-module/index.js
2445
- var build_module = __webpack_require__(30);
 
2446
 
2447
- // EXTERNAL MODULE: ./client/header/style.scss
2448
- var header_style = __webpack_require__(298);
2449
 
2450
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
2451
- var slicedToArray = __webpack_require__(18);
2452
- var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
2453
 
2454
- // EXTERNAL MODULE: external {"this":["wp","components"]}
2455
- var external_this_wp_components_ = __webpack_require__(4);
 
2456
 
2457
- // EXTERNAL MODULE: ./node_modules/gridicons/dist/cross-small.js
2458
- var cross_small = __webpack_require__(122);
2459
- var cross_small_default = /*#__PURE__*/__webpack_require__.n(cross_small);
2460
 
2461
- // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/icon/index.js
2462
- var build_module_icon = __webpack_require__(197);
2463
 
2464
- // EXTERNAL MODULE: ./node_modules/@wordpress/primitives/build-module/svg/index.js
2465
- var svg = __webpack_require__(67);
 
 
 
 
 
2466
 
2467
- // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/inbox.js
2468
 
 
 
 
2469
 
2470
- /**
2471
- * WordPress dependencies
2472
- */
2473
 
2474
- var inbox_inbox = Object(external_this_wp_element_["createElement"])(svg["b" /* SVG */], {
2475
- xmlns: "http://www.w3.org/2000/svg",
2476
- viewBox: "0 0 24 24"
2477
- }, Object(external_this_wp_element_["createElement"])(svg["a" /* Path */], {
2478
- fillRule: "evenodd",
2479
- 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",
2480
- clipRule: "evenodd"
2481
- }));
2482
- /* harmony default export */ var library_inbox = (inbox_inbox);
2483
- //# sourceMappingURL=inbox.js.map
2484
- // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/help.js
2485
 
2486
 
2487
- /**
2488
- * WordPress dependencies
2489
- */
 
2490
 
2491
- var help_help = Object(external_this_wp_element_["createElement"])(svg["b" /* SVG */], {
2492
- xmlns: "http://www.w3.org/2000/svg",
2493
- viewBox: "0 0 24 24"
2494
- }, Object(external_this_wp_element_["createElement"])(svg["a" /* Path */], {
2495
- 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"
2496
- }));
2497
- /* harmony default export */ var library_help = (help_help);
2498
- //# sourceMappingURL=help.js.map
2499
- // EXTERNAL MODULE: ./client/header/activity-panel/style.scss
2500
- var activity_panel_style = __webpack_require__(299);
2501
 
2502
- // CONCATENATED MODULE: ./client/header/activity-panel/toggle-bubble.js
 
 
 
 
2503
 
2504
 
2505
- /**
2506
- * External dependencies
2507
- */
 
 
 
 
 
 
2508
 
 
2509
 
 
 
 
2510
 
2511
- var toggle_bubble_ActivityPanelToggleBubble = function ActivityPanelToggleBubble(_ref) {
2512
- var _ref$height = _ref.height,
2513
- height = _ref$height === void 0 ? 24 : _ref$height,
2514
- _ref$width = _ref.width,
2515
- width = _ref$width === void 0 ? 24 : _ref$width,
2516
- _ref$hasUnread = _ref.hasUnread,
2517
- hasUnread = _ref$hasUnread === void 0 ? false : _ref$hasUnread;
2518
- var classes = classnames_default()('woocommerce-layout__activity-panel-toggle-bubble', {
2519
- 'has-unread': hasUnread
2520
- });
2521
- /* eslint-disable max-len */
2522
 
2523
- return Object(external_this_wp_element_["createElement"])("div", {
2524
- className: classes
2525
- }, Object(external_this_wp_element_["createElement"])("svg", {
2526
- height: height,
2527
- width: width,
2528
- viewBox: "0 0 24 24"
2529
- }, Object(external_this_wp_element_["createElement"])("path", {
2530
- d: "M18.9 2H5.1C3.4 2 2 3.4 2 5.1v10.7C2 17.6 3.4 19 5.1 19H9l6 3-1-3h4.9c1.7 0 3.1-1.4 3.1-3.1V5.1C22 3.4 20.6 2 18.9 2zm-1.5 4.5c-.4.8-.8 2.1-1 3.9-.3 1.8-.4 3.1-.3 4.1 0 .3 0 .5-.1.7-.1.2-.3.4-.6.4s-.6-.1-.9-.4c-1-1-1.8-2.6-2.4-4.6-.7 1.4-1.2 2.4-1.6 3.1-.6 1.2-1.2 1.8-1.6 1.9-.3 0-.5-.2-.8-.7-.5-1.4-1.1-4.2-1.7-8.2 0-.3 0-.5.2-.7.1-.2.4-.3.7-.4.5 0 .9.2.9.8.3 2.3.7 4.2 1.1 5.7l2.4-4.5c.2-.4.4-.6.8-.6.5 0 .8.3.9.9.3 1.4.6 2.6 1 3.7.3-2.7.8-4.7 1.4-5.9.2-.3.4-.5.7-.5.2 0 .5.1.7.2.2.2.3.4.3.6 0 .2 0 .4-.1.5z"
2531
- })));
2532
- /* eslint-enable max-len */
 
 
 
 
 
 
 
 
2533
  };
2534
 
2535
- toggle_bubble_ActivityPanelToggleBubble.propTypes = {
2536
- height: prop_types_default.a.number,
2537
- width: prop_types_default.a.number,
2538
- hasUnread: prop_types_default.a.bool
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2539
  };
2540
- /* harmony default export */ var toggle_bubble = (toggle_bubble_ActivityPanelToggleBubble);
2541
- // EXTERNAL MODULE: ./client/inbox-panel/utils.js
2542
- var inbox_panel_utils = __webpack_require__(196);
2543
 
2544
- // CONCATENATED MODULE: ./client/header/activity-panel/unread-indicators.js
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2545
  /**
2546
  * External dependencies
2547
  */
2548
 
2549
-
2550
  /**
2551
- * Internal dependencies
2552
  */
2553
 
 
 
 
 
 
 
 
2554
 
2555
- var UNREAD_NOTES_QUERY = {
2556
- page: 1,
2557
- per_page: external_this_wc_data_["QUERY_DEFAULTS"].pageSize,
2558
- status: 'unactioned',
2559
- type: external_this_wc_data_["QUERY_DEFAULTS"].noteTypes,
2560
- orderby: 'date',
2561
- order: 'desc'
2562
- };
2563
- function getUnreadNotes(select) {
2564
- var _select = select(external_this_wc_data_["NOTES_STORE_NAME"]),
2565
- getNotes = _select.getNotes,
2566
- getNotesError = _select.getNotesError,
2567
- isResolving = _select.isResolving;
2568
 
2569
- var _select2 = select(external_this_wc_data_["USER_STORE_NAME"]),
2570
- getCurrentUser = _select2.getCurrentUser;
2571
 
2572
- var userData = getCurrentUser();
2573
- var lastRead = parseInt(userData && userData.woocommerce_meta && userData.woocommerce_meta.activity_panel_inbox_last_read, 10);
2574
 
2575
- if (!lastRead) {
2576
- return null;
2577
- }
2578
 
2579
- getNotes(UNREAD_NOTES_QUERY);
2580
- var isError = Boolean(getNotesError('getNotes', [UNREAD_NOTES_QUERY]));
2581
- var isRequesting = isResolving('getNotes', [UNREAD_NOTES_QUERY]);
2582
 
2583
- if (isError || isRequesting) {
2584
- return null;
2585
- }
2586
 
2587
- var latestNotes = getNotes(UNREAD_NOTES_QUERY);
2588
- var unreadNotesCount = Object(inbox_panel_utils["a" /* getUnreadNotesCount */])(latestNotes, lastRead);
2589
- return unreadNotesCount > 0;
2590
- }
2591
- function getLowStockCount() {
2592
- return Object(wc_admin_settings["g" /* getSetting */])('lowStockCount', 0);
2593
- }
2594
- // CONCATENATED MODULE: ./client/header/activity-panel/tab/index.js
2595
 
 
 
 
2596
 
2597
- /**
2598
- * External dependencies
2599
- */
 
 
 
 
2600
 
 
 
2601
 
2602
 
2603
- var tab_Tab = function Tab(_ref) {
2604
- var icon = _ref.icon,
2605
- title = _ref.title,
2606
- name = _ref.name,
2607
- unread = _ref.unread,
2608
- selected = _ref.selected,
2609
- isPanelOpen = _ref.isPanelOpen,
2610
- onTabClick = _ref.onTabClick;
2611
- var className = classnames_default()('woocommerce-layout__activity-panel-tab', {
2612
- 'is-active': isPanelOpen && selected,
2613
- 'has-unread': unread
2614
- });
2615
- var tabKey = "activity-panel-tab-".concat(name);
2616
- return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
2617
- role: "tab",
2618
- className: className,
2619
- "aria-selected": selected,
2620
- "aria-controls": "activity-panel-".concat(name),
2621
- key: tabKey,
2622
- id: tabKey,
2623
- onClick: function onClick() {
2624
- onTabClick(name);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2625
  }
2626
- }, icon, title, ' ', unread && Object(external_this_wp_element_["createElement"])("span", {
2627
- className: "screen-reader-text"
2628
- }, Object(external_this_wp_i18n_["__"])('unread activity', 'woocommerce-admin')));
2629
  };
2630
- // CONCATENATED MODULE: ./client/header/activity-panel/tabs/index.js
2631
 
2632
 
 
 
 
2633
 
 
2634
 
2635
- /**
2636
- * External dependencies
2637
- */
2638
 
 
 
 
2639
 
 
2640
 
2641
- /**
2642
- * Internal dependencies
2643
- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2644
 
 
 
 
 
 
2645
 
2646
- var tabs_Tabs = function Tabs(_ref) {
2647
- var tabs = _ref.tabs,
2648
- _onTabClick = _ref.onTabClick,
2649
- selectedTabName = _ref.selectedTab,
2650
- _ref$tabOpen = _ref.tabOpen,
2651
- tabOpen = _ref$tabOpen === void 0 ? false : _ref$tabOpen;
 
 
2652
 
2653
- var _useState = Object(external_this_wp_element_["useState"])({
2654
- tabOpen: tabOpen,
2655
- currentTab: selectedTabName
2656
- }),
2657
- _useState2 = slicedToArray_default()(_useState, 2),
2658
- _useState2$ = _useState2[0],
2659
- tabIsOpenState = _useState2$.tabOpen,
2660
- currentTab = _useState2$.currentTab,
2661
- setTabState = _useState2[1]; // Keep state synced with props
 
2662
 
 
 
2663
 
2664
- Object(external_this_wp_element_["useEffect"])(function () {
2665
- setTabState({
2666
- tabOpen: tabOpen,
2667
- currentTab: selectedTabName
2668
- });
2669
- }, [tabOpen, selectedTabName]);
2670
- return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["NavigableMenu"], {
2671
- role: "tablist",
2672
- orientation: "horizontal",
2673
- className: "woocommerce-layout__activity-panel-tabs"
2674
- }, tabs && tabs.map(function (tab, i) {
2675
- if (tab.component) {
2676
- var Comp = tab.component,
2677
- options = tab.options;
2678
- return Object(external_this_wp_element_["createElement"])(Comp, extends_default()({
2679
- key: i
2680
- }, options));
2681
- }
2682
 
2683
- return Object(external_this_wp_element_["createElement"])(tab_Tab, extends_default()({
2684
- key: i,
2685
- index: i,
2686
- isPanelOpen: tabIsOpenState,
2687
- selected: currentTab === tab.name
2688
- }, tab, {
2689
- onTabClick: function onTabClick() {
2690
- 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.
 
 
 
 
 
 
 
 
 
2691
 
2692
- if (!isTabOpen || currentTab !== tab.name) {
2693
- Object(external_this_wc_tracks_["recordEvent"])('activity_panel_open', {
2694
- tab: tab.name
2695
- });
2696
- }
2697
 
2698
- setTabState({
2699
- tabOpen: isTabOpen,
2700
- currentTab: tab.name
2701
- });
2702
 
2703
- _onTabClick(tab, isTabOpen);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2704
  }
2705
- }));
2706
- }));
2707
- };
2708
- // CONCATENATED MODULE: ./client/header/activity-panel/setup-progress.js
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2709
 
2710
- var setup_progress_SetupProgress = function SetupProgress() {
2711
- return Object(external_this_wp_element_["createElement"])("svg", {
2712
- className: "woocommerce-layout__activity-panel-tab-icon setup-progress",
2713
- width: "18",
2714
- height: "18",
2715
- viewBox: "0 0 24 24",
2716
- fill: "none",
2717
- xmlns: "http://www.w3.org/2000/svg"
2718
- }, Object(external_this_wp_element_["createElement"])("path", {
2719
- 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",
2720
- stroke: "#DCDCDE",
2721
- strokeWidth: "2"
2722
- }), Object(external_this_wp_element_["createElement"])("path", {
2723
- d: "M4 12V12C4 16.4183 7.58172 20 12 20V20C16.4183 20 20 16.4183 20 12V12C20 7.58172 16.4183 4 12 4V4",
2724
- strokeWidth: "2",
2725
- strokeLinecap: "round"
2726
- }));
2727
  };
2728
- // CONCATENATED MODULE: ./client/header/activity-panel/display-options/icons/display.js
2729
 
2730
 
2731
- /**
2732
- * External dependencies
2733
- */
2734
 
2735
- var display_DisplayIcon = function DisplayIcon() {
2736
- return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])("svg", {
2737
- className: "woocommerce-layout__activity-panel-tab-icon",
2738
- width: "24",
2739
- height: "24",
2740
- viewBox: "3 3 24 24",
2741
- fill: "none",
2742
- xmlns: "http://www.w3.org/2000/svg"
2743
- }, Object(external_this_wp_element_["createElement"])("path", {
2744
- 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",
2745
- strokeWidth: "1.5",
2746
- strokeLinecap: "round",
2747
- strokeLinejoin: "round"
2748
- }), Object(external_this_wp_element_["createElement"])("path", {
2749
- 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",
2750
- strokeWidth: "1.5",
2751
- strokeLinecap: "round",
2752
- strokeLinejoin: "round"
2753
- }), Object(external_this_wp_element_["createElement"])("path", {
2754
- 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",
2755
- strokeWidth: "1.5",
2756
- strokeLinecap: "round",
2757
- strokeLinejoin: "round"
2758
- }), Object(external_this_wp_element_["createElement"])("path", {
2759
- 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",
2760
- strokeWidth: "1.5",
2761
- strokeLinecap: "round",
2762
- strokeLinejoin: "round"
2763
- })), Object(external_this_wp_i18n_["__"])('Display', 'woocommerce-admin'));
2764
  };
2765
- // CONCATENATED MODULE: ./client/header/activity-panel/display-options/icons/single-column.js
2766
 
2767
- var single_column_SingleColumnIcon = function SingleColumnIcon() {
2768
- return Object(external_this_wp_element_["createElement"])("svg", {
2769
- className: "woocommerce-layout__activity-panel-tab-icon",
2770
- width: "12",
2771
- height: "14",
2772
- viewBox: "0 0 12 14",
2773
- fill: "none",
2774
- xmlns: "http://www.w3.org/2000/svg"
2775
- }, Object(external_this_wp_element_["createElement"])("rect", {
2776
- x: "0.5",
2777
- y: "0.5",
2778
- width: "11",
2779
- height: "13",
2780
- strokeWidth: "1"
2781
- }));
 
 
 
 
2782
  };
2783
- // CONCATENATED MODULE: ./client/header/activity-panel/display-options/icons/two-columns.js
2784
 
2785
- var two_columns_TwoColumnsIcon = function TwoColumnsIcon() {
2786
- return Object(external_this_wp_element_["createElement"])("svg", {
2787
- className: "woocommerce-layout__activity-panel-tab-icon",
2788
- width: "18",
2789
- height: "14",
2790
- viewBox: "0 0 18 14",
2791
- fill: "none",
2792
- xmlns: "http://www.w3.org/2000/svg"
2793
- }, Object(external_this_wp_element_["createElement"])("rect", {
2794
- x: "0.5",
2795
- y: "0.5",
2796
- width: "7",
2797
- height: "13",
2798
- strokeWidth: "1"
2799
- }), Object(external_this_wp_element_["createElement"])("rect", {
2800
- x: "9.5",
2801
- y: "0.5",
2802
- width: "7",
2803
- height: "13",
2804
- strokeWidth: "1"
2805
- }));
2806
  };
2807
- // CONCATENATED MODULE: ./client/header/activity-panel/display-options/index.js
2808
 
2809
 
2810
- /**
2811
- * External dependencies
2812
- */
2813
 
 
2814
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2815
 
2816
 
 
 
 
 
2817
 
2818
- /**
2819
- * Internal dependencies
2820
- */
2821
 
 
 
 
 
2822
 
 
 
2823
 
 
 
 
 
 
 
 
2824
 
2825
- var LAYOUTS = [{
2826
- value: 'single_column',
2827
- label: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(single_column_SingleColumnIcon, null), Object(external_this_wp_i18n_["__"])('Single column', 'woocommerce-admin'))
2828
- }, {
2829
- value: 'two_columns',
2830
- label: Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(two_columns_TwoColumnsIcon, null), Object(external_this_wp_i18n_["__"])('Two columns', 'woocommerce-admin'))
2831
- }];
2832
- var display_options_DisplayOptions = function DisplayOptions() {
2833
- var defaultHomescreenLayout = Object(external_this_wp_data_["useSelect"])(function (select) {
2834
- var _select = select(external_this_wc_data_["OPTIONS_STORE_NAME"]),
2835
- getOption = _select.getOption;
2836
 
2837
- return getOption('woocommerce_default_homepage_layout') || 'single_column';
2838
- });
2839
 
2840
- var _useUserPreferences = Object(external_this_wc_data_["useUserPreferences"])(),
2841
- updateUserPreferences = _useUserPreferences.updateUserPreferences,
2842
- layout = _useUserPreferences.homepage_layout;
2843
 
2844
- return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["DropdownMenu"], {
2845
- icon: Object(external_this_wp_element_["createElement"])(display_DisplayIcon, null)
2846
- /* translators: button label text should, if possible, be under 16 characters. */
2847
- ,
2848
- label: Object(external_this_wp_i18n_["__"])('Display options', 'woocommerce-admin'),
2849
- toggleProps: {
2850
- className: 'woocommerce-layout__activity-panel-tab display-options',
2851
- onClick: function onClick() {
2852
- return Object(external_this_wc_tracks_["recordEvent"])('homescreen_display_click');
2853
- }
2854
- },
2855
- popoverProps: {
2856
- className: 'woocommerce-layout__activity-panel-popover'
2857
  }
2858
- }, function (_ref) {
2859
- var onClose = _ref.onClose;
2860
- return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["MenuGroup"], {
2861
- className: "woocommerce-layout__homescreen-display-options",
2862
- label: Object(external_this_wp_i18n_["__"])('Layout', 'woocommerce-admin')
2863
- }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["MenuItemsChoice"], {
2864
- choices: LAYOUTS,
2865
- onSelect: function onSelect(newLayout) {
2866
- updateUserPreferences({
2867
- homepage_layout: newLayout
2868
- });
2869
- onClose();
2870
- Object(external_this_wc_tracks_["recordEvent"])('homescreen_display_option', {
2871
- display_option: newLayout
2872
- });
2873
- },
2874
- value: layout || defaultHomescreenLayout
2875
- }));
2876
- });
2877
- };
2878
- // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close.js
2879
- var library_close = __webpack_require__(497);
2880
 
2881
- // EXTERNAL MODULE: ./client/header/activity-panel/highlight-tooltip/style.scss
2882
- var highlight_tooltip_style = __webpack_require__(300);
2883
 
2884
- // CONCATENATED MODULE: ./client/header/activity-panel/highlight-tooltip/index.js
 
2885
 
 
 
 
2886
 
 
 
 
2887
 
2888
- /**
2889
- * External dependencies
2890
- */
2891
 
 
 
 
 
 
 
 
 
2892
 
 
 
 
 
2893
 
2894
 
 
 
 
2895
 
 
2896
 
2897
- /**
2898
- * Internal dependencies
2899
- */
2900
 
2901
 
2902
- var SHOW_CLASS = 'highlight-tooltip__show';
 
 
 
2903
 
2904
- function HighlightTooltip(_ref) {
2905
- var title = _ref.title,
2906
- closeButtonText = _ref.closeButtonText,
2907
- content = _ref.content,
2908
- _ref$show = _ref.show,
2909
- show = _ref$show === void 0 ? true : _ref$show,
2910
- id = _ref.id,
2911
- onClose = _ref.onClose,
2912
- delay = _ref.delay,
2913
- _ref$onShow = _ref.onShow,
2914
- onShow = _ref$onShow === void 0 ? external_lodash_["noop"] : _ref$onShow,
2915
- _ref$useAnchor = _ref.useAnchor,
2916
- useAnchor = _ref$useAnchor === void 0 ? false : _ref$useAnchor;
2917
 
2918
- var _useState = Object(external_this_wp_element_["useState"])(delay > 0 ? null : show),
2919
- _useState2 = slicedToArray_default()(_useState, 2),
2920
- showHighlight = _useState2[0],
2921
- setShowHighlight = _useState2[1];
2922
 
2923
- var _useState3 = Object(external_this_wp_element_["useState"])(null),
2924
- _useState4 = slicedToArray_default()(_useState3, 2),
2925
- node = _useState4[0],
2926
- setNode = _useState4[1];
 
2927
 
2928
- var _useState5 = Object(external_this_wp_element_["useState"])(null),
2929
- _useState6 = slicedToArray_default()(_useState5, 2),
2930
- anchorRect = _useState6[0],
2931
- setAnchorRect = _useState6[1];
2932
 
2933
- Object(external_this_wp_element_["useEffect"])(function () {
2934
- var element = document.getElementById(id);
2935
- var container, parent;
2936
 
2937
- if (element && !node) {
2938
- // Add tooltip container
2939
- if (!useAnchor) {
2940
- parent = element.parentElement;
2941
- } else {
2942
- parent = document.createElement('div');
2943
- document.body.appendChild(parent);
2944
- }
2945
 
2946
- container = document.createElement('div');
2947
- container.classList.add('highlight-tooltip__container');
2948
- parent.appendChild(container);
2949
- setNode(container);
2950
- }
2951
 
2952
- var timeoutId = triggerShowTooltip(container);
2953
- return function () {
2954
- if (container) {
2955
- var parentElement = container.parentElement;
2956
- parentElement.removeChild(container);
 
 
2957
 
2958
- if (useAnchor) {
2959
- parentElement.remove();
2960
- }
2961
- }
2962
 
2963
- if (timeoutId) {
2964
- clearTimeout(timeoutId);
2965
- }
2966
- };
2967
- }, []);
2968
- Object(external_this_wp_element_["useEffect"])(function () {
2969
- if (!showHighlight && node) {
2970
- node.classList.remove(SHOW_CLASS);
2971
- }
2972
- }, [showHighlight]);
2973
- Object(external_this_wp_element_["useEffect"])(function () {
2974
- if (show !== showHighlight && showHighlight !== null && node) {
2975
- setShowHighlight(show);
2976
 
2977
- if (!show) {
2978
- node.classList.remove(SHOW_CLASS);
2979
- } else if (node) {
2980
- triggerShowTooltip(node);
2981
- }
2982
- }
2983
- }, [show]);
2984
- Object(external_this_wp_element_["useLayoutEffect"])(function () {
2985
- window.addEventListener('resize', updateSize);
2986
- return function () {
2987
- return window.removeEventListener('resize', updateSize);
2988
- };
2989
- }, []);
2990
 
2991
- function updateSize() {
2992
- if (useAnchor) {
2993
- var element = document.getElementById(id);
2994
- setAnchorRect(element.getBoundingClientRect());
2995
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2996
  }
 
 
 
 
2997
 
2998
- var triggerShowTooltip = function triggerShowTooltip(container) {
2999
- var timeoutId = null;
3000
-
3001
- if (delay > 0) {
3002
- timeoutId = setTimeout(function () {
3003
- timeoutId = null;
3004
- showTooltip(container);
3005
- }, delay);
3006
- } else if (!showHighlight) {
3007
- showTooltip(container);
3008
- }
3009
 
3010
- return timeoutId;
3011
- };
 
 
3012
 
3013
- var showTooltip = function showTooltip(container) {
3014
- var element = document.getElementById(id);
3015
 
3016
- if (element && useAnchor) {
3017
- setAnchorRect(element.getBoundingClientRect());
3018
- }
3019
 
3020
- if (container) {
3021
- container.classList.add(SHOW_CLASS);
3022
- }
3023
 
3024
- setShowHighlight(true);
3025
- onShow();
3026
- };
3027
 
3028
- var triggerClose = function triggerClose() {
3029
- setShowHighlight(false);
3030
 
3031
- if (onClose) {
3032
- onClose();
3033
- }
3034
- };
3035
 
3036
- if (!node) {
3037
- return null;
3038
- }
3039
 
3040
- return Object(external_this_wp_element_["createPortal"])(Object(external_this_wp_element_["createElement"])("div", {
3041
- className: "highlight-tooltip__portal"
3042
- }, showHighlight ? Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["IsolatedEventContainer"], {
3043
- className: "highlight-tooltip__overlay"
3044
- }), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Popover"], {
3045
- className: "highlight-tooltip__popover",
3046
- noArrow: false,
3047
- anchorRect: anchorRect,
3048
- focusOnMount: "container"
3049
- }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Card"], {
3050
- size: "medium"
3051
- }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["CardHeader"], null, title, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
3052
- isSmall: true,
3053
- onClick: triggerClose,
3054
- icon: library_close["a" /* default */]
3055
- })), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["CardBody"], null, content || null), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["CardFooter"], {
3056
- isBorderless: true
3057
- }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
3058
- size: "small",
3059
- isPrimary: true,
3060
- onClick: triggerClose
3061
- }, closeButtonText || Object(external_this_wp_i18n_["__"])('Close', 'woocommerce-admin')))))) : null), node);
3062
- }
3063
 
3064
- HighlightTooltip.propTypes = {
3065
- /**
3066
- * The id of the element it should highlight, should be unique per HighlightTooltip.
3067
- */
3068
- id: prop_types_default.a.string.isRequired,
 
 
 
3069
 
3070
- /**
3071
- * Title of the popup
3072
- */
3073
- title: prop_types_default.a.string.isRequired,
3074
 
3075
- /**
3076
- * Text of the close button.
3077
- */
3078
- closeButtonText: prop_types_default.a.string.isRequired,
3079
 
3080
- /**
3081
- * Content of the popup, can be either text or react element.
3082
- */
3083
- content: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]),
3084
 
3085
- /**
3086
- * If to show the popup, defaults to true.
3087
- */
3088
- show: prop_types_default.a.bool,
3089
 
3090
- /**
3091
- * Callback for when the user closes the popup.
3092
- */
3093
- onClose: prop_types_default.a.func,
3094
 
3095
- /**
3096
- * This will delay the popup from appearing by the number of ms.
3097
- */
3098
- delay: prop_types_default.a.number,
 
 
 
 
3099
 
3100
- /**
3101
- * A callback for when the tooltip is shown.
3102
- */
3103
- onShow: prop_types_default.a.func,
3104
 
3105
- /**
3106
- * useAnchor, will append the tooltip to the body tag, and make use of the anchorRect to display the tooltip.
3107
- * Defaults to false.
3108
- */
3109
- useAnchor: prop_types_default.a.bool
3110
  };
3111
 
3112
- // EXTERNAL MODULE: ./node_modules/@wordpress/dom/build-module/index.js + 2 modules
3113
- var dom_build_module = __webpack_require__(121);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3114
 
3115
- // CONCATENATED MODULE: ./client/hooks/useFocusOnMount.js
3116
- /**
3117
- * This hook was directly copied from https://github.com/WordPress/gutenberg/blob/master/packages/compose/src/hooks/use-focus-on-mount/index.js
3118
- * to avoid its absence in older versions of WordPress.
3119
- *
3120
- * This can be removed once the minimum supported version of WordPress includes this hook.
3121
- */
3122
 
3123
- /**
3124
- * External dependencies
3125
- */
3126
 
 
 
 
 
 
 
 
 
 
3127
 
3128
- /**
3129
- * Hook used to focus the first tabbable element on mount.
3130
- *
3131
- * @param {boolean|string} focusOnMount Focus on mount mode.
3132
- * @return {Function} Ref callback.
3133
- *
3134
- * @example
3135
- * ```js
3136
- * import { useFocusOnMount } from '@wordpress/compose';
3137
- *
3138
- * const WithFocusOnMount = () => {
3139
- * const ref = useFocusOnMount()
3140
- * return (
3141
- * <div ref={ ref }>
3142
- * <Button />
3143
- * <Button />
3144
- * </div>
3145
- * );
3146
- * }
3147
- * ```
3148
- */
3149
 
3150
- function useFocusOnMount() {
3151
- var focusOnMount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'firstElement';
3152
- var focusOnMountRef = Object(external_this_wp_element_["useRef"])(focusOnMount);
3153
- Object(external_this_wp_element_["useEffect"])(function () {
3154
- focusOnMountRef.current = focusOnMount;
3155
- }, [focusOnMount]);
3156
- return Object(external_this_wp_element_["useCallback"])(function (node) {
3157
- if (!node || focusOnMountRef.current === false) {
3158
- return;
3159
- }
3160
 
3161
- if (node.contains(node.ownerDocument.activeElement)) {
3162
- return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3163
  }
 
 
3164
 
3165
- var target = node;
3166
-
3167
- if (focusOnMountRef.current === 'firstElement') {
3168
- var firstTabbable = dom_build_module["a" /* focus */].tabbable.find(node)[0];
3169
 
3170
- if (firstTabbable) {
3171
- target = firstTabbable;
3172
- }
3173
- }
3174
 
3175
- target.focus();
3176
- }, []);
3177
- }
3178
- // CONCATENATED MODULE: ./client/hooks/useFocusOutside.js
3179
- /**
3180
- * External dependencies
3181
- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3182
 
3183
 
3184
- /**
3185
- * Input types which are classified as button types, for use in considering
3186
- * whether element is a (focus-normalized) button.
3187
- *
3188
- * @type {string[]}
3189
- */
3190
 
3191
- var INPUT_BUTTON_TYPES = ['button', 'submit'];
3192
- /**
3193
- * @typedef {HTMLButtonElement | HTMLLinkElement | HTMLInputElement} FocusNormalizedButton
3194
- */
3195
- // Disable reason: Rule doesn't support predicate return types
3196
 
3197
- /* eslint-disable jsdoc/valid-types */
 
3198
 
3199
- /**
3200
- * Returns true if the given element is a button element subject to focus
3201
- * normalization, or false otherwise.
3202
- *
3203
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus
3204
- *
3205
- * @param {EventTarget} eventTarget The target from a mouse or touch event.
3206
- *
3207
- * @return {eventTarget is FocusNormalizedButton} Whether element is a button.
3208
- */
3209
 
3210
- function isFocusNormalizedButton(eventTarget) {
3211
- if (!(eventTarget instanceof window.HTMLElement)) {
3212
- return false;
3213
- }
3214
 
3215
- switch (eventTarget.nodeName) {
3216
- case 'A':
3217
- case 'BUTTON':
3218
- return true;
 
3219
 
3220
- case 'INPUT':
3221
- return Object(external_lodash_["includes"])(INPUT_BUTTON_TYPES,
3222
- /** @type {HTMLInputElement} */
3223
- eventTarget.type);
3224
- }
3225
 
3226
- return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3227
  }
3228
- /* eslint-enable jsdoc/valid-types */
3229
 
3230
- /**
3231
- * @typedef {import('react').SyntheticEvent} SyntheticEvent
3232
- */
3233
 
3234
- /**
3235
- * @callback EventCallback
3236
- * @param {SyntheticEvent} event input related event.
3237
- */
3238
 
3239
- /**
3240
- * @typedef FocusOutsideReactElement
3241
- * @property {EventCallback} handleFocusOutside callback for a focus outside event.
3242
- */
3243
 
3244
- /**
3245
- * @typedef {import('react').MutableRefObject<FocusOutsideReactElement | undefined>} FocusOutsideRef
3246
- */
3247
 
3248
- /**
3249
- * @typedef {Object} FocusOutsideReturnValue
3250
- * @property {EventCallback} onFocus An event handler for focus events.
3251
- * @property {EventCallback} onBlur An event handler for blur events.
3252
- * @property {EventCallback} onMouseDown An event handler for mouse down events.
3253
- * @property {EventCallback} onMouseUp An event handler for mouse up events.
3254
- * @property {EventCallback} onTouchStart An event handler for touch start events.
3255
- * @property {EventCallback} onTouchEnd An event handler for touch end events.
3256
- */
3257
 
3258
- /**
3259
- * A react hook that can be used to check whether focus has moved outside the
3260
- * element the event handlers are bound to.
3261
- *
3262
- * @param {EventCallback} onFocusOutside A callback triggered when focus moves outside
3263
- * the element the event handlers are bound to.
3264
- *
3265
- * @return {FocusOutsideReturnValue} An object containing event handlers. Bind the event handlers
3266
- * to a wrapping element element to capture when focus moves
3267
- * outside that element.
3268
- */
3269
 
 
 
 
3270
 
3271
- function useFocusOutside(onFocusOutside) {
3272
- var currentOnFocusOutside = Object(external_this_wp_element_["useRef"])(onFocusOutside);
3273
- Object(external_this_wp_element_["useEffect"])(function () {
3274
- currentOnFocusOutside.current = onFocusOutside;
3275
- }, [onFocusOutside]);
3276
- var preventBlurCheck = Object(external_this_wp_element_["useRef"])(false);
3277
- /**
3278
- * @type {import('react').MutableRefObject<number | undefined>}
3279
- */
3280
 
3281
- var blurCheckTimeoutId = Object(external_this_wp_element_["useRef"])();
3282
- /**
3283
- * Cancel a blur check timeout.
3284
- */
 
 
 
 
3285
 
3286
- var cancelBlurCheck = Object(external_this_wp_element_["useCallback"])(function () {
3287
- clearTimeout(blurCheckTimeoutId.current);
3288
- }, []); // Cancel blur checks on unmount.
3289
 
3290
- Object(external_this_wp_element_["useEffect"])(function () {
3291
- return function () {
3292
- return cancelBlurCheck();
3293
- };
3294
- }, []); // Cancel a blur check if the callback or ref is no longer provided.
3295
 
3296
- Object(external_this_wp_element_["useEffect"])(function () {
3297
- if (!onFocusOutside) {
3298
- cancelBlurCheck();
3299
- }
3300
- }, [onFocusOutside, cancelBlurCheck]);
3301
- /**
3302
- * Handles a mousedown or mouseup event to respectively assign and
3303
- * unassign a flag for preventing blur check on button elements. Some
3304
- * browsers, namely Firefox and Safari, do not emit a focus event on
3305
- * button elements when clicked, while others do. The logic here
3306
- * intends to normalize this as treating click on buttons as focus.
3307
- *
3308
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus
3309
- *
3310
- * @param {SyntheticEvent} event Event for mousedown or mouseup.
3311
- */
3312
 
3313
- var normalizeButtonFocus = Object(external_this_wp_element_["useCallback"])(function (event) {
3314
- var type = event.type,
3315
- target = event.target;
3316
- var isInteractionEnd = Object(external_lodash_["includes"])(['mouseup', 'touchend'], type);
3317
 
3318
- if (isInteractionEnd) {
3319
- preventBlurCheck.current = false;
3320
- } else if (isFocusNormalizedButton(target)) {
3321
- preventBlurCheck.current = true;
3322
- }
3323
- }, []);
3324
- /**
3325
- * A callback triggered when a blur event occurs on the element the handler
3326
- * is bound to.
3327
- *
3328
- * Calls the `onFocusOutside` callback in an immediate timeout if focus has
3329
- * move outside the bound element and is still within the document.
3330
- *
3331
- * @param {SyntheticEvent} event Blur event.
3332
- */
3333
 
3334
- var queueBlurCheck = Object(external_this_wp_element_["useCallback"])(function (event) {
3335
- // React does not allow using an event reference asynchronously
3336
- // due to recycling behavior, except when explicitly persisted.
3337
- event.persist(); // Skip blur check if clicking button. See `normalizeButtonFocus`.
 
3338
 
3339
- if (preventBlurCheck.current) {
3340
- return;
3341
- }
3342
 
3343
- blurCheckTimeoutId.current = setTimeout(function () {
3344
- // If document is not focused then focus should remain
3345
- // inside the wrapped component and therefore we cancel
3346
- // this blur event thereby leaving focus in place.
3347
- // https://developer.mozilla.org/en-US/docs/Web/API/Document/hasFocus.
3348
- if (!document.hasFocus()) {
3349
- event.preventDefault();
3350
- return;
3351
- }
3352
 
3353
- if (typeof currentOnFocusOutside.current === 'function') {
3354
- currentOnFocusOutside.current(event);
3355
- }
3356
- }, 0);
3357
- }, []);
3358
- return {
3359
- onFocus: cancelBlurCheck,
3360
- onMouseDown: normalizeButtonFocus,
3361
- onMouseUp: normalizeButtonFocus,
3362
- onTouchStart: normalizeButtonFocus,
3363
- onTouchEnd: normalizeButtonFocus,
3364
- onBlur: queueBlurCheck
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3365
  };
3366
  }
3367
- // CONCATENATED MODULE: ./client/header/activity-panel/panel.js
3368
 
 
3369
 
 
 
 
3370
 
3371
- /**
3372
- * External dependencies
3373
- */
 
 
3374
 
3375
 
 
 
 
3376
 
3377
- /**
3378
- * Internal dependencies
3379
- */
3380
 
3381
 
 
3382
 
3383
- var panel_Panel = function Panel(_ref) {
3384
- var content = _ref.content,
3385
- isPanelOpen = _ref.isPanelOpen,
3386
- isPanelSwitching = _ref.isPanelSwitching,
3387
- currentTab = _ref.currentTab,
3388
- tab = _ref.tab,
3389
- closePanel = _ref.closePanel,
3390
- clearPanel = _ref.clearPanel;
3391
 
3392
- var handleFocusOutside = function handleFocusOutside(event) {
3393
- var isClickOnModalOrSnackbar = event.target.closest('.woocommerce-inbox-dismiss-confirmation_modal') || event.target.closest('.components-snackbar__action');
 
 
 
 
3394
 
3395
- if (isPanelOpen && !isClickOnModalOrSnackbar) {
3396
- closePanel();
3397
- }
3398
- };
 
 
3399
 
3400
- var possibleFocusPanel = function possibleFocusPanel() {
3401
- if (!containerRef.current || !isPanelOpen || !tab) {
3402
- return;
3403
- }
3404
 
3405
- focusOnMountRef(containerRef.current);
3406
- };
 
 
3407
 
3408
- var finishTransition = function finishTransition(e) {
3409
- if (e && e.propertyName === 'transform') {
3410
- clearPanel();
3411
- possibleFocusPanel();
3412
- }
3413
- };
3414
 
3415
- var focusOnMountRef = useFocusOnMount();
3416
- var useFocusOutsideProps = useFocusOutside(handleFocusOutside);
3417
- var containerRef = Object(external_this_wp_element_["useRef"])(null);
3418
- var mergedContainerRef = Object(external_this_wp_element_["useCallback"])(function (node) {
3419
- containerRef.current = node;
3420
- focusOnMountRef(node);
3421
- }, []);
3422
 
3423
- if (!tab) {
3424
- return Object(external_this_wp_element_["createElement"])("div", {
3425
- className: "woocommerce-layout__activity-panel-wrapper"
3426
- });
 
 
 
 
 
 
3427
  }
 
3428
 
3429
- if (!content) {
3430
- return null;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3431
  }
 
3432
 
3433
- var classNames = classnames_default()('woocommerce-layout__activity-panel-wrapper', {
3434
- 'is-open': isPanelOpen,
3435
- 'is-switching': isPanelSwitching
3436
- });
3437
- return Object(external_this_wp_element_["createElement"])("div", extends_default()({
3438
- className: classNames,
3439
- tabIndex: 0,
3440
- role: "tabpanel",
3441
- "aria-label": tab.title,
3442
- onTransitionEnd: finishTransition
3443
- }, useFocusOutsideProps, {
3444
- ref: mergedContainerRef
3445
- }), Object(external_this_wp_element_["createElement"])("div", {
3446
- className: "woocommerce-layout__activity-panel-content",
3447
- key: 'activity-panel-' + currentTab,
3448
- id: 'activity-panel-' + currentTab
3449
- }, Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Suspense"], {
3450
- fallback: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Spinner"], null)
3451
- }, content)));
3452
- };
3453
- /* harmony default export */ var panel = (panel_Panel);
3454
- // CONCATENATED MODULE: ./client/header/activity-panel/index.js
3455
 
 
 
 
3456
 
 
3457
 
3458
- /**
3459
- * External dependencies
3460
- */
3461
 
 
3462
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3463
 
3464
 
 
 
 
3465
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3466
 
3467
 
 
 
 
3468
 
 
 
 
3469
 
 
3470
 
 
 
 
 
 
 
3471
 
3472
 
 
 
 
3473
 
3474
- /**
3475
- * Internal dependencies
3476
- */
3477
 
 
 
 
3478
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3479
 
3480
 
 
 
 
3481
 
 
 
3482
 
 
3483
 
 
 
3484
 
 
 
 
 
 
 
 
3485
 
 
 
 
 
 
 
3486
 
3487
- var HelpPanel = Object(external_this_wp_element_["lazy"])(function () {
3488
- return Promise.all(/* import() | activity-panels-help */[__webpack_require__.e(54), __webpack_require__.e(5), __webpack_require__.e(7)]).then(__webpack_require__.bind(null, 602));
3489
- });
3490
- var InboxPanel = Object(external_this_wp_element_["lazy"])(function () {
3491
- return Promise.all(/* import() | activity-panels-inbox */[__webpack_require__.e(1), __webpack_require__.e(2), __webpack_require__.e(4), __webpack_require__.e(8)]).then(__webpack_require__.bind(null, 587));
3492
- });
3493
- var activity_panel_ActivityPanel = function ActivityPanel(_ref) {
3494
- var isEmbedded = _ref.isEmbedded,
3495
- query = _ref.query,
3496
- userPreferencesData = _ref.userPreferencesData;
3497
 
3498
- var _useState = Object(external_this_wp_element_["useState"])(''),
3499
- _useState2 = slicedToArray_default()(_useState, 2),
3500
- currentTab = _useState2[0],
3501
- setCurrentTab = _useState2[1];
3502
 
3503
- var _useState3 = Object(external_this_wp_element_["useState"])(false),
3504
- _useState4 = slicedToArray_default()(_useState3, 2),
3505
- isPanelOpen = _useState4[0],
3506
- setIsPanelOpen = _useState4[1];
3507
 
3508
- var _useState5 = Object(external_this_wp_element_["useState"])(false),
3509
- _useState6 = slicedToArray_default()(_useState5, 2),
3510
- isPanelSwitching = _useState6[0],
3511
- setIsPanelSwitching = _useState6[1];
 
 
3512
 
3513
- var _useState7 = Object(external_this_wp_element_["useState"])(false),
3514
- _useState8 = slicedToArray_default()(_useState7, 2),
3515
- mobileOpen = _useState8[0],
3516
- setMobileOpen = _useState8[1];
3517
 
3518
- var _useSelect = Object(external_this_wp_data_["useSelect"])(function (select) {
3519
- var _select = select(external_this_wc_data_["OPTIONS_STORE_NAME"]),
3520
- getOption = _select.getOption,
3521
- isResolving = _select.isResolving;
3522
 
3523
- return {
3524
- hasUnreadNotes: getUnreadNotes(select),
3525
- requestingTaskListOptions: isResolving('getOption', ['woocommerce_task_list_complete']) || isResolving('getOption', ['woocommerce_task_list_hidden']),
3526
- setupTaskListComplete: getOption('woocommerce_task_list_complete') === 'yes',
3527
- setupTaskListHidden: getOption('woocommerce_task_list_hidden') === 'yes',
3528
- trackedCompletedTasks: getOption('woocommerce_task_list_tracked_completed_tasks') || []
3529
- };
3530
- }),
3531
- hasUnreadNotes = _useSelect.hasUnreadNotes,
3532
- requestingTaskListOptions = _useSelect.requestingTaskListOptions,
3533
- setupTaskListComplete = _useSelect.setupTaskListComplete,
3534
- setupTaskListHidden = _useSelect.setupTaskListHidden,
3535
- trackedCompletedTasks = _useSelect.trackedCompletedTasks;
3536
 
3537
- var _useDispatch = Object(external_this_wp_data_["useDispatch"])(external_this_wc_data_["OPTIONS_STORE_NAME"]),
3538
- updateOptions = _useDispatch.updateOptions;
3539
 
3540
- var _useUser = Object(external_this_wc_data_["useUser"])(),
3541
- currentUserCan = _useUser.currentUserCan;
3542
 
3543
- var togglePanel = function togglePanel(_ref2, isTabOpen) {
3544
- var tabName = _ref2.name;
3545
- var panelSwitching = tabName !== currentTab && currentTab !== '' && isTabOpen && isPanelOpen;
3546
- setCurrentTab(tabName);
3547
- setMobileOpen(isTabOpen);
3548
- setIsPanelOpen(isTabOpen);
3549
- setIsPanelSwitching(panelSwitching);
3550
- };
3551
 
3552
- var _closePanel = function closePanel() {
3553
- setIsPanelOpen(false);
3554
- };
3555
 
3556
- var _clearPanel = function clearPanel() {
3557
- if (!isPanelOpen) {
3558
- setIsPanelSwitching(false);
3559
- setCurrentTab('');
3560
- }
3561
- }; // On smaller screen, the panel buttons are hidden behind a toggle.
3562
 
 
 
 
3563
 
3564
- var toggleMobile = function toggleMobile() {
3565
- var tabs = getTabs();
3566
- setCurrentTab(mobileOpen ? '' : tabs[0].name);
3567
- setMobileOpen(!mobileOpen);
3568
- setIsPanelOpen(!mobileOpen);
3569
- };
3570
 
3571
- var isHomescreen = function isHomescreen() {
3572
- return query.page === 'wc-admin' && !query.path;
3573
- };
 
 
 
 
3574
 
3575
- var isPerformingSetupTask = function isPerformingSetupTask() {
3576
- return query.task && !query.path && (requestingTaskListOptions === true || setupTaskListHidden === false && setupTaskListComplete === false);
3577
- }; // @todo Pull in dynamic unread status/count
3578
 
 
 
 
3579
 
3580
- var getTabs = function getTabs() {
3581
- var inbox = {
3582
- name: 'inbox',
3583
- title: Object(external_this_wp_i18n_["__"])('Inbox', 'woocommerce-admin'),
3584
- icon: Object(external_this_wp_element_["createElement"])(build_module_icon["a" /* default */], {
3585
- icon: library_inbox
3586
- }),
3587
- unread: hasUnreadNotes,
3588
- visible: (isEmbedded || !isHomescreen()) && !isPerformingSetupTask()
3589
- };
3590
- var setup = {
3591
- name: 'setup',
3592
- title: Object(external_this_wp_i18n_["__"])('Store Setup', 'woocommerce-admin'),
3593
- icon: Object(external_this_wp_element_["createElement"])(setup_progress_SetupProgress, null),
3594
- onClick: function onClick() {
3595
- var currentLocation = window.location.href;
3596
- 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
3597
 
3598
- if (currentLocation !== homescreenLocation) {
3599
- // Ensure that if the user is trying to get to the task list they can see it even if
3600
- // it was dismissed.
3601
- if (setupTaskListHidden === 'no') {
3602
- redirectToHomeScreen();
3603
- } else {
3604
- updateOptions({
3605
- woocommerce_task_list_hidden: 'no'
3606
- }).then(redirectToHomeScreen);
3607
- }
3608
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3609
 
3610
- return null;
3611
- },
3612
- visible: currentUserCan('manage_woocommerce') && !setupTaskListComplete && !setupTaskListHidden && !isPerformingSetupTask() && (!isHomescreen() || isEmbedded)
3613
- };
3614
- var help = {
3615
- name: 'help',
3616
- title: Object(external_this_wp_i18n_["__"])('Help', 'woocommerce-admin'),
3617
- icon: Object(external_this_wp_element_["createElement"])(build_module_icon["a" /* default */], {
3618
- icon: library_help
3619
- }),
3620
- visible: isHomescreen() && !isEmbedded || isPerformingSetupTask()
3621
- };
3622
- var displayOptions = {
3623
- component: display_options_DisplayOptions,
3624
- visible: !isEmbedded && isHomescreen() && !isPerformingSetupTask()
3625
- };
3626
- return [inbox, setup, displayOptions, help].filter(function (tab) {
3627
- return tab.visible;
3628
- });
3629
- };
3630
-
3631
- var getPanelContent = function getPanelContent(tab) {
3632
- var task = query.task;
3633
-
3634
- switch (tab) {
3635
- case 'inbox':
3636
- return Object(external_this_wp_element_["createElement"])(InboxPanel, null);
3637
 
3638
- case 'help':
3639
- return Object(external_this_wp_element_["createElement"])(HelpPanel, {
3640
- taskName: task
3641
- });
3642
-
3643
- default:
3644
- return null;
3645
- }
3646
- };
3647
 
3648
- var redirectToHomeScreen = function redirectToHomeScreen() {
3649
- if (Object(utils["f" /* isWCAdmin */])(window.location.href)) {
3650
- Object(external_this_wc_navigation_["getHistory"])().push(Object(external_this_wc_navigation_["getNewPath"])({}, '/', {}));
3651
- } else {
3652
- window.location.href = Object(wc_admin_settings["f" /* getAdminLink */])('admin.php?page=wc-admin');
3653
- }
3654
- };
3655
 
3656
- var closedHelpPanelHighlight = function closedHelpPanelHighlight() {
3657
- Object(external_this_wc_tracks_["recordEvent"])('help_tooltip_click');
 
 
3658
 
3659
- if (userPreferencesData && userPreferencesData.updateUserPreferences) {
3660
- userPreferencesData.updateUserPreferences({
3661
- help_panel_highlight_shown: 'yes'
3662
- });
3663
- }
3664
- };
3665
 
3666
- var shouldShowHelpTooltip = function shouldShowHelpTooltip() {
3667
- var task = query.task;
3668
- var startedTasks = userPreferencesData && userPreferencesData.task_list_tracked_started_tasks;
3669
- var highlightShown = userPreferencesData && userPreferencesData.help_panel_highlight_shown;
3670
 
3671
- if (task && highlightShown !== 'yes' && (startedTasks || {})[task] > 1 && !trackedCompletedTasks.includes(task)) {
3672
- return true;
3673
- }
3674
 
3675
- return false;
3676
- };
 
 
3677
 
3678
- var tabs = getTabs();
3679
- var headerId = Object(external_lodash_["uniqueId"])('activity-panel-header_');
3680
- var panelClasses = classnames_default()('woocommerce-layout__activity-panel', {
3681
- 'is-mobile-open': mobileOpen
3682
- });
3683
- var showHelpHighlightTooltip = shouldShowHelpTooltip();
3684
- var hasUnread = tabs.some(function (tab) {
3685
- return tab.unread;
3686
- });
3687
- var viewLabel = hasUnread ? Object(external_this_wp_i18n_["__"])('View Activity Panel, you have unread activity', 'woocommerce-admin') : Object(external_this_wp_i18n_["__"])('View Activity Panel', 'woocommerce-admin');
3688
- return Object(external_this_wp_element_["createElement"])("div", null, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["H"], {
3689
- id: headerId,
3690
- className: "screen-reader-text"
3691
- }, Object(external_this_wp_i18n_["__"])('Store Activity', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Section"], {
3692
- component: "aside",
3693
- id: "woocommerce-activity-panel",
3694
- "aria-labelledby": headerId
3695
- }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
3696
- onClick: function onClick() {
3697
- toggleMobile();
3698
- },
3699
- label: mobileOpen ? Object(external_this_wp_i18n_["__"])('Close Activity Panel', 'woocommerce-admin') : viewLabel,
3700
- "aria-expanded": mobileOpen,
3701
- className: "woocommerce-layout__activity-panel-mobile-toggle"
3702
- }, mobileOpen ? Object(external_this_wp_element_["createElement"])(cross_small_default.a, null) : Object(external_this_wp_element_["createElement"])(toggle_bubble, {
3703
- hasUnread: hasUnread
3704
- })), Object(external_this_wp_element_["createElement"])("div", {
3705
- className: panelClasses
3706
- }, Object(external_this_wp_element_["createElement"])(tabs_Tabs, {
3707
- tabs: tabs,
3708
- tabOpen: isPanelOpen,
3709
- selectedTab: currentTab,
3710
- onTabClick: function onTabClick(tab, tabOpen) {
3711
- if (tab.onClick) {
3712
- tab.onClick();
3713
- return;
3714
- }
3715
 
3716
- togglePanel(tab, tabOpen);
3717
- }
3718
- }), Object(external_this_wp_element_["createElement"])(panel_Panel, {
3719
- currentTab: true,
3720
- isPanelOpen: isPanelOpen,
3721
- isPanelSwitching: isPanelSwitching,
3722
- tab: Object(external_lodash_["find"])(getTabs(), {
3723
- name: currentTab
3724
- }),
3725
- content: getPanelContent(currentTab),
3726
- closePanel: function closePanel() {
3727
- return _closePanel();
3728
- },
3729
- clearPanel: function clearPanel() {
3730
- return _clearPanel();
3731
- }
3732
- }))), showHelpHighlightTooltip ? Object(external_this_wp_element_["createElement"])(HighlightTooltip, {
3733
- delay: 1000,
3734
- useAnchor: true,
3735
- title: Object(external_this_wp_i18n_["__"])("We're here for help", 'woocommerce-admin'),
3736
- content: Object(external_this_wp_i18n_["__"])('If you have any questions, feel free to explore the WooCommerce docs listed here.', 'woocommerce-admin'),
3737
- closeButtonText: Object(external_this_wp_i18n_["__"])('Got it', 'woocommerce-admin'),
3738
- id: "activity-panel-tab-help",
3739
- onClose: function onClose() {
3740
- return closedHelpPanelHighlight();
3741
- },
3742
- onShow: function onShow() {
3743
- return Object(external_this_wc_tracks_["recordEvent"])('help_tooltip_view');
3744
- }
3745
- }) : null);
3746
- };
3747
- activity_panel_ActivityPanel.defaultProps = {
3748
- getHistory: external_this_wc_navigation_["getHistory"]
3749
- };
3750
- /* harmony default export */ var activity_panel = (activity_panel_ActivityPanel);
3751
- // CONCATENATED MODULE: ./client/lib/platform/index.js
3752
- var ANDROID_PLATFORM = 'android';
3753
- var IOS_PLATFORM = 'ios';
3754
- var UNKNOWN_PLATFORM = 'unknown';
3755
- /**
3756
- * Provide basic detection of platform based on user agent. This is not
3757
- * a robust check for browser features or the like. You should only use
3758
- * this for non-critical display logic.
3759
- */
3760
 
3761
- var platform = function platform() {
3762
- if (/iPhone|iPad|iPod/i.test(window.navigator.userAgent)) {
3763
- return IOS_PLATFORM;
3764
- } else if (/Android/i.test(window.navigator.userAgent)) {
3765
- return ANDROID_PLATFORM;
3766
  }
3767
-
3768
- return UNKNOWN_PLATFORM;
3769
  };
3770
- // CONCATENATED MODULE: ./client/mobile-banner/app-icon.js
3771
 
3772
- var app_icon_AppIcon = function AppIcon() {
3773
- return Object(external_this_wp_element_["createElement"])("svg", {
3774
- width: "37",
3775
- height: "37",
3776
- viewBox: "0 0 92 92",
3777
- fill: "none",
3778
- xmlns: "http://www.w3.org/2000/svg"
3779
- }, Object(external_this_wp_element_["createElement"])("rect", {
3780
- width: "92",
3781
- height: "92",
3782
- rx: "21.3953",
3783
- fill: "#7F54B3"
3784
- }), Object(external_this_wp_element_["createElement"])("path", {
3785
- fillRule: "evenodd",
3786
- clipRule: "evenodd",
3787
- 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",
3788
- fill: "white"
3789
- }));
3790
- };
3791
- // EXTERNAL MODULE: ./client/mobile-banner/style.scss
3792
- var mobile_banner_style = __webpack_require__(301);
3793
 
3794
- // CONCATENATED MODULE: ./client/mobile-banner/constants.js
3795
- // The Play Store link is defined as an exported constant mainly for the sake of testing the Mobile App Banner.
3796
- // It is nearly impossible to fake navigation in JSDOM 16, so exposing this link for mocking allows us to
3797
- // avoid triggering a navigation.
3798
- var PLAY_STORE_LINK = 'https://play.google.com/store/apps/details?id=com.woocommerce.android';
3799
- var TRACKING_EVENT_NAME = 'wcadmin_mobile_android_banner_click';
3800
- // CONCATENATED MODULE: ./client/mobile-banner/index.js
3801
 
 
 
 
 
 
 
3802
 
 
 
 
 
3803
 
3804
- /**
3805
- * External dependencies
3806
- */
 
 
 
 
 
 
 
 
 
3807
 
 
 
 
 
 
 
3808
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3809
 
 
 
 
 
 
 
 
 
 
 
 
3810
 
3811
- /**
3812
- * Internal dependencies
3813
- */
3814
 
 
 
 
3815
 
 
 
 
3816
 
 
3817
 
 
 
 
 
 
3818
 
3819
- var SHOW_APP_BANNER_MODIFIER_CLASS = 'woocommerce-layout__show-app-banner';
3820
- var mobile_banner_MobileAppBanner = function MobileAppBanner(_ref) {
3821
- var onInstall = _ref.onInstall,
3822
- onDismiss = _ref.onDismiss;
3823
- Object(external_this_wp_element_["useEffect"])(function () {
3824
- var layout = document.getElementsByClassName('woocommerce-layout')[0];
3825
 
3826
- if (platform() === ANDROID_PLATFORM) {
3827
- if (layout) {
3828
- // This is a hack to allow the mobile banner to work in the context of the header which is
3829
- // position fixed. This can be refactored away when we move away from the activity panel
3830
- // in future.
3831
- layout.classList.add(SHOW_APP_BANNER_MODIFIER_CLASS);
3832
- }
3833
- }
3834
 
3835
- return function () {
3836
- if (layout) {
3837
- layout.classList.remove(SHOW_APP_BANNER_MODIFIER_CLASS);
3838
- }
3839
- };
3840
- }, []);
3841
 
3842
- var _useState = Object(external_this_wp_element_["useState"])(false),
3843
- _useState2 = slicedToArray_default()(_useState, 2),
3844
- isDismissed = _useState2[0],
3845
- setDismissed = _useState2[1]; // On iOS the "Smart App Banner" meta tag is used so only display this on Android.
 
 
 
 
 
 
 
 
 
 
3846
 
3847
 
3848
- if (platform() === ANDROID_PLATFORM && !isDismissed) {
3849
- return Object(external_this_wp_element_["createElement"])("div", {
3850
- className: "woocommerce-mobile-app-banner"
3851
- }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Icon"], {
3852
- icon: "no-alt",
3853
- "data-testid": "dismiss-btn",
3854
- onClick: function onClick() {
3855
- onDismiss();
3856
- setDismissed(true);
3857
- Object(external_this_wc_tracks_["recordEvent"])(TRACKING_EVENT_NAME, {
3858
- action: 'dismiss'
3859
- });
3860
- }
3861
- }), Object(external_this_wp_element_["createElement"])(app_icon_AppIcon, null), Object(external_this_wp_element_["createElement"])("div", {
3862
- className: "woocommerce-mobile-app-banner__description"
3863
- }, Object(external_this_wp_element_["createElement"])("p", {
3864
- className: "woocommerce-mobile-app-banner__description__text"
3865
- }, Object(external_this_wp_i18n_["__"])('Run your store from anywhere', 'woocommerce-admin')), Object(external_this_wp_element_["createElement"])("p", {
3866
- className: "woocommerce-mobile-app-banner__description__text"
3867
- }, Object(external_this_wp_i18n_["__"])('Download the WooCommerce app', 'woocommerce-admin'))), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
3868
- href: PLAY_STORE_LINK,
3869
- isSecondary: true,
3870
- onClick: function onClick() {
3871
- onInstall();
3872
- setDismissed(true);
3873
- Object(external_this_wc_tracks_["recordEvent"])(TRACKING_EVENT_NAME, {
3874
- action: 'install'
3875
- });
3876
- }
3877
- }, Object(external_this_wp_i18n_["__"])('Install', 'woocommerce-admin')));
3878
- }
3879
 
3880
- return null;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3881
  };
3882
- // CONCATENATED MODULE: ./client/hooks/useIsScrolled.js
3883
 
 
 
 
 
 
3884
 
3885
- /**
3886
- * External dependencies
3887
- */
3888
 
3889
- function useIsScrolled() {
3890
- var _useState = Object(external_this_wp_element_["useState"])(false),
3891
- _useState2 = slicedToArray_default()(_useState, 2),
3892
- isScrolled = _useState2[0],
3893
- setIsScrolled = _useState2[1];
3894
 
3895
- var rafHandle = Object(external_this_wp_element_["useRef"])(null);
3896
- Object(external_this_wp_element_["useEffect"])(function () {
3897
- var updateIsScrolled = function updateIsScrolled() {
3898
- setIsScrolled(window.pageYOffset > 20);
 
 
 
 
 
3899
  };
3900
-
3901
- var scrollListener = function scrollListener() {
3902
- rafHandle.current = window.requestAnimationFrame(updateIsScrolled);
 
 
 
 
 
 
 
3903
  };
3904
-
3905
- window.addEventListener('scroll', scrollListener);
3906
- return function () {
3907
- window.removeEventListener('scroll', scrollListener);
3908
- window.cancelAnimationFrame(rafHandle.current);
3909
  };
3910
- }, []);
3911
- return isScrolled;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3912
  }
3913
- // EXTERNAL MODULE: external {"this":["wp","plugins"]}
3914
- var external_this_wp_plugins_ = __webpack_require__(139);
3915
 
3916
- // EXTERNAL MODULE: ./client/navigation/style.scss
3917
- var navigation_style = __webpack_require__(302);
 
 
3918
 
3919
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
3920
- var toConsumableArray = __webpack_require__(19);
3921
- var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
3922
 
3923
- // CONCATENATED MODULE: ./client/navigation/utils.js
 
 
3924
 
 
3925
 
 
3926
 
3927
- 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; }
3928
 
3929
- 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; }
 
 
3930
 
3931
- /**
3932
- * External dependencies
3933
- */
3934
 
3935
- /**
3936
- * Get the full URL if a relative path is passed.
3937
- *
3938
- * @param {string} url URL
3939
- * @return {string} Full URL
3940
- */
3941
 
3942
- var getFullUrl = function getFullUrl(url) {
3943
- var _window$location = window.location,
3944
- origin = _window$location.origin,
3945
- pathname = _window$location.pathname,
3946
- search = _window$location.search;
 
 
 
 
 
3947
 
3948
- if (url.indexOf('#') === 0) {
3949
- return origin + pathname + search + url;
3950
- }
 
3951
 
3952
- if (url.indexOf('http') === 0) {
3953
- return url;
3954
- }
3955
 
3956
- return origin + url;
 
 
 
 
 
 
 
 
 
3957
  };
3958
- /**
3959
- * Get a match score for a menu item given a location.
3960
- *
3961
- * @param {Object} location Window location
3962
- * @param {string} itemUrl URL to compare
3963
- * @param {string} itemExpression Custom match expression
3964
- * @return {number} Number of matches or 0 if not matched.
3965
- */
3966
 
3967
- var getMatchScore = function getMatchScore(location, itemUrl) {
3968
- var itemExpression = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
3969
 
3970
- if (!itemUrl) {
3971
- return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3972
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3973
 
3974
- var fullUrl = getFullUrl(itemUrl);
3975
- var href = location.href; // Return highest possible score for exact match.
3976
 
3977
- if (fullUrl === href) {
3978
- return Number.MAX_SAFE_INTEGER;
3979
- }
 
3980
 
3981
- var defaultExpression = utils_getDefaultMatchExpression(fullUrl);
3982
- var regexp = new RegExp(itemExpression || defaultExpression, 'i');
3983
- return (decodeURIComponent(href).match(regexp) || []).length;
3984
- };
3985
- /**
3986
- * Get a default expression to match the path and provided params.
3987
- *
3988
- * @param {string} url URL to match.
3989
- * @return {string} Regex expression.
3990
- */
3991
 
3992
- var utils_getDefaultMatchExpression = function getDefaultMatchExpression(url) {
3993
- var escapedUrl = url.replace(/[-\/\\^$*+?.()|[\]{}]/gi, '\\$&');
3994
 
3995
- var _escapedUrl$split = escapedUrl.split(/\\\?|#/),
3996
- _escapedUrl$split2 = slicedToArray_default()(_escapedUrl$split, 3),
3997
- path = _escapedUrl$split2[0],
3998
- args = _escapedUrl$split2[1],
3999
- hash = _escapedUrl$split2[2];
4000
 
4001
- var hashExpression = hash ? "(.*#".concat(hash, "$)") : '';
4002
- var argsExpression = args ? args.split('&').reduce(function (acc, param) {
4003
- return "".concat(acc, "(?=.*[?|&]").concat(param, "(&|$|#))");
4004
- }, '') : '';
4005
- return '^' + path + argsExpression + hashExpression;
4006
  };
4007
- /**
4008
- * Adds a listener that runs on history change.
4009
- *
4010
- * @param {Function} listener Listener to add on history change.
4011
- * @return {Function} Function to remove listeners.
4012
- */
4013
 
4014
- var addHistoryListener = function addHistoryListener(listener) {
4015
- // Monkey patch pushState to allow trigger the pushstate event listener.
4016
- if (!window.wcNavigation.historyPatched) {
4017
- (function (history) {
4018
- /* global CustomEvent */
4019
- var pushState = history.pushState;
4020
- var replaceState = history.replaceState;
4021
 
4022
- history.pushState = function (state) {
4023
- var pushStateEvent = new CustomEvent('pushstate', {
4024
- state: state
4025
- });
4026
- window.dispatchEvent(pushStateEvent);
4027
- return pushState.apply(history, arguments);
4028
- };
4029
 
4030
- history.replaceState = function (state) {
4031
- var replaceStateEvent = new CustomEvent('replacestate', {
4032
- state: state
4033
- });
4034
- window.dispatchEvent(replaceStateEvent);
4035
- return replaceState.apply(history, arguments);
4036
- };
4037
 
4038
- window.wcNavigation.historyPatched = true;
4039
- })(window.history);
4040
- }
4041
 
4042
- window.addEventListener('popstate', listener);
4043
- window.addEventListener('pushstate', listener);
4044
- window.addEventListener('replacestate', listener);
4045
- return function () {
4046
- window.removeEventListener('popstate', listener);
4047
- window.removeEventListener('pushstate', listener);
4048
- window.removeEventListener('replacestate', listener);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4049
  };
4050
- };
4051
- /**
4052
- * Get the closest matching item.
4053
- *
4054
- * @param {Array} items An array of items to match against.
4055
- */
4056
 
4057
- var utils_getMatchingItem = function getMatchingItem(items) {
4058
- var matchedItem = null;
4059
- var highestMatchScore = 0;
4060
- items.forEach(function (item) {
4061
- var score = getMatchScore(window.location, Object(wc_admin_settings["f" /* getAdminLink */])(item.url), item.matchExpression);
4062
 
4063
- if (score > 0 && score >= highestMatchScore) {
4064
- highestMatchScore = score;
4065
- matchedItem = item;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4066
  }
 
 
 
4067
  });
4068
- return matchedItem || null;
4069
  };
4070
- /**
4071
- * Available menu IDs.
4072
- */
4073
-
4074
- var menuIds = ['primary', 'favorites', 'plugins', 'secondary'];
4075
- /**
4076
- * Default categories for the menu.
4077
- */
4078
 
4079
- var defaultCategories = {
4080
- woocommerce: {
4081
- id: 'woocommerce',
4082
- isCategory: true,
4083
- menuId: 'primary',
4084
- migrate: true,
4085
- order: 10,
4086
- parent: '',
4087
- title: 'WooCommerce'
4088
- }
 
4089
  };
4090
- /**
4091
- * Sort an array of menu items by their order property.
4092
- *
4093
- * @param {Array} menuItems Array of menu items.
4094
- * @return {Array} Sorted menu items.
4095
- */
4096
 
4097
- var sortMenuItems = function sortMenuItems(menuItems) {
4098
- return menuItems.sort(function (a, b) {
4099
- if (a.order === b.order) {
4100
- return a.title.localeCompare(b.title);
 
 
 
 
 
 
 
 
 
 
 
4101
  }
4102
-
4103
- return a.order - b.order;
4104
  });
4105
  };
4106
- /**
4107
- * Get a flat tree structure of all Categories and thier children grouped by menuId
4108
- *
4109
- * @param {Array} menuItems Array of menu items.
4110
- * @param {Function} currentUserCan Callback method passed the capability to determine if a menu item is visible.
4111
- * @return {Object} Mapped menu items and categories.
4112
- */
4113
-
4114
- var getMappedItemsCategories = function getMappedItemsCategories(menuItems) {
4115
- var currentUserCan = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
4116
-
4117
- var categories = _objectSpread({}, defaultCategories);
4118
-
4119
- var items = sortMenuItems(menuItems).reduce(function (acc, item) {
4120
- // Set up the category if it doesn't yet exist.
4121
- if (!acc[item.parent]) {
4122
- acc[item.parent] = {};
4123
- menuIds.forEach(function (menuId) {
4124
- acc[item.parent][menuId] = [];
4125
- });
4126
- } // Incorrect menu ID.
4127
-
4128
 
4129
- if (!acc[item.parent][item.menuId]) {
4130
- return acc;
4131
- } // User does not have permission to view this item.
4132
 
 
 
 
 
 
 
 
 
4133
 
4134
- if (currentUserCan && item.capability && !currentUserCan(item.capability)) {
4135
- return acc;
4136
- } // Add categories.
 
 
4137
 
 
 
 
 
 
 
 
 
4138
 
4139
- if (item.isCategory) {
4140
- categories[item.id] = item;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4141
  }
4142
-
4143
- acc[item.parent][item.menuId].push(item);
4144
- return acc;
4145
- }, {});
4146
- return {
4147
- items: items,
4148
- categories: categories
4149
- };
4150
  };
4151
- // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/wordpress.js
4152
-
4153
 
4154
- /**
4155
- * WordPress dependencies
4156
- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4157
 
4158
- var wordpress = Object(external_this_wp_element_["createElement"])(svg["b" /* SVG */], {
4159
- xmlns: "http://www.w3.org/2000/svg",
4160
- viewBox: "-2 -2 24 24"
4161
- }, Object(external_this_wp_element_["createElement"])(svg["a" /* Path */], {
4162
- 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"
4163
- }));
4164
- /* harmony default export */ var library_wordpress = (wordpress);
4165
- //# sourceMappingURL=wordpress.js.map
4166
- // CONCATENATED MODULE: ./client/navigation/components/header/index.js
 
 
 
 
 
 
 
 
 
 
 
 
4167
 
 
 
 
4168
 
 
 
4169
 
4170
- /**
4171
- * External dependencies
4172
- */
4173
 
 
 
 
 
 
 
 
 
 
 
4174
 
 
 
 
 
 
 
 
4175
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4176
 
4177
 
 
 
 
4178
 
 
4179
 
 
 
4180
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4181
 
4182
- /**
4183
- * Internal dependencies
4184
- */
4185
-
4186
-
4187
-
4188
-
4189
- var header_Header = function Header() {
4190
- var siteTitle = Object(wc_admin_settings["g" /* getSetting */])('siteTitle', '');
4191
- var homeUrl = Object(wc_admin_settings["g" /* getSetting */])('homeUrl', '');
4192
- var isScrolled = useIsScrolled();
 
 
 
 
 
4193
 
4194
- var _useState = Object(external_this_wp_element_["useState"])(document.body.classList.contains(false)),
4195
- _useState2 = slicedToArray_default()(_useState, 2),
4196
- isFolded = _useState2[0],
4197
- setIsFolded = _useState2[1];
4198
 
4199
- var navClasses = {
4200
- folded: 'is-wc-nav-folded',
4201
- expanded: 'is-wc-nav-expanded'
4202
- };
4203
 
4204
- var foldNav = function foldNav() {
4205
- document.body.classList.add(navClasses.folded);
4206
- document.body.classList.remove(navClasses.expanded);
4207
- setIsFolded(true);
4208
- };
4209
 
4210
- var expandNav = function expandNav() {
4211
- document.body.classList.remove(navClasses.folded);
4212
- document.body.classList.add(navClasses.expanded);
4213
- setIsFolded(false);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4214
  };
4215
 
4216
- var toggleFolded = function toggleFolded() {
4217
- if (document.body.classList.contains(navClasses.folded)) {
4218
- expandNav();
4219
- } else {
4220
- foldNav();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4221
  }
4222
- };
4223
-
4224
- var foldOnMobile = function foldOnMobile() {
4225
- var screenWidth = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.body.clientWidth;
4226
 
4227
- if (screenWidth <= 960) {
4228
- foldNav();
4229
- } else {
4230
- expandNav();
4231
- }
4232
- };
4233
 
4234
- Object(external_this_wp_element_["useEffect"])(function () {
4235
- foldOnMobile();
4236
- var foldEvents = [{
4237
- eventName: 'orientationchange',
4238
- handler: function handler(e) {
4239
- return foldOnMobile(e.target.screen.availWidth);
 
 
 
 
 
 
 
 
 
 
4240
  }
4241
- }, {
4242
- eventName: 'resize',
4243
- handler: Object(external_lodash_["debounce"])(function () {
4244
- return foldOnMobile();
4245
- }, 200)
4246
- }];
4247
 
4248
- for (var _i = 0, _foldEvents = foldEvents; _i < _foldEvents.length; _i++) {
4249
- var _foldEvents$_i = _foldEvents[_i],
4250
- eventName = _foldEvents$_i.eventName,
4251
- handler = _foldEvents$_i.handler;
4252
- window.addEventListener(eventName, handler, false);
4253
- }
4254
 
4255
- addHistoryListener(function () {
4256
- return foldOnMobile();
4257
- });
4258
- }, []);
4259
- var buttonIcon = Object(external_this_wp_element_["createElement"])(build_module_icon["a" /* default */], {
4260
- size: "36px",
4261
- icon: library_wordpress
4262
- });
4263
 
4264
- var _useSelect = Object(external_this_wp_data_["useSelect"])(function (select) {
4265
- var _select = select('core/data'),
4266
- isResolving = _select.isResolving;
 
4267
 
4268
- var _select2 = select('core'),
4269
- getEntityRecord = _select2.getEntityRecord;
4270
 
4271
- var siteData = getEntityRecord('root', '__unstableBase', undefined) || {};
4272
- return {
4273
- isRequestingSiteIcon: isResolving('core', 'getEntityRecord', ['root', '__unstableBase', undefined]),
4274
- siteIconUrl: siteData.siteIconUrl
4275
- };
4276
- }),
4277
- isRequestingSiteIcon = _useSelect.isRequestingSiteIcon,
4278
- siteIconUrl = _useSelect.siteIconUrl;
4279
 
4280
- if (siteIconUrl) {
4281
- buttonIcon = Object(external_this_wp_element_["createElement"])("img", {
4282
- alt: Object(external_this_wp_i18n_["__"])('Site Icon'),
4283
- src: siteIconUrl
4284
- });
4285
- } else if (isRequestingSiteIcon) {
4286
- buttonIcon = null;
4287
- }
4288
 
4289
- var className = classnames_default()('woocommerce-navigation-header', {
4290
- 'is-scrolled': isScrolled
4291
- });
4292
- return Object(external_this_wp_element_["createElement"])("div", {
4293
- className: className
4294
- }, Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
4295
- onClick: function onClick() {
4296
- return toggleFolded();
 
 
 
 
 
 
4297
  },
4298
- className: "woocommerce-navigation-header__site-icon",
4299
- "aria-label": "Fold navigation",
4300
- role: "switch",
4301
- "aria-checked": isFolded ? 'true' : 'false'
4302
- }, buttonIcon), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
4303
- href: homeUrl,
4304
- className: "woocommerce-navigation-header__site-title",
4305
- as: "span"
4306
- }, Object(external_this_wp_htmlEntities_["decodeEntities"])(siteTitle)));
4307
  };
4308
 
4309
- /* harmony default export */ var header = (header_Header);
4310
- // EXTERNAL MODULE: ./client/navigation/components/category-title/style.scss
4311
- var category_title_style = __webpack_require__(303);
4312
 
4313
- // EXTERNAL MODULE: ./client/navigation/components/favorite-button/style.scss
4314
- var favorite_button_style = __webpack_require__(304);
 
4315
 
4316
- // CONCATENATED MODULE: ./client/navigation/components/favorite-button/index.js
4317
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4318
 
4319
- /**
4320
- * External dependencies
4321
- */
4322
 
 
 
 
4323
 
 
 
4324
 
 
 
4325
 
 
 
 
 
4326
 
4327
- /**
4328
- * Internal dependencies
4329
- */
4330
 
 
 
 
4331
 
4332
- var favorite_button_FavoriteButton = function FavoriteButton(_ref) {
4333
- var id = _ref.id;
4334
 
4335
- var _useSelect = Object(external_this_wp_data_["useSelect"])(function (select) {
4336
- return {
4337
- favorites: select(external_this_wc_data_["NAVIGATION_STORE_NAME"]).getFavorites(),
4338
- isResolving: select(external_this_wc_data_["NAVIGATION_STORE_NAME"]).isResolving('getFavorites')
4339
- };
4340
- }),
4341
- favorites = _useSelect.favorites,
4342
- isResolving = _useSelect.isResolving;
4343
 
4344
- var _useDispatch = Object(external_this_wp_data_["useDispatch"])(external_this_wc_data_["NAVIGATION_STORE_NAME"]),
4345
- addFavorite = _useDispatch.addFavorite,
4346
- removeFavorite = _useDispatch.removeFavorite;
4347
 
4348
- var isFavorited = favorites.includes(id);
 
 
4349
 
4350
- var toggleFavorite = function toggleFavorite() {
4351
- var toggle = isFavorited ? removeFavorite : addFavorite;
4352
- toggle(id);
4353
- Object(external_this_wc_tracks_["recordEvent"])('navigation_favorite', {
4354
- id: id,
4355
- action: isFavorited ? 'unfavorite' : 'favorite'
4356
- });
4357
- };
4358
 
4359
- if (isResolving) {
4360
- return null;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4361
  }
 
4362
 
4363
- return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
4364
- id: "woocommerce-navigation-favorite-button",
4365
- className: "woocommerce-navigation-favorite-button",
4366
- isTertiary: true,
4367
- onClick: toggleFavorite,
4368
- icon: isFavorited ? 'star-filled' : 'star-empty',
4369
- "aria-label": isFavorited ? Object(external_this_wp_i18n_["__"])('Add this item to your favorites.', 'woocommerce-admin') : Object(external_this_wp_i18n_["__"])('Remove this item from your favorites.', 'woocommerce-admin')
4370
- });
 
 
 
 
 
 
 
 
4371
  };
4372
- /* harmony default export */ var favorite_button = (favorite_button_FavoriteButton);
4373
- // CONCATENATED MODULE: ./client/navigation/components/favorites-tooltip/index.js
4374
 
4375
 
 
 
 
4376
 
4377
- /**
4378
- * External dependencies
4379
- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4380
 
4381
 
 
 
 
 
4382
 
4383
- /**
4384
- * Internal dependencies
4385
- */
 
 
 
 
 
 
 
 
 
4386
 
 
4387
 
4388
- var tooltipHiddenOption = 'woocommerce_navigation_favorites_tooltip_hidden';
4389
- var favorites_tooltip_FavoritesTooltip = function FavoritesTooltip() {
4390
- var _useSelect = Object(external_this_wp_data_["useSelect"])(function (select) {
4391
- var _select = select(external_this_wc_data_["OPTIONS_STORE_NAME"]),
4392
- getOption = _select.getOption,
4393
- isResolving = _select.isResolving;
4394
 
4395
- return {
4396
- isFavoritesResolving: select(external_this_wc_data_["NAVIGATION_STORE_NAME"]).isResolving('getFavorites'),
4397
- isOptionResolving: isResolving('getOption', [tooltipHiddenOption]),
4398
- isTooltipHidden: getOption(tooltipHiddenOption) === 'yes'
4399
- };
4400
- }),
4401
- isFavoritesResolving = _useSelect.isFavoritesResolving,
4402
- isOptionResolving = _useSelect.isOptionResolving,
4403
- isTooltipHidden = _useSelect.isTooltipHidden;
4404
 
4405
- var _useDispatch = Object(external_this_wp_data_["useDispatch"])(external_this_wc_data_["OPTIONS_STORE_NAME"]),
4406
- updateOptions = _useDispatch.updateOptions;
4407
 
4408
- if (isFavoritesResolving || isTooltipHidden || isOptionResolving) {
4409
- return null;
4410
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4411
 
4412
- if (document.body.classList.contains('is-wc-nav-folded')) {
4413
- return null;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4414
  }
 
 
 
 
4415
 
4416
- return Object(external_this_wp_element_["createElement"])(HighlightTooltip, {
4417
- delay: 1000,
4418
- title: Object(external_this_wp_i18n_["__"])('Introducing favorites', 'woocommerce-admin'),
4419
- content: Object(external_this_wp_i18n_["__"])('You can now favorite your extensions to pin them in the top level of the navigation.', 'woocommerce-admin'),
4420
- closeButtonText: Object(external_this_wp_i18n_["__"])('Got it', 'woocommerce-admin'),
4421
- id: "woocommerce-navigation-favorite-button",
4422
- onClose: function onClose() {
4423
- return updateOptions(defineProperty_default()({}, tooltipHiddenOption, 'yes'));
4424
- },
4425
- useAnchor: true
4426
- });
4427
- };
4428
- /* harmony default export */ var favorites_tooltip = (favorites_tooltip_FavoritesTooltip);
4429
- // CONCATENATED MODULE: ./client/navigation/components/category-title/index.js
4430
 
 
 
 
4431
 
4432
- /**
4433
- * Internal dependencies
4434
- */
4435
 
 
 
 
4436
 
 
4437
 
4438
- var category_title_CategoryTitle = function CategoryTitle(_ref) {
4439
- var category = _ref.category;
4440
- var id = category.id,
4441
- title = category.title;
4442
- var className = 'woocommerce-navigation-category-title';
4443
 
4444
- if (['plugins', 'favorites'].includes(category.menuId)) {
4445
- return Object(external_this_wp_element_["createElement"])("span", {
4446
- className: className
4447
- }, Object(external_this_wp_element_["createElement"])("span", {
4448
- className: "".concat(className, "__text")
4449
- }, title), Object(external_this_wp_element_["createElement"])(favorite_button_FavoriteButton, {
4450
- id: id
4451
- }), Object(external_this_wp_element_["createElement"])(favorites_tooltip_FavoritesTooltip, null));
4452
- }
4453
 
4454
- return Object(external_this_wp_element_["createElement"])("span", {
4455
- className: className
4456
- }, title);
4457
- };
4458
- /* harmony default export */ var category_title = (category_title_CategoryTitle);
4459
- // CONCATENATED MODULE: ./client/navigation/components/Item/index.js
4460
 
 
 
 
4461
 
4462
- /**
4463
- * External dependencies
4464
- */
4465
 
 
4466
 
 
 
 
4467
 
 
 
 
4468
 
4469
- var Item_Item = function Item(_ref) {
4470
- var item = _ref.item;
4471
- var slot = Object(external_this_wc_navigation_["useNavSlot"])('woocommerce_navigation_' + item.id);
4472
- var hasFills = Boolean(slot.fills && slot.fills.length);
4473
 
4474
- var trackClick = function trackClick(id) {
4475
- Object(external_this_wc_tracks_["recordEvent"])('navigation_click', {
4476
- menu_item: id
4477
- });
4478
- }; // Disable reason: The div wrapping the slot item is used for tracking purposes
4479
- // and should not be a tabbable element.
4480
 
4481
- /* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */
4482
- // Only render a slot if a coresponding Fill exists and the item is not a category
 
 
 
 
4483
 
 
 
 
4484
 
4485
- if (hasFills && !item.isCategory) {
4486
- return Object(external_this_wp_element_["createElement"])(build_module["c" /* NavigationItem */], {
4487
- key: item.id,
4488
- item: item.id
4489
- }, Object(external_this_wp_element_["createElement"])("div", {
4490
- onClick: function onClick() {
4491
- return trackClick(item.id);
4492
- }
4493
- }, Object(external_this_wp_element_["createElement"])(external_this_wc_navigation_["WooNavigationItem"].Slot, {
4494
- name: item.id
4495
- })));
4496
  }
4497
 
4498
- return Object(external_this_wp_element_["createElement"])(build_module["c" /* NavigationItem */], {
4499
- key: item.id,
4500
- item: item.id,
4501
- title: item.title,
4502
- href: item.url,
4503
- navigateToMenu: !item.url && item.id,
4504
- onClick: function onClick() {
4505
- return trackClick(item.id);
4506
- },
4507
- hideIfTargetMenuEmpty: true
4508
- });
4509
- /* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */
4510
- };
4511
-
4512
- /* harmony default export */ var components_Item = (Item_Item);
4513
- // CONCATENATED MODULE: ./client/navigation/components/container/primary-menu.js
4514
 
 
4515
 
4516
- /**
4517
- * External dependencies
4518
- */
4519
 
 
 
 
4520
 
4521
- /**
4522
- * Internal dependencies
4523
- */
4524
 
 
 
 
 
 
4525
 
 
4526
 
4527
- var primary_menu_PrimaryMenu = function PrimaryMenu(_ref) {
4528
- var category = _ref.category,
4529
- onBackClick = _ref.onBackClick,
4530
- pluginItems = _ref.pluginItems,
4531
- primaryItems = _ref.primaryItems;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4532
 
4533
- if (!primaryItems.length && !pluginItems.length) {
4534
- return null;
4535
- }
4536
 
4537
- var _window$wcNavigation = window.wcNavigation,
4538
- rootBackLabel = _window$wcNavigation.rootBackLabel,
4539
- rootBackUrl = _window$wcNavigation.rootBackUrl;
4540
- var isRootBackVisible = category.id === 'woocommerce' && rootBackUrl;
4541
- return Object(external_this_wp_element_["createElement"])(build_module["d" /* NavigationMenu */], {
4542
- title: Object(external_this_wp_element_["createElement"])(category_title, {
4543
- category: category
4544
- }),
4545
- menu: category.id,
4546
- parentMenu: category.parent,
4547
- backButtonLabel: isRootBackVisible ? rootBackLabel : category.backButtonLabel || null,
4548
- onBackButtonClick: isRootBackVisible ? function () {
4549
- onBackClick('woocommerce');
4550
- window.location = rootBackUrl;
4551
- } : function () {
4552
- return onBackClick(category.id);
4553
- }
4554
- }, !!primaryItems.length && Object(external_this_wp_element_["createElement"])(build_module["b" /* NavigationGroup */], null, primaryItems.map(function (item) {
4555
- return Object(external_this_wp_element_["createElement"])(components_Item, {
4556
- key: item.id,
4557
- item: item
4558
- });
4559
- })), !!pluginItems.length && Object(external_this_wp_element_["createElement"])(build_module["b" /* NavigationGroup */], {
4560
- title: category.id === 'woocommerce' ? Object(external_this_wp_i18n_["__"])('Extensions', 'woocommerce-admin') : null
4561
- }, pluginItems.map(function (item) {
4562
- return Object(external_this_wp_element_["createElement"])(components_Item, {
4563
- key: item.id,
4564
- item: item
4565
- });
4566
- })));
4567
- };
4568
- // CONCATENATED MODULE: ./client/navigation/components/container/secondary-menu.js
4569
 
 
4570
 
4571
- /**
4572
- * External dependencies
4573
- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4574
 
4575
- /**
4576
- * Internal dependencies
4577
- */
4578
 
 
 
 
4579
 
 
 
4580
 
4581
- var secondary_menu_SecondaryMenu = function SecondaryMenu(_ref) {
4582
- var category = _ref.category,
4583
- items = _ref.items,
4584
- onBackClick = _ref.onBackClick;
4585
 
4586
- if (!items.length) {
4587
- return null;
4588
- }
 
 
 
 
 
 
4589
 
4590
- var isRoot = category.id === 'woocommerce';
4591
- return Object(external_this_wp_element_["createElement"])(build_module["d" /* NavigationMenu */], {
4592
- className: "components-navigation__menu-secondary",
4593
- title: !isRoot && Object(external_this_wp_element_["createElement"])(category_title, {
4594
- category: category
4595
- }),
4596
- menu: category.id,
4597
- parentMenu: category.parent,
4598
- backButtonLabel: category.backButtonLabel || null,
4599
- onBackButtonClick: isRoot ? null : function () {
4600
- return onBackClick(category.id);
4601
- }
4602
- }, Object(external_this_wp_element_["createElement"])(build_module["b" /* NavigationGroup */], {
4603
- onBackButtonClick: function onBackButtonClick() {
4604
- return onBackClick(category.id);
4605
- }
4606
- }, items.map(function (item) {
4607
- return Object(external_this_wp_element_["createElement"])(components_Item, {
4608
- key: item.id,
4609
- item: item
4610
- });
4611
- })));
4612
  };
4613
- // CONCATENATED MODULE: ./client/navigation/components/container/index.js
4614
 
4615
 
 
 
 
4616
 
 
 
 
4617
 
4618
- /**
4619
- * External dependencies
4620
- */
4621
 
 
 
 
 
 
4622
 
 
4623
 
 
 
 
4624
 
 
 
4625
 
 
 
4626
 
 
 
 
 
 
 
 
4627
 
4628
- /**
4629
- * Internal dependencies
4630
- */
4631
 
4632
 
 
 
 
4633
 
 
4634
 
 
4635
 
4636
 
4637
- var container_Container = function Container(_ref) {
4638
- var menuItems = _ref.menuItems;
4639
- Object(external_this_wp_element_["useEffect"])(function () {
4640
- // Collapse the original WP Menu.
4641
- document.documentElement.classList.remove('wp-toolbar');
4642
- document.body.classList.add('has-woocommerce-navigation');
4643
- var adminMenu = document.getElementById('adminmenumain');
4644
 
4645
- if (!adminMenu) {
4646
- return;
4647
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4648
 
4649
- adminMenu.classList.add('folded');
4650
- }, []);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4651
 
4652
- var _useState = Object(external_this_wp_element_["useState"])('woocommerce-home'),
4653
- _useState2 = slicedToArray_default()(_useState, 2),
4654
- activeItem = _useState2[0],
4655
- setActiveItem = _useState2[1];
 
 
 
 
4656
 
4657
- var _useState3 = Object(external_this_wp_element_["useState"])('woocommerce'),
4658
- _useState4 = slicedToArray_default()(_useState3, 2),
4659
- activeLevel = _useState4[0],
4660
- setActiveLevel = _useState4[1];
4661
 
4662
- Object(external_this_wp_element_["useEffect"])(function () {
4663
- var initialMatchedItem = utils_getMatchingItem(menuItems);
 
4664
 
4665
- if (initialMatchedItem && activeItem !== initialMatchedItem) {
4666
- setActiveItem(initialMatchedItem);
4667
- setActiveLevel(initialMatchedItem.parent);
4668
- }
4669
 
4670
- var removeListener = addHistoryListener(function () {
4671
- setTimeout(function () {
4672
- var matchedItem = utils_getMatchingItem(menuItems);
4673
 
4674
- if (matchedItem) {
4675
- setActiveItem(matchedItem);
4676
- }
4677
- }, 0);
4678
- });
4679
- return removeListener;
4680
- }, [menuItems]);
4681
 
4682
- var _useUser = Object(external_this_wc_data_["useUser"])(),
4683
- currentUserCan = _useUser.currentUserCan;
 
4684
 
4685
- var _useMemo = Object(external_this_wp_element_["useMemo"])(function () {
4686
- return getMappedItemsCategories(menuItems, currentUserCan);
4687
- }, [menuItems, currentUserCan]),
4688
- categories = _useMemo.categories,
4689
- items = _useMemo.items;
 
 
 
 
 
 
 
4690
 
4691
- var navDomRef = Object(external_this_wp_element_["useRef"])(null);
4692
 
4693
- var onBackClick = function onBackClick(id) {
4694
- Object(external_this_wc_tracks_["recordEvent"])('navigation_back_click', {
4695
- category: id
4696
- });
4697
- };
4698
 
4699
- var isRoot = activeLevel === 'woocommerce';
4700
- var classes = classnames_default()('woocommerce-navigation', {
4701
- 'is-root': isRoot
4702
- });
4703
- return Object(external_this_wp_element_["createElement"])("div", {
4704
- className: classes
4705
- }, Object(external_this_wp_element_["createElement"])(header, null), Object(external_this_wp_element_["createElement"])("div", {
4706
- className: "woocommerce-navigation__wrapper",
4707
- ref: navDomRef
4708
- }, Object(external_this_wp_element_["createElement"])(build_module["a" /* Navigation */], {
4709
- activeItem: activeItem ? activeItem.id : null,
4710
- activeMenu: activeLevel,
4711
- onActivateMenu: function onActivateMenu() {
4712
- if (navDomRef && navDomRef.current) {
4713
- navDomRef.current.scrollTop = 0;
4714
- }
4715
 
4716
- setActiveLevel.apply(void 0, arguments);
4717
- }
4718
- }, Object.values(categories).map(function (category) {
4719
- var categoryItems = items[category.id];
4720
- return !!categoryItems && [Object(external_this_wp_element_["createElement"])(primary_menu_PrimaryMenu, {
4721
- key: category.id,
4722
- category: category,
4723
- onBackClick: onBackClick,
4724
- primaryItems: [].concat(toConsumableArray_default()(categoryItems.primary), toConsumableArray_default()(categoryItems.favorites)),
4725
- pluginItems: categoryItems.plugins
4726
- }), Object(external_this_wp_element_["createElement"])(secondary_menu_SecondaryMenu, {
4727
- key: "secondary/".concat(category.id),
4728
- category: category,
4729
- onBackClick: onBackClick,
4730
- items: categoryItems.secondary
4731
- })];
4732
- }))));
4733
  };
4734
 
4735
- /* harmony default export */ var container = (Object(external_this_wp_compose_["compose"])(Object(external_this_wp_data_["withSelect"])(function (select) {
4736
- var _select = select(external_this_wc_data_["NAVIGATION_STORE_NAME"]),
4737
- getActiveItem = _select.getActiveItem,
4738
- getMenuItems = _select.getMenuItems;
4739
-
4740
- return {
4741
- activeItem: getActiveItem(),
4742
- menuItems: getMenuItems()
4743
- };
4744
- }))(container_Container));
4745
- // CONCATENATED MODULE: ./client/navigation/index.js
4746
-
4747
 
4748
- /**
4749
- * External dependencies
4750
- */
4751
 
 
 
 
 
 
 
 
4752
 
4753
 
4754
- /**
4755
- * Internal dependencies
4756
- */
4757
 
 
4758
 
 
 
 
 
 
4759
 
 
4760
 
4761
- var navigation_Navigation = function Navigation() {
4762
- return Object(external_this_wp_element_["createElement"])(external_this_wc_navigation_["NavSlotFillProvider"], null, Object(external_this_wp_element_["createElement"])(container, null), Object(external_this_wp_element_["createElement"])(external_this_wp_plugins_["PluginArea"], null));
 
 
 
 
4763
  };
4764
 
4765
- var HydratedNavigation = Object(external_this_wc_data_["withNavigationHydration"])(window.wcNavigation)(navigation_Navigation);
4766
- /* harmony default export */ var navigation = (HydratedNavigation);
4767
- // CONCATENATED MODULE: ./client/header/index.js
4768
-
4769
-
4770
 
 
 
 
4771
 
4772
- 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; }
4773
 
4774
- 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; }
4775
 
4776
- /**
4777
- * External dependencies
4778
- */
4779
 
 
 
4780
 
 
 
 
 
 
4781
 
 
 
4782
 
 
 
 
 
4783
 
 
 
4784
 
 
 
 
 
 
4785
 
4786
- /**
4787
- * Internal dependencies
4788
- */
 
4789
 
 
 
 
 
 
 
 
4790
 
 
 
4791
 
 
 
 
 
 
4792
 
 
 
 
 
 
 
 
 
 
 
4793
 
 
 
4794
 
4795
- var client_header_Header = function Header(_ref) {
4796
- var sections = _ref.sections,
4797
- _ref$isEmbedded = _ref.isEmbedded,
4798
- isEmbedded = _ref$isEmbedded === void 0 ? false : _ref$isEmbedded,
4799
- query = _ref.query;
4800
- var headerElement = Object(external_this_wp_element_["useRef"])(null);
4801
- var siteTitle = Object(wc_admin_settings["g" /* getSetting */])('siteTitle', '');
4802
- var pageTitle = sections.slice(-1)[0];
4803
- var isScrolled = useIsScrolled();
4804
 
4805
- var _useUserPreferences = Object(external_this_wc_data_["useUserPreferences"])(),
4806
- updateUserPreferences = _useUserPreferences.updateUserPreferences,
4807
- userData = objectWithoutProperties_default()(_useUserPreferences, ["updateUserPreferences"]);
 
4808
 
4809
- var isModalDismissed = userData.android_app_banner_dismissed === 'yes';
4810
- var debounceTimer = null;
4811
- var className = classnames_default()('woocommerce-layout__header', {
4812
- 'is-scrolled': isScrolled
4813
- });
4814
- Object(external_this_wp_element_["useLayoutEffect"])(function () {
4815
- updateBodyMargin();
4816
- window.addEventListener('resize', updateBodyMargin);
4817
- return function () {
4818
- window.removeEventListener('resize', updateBodyMargin);
4819
- var wpBody = document.querySelector('#wpbody');
 
 
 
 
4820
 
4821
- if (!wpBody) {
4822
- return;
4823
- }
4824
 
4825
- wpBody.style.marginTop = null;
4826
- };
4827
- }, [isModalDismissed]);
 
 
 
 
 
4828
 
4829
- var updateBodyMargin = function updateBodyMargin() {
4830
- clearTimeout(debounceTimer);
4831
- debounceTimer = setTimeout(function () {
4832
- var wpBody = document.querySelector('#wpbody');
 
 
4833
 
4834
- if (!wpBody || !headerElement.current) {
4835
- return;
4836
- }
 
 
 
 
 
 
 
 
 
 
4837
 
4838
- wpBody.style.marginTop = "".concat(headerElement.current.offsetHeight, "px");
4839
- }, 200);
4840
- };
 
 
 
4841
 
4842
- Object(external_this_wp_element_["useEffect"])(function () {
4843
- if (!isEmbedded) {
4844
- var documentTitle = sections.map(function (section) {
4845
- return Array.isArray(section) ? section[1] : section;
4846
- }).reverse().join(' &lsaquo; ');
4847
- var decodedTitle = Object(external_this_wp_htmlEntities_["decodeEntities"])(Object(external_this_wp_i18n_["sprintf"])(
4848
- /* translators: 1: document title. 2: page title */
4849
- Object(external_this_wp_i18n_["__"])('%1$s &lsaquo; %2$s &#8212; WooCommerce', 'woocommerce-admin'), documentTitle, siteTitle));
4850
 
4851
- if (document.title !== decodedTitle) {
4852
- document.title = decodedTitle;
4853
- }
 
4854
  }
4855
- }, [isEmbedded, sections, siteTitle]);
4856
 
4857
- var dismissHandler = function dismissHandler() {
4858
- updateUserPreferences({
4859
- android_app_banner_dismissed: 'yes'
4860
- });
4861
- };
4862
 
4863
- return Object(external_this_wp_element_["createElement"])("div", {
4864
- className: className,
4865
- ref: headerElement
4866
- }, !isModalDismissed && Object(external_this_wp_element_["createElement"])(mobile_banner_MobileAppBanner, {
4867
- onDismiss: dismissHandler,
4868
- onInstall: dismissHandler
4869
- }), Object(external_this_wp_element_["createElement"])("div", {
4870
- className: "woocommerce-layout__header-wrapper"
4871
- }, window.wcAdminFeatures.navigation && Object(external_this_wp_element_["createElement"])(navigation, null), Object(external_this_wp_element_["createElement"])(build_module["e" /* Text */], {
4872
- className: "woocommerce-layout__header-heading",
4873
- as: "h1",
4874
- variant: "subtitle.small"
4875
- }, Object(external_this_wp_htmlEntities_["decodeEntities"])(pageTitle)), window.wcAdminFeatures['activity-panels'] && Object(external_this_wp_element_["createElement"])(activity_panel, {
4876
- isEmbedded: isEmbedded,
4877
- query: query,
4878
- userPreferencesData: header_objectSpread(header_objectSpread({}, userData), {}, {
4879
- updateUserPreferences: updateUserPreferences
4880
- })
4881
- })));
4882
- };
4883
- // CONCATENATED MODULE: ./client/layout/notices.js
4884
 
 
 
 
 
4885
 
 
 
 
 
4886
 
 
 
 
 
4887
 
 
 
 
 
 
 
 
4888
 
 
 
4889
 
 
 
 
4890
 
4891
- 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); }; }
 
 
4892
 
4893
- function notices_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
 
 
 
 
 
 
 
 
 
4894
 
4895
- /**
4896
- * External dependencies
4897
- */
4898
 
 
 
4899
 
4900
- var notices_Notices = /*#__PURE__*/function (_Component) {
4901
- inherits_default()(Notices, _Component);
 
4902
 
4903
- var _super = notices_createSuper(Notices);
 
 
 
4904
 
4905
- function Notices() {
4906
- classCallCheck_default()(this, Notices);
4907
 
4908
- return _super.apply(this, arguments);
4909
- }
 
4910
 
4911
- createClass_default()(Notices, [{
4912
- key: "render",
4913
- value: function render() {
4914
- return Object(external_this_wp_element_["createElement"])("div", {
4915
- id: "woocommerce-layout__notice-list",
4916
- className: "woocommerce-layout__notice-list"
4917
- });
4918
  }
4919
- }]);
 
4920
 
4921
- return Notices;
4922
- }(external_this_wp_element_["Component"]);
 
 
 
 
 
 
 
 
 
 
4923
 
4924
- /* harmony default export */ var layout_notices = (notices_Notices);
4925
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js
4926
- var regenerator = __webpack_require__(8);
4927
- var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);
4928
 
4929
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
4930
- var asyncToGenerator = __webpack_require__(44);
4931
- var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
 
4932
 
4933
- // EXTERNAL MODULE: ./node_modules/react-spring/web.cjs.js
4934
- var web_cjs = __webpack_require__(182);
4935
 
4936
- // EXTERNAL MODULE: ./client/layout/transient-notices/snackbar/index.js
4937
- var snackbar = __webpack_require__(277);
 
 
 
 
4938
 
4939
- // CONCATENATED MODULE: ./client/layout/transient-notices/snackbar/list.js
4940
 
 
 
4941
 
 
 
 
 
4942
 
 
 
 
 
 
4943
 
 
 
4944
 
 
 
 
4945
 
4946
- /**
4947
- * External dependencies
4948
- */
4949
 
 
 
 
4950
 
 
 
 
 
 
 
 
 
4951
 
 
4952
 
 
 
 
 
 
 
 
4953
 
4954
- /**
4955
- * Internal dependencies
4956
- */
4957
 
 
 
 
 
 
 
 
 
 
 
4958
 
4959
- /**
4960
- * Renders a list of notices.
4961
- *
4962
- * @param {Object} $0 Props passed to the component.
4963
- * @param {Array} $0.notices Array of notices to render.
4964
- * @param {Function} $0.onRemove Function called when a notice should be removed / dismissed.
4965
- * @param {Function} $0.onRemove2 Function called when a notice should be removed / dismissed.
4966
- * @param {Object} $0.className Name of the class used by the component.
4967
- * @param {Object} $0.children Array of children to be rendered inside the notice list.
4968
- * @return {Object} The rendered notices list.
4969
- */
4970
 
4971
- function SnackbarList(_ref) {
4972
- var notices = _ref.notices,
4973
- className = _ref.className,
4974
- children = _ref.children,
4975
- _ref$onRemove = _ref.onRemove,
4976
- onRemove = _ref$onRemove === void 0 ? external_lodash_["noop"] : _ref$onRemove,
4977
- _ref$onRemove2 = _ref.onRemove2,
4978
- onRemove2 = _ref$onRemove2 === void 0 ? external_lodash_["noop"] : _ref$onRemove2;
4979
- var isReducedMotion = Object(external_this_wp_compose_["useReducedMotion"])();
4980
 
4981
- var _useState = Object(external_this_wp_element_["useState"])(function () {
4982
- return new WeakMap();
4983
- }),
4984
- _useState2 = slicedToArray_default()(_useState, 1),
4985
- refMap = _useState2[0];
4986
 
4987
- var transitions = Object(web_cjs["useTransition"])(notices, function (notice) {
4988
- return notice.id;
4989
- }, {
4990
- from: {
4991
- opacity: 0,
4992
- height: 0
4993
- },
4994
- enter: function enter(item) {
4995
- return /*#__PURE__*/function () {
4996
- var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regenerator_default.a.mark(function _callee(next) {
4997
- return regenerator_default.a.wrap(function _callee$(_context) {
4998
- while (1) {
4999
- switch (_context.prev = _context.next) {
5000
- case 0:
5001
- _context.next = 2;
5002
- return next({
5003
- opacity: 1,
5004
- height: refMap.get(item).offsetHeight
5005
- });
5006
 
5007
- case 2:
5008
- return _context.abrupt("return", _context.sent);
5009
 
5010
- case 3:
5011
- case "end":
5012
- return _context.stop();
5013
- }
5014
- }
5015
- }, _callee);
5016
- }));
5017
 
5018
- return function (_x) {
5019
- return _ref2.apply(this, arguments);
5020
- };
5021
- }();
5022
- },
5023
- leave: function leave() {
5024
- return /*#__PURE__*/function () {
5025
- var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regenerator_default.a.mark(function _callee2(next) {
5026
- return regenerator_default.a.wrap(function _callee2$(_context2) {
5027
- while (1) {
5028
- switch (_context2.prev = _context2.next) {
5029
- case 0:
5030
- _context2.next = 2;
5031
- return next({
5032
- opacity: 0
5033
- });
5034
 
5035
- case 2:
5036
- _context2.next = 4;
5037
- return next({
5038
- height: 0
5039
- });
5040
 
5041
- case 4:
5042
- case "end":
5043
- return _context2.stop();
5044
- }
5045
- }
5046
- }, _callee2);
5047
- }));
5048
 
5049
- return function (_x2) {
5050
- return _ref3.apply(this, arguments);
5051
- };
5052
- }();
5053
- },
5054
- immediate: isReducedMotion
5055
- });
5056
- className = classnames_default()('components-snackbar-list', className);
 
5057
 
5058
- var removeNotice = function removeNotice(notice) {
5059
- return function () {
5060
- onRemove(notice.id); // To be removed when we're no longer using core/notices2.
5061
 
5062
- onRemove2(notice.id);
5063
- };
5064
- };
5065
 
5066
- return Object(external_this_wp_element_["createElement"])("div", {
5067
- className: className
5068
- }, children, transitions.map(function (_ref4) {
5069
- var notice = _ref4.item,
5070
- key = _ref4.key,
5071
- style = _ref4.props;
5072
- return Object(external_this_wp_element_["createElement"])(web_cjs["animated"].div, {
5073
- key: key,
5074
- style: style
5075
- }, Object(external_this_wp_element_["createElement"])("div", {
5076
- className: "components-snackbar-list__notice-container",
5077
- ref: function ref(_ref5) {
5078
- return _ref5 && refMap.set(notice, _ref5);
5079
- }
5080
- }, Object(external_this_wp_element_["createElement"])(snackbar["a" /* default */], extends_default()({}, Object(external_lodash_["omit"])(notice, ['content']), {
5081
- onRemove: removeNotice(notice)
5082
- }), notice.content)));
5083
- }));
5084
- }
5085
 
5086
- /* harmony default export */ var list = (SnackbarList);
5087
- // EXTERNAL MODULE: ./client/layout/transient-notices/style.scss
5088
- var transient_notices_style = __webpack_require__(306);
5089
 
5090
- // CONCATENATED MODULE: ./client/layout/transient-notices/index.js
5091
 
 
 
5092
 
5093
- /**
5094
- * External dependencies
5095
- */
5096
 
5097
 
5098
 
5099
- /**
5100
- * Internal dependencies
5101
- */
5102
 
5103
 
5104
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5105
 
5106
- function TransientNotices(props) {
5107
- var _useDispatch = Object(external_this_wp_data_["useDispatch"])('core/notices'),
5108
- onRemove = _useDispatch.removeNotice;
 
5109
 
5110
- var _useDispatch2 = Object(external_this_wp_data_["useDispatch"])('core/notices2'),
5111
- onRemove2 = _useDispatch2.removeNotice;
5112
 
5113
- var noticeData = Object(external_this_wp_data_["useSelect"])(function (select) {
5114
- // NOTE: This uses core/notices2, if this file is copied back upstream
5115
- // to Gutenberg this needs to be changed back to just core/notices.
5116
- var notices = select('core/notices').getNotices();
5117
- var notices2 = select('core/notices2').getNotices();
5118
- return {
5119
- notices: notices,
5120
- notices2: notices2
5121
- };
5122
- });
5123
- /**
5124
- * Combines the two notices in the component vs in the useSelect, as we don't want to
5125
- * create new object references on each useSelect call.
5126
- */
5127
 
5128
- var getNotices = function getNotices() {
5129
- var notices = noticeData.notices,
5130
- _noticeData$notices = noticeData.notices2,
5131
- notices2 = _noticeData$notices === void 0 ? [] : _noticeData$notices;
5132
- return notices.concat(notices2);
5133
  };
5134
-
5135
- var className = props.className;
5136
- var classes = classnames_default()('woocommerce-transient-notices', 'components-notices__snackbar', className);
5137
- var notices = getNotices();
5138
- return Object(external_this_wp_element_["createElement"])(list, {
5139
- notices: notices,
5140
- className: classes,
5141
- onRemove: onRemove,
5142
- onRemove2: onRemove2
5143
- });
5144
  }
5145
 
5146
- TransientNotices.propTypes = {
5147
- /**
5148
- * Additional class name to style the component.
5149
- */
5150
- className: prop_types_default.a.string,
5151
-
5152
- /**
5153
- * Array of notices to be displayed.
5154
- */
5155
- notices: prop_types_default.a.array
5156
- };
5157
- /* harmony default export */ var transient_notices = (TransientNotices);
5158
- // CONCATENATED MODULE: ./client/layout/navigation.js
5159
-
5160
-
5161
-
5162
-
5163
- 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; }
5164
-
5165
- 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; }
5166
-
5167
- /**
5168
- * External dependencies
5169
- */
5170
-
5171
 
 
 
 
 
 
 
 
 
5172
 
 
 
 
 
 
5173
 
 
 
 
 
 
5174
 
5175
- /**
5176
- * Internal dependencies
5177
- */
5178
 
 
 
 
 
 
 
 
 
 
5179
 
 
5180
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5181
 
 
 
 
 
 
5182
 
 
 
5183
 
5184
- var navigation_NavigationPlugin = function NavigationPlugin() {
5185
- var _useState = Object(external_this_wp_element_["useState"])(Object(external_this_wc_navigation_["getPersistedQuery"])()),
5186
- _useState2 = slicedToArray_default()(_useState, 2),
5187
- persistedQuery = _useState2[0],
5188
- setPersistedQuery = _useState2[1];
 
 
5189
 
5190
- var pathIsExcluded = function pathIsExcluded(path) {
5191
- return Object(external_this_wc_navigation_["getQueryExcludedScreens"])().includes(Object(external_this_wc_navigation_["getScreenFromPath"])(path));
5192
- }; // Update the persisted queries when history is updated
 
 
 
5193
 
5194
-
5195
- Object(external_this_wp_element_["useEffect"])(function () {
5196
- return addHistoryListener(function () {
5197
- setTimeout(function () {
5198
- if (pathIsExcluded()) {
5199
- return;
5200
  }
5201
-
5202
- setPersistedQuery(Object(external_this_wc_navigation_["getPersistedQuery"])());
5203
- }, 0);
5204
- });
5205
- }, []);
5206
- /**
5207
- * If the current page is embedded, stay with the default urls
5208
- * provided by Navigation because the router isn't present to
5209
- * respond to <Link /> component's manipulation of the url.
5210
- */
5211
-
5212
- if (!Object(utils["f" /* isWCAdmin */])(window.location.href)) {
5213
- return null;
5214
- }
5215
-
5216
- var reports = Object(get_reports["a" /* default */])().filter(function (item) {
5217
- return item.navArgs;
5218
- });
5219
- var pages = controller_getPages().filter(function (page) {
5220
- return page.navArgs;
5221
- }).map(function (page) {
5222
- if (page.path === '/analytics/settings') {
5223
- return navigation_objectSpread(navigation_objectSpread({}, page), {}, {
5224
- breadcrumbs: [Object(external_this_wp_i18n_["__"])('Analytics', 'woocommerce-admin')]
5225
- });
5226
  }
 
5227
 
5228
- return page;
5229
- });
5230
- return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, pages.map(function (page) {
5231
- return Object(external_this_wp_element_["createElement"])(external_this_wc_navigation_["WooNavigationItem"], {
5232
- item: page.navArgs.id,
5233
- key: page.navArgs.id
5234
- }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
5235
- className: "components-button",
5236
- href: Object(external_this_wc_navigation_["getNewPath"])(pathIsExcluded(page.path) ? {} : persistedQuery, page.path, {}),
5237
- type: "wc-admin"
5238
- }, page.breadcrumbs[page.breadcrumbs.length - 1]));
5239
- }), reports.map(function (item) {
5240
- return Object(external_this_wp_element_["createElement"])(external_this_wc_navigation_["WooNavigationItem"], {
5241
- item: item.navArgs.id,
5242
- key: item.navArgs.id
5243
- }, Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Link"], {
5244
- className: "components-button",
5245
- href: Object(external_this_wc_navigation_["getNewPath"])(pathIsExcluded(item.report) ? {} : persistedQuery, "/analytics/".concat(item.report), {}),
5246
- type: "wc-admin"
5247
- }, item.title));
5248
- }));
5249
- };
5250
-
5251
- Object(external_this_wp_plugins_["registerPlugin"])('wc-admin-navigation', {
5252
- render: navigation_NavigationPlugin
5253
- });
5254
- // CONCATENATED MODULE: ./client/layout/index.js
5255
-
5256
-
5257
-
5258
-
5259
-
5260
-
5261
-
5262
 
 
 
5263
 
 
 
 
5264
 
5265
- 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; }
 
 
 
 
 
 
 
5266
 
5267
- 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; }
 
 
 
5268
 
5269
- 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); }; }
 
 
 
5270
 
5271
- function layout_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
 
 
 
 
 
 
5272
 
 
 
 
 
5273
  /**
5274
- * External dependencies
 
 
 
 
5275
  */
5276
 
 
 
 
 
 
 
 
 
 
5277
 
 
 
 
 
 
 
5278
 
 
 
 
 
 
 
 
 
5279
 
 
 
 
5280
 
 
 
5281
 
5282
-
5283
-
5284
-
5285
-
5286
-
5287
-
 
 
 
5288
  /**
5289
- * Internal dependencies
 
5290
  */
5291
 
5292
 
 
 
 
 
5293
 
 
 
 
 
 
 
 
 
 
 
 
 
5294
 
 
 
 
 
5295
 
 
 
 
 
 
 
 
 
 
5296
 
 
 
 
5297
 
5298
- var StoreAlerts = Object(external_this_wp_element_["lazy"])(function () {
5299
- return Promise.all(/* import() | store-alerts */[__webpack_require__.e(1), __webpack_require__.e(47)]).then(__webpack_require__.bind(null, 611));
5300
- });
5301
- var WCPayUsageModal = Object(external_this_wp_element_["lazy"])(function () {
5302
- return __webpack_require__.e(/* import() | wcpay-usage-modal */ 51).then(__webpack_require__.bind(null, 509));
5303
- });
5304
- var layout_PrimaryLayout = /*#__PURE__*/function (_Component) {
5305
- inherits_default()(PrimaryLayout, _Component);
5306
 
5307
- var _super = layout_createSuper(PrimaryLayout);
 
5308
 
5309
- function PrimaryLayout() {
5310
- classCallCheck_default()(this, PrimaryLayout);
 
5311
 
5312
- return _super.apply(this, arguments);
 
 
 
5313
  }
5314
 
5315
- createClass_default()(PrimaryLayout, [{
5316
- key: "render",
5317
- value: function render() {
5318
- var children = this.props.children;
5319
- return Object(external_this_wp_element_["createElement"])("div", {
5320
- className: "woocommerce-layout__primary",
5321
- id: "woocommerce-layout__primary"
5322
- }, window.wcAdminFeatures['store-alerts'] && Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Suspense"], {
5323
- fallback: Object(external_this_wp_element_["createElement"])(external_this_wc_components_["Spinner"], null)
5324
- }, Object(external_this_wp_element_["createElement"])(StoreAlerts, null)), Object(external_this_wp_element_["createElement"])(layout_notices, null), children);
5325
- }
5326
- }]);
5327
 
5328
- return PrimaryLayout;
5329
- }(external_this_wp_element_["Component"]);
5330
 
5331
- var layout_Layout = /*#__PURE__*/function (_Component2) {
5332
- inherits_default()(_Layout, _Component2);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5333
 
5334
- var _super2 = layout_createSuper(_Layout);
 
 
 
5335
 
5336
- function _Layout() {
5337
- classCallCheck_default()(this, _Layout);
 
 
 
5338
 
5339
- return _super2.apply(this, arguments);
 
 
 
5340
  }
5341
 
5342
- createClass_default()(_Layout, [{
5343
- key: "componentDidMount",
5344
- value: function componentDidMount() {
5345
- this.recordPageViewTrack();
5346
- }
5347
- }, {
5348
- key: "componentDidUpdate",
5349
- value: function componentDidUpdate(prevProps) {
5350
- var previousPath = Object(external_lodash_["get"])(prevProps, 'location.pathname');
5351
- var currentPath = Object(external_lodash_["get"])(this.props, 'location.pathname');
5352
 
5353
- if (!previousPath || !currentPath) {
5354
- return;
5355
- }
5356
 
5357
- if (previousPath !== currentPath) {
5358
- this.recordPageViewTrack();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5359
  }
5360
- }
5361
- }, {
5362
- key: "recordPageViewTrack",
5363
- value: function recordPageViewTrack() {
5364
- var _this$props = this.props,
5365
- activePlugins = _this$props.activePlugins,
5366
- installedPlugins = _this$props.installedPlugins,
5367
- isEmbedded = _this$props.isEmbedded,
5368
- isJetpackConnected = _this$props.isJetpackConnected;
5369
- var navigationFlag = {
5370
- has_navigation: !!window.wcNavigation
5371
- };
5372
 
5373
- if (isEmbedded) {
5374
- var _path = document.location.pathname + document.location.search;
 
 
 
 
 
 
 
5375
 
5376
- Object(external_this_wc_tracks_["recordPageView"])(_path, layout_objectSpread({
5377
- is_embedded: true
5378
- }, navigationFlag));
5379
- return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5380
  }
 
 
5381
 
5382
- var pathname = Object(external_lodash_["get"])(this.props, 'location.pathname');
 
 
5383
 
5384
- if (!pathname) {
5385
- return;
5386
- } // Remove leading slash, and camel case remaining pathname
5387
 
 
 
 
5388
 
5389
- var path = pathname.substring(1).replace(/\//g, '_'); // When pathname is `/` we are on the home screen.
5390
 
5391
- if (path.length === 0) {
5392
- path = 'home_screen';
5393
- }
5394
 
5395
- Object(external_this_wc_tracks_["recordPageView"])(path, layout_objectSpread({
5396
- jetpack_installed: installedPlugins.includes('jetpack'),
5397
- jetpack_active: activePlugins.includes('jetpack'),
5398
- jetpack_connected: isJetpackConnected
5399
- }, navigationFlag));
 
5400
  }
5401
- }, {
5402
- key: "getQuery",
5403
- value: function getQuery(searchString) {
5404
- if (!searchString) {
5405
- return {};
5406
- }
5407
 
5408
- var search = searchString.substring(1);
5409
- return Object(lib["parse"])(search);
5410
- }
5411
- }, {
5412
- key: "isWCPaySettingsPage",
5413
- value: function isWCPaySettingsPage() {
5414
- var _getQuery = Object(external_this_wc_navigation_["getQuery"])(),
5415
- page = _getQuery.page,
5416
- section = _getQuery.section,
5417
- tab = _getQuery.tab;
5418
 
5419
- return page === 'wc-settings' && tab === 'checkout' && section === 'woocommerce_payments';
 
 
5420
  }
5421
- }, {
5422
- key: "render",
5423
- value: function render() {
5424
- var _this$props2 = this.props,
5425
- isEmbedded = _this$props2.isEmbedded,
5426
- restProps = objectWithoutProperties_default()(_this$props2, ["isEmbedded"]);
5427
 
5428
- var _this$props3 = this.props,
5429
- location = _this$props3.location,
5430
- page = _this$props3.page;
5431
- var breadcrumbs = page.breadcrumbs;
5432
- var query = this.getQuery(location && location.search);
5433
- return Object(external_this_wp_element_["createElement"])("div", {
5434
- className: "woocommerce-layout"
5435
- }, Object(external_this_wp_element_["createElement"])(client_header_Header, {
5436
- sections: Object(external_lodash_["isFunction"])(breadcrumbs) ? breadcrumbs(this.props) : breadcrumbs,
5437
- isEmbedded: isEmbedded,
5438
- query: query
5439
- }), Object(external_this_wp_element_["createElement"])(transient_notices, null), !isEmbedded && Object(external_this_wp_element_["createElement"])(layout_PrimaryLayout, null, Object(external_this_wp_element_["createElement"])("div", {
5440
- className: "woocommerce-layout__main"
5441
- }, Object(external_this_wp_element_["createElement"])(controller_Controller, extends_default()({}, restProps, {
5442
- query: query
5443
- })))), isEmbedded && this.isWCPaySettingsPage() && Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Suspense"], {
5444
- fallback: null
5445
- }, Object(external_this_wp_element_["createElement"])(WCPayUsageModal, null)));
5446
- }
5447
- }]);
5448
 
5449
- return _Layout;
5450
- }(external_this_wp_element_["Component"]);
 
 
5451
 
5452
- layout_Layout.propTypes = {
5453
- isEmbedded: prop_types_default.a.bool,
5454
- page: prop_types_default.a.shape({
5455
- container: prop_types_default.a.oneOfType([prop_types_default.a.func, prop_types_default.a.object // Support React.lazy
5456
- ]),
5457
- path: prop_types_default.a.string,
5458
- 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,
5459
- wpOpenMenu: prop_types_default.a.string
5460
- }).isRequired
5461
- };
5462
- var Layout = Object(external_this_wp_compose_["compose"])(Object(external_this_wc_data_["withPluginsHydration"])(layout_objectSpread(layout_objectSpread({}, window.wcSettings.plugins || {}), {}, {
5463
- jetpackStatus: window.wcSettings.dataEndpoints && window.wcSettings.dataEndpoints.jetpackStatus || false
5464
- })), Object(external_this_wp_data_["withSelect"])(function (select, _ref) {
5465
- var isEmbedded = _ref.isEmbedded;
5466
 
5467
- // Embedded pages don't send plugin info to Tracks.
5468
- if (isEmbedded) {
5469
- return;
5470
  }
5471
 
5472
- var _select = select(external_this_wc_data_["PLUGINS_STORE_NAME"]),
5473
- getActivePlugins = _select.getActivePlugins,
5474
- getInstalledPlugins = _select.getInstalledPlugins,
5475
- isJetpackConnected = _select.isJetpackConnected;
 
 
 
 
5476
 
5477
- return {
5478
- activePlugins: getActivePlugins(),
5479
- isJetpackConnected: isJetpackConnected(),
5480
- installedPlugins: getInstalledPlugins()
 
 
 
 
 
 
 
 
5481
  };
5482
- }))(layout_Layout);
5483
-
5484
- var layout_PageLayout = function _PageLayout() {
5485
- var _useUser = Object(external_this_wc_data_["useUser"])(),
5486
- currentUserCan = _useUser.currentUserCan;
5487
-
5488
- return Object(external_this_wp_element_["createElement"])(react_router_Router, {
5489
- history: Object(external_this_wc_navigation_["getHistory"])()
5490
- }, Object(external_this_wp_element_["createElement"])(react_router_Switch, null, controller_getPages().filter(function (page) {
5491
- return !page.capability || currentUserCan(page.capability);
5492
- }).map(function (page) {
5493
- return Object(external_this_wp_element_["createElement"])(react_router_Route, {
5494
- key: page.path,
5495
- path: page.path,
5496
- exact: true,
5497
- render: function render(props) {
5498
- return Object(external_this_wp_element_["createElement"])(Layout, extends_default()({
5499
- page: page
5500
- }, props));
5501
- }
5502
- });
5503
- })));
5504
- };
5505
-
5506
- var PageLayout = Object(external_this_wp_compose_["compose"])(window.wcSettings.preloadOptions ? Object(external_this_wc_data_["withOptionsHydration"])(layout_objectSpread({}, window.wcSettings.preloadOptions)) : external_lodash_["identity"])(layout_PageLayout);
5507
 
5508
- var layout_EmbedLayout = function _EmbedLayout() {
5509
- return Object(external_this_wp_element_["createElement"])(Layout, {
5510
- page: {
5511
- breadcrumbs: Object(wc_admin_settings["g" /* getSetting */])('embedBreadcrumbs', [])
 
5512
  },
5513
- isEmbedded: true
5514
- });
5515
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5516
 
5517
- var EmbedLayout = Object(external_this_wp_compose_["compose"])(window.wcSettings.preloadOptions ? Object(external_this_wc_data_["withOptionsHydration"])(layout_objectSpread({}, window.wcSettings.preloadOptions)) : external_lodash_["identity"])(layout_EmbedLayout);
 
 
 
 
 
 
5518
 
5519
- /***/ }),
 
 
5520
 
5521
- /***/ 142:
5522
- /***/ (function(module, exports) {
 
5523
 
5524
- (function() { module.exports = this["wc"]["number"]; }());
 
 
 
5525
 
5526
- /***/ }),
 
 
 
 
 
 
 
 
 
 
 
5527
 
5528
- /***/ 15:
5529
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
5530
 
5531
- var _typeof = __webpack_require__(31);
5532
 
5533
- var assertThisInitialized = __webpack_require__(9);
 
5534
 
5535
- function _possibleConstructorReturn(self, call) {
5536
- if (call && (_typeof(call) === "object" || typeof call === "function")) {
5537
- return call;
5538
  }
5539
 
5540
- return assertThisInitialized(self);
5541
- }
5542
 
5543
- module.exports = _possibleConstructorReturn;
 
 
5544
 
5545
- /***/ }),
 
 
5546
 
5547
- /***/ 152:
5548
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
5549
 
5550
- "use strict";
5551
- /** @license React v16.13.1
5552
- * react-is.production.min.js
5553
- *
5554
- * Copyright (c) Facebook, Inc. and its affiliates.
5555
- *
5556
- * This source code is licensed under the MIT license found in the
5557
- * LICENSE file in the root directory of this source tree.
5558
- */
5559
 
5560
- 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?
5561
- 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;
5562
- 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;
5563
- 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};
5564
- 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};
5565
- 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;
5566
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5567
 
5568
- /***/ }),
 
 
 
5569
 
5570
- /***/ 16:
5571
- /***/ (function(module, exports) {
 
 
 
5572
 
5573
- (function() { module.exports = this["moment"]; }());
 
 
 
 
5574
 
5575
- /***/ }),
5576
 
5577
- /***/ 17:
5578
- /***/ (function(module, exports) {
 
 
 
5579
 
5580
- (function() { module.exports = this["wp"]["dataControls"]; }());
 
 
5581
 
5582
- /***/ }),
 
 
5583
 
5584
- /***/ 18:
5585
- /***/ (function(module, exports, __webpack_require__) {
5586
 
5587
- var arrayWithHoles = __webpack_require__(60);
 
 
 
 
 
 
 
 
5588
 
5589
- var iterableToArrayLimit = __webpack_require__(61);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5590
 
5591
- var unsupportedIterableToArray = __webpack_require__(40);
 
 
 
 
 
 
 
 
5592
 
5593
- var nonIterableRest = __webpack_require__(62);
 
 
 
 
 
 
5594
 
5595
- function _slicedToArray(arr, i) {
5596
- return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
5597
- }
 
 
 
 
 
5598
 
5599
- module.exports = _slicedToArray;
 
 
 
5600
 
5601
- /***/ }),
 
 
5602
 
5603
- /***/ 182:
5604
- /***/ (function(module, exports, __webpack_require__) {
 
5605
 
5606
- "use strict";
5607
 
 
 
5608
 
5609
- Object.defineProperty(exports, '__esModule', { value: true });
 
 
 
 
 
5610
 
5611
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
5612
 
5613
- var _extends = _interopDefault(__webpack_require__(24));
5614
- var _objectWithoutPropertiesLoose = _interopDefault(__webpack_require__(97));
5615
- var React = __webpack_require__(10);
5616
- var React__default = _interopDefault(React);
5617
- var _inheritsLoose = _interopDefault(__webpack_require__(305));
5618
- var _assertThisInitialized = _interopDefault(__webpack_require__(9));
5619
 
5620
- var is = {
5621
- arr: Array.isArray,
5622
- obj: function obj(a) {
5623
- return Object.prototype.toString.call(a) === '[object Object]';
5624
- },
5625
- fun: function fun(a) {
5626
- return typeof a === 'function';
5627
- },
5628
- str: function str(a) {
5629
- return typeof a === 'string';
5630
- },
5631
- num: function num(a) {
5632
- return typeof a === 'number';
5633
- },
5634
- und: function und(a) {
5635
- return a === void 0;
5636
- },
5637
- nul: function nul(a) {
5638
- return a === null;
5639
- },
5640
- set: function set(a) {
5641
- return a instanceof Set;
5642
- },
5643
- map: function map(a) {
5644
- return a instanceof Map;
5645
- },
5646
- equ: function equ(a, b) {
5647
- if (typeof a !== typeof b) return false;
5648
- if (is.str(a) || is.num(a)) return a === b;
5649
- if (is.obj(a) && is.obj(b) && Object.keys(a).length + Object.keys(b).length === 0) return true;
5650
- var i;
5651
 
5652
- for (i in a) {
5653
- if (!(i in b)) return false;
 
5654
  }
5655
 
5656
- for (i in b) {
5657
- if (a[i] !== b[i]) return false;
5658
- }
 
 
5659
 
5660
- return is.und(i) ? a === b : true;
 
5661
  }
5662
- };
5663
- function merge(target, lowercase) {
5664
- if (lowercase === void 0) {
5665
- lowercase = true;
 
 
 
 
5666
  }
5667
 
5668
- return function (object) {
5669
- return (is.arr(object) ? object : Object.keys(object)).reduce(function (acc, element) {
5670
- var key = lowercase ? element[0].toLowerCase() + element.substring(1) : element;
5671
- acc[key] = target(key);
5672
- return acc;
5673
- }, target);
 
 
 
 
 
 
5674
  };
 
5675
  }
5676
- function useForceUpdate() {
5677
- var _useState = React.useState(false),
5678
- f = _useState[1];
5679
 
5680
- var forceUpdate = React.useCallback(function () {
5681
- return f(function (v) {
5682
- return !v;
5683
- });
5684
- }, []);
5685
- return forceUpdate;
5686
- }
5687
- function withDefault(value, defaultValue) {
5688
- return is.und(value) || is.nul(value) ? defaultValue : value;
5689
- }
5690
- function toArray(a) {
5691
- return !is.und(a) ? is.arr(a) ? a : [a] : [];
5692
  }
5693
- function callProp(obj) {
5694
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
5695
- args[_key - 1] = arguments[_key];
5696
- }
5697
 
5698
- return is.fun(obj) ? obj.apply(void 0, args) : obj;
5699
- }
5700
 
5701
- function getForwardProps(props) {
5702
- var to = props.to,
5703
- from = props.from,
5704
- config = props.config,
5705
- onStart = props.onStart,
5706
- onRest = props.onRest,
5707
- onFrame = props.onFrame,
5708
- children = props.children,
5709
- reset = props.reset,
5710
- reverse = props.reverse,
5711
- force = props.force,
5712
- immediate = props.immediate,
5713
- delay = props.delay,
5714
- attach = props.attach,
5715
- destroyed = props.destroyed,
5716
- interpolateTo = props.interpolateTo,
5717
- ref = props.ref,
5718
- lazy = props.lazy,
5719
- forward = _objectWithoutPropertiesLoose(props, ["to", "from", "config", "onStart", "onRest", "onFrame", "children", "reset", "reverse", "force", "immediate", "delay", "attach", "destroyed", "interpolateTo", "ref", "lazy"]);
5720
 
5721
- return forward;
5722
- }
 
 
 
 
 
 
 
5723
 
5724
- function interpolateTo(props) {
5725
- var forward = getForwardProps(props);
5726
- if (is.und(forward)) return _extends({
5727
- to: forward
5728
- }, props);
5729
- var rest = Object.keys(props).reduce(function (a, k) {
5730
- var _extends2;
5731
 
5732
- return !is.und(forward[k]) ? a : _extends({}, a, (_extends2 = {}, _extends2[k] = props[k], _extends2));
5733
- }, {});
5734
- return _extends({
5735
- to: forward
5736
- }, rest);
5737
- }
5738
- function handleRef(ref, forward) {
5739
- if (forward) {
5740
- // If it's a function, assume it's a ref callback
5741
- if (is.fun(forward)) forward(ref);else if (is.obj(forward)) {
5742
- forward.current = ref;
5743
- }
5744
  }
5745
 
5746
- return ref;
5747
- }
5748
-
5749
- var Animated =
5750
- /*#__PURE__*/
5751
- function () {
5752
- function Animated() {
5753
- this.payload = void 0;
5754
- this.children = [];
5755
  }
5756
 
5757
- var _proto = Animated.prototype;
5758
-
5759
- _proto.getAnimatedValue = function getAnimatedValue() {
5760
- return this.getValue();
5761
- };
5762
-
5763
- _proto.getPayload = function getPayload() {
5764
- return this.payload || this;
5765
- };
5766
-
5767
- _proto.attach = function attach() {};
5768
-
5769
- _proto.detach = function detach() {};
5770
-
5771
- _proto.getChildren = function getChildren() {
5772
- return this.children;
5773
- };
5774
-
5775
- _proto.addChild = function addChild(child) {
5776
- if (this.children.length === 0) this.attach();
5777
- this.children.push(child);
5778
- };
5779
-
5780
- _proto.removeChild = function removeChild(child) {
5781
- var index = this.children.indexOf(child);
5782
- this.children.splice(index, 1);
5783
- if (this.children.length === 0) this.detach();
5784
- };
5785
-
5786
- return Animated;
5787
- }();
5788
- var AnimatedArray =
5789
- /*#__PURE__*/
5790
- function (_Animated) {
5791
- _inheritsLoose(AnimatedArray, _Animated);
5792
 
5793
- function AnimatedArray() {
5794
- var _this;
5795
 
5796
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
5797
- args[_key] = arguments[_key];
5798
- }
 
 
 
 
 
 
5799
 
5800
- _this = _Animated.call.apply(_Animated, [this].concat(args)) || this;
5801
- _this.payload = [];
 
 
 
5802
 
5803
- _this.attach = function () {
5804
- return _this.payload.forEach(function (p) {
5805
- return p instanceof Animated && p.addChild(_assertThisInitialized(_this));
 
 
5806
  });
5807
- };
 
5808
 
5809
- _this.detach = function () {
5810
- return _this.payload.forEach(function (p) {
5811
- return p instanceof Animated && p.removeChild(_assertThisInitialized(_this));
 
 
 
 
 
 
 
5812
  });
5813
- };
5814
-
5815
- return _this;
5816
  }
5817
 
5818
- return AnimatedArray;
5819
- }(Animated);
5820
- var AnimatedObject =
5821
- /*#__PURE__*/
5822
- function (_Animated2) {
5823
- _inheritsLoose(AnimatedObject, _Animated2);
5824
-
5825
- function AnimatedObject() {
5826
- var _this2;
 
 
 
 
 
 
 
 
 
5827
 
5828
- for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
5829
- args[_key3] = arguments[_key3];
5830
- }
5831
 
5832
- _this2 = _Animated2.call.apply(_Animated2, [this].concat(args)) || this;
5833
- _this2.payload = {};
 
5834
 
5835
- _this2.attach = function () {
5836
- return Object.values(_this2.payload).forEach(function (s) {
5837
- return s instanceof Animated && s.addChild(_assertThisInitialized(_this2));
5838
- });
5839
- };
5840
 
5841
- _this2.detach = function () {
5842
- return Object.values(_this2.payload).forEach(function (s) {
5843
- return s instanceof Animated && s.removeChild(_assertThisInitialized(_this2));
5844
- });
5845
- };
5846
 
5847
- return _this2;
5848
  }
5849
 
5850
- var _proto2 = AnimatedObject.prototype;
 
 
5851
 
5852
- _proto2.getValue = function getValue(animated) {
5853
- if (animated === void 0) {
5854
- animated = false;
5855
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5856
 
5857
- var payload = {};
5858
 
5859
- for (var _key4 in this.payload) {
5860
- var value = this.payload[_key4];
5861
- if (animated && !(value instanceof Animated)) continue;
5862
- payload[_key4] = value instanceof Animated ? value[animated ? 'getAnimatedValue' : 'getValue']() : value;
5863
- }
5864
 
5865
- return payload;
5866
- };
5867
 
5868
- _proto2.getAnimatedValue = function getAnimatedValue() {
5869
- return this.getValue(true);
5870
- };
5871
 
5872
- return AnimatedObject;
5873
- }(Animated);
5874
 
5875
- var applyAnimatedValues;
5876
- function injectApplyAnimatedValues(fn, transform) {
5877
- applyAnimatedValues = {
5878
- fn: fn,
5879
- transform: transform
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5880
  };
 
 
5881
  }
5882
- var colorNames;
5883
- function injectColorNames(names) {
5884
- colorNames = names;
5885
- }
5886
- var requestFrame = function requestFrame(cb) {
5887
- return typeof window !== 'undefined' ? window.requestAnimationFrame(cb) : -1;
5888
- };
5889
- var cancelFrame = function cancelFrame(id) {
5890
- typeof window !== 'undefined' && window.cancelAnimationFrame(id);
5891
- };
5892
- function injectFrame(raf, caf) {
5893
- requestFrame = raf;
5894
- cancelFrame = caf;
5895
- }
5896
- var interpolation;
5897
- function injectStringInterpolator(fn) {
5898
- interpolation = fn;
5899
- }
5900
- var now = function now() {
5901
- return Date.now();
5902
  };
5903
- function injectNow(nowFn) {
5904
- now = nowFn;
5905
- }
5906
- var defaultElement;
5907
- function injectDefaultElement(el) {
5908
- defaultElement = el;
5909
- }
5910
- var animatedApi = function animatedApi(node) {
5911
- return node.current;
5912
  };
5913
- function injectAnimatedApi(fn) {
5914
- animatedApi = fn;
5915
- }
5916
- var createAnimatedStyle;
5917
- function injectCreateAnimatedStyle(factory) {
5918
- createAnimatedStyle = factory;
5919
- }
5920
- var manualFrameloop;
5921
- function injectManualFrameloop(callback) {
5922
- manualFrameloop = callback;
5923
- }
5924
 
5925
- var Globals = /*#__PURE__*/Object.freeze({
5926
- get applyAnimatedValues () { return applyAnimatedValues; },
5927
- injectApplyAnimatedValues: injectApplyAnimatedValues,
5928
- get colorNames () { return colorNames; },
5929
- injectColorNames: injectColorNames,
5930
- get requestFrame () { return requestFrame; },
5931
- get cancelFrame () { return cancelFrame; },
5932
- injectFrame: injectFrame,
5933
- get interpolation () { return interpolation; },
5934
- injectStringInterpolator: injectStringInterpolator,
5935
- get now () { return now; },
5936
- injectNow: injectNow,
5937
- get defaultElement () { return defaultElement; },
5938
- injectDefaultElement: injectDefaultElement,
5939
- get animatedApi () { return animatedApi; },
5940
- injectAnimatedApi: injectAnimatedApi,
5941
- get createAnimatedStyle () { return createAnimatedStyle; },
5942
- injectCreateAnimatedStyle: injectCreateAnimatedStyle,
5943
- get manualFrameloop () { return manualFrameloop; },
5944
- injectManualFrameloop: injectManualFrameloop
5945
- });
5946
 
5947
- /**
5948
- * Wraps the `style` property with `AnimatedStyle`.
5949
- */
 
 
 
 
 
 
 
 
5950
 
5951
- var AnimatedProps =
5952
- /*#__PURE__*/
5953
- function (_AnimatedObject) {
5954
- _inheritsLoose(AnimatedProps, _AnimatedObject);
 
5955
 
5956
- function AnimatedProps(props, callback) {
5957
- var _this;
 
 
 
 
5958
 
5959
- _this = _AnimatedObject.call(this) || this;
5960
- _this.update = void 0;
5961
- _this.payload = !props.style ? props : _extends({}, props, {
5962
- style: createAnimatedStyle(props.style)
5963
- });
5964
- _this.update = callback;
5965
 
5966
- _this.attach();
5967
 
5968
- return _this;
5969
- }
 
 
5970
 
5971
- return AnimatedProps;
5972
- }(AnimatedObject);
5973
 
5974
- var isFunctionComponent = function isFunctionComponent(val) {
5975
- return is.fun(val) && !(val.prototype instanceof React__default.Component);
 
 
5976
  };
5977
 
5978
- var createAnimatedComponent = function createAnimatedComponent(Component) {
5979
- var AnimatedComponent = React.forwardRef(function (props, ref) {
5980
- var forceUpdate = useForceUpdate();
5981
- var mounted = React.useRef(true);
5982
- var propsAnimated = React.useRef(null);
5983
- var node = React.useRef(null);
5984
- var attachProps = React.useCallback(function (props) {
5985
- var oldPropsAnimated = propsAnimated.current;
5986
 
5987
- var callback = function callback() {
5988
- var didUpdate = false;
 
5989
 
5990
- if (node.current) {
5991
- didUpdate = applyAnimatedValues.fn(node.current, propsAnimated.current.getAnimatedValue());
5992
- }
5993
 
5994
- if (!node.current || didUpdate === false) {
5995
- // If no referenced node has been found, or the update target didn't have a
5996
- // native-responder, then forceUpdate the animation ...
5997
- forceUpdate();
5998
- }
5999
- };
6000
 
6001
- propsAnimated.current = new AnimatedProps(props, callback);
6002
- oldPropsAnimated && oldPropsAnimated.detach();
6003
- }, []);
6004
- React.useEffect(function () {
6005
- return function () {
6006
- mounted.current = false;
6007
- propsAnimated.current && propsAnimated.current.detach();
6008
- };
6009
- }, []);
6010
- React.useImperativeHandle(ref, function () {
6011
- return animatedApi(node, mounted, forceUpdate);
6012
- });
6013
- attachProps(props);
6014
 
6015
- var _getValue = propsAnimated.current.getValue(),
6016
- scrollTop = _getValue.scrollTop,
6017
- scrollLeft = _getValue.scrollLeft,
6018
- animatedProps = _objectWithoutPropertiesLoose(_getValue, ["scrollTop", "scrollLeft"]); // Functions cannot have refs, see:
6019
- // See: https://github.com/react-spring/react-spring/issues/569
6020
 
 
 
 
6021
 
6022
- var refFn = isFunctionComponent(Component) ? undefined : function (childRef) {
6023
- return node.current = handleRef(childRef, ref);
6024
- };
6025
- return React__default.createElement(Component, _extends({}, animatedProps, {
6026
- ref: refFn
6027
- }));
6028
- });
6029
- return AnimatedComponent;
6030
- };
6031
-
6032
- var active = false;
6033
- var controllers = new Set();
6034
-
6035
- var update = function update() {
6036
- if (!active) return false;
6037
- var time = now();
6038
-
6039
- for (var _iterator = controllers, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
6040
- var _ref;
6041
-
6042
- if (_isArray) {
6043
- if (_i >= _iterator.length) break;
6044
- _ref = _iterator[_i++];
6045
- } else {
6046
- _i = _iterator.next();
6047
- if (_i.done) break;
6048
- _ref = _i.value;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6049
  }
6050
 
6051
- var controller = _ref;
6052
- var isActive = false;
6053
-
6054
- for (var configIdx = 0; configIdx < controller.configs.length; configIdx++) {
6055
- var config = controller.configs[configIdx];
6056
- var endOfAnimation = void 0,
6057
- lastTime = void 0;
6058
 
6059
- for (var valIdx = 0; valIdx < config.animatedValues.length; valIdx++) {
6060
- var animation = config.animatedValues[valIdx]; // If an animation is done, skip, until all of them conclude
 
 
6061
 
6062
- if (animation.done) continue;
6063
- var from = config.fromValues[valIdx];
6064
- var to = config.toValues[valIdx];
6065
- var position = animation.lastPosition;
6066
- var isAnimated = to instanceof Animated;
6067
- var velocity = Array.isArray(config.initialVelocity) ? config.initialVelocity[valIdx] : config.initialVelocity;
6068
- if (isAnimated) to = to.getValue(); // Conclude animation if it's either immediate, or from-values match end-state
6069
 
6070
- if (config.immediate) {
6071
- animation.setValue(to);
6072
- animation.done = true;
6073
- continue;
6074
- } // Break animation when string values are involved
6075
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6076
 
6077
- if (typeof from === 'string' || typeof to === 'string') {
6078
- animation.setValue(to);
6079
- animation.done = true;
6080
- continue;
6081
- }
6082
 
6083
- if (config.duration !== void 0) {
6084
- /** Duration easing */
6085
- position = from + config.easing((time - animation.startTime) / config.duration) * (to - from);
6086
- endOfAnimation = time >= animation.startTime + config.duration;
6087
- } else if (config.decay) {
6088
- /** Decay easing */
6089
- position = from + velocity / (1 - 0.998) * (1 - Math.exp(-(1 - 0.998) * (time - animation.startTime)));
6090
- endOfAnimation = Math.abs(animation.lastPosition - position) < 0.1;
6091
- if (endOfAnimation) to = position;
6092
- } else {
6093
- /** Spring easing */
6094
- lastTime = animation.lastTime !== void 0 ? animation.lastTime : time;
6095
- velocity = animation.lastVelocity !== void 0 ? animation.lastVelocity : config.initialVelocity; // If we lost a lot of frames just jump to the end.
6096
 
6097
- if (time > lastTime + 64) lastTime = time; // http://gafferongames.com/game-physics/fix-your-timestep/
 
 
6098
 
6099
- var numSteps = Math.floor(time - lastTime);
 
 
 
 
 
 
6100
 
6101
- for (var i = 0; i < numSteps; ++i) {
6102
- var force = -config.tension * (position - to);
6103
- var damping = -config.friction * velocity;
6104
- var acceleration = (force + damping) / config.mass;
6105
- velocity = velocity + acceleration * 1 / 1000;
6106
- position = position + velocity * 1 / 1000;
6107
- } // Conditions for stopping the spring animation
6108
 
 
6109
 
6110
- var isOvershooting = config.clamp && config.tension !== 0 ? from < to ? position > to : position < to : false;
6111
- var isVelocity = Math.abs(velocity) <= config.precision;
6112
- var isDisplacement = config.tension !== 0 ? Math.abs(to - position) <= config.precision : true;
6113
- endOfAnimation = isOvershooting || isVelocity && isDisplacement;
6114
- animation.lastVelocity = velocity;
6115
- animation.lastTime = time;
6116
- } // Trails aren't done until their parents conclude
6117
 
 
6118
 
6119
- if (isAnimated && !config.toValues[valIdx].done) endOfAnimation = false;
 
6120
 
6121
- if (endOfAnimation) {
6122
- // Ensure that we end up with a round value
6123
- if (animation.value !== to) position = to;
6124
- animation.done = true;
6125
- } else isActive = true;
6126
 
6127
- animation.setValue(position);
6128
- animation.lastPosition = position;
6129
- } // Keep track of updated values only when necessary
 
 
 
 
6130
 
 
 
 
 
 
 
 
 
 
 
 
 
6131
 
6132
- if (controller.props.onFrame) controller.values[config.name] = config.interpolation.getValue();
6133
- } // Update callbacks in the end of the frame
6134
 
 
 
 
6135
 
6136
- if (controller.props.onFrame) controller.props.onFrame(controller.values); // Either call onEnd or next frame
6137
 
6138
- if (!isActive) {
6139
- controllers.delete(controller);
6140
- controller.stop(true);
6141
- }
6142
- } // Loop over as long as there are controllers ...
6143
 
6144
 
6145
- if (controllers.size) {
6146
- if (manualFrameloop) manualFrameloop();else requestFrame(update);
6147
- } else {
6148
- active = false;
6149
- }
6150
 
6151
- return active;
 
 
 
 
6152
  };
6153
 
6154
- var start = function start(controller) {
6155
- if (!controllers.has(controller)) controllers.add(controller);
6156
 
6157
- if (!active) {
6158
- active = true;
6159
- if (manualFrameloop) requestFrame(manualFrameloop);else requestFrame(update);
6160
- }
6161
- };
6162
 
6163
- var stop = function stop(controller) {
6164
- if (controllers.has(controller)) controllers.delete(controller);
6165
- };
 
 
 
 
6166
 
6167
- function createInterpolator(range, output, extrapolate) {
6168
- if (typeof range === 'function') {
6169
- return range;
6170
- }
6171
 
6172
- if (Array.isArray(range)) {
6173
- return createInterpolator({
6174
- range: range,
6175
- output: output,
6176
- extrapolate: extrapolate
6177
- });
6178
- }
6179
 
6180
- if (interpolation && typeof range.output[0] === 'string') {
6181
- return interpolation(range);
6182
- }
6183
 
6184
- var config = range;
6185
- var outputRange = config.output;
6186
- var inputRange = config.range || [0, 1];
6187
- var extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend';
6188
- var extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend';
6189
 
6190
- var easing = config.easing || function (t) {
6191
- return t;
 
 
 
 
 
 
 
 
 
 
 
6192
  };
6193
-
6194
- return function (input) {
6195
- var range = findRange(input, inputRange);
6196
- return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map);
6197
  };
6198
- }
 
 
 
 
 
 
 
 
 
6199
 
6200
- function interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {
6201
- var result = map ? map(input) : input; // Extrapolate
 
 
 
 
 
 
 
 
 
6202
 
6203
- if (result < inputMin) {
6204
- if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;
6205
- }
6206
 
6207
- if (result > inputMax) {
6208
- if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;
6209
- }
6210
 
6211
- if (outputMin === outputMax) return outputMin;
6212
- if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax; // Input Range
6213
 
6214
- if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin); // Easing
6215
 
6216
- result = easing(result); // Output Range
 
 
6217
 
6218
- if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;
6219
- return result;
6220
- }
 
 
 
 
6221
 
6222
- function findRange(input, inputRange) {
6223
- for (var i = 1; i < inputRange.length - 1; ++i) {
6224
- if (inputRange[i] >= input) break;
6225
- }
6226
 
6227
- return i - 1;
6228
- }
6229
 
6230
- var AnimatedInterpolation =
6231
- /*#__PURE__*/
6232
- function (_AnimatedArray) {
6233
- _inheritsLoose(AnimatedInterpolation, _AnimatedArray);
6234
-
6235
- function AnimatedInterpolation(parents, range, output, extrapolate) {
6236
- var _this;
6237
-
6238
- _this = _AnimatedArray.call(this) || this;
6239
- _this.calc = void 0;
6240
- _this.payload = parents instanceof AnimatedArray && !(parents instanceof AnimatedInterpolation) ? parents.getPayload() : Array.isArray(parents) ? parents : [parents];
6241
- _this.calc = createInterpolator(range, output, extrapolate);
6242
- return _this;
6243
- }
6244
-
6245
- var _proto = AnimatedInterpolation.prototype;
6246
-
6247
- _proto.getValue = function getValue() {
6248
- return this.calc.apply(this, this.payload.map(function (value) {
6249
- return value.getValue();
6250
- }));
6251
- };
6252
-
6253
- _proto.updateConfig = function updateConfig(range, output, extrapolate) {
6254
- this.calc = createInterpolator(range, output, extrapolate);
6255
- };
6256
 
6257
- _proto.interpolate = function interpolate(range, output, extrapolate) {
6258
- return new AnimatedInterpolation(this, range, output, extrapolate);
6259
- };
6260
 
6261
- return AnimatedInterpolation;
6262
- }(AnimatedArray);
6263
 
6264
- var interpolate$1 = function interpolate(parents, range, output) {
6265
- return parents && new AnimatedInterpolation(parents, range, output);
6266
- };
 
 
 
 
6267
 
6268
- var config = {
6269
- default: {
6270
- tension: 170,
6271
- friction: 26
6272
- },
6273
- gentle: {
6274
- tension: 120,
6275
- friction: 14
6276
- },
6277
- wobbly: {
6278
- tension: 180,
6279
- friction: 12
6280
- },
6281
- stiff: {
6282
- tension: 210,
6283
- friction: 20
6284
- },
6285
- slow: {
6286
- tension: 280,
6287
- friction: 60
6288
- },
6289
- molasses: {
6290
- tension: 280,
6291
- friction: 120
6292
- }
6293
- };
6294
 
6295
- /** API
6296
- * useChain(references, timeSteps, timeFrame)
6297
- */
 
 
 
 
6298
 
6299
- function useChain(refs, timeSteps, timeFrame) {
6300
- if (timeFrame === void 0) {
6301
- timeFrame = 1000;
6302
- }
6303
 
6304
- var previous = React.useRef();
6305
- React.useEffect(function () {
6306
- if (is.equ(refs, previous.current)) refs.forEach(function (_ref) {
6307
- var current = _ref.current;
6308
- return current && current.start();
6309
- });else if (timeSteps) {
6310
- refs.forEach(function (_ref2, index) {
6311
- var current = _ref2.current;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6312
 
6313
- if (current) {
6314
- var ctrls = current.controllers;
6315
 
6316
- if (ctrls.length) {
6317
- var t = timeFrame * timeSteps[index];
6318
- ctrls.forEach(function (ctrl) {
6319
- ctrl.queue = ctrl.queue.map(function (e) {
6320
- return _extends({}, e, {
6321
- delay: e.delay + t
6322
- });
6323
- });
6324
- ctrl.start();
6325
- });
6326
- }
6327
- }
6328
- });
6329
- } else refs.reduce(function (q, _ref3, rI) {
6330
- var current = _ref3.current;
6331
- return q = q.then(function () {
6332
- return current.start();
6333
- });
6334
- }, Promise.resolve());
6335
- previous.current = refs;
6336
- });
6337
- }
6338
 
6339
- /**
6340
- * Animated works by building a directed acyclic graph of dependencies
6341
- * transparently when you render your Animated components.
6342
- *
6343
- * new Animated.Value(0)
6344
- * .interpolate() .interpolate() new Animated.Value(1)
6345
- * opacity translateY scale
6346
- * style transform
6347
- * View#234 style
6348
- * View#123
6349
- *
6350
- * A) Top Down phase
6351
- * When an AnimatedValue is updated, we recursively go down through this
6352
- * graph in order to find leaf nodes: the views that we flag as needing
6353
- * an update.
6354
- *
6355
- * B) Bottom Up phase
6356
- * When a view is flagged as needing an update, we recursively go back up
6357
- * in order to build the new value that it needs. The reason why we need
6358
- * this two-phases process is to deal with composite props such as
6359
- * transform which can receive values from multiple parents.
6360
- */
6361
- function addAnimatedStyles(node, styles) {
6362
- if ('update' in node) {
6363
- styles.add(node);
6364
- } else {
6365
- node.getChildren().forEach(function (child) {
6366
- return addAnimatedStyles(child, styles);
6367
  });
 
 
6368
  }
6369
- }
6370
-
6371
- var AnimatedValue =
6372
- /*#__PURE__*/
6373
- function (_Animated) {
6374
- _inheritsLoose(AnimatedValue, _Animated);
6375
-
6376
- function AnimatedValue(_value) {
6377
- var _this;
6378
 
6379
- _this = _Animated.call(this) || this;
6380
- _this.animatedStyles = new Set();
6381
- _this.value = void 0;
6382
- _this.startPosition = void 0;
6383
- _this.lastPosition = void 0;
6384
- _this.lastVelocity = void 0;
6385
- _this.startTime = void 0;
6386
- _this.lastTime = void 0;
6387
- _this.done = false;
6388
 
6389
- _this.setValue = function (value, flush) {
6390
- if (flush === void 0) {
6391
- flush = true;
6392
- }
6393
 
6394
- _this.value = value;
6395
- if (flush) _this.flush();
6396
- };
6397
 
6398
- _this.value = _value;
6399
- _this.startPosition = _value;
6400
- _this.lastPosition = _value;
6401
- return _this;
6402
- }
6403
 
6404
- var _proto = AnimatedValue.prototype;
 
6405
 
6406
- _proto.flush = function flush() {
6407
- if (this.animatedStyles.size === 0) {
6408
- addAnimatedStyles(this, this.animatedStyles);
 
 
6409
  }
 
6410
 
6411
- this.animatedStyles.forEach(function (animatedStyle) {
6412
- return animatedStyle.update();
6413
- });
6414
- };
6415
-
6416
- _proto.clearStyles = function clearStyles() {
6417
- this.animatedStyles.clear();
6418
- };
6419
-
6420
- _proto.getValue = function getValue() {
6421
- return this.value;
6422
- };
6423
 
6424
- _proto.interpolate = function interpolate(range, output, extrapolate) {
6425
- return new AnimatedInterpolation(this, range, output, extrapolate);
6426
- };
 
6427
 
6428
- return AnimatedValue;
6429
- }(Animated);
6430
 
6431
- var AnimatedValueArray =
6432
- /*#__PURE__*/
6433
- function (_AnimatedArray) {
6434
- _inheritsLoose(AnimatedValueArray, _AnimatedArray);
6435
 
6436
- function AnimatedValueArray(values) {
6437
- var _this;
 
6438
 
6439
- _this = _AnimatedArray.call(this) || this;
6440
- _this.payload = values.map(function (n) {
6441
- return new AnimatedValue(n);
6442
- });
6443
- return _this;
6444
- }
 
 
 
 
 
 
6445
 
6446
- var _proto = AnimatedValueArray.prototype;
 
 
 
 
6447
 
6448
- _proto.setValue = function setValue(value, flush) {
6449
- var _this2 = this;
6450
 
6451
- if (flush === void 0) {
6452
- flush = true;
6453
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6454
 
6455
- if (Array.isArray(value)) {
6456
- if (value.length === this.payload.length) {
6457
- value.forEach(function (v, i) {
6458
- return _this2.payload[i].setValue(v, flush);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6459
  });
6460
- }
6461
- } else {
6462
- this.payload.forEach(function (p) {
6463
- return p.setValue(value, flush);
6464
- });
6465
  }
6466
- };
6467
-
6468
- _proto.getValue = function getValue() {
6469
- return this.payload.map(function (v) {
6470
- return v.getValue();
6471
- });
6472
- };
6473
 
6474
- _proto.interpolate = function interpolate(range, output) {
6475
- return new AnimatedInterpolation(this, range, output);
6476
- };
 
6477
 
6478
- return AnimatedValueArray;
6479
- }(AnimatedArray);
6480
 
6481
- var G = 0;
 
 
 
 
 
 
6482
 
6483
- var Controller =
6484
- /*#__PURE__*/
6485
- function () {
6486
- function Controller() {
6487
- var _this = this;
6488
 
6489
- this.id = void 0;
6490
- this.idle = true;
6491
- this.hasChanged = false;
6492
- this.guid = 0;
6493
- this.local = 0;
6494
- this.props = {};
6495
- this.merged = {};
6496
- this.animations = {};
6497
- this.interpolations = {};
6498
- this.values = {};
6499
- this.configs = [];
6500
- this.listeners = [];
6501
- this.queue = [];
6502
- this.localQueue = void 0;
6503
 
6504
- this.getValues = function () {
6505
- return _this.interpolations;
6506
- };
 
 
 
 
 
 
 
6507
 
6508
- this.id = G++;
6509
- }
6510
- /** update(props)
6511
- * This function filters input props and creates an array of tasks which are executed in .start()
6512
- * Each task is allowed to carry a delay, which means it can execute asnychroneously */
6513
 
 
 
 
6514
 
6515
- var _proto = Controller.prototype;
 
 
6516
 
6517
- _proto.update = function update$$1(args) {
6518
- //this._id = n + this.id
6519
- if (!args) return this; // Extract delay and the to-prop from props
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6520
 
6521
- var _ref = interpolateTo(args),
6522
- _ref$delay = _ref.delay,
6523
- delay = _ref$delay === void 0 ? 0 : _ref$delay,
6524
- to = _ref.to,
6525
- props = _objectWithoutPropertiesLoose(_ref, ["delay", "to"]);
6526
 
6527
- if (is.arr(to) || is.fun(to)) {
6528
- // If config is either a function or an array queue it up as is
6529
- this.queue.push(_extends({}, props, {
6530
- delay: delay,
6531
- to: to
6532
- }));
6533
- } else if (to) {
6534
- // Otherwise go through each key since it could be delayed individually
6535
- var ops = {};
6536
- Object.entries(to).forEach(function (_ref2) {
6537
- var _to;
6538
 
6539
- var k = _ref2[0],
6540
- v = _ref2[1];
 
6541
 
6542
- // Fetch delay and create an entry, consisting of the to-props, the delay, and basic props
6543
- var entry = _extends({
6544
- to: (_to = {}, _to[k] = v, _to),
6545
- delay: callProp(delay, k)
6546
- }, props);
6547
 
6548
- var previous = ops[entry.delay] && ops[entry.delay].to;
6549
- ops[entry.delay] = _extends({}, ops[entry.delay], entry, {
6550
- to: _extends({}, previous, entry.to)
6551
- });
6552
- });
6553
- this.queue = Object.values(ops);
6554
- } // Sort queue, so that async calls go last
 
6555
 
 
 
 
 
6556
 
6557
- this.queue = this.queue.sort(function (a, b) {
6558
- return a.delay - b.delay;
6559
- }); // Diff the reduced props immediately (they'll contain the from-prop and some config)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6560
 
6561
- this.diff(props);
6562
- return this;
6563
- }
6564
- /** start(onEnd)
6565
- * This function either executes a queue, if present, or starts the frameloop, which animates */
6566
- ;
6567
 
6568
- _proto.start = function start$$1(onEnd) {
6569
- var _this2 = this;
6570
 
6571
- // If a queue is present we must excecute it
6572
- if (this.queue.length) {
6573
- this.idle = false; // Updates can interrupt trailing queues, in that case we just merge values
6574
-
6575
- if (this.localQueue) {
6576
- this.localQueue.forEach(function (_ref3) {
6577
- var _ref3$from = _ref3.from,
6578
- from = _ref3$from === void 0 ? {} : _ref3$from,
6579
- _ref3$to = _ref3.to,
6580
- to = _ref3$to === void 0 ? {} : _ref3$to;
6581
- if (is.obj(from)) _this2.merged = _extends({}, from, _this2.merged);
6582
- if (is.obj(to)) _this2.merged = _extends({}, _this2.merged, to);
6583
- });
6584
- } // The guid helps us tracking frames, a new queue over an old one means an override
6585
- // We discard async calls in that caseÍ
6586
-
6587
-
6588
- var local = this.local = ++this.guid;
6589
- var queue = this.localQueue = this.queue;
6590
- this.queue = []; // Go through each entry and execute it
6591
-
6592
- queue.forEach(function (_ref4, index) {
6593
- var delay = _ref4.delay,
6594
- props = _objectWithoutPropertiesLoose(_ref4, ["delay"]);
6595
 
6596
- var cb = function cb(finished) {
6597
- if (index === queue.length - 1 && local === _this2.guid && finished) {
6598
- _this2.idle = true;
6599
- if (_this2.props.onRest) _this2.props.onRest(_this2.merged);
6600
- }
6601
 
6602
- if (onEnd) onEnd();
6603
- }; // Entries can be delayed, ansyc or immediate
 
6604
 
 
 
 
 
 
 
 
 
6605
 
6606
- var async = is.arr(props.to) || is.fun(props.to);
6607
 
6608
- if (delay) {
6609
- setTimeout(function () {
6610
- if (local === _this2.guid) {
6611
- if (async) _this2.runAsync(props, cb);else _this2.diff(props).start(cb);
6612
- }
6613
- }, delay);
6614
- } else if (async) _this2.runAsync(props, cb);else _this2.diff(props).start(cb);
6615
- });
6616
- } // Otherwise we kick of the frameloop
6617
- else {
6618
- if (is.fun(onEnd)) this.listeners.push(onEnd);
6619
- if (this.props.onStart) this.props.onStart();
6620
 
6621
- start(this);
6622
- }
 
6623
 
6624
- return this;
6625
- };
6626
 
6627
- _proto.stop = function stop$$1(finished) {
6628
- this.listeners.forEach(function (onEnd) {
6629
- return onEnd(finished);
6630
- });
6631
- this.listeners = [];
6632
- return this;
6633
- }
6634
- /** Pause sets onEnd listeners free, but also removes the controller from the frameloop */
6635
- ;
 
 
 
 
 
 
 
 
 
 
 
6636
 
6637
- _proto.pause = function pause(finished) {
6638
- this.stop(true);
6639
- if (finished) stop(this);
6640
- return this;
6641
- };
6642
 
6643
- _proto.runAsync = function runAsync(_ref5, onEnd) {
6644
- var _this3 = this;
 
 
 
 
 
 
 
6645
 
6646
- var delay = _ref5.delay,
6647
- props = _objectWithoutPropertiesLoose(_ref5, ["delay"]);
6648
 
6649
- 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
6650
- // If the view relies on certain values "from" has to be present
6651
 
6652
- var queue = Promise.resolve(undefined);
 
 
6653
 
6654
- if (is.arr(props.to)) {
6655
- var _loop = function _loop(i) {
6656
- var index = i;
6657
 
6658
- var fresh = _extends({}, props, interpolateTo(props.to[index]));
6659
 
6660
- if (is.arr(fresh.config)) fresh.config = fresh.config[index];
6661
- queue = queue.then(function () {
6662
- //this.stop()
6663
- if (local === _this3.guid) return new Promise(function (r) {
6664
- return _this3.diff(fresh).start(r);
6665
- });
6666
- });
6667
- };
6668
 
6669
- for (var i = 0; i < props.to.length; i++) {
6670
- _loop(i);
6671
- }
6672
- } else if (is.fun(props.to)) {
6673
- var index = 0;
6674
- var last;
6675
- queue = queue.then(function () {
6676
- return props.to( // next(props)
6677
- function (p) {
6678
- var fresh = _extends({}, props, interpolateTo(p));
6679
 
6680
- if (is.arr(fresh.config)) fresh.config = fresh.config[index];
6681
- index++; //this.stop()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6682
 
6683
- if (local === _this3.guid) return last = new Promise(function (r) {
6684
- return _this3.diff(fresh).start(r);
6685
- });
6686
- return;
6687
- }, // cancel()
6688
- function (finished) {
6689
- if (finished === void 0) {
6690
- finished = true;
6691
- }
6692
 
6693
- return _this3.stop(finished);
6694
- }).then(function () {
6695
- return last;
6696
- });
6697
- });
6698
  }
6699
 
6700
- queue.then(onEnd);
6701
- };
6702
-
6703
- _proto.diff = function diff(props) {
6704
- var _this4 = this;
6705
 
6706
- this.props = _extends({}, this.props, props);
6707
- var _this$props = this.props,
6708
- _this$props$from = _this$props.from,
6709
- from = _this$props$from === void 0 ? {} : _this$props$from,
6710
- _this$props$to = _this$props.to,
6711
- to = _this$props$to === void 0 ? {} : _this$props$to,
6712
- _this$props$config = _this$props.config,
6713
- config = _this$props$config === void 0 ? {} : _this$props$config,
6714
- reverse = _this$props.reverse,
6715
- attach = _this$props.attach,
6716
- reset = _this$props.reset,
6717
- immediate = _this$props.immediate; // Reverse values when requested
6718
 
6719
- if (reverse) {
6720
- var _ref6 = [to, from];
6721
- from = _ref6[0];
6722
- to = _ref6[1];
6723
- } // This will collect all props that were ever set, reset merged props when necessary
6724
 
 
 
 
 
 
 
 
6725
 
6726
- this.merged = _extends({}, from, this.merged, to);
6727
- this.hasChanged = false; // Attachment handling, trailed springs can "attach" themselves to a previous spring
 
 
 
 
 
 
 
 
 
 
 
 
6728
 
6729
- var target = attach && attach(this); // Reduces input { name: value } pairs into animated values
 
 
 
 
6730
 
6731
- this.animations = Object.entries(this.merged).reduce(function (acc, _ref7) {
6732
- var name = _ref7[0],
6733
- value = _ref7[1];
6734
- // Issue cached entries, except on reset
6735
- var entry = acc[name] || {}; // Figure out what the value is supposed to be
6736
 
6737
- var isNumber = is.num(value);
6738
- var isString = is.str(value) && !value.startsWith('#') && !/\d/.test(value) && !colorNames[value];
6739
- var isArray = is.arr(value);
6740
- var isInterpolation = !isNumber && !isArray && !isString;
6741
- var fromValue = !is.und(from[name]) ? from[name] : value;
6742
- var toValue = isNumber || isArray ? value : isString ? value : 1;
6743
- var toConfig = callProp(config, name);
6744
- if (target) toValue = target.animations[name].parent;
6745
- var parent = entry.parent,
6746
- interpolation$$1 = entry.interpolation,
6747
- toValues = toArray(target ? toValue.getPayload() : toValue),
6748
- animatedValues;
6749
- var newValue = value;
6750
- if (isInterpolation) newValue = interpolation({
6751
- range: [0, 1],
6752
- output: [value, value]
6753
- })(1);
6754
- var currentValue = interpolation$$1 && interpolation$$1.getValue(); // Change detection flags
6755
 
6756
- var isFirst = is.und(parent);
6757
- var isActive = !isFirst && entry.animatedValues.some(function (v) {
6758
- return !v.done;
6759
- });
6760
- var currentValueDiffersFromGoal = !is.equ(newValue, currentValue);
6761
- var hasNewGoal = !is.equ(newValue, entry.previous);
6762
- var hasNewConfig = !is.equ(toConfig, entry.config); // Change animation props when props indicate a new goal (new value differs from previous one)
6763
- // and current values differ from it. Config changes trigger a new update as well (though probably shouldn't?)
6764
 
6765
- if (reset || hasNewGoal && currentValueDiffersFromGoal || hasNewConfig) {
6766
- var _extends2;
 
6767
 
6768
- // Convert regular values into animated values, ALWAYS re-use if possible
6769
- 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) {
6770
- var prev = entry.interpolation && entry.interpolation.calc(entry.parent.value);
6771
- prev = prev !== void 0 && !reset ? prev : fromValue;
 
 
6772
 
6773
- if (entry.parent) {
6774
- parent = entry.parent;
6775
- parent.setValue(0, false);
6776
- } else parent = new AnimatedValue(0);
6777
 
6778
- var range = {
6779
- output: [prev, value]
6780
- };
6781
 
6782
- if (entry.interpolation) {
6783
- interpolation$$1 = entry.interpolation;
6784
- entry.interpolation.updateConfig(range);
6785
- } else interpolation$$1 = parent.interpolate(range);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6786
  }
6787
- toValues = toArray(target ? toValue.getPayload() : toValue);
6788
- animatedValues = toArray(parent.getPayload());
6789
- if (reset && !isInterpolation) parent.setValue(fromValue, false);
6790
- _this4.hasChanged = true; // Reset animated values
6791
 
6792
- animatedValues.forEach(function (value) {
6793
- value.startPosition = value.value;
6794
- value.lastPosition = value.value;
6795
- value.lastVelocity = isActive ? value.lastVelocity : undefined;
6796
- value.lastTime = isActive ? value.lastTime : undefined;
6797
- value.startTime = now();
6798
- value.done = false;
6799
- value.animatedStyles.clear();
6800
- }); // Set immediate values
6801
 
6802
- if (callProp(immediate, name)) {
6803
- parent.setValue(isInterpolation ? toValue : value, false);
6804
- }
6805
 
6806
- return _extends({}, acc, (_extends2 = {}, _extends2[name] = _extends({}, entry, {
6807
- name: name,
6808
- parent: parent,
6809
- interpolation: interpolation$$1,
6810
- animatedValues: animatedValues,
6811
- toValues: toValues,
6812
- previous: newValue,
6813
- config: toConfig,
6814
- fromValues: toArray(parent.getValue()),
6815
- immediate: callProp(immediate, name),
6816
- initialVelocity: withDefault(toConfig.velocity, 0),
6817
- clamp: withDefault(toConfig.clamp, false),
6818
- precision: withDefault(toConfig.precision, 0.01),
6819
- tension: withDefault(toConfig.tension, 170),
6820
- friction: withDefault(toConfig.friction, 26),
6821
- mass: withDefault(toConfig.mass, 1),
6822
- duration: toConfig.duration,
6823
- easing: withDefault(toConfig.easing, function (t) {
6824
- return t;
6825
- }),
6826
- decay: toConfig.decay
6827
- }), _extends2));
6828
- } else {
6829
- if (!currentValueDiffersFromGoal) {
6830
- var _extends3;
6831
 
6832
- // So ... the current target value (newValue) appears to be different from the previous value,
6833
- // which normally constitutes an update, but the actual value (currentValue) matches the target!
6834
- // In order to resolve this without causing an animation update we silently flag the animation as done,
6835
- // which it technically is. Interpolations also needs a config update with their target set to 1.
6836
- if (isInterpolation) {
6837
- parent.setValue(1, false);
6838
- interpolation$$1.updateConfig({
6839
- output: [newValue, newValue]
6840
- });
6841
- }
6842
 
6843
- parent.done = true;
6844
- _this4.hasChanged = true;
6845
- return _extends({}, acc, (_extends3 = {}, _extends3[name] = _extends({}, acc[name], {
6846
- previous: newValue
6847
- }), _extends3));
6848
- }
6849
 
6850
- return acc;
6851
- }
6852
- }, this.animations);
6853
 
6854
- if (this.hasChanged) {
6855
- // Make animations available to frameloop
6856
- this.configs = Object.values(this.animations);
6857
- this.values = {};
6858
- this.interpolations = {};
6859
 
6860
- for (var key in this.animations) {
6861
- this.interpolations[key] = this.animations[key].interpolation;
6862
- this.values[key] = this.animations[key].interpolation.getValue();
6863
- }
 
 
 
 
 
 
 
 
 
 
 
6864
  }
6865
 
6866
- return this;
6867
- };
6868
 
6869
- _proto.destroy = function destroy() {
6870
- this.stop();
6871
- this.props = {};
6872
- this.merged = {};
6873
- this.animations = {};
6874
- this.interpolations = {};
6875
- this.values = {};
6876
- this.configs = [];
6877
- this.local = 0;
6878
- };
6879
 
6880
- return Controller;
6881
- }();
6882
 
6883
- /** API
6884
- * const props = useSprings(number, [{ ... }, { ... }, ...])
6885
- * const [props, set] = useSprings(number, (i, controller) => ({ ... }))
6886
- */
6887
 
6888
- var useSprings = function useSprings(length, props) {
6889
- var mounted = React.useRef(false);
6890
- var ctrl = React.useRef();
6891
- var isFn = is.fun(props); // The controller maintains the animation values, starts and stops animations
6892
 
6893
- var _useMemo = React.useMemo(function () {
6894
- // Remove old controllers
6895
- if (ctrl.current) {
6896
- ctrl.current.map(function (c) {
6897
- return c.destroy();
6898
- });
6899
- ctrl.current = undefined;
6900
  }
6901
 
6902
- var ref;
6903
- return [new Array(length).fill().map(function (_, i) {
6904
- var ctrl = new Controller();
6905
- var newProps = isFn ? callProp(props, i, ctrl) : props[i];
6906
- if (i === 0) ref = newProps.ref;
6907
- ctrl.update(newProps);
6908
- if (!ref) ctrl.start();
6909
- return ctrl;
6910
- }), ref];
6911
- }, [length]),
6912
- controllers = _useMemo[0],
6913
- ref = _useMemo[1];
6914
 
6915
- ctrl.current = controllers; // The hooks reference api gets defined here ...
 
 
 
6916
 
6917
- var api = React.useImperativeHandle(ref, function () {
6918
  return {
6919
- start: function start() {
6920
- return Promise.all(ctrl.current.map(function (c) {
6921
- return new Promise(function (r) {
6922
- return c.start(r);
6923
- });
6924
- }));
6925
- },
6926
- stop: function stop(finished) {
6927
- return ctrl.current.forEach(function (c) {
6928
- return c.stop(finished);
6929
- });
6930
- },
 
 
 
 
 
 
6931
 
6932
- get controllers() {
6933
- return ctrl.current;
6934
- }
6935
 
6936
- };
6937
- }); // This function updates the controllers
 
6938
 
6939
- var updateCtrl = React.useMemo(function () {
6940
- return function (updateProps) {
6941
- return ctrl.current.map(function (c, i) {
6942
- c.update(isFn ? callProp(updateProps, i, c) : updateProps[i]);
6943
- if (!ref) c.start();
6944
- });
6945
- };
6946
- }, [length]); // Update controller if props aren't functional
6947
 
6948
- React.useEffect(function () {
6949
- if (mounted.current) {
6950
- if (!isFn) updateCtrl(props);
6951
- } else if (!ref) ctrl.current.forEach(function (c) {
6952
- return c.start();
6953
- });
6954
- }); // Update mounted flag and destroy controller on unmount
6955
 
6956
- React.useEffect(function () {
6957
- return mounted.current = true, function () {
6958
- return ctrl.current.forEach(function (c) {
6959
- return c.destroy();
6960
- });
6961
- };
6962
- }, []); // Return animated props, or, anim-props + the update-setter above
6963
 
6964
- var propValues = ctrl.current.map(function (c) {
6965
- return c.getValues();
6966
- });
6967
- return isFn ? [propValues, updateCtrl, function (finished) {
6968
- return ctrl.current.forEach(function (c) {
6969
- return c.pause(finished);
6970
- });
6971
- }] : propValues;
6972
  };
6973
 
6974
- /** API
6975
- * const props = useSpring({ ... })
6976
- * const [props, set] = useSpring(() => ({ ... }))
6977
- */
6978
-
6979
- var useSpring = function useSpring(props) {
6980
- var isFn = is.fun(props);
6981
 
6982
- var _useSprings = useSprings(1, isFn ? props : [props]),
6983
- result = _useSprings[0],
6984
- set = _useSprings[1],
6985
- pause = _useSprings[2];
6986
 
6987
- return isFn ? [result[0], set, pause] : result;
6988
- };
6989
 
6990
- /** API
6991
- * const trails = useTrail(number, { ... })
6992
- * const [trails, set] = useTrail(number, () => ({ ... }))
6993
- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6994
 
6995
- var useTrail = function useTrail(length, props) {
6996
- var mounted = React.useRef(false);
6997
- var isFn = is.fun(props);
6998
- var updateProps = callProp(props);
6999
- var instances = React.useRef();
 
7000
 
7001
- var _useSprings = useSprings(length, function (i, ctrl) {
7002
- if (i === 0) instances.current = [];
7003
- instances.current.push(ctrl);
7004
- return _extends({}, updateProps, {
7005
- config: callProp(updateProps.config, i),
7006
- attach: i > 0 && function () {
7007
- return instances.current[i - 1];
7008
- }
 
 
 
 
 
 
 
 
 
 
 
 
7009
  });
7010
- }),
7011
- result = _useSprings[0],
7012
- set = _useSprings[1],
7013
- pause = _useSprings[2]; // Set up function to update controller
7014
 
7015
-
7016
- var updateCtrl = React.useMemo(function () {
7017
- return function (props) {
7018
- return set(function (i, ctrl) {
7019
- var last = props.reverse ? i === 0 : length - 1 === i;
7020
- var attachIdx = props.reverse ? i + 1 : i - 1;
7021
- var attachController = instances.current[attachIdx];
7022
- return _extends({}, props, {
7023
- config: callProp(props.config || updateProps.config, i),
7024
- attach: attachController && function () {
7025
- return attachController;
7026
- }
7027
- });
7028
  });
7029
- };
7030
- }, [length, updateProps.reverse]); // Update controller if props aren't functional
 
7031
 
7032
- React.useEffect(function () {
7033
- return void (mounted.current && !isFn && updateCtrl(props));
7034
- }); // Update mounted flag and destroy controller on unmount
 
 
7035
 
7036
- React.useEffect(function () {
7037
- return void (mounted.current = true);
7038
- }, []);
7039
- return isFn ? [result, updateCtrl, pause] : result;
7040
- };
7041
 
7042
- /** API
7043
- * const transitions = useTransition(items, itemKeys, { ... })
7044
- * const [transitions, update] = useTransition(items, itemKeys, () => ({ ... }))
7045
- */
7046
 
7047
- var guid = 0;
7048
- var ENTER = 'enter';
7049
- var LEAVE = 'leave';
7050
- var UPDATE = 'update';
7051
 
7052
- var mapKeys = function mapKeys(items, keys) {
7053
- return (typeof keys === 'function' ? items.map(keys) : toArray(keys)).map(String);
7054
- };
7055
 
7056
- var get = function get(props) {
7057
- var items = props.items,
7058
- _props$keys = props.keys,
7059
- keys = _props$keys === void 0 ? function (item) {
7060
- return item;
7061
- } : _props$keys,
7062
- rest = _objectWithoutPropertiesLoose(props, ["items", "keys"]);
7063
 
7064
- items = toArray(items !== void 0 ? items : null);
7065
- return _extends({
7066
- items: items,
7067
- keys: mapKeys(items, keys)
7068
- }, rest);
7069
  };
7070
 
7071
- function useTransition(input, keyTransform, config) {
7072
- var props = _extends({
7073
- items: input,
7074
- keys: keyTransform || function (i) {
7075
- return i;
7076
- }
7077
- }, config);
7078
 
7079
- var _get = get(props),
7080
- _get$lazy = _get.lazy,
7081
- lazy = _get$lazy === void 0 ? false : _get$lazy,
7082
- _get$unique = _get.unique,
7083
- _get$reset = _get.reset,
7084
- reset = _get$reset === void 0 ? false : _get$reset,
7085
- enter = _get.enter,
7086
- leave = _get.leave,
7087
- update = _get.update,
7088
- onDestroyed = _get.onDestroyed,
7089
- keys = _get.keys,
7090
- items = _get.items,
7091
- onFrame = _get.onFrame,
7092
- _onRest = _get.onRest,
7093
- onStart = _get.onStart,
7094
- ref = _get.ref,
7095
- extra = _objectWithoutPropertiesLoose(_get, ["lazy", "unique", "reset", "enter", "leave", "update", "onDestroyed", "keys", "items", "onFrame", "onRest", "onStart", "ref"]);
7096
 
7097
- var forceUpdate = useForceUpdate();
7098
- var mounted = React.useRef(false);
7099
- var state = React.useRef({
7100
- mounted: false,
7101
- first: true,
7102
- deleted: [],
7103
- current: {},
7104
- transitions: [],
7105
- prevProps: {},
7106
- paused: !!props.ref,
7107
- instances: !mounted.current && new Map(),
7108
- forceUpdate: forceUpdate
7109
- });
7110
- React.useImperativeHandle(props.ref, function () {
7111
- return {
7112
- start: function start() {
7113
- return Promise.all(Array.from(state.current.instances).map(function (_ref) {
7114
- var c = _ref[1];
7115
- return new Promise(function (r) {
7116
- return c.start(r);
7117
- });
7118
- }));
7119
- },
7120
- stop: function stop(finished) {
7121
- return Array.from(state.current.instances).forEach(function (_ref2) {
7122
- var c = _ref2[1];
7123
- return c.stop(finished);
7124
- });
7125
- },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7126
 
7127
- get controllers() {
7128
- return Array.from(state.current.instances).map(function (_ref3) {
7129
- var c = _ref3[1];
7130
- return c;
7131
- });
7132
- }
7133
 
7134
- };
7135
- }); // Update state
7136
 
7137
- state.current = diffItems(state.current, props);
7138
 
7139
- if (state.current.changed) {
7140
- // Update state
7141
- state.current.transitions.forEach(function (transition) {
7142
- var slot = transition.slot,
7143
- from = transition.from,
7144
- to = transition.to,
7145
- config = transition.config,
7146
- trail = transition.trail,
7147
- key = transition.key,
7148
- item = transition.item;
7149
- if (!state.current.instances.has(key)) state.current.instances.set(key, new Controller()); // update the map object
7150
 
7151
- var ctrl = state.current.instances.get(key);
7152
 
7153
- var newProps = _extends({}, extra, {
7154
- to: to,
7155
- from: from,
7156
- config: config,
7157
- ref: ref,
7158
- onRest: function onRest(values) {
7159
- if (state.current.mounted) {
7160
- if (transition.destroyed) {
7161
- // If no ref is given delete destroyed items immediately
7162
- if (!ref && !lazy) cleanUp(state, key);
7163
- if (onDestroyed) onDestroyed(item);
7164
- } // A transition comes to rest once all its springs conclude
7165
 
7166
 
7167
- var curInstances = Array.from(state.current.instances);
7168
- var active = curInstances.some(function (_ref4) {
7169
- var c = _ref4[1];
7170
- return !c.idle;
7171
- });
7172
- if (!active && (ref || lazy) && state.current.deleted.length > 0) cleanUp(state);
7173
- if (_onRest) _onRest(item, slot, values);
7174
- }
7175
- },
7176
- onStart: onStart && function () {
7177
- return onStart(item, slot);
7178
- },
7179
- onFrame: onFrame && function (values) {
7180
- return onFrame(item, slot, values);
7181
- },
7182
- delay: trail,
7183
- reset: reset && slot === ENTER // Update controller
7184
 
7185
- });
7186
 
7187
- ctrl.update(newProps);
7188
- if (!state.current.paused) ctrl.start();
7189
- });
7190
- }
7191
 
7192
- React.useEffect(function () {
7193
- state.current.mounted = mounted.current = true;
7194
- return function () {
7195
- state.current.mounted = mounted.current = false;
7196
- Array.from(state.current.instances).map(function (_ref5) {
7197
- var c = _ref5[1];
7198
- return c.destroy();
7199
- });
7200
- state.current.instances.clear();
7201
- };
7202
- }, []);
7203
- return state.current.transitions.map(function (_ref6) {
7204
- var item = _ref6.item,
7205
- slot = _ref6.slot,
7206
- key = _ref6.key;
7207
- return {
7208
- item: item,
7209
- key: key,
7210
- state: slot,
7211
- props: state.current.instances.get(key).getValues()
7212
- };
7213
- });
7214
- }
7215
 
7216
- function cleanUp(state, filterKey) {
7217
- var deleted = state.current.deleted;
7218
 
7219
- var _loop = function _loop() {
7220
- if (_isArray) {
7221
- if (_i >= _iterator.length) return "break";
7222
- _ref8 = _iterator[_i++];
7223
- } else {
7224
- _i = _iterator.next();
7225
- if (_i.done) return "break";
7226
- _ref8 = _i.value;
7227
- }
7228
 
7229
- var _ref7 = _ref8;
7230
- var key = _ref7.key;
7231
 
7232
- var filter = function filter(t) {
7233
- return t.key !== key;
7234
- };
7235
 
7236
- if (is.und(filterKey) || filterKey === key) {
7237
- state.current.instances.delete(key);
7238
- state.current.transitions = state.current.transitions.filter(filter);
7239
- state.current.deleted = state.current.deleted.filter(filter);
7240
- }
7241
- };
7242
 
7243
- for (var _iterator = deleted, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
7244
- var _ref8;
 
7245
 
7246
- var _ret = _loop();
7247
 
7248
- if (_ret === "break") break;
 
 
 
 
 
 
 
 
 
 
7249
  }
7250
 
7251
- state.current.forceUpdate();
7252
  }
 
 
 
 
 
7253
 
7254
- function diffItems(_ref9, props) {
7255
- var first = _ref9.first,
7256
- prevProps = _ref9.prevProps,
7257
- state = _objectWithoutPropertiesLoose(_ref9, ["first", "prevProps"]);
7258
 
7259
- var _get2 = get(props),
7260
- items = _get2.items,
7261
- keys = _get2.keys,
7262
- initial = _get2.initial,
7263
- from = _get2.from,
7264
- enter = _get2.enter,
7265
- leave = _get2.leave,
7266
- update = _get2.update,
7267
- _get2$trail = _get2.trail,
7268
- trail = _get2$trail === void 0 ? 0 : _get2$trail,
7269
- unique = _get2.unique,
7270
- config = _get2.config,
7271
- _get2$order = _get2.order,
7272
- order = _get2$order === void 0 ? [ENTER, LEAVE, UPDATE] : _get2$order;
7273
 
7274
- var _get3 = get(prevProps),
7275
- _keys = _get3.keys,
7276
- _items = _get3.items;
 
 
 
 
 
 
 
 
 
 
 
 
 
7277
 
7278
- var current = _extends({}, state.current);
 
 
 
7279
 
7280
- var deleted = [].concat(state.deleted); // Compare next keys with current keys
7281
 
7282
- var currentKeys = Object.keys(current);
7283
- var currentSet = new Set(currentKeys);
7284
- var nextSet = new Set(keys);
7285
- var added = keys.filter(function (item) {
7286
- return !currentSet.has(item);
 
 
 
 
 
 
 
 
 
 
 
7287
  });
7288
- var removed = state.transitions.filter(function (item) {
7289
- return !item.destroyed && !nextSet.has(item.originalKey);
7290
- }).map(function (i) {
7291
- return i.originalKey;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7292
  });
7293
- var updated = keys.filter(function (item) {
7294
- return currentSet.has(item);
7295
  });
7296
- var delay = -trail;
7297
 
7298
- while (order.length) {
7299
- var changeType = order.shift();
 
7300
 
7301
- switch (changeType) {
7302
- case ENTER:
7303
- {
7304
- added.forEach(function (key, index) {
7305
- // In unique mode, remove fading out transitions if their key comes in again
7306
- if (unique && deleted.find(function (d) {
7307
- return d.originalKey === key;
7308
- })) deleted = deleted.filter(function (t) {
7309
- return t.originalKey !== key;
7310
- });
7311
- var keyIndex = keys.indexOf(key);
7312
- var item = items[keyIndex];
7313
- var slot = first && initial !== void 0 ? 'initial' : ENTER;
7314
- current[key] = {
7315
- slot: slot,
7316
- originalKey: key,
7317
- key: unique ? String(key) : guid++,
7318
- item: item,
7319
- trail: delay = delay + trail,
7320
- config: callProp(config, item, slot),
7321
- from: callProp(first ? initial !== void 0 ? initial || {} : from : from, item),
7322
- to: callProp(enter, item)
7323
- };
7324
- });
7325
- break;
7326
- }
7327
 
7328
- case LEAVE:
7329
- {
7330
- removed.forEach(function (key) {
7331
- var keyIndex = _keys.indexOf(key);
 
 
 
 
 
7332
 
7333
- var item = _items[keyIndex];
7334
- var slot = LEAVE;
7335
- deleted.unshift(_extends({}, current[key], {
7336
- slot: slot,
7337
- destroyed: true,
7338
- left: _keys[Math.max(0, keyIndex - 1)],
7339
- right: _keys[Math.min(_keys.length, keyIndex + 1)],
7340
- trail: delay = delay + trail,
7341
- config: callProp(config, item, slot),
7342
- to: callProp(leave, item)
7343
- }));
7344
- delete current[key];
7345
- });
7346
- break;
7347
- }
7348
 
7349
- case UPDATE:
7350
- {
7351
- updated.forEach(function (key) {
7352
- var keyIndex = keys.indexOf(key);
7353
- var item = items[keyIndex];
7354
- var slot = UPDATE;
7355
- current[key] = _extends({}, current[key], {
7356
- item: item,
7357
- slot: slot,
7358
- trail: delay = delay + trail,
7359
- config: callProp(config, item, slot),
7360
- to: callProp(update, item)
7361
- });
7362
- });
7363
- break;
7364
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7365
  }
7366
  }
 
 
 
7367
 
7368
- var out = keys.map(function (key) {
7369
- return current[key];
7370
- }); // This tries to restore order for deleted items by finding their last known siblings
7371
- // only using the left sibling to keep order placement consistent for all deleted items
7372
 
7373
- deleted.forEach(function (_ref10) {
7374
- var left = _ref10.left,
7375
- right = _ref10.right,
7376
- item = _objectWithoutPropertiesLoose(_ref10, ["left", "right"]);
7377
 
7378
- var pos; // Was it the element on the left, if yes, move there ...
7379
 
7380
- if ((pos = out.findIndex(function (t) {
7381
- return t.originalKey === left;
7382
- })) !== -1) pos += 1; // And if nothing else helps, move it to the start ¯\_()_/¯
 
 
 
 
 
 
 
 
 
 
 
7383
 
7384
- pos = Math.max(0, pos);
7385
- out = [].concat(out.slice(0, pos), [item], out.slice(pos));
7386
- });
7387
- return _extends({}, state, {
7388
- changed: added.length || removed.length || updated.length,
7389
- first: first && added.length === 0,
7390
- transitions: out,
7391
- current: current,
7392
- deleted: deleted,
7393
- prevProps: props
7394
- });
7395
- }
 
 
7396
 
7397
- var AnimatedStyle =
7398
- /*#__PURE__*/
7399
- function (_AnimatedObject) {
7400
- _inheritsLoose(AnimatedStyle, _AnimatedObject);
7401
 
7402
- function AnimatedStyle(style) {
7403
- var _this;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7404
 
7405
- if (style === void 0) {
7406
- style = {};
7407
- }
 
 
 
 
 
 
 
 
7408
 
7409
- _this = _AnimatedObject.call(this) || this;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7410
 
7411
- if (style.transform && !(style.transform instanceof Animated)) {
7412
- style = applyAnimatedValues.transform(style);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7413
  }
 
 
 
7414
 
7415
- _this.payload = style;
7416
- return _this;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7417
  }
 
7418
 
7419
- return AnimatedStyle;
7420
- }(AnimatedObject);
7421
 
7422
- // http://www.w3.org/TR/css3-color/#svg-color
7423
- var colors = {
7424
- transparent: 0x00000000,
7425
- aliceblue: 0xf0f8ffff,
7426
- antiquewhite: 0xfaebd7ff,
7427
- aqua: 0x00ffffff,
7428
- aquamarine: 0x7fffd4ff,
7429
- azure: 0xf0ffffff,
7430
- beige: 0xf5f5dcff,
7431
- bisque: 0xffe4c4ff,
7432
- black: 0x000000ff,
7433
- blanchedalmond: 0xffebcdff,
7434
- blue: 0x0000ffff,
7435
- blueviolet: 0x8a2be2ff,
7436
- brown: 0xa52a2aff,
7437
- burlywood: 0xdeb887ff,
7438
- burntsienna: 0xea7e5dff,
7439
- cadetblue: 0x5f9ea0ff,
7440
- chartreuse: 0x7fff00ff,
7441
- chocolate: 0xd2691eff,
7442
- coral: 0xff7f50ff,
7443
- cornflowerblue: 0x6495edff,
7444
- cornsilk: 0xfff8dcff,
7445
- crimson: 0xdc143cff,
7446
- cyan: 0x00ffffff,
7447
- darkblue: 0x00008bff,
7448
- darkcyan: 0x008b8bff,
7449
- darkgoldenrod: 0xb8860bff,
7450
- darkgray: 0xa9a9a9ff,
7451
- darkgreen: 0x006400ff,
7452
- darkgrey: 0xa9a9a9ff,
7453
- darkkhaki: 0xbdb76bff,
7454
- darkmagenta: 0x8b008bff,
7455
- darkolivegreen: 0x556b2fff,
7456
- darkorange: 0xff8c00ff,
7457
- darkorchid: 0x9932ccff,
7458
- darkred: 0x8b0000ff,
7459
- darksalmon: 0xe9967aff,
7460
- darkseagreen: 0x8fbc8fff,
7461
- darkslateblue: 0x483d8bff,
7462
- darkslategray: 0x2f4f4fff,
7463
- darkslategrey: 0x2f4f4fff,
7464
- darkturquoise: 0x00ced1ff,
7465
- darkviolet: 0x9400d3ff,
7466
- deeppink: 0xff1493ff,
7467
- deepskyblue: 0x00bfffff,
7468
- dimgray: 0x696969ff,
7469
- dimgrey: 0x696969ff,
7470
- dodgerblue: 0x1e90ffff,
7471
- firebrick: 0xb22222ff,
7472
- floralwhite: 0xfffaf0ff,
7473
- forestgreen: 0x228b22ff,
7474
- fuchsia: 0xff00ffff,
7475
- gainsboro: 0xdcdcdcff,
7476
- ghostwhite: 0xf8f8ffff,
7477
- gold: 0xffd700ff,
7478
- goldenrod: 0xdaa520ff,
7479
- gray: 0x808080ff,
7480
- green: 0x008000ff,
7481
- greenyellow: 0xadff2fff,
7482
- grey: 0x808080ff,
7483
- honeydew: 0xf0fff0ff,
7484
- hotpink: 0xff69b4ff,
7485
- indianred: 0xcd5c5cff,
7486
- indigo: 0x4b0082ff,
7487
- ivory: 0xfffff0ff,
7488
- khaki: 0xf0e68cff,
7489
- lavender: 0xe6e6faff,
7490
- lavenderblush: 0xfff0f5ff,
7491
- lawngreen: 0x7cfc00ff,
7492
- lemonchiffon: 0xfffacdff,
7493
- lightblue: 0xadd8e6ff,
7494
- lightcoral: 0xf08080ff,
7495
- lightcyan: 0xe0ffffff,
7496
- lightgoldenrodyellow: 0xfafad2ff,
7497
- lightgray: 0xd3d3d3ff,
7498
- lightgreen: 0x90ee90ff,
7499
- lightgrey: 0xd3d3d3ff,
7500
- lightpink: 0xffb6c1ff,
7501
- lightsalmon: 0xffa07aff,
7502
- lightseagreen: 0x20b2aaff,
7503
- lightskyblue: 0x87cefaff,
7504
- lightslategray: 0x778899ff,
7505
- lightslategrey: 0x778899ff,
7506
- lightsteelblue: 0xb0c4deff,
7507
- lightyellow: 0xffffe0ff,
7508
- lime: 0x00ff00ff,
7509
- limegreen: 0x32cd32ff,
7510
- linen: 0xfaf0e6ff,
7511
- magenta: 0xff00ffff,
7512
- maroon: 0x800000ff,
7513
- mediumaquamarine: 0x66cdaaff,
7514
- mediumblue: 0x0000cdff,
7515
- mediumorchid: 0xba55d3ff,
7516
- mediumpurple: 0x9370dbff,
7517
- mediumseagreen: 0x3cb371ff,
7518
- mediumslateblue: 0x7b68eeff,
7519
- mediumspringgreen: 0x00fa9aff,
7520
- mediumturquoise: 0x48d1ccff,
7521
- mediumvioletred: 0xc71585ff,
7522
- midnightblue: 0x191970ff,
7523
- mintcream: 0xf5fffaff,
7524
- mistyrose: 0xffe4e1ff,
7525
- moccasin: 0xffe4b5ff,
7526
- navajowhite: 0xffdeadff,
7527
- navy: 0x000080ff,
7528
- oldlace: 0xfdf5e6ff,
7529
- olive: 0x808000ff,
7530
- olivedrab: 0x6b8e23ff,
7531
- orange: 0xffa500ff,
7532
- orangered: 0xff4500ff,
7533
- orchid: 0xda70d6ff,
7534
- palegoldenrod: 0xeee8aaff,
7535
- palegreen: 0x98fb98ff,
7536
- paleturquoise: 0xafeeeeff,
7537
- palevioletred: 0xdb7093ff,
7538
- papayawhip: 0xffefd5ff,
7539
- peachpuff: 0xffdab9ff,
7540
- peru: 0xcd853fff,
7541
- pink: 0xffc0cbff,
7542
- plum: 0xdda0ddff,
7543
- powderblue: 0xb0e0e6ff,
7544
- purple: 0x800080ff,
7545
- rebeccapurple: 0x663399ff,
7546
- red: 0xff0000ff,
7547
- rosybrown: 0xbc8f8fff,
7548
- royalblue: 0x4169e1ff,
7549
- saddlebrown: 0x8b4513ff,
7550
- salmon: 0xfa8072ff,
7551
- sandybrown: 0xf4a460ff,
7552
- seagreen: 0x2e8b57ff,
7553
- seashell: 0xfff5eeff,
7554
- sienna: 0xa0522dff,
7555
- silver: 0xc0c0c0ff,
7556
- skyblue: 0x87ceebff,
7557
- slateblue: 0x6a5acdff,
7558
- slategray: 0x708090ff,
7559
- slategrey: 0x708090ff,
7560
- snow: 0xfffafaff,
7561
- springgreen: 0x00ff7fff,
7562
- steelblue: 0x4682b4ff,
7563
- tan: 0xd2b48cff,
7564
- teal: 0x008080ff,
7565
- thistle: 0xd8bfd8ff,
7566
- tomato: 0xff6347ff,
7567
- turquoise: 0x40e0d0ff,
7568
- violet: 0xee82eeff,
7569
- wheat: 0xf5deb3ff,
7570
- white: 0xffffffff,
7571
- whitesmoke: 0xf5f5f5ff,
7572
- yellow: 0xffff00ff,
7573
- yellowgreen: 0x9acd32ff
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7574
  };
 
 
 
 
 
 
 
 
 
 
7575
 
7576
- // const INTEGER = '[-+]?\\d+';
7577
- var NUMBER = '[-+]?\\d*\\.?\\d+';
7578
- var PERCENTAGE = NUMBER + '%';
 
 
 
7579
 
7580
- function call() {
7581
- for (var _len = arguments.length, parts = new Array(_len), _key = 0; _key < _len; _key++) {
7582
- parts[_key] = arguments[_key];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7583
  }
7584
 
7585
- return '\\(\\s*(' + parts.join(')\\s*,\\s*(') + ')\\s*\\)';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7586
  }
 
 
7587
 
7588
- var rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));
7589
- var rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));
7590
- var hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));
7591
- var hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));
7592
- var hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
7593
- var hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
7594
- var hex6 = /^#([0-9a-fA-F]{6})$/;
7595
- var hex8 = /^#([0-9a-fA-F]{8})$/;
7596
 
7597
- /*
7598
- https://github.com/react-community/normalize-css-color
 
7599
 
7600
- BSD 3-Clause License
 
7601
 
7602
- Copyright (c) 2016, React Community
7603
- All rights reserved.
7604
 
7605
- Redistribution and use in source and binary forms, with or without
7606
- modification, are permitted provided that the following conditions are met:
7607
 
7608
- * Redistributions of source code must retain the above copyright notice, this
7609
- list of conditions and the following disclaimer.
7610
 
7611
- * Redistributions in binary form must reproduce the above copyright notice,
7612
- this list of conditions and the following disclaimer in the documentation
7613
- and/or other materials provided with the distribution.
7614
 
7615
- * Neither the name of the copyright holder nor the names of its
7616
- contributors may be used to endorse or promote products derived from
7617
- this software without specific prior written permission.
7618
 
7619
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
7620
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
7621
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
7622
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
7623
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
7624
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
7625
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
7626
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
7627
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
7628
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7629
- */
7630
- function normalizeColor(color) {
7631
- var match;
7632
 
7633
- if (typeof color === 'number') {
7634
- return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;
7635
- } // Ordered based on occurrences on Facebook codebase
7636
 
 
7637
 
7638
- if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;
7639
- if (colors.hasOwnProperty(color)) return colors[color];
7640
 
7641
- if (match = rgb.exec(color)) {
7642
- return (parse255(match[1]) << 24 | // r
7643
- parse255(match[2]) << 16 | // g
7644
- parse255(match[3]) << 8 | // b
7645
- 0x000000ff) >>> // a
7646
- 0;
7647
- }
7648
 
7649
- if (match = rgba.exec(color)) {
7650
- return (parse255(match[1]) << 24 | // r
7651
- parse255(match[2]) << 16 | // g
7652
- parse255(match[3]) << 8 | // b
7653
- parse1(match[4])) >>> // a
7654
- 0;
7655
- }
7656
 
7657
- if (match = hex3.exec(color)) {
7658
- return parseInt(match[1] + match[1] + // r
7659
- match[2] + match[2] + // g
7660
- match[3] + match[3] + // b
7661
- 'ff', // a
7662
- 16) >>> 0;
7663
- } // https://drafts.csswg.org/css-color-4/#hex-notation
7664
 
7665
 
7666
- if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;
7667
 
7668
- if (match = hex4.exec(color)) {
7669
- return parseInt(match[1] + match[1] + // r
7670
- match[2] + match[2] + // g
7671
- match[3] + match[3] + // b
7672
- match[4] + match[4], // a
7673
- 16) >>> 0;
7674
- }
7675
 
7676
- if (match = hsl.exec(color)) {
7677
- return (hslToRgb(parse360(match[1]), // h
7678
- parsePercentage(match[2]), // s
7679
- parsePercentage(match[3]) // l
7680
- ) | 0x000000ff) >>> // a
7681
- 0;
7682
- }
7683
 
7684
- if (match = hsla.exec(color)) {
7685
- return (hslToRgb(parse360(match[1]), // h
7686
- parsePercentage(match[2]), // s
7687
- parsePercentage(match[3]) // l
7688
- ) | parse1(match[4])) >>> // a
7689
- 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7690
  }
7691
 
7692
- return null;
7693
- }
 
 
 
7694
 
7695
- function hue2rgb(p, q, t) {
7696
- if (t < 0) t += 1;
7697
- if (t > 1) t -= 1;
7698
- if (t < 1 / 6) return p + (q - p) * 6 * t;
7699
- if (t < 1 / 2) return q;
7700
- if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
7701
- return p;
7702
- }
7703
 
7704
- function hslToRgb(h, s, l) {
7705
- var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
7706
- var p = 2 * l - q;
7707
- var r = hue2rgb(p, q, h + 1 / 3);
7708
- var g = hue2rgb(p, q, h);
7709
- var b = hue2rgb(p, q, h - 1 / 3);
7710
- return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;
7711
- }
7712
 
7713
- function parse255(str) {
7714
- var int = parseInt(str, 10);
7715
- if (int < 0) return 0;
7716
- if (int > 255) return 255;
7717
- return int;
7718
- }
 
 
 
7719
 
7720
- function parse360(str) {
7721
- var int = parseFloat(str);
7722
- return (int % 360 + 360) % 360 / 360;
7723
- }
7724
 
7725
- function parse1(str) {
7726
- var num = parseFloat(str);
7727
- if (num < 0) return 0;
7728
- if (num > 1) return 255;
7729
- return Math.round(num * 255);
7730
- }
7731
 
7732
- function parsePercentage(str) {
7733
- // parseFloat conveniently ignores the final %
7734
- var int = parseFloat(str);
7735
- if (int < 0) return 0;
7736
- if (int > 100) return 1;
7737
- return int / 100;
7738
- }
7739
 
7740
- function colorToRgba(input) {
7741
- var int32Color = normalizeColor(input);
7742
- if (int32Color === null) return input;
7743
- int32Color = int32Color || 0;
7744
- var r = (int32Color & 0xff000000) >>> 24;
7745
- var g = (int32Color & 0x00ff0000) >>> 16;
7746
- var b = (int32Color & 0x0000ff00) >>> 8;
7747
- var a = (int32Color & 0x000000ff) / 255;
7748
- return "rgba(" + r + ", " + g + ", " + b + ", " + a + ")";
7749
- } // Problem: https://github.com/animatedjs/animated/pull/102
7750
- // Solution: https://stackoverflow.com/questions/638565/parsing-scientific-notation-sensibly/658662
7751
 
 
 
 
 
7752
 
7753
- var stringShapeRegex = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g; // Covers rgb, rgba, hsl, hsla
7754
- // Taken from https://gist.github.com/olmokramer/82ccce673f86db7cda5e
 
 
 
 
 
 
 
 
 
 
 
7755
 
7756
- 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.)
 
 
 
 
7757
 
7758
- var colorNamesRegex = new RegExp("(" + Object.keys(colors).join('|') + ")", 'g');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7759
  /**
7760
- * Supports string shapes by extracting numbers so new values can be computed,
7761
- * and recombines those values into new strings of the same shape. Supports
7762
- * things like:
7763
  *
7764
- * rgba(123, 42, 99, 0.36) // colors
7765
- * -45deg // values with units
7766
- * 0 2px 2px 0px rgba(0, 0, 0, 0.12) // box shadows
7767
  */
7768
 
7769
- var createStringInterpolator = function createStringInterpolator(config) {
7770
- // Replace colors with rgba
7771
- var outputRange = config.output.map(function (rangeValue) {
7772
- return rangeValue.replace(colorRegex, colorToRgba);
7773
- }).map(function (rangeValue) {
7774
- return rangeValue.replace(colorNamesRegex, colorToRgba);
7775
- });
7776
- var outputRanges = outputRange[0].match(stringShapeRegex).map(function () {
7777
- return [];
7778
- });
7779
- outputRange.forEach(function (value) {
7780
- value.match(stringShapeRegex).forEach(function (number, i) {
7781
- return outputRanges[i].push(+number);
7782
- });
7783
- });
7784
- var interpolations = outputRange[0].match(stringShapeRegex).map(function (_value, i) {
7785
- return createInterpolator(_extends({}, config, {
7786
- output: outputRanges[i]
7787
- }));
7788
  });
7789
- return function (input) {
7790
- var i = 0;
7791
- return outputRange[0] // 'rgba(0, 100, 200, 0)'
7792
- // ->
7793
- // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'
7794
- .replace(stringShapeRegex, function () {
7795
- return interpolations[i++](input);
7796
- }) // rgba requires that the r,g,b are integers.... so we want to round them, but we *dont* want to
7797
- // round the opacity (4th column).
7798
- .replace(/rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi, function (_, p1, p2, p3, p4) {
7799
- return "rgba(" + Math.round(p1) + ", " + Math.round(p2) + ", " + Math.round(p3) + ", " + p4 + ")";
7800
- });
7801
- };
7802
  };
 
 
 
7803
 
7804
- var isUnitlessNumber = {
7805
- animationIterationCount: true,
7806
- borderImageOutset: true,
7807
- borderImageSlice: true,
7808
- borderImageWidth: true,
7809
- boxFlex: true,
7810
- boxFlexGroup: true,
7811
- boxOrdinalGroup: true,
7812
- columnCount: true,
7813
- columns: true,
7814
- flex: true,
7815
- flexGrow: true,
7816
- flexPositive: true,
7817
- flexShrink: true,
7818
- flexNegative: true,
7819
- flexOrder: true,
7820
- gridRow: true,
7821
- gridRowEnd: true,
7822
- gridRowSpan: true,
7823
- gridRowStart: true,
7824
- gridColumn: true,
7825
- gridColumnEnd: true,
7826
- gridColumnSpan: true,
7827
- gridColumnStart: true,
7828
- fontWeight: true,
7829
- lineClamp: true,
7830
- lineHeight: true,
7831
- opacity: true,
7832
- order: true,
7833
- orphans: true,
7834
- tabSize: true,
7835
- widows: true,
7836
- zIndex: true,
7837
- zoom: true,
7838
- // SVG-related properties
7839
- fillOpacity: true,
7840
- floodOpacity: true,
7841
- stopOpacity: true,
7842
- strokeDasharray: true,
7843
- strokeDashoffset: true,
7844
- strokeMiterlimit: true,
7845
- strokeOpacity: true,
7846
- strokeWidth: true
7847
  };
 
 
 
 
 
 
7848
 
7849
- var prefixKey = function prefixKey(prefix, key) {
7850
- return prefix + key.charAt(0).toUpperCase() + key.substring(1);
 
 
 
 
 
 
7851
  };
 
 
 
 
 
 
 
 
 
 
7852
 
7853
- var prefixes = ['Webkit', 'Ms', 'Moz', 'O'];
7854
- isUnitlessNumber = Object.keys(isUnitlessNumber).reduce(function (acc, prop) {
7855
- prefixes.forEach(function (prefix) {
7856
- return acc[prefixKey(prefix, prop)] = acc[prop];
7857
- });
7858
- return acc;
7859
- }, isUnitlessNumber);
 
7860
 
7861
- function dangerousStyleValue(name, value, isCustomProperty) {
7862
- if (value == null || typeof value === 'boolean' || value === '') return '';
7863
- if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers
7864
 
7865
- return ('' + value).trim();
7866
- }
 
7867
 
7868
- var attributeCache = {};
7869
- injectCreateAnimatedStyle(function (style) {
7870
- return new AnimatedStyle(style);
7871
- });
7872
- injectDefaultElement('div');
7873
- injectStringInterpolator(createStringInterpolator);
7874
- injectColorNames(colors);
7875
- injectApplyAnimatedValues(function (instance, props) {
7876
- if (instance.nodeType && instance.setAttribute !== undefined) {
7877
- var style = props.style,
7878
- children = props.children,
7879
- scrollTop = props.scrollTop,
7880
- scrollLeft = props.scrollLeft,
7881
- attributes = _objectWithoutPropertiesLoose(props, ["style", "children", "scrollTop", "scrollLeft"]);
7882
 
7883
- var filter = instance.nodeName === 'filter' || instance.parentNode && instance.parentNode.nodeName === 'filter';
7884
- if (scrollTop !== void 0) instance.scrollTop = scrollTop;
7885
- if (scrollLeft !== void 0) instance.scrollLeft = scrollLeft; // Set textContent, if children is an animatable value
7886
 
7887
- if (children !== void 0) instance.textContent = children; // Set styles ...
7888
 
7889
- for (var styleName in style) {
7890
- if (!style.hasOwnProperty(styleName)) continue;
7891
- var isCustomProperty = styleName.indexOf('--') === 0;
7892
- var styleValue = dangerousStyleValue(styleName, style[styleName], isCustomProperty);
7893
- if (styleName === 'float') styleName = 'cssFloat';
7894
- if (isCustomProperty) instance.style.setProperty(styleName, styleValue);else instance.style[styleName] = styleValue;
7895
- } // Set attributes ...
7896
 
 
7897
 
7898
- for (var name in attributes) {
7899
- // Attributes are written in dash case
7900
- var dashCase = filter ? name : attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, function (n) {
7901
- return '-' + n.toLowerCase();
7902
- }));
7903
- if (typeof instance.getAttribute(dashCase) !== 'undefined') instance.setAttribute(dashCase, attributes[name]);
7904
  }
7905
 
7906
- return;
7907
- } else return false;
7908
- }, function (style) {
7909
- return style;
7910
- });
 
 
 
7911
 
7912
- 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
7913
- 'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];
7914
- // Extend animated with all the available THREE elements
7915
- var apply = merge(createAnimatedComponent, false);
7916
- var extendedAnimated = apply(domElements);
7917
 
7918
- exports.apply = apply;
7919
- exports.config = config;
7920
- exports.update = update;
7921
- exports.animated = extendedAnimated;
7922
- exports.a = extendedAnimated;
7923
- exports.interpolate = interpolate$1;
7924
- exports.Globals = Globals;
7925
- exports.useSpring = useSpring;
7926
- exports.useTrail = useTrail;
7927
- exports.useTransition = useTransition;
7928
- exports.useChain = useChain;
7929
- exports.useSprings = useSprings;
7930
 
 
 
 
 
 
 
 
 
 
7931
 
7932
- /***/ }),
7933
 
7934
- /***/ 183:
7935
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
7936
 
7937
- "use strict";
7938
- /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10);
7939
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
7940
- /* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(38);
7941
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1);
7942
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);
7943
 
7944
 
7945
 
7946
 
7947
 
7948
- var MAX_SIGNED_31_BIT_INT = 1073741823;
7949
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};
7950
 
7951
- function getUniqueId() {
7952
- var key = '__global_unique_id__';
7953
- return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;
7954
- }
7955
 
7956
- function objectIs(x, y) {
7957
- if (x === y) {
7958
- return x !== 0 || 1 / x === 1 / y;
7959
- } else {
7960
- return x !== x && y !== y;
7961
- }
7962
- }
7963
 
7964
- function createEventEmitter(value) {
7965
- var handlers = [];
7966
- return {
7967
- on: function on(handler) {
7968
- handlers.push(handler);
7969
- },
7970
- off: function off(handler) {
7971
- handlers = handlers.filter(function (h) {
7972
- return h !== handler;
7973
- });
7974
- },
7975
- get: function get() {
7976
- return value;
7977
- },
7978
- set: function set(newValue, changedBits) {
7979
- value = newValue;
7980
- handlers.forEach(function (handler) {
7981
- return handler(value, changedBits);
7982
- });
7983
- }
7984
- };
7985
- }
7986
 
7987
- function onlyChild(children) {
7988
- return Array.isArray(children) ? children[0] : children;
7989
- }
7990
 
7991
- function createReactContext(defaultValue, calculateChangedBits) {
7992
- var _Provider$childContex, _Consumer$contextType;
7993
 
7994
- var contextProp = '__create-react-context-' + getUniqueId() + '__';
7995
 
7996
- var Provider = /*#__PURE__*/function (_Component) {
7997
- Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(Provider, _Component);
7998
 
7999
- function Provider() {
8000
- var _this;
 
 
8001
 
8002
- _this = _Component.apply(this, arguments) || this;
8003
- _this.emitter = createEventEmitter(_this.props.value);
8004
- return _this;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8005
  }
 
8006
 
8007
- var _proto = Provider.prototype;
 
8008
 
8009
- _proto.getChildContext = function getChildContext() {
8010
- var _ref;
 
 
 
 
8011
 
8012
- return _ref = {}, _ref[contextProp] = this.emitter, _ref;
8013
- };
 
 
 
 
 
 
 
 
 
 
 
8014
 
8015
- _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
8016
- if (this.props.value !== nextProps.value) {
8017
- var oldValue = this.props.value;
8018
- var newValue = nextProps.value;
8019
- var changedBits;
 
8020
 
8021
- if (objectIs(oldValue, newValue)) {
8022
- changedBits = 0;
8023
- } else {
8024
- changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;
 
 
 
 
8025
 
8026
- if (false) {}
 
 
8027
 
8028
- changedBits |= 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8029
 
8030
- if (changedBits !== 0) {
8031
- this.emitter.set(nextProps.value, changedBits);
8032
- }
8033
- }
8034
- }
8035
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
8036
 
8037
- _proto.render = function render() {
8038
- return this.props.children;
8039
- };
8040
 
8041
- return Provider;
8042
- }(react__WEBPACK_IMPORTED_MODULE_0__["Component"]);
8043
 
8044
- Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object.isRequired, _Provider$childContex);
8045
 
8046
- var Consumer = /*#__PURE__*/function (_Component2) {
8047
- Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(Consumer, _Component2);
8048
 
8049
- function Consumer() {
8050
- var _this2;
8051
 
8052
- _this2 = _Component2.apply(this, arguments) || this;
8053
- _this2.state = {
8054
- value: _this2.getValue()
8055
- };
8056
 
8057
- _this2.onUpdate = function (newValue, changedBits) {
8058
- var observedBits = _this2.observedBits | 0;
 
8059
 
8060
- if ((observedBits & changedBits) !== 0) {
8061
- _this2.setState({
8062
- value: _this2.getValue()
8063
- });
8064
- }
8065
- };
8066
 
8067
- return _this2;
8068
- }
8069
 
8070
- var _proto2 = Consumer.prototype;
8071
 
8072
- _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
8073
- var observedBits = nextProps.observedBits;
8074
- this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;
8075
- };
8076
 
8077
- _proto2.componentDidMount = function componentDidMount() {
8078
- if (this.context[contextProp]) {
8079
- this.context[contextProp].on(this.onUpdate);
8080
- }
8081
 
8082
- var observedBits = this.props.observedBits;
8083
- this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;
8084
- };
8085
 
8086
- _proto2.componentWillUnmount = function componentWillUnmount() {
8087
- if (this.context[contextProp]) {
8088
- this.context[contextProp].off(this.onUpdate);
8089
- }
8090
- };
8091
 
8092
- _proto2.getValue = function getValue() {
8093
- if (this.context[contextProp]) {
8094
- return this.context[contextProp].get();
8095
- } else {
8096
- return defaultValue;
8097
- }
8098
  };
 
 
 
8099
 
8100
- _proto2.render = function render() {
8101
- return onlyChild(this.props.children)(this.state.value);
8102
- };
8103
 
8104
- return Consumer;
8105
- }(react__WEBPACK_IMPORTED_MODULE_0__["Component"]);
8106
 
8107
- Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, _Consumer$contextType);
8108
- return {
8109
- Provider: Provider,
8110
- Consumer: Consumer
 
 
 
8111
  };
8112
- }
8113
-
8114
- var index = react__WEBPACK_IMPORTED_MODULE_0___default.a.createContext || createReactContext;
8115
-
8116
- /* harmony default export */ __webpack_exports__["a"] = (index);
8117
 
8118
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(84)))
 
 
8119
 
8120
- /***/ }),
 
 
 
 
 
 
 
 
 
 
8121
 
8122
- /***/ 184:
8123
- /***/ (function(module, exports, __webpack_require__) {
8124
 
8125
- var isarray = __webpack_require__(307)
8126
 
8127
  /**
8128
- * Expose `pathToRegexp`.
8129
  */
8130
- module.exports = pathToRegexp
8131
- module.exports.parse = parse
8132
- module.exports.compile = compile
8133
- module.exports.tokensToFunction = tokensToFunction
8134
- module.exports.tokensToRegExp = tokensToRegExp
8135
 
8136
- /**
8137
- * The main path matching regexp utility.
8138
- *
8139
- * @type {RegExp}
8140
- */
8141
- var PATH_REGEXP = new RegExp([
8142
- // Match escaped characters that would otherwise appear in future matches.
8143
- // This allows the user to escape special characters that won't transform.
8144
- '(\\\\.)',
8145
- // Match Express-style parameters and un-named parameters with a prefix
8146
- // and optional suffixes. Matches appear as:
8147
- //
8148
- // "/:test(\\d+)?" => ["/", "test", "\d+", undefined, "?", undefined]
8149
- // "/route(\\d+)" => [undefined, undefined, undefined, "\d+", undefined, undefined]
8150
- // "/*" => ["/", undefined, undefined, undefined, undefined, "*"]
8151
- '([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))'
8152
- ].join('|'), 'g')
8153
 
8154
  /**
8155
- * Parse a string for the raw tokens.
8156
- *
8157
- * @param {string} str
8158
- * @param {Object=} options
8159
- * @return {!Array}
8160
  */
8161
- function parse (str, options) {
8162
- var tokens = []
8163
- var key = 0
8164
- var index = 0
8165
- var path = ''
8166
- var defaultDelimiter = options && options.delimiter || '/'
8167
- var res
8168
-
8169
- while ((res = PATH_REGEXP.exec(str)) != null) {
8170
- var m = res[0]
8171
- var escaped = res[1]
8172
- var offset = res.index
8173
- path += str.slice(index, offset)
8174
- index = offset + m.length
8175
-
8176
- // Ignore already escaped sequences.
8177
- if (escaped) {
8178
- path += escaped[1]
8179
- continue
8180
- }
8181
 
8182
- var next = str[index]
8183
- var prefix = res[2]
8184
- var name = res[3]
8185
- var capture = res[4]
8186
- var group = res[5]
8187
- var modifier = res[6]
8188
- var asterisk = res[7]
8189
 
8190
- // Push the current path onto the tokens.
8191
- if (path) {
8192
- tokens.push(path)
8193
- path = ''
8194
- }
 
8195
 
8196
- var partial = prefix != null && next != null && next !== prefix
8197
- var repeat = modifier === '+' || modifier === '*'
8198
- var optional = modifier === '?' || modifier === '*'
8199
- var delimiter = res[2] || defaultDelimiter
8200
- var pattern = capture || group
 
 
 
 
8201
 
8202
- tokens.push({
8203
- name: name || key++,
8204
- prefix: prefix || '',
8205
- delimiter: delimiter,
8206
- optional: optional,
8207
- repeat: repeat,
8208
- partial: partial,
8209
- asterisk: !!asterisk,
8210
- pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')
8211
- })
8212
- }
8213
 
8214
- // Match any characters still remaining.
8215
- if (index < str.length) {
8216
- path += str.substr(index)
8217
  }
8218
 
8219
- // If the path exists, push it onto the end.
8220
- if (path) {
8221
- tokens.push(path)
8222
  }
8223
 
8224
- return tokens
8225
- }
8226
-
8227
- /**
8228
- * Compile a string to a template function for the path.
8229
- *
8230
- * @param {string} str
8231
- * @param {Object=} options
8232
- * @return {!function(Object=, Object=)}
8233
- */
8234
- function compile (str, options) {
8235
- return tokensToFunction(parse(str, options), options)
8236
- }
8237
-
8238
- /**
8239
- * Prettier encoding of URI path segments.
8240
- *
8241
- * @param {string}
8242
- * @return {string}
8243
- */
8244
- function encodeURIComponentPretty (str) {
8245
- return encodeURI(str).replace(/[\/?#]/g, function (c) {
8246
- return '%' + c.charCodeAt(0).toString(16).toUpperCase()
8247
- })
8248
- }
8249
 
8250
- /**
8251
- * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.
8252
- *
8253
- * @param {string}
8254
- * @return {string}
8255
- */
8256
- function encodeAsterisk (str) {
8257
- return encodeURI(str).replace(/[?#]/g, function (c) {
8258
- return '%' + c.charCodeAt(0).toString(16).toUpperCase()
8259
- })
8260
- }
8261
 
8262
  /**
8263
- * Expose a method for transforming tokens into the path function.
8264
  */
8265
- function tokensToFunction (tokens, options) {
8266
- // Compile all the tokens into regexps.
8267
- var matches = new Array(tokens.length)
8268
 
8269
- // Compile all the patterns before compilation.
8270
- for (var i = 0; i < tokens.length; i++) {
8271
- if (typeof tokens[i] === 'object') {
8272
- matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))
8273
- }
8274
- }
8275
 
8276
- return function (obj, opts) {
8277
- var path = ''
8278
- var data = obj || {}
8279
- var options = opts || {}
8280
- var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent
8281
 
8282
- for (var i = 0; i < tokens.length; i++) {
8283
- var token = tokens[i]
 
 
 
 
8284
 
8285
- if (typeof token === 'string') {
8286
- path += token
 
 
 
 
 
 
 
8287
 
8288
- continue
8289
- }
 
 
 
 
8290
 
8291
- var value = data[token.name]
8292
- var segment
8293
 
8294
- if (value == null) {
8295
- if (token.optional) {
8296
- // Prepend partial segment prefixes.
8297
- if (token.partial) {
8298
- path += token.prefix
8299
- }
8300
 
8301
- continue
8302
- } else {
8303
- throw new TypeError('Expected "' + token.name + '" to be defined')
8304
- }
8305
- }
8306
 
8307
- if (isarray(value)) {
8308
- if (!token.repeat) {
8309
- throw new TypeError('Expected "' + token.name + '" to not repeat, but received `' + JSON.stringify(value) + '`')
8310
- }
8311
 
8312
- if (value.length === 0) {
8313
- if (token.optional) {
8314
- continue
8315
- } else {
8316
- throw new TypeError('Expected "' + token.name + '" to not be empty')
8317
- }
8318
- }
8319
 
8320
- for (var j = 0; j < value.length; j++) {
8321
- segment = encode(value[j])
 
 
8322
 
8323
- if (!matches[i].test(segment)) {
8324
- throw new TypeError('Expected all "' + token.name + '" to match "' + token.pattern + '", but received `' + JSON.stringify(segment) + '`')
8325
- }
 
 
 
8326
 
8327
- path += (j === 0 ? token.prefix : token.delimiter) + segment
8328
- }
8329
 
8330
- continue
 
 
 
 
 
 
 
8331
  }
 
 
 
 
8332
 
8333
- segment = token.asterisk ? encodeAsterisk(value) : encode(value)
 
 
 
 
 
 
 
 
 
 
 
 
8334
 
8335
- if (!matches[i].test(segment)) {
8336
- throw new TypeError('Expected "' + token.name + '" to match "' + token.pattern + '", but received "' + segment + '"')
8337
- }
8338
 
8339
- path += token.prefix + segment
8340
- }
8341
 
8342
- return path
8343
- }
8344
- }
8345
 
8346
  /**
8347
- * Escape a regular expression string.
8348
- *
8349
- * @param {string} str
8350
- * @return {string}
8351
  */
8352
- function escapeString (str) {
8353
- return str.replace(/([.+*?=^!:${}()[\]|\/\\])/g, '\\$1')
8354
- }
8355
 
8356
- /**
8357
- * Escape the capturing group by escaping special characters and meaning.
8358
- *
8359
- * @param {string} group
8360
- * @return {string}
8361
- */
8362
- function escapeGroup (group) {
8363
- return group.replace(/([=!:$\/()])/g, '\\$1')
8364
- }
8365
 
8366
  /**
8367
- * Attach the keys as a property of the regexp.
8368
- *
8369
- * @param {!RegExp} re
8370
- * @param {Array} keys
8371
- * @return {!RegExp}
8372
  */
8373
- function attachKeys (re, keys) {
8374
- re.keys = keys
8375
- return re
8376
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8377
 
8378
  /**
8379
- * Get the flags for a regexp from the options.
8380
- *
8381
- * @param {Object} options
8382
- * @return {string}
8383
  */
8384
- function flags (options) {
8385
- return options && options.sensitive ? '' : 'i'
8386
- }
8387
 
8388
  /**
8389
- * Pull out keys from a regexp.
8390
- *
8391
- * @param {!RegExp} path
8392
- * @param {!Array} keys
8393
- * @return {!RegExp}
8394
  */
8395
- function regexpToRegexp (path, keys) {
8396
- // Use a negative lookahead to match only capturing groups.
8397
- var groups = path.source.match(/\((?!\?)/g)
8398
 
8399
- if (groups) {
8400
- for (var i = 0; i < groups.length; i++) {
8401
- keys.push({
8402
- name: i,
8403
- prefix: null,
8404
- delimiter: null,
8405
- optional: false,
8406
- repeat: false,
8407
- partial: false,
8408
- asterisk: false,
8409
- pattern: null
8410
- })
8411
- }
8412
  }
8413
 
8414
- return attachKeys(path, keys)
8415
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8416
 
8417
- /**
8418
- * Transform an array into a regexp.
8419
- *
8420
- * @param {!Array} path
8421
- * @param {Array} keys
8422
- * @param {!Object} options
8423
- * @return {!RegExp}
8424
- */
8425
- function arrayToRegexp (path, keys, options) {
8426
- var parts = []
8427
 
8428
- for (var i = 0; i < path.length; i++) {
8429
- parts.push(pathToRegexp(path[i], keys, options).source)
8430
- }
8431
 
8432
- var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))
8433
 
8434
- return attachKeys(regexp, keys)
8435
- }
8436
 
8437
  /**
8438
- * Create a path regexp from string input.
8439
- *
8440
- * @param {string} path
8441
- * @param {!Array} keys
8442
- * @param {!Object} options
8443
- * @return {!RegExp}
8444
  */
8445
- function stringToRegexp (path, keys, options) {
8446
- return tokensToRegExp(parse(path, options), keys, options)
8447
- }
 
 
8448
 
8449
  /**
8450
- * Expose a function for taking tokens and returning a RegExp.
8451
- *
8452
- * @param {!Array} tokens
8453
- * @param {(Array|Object)=} keys
8454
- * @param {Object=} options
8455
- * @return {!RegExp}
8456
  */
8457
- function tokensToRegExp (tokens, keys, options) {
8458
- if (!isarray(keys)) {
8459
- options = /** @type {!Object} */ (keys || options)
8460
- keys = []
8461
- }
8462
 
8463
- options = options || {}
8464
 
8465
- var strict = options.strict
8466
- var end = options.end !== false
8467
- var route = ''
8468
 
8469
- // Iterate over the tokens and create our regexp string.
8470
- for (var i = 0; i < tokens.length; i++) {
8471
- var token = tokens[i]
8472
 
8473
- if (typeof token === 'string') {
8474
- route += escapeString(token)
8475
- } else {
8476
- var prefix = escapeString(token.prefix)
8477
- var capture = '(?:' + token.pattern + ')'
8478
 
8479
- keys.push(token)
8480
 
8481
- if (token.repeat) {
8482
- capture += '(?:' + prefix + capture + ')*'
8483
- }
 
 
 
 
8484
 
8485
- if (token.optional) {
8486
- if (!token.partial) {
8487
- capture = '(?:' + prefix + '(' + capture + '))?'
8488
- } else {
8489
- capture = prefix + '(' + capture + ')?'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8490
  }
8491
- } else {
8492
- capture = prefix + '(' + capture + ')'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8493
  }
8494
 
8495
- route += capture
8496
  }
8497
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8498
 
8499
- var delimiter = escapeString(options.delimiter || '/')
8500
- var endsWithDelimiter = route.slice(-delimiter.length) === delimiter
8501
 
8502
- // In non-strict mode we allow a slash at the end of match. If the path to
8503
- // match already ends with a slash, we remove it for consistency. The slash
8504
- // is valid at the end of a path match, not in the middle. This is important
8505
- // in non-ending mode, where "/test/" shouldn't match "/test//route".
8506
- if (!strict) {
8507
- route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'
8508
- }
8509
 
8510
- if (end) {
8511
- route += '$'
8512
- } else {
8513
- // In non-ending mode, we need the capturing groups to match as much as
8514
- // possible by using a positive lookahead to the end or next path segment.
8515
- route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'
8516
- }
8517
 
8518
- return attachKeys(new RegExp('^' + route, flags(options)), keys)
8519
- }
8520
 
8521
  /**
8522
- * Normalize the given path string, returning a regular expression.
8523
- *
8524
- * An empty array can be passed in for the keys, which will hold the
8525
- * placeholder key descriptions. For example, using `/user/:id`, `keys` will
8526
- * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.
8527
- *
8528
- * @param {(string|RegExp|Array)} path
8529
- * @param {(Array|Object)=} keys
8530
- * @param {Object=} options
8531
- * @return {!RegExp}
8532
  */
8533
- function pathToRegexp (path, keys, options) {
8534
- if (!isarray(keys)) {
8535
- options = /** @type {!Object} */ (keys || options)
8536
- keys = []
8537
- }
8538
 
8539
- options = options || {}
8540
 
8541
- if (path instanceof RegExp) {
8542
- return regexpToRegexp(path, /** @type {!Array} */ (keys))
8543
- }
8544
 
8545
- if (isarray(path)) {
8546
- return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)
8547
- }
8548
 
8549
- return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)
8550
- }
 
8551
 
 
 
 
 
 
 
 
 
 
 
8552
 
8553
- /***/ }),
8554
 
8555
- /***/ 19:
8556
- /***/ (function(module, exports, __webpack_require__) {
8557
 
8558
- var arrayWithoutHoles = __webpack_require__(57);
8559
 
8560
- var iterableToArray = __webpack_require__(58);
8561
 
8562
- var unsupportedIterableToArray = __webpack_require__(40);
8563
 
8564
- var nonIterableSpread = __webpack_require__(59);
8565
 
8566
- function _toConsumableArray(arr) {
8567
- return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
8568
- }
8569
 
8570
- module.exports = _toConsumableArray;
8571
 
8572
- /***/ }),
8573
 
8574
- /***/ 196:
8575
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
8576
 
8577
- "use strict";
8578
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getUnreadNotesCount; });
8579
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return hasValidNotes; });
8580
- /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
8581
- /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);
8582
- /**
8583
- * External dependencies
8584
- */
8585
 
8586
- /**
8587
- * Get the count of the unread notes from the received list.
8588
- *
8589
- * @param {Array} notes - List of notes, contains read and unread notes.
8590
- * @param {number} lastRead - The timestamp that the user read a note.
8591
- * @return {number} - Unread notes count.
8592
- */
8593
 
8594
- function getUnreadNotesCount(notes, lastRead) {
8595
- var unreadNotes = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["filter"])(notes, function (note) {
8596
- var isDeleted = note.is_deleted,
8597
- dateCreatedGmt = note.date_created_gmt,
8598
- status = note.status;
8599
 
8600
- if (!isDeleted) {
8601
- var unread = !lastRead || !dateCreatedGmt || new Date(dateCreatedGmt + 'Z').getTime() > lastRead;
8602
- return unread && status === 'unactioned';
8603
- }
8604
- });
8605
- return unreadNotes.length;
8606
- }
8607
- /**
8608
- * Verifies if there are any valid notes in the list.
8609
- *
8610
- * @param {Array} notes - List of notes, contains read and unread notes.
8611
- * @return {boolean} - Whether there are valid notes or not.
8612
- */
8613
 
8614
- function hasValidNotes(notes) {
8615
- var validNotes = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["filter"])(notes, function (note) {
8616
- var isDeleted = note.is_deleted;
8617
- return !isDeleted;
8618
- });
8619
- return validNotes.length > 0;
8620
- }
8621
 
8622
- /***/ }),
 
 
 
 
 
8623
 
8624
- /***/ 197:
8625
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
8626
 
8627
- "use strict";
8628
- /* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36);
8629
- /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55);
8630
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
8631
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
8632
 
8633
 
8634
 
8635
- 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; }
8636
 
8637
- 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; }
8638
 
8639
- /**
8640
- * WordPress dependencies
8641
- */
8642
 
8643
- /** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */
8644
 
8645
  /**
8646
- * Return an SVG icon.
8647
- *
8648
- * @param {IconProps} props icon is the SVG component to render
8649
- * size is a number specifiying the icon size in pixels
8650
- * Other props will be passed to wrapped SVG component
8651
- *
8652
- * @return {JSX.Element} Icon component
8653
  */
8654
 
8655
- function Icon(_ref) {
8656
- var icon = _ref.icon,
8657
- _ref$size = _ref.size,
8658
- size = _ref$size === void 0 ? 24 : _ref$size,
8659
- props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(_ref, ["icon", "size"]);
8660
 
8661
- return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["cloneElement"])(icon, _objectSpread({
8662
- width: size,
8663
- height: size
8664
- }, props));
8665
- }
8666
 
8667
- /* harmony default export */ __webpack_exports__["a"] = (Icon);
8668
- //# sourceMappingURL=index.js.map
8669
 
8670
- /***/ }),
8671
 
8672
- /***/ 2:
8673
- /***/ (function(module, exports) {
8674
 
8675
- (function() { module.exports = this["wp"]["i18n"]; }());
8676
 
8677
- /***/ }),
 
 
8678
 
8679
- /***/ 20:
8680
- /***/ (function(module, exports) {
8681
 
8682
- (function() { module.exports = this["wp"]["compose"]; }());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8683
 
8684
- /***/ }),
 
8685
 
8686
- /***/ 21:
8687
- /***/ (function(module, exports) {
 
8688
 
8689
- (function() { module.exports = this["wc"]["navigation"]; }());
 
 
 
 
 
 
 
8690
 
8691
- /***/ }),
 
 
 
 
 
 
 
 
8692
 
8693
- /***/ 22:
8694
- /***/ (function(module, exports) {
 
8695
 
8696
- (function() { module.exports = this["wc"]["data"]; }());
 
 
 
 
 
 
 
 
 
 
8697
 
8698
- /***/ }),
 
 
8699
 
8700
- /***/ 23:
8701
- /***/ (function(module, exports) {
 
8702
 
8703
- (function() { module.exports = this["wp"]["url"]; }());
 
 
 
8704
 
8705
- /***/ }),
 
 
8706
 
8707
- /***/ 24:
8708
- /***/ (function(module, exports) {
 
8709
 
8710
- function _extends() {
8711
- module.exports = _extends = Object.assign || function (target) {
8712
- for (var i = 1; i < arguments.length; i++) {
8713
- var source = arguments[i];
 
 
 
 
8714
 
8715
- for (var key in source) {
8716
- if (Object.prototype.hasOwnProperty.call(source, key)) {
8717
- target[key] = source[key];
8718
- }
8719
  }
8720
  }
 
8721
 
8722
- return target;
 
 
 
8723
  };
8724
 
8725
- return _extends.apply(this, arguments);
8726
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8727
 
8728
- module.exports = _extends;
8729
 
8730
- /***/ }),
8731
 
8732
- /***/ 25:
8733
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
8734
 
8735
- "use strict";
8736
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ADMIN_URL; });
8737
- /* unused harmony export COUNTRIES */
8738
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return CURRENCY; });
8739
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return LOCALE; });
8740
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return ORDER_STATUSES; });
8741
- /* unused harmony export SITE_TITLE */
8742
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return WC_ASSET_URL; });
8743
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getSetting; });
8744
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return setSetting; });
8745
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getAdminLink; });
8746
- /* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31);
8747
- /* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);
8748
- /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);
8749
- /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
8750
 
8751
 
 
 
 
 
8752
  /**
8753
  * External dependencies
8754
  */
8755
- // Remove mutable data from settings object to prevent access. Data stores should be used instead.
8756
 
8757
- var mutableSources = ['wcAdminSettings', 'preloadSettings'];
8758
- var settings = (typeof wcSettings === "undefined" ? "undefined" : _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(wcSettings)) === 'object' ? wcSettings : {};
8759
- var SOURCE = Object.keys(settings).reduce(function (source, key) {
8760
- if (!mutableSources.includes(key)) {
8761
- source[key] = settings[key];
8762
- }
8763
 
8764
- return source;
8765
- }, {});
8766
- var ADMIN_URL = SOURCE.adminUrl;
8767
- var COUNTRIES = SOURCE.countries;
8768
- var CURRENCY = SOURCE.currency;
8769
- var LOCALE = SOURCE.locale;
8770
- var ORDER_STATUSES = SOURCE.orderStatuses;
8771
- var SITE_TITLE = SOURCE.siteTitle;
8772
- var WC_ASSET_URL = SOURCE.wcAssetUrl;
8773
- /**
8774
- * Retrieves a setting value from the setting state.
8775
- *
8776
- * @param {string} name The identifier for the setting.
8777
- * @param {*} [fallback=false] The value to use as a fallback
8778
- * if the setting is not in the
8779
- * state.
8780
- * @param {Function} [filter=( val ) => val] A callback for filtering the
8781
- * value before it's returned.
8782
- * Receives both the found value
8783
- * (if it exists for the key) and
8784
- * the provided fallback arg.
8785
- *
8786
- * @return {*} The value present in the settings state for the given
8787
- * name.
8788
- */
8789
 
8790
- function getSetting(name) {
8791
- var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
8792
- var filter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (val) {
8793
- return val;
8794
- };
8795
 
8796
- if (mutableSources.includes(name)) {
8797
- throw new Error(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Mutable settings should be accessed via data store.'));
 
 
8798
  }
8799
 
8800
- var value = SOURCE.hasOwnProperty(name) ? SOURCE[name] : fallback;
8801
- return filter(value, fallback);
8802
- }
8803
- /**
8804
- * Sets a value to a property on the settings state.
8805
- *
8806
- * NOTE: This feature is to be removed in favour of data stores when a full migration
8807
- * is complete.
8808
- *
8809
- * @deprecated
8810
- *
8811
- * @param {string} name The setting property key for the
8812
- * setting being mutated.
8813
- * @param {*} value The value to set.
8814
- * @param {Function} [filter=( val ) => val] Allows for providing a callback
8815
- * to sanitize the setting (eg.
8816
- * ensure it's a number)
8817
- */
8818
 
8819
- function setSetting(name, value) {
8820
- var filter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (val) {
8821
- return val;
8822
- };
8823
 
8824
- if (mutableSources.includes(name)) {
8825
- throw new Error(Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__["__"])('Mutable settings should be mutated via data store.'));
8826
- }
 
8827
 
8828
- SOURCE[name] = filter(value);
8829
- }
8830
- /**
8831
- * Returns a string with the site's wp-admin URL appended. JS version of `admin_url`.
8832
- *
8833
- * @param {string} path Relative path.
8834
- * @return {string} Full admin URL.
8835
- */
 
 
 
 
 
 
8836
 
8837
- function getAdminLink(path) {
8838
- return (ADMIN_URL || '') + path;
8839
- }
8840
 
8841
- /***/ }),
8842
 
8843
- /***/ 26:
8844
- /***/ (function(module, exports) {
8845
 
8846
- (function() { module.exports = this["wp"]["apiFetch"]; }());
8847
 
8848
- /***/ }),
8849
 
8850
- /***/ 27:
8851
- /***/ (function(module, exports) {
8852
 
8853
- (function() { module.exports = this["wc"]["tracks"]; }());
8854
 
8855
- /***/ }),
8856
 
8857
- /***/ 277:
8858
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
8859
 
8860
- "use strict";
8861
- /* WEBPACK VAR INJECTION */(function(process) {/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
8862
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
8863
- /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
8864
- /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__);
8865
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6);
8866
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
8867
- /* harmony import */ var _wordpress_a11y__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(140);
8868
- /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2);
8869
- /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
8870
- /* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(278);
8871
- /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4);
8872
- /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_6__);
8873
 
8874
 
8875
  /**
@@ -8880,263 +12851,240 @@ function getAdminLink(path) {
8880
 
8881
 
8882
 
 
 
 
8883
 
8884
 
8885
- var NOTICE_TIMEOUT = 10000;
8886
- /** @typedef {import('@wordpress/element').WPElement} WPElement */
8887
-
8888
  /**
8889
- * Custom hook which announces the message with the given politeness, if a
8890
- * valid message is provided.
8891
  *
8892
- * @param {string|WPElement} [message] Message to announce.
8893
- * @param {'polite'|'assertive'} politeness Politeness to announce.
 
 
 
 
 
8894
  */
8895
 
8896
- function useSpokenMessage(message, politeness) {
8897
- var spokenMessage = typeof message === 'string' ? message : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["renderToString"])(message);
8898
- Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
8899
- if (spokenMessage) {
8900
- Object(_wordpress_a11y__WEBPACK_IMPORTED_MODULE_3__[/* speak */ "a"])(spokenMessage, politeness);
8901
- }
8902
- }, [spokenMessage, politeness]);
8903
- }
8904
-
8905
- function Snackbar(_ref, ref) {
8906
- var className = _ref.className,
8907
  children = _ref.children,
8908
- _ref$spokenMessage = _ref.spokenMessage,
8909
- spokenMessage = _ref$spokenMessage === void 0 ? children : _ref$spokenMessage,
8910
- _ref$politeness = _ref.politeness,
8911
- politeness = _ref$politeness === void 0 ? 'polite' : _ref$politeness,
8912
- _ref$actions = _ref.actions,
8913
- actions = _ref$actions === void 0 ? [] : _ref$actions,
8914
  _ref$onRemove = _ref.onRemove,
8915
- onRemove = _ref$onRemove === void 0 ? lodash__WEBPACK_IMPORTED_MODULE_1__["noop"] : _ref$onRemove,
8916
- _ref$icon = _ref.icon,
8917
- icon = _ref$icon === void 0 ? null : _ref$icon,
8918
- _ref$explicitDismiss = _ref.explicitDismiss,
8919
- explicitDismiss = _ref$explicitDismiss === void 0 ? false : _ref$explicitDismiss,
8920
- _ref$onDismiss = _ref.onDismiss,
8921
- onDismiss = _ref$onDismiss === void 0 ? null : _ref$onDismiss;
8922
- onDismiss = onDismiss || lodash__WEBPACK_IMPORTED_MODULE_1__["noop"];
8923
 
8924
- function dismissMe(event) {
8925
- if (event && event.preventDefault) {
8926
- event.preventDefault();
8927
- }
 
8928
 
8929
- onDismiss();
8930
- onRemove();
8931
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8932
 
8933
- function onActionClick(event, onClick) {
8934
- event.stopPropagation();
8935
- onRemove();
8936
 
8937
- if (onClick) {
8938
- onClick(event);
8939
- }
8940
- }
 
 
 
8941
 
8942
- useSpokenMessage(spokenMessage, politeness); // Only set up the timeout dismiss if we're not explicitly dismissing.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8943
 
8944
- Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
8945
- var timeoutHandle = setTimeout(function () {
8946
- if (!explicitDismiss) {
8947
- onDismiss();
8948
- onRemove();
8949
- }
8950
- }, NOTICE_TIMEOUT);
8951
- return function () {
8952
- return clearTimeout(timeoutHandle);
8953
- };
8954
- }, [explicitDismiss, onDismiss, onRemove]);
8955
- var classes = classnames__WEBPACK_IMPORTED_MODULE_2___default()(className, 'components-snackbar', {
8956
- 'components-snackbar-explicit-dismiss': !!explicitDismiss
 
 
 
 
 
 
 
8957
  });
 
8958
 
8959
- if (actions && actions.length > 1) {
8960
- // we need to inform developers that snackbar only accepts 1 action
8961
- typeof process !== "undefined" && process.env && "production" !== "production" ? Object(_wordpress_warning__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])('Snackbar can only have 1 action, use Notice if your message require many messages') : void 0; // return first element only while keeping it inside an array
8962
 
8963
- actions = [actions[0]];
8964
- }
 
8965
 
8966
- var snackbarContentClassnames = classnames__WEBPACK_IMPORTED_MODULE_2___default()('components-snackbar__content', {
8967
- 'components-snackbar__content-with-icon': !!icon
8968
- });
8969
- return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
8970
- ref: ref,
8971
- className: classes,
8972
- onClick: !explicitDismiss ? dismissMe : lodash__WEBPACK_IMPORTED_MODULE_1__["noop"],
8973
- tabIndex: "0",
8974
- role: !explicitDismiss ? 'button' : '',
8975
- onKeyPress: !explicitDismiss ? dismissMe : lodash__WEBPACK_IMPORTED_MODULE_1__["noop"],
8976
- "aria-label": !explicitDismiss ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Dismiss this notice') : ''
8977
- }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
8978
- className: snackbarContentClassnames
8979
- }, icon && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
8980
- className: "components-snackbar__icon"
8981
- }, icon), children, actions.map(function (_ref2, index) {
8982
- var label = _ref2.label,
8983
- _onClick = _ref2.onClick,
8984
- url = _ref2.url;
8985
- return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_6__["Button"], {
8986
- key: index,
8987
- href: url,
8988
- isTertiary: true,
8989
- onClick: function onClick(event) {
8990
- return onActionClick(event, _onClick);
8991
- },
8992
- className: "components-snackbar__action"
8993
- }, label);
8994
- }), explicitDismiss && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("span", {
8995
- role: "button",
8996
- "aria-label": "Dismiss this notice",
8997
- tabIndex: "0",
8998
- className: "components-snackbar__dismiss-button",
8999
- onClick: dismissMe,
9000
- onKeyPress: dismissMe
9001
- }, "\u2715")));
9002
  }
9003
 
9004
- /* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["forwardRef"])(Snackbar));
9005
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(125)))
 
 
 
9006
 
9007
- /***/ }),
9008
 
9009
- /***/ 278:
9010
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
9011
 
9012
- "use strict";
9013
- /* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return warning; });
9014
- function isDev() {
9015
- return typeof process !== 'undefined' && process.env && "production" !== 'production';
9016
- }
9017
  /**
9018
- * Shows a warning with `message` if environment is not `production`.
9019
- *
9020
- * @param {string} message Message to show in the warning.
9021
- *
9022
- * @example
9023
- * ```js
9024
- * import warning from '@wordpress/warning';
9025
- *
9026
- * function MyComponent( props ) {
9027
- * if ( ! props.title ) {
9028
- * warning( '`props.title` was not passed' );
9029
- * }
9030
- * ...
9031
- * }
9032
- * ```
9033
  */
9034
 
9035
 
9036
- function warning(message) {
9037
- if (!isDev()) {
9038
- return;
9039
- } // eslint-disable-next-line no-console
9040
-
9041
 
9042
- console.warn(message); // Throwing an error and catching it immediately to improve debugging
9043
- // A consumer can use 'pause on caught exceptions'
9044
- // https://github.com/facebook/react/issues/4216
9045
 
9046
- try {
9047
- throw Error(message);
9048
- } catch (x) {// do nothing
9049
- }
9050
- }
9051
- //# sourceMappingURL=index.js.map
9052
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(125)))
9053
 
9054
- /***/ }),
9055
 
9056
- /***/ 279:
9057
- /***/ (function(module, exports) {
9058
 
9059
- (function() { module.exports = this["wc"]["customerEffortScore"]; }());
 
 
9060
 
9061
- /***/ }),
 
9062
 
9063
- /***/ 286:
9064
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
 
9065
 
9066
- "use strict";
 
 
 
 
 
9067
 
9068
- // EXPORTS
9069
- __webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ customer_effort_score_tracks_container; });
 
 
 
 
 
 
 
 
9070
 
9071
- // UNUSED EXPORTS: CustomerEffortScoreTracks
 
 
 
 
9072
 
9073
- // NAMESPACE OBJECT: ./client/customer-effort-score-tracks/data/actions.js
9074
- var actions_namespaceObject = {};
9075
- __webpack_require__.r(actions_namespaceObject);
9076
- __webpack_require__.d(actions_namespaceObject, "setCesSurveyQueue", function() { return setCesSurveyQueue; });
9077
- __webpack_require__.d(actions_namespaceObject, "addCesSurvey", function() { return addCesSurvey; });
9078
- __webpack_require__.d(actions_namespaceObject, "addCesSurveyForAnalytics", function() { return addCesSurveyForAnalytics; });
 
9079
 
9080
- // NAMESPACE OBJECT: ./client/customer-effort-score-tracks/data/resolvers.js
9081
- var resolvers_namespaceObject = {};
9082
- __webpack_require__.r(resolvers_namespaceObject);
9083
- __webpack_require__.d(resolvers_namespaceObject, "getCesSurveyQueue", function() { return resolvers_getCesSurveyQueue; });
9084
 
9085
- // NAMESPACE OBJECT: ./client/customer-effort-score-tracks/data/selectors.js
9086
- var selectors_namespaceObject = {};
9087
- __webpack_require__.r(selectors_namespaceObject);
9088
- __webpack_require__.d(selectors_namespaceObject, "getCesSurveyQueue", function() { return selectors_getCesSurveyQueue; });
9089
 
9090
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
9091
- var toConsumableArray = __webpack_require__(19);
9092
- var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
9093
 
9094
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
9095
- var defineProperty = __webpack_require__(5);
9096
- var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
9097
 
9098
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
9099
- var slicedToArray = __webpack_require__(18);
9100
- var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
9101
 
9102
- // EXTERNAL MODULE: external {"this":["wp","element"]}
9103
- var external_this_wp_element_ = __webpack_require__(0);
9104
 
9105
- // EXTERNAL MODULE: ./node_modules/prop-types/index.js
9106
- var prop_types = __webpack_require__(1);
9107
- var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
9108
 
9109
- // EXTERNAL MODULE: external {"this":["wc","tracks"]}
9110
- var external_this_wc_tracks_ = __webpack_require__(27);
9111
 
9112
- // EXTERNAL MODULE: external {"this":["wc","customerEffortScore"]}
9113
- var external_this_wc_customerEffortScore_ = __webpack_require__(279);
9114
- var external_this_wc_customerEffortScore_default = /*#__PURE__*/__webpack_require__.n(external_this_wc_customerEffortScore_);
9115
 
9116
- // EXTERNAL MODULE: external {"this":["wp","compose"]}
9117
- var external_this_wp_compose_ = __webpack_require__(20);
9118
 
9119
- // EXTERNAL MODULE: external {"this":["wp","data"]}
9120
- var external_this_wp_data_ = __webpack_require__(11);
9121
 
9122
- // EXTERNAL MODULE: external {"this":["wc","data"]}
9123
- var external_this_wc_data_ = __webpack_require__(22);
9124
 
9125
- // EXTERNAL MODULE: external {"this":["wp","i18n"]}
9126
- var external_this_wp_i18n_ = __webpack_require__(2);
9127
 
9128
- // CONCATENATED MODULE: ./client/customer-effort-score-tracks/customer-effort-score-tracks.js
9129
 
9130
 
 
 
 
9131
 
9132
 
9133
 
9134
- 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; }
9135
 
9136
- 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; }
9137
 
9138
  /**
9139
- * External dependencies
9140
  */
9141
 
9142
 
@@ -9144,290 +13092,129 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
9144
 
9145
 
9146
 
 
 
 
 
 
9147
 
 
 
 
9148
 
9149
- var SHOWN_FOR_ACTIONS_OPTION_NAME = 'woocommerce_ces_shown_for_actions';
9150
- var ADMIN_INSTALL_TIMESTAMP_OPTION_NAME = 'woocommerce_admin_install_timestamp';
9151
- var ALLOW_TRACKING_OPTION_NAME = 'woocommerce_allow_tracking';
9152
- /**
9153
- * A CustomerEffortScore wrapper that uses tracks to track the selected
9154
- * customer effort score.
9155
- *
9156
- * @param {Object} props Component props.
9157
- * @param {string} props.action The action name sent to Tracks.
9158
- * @param {Object} props.trackProps Additional props sent to Tracks.
9159
- * @param {string} props.label The label displayed in the modal.
9160
- * @param {string} props.onSubmitLabel The label displayed upon survey submission.
9161
- * @param {Array} props.cesShownForActions The array of actions that the CES modal has been shown for.
9162
- * @param {boolean} props.allowTracking Whether tracking is allowed or not.
9163
- * @param {boolean} props.resolving Are values still being resolved.
9164
- * @param {number} props.storeAgeInWeeks The age of the store in weeks.
9165
- * @param {Function} props.updateOptions Function to update options.
9166
- * @param {Function} props.createNotice Function to create a snackbar.
9167
- */
9168
 
9169
- function CustomerEffortScoreTracks(_ref) {
9170
- var action = _ref.action,
9171
- trackProps = _ref.trackProps,
9172
- label = _ref.label,
9173
- _ref$onSubmitLabel = _ref.onSubmitLabel,
9174
- onSubmitLabel = _ref$onSubmitLabel === void 0 ? Object(external_this_wp_i18n_["__"])('Thank you for your feedback!', 'woocommerce-admin') : _ref$onSubmitLabel,
9175
- cesShownForActions = _ref.cesShownForActions,
9176
- allowTracking = _ref.allowTracking,
9177
- resolving = _ref.resolving,
9178
- storeAgeInWeeks = _ref.storeAgeInWeeks,
9179
- updateOptions = _ref.updateOptions,
9180
- createNotice = _ref.createNotice;
9181
 
9182
- var _useState = Object(external_this_wp_element_["useState"])(false),
9183
- _useState2 = slicedToArray_default()(_useState, 2),
9184
- modalShown = _useState2[0],
9185
- setModalShown = _useState2[1];
 
 
 
 
 
9186
 
9187
- if (resolving) {
9188
  return null;
9189
- } // Don't show if tracking is disallowed.
9190
 
 
 
 
 
 
 
 
 
 
 
 
9191
 
9192
- if (!allowTracking) {
9193
- return null;
9194
- } // We only want to return null early if the modal was already shown
9195
- // for this action *before* this component was initially instantiated.
9196
- //
9197
- // We want to make sure we still render CustomerEffortScore below
9198
- // (we don't want to return null early), if the modal was shown for this
9199
- // instantiation, so that the component doesn't go away while we are
9200
- // still showing it.
 
 
 
 
 
 
 
 
 
 
 
 
 
9201
 
 
 
 
 
9202
 
9203
- if (cesShownForActions.indexOf(action) !== -1 && !modalShown) {
9204
- return null;
9205
- }
9206
 
9207
- var onNoticeShown = function onNoticeShown() {
9208
- Object(external_this_wc_tracks_["recordEvent"])('ces_snackbar_view', _objectSpread({
9209
- action: action,
9210
- store_age: storeAgeInWeeks
9211
- }, trackProps));
9212
- };
9213
 
9214
- var addActionToShownOption = function addActionToShownOption() {
9215
- updateOptions(defineProperty_default()({}, SHOWN_FOR_ACTIONS_OPTION_NAME, [action].concat(toConsumableArray_default()(cesShownForActions))));
9216
- };
9217
 
9218
- var onNoticeDismissed = function onNoticeDismissed() {
9219
- Object(external_this_wc_tracks_["recordEvent"])('ces_snackbar_dismiss', _objectSpread({
9220
- action: action,
9221
- store_age: storeAgeInWeeks
9222
- }, trackProps));
9223
- addActionToShownOption();
9224
- };
9225
 
9226
- var onModalShown = function onModalShown() {
9227
- setModalShown(true);
9228
- Object(external_this_wc_tracks_["recordEvent"])('ces_view', _objectSpread({
9229
- action: action,
9230
- store_age: storeAgeInWeeks
9231
- }, trackProps));
9232
- addActionToShownOption();
9233
- };
9234
 
9235
- var recordScore = function recordScore(score, comments) {
9236
- Object(external_this_wc_tracks_["recordEvent"])('ces_feedback', _objectSpread({
9237
- action: action,
9238
- score: score,
9239
- comments: comments || '',
9240
- store_age: storeAgeInWeeks
9241
- }, trackProps));
9242
- createNotice('success', onSubmitLabel);
9243
- };
9244
 
9245
- return Object(external_this_wp_element_["createElement"])(external_this_wc_customerEffortScore_default.a, {
9246
- recordScoreCallback: recordScore,
9247
- label: label,
9248
- onNoticeShownCallback: onNoticeShown,
9249
- onNoticeDismissedCallback: onNoticeDismissed,
9250
- onModalShownCallback: onModalShown,
9251
- icon: Object(external_this_wp_element_["createElement"])("span", {
9252
- style: {
9253
- height: 21,
9254
- width: 21
9255
- },
9256
- role: "img",
9257
- "aria-label": Object(external_this_wp_i18n_["__"])('Pencil icon', 'woocommerce-admin')
9258
- }, "\u270F\uFE0F")
9259
- });
9260
- }
9261
 
9262
- CustomerEffortScoreTracks.propTypes = {
9263
- /**
9264
- * The action name sent to Tracks.
9265
- */
9266
- action: prop_types_default.a.string.isRequired,
9267
 
9268
- /**
9269
- * Additional props sent to Tracks.
9270
- */
9271
- trackProps: prop_types_default.a.object,
9272
 
9273
- /**
9274
- * The label displayed in the modal.
9275
- */
9276
- label: prop_types_default.a.string.isRequired,
9277
 
9278
- /**
9279
- * The label for the snackbar that appears upon survey submission.
9280
- */
9281
- onSubmitLabel: prop_types_default.a.string,
9282
 
9283
- /**
9284
- * The array of actions that the CES modal has been shown for.
9285
- */
9286
- cesShownForActions: prop_types_default.a.arrayOf(prop_types_default.a.string).isRequired,
9287
 
9288
- /**
9289
- * Whether tracking is allowed or not.
9290
- */
9291
- allowTracking: prop_types_default.a.bool,
9292
 
9293
- /**
9294
- * Whether props are still being resolved.
9295
- */
9296
- resolving: prop_types_default.a.bool.isRequired,
9297
 
9298
- /**
9299
- * The age of the store in weeks.
9300
- */
9301
- storeAgeInWeeks: prop_types_default.a.number,
9302
 
9303
- /**
9304
- * Function to update options.
9305
- */
9306
- updateOptions: prop_types_default.a.func,
 
 
 
 
 
 
 
9307
 
9308
- /**
9309
- * Function to create a snackbar
9310
- */
9311
- createNotice: prop_types_default.a.func
9312
- };
9313
 
9314
- function getStoreAgeInWeeks(adminInstallTimestamp) {
9315
- if (adminInstallTimestamp === 0) {
9316
- return null;
9317
- } // Date.now() is ms since Unix epoch, adminInstallTimestamp is in
9318
- // seconds since Unix epoch.
9319
 
9320
 
9321
- var storeAgeInMs = Date.now() - adminInstallTimestamp * 1000;
9322
- var storeAgeInWeeks = Math.round(storeAgeInMs / external_this_wc_data_["WEEK"]);
9323
- return storeAgeInWeeks;
9324
- }
9325
 
9326
- /* harmony default export */ var customer_effort_score_tracks = (Object(external_this_wp_compose_["compose"])(Object(external_this_wp_data_["withSelect"])(function (select) {
9327
- var _select = select(external_this_wc_data_["OPTIONS_STORE_NAME"]),
9328
- getOption = _select.getOption,
9329
- isResolving = _select.isResolving;
9330
 
9331
- var cesShownForActions = getOption(SHOWN_FOR_ACTIONS_OPTION_NAME) || [];
9332
- var adminInstallTimestamp = getOption(ADMIN_INSTALL_TIMESTAMP_OPTION_NAME) || 0;
9333
- var storeAgeInWeeks = getStoreAgeInWeeks(adminInstallTimestamp);
9334
- var allowTrackingOption = getOption(ALLOW_TRACKING_OPTION_NAME) || 'no';
9335
- var allowTracking = allowTrackingOption === 'yes';
9336
- var resolving = isResolving('getOption', [SHOWN_FOR_ACTIONS_OPTION_NAME]) || storeAgeInWeeks === null || isResolving('getOption', [ADMIN_INSTALL_TIMESTAMP_OPTION_NAME]) || isResolving('getOption', [ALLOW_TRACKING_OPTION_NAME]);
9337
- return {
9338
- cesShownForActions: cesShownForActions,
9339
- allowTracking: allowTracking,
9340
- storeAgeInWeeks: storeAgeInWeeks,
9341
- resolving: resolving
9342
- };
9343
- }), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
9344
- var _dispatch = dispatch(external_this_wc_data_["OPTIONS_STORE_NAME"]),
9345
- updateOptions = _dispatch.updateOptions;
9346
 
9347
- var _dispatch2 = dispatch('core/notices'),
9348
- createNotice = _dispatch2.createNotice;
9349
 
9350
- return {
9351
- updateOptions: updateOptions,
9352
- createNotice: createNotice
9353
- };
9354
- }))(CustomerEffortScoreTracks));
9355
- // EXTERNAL MODULE: ./client/customer-effort-score-tracks/data/constants.js
9356
- var constants = __webpack_require__(76);
9357
 
9358
- // EXTERNAL MODULE: external {"this":["wp","dataControls"]}
9359
- var external_this_wp_dataControls_ = __webpack_require__(17);
9360
 
9361
- // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/action-types.js
9362
- var TYPES = {
9363
- SET_CES_SURVEY_QUEUE: 'SET_CES_SURVEY_QUEUE',
9364
- ADD_CES_SURVEY: 'ADD_CES_SURVEY'
9365
- };
9366
- /* harmony default export */ var action_types = (TYPES);
9367
- // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/actions.js
9368
  /**
9369
  * External dependencies
9370
  */
9371
 
9372
- /**
9373
- * Internal dependencies
9374
- */
9375
 
9376
 
9377
- /**
9378
- * Initialize the state
9379
- *
9380
- * @param {Object} queue initial queue
9381
- */
9382
 
9383
- function setCesSurveyQueue(queue) {
9384
- return {
9385
- type: action_types.SET_CES_SURVEY_QUEUE,
9386
- queue: queue
9387
- };
9388
- }
9389
- /**
9390
- * Add a new CES track to the state.
9391
- *
9392
- * @param {string} action action name for the survey
9393
- * @param {string} label label for the snackback
9394
- * @param {string} pageNow value of window.pagenow
9395
- * @param {string} adminPage value of window.adminpage
9396
- * @param {string} onsubmit_label label for the snackback onsubmit
9397
- */
9398
 
9399
- function addCesSurvey(action, label) {
9400
- var pageNow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : window.pagenow;
9401
- var adminPage = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : window.adminpage;
9402
- var onsubmit_label = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : undefined;
9403
- return {
9404
- type: action_types.ADD_CES_SURVEY,
9405
- action: action,
9406
- label: label,
9407
- pageNow: pageNow,
9408
- adminPage: adminPage,
9409
- onsubmit_label: onsubmit_label
9410
- };
9411
- }
9412
- /**
9413
- * Add a new CES survey track for the pages in Analytics menu
9414
- */
9415
 
9416
- function addCesSurveyForAnalytics() {
9417
- return addCesSurvey('analytics_filtered', Object(external_this_wp_i18n_["__"])('How easy was it to filter your store analytics?', 'woocommerce-admin'), 'woocommerce_page_wc-admin', 'woocommerce_page_wc-admin');
9418
- }
9419
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js
9420
- var regenerator = __webpack_require__(8);
9421
- var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);
9422
 
9423
- // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/resolvers.js
9424
 
9425
 
9426
- var _marked = /*#__PURE__*/regenerator_default.a.mark(resolvers_getCesSurveyQueue);
9427
 
9428
- /**
9429
- * External dependencies
9430
- */
9431
 
9432
  /**
9433
  * Internal dependencies
@@ -9435,4721 +13222,6660 @@ var _marked = /*#__PURE__*/regenerator_default.a.mark(resolvers_getCesSurveyQueu
9435
 
9436
 
9437
 
9438
- function resolvers_getCesSurveyQueue() {
9439
- var response;
9440
- return regenerator_default.a.wrap(function getCesSurveyQueue$(_context) {
9441
- while (1) {
9442
- switch (_context.prev = _context.next) {
9443
- case 0:
9444
- _context.next = 2;
9445
- return Object(external_this_wp_dataControls_["apiFetch"])({
9446
- path: "".concat(constants["a" /* API_NAMESPACE */], "/options?options=").concat(constants["b" /* QUEUE_OPTION_NAME */])
9447
- });
9448
 
9449
- case 2:
9450
- response = _context.sent;
9451
 
9452
- if (!response) {
9453
- _context.next = 8;
9454
- break;
9455
- }
9456
 
9457
- _context.next = 6;
9458
- return setCesSurveyQueue(response[constants["b" /* QUEUE_OPTION_NAME */]] || []);
9459
 
9460
- case 6:
9461
- _context.next = 9;
9462
- break;
 
 
 
 
 
9463
 
9464
- case 8:
9465
- throw new Error();
9466
 
9467
- case 9:
9468
- case "end":
9469
- return _context.stop();
9470
- }
 
 
 
 
 
 
 
 
 
 
 
 
9471
  }
9472
- }, _marked);
9473
- }
9474
- // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/selectors.js
9475
- function selectors_getCesSurveyQueue(state) {
9476
- return state.queue;
9477
- }
9478
- // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/reducer.js
9479
 
 
 
9480
 
 
 
9481
 
9482
- 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; }
9483
 
9484
- 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; }
 
9485
 
9486
- /**
9487
- * Internal dependencies
9488
- */
9489
 
9490
- var DEFAULT_STATE = {
9491
- queue: []
9492
- };
 
 
 
 
 
 
 
9493
 
9494
- var reducer_reducer = function reducer() {
9495
- var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_STATE;
9496
- var action = arguments.length > 1 ? arguments[1] : undefined;
9497
 
9498
- switch (action.type) {
9499
- case action_types.SET_CES_SURVEY_QUEUE:
9500
- return reducer_objectSpread(reducer_objectSpread({}, state), {}, {
9501
- queue: action.queue
9502
- });
 
 
 
 
 
 
 
 
 
 
9503
 
9504
- case action_types.ADD_CES_SURVEY:
9505
- // Prevent duplicate
9506
- var hasDuplicate = state.queue.filter(function (track) {
9507
- return track.action === action.action;
9508
- });
9509
 
9510
- if (hasDuplicate.length) {
9511
- return state;
 
 
9512
  }
9513
 
9514
- var newTrack = {
9515
- action: action.action,
9516
- label: action.label,
9517
- pagenow: action.pageNow,
9518
- adminpage: action.adminPage,
9519
- onSubmitLabel: action.onSubmitLabel
9520
- };
9521
- return reducer_objectSpread(reducer_objectSpread({}, state), {}, {
9522
- queue: [].concat(toConsumableArray_default()(state.queue), [newTrack])
9523
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9524
 
9525
- default:
9526
- return state;
 
9527
  }
9528
- };
9529
 
9530
- /* harmony default export */ var data_reducer = (reducer_reducer);
9531
- // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/index.js
9532
- /**
9533
- * External dependencies
9534
- */
9535
 
 
 
 
 
 
 
9536
 
9537
- /**
9538
- * Internal dependencies
9539
- */
9540
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9541
 
 
9542
 
 
 
 
 
 
 
 
 
9543
 
 
9544
 
 
 
 
9545
 
9546
- /* harmony default export */ var data = (Object(external_this_wp_data_["registerStore"])(constants["c" /* STORE_KEY */], {
9547
- actions: actions_namespaceObject,
9548
- selectors: selectors_namespaceObject,
9549
- resolvers: resolvers_namespaceObject,
9550
- controls: external_this_wp_dataControls_["controls"],
9551
- reducer: data_reducer
9552
- }));
9553
- // CONCATENATED MODULE: ./client/customer-effort-score-tracks/customer-effort-score-tracks-container.js
9554
 
 
 
 
 
9555
 
9556
- /**
9557
- * External dependencies
9558
- */
9559
 
 
 
 
9560
 
 
 
 
 
 
9561
 
9562
 
9563
- /**
9564
- * Internal dependencies
9565
- */
 
9566
 
 
 
9567
 
 
 
 
 
 
 
 
9568
 
9569
 
9570
- /**
9571
- * Maps the queue of CES tracks surveys to CustomerEffortScoreTracks
9572
- * components. Note that generally there will only be a single survey per page
9573
- * however this is designed to be flexible if multiple surveys per page are
9574
- * added in the future.
9575
- *
9576
- * @param {Object} props Component props.
9577
- * @param {Array} props.queue The queue of surveys.
9578
- * @param {boolean} props.resolving Whether the queue is resolving.
9579
- * @param {Function} props.clearQueue Sets up clearing of the queue on the next page load.
9580
- */
9581
 
9582
- function CustomerEffortScoreTracksContainer(_ref) {
9583
- var queue = _ref.queue,
9584
- resolving = _ref.resolving,
9585
- clearQueue = _ref.clearQueue;
9586
 
9587
- if (resolving) {
9588
- return null;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9589
  }
 
9590
 
9591
- var queueForPage = queue.filter(function (item) {
9592
- return item.pagenow === window.pagenow && item.adminpage === window.adminpage;
9593
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9594
 
9595
- if (queueForPage.length) {
9596
- clearQueue();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9597
  }
 
 
 
 
 
 
 
 
 
 
 
9598
 
9599
- return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, queueForPage.map(function (item, index) {
9600
- return Object(external_this_wp_element_["createElement"])(customer_effort_score_tracks, {
9601
- key: index,
9602
- action: item.action,
9603
- label: item.label,
9604
- onSubmitLabel: item.onsubmit_label,
9605
- trackProps: item.props || {}
9606
- });
9607
- }));
9608
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9609
 
9610
- CustomerEffortScoreTracksContainer.propTypes = {
9611
- /**
9612
- * The queue of CES tracks surveys to display.
9613
- */
9614
- queue: prop_types_default.a.arrayOf(prop_types_default.a.object),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9615
 
9616
- /**
9617
- * If the queue option is being resolved.
9618
- */
9619
- resolving: prop_types_default.a.bool,
 
 
 
 
 
 
9620
 
9621
- /**
9622
- * Set up clearing the queue on the next page load.
9623
- */
9624
- clearQueue: prop_types_default.a.func
9625
  };
9626
- /* harmony default export */ var customer_effort_score_tracks_container = (Object(external_this_wp_compose_["compose"])(Object(external_this_wp_data_["withSelect"])(function (select) {
9627
- var _select = select(constants["c" /* STORE_KEY */]),
9628
- getCesSurveyQueue = _select.getCesSurveyQueue,
9629
- isResolving = _select.isResolving;
9630
 
9631
- var queue = getCesSurveyQueue();
9632
- var resolving = isResolving('getOption', [constants["b" /* QUEUE_OPTION_NAME */]]);
9633
- return {
9634
- queue: queue,
9635
- resolving: resolving
9636
- };
9637
- }), Object(external_this_wp_data_["withDispatch"])(function (dispatch) {
9638
- var _dispatch = dispatch(external_this_wc_data_["OPTIONS_STORE_NAME"]),
9639
- updateOptions = _dispatch.updateOptions;
9640
 
9641
- return {
9642
- clearQueue: function clearQueue() {
9643
- // This sets an option that should be used on the next page
9644
- // load to clear the CES tracks queue for the current page (see
9645
- // CustomerEffortScoreTracks.php) - clearing the queue
9646
- // directly puts this into an infinite loop which is picked
9647
- // up by React.
9648
- updateOptions({
9649
- woocommerce_clear_ces_tracks_queue_for_page: {
9650
- pagenow: window.pagenow,
9651
- adminpage: window.adminpage
9652
- }
9653
- });
9654
- }
9655
- };
9656
- }))(CustomerEffortScoreTracksContainer));
9657
- // CONCATENATED MODULE: ./client/customer-effort-score-tracks/index.js
9658
 
 
 
 
9659
 
 
 
 
9660
 
9661
- /***/ }),
 
 
 
 
9662
 
9663
- /***/ 29:
9664
- /***/ (function(module, exports) {
 
 
 
 
 
9665
 
9666
- (function() { module.exports = this["wc"]["date"]; }());
 
 
 
 
 
 
9667
 
9668
- /***/ }),
 
 
9669
 
9670
- /***/ 294:
9671
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
9672
 
9673
- "use strict";
9674
- __webpack_require__.r(__webpack_exports__);
9675
- /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
9676
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
9677
- /* harmony import */ var _wordpress_notices__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(469);
9678
- /* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(22);
9679
- /* harmony import */ var _woocommerce_data__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__);
9680
- /* harmony import */ var _stylesheets_index_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(296);
9681
- /* harmony import */ var _stylesheets_index_scss__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_stylesheets_index_scss__WEBPACK_IMPORTED_MODULE_3__);
9682
- /* harmony import */ var _layout__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(141);
9683
- /* harmony import */ var _customer_effort_score_tracks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(286);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9684
 
 
9685
 
9686
- /**
9687
- * External dependencies
9688
- */
9689
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9690
 
 
 
 
 
 
 
 
 
9691
 
9692
- /**
9693
- * Internal dependencies
9694
- */
 
 
 
 
 
9695
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9696
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9697
 
9698
- // Modify webpack pubilcPath at runtime based on location of WordPress Plugin.
9699
- // eslint-disable-next-line no-undef,camelcase
 
 
 
9700
 
9701
- __webpack_require__.p = global.wcAdminAssets.path;
9702
- var appRoot = document.getElementById('root');
9703
- var embeddedRoot = document.getElementById('woocommerce-embedded-root');
9704
- var settingsGroup = 'wc_admin';
9705
- var hydrateUser = window.wcSettings.currentUserData;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9706
 
9707
- if (appRoot) {
9708
- var HydratedPageLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__["withSettingsHydration"])(settingsGroup, window.wcSettings)(_layout__WEBPACK_IMPORTED_MODULE_4__[/* PageLayout */ "b"]);
9709
- var hydrateSettings = window.wcSettings.preloadSettings && window.wcSettings.preloadSettings.general;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9710
 
9711
- if (hydrateSettings) {
9712
- HydratedPageLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__["withSettingsHydration"])('general', {
9713
- general: window.wcSettings.preloadSettings.general
9714
- })(HydratedPageLayout);
9715
  }
 
9716
 
9717
- if (hydrateUser) {
9718
- HydratedPageLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__["withCurrentUserHydration"])(hydrateUser)(HydratedPageLayout);
 
 
 
 
 
 
 
 
 
 
 
 
9719
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9720
 
9721
- Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(HydratedPageLayout, null), appRoot);
9722
- } else if (embeddedRoot) {
9723
- var HydratedEmbedLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__["withSettingsHydration"])(settingsGroup, window.wcSettings)(_layout__WEBPACK_IMPORTED_MODULE_4__[/* EmbedLayout */ "a"]);
9724
-
9725
- if (hydrateUser) {
9726
- HydratedEmbedLayout = Object(_woocommerce_data__WEBPACK_IMPORTED_MODULE_2__["withCurrentUserHydration"])(hydrateUser)(HydratedEmbedLayout);
9727
- } // Render the header.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9728
 
 
 
 
 
 
 
 
 
 
 
 
 
9729
 
9730
- Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(HydratedEmbedLayout, null), embeddedRoot);
9731
- embeddedRoot.classList.remove('is-embed-loading'); // Render notices just above the WP content div.
 
9732
 
9733
- var wpBody = document.getElementById('wpbody-content');
9734
- var wrap = wpBody.querySelector('.wrap.woocommerce') || wpBody.querySelector('[class="wrap"]');
9735
- var noticeContainer = document.createElement('div');
9736
- Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["render"])(Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
9737
- className: "woocommerce-layout"
9738
- }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_layout__WEBPACK_IMPORTED_MODULE_4__[/* PrimaryLayout */ "c"], null)), wpBody.insertBefore(noticeContainer, wrap));
9739
- } // Render the CustomerEffortScoreTracksContainer only if
9740
- // the feature flag is enabled.
9741
 
 
 
 
9742
 
9743
- if (window.wcAdminFeatures && window.wcAdminFeatures['customer-effort-score-tracks'] === true) {
9744
- // Set up customer effort score survey.
9745
- (function () {
9746
- var root = appRoot || embeddedRoot;
9747
- 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));
9748
- })();
9749
- }
9750
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(84)))
9751
 
9752
- /***/ }),
 
 
 
9753
 
9754
- /***/ 296:
9755
- /***/ (function(module, exports, __webpack_require__) {
 
 
9756
 
9757
- // extracted by mini-css-extract-plugin
 
 
 
 
9758
 
9759
- /***/ }),
 
 
 
9760
 
9761
- /***/ 297:
9762
- /***/ (function(module, exports, __webpack_require__) {
 
9763
 
9764
- // extracted by mini-css-extract-plugin
 
 
 
9765
 
9766
- /***/ }),
 
 
9767
 
9768
- /***/ 298:
9769
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9770
 
9771
- // extracted by mini-css-extract-plugin
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9772
 
9773
- /***/ }),
9774
 
9775
- /***/ 299:
9776
- /***/ (function(module, exports, __webpack_require__) {
 
9777
 
9778
- // extracted by mini-css-extract-plugin
9779
 
9780
  /***/ }),
9781
-
9782
- /***/ 3:
 
 
 
 
9783
  /***/ (function(module, exports) {
9784
 
9785
- (function() { module.exports = this["lodash"]; }());
9786
 
9787
  /***/ }),
9788
-
9789
- /***/ 30:
9790
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
9791
 
9792
  "use strict";
9793
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Navigation; });
9794
- /* unused harmony export NavigationBackButton */
9795
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return NavigationGroup; });
9796
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return NavigationMenu; });
9797
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return NavigationItem; });
9798
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return Text; });
9799
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return useSlot; });
9800
- /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
9801
- /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_0__);
 
 
 
 
 
 
 
 
 
9802
  /**
9803
- * External dependencies
 
 
 
 
9804
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9805
 
9806
  /**
9807
- * Prioritize exports of non-experimental components over experimental.
9808
  */
 
 
 
 
 
9809
 
9810
- var Navigation = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["Navigation"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalNavigation"];
9811
- var NavigationBackButton = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["NavigationBackButton"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalNavigationBackButton"];
9812
- var NavigationGroup = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["NavigationGroup"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalNavigationGroup"];
9813
- var NavigationMenu = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["NavigationMenu"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalNavigationMenu"];
9814
- var NavigationItem = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["NavigationItem"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalNavigationItem"];
9815
- var Text = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["Text"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalText"];
9816
- var useSlot = _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["useSlot"] || _wordpress_components__WEBPACK_IMPORTED_MODULE_0__["__experimentalUseSlot"];
9817
-
9818
- /***/ }),
9819
-
9820
- /***/ 300:
9821
- /***/ (function(module, exports, __webpack_require__) {
9822
-
9823
- // extracted by mini-css-extract-plugin
9824
-
9825
- /***/ }),
9826
 
9827
- /***/ 301:
9828
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9829
 
9830
- // extracted by mini-css-extract-plugin
 
9831
 
9832
- /***/ }),
 
 
 
9833
 
9834
- /***/ 302:
9835
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
9836
 
9837
- // extracted by mini-css-extract-plugin
 
 
 
 
9838
 
9839
- /***/ }),
 
9840
 
9841
- /***/ 303:
9842
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9843
 
9844
- // extracted by mini-css-extract-plugin
 
 
 
 
 
9845
 
9846
- /***/ }),
 
 
 
 
9847
 
9848
- /***/ 304:
9849
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
 
 
 
9850
 
9851
- // extracted by mini-css-extract-plugin
9852
 
9853
  /***/ }),
9854
-
9855
- /***/ 305:
9856
  /***/ (function(module, exports, __webpack_require__) {
9857
 
9858
- var setPrototypeOf = __webpack_require__(72);
9859
 
9860
- function _inheritsLoose(subClass, superClass) {
9861
- subClass.prototype = Object.create(superClass.prototype);
9862
- subClass.prototype.constructor = subClass;
9863
- setPrototypeOf(subClass, superClass);
9864
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9865
 
9866
- module.exports = _inheritsLoose;
 
 
 
 
 
 
9867
 
9868
- /***/ }),
 
 
 
 
 
 
 
 
 
 
 
9869
 
9870
- /***/ 306:
9871
- /***/ (function(module, exports, __webpack_require__) {
9872
 
9873
- // extracted by mini-css-extract-plugin
 
 
 
 
 
 
 
9874
 
9875
- /***/ }),
 
 
9876
 
9877
- /***/ 307:
9878
- /***/ (function(module, exports) {
 
9879
 
9880
- module.exports = Array.isArray || function (arr) {
9881
- return Object.prototype.toString.call(arr) == '[object Array]';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9882
  };
9883
 
 
 
 
 
9884
 
9885
- /***/ }),
 
 
9886
 
9887
- /***/ 31:
9888
- /***/ (function(module, exports) {
 
 
 
 
 
 
 
 
 
 
 
 
 
9889
 
9890
- function _typeof(obj) {
9891
- "@babel/helpers - typeof";
 
 
 
 
 
 
 
 
 
 
 
 
 
9892
 
9893
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
9894
- module.exports = _typeof = function _typeof(obj) {
9895
- return typeof obj;
9896
- };
9897
- } else {
9898
- module.exports = _typeof = function _typeof(obj) {
9899
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
9900
- };
 
 
 
 
 
 
 
 
 
 
 
 
9901
  }
 
9902
 
9903
- return _typeof(obj);
9904
- }
9905
-
9906
- module.exports = _typeof;
9907
-
9908
- /***/ }),
9909
-
9910
- /***/ 32:
9911
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
9912
 
9913
- "use strict";
9914
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _extends; });
9915
- function _extends() {
9916
- _extends = Object.assign || function (target) {
9917
- for (var i = 1; i < arguments.length; i++) {
9918
- var source = arguments[i];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9919
 
9920
- for (var key in source) {
9921
- if (Object.prototype.hasOwnProperty.call(source, key)) {
9922
- target[key] = source[key];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9923
  }
9924
- }
 
9925
  }
 
 
9926
 
9927
- return target;
9928
- };
 
 
9929
 
9930
- return _extends.apply(this, arguments);
9931
- }
9932
 
9933
  /***/ }),
9934
-
9935
- /***/ 34:
9936
  /***/ (function(module, exports, __webpack_require__) {
9937
 
9938
- var objectWithoutPropertiesLoose = __webpack_require__(97);
 
9939
 
9940
- function _objectWithoutProperties(source, excluded) {
9941
- if (source == null) return {};
9942
- var target = objectWithoutPropertiesLoose(source, excluded);
9943
- var key, i;
 
 
9944
 
9945
- if (Object.getOwnPropertySymbols) {
9946
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
9947
 
9948
- for (i = 0; i < sourceSymbolKeys.length; i++) {
9949
- key = sourceSymbolKeys[i];
9950
- if (excluded.indexOf(key) >= 0) continue;
9951
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
9952
- target[key] = source[key];
9953
- }
9954
- }
9955
 
9956
- return target;
9957
- }
9958
 
9959
- module.exports = _objectWithoutProperties;
 
 
 
9960
 
9961
- /***/ }),
 
9962
 
9963
- /***/ 36:
9964
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9965
 
9966
- "use strict";
9967
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _defineProperty; });
9968
- function _defineProperty(obj, key, value) {
9969
- if (key in obj) {
9970
- Object.defineProperty(obj, key, {
9971
- value: value,
9972
- enumerable: true,
9973
- configurable: true,
9974
- writable: true
9975
- });
9976
- } else {
9977
- obj[key] = value;
9978
- }
9979
 
9980
- return obj;
9981
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9982
 
9983
- /***/ }),
9984
 
9985
- /***/ 37:
9986
- /***/ (function(module, exports) {
9987
 
9988
- function _arrayLikeToArray(arr, len) {
9989
- if (len == null || len > arr.length) len = arr.length;
 
 
 
9990
 
9991
- for (var i = 0, arr2 = new Array(len); i < len; i++) {
9992
- arr2[i] = arr[i];
9993
- }
 
 
 
 
 
 
 
 
 
 
 
9994
 
9995
- return arr2;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9996
  }
9997
 
9998
- module.exports = _arrayLikeToArray;
 
 
 
 
 
 
 
 
 
 
 
9999
 
10000
- /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
 
10001
 
10002
- /***/ 38:
10003
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
10004
 
10005
- "use strict";
 
 
 
 
 
 
 
 
10006
 
10007
- // EXPORTS
10008
- __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _inheritsLoose; });
10009
 
10010
- // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
10011
- function _setPrototypeOf(o, p) {
10012
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
10013
- o.__proto__ = p;
10014
- return o;
10015
- };
10016
 
10017
- return _setPrototypeOf(o, p);
10018
- }
10019
- // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js
 
 
10020
 
10021
- function _inheritsLoose(subClass, superClass) {
10022
- subClass.prototype = Object.create(superClass.prototype);
10023
- subClass.prototype.constructor = subClass;
10024
- _setPrototypeOf(subClass, superClass);
10025
- }
10026
 
10027
  /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
10028
 
10029
- /***/ 4:
10030
- /***/ (function(module, exports) {
 
 
 
 
10031
 
10032
- (function() { module.exports = this["wp"]["components"]; }());
10033
 
10034
  /***/ }),
10035
-
10036
- /***/ 40:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10037
  /***/ (function(module, exports, __webpack_require__) {
10038
 
10039
- var arrayLikeToArray = __webpack_require__(37);
10040
-
10041
- function _unsupportedIterableToArray(o, minLen) {
10042
- if (!o) return;
10043
- if (typeof o === "string") return arrayLikeToArray(o, minLen);
10044
- var n = Object.prototype.toString.call(o).slice(8, -1);
10045
- if (n === "Object" && o.constructor) n = o.constructor.name;
10046
- if (n === "Map" || n === "Set") return Array.from(o);
10047
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
10048
- }
10049
 
10050
- module.exports = _unsupportedIterableToArray;
10051
 
10052
- /***/ }),
10053
 
10054
- /***/ 41:
10055
- /***/ (function(module, exports) {
10056
 
10057
- (function() { module.exports = this["wp"]["htmlEntities"]; }());
 
 
 
 
 
10058
 
10059
- /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10060
 
10061
- /***/ 42:
10062
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
10063
 
10064
- "use strict";
10065
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutPropertiesLoose; });
10066
- function _objectWithoutPropertiesLoose(source, excluded) {
10067
- if (source == null) return {};
10068
- var target = {};
10069
- var sourceKeys = Object.keys(source);
10070
- var key, i;
10071
 
10072
- for (i = 0; i < sourceKeys.length; i++) {
10073
- key = sourceKeys[i];
10074
- if (excluded.indexOf(key) >= 0) continue;
10075
- target[key] = source[key];
 
 
10076
  }
10077
 
10078
- return target;
 
 
 
 
 
 
10079
  }
 
 
 
10080
 
10081
- /***/ }),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10082
 
10083
- /***/ 43:
10084
- /***/ (function(module, exports) {
10085
 
10086
- (function() { module.exports = this["wp"]["hooks"]; }());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10087
 
10088
- /***/ }),
 
10089
 
10090
- /***/ 44:
10091
- /***/ (function(module, exports) {
 
 
 
 
 
10092
 
10093
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
10094
- try {
10095
- var info = gen[key](arg);
10096
- var value = info.value;
10097
- } catch (error) {
10098
- reject(error);
10099
- return;
 
 
 
 
 
10100
  }
10101
 
10102
- if (info.done) {
10103
- resolve(value);
10104
- } else {
10105
- Promise.resolve(value).then(_next, _throw);
10106
- }
10107
  }
10108
 
10109
- function _asyncToGenerator(fn) {
10110
- return function () {
10111
- var self = this,
10112
- args = arguments;
10113
- return new Promise(function (resolve, reject) {
10114
- var gen = fn.apply(self, args);
 
10115
 
10116
- function _next(value) {
10117
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
10118
- }
10119
 
10120
- function _throw(err) {
10121
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
10122
- }
10123
 
10124
- _next(undefined);
10125
- });
10126
  };
10127
- }
10128
 
10129
- module.exports = _asyncToGenerator;
10130
 
10131
- /***/ }),
10132
 
10133
- /***/ 469:
10134
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
10135
 
10136
- "use strict";
 
 
 
10137
 
10138
- // NAMESPACE OBJECT: ./node_modules/@wordpress/notices/build-module/store/actions.js
10139
- var actions_namespaceObject = {};
10140
- __webpack_require__.r(actions_namespaceObject);
10141
- __webpack_require__.d(actions_namespaceObject, "createNotice", function() { return createNotice; });
10142
- __webpack_require__.d(actions_namespaceObject, "createSuccessNotice", function() { return createSuccessNotice; });
10143
- __webpack_require__.d(actions_namespaceObject, "createInfoNotice", function() { return createInfoNotice; });
10144
- __webpack_require__.d(actions_namespaceObject, "createErrorNotice", function() { return createErrorNotice; });
10145
- __webpack_require__.d(actions_namespaceObject, "createWarningNotice", function() { return createWarningNotice; });
10146
- __webpack_require__.d(actions_namespaceObject, "removeNotice", function() { return removeNotice; });
10147
-
10148
- // NAMESPACE OBJECT: ./node_modules/@wordpress/notices/build-module/store/selectors.js
10149
- var selectors_namespaceObject = {};
10150
- __webpack_require__.r(selectors_namespaceObject);
10151
- __webpack_require__.d(selectors_namespaceObject, "getNotices", function() { return getNotices; });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10152
 
10153
- // EXTERNAL MODULE: external {"this":["wp","data"]}
10154
- var external_this_wp_data_ = __webpack_require__(11);
10155
 
10156
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 3 modules
10157
- var toConsumableArray = __webpack_require__(82);
 
10158
 
10159
- // EXTERNAL MODULE: external "lodash"
10160
- var external_lodash_ = __webpack_require__(3);
10161
 
10162
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
10163
- var defineProperty = __webpack_require__(36);
 
 
 
10164
 
10165
- // CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/utils/on-sub-key.js
 
 
 
 
10166
 
 
 
10167
 
10168
- 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; }
10169
 
10170
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
 
 
 
10171
 
10172
- /**
10173
- * Higher-order reducer creator which creates a combined reducer object, keyed
10174
- * by a property on the action object.
10175
- *
10176
- * @param {string} actionProperty Action property by which to key object.
10177
- *
10178
- * @return {Function} Higher-order reducer.
10179
- */
10180
- var on_sub_key_onSubKey = function onSubKey(actionProperty) {
10181
- return function (reducer) {
10182
- return function () {
10183
- var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
10184
- var action = arguments.length > 1 ? arguments[1] : undefined;
10185
- // Retrieve subkey from action. Do not track if undefined; useful for cases
10186
- // where reducer is scoped by action shape.
10187
- var key = action[actionProperty];
10188
 
10189
- if (key === undefined) {
10190
- return state;
10191
- } // Avoid updating state if unchanged. Note that this also accounts for a
10192
- // reducer which returns undefined on a key which is not yet tracked.
 
10193
 
 
 
10194
 
10195
- var nextKeyState = reducer(state[key], action);
 
 
10196
 
10197
- if (nextKeyState === state[key]) {
10198
- return state;
10199
- }
10200
 
10201
- return _objectSpread({}, state, Object(defineProperty["a" /* default */])({}, key, nextKeyState));
10202
- };
 
 
 
10203
  };
 
 
 
 
 
 
 
10204
  };
10205
- /* harmony default export */ var on_sub_key = (on_sub_key_onSubKey);
10206
- //# sourceMappingURL=on-sub-key.js.map
10207
- // CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/reducer.js
10208
-
10209
-
10210
- /**
10211
- * External dependencies
10212
- */
10213
-
10214
- /**
10215
- * Internal dependencies
10216
- */
10217
-
10218
-
10219
- /**
10220
- * Reducer returning the next notices state. The notices state is an object
10221
- * where each key is a context, its value an array of notice objects.
10222
- *
10223
- * @param {Object} state Current state.
10224
- * @param {Object} action Dispatched action.
10225
- *
10226
- * @return {Object} Updated state.
10227
- */
10228
-
10229
- var notices = on_sub_key('context')(function () {
10230
- var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
10231
- var action = arguments.length > 1 ? arguments[1] : undefined;
10232
-
10233
- switch (action.type) {
10234
- case 'CREATE_NOTICE':
10235
- // Avoid duplicates on ID.
10236
- return [].concat(Object(toConsumableArray["a" /* default */])(Object(external_lodash_["reject"])(state, {
10237
- id: action.notice.id
10238
- })), [action.notice]);
10239
-
10240
- case 'REMOVE_NOTICE':
10241
- return Object(external_lodash_["reject"])(state, {
10242
- id: action.id
10243
- });
10244
- }
10245
 
10246
- return state;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10247
  });
10248
- /* harmony default export */ var store_reducer = (notices);
10249
- //# sourceMappingURL=reducer.js.map
10250
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js
10251
- var regenerator = __webpack_require__(8);
10252
- var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);
10253
 
10254
- // CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/constants.js
10255
- /**
10256
- * Default context to use for notice grouping when not otherwise specified. Its
10257
- * specific value doesn't hold much meaning, but it must be reasonably unique
10258
- * and, more importantly, referenced consistently in the store implementation.
10259
- *
10260
- * @type {string}
10261
- */
10262
- var DEFAULT_CONTEXT = 'global';
10263
  /**
10264
- * Default notice status.
10265
- *
10266
- * @type {string}
10267
  */
10268
 
10269
- var DEFAULT_STATUS = 'info';
10270
- //# sourceMappingURL=constants.js.map
10271
- // CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/actions.js
 
10272
 
 
 
10273
 
10274
- var _marked =
10275
- /*#__PURE__*/
10276
- regenerator_default.a.mark(createNotice);
 
 
 
10277
 
10278
- /**
10279
- * External dependencies
10280
- */
10281
 
10282
- /**
10283
- * Internal dependencies
10284
- */
10285
 
 
 
10286
 
10287
- /**
10288
- * @typedef {Object} WPNoticeAction Object describing a user action option associated with a notice.
10289
- *
10290
- * @property {string} label Message to use as action label.
10291
- * @property {?string} url Optional URL of resource if action incurs
10292
- * browser navigation.
10293
- * @property {?Function} onClick Optional function to invoke when action is
10294
- * triggered by user.
10295
- *
10296
- */
10297
 
10298
- /**
10299
- * Yields action objects used in signalling that a notice is to be created.
10300
- *
10301
- * @param {string} [status='info'] Notice status.
10302
- * @param {string} content Notice message.
10303
- * @param {Object} [options] Notice options.
10304
- * @param {string} [options.context='global'] Context under which to
10305
- * group notice.
10306
- * @param {string} [options.id] Identifier for notice.
10307
- * Automatically assigned
10308
- * if not specified.
10309
- * @param {boolean} [options.isDismissible=true] Whether the notice can
10310
- * be dismissed by user.
10311
- * @param {string} [options.type='default'] Type of notice, one of
10312
- * `default`, or `snackbar`.
10313
- * @param {boolean} [options.speak=true] Whether the notice
10314
- * content should be
10315
- * announced to screen
10316
- * readers.
10317
- * @param {Array<WPNoticeAction>} [options.actions] User actions to be
10318
- * presented with notice.
10319
- */
10320
-
10321
- function createNotice() {
10322
- var status,
10323
- content,
10324
- options,
10325
- _options$speak,
10326
- speak,
10327
- _options$isDismissibl,
10328
- isDismissible,
10329
- _options$context,
10330
- context,
10331
- _options$id,
10332
- id,
10333
- _options$actions,
10334
- actions,
10335
- _options$type,
10336
- type,
10337
- __unstableHTML,
10338
- _args = arguments;
10339
-
10340
- return regenerator_default.a.wrap(function createNotice$(_context) {
10341
- while (1) {
10342
- switch (_context.prev = _context.next) {
10343
- case 0:
10344
- status = _args.length > 0 && _args[0] !== undefined ? _args[0] : DEFAULT_STATUS;
10345
- content = _args.length > 1 ? _args[1] : undefined;
10346
- options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
10347
- _options$speak = options.speak, speak = _options$speak === void 0 ? true : _options$speak, _options$isDismissibl = options.isDismissible, isDismissible = _options$isDismissibl === void 0 ? true : _options$isDismissibl, _options$context = options.context, context = _options$context === void 0 ? DEFAULT_CONTEXT : _options$context, _options$id = options.id, id = _options$id === void 0 ? Object(external_lodash_["uniqueId"])(context) : _options$id, _options$actions = options.actions, actions = _options$actions === void 0 ? [] : _options$actions, _options$type = options.type, type = _options$type === void 0 ? 'default' : _options$type, __unstableHTML = options.__unstableHTML; // The supported value shape of content is currently limited to plain text
10348
- // strings. To avoid setting expectation that e.g. a WPElement could be
10349
- // supported, cast to a string.
10350
 
10351
- content = String(content);
 
10352
 
10353
- if (!speak) {
10354
- _context.next = 8;
10355
- break;
10356
- }
10357
 
10358
- _context.next = 8;
10359
- return {
10360
- type: 'SPEAK',
10361
- message: content,
10362
- ariaLive: type === 'snackbar' ? 'polite' : 'assertive'
10363
- };
10364
 
10365
- case 8:
10366
- _context.next = 10;
10367
- return {
10368
- type: 'CREATE_NOTICE',
10369
- context: context,
10370
- notice: {
10371
- id: id,
10372
- status: status,
10373
- content: content,
10374
- __unstableHTML: __unstableHTML,
10375
- isDismissible: isDismissible,
10376
- actions: actions,
10377
- type: type
10378
- }
10379
- };
10380
 
10381
- case 10:
10382
- case "end":
10383
- return _context.stop();
10384
- }
10385
- }
10386
- }, _marked);
10387
- }
10388
- /**
10389
- * Returns an action object used in signalling that a success notice is to be
10390
- * created. Refer to `createNotice` for options documentation.
10391
- *
10392
- * @see createNotice
10393
- *
10394
- * @param {string} content Notice message.
10395
- * @param {Object} [options] Optional notice options.
10396
- *
10397
- * @return {Object} Action object.
10398
- */
10399
 
10400
- function createSuccessNotice(content, options) {
10401
- return createNotice('success', content, options);
10402
- }
10403
- /**
10404
- * Returns an action object used in signalling that an info notice is to be
10405
- * created. Refer to `createNotice` for options documentation.
10406
- *
10407
- * @see createNotice
10408
- *
10409
- * @param {string} content Notice message.
10410
- * @param {Object} [options] Optional notice options.
10411
- *
10412
- * @return {Object} Action object.
10413
- */
10414
 
10415
- function createInfoNotice(content, options) {
10416
- return createNotice('info', content, options);
10417
- }
10418
- /**
10419
- * Returns an action object used in signalling that an error notice is to be
10420
- * created. Refer to `createNotice` for options documentation.
10421
- *
10422
- * @see createNotice
10423
- *
10424
- * @param {string} content Notice message.
10425
- * @param {Object} [options] Optional notice options.
10426
- *
10427
- * @return {Object} Action object.
10428
- */
10429
 
10430
- function createErrorNotice(content, options) {
10431
- return createNotice('error', content, options);
10432
- }
10433
- /**
10434
- * Returns an action object used in signalling that a warning notice is to be
10435
- * created. Refer to `createNotice` for options documentation.
10436
- *
10437
- * @see createNotice
10438
- *
10439
- * @param {string} content Notice message.
10440
- * @param {Object} [options] Optional notice options.
10441
- *
10442
- * @return {Object} Action object.
10443
- */
10444
 
10445
- function createWarningNotice(content, options) {
10446
- return createNotice('warning', content, options);
10447
- }
10448
- /**
10449
- * Returns an action object used in signalling that a notice is to be removed.
10450
- *
10451
- * @param {string} id Notice unique identifier.
10452
- * @param {string} [context='global'] Optional context (grouping) in which the notice is
10453
- * intended to appear. Defaults to default context.
10454
- *
10455
- * @return {Object} Action object.
10456
- */
10457
 
10458
- function removeNotice(id) {
10459
- var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_CONTEXT;
10460
- return {
10461
- type: 'REMOVE_NOTICE',
10462
- id: id,
10463
- context: context
10464
- };
10465
- }
10466
- //# sourceMappingURL=actions.js.map
10467
- // CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/selectors.js
10468
- /**
10469
- * Internal dependencies
10470
- */
10471
 
10472
- /** @typedef {import('./actions').WPNoticeAction} WPNoticeAction */
 
 
 
 
 
 
 
10473
 
10474
- /**
10475
- * The default empty set of notices to return when there are no notices
10476
- * assigned for a given notices context. This can occur if the getNotices
10477
- * selector is called without a notice ever having been created for the
10478
- * context. A shared value is used to ensure referential equality between
10479
- * sequential selector calls, since otherwise `[] !== []`.
10480
- *
10481
- * @type {Array}
10482
- */
10483
 
10484
- var DEFAULT_NOTICES = [];
10485
- /**
10486
- * @typedef {Object} WPNotice Notice object.
10487
- *
10488
- * @property {string} id Unique identifier of notice.
10489
- * @property {string} status Status of notice, one of `success`,
10490
- * `info`, `error`, or `warning`. Defaults
10491
- * to `info`.
10492
- * @property {string} content Notice message.
10493
- * @property {string} __unstableHTML Notice message as raw HTML. Intended to
10494
- * serve primarily for compatibility of
10495
- * server-rendered notices, and SHOULD NOT
10496
- * be used for notices. It is subject to
10497
- * removal without notice.
10498
- * @property {boolean} isDismissible Whether the notice can be dismissed by
10499
- * user. Defaults to `true`.
10500
- * @property {string} type Type of notice, one of `default`,
10501
- * or `snackbar`. Defaults to `default`.
10502
- * @property {boolean} speak Whether the notice content should be
10503
- * announced to screen readers. Defaults to
10504
- * `true`.
10505
- * @property {WPNoticeAction[]} actions User actions to present with notice.
10506
- *
10507
- */
10508
 
10509
- /**
10510
- * Returns all notices as an array, optionally for a given context. Defaults to
10511
- * the global context.
10512
- *
10513
- * @param {Object} state Notices state.
10514
- * @param {?string} context Optional grouping context.
10515
- *
10516
- * @return {WPNotice[]} Array of notices.
10517
- */
10518
 
10519
- function getNotices(state) {
10520
- var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_CONTEXT;
10521
- return state[context] || DEFAULT_NOTICES;
10522
- }
10523
- //# sourceMappingURL=selectors.js.map
10524
- // EXTERNAL MODULE: ./node_modules/@wordpress/a11y/build-module/index.js + 4 modules
10525
- var build_module = __webpack_require__(140);
10526
 
10527
- // CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/controls.js
10528
- /**
10529
- * WordPress dependencies
10530
- */
 
10531
 
10532
- /* harmony default export */ var controls = ({
10533
- SPEAK: function SPEAK(action) {
10534
- Object(build_module["a" /* speak */])(action.message, action.ariaLive || 'assertive');
10535
- }
10536
- });
10537
- //# sourceMappingURL=controls.js.map
10538
- // CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/store/index.js
10539
- /**
10540
- * WordPress dependencies
10541
- */
10542
 
10543
- /**
10544
- * Internal dependencies
10545
- */
 
 
10546
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10547
 
 
10548
 
 
10549
 
 
 
 
 
 
 
 
10550
 
10551
- /* harmony default export */ var store = (Object(external_this_wp_data_["registerStore"])('core/notices', {
10552
- reducer: store_reducer,
10553
- actions: actions_namespaceObject,
10554
- selectors: selectors_namespaceObject,
10555
- controls: controls
10556
- }));
10557
- //# sourceMappingURL=index.js.map
10558
- // CONCATENATED MODULE: ./node_modules/@wordpress/notices/build-module/index.js
10559
- /**
10560
- * Internal dependencies
10561
- */
10562
 
10563
- //# sourceMappingURL=index.js.map
 
 
 
 
 
 
10564
 
10565
- /***/ }),
10566
 
10567
- /***/ 47:
10568
- /***/ (function(module, exports) {
10569
 
10570
- (function() { module.exports = this["wc"]["components"]; }());
 
 
 
 
10571
 
10572
- /***/ }),
 
 
10573
 
10574
- /***/ 481:
10575
- /***/ (function(module, exports) {
10576
 
10577
- (function() { module.exports = this["wc"]["csvExport"]; }());
 
10578
 
10579
- /***/ }),
10580
 
10581
- /***/ 49:
10582
- /***/ (function(module, exports, __webpack_require__) {
10583
 
10584
- "use strict";
 
 
 
 
10585
 
10586
 
10587
- var stringify = __webpack_require__(90);
10588
- var parse = __webpack_require__(91);
10589
- var formats = __webpack_require__(52);
 
 
10590
 
10591
- module.exports = {
10592
- formats: formats,
10593
- parse: parse,
10594
- stringify: stringify
10595
  };
10596
 
 
 
10597
 
10598
- /***/ }),
 
 
 
 
10599
 
10600
- /***/ 497:
10601
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
10602
 
10603
- "use strict";
10604
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
10605
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
10606
- /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67);
10607
 
 
 
 
 
 
 
 
10608
 
10609
- /**
10610
- * WordPress dependencies
10611
- */
10612
 
10613
- var close = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__[/* SVG */ "b"], {
10614
- xmlns: "http://www.w3.org/2000/svg",
10615
- viewBox: "0 0 24 24"
10616
- }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__[/* Path */ "a"], {
10617
- 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"
10618
- }));
10619
- /* harmony default export */ __webpack_exports__["a"] = (close);
10620
- //# sourceMappingURL=close.js.map
10621
 
10622
- /***/ }),
 
 
10623
 
10624
- /***/ 5:
10625
- /***/ (function(module, exports) {
 
 
 
10626
 
10627
- function _defineProperty(obj, key, value) {
10628
- if (key in obj) {
10629
- Object.defineProperty(obj, key, {
10630
- value: value,
10631
- enumerable: true,
10632
- configurable: true,
10633
- writable: true
10634
- });
10635
- } else {
10636
- obj[key] = value;
10637
  }
10638
 
10639
- return obj;
 
 
 
 
 
 
 
 
 
 
 
 
10640
  }
10641
 
10642
- module.exports = _defineProperty;
 
 
 
10643
 
10644
- /***/ }),
 
10645
 
10646
- /***/ 50:
10647
- /***/ (function(module, exports) {
 
 
 
 
 
10648
 
10649
- (function() { module.exports = this["ReactDOM"]; }());
 
 
 
 
 
10650
 
10651
- /***/ }),
10652
 
10653
- /***/ 52:
10654
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
10655
 
10656
- "use strict";
 
 
10657
 
 
 
 
10658
 
10659
- var replace = String.prototype.replace;
10660
- var percentTwenties = /%20/g;
10661
 
10662
- var Format = {
10663
- RFC1738: 'RFC1738',
10664
- RFC3986: 'RFC3986'
10665
  };
10666
 
10667
- module.exports = {
10668
- 'default': Format.RFC3986,
10669
- formatters: {
10670
- RFC1738: function (value) {
10671
- return replace.call(value, percentTwenties, '+');
10672
- },
10673
- RFC3986: function (value) {
10674
- return String(value);
10675
- }
10676
- },
10677
- RFC1738: Format.RFC1738,
10678
- RFC3986: Format.RFC3986
 
 
 
 
 
 
 
 
 
 
 
 
 
10679
  };
10680
 
 
 
 
10681
 
10682
- /***/ }),
 
 
 
10683
 
10684
- /***/ 54:
10685
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 
 
 
 
10686
 
10687
- "use strict";
10688
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return domReady; });
10689
- /**
10690
- * @typedef {() => void} Callback
10691
- *
10692
- * TODO: Remove this typedef and inline `() => void` type.
10693
- *
10694
- * This typedef is used so that a descriptive type is provided in our
10695
- * automatically generated documentation.
10696
- *
10697
- * An in-line type `() => void` would be preferable, but the generated
10698
- * documentation is `null` in that case.
10699
- *
10700
- * @see https://github.com/WordPress/gutenberg/issues/18045
10701
- */
 
 
 
 
 
 
 
 
 
 
10702
 
10703
  /**
10704
- * Specify a function to execute when the DOM is fully loaded.
10705
- *
10706
- * @param {Callback} callback A function to execute after the DOM is ready.
10707
  *
10708
- * @example
10709
- * ```js
10710
- * import domReady from '@wordpress/dom-ready';
 
 
 
10711
  *
10712
- * domReady( function() {
10713
- * //do something after DOM loads.
10714
- * } );
10715
- * ```
10716
  *
10717
- * @return {void}
 
 
 
 
10718
  */
10719
- function domReady(callback) {
10720
- if (document.readyState === 'complete' || // DOMContentLoaded + Images/Styles/etc loaded, so we call directly.
10721
- document.readyState === 'interactive' // DOMContentLoaded fires at this point, so we call directly.
10722
- ) {
10723
- return void callback();
10724
- } // DOMContentLoaded has not fired yet, delay callback until then.
10725
-
10726
-
10727
- document.addEventListener('DOMContentLoaded', callback);
10728
  }
10729
- //# sourceMappingURL=index.js.map
10730
 
10731
- /***/ }),
 
 
 
10732
 
10733
- /***/ 55:
10734
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
10735
 
10736
- "use strict";
10737
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutProperties; });
10738
- /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42);
 
 
 
 
 
 
10739
 
10740
- function _objectWithoutProperties(source, excluded) {
10741
- if (source == null) return {};
10742
- var target = Object(_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(source, excluded);
10743
- var key, i;
10744
 
10745
- if (Object.getOwnPropertySymbols) {
10746
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
 
10747
 
10748
- for (i = 0; i < sourceSymbolKeys.length; i++) {
10749
- key = sourceSymbolKeys[i];
10750
- if (excluded.indexOf(key) >= 0) continue;
10751
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
10752
- target[key] = source[key];
10753
- }
10754
  }
10755
 
10756
- return target;
10757
- }
10758
-
10759
- /***/ }),
10760
-
10761
- /***/ 56:
10762
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
10763
 
10764
- "use strict";
10765
- var isProduction = "production" === 'production';
10766
- var prefix = 'Invariant failed';
10767
- function invariant(condition, message) {
10768
- if (condition) {
10769
- return;
10770
- }
10771
- if (isProduction) {
10772
- throw new Error(prefix);
10773
  }
10774
- throw new Error(prefix + ": " + (message || ''));
10775
- }
10776
 
10777
- /* harmony default export */ __webpack_exports__["a"] = (invariant);
 
 
 
10778
 
 
 
 
10779
 
10780
- /***/ }),
 
 
10781
 
10782
- /***/ 57:
10783
- /***/ (function(module, exports, __webpack_require__) {
 
10784
 
10785
- var arrayLikeToArray = __webpack_require__(37);
 
10786
 
10787
- function _arrayWithoutHoles(arr) {
10788
- if (Array.isArray(arr)) return arrayLikeToArray(arr);
10789
- }
 
10790
 
10791
- module.exports = _arrayWithoutHoles;
 
10792
 
10793
- /***/ }),
 
 
 
 
 
10794
 
10795
- /***/ 58:
10796
- /***/ (function(module, exports) {
10797
 
10798
- function _iterableToArray(iter) {
10799
- if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
10800
- }
10801
 
10802
- module.exports = _iterableToArray;
 
 
10803
 
10804
- /***/ }),
 
 
 
 
 
 
 
 
 
 
 
10805
 
10806
- /***/ 59:
10807
- /***/ (function(module, exports) {
 
 
 
10808
 
10809
- function _nonIterableSpread() {
10810
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
10811
- }
10812
 
10813
- module.exports = _nonIterableSpread;
 
10814
 
10815
- /***/ }),
10816
 
10817
- /***/ 6:
10818
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
10819
 
10820
- /*!
10821
- Copyright (c) 2017 Jed Watson.
10822
- Licensed under the MIT License (MIT), see
10823
- http://jedwatson.github.io/classnames
10824
- */
10825
- /* global define */
 
 
 
 
 
 
 
 
10826
 
10827
- (function () {
10828
- 'use strict';
 
10829
 
10830
- var hasOwn = {}.hasOwnProperty;
 
 
 
 
10831
 
10832
- function classNames () {
10833
- var classes = [];
10834
 
10835
- for (var i = 0; i < arguments.length; i++) {
10836
- var arg = arguments[i];
10837
- if (!arg) continue;
10838
 
10839
- var argType = typeof arg;
 
 
10840
 
10841
- if (argType === 'string' || argType === 'number') {
10842
- classes.push(arg);
10843
- } else if (Array.isArray(arg) && arg.length) {
10844
- var inner = classNames.apply(null, arg);
10845
- if (inner) {
10846
- classes.push(inner);
10847
- }
10848
- } else if (argType === 'object') {
10849
- for (var key in arg) {
10850
- if (hasOwn.call(arg, key) && arg[key]) {
10851
- classes.push(key);
10852
- }
10853
- }
10854
- }
10855
- }
10856
 
10857
- return classes.join(' ');
10858
- }
 
 
 
 
 
 
 
 
 
10859
 
10860
- if ( true && module.exports) {
10861
- classNames.default = classNames;
10862
- module.exports = classNames;
10863
- } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {
10864
- // register as 'classnames', consistent with npm package name
10865
- define('classnames', [], function () {
10866
- return classNames;
10867
- });
10868
- } else {
10869
- window.classNames = classNames;
10870
- }
10871
- }());
10872
 
 
 
 
 
 
10873
 
10874
- /***/ }),
 
 
 
 
 
 
10875
 
10876
- /***/ 60:
10877
- /***/ (function(module, exports) {
10878
 
10879
- function _arrayWithHoles(arr) {
10880
- if (Array.isArray(arr)) return arr;
10881
- }
10882
 
10883
- module.exports = _arrayWithHoles;
 
 
 
 
 
10884
 
10885
- /***/ }),
 
10886
 
10887
- /***/ 61:
10888
- /***/ (function(module, exports) {
 
10889
 
10890
- function _iterableToArrayLimit(arr, i) {
10891
- if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
10892
- var _arr = [];
10893
- var _n = true;
10894
- var _d = false;
10895
- var _e = undefined;
 
 
 
 
 
10896
 
10897
- try {
10898
- for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
10899
- _arr.push(_s.value);
10900
 
10901
- if (i && _arr.length === i) break;
10902
- }
10903
- } catch (err) {
10904
- _d = true;
10905
- _e = err;
10906
- } finally {
10907
- try {
10908
- if (!_n && _i["return"] != null) _i["return"]();
10909
- } finally {
10910
- if (_d) throw _e;
10911
- }
10912
- }
10913
 
10914
- return _arr;
10915
- }
 
10916
 
10917
- module.exports = _iterableToArrayLimit;
 
 
 
 
10918
 
10919
- /***/ }),
 
10920
 
10921
- /***/ 62:
10922
- /***/ (function(module, exports) {
10923
 
10924
- function _nonIterableRest() {
10925
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
10926
- }
10927
 
10928
- module.exports = _nonIterableRest;
 
 
 
 
 
 
 
 
 
 
 
10929
 
10930
- /***/ }),
 
10931
 
10932
- /***/ 67:
10933
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
10934
 
10935
- "use strict";
10936
- /* unused harmony export Circle */
10937
- /* unused harmony export G */
10938
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Path; });
10939
- /* unused harmony export Polygon */
10940
- /* unused harmony export Rect */
10941
- /* unused harmony export Defs */
10942
- /* unused harmony export RadialGradient */
10943
- /* unused harmony export LinearGradient */
10944
- /* unused harmony export Stop */
10945
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return SVG; });
10946
- /* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36);
10947
- /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55);
10948
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6);
10949
- /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
10950
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0);
10951
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);
10952
 
 
 
 
 
 
10953
 
 
 
10954
 
10955
- 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; }
 
10956
 
10957
- 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; }
 
10958
 
10959
- /**
10960
- * External dependencies
10961
- */
10962
 
10963
- /**
10964
- * WordPress dependencies
10965
- */
10966
 
 
10967
 
10968
- /** @typedef {{isPressed?: boolean} & import('react').ComponentPropsWithoutRef<'svg'>} SVGProps */
 
 
 
 
 
 
 
10969
 
10970
- /**
10971
- * @param {import('react').ComponentPropsWithoutRef<'circle'>} props
10972
- *
10973
- * @return {JSX.Element} Circle component
10974
- */
 
 
 
 
 
10975
 
10976
- var Circle = function Circle(props) {
10977
- return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])('circle', props);
10978
- };
10979
- /**
10980
- * @param {import('react').ComponentPropsWithoutRef<'g'>} props
10981
- *
10982
- * @return {JSX.Element} G component
10983
- */
10984
 
10985
- var G = function G(props) {
10986
- return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])('g', props);
10987
- };
10988
- /**
10989
- * @param {import('react').ComponentPropsWithoutRef<'path'>} props
10990
- *
10991
- * @return {JSX.Element} Path component
10992
- */
 
10993
 
10994
- var Path = function Path(props) {
10995
- return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])('path', props);
10996
- };
10997
- /**
10998
- * @param {import('react').ComponentPropsWithoutRef<'polygon'>} props
10999
- *
11000
- * @return {JSX.Element} Polygon component
11001
- */
11002
 
11003
- var Polygon = function Polygon(props) {
11004
- return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])('polygon', props);
11005
- };
11006
- /**
11007
- * @param {import('react').ComponentPropsWithoutRef<'rect'>} props
11008
- *
11009
- * @return {JSX.Element} Rect component
11010
- */
11011
 
11012
- var Rect = function Rect(props) {
11013
- return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])('rect', props);
11014
- };
11015
- /**
11016
- * @param {import('react').ComponentPropsWithoutRef<'defs'>} props
11017
- *
11018
- * @return {JSX.Element} Defs component
11019
- */
11020
 
11021
- var Defs = function Defs(props) {
11022
- return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])('defs', props);
11023
- };
11024
- /**
11025
- * @param {import('react').ComponentPropsWithoutRef<'radialGradient'>} props
11026
- *
11027
- * @return {JSX.Element} RadialGradient component
11028
- */
 
 
 
 
11029
 
11030
- var RadialGradient = function RadialGradient(props) {
11031
- return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])('radialGradient', props);
11032
- };
11033
- /**
11034
- * @param {import('react').ComponentPropsWithoutRef<'linearGradient'>} props
11035
- *
11036
- * @return {JSX.Element} LinearGradient component
11037
- */
11038
 
11039
- var LinearGradient = function LinearGradient(props) {
11040
- return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])('linearGradient', props);
11041
- };
11042
- /**
11043
- * @param {import('react').ComponentPropsWithoutRef<'stop'>} props
11044
- *
11045
- * @return {JSX.Element} Stop component
11046
- */
11047
 
11048
- var Stop = function Stop(props) {
11049
- return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])('stop', props);
11050
- };
11051
- /**
11052
- *
11053
- * @param {SVGProps} props isPressed indicates whether the SVG should appear as pressed.
11054
- * Other props will be passed through to svg component.
11055
- *
11056
- * @return {JSX.Element} Stop component
11057
- */
11058
 
11059
- var SVG = function SVG(_ref) {
11060
- var className = _ref.className,
11061
- isPressed = _ref.isPressed,
11062
- props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(_ref, ["className", "isPressed"]);
11063
 
11064
- var appliedProps = _objectSpread(_objectSpread({}, props), {}, {
11065
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()(className, {
11066
- 'is-pressed': isPressed
11067
- }) || undefined,
11068
- role: 'img',
11069
- 'aria-hidden': true,
11070
- focusable: false
11071
- }); // Disable reason: We need to have a way to render HTML tag for web.
11072
- // eslint-disable-next-line react/forbid-elements
11073
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11074
 
11075
- return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])("svg", appliedProps);
11076
- };
11077
- //# sourceMappingURL=index.js.map
 
 
 
 
 
11078
 
11079
- /***/ }),
 
11080
 
11081
- /***/ 68:
11082
- /***/ (function(module, exports, __webpack_require__) {
 
 
11083
 
11084
- /**
11085
- * Copyright (c) 2014-present, Facebook, Inc.
11086
- *
11087
- * This source code is licensed under the MIT license found in the
11088
- * LICENSE file in the root directory of this source tree.
11089
- */
11090
 
11091
- var runtime = (function (exports) {
11092
- "use strict";
 
11093
 
11094
- var Op = Object.prototype;
11095
- var hasOwn = Op.hasOwnProperty;
11096
- var undefined; // More compressible than void 0.
11097
- var $Symbol = typeof Symbol === "function" ? Symbol : {};
11098
- var iteratorSymbol = $Symbol.iterator || "@@iterator";
11099
- var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
11100
- var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
 
 
11101
 
11102
- function define(obj, key, value) {
11103
- Object.defineProperty(obj, key, {
11104
- value: value,
11105
- enumerable: true,
11106
- configurable: true,
11107
- writable: true
11108
- });
11109
- return obj[key];
11110
- }
11111
- try {
11112
- // IE 8 has a broken Object.defineProperty that only works on DOM objects.
11113
- define({}, "");
11114
- } catch (err) {
11115
- define = function(obj, key, value) {
11116
- return obj[key] = value;
11117
- };
11118
- }
11119
 
11120
- function wrap(innerFn, outerFn, self, tryLocsList) {
11121
- // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
11122
- var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
11123
- var generator = Object.create(protoGenerator.prototype);
11124
- var context = new Context(tryLocsList || []);
11125
 
11126
- // The ._invoke method unifies the implementations of the .next,
11127
- // .throw, and .return methods.
11128
- generator._invoke = makeInvokeMethod(innerFn, self, context);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11129
 
11130
- return generator;
11131
- }
11132
- exports.wrap = wrap;
 
 
 
 
 
 
 
11133
 
11134
- // Try/catch helper to minimize deoptimizations. Returns a completion
11135
- // record like context.tryEntries[i].completion. This interface could
11136
- // have been (and was previously) designed to take a closure to be
11137
- // invoked without arguments, but in all the cases we care about we
11138
- // already have an existing method we want to call, so there's no need
11139
- // to create a new function object. We can even get away with assuming
11140
- // the method takes exactly one argument, since that happens to be true
11141
- // in every case, so we don't have to touch the arguments object. The
11142
- // only additional allocation required is the completion record, which
11143
- // has a stable shape and so hopefully should be cheap to allocate.
11144
- function tryCatch(fn, obj, arg) {
11145
- try {
11146
- return { type: "normal", arg: fn.call(obj, arg) };
11147
- } catch (err) {
11148
- return { type: "throw", arg: err };
11149
- }
11150
- }
11151
 
11152
- var GenStateSuspendedStart = "suspendedStart";
11153
- var GenStateSuspendedYield = "suspendedYield";
11154
- var GenStateExecuting = "executing";
11155
- var GenStateCompleted = "completed";
11156
 
11157
- // Returning this object from the innerFn has the same effect as
11158
- // breaking out of the dispatch switch statement.
11159
- var ContinueSentinel = {};
 
 
11160
 
11161
- // Dummy constructor functions that we use as the .constructor and
11162
- // .constructor.prototype properties for functions that return Generator
11163
- // objects. For full spec compliance, you may wish to configure your
11164
- // minifier not to mangle the names of these two functions.
11165
- function Generator() {}
11166
- function GeneratorFunction() {}
11167
- function GeneratorFunctionPrototype() {}
11168
 
11169
- // This is a polyfill for %IteratorPrototype% for environments that
11170
- // don't natively support it.
11171
- var IteratorPrototype = {};
11172
- IteratorPrototype[iteratorSymbol] = function () {
11173
  return this;
11174
  };
11175
 
11176
- var getProto = Object.getPrototypeOf;
11177
- var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
11178
- if (NativeIteratorPrototype &&
11179
- NativeIteratorPrototype !== Op &&
11180
- hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
11181
- // This environment has a native %IteratorPrototype%; use it instead
11182
- // of the polyfill.
11183
- IteratorPrototype = NativeIteratorPrototype;
11184
- }
11185
-
11186
- var Gp = GeneratorFunctionPrototype.prototype =
11187
- Generator.prototype = Object.create(IteratorPrototype);
11188
- GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
11189
- GeneratorFunctionPrototype.constructor = GeneratorFunction;
11190
- GeneratorFunction.displayName = define(
11191
- GeneratorFunctionPrototype,
11192
- toStringTagSymbol,
11193
- "GeneratorFunction"
11194
- );
11195
 
11196
- // Helper for defining the .next, .throw, and .return methods of the
11197
- // Iterator interface in terms of a single ._invoke method.
11198
- function defineIteratorMethods(prototype) {
11199
- ["next", "throw", "return"].forEach(function(method) {
11200
- define(prototype, method, function(arg) {
11201
- return this._invoke(method, arg);
11202
- });
11203
- });
11204
- }
11205
 
11206
- exports.isGeneratorFunction = function(genFun) {
11207
- var ctor = typeof genFun === "function" && genFun.constructor;
11208
- return ctor
11209
- ? ctor === GeneratorFunction ||
11210
- // For the native GeneratorFunction constructor, the best we can
11211
- // do is to check its .name property.
11212
- (ctor.displayName || ctor.name) === "GeneratorFunction"
11213
- : false;
11214
- };
11215
 
11216
- exports.mark = function(genFun) {
11217
- if (Object.setPrototypeOf) {
11218
- Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
11219
- } else {
11220
- genFun.__proto__ = GeneratorFunctionPrototype;
11221
- define(genFun, toStringTagSymbol, "GeneratorFunction");
 
11222
  }
11223
- genFun.prototype = Object.create(Gp);
11224
- return genFun;
11225
- };
11226
 
11227
- // Within the body of any async function, `await x` is transformed to
11228
- // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
11229
- // `hasOwn.call(value, "__await")` to determine if the yielded value is
11230
- // meant to be awaited.
11231
- exports.awrap = function(arg) {
11232
- return { __await: arg };
11233
- };
 
 
 
 
 
11234
 
11235
- function AsyncIterator(generator, PromiseImpl) {
11236
- function invoke(method, arg, resolve, reject) {
11237
- var record = tryCatch(generator[method], generator, arg);
11238
- if (record.type === "throw") {
11239
- reject(record.arg);
11240
- } else {
11241
- var result = record.arg;
11242
- var value = result.value;
11243
- if (value &&
11244
- typeof value === "object" &&
11245
- hasOwn.call(value, "__await")) {
11246
- return PromiseImpl.resolve(value.__await).then(function(value) {
11247
- invoke("next", value, resolve, reject);
11248
- }, function(err) {
11249
- invoke("throw", err, resolve, reject);
11250
- });
11251
- }
11252
 
11253
- return PromiseImpl.resolve(value).then(function(unwrapped) {
11254
- // When a yielded Promise is resolved, its final value becomes
11255
- // the .value of the Promise<{value,done}> result for the
11256
- // current iteration.
11257
- result.value = unwrapped;
11258
- resolve(result);
11259
- }, function(error) {
11260
- // If a rejected Promise was yielded, throw the rejection back
11261
- // into the async generator function so it can be handled there.
11262
- return invoke("throw", error, resolve, reject);
 
 
11263
  });
11264
- }
11265
- }
11266
-
11267
- var previousPromise;
11268
 
11269
- function enqueue(method, arg) {
11270
- function callInvokeWithMethodAndArg() {
11271
- return new PromiseImpl(function(resolve, reject) {
11272
- invoke(method, arg, resolve, reject);
11273
- });
11274
  }
11275
 
11276
- return previousPromise =
11277
- // If enqueue has been called before, then we want to wait until
11278
- // all previous Promises have been resolved before calling invoke,
11279
- // so that results are always delivered in the correct order. If
11280
- // enqueue has not been called before, then it is important to
11281
- // call invoke immediately, without waiting on a callback to fire,
11282
- // so that the async generator function has the opportunity to do
11283
- // any necessary setup in a predictable way. This predictability
11284
- // is why the Promise constructor synchronously invokes its
11285
- // executor callback, and why async functions synchronously
11286
- // execute code before the first await. Since we implement simple
11287
- // async functions in terms of async generators, it is especially
11288
- // important to get this right, even though it requires care.
11289
- previousPromise ? previousPromise.then(
11290
- callInvokeWithMethodAndArg,
11291
- // Avoid propagating failures to Promises returned by later
11292
- // invocations of the iterator.
11293
- callInvokeWithMethodAndArg
11294
- ) : callInvokeWithMethodAndArg();
11295
- }
11296
-
11297
- // Define the unified helper method that is used to implement .next,
11298
- // .throw, and .return (see defineIteratorMethods).
11299
- this._invoke = enqueue;
11300
- }
11301
-
11302
- defineIteratorMethods(AsyncIterator.prototype);
11303
- AsyncIterator.prototype[asyncIteratorSymbol] = function () {
11304
- return this;
11305
- };
11306
- exports.AsyncIterator = AsyncIterator;
11307
-
11308
- // Note that simple async functions are implemented on top of
11309
- // AsyncIterator objects; they just return a Promise for the value of
11310
- // the final result produced by the iterator.
11311
- exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
11312
- if (PromiseImpl === void 0) PromiseImpl = Promise;
11313
-
11314
- var iter = new AsyncIterator(
11315
- wrap(innerFn, outerFn, self, tryLocsList),
11316
- PromiseImpl
11317
- );
11318
-
11319
- return exports.isGeneratorFunction(outerFn)
11320
- ? iter // If outerFn is a generator, return the full iterator.
11321
- : iter.next().then(function(result) {
11322
- return result.done ? result.value : iter.next();
11323
- });
11324
- };
11325
 
11326
- function makeInvokeMethod(innerFn, self, context) {
11327
- var state = GenStateSuspendedStart;
 
 
 
 
 
 
11328
 
11329
- return function invoke(method, arg) {
11330
- if (state === GenStateExecuting) {
11331
- throw new Error("Generator is already running");
11332
- }
 
 
 
11333
 
11334
- if (state === GenStateCompleted) {
11335
- if (method === "throw") {
11336
- throw arg;
11337
- }
 
 
 
11338
 
11339
- // Be forgiving, per 25.3.3.3.3 of the spec:
11340
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
11341
- return doneResult();
11342
- }
 
 
 
 
 
11343
 
11344
- context.method = method;
11345
- context.arg = arg;
 
 
11346
 
11347
- while (true) {
11348
- var delegate = context.delegate;
11349
- if (delegate) {
11350
- var delegateResult = maybeInvokeDelegate(delegate, context);
11351
- if (delegateResult) {
11352
- if (delegateResult === ContinueSentinel) continue;
11353
- return delegateResult;
11354
- }
11355
- }
11356
 
11357
- if (context.method === "next") {
11358
- // Setting context._sent for legacy support of Babel's
11359
- // function.sent implementation.
11360
- context.sent = context._sent = context.arg;
11361
 
11362
- } else if (context.method === "throw") {
11363
- if (state === GenStateSuspendedStart) {
11364
- state = GenStateCompleted;
11365
- throw context.arg;
11366
- }
11367
 
11368
- context.dispatchException(context.arg);
 
 
 
11369
 
11370
- } else if (context.method === "return") {
11371
- context.abrupt("return", context.arg);
11372
- }
 
 
11373
 
11374
- state = GenStateExecuting;
 
 
 
 
 
 
 
 
 
 
 
 
11375
 
11376
- var record = tryCatch(innerFn, self, context);
11377
- if (record.type === "normal") {
11378
- // If an exception is thrown from innerFn, we leave state ===
11379
- // GenStateExecuting and loop back for another invocation.
11380
- state = context.done
11381
- ? GenStateCompleted
11382
- : GenStateSuspendedYield;
11383
 
11384
- if (record.arg === ContinueSentinel) {
11385
- continue;
 
 
 
 
 
 
 
 
11386
  }
11387
-
11388
- return {
11389
- value: record.arg,
11390
- done: context.done
11391
- };
11392
-
11393
- } else if (record.type === "throw") {
11394
- state = GenStateCompleted;
11395
- // Dispatch the exception by looping back around to the
11396
- // context.dispatchException(context.arg) call above.
11397
- context.method = "throw";
11398
- context.arg = record.arg;
11399
- }
11400
- }
11401
  };
11402
- }
11403
 
11404
- // Call delegate.iterator[context.method](context.arg) and handle the
11405
- // result, either by returning a { value, done } result from the
11406
- // delegate iterator, or by modifying context.method and context.arg,
11407
- // setting context.delegate to null, and returning the ContinueSentinel.
11408
- function maybeInvokeDelegate(delegate, context) {
11409
- var method = delegate.iterator[context.method];
11410
- if (method === undefined) {
11411
- // A .throw or .return when the delegate iterator has no .throw
11412
- // method always terminates the yield* loop.
11413
- context.delegate = null;
11414
-
11415
- if (context.method === "throw") {
11416
- // Note: ["return"] must be used for ES3 parsing compatibility.
11417
- if (delegate.iterator["return"]) {
11418
- // If the delegate iterator has a return method, give it a
11419
- // chance to clean up.
11420
- context.method = "return";
11421
- context.arg = undefined;
11422
- maybeInvokeDelegate(delegate, context);
11423
-
11424
- if (context.method === "throw") {
11425
- // If maybeInvokeDelegate(context) changed context.method from
11426
- // "return" to "throw", let that override the TypeError below.
11427
- return ContinueSentinel;
11428
- }
11429
- }
11430
 
11431
- context.method = "throw";
11432
- context.arg = new TypeError(
11433
- "The iterator does not provide a 'throw' method");
11434
- }
 
11435
 
11436
- return ContinueSentinel;
11437
- }
 
 
 
 
 
 
 
11438
 
11439
- var record = tryCatch(method, delegate.iterator, context.arg);
 
 
11440
 
11441
- if (record.type === "throw") {
11442
- context.method = "throw";
11443
- context.arg = record.arg;
11444
- context.delegate = null;
11445
- return ContinueSentinel;
11446
- }
 
11447
 
11448
- var info = record.arg;
 
 
 
 
 
11449
 
11450
- if (! info) {
11451
- context.method = "throw";
11452
- context.arg = new TypeError("iterator result is not an object");
11453
- context.delegate = null;
11454
- return ContinueSentinel;
11455
  }
 
11456
 
11457
- if (info.done) {
11458
- // Assign the result of the finished delegate to the temporary
11459
- // variable specified by delegate.resultName (see delegateYield).
11460
- context[delegate.resultName] = info.value;
 
 
 
 
 
 
 
 
 
 
 
 
 
11461
 
11462
- // Resume execution at the desired location (see delegateYield).
11463
- context.next = delegate.nextLoc;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11464
 
11465
- // If context.method was "throw" but the delegate handled the
11466
- // exception, let the outer generator proceed normally. If
11467
- // context.method was "next", forget context.arg since it has been
11468
- // "consumed" by the delegate iterator. If context.method was
11469
- // "return", allow the original .return call to continue in the
11470
- // outer generator.
11471
- if (context.method !== "return") {
11472
- context.method = "next";
11473
- context.arg = undefined;
11474
  }
11475
 
11476
- } else {
11477
- // Re-yield the result returned by the delegate method.
11478
- return info;
11479
- }
11480
-
11481
- // The delegate iterator is finished, so forget it and continue with
11482
- // the outer generator.
11483
- context.delegate = null;
11484
- return ContinueSentinel;
11485
- }
11486
 
11487
- // Define Generator.prototype.{next,throw,return} in terms of the
11488
- // unified ._invoke helper method.
11489
- defineIteratorMethods(Gp);
11490
 
11491
- define(Gp, toStringTagSymbol, "Generator");
 
 
 
 
 
 
 
 
 
 
11492
 
11493
- // A Generator should always return itself as the iterator object when the
11494
- // @@iterator function is called on it. Some browsers' implementations of the
11495
- // iterator prototype chain incorrectly implement this, causing the Generator
11496
- // object to not be returned from this call. This ensures that doesn't happen.
11497
- // See https://github.com/facebook/regenerator/issues/274 for more details.
11498
- Gp[iteratorSymbol] = function() {
11499
- return this;
11500
- };
11501
 
11502
- Gp.toString = function() {
11503
- return "[object Generator]";
11504
- };
 
 
 
 
 
 
 
 
 
11505
 
11506
- function pushTryEntry(locs) {
11507
- var entry = { tryLoc: locs[0] };
11508
 
11509
- if (1 in locs) {
11510
- entry.catchLoc = locs[1];
11511
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11512
 
11513
- if (2 in locs) {
11514
- entry.finallyLoc = locs[2];
11515
- entry.afterLoc = locs[3];
11516
- }
11517
 
11518
- this.tryEntries.push(entry);
 
 
11519
  }
11520
 
11521
- function resetTryEntry(entry) {
11522
- var record = entry.completion || {};
11523
- record.type = "normal";
11524
- delete record.arg;
11525
- entry.completion = record;
11526
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11527
 
11528
- function Context(tryLocsList) {
11529
- // The root entry object (effectively a try statement without a catch
11530
- // or a finally block) gives us a place to store values thrown from
11531
- // locations where there is no enclosing try statement.
11532
- this.tryEntries = [{ tryLoc: "root" }];
11533
- tryLocsList.forEach(pushTryEntry, this);
11534
- this.reset(true);
11535
- }
11536
 
11537
- exports.keys = function(object) {
11538
- var keys = [];
11539
- for (var key in object) {
11540
- keys.push(key);
11541
- }
11542
- keys.reverse();
11543
-
11544
- // Rather than returning an object with a next method, we keep
11545
- // things simple and return the next function itself.
11546
- return function next() {
11547
- while (keys.length) {
11548
- var key = keys.pop();
11549
- if (key in object) {
11550
- next.value = key;
11551
- next.done = false;
11552
- return next;
11553
- }
11554
- }
11555
 
11556
- // To avoid creating an additional object, we just hang the .value
11557
- // and .done properties off the next function object itself. This
11558
- // also ensures that the minifier will not anonymize the function.
11559
- next.done = true;
11560
- return next;
11561
  };
11562
- };
11563
 
11564
- function values(iterable) {
11565
- if (iterable) {
11566
- var iteratorMethod = iterable[iteratorSymbol];
11567
- if (iteratorMethod) {
11568
- return iteratorMethod.call(iterable);
11569
- }
11570
 
11571
- if (typeof iterable.next === "function") {
11572
- return iterable;
11573
- }
11574
 
11575
- if (!isNaN(iterable.length)) {
11576
- var i = -1, next = function next() {
11577
- while (++i < iterable.length) {
11578
- if (hasOwn.call(iterable, i)) {
11579
- next.value = iterable[i];
11580
- next.done = false;
11581
- return next;
11582
- }
11583
- }
11584
 
11585
- next.value = undefined;
11586
- next.done = true;
11587
 
11588
- return next;
11589
- };
11590
 
11591
- return next.next = next;
11592
- }
11593
- }
 
11594
 
11595
- // Return an iterator with no values.
11596
- return { next: doneResult };
11597
- }
11598
- exports.values = values;
 
 
 
 
 
 
 
 
 
 
11599
 
11600
- function doneResult() {
11601
- return { value: undefined, done: true };
11602
- }
11603
 
11604
- Context.prototype = {
11605
- constructor: Context,
11606
 
11607
- reset: function(skipTempReset) {
11608
- this.prev = 0;
11609
- this.next = 0;
11610
- // Resetting context._sent for legacy support of Babel's
11611
- // function.sent implementation.
11612
- this.sent = this._sent = undefined;
11613
- this.done = false;
11614
- this.delegate = null;
11615
 
11616
- this.method = "next";
11617
- this.arg = undefined;
 
 
 
 
 
 
 
 
 
 
 
 
 
11618
 
11619
- this.tryEntries.forEach(resetTryEntry);
 
11620
 
11621
- if (!skipTempReset) {
11622
- for (var name in this) {
11623
- // Not sure about the optimal order of these conditions:
11624
- if (name.charAt(0) === "t" &&
11625
- hasOwn.call(this, name) &&
11626
- !isNaN(+name.slice(1))) {
11627
- this[name] = undefined;
11628
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11629
  }
11630
- }
11631
- },
11632
-
11633
- stop: function() {
11634
- this.done = true;
11635
-
11636
- var rootEntry = this.tryEntries[0];
11637
- var rootRecord = rootEntry.completion;
11638
- if (rootRecord.type === "throw") {
11639
- throw rootRecord.arg;
11640
- }
11641
 
11642
- return this.rval;
11643
- },
 
 
11644
 
11645
- dispatchException: function(exception) {
11646
- if (this.done) {
11647
- throw exception;
11648
- }
 
 
 
 
 
 
 
 
 
 
 
11649
 
11650
- var context = this;
11651
- function handle(loc, caught) {
11652
- record.type = "throw";
11653
- record.arg = exception;
11654
- context.next = loc;
11655
-
11656
- if (caught) {
11657
- // If the dispatched exception was caught by a catch block,
11658
- // then let that catch block handle the exception normally.
11659
- context.method = "next";
11660
- context.arg = undefined;
 
 
 
 
11661
  }
 
 
11662
 
11663
- return !! caught;
11664
- }
 
 
11665
 
11666
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
11667
- var entry = this.tryEntries[i];
11668
- var record = entry.completion;
 
11669
 
11670
- if (entry.tryLoc === "root") {
11671
- // Exception thrown outside of any try block that could handle
11672
- // it, so set the completion value of the entire function to
11673
- // throw the exception.
11674
- return handle("end");
11675
- }
11676
 
11677
- if (entry.tryLoc <= this.prev) {
11678
- var hasCatch = hasOwn.call(entry, "catchLoc");
11679
- var hasFinally = hasOwn.call(entry, "finallyLoc");
 
 
 
 
 
 
 
 
 
11680
 
11681
- if (hasCatch && hasFinally) {
11682
- if (this.prev < entry.catchLoc) {
11683
- return handle(entry.catchLoc, true);
11684
- } else if (this.prev < entry.finallyLoc) {
11685
- return handle(entry.finallyLoc);
11686
- }
11687
 
11688
- } else if (hasCatch) {
11689
- if (this.prev < entry.catchLoc) {
11690
- return handle(entry.catchLoc, true);
11691
- }
11692
 
11693
- } else if (hasFinally) {
11694
- if (this.prev < entry.finallyLoc) {
11695
- return handle(entry.finallyLoc);
11696
- }
11697
 
11698
- } else {
11699
- throw new Error("try statement without catch or finally");
11700
- }
11701
- }
11702
- }
11703
- },
11704
 
11705
- abrupt: function(type, arg) {
11706
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
11707
- var entry = this.tryEntries[i];
11708
- if (entry.tryLoc <= this.prev &&
11709
- hasOwn.call(entry, "finallyLoc") &&
11710
- this.prev < entry.finallyLoc) {
11711
- var finallyEntry = entry;
11712
- break;
11713
- }
11714
- }
11715
 
11716
- if (finallyEntry &&
11717
- (type === "break" ||
11718
- type === "continue") &&
11719
- finallyEntry.tryLoc <= arg &&
11720
- arg <= finallyEntry.finallyLoc) {
11721
- // Ignore the finally entry if control is not jumping to a
11722
- // location outside the try/catch block.
11723
- finallyEntry = null;
11724
- }
11725
 
11726
- var record = finallyEntry ? finallyEntry.completion : {};
11727
- record.type = type;
11728
- record.arg = arg;
11729
 
11730
- if (finallyEntry) {
11731
- this.method = "next";
11732
- this.next = finallyEntry.finallyLoc;
11733
- return ContinueSentinel;
11734
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11735
 
11736
- return this.complete(record);
11737
- },
 
11738
 
11739
- complete: function(record, afterLoc) {
11740
- if (record.type === "throw") {
11741
- throw record.arg;
11742
- }
11743
 
11744
- if (record.type === "break" ||
11745
- record.type === "continue") {
11746
- this.next = record.arg;
11747
- } else if (record.type === "return") {
11748
- this.rval = this.arg = record.arg;
11749
- this.method = "return";
11750
- this.next = "end";
11751
- } else if (record.type === "normal" && afterLoc) {
11752
- this.next = afterLoc;
11753
- }
11754
 
11755
- return ContinueSentinel;
11756
- },
 
 
 
 
 
 
11757
 
11758
- finish: function(finallyLoc) {
11759
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
11760
- var entry = this.tryEntries[i];
11761
- if (entry.finallyLoc === finallyLoc) {
11762
- this.complete(entry.completion, entry.afterLoc);
11763
- resetTryEntry(entry);
11764
- return ContinueSentinel;
11765
- }
11766
- }
11767
- },
11768
 
11769
- "catch": function(tryLoc) {
11770
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
11771
- var entry = this.tryEntries[i];
11772
- if (entry.tryLoc === tryLoc) {
11773
- var record = entry.completion;
11774
- if (record.type === "throw") {
11775
- var thrown = record.arg;
11776
- resetTryEntry(entry);
11777
- }
11778
- return thrown;
11779
- }
11780
- }
11781
 
11782
- // The context.catch method must only be called with a location
11783
- // argument that corresponds to a known catch block.
11784
- throw new Error("illegal catch attempt");
11785
- },
11786
 
11787
- delegateYield: function(iterable, resultName, nextLoc) {
11788
- this.delegate = {
11789
- iterator: values(iterable),
11790
- resultName: resultName,
11791
- nextLoc: nextLoc
11792
- };
11793
 
11794
- if (this.method === "next") {
11795
- // Deliberately forget the last sent value so that we don't
11796
- // accidentally pass it on to the delegate.
11797
- this.arg = undefined;
11798
- }
11799
 
11800
- return ContinueSentinel;
11801
- }
11802
- };
11803
 
11804
- // Regardless of whether this script is executing as a CommonJS module
11805
- // or not, return the runtime object so that we can declare the variable
11806
- // regeneratorRuntime in the outer scope, which allows this module to be
11807
- // injected easily by `bin/regenerator --include-runtime script.js`.
11808
- return exports;
11809
 
11810
- }(
11811
- // If this script is executing as a CommonJS module, use module.exports
11812
- // as the regeneratorRuntime namespace. Otherwise create a new empty
11813
- // object. Either way, the resulting object will be used to initialize
11814
- // the regeneratorRuntime variable at the top of this file.
11815
- true ? module.exports : undefined
11816
- ));
 
 
 
 
 
 
11817
 
11818
- try {
11819
- regeneratorRuntime = runtime;
11820
- } catch (accidentalStrictMode) {
11821
- // This module should not be running in strict mode, so the above
11822
- // assignment should always work unless something is misconfigured. Just
11823
- // in case runtime.js accidentally runs in strict mode, we can escape
11824
- // strict mode using a global Function call. This could conceivably fail
11825
- // if a Content Security Policy forbids using Function, but in that case
11826
- // the proper solution is to fix the accidental strict mode problem. If
11827
- // you've misconfigured your bundler to force strict mode and applied a
11828
- // CSP to forbid Function, and you're not willing to fix either of those
11829
- // problems, please detail your unique predicament in a GitHub issue.
11830
- Function("r", "regeneratorRuntime = r")(runtime);
11831
- }
11832
 
11833
 
11834
- /***/ }),
 
11835
 
11836
- /***/ 69:
11837
- /***/ (function(module, exports, __webpack_require__) {
 
 
 
 
 
11838
 
11839
- "use strict";
 
 
 
 
 
 
11840
 
 
 
 
 
 
 
 
11841
 
11842
- var formats = __webpack_require__(52);
11843
 
11844
- var has = Object.prototype.hasOwnProperty;
11845
- var isArray = Array.isArray;
11846
 
11847
- var hexTable = (function () {
11848
- var array = [];
11849
- for (var i = 0; i < 256; ++i) {
11850
- array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());
11851
- }
 
 
11852
 
11853
- return array;
11854
- }());
 
 
 
 
 
11855
 
11856
- var compactQueue = function compactQueue(queue) {
11857
- while (queue.length > 1) {
11858
- var item = queue.pop();
11859
- var obj = item.obj[item.prop];
 
 
 
11860
 
11861
- if (isArray(obj)) {
11862
- var compacted = [];
11863
 
11864
- for (var j = 0; j < obj.length; ++j) {
11865
- if (typeof obj[j] !== 'undefined') {
11866
- compacted.push(obj[j]);
11867
- }
11868
- }
 
 
 
11869
 
11870
- item.obj[item.prop] = compacted;
11871
- }
11872
- }
11873
- };
 
 
 
 
11874
 
11875
- var arrayToObject = function arrayToObject(source, options) {
11876
- var obj = options && options.plainObjects ? Object.create(null) : {};
11877
- for (var i = 0; i < source.length; ++i) {
11878
- if (typeof source[i] !== 'undefined') {
11879
- obj[i] = source[i];
11880
- }
11881
- }
11882
 
11883
- return obj;
11884
- };
 
 
11885
 
11886
- var merge = function merge(target, source, options) {
11887
- /* eslint no-param-reassign: 0 */
11888
- if (!source) {
11889
- return target;
11890
- }
 
11891
 
11892
- if (typeof source !== 'object') {
11893
- if (isArray(target)) {
11894
- target.push(source);
11895
- } else if (target && typeof target === 'object') {
11896
- if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {
11897
- target[source] = true;
11898
- }
11899
- } else {
11900
- return [target, source];
11901
- }
11902
 
11903
- return target;
11904
- }
 
 
 
 
 
 
 
 
 
11905
 
11906
- if (!target || typeof target !== 'object') {
11907
- return [target].concat(source);
11908
- }
11909
 
11910
- var mergeTarget = target;
11911
- if (isArray(target) && !isArray(source)) {
11912
- mergeTarget = arrayToObject(target, options);
11913
- }
11914
 
11915
- if (isArray(target) && isArray(source)) {
11916
- source.forEach(function (item, i) {
11917
- if (has.call(target, i)) {
11918
- var targetItem = target[i];
11919
- if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {
11920
- target[i] = merge(targetItem, item, options);
11921
- } else {
11922
- target.push(item);
11923
- }
11924
- } else {
11925
- target[i] = item;
11926
- }
11927
- });
11928
- return target;
11929
- }
11930
 
11931
- return Object.keys(source).reduce(function (acc, key) {
11932
- var value = source[key];
 
 
 
 
 
 
 
 
11933
 
11934
- if (has.call(acc, key)) {
11935
- acc[key] = merge(acc[key], value, options);
11936
- } else {
11937
- acc[key] = value;
11938
- }
11939
- return acc;
11940
- }, mergeTarget);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11941
  };
11942
 
11943
- var assign = function assignSingleSource(target, source) {
11944
- return Object.keys(source).reduce(function (acc, key) {
11945
- acc[key] = source[key];
11946
- return acc;
11947
- }, target);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11948
  };
11949
 
11950
- var decode = function (str, decoder, charset) {
11951
- var strWithoutPlus = str.replace(/\+/g, ' ');
11952
- if (charset === 'iso-8859-1') {
11953
- // unescape never throws, no try...catch needed:
11954
- return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
11955
- }
11956
- // utf-8
11957
- try {
11958
- return decodeURIComponent(strWithoutPlus);
11959
- } catch (e) {
11960
- return strWithoutPlus;
11961
- }
11962
  };
11963
 
11964
- var encode = function encode(str, defaultEncoder, charset, kind, format) {
11965
- // This code was originally written by Brian White (mscdex) for the io.js core querystring library.
11966
- // It has been adapted here for stricter adherence to RFC 3986
11967
- if (str.length === 0) {
11968
- return str;
11969
- }
 
11970
 
11971
- var string = str;
11972
- if (typeof str === 'symbol') {
11973
- string = Symbol.prototype.toString.call(str);
11974
- } else if (typeof str !== 'string') {
11975
- string = String(str);
11976
- }
11977
 
11978
- if (charset === 'iso-8859-1') {
11979
- return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {
11980
- return '%26%23' + parseInt($0.slice(2), 16) + '%3B';
11981
- });
11982
- }
11983
 
11984
- var out = '';
11985
- for (var i = 0; i < string.length; ++i) {
11986
- var c = string.charCodeAt(i);
 
 
 
 
 
 
 
 
 
 
 
11987
 
11988
- if (
11989
- c === 0x2D // -
11990
- || c === 0x2E // .
11991
- || c === 0x5F // _
11992
- || c === 0x7E // ~
11993
- || (c >= 0x30 && c <= 0x39) // 0-9
11994
- || (c >= 0x41 && c <= 0x5A) // a-z
11995
- || (c >= 0x61 && c <= 0x7A) // A-Z
11996
- || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )
11997
- ) {
11998
- out += string.charAt(i);
11999
- continue;
12000
- }
12001
 
12002
- if (c < 0x80) {
12003
- out = out + hexTable[c];
12004
- continue;
12005
- }
12006
 
12007
- if (c < 0x800) {
12008
- out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);
12009
- continue;
12010
- }
 
 
 
12011
 
12012
- if (c < 0xD800 || c >= 0xE000) {
12013
- out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);
12014
- continue;
12015
- }
12016
 
12017
- i += 1;
12018
- c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));
12019
- out += hexTable[0xF0 | (c >> 18)]
12020
- + hexTable[0x80 | ((c >> 12) & 0x3F)]
12021
- + hexTable[0x80 | ((c >> 6) & 0x3F)]
12022
- + hexTable[0x80 | (c & 0x3F)];
12023
  }
12024
 
12025
- return out;
12026
- };
12027
-
12028
- var compact = function compact(value) {
12029
- var queue = [{ obj: { o: value }, prop: 'o' }];
12030
- var refs = [];
12031
-
12032
- for (var i = 0; i < queue.length; ++i) {
12033
- var item = queue[i];
12034
- var obj = item.obj[item.prop];
12035
 
12036
- var keys = Object.keys(obj);
12037
- for (var j = 0; j < keys.length; ++j) {
12038
- var key = keys[j];
12039
- var val = obj[key];
12040
- if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {
12041
- queue.push({ obj: obj, prop: key });
12042
- refs.push(val);
12043
- }
12044
- }
12045
- }
12046
 
12047
- compactQueue(queue);
 
 
 
 
 
 
 
 
 
 
 
12048
 
12049
- return value;
12050
- };
12051
 
12052
- var isRegExp = function isRegExp(obj) {
12053
- return Object.prototype.toString.call(obj) === '[object RegExp]';
12054
- };
12055
 
12056
- var isBuffer = function isBuffer(obj) {
12057
- if (!obj || typeof obj !== 'object') {
12058
- return false;
12059
- }
 
 
12060
 
12061
- return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
12062
- };
12063
 
12064
- var combine = function combine(a, b) {
12065
- return [].concat(a, b);
12066
- };
12067
 
12068
- var maybeMap = function maybeMap(val, fn) {
12069
- if (isArray(val)) {
12070
- var mapped = [];
12071
- for (var i = 0; i < val.length; i += 1) {
12072
- mapped.push(fn(val[i]));
12073
- }
12074
- return mapped;
12075
- }
12076
- return fn(val);
12077
- };
12078
 
12079
- module.exports = {
12080
- arrayToObject: arrayToObject,
12081
- assign: assign,
12082
- combine: combine,
12083
- compact: compact,
12084
- decode: decode,
12085
- encode: encode,
12086
- isBuffer: isBuffer,
12087
- isRegExp: isRegExp,
12088
- maybeMap: maybeMap,
12089
- merge: merge
12090
- };
12091
 
 
 
12092
 
12093
- /***/ }),
 
 
 
12094
 
12095
- /***/ 7:
12096
- /***/ (function(module, exports) {
 
 
 
 
 
12097
 
12098
- function _getPrototypeOf(o) {
12099
- module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
12100
- return o.__proto__ || Object.getPrototypeOf(o);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12101
  };
12102
- return _getPrototypeOf(o);
12103
  }
12104
 
12105
- module.exports = _getPrototypeOf;
12106
-
12107
- /***/ }),
 
 
 
12108
 
12109
- /***/ 70:
12110
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
12111
 
12112
- "use strict";
12113
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _arrayLikeToArray; });
12114
- function _arrayLikeToArray(arr, len) {
12115
- if (len == null || len > arr.length) len = arr.length;
12116
 
12117
- for (var i = 0, arr2 = new Array(len); i < len; i++) {
12118
- arr2[i] = arr[i];
12119
- }
12120
 
12121
- return arr2;
12122
- }
 
 
12123
 
12124
- /***/ }),
12125
 
12126
- /***/ 71:
12127
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
12128
 
12129
- "use strict";
 
12130
 
12131
- // EXPORTS
12132
- __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ createBrowserHistory; });
12133
- __webpack_require__.d(__webpack_exports__, "c", function() { return /* binding */ createMemoryHistory; });
12134
- __webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ createLocation; });
12135
- __webpack_require__.d(__webpack_exports__, "e", function() { return /* binding */ locationsAreEqual; });
12136
- __webpack_require__.d(__webpack_exports__, "d", function() { return /* binding */ createPath; });
12137
 
12138
- // UNUSED EXPORTS: createHashHistory, parsePath
 
 
 
12139
 
12140
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
12141
- var esm_extends = __webpack_require__(32);
12142
 
12143
- // CONCATENATED MODULE: ./node_modules/resolve-pathname/esm/resolve-pathname.js
12144
- function isAbsolute(pathname) {
12145
- return pathname.charAt(0) === '/';
12146
- }
12147
 
12148
- // About 1.5x faster than the two-arg version of Array#splice()
12149
- function spliceOne(list, index) {
12150
- for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {
12151
- list[i] = list[k];
12152
- }
 
12153
 
12154
- list.pop();
12155
- }
 
12156
 
12157
- // This implementation is based heavily on node's url.parse
12158
- function resolvePathname(to, from) {
12159
- if (from === undefined) from = '';
12160
 
12161
- var toParts = (to && to.split('/')) || [];
12162
- var fromParts = (from && from.split('/')) || [];
12163
 
12164
- var isToAbs = to && isAbsolute(to);
12165
- var isFromAbs = from && isAbsolute(from);
12166
- var mustEndAbs = isToAbs || isFromAbs;
12167
 
12168
- if (to && isAbsolute(to)) {
12169
- // to is absolute
12170
- fromParts = toParts;
12171
- } else if (toParts.length) {
12172
- // to is relative, drop the filename
12173
- fromParts.pop();
12174
- fromParts = fromParts.concat(toParts);
12175
- }
12176
 
12177
- if (!fromParts.length) return '/';
 
 
 
12178
 
12179
- var hasTrailingSlash;
12180
- if (fromParts.length) {
12181
- var last = fromParts[fromParts.length - 1];
12182
- hasTrailingSlash = last === '.' || last === '..' || last === '';
12183
- } else {
12184
- hasTrailingSlash = false;
12185
- }
12186
 
12187
- var up = 0;
12188
- for (var i = fromParts.length; i >= 0; i--) {
12189
- var part = fromParts[i];
 
 
 
12190
 
12191
- if (part === '.') {
12192
- spliceOne(fromParts, i);
12193
- } else if (part === '..') {
12194
- spliceOne(fromParts, i);
12195
- up++;
12196
- } else if (up) {
12197
- spliceOne(fromParts, i);
12198
- up--;
12199
  }
12200
- }
12201
-
12202
- if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');
12203
 
12204
- if (
12205
- mustEndAbs &&
12206
- fromParts[0] !== '' &&
12207
- (!fromParts[0] || !isAbsolute(fromParts[0]))
12208
- )
12209
- fromParts.unshift('');
12210
 
12211
- var result = fromParts.join('/');
 
 
 
12212
 
12213
- if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';
 
 
 
12214
 
12215
- return result;
12216
- }
 
12217
 
12218
- /* harmony default export */ var resolve_pathname = (resolvePathname);
 
 
 
 
12219
 
12220
- // CONCATENATED MODULE: ./node_modules/value-equal/esm/value-equal.js
12221
- function value_equal_valueOf(obj) {
12222
- return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);
12223
- }
 
 
 
12224
 
12225
- function valueEqual(a, b) {
12226
- // Test for strict equality first.
12227
- if (a === b) return true;
12228
 
12229
- // Otherwise, if either of them == null they are not equal.
12230
- if (a == null || b == null) return false;
12231
 
12232
- if (Array.isArray(a)) {
12233
- return (
12234
- Array.isArray(b) &&
12235
- a.length === b.length &&
12236
- a.every(function(item, index) {
12237
- return valueEqual(item, b[index]);
12238
- })
12239
- );
12240
- }
12241
 
12242
- if (typeof a === 'object' || typeof b === 'object') {
12243
- var aValue = value_equal_valueOf(a);
12244
- var bValue = value_equal_valueOf(b);
12245
 
12246
- if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);
12247
 
12248
- return Object.keys(Object.assign({}, a, b)).every(function(key) {
12249
- return valueEqual(a[key], b[key]);
12250
- });
12251
- }
12252
 
12253
- return false;
12254
- }
 
12255
 
12256
- /* harmony default export */ var value_equal = (valueEqual);
12257
 
12258
- // EXTERNAL MODULE: ./node_modules/tiny-invariant/dist/tiny-invariant.esm.js
12259
- var tiny_invariant_esm = __webpack_require__(56);
 
 
 
 
 
 
12260
 
12261
- // CONCATENATED MODULE: ./node_modules/history/esm/history.js
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12262
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12263
 
 
 
 
 
 
 
12264
 
 
 
 
 
 
12265
 
 
 
 
 
 
 
 
12266
 
 
 
 
 
 
12267
 
12268
- function addLeadingSlash(path) {
12269
- return path.charAt(0) === '/' ? path : '/' + path;
12270
- }
12271
- function stripLeadingSlash(path) {
12272
- return path.charAt(0) === '/' ? path.substr(1) : path;
12273
- }
12274
- function hasBasename(path, prefix) {
12275
- return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;
12276
- }
12277
- function stripBasename(path, prefix) {
12278
- return hasBasename(path, prefix) ? path.substr(prefix.length) : path;
12279
- }
12280
- function stripTrailingSlash(path) {
12281
- return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;
12282
- }
12283
- function parsePath(path) {
12284
- var pathname = path || '/';
12285
- var search = '';
12286
- var hash = '';
12287
- var hashIndex = pathname.indexOf('#');
12288
 
12289
- if (hashIndex !== -1) {
12290
- hash = pathname.substr(hashIndex);
12291
- pathname = pathname.substr(0, hashIndex);
 
 
 
 
 
 
 
12292
  }
12293
 
12294
- var searchIndex = pathname.indexOf('?');
 
 
 
12295
 
12296
- if (searchIndex !== -1) {
12297
- search = pathname.substr(searchIndex);
12298
- pathname = pathname.substr(0, searchIndex);
12299
  }
12300
 
12301
- return {
12302
- pathname: pathname,
12303
- search: search === '?' ? '' : search,
12304
- hash: hash === '#' ? '' : hash
12305
- };
12306
- }
12307
- function createPath(location) {
12308
- var pathname = location.pathname,
12309
- search = location.search,
12310
- hash = location.hash;
12311
- var path = pathname || '/';
12312
- if (search && search !== '?') path += search.charAt(0) === '?' ? search : "?" + search;
12313
- if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : "#" + hash;
12314
- return path;
12315
  }
12316
 
12317
- function createLocation(path, state, key, currentLocation) {
12318
- var location;
12319
-
12320
- if (typeof path === 'string') {
12321
- // Two-arg form: push(path, state)
12322
- location = parsePath(path);
12323
- location.state = state;
12324
- } else {
12325
- // One-arg form: push(location)
12326
- location = Object(esm_extends["a" /* default */])({}, path);
12327
- if (location.pathname === undefined) location.pathname = '';
12328
 
12329
- if (location.search) {
12330
- if (location.search.charAt(0) !== '?') location.search = '?' + location.search;
12331
- } else {
12332
- location.search = '';
12333
- }
 
 
 
 
 
 
12334
 
12335
- if (location.hash) {
12336
- if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;
12337
- } else {
12338
- location.hash = '';
12339
- }
 
 
 
 
 
 
12340
 
12341
- if (state !== undefined && location.state === undefined) location.state = state;
12342
- }
 
 
 
 
12343
 
12344
- try {
12345
- location.pathname = decodeURI(location.pathname);
12346
- } catch (e) {
12347
- if (e instanceof URIError) {
12348
- throw new URIError('Pathname "' + location.pathname + '" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');
12349
- } else {
12350
- throw e;
12351
  }
12352
  }
12353
 
12354
- if (key) location.key = key;
 
 
 
 
12355
 
12356
- if (currentLocation) {
12357
- // Resolve incomplete/relative pathname relative to current location.
12358
- if (!location.pathname) {
12359
- location.pathname = currentLocation.pathname;
12360
- } else if (location.pathname.charAt(0) !== '/') {
12361
- location.pathname = resolve_pathname(location.pathname, currentLocation.pathname);
12362
- }
12363
- } else {
12364
- // When there is no prior location and pathname is empty, set it to /
12365
- if (!location.pathname) {
12366
- location.pathname = '/';
12367
- }
12368
- }
12369
 
12370
- return location;
12371
- }
12372
- function locationsAreEqual(a, b) {
12373
- return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && value_equal(a.state, b.state);
12374
- }
12375
 
12376
- function createTransitionManager() {
12377
- var prompt = null;
12378
 
12379
- function setPrompt(nextPrompt) {
12380
- false ? undefined : void 0;
12381
- prompt = nextPrompt;
12382
- return function () {
12383
- if (prompt === nextPrompt) prompt = null;
12384
- };
12385
- }
12386
 
12387
- function confirmTransitionTo(location, action, getUserConfirmation, callback) {
12388
- // TODO: If another transition starts while we're still confirming
12389
- // the previous one, we may end up in a weird state. Figure out the
12390
- // best way to handle this.
12391
- if (prompt != null) {
12392
- var result = typeof prompt === 'function' ? prompt(location, action) : prompt;
12393
 
12394
- if (typeof result === 'string') {
12395
- if (typeof getUserConfirmation === 'function') {
12396
- getUserConfirmation(result, callback);
12397
  } else {
12398
- false ? undefined : void 0;
12399
- callback(true);
12400
  }
12401
- } else {
12402
- // Return false from a transition hook to cancel the transition.
12403
- callback(result !== false);
12404
  }
12405
- } else {
12406
- callback(true);
12407
- }
12408
- }
12409
 
12410
- var listeners = [];
 
 
 
12411
 
12412
- function appendListener(fn) {
12413
- var isActive = true;
 
 
 
 
 
12414
 
12415
- function listener() {
12416
- if (isActive) fn.apply(void 0, arguments);
12417
- }
12418
 
12419
- listeners.push(listener);
12420
- return function () {
12421
- isActive = false;
12422
- listeners = listeners.filter(function (item) {
12423
- return item !== listener;
12424
- });
12425
- };
12426
- }
 
 
 
12427
 
12428
- function notifyListeners() {
12429
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
12430
- args[_key] = arguments[_key];
 
 
12431
  }
12432
 
12433
- listeners.forEach(function (listener) {
12434
- return listener.apply(void 0, args);
12435
- });
12436
  }
12437
-
12438
- return {
12439
- setPrompt: setPrompt,
12440
- confirmTransitionTo: confirmTransitionTo,
12441
- appendListener: appendListener,
12442
- notifyListeners: notifyListeners
12443
- };
12444
  }
12445
 
12446
- var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
12447
- function getConfirmation(message, callback) {
12448
- callback(window.confirm(message)); // eslint-disable-line no-alert
12449
- }
12450
  /**
12451
- * Returns true if the HTML5 history API is supported. Taken from Modernizr.
12452
  *
12453
- * https://github.com/Modernizr/Modernizr/blob/master/LICENSE
12454
- * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js
12455
- * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586
12456
  */
12457
-
12458
- function supportsHistory() {
12459
- var ua = window.navigator.userAgent;
12460
- 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;
12461
- return window.history && 'pushState' in window.history;
12462
  }
 
12463
  /**
12464
- * Returns true if browser fires popstate on hash change.
12465
- * IE10 and IE11 do not.
 
 
12466
  */
12467
-
12468
- function supportsPopStateOnHashChange() {
12469
- return window.navigator.userAgent.indexOf('Trident') === -1;
12470
  }
 
12471
  /**
12472
- * Returns false if using go(n) with hash history causes a full page reload.
 
 
 
 
12473
  */
12474
-
12475
- function supportsGoWithoutReloadUsingHash() {
12476
- return window.navigator.userAgent.indexOf('Firefox') === -1;
12477
  }
 
12478
  /**
12479
- * Returns true if a given popstate event is an extraneous WebKit event.
12480
- * Accounts for the fact that Chrome on iOS fires real popstate events
12481
- * containing undefined state when pressing the back button.
 
12482
  */
12483
-
12484
- function isExtraneousPopstateEvent(event) {
12485
- return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;
12486
  }
12487
 
12488
- var PopStateEvent = 'popstate';
12489
- var HashChangeEvent = 'hashchange';
12490
-
12491
- function getHistoryState() {
12492
- try {
12493
- return window.history.state || {};
12494
- } catch (e) {
12495
- // IE 11 sometimes throws when accessing window.history.state
12496
- // See https://github.com/ReactTraining/history/pull/289
12497
- return {};
12498
- }
12499
- }
12500
  /**
12501
- * Creates a history object that uses the HTML5 history API including
12502
- * pushState, replaceState, and the popstate event.
 
 
 
12503
  */
 
 
 
12504
 
12505
-
12506
- function createBrowserHistory(props) {
12507
- if (props === void 0) {
12508
- props = {};
12509
- }
12510
-
12511
- !canUseDOM ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
12512
- var globalHistory = window.history;
12513
- var canUseHistory = supportsHistory();
12514
- var needsHashChangeListener = !supportsPopStateOnHashChange();
12515
- var _props = props,
12516
- _props$forceRefresh = _props.forceRefresh,
12517
- forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,
12518
- _props$getUserConfirm = _props.getUserConfirmation,
12519
- getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,
12520
- _props$keyLength = _props.keyLength,
12521
- keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;
12522
- var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';
12523
-
12524
- function getDOMLocation(historyState) {
12525
- var _ref = historyState || {},
12526
- key = _ref.key,
12527
- state = _ref.state;
12528
-
12529
- var _window$location = window.location,
12530
- pathname = _window$location.pathname,
12531
- search = _window$location.search,
12532
- hash = _window$location.hash;
12533
- var path = pathname + search + hash;
12534
- false ? undefined : void 0;
12535
- if (basename) path = stripBasename(path, basename);
12536
- return createLocation(path, state, key);
12537
- }
12538
-
12539
- function createKey() {
12540
- return Math.random().toString(36).substr(2, keyLength);
12541
  }
12542
 
12543
- var transitionManager = createTransitionManager();
 
12544
 
12545
- function setState(nextState) {
12546
- Object(esm_extends["a" /* default */])(history, nextState);
 
 
 
 
 
 
 
 
12547
 
12548
- history.length = globalHistory.length;
12549
- transitionManager.notifyListeners(history.location, history.action);
12550
  }
12551
 
12552
- function handlePopState(event) {
12553
- // Ignore extraneous popstate events in WebKit.
12554
- if (isExtraneousPopstateEvent(event)) return;
12555
- handlePop(getDOMLocation(event.state));
12556
- }
12557
 
12558
- function handleHashChange() {
12559
- handlePop(getDOMLocation(getHistoryState()));
12560
- }
12561
 
12562
- var forceNextPop = false;
 
 
 
 
 
 
 
 
 
 
12563
 
12564
- function handlePop(location) {
12565
- if (forceNextPop) {
12566
- forceNextPop = false;
12567
- setState();
12568
- } else {
12569
- var action = 'POP';
12570
- transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
12571
- if (ok) {
12572
- setState({
12573
- action: action,
12574
- location: location
12575
- });
12576
- } else {
12577
- revertPop(location);
12578
- }
12579
- });
12580
- }
12581
  }
12582
 
12583
- function revertPop(fromLocation) {
12584
- var toLocation = history.location; // TODO: We could probably make this more reliable by
12585
- // keeping a list of keys we've seen in sessionStorage.
12586
- // Instead, we just default to 0 for keys we don't know.
12587
-
12588
- var toIndex = allKeys.indexOf(toLocation.key);
12589
- if (toIndex === -1) toIndex = 0;
12590
- var fromIndex = allKeys.indexOf(fromLocation.key);
12591
- if (fromIndex === -1) fromIndex = 0;
12592
- var delta = toIndex - fromIndex;
12593
-
12594
- if (delta) {
12595
- forceNextPop = true;
12596
- go(delta);
12597
- }
12598
- }
12599
 
12600
- var initialLocation = getDOMLocation(getHistoryState());
12601
- var allKeys = [initialLocation.key]; // Public interface
 
12602
 
12603
- function createHref(location) {
12604
- return basename + createPath(location);
12605
- }
12606
 
12607
- function push(path, state) {
12608
- false ? undefined : void 0;
12609
- var action = 'PUSH';
12610
- var location = createLocation(path, state, createKey(), history.location);
12611
- transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
12612
- if (!ok) return;
12613
- var href = createHref(location);
12614
- var key = location.key,
12615
- state = location.state;
12616
 
12617
- if (canUseHistory) {
12618
- globalHistory.pushState({
12619
- key: key,
12620
- state: state
12621
- }, null, href);
12622
 
12623
- if (forceRefresh) {
12624
- window.location.href = href;
 
 
 
 
 
12625
  } else {
12626
- var prevIndex = allKeys.indexOf(history.location.key);
12627
- var nextKeys = allKeys.slice(0, prevIndex + 1);
12628
- nextKeys.push(location.key);
12629
- allKeys = nextKeys;
12630
- setState({
12631
- action: action,
12632
- location: location
12633
- });
12634
  }
12635
  } else {
12636
- false ? undefined : void 0;
12637
- window.location.href = href;
12638
  }
12639
- });
 
 
12640
  }
12641
 
12642
- function replace(path, state) {
12643
- false ? undefined : void 0;
12644
- var action = 'REPLACE';
12645
- var location = createLocation(path, state, createKey(), history.location);
12646
- transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
12647
- if (!ok) return;
12648
- var href = createHref(location);
12649
- var key = location.key,
12650
- state = location.state;
12651
 
12652
- if (canUseHistory) {
12653
- globalHistory.replaceState({
12654
- key: key,
12655
- state: state
12656
- }, null, href);
 
 
12657
 
12658
- if (forceRefresh) {
12659
- window.location.replace(href);
12660
- } else {
12661
- var prevIndex = allKeys.indexOf(history.location.key);
12662
- if (prevIndex !== -1) allKeys[prevIndex] = location.key;
12663
- setState({
12664
- action: action,
12665
- location: location
12666
- });
12667
- }
12668
- } else {
12669
- false ? undefined : void 0;
12670
- window.location.replace(href);
12671
- }
12672
- });
12673
  }
12674
 
12675
- function go(n) {
12676
- globalHistory.go(n);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12677
  }
12678
 
12679
- function goBack() {
12680
- go(-1);
 
 
12681
  }
12682
 
12683
- function goForward() {
12684
- go(1);
12685
  }
12686
 
12687
- var listenerCount = 0;
 
12688
 
12689
- function checkDOMListeners(delta) {
12690
- listenerCount += delta;
12691
 
12692
- if (listenerCount === 1 && delta === 1) {
12693
- window.addEventListener(PopStateEvent, handlePopState);
12694
- if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);
12695
- } else if (listenerCount === 0) {
12696
- window.removeEventListener(PopStateEvent, handlePopState);
12697
- if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);
12698
- }
12699
- }
 
 
 
 
 
 
 
 
12700
 
12701
- var isBlocked = false;
 
 
 
 
 
 
 
12702
 
12703
- function block(prompt) {
12704
- if (prompt === void 0) {
12705
- prompt = false;
12706
- }
 
 
 
12707
 
12708
- var unblock = transitionManager.setPrompt(prompt);
 
 
 
 
12709
 
12710
- if (!isBlocked) {
12711
- checkDOMListeners(1);
12712
- isBlocked = true;
12713
  }
 
 
 
 
 
 
 
 
 
12714
 
12715
- return function () {
12716
- if (isBlocked) {
12717
- isBlocked = false;
12718
- checkDOMListeners(-1);
12719
- }
 
 
12720
 
12721
- return unblock();
12722
- };
12723
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12724
 
12725
- function listen(listener) {
12726
- var unlisten = transitionManager.appendListener(listener);
12727
- checkDOMListeners(1);
12728
- return function () {
12729
- checkDOMListeners(-1);
12730
- unlisten();
12731
- };
12732
- }
 
 
 
 
 
 
 
 
 
12733
 
12734
- var history = {
12735
- length: globalHistory.length,
12736
- action: 'POP',
12737
- location: initialLocation,
12738
- createHref: createHref,
12739
- push: push,
12740
- replace: replace,
12741
- go: go,
12742
- goBack: goBack,
12743
- goForward: goForward,
12744
- block: block,
12745
- listen: listen
12746
- };
12747
- return history;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12748
  }
12749
 
12750
- var HashChangeEvent$1 = 'hashchange';
12751
- var HashPathCoders = {
12752
- hashbang: {
12753
- encodePath: function encodePath(path) {
12754
- return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);
12755
- },
12756
- decodePath: function decodePath(path) {
12757
- return path.charAt(0) === '!' ? path.substr(1) : path;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12758
  }
12759
- },
12760
- noslash: {
12761
- encodePath: stripLeadingSlash,
12762
- decodePath: addLeadingSlash
12763
- },
12764
- slash: {
12765
- encodePath: addLeadingSlash,
12766
- decodePath: addLeadingSlash
12767
  }
12768
- };
12769
 
12770
- function stripHash(url) {
12771
- var hashIndex = url.indexOf('#');
12772
- return hashIndex === -1 ? url : url.slice(0, hashIndex);
12773
- }
12774
 
12775
- function getHashPath() {
12776
- // We can't use window.location.hash here because it's not
12777
- // consistent across browsers - Firefox will pre-decode it!
12778
- var href = window.location.href;
12779
- var hashIndex = href.indexOf('#');
12780
- return hashIndex === -1 ? '' : href.substring(hashIndex + 1);
12781
- }
12782
 
12783
- function pushHashPath(path) {
12784
- window.location.hash = path;
12785
- }
12786
 
12787
- function replaceHashPath(path) {
12788
- window.location.replace(stripHash(window.location.href) + '#' + path);
12789
- }
 
 
 
 
 
 
 
 
 
 
 
12790
 
12791
- function createHashHistory(props) {
12792
- if (props === void 0) {
12793
- props = {};
 
 
12794
  }
12795
 
12796
- !canUseDOM ? false ? undefined : Object(tiny_invariant_esm["a" /* default */])(false) : void 0;
12797
- var globalHistory = window.history;
12798
- var canGoWithoutReload = supportsGoWithoutReloadUsingHash();
12799
- var _props = props,
12800
- _props$getUserConfirm = _props.getUserConfirmation,
12801
- getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,
12802
- _props$hashType = _props.hashType,
12803
- hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;
12804
- var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';
12805
- var _HashPathCoders$hashT = HashPathCoders[hashType],
12806
- encodePath = _HashPathCoders$hashT.encodePath,
12807
- decodePath = _HashPathCoders$hashT.decodePath;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12808
 
12809
- function getDOMLocation() {
12810
- var path = decodePath(getHashPath());
12811
- false ? undefined : void 0;
12812
- if (basename) path = stripBasename(path, basename);
12813
- return createLocation(path);
12814
- }
12815
 
12816
- var transitionManager = createTransitionManager();
 
 
12817
 
12818
- function setState(nextState) {
12819
- Object(esm_extends["a" /* default */])(history, nextState);
12820
 
12821
- history.length = globalHistory.length;
12822
- transitionManager.notifyListeners(history.location, history.action);
12823
- }
12824
 
12825
- var forceNextPop = false;
12826
- var ignorePath = null;
12827
 
12828
- function locationsAreEqual$$1(a, b) {
12829
- return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;
12830
- }
12831
 
12832
- function handleHashChange() {
12833
- var path = getHashPath();
12834
- var encodedPath = encodePath(path);
12835
 
12836
- if (path !== encodedPath) {
12837
- // Ensure we always have a properly-encoded hash.
12838
- replaceHashPath(encodedPath);
12839
- } else {
12840
- var location = getDOMLocation();
12841
- var prevLocation = history.location;
12842
- if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.
 
 
 
12843
 
12844
- if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.
12845
 
12846
- ignorePath = null;
12847
- handlePop(location);
12848
- }
12849
- }
12850
 
12851
- function handlePop(location) {
12852
- if (forceNextPop) {
12853
- forceNextPop = false;
12854
- setState();
12855
- } else {
12856
- var action = 'POP';
12857
- transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
12858
- if (ok) {
12859
- setState({
12860
- action: action,
12861
- location: location
12862
- });
12863
- } else {
12864
- revertPop(location);
12865
- }
12866
- });
12867
- }
12868
- }
12869
 
12870
- function revertPop(fromLocation) {
12871
- var toLocation = history.location; // TODO: We could probably make this more reliable by
12872
- // keeping a list of paths we've seen in sessionStorage.
12873
- // Instead, we just default to 0 for paths we don't know.
 
 
 
12874
 
12875
- var toIndex = allPaths.lastIndexOf(createPath(toLocation));
12876
- if (toIndex === -1) toIndex = 0;
12877
- var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));
12878
- if (fromIndex === -1) fromIndex = 0;
12879
- var delta = toIndex - fromIndex;
12880
 
12881
- if (delta) {
12882
- forceNextPop = true;
12883
- go(delta);
12884
- }
12885
- } // Ensure the hash is encoded properly before doing anything else.
12886
 
 
 
12887
 
12888
- var path = getHashPath();
12889
- var encodedPath = encodePath(path);
12890
- if (path !== encodedPath) replaceHashPath(encodedPath);
12891
- var initialLocation = getDOMLocation();
12892
- var allPaths = [createPath(initialLocation)]; // Public interface
12893
 
12894
- function createHref(location) {
12895
- var baseTag = document.querySelector('base');
12896
- var href = '';
12897
 
12898
- if (baseTag && baseTag.getAttribute('href')) {
12899
- href = stripHash(window.location.href);
12900
- }
12901
 
12902
- return href + '#' + encodePath(basename + createPath(location));
12903
- }
12904
 
12905
- function push(path, state) {
12906
- false ? undefined : void 0;
12907
- var action = 'PUSH';
12908
- var location = createLocation(path, undefined, undefined, history.location);
12909
- transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
12910
- if (!ok) return;
12911
- var path = createPath(location);
12912
- var encodedPath = encodePath(basename + path);
12913
- var hashChanged = getHashPath() !== encodedPath;
12914
 
12915
- if (hashChanged) {
12916
- // We cannot tell if a hashchange was caused by a PUSH, so we'd
12917
- // rather setState here and ignore the hashchange. The caveat here
12918
- // is that other hash histories in the page will consider it a POP.
12919
- ignorePath = path;
12920
- pushHashPath(encodedPath);
12921
- var prevIndex = allPaths.lastIndexOf(createPath(history.location));
12922
- var nextPaths = allPaths.slice(0, prevIndex + 1);
12923
- nextPaths.push(path);
12924
- allPaths = nextPaths;
12925
- setState({
12926
- action: action,
12927
- location: location
12928
- });
12929
- } else {
12930
- false ? undefined : void 0;
12931
- setState();
12932
- }
12933
- });
12934
- }
12935
 
12936
- function replace(path, state) {
12937
- false ? undefined : void 0;
12938
- var action = 'REPLACE';
12939
- var location = createLocation(path, undefined, undefined, history.location);
12940
- transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
12941
- if (!ok) return;
12942
- var path = createPath(location);
12943
- var encodedPath = encodePath(basename + path);
12944
- var hashChanged = getHashPath() !== encodedPath;
12945
 
12946
- if (hashChanged) {
12947
- // We cannot tell if a hashchange was caused by a REPLACE, so we'd
12948
- // rather setState here and ignore the hashchange. The caveat here
12949
- // is that other hash histories in the page will consider it a POP.
12950
- ignorePath = path;
12951
- replaceHashPath(encodedPath);
12952
- }
12953
 
12954
- var prevIndex = allPaths.indexOf(createPath(history.location));
12955
- if (prevIndex !== -1) allPaths[prevIndex] = path;
12956
- setState({
12957
- action: action,
12958
- location: location
12959
- });
12960
- });
12961
- }
12962
 
12963
- function go(n) {
12964
- false ? undefined : void 0;
12965
- globalHistory.go(n);
12966
- }
12967
 
12968
- function goBack() {
12969
- go(-1);
12970
- }
12971
 
12972
- function goForward() {
12973
- go(1);
12974
- }
12975
 
12976
- var listenerCount = 0;
 
 
12977
 
12978
- function checkDOMListeners(delta) {
12979
- listenerCount += delta;
12980
 
12981
- if (listenerCount === 1 && delta === 1) {
12982
- window.addEventListener(HashChangeEvent$1, handleHashChange);
12983
- } else if (listenerCount === 0) {
12984
- window.removeEventListener(HashChangeEvent$1, handleHashChange);
12985
- }
12986
- }
12987
 
12988
- var isBlocked = false;
 
12989
 
12990
- function block(prompt) {
12991
- if (prompt === void 0) {
12992
- prompt = false;
12993
- }
12994
 
12995
- var unblock = transitionManager.setPrompt(prompt);
12996
 
12997
- if (!isBlocked) {
12998
- checkDOMListeners(1);
12999
- isBlocked = true;
13000
- }
13001
 
13002
- return function () {
13003
- if (isBlocked) {
13004
- isBlocked = false;
13005
- checkDOMListeners(-1);
13006
- }
13007
 
13008
- return unblock();
13009
- };
13010
- }
13011
 
13012
- function listen(listener) {
13013
- var unlisten = transitionManager.appendListener(listener);
13014
- checkDOMListeners(1);
13015
- return function () {
13016
- checkDOMListeners(-1);
13017
- unlisten();
13018
- };
13019
- }
13020
 
13021
- var history = {
13022
- length: globalHistory.length,
13023
- action: 'POP',
13024
- location: initialLocation,
13025
- createHref: createHref,
13026
- push: push,
13027
- replace: replace,
13028
- go: go,
13029
- goBack: goBack,
13030
- goForward: goForward,
13031
- block: block,
13032
- listen: listen
13033
- };
13034
- return history;
13035
- }
13036
 
13037
- function clamp(n, lowerBound, upperBound) {
13038
- return Math.min(Math.max(n, lowerBound), upperBound);
13039
- }
13040
- /**
13041
- * Creates a history object that stores locations in memory.
13042
- */
13043
 
13044
 
13045
- function createMemoryHistory(props) {
13046
- if (props === void 0) {
13047
- props = {};
13048
- }
13049
 
13050
- var _props = props,
13051
- getUserConfirmation = _props.getUserConfirmation,
13052
- _props$initialEntries = _props.initialEntries,
13053
- initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,
13054
- _props$initialIndex = _props.initialIndex,
13055
- initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,
13056
- _props$keyLength = _props.keyLength,
13057
- keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;
13058
- var transitionManager = createTransitionManager();
13059
 
13060
- function setState(nextState) {
13061
- Object(esm_extends["a" /* default */])(history, nextState);
13062
 
13063
- history.length = history.entries.length;
13064
- transitionManager.notifyListeners(history.location, history.action);
13065
- }
13066
 
13067
- function createKey() {
13068
- return Math.random().toString(36).substr(2, keyLength);
13069
- }
13070
 
13071
- var index = clamp(initialIndex, 0, initialEntries.length - 1);
13072
- var entries = initialEntries.map(function (entry) {
13073
- return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());
13074
- }); // Public interface
13075
 
13076
- var createHref = createPath;
 
 
13077
 
13078
- function push(path, state) {
13079
- false ? undefined : void 0;
13080
- var action = 'PUSH';
13081
- var location = createLocation(path, state, createKey(), history.location);
13082
- transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
13083
- if (!ok) return;
13084
- var prevIndex = history.index;
13085
- var nextIndex = prevIndex + 1;
13086
- var nextEntries = history.entries.slice(0);
13087
 
13088
- if (nextEntries.length > nextIndex) {
13089
- nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);
13090
- } else {
13091
- nextEntries.push(location);
13092
- }
13093
 
13094
- setState({
13095
- action: action,
13096
- location: location,
13097
- index: nextIndex,
13098
- entries: nextEntries
13099
- });
13100
- });
13101
- }
13102
 
13103
- function replace(path, state) {
13104
- false ? undefined : void 0;
13105
- var action = 'REPLACE';
13106
- var location = createLocation(path, state, createKey(), history.location);
13107
- transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
13108
- if (!ok) return;
13109
- history.entries[history.index] = location;
13110
- setState({
13111
- action: action,
13112
- location: location
13113
- });
13114
- });
13115
- }
13116
 
13117
- function go(n) {
13118
- var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);
13119
- var action = 'POP';
13120
- var location = history.entries[nextIndex];
13121
- transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
13122
- if (ok) {
13123
- setState({
13124
- action: action,
13125
- location: location,
13126
- index: nextIndex
13127
- });
13128
- } else {
13129
- // Mimic the behavior of DOM histories by
13130
- // causing a render after a cancelled POP.
13131
- setState();
13132
- }
13133
- });
13134
- }
13135
 
13136
- function goBack() {
13137
- go(-1);
13138
- }
13139
 
13140
- function goForward() {
13141
- go(1);
13142
- }
13143
 
13144
- function canGo(n) {
13145
- var nextIndex = history.index + n;
13146
- return nextIndex >= 0 && nextIndex < history.entries.length;
13147
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13148
 
13149
- function block(prompt) {
13150
- if (prompt === void 0) {
13151
- prompt = false;
13152
- }
 
 
 
 
 
 
 
 
13153
 
13154
- return transitionManager.setPrompt(prompt);
13155
- }
 
 
13156
 
13157
- function listen(listener) {
13158
- return transitionManager.appendListener(listener);
13159
- }
13160
 
13161
- var history = {
13162
- length: entries.length,
13163
- action: 'POP',
13164
- location: entries[index],
13165
- index: index,
13166
- entries: entries,
13167
- createHref: createHref,
13168
- push: push,
13169
- replace: replace,
13170
- go: go,
13171
- goBack: goBack,
13172
- goForward: goForward,
13173
- canGo: canGo,
13174
- block: block,
13175
- listen: listen
13176
- };
13177
- return history;
13178
- }
13179
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13180
 
 
 
 
 
 
 
13181
 
 
 
 
13182
 
13183
- /***/ }),
 
 
 
 
 
 
13184
 
13185
- /***/ 72:
13186
- /***/ (function(module, exports) {
 
 
 
 
 
 
13187
 
13188
- function _setPrototypeOf(o, p) {
13189
- module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
13190
- o.__proto__ = p;
13191
- return o;
 
 
 
 
13192
  };
13193
 
13194
- return _setPrototypeOf(o, p);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13195
  }
13196
 
13197
- module.exports = _setPrototypeOf;
 
 
 
 
13198
 
13199
- /***/ }),
 
 
 
13200
 
13201
- /***/ 75:
13202
- /***/ (function(module, exports) {
 
 
13203
 
13204
- (function() { module.exports = this["wp"]["date"]; }());
 
 
 
13205
 
13206
- /***/ }),
 
 
 
13207
 
13208
- /***/ 76:
13209
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
13210
 
13211
- "use strict";
13212
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return STORE_KEY; });
13213
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return API_NAMESPACE; });
13214
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return QUEUE_OPTION_NAME; });
13215
- var STORE_KEY = 'wc/customer-effort-score';
13216
- var API_NAMESPACE = '/wc-admin';
13217
- var QUEUE_OPTION_NAME = 'woocommerce_ces_tracks_queue';
13218
 
13219
- /***/ }),
 
 
 
13220
 
13221
- /***/ 77:
13222
- /***/ (function(module, exports, __webpack_require__) {
 
 
13223
 
13224
- "use strict";
13225
- /**
13226
- * Copyright (c) 2013-present, Facebook, Inc.
13227
- *
13228
- * This source code is licensed under the MIT license found in the
13229
- * LICENSE file in the root directory of this source tree.
13230
- */
13231
 
 
 
 
 
 
13232
 
13233
 
13234
- var ReactPropTypesSecret = __webpack_require__(78);
 
 
 
13235
 
13236
- function emptyFunction() {}
13237
- function emptyFunctionWithReset() {}
13238
- emptyFunctionWithReset.resetWarningCache = emptyFunction;
 
13239
 
13240
- module.exports = function() {
13241
- function shim(props, propName, componentName, location, propFullName, secret) {
13242
- if (secret === ReactPropTypesSecret) {
13243
- // It is still safe when called from React.
13244
- return;
13245
- }
13246
- var err = new Error(
13247
- 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
13248
- 'Use PropTypes.checkPropTypes() to call them. ' +
13249
- 'Read more at http://fb.me/use-check-prop-types'
13250
- );
13251
- err.name = 'Invariant Violation';
13252
- throw err;
13253
- };
13254
- shim.isRequired = shim;
13255
- function getShim() {
13256
- return shim;
13257
  };
13258
- // Important!
13259
- // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
13260
- var ReactPropTypes = {
13261
- array: shim,
13262
- bool: shim,
13263
- func: shim,
13264
- number: shim,
13265
- object: shim,
13266
- string: shim,
13267
- symbol: shim,
13268
 
13269
- any: shim,
13270
- arrayOf: getShim,
13271
- element: shim,
13272
- elementType: shim,
13273
- instanceOf: getShim,
13274
- node: shim,
13275
- objectOf: getShim,
13276
- oneOf: getShim,
13277
- oneOfType: getShim,
13278
- shape: getShim,
13279
- exact: getShim,
13280
 
13281
- checkPropTypes: emptyFunctionWithReset,
13282
- resetWarningCache: emptyFunction
 
13283
  };
 
 
 
13284
 
13285
- ReactPropTypes.PropTypes = ReactPropTypes;
 
13286
 
13287
- return ReactPropTypes;
13288
- };
13289
 
 
 
 
 
 
 
 
 
 
 
13290
 
13291
- /***/ }),
 
 
13292
 
13293
- /***/ 78:
13294
- /***/ (function(module, exports, __webpack_require__) {
13295
 
13296
- "use strict";
13297
  /**
13298
- * Copyright (c) 2013-present, Facebook, Inc.
13299
  *
13300
- * This source code is licensed under the MIT license found in the
13301
- * LICENSE file in the root directory of this source tree.
13302
  */
13303
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13304
 
13305
-
13306
- var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
13307
-
13308
- module.exports = ReactPropTypesSecret;
13309
-
13310
-
13311
- /***/ }),
13312
-
13313
- /***/ 8:
13314
- /***/ (function(module, exports, __webpack_require__) {
13315
-
13316
- module.exports = __webpack_require__(68);
13317
-
13318
-
13319
- /***/ }),
13320
-
13321
- /***/ 82:
13322
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
13323
-
13324
- "use strict";
13325
-
13326
- // EXPORTS
13327
- __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _toConsumableArray; });
13328
-
13329
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
13330
- var arrayLikeToArray = __webpack_require__(70);
13331
-
13332
- // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
13333
-
13334
- function _arrayWithoutHoles(arr) {
13335
- if (Array.isArray(arr)) return Object(arrayLikeToArray["a" /* default */])(arr);
13336
  }
13337
- // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
13338
- function _iterableToArray(iter) {
13339
- if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
 
 
 
13340
  }
13341
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
13342
- var unsupportedIterableToArray = __webpack_require__(94);
 
13343
 
13344
- // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
13345
- function _nonIterableSpread() {
13346
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
 
13347
  }
13348
- // CONCATENATED MODULE: ./node_modu
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
  /******/
260
  /******/
261
  /******/ // Load entry module and return exports
262
+ /******/ return __webpack_require__(__webpack_require__.s = 417);
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
  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 requireObjectCoercible = __webpack_require__(32);
 
 
 
 
882
 
883
+ // `ToObject` abstract operation
884
+ // https://tc39.es/ecma262/#sec-toobject
885
+ module.exports = function (argument) {
886
+ return Object(requireObjectCoercible(argument));
887
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
888
 
 
889
 
890
+ /***/ }),
891
+ /* 38 */
892
  /***/ (function(module, exports, __webpack_require__) {
893
 
894
+ var $ = __webpack_require__(12);
895
+ var toObject = __webpack_require__(37);
896
+ var nativeKeys = __webpack_require__(54);
897
+ var fails = __webpack_require__(6);
898
 
899
+ var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });
900
 
901
+ // `Object.keys` method
902
+ // https://tc39.es/ecma262/#sec-object.keys
903
+ $({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
904
+ keys: function keys(it) {
905
+ return nativeKeys(toObject(it));
906
+ }
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__(181);
985
 
986
+ var iterableToArrayLimit = __webpack_require__(182);
 
 
 
987
 
988
+ var unsupportedIterableToArray = __webpack_require__(132);
989
+
990
+ var nonIterableRest = __webpack_require__(183);
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__(178);
 
1003
 
1004
+ var iterableToArray = __webpack_require__(179);
1005
 
1006
+ var unsupportedIterableToArray = __webpack_require__(132);
 
1007
 
1008
+ var nonIterableSpread = __webpack_require__(180);
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__(51);
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__(128);
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
+ var shared = __webpack_require__(58);
1163
+ var uid = __webpack_require__(55);
1164
 
1165
+ var keys = shared('keys');
 
 
 
 
1166
 
1167
+ module.exports = function (key) {
1168
+ return keys[key] || (keys[key] = uid(key));
1169
+ };
1170
 
1171
+
1172
+ /***/ }),
1173
+ /* 52 */
1174
+ /***/ (function(module, exports, __webpack_require__) {
1175
 
1176
  "use strict";
1177
 
1178
+ var $ = __webpack_require__(12);
1179
+ var $map = __webpack_require__(75).map;
1180
+ var arrayMethodHasSpeciesSupport = __webpack_require__(89);
 
1181
 
1182
+ var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');
 
 
1183
 
1184
+ // `Array.prototype.map` method
1185
+ // https://tc39.es/ecma262/#sec-array.prototype.map
1186
+ // with adding support of @@species
1187
+ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
1188
+ map: function map(callbackfn /* , thisArg */) {
1189
+ return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
1190
+ }
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__(37);
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__(51);
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__(37);
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__(51);
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__(37);
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__(38);
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__(131);
 
 
 
 
 
 
 
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 charAt = __webpack_require__(125).charAt;
 
 
 
3155
 
3156
+ // `AdvanceStringIndex` abstract operation
3157
+ // https://tc39.es/ecma262/#sec-advancestringindex
3158
+ module.exports = function (S, index, unicode) {
3159
+ return index + (unicode ? charAt(S, index).length : 1);
3160
+ };
3161
 
 
 
 
 
3162
 
3163
+ /***/ }),
3164
+ /* 122 */
3165
+ /***/ (function(module, exports, __webpack_require__) {
3166
 
3167
+ "use strict";
 
 
 
 
 
 
 
3168
 
3169
+ var fails = __webpack_require__(6);
 
 
 
 
3170
 
3171
+ module.exports = function (METHOD_NAME, argument) {
3172
+ var method = [][METHOD_NAME];
3173
+ return !!method && fails(function () {
3174
+ // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing
3175
+ method.call(null, argument || function () { throw 1; }, 1);
3176
+ });
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__(167);
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, __webpack_require__) {
 
3298
 
3299
+ "use strict";
 
 
 
3300
 
3301
+ var fixRegExpWellKnownSymbolLogic = __webpack_require__(111);
3302
+ var anObject = __webpack_require__(9);
3303
+ var toLength = __webpack_require__(34);
3304
+ var toInteger = __webpack_require__(42);
3305
+ var requireObjectCoercible = __webpack_require__(32);
3306
+ var advanceStringIndex = __webpack_require__(121);
3307
+ var getSubstitution = __webpack_require__(161);
3308
+ var regExpExec = __webpack_require__(112);
3309
 
3310
+ var max = Math.max;
3311
+ var min = Math.min;
 
 
3312
 
3313
+ var maybeToString = function (it) {
3314
+ return it === undefined ? it : String(it);
 
 
 
3315
  };
3316
 
3317
+ // @@replace logic
3318
+ fixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
3319
+ var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;
3320
+ var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;
3321
+ var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
3322
+
3323
+ return [
3324
+ // `String.prototype.replace` method
3325
+ // https://tc39.es/ecma262/#sec-string.prototype.replace
3326
+ function replace(searchValue, replaceValue) {
3327
+ var O = requireObjectCoercible(this);
3328
+ var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
3329
+ return replacer !== undefined
3330
+ ? replacer.call(searchValue, O, replaceValue)
3331
+ : nativeReplace.call(String(O), searchValue, replaceValue);
3332
+ },
3333
+ // `RegExp.prototype[@@replace]` method
3334
+ // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
3335
+ function (regexp, replaceValue) {
3336
+ if (
3337
+ (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||
3338
+ (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)
3339
+ ) {
3340
+ var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
3341
+ if (res.done) return res.value;
3342
+ }
3343
 
3344
+ var rx = anObject(regexp);
3345
+ var S = String(this);
 
 
 
 
 
3346
 
3347
+ var functionalReplace = typeof replaceValue === 'function';
3348
+ if (!functionalReplace) replaceValue = String(replaceValue);
 
3349
 
3350
+ var global = rx.global;
3351
+ if (global) {
3352
+ var fullUnicode = rx.unicode;
3353
+ rx.lastIndex = 0;
3354
+ }
3355
+ var results = [];
3356
+ while (true) {
3357
+ var result = regExpExec(rx, S);
3358
+ if (result === null) break;
3359
 
3360
+ results.push(result);
3361
+ if (!global) break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3362
 
3363
+ var matchStr = String(result[0]);
3364
+ if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
3365
+ }
 
 
 
 
 
 
 
3366
 
3367
+ var accumulatedResult = '';
3368
+ var nextSourcePosition = 0;
3369
+ for (var i = 0; i < results.length; i++) {
3370
+ result = results[i];
3371
+
3372
+ var matched = String(result[0]);
3373
+ var position = max(min(toInteger(result.index), S.length), 0);
3374
+ var captures = [];
3375
+ // NOTE: This is equivalent to
3376
+ // captures = result.slice(1).map(maybeToString)
3377
+ // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
3378
+ // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
3379
+ // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
3380
+ for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
3381
+ var namedCaptures = result.groups;
3382
+ if (functionalReplace) {
3383
+ var replacerArgs = [matched].concat(captures, position, S);
3384
+ if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
3385
+ var replacement = String(replaceValue.apply(undefined, replacerArgs));
3386
+ } else {
3387
+ replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
3388
+ }
3389
+ if (position >= nextSourcePosition) {
3390
+ accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
3391
+ nextSourcePosition = position + matched.length;
3392
+ }
3393
+ }
3394
+ return accumulatedResult + S.slice(nextSourcePosition);
3395
  }
3396
+ ];
3397
+ });
3398
 
 
 
 
 
3399
 
3400
+ /***/ }),
3401
+ /* 128 */
3402
+ /***/ (function(module, exports) {
 
3403
 
3404
+ // iterable DOM collections
3405
+ // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
3406
+ module.exports = {
3407
+ CSSRuleList: 0,
3408
+ CSSStyleDeclaration: 0,
3409
+ CSSValueList: 0,
3410
+ ClientRectList: 0,
3411
+ DOMRectList: 0,
3412
+ DOMStringList: 0,
3413
+ DOMTokenList: 1,
3414
+ DataTransferItemList: 0,
3415
+ FileList: 0,
3416
+ HTMLAllCollection: 0,
3417
+ HTMLCollection: 0,
3418
+ HTMLFormElement: 0,
3419
+ HTMLSelectElement: 0,
3420
+ MediaList: 0,
3421
+ MimeTypeArray: 0,
3422
+ NamedNodeMap: 0,
3423
+ NodeList: 1,
3424
+ PaintRequestList: 0,
3425
+ Plugin: 0,
3426
+ PluginArray: 0,
3427
+ SVGLengthList: 0,
3428
+ SVGNumberList: 0,
3429
+ SVGPathSegList: 0,
3430
+ SVGPointList: 0,
3431
+ SVGStringList: 0,
3432
+ SVGTransformList: 0,
3433
+ SourceBufferList: 0,
3434
+ StyleSheetList: 0,
3435
+ TextTrackCueList: 0,
3436
+ TextTrackList: 0,
3437
+ TouchList: 0
3438
+ };
3439
 
3440
 
3441
+ /***/ }),
3442
+ /* 129 */
3443
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 
 
3444
 
3445
+ "use strict";
 
 
 
 
3446
 
3447
+ // EXPORTS
3448
+ __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _inheritsLoose; });
3449
 
3450
+ // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
3451
+ function _setPrototypeOf(o, p) {
3452
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
3453
+ o.__proto__ = p;
3454
+ return o;
3455
+ };
 
 
 
 
3456
 
3457
+ return _setPrototypeOf(o, p);
3458
+ }
3459
+ // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js
 
3460
 
3461
+ function _inheritsLoose(subClass, superClass) {
3462
+ subClass.prototype = Object.create(superClass.prototype);
3463
+ subClass.prototype.constructor = subClass;
3464
+ _setPrototypeOf(subClass, superClass);
3465
+ }
3466
 
3467
+ /***/ }),
3468
+ /* 130 */
3469
+ /***/ (function(module, exports, __webpack_require__) {
 
 
3470
 
3471
+ var DESCRIPTORS = __webpack_require__(13);
3472
+ var defineProperty = __webpack_require__(17).f;
3473
+
3474
+ var FunctionPrototype = Function.prototype;
3475
+ var FunctionPrototypeToString = FunctionPrototype.toString;
3476
+ var nameRE = /^\s*function ([^ (]*)/;
3477
+ var NAME = 'name';
3478
+
3479
+ // Function instances `.name` property
3480
+ // https://tc39.es/ecma262/#sec-function-instances-name
3481
+ if (DESCRIPTORS && !(NAME in FunctionPrototype)) {
3482
+ defineProperty(FunctionPrototype, NAME, {
3483
+ configurable: true,
3484
+ get: function () {
3485
+ try {
3486
+ return FunctionPrototypeToString.call(this).match(nameRE)[1];
3487
+ } catch (error) {
3488
+ return '';
3489
+ }
3490
+ }
3491
+ });
3492
  }
 
3493
 
 
 
 
3494
 
3495
+ /***/ }),
3496
+ /* 131 */
3497
+ /***/ (function(module, exports, __webpack_require__) {
 
3498
 
3499
+ "use strict";
 
 
 
3500
 
3501
+ var TO_STRING_TAG_SUPPORT = __webpack_require__(82);
3502
+ var classof = __webpack_require__(113);
 
3503
 
3504
+ // `Object.prototype.toString` method implementation
3505
+ // https://tc39.es/ecma262/#sec-object.prototype.tostring
3506
+ module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
3507
+ return '[object ' + classof(this) + ']';
3508
+ };
 
 
 
 
3509
 
 
 
 
 
 
 
 
 
 
 
 
3510
 
3511
+ /***/ }),
3512
+ /* 132 */
3513
+ /***/ (function(module, exports, __webpack_require__) {
3514
 
3515
+ var arrayLikeToArray = __webpack_require__(124);
 
 
 
 
 
 
 
 
3516
 
3517
+ function _unsupportedIterableToArray(o, minLen) {
3518
+ if (!o) return;
3519
+ if (typeof o === "string") return arrayLikeToArray(o, minLen);
3520
+ var n = Object.prototype.toString.call(o).slice(8, -1);
3521
+ if (n === "Object" && o.constructor) n = o.constructor.name;
3522
+ if (n === "Map" || n === "Set") return Array.from(o);
3523
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
3524
+ }
3525
 
3526
+ module.exports = _unsupportedIterableToArray;
 
 
3527
 
3528
+ /***/ }),
3529
+ /* 133 */
3530
+ /***/ (function(module, exports) {
 
 
3531
 
3532
+ (function() { module.exports = window["wp"]["htmlEntities"]; }());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3533
 
3534
+ /***/ }),
3535
+ /* 134 */
3536
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
3537
 
3538
+ "use strict";
3539
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutPropertiesLoose; });
3540
+ function _objectWithoutPropertiesLoose(source, excluded) {
3541
+ if (source == null) return {};
3542
+ var target = {};
3543
+ var sourceKeys = Object.keys(source);
3544
+ var key, i;
 
 
 
 
 
 
 
 
3545
 
3546
+ for (i = 0; i < sourceKeys.length; i++) {
3547
+ key = sourceKeys[i];
3548
+ if (excluded.indexOf(key) >= 0) continue;
3549
+ target[key] = source[key];
3550
+ }
3551
 
3552
+ return target;
3553
+ }
 
3554
 
3555
+ /***/ }),
3556
+ /* 135 */
3557
+ /***/ (function(module, exports) {
 
 
 
 
 
 
3558
 
3559
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
3560
+ try {
3561
+ var info = gen[key](arg);
3562
+ var value = info.value;
3563
+ } catch (error) {
3564
+ reject(error);
3565
+ return;
3566
+ }
3567
+
3568
+ if (info.done) {
3569
+ resolve(value);
3570
+ } else {
3571
+ Promise.resolve(value).then(_next, _throw);
3572
+ }
3573
+ }
3574
+
3575
+ function _asyncToGenerator(fn) {
3576
+ return function () {
3577
+ var self = this,
3578
+ args = arguments;
3579
+ return new Promise(function (resolve, reject) {
3580
+ var gen = fn.apply(self, args);
3581
+
3582
+ function _next(value) {
3583
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
3584
+ }
3585
+
3586
+ function _throw(err) {
3587
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
3588
+ }
3589
+
3590
+ _next(undefined);
3591
+ });
3592
  };
3593
  }
 
3594
 
3595
+ module.exports = _asyncToGenerator;
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__(122);
 
 
 
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__(128);
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__(122);
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__(167);
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
+ /***/ (function(module, exports, __webpack_require__) {
4239
+
4240
+ var toObject = __webpack_require__(37);
4241
+
4242
+ var floor = Math.floor;
4243
+ var replace = ''.replace;
4244
+ var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
4245
+ var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
4246
+
4247
+ // https://tc39.es/ecma262/#sec-getsubstitution
4248
+ module.exports = function (matched, str, position, captures, namedCaptures, replacement) {
4249
+ var tailPos = position + matched.length;
4250
+ var m = captures.length;
4251
+ var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
4252
+ if (namedCaptures !== undefined) {
4253
+ namedCaptures = toObject(namedCaptures);
4254
+ symbols = SUBSTITUTION_SYMBOLS;
4255
  }
4256
+ return replace.call(replacement, symbols, function (match, ch) {
4257
+ var capture;
4258
+ switch (ch.charAt(0)) {
4259
+ case '$': return '$';
4260
+ case '&': return matched;
4261
+ case '`': return str.slice(0, position);
4262
+ case "'": return str.slice(tailPos);
4263
+ case '<':
4264
+ capture = namedCaptures[ch.slice(1, -1)];
4265
+ break;
4266
+ default: // \d\d?
4267
+ var n = +ch;
4268
+ if (n === 0) return match;
4269
+ if (n > m) {
4270
+ var f = floor(n / 10);
4271
+ if (f === 0) return match;
4272
+ if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
4273
+ return match;
4274
+ }
4275
+ capture = captures[n - 1];
4276
+ }
4277
+ return capture === undefined ? '' : capture;
4278
+ });
4279
+ };
4280
 
 
 
4281
 
4282
+ /***/ }),
4283
+ /* 162 */,
4284
+ /* 163 */
4285
+ /***/ (function(module, exports, __webpack_require__) {
4286
 
4287
+ "use strict";
 
 
 
 
 
 
 
 
 
4288
 
 
 
4289
 
4290
+ var stringify = __webpack_require__(227);
4291
+ var parse = __webpack_require__(228);
4292
+ var formats = __webpack_require__(169);
 
 
4293
 
4294
+ module.exports = {
4295
+ formats: formats,
4296
+ parse: parse,
4297
+ stringify: stringify
 
4298
  };
 
 
 
 
 
 
4299
 
 
 
 
 
 
 
 
4300
 
4301
+ /***/ }),
4302
+ /* 164 */
4303
+ /***/ (function(module, exports) {
 
 
 
 
4304
 
4305
+ (function() { module.exports = window["ReactDOM"]; }());
 
 
 
 
 
 
4306
 
4307
+ /***/ }),
4308
+ /* 165 */
4309
+ /***/ (function(module, exports, __webpack_require__) {
4310
 
4311
+ "use strict";
4312
+
4313
+ var $ = __webpack_require__(12);
4314
+ var IS_PURE = __webpack_require__(57);
4315
+ var global = __webpack_require__(3);
4316
+ var getBuiltIn = __webpack_require__(31);
4317
+ var NativePromise = __webpack_require__(193);
4318
+ var redefine = __webpack_require__(27);
4319
+ var redefineAll = __webpack_require__(152);
4320
+ var setToStringTag = __webpack_require__(90);
4321
+ var setSpecies = __webpack_require__(153);
4322
+ var isObject = __webpack_require__(10);
4323
+ var aFunction = __webpack_require__(70);
4324
+ var anInstance = __webpack_require__(136);
4325
+ var inspectSource = __webpack_require__(68);
4326
+ var iterate = __webpack_require__(154);
4327
+ var checkCorrectnessOfIteration = __webpack_require__(166);
4328
+ var speciesConstructor = __webpack_require__(150);
4329
+ var task = __webpack_require__(157).set;
4330
+ var microtask = __webpack_require__(194);
4331
+ var promiseResolve = __webpack_require__(196);
4332
+ var hostReportErrors = __webpack_require__(197);
4333
+ var newPromiseCapabilityModule = __webpack_require__(159);
4334
+ var perform = __webpack_require__(198);
4335
+ var InternalStateModule = __webpack_require__(45);
4336
+ var isForced = __webpack_require__(74);
4337
+ var wellKnownSymbol = __webpack_require__(8);
4338
+ var IS_NODE = __webpack_require__(77);
4339
+ var V8_VERSION = __webpack_require__(63);
4340
+
4341
+ var SPECIES = wellKnownSymbol('species');
4342
+ var PROMISE = 'Promise';
4343
+ var getInternalState = InternalStateModule.get;
4344
+ var setInternalState = InternalStateModule.set;
4345
+ var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
4346
+ var PromiseConstructor = NativePromise;
4347
+ var TypeError = global.TypeError;
4348
+ var document = global.document;
4349
+ var process = global.process;
4350
+ var $fetch = getBuiltIn('fetch');
4351
+ var newPromiseCapability = newPromiseCapabilityModule.f;
4352
+ var newGenericPromiseCapability = newPromiseCapability;
4353
+ var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);
4354
+ var NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';
4355
+ var UNHANDLED_REJECTION = 'unhandledrejection';
4356
+ var REJECTION_HANDLED = 'rejectionhandled';
4357
+ var PENDING = 0;
4358
+ var FULFILLED = 1;
4359
+ var REJECTED = 2;
4360
+ var HANDLED = 1;
4361
+ var UNHANDLED = 2;
4362
+ var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
4363
+
4364
+ var FORCED = isForced(PROMISE, function () {
4365
+ var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);
4366
+ if (!GLOBAL_CORE_JS_PROMISE) {
4367
+ // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
4368
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
4369
+ // We can't detect it synchronously, so just check versions
4370
+ if (V8_VERSION === 66) return true;
4371
+ // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test
4372
+ if (!IS_NODE && !NATIVE_REJECTION_EVENT) return true;
4373
+ }
4374
+ // We need Promise#finally in the pure version for preventing prototype pollution
4375
+ if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;
4376
+ // We can't use @@species feature detection in V8 since it causes
4377
+ // deoptimization and performance degradation
4378
+ // https://github.com/zloirock/core-js/issues/679
4379
+ if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;
4380
+ // Detect correctness of subclassing with @@species support
4381
+ var promise = PromiseConstructor.resolve(1);
4382
+ var FakePromise = function (exec) {
4383
+ exec(function () { /* empty */ }, function () { /* empty */ });
4384
  };
4385
+ var constructor = promise.constructor = {};
4386
+ constructor[SPECIES] = FakePromise;
4387
+ return !(promise.then(function () { /* empty */ }) instanceof FakePromise);
4388
+ });
 
 
4389
 
4390
+ var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
4391
+ PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });
4392
+ });
 
 
4393
 
4394
+ // helpers
4395
+ var isThenable = function (it) {
4396
+ var then;
4397
+ return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
4398
+ };
4399
+
4400
+ var notify = function (state, isReject) {
4401
+ if (state.notified) return;
4402
+ state.notified = true;
4403
+ var chain = state.reactions;
4404
+ microtask(function () {
4405
+ var value = state.value;
4406
+ var ok = state.state == FULFILLED;
4407
+ var index = 0;
4408
+ // variable length - can't use forEach
4409
+ while (chain.length > index) {
4410
+ var reaction = chain[index++];
4411
+ var handler = ok ? reaction.ok : reaction.fail;
4412
+ var resolve = reaction.resolve;
4413
+ var reject = reaction.reject;
4414
+ var domain = reaction.domain;
4415
+ var result, then, exited;
4416
+ try {
4417
+ if (handler) {
4418
+ if (!ok) {
4419
+ if (state.rejection === UNHANDLED) onHandleUnhandled(state);
4420
+ state.rejection = HANDLED;
4421
+ }
4422
+ if (handler === true) result = value;
4423
+ else {
4424
+ if (domain) domain.enter();
4425
+ result = handler(value); // can throw
4426
+ if (domain) {
4427
+ domain.exit();
4428
+ exited = true;
4429
+ }
4430
+ }
4431
+ if (result === reaction.promise) {
4432
+ reject(TypeError('Promise-chain cycle'));
4433
+ } else if (then = isThenable(result)) {
4434
+ then.call(result, resolve, reject);
4435
+ } else resolve(result);
4436
+ } else reject(value);
4437
+ } catch (error) {
4438
+ if (domain && !exited) domain.exit();
4439
+ reject(error);
4440
+ }
4441
  }
4442
+ state.reactions = [];
4443
+ state.notified = false;
4444
+ if (isReject && !state.rejection) onUnhandled(state);
4445
  });
 
4446
  };
 
 
 
 
 
 
 
 
4447
 
4448
+ var dispatchEvent = function (name, promise, reason) {
4449
+ var event, handler;
4450
+ if (DISPATCH_EVENT) {
4451
+ event = document.createEvent('Event');
4452
+ event.promise = promise;
4453
+ event.reason = reason;
4454
+ event.initEvent(name, false, true);
4455
+ global.dispatchEvent(event);
4456
+ } else event = { promise: promise, reason: reason };
4457
+ if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);
4458
+ else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);
4459
  };
 
 
 
 
 
 
4460
 
4461
+ var onUnhandled = function (state) {
4462
+ task.call(global, function () {
4463
+ var promise = state.facade;
4464
+ var value = state.value;
4465
+ var IS_UNHANDLED = isUnhandled(state);
4466
+ var result;
4467
+ if (IS_UNHANDLED) {
4468
+ result = perform(function () {
4469
+ if (IS_NODE) {
4470
+ process.emit('unhandledRejection', value, promise);
4471
+ } else dispatchEvent(UNHANDLED_REJECTION, promise, value);
4472
+ });
4473
+ // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
4474
+ state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
4475
+ if (result.error) throw result.value;
4476
  }
 
 
4477
  });
4478
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4479
 
4480
+ var isUnhandled = function (state) {
4481
+ return state.rejection !== HANDLED && !state.parent;
4482
+ };
4483
 
4484
+ var onHandleUnhandled = function (state) {
4485
+ task.call(global, function () {
4486
+ var promise = state.facade;
4487
+ if (IS_NODE) {
4488
+ process.emit('rejectionHandled', promise);
4489
+ } else dispatchEvent(REJECTION_HANDLED, promise, state.value);
4490
+ });
4491
+ };
4492
 
4493
+ var bind = function (fn, state, unwrap) {
4494
+ return function (value) {
4495
+ fn(state, value, unwrap);
4496
+ };
4497
+ };
4498
 
4499
+ var internalReject = function (state, value, unwrap) {
4500
+ if (state.done) return;
4501
+ state.done = true;
4502
+ if (unwrap) state = unwrap;
4503
+ state.value = value;
4504
+ state.state = REJECTED;
4505
+ notify(state, true);
4506
+ };
4507
 
4508
+ var internalResolve = function (state, value, unwrap) {
4509
+ if (state.done) return;
4510
+ state.done = true;
4511
+ if (unwrap) state = unwrap;
4512
+ try {
4513
+ if (state.facade === value) throw TypeError("Promise can't be resolved itself");
4514
+ var then = isThenable(value);
4515
+ if (then) {
4516
+ microtask(function () {
4517
+ var wrapper = { done: false };
4518
+ try {
4519
+ then.call(value,
4520
+ bind(internalResolve, wrapper, state),
4521
+ bind(internalReject, wrapper, state)
4522
+ );
4523
+ } catch (error) {
4524
+ internalReject(wrapper, error, state);
4525
+ }
4526
+ });
4527
+ } else {
4528
+ state.value = value;
4529
+ state.state = FULFILLED;
4530
+ notify(state, false);
4531
  }
4532
+ } catch (error) {
4533
+ internalReject({ done: false }, error, state);
4534
+ }
 
 
 
 
 
4535
  };
 
 
4536
 
4537
+ // constructor polyfill
4538
+ if (FORCED) {
4539
+ // 25.4.3.1 Promise(executor)
4540
+ PromiseConstructor = function Promise(executor) {
4541
+ anInstance(this, PromiseConstructor, PROMISE);
4542
+ aFunction(executor);
4543
+ Internal.call(this);
4544
+ var state = getInternalState(this);
4545
+ try {
4546
+ executor(bind(internalResolve, state), bind(internalReject, state));
4547
+ } catch (error) {
4548
+ internalReject(state, error);
4549
+ }
4550
+ };
4551
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
4552
+ Internal = function Promise(executor) {
4553
+ setInternalState(this, {
4554
+ type: PROMISE,
4555
+ done: false,
4556
+ notified: false,
4557
+ parent: false,
4558
+ reactions: [],
4559
+ rejection: false,
4560
+ state: PENDING,
4561
+ value: undefined
4562
+ });
4563
+ };
4564
+ Internal.prototype = redefineAll(PromiseConstructor.prototype, {
4565
+ // `Promise.prototype.then` method
4566
+ // https://tc39.es/ecma262/#sec-promise.prototype.then
4567
+ then: function then(onFulfilled, onRejected) {
4568
+ var state = getInternalPromiseState(this);
4569
+ var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
4570
+ reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
4571
+ reaction.fail = typeof onRejected == 'function' && onRejected;
4572
+ reaction.domain = IS_NODE ? process.domain : undefined;
4573
+ state.parent = true;
4574
+ state.reactions.push(reaction);
4575
+ if (state.state != PENDING) notify(state, false);
4576
+ return reaction.promise;
4577
+ },
4578
+ // `Promise.prototype.catch` method
4579
+ // https://tc39.es/ecma262/#sec-promise.prototype.catch
4580
+ 'catch': function (onRejected) {
4581
+ return this.then(undefined, onRejected);
4582
+ }
4583
+ });
4584
+ OwnPromiseCapability = function () {
4585
+ var promise = new Internal();
4586
+ var state = getInternalState(promise);
4587
+ this.promise = promise;
4588
+ this.resolve = bind(internalResolve, state);
4589
+ this.reject = bind(internalReject, state);
4590
+ };
4591
+ newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
4592
+ return C === PromiseConstructor || C === PromiseWrapper
4593
+ ? new OwnPromiseCapability(C)
4594
+ : newGenericPromiseCapability(C);
4595
+ };
4596
 
4597
+ if (!IS_PURE && typeof NativePromise == 'function') {
4598
+ nativeThen = NativePromise.prototype.then;
4599
+
4600
+ // wrap native Promise#then for native async functions
4601
+ redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {
4602
+ var that = this;
4603
+ return new PromiseConstructor(function (resolve, reject) {
4604
+ nativeThen.call(that, resolve, reject);
4605
+ }).then(onFulfilled, onRejected);
4606
+ // https://github.com/zloirock/core-js/issues/640
4607
+ }, { unsafe: true });
4608
+
4609
+ // wrap fetch result
4610
+ if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {
4611
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
4612
+ fetch: function fetch(input /* , init */) {
4613
+ return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));
4614
+ }
4615
+ });
4616
+ }
4617
+ }
4618
 
4619
+ $({ global: true, wrap: true, forced: FORCED }, {
4620
+ Promise: PromiseConstructor
4621
+ });
4622
 
4623
+ setToStringTag(PromiseConstructor, PROMISE, false, true);
4624
+ setSpecies(PROMISE);
4625
 
4626
+ PromiseWrapper = getBuiltIn(PROMISE);
 
 
4627
 
4628
+ // statics
4629
+ $({ target: PROMISE, stat: true, forced: FORCED }, {
4630
+ // `Promise.reject` method
4631
+ // https://tc39.es/ecma262/#sec-promise.reject
4632
+ reject: function reject(r) {
4633
+ var capability = newPromiseCapability(this);
4634
+ capability.reject.call(undefined, r);
4635
+ return capability.promise;
4636
+ }
4637
+ });
4638
 
4639
+ $({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {
4640
+ // `Promise.resolve` method
4641
+ // https://tc39.es/ecma262/#sec-promise.resolve
4642
+ resolve: function resolve(x) {
4643
+ return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);
4644
+ }
4645
+ });
4646
 
4647
+ $({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
4648
+ // `Promise.all` method
4649
+ // https://tc39.es/ecma262/#sec-promise.all
4650
+ all: function all(iterable) {
4651
+ var C = this;
4652
+ var capability = newPromiseCapability(C);
4653
+ var resolve = capability.resolve;
4654
+ var reject = capability.reject;
4655
+ var result = perform(function () {
4656
+ var $promiseResolve = aFunction(C.resolve);
4657
+ var values = [];
4658
+ var counter = 0;
4659
+ var remaining = 1;
4660
+ iterate(iterable, function (promise) {
4661
+ var index = counter++;
4662
+ var alreadyCalled = false;
4663
+ values.push(undefined);
4664
+ remaining++;
4665
+ $promiseResolve.call(C, promise).then(function (value) {
4666
+ if (alreadyCalled) return;
4667
+ alreadyCalled = true;
4668
+ values[index] = value;
4669
+ --remaining || resolve(values);
4670
+ }, reject);
4671
+ });
4672
+ --remaining || resolve(values);
4673
+ });
4674
+ if (result.error) reject(result.value);
4675
+ return capability.promise;
4676
+ },
4677
+ // `Promise.race` method
4678
+ // https://tc39.es/ecma262/#sec-promise.race
4679
+ race: function race(iterable) {
4680
+ var C = this;
4681
+ var capability = newPromiseCapability(C);
4682
+ var reject = capability.reject;
4683
+ var result = perform(function () {
4684
+ var $promiseResolve = aFunction(C.resolve);
4685
+ iterate(iterable, function (promise) {
4686
+ $promiseResolve.call(C, promise).then(capability.resolve, reject);
4687
+ });
4688
+ });
4689
+ if (result.error) reject(result.value);
4690
+ return capability.promise;
4691
+ }
4692
+ });
4693
 
4694
 
4695
+ /***/ }),
4696
+ /* 166 */
4697
+ /***/ (function(module, exports, __webpack_require__) {
4698
 
4699
+ var wellKnownSymbol = __webpack_require__(8);
4700
 
4701
+ var ITERATOR = wellKnownSymbol('iterator');
4702
+ var SAFE_CLOSING = false;
4703
 
4704
+ try {
4705
+ var called = 0;
4706
+ var iteratorWithReturn = {
4707
+ next: function () {
4708
+ return { done: !!called++ };
4709
+ },
4710
+ 'return': function () {
4711
+ SAFE_CLOSING = true;
4712
+ }
4713
+ };
4714
+ iteratorWithReturn[ITERATOR] = function () {
4715
+ return this;
4716
+ };
4717
+ // eslint-disable-next-line no-throw-literal -- required for testing
4718
+ Array.from(iteratorWithReturn, function () { throw 2; });
4719
+ } catch (error) { /* empty */ }
4720
 
4721
+ module.exports = function (exec, SKIP_CLOSING) {
4722
+ if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
4723
+ var ITERATION_SUPPORT = false;
4724
+ try {
4725
+ var object = {};
4726
+ object[ITERATOR] = function () {
4727
+ return {
4728
+ next: function () {
4729
+ return { done: ITERATION_SUPPORT = true };
4730
+ }
4731
+ };
4732
+ };
4733
+ exec(object);
4734
+ } catch (error) { /* empty */ }
4735
+ return ITERATION_SUPPORT;
4736
+ };
4737
 
 
 
 
 
4738
 
4739
+ /***/ }),
4740
+ /* 167 */
4741
+ /***/ (function(module, exports, __webpack_require__) {
 
4742
 
4743
+ "use strict";
 
 
 
 
4744
 
4745
+ var $ = __webpack_require__(12);
4746
+ var createIteratorConstructor = __webpack_require__(199);
4747
+ var getPrototypeOf = __webpack_require__(174);
4748
+ var setPrototypeOf = __webpack_require__(143);
4749
+ var setToStringTag = __webpack_require__(90);
4750
+ var createNonEnumerableProperty = __webpack_require__(19);
4751
+ var redefine = __webpack_require__(27);
4752
+ var wellKnownSymbol = __webpack_require__(8);
4753
+ var IS_PURE = __webpack_require__(57);
4754
+ var Iterators = __webpack_require__(110);
4755
+ var IteratorsCore = __webpack_require__(173);
4756
+
4757
+ var IteratorPrototype = IteratorsCore.IteratorPrototype;
4758
+ var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
4759
+ var ITERATOR = wellKnownSymbol('iterator');
4760
+ var KEYS = 'keys';
4761
+ var VALUES = 'values';
4762
+ var ENTRIES = 'entries';
4763
+
4764
+ var returnThis = function () { return this; };
4765
+
4766
+ module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
4767
+ createIteratorConstructor(IteratorConstructor, NAME, next);
4768
+
4769
+ var getIterationMethod = function (KIND) {
4770
+ if (KIND === DEFAULT && defaultIterator) return defaultIterator;
4771
+ if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];
4772
+ switch (KIND) {
4773
+ case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
4774
+ case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
4775
+ case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
4776
+ } return function () { return new IteratorConstructor(this); };
4777
  };
4778
 
4779
+ var TO_STRING_TAG = NAME + ' Iterator';
4780
+ var INCORRECT_VALUES_NAME = false;
4781
+ var IterablePrototype = Iterable.prototype;
4782
+ var nativeIterator = IterablePrototype[ITERATOR]
4783
+ || IterablePrototype['@@iterator']
4784
+ || DEFAULT && IterablePrototype[DEFAULT];
4785
+ var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
4786
+ var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
4787
+ var CurrentIteratorPrototype, methods, KEY;
4788
+
4789
+ // fix native
4790
+ if (anyNativeIterator) {
4791
+ CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
4792
+ if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
4793
+ if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
4794
+ if (setPrototypeOf) {
4795
+ setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
4796
+ } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {
4797
+ createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);
4798
+ }
4799
+ }
4800
+ // Set @@toStringTag to native iterators
4801
+ setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
4802
+ if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;
4803
  }
4804
+ }
 
 
 
4805
 
4806
+ // fix Array#{values, @@iterator}.name in V8 / FF
4807
+ if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
4808
+ INCORRECT_VALUES_NAME = true;
4809
+ defaultIterator = function values() { return nativeIterator.call(this); };
4810
+ }
 
4811
 
4812
+ // define iterator
4813
+ if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
4814
+ createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);
4815
+ }
4816
+ Iterators[NAME] = defaultIterator;
4817
+
4818
+ // export additional methods
4819
+ if (DEFAULT) {
4820
+ methods = {
4821
+ values: getIterationMethod(VALUES),
4822
+ keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
4823
+ entries: getIterationMethod(ENTRIES)
4824
+ };
4825
+ if (FORCED) for (KEY in methods) {
4826
+ if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
4827
+ redefine(IterablePrototype, KEY, methods[KEY]);
4828
  }
4829
+ } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
4830
+ }
 
 
 
 
4831
 
4832
+ return methods;
4833
+ };
 
 
 
 
4834
 
 
 
 
 
 
 
 
 
4835
 
4836
+ /***/ }),
4837
+ /* 168 */,
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__(37);
4995
+ var sharedKey = __webpack_require__(51);
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 DESCRIPTORS = __webpack_require__(13);
5040
+ var global = __webpack_require__(3);
5041
+ var isForced = __webpack_require__(74);
5042
+ var redefine = __webpack_require__(27);
5043
+ var has = __webpack_require__(11);
5044
+ var classof = __webpack_require__(30);
5045
+ var inheritIfRequired = __webpack_require__(156);
5046
+ var toPrimitive = __webpack_require__(40);
5047
+ var fails = __webpack_require__(6);
5048
+ var create = __webpack_require__(69);
5049
+ var getOwnPropertyNames = __webpack_require__(56).f;
5050
+ var getOwnPropertyDescriptor = __webpack_require__(33).f;
5051
+ var defineProperty = __webpack_require__(17).f;
5052
+ var trim = __webpack_require__(188).trim;
5053
+
5054
+ var NUMBER = 'Number';
5055
+ var NativeNumber = global[NUMBER];
5056
+ var NumberPrototype = NativeNumber.prototype;
5057
+
5058
+ // Opera ~12 has broken Object#toString
5059
+ var BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;
5060
+
5061
+ // `ToNumber` abstract operation
5062
+ // https://tc39.es/ecma262/#sec-tonumber
5063
+ var toNumber = function (argument) {
5064
+ var it = toPrimitive(argument, false);
5065
+ var first, third, radix, maxCode, digits, length, index, code;
5066
+ if (typeof it == 'string' && it.length > 2) {
5067
+ it = trim(it);
5068
+ first = it.charCodeAt(0);
5069
+ if (first === 43 || first === 45) {
5070
+ third = it.charCodeAt(2);
5071
+ if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
5072
+ } else if (first === 48) {
5073
+ switch (it.charCodeAt(1)) {
5074
+ case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i
5075
+ case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i
5076
+ default: return +it;
5077
+ }
5078
+ digits = it.slice(2);
5079
+ length = digits.length;
5080
+ for (index = 0; index < length; index++) {
5081
+ code = digits.charCodeAt(index);
5082
+ // parseInt parses a string to a first unavailable symbol
5083
+ // but ToNumber should return NaN if a string contains unavailable symbols
5084
+ if (code < 48 || code > maxCode) return NaN;
5085
+ } return parseInt(digits, radix);
5086
+ }
5087
+ } return +it;
5088
+ };
5089
 
5090
+ // `Number` constructor
5091
+ // https://tc39.es/ecma262/#sec-number-constructor
5092
+ if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {
5093
+ var NumberWrapper = function Number(value) {
5094
+ var it = arguments.length < 1 ? 0 : value;
5095
+ var dummy = this;
5096
+ return dummy instanceof NumberWrapper
5097
+ // check on 1..constructor(foo) case
5098
+ && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)
5099
+ ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);
5100
+ };
5101
+ for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (
5102
+ // ES3:
5103
+ 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
5104
+ // ES2015 (in case, if modules with ES2015 Number statics required before):
5105
+ 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
5106
+ 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +
5107
+ // ESNext
5108
+ 'fromString,range'
5109
+ ).split(','), j = 0, key; keys.length > j; j++) {
5110
+ if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {
5111
+ defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));
5112
+ }
5113
  }
5114
+ NumberWrapper.prototype = NumberPrototype;
5115
+ NumberPrototype.constructor = NumberWrapper;
5116
+ redefine(global, NUMBER, NumberWrapper);
5117
+ }
5118
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5119
 
5120
+ /***/ }),
5121
+ /* 178 */
5122
+ /***/ (function(module, exports, __webpack_require__) {
5123
 
5124
+ var arrayLikeToArray = __webpack_require__(124);
 
 
5125
 
5126
+ function _arrayWithoutHoles(arr) {
5127
+ if (Array.isArray(arr)) return arrayLikeToArray(arr);
5128
+ }
5129
 
5130
+ module.exports = _arrayWithoutHoles;
5131
 
5132
+ /***/ }),
5133
+ /* 179 */
5134
+ /***/ (function(module, exports) {
 
 
5135
 
5136
+ function _iterableToArray(iter) {
5137
+ if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
5138
+ }
 
 
 
 
 
 
5139
 
5140
+ module.exports = _iterableToArray;
 
 
 
 
 
5141
 
5142
+ /***/ }),
5143
+ /* 180 */
5144
+ /***/ (function(module, exports) {
5145
 
5146
+ function _nonIterableSpread() {
5147
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5148
+ }
5149
 
5150
+ module.exports = _nonIterableSpread;
5151
 
5152
+ /***/ }),
5153
+ /* 181 */
5154
+ /***/ (function(module, exports) {
5155
 
5156
+ function _arrayWithHoles(arr) {
5157
+ if (Array.isArray(arr)) return arr;
5158
+ }
5159
 
5160
+ module.exports = _arrayWithHoles;
 
 
 
5161
 
5162
+ /***/ }),
5163
+ /* 182 */
5164
+ /***/ (function(module, exports) {
 
 
 
5165
 
5166
+ function _iterableToArrayLimit(arr, i) {
5167
+ if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
5168
+ var _arr = [];
5169
+ var _n = true;
5170
+ var _d = false;
5171
+ var _e = undefined;
5172
 
5173
+ try {
5174
+ for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
5175
+ _arr.push(_s.value);
5176
 
5177
+ if (i && _arr.length === i) break;
5178
+ }
5179
+ } catch (err) {
5180
+ _d = true;
5181
+ _e = err;
5182
+ } finally {
5183
+ try {
5184
+ if (!_n && _i["return"] != null) _i["return"]();
5185
+ } finally {
5186
+ if (_d) throw _e;
5187
+ }
5188
  }
5189
 
5190
+ return _arr;
5191
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5192
 
5193
+ module.exports = _iterableToArrayLimit;
5194
 
5195
+ /***/ }),
5196
+ /* 183 */
5197
+ /***/ (function(module, exports) {
5198
 
5199
+ function _nonIterableRest() {
5200
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5201
+ }
5202
 
5203
+ module.exports = _nonIterableRest;
 
 
5204
 
5205
+ /***/ }),
5206
+ /* 184 */,
5207
+ /* 185 */,
5208
+ /* 186 */
5209
+ /***/ (function(module, exports, __webpack_require__) {
5210
 
5211
+ "use strict";
5212
 
5213
+ var fixRegExpWellKnownSymbolLogic = __webpack_require__(111);
5214
+ var isRegExp = __webpack_require__(144);
5215
+ var anObject = __webpack_require__(9);
5216
+ var requireObjectCoercible = __webpack_require__(32);
5217
+ var speciesConstructor = __webpack_require__(150);
5218
+ var advanceStringIndex = __webpack_require__(121);
5219
+ var toLength = __webpack_require__(34);
5220
+ var callRegExpExec = __webpack_require__(112);
5221
+ var regexpExec = __webpack_require__(91);
5222
+ var fails = __webpack_require__(6);
5223
+
5224
+ var arrayPush = [].push;
5225
+ var min = Math.min;
5226
+ var MAX_UINT32 = 0xFFFFFFFF;
5227
+
5228
+ // babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
5229
+ var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });
5230
+
5231
+ // @@split logic
5232
+ fixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
5233
+ var internalSplit;
5234
+ if (
5235
+ 'abbc'.split(/(b)*/)[1] == 'c' ||
5236
+ // eslint-disable-next-line regexp/no-empty-group -- required for testing
5237
+ 'test'.split(/(?:)/, -1).length != 4 ||
5238
+ 'ab'.split(/(?:ab)*/).length != 2 ||
5239
+ '.'.split(/(.?)(.?)/).length != 4 ||
5240
+ // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
5241
+ '.'.split(/()()/).length > 1 ||
5242
+ ''.split(/.?/).length
5243
+ ) {
5244
+ // based on es5-shim implementation, need to rework it
5245
+ internalSplit = function (separator, limit) {
5246
+ var string = String(requireObjectCoercible(this));
5247
+ var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
5248
+ if (lim === 0) return [];
5249
+ if (separator === undefined) return [string];
5250
+ // If `separator` is not a regex, use native split
5251
+ if (!isRegExp(separator)) {
5252
+ return nativeSplit.call(string, separator, lim);
5253
+ }
5254
+ var output = [];
5255
+ var flags = (separator.ignoreCase ? 'i' : '') +
5256
+ (separator.multiline ? 'm' : '') +
5257
+ (separator.unicode ? 'u' : '') +
5258
+ (separator.sticky ? 'y' : '');
5259
+ var lastLastIndex = 0;
5260
+ // Make `global` and avoid `lastIndex` issues by working with a copy
5261
+ var separatorCopy = new RegExp(separator.source, flags + 'g');
5262
+ var match, lastIndex, lastLength;
5263
+ while (match = regexpExec.call(separatorCopy, string)) {
5264
+ lastIndex = separatorCopy.lastIndex;
5265
+ if (lastIndex > lastLastIndex) {
5266
+ output.push(string.slice(lastLastIndex, match.index));
5267
+ if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
5268
+ lastLength = match[0].length;
5269
+ lastLastIndex = lastIndex;
5270
+ if (output.length >= lim) break;
5271
+ }
5272
+ if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
5273
+ }
5274
+ if (lastLastIndex === string.length) {
5275
+ if (lastLength || !separatorCopy.test('')) output.push('');
5276
+ } else output.push(string.slice(lastLastIndex));
5277
+ return output.length > lim ? output.slice(0, lim) : output;
5278
+ };
5279
+ // Chakra, V8
5280
+ } else if ('0'.split(undefined, 0).length) {
5281
+ internalSplit = function (separator, limit) {
5282
+ return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
5283
+ };
5284
+ } else internalSplit = nativeSplit;
5285
+
5286
+ return [
5287
+ // `String.prototype.split` method
5288
+ // https://tc39.es/ecma262/#sec-string.prototype.split
5289
+ function split(separator, limit) {
5290
+ var O = requireObjectCoercible(this);
5291
+ var splitter = separator == undefined ? undefined : separator[SPLIT];
5292
+ return splitter !== undefined
5293
+ ? splitter.call(separator, O, limit)
5294
+ : internalSplit.call(String(O), separator, limit);
5295
+ },
5296
+ // `RegExp.prototype[@@split]` method
5297
+ // https://tc39.es/ecma262/#sec-regexp.prototype-@@split
5298
+ //
5299
+ // NOTE: This cannot be properly polyfilled in engines that don't support
5300
+ // the 'y' flag.
5301
+ function (regexp, limit) {
5302
+ var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
5303
+ if (res.done) return res.value;
5304
+
5305
+ var rx = anObject(regexp);
5306
+ var S = String(this);
5307
+ var C = speciesConstructor(rx, RegExp);
5308
+
5309
+ var unicodeMatching = rx.unicode;
5310
+ var flags = (rx.ignoreCase ? 'i' : '') +
5311
+ (rx.multiline ? 'm' : '') +
5312
+ (rx.unicode ? 'u' : '') +
5313
+ (SUPPORTS_Y ? 'y' : 'g');
5314
+
5315
+ // ^(? + rx + ) is needed, in combination with some S slicing, to
5316
+ // simulate the 'y' flag.
5317
+ var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
5318
+ var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
5319
+ if (lim === 0) return [];
5320
+ if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];
5321
+ var p = 0;
5322
+ var q = 0;
5323
+ var A = [];
5324
+ while (q < S.length) {
5325
+ splitter.lastIndex = SUPPORTS_Y ? q : 0;
5326
+ var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));
5327
+ var e;
5328
+ if (
5329
+ z === null ||
5330
+ (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
5331
+ ) {
5332
+ q = advanceStringIndex(S, q, unicodeMatching);
5333
+ } else {
5334
+ A.push(S.slice(p, q));
5335
+ if (A.length === lim) return A;
5336
+ for (var i = 1; i <= z.length - 1; i++) {
5337
+ A.push(z[i]);
5338
+ if (A.length === lim) return A;
5339
+ }
5340
+ q = p = e;
5341
+ }
5342
+ }
5343
+ A.push(S.slice(p));
5344
+ return A;
5345
+ }
5346
+ ];
5347
+ }, !SUPPORTS_Y);
5348
 
 
 
 
5349
 
5350
+ /***/ }),
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__(121);
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__(37);
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__(134);
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__(166);
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__(186);
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__(52);
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__(177);
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__(127);
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__(133);
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__(37);
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__(167);
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__(165);
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, 583));
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, 579));
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, 584));
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, 585));
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, 581));
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, 586));
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, 587));
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, 588));
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, 580));
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, 582));
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__(38);
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__(165);
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__(127);
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__(52);
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__(129);
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__(134);
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__(163);
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__(420);
9916
+
9917
+ // EXTERNAL MODULE: ./client/layout/style.scss
9918
+ var layout_style = __webpack_require__(421);
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__(186);
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__(133);
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__(425);
10276
+
10277
+ // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-left.js
10278
+ var chevron_left = __webpack_require__(596);
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__(422);
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__(130);
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__(595);
10330
+
10331
+ // EXTERNAL MODULE: ./client/header/activity-panel/style.scss
10332
+ var activity_panel_style = __webpack_require__(423);
10333
+
10334
+ // EXTERNAL MODULE: ./client/inbox-panel/utils.js
10335
+ var inbox_panel_utils = __webpack_require__(331);
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__(594);
10676
+
10677
+ // EXTERNAL MODULE: ./client/header/activity-panel/highlight-tooltip/style.scss
10678
+ var highlight_tooltip_style = __webpack_require__(424);
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__(426);
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__(427);
 
 
 
 
 
 
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__(428);
11728
 
11729
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.number.constructor.js
11730
+ var es_number_constructor = __webpack_require__(177);
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__(429);
12122
 
12123
+ // EXTERNAL MODULE: ./client/navigation/components/favorite-button/style.scss
12124
+ var favorite_button_style = __webpack_require__(430);
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__(135);
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__(431);
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__(391);
12832
+
12833
+ // CONCATENATED MODULE: ./client/layout/transient-notices/snackbar/list.js
12834
 
 
 
 
12835
 
 
12836
 
 
 
12837
 
 
12838
 
 
12839
 
 
 
12840
 
 
12841
 
 
12842
 
 
 
12843
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12844
 
12845
 
12846
  /**
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__(434);
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
 
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
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, 608));
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__(166);
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__(433));
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__(129);
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__(435)
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
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
18254
 
18255
+ "use strict";
18256
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getUnreadNotesCount; });
18257
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return hasValidNotes; });
18258
+ /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5);
18259
+ /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);
18260
+ /**
18261
+ * External dependencies
18262
+ */
18263
 
18264
+ /**
18265
+ * Get the count of the unread notes from the received list.
18266
+ *
18267
+ * @param {Array} notes - List of notes, contains read and unread notes.
18268
+ * @param {number} lastRead - The timestamp that the user read a note.
18269
+ * @return {number} - Unread notes count.
18270
+ */
18271
 
18272
+ function getUnreadNotesCount(notes, lastRead) {
18273
+ var unreadNotes = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["filter"])(notes, function (note) {
18274
+ var isDeleted = note.is_deleted,
18275
+ dateCreatedGmt = note.date_created_gmt,
18276
+ status = note.status;
18277
 
18278
+ if (!isDeleted) {
18279
+ var unread = !lastRead || !dateCreatedGmt || new Date(dateCreatedGmt + 'Z').getTime() > lastRead;
18280
+ return unread && status === 'unactioned';
18281
  }
18282
+ });
18283
+ return unreadNotes.length;
18284
+ }
18285
+ /**
18286
+ * Verifies if there are any valid notes in the list.
18287
+ *
18288
+ * @param {Array} notes - List of notes, contains read and unread notes.
18289
+ * @return {boolean} - Whether there are valid notes or not.
18290
+ */
18291
 
18292
+ function hasValidNotes(notes) {
18293
+ var validNotes = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["filter"])(notes, function (note) {
18294
+ var isDeleted = note.is_deleted;
18295
+ return !isDeleted;
18296
+ });
18297
+ return validNotes.length > 0;
18298
+ }
18299
 
18300
+ /***/ }),
18301
+ /* 332 */,
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
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
18362
 
18363
+ "use strict";
18364
+ /* WEBPACK VAR INJECTION */(function(process) {/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
18365
+ /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
18366
+ /* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(52);
18367
+ /* 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__);
18368
+ /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5);
18369
+ /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);
18370
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(15);
18371
+ /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__);
18372
+ /* harmony import */ var _wordpress_a11y__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(392);
18373
+ /* harmony import */ var _wordpress_a11y__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_a11y__WEBPACK_IMPORTED_MODULE_4__);
18374
+ /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2);
18375
+ /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__);
18376
+ /* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(393);
18377
+ /* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_warning__WEBPACK_IMPORTED_MODULE_6__);
18378
+ /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(4);
18379
+ /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__);
18380
 
18381
+
18382
+
18383
+ /**
18384
+ * External dependencies
18385
+ */
18386
+
18387
+
18388
+
18389
+
18390
+
18391
+
18392
+
18393
+ var NOTICE_TIMEOUT = 10000;
18394
+ /** @typedef {import('@wordpress/element').WPElement} WPElement */
18395
+
18396
+ /**
18397
+ * Custom hook which announces the message with the given politeness, if a
18398
+ * valid message is provided.
18399
+ *
18400
+ * @param {string|WPElement} [message] Message to announce.
18401
+ * @param {'polite'|'assertive'} politeness Politeness to announce.
18402
+ */
18403
+
18404
+ function useSpokenMessage(message, politeness) {
18405
+ var spokenMessage = typeof message === 'string' ? message : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["renderToString"])(message);
18406
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
18407
+ if (spokenMessage) {
18408
+ Object(_wordpress_a11y__WEBPACK_IMPORTED_MODULE_4__["speak"])(spokenMessage, politeness);
18409
+ }
18410
+ }, [spokenMessage, politeness]);
18411
  }
18412
 
18413
+ function Snackbar(_ref, ref) {
18414
+ var className = _ref.className,
18415
+ children = _ref.children,
18416
+ _ref$spokenMessage = _ref.spokenMessage,
18417
+ spokenMessage = _ref$spokenMessage === void 0 ? children : _ref$spokenMessage,
18418
+ _ref$politeness = _ref.politeness,
18419
+ politeness = _ref$politeness === void 0 ? 'polite' : _ref$politeness,
18420
+ _ref$actions = _ref.actions,
18421
+ actions = _ref$actions === void 0 ? [] : _ref$actions,
18422
+ _ref$onRemove = _ref.onRemove,
18423
+ onRemove = _ref$onRemove === void 0 ? lodash__WEBPACK_IMPORTED_MODULE_2__["noop"] : _ref$onRemove,
18424
+ _ref$icon = _ref.icon,
18425
+ icon = _ref$icon === void 0 ? null : _ref$icon,
18426
+ _ref$explicitDismiss = _ref.explicitDismiss,
18427
+ explicitDismiss = _ref$explicitDismiss === void 0 ? false : _ref$explicitDismiss,
18428
+ _ref$onDismiss = _ref.onDismiss,
18429
+ onDismiss = _ref$onDismiss === void 0 ? null : _ref$onDismiss;
18430
+ onDismiss = onDismiss || lodash__WEBPACK_IMPORTED_MODULE_2__["noop"];
18431
+
18432
+ function dismissMe(event) {
18433
+ if (event && event.preventDefault) {
18434
+ event.preventDefault();
18435
  }
18436
+
18437
+ onDismiss();
18438
+ onRemove();
 
 
 
 
 
18439
  }
 
18440
 
18441
+ function onActionClick(event, onClick) {
18442
+ event.stopPropagation();
18443
+ onRemove();
 
18444
 
18445
+ if (onClick) {
18446
+ onClick(event);
18447
+ }
18448
+ }
 
 
 
18449
 
18450
+ useSpokenMessage(spokenMessage, politeness); // Only set up the timeout dismiss if we're not explicitly dismissing.
 
 
18451
 
18452
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
18453
+ var timeoutHandle = setTimeout(function () {
18454
+ if (!explicitDismiss) {
18455
+ onDismiss();
18456
+ onRemove();
18457
+ }
18458
+ }, NOTICE_TIMEOUT);
18459
+ return function () {
18460
+ return clearTimeout(timeoutHandle);
18461
+ };
18462
+ }, [explicitDismiss, onDismiss, onRemove]);
18463
+ var classes = classnames__WEBPACK_IMPORTED_MODULE_3___default()(className, 'components-snackbar', {
18464
+ 'components-snackbar-explicit-dismiss': !!explicitDismiss
18465
+ });
18466
 
18467
+ if (actions && actions.length > 1) {
18468
+ // we need to inform developers that snackbar only accepts 1 action
18469
+ 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
18470
+
18471
+ actions = [actions[0]];
18472
  }
18473
 
18474
+ var snackbarContentClassnames = classnames__WEBPACK_IMPORTED_MODULE_3___default()('components-snackbar__content', {
18475
+ 'components-snackbar__content-with-icon': !!icon
18476
+ });
18477
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
18478
+ ref: ref,
18479
+ className: classes,
18480
+ onClick: !explicitDismiss ? dismissMe : lodash__WEBPACK_IMPORTED_MODULE_2__["noop"],
18481
+ tabIndex: "0",
18482
+ role: !explicitDismiss ? 'button' : '',
18483
+ onKeyPress: !explicitDismiss ? dismissMe : lodash__WEBPACK_IMPORTED_MODULE_2__["noop"],
18484
+ "aria-label": !explicitDismiss ? Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__["__"])('Dismiss this notice') : ''
18485
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
18486
+ className: snackbarContentClassnames
18487
+ }, icon && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
18488
+ className: "components-snackbar__icon"
18489
+ }, icon), children, actions.map(function (_ref2, index) {
18490
+ var label = _ref2.label,
18491
+ _onClick = _ref2.onClick,
18492
+ url = _ref2.url;
18493
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__["Button"], {
18494
+ key: index,
18495
+ href: url,
18496
+ isTertiary: true,
18497
+ onClick: function onClick(event) {
18498
+ return onActionClick(event, _onClick);
18499
+ },
18500
+ className: "components-snackbar__action"
18501
+ }, label);
18502
+ }), explicitDismiss && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("span", {
18503
+ role: "button",
18504
+ "aria-label": "Dismiss this notice",
18505
+ tabIndex: "0",
18506
+ className: "components-snackbar__dismiss-button",
18507
+ onClick: dismissMe,
18508
+ onKeyPress: dismissMe
18509
+ }, "\u2715")));
18510
+ }
18511
 
18512
+ /* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["forwardRef"])(Snackbar));
18513
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(297)))
 
 
 
 
18514
 
18515
+ /***/ }),
18516
+ /* 392 */
18517
+ /***/ (function(module, exports) {
18518
 
18519
+ (function() { module.exports = window["wp"]["a11y"]; }());
 
18520
 
18521
+ /***/ }),
18522
+ /* 393 */
18523
+ /***/ (function(module, exports) {
18524
 
18525
+ (function() { module.exports = window["wp"]["warning"]; }());
 
18526
 
18527
+ /***/ }),
18528
+ /* 394 */
18529
+ /***/ (function(module, exports) {
18530
 
18531
+ (function() { module.exports = window["wc"]["customerEffortScore"]; }());
 
 
18532
 
18533
+ /***/ }),
18534
+ /* 395 */,
18535
+ /* 396 */,
18536
+ /* 397 */,
18537
+ /* 398 */,
18538
+ /* 399 */,
18539
+ /* 400 */,
18540
+ /* 401 */,
18541
+ /* 402 */
18542
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
18543
 
18544
+ "use strict";
18545
 
18546
+ // EXPORTS
18547
+ __webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ customer_effort_score_tracks_container; });
 
 
18548
 
18549
+ // UNUSED EXPORTS: CustomerEffortScoreTracks
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18550
 
18551
+ // NAMESPACE OBJECT: ./client/customer-effort-score-tracks/data/actions.js
18552
+ var actions_namespaceObject = {};
18553
+ __webpack_require__.r(actions_namespaceObject);
18554
+ __webpack_require__.d(actions_namespaceObject, "setCesSurveyQueue", function() { return setCesSurveyQueue; });
18555
+ __webpack_require__.d(actions_namespaceObject, "addCesSurvey", function() { return addCesSurvey; });
18556
+ __webpack_require__.d(actions_namespaceObject, "addCesSurveyForAnalytics", function() { return addCesSurveyForAnalytics; });
18557
+ __webpack_require__.d(actions_namespaceObject, "addCesSurveyForCustomerSearch", function() { return addCesSurveyForCustomerSearch; });
18558
 
18559
+ // NAMESPACE OBJECT: ./client/customer-effort-score-tracks/data/resolvers.js
18560
+ var resolvers_namespaceObject = {};
18561
+ __webpack_require__.r(resolvers_namespaceObject);
18562
+ __webpack_require__.d(resolvers_namespaceObject, "getCesSurveyQueue", function() { return resolvers_getCesSurveyQueue; });
 
18563
 
18564
+ // NAMESPACE OBJECT: ./client/customer-effort-score-tracks/data/selectors.js
18565
+ var selectors_namespaceObject = {};
18566
+ __webpack_require__.r(selectors_namespaceObject);
18567
+ __webpack_require__.d(selectors_namespaceObject, "getCesSurveyQueue", function() { return selectors_getCesSurveyQueue; });
 
18568
 
18569
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.keys.js
18570
+ var es_object_keys = __webpack_require__(38);
18571
 
18572
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js
18573
+ var es_symbol = __webpack_require__(53);
 
 
 
18574
 
18575
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js
18576
+ var es_array_filter = __webpack_require__(41);
 
18577
 
18578
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js
18579
+ var es_object_get_own_property_descriptor = __webpack_require__(60);
 
18580
 
18581
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js
18582
+ var web_dom_collections_for_each = __webpack_require__(49);
18583
 
18584
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptors.js
18585
+ var es_object_get_own_property_descriptors = __webpack_require__(61);
 
 
 
 
 
 
 
18586
 
18587
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
18588
+ var toConsumableArray = __webpack_require__(44);
18589
+ var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18590
 
18591
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
18592
+ var defineProperty = __webpack_require__(7);
18593
+ var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
 
 
 
 
 
 
18594
 
18595
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
18596
+ var slicedToArray = __webpack_require__(43);
18597
+ var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
 
 
 
 
18598
 
18599
+ // EXTERNAL MODULE: external ["wp","element"]
18600
+ var external_wp_element_ = __webpack_require__(0);
 
 
 
 
 
 
18601
 
18602
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js
18603
+ var es_array_concat = __webpack_require__(66);
 
 
18604
 
18605
+ // EXTERNAL MODULE: ./node_modules/prop-types/index.js
18606
+ var prop_types = __webpack_require__(1);
18607
+ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
18608
 
18609
+ // EXTERNAL MODULE: external ["wc","tracks"]
18610
+ var external_wc_tracks_ = __webpack_require__(92);
 
18611
 
18612
+ // EXTERNAL MODULE: external ["wc","customerEffortScore"]
18613
+ var external_wc_customerEffortScore_ = __webpack_require__(394);
18614
+ var external_wc_customerEffortScore_default = /*#__PURE__*/__webpack_require__.n(external_wc_customerEffortScore_);
18615
 
18616
+ // EXTERNAL MODULE: external ["wp","compose"]
18617
+ var external_wp_compose_ = __webpack_require__(65);
18618
 
18619
+ // EXTERNAL MODULE: external ["wp","data"]
18620
+ var external_wp_data_ = __webpack_require__(26);
 
 
 
 
18621
 
18622
+ // EXTERNAL MODULE: external ["wc","data"]
18623
+ var external_wc_data_ = __webpack_require__(59);
18624
 
18625
+ // EXTERNAL MODULE: external ["wp","i18n"]
18626
+ var external_wp_i18n_ = __webpack_require__(2);
 
 
18627
 
18628
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/customer-effort-score-tracks.js
18629
 
 
 
 
 
18630
 
 
 
 
 
 
18631
 
 
 
 
18632
 
 
 
 
 
 
 
 
 
18633
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18634
 
 
 
 
 
 
 
18635
 
18636
 
 
 
 
 
18637
 
 
 
 
 
 
 
 
 
 
18638
 
 
 
18639
 
 
 
 
18640
 
18641
+ 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; }
 
 
18642
 
18643
+ 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; }
 
 
 
18644
 
18645
+ /**
18646
+ * External dependencies
18647
+ */
18648
 
 
 
 
 
 
 
 
 
 
18649
 
 
 
 
 
 
18650
 
 
 
 
 
 
 
 
 
18651
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18652
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18653
 
 
 
 
18654
 
 
 
 
18655
 
18656
+ var SHOWN_FOR_ACTIONS_OPTION_NAME = 'woocommerce_ces_shown_for_actions';
18657
+ var ADMIN_INSTALL_TIMESTAMP_OPTION_NAME = 'woocommerce_admin_install_timestamp';
18658
+ var ALLOW_TRACKING_OPTION_NAME = 'woocommerce_allow_tracking';
18659
+ /**
18660
+ * A CustomerEffortScore wrapper that uses tracks to track the selected
18661
+ * customer effort score.
18662
+ *
18663
+ * @param {Object} props Component props.
18664
+ * @param {string} props.action The action name sent to Tracks.
18665
+ * @param {Object} props.trackProps Additional props sent to Tracks.
18666
+ * @param {string} props.label The label displayed in the modal.
18667
+ * @param {string} props.onSubmitLabel The label displayed upon survey submission.
18668
+ * @param {Array} props.cesShownForActions The array of actions that the CES modal has been shown for.
18669
+ * @param {boolean} props.allowTracking Whether tracking is allowed or not.
18670
+ * @param {boolean} props.resolving Are values still being resolved.
18671
+ * @param {number} props.storeAgeInWeeks The age of the store in weeks.
18672
+ * @param {Function} props.updateOptions Function to update options.
18673
+ * @param {Function} props.createNotice Function to create a snackbar.
18674
+ */
18675
 
18676
+ function CustomerEffortScoreTracks(_ref) {
18677
+ var action = _ref.action,
18678
+ trackProps = _ref.trackProps,
18679
+ label = _ref.label,
18680
+ _ref$onSubmitLabel = _ref.onSubmitLabel,
18681
+ onSubmitLabel = _ref$onSubmitLabel === void 0 ? Object(external_wp_i18n_["__"])('Thank you for your feedback!', 'woocommerce-admin') : _ref$onSubmitLabel,
18682
+ cesShownForActions = _ref.cesShownForActions,
18683
+ allowTracking = _ref.allowTracking,
18684
+ resolving = _ref.resolving,
18685
+ storeAgeInWeeks = _ref.storeAgeInWeeks,
18686
+ updateOptions = _ref.updateOptions,
18687
+ createNotice = _ref.createNotice;
18688
 
18689
+ var _useState = Object(external_wp_element_["useState"])(false),
18690
+ _useState2 = slicedToArray_default()(_useState, 2),
18691
+ modalShown = _useState2[0],
18692
+ setModalShown = _useState2[1];
18693
 
18694
+ if (resolving) {
18695
+ return null;
18696
+ } // Don't show if tracking is disallowed.
18697
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18698
 
18699
+ if (!allowTracking) {
18700
+ return null;
18701
+ } // We only want to return null early if the modal was already shown
18702
+ // for this action *before* this component was initially instantiated.
18703
+ //
18704
+ // We want to make sure we still render CustomerEffortScore below
18705
+ // (we don't want to return null early), if the modal was shown for this
18706
+ // instantiation, so that the component doesn't go away while we are
18707
+ // still showing it.
18708
+
18709
+
18710
+ if (cesShownForActions.indexOf(action) !== -1 && !modalShown) {
18711
+ return null;
18712
+ }
18713
 
18714
+ var onNoticeShown = function onNoticeShown() {
18715
+ Object(external_wc_tracks_["recordEvent"])('ces_snackbar_view', _objectSpread({
18716
+ action: action,
18717
+ store_age: storeAgeInWeeks
18718
+ }, trackProps));
18719
+ };
18720
 
18721
+ var addActionToShownOption = function addActionToShownOption() {
18722
+ updateOptions(defineProperty_default()({}, SHOWN_FOR_ACTIONS_OPTION_NAME, [action].concat(toConsumableArray_default()(cesShownForActions))));
18723
+ };
18724
 
18725
+ var onNoticeDismissed = function onNoticeDismissed() {
18726
+ Object(external_wc_tracks_["recordEvent"])('ces_snackbar_dismiss', _objectSpread({
18727
+ action: action,
18728
+ store_age: storeAgeInWeeks
18729
+ }, trackProps));
18730
+ addActionToShownOption();
18731
+ };
18732
 
18733
+ var onModalShown = function onModalShown() {
18734
+ setModalShown(true);
18735
+ Object(external_wc_tracks_["recordEvent"])('ces_view', _objectSpread({
18736
+ action: action,
18737
+ store_age: storeAgeInWeeks
18738
+ }, trackProps));
18739
+ addActionToShownOption();
18740
+ };
18741
 
18742
+ var recordScore = function recordScore(score, comments) {
18743
+ Object(external_wc_tracks_["recordEvent"])('ces_feedback', _objectSpread({
18744
+ action: action,
18745
+ score: score,
18746
+ comments: comments || '',
18747
+ store_age: storeAgeInWeeks
18748
+ }, trackProps));
18749
+ createNotice('success', onSubmitLabel);
18750
  };
18751
 
18752
+ return Object(external_wp_element_["createElement"])(external_wc_customerEffortScore_default.a, {
18753
+ recordScoreCallback: recordScore,
18754
+ label: label,
18755
+ onNoticeShownCallback: onNoticeShown,
18756
+ onNoticeDismissedCallback: onNoticeDismissed,
18757
+ onModalShownCallback: onModalShown,
18758
+ icon: Object(external_wp_element_["createElement"])("span", {
18759
+ style: {
18760
+ height: 21,
18761
+ width: 21
18762
+ },
18763
+ role: "img",
18764
+ "aria-label": Object(external_wp_i18n_["__"])('Pencil icon', 'woocommerce-admin')
18765
+ }, "\u270F\uFE0F")
18766
+ });
18767
  }
18768
 
18769
+ CustomerEffortScoreTracks.propTypes = {
18770
+ /**
18771
+ * The action name sent to Tracks.
18772
+ */
18773
+ action: prop_types_default.a.string.isRequired,
18774
 
18775
+ /**
18776
+ * Additional props sent to Tracks.
18777
+ */
18778
+ trackProps: prop_types_default.a.object,
18779
 
18780
+ /**
18781
+ * The label displayed in the modal.
18782
+ */
18783
+ label: prop_types_default.a.string.isRequired,
18784
 
18785
+ /**
18786
+ * The label for the snackbar that appears upon survey submission.
18787
+ */
18788
+ onSubmitLabel: prop_types_default.a.string,
18789
 
18790
+ /**
18791
+ * The array of actions that the CES modal has been shown for.
18792
+ */
18793
+ cesShownForActions: prop_types_default.a.arrayOf(prop_types_default.a.string).isRequired,
18794
 
18795
+ /**
18796
+ * Whether tracking is allowed or not.
18797
+ */
18798
+ allowTracking: prop_types_default.a.bool,
18799
 
18800
+ /**
18801
+ * Whether props are still being resolved.
18802
+ */
18803
+ resolving: prop_types_default.a.bool.isRequired,
 
 
 
18804
 
18805
+ /**
18806
+ * The age of the store in weeks.
18807
+ */
18808
+ storeAgeInWeeks: prop_types_default.a.number,
18809
 
18810
+ /**
18811
+ * Function to update options.
18812
+ */
18813
+ updateOptions: prop_types_default.a.func,
18814
 
18815
+ /**
18816
+ * Function to create a snackbar
18817
+ */
18818
+ createNotice: prop_types_default.a.func
18819
+ };
 
 
18820
 
18821
+ function getStoreAgeInWeeks(adminInstallTimestamp) {
18822
+ if (adminInstallTimestamp === 0) {
18823
+ return null;
18824
+ } // Date.now() is ms since Unix epoch, adminInstallTimestamp is in
18825
+ // seconds since Unix epoch.
18826
 
18827
 
18828
+ var storeAgeInMs = Date.now() - adminInstallTimestamp * 1000;
18829
+ var storeAgeInWeeks = Math.round(storeAgeInMs / external_wc_data_["WEEK"]);
18830
+ return storeAgeInWeeks;
18831
+ }
18832
 
18833
+ /* harmony default export */ var customer_effort_score_tracks = (Object(external_wp_compose_["compose"])(Object(external_wp_data_["withSelect"])(function (select) {
18834
+ var _select = select(external_wc_data_["OPTIONS_STORE_NAME"]),
18835
+ getOption = _select.getOption,
18836
+ isResolving = _select.isResolving;
18837
 
18838
+ var cesShownForActions = getOption(SHOWN_FOR_ACTIONS_OPTION_NAME) || [];
18839
+ var adminInstallTimestamp = getOption(ADMIN_INSTALL_TIMESTAMP_OPTION_NAME) || 0;
18840
+ var storeAgeInWeeks = getStoreAgeInWeeks(adminInstallTimestamp);
18841
+ var allowTrackingOption = getOption(ALLOW_TRACKING_OPTION_NAME) || 'no';
18842
+ var allowTracking = allowTrackingOption === 'yes';
18843
+ var resolving = isResolving('getOption', [SHOWN_FOR_ACTIONS_OPTION_NAME]) || storeAgeInWeeks === null || isResolving('getOption', [ADMIN_INSTALL_TIMESTAMP_OPTION_NAME]) || isResolving('getOption', [ALLOW_TRACKING_OPTION_NAME]);
18844
+ return {
18845
+ cesShownForActions: cesShownForActions,
18846
+ allowTracking: allowTracking,
18847
+ storeAgeInWeeks: storeAgeInWeeks,
18848
+ resolving: resolving
 
 
 
 
 
 
18849
  };
18850
+ }), Object(external_wp_data_["withDispatch"])(function (dispatch) {
18851
+ var _dispatch = dispatch(external_wc_data_["OPTIONS_STORE_NAME"]),
18852
+ updateOptions = _dispatch.updateOptions;
 
 
 
 
 
 
 
18853
 
18854
+ var _dispatch2 = dispatch('core/notices'),
18855
+ createNotice = _dispatch2.createNotice;
 
 
 
 
 
 
 
 
 
18856
 
18857
+ return {
18858
+ updateOptions: updateOptions,
18859
+ createNotice: createNotice
18860
  };
18861
+ }))(CustomerEffortScoreTracks));
18862
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js
18863
+ var es_array_map = __webpack_require__(52);
18864
 
18865
+ // EXTERNAL MODULE: ./client/customer-effort-score-tracks/data/constants.js
18866
+ var constants = __webpack_require__(210);
18867
 
18868
+ // EXTERNAL MODULE: external ["wp","dataControls"]
18869
+ var external_wp_dataControls_ = __webpack_require__(35);
18870
 
18871
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/action-types.js
18872
+ var TYPES = {
18873
+ SET_CES_SURVEY_QUEUE: 'SET_CES_SURVEY_QUEUE',
18874
+ ADD_CES_SURVEY: 'ADD_CES_SURVEY'
18875
+ };
18876
+ /* harmony default export */ var action_types = (TYPES);
18877
+ // CONCATENATED MODULE: ./client/customer-effort-score-tracks/data/actions.js
18878
+ /**
18879
+ * External dependencies
18880
+ */
18881
 
18882
+ /**
18883
+ * Internal dependencies
18884
+ */
18885
 
 
 
18886
 
 
18887
  /**
18888
+ * Initialize the state
18889
  *
18890
+ * @param {Object} queue initial queue
 
18891
  */
18892
 
18893
+ function setCesSurveyQueue(queue) {
18894
+ return {
18895
+ type: action_types.SET_CES_SURVEY_QUEUE,
18896
+ queue: queue
18897
+ };
18898
+ }
18899
+ /**
18900
+ * Add a new CES track to the state.
18901
+ *
18902
+ * @param {string} action action name for the survey
18903
+ * @param {string} label label for the snackback
18904
+ * @param {string} pageNow value of window.pagenow
18905
+ * @param {string} adminPage value of window.adminpage
18906
+ * @param {string} onsubmit_label label for the snackback onsubmit
18907
+ * @param {Object} props object for optional props
18908
+ */
18909
 
18910
+ function addCesSurvey(action, label) {
18911
+ var pageNow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : window.pagenow;
18912
+ var adminPage = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : window.adminpage;
18913
+ var onsubmit_label = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : undefined;
18914
+ var props = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};
18915
+ return {
18916
+ type: action_types.ADD_CES_SURVEY,
18917
+ action: action,
18918
+ label: label,
18919
+ pageNow: pageNow,
18920
+ adminPage: adminPage,
18921
+ onsubmit_label: onsubmit_label,
18922
+ props: props
18923
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18924
  }
18925
+ /**
18926
+ * Add a new CES survey track for the pages in Analytics menu
18927
+ */
18928
+
18929
+ function addCesSurveyForAnalytics() {
18930
+ 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');
18931
  }
18932
+ /**
18933
+ * Add a new CES survey track on searching customers.
18934
+ */
18935
 
18936
+ function addCesSurveyForCustomerSearch() {
18937
+ 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, {
18938
+ search_area: 'customer'
18939
+ });
18940
  }