PluginProbe
Buttonizer – Floating Menus, Sticky Buttons, & Popup Builder / 3.6.0
Buttonizer – Floating Menus, Sticky Buttons, & Popup Builder v3.6.0
3.6.0 3.5.0 trunk 1.0.10 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.6.1 1.0.7 1.0.8 1.0.9 1.1 1.1.1 1.2 1.3 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.5 1.5.1 All 110 releases
buttonizer-multifunctional-button / assets / legacy / frontend.js

frontend.js in Buttonizer – Floating Menus, Sticky Buttons, & Popup Builder 3.6.0, at assets/legacy/frontend.js

25,681 lines 843.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*!
2 *
3 * This file is part of the Buttonizer plugin that is downloadable through Wordpress.org,
4 * please do not redistribute this plugin or the files without any written permission of the author.
5 *
6 * If you need support:
7 * - pleae create a ticket: https://community.buttonizer.pro/tickets
8 * - or visit our community website: https://community.buttonizer.pro/
9 *
10 * Buttonizer is Freemium software. The free version (build) does not contain premium functionality.
11 *
12 * (C) 2017-2025 Buttonizer buttonizer-legacy - 2.9.3
13 *
14 */
15 /*!
16 *
17 * This file is part of the Buttonizer plugin that is downloadable through Wordpress.org,
18 * please do not redistribute this plugin or the files without any written permission of the author.
19 *
20 * If you need support:
21 * - pleae create a ticket: https://community.buttonizer.pro/tickets
22 * - or visit our community website: https://community.buttonizer.pro/
23 *
24 * Buttonizer is Freemium software. The free version (build) does not contain premium functionality.
25 *
26 * (C) 2017-2025 Buttonizer buttonizer-legacy - 2.9.3
27 *
28 */
29 /******/ (function() { // webpackBootstrap
30 /******/ var __webpack_modules__ = ({
31
32 /***/ 65011:
33 /***/ (function(module) {
34
35 /* global module */
36 module.exports = {
37 group: {},
38 button: {}
39 };
40
41 /***/ }),
42
43 /***/ 98588:
44 /***/ (function(module) {
45
46 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; }
47
48 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(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; }
49
50 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
51
52 /* global module */
53 var button = {
54 group_size: 56,
55 button_size: 56,
56 box_shadow_enabled: [false],
57 label_box_shadow_enabled: [false],
58 border_radius: ["0px"],
59 label_spacing: 0,
60 label_border_radius: ["0px"]
61 };
62 module.exports = {
63 button: _objectSpread({}, button),
64 menu_button: _objectSpread({}, button),
65 group: _objectSpread(_objectSpread({}, button), {}, {
66 label_same_width: true,
67 label_same_height: true,
68 space: 0
69 })
70 };
71
72 /***/ }),
73
74 /***/ 78867:
75 /***/ (function(module) {
76
77 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; }
78
79 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(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; }
80
81 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
82
83 /* global module */
84 var button = {
85 box_shadow_enabled: [false],
86 label_box_shadow_enabled: [false],
87 border_radius: ["0px"],
88 label_spacing: 0,
89 label_border_radius: ["0px"]
90 };
91 module.exports = {
92 button: _objectSpread({}, button),
93 menu_button: _objectSpread({}, button),
94 group: _objectSpread(_objectSpread({}, button), {}, {
95 group_size: 56,
96 button_size: 56,
97 show_label_desktop: "hover",
98 show_label_mobile: "hide",
99 label_same_height: true,
100 space: 0
101 })
102 };
103
104 /***/ }),
105
106 /***/ 11571:
107 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
108
109 /* global module, require */
110 var Default = __webpack_require__(65011);
111
112 var Square = __webpack_require__(78867);
113
114 var Rectangle = __webpack_require__(98588);
115 /* webpack-strip-block:removed */
116
117
118 module.exports = {
119 "default": Default,
120 square: Square,
121 rectangle: Rectangle
122 /* webpack-strip-block:removed */
123
124 };
125
126 /***/ }),
127
128 /***/ 42226:
129 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
130
131 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
132
133 function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
134
135 function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
136
137 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
138
139 function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
140
141 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
142
143 /* global module, require */
144 var defaults = __webpack_require__(46314);
145
146 var menuStyles = __webpack_require__(11571);
147
148 var merge = __webpack_require__(82492);
149
150 module.exports = {
151 get button() {
152 var result = {};
153 Object.entries(defaults.button).map(function (key) {
154 merge(result, key[1]);
155 });
156 return result; // return merge({}, defaults.button.general, defaults.button.styling);
157 },
158
159 get group() {
160 var result = {};
161 Object.entries(merge({}, defaults.button, defaults.group)).map(function (key) {
162 merge(result, key[1]);
163 });
164 return result;
165 },
166
167 get menu_button() {
168 var result = {};
169 Object.entries(merge({}, defaults.button, defaults.menu_button)).map(function (key) {
170 merge(result, key[1]);
171 });
172 return result;
173 },
174
175 get formatted() {
176 var result = {};
177 Object.entries(merge({}, defaults.button, defaults.group)).map(function (key) {
178 merge(result, key[1]);
179 });
180 return Object.entries(result).filter(function (entry) {
181 return Array.isArray(entry[1]);
182 }).map(function (_ref) {
183 var _ref2 = _slicedToArray(_ref, 1),
184 key = _ref2[0];
185
186 return key;
187 });
188 },
189
190 get menuStyle() {
191 return menuStyles;
192 }
193
194 };
195
196 /***/ }),
197
198 /***/ 25730:
199 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
200
201 "use strict";
202
203
204 var bind = __webpack_require__(58612);
205
206 var $apply = __webpack_require__(1768);
207 var $call = __webpack_require__(68928);
208 var $reflectApply = __webpack_require__(59770);
209
210 /** @type {import('./actualApply')} */
211 module.exports = $reflectApply || bind.call($call, $apply);
212
213
214 /***/ }),
215
216 /***/ 1768:
217 /***/ (function(module) {
218
219 "use strict";
220
221
222 /** @type {import('./functionApply')} */
223 module.exports = Function.prototype.apply;
224
225
226 /***/ }),
227
228 /***/ 68928:
229 /***/ (function(module) {
230
231 "use strict";
232
233
234 /** @type {import('./functionCall')} */
235 module.exports = Function.prototype.call;
236
237
238 /***/ }),
239
240 /***/ 40319:
241 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
242
243 "use strict";
244
245
246 var bind = __webpack_require__(58612);
247 var $TypeError = __webpack_require__(14453);
248
249 var $call = __webpack_require__(68928);
250 var $actualApply = __webpack_require__(25730);
251
252 /** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */
253 module.exports = function callBindBasic(args) {
254 if (args.length < 1 || typeof args[0] !== 'function') {
255 throw new $TypeError('a function is required');
256 }
257 return $actualApply(bind, $call, args);
258 };
259
260
261 /***/ }),
262
263 /***/ 59770:
264 /***/ (function(module) {
265
266 "use strict";
267
268
269 /** @type {import('./reflectApply')} */
270 module.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;
271
272
273 /***/ }),
274
275 /***/ 21924:
276 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
277
278 "use strict";
279
280
281 var GetIntrinsic = __webpack_require__(40210);
282
283 var callBind = __webpack_require__(55559);
284
285 var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));
286
287 module.exports = function callBoundIntrinsic(name, allowMissing) {
288 var intrinsic = GetIntrinsic(name, !!allowMissing);
289 if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {
290 return callBind(intrinsic);
291 }
292 return intrinsic;
293 };
294
295
296 /***/ }),
297
298 /***/ 55559:
299 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
300
301 "use strict";
302
303
304 var bind = __webpack_require__(58612);
305 var GetIntrinsic = __webpack_require__(40210);
306
307 var $apply = GetIntrinsic('%Function.prototype.apply%');
308 var $call = GetIntrinsic('%Function.prototype.call%');
309 var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);
310
311 var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);
312 var $defineProperty = GetIntrinsic('%Object.defineProperty%', true);
313 var $max = GetIntrinsic('%Math.max%');
314
315 if ($defineProperty) {
316 try {
317 $defineProperty({}, 'a', { value: 1 });
318 } catch (e) {
319 // IE 8 has a broken defineProperty
320 $defineProperty = null;
321 }
322 }
323
324 module.exports = function callBind(originalFunction) {
325 var func = $reflectApply(bind, $call, arguments);
326 if ($gOPD && $defineProperty) {
327 var desc = $gOPD(func, 'length');
328 if (desc.configurable) {
329 // original length, plus the receiver, minus any additional arguments (after the receiver)
330 $defineProperty(
331 func,
332 'length',
333 { value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }
334 );
335 }
336 }
337 return func;
338 };
339
340 var applyBind = function applyBind() {
341 return $reflectApply(bind, $apply, arguments);
342 };
343
344 if ($defineProperty) {
345 $defineProperty(module.exports, 'apply', { value: applyBind });
346 } else {
347 module.exports.apply = applyBind;
348 }
349
350
351 /***/ }),
352
353 /***/ 26905:
354 /***/ (function(module) {
355
356 !function(t,n){ true?module.exports=function(t,n,e,i,o){for(n=n.split?n.split("."):n,i=0;i<n.length;i++)t=t?t[n[i]]:o;return t===o?e:t}:0}(this);
357 //# sourceMappingURL=dlv.umd.js.map
358
359
360 /***/ }),
361
362 /***/ 96504:
363 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
364
365 "use strict";
366
367
368 var callBind = __webpack_require__(40319);
369 var gOPD = __webpack_require__(27296);
370
371 var hasProtoAccessor;
372 try {
373 // eslint-disable-next-line no-extra-parens, no-proto
374 hasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;
375 } catch (e) {
376 if (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {
377 throw e;
378 }
379 }
380
381 // eslint-disable-next-line no-extra-parens
382 var desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));
383
384 var $Object = Object;
385 var $getPrototypeOf = $Object.getPrototypeOf;
386
387 /** @type {import('./get')} */
388 module.exports = desc && typeof desc.get === 'function'
389 ? callBind([desc.get])
390 : typeof $getPrototypeOf === 'function'
391 ? /** @type {import('./get')} */ function getDunder(value) {
392 // eslint-disable-next-line eqeqeq
393 return $getPrototypeOf(value == null ? value : $Object(value));
394 }
395 : false;
396
397
398 /***/ }),
399
400 /***/ 24429:
401 /***/ (function(module) {
402
403 "use strict";
404
405
406 /** @type {import('.')} */
407 var $defineProperty = Object.defineProperty || false;
408 if ($defineProperty) {
409 try {
410 $defineProperty({}, 'a', { value: 1 });
411 } catch (e) {
412 // IE 8 has a broken defineProperty
413 $defineProperty = false;
414 }
415 }
416
417 module.exports = $defineProperty;
418
419
420 /***/ }),
421
422 /***/ 53981:
423 /***/ (function(module) {
424
425 "use strict";
426
427
428 /** @type {import('./eval')} */
429 module.exports = EvalError;
430
431
432 /***/ }),
433
434 /***/ 81648:
435 /***/ (function(module) {
436
437 "use strict";
438
439
440 /** @type {import('.')} */
441 module.exports = Error;
442
443
444 /***/ }),
445
446 /***/ 24726:
447 /***/ (function(module) {
448
449 "use strict";
450
451
452 /** @type {import('./range')} */
453 module.exports = RangeError;
454
455
456 /***/ }),
457
458 /***/ 26712:
459 /***/ (function(module) {
460
461 "use strict";
462
463
464 /** @type {import('./ref')} */
465 module.exports = ReferenceError;
466
467
468 /***/ }),
469
470 /***/ 33464:
471 /***/ (function(module) {
472
473 "use strict";
474
475
476 /** @type {import('./syntax')} */
477 module.exports = SyntaxError;
478
479
480 /***/ }),
481
482 /***/ 14453:
483 /***/ (function(module) {
484
485 "use strict";
486
487
488 /** @type {import('./type')} */
489 module.exports = TypeError;
490
491
492 /***/ }),
493
494 /***/ 43915:
495 /***/ (function(module) {
496
497 "use strict";
498
499
500 /** @type {import('./uri')} */
501 module.exports = URIError;
502
503
504 /***/ }),
505
506 /***/ 68892:
507 /***/ (function(module) {
508
509 "use strict";
510
511
512 /** @type {import('.')} */
513 module.exports = Object;
514
515
516 /***/ }),
517
518 /***/ 17648:
519 /***/ (function(module) {
520
521 "use strict";
522
523
524 /* eslint no-invalid-this: 1 */
525
526 var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
527 var toStr = Object.prototype.toString;
528 var max = Math.max;
529 var funcType = '[object Function]';
530
531 var concatty = function concatty(a, b) {
532 var arr = [];
533
534 for (var i = 0; i < a.length; i += 1) {
535 arr[i] = a[i];
536 }
537 for (var j = 0; j < b.length; j += 1) {
538 arr[j + a.length] = b[j];
539 }
540
541 return arr;
542 };
543
544 var slicy = function slicy(arrLike, offset) {
545 var arr = [];
546 for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {
547 arr[j] = arrLike[i];
548 }
549 return arr;
550 };
551
552 var joiny = function (arr, joiner) {
553 var str = '';
554 for (var i = 0; i < arr.length; i += 1) {
555 str += arr[i];
556 if (i + 1 < arr.length) {
557 str += joiner;
558 }
559 }
560 return str;
561 };
562
563 module.exports = function bind(that) {
564 var target = this;
565 if (typeof target !== 'function' || toStr.apply(target) !== funcType) {
566 throw new TypeError(ERROR_MESSAGE + target);
567 }
568 var args = slicy(arguments, 1);
569
570 var bound;
571 var binder = function () {
572 if (this instanceof bound) {
573 var result = target.apply(
574 this,
575 concatty(args, arguments)
576 );
577 if (Object(result) === result) {
578 return result;
579 }
580 return this;
581 }
582 return target.apply(
583 that,
584 concatty(args, arguments)
585 );
586
587 };
588
589 var boundLength = max(0, target.length - args.length);
590 var boundArgs = [];
591 for (var i = 0; i < boundLength; i++) {
592 boundArgs[i] = '$' + i;
593 }
594
595 bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);
596
597 if (target.prototype) {
598 var Empty = function Empty() {};
599 Empty.prototype = target.prototype;
600 bound.prototype = new Empty();
601 Empty.prototype = null;
602 }
603
604 return bound;
605 };
606
607
608 /***/ }),
609
610 /***/ 58612:
611 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
612
613 "use strict";
614
615
616 var implementation = __webpack_require__(17648);
617
618 module.exports = Function.prototype.bind || implementation;
619
620
621 /***/ }),
622
623 /***/ 40210:
624 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
625
626 "use strict";
627
628
629 var undefined;
630
631 var $Object = __webpack_require__(68892);
632
633 var $Error = __webpack_require__(81648);
634 var $EvalError = __webpack_require__(53981);
635 var $RangeError = __webpack_require__(24726);
636 var $ReferenceError = __webpack_require__(26712);
637 var $SyntaxError = __webpack_require__(33464);
638 var $TypeError = __webpack_require__(14453);
639 var $URIError = __webpack_require__(43915);
640
641 var abs = __webpack_require__(59738);
642 var floor = __webpack_require__(76329);
643 var max = __webpack_require__(52264);
644 var min = __webpack_require__(55730);
645 var pow = __webpack_require__(20707);
646 var round = __webpack_require__(63862);
647 var sign = __webpack_require__(29550);
648
649 var $Function = Function;
650
651 // eslint-disable-next-line consistent-return
652 var getEvalledConstructor = function (expressionSyntax) {
653 try {
654 return $Function('"use strict"; return (' + expressionSyntax + ').constructor;')();
655 } catch (e) {}
656 };
657
658 var $gOPD = __webpack_require__(27296);
659 var $defineProperty = __webpack_require__(24429);
660
661 var throwTypeError = function () {
662 throw new $TypeError();
663 };
664 var ThrowTypeError = $gOPD
665 ? (function () {
666 try {
667 // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties
668 arguments.callee; // IE 8 does not throw here
669 return throwTypeError;
670 } catch (calleeThrows) {
671 try {
672 // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')
673 return $gOPD(arguments, 'callee').get;
674 } catch (gOPDthrows) {
675 return throwTypeError;
676 }
677 }
678 }())
679 : throwTypeError;
680
681 var hasSymbols = __webpack_require__(41405)();
682
683 var getProto = __webpack_require__(81618);
684 var $ObjectGPO = __webpack_require__(68899);
685 var $ReflectGPO = __webpack_require__(10443);
686
687 var $apply = __webpack_require__(1768);
688 var $call = __webpack_require__(68928);
689
690 var needsEval = {};
691
692 var TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);
693
694 var INTRINSICS = {
695 __proto__: null,
696 '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,
697 '%Array%': Array,
698 '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,
699 '%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,
700 '%AsyncFromSyncIteratorPrototype%': undefined,
701 '%AsyncFunction%': needsEval,
702 '%AsyncGenerator%': needsEval,
703 '%AsyncGeneratorFunction%': needsEval,
704 '%AsyncIteratorPrototype%': needsEval,
705 '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,
706 '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,
707 '%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,
708 '%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,
709 '%Boolean%': Boolean,
710 '%DataView%': typeof DataView === 'undefined' ? undefined : DataView,
711 '%Date%': Date,
712 '%decodeURI%': decodeURI,
713 '%decodeURIComponent%': decodeURIComponent,
714 '%encodeURI%': encodeURI,
715 '%encodeURIComponent%': encodeURIComponent,
716 '%Error%': $Error,
717 '%eval%': eval, // eslint-disable-line no-eval
718 '%EvalError%': $EvalError,
719 '%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,
720 '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,
721 '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,
722 '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,
723 '%Function%': $Function,
724 '%GeneratorFunction%': needsEval,
725 '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,
726 '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,
727 '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,
728 '%isFinite%': isFinite,
729 '%isNaN%': isNaN,
730 '%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,
731 '%JSON%': typeof JSON === 'object' ? JSON : undefined,
732 '%Map%': typeof Map === 'undefined' ? undefined : Map,
733 '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),
734 '%Math%': Math,
735 '%Number%': Number,
736 '%Object%': $Object,
737 '%Object.getOwnPropertyDescriptor%': $gOPD,
738 '%parseFloat%': parseFloat,
739 '%parseInt%': parseInt,
740 '%Promise%': typeof Promise === 'undefined' ? undefined : Promise,
741 '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,
742 '%RangeError%': $RangeError,
743 '%ReferenceError%': $ReferenceError,
744 '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,
745 '%RegExp%': RegExp,
746 '%Set%': typeof Set === 'undefined' ? undefined : Set,
747 '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),
748 '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,
749 '%String%': String,
750 '%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,
751 '%Symbol%': hasSymbols ? Symbol : undefined,
752 '%SyntaxError%': $SyntaxError,
753 '%ThrowTypeError%': ThrowTypeError,
754 '%TypedArray%': TypedArray,
755 '%TypeError%': $TypeError,
756 '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,
757 '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,
758 '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,
759 '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,
760 '%URIError%': $URIError,
761 '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,
762 '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,
763 '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,
764
765 '%Function.prototype.call%': $call,
766 '%Function.prototype.apply%': $apply,
767 '%Object.defineProperty%': $defineProperty,
768 '%Object.getPrototypeOf%': $ObjectGPO,
769 '%Math.abs%': abs,
770 '%Math.floor%': floor,
771 '%Math.max%': max,
772 '%Math.min%': min,
773 '%Math.pow%': pow,
774 '%Math.round%': round,
775 '%Math.sign%': sign,
776 '%Reflect.getPrototypeOf%': $ReflectGPO
777 };
778
779 if (getProto) {
780 try {
781 null.error; // eslint-disable-line no-unused-expressions
782 } catch (e) {
783 // https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229
784 var errorProto = getProto(getProto(e));
785 INTRINSICS['%Error.prototype%'] = errorProto;
786 }
787 }
788
789 var doEval = function doEval(name) {
790 var value;
791 if (name === '%AsyncFunction%') {
792 value = getEvalledConstructor('async function () {}');
793 } else if (name === '%GeneratorFunction%') {
794 value = getEvalledConstructor('function* () {}');
795 } else if (name === '%AsyncGeneratorFunction%') {
796 value = getEvalledConstructor('async function* () {}');
797 } else if (name === '%AsyncGenerator%') {
798 var fn = doEval('%AsyncGeneratorFunction%');
799 if (fn) {
800 value = fn.prototype;
801 }
802 } else if (name === '%AsyncIteratorPrototype%') {
803 var gen = doEval('%AsyncGenerator%');
804 if (gen && getProto) {
805 value = getProto(gen.prototype);
806 }
807 }
808
809 INTRINSICS[name] = value;
810
811 return value;
812 };
813
814 var LEGACY_ALIASES = {
815 __proto__: null,
816 '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],
817 '%ArrayPrototype%': ['Array', 'prototype'],
818 '%ArrayProto_entries%': ['Array', 'prototype', 'entries'],
819 '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],
820 '%ArrayProto_keys%': ['Array', 'prototype', 'keys'],
821 '%ArrayProto_values%': ['Array', 'prototype', 'values'],
822 '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],
823 '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],
824 '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],
825 '%BooleanPrototype%': ['Boolean', 'prototype'],
826 '%DataViewPrototype%': ['DataView', 'prototype'],
827 '%DatePrototype%': ['Date', 'prototype'],
828 '%ErrorPrototype%': ['Error', 'prototype'],
829 '%EvalErrorPrototype%': ['EvalError', 'prototype'],
830 '%Float32ArrayPrototype%': ['Float32Array', 'prototype'],
831 '%Float64ArrayPrototype%': ['Float64Array', 'prototype'],
832 '%FunctionPrototype%': ['Function', 'prototype'],
833 '%Generator%': ['GeneratorFunction', 'prototype'],
834 '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],
835 '%Int8ArrayPrototype%': ['Int8Array', 'prototype'],
836 '%Int16ArrayPrototype%': ['Int16Array', 'prototype'],
837 '%Int32ArrayPrototype%': ['Int32Array', 'prototype'],
838 '%JSONParse%': ['JSON', 'parse'],
839 '%JSONStringify%': ['JSON', 'stringify'],
840 '%MapPrototype%': ['Map', 'prototype'],
841 '%NumberPrototype%': ['Number', 'prototype'],
842 '%ObjectPrototype%': ['Object', 'prototype'],
843 '%ObjProto_toString%': ['Object', 'prototype', 'toString'],
844 '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],
845 '%PromisePrototype%': ['Promise', 'prototype'],
846 '%PromiseProto_then%': ['Promise', 'prototype', 'then'],
847 '%Promise_all%': ['Promise', 'all'],
848 '%Promise_reject%': ['Promise', 'reject'],
849 '%Promise_resolve%': ['Promise', 'resolve'],
850 '%RangeErrorPrototype%': ['RangeError', 'prototype'],
851 '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],
852 '%RegExpPrototype%': ['RegExp', 'prototype'],
853 '%SetPrototype%': ['Set', 'prototype'],
854 '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],
855 '%StringPrototype%': ['String', 'prototype'],
856 '%SymbolPrototype%': ['Symbol', 'prototype'],
857 '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],
858 '%TypedArrayPrototype%': ['TypedArray', 'prototype'],
859 '%TypeErrorPrototype%': ['TypeError', 'prototype'],
860 '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],
861 '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],
862 '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],
863 '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],
864 '%URIErrorPrototype%': ['URIError', 'prototype'],
865 '%WeakMapPrototype%': ['WeakMap', 'prototype'],
866 '%WeakSetPrototype%': ['WeakSet', 'prototype']
867 };
868
869 var bind = __webpack_require__(58612);
870 var hasOwn = __webpack_require__(48824);
871 var $concat = bind.call($call, Array.prototype.concat);
872 var $spliceApply = bind.call($apply, Array.prototype.splice);
873 var $replace = bind.call($call, String.prototype.replace);
874 var $strSlice = bind.call($call, String.prototype.slice);
875 var $exec = bind.call($call, RegExp.prototype.exec);
876
877 /* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */
878 var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
879 var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */
880 var stringToPath = function stringToPath(string) {
881 var first = $strSlice(string, 0, 1);
882 var last = $strSlice(string, -1);
883 if (first === '%' && last !== '%') {
884 throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`');
885 } else if (last === '%' && first !== '%') {
886 throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`');
887 }
888 var result = [];
889 $replace(string, rePropName, function (match, number, quote, subString) {
890 result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;
891 });
892 return result;
893 };
894 /* end adaptation */
895
896 var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {
897 var intrinsicName = name;
898 var alias;
899 if (hasOwn(LEGACY_ALIASES, intrinsicName)) {
900 alias = LEGACY_ALIASES[intrinsicName];
901 intrinsicName = '%' + alias[0] + '%';
902 }
903
904 if (hasOwn(INTRINSICS, intrinsicName)) {
905 var value = INTRINSICS[intrinsicName];
906 if (value === needsEval) {
907 value = doEval(intrinsicName);
908 }
909 if (typeof value === 'undefined' && !allowMissing) {
910 throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');
911 }
912
913 return {
914 alias: alias,
915 name: intrinsicName,
916 value: value
917 };
918 }
919
920 throw new $SyntaxError('intrinsic ' + name + ' does not exist!');
921 };
922
923 module.exports = function GetIntrinsic(name, allowMissing) {
924 if (typeof name !== 'string' || name.length === 0) {
925 throw new $TypeError('intrinsic name must be a non-empty string');
926 }
927 if (arguments.length > 1 && typeof allowMissing !== 'boolean') {
928 throw new $TypeError('"allowMissing" argument must be a boolean');
929 }
930
931 if ($exec(/^%?[^%]*%?$/, name) === null) {
932 throw new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');
933 }
934 var parts = stringToPath(name);
935 var intrinsicBaseName = parts.length > 0 ? parts[0] : '';
936
937 var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);
938 var intrinsicRealName = intrinsic.name;
939 var value = intrinsic.value;
940 var skipFurtherCaching = false;
941
942 var alias = intrinsic.alias;
943 if (alias) {
944 intrinsicBaseName = alias[0];
945 $spliceApply(parts, $concat([0, 1], alias));
946 }
947
948 for (var i = 1, isOwn = true; i < parts.length; i += 1) {
949 var part = parts[i];
950 var first = $strSlice(part, 0, 1);
951 var last = $strSlice(part, -1);
952 if (
953 (
954 (first === '"' || first === "'" || first === '`')
955 || (last === '"' || last === "'" || last === '`')
956 )
957 && first !== last
958 ) {
959 throw new $SyntaxError('property names with quotes must have matching quotes');
960 }
961 if (part === 'constructor' || !isOwn) {
962 skipFurtherCaching = true;
963 }
964
965 intrinsicBaseName += '.' + part;
966 intrinsicRealName = '%' + intrinsicBaseName + '%';
967
968 if (hasOwn(INTRINSICS, intrinsicRealName)) {
969 value = INTRINSICS[intrinsicRealName];
970 } else if (value != null) {
971 if (!(part in value)) {
972 if (!allowMissing) {
973 throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');
974 }
975 return void undefined;
976 }
977 if ($gOPD && (i + 1) >= parts.length) {
978 var desc = $gOPD(value, part);
979 isOwn = !!desc;
980
981 // By convention, when a data property is converted to an accessor
982 // property to emulate a data property that does not suffer from
983 // the override mistake, that accessor's getter is marked with
984 // an `originalValue` property. Here, when we detect this, we
985 // uphold the illusion by pretending to see that original data
986 // property, i.e., returning the value rather than the getter
987 // itself.
988 if (isOwn && 'get' in desc && !('originalValue' in desc.get)) {
989 value = desc.get;
990 } else {
991 value = value[part];
992 }
993 } else {
994 isOwn = hasOwn(value, part);
995 value = value[part];
996 }
997
998 if (isOwn && !skipFurtherCaching) {
999 INTRINSICS[intrinsicRealName] = value;
1000 }
1001 }
1002 }
1003 return value;
1004 };
1005
1006
1007 /***/ }),
1008
1009 /***/ 68899:
1010 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1011
1012 "use strict";
1013
1014
1015 var $Object = __webpack_require__(68892);
1016
1017 /** @type {import('./Object.getPrototypeOf')} */
1018 module.exports = $Object.getPrototypeOf || null;
1019
1020
1021 /***/ }),
1022
1023 /***/ 10443:
1024 /***/ (function(module) {
1025
1026 "use strict";
1027
1028
1029 /** @type {import('./Reflect.getPrototypeOf')} */
1030 module.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;
1031
1032
1033 /***/ }),
1034
1035 /***/ 81618:
1036 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1037
1038 "use strict";
1039
1040
1041 var reflectGetProto = __webpack_require__(10443);
1042 var originalGetProto = __webpack_require__(68899);
1043
1044 var getDunderProto = __webpack_require__(96504);
1045
1046 /** @type {import('.')} */
1047 module.exports = reflectGetProto
1048 ? function getProto(O) {
1049 // @ts-expect-error TS can't narrow inside a closure, for some reason
1050 return reflectGetProto(O);
1051 }
1052 : originalGetProto
1053 ? function getProto(O) {
1054 if (!O || (typeof O !== 'object' && typeof O !== 'function')) {
1055 throw new TypeError('getProto: not an object');
1056 }
1057 // @ts-expect-error TS can't narrow inside a closure, for some reason
1058 return originalGetProto(O);
1059 }
1060 : getDunderProto
1061 ? function getProto(O) {
1062 // @ts-expect-error TS can't narrow inside a closure, for some reason
1063 return getDunderProto(O);
1064 }
1065 : null;
1066
1067
1068 /***/ }),
1069
1070 /***/ 40690:
1071 /***/ (function(module) {
1072
1073 "use strict";
1074
1075
1076 /** @type {import('./gOPD')} */
1077 module.exports = Object.getOwnPropertyDescriptor;
1078
1079
1080 /***/ }),
1081
1082 /***/ 27296:
1083 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1084
1085 "use strict";
1086
1087
1088 /** @type {import('.')} */
1089 var $gOPD = __webpack_require__(40690);
1090
1091 if ($gOPD) {
1092 try {
1093 $gOPD([], 'length');
1094 } catch (e) {
1095 // IE 8 has a broken gOPD
1096 $gOPD = null;
1097 }
1098 }
1099
1100 module.exports = $gOPD;
1101
1102
1103 /***/ }),
1104
1105 /***/ 49948:
1106 /***/ (function(__unused_webpack_module, exports) {
1107
1108 // Copyright (c) 2014 Rafael Caricio. All rights reserved.
1109 // Use of this source code is governed by a BSD-style license that can be
1110 // found in the LICENSE file.
1111
1112 var GradientParser = {};
1113
1114 GradientParser.parse = (function() {
1115
1116 var tokens = {
1117 linearGradient: /^(\-(webkit|o|ms|moz)\-)?(linear\-gradient)/i,
1118 repeatingLinearGradient: /^(\-(webkit|o|ms|moz)\-)?(repeating\-linear\-gradient)/i,
1119 radialGradient: /^(\-(webkit|o|ms|moz)\-)?(radial\-gradient)/i,
1120 repeatingRadialGradient: /^(\-(webkit|o|ms|moz)\-)?(repeating\-radial\-gradient)/i,
1121 sideOrCorner: /^to (left (top|bottom)|right (top|bottom)|left|right|top|bottom)/i,
1122 extentKeywords: /^(closest\-side|closest\-corner|farthest\-side|farthest\-corner|contain|cover)/,
1123 positionKeywords: /^(left|center|right|top|bottom)/i,
1124 pixelValue: /^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))px/,
1125 percentageValue: /^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))\%/,
1126 emValue: /^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))em/,
1127 angleValue: /^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))deg/,
1128 startCall: /^\(/,
1129 endCall: /^\)/,
1130 comma: /^,/,
1131 hexColor: /^\#([0-9a-fA-F]+)/,
1132 literalColor: /^([a-zA-Z]+)/,
1133 rgbColor: /^rgb/i,
1134 rgbaColor: /^rgba/i,
1135 number: /^(([0-9]*\.[0-9]+)|([0-9]+\.?))/
1136 };
1137
1138 var input = '';
1139
1140 function error(msg) {
1141 var err = new Error(input + ': ' + msg);
1142 err.source = input;
1143 throw err;
1144 }
1145
1146 function getAST() {
1147 var ast = matchListDefinitions();
1148
1149 if (input.length > 0) {
1150 error('Invalid input not EOF');
1151 }
1152
1153 return ast;
1154 }
1155
1156 function matchListDefinitions() {
1157 return matchListing(matchDefinition);
1158 }
1159
1160 function matchDefinition() {
1161 return matchGradient(
1162 'linear-gradient',
1163 tokens.linearGradient,
1164 matchLinearOrientation) ||
1165
1166 matchGradient(
1167 'repeating-linear-gradient',
1168 tokens.repeatingLinearGradient,
1169 matchLinearOrientation) ||
1170
1171 matchGradient(
1172 'radial-gradient',
1173 tokens.radialGradient,
1174 matchListRadialOrientations) ||
1175
1176 matchGradient(
1177 'repeating-radial-gradient',
1178 tokens.repeatingRadialGradient,
1179 matchListRadialOrientations);
1180 }
1181
1182 function matchGradient(gradientType, pattern, orientationMatcher) {
1183 return matchCall(pattern, function(captures) {
1184
1185 var orientation = orientationMatcher();
1186 if (orientation) {
1187 if (!scan(tokens.comma)) {
1188 error('Missing comma before color stops');
1189 }
1190 }
1191
1192 return {
1193 type: gradientType,
1194 orientation: orientation,
1195 colorStops: matchListing(matchColorStop)
1196 };
1197 });
1198 }
1199
1200 function matchCall(pattern, callback) {
1201 var captures = scan(pattern);
1202
1203 if (captures) {
1204 if (!scan(tokens.startCall)) {
1205 error('Missing (');
1206 }
1207
1208 result = callback(captures);
1209
1210 if (!scan(tokens.endCall)) {
1211 error('Missing )');
1212 }
1213
1214 return result;
1215 }
1216 }
1217
1218 function matchLinearOrientation() {
1219 return matchSideOrCorner() ||
1220 matchAngle();
1221 }
1222
1223 function matchSideOrCorner() {
1224 return match('directional', tokens.sideOrCorner, 1);
1225 }
1226
1227 function matchAngle() {
1228 return match('angular', tokens.angleValue, 1);
1229 }
1230
1231 function matchListRadialOrientations() {
1232 var radialOrientations,
1233 radialOrientation = matchRadialOrientation(),
1234 lookaheadCache;
1235
1236 if (radialOrientation) {
1237 radialOrientations = [];
1238 radialOrientations.push(radialOrientation);
1239
1240 lookaheadCache = input;
1241 if (scan(tokens.comma)) {
1242 radialOrientation = matchRadialOrientation();
1243 if (radialOrientation) {
1244 radialOrientations.push(radialOrientation);
1245 } else {
1246 input = lookaheadCache;
1247 }
1248 }
1249 }
1250
1251 return radialOrientations;
1252 }
1253
1254 function matchRadialOrientation() {
1255 var radialType = matchCircle() ||
1256 matchEllipse();
1257
1258 if (radialType) {
1259 radialType.at = matchAtPosition();
1260 } else {
1261 var defaultPosition = matchPositioning();
1262 if (defaultPosition) {
1263 radialType = {
1264 type: 'default-radial',
1265 at: defaultPosition
1266 };
1267 }
1268 }
1269
1270 return radialType;
1271 }
1272
1273 function matchCircle() {
1274 var circle = match('shape', /^(circle)/i, 0);
1275
1276 if (circle) {
1277 circle.style = matchLength() || matchExtentKeyword();
1278 }
1279
1280 return circle;
1281 }
1282
1283 function matchEllipse() {
1284 var ellipse = match('shape', /^(ellipse)/i, 0);
1285
1286 if (ellipse) {
1287 ellipse.style = matchDistance() || matchExtentKeyword();
1288 }
1289
1290 return ellipse;
1291 }
1292
1293 function matchExtentKeyword() {
1294 return match('extent-keyword', tokens.extentKeywords, 1);
1295 }
1296
1297 function matchAtPosition() {
1298 if (match('position', /^at/, 0)) {
1299 var positioning = matchPositioning();
1300
1301 if (!positioning) {
1302 error('Missing positioning value');
1303 }
1304
1305 return positioning;
1306 }
1307 }
1308
1309 function matchPositioning() {
1310 var location = matchCoordinates();
1311
1312 if (location.x || location.y) {
1313 return {
1314 type: 'position',
1315 value: location
1316 };
1317 }
1318 }
1319
1320 function matchCoordinates() {
1321 return {
1322 x: matchDistance(),
1323 y: matchDistance()
1324 };
1325 }
1326
1327 function matchListing(matcher) {
1328 var captures = matcher(),
1329 result = [];
1330
1331 if (captures) {
1332 result.push(captures);
1333 while (scan(tokens.comma)) {
1334 captures = matcher();
1335 if (captures) {
1336 result.push(captures);
1337 } else {
1338 error('One extra comma');
1339 }
1340 }
1341 }
1342
1343 return result;
1344 }
1345
1346 function matchColorStop() {
1347 var color = matchColor();
1348
1349 if (!color) {
1350 error('Expected color definition');
1351 }
1352
1353 color.length = matchDistance();
1354 return color;
1355 }
1356
1357 function matchColor() {
1358 return matchHexColor() ||
1359 matchRGBAColor() ||
1360 matchRGBColor() ||
1361 matchLiteralColor();
1362 }
1363
1364 function matchLiteralColor() {
1365 return match('literal', tokens.literalColor, 0);
1366 }
1367
1368 function matchHexColor() {
1369 return match('hex', tokens.hexColor, 1);
1370 }
1371
1372 function matchRGBColor() {
1373 return matchCall(tokens.rgbColor, function() {
1374 return {
1375 type: 'rgb',
1376 value: matchListing(matchNumber)
1377 };
1378 });
1379 }
1380
1381 function matchRGBAColor() {
1382 return matchCall(tokens.rgbaColor, function() {
1383 return {
1384 type: 'rgba',
1385 value: matchListing(matchNumber)
1386 };
1387 });
1388 }
1389
1390 function matchNumber() {
1391 return scan(tokens.number)[1];
1392 }
1393
1394 function matchDistance() {
1395 return match('%', tokens.percentageValue, 1) ||
1396 matchPositionKeyword() ||
1397 matchLength();
1398 }
1399
1400 function matchPositionKeyword() {
1401 return match('position-keyword', tokens.positionKeywords, 1);
1402 }
1403
1404 function matchLength() {
1405 return match('px', tokens.pixelValue, 1) ||
1406 match('em', tokens.emValue, 1);
1407 }
1408
1409 function match(type, pattern, captureIndex) {
1410 var captures = scan(pattern);
1411 if (captures) {
1412 return {
1413 type: type,
1414 value: captures[captureIndex]
1415 };
1416 }
1417 }
1418
1419 function scan(regexp) {
1420 var captures,
1421 blankCaptures;
1422
1423 blankCaptures = /^[\n\r\t\s]+/.exec(input);
1424 if (blankCaptures) {
1425 consume(blankCaptures[0].length);
1426 }
1427
1428 captures = regexp.exec(input);
1429 if (captures) {
1430 consume(captures[0].length);
1431 }
1432
1433 return captures;
1434 }
1435
1436 function consume(size) {
1437 input = input.substr(size);
1438 }
1439
1440 return function(code) {
1441 input = code.toString();
1442 return getAST();
1443 };
1444 })();
1445
1446 exports.parse = (GradientParser || {}).parse;
1447
1448
1449 /***/ }),
1450
1451 /***/ 41405:
1452 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1453
1454 "use strict";
1455
1456
1457 var origSymbol = typeof Symbol !== 'undefined' && Symbol;
1458 var hasSymbolSham = __webpack_require__(55419);
1459
1460 /** @type {import('.')} */
1461 module.exports = function hasNativeSymbols() {
1462 if (typeof origSymbol !== 'function') { return false; }
1463 if (typeof Symbol !== 'function') { return false; }
1464 if (typeof origSymbol('foo') !== 'symbol') { return false; }
1465 if (typeof Symbol('bar') !== 'symbol') { return false; }
1466
1467 return hasSymbolSham();
1468 };
1469
1470
1471 /***/ }),
1472
1473 /***/ 55419:
1474 /***/ (function(module) {
1475
1476 "use strict";
1477
1478
1479 /** @type {import('./shams')} */
1480 /* eslint complexity: [2, 18], max-statements: [2, 33] */
1481 module.exports = function hasSymbols() {
1482 if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }
1483 if (typeof Symbol.iterator === 'symbol') { return true; }
1484
1485 /** @type {{ [k in symbol]?: unknown }} */
1486 var obj = {};
1487 var sym = Symbol('test');
1488 var symObj = Object(sym);
1489 if (typeof sym === 'string') { return false; }
1490
1491 if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }
1492 if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }
1493
1494 // temp disabled per https://github.com/ljharb/object.assign/issues/17
1495 // if (sym instanceof Symbol) { return false; }
1496 // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4
1497 // if (!(symObj instanceof Symbol)) { return false; }
1498
1499 // if (typeof Symbol.prototype.toString !== 'function') { return false; }
1500 // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }
1501
1502 var symVal = 42;
1503 obj[sym] = symVal;
1504 for (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop
1505 if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }
1506
1507 if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }
1508
1509 var syms = Object.getOwnPropertySymbols(obj);
1510 if (syms.length !== 1 || syms[0] !== sym) { return false; }
1511
1512 if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }
1513
1514 if (typeof Object.getOwnPropertyDescriptor === 'function') {
1515 // eslint-disable-next-line no-extra-parens
1516 var descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));
1517 if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }
1518 }
1519
1520 return true;
1521 };
1522
1523
1524 /***/ }),
1525
1526 /***/ 48824:
1527 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1528
1529 "use strict";
1530
1531
1532 var call = Function.prototype.call;
1533 var $hasOwn = Object.prototype.hasOwnProperty;
1534 var bind = __webpack_require__(58612);
1535
1536 /** @type {import('.')} */
1537 module.exports = bind.call(call, $hasOwn);
1538
1539
1540 /***/ }),
1541
1542 /***/ 49674:
1543 /***/ (function(module) {
1544
1545 /**
1546 * use :not(#\20), :not(.\20) and :not(\20) instead of generating unlikely
1547 * appearing ids…
1548 * — twitter.com/subzey/status/829050478721896448
1549 * Rationale: \20 is a css escape for U+0020 Space, and neither classname,
1550 * nor id, nor tagname can contain a space
1551 * — twitter.com/subzey/status/829051085885153280
1552 */
1553
1554 var selector = ':not(#\\20)';
1555 var defaultOptions = { repeat: 3 };
1556
1557 module.exports = function increaseSpecificity(userOptions) {
1558 var options = Object.assign({}, defaultOptions, userOptions);
1559 var prefix = Array(options.repeat + 1).join(selector);
1560
1561 function onProcessRule(rule, sheet) {
1562 var parent = rule.options.parent;
1563
1564 if (
1565 sheet.options.increaseSpecificity === false ||
1566 rule.type !== 'style' ||
1567 (parent && parent.type === 'keyframes')
1568 ) return;
1569
1570 rule.selectorText = prefix + rule.selectorText;
1571 }
1572
1573 return { onProcessRule: onProcessRule };
1574 };
1575
1576
1577 /***/ }),
1578
1579 /***/ 18552:
1580 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1581
1582 var getNative = __webpack_require__(10852),
1583 root = __webpack_require__(55639);
1584
1585 /* Built-in method references that are verified to be native. */
1586 var DataView = getNative(root, 'DataView');
1587
1588 module.exports = DataView;
1589
1590
1591 /***/ }),
1592
1593 /***/ 1989:
1594 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1595
1596 var hashClear = __webpack_require__(51789),
1597 hashDelete = __webpack_require__(80401),
1598 hashGet = __webpack_require__(57667),
1599 hashHas = __webpack_require__(21327),
1600 hashSet = __webpack_require__(81866);
1601
1602 /**
1603 * Creates a hash object.
1604 *
1605 * @private
1606 * @constructor
1607 * @param {Array} [entries] The key-value pairs to cache.
1608 */
1609 function Hash(entries) {
1610 var index = -1,
1611 length = entries == null ? 0 : entries.length;
1612
1613 this.clear();
1614 while (++index < length) {
1615 var entry = entries[index];
1616 this.set(entry[0], entry[1]);
1617 }
1618 }
1619
1620 // Add methods to `Hash`.
1621 Hash.prototype.clear = hashClear;
1622 Hash.prototype['delete'] = hashDelete;
1623 Hash.prototype.get = hashGet;
1624 Hash.prototype.has = hashHas;
1625 Hash.prototype.set = hashSet;
1626
1627 module.exports = Hash;
1628
1629
1630 /***/ }),
1631
1632 /***/ 38407:
1633 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1634
1635 var listCacheClear = __webpack_require__(27040),
1636 listCacheDelete = __webpack_require__(14125),
1637 listCacheGet = __webpack_require__(82117),
1638 listCacheHas = __webpack_require__(67518),
1639 listCacheSet = __webpack_require__(54705);
1640
1641 /**
1642 * Creates an list cache object.
1643 *
1644 * @private
1645 * @constructor
1646 * @param {Array} [entries] The key-value pairs to cache.
1647 */
1648 function ListCache(entries) {
1649 var index = -1,
1650 length = entries == null ? 0 : entries.length;
1651
1652 this.clear();
1653 while (++index < length) {
1654 var entry = entries[index];
1655 this.set(entry[0], entry[1]);
1656 }
1657 }
1658
1659 // Add methods to `ListCache`.
1660 ListCache.prototype.clear = listCacheClear;
1661 ListCache.prototype['delete'] = listCacheDelete;
1662 ListCache.prototype.get = listCacheGet;
1663 ListCache.prototype.has = listCacheHas;
1664 ListCache.prototype.set = listCacheSet;
1665
1666 module.exports = ListCache;
1667
1668
1669 /***/ }),
1670
1671 /***/ 57071:
1672 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1673
1674 var getNative = __webpack_require__(10852),
1675 root = __webpack_require__(55639);
1676
1677 /* Built-in method references that are verified to be native. */
1678 var Map = getNative(root, 'Map');
1679
1680 module.exports = Map;
1681
1682
1683 /***/ }),
1684
1685 /***/ 83369:
1686 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1687
1688 var mapCacheClear = __webpack_require__(24785),
1689 mapCacheDelete = __webpack_require__(11285),
1690 mapCacheGet = __webpack_require__(96000),
1691 mapCacheHas = __webpack_require__(49916),
1692 mapCacheSet = __webpack_require__(95265);
1693
1694 /**
1695 * Creates a map cache object to store key-value pairs.
1696 *
1697 * @private
1698 * @constructor
1699 * @param {Array} [entries] The key-value pairs to cache.
1700 */
1701 function MapCache(entries) {
1702 var index = -1,
1703 length = entries == null ? 0 : entries.length;
1704
1705 this.clear();
1706 while (++index < length) {
1707 var entry = entries[index];
1708 this.set(entry[0], entry[1]);
1709 }
1710 }
1711
1712 // Add methods to `MapCache`.
1713 MapCache.prototype.clear = mapCacheClear;
1714 MapCache.prototype['delete'] = mapCacheDelete;
1715 MapCache.prototype.get = mapCacheGet;
1716 MapCache.prototype.has = mapCacheHas;
1717 MapCache.prototype.set = mapCacheSet;
1718
1719 module.exports = MapCache;
1720
1721
1722 /***/ }),
1723
1724 /***/ 53818:
1725 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1726
1727 var getNative = __webpack_require__(10852),
1728 root = __webpack_require__(55639);
1729
1730 /* Built-in method references that are verified to be native. */
1731 var Promise = getNative(root, 'Promise');
1732
1733 module.exports = Promise;
1734
1735
1736 /***/ }),
1737
1738 /***/ 58525:
1739 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1740
1741 var getNative = __webpack_require__(10852),
1742 root = __webpack_require__(55639);
1743
1744 /* Built-in method references that are verified to be native. */
1745 var Set = getNative(root, 'Set');
1746
1747 module.exports = Set;
1748
1749
1750 /***/ }),
1751
1752 /***/ 88668:
1753 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1754
1755 var MapCache = __webpack_require__(83369),
1756 setCacheAdd = __webpack_require__(90619),
1757 setCacheHas = __webpack_require__(72385);
1758
1759 /**
1760 *
1761 * Creates an array cache object to store unique values.
1762 *
1763 * @private
1764 * @constructor
1765 * @param {Array} [values] The values to cache.
1766 */
1767 function SetCache(values) {
1768 var index = -1,
1769 length = values == null ? 0 : values.length;
1770
1771 this.__data__ = new MapCache;
1772 while (++index < length) {
1773 this.add(values[index]);
1774 }
1775 }
1776
1777 // Add methods to `SetCache`.
1778 SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
1779 SetCache.prototype.has = setCacheHas;
1780
1781 module.exports = SetCache;
1782
1783
1784 /***/ }),
1785
1786 /***/ 46384:
1787 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1788
1789 var ListCache = __webpack_require__(38407),
1790 stackClear = __webpack_require__(37465),
1791 stackDelete = __webpack_require__(63779),
1792 stackGet = __webpack_require__(67599),
1793 stackHas = __webpack_require__(44758),
1794 stackSet = __webpack_require__(34309);
1795
1796 /**
1797 * Creates a stack cache object to store key-value pairs.
1798 *
1799 * @private
1800 * @constructor
1801 * @param {Array} [entries] The key-value pairs to cache.
1802 */
1803 function Stack(entries) {
1804 var data = this.__data__ = new ListCache(entries);
1805 this.size = data.size;
1806 }
1807
1808 // Add methods to `Stack`.
1809 Stack.prototype.clear = stackClear;
1810 Stack.prototype['delete'] = stackDelete;
1811 Stack.prototype.get = stackGet;
1812 Stack.prototype.has = stackHas;
1813 Stack.prototype.set = stackSet;
1814
1815 module.exports = Stack;
1816
1817
1818 /***/ }),
1819
1820 /***/ 62705:
1821 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1822
1823 var root = __webpack_require__(55639);
1824
1825 /** Built-in value references. */
1826 var Symbol = root.Symbol;
1827
1828 module.exports = Symbol;
1829
1830
1831 /***/ }),
1832
1833 /***/ 11149:
1834 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1835
1836 var root = __webpack_require__(55639);
1837
1838 /** Built-in value references. */
1839 var Uint8Array = root.Uint8Array;
1840
1841 module.exports = Uint8Array;
1842
1843
1844 /***/ }),
1845
1846 /***/ 70577:
1847 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1848
1849 var getNative = __webpack_require__(10852),
1850 root = __webpack_require__(55639);
1851
1852 /* Built-in method references that are verified to be native. */
1853 var WeakMap = getNative(root, 'WeakMap');
1854
1855 module.exports = WeakMap;
1856
1857
1858 /***/ }),
1859
1860 /***/ 96874:
1861 /***/ (function(module) {
1862
1863 /**
1864 * A faster alternative to `Function#apply`, this function invokes `func`
1865 * with the `this` binding of `thisArg` and the arguments of `args`.
1866 *
1867 * @private
1868 * @param {Function} func The function to invoke.
1869 * @param {*} thisArg The `this` binding of `func`.
1870 * @param {Array} args The arguments to invoke `func` with.
1871 * @returns {*} Returns the result of `func`.
1872 */
1873 function apply(func, thisArg, args) {
1874 switch (args.length) {
1875 case 0: return func.call(thisArg);
1876 case 1: return func.call(thisArg, args[0]);
1877 case 2: return func.call(thisArg, args[0], args[1]);
1878 case 3: return func.call(thisArg, args[0], args[1], args[2]);
1879 }
1880 return func.apply(thisArg, args);
1881 }
1882
1883 module.exports = apply;
1884
1885
1886 /***/ }),
1887
1888 /***/ 77412:
1889 /***/ (function(module) {
1890
1891 /**
1892 * A specialized version of `_.forEach` for arrays without support for
1893 * iteratee shorthands.
1894 *
1895 * @private
1896 * @param {Array} [array] The array to iterate over.
1897 * @param {Function} iteratee The function invoked per iteration.
1898 * @returns {Array} Returns `array`.
1899 */
1900 function arrayEach(array, iteratee) {
1901 var index = -1,
1902 length = array == null ? 0 : array.length;
1903
1904 while (++index < length) {
1905 if (iteratee(array[index], index, array) === false) {
1906 break;
1907 }
1908 }
1909 return array;
1910 }
1911
1912 module.exports = arrayEach;
1913
1914
1915 /***/ }),
1916
1917 /***/ 34963:
1918 /***/ (function(module) {
1919
1920 /**
1921 * A specialized version of `_.filter` for arrays without support for
1922 * iteratee shorthands.
1923 *
1924 * @private
1925 * @param {Array} [array] The array to iterate over.
1926 * @param {Function} predicate The function invoked per iteration.
1927 * @returns {Array} Returns the new filtered array.
1928 */
1929 function arrayFilter(array, predicate) {
1930 var index = -1,
1931 length = array == null ? 0 : array.length,
1932 resIndex = 0,
1933 result = [];
1934
1935 while (++index < length) {
1936 var value = array[index];
1937 if (predicate(value, index, array)) {
1938 result[resIndex++] = value;
1939 }
1940 }
1941 return result;
1942 }
1943
1944 module.exports = arrayFilter;
1945
1946
1947 /***/ }),
1948
1949 /***/ 14636:
1950 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
1951
1952 var baseTimes = __webpack_require__(22545),
1953 isArguments = __webpack_require__(35694),
1954 isArray = __webpack_require__(1469),
1955 isBuffer = __webpack_require__(44144),
1956 isIndex = __webpack_require__(65776),
1957 isTypedArray = __webpack_require__(36719);
1958
1959 /** Used for built-in method references. */
1960 var objectProto = Object.prototype;
1961
1962 /** Used to check objects for own properties. */
1963 var hasOwnProperty = objectProto.hasOwnProperty;
1964
1965 /**
1966 * Creates an array of the enumerable property names of the array-like `value`.
1967 *
1968 * @private
1969 * @param {*} value The value to query.
1970 * @param {boolean} inherited Specify returning inherited property names.
1971 * @returns {Array} Returns the array of property names.
1972 */
1973 function arrayLikeKeys(value, inherited) {
1974 var isArr = isArray(value),
1975 isArg = !isArr && isArguments(value),
1976 isBuff = !isArr && !isArg && isBuffer(value),
1977 isType = !isArr && !isArg && !isBuff && isTypedArray(value),
1978 skipIndexes = isArr || isArg || isBuff || isType,
1979 result = skipIndexes ? baseTimes(value.length, String) : [],
1980 length = result.length;
1981
1982 for (var key in value) {
1983 if ((inherited || hasOwnProperty.call(value, key)) &&
1984 !(skipIndexes && (
1985 // Safari 9 has enumerable `arguments.length` in strict mode.
1986 key == 'length' ||
1987 // Node.js 0.10 has enumerable non-index properties on buffers.
1988 (isBuff && (key == 'offset' || key == 'parent')) ||
1989 // PhantomJS 2 has enumerable non-index properties on typed arrays.
1990 (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||
1991 // Skip index properties.
1992 isIndex(key, length)
1993 ))) {
1994 result.push(key);
1995 }
1996 }
1997 return result;
1998 }
1999
2000 module.exports = arrayLikeKeys;
2001
2002
2003 /***/ }),
2004
2005 /***/ 29932:
2006 /***/ (function(module) {
2007
2008 /**
2009 * A specialized version of `_.map` for arrays without support for iteratee
2010 * shorthands.
2011 *
2012 * @private
2013 * @param {Array} [array] The array to iterate over.
2014 * @param {Function} iteratee The function invoked per iteration.
2015 * @returns {Array} Returns the new mapped array.
2016 */
2017 function arrayMap(array, iteratee) {
2018 var index = -1,
2019 length = array == null ? 0 : array.length,
2020 result = Array(length);
2021
2022 while (++index < length) {
2023 result[index] = iteratee(array[index], index, array);
2024 }
2025 return result;
2026 }
2027
2028 module.exports = arrayMap;
2029
2030
2031 /***/ }),
2032
2033 /***/ 62488:
2034 /***/ (function(module) {
2035
2036 /**
2037 * Appends the elements of `values` to `array`.
2038 *
2039 * @private
2040 * @param {Array} array The array to modify.
2041 * @param {Array} values The values to append.
2042 * @returns {Array} Returns `array`.
2043 */
2044 function arrayPush(array, values) {
2045 var index = -1,
2046 length = values.length,
2047 offset = array.length;
2048
2049 while (++index < length) {
2050 array[offset + index] = values[index];
2051 }
2052 return array;
2053 }
2054
2055 module.exports = arrayPush;
2056
2057
2058 /***/ }),
2059
2060 /***/ 82908:
2061 /***/ (function(module) {
2062
2063 /**
2064 * A specialized version of `_.some` for arrays without support for iteratee
2065 * shorthands.
2066 *
2067 * @private
2068 * @param {Array} [array] The array to iterate over.
2069 * @param {Function} predicate The function invoked per iteration.
2070 * @returns {boolean} Returns `true` if any element passes the predicate check,
2071 * else `false`.
2072 */
2073 function arraySome(array, predicate) {
2074 var index = -1,
2075 length = array == null ? 0 : array.length;
2076
2077 while (++index < length) {
2078 if (predicate(array[index], index, array)) {
2079 return true;
2080 }
2081 }
2082 return false;
2083 }
2084
2085 module.exports = arraySome;
2086
2087
2088 /***/ }),
2089
2090 /***/ 86556:
2091 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2092
2093 var baseAssignValue = __webpack_require__(89465),
2094 eq = __webpack_require__(77813);
2095
2096 /**
2097 * This function is like `assignValue` except that it doesn't assign
2098 * `undefined` values.
2099 *
2100 * @private
2101 * @param {Object} object The object to modify.
2102 * @param {string} key The key of the property to assign.
2103 * @param {*} value The value to assign.
2104 */
2105 function assignMergeValue(object, key, value) {
2106 if ((value !== undefined && !eq(object[key], value)) ||
2107 (value === undefined && !(key in object))) {
2108 baseAssignValue(object, key, value);
2109 }
2110 }
2111
2112 module.exports = assignMergeValue;
2113
2114
2115 /***/ }),
2116
2117 /***/ 34865:
2118 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2119
2120 var baseAssignValue = __webpack_require__(89465),
2121 eq = __webpack_require__(77813);
2122
2123 /** Used for built-in method references. */
2124 var objectProto = Object.prototype;
2125
2126 /** Used to check objects for own properties. */
2127 var hasOwnProperty = objectProto.hasOwnProperty;
2128
2129 /**
2130 * Assigns `value` to `key` of `object` if the existing value is not equivalent
2131 * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
2132 * for equality comparisons.
2133 *
2134 * @private
2135 * @param {Object} object The object to modify.
2136 * @param {string} key The key of the property to assign.
2137 * @param {*} value The value to assign.
2138 */
2139 function assignValue(object, key, value) {
2140 var objValue = object[key];
2141 if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||
2142 (value === undefined && !(key in object))) {
2143 baseAssignValue(object, key, value);
2144 }
2145 }
2146
2147 module.exports = assignValue;
2148
2149
2150 /***/ }),
2151
2152 /***/ 18470:
2153 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2154
2155 var eq = __webpack_require__(77813);
2156
2157 /**
2158 * Gets the index at which the `key` is found in `array` of key-value pairs.
2159 *
2160 * @private
2161 * @param {Array} array The array to inspect.
2162 * @param {*} key The key to search for.
2163 * @returns {number} Returns the index of the matched value, else `-1`.
2164 */
2165 function assocIndexOf(array, key) {
2166 var length = array.length;
2167 while (length--) {
2168 if (eq(array[length][0], key)) {
2169 return length;
2170 }
2171 }
2172 return -1;
2173 }
2174
2175 module.exports = assocIndexOf;
2176
2177
2178 /***/ }),
2179
2180 /***/ 44037:
2181 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2182
2183 var copyObject = __webpack_require__(98363),
2184 keys = __webpack_require__(3674);
2185
2186 /**
2187 * The base implementation of `_.assign` without support for multiple sources
2188 * or `customizer` functions.
2189 *
2190 * @private
2191 * @param {Object} object The destination object.
2192 * @param {Object} source The source object.
2193 * @returns {Object} Returns `object`.
2194 */
2195 function baseAssign(object, source) {
2196 return object && copyObject(source, keys(source), object);
2197 }
2198
2199 module.exports = baseAssign;
2200
2201
2202 /***/ }),
2203
2204 /***/ 63886:
2205 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2206
2207 var copyObject = __webpack_require__(98363),
2208 keysIn = __webpack_require__(81704);
2209
2210 /**
2211 * The base implementation of `_.assignIn` without support for multiple sources
2212 * or `customizer` functions.
2213 *
2214 * @private
2215 * @param {Object} object The destination object.
2216 * @param {Object} source The source object.
2217 * @returns {Object} Returns `object`.
2218 */
2219 function baseAssignIn(object, source) {
2220 return object && copyObject(source, keysIn(source), object);
2221 }
2222
2223 module.exports = baseAssignIn;
2224
2225
2226 /***/ }),
2227
2228 /***/ 89465:
2229 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2230
2231 var defineProperty = __webpack_require__(38777);
2232
2233 /**
2234 * The base implementation of `assignValue` and `assignMergeValue` without
2235 * value checks.
2236 *
2237 * @private
2238 * @param {Object} object The object to modify.
2239 * @param {string} key The key of the property to assign.
2240 * @param {*} value The value to assign.
2241 */
2242 function baseAssignValue(object, key, value) {
2243 if (key == '__proto__' && defineProperty) {
2244 defineProperty(object, key, {
2245 'configurable': true,
2246 'enumerable': true,
2247 'value': value,
2248 'writable': true
2249 });
2250 } else {
2251 object[key] = value;
2252 }
2253 }
2254
2255 module.exports = baseAssignValue;
2256
2257
2258 /***/ }),
2259
2260 /***/ 85990:
2261 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2262
2263 var Stack = __webpack_require__(46384),
2264 arrayEach = __webpack_require__(77412),
2265 assignValue = __webpack_require__(34865),
2266 baseAssign = __webpack_require__(44037),
2267 baseAssignIn = __webpack_require__(63886),
2268 cloneBuffer = __webpack_require__(64626),
2269 copyArray = __webpack_require__(278),
2270 copySymbols = __webpack_require__(18805),
2271 copySymbolsIn = __webpack_require__(1911),
2272 getAllKeys = __webpack_require__(58234),
2273 getAllKeysIn = __webpack_require__(46904),
2274 getTag = __webpack_require__(64160),
2275 initCloneArray = __webpack_require__(43824),
2276 initCloneByTag = __webpack_require__(29148),
2277 initCloneObject = __webpack_require__(38517),
2278 isArray = __webpack_require__(1469),
2279 isBuffer = __webpack_require__(44144),
2280 isMap = __webpack_require__(56688),
2281 isObject = __webpack_require__(13218),
2282 isSet = __webpack_require__(72928),
2283 keys = __webpack_require__(3674),
2284 keysIn = __webpack_require__(81704);
2285
2286 /** Used to compose bitmasks for cloning. */
2287 var CLONE_DEEP_FLAG = 1,
2288 CLONE_FLAT_FLAG = 2,
2289 CLONE_SYMBOLS_FLAG = 4;
2290
2291 /** `Object#toString` result references. */
2292 var argsTag = '[object Arguments]',
2293 arrayTag = '[object Array]',
2294 boolTag = '[object Boolean]',
2295 dateTag = '[object Date]',
2296 errorTag = '[object Error]',
2297 funcTag = '[object Function]',
2298 genTag = '[object GeneratorFunction]',
2299 mapTag = '[object Map]',
2300 numberTag = '[object Number]',
2301 objectTag = '[object Object]',
2302 regexpTag = '[object RegExp]',
2303 setTag = '[object Set]',
2304 stringTag = '[object String]',
2305 symbolTag = '[object Symbol]',
2306 weakMapTag = '[object WeakMap]';
2307
2308 var arrayBufferTag = '[object ArrayBuffer]',
2309 dataViewTag = '[object DataView]',
2310 float32Tag = '[object Float32Array]',
2311 float64Tag = '[object Float64Array]',
2312 int8Tag = '[object Int8Array]',
2313 int16Tag = '[object Int16Array]',
2314 int32Tag = '[object Int32Array]',
2315 uint8Tag = '[object Uint8Array]',
2316 uint8ClampedTag = '[object Uint8ClampedArray]',
2317 uint16Tag = '[object Uint16Array]',
2318 uint32Tag = '[object Uint32Array]';
2319
2320 /** Used to identify `toStringTag` values supported by `_.clone`. */
2321 var cloneableTags = {};
2322 cloneableTags[argsTag] = cloneableTags[arrayTag] =
2323 cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =
2324 cloneableTags[boolTag] = cloneableTags[dateTag] =
2325 cloneableTags[float32Tag] = cloneableTags[float64Tag] =
2326 cloneableTags[int8Tag] = cloneableTags[int16Tag] =
2327 cloneableTags[int32Tag] = cloneableTags[mapTag] =
2328 cloneableTags[numberTag] = cloneableTags[objectTag] =
2329 cloneableTags[regexpTag] = cloneableTags[setTag] =
2330 cloneableTags[stringTag] = cloneableTags[symbolTag] =
2331 cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =
2332 cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
2333 cloneableTags[errorTag] = cloneableTags[funcTag] =
2334 cloneableTags[weakMapTag] = false;
2335
2336 /**
2337 * The base implementation of `_.clone` and `_.cloneDeep` which tracks
2338 * traversed objects.
2339 *
2340 * @private
2341 * @param {*} value The value to clone.
2342 * @param {boolean} bitmask The bitmask flags.
2343 * 1 - Deep clone
2344 * 2 - Flatten inherited properties
2345 * 4 - Clone symbols
2346 * @param {Function} [customizer] The function to customize cloning.
2347 * @param {string} [key] The key of `value`.
2348 * @param {Object} [object] The parent object of `value`.
2349 * @param {Object} [stack] Tracks traversed objects and their clone counterparts.
2350 * @returns {*} Returns the cloned value.
2351 */
2352 function baseClone(value, bitmask, customizer, key, object, stack) {
2353 var result,
2354 isDeep = bitmask & CLONE_DEEP_FLAG,
2355 isFlat = bitmask & CLONE_FLAT_FLAG,
2356 isFull = bitmask & CLONE_SYMBOLS_FLAG;
2357
2358 if (customizer) {
2359 result = object ? customizer(value, key, object, stack) : customizer(value);
2360 }
2361 if (result !== undefined) {
2362 return result;
2363 }
2364 if (!isObject(value)) {
2365 return value;
2366 }
2367 var isArr = isArray(value);
2368 if (isArr) {
2369 result = initCloneArray(value);
2370 if (!isDeep) {
2371 return copyArray(value, result);
2372 }
2373 } else {
2374 var tag = getTag(value),
2375 isFunc = tag == funcTag || tag == genTag;
2376
2377 if (isBuffer(value)) {
2378 return cloneBuffer(value, isDeep);
2379 }
2380 if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
2381 result = (isFlat || isFunc) ? {} : initCloneObject(value);
2382 if (!isDeep) {
2383 return isFlat
2384 ? copySymbolsIn(value, baseAssignIn(result, value))
2385 : copySymbols(value, baseAssign(result, value));
2386 }
2387 } else {
2388 if (!cloneableTags[tag]) {
2389 return object ? value : {};
2390 }
2391 result = initCloneByTag(value, tag, isDeep);
2392 }
2393 }
2394 // Check for circular references and return its corresponding clone.
2395 stack || (stack = new Stack);
2396 var stacked = stack.get(value);
2397 if (stacked) {
2398 return stacked;
2399 }
2400 stack.set(value, result);
2401
2402 if (isSet(value)) {
2403 value.forEach(function(subValue) {
2404 result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
2405 });
2406 } else if (isMap(value)) {
2407 value.forEach(function(subValue, key) {
2408 result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));
2409 });
2410 }
2411
2412 var keysFunc = isFull
2413 ? (isFlat ? getAllKeysIn : getAllKeys)
2414 : (isFlat ? keysIn : keys);
2415
2416 var props = isArr ? undefined : keysFunc(value);
2417 arrayEach(props || value, function(subValue, key) {
2418 if (props) {
2419 key = subValue;
2420 subValue = value[key];
2421 }
2422 // Recursively populate clone (susceptible to call stack limits).
2423 assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));
2424 });
2425 return result;
2426 }
2427
2428 module.exports = baseClone;
2429
2430
2431 /***/ }),
2432
2433 /***/ 3118:
2434 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2435
2436 var isObject = __webpack_require__(13218);
2437
2438 /** Built-in value references. */
2439 var objectCreate = Object.create;
2440
2441 /**
2442 * The base implementation of `_.create` without support for assigning
2443 * properties to the created object.
2444 *
2445 * @private
2446 * @param {Object} proto The object to inherit from.
2447 * @returns {Object} Returns the new object.
2448 */
2449 var baseCreate = (function() {
2450 function object() {}
2451 return function(proto) {
2452 if (!isObject(proto)) {
2453 return {};
2454 }
2455 if (objectCreate) {
2456 return objectCreate(proto);
2457 }
2458 object.prototype = proto;
2459 var result = new object;
2460 object.prototype = undefined;
2461 return result;
2462 };
2463 }());
2464
2465 module.exports = baseCreate;
2466
2467
2468 /***/ }),
2469
2470 /***/ 41848:
2471 /***/ (function(module) {
2472
2473 /**
2474 * The base implementation of `_.findIndex` and `_.findLastIndex` without
2475 * support for iteratee shorthands.
2476 *
2477 * @private
2478 * @param {Array} array The array to inspect.
2479 * @param {Function} predicate The function invoked per iteration.
2480 * @param {number} fromIndex The index to search from.
2481 * @param {boolean} [fromRight] Specify iterating from right to left.
2482 * @returns {number} Returns the index of the matched value, else `-1`.
2483 */
2484 function baseFindIndex(array, predicate, fromIndex, fromRight) {
2485 var length = array.length,
2486 index = fromIndex + (fromRight ? 1 : -1);
2487
2488 while ((fromRight ? index-- : ++index < length)) {
2489 if (predicate(array[index], index, array)) {
2490 return index;
2491 }
2492 }
2493 return -1;
2494 }
2495
2496 module.exports = baseFindIndex;
2497
2498
2499 /***/ }),
2500
2501 /***/ 21078:
2502 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2503
2504 var arrayPush = __webpack_require__(62488),
2505 isFlattenable = __webpack_require__(37285);
2506
2507 /**
2508 * The base implementation of `_.flatten` with support for restricting flattening.
2509 *
2510 * @private
2511 * @param {Array} array The array to flatten.
2512 * @param {number} depth The maximum recursion depth.
2513 * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.
2514 * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.
2515 * @param {Array} [result=[]] The initial result value.
2516 * @returns {Array} Returns the new flattened array.
2517 */
2518 function baseFlatten(array, depth, predicate, isStrict, result) {
2519 var index = -1,
2520 length = array.length;
2521
2522 predicate || (predicate = isFlattenable);
2523 result || (result = []);
2524
2525 while (++index < length) {
2526 var value = array[index];
2527 if (depth > 0 && predicate(value)) {
2528 if (depth > 1) {
2529 // Recursively flatten arrays (susceptible to call stack limits).
2530 baseFlatten(value, depth - 1, predicate, isStrict, result);
2531 } else {
2532 arrayPush(result, value);
2533 }
2534 } else if (!isStrict) {
2535 result[result.length] = value;
2536 }
2537 }
2538 return result;
2539 }
2540
2541 module.exports = baseFlatten;
2542
2543
2544 /***/ }),
2545
2546 /***/ 28483:
2547 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2548
2549 var createBaseFor = __webpack_require__(25063);
2550
2551 /**
2552 * The base implementation of `baseForOwn` which iterates over `object`
2553 * properties returned by `keysFunc` and invokes `iteratee` for each property.
2554 * Iteratee functions may exit iteration early by explicitly returning `false`.
2555 *
2556 * @private
2557 * @param {Object} object The object to iterate over.
2558 * @param {Function} iteratee The function invoked per iteration.
2559 * @param {Function} keysFunc The function to get the keys of `object`.
2560 * @returns {Object} Returns `object`.
2561 */
2562 var baseFor = createBaseFor();
2563
2564 module.exports = baseFor;
2565
2566
2567 /***/ }),
2568
2569 /***/ 97786:
2570 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2571
2572 var castPath = __webpack_require__(71811),
2573 toKey = __webpack_require__(40327);
2574
2575 /**
2576 * The base implementation of `_.get` without support for default values.
2577 *
2578 * @private
2579 * @param {Object} object The object to query.
2580 * @param {Array|string} path The path of the property to get.
2581 * @returns {*} Returns the resolved value.
2582 */
2583 function baseGet(object, path) {
2584 path = castPath(path, object);
2585
2586 var index = 0,
2587 length = path.length;
2588
2589 while (object != null && index < length) {
2590 object = object[toKey(path[index++])];
2591 }
2592 return (index && index == length) ? object : undefined;
2593 }
2594
2595 module.exports = baseGet;
2596
2597
2598 /***/ }),
2599
2600 /***/ 68866:
2601 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2602
2603 var arrayPush = __webpack_require__(62488),
2604 isArray = __webpack_require__(1469);
2605
2606 /**
2607 * The base implementation of `getAllKeys` and `getAllKeysIn` which uses
2608 * `keysFunc` and `symbolsFunc` to get the enumerable property names and
2609 * symbols of `object`.
2610 *
2611 * @private
2612 * @param {Object} object The object to query.
2613 * @param {Function} keysFunc The function to get the keys of `object`.
2614 * @param {Function} symbolsFunc The function to get the symbols of `object`.
2615 * @returns {Array} Returns the array of property names and symbols.
2616 */
2617 function baseGetAllKeys(object, keysFunc, symbolsFunc) {
2618 var result = keysFunc(object);
2619 return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
2620 }
2621
2622 module.exports = baseGetAllKeys;
2623
2624
2625 /***/ }),
2626
2627 /***/ 44239:
2628 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2629
2630 var Symbol = __webpack_require__(62705),
2631 getRawTag = __webpack_require__(89607),
2632 objectToString = __webpack_require__(2333);
2633
2634 /** `Object#toString` result references. */
2635 var nullTag = '[object Null]',
2636 undefinedTag = '[object Undefined]';
2637
2638 /** Built-in value references. */
2639 var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
2640
2641 /**
2642 * The base implementation of `getTag` without fallbacks for buggy environments.
2643 *
2644 * @private
2645 * @param {*} value The value to query.
2646 * @returns {string} Returns the `toStringTag`.
2647 */
2648 function baseGetTag(value) {
2649 if (value == null) {
2650 return value === undefined ? undefinedTag : nullTag;
2651 }
2652 return (symToStringTag && symToStringTag in Object(value))
2653 ? getRawTag(value)
2654 : objectToString(value);
2655 }
2656
2657 module.exports = baseGetTag;
2658
2659
2660 /***/ }),
2661
2662 /***/ 13:
2663 /***/ (function(module) {
2664
2665 /**
2666 * The base implementation of `_.hasIn` without support for deep paths.
2667 *
2668 * @private
2669 * @param {Object} [object] The object to query.
2670 * @param {Array|string} key The key to check.
2671 * @returns {boolean} Returns `true` if `key` exists, else `false`.
2672 */
2673 function baseHasIn(object, key) {
2674 return object != null && key in Object(object);
2675 }
2676
2677 module.exports = baseHasIn;
2678
2679
2680 /***/ }),
2681
2682 /***/ 42118:
2683 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2684
2685 var baseFindIndex = __webpack_require__(41848),
2686 baseIsNaN = __webpack_require__(62722),
2687 strictIndexOf = __webpack_require__(42351);
2688
2689 /**
2690 * The base implementation of `_.indexOf` without `fromIndex` bounds checks.
2691 *
2692 * @private
2693 * @param {Array} array The array to inspect.
2694 * @param {*} value The value to search for.
2695 * @param {number} fromIndex The index to search from.
2696 * @returns {number} Returns the index of the matched value, else `-1`.
2697 */
2698 function baseIndexOf(array, value, fromIndex) {
2699 return value === value
2700 ? strictIndexOf(array, value, fromIndex)
2701 : baseFindIndex(array, baseIsNaN, fromIndex);
2702 }
2703
2704 module.exports = baseIndexOf;
2705
2706
2707 /***/ }),
2708
2709 /***/ 74221:
2710 /***/ (function(module) {
2711
2712 /**
2713 * This function is like `baseIndexOf` except that it accepts a comparator.
2714 *
2715 * @private
2716 * @param {Array} array The array to inspect.
2717 * @param {*} value The value to search for.
2718 * @param {number} fromIndex The index to search from.
2719 * @param {Function} comparator The comparator invoked per element.
2720 * @returns {number} Returns the index of the matched value, else `-1`.
2721 */
2722 function baseIndexOfWith(array, value, fromIndex, comparator) {
2723 var index = fromIndex - 1,
2724 length = array.length;
2725
2726 while (++index < length) {
2727 if (comparator(array[index], value)) {
2728 return index;
2729 }
2730 }
2731 return -1;
2732 }
2733
2734 module.exports = baseIndexOfWith;
2735
2736
2737 /***/ }),
2738
2739 /***/ 9454:
2740 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2741
2742 var baseGetTag = __webpack_require__(44239),
2743 isObjectLike = __webpack_require__(37005);
2744
2745 /** `Object#toString` result references. */
2746 var argsTag = '[object Arguments]';
2747
2748 /**
2749 * The base implementation of `_.isArguments`.
2750 *
2751 * @private
2752 * @param {*} value The value to check.
2753 * @returns {boolean} Returns `true` if `value` is an `arguments` object,
2754 */
2755 function baseIsArguments(value) {
2756 return isObjectLike(value) && baseGetTag(value) == argsTag;
2757 }
2758
2759 module.exports = baseIsArguments;
2760
2761
2762 /***/ }),
2763
2764 /***/ 90939:
2765 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2766
2767 var baseIsEqualDeep = __webpack_require__(2492),
2768 isObjectLike = __webpack_require__(37005);
2769
2770 /**
2771 * The base implementation of `_.isEqual` which supports partial comparisons
2772 * and tracks traversed objects.
2773 *
2774 * @private
2775 * @param {*} value The value to compare.
2776 * @param {*} other The other value to compare.
2777 * @param {boolean} bitmask The bitmask flags.
2778 * 1 - Unordered comparison
2779 * 2 - Partial comparison
2780 * @param {Function} [customizer] The function to customize comparisons.
2781 * @param {Object} [stack] Tracks traversed `value` and `other` objects.
2782 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
2783 */
2784 function baseIsEqual(value, other, bitmask, customizer, stack) {
2785 if (value === other) {
2786 return true;
2787 }
2788 if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {
2789 return value !== value && other !== other;
2790 }
2791 return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
2792 }
2793
2794 module.exports = baseIsEqual;
2795
2796
2797 /***/ }),
2798
2799 /***/ 2492:
2800 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2801
2802 var Stack = __webpack_require__(46384),
2803 equalArrays = __webpack_require__(67114),
2804 equalByTag = __webpack_require__(18351),
2805 equalObjects = __webpack_require__(16096),
2806 getTag = __webpack_require__(64160),
2807 isArray = __webpack_require__(1469),
2808 isBuffer = __webpack_require__(44144),
2809 isTypedArray = __webpack_require__(36719);
2810
2811 /** Used to compose bitmasks for value comparisons. */
2812 var COMPARE_PARTIAL_FLAG = 1;
2813
2814 /** `Object#toString` result references. */
2815 var argsTag = '[object Arguments]',
2816 arrayTag = '[object Array]',
2817 objectTag = '[object Object]';
2818
2819 /** Used for built-in method references. */
2820 var objectProto = Object.prototype;
2821
2822 /** Used to check objects for own properties. */
2823 var hasOwnProperty = objectProto.hasOwnProperty;
2824
2825 /**
2826 * A specialized version of `baseIsEqual` for arrays and objects which performs
2827 * deep comparisons and tracks traversed objects enabling objects with circular
2828 * references to be compared.
2829 *
2830 * @private
2831 * @param {Object} object The object to compare.
2832 * @param {Object} other The other object to compare.
2833 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
2834 * @param {Function} customizer The function to customize comparisons.
2835 * @param {Function} equalFunc The function to determine equivalents of values.
2836 * @param {Object} [stack] Tracks traversed `object` and `other` objects.
2837 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
2838 */
2839 function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
2840 var objIsArr = isArray(object),
2841 othIsArr = isArray(other),
2842 objTag = objIsArr ? arrayTag : getTag(object),
2843 othTag = othIsArr ? arrayTag : getTag(other);
2844
2845 objTag = objTag == argsTag ? objectTag : objTag;
2846 othTag = othTag == argsTag ? objectTag : othTag;
2847
2848 var objIsObj = objTag == objectTag,
2849 othIsObj = othTag == objectTag,
2850 isSameTag = objTag == othTag;
2851
2852 if (isSameTag && isBuffer(object)) {
2853 if (!isBuffer(other)) {
2854 return false;
2855 }
2856 objIsArr = true;
2857 objIsObj = false;
2858 }
2859 if (isSameTag && !objIsObj) {
2860 stack || (stack = new Stack);
2861 return (objIsArr || isTypedArray(object))
2862 ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
2863 : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
2864 }
2865 if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
2866 var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
2867 othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
2868
2869 if (objIsWrapped || othIsWrapped) {
2870 var objUnwrapped = objIsWrapped ? object.value() : object,
2871 othUnwrapped = othIsWrapped ? other.value() : other;
2872
2873 stack || (stack = new Stack);
2874 return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
2875 }
2876 }
2877 if (!isSameTag) {
2878 return false;
2879 }
2880 stack || (stack = new Stack);
2881 return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
2882 }
2883
2884 module.exports = baseIsEqualDeep;
2885
2886
2887 /***/ }),
2888
2889 /***/ 25588:
2890 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2891
2892 var getTag = __webpack_require__(64160),
2893 isObjectLike = __webpack_require__(37005);
2894
2895 /** `Object#toString` result references. */
2896 var mapTag = '[object Map]';
2897
2898 /**
2899 * The base implementation of `_.isMap` without Node.js optimizations.
2900 *
2901 * @private
2902 * @param {*} value The value to check.
2903 * @returns {boolean} Returns `true` if `value` is a map, else `false`.
2904 */
2905 function baseIsMap(value) {
2906 return isObjectLike(value) && getTag(value) == mapTag;
2907 }
2908
2909 module.exports = baseIsMap;
2910
2911
2912 /***/ }),
2913
2914 /***/ 62722:
2915 /***/ (function(module) {
2916
2917 /**
2918 * The base implementation of `_.isNaN` without support for number objects.
2919 *
2920 * @private
2921 * @param {*} value The value to check.
2922 * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
2923 */
2924 function baseIsNaN(value) {
2925 return value !== value;
2926 }
2927
2928 module.exports = baseIsNaN;
2929
2930
2931 /***/ }),
2932
2933 /***/ 28458:
2934 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2935
2936 var isFunction = __webpack_require__(23560),
2937 isMasked = __webpack_require__(15346),
2938 isObject = __webpack_require__(13218),
2939 toSource = __webpack_require__(80346);
2940
2941 /**
2942 * Used to match `RegExp`
2943 * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
2944 */
2945 var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
2946
2947 /** Used to detect host constructors (Safari). */
2948 var reIsHostCtor = /^\[object .+?Constructor\]$/;
2949
2950 /** Used for built-in method references. */
2951 var funcProto = Function.prototype,
2952 objectProto = Object.prototype;
2953
2954 /** Used to resolve the decompiled source of functions. */
2955 var funcToString = funcProto.toString;
2956
2957 /** Used to check objects for own properties. */
2958 var hasOwnProperty = objectProto.hasOwnProperty;
2959
2960 /** Used to detect if a method is native. */
2961 var reIsNative = RegExp('^' +
2962 funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
2963 .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
2964 );
2965
2966 /**
2967 * The base implementation of `_.isNative` without bad shim checks.
2968 *
2969 * @private
2970 * @param {*} value The value to check.
2971 * @returns {boolean} Returns `true` if `value` is a native function,
2972 * else `false`.
2973 */
2974 function baseIsNative(value) {
2975 if (!isObject(value) || isMasked(value)) {
2976 return false;
2977 }
2978 var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
2979 return pattern.test(toSource(value));
2980 }
2981
2982 module.exports = baseIsNative;
2983
2984
2985 /***/ }),
2986
2987 /***/ 29221:
2988 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2989
2990 var getTag = __webpack_require__(64160),
2991 isObjectLike = __webpack_require__(37005);
2992
2993 /** `Object#toString` result references. */
2994 var setTag = '[object Set]';
2995
2996 /**
2997 * The base implementation of `_.isSet` without Node.js optimizations.
2998 *
2999 * @private
3000 * @param {*} value The value to check.
3001 * @returns {boolean} Returns `true` if `value` is a set, else `false`.
3002 */
3003 function baseIsSet(value) {
3004 return isObjectLike(value) && getTag(value) == setTag;
3005 }
3006
3007 module.exports = baseIsSet;
3008
3009
3010 /***/ }),
3011
3012 /***/ 38749:
3013 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3014
3015 var baseGetTag = __webpack_require__(44239),
3016 isLength = __webpack_require__(41780),
3017 isObjectLike = __webpack_require__(37005);
3018
3019 /** `Object#toString` result references. */
3020 var argsTag = '[object Arguments]',
3021 arrayTag = '[object Array]',
3022 boolTag = '[object Boolean]',
3023 dateTag = '[object Date]',
3024 errorTag = '[object Error]',
3025 funcTag = '[object Function]',
3026 mapTag = '[object Map]',
3027 numberTag = '[object Number]',
3028 objectTag = '[object Object]',
3029 regexpTag = '[object RegExp]',
3030 setTag = '[object Set]',
3031 stringTag = '[object String]',
3032 weakMapTag = '[object WeakMap]';
3033
3034 var arrayBufferTag = '[object ArrayBuffer]',
3035 dataViewTag = '[object DataView]',
3036 float32Tag = '[object Float32Array]',
3037 float64Tag = '[object Float64Array]',
3038 int8Tag = '[object Int8Array]',
3039 int16Tag = '[object Int16Array]',
3040 int32Tag = '[object Int32Array]',
3041 uint8Tag = '[object Uint8Array]',
3042 uint8ClampedTag = '[object Uint8ClampedArray]',
3043 uint16Tag = '[object Uint16Array]',
3044 uint32Tag = '[object Uint32Array]';
3045
3046 /** Used to identify `toStringTag` values of typed arrays. */
3047 var typedArrayTags = {};
3048 typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
3049 typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
3050 typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
3051 typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
3052 typedArrayTags[uint32Tag] = true;
3053 typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
3054 typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
3055 typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =
3056 typedArrayTags[errorTag] = typedArrayTags[funcTag] =
3057 typedArrayTags[mapTag] = typedArrayTags[numberTag] =
3058 typedArrayTags[objectTag] = typedArrayTags[regexpTag] =
3059 typedArrayTags[setTag] = typedArrayTags[stringTag] =
3060 typedArrayTags[weakMapTag] = false;
3061
3062 /**
3063 * The base implementation of `_.isTypedArray` without Node.js optimizations.
3064 *
3065 * @private
3066 * @param {*} value The value to check.
3067 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
3068 */
3069 function baseIsTypedArray(value) {
3070 return isObjectLike(value) &&
3071 isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
3072 }
3073
3074 module.exports = baseIsTypedArray;
3075
3076
3077 /***/ }),
3078
3079 /***/ 280:
3080 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3081
3082 var isPrototype = __webpack_require__(25726),
3083 nativeKeys = __webpack_require__(86916);
3084
3085 /** Used for built-in method references. */
3086 var objectProto = Object.prototype;
3087
3088 /** Used to check objects for own properties. */
3089 var hasOwnProperty = objectProto.hasOwnProperty;
3090
3091 /**
3092 * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
3093 *
3094 * @private
3095 * @param {Object} object The object to query.
3096 * @returns {Array} Returns the array of property names.
3097 */
3098 function baseKeys(object) {
3099 if (!isPrototype(object)) {
3100 return nativeKeys(object);
3101 }
3102 var result = [];
3103 for (var key in Object(object)) {
3104 if (hasOwnProperty.call(object, key) && key != 'constructor') {
3105 result.push(key);
3106 }
3107 }
3108 return result;
3109 }
3110
3111 module.exports = baseKeys;
3112
3113
3114 /***/ }),
3115
3116 /***/ 10313:
3117 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3118
3119 var isObject = __webpack_require__(13218),
3120 isPrototype = __webpack_require__(25726),
3121 nativeKeysIn = __webpack_require__(33498);
3122
3123 /** Used for built-in method references. */
3124 var objectProto = Object.prototype;
3125
3126 /** Used to check objects for own properties. */
3127 var hasOwnProperty = objectProto.hasOwnProperty;
3128
3129 /**
3130 * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
3131 *
3132 * @private
3133 * @param {Object} object The object to query.
3134 * @returns {Array} Returns the array of property names.
3135 */
3136 function baseKeysIn(object) {
3137 if (!isObject(object)) {
3138 return nativeKeysIn(object);
3139 }
3140 var isProto = isPrototype(object),
3141 result = [];
3142
3143 for (var key in object) {
3144 if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
3145 result.push(key);
3146 }
3147 }
3148 return result;
3149 }
3150
3151 module.exports = baseKeysIn;
3152
3153
3154 /***/ }),
3155
3156 /***/ 42980:
3157 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3158
3159 var Stack = __webpack_require__(46384),
3160 assignMergeValue = __webpack_require__(86556),
3161 baseFor = __webpack_require__(28483),
3162 baseMergeDeep = __webpack_require__(59783),
3163 isObject = __webpack_require__(13218),
3164 keysIn = __webpack_require__(81704),
3165 safeGet = __webpack_require__(36390);
3166
3167 /**
3168 * The base implementation of `_.merge` without support for multiple sources.
3169 *
3170 * @private
3171 * @param {Object} object The destination object.
3172 * @param {Object} source The source object.
3173 * @param {number} srcIndex The index of `source`.
3174 * @param {Function} [customizer] The function to customize merged values.
3175 * @param {Object} [stack] Tracks traversed source values and their merged
3176 * counterparts.
3177 */
3178 function baseMerge(object, source, srcIndex, customizer, stack) {
3179 if (object === source) {
3180 return;
3181 }
3182 baseFor(source, function(srcValue, key) {
3183 stack || (stack = new Stack);
3184 if (isObject(srcValue)) {
3185 baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);
3186 }
3187 else {
3188 var newValue = customizer
3189 ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)
3190 : undefined;
3191
3192 if (newValue === undefined) {
3193 newValue = srcValue;
3194 }
3195 assignMergeValue(object, key, newValue);
3196 }
3197 }, keysIn);
3198 }
3199
3200 module.exports = baseMerge;
3201
3202
3203 /***/ }),
3204
3205 /***/ 59783:
3206 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3207
3208 var assignMergeValue = __webpack_require__(86556),
3209 cloneBuffer = __webpack_require__(64626),
3210 cloneTypedArray = __webpack_require__(77133),
3211 copyArray = __webpack_require__(278),
3212 initCloneObject = __webpack_require__(38517),
3213 isArguments = __webpack_require__(35694),
3214 isArray = __webpack_require__(1469),
3215 isArrayLikeObject = __webpack_require__(29246),
3216 isBuffer = __webpack_require__(44144),
3217 isFunction = __webpack_require__(23560),
3218 isObject = __webpack_require__(13218),
3219 isPlainObject = __webpack_require__(68630),
3220 isTypedArray = __webpack_require__(36719),
3221 safeGet = __webpack_require__(36390),
3222 toPlainObject = __webpack_require__(59881);
3223
3224 /**
3225 * A specialized version of `baseMerge` for arrays and objects which performs
3226 * deep merges and tracks traversed objects enabling objects with circular
3227 * references to be merged.
3228 *
3229 * @private
3230 * @param {Object} object The destination object.
3231 * @param {Object} source The source object.
3232 * @param {string} key The key of the value to merge.
3233 * @param {number} srcIndex The index of `source`.
3234 * @param {Function} mergeFunc The function to merge values.
3235 * @param {Function} [customizer] The function to customize assigned values.
3236 * @param {Object} [stack] Tracks traversed source values and their merged
3237 * counterparts.
3238 */
3239 function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
3240 var objValue = safeGet(object, key),
3241 srcValue = safeGet(source, key),
3242 stacked = stack.get(srcValue);
3243
3244 if (stacked) {
3245 assignMergeValue(object, key, stacked);
3246 return;
3247 }
3248 var newValue = customizer
3249 ? customizer(objValue, srcValue, (key + ''), object, source, stack)
3250 : undefined;
3251
3252 var isCommon = newValue === undefined;
3253
3254 if (isCommon) {
3255 var isArr = isArray(srcValue),
3256 isBuff = !isArr && isBuffer(srcValue),
3257 isTyped = !isArr && !isBuff && isTypedArray(srcValue);
3258
3259 newValue = srcValue;
3260 if (isArr || isBuff || isTyped) {
3261 if (isArray(objValue)) {
3262 newValue = objValue;
3263 }
3264 else if (isArrayLikeObject(objValue)) {
3265 newValue = copyArray(objValue);
3266 }
3267 else if (isBuff) {
3268 isCommon = false;
3269 newValue = cloneBuffer(srcValue, true);
3270 }
3271 else if (isTyped) {
3272 isCommon = false;
3273 newValue = cloneTypedArray(srcValue, true);
3274 }
3275 else {
3276 newValue = [];
3277 }
3278 }
3279 else if (isPlainObject(srcValue) || isArguments(srcValue)) {
3280 newValue = objValue;
3281 if (isArguments(objValue)) {
3282 newValue = toPlainObject(objValue);
3283 }
3284 else if (!isObject(objValue) || isFunction(objValue)) {
3285 newValue = initCloneObject(srcValue);
3286 }
3287 }
3288 else {
3289 isCommon = false;
3290 }
3291 }
3292 if (isCommon) {
3293 // Recursively merge objects and arrays (susceptible to call stack limits).
3294 stack.set(srcValue, newValue);
3295 mergeFunc(newValue, srcValue, srcIndex, customizer, stack);
3296 stack['delete'](srcValue);
3297 }
3298 assignMergeValue(object, key, newValue);
3299 }
3300
3301 module.exports = baseMergeDeep;
3302
3303
3304 /***/ }),
3305
3306 /***/ 25970:
3307 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3308
3309 var basePickBy = __webpack_require__(63012),
3310 hasIn = __webpack_require__(79095);
3311
3312 /**
3313 * The base implementation of `_.pick` without support for individual
3314 * property identifiers.
3315 *
3316 * @private
3317 * @param {Object} object The source object.
3318 * @param {string[]} paths The property paths to pick.
3319 * @returns {Object} Returns the new object.
3320 */
3321 function basePick(object, paths) {
3322 return basePickBy(object, paths, function(value, path) {
3323 return hasIn(object, path);
3324 });
3325 }
3326
3327 module.exports = basePick;
3328
3329
3330 /***/ }),
3331
3332 /***/ 63012:
3333 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3334
3335 var baseGet = __webpack_require__(97786),
3336 baseSet = __webpack_require__(10611),
3337 castPath = __webpack_require__(71811);
3338
3339 /**
3340 * The base implementation of `_.pickBy` without support for iteratee shorthands.
3341 *
3342 * @private
3343 * @param {Object} object The source object.
3344 * @param {string[]} paths The property paths to pick.
3345 * @param {Function} predicate The function invoked per property.
3346 * @returns {Object} Returns the new object.
3347 */
3348 function basePickBy(object, paths, predicate) {
3349 var index = -1,
3350 length = paths.length,
3351 result = {};
3352
3353 while (++index < length) {
3354 var path = paths[index],
3355 value = baseGet(object, path);
3356
3357 if (predicate(value, path)) {
3358 baseSet(result, castPath(path, object), value);
3359 }
3360 }
3361 return result;
3362 }
3363
3364 module.exports = basePickBy;
3365
3366
3367 /***/ }),
3368
3369 /***/ 65464:
3370 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3371
3372 var arrayMap = __webpack_require__(29932),
3373 baseIndexOf = __webpack_require__(42118),
3374 baseIndexOfWith = __webpack_require__(74221),
3375 baseUnary = __webpack_require__(7518),
3376 copyArray = __webpack_require__(278);
3377
3378 /** Used for built-in method references. */
3379 var arrayProto = Array.prototype;
3380
3381 /** Built-in value references. */
3382 var splice = arrayProto.splice;
3383
3384 /**
3385 * The base implementation of `_.pullAllBy` without support for iteratee
3386 * shorthands.
3387 *
3388 * @private
3389 * @param {Array} array The array to modify.
3390 * @param {Array} values The values to remove.
3391 * @param {Function} [iteratee] The iteratee invoked per element.
3392 * @param {Function} [comparator] The comparator invoked per element.
3393 * @returns {Array} Returns `array`.
3394 */
3395 function basePullAll(array, values, iteratee, comparator) {
3396 var indexOf = comparator ? baseIndexOfWith : baseIndexOf,
3397 index = -1,
3398 length = values.length,
3399 seen = array;
3400
3401 if (array === values) {
3402 values = copyArray(values);
3403 }
3404 if (iteratee) {
3405 seen = arrayMap(array, baseUnary(iteratee));
3406 }
3407 while (++index < length) {
3408 var fromIndex = 0,
3409 value = values[index],
3410 computed = iteratee ? iteratee(value) : value;
3411
3412 while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {
3413 if (seen !== array) {
3414 splice.call(seen, fromIndex, 1);
3415 }
3416 splice.call(array, fromIndex, 1);
3417 }
3418 }
3419 return array;
3420 }
3421
3422 module.exports = basePullAll;
3423
3424
3425 /***/ }),
3426
3427 /***/ 5976:
3428 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3429
3430 var identity = __webpack_require__(6557),
3431 overRest = __webpack_require__(45357),
3432 setToString = __webpack_require__(30061);
3433
3434 /**
3435 * The base implementation of `_.rest` which doesn't validate or coerce arguments.
3436 *
3437 * @private
3438 * @param {Function} func The function to apply a rest parameter to.
3439 * @param {number} [start=func.length-1] The start position of the rest parameter.
3440 * @returns {Function} Returns the new function.
3441 */
3442 function baseRest(func, start) {
3443 return setToString(overRest(func, start, identity), func + '');
3444 }
3445
3446 module.exports = baseRest;
3447
3448
3449 /***/ }),
3450
3451 /***/ 10611:
3452 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3453
3454 var assignValue = __webpack_require__(34865),
3455 castPath = __webpack_require__(71811),
3456 isIndex = __webpack_require__(65776),
3457 isObject = __webpack_require__(13218),
3458 toKey = __webpack_require__(40327);
3459
3460 /**
3461 * The base implementation of `_.set`.
3462 *
3463 * @private
3464 * @param {Object} object The object to modify.
3465 * @param {Array|string} path The path of the property to set.
3466 * @param {*} value The value to set.
3467 * @param {Function} [customizer] The function to customize path creation.
3468 * @returns {Object} Returns `object`.
3469 */
3470 function baseSet(object, path, value, customizer) {
3471 if (!isObject(object)) {
3472 return object;
3473 }
3474 path = castPath(path, object);
3475
3476 var index = -1,
3477 length = path.length,
3478 lastIndex = length - 1,
3479 nested = object;
3480
3481 while (nested != null && ++index < length) {
3482 var key = toKey(path[index]),
3483 newValue = value;
3484
3485 if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
3486 return object;
3487 }
3488
3489 if (index != lastIndex) {
3490 var objValue = nested[key];
3491 newValue = customizer ? customizer(objValue, key, nested) : undefined;
3492 if (newValue === undefined) {
3493 newValue = isObject(objValue)
3494 ? objValue
3495 : (isIndex(path[index + 1]) ? [] : {});
3496 }
3497 }
3498 assignValue(nested, key, newValue);
3499 nested = nested[key];
3500 }
3501 return object;
3502 }
3503
3504 module.exports = baseSet;
3505
3506
3507 /***/ }),
3508
3509 /***/ 56560:
3510 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3511
3512 var constant = __webpack_require__(75703),
3513 defineProperty = __webpack_require__(38777),
3514 identity = __webpack_require__(6557);
3515
3516 /**
3517 * The base implementation of `setToString` without support for hot loop shorting.
3518 *
3519 * @private
3520 * @param {Function} func The function to modify.
3521 * @param {Function} string The `toString` result.
3522 * @returns {Function} Returns `func`.
3523 */
3524 var baseSetToString = !defineProperty ? identity : function(func, string) {
3525 return defineProperty(func, 'toString', {
3526 'configurable': true,
3527 'enumerable': false,
3528 'value': constant(string),
3529 'writable': true
3530 });
3531 };
3532
3533 module.exports = baseSetToString;
3534
3535
3536 /***/ }),
3537
3538 /***/ 14259:
3539 /***/ (function(module) {
3540
3541 /**
3542 * The base implementation of `_.slice` without an iteratee call guard.
3543 *
3544 * @private
3545 * @param {Array} array The array to slice.
3546 * @param {number} [start=0] The start position.
3547 * @param {number} [end=array.length] The end position.
3548 * @returns {Array} Returns the slice of `array`.
3549 */
3550 function baseSlice(array, start, end) {
3551 var index = -1,
3552 length = array.length;
3553
3554 if (start < 0) {
3555 start = -start > length ? 0 : (length + start);
3556 }
3557 end = end > length ? length : end;
3558 if (end < 0) {
3559 end += length;
3560 }
3561 length = start > end ? 0 : ((end - start) >>> 0);
3562 start >>>= 0;
3563
3564 var result = Array(length);
3565 while (++index < length) {
3566 result[index] = array[index + start];
3567 }
3568 return result;
3569 }
3570
3571 module.exports = baseSlice;
3572
3573
3574 /***/ }),
3575
3576 /***/ 22545:
3577 /***/ (function(module) {
3578
3579 /**
3580 * The base implementation of `_.times` without support for iteratee shorthands
3581 * or max array length checks.
3582 *
3583 * @private
3584 * @param {number} n The number of times to invoke `iteratee`.
3585 * @param {Function} iteratee The function invoked per iteration.
3586 * @returns {Array} Returns the array of results.
3587 */
3588 function baseTimes(n, iteratee) {
3589 var index = -1,
3590 result = Array(n);
3591
3592 while (++index < n) {
3593 result[index] = iteratee(index);
3594 }
3595 return result;
3596 }
3597
3598 module.exports = baseTimes;
3599
3600
3601 /***/ }),
3602
3603 /***/ 80531:
3604 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3605
3606 var Symbol = __webpack_require__(62705),
3607 arrayMap = __webpack_require__(29932),
3608 isArray = __webpack_require__(1469),
3609 isSymbol = __webpack_require__(33448);
3610
3611 /** Used as references for various `Number` constants. */
3612 var INFINITY = 1 / 0;
3613
3614 /** Used to convert symbols to primitives and strings. */
3615 var symbolProto = Symbol ? Symbol.prototype : undefined,
3616 symbolToString = symbolProto ? symbolProto.toString : undefined;
3617
3618 /**
3619 * The base implementation of `_.toString` which doesn't convert nullish
3620 * values to empty strings.
3621 *
3622 * @private
3623 * @param {*} value The value to process.
3624 * @returns {string} Returns the string.
3625 */
3626 function baseToString(value) {
3627 // Exit early for strings to avoid a performance hit in some environments.
3628 if (typeof value == 'string') {
3629 return value;
3630 }
3631 if (isArray(value)) {
3632 // Recursively convert values (susceptible to call stack limits).
3633 return arrayMap(value, baseToString) + '';
3634 }
3635 if (isSymbol(value)) {
3636 return symbolToString ? symbolToString.call(value) : '';
3637 }
3638 var result = (value + '');
3639 return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
3640 }
3641
3642 module.exports = baseToString;
3643
3644
3645 /***/ }),
3646
3647 /***/ 7518:
3648 /***/ (function(module) {
3649
3650 /**
3651 * The base implementation of `_.unary` without support for storing metadata.
3652 *
3653 * @private
3654 * @param {Function} func The function to cap arguments for.
3655 * @returns {Function} Returns the new capped function.
3656 */
3657 function baseUnary(func) {
3658 return function(value) {
3659 return func(value);
3660 };
3661 }
3662
3663 module.exports = baseUnary;
3664
3665
3666 /***/ }),
3667
3668 /***/ 57406:
3669 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3670
3671 var castPath = __webpack_require__(71811),
3672 last = __webpack_require__(10928),
3673 parent = __webpack_require__(40292),
3674 toKey = __webpack_require__(40327);
3675
3676 /**
3677 * The base implementation of `_.unset`.
3678 *
3679 * @private
3680 * @param {Object} object The object to modify.
3681 * @param {Array|string} path The property path to unset.
3682 * @returns {boolean} Returns `true` if the property is deleted, else `false`.
3683 */
3684 function baseUnset(object, path) {
3685 path = castPath(path, object);
3686 object = parent(object, path);
3687 return object == null || delete object[toKey(last(path))];
3688 }
3689
3690 module.exports = baseUnset;
3691
3692
3693 /***/ }),
3694
3695 /***/ 74757:
3696 /***/ (function(module) {
3697
3698 /**
3699 * Checks if a `cache` value for `key` exists.
3700 *
3701 * @private
3702 * @param {Object} cache The cache to query.
3703 * @param {string} key The key of the entry to check.
3704 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
3705 */
3706 function cacheHas(cache, key) {
3707 return cache.has(key);
3708 }
3709
3710 module.exports = cacheHas;
3711
3712
3713 /***/ }),
3714
3715 /***/ 71811:
3716 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3717
3718 var isArray = __webpack_require__(1469),
3719 isKey = __webpack_require__(15403),
3720 stringToPath = __webpack_require__(55514),
3721 toString = __webpack_require__(79833);
3722
3723 /**
3724 * Casts `value` to a path array if it's not one.
3725 *
3726 * @private
3727 * @param {*} value The value to inspect.
3728 * @param {Object} [object] The object to query keys on.
3729 * @returns {Array} Returns the cast property path array.
3730 */
3731 function castPath(value, object) {
3732 if (isArray(value)) {
3733 return value;
3734 }
3735 return isKey(value, object) ? [value] : stringToPath(toString(value));
3736 }
3737
3738 module.exports = castPath;
3739
3740
3741 /***/ }),
3742
3743 /***/ 74318:
3744 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3745
3746 var Uint8Array = __webpack_require__(11149);
3747
3748 /**
3749 * Creates a clone of `arrayBuffer`.
3750 *
3751 * @private
3752 * @param {ArrayBuffer} arrayBuffer The array buffer to clone.
3753 * @returns {ArrayBuffer} Returns the cloned array buffer.
3754 */
3755 function cloneArrayBuffer(arrayBuffer) {
3756 var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
3757 new Uint8Array(result).set(new Uint8Array(arrayBuffer));
3758 return result;
3759 }
3760
3761 module.exports = cloneArrayBuffer;
3762
3763
3764 /***/ }),
3765
3766 /***/ 64626:
3767 /***/ (function(module, exports, __webpack_require__) {
3768
3769 /* module decorator */ module = __webpack_require__.nmd(module);
3770 var root = __webpack_require__(55639);
3771
3772 /** Detect free variable `exports`. */
3773 var freeExports = true && exports && !exports.nodeType && exports;
3774
3775 /** Detect free variable `module`. */
3776 var freeModule = freeExports && "object" == 'object' && module && !module.nodeType && module;
3777
3778 /** Detect the popular CommonJS extension `module.exports`. */
3779 var moduleExports = freeModule && freeModule.exports === freeExports;
3780
3781 /** Built-in value references. */
3782 var Buffer = moduleExports ? root.Buffer : undefined,
3783 allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;
3784
3785 /**
3786 * Creates a clone of `buffer`.
3787 *
3788 * @private
3789 * @param {Buffer} buffer The buffer to clone.
3790 * @param {boolean} [isDeep] Specify a deep clone.
3791 * @returns {Buffer} Returns the cloned buffer.
3792 */
3793 function cloneBuffer(buffer, isDeep) {
3794 if (isDeep) {
3795 return buffer.slice();
3796 }
3797 var length = buffer.length,
3798 result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
3799
3800 buffer.copy(result);
3801 return result;
3802 }
3803
3804 module.exports = cloneBuffer;
3805
3806
3807 /***/ }),
3808
3809 /***/ 57157:
3810 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3811
3812 var cloneArrayBuffer = __webpack_require__(74318);
3813
3814 /**
3815 * Creates a clone of `dataView`.
3816 *
3817 * @private
3818 * @param {Object} dataView The data view to clone.
3819 * @param {boolean} [isDeep] Specify a deep clone.
3820 * @returns {Object} Returns the cloned data view.
3821 */
3822 function cloneDataView(dataView, isDeep) {
3823 var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;
3824 return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
3825 }
3826
3827 module.exports = cloneDataView;
3828
3829
3830 /***/ }),
3831
3832 /***/ 93147:
3833 /***/ (function(module) {
3834
3835 /** Used to match `RegExp` flags from their coerced string values. */
3836 var reFlags = /\w*$/;
3837
3838 /**
3839 * Creates a clone of `regexp`.
3840 *
3841 * @private
3842 * @param {Object} regexp The regexp to clone.
3843 * @returns {Object} Returns the cloned regexp.
3844 */
3845 function cloneRegExp(regexp) {
3846 var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
3847 result.lastIndex = regexp.lastIndex;
3848 return result;
3849 }
3850
3851 module.exports = cloneRegExp;
3852
3853
3854 /***/ }),
3855
3856 /***/ 40419:
3857 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3858
3859 var Symbol = __webpack_require__(62705);
3860
3861 /** Used to convert symbols to primitives and strings. */
3862 var symbolProto = Symbol ? Symbol.prototype : undefined,
3863 symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;
3864
3865 /**
3866 * Creates a clone of the `symbol` object.
3867 *
3868 * @private
3869 * @param {Object} symbol The symbol object to clone.
3870 * @returns {Object} Returns the cloned symbol object.
3871 */
3872 function cloneSymbol(symbol) {
3873 return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};
3874 }
3875
3876 module.exports = cloneSymbol;
3877
3878
3879 /***/ }),
3880
3881 /***/ 77133:
3882 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3883
3884 var cloneArrayBuffer = __webpack_require__(74318);
3885
3886 /**
3887 * Creates a clone of `typedArray`.
3888 *
3889 * @private
3890 * @param {Object} typedArray The typed array to clone.
3891 * @param {boolean} [isDeep] Specify a deep clone.
3892 * @returns {Object} Returns the cloned typed array.
3893 */
3894 function cloneTypedArray(typedArray, isDeep) {
3895 var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
3896 return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
3897 }
3898
3899 module.exports = cloneTypedArray;
3900
3901
3902 /***/ }),
3903
3904 /***/ 278:
3905 /***/ (function(module) {
3906
3907 /**
3908 * Copies the values of `source` to `array`.
3909 *
3910 * @private
3911 * @param {Array} source The array to copy values from.
3912 * @param {Array} [array=[]] The array to copy values to.
3913 * @returns {Array} Returns `array`.
3914 */
3915 function copyArray(source, array) {
3916 var index = -1,
3917 length = source.length;
3918
3919 array || (array = Array(length));
3920 while (++index < length) {
3921 array[index] = source[index];
3922 }
3923 return array;
3924 }
3925
3926 module.exports = copyArray;
3927
3928
3929 /***/ }),
3930
3931 /***/ 98363:
3932 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3933
3934 var assignValue = __webpack_require__(34865),
3935 baseAssignValue = __webpack_require__(89465);
3936
3937 /**
3938 * Copies properties of `source` to `object`.
3939 *
3940 * @private
3941 * @param {Object} source The object to copy properties from.
3942 * @param {Array} props The property identifiers to copy.
3943 * @param {Object} [object={}] The object to copy properties to.
3944 * @param {Function} [customizer] The function to customize copied values.
3945 * @returns {Object} Returns `object`.
3946 */
3947 function copyObject(source, props, object, customizer) {
3948 var isNew = !object;
3949 object || (object = {});
3950
3951 var index = -1,
3952 length = props.length;
3953
3954 while (++index < length) {
3955 var key = props[index];
3956
3957 var newValue = customizer
3958 ? customizer(object[key], source[key], key, object, source)
3959 : undefined;
3960
3961 if (newValue === undefined) {
3962 newValue = source[key];
3963 }
3964 if (isNew) {
3965 baseAssignValue(object, key, newValue);
3966 } else {
3967 assignValue(object, key, newValue);
3968 }
3969 }
3970 return object;
3971 }
3972
3973 module.exports = copyObject;
3974
3975
3976 /***/ }),
3977
3978 /***/ 18805:
3979 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
3980
3981 var copyObject = __webpack_require__(98363),
3982 getSymbols = __webpack_require__(99551);
3983
3984 /**
3985 * Copies own symbols of `source` to `object`.
3986 *
3987 * @private
3988 * @param {Object} source The object to copy symbols from.
3989 * @param {Object} [object={}] The object to copy symbols to.
3990 * @returns {Object} Returns `object`.
3991 */
3992 function copySymbols(source, object) {
3993 return copyObject(source, getSymbols(source), object);
3994 }
3995
3996 module.exports = copySymbols;
3997
3998
3999 /***/ }),
4000
4001 /***/ 1911:
4002 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4003
4004 var copyObject = __webpack_require__(98363),
4005 getSymbolsIn = __webpack_require__(51442);
4006
4007 /**
4008 * Copies own and inherited symbols of `source` to `object`.
4009 *
4010 * @private
4011 * @param {Object} source The object to copy symbols from.
4012 * @param {Object} [object={}] The object to copy symbols to.
4013 * @returns {Object} Returns `object`.
4014 */
4015 function copySymbolsIn(source, object) {
4016 return copyObject(source, getSymbolsIn(source), object);
4017 }
4018
4019 module.exports = copySymbolsIn;
4020
4021
4022 /***/ }),
4023
4024 /***/ 14429:
4025 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4026
4027 var root = __webpack_require__(55639);
4028
4029 /** Used to detect overreaching core-js shims. */
4030 var coreJsData = root['__core-js_shared__'];
4031
4032 module.exports = coreJsData;
4033
4034
4035 /***/ }),
4036
4037 /***/ 21463:
4038 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4039
4040 var baseRest = __webpack_require__(5976),
4041 isIterateeCall = __webpack_require__(16612);
4042
4043 /**
4044 * Creates a function like `_.assign`.
4045 *
4046 * @private
4047 * @param {Function} assigner The function to assign values.
4048 * @returns {Function} Returns the new assigner function.
4049 */
4050 function createAssigner(assigner) {
4051 return baseRest(function(object, sources) {
4052 var index = -1,
4053 length = sources.length,
4054 customizer = length > 1 ? sources[length - 1] : undefined,
4055 guard = length > 2 ? sources[2] : undefined;
4056
4057 customizer = (assigner.length > 3 && typeof customizer == 'function')
4058 ? (length--, customizer)
4059 : undefined;
4060
4061 if (guard && isIterateeCall(sources[0], sources[1], guard)) {
4062 customizer = length < 3 ? undefined : customizer;
4063 length = 1;
4064 }
4065 object = Object(object);
4066 while (++index < length) {
4067 var source = sources[index];
4068 if (source) {
4069 assigner(object, source, index, customizer);
4070 }
4071 }
4072 return object;
4073 });
4074 }
4075
4076 module.exports = createAssigner;
4077
4078
4079 /***/ }),
4080
4081 /***/ 25063:
4082 /***/ (function(module) {
4083
4084 /**
4085 * Creates a base function for methods like `_.forIn` and `_.forOwn`.
4086 *
4087 * @private
4088 * @param {boolean} [fromRight] Specify iterating from right to left.
4089 * @returns {Function} Returns the new base function.
4090 */
4091 function createBaseFor(fromRight) {
4092 return function(object, iteratee, keysFunc) {
4093 var index = -1,
4094 iterable = Object(object),
4095 props = keysFunc(object),
4096 length = props.length;
4097
4098 while (length--) {
4099 var key = props[fromRight ? length : ++index];
4100 if (iteratee(iterable[key], key, iterable) === false) {
4101 break;
4102 }
4103 }
4104 return object;
4105 };
4106 }
4107
4108 module.exports = createBaseFor;
4109
4110
4111 /***/ }),
4112
4113 /***/ 60696:
4114 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4115
4116 var isPlainObject = __webpack_require__(68630);
4117
4118 /**
4119 * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain
4120 * objects.
4121 *
4122 * @private
4123 * @param {*} value The value to inspect.
4124 * @param {string} key The key of the property to inspect.
4125 * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.
4126 */
4127 function customOmitClone(value) {
4128 return isPlainObject(value) ? undefined : value;
4129 }
4130
4131 module.exports = customOmitClone;
4132
4133
4134 /***/ }),
4135
4136 /***/ 38777:
4137 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4138
4139 var getNative = __webpack_require__(10852);
4140
4141 var defineProperty = (function() {
4142 try {
4143 var func = getNative(Object, 'defineProperty');
4144 func({}, '', {});
4145 return func;
4146 } catch (e) {}
4147 }());
4148
4149 module.exports = defineProperty;
4150
4151
4152 /***/ }),
4153
4154 /***/ 67114:
4155 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4156
4157 var SetCache = __webpack_require__(88668),
4158 arraySome = __webpack_require__(82908),
4159 cacheHas = __webpack_require__(74757);
4160
4161 /** Used to compose bitmasks for value comparisons. */
4162 var COMPARE_PARTIAL_FLAG = 1,
4163 COMPARE_UNORDERED_FLAG = 2;
4164
4165 /**
4166 * A specialized version of `baseIsEqualDeep` for arrays with support for
4167 * partial deep comparisons.
4168 *
4169 * @private
4170 * @param {Array} array The array to compare.
4171 * @param {Array} other The other array to compare.
4172 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
4173 * @param {Function} customizer The function to customize comparisons.
4174 * @param {Function} equalFunc The function to determine equivalents of values.
4175 * @param {Object} stack Tracks traversed `array` and `other` objects.
4176 * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
4177 */
4178 function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
4179 var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
4180 arrLength = array.length,
4181 othLength = other.length;
4182
4183 if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
4184 return false;
4185 }
4186 // Check that cyclic values are equal.
4187 var arrStacked = stack.get(array);
4188 var othStacked = stack.get(other);
4189 if (arrStacked && othStacked) {
4190 return arrStacked == other && othStacked == array;
4191 }
4192 var index = -1,
4193 result = true,
4194 seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;
4195
4196 stack.set(array, other);
4197 stack.set(other, array);
4198
4199 // Ignore non-index properties.
4200 while (++index < arrLength) {
4201 var arrValue = array[index],
4202 othValue = other[index];
4203
4204 if (customizer) {
4205 var compared = isPartial
4206 ? customizer(othValue, arrValue, index, other, array, stack)
4207 : customizer(arrValue, othValue, index, array, other, stack);
4208 }
4209 if (compared !== undefined) {
4210 if (compared) {
4211 continue;
4212 }
4213 result = false;
4214 break;
4215 }
4216 // Recursively compare arrays (susceptible to call stack limits).
4217 if (seen) {
4218 if (!arraySome(other, function(othValue, othIndex) {
4219 if (!cacheHas(seen, othIndex) &&
4220 (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
4221 return seen.push(othIndex);
4222 }
4223 })) {
4224 result = false;
4225 break;
4226 }
4227 } else if (!(
4228 arrValue === othValue ||
4229 equalFunc(arrValue, othValue, bitmask, customizer, stack)
4230 )) {
4231 result = false;
4232 break;
4233 }
4234 }
4235 stack['delete'](array);
4236 stack['delete'](other);
4237 return result;
4238 }
4239
4240 module.exports = equalArrays;
4241
4242
4243 /***/ }),
4244
4245 /***/ 18351:
4246 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4247
4248 var Symbol = __webpack_require__(62705),
4249 Uint8Array = __webpack_require__(11149),
4250 eq = __webpack_require__(77813),
4251 equalArrays = __webpack_require__(67114),
4252 mapToArray = __webpack_require__(68776),
4253 setToArray = __webpack_require__(21814);
4254
4255 /** Used to compose bitmasks for value comparisons. */
4256 var COMPARE_PARTIAL_FLAG = 1,
4257 COMPARE_UNORDERED_FLAG = 2;
4258
4259 /** `Object#toString` result references. */
4260 var boolTag = '[object Boolean]',
4261 dateTag = '[object Date]',
4262 errorTag = '[object Error]',
4263 mapTag = '[object Map]',
4264 numberTag = '[object Number]',
4265 regexpTag = '[object RegExp]',
4266 setTag = '[object Set]',
4267 stringTag = '[object String]',
4268 symbolTag = '[object Symbol]';
4269
4270 var arrayBufferTag = '[object ArrayBuffer]',
4271 dataViewTag = '[object DataView]';
4272
4273 /** Used to convert symbols to primitives and strings. */
4274 var symbolProto = Symbol ? Symbol.prototype : undefined,
4275 symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;
4276
4277 /**
4278 * A specialized version of `baseIsEqualDeep` for comparing objects of
4279 * the same `toStringTag`.
4280 *
4281 * **Note:** This function only supports comparing values with tags of
4282 * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
4283 *
4284 * @private
4285 * @param {Object} object The object to compare.
4286 * @param {Object} other The other object to compare.
4287 * @param {string} tag The `toStringTag` of the objects to compare.
4288 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
4289 * @param {Function} customizer The function to customize comparisons.
4290 * @param {Function} equalFunc The function to determine equivalents of values.
4291 * @param {Object} stack Tracks traversed `object` and `other` objects.
4292 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
4293 */
4294 function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
4295 switch (tag) {
4296 case dataViewTag:
4297 if ((object.byteLength != other.byteLength) ||
4298 (object.byteOffset != other.byteOffset)) {
4299 return false;
4300 }
4301 object = object.buffer;
4302 other = other.buffer;
4303
4304 case arrayBufferTag:
4305 if ((object.byteLength != other.byteLength) ||
4306 !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
4307 return false;
4308 }
4309 return true;
4310
4311 case boolTag:
4312 case dateTag:
4313 case numberTag:
4314 // Coerce booleans to `1` or `0` and dates to milliseconds.
4315 // Invalid dates are coerced to `NaN`.
4316 return eq(+object, +other);
4317
4318 case errorTag:
4319 return object.name == other.name && object.message == other.message;
4320
4321 case regexpTag:
4322 case stringTag:
4323 // Coerce regexes to strings and treat strings, primitives and objects,
4324 // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
4325 // for more details.
4326 return object == (other + '');
4327
4328 case mapTag:
4329 var convert = mapToArray;
4330
4331 case setTag:
4332 var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
4333 convert || (convert = setToArray);
4334
4335 if (object.size != other.size && !isPartial) {
4336 return false;
4337 }
4338 // Assume cyclic values are equal.
4339 var stacked = stack.get(object);
4340 if (stacked) {
4341 return stacked == other;
4342 }
4343 bitmask |= COMPARE_UNORDERED_FLAG;
4344
4345 // Recursively compare objects (susceptible to call stack limits).
4346 stack.set(object, other);
4347 var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
4348 stack['delete'](object);
4349 return result;
4350
4351 case symbolTag:
4352 if (symbolValueOf) {
4353 return symbolValueOf.call(object) == symbolValueOf.call(other);
4354 }
4355 }
4356 return false;
4357 }
4358
4359 module.exports = equalByTag;
4360
4361
4362 /***/ }),
4363
4364 /***/ 16096:
4365 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4366
4367 var getAllKeys = __webpack_require__(58234);
4368
4369 /** Used to compose bitmasks for value comparisons. */
4370 var COMPARE_PARTIAL_FLAG = 1;
4371
4372 /** Used for built-in method references. */
4373 var objectProto = Object.prototype;
4374
4375 /** Used to check objects for own properties. */
4376 var hasOwnProperty = objectProto.hasOwnProperty;
4377
4378 /**
4379 * A specialized version of `baseIsEqualDeep` for objects with support for
4380 * partial deep comparisons.
4381 *
4382 * @private
4383 * @param {Object} object The object to compare.
4384 * @param {Object} other The other object to compare.
4385 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
4386 * @param {Function} customizer The function to customize comparisons.
4387 * @param {Function} equalFunc The function to determine equivalents of values.
4388 * @param {Object} stack Tracks traversed `object` and `other` objects.
4389 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
4390 */
4391 function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
4392 var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
4393 objProps = getAllKeys(object),
4394 objLength = objProps.length,
4395 othProps = getAllKeys(other),
4396 othLength = othProps.length;
4397
4398 if (objLength != othLength && !isPartial) {
4399 return false;
4400 }
4401 var index = objLength;
4402 while (index--) {
4403 var key = objProps[index];
4404 if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
4405 return false;
4406 }
4407 }
4408 // Check that cyclic values are equal.
4409 var objStacked = stack.get(object);
4410 var othStacked = stack.get(other);
4411 if (objStacked && othStacked) {
4412 return objStacked == other && othStacked == object;
4413 }
4414 var result = true;
4415 stack.set(object, other);
4416 stack.set(other, object);
4417
4418 var skipCtor = isPartial;
4419 while (++index < objLength) {
4420 key = objProps[index];
4421 var objValue = object[key],
4422 othValue = other[key];
4423
4424 if (customizer) {
4425 var compared = isPartial
4426 ? customizer(othValue, objValue, key, other, object, stack)
4427 : customizer(objValue, othValue, key, object, other, stack);
4428 }
4429 // Recursively compare objects (susceptible to call stack limits).
4430 if (!(compared === undefined
4431 ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
4432 : compared
4433 )) {
4434 result = false;
4435 break;
4436 }
4437 skipCtor || (skipCtor = key == 'constructor');
4438 }
4439 if (result && !skipCtor) {
4440 var objCtor = object.constructor,
4441 othCtor = other.constructor;
4442
4443 // Non `Object` object instances with different constructors are not equal.
4444 if (objCtor != othCtor &&
4445 ('constructor' in object && 'constructor' in other) &&
4446 !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
4447 typeof othCtor == 'function' && othCtor instanceof othCtor)) {
4448 result = false;
4449 }
4450 }
4451 stack['delete'](object);
4452 stack['delete'](other);
4453 return result;
4454 }
4455
4456 module.exports = equalObjects;
4457
4458
4459 /***/ }),
4460
4461 /***/ 99021:
4462 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4463
4464 var flatten = __webpack_require__(85564),
4465 overRest = __webpack_require__(45357),
4466 setToString = __webpack_require__(30061);
4467
4468 /**
4469 * A specialized version of `baseRest` which flattens the rest array.
4470 *
4471 * @private
4472 * @param {Function} func The function to apply a rest parameter to.
4473 * @returns {Function} Returns the new function.
4474 */
4475 function flatRest(func) {
4476 return setToString(overRest(func, undefined, flatten), func + '');
4477 }
4478
4479 module.exports = flatRest;
4480
4481
4482 /***/ }),
4483
4484 /***/ 31957:
4485 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4486
4487 /** Detect free variable `global` from Node.js. */
4488 var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g;
4489
4490 module.exports = freeGlobal;
4491
4492
4493 /***/ }),
4494
4495 /***/ 58234:
4496 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4497
4498 var baseGetAllKeys = __webpack_require__(68866),
4499 getSymbols = __webpack_require__(99551),
4500 keys = __webpack_require__(3674);
4501
4502 /**
4503 * Creates an array of own enumerable property names and symbols of `object`.
4504 *
4505 * @private
4506 * @param {Object} object The object to query.
4507 * @returns {Array} Returns the array of property names and symbols.
4508 */
4509 function getAllKeys(object) {
4510 return baseGetAllKeys(object, keys, getSymbols);
4511 }
4512
4513 module.exports = getAllKeys;
4514
4515
4516 /***/ }),
4517
4518 /***/ 46904:
4519 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4520
4521 var baseGetAllKeys = __webpack_require__(68866),
4522 getSymbolsIn = __webpack_require__(51442),
4523 keysIn = __webpack_require__(81704);
4524
4525 /**
4526 * Creates an array of own and inherited enumerable property names and
4527 * symbols of `object`.
4528 *
4529 * @private
4530 * @param {Object} object The object to query.
4531 * @returns {Array} Returns the array of property names and symbols.
4532 */
4533 function getAllKeysIn(object) {
4534 return baseGetAllKeys(object, keysIn, getSymbolsIn);
4535 }
4536
4537 module.exports = getAllKeysIn;
4538
4539
4540 /***/ }),
4541
4542 /***/ 45050:
4543 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4544
4545 var isKeyable = __webpack_require__(37019);
4546
4547 /**
4548 * Gets the data for `map`.
4549 *
4550 * @private
4551 * @param {Object} map The map to query.
4552 * @param {string} key The reference key.
4553 * @returns {*} Returns the map data.
4554 */
4555 function getMapData(map, key) {
4556 var data = map.__data__;
4557 return isKeyable(key)
4558 ? data[typeof key == 'string' ? 'string' : 'hash']
4559 : data.map;
4560 }
4561
4562 module.exports = getMapData;
4563
4564
4565 /***/ }),
4566
4567 /***/ 10852:
4568 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4569
4570 var baseIsNative = __webpack_require__(28458),
4571 getValue = __webpack_require__(47801);
4572
4573 /**
4574 * Gets the native function at `key` of `object`.
4575 *
4576 * @private
4577 * @param {Object} object The object to query.
4578 * @param {string} key The key of the method to get.
4579 * @returns {*} Returns the function if it's native, else `undefined`.
4580 */
4581 function getNative(object, key) {
4582 var value = getValue(object, key);
4583 return baseIsNative(value) ? value : undefined;
4584 }
4585
4586 module.exports = getNative;
4587
4588
4589 /***/ }),
4590
4591 /***/ 85924:
4592 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4593
4594 var overArg = __webpack_require__(5569);
4595
4596 /** Built-in value references. */
4597 var getPrototype = overArg(Object.getPrototypeOf, Object);
4598
4599 module.exports = getPrototype;
4600
4601
4602 /***/ }),
4603
4604 /***/ 89607:
4605 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4606
4607 var Symbol = __webpack_require__(62705);
4608
4609 /** Used for built-in method references. */
4610 var objectProto = Object.prototype;
4611
4612 /** Used to check objects for own properties. */
4613 var hasOwnProperty = objectProto.hasOwnProperty;
4614
4615 /**
4616 * Used to resolve the
4617 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
4618 * of values.
4619 */
4620 var nativeObjectToString = objectProto.toString;
4621
4622 /** Built-in value references. */
4623 var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
4624
4625 /**
4626 * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
4627 *
4628 * @private
4629 * @param {*} value The value to query.
4630 * @returns {string} Returns the raw `toStringTag`.
4631 */
4632 function getRawTag(value) {
4633 var isOwn = hasOwnProperty.call(value, symToStringTag),
4634 tag = value[symToStringTag];
4635
4636 try {
4637 value[symToStringTag] = undefined;
4638 var unmasked = true;
4639 } catch (e) {}
4640
4641 var result = nativeObjectToString.call(value);
4642 if (unmasked) {
4643 if (isOwn) {
4644 value[symToStringTag] = tag;
4645 } else {
4646 delete value[symToStringTag];
4647 }
4648 }
4649 return result;
4650 }
4651
4652 module.exports = getRawTag;
4653
4654
4655 /***/ }),
4656
4657 /***/ 99551:
4658 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4659
4660 var arrayFilter = __webpack_require__(34963),
4661 stubArray = __webpack_require__(70479);
4662
4663 /** Used for built-in method references. */
4664 var objectProto = Object.prototype;
4665
4666 /** Built-in value references. */
4667 var propertyIsEnumerable = objectProto.propertyIsEnumerable;
4668
4669 /* Built-in method references for those with the same name as other `lodash` methods. */
4670 var nativeGetSymbols = Object.getOwnPropertySymbols;
4671
4672 /**
4673 * Creates an array of the own enumerable symbols of `object`.
4674 *
4675 * @private
4676 * @param {Object} object The object to query.
4677 * @returns {Array} Returns the array of symbols.
4678 */
4679 var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
4680 if (object == null) {
4681 return [];
4682 }
4683 object = Object(object);
4684 return arrayFilter(nativeGetSymbols(object), function(symbol) {
4685 return propertyIsEnumerable.call(object, symbol);
4686 });
4687 };
4688
4689 module.exports = getSymbols;
4690
4691
4692 /***/ }),
4693
4694 /***/ 51442:
4695 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4696
4697 var arrayPush = __webpack_require__(62488),
4698 getPrototype = __webpack_require__(85924),
4699 getSymbols = __webpack_require__(99551),
4700 stubArray = __webpack_require__(70479);
4701
4702 /* Built-in method references for those with the same name as other `lodash` methods. */
4703 var nativeGetSymbols = Object.getOwnPropertySymbols;
4704
4705 /**
4706 * Creates an array of the own and inherited enumerable symbols of `object`.
4707 *
4708 * @private
4709 * @param {Object} object The object to query.
4710 * @returns {Array} Returns the array of symbols.
4711 */
4712 var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {
4713 var result = [];
4714 while (object) {
4715 arrayPush(result, getSymbols(object));
4716 object = getPrototype(object);
4717 }
4718 return result;
4719 };
4720
4721 module.exports = getSymbolsIn;
4722
4723
4724 /***/ }),
4725
4726 /***/ 64160:
4727 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4728
4729 var DataView = __webpack_require__(18552),
4730 Map = __webpack_require__(57071),
4731 Promise = __webpack_require__(53818),
4732 Set = __webpack_require__(58525),
4733 WeakMap = __webpack_require__(70577),
4734 baseGetTag = __webpack_require__(44239),
4735 toSource = __webpack_require__(80346);
4736
4737 /** `Object#toString` result references. */
4738 var mapTag = '[object Map]',
4739 objectTag = '[object Object]',
4740 promiseTag = '[object Promise]',
4741 setTag = '[object Set]',
4742 weakMapTag = '[object WeakMap]';
4743
4744 var dataViewTag = '[object DataView]';
4745
4746 /** Used to detect maps, sets, and weakmaps. */
4747 var dataViewCtorString = toSource(DataView),
4748 mapCtorString = toSource(Map),
4749 promiseCtorString = toSource(Promise),
4750 setCtorString = toSource(Set),
4751 weakMapCtorString = toSource(WeakMap);
4752
4753 /**
4754 * Gets the `toStringTag` of `value`.
4755 *
4756 * @private
4757 * @param {*} value The value to query.
4758 * @returns {string} Returns the `toStringTag`.
4759 */
4760 var getTag = baseGetTag;
4761
4762 // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
4763 if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||
4764 (Map && getTag(new Map) != mapTag) ||
4765 (Promise && getTag(Promise.resolve()) != promiseTag) ||
4766 (Set && getTag(new Set) != setTag) ||
4767 (WeakMap && getTag(new WeakMap) != weakMapTag)) {
4768 getTag = function(value) {
4769 var result = baseGetTag(value),
4770 Ctor = result == objectTag ? value.constructor : undefined,
4771 ctorString = Ctor ? toSource(Ctor) : '';
4772
4773 if (ctorString) {
4774 switch (ctorString) {
4775 case dataViewCtorString: return dataViewTag;
4776 case mapCtorString: return mapTag;
4777 case promiseCtorString: return promiseTag;
4778 case setCtorString: return setTag;
4779 case weakMapCtorString: return weakMapTag;
4780 }
4781 }
4782 return result;
4783 };
4784 }
4785
4786 module.exports = getTag;
4787
4788
4789 /***/ }),
4790
4791 /***/ 47801:
4792 /***/ (function(module) {
4793
4794 /**
4795 * Gets the value at `key` of `object`.
4796 *
4797 * @private
4798 * @param {Object} [object] The object to query.
4799 * @param {string} key The key of the property to get.
4800 * @returns {*} Returns the property value.
4801 */
4802 function getValue(object, key) {
4803 return object == null ? undefined : object[key];
4804 }
4805
4806 module.exports = getValue;
4807
4808
4809 /***/ }),
4810
4811 /***/ 222:
4812 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4813
4814 var castPath = __webpack_require__(71811),
4815 isArguments = __webpack_require__(35694),
4816 isArray = __webpack_require__(1469),
4817 isIndex = __webpack_require__(65776),
4818 isLength = __webpack_require__(41780),
4819 toKey = __webpack_require__(40327);
4820
4821 /**
4822 * Checks if `path` exists on `object`.
4823 *
4824 * @private
4825 * @param {Object} object The object to query.
4826 * @param {Array|string} path The path to check.
4827 * @param {Function} hasFunc The function to check properties.
4828 * @returns {boolean} Returns `true` if `path` exists, else `false`.
4829 */
4830 function hasPath(object, path, hasFunc) {
4831 path = castPath(path, object);
4832
4833 var index = -1,
4834 length = path.length,
4835 result = false;
4836
4837 while (++index < length) {
4838 var key = toKey(path[index]);
4839 if (!(result = object != null && hasFunc(object, key))) {
4840 break;
4841 }
4842 object = object[key];
4843 }
4844 if (result || ++index != length) {
4845 return result;
4846 }
4847 length = object == null ? 0 : object.length;
4848 return !!length && isLength(length) && isIndex(key, length) &&
4849 (isArray(object) || isArguments(object));
4850 }
4851
4852 module.exports = hasPath;
4853
4854
4855 /***/ }),
4856
4857 /***/ 51789:
4858 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4859
4860 var nativeCreate = __webpack_require__(94536);
4861
4862 /**
4863 * Removes all key-value entries from the hash.
4864 *
4865 * @private
4866 * @name clear
4867 * @memberOf Hash
4868 */
4869 function hashClear() {
4870 this.__data__ = nativeCreate ? nativeCreate(null) : {};
4871 this.size = 0;
4872 }
4873
4874 module.exports = hashClear;
4875
4876
4877 /***/ }),
4878
4879 /***/ 80401:
4880 /***/ (function(module) {
4881
4882 /**
4883 * Removes `key` and its value from the hash.
4884 *
4885 * @private
4886 * @name delete
4887 * @memberOf Hash
4888 * @param {Object} hash The hash to modify.
4889 * @param {string} key The key of the value to remove.
4890 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
4891 */
4892 function hashDelete(key) {
4893 var result = this.has(key) && delete this.__data__[key];
4894 this.size -= result ? 1 : 0;
4895 return result;
4896 }
4897
4898 module.exports = hashDelete;
4899
4900
4901 /***/ }),
4902
4903 /***/ 57667:
4904 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4905
4906 var nativeCreate = __webpack_require__(94536);
4907
4908 /** Used to stand-in for `undefined` hash values. */
4909 var HASH_UNDEFINED = '__lodash_hash_undefined__';
4910
4911 /** Used for built-in method references. */
4912 var objectProto = Object.prototype;
4913
4914 /** Used to check objects for own properties. */
4915 var hasOwnProperty = objectProto.hasOwnProperty;
4916
4917 /**
4918 * Gets the hash value for `key`.
4919 *
4920 * @private
4921 * @name get
4922 * @memberOf Hash
4923 * @param {string} key The key of the value to get.
4924 * @returns {*} Returns the entry value.
4925 */
4926 function hashGet(key) {
4927 var data = this.__data__;
4928 if (nativeCreate) {
4929 var result = data[key];
4930 return result === HASH_UNDEFINED ? undefined : result;
4931 }
4932 return hasOwnProperty.call(data, key) ? data[key] : undefined;
4933 }
4934
4935 module.exports = hashGet;
4936
4937
4938 /***/ }),
4939
4940 /***/ 21327:
4941 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4942
4943 var nativeCreate = __webpack_require__(94536);
4944
4945 /** Used for built-in method references. */
4946 var objectProto = Object.prototype;
4947
4948 /** Used to check objects for own properties. */
4949 var hasOwnProperty = objectProto.hasOwnProperty;
4950
4951 /**
4952 * Checks if a hash value for `key` exists.
4953 *
4954 * @private
4955 * @name has
4956 * @memberOf Hash
4957 * @param {string} key The key of the entry to check.
4958 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
4959 */
4960 function hashHas(key) {
4961 var data = this.__data__;
4962 return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);
4963 }
4964
4965 module.exports = hashHas;
4966
4967
4968 /***/ }),
4969
4970 /***/ 81866:
4971 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
4972
4973 var nativeCreate = __webpack_require__(94536);
4974
4975 /** Used to stand-in for `undefined` hash values. */
4976 var HASH_UNDEFINED = '__lodash_hash_undefined__';
4977
4978 /**
4979 * Sets the hash `key` to `value`.
4980 *
4981 * @private
4982 * @name set
4983 * @memberOf Hash
4984 * @param {string} key The key of the value to set.
4985 * @param {*} value The value to set.
4986 * @returns {Object} Returns the hash instance.
4987 */
4988 function hashSet(key, value) {
4989 var data = this.__data__;
4990 this.size += this.has(key) ? 0 : 1;
4991 data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
4992 return this;
4993 }
4994
4995 module.exports = hashSet;
4996
4997
4998 /***/ }),
4999
5000 /***/ 43824:
5001 /***/ (function(module) {
5002
5003 /** Used for built-in method references. */
5004 var objectProto = Object.prototype;
5005
5006 /** Used to check objects for own properties. */
5007 var hasOwnProperty = objectProto.hasOwnProperty;
5008
5009 /**
5010 * Initializes an array clone.
5011 *
5012 * @private
5013 * @param {Array} array The array to clone.
5014 * @returns {Array} Returns the initialized clone.
5015 */
5016 function initCloneArray(array) {
5017 var length = array.length,
5018 result = new array.constructor(length);
5019
5020 // Add properties assigned by `RegExp#exec`.
5021 if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
5022 result.index = array.index;
5023 result.input = array.input;
5024 }
5025 return result;
5026 }
5027
5028 module.exports = initCloneArray;
5029
5030
5031 /***/ }),
5032
5033 /***/ 29148:
5034 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5035
5036 var cloneArrayBuffer = __webpack_require__(74318),
5037 cloneDataView = __webpack_require__(57157),
5038 cloneRegExp = __webpack_require__(93147),
5039 cloneSymbol = __webpack_require__(40419),
5040 cloneTypedArray = __webpack_require__(77133);
5041
5042 /** `Object#toString` result references. */
5043 var boolTag = '[object Boolean]',
5044 dateTag = '[object Date]',
5045 mapTag = '[object Map]',
5046 numberTag = '[object Number]',
5047 regexpTag = '[object RegExp]',
5048 setTag = '[object Set]',
5049 stringTag = '[object String]',
5050 symbolTag = '[object Symbol]';
5051
5052 var arrayBufferTag = '[object ArrayBuffer]',
5053 dataViewTag = '[object DataView]',
5054 float32Tag = '[object Float32Array]',
5055 float64Tag = '[object Float64Array]',
5056 int8Tag = '[object Int8Array]',
5057 int16Tag = '[object Int16Array]',
5058 int32Tag = '[object Int32Array]',
5059 uint8Tag = '[object Uint8Array]',
5060 uint8ClampedTag = '[object Uint8ClampedArray]',
5061 uint16Tag = '[object Uint16Array]',
5062 uint32Tag = '[object Uint32Array]';
5063
5064 /**
5065 * Initializes an object clone based on its `toStringTag`.
5066 *
5067 * **Note:** This function only supports cloning values with tags of
5068 * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.
5069 *
5070 * @private
5071 * @param {Object} object The object to clone.
5072 * @param {string} tag The `toStringTag` of the object to clone.
5073 * @param {boolean} [isDeep] Specify a deep clone.
5074 * @returns {Object} Returns the initialized clone.
5075 */
5076 function initCloneByTag(object, tag, isDeep) {
5077 var Ctor = object.constructor;
5078 switch (tag) {
5079 case arrayBufferTag:
5080 return cloneArrayBuffer(object);
5081
5082 case boolTag:
5083 case dateTag:
5084 return new Ctor(+object);
5085
5086 case dataViewTag:
5087 return cloneDataView(object, isDeep);
5088
5089 case float32Tag: case float64Tag:
5090 case int8Tag: case int16Tag: case int32Tag:
5091 case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:
5092 return cloneTypedArray(object, isDeep);
5093
5094 case mapTag:
5095 return new Ctor;
5096
5097 case numberTag:
5098 case stringTag:
5099 return new Ctor(object);
5100
5101 case regexpTag:
5102 return cloneRegExp(object);
5103
5104 case setTag:
5105 return new Ctor;
5106
5107 case symbolTag:
5108 return cloneSymbol(object);
5109 }
5110 }
5111
5112 module.exports = initCloneByTag;
5113
5114
5115 /***/ }),
5116
5117 /***/ 38517:
5118 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5119
5120 var baseCreate = __webpack_require__(3118),
5121 getPrototype = __webpack_require__(85924),
5122 isPrototype = __webpack_require__(25726);
5123
5124 /**
5125 * Initializes an object clone.
5126 *
5127 * @private
5128 * @param {Object} object The object to clone.
5129 * @returns {Object} Returns the initialized clone.
5130 */
5131 function initCloneObject(object) {
5132 return (typeof object.constructor == 'function' && !isPrototype(object))
5133 ? baseCreate(getPrototype(object))
5134 : {};
5135 }
5136
5137 module.exports = initCloneObject;
5138
5139
5140 /***/ }),
5141
5142 /***/ 37285:
5143 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5144
5145 var Symbol = __webpack_require__(62705),
5146 isArguments = __webpack_require__(35694),
5147 isArray = __webpack_require__(1469);
5148
5149 /** Built-in value references. */
5150 var spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;
5151
5152 /**
5153 * Checks if `value` is a flattenable `arguments` object or array.
5154 *
5155 * @private
5156 * @param {*} value The value to check.
5157 * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.
5158 */
5159 function isFlattenable(value) {
5160 return isArray(value) || isArguments(value) ||
5161 !!(spreadableSymbol && value && value[spreadableSymbol]);
5162 }
5163
5164 module.exports = isFlattenable;
5165
5166
5167 /***/ }),
5168
5169 /***/ 65776:
5170 /***/ (function(module) {
5171
5172 /** Used as references for various `Number` constants. */
5173 var MAX_SAFE_INTEGER = 9007199254740991;
5174
5175 /** Used to detect unsigned integer values. */
5176 var reIsUint = /^(?:0|[1-9]\d*)$/;
5177
5178 /**
5179 * Checks if `value` is a valid array-like index.
5180 *
5181 * @private
5182 * @param {*} value The value to check.
5183 * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
5184 * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
5185 */
5186 function isIndex(value, length) {
5187 var type = typeof value;
5188 length = length == null ? MAX_SAFE_INTEGER : length;
5189
5190 return !!length &&
5191 (type == 'number' ||
5192 (type != 'symbol' && reIsUint.test(value))) &&
5193 (value > -1 && value % 1 == 0 && value < length);
5194 }
5195
5196 module.exports = isIndex;
5197
5198
5199 /***/ }),
5200
5201 /***/ 16612:
5202 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5203
5204 var eq = __webpack_require__(77813),
5205 isArrayLike = __webpack_require__(98612),
5206 isIndex = __webpack_require__(65776),
5207 isObject = __webpack_require__(13218);
5208
5209 /**
5210 * Checks if the given arguments are from an iteratee call.
5211 *
5212 * @private
5213 * @param {*} value The potential iteratee value argument.
5214 * @param {*} index The potential iteratee index or key argument.
5215 * @param {*} object The potential iteratee object argument.
5216 * @returns {boolean} Returns `true` if the arguments are from an iteratee call,
5217 * else `false`.
5218 */
5219 function isIterateeCall(value, index, object) {
5220 if (!isObject(object)) {
5221 return false;
5222 }
5223 var type = typeof index;
5224 if (type == 'number'
5225 ? (isArrayLike(object) && isIndex(index, object.length))
5226 : (type == 'string' && index in object)
5227 ) {
5228 return eq(object[index], value);
5229 }
5230 return false;
5231 }
5232
5233 module.exports = isIterateeCall;
5234
5235
5236 /***/ }),
5237
5238 /***/ 15403:
5239 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5240
5241 var isArray = __webpack_require__(1469),
5242 isSymbol = __webpack_require__(33448);
5243
5244 /** Used to match property names within property paths. */
5245 var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
5246 reIsPlainProp = /^\w*$/;
5247
5248 /**
5249 * Checks if `value` is a property name and not a property path.
5250 *
5251 * @private
5252 * @param {*} value The value to check.
5253 * @param {Object} [object] The object to query keys on.
5254 * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
5255 */
5256 function isKey(value, object) {
5257 if (isArray(value)) {
5258 return false;
5259 }
5260 var type = typeof value;
5261 if (type == 'number' || type == 'symbol' || type == 'boolean' ||
5262 value == null || isSymbol(value)) {
5263 return true;
5264 }
5265 return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
5266 (object != null && value in Object(object));
5267 }
5268
5269 module.exports = isKey;
5270
5271
5272 /***/ }),
5273
5274 /***/ 37019:
5275 /***/ (function(module) {
5276
5277 /**
5278 * Checks if `value` is suitable for use as unique object key.
5279 *
5280 * @private
5281 * @param {*} value The value to check.
5282 * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
5283 */
5284 function isKeyable(value) {
5285 var type = typeof value;
5286 return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
5287 ? (value !== '__proto__')
5288 : (value === null);
5289 }
5290
5291 module.exports = isKeyable;
5292
5293
5294 /***/ }),
5295
5296 /***/ 15346:
5297 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5298
5299 var coreJsData = __webpack_require__(14429);
5300
5301 /** Used to detect methods masquerading as native. */
5302 var maskSrcKey = (function() {
5303 var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
5304 return uid ? ('Symbol(src)_1.' + uid) : '';
5305 }());
5306
5307 /**
5308 * Checks if `func` has its source masked.
5309 *
5310 * @private
5311 * @param {Function} func The function to check.
5312 * @returns {boolean} Returns `true` if `func` is masked, else `false`.
5313 */
5314 function isMasked(func) {
5315 return !!maskSrcKey && (maskSrcKey in func);
5316 }
5317
5318 module.exports = isMasked;
5319
5320
5321 /***/ }),
5322
5323 /***/ 25726:
5324 /***/ (function(module) {
5325
5326 /** Used for built-in method references. */
5327 var objectProto = Object.prototype;
5328
5329 /**
5330 * Checks if `value` is likely a prototype object.
5331 *
5332 * @private
5333 * @param {*} value The value to check.
5334 * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
5335 */
5336 function isPrototype(value) {
5337 var Ctor = value && value.constructor,
5338 proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;
5339
5340 return value === proto;
5341 }
5342
5343 module.exports = isPrototype;
5344
5345
5346 /***/ }),
5347
5348 /***/ 27040:
5349 /***/ (function(module) {
5350
5351 /**
5352 * Removes all key-value entries from the list cache.
5353 *
5354 * @private
5355 * @name clear
5356 * @memberOf ListCache
5357 */
5358 function listCacheClear() {
5359 this.__data__ = [];
5360 this.size = 0;
5361 }
5362
5363 module.exports = listCacheClear;
5364
5365
5366 /***/ }),
5367
5368 /***/ 14125:
5369 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5370
5371 var assocIndexOf = __webpack_require__(18470);
5372
5373 /** Used for built-in method references. */
5374 var arrayProto = Array.prototype;
5375
5376 /** Built-in value references. */
5377 var splice = arrayProto.splice;
5378
5379 /**
5380 * Removes `key` and its value from the list cache.
5381 *
5382 * @private
5383 * @name delete
5384 * @memberOf ListCache
5385 * @param {string} key The key of the value to remove.
5386 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
5387 */
5388 function listCacheDelete(key) {
5389 var data = this.__data__,
5390 index = assocIndexOf(data, key);
5391
5392 if (index < 0) {
5393 return false;
5394 }
5395 var lastIndex = data.length - 1;
5396 if (index == lastIndex) {
5397 data.pop();
5398 } else {
5399 splice.call(data, index, 1);
5400 }
5401 --this.size;
5402 return true;
5403 }
5404
5405 module.exports = listCacheDelete;
5406
5407
5408 /***/ }),
5409
5410 /***/ 82117:
5411 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5412
5413 var assocIndexOf = __webpack_require__(18470);
5414
5415 /**
5416 * Gets the list cache value for `key`.
5417 *
5418 * @private
5419 * @name get
5420 * @memberOf ListCache
5421 * @param {string} key The key of the value to get.
5422 * @returns {*} Returns the entry value.
5423 */
5424 function listCacheGet(key) {
5425 var data = this.__data__,
5426 index = assocIndexOf(data, key);
5427
5428 return index < 0 ? undefined : data[index][1];
5429 }
5430
5431 module.exports = listCacheGet;
5432
5433
5434 /***/ }),
5435
5436 /***/ 67518:
5437 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5438
5439 var assocIndexOf = __webpack_require__(18470);
5440
5441 /**
5442 * Checks if a list cache value for `key` exists.
5443 *
5444 * @private
5445 * @name has
5446 * @memberOf ListCache
5447 * @param {string} key The key of the entry to check.
5448 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
5449 */
5450 function listCacheHas(key) {
5451 return assocIndexOf(this.__data__, key) > -1;
5452 }
5453
5454 module.exports = listCacheHas;
5455
5456
5457 /***/ }),
5458
5459 /***/ 54705:
5460 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5461
5462 var assocIndexOf = __webpack_require__(18470);
5463
5464 /**
5465 * Sets the list cache `key` to `value`.
5466 *
5467 * @private
5468 * @name set
5469 * @memberOf ListCache
5470 * @param {string} key The key of the value to set.
5471 * @param {*} value The value to set.
5472 * @returns {Object} Returns the list cache instance.
5473 */
5474 function listCacheSet(key, value) {
5475 var data = this.__data__,
5476 index = assocIndexOf(data, key);
5477
5478 if (index < 0) {
5479 ++this.size;
5480 data.push([key, value]);
5481 } else {
5482 data[index][1] = value;
5483 }
5484 return this;
5485 }
5486
5487 module.exports = listCacheSet;
5488
5489
5490 /***/ }),
5491
5492 /***/ 24785:
5493 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5494
5495 var Hash = __webpack_require__(1989),
5496 ListCache = __webpack_require__(38407),
5497 Map = __webpack_require__(57071);
5498
5499 /**
5500 * Removes all key-value entries from the map.
5501 *
5502 * @private
5503 * @name clear
5504 * @memberOf MapCache
5505 */
5506 function mapCacheClear() {
5507 this.size = 0;
5508 this.__data__ = {
5509 'hash': new Hash,
5510 'map': new (Map || ListCache),
5511 'string': new Hash
5512 };
5513 }
5514
5515 module.exports = mapCacheClear;
5516
5517
5518 /***/ }),
5519
5520 /***/ 11285:
5521 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5522
5523 var getMapData = __webpack_require__(45050);
5524
5525 /**
5526 * Removes `key` and its value from the map.
5527 *
5528 * @private
5529 * @name delete
5530 * @memberOf MapCache
5531 * @param {string} key The key of the value to remove.
5532 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
5533 */
5534 function mapCacheDelete(key) {
5535 var result = getMapData(this, key)['delete'](key);
5536 this.size -= result ? 1 : 0;
5537 return result;
5538 }
5539
5540 module.exports = mapCacheDelete;
5541
5542
5543 /***/ }),
5544
5545 /***/ 96000:
5546 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5547
5548 var getMapData = __webpack_require__(45050);
5549
5550 /**
5551 * Gets the map value for `key`.
5552 *
5553 * @private
5554 * @name get
5555 * @memberOf MapCache
5556 * @param {string} key The key of the value to get.
5557 * @returns {*} Returns the entry value.
5558 */
5559 function mapCacheGet(key) {
5560 return getMapData(this, key).get(key);
5561 }
5562
5563 module.exports = mapCacheGet;
5564
5565
5566 /***/ }),
5567
5568 /***/ 49916:
5569 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5570
5571 var getMapData = __webpack_require__(45050);
5572
5573 /**
5574 * Checks if a map value for `key` exists.
5575 *
5576 * @private
5577 * @name has
5578 * @memberOf MapCache
5579 * @param {string} key The key of the entry to check.
5580 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
5581 */
5582 function mapCacheHas(key) {
5583 return getMapData(this, key).has(key);
5584 }
5585
5586 module.exports = mapCacheHas;
5587
5588
5589 /***/ }),
5590
5591 /***/ 95265:
5592 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5593
5594 var getMapData = __webpack_require__(45050);
5595
5596 /**
5597 * Sets the map `key` to `value`.
5598 *
5599 * @private
5600 * @name set
5601 * @memberOf MapCache
5602 * @param {string} key The key of the value to set.
5603 * @param {*} value The value to set.
5604 * @returns {Object} Returns the map cache instance.
5605 */
5606 function mapCacheSet(key, value) {
5607 var data = getMapData(this, key),
5608 size = data.size;
5609
5610 data.set(key, value);
5611 this.size += data.size == size ? 0 : 1;
5612 return this;
5613 }
5614
5615 module.exports = mapCacheSet;
5616
5617
5618 /***/ }),
5619
5620 /***/ 68776:
5621 /***/ (function(module) {
5622
5623 /**
5624 * Converts `map` to its key-value pairs.
5625 *
5626 * @private
5627 * @param {Object} map The map to convert.
5628 * @returns {Array} Returns the key-value pairs.
5629 */
5630 function mapToArray(map) {
5631 var index = -1,
5632 result = Array(map.size);
5633
5634 map.forEach(function(value, key) {
5635 result[++index] = [key, value];
5636 });
5637 return result;
5638 }
5639
5640 module.exports = mapToArray;
5641
5642
5643 /***/ }),
5644
5645 /***/ 24523:
5646 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5647
5648 var memoize = __webpack_require__(88306);
5649
5650 /** Used as the maximum memoize cache size. */
5651 var MAX_MEMOIZE_SIZE = 500;
5652
5653 /**
5654 * A specialized version of `_.memoize` which clears the memoized function's
5655 * cache when it exceeds `MAX_MEMOIZE_SIZE`.
5656 *
5657 * @private
5658 * @param {Function} func The function to have its output memoized.
5659 * @returns {Function} Returns the new memoized function.
5660 */
5661 function memoizeCapped(func) {
5662 var result = memoize(func, function(key) {
5663 if (cache.size === MAX_MEMOIZE_SIZE) {
5664 cache.clear();
5665 }
5666 return key;
5667 });
5668
5669 var cache = result.cache;
5670 return result;
5671 }
5672
5673 module.exports = memoizeCapped;
5674
5675
5676 /***/ }),
5677
5678 /***/ 94536:
5679 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5680
5681 var getNative = __webpack_require__(10852);
5682
5683 /* Built-in method references that are verified to be native. */
5684 var nativeCreate = getNative(Object, 'create');
5685
5686 module.exports = nativeCreate;
5687
5688
5689 /***/ }),
5690
5691 /***/ 86916:
5692 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5693
5694 var overArg = __webpack_require__(5569);
5695
5696 /* Built-in method references for those with the same name as other `lodash` methods. */
5697 var nativeKeys = overArg(Object.keys, Object);
5698
5699 module.exports = nativeKeys;
5700
5701
5702 /***/ }),
5703
5704 /***/ 33498:
5705 /***/ (function(module) {
5706
5707 /**
5708 * This function is like
5709 * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
5710 * except that it includes inherited enumerable properties.
5711 *
5712 * @private
5713 * @param {Object} object The object to query.
5714 * @returns {Array} Returns the array of property names.
5715 */
5716 function nativeKeysIn(object) {
5717 var result = [];
5718 if (object != null) {
5719 for (var key in Object(object)) {
5720 result.push(key);
5721 }
5722 }
5723 return result;
5724 }
5725
5726 module.exports = nativeKeysIn;
5727
5728
5729 /***/ }),
5730
5731 /***/ 31167:
5732 /***/ (function(module, exports, __webpack_require__) {
5733
5734 /* module decorator */ module = __webpack_require__.nmd(module);
5735 var freeGlobal = __webpack_require__(31957);
5736
5737 /** Detect free variable `exports`. */
5738 var freeExports = true && exports && !exports.nodeType && exports;
5739
5740 /** Detect free variable `module`. */
5741 var freeModule = freeExports && "object" == 'object' && module && !module.nodeType && module;
5742
5743 /** Detect the popular CommonJS extension `module.exports`. */
5744 var moduleExports = freeModule && freeModule.exports === freeExports;
5745
5746 /** Detect free variable `process` from Node.js. */
5747 var freeProcess = moduleExports && freeGlobal.process;
5748
5749 /** Used to access faster Node.js helpers. */
5750 var nodeUtil = (function() {
5751 try {
5752 // Use `util.types` for Node.js 10+.
5753 var types = freeModule && freeModule.require && freeModule.require('util').types;
5754
5755 if (types) {
5756 return types;
5757 }
5758
5759 // Legacy `process.binding('util')` for Node.js < 10.
5760 return freeProcess && freeProcess.binding && freeProcess.binding('util');
5761 } catch (e) {}
5762 }());
5763
5764 module.exports = nodeUtil;
5765
5766
5767 /***/ }),
5768
5769 /***/ 2333:
5770 /***/ (function(module) {
5771
5772 /** Used for built-in method references. */
5773 var objectProto = Object.prototype;
5774
5775 /**
5776 * Used to resolve the
5777 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
5778 * of values.
5779 */
5780 var nativeObjectToString = objectProto.toString;
5781
5782 /**
5783 * Converts `value` to a string using `Object.prototype.toString`.
5784 *
5785 * @private
5786 * @param {*} value The value to convert.
5787 * @returns {string} Returns the converted string.
5788 */
5789 function objectToString(value) {
5790 return nativeObjectToString.call(value);
5791 }
5792
5793 module.exports = objectToString;
5794
5795
5796 /***/ }),
5797
5798 /***/ 5569:
5799 /***/ (function(module) {
5800
5801 /**
5802 * Creates a unary function that invokes `func` with its argument transformed.
5803 *
5804 * @private
5805 * @param {Function} func The function to wrap.
5806 * @param {Function} transform The argument transform.
5807 * @returns {Function} Returns the new function.
5808 */
5809 function overArg(func, transform) {
5810 return function(arg) {
5811 return func(transform(arg));
5812 };
5813 }
5814
5815 module.exports = overArg;
5816
5817
5818 /***/ }),
5819
5820 /***/ 45357:
5821 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5822
5823 var apply = __webpack_require__(96874);
5824
5825 /* Built-in method references for those with the same name as other `lodash` methods. */
5826 var nativeMax = Math.max;
5827
5828 /**
5829 * A specialized version of `baseRest` which transforms the rest array.
5830 *
5831 * @private
5832 * @param {Function} func The function to apply a rest parameter to.
5833 * @param {number} [start=func.length-1] The start position of the rest parameter.
5834 * @param {Function} transform The rest array transform.
5835 * @returns {Function} Returns the new function.
5836 */
5837 function overRest(func, start, transform) {
5838 start = nativeMax(start === undefined ? (func.length - 1) : start, 0);
5839 return function() {
5840 var args = arguments,
5841 index = -1,
5842 length = nativeMax(args.length - start, 0),
5843 array = Array(length);
5844
5845 while (++index < length) {
5846 array[index] = args[start + index];
5847 }
5848 index = -1;
5849 var otherArgs = Array(start + 1);
5850 while (++index < start) {
5851 otherArgs[index] = args[index];
5852 }
5853 otherArgs[start] = transform(array);
5854 return apply(func, this, otherArgs);
5855 };
5856 }
5857
5858 module.exports = overRest;
5859
5860
5861 /***/ }),
5862
5863 /***/ 40292:
5864 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5865
5866 var baseGet = __webpack_require__(97786),
5867 baseSlice = __webpack_require__(14259);
5868
5869 /**
5870 * Gets the parent value at `path` of `object`.
5871 *
5872 * @private
5873 * @param {Object} object The object to query.
5874 * @param {Array} path The path to get the parent value of.
5875 * @returns {*} Returns the parent value.
5876 */
5877 function parent(object, path) {
5878 return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));
5879 }
5880
5881 module.exports = parent;
5882
5883
5884 /***/ }),
5885
5886 /***/ 55639:
5887 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
5888
5889 var freeGlobal = __webpack_require__(31957);
5890
5891 /** Detect free variable `self`. */
5892 var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
5893
5894 /** Used as a reference to the global object. */
5895 var root = freeGlobal || freeSelf || Function('return this')();
5896
5897 module.exports = root;
5898
5899
5900 /***/ }),
5901
5902 /***/ 36390:
5903 /***/ (function(module) {
5904
5905 /**
5906 * Gets the value at `key`, unless `key` is "__proto__" or "constructor".
5907 *
5908 * @private
5909 * @param {Object} object The object to query.
5910 * @param {string} key The key of the property to get.
5911 * @returns {*} Returns the property value.
5912 */
5913 function safeGet(object, key) {
5914 if (key === 'constructor' && typeof object[key] === 'function') {
5915 return;
5916 }
5917
5918 if (key == '__proto__') {
5919 return;
5920 }
5921
5922 return object[key];
5923 }
5924
5925 module.exports = safeGet;
5926
5927
5928 /***/ }),
5929
5930 /***/ 90619:
5931 /***/ (function(module) {
5932
5933 /** Used to stand-in for `undefined` hash values. */
5934 var HASH_UNDEFINED = '__lodash_hash_undefined__';
5935
5936 /**
5937 * Adds `value` to the array cache.
5938 *
5939 * @private
5940 * @name add
5941 * @memberOf SetCache
5942 * @alias push
5943 * @param {*} value The value to cache.
5944 * @returns {Object} Returns the cache instance.
5945 */
5946 function setCacheAdd(value) {
5947 this.__data__.set(value, HASH_UNDEFINED);
5948 return this;
5949 }
5950
5951 module.exports = setCacheAdd;
5952
5953
5954 /***/ }),
5955
5956 /***/ 72385:
5957 /***/ (function(module) {
5958
5959 /**
5960 * Checks if `value` is in the array cache.
5961 *
5962 * @private
5963 * @name has
5964 * @memberOf SetCache
5965 * @param {*} value The value to search for.
5966 * @returns {number} Returns `true` if `value` is found, else `false`.
5967 */
5968 function setCacheHas(value) {
5969 return this.__data__.has(value);
5970 }
5971
5972 module.exports = setCacheHas;
5973
5974
5975 /***/ }),
5976
5977 /***/ 21814:
5978 /***/ (function(module) {
5979
5980 /**
5981 * Converts `set` to an array of its values.
5982 *
5983 * @private
5984 * @param {Object} set The set to convert.
5985 * @returns {Array} Returns the values.
5986 */
5987 function setToArray(set) {
5988 var index = -1,
5989 result = Array(set.size);
5990
5991 set.forEach(function(value) {
5992 result[++index] = value;
5993 });
5994 return result;
5995 }
5996
5997 module.exports = setToArray;
5998
5999
6000 /***/ }),
6001
6002 /***/ 30061:
6003 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
6004
6005 var baseSetToString = __webpack_require__(56560),
6006 shortOut = __webpack_require__(21275);
6007
6008 /**
6009 * Sets the `toString` method of `func` to return `string`.
6010 *
6011 * @private
6012 * @param {Function} func The function to modify.
6013 * @param {Function} string The `toString` result.
6014 * @returns {Function} Returns `func`.
6015 */
6016 var setToString = shortOut(baseSetToString);
6017
6018 module.exports = setToString;
6019
6020
6021 /***/ }),
6022
6023 /***/ 21275:
6024 /***/ (function(module) {
6025
6026 /** Used to detect hot functions by number of calls within a span of milliseconds. */
6027 var HOT_COUNT = 800,
6028 HOT_SPAN = 16;
6029
6030 /* Built-in method references for those with the same name as other `lodash` methods. */
6031 var nativeNow = Date.now;
6032
6033 /**
6034 * Creates a function that'll short out and invoke `identity` instead
6035 * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`
6036 * milliseconds.
6037 *
6038 * @private
6039 * @param {Function} func The function to restrict.
6040 * @returns {Function} Returns the new shortable function.
6041 */
6042 function shortOut(func) {
6043 var count = 0,
6044 lastCalled = 0;
6045
6046 return function() {
6047 var stamp = nativeNow(),
6048 remaining = HOT_SPAN - (stamp - lastCalled);
6049
6050 lastCalled = stamp;
6051 if (remaining > 0) {
6052 if (++count >= HOT_COUNT) {
6053 return arguments[0];
6054 }
6055 } else {
6056 count = 0;
6057 }
6058 return func.apply(undefined, arguments);
6059 };
6060 }
6061
6062 module.exports = shortOut;
6063
6064
6065 /***/ }),
6066
6067 /***/ 37465:
6068 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
6069
6070 var ListCache = __webpack_require__(38407);
6071
6072 /**
6073 * Removes all key-value entries from the stack.
6074 *
6075 * @private
6076 * @name clear
6077 * @memberOf Stack
6078 */
6079 function stackClear() {
6080 this.__data__ = new ListCache;
6081 this.size = 0;
6082 }
6083
6084 module.exports = stackClear;
6085
6086
6087 /***/ }),
6088
6089 /***/ 63779:
6090 /***/ (function(module) {
6091
6092 /**
6093 * Removes `key` and its value from the stack.
6094 *
6095 * @private
6096 * @name delete
6097 * @memberOf Stack
6098 * @param {string} key The key of the value to remove.
6099 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
6100 */
6101 function stackDelete(key) {
6102 var data = this.__data__,
6103 result = data['delete'](key);
6104
6105 this.size = data.size;
6106 return result;
6107 }
6108
6109 module.exports = stackDelete;
6110
6111
6112 /***/ }),
6113
6114 /***/ 67599:
6115 /***/ (function(module) {
6116
6117 /**
6118 * Gets the stack value for `key`.
6119 *
6120 * @private
6121 * @name get
6122 * @memberOf Stack
6123 * @param {string} key The key of the value to get.
6124 * @returns {*} Returns the entry value.
6125 */
6126 function stackGet(key) {
6127 return this.__data__.get(key);
6128 }
6129
6130 module.exports = stackGet;
6131
6132
6133 /***/ }),
6134
6135 /***/ 44758:
6136 /***/ (function(module) {
6137
6138 /**
6139 * Checks if a stack value for `key` exists.
6140 *
6141 * @private
6142 * @name has
6143 * @memberOf Stack
6144 * @param {string} key The key of the entry to check.
6145 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
6146 */
6147 function stackHas(key) {
6148 return this.__data__.has(key);
6149 }
6150
6151 module.exports = stackHas;
6152
6153
6154 /***/ }),
6155
6156 /***/ 34309:
6157 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
6158
6159 var ListCache = __webpack_require__(38407),
6160 Map = __webpack_require__(57071),
6161 MapCache = __webpack_require__(83369);
6162
6163 /** Used as the size to enable large array optimizations. */
6164 var LARGE_ARRAY_SIZE = 200;
6165
6166 /**
6167 * Sets the stack `key` to `value`.
6168 *
6169 * @private
6170 * @name set
6171 * @memberOf Stack
6172 * @param {string} key The key of the value to set.
6173 * @param {*} value The value to set.
6174 * @returns {Object} Returns the stack cache instance.
6175 */
6176 function stackSet(key, value) {
6177 var data = this.__data__;
6178 if (data instanceof ListCache) {
6179 var pairs = data.__data__;
6180 if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
6181 pairs.push([key, value]);
6182 this.size = ++data.size;
6183 return this;
6184 }
6185 data = this.__data__ = new MapCache(pairs);
6186 }
6187 data.set(key, value);
6188 this.size = data.size;
6189 return this;
6190 }
6191
6192 module.exports = stackSet;
6193
6194
6195 /***/ }),
6196
6197 /***/ 42351:
6198 /***/ (function(module) {
6199
6200 /**
6201 * A specialized version of `_.indexOf` which performs strict equality
6202 * comparisons of values, i.e. `===`.
6203 *
6204 * @private
6205 * @param {Array} array The array to inspect.
6206 * @param {*} value The value to search for.
6207 * @param {number} fromIndex The index to search from.
6208 * @returns {number} Returns the index of the matched value, else `-1`.
6209 */
6210 function strictIndexOf(array, value, fromIndex) {
6211 var index = fromIndex - 1,
6212 length = array.length;
6213
6214 while (++index < length) {
6215 if (array[index] === value) {
6216 return index;
6217 }
6218 }
6219 return -1;
6220 }
6221
6222 module.exports = strictIndexOf;
6223
6224
6225 /***/ }),
6226
6227 /***/ 55514:
6228 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
6229
6230 var memoizeCapped = __webpack_require__(24523);
6231
6232 /** Used to match property names within property paths. */
6233 var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
6234
6235 /** Used to match backslashes in property paths. */
6236 var reEscapeChar = /\\(\\)?/g;
6237
6238 /**
6239 * Converts `string` to a property path array.
6240 *
6241 * @private
6242 * @param {string} string The string to convert.
6243 * @returns {Array} Returns the property path array.
6244 */
6245 var stringToPath = memoizeCapped(function(string) {
6246 var result = [];
6247 if (string.charCodeAt(0) === 46 /* . */) {
6248 result.push('');
6249 }
6250 string.replace(rePropName, function(match, number, quote, subString) {
6251 result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));
6252 });
6253 return result;
6254 });
6255
6256 module.exports = stringToPath;
6257
6258
6259 /***/ }),
6260
6261 /***/ 40327:
6262 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
6263
6264 var isSymbol = __webpack_require__(33448);
6265
6266 /** Used as references for various `Number` constants. */
6267 var INFINITY = 1 / 0;
6268
6269 /**
6270 * Converts `value` to a string key if it's not a string or symbol.
6271 *
6272 * @private
6273 * @param {*} value The value to inspect.
6274 * @returns {string|symbol} Returns the key.
6275 */
6276 function toKey(value) {
6277 if (typeof value == 'string' || isSymbol(value)) {
6278 return value;
6279 }
6280 var result = (value + '');
6281 return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
6282 }
6283
6284 module.exports = toKey;
6285
6286
6287 /***/ }),
6288
6289 /***/ 80346:
6290 /***/ (function(module) {
6291
6292 /** Used for built-in method references. */
6293 var funcProto = Function.prototype;
6294
6295 /** Used to resolve the decompiled source of functions. */
6296 var funcToString = funcProto.toString;
6297
6298 /**
6299 * Converts `func` to its source code.
6300 *
6301 * @private
6302 * @param {Function} func The function to convert.
6303 * @returns {string} Returns the source code.
6304 */
6305 function toSource(func) {
6306 if (func != null) {
6307 try {
6308 return funcToString.call(func);
6309 } catch (e) {}
6310 try {
6311 return (func + '');
6312 } catch (e) {}
6313 }
6314 return '';
6315 }
6316
6317 module.exports = toSource;
6318
6319
6320 /***/ }),
6321
6322 /***/ 75703:
6323 /***/ (function(module) {
6324
6325 /**
6326 * Creates a function that returns `value`.
6327 *
6328 * @static
6329 * @memberOf _
6330 * @since 2.4.0
6331 * @category Util
6332 * @param {*} value The value to return from the new function.
6333 * @returns {Function} Returns the new constant function.
6334 * @example
6335 *
6336 * var objects = _.times(2, _.constant({ 'a': 1 }));
6337 *
6338 * console.log(objects);
6339 * // => [{ 'a': 1 }, { 'a': 1 }]
6340 *
6341 * console.log(objects[0] === objects[1]);
6342 * // => true
6343 */
6344 function constant(value) {
6345 return function() {
6346 return value;
6347 };
6348 }
6349
6350 module.exports = constant;
6351
6352
6353 /***/ }),
6354
6355 /***/ 77813:
6356 /***/ (function(module) {
6357
6358 /**
6359 * Performs a
6360 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
6361 * comparison between two values to determine if they are equivalent.
6362 *
6363 * @static
6364 * @memberOf _
6365 * @since 4.0.0
6366 * @category Lang
6367 * @param {*} value The value to compare.
6368 * @param {*} other The other value to compare.
6369 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
6370 * @example
6371 *
6372 * var object = { 'a': 1 };
6373 * var other = { 'a': 1 };
6374 *
6375 * _.eq(object, object);
6376 * // => true
6377 *
6378 * _.eq(object, other);
6379 * // => false
6380 *
6381 * _.eq('a', 'a');
6382 * // => true
6383 *
6384 * _.eq('a', Object('a'));
6385 * // => false
6386 *
6387 * _.eq(NaN, NaN);
6388 * // => true
6389 */
6390 function eq(value, other) {
6391 return value === other || (value !== value && other !== other);
6392 }
6393
6394 module.exports = eq;
6395
6396
6397 /***/ }),
6398
6399 /***/ 85564:
6400 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
6401
6402 var baseFlatten = __webpack_require__(21078);
6403
6404 /**
6405 * Flattens `array` a single level deep.
6406 *
6407 * @static
6408 * @memberOf _
6409 * @since 0.1.0
6410 * @category Array
6411 * @param {Array} array The array to flatten.
6412 * @returns {Array} Returns the new flattened array.
6413 * @example
6414 *
6415 * _.flatten([1, [2, [3, [4]], 5]]);
6416 * // => [1, 2, [3, [4]], 5]
6417 */
6418 function flatten(array) {
6419 var length = array == null ? 0 : array.length;
6420 return length ? baseFlatten(array, 1) : [];
6421 }
6422
6423 module.exports = flatten;
6424
6425
6426 /***/ }),
6427
6428 /***/ 79095:
6429 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
6430
6431 var baseHasIn = __webpack_require__(13),
6432 hasPath = __webpack_require__(222);
6433
6434 /**
6435 * Checks if `path` is a direct or inherited property of `object`.
6436 *
6437 * @static
6438 * @memberOf _
6439 * @since 4.0.0
6440 * @category Object
6441 * @param {Object} object The object to query.
6442 * @param {Array|string} path The path to check.
6443 * @returns {boolean} Returns `true` if `path` exists, else `false`.
6444 * @example
6445 *
6446 * var object = _.create({ 'a': _.create({ 'b': 2 }) });
6447 *
6448 * _.hasIn(object, 'a');
6449 * // => true
6450 *
6451 * _.hasIn(object, 'a.b');
6452 * // => true
6453 *
6454 * _.hasIn(object, ['a', 'b']);
6455 * // => true
6456 *
6457 * _.hasIn(object, 'b');
6458 * // => false
6459 */
6460 function hasIn(object, path) {
6461 return object != null && hasPath(object, path, baseHasIn);
6462 }
6463
6464 module.exports = hasIn;
6465
6466
6467 /***/ }),
6468
6469 /***/ 6557:
6470 /***/ (function(module) {
6471
6472 /**
6473 * This method returns the first argument it receives.
6474 *
6475 * @static
6476 * @since 0.1.0
6477 * @memberOf _
6478 * @category Util
6479 * @param {*} value Any value.
6480 * @returns {*} Returns `value`.
6481 * @example
6482 *
6483 * var object = { 'a': 1 };
6484 *
6485 * console.log(_.identity(object) === object);
6486 * // => true
6487 */
6488 function identity(value) {
6489 return value;
6490 }
6491
6492 module.exports = identity;
6493
6494
6495 /***/ }),
6496
6497 /***/ 35694:
6498 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
6499
6500 var baseIsArguments = __webpack_require__(9454),
6501 isObjectLike = __webpack_require__(37005);
6502
6503 /** Used for built-in method references. */
6504 var objectProto = Object.prototype;
6505
6506 /** Used to check objects for own properties. */
6507 var hasOwnProperty = objectProto.hasOwnProperty;
6508
6509 /** Built-in value references. */
6510 var propertyIsEnumerable = objectProto.propertyIsEnumerable;
6511
6512 /**
6513 * Checks if `value` is likely an `arguments` object.
6514 *
6515 * @static
6516 * @memberOf _
6517 * @since 0.1.0
6518 * @category Lang
6519 * @param {*} value The value to check.
6520 * @returns {boolean} Returns `true` if `value` is an `arguments` object,
6521 * else `false`.
6522 * @example
6523 *
6524 * _.isArguments(function() { return arguments; }());
6525 * // => true
6526 *
6527 * _.isArguments([1, 2, 3]);
6528 * // => false
6529 */
6530 var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
6531 return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&
6532 !propertyIsEnumerable.call(value, 'callee');
6533 };
6534
6535 module.exports = isArguments;
6536
6537
6538 /***/ }),
6539
6540 /***/ 1469:
6541 /***/ (function(module) {
6542
6543 /**
6544 * Checks if `value` is classified as an `Array` object.
6545 *
6546 * @static
6547 * @memberOf _
6548 * @since 0.1.0
6549 * @category Lang
6550 * @param {*} value The value to check.
6551 * @returns {boolean} Returns `true` if `value` is an array, else `false`.
6552 * @example
6553 *
6554 * _.isArray([1, 2, 3]);
6555 * // => true
6556 *
6557 * _.isArray(document.body.children);
6558 * // => false
6559 *
6560 * _.isArray('abc');
6561 * // => false
6562 *
6563 * _.isArray(_.noop);
6564 * // => false
6565 */
6566 var isArray = Array.isArray;
6567
6568 module.exports = isArray;
6569
6570
6571 /***/ }),
6572
6573 /***/ 98612:
6574 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
6575
6576 var isFunction = __webpack_require__(23560),
6577 isLength = __webpack_require__(41780);
6578
6579 /**
6580 * Checks if `value` is array-like. A value is considered array-like if it's
6581 * not a function and has a `value.length` that's an integer greater than or
6582 * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
6583 *
6584 * @static
6585 * @memberOf _
6586 * @since 4.0.0
6587 * @category Lang
6588 * @param {*} value The value to check.
6589 * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
6590 * @example
6591 *
6592 * _.isArrayLike([1, 2, 3]);
6593 * // => true
6594 *
6595 * _.isArrayLike(document.body.children);
6596 * // => true
6597 *
6598 * _.isArrayLike('abc');
6599 * // => true
6600 *
6601 * _.isArrayLike(_.noop);
6602 * // => false
6603 */
6604 function isArrayLike(value) {
6605 return value != null && isLength(value.length) && !isFunction(value);
6606 }
6607
6608 module.exports = isArrayLike;
6609
6610
6611 /***/ }),
6612
6613 /***/ 29246:
6614 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
6615
6616 var isArrayLike = __webpack_require__(98612),
6617 isObjectLike = __webpack_require__(37005);
6618
6619 /**
6620 * This method is like `_.isArrayLike` except that it also checks if `value`
6621 * is an object.
6622 *
6623 * @static
6624 * @memberOf _
6625 * @since 4.0.0
6626 * @category Lang
6627 * @param {*} value The value to check.
6628 * @returns {boolean} Returns `true` if `value` is an array-like object,
6629 * else `false`.
6630 * @example
6631 *
6632 * _.isArrayLikeObject([1, 2, 3]);
6633 * // => true
6634 *
6635 * _.isArrayLikeObject(document.body.children);
6636 * // => true
6637 *
6638 * _.isArrayLikeObject('abc');
6639 * // => false
6640 *
6641 * _.isArrayLikeObject(_.noop);
6642 * // => false
6643 */
6644 function isArrayLikeObject(value) {
6645 return isObjectLike(value) && isArrayLike(value);
6646 }
6647
6648 module.exports = isArrayLikeObject;
6649
6650
6651 /***/ }),
6652
6653 /***/ 44144:
6654 /***/ (function(module, exports, __webpack_require__) {
6655
6656 /* module decorator */ module = __webpack_require__.nmd(module);
6657 var root = __webpack_require__(55639),
6658 stubFalse = __webpack_require__(95062);
6659
6660 /** Detect free variable `exports`. */
6661 var freeExports = true && exports && !exports.nodeType && exports;
6662
6663 /** Detect free variable `module`. */
6664 var freeModule = freeExports && "object" == 'object' && module && !module.nodeType && module;
6665
6666 /** Detect the popular CommonJS extension `module.exports`. */
6667 var moduleExports = freeModule && freeModule.exports === freeExports;
6668
6669 /** Built-in value references. */
6670 var Buffer = moduleExports ? root.Buffer : undefined;
6671
6672 /* Built-in method references for those with the same name as other `lodash` methods. */
6673 var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;
6674
6675 /**
6676 * Checks if `value` is a buffer.
6677 *
6678 * @static
6679 * @memberOf _
6680 * @since 4.3.0
6681 * @category Lang
6682 * @param {*} value The value to check.
6683 * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
6684 * @example
6685 *
6686 * _.isBuffer(new Buffer(2));
6687 * // => true
6688 *
6689 * _.isBuffer(new Uint8Array(2));
6690 * // => false
6691 */
6692 var isBuffer = nativeIsBuffer || stubFalse;
6693
6694 module.exports = isBuffer;
6695
6696
6697 /***/ }),
6698
6699 /***/ 18446:
6700 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
6701
6702 var baseIsEqual = __webpack_require__(90939);
6703
6704 /**
6705 * Performs a deep comparison between two values to determine if they are
6706 * equivalent.
6707 *
6708 * **Note:** This method supports comparing arrays, array buffers, booleans,
6709 * date objects, error objects, maps, numbers, `Object` objects, regexes,
6710 * sets, strings, symbols, and typed arrays. `Object` objects are compared
6711 * by their own, not inherited, enumerable properties. Functions and DOM
6712 * nodes are compared by strict equality, i.e. `===`.
6713 *
6714 * @static
6715 * @memberOf _
6716 * @since 0.1.0
6717 * @category Lang
6718 * @param {*} value The value to compare.
6719 * @param {*} other The other value to compare.
6720 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
6721 * @example
6722 *
6723 * var object = { 'a': 1 };
6724 * var other = { 'a': 1 };
6725 *
6726 * _.isEqual(object, other);
6727 * // => true
6728 *
6729 * object === other;
6730 * // => false
6731 */
6732 function isEqual(value, other) {
6733 return baseIsEqual(value, other);
6734 }
6735
6736 module.exports = isEqual;
6737
6738
6739 /***/ }),
6740
6741 /***/ 23560:
6742 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
6743
6744 var baseGetTag = __webpack_require__(44239),
6745 isObject = __webpack_require__(13218);
6746
6747 /** `Object#toString` result references. */
6748 var asyncTag = '[object AsyncFunction]',
6749 funcTag = '[object Function]',
6750 genTag = '[object GeneratorFunction]',
6751 proxyTag = '[object Proxy]';
6752
6753 /**
6754 * Checks if `value` is classified as a `Function` object.
6755 *
6756 * @static
6757 * @memberOf _
6758 * @since 0.1.0
6759 * @category Lang
6760 * @param {*} value The value to check.
6761 * @returns {boolean} Returns `true` if `value` is a function, else `false`.
6762 * @example
6763 *
6764 * _.isFunction(_);
6765 * // => true
6766 *
6767 * _.isFunction(/abc/);
6768 * // => false
6769 */
6770 function isFunction(value) {
6771 if (!isObject(value)) {
6772 return false;
6773 }
6774 // The use of `Object#toString` avoids issues with the `typeof` operator
6775 // in Safari 9 which returns 'object' for typed arrays and other constructors.
6776 var tag = baseGetTag(value);
6777 return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
6778 }
6779
6780 module.exports = isFunction;
6781
6782
6783 /***/ }),
6784
6785 /***/ 41780:
6786 /***/ (function(module) {
6787
6788 /** Used as references for various `Number` constants. */
6789 var MAX_SAFE_INTEGER = 9007199254740991;
6790
6791 /**
6792 * Checks if `value` is a valid array-like length.
6793 *
6794 * **Note:** This method is loosely based on
6795 * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
6796 *
6797 * @static
6798 * @memberOf _
6799 * @since 4.0.0
6800 * @category Lang
6801 * @param {*} value The value to check.
6802 * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
6803 * @example
6804 *
6805 * _.isLength(3);
6806 * // => true
6807 *
6808 * _.isLength(Number.MIN_VALUE);
6809 * // => false
6810 *
6811 * _.isLength(Infinity);
6812 * // => false
6813 *
6814 * _.isLength('3');
6815 * // => false
6816 */
6817 function isLength(value) {
6818 return typeof value == 'number' &&
6819 value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
6820 }
6821
6822 module.exports = isLength;
6823
6824
6825 /***/ }),
6826
6827 /***/ 56688:
6828 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
6829
6830 var baseIsMap = __webpack_require__(25588),
6831 baseUnary = __webpack_require__(7518),
6832 nodeUtil = __webpack_require__(31167);
6833
6834 /* Node.js helper references. */
6835 var nodeIsMap = nodeUtil && nodeUtil.isMap;
6836
6837 /**
6838 * Checks if `value` is classified as a `Map` object.
6839 *
6840 * @static
6841 * @memberOf _
6842 * @since 4.3.0
6843 * @category Lang
6844 * @param {*} value The value to check.
6845 * @returns {boolean} Returns `true` if `value` is a map, else `false`.
6846 * @example
6847 *
6848 * _.isMap(new Map);
6849 * // => true
6850 *
6851 * _.isMap(new WeakMap);
6852 * // => false
6853 */
6854 var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;
6855
6856 module.exports = isMap;
6857
6858
6859 /***/ }),
6860
6861 /***/ 13218:
6862 /***/ (function(module) {
6863
6864 /**
6865 * Checks if `value` is the
6866 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
6867 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
6868 *
6869 * @static
6870 * @memberOf _
6871 * @since 0.1.0
6872 * @category Lang
6873 * @param {*} value The value to check.
6874 * @returns {boolean} Returns `true` if `value` is an object, else `false`.
6875 * @example
6876 *
6877 * _.isObject({});
6878 * // => true
6879 *
6880 * _.isObject([1, 2, 3]);
6881 * // => true
6882 *
6883 * _.isObject(_.noop);
6884 * // => true
6885 *
6886 * _.isObject(null);
6887 * // => false
6888 */
6889 function isObject(value) {
6890 var type = typeof value;
6891 return value != null && (type == 'object' || type == 'function');
6892 }
6893
6894 module.exports = isObject;
6895
6896
6897 /***/ }),
6898
6899 /***/ 37005:
6900 /***/ (function(module) {
6901
6902 /**
6903 * Checks if `value` is object-like. A value is object-like if it's not `null`
6904 * and has a `typeof` result of "object".
6905 *
6906 * @static
6907 * @memberOf _
6908 * @since 4.0.0
6909 * @category Lang
6910 * @param {*} value The value to check.
6911 * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
6912 * @example
6913 *
6914 * _.isObjectLike({});
6915 * // => true
6916 *
6917 * _.isObjectLike([1, 2, 3]);
6918 * // => true
6919 *
6920 * _.isObjectLike(_.noop);
6921 * // => false
6922 *
6923 * _.isObjectLike(null);
6924 * // => false
6925 */
6926 function isObjectLike(value) {
6927 return value != null && typeof value == 'object';
6928 }
6929
6930 module.exports = isObjectLike;
6931
6932
6933 /***/ }),
6934
6935 /***/ 68630:
6936 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
6937
6938 var baseGetTag = __webpack_require__(44239),
6939 getPrototype = __webpack_require__(85924),
6940 isObjectLike = __webpack_require__(37005);
6941
6942 /** `Object#toString` result references. */
6943 var objectTag = '[object Object]';
6944
6945 /** Used for built-in method references. */
6946 var funcProto = Function.prototype,
6947 objectProto = Object.prototype;
6948
6949 /** Used to resolve the decompiled source of functions. */
6950 var funcToString = funcProto.toString;
6951
6952 /** Used to check objects for own properties. */
6953 var hasOwnProperty = objectProto.hasOwnProperty;
6954
6955 /** Used to infer the `Object` constructor. */
6956 var objectCtorString = funcToString.call(Object);
6957
6958 /**
6959 * Checks if `value` is a plain object, that is, an object created by the
6960 * `Object` constructor or one with a `[[Prototype]]` of `null`.
6961 *
6962 * @static
6963 * @memberOf _
6964 * @since 0.8.0
6965 * @category Lang
6966 * @param {*} value The value to check.
6967 * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
6968 * @example
6969 *
6970 * function Foo() {
6971 * this.a = 1;
6972 * }
6973 *
6974 * _.isPlainObject(new Foo);
6975 * // => false
6976 *
6977 * _.isPlainObject([1, 2, 3]);
6978 * // => false
6979 *
6980 * _.isPlainObject({ 'x': 0, 'y': 0 });
6981 * // => true
6982 *
6983 * _.isPlainObject(Object.create(null));
6984 * // => true
6985 */
6986 function isPlainObject(value) {
6987 if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
6988 return false;
6989 }
6990 var proto = getPrototype(value);
6991 if (proto === null) {
6992 return true;
6993 }
6994 var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;
6995 return typeof Ctor == 'function' && Ctor instanceof Ctor &&
6996 funcToString.call(Ctor) == objectCtorString;
6997 }
6998
6999 module.exports = isPlainObject;
7000
7001
7002 /***/ }),
7003
7004 /***/ 72928:
7005 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
7006
7007 var baseIsSet = __webpack_require__(29221),
7008 baseUnary = __webpack_require__(7518),
7009 nodeUtil = __webpack_require__(31167);
7010
7011 /* Node.js helper references. */
7012 var nodeIsSet = nodeUtil && nodeUtil.isSet;
7013
7014 /**
7015 * Checks if `value` is classified as a `Set` object.
7016 *
7017 * @static
7018 * @memberOf _
7019 * @since 4.3.0
7020 * @category Lang
7021 * @param {*} value The value to check.
7022 * @returns {boolean} Returns `true` if `value` is a set, else `false`.
7023 * @example
7024 *
7025 * _.isSet(new Set);
7026 * // => true
7027 *
7028 * _.isSet(new WeakSet);
7029 * // => false
7030 */
7031 var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;
7032
7033 module.exports = isSet;
7034
7035
7036 /***/ }),
7037
7038 /***/ 33448:
7039 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
7040
7041 var baseGetTag = __webpack_require__(44239),
7042 isObjectLike = __webpack_require__(37005);
7043
7044 /** `Object#toString` result references. */
7045 var symbolTag = '[object Symbol]';
7046
7047 /**
7048 * Checks if `value` is classified as a `Symbol` primitive or object.
7049 *
7050 * @static
7051 * @memberOf _
7052 * @since 4.0.0
7053 * @category Lang
7054 * @param {*} value The value to check.
7055 * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
7056 * @example
7057 *
7058 * _.isSymbol(Symbol.iterator);
7059 * // => true
7060 *
7061 * _.isSymbol('abc');
7062 * // => false
7063 */
7064 function isSymbol(value) {
7065 return typeof value == 'symbol' ||
7066 (isObjectLike(value) && baseGetTag(value) == symbolTag);
7067 }
7068
7069 module.exports = isSymbol;
7070
7071
7072 /***/ }),
7073
7074 /***/ 36719:
7075 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
7076
7077 var baseIsTypedArray = __webpack_require__(38749),
7078 baseUnary = __webpack_require__(7518),
7079 nodeUtil = __webpack_require__(31167);
7080
7081 /* Node.js helper references. */
7082 var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
7083
7084 /**
7085 * Checks if `value` is classified as a typed array.
7086 *
7087 * @static
7088 * @memberOf _
7089 * @since 3.0.0
7090 * @category Lang
7091 * @param {*} value The value to check.
7092 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
7093 * @example
7094 *
7095 * _.isTypedArray(new Uint8Array);
7096 * // => true
7097 *
7098 * _.isTypedArray([]);
7099 * // => false
7100 */
7101 var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
7102
7103 module.exports = isTypedArray;
7104
7105
7106 /***/ }),
7107
7108 /***/ 3674:
7109 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
7110
7111 var arrayLikeKeys = __webpack_require__(14636),
7112 baseKeys = __webpack_require__(280),
7113 isArrayLike = __webpack_require__(98612);
7114
7115 /**
7116 * Creates an array of the own enumerable property names of `object`.
7117 *
7118 * **Note:** Non-object values are coerced to objects. See the
7119 * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
7120 * for more details.
7121 *
7122 * @static
7123 * @since 0.1.0
7124 * @memberOf _
7125 * @category Object
7126 * @param {Object} object The object to query.
7127 * @returns {Array} Returns the array of property names.
7128 * @example
7129 *
7130 * function Foo() {
7131 * this.a = 1;
7132 * this.b = 2;
7133 * }
7134 *
7135 * Foo.prototype.c = 3;
7136 *
7137 * _.keys(new Foo);
7138 * // => ['a', 'b'] (iteration order is not guaranteed)
7139 *
7140 * _.keys('hi');
7141 * // => ['0', '1']
7142 */
7143 function keys(object) {
7144 return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
7145 }
7146
7147 module.exports = keys;
7148
7149
7150 /***/ }),
7151
7152 /***/ 81704:
7153 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
7154
7155 var arrayLikeKeys = __webpack_require__(14636),
7156 baseKeysIn = __webpack_require__(10313),
7157 isArrayLike = __webpack_require__(98612);
7158
7159 /**
7160 * Creates an array of the own and inherited enumerable property names of `object`.
7161 *
7162 * **Note:** Non-object values are coerced to objects.
7163 *
7164 * @static
7165 * @memberOf _
7166 * @since 3.0.0
7167 * @category Object
7168 * @param {Object} object The object to query.
7169 * @returns {Array} Returns the array of property names.
7170 * @example
7171 *
7172 * function Foo() {
7173 * this.a = 1;
7174 * this.b = 2;
7175 * }
7176 *
7177 * Foo.prototype.c = 3;
7178 *
7179 * _.keysIn(new Foo);
7180 * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
7181 */
7182 function keysIn(object) {
7183 return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
7184 }
7185
7186 module.exports = keysIn;
7187
7188
7189 /***/ }),
7190
7191 /***/ 10928:
7192 /***/ (function(module) {
7193
7194 /**
7195 * Gets the last element of `array`.
7196 *
7197 * @static
7198 * @memberOf _
7199 * @since 0.1.0
7200 * @category Array
7201 * @param {Array} array The array to query.
7202 * @returns {*} Returns the last element of `array`.
7203 * @example
7204 *
7205 * _.last([1, 2, 3]);
7206 * // => 3
7207 */
7208 function last(array) {
7209 var length = array == null ? 0 : array.length;
7210 return length ? array[length - 1] : undefined;
7211 }
7212
7213 module.exports = last;
7214
7215
7216 /***/ }),
7217
7218 /***/ 88306:
7219 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
7220
7221 var MapCache = __webpack_require__(83369);
7222
7223 /** Error message constants. */
7224 var FUNC_ERROR_TEXT = 'Expected a function';
7225
7226 /**
7227 * Creates a function that memoizes the result of `func`. If `resolver` is
7228 * provided, it determines the cache key for storing the result based on the
7229 * arguments provided to the memoized function. By default, the first argument
7230 * provided to the memoized function is used as the map cache key. The `func`
7231 * is invoked with the `this` binding of the memoized function.
7232 *
7233 * **Note:** The cache is exposed as the `cache` property on the memoized
7234 * function. Its creation may be customized by replacing the `_.memoize.Cache`
7235 * constructor with one whose instances implement the
7236 * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
7237 * method interface of `clear`, `delete`, `get`, `has`, and `set`.
7238 *
7239 * @static
7240 * @memberOf _
7241 * @since 0.1.0
7242 * @category Function
7243 * @param {Function} func The function to have its output memoized.
7244 * @param {Function} [resolver] The function to resolve the cache key.
7245 * @returns {Function} Returns the new memoized function.
7246 * @example
7247 *
7248 * var object = { 'a': 1, 'b': 2 };
7249 * var other = { 'c': 3, 'd': 4 };
7250 *
7251 * var values = _.memoize(_.values);
7252 * values(object);
7253 * // => [1, 2]
7254 *
7255 * values(other);
7256 * // => [3, 4]
7257 *
7258 * object.a = 2;
7259 * values(object);
7260 * // => [1, 2]
7261 *
7262 * // Modify the result cache.
7263 * values.cache.set(object, ['a', 'b']);
7264 * values(object);
7265 * // => ['a', 'b']
7266 *
7267 * // Replace `_.memoize.Cache`.
7268 * _.memoize.Cache = WeakMap;
7269 */
7270 function memoize(func, resolver) {
7271 if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {
7272 throw new TypeError(FUNC_ERROR_TEXT);
7273 }
7274 var memoized = function() {
7275 var args = arguments,
7276 key = resolver ? resolver.apply(this, args) : args[0],
7277 cache = memoized.cache;
7278
7279 if (cache.has(key)) {
7280 return cache.get(key);
7281 }
7282 var result = func.apply(this, args);
7283 memoized.cache = cache.set(key, result) || cache;
7284 return result;
7285 };
7286 memoized.cache = new (memoize.Cache || MapCache);
7287 return memoized;
7288 }
7289
7290 // Expose `MapCache`.
7291 memoize.Cache = MapCache;
7292
7293 module.exports = memoize;
7294
7295
7296 /***/ }),
7297
7298 /***/ 82492:
7299 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
7300
7301 var baseMerge = __webpack_require__(42980),
7302 createAssigner = __webpack_require__(21463);
7303
7304 /**
7305 * This method is like `_.assign` except that it recursively merges own and
7306 * inherited enumerable string keyed properties of source objects into the
7307 * destination object. Source properties that resolve to `undefined` are
7308 * skipped if a destination value exists. Array and plain object properties
7309 * are merged recursively. Other objects and value types are overridden by
7310 * assignment. Source objects are applied from left to right. Subsequent
7311 * sources overwrite property assignments of previous sources.
7312 *
7313 * **Note:** This method mutates `object`.
7314 *
7315 * @static
7316 * @memberOf _
7317 * @since 0.5.0
7318 * @category Object
7319 * @param {Object} object The destination object.
7320 * @param {...Object} [sources] The source objects.
7321 * @returns {Object} Returns `object`.
7322 * @example
7323 *
7324 * var object = {
7325 * 'a': [{ 'b': 2 }, { 'd': 4 }]
7326 * };
7327 *
7328 * var other = {
7329 * 'a': [{ 'c': 3 }, { 'e': 5 }]
7330 * };
7331 *
7332 * _.merge(object, other);
7333 * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }
7334 */
7335 var merge = createAssigner(function(object, source, srcIndex) {
7336 baseMerge(object, source, srcIndex);
7337 });
7338
7339 module.exports = merge;
7340
7341
7342 /***/ }),
7343
7344 /***/ 57557:
7345 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
7346
7347 var arrayMap = __webpack_require__(29932),
7348 baseClone = __webpack_require__(85990),
7349 baseUnset = __webpack_require__(57406),
7350 castPath = __webpack_require__(71811),
7351 copyObject = __webpack_require__(98363),
7352 customOmitClone = __webpack_require__(60696),
7353 flatRest = __webpack_require__(99021),
7354 getAllKeysIn = __webpack_require__(46904);
7355
7356 /** Used to compose bitmasks for cloning. */
7357 var CLONE_DEEP_FLAG = 1,
7358 CLONE_FLAT_FLAG = 2,
7359 CLONE_SYMBOLS_FLAG = 4;
7360
7361 /**
7362 * The opposite of `_.pick`; this method creates an object composed of the
7363 * own and inherited enumerable property paths of `object` that are not omitted.
7364 *
7365 * **Note:** This method is considerably slower than `_.pick`.
7366 *
7367 * @static
7368 * @since 0.1.0
7369 * @memberOf _
7370 * @category Object
7371 * @param {Object} object The source object.
7372 * @param {...(string|string[])} [paths] The property paths to omit.
7373 * @returns {Object} Returns the new object.
7374 * @example
7375 *
7376 * var object = { 'a': 1, 'b': '2', 'c': 3 };
7377 *
7378 * _.omit(object, ['a', 'c']);
7379 * // => { 'b': '2' }
7380 */
7381 var omit = flatRest(function(object, paths) {
7382 var result = {};
7383 if (object == null) {
7384 return result;
7385 }
7386 var isDeep = false;
7387 paths = arrayMap(paths, function(path) {
7388 path = castPath(path, object);
7389 isDeep || (isDeep = path.length > 1);
7390 return path;
7391 });
7392 copyObject(object, getAllKeysIn(object), result);
7393 if (isDeep) {
7394 result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);
7395 }
7396 var length = paths.length;
7397 while (length--) {
7398 baseUnset(result, paths[length]);
7399 }
7400 return result;
7401 });
7402
7403 module.exports = omit;
7404
7405
7406 /***/ }),
7407
7408 /***/ 78718:
7409 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
7410
7411 var basePick = __webpack_require__(25970),
7412 flatRest = __webpack_require__(99021);
7413
7414 /**
7415 * Creates an object composed of the picked `object` properties.
7416 *
7417 * @static
7418 * @since 0.1.0
7419 * @memberOf _
7420 * @category Object
7421 * @param {Object} object The source object.
7422 * @param {...(string|string[])} [paths] The property paths to pick.
7423 * @returns {Object} Returns the new object.
7424 * @example
7425 *
7426 * var object = { 'a': 1, 'b': '2', 'c': 3 };
7427 *
7428 * _.pick(object, ['a', 'c']);
7429 * // => { 'a': 1, 'c': 3 }
7430 */
7431 var pick = flatRest(function(object, paths) {
7432 return object == null ? {} : basePick(object, paths);
7433 });
7434
7435 module.exports = pick;
7436
7437
7438 /***/ }),
7439
7440 /***/ 45604:
7441 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
7442
7443 var basePullAll = __webpack_require__(65464);
7444
7445 /**
7446 * This method is like `_.pull` except that it accepts an array of values to remove.
7447 *
7448 * **Note:** Unlike `_.difference`, this method mutates `array`.
7449 *
7450 * @static
7451 * @memberOf _
7452 * @since 4.0.0
7453 * @category Array
7454 * @param {Array} array The array to modify.
7455 * @param {Array} values The values to remove.
7456 * @returns {Array} Returns `array`.
7457 * @example
7458 *
7459 * var array = ['a', 'b', 'c', 'a', 'b', 'c'];
7460 *
7461 * _.pullAll(array, ['a', 'c']);
7462 * console.log(array);
7463 * // => ['b', 'b']
7464 */
7465 function pullAll(array, values) {
7466 return (array && array.length && values && values.length)
7467 ? basePullAll(array, values)
7468 : array;
7469 }
7470
7471 module.exports = pullAll;
7472
7473
7474 /***/ }),
7475
7476 /***/ 70479:
7477 /***/ (function(module) {
7478
7479 /**
7480 * This method returns a new empty array.
7481 *
7482 * @static
7483 * @memberOf _
7484 * @since 4.13.0
7485 * @category Util
7486 * @returns {Array} Returns the new empty array.
7487 * @example
7488 *
7489 * var arrays = _.times(2, _.stubArray);
7490 *
7491 * console.log(arrays);
7492 * // => [[], []]
7493 *
7494 * console.log(arrays[0] === arrays[1]);
7495 * // => false
7496 */
7497 function stubArray() {
7498 return [];
7499 }
7500
7501 module.exports = stubArray;
7502
7503
7504 /***/ }),
7505
7506 /***/ 95062:
7507 /***/ (function(module) {
7508
7509 /**
7510 * This method returns `false`.
7511 *
7512 * @static
7513 * @memberOf _
7514 * @since 4.13.0
7515 * @category Util
7516 * @returns {boolean} Returns `false`.
7517 * @example
7518 *
7519 * _.times(2, _.stubFalse);
7520 * // => [false, false]
7521 */
7522 function stubFalse() {
7523 return false;
7524 }
7525
7526 module.exports = stubFalse;
7527
7528
7529 /***/ }),
7530
7531 /***/ 59881:
7532 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
7533
7534 var copyObject = __webpack_require__(98363),
7535 keysIn = __webpack_require__(81704);
7536
7537 /**
7538 * Converts `value` to a plain object flattening inherited enumerable string
7539 * keyed properties of `value` to own properties of the plain object.
7540 *
7541 * @static
7542 * @memberOf _
7543 * @since 3.0.0
7544 * @category Lang
7545 * @param {*} value The value to convert.
7546 * @returns {Object} Returns the converted plain object.
7547 * @example
7548 *
7549 * function Foo() {
7550 * this.b = 2;
7551 * }
7552 *
7553 * Foo.prototype.c = 3;
7554 *
7555 * _.assign({ 'a': 1 }, new Foo);
7556 * // => { 'a': 1, 'b': 2 }
7557 *
7558 * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));
7559 * // => { 'a': 1, 'b': 2, 'c': 3 }
7560 */
7561 function toPlainObject(value) {
7562 return copyObject(value, keysIn(value));
7563 }
7564
7565 module.exports = toPlainObject;
7566
7567
7568 /***/ }),
7569
7570 /***/ 79833:
7571 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
7572
7573 var baseToString = __webpack_require__(80531);
7574
7575 /**
7576 * Converts `value` to a string. An empty string is returned for `null`
7577 * and `undefined` values. The sign of `-0` is preserved.
7578 *
7579 * @static
7580 * @memberOf _
7581 * @since 4.0.0
7582 * @category Lang
7583 * @param {*} value The value to convert.
7584 * @returns {string} Returns the converted string.
7585 * @example
7586 *
7587 * _.toString(null);
7588 * // => ''
7589 *
7590 * _.toString(-0);
7591 * // => '-0'
7592 *
7593 * _.toString([1, 2, 3]);
7594 * // => '1,2,3'
7595 */
7596 function toString(value) {
7597 return value == null ? '' : baseToString(value);
7598 }
7599
7600 module.exports = toString;
7601
7602
7603 /***/ }),
7604
7605 /***/ 59738:
7606 /***/ (function(module) {
7607
7608 "use strict";
7609
7610
7611 /** @type {import('./abs')} */
7612 module.exports = Math.abs;
7613
7614
7615 /***/ }),
7616
7617 /***/ 76329:
7618 /***/ (function(module) {
7619
7620 "use strict";
7621
7622
7623 /** @type {import('./floor')} */
7624 module.exports = Math.floor;
7625
7626
7627 /***/ }),
7628
7629 /***/ 43678:
7630 /***/ (function(module) {
7631
7632 "use strict";
7633
7634
7635 /** @type {import('./isNaN')} */
7636 module.exports = Number.isNaN || function isNaN(a) {
7637 return a !== a;
7638 };
7639
7640
7641 /***/ }),
7642
7643 /***/ 52264:
7644 /***/ (function(module) {
7645
7646 "use strict";
7647
7648
7649 /** @type {import('./max')} */
7650 module.exports = Math.max;
7651
7652
7653 /***/ }),
7654
7655 /***/ 55730:
7656 /***/ (function(module) {
7657
7658 "use strict";
7659
7660
7661 /** @type {import('./min')} */
7662 module.exports = Math.min;
7663
7664
7665 /***/ }),
7666
7667 /***/ 20707:
7668 /***/ (function(module) {
7669
7670 "use strict";
7671
7672
7673 /** @type {import('./pow')} */
7674 module.exports = Math.pow;
7675
7676
7677 /***/ }),
7678
7679 /***/ 63862:
7680 /***/ (function(module) {
7681
7682 "use strict";
7683
7684
7685 /** @type {import('./round')} */
7686 module.exports = Math.round;
7687
7688
7689 /***/ }),
7690
7691 /***/ 29550:
7692 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
7693
7694 "use strict";
7695
7696
7697 var $isNaN = __webpack_require__(43678);
7698
7699 /** @type {import('./sign')} */
7700 module.exports = function sign(number) {
7701 if ($isNaN(number) || number === 0) {
7702 return number;
7703 }
7704 return number < 0 ? -1 : +1;
7705 };
7706
7707
7708 /***/ }),
7709
7710 /***/ 70631:
7711 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
7712
7713 var hasMap = typeof Map === 'function' && Map.prototype;
7714 var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;
7715 var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;
7716 var mapForEach = hasMap && Map.prototype.forEach;
7717 var hasSet = typeof Set === 'function' && Set.prototype;
7718 var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;
7719 var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;
7720 var setForEach = hasSet && Set.prototype.forEach;
7721 var hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;
7722 var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;
7723 var hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;
7724 var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;
7725 var hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;
7726 var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;
7727 var booleanValueOf = Boolean.prototype.valueOf;
7728 var objectToString = Object.prototype.toString;
7729 var functionToString = Function.prototype.toString;
7730 var match = String.prototype.match;
7731 var bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;
7732 var gOPS = Object.getOwnPropertySymbols;
7733 var symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;
7734 var isEnumerable = Object.prototype.propertyIsEnumerable;
7735
7736 var gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (
7737 [].__proto__ === Array.prototype // eslint-disable-line no-proto
7738 ? function (O) {
7739 return O.__proto__; // eslint-disable-line no-proto
7740 }
7741 : null
7742 );
7743
7744 var inspectCustom = __webpack_require__(24654).custom;
7745 var inspectSymbol = inspectCustom && isSymbol(inspectCustom) ? inspectCustom : null;
7746 var toStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol' ? Symbol.toStringTag : null;
7747
7748 module.exports = function inspect_(obj, options, depth, seen) {
7749 var opts = options || {};
7750
7751 if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {
7752 throw new TypeError('option "quoteStyle" must be "single" or "double"');
7753 }
7754 if (
7755 has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'
7756 ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity
7757 : opts.maxStringLength !== null
7758 )
7759 ) {
7760 throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');
7761 }
7762 var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;
7763 if (typeof customInspect !== 'boolean') {
7764 throw new TypeError('option "customInspect", if provided, must be `true` or `false`');
7765 }
7766
7767 if (
7768 has(opts, 'indent')
7769 && opts.indent !== null
7770 && opts.indent !== '\t'
7771 && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)
7772 ) {
7773 throw new TypeError('options "indent" must be "\\t", an integer > 0, or `null`');
7774 }
7775
7776 if (typeof obj === 'undefined') {
7777 return 'undefined';
7778 }
7779 if (obj === null) {
7780 return 'null';
7781 }
7782 if (typeof obj === 'boolean') {
7783 return obj ? 'true' : 'false';
7784 }
7785
7786 if (typeof obj === 'string') {
7787 return inspectString(obj, opts);
7788 }
7789 if (typeof obj === 'number') {
7790 if (obj === 0) {
7791 return Infinity / obj > 0 ? '0' : '-0';
7792 }
7793 return String(obj);
7794 }
7795 if (typeof obj === 'bigint') {
7796 return String(obj) + 'n';
7797 }
7798
7799 var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;
7800 if (typeof depth === 'undefined') { depth = 0; }
7801 if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {
7802 return isArray(obj) ? '[Array]' : '[Object]';
7803 }
7804
7805 var indent = getIndent(opts, depth);
7806
7807 if (typeof seen === 'undefined') {
7808 seen = [];
7809 } else if (indexOf(seen, obj) >= 0) {
7810 return '[Circular]';
7811 }
7812
7813 function inspect(value, from, noIndent) {
7814 if (from) {
7815 seen = seen.slice();
7816 seen.push(from);
7817 }
7818 if (noIndent) {
7819 var newOpts = {
7820 depth: opts.depth
7821 };
7822 if (has(opts, 'quoteStyle')) {
7823 newOpts.quoteStyle = opts.quoteStyle;
7824 }
7825 return inspect_(value, newOpts, depth + 1, seen);
7826 }
7827 return inspect_(value, opts, depth + 1, seen);
7828 }
7829
7830 if (typeof obj === 'function') {
7831 var name = nameOf(obj);
7832 var keys = arrObjKeys(obj, inspect);
7833 return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + keys.join(', ') + ' }' : '');
7834 }
7835 if (isSymbol(obj)) {
7836 var symString = symToString.call(obj);
7837 return typeof obj === 'object' ? markBoxed(symString) : symString;
7838 }
7839 if (isElement(obj)) {
7840 var s = '<' + String(obj.nodeName).toLowerCase();
7841 var attrs = obj.attributes || [];
7842 for (var i = 0; i < attrs.length; i++) {
7843 s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);
7844 }
7845 s += '>';
7846 if (obj.childNodes && obj.childNodes.length) { s += '...'; }
7847 s += '</' + String(obj.nodeName).toLowerCase() + '>';
7848 return s;
7849 }
7850 if (isArray(obj)) {
7851 if (obj.length === 0) { return '[]'; }
7852 var xs = arrObjKeys(obj, inspect);
7853 if (indent && !singleLineValues(xs)) {
7854 return '[' + indentedJoin(xs, indent) + ']';
7855 }
7856 return '[ ' + xs.join(', ') + ' ]';
7857 }
7858 if (isError(obj)) {
7859 var parts = arrObjKeys(obj, inspect);
7860 if (parts.length === 0) { return '[' + String(obj) + ']'; }
7861 return '{ [' + String(obj) + '] ' + parts.join(', ') + ' }';
7862 }
7863 if (typeof obj === 'object' && customInspect) {
7864 if (inspectSymbol && typeof obj[inspectSymbol] === 'function') {
7865 return obj[inspectSymbol]();
7866 } else if (typeof obj.inspect === 'function') {
7867 return obj.inspect();
7868 }
7869 }
7870 if (isMap(obj)) {
7871 var mapParts = [];
7872 mapForEach.call(obj, function (value, key) {
7873 mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));
7874 });
7875 return collectionOf('Map', mapSize.call(obj), mapParts, indent);
7876 }
7877 if (isSet(obj)) {
7878 var setParts = [];
7879 setForEach.call(obj, function (value) {
7880 setParts.push(inspect(value, obj));
7881 });
7882 return collectionOf('Set', setSize.call(obj), setParts, indent);
7883 }
7884 if (isWeakMap(obj)) {
7885 return weakCollectionOf('WeakMap');
7886 }
7887 if (isWeakSet(obj)) {
7888 return weakCollectionOf('WeakSet');
7889 }
7890 if (isWeakRef(obj)) {
7891 return weakCollectionOf('WeakRef');
7892 }
7893 if (isNumber(obj)) {
7894 return markBoxed(inspect(Number(obj)));
7895 }
7896 if (isBigInt(obj)) {
7897 return markBoxed(inspect(bigIntValueOf.call(obj)));
7898 }
7899 if (isBoolean(obj)) {
7900 return markBoxed(booleanValueOf.call(obj));
7901 }
7902 if (isString(obj)) {
7903 return markBoxed(inspect(String(obj)));
7904 }
7905 if (!isDate(obj) && !isRegExp(obj)) {
7906 var ys = arrObjKeys(obj, inspect);
7907 var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;
7908 var protoTag = obj instanceof Object ? '' : 'null prototype';
7909 var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? toStr(obj).slice(8, -1) : protoTag ? 'Object' : '';
7910 var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';
7911 var tag = constructorTag + (stringTag || protoTag ? '[' + [].concat(stringTag || [], protoTag || []).join(': ') + '] ' : '');
7912 if (ys.length === 0) { return tag + '{}'; }
7913 if (indent) {
7914 return tag + '{' + indentedJoin(ys, indent) + '}';
7915 }
7916 return tag + '{ ' + ys.join(', ') + ' }';
7917 }
7918 return String(obj);
7919 };
7920
7921 function wrapQuotes(s, defaultStyle, opts) {
7922 var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '"' : "'";
7923 return quoteChar + s + quoteChar;
7924 }
7925
7926 function quote(s) {
7927 return String(s).replace(/"/g, '&quot;');
7928 }
7929
7930 function isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }
7931 function isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }
7932 function isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }
7933 function isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }
7934 function isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }
7935 function isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }
7936 function isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }
7937
7938 // Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives
7939 function isSymbol(obj) {
7940 if (typeof obj === 'symbol') {
7941 return true;
7942 }
7943 if (!obj || typeof obj !== 'object' || !symToString) {
7944 return false;
7945 }
7946 try {
7947 symToString.call(obj);
7948 return true;
7949 } catch (e) {}
7950 return false;
7951 }
7952
7953 function isBigInt(obj) {
7954 if (!obj || typeof obj !== 'object' || !bigIntValueOf) {
7955 return false;
7956 }
7957 try {
7958 bigIntValueOf.call(obj);
7959 return true;
7960 } catch (e) {}
7961 return false;
7962 }
7963
7964 var hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };
7965 function has(obj, key) {
7966 return hasOwn.call(obj, key);
7967 }
7968
7969 function toStr(obj) {
7970 return objectToString.call(obj);
7971 }
7972
7973 function nameOf(f) {
7974 if (f.name) { return f.name; }
7975 var m = match.call(functionToString.call(f), /^function\s*([\w$]+)/);
7976 if (m) { return m[1]; }
7977 return null;
7978 }
7979
7980 function indexOf(xs, x) {
7981 if (xs.indexOf) { return xs.indexOf(x); }
7982 for (var i = 0, l = xs.length; i < l; i++) {
7983 if (xs[i] === x) { return i; }
7984 }
7985 return -1;
7986 }
7987
7988 function isMap(x) {
7989 if (!mapSize || !x || typeof x !== 'object') {
7990 return false;
7991 }
7992 try {
7993 mapSize.call(x);
7994 try {
7995 setSize.call(x);
7996 } catch (s) {
7997 return true;
7998 }
7999 return x instanceof Map; // core-js workaround, pre-v2.5.0
8000 } catch (e) {}
8001 return false;
8002 }
8003
8004 function isWeakMap(x) {
8005 if (!weakMapHas || !x || typeof x !== 'object') {
8006 return false;
8007 }
8008 try {
8009 weakMapHas.call(x, weakMapHas);
8010 try {
8011 weakSetHas.call(x, weakSetHas);
8012 } catch (s) {
8013 return true;
8014 }
8015 return x instanceof WeakMap; // core-js workaround, pre-v2.5.0
8016 } catch (e) {}
8017 return false;
8018 }
8019
8020 function isWeakRef(x) {
8021 if (!weakRefDeref || !x || typeof x !== 'object') {
8022 return false;
8023 }
8024 try {
8025 weakRefDeref.call(x);
8026 return true;
8027 } catch (e) {}
8028 return false;
8029 }
8030
8031 function isSet(x) {
8032 if (!setSize || !x || typeof x !== 'object') {
8033 return false;
8034 }
8035 try {
8036 setSize.call(x);
8037 try {
8038 mapSize.call(x);
8039 } catch (m) {
8040 return true;
8041 }
8042 return x instanceof Set; // core-js workaround, pre-v2.5.0
8043 } catch (e) {}
8044 return false;
8045 }
8046
8047 function isWeakSet(x) {
8048 if (!weakSetHas || !x || typeof x !== 'object') {
8049 return false;
8050 }
8051 try {
8052 weakSetHas.call(x, weakSetHas);
8053 try {
8054 weakMapHas.call(x, weakMapHas);
8055 } catch (s) {
8056 return true;
8057 }
8058 return x instanceof WeakSet; // core-js workaround, pre-v2.5.0
8059 } catch (e) {}
8060 return false;
8061 }
8062
8063 function isElement(x) {
8064 if (!x || typeof x !== 'object') { return false; }
8065 if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {
8066 return true;
8067 }
8068 return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';
8069 }
8070
8071 function inspectString(str, opts) {
8072 if (str.length > opts.maxStringLength) {
8073 var remaining = str.length - opts.maxStringLength;
8074 var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');
8075 return inspectString(str.slice(0, opts.maxStringLength), opts) + trailer;
8076 }
8077 // eslint-disable-next-line no-control-regex
8078 var s = str.replace(/(['\\])/g, '\\$1').replace(/[\x00-\x1f]/g, lowbyte);
8079 return wrapQuotes(s, 'single', opts);
8080 }
8081
8082 function lowbyte(c) {
8083 var n = c.charCodeAt(0);
8084 var x = {
8085 8: 'b',
8086 9: 't',
8087 10: 'n',
8088 12: 'f',
8089 13: 'r'
8090 }[n];
8091 if (x) { return '\\' + x; }
8092 return '\\x' + (n < 0x10 ? '0' : '') + n.toString(16).toUpperCase();
8093 }
8094
8095 function markBoxed(str) {
8096 return 'Object(' + str + ')';
8097 }
8098
8099 function weakCollectionOf(type) {
8100 return type + ' { ? }';
8101 }
8102
8103 function collectionOf(type, size, entries, indent) {
8104 var joinedEntries = indent ? indentedJoin(entries, indent) : entries.join(', ');
8105 return type + ' (' + size + ') {' + joinedEntries + '}';
8106 }
8107
8108 function singleLineValues(xs) {
8109 for (var i = 0; i < xs.length; i++) {
8110 if (indexOf(xs[i], '\n') >= 0) {
8111 return false;
8112 }
8113 }
8114 return true;
8115 }
8116
8117 function getIndent(opts, depth) {
8118 var baseIndent;
8119 if (opts.indent === '\t') {
8120 baseIndent = '\t';
8121 } else if (typeof opts.indent === 'number' && opts.indent > 0) {
8122 baseIndent = Array(opts.indent + 1).join(' ');
8123 } else {
8124 return null;
8125 }
8126 return {
8127 base: baseIndent,
8128 prev: Array(depth + 1).join(baseIndent)
8129 };
8130 }
8131
8132 function indentedJoin(xs, indent) {
8133 if (xs.length === 0) { return ''; }
8134 var lineJoiner = '\n' + indent.prev + indent.base;
8135 return lineJoiner + xs.join(',' + lineJoiner) + '\n' + indent.prev;
8136 }
8137
8138 function arrObjKeys(obj, inspect) {
8139 var isArr = isArray(obj);
8140 var xs = [];
8141 if (isArr) {
8142 xs.length = obj.length;
8143 for (var i = 0; i < obj.length; i++) {
8144 xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';
8145 }
8146 }
8147 for (var key in obj) { // eslint-disable-line no-restricted-syntax
8148 if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue
8149 if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue
8150 if ((/[^\w$]/).test(key)) {
8151 xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));
8152 } else {
8153 xs.push(key + ': ' + inspect(obj[key], obj));
8154 }
8155 }
8156 if (typeof gOPS === 'function') {
8157 var syms = gOPS(obj);
8158 for (var j = 0; j < syms.length; j++) {
8159 if (isEnumerable.call(obj, syms[j])) {
8160 xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));
8161 }
8162 }
8163 }
8164 return xs;
8165 }
8166
8167
8168 /***/ }),
8169
8170 /***/ 55798:
8171 /***/ (function(module) {
8172
8173 "use strict";
8174
8175
8176 var replace = String.prototype.replace;
8177 var percentTwenties = /%20/g;
8178
8179 var Format = {
8180 RFC1738: 'RFC1738',
8181 RFC3986: 'RFC3986'
8182 };
8183
8184 module.exports = {
8185 'default': Format.RFC3986,
8186 formatters: {
8187 RFC1738: function (value) {
8188 return replace.call(value, percentTwenties, '+');
8189 },
8190 RFC3986: function (value) {
8191 return String(value);
8192 }
8193 },
8194 RFC1738: Format.RFC1738,
8195 RFC3986: Format.RFC3986
8196 };
8197
8198
8199 /***/ }),
8200
8201 /***/ 80129:
8202 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
8203
8204 "use strict";
8205
8206
8207 var stringify = __webpack_require__(58261);
8208 var parse = __webpack_require__(55235);
8209 var formats = __webpack_require__(55798);
8210
8211 module.exports = {
8212 formats: formats,
8213 parse: parse,
8214 stringify: stringify
8215 };
8216
8217
8218 /***/ }),
8219
8220 /***/ 55235:
8221 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
8222
8223 "use strict";
8224
8225
8226 var utils = __webpack_require__(12769);
8227
8228 var has = Object.prototype.hasOwnProperty;
8229 var isArray = Array.isArray;
8230
8231 var defaults = {
8232 allowDots: false,
8233 allowPrototypes: false,
8234 allowSparse: false,
8235 arrayLimit: 20,
8236 charset: 'utf-8',
8237 charsetSentinel: false,
8238 comma: false,
8239 decoder: utils.decode,
8240 delimiter: '&',
8241 depth: 5,
8242 ignoreQueryPrefix: false,
8243 interpretNumericEntities: false,
8244 parameterLimit: 1000,
8245 parseArrays: true,
8246 plainObjects: false,
8247 strictNullHandling: false
8248 };
8249
8250 var interpretNumericEntities = function (str) {
8251 return str.replace(/&#(\d+);/g, function ($0, numberStr) {
8252 return String.fromCharCode(parseInt(numberStr, 10));
8253 });
8254 };
8255
8256 var parseArrayValue = function (val, options) {
8257 if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {
8258 return val.split(',');
8259 }
8260
8261 return val;
8262 };
8263
8264 // This is what browsers will submit when the ✓ character occurs in an
8265 // application/x-www-form-urlencoded body and the encoding of the page containing
8266 // the form is iso-8859-1, or when the submitted form has an accept-charset
8267 // attribute of iso-8859-1. Presumably also with other charsets that do not contain
8268 // the ✓ character, such as us-ascii.
8269 var isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')
8270
8271 // These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.
8272 var charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')
8273
8274 var parseValues = function parseQueryStringValues(str, options) {
8275 var obj = {};
8276 var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str;
8277 var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;
8278 var parts = cleanStr.split(options.delimiter, limit);
8279 var skipIndex = -1; // Keep track of where the utf8 sentinel was found
8280 var i;
8281
8282 var charset = options.charset;
8283 if (options.charsetSentinel) {
8284 for (i = 0; i < parts.length; ++i) {
8285 if (parts[i].indexOf('utf8=') === 0) {
8286 if (parts[i] === charsetSentinel) {
8287 charset = 'utf-8';
8288 } else if (parts[i] === isoSentinel) {
8289 charset = 'iso-8859-1';
8290 }
8291 skipIndex = i;
8292 i = parts.length; // The eslint settings do not allow break;
8293 }
8294 }
8295 }
8296
8297 for (i = 0; i < parts.length; ++i) {
8298 if (i === skipIndex) {
8299 continue;
8300 }
8301 var part = parts[i];
8302
8303 var bracketEqualsPos = part.indexOf(']=');
8304 var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;
8305
8306 var key, val;
8307 if (pos === -1) {
8308 key = options.decoder(part, defaults.decoder, charset, 'key');
8309 val = options.strictNullHandling ? null : '';
8310 } else {
8311 key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');
8312 val = utils.maybeMap(
8313 parseArrayValue(part.slice(pos + 1), options),
8314 function (encodedVal) {
8315 return options.decoder(encodedVal, defaults.decoder, charset, 'value');
8316 }
8317 );
8318 }
8319
8320 if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {
8321 val = interpretNumericEntities(val);
8322 }
8323
8324 if (part.indexOf('[]=') > -1) {
8325 val = isArray(val) ? [val] : val;
8326 }
8327
8328 if (has.call(obj, key)) {
8329 obj[key] = utils.combine(obj[key], val);
8330 } else {
8331 obj[key] = val;
8332 }
8333 }
8334
8335 return obj;
8336 };
8337
8338 var parseObject = function (chain, val, options, valuesParsed) {
8339 var leaf = valuesParsed ? val : parseArrayValue(val, options);
8340
8341 for (var i = chain.length - 1; i >= 0; --i) {
8342 var obj;
8343 var root = chain[i];
8344
8345 if (root === '[]' && options.parseArrays) {
8346 obj = [].concat(leaf);
8347 } else {
8348 obj = options.plainObjects ? Object.create(null) : {};
8349 var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;
8350 var index = parseInt(cleanRoot, 10);
8351 if (!options.parseArrays && cleanRoot === '') {
8352 obj = { 0: leaf };
8353 } else if (
8354 !isNaN(index)
8355 && root !== cleanRoot
8356 && String(index) === cleanRoot
8357 && index >= 0
8358 && (options.parseArrays && index <= options.arrayLimit)
8359 ) {
8360 obj = [];
8361 obj[index] = leaf;
8362 } else {
8363 obj[cleanRoot] = leaf;
8364 }
8365 }
8366
8367 leaf = obj;
8368 }
8369
8370 return leaf;
8371 };
8372
8373 var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {
8374 if (!givenKey) {
8375 return;
8376 }
8377
8378 // Transform dot notation to bracket notation
8379 var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey;
8380
8381 // The regex chunks
8382
8383 var brackets = /(\[[^[\]]*])/;
8384 var child = /(\[[^[\]]*])/g;
8385
8386 // Get the parent
8387
8388 var segment = options.depth > 0 && brackets.exec(key);
8389 var parent = segment ? key.slice(0, segment.index) : key;
8390
8391 // Stash the parent if it exists
8392
8393 var keys = [];
8394 if (parent) {
8395 // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties
8396 if (!options.plainObjects && has.call(Object.prototype, parent)) {
8397 if (!options.allowPrototypes) {
8398 return;
8399 }
8400 }
8401
8402 keys.push(parent);
8403 }
8404
8405 // Loop through children appending to the array until we hit depth
8406
8407 var i = 0;
8408 while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {
8409 i += 1;
8410 if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {
8411 if (!options.allowPrototypes) {
8412 return;
8413 }
8414 }
8415 keys.push(segment[1]);
8416 }
8417
8418 // If there's a remainder, just add whatever is left
8419
8420 if (segment) {
8421 keys.push('[' + key.slice(segment.index) + ']');
8422 }
8423
8424 return parseObject(keys, val, options, valuesParsed);
8425 };
8426
8427 var normalizeParseOptions = function normalizeParseOptions(opts) {
8428 if (!opts) {
8429 return defaults;
8430 }
8431
8432 if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {
8433 throw new TypeError('Decoder has to be a function.');
8434 }
8435
8436 if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
8437 throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
8438 }
8439 var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;
8440
8441 return {
8442 allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
8443 allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,
8444 allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,
8445 arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,
8446 charset: charset,
8447 charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
8448 comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,
8449 decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,
8450 delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
8451 // eslint-disable-next-line no-implicit-coercion, no-extra-parens
8452 depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,
8453 ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
8454 interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
8455 parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,
8456 parseArrays: opts.parseArrays !== false,
8457 plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,
8458 strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
8459 };
8460 };
8461
8462 module.exports = function (str, opts) {
8463 var options = normalizeParseOptions(opts);
8464
8465 if (str === '' || str === null || typeof str === 'undefined') {
8466 return options.plainObjects ? Object.create(null) : {};
8467 }
8468
8469 var tempObj = typeof str === 'string' ? parseValues(str, options) : str;
8470 var obj = options.plainObjects ? Object.create(null) : {};
8471
8472 // Iterate over the keys and setup the new object
8473
8474 var keys = Object.keys(tempObj);
8475 for (var i = 0; i < keys.length; ++i) {
8476 var key = keys[i];
8477 var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');
8478 obj = utils.merge(obj, newObj, options);
8479 }
8480
8481 if (options.allowSparse === true) {
8482 return obj;
8483 }
8484
8485 return utils.compact(obj);
8486 };
8487
8488
8489 /***/ }),
8490
8491 /***/ 58261:
8492 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
8493
8494 "use strict";
8495
8496
8497 var getSideChannel = __webpack_require__(37478);
8498 var utils = __webpack_require__(12769);
8499 var formats = __webpack_require__(55798);
8500 var has = Object.prototype.hasOwnProperty;
8501
8502 var arrayPrefixGenerators = {
8503 brackets: function brackets(prefix) {
8504 return prefix + '[]';
8505 },
8506 comma: 'comma',
8507 indices: function indices(prefix, key) {
8508 return prefix + '[' + key + ']';
8509 },
8510 repeat: function repeat(prefix) {
8511 return prefix;
8512 }
8513 };
8514
8515 var isArray = Array.isArray;
8516 var push = Array.prototype.push;
8517 var pushToArray = function (arr, valueOrArray) {
8518 push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);
8519 };
8520
8521 var toISO = Date.prototype.toISOString;
8522
8523 var defaultFormat = formats['default'];
8524 var defaults = {
8525 addQueryPrefix: false,
8526 allowDots: false,
8527 charset: 'utf-8',
8528 charsetSentinel: false,
8529 delimiter: '&',
8530 encode: true,
8531 encoder: utils.encode,
8532 encodeValuesOnly: false,
8533 format: defaultFormat,
8534 formatter: formats.formatters[defaultFormat],
8535 // deprecated
8536 indices: false,
8537 serializeDate: function serializeDate(date) {
8538 return toISO.call(date);
8539 },
8540 skipNulls: false,
8541 strictNullHandling: false
8542 };
8543
8544 var isNonNullishPrimitive = function isNonNullishPrimitive(v) {
8545 return typeof v === 'string'
8546 || typeof v === 'number'
8547 || typeof v === 'boolean'
8548 || typeof v === 'symbol'
8549 || typeof v === 'bigint';
8550 };
8551
8552 var stringify = function stringify(
8553 object,
8554 prefix,
8555 generateArrayPrefix,
8556 strictNullHandling,
8557 skipNulls,
8558 encoder,
8559 filter,
8560 sort,
8561 allowDots,
8562 serializeDate,
8563 format,
8564 formatter,
8565 encodeValuesOnly,
8566 charset,
8567 sideChannel
8568 ) {
8569 var obj = object;
8570
8571 if (sideChannel.has(object)) {
8572 throw new RangeError('Cyclic object value');
8573 }
8574
8575 if (typeof filter === 'function') {
8576 obj = filter(prefix, obj);
8577 } else if (obj instanceof Date) {
8578 obj = serializeDate(obj);
8579 } else if (generateArrayPrefix === 'comma' && isArray(obj)) {
8580 obj = utils.maybeMap(obj, function (value) {
8581 if (value instanceof Date) {
8582 return serializeDate(value);
8583 }
8584 return value;
8585 });
8586 }
8587
8588 if (obj === null) {
8589 if (strictNullHandling) {
8590 return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;
8591 }
8592
8593 obj = '';
8594 }
8595
8596 if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {
8597 if (encoder) {
8598 var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);
8599 return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];
8600 }
8601 return [formatter(prefix) + '=' + formatter(String(obj))];
8602 }
8603
8604 var values = [];
8605
8606 if (typeof obj === 'undefined') {
8607 return values;
8608 }
8609
8610 var objKeys;
8611 if (generateArrayPrefix === 'comma' && isArray(obj)) {
8612 // we need to join elements in
8613 objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : undefined }];
8614 } else if (isArray(filter)) {
8615 objKeys = filter;
8616 } else {
8617 var keys = Object.keys(obj);
8618 objKeys = sort ? keys.sort(sort) : keys;
8619 }
8620
8621 for (var i = 0; i < objKeys.length; ++i) {
8622 var key = objKeys[i];
8623 var value = typeof key === 'object' && key.value !== undefined ? key.value : obj[key];
8624
8625 if (skipNulls && value === null) {
8626 continue;
8627 }
8628
8629 var keyPrefix = isArray(obj)
8630 ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix
8631 : prefix + (allowDots ? '.' + key : '[' + key + ']');
8632
8633 sideChannel.set(object, true);
8634 var valueSideChannel = getSideChannel();
8635 pushToArray(values, stringify(
8636 value,
8637 keyPrefix,
8638 generateArrayPrefix,
8639 strictNullHandling,
8640 skipNulls,
8641 encoder,
8642 filter,
8643 sort,
8644 allowDots,
8645 serializeDate,
8646 format,
8647 formatter,
8648 encodeValuesOnly,
8649 charset,
8650 valueSideChannel
8651 ));
8652 }
8653
8654 return values;
8655 };
8656
8657 var normalizeStringifyOptions = function normalizeStringifyOptions(opts) {
8658 if (!opts) {
8659 return defaults;
8660 }
8661
8662 if (opts.encoder !== null && opts.encoder !== undefined && typeof opts.encoder !== 'function') {
8663 throw new TypeError('Encoder has to be a function.');
8664 }
8665
8666 var charset = opts.charset || defaults.charset;
8667 if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
8668 throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
8669 }
8670
8671 var format = formats['default'];
8672 if (typeof opts.format !== 'undefined') {
8673 if (!has.call(formats.formatters, opts.format)) {
8674 throw new TypeError('Unknown format option provided.');
8675 }
8676 format = opts.format;
8677 }
8678 var formatter = formats.formatters[format];
8679
8680 var filter = defaults.filter;
8681 if (typeof opts.filter === 'function' || isArray(opts.filter)) {
8682 filter = opts.filter;
8683 }
8684
8685 return {
8686 addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,
8687 allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
8688 charset: charset,
8689 charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
8690 delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,
8691 encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,
8692 encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,
8693 encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
8694 filter: filter,
8695 format: format,
8696 formatter: formatter,
8697 serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,
8698 skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,
8699 sort: typeof opts.sort === 'function' ? opts.sort : null,
8700 strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
8701 };
8702 };
8703
8704 module.exports = function (object, opts) {
8705 var obj = object;
8706 var options = normalizeStringifyOptions(opts);
8707
8708 var objKeys;
8709 var filter;
8710
8711 if (typeof options.filter === 'function') {
8712 filter = options.filter;
8713 obj = filter('', obj);
8714 } else if (isArray(options.filter)) {
8715 filter = options.filter;
8716 objKeys = filter;
8717 }
8718
8719 var keys = [];
8720
8721 if (typeof obj !== 'object' || obj === null) {
8722 return '';
8723 }
8724
8725 var arrayFormat;
8726 if (opts && opts.arrayFormat in arrayPrefixGenerators) {
8727 arrayFormat = opts.arrayFormat;
8728 } else if (opts && 'indices' in opts) {
8729 arrayFormat = opts.indices ? 'indices' : 'repeat';
8730 } else {
8731 arrayFormat = 'indices';
8732 }
8733
8734 var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];
8735
8736 if (!objKeys) {
8737 objKeys = Object.keys(obj);
8738 }
8739
8740 if (options.sort) {
8741 objKeys.sort(options.sort);
8742 }
8743
8744 var sideChannel = getSideChannel();
8745 for (var i = 0; i < objKeys.length; ++i) {
8746 var key = objKeys[i];
8747
8748 if (options.skipNulls && obj[key] === null) {
8749 continue;
8750 }
8751 pushToArray(keys, stringify(
8752 obj[key],
8753 key,
8754 generateArrayPrefix,
8755 options.strictNullHandling,
8756 options.skipNulls,
8757 options.encode ? options.encoder : null,
8758 options.filter,
8759 options.sort,
8760 options.allowDots,
8761 options.serializeDate,
8762 options.format,
8763 options.formatter,
8764 options.encodeValuesOnly,
8765 options.charset,
8766 sideChannel
8767 ));
8768 }
8769
8770 var joined = keys.join(options.delimiter);
8771 var prefix = options.addQueryPrefix === true ? '?' : '';
8772
8773 if (options.charsetSentinel) {
8774 if (options.charset === 'iso-8859-1') {
8775 // encodeURIComponent('&#10003;'), the "numeric entity" representation of a checkmark
8776 prefix += 'utf8=%26%2310003%3B&';
8777 } else {
8778 // encodeURIComponent('✓')
8779 prefix += 'utf8=%E2%9C%93&';
8780 }
8781 }
8782
8783 return joined.length > 0 ? prefix + joined : '';
8784 };
8785
8786
8787 /***/ }),
8788
8789 /***/ 12769:
8790 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
8791
8792 "use strict";
8793
8794
8795 var formats = __webpack_require__(55798);
8796
8797 var has = Object.prototype.hasOwnProperty;
8798 var isArray = Array.isArray;
8799
8800 var hexTable = (function () {
8801 var array = [];
8802 for (var i = 0; i < 256; ++i) {
8803 array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());
8804 }
8805
8806 return array;
8807 }());
8808
8809 var compactQueue = function compactQueue(queue) {
8810 while (queue.length > 1) {
8811 var item = queue.pop();
8812 var obj = item.obj[item.prop];
8813
8814 if (isArray(obj)) {
8815 var compacted = [];
8816
8817 for (var j = 0; j < obj.length; ++j) {
8818 if (typeof obj[j] !== 'undefined') {
8819 compacted.push(obj[j]);
8820 }
8821 }
8822
8823 item.obj[item.prop] = compacted;
8824 }
8825 }
8826 };
8827
8828 var arrayToObject = function arrayToObject(source, options) {
8829 var obj = options && options.plainObjects ? Object.create(null) : {};
8830 for (var i = 0; i < source.length; ++i) {
8831 if (typeof source[i] !== 'undefined') {
8832 obj[i] = source[i];
8833 }
8834 }
8835
8836 return obj;
8837 };
8838
8839 var merge = function merge(target, source, options) {
8840 /* eslint no-param-reassign: 0 */
8841 if (!source) {
8842 return target;
8843 }
8844
8845 if (typeof source !== 'object') {
8846 if (isArray(target)) {
8847 target.push(source);
8848 } else if (target && typeof target === 'object') {
8849 if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {
8850 target[source] = true;
8851 }
8852 } else {
8853 return [target, source];
8854 }
8855
8856 return target;
8857 }
8858
8859 if (!target || typeof target !== 'object') {
8860 return [target].concat(source);
8861 }
8862
8863 var mergeTarget = target;
8864 if (isArray(target) && !isArray(source)) {
8865 mergeTarget = arrayToObject(target, options);
8866 }
8867
8868 if (isArray(target) && isArray(source)) {
8869 source.forEach(function (item, i) {
8870 if (has.call(target, i)) {
8871 var targetItem = target[i];
8872 if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {
8873 target[i] = merge(targetItem, item, options);
8874 } else {
8875 target.push(item);
8876 }
8877 } else {
8878 target[i] = item;
8879 }
8880 });
8881 return target;
8882 }
8883
8884 return Object.keys(source).reduce(function (acc, key) {
8885 var value = source[key];
8886
8887 if (has.call(acc, key)) {
8888 acc[key] = merge(acc[key], value, options);
8889 } else {
8890 acc[key] = value;
8891 }
8892 return acc;
8893 }, mergeTarget);
8894 };
8895
8896 var assign = function assignSingleSource(target, source) {
8897 return Object.keys(source).reduce(function (acc, key) {
8898 acc[key] = source[key];
8899 return acc;
8900 }, target);
8901 };
8902
8903 var decode = function (str, decoder, charset) {
8904 var strWithoutPlus = str.replace(/\+/g, ' ');
8905 if (charset === 'iso-8859-1') {
8906 // unescape never throws, no try...catch needed:
8907 return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
8908 }
8909 // utf-8
8910 try {
8911 return decodeURIComponent(strWithoutPlus);
8912 } catch (e) {
8913 return strWithoutPlus;
8914 }
8915 };
8916
8917 var encode = function encode(str, defaultEncoder, charset, kind, format) {
8918 // This code was originally written by Brian White (mscdex) for the io.js core querystring library.
8919 // It has been adapted here for stricter adherence to RFC 3986
8920 if (str.length === 0) {
8921 return str;
8922 }
8923
8924 var string = str;
8925 if (typeof str === 'symbol') {
8926 string = Symbol.prototype.toString.call(str);
8927 } else if (typeof str !== 'string') {
8928 string = String(str);
8929 }
8930
8931 if (charset === 'iso-8859-1') {
8932 return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {
8933 return '%26%23' + parseInt($0.slice(2), 16) + '%3B';
8934 });
8935 }
8936
8937 var out = '';
8938 for (var i = 0; i < string.length; ++i) {
8939 var c = string.charCodeAt(i);
8940
8941 if (
8942 c === 0x2D // -
8943 || c === 0x2E // .
8944 || c === 0x5F // _
8945 || c === 0x7E // ~
8946 || (c >= 0x30 && c <= 0x39) // 0-9
8947 || (c >= 0x41 && c <= 0x5A) // a-z
8948 || (c >= 0x61 && c <= 0x7A) // A-Z
8949 || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )
8950 ) {
8951 out += string.charAt(i);
8952 continue;
8953 }
8954
8955 if (c < 0x80) {
8956 out = out + hexTable[c];
8957 continue;
8958 }
8959
8960 if (c < 0x800) {
8961 out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);
8962 continue;
8963 }
8964
8965 if (c < 0xD800 || c >= 0xE000) {
8966 out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);
8967 continue;
8968 }
8969
8970 i += 1;
8971 c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));
8972 out += hexTable[0xF0 | (c >> 18)]
8973 + hexTable[0x80 | ((c >> 12) & 0x3F)]
8974 + hexTable[0x80 | ((c >> 6) & 0x3F)]
8975 + hexTable[0x80 | (c & 0x3F)];
8976 }
8977
8978 return out;
8979 };
8980
8981 var compact = function compact(value) {
8982 var queue = [{ obj: { o: value }, prop: 'o' }];
8983 var refs = [];
8984
8985 for (var i = 0; i < queue.length; ++i) {
8986 var item = queue[i];
8987 var obj = item.obj[item.prop];
8988
8989 var keys = Object.keys(obj);
8990 for (var j = 0; j < keys.length; ++j) {
8991 var key = keys[j];
8992 var val = obj[key];
8993 if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {
8994 queue.push({ obj: obj, prop: key });
8995 refs.push(val);
8996 }
8997 }
8998 }
8999
9000 compactQueue(queue);
9001
9002 return value;
9003 };
9004
9005 var isRegExp = function isRegExp(obj) {
9006 return Object.prototype.toString.call(obj) === '[object RegExp]';
9007 };
9008
9009 var isBuffer = function isBuffer(obj) {
9010 if (!obj || typeof obj !== 'object') {
9011 return false;
9012 }
9013
9014 return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
9015 };
9016
9017 var combine = function combine(a, b) {
9018 return [].concat(a, b);
9019 };
9020
9021 var maybeMap = function maybeMap(val, fn) {
9022 if (isArray(val)) {
9023 var mapped = [];
9024 for (var i = 0; i < val.length; i += 1) {
9025 mapped.push(fn(val[i]));
9026 }
9027 return mapped;
9028 }
9029 return fn(val);
9030 };
9031
9032 module.exports = {
9033 arrayToObject: arrayToObject,
9034 assign: assign,
9035 combine: combine,
9036 compact: compact,
9037 decode: decode,
9038 encode: encode,
9039 isBuffer: isBuffer,
9040 isRegExp: isRegExp,
9041 maybeMap: maybeMap,
9042 merge: merge
9043 };
9044
9045
9046 /***/ }),
9047
9048 /***/ 37478:
9049 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
9050
9051 "use strict";
9052
9053
9054 var GetIntrinsic = __webpack_require__(40210);
9055 var callBound = __webpack_require__(21924);
9056 var inspect = __webpack_require__(70631);
9057
9058 var $TypeError = GetIntrinsic('%TypeError%');
9059 var $WeakMap = GetIntrinsic('%WeakMap%', true);
9060 var $Map = GetIntrinsic('%Map%', true);
9061
9062 var $weakMapGet = callBound('WeakMap.prototype.get', true);
9063 var $weakMapSet = callBound('WeakMap.prototype.set', true);
9064 var $weakMapHas = callBound('WeakMap.prototype.has', true);
9065 var $mapGet = callBound('Map.prototype.get', true);
9066 var $mapSet = callBound('Map.prototype.set', true);
9067 var $mapHas = callBound('Map.prototype.has', true);
9068
9069 /*
9070 * This function traverses the list returning the node corresponding to the
9071 * given key.
9072 *
9073 * That node is also moved to the head of the list, so that if it's accessed
9074 * again we don't need to traverse the whole list. By doing so, all the recently
9075 * used nodes can be accessed relatively quickly.
9076 */
9077 var listGetNode = function (list, key) { // eslint-disable-line consistent-return
9078 for (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {
9079 if (curr.key === key) {
9080 prev.next = curr.next;
9081 curr.next = list.next;
9082 list.next = curr; // eslint-disable-line no-param-reassign
9083 return curr;
9084 }
9085 }
9086 };
9087
9088 var listGet = function (objects, key) {
9089 var node = listGetNode(objects, key);
9090 return node && node.value;
9091 };
9092 var listSet = function (objects, key, value) {
9093 var node = listGetNode(objects, key);
9094 if (node) {
9095 node.value = value;
9096 } else {
9097 // Prepend the new node to the beginning of the list
9098 objects.next = { // eslint-disable-line no-param-reassign
9099 key: key,
9100 next: objects.next,
9101 value: value
9102 };
9103 }
9104 };
9105 var listHas = function (objects, key) {
9106 return !!listGetNode(objects, key);
9107 };
9108
9109 module.exports = function getSideChannel() {
9110 var $wm;
9111 var $m;
9112 var $o;
9113 var channel = {
9114 assert: function (key) {
9115 if (!channel.has(key)) {
9116 throw new $TypeError('Side channel does not contain ' + inspect(key));
9117 }
9118 },
9119 get: function (key) { // eslint-disable-line consistent-return
9120 if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {
9121 if ($wm) {
9122 return $weakMapGet($wm, key);
9123 }
9124 } else if ($Map) {
9125 if ($m) {
9126 return $mapGet($m, key);
9127 }
9128 } else {
9129 if ($o) { // eslint-disable-line no-lonely-if
9130 return listGet($o, key);
9131 }
9132 }
9133 },
9134 has: function (key) {
9135 if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {
9136 if ($wm) {
9137 return $weakMapHas($wm, key);
9138 }
9139 } else if ($Map) {
9140 if ($m) {
9141 return $mapHas($m, key);
9142 }
9143 } else {
9144 if ($o) { // eslint-disable-line no-lonely-if
9145 return listHas($o, key);
9146 }
9147 }
9148 return false;
9149 },
9150 set: function (key, value) {
9151 if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {
9152 if (!$wm) {
9153 $wm = new $WeakMap();
9154 }
9155 $weakMapSet($wm, key, value);
9156 } else if ($Map) {
9157 if (!$m) {
9158 $m = new $Map();
9159 }
9160 $mapSet($m, key, value);
9161 } else {
9162 if (!$o) {
9163 /*
9164 * Initialize the linked list as an empty node, so that we don't have
9165 * to special-case handling of the first node: we can always refer to
9166 * it as (previous node).next, instead of something like (list).head
9167 */
9168 $o = { key: {}, next: null };
9169 }
9170 listSet($o, key, value);
9171 }
9172 }
9173 };
9174 return channel;
9175 };
9176
9177
9178 /***/ }),
9179
9180 /***/ 67121:
9181 /***/ (function(module, __webpack_exports__, __webpack_require__) {
9182
9183 "use strict";
9184
9185 // EXPORTS
9186 __webpack_require__.d(__webpack_exports__, {
9187 "Z": function() { return /* binding */ es; }
9188 });
9189
9190 ;// CONCATENATED MODULE: ./node_modules/symbol-observable/es/ponyfill.js
9191 function symbolObservablePonyfill(root) {
9192 var result;
9193 var Symbol = root.Symbol;
9194
9195 if (typeof Symbol === 'function') {
9196 if (Symbol.observable) {
9197 result = Symbol.observable;
9198 } else {
9199 result = Symbol('observable');
9200 Symbol.observable = result;
9201 }
9202 } else {
9203 result = '@@observable';
9204 }
9205
9206 return result;
9207 };
9208
9209 ;// CONCATENATED MODULE: ./node_modules/symbol-observable/es/index.js
9210 /* module decorator */ module = __webpack_require__.hmd(module);
9211 /* global window */
9212
9213
9214 var root;
9215
9216 if (typeof self !== 'undefined') {
9217 root = self;
9218 } else if (typeof window !== 'undefined') {
9219 root = window;
9220 } else if (typeof __webpack_require__.g !== 'undefined') {
9221 root = __webpack_require__.g;
9222 } else if (true) {
9223 root = module;
9224 } else {}
9225
9226 var result = symbolObservablePonyfill(root);
9227 /* harmony default export */ var es = (result);
9228
9229
9230 /***/ }),
9231
9232 /***/ 45327:
9233 /***/ (function(module) {
9234
9235 /**
9236 * Convert array of 16 byte values to UUID string format of the form:
9237 * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
9238 */
9239 var byteToHex = [];
9240 for (var i = 0; i < 256; ++i) {
9241 byteToHex[i] = (i + 0x100).toString(16).substr(1);
9242 }
9243
9244 function bytesToUuid(buf, offset) {
9245 var i = offset || 0;
9246 var bth = byteToHex;
9247 // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4
9248 return ([
9249 bth[buf[i++]], bth[buf[i++]],
9250 bth[buf[i++]], bth[buf[i++]], '-',
9251 bth[buf[i++]], bth[buf[i++]], '-',
9252 bth[buf[i++]], bth[buf[i++]], '-',
9253 bth[buf[i++]], bth[buf[i++]], '-',
9254 bth[buf[i++]], bth[buf[i++]],
9255 bth[buf[i++]], bth[buf[i++]],
9256 bth[buf[i++]], bth[buf[i++]]
9257 ]).join('');
9258 }
9259
9260 module.exports = bytesToUuid;
9261
9262
9263 /***/ }),
9264
9265 /***/ 85217:
9266 /***/ (function(module) {
9267
9268 // Unique ID creation requires a high quality random # generator. In the
9269 // browser this is a little complicated due to unknown quality of Math.random()
9270 // and inconsistent support for the `crypto` API. We do the best we can via
9271 // feature-detection
9272
9273 // getRandomValues needs to be invoked in a context where "this" is a Crypto
9274 // implementation. Also, find the complete implementation of crypto on IE11.
9275 var getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||
9276 (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));
9277
9278 if (getRandomValues) {
9279 // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto
9280 var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef
9281
9282 module.exports = function whatwgRNG() {
9283 getRandomValues(rnds8);
9284 return rnds8;
9285 };
9286 } else {
9287 // Math.random()-based (RNG)
9288 //
9289 // If all else fails, use Math.random(). It's fast, but is of unspecified
9290 // quality.
9291 var rnds = new Array(16);
9292
9293 module.exports = function mathRNG() {
9294 for (var i = 0, r; i < 16; i++) {
9295 if ((i & 0x03) === 0) r = Math.random() * 0x100000000;
9296 rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;
9297 }
9298
9299 return rnds;
9300 };
9301 }
9302
9303
9304 /***/ }),
9305
9306 /***/ 71171:
9307 /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
9308
9309 var rng = __webpack_require__(85217);
9310 var bytesToUuid = __webpack_require__(45327);
9311
9312 function v4(options, buf, offset) {
9313 var i = buf && offset || 0;
9314
9315 if (typeof(options) == 'string') {
9316 buf = options === 'binary' ? new Array(16) : null;
9317 options = null;
9318 }
9319 options = options || {};
9320
9321 var rnds = options.random || (options.rng || rng)();
9322
9323 // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
9324 rnds[6] = (rnds[6] & 0x0f) | 0x40;
9325 rnds[8] = (rnds[8] & 0x3f) | 0x80;
9326
9327 // Copy bytes to buffer, if provided
9328 if (buf) {
9329 for (var ii = 0; ii < 16; ++ii) {
9330 buf[i + ii] = rnds[ii];
9331 }
9332 }
9333
9334 return buf || bytesToUuid(rnds);
9335 }
9336
9337 module.exports = v4;
9338
9339
9340 /***/ }),
9341
9342 /***/ 10221:
9343 /***/ (function(module, exports, __webpack_require__) {
9344
9345 "use strict";
9346
9347
9348 Object.defineProperty(exports, "__esModule", ({
9349 value: true
9350 }));
9351 exports.default = isFQDN;
9352
9353 var _assertString = _interopRequireDefault(__webpack_require__(65571));
9354
9355 var _merge = _interopRequireDefault(__webpack_require__(84808));
9356
9357 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9358
9359 var default_fqdn_options = {
9360 require_tld: true,
9361 allow_underscores: false,
9362 allow_trailing_dot: false,
9363 allow_numeric_tld: false,
9364 allow_wildcard: false
9365 };
9366
9367 function isFQDN(str, options) {
9368 (0, _assertString.default)(str);
9369 options = (0, _merge.default)(options, default_fqdn_options);
9370 /* Remove the optional trailing dot before checking validity */
9371
9372 if (options.allow_trailing_dot && str[str.length - 1] === '.') {
9373 str = str.substring(0, str.length - 1);
9374 }
9375 /* Remove the optional wildcard before checking validity */
9376
9377
9378 if (options.allow_wildcard === true && str.indexOf('*.') === 0) {
9379 str = str.substring(2);
9380 }
9381
9382 var parts = str.split('.');
9383 var tld = parts[parts.length - 1];
9384
9385 if (options.require_tld) {
9386 // disallow fqdns without tld
9387 if (parts.length < 2) {
9388 return false;
9389 }
9390
9391 if (!/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
9392 return false;
9393 } // disallow spaces
9394
9395
9396 if (/\s/.test(tld)) {
9397 return false;
9398 }
9399 } // reject numeric TLDs
9400
9401
9402 if (!options.allow_numeric_tld && /^\d+$/.test(tld)) {
9403 return false;
9404 }
9405
9406 return parts.every(function (part) {
9407 if (part.length > 63) {
9408 return false;
9409 }
9410
9411 if (!/^[a-z_\u00a1-\uffff0-9-]+$/i.test(part)) {
9412 return false;
9413 } // disallow full-width chars
9414
9415
9416 if (/[\uff01-\uff5e]/.test(part)) {
9417 return false;
9418 } // disallow parts starting or ending with hyphen
9419
9420
9421 if (/^-|-$/.test(part)) {
9422 return false;
9423 }
9424
9425 if (!options.allow_underscores && /_/.test(part)) {
9426 return false;
9427 }
9428
9429 return true;
9430 });
9431 }
9432
9433 module.exports = exports.default;
9434 module.exports.default = exports.default;
9435
9436 /***/ }),
9437
9438 /***/ 61028:
9439 /***/ (function(module, exports, __webpack_require__) {
9440
9441 "use strict";
9442
9443
9444 Object.defineProperty(exports, "__esModule", ({
9445 value: true
9446 }));
9447 exports.default = isIP;
9448
9449 var _assertString = _interopRequireDefault(__webpack_require__(65571));
9450
9451 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9452
9453 /**
9454 11.3. Examples
9455
9456 The following addresses
9457
9458 fe80::1234 (on the 1st link of the node)
9459 ff02::5678 (on the 5th link of the node)
9460 ff08::9abc (on the 10th organization of the node)
9461
9462 would be represented as follows:
9463
9464 fe80::1234%1
9465 ff02::5678%5
9466 ff08::9abc%10
9467
9468 (Here we assume a natural translation from a zone index to the
9469 <zone_id> part, where the Nth zone of any scope is translated into
9470 "N".)
9471
9472 If we use interface names as <zone_id>, those addresses could also be
9473 represented as follows:
9474
9475 fe80::1234%ne0
9476 ff02::5678%pvc1.3
9477 ff08::9abc%interface10
9478
9479 where the interface "ne0" belongs to the 1st link, "pvc1.3" belongs
9480 to the 5th link, and "interface10" belongs to the 10th organization.
9481 * * */
9482 var IPv4SegmentFormat = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
9483 var IPv4AddressFormat = "(".concat(IPv4SegmentFormat, "[.]){3}").concat(IPv4SegmentFormat);
9484 var IPv4AddressRegExp = new RegExp("^".concat(IPv4AddressFormat, "$"));
9485 var IPv6SegmentFormat = '(?:[0-9a-fA-F]{1,4})';
9486 var IPv6AddressRegExp = new RegExp('^(' + "(?:".concat(IPv6SegmentFormat, ":){7}(?:").concat(IPv6SegmentFormat, "|:)|") + "(?:".concat(IPv6SegmentFormat, ":){6}(?:").concat(IPv4AddressFormat, "|:").concat(IPv6SegmentFormat, "|:)|") + "(?:".concat(IPv6SegmentFormat, ":){5}(?::").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,2}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){4}(?:(:").concat(IPv6SegmentFormat, "){0,1}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,3}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){3}(?:(:").concat(IPv6SegmentFormat, "){0,2}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,4}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){2}(?:(:").concat(IPv6SegmentFormat, "){0,3}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,5}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){1}(?:(:").concat(IPv6SegmentFormat, "){0,4}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,6}|:)|") + "(?::((?::".concat(IPv6SegmentFormat, "){0,5}:").concat(IPv4AddressFormat, "|(?::").concat(IPv6SegmentFormat, "){1,7}|:))") + ')(%[0-9a-zA-Z-.:]{1,})?$');
9487
9488 function isIP(str) {
9489 var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
9490 (0, _assertString.default)(str);
9491 version = String(version);
9492
9493 if (!version) {
9494 return isIP(str, 4) || isIP(str, 6);
9495 }
9496
9497 if (version === '4') {
9498 if (!IPv4AddressRegExp.test(str)) {
9499 return false;
9500 }
9501
9502 var parts = str.split('.').sort(function (a, b) {
9503 return a - b;
9504 });
9505 return parts[3] <= 255;
9506 }
9507
9508 if (version === '6') {
9509 return !!IPv6AddressRegExp.test(str);
9510 }
9511
9512 return false;
9513 }
9514
9515 module.exports = exports.default;
9516 module.exports.default = exports.default;
9517
9518 /***/ }),
9519
9520 /***/ 66823:
9521 /***/ (function(module, exports, __webpack_require__) {
9522
9523 "use strict";
9524
9525
9526 Object.defineProperty(exports, "__esModule", ({
9527 value: true
9528 }));
9529 exports.default = isURL;
9530
9531 var _assertString = _interopRequireDefault(__webpack_require__(65571));
9532
9533 var _isFQDN = _interopRequireDefault(__webpack_require__(10221));
9534
9535 var _isIP = _interopRequireDefault(__webpack_require__(61028));
9536
9537 var _merge = _interopRequireDefault(__webpack_require__(84808));
9538
9539 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9540
9541 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9542
9543 function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9544
9545 function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
9546
9547 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
9548
9549 function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
9550
9551 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9552
9553 /*
9554 options for isURL method
9555
9556 require_protocol - if set as true isURL will return false if protocol is not present in the URL
9557 require_valid_protocol - isURL will check if the URL's protocol is present in the protocols option
9558 protocols - valid protocols can be modified with this option
9559 require_host - if set as false isURL will not check if host is present in the URL
9560 require_port - if set as true isURL will check if port is present in the URL
9561 allow_protocol_relative_urls - if set as true protocol relative URLs will be allowed
9562 validate_length - if set as false isURL will skip string length validation (IE maximum is 2083)
9563
9564 */
9565 var default_url_options = {
9566 protocols: ['http', 'https', 'ftp'],
9567 require_tld: true,
9568 require_protocol: false,
9569 require_host: true,
9570 require_port: false,
9571 require_valid_protocol: true,
9572 allow_underscores: false,
9573 allow_trailing_dot: false,
9574 allow_protocol_relative_urls: false,
9575 allow_fragments: true,
9576 allow_query_components: true,
9577 validate_length: true
9578 };
9579 var wrapped_ipv6 = /^\[([^\]]+)\](?::([0-9]+))?$/;
9580
9581 function isRegExp(obj) {
9582 return Object.prototype.toString.call(obj) === '[object RegExp]';
9583 }
9584
9585 function checkHost(host, matches) {
9586 for (var i = 0; i < matches.length; i++) {
9587 var match = matches[i];
9588
9589 if (host === match || isRegExp(match) && match.test(host)) {
9590 return true;
9591 }
9592 }
9593
9594 return false;
9595 }
9596
9597 function isURL(url, options) {
9598 (0, _assertString.default)(url);
9599
9600 if (!url || /[\s<>]/.test(url)) {
9601 return false;
9602 }
9603
9604 if (url.indexOf('mailto:') === 0) {
9605 return false;
9606 }
9607
9608 options = (0, _merge.default)(options, default_url_options);
9609
9610 if (options.validate_length && url.length >= 2083) {
9611 return false;
9612 }
9613
9614 if (!options.allow_fragments && url.includes('#')) {
9615 return false;
9616 }
9617
9618 if (!options.allow_query_components && (url.includes('?') || url.includes('&'))) {
9619 return false;
9620 }
9621
9622 var protocol, auth, host, hostname, port, port_str, split, ipv6;
9623 split = url.split('#');
9624 url = split.shift();
9625 split = url.split('?');
9626 url = split.shift();
9627 split = url.split('://');
9628
9629 if (split.length > 1) {
9630 protocol = split.shift().toLowerCase();
9631
9632 if (options.require_valid_protocol && options.protocols.indexOf(protocol) === -1) {
9633 return false;
9634 }
9635 } else if (options.require_protocol) {
9636 return false;
9637 } else if (url.substr(0, 2) === '//') {
9638 if (!options.allow_protocol_relative_urls) {
9639 return false;
9640 }
9641
9642 split[0] = url.substr(2);
9643 }
9644
9645 url = split.join('://');
9646
9647 if (url === '') {
9648 return false;
9649 }
9650
9651 split = url.split('/');
9652 url = split.shift();
9653
9654 if (url === '' && !options.require_host) {
9655 return true;
9656 }
9657
9658 split = url.split('@');
9659
9660 if (split.length > 1) {
9661 if (options.disallow_auth) {
9662 return false;
9663 }
9664
9665 if (split[0] === '') {
9666 return false;
9667 }
9668
9669 auth = split.shift();
9670
9671 if (auth.indexOf(':') >= 0 && auth.split(':').length > 2) {
9672 return false;
9673 }
9674
9675 var _auth$split = auth.split(':'),
9676 _auth$split2 = _slicedToArray(_auth$split, 2),
9677 user = _auth$split2[0],
9678 password = _auth$split2[1];
9679
9680 if (user === '' && password === '') {
9681 return false;
9682 }
9683 }
9684
9685 hostname = split.join('@');
9686 port_str = null;
9687 ipv6 = null;
9688 var ipv6_match = hostname.match(wrapped_ipv6);
9689
9690 if (ipv6_match) {
9691 host = '';
9692 ipv6 = ipv6_match[1];
9693 port_str = ipv6_match[2] || null;
9694 } else {
9695 split = hostname.split(':');
9696 host = split.shift();
9697
9698 if (split.length) {
9699 port_str = split.join(':');
9700 }
9701 }
9702
9703 if (port_str !== null && port_str.length > 0) {
9704 port = parseInt(port_str, 10);
9705
9706 if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {
9707 return false;
9708 }
9709 } else if (options.require_port) {
9710 return false;
9711 }
9712
9713 if (options.host_whitelist) {
9714 return checkHost(host, options.host_whitelist);
9715 }
9716
9717 if (!(0, _isIP.default)(host) && !(0, _isFQDN.default)(host, options) && (!ipv6 || !(0, _isIP.default)(ipv6, 6))) {
9718 return false;
9719 }
9720
9721 host = host || ipv6;
9722
9723 if (options.host_blacklist && checkHost(host, options.host_blacklist)) {
9724 return false;
9725 }
9726
9727 return true;
9728 }
9729
9730 module.exports = exports.default;
9731 module.exports.default = exports.default;
9732
9733 /***/ }),
9734
9735 /***/ 65571:
9736 /***/ (function(module, exports) {
9737
9738 "use strict";
9739
9740
9741 Object.defineProperty(exports, "__esModule", ({
9742 value: true
9743 }));
9744 exports.default = assertString;
9745
9746 function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
9747
9748 function assertString(input) {
9749 var isString = typeof input === 'string' || input instanceof String;
9750
9751 if (!isString) {
9752 var invalidType = _typeof(input);
9753
9754 if (input === null) invalidType = 'null';else if (invalidType === 'object') invalidType = input.constructor.name;
9755 throw new TypeError("Expected a string but received a ".concat(invalidType));
9756 }
9757 }
9758
9759 module.exports = exports.default;
9760 module.exports.default = exports.default;
9761
9762 /***/ }),
9763
9764 /***/ 84808:
9765 /***/ (function(module, exports) {
9766
9767 "use strict";
9768
9769
9770 Object.defineProperty(exports, "__esModule", ({
9771 value: true
9772 }));
9773 exports.default = merge;
9774
9775 function merge() {
9776 var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
9777 var defaults = arguments.length > 1 ? arguments[1] : undefined;
9778
9779 for (var key in defaults) {
9780 if (typeof obj[key] === 'undefined') {
9781 obj[key] = defaults[key];
9782 }
9783 }
9784
9785 return obj;
9786 }
9787
9788 module.exports = exports.default;
9789 module.exports.default = exports.default;
9790
9791 /***/ }),
9792
9793 /***/ 46314:
9794 /***/ (function(module) {
9795
9796 "use strict";
9797 module.exports = JSON.parse('{"button":{"general":{"show_mobile":true,"show_desktop":true,"label":"","action":"#","type":"url","messenger_lang":"en_US","action_new_tab":false},"styling":{"icon":["fas fa-home"],"icon_type":"icon","icon_image":[""],"icon_size":[20],"icon_image_size":[16],"background_is_image":[false],"background_image":[],"border_radius":["50%"],"background_color":["#2f7789","#f08419"],"icon_color":["#fff"],"icon_image_border_radius":[50],"label_background_color":["#4e4c4c"],"label_color":["#fff"],"label_border_radius":["3px"],"label_font_size":[12],"label_margin":["0px 0px 0px 0px"],"label_padding":["5px 15px 5px 15px"],"label_font_family":"","label_spacing":9,"horizontal_position_label":"auto","box_shadow":["0px 2px 6px 1px rgba(0, 0, 0, 0.20)","0px 5px 11px 1px rgba(0, 0, 0, 0.25)"],"box_shadow_enabled":[true],"label_box_shadow_enabled":[false],"label_box_shadow":["0px 0px 0px 0px rgba(0, 0, 0, 1)"]}},"group":{"general":{"horizontal":"right: 5%","vertical":"bottom: 5%","menu_style":"default"},"advanced":{"menu_animation":"none","menu_animation_delay":10,"menu_animation_repeat_count":0,"show_on_schedule_trigger":true,"show_on_rule_trigger":true,"advanced_timeout_once":true,"advanced_scroll_hide":false,"exit_intent_animation":"focused","exit_intent_trigger_amount":"once_page"},"styling":{"group_size":56,"button_size":42,"show_label_mobile":"always","show_label_desktop":"always","label_same_width":false,"label_same_height":false,"label_inside":false,"space":10}},"menu_button":{"general":{"name":"Menu button","type":"opengroup","menu_opening_animation":"default","start_opened":false,"close_on_click_outside":true,"close_on_click_inside":true,"open_on_mouseover":false,"close_on_mouseleave":true},"styling":{"icon":["fas fa-plus"],"icon_size":[25],"icon_image_size":[25],"space":0}}}');
9798
9799 /***/ }),
9800
9801 /***/ 24654:
9802 /***/ (function() {
9803
9804 /* (ignored) */
9805
9806 /***/ })
9807
9808 /******/ });
9809 /************************************************************************/
9810 /******/ // The module cache
9811 /******/ var __webpack_module_cache__ = {};
9812 /******/
9813 /******/ // The require function
9814 /******/ function __webpack_require__(moduleId) {
9815 /******/ // Check if module is in cache
9816 /******/ var cachedModule = __webpack_module_cache__[moduleId];
9817 /******/ if (cachedModule !== undefined) {
9818 /******/ return cachedModule.exports;
9819 /******/ }
9820 /******/ // Create a new module (and put it into the cache)
9821 /******/ var module = __webpack_module_cache__[moduleId] = {
9822 /******/ id: moduleId,
9823 /******/ loaded: false,
9824 /******/ exports: {}
9825 /******/ };
9826 /******/
9827 /******/ // Execute the module function
9828 /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
9829 /******/
9830 /******/ // Flag the module as loaded
9831 /******/ module.loaded = true;
9832 /******/
9833 /******/ // Return the exports of the module
9834 /******/ return module.exports;
9835 /******/ }
9836 /******/
9837 /************************************************************************/
9838 /******/ /* webpack/runtime/compat get default export */
9839 /******/ !function() {
9840 /******/ // getDefaultExport function for compatibility with non-harmony modules
9841 /******/ __webpack_require__.n = function(module) {
9842 /******/ var getter = module && module.__esModule ?
9843 /******/ function() { return module['default']; } :
9844 /******/ function() { return module; };
9845 /******/ __webpack_require__.d(getter, { a: getter });
9846 /******/ return getter;
9847 /******/ };
9848 /******/ }();
9849 /******/
9850 /******/ /* webpack/runtime/define property getters */
9851 /******/ !function() {
9852 /******/ // define getter functions for harmony exports
9853 /******/ __webpack_require__.d = function(exports, definition) {
9854 /******/ for(var key in definition) {
9855 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
9856 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
9857 /******/ }
9858 /******/ }
9859 /******/ };
9860 /******/ }();
9861 /******/
9862 /******/ /* webpack/runtime/global */
9863 /******/ !function() {
9864 /******/ __webpack_require__.g = (function() {
9865 /******/ if (typeof globalThis === 'object') return globalThis;
9866 /******/ try {
9867 /******/ return this || new Function('return this')();
9868 /******/ } catch (e) {
9869 /******/ if (typeof window === 'object') return window;
9870 /******/ }
9871 /******/ })();
9872 /******/ }();
9873 /******/
9874 /******/ /* webpack/runtime/harmony module decorator */
9875 /******/ !function() {
9876 /******/ __webpack_require__.hmd = function(module) {
9877 /******/ module = Object.create(module);
9878 /******/ if (!module.children) module.children = [];
9879 /******/ Object.defineProperty(module, 'exports', {
9880 /******/ enumerable: true,
9881 /******/ set: function() {
9882 /******/ throw new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);
9883 /******/ }
9884 /******/ });
9885 /******/ return module;
9886 /******/ };
9887 /******/ }();
9888 /******/
9889 /******/ /* webpack/runtime/hasOwnProperty shorthand */
9890 /******/ !function() {
9891 /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
9892 /******/ }();
9893 /******/
9894 /******/ /* webpack/runtime/make namespace object */
9895 /******/ !function() {
9896 /******/ // define __esModule on exports
9897 /******/ __webpack_require__.r = function(exports) {
9898 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
9899 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
9900 /******/ }
9901 /******/ Object.defineProperty(exports, '__esModule', { value: true });
9902 /******/ };
9903 /******/ }();
9904 /******/
9905 /******/ /* webpack/runtime/node module decorator */
9906 /******/ !function() {
9907 /******/ __webpack_require__.nmd = function(module) {
9908 /******/ module.paths = [];
9909 /******/ if (!module.children) module.children = [];
9910 /******/ return module;
9911 /******/ };
9912 /******/ }();
9913 /******/
9914 /************************************************************************/
9915 var __webpack_exports__ = {};
9916 // This entry need to be wrapped in an IIFE because it need to be in strict mode.
9917 !function() {
9918 "use strict";
9919
9920 // NAMESPACE OBJECT: ./node_modules/axios/lib/platform/common/utils.js
9921 var common_utils_namespaceObject = {};
9922 __webpack_require__.r(common_utils_namespaceObject);
9923 __webpack_require__.d(common_utils_namespaceObject, {
9924 "hasBrowserEnv": function() { return hasBrowserEnv; },
9925 "hasStandardBrowserEnv": function() { return hasStandardBrowserEnv; },
9926 "hasStandardBrowserWebWorkerEnv": function() { return hasStandardBrowserWebWorkerEnv; },
9927 "navigator": function() { return _navigator; },
9928 "origin": function() { return origin; }
9929 });
9930
9931 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/bind.js
9932
9933
9934 function bind(fn, thisArg) {
9935 return function wrap() {
9936 return fn.apply(thisArg, arguments);
9937 };
9938 }
9939
9940 ;// CONCATENATED MODULE: ./node_modules/axios/lib/utils.js
9941
9942
9943
9944
9945 // utils is a library of generic helper functions non-specific to axios
9946
9947 const {toString: utils_toString} = Object.prototype;
9948 const {getPrototypeOf} = Object;
9949 const {iterator, toStringTag} = Symbol;
9950
9951 const kindOf = (cache => thing => {
9952 const str = utils_toString.call(thing);
9953 return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());
9954 })(Object.create(null));
9955
9956 const kindOfTest = (type) => {
9957 type = type.toLowerCase();
9958 return (thing) => kindOf(thing) === type
9959 }
9960
9961 const typeOfTest = type => thing => typeof thing === type;
9962
9963 /**
9964 * Determine if a value is an Array
9965 *
9966 * @param {Object} val The value to test
9967 *
9968 * @returns {boolean} True if value is an Array, otherwise false
9969 */
9970 const {isArray} = Array;
9971
9972 /**
9973 * Determine if a value is undefined
9974 *
9975 * @param {*} val The value to test
9976 *
9977 * @returns {boolean} True if the value is undefined, otherwise false
9978 */
9979 const isUndefined = typeOfTest('undefined');
9980
9981 /**
9982 * Determine if a value is a Buffer
9983 *
9984 * @param {*} val The value to test
9985 *
9986 * @returns {boolean} True if value is a Buffer, otherwise false
9987 */
9988 function isBuffer(val) {
9989 return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)
9990 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);
9991 }
9992
9993 /**
9994 * Determine if a value is an ArrayBuffer
9995 *
9996 * @param {*} val The value to test
9997 *
9998 * @returns {boolean} True if value is an ArrayBuffer, otherwise false
9999 */
10000 const isArrayBuffer = kindOfTest('ArrayBuffer');
10001
10002
10003 /**
10004 * Determine if a value is a view on an ArrayBuffer
10005 *
10006 * @param {*} val The value to test
10007 *
10008 * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
10009 */
10010 function isArrayBufferView(val) {
10011 let result;
10012 if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {
10013 result = ArrayBuffer.isView(val);
10014 } else {
10015 result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));
10016 }
10017 return result;
10018 }
10019
10020 /**
10021 * Determine if a value is a String
10022 *
10023 * @param {*} val The value to test
10024 *
10025 * @returns {boolean} True if value is a String, otherwise false
10026 */
10027 const isString = typeOfTest('string');
10028
10029 /**
10030 * Determine if a value is a Function
10031 *
10032 * @param {*} val The value to test
10033 * @returns {boolean} True if value is a Function, otherwise false
10034 */
10035 const isFunction = typeOfTest('function');
10036
10037 /**
10038 * Determine if a value is a Number
10039 *
10040 * @param {*} val The value to test
10041 *
10042 * @returns {boolean} True if value is a Number, otherwise false
10043 */
10044 const isNumber = typeOfTest('number');
10045
10046 /**
10047 * Determine if a value is an Object
10048 *
10049 * @param {*} thing The value to test
10050 *
10051 * @returns {boolean} True if value is an Object, otherwise false
10052 */
10053 const isObject = (thing) => thing !== null && typeof thing === 'object';
10054
10055 /**
10056 * Determine if a value is a Boolean
10057 *
10058 * @param {*} thing The value to test
10059 * @returns {boolean} True if value is a Boolean, otherwise false
10060 */
10061 const isBoolean = thing => thing === true || thing === false;
10062
10063 /**
10064 * Determine if a value is a plain Object
10065 *
10066 * @param {*} val The value to test
10067 *
10068 * @returns {boolean} True if value is a plain Object, otherwise false
10069 */
10070 const isPlainObject = (val) => {
10071 if (kindOf(val) !== 'object') {
10072 return false;
10073 }
10074
10075 const prototype = getPrototypeOf(val);
10076 return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);
10077 }
10078
10079 /**
10080 * Determine if a value is a Date
10081 *
10082 * @param {*} val The value to test
10083 *
10084 * @returns {boolean} True if value is a Date, otherwise false
10085 */
10086 const isDate = kindOfTest('Date');
10087
10088 /**
10089 * Determine if a value is a File
10090 *
10091 * @param {*} val The value to test
10092 *
10093 * @returns {boolean} True if value is a File, otherwise false
10094 */
10095 const isFile = kindOfTest('File');
10096
10097 /**
10098 * Determine if a value is a Blob
10099 *
10100 * @param {*} val The value to test
10101 *
10102 * @returns {boolean} True if value is a Blob, otherwise false
10103 */
10104 const isBlob = kindOfTest('Blob');
10105
10106 /**
10107 * Determine if a value is a FileList
10108 *
10109 * @param {*} val The value to test
10110 *
10111 * @returns {boolean} True if value is a File, otherwise false
10112 */
10113 const isFileList = kindOfTest('FileList');
10114
10115 /**
10116 * Determine if a value is a Stream
10117 *
10118 * @param {*} val The value to test
10119 *
10120 * @returns {boolean} True if value is a Stream, otherwise false
10121 */
10122 const isStream = (val) => isObject(val) && isFunction(val.pipe);
10123
10124 /**
10125 * Determine if a value is a FormData
10126 *
10127 * @param {*} thing The value to test
10128 *
10129 * @returns {boolean} True if value is an FormData, otherwise false
10130 */
10131 const isFormData = (thing) => {
10132 let kind;
10133 return thing && (
10134 (typeof FormData === 'function' && thing instanceof FormData) || (
10135 isFunction(thing.append) && (
10136 (kind = kindOf(thing)) === 'formdata' ||
10137 // detect form-data instance
10138 (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')
10139 )
10140 )
10141 )
10142 }
10143
10144 /**
10145 * Determine if a value is a URLSearchParams object
10146 *
10147 * @param {*} val The value to test
10148 *
10149 * @returns {boolean} True if value is a URLSearchParams object, otherwise false
10150 */
10151 const isURLSearchParams = kindOfTest('URLSearchParams');
10152
10153 const [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);
10154
10155 /**
10156 * Trim excess whitespace off the beginning and end of a string
10157 *
10158 * @param {String} str The String to trim
10159 *
10160 * @returns {String} The String freed of excess whitespace
10161 */
10162 const trim = (str) => str.trim ?
10163 str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
10164
10165 /**
10166 * Iterate over an Array or an Object invoking a function for each item.
10167 *
10168 * If `obj` is an Array callback will be called passing
10169 * the value, index, and complete array for each item.
10170 *
10171 * If 'obj' is an Object callback will be called passing
10172 * the value, key, and complete object for each property.
10173 *
10174 * @param {Object|Array} obj The object to iterate
10175 * @param {Function} fn The callback to invoke for each item
10176 *
10177 * @param {Boolean} [allOwnKeys = false]
10178 * @returns {any}
10179 */
10180 function forEach(obj, fn, {allOwnKeys = false} = {}) {
10181 // Don't bother if no value provided
10182 if (obj === null || typeof obj === 'undefined') {
10183 return;
10184 }
10185
10186 let i;
10187 let l;
10188
10189 // Force an array if not already something iterable
10190 if (typeof obj !== 'object') {
10191 /*eslint no-param-reassign:0*/
10192 obj = [obj];
10193 }
10194
10195 if (isArray(obj)) {
10196 // Iterate over array values
10197 for (i = 0, l = obj.length; i < l; i++) {
10198 fn.call(null, obj[i], i, obj);
10199 }
10200 } else {
10201 // Iterate over object keys
10202 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);
10203 const len = keys.length;
10204 let key;
10205
10206 for (i = 0; i < len; i++) {
10207 key = keys[i];
10208 fn.call(null, obj[key], key, obj);
10209 }
10210 }
10211 }
10212
10213 function findKey(obj, key) {
10214 key = key.toLowerCase();
10215 const keys = Object.keys(obj);
10216 let i = keys.length;
10217 let _key;
10218 while (i-- > 0) {
10219 _key = keys[i];
10220 if (key === _key.toLowerCase()) {
10221 return _key;
10222 }
10223 }
10224 return null;
10225 }
10226
10227 const _global = (() => {
10228 /*eslint no-undef:0*/
10229 if (typeof globalThis !== "undefined") return globalThis;
10230 return typeof self !== "undefined" ? self : (typeof window !== 'undefined' ? window : global)
10231 })();
10232
10233 const isContextDefined = (context) => !isUndefined(context) && context !== _global;
10234
10235 /**
10236 * Accepts varargs expecting each argument to be an object, then
10237 * immutably merges the properties of each object and returns result.
10238 *
10239 * When multiple objects contain the same key the later object in
10240 * the arguments list will take precedence.
10241 *
10242 * Example:
10243 *
10244 * ```js
10245 * var result = merge({foo: 123}, {foo: 456});
10246 * console.log(result.foo); // outputs 456
10247 * ```
10248 *
10249 * @param {Object} obj1 Object to merge
10250 *
10251 * @returns {Object} Result of all merge properties
10252 */
10253 function merge(/* obj1, obj2, obj3, ... */) {
10254 const {caseless} = isContextDefined(this) && this || {};
10255 const result = {};
10256 const assignValue = (val, key) => {
10257 const targetKey = caseless && findKey(result, key) || key;
10258 if (isPlainObject(result[targetKey]) && isPlainObject(val)) {
10259 result[targetKey] = merge(result[targetKey], val);
10260 } else if (isPlainObject(val)) {
10261 result[targetKey] = merge({}, val);
10262 } else if (isArray(val)) {
10263 result[targetKey] = val.slice();
10264 } else {
10265 result[targetKey] = val;
10266 }
10267 }
10268
10269 for (let i = 0, l = arguments.length; i < l; i++) {
10270 arguments[i] && forEach(arguments[i], assignValue);
10271 }
10272 return result;
10273 }
10274
10275 /**
10276 * Extends object a by mutably adding to it the properties of object b.
10277 *
10278 * @param {Object} a The object to be extended
10279 * @param {Object} b The object to copy properties from
10280 * @param {Object} thisArg The object to bind function to
10281 *
10282 * @param {Boolean} [allOwnKeys]
10283 * @returns {Object} The resulting value of object a
10284 */
10285 const extend = (a, b, thisArg, {allOwnKeys}= {}) => {
10286 forEach(b, (val, key) => {
10287 if (thisArg && isFunction(val)) {
10288 a[key] = bind(val, thisArg);
10289 } else {
10290 a[key] = val;
10291 }
10292 }, {allOwnKeys});
10293 return a;
10294 }
10295
10296 /**
10297 * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
10298 *
10299 * @param {string} content with BOM
10300 *
10301 * @returns {string} content value without BOM
10302 */
10303 const stripBOM = (content) => {
10304 if (content.charCodeAt(0) === 0xFEFF) {
10305 content = content.slice(1);
10306 }
10307 return content;
10308 }
10309
10310 /**
10311 * Inherit the prototype methods from one constructor into another
10312 * @param {function} constructor
10313 * @param {function} superConstructor
10314 * @param {object} [props]
10315 * @param {object} [descriptors]
10316 *
10317 * @returns {void}
10318 */
10319 const inherits = (constructor, superConstructor, props, descriptors) => {
10320 constructor.prototype = Object.create(superConstructor.prototype, descriptors);
10321 constructor.prototype.constructor = constructor;
10322 Object.defineProperty(constructor, 'super', {
10323 value: superConstructor.prototype
10324 });
10325 props && Object.assign(constructor.prototype, props);
10326 }
10327
10328 /**
10329 * Resolve object with deep prototype chain to a flat object
10330 * @param {Object} sourceObj source object
10331 * @param {Object} [destObj]
10332 * @param {Function|Boolean} [filter]
10333 * @param {Function} [propFilter]
10334 *
10335 * @returns {Object}
10336 */
10337 const toFlatObject = (sourceObj, destObj, filter, propFilter) => {
10338 let props;
10339 let i;
10340 let prop;
10341 const merged = {};
10342
10343 destObj = destObj || {};
10344 // eslint-disable-next-line no-eq-null,eqeqeq
10345 if (sourceObj == null) return destObj;
10346
10347 do {
10348 props = Object.getOwnPropertyNames(sourceObj);
10349 i = props.length;
10350 while (i-- > 0) {
10351 prop = props[i];
10352 if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {
10353 destObj[prop] = sourceObj[prop];
10354 merged[prop] = true;
10355 }
10356 }
10357 sourceObj = filter !== false && getPrototypeOf(sourceObj);
10358 } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);
10359
10360 return destObj;
10361 }
10362
10363 /**
10364 * Determines whether a string ends with the characters of a specified string
10365 *
10366 * @param {String} str
10367 * @param {String} searchString
10368 * @param {Number} [position= 0]
10369 *
10370 * @returns {boolean}
10371 */
10372 const endsWith = (str, searchString, position) => {
10373 str = String(str);
10374 if (position === undefined || position > str.length) {
10375 position = str.length;
10376 }
10377 position -= searchString.length;
10378 const lastIndex = str.indexOf(searchString, position);
10379 return lastIndex !== -1 && lastIndex === position;
10380 }
10381
10382
10383 /**
10384 * Returns new array from array like object or null if failed
10385 *
10386 * @param {*} [thing]
10387 *
10388 * @returns {?Array}
10389 */
10390 const toArray = (thing) => {
10391 if (!thing) return null;
10392 if (isArray(thing)) return thing;
10393 let i = thing.length;
10394 if (!isNumber(i)) return null;
10395 const arr = new Array(i);
10396 while (i-- > 0) {
10397 arr[i] = thing[i];
10398 }
10399 return arr;
10400 }
10401
10402 /**
10403 * Checking if the Uint8Array exists and if it does, it returns a function that checks if the
10404 * thing passed in is an instance of Uint8Array
10405 *
10406 * @param {TypedArray}
10407 *
10408 * @returns {Array}
10409 */
10410 // eslint-disable-next-line func-names
10411 const isTypedArray = (TypedArray => {
10412 // eslint-disable-next-line func-names
10413 return thing => {
10414 return TypedArray && thing instanceof TypedArray;
10415 };
10416 })(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));
10417
10418 /**
10419 * For each entry in the object, call the function with the key and value.
10420 *
10421 * @param {Object<any, any>} obj - The object to iterate over.
10422 * @param {Function} fn - The function to call for each entry.
10423 *
10424 * @returns {void}
10425 */
10426 const forEachEntry = (obj, fn) => {
10427 const generator = obj && obj[iterator];
10428
10429 const _iterator = generator.call(obj);
10430
10431 let result;
10432
10433 while ((result = _iterator.next()) && !result.done) {
10434 const pair = result.value;
10435 fn.call(obj, pair[0], pair[1]);
10436 }
10437 }
10438
10439 /**
10440 * It takes a regular expression and a string, and returns an array of all the matches
10441 *
10442 * @param {string} regExp - The regular expression to match against.
10443 * @param {string} str - The string to search.
10444 *
10445 * @returns {Array<boolean>}
10446 */
10447 const matchAll = (regExp, str) => {
10448 let matches;
10449 const arr = [];
10450
10451 while ((matches = regExp.exec(str)) !== null) {
10452 arr.push(matches);
10453 }
10454
10455 return arr;
10456 }
10457
10458 /* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */
10459 const isHTMLForm = kindOfTest('HTMLFormElement');
10460
10461 const toCamelCase = str => {
10462 return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,
10463 function replacer(m, p1, p2) {
10464 return p1.toUpperCase() + p2;
10465 }
10466 );
10467 };
10468
10469 /* Creating a function that will check if an object has a property. */
10470 const utils_hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);
10471
10472 /**
10473 * Determine if a value is a RegExp object
10474 *
10475 * @param {*} val The value to test
10476 *
10477 * @returns {boolean} True if value is a RegExp object, otherwise false
10478 */
10479 const isRegExp = kindOfTest('RegExp');
10480
10481 const reduceDescriptors = (obj, reducer) => {
10482 const descriptors = Object.getOwnPropertyDescriptors(obj);
10483 const reducedDescriptors = {};
10484
10485 forEach(descriptors, (descriptor, name) => {
10486 let ret;
10487 if ((ret = reducer(descriptor, name, obj)) !== false) {
10488 reducedDescriptors[name] = ret || descriptor;
10489 }
10490 });
10491
10492 Object.defineProperties(obj, reducedDescriptors);
10493 }
10494
10495 /**
10496 * Makes all methods read-only
10497 * @param {Object} obj
10498 */
10499
10500 const freezeMethods = (obj) => {
10501 reduceDescriptors(obj, (descriptor, name) => {
10502 // skip restricted props in strict mode
10503 if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {
10504 return false;
10505 }
10506
10507 const value = obj[name];
10508
10509 if (!isFunction(value)) return;
10510
10511 descriptor.enumerable = false;
10512
10513 if ('writable' in descriptor) {
10514 descriptor.writable = false;
10515 return;
10516 }
10517
10518 if (!descriptor.set) {
10519 descriptor.set = () => {
10520 throw Error('Can not rewrite read-only method \'' + name + '\'');
10521 };
10522 }
10523 });
10524 }
10525
10526 const toObjectSet = (arrayOrString, delimiter) => {
10527 const obj = {};
10528
10529 const define = (arr) => {
10530 arr.forEach(value => {
10531 obj[value] = true;
10532 });
10533 }
10534
10535 isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));
10536
10537 return obj;
10538 }
10539
10540 const noop = () => {}
10541
10542 const toFiniteNumber = (value, defaultValue) => {
10543 return value != null && Number.isFinite(value = +value) ? value : defaultValue;
10544 }
10545
10546 /**
10547 * If the thing is a FormData object, return true, otherwise return false.
10548 *
10549 * @param {unknown} thing - The thing to check.
10550 *
10551 * @returns {boolean}
10552 */
10553 function isSpecCompliantForm(thing) {
10554 return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);
10555 }
10556
10557 const toJSONObject = (obj) => {
10558 const stack = new Array(10);
10559
10560 const visit = (source, i) => {
10561
10562 if (isObject(source)) {
10563 if (stack.indexOf(source) >= 0) {
10564 return;
10565 }
10566
10567 if(!('toJSON' in source)) {
10568 stack[i] = source;
10569 const target = isArray(source) ? [] : {};
10570
10571 forEach(source, (value, key) => {
10572 const reducedValue = visit(value, i + 1);
10573 !isUndefined(reducedValue) && (target[key] = reducedValue);
10574 });
10575
10576 stack[i] = undefined;
10577
10578 return target;
10579 }
10580 }
10581
10582 return source;
10583 }
10584
10585 return visit(obj, 0);
10586 }
10587
10588 const isAsyncFn = kindOfTest('AsyncFunction');
10589
10590 const isThenable = (thing) =>
10591 thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);
10592
10593 // original code
10594 // https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34
10595
10596 const _setImmediate = ((setImmediateSupported, postMessageSupported) => {
10597 if (setImmediateSupported) {
10598 return setImmediate;
10599 }
10600
10601 return postMessageSupported ? ((token, callbacks) => {
10602 _global.addEventListener("message", ({source, data}) => {
10603 if (source === _global && data === token) {
10604 callbacks.length && callbacks.shift()();
10605 }
10606 }, false);
10607
10608 return (cb) => {
10609 callbacks.push(cb);
10610 _global.postMessage(token, "*");
10611 }
10612 })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);
10613 })(
10614 typeof setImmediate === 'function',
10615 isFunction(_global.postMessage)
10616 );
10617
10618 const asap = typeof queueMicrotask !== 'undefined' ?
10619 queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);
10620
10621 // *********************
10622
10623
10624 const isIterable = (thing) => thing != null && isFunction(thing[iterator]);
10625
10626
10627 /* harmony default export */ var utils = ({
10628 isArray,
10629 isArrayBuffer,
10630 isBuffer,
10631 isFormData,
10632 isArrayBufferView,
10633 isString,
10634 isNumber,
10635 isBoolean,
10636 isObject,
10637 isPlainObject,
10638 isReadableStream,
10639 isRequest,
10640 isResponse,
10641 isHeaders,
10642 isUndefined,
10643 isDate,
10644 isFile,
10645 isBlob,
10646 isRegExp,
10647 isFunction,
10648 isStream,
10649 isURLSearchParams,
10650 isTypedArray,
10651 isFileList,
10652 forEach,
10653 merge,
10654 extend,
10655 trim,
10656 stripBOM,
10657 inherits,
10658 toFlatObject,
10659 kindOf,
10660 kindOfTest,
10661 endsWith,
10662 toArray,
10663 forEachEntry,
10664 matchAll,
10665 isHTMLForm,
10666 hasOwnProperty: utils_hasOwnProperty,
10667 hasOwnProp: utils_hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection
10668 reduceDescriptors,
10669 freezeMethods,
10670 toObjectSet,
10671 toCamelCase,
10672 noop,
10673 toFiniteNumber,
10674 findKey,
10675 global: _global,
10676 isContextDefined,
10677 isSpecCompliantForm,
10678 toJSONObject,
10679 isAsyncFn,
10680 isThenable,
10681 setImmediate: _setImmediate,
10682 asap,
10683 isIterable
10684 });
10685
10686 ;// CONCATENATED MODULE: ./node_modules/axios/lib/core/AxiosError.js
10687
10688
10689
10690
10691 /**
10692 * Create an Error with the specified message, config, error code, request and response.
10693 *
10694 * @param {string} message The error message.
10695 * @param {string} [code] The error code (for example, 'ECONNABORTED').
10696 * @param {Object} [config] The config.
10697 * @param {Object} [request] The request.
10698 * @param {Object} [response] The response.
10699 *
10700 * @returns {Error} The created error.
10701 */
10702 function AxiosError(message, code, config, request, response) {
10703 Error.call(this);
10704
10705 if (Error.captureStackTrace) {
10706 Error.captureStackTrace(this, this.constructor);
10707 } else {
10708 this.stack = (new Error()).stack;
10709 }
10710
10711 this.message = message;
10712 this.name = 'AxiosError';
10713 code && (this.code = code);
10714 config && (this.config = config);
10715 request && (this.request = request);
10716 if (response) {
10717 this.response = response;
10718 this.status = response.status ? response.status : null;
10719 }
10720 }
10721
10722 utils.inherits(AxiosError, Error, {
10723 toJSON: function toJSON() {
10724 return {
10725 // Standard
10726 message: this.message,
10727 name: this.name,
10728 // Microsoft
10729 description: this.description,
10730 number: this.number,
10731 // Mozilla
10732 fileName: this.fileName,
10733 lineNumber: this.lineNumber,
10734 columnNumber: this.columnNumber,
10735 stack: this.stack,
10736 // Axios
10737 config: utils.toJSONObject(this.config),
10738 code: this.code,
10739 status: this.status
10740 };
10741 }
10742 });
10743
10744 const AxiosError_prototype = AxiosError.prototype;
10745 const descriptors = {};
10746
10747 [
10748 'ERR_BAD_OPTION_VALUE',
10749 'ERR_BAD_OPTION',
10750 'ECONNABORTED',
10751 'ETIMEDOUT',
10752 'ERR_NETWORK',
10753 'ERR_FR_TOO_MANY_REDIRECTS',
10754 'ERR_DEPRECATED',
10755 'ERR_BAD_RESPONSE',
10756 'ERR_BAD_REQUEST',
10757 'ERR_CANCELED',
10758 'ERR_NOT_SUPPORT',
10759 'ERR_INVALID_URL'
10760 // eslint-disable-next-line func-names
10761 ].forEach(code => {
10762 descriptors[code] = {value: code};
10763 });
10764
10765 Object.defineProperties(AxiosError, descriptors);
10766 Object.defineProperty(AxiosError_prototype, 'isAxiosError', {value: true});
10767
10768 // eslint-disable-next-line func-names
10769 AxiosError.from = (error, code, config, request, response, customProps) => {
10770 const axiosError = Object.create(AxiosError_prototype);
10771
10772 utils.toFlatObject(error, axiosError, function filter(obj) {
10773 return obj !== Error.prototype;
10774 }, prop => {
10775 return prop !== 'isAxiosError';
10776 });
10777
10778 AxiosError.call(axiosError, error.message, code, config, request, response);
10779
10780 axiosError.cause = error;
10781
10782 axiosError.name = error.name;
10783
10784 customProps && Object.assign(axiosError, customProps);
10785
10786 return axiosError;
10787 };
10788
10789 /* harmony default export */ var core_AxiosError = (AxiosError);
10790
10791 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/null.js
10792 // eslint-disable-next-line strict
10793 /* harmony default export */ var helpers_null = (null);
10794
10795 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/toFormData.js
10796
10797
10798
10799
10800 // temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored
10801
10802
10803 /**
10804 * Determines if the given thing is a array or js object.
10805 *
10806 * @param {string} thing - The object or array to be visited.
10807 *
10808 * @returns {boolean}
10809 */
10810 function isVisitable(thing) {
10811 return utils.isPlainObject(thing) || utils.isArray(thing);
10812 }
10813
10814 /**
10815 * It removes the brackets from the end of a string
10816 *
10817 * @param {string} key - The key of the parameter.
10818 *
10819 * @returns {string} the key without the brackets.
10820 */
10821 function removeBrackets(key) {
10822 return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;
10823 }
10824
10825 /**
10826 * It takes a path, a key, and a boolean, and returns a string
10827 *
10828 * @param {string} path - The path to the current key.
10829 * @param {string} key - The key of the current object being iterated over.
10830 * @param {string} dots - If true, the key will be rendered with dots instead of brackets.
10831 *
10832 * @returns {string} The path to the current key.
10833 */
10834 function renderKey(path, key, dots) {
10835 if (!path) return key;
10836 return path.concat(key).map(function each(token, i) {
10837 // eslint-disable-next-line no-param-reassign
10838 token = removeBrackets(token);
10839 return !dots && i ? '[' + token + ']' : token;
10840 }).join(dots ? '.' : '');
10841 }
10842
10843 /**
10844 * If the array is an array and none of its elements are visitable, then it's a flat array.
10845 *
10846 * @param {Array<any>} arr - The array to check
10847 *
10848 * @returns {boolean}
10849 */
10850 function isFlatArray(arr) {
10851 return utils.isArray(arr) && !arr.some(isVisitable);
10852 }
10853
10854 const predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {
10855 return /^is[A-Z]/.test(prop);
10856 });
10857
10858 /**
10859 * Convert a data object to FormData
10860 *
10861 * @param {Object} obj
10862 * @param {?Object} [formData]
10863 * @param {?Object} [options]
10864 * @param {Function} [options.visitor]
10865 * @param {Boolean} [options.metaTokens = true]
10866 * @param {Boolean} [options.dots = false]
10867 * @param {?Boolean} [options.indexes = false]
10868 *
10869 * @returns {Object}
10870 **/
10871
10872 /**
10873 * It converts an object into a FormData object
10874 *
10875 * @param {Object<any, any>} obj - The object to convert to form data.
10876 * @param {string} formData - The FormData object to append to.
10877 * @param {Object<string, any>} options
10878 *
10879 * @returns
10880 */
10881 function toFormData(obj, formData, options) {
10882 if (!utils.isObject(obj)) {
10883 throw new TypeError('target must be an object');
10884 }
10885
10886 // eslint-disable-next-line no-param-reassign
10887 formData = formData || new (helpers_null || FormData)();
10888
10889 // eslint-disable-next-line no-param-reassign
10890 options = utils.toFlatObject(options, {
10891 metaTokens: true,
10892 dots: false,
10893 indexes: false
10894 }, false, function defined(option, source) {
10895 // eslint-disable-next-line no-eq-null,eqeqeq
10896 return !utils.isUndefined(source[option]);
10897 });
10898
10899 const metaTokens = options.metaTokens;
10900 // eslint-disable-next-line no-use-before-define
10901 const visitor = options.visitor || defaultVisitor;
10902 const dots = options.dots;
10903 const indexes = options.indexes;
10904 const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;
10905 const useBlob = _Blob && utils.isSpecCompliantForm(formData);
10906
10907 if (!utils.isFunction(visitor)) {
10908 throw new TypeError('visitor must be a function');
10909 }
10910
10911 function convertValue(value) {
10912 if (value === null) return '';
10913
10914 if (utils.isDate(value)) {
10915 return value.toISOString();
10916 }
10917
10918 if (utils.isBoolean(value)) {
10919 return value.toString();
10920 }
10921
10922 if (!useBlob && utils.isBlob(value)) {
10923 throw new core_AxiosError('Blob is not supported. Use a Buffer instead.');
10924 }
10925
10926 if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {
10927 return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);
10928 }
10929
10930 return value;
10931 }
10932
10933 /**
10934 * Default visitor.
10935 *
10936 * @param {*} value
10937 * @param {String|Number} key
10938 * @param {Array<String|Number>} path
10939 * @this {FormData}
10940 *
10941 * @returns {boolean} return true to visit the each prop of the value recursively
10942 */
10943 function defaultVisitor(value, key, path) {
10944 let arr = value;
10945
10946 if (value && !path && typeof value === 'object') {
10947 if (utils.endsWith(key, '{}')) {
10948 // eslint-disable-next-line no-param-reassign
10949 key = metaTokens ? key : key.slice(0, -2);
10950 // eslint-disable-next-line no-param-reassign
10951 value = JSON.stringify(value);
10952 } else if (
10953 (utils.isArray(value) && isFlatArray(value)) ||
10954 ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))
10955 )) {
10956 // eslint-disable-next-line no-param-reassign
10957 key = removeBrackets(key);
10958
10959 arr.forEach(function each(el, index) {
10960 !(utils.isUndefined(el) || el === null) && formData.append(
10961 // eslint-disable-next-line no-nested-ternary
10962 indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),
10963 convertValue(el)
10964 );
10965 });
10966 return false;
10967 }
10968 }
10969
10970 if (isVisitable(value)) {
10971 return true;
10972 }
10973
10974 formData.append(renderKey(path, key, dots), convertValue(value));
10975
10976 return false;
10977 }
10978
10979 const stack = [];
10980
10981 const exposedHelpers = Object.assign(predicates, {
10982 defaultVisitor,
10983 convertValue,
10984 isVisitable
10985 });
10986
10987 function build(value, path) {
10988 if (utils.isUndefined(value)) return;
10989
10990 if (stack.indexOf(value) !== -1) {
10991 throw Error('Circular reference detected in ' + path.join('.'));
10992 }
10993
10994 stack.push(value);
10995
10996 utils.forEach(value, function each(el, key) {
10997 const result = !(utils.isUndefined(el) || el === null) && visitor.call(
10998 formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers
10999 );
11000
11001 if (result === true) {
11002 build(el, path ? path.concat(key) : [key]);
11003 }
11004 });
11005
11006 stack.pop();
11007 }
11008
11009 if (!utils.isObject(obj)) {
11010 throw new TypeError('data must be an object');
11011 }
11012
11013 build(obj);
11014
11015 return formData;
11016 }
11017
11018 /* harmony default export */ var helpers_toFormData = (toFormData);
11019
11020 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/AxiosURLSearchParams.js
11021
11022
11023
11024
11025 /**
11026 * It encodes a string by replacing all characters that are not in the unreserved set with
11027 * their percent-encoded equivalents
11028 *
11029 * @param {string} str - The string to encode.
11030 *
11031 * @returns {string} The encoded string.
11032 */
11033 function encode(str) {
11034 const charMap = {
11035 '!': '%21',
11036 "'": '%27',
11037 '(': '%28',
11038 ')': '%29',
11039 '~': '%7E',
11040 '%20': '+',
11041 '%00': '\x00'
11042 };
11043 return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {
11044 return charMap[match];
11045 });
11046 }
11047
11048 /**
11049 * It takes a params object and converts it to a FormData object
11050 *
11051 * @param {Object<string, any>} params - The parameters to be converted to a FormData object.
11052 * @param {Object<string, any>} options - The options object passed to the Axios constructor.
11053 *
11054 * @returns {void}
11055 */
11056 function AxiosURLSearchParams(params, options) {
11057 this._pairs = [];
11058
11059 params && helpers_toFormData(params, this, options);
11060 }
11061
11062 const AxiosURLSearchParams_prototype = AxiosURLSearchParams.prototype;
11063
11064 AxiosURLSearchParams_prototype.append = function append(name, value) {
11065 this._pairs.push([name, value]);
11066 };
11067
11068 AxiosURLSearchParams_prototype.toString = function toString(encoder) {
11069 const _encode = encoder ? function(value) {
11070 return encoder.call(this, value, encode);
11071 } : encode;
11072
11073 return this._pairs.map(function each(pair) {
11074 return _encode(pair[0]) + '=' + _encode(pair[1]);
11075 }, '').join('&');
11076 };
11077
11078 /* harmony default export */ var helpers_AxiosURLSearchParams = (AxiosURLSearchParams);
11079
11080 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/buildURL.js
11081
11082
11083
11084
11085
11086 /**
11087 * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their
11088 * URI encoded counterparts
11089 *
11090 * @param {string} val The value to be encoded.
11091 *
11092 * @returns {string} The encoded value.
11093 */
11094 function buildURL_encode(val) {
11095 return encodeURIComponent(val).
11096 replace(/%3A/gi, ':').
11097 replace(/%24/g, '$').
11098 replace(/%2C/gi, ',').
11099 replace(/%20/g, '+').
11100 replace(/%5B/gi, '[').
11101 replace(/%5D/gi, ']');
11102 }
11103
11104 /**
11105 * Build a URL by appending params to the end
11106 *
11107 * @param {string} url The base of the url (e.g., http://www.google.com)
11108 * @param {object} [params] The params to be appended
11109 * @param {?(object|Function)} options
11110 *
11111 * @returns {string} The formatted url
11112 */
11113 function buildURL(url, params, options) {
11114 /*eslint no-param-reassign:0*/
11115 if (!params) {
11116 return url;
11117 }
11118
11119 const _encode = options && options.encode || buildURL_encode;
11120
11121 if (utils.isFunction(options)) {
11122 options = {
11123 serialize: options
11124 };
11125 }
11126
11127 const serializeFn = options && options.serialize;
11128
11129 let serializedParams;
11130
11131 if (serializeFn) {
11132 serializedParams = serializeFn(params, options);
11133 } else {
11134 serializedParams = utils.isURLSearchParams(params) ?
11135 params.toString() :
11136 new helpers_AxiosURLSearchParams(params, options).toString(_encode);
11137 }
11138
11139 if (serializedParams) {
11140 const hashmarkIndex = url.indexOf("#");
11141
11142 if (hashmarkIndex !== -1) {
11143 url = url.slice(0, hashmarkIndex);
11144 }
11145 url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
11146 }
11147
11148 return url;
11149 }
11150
11151 ;// CONCATENATED MODULE: ./node_modules/axios/lib/core/InterceptorManager.js
11152
11153
11154
11155
11156 class InterceptorManager {
11157 constructor() {
11158 this.handlers = [];
11159 }
11160
11161 /**
11162 * Add a new interceptor to the stack
11163 *
11164 * @param {Function} fulfilled The function to handle `then` for a `Promise`
11165 * @param {Function} rejected The function to handle `reject` for a `Promise`
11166 *
11167 * @return {Number} An ID used to remove interceptor later
11168 */
11169 use(fulfilled, rejected, options) {
11170 this.handlers.push({
11171 fulfilled,
11172 rejected,
11173 synchronous: options ? options.synchronous : false,
11174 runWhen: options ? options.runWhen : null
11175 });
11176 return this.handlers.length - 1;
11177 }
11178
11179 /**
11180 * Remove an interceptor from the stack
11181 *
11182 * @param {Number} id The ID that was returned by `use`
11183 *
11184 * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise
11185 */
11186 eject(id) {
11187 if (this.handlers[id]) {
11188 this.handlers[id] = null;
11189 }
11190 }
11191
11192 /**
11193 * Clear all interceptors from the stack
11194 *
11195 * @returns {void}
11196 */
11197 clear() {
11198 if (this.handlers) {
11199 this.handlers = [];
11200 }
11201 }
11202
11203 /**
11204 * Iterate over all the registered interceptors
11205 *
11206 * This method is particularly useful for skipping over any
11207 * interceptors that may have become `null` calling `eject`.
11208 *
11209 * @param {Function} fn The function to call for each interceptor
11210 *
11211 * @returns {void}
11212 */
11213 forEach(fn) {
11214 utils.forEach(this.handlers, function forEachHandler(h) {
11215 if (h !== null) {
11216 fn(h);
11217 }
11218 });
11219 }
11220 }
11221
11222 /* harmony default export */ var core_InterceptorManager = (InterceptorManager);
11223
11224 ;// CONCATENATED MODULE: ./node_modules/axios/lib/defaults/transitional.js
11225
11226
11227 /* harmony default export */ var defaults_transitional = ({
11228 silentJSONParsing: true,
11229 forcedJSONParsing: true,
11230 clarifyTimeoutError: false
11231 });
11232
11233 ;// CONCATENATED MODULE: ./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js
11234
11235
11236
11237 /* harmony default export */ var classes_URLSearchParams = (typeof URLSearchParams !== 'undefined' ? URLSearchParams : helpers_AxiosURLSearchParams);
11238
11239 ;// CONCATENATED MODULE: ./node_modules/axios/lib/platform/browser/classes/FormData.js
11240
11241
11242 /* harmony default export */ var classes_FormData = (typeof FormData !== 'undefined' ? FormData : null);
11243
11244 ;// CONCATENATED MODULE: ./node_modules/axios/lib/platform/browser/classes/Blob.js
11245
11246
11247 /* harmony default export */ var classes_Blob = (typeof Blob !== 'undefined' ? Blob : null);
11248
11249 ;// CONCATENATED MODULE: ./node_modules/axios/lib/platform/browser/index.js
11250
11251
11252
11253
11254 /* harmony default export */ var browser = ({
11255 isBrowser: true,
11256 classes: {
11257 URLSearchParams: classes_URLSearchParams,
11258 FormData: classes_FormData,
11259 Blob: classes_Blob
11260 },
11261 protocols: ['http', 'https', 'file', 'blob', 'url', 'data']
11262 });
11263
11264 ;// CONCATENATED MODULE: ./node_modules/axios/lib/platform/common/utils.js
11265 const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';
11266
11267 const _navigator = typeof navigator === 'object' && navigator || undefined;
11268
11269 /**
11270 * Determine if we're running in a standard browser environment
11271 *
11272 * This allows axios to run in a web worker, and react-native.
11273 * Both environments support XMLHttpRequest, but not fully standard globals.
11274 *
11275 * web workers:
11276 * typeof window -> undefined
11277 * typeof document -> undefined
11278 *
11279 * react-native:
11280 * navigator.product -> 'ReactNative'
11281 * nativescript
11282 * navigator.product -> 'NativeScript' or 'NS'
11283 *
11284 * @returns {boolean}
11285 */
11286 const hasStandardBrowserEnv = hasBrowserEnv &&
11287 (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);
11288
11289 /**
11290 * Determine if we're running in a standard browser webWorker environment
11291 *
11292 * Although the `isStandardBrowserEnv` method indicates that
11293 * `allows axios to run in a web worker`, the WebWorker will still be
11294 * filtered out due to its judgment standard
11295 * `typeof window !== 'undefined' && typeof document !== 'undefined'`.
11296 * This leads to a problem when axios post `FormData` in webWorker
11297 */
11298 const hasStandardBrowserWebWorkerEnv = (() => {
11299 return (
11300 typeof WorkerGlobalScope !== 'undefined' &&
11301 // eslint-disable-next-line no-undef
11302 self instanceof WorkerGlobalScope &&
11303 typeof self.importScripts === 'function'
11304 );
11305 })();
11306
11307 const origin = hasBrowserEnv && window.location.href || 'http://localhost';
11308
11309
11310
11311 ;// CONCATENATED MODULE: ./node_modules/axios/lib/platform/index.js
11312
11313
11314
11315 /* harmony default export */ var platform = ({
11316 ...common_utils_namespaceObject,
11317 ...browser
11318 });
11319
11320 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/toURLEncodedForm.js
11321
11322
11323
11324
11325
11326
11327 function toURLEncodedForm(data, options) {
11328 return helpers_toFormData(data, new platform.classes.URLSearchParams(), Object.assign({
11329 visitor: function(value, key, path, helpers) {
11330 if (platform.isNode && utils.isBuffer(value)) {
11331 this.append(key, value.toString('base64'));
11332 return false;
11333 }
11334
11335 return helpers.defaultVisitor.apply(this, arguments);
11336 }
11337 }, options));
11338 }
11339
11340 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/formDataToJSON.js
11341
11342
11343
11344
11345 /**
11346 * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']
11347 *
11348 * @param {string} name - The name of the property to get.
11349 *
11350 * @returns An array of strings.
11351 */
11352 function parsePropPath(name) {
11353 // foo[x][y][z]
11354 // foo.x.y.z
11355 // foo-x-y-z
11356 // foo x y z
11357 return utils.matchAll(/\w+|\[(\w*)]/g, name).map(match => {
11358 return match[0] === '[]' ? '' : match[1] || match[0];
11359 });
11360 }
11361
11362 /**
11363 * Convert an array to an object.
11364 *
11365 * @param {Array<any>} arr - The array to convert to an object.
11366 *
11367 * @returns An object with the same keys and values as the array.
11368 */
11369 function arrayToObject(arr) {
11370 const obj = {};
11371 const keys = Object.keys(arr);
11372 let i;
11373 const len = keys.length;
11374 let key;
11375 for (i = 0; i < len; i++) {
11376 key = keys[i];
11377 obj[key] = arr[key];
11378 }
11379 return obj;
11380 }
11381
11382 /**
11383 * It takes a FormData object and returns a JavaScript object
11384 *
11385 * @param {string} formData The FormData object to convert to JSON.
11386 *
11387 * @returns {Object<string, any> | null} The converted object.
11388 */
11389 function formDataToJSON(formData) {
11390 function buildPath(path, value, target, index) {
11391 let name = path[index++];
11392
11393 if (name === '__proto__') return true;
11394
11395 const isNumericKey = Number.isFinite(+name);
11396 const isLast = index >= path.length;
11397 name = !name && utils.isArray(target) ? target.length : name;
11398
11399 if (isLast) {
11400 if (utils.hasOwnProp(target, name)) {
11401 target[name] = [target[name], value];
11402 } else {
11403 target[name] = value;
11404 }
11405
11406 return !isNumericKey;
11407 }
11408
11409 if (!target[name] || !utils.isObject(target[name])) {
11410 target[name] = [];
11411 }
11412
11413 const result = buildPath(path, value, target[name], index);
11414
11415 if (result && utils.isArray(target[name])) {
11416 target[name] = arrayToObject(target[name]);
11417 }
11418
11419 return !isNumericKey;
11420 }
11421
11422 if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {
11423 const obj = {};
11424
11425 utils.forEachEntry(formData, (name, value) => {
11426 buildPath(parsePropPath(name), value, obj, 0);
11427 });
11428
11429 return obj;
11430 }
11431
11432 return null;
11433 }
11434
11435 /* harmony default export */ var helpers_formDataToJSON = (formDataToJSON);
11436
11437 ;// CONCATENATED MODULE: ./node_modules/axios/lib/defaults/index.js
11438
11439
11440
11441
11442
11443
11444
11445
11446
11447
11448 /**
11449 * It takes a string, tries to parse it, and if it fails, it returns the stringified version
11450 * of the input
11451 *
11452 * @param {any} rawValue - The value to be stringified.
11453 * @param {Function} parser - A function that parses a string into a JavaScript object.
11454 * @param {Function} encoder - A function that takes a value and returns a string.
11455 *
11456 * @returns {string} A stringified version of the rawValue.
11457 */
11458 function stringifySafely(rawValue, parser, encoder) {
11459 if (utils.isString(rawValue)) {
11460 try {
11461 (parser || JSON.parse)(rawValue);
11462 return utils.trim(rawValue);
11463 } catch (e) {
11464 if (e.name !== 'SyntaxError') {
11465 throw e;
11466 }
11467 }
11468 }
11469
11470 return (encoder || JSON.stringify)(rawValue);
11471 }
11472
11473 const defaults = {
11474
11475 transitional: defaults_transitional,
11476
11477 adapter: ['xhr', 'http', 'fetch'],
11478
11479 transformRequest: [function transformRequest(data, headers) {
11480 const contentType = headers.getContentType() || '';
11481 const hasJSONContentType = contentType.indexOf('application/json') > -1;
11482 const isObjectPayload = utils.isObject(data);
11483
11484 if (isObjectPayload && utils.isHTMLForm(data)) {
11485 data = new FormData(data);
11486 }
11487
11488 const isFormData = utils.isFormData(data);
11489
11490 if (isFormData) {
11491 return hasJSONContentType ? JSON.stringify(helpers_formDataToJSON(data)) : data;
11492 }
11493
11494 if (utils.isArrayBuffer(data) ||
11495 utils.isBuffer(data) ||
11496 utils.isStream(data) ||
11497 utils.isFile(data) ||
11498 utils.isBlob(data) ||
11499 utils.isReadableStream(data)
11500 ) {
11501 return data;
11502 }
11503 if (utils.isArrayBufferView(data)) {
11504 return data.buffer;
11505 }
11506 if (utils.isURLSearchParams(data)) {
11507 headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);
11508 return data.toString();
11509 }
11510
11511 let isFileList;
11512
11513 if (isObjectPayload) {
11514 if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {
11515 return toURLEncodedForm(data, this.formSerializer).toString();
11516 }
11517
11518 if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {
11519 const _FormData = this.env && this.env.FormData;
11520
11521 return helpers_toFormData(
11522 isFileList ? {'files[]': data} : data,
11523 _FormData && new _FormData(),
11524 this.formSerializer
11525 );
11526 }
11527 }
11528
11529 if (isObjectPayload || hasJSONContentType ) {
11530 headers.setContentType('application/json', false);
11531 return stringifySafely(data);
11532 }
11533
11534 return data;
11535 }],
11536
11537 transformResponse: [function transformResponse(data) {
11538 const transitional = this.transitional || defaults.transitional;
11539 const forcedJSONParsing = transitional && transitional.forcedJSONParsing;
11540 const JSONRequested = this.responseType === 'json';
11541
11542 if (utils.isResponse(data) || utils.isReadableStream(data)) {
11543 return data;
11544 }
11545
11546 if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {
11547 const silentJSONParsing = transitional && transitional.silentJSONParsing;
11548 const strictJSONParsing = !silentJSONParsing && JSONRequested;
11549
11550 try {
11551 return JSON.parse(data);
11552 } catch (e) {
11553 if (strictJSONParsing) {
11554 if (e.name === 'SyntaxError') {
11555 throw core_AxiosError.from(e, core_AxiosError.ERR_BAD_RESPONSE, this, null, this.response);
11556 }
11557 throw e;
11558 }
11559 }
11560 }
11561
11562 return data;
11563 }],
11564
11565 /**
11566 * A timeout in milliseconds to abort a request. If set to 0 (default) a
11567 * timeout is not created.
11568 */
11569 timeout: 0,
11570
11571 xsrfCookieName: 'XSRF-TOKEN',
11572 xsrfHeaderName: 'X-XSRF-TOKEN',
11573
11574 maxContentLength: -1,
11575 maxBodyLength: -1,
11576
11577 env: {
11578 FormData: platform.classes.FormData,
11579 Blob: platform.classes.Blob
11580 },
11581
11582 validateStatus: function validateStatus(status) {
11583 return status >= 200 && status < 300;
11584 },
11585
11586 headers: {
11587 common: {
11588 'Accept': 'application/json, text/plain, */*',
11589 'Content-Type': undefined
11590 }
11591 }
11592 };
11593
11594 utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {
11595 defaults.headers[method] = {};
11596 });
11597
11598 /* harmony default export */ var lib_defaults = (defaults);
11599
11600 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/parseHeaders.js
11601
11602
11603
11604
11605 // RawAxiosHeaders whose duplicates are ignored by node
11606 // c.f. https://nodejs.org/api/http.html#http_message_headers
11607 const ignoreDuplicateOf = utils.toObjectSet([
11608 'age', 'authorization', 'content-length', 'content-type', 'etag',
11609 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',
11610 'last-modified', 'location', 'max-forwards', 'proxy-authorization',
11611 'referer', 'retry-after', 'user-agent'
11612 ]);
11613
11614 /**
11615 * Parse headers into an object
11616 *
11617 * ```
11618 * Date: Wed, 27 Aug 2014 08:58:49 GMT
11619 * Content-Type: application/json
11620 * Connection: keep-alive
11621 * Transfer-Encoding: chunked
11622 * ```
11623 *
11624 * @param {String} rawHeaders Headers needing to be parsed
11625 *
11626 * @returns {Object} Headers parsed into an object
11627 */
11628 /* harmony default export */ var parseHeaders = (rawHeaders => {
11629 const parsed = {};
11630 let key;
11631 let val;
11632 let i;
11633
11634 rawHeaders && rawHeaders.split('\n').forEach(function parser(line) {
11635 i = line.indexOf(':');
11636 key = line.substring(0, i).trim().toLowerCase();
11637 val = line.substring(i + 1).trim();
11638
11639 if (!key || (parsed[key] && ignoreDuplicateOf[key])) {
11640 return;
11641 }
11642
11643 if (key === 'set-cookie') {
11644 if (parsed[key]) {
11645 parsed[key].push(val);
11646 } else {
11647 parsed[key] = [val];
11648 }
11649 } else {
11650 parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
11651 }
11652 });
11653
11654 return parsed;
11655 });
11656
11657 ;// CONCATENATED MODULE: ./node_modules/axios/lib/core/AxiosHeaders.js
11658
11659
11660
11661
11662
11663 const $internals = Symbol('internals');
11664
11665 function normalizeHeader(header) {
11666 return header && String(header).trim().toLowerCase();
11667 }
11668
11669 function normalizeValue(value) {
11670 if (value === false || value == null) {
11671 return value;
11672 }
11673
11674 return utils.isArray(value) ? value.map(normalizeValue) : String(value);
11675 }
11676
11677 function parseTokens(str) {
11678 const tokens = Object.create(null);
11679 const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
11680 let match;
11681
11682 while ((match = tokensRE.exec(str))) {
11683 tokens[match[1]] = match[2];
11684 }
11685
11686 return tokens;
11687 }
11688
11689 const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());
11690
11691 function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {
11692 if (utils.isFunction(filter)) {
11693 return filter.call(this, value, header);
11694 }
11695
11696 if (isHeaderNameFilter) {
11697 value = header;
11698 }
11699
11700 if (!utils.isString(value)) return;
11701
11702 if (utils.isString(filter)) {
11703 return value.indexOf(filter) !== -1;
11704 }
11705
11706 if (utils.isRegExp(filter)) {
11707 return filter.test(value);
11708 }
11709 }
11710
11711 function formatHeader(header) {
11712 return header.trim()
11713 .toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => {
11714 return char.toUpperCase() + str;
11715 });
11716 }
11717
11718 function buildAccessors(obj, header) {
11719 const accessorName = utils.toCamelCase(' ' + header);
11720
11721 ['get', 'set', 'has'].forEach(methodName => {
11722 Object.defineProperty(obj, methodName + accessorName, {
11723 value: function(arg1, arg2, arg3) {
11724 return this[methodName].call(this, header, arg1, arg2, arg3);
11725 },
11726 configurable: true
11727 });
11728 });
11729 }
11730
11731 class AxiosHeaders {
11732 constructor(headers) {
11733 headers && this.set(headers);
11734 }
11735
11736 set(header, valueOrRewrite, rewrite) {
11737 const self = this;
11738
11739 function setHeader(_value, _header, _rewrite) {
11740 const lHeader = normalizeHeader(_header);
11741
11742 if (!lHeader) {
11743 throw new Error('header name must be a non-empty string');
11744 }
11745
11746 const key = utils.findKey(self, lHeader);
11747
11748 if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {
11749 self[key || _header] = normalizeValue(_value);
11750 }
11751 }
11752
11753 const setHeaders = (headers, _rewrite) =>
11754 utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));
11755
11756 if (utils.isPlainObject(header) || header instanceof this.constructor) {
11757 setHeaders(header, valueOrRewrite)
11758 } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {
11759 setHeaders(parseHeaders(header), valueOrRewrite);
11760 } else if (utils.isObject(header) && utils.isIterable(header)) {
11761 let obj = {}, dest, key;
11762 for (const entry of header) {
11763 if (!utils.isArray(entry)) {
11764 throw TypeError('Object iterator must return a key-value pair');
11765 }
11766
11767 obj[key = entry[0]] = (dest = obj[key]) ?
11768 (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];
11769 }
11770
11771 setHeaders(obj, valueOrRewrite)
11772 } else {
11773 header != null && setHeader(valueOrRewrite, header, rewrite);
11774 }
11775
11776 return this;
11777 }
11778
11779 get(header, parser) {
11780 header = normalizeHeader(header);
11781
11782 if (header) {
11783 const key = utils.findKey(this, header);
11784
11785 if (key) {
11786 const value = this[key];
11787
11788 if (!parser) {
11789 return value;
11790 }
11791
11792 if (parser === true) {
11793 return parseTokens(value);
11794 }
11795
11796 if (utils.isFunction(parser)) {
11797 return parser.call(this, value, key);
11798 }
11799
11800 if (utils.isRegExp(parser)) {
11801 return parser.exec(value);
11802 }
11803
11804 throw new TypeError('parser must be boolean|regexp|function');
11805 }
11806 }
11807 }
11808
11809 has(header, matcher) {
11810 header = normalizeHeader(header);
11811
11812 if (header) {
11813 const key = utils.findKey(this, header);
11814
11815 return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));
11816 }
11817
11818 return false;
11819 }
11820
11821 delete(header, matcher) {
11822 const self = this;
11823 let deleted = false;
11824
11825 function deleteHeader(_header) {
11826 _header = normalizeHeader(_header);
11827
11828 if (_header) {
11829 const key = utils.findKey(self, _header);
11830
11831 if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {
11832 delete self[key];
11833
11834 deleted = true;
11835 }
11836 }
11837 }
11838
11839 if (utils.isArray(header)) {
11840 header.forEach(deleteHeader);
11841 } else {
11842 deleteHeader(header);
11843 }
11844
11845 return deleted;
11846 }
11847
11848 clear(matcher) {
11849 const keys = Object.keys(this);
11850 let i = keys.length;
11851 let deleted = false;
11852
11853 while (i--) {
11854 const key = keys[i];
11855 if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {
11856 delete this[key];
11857 deleted = true;
11858 }
11859 }
11860
11861 return deleted;
11862 }
11863
11864 normalize(format) {
11865 const self = this;
11866 const headers = {};
11867
11868 utils.forEach(this, (value, header) => {
11869 const key = utils.findKey(headers, header);
11870
11871 if (key) {
11872 self[key] = normalizeValue(value);
11873 delete self[header];
11874 return;
11875 }
11876
11877 const normalized = format ? formatHeader(header) : String(header).trim();
11878
11879 if (normalized !== header) {
11880 delete self[header];
11881 }
11882
11883 self[normalized] = normalizeValue(value);
11884
11885 headers[normalized] = true;
11886 });
11887
11888 return this;
11889 }
11890
11891 concat(...targets) {
11892 return this.constructor.concat(this, ...targets);
11893 }
11894
11895 toJSON(asStrings) {
11896 const obj = Object.create(null);
11897
11898 utils.forEach(this, (value, header) => {
11899 value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);
11900 });
11901
11902 return obj;
11903 }
11904
11905 [Symbol.iterator]() {
11906 return Object.entries(this.toJSON())[Symbol.iterator]();
11907 }
11908
11909 toString() {
11910 return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\n');
11911 }
11912
11913 getSetCookie() {
11914 return this.get("set-cookie") || [];
11915 }
11916
11917 get [Symbol.toStringTag]() {
11918 return 'AxiosHeaders';
11919 }
11920
11921 static from(thing) {
11922 return thing instanceof this ? thing : new this(thing);
11923 }
11924
11925 static concat(first, ...targets) {
11926 const computed = new this(first);
11927
11928 targets.forEach((target) => computed.set(target));
11929
11930 return computed;
11931 }
11932
11933 static accessor(header) {
11934 const internals = this[$internals] = (this[$internals] = {
11935 accessors: {}
11936 });
11937
11938 const accessors = internals.accessors;
11939 const prototype = this.prototype;
11940
11941 function defineAccessor(_header) {
11942 const lHeader = normalizeHeader(_header);
11943
11944 if (!accessors[lHeader]) {
11945 buildAccessors(prototype, _header);
11946 accessors[lHeader] = true;
11947 }
11948 }
11949
11950 utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);
11951
11952 return this;
11953 }
11954 }
11955
11956 AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);
11957
11958 // reserved names hotfix
11959 utils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {
11960 let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`
11961 return {
11962 get: () => value,
11963 set(headerValue) {
11964 this[mapped] = headerValue;
11965 }
11966 }
11967 });
11968
11969 utils.freezeMethods(AxiosHeaders);
11970
11971 /* harmony default export */ var core_AxiosHeaders = (AxiosHeaders);
11972
11973 ;// CONCATENATED MODULE: ./node_modules/axios/lib/core/transformData.js
11974
11975
11976
11977
11978
11979
11980 /**
11981 * Transform the data for a request or a response
11982 *
11983 * @param {Array|Function} fns A single function or Array of functions
11984 * @param {?Object} response The response object
11985 *
11986 * @returns {*} The resulting transformed data
11987 */
11988 function transformData(fns, response) {
11989 const config = this || lib_defaults;
11990 const context = response || config;
11991 const headers = core_AxiosHeaders.from(context.headers);
11992 let data = context.data;
11993
11994 utils.forEach(fns, function transform(fn) {
11995 data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);
11996 });
11997
11998 headers.normalize();
11999
12000 return data;
12001 }
12002
12003 ;// CONCATENATED MODULE: ./node_modules/axios/lib/cancel/isCancel.js
12004
12005
12006 function isCancel(value) {
12007 return !!(value && value.__CANCEL__);
12008 }
12009
12010 ;// CONCATENATED MODULE: ./node_modules/axios/lib/cancel/CanceledError.js
12011
12012
12013
12014
12015
12016 /**
12017 * A `CanceledError` is an object that is thrown when an operation is canceled.
12018 *
12019 * @param {string=} message The message.
12020 * @param {Object=} config The config.
12021 * @param {Object=} request The request.
12022 *
12023 * @returns {CanceledError} The created error.
12024 */
12025 function CanceledError(message, config, request) {
12026 // eslint-disable-next-line no-eq-null,eqeqeq
12027 core_AxiosError.call(this, message == null ? 'canceled' : message, core_AxiosError.ERR_CANCELED, config, request);
12028 this.name = 'CanceledError';
12029 }
12030
12031 utils.inherits(CanceledError, core_AxiosError, {
12032 __CANCEL__: true
12033 });
12034
12035 /* harmony default export */ var cancel_CanceledError = (CanceledError);
12036
12037 ;// CONCATENATED MODULE: ./node_modules/axios/lib/core/settle.js
12038
12039
12040
12041
12042 /**
12043 * Resolve or reject a Promise based on response status.
12044 *
12045 * @param {Function} resolve A function that resolves the promise.
12046 * @param {Function} reject A function that rejects the promise.
12047 * @param {object} response The response.
12048 *
12049 * @returns {object} The response.
12050 */
12051 function settle(resolve, reject, response) {
12052 const validateStatus = response.config.validateStatus;
12053 if (!response.status || !validateStatus || validateStatus(response.status)) {
12054 resolve(response);
12055 } else {
12056 reject(new core_AxiosError(
12057 'Request failed with status code ' + response.status,
12058 [core_AxiosError.ERR_BAD_REQUEST, core_AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],
12059 response.config,
12060 response.request,
12061 response
12062 ));
12063 }
12064 }
12065
12066 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/parseProtocol.js
12067
12068
12069 function parseProtocol(url) {
12070 const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url);
12071 return match && match[1] || '';
12072 }
12073
12074 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/speedometer.js
12075
12076
12077 /**
12078 * Calculate data maxRate
12079 * @param {Number} [samplesCount= 10]
12080 * @param {Number} [min= 1000]
12081 * @returns {Function}
12082 */
12083 function speedometer(samplesCount, min) {
12084 samplesCount = samplesCount || 10;
12085 const bytes = new Array(samplesCount);
12086 const timestamps = new Array(samplesCount);
12087 let head = 0;
12088 let tail = 0;
12089 let firstSampleTS;
12090
12091 min = min !== undefined ? min : 1000;
12092
12093 return function push(chunkLength) {
12094 const now = Date.now();
12095
12096 const startedAt = timestamps[tail];
12097
12098 if (!firstSampleTS) {
12099 firstSampleTS = now;
12100 }
12101
12102 bytes[head] = chunkLength;
12103 timestamps[head] = now;
12104
12105 let i = tail;
12106 let bytesCount = 0;
12107
12108 while (i !== head) {
12109 bytesCount += bytes[i++];
12110 i = i % samplesCount;
12111 }
12112
12113 head = (head + 1) % samplesCount;
12114
12115 if (head === tail) {
12116 tail = (tail + 1) % samplesCount;
12117 }
12118
12119 if (now - firstSampleTS < min) {
12120 return;
12121 }
12122
12123 const passed = startedAt && now - startedAt;
12124
12125 return passed ? Math.round(bytesCount * 1000 / passed) : undefined;
12126 };
12127 }
12128
12129 /* harmony default export */ var helpers_speedometer = (speedometer);
12130
12131 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/throttle.js
12132 /**
12133 * Throttle decorator
12134 * @param {Function} fn
12135 * @param {Number} freq
12136 * @return {Function}
12137 */
12138 function throttle(fn, freq) {
12139 let timestamp = 0;
12140 let threshold = 1000 / freq;
12141 let lastArgs;
12142 let timer;
12143
12144 const invoke = (args, now = Date.now()) => {
12145 timestamp = now;
12146 lastArgs = null;
12147 if (timer) {
12148 clearTimeout(timer);
12149 timer = null;
12150 }
12151 fn.apply(null, args);
12152 }
12153
12154 const throttled = (...args) => {
12155 const now = Date.now();
12156 const passed = now - timestamp;
12157 if ( passed >= threshold) {
12158 invoke(args, now);
12159 } else {
12160 lastArgs = args;
12161 if (!timer) {
12162 timer = setTimeout(() => {
12163 timer = null;
12164 invoke(lastArgs)
12165 }, threshold - passed);
12166 }
12167 }
12168 }
12169
12170 const flush = () => lastArgs && invoke(lastArgs);
12171
12172 return [throttled, flush];
12173 }
12174
12175 /* harmony default export */ var helpers_throttle = (throttle);
12176
12177 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/progressEventReducer.js
12178
12179
12180
12181
12182 const progressEventReducer = (listener, isDownloadStream, freq = 3) => {
12183 let bytesNotified = 0;
12184 const _speedometer = helpers_speedometer(50, 250);
12185
12186 return helpers_throttle(e => {
12187 const loaded = e.loaded;
12188 const total = e.lengthComputable ? e.total : undefined;
12189 const progressBytes = loaded - bytesNotified;
12190 const rate = _speedometer(progressBytes);
12191 const inRange = loaded <= total;
12192
12193 bytesNotified = loaded;
12194
12195 const data = {
12196 loaded,
12197 total,
12198 progress: total ? (loaded / total) : undefined,
12199 bytes: progressBytes,
12200 rate: rate ? rate : undefined,
12201 estimated: rate && total && inRange ? (total - loaded) / rate : undefined,
12202 event: e,
12203 lengthComputable: total != null,
12204 [isDownloadStream ? 'download' : 'upload']: true
12205 };
12206
12207 listener(data);
12208 }, freq);
12209 }
12210
12211 const progressEventDecorator = (total, throttled) => {
12212 const lengthComputable = total != null;
12213
12214 return [(loaded) => throttled[0]({
12215 lengthComputable,
12216 total,
12217 loaded
12218 }), throttled[1]];
12219 }
12220
12221 const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));
12222
12223 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/isURLSameOrigin.js
12224
12225
12226 /* harmony default export */ var isURLSameOrigin = (platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {
12227 url = new URL(url, platform.origin);
12228
12229 return (
12230 origin.protocol === url.protocol &&
12231 origin.host === url.host &&
12232 (isMSIE || origin.port === url.port)
12233 );
12234 })(
12235 new URL(platform.origin),
12236 platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)
12237 ) : () => true);
12238
12239 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/cookies.js
12240
12241
12242
12243 /* harmony default export */ var cookies = (platform.hasStandardBrowserEnv ?
12244
12245 // Standard browser envs support document.cookie
12246 {
12247 write(name, value, expires, path, domain, secure) {
12248 const cookie = [name + '=' + encodeURIComponent(value)];
12249
12250 utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());
12251
12252 utils.isString(path) && cookie.push('path=' + path);
12253
12254 utils.isString(domain) && cookie.push('domain=' + domain);
12255
12256 secure === true && cookie.push('secure');
12257
12258 document.cookie = cookie.join('; ');
12259 },
12260
12261 read(name) {
12262 const match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
12263 return (match ? decodeURIComponent(match[3]) : null);
12264 },
12265
12266 remove(name) {
12267 this.write(name, '', Date.now() - 86400000);
12268 }
12269 }
12270
12271 :
12272
12273 // Non-standard browser env (web workers, react-native) lack needed support.
12274 {
12275 write() {},
12276 read() {
12277 return null;
12278 },
12279 remove() {}
12280 });
12281
12282
12283 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/isAbsoluteURL.js
12284
12285
12286 /**
12287 * Determines whether the specified URL is absolute
12288 *
12289 * @param {string} url The URL to test
12290 *
12291 * @returns {boolean} True if the specified URL is absolute, otherwise false
12292 */
12293 function isAbsoluteURL(url) {
12294 // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).
12295 // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
12296 // by any combination of letters, digits, plus, period, or hyphen.
12297 return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
12298 }
12299
12300 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/combineURLs.js
12301
12302
12303 /**
12304 * Creates a new URL by combining the specified URLs
12305 *
12306 * @param {string} baseURL The base URL
12307 * @param {string} relativeURL The relative URL
12308 *
12309 * @returns {string} The combined URL
12310 */
12311 function combineURLs(baseURL, relativeURL) {
12312 return relativeURL
12313 ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '')
12314 : baseURL;
12315 }
12316
12317 ;// CONCATENATED MODULE: ./node_modules/axios/lib/core/buildFullPath.js
12318
12319
12320
12321
12322
12323 /**
12324 * Creates a new URL by combining the baseURL with the requestedURL,
12325 * only when the requestedURL is not already an absolute URL.
12326 * If the requestURL is absolute, this function returns the requestedURL untouched.
12327 *
12328 * @param {string} baseURL The base URL
12329 * @param {string} requestedURL Absolute or relative URL to combine
12330 *
12331 * @returns {string} The combined full path
12332 */
12333 function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {
12334 let isRelativeUrl = !isAbsoluteURL(requestedURL);
12335 if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {
12336 return combineURLs(baseURL, requestedURL);
12337 }
12338 return requestedURL;
12339 }
12340
12341 ;// CONCATENATED MODULE: ./node_modules/axios/lib/core/mergeConfig.js
12342
12343
12344
12345
12346
12347 const headersToObject = (thing) => thing instanceof core_AxiosHeaders ? { ...thing } : thing;
12348
12349 /**
12350 * Config-specific merge-function which creates a new config-object
12351 * by merging two configuration objects together.
12352 *
12353 * @param {Object} config1
12354 * @param {Object} config2
12355 *
12356 * @returns {Object} New object resulting from merging config2 to config1
12357 */
12358 function mergeConfig(config1, config2) {
12359 // eslint-disable-next-line no-param-reassign
12360 config2 = config2 || {};
12361 const config = {};
12362
12363 function getMergedValue(target, source, prop, caseless) {
12364 if (utils.isPlainObject(target) && utils.isPlainObject(source)) {
12365 return utils.merge.call({caseless}, target, source);
12366 } else if (utils.isPlainObject(source)) {
12367 return utils.merge({}, source);
12368 } else if (utils.isArray(source)) {
12369 return source.slice();
12370 }
12371 return source;
12372 }
12373
12374 // eslint-disable-next-line consistent-return
12375 function mergeDeepProperties(a, b, prop , caseless) {
12376 if (!utils.isUndefined(b)) {
12377 return getMergedValue(a, b, prop , caseless);
12378 } else if (!utils.isUndefined(a)) {
12379 return getMergedValue(undefined, a, prop , caseless);
12380 }
12381 }
12382
12383 // eslint-disable-next-line consistent-return
12384 function valueFromConfig2(a, b) {
12385 if (!utils.isUndefined(b)) {
12386 return getMergedValue(undefined, b);
12387 }
12388 }
12389
12390 // eslint-disable-next-line consistent-return
12391 function defaultToConfig2(a, b) {
12392 if (!utils.isUndefined(b)) {
12393 return getMergedValue(undefined, b);
12394 } else if (!utils.isUndefined(a)) {
12395 return getMergedValue(undefined, a);
12396 }
12397 }
12398
12399 // eslint-disable-next-line consistent-return
12400 function mergeDirectKeys(a, b, prop) {
12401 if (prop in config2) {
12402 return getMergedValue(a, b);
12403 } else if (prop in config1) {
12404 return getMergedValue(undefined, a);
12405 }
12406 }
12407
12408 const mergeMap = {
12409 url: valueFromConfig2,
12410 method: valueFromConfig2,
12411 data: valueFromConfig2,
12412 baseURL: defaultToConfig2,
12413 transformRequest: defaultToConfig2,
12414 transformResponse: defaultToConfig2,
12415 paramsSerializer: defaultToConfig2,
12416 timeout: defaultToConfig2,
12417 timeoutMessage: defaultToConfig2,
12418 withCredentials: defaultToConfig2,
12419 withXSRFToken: defaultToConfig2,
12420 adapter: defaultToConfig2,
12421 responseType: defaultToConfig2,
12422 xsrfCookieName: defaultToConfig2,
12423 xsrfHeaderName: defaultToConfig2,
12424 onUploadProgress: defaultToConfig2,
12425 onDownloadProgress: defaultToConfig2,
12426 decompress: defaultToConfig2,
12427 maxContentLength: defaultToConfig2,
12428 maxBodyLength: defaultToConfig2,
12429 beforeRedirect: defaultToConfig2,
12430 transport: defaultToConfig2,
12431 httpAgent: defaultToConfig2,
12432 httpsAgent: defaultToConfig2,
12433 cancelToken: defaultToConfig2,
12434 socketPath: defaultToConfig2,
12435 responseEncoding: defaultToConfig2,
12436 validateStatus: mergeDirectKeys,
12437 headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)
12438 };
12439
12440 utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {
12441 const merge = mergeMap[prop] || mergeDeepProperties;
12442 const configValue = merge(config1[prop], config2[prop], prop);
12443 (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);
12444 });
12445
12446 return config;
12447 }
12448
12449 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/resolveConfig.js
12450
12451
12452
12453
12454
12455
12456
12457
12458
12459 /* harmony default export */ var resolveConfig = ((config) => {
12460 const newConfig = mergeConfig({}, config);
12461
12462 let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;
12463
12464 newConfig.headers = headers = core_AxiosHeaders.from(headers);
12465
12466 newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);
12467
12468 // HTTP basic authentication
12469 if (auth) {
12470 headers.set('Authorization', 'Basic ' +
12471 btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))
12472 );
12473 }
12474
12475 let contentType;
12476
12477 if (utils.isFormData(data)) {
12478 if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {
12479 headers.setContentType(undefined); // Let the browser set it
12480 } else if ((contentType = headers.getContentType()) !== false) {
12481 // fix semicolon duplication issue for ReactNative FormData implementation
12482 const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];
12483 headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));
12484 }
12485 }
12486
12487 // Add xsrf header
12488 // This is only done if running in a standard browser environment.
12489 // Specifically not if we're in a web worker, or react-native.
12490
12491 if (platform.hasStandardBrowserEnv) {
12492 withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));
12493
12494 if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {
12495 // Add xsrf header
12496 const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);
12497
12498 if (xsrfValue) {
12499 headers.set(xsrfHeaderName, xsrfValue);
12500 }
12501 }
12502 }
12503
12504 return newConfig;
12505 });
12506
12507
12508 ;// CONCATENATED MODULE: ./node_modules/axios/lib/adapters/xhr.js
12509
12510
12511
12512
12513
12514
12515
12516
12517
12518
12519
12520 const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';
12521
12522 /* harmony default export */ var xhr = (isXHRAdapterSupported && function (config) {
12523 return new Promise(function dispatchXhrRequest(resolve, reject) {
12524 const _config = resolveConfig(config);
12525 let requestData = _config.data;
12526 const requestHeaders = core_AxiosHeaders.from(_config.headers).normalize();
12527 let {responseType, onUploadProgress, onDownloadProgress} = _config;
12528 let onCanceled;
12529 let uploadThrottled, downloadThrottled;
12530 let flushUpload, flushDownload;
12531
12532 function done() {
12533 flushUpload && flushUpload(); // flush events
12534 flushDownload && flushDownload(); // flush events
12535
12536 _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);
12537
12538 _config.signal && _config.signal.removeEventListener('abort', onCanceled);
12539 }
12540
12541 let request = new XMLHttpRequest();
12542
12543 request.open(_config.method.toUpperCase(), _config.url, true);
12544
12545 // Set the request timeout in MS
12546 request.timeout = _config.timeout;
12547
12548 function onloadend() {
12549 if (!request) {
12550 return;
12551 }
12552 // Prepare the response
12553 const responseHeaders = core_AxiosHeaders.from(
12554 'getAllResponseHeaders' in request && request.getAllResponseHeaders()
12555 );
12556 const responseData = !responseType || responseType === 'text' || responseType === 'json' ?
12557 request.responseText : request.response;
12558 const response = {
12559 data: responseData,
12560 status: request.status,
12561 statusText: request.statusText,
12562 headers: responseHeaders,
12563 config,
12564 request
12565 };
12566
12567 settle(function _resolve(value) {
12568 resolve(value);
12569 done();
12570 }, function _reject(err) {
12571 reject(err);
12572 done();
12573 }, response);
12574
12575 // Clean up request
12576 request = null;
12577 }
12578
12579 if ('onloadend' in request) {
12580 // Use onloadend if available
12581 request.onloadend = onloadend;
12582 } else {
12583 // Listen for ready state to emulate onloadend
12584 request.onreadystatechange = function handleLoad() {
12585 if (!request || request.readyState !== 4) {
12586 return;
12587 }
12588
12589 // The request errored out and we didn't get a response, this will be
12590 // handled by onerror instead
12591 // With one exception: request that using file: protocol, most browsers
12592 // will return status as 0 even though it's a successful request
12593 if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
12594 return;
12595 }
12596 // readystate handler is calling before onerror or ontimeout handlers,
12597 // so we should call onloadend on the next 'tick'
12598 setTimeout(onloadend);
12599 };
12600 }
12601
12602 // Handle browser request cancellation (as opposed to a manual cancellation)
12603 request.onabort = function handleAbort() {
12604 if (!request) {
12605 return;
12606 }
12607
12608 reject(new core_AxiosError('Request aborted', core_AxiosError.ECONNABORTED, config, request));
12609
12610 // Clean up request
12611 request = null;
12612 };
12613
12614 // Handle low level network errors
12615 request.onerror = function handleError() {
12616 // Real errors are hidden from us by the browser
12617 // onerror should only fire if it's a network error
12618 reject(new core_AxiosError('Network Error', core_AxiosError.ERR_NETWORK, config, request));
12619
12620 // Clean up request
12621 request = null;
12622 };
12623
12624 // Handle timeout
12625 request.ontimeout = function handleTimeout() {
12626 let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';
12627 const transitional = _config.transitional || defaults_transitional;
12628 if (_config.timeoutErrorMessage) {
12629 timeoutErrorMessage = _config.timeoutErrorMessage;
12630 }
12631 reject(new core_AxiosError(
12632 timeoutErrorMessage,
12633 transitional.clarifyTimeoutError ? core_AxiosError.ETIMEDOUT : core_AxiosError.ECONNABORTED,
12634 config,
12635 request));
12636
12637 // Clean up request
12638 request = null;
12639 };
12640
12641 // Remove Content-Type if data is undefined
12642 requestData === undefined && requestHeaders.setContentType(null);
12643
12644 // Add headers to the request
12645 if ('setRequestHeader' in request) {
12646 utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {
12647 request.setRequestHeader(key, val);
12648 });
12649 }
12650
12651 // Add withCredentials to request if needed
12652 if (!utils.isUndefined(_config.withCredentials)) {
12653 request.withCredentials = !!_config.withCredentials;
12654 }
12655
12656 // Add responseType to request if needed
12657 if (responseType && responseType !== 'json') {
12658 request.responseType = _config.responseType;
12659 }
12660
12661 // Handle progress if needed
12662 if (onDownloadProgress) {
12663 ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));
12664 request.addEventListener('progress', downloadThrottled);
12665 }
12666
12667 // Not all browsers support upload events
12668 if (onUploadProgress && request.upload) {
12669 ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));
12670
12671 request.upload.addEventListener('progress', uploadThrottled);
12672
12673 request.upload.addEventListener('loadend', flushUpload);
12674 }
12675
12676 if (_config.cancelToken || _config.signal) {
12677 // Handle cancellation
12678 // eslint-disable-next-line func-names
12679 onCanceled = cancel => {
12680 if (!request) {
12681 return;
12682 }
12683 reject(!cancel || cancel.type ? new cancel_CanceledError(null, config, request) : cancel);
12684 request.abort();
12685 request = null;
12686 };
12687
12688 _config.cancelToken && _config.cancelToken.subscribe(onCanceled);
12689 if (_config.signal) {
12690 _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);
12691 }
12692 }
12693
12694 const protocol = parseProtocol(_config.url);
12695
12696 if (protocol && platform.protocols.indexOf(protocol) === -1) {
12697 reject(new core_AxiosError('Unsupported protocol ' + protocol + ':', core_AxiosError.ERR_BAD_REQUEST, config));
12698 return;
12699 }
12700
12701
12702 // Send the request
12703 request.send(requestData || null);
12704 });
12705 });
12706
12707 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/composeSignals.js
12708
12709
12710
12711
12712 const composeSignals = (signals, timeout) => {
12713 const {length} = (signals = signals ? signals.filter(Boolean) : []);
12714
12715 if (timeout || length) {
12716 let controller = new AbortController();
12717
12718 let aborted;
12719
12720 const onabort = function (reason) {
12721 if (!aborted) {
12722 aborted = true;
12723 unsubscribe();
12724 const err = reason instanceof Error ? reason : this.reason;
12725 controller.abort(err instanceof core_AxiosError ? err : new cancel_CanceledError(err instanceof Error ? err.message : err));
12726 }
12727 }
12728
12729 let timer = timeout && setTimeout(() => {
12730 timer = null;
12731 onabort(new core_AxiosError(`timeout ${timeout} of ms exceeded`, core_AxiosError.ETIMEDOUT))
12732 }, timeout)
12733
12734 const unsubscribe = () => {
12735 if (signals) {
12736 timer && clearTimeout(timer);
12737 timer = null;
12738 signals.forEach(signal => {
12739 signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);
12740 });
12741 signals = null;
12742 }
12743 }
12744
12745 signals.forEach((signal) => signal.addEventListener('abort', onabort));
12746
12747 const {signal} = controller;
12748
12749 signal.unsubscribe = () => utils.asap(unsubscribe);
12750
12751 return signal;
12752 }
12753 }
12754
12755 /* harmony default export */ var helpers_composeSignals = (composeSignals);
12756
12757 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/trackStream.js
12758
12759 const streamChunk = function* (chunk, chunkSize) {
12760 let len = chunk.byteLength;
12761
12762 if (!chunkSize || len < chunkSize) {
12763 yield chunk;
12764 return;
12765 }
12766
12767 let pos = 0;
12768 let end;
12769
12770 while (pos < len) {
12771 end = pos + chunkSize;
12772 yield chunk.slice(pos, end);
12773 pos = end;
12774 }
12775 }
12776
12777 const readBytes = async function* (iterable, chunkSize) {
12778 for await (const chunk of readStream(iterable)) {
12779 yield* streamChunk(chunk, chunkSize);
12780 }
12781 }
12782
12783 const readStream = async function* (stream) {
12784 if (stream[Symbol.asyncIterator]) {
12785 yield* stream;
12786 return;
12787 }
12788
12789 const reader = stream.getReader();
12790 try {
12791 for (;;) {
12792 const {done, value} = await reader.read();
12793 if (done) {
12794 break;
12795 }
12796 yield value;
12797 }
12798 } finally {
12799 await reader.cancel();
12800 }
12801 }
12802
12803 const trackStream = (stream, chunkSize, onProgress, onFinish) => {
12804 const iterator = readBytes(stream, chunkSize);
12805
12806 let bytes = 0;
12807 let done;
12808 let _onFinish = (e) => {
12809 if (!done) {
12810 done = true;
12811 onFinish && onFinish(e);
12812 }
12813 }
12814
12815 return new ReadableStream({
12816 async pull(controller) {
12817 try {
12818 const {done, value} = await iterator.next();
12819
12820 if (done) {
12821 _onFinish();
12822 controller.close();
12823 return;
12824 }
12825
12826 let len = value.byteLength;
12827 if (onProgress) {
12828 let loadedBytes = bytes += len;
12829 onProgress(loadedBytes);
12830 }
12831 controller.enqueue(new Uint8Array(value));
12832 } catch (err) {
12833 _onFinish(err);
12834 throw err;
12835 }
12836 },
12837 cancel(reason) {
12838 _onFinish(reason);
12839 return iterator.return();
12840 }
12841 }, {
12842 highWaterMark: 2
12843 })
12844 }
12845
12846 ;// CONCATENATED MODULE: ./node_modules/axios/lib/adapters/fetch.js
12847
12848
12849
12850
12851
12852
12853
12854
12855
12856
12857 const isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';
12858 const isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';
12859
12860 // used only inside the fetch adapter
12861 const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?
12862 ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :
12863 async (str) => new Uint8Array(await new Response(str).arrayBuffer())
12864 );
12865
12866 const test = (fn, ...args) => {
12867 try {
12868 return !!fn(...args);
12869 } catch (e) {
12870 return false
12871 }
12872 }
12873
12874 const supportsRequestStream = isReadableStreamSupported && test(() => {
12875 let duplexAccessed = false;
12876
12877 const hasContentType = new Request(platform.origin, {
12878 body: new ReadableStream(),
12879 method: 'POST',
12880 get duplex() {
12881 duplexAccessed = true;
12882 return 'half';
12883 },
12884 }).headers.has('Content-Type');
12885
12886 return duplexAccessed && !hasContentType;
12887 });
12888
12889 const DEFAULT_CHUNK_SIZE = 64 * 1024;
12890
12891 const supportsResponseStream = isReadableStreamSupported &&
12892 test(() => utils.isReadableStream(new Response('').body));
12893
12894
12895 const resolvers = {
12896 stream: supportsResponseStream && ((res) => res.body)
12897 };
12898
12899 isFetchSupported && (((res) => {
12900 ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {
12901 !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :
12902 (_, config) => {
12903 throw new core_AxiosError(`Response type '${type}' is not supported`, core_AxiosError.ERR_NOT_SUPPORT, config);
12904 })
12905 });
12906 })(new Response));
12907
12908 const getBodyLength = async (body) => {
12909 if (body == null) {
12910 return 0;
12911 }
12912
12913 if(utils.isBlob(body)) {
12914 return body.size;
12915 }
12916
12917 if(utils.isSpecCompliantForm(body)) {
12918 const _request = new Request(platform.origin, {
12919 method: 'POST',
12920 body,
12921 });
12922 return (await _request.arrayBuffer()).byteLength;
12923 }
12924
12925 if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {
12926 return body.byteLength;
12927 }
12928
12929 if(utils.isURLSearchParams(body)) {
12930 body = body + '';
12931 }
12932
12933 if(utils.isString(body)) {
12934 return (await encodeText(body)).byteLength;
12935 }
12936 }
12937
12938 const resolveBodyLength = async (headers, body) => {
12939 const length = utils.toFiniteNumber(headers.getContentLength());
12940
12941 return length == null ? getBodyLength(body) : length;
12942 }
12943
12944 /* harmony default export */ var adapters_fetch = (isFetchSupported && (async (config) => {
12945 let {
12946 url,
12947 method,
12948 data,
12949 signal,
12950 cancelToken,
12951 timeout,
12952 onDownloadProgress,
12953 onUploadProgress,
12954 responseType,
12955 headers,
12956 withCredentials = 'same-origin',
12957 fetchOptions
12958 } = resolveConfig(config);
12959
12960 responseType = responseType ? (responseType + '').toLowerCase() : 'text';
12961
12962 let composedSignal = helpers_composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);
12963
12964 let request;
12965
12966 const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {
12967 composedSignal.unsubscribe();
12968 });
12969
12970 let requestContentLength;
12971
12972 try {
12973 if (
12974 onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&
12975 (requestContentLength = await resolveBodyLength(headers, data)) !== 0
12976 ) {
12977 let _request = new Request(url, {
12978 method: 'POST',
12979 body: data,
12980 duplex: "half"
12981 });
12982
12983 let contentTypeHeader;
12984
12985 if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {
12986 headers.setContentType(contentTypeHeader)
12987 }
12988
12989 if (_request.body) {
12990 const [onProgress, flush] = progressEventDecorator(
12991 requestContentLength,
12992 progressEventReducer(asyncDecorator(onUploadProgress))
12993 );
12994
12995 data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);
12996 }
12997 }
12998
12999 if (!utils.isString(withCredentials)) {
13000 withCredentials = withCredentials ? 'include' : 'omit';
13001 }
13002
13003 // Cloudflare Workers throws when credentials are defined
13004 // see https://github.com/cloudflare/workerd/issues/902
13005 const isCredentialsSupported = "credentials" in Request.prototype;
13006 request = new Request(url, {
13007 ...fetchOptions,
13008 signal: composedSignal,
13009 method: method.toUpperCase(),
13010 headers: headers.normalize().toJSON(),
13011 body: data,
13012 duplex: "half",
13013 credentials: isCredentialsSupported ? withCredentials : undefined
13014 });
13015
13016 let response = await fetch(request, fetchOptions);
13017
13018 const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');
13019
13020 if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {
13021 const options = {};
13022
13023 ['status', 'statusText', 'headers'].forEach(prop => {
13024 options[prop] = response[prop];
13025 });
13026
13027 const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));
13028
13029 const [onProgress, flush] = onDownloadProgress && progressEventDecorator(
13030 responseContentLength,
13031 progressEventReducer(asyncDecorator(onDownloadProgress), true)
13032 ) || [];
13033
13034 response = new Response(
13035 trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {
13036 flush && flush();
13037 unsubscribe && unsubscribe();
13038 }),
13039 options
13040 );
13041 }
13042
13043 responseType = responseType || 'text';
13044
13045 let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);
13046
13047 !isStreamResponse && unsubscribe && unsubscribe();
13048
13049 return await new Promise((resolve, reject) => {
13050 settle(resolve, reject, {
13051 data: responseData,
13052 headers: core_AxiosHeaders.from(response.headers),
13053 status: response.status,
13054 statusText: response.statusText,
13055 config,
13056 request
13057 })
13058 })
13059 } catch (err) {
13060 unsubscribe && unsubscribe();
13061
13062 if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {
13063 throw Object.assign(
13064 new core_AxiosError('Network Error', core_AxiosError.ERR_NETWORK, config, request),
13065 {
13066 cause: err.cause || err
13067 }
13068 )
13069 }
13070
13071 throw core_AxiosError.from(err, err && err.code, config, request);
13072 }
13073 }));
13074
13075
13076
13077 ;// CONCATENATED MODULE: ./node_modules/axios/lib/adapters/adapters.js
13078
13079
13080
13081
13082
13083
13084 const knownAdapters = {
13085 http: helpers_null,
13086 xhr: xhr,
13087 fetch: adapters_fetch
13088 }
13089
13090 utils.forEach(knownAdapters, (fn, value) => {
13091 if (fn) {
13092 try {
13093 Object.defineProperty(fn, 'name', {value});
13094 } catch (e) {
13095 // eslint-disable-next-line no-empty
13096 }
13097 Object.defineProperty(fn, 'adapterName', {value});
13098 }
13099 });
13100
13101 const renderReason = (reason) => `- ${reason}`;
13102
13103 const isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;
13104
13105 /* harmony default export */ var adapters = ({
13106 getAdapter: (adapters) => {
13107 adapters = utils.isArray(adapters) ? adapters : [adapters];
13108
13109 const {length} = adapters;
13110 let nameOrAdapter;
13111 let adapter;
13112
13113 const rejectedReasons = {};
13114
13115 for (let i = 0; i < length; i++) {
13116 nameOrAdapter = adapters[i];
13117 let id;
13118
13119 adapter = nameOrAdapter;
13120
13121 if (!isResolvedHandle(nameOrAdapter)) {
13122 adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];
13123
13124 if (adapter === undefined) {
13125 throw new core_AxiosError(`Unknown adapter '${id}'`);
13126 }
13127 }
13128
13129 if (adapter) {
13130 break;
13131 }
13132
13133 rejectedReasons[id || '#' + i] = adapter;
13134 }
13135
13136 if (!adapter) {
13137
13138 const reasons = Object.entries(rejectedReasons)
13139 .map(([id, state]) => `adapter ${id} ` +
13140 (state === false ? 'is not supported by the environment' : 'is not available in the build')
13141 );
13142
13143 let s = length ?
13144 (reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0])) :
13145 'as no adapter specified';
13146
13147 throw new core_AxiosError(
13148 `There is no suitable adapter to dispatch the request ` + s,
13149 'ERR_NOT_SUPPORT'
13150 );
13151 }
13152
13153 return adapter;
13154 },
13155 adapters: knownAdapters
13156 });
13157
13158 ;// CONCATENATED MODULE: ./node_modules/axios/lib/core/dispatchRequest.js
13159
13160
13161
13162
13163
13164
13165
13166
13167
13168 /**
13169 * Throws a `CanceledError` if cancellation has been requested.
13170 *
13171 * @param {Object} config The config that is to be used for the request
13172 *
13173 * @returns {void}
13174 */
13175 function throwIfCancellationRequested(config) {
13176 if (config.cancelToken) {
13177 config.cancelToken.throwIfRequested();
13178 }
13179
13180 if (config.signal && config.signal.aborted) {
13181 throw new cancel_CanceledError(null, config);
13182 }
13183 }
13184
13185 /**
13186 * Dispatch a request to the server using the configured adapter.
13187 *
13188 * @param {object} config The config that is to be used for the request
13189 *
13190 * @returns {Promise} The Promise to be fulfilled
13191 */
13192 function dispatchRequest(config) {
13193 throwIfCancellationRequested(config);
13194
13195 config.headers = core_AxiosHeaders.from(config.headers);
13196
13197 // Transform request data
13198 config.data = transformData.call(
13199 config,
13200 config.transformRequest
13201 );
13202
13203 if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {
13204 config.headers.setContentType('application/x-www-form-urlencoded', false);
13205 }
13206
13207 const adapter = adapters.getAdapter(config.adapter || lib_defaults.adapter);
13208
13209 return adapter(config).then(function onAdapterResolution(response) {
13210 throwIfCancellationRequested(config);
13211
13212 // Transform response data
13213 response.data = transformData.call(
13214 config,
13215 config.transformResponse,
13216 response
13217 );
13218
13219 response.headers = core_AxiosHeaders.from(response.headers);
13220
13221 return response;
13222 }, function onAdapterRejection(reason) {
13223 if (!isCancel(reason)) {
13224 throwIfCancellationRequested(config);
13225
13226 // Transform response data
13227 if (reason && reason.response) {
13228 reason.response.data = transformData.call(
13229 config,
13230 config.transformResponse,
13231 reason.response
13232 );
13233 reason.response.headers = core_AxiosHeaders.from(reason.response.headers);
13234 }
13235 }
13236
13237 return Promise.reject(reason);
13238 });
13239 }
13240
13241 ;// CONCATENATED MODULE: ./node_modules/axios/lib/env/data.js
13242 const VERSION = "1.10.0";
13243 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/validator.js
13244
13245
13246
13247
13248
13249 const validators = {};
13250
13251 // eslint-disable-next-line func-names
13252 ['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {
13253 validators[type] = function validator(thing) {
13254 return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;
13255 };
13256 });
13257
13258 const deprecatedWarnings = {};
13259
13260 /**
13261 * Transitional option validator
13262 *
13263 * @param {function|boolean?} validator - set to false if the transitional option has been removed
13264 * @param {string?} version - deprecated version / removed since version
13265 * @param {string?} message - some message with additional info
13266 *
13267 * @returns {function}
13268 */
13269 validators.transitional = function transitional(validator, version, message) {
13270 function formatMessage(opt, desc) {
13271 return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : '');
13272 }
13273
13274 // eslint-disable-next-line func-names
13275 return (value, opt, opts) => {
13276 if (validator === false) {
13277 throw new core_AxiosError(
13278 formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),
13279 core_AxiosError.ERR_DEPRECATED
13280 );
13281 }
13282
13283 if (version && !deprecatedWarnings[opt]) {
13284 deprecatedWarnings[opt] = true;
13285 // eslint-disable-next-line no-console
13286 console.warn(
13287 formatMessage(
13288 opt,
13289 ' has been deprecated since v' + version + ' and will be removed in the near future'
13290 )
13291 );
13292 }
13293
13294 return validator ? validator(value, opt, opts) : true;
13295 };
13296 };
13297
13298 validators.spelling = function spelling(correctSpelling) {
13299 return (value, opt) => {
13300 // eslint-disable-next-line no-console
13301 console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);
13302 return true;
13303 }
13304 };
13305
13306 /**
13307 * Assert object's properties type
13308 *
13309 * @param {object} options
13310 * @param {object} schema
13311 * @param {boolean?} allowUnknown
13312 *
13313 * @returns {object}
13314 */
13315
13316 function assertOptions(options, schema, allowUnknown) {
13317 if (typeof options !== 'object') {
13318 throw new core_AxiosError('options must be an object', core_AxiosError.ERR_BAD_OPTION_VALUE);
13319 }
13320 const keys = Object.keys(options);
13321 let i = keys.length;
13322 while (i-- > 0) {
13323 const opt = keys[i];
13324 const validator = schema[opt];
13325 if (validator) {
13326 const value = options[opt];
13327 const result = value === undefined || validator(value, opt, options);
13328 if (result !== true) {
13329 throw new core_AxiosError('option ' + opt + ' must be ' + result, core_AxiosError.ERR_BAD_OPTION_VALUE);
13330 }
13331 continue;
13332 }
13333 if (allowUnknown !== true) {
13334 throw new core_AxiosError('Unknown option ' + opt, core_AxiosError.ERR_BAD_OPTION);
13335 }
13336 }
13337 }
13338
13339 /* harmony default export */ var validator = ({
13340 assertOptions,
13341 validators
13342 });
13343
13344 ;// CONCATENATED MODULE: ./node_modules/axios/lib/core/Axios.js
13345
13346
13347
13348
13349
13350
13351
13352
13353
13354
13355
13356 const Axios_validators = validator.validators;
13357
13358 /**
13359 * Create a new instance of Axios
13360 *
13361 * @param {Object} instanceConfig The default config for the instance
13362 *
13363 * @return {Axios} A new instance of Axios
13364 */
13365 class Axios_Axios {
13366 constructor(instanceConfig) {
13367 this.defaults = instanceConfig || {};
13368 this.interceptors = {
13369 request: new core_InterceptorManager(),
13370 response: new core_InterceptorManager()
13371 };
13372 }
13373
13374 /**
13375 * Dispatch a request
13376 *
13377 * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
13378 * @param {?Object} config
13379 *
13380 * @returns {Promise} The Promise to be fulfilled
13381 */
13382 async request(configOrUrl, config) {
13383 try {
13384 return await this._request(configOrUrl, config);
13385 } catch (err) {
13386 if (err instanceof Error) {
13387 let dummy = {};
13388
13389 Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());
13390
13391 // slice off the Error: ... line
13392 const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : '';
13393 try {
13394 if (!err.stack) {
13395 err.stack = stack;
13396 // match without the 2 top stack lines
13397 } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) {
13398 err.stack += '\n' + stack
13399 }
13400 } catch (e) {
13401 // ignore the case where "stack" is an un-writable property
13402 }
13403 }
13404
13405 throw err;
13406 }
13407 }
13408
13409 _request(configOrUrl, config) {
13410 /*eslint no-param-reassign:0*/
13411 // Allow for axios('example/url'[, config]) a la fetch API
13412 if (typeof configOrUrl === 'string') {
13413 config = config || {};
13414 config.url = configOrUrl;
13415 } else {
13416 config = configOrUrl || {};
13417 }
13418
13419 config = mergeConfig(this.defaults, config);
13420
13421 const {transitional, paramsSerializer, headers} = config;
13422
13423 if (transitional !== undefined) {
13424 validator.assertOptions(transitional, {
13425 silentJSONParsing: Axios_validators.transitional(Axios_validators.boolean),
13426 forcedJSONParsing: Axios_validators.transitional(Axios_validators.boolean),
13427 clarifyTimeoutError: Axios_validators.transitional(Axios_validators.boolean)
13428 }, false);
13429 }
13430
13431 if (paramsSerializer != null) {
13432 if (utils.isFunction(paramsSerializer)) {
13433 config.paramsSerializer = {
13434 serialize: paramsSerializer
13435 }
13436 } else {
13437 validator.assertOptions(paramsSerializer, {
13438 encode: Axios_validators.function,
13439 serialize: Axios_validators.function
13440 }, true);
13441 }
13442 }
13443
13444 // Set config.allowAbsoluteUrls
13445 if (config.allowAbsoluteUrls !== undefined) {
13446 // do nothing
13447 } else if (this.defaults.allowAbsoluteUrls !== undefined) {
13448 config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;
13449 } else {
13450 config.allowAbsoluteUrls = true;
13451 }
13452
13453 validator.assertOptions(config, {
13454 baseUrl: Axios_validators.spelling('baseURL'),
13455 withXsrfToken: Axios_validators.spelling('withXSRFToken')
13456 }, true);
13457
13458 // Set config.method
13459 config.method = (config.method || this.defaults.method || 'get').toLowerCase();
13460
13461 // Flatten headers
13462 let contextHeaders = headers && utils.merge(
13463 headers.common,
13464 headers[config.method]
13465 );
13466
13467 headers && utils.forEach(
13468 ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],
13469 (method) => {
13470 delete headers[method];
13471 }
13472 );
13473
13474 config.headers = core_AxiosHeaders.concat(contextHeaders, headers);
13475
13476 // filter out skipped interceptors
13477 const requestInterceptorChain = [];
13478 let synchronousRequestInterceptors = true;
13479 this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
13480 if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {
13481 return;
13482 }
13483
13484 synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
13485
13486 requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
13487 });
13488
13489 const responseInterceptorChain = [];
13490 this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
13491 responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
13492 });
13493
13494 let promise;
13495 let i = 0;
13496 let len;
13497
13498 if (!synchronousRequestInterceptors) {
13499 const chain = [dispatchRequest.bind(this), undefined];
13500 chain.unshift.apply(chain, requestInterceptorChain);
13501 chain.push.apply(chain, responseInterceptorChain);
13502 len = chain.length;
13503
13504 promise = Promise.resolve(config);
13505
13506 while (i < len) {
13507 promise = promise.then(chain[i++], chain[i++]);
13508 }
13509
13510 return promise;
13511 }
13512
13513 len = requestInterceptorChain.length;
13514
13515 let newConfig = config;
13516
13517 i = 0;
13518
13519 while (i < len) {
13520 const onFulfilled = requestInterceptorChain[i++];
13521 const onRejected = requestInterceptorChain[i++];
13522 try {
13523 newConfig = onFulfilled(newConfig);
13524 } catch (error) {
13525 onRejected.call(this, error);
13526 break;
13527 }
13528 }
13529
13530 try {
13531 promise = dispatchRequest.call(this, newConfig);
13532 } catch (error) {
13533 return Promise.reject(error);
13534 }
13535
13536 i = 0;
13537 len = responseInterceptorChain.length;
13538
13539 while (i < len) {
13540 promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);
13541 }
13542
13543 return promise;
13544 }
13545
13546 getUri(config) {
13547 config = mergeConfig(this.defaults, config);
13548 const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);
13549 return buildURL(fullPath, config.params, config.paramsSerializer);
13550 }
13551 }
13552
13553 // Provide aliases for supported request methods
13554 utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
13555 /*eslint func-names:0*/
13556 Axios_Axios.prototype[method] = function(url, config) {
13557 return this.request(mergeConfig(config || {}, {
13558 method,
13559 url,
13560 data: (config || {}).data
13561 }));
13562 };
13563 });
13564
13565 utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
13566 /*eslint func-names:0*/
13567
13568 function generateHTTPMethod(isForm) {
13569 return function httpMethod(url, data, config) {
13570 return this.request(mergeConfig(config || {}, {
13571 method,
13572 headers: isForm ? {
13573 'Content-Type': 'multipart/form-data'
13574 } : {},
13575 url,
13576 data
13577 }));
13578 };
13579 }
13580
13581 Axios_Axios.prototype[method] = generateHTTPMethod();
13582
13583 Axios_Axios.prototype[method + 'Form'] = generateHTTPMethod(true);
13584 });
13585
13586 /* harmony default export */ var core_Axios = (Axios_Axios);
13587
13588 ;// CONCATENATED MODULE: ./node_modules/axios/lib/cancel/CancelToken.js
13589
13590
13591
13592
13593 /**
13594 * A `CancelToken` is an object that can be used to request cancellation of an operation.
13595 *
13596 * @param {Function} executor The executor function.
13597 *
13598 * @returns {CancelToken}
13599 */
13600 class CancelToken {
13601 constructor(executor) {
13602 if (typeof executor !== 'function') {
13603 throw new TypeError('executor must be a function.');
13604 }
13605
13606 let resolvePromise;
13607
13608 this.promise = new Promise(function promiseExecutor(resolve) {
13609 resolvePromise = resolve;
13610 });
13611
13612 const token = this;
13613
13614 // eslint-disable-next-line func-names
13615 this.promise.then(cancel => {
13616 if (!token._listeners) return;
13617
13618 let i = token._listeners.length;
13619
13620 while (i-- > 0) {
13621 token._listeners[i](cancel);
13622 }
13623 token._listeners = null;
13624 });
13625
13626 // eslint-disable-next-line func-names
13627 this.promise.then = onfulfilled => {
13628 let _resolve;
13629 // eslint-disable-next-line func-names
13630 const promise = new Promise(resolve => {
13631 token.subscribe(resolve);
13632 _resolve = resolve;
13633 }).then(onfulfilled);
13634
13635 promise.cancel = function reject() {
13636 token.unsubscribe(_resolve);
13637 };
13638
13639 return promise;
13640 };
13641
13642 executor(function cancel(message, config, request) {
13643 if (token.reason) {
13644 // Cancellation has already been requested
13645 return;
13646 }
13647
13648 token.reason = new cancel_CanceledError(message, config, request);
13649 resolvePromise(token.reason);
13650 });
13651 }
13652
13653 /**
13654 * Throws a `CanceledError` if cancellation has been requested.
13655 */
13656 throwIfRequested() {
13657 if (this.reason) {
13658 throw this.reason;
13659 }
13660 }
13661
13662 /**
13663 * Subscribe to the cancel signal
13664 */
13665
13666 subscribe(listener) {
13667 if (this.reason) {
13668 listener(this.reason);
13669 return;
13670 }
13671
13672 if (this._listeners) {
13673 this._listeners.push(listener);
13674 } else {
13675 this._listeners = [listener];
13676 }
13677 }
13678
13679 /**
13680 * Unsubscribe from the cancel signal
13681 */
13682
13683 unsubscribe(listener) {
13684 if (!this._listeners) {
13685 return;
13686 }
13687 const index = this._listeners.indexOf(listener);
13688 if (index !== -1) {
13689 this._listeners.splice(index, 1);
13690 }
13691 }
13692
13693 toAbortSignal() {
13694 const controller = new AbortController();
13695
13696 const abort = (err) => {
13697 controller.abort(err);
13698 };
13699
13700 this.subscribe(abort);
13701
13702 controller.signal.unsubscribe = () => this.unsubscribe(abort);
13703
13704 return controller.signal;
13705 }
13706
13707 /**
13708 * Returns an object that contains a new `CancelToken` and a function that, when called,
13709 * cancels the `CancelToken`.
13710 */
13711 static source() {
13712 let cancel;
13713 const token = new CancelToken(function executor(c) {
13714 cancel = c;
13715 });
13716 return {
13717 token,
13718 cancel
13719 };
13720 }
13721 }
13722
13723 /* harmony default export */ var cancel_CancelToken = (CancelToken);
13724
13725 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/spread.js
13726
13727
13728 /**
13729 * Syntactic sugar for invoking a function and expanding an array for arguments.
13730 *
13731 * Common use case would be to use `Function.prototype.apply`.
13732 *
13733 * ```js
13734 * function f(x, y, z) {}
13735 * var args = [1, 2, 3];
13736 * f.apply(null, args);
13737 * ```
13738 *
13739 * With `spread` this example can be re-written.
13740 *
13741 * ```js
13742 * spread(function(x, y, z) {})([1, 2, 3]);
13743 * ```
13744 *
13745 * @param {Function} callback
13746 *
13747 * @returns {Function}
13748 */
13749 function spread(callback) {
13750 return function wrap(arr) {
13751 return callback.apply(null, arr);
13752 };
13753 }
13754
13755 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/isAxiosError.js
13756
13757
13758
13759
13760 /**
13761 * Determines whether the payload is an error thrown by Axios
13762 *
13763 * @param {*} payload The value to test
13764 *
13765 * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false
13766 */
13767 function isAxiosError(payload) {
13768 return utils.isObject(payload) && (payload.isAxiosError === true);
13769 }
13770
13771 ;// CONCATENATED MODULE: ./node_modules/axios/lib/helpers/HttpStatusCode.js
13772 const HttpStatusCode = {
13773 Continue: 100,
13774 SwitchingProtocols: 101,
13775 Processing: 102,
13776 EarlyHints: 103,
13777 Ok: 200,
13778 Created: 201,
13779 Accepted: 202,
13780 NonAuthoritativeInformation: 203,
13781 NoContent: 204,
13782 ResetContent: 205,
13783 PartialContent: 206,
13784 MultiStatus: 207,
13785 AlreadyReported: 208,
13786 ImUsed: 226,
13787 MultipleChoices: 300,
13788 MovedPermanently: 301,
13789 Found: 302,
13790 SeeOther: 303,
13791 NotModified: 304,
13792 UseProxy: 305,
13793 Unused: 306,
13794 TemporaryRedirect: 307,
13795 PermanentRedirect: 308,
13796 BadRequest: 400,
13797 Unauthorized: 401,
13798 PaymentRequired: 402,
13799 Forbidden: 403,
13800 NotFound: 404,
13801 MethodNotAllowed: 405,
13802 NotAcceptable: 406,
13803 ProxyAuthenticationRequired: 407,
13804 RequestTimeout: 408,
13805 Conflict: 409,
13806 Gone: 410,
13807 LengthRequired: 411,
13808 PreconditionFailed: 412,
13809 PayloadTooLarge: 413,
13810 UriTooLong: 414,
13811 UnsupportedMediaType: 415,
13812 RangeNotSatisfiable: 416,
13813 ExpectationFailed: 417,
13814 ImATeapot: 418,
13815 MisdirectedRequest: 421,
13816 UnprocessableEntity: 422,
13817 Locked: 423,
13818 FailedDependency: 424,
13819 TooEarly: 425,
13820 UpgradeRequired: 426,
13821 PreconditionRequired: 428,
13822 TooManyRequests: 429,
13823 RequestHeaderFieldsTooLarge: 431,
13824 UnavailableForLegalReasons: 451,
13825 InternalServerError: 500,
13826 NotImplemented: 501,
13827 BadGateway: 502,
13828 ServiceUnavailable: 503,
13829 GatewayTimeout: 504,
13830 HttpVersionNotSupported: 505,
13831 VariantAlsoNegotiates: 506,
13832 InsufficientStorage: 507,
13833 LoopDetected: 508,
13834 NotExtended: 510,
13835 NetworkAuthenticationRequired: 511,
13836 };
13837
13838 Object.entries(HttpStatusCode).forEach(([key, value]) => {
13839 HttpStatusCode[value] = key;
13840 });
13841
13842 /* harmony default export */ var helpers_HttpStatusCode = (HttpStatusCode);
13843
13844 ;// CONCATENATED MODULE: ./node_modules/axios/lib/axios.js
13845
13846
13847
13848
13849
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862
13863
13864
13865 /**
13866 * Create an instance of Axios
13867 *
13868 * @param {Object} defaultConfig The default config for the instance
13869 *
13870 * @returns {Axios} A new instance of Axios
13871 */
13872 function createInstance(defaultConfig) {
13873 const context = new core_Axios(defaultConfig);
13874 const instance = bind(core_Axios.prototype.request, context);
13875
13876 // Copy axios.prototype to instance
13877 utils.extend(instance, core_Axios.prototype, context, {allOwnKeys: true});
13878
13879 // Copy context to instance
13880 utils.extend(instance, context, null, {allOwnKeys: true});
13881
13882 // Factory for creating new instances
13883 instance.create = function create(instanceConfig) {
13884 return createInstance(mergeConfig(defaultConfig, instanceConfig));
13885 };
13886
13887 return instance;
13888 }
13889
13890 // Create the default instance to be exported
13891 const axios = createInstance(lib_defaults);
13892
13893 // Expose Axios class to allow class inheritance
13894 axios.Axios = core_Axios;
13895
13896 // Expose Cancel & CancelToken
13897 axios.CanceledError = cancel_CanceledError;
13898 axios.CancelToken = cancel_CancelToken;
13899 axios.isCancel = isCancel;
13900 axios.VERSION = VERSION;
13901 axios.toFormData = helpers_toFormData;
13902
13903 // Expose AxiosError class
13904 axios.AxiosError = core_AxiosError;
13905
13906 // alias for CanceledError for backward compatibility
13907 axios.Cancel = axios.CanceledError;
13908
13909 // Expose all/spread
13910 axios.all = function all(promises) {
13911 return Promise.all(promises);
13912 };
13913
13914 axios.spread = spread;
13915
13916 // Expose isAxiosError
13917 axios.isAxiosError = isAxiosError;
13918
13919 // Expose mergeConfig
13920 axios.mergeConfig = mergeConfig;
13921
13922 axios.AxiosHeaders = core_AxiosHeaders;
13923
13924 axios.formToJSON = thing => helpers_formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);
13925
13926 axios.getAdapter = adapters.getAdapter;
13927
13928 axios.HttpStatusCode = helpers_HttpStatusCode;
13929
13930 axios.default = axios;
13931
13932 // this module should only have a default export
13933 /* harmony default export */ var lib_axios = (axios);
13934
13935 // EXTERNAL MODULE: ./node_modules/qs/lib/index.js
13936 var lib = __webpack_require__(80129);
13937 var lib_default = /*#__PURE__*/__webpack_require__.n(lib);
13938 // EXTERNAL MODULE: ./node_modules/lodash/merge.js
13939 var lodash_merge = __webpack_require__(82492);
13940 var merge_default = /*#__PURE__*/__webpack_require__.n(lodash_merge);
13941 ;// CONCATENATED MODULE: ./node_modules/clsx/dist/clsx.m.js
13942 function toVal(mix) {
13943 var k, y, str='';
13944
13945 if (typeof mix === 'string' || typeof mix === 'number') {
13946 str += mix;
13947 } else if (typeof mix === 'object') {
13948 if (Array.isArray(mix)) {
13949 for (k=0; k < mix.length; k++) {
13950 if (mix[k]) {
13951 if (y = toVal(mix[k])) {
13952 str && (str += ' ');
13953 str += y;
13954 }
13955 }
13956 }
13957 } else {
13958 for (k in mix) {
13959 if (mix[k]) {
13960 str && (str += ' ');
13961 str += k;
13962 }
13963 }
13964 }
13965 }
13966
13967 return str;
13968 }
13969
13970 /* harmony default export */ function clsx_m() {
13971 var i=0, tmp, x, str='';
13972 while (i < arguments.length) {
13973 if (tmp = arguments[i++]) {
13974 if (x = toVal(tmp)) {
13975 str && (str += ' ');
13976 str += x
13977 }
13978 }
13979 }
13980 return str;
13981 }
13982
13983 ;// CONCATENATED MODULE: ./src/js/frontend/Group.js
13984 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13985
13986 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
13987
13988 function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
13989
13990 function Group_createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
13991
13992
13993
13994
13995 var Group = /*#__PURE__*/function () {
13996 function Group(_ref) {
13997 var _this = this;
13998
13999 var data = _ref.data,
14000 stylesheet = _ref.stylesheet,
14001 _ref$generators = _ref.generators,
14002 generators = _ref$generators === void 0 ? [] : _ref$generators,
14003 _ref$renderExtender = _ref.renderExtender,
14004 renderExtender = _ref$renderExtender === void 0 ? [] : _ref$renderExtender,
14005 _ref$extensions = _ref.extensions,
14006 extensions = _ref$extensions === void 0 ? [] : _ref$extensions,
14007 menu_button = _ref.menu_button,
14008 buttons = _ref.buttons;
14009
14010 _classCallCheck(this, Group);
14011
14012 this.data = data;
14013 this.buttons = buttons;
14014 this.element = document.createElement("div");
14015 this.generators = generators;
14016 this.renderExtender = renderExtender;
14017 this.extensions = extensions;
14018 this.menuButton = null;
14019 this.stylesheet = stylesheet;
14020
14021 if (typeof buttons === "undefined" || buttons.length === 0) {
14022 console.error("Oh no, I have no buttons!", this.data.id);
14023 return;
14024 }
14025
14026 this.menuButton = Object.keys(menu_button)[0];
14027 merge_default()(this.buttons, menu_button); // Initialize generators
14028
14029 this.generators.forEach(function (gen) {
14030 return gen.generate(_this);
14031 }); // Initialize extensions
14032
14033 this.extensions.forEach(function (ext) {
14034 return ext.subscribe(_this);
14035 });
14036 }
14037
14038 Group_createClass(Group, [{
14039 key: "render",
14040 value: function render() {
14041 var _group,
14042 _this2 = this;
14043
14044 this.stylesheet.update({
14045 group: (_group = {}, _defineProperty(_group, this.data.horizontal[0], this.data.horizontal[1]), _defineProperty(_group, this.data.vertical[0], this.data.vertical[1]), _defineProperty(_group, "flexDirection", this.data.vertical[0] === "bottom" ? "column-reverse" : "column"), _group)
14046 });
14047
14048 if (!(this.buttons[this.menuButton].data.show_desktop === false && this.buttons[this.menuButton].data.show_mobile === false)) {
14049 var _this$buttons$this$me = this.buttons[this.menuButton].render(),
14050 element = _this$buttons$this$me.element;
14051
14052 element.classList.add("buttonizer-head");
14053 this.element.appendChild(element);
14054 }
14055
14056 Object.values(this.buttons).forEach(function (button) {
14057 if (button.data.id === _this2.menuButton) return;
14058
14059 _this2.element.appendChild(button.render().element);
14060 });
14061 this.element.className = clsx_m(this.element.className, "buttonizer", "buttonizer-group", this.stylesheet.classes.group);
14062 /* webpack-strip-block:removed */
14063 // Device visibility
14064
14065 if (!this.data.show_desktop) {
14066 this.setHide("desktop");
14067 }
14068
14069 if (!this.data.show_mobile) {
14070 this.setHide("mobile");
14071 }
14072
14073 this.renderExtender.forEach(function (extender) {
14074 return extender.extend(_this2);
14075 });
14076 this.stylesheet.attach();
14077 return this.element;
14078 }
14079 }, {
14080 key: "destroy",
14081 value: function destroy() {
14082 var _this3 = this;
14083
14084 // Unsubscribe
14085 this.extensions.forEach(function (ext) {
14086 return ext.unsubscribe(_this3);
14087 });
14088 if (this.element) this.element.remove();
14089 }
14090 }, {
14091 key: "setHide",
14092 value: function setHide(device) {
14093 var size = device === "desktop" ? "min-width: 770px" : "max-width: 769px";
14094 this.stylesheet.update({
14095 group: _defineProperty({}, "@media screen and (".concat(size, ")"), {
14096 display: "none"
14097 })
14098 });
14099 }
14100 }]);
14101
14102 return Group;
14103 }();
14104
14105
14106 ;// CONCATENATED MODULE: ./src/js/frontend/Extensions/template.js
14107 function template_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14108
14109 function template_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
14110
14111 function template_createClass(Constructor, protoProps, staticProps) { if (protoProps) template_defineProperties(Constructor.prototype, protoProps); if (staticProps) template_defineProperties(Constructor, staticProps); return Constructor; }
14112
14113 /**
14114 * @Buttonizer Extension container
14115 *
14116 * This class is required for all extensions
14117 */
14118 var Extension = /*#__PURE__*/function () {
14119 function Extension() {
14120 template_classCallCheck(this, Extension);
14121
14122 this.subscriptions = []; // Define default extension name
14123
14124 this.name = "unknown";
14125 }
14126 /**
14127 * Subscribe object to this extension
14128 *
14129 * @param {Group} obj
14130 */
14131
14132
14133 template_createClass(Extension, [{
14134 key: "subscribe",
14135 value: function subscribe(obj) {
14136 // Make sure object is not subscribed already
14137 if (this.subscriptions.indexOf(obj) > 0) {
14138 console.error("This object is already subscribed to the ".concat(this.name, " extension."));
14139 return false;
14140 } // Subscribe
14141
14142
14143 this.subscriptions.push(obj); // Trigger event
14144
14145 this.onSubscribe(obj);
14146 }
14147 /**
14148 * Unsubscribe object from this extension
14149 *
14150 * @param {Group} obj
14151 */
14152
14153 }, {
14154 key: "unsubscribe",
14155 value: function unsubscribe(obj) {
14156 // Find object subscription
14157 var objIndex = this.subscriptions.indexOf(obj); // Object not subscribed
14158
14159 if (objIndex === -1) {
14160 console.error("This object is not subscribed to the ".concat(this.name, " extension."));
14161 return false;
14162 } // Trigger event
14163
14164
14165 this.onUnsubscribe(obj); // Unsubscribe
14166
14167 this.subscriptions.splice(objIndex, 1);
14168 } // Placeholder
14169
14170 }, {
14171 key: "onSubscribe",
14172 value: function onSubscribe(obj) {
14173 obj;
14174 } // Placeholder
14175
14176 }, {
14177 key: "onUnsubscribe",
14178 value: function onUnsubscribe(obj) {
14179 obj;
14180 }
14181 }]);
14182
14183 return Extension;
14184 }();
14185
14186
14187 ;// CONCATENATED MODULE: ./src/js/frontend/Extensions/CloseOnClickOutside.js
14188 function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
14189
14190 function CloseOnClickOutside_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14191
14192 function CloseOnClickOutside_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
14193
14194 function CloseOnClickOutside_createClass(Constructor, protoProps, staticProps) { if (protoProps) CloseOnClickOutside_defineProperties(Constructor.prototype, protoProps); if (staticProps) CloseOnClickOutside_defineProperties(Constructor, staticProps); return Constructor; }
14195
14196 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
14197
14198 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
14199
14200 function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
14201
14202 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
14203
14204 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
14205
14206 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; } }
14207
14208 function set(target, property, value, receiver) { if (typeof Reflect !== "undefined" && Reflect.set) { set = Reflect.set; } else { set = function set(target, property, value, receiver) { var base = _superPropBase(target, property); var desc; if (base) { desc = Object.getOwnPropertyDescriptor(base, property); if (desc.set) { desc.set.call(receiver, value); return true; } else if (!desc.writable) { return false; } } desc = Object.getOwnPropertyDescriptor(receiver, property); if (desc) { if (!desc.writable) { return false; } desc.value = value; Object.defineProperty(receiver, property, desc); } else { CloseOnClickOutside_defineProperty(receiver, property, value); } return true; }; } return set(target, property, value, receiver); }
14209
14210 function _set(target, property, value, receiver, isStrict) { var s = set(target, property, value, receiver || target); if (!s && isStrict) { throw new Error('failed to set property'); } return value; }
14211
14212 function CloseOnClickOutside_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14213
14214 function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
14215
14216 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
14217
14218
14219
14220 var CloseOnClickOutside = /*#__PURE__*/function (_Extension) {
14221 _inherits(CloseOnClickOutside, _Extension);
14222
14223 var _super = _createSuper(CloseOnClickOutside);
14224
14225 function CloseOnClickOutside() {
14226 var _thisSuper, _this;
14227
14228 CloseOnClickOutside_classCallCheck(this, CloseOnClickOutside);
14229
14230 _this = _super.call(this); // Set extension name
14231
14232 _set((_thisSuper = _assertThisInitialized(_this), _getPrototypeOf(CloseOnClickOutside.prototype)), "name", "close on click outside", _thisSuper, true);
14233
14234 _this.watchClick();
14235
14236 return _this;
14237 } // Add click event listener
14238
14239
14240 CloseOnClickOutside_createClass(CloseOnClickOutside, [{
14241 key: "watchClick",
14242 value: function watchClick() {
14243 var _this2 = this;
14244
14245 document.addEventListener("click", function (e) {
14246 _this2.notify(e.target);
14247 });
14248 } // Hide or show button on subscribe
14249
14250 }, {
14251 key: "notify",
14252 value: function notify(target) {
14253 this.subscriptions.forEach(function (group) {
14254 if (group && group.state && group.state.isOpened() && !group.element.contains(target)) {
14255 group.state.close();
14256 }
14257 });
14258 }
14259 }]);
14260
14261 return CloseOnClickOutside;
14262 }(Extension); // Export close on click outside extension
14263
14264
14265 /* harmony default export */ var Extensions_CloseOnClickOutside = (new CloseOnClickOutside());
14266 // EXTERNAL MODULE: ./node_modules/dlv/dist/dlv.umd.js
14267 var dlv_umd = __webpack_require__(26905);
14268 var dlv_umd_default = /*#__PURE__*/__webpack_require__.n(dlv_umd);
14269 ;// CONCATENATED MODULE: ./src/js/frontend/Utils/buttonizerInPreview.js
14270 function buttonizerInPreview_inPreview() {
14271 if (typeof buttonizer_ajax === "undefined" || !buttonizer_ajax) return document.location.href.indexOf("buttonizer-preview=1") >= 0 && document.location.href.indexOf("identifier=") >= 0;
14272 return buttonizer_ajax.in_preview === "1";
14273 }
14274 ;// CONCATENATED MODULE: ./src/js/frontend/Extensions/CloseOnClickInside.js
14275 function CloseOnClickInside_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { CloseOnClickInside_typeof = function _typeof(obj) { return typeof obj; }; } else { CloseOnClickInside_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return CloseOnClickInside_typeof(obj); }
14276
14277 function CloseOnClickInside_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14278
14279 function CloseOnClickInside_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
14280
14281 function CloseOnClickInside_createClass(Constructor, protoProps, staticProps) { if (protoProps) CloseOnClickInside_defineProperties(Constructor.prototype, protoProps); if (staticProps) CloseOnClickInside_defineProperties(Constructor, staticProps); return Constructor; }
14282
14283 function CloseOnClickInside_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) CloseOnClickInside_setPrototypeOf(subClass, superClass); }
14284
14285 function CloseOnClickInside_setPrototypeOf(o, p) { CloseOnClickInside_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return CloseOnClickInside_setPrototypeOf(o, p); }
14286
14287 function CloseOnClickInside_createSuper(Derived) { var hasNativeReflectConstruct = CloseOnClickInside_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = CloseOnClickInside_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = CloseOnClickInside_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return CloseOnClickInside_possibleConstructorReturn(this, result); }; }
14288
14289 function CloseOnClickInside_possibleConstructorReturn(self, call) { if (call && (CloseOnClickInside_typeof(call) === "object" || typeof call === "function")) { return call; } return CloseOnClickInside_assertThisInitialized(self); }
14290
14291 function CloseOnClickInside_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
14292
14293 function CloseOnClickInside_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; } }
14294
14295 function CloseOnClickInside_set(target, property, value, receiver) { if (typeof Reflect !== "undefined" && Reflect.set) { CloseOnClickInside_set = Reflect.set; } else { CloseOnClickInside_set = function set(target, property, value, receiver) { var base = CloseOnClickInside_superPropBase(target, property); var desc; if (base) { desc = Object.getOwnPropertyDescriptor(base, property); if (desc.set) { desc.set.call(receiver, value); return true; } else if (!desc.writable) { return false; } } desc = Object.getOwnPropertyDescriptor(receiver, property); if (desc) { if (!desc.writable) { return false; } desc.value = value; Object.defineProperty(receiver, property, desc); } else { CloseOnClickInside_defineProperty(receiver, property, value); } return true; }; } return CloseOnClickInside_set(target, property, value, receiver); }
14296
14297 function Extensions_CloseOnClickInside_set(target, property, value, receiver, isStrict) { var s = CloseOnClickInside_set(target, property, value, receiver || target); if (!s && isStrict) { throw new Error('failed to set property'); } return value; }
14298
14299 function CloseOnClickInside_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14300
14301 function CloseOnClickInside_superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = CloseOnClickInside_getPrototypeOf(object); if (object === null) break; } return object; }
14302
14303 function CloseOnClickInside_getPrototypeOf(o) { CloseOnClickInside_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return CloseOnClickInside_getPrototypeOf(o); }
14304
14305
14306
14307
14308
14309 var CloseOnClickInside = /*#__PURE__*/function (_Extension) {
14310 CloseOnClickInside_inherits(CloseOnClickInside, _Extension);
14311
14312 var _super = CloseOnClickInside_createSuper(CloseOnClickInside);
14313
14314 function CloseOnClickInside() {
14315 var _thisSuper, _this;
14316
14317 CloseOnClickInside_classCallCheck(this, CloseOnClickInside);
14318
14319 _this = _super.call(this); // Set extension name
14320
14321 Extensions_CloseOnClickInside_set((_thisSuper = CloseOnClickInside_assertThisInitialized(_this), CloseOnClickInside_getPrototypeOf(CloseOnClickInside.prototype)), "name", "close on click inside", _thisSuper, true);
14322
14323 return _this;
14324 } // Add click event listener
14325
14326
14327 CloseOnClickInside_createClass(CloseOnClickInside, [{
14328 key: "onSubscribe",
14329 value: function onSubscribe(group) {
14330 var _this2 = this;
14331
14332 var mainButton = group.buttons[dlv_umd_default()(group, "menuButton", null)];
14333 Object.values(group.buttons).forEach(function (button) {
14334 if (mainButton.data.id === button.data.id) return;
14335 button.element.addEventListener("click", function (event) {
14336 // Don't close if edit button was clicked
14337 // Or in preview mode and not holding ctrl key
14338 if (event.target.className.includes("buttonizer-edit-action") || event.target.parentElement.className.includes("buttonizer-edit-action") || buttonizerInPreview_inPreview() && button.disableClickInPreview) return;
14339
14340 _this2.notify(group);
14341 });
14342 });
14343 }
14344 }, {
14345 key: "notify",
14346 value: function notify(group) {
14347 if (group && group.state && group.state.isOpened()) {
14348 group.state.close();
14349 }
14350 }
14351 }]);
14352
14353 return CloseOnClickInside;
14354 }(Extension); // Export close on click outside extension
14355
14356
14357 /* harmony default export */ var Extensions_CloseOnClickInside = (new CloseOnClickInside());
14358 ;// CONCATENATED MODULE: ./src/js/frontend/Generators/template.js
14359 function Generators_template_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14360
14361 function Generators_template_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
14362
14363 function Generators_template_createClass(Constructor, protoProps, staticProps) { if (protoProps) Generators_template_defineProperties(Constructor.prototype, protoProps); if (staticProps) Generators_template_defineProperties(Constructor, staticProps); return Constructor; }
14364
14365
14366
14367 var Generator = /*#__PURE__*/function () {
14368 function Generator() {
14369 var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
14370
14371 Generators_template_classCallCheck(this, Generator);
14372
14373 this.mobileSingleButton = dlv_umd_default()(obj, "mobileSingleButton", false);
14374 this.desktopSingleButton = dlv_umd_default()(obj, "desktopSingleButton", false);
14375 }
14376
14377 Generators_template_createClass(Generator, [{
14378 key: "generate",
14379 value: function generate(group) {
14380 this.createJss(group, "mobile", group.data.is_menu_mobile, group.data.is_menu_mobile ? group.data.button_size : group.data.group_size);
14381 this.createJss(group, "desktop", group.data.is_menu_desktop, group.data.is_menu_desktop ? group.data.button_size : group.data.group_size);
14382 } // Placeholder
14383
14384 }, {
14385 key: "createJss",
14386 value: function createJss() {}
14387 }]);
14388
14389 return Generator;
14390 }();
14391
14392
14393 ;// CONCATENATED MODULE: ./src/js/frontend/Generators/Hoverer.js
14394 function Hoverer_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Hoverer_typeof = function _typeof(obj) { return typeof obj; }; } else { Hoverer_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Hoverer_typeof(obj); }
14395
14396 function Hoverer_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14397
14398 function Hoverer_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
14399
14400 function Hoverer_createClass(Constructor, protoProps, staticProps) { if (protoProps) Hoverer_defineProperties(Constructor.prototype, protoProps); if (staticProps) Hoverer_defineProperties(Constructor, staticProps); return Constructor; }
14401
14402 function Hoverer_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Hoverer_setPrototypeOf(subClass, superClass); }
14403
14404 function Hoverer_setPrototypeOf(o, p) { Hoverer_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Hoverer_setPrototypeOf(o, p); }
14405
14406 function Hoverer_createSuper(Derived) { var hasNativeReflectConstruct = Hoverer_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Hoverer_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Hoverer_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Hoverer_possibleConstructorReturn(this, result); }; }
14407
14408 function Hoverer_possibleConstructorReturn(self, call) { if (call && (Hoverer_typeof(call) === "object" || typeof call === "function")) { return call; } return Hoverer_assertThisInitialized(self); }
14409
14410 function Hoverer_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
14411
14412 function Hoverer_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; } }
14413
14414 function Hoverer_getPrototypeOf(o) { Hoverer_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Hoverer_getPrototypeOf(o); }
14415
14416
14417
14418 var Hoverer_Hoverer = /*#__PURE__*/function (_Generator) {
14419 Hoverer_inherits(Hoverer, _Generator);
14420
14421 var _super = Hoverer_createSuper(Hoverer);
14422
14423 function Hoverer(func) {
14424 var _this;
14425
14426 Hoverer_classCallCheck(this, Hoverer);
14427
14428 _this = _super.call(this);
14429 _this.callback = func;
14430 return _this;
14431 }
14432
14433 Hoverer_createClass(Hoverer, [{
14434 key: "generate",
14435 value: function generate(button) {
14436 var _this2 = this;
14437
14438 button.element.addEventListener("mouseover", function () {
14439 return _this2.callback(true);
14440 });
14441 button.element.addEventListener("mouseout", function () {
14442 return _this2.callback(false);
14443 });
14444 }
14445 }]);
14446
14447 return Hoverer;
14448 }(Generator);
14449
14450
14451 // EXTERNAL MODULE: ./src/js/utils/buttonizer-defaults/index.js
14452 var buttonizer_defaults = __webpack_require__(42226);
14453 var buttonizer_defaults_default = /*#__PURE__*/__webpack_require__.n(buttonizer_defaults);
14454 ;// CONCATENATED MODULE: ./src/js/frontend/FloatingContent/Icon.js
14455 function Icon_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14456
14457 function Icon_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
14458
14459 function Icon_createClass(Constructor, protoProps, staticProps) { if (protoProps) Icon_defineProperties(Constructor.prototype, protoProps); if (staticProps) Icon_defineProperties(Constructor, staticProps); return Constructor; }
14460
14461
14462
14463
14464
14465 var Icon = /*#__PURE__*/function () {
14466 function Icon(_ref) {
14467 var data = _ref.data,
14468 _ref$generators = _ref.generators,
14469 generators = _ref$generators === void 0 ? [] : _ref$generators,
14470 stylesheet = _ref.stylesheet;
14471
14472 Icon_classCallCheck(this, Icon);
14473
14474 this.data = data;
14475 this.generators = generators;
14476 this.stylesheet = stylesheet;
14477 }
14478
14479 Icon_createClass(Icon, [{
14480 key: "render",
14481 value: function render() {
14482 var _this = this;
14483
14484 this.element = document.createElement("i");
14485 this.element.setAttribute("aria-hidden", "true");
14486 this.JSS = {
14487 icon: {
14488 color: this.data.icon_color[0],
14489 "font-size": this.data.icon_size[0]
14490 },
14491 button: {
14492 "&:hover": {
14493 "& $icon": {
14494 color: this.data.icon_color[1],
14495 "font-size": this.data.icon_size[1] == null ? this.data.icon_size[0] : this.data.icon_size[1]
14496 }
14497 }
14498 }
14499 };
14500 this.element.className = clsx_m(this.data.icon[0] || (buttonizer_defaults_default())[this.data.model].icon[0], this.stylesheet.classes.icon);
14501 if (this.data.icon[1]) this.generators.push(new Hoverer_Hoverer(function (b) {
14502 return _this.setHoverIcon(b);
14503 }));
14504 return this;
14505 }
14506 }, {
14507 key: "setHoverIcon",
14508 value: function setHoverIcon(hover) {
14509 if (hover) {
14510 this.element.className = clsx_m(this.data.icon[1], this.stylesheet.classes.icon);
14511 } else {
14512 this.element.className = clsx_m(this.data.icon[0] || (buttonizer_defaults_default())[this.data.model].icon[0], this.stylesheet.classes.icon);
14513 }
14514 }
14515 }]);
14516
14517 return Icon;
14518 }();
14519
14520
14521 ;// CONCATENATED MODULE: ./src/js/frontend/FloatingContent/Image.js
14522 function Image_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14523
14524 function Image_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
14525
14526 function Image_createClass(Constructor, protoProps, staticProps) { if (protoProps) Image_defineProperties(Constructor.prototype, protoProps); if (staticProps) Image_defineProperties(Constructor, staticProps); return Constructor; }
14527
14528
14529
14530
14531 var Image = /*#__PURE__*/(/* unused pure expression or super */ null && (function () {
14532 function Image(_ref) {
14533 var data = _ref.data,
14534 _ref$generators = _ref.generators,
14535 generators = _ref$generators === void 0 ? [] : _ref$generators,
14536 stylesheet = _ref.stylesheet;
14537
14538 Image_classCallCheck(this, Image);
14539
14540 this.data = data;
14541 this.generators = generators;
14542 this.stylesheet = stylesheet;
14543 }
14544
14545 Image_createClass(Image, [{
14546 key: "render",
14547 value: function render() {
14548 var _this = this;
14549
14550 this.element = document.createElement("img");
14551 this.stylesheet.update({
14552 image: {
14553 width: this.data.icon_image_size[0],
14554 "border-radius": this.data.icon_image_border_radius[0]
14555 },
14556 button: {
14557 "&:hover": {
14558 "& $image": {
14559 width: this.data.icon_image_size[1],
14560 "border-radius": this.data.icon_image_border_radius[1]
14561 }
14562 }
14563 }
14564 });
14565 this.element.src = this.data.icon_image[0];
14566 this.element.className = clsx(this.stylesheet.classes.image);
14567 if (this.data.icon_image[1]) this.generators.push(new Hoverer(function (b) {
14568 return _this.setHoverImage(b);
14569 }));
14570 return this;
14571 }
14572 }, {
14573 key: "setHoverImage",
14574 value: function setHoverImage(hover) {
14575 if (hover) {
14576 this.element.src = this.data.icon_image[1];
14577 } else {
14578 this.element.src = this.data.icon_image[0];
14579 }
14580 }
14581 }]);
14582
14583 return Image;
14584 }()));
14585
14586
14587 ;// CONCATENATED MODULE: ./src/js/frontend/FloatingContent/Label.js
14588 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; }
14589
14590 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) { Label_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
14591
14592 function Label_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14593
14594 function Label_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14595
14596 function Label_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
14597
14598 function Label_createClass(Constructor, protoProps, staticProps) { if (protoProps) Label_defineProperties(Constructor.prototype, protoProps); if (staticProps) Label_defineProperties(Constructor, staticProps); return Constructor; }
14599
14600
14601
14602
14603
14604 var Label = /*#__PURE__*/function () {
14605 function Label(_ref) {
14606 var data = _ref.data,
14607 stylesheet = _ref.stylesheet;
14608
14609 Label_classCallCheck(this, Label);
14610
14611 this.data = data;
14612 this.stylesheet = stylesheet;
14613 this.element = document.createElement("div");
14614 this.generators = [];
14615 this.JSS = {};
14616 }
14617
14618 Label_createClass(Label, [{
14619 key: "render",
14620 value: function render() {
14621 // Add label text in element
14622 this.element.innerText = this.data.label;
14623 this.setJSS(); // Add className
14624
14625 this.element.className = clsx_m(this.element.className, "buttonizer-label", this.stylesheet.classes.label);
14626 this.element.id = this.stylesheet.classes.button + "-label";
14627 return this;
14628 }
14629 }, {
14630 key: "setJSS",
14631 value: function setJSS() {
14632 var _label;
14633
14634 // Get horizontal position data
14635 var horizontalProperty = this.data.horizontal_position_label === "auto" ? this.data.horizontal[0] : this.data.horizontal_position_label;
14636 this.JSS = {
14637 label: (_label = {
14638 color: this.data.label_color[0],
14639 background: this.data.label_background_color[0],
14640 "font-size": this.data.label_font_size[0]
14641 }, Label_defineProperty(_label, horizontalProperty, this.data.label_spacing + (this.data.label_inside ? 0 : this.data.button_size)), Label_defineProperty(_label, "border-radius", this.data.label_border_radius[0]), Label_defineProperty(_label, "text-align", this.data.horizontal[0] === "right" ? "end" : "start"), _label),
14642 button: {
14643 "&:hover": {
14644 "& $label": {
14645 color: this.data.label_color[1],
14646 background: this.data.label_background_color[1]
14647 }
14648 }
14649 }
14650 };
14651
14652 if (this.data.label_box_shadow_enabled[0] === false) {
14653 merge_default()(this.JSS, {
14654 label: {
14655 "box-shadow": "none"
14656 }
14657 });
14658 }
14659
14660 if (dlv_umd_default()(this.data.label_box_shadow_enabled, "1", this.data.label_box_shadow_enabled[0]) === false) {
14661 merge_default()(this.JSS, {
14662 button: {
14663 "&:hover": {
14664 "& $label": {
14665 "box-shadow": "none"
14666 }
14667 }
14668 }
14669 });
14670 }
14671
14672 merge_default()(this.JSS, {
14673 label: _objectSpread({}, this.boxShadow(0)),
14674 button: {
14675 "&:hover": {
14676 "& $label": _objectSpread({}, this.boxShadow(1))
14677 }
14678 }
14679 });
14680 /* webpack-strip-block:removed */
14681
14682 if (!this.data.is_menu_desktop) {
14683 this.setMenuStyling("desktop");
14684 }
14685
14686 if (!this.data.is_menu_mobile) {
14687 this.setMenuStyling("mobile");
14688 } // If visibility is set to hide, display block. If set on hover, display block on hover.
14689
14690
14691 if (!this.data.label_inside) {
14692 this.data.show_label_desktop === "always" && this.setShow("desktop");
14693 this.data.show_label_desktop === "hide" && this.setHide("desktop");
14694 this.data.show_label_desktop === "hover" && this.setHover();
14695 this.data.show_label_mobile === "always" && this.setShow("mobile");
14696 this.data.show_label_mobile === "hide" && this.setHide("mobile");
14697 }
14698
14699 return this.JSS;
14700 }
14701 }, {
14702 key: "setMenuStyling",
14703 value: function setMenuStyling(device) {
14704 var horizontalProperty = this.data.horizontal_position_label === "auto" ? this.data.horizontal[0] : this.data.horizontal_position_label;
14705 var size = device === "desktop" ? "min-width: 770px" : "max-width: 769px";
14706 this.stylesheet.update({
14707 label: Label_defineProperty({}, "@media screen and (".concat(size, ")"), Label_defineProperty({}, horizontalProperty, this.data.label_spacing + (this.data.label_inside ? 0 : this.data.group_size)))
14708 });
14709 }
14710 }, {
14711 key: "setShow",
14712 value: function setShow(device) {
14713 // Does it need to use on desktop only or mobile?
14714 var size = device === "desktop" ? "min-width: 770px" : "max-width: 769px";
14715 this.JSS = merge_default()(this.JSS, {
14716 label: Label_defineProperty({}, "@media screen and (".concat(size, ")"), {
14717 opacity: 1,
14718 visibility: "visible"
14719 })
14720 });
14721 }
14722 }, {
14723 key: "setHide",
14724 value: function setHide(device) {
14725 // Does it need to use on desktop only or mobile?
14726 var size = device === "desktop" ? "min-width: 770px" : "max-width: 769px";
14727 merge_default()(this.JSS, {
14728 label: Label_defineProperty({}, "@media screen and (".concat(size, ")"), {
14729 opacity: 0,
14730 visibility: "hidden"
14731 })
14732 });
14733 }
14734 }, {
14735 key: "setHover",
14736 value: function setHover() {
14737 merge_default()(this.JSS, {
14738 label: Label_defineProperty({}, "@media screen and (min-width: 770px)", {
14739 opacity: 0,
14740 visibility: "hidden"
14741 }),
14742 button: Label_defineProperty({}, "@media screen and (min-width: 770px)", Label_defineProperty({}, "&:hover $label", {
14743 opacity: 1,
14744 visibility: "visible"
14745 }))
14746 });
14747 }
14748 }, {
14749 key: "hasBoxShadow",
14750 value: function hasBoxShadow() {
14751 var normal_hover = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
14752 if (normal_hover === 1) return (// should have image, great
14753 this.data.label_box_shadow_enabled[1] === true || this.data.label_box_shadow_enabled[0] === true && this.data.label_box_shadow_enabled[1] == null
14754 );
14755 return (// should have image, great
14756 this.data.label_box_shadow_enabled[0] === true
14757 );
14758 }
14759 }, {
14760 key: "boxShadow",
14761 value: function boxShadow() {
14762 var normal_hover = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
14763
14764 if (this.data.label_box_shadow) {
14765 var shadow = this.data.label_box_shadow[normal_hover];
14766 if (shadow == null) return {};
14767 if (this.hasBoxShadow(normal_hover)) return {
14768 "box-shadow": shadow
14769 };
14770 return {};
14771 }
14772
14773 return {};
14774 }
14775 }]);
14776
14777 return Label;
14778 }();
14779
14780
14781 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/template.js
14782 function Actions_template_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14783
14784 function Actions_template_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
14785
14786 function Actions_template_createClass(Constructor, protoProps, staticProps) { if (protoProps) Actions_template_defineProperties(Constructor.prototype, protoProps); if (staticProps) Actions_template_defineProperties(Constructor, staticProps); return Constructor; }
14787
14788 var Action = /*#__PURE__*/function () {
14789 function Action(data, button, stylesheet, groupId) {
14790 Actions_template_classCallCheck(this, Action);
14791
14792 this.data = data;
14793 this.button = button;
14794 this.stylesheet = stylesheet;
14795 this.groupId = groupId;
14796 }
14797
14798 Actions_template_createClass(Action, [{
14799 key: "execute",
14800 value: function execute() {// Do nothing
14801 }
14802 }, {
14803 key: "addAttr",
14804 value: function addAttr() {
14805 return {
14806 attr: "href",
14807 val: "javascript:void(0)"
14808 };
14809 }
14810 }]);
14811
14812 return Action;
14813 }();
14814
14815
14816 // EXTERNAL MODULE: ./node_modules/validator/lib/isURL.js
14817 var isURL = __webpack_require__(66823);
14818 var isURL_default = /*#__PURE__*/__webpack_require__.n(isURL);
14819 ;// CONCATENATED MODULE: ./src/js/utils/isValidURL.js
14820
14821 function isValidURL(value) {
14822 return isURL_default()(value, {
14823 protocols: ["http", "https"],
14824 require_tld: false,
14825 require_host: false
14826 }) || value.substr(0, 1) === "#";
14827 }
14828 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/WebsiteUrl.js
14829 function WebsiteUrl_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { WebsiteUrl_typeof = function _typeof(obj) { return typeof obj; }; } else { WebsiteUrl_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return WebsiteUrl_typeof(obj); }
14830
14831 function WebsiteUrl_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14832
14833 function WebsiteUrl_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
14834
14835 function WebsiteUrl_createClass(Constructor, protoProps, staticProps) { if (protoProps) WebsiteUrl_defineProperties(Constructor.prototype, protoProps); if (staticProps) WebsiteUrl_defineProperties(Constructor, staticProps); return Constructor; }
14836
14837 function WebsiteUrl_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) WebsiteUrl_setPrototypeOf(subClass, superClass); }
14838
14839 function WebsiteUrl_setPrototypeOf(o, p) { WebsiteUrl_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return WebsiteUrl_setPrototypeOf(o, p); }
14840
14841 function WebsiteUrl_createSuper(Derived) { var hasNativeReflectConstruct = WebsiteUrl_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = WebsiteUrl_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = WebsiteUrl_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return WebsiteUrl_possibleConstructorReturn(this, result); }; }
14842
14843 function WebsiteUrl_possibleConstructorReturn(self, call) { if (call && (WebsiteUrl_typeof(call) === "object" || typeof call === "function")) { return call; } return WebsiteUrl_assertThisInitialized(self); }
14844
14845 function WebsiteUrl_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
14846
14847 function WebsiteUrl_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; } }
14848
14849 function WebsiteUrl_getPrototypeOf(o) { WebsiteUrl_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return WebsiteUrl_getPrototypeOf(o); }
14850
14851
14852
14853
14854
14855 var WebsiteUrl = /*#__PURE__*/function (_Action) {
14856 WebsiteUrl_inherits(WebsiteUrl, _Action);
14857
14858 var _super = WebsiteUrl_createSuper(WebsiteUrl);
14859
14860 function WebsiteUrl() {
14861 WebsiteUrl_classCallCheck(this, WebsiteUrl);
14862
14863 return _super.apply(this, arguments);
14864 }
14865
14866 WebsiteUrl_createClass(WebsiteUrl, [{
14867 key: "openPopup",
14868 value: function openPopup(myURL, title, myWidth, myHeight) {
14869 var left = (screen.width - myWidth) / 2;
14870 var top = (screen.height - myHeight) / 4;
14871 window.open(myURL, title, "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=" + myWidth + ", height=" + myHeight + ", top=" + top + ", left=" + left);
14872 }
14873 }, {
14874 key: "fullScreenWindow",
14875 value: function fullScreenWindow(url) {
14876 var fullScreen = window.open(url, "_blank", "fullscreen");
14877
14878 if (fullScreen.outerWidth < screen.availWidth || fullScreen.outerHeight < screen.availHeight) {
14879 fullScreen.moveTo(0, 0);
14880 fullScreen.resizeTo(screen.availWidth, screen.availHeight);
14881 }
14882 }
14883 }, {
14884 key: "addAttr",
14885 value: function addAttr() {
14886 // Add rel attribute to the button
14887 if (dlv_umd_default()(this.data, "action_rel_attributes", false)) {
14888 this.button.setAttribute("rel", this.data.action_rel_attributes);
14889 } // Add target attribute to the button
14890
14891
14892 if (dlv_umd_default()(this.data, "action_new_tab", false)) {
14893 if (!["_newWindow", "_popupWindow"].includes(this.data.action_new_tab)) this.button.setAttribute("target", this.data.action_new_tab === true ? "_blank" : this.data.action_new_tab); // don't include href if it is opened in a new window
14894 else return;
14895 } // Add download attribute to the button
14896
14897
14898 if (dlv_umd_default()(this.data, "type", "url") === "download") {
14899 this.button.setAttribute("download", "");
14900 this.button.setAttribute("target", "_blank");
14901 }
14902
14903 var url = dlv_umd_default()(this.data, "action", "#"); // Stop any kind of XSS
14904
14905 if (!isValidURL(url)) {
14906 console.error("Buttonizer: Sorry, we have blocked your URL '".concat(url, "' for security reasons."));
14907 return;
14908 }
14909
14910 return {
14911 attr: "href",
14912 val: url
14913 };
14914 }
14915 }, {
14916 key: "execute",
14917 value: function execute() {
14918 if (dlv_umd_default()(this.data, "action_new_tab", false)) {
14919 if (this.data.action_new_tab === "_newWindow") this.fullScreenWindow(this.data.action);
14920 if (this.data.action_new_tab === "_popupWindow") this.openPopup(this.data.action, "_blank", 640, 480);
14921 }
14922 }
14923 }]);
14924
14925 return WebsiteUrl;
14926 }(Action);
14927
14928
14929 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/Phone.js
14930 function Phone_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Phone_typeof = function _typeof(obj) { return typeof obj; }; } else { Phone_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Phone_typeof(obj); }
14931
14932 function Phone_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14933
14934 function Phone_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
14935
14936 function Phone_createClass(Constructor, protoProps, staticProps) { if (protoProps) Phone_defineProperties(Constructor.prototype, protoProps); if (staticProps) Phone_defineProperties(Constructor, staticProps); return Constructor; }
14937
14938 function Phone_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Phone_setPrototypeOf(subClass, superClass); }
14939
14940 function Phone_setPrototypeOf(o, p) { Phone_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Phone_setPrototypeOf(o, p); }
14941
14942 function Phone_createSuper(Derived) { var hasNativeReflectConstruct = Phone_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Phone_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Phone_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Phone_possibleConstructorReturn(this, result); }; }
14943
14944 function Phone_possibleConstructorReturn(self, call) { if (call && (Phone_typeof(call) === "object" || typeof call === "function")) { return call; } return Phone_assertThisInitialized(self); }
14945
14946 function Phone_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
14947
14948 function Phone_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; } }
14949
14950 function Phone_getPrototypeOf(o) { Phone_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Phone_getPrototypeOf(o); }
14951
14952
14953
14954 var Phone = /*#__PURE__*/function (_Action) {
14955 Phone_inherits(Phone, _Action);
14956
14957 var _super = Phone_createSuper(Phone);
14958
14959 function Phone() {
14960 Phone_classCallCheck(this, Phone);
14961
14962 return _super.apply(this, arguments);
14963 }
14964
14965 Phone_createClass(Phone, [{
14966 key: "addAttr",
14967 value: function addAttr() {
14968 return {
14969 attr: "href",
14970 val: "tel:".concat(this.data.action || "000000000000")
14971 };
14972 }
14973 }]);
14974
14975 return Phone;
14976 }(Action);
14977
14978
14979 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/Mail.js
14980 function Mail_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Mail_typeof = function _typeof(obj) { return typeof obj; }; } else { Mail_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Mail_typeof(obj); }
14981
14982 function Mail_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14983
14984 function Mail_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
14985
14986 function Mail_createClass(Constructor, protoProps, staticProps) { if (protoProps) Mail_defineProperties(Constructor.prototype, protoProps); if (staticProps) Mail_defineProperties(Constructor, staticProps); return Constructor; }
14987
14988 function Mail_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Mail_setPrototypeOf(subClass, superClass); }
14989
14990 function Mail_setPrototypeOf(o, p) { Mail_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Mail_setPrototypeOf(o, p); }
14991
14992 function Mail_createSuper(Derived) { var hasNativeReflectConstruct = Mail_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Mail_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Mail_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Mail_possibleConstructorReturn(this, result); }; }
14993
14994 function Mail_possibleConstructorReturn(self, call) { if (call && (Mail_typeof(call) === "object" || typeof call === "function")) { return call; } return Mail_assertThisInitialized(self); }
14995
14996 function Mail_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
14997
14998 function Mail_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; } }
14999
15000 function Mail_getPrototypeOf(o) { Mail_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Mail_getPrototypeOf(o); }
15001
15002
15003
15004
15005 var Mail = /*#__PURE__*/function (_Action) {
15006 Mail_inherits(Mail, _Action);
15007
15008 var _super = Mail_createSuper(Mail);
15009
15010 function Mail() {
15011 Mail_classCallCheck(this, Mail);
15012
15013 return _super.apply(this, arguments);
15014 }
15015
15016 Mail_createClass(Mail, [{
15017 key: "execute",
15018 value: function execute() {
15019 var parameters = ""; // Add subject if the subject parameter exists
15020
15021 if (dlv_umd_default()(this.data, "text_subject", false)) {
15022 parameters += "?subject=".concat(encodeURIComponent(this.data.text_subject || "Subject"));
15023 } // Add body if the body parameter exists
15024
15025
15026 if (dlv_umd_default()(this.data, "text_body", false)) {
15027 parameters += "".concat(parameters !== "" ? "&" : "?", "body=").concat(encodeURIComponent(this.data.text_body));
15028 } // Add body if the body parameter exists
15029
15030
15031 if (dlv_umd_default()(this.data, "text_cc", false)) {
15032 parameters += "".concat(parameters !== "" ? "&" : "?", "cc=").concat(encodeURIComponent(this.data.text_cc));
15033 } // Add body if the body parameter exists
15034
15035
15036 if (dlv_umd_default()(this.data, "text_bcc", false)) {
15037 parameters += "".concat(parameters !== "" ? "&" : "?", "bcc=").concat(encodeURIComponent(this.data.text_bcc));
15038 }
15039
15040 window.location.href = "mailto:".concat(this.data.action).concat(parameters);
15041 }
15042 }]);
15043
15044 return Mail;
15045 }(Action);
15046
15047
15048 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/WhatsAppChat.js
15049 function WhatsAppChat_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { WhatsAppChat_typeof = function _typeof(obj) { return typeof obj; }; } else { WhatsAppChat_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return WhatsAppChat_typeof(obj); }
15050
15051 function WhatsAppChat_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15052
15053 function WhatsAppChat_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15054
15055 function WhatsAppChat_createClass(Constructor, protoProps, staticProps) { if (protoProps) WhatsAppChat_defineProperties(Constructor.prototype, protoProps); if (staticProps) WhatsAppChat_defineProperties(Constructor, staticProps); return Constructor; }
15056
15057 function WhatsAppChat_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) WhatsAppChat_setPrototypeOf(subClass, superClass); }
15058
15059 function WhatsAppChat_setPrototypeOf(o, p) { WhatsAppChat_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return WhatsAppChat_setPrototypeOf(o, p); }
15060
15061 function WhatsAppChat_createSuper(Derived) { var hasNativeReflectConstruct = WhatsAppChat_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = WhatsAppChat_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = WhatsAppChat_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return WhatsAppChat_possibleConstructorReturn(this, result); }; }
15062
15063 function WhatsAppChat_possibleConstructorReturn(self, call) { if (call && (WhatsAppChat_typeof(call) === "object" || typeof call === "function")) { return call; } return WhatsAppChat_assertThisInitialized(self); }
15064
15065 function WhatsAppChat_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15066
15067 function WhatsAppChat_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; } }
15068
15069 function WhatsAppChat_getPrototypeOf(o) { WhatsAppChat_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return WhatsAppChat_getPrototypeOf(o); }
15070
15071
15072
15073
15074 var WhatsAppChat = /*#__PURE__*/function (_Action) {
15075 WhatsAppChat_inherits(WhatsAppChat, _Action);
15076
15077 var _super = WhatsAppChat_createSuper(WhatsAppChat);
15078
15079 function WhatsAppChat() {
15080 WhatsAppChat_classCallCheck(this, WhatsAppChat);
15081
15082 return _super.apply(this, arguments);
15083 }
15084
15085 WhatsAppChat_createClass(WhatsAppChat, [{
15086 key: "execute",
15087 value: function execute() {
15088 var whatsapp = "https://wa.me/".concat(this.data.action); // Add whatsapp body
15089
15090 if (dlv_umd_default()(this.data, "text_body", false)) {
15091 whatsapp += "?text=".concat(encodeURIComponent(this.data.text_body));
15092 }
15093
15094 window.open(whatsapp);
15095 }
15096 }]);
15097
15098 return WhatsAppChat;
15099 }(Action);
15100
15101
15102 ;// CONCATENATED MODULE: ./src/js/frontend/Utils/sliding-scroll.js
15103 /*
15104 * Source: https://github.com/Robbendebiene/Sliding-Scroll/
15105 * y: the y coordinate to scroll, 0 = top
15106 * duration: scroll duration in milliseconds; default is 0 (no transition)
15107 * element: the html element that should be scrolled ; default is the main scrolling element
15108 */
15109 function scrollToY(y) {
15110 var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
15111 var element = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : document.scrollingElement;
15112 // cancel if already on target position
15113 if (element.scrollTop === y) return;
15114 var cosParameter = (element.scrollTop - y) / 2;
15115 var scrollCount = 0,
15116 oldTimestamp = null;
15117
15118 function step(newTimestamp) {
15119 if (oldTimestamp !== null) {
15120 // if duration is 0 scrollCount will be Infinity
15121 scrollCount += Math.PI * (newTimestamp - oldTimestamp) / duration;
15122 if (scrollCount >= Math.PI) return element.scrollTop = y;
15123 element.scrollTop = cosParameter + y + cosParameter * Math.cos(scrollCount);
15124 }
15125
15126 oldTimestamp = newTimestamp;
15127 window.requestAnimationFrame(step);
15128 }
15129
15130 window.requestAnimationFrame(step);
15131 }
15132 /*
15133 * id: the id of the element as a string that should be scrolled to
15134 * duration: scroll duration in milliseconds; default is 0 (no transition)
15135 * this function is using the scrollToY function on the main scrolling element
15136 */
15137
15138 function scrollToId(id) {
15139 var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
15140 var offset = Math.round(document.getElementById(id).getBoundingClientRect().top);
15141 scrollToY(document.scrollingElement.scrollTop + offset, duration);
15142 }
15143 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/BackToTop.js
15144 function BackToTop_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { BackToTop_typeof = function _typeof(obj) { return typeof obj; }; } else { BackToTop_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return BackToTop_typeof(obj); }
15145
15146 function BackToTop_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15147
15148 function BackToTop_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15149
15150 function BackToTop_createClass(Constructor, protoProps, staticProps) { if (protoProps) BackToTop_defineProperties(Constructor.prototype, protoProps); if (staticProps) BackToTop_defineProperties(Constructor, staticProps); return Constructor; }
15151
15152 function BackToTop_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) BackToTop_setPrototypeOf(subClass, superClass); }
15153
15154 function BackToTop_setPrototypeOf(o, p) { BackToTop_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return BackToTop_setPrototypeOf(o, p); }
15155
15156 function BackToTop_createSuper(Derived) { var hasNativeReflectConstruct = BackToTop_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = BackToTop_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = BackToTop_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return BackToTop_possibleConstructorReturn(this, result); }; }
15157
15158 function BackToTop_possibleConstructorReturn(self, call) { if (call && (BackToTop_typeof(call) === "object" || typeof call === "function")) { return call; } return BackToTop_assertThisInitialized(self); }
15159
15160 function BackToTop_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15161
15162 function BackToTop_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; } }
15163
15164 function BackToTop_getPrototypeOf(o) { BackToTop_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return BackToTop_getPrototypeOf(o); }
15165
15166
15167
15168
15169 var BackToTop = /*#__PURE__*/function (_Action) {
15170 BackToTop_inherits(BackToTop, _Action);
15171
15172 var _super = BackToTop_createSuper(BackToTop);
15173
15174 function BackToTop() {
15175 BackToTop_classCallCheck(this, BackToTop);
15176
15177 return _super.apply(this, arguments);
15178 }
15179
15180 BackToTop_createClass(BackToTop, [{
15181 key: "execute",
15182 value: function execute() {
15183 scrollToY(0, 1000);
15184 }
15185 }]);
15186
15187 return BackToTop;
15188 }(Action);
15189
15190
15191 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/GoToBottom.js
15192 function GoToBottom_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { GoToBottom_typeof = function _typeof(obj) { return typeof obj; }; } else { GoToBottom_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return GoToBottom_typeof(obj); }
15193
15194 function GoToBottom_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15195
15196 function GoToBottom_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15197
15198 function GoToBottom_createClass(Constructor, protoProps, staticProps) { if (protoProps) GoToBottom_defineProperties(Constructor.prototype, protoProps); if (staticProps) GoToBottom_defineProperties(Constructor, staticProps); return Constructor; }
15199
15200 function GoToBottom_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) GoToBottom_setPrototypeOf(subClass, superClass); }
15201
15202 function GoToBottom_setPrototypeOf(o, p) { GoToBottom_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return GoToBottom_setPrototypeOf(o, p); }
15203
15204 function GoToBottom_createSuper(Derived) { var hasNativeReflectConstruct = GoToBottom_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = GoToBottom_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = GoToBottom_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return GoToBottom_possibleConstructorReturn(this, result); }; }
15205
15206 function GoToBottom_possibleConstructorReturn(self, call) { if (call && (GoToBottom_typeof(call) === "object" || typeof call === "function")) { return call; } return GoToBottom_assertThisInitialized(self); }
15207
15208 function GoToBottom_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15209
15210 function GoToBottom_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; } }
15211
15212 function GoToBottom_getPrototypeOf(o) { GoToBottom_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return GoToBottom_getPrototypeOf(o); }
15213
15214
15215
15216
15217 var GoToBottom = /*#__PURE__*/function (_Action) {
15218 GoToBottom_inherits(GoToBottom, _Action);
15219
15220 var _super = GoToBottom_createSuper(GoToBottom);
15221
15222 function GoToBottom() {
15223 GoToBottom_classCallCheck(this, GoToBottom);
15224
15225 return _super.apply(this, arguments);
15226 }
15227
15228 GoToBottom_createClass(GoToBottom, [{
15229 key: "execute",
15230 value: function execute() {
15231 scrollToY(Math.max(document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight), 1000);
15232 }
15233 }]);
15234
15235 return GoToBottom;
15236 }(Action);
15237
15238
15239 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/GoBackPage.js
15240 function GoBackPage_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { GoBackPage_typeof = function _typeof(obj) { return typeof obj; }; } else { GoBackPage_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return GoBackPage_typeof(obj); }
15241
15242 function GoBackPage_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15243
15244 function GoBackPage_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15245
15246 function GoBackPage_createClass(Constructor, protoProps, staticProps) { if (protoProps) GoBackPage_defineProperties(Constructor.prototype, protoProps); if (staticProps) GoBackPage_defineProperties(Constructor, staticProps); return Constructor; }
15247
15248 function GoBackPage_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) GoBackPage_setPrototypeOf(subClass, superClass); }
15249
15250 function GoBackPage_setPrototypeOf(o, p) { GoBackPage_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return GoBackPage_setPrototypeOf(o, p); }
15251
15252 function GoBackPage_createSuper(Derived) { var hasNativeReflectConstruct = GoBackPage_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = GoBackPage_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = GoBackPage_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return GoBackPage_possibleConstructorReturn(this, result); }; }
15253
15254 function GoBackPage_possibleConstructorReturn(self, call) { if (call && (GoBackPage_typeof(call) === "object" || typeof call === "function")) { return call; } return GoBackPage_assertThisInitialized(self); }
15255
15256 function GoBackPage_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15257
15258 function GoBackPage_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; } }
15259
15260 function GoBackPage_getPrototypeOf(o) { GoBackPage_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return GoBackPage_getPrototypeOf(o); }
15261
15262
15263
15264 var GoBackPage = /*#__PURE__*/function (_Action) {
15265 GoBackPage_inherits(GoBackPage, _Action);
15266
15267 var _super = GoBackPage_createSuper(GoBackPage);
15268
15269 function GoBackPage() {
15270 GoBackPage_classCallCheck(this, GoBackPage);
15271
15272 return _super.apply(this, arguments);
15273 }
15274
15275 GoBackPage_createClass(GoBackPage, [{
15276 key: "execute",
15277 value: function execute() {
15278 window.history.back();
15279 }
15280 }]);
15281
15282 return GoBackPage;
15283 }(Action);
15284
15285
15286 ;// CONCATENATED MODULE: ./src/js/frontend/Utils/messageAdminEditor.js
15287 /**
15288 * Feature to message the admin buttonizer editor
15289 *
15290 * @param message
15291 */
15292 function messageButtonizerAdminEditor(type, message) {
15293 try {
15294 window.parent.postMessage({
15295 eventType: "buttonizer",
15296 messageType: type,
15297 message: message
15298 }, document.location.origin);
15299 } catch (e) {
15300 console.error("Buttonizer tried to warn you in the front-end editor. But the message didn't came through. Well. Doesn't matter, it's just an extra function. It's nice to have.");
15301 console.error(e);
15302 }
15303 }
15304 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/JavaScriptPro.js
15305 function JavaScriptPro_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { JavaScriptPro_typeof = function _typeof(obj) { return typeof obj; }; } else { JavaScriptPro_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return JavaScriptPro_typeof(obj); }
15306
15307 function JavaScriptPro_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15308
15309 function JavaScriptPro_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15310
15311 function JavaScriptPro_createClass(Constructor, protoProps, staticProps) { if (protoProps) JavaScriptPro_defineProperties(Constructor.prototype, protoProps); if (staticProps) JavaScriptPro_defineProperties(Constructor, staticProps); return Constructor; }
15312
15313 function JavaScriptPro_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) JavaScriptPro_setPrototypeOf(subClass, superClass); }
15314
15315 function JavaScriptPro_setPrototypeOf(o, p) { JavaScriptPro_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return JavaScriptPro_setPrototypeOf(o, p); }
15316
15317 function JavaScriptPro_createSuper(Derived) { var hasNativeReflectConstruct = JavaScriptPro_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = JavaScriptPro_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = JavaScriptPro_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return JavaScriptPro_possibleConstructorReturn(this, result); }; }
15318
15319 function JavaScriptPro_possibleConstructorReturn(self, call) { if (call && (JavaScriptPro_typeof(call) === "object" || typeof call === "function")) { return call; } return JavaScriptPro_assertThisInitialized(self); }
15320
15321 function JavaScriptPro_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15322
15323 function JavaScriptPro_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; } }
15324
15325 function JavaScriptPro_getPrototypeOf(o) { JavaScriptPro_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return JavaScriptPro_getPrototypeOf(o); }
15326
15327
15328
15329
15330 var JavaScriptPro = /*#__PURE__*/function (_Action) {
15331 JavaScriptPro_inherits(JavaScriptPro, _Action);
15332
15333 var _super = JavaScriptPro_createSuper(JavaScriptPro);
15334
15335 function JavaScriptPro() {
15336 JavaScriptPro_classCallCheck(this, JavaScriptPro);
15337
15338 return _super.apply(this, arguments);
15339 }
15340
15341 JavaScriptPro_createClass(JavaScriptPro, [{
15342 key: "execute",
15343 value: function execute() {
15344 // Disable action on standalone
15345 if (window.Buttonizer.isStandalone() || this.data.action === "") return;
15346
15347 try {
15348 Function('"use strict";console.log("BZ - Run");' + decodeURIComponent(this.data.action) + ';console.log("BZ - Finish");')();
15349 } catch (e) {
15350 console.error("Buttonizer error: " + e.message);
15351 messageButtonizerAdminEditor("javascript_error", e.message);
15352 }
15353 }
15354 }]);
15355
15356 return JavaScriptPro;
15357 }(Action);
15358
15359
15360 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/Sms.js
15361 function Sms_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Sms_typeof = function _typeof(obj) { return typeof obj; }; } else { Sms_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Sms_typeof(obj); }
15362
15363 function Sms_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15364
15365 function Sms_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15366
15367 function Sms_createClass(Constructor, protoProps, staticProps) { if (protoProps) Sms_defineProperties(Constructor.prototype, protoProps); if (staticProps) Sms_defineProperties(Constructor, staticProps); return Constructor; }
15368
15369 function Sms_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Sms_setPrototypeOf(subClass, superClass); }
15370
15371 function Sms_setPrototypeOf(o, p) { Sms_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Sms_setPrototypeOf(o, p); }
15372
15373 function Sms_createSuper(Derived) { var hasNativeReflectConstruct = Sms_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Sms_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Sms_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Sms_possibleConstructorReturn(this, result); }; }
15374
15375 function Sms_possibleConstructorReturn(self, call) { if (call && (Sms_typeof(call) === "object" || typeof call === "function")) { return call; } return Sms_assertThisInitialized(self); }
15376
15377 function Sms_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15378
15379 function Sms_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; } }
15380
15381 function Sms_getPrototypeOf(o) { Sms_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Sms_getPrototypeOf(o); }
15382
15383
15384
15385
15386 var Sms = /*#__PURE__*/function (_Action) {
15387 Sms_inherits(Sms, _Action);
15388
15389 var _super = Sms_createSuper(Sms);
15390
15391 function Sms() {
15392 Sms_classCallCheck(this, Sms);
15393
15394 return _super.apply(this, arguments);
15395 }
15396
15397 Sms_createClass(Sms, [{
15398 key: "execute",
15399 value: function execute() {
15400 var sms = "sms:".concat(this.data.action); // Add SMS body
15401
15402 if (dlv_umd_default()(this.data, "text_body", false)) {
15403 sms += ";?&body=".concat(encodeURIComponent(this.data.text_body));
15404 }
15405
15406 window.location.href = sms;
15407 }
15408 }]);
15409
15410 return Sms;
15411 }(Action);
15412
15413
15414 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/MessengerChat.js
15415 function MessengerChat_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { MessengerChat_typeof = function _typeof(obj) { return typeof obj; }; } else { MessengerChat_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return MessengerChat_typeof(obj); }
15416
15417 function MessengerChat_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15418
15419 function MessengerChat_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15420
15421 function MessengerChat_createClass(Constructor, protoProps, staticProps) { if (protoProps) MessengerChat_defineProperties(Constructor.prototype, protoProps); if (staticProps) MessengerChat_defineProperties(Constructor, staticProps); return Constructor; }
15422
15423 function MessengerChat_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) MessengerChat_setPrototypeOf(subClass, superClass); }
15424
15425 function MessengerChat_setPrototypeOf(o, p) { MessengerChat_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return MessengerChat_setPrototypeOf(o, p); }
15426
15427 function MessengerChat_createSuper(Derived) { var hasNativeReflectConstruct = MessengerChat_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = MessengerChat_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = MessengerChat_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return MessengerChat_possibleConstructorReturn(this, result); }; }
15428
15429 function MessengerChat_possibleConstructorReturn(self, call) { if (call && (MessengerChat_typeof(call) === "object" || typeof call === "function")) { return call; } return MessengerChat_assertThisInitialized(self); }
15430
15431 function MessengerChat_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15432
15433 function MessengerChat_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; } }
15434
15435 function MessengerChat_getPrototypeOf(o) { MessengerChat_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return MessengerChat_getPrototypeOf(o); }
15436
15437
15438
15439
15440 var MessengerChat = /*#__PURE__*/function (_Action) {
15441 MessengerChat_inherits(MessengerChat, _Action);
15442
15443 var _super = MessengerChat_createSuper(MessengerChat);
15444
15445 function MessengerChat() {
15446 MessengerChat_classCallCheck(this, MessengerChat);
15447
15448 return _super.apply(this, arguments);
15449 }
15450
15451 MessengerChat_createClass(MessengerChat, [{
15452 key: "execute",
15453 value: function execute() {
15454 var _this = this;
15455
15456 if (typeof window.Buttonizer.initializedFacebookChat !== "undefined") {
15457 // FB Widget is still loading in
15458 if (document.querySelectorAll(".buttonizer-facebook-messenger-loading").length > 0) {
15459 if (this.button.querySelector("[class*=buttonizer-icon]")) {
15460 this.button.querySelector("[class*=buttonizer-icon]").classList = clsx_m(this.stylesheet.classes.icon, "fas fa-spinner buttonizer-spin");
15461 var amountFailed = 0;
15462
15463 var loadMessenger = function loadMessenger() {
15464 _this.button.querySelector("[class*=buttonizer-icon]").classList = clsx_m(_this.stylesheet.classes.icon, _this.data.icon);
15465 FB.CustomerChat.showDialog();
15466 };
15467
15468 var FBWidgetLoading = setInterval(function () {
15469 if (document.querySelectorAll(".buttonizer-facebook-messenger-loading").length === 0 && document.querySelectorAll(".fb_iframe_widget").length > 0) {
15470 loadMessenger();
15471 clearInterval(FBWidgetLoading);
15472 return;
15473 }
15474
15475 amountFailed++;
15476
15477 if (amountFailed > 70) {
15478 console.error("Buttonizer: Sorry, we were unable to open Facebook Messenger! Take a screenshot of the console above and send it to us.");
15479 _this.button.querySelector("[class*=buttonizer-icon]").classList = clsx_m(_this.stylesheet.classes.icon, _this.data.icon);
15480 clearInterval(FBWidgetLoading);
15481 }
15482 }, 250);
15483 }
15484
15485 return;
15486 } // Show widget
15487
15488
15489 FB.CustomerChat.showDialog();
15490 } else {
15491 if (window.Buttonizer.previewInitialized) {
15492 window.Buttonizer.messageButtonizerAdminEditor("warning", "Facebook Messenger button is not found, it may be blocked or this domain is not allowed to load the Facebook widget.");
15493 }
15494 }
15495 }
15496 }]);
15497
15498 return MessengerChat;
15499 }(Action);
15500
15501
15502 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/MessengerLink.js
15503 function MessengerLink_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { MessengerLink_typeof = function _typeof(obj) { return typeof obj; }; } else { MessengerLink_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return MessengerLink_typeof(obj); }
15504
15505 function MessengerLink_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15506
15507 function MessengerLink_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15508
15509 function MessengerLink_createClass(Constructor, protoProps, staticProps) { if (protoProps) MessengerLink_defineProperties(Constructor.prototype, protoProps); if (staticProps) MessengerLink_defineProperties(Constructor, staticProps); return Constructor; }
15510
15511 function MessengerLink_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) MessengerLink_setPrototypeOf(subClass, superClass); }
15512
15513 function MessengerLink_setPrototypeOf(o, p) { MessengerLink_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return MessengerLink_setPrototypeOf(o, p); }
15514
15515 function MessengerLink_createSuper(Derived) { var hasNativeReflectConstruct = MessengerLink_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = MessengerLink_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = MessengerLink_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return MessengerLink_possibleConstructorReturn(this, result); }; }
15516
15517 function MessengerLink_possibleConstructorReturn(self, call) { if (call && (MessengerLink_typeof(call) === "object" || typeof call === "function")) { return call; } return MessengerLink_assertThisInitialized(self); }
15518
15519 function MessengerLink_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15520
15521 function MessengerLink_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; } }
15522
15523 function MessengerLink_getPrototypeOf(o) { MessengerLink_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return MessengerLink_getPrototypeOf(o); }
15524
15525
15526
15527 var MessengerLink = /*#__PURE__*/function (_Action) {
15528 MessengerLink_inherits(MessengerLink, _Action);
15529
15530 var _super = MessengerLink_createSuper(MessengerLink);
15531
15532 function MessengerLink() {
15533 MessengerLink_classCallCheck(this, MessengerLink);
15534
15535 return _super.apply(this, arguments);
15536 }
15537
15538 MessengerLink_createClass(MessengerLink, [{
15539 key: "execute",
15540 value: function execute() {
15541 window.open(this.data.action);
15542 }
15543 }]);
15544
15545 return MessengerLink;
15546 }(Action);
15547
15548
15549 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/TwitterDm.js
15550 function TwitterDm_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { TwitterDm_typeof = function _typeof(obj) { return typeof obj; }; } else { TwitterDm_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return TwitterDm_typeof(obj); }
15551
15552 function TwitterDm_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15553
15554 function TwitterDm_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15555
15556 function TwitterDm_createClass(Constructor, protoProps, staticProps) { if (protoProps) TwitterDm_defineProperties(Constructor.prototype, protoProps); if (staticProps) TwitterDm_defineProperties(Constructor, staticProps); return Constructor; }
15557
15558 function TwitterDm_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) TwitterDm_setPrototypeOf(subClass, superClass); }
15559
15560 function TwitterDm_setPrototypeOf(o, p) { TwitterDm_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return TwitterDm_setPrototypeOf(o, p); }
15561
15562 function TwitterDm_createSuper(Derived) { var hasNativeReflectConstruct = TwitterDm_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = TwitterDm_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = TwitterDm_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return TwitterDm_possibleConstructorReturn(this, result); }; }
15563
15564 function TwitterDm_possibleConstructorReturn(self, call) { if (call && (TwitterDm_typeof(call) === "object" || typeof call === "function")) { return call; } return TwitterDm_assertThisInitialized(self); }
15565
15566 function TwitterDm_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15567
15568 function TwitterDm_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; } }
15569
15570 function TwitterDm_getPrototypeOf(o) { TwitterDm_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return TwitterDm_getPrototypeOf(o); }
15571
15572
15573
15574
15575 var TwitterDm = /*#__PURE__*/function (_Action) {
15576 TwitterDm_inherits(TwitterDm, _Action);
15577
15578 var _super = TwitterDm_createSuper(TwitterDm);
15579
15580 function TwitterDm() {
15581 TwitterDm_classCallCheck(this, TwitterDm);
15582
15583 return _super.apply(this, arguments);
15584 }
15585
15586 TwitterDm_createClass(TwitterDm, [{
15587 key: "execute",
15588 value: function execute() {
15589 var body = dlv_umd_default()(this.data, "body", null);
15590 var dms = "https://twitter.com/messages/compose?recipient_id=".concat(this.data.action).concat(body ? "&text=" + encodeURIComponent(body) : "");
15591 window.open(dms);
15592 }
15593 }]);
15594
15595 return TwitterDm;
15596 }(Action);
15597
15598
15599 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/Skype.js
15600 function Skype_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Skype_typeof = function _typeof(obj) { return typeof obj; }; } else { Skype_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Skype_typeof(obj); }
15601
15602 function Skype_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15603
15604 function Skype_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15605
15606 function Skype_createClass(Constructor, protoProps, staticProps) { if (protoProps) Skype_defineProperties(Constructor.prototype, protoProps); if (staticProps) Skype_defineProperties(Constructor, staticProps); return Constructor; }
15607
15608 function Skype_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Skype_setPrototypeOf(subClass, superClass); }
15609
15610 function Skype_setPrototypeOf(o, p) { Skype_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Skype_setPrototypeOf(o, p); }
15611
15612 function Skype_createSuper(Derived) { var hasNativeReflectConstruct = Skype_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Skype_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Skype_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Skype_possibleConstructorReturn(this, result); }; }
15613
15614 function Skype_possibleConstructorReturn(self, call) { if (call && (Skype_typeof(call) === "object" || typeof call === "function")) { return call; } return Skype_assertThisInitialized(self); }
15615
15616 function Skype_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15617
15618 function Skype_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; } }
15619
15620 function Skype_getPrototypeOf(o) { Skype_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Skype_getPrototypeOf(o); }
15621
15622
15623
15624 var Skype = /*#__PURE__*/function (_Action) {
15625 Skype_inherits(Skype, _Action);
15626
15627 var _super = Skype_createSuper(Skype);
15628
15629 function Skype() {
15630 Skype_classCallCheck(this, Skype);
15631
15632 return _super.apply(this, arguments);
15633 }
15634
15635 Skype_createClass(Skype, [{
15636 key: "execute",
15637 value: function execute() {
15638 window.location.href = "skype:".concat(this.data.action, "?chat");
15639 }
15640 }]);
15641
15642 return Skype;
15643 }(Action);
15644
15645
15646 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/Line.js
15647 function Line_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Line_typeof = function _typeof(obj) { return typeof obj; }; } else { Line_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Line_typeof(obj); }
15648
15649 function Line_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15650
15651 function Line_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15652
15653 function Line_createClass(Constructor, protoProps, staticProps) { if (protoProps) Line_defineProperties(Constructor.prototype, protoProps); if (staticProps) Line_defineProperties(Constructor, staticProps); return Constructor; }
15654
15655 function Line_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Line_setPrototypeOf(subClass, superClass); }
15656
15657 function Line_setPrototypeOf(o, p) { Line_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Line_setPrototypeOf(o, p); }
15658
15659 function Line_createSuper(Derived) { var hasNativeReflectConstruct = Line_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Line_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Line_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Line_possibleConstructorReturn(this, result); }; }
15660
15661 function Line_possibleConstructorReturn(self, call) { if (call && (Line_typeof(call) === "object" || typeof call === "function")) { return call; } return Line_assertThisInitialized(self); }
15662
15663 function Line_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15664
15665 function Line_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; } }
15666
15667 function Line_getPrototypeOf(o) { Line_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Line_getPrototypeOf(o); }
15668
15669
15670
15671 var Line = /*#__PURE__*/function (_Action) {
15672 Line_inherits(Line, _Action);
15673
15674 var _super = Line_createSuper(Line);
15675
15676 function Line() {
15677 Line_classCallCheck(this, Line);
15678
15679 return _super.apply(this, arguments);
15680 }
15681
15682 Line_createClass(Line, [{
15683 key: "execute",
15684 value: function execute() {
15685 window.open("https://line.me/ti/p/~".concat(this.data.action));
15686 }
15687 }]);
15688
15689 return Line;
15690 }(Action);
15691
15692
15693 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/Telegram.js
15694 function Telegram_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Telegram_typeof = function _typeof(obj) { return typeof obj; }; } else { Telegram_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Telegram_typeof(obj); }
15695
15696 function Telegram_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15697
15698 function Telegram_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15699
15700 function Telegram_createClass(Constructor, protoProps, staticProps) { if (protoProps) Telegram_defineProperties(Constructor.prototype, protoProps); if (staticProps) Telegram_defineProperties(Constructor, staticProps); return Constructor; }
15701
15702 function Telegram_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Telegram_setPrototypeOf(subClass, superClass); }
15703
15704 function Telegram_setPrototypeOf(o, p) { Telegram_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Telegram_setPrototypeOf(o, p); }
15705
15706 function Telegram_createSuper(Derived) { var hasNativeReflectConstruct = Telegram_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Telegram_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Telegram_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Telegram_possibleConstructorReturn(this, result); }; }
15707
15708 function Telegram_possibleConstructorReturn(self, call) { if (call && (Telegram_typeof(call) === "object" || typeof call === "function")) { return call; } return Telegram_assertThisInitialized(self); }
15709
15710 function Telegram_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15711
15712 function Telegram_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; } }
15713
15714 function Telegram_getPrototypeOf(o) { Telegram_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Telegram_getPrototypeOf(o); }
15715
15716
15717
15718 var Telegram = /*#__PURE__*/function (_Action) {
15719 Telegram_inherits(Telegram, _Action);
15720
15721 var _super = Telegram_createSuper(Telegram);
15722
15723 function Telegram() {
15724 Telegram_classCallCheck(this, Telegram);
15725
15726 return _super.apply(this, arguments);
15727 }
15728
15729 Telegram_createClass(Telegram, [{
15730 key: "execute",
15731 value: function execute() {
15732 window.open("https://telegram.me/".concat(this.data.action));
15733 }
15734 }]);
15735
15736 return Telegram;
15737 }(Action);
15738
15739
15740 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/Viber.js
15741 function Viber_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Viber_typeof = function _typeof(obj) { return typeof obj; }; } else { Viber_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Viber_typeof(obj); }
15742
15743 function Viber_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15744
15745 function Viber_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15746
15747 function Viber_createClass(Constructor, protoProps, staticProps) { if (protoProps) Viber_defineProperties(Constructor.prototype, protoProps); if (staticProps) Viber_defineProperties(Constructor, staticProps); return Constructor; }
15748
15749 function Viber_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Viber_setPrototypeOf(subClass, superClass); }
15750
15751 function Viber_setPrototypeOf(o, p) { Viber_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Viber_setPrototypeOf(o, p); }
15752
15753 function Viber_createSuper(Derived) { var hasNativeReflectConstruct = Viber_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Viber_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Viber_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Viber_possibleConstructorReturn(this, result); }; }
15754
15755 function Viber_possibleConstructorReturn(self, call) { if (call && (Viber_typeof(call) === "object" || typeof call === "function")) { return call; } return Viber_assertThisInitialized(self); }
15756
15757 function Viber_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15758
15759 function Viber_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; } }
15760
15761 function Viber_getPrototypeOf(o) { Viber_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Viber_getPrototypeOf(o); }
15762
15763
15764
15765 var Viber = /*#__PURE__*/function (_Action) {
15766 Viber_inherits(Viber, _Action);
15767
15768 var _super = Viber_createSuper(Viber);
15769
15770 function Viber() {
15771 Viber_classCallCheck(this, Viber);
15772
15773 return _super.apply(this, arguments);
15774 }
15775
15776 Viber_createClass(Viber, [{
15777 key: "execute",
15778 value: function execute() {
15779 window.location.href = "viber://chat?number=".concat(this.data.action);
15780 }
15781 }]);
15782
15783 return Viber;
15784 }(Action);
15785
15786
15787 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/Facebook.js
15788 function Facebook_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Facebook_typeof = function _typeof(obj) { return typeof obj; }; } else { Facebook_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Facebook_typeof(obj); }
15789
15790 function Facebook_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15791
15792 function Facebook_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15793
15794 function Facebook_createClass(Constructor, protoProps, staticProps) { if (protoProps) Facebook_defineProperties(Constructor.prototype, protoProps); if (staticProps) Facebook_defineProperties(Constructor, staticProps); return Constructor; }
15795
15796 function Facebook_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Facebook_setPrototypeOf(subClass, superClass); }
15797
15798 function Facebook_setPrototypeOf(o, p) { Facebook_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Facebook_setPrototypeOf(o, p); }
15799
15800 function Facebook_createSuper(Derived) { var hasNativeReflectConstruct = Facebook_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Facebook_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Facebook_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Facebook_possibleConstructorReturn(this, result); }; }
15801
15802 function Facebook_possibleConstructorReturn(self, call) { if (call && (Facebook_typeof(call) === "object" || typeof call === "function")) { return call; } return Facebook_assertThisInitialized(self); }
15803
15804 function Facebook_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15805
15806 function Facebook_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; } }
15807
15808 function Facebook_getPrototypeOf(o) { Facebook_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Facebook_getPrototypeOf(o); }
15809
15810
15811
15812 var Facebook = /*#__PURE__*/function (_Action) {
15813 Facebook_inherits(Facebook, _Action);
15814
15815 var _super = Facebook_createSuper(Facebook);
15816
15817 function Facebook() {
15818 Facebook_classCallCheck(this, Facebook);
15819
15820 return _super.apply(this, arguments);
15821 }
15822
15823 Facebook_createClass(Facebook, [{
15824 key: "execute",
15825 value: function execute() {
15826 window.open("https://www.facebook.com/".concat(this.data.action));
15827 }
15828 }]);
15829
15830 return Facebook;
15831 }(Action);
15832
15833
15834 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/Twitter.js
15835 function Twitter_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Twitter_typeof = function _typeof(obj) { return typeof obj; }; } else { Twitter_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Twitter_typeof(obj); }
15836
15837 function Twitter_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15838
15839 function Twitter_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15840
15841 function Twitter_createClass(Constructor, protoProps, staticProps) { if (protoProps) Twitter_defineProperties(Constructor.prototype, protoProps); if (staticProps) Twitter_defineProperties(Constructor, staticProps); return Constructor; }
15842
15843 function Twitter_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Twitter_setPrototypeOf(subClass, superClass); }
15844
15845 function Twitter_setPrototypeOf(o, p) { Twitter_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Twitter_setPrototypeOf(o, p); }
15846
15847 function Twitter_createSuper(Derived) { var hasNativeReflectConstruct = Twitter_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Twitter_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Twitter_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Twitter_possibleConstructorReturn(this, result); }; }
15848
15849 function Twitter_possibleConstructorReturn(self, call) { if (call && (Twitter_typeof(call) === "object" || typeof call === "function")) { return call; } return Twitter_assertThisInitialized(self); }
15850
15851 function Twitter_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15852
15853 function Twitter_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; } }
15854
15855 function Twitter_getPrototypeOf(o) { Twitter_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Twitter_getPrototypeOf(o); }
15856
15857
15858
15859 var Twitter = /*#__PURE__*/function (_Action) {
15860 Twitter_inherits(Twitter, _Action);
15861
15862 var _super = Twitter_createSuper(Twitter);
15863
15864 function Twitter() {
15865 Twitter_classCallCheck(this, Twitter);
15866
15867 return _super.apply(this, arguments);
15868 }
15869
15870 Twitter_createClass(Twitter, [{
15871 key: "execute",
15872 value: function execute() {
15873 window.open("https://twitter.com/".concat(this.data.action));
15874 }
15875 }]);
15876
15877 return Twitter;
15878 }(Action);
15879
15880
15881 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/Instagram.js
15882 function Instagram_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Instagram_typeof = function _typeof(obj) { return typeof obj; }; } else { Instagram_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Instagram_typeof(obj); }
15883
15884 function Instagram_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15885
15886 function Instagram_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15887
15888 function Instagram_createClass(Constructor, protoProps, staticProps) { if (protoProps) Instagram_defineProperties(Constructor.prototype, protoProps); if (staticProps) Instagram_defineProperties(Constructor, staticProps); return Constructor; }
15889
15890 function Instagram_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Instagram_setPrototypeOf(subClass, superClass); }
15891
15892 function Instagram_setPrototypeOf(o, p) { Instagram_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Instagram_setPrototypeOf(o, p); }
15893
15894 function Instagram_createSuper(Derived) { var hasNativeReflectConstruct = Instagram_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Instagram_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Instagram_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Instagram_possibleConstructorReturn(this, result); }; }
15895
15896 function Instagram_possibleConstructorReturn(self, call) { if (call && (Instagram_typeof(call) === "object" || typeof call === "function")) { return call; } return Instagram_assertThisInitialized(self); }
15897
15898 function Instagram_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15899
15900 function Instagram_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; } }
15901
15902 function Instagram_getPrototypeOf(o) { Instagram_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Instagram_getPrototypeOf(o); }
15903
15904
15905
15906 var Instagram = /*#__PURE__*/function (_Action) {
15907 Instagram_inherits(Instagram, _Action);
15908
15909 var _super = Instagram_createSuper(Instagram);
15910
15911 function Instagram() {
15912 Instagram_classCallCheck(this, Instagram);
15913
15914 return _super.apply(this, arguments);
15915 }
15916
15917 Instagram_createClass(Instagram, [{
15918 key: "execute",
15919 value: function execute() {
15920 window.open("https://www.instagram.com/".concat(this.data.action));
15921 }
15922 }]);
15923
15924 return Instagram;
15925 }(Action);
15926
15927
15928 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/Snapchat.js
15929 function Snapchat_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Snapchat_typeof = function _typeof(obj) { return typeof obj; }; } else { Snapchat_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Snapchat_typeof(obj); }
15930
15931 function Snapchat_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15932
15933 function Snapchat_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15934
15935 function Snapchat_createClass(Constructor, protoProps, staticProps) { if (protoProps) Snapchat_defineProperties(Constructor.prototype, protoProps); if (staticProps) Snapchat_defineProperties(Constructor, staticProps); return Constructor; }
15936
15937 function Snapchat_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Snapchat_setPrototypeOf(subClass, superClass); }
15938
15939 function Snapchat_setPrototypeOf(o, p) { Snapchat_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Snapchat_setPrototypeOf(o, p); }
15940
15941 function Snapchat_createSuper(Derived) { var hasNativeReflectConstruct = Snapchat_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Snapchat_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Snapchat_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Snapchat_possibleConstructorReturn(this, result); }; }
15942
15943 function Snapchat_possibleConstructorReturn(self, call) { if (call && (Snapchat_typeof(call) === "object" || typeof call === "function")) { return call; } return Snapchat_assertThisInitialized(self); }
15944
15945 function Snapchat_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15946
15947 function Snapchat_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; } }
15948
15949 function Snapchat_getPrototypeOf(o) { Snapchat_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Snapchat_getPrototypeOf(o); }
15950
15951
15952
15953 var Snapchat = /*#__PURE__*/function (_Action) {
15954 Snapchat_inherits(Snapchat, _Action);
15955
15956 var _super = Snapchat_createSuper(Snapchat);
15957
15958 function Snapchat() {
15959 Snapchat_classCallCheck(this, Snapchat);
15960
15961 return _super.apply(this, arguments);
15962 }
15963
15964 Snapchat_createClass(Snapchat, [{
15965 key: "execute",
15966 value: function execute() {
15967 window.open("https://www.snapchat.com/add/".concat(this.data.action));
15968 }
15969 }]);
15970
15971 return Snapchat;
15972 }(Action);
15973
15974
15975 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/Linkedin.js
15976 function Linkedin_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Linkedin_typeof = function _typeof(obj) { return typeof obj; }; } else { Linkedin_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Linkedin_typeof(obj); }
15977
15978 function Linkedin_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15979
15980 function Linkedin_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15981
15982 function Linkedin_createClass(Constructor, protoProps, staticProps) { if (protoProps) Linkedin_defineProperties(Constructor.prototype, protoProps); if (staticProps) Linkedin_defineProperties(Constructor, staticProps); return Constructor; }
15983
15984 function Linkedin_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Linkedin_setPrototypeOf(subClass, superClass); }
15985
15986 function Linkedin_setPrototypeOf(o, p) { Linkedin_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Linkedin_setPrototypeOf(o, p); }
15987
15988 function Linkedin_createSuper(Derived) { var hasNativeReflectConstruct = Linkedin_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Linkedin_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Linkedin_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Linkedin_possibleConstructorReturn(this, result); }; }
15989
15990 function Linkedin_possibleConstructorReturn(self, call) { if (call && (Linkedin_typeof(call) === "object" || typeof call === "function")) { return call; } return Linkedin_assertThisInitialized(self); }
15991
15992 function Linkedin_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15993
15994 function Linkedin_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; } }
15995
15996 function Linkedin_getPrototypeOf(o) { Linkedin_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Linkedin_getPrototypeOf(o); }
15997
15998
15999
16000 var Linkedin_Snapchat = /*#__PURE__*/function (_Action) {
16001 Linkedin_inherits(Snapchat, _Action);
16002
16003 var _super = Linkedin_createSuper(Snapchat);
16004
16005 function Snapchat() {
16006 Linkedin_classCallCheck(this, Snapchat);
16007
16008 return _super.apply(this, arguments);
16009 }
16010
16011 Linkedin_createClass(Snapchat, [{
16012 key: "execute",
16013 value: function execute() {
16014 window.open("https://www.linkedin.com/".concat(this.data.action));
16015 }
16016 }]);
16017
16018 return Snapchat;
16019 }(Action);
16020
16021
16022 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/Vk.js
16023 function Vk_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Vk_typeof = function _typeof(obj) { return typeof obj; }; } else { Vk_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Vk_typeof(obj); }
16024
16025 function Vk_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
16026
16027 function Vk_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
16028
16029 function Vk_createClass(Constructor, protoProps, staticProps) { if (protoProps) Vk_defineProperties(Constructor.prototype, protoProps); if (staticProps) Vk_defineProperties(Constructor, staticProps); return Constructor; }
16030
16031 function Vk_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Vk_setPrototypeOf(subClass, superClass); }
16032
16033 function Vk_setPrototypeOf(o, p) { Vk_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Vk_setPrototypeOf(o, p); }
16034
16035 function Vk_createSuper(Derived) { var hasNativeReflectConstruct = Vk_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Vk_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Vk_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Vk_possibleConstructorReturn(this, result); }; }
16036
16037 function Vk_possibleConstructorReturn(self, call) { if (call && (Vk_typeof(call) === "object" || typeof call === "function")) { return call; } return Vk_assertThisInitialized(self); }
16038
16039 function Vk_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
16040
16041 function Vk_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; } }
16042
16043 function Vk_getPrototypeOf(o) { Vk_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Vk_getPrototypeOf(o); }
16044
16045
16046
16047 var Vk = /*#__PURE__*/function (_Action) {
16048 Vk_inherits(Vk, _Action);
16049
16050 var _super = Vk_createSuper(Vk);
16051
16052 function Vk() {
16053 Vk_classCallCheck(this, Vk);
16054
16055 return _super.apply(this, arguments);
16056 }
16057
16058 Vk_createClass(Vk, [{
16059 key: "execute",
16060 value: function execute() {
16061 window.open("https://vk.me/".concat(this.data.action));
16062 }
16063 }]);
16064
16065 return Vk;
16066 }(Action);
16067
16068
16069 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/Waze.js
16070 function Waze_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Waze_typeof = function _typeof(obj) { return typeof obj; }; } else { Waze_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Waze_typeof(obj); }
16071
16072 function Waze_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
16073
16074 function Waze_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
16075
16076 function Waze_createClass(Constructor, protoProps, staticProps) { if (protoProps) Waze_defineProperties(Constructor.prototype, protoProps); if (staticProps) Waze_defineProperties(Constructor, staticProps); return Constructor; }
16077
16078 function Waze_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Waze_setPrototypeOf(subClass, superClass); }
16079
16080 function Waze_setPrototypeOf(o, p) { Waze_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Waze_setPrototypeOf(o, p); }
16081
16082 function Waze_createSuper(Derived) { var hasNativeReflectConstruct = Waze_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Waze_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Waze_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Waze_possibleConstructorReturn(this, result); }; }
16083
16084 function Waze_possibleConstructorReturn(self, call) { if (call && (Waze_typeof(call) === "object" || typeof call === "function")) { return call; } return Waze_assertThisInitialized(self); }
16085
16086 function Waze_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
16087
16088 function Waze_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; } }
16089
16090 function Waze_getPrototypeOf(o) { Waze_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Waze_getPrototypeOf(o); }
16091
16092
16093
16094 var Waze = /*#__PURE__*/function (_Action) {
16095 Waze_inherits(Waze, _Action);
16096
16097 var _super = Waze_createSuper(Waze);
16098
16099 function Waze() {
16100 Waze_classCallCheck(this, Waze);
16101
16102 return _super.apply(this, arguments);
16103 }
16104
16105 Waze_createClass(Waze, [{
16106 key: "execute",
16107 value: function execute() {
16108 window.location.href = this.data.action;
16109 }
16110 }]);
16111
16112 return Waze;
16113 }(Action);
16114
16115
16116 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/ElementorPopup.js
16117 function ElementorPopup_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { ElementorPopup_typeof = function _typeof(obj) { return typeof obj; }; } else { ElementorPopup_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return ElementorPopup_typeof(obj); }
16118
16119 function ElementorPopup_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
16120
16121 function ElementorPopup_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
16122
16123 function ElementorPopup_createClass(Constructor, protoProps, staticProps) { if (protoProps) ElementorPopup_defineProperties(Constructor.prototype, protoProps); if (staticProps) ElementorPopup_defineProperties(Constructor, staticProps); return Constructor; }
16124
16125 function ElementorPopup_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ElementorPopup_setPrototypeOf(subClass, superClass); }
16126
16127 function ElementorPopup_setPrototypeOf(o, p) { ElementorPopup_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ElementorPopup_setPrototypeOf(o, p); }
16128
16129 function ElementorPopup_createSuper(Derived) { var hasNativeReflectConstruct = ElementorPopup_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = ElementorPopup_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = ElementorPopup_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return ElementorPopup_possibleConstructorReturn(this, result); }; }
16130
16131 function ElementorPopup_possibleConstructorReturn(self, call) { if (call && (ElementorPopup_typeof(call) === "object" || typeof call === "function")) { return call; } return ElementorPopup_assertThisInitialized(self); }
16132
16133 function ElementorPopup_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
16134
16135 function ElementorPopup_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; } }
16136
16137 function ElementorPopup_getPrototypeOf(o) { ElementorPopup_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ElementorPopup_getPrototypeOf(o); }
16138
16139
16140
16141 var ElementorPopup = /*#__PURE__*/function (_Action) {
16142 ElementorPopup_inherits(ElementorPopup, _Action);
16143
16144 var _super = ElementorPopup_createSuper(ElementorPopup);
16145
16146 function ElementorPopup() {
16147 ElementorPopup_classCallCheck(this, ElementorPopup);
16148
16149 return _super.apply(this, arguments);
16150 }
16151
16152 ElementorPopup_createClass(ElementorPopup, [{
16153 key: "addAttr",
16154 value: function addAttr() {
16155 return {
16156 attr: this.data.action.substring(this.data.action.length - 3) === "Ev2" ? "buttonizer-popup" : "href",
16157 val: "#" + this.data.action
16158 };
16159 }
16160 }]);
16161
16162 return ElementorPopup;
16163 }(Action);
16164
16165
16166 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/PopupMaker.js
16167 function PopupMaker_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { PopupMaker_typeof = function _typeof(obj) { return typeof obj; }; } else { PopupMaker_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return PopupMaker_typeof(obj); }
16168
16169 function PopupMaker_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
16170
16171 function PopupMaker_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
16172
16173 function PopupMaker_createClass(Constructor, protoProps, staticProps) { if (protoProps) PopupMaker_defineProperties(Constructor.prototype, protoProps); if (staticProps) PopupMaker_defineProperties(Constructor, staticProps); return Constructor; }
16174
16175 function PopupMaker_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) PopupMaker_setPrototypeOf(subClass, superClass); }
16176
16177 function PopupMaker_setPrototypeOf(o, p) { PopupMaker_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return PopupMaker_setPrototypeOf(o, p); }
16178
16179 function PopupMaker_createSuper(Derived) { var hasNativeReflectConstruct = PopupMaker_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = PopupMaker_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = PopupMaker_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return PopupMaker_possibleConstructorReturn(this, result); }; }
16180
16181 function PopupMaker_possibleConstructorReturn(self, call) { if (call && (PopupMaker_typeof(call) === "object" || typeof call === "function")) { return call; } return PopupMaker_assertThisInitialized(self); }
16182
16183 function PopupMaker_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
16184
16185 function PopupMaker_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; } }
16186
16187 function PopupMaker_getPrototypeOf(o) { PopupMaker_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return PopupMaker_getPrototypeOf(o); }
16188
16189
16190
16191 var PopupMaker = /*#__PURE__*/function (_Action) {
16192 PopupMaker_inherits(PopupMaker, _Action);
16193
16194 var _super = PopupMaker_createSuper(PopupMaker);
16195
16196 function PopupMaker() {
16197 PopupMaker_classCallCheck(this, PopupMaker);
16198
16199 return _super.apply(this, arguments);
16200 }
16201
16202 PopupMaker_createClass(PopupMaker, [{
16203 key: "addAttr",
16204 value: function addAttr() {
16205 return {
16206 attr: this.data.action.substring(this.data.action.length - 3) === "Pv2" ? "buttonizer-popup" : "href",
16207 val: "#" + this.data.action
16208 };
16209 }
16210 }]);
16211
16212 return PopupMaker;
16213 }(Action);
16214
16215
16216 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/Popups.js
16217 function Popups_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Popups_typeof = function _typeof(obj) { return typeof obj; }; } else { Popups_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Popups_typeof(obj); }
16218
16219 function Popups_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
16220
16221 function Popups_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
16222
16223 function Popups_createClass(Constructor, protoProps, staticProps) { if (protoProps) Popups_defineProperties(Constructor.prototype, protoProps); if (staticProps) Popups_defineProperties(Constructor, staticProps); return Constructor; }
16224
16225 function Popups_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Popups_setPrototypeOf(subClass, superClass); }
16226
16227 function Popups_setPrototypeOf(o, p) { Popups_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Popups_setPrototypeOf(o, p); }
16228
16229 function Popups_createSuper(Derived) { var hasNativeReflectConstruct = Popups_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Popups_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Popups_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Popups_possibleConstructorReturn(this, result); }; }
16230
16231 function Popups_possibleConstructorReturn(self, call) { if (call && (Popups_typeof(call) === "object" || typeof call === "function")) { return call; } return Popups_assertThisInitialized(self); }
16232
16233 function Popups_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
16234
16235 function Popups_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; } }
16236
16237 function Popups_getPrototypeOf(o) { Popups_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Popups_getPrototypeOf(o); }
16238
16239
16240
16241 var Popups = /*#__PURE__*/function (_Action) {
16242 Popups_inherits(Popups, _Action);
16243
16244 var _super = Popups_createSuper(Popups);
16245
16246 function Popups() {
16247 Popups_classCallCheck(this, Popups);
16248
16249 return _super.apply(this, arguments);
16250 }
16251
16252 Popups_createClass(Popups, [{
16253 key: "execute",
16254 value: function execute() {
16255 if (!window.SPU) return;
16256 var remove = this.data.action; // is NaN
16257
16258 if (isNaN(remove)) {
16259 remove = remove.replace(/\D/g, "");
16260 } // Show popup
16261
16262
16263 window.SPU.show(remove);
16264 }
16265 }]);
16266
16267 return Popups;
16268 }(Action);
16269
16270
16271 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/WPPopups.js
16272 function WPPopups_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { WPPopups_typeof = function _typeof(obj) { return typeof obj; }; } else { WPPopups_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return WPPopups_typeof(obj); }
16273
16274 function WPPopups_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
16275
16276 function WPPopups_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
16277
16278 function WPPopups_createClass(Constructor, protoProps, staticProps) { if (protoProps) WPPopups_defineProperties(Constructor.prototype, protoProps); if (staticProps) WPPopups_defineProperties(Constructor, staticProps); return Constructor; }
16279
16280 function WPPopups_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) WPPopups_setPrototypeOf(subClass, superClass); }
16281
16282 function WPPopups_setPrototypeOf(o, p) { WPPopups_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return WPPopups_setPrototypeOf(o, p); }
16283
16284 function WPPopups_createSuper(Derived) { var hasNativeReflectConstruct = WPPopups_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = WPPopups_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = WPPopups_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return WPPopups_possibleConstructorReturn(this, result); }; }
16285
16286 function WPPopups_possibleConstructorReturn(self, call) { if (call && (WPPopups_typeof(call) === "object" || typeof call === "function")) { return call; } return WPPopups_assertThisInitialized(self); }
16287
16288 function WPPopups_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
16289
16290 function WPPopups_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; } }
16291
16292 function WPPopups_getPrototypeOf(o) { WPPopups_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return WPPopups_getPrototypeOf(o); }
16293
16294
16295
16296 var WPPopups = /*#__PURE__*/function (_Action) {
16297 WPPopups_inherits(WPPopups, _Action);
16298
16299 var _super = WPPopups_createSuper(WPPopups);
16300
16301 function WPPopups() {
16302 WPPopups_classCallCheck(this, WPPopups);
16303
16304 return _super.apply(this, arguments);
16305 }
16306
16307 WPPopups_createClass(WPPopups, [{
16308 key: "execute",
16309 value: function execute() {
16310 if (!window.wppopups) return;
16311 var remove = this.data.action; // is NaN
16312
16313 if (isNaN(remove)) {
16314 remove = remove.replace(/\D/g, "");
16315 } // Show popup
16316
16317
16318 window.wppopups.showPopup(remove, true);
16319 }
16320 }]);
16321
16322 return WPPopups;
16323 }(Action);
16324
16325
16326 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/Print.js
16327 function Print_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Print_typeof = function _typeof(obj) { return typeof obj; }; } else { Print_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Print_typeof(obj); }
16328
16329 function Print_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
16330
16331 function Print_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
16332
16333 function Print_createClass(Constructor, protoProps, staticProps) { if (protoProps) Print_defineProperties(Constructor.prototype, protoProps); if (staticProps) Print_defineProperties(Constructor, staticProps); return Constructor; }
16334
16335 function Print_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Print_setPrototypeOf(subClass, superClass); }
16336
16337 function Print_setPrototypeOf(o, p) { Print_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Print_setPrototypeOf(o, p); }
16338
16339 function Print_createSuper(Derived) { var hasNativeReflectConstruct = Print_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Print_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Print_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Print_possibleConstructorReturn(this, result); }; }
16340
16341 function Print_possibleConstructorReturn(self, call) { if (call && (Print_typeof(call) === "object" || typeof call === "function")) { return call; } return Print_assertThisInitialized(self); }
16342
16343 function Print_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
16344
16345 function Print_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; } }
16346
16347 function Print_getPrototypeOf(o) { Print_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Print_getPrototypeOf(o); }
16348
16349
16350
16351 var Print_PopupMaker = /*#__PURE__*/function (_Action) {
16352 Print_inherits(PopupMaker, _Action);
16353
16354 var _super = Print_createSuper(PopupMaker);
16355
16356 function PopupMaker() {
16357 Print_classCallCheck(this, PopupMaker);
16358
16359 return _super.apply(this, arguments);
16360 }
16361
16362 Print_createClass(PopupMaker, [{
16363 key: "execute",
16364 value: function execute() {
16365 window.print();
16366 }
16367 }]);
16368
16369 return PopupMaker;
16370 }(Action);
16371
16372
16373 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/Clipboard.js
16374 function Clipboard_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { Clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Clipboard_typeof(obj); }
16375
16376 function Clipboard_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
16377
16378 function Clipboard_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
16379
16380 function Clipboard_createClass(Constructor, protoProps, staticProps) { if (protoProps) Clipboard_defineProperties(Constructor.prototype, protoProps); if (staticProps) Clipboard_defineProperties(Constructor, staticProps); return Constructor; }
16381
16382 function Clipboard_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Clipboard_setPrototypeOf(subClass, superClass); }
16383
16384 function Clipboard_setPrototypeOf(o, p) { Clipboard_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Clipboard_setPrototypeOf(o, p); }
16385
16386 function Clipboard_createSuper(Derived) { var hasNativeReflectConstruct = Clipboard_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Clipboard_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Clipboard_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Clipboard_possibleConstructorReturn(this, result); }; }
16387
16388 function Clipboard_possibleConstructorReturn(self, call) { if (call && (Clipboard_typeof(call) === "object" || typeof call === "function")) { return call; } return Clipboard_assertThisInitialized(self); }
16389
16390 function Clipboard_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
16391
16392 function Clipboard_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; } }
16393
16394 function Clipboard_getPrototypeOf(o) { Clipboard_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Clipboard_getPrototypeOf(o); }
16395
16396
16397
16398
16399 var Clipboard = /*#__PURE__*/function (_Action) {
16400 Clipboard_inherits(Clipboard, _Action);
16401
16402 var _super = Clipboard_createSuper(Clipboard);
16403
16404 function Clipboard() {
16405 Clipboard_classCallCheck(this, Clipboard);
16406
16407 return _super.apply(this, arguments);
16408 }
16409
16410 Clipboard_createClass(Clipboard, [{
16411 key: "execute",
16412 value: function execute() {
16413 this.copyClipboard();
16414 }
16415 }, {
16416 key: "copyClipboard",
16417 value: function copyClipboard() {
16418 var _this = this;
16419
16420 var searchString = "".concat(document.location.href.indexOf("?") >= 0 ? "&" : "?", "utm_source=buttonizer");
16421 console.log("".concat(document.location.href).concat(searchString)); // New API to access clipboard
16422
16423 navigator.clipboard.writeText("".concat(document.location.href).concat(searchString));
16424
16425 if (this.button.querySelector("[class*=buttonizer-icon]")) {
16426 this.button.querySelector("[class*=buttonizer-icon]").classList = clsx_m(this.stylesheet.classes.icon, "fa fa-check"); // remove label
16427
16428 setTimeout(function () {
16429 _this.button.querySelector("[class*=buttonizer-icon]").classList = clsx_m(_this.stylesheet.classes.icon, _this.data.icon);
16430 }, 2500);
16431 }
16432 }
16433 }]);
16434
16435 return Clipboard;
16436 }(Action);
16437
16438
16439 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/Poptin.js
16440 function Poptin_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Poptin_typeof = function _typeof(obj) { return typeof obj; }; } else { Poptin_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Poptin_typeof(obj); }
16441
16442 function Poptin_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
16443
16444 function Poptin_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
16445
16446 function Poptin_createClass(Constructor, protoProps, staticProps) { if (protoProps) Poptin_defineProperties(Constructor.prototype, protoProps); if (staticProps) Poptin_defineProperties(Constructor, staticProps); return Constructor; }
16447
16448 function Poptin_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Poptin_setPrototypeOf(subClass, superClass); }
16449
16450 function Poptin_setPrototypeOf(o, p) { Poptin_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Poptin_setPrototypeOf(o, p); }
16451
16452 function Poptin_createSuper(Derived) { var hasNativeReflectConstruct = Poptin_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Poptin_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Poptin_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Poptin_possibleConstructorReturn(this, result); }; }
16453
16454 function Poptin_possibleConstructorReturn(self, call) { if (call && (Poptin_typeof(call) === "object" || typeof call === "function")) { return call; } return Poptin_assertThisInitialized(self); }
16455
16456 function Poptin_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
16457
16458 function Poptin_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; } }
16459
16460 function Poptin_getPrototypeOf(o) { Poptin_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Poptin_getPrototypeOf(o); }
16461
16462
16463
16464 var Poptin = /*#__PURE__*/function (_Action) {
16465 Poptin_inherits(Poptin, _Action);
16466
16467 var _super = Poptin_createSuper(Poptin);
16468
16469 function Poptin() {
16470 Poptin_classCallCheck(this, Poptin);
16471
16472 return _super.apply(this, arguments);
16473 }
16474
16475 Poptin_createClass(Poptin, [{
16476 key: "addAttr",
16477 value: function addAttr() {
16478 return {
16479 attr: "href",
16480 val: this.data.action
16481 };
16482 }
16483 }]);
16484
16485 return Poptin;
16486 }(Action);
16487
16488
16489 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/OpenGroup.js
16490 function OpenGroup_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { OpenGroup_typeof = function _typeof(obj) { return typeof obj; }; } else { OpenGroup_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return OpenGroup_typeof(obj); }
16491
16492 function OpenGroup_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
16493
16494 function OpenGroup_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
16495
16496 function OpenGroup_createClass(Constructor, protoProps, staticProps) { if (protoProps) OpenGroup_defineProperties(Constructor.prototype, protoProps); if (staticProps) OpenGroup_defineProperties(Constructor, staticProps); return Constructor; }
16497
16498 function OpenGroup_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) OpenGroup_setPrototypeOf(subClass, superClass); }
16499
16500 function OpenGroup_setPrototypeOf(o, p) { OpenGroup_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return OpenGroup_setPrototypeOf(o, p); }
16501
16502 function OpenGroup_createSuper(Derived) { var hasNativeReflectConstruct = OpenGroup_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = OpenGroup_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = OpenGroup_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return OpenGroup_possibleConstructorReturn(this, result); }; }
16503
16504 function OpenGroup_possibleConstructorReturn(self, call) { if (call && (OpenGroup_typeof(call) === "object" || typeof call === "function")) { return call; } return OpenGroup_assertThisInitialized(self); }
16505
16506 function OpenGroup_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
16507
16508 function OpenGroup_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; } }
16509
16510 function OpenGroup_getPrototypeOf(o) { OpenGroup_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return OpenGroup_getPrototypeOf(o); }
16511
16512
16513
16514 var OpenGroup = /*#__PURE__*/function (_Action) {
16515 OpenGroup_inherits(OpenGroup, _Action);
16516
16517 var _super = OpenGroup_createSuper(OpenGroup);
16518
16519 function OpenGroup() {
16520 OpenGroup_classCallCheck(this, OpenGroup);
16521
16522 return _super.apply(this, arguments);
16523 }
16524
16525 OpenGroup_createClass(OpenGroup, [{
16526 key: "execute",
16527 value: // Toggle group
16528 function execute() {
16529 window.Buttonizer.toggle(this.groupId);
16530 }
16531 }]);
16532
16533 return OpenGroup;
16534 }(Action);
16535
16536
16537 ;// CONCATENATED MODULE: ./src/js/utils/social-share-media.js
16538 /*
16539 * This file has been forked/copied/stolen from https://github.com/bradvin/social-share-urls.
16540 * This Software is licensed under the permissive BSD-3-Clause License, so we can use it in closed-source commercial projects for free.
16541 * Since the rep is updated well, we should update this file once in a while. Also, it should be really easy to add social sharing links this way.
16542 *
16543 * Updated 17 june 2021
16544 */
16545 var action2api = {
16546 facebook: "facebook",
16547 twitter: "twitter",
16548 whatsapp: "whatsapp",
16549 linkedin: "linkedin",
16550 pinterest: "pinterest",
16551 mail: "email",
16552 reddit: "reddit",
16553 tumblr: "tumblr",
16554 weibo: "weibo",
16555 vk: "vk",
16556 ok: "ok.ru",
16557 xing: "xing",
16558 blogger: "blogger",
16559 flipboard: "flipboard",
16560 line: "line.me"
16561 };
16562 var actionShouldPopup = {
16563 facebook: true,
16564 twitter: true,
16565 whatsapp: false,
16566 linkedin: true,
16567 pinterest: false,
16568 mail: "href",
16569 reddit: false,
16570 tumblr: false,
16571 weibo: false,
16572 vk: false,
16573 ok: false,
16574 xing: false,
16575 blogger: false,
16576 flipboard: false,
16577 line: false
16578 }; // Social Media Site Links With Share Links
16579 // -------------------------------------------------
16580
16581 function GetSocialMediaSiteLinks_WithShareLinks(args) {
16582 var validargs = ["url", "title", "image", "desc", "appid", "redirecturl", "via", "hashtags", "provider", "language", "userid", "category", "phonenumber", "emailaddress", "cemailaddress", "bccemailaddress"];
16583
16584 for (var i = 0; i < validargs.length; i++) {
16585 var validarg = validargs[i];
16586
16587 if (!args[validarg]) {
16588 args[validarg] = "";
16589 }
16590 }
16591
16592 var url = fixedEncodeURIComponent(args.url);
16593 var title = fixedEncodeURIComponent(args.title);
16594 var image = fixedEncodeURIComponent(args.image);
16595 var desc = fixedEncodeURIComponent(args.desc); // const app_id = fixedEncodeURIComponent(args.appid);
16596 // const redirect_url = fixedEncodeURIComponent(args.redirecturl);
16597
16598 var via = fixedEncodeURIComponent(args.via);
16599 var hash_tags = fixedEncodeURIComponent(args.hashtags); // const provider = fixedEncodeURIComponent(args.provider);
16600
16601 var language = fixedEncodeURIComponent(args.language);
16602 var user_id = fixedEncodeURIComponent(args.userid);
16603 var category = fixedEncodeURIComponent(args.category);
16604 var phone_number = fixedEncodeURIComponent(args.phonenumber);
16605 var email_address = fixedEncodeURIComponent(args.emailaddress);
16606 var cc_email_address = fixedEncodeURIComponent(args.ccemailaddress);
16607 var bcc_email_address = fixedEncodeURIComponent(args.bccemailaddress);
16608 var text = title;
16609
16610 if (desc) {
16611 if (title) text += "%20%3A%20"; // This is just this, " : "
16612
16613 text += desc;
16614 }
16615
16616 return {
16617 "add.this": "http://www.addthis.com/bookmark.php?url=" + url,
16618 blogger: "https://www.blogger.com/blog-this.g?u=" + url + "&n=" + title + "&t=" + desc,
16619 buffer: "https://buffer.com/add?text=" + text + "&url=" + url,
16620 diaspora: "https://share.diasporafoundation.org/?title=" + title + "&url=" + url,
16621 douban: "http://www.douban.com/recommend/?url=" + url + "&title=" + text,
16622 email: "mailto:" + email_address + "?subject=" + title + "&body=" + desc,
16623 evernote: "https://www.evernote.com/clip.action?url=" + url + "&title=" + text,
16624 getpocket: "https://getpocket.com/edit?url=" + url,
16625 facebook: "http://www.facebook.com/sharer.php?u=" + url + "&t=" + desc,
16626 flattr: "https://flattr.com/submit/auto?user_id=" + user_id + "&url=" + url + "&title=" + title + "&description=" + text + "&language=" + language + "&tags=" + hash_tags + "&hidden=HIDDEN&category=" + category,
16627 flipboard: "https://share.flipboard.com/bookmarklet/popout?v=2&title=" + title + "&url=" + url,
16628 gmail: "https://mail.google.com/mail/?view=cm&to=" + email_address + "&su=" + title + "&body=" + url + "&bcc=" + bcc_email_address + "&cc=" + cc_email_address,
16629 "google.bookmarks": "https://www.google.com/bookmarks/mark?op=edit&bkmk=" + url + "&title=" + title + "&annotation=" + text + "&labels=" + hash_tags + "",
16630 instapaper: "http://www.instapaper.com/edit?url=" + url + "&title=" + title + "&description=" + desc,
16631 "line.me": "https://lineit.line.me/share/ui?url=" + url
16632 /*+ "&text=" + desc*/
16633 ,
16634 linkedin: "https://www.linkedin.com/sharing/share-offsite/?url=" + url,
16635 livejournal: "http://www.livejournal.com/update.bml?subject=" + text + "&event=" + url,
16636 "hacker.news": "https://news.ycombinator.com/submitlink?u=" + url + "&t=" + title,
16637 "ok.ru": "https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&st.shareUrl=" + url,
16638 pinterest: "http://pinterest.com/pin/create/button/?url=" + url,
16639 qzone: "http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=" + url,
16640 reddit: "https://reddit.com/submit?url=" + url + "&title=" + title,
16641 renren: "http://widget.renren.com/dialog/share?resourceUrl=" + url + "&srcUrl=" + url + "&title=" + text + "&description=" + desc,
16642 skype: "https://web.skype.com/share?url=" + url + "&text=" + text,
16643 sms: "sms:" + "?body=" + desc,
16644 "surfingbird.ru": "http://surfingbird.ru/share?url=" + url + "&description=" + desc + "&screenshot=" + image + "&title=" + title,
16645 "telegram.me": "https://t.me/share/url?url=" + url + "&text=" + text + "&to=" + phone_number,
16646 threema: "threema://compose?text=" + text + "&id=" + user_id,
16647 tumblr: "https://www.tumblr.com/widgets/share/tool?canonicalUrl=" + url + "&title=" + title + "&caption=" + desc + "&tags=" + hash_tags,
16648 twitter: "https://twitter.com/intent/tweet?url=" +
16649 /* url + */
16650 "&text=" + desc
16651 /* text */
16652 + "&via=" + via + "&hashtags=" + hash_tags,
16653 vk: "http://vk.com/share.php?url=" + url + "&title=" + title + "&comment=" + desc,
16654 weibo: "http://service.weibo.com/share/share.php?url=" + ""
16655 /*url*/
16656 + "&appkey=&title=" + desc + "&pic=&ralateUid=",
16657 whatsapp: "https://api.whatsapp.com/send?text=" + desc
16658 /*+ "%20" + url*/
16659 ,
16660 xing: "https://www.xing.com/spi/shares/new?url=" + url,
16661 yahoo: "http://compose.mail.yahoo.com/?to=" + email_address + "&subject=" + title + "&body=" + text
16662 };
16663 }
16664
16665 function fixedEncodeURIComponent(str) {
16666 return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {
16667 return "%" + c.charCodeAt(0).toString(16);
16668 });
16669 } // export all stuff, yay
16670
16671
16672
16673 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/SocialSharing.js
16674 function SocialSharing_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { SocialSharing_typeof = function _typeof(obj) { return typeof obj; }; } else { SocialSharing_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return SocialSharing_typeof(obj); }
16675
16676 function SocialSharing_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
16677
16678 function SocialSharing_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
16679
16680 function SocialSharing_createClass(Constructor, protoProps, staticProps) { if (protoProps) SocialSharing_defineProperties(Constructor.prototype, protoProps); if (staticProps) SocialSharing_defineProperties(Constructor, staticProps); return Constructor; }
16681
16682 function SocialSharing_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) SocialSharing_setPrototypeOf(subClass, superClass); }
16683
16684 function SocialSharing_setPrototypeOf(o, p) { SocialSharing_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return SocialSharing_setPrototypeOf(o, p); }
16685
16686 function SocialSharing_createSuper(Derived) { var hasNativeReflectConstruct = SocialSharing_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = SocialSharing_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = SocialSharing_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return SocialSharing_possibleConstructorReturn(this, result); }; }
16687
16688 function SocialSharing_possibleConstructorReturn(self, call) { if (call && (SocialSharing_typeof(call) === "object" || typeof call === "function")) { return call; } return SocialSharing_assertThisInitialized(self); }
16689
16690 function SocialSharing_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
16691
16692 function SocialSharing_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; } }
16693
16694 function SocialSharing_getPrototypeOf(o) { SocialSharing_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return SocialSharing_getPrototypeOf(o); }
16695
16696
16697
16698
16699 var replaceParameters = function replaceParameters(text) {
16700 return text.replace(/\[site-url\]/g, document.location).replace(/\[site-title\]/g, document.title);
16701 };
16702
16703 var SocialSharing = /*#__PURE__*/function (_Action) {
16704 SocialSharing_inherits(SocialSharing, _Action);
16705
16706 var _super = SocialSharing_createSuper(SocialSharing);
16707
16708 function SocialSharing(data, button, stylesheet) {
16709 SocialSharing_classCallCheck(this, SocialSharing);
16710
16711 return _super.call(this, data, button, stylesheet);
16712 }
16713
16714 SocialSharing_createClass(SocialSharing, [{
16715 key: "execute",
16716 value: function execute() {
16717 switch (this.getURL().popup) {
16718 case "href":
16719 window.location.href = this.getURL().url;
16720 break;
16721
16722 case true:
16723 window.open(this.getURL().url, "popup", "width=610, height=480, resizable=0, toolbar=0, menubar=0, status=0, location=0, scrollbars=0");
16724 break;
16725
16726 case false:
16727 default:
16728 window.open(this.getURL().url);
16729 break;
16730 }
16731 }
16732 }, {
16733 key: "getURL",
16734 value: function getURL() {
16735 var args = {
16736 url: document.location.href,
16737 desc: replaceParameters(this.data.text_body || "Check this out! " + document.location.href),
16738 title: document.title
16739 };
16740 return {
16741 url: GetSocialMediaSiteLinks_WithShareLinks(args)[action2api[this.data.action]],
16742 popup: actionShouldPopup[this.data.action]
16743 };
16744 }
16745 }]);
16746
16747 return SocialSharing;
16748 }(Action);
16749
16750
16751 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/SignalGroupChat.js
16752 function SignalGroupChat_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { SignalGroupChat_typeof = function _typeof(obj) { return typeof obj; }; } else { SignalGroupChat_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return SignalGroupChat_typeof(obj); }
16753
16754 function SignalGroupChat_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
16755
16756 function SignalGroupChat_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
16757
16758 function SignalGroupChat_createClass(Constructor, protoProps, staticProps) { if (protoProps) SignalGroupChat_defineProperties(Constructor.prototype, protoProps); if (staticProps) SignalGroupChat_defineProperties(Constructor, staticProps); return Constructor; }
16759
16760 function SignalGroupChat_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) SignalGroupChat_setPrototypeOf(subClass, superClass); }
16761
16762 function SignalGroupChat_setPrototypeOf(o, p) { SignalGroupChat_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return SignalGroupChat_setPrototypeOf(o, p); }
16763
16764 function SignalGroupChat_createSuper(Derived) { var hasNativeReflectConstruct = SignalGroupChat_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = SignalGroupChat_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = SignalGroupChat_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return SignalGroupChat_possibleConstructorReturn(this, result); }; }
16765
16766 function SignalGroupChat_possibleConstructorReturn(self, call) { if (call && (SignalGroupChat_typeof(call) === "object" || typeof call === "function")) { return call; } return SignalGroupChat_assertThisInitialized(self); }
16767
16768 function SignalGroupChat_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
16769
16770 function SignalGroupChat_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; } }
16771
16772 function SignalGroupChat_getPrototypeOf(o) { SignalGroupChat_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return SignalGroupChat_getPrototypeOf(o); }
16773
16774
16775
16776 var SignalGroupChat = /*#__PURE__*/function (_Action) {
16777 SignalGroupChat_inherits(SignalGroupChat, _Action);
16778
16779 var _super = SignalGroupChat_createSuper(SignalGroupChat);
16780
16781 function SignalGroupChat() {
16782 SignalGroupChat_classCallCheck(this, SignalGroupChat);
16783
16784 return _super.apply(this, arguments);
16785 }
16786
16787 SignalGroupChat_createClass(SignalGroupChat, [{
16788 key: "execute",
16789 value: function execute() {
16790 window.open(this.data.action);
16791 }
16792 }]);
16793
16794 return SignalGroupChat;
16795 }(Action);
16796
16797
16798 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/ButtonActions/TikTok.js
16799 function TikTok_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { TikTok_typeof = function _typeof(obj) { return typeof obj; }; } else { TikTok_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return TikTok_typeof(obj); }
16800
16801 function TikTok_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
16802
16803 function TikTok_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
16804
16805 function TikTok_createClass(Constructor, protoProps, staticProps) { if (protoProps) TikTok_defineProperties(Constructor.prototype, protoProps); if (staticProps) TikTok_defineProperties(Constructor, staticProps); return Constructor; }
16806
16807 function TikTok_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) TikTok_setPrototypeOf(subClass, superClass); }
16808
16809 function TikTok_setPrototypeOf(o, p) { TikTok_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return TikTok_setPrototypeOf(o, p); }
16810
16811 function TikTok_createSuper(Derived) { var hasNativeReflectConstruct = TikTok_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = TikTok_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = TikTok_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return TikTok_possibleConstructorReturn(this, result); }; }
16812
16813 function TikTok_possibleConstructorReturn(self, call) { if (call && (TikTok_typeof(call) === "object" || typeof call === "function")) { return call; } return TikTok_assertThisInitialized(self); }
16814
16815 function TikTok_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
16816
16817 function TikTok_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; } }
16818
16819 function TikTok_getPrototypeOf(o) { TikTok_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return TikTok_getPrototypeOf(o); }
16820
16821
16822
16823 var TikTok = /*#__PURE__*/function (_Action) {
16824 TikTok_inherits(TikTok, _Action);
16825
16826 var _super = TikTok_createSuper(TikTok);
16827
16828 function TikTok() {
16829 TikTok_classCallCheck(this, TikTok);
16830
16831 return _super.apply(this, arguments);
16832 }
16833
16834 TikTok_createClass(TikTok, [{
16835 key: "execute",
16836 value: function execute() {
16837 window.open("https://www.tiktok.com/@".concat(this.data.action));
16838 }
16839 }]);
16840
16841 return TikTok;
16842 }(Action);
16843
16844
16845 ;// CONCATENATED MODULE: ./src/js/frontend/Actions/index.js
16846
16847
16848
16849
16850
16851
16852
16853
16854
16855
16856
16857
16858
16859
16860
16861
16862
16863
16864
16865
16866
16867
16868
16869
16870
16871
16872
16873
16874
16875
16876
16877
16878
16879
16880 /* harmony default export */ var Actions = ({
16881 url: WebsiteUrl,
16882 page: WebsiteUrl,
16883 download: WebsiteUrl,
16884 phone: Phone,
16885 mail: Mail,
16886 whatsapp: WhatsAppChat,
16887 backtotop: BackToTop,
16888 gotobottom: GoToBottom,
16889 gobackpage: GoBackPage,
16890 javascript_pro: JavaScriptPro,
16891 sms: Sms,
16892 messenger_chat: MessengerChat,
16893 messenger: MessengerLink,
16894 twitter_dm: TwitterDm,
16895 skype: Skype,
16896 line: Line,
16897 telegram: Telegram,
16898 viber: Viber,
16899 facebook: Facebook,
16900 twitter: Twitter,
16901 instagram: Instagram,
16902 snapchat: Snapchat,
16903 linkedin: Linkedin_Snapchat,
16904 vk: Vk,
16905 waze: Waze,
16906 tiktok: TikTok,
16907 poptin: Poptin,
16908 elementor_popup: ElementorPopup,
16909 popup_maker: PopupMaker,
16910 popups: Popups,
16911 wppopups: WPPopups,
16912 print: Print_PopupMaker,
16913 clipboard: Clipboard,
16914 opengroup: OpenGroup,
16915 socialsharing: SocialSharing,
16916 signal_group: SignalGroupChat
16917 });
16918 ;// CONCATENATED MODULE: ./src/js/frontend/Utils/GoogleAnalyticsEvent.js
16919 function GoogleAnalyticsEvent_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { GoogleAnalyticsEvent_typeof = function _typeof(obj) { return typeof obj; }; } else { GoogleAnalyticsEvent_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return GoogleAnalyticsEvent_typeof(obj); }
16920
16921 /**
16922 * Google analytics event
16923 *
16924 * @param object
16925 */
16926 function googleAnalyticsEvent(object) {
16927 if (!window.Buttonizer.allowGoogleAnalyticsTracking) return;
16928
16929 if ("gtag" in window && typeof gtag === "function" || "ga" in window || "dataLayer" in window && GoogleAnalyticsEvent_typeof(window.dataLayer) === "object" && typeof window.dataLayer.push === "function") {
16930 var actionData = {}; // Opening or closing a group
16931
16932 if (object.type === "group-open-close") {
16933 actionData.groupName = object.name;
16934 actionData.action = object.interaction;
16935 } else if (object.type === "button-click") {
16936 actionData.groupName = object.groupName;
16937 actionData.action = "Clicked button: " + object.buttonName;
16938 } // Gtag support
16939
16940
16941 if ("gtag" in window && typeof gtag === "function") {
16942 // Work with Google Tag Manager
16943 gtag("event", "Buttonizer", {
16944 event_category: "Buttonizer group: " + actionData.groupName,
16945 event_action: actionData.action,
16946 event_label: document.title,
16947 page_url: document.location.href
16948 });
16949 } else if ("ga" in window) {
16950 try {
16951 // Fallback to tracker
16952 var tracker = ga.getAll()[0];
16953
16954 if (tracker) {
16955 tracker.send("event", "Buttonizer group: " + actionData.groupName, actionData.action, document.title);
16956 } else {
16957 throw "No tracker found";
16958 }
16959 } catch (e) {
16960 console.error("Buttonizer Google Analytics: Last try to push to Google Analytics.");
16961 console.error("What does this mean?", "https://community.buttonizer.pro/knowledgebase/17"); // Fallback to old Google Analytics
16962
16963 ga("send", "event", {
16964 eventCategory: "Buttonizer group: " + actionData.groupName,
16965 eventAction: actionData.action,
16966 eventLabel: document.title
16967 });
16968 }
16969 } else {
16970 console.error("Buttonizer Google Analytics: Unable to push data to Google Analytics");
16971 console.error("What does this mean?", "https://community.buttonizer.pro/knowledgebase/17");
16972 }
16973 }
16974 }
16975 ;// CONCATENATED MODULE: ./src/js/utils/color-helpers.js
16976 /* global require */
16977 var gradientParser = __webpack_require__(49948);
16978
16979 var rgbToRgba = function rgbToRgba(rgb) {
16980 var a = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
16981 return /rgba/.test(rgb) ? rgb : rgb.replace("rgb(", "rgba(").replace(")", ", ".concat(a, ")"));
16982 };
16983 var getRadialGradientPreview = function getRadialGradientPreview(palette) {
16984 var background = "radial-gradient(".concat(palette.map(function (_ref) {
16985 var color = _ref.color,
16986 offset = _ref.offset,
16987 opacity = _ref.opacity;
16988 return "".concat(rgbToRgba(color, opacity), " ").concat(offset * 100, "%");
16989 }).join(", "), ")");
16990 return {
16991 background: background
16992 };
16993 };
16994 var getSolidPreview = function getSolidPreview(palette) {
16995 if (typeof palette !== "string") return {
16996 background: rgbToRgba(palette[0].color, palette[0].opacity)
16997 };
16998 return {
16999 background: palette
17000 };
17001 };
17002 var getColorType = function getColorType(value) {
17003 if (value == null) return "solid";
17004 if (/radial/.test(value)) return "radial";
17005 if (/linear/.test(value)) return "linear";
17006 return "solid";
17007 };
17008 var getPaletteAngle = function getPaletteAngle(value) {
17009 if (value == null) return {
17010 palette: null,
17011 angle: 90
17012 };
17013 /* webpack-strip-block:removed */
17014
17015 var type = getColorType(value);
17016 if (type === "solid") return {
17017 palette: value,
17018 angle: 90
17019 };
17020
17021 if (type === "linear" || type === "radial") {
17022 var stop = gradientParser.parse(value)[0].colorStops[0];
17023 return {
17024 palette: "".concat(stop.type, "(").concat(stop.value.join(", "), ")"),
17025 angle: 90
17026 };
17027 }
17028 };
17029 var getFirstColor = function getFirstColor(color) {
17030 var type = getColorType(color);
17031 if (type === "solid") return color;
17032 var result = gradientParser.parse(color)[0];
17033 var stop = result.colorStops[0];
17034 if (stop.type === "hex") return "#".concat(stop.value); // hex
17035
17036 return "".concat(stop.type, "(").concat(stop.value.join(", "), ")"); // rgb(a) or hsl
17037 };
17038 function colorValues(color) {
17039 if (!color) return;
17040 if (color.toLowerCase() === "transparent") return {
17041 r: 0,
17042 g: 0,
17043 b: 0,
17044 a: 0
17045 };
17046
17047 if (color[0] === "#") {
17048 if (color.length < 7) {
17049 // convert #RGB and #RGBA to #RRGGBB and #RRGGBBAA
17050 color = "#" + color[1] + color[1] + color[2] + color[2] + color[3] + color[3] + (color.length > 4 ? color[4] + color[4] : "");
17051 }
17052
17053 return {
17054 r: parseInt(color.substr(1, 2), 16),
17055 g: parseInt(color.substr(3, 2), 16),
17056 b: parseInt(color.substr(5, 2), 16),
17057 a: color.length > 7 ? parseInt(color.substr(7, 2), 16) / 255 : 1
17058 };
17059 }
17060
17061 if (color.indexOf("rgb") === -1) {
17062 // convert named colors
17063 var temp_elem = document.body.appendChild(document.createElement("fictum")); // intentionally use unknown tag to lower chances of css rule override with !important
17064
17065 var flag = "rgb(1, 2, 3)"; // this flag tested on chrome 59, ff 53, ie9, ie10, ie11, edge 14
17066
17067 temp_elem.style.color = flag;
17068 if (temp_elem.style.color !== flag) return; // color set failed - some monstrous css rule is probably taking over the color of our object
17069
17070 temp_elem.style.color = color;
17071 if (temp_elem.style.color === flag || temp_elem.style.color === "") return; // color parse failed
17072
17073 color = getComputedStyle(temp_elem).color;
17074 document.body.removeChild(temp_elem);
17075 }
17076
17077 if (color.indexOf("rgb") === 0) {
17078 if (color.indexOf("rgba") === -1) color += ",1"; // convert 'rgb(R,G,B)' to 'rgb(R,G,B)A' which looks awful but will pass the regxep below
17079
17080 var newColor = color.match(/[\.\d]+/g).map(function (a) {
17081 return +a;
17082 });
17083 return {
17084 r: newColor[0],
17085 g: newColor[1],
17086 b: newColor[2],
17087 a: newColor[3]
17088 };
17089 }
17090 }
17091 ;// CONCATENATED MODULE: ./src/js/frontend/FloatingContent/Button.js
17092 function Button_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; }
17093
17094 function Button_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Button_ownKeys(Object(source), true).forEach(function (key) { Button_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Button_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
17095
17096 function Button_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17097
17098 function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
17099
17100 function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
17101
17102 function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
17103
17104 function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
17105
17106 function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
17107
17108 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
17109
17110 function Button_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
17111
17112 function Button_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
17113
17114 function Button_createClass(Constructor, protoProps, staticProps) { if (protoProps) Button_defineProperties(Constructor.prototype, protoProps); if (staticProps) Button_defineProperties(Constructor, staticProps); return Constructor; }
17115
17116
17117
17118
17119
17120
17121
17122
17123
17124 var disableActionInPreview = ["poptin", "elementor_popup", "popup_maker", "popups", "wppopups", "twitter", "javascript_pro", "messenger_chat", "clipboard", "download"];
17125
17126 var Button = /*#__PURE__*/function () {
17127 function Button(_ref) {
17128 var data = _ref.data,
17129 _ref$label = _ref.label,
17130 label = _ref$label === void 0 ? false : _ref$label,
17131 groupName = _ref.groupName,
17132 groupId = _ref.groupId,
17133 _ref$icon = _ref.icon,
17134 icon = _ref$icon === void 0 ? false : _ref$icon,
17135 generators = _ref.generators,
17136 renderExtender = _ref.renderExtender,
17137 stylesheet = _ref.stylesheet;
17138
17139 Button_classCallCheck(this, Button);
17140
17141 this.data = data;
17142 this.label = label;
17143 this.icon = icon;
17144 this.stylesheet = stylesheet;
17145 this.groupName = groupName ? groupName : false;
17146 this.action = null;
17147 this.JSS = {};
17148 this.JSSImage = {};
17149 this.JSSImageHover = {};
17150 this.generators = generators || [];
17151 this.renderExtender = renderExtender || [];
17152 this.element = document.createElement("a");
17153 this.element.setAttribute("role", "button");
17154 this.visibility = {
17155 desktop: function desktop() {
17156 return dlv_umd_default()(data, "show_desktop", true);
17157 },
17158 mobile: function mobile() {
17159 return dlv_umd_default()(data, "show_mobile", true);
17160 }
17161 }; // Add all actions
17162
17163 this.action = new Actions[dlv_umd_default()(data, "type", "url")](data, this.element, this.stylesheet, groupId);
17164 if (buttonizerInPreview_inPreview()) this.disableClickInPreview = true;
17165 }
17166
17167 Button_createClass(Button, [{
17168 key: "render",
17169 value: function render() {
17170 var _this = this,
17171 _button;
17172
17173 if (this.icon) {
17174 var _this$generators;
17175
17176 this.element.appendChild(this.icon.render().element);
17177
17178 (_this$generators = this.generators).push.apply(_this$generators, _toConsumableArray(this.icon.generators));
17179 } // Don't add element if label is empty
17180
17181
17182 if (this.label && this.data.label.length !== 0) {
17183 var _this$generators2;
17184
17185 this.element.appendChild(this.label.render().element);
17186
17187 (_this$generators2 = this.generators).push.apply(_this$generators2, _toConsumableArray(this.label.generators));
17188 }
17189
17190 this.generators.forEach(function (generator) {
17191 return generator.generate(_this);
17192 }); // remove possible parent background image if there should be none
17193
17194 if (this.data.background_is_image[0] === false) {
17195 merge_default()(this.JSS, {
17196 button: {
17197 "&::before": {
17198 visibility: "hidden",
17199 opacity: "0"
17200 }
17201 }
17202 });
17203 }
17204
17205 if (dlv_umd_default()(this.data.background_is_image, "1", this.data.background_is_image[0]) === false) {
17206 merge_default()(this.JSS, {
17207 button: {
17208 "&:hover": {
17209 "&::before": {
17210 visibility: "hidden",
17211 opacity: "0"
17212 }
17213 }
17214 }
17215 });
17216 }
17217
17218 if (this.data.box_shadow_enabled[0] === false) {
17219 merge_default()(this.JSS, {
17220 button: {
17221 "box-shadow": "none"
17222 }
17223 });
17224 }
17225
17226 if (dlv_umd_default()(this.data.box_shadow_enabled, "1", this.data.box_shadow_enabled[0]) === false) {
17227 merge_default()(this.JSS, {
17228 button: {
17229 "&:hover": {
17230 "box-shadow": "none"
17231 }
17232 }
17233 });
17234 }
17235
17236 merge_default()(this.JSS, {
17237 button: Button_objectSpread(Button_objectSpread(Button_objectSpread(Button_objectSpread({}, this.background(0)), this.backgroundImage(0)), this.boxShadow(0)), {}, {
17238 "&:hover": Button_objectSpread(Button_objectSpread(Button_objectSpread({}, this.background(1)), this.backgroundImage(1)), this.boxShadow(1))
17239 })
17240 });
17241 merge_default()(this.JSS, {
17242 button: (_button = {
17243 width: this.data.button_size,
17244 height: this.data.button_size,
17245 "border-radius": this.data.border_radius[0]
17246 }, Button_defineProperty(_button, "margin-".concat(this.data.vertical[0]), this.data.space), Button_defineProperty(_button, "&::before", {
17247 "border-radius": this.data.border_radius_override ? this.data.border_radius_override : this.data.border_radius[0]
17248 }), _button)
17249 }, this.icon.JSS, this.label.JSS);
17250 /* webpack-strip-block:removed */
17251
17252 this.stylesheet.update(this.JSS); // Device visibility
17253
17254 if (!this.data.show_desktop) {
17255 this.setHide("desktop");
17256 }
17257
17258 if (!this.data.show_mobile) {
17259 this.setHide("mobile");
17260 }
17261
17262 if (!this.data.is_menu_desktop) {
17263 this.setMenuStyling("desktop");
17264 }
17265
17266 if (!this.data.is_menu_mobile) {
17267 this.setMenuStyling("mobile");
17268 } // Add action
17269
17270
17271 if (this.action) this.setAction(this.action);
17272 this.element.className = clsx_m(this.element.className, "buttonizer-button", this.stylesheet.classes.button);
17273 this.element.classList.add(this.stylesheet.classes.button);
17274 /* webpack-strip-block:removed */
17275
17276 this.renderExtender.forEach(function (extender) {
17277 return extender.extend(_this);
17278 }); // Add accesebility referer
17279
17280 if (this.label && this.data.label.length !== 0) {
17281 this.element.setAttribute("aria-describedby", this.stylesheet.classes.button + "-label");
17282 } else {
17283 this.element.setAttribute("aria-label", this.data.label !== "" ? this.data.label : this.data.name !== "" ? this.data.name : "Unnamed button with icon: ".concat(this.icon.data.icon[0]));
17284 }
17285
17286 this.stylesheet.attach();
17287 return this;
17288 }
17289 }, {
17290 key: "setAction",
17291 value: function setAction(action) {
17292 var _this2 = this;
17293
17294 // Add attribute
17295 if (action.addAttr() && action.addAttr().attr) this.element.setAttribute(action.addAttr().attr, action.addAttr().val); // Remove existing click events
17296
17297 this.element.removeEventListener("click", function () {
17298 return _this2.action.execute();
17299 }); // Update action to latest version
17300
17301 this.action = action;
17302
17303 if (buttonizerInPreview_inPreview()) {
17304 this.element.addEventListener("contextmenu", function (e) {
17305 e.preventDefault(); // Disable some actions in preview mode
17306
17307 if (disableActionInPreview.indexOf(_this2.data.type) >= 0) {
17308 messageButtonizerAdminEditor("action-disabled", _this2.data.type);
17309 return;
17310 }
17311
17312 _this2.disableClickInPreview = false;
17313
17314 _this2.element.click();
17315 });
17316 } // On click
17317
17318
17319 this.element.addEventListener("click", function (e) {
17320 // Disable button click action and link to editor
17321 if (buttonizerInPreview_inPreview() && _this2.disableClickInPreview || e.target.hasAttribute("data-no-action")) {
17322 e.preventDefault();
17323 return;
17324 }
17325 /* webpack-strip-block:removed */
17326 // Only activate button-click on groups
17327 // Do not trigger on menu-button click (different analytics behaviour, see OpenGroup.js)
17328
17329
17330 if (_this2.groupName) {
17331 googleAnalyticsEvent({
17332 type: "button-click",
17333 groupName: _this2.groupName,
17334 buttonName: _this2.data.name
17335 });
17336 } // Execute action
17337
17338
17339 _this2.action.execute();
17340
17341 if (buttonizerInPreview_inPreview()) _this2.disableClickInPreview = true;
17342 });
17343 }
17344 }, {
17345 key: "setHide",
17346 value: function setHide(device) {
17347 var size = device === "desktop" ? "min-width: 770px" : "max-width: 769px";
17348 this.stylesheet.update({
17349 button: Button_defineProperty({}, "@media screen and (".concat(size, ")"), {
17350 display: "none"
17351 })
17352 });
17353 }
17354 }, {
17355 key: "setMenuStyling",
17356 value: function setMenuStyling(device) {
17357 var size = device === "desktop" ? "min-width: 770px" : "max-width: 769px";
17358 this.stylesheet.update({
17359 button: Button_defineProperty({}, "@media screen and (".concat(size, ")"), {
17360 width: this.data.group_size,
17361 height: this.data.group_size,
17362 visibility: "visible",
17363 opacity: "1"
17364 })
17365 });
17366 }
17367 }, {
17368 key: "hasBackgroundImage",
17369 value: function hasBackgroundImage() {
17370 var normal_hover = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
17371 if (normal_hover === 1) return (// should have image, great
17372 this.data.background_is_image[1] === true || this.data.background_is_image[0] === true && this.data.background_is_image[1] == null
17373 );
17374 return (// should have image, great
17375 this.data.background_is_image[0] === true
17376 );
17377 }
17378 }, {
17379 key: "background",
17380 value: function background() {
17381 var normal_hover = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
17382 var bgColor = this.data.background_color[normal_hover];
17383
17384 if (normal_hover === 1) {
17385 bgColor = dlv_umd_default()(this.data.background_color, "1", this.data.background_color[0]);
17386 }
17387
17388 if (bgColor == null) return {};
17389
17390 if (bgColor.includes("gradient")) {
17391 /* webpack-strip-block:removed */
17392 return {
17393 "background-color": getFirstColor(bgColor)
17394 };
17395 }
17396
17397 return {
17398 "background-image": "none",
17399 "background-color": bgColor
17400 };
17401 }
17402 }, {
17403 key: "backgroundImage",
17404 value: function backgroundImage() {
17405 var normal_hover = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
17406 var bg = this.data.background_image[normal_hover];
17407 /* webpack-strip-block:removed */
17408
17409 return {};
17410 }
17411 }, {
17412 key: "hasBoxShadow",
17413 value: function hasBoxShadow() {
17414 var normal_hover = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
17415 if (normal_hover === 1) return (// should have image, great
17416 this.data.box_shadow_enabled[1] === true || this.data.box_shadow_enabled[0] === true && this.data.box_shadow_enabled[1] == null
17417 );
17418 return (// should have image, great
17419 this.data.box_shadow_enabled[0] === true
17420 );
17421 }
17422 }, {
17423 key: "boxShadow",
17424 value: function boxShadow() {
17425 var normal_hover = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
17426
17427 if (this.data.box_shadow) {
17428 var shadow = this.data.box_shadow[normal_hover];
17429 if (shadow == null) return {};
17430 if (this.hasBoxShadow(normal_hover)) return {
17431 "box-shadow": shadow
17432 };
17433 return {};
17434 }
17435
17436 return {};
17437 }
17438 }]);
17439
17440 return Button;
17441 }();
17442
17443
17444 // EXTERNAL MODULE: ./node_modules/lodash/omit.js
17445 var omit = __webpack_require__(57557);
17446 var omit_default = /*#__PURE__*/__webpack_require__.n(omit);
17447 // EXTERNAL MODULE: ./node_modules/lodash/pick.js
17448 var pick = __webpack_require__(78718);
17449 var pick_default = /*#__PURE__*/__webpack_require__.n(pick);
17450 // EXTERNAL MODULE: ./node_modules/lodash/pullAll.js
17451 var pullAll = __webpack_require__(45604);
17452 var pullAll_default = /*#__PURE__*/__webpack_require__.n(pullAll);
17453 // EXTERNAL MODULE: ./node_modules/lodash/isEqual.js
17454 var isEqual = __webpack_require__(18446);
17455 var isEqual_default = /*#__PURE__*/__webpack_require__.n(isEqual);
17456 ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
17457 function _extends() {
17458 _extends = Object.assign || function (target) {
17459 for (var i = 1; i < arguments.length; i++) {
17460 var source = arguments[i];
17461
17462 for (var key in source) {
17463 if (Object.prototype.hasOwnProperty.call(source, key)) {
17464 target[key] = source[key];
17465 }
17466 }
17467 }
17468
17469 return target;
17470 };
17471
17472 return _extends.apply(this, arguments);
17473 }
17474 ;// CONCATENATED MODULE: ./node_modules/is-in-browser/dist/module.js
17475 var module_typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
17476
17477 var isBrowser = (typeof window === "undefined" ? "undefined" : module_typeof(window)) === "object" && (typeof document === "undefined" ? "undefined" : module_typeof(document)) === 'object' && document.nodeType === 9;
17478
17479 /* harmony default export */ var dist_module = (isBrowser);
17480
17481 ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
17482 function createClass_defineProperties(target, props) {
17483 for (var i = 0; i < props.length; i++) {
17484 var descriptor = props[i];
17485 descriptor.enumerable = descriptor.enumerable || false;
17486 descriptor.configurable = true;
17487 if ("value" in descriptor) descriptor.writable = true;
17488 Object.defineProperty(target, descriptor.key, descriptor);
17489 }
17490 }
17491
17492 function createClass_createClass(Constructor, protoProps, staticProps) {
17493 if (protoProps) createClass_defineProperties(Constructor.prototype, protoProps);
17494 if (staticProps) createClass_defineProperties(Constructor, staticProps);
17495 Object.defineProperty(Constructor, "prototype", {
17496 writable: false
17497 });
17498 return Constructor;
17499 }
17500 ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
17501 function setPrototypeOf_setPrototypeOf(o, p) {
17502 setPrototypeOf_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
17503 o.__proto__ = p;
17504 return o;
17505 };
17506
17507 return setPrototypeOf_setPrototypeOf(o, p);
17508 }
17509 ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js
17510
17511 function _inheritsLoose(subClass, superClass) {
17512 subClass.prototype = Object.create(superClass.prototype);
17513 subClass.prototype.constructor = subClass;
17514 setPrototypeOf_setPrototypeOf(subClass, superClass);
17515 }
17516 ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
17517 function assertThisInitialized_assertThisInitialized(self) {
17518 if (self === void 0) {
17519 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
17520 }
17521
17522 return self;
17523 }
17524 ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
17525 function _objectWithoutPropertiesLoose(source, excluded) {
17526 if (source == null) return {};
17527 var target = {};
17528 var sourceKeys = Object.keys(source);
17529 var key, i;
17530
17531 for (i = 0; i < sourceKeys.length; i++) {
17532 key = sourceKeys[i];
17533 if (excluded.indexOf(key) >= 0) continue;
17534 target[key] = source[key];
17535 }
17536
17537 return target;
17538 }
17539 ;// CONCATENATED MODULE: ./node_modules/jss/dist/jss.esm.js
17540
17541
17542
17543
17544
17545
17546
17547
17548 var plainObjectConstrurctor = {}.constructor;
17549 function cloneStyle(style) {
17550 if (style == null || typeof style !== 'object') return style;
17551 if (Array.isArray(style)) return style.map(cloneStyle);
17552 if (style.constructor !== plainObjectConstrurctor) return style;
17553 var newStyle = {};
17554
17555 for (var name in style) {
17556 newStyle[name] = cloneStyle(style[name]);
17557 }
17558
17559 return newStyle;
17560 }
17561
17562 /**
17563 * Create a rule instance.
17564 */
17565
17566 function createRule(name, decl, options) {
17567 if (name === void 0) {
17568 name = 'unnamed';
17569 }
17570
17571 var jss = options.jss;
17572 var declCopy = cloneStyle(decl);
17573 var rule = jss.plugins.onCreateRule(name, declCopy, options);
17574 if (rule) return rule; // It is an at-rule and it has no instance.
17575
17576 if (name[0] === '@') {
17577 false ? 0 : void 0;
17578 }
17579
17580 return null;
17581 }
17582
17583 var join = function join(value, by) {
17584 var result = '';
17585
17586 for (var i = 0; i < value.length; i++) {
17587 // Remove !important from the value, it will be readded later.
17588 if (value[i] === '!important') break;
17589 if (result) result += by;
17590 result += value[i];
17591 }
17592
17593 return result;
17594 };
17595
17596 /**
17597 * Converts array values to string.
17598 *
17599 * `margin: [['5px', '10px']]` > `margin: 5px 10px;`
17600 * `border: ['1px', '2px']` > `border: 1px, 2px;`
17601 * `margin: [['5px', '10px'], '!important']` > `margin: 5px 10px !important;`
17602 * `color: ['red', !important]` > `color: red !important;`
17603 */
17604 var toCssValue = function toCssValue(value, ignoreImportant) {
17605 if (ignoreImportant === void 0) {
17606 ignoreImportant = false;
17607 }
17608
17609 if (!Array.isArray(value)) return value;
17610 var cssValue = ''; // Support space separated values via `[['5px', '10px']]`.
17611
17612 if (Array.isArray(value[0])) {
17613 for (var i = 0; i < value.length; i++) {
17614 if (value[i] === '!important') break;
17615 if (cssValue) cssValue += ', ';
17616 cssValue += join(value[i], ' ');
17617 }
17618 } else cssValue = join(value, ', '); // Add !important, because it was ignored.
17619
17620
17621 if (!ignoreImportant && value[value.length - 1] === '!important') {
17622 cssValue += ' !important';
17623 }
17624
17625 return cssValue;
17626 };
17627
17628 /**
17629 * Indent a string.
17630 * http://jsperf.com/array-join-vs-for
17631 */
17632 function indentStr(str, indent) {
17633 var result = '';
17634
17635 for (var index = 0; index < indent; index++) {
17636 result += ' ';
17637 }
17638
17639 return result + str;
17640 }
17641 /**
17642 * Converts a Rule to CSS string.
17643 */
17644
17645
17646 function toCss(selector, style, options) {
17647 if (options === void 0) {
17648 options = {};
17649 }
17650
17651 var result = '';
17652 if (!style) return result;
17653 var _options = options,
17654 _options$indent = _options.indent,
17655 indent = _options$indent === void 0 ? 0 : _options$indent;
17656 var fallbacks = style.fallbacks;
17657 if (selector) indent++; // Apply fallbacks first.
17658
17659 if (fallbacks) {
17660 // Array syntax {fallbacks: [{prop: value}]}
17661 if (Array.isArray(fallbacks)) {
17662 for (var index = 0; index < fallbacks.length; index++) {
17663 var fallback = fallbacks[index];
17664
17665 for (var prop in fallback) {
17666 var value = fallback[prop];
17667
17668 if (value != null) {
17669 if (result) result += '\n';
17670 result += "" + indentStr(prop + ": " + toCssValue(value) + ";", indent);
17671 }
17672 }
17673 }
17674 } else {
17675 // Object syntax {fallbacks: {prop: value}}
17676 for (var _prop in fallbacks) {
17677 var _value = fallbacks[_prop];
17678
17679 if (_value != null) {
17680 if (result) result += '\n';
17681 result += "" + indentStr(_prop + ": " + toCssValue(_value) + ";", indent);
17682 }
17683 }
17684 }
17685 }
17686
17687 for (var _prop2 in style) {
17688 var _value2 = style[_prop2];
17689
17690 if (_value2 != null && _prop2 !== 'fallbacks') {
17691 if (result) result += '\n';
17692 result += "" + indentStr(_prop2 + ": " + toCssValue(_value2) + ";", indent);
17693 }
17694 } // Allow empty style in this case, because properties will be added dynamically.
17695
17696
17697 if (!result && !options.allowEmpty) return result; // When rule is being stringified before selector was defined.
17698
17699 if (!selector) return result;
17700 indent--;
17701 if (result) result = "\n" + result + "\n";
17702 return indentStr(selector + " {" + result, indent) + indentStr('}', indent);
17703 }
17704
17705 var escapeRegex = /([[\].#*$><+~=|^:(),"'`\s])/g;
17706 var nativeEscape = typeof CSS !== 'undefined' && CSS.escape;
17707 var jss_esm_escape = (function (str) {
17708 return nativeEscape ? nativeEscape(str) : str.replace(escapeRegex, '\\$1');
17709 });
17710
17711 var BaseStyleRule =
17712 /*#__PURE__*/
17713 function () {
17714 function BaseStyleRule(key, style, options) {
17715 this.type = 'style';
17716 this.key = void 0;
17717 this.isProcessed = false;
17718 this.style = void 0;
17719 this.renderer = void 0;
17720 this.renderable = void 0;
17721 this.options = void 0;
17722 var sheet = options.sheet,
17723 Renderer = options.Renderer;
17724 this.key = key;
17725 this.options = options;
17726 this.style = style;
17727 if (sheet) this.renderer = sheet.renderer;else if (Renderer) this.renderer = new Renderer();
17728 }
17729 /**
17730 * Get or set a style property.
17731 */
17732
17733
17734 var _proto = BaseStyleRule.prototype;
17735
17736 _proto.prop = function prop(name, value, options) {
17737 // It's a getter.
17738 if (value === undefined) return this.style[name]; // Don't do anything if the value has not changed.
17739
17740 var force = options ? options.force : false;
17741 if (!force && this.style[name] === value) return this;
17742 var newValue = value;
17743
17744 if (!options || options.process !== false) {
17745 newValue = this.options.jss.plugins.onChangeValue(value, name, this);
17746 }
17747
17748 var isEmpty = newValue == null || newValue === false;
17749 var isDefined = name in this.style; // Value is empty and wasn't defined before.
17750
17751 if (isEmpty && !isDefined && !force) return this; // We are going to remove this value.
17752
17753 var remove = isEmpty && isDefined;
17754 if (remove) delete this.style[name];else this.style[name] = newValue; // Renderable is defined if StyleSheet option `link` is true.
17755
17756 if (this.renderable && this.renderer) {
17757 if (remove) this.renderer.removeProperty(this.renderable, name);else this.renderer.setProperty(this.renderable, name, newValue);
17758 return this;
17759 }
17760
17761 var sheet = this.options.sheet;
17762
17763 if (sheet && sheet.attached) {
17764 false ? 0 : void 0;
17765 }
17766
17767 return this;
17768 };
17769
17770 return BaseStyleRule;
17771 }();
17772 var StyleRule =
17773 /*#__PURE__*/
17774 function (_BaseStyleRule) {
17775 _inheritsLoose(StyleRule, _BaseStyleRule);
17776
17777 function StyleRule(key, style, options) {
17778 var _this;
17779
17780 _this = _BaseStyleRule.call(this, key, style, options) || this;
17781 _this.selectorText = void 0;
17782 _this.id = void 0;
17783 _this.renderable = void 0;
17784 var selector = options.selector,
17785 scoped = options.scoped,
17786 sheet = options.sheet,
17787 generateId = options.generateId;
17788
17789 if (selector) {
17790 _this.selectorText = selector;
17791 } else if (scoped !== false) {
17792 _this.id = generateId(assertThisInitialized_assertThisInitialized(assertThisInitialized_assertThisInitialized(_this)), sheet);
17793 _this.selectorText = "." + jss_esm_escape(_this.id);
17794 }
17795
17796 return _this;
17797 }
17798 /**
17799 * Set selector string.
17800 * Attention: use this with caution. Most browsers didn't implement
17801 * selectorText setter, so this may result in rerendering of entire Style Sheet.
17802 */
17803
17804
17805 var _proto2 = StyleRule.prototype;
17806
17807 /**
17808 * Apply rule to an element inline.
17809 */
17810 _proto2.applyTo = function applyTo(renderable) {
17811 var renderer = this.renderer;
17812
17813 if (renderer) {
17814 var json = this.toJSON();
17815
17816 for (var prop in json) {
17817 renderer.setProperty(renderable, prop, json[prop]);
17818 }
17819 }
17820
17821 return this;
17822 }
17823 /**
17824 * Returns JSON representation of the rule.
17825 * Fallbacks are not supported.
17826 * Useful for inline styles.
17827 */
17828 ;
17829
17830 _proto2.toJSON = function toJSON() {
17831 var json = {};
17832
17833 for (var prop in this.style) {
17834 var value = this.style[prop];
17835 if (typeof value !== 'object') json[prop] = value;else if (Array.isArray(value)) json[prop] = toCssValue(value);
17836 }
17837
17838 return json;
17839 }
17840 /**
17841 * Generates a CSS string.
17842 */
17843 ;
17844
17845 _proto2.toString = function toString(options) {
17846 var sheet = this.options.sheet;
17847 var link = sheet ? sheet.options.link : false;
17848 var opts = link ? _extends({}, options, {
17849 allowEmpty: true
17850 }) : options;
17851 return toCss(this.selectorText, this.style, opts);
17852 };
17853
17854 createClass_createClass(StyleRule, [{
17855 key: "selector",
17856 set: function set(selector) {
17857 if (selector === this.selectorText) return;
17858 this.selectorText = selector;
17859 var renderer = this.renderer,
17860 renderable = this.renderable;
17861 if (!renderable || !renderer) return;
17862 var hasChanged = renderer.setSelector(renderable, selector); // If selector setter is not implemented, rerender the rule.
17863
17864 if (!hasChanged) {
17865 renderer.replaceRule(renderable, this);
17866 }
17867 }
17868 /**
17869 * Get selector string.
17870 */
17871 ,
17872 get: function get() {
17873 return this.selectorText;
17874 }
17875 }]);
17876
17877 return StyleRule;
17878 }(BaseStyleRule);
17879 var pluginStyleRule = {
17880 onCreateRule: function onCreateRule(name, style, options) {
17881 if (name[0] === '@' || options.parent && options.parent.type === 'keyframes') {
17882 return null;
17883 }
17884
17885 return new StyleRule(name, style, options);
17886 }
17887 };
17888
17889 var defaultToStringOptions = {
17890 indent: 1,
17891 children: true
17892 };
17893 var atRegExp = /@([\w-]+)/;
17894 /**
17895 * Conditional rule for @media, @supports
17896 */
17897
17898 var ConditionalRule =
17899 /*#__PURE__*/
17900 function () {
17901 function ConditionalRule(key, styles, options) {
17902 this.type = 'conditional';
17903 this.at = void 0;
17904 this.key = void 0;
17905 this.query = void 0;
17906 this.rules = void 0;
17907 this.options = void 0;
17908 this.isProcessed = false;
17909 this.renderable = void 0;
17910 this.key = key;
17911 var atMatch = key.match(atRegExp);
17912 this.at = atMatch ? atMatch[1] : 'unknown'; // Key might contain a unique suffix in case the `name` passed by user was duplicate.
17913
17914 this.query = options.name || "@" + this.at;
17915 this.options = options;
17916 this.rules = new RuleList(_extends({}, options, {
17917 parent: this
17918 }));
17919
17920 for (var name in styles) {
17921 this.rules.add(name, styles[name]);
17922 }
17923
17924 this.rules.process();
17925 }
17926 /**
17927 * Get a rule.
17928 */
17929
17930
17931 var _proto = ConditionalRule.prototype;
17932
17933 _proto.getRule = function getRule(name) {
17934 return this.rules.get(name);
17935 }
17936 /**
17937 * Get index of a rule.
17938 */
17939 ;
17940
17941 _proto.indexOf = function indexOf(rule) {
17942 return this.rules.indexOf(rule);
17943 }
17944 /**
17945 * Create and register rule, run plugins.
17946 */
17947 ;
17948
17949 _proto.addRule = function addRule(name, style, options) {
17950 var rule = this.rules.add(name, style, options);
17951 if (!rule) return null;
17952 this.options.jss.plugins.onProcessRule(rule);
17953 return rule;
17954 }
17955 /**
17956 * Generates a CSS string.
17957 */
17958 ;
17959
17960 _proto.toString = function toString(options) {
17961 if (options === void 0) {
17962 options = defaultToStringOptions;
17963 }
17964
17965 if (options.indent == null) options.indent = defaultToStringOptions.indent;
17966 if (options.children == null) options.children = defaultToStringOptions.children;
17967
17968 if (options.children === false) {
17969 return this.query + " {}";
17970 }
17971
17972 var children = this.rules.toString(options);
17973 return children ? this.query + " {\n" + children + "\n}" : '';
17974 };
17975
17976 return ConditionalRule;
17977 }();
17978 var keyRegExp = /@media|@supports\s+/;
17979 var pluginConditionalRule = {
17980 onCreateRule: function onCreateRule(key, styles, options) {
17981 return keyRegExp.test(key) ? new ConditionalRule(key, styles, options) : null;
17982 }
17983 };
17984
17985 var defaultToStringOptions$1 = {
17986 indent: 1,
17987 children: true
17988 };
17989 var nameRegExp = /@keyframes\s+([\w-]+)/;
17990 /**
17991 * Rule for @keyframes
17992 */
17993
17994 var KeyframesRule =
17995 /*#__PURE__*/
17996 function () {
17997 function KeyframesRule(key, frames, options) {
17998 this.type = 'keyframes';
17999 this.at = '@keyframes';
18000 this.key = void 0;
18001 this.name = void 0;
18002 this.id = void 0;
18003 this.rules = void 0;
18004 this.options = void 0;
18005 this.isProcessed = false;
18006 this.renderable = void 0;
18007 var nameMatch = key.match(nameRegExp);
18008
18009 if (nameMatch && nameMatch[1]) {
18010 this.name = nameMatch[1];
18011 } else {
18012 this.name = 'noname';
18013 false ? 0 : void 0;
18014 }
18015
18016 this.key = this.type + "-" + this.name;
18017 this.options = options;
18018 var scoped = options.scoped,
18019 sheet = options.sheet,
18020 generateId = options.generateId;
18021 this.id = scoped === false ? this.name : jss_esm_escape(generateId(this, sheet));
18022 this.rules = new RuleList(_extends({}, options, {
18023 parent: this
18024 }));
18025
18026 for (var name in frames) {
18027 this.rules.add(name, frames[name], _extends({}, options, {
18028 parent: this
18029 }));
18030 }
18031
18032 this.rules.process();
18033 }
18034 /**
18035 * Generates a CSS string.
18036 */
18037
18038
18039 var _proto = KeyframesRule.prototype;
18040
18041 _proto.toString = function toString(options) {
18042 if (options === void 0) {
18043 options = defaultToStringOptions$1;
18044 }
18045
18046 if (options.indent == null) options.indent = defaultToStringOptions$1.indent;
18047 if (options.children == null) options.children = defaultToStringOptions$1.children;
18048
18049 if (options.children === false) {
18050 return this.at + " " + this.id + " {}";
18051 }
18052
18053 var children = this.rules.toString(options);
18054 if (children) children = "\n" + children + "\n";
18055 return this.at + " " + this.id + " {" + children + "}";
18056 };
18057
18058 return KeyframesRule;
18059 }();
18060 var keyRegExp$1 = /@keyframes\s+/;
18061 var refRegExp = /\$([\w-]+)/g;
18062
18063 var findReferencedKeyframe = function findReferencedKeyframe(val, keyframes) {
18064 if (typeof val === 'string') {
18065 return val.replace(refRegExp, function (match, name) {
18066 if (name in keyframes) {
18067 return keyframes[name];
18068 }
18069
18070 false ? 0 : void 0;
18071 return match;
18072 });
18073 }
18074
18075 return val;
18076 };
18077 /**
18078 * Replace the reference for a animation name.
18079 */
18080
18081
18082 var replaceRef = function replaceRef(style, prop, keyframes) {
18083 var value = style[prop];
18084 var refKeyframe = findReferencedKeyframe(value, keyframes);
18085
18086 if (refKeyframe !== value) {
18087 style[prop] = refKeyframe;
18088 }
18089 };
18090
18091 var jss_esm_plugin = {
18092 onCreateRule: function onCreateRule(key, frames, options) {
18093 return typeof key === 'string' && keyRegExp$1.test(key) ? new KeyframesRule(key, frames, options) : null;
18094 },
18095 // Animation name ref replacer.
18096 onProcessStyle: function onProcessStyle(style, rule, sheet) {
18097 if (rule.type !== 'style' || !sheet) return style;
18098 if ('animation-name' in style) replaceRef(style, 'animation-name', sheet.keyframes);
18099 if ('animation' in style) replaceRef(style, 'animation', sheet.keyframes);
18100 return style;
18101 },
18102 onChangeValue: function onChangeValue(val, prop, rule) {
18103 var sheet = rule.options.sheet;
18104
18105 if (!sheet) {
18106 return val;
18107 }
18108
18109 switch (prop) {
18110 case 'animation':
18111 return findReferencedKeyframe(val, sheet.keyframes);
18112
18113 case 'animation-name':
18114 return findReferencedKeyframe(val, sheet.keyframes);
18115
18116 default:
18117 return val;
18118 }
18119 }
18120 };
18121
18122 var KeyframeRule =
18123 /*#__PURE__*/
18124 function (_BaseStyleRule) {
18125 _inheritsLoose(KeyframeRule, _BaseStyleRule);
18126
18127 function KeyframeRule() {
18128 var _this;
18129
18130 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
18131 args[_key] = arguments[_key];
18132 }
18133
18134 _this = _BaseStyleRule.call.apply(_BaseStyleRule, [this].concat(args)) || this;
18135 _this.renderable = void 0;
18136 return _this;
18137 }
18138
18139 var _proto = KeyframeRule.prototype;
18140
18141 /**
18142 * Generates a CSS string.
18143 */
18144 _proto.toString = function toString(options) {
18145 var sheet = this.options.sheet;
18146 var link = sheet ? sheet.options.link : false;
18147 var opts = link ? _extends({}, options, {
18148 allowEmpty: true
18149 }) : options;
18150 return toCss(this.key, this.style, opts);
18151 };
18152
18153 return KeyframeRule;
18154 }(BaseStyleRule);
18155 var pluginKeyframeRule = {
18156 onCreateRule: function onCreateRule(key, style, options) {
18157 if (options.parent && options.parent.type === 'keyframes') {
18158 return new KeyframeRule(key, style, options);
18159 }
18160
18161 return null;
18162 }
18163 };
18164
18165 var FontFaceRule =
18166 /*#__PURE__*/
18167 function () {
18168 function FontFaceRule(key, style, options) {
18169 this.type = 'font-face';
18170 this.at = '@font-face';
18171 this.key = void 0;
18172 this.style = void 0;
18173 this.options = void 0;
18174 this.isProcessed = false;
18175 this.renderable = void 0;
18176 this.key = key;
18177 this.style = style;
18178 this.options = options;
18179 }
18180 /**
18181 * Generates a CSS string.
18182 */
18183
18184
18185 var _proto = FontFaceRule.prototype;
18186
18187 _proto.toString = function toString(options) {
18188 if (Array.isArray(this.style)) {
18189 var str = '';
18190
18191 for (var index = 0; index < this.style.length; index++) {
18192 str += toCss(this.at, this.style[index]);
18193 if (this.style[index + 1]) str += '\n';
18194 }
18195
18196 return str;
18197 }
18198
18199 return toCss(this.at, this.style, options);
18200 };
18201
18202 return FontFaceRule;
18203 }();
18204 var keyRegExp$2 = /@font-face/;
18205 var pluginFontFaceRule = {
18206 onCreateRule: function onCreateRule(key, style, options) {
18207 return keyRegExp$2.test(key) ? new FontFaceRule(key, style, options) : null;
18208 }
18209 };
18210
18211 var ViewportRule =
18212 /*#__PURE__*/
18213 function () {
18214 function ViewportRule(key, style, options) {
18215 this.type = 'viewport';
18216 this.at = '@viewport';
18217 this.key = void 0;
18218 this.style = void 0;
18219 this.options = void 0;
18220 this.isProcessed = false;
18221 this.renderable = void 0;
18222 this.key = key;
18223 this.style = style;
18224 this.options = options;
18225 }
18226 /**
18227 * Generates a CSS string.
18228 */
18229
18230
18231 var _proto = ViewportRule.prototype;
18232
18233 _proto.toString = function toString(options) {
18234 return toCss(this.key, this.style, options);
18235 };
18236
18237 return ViewportRule;
18238 }();
18239 var pluginViewportRule = {
18240 onCreateRule: function onCreateRule(key, style, options) {
18241 return key === '@viewport' || key === '@-ms-viewport' ? new ViewportRule(key, style, options) : null;
18242 }
18243 };
18244
18245 var SimpleRule =
18246 /*#__PURE__*/
18247 function () {
18248 function SimpleRule(key, value, options) {
18249 this.type = 'simple';
18250 this.key = void 0;
18251 this.value = void 0;
18252 this.options = void 0;
18253 this.isProcessed = false;
18254 this.renderable = void 0;
18255 this.key = key;
18256 this.value = value;
18257 this.options = options;
18258 }
18259 /**
18260 * Generates a CSS string.
18261 */
18262 // eslint-disable-next-line no-unused-vars
18263
18264
18265 var _proto = SimpleRule.prototype;
18266
18267 _proto.toString = function toString(options) {
18268 if (Array.isArray(this.value)) {
18269 var str = '';
18270
18271 for (var index = 0; index < this.value.length; index++) {
18272 str += this.key + " " + this.value[index] + ";";
18273 if (this.value[index + 1]) str += '\n';
18274 }
18275
18276 return str;
18277 }
18278
18279 return this.key + " " + this.value + ";";
18280 };
18281
18282 return SimpleRule;
18283 }();
18284 var keysMap = {
18285 '@charset': true,
18286 '@import': true,
18287 '@namespace': true
18288 };
18289 var pluginSimpleRule = {
18290 onCreateRule: function onCreateRule(key, value, options) {
18291 return key in keysMap ? new SimpleRule(key, value, options) : null;
18292 }
18293 };
18294
18295 var plugins = [pluginStyleRule, pluginConditionalRule, jss_esm_plugin, pluginKeyframeRule, pluginFontFaceRule, pluginViewportRule, pluginSimpleRule];
18296
18297 var defaultUpdateOptions = {
18298 process: true
18299 };
18300 var forceUpdateOptions = {
18301 force: true,
18302 process: true
18303 /**
18304 * Contains rules objects and allows adding/removing etc.
18305 * Is used for e.g. by `StyleSheet` or `ConditionalRule`.
18306 */
18307
18308 };
18309
18310 var RuleList =
18311 /*#__PURE__*/
18312 function () {
18313 // Rules registry for access by .get() method.
18314 // It contains the same rule registered by name and by selector.
18315 // Original styles object.
18316 // Used to ensure correct rules order.
18317 function RuleList(options) {
18318 this.map = {};
18319 this.raw = {};
18320 this.index = [];
18321 this.counter = 0;
18322 this.options = void 0;
18323 this.classes = void 0;
18324 this.keyframes = void 0;
18325 this.options = options;
18326 this.classes = options.classes;
18327 this.keyframes = options.keyframes;
18328 }
18329 /**
18330 * Create and register rule.
18331 *
18332 * Will not render after Style Sheet was rendered the first time.
18333 */
18334
18335
18336 var _proto = RuleList.prototype;
18337
18338 _proto.add = function add(name, decl, ruleOptions) {
18339 var _this$options = this.options,
18340 parent = _this$options.parent,
18341 sheet = _this$options.sheet,
18342 jss = _this$options.jss,
18343 Renderer = _this$options.Renderer,
18344 generateId = _this$options.generateId,
18345 scoped = _this$options.scoped;
18346
18347 var options = _extends({
18348 classes: this.classes,
18349 parent: parent,
18350 sheet: sheet,
18351 jss: jss,
18352 Renderer: Renderer,
18353 generateId: generateId,
18354 scoped: scoped,
18355 name: name,
18356 keyframes: this.keyframes,
18357 selector: undefined
18358 }, ruleOptions); // When user uses .createStyleSheet(), duplicate names are not possible, but
18359 // `sheet.addRule()` opens the door for any duplicate rule name. When this happens
18360 // we need to make the key unique within this RuleList instance scope.
18361
18362
18363 var key = name;
18364
18365 if (name in this.raw) {
18366 key = name + "-d" + this.counter++;
18367 } // We need to save the original decl before creating the rule
18368 // because cache plugin needs to use it as a key to return a cached rule.
18369
18370
18371 this.raw[key] = decl;
18372
18373 if (key in this.classes) {
18374 // E.g. rules inside of @media container
18375 options.selector = "." + jss_esm_escape(this.classes[key]);
18376 }
18377
18378 var rule = createRule(key, decl, options);
18379 if (!rule) return null;
18380 this.register(rule);
18381 var index = options.index === undefined ? this.index.length : options.index;
18382 this.index.splice(index, 0, rule);
18383 return rule;
18384 }
18385 /**
18386 * Get a rule.
18387 */
18388 ;
18389
18390 _proto.get = function get(name) {
18391 return this.map[name];
18392 }
18393 /**
18394 * Delete a rule.
18395 */
18396 ;
18397
18398 _proto.remove = function remove(rule) {
18399 this.unregister(rule);
18400 delete this.raw[rule.key];
18401 this.index.splice(this.index.indexOf(rule), 1);
18402 }
18403 /**
18404 * Get index of a rule.
18405 */
18406 ;
18407
18408 _proto.indexOf = function indexOf(rule) {
18409 return this.index.indexOf(rule);
18410 }
18411 /**
18412 * Run `onProcessRule()` plugins on every rule.
18413 */
18414 ;
18415
18416 _proto.process = function process() {
18417 var plugins = this.options.jss.plugins; // We need to clone array because if we modify the index somewhere else during a loop
18418 // we end up with very hard-to-track-down side effects.
18419
18420 this.index.slice(0).forEach(plugins.onProcessRule, plugins);
18421 }
18422 /**
18423 * Register a rule in `.map`, `.classes` and `.keyframes` maps.
18424 */
18425 ;
18426
18427 _proto.register = function register(rule) {
18428 this.map[rule.key] = rule;
18429
18430 if (rule instanceof StyleRule) {
18431 this.map[rule.selector] = rule;
18432 if (rule.id) this.classes[rule.key] = rule.id;
18433 } else if (rule instanceof KeyframesRule && this.keyframes) {
18434 this.keyframes[rule.name] = rule.id;
18435 }
18436 }
18437 /**
18438 * Unregister a rule.
18439 */
18440 ;
18441
18442 _proto.unregister = function unregister(rule) {
18443 delete this.map[rule.key];
18444
18445 if (rule instanceof StyleRule) {
18446 delete this.map[rule.selector];
18447 delete this.classes[rule.key];
18448 } else if (rule instanceof KeyframesRule) {
18449 delete this.keyframes[rule.name];
18450 }
18451 }
18452 /**
18453 * Update the function values with a new data.
18454 */
18455 ;
18456
18457 _proto.update = function update() {
18458 var name;
18459 var data;
18460 var options;
18461
18462 if (typeof (arguments.length <= 0 ? undefined : arguments[0]) === 'string') {
18463 name = arguments.length <= 0 ? undefined : arguments[0]; // $FlowFixMe[invalid-tuple-index]
18464
18465 data = arguments.length <= 1 ? undefined : arguments[1]; // $FlowFixMe[invalid-tuple-index]
18466
18467 options = arguments.length <= 2 ? undefined : arguments[2];
18468 } else {
18469 data = arguments.length <= 0 ? undefined : arguments[0]; // $FlowFixMe[invalid-tuple-index]
18470
18471 options = arguments.length <= 1 ? undefined : arguments[1];
18472 name = null;
18473 }
18474
18475 if (name) {
18476 this.updateOne(this.map[name], data, options);
18477 } else {
18478 for (var index = 0; index < this.index.length; index++) {
18479 this.updateOne(this.index[index], data, options);
18480 }
18481 }
18482 }
18483 /**
18484 * Execute plugins, update rule props.
18485 */
18486 ;
18487
18488 _proto.updateOne = function updateOne(rule, data, options) {
18489 if (options === void 0) {
18490 options = defaultUpdateOptions;
18491 }
18492
18493 var _this$options2 = this.options,
18494 plugins = _this$options2.jss.plugins,
18495 sheet = _this$options2.sheet; // It is a rules container like for e.g. ConditionalRule.
18496
18497 if (rule.rules instanceof RuleList) {
18498 rule.rules.update(data, options);
18499 return;
18500 }
18501
18502 var styleRule = rule;
18503 var style = styleRule.style;
18504 plugins.onUpdate(data, rule, sheet, options); // We rely on a new `style` ref in case it was mutated during onUpdate hook.
18505
18506 if (options.process && style && style !== styleRule.style) {
18507 // We need to run the plugins in case new `style` relies on syntax plugins.
18508 plugins.onProcessStyle(styleRule.style, styleRule, sheet); // Update and add props.
18509
18510 for (var prop in styleRule.style) {
18511 var nextValue = styleRule.style[prop];
18512 var prevValue = style[prop]; // We need to use `force: true` because `rule.style` has been updated during onUpdate hook, so `rule.prop()` will not update the CSSOM rule.
18513 // We do this comparison to avoid unneeded `rule.prop()` calls, since we have the old `style` object here.
18514
18515 if (nextValue !== prevValue) {
18516 styleRule.prop(prop, nextValue, forceUpdateOptions);
18517 }
18518 } // Remove props.
18519
18520
18521 for (var _prop in style) {
18522 var _nextValue = styleRule.style[_prop];
18523 var _prevValue = style[_prop]; // We need to use `force: true` because `rule.style` has been updated during onUpdate hook, so `rule.prop()` will not update the CSSOM rule.
18524 // We do this comparison to avoid unneeded `rule.prop()` calls, since we have the old `style` object here.
18525
18526 if (_nextValue == null && _nextValue !== _prevValue) {
18527 styleRule.prop(_prop, null, forceUpdateOptions);
18528 }
18529 }
18530 }
18531 }
18532 /**
18533 * Convert rules to a CSS string.
18534 */
18535 ;
18536
18537 _proto.toString = function toString(options) {
18538 var str = '';
18539 var sheet = this.options.sheet;
18540 var link = sheet ? sheet.options.link : false;
18541
18542 for (var index = 0; index < this.index.length; index++) {
18543 var rule = this.index[index];
18544 var css = rule.toString(options); // No need to render an empty rule.
18545
18546 if (!css && !link) continue;
18547 if (str) str += '\n';
18548 str += css;
18549 }
18550
18551 return str;
18552 };
18553
18554 return RuleList;
18555 }();
18556
18557 var StyleSheet =
18558 /*#__PURE__*/
18559 function () {
18560 function StyleSheet(styles, options) {
18561 this.options = void 0;
18562 this.deployed = void 0;
18563 this.attached = void 0;
18564 this.rules = void 0;
18565 this.renderer = void 0;
18566 this.classes = void 0;
18567 this.keyframes = void 0;
18568 this.queue = void 0;
18569 this.attached = false;
18570 this.deployed = false;
18571 this.classes = {};
18572 this.keyframes = {};
18573 this.options = _extends({}, options, {
18574 sheet: this,
18575 parent: this,
18576 classes: this.classes,
18577 keyframes: this.keyframes
18578 });
18579
18580 if (options.Renderer) {
18581 this.renderer = new options.Renderer(this);
18582 }
18583
18584 this.rules = new RuleList(this.options);
18585
18586 for (var name in styles) {
18587 this.rules.add(name, styles[name]);
18588 }
18589
18590 this.rules.process();
18591 }
18592 /**
18593 * Attach renderable to the render tree.
18594 */
18595
18596
18597 var _proto = StyleSheet.prototype;
18598
18599 _proto.attach = function attach() {
18600 if (this.attached) return this;
18601 if (this.renderer) this.renderer.attach();
18602 this.attached = true; // Order is important, because we can't use insertRule API if style element is not attached.
18603
18604 if (!this.deployed) this.deploy();
18605 return this;
18606 }
18607 /**
18608 * Remove renderable from render tree.
18609 */
18610 ;
18611
18612 _proto.detach = function detach() {
18613 if (!this.attached) return this;
18614 if (this.renderer) this.renderer.detach();
18615 this.attached = false;
18616 return this;
18617 }
18618 /**
18619 * Add a rule to the current stylesheet.
18620 * Will insert a rule also after the stylesheet has been rendered first time.
18621 */
18622 ;
18623
18624 _proto.addRule = function addRule(name, decl, options) {
18625 var queue = this.queue; // Plugins can create rules.
18626 // In order to preserve the right order, we need to queue all `.addRule` calls,
18627 // which happen after the first `rules.add()` call.
18628
18629 if (this.attached && !queue) this.queue = [];
18630 var rule = this.rules.add(name, decl, options);
18631 if (!rule) return null;
18632 this.options.jss.plugins.onProcessRule(rule);
18633
18634 if (this.attached) {
18635 if (!this.deployed) return rule; // Don't insert rule directly if there is no stringified version yet.
18636 // It will be inserted all together when .attach is called.
18637
18638 if (queue) queue.push(rule);else {
18639 this.insertRule(rule);
18640
18641 if (this.queue) {
18642 this.queue.forEach(this.insertRule, this);
18643 this.queue = undefined;
18644 }
18645 }
18646 return rule;
18647 } // We can't add rules to a detached style node.
18648 // We will redeploy the sheet once user will attach it.
18649
18650
18651 this.deployed = false;
18652 return rule;
18653 }
18654 /**
18655 * Insert rule into the StyleSheet
18656 */
18657 ;
18658
18659 _proto.insertRule = function insertRule(rule) {
18660 if (this.renderer) {
18661 this.renderer.insertRule(rule);
18662 }
18663 }
18664 /**
18665 * Create and add rules.
18666 * Will render also after Style Sheet was rendered the first time.
18667 */
18668 ;
18669
18670 _proto.addRules = function addRules(styles, options) {
18671 var added = [];
18672
18673 for (var name in styles) {
18674 var rule = this.addRule(name, styles[name], options);
18675 if (rule) added.push(rule);
18676 }
18677
18678 return added;
18679 }
18680 /**
18681 * Get a rule by name.
18682 */
18683 ;
18684
18685 _proto.getRule = function getRule(name) {
18686 return this.rules.get(name);
18687 }
18688 /**
18689 * Delete a rule by name.
18690 * Returns `true`: if rule has been deleted from the DOM.
18691 */
18692 ;
18693
18694 _proto.deleteRule = function deleteRule(name) {
18695 var rule = typeof name === 'object' ? name : this.rules.get(name);
18696
18697 if (!rule || // Style sheet was created without link: true and attached, in this case we
18698 // won't be able to remove the CSS rule from the DOM.
18699 this.attached && !rule.renderable) {
18700 return false;
18701 }
18702
18703 this.rules.remove(rule);
18704
18705 if (this.attached && rule.renderable && this.renderer) {
18706 return this.renderer.deleteRule(rule.renderable);
18707 }
18708
18709 return true;
18710 }
18711 /**
18712 * Get index of a rule.
18713 */
18714 ;
18715
18716 _proto.indexOf = function indexOf(rule) {
18717 return this.rules.indexOf(rule);
18718 }
18719 /**
18720 * Deploy pure CSS string to a renderable.
18721 */
18722 ;
18723
18724 _proto.deploy = function deploy() {
18725 if (this.renderer) this.renderer.deploy();
18726 this.deployed = true;
18727 return this;
18728 }
18729 /**
18730 * Update the function values with a new data.
18731 */
18732 ;
18733
18734 _proto.update = function update() {
18735 var _this$rules;
18736
18737 (_this$rules = this.rules).update.apply(_this$rules, arguments);
18738
18739 return this;
18740 }
18741 /**
18742 * Updates a single rule.
18743 */
18744 ;
18745
18746 _proto.updateOne = function updateOne(rule, data, options) {
18747 this.rules.updateOne(rule, data, options);
18748 return this;
18749 }
18750 /**
18751 * Convert rules to a CSS string.
18752 */
18753 ;
18754
18755 _proto.toString = function toString(options) {
18756 return this.rules.toString(options);
18757 };
18758
18759 return StyleSheet;
18760 }();
18761
18762 var PluginsRegistry =
18763 /*#__PURE__*/
18764 function () {
18765 function PluginsRegistry() {
18766 this.plugins = {
18767 internal: [],
18768 external: []
18769 };
18770 this.registry = void 0;
18771 }
18772
18773 var _proto = PluginsRegistry.prototype;
18774
18775 /**
18776 * Call `onCreateRule` hooks and return an object if returned by a hook.
18777 */
18778 _proto.onCreateRule = function onCreateRule(name, decl, options) {
18779 for (var i = 0; i < this.registry.onCreateRule.length; i++) {
18780 var rule = this.registry.onCreateRule[i](name, decl, options);
18781 if (rule) return rule;
18782 }
18783
18784 return null;
18785 }
18786 /**
18787 * Call `onProcessRule` hooks.
18788 */
18789 ;
18790
18791 _proto.onProcessRule = function onProcessRule(rule) {
18792 if (rule.isProcessed) return;
18793 var sheet = rule.options.sheet;
18794
18795 for (var i = 0; i < this.registry.onProcessRule.length; i++) {
18796 this.registry.onProcessRule[i](rule, sheet);
18797 }
18798
18799 if (rule.style) this.onProcessStyle(rule.style, rule, sheet);
18800 rule.isProcessed = true;
18801 }
18802 /**
18803 * Call `onProcessStyle` hooks.
18804 */
18805 ;
18806
18807 _proto.onProcessStyle = function onProcessStyle(style, rule, sheet) {
18808 for (var i = 0; i < this.registry.onProcessStyle.length; i++) {
18809 // $FlowFixMe[prop-missing]
18810 rule.style = this.registry.onProcessStyle[i](rule.style, rule, sheet);
18811 }
18812 }
18813 /**
18814 * Call `onProcessSheet` hooks.
18815 */
18816 ;
18817
18818 _proto.onProcessSheet = function onProcessSheet(sheet) {
18819 for (var i = 0; i < this.registry.onProcessSheet.length; i++) {
18820 this.registry.onProcessSheet[i](sheet);
18821 }
18822 }
18823 /**
18824 * Call `onUpdate` hooks.
18825 */
18826 ;
18827
18828 _proto.onUpdate = function onUpdate(data, rule, sheet, options) {
18829 for (var i = 0; i < this.registry.onUpdate.length; i++) {
18830 this.registry.onUpdate[i](data, rule, sheet, options);
18831 }
18832 }
18833 /**
18834 * Call `onChangeValue` hooks.
18835 */
18836 ;
18837
18838 _proto.onChangeValue = function onChangeValue(value, prop, rule) {
18839 var processedValue = value;
18840
18841 for (var i = 0; i < this.registry.onChangeValue.length; i++) {
18842 processedValue = this.registry.onChangeValue[i](processedValue, prop, rule);
18843 }
18844
18845 return processedValue;
18846 }
18847 /**
18848 * Register a plugin.
18849 */
18850 ;
18851
18852 _proto.use = function use(newPlugin, options) {
18853 if (options === void 0) {
18854 options = {
18855 queue: 'external'
18856 };
18857 }
18858
18859 var plugins = this.plugins[options.queue]; // Avoids applying same plugin twice, at least based on ref.
18860
18861 if (plugins.indexOf(newPlugin) !== -1) {
18862 return;
18863 }
18864
18865 plugins.push(newPlugin);
18866 this.registry = [].concat(this.plugins.external, this.plugins.internal).reduce(function (registry, plugin) {
18867 for (var name in plugin) {
18868 if (name in registry) {
18869 registry[name].push(plugin[name]);
18870 } else {
18871 false ? 0 : void 0;
18872 }
18873 }
18874
18875 return registry;
18876 }, {
18877 onCreateRule: [],
18878 onProcessRule: [],
18879 onProcessStyle: [],
18880 onProcessSheet: [],
18881 onChangeValue: [],
18882 onUpdate: []
18883 });
18884 };
18885
18886 return PluginsRegistry;
18887 }();
18888
18889 /**
18890 * Sheets registry to access them all at one place.
18891 */
18892 var SheetsRegistry =
18893 /*#__PURE__*/
18894 function () {
18895 function SheetsRegistry() {
18896 this.registry = [];
18897 }
18898
18899 var _proto = SheetsRegistry.prototype;
18900
18901 /**
18902 * Register a Style Sheet.
18903 */
18904 _proto.add = function add(sheet) {
18905 var registry = this.registry;
18906 var index = sheet.options.index;
18907 if (registry.indexOf(sheet) !== -1) return;
18908
18909 if (registry.length === 0 || index >= this.index) {
18910 registry.push(sheet);
18911 return;
18912 } // Find a position.
18913
18914
18915 for (var i = 0; i < registry.length; i++) {
18916 if (registry[i].options.index > index) {
18917 registry.splice(i, 0, sheet);
18918 return;
18919 }
18920 }
18921 }
18922 /**
18923 * Reset the registry.
18924 */
18925 ;
18926
18927 _proto.reset = function reset() {
18928 this.registry = [];
18929 }
18930 /**
18931 * Remove a Style Sheet.
18932 */
18933 ;
18934
18935 _proto.remove = function remove(sheet) {
18936 var index = this.registry.indexOf(sheet);
18937 this.registry.splice(index, 1);
18938 }
18939 /**
18940 * Convert all attached sheets to a CSS string.
18941 */
18942 ;
18943
18944 _proto.toString = function toString(_temp) {
18945 var _ref = _temp === void 0 ? {} : _temp,
18946 attached = _ref.attached,
18947 options = _objectWithoutPropertiesLoose(_ref, ["attached"]);
18948
18949 var css = '';
18950
18951 for (var i = 0; i < this.registry.length; i++) {
18952 var sheet = this.registry[i];
18953
18954 if (attached != null && sheet.attached !== attached) {
18955 continue;
18956 }
18957
18958 if (css) css += '\n';
18959 css += sheet.toString(options);
18960 }
18961
18962 return css;
18963 };
18964
18965 createClass_createClass(SheetsRegistry, [{
18966 key: "index",
18967
18968 /**
18969 * Current highest index number.
18970 */
18971 get: function get() {
18972 return this.registry.length === 0 ? 0 : this.registry[this.registry.length - 1].options.index;
18973 }
18974 }]);
18975
18976 return SheetsRegistry;
18977 }();
18978
18979 /**
18980 * This is a global sheets registry. Only DomRenderer will add sheets to it.
18981 * On the server one should use an own SheetsRegistry instance and add the
18982 * sheets to it, because you need to make sure to create a new registry for
18983 * each request in order to not leak sheets across requests.
18984 */
18985
18986 var registry = new SheetsRegistry();
18987
18988 /* eslint-disable */
18989
18990 /**
18991 * Now that `globalThis` is available on most platforms
18992 * (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis#browser_compatibility)
18993 * we check for `globalThis` first. `globalThis` is necessary for jss
18994 * to run in Agoric's secure version of JavaScript (SES). Under SES,
18995 * `globalThis` exists, but `window`, `self`, and `Function('return
18996 * this')()` are all undefined for security reasons.
18997 *
18998 * https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
18999 */
19000 var globalThis$1 = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' && window.Math === Math ? window : typeof self !== 'undefined' && self.Math === Math ? self : Function('return this')();
19001
19002 var ns = '2f1acc6c3a606b082e5eef5e54414ffb';
19003 if (globalThis$1[ns] == null) globalThis$1[ns] = 0; // Bundle may contain multiple JSS versions at the same time. In order to identify
19004 // the current version with just one short number and use it for classes generation
19005 // we use a counter. Also it is more accurate, because user can manually reevaluate
19006 // the module.
19007
19008 var moduleId = globalThis$1[ns]++;
19009
19010 var maxRules = 1e10;
19011
19012 /**
19013 * Returns a function which generates unique class names based on counters.
19014 * When new generator function is created, rule counter is reseted.
19015 * We need to reset the rule counter for SSR for each request.
19016 */
19017 var createGenerateId = function createGenerateId(options) {
19018 if (options === void 0) {
19019 options = {};
19020 }
19021
19022 var ruleCounter = 0;
19023 return function (rule, sheet) {
19024 ruleCounter += 1;
19025
19026 if (ruleCounter > maxRules) {
19027 false ? 0 : void 0;
19028 }
19029
19030 var jssId = '';
19031 var prefix = '';
19032
19033 if (sheet) {
19034 if (sheet.options.classNamePrefix) {
19035 prefix = sheet.options.classNamePrefix;
19036 }
19037
19038 if (sheet.options.jss.id != null) {
19039 jssId = String(sheet.options.jss.id);
19040 }
19041 }
19042
19043 if (options.minify) {
19044 // Using "c" because a number can't be the first char in a class name.
19045 return "" + (prefix || 'c') + moduleId + jssId + ruleCounter;
19046 }
19047
19048 return prefix + rule.key + "-" + moduleId + (jssId ? "-" + jssId : '') + "-" + ruleCounter;
19049 };
19050 };
19051
19052 /**
19053 * Cache the value from the first time a function is called.
19054 */
19055 var memoize = function memoize(fn) {
19056 var value;
19057 return function () {
19058 if (!value) value = fn();
19059 return value;
19060 };
19061 };
19062
19063 /**
19064 * Get a style property value.
19065 */
19066 var getPropertyValue = function getPropertyValue(cssRule, prop) {
19067 try {
19068 // Support CSSTOM.
19069 if (cssRule.attributeStyleMap) {
19070 return cssRule.attributeStyleMap.get(prop);
19071 }
19072
19073 return cssRule.style.getPropertyValue(prop);
19074 } catch (err) {
19075 // IE may throw if property is unknown.
19076 return '';
19077 }
19078 };
19079
19080 /**
19081 * Set a style property.
19082 */
19083 var setProperty = function setProperty(cssRule, prop, value) {
19084 try {
19085 var cssValue = value;
19086
19087 if (Array.isArray(value)) {
19088 cssValue = toCssValue(value, true);
19089
19090 if (value[value.length - 1] === '!important') {
19091 cssRule.style.setProperty(prop, cssValue, 'important');
19092 return true;
19093 }
19094 } // Support CSSTOM.
19095
19096
19097 if (cssRule.attributeStyleMap) {
19098 cssRule.attributeStyleMap.set(prop, cssValue);
19099 } else {
19100 cssRule.style.setProperty(prop, cssValue);
19101 }
19102 } catch (err) {
19103 // IE may throw if property is unknown.
19104 return false;
19105 }
19106
19107 return true;
19108 };
19109
19110 /**
19111 * Remove a style property.
19112 */
19113 var removeProperty = function removeProperty(cssRule, prop) {
19114 try {
19115 // Support CSSTOM.
19116 if (cssRule.attributeStyleMap) {
19117 cssRule.attributeStyleMap.delete(prop);
19118 } else {
19119 cssRule.style.removeProperty(prop);
19120 }
19121 } catch (err) {
19122 false ? 0 : void 0;
19123 }
19124 };
19125
19126 /**
19127 * Set the selector.
19128 */
19129 var setSelector = function setSelector(cssRule, selectorText) {
19130 cssRule.selectorText = selectorText; // Return false if setter was not successful.
19131 // Currently works in chrome only.
19132
19133 return cssRule.selectorText === selectorText;
19134 };
19135 /**
19136 * Gets the `head` element upon the first call and caches it.
19137 * We assume it can't be null.
19138 */
19139
19140
19141 var getHead = memoize(function () {
19142 return document.querySelector('head');
19143 });
19144 /**
19145 * Find attached sheet with an index higher than the passed one.
19146 */
19147
19148 function findHigherSheet(registry, options) {
19149 for (var i = 0; i < registry.length; i++) {
19150 var sheet = registry[i];
19151
19152 if (sheet.attached && sheet.options.index > options.index && sheet.options.insertionPoint === options.insertionPoint) {
19153 return sheet;
19154 }
19155 }
19156
19157 return null;
19158 }
19159 /**
19160 * Find attached sheet with the highest index.
19161 */
19162
19163
19164 function findHighestSheet(registry, options) {
19165 for (var i = registry.length - 1; i >= 0; i--) {
19166 var sheet = registry[i];
19167
19168 if (sheet.attached && sheet.options.insertionPoint === options.insertionPoint) {
19169 return sheet;
19170 }
19171 }
19172
19173 return null;
19174 }
19175 /**
19176 * Find a comment with "jss" inside.
19177 */
19178
19179
19180 function findCommentNode(text) {
19181 var head = getHead();
19182
19183 for (var i = 0; i < head.childNodes.length; i++) {
19184 var node = head.childNodes[i];
19185
19186 if (node.nodeType === 8 && node.nodeValue.trim() === text) {
19187 return node;
19188 }
19189 }
19190
19191 return null;
19192 }
19193
19194 /**
19195 * Find a node before which we can insert the sheet.
19196 */
19197 function findPrevNode(options) {
19198 var registry$1 = registry.registry;
19199
19200 if (registry$1.length > 0) {
19201 // Try to insert before the next higher sheet.
19202 var sheet = findHigherSheet(registry$1, options);
19203
19204 if (sheet && sheet.renderer) {
19205 return {
19206 parent: sheet.renderer.element.parentNode,
19207 node: sheet.renderer.element
19208 };
19209 } // Otherwise insert after the last attached.
19210
19211
19212 sheet = findHighestSheet(registry$1, options);
19213
19214 if (sheet && sheet.renderer) {
19215 return {
19216 parent: sheet.renderer.element.parentNode,
19217 node: sheet.renderer.element.nextSibling
19218 };
19219 }
19220 } // Try to find a comment placeholder if registry is empty.
19221
19222
19223 var insertionPoint = options.insertionPoint;
19224
19225 if (insertionPoint && typeof insertionPoint === 'string') {
19226 var comment = findCommentNode(insertionPoint);
19227
19228 if (comment) {
19229 return {
19230 parent: comment.parentNode,
19231 node: comment.nextSibling
19232 };
19233 } // If user specifies an insertion point and it can't be found in the document -
19234 // bad specificity issues may appear.
19235
19236
19237 false ? 0 : void 0;
19238 }
19239
19240 return false;
19241 }
19242 /**
19243 * Insert style element into the DOM.
19244 */
19245
19246
19247 function insertStyle(style, options) {
19248 var insertionPoint = options.insertionPoint;
19249 var nextNode = findPrevNode(options);
19250
19251 if (nextNode !== false && nextNode.parent) {
19252 nextNode.parent.insertBefore(style, nextNode.node);
19253 return;
19254 } // Works with iframes and any node types.
19255
19256
19257 if (insertionPoint && typeof insertionPoint.nodeType === 'number') {
19258 // https://stackoverflow.com/questions/41328728/force-casting-in-flow
19259 var insertionPointElement = insertionPoint;
19260 var parentNode = insertionPointElement.parentNode;
19261 if (parentNode) parentNode.insertBefore(style, insertionPointElement.nextSibling);else false ? 0 : void 0;
19262 return;
19263 }
19264
19265 getHead().appendChild(style);
19266 }
19267 /**
19268 * Read jss nonce setting from the page if the user has set it.
19269 */
19270
19271
19272 var getNonce = memoize(function () {
19273 var node = document.querySelector('meta[property="csp-nonce"]');
19274 return node ? node.getAttribute('content') : null;
19275 });
19276
19277 var _insertRule = function insertRule(container, rule, index) {
19278 try {
19279 if ('insertRule' in container) {
19280 var c = container;
19281 c.insertRule(rule, index);
19282 } // Keyframes rule.
19283 else if ('appendRule' in container) {
19284 var _c = container;
19285
19286 _c.appendRule(rule);
19287 }
19288 } catch (err) {
19289 false ? 0 : void 0;
19290 return false;
19291 }
19292
19293 return container.cssRules[index];
19294 };
19295
19296 var getValidRuleInsertionIndex = function getValidRuleInsertionIndex(container, index) {
19297 var maxIndex = container.cssRules.length; // In case previous insertion fails, passed index might be wrong
19298
19299 if (index === undefined || index > maxIndex) {
19300 // eslint-disable-next-line no-param-reassign
19301 return maxIndex;
19302 }
19303
19304 return index;
19305 };
19306
19307 var createStyle = function createStyle() {
19308 var el = document.createElement('style'); // Without it, IE will have a broken source order specificity if we
19309 // insert rules after we insert the style tag.
19310 // It seems to kick-off the source order specificity algorithm.
19311
19312 el.textContent = '\n';
19313 return el;
19314 };
19315
19316 var DomRenderer =
19317 /*#__PURE__*/
19318 function () {
19319 // HTMLStyleElement needs fixing https://github.com/facebook/flow/issues/2696
19320 // Will be empty if link: true option is not set, because
19321 // it is only for use together with insertRule API.
19322 function DomRenderer(sheet) {
19323 this.getPropertyValue = getPropertyValue;
19324 this.setProperty = setProperty;
19325 this.removeProperty = removeProperty;
19326 this.setSelector = setSelector;
19327 this.element = void 0;
19328 this.sheet = void 0;
19329 this.hasInsertedRules = false;
19330 this.cssRules = [];
19331 // There is no sheet when the renderer is used from a standalone StyleRule.
19332 if (sheet) registry.add(sheet);
19333 this.sheet = sheet;
19334
19335 var _ref = this.sheet ? this.sheet.options : {},
19336 media = _ref.media,
19337 meta = _ref.meta,
19338 element = _ref.element;
19339
19340 this.element = element || createStyle();
19341 this.element.setAttribute('data-jss', '');
19342 if (media) this.element.setAttribute('media', media);
19343 if (meta) this.element.setAttribute('data-meta', meta);
19344 var nonce = getNonce();
19345 if (nonce) this.element.setAttribute('nonce', nonce);
19346 }
19347 /**
19348 * Insert style element into render tree.
19349 */
19350
19351
19352 var _proto = DomRenderer.prototype;
19353
19354 _proto.attach = function attach() {
19355 // In the case the element node is external and it is already in the DOM.
19356 if (this.element.parentNode || !this.sheet) return;
19357 insertStyle(this.element, this.sheet.options); // When rules are inserted using `insertRule` API, after `sheet.detach().attach()`
19358 // most browsers create a new CSSStyleSheet, except of all IEs.
19359
19360 var deployed = Boolean(this.sheet && this.sheet.deployed);
19361
19362 if (this.hasInsertedRules && deployed) {
19363 this.hasInsertedRules = false;
19364 this.deploy();
19365 }
19366 }
19367 /**
19368 * Remove style element from render tree.
19369 */
19370 ;
19371
19372 _proto.detach = function detach() {
19373 if (!this.sheet) return;
19374 var parentNode = this.element.parentNode;
19375 if (parentNode) parentNode.removeChild(this.element); // In the most browsers, rules inserted using insertRule() API will be lost when style element is removed.
19376 // Though IE will keep them and we need a consistent behavior.
19377
19378 if (this.sheet.options.link) {
19379 this.cssRules = [];
19380 this.element.textContent = '\n';
19381 }
19382 }
19383 /**
19384 * Inject CSS string into element.
19385 */
19386 ;
19387
19388 _proto.deploy = function deploy() {
19389 var sheet = this.sheet;
19390 if (!sheet) return;
19391
19392 if (sheet.options.link) {
19393 this.insertRules(sheet.rules);
19394 return;
19395 }
19396
19397 this.element.textContent = "\n" + sheet.toString() + "\n";
19398 }
19399 /**
19400 * Insert RuleList into an element.
19401 */
19402 ;
19403
19404 _proto.insertRules = function insertRules(rules, nativeParent) {
19405 for (var i = 0; i < rules.index.length; i++) {
19406 this.insertRule(rules.index[i], i, nativeParent);
19407 }
19408 }
19409 /**
19410 * Insert a rule into element.
19411 */
19412 ;
19413
19414 _proto.insertRule = function insertRule(rule, index, nativeParent) {
19415 if (nativeParent === void 0) {
19416 nativeParent = this.element.sheet;
19417 }
19418
19419 if (rule.rules) {
19420 var parent = rule;
19421 var latestNativeParent = nativeParent;
19422
19423 if (rule.type === 'conditional' || rule.type === 'keyframes') {
19424 var _insertionIndex = getValidRuleInsertionIndex(nativeParent, index); // We need to render the container without children first.
19425
19426
19427 latestNativeParent = _insertRule(nativeParent, parent.toString({
19428 children: false
19429 }), _insertionIndex);
19430
19431 if (latestNativeParent === false) {
19432 return false;
19433 }
19434
19435 this.refCssRule(rule, _insertionIndex, latestNativeParent);
19436 }
19437
19438 this.insertRules(parent.rules, latestNativeParent);
19439 return latestNativeParent;
19440 }
19441
19442 var ruleStr = rule.toString();
19443 if (!ruleStr) return false;
19444 var insertionIndex = getValidRuleInsertionIndex(nativeParent, index);
19445
19446 var nativeRule = _insertRule(nativeParent, ruleStr, insertionIndex);
19447
19448 if (nativeRule === false) {
19449 return false;
19450 }
19451
19452 this.hasInsertedRules = true;
19453 this.refCssRule(rule, insertionIndex, nativeRule);
19454 return nativeRule;
19455 };
19456
19457 _proto.refCssRule = function refCssRule(rule, index, cssRule) {
19458 rule.renderable = cssRule; // We only want to reference the top level rules, deleteRule API doesn't support removing nested rules
19459 // like rules inside media queries or keyframes
19460
19461 if (rule.options.parent instanceof StyleSheet) {
19462 this.cssRules[index] = cssRule;
19463 }
19464 }
19465 /**
19466 * Delete a rule.
19467 */
19468 ;
19469
19470 _proto.deleteRule = function deleteRule(cssRule) {
19471 var sheet = this.element.sheet;
19472 var index = this.indexOf(cssRule);
19473 if (index === -1) return false;
19474 sheet.deleteRule(index);
19475 this.cssRules.splice(index, 1);
19476 return true;
19477 }
19478 /**
19479 * Get index of a CSS Rule.
19480 */
19481 ;
19482
19483 _proto.indexOf = function indexOf(cssRule) {
19484 return this.cssRules.indexOf(cssRule);
19485 }
19486 /**
19487 * Generate a new CSS rule and replace the existing one.
19488 *
19489 * Only used for some old browsers because they can't set a selector.
19490 */
19491 ;
19492
19493 _proto.replaceRule = function replaceRule(cssRule, rule) {
19494 var index = this.indexOf(cssRule);
19495 if (index === -1) return false;
19496 this.element.sheet.deleteRule(index);
19497 this.cssRules.splice(index, 1);
19498 return this.insertRule(rule, index);
19499 }
19500 /**
19501 * Get all rules elements.
19502 */
19503 ;
19504
19505 _proto.getRules = function getRules() {
19506 return this.element.sheet.cssRules;
19507 };
19508
19509 return DomRenderer;
19510 }();
19511
19512 var instanceCounter = 0;
19513
19514 var Jss =
19515 /*#__PURE__*/
19516 function () {
19517 function Jss(options) {
19518 this.id = instanceCounter++;
19519 this.version = "10.6.0";
19520 this.plugins = new PluginsRegistry();
19521 this.options = {
19522 id: {
19523 minify: false
19524 },
19525 createGenerateId: createGenerateId,
19526 Renderer: dist_module ? DomRenderer : null,
19527 plugins: []
19528 };
19529 this.generateId = createGenerateId({
19530 minify: false
19531 });
19532
19533 for (var i = 0; i < plugins.length; i++) {
19534 this.plugins.use(plugins[i], {
19535 queue: 'internal'
19536 });
19537 }
19538
19539 this.setup(options);
19540 }
19541 /**
19542 * Prepares various options, applies plugins.
19543 * Should not be used twice on the same instance, because there is no plugins
19544 * deduplication logic.
19545 */
19546
19547
19548 var _proto = Jss.prototype;
19549
19550 _proto.setup = function setup(options) {
19551 if (options === void 0) {
19552 options = {};
19553 }
19554
19555 if (options.createGenerateId) {
19556 this.options.createGenerateId = options.createGenerateId;
19557 }
19558
19559 if (options.id) {
19560 this.options.id = _extends({}, this.options.id, options.id);
19561 }
19562
19563 if (options.createGenerateId || options.id) {
19564 this.generateId = this.options.createGenerateId(this.options.id);
19565 }
19566
19567 if (options.insertionPoint != null) this.options.insertionPoint = options.insertionPoint;
19568
19569 if ('Renderer' in options) {
19570 this.options.Renderer = options.Renderer;
19571 } // eslint-disable-next-line prefer-spread
19572
19573
19574 if (options.plugins) this.use.apply(this, options.plugins);
19575 return this;
19576 }
19577 /**
19578 * Create a Style Sheet.
19579 */
19580 ;
19581
19582 _proto.createStyleSheet = function createStyleSheet(styles, options) {
19583 if (options === void 0) {
19584 options = {};
19585 }
19586
19587 var _options = options,
19588 index = _options.index;
19589
19590 if (typeof index !== 'number') {
19591 index = registry.index === 0 ? 0 : registry.index + 1;
19592 }
19593
19594 var sheet = new StyleSheet(styles, _extends({}, options, {
19595 jss: this,
19596 generateId: options.generateId || this.generateId,
19597 insertionPoint: this.options.insertionPoint,
19598 Renderer: this.options.Renderer,
19599 index: index
19600 }));
19601 this.plugins.onProcessSheet(sheet);
19602 return sheet;
19603 }
19604 /**
19605 * Detach the Style Sheet and remove it from the registry.
19606 */
19607 ;
19608
19609 _proto.removeStyleSheet = function removeStyleSheet(sheet) {
19610 sheet.detach();
19611 registry.remove(sheet);
19612 return this;
19613 }
19614 /**
19615 * Create a rule without a Style Sheet.
19616 * [Deprecated] will be removed in the next major version.
19617 */
19618 ;
19619
19620 _proto.createRule = function createRule$1(name, style, options) {
19621 if (style === void 0) {
19622 style = {};
19623 }
19624
19625 if (options === void 0) {
19626 options = {};
19627 }
19628
19629 // Enable rule without name for inline styles.
19630 if (typeof name === 'object') {
19631 // $FlowFixMe[incompatible-call]
19632 return this.createRule(undefined, name, style);
19633 } // $FlowFixMe[incompatible-type]
19634
19635
19636 var ruleOptions = _extends({}, options, {
19637 name: name,
19638 jss: this,
19639 Renderer: this.options.Renderer
19640 });
19641
19642 if (!ruleOptions.generateId) ruleOptions.generateId = this.generateId;
19643 if (!ruleOptions.classes) ruleOptions.classes = {};
19644 if (!ruleOptions.keyframes) ruleOptions.keyframes = {};
19645
19646 var rule = createRule(name, style, ruleOptions);
19647
19648 if (rule) this.plugins.onProcessRule(rule);
19649 return rule;
19650 }
19651 /**
19652 * Register plugin. Passed function will be invoked with a rule instance.
19653 */
19654 ;
19655
19656 _proto.use = function use() {
19657 var _this = this;
19658
19659 for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {
19660 plugins[_key] = arguments[_key];
19661 }
19662
19663 plugins.forEach(function (plugin) {
19664 _this.plugins.use(plugin);
19665 });
19666 return this;
19667 };
19668
19669 return Jss;
19670 }();
19671
19672 /**
19673 * Extracts a styles object with only props that contain function values.
19674 */
19675 function getDynamicStyles(styles) {
19676 var to = null;
19677
19678 for (var key in styles) {
19679 var value = styles[key];
19680 var type = typeof value;
19681
19682 if (type === 'function') {
19683 if (!to) to = {};
19684 to[key] = value;
19685 } else if (type === 'object' && value !== null && !Array.isArray(value)) {
19686 var extracted = getDynamicStyles(value);
19687
19688 if (extracted) {
19689 if (!to) to = {};
19690 to[key] = extracted;
19691 }
19692 }
19693 }
19694
19695 return to;
19696 }
19697
19698 /**
19699 * SheetsManager is like a WeakMap which is designed to count StyleSheet
19700 * instances and attach/detach automatically.
19701 */
19702 var SheetsManager =
19703 /*#__PURE__*/
19704 (/* unused pure expression or super */ null && (function () {
19705 function SheetsManager() {
19706 this.length = 0;
19707 this.sheets = new WeakMap();
19708 }
19709
19710 var _proto = SheetsManager.prototype;
19711
19712 _proto.get = function get(key) {
19713 var entry = this.sheets.get(key);
19714 return entry && entry.sheet;
19715 };
19716
19717 _proto.add = function add(key, sheet) {
19718 if (this.sheets.has(key)) return;
19719 this.length++;
19720 this.sheets.set(key, {
19721 sheet: sheet,
19722 refs: 0
19723 });
19724 };
19725
19726 _proto.manage = function manage(key) {
19727 var entry = this.sheets.get(key);
19728
19729 if (entry) {
19730 if (entry.refs === 0) {
19731 entry.sheet.attach();
19732 }
19733
19734 entry.refs++;
19735 return entry.sheet;
19736 }
19737
19738 warning(false, "[JSS] SheetsManager: can't find sheet to manage");
19739 return undefined;
19740 };
19741
19742 _proto.unmanage = function unmanage(key) {
19743 var entry = this.sheets.get(key);
19744
19745 if (entry) {
19746 if (entry.refs > 0) {
19747 entry.refs--;
19748 if (entry.refs === 0) entry.sheet.detach();
19749 }
19750 } else {
19751 warning(false, "SheetsManager: can't find sheet to unmanage");
19752 }
19753 };
19754
19755 _createClass(SheetsManager, [{
19756 key: "size",
19757 get: function get() {
19758 return this.length;
19759 }
19760 }]);
19761
19762 return SheetsManager;
19763 }()));
19764
19765 /**
19766 * A better abstraction over CSS.
19767 *
19768 * @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present
19769 * @website https://github.com/cssinjs/jss
19770 * @license MIT
19771 */
19772
19773 /**
19774 * Export a constant indicating if this browser has CSSTOM support.
19775 * https://developers.google.com/web/updates/2018/03/cssom
19776 */
19777 var hasCSSTOMSupport = typeof CSS === 'object' && CSS != null && 'number' in CSS;
19778 /**
19779 * Creates a new instance of Jss.
19780 */
19781
19782 var create = function create(options) {
19783 return new Jss(options);
19784 };
19785 /**
19786 * A global Jss instance.
19787 */
19788
19789 var jss = create();
19790
19791 /* harmony default export */ var jss_esm = (jss);
19792
19793
19794 ;// CONCATENATED MODULE: ./src/js/frontend/Utils/Style.js
19795 function Style_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; }
19796
19797 function Style_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Style_ownKeys(Object(source), true).forEach(function (key) { Style_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Style_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
19798
19799 function Style_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19800
19801 function Style_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
19802
19803
19804
19805
19806 var Style = function Style(styles, options) {
19807 var _this = this;
19808
19809 Style_classCallCheck(this, Style);
19810
19811 this.cachedData = styles;
19812 var sheet = jss_esm.createStyleSheet(Object.keys(styles) // [button, icon]
19813 .reduce(function (acc, key) {
19814 return Style_objectSpread(Style_objectSpread({}, acc), {}, Style_defineProperty({}, key, function (data) {
19815 return data[key];
19816 }));
19817 }, {}), Style_objectSpread({
19818 link: true,
19819 element: document.getElementById("buttonizer-styling"),
19820 classNamePrefix: "buttonizer-"
19821 }, options));
19822 sheet.oldUpdate = sheet.update;
19823
19824 sheet.update = function (data) {
19825 merge_default()(_this.cachedData, data);
19826 };
19827
19828 sheet.oldAttach = sheet.attach;
19829
19830 sheet.attach = function () {
19831 sheet.oldUpdate(_this.cachedData);
19832 sheet.oldAttach();
19833 };
19834
19835 sheet.getCachedData = function () {
19836 return _this.cachedData;
19837 };
19838
19839 return sheet;
19840 };
19841
19842
19843 ;// CONCATENATED MODULE: ./src/js/frontend/Utils/Stylesheets.js
19844 function Stylesheets_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19845
19846
19847 function Stylesheets_button() {
19848 var _button, _label;
19849
19850 return new Style({
19851 button: (_button = {
19852 display: "block",
19853 cursor: "pointer",
19854 outline: "none",
19855 position: "relative",
19856 width: 42,
19857 height: 42,
19858 maxWidth: "none !important",
19859 color: "#fff",
19860 "background-color": "#48A4DC",
19861 "box-shadow": "0 2px 5px 0 rgba(0,0,0,0.16), 0 2px 10px 0 rgba(0,0,0,0.12)",
19862 textAlign: "center",
19863 textDecoration: "none",
19864 margin: "0 auto 0 auto",
19865 "border-radius": "50%",
19866 transition: "ease-in-out 250ms",
19867 visibility: "visible"
19868 }, Stylesheets_defineProperty(_button, "outline", "none !important"), Stylesheets_defineProperty(_button, "userSelect", "none"), Stylesheets_defineProperty(_button, "background-size", "cover"), Stylesheets_defineProperty(_button, "background-repeat", "no-repeat"), Stylesheets_defineProperty(_button, "background-position", "center center"), Stylesheets_defineProperty(_button, "&::before", {
19869 content: "''",
19870 "background-size": "cover",
19871 "background-repeat": "no-repeat",
19872 "background-position": "center center",
19873 "border-radius": "50%",
19874 position: "absolute",
19875 width: "100%",
19876 height: "100%",
19877 overflow: "hidden",
19878 left: 0,
19879 top: 0,
19880 transition: "all 250ms ease-in-out 0s"
19881 }), Stylesheets_defineProperty(_button, "&:hover", {
19882 "&::before": {
19883 "background-size": "cover",
19884 "background-repeat": "no-repeat",
19885 "background-position": "center center"
19886 },
19887 "background-color": "#F08419",
19888 "box-shadow": "0 5px 11px 0 rgba(0,0,0,0.18), 0 4px 15px 0 rgba(0,0,0,0.15)",
19889 "background-size": "cover",
19890 "background-repeat": "no-repeat",
19891 "background-position": "center center"
19892 }), _button),
19893 icon: {
19894 position: "absolute",
19895 top: "50%",
19896 left: "50%",
19897 transform: "translate(-50%,-50%)",
19898 "font-size": "16px",
19899 color: "#fff",
19900 "text-align": "center",
19901 transition: "all 0.2s ease-out",
19902 "z-index": 1
19903 },
19904 image: {
19905 width: 16,
19906 "max-width": "unset",
19907 transition: "all 0.2s ease-out",
19908 position: "absolute",
19909 transform: "translate(-50%,-50%)",
19910 top: "50%",
19911 left: "50%",
19912 "z-index": 1
19913 },
19914 label: (_label = {
19915 color: "#FFFFFFFF",
19916 background: "#4E4C4CFF",
19917 "font-size": 12,
19918 "font-family": "unset",
19919 "border-radius": "3px 3px 3px 3px",
19920 margin: "0px 0px 0px 0px",
19921 padding: "5px 15px 5px 15px",
19922 position: "absolute",
19923 top: "50%",
19924 transform: "translateY(-50%)",
19925 transition: "all 0.1s ease-out",
19926 "line-height": "initial",
19927 "white-space": "nowrap"
19928 }, Stylesheets_defineProperty(_label, "transition", "all 0.2s ease-out"), Stylesheets_defineProperty(_label, "& img", {
19929 "max-width": "initial"
19930 }), Stylesheets_defineProperty(_label, "z-index", 1), _label),
19931 opened: {},
19932 closed: {},
19933 exit_intent_animate: {}
19934 }, {
19935 link: true
19936 });
19937 }
19938 function Stylesheets_group() {
19939 return new Style({
19940 group: {
19941 position: "fixed",
19942 display: "flex",
19943 visibility: "hidden",
19944 // bottom: typeof data.vertical === "undefined" ? "5%" : undefined,
19945 // right: typeof data.horizontal === "undefined" ? "5%" : undefined,
19946 "z-index": 99999,
19947 transition: "ease-in-out 250ms"
19948 },
19949 hidden: {
19950 opacity: 0,
19951 visibility: "hidden",
19952 transform: "translate(0, 50px)",
19953 pointerEvents: "none"
19954 }
19955 }, {
19956 link: true
19957 });
19958 }
19959 ;// CONCATENATED MODULE: ./src/js/frontend/Generators/OpeningAnimations/Default.js
19960 function Default_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Default_typeof = function _typeof(obj) { return typeof obj; }; } else { Default_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Default_typeof(obj); }
19961
19962 function Default_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19963
19964 function Default_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
19965
19966 function Default_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
19967
19968 function Default_createClass(Constructor, protoProps, staticProps) { if (protoProps) Default_defineProperties(Constructor.prototype, protoProps); if (staticProps) Default_defineProperties(Constructor, staticProps); return Constructor; }
19969
19970 function Default_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Default_setPrototypeOf(subClass, superClass); }
19971
19972 function Default_setPrototypeOf(o, p) { Default_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Default_setPrototypeOf(o, p); }
19973
19974 function Default_createSuper(Derived) { var hasNativeReflectConstruct = Default_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Default_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Default_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Default_possibleConstructorReturn(this, result); }; }
19975
19976 function Default_possibleConstructorReturn(self, call) { if (call && (Default_typeof(call) === "object" || typeof call === "function")) { return call; } return Default_assertThisInitialized(self); }
19977
19978 function Default_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
19979
19980 function Default_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; } }
19981
19982 function Default_getPrototypeOf(o) { Default_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Default_getPrototypeOf(o); }
19983
19984
19985
19986 var Default = /*#__PURE__*/function (_Generator) {
19987 Default_inherits(Default, _Generator);
19988
19989 var _super = Default_createSuper(Default);
19990
19991 function Default() {
19992 Default_classCallCheck(this, Default);
19993
19994 return _super.call(this);
19995 /**
19996 * This generator is used for turning a normal button into a menu button.
19997 */
19998 }
19999
20000 Default_createClass(Default, [{
20001 key: "createJss",
20002 value: function createJss(group, device, isMenu, buttonSize) {
20003 var deviceKey = device === "mobile" ? "@media screen and (max-width: 769px)" : "@media screen and (min-width: 769px)";
20004 var previousHeight = 0;
20005 var buttonCount = 0;
20006 Object.keys(group.buttons).map(function (key) {
20007 var button = group.buttons[key];
20008 var visibility = device === "mobile" ? button.visibility.mobile() : button.visibility.desktop();
20009
20010 if (key === group.menuButton) {
20011 previousHeight = button.data.group_size;
20012 button.stylesheet.update({
20013 button: {
20014 "z-index": 9999
20015 }
20016 });
20017 button.stylesheet.update({
20018 opened: Default_defineProperty({}, deviceKey, {
20019 "& $icon": {
20020 transform: "translate(-50%, -50%) rotate(45deg)"
20021 },
20022 "& $label": {
20023 visibility: "hidden",
20024 opacity: "0"
20025 }
20026 })
20027 });
20028 } else {
20029 if (isMenu) {
20030 var _deviceKey;
20031
20032 var diff = parseInt(buttonSize) / 2 + parseInt(previousHeight) / 2;
20033 previousHeight = buttonSize;
20034 button.stylesheet.update({
20035 closed: Default_defineProperty({}, deviceKey, (_deviceKey = {}, Default_defineProperty(_deviceKey, "margin-".concat(group.data.vertical[0]), "-".concat(diff, "px")), Default_defineProperty(_deviceKey, "opacity", 0), Default_defineProperty(_deviceKey, "visibility", "hidden"), Default_defineProperty(_deviceKey, "pointer-events", "none"), Default_defineProperty(_deviceKey, "& $label", {
20036 visibility: "hidden",
20037 opacity: "0"
20038 }), _deviceKey))
20039 });
20040 } else {
20041 if (buttonCount === 0) {
20042 button.stylesheet.update({
20043 button: Default_defineProperty({}, deviceKey, Default_defineProperty({}, "margin-".concat(group.data.vertical[0]), 0))
20044 });
20045 } // Update button count
20046
20047
20048 if (visibility) {
20049 buttonCount++;
20050 }
20051 }
20052 }
20053 });
20054 }
20055 }]);
20056
20057 return Default;
20058 }(Generator);
20059
20060
20061 ;// CONCATENATED MODULE: ./src/js/frontend/Generators/OpeningAnimations/Pop.js
20062 function Pop_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Pop_typeof = function _typeof(obj) { return typeof obj; }; } else { Pop_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Pop_typeof(obj); }
20063
20064 function Pop_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20065
20066 function Pop_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20067
20068 function Pop_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
20069
20070 function Pop_createClass(Constructor, protoProps, staticProps) { if (protoProps) Pop_defineProperties(Constructor.prototype, protoProps); if (staticProps) Pop_defineProperties(Constructor, staticProps); return Constructor; }
20071
20072 function Pop_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Pop_setPrototypeOf(subClass, superClass); }
20073
20074 function Pop_setPrototypeOf(o, p) { Pop_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Pop_setPrototypeOf(o, p); }
20075
20076 function Pop_createSuper(Derived) { var hasNativeReflectConstruct = Pop_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Pop_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Pop_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Pop_possibleConstructorReturn(this, result); }; }
20077
20078 function Pop_possibleConstructorReturn(self, call) { if (call && (Pop_typeof(call) === "object" || typeof call === "function")) { return call; } return Pop_assertThisInitialized(self); }
20079
20080 function Pop_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
20081
20082 function Pop_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; } }
20083
20084 function Pop_getPrototypeOf(o) { Pop_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Pop_getPrototypeOf(o); }
20085
20086
20087
20088 var Pop = /*#__PURE__*/function (_Generator) {
20089 Pop_inherits(Pop, _Generator);
20090
20091 var _super = Pop_createSuper(Pop);
20092
20093 function Pop() {
20094 Pop_classCallCheck(this, Pop);
20095
20096 return _super.call(this);
20097 /**
20098 * This generator is used for turning a normal button into a menu button.
20099 */
20100 }
20101
20102 Pop_createClass(Pop, [{
20103 key: "createJss",
20104 value: function createJss(group, device, isMenu) {
20105 // Count button index
20106 var buttonCount = 0;
20107 var deviceKey = device === "mobile" ? "@media screen and (max-width: 769px)" : "@media screen and (min-width: 769px)";
20108 Object.keys(group.buttons).map(function (key) {
20109 var button = group.buttons[key];
20110 var visibility = device === "mobile" ? button.visibility.mobile() : button.visibility.desktop();
20111
20112 if (key === group.menuButton) {
20113 button.stylesheet.update({
20114 button: {
20115 width: 56,
20116 height: 56,
20117 "z-index": 9999
20118 }
20119 });
20120 if (button.icon) button.icon.stylesheet.update({
20121 icon: {
20122 "font-size": "25px",
20123 transition: "all ease-in-out 250ms"
20124 }
20125 });
20126 button.stylesheet.update({
20127 opened: {
20128 "& $icon": {
20129 transform: "translate(-50%, -50%) rotate(45deg)"
20130 },
20131 "& $label": {
20132 visibility: "hidden",
20133 opacity: "0"
20134 }
20135 }
20136 });
20137 } else if (visibility) {
20138 if (isMenu) {
20139 button.stylesheet.update({
20140 closed: Pop_defineProperty({}, deviceKey, {
20141 transform: "scale(0)",
20142 opacity: 0,
20143 visibility: "hidden",
20144 "pointer-events": "none",
20145 "& $label": {
20146 visibility: "hidden",
20147 opacity: "0"
20148 }
20149 })
20150 });
20151 button.stylesheet.update({
20152 opened: Pop_defineProperty({}, deviceKey, {
20153 opacity: 1,
20154 visibility: "visible",
20155 transform: "scale(1)",
20156 transition: "all 300ms ease-in, transform 200ms ".concat(buttonCount * 35, "ms,\n opacity 200ms ").concat(buttonCount * 35, "ms")
20157 })
20158 }); // Update button count
20159
20160 if (visibility) {
20161 buttonCount++;
20162 }
20163 } else {
20164 if (buttonCount === 0) {
20165 button.stylesheet.update({
20166 button: Pop_defineProperty({}, deviceKey, Pop_defineProperty({}, "margin-".concat(group.data.vertical[0]), 0))
20167 });
20168 } // Update button count
20169
20170
20171 if (visibility) {
20172 buttonCount++;
20173 }
20174 }
20175 }
20176 });
20177 }
20178 }]);
20179
20180 return Pop;
20181 }(Generator);
20182
20183
20184 ;// CONCATENATED MODULE: ./src/js/frontend/Generators/OpeningAnimations/Faded.js
20185 function Faded_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Faded_typeof = function _typeof(obj) { return typeof obj; }; } else { Faded_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Faded_typeof(obj); }
20186
20187 function Faded_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20188
20189 function Faded_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20190
20191 function Faded_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
20192
20193 function Faded_createClass(Constructor, protoProps, staticProps) { if (protoProps) Faded_defineProperties(Constructor.prototype, protoProps); if (staticProps) Faded_defineProperties(Constructor, staticProps); return Constructor; }
20194
20195 function Faded_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) Faded_setPrototypeOf(subClass, superClass); }
20196
20197 function Faded_setPrototypeOf(o, p) { Faded_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return Faded_setPrototypeOf(o, p); }
20198
20199 function Faded_createSuper(Derived) { var hasNativeReflectConstruct = Faded_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Faded_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Faded_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Faded_possibleConstructorReturn(this, result); }; }
20200
20201 function Faded_possibleConstructorReturn(self, call) { if (call && (Faded_typeof(call) === "object" || typeof call === "function")) { return call; } return Faded_assertThisInitialized(self); }
20202
20203 function Faded_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
20204
20205 function Faded_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; } }
20206
20207 function Faded_getPrototypeOf(o) { Faded_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return Faded_getPrototypeOf(o); }
20208
20209
20210
20211 var Faded = /*#__PURE__*/function (_Generator) {
20212 Faded_inherits(Faded, _Generator);
20213
20214 var _super = Faded_createSuper(Faded);
20215
20216 function Faded() {
20217 Faded_classCallCheck(this, Faded);
20218
20219 return _super.call(this);
20220 /**
20221 * This generator is used for turning a normal button into a menu button.
20222 */
20223 }
20224
20225 Faded_createClass(Faded, [{
20226 key: "createJss",
20227 value: function createJss(group, device, isMenu) {
20228 // Count button index
20229 var buttonCount = 0;
20230 var deviceKey = device === "mobile" ? "@media screen and (max-width: 769px)" : "@media screen and (min-width: 769px)";
20231 Object.keys(group.buttons).map(function (key) {
20232 var button = group.buttons[key];
20233 var visibility = device === "mobile" ? button.visibility.mobile() : button.visibility.desktop();
20234
20235 if (key === group.menuButton) {
20236 button.stylesheet.update({
20237 button: {
20238 "z-index": 9999999
20239 }
20240 });
20241 button.stylesheet.update({
20242 opened: Faded_defineProperty({}, deviceKey, {
20243 "& $icon": {
20244 transform: "translate(-50%, -50%) rotate(45deg)"
20245 },
20246 "& $label": {
20247 visibility: "hidden",
20248 opacity: "0"
20249 }
20250 })
20251 });
20252 } else if (visibility) {
20253 if (isMenu) {
20254 var _deviceKey, _deviceKey2;
20255
20256 button.stylesheet.update({
20257 closed: Faded_defineProperty({}, deviceKey, (_deviceKey = {}, Faded_defineProperty(_deviceKey, group.data.horizontal[0], "-50px"), Faded_defineProperty(_deviceKey, "opacity", 0), Faded_defineProperty(_deviceKey, "visibility", "hidden"), Faded_defineProperty(_deviceKey, "transition", "all 300ms ease-in"), Faded_defineProperty(_deviceKey, "pointer-events", "none"), Faded_defineProperty(_deviceKey, "& $label", {
20258 visibility: "hidden",
20259 opacity: "0"
20260 }), _deviceKey))
20261 });
20262 button.stylesheet.update({
20263 opened: Faded_defineProperty({}, deviceKey, (_deviceKey2 = {}, Faded_defineProperty(_deviceKey2, group.data.horizontal[0], "0px"), Faded_defineProperty(_deviceKey2, "opacity", 1), Faded_defineProperty(_deviceKey2, "visibility", "visible"), Faded_defineProperty(_deviceKey2, "transition", "all 300ms ease-in, ".concat(group.data.horizontal[0], " 300ms ").concat(buttonCount * 150, "ms,\n opacity 300ms ").concat(buttonCount * 150, "ms")), _deviceKey2))
20264 }); // Update button count
20265
20266 if (visibility) {
20267 buttonCount++;
20268 }
20269 } else {
20270 if (buttonCount === 0) {
20271 button.stylesheet.update({
20272 button: Faded_defineProperty({}, deviceKey, Faded_defineProperty({}, "margin-".concat(group.data.vertical[0]), 0))
20273 });
20274 } // Update button count
20275
20276
20277 if (visibility) {
20278 buttonCount++;
20279 }
20280 }
20281 }
20282 });
20283 }
20284 }]);
20285
20286 return Faded;
20287 }(Generator);
20288
20289
20290 ;// CONCATENATED MODULE: ./src/js/frontend/Generators/OpeningAnimations/BuildUp.js
20291 function BuildUp_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { BuildUp_typeof = function _typeof(obj) { return typeof obj; }; } else { BuildUp_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return BuildUp_typeof(obj); }
20292
20293 function BuildUp_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20294
20295 function BuildUp_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20296
20297 function BuildUp_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
20298
20299 function BuildUp_createClass(Constructor, protoProps, staticProps) { if (protoProps) BuildUp_defineProperties(Constructor.prototype, protoProps); if (staticProps) BuildUp_defineProperties(Constructor, staticProps); return Constructor; }
20300
20301 function BuildUp_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) BuildUp_setPrototypeOf(subClass, superClass); }
20302
20303 function BuildUp_setPrototypeOf(o, p) { BuildUp_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return BuildUp_setPrototypeOf(o, p); }
20304
20305 function BuildUp_createSuper(Derived) { var hasNativeReflectConstruct = BuildUp_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = BuildUp_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = BuildUp_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return BuildUp_possibleConstructorReturn(this, result); }; }
20306
20307 function BuildUp_possibleConstructorReturn(self, call) { if (call && (BuildUp_typeof(call) === "object" || typeof call === "function")) { return call; } return BuildUp_assertThisInitialized(self); }
20308
20309 function BuildUp_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
20310
20311 function BuildUp_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; } }
20312
20313 function BuildUp_getPrototypeOf(o) { BuildUp_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return BuildUp_getPrototypeOf(o); }
20314
20315
20316
20317 var BuildUp = /*#__PURE__*/function (_Generator) {
20318 BuildUp_inherits(BuildUp, _Generator);
20319
20320 var _super = BuildUp_createSuper(BuildUp);
20321
20322 function BuildUp() {
20323 BuildUp_classCallCheck(this, BuildUp);
20324
20325 return _super.call(this);
20326 /**
20327 * This generator is used for turning a normal button into a menu button.
20328 */
20329 }
20330
20331 BuildUp_createClass(BuildUp, [{
20332 key: "createJss",
20333 value: function createJss(group, device, isMenu, buttonSize) {
20334 var previousHeight = 56; // Count button index
20335
20336 var buttonCount = 0;
20337 var deviceKey = device === "mobile" ? "@media screen and (max-width: 769px)" : "@media screen and (min-width: 769px)";
20338 Object.keys(group.buttons).map(function (key) {
20339 var button = group.buttons[key];
20340 var visibility = device === "mobile" ? button.visibility.mobile() : button.visibility.desktop();
20341
20342 if (key === group.menuButton) {
20343 previousHeight = button.data.group_size;
20344 button.stylesheet.update({
20345 button: {
20346 "z-index": 9999
20347 }
20348 });
20349 button.stylesheet.update({
20350 opened: {
20351 "& $icon": {
20352 transform: "translate(-50%, -50%) rotate(45deg)"
20353 },
20354 "& $label": {
20355 visibility: "hidden",
20356 opacity: "0"
20357 }
20358 }
20359 });
20360 } else if (visibility) {
20361 if (isMenu) {
20362 var _deviceKey;
20363
20364 var diff = parseInt(buttonSize) / 2 + parseInt(previousHeight) / 2;
20365 previousHeight = buttonSize;
20366 button.stylesheet.update({
20367 closed: BuildUp_defineProperty({}, deviceKey, (_deviceKey = {
20368 "pointer-events": "none"
20369 }, BuildUp_defineProperty(_deviceKey, "margin-".concat(group.data.vertical[0]), "-".concat(diff, "px")), BuildUp_defineProperty(_deviceKey, "opacity", 0), BuildUp_defineProperty(_deviceKey, "visibility", "hidden"), BuildUp_defineProperty(_deviceKey, "& $label", {
20370 visibility: "hidden",
20371 opacity: "0"
20372 }), _deviceKey))
20373 });
20374 button.stylesheet.update({
20375 opened: BuildUp_defineProperty({}, deviceKey, {
20376 transition: "all ease-in-out 250ms, margin-".concat(group.data.vertical[0], " 200ms ").concat(buttonCount * 150, "ms,\n opacity 200ms ").concat(buttonCount * 150, "ms"),
20377 opacity: 1,
20378 visibility: "visible"
20379 })
20380 }); // Update button count
20381
20382 if (visibility) {
20383 buttonCount++;
20384 }
20385 } else {
20386 if (buttonCount === 0) {
20387 button.stylesheet.update({
20388 button: BuildUp_defineProperty({}, deviceKey, BuildUp_defineProperty({}, "margin-".concat(group.data.vertical[0]), 0))
20389 });
20390 } // Update button count
20391
20392
20393 if (visibility) {
20394 buttonCount++;
20395 }
20396 }
20397 }
20398 });
20399 }
20400 }]);
20401
20402 return BuildUp;
20403 }(Generator);
20404
20405
20406 ;// CONCATENATED MODULE: ./src/js/frontend/Generators/OpeningAnimations/CornerCircle.js
20407 function CornerCircle_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { CornerCircle_typeof = function _typeof(obj) { return typeof obj; }; } else { CornerCircle_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return CornerCircle_typeof(obj); }
20408
20409 function CornerCircle_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20410
20411 function CornerCircle_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20412
20413 function CornerCircle_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
20414
20415 function CornerCircle_createClass(Constructor, protoProps, staticProps) { if (protoProps) CornerCircle_defineProperties(Constructor.prototype, protoProps); if (staticProps) CornerCircle_defineProperties(Constructor, staticProps); return Constructor; }
20416
20417 function CornerCircle_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) CornerCircle_setPrototypeOf(subClass, superClass); }
20418
20419 function CornerCircle_setPrototypeOf(o, p) { CornerCircle_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return CornerCircle_setPrototypeOf(o, p); }
20420
20421 function CornerCircle_createSuper(Derived) { var hasNativeReflectConstruct = CornerCircle_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = CornerCircle_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = CornerCircle_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return CornerCircle_possibleConstructorReturn(this, result); }; }
20422
20423 function CornerCircle_possibleConstructorReturn(self, call) { if (call && (CornerCircle_typeof(call) === "object" || typeof call === "function")) { return call; } return CornerCircle_assertThisInitialized(self); }
20424
20425 function CornerCircle_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
20426
20427 function CornerCircle_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; } }
20428
20429 function CornerCircle_getPrototypeOf(o) { CornerCircle_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return CornerCircle_getPrototypeOf(o); }
20430
20431 // Might move this function to a different file.
20432
20433 var getCoordinates = function getCoordinates() {
20434 var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
20435 var hor = arguments.length > 1 ? arguments[1] : undefined;
20436 var ver = arguments.length > 2 ? arguments[2] : undefined;
20437 // Used for starting every row at index 0
20438 var indexCorrection = 0; // Used for a small correction in radius, which puts the buttons closer together
20439
20440 var radiusCorrection = 1.2; // X and Y, x starts at -1 so the initial condition is incorrect.
20441
20442 var y;
20443 var x = -1; // Start at first row
20444
20445 var r = 1; // Start at index 0
20446
20447 var i = 0;
20448
20449 do {
20450 x = Math.round(70 * Math.cos(0.5 * (i - indexCorrection) * Math.PI / (r + 1))); // px
20451
20452 y = Math.round(70 * Math.sin(0.5 * (i - indexCorrection) * Math.PI / (r + 1)));
20453 i++;
20454
20455 if (x < 0) {
20456 // If x is smaller dan 0, it it out of bounds and we should try again on the next row
20457 i--;
20458 indexCorrection = i;
20459 radiusCorrection += 0.9;
20460 r += 1;
20461 } // Generate every step until we reach *index*
20462
20463 } while (i <= index);
20464
20465 x = radiusCorrection * x;
20466 y = radiusCorrection * y; // Flip menu when on other side
20467
20468 if (hor === "right") x = -x;
20469 if (ver === "bottom") y = -y;
20470 return [x, y];
20471 };
20472
20473 var CornerCircle = /*#__PURE__*/function (_Generator) {
20474 CornerCircle_inherits(CornerCircle, _Generator);
20475
20476 var _super = CornerCircle_createSuper(CornerCircle);
20477
20478 function CornerCircle() {
20479 CornerCircle_classCallCheck(this, CornerCircle);
20480
20481 return _super.call(this);
20482 /**
20483 * This generator is used for turning a normal button into a menu button.
20484 */
20485 }
20486
20487 CornerCircle_createClass(CornerCircle, [{
20488 key: "createJss",
20489 value: function createJss(group, device, isMenu, buttonSize) {
20490 var previousHeight = 56; // Count button index
20491
20492 var buttonCount = 0;
20493 var deviceKey = device === "mobile" ? "@media screen and (max-width: 769px)" : "@media screen and (min-width: 769px)";
20494 Object.keys(group.buttons).map(function (key) {
20495 var button = group.buttons[key];
20496 var visibility = device === "mobile" ? button.visibility.mobile() : button.visibility.desktop();
20497
20498 if (key === group.menuButton) {
20499 previousHeight = button.data.group_size;
20500 button.stylesheet.update({
20501 button: {
20502 "z-index": 9999
20503 }
20504 });
20505 button.stylesheet.update({
20506 opened: CornerCircle_defineProperty({}, deviceKey, {
20507 "& $icon": {
20508 transform: "translate(-50%, -50%) rotate(45deg)"
20509 },
20510 "& $label": {
20511 visibility: "hidden",
20512 opacity: 0,
20513 pointerEvents: "none"
20514 }
20515 })
20516 });
20517 } else if (visibility) {
20518 if (isMenu) {
20519 var _deviceKey2;
20520
20521 var diff = parseInt(buttonSize) / 2 + parseInt(previousHeight) / 2;
20522 previousHeight = buttonSize;
20523 var coorDesktop = getCoordinates(buttonCount, group.data.horizontal[0], group.data.vertical[0]);
20524 button.stylesheet.update({
20525 closed: CornerCircle_defineProperty({}, deviceKey, CornerCircle_defineProperty({
20526 opacity: 0,
20527 visibility: "hidden",
20528 "pointer-events": "none",
20529 "& $label": {
20530 visibility: "hidden",
20531 opacity: "0"
20532 }
20533 }, "margin-".concat(group.data.vertical[0]), "-".concat(diff, "px")))
20534 });
20535 button.stylesheet.update({
20536 opened: CornerCircle_defineProperty({}, deviceKey, (_deviceKey2 = {
20537 opacity: 1,
20538 visibility: "visible"
20539 }, CornerCircle_defineProperty(_deviceKey2, "margin-".concat(group.data.vertical[0]), "-".concat(diff, "px")), CornerCircle_defineProperty(_deviceKey2, "transform", "translate(".concat(coorDesktop[0], "px, ").concat(coorDesktop[1], "px)")), CornerCircle_defineProperty(_deviceKey2, "transition", "all ease-in-out 250ms, transform 200ms ".concat(buttonCount * 150, "ms, opacity 200ms ").concat(buttonCount * 150, "ms")), CornerCircle_defineProperty(_deviceKey2, "& $label", {
20540 visibility: "hidden",
20541 opacity: 0,
20542 pointerEvents: "none"
20543 }), CornerCircle_defineProperty(_deviceKey2, "&:hover", {
20544 "z-index": 1
20545 }), CornerCircle_defineProperty(_deviceKey2, "&:hover $label", {
20546 visibility: "visible",
20547 opacity: 1
20548 }), _deviceKey2))
20549 }); // Update button count
20550
20551 if (visibility) {
20552 buttonCount++;
20553 }
20554 } else {
20555 if (buttonCount === 0) {
20556 button.stylesheet.update({
20557 button: CornerCircle_defineProperty({}, deviceKey, CornerCircle_defineProperty({}, "margin-".concat(group.data.vertical[0]), 0))
20558 });
20559 } // Update button count
20560
20561
20562 if (visibility) {
20563 buttonCount++;
20564 }
20565 }
20566 }
20567 });
20568 }
20569 }]);
20570
20571 return CornerCircle;
20572 }(Generator);
20573
20574
20575 ;// CONCATENATED MODULE: ./src/js/frontend/Generators/OpeningAnimations/index.js
20576
20577
20578
20579
20580
20581 /* harmony default export */ var OpeningAnimations = ({
20582 "default": Default,
20583 pop: Pop,
20584 faded: Faded,
20585 "building-up": BuildUp,
20586 "corner-circle": CornerCircle
20587 });
20588 ;// CONCATENATED MODULE: ./src/js/frontend/renderExtender/template.js
20589 function renderExtender_template_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20590
20591 function renderExtender_template_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
20592
20593 function renderExtender_template_createClass(Constructor, protoProps, staticProps) { if (protoProps) renderExtender_template_defineProperties(Constructor.prototype, protoProps); if (staticProps) renderExtender_template_defineProperties(Constructor, staticProps); return Constructor; }
20594
20595 var template_Generator = /*#__PURE__*/function () {
20596 function Generator() {
20597 var group = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
20598
20599 renderExtender_template_classCallCheck(this, Generator);
20600
20601 this.group = group;
20602 }
20603
20604 renderExtender_template_createClass(Generator, [{
20605 key: "extend",
20606 value: function extend() {} // Placeholder
20607
20608 }, {
20609 key: "createJss",
20610 value: function createJss() {}
20611 }]);
20612
20613 return Generator;
20614 }();
20615
20616
20617 ;// CONCATENATED MODULE: ./src/js/frontend/renderExtender/SetSameHeightLabels.js
20618 function SetSameHeightLabels_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { SetSameHeightLabels_typeof = function _typeof(obj) { return typeof obj; }; } else { SetSameHeightLabels_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return SetSameHeightLabels_typeof(obj); }
20619
20620 function _wrapRegExp(re, groups) { _wrapRegExp = function _wrapRegExp(re, groups) { return new BabelRegExp(re, undefined, groups); }; var _RegExp = _wrapNativeSuper(RegExp); var _super = RegExp.prototype; var _groups = new WeakMap(); function BabelRegExp(re, flags, groups) { var _this = _RegExp.call(this, re, flags); _groups.set(_this, groups || _groups.get(re)); return _this; } SetSameHeightLabels_inherits(BabelRegExp, _RegExp); BabelRegExp.prototype.exec = function (str) { var result = _super.exec.call(this, str); if (result) result.groups = buildGroups(result, this); return result; }; BabelRegExp.prototype[Symbol.replace] = function (str, substitution) { if (typeof substitution === "string") { var groups = _groups.get(this); return _super[Symbol.replace].call(this, str, substitution.replace(/\$<([^>]+)>/g, function (_, name) { return "$" + groups[name]; })); } else if (typeof substitution === "function") { var _this = this; return _super[Symbol.replace].call(this, str, function () { var args = []; args.push.apply(args, arguments); if (SetSameHeightLabels_typeof(args[args.length - 1]) !== "object") { args.push(buildGroups(args, _this)); } return substitution.apply(this, args); }); } else { return _super[Symbol.replace].call(this, str, substitution); } }; function buildGroups(result, re) { var g = _groups.get(re); return Object.keys(g).reduce(function (groups, name) { groups[name] = result[g[name]]; return groups; }, Object.create(null)); } return _wrapRegExp.apply(this, arguments); }
20621
20622 function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, SetSameHeightLabels_getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return SetSameHeightLabels_setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }
20623
20624 function _construct(Parent, args, Class) { if (SetSameHeightLabels_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) SetSameHeightLabels_setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }
20625
20626 function _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[native code]") !== -1; }
20627
20628 function SetSameHeightLabels_toConsumableArray(arr) { return SetSameHeightLabels_arrayWithoutHoles(arr) || SetSameHeightLabels_iterableToArray(arr) || SetSameHeightLabels_unsupportedIterableToArray(arr) || SetSameHeightLabels_nonIterableSpread(); }
20629
20630 function SetSameHeightLabels_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
20631
20632 function SetSameHeightLabels_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return SetSameHeightLabels_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return SetSameHeightLabels_arrayLikeToArray(o, minLen); }
20633
20634 function SetSameHeightLabels_iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
20635
20636 function SetSameHeightLabels_arrayWithoutHoles(arr) { if (Array.isArray(arr)) return SetSameHeightLabels_arrayLikeToArray(arr); }
20637
20638 function SetSameHeightLabels_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
20639
20640 function SetSameHeightLabels_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20641
20642 function SetSameHeightLabels_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20643
20644 function SetSameHeightLabels_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
20645
20646 function SetSameHeightLabels_createClass(Constructor, protoProps, staticProps) { if (protoProps) SetSameHeightLabels_defineProperties(Constructor.prototype, protoProps); if (staticProps) SetSameHeightLabels_defineProperties(Constructor, staticProps); return Constructor; }
20647
20648 function SetSameHeightLabels_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) SetSameHeightLabels_setPrototypeOf(subClass, superClass); }
20649
20650 function SetSameHeightLabels_setPrototypeOf(o, p) { SetSameHeightLabels_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return SetSameHeightLabels_setPrototypeOf(o, p); }
20651
20652 function SetSameHeightLabels_createSuper(Derived) { var hasNativeReflectConstruct = SetSameHeightLabels_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = SetSameHeightLabels_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = SetSameHeightLabels_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return SetSameHeightLabels_possibleConstructorReturn(this, result); }; }
20653
20654 function SetSameHeightLabels_possibleConstructorReturn(self, call) { if (call && (SetSameHeightLabels_typeof(call) === "object" || typeof call === "function")) { return call; } return SetSameHeightLabels_assertThisInitialized(self); }
20655
20656 function SetSameHeightLabels_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
20657
20658 function SetSameHeightLabels_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; } }
20659
20660 function SetSameHeightLabels_getPrototypeOf(o) { SetSameHeightLabels_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return SetSameHeightLabels_getPrototypeOf(o); }
20661
20662
20663
20664
20665
20666 var SetSameHeightLabels = /*#__PURE__*/function (_Generator) {
20667 SetSameHeightLabels_inherits(SetSameHeightLabels, _Generator);
20668
20669 var _super = SetSameHeightLabels_createSuper(SetSameHeightLabels);
20670
20671 function SetSameHeightLabels() {
20672 SetSameHeightLabels_classCallCheck(this, SetSameHeightLabels);
20673
20674 return _super.apply(this, arguments);
20675 }
20676
20677 SetSameHeightLabels_createClass(SetSameHeightLabels, [{
20678 key: "extend",
20679 value: function extend(button) {
20680 button.stylesheet.update(this.getJSS(button, "mobile", button.data.is_menu_mobile, button.data.is_menu_mobile ? button.data.button_size : button.data.group_size));
20681 button.stylesheet.update(this.getJSS(button, "desktop", button.data.is_menu_desktop, button.data.is_menu_desktop ? button.data.button_size : button.data.group_size));
20682 }
20683 }, {
20684 key: "getJSS",
20685 value: function getJSS(button, device, isMenu, buttonSize) {
20686 return merge_default()({}, this.setPadding(button, device, isMenu, buttonSize), this.setSameHeightLabels(button, device, isMenu, buttonSize));
20687 }
20688 }, {
20689 key: "setSameHeightLabels",
20690 value: function setSameHeightLabels(button, device, isMenu, buttonSize) {
20691 var deviceKey = device === "mobile" ? "@media screen and (max-width: 769px)" : "@media screen and (min-width: 769px)";
20692 return {
20693 label: SetSameHeightLabels_defineProperty({}, deviceKey, {
20694 height: buttonSize,
20695 "line-height": buttonSize + "px"
20696 })
20697 };
20698 }
20699 }, {
20700 key: "setPadding",
20701 value: function setPadding(button, device) {
20702 var deviceKey = device === "mobile" ? "@media screen and (max-width: 769px)" : "@media screen and (min-width: 769px)";
20703 var label_paddingNormal = dlv_umd_default()(button, "data.label_padding.0", "5px 15px 5px 15px");
20704 var label_paddingHover = dlv_umd_default()(button, "data.label_padding.1", label_paddingNormal);
20705
20706 var paddingNormalGroups = SetSameHeightLabels_toConsumableArray(label_paddingNormal.matchAll( /*#__PURE__*/_wrapRegExp(/(.*px) (.*px) (.*px) (.*px)/g, {
20707 top: 1,
20708 right: 2,
20709 bottom: 3,
20710 left: 4
20711 })))[0]["groups"];
20712
20713 var paddingHoverGroups = SetSameHeightLabels_toConsumableArray(label_paddingHover.matchAll( /*#__PURE__*/_wrapRegExp(/(.*px) (.*px) (.*px) (.*px)/g, {
20714 top: 1,
20715 right: 2,
20716 bottom: 3,
20717 left: 4
20718 })))[0]["groups"];
20719
20720 return {
20721 label: SetSameHeightLabels_defineProperty({}, deviceKey, {
20722 padding: "0px ".concat(paddingNormalGroups.right, " 0px ").concat(paddingNormalGroups.left)
20723 }),
20724 button: SetSameHeightLabels_defineProperty({}, deviceKey, {
20725 "&:hover": {
20726 "& $label": {
20727 padding: "0px ".concat(paddingHoverGroups.right, " 0px ").concat(paddingHoverGroups.left)
20728 }
20729 }
20730 })
20731 };
20732 }
20733 }]);
20734
20735 return SetSameHeightLabels;
20736 }(template_Generator);
20737
20738
20739 ;// CONCATENATED MODULE: ./src/js/frontend/Generators/SingleButton.js
20740 function SingleButton_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { SingleButton_typeof = function _typeof(obj) { return typeof obj; }; } else { SingleButton_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return SingleButton_typeof(obj); }
20741
20742 function SingleButton_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; }
20743
20744 function SingleButton_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { SingleButton_ownKeys(Object(source), true).forEach(function (key) { SingleButton_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { SingleButton_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
20745
20746 function SingleButton_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20747
20748 function SingleButton_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20749
20750 function SingleButton_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
20751
20752 function SingleButton_createClass(Constructor, protoProps, staticProps) { if (protoProps) SingleButton_defineProperties(Constructor.prototype, protoProps); if (staticProps) SingleButton_defineProperties(Constructor, staticProps); return Constructor; }
20753
20754 function SingleButton_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) SingleButton_setPrototypeOf(subClass, superClass); }
20755
20756 function SingleButton_setPrototypeOf(o, p) { SingleButton_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return SingleButton_setPrototypeOf(o, p); }
20757
20758 function SingleButton_createSuper(Derived) { var hasNativeReflectConstruct = SingleButton_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = SingleButton_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = SingleButton_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return SingleButton_possibleConstructorReturn(this, result); }; }
20759
20760 function SingleButton_possibleConstructorReturn(self, call) { if (call && (SingleButton_typeof(call) === "object" || typeof call === "function")) { return call; } return SingleButton_assertThisInitialized(self); }
20761
20762 function SingleButton_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
20763
20764 function SingleButton_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; } }
20765
20766 function SingleButton_getPrototypeOf(o) { SingleButton_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return SingleButton_getPrototypeOf(o); }
20767
20768
20769
20770
20771
20772 var SingleButton = /*#__PURE__*/function (_Generator) {
20773 SingleButton_inherits(SingleButton, _Generator);
20774
20775 var _super = SingleButton_createSuper(SingleButton);
20776
20777 function SingleButton(_ref) {
20778 var _this;
20779
20780 var button = _ref.button,
20781 visibility = _ref.visibility,
20782 hideMenu = _ref.hideMenu;
20783
20784 SingleButton_classCallCheck(this, SingleButton);
20785
20786 _this = _super.call(this);
20787 _this.visibility = visibility;
20788 _this.button = button; // button id
20789
20790 _this.hideMenu = hideMenu; // Should hide menu button in other device too
20791
20792 return _this;
20793 }
20794
20795 SingleButton_createClass(SingleButton, [{
20796 key: "generate",
20797 value: function generate(group) {
20798 var _objectSpread2;
20799
20800 var sameHeight;
20801 if (group.data.label_same_height === true && group.data.label_inside === false) sameHeight = new SetSameHeightLabels().getJSS({
20802 data: SingleButton_objectSpread(SingleButton_objectSpread({}, group.buttons[this.button].data), {}, {
20803 width: group.data.width,
20804 height: group.data.width
20805 })
20806 }); // Update single button size & visibilty
20807
20808 var jssSingleButton = SingleButton_objectSpread((_objectSpread2 = {
20809 width: group.data.width,
20810 height: group.data.height
20811 }, SingleButton_defineProperty(_objectSpread2, "margin-".concat(group.data.vertical[0]), "0 !important"), SingleButton_defineProperty(_objectSpread2, group.data.horizontal[0], "0px !important"), SingleButton_defineProperty(_objectSpread2, "visibility", "visible !important"), SingleButton_defineProperty(_objectSpread2, "opacity", "1 !important"), SingleButton_defineProperty(_objectSpread2, "pointer-events", "unset !important"), _objectSpread2), dlv_umd_default()(sameHeight, "button", {}));
20812
20813 var horizontalProperty = group.buttons[this.button].data.horizontal_position_label === "auto" ? group.buttons[this.button].data.horizontal[0] : group.buttons[this.button].data.horizontal_position_label; // Adjust label spacing based on group size
20814
20815 var jssSingleButtonLabel = SingleButton_objectSpread(SingleButton_defineProperty({}, horizontalProperty, group.buttons[this.button].data.label_spacing + (group.buttons[this.button].data.label_inside ? 0 : group.data.width)), dlv_umd_default()(sameHeight, "label", {})); // Hide menu button
20816
20817
20818 var jssHideMenuButton = {
20819 display: "none !important"
20820 };
20821
20822 switch (this.visibility) {
20823 // Update the styling for desktop if it's a single button on desktop
20824 case "desktop":
20825 group.buttons[this.button].stylesheet.update({
20826 button: SingleButton_defineProperty({}, "@media screen and (min-width: 769px)", jssSingleButton),
20827 label: SingleButton_defineProperty({}, "@media screen and (min-width: 769px)", jssSingleButtonLabel)
20828 });
20829
20830 if (group.menuButton) {
20831 // Hide main button
20832 group.buttons[group.menuButton].stylesheet.update({
20833 button: SingleButton_defineProperty({}, "@media screen and (min-width: 769px)", jssHideMenuButton)
20834 });
20835 if (this.hideMenu) group.buttons[group.menuButton].stylesheet.update({
20836 button: SingleButton_defineProperty({}, "@media screen and (max-width: 769px)", jssHideMenuButton)
20837 });
20838 }
20839
20840 break;
20841 // Update the styling for mobile if it's a single button on mobile
20842
20843 case "mobile":
20844 group.buttons[this.button].stylesheet.update({
20845 button: SingleButton_defineProperty({}, "@media screen and (max-width: 769px)", jssSingleButton),
20846 label: SingleButton_defineProperty({}, "@media screen and (max-width: 769px)", jssSingleButtonLabel)
20847 });
20848
20849 if (group.menuButton) {
20850 // Hide main button
20851 group.buttons[group.menuButton].stylesheet.update({
20852 button: SingleButton_defineProperty({}, "@media screen and (max-width: 769px)", jssHideMenuButton)
20853 });
20854 if (this.hideMenu) group.buttons[group.menuButton].stylesheet.update({
20855 button: SingleButton_defineProperty({}, "@media screen and (min-width: 769px)", jssHideMenuButton)
20856 });
20857 }
20858
20859 break;
20860 }
20861 }
20862 }]);
20863
20864 return SingleButton;
20865 }(Generator);
20866
20867
20868 ;// CONCATENATED MODULE: ./src/js/frontend/Generators/AttentionAnimation.js
20869 function AttentionAnimation_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { AttentionAnimation_typeof = function _typeof(obj) { return typeof obj; }; } else { AttentionAnimation_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return AttentionAnimation_typeof(obj); }
20870
20871 function AttentionAnimation_toConsumableArray(arr) { return AttentionAnimation_arrayWithoutHoles(arr) || AttentionAnimation_iterableToArray(arr) || AttentionAnimation_unsupportedIterableToArray(arr) || AttentionAnimation_nonIterableSpread(); }
20872
20873 function AttentionAnimation_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
20874
20875 function AttentionAnimation_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return AttentionAnimation_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return AttentionAnimation_arrayLikeToArray(o, minLen); }
20876
20877 function AttentionAnimation_iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
20878
20879 function AttentionAnimation_arrayWithoutHoles(arr) { if (Array.isArray(arr)) return AttentionAnimation_arrayLikeToArray(arr); }
20880
20881 function AttentionAnimation_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
20882
20883 function AttentionAnimation_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20884
20885 function AttentionAnimation_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20886
20887 function AttentionAnimation_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
20888
20889 function AttentionAnimation_createClass(Constructor, protoProps, staticProps) { if (protoProps) AttentionAnimation_defineProperties(Constructor.prototype, protoProps); if (staticProps) AttentionAnimation_defineProperties(Constructor, staticProps); return Constructor; }
20890
20891 function AttentionAnimation_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) AttentionAnimation_setPrototypeOf(subClass, superClass); }
20892
20893 function AttentionAnimation_setPrototypeOf(o, p) { AttentionAnimation_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return AttentionAnimation_setPrototypeOf(o, p); }
20894
20895 function AttentionAnimation_createSuper(Derived) { var hasNativeReflectConstruct = AttentionAnimation_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = AttentionAnimation_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = AttentionAnimation_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return AttentionAnimation_possibleConstructorReturn(this, result); }; }
20896
20897 function AttentionAnimation_possibleConstructorReturn(self, call) { if (call && (AttentionAnimation_typeof(call) === "object" || typeof call === "function")) { return call; } return AttentionAnimation_assertThisInitialized(self); }
20898
20899 function AttentionAnimation_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
20900
20901 function AttentionAnimation_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; } }
20902
20903 function AttentionAnimation_getPrototypeOf(o) { AttentionAnimation_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return AttentionAnimation_getPrototypeOf(o); }
20904
20905
20906
20907
20908
20909
20910
20911 var AttentionAnimation = /*#__PURE__*/function (_Generator) {
20912 AttentionAnimation_inherits(AttentionAnimation, _Generator);
20913
20914 var _super = AttentionAnimation_createSuper(AttentionAnimation);
20915
20916 function AttentionAnimation(_ref) {
20917 var _this;
20918
20919 var data = _ref.data;
20920
20921 AttentionAnimation_classCallCheck(this, AttentionAnimation);
20922
20923 _this = _super.call(this);
20924 _this.groupAnimationDelay = data.menu_animation_delay;
20925 _this.animationRepeatCount = data.menu_animation_repeat_count;
20926 _this.animationCount = 0;
20927 _this.animation = data.menu_animation;
20928 _this.menuButtonId = "";
20929 _this.animationClasses = {};
20930 _this.animatedButtons = [];
20931 return _this;
20932 }
20933
20934 AttentionAnimation_createClass(AttentionAnimation, [{
20935 key: "generate",
20936 value: function generate(group) {
20937 var _this2 = this;
20938
20939 // Loop through the generators
20940 group.generators.forEach(function (generator) {
20941 if (generator instanceof SingleButton) {
20942 _this2.animatedButtons.push({
20943 button: group.buttons[generator.button],
20944 device: generator.visibility
20945 });
20946 }
20947 }); // Add menu button
20948
20949 this.animatedButtons.push({
20950 button: group.buttons[group.menuButton]
20951 }); // Set menu button (to stop all sub animations, but continue the group button)
20952
20953 this.menuButtonId = group.menuButton; // Generate animated style for each button
20954
20955 this.animatedButtons.forEach(function (animatedButton) {
20956 var deviceKey = animatedButton.device === "mobile" ? "@media screen and (max-width: 769px)" : "@media screen and (min-width: 769px)"; // If pulse, generate background color and border radius
20957
20958 if (_this2.animation === "pulse") {
20959 var borderRadius = animatedButton.button.data.border_radius.length >= 1 && animatedButton.button.data.border_radius[0] != "" ? animatedButton.button.data.border_radius[0] : animatedButton.button.stylesheet.getCachedData().button["border-radius"];
20960 var animatedElement = document.createElement("span");
20961 animatedElement.className = "buttonizer-pulse-animation";
20962 animatedButton.button.element.appendChild(animatedElement);
20963 var pulse = {
20964 "@global .buttonizer-pulse-animation": {
20965 "&:before, &:after": {
20966 content: '""',
20967 position: "absolute",
20968 opacity: 0.8,
20969 top: 0,
20970 left: 0,
20971 right: 0,
20972 bottom: 0,
20973 "z-index": -3,
20974 display: "block",
20975 background: dlv_umd_default()(animatedButton.button.data, "background_color.0", dlv_umd_default()(group.data, "background_color.0", animatedButton.button.stylesheet.getCachedData().button.background)),
20976 "border-radius": borderRadius
20977 },
20978 "&:before": {
20979 animation: "buttonizer-pulse 1.8s 0s ease-out"
20980 },
20981 "&:after": {
20982 animation: "buttonizer-pulse 1.8s 0.333s ease-out"
20983 }
20984 }
20985 };
20986 var animation = animatedButton.device ? AttentionAnimation_defineProperty({}, deviceKey, pulse) : pulse;
20987 var animationRule = animatedButton.device ? "animate-".concat(animatedButton.device) : "animate"; // Create pulse CSS class
20988
20989 if (_this2.animationClasses[animatedButton.button.data.id]) {
20990 _this2.animationClasses[animatedButton.button.data.id].push(animatedButton.button.stylesheet.addRule(animationRule, animation).id);
20991 } else {
20992 _this2.animationClasses[animatedButton.button.data.id] = [animatedButton.button.stylesheet.addRule(animationRule, animation).id];
20993 }
20994 } else {
20995 var animationCSS = {
20996 animation: "buttonizer-".concat(_this2.animation, " ").concat(_this2.animation === "hello" ? "2s" : "1s", " linear")
20997 };
20998
20999 var _animation = animatedButton.device ? AttentionAnimation_defineProperty({}, deviceKey, animationCSS) : animationCSS;
21000
21001 var _animationRule = animatedButton.device ? "animate-".concat(animatedButton.device) : "animate"; // Default animations
21002 // Create pulse CSS class
21003
21004
21005 if (_this2.animationClasses[animatedButton.button.data.id]) {
21006 _this2.animationClasses[animatedButton.button.data.id].push(animatedButton.button.stylesheet.addRule(_animationRule, _animation).id);
21007 } else {
21008 _this2.animationClasses[animatedButton.button.data.id] = [animatedButton.button.stylesheet.addRule(_animationRule, _animation).id];
21009 }
21010 }
21011 }); // Start animating
21012
21013 this.animate(); // Auto stop animation when opening
21014
21015 if (!buttonizerInPreview_inPreview()) {
21016 window.addEventListener("buttonizer_group_opened", function (data) {
21017 if (data.detail.group_id === group.data.id) {
21018 _this2.stopAnimation(true);
21019 }
21020 });
21021 }
21022 }
21023 }, {
21024 key: "animate",
21025 value: function animate() {
21026 var _this3 = this;
21027
21028 /* webpack-strip-block:removed */
21029 // Start animating all buttons
21030 this.animatedButtons.forEach(function (animatedButton) {
21031 if (!animatedButton.button.element.classList.contains(animatedButton.button.stylesheet.classes.opened)) {
21032 var _animatedButton$butto;
21033
21034 (_animatedButton$butto = animatedButton.button.element.classList).add.apply(_animatedButton$butto, AttentionAnimation_toConsumableArray(_this3.animationClasses[animatedButton.button.data.id]));
21035 }
21036 }); // Stop animation
21037
21038 setTimeout(function () {
21039 _this3.stopAnimation();
21040 }, 2000);
21041 /* webpack-strip-block:removed */
21042
21043 setTimeout(function () {
21044 return _this3.animate();
21045 }, 10000);
21046 } // Stop animation if not finished
21047
21048 }, {
21049 key: "stopAnimation",
21050 value: function stopAnimation() {
21051 var _this4 = this;
21052
21053 var slowCooldown = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
21054 this.animatedButtons.forEach(function (animatedButton) {
21055 var _animatedButton$butto2;
21056
21057 // Do not stop the menu button
21058 if (slowCooldown && animatedButton.button.data.id === _this4.menuButtonId) return;
21059
21060 (_animatedButton$butto2 = animatedButton.button.element.classList).remove.apply(_animatedButton$butto2, AttentionAnimation_toConsumableArray(_this4.animationClasses[animatedButton.button.data.id]));
21061 });
21062 }
21063 }]);
21064
21065 return AttentionAnimation;
21066 }(Generator);
21067
21068
21069 ;// CONCATENATED MODULE: ./src/js/frontend/Generators/MessengerChatWidget.js
21070 function MessengerChatWidget_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { MessengerChatWidget_typeof = function _typeof(obj) { return typeof obj; }; } else { MessengerChatWidget_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return MessengerChatWidget_typeof(obj); }
21071
21072 function MessengerChatWidget_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
21073
21074 function MessengerChatWidget_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
21075
21076 function MessengerChatWidget_createClass(Constructor, protoProps, staticProps) { if (protoProps) MessengerChatWidget_defineProperties(Constructor.prototype, protoProps); if (staticProps) MessengerChatWidget_defineProperties(Constructor, staticProps); return Constructor; }
21077
21078 function MessengerChatWidget_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) MessengerChatWidget_setPrototypeOf(subClass, superClass); }
21079
21080 function MessengerChatWidget_setPrototypeOf(o, p) { MessengerChatWidget_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return MessengerChatWidget_setPrototypeOf(o, p); }
21081
21082 function MessengerChatWidget_createSuper(Derived) { var hasNativeReflectConstruct = MessengerChatWidget_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = MessengerChatWidget_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = MessengerChatWidget_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return MessengerChatWidget_possibleConstructorReturn(this, result); }; }
21083
21084 function MessengerChatWidget_possibleConstructorReturn(self, call) { if (call && (MessengerChatWidget_typeof(call) === "object" || typeof call === "function")) { return call; } return MessengerChatWidget_assertThisInitialized(self); }
21085
21086 function MessengerChatWidget_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
21087
21088 function MessengerChatWidget_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; } }
21089
21090 function MessengerChatWidget_getPrototypeOf(o) { MessengerChatWidget_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return MessengerChatWidget_getPrototypeOf(o); }
21091
21092
21093
21094 var MessengerChatWidget = /*#__PURE__*/function (_Generator) {
21095 MessengerChatWidget_inherits(MessengerChatWidget, _Generator);
21096
21097 var _super = MessengerChatWidget_createSuper(MessengerChatWidget);
21098
21099 function MessengerChatWidget() {
21100 var _this;
21101
21102 MessengerChatWidget_classCallCheck(this, MessengerChatWidget);
21103
21104 _this = _super.call(this);
21105 _this.initializedFacebookChat = false;
21106 _this.button;
21107 return _this;
21108 }
21109
21110 MessengerChatWidget_createClass(MessengerChatWidget, [{
21111 key: "generate",
21112 value: function generate(button) {
21113 this.button = button;
21114 var messengerDiv = document.createElement("div");
21115 messengerDiv.className = "fb-customerchat buttonizer-facebook-messenger-loading";
21116 messengerDiv.setAttribute("page-id", "".concat(button.data.action));
21117 messengerDiv.setAttribute("greeting_dialog_display", "icon");
21118 button.element.appendChild(messengerDiv);
21119 this.addMessengerWindow(button);
21120 }
21121 }, {
21122 key: "addMessengerWindow",
21123 value: function addMessengerWindow() {
21124 if (typeof window.Buttonizer.initializedFacebookChat !== "undefined") {
21125 // Already done
21126 return;
21127 }
21128
21129 window.Buttonizer.initializedFacebookChat = this.button.data.action === "#" ? undefined : this.button.data.action; // Add script
21130
21131 var fbMessengerScript = document.createElement("script");
21132 fbMessengerScript.innerHTML = "\n // Initialize first\n window.fbAsyncInit = function() {\n FB.init({\n xfbml: true,\n version: \"v9.0\",\n });\n };\n\n (function(d, s, id) {\n var js, fjs = d.getElementsByTagName(s)[0];\n if (d.getElementById(id)) return;\n js = d.createElement(s); js.id = id;\n js.src = 'https://connect.facebook.net/".concat(this.button.data.messenger_lang, "/sdk/xfbml.customerchat.js';\n fjs.parentNode.insertBefore(js, fjs);\n }(document, 'script', 'facebook-jssdk'));");
21133 document.head.appendChild(fbMessengerScript);
21134 document.head.appendChild(this.css());
21135 }
21136 }, {
21137 key: "css",
21138 value: function css() {
21139 var messengerChatStyling = document.createElement("style");
21140 var regex = /^([0-9]+)(px|%)/;
21141 var horizontalOpposite = this.button.data.horizontal[0] === "right" ? "left" : "right";
21142 var verticalOpposite = this.button.data.vertical[0] === "bottom" ? "top" : "bottom";
21143 var horizontalType = this.button.data.horizontal[1].match(regex)[2];
21144 var horizontalValue = horizontalType === "%" ? Math.max(0, Number(this.button.data.horizontal[1].match(regex)[1]) - 1) : Math.max(0, Number(this.button.data.horizontal[1].match(regex)[1]) - 30);
21145 var verticalType = this.button.data.vertical[1].match(regex)[2];
21146 var verticalValue = verticalType === "%" ? Math.max(0, Number(this.button.data.vertical[1].match(regex)[1]) + 4) : Math.max(0, Number(this.button.data.vertical[1].match(regex)[1]) + 40);
21147 messengerChatStyling.innerHTML = "\n .buttonizer-spin {\n animation: buttonizer-spin-animation 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;\n }\n .fb_dialog, .buttonizer-facebook-messenger-loading {\n display: none !important;\n }\n .fb_iframe_widget span iframe {\n ".concat(horizontalOpposite, ": unset !important;\n ").concat(verticalOpposite, ": unset !important;\n ").concat(this.button.data.horizontal[0], ": ").concat(horizontalValue).concat(horizontalType, " !important;\n ").concat(this.button.data.vertical[0], ": ").concat(verticalValue).concat(verticalType, " !important;\n }\n @media screen and (max-width: 769px){\n .fb_iframe_widget span iframe {\n left: unset !important;\n top: unset !important;\n right: 0% !important;\n bottom: 0% !important;\n }\n }\n .fb_iframe_widget span .fb_customer_chat_bounce_in_v2 {\n animation-duration: 300ms;\n animation-name: fb_bounce_in_v3 !important;\n transition-timing-function: ease-in-out; \n }\n .fb_iframe_widget span .fb_customer_chat_bounce_out_v2 {\n max-height: 0px !important;\n }\n @keyframes fb_bounce_in_v3 {\n 0% {\n opacity: 0;\n transform: scale(0, 0);\n transform-origin: bottom;\n }\n 50% {\n transform: scale(1.03, 1.03);\n transform-origin: bottom;\n }\n 100% {\n opacity: 1;\n transform: scale(1, 1);\n transform-origin: bottom;\n }\n }\n\n @keyframes buttonizer-spin-animation {\n 0% {\n transform: ").concat(this.button.data.label_inside ? "" : "translate(-50%, -50%)", " rotate(0deg);\n }\n 100% {\n transform: ").concat(this.button.data.label_inside ? "" : "translate(-50%, -50%)", " rotate(360deg);\n \n }\n ");
21148 return messengerChatStyling;
21149 }
21150 }]);
21151
21152 return MessengerChatWidget;
21153 }(Generator);
21154
21155
21156 ;// CONCATENATED MODULE: ./src/js/frontend/renderExtender/SetSameWidthLabels.js
21157 function SetSameWidthLabels_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { SetSameWidthLabels_typeof = function _typeof(obj) { return typeof obj; }; } else { SetSameWidthLabels_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return SetSameWidthLabels_typeof(obj); }
21158
21159 function SetSameWidthLabels_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
21160
21161 function SetSameWidthLabels_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
21162
21163 function SetSameWidthLabels_createClass(Constructor, protoProps, staticProps) { if (protoProps) SetSameWidthLabels_defineProperties(Constructor.prototype, protoProps); if (staticProps) SetSameWidthLabels_defineProperties(Constructor, staticProps); return Constructor; }
21164
21165 function SetSameWidthLabels_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) SetSameWidthLabels_setPrototypeOf(subClass, superClass); }
21166
21167 function SetSameWidthLabels_setPrototypeOf(o, p) { SetSameWidthLabels_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return SetSameWidthLabels_setPrototypeOf(o, p); }
21168
21169 function SetSameWidthLabels_createSuper(Derived) { var hasNativeReflectConstruct = SetSameWidthLabels_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = SetSameWidthLabels_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = SetSameWidthLabels_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return SetSameWidthLabels_possibleConstructorReturn(this, result); }; }
21170
21171 function SetSameWidthLabels_possibleConstructorReturn(self, call) { if (call && (SetSameWidthLabels_typeof(call) === "object" || typeof call === "function")) { return call; } return SetSameWidthLabels_assertThisInitialized(self); }
21172
21173 function SetSameWidthLabels_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
21174
21175 function SetSameWidthLabels_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; } }
21176
21177 function SetSameWidthLabels_getPrototypeOf(o) { SetSameWidthLabels_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return SetSameWidthLabels_getPrototypeOf(o); }
21178
21179
21180
21181
21182 var SetSameWidthLabels = /*#__PURE__*/function (_Generator) {
21183 SetSameWidthLabels_inherits(SetSameWidthLabels, _Generator);
21184
21185 var _super = SetSameWidthLabels_createSuper(SetSameWidthLabels);
21186
21187 function SetSameWidthLabels() {
21188 SetSameWidthLabels_classCallCheck(this, SetSameWidthLabels);
21189
21190 return _super.apply(this, arguments);
21191 }
21192
21193 SetSameWidthLabels_createClass(SetSameWidthLabels, [{
21194 key: "extend",
21195 value: function extend(group) {
21196 var _this = this;
21197
21198 window.Buttonizer.addHook("buttonizer_loaded", function (_ref) {
21199 var groups = _ref.groups;
21200 return _this.setSameWidthLabels(groups[group.data.id].buttons);
21201 }); // Reset label width when preview changes
21202
21203 if (buttonizerInPreview_inPreview()) {
21204 window.Buttonizer.addHook("buttonizer_live_update", function (_ref2) {
21205 var groups = _ref2.groups,
21206 groupId = _ref2.groupId,
21207 key = _ref2.key;
21208
21209 if (groupId === group.data.id && (key === "label" || key === "menu_style")) {
21210 _this.setSameWidthLabels(groups[group.data.id].buttons);
21211 }
21212 });
21213 }
21214 }
21215 }, {
21216 key: "setSameWidthLabels",
21217 value: function setSameWidthLabels(buttons) {
21218 var maxWidth = Object.keys(buttons).reduce(function (acc, key) {
21219 var button = buttons[key];
21220 if (!button.label) return acc;
21221 return Math.max(button.label.element.clientWidth, acc);
21222 }, 0);
21223 Object.values(buttons).forEach(function (button) {
21224 var horizontalProperty = button.data.horizontal_position_label === "auto" ? button.data.horizontal[0] : button.data.horizontal_position_label;
21225 button.stylesheet.update({
21226 label: {
21227 "min-width": maxWidth,
21228 "text-align": horizontalProperty === "right" ? "end" : "start"
21229 }
21230 });
21231 button.stylesheet.attach();
21232 });
21233 }
21234 }]);
21235
21236 return SetSameWidthLabels;
21237 }(template_Generator);
21238
21239
21240 ;// CONCATENATED MODULE: ./src/js/frontend/renderExtender/SetLabelInsideButton.js
21241 function SetLabelInsideButton_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { SetLabelInsideButton_typeof = function _typeof(obj) { return typeof obj; }; } else { SetLabelInsideButton_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return SetLabelInsideButton_typeof(obj); }
21242
21243 function SetLabelInsideButton_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21244
21245 function SetLabelInsideButton_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
21246
21247 function SetLabelInsideButton_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
21248
21249 function SetLabelInsideButton_createClass(Constructor, protoProps, staticProps) { if (protoProps) SetLabelInsideButton_defineProperties(Constructor.prototype, protoProps); if (staticProps) SetLabelInsideButton_defineProperties(Constructor, staticProps); return Constructor; }
21250
21251 function SetLabelInsideButton_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) SetLabelInsideButton_setPrototypeOf(subClass, superClass); }
21252
21253 function SetLabelInsideButton_setPrototypeOf(o, p) { SetLabelInsideButton_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return SetLabelInsideButton_setPrototypeOf(o, p); }
21254
21255 function SetLabelInsideButton_createSuper(Derived) { var hasNativeReflectConstruct = SetLabelInsideButton_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = SetLabelInsideButton_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = SetLabelInsideButton_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return SetLabelInsideButton_possibleConstructorReturn(this, result); }; }
21256
21257 function SetLabelInsideButton_possibleConstructorReturn(self, call) { if (call && (SetLabelInsideButton_typeof(call) === "object" || typeof call === "function")) { return call; } return SetLabelInsideButton_assertThisInitialized(self); }
21258
21259 function SetLabelInsideButton_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
21260
21261 function SetLabelInsideButton_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; } }
21262
21263 function SetLabelInsideButton_getPrototypeOf(o) { SetLabelInsideButton_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return SetLabelInsideButton_getPrototypeOf(o); }
21264
21265
21266
21267
21268 var SetLabelInsideButton = /*#__PURE__*/function (_Generator) {
21269 SetLabelInsideButton_inherits(SetLabelInsideButton, _Generator);
21270
21271 var _super = SetLabelInsideButton_createSuper(SetLabelInsideButton);
21272
21273 function SetLabelInsideButton() {
21274 SetLabelInsideButton_classCallCheck(this, SetLabelInsideButton);
21275
21276 return _super.apply(this, arguments);
21277 }
21278
21279 SetLabelInsideButton_createClass(SetLabelInsideButton, [{
21280 key: "extend",
21281 value: function extend(group) {
21282 this.setLabelInsideButton(group);
21283 if (group.data.label_same_width) this.setSameWidthIcons(group.buttons);
21284 }
21285 }, {
21286 key: "setLabelInsideButton",
21287 value: function setLabelInsideButton(group) {
21288 Object.values(group.buttons).forEach(function (button) {
21289 var horizontalProperty = button.data.horizontal_position_label === "auto" ? button.data.horizontal[0] : button.data.horizontal_position_label;
21290 button.stylesheet.update({
21291 button: {
21292 width: button.data.width,
21293 height: button.data.height,
21294 "align-items": "center",
21295 display: "flex",
21296 "margin-right": 0,
21297 "margin-left": 0,
21298 "flex-direction": horizontalProperty === "right" ? "row-reverse" : "row",
21299 "min-width": "fit-content",
21300 "&:hover": {
21301 "& $label": {
21302 background: "transparent",
21303 margin: "0px",
21304 padding: "0px 20px",
21305 "box-shadow": "unset"
21306 }
21307 }
21308 },
21309 icon: SetLabelInsideButton_defineProperty({
21310 top: 0,
21311 position: "initial",
21312 transform: "initial",
21313 margin: "0"
21314 }, "margin-".concat(horizontalProperty), "15px"),
21315 image: SetLabelInsideButton_defineProperty({
21316 top: 0,
21317 position: "initial",
21318 transform: "initial",
21319 margin: "0"
21320 }, "margin-".concat(horizontalProperty), "15px"),
21321 label: {
21322 display: "inline-block",
21323 opacity: 1,
21324 visibility: "visible",
21325 position: "initial",
21326 height: "".concat(button.data.height, "px"),
21327 "line-height": "".concat(button.data.height, "px"),
21328 top: 0,
21329 transform: "initial",
21330 background: "transparent",
21331 margin: "0px",
21332 padding: "0px 20px",
21333 "box-shadow": "unset"
21334 }
21335 });
21336 button.stylesheet.update({
21337 opened: {
21338 "& $icon": {
21339 transform: "initial"
21340 },
21341 "& $label": {
21342 visibility: "visible",
21343 opacity: "1"
21344 }
21345 },
21346 closed: {
21347 // Close the menu
21348 "& $label": {
21349 visibility: "visible",
21350 opacity: "1"
21351 }
21352 }
21353 });
21354 button.stylesheet.attach();
21355 });
21356 group.stylesheet.update({
21357 group: {
21358 "align-items": group.data.horizontal[0] === "right" ? "flex-end" : "flex-start"
21359 }
21360 });
21361 group.stylesheet.attach();
21362 }
21363 }, {
21364 key: "setSameWidthIcons",
21365 value: function setSameWidthIcons(buttons) {
21366 var maxWidthNormal = Object.keys(buttons).reduce(function (acc, key) {
21367 var button = buttons[key];
21368 if (!dlv_umd_default()(button, "data.icon_size.0", false)) return acc;
21369 return Math.max(button.data.icon_size[0], acc);
21370 }, 0);
21371 var maxWidthHover = Object.keys(buttons).reduce(function (acc, key) {
21372 var button = buttons[key];
21373 if (!dlv_umd_default()(button, "data.icon_size.1", false)) return acc;
21374 return Math.max(button.data.icon_size[1], acc);
21375 }, 0);
21376 Object.values(buttons).forEach(function (button) {
21377 var horizontalProperty = button.data.horizontal_position_label === "auto" ? button.data.horizontal[0] : button.data.horizontal_position_label;
21378 button.stylesheet.update({
21379 icon: {
21380 "min-width": Math.max(maxWidthNormal, maxWidthHover)
21381 },
21382 image: {
21383 "margin-left": (Math.max(maxWidthNormal, maxWidthHover) - button.data.icon_size) / 2 + (horizontalProperty === "right" ? 0 : 15),
21384 "margin-right": (Math.max(maxWidthNormal, maxWidthHover) - button.data.icon_size) / 2 + (horizontalProperty === "left" ? 0 : 15)
21385 }
21386 });
21387 button.stylesheet.attach();
21388 });
21389 }
21390 }]);
21391
21392 return SetLabelInsideButton;
21393 }(template_Generator);
21394
21395
21396 ;// CONCATENATED MODULE: ./src/js/frontend/Generators/NewGroupPulse.js
21397 function NewGroupPulse_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { NewGroupPulse_typeof = function _typeof(obj) { return typeof obj; }; } else { NewGroupPulse_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return NewGroupPulse_typeof(obj); }
21398
21399 function NewGroupPulse_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21400
21401 function NewGroupPulse_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
21402
21403 function NewGroupPulse_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
21404
21405 function NewGroupPulse_createClass(Constructor, protoProps, staticProps) { if (protoProps) NewGroupPulse_defineProperties(Constructor.prototype, protoProps); if (staticProps) NewGroupPulse_defineProperties(Constructor, staticProps); return Constructor; }
21406
21407 function NewGroupPulse_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) NewGroupPulse_setPrototypeOf(subClass, superClass); }
21408
21409 function NewGroupPulse_setPrototypeOf(o, p) { NewGroupPulse_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return NewGroupPulse_setPrototypeOf(o, p); }
21410
21411 function NewGroupPulse_createSuper(Derived) { var hasNativeReflectConstruct = NewGroupPulse_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = NewGroupPulse_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = NewGroupPulse_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return NewGroupPulse_possibleConstructorReturn(this, result); }; }
21412
21413 function NewGroupPulse_possibleConstructorReturn(self, call) { if (call && (NewGroupPulse_typeof(call) === "object" || typeof call === "function")) { return call; } return NewGroupPulse_assertThisInitialized(self); }
21414
21415 function NewGroupPulse_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
21416
21417 function NewGroupPulse_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; } }
21418
21419 function NewGroupPulse_getPrototypeOf(o) { NewGroupPulse_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return NewGroupPulse_getPrototypeOf(o); }
21420
21421
21422
21423
21424 var NewGroupPulse = /*#__PURE__*/function (_Generator) {
21425 NewGroupPulse_inherits(NewGroupPulse, _Generator);
21426
21427 var _super = NewGroupPulse_createSuper(NewGroupPulse);
21428
21429 function NewGroupPulse() {
21430 NewGroupPulse_classCallCheck(this, NewGroupPulse);
21431
21432 return _super.call(this);
21433 }
21434
21435 NewGroupPulse_createClass(NewGroupPulse, [{
21436 key: "generate",
21437 value: function generate(group) {
21438 var _beforeAfter;
21439
21440 var isMenu = group.data.is_menu_desktop || group.data.is_menu_mobile;
21441 console.log(isMenu, group);
21442 group.stylesheet.update({
21443 group: {
21444 "&::before, &::after": (_beforeAfter = {
21445 content: '""',
21446 position: "absolute",
21447 inset: isMenu ? "unset" : 0,
21448 "z-index": -1,
21449 display: "block",
21450 background: " #f08419",
21451 visibility: "hidden"
21452 }, NewGroupPulse_defineProperty(_beforeAfter, "inset", isMenu ? "unset" : 0), NewGroupPulse_defineProperty(_beforeAfter, "border-radius", isMenu ? "50%" : "10px"), NewGroupPulse_defineProperty(_beforeAfter, "height", isMenu ? group.data.group_size : "unset"), NewGroupPulse_defineProperty(_beforeAfter, "width", isMenu ? group.data.group_size : "unset"), _beforeAfter),
21453 "&::before": {
21454 animation: "".concat(isMenu ? "buttonizer-pulse-new-group-circle" : "buttonizer-pulse-new-group-square", " 1s 0s ease-out")
21455 },
21456 "&:after": {
21457 animation: "".concat(isMenu ? "buttonizer-pulse-new-group-circle" : "buttonizer-pulse-new-group-square", " 1s 0.185s ease-out")
21458 }
21459 }
21460 });
21461 }
21462 }]);
21463
21464 return NewGroupPulse;
21465 }(Generator);
21466
21467
21468 ;// CONCATENATED MODULE: ./src/js/utils/utils/data-utils.js
21469 /* global Map */
21470
21471 var cache = new Map();
21472 function dateToFormat(date) {
21473 if (!date) return null;
21474
21475 var pad = function pad(num, size) {
21476 var s = String(num);
21477
21478 while (s.length < (size || 2)) {
21479 s = "0" + s;
21480 }
21481
21482 return s;
21483 };
21484
21485 return "".concat(date.getDate(), "-").concat(pad(date.getMonth() + 1, 2), "-").concat(date.getFullYear());
21486 }
21487 function formatToDate(format) {
21488 if (!format) return null;
21489 var dateParts = format.split("-");
21490 return new Date(dateParts[2], dateParts[1] - 1, dateParts[0]);
21491 }
21492 var importIcons = function importIcons() {
21493 var icon_library = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "fontawesome";
21494 var icon_library_version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "5.free";
21495 var url = buttonizer_admin.assets + "/icon_definitions/" + icon_library + "." + icon_library_version + ".json?buttonizer-icon-cache=" + buttonizer_admin.version;
21496 if (cache.has(url)) return cache.get(url);
21497 var value = Axios({
21498 url: url,
21499 dataType: "json",
21500 method: "get"
21501 });
21502 cache.set(url, value);
21503 return value;
21504 };
21505 var importTemplates = function importTemplates() {
21506 var url = buttonizer_admin.assets + "/templates/templates.json?buttonizer-icon-cache=" + buttonizer_admin.version;
21507 return new Promise(function (resolve, reject) {
21508 if (cache.has(url)) resolve(cache.get(url));
21509 Axios({
21510 url: url
21511 }).then(function (data) {
21512 cache.set(url, data.data);
21513 resolve(data.data);
21514 })["catch"](function (e) {
21515 return reject({
21516 message: "Something went wrong",
21517 error: e
21518 });
21519 });
21520 });
21521 };
21522 // EXTERNAL MODULE: ./node_modules/uuid/v4.js
21523 var v4 = __webpack_require__(71171);
21524 var v4_default = /*#__PURE__*/__webpack_require__.n(v4);
21525 ;// CONCATENATED MODULE: ./src/js/utils/utils/random.js
21526
21527 function GenerateUniqueId() {
21528 return v4_default()();
21529 }
21530 function shuffleTips(array) {
21531 var currentIndex = array.length,
21532 temporaryValue,
21533 randomIndex; // While there remain elements to shuffle...
21534
21535 while (0 !== currentIndex) {
21536 // Pick a remaining element...
21537 randomIndex = Math.floor(Math.random() * currentIndex);
21538 currentIndex -= 1; // And swap it with the current element.
21539
21540 temporaryValue = array[currentIndex];
21541 array[currentIndex] = array[randomIndex];
21542 array[randomIndex] = temporaryValue;
21543 }
21544
21545 return array;
21546 }
21547 function uniqueCharset() {
21548 return Array.apply(0, Array(15)).map(function () {
21549 return function (charset) {
21550 return charset.charAt(Math.floor(Math.random() * charset.length));
21551 }("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");
21552 }).join("");
21553 }
21554 ;// CONCATENATED MODULE: ./src/js/utils/utils/index.js
21555
21556
21557
21558 ;// CONCATENATED MODULE: ./src/js/frontend/Generators/EditButton.js
21559 function EditButton_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { EditButton_typeof = function _typeof(obj) { return typeof obj; }; } else { EditButton_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return EditButton_typeof(obj); }
21560
21561 function EditButton_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21562
21563 function EditButton_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
21564
21565 function EditButton_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
21566
21567 function EditButton_createClass(Constructor, protoProps, staticProps) { if (protoProps) EditButton_defineProperties(Constructor.prototype, protoProps); if (staticProps) EditButton_defineProperties(Constructor, staticProps); return Constructor; }
21568
21569 function EditButton_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) EditButton_setPrototypeOf(subClass, superClass); }
21570
21571 function EditButton_setPrototypeOf(o, p) { EditButton_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return EditButton_setPrototypeOf(o, p); }
21572
21573 function EditButton_createSuper(Derived) { var hasNativeReflectConstruct = EditButton_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = EditButton_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = EditButton_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return EditButton_possibleConstructorReturn(this, result); }; }
21574
21575 function EditButton_possibleConstructorReturn(self, call) { if (call && (EditButton_typeof(call) === "object" || typeof call === "function")) { return call; } return EditButton_assertThisInitialized(self); }
21576
21577 function EditButton_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
21578
21579 function EditButton_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; } }
21580
21581 function EditButton_getPrototypeOf(o) { EditButton_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return EditButton_getPrototypeOf(o); }
21582
21583
21584
21585
21586 var editButtonStyling = {
21587 position: "absolute",
21588 visibility: "visible",
21589 opacity: "0",
21590 cursor: "pointer",
21591 transition: "all 250ms ease-in-out 0s",
21592 pointerEvents: "none",
21593 width: "100%",
21594 display: "flex",
21595 height: "100%",
21596 zIndex: 99999999,
21597 "&.group": {
21598 pointerEvents: "unset",
21599 zIndex: "unset",
21600 "& .buttonizer-button-spoof": {
21601 margin: "-30px"
21602 }
21603 },
21604 "&.opened": {
21605 maxHeight: "100%"
21606 },
21607 "& .buttonizer-button-spoof": {
21608 height: "unset",
21609 // margin: "-20px",
21610 inset: "0px",
21611 width: "unset",
21612 position: "absolute",
21613 border: "2px dashed rgb(47, 119, 137)",
21614 borderRadius: 10,
21615 display: "flex",
21616 justifyContent: "center",
21617 "&:hover": {
21618 "& .buttonizer-edit-tooltip": {
21619 transition: "opacity 150ms ease-in 1s",
21620 opacity: 1
21621 }
21622 }
21623 },
21624 "& .buttonizer-edit-tooltip": {
21625 position: "absolute",
21626 fontSize: 10,
21627 background: "#4e4c4c",
21628 border: "1px solid white",
21629 top: "-30px",
21630 width: "fit-content",
21631 padding: "4px 6px",
21632 borderRadius: 5,
21633 color: "white",
21634 opacity: 0,
21635 whiteSpace: "nowrap",
21636 "&::before, &::after": {
21637 content: '""',
21638 width: 0,
21639 height: 0,
21640 borderLeft: "5px solid transparent",
21641 borderRight: "5px solid transparent",
21642 position: "absolute",
21643 right: "23px"
21644 },
21645 "&::before": {
21646 borderTop: "5px solid #ffffff",
21647 bottom: "-5px"
21648 },
21649 "&:after": {
21650 borderTop: "5px solid #4e4c4c",
21651 bottom: "-4px"
21652 }
21653 },
21654 "& .buttonizer-edit-icon": {
21655 position: "absolute",
21656 width: "25px",
21657 height: "25px",
21658 lineHeight: "25px",
21659 color: "#FFFFFF",
21660 "border-radius": "10px 0 0 0",
21661 background: "#2a6b7e",
21662 padding: "unset",
21663 display: "flex",
21664 "justify-content": "center",
21665 "align-items": "center",
21666 "& i": {
21667 "font-size": "11px !important"
21668 },
21669 transform: "scale(0.8)",
21670 top: "-5px",
21671 left: "-5px"
21672 }
21673 };
21674
21675 var EditButton = /*#__PURE__*/function (_Generator) {
21676 EditButton_inherits(EditButton, _Generator);
21677
21678 var _super = EditButton_createSuper(EditButton);
21679
21680 function EditButton(_ref) {
21681 var _this;
21682
21683 var horizontal = _ref.horizontal,
21684 vertical = _ref.vertical;
21685
21686 EditButton_classCallCheck(this, EditButton);
21687
21688 _this = _super.call(this);
21689 _this.horizontal = horizontal[0] === "left" && Number(horizontal[1].match(/^[0-9]+/g)[0]) <= "50" || horizontal[0] === "right" && Number(horizontal[1].match(/^[0-9]+/g)[0]) >= "50" ? "right" : "left";
21690 _this.vertical = vertical[0] === "bottom" && Number(vertical[1].match(/^[0-9]+/g)[0]) <= "50" || vertical[0] === "top" && Number(vertical[1].match(/^[0-9]+/g)[0]) >= "50" ? "top" : "bottom";
21691 return _this;
21692 }
21693
21694 EditButton_createClass(EditButton, [{
21695 key: "generate",
21696 value: function generate(group) {
21697 var _this2 = this;
21698
21699 this.createBorder(group, true);
21700 Object.values(group.buttons).map(function (button) {
21701 _this2.editAction(button, group.data.id, button.data.id === group.menuButton);
21702
21703 _this2.createBorder(button);
21704 });
21705 }
21706 }, {
21707 key: "editAction",
21708 value: function editAction(button, group_id, is_menuButton) {
21709 var listenerData = {}; // If it's a menu button, go to menu button
21710
21711 if (is_menuButton) {
21712 listenerData = {
21713 type: "to-menu",
21714 data: {
21715 group: group_id
21716 }
21717 };
21718 } // if it's a button, add button event listener and styling
21719 else {
21720 listenerData = {
21721 type: "to-button",
21722 data: {
21723 group: group_id,
21724 button: button.data.id
21725 }
21726 };
21727 }
21728
21729 button.element.addEventListener("click", function (e) {
21730 if (button.disableClickInPreview) {
21731 e.preventDefault();
21732 messageButtonizerAdminEditor("admin-link-redirect", listenerData);
21733 }
21734 });
21735 }
21736 }, {
21737 key: "createBorder",
21738 value: function createBorder(_ref2) {
21739 var element = _ref2.element,
21740 stylesheet = _ref2.stylesheet,
21741 data = _ref2.data;
21742 var isGroup = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
21743 var groupNavBorder = document.createElement("div");
21744 groupNavBorder.className = "buttonizer-styling-border"; // Create edit button element
21745
21746 var editButton = document.createElement("div");
21747 editButton.className = "buttonizer-edit-icon";
21748 editButton.innerHTML = '<i class="fa fa-pencil-alt fa fa-pencil" data-no-action="true"></i>';
21749 var tooltip = document.createElement("span");
21750 tooltip.className = "buttonizer-edit-tooltip";
21751 var buttonSpoof = document.createElement("div");
21752 buttonSpoof.className = "buttonizer-button-spoof";
21753 buttonSpoof.appendChild(tooltip);
21754 buttonSpoof.appendChild(editButton);
21755 groupNavBorder.appendChild(buttonSpoof);
21756
21757 if (isGroup) {
21758 groupNavBorder.classList.add("group");
21759 tooltip.innerHTML = "Edit group";
21760 groupNavBorder.addEventListener("click", function () {
21761 messageButtonizerAdminEditor("admin-link-redirect", {
21762 type: "to-group",
21763 data: {
21764 group: data.id
21765 }
21766 });
21767 });
21768 stylesheet.update({
21769 group: {
21770 "& .buttonizer-styling-border.group": merge_default()({}, editButtonStyling, {
21771 maxHeight: data.group_size
21772 }),
21773 "&:hover": {
21774 "& .buttonizer-styling-border.group": {
21775 opacity: 1
21776 }
21777 }
21778 }
21779 });
21780 if (!data.is_menu_desktop) this.forceMaxHeight("desktop", stylesheet);
21781 if (!data.is_menu_mobile) this.forceMaxHeight("mobile", stylesheet);
21782 } else {
21783 tooltip.innerHTML = "Edit button";
21784 stylesheet.update({
21785 button: {
21786 "& .buttonizer-styling-border": editButtonStyling,
21787 "&:hover": {
21788 "& .buttonizer-styling-border": {
21789 opacity: 1
21790 },
21791 "& .buttonizer-edit-tooltip": {
21792 transition: "opacity 150ms ease-in 1s",
21793 opacity: 1
21794 }
21795 }
21796 }
21797 });
21798 }
21799
21800 element.appendChild(groupNavBorder);
21801 }
21802 }, {
21803 key: "forceMaxHeight",
21804 value: function forceMaxHeight(device, stylesheet) {
21805 var size = device === "desktop" ? "min-width: 770px" : "max-width: 769px";
21806 stylesheet.update({
21807 group: {
21808 "& .buttonizer-styling-border.group": EditButton_defineProperty({}, "@media screen and (".concat(size, ")"), {
21809 maxHeight: "100%"
21810 })
21811 }
21812 });
21813 }
21814 }]);
21815
21816 return EditButton;
21817 }(Generator);
21818
21819
21820 ;// CONCATENATED MODULE: ./src/js/utils/buttonizer-constants.js
21821 function buttonizer_constants_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21822
21823 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || buttonizer_constants_unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
21824
21825 function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
21826
21827 function buttonizer_constants_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return buttonizer_constants_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return buttonizer_constants_arrayLikeToArray(o, minLen); }
21828
21829 function buttonizer_constants_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
21830
21831 function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
21832
21833 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21834
21835 function buttonizer_constants_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { buttonizer_constants_typeof = function _typeof(obj) { return typeof obj; }; } else { buttonizer_constants_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return buttonizer_constants_typeof(obj); }
21836
21837 var buttonizer_constants_defaults = __webpack_require__(46314);
21838
21839 var buttonizer_constants_merge = __webpack_require__(82492);
21840 /**
21841 * Constants
21842 */
21843
21844
21845 var actionTypes = {
21846 INIT: "INIT",
21847 // Adding and removing buttons/groups
21848 ADD_MODEL: "ADD_MODEL",
21849 //Relation actionTypes
21850 ADD_RELATION: "ADD_RELATION",
21851 CHANGE_RELATION: "CHANGE_RELATION",
21852 REMOVE_RELATION: "REMOVE_RELATION",
21853 //Data actionTypes
21854 GET_DATA_BEGIN: "GET_DATA_BEGIN",
21855 GET_DATA_SUCCESS: "GET_DATA_SUCCESS",
21856 GET_DATA_FAILURE: "GET_DATA_FAILURE",
21857 GET_DATA_END: "GET_DATA_END",
21858 HAS_CHANGES: "HAS_CHANGES",
21859 IS_UPDATING: "IS_UPDATING",
21860 STOP_LOADING: "STOP_LOADING",
21861 //Setting values
21862 SET_SETTING_VALUE: "SET_SETTING_VALUE",
21863 SET_MISC_VALUE: "SET_MISC_VALUE",
21864 //Drawer
21865 OPEN_DRAWER: "OPENING DRAWER",
21866 CLOSE_DRAWER: "CLOSING DRAWER",
21867 groups: {
21868 ADD_RECORD: "ADDING GROUP RECORD",
21869 REMOVE_RECORD: "REMOVING GROUP RECORD",
21870 SET_KEY_VALUE: "SET KEY VALUE GROUPS",
21871 SET_KEY_FORMAT: "SET FORMATTED KEY VALUE PAIRS GROUPS"
21872 },
21873 buttons: {
21874 ADD_RECORD: "ADDING BUTTON RECORD",
21875 REMOVE_RECORD: "REMOVING BUTTON RECORD",
21876 SET_KEY_VALUE: "SET KEY VALUE BUTTONS",
21877 SET_KEY_FORMAT: "SET FORMATTED KEY VALUE PAIRS BUTTONS"
21878 },
21879 menu_button: {
21880 ADD_RECORD: "ADDING MENU BUTTON RECORD",
21881 REMOVE_RECORD: "REMOVING MENU BUTTON RECORD",
21882 SET_KEY_VALUE: "SET KEY VALUE MENU BUTTONS",
21883 SET_KEY_FORMAT: "SET FORMATTED KEY VALUE PAIRS MENU BUTTONS"
21884 },
21885 timeSchedules: {
21886 // Time Schedule actionTypes
21887 ADD_RECORD: "ADDING TIME SCHEDULE",
21888 REMOVE_RECORD: "REMOVING TIME SCHEDULE",
21889 SET_KEY_VALUE: "SET KEY VALUE TIMESCHEDULES",
21890 SET_KEY_FORMAT: "SET FORMATTED KEY VALUE PAIRS TIMESCHEDULES",
21891 ADD_TIMESCHEDULE: "ADD_TIMESCHEDULE",
21892 SET_WEEKDAY: "SET_WEEKDAY",
21893 ADD_EXCLUDED_DATE: "ADD_EXCLUDED_DATE",
21894 SET_EXCLUDED_DATE: "SET_EXCLUDED_DATE",
21895 REMOVE_EXCLUDED_DATE: "REMOVE_EXCLUDED_DATE"
21896 },
21897 pageRules: {
21898 ADD_RECORD: "ADDING PAGE RULE",
21899 REMOVE_RECORD: "REMOVING PAGE RULE",
21900 SET_KEY_VALUE: "SET KEY VALUE PAGERULES",
21901 SET_KEY_FORMAT: "SET FORMATTED KEY VALUE PAIRS PAGERULES",
21902 ADD_PAGE_RULE_GROUP: "ADD_PAGE_RULE_GROUP",
21903 REMOVE_PAGE_RULE_GROUP: "REMOVE_PAGE_RULE_GROUP",
21904 SET_PAGE_RULE_GROUP_TYPE: "SET_PAGE_RULE_GROUP_TYPE",
21905 ADD_PAGE_RULE_ROW: "ADD_PAGE_RULE_ROW",
21906 SET_PAGE_RULE_ROW: "SET_PAGE_RULE_ROW",
21907 REMOVE_PAGE_RULE_ROW: "REMOVE_PAGE_RULE_ROW"
21908 },
21909 wp: {
21910 //Data actionTypes
21911 GET_DATA_BEGIN: "GET_DATA_BEGIN_WP",
21912 GET_DATA_SUCCESS: "GET_DATA_SUCCESS_WP",
21913 GET_DATA_FAILURE: "GET_DATA_FAILURE_WP",
21914 GET_DATA_END: "GET_DATA_END_WP"
21915 },
21916 templates: {
21917 INIT: "INIT TEMPLATES",
21918 GET_DATA_BEGIN: "GET TEMPLATES DATA BEGIN",
21919 GET_DATA_FAILURE: "GET TEMPLATES DATA FAILURE",
21920 GET_DATA_END: "GET TEMPLATES DATA END",
21921
21922 /**
21923 * Not used
21924 */
21925 ADD_RECORD: "ADDING TEMPLATE"
21926 }
21927 };
21928 var wpActionTypes = {};
21929 var weekdays = (/* unused pure expression or super */ null && (["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"]));
21930 var models = {
21931 MENU_BUTTON: "menu_button",
21932 BUTTON: "buttons",
21933 GROUP: "groups",
21934 TIME_SCHEDULE: "timeSchedules",
21935 PAGE_RULE: "pageRules"
21936 };
21937 var initialStore = {
21938 name: "peter",
21939 loading: {
21940 showLoading: false,
21941 loadingString: "",
21942 loadingSlowWebsite: false,
21943 loaded: false,
21944 error: null
21945 },
21946 frameUrl: "about:blank",
21947 loadingIframe: false,
21948 settings: null,
21949 _premium: false,
21950 buttons: {},
21951 groups: {},
21952 timeSchedules: {}
21953 };
21954 var drawers = {
21955 MENU: "menu",
21956 SETTINGS: "settings",
21957 SETTINGS_PAGES: {
21958 analytics: "analytics",
21959 iconLibrary: "iconlibrary",
21960 preferences: "preferences",
21961 reset: "reset"
21962 },
21963 BUTTONIZER_TOUR: "buttonizertour",
21964 WELCOME_DIALOG: "welcome-splash",
21965 TIME_SCHEDULES: "timeschedules",
21966 PAGE_RULES: "pagerules"
21967 };
21968 var formats = {
21969 /**
21970 * Combine values with normal;hover.
21971 */
21972 normal_hover: {
21973 format: function format(normal, hover) {
21974 return [normal, hover].map(function (val) {
21975 return val === "unset" ? "" : val == null ? "" : val;
21976 }).filter(function (val, key, arr) {
21977 return key === 0 || val !== "" && val !== arr[0];
21978 }) // remove duplicates
21979 .join(";") || "unset";
21980 },
21981 parse: function parse(val) {
21982 var value = val; // Convert booleans to a string
21983
21984 if (typeof val === "boolean") value = String(val); // Convert numbers to a string
21985
21986 if (typeof val === "number") value = String(val); // Value is undefined, return empty array
21987
21988 if (typeof val === "undefined") return []; // If it's an array due to mistake, fix it by joining it
21989
21990 if (buttonizer_constants_typeof(val) === "object" && val.length <= 2) {
21991 value = val.join(";");
21992 } // If the value is not a string
21993
21994
21995 if (typeof value !== "string") {
21996 console.trace();
21997 console.log(buttonizer_constants_typeof(value), value);
21998 return [];
21999 }
22000
22001 var match = value.split(";");
22002 return match.map(function (val) {
22003 if (!val) return undefined;
22004 if (val === "true") return true;
22005 if (val === "false") return false;
22006 if (!isNaN(Number(val))) return Number(val);
22007 return val;
22008 }).map(function (val, key, arr) {
22009 return key === 0 ? val : val === arr[0] ? undefined : val;
22010 }); // remove duplicates!
22011 }
22012 },
22013
22014 /**
22015 * Px for four sides, for example for margin or padding.
22016 */
22017 fourSidesPx: {
22018 format: function format(val1, val2, val3, val4) {
22019 return "".concat(val1, "px ").concat(val2, "px ").concat(val3, "px ").concat(val4, "px");
22020 },
22021 parse: function parse(val) {
22022 var reg = /\d+/g;
22023 var match = val.match(reg);
22024 return match;
22025 }
22026 },
22027
22028 /**
22029 * Position format, example: 'bottom: 5px', or 'left: 10%'
22030 */
22031 position: {
22032 format: function format(type, mode, value) {
22033 return "".concat(type, ": ").concat(value).concat(mode);
22034 }
22035 }
22036 };
22037 var excludedPropertyRequests = ["selected_schedule", "show_on_schedule_trigger", "selected_page_rule", "show_on_rule_trigger", "show_mobile", "show_desktop"];
22038 var import_export = {
22039 propertiesToOmit: ["export_type", "selected_page_rule", "selected_schedule", "id", "parent", "show_on_rule_trigger", "show_on_schedule_trigger"]
22040 };
22041 var settingKeys = {
22042 // Returns all default button settings keys
22043 get button() {
22044 var result = {
22045 general: [],
22046 styling: [],
22047 advanced: []
22048 };
22049 Object.entries(buttonizer_constants_defaults.button).map(function (key) {
22050 buttonizer_constants_merge(result, buttonizer_constants_defineProperty({}, key[0], Object.entries(key[1]).map(function (_ref) {
22051 var _ref2 = _slicedToArray(_ref, 1),
22052 key = _ref2[0];
22053
22054 return key;
22055 })));
22056 });
22057 return result;
22058 },
22059
22060 // Returns all default button settings keys
22061 get menu_button() {
22062 var result = {
22063 general: [],
22064 styling: [],
22065 advanced: []
22066 };
22067 Object.entries(buttonizer_constants_defaults.menu_button).map(function (key) {
22068 buttonizer_constants_merge(result, buttonizer_constants_defineProperty({}, key[0], Object.entries(key[1]).map(function (_ref3) {
22069 var _ref4 = _slicedToArray(_ref3, 1),
22070 key = _ref4[0];
22071
22072 return key;
22073 })));
22074 });
22075 return result;
22076 },
22077
22078 // Returns all default group settings keys
22079 get group() {
22080 var result = {
22081 general: [],
22082 styling: [],
22083 advanced: []
22084 };
22085 Object.entries(buttonizer_constants_defaults.group).map(function (key) {
22086 buttonizer_constants_merge(result, buttonizer_constants_defineProperty({}, key[0], Object.entries(key[1]).map(function (_ref5) {
22087 var _ref6 = _slicedToArray(_ref5, 1),
22088 key = _ref6[0];
22089
22090 return key;
22091 })));
22092 });
22093 return result;
22094 },
22095
22096 // Returns all default setting keys
22097 get allSettings() {
22098 var result = {
22099 general: [],
22100 styling: [],
22101 advanced: []
22102 };
22103 Object.entries(buttonizer_constants_merge({}, buttonizer_constants_defaults.button, buttonizer_constants_defaults.menu_button, buttonizer_constants_defaults.group)).map(function (key) {
22104 buttonizer_constants_merge(result, buttonizer_constants_defineProperty({}, key[0], Object.entries(key[1]).map(function (_ref7) {
22105 var _ref8 = _slicedToArray(_ref7, 1),
22106 key = _ref8[0];
22107
22108 return key;
22109 })));
22110 });
22111 return result;
22112 },
22113
22114 // Returns default hover styling setting key
22115 get stylingHover() {
22116 return Object.entries(buttonizer_constants_merge({}, buttonizer_constants_defaults.button.styling, buttonizer_constants_defaults.group.styling)).filter(function (entry) {
22117 return Array.isArray(entry[1]);
22118 }).map(function (_ref9) {
22119 var _ref10 = _slicedToArray(_ref9, 1),
22120 key = _ref10[0];
22121
22122 return key;
22123 });
22124 }
22125
22126 };
22127 ;// CONCATENATED MODULE: ./src/js/utils/cookies.js
22128 /**
22129 * Get cookie util
22130 *
22131 * @param {string} cname
22132 */
22133 // Get cookie
22134 function getCookie(name) {
22135 var value = "; ".concat(document.cookie);
22136 var parts = value.split("; ".concat(name, "="));
22137 if (parts.length === 2) return parts.pop().split(";").shift();
22138 return false;
22139 } // Set cookie
22140
22141 function setCookie(cname, value) {
22142 document.cookie = cname + "=" + value;
22143 }
22144 ;// CONCATENATED MODULE: ./src/js/frontend/Utils/groupOpened.js
22145
22146
22147
22148 function getOpenedGroups() {
22149 var openedGroups = getCookie("buttonizer_".concat(buttonizerInPreview_inPreview() ? "dashboard" : "live", "_groups_opened")); // Parse opened groups
22150
22151 if (openedGroups) {
22152 return JSON.parse(openedGroups);
22153 } // No remembered group status
22154
22155
22156 return {};
22157 } // Check if group is opened
22158
22159
22160 function getGroupOpened(groupId) {
22161 var defaultStatus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
22162 var openedGroups = getOpenedGroups();
22163 return typeof openedGroups[groupId] !== "undefined" ? openedGroups[groupId] : defaultStatus;
22164 } // Update cookie
22165
22166 function setGroupOpened(id) {
22167 var opened = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
22168 var openedGroups = getOpenedGroups();
22169 openedGroups[id] = opened; // Update cookie
22170
22171 setCookie("buttonizer_".concat(buttonizerInPreview_inPreview() ? "dashboard" : "live", "_groups_opened"), JSON.stringify(openedGroups));
22172 return null;
22173 }
22174 ;// CONCATENATED MODULE: ./src/js/frontend/Extensions/GroupOpenedState.js
22175 function GroupOpenedState_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { GroupOpenedState_typeof = function _typeof(obj) { return typeof obj; }; } else { GroupOpenedState_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return GroupOpenedState_typeof(obj); }
22176
22177 function GroupOpenedState_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
22178
22179 function GroupOpenedState_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
22180
22181 function GroupOpenedState_createClass(Constructor, protoProps, staticProps) { if (protoProps) GroupOpenedState_defineProperties(Constructor.prototype, protoProps); if (staticProps) GroupOpenedState_defineProperties(Constructor, staticProps); return Constructor; }
22182
22183 function GroupOpenedState_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) GroupOpenedState_setPrototypeOf(subClass, superClass); }
22184
22185 function GroupOpenedState_setPrototypeOf(o, p) { GroupOpenedState_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return GroupOpenedState_setPrototypeOf(o, p); }
22186
22187 function GroupOpenedState_createSuper(Derived) { var hasNativeReflectConstruct = GroupOpenedState_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = GroupOpenedState_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = GroupOpenedState_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return GroupOpenedState_possibleConstructorReturn(this, result); }; }
22188
22189 function GroupOpenedState_possibleConstructorReturn(self, call) { if (call && (GroupOpenedState_typeof(call) === "object" || typeof call === "function")) { return call; } return GroupOpenedState_assertThisInitialized(self); }
22190
22191 function GroupOpenedState_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
22192
22193 function GroupOpenedState_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; } }
22194
22195 function GroupOpenedState_set(target, property, value, receiver) { if (typeof Reflect !== "undefined" && Reflect.set) { GroupOpenedState_set = Reflect.set; } else { GroupOpenedState_set = function set(target, property, value, receiver) { var base = GroupOpenedState_superPropBase(target, property); var desc; if (base) { desc = Object.getOwnPropertyDescriptor(base, property); if (desc.set) { desc.set.call(receiver, value); return true; } else if (!desc.writable) { return false; } } desc = Object.getOwnPropertyDescriptor(receiver, property); if (desc) { if (!desc.writable) { return false; } desc.value = value; Object.defineProperty(receiver, property, desc); } else { GroupOpenedState_defineProperty(receiver, property, value); } return true; }; } return GroupOpenedState_set(target, property, value, receiver); }
22196
22197 function Extensions_GroupOpenedState_set(target, property, value, receiver, isStrict) { var s = GroupOpenedState_set(target, property, value, receiver || target); if (!s && isStrict) { throw new Error('failed to set property'); } return value; }
22198
22199 function GroupOpenedState_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
22200
22201 function GroupOpenedState_superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = GroupOpenedState_getPrototypeOf(object); if (object === null) break; } return object; }
22202
22203 function GroupOpenedState_getPrototypeOf(o) { GroupOpenedState_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return GroupOpenedState_getPrototypeOf(o); }
22204
22205
22206
22207
22208
22209
22210 var GroupOpenedState = /*#__PURE__*/function (_Extension) {
22211 GroupOpenedState_inherits(GroupOpenedState, _Extension);
22212
22213 var _super = GroupOpenedState_createSuper(GroupOpenedState);
22214
22215 function GroupOpenedState(_ref) {
22216 var _thisSuper, _this;
22217
22218 var menu_button = _ref.menu_button;
22219
22220 GroupOpenedState_classCallCheck(this, GroupOpenedState);
22221
22222 _this = _super.call(this);
22223 _this.group;
22224 _this.opened = false;
22225 _this.menu_button = menu_button;
22226
22227 Extensions_GroupOpenedState_set((_thisSuper = GroupOpenedState_assertThisInitialized(_this), GroupOpenedState_getPrototypeOf(GroupOpenedState.prototype)), "name", "open group functions", _thisSuper, true);
22228
22229 return _this;
22230 } // Add click event listener
22231
22232
22233 GroupOpenedState_createClass(GroupOpenedState, [{
22234 key: "onSubscribe",
22235 value: function onSubscribe(group) {
22236 this.group = group; // Only open group
22237
22238 if (this.menu_button.data.start_opened === true && getGroupOpened(this.group.data.id, true) === true || buttonizerInPreview_inPreview() && getGroupOpened(this.group.data.id) === true) {
22239 this.open(false);
22240 } else this.close(false);
22241
22242 this.group.state = this;
22243 }
22244 }, {
22245 key: "open",
22246 value: function open() {
22247 var _this2 = this;
22248
22249 var updateCookie = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
22250 window.Buttonizer.activateHook("buttonizer_group_opened", {
22251 open: true,
22252 group_id: this.group.data.id
22253 }); // Send Google Analytics event
22254
22255 googleAnalyticsEvent({
22256 type: "group-open-close",
22257 name: this.group.data.name,
22258 interaction: "open"
22259 });
22260 Object.keys(this.group.buttons).map(function (key) {
22261 var button = _this2.group.buttons[key];
22262 var openedClass = button.stylesheet.classes.opened;
22263 var closedClass = button.stylesheet.classes.closed;
22264
22265 if (openedClass && !button.element.classList.contains(openedClass)) {
22266 button.element.classList.add(openedClass);
22267 }
22268
22269 if (closedClass && button.element.classList.contains(closedClass)) {
22270 button.element.classList.remove(closedClass);
22271 }
22272 });
22273
22274 if (buttonizerInPreview_inPreview()) {
22275 var stylingBorder = this.group.element.querySelector(".buttonizer-styling-border");
22276
22277 if (stylingBorder && !stylingBorder.classList.contains("opened")) {
22278 stylingBorder.classList.add("opened");
22279 }
22280 } // Update group cookie
22281
22282
22283 if (updateCookie) {
22284 setGroupOpened(this.group.data.id, true);
22285 }
22286
22287 this.opened = true;
22288 }
22289 }, {
22290 key: "close",
22291 value: function close() {
22292 var _this3 = this;
22293
22294 var updateCookie = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
22295 window.Buttonizer.activateHook("buttonizer_group_opened", {
22296 open: false,
22297 group_id: this.group.data.id
22298 }); // Send Google Analytics event
22299
22300 googleAnalyticsEvent({
22301 type: "group-open-close",
22302 name: this.group.data.name,
22303 interaction: "close"
22304 });
22305 Object.keys(this.group.buttons).map(function (key) {
22306 var button = _this3.group.buttons[key];
22307 var openedClass = button.stylesheet.classes.opened;
22308 var closedClass = button.stylesheet.classes.closed;
22309
22310 if (openedClass && button.element.classList.contains(openedClass)) {
22311 button.element.classList.remove(openedClass);
22312 }
22313
22314 if (closedClass && !button.element.classList.contains(closedClass)) {
22315 button.element.classList.add(closedClass);
22316 }
22317 });
22318
22319 if (buttonizerInPreview_inPreview()) {
22320 var stylingBorder = this.group.element.querySelector(".buttonizer-styling-border");
22321
22322 if (stylingBorder && stylingBorder.classList.contains("opened")) {
22323 stylingBorder.classList.remove("opened");
22324 }
22325 } // Update group cookie
22326
22327
22328 if (updateCookie) {
22329 setGroupOpened(this.group.data.id, false);
22330 }
22331
22332 this.opened = false;
22333 } // Toggle group
22334
22335 }, {
22336 key: "toggle",
22337 value: function toggle() {
22338 if (this.opened) {
22339 this.close();
22340 } else {
22341 this.open();
22342 }
22343 } // Return status
22344
22345 }, {
22346 key: "isOpened",
22347 value: function isOpened() {
22348 return this.opened;
22349 }
22350 }]);
22351
22352 return GroupOpenedState;
22353 }(Extension);
22354
22355
22356 ;// CONCATENATED MODULE: ./src/js/frontend/Utils/ButtonizerUtils.js
22357 function ButtonizerUtils_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; }
22358
22359 function ButtonizerUtils_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ButtonizerUtils_ownKeys(Object(source), true).forEach(function (key) { ButtonizerUtils_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ButtonizerUtils_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
22360
22361 function ButtonizerUtils_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
22362
22363
22364
22365
22366 /* webpack-strip-block:removed */
22367
22368
22369
22370
22371
22372
22373
22374
22375
22376
22377
22378 // import menuStyles from "../Generators/MenuStyles/index";
22379
22380
22381
22382
22383
22384
22385
22386
22387
22388
22389
22390
22391
22392
22393
22394 function createGroup() {
22395 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
22396 data = _ref.data,
22397 buttons = _ref.buttons,
22398 _ref$menu_button = _ref.menu_button,
22399 menu_button = _ref$menu_button === void 0 ? {} : _ref$menu_button;
22400
22401 var extensions = [];
22402 var generators = [];
22403 var renderExtender = [];
22404 var actions = [];
22405 var stylesheet = Stylesheets_group();
22406
22407 var _parseData = parseData({
22408 data: data,
22409 model: "group",
22410 menu_style: data.menu_style,
22411 position: {
22412 horizontal: data.horizontal,
22413 vertical: data.vertical
22414 }
22415 }),
22416 parsedData = _parseData.parsedData,
22417 extraJSS = _parseData.extraJSS;
22418
22419 stylesheet.update(extraJSS);
22420 /**
22421 * ====================
22422 * Single button mode
22423 */
22424
22425 var mobileSingleButton, desktopSingleButton; // Count mobile buttons
22426
22427 mobileSingleButton = Object.values(buttons).filter(function (obj) {
22428 return obj.show_mobile === true;
22429 }); // Count desktop buttons
22430
22431 desktopSingleButton = Object.values(buttons).filter(function (obj) {
22432 return obj.show_desktop === true;
22433 }); // There is only one button for mobile
22434
22435 if (mobileSingleButton.length === 1) {
22436 // If it doesn't have an id. Make one
22437 if (typeof mobileSingleButton[0].id !== "string") mobileSingleButton[0].id = GenerateUniqueId();
22438 generators.push(new SingleButton({
22439 button: mobileSingleButton[0].id,
22440 visibility: "mobile",
22441 hideMenu: desktopSingleButton.length < 1
22442 }));
22443 } // There is only one button for desktop
22444
22445
22446 if (desktopSingleButton.length === 1) {
22447 // If it doesn't have an id. Make one
22448 if (typeof desktopSingleButton[0].id !== "string") desktopSingleButton[0].id = GenerateUniqueId();
22449 generators.push(new SingleButton({
22450 button: desktopSingleButton[0].id,
22451 visibility: "desktop",
22452 hideMenu: mobileSingleButton.length < 1
22453 }));
22454 }
22455
22456 if (parsedData.label_same_width === true) {
22457 renderExtender.push(new SetSameWidthLabels());
22458 }
22459
22460 if (parsedData.label_inside === true) {
22461 renderExtender.push(new SetLabelInsideButton());
22462 }
22463 /**
22464 * ====================
22465 */
22466
22467 /**
22468 * ====================
22469 * Menu button
22470 */
22471
22472
22473 menu_button = createButton({
22474 group: parsedData,
22475 menu_style: data.menu_style,
22476 data: menu_button,
22477 pos: {
22478 horizontal: parsedData.horizontal,
22479 vertical: parsedData.vertical
22480 },
22481 model: "menu_button",
22482 buttonCount: {
22483 mobile: mobileSingleButton.length,
22484 desktop: desktopSingleButton.length
22485 }
22486 });
22487 var is_menu_mobile = menu_button[Object.keys(menu_button)[0]].data.show_mobile && mobileSingleButton.length > 1;
22488 var is_menu_desktop = menu_button[Object.keys(menu_button)[0]].data.show_desktop && desktopSingleButton.length > 1;
22489 /**
22490 * ====================
22491 */
22492 // Add all extensions
22493
22494 extensions.push(new GroupOpenedState({
22495 menu_button: menu_button[Object.keys(menu_button)[0]]
22496 }));
22497
22498 if (menu_button[Object.keys(menu_button)[0]].data.close_on_click_outside && buttons.length > 1 && (is_menu_desktop || is_menu_mobile)) {
22499 if (menu_button[Object.keys(menu_button)[0]].data.open_on_mouseover === false || menu_button[Object.keys(menu_button)[0]].data.close_on_mouseleave === false && menu_button[Object.keys(menu_button)[0]].data.open_on_mouseover === true) extensions.push(Extensions_CloseOnClickOutside);
22500 }
22501
22502 if (menu_button[Object.keys(menu_button)[0]].data.close_on_click_inside && menu_button[Object.keys(menu_button)[0]].data.open_on_mouseover === false && buttons.length > 1 && (is_menu_desktop || is_menu_mobile)) extensions.push(Extensions_CloseOnClickInside);
22503 /* webpack-strip-block:removed */
22504
22505 if ((is_menu_desktop || is_menu_mobile) && Object.values(buttons).length > 1 && Object.keys(OpeningAnimations).includes(menu_button[Object.keys(menu_button)[0]].data.menu_opening_animation)) {
22506 /* webpack-strip-block:removed */
22507 generators.push(new OpeningAnimations[menu_button[Object.keys(menu_button)[0]].data.menu_opening_animation]({
22508 data: parsedData,
22509 buttons: buttons
22510 }));
22511 }
22512
22513 if (parsedData.menu_animation !== "none") generators.push(new AttentionAnimation({
22514 data: parsedData,
22515 mobileSingleButton: mobileSingleButton,
22516 desktopSingleButton: desktopSingleButton
22517 })); // Add edit button if in preview
22518
22519 if (buttonizerInPreview_inPreview()) {
22520 generators.push(new EditButton({
22521 horizontal: parsedData.horizontal,
22522 vertical: parsedData.vertical,
22523 mobileSingleButton: mobileSingleButton.length === 1 ? mobileSingleButton[0].id : false,
22524 desktopSingleButton: desktopSingleButton.length === 1 ? desktopSingleButton[0].id : false
22525 }));
22526 if (dlv_umd_default()(Buttonizer, "container.newestGroupId", false) === parsedData.id) generators.push(new NewGroupPulse());
22527 }
22528
22529 buttons = buttons.reduce(function (acc, buttonData) {
22530 return ButtonizerUtils_objectSpread(ButtonizerUtils_objectSpread({}, acc), createButton({
22531 group: parsedData,
22532 menu_style: data.menu_style,
22533 data: ButtonizerUtils_objectSpread(ButtonizerUtils_objectSpread({}, buttonData), {}, {
22534 is_menu_mobile: is_menu_mobile,
22535 is_menu_desktop: is_menu_desktop
22536 }),
22537 pos: {
22538 horizontal: parsedData.horizontal,
22539 vertical: parsedData.vertical
22540 }
22541 }));
22542 }, {});
22543 var args = {
22544 data: ButtonizerUtils_objectSpread(ButtonizerUtils_objectSpread({}, parsedData), {}, {
22545 is_menu_mobile: is_menu_mobile,
22546 is_menu_desktop: is_menu_desktop
22547 }),
22548 stylesheet: stylesheet,
22549 extensions: extensions,
22550 generators: generators,
22551 renderExtender: renderExtender,
22552 actions: actions,
22553 buttons: buttons,
22554 menu_button: menu_button
22555 };
22556 var group = new Group(args);
22557 return ButtonizerUtils_defineProperty({}, parsedData.id, group);
22558 }
22559 function createButton() {
22560 var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
22561 data = _ref3.data,
22562 menu_style = _ref3.menu_style,
22563 _ref3$generators = _ref3.generators,
22564 generators = _ref3$generators === void 0 ? [] : _ref3$generators,
22565 pos = _ref3.pos,
22566 _ref3$model = _ref3.model,
22567 model = _ref3$model === void 0 ? "button" : _ref3$model,
22568 group = _ref3.group,
22569 buttonCount = _ref3.buttonCount;
22570
22571 var _parseData2 = parseData({
22572 data: data,
22573 model: model,
22574 menu_style: menu_style,
22575 position: pos,
22576 group: group,
22577 buttonCount: buttonCount
22578 }),
22579 parsedData = _parseData2.parsedData,
22580 extraJSS = _parseData2.extraJSS;
22581
22582 var extensions = [];
22583 var renderExtender = [];
22584 var stylesheet = Stylesheets_button();
22585 stylesheet.update(extraJSS);
22586 var result = {
22587 groupName: dlv_umd_default()(group, "name", null),
22588 groupId: dlv_umd_default()(group, "id", null),
22589 data: ButtonizerUtils_objectSpread(ButtonizerUtils_objectSpread({}, parsedData), pos),
22590 stylesheet: stylesheet,
22591 extensions: extensions,
22592 generators: generators,
22593 renderExtender: renderExtender
22594 }; // Add messenger
22595
22596 if (parsedData.type === "messenger_chat") result.generators.push(new MessengerChatWidget());
22597
22598 if (parsedData.label_same_height === true && parsedData.label_inside === false) {
22599 result.renderExtender.push(new SetSameHeightLabels());
22600 }
22601
22602 if (parsedData.icon_type !== "off") {
22603 if (!isEqual_default()(parsedData.icon, [""]) && parsedData.icon_type === "icon") result.icon = new Icon({
22604 stylesheet: stylesheet,
22605 data: {
22606 icon: parsedData.icon,
22607 icon_color: parsedData.icon_color,
22608 icon_size: parsedData.icon_size,
22609 model: model
22610 }
22611 });else if (!isEqual_default()(parsedData.icon_image, [""]) && parsedData.icon_type === "image") {
22612 /* webpack-strip-block:removed */
22613 // Fallback when icon_type is image but doesn't have premium.
22614 if (parsedData.icon !== "unset" && !result.icon) {
22615 result.icon = new Icon({
22616 stylesheet: stylesheet,
22617 data: {
22618 icon: parsedData.icon,
22619 icon_color: parsedData.icon_color,
22620 icon_size: parsedData.icon_size
22621 }
22622 });
22623 }
22624 }
22625 }
22626
22627 if (parsedData.label) result.label = new Label({
22628 stylesheet: stylesheet,
22629 data: ButtonizerUtils_objectSpread(ButtonizerUtils_objectSpread({}, parsedData), pos)
22630 });
22631 var button = new Button(result);
22632 return ButtonizerUtils_defineProperty({}, parsedData.id, button);
22633 }
22634 function parseData(_ref5) {
22635 var _ref5$data = _ref5.data,
22636 data = _ref5$data === void 0 ? {} : _ref5$data,
22637 _ref5$model = _ref5.model,
22638 model = _ref5$model === void 0 ? "button" : _ref5$model,
22639 _ref5$menu_style = _ref5.menu_style,
22640 menu_style = _ref5$menu_style === void 0 ? "default" : _ref5$menu_style,
22641 _ref5$position = _ref5.position,
22642 position = _ref5$position === void 0 ? {} : _ref5$position,
22643 _ref5$group = _ref5.group,
22644 group = _ref5$group === void 0 ? false : _ref5$group,
22645 buttonCount = _ref5.buttonCount;
22646 var menuStyle = dlv_umd_default()((buttonizer_defaults_default()).menuStyle, menu_style, dlv_umd_default()((buttonizer_defaults_default()).menuStyle, "default", {})); // Merged defaults
22647
22648 var allDefs = merge_default()({}, merge_default()({}, (buttonizer_defaults_default())[model]), dlv_umd_default()(menuStyle, model, {}), pick_default()(group, pullAll_default()(settingKeys.allSettings.styling, model === "menu_button" && settingKeys.menu_button.styling)));
22649 var parsedPosition = {
22650 horizontal: parsePosition(position.horizontal || allDefs.horizontal),
22651 vertical: parsePosition(position.vertical || allDefs.vertical)
22652 };
22653
22654 if (menuStyle.extraJSS) {
22655 menuStyle.extraJSS.setPosition = parsedPosition;
22656 }
22657
22658 var extraJSS = omit_default()(dlv_umd_default()(menuStyle, "extraJSS", {}), ["position", "setPosition"]);
22659 var parsedData = data;
22660 /** normal;hover settings */
22661
22662 settingKeys.stylingHover.forEach(function (key) {
22663 if (Array.isArray(parsedData[key])) return;
22664 var result = formats.normal_hover.parse(parsedData[key]);
22665
22666 if (!result) {
22667 parsedData[key] = [undefined, undefined];
22668 return;
22669 }
22670
22671 if (result.length === 1) {
22672 parsedData[key] = [result[0], result[0]];
22673 return;
22674 }
22675
22676 parsedData[key] = result;
22677 });
22678 parsedData.horizontal = parsedPosition.horizontal;
22679 parsedData.vertical = parsedPosition.vertical;
22680 if (typeof parsedData.id !== "string") parsedData.id = GenerateUniqueId();
22681
22682 if (model === "menu_button") {
22683 if (buttonCount.mobile === 0) parsedData.show_mobile = false;
22684 if (buttonCount.desktop === 0) parsedData.show_desktop = false;
22685 } // Add label placeholder
22686
22687
22688 if (dlv_umd_default()(parsedData, "label_inside", allDefs.label_inside) && !parsedData.label) parsedData.label = model === "menu_button" ? "Menu button's label" : parsedData.name + "'s label";
22689 return {
22690 parsedData: merge_default()({}, allDefs, parsedData),
22691 extraJSS: extraJSS
22692 };
22693 }
22694 function parsePosition(pos) {
22695 /* Parse Horizontal & vertical settings */
22696 if (typeof pos === "string") {
22697 pos = pos.match(/(.+): ?(.+)/).splice(1, 2);
22698 pos[1] = pos[1].replace("undefined", "%"); // Migration fix
22699
22700 if (isNaN(parseFloat(pos[1]))) {
22701 pos[1] = "5%";
22702 }
22703
22704 return pos;
22705 }
22706
22707 return pos;
22708 }
22709 ;// CONCATENATED MODULE: ./node_modules/jss-plugin-rule-value-function/dist/jss-plugin-rule-value-function.esm.js
22710
22711
22712
22713 var now = Date.now();
22714 var fnValuesNs = "fnValues" + now;
22715 var fnRuleNs = "fnStyle" + ++now;
22716
22717 var functionPlugin = function functionPlugin() {
22718 return {
22719 onCreateRule: function onCreateRule(name, decl, options) {
22720 if (typeof decl !== 'function') return null;
22721 var rule = createRule(name, {}, options);
22722 rule[fnRuleNs] = decl;
22723 return rule;
22724 },
22725 onProcessStyle: function onProcessStyle(style, rule) {
22726 // We need to extract function values from the declaration, so that we can keep core unaware of them.
22727 // We need to do that only once.
22728 // We don't need to extract functions on each style update, since this can happen only once.
22729 // We don't support function values inside of function rules.
22730 if (fnValuesNs in rule || fnRuleNs in rule) return style;
22731 var fnValues = {};
22732
22733 for (var prop in style) {
22734 var value = style[prop];
22735 if (typeof value !== 'function') continue;
22736 delete style[prop];
22737 fnValues[prop] = value;
22738 } // $FlowFixMe[prop-missing]
22739
22740
22741 rule[fnValuesNs] = fnValues;
22742 return style;
22743 },
22744 onUpdate: function onUpdate(data, rule, sheet, options) {
22745 var styleRule = rule; // $FlowFixMe[prop-missing]
22746
22747 var fnRule = styleRule[fnRuleNs]; // If we have a style function, the entire rule is dynamic and style object
22748 // will be returned from that function.
22749
22750 if (fnRule) {
22751 // Empty object will remove all currently defined props
22752 // in case function rule returns a falsy value.
22753 styleRule.style = fnRule(data) || {};
22754
22755 if (false) { var prop; }
22756 } // $FlowFixMe[prop-missing]
22757
22758
22759 var fnValues = styleRule[fnValuesNs]; // If we have a fn values map, it is a rule with function values.
22760
22761 if (fnValues) {
22762 for (var _prop in fnValues) {
22763 styleRule.prop(_prop, fnValues[_prop](data), options);
22764 }
22765 }
22766 }
22767 };
22768 };
22769
22770 /* harmony default export */ var jss_plugin_rule_value_function_esm = (functionPlugin);
22771
22772 // EXTERNAL MODULE: ./node_modules/symbol-observable/es/index.js + 1 modules
22773 var es = __webpack_require__(67121);
22774 ;// CONCATENATED MODULE: ./node_modules/jss-plugin-rule-value-observable/dist/jss-plugin-rule-value-observable.esm.js
22775
22776
22777
22778 var isObservable = function isObservable(value) {
22779 return value && value[es/* default */.Z] && value === value[es/* default */.Z]();
22780 };
22781
22782 var observablePlugin = function observablePlugin(updateOptions) {
22783 return {
22784 onCreateRule: function onCreateRule(name, decl, options) {
22785 if (!isObservable(decl)) return null; // Cast `decl` to `Observable`, since it passed the type guard.
22786
22787 var style$ = decl;
22788 var rule = createRule(name, {}, options); // TODO
22789 // Call `stream.subscribe()` returns a subscription, which should be explicitly
22790 // unsubscribed from when we know this sheet is no longer needed.
22791
22792 style$.subscribe(function (style) {
22793 for (var prop in style) {
22794 rule.prop(prop, style[prop], updateOptions);
22795 }
22796 });
22797 return rule;
22798 },
22799 onProcessRule: function onProcessRule(rule) {
22800 if (rule && rule.type !== 'style') return;
22801 var styleRule = rule;
22802 var style = styleRule.style;
22803
22804 var _loop = function _loop(prop) {
22805 var value = style[prop];
22806 if (!isObservable(value)) return "continue";
22807 delete style[prop];
22808 value.subscribe({
22809 next: function next(nextValue) {
22810 styleRule.prop(prop, nextValue, updateOptions);
22811 }
22812 });
22813 };
22814
22815 for (var prop in style) {
22816 var _ret = _loop(prop);
22817
22818 if (_ret === "continue") continue;
22819 }
22820 }
22821 };
22822 };
22823
22824 /* harmony default export */ var jss_plugin_rule_value_observable_esm = (observablePlugin);
22825
22826 ;// CONCATENATED MODULE: ./node_modules/jss-plugin-template/dist/jss-plugin-template.esm.js
22827
22828
22829 var semiWithNl = /;\n/;
22830
22831 /**
22832 * Naive CSS parser.
22833 * - Supports only rule body (no selectors)
22834 * - Requires semicolon and new line after the value (except of last line)
22835 * - No nested rules support
22836 */
22837 var parse = function parse(cssText) {
22838 var style = {};
22839 var split = cssText.split(semiWithNl);
22840
22841 for (var i = 0; i < split.length; i++) {
22842 var decl = (split[i] || '').trim();
22843 if (!decl) continue;
22844 var colonIndex = decl.indexOf(':');
22845
22846 if (colonIndex === -1) {
22847 false ? 0 : void 0;
22848 continue;
22849 }
22850
22851 var prop = decl.substr(0, colonIndex).trim();
22852 var value = decl.substr(colonIndex + 1).trim();
22853 style[prop] = value;
22854 }
22855
22856 return style;
22857 };
22858
22859 var onProcessRule = function onProcessRule(rule) {
22860 if (typeof rule.style === 'string') {
22861 // $FlowFixMe[prop-missing] We can safely assume that rule has the style property
22862 rule.style = parse(rule.style);
22863 }
22864 };
22865
22866 function templatePlugin() {
22867 return {
22868 onProcessRule: onProcessRule
22869 };
22870 }
22871
22872 /* harmony default export */ var jss_plugin_template_esm = (templatePlugin);
22873
22874 ;// CONCATENATED MODULE: ./node_modules/jss-plugin-global/dist/jss-plugin-global.esm.js
22875
22876
22877
22878 var at = '@global';
22879 var atPrefix = '@global ';
22880
22881 var GlobalContainerRule =
22882 /*#__PURE__*/
22883 function () {
22884 function GlobalContainerRule(key, styles, options) {
22885 this.type = 'global';
22886 this.at = at;
22887 this.rules = void 0;
22888 this.options = void 0;
22889 this.key = void 0;
22890 this.isProcessed = false;
22891 this.key = key;
22892 this.options = options;
22893 this.rules = new RuleList(_extends({}, options, {
22894 parent: this
22895 }));
22896
22897 for (var selector in styles) {
22898 this.rules.add(selector, styles[selector]);
22899 }
22900
22901 this.rules.process();
22902 }
22903 /**
22904 * Get a rule.
22905 */
22906
22907
22908 var _proto = GlobalContainerRule.prototype;
22909
22910 _proto.getRule = function getRule(name) {
22911 return this.rules.get(name);
22912 }
22913 /**
22914 * Create and register rule, run plugins.
22915 */
22916 ;
22917
22918 _proto.addRule = function addRule(name, style, options) {
22919 var rule = this.rules.add(name, style, options);
22920 if (rule) this.options.jss.plugins.onProcessRule(rule);
22921 return rule;
22922 }
22923 /**
22924 * Get index of a rule.
22925 */
22926 ;
22927
22928 _proto.indexOf = function indexOf(rule) {
22929 return this.rules.indexOf(rule);
22930 }
22931 /**
22932 * Generates a CSS string.
22933 */
22934 ;
22935
22936 _proto.toString = function toString() {
22937 return this.rules.toString();
22938 };
22939
22940 return GlobalContainerRule;
22941 }();
22942
22943 var GlobalPrefixedRule =
22944 /*#__PURE__*/
22945 function () {
22946 function GlobalPrefixedRule(key, style, options) {
22947 this.type = 'global';
22948 this.at = at;
22949 this.options = void 0;
22950 this.rule = void 0;
22951 this.isProcessed = false;
22952 this.key = void 0;
22953 this.key = key;
22954 this.options = options;
22955 var selector = key.substr(atPrefix.length);
22956 this.rule = options.jss.createRule(selector, style, _extends({}, options, {
22957 parent: this
22958 }));
22959 }
22960
22961 var _proto2 = GlobalPrefixedRule.prototype;
22962
22963 _proto2.toString = function toString(options) {
22964 return this.rule ? this.rule.toString(options) : '';
22965 };
22966
22967 return GlobalPrefixedRule;
22968 }();
22969
22970 var separatorRegExp = /\s*,\s*/g;
22971
22972 function addScope(selector, scope) {
22973 var parts = selector.split(separatorRegExp);
22974 var scoped = '';
22975
22976 for (var i = 0; i < parts.length; i++) {
22977 scoped += scope + " " + parts[i].trim();
22978 if (parts[i + 1]) scoped += ', ';
22979 }
22980
22981 return scoped;
22982 }
22983
22984 function handleNestedGlobalContainerRule(rule, sheet) {
22985 var options = rule.options,
22986 style = rule.style;
22987 var rules = style ? style[at] : null;
22988 if (!rules) return;
22989
22990 for (var name in rules) {
22991 sheet.addRule(name, rules[name], _extends({}, options, {
22992 selector: addScope(name, rule.selector)
22993 }));
22994 }
22995
22996 delete style[at];
22997 }
22998
22999 function handlePrefixedGlobalRule(rule, sheet) {
23000 var options = rule.options,
23001 style = rule.style;
23002
23003 for (var prop in style) {
23004 if (prop[0] !== '@' || prop.substr(0, at.length) !== at) continue;
23005 var selector = addScope(prop.substr(at.length), rule.selector);
23006 sheet.addRule(selector, style[prop], _extends({}, options, {
23007 selector: selector
23008 }));
23009 delete style[prop];
23010 }
23011 }
23012 /**
23013 * Convert nested rules to separate, remove them from original styles.
23014 *
23015 * @param {Rule} rule
23016 * @api public
23017 */
23018
23019
23020 function jssGlobal() {
23021 function onCreateRule(name, styles, options) {
23022 if (!name) return null;
23023
23024 if (name === at) {
23025 return new GlobalContainerRule(name, styles, options);
23026 }
23027
23028 if (name[0] === '@' && name.substr(0, atPrefix.length) === atPrefix) {
23029 return new GlobalPrefixedRule(name, styles, options);
23030 }
23031
23032 var parent = options.parent;
23033
23034 if (parent) {
23035 if (parent.type === 'global' || parent.options.parent && parent.options.parent.type === 'global') {
23036 options.scoped = false;
23037 }
23038 }
23039
23040 if (options.scoped === false) {
23041 options.selector = name;
23042 }
23043
23044 return null;
23045 }
23046
23047 function onProcessRule(rule, sheet) {
23048 if (rule.type !== 'style' || !sheet) return;
23049 handleNestedGlobalContainerRule(rule, sheet);
23050 handlePrefixedGlobalRule(rule, sheet);
23051 }
23052
23053 return {
23054 onCreateRule: onCreateRule,
23055 onProcessRule: onProcessRule
23056 };
23057 }
23058
23059 /* harmony default export */ var jss_plugin_global_esm = (jssGlobal);
23060
23061 ;// CONCATENATED MODULE: ./node_modules/jss-plugin-extend/dist/jss-plugin-extend.esm.js
23062
23063
23064
23065 var jss_plugin_extend_esm_isObject = function isObject(obj) {
23066 return obj && typeof obj === 'object' && !Array.isArray(obj);
23067 };
23068
23069 var valueNs = "extendCurrValue" + Date.now();
23070
23071 function mergeExtend(style, rule, sheet, newStyle) {
23072 var extendType = typeof style.extend; // Extend using a rule name.
23073
23074 if (extendType === 'string') {
23075 if (!sheet) return;
23076 var refRule = sheet.getRule(style.extend);
23077 if (!refRule) return;
23078
23079 if (refRule === rule) {
23080 false ? 0 : void 0;
23081 return;
23082 }
23083
23084 var parent = refRule.options.parent;
23085
23086 if (parent) {
23087 var originalStyle = parent.rules.raw[style.extend];
23088 jss_plugin_extend_esm_extend(originalStyle, rule, sheet, newStyle);
23089 }
23090
23091 return;
23092 } // Extend using an array.
23093
23094
23095 if (Array.isArray(style.extend)) {
23096 for (var index = 0; index < style.extend.length; index++) {
23097 var singleExtend = style.extend[index];
23098 var singleStyle = typeof singleExtend === 'string' ? _extends({}, style, {
23099 extend: singleExtend
23100 }) : style.extend[index];
23101 jss_plugin_extend_esm_extend(singleStyle, rule, sheet, newStyle);
23102 }
23103
23104 return;
23105 } // Extend is a style object.
23106
23107
23108 for (var prop in style.extend) {
23109 if (prop === 'extend') {
23110 jss_plugin_extend_esm_extend(style.extend.extend, rule, sheet, newStyle);
23111 continue;
23112 }
23113
23114 if (jss_plugin_extend_esm_isObject(style.extend[prop])) {
23115 if (!(prop in newStyle)) newStyle[prop] = {};
23116 jss_plugin_extend_esm_extend(style.extend[prop], rule, sheet, newStyle[prop]);
23117 continue;
23118 }
23119
23120 newStyle[prop] = style.extend[prop];
23121 }
23122 }
23123
23124 function mergeRest(style, rule, sheet, newStyle) {
23125 // Copy base style.
23126 for (var prop in style) {
23127 if (prop === 'extend') continue;
23128
23129 if (jss_plugin_extend_esm_isObject(newStyle[prop]) && jss_plugin_extend_esm_isObject(style[prop])) {
23130 jss_plugin_extend_esm_extend(style[prop], rule, sheet, newStyle[prop]);
23131 continue;
23132 }
23133
23134 if (jss_plugin_extend_esm_isObject(style[prop])) {
23135 newStyle[prop] = jss_plugin_extend_esm_extend(style[prop], rule, sheet);
23136 continue;
23137 }
23138
23139 newStyle[prop] = style[prop];
23140 }
23141 }
23142 /**
23143 * Recursively extend styles.
23144 */
23145
23146
23147 function jss_plugin_extend_esm_extend(style, rule, sheet, newStyle) {
23148 if (newStyle === void 0) {
23149 newStyle = {};
23150 }
23151
23152 mergeExtend(style, rule, sheet, newStyle);
23153 mergeRest(style, rule, sheet, newStyle);
23154 return newStyle;
23155 }
23156 /**
23157 * Handle `extend` property.
23158 *
23159 * @param {Rule} rule
23160 * @api public
23161 */
23162
23163
23164 function jssExtend() {
23165 function onProcessStyle(style, rule, sheet) {
23166 if ('extend' in style) return jss_plugin_extend_esm_extend(style, rule, sheet);
23167 return style;
23168 }
23169
23170 function onChangeValue(value, prop, rule) {
23171 if (prop !== 'extend') return value; // Value is empty, remove properties set previously.
23172
23173 if (value == null || value === false) {
23174 // $FlowFixMe[prop-missing]
23175 for (var key in rule[valueNs]) {
23176 rule.prop(key, null);
23177 } // $FlowFixMe[prop-missing] Flow complains because there is no indexer property in StyleRule
23178
23179
23180 rule[valueNs] = null;
23181 return null;
23182 }
23183
23184 if (typeof value === 'object') {
23185 // $FlowFixMe[invalid-in-rhs] This will be an object
23186 for (var _key in value) {
23187 // $FlowFixMe[incompatible-use] This will be an object
23188 rule.prop(_key, value[_key]);
23189 } // $FlowFixMe[prop-missing] Flow complains because there is no indexer property in StyleRule
23190
23191
23192 rule[valueNs] = value;
23193 } // Make sure we don't set the value in the core.
23194
23195
23196 return null;
23197 }
23198
23199 return {
23200 onProcessStyle: onProcessStyle,
23201 onChangeValue: onChangeValue
23202 };
23203 }
23204
23205 /* harmony default export */ var jss_plugin_extend_esm = (jssExtend);
23206
23207 ;// CONCATENATED MODULE: ./node_modules/jss-plugin-nested/dist/jss-plugin-nested.esm.js
23208
23209
23210
23211 var jss_plugin_nested_esm_separatorRegExp = /\s*,\s*/g;
23212 var parentRegExp = /&/g;
23213 var jss_plugin_nested_esm_refRegExp = /\$([\w-]+)/g;
23214 /**
23215 * Convert nested rules to separate, remove them from original styles.
23216 *
23217 * @param {Rule} rule
23218 * @api public
23219 */
23220
23221 function jssNested() {
23222 // Get a function to be used for $ref replacement.
23223 function getReplaceRef(container, sheet) {
23224 return function (match, key) {
23225 var rule = container.getRule(key) || sheet && sheet.getRule(key);
23226
23227 if (rule) {
23228 rule = rule;
23229 return rule.selector;
23230 }
23231
23232 false ? 0 : void 0;
23233 return key;
23234 };
23235 }
23236
23237 function replaceParentRefs(nestedProp, parentProp) {
23238 var parentSelectors = parentProp.split(jss_plugin_nested_esm_separatorRegExp);
23239 var nestedSelectors = nestedProp.split(jss_plugin_nested_esm_separatorRegExp);
23240 var result = '';
23241
23242 for (var i = 0; i < parentSelectors.length; i++) {
23243 var parent = parentSelectors[i];
23244
23245 for (var j = 0; j < nestedSelectors.length; j++) {
23246 var nested = nestedSelectors[j];
23247 if (result) result += ', '; // Replace all & by the parent or prefix & with the parent.
23248
23249 result += nested.indexOf('&') !== -1 ? nested.replace(parentRegExp, parent) : parent + " " + nested;
23250 }
23251 }
23252
23253 return result;
23254 }
23255
23256 function getOptions(rule, container, prevOptions) {
23257 // Options has been already created, now we only increase index.
23258 if (prevOptions) return _extends({}, prevOptions, {
23259 index: prevOptions.index + 1 // $FlowFixMe[prop-missing]
23260
23261 });
23262 var nestingLevel = rule.options.nestingLevel;
23263 nestingLevel = nestingLevel === undefined ? 1 : nestingLevel + 1;
23264
23265 var options = _extends({}, rule.options, {
23266 nestingLevel: nestingLevel,
23267 index: container.indexOf(rule) + 1 // We don't need the parent name to be set options for chlid.
23268
23269 });
23270
23271 delete options.name;
23272 return options;
23273 }
23274
23275 function onProcessStyle(style, rule, sheet) {
23276 if (rule.type !== 'style') return style;
23277 var styleRule = rule;
23278 var container = styleRule.options.parent;
23279 var options;
23280 var replaceRef;
23281
23282 for (var prop in style) {
23283 var isNested = prop.indexOf('&') !== -1;
23284 var isNestedConditional = prop[0] === '@';
23285 if (!isNested && !isNestedConditional) continue;
23286 options = getOptions(styleRule, container, options);
23287
23288 if (isNested) {
23289 var selector = replaceParentRefs(prop, styleRule.selector); // Lazily create the ref replacer function just once for
23290 // all nested rules within the sheet.
23291
23292 if (!replaceRef) replaceRef = getReplaceRef(container, sheet); // Replace all $refs.
23293
23294 selector = selector.replace(jss_plugin_nested_esm_refRegExp, replaceRef);
23295 container.addRule(selector, style[prop], _extends({}, options, {
23296 selector: selector
23297 }));
23298 } else if (isNestedConditional) {
23299 // Place conditional right after the parent rule to ensure right ordering.
23300 container.addRule(prop, {}, options) // Flow expects more options but they aren't required
23301 // And flow doesn't know this will always be a StyleRule which has the addRule method
23302 // $FlowFixMe[incompatible-use]
23303 // $FlowFixMe[prop-missing]
23304 .addRule(styleRule.key, style[prop], {
23305 selector: styleRule.selector
23306 });
23307 }
23308
23309 delete style[prop];
23310 }
23311
23312 return style;
23313 }
23314
23315 return {
23316 onProcessStyle: onProcessStyle
23317 };
23318 }
23319
23320 /* harmony default export */ var jss_plugin_nested_esm = (jssNested);
23321
23322 ;// CONCATENATED MODULE: ./node_modules/jss-plugin-compose/dist/jss-plugin-compose.esm.js
23323
23324
23325 /**
23326 * Set selector.
23327 *
23328 * @param {Object} original rule
23329 * @param {String} className class string
23330 * @return {Boolean} flag, indicating function was successfull or not
23331 */
23332 function registerClass(rule, className) {
23333 // Skip falsy values
23334 if (!className) return true; // Support array of class names `{composes: ['foo', 'bar']}`
23335
23336 if (Array.isArray(className)) {
23337 for (var index = 0; index < className.length; index++) {
23338 var isSetted = registerClass(rule, className[index]);
23339 if (!isSetted) return false;
23340 }
23341
23342 return true;
23343 } // Support space separated class names `{composes: 'foo bar'}`
23344
23345
23346 if (className.indexOf(' ') > -1) {
23347 return registerClass(rule, className.split(' '));
23348 }
23349
23350 var _ref = rule.options,
23351 parent = _ref.parent; // It is a ref to a local rule.
23352
23353 if (className[0] === '$') {
23354 var refRule = parent.getRule(className.substr(1));
23355
23356 if (!refRule) {
23357 false ? 0 : void 0;
23358 return false;
23359 }
23360
23361 if (refRule === rule) {
23362 false ? 0 : void 0;
23363 return false;
23364 }
23365
23366 parent.classes[rule.key] += " " + parent.classes[refRule.key];
23367 return true;
23368 }
23369
23370 parent.classes[rule.key] += " " + className;
23371 return true;
23372 }
23373 /**
23374 * Convert compose property to additional class, remove property from original styles.
23375 *
23376 * @param {Rule} rule
23377 * @api public
23378 */
23379
23380
23381 function jssCompose() {
23382 function onProcessStyle(style, rule) {
23383 if (!('composes' in style)) return style;
23384 registerClass(rule, style.composes); // Remove composes property to prevent infinite loop.
23385
23386 delete style.composes;
23387 return style;
23388 }
23389
23390 return {
23391 onProcessStyle: onProcessStyle
23392 };
23393 }
23394
23395 /* harmony default export */ var jss_plugin_compose_esm = (jssCompose);
23396
23397 ;// CONCATENATED MODULE: ./node_modules/hyphenate-style-name/index.js
23398 /* eslint-disable no-var, prefer-template */
23399 var uppercasePattern = /[A-Z]/g
23400 var msPattern = /^ms-/
23401 var hyphenate_style_name_cache = {}
23402
23403 function toHyphenLower(match) {
23404 return '-' + match.toLowerCase()
23405 }
23406
23407 function hyphenateStyleName(name) {
23408 if (hyphenate_style_name_cache.hasOwnProperty(name)) {
23409 return hyphenate_style_name_cache[name]
23410 }
23411
23412 var hName = name.replace(uppercasePattern, toHyphenLower)
23413 return (hyphenate_style_name_cache[name] = msPattern.test(hName) ? '-' + hName : hName)
23414 }
23415
23416 /* harmony default export */ var hyphenate_style_name = (hyphenateStyleName);
23417
23418 ;// CONCATENATED MODULE: ./node_modules/jss-plugin-camel-case/dist/jss-plugin-camel-case.esm.js
23419
23420
23421 /**
23422 * Convert camel cased property names to dash separated.
23423 *
23424 * @param {Object} style
23425 * @return {Object}
23426 */
23427
23428 function convertCase(style) {
23429 var converted = {};
23430
23431 for (var prop in style) {
23432 var key = prop.indexOf('--') === 0 ? prop : hyphenate_style_name(prop);
23433 converted[key] = style[prop];
23434 }
23435
23436 if (style.fallbacks) {
23437 if (Array.isArray(style.fallbacks)) converted.fallbacks = style.fallbacks.map(convertCase);else converted.fallbacks = convertCase(style.fallbacks);
23438 }
23439
23440 return converted;
23441 }
23442 /**
23443 * Allow camel cased property names by converting them back to dasherized.
23444 *
23445 * @param {Rule} rule
23446 */
23447
23448
23449 function camelCase() {
23450 function onProcessStyle(style) {
23451 if (Array.isArray(style)) {
23452 // Handle rules like @font-face, which can have multiple styles in an array
23453 for (var index = 0; index < style.length; index++) {
23454 style[index] = convertCase(style[index]);
23455 }
23456
23457 return style;
23458 }
23459
23460 return convertCase(style);
23461 }
23462
23463 function onChangeValue(value, prop, rule) {
23464 if (prop.indexOf('--') === 0) {
23465 return value;
23466 }
23467
23468 var hyphenatedProp = hyphenate_style_name(prop); // There was no camel case in place
23469
23470 if (prop === hyphenatedProp) return value;
23471 rule.prop(hyphenatedProp, value); // Core will ignore that property value we set the proper one above.
23472
23473 return null;
23474 }
23475
23476 return {
23477 onProcessStyle: onProcessStyle,
23478 onChangeValue: onChangeValue
23479 };
23480 }
23481
23482 /* harmony default export */ var jss_plugin_camel_case_esm = (camelCase);
23483
23484 ;// CONCATENATED MODULE: ./node_modules/jss-plugin-default-unit/dist/jss-plugin-default-unit.esm.js
23485
23486
23487 var px = hasCSSTOMSupport && CSS ? CSS.px : 'px';
23488 var ms = hasCSSTOMSupport && CSS ? CSS.ms : 'ms';
23489 var percent = hasCSSTOMSupport && CSS ? CSS.percent : '%';
23490 /**
23491 * Generated jss-plugin-default-unit CSS property units
23492 *
23493 * @type object
23494 */
23495
23496 var defaultUnits = {
23497 // Animation properties
23498 'animation-delay': ms,
23499 'animation-duration': ms,
23500 // Background properties
23501 'background-position': px,
23502 'background-position-x': px,
23503 'background-position-y': px,
23504 'background-size': px,
23505 // Border Properties
23506 border: px,
23507 'border-bottom': px,
23508 'border-bottom-left-radius': px,
23509 'border-bottom-right-radius': px,
23510 'border-bottom-width': px,
23511 'border-left': px,
23512 'border-left-width': px,
23513 'border-radius': px,
23514 'border-right': px,
23515 'border-right-width': px,
23516 'border-top': px,
23517 'border-top-left-radius': px,
23518 'border-top-right-radius': px,
23519 'border-top-width': px,
23520 'border-width': px,
23521 'border-block': px,
23522 'border-block-end': px,
23523 'border-block-end-width': px,
23524 'border-block-start': px,
23525 'border-block-start-width': px,
23526 'border-block-width': px,
23527 'border-inline': px,
23528 'border-inline-end': px,
23529 'border-inline-end-width': px,
23530 'border-inline-start': px,
23531 'border-inline-start-width': px,
23532 'border-inline-width': px,
23533 'border-start-start-radius': px,
23534 'border-start-end-radius': px,
23535 'border-end-start-radius': px,
23536 'border-end-end-radius': px,
23537 // Margin properties
23538 margin: px,
23539 'margin-bottom': px,
23540 'margin-left': px,
23541 'margin-right': px,
23542 'margin-top': px,
23543 'margin-block': px,
23544 'margin-block-end': px,
23545 'margin-block-start': px,
23546 'margin-inline': px,
23547 'margin-inline-end': px,
23548 'margin-inline-start': px,
23549 // Padding properties
23550 padding: px,
23551 'padding-bottom': px,
23552 'padding-left': px,
23553 'padding-right': px,
23554 'padding-top': px,
23555 'padding-block': px,
23556 'padding-block-end': px,
23557 'padding-block-start': px,
23558 'padding-inline': px,
23559 'padding-inline-end': px,
23560 'padding-inline-start': px,
23561 // Mask properties
23562 'mask-position-x': px,
23563 'mask-position-y': px,
23564 'mask-size': px,
23565 // Width and height properties
23566 height: px,
23567 width: px,
23568 'min-height': px,
23569 'max-height': px,
23570 'min-width': px,
23571 'max-width': px,
23572 // Position properties
23573 bottom: px,
23574 left: px,
23575 top: px,
23576 right: px,
23577 inset: px,
23578 'inset-block': px,
23579 'inset-block-end': px,
23580 'inset-block-start': px,
23581 'inset-inline': px,
23582 'inset-inline-end': px,
23583 'inset-inline-start': px,
23584 // Shadow properties
23585 'box-shadow': px,
23586 'text-shadow': px,
23587 // Column properties
23588 'column-gap': px,
23589 'column-rule': px,
23590 'column-rule-width': px,
23591 'column-width': px,
23592 // Font and text properties
23593 'font-size': px,
23594 'font-size-delta': px,
23595 'letter-spacing': px,
23596 'text-decoration-thickness': px,
23597 'text-indent': px,
23598 'text-stroke': px,
23599 'text-stroke-width': px,
23600 'word-spacing': px,
23601 // Motion properties
23602 motion: px,
23603 'motion-offset': px,
23604 // Outline properties
23605 outline: px,
23606 'outline-offset': px,
23607 'outline-width': px,
23608 // Perspective properties
23609 perspective: px,
23610 'perspective-origin-x': percent,
23611 'perspective-origin-y': percent,
23612 // Transform properties
23613 'transform-origin': percent,
23614 'transform-origin-x': percent,
23615 'transform-origin-y': percent,
23616 'transform-origin-z': percent,
23617 // Transition properties
23618 'transition-delay': ms,
23619 'transition-duration': ms,
23620 // Alignment properties
23621 'vertical-align': px,
23622 'flex-basis': px,
23623 // Some random properties
23624 'shape-margin': px,
23625 size: px,
23626 gap: px,
23627 // Grid properties
23628 grid: px,
23629 'grid-gap': px,
23630 'row-gap': px,
23631 'grid-row-gap': px,
23632 'grid-column-gap': px,
23633 'grid-template-rows': px,
23634 'grid-template-columns': px,
23635 'grid-auto-rows': px,
23636 'grid-auto-columns': px,
23637 // Not existing properties.
23638 // Used to avoid issues with jss-plugin-expand integration.
23639 'box-shadow-x': px,
23640 'box-shadow-y': px,
23641 'box-shadow-blur': px,
23642 'box-shadow-spread': px,
23643 'font-line-height': px,
23644 'text-shadow-x': px,
23645 'text-shadow-y': px,
23646 'text-shadow-blur': px
23647 };
23648
23649 /**
23650 * Clones the object and adds a camel cased property version.
23651 */
23652 function addCamelCasedVersion(obj) {
23653 var regExp = /(-[a-z])/g;
23654
23655 var replace = function replace(str) {
23656 return str[1].toUpperCase();
23657 };
23658
23659 var newObj = {};
23660
23661 for (var _key in obj) {
23662 newObj[_key] = obj[_key];
23663 newObj[_key.replace(regExp, replace)] = obj[_key];
23664 }
23665
23666 return newObj;
23667 }
23668
23669 var units = addCamelCasedVersion(defaultUnits);
23670 /**
23671 * Recursive deep style passing function
23672 */
23673
23674 function iterate(prop, value, options) {
23675 if (value == null) return value;
23676
23677 if (Array.isArray(value)) {
23678 for (var i = 0; i < value.length; i++) {
23679 value[i] = iterate(prop, value[i], options);
23680 }
23681 } else if (typeof value === 'object') {
23682 if (prop === 'fallbacks') {
23683 for (var innerProp in value) {
23684 value[innerProp] = iterate(innerProp, value[innerProp], options);
23685 }
23686 } else {
23687 for (var _innerProp in value) {
23688 value[_innerProp] = iterate(prop + "-" + _innerProp, value[_innerProp], options);
23689 }
23690 } // eslint-disable-next-line no-restricted-globals
23691
23692 } else if (typeof value === 'number' && isNaN(value) === false) {
23693 var unit = options[prop] || units[prop]; // Add the unit if available, except for the special case of 0px.
23694
23695 if (unit && !(value === 0 && unit === px)) {
23696 return typeof unit === 'function' ? unit(value).toString() : "" + value + unit;
23697 }
23698
23699 return value.toString();
23700 }
23701
23702 return value;
23703 }
23704 /**
23705 * Add unit to numeric values.
23706 */
23707
23708
23709 function defaultUnit(options) {
23710 if (options === void 0) {
23711 options = {};
23712 }
23713
23714 var camelCasedOptions = addCamelCasedVersion(options);
23715
23716 function onProcessStyle(style, rule) {
23717 if (rule.type !== 'style') return style;
23718
23719 for (var prop in style) {
23720 style[prop] = iterate(prop, style[prop], camelCasedOptions);
23721 }
23722
23723 return style;
23724 }
23725
23726 function onChangeValue(value, prop) {
23727 return iterate(prop, value, camelCasedOptions);
23728 }
23729
23730 return {
23731 onProcessStyle: onProcessStyle,
23732 onChangeValue: onChangeValue
23733 };
23734 }
23735
23736 /* harmony default export */ var jss_plugin_default_unit_esm = (defaultUnit);
23737
23738 ;// CONCATENATED MODULE: ./node_modules/jss-plugin-expand/dist/jss-plugin-expand.esm.js
23739 /**
23740 * A scheme for converting properties from array to regular style.
23741 * All properties listed below will be transformed to a string separated by space.
23742 */
23743 var propArray = {
23744 'background-size': true,
23745 'background-position': true,
23746 border: true,
23747 'border-bottom': true,
23748 'border-left': true,
23749 'border-top': true,
23750 'border-right': true,
23751 'border-radius': true,
23752 'border-image': true,
23753 'border-width': true,
23754 'border-style': true,
23755 'border-color': true,
23756 'box-shadow': true,
23757 flex: true,
23758 margin: true,
23759 padding: true,
23760 outline: true,
23761 'transform-origin': true,
23762 transform: true,
23763 transition: true
23764 /**
23765 * A scheme for converting arrays to regular styles inside of objects.
23766 * For e.g.: "{position: [0, 0]}" => "background-position: 0 0;".
23767 */
23768
23769 };
23770 var propArrayInObj = {
23771 position: true,
23772 // background-position
23773 size: true // background-size
23774
23775 /**
23776 * A scheme for parsing and building correct styles from passed objects.
23777 */
23778
23779 };
23780 var propObj = {
23781 padding: {
23782 top: 0,
23783 right: 0,
23784 bottom: 0,
23785 left: 0
23786 },
23787 margin: {
23788 top: 0,
23789 right: 0,
23790 bottom: 0,
23791 left: 0
23792 },
23793 background: {
23794 attachment: null,
23795 color: null,
23796 image: null,
23797 position: null,
23798 repeat: null
23799 },
23800 border: {
23801 width: null,
23802 style: null,
23803 color: null
23804 },
23805 'border-top': {
23806 width: null,
23807 style: null,
23808 color: null
23809 },
23810 'border-right': {
23811 width: null,
23812 style: null,
23813 color: null
23814 },
23815 'border-bottom': {
23816 width: null,
23817 style: null,
23818 color: null
23819 },
23820 'border-left': {
23821 width: null,
23822 style: null,
23823 color: null
23824 },
23825 outline: {
23826 width: null,
23827 style: null,
23828 color: null
23829 },
23830 'list-style': {
23831 type: null,
23832 position: null,
23833 image: null
23834 },
23835 transition: {
23836 property: null,
23837 duration: null,
23838 'timing-function': null,
23839 timingFunction: null,
23840 // Needed for avoiding comilation issues with jss-plugin-camel-case
23841 delay: null
23842 },
23843 animation: {
23844 name: null,
23845 duration: null,
23846 'timing-function': null,
23847 timingFunction: null,
23848 // Needed to avoid compilation issues with jss-plugin-camel-case
23849 delay: null,
23850 'iteration-count': null,
23851 iterationCount: null,
23852 // Needed to avoid compilation issues with jss-plugin-camel-case
23853 direction: null,
23854 'fill-mode': null,
23855 fillMode: null,
23856 // Needed to avoid compilation issues with jss-plugin-camel-case
23857 'play-state': null,
23858 playState: null // Needed to avoid compilation issues with jss-plugin-camel-case
23859
23860 },
23861 'box-shadow': {
23862 x: 0,
23863 y: 0,
23864 blur: 0,
23865 spread: 0,
23866 color: null,
23867 inset: null
23868 },
23869 'text-shadow': {
23870 x: 0,
23871 y: 0,
23872 blur: null,
23873 color: null
23874 }
23875 /**
23876 * A scheme for converting non-standart properties inside object.
23877 * For e.g.: include 'border-radius' property inside 'border' object.
23878 */
23879
23880 };
23881 var customPropObj = {
23882 border: {
23883 radius: 'border-radius',
23884 image: 'border-image',
23885 width: 'border-width',
23886 style: 'border-style',
23887 color: 'border-color'
23888 },
23889 'border-bottom': {
23890 width: 'border-bottom-width',
23891 style: 'border-bottom-style',
23892 color: 'border-bottom-color'
23893 },
23894 'border-top': {
23895 width: 'border-top-width',
23896 style: 'border-top-style',
23897 color: 'border-top-color'
23898 },
23899 'border-left': {
23900 width: 'border-left-width',
23901 style: 'border-left-style',
23902 color: 'border-left-color'
23903 },
23904 'border-right': {
23905 width: 'border-right-width',
23906 style: 'border-right-style',
23907 color: 'border-right-color'
23908 },
23909 background: {
23910 size: 'background-size',
23911 image: 'background-image'
23912 },
23913 font: {
23914 style: 'font-style',
23915 variant: 'font-variant',
23916 weight: 'font-weight',
23917 stretch: 'font-stretch',
23918 size: 'font-size',
23919 family: 'font-family',
23920 lineHeight: 'line-height',
23921 // Needed to avoid compilation issues with jss-plugin-camel-case
23922 'line-height': 'line-height'
23923 },
23924 flex: {
23925 grow: 'flex-grow',
23926 basis: 'flex-basis',
23927 direction: 'flex-direction',
23928 wrap: 'flex-wrap',
23929 flow: 'flex-flow',
23930 shrink: 'flex-shrink'
23931 },
23932 align: {
23933 self: 'align-self',
23934 items: 'align-items',
23935 content: 'align-content'
23936 },
23937 grid: {
23938 'template-columns': 'grid-template-columns',
23939 templateColumns: 'grid-template-columns',
23940 'template-rows': 'grid-template-rows',
23941 templateRows: 'grid-template-rows',
23942 'template-areas': 'grid-template-areas',
23943 templateAreas: 'grid-template-areas',
23944 template: 'grid-template',
23945 'auto-columns': 'grid-auto-columns',
23946 autoColumns: 'grid-auto-columns',
23947 'auto-rows': 'grid-auto-rows',
23948 autoRows: 'grid-auto-rows',
23949 'auto-flow': 'grid-auto-flow',
23950 autoFlow: 'grid-auto-flow',
23951 row: 'grid-row',
23952 column: 'grid-column',
23953 'row-start': 'grid-row-start',
23954 rowStart: 'grid-row-start',
23955 'row-end': 'grid-row-end',
23956 rowEnd: 'grid-row-end',
23957 'column-start': 'grid-column-start',
23958 columnStart: 'grid-column-start',
23959 'column-end': 'grid-column-end',
23960 columnEnd: 'grid-column-end',
23961 area: 'grid-area',
23962 gap: 'grid-gap',
23963 'row-gap': 'grid-row-gap',
23964 rowGap: 'grid-row-gap',
23965 'column-gap': 'grid-column-gap',
23966 columnGap: 'grid-column-gap'
23967 }
23968 };
23969
23970 /* eslint-disable no-use-before-define */
23971
23972 /**
23973 * Map values by given prop.
23974 *
23975 * @param {Array} array of values
23976 * @param {String} original property
23977 * @param {String} original rule
23978 * @return {String} mapped values
23979 */
23980 function mapValuesByProp(value, prop, rule) {
23981 return value.map(function (item) {
23982 return objectToArray(item, prop, rule, false, true);
23983 });
23984 }
23985 /**
23986 * Convert array to nested array, if needed
23987 */
23988
23989
23990 function processArray(value, prop, scheme, rule) {
23991 if (scheme[prop] == null) return value;
23992 if (value.length === 0) return [];
23993 if (Array.isArray(value[0])) return processArray(value[0], prop, scheme, rule);
23994
23995 if (typeof value[0] === 'object') {
23996 return mapValuesByProp(value, prop, rule);
23997 }
23998
23999 return [value];
24000 }
24001 /**
24002 * Convert object to array.
24003 */
24004
24005
24006 function objectToArray(value, prop, rule, isFallback, isInArray) {
24007 if (!(propObj[prop] || customPropObj[prop])) return [];
24008 var result = []; // Check if exists any non-standard property
24009
24010 if (customPropObj[prop]) {
24011 // eslint-disable-next-line no-param-reassign
24012 value = customPropsToStyle(value, rule, customPropObj[prop], isFallback);
24013 } // Pass throught all standart props
24014
24015
24016 if (Object.keys(value).length) {
24017 for (var baseProp in propObj[prop]) {
24018 if (value[baseProp]) {
24019 if (Array.isArray(value[baseProp])) {
24020 result.push(propArrayInObj[baseProp] === null ? value[baseProp] : value[baseProp].join(' '));
24021 } else result.push(value[baseProp]);
24022
24023 continue;
24024 } // Add default value from props config.
24025
24026
24027 if (propObj[prop][baseProp] != null) {
24028 result.push(propObj[prop][baseProp]);
24029 }
24030 }
24031 }
24032
24033 if (!result.length || isInArray) return result;
24034 return [result];
24035 }
24036 /**
24037 * Convert custom properties values to styles adding them to rule directly
24038 */
24039
24040
24041 function customPropsToStyle(value, rule, customProps, isFallback) {
24042 for (var prop in customProps) {
24043 var propName = customProps[prop]; // If current property doesn't exist already in rule - add new one
24044
24045 if (typeof value[prop] !== 'undefined' && (isFallback || !rule.prop(propName))) {
24046 var _styleDetector;
24047
24048 var appendedValue = styleDetector((_styleDetector = {}, _styleDetector[propName] = value[prop], _styleDetector), rule)[propName]; // Add style directly in rule
24049
24050 if (isFallback) rule.style.fallbacks[propName] = appendedValue;else rule.style[propName] = appendedValue;
24051 } // Delete converted property to avoid double converting
24052
24053
24054 delete value[prop];
24055 }
24056
24057 return value;
24058 }
24059 /**
24060 * Detect if a style needs to be converted.
24061 */
24062
24063
24064 function styleDetector(style, rule, isFallback) {
24065 for (var prop in style) {
24066 var value = style[prop];
24067
24068 if (Array.isArray(value)) {
24069 // Check double arrays to avoid recursion.
24070 if (!Array.isArray(value[0])) {
24071 if (prop === 'fallbacks') {
24072 for (var index = 0; index < style.fallbacks.length; index++) {
24073 style.fallbacks[index] = styleDetector(style.fallbacks[index], rule, true);
24074 }
24075
24076 continue;
24077 }
24078
24079 style[prop] = processArray(value, prop, propArray, rule); // Avoid creating properties with empty values
24080
24081 if (!style[prop].length) delete style[prop];
24082 }
24083 } else if (typeof value === 'object') {
24084 if (prop === 'fallbacks') {
24085 style.fallbacks = styleDetector(style.fallbacks, rule, true);
24086 continue;
24087 }
24088
24089 style[prop] = objectToArray(value, prop, rule, isFallback); // Avoid creating properties with empty values
24090
24091 if (!style[prop].length) delete style[prop];
24092 } // Maybe a computed value resulting in an empty string
24093 else if (style[prop] === '') delete style[prop];
24094 }
24095
24096 return style;
24097 }
24098 /**
24099 * Adds possibility to write expanded styles.
24100 */
24101
24102
24103 function jssExpand() {
24104 function onProcessStyle(style, rule) {
24105 if (!style || rule.type !== 'style') return style;
24106
24107 if (Array.isArray(style)) {
24108 // Pass rules one by one and reformat them
24109 for (var index = 0; index < style.length; index++) {
24110 style[index] = styleDetector(style[index], rule);
24111 }
24112
24113 return style;
24114 }
24115
24116 return styleDetector(style, rule);
24117 }
24118
24119 return {
24120 onProcessStyle: onProcessStyle
24121 };
24122 }
24123
24124 /* harmony default export */ var jss_plugin_expand_esm = (jssExpand);
24125
24126 ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
24127 function arrayLikeToArray_arrayLikeToArray(arr, len) {
24128 if (len == null || len > arr.length) len = arr.length;
24129
24130 for (var i = 0, arr2 = new Array(len); i < len; i++) {
24131 arr2[i] = arr[i];
24132 }
24133
24134 return arr2;
24135 }
24136 ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
24137
24138 function arrayWithoutHoles_arrayWithoutHoles(arr) {
24139 if (Array.isArray(arr)) return arrayLikeToArray_arrayLikeToArray(arr);
24140 }
24141 ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
24142 function iterableToArray_iterableToArray(iter) {
24143 if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
24144 }
24145 ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
24146
24147 function unsupportedIterableToArray_unsupportedIterableToArray(o, minLen) {
24148 if (!o) return;
24149 if (typeof o === "string") return arrayLikeToArray_arrayLikeToArray(o, minLen);
24150 var n = Object.prototype.toString.call(o).slice(8, -1);
24151 if (n === "Object" && o.constructor) n = o.constructor.name;
24152 if (n === "Map" || n === "Set") return Array.from(o);
24153 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray_arrayLikeToArray(o, minLen);
24154 }
24155 ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
24156 function nonIterableSpread_nonIterableSpread() {
24157 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
24158 }
24159 ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
24160
24161
24162
24163
24164 function toConsumableArray_toConsumableArray(arr) {
24165 return arrayWithoutHoles_arrayWithoutHoles(arr) || iterableToArray_iterableToArray(arr) || unsupportedIterableToArray_unsupportedIterableToArray(arr) || nonIterableSpread_nonIterableSpread();
24166 }
24167 ;// CONCATENATED MODULE: ./node_modules/css-vendor/dist/css-vendor.esm.js
24168
24169
24170
24171 // Export javascript style and css style vendor prefixes.
24172 var js = '';
24173 var css = '';
24174 var vendor = '';
24175 var css_vendor_esm_browser = '';
24176 var isTouch = dist_module && 'ontouchstart' in document.documentElement; // We should not do anything if required serverside.
24177
24178 if (dist_module) {
24179 // Order matters. We need to check Webkit the last one because
24180 // other vendors use to add Webkit prefixes to some properties
24181 var jsCssMap = {
24182 Moz: '-moz-',
24183 ms: '-ms-',
24184 O: '-o-',
24185 Webkit: '-webkit-'
24186 };
24187
24188 var _document$createEleme = document.createElement('p'),
24189 style = _document$createEleme.style;
24190
24191 var testProp = 'Transform';
24192
24193 for (var key in jsCssMap) {
24194 if (key + testProp in style) {
24195 js = key;
24196 css = jsCssMap[key];
24197 break;
24198 }
24199 } // Correctly detect the Edge browser.
24200
24201
24202 if (js === 'Webkit' && 'msHyphens' in style) {
24203 js = 'ms';
24204 css = jsCssMap.ms;
24205 css_vendor_esm_browser = 'edge';
24206 } // Correctly detect the Safari browser.
24207
24208
24209 if (js === 'Webkit' && '-apple-trailing-word' in style) {
24210 vendor = 'apple';
24211 }
24212 }
24213 /**
24214 * Vendor prefix string for the current browser.
24215 *
24216 * @type {{js: String, css: String, vendor: String, browser: String}}
24217 * @api public
24218 */
24219
24220
24221 var prefix = {
24222 js: js,
24223 css: css,
24224 vendor: vendor,
24225 browser: css_vendor_esm_browser,
24226 isTouch: isTouch
24227 };
24228
24229 /**
24230 * Test if a keyframe at-rule should be prefixed or not
24231 *
24232 * @param {String} vendor prefix string for the current browser.
24233 * @return {String}
24234 * @api public
24235 */
24236
24237 function supportedKeyframes(key) {
24238 // Keyframes is already prefixed. e.g. key = '@-webkit-keyframes a'
24239 if (key[1] === '-') return key; // No need to prefix IE/Edge. Older browsers will ignore unsupported rules.
24240 // https://caniuse.com/#search=keyframes
24241
24242 if (prefix.js === 'ms') return key;
24243 return "@" + prefix.css + "keyframes" + key.substr(10);
24244 }
24245
24246 // https://caniuse.com/#search=appearance
24247
24248 var appearence = {
24249 noPrefill: ['appearance'],
24250 supportedProperty: function supportedProperty(prop) {
24251 if (prop !== 'appearance') return false;
24252 if (prefix.js === 'ms') return "-webkit-" + prop;
24253 return prefix.css + prop;
24254 }
24255 };
24256
24257 // https://caniuse.com/#search=color-adjust
24258
24259 var colorAdjust = {
24260 noPrefill: ['color-adjust'],
24261 supportedProperty: function supportedProperty(prop) {
24262 if (prop !== 'color-adjust') return false;
24263 if (prefix.js === 'Webkit') return prefix.css + "print-" + prop;
24264 return prop;
24265 }
24266 };
24267
24268 var regExp = /[-\s]+(.)?/g;
24269 /**
24270 * Replaces the letter with the capital letter
24271 *
24272 * @param {String} match
24273 * @param {String} c
24274 * @return {String}
24275 * @api private
24276 */
24277
24278 function toUpper(match, c) {
24279 return c ? c.toUpperCase() : '';
24280 }
24281 /**
24282 * Convert dash separated strings to camel-cased.
24283 *
24284 * @param {String} str
24285 * @return {String}
24286 * @api private
24287 */
24288
24289
24290 function camelize(str) {
24291 return str.replace(regExp, toUpper);
24292 }
24293
24294 /**
24295 * Convert dash separated strings to pascal cased.
24296 *
24297 * @param {String} str
24298 * @return {String}
24299 * @api private
24300 */
24301
24302 function pascalize(str) {
24303 return camelize("-" + str);
24304 }
24305
24306 // but we can use a longhand property instead.
24307 // https://caniuse.com/#search=mask
24308
24309 var mask = {
24310 noPrefill: ['mask'],
24311 supportedProperty: function supportedProperty(prop, style) {
24312 if (!/^mask/.test(prop)) return false;
24313
24314 if (prefix.js === 'Webkit') {
24315 var longhand = 'mask-image';
24316
24317 if (camelize(longhand) in style) {
24318 return prop;
24319 }
24320
24321 if (prefix.js + pascalize(longhand) in style) {
24322 return prefix.css + prop;
24323 }
24324 }
24325
24326 return prop;
24327 }
24328 };
24329
24330 // https://caniuse.com/#search=text-orientation
24331
24332 var textOrientation = {
24333 noPrefill: ['text-orientation'],
24334 supportedProperty: function supportedProperty(prop) {
24335 if (prop !== 'text-orientation') return false;
24336
24337 if (prefix.vendor === 'apple' && !prefix.isTouch) {
24338 return prefix.css + prop;
24339 }
24340
24341 return prop;
24342 }
24343 };
24344
24345 // https://caniuse.com/#search=transform
24346
24347 var transform = {
24348 noPrefill: ['transform'],
24349 supportedProperty: function supportedProperty(prop, style, options) {
24350 if (prop !== 'transform') return false;
24351
24352 if (options.transform) {
24353 return prop;
24354 }
24355
24356 return prefix.css + prop;
24357 }
24358 };
24359
24360 // https://caniuse.com/#search=transition
24361
24362 var transition = {
24363 noPrefill: ['transition'],
24364 supportedProperty: function supportedProperty(prop, style, options) {
24365 if (prop !== 'transition') return false;
24366
24367 if (options.transition) {
24368 return prop;
24369 }
24370
24371 return prefix.css + prop;
24372 }
24373 };
24374
24375 // https://caniuse.com/#search=writing-mode
24376
24377 var writingMode = {
24378 noPrefill: ['writing-mode'],
24379 supportedProperty: function supportedProperty(prop) {
24380 if (prop !== 'writing-mode') return false;
24381
24382 if (prefix.js === 'Webkit' || prefix.js === 'ms' && prefix.browser !== 'edge') {
24383 return prefix.css + prop;
24384 }
24385
24386 return prop;
24387 }
24388 };
24389
24390 // https://caniuse.com/#search=user-select
24391
24392 var userSelect = {
24393 noPrefill: ['user-select'],
24394 supportedProperty: function supportedProperty(prop) {
24395 if (prop !== 'user-select') return false;
24396
24397 if (prefix.js === 'Moz' || prefix.js === 'ms' || prefix.vendor === 'apple') {
24398 return prefix.css + prop;
24399 }
24400
24401 return prop;
24402 }
24403 };
24404
24405 // https://caniuse.com/#search=multicolumn
24406 // https://github.com/postcss/autoprefixer/issues/491
24407 // https://github.com/postcss/autoprefixer/issues/177
24408
24409 var breakPropsOld = {
24410 supportedProperty: function supportedProperty(prop, style) {
24411 if (!/^break-/.test(prop)) return false;
24412
24413 if (prefix.js === 'Webkit') {
24414 var jsProp = "WebkitColumn" + pascalize(prop);
24415 return jsProp in style ? prefix.css + "column-" + prop : false;
24416 }
24417
24418 if (prefix.js === 'Moz') {
24419 var _jsProp = "page" + pascalize(prop);
24420
24421 return _jsProp in style ? "page-" + prop : false;
24422 }
24423
24424 return false;
24425 }
24426 };
24427
24428 // See https://github.com/postcss/autoprefixer/issues/324.
24429
24430 var inlineLogicalOld = {
24431 supportedProperty: function supportedProperty(prop, style) {
24432 if (!/^(border|margin|padding)-inline/.test(prop)) return false;
24433 if (prefix.js === 'Moz') return prop;
24434 var newProp = prop.replace('-inline', '');
24435 return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;
24436 }
24437 };
24438
24439 // Camelization is required because we can't test using.
24440 // CSS syntax for e.g. in FF.
24441
24442 var unprefixed = {
24443 supportedProperty: function supportedProperty(prop, style) {
24444 return camelize(prop) in style ? prop : false;
24445 }
24446 };
24447
24448 var prefixed = {
24449 supportedProperty: function supportedProperty(prop, style) {
24450 var pascalized = pascalize(prop); // Return custom CSS variable without prefixing.
24451
24452 if (prop[0] === '-') return prop; // Return already prefixed value without prefixing.
24453
24454 if (prop[0] === '-' && prop[1] === '-') return prop;
24455 if (prefix.js + pascalized in style) return prefix.css + prop; // Try webkit fallback.
24456
24457 if (prefix.js !== 'Webkit' && "Webkit" + pascalized in style) return "-webkit-" + prop;
24458 return false;
24459 }
24460 };
24461
24462 // https://caniuse.com/#search=scroll-snap
24463
24464 var scrollSnap = {
24465 supportedProperty: function supportedProperty(prop) {
24466 if (prop.substring(0, 11) !== 'scroll-snap') return false;
24467
24468 if (prefix.js === 'ms') {
24469 return "" + prefix.css + prop;
24470 }
24471
24472 return prop;
24473 }
24474 };
24475
24476 // https://caniuse.com/#search=overscroll-behavior
24477
24478 var overscrollBehavior = {
24479 supportedProperty: function supportedProperty(prop) {
24480 if (prop !== 'overscroll-behavior') return false;
24481
24482 if (prefix.js === 'ms') {
24483 return prefix.css + "scroll-chaining";
24484 }
24485
24486 return prop;
24487 }
24488 };
24489
24490 var propMap = {
24491 'flex-grow': 'flex-positive',
24492 'flex-shrink': 'flex-negative',
24493 'flex-basis': 'flex-preferred-size',
24494 'justify-content': 'flex-pack',
24495 order: 'flex-order',
24496 'align-items': 'flex-align',
24497 'align-content': 'flex-line-pack' // 'align-self' is handled by 'align-self' plugin.
24498
24499 }; // Support old flex spec from 2012.
24500
24501 var flex2012 = {
24502 supportedProperty: function supportedProperty(prop, style) {
24503 var newProp = propMap[prop];
24504 if (!newProp) return false;
24505 return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;
24506 }
24507 };
24508
24509 var propMap$1 = {
24510 flex: 'box-flex',
24511 'flex-grow': 'box-flex',
24512 'flex-direction': ['box-orient', 'box-direction'],
24513 order: 'box-ordinal-group',
24514 'align-items': 'box-align',
24515 'flex-flow': ['box-orient', 'box-direction'],
24516 'justify-content': 'box-pack'
24517 };
24518 var propKeys = Object.keys(propMap$1);
24519
24520 var prefixCss = function prefixCss(p) {
24521 return prefix.css + p;
24522 }; // Support old flex spec from 2009.
24523
24524
24525 var flex2009 = {
24526 supportedProperty: function supportedProperty(prop, style, _ref) {
24527 var multiple = _ref.multiple;
24528
24529 if (propKeys.indexOf(prop) > -1) {
24530 var newProp = propMap$1[prop];
24531
24532 if (!Array.isArray(newProp)) {
24533 return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;
24534 }
24535
24536 if (!multiple) return false;
24537
24538 for (var i = 0; i < newProp.length; i++) {
24539 if (!(prefix.js + pascalize(newProp[0]) in style)) {
24540 return false;
24541 }
24542 }
24543
24544 return newProp.map(prefixCss);
24545 }
24546
24547 return false;
24548 }
24549 };
24550
24551 // plugins = [
24552 // ...plugins,
24553 // breakPropsOld,
24554 // inlineLogicalOld,
24555 // unprefixed,
24556 // prefixed,
24557 // scrollSnap,
24558 // flex2012,
24559 // flex2009
24560 // ]
24561 // Plugins without 'noPrefill' value, going last.
24562 // 'flex-*' plugins should be at the bottom.
24563 // 'flex2009' going after 'flex2012'.
24564 // 'prefixed' going after 'unprefixed'
24565
24566 var css_vendor_esm_plugins = [appearence, colorAdjust, mask, textOrientation, transform, transition, writingMode, userSelect, breakPropsOld, inlineLogicalOld, unprefixed, prefixed, scrollSnap, overscrollBehavior, flex2012, flex2009];
24567 var propertyDetectors = css_vendor_esm_plugins.filter(function (p) {
24568 return p.supportedProperty;
24569 }).map(function (p) {
24570 return p.supportedProperty;
24571 });
24572 var noPrefill = css_vendor_esm_plugins.filter(function (p) {
24573 return p.noPrefill;
24574 }).reduce(function (a, p) {
24575 a.push.apply(a, toConsumableArray_toConsumableArray(p.noPrefill));
24576 return a;
24577 }, []);
24578
24579 var el;
24580 var css_vendor_esm_cache = {};
24581
24582 if (dist_module) {
24583 el = document.createElement('p'); // We test every property on vendor prefix requirement.
24584 // Once tested, result is cached. It gives us up to 70% perf boost.
24585 // http://jsperf.com/element-style-object-access-vs-plain-object
24586 //
24587 // Prefill cache with known css properties to reduce amount of
24588 // properties we need to feature test at runtime.
24589 // http://davidwalsh.name/vendor-prefix
24590
24591 var computed = window.getComputedStyle(document.documentElement, '');
24592
24593 for (var key$1 in computed) {
24594 // eslint-disable-next-line no-restricted-globals
24595 if (!isNaN(key$1)) css_vendor_esm_cache[computed[key$1]] = computed[key$1];
24596 } // Properties that cannot be correctly detected using the
24597 // cache prefill method.
24598
24599
24600 noPrefill.forEach(function (x) {
24601 return delete css_vendor_esm_cache[x];
24602 });
24603 }
24604 /**
24605 * Test if a property is supported, returns supported property with vendor
24606 * prefix if required. Returns `false` if not supported.
24607 *
24608 * @param {String} prop dash separated
24609 * @param {Object} [options]
24610 * @return {String|Boolean}
24611 * @api public
24612 */
24613
24614
24615 function supportedProperty(prop, options) {
24616 if (options === void 0) {
24617 options = {};
24618 }
24619
24620 // For server-side rendering.
24621 if (!el) return prop; // Remove cache for benchmark tests or return property from the cache.
24622
24623 if ( true && css_vendor_esm_cache[prop] != null) {
24624 return css_vendor_esm_cache[prop];
24625 } // Check if 'transition' or 'transform' natively supported in browser.
24626
24627
24628 if (prop === 'transition' || prop === 'transform') {
24629 options[prop] = prop in el.style;
24630 } // Find a plugin for current prefix property.
24631
24632
24633 for (var i = 0; i < propertyDetectors.length; i++) {
24634 css_vendor_esm_cache[prop] = propertyDetectors[i](prop, el.style, options); // Break loop, if value found.
24635
24636 if (css_vendor_esm_cache[prop]) break;
24637 } // Reset styles for current property.
24638 // Firefox can even throw an error for invalid properties, e.g., "0".
24639
24640
24641 try {
24642 el.style[prop] = '';
24643 } catch (err) {
24644 return false;
24645 }
24646
24647 return css_vendor_esm_cache[prop];
24648 }
24649
24650 var cache$1 = {};
24651 var transitionProperties = {
24652 transition: 1,
24653 'transition-property': 1,
24654 '-webkit-transition': 1,
24655 '-webkit-transition-property': 1
24656 };
24657 var transPropsRegExp = /(^\s*[\w-]+)|, (\s*[\w-]+)(?![^()]*\))/g;
24658 var el$1;
24659 /**
24660 * Returns prefixed value transition/transform if needed.
24661 *
24662 * @param {String} match
24663 * @param {String} p1
24664 * @param {String} p2
24665 * @return {String}
24666 * @api private
24667 */
24668
24669 function prefixTransitionCallback(match, p1, p2) {
24670 if (p1 === 'var') return 'var';
24671 if (p1 === 'all') return 'all';
24672 if (p2 === 'all') return ', all';
24673 var prefixedValue = p1 ? supportedProperty(p1) : ", " + supportedProperty(p2);
24674 if (!prefixedValue) return p1 || p2;
24675 return prefixedValue;
24676 }
24677
24678 if (dist_module) el$1 = document.createElement('p');
24679 /**
24680 * Returns prefixed value if needed. Returns `false` if value is not supported.
24681 *
24682 * @param {String} property
24683 * @param {String} value
24684 * @return {String|Boolean}
24685 * @api public
24686 */
24687
24688 function supportedValue(property, value) {
24689 // For server-side rendering.
24690 var prefixedValue = value;
24691 if (!el$1 || property === 'content') return value; // It is a string or a number as a string like '1'.
24692 // We want only prefixable values here.
24693 // eslint-disable-next-line no-restricted-globals
24694
24695 if (typeof prefixedValue !== 'string' || !isNaN(parseInt(prefixedValue, 10))) {
24696 return prefixedValue;
24697 } // Create cache key for current value.
24698
24699
24700 var cacheKey = property + prefixedValue; // Remove cache for benchmark tests or return value from cache.
24701
24702 if ( true && cache$1[cacheKey] != null) {
24703 return cache$1[cacheKey];
24704 } // IE can even throw an error in some cases, for e.g. style.content = 'bar'.
24705
24706
24707 try {
24708 // Test value as it is.
24709 el$1.style[property] = prefixedValue;
24710 } catch (err) {
24711 // Return false if value not supported.
24712 cache$1[cacheKey] = false;
24713 return false;
24714 } // If 'transition' or 'transition-property' property.
24715
24716
24717 if (transitionProperties[property]) {
24718 prefixedValue = prefixedValue.replace(transPropsRegExp, prefixTransitionCallback);
24719 } else if (el$1.style[property] === '') {
24720 // Value with a vendor prefix.
24721 prefixedValue = prefix.css + prefixedValue; // Hardcode test to convert "flex" to "-ms-flexbox" for IE10.
24722
24723 if (prefixedValue === '-ms-flex') el$1.style[property] = '-ms-flexbox'; // Test prefixed value.
24724
24725 el$1.style[property] = prefixedValue; // Return false if value not supported.
24726
24727 if (el$1.style[property] === '') {
24728 cache$1[cacheKey] = false;
24729 return false;
24730 }
24731 } // Reset styles for current property.
24732
24733
24734 el$1.style[property] = ''; // Write current value to cache.
24735
24736 cache$1[cacheKey] = prefixedValue;
24737 return cache$1[cacheKey];
24738 }
24739
24740
24741
24742 ;// CONCATENATED MODULE: ./node_modules/jss-plugin-vendor-prefixer/dist/jss-plugin-vendor-prefixer.esm.js
24743
24744
24745
24746 /**
24747 * Add vendor prefix to a property name when needed.
24748 *
24749 * @api public
24750 */
24751
24752 function jssVendorPrefixer() {
24753 function onProcessRule(rule) {
24754 if (rule.type === 'keyframes') {
24755 var atRule = rule;
24756 atRule.at = supportedKeyframes(atRule.at);
24757 }
24758 }
24759
24760 function prefixStyle(style) {
24761 for (var prop in style) {
24762 var value = style[prop];
24763
24764 if (prop === 'fallbacks' && Array.isArray(value)) {
24765 style[prop] = value.map(prefixStyle);
24766 continue;
24767 }
24768
24769 var changeProp = false;
24770 var supportedProp = supportedProperty(prop);
24771 if (supportedProp && supportedProp !== prop) changeProp = true;
24772 var changeValue = false;
24773 var supportedValue$1 = supportedValue(supportedProp, toCssValue(value));
24774 if (supportedValue$1 && supportedValue$1 !== value) changeValue = true;
24775
24776 if (changeProp || changeValue) {
24777 if (changeProp) delete style[prop];
24778 style[supportedProp || prop] = supportedValue$1 || value;
24779 }
24780 }
24781
24782 return style;
24783 }
24784
24785 function onProcessStyle(style, rule) {
24786 if (rule.type !== 'style') return style;
24787 return prefixStyle(style);
24788 }
24789
24790 function onChangeValue(value, prop) {
24791 return supportedValue(prop, toCssValue(value)) || value;
24792 }
24793
24794 return {
24795 onProcessRule: onProcessRule,
24796 onProcessStyle: onProcessStyle,
24797 onChangeValue: onChangeValue
24798 };
24799 }
24800
24801 /* harmony default export */ var jss_plugin_vendor_prefixer_esm = (jssVendorPrefixer);
24802
24803 ;// CONCATENATED MODULE: ./node_modules/jss-plugin-props-sort/dist/jss-plugin-props-sort.esm.js
24804 /**
24805 * Sort props by length.
24806 */
24807 function jssPropsSort() {
24808 var sort = function sort(prop0, prop1) {
24809 if (prop0.length === prop1.length) {
24810 return prop0 > prop1 ? 1 : -1;
24811 }
24812
24813 return prop0.length - prop1.length;
24814 };
24815
24816 return {
24817 onProcessStyle: function onProcessStyle(style, rule) {
24818 if (rule.type !== 'style') return style;
24819 var newStyle = {};
24820 var props = Object.keys(style).sort(sort);
24821
24822 for (var i = 0; i < props.length; i++) {
24823 newStyle[props[i]] = style[props[i]];
24824 }
24825
24826 return newStyle;
24827 }
24828 };
24829 }
24830
24831 /* harmony default export */ var jss_plugin_props_sort_esm = (jssPropsSort);
24832
24833 ;// CONCATENATED MODULE: ./node_modules/jss-preset-default/dist/jss-preset-default.esm.js
24834
24835
24836
24837
24838
24839
24840
24841
24842
24843
24844
24845
24846
24847 var jss_preset_default_esm_create = function create(options) {
24848 if (options === void 0) {
24849 options = {};
24850 }
24851
24852 return {
24853 plugins: [jss_plugin_rule_value_function_esm(), jss_plugin_rule_value_observable_esm(options.observable), jss_plugin_template_esm(), jss_plugin_global_esm(), jss_plugin_extend_esm(), jss_plugin_nested_esm(), jss_plugin_compose_esm(), jss_plugin_camel_case_esm(), jss_plugin_default_unit_esm(options.defaultUnit), jss_plugin_expand_esm(), jss_plugin_vendor_prefixer_esm(), jss_plugin_props_sort_esm()]
24854 };
24855 };
24856
24857 /* harmony default export */ var jss_preset_default_esm = (jss_preset_default_esm_create);
24858
24859 // EXTERNAL MODULE: ./node_modules/jss-increase-specificity/index.js
24860 var jss_increase_specificity = __webpack_require__(49674);
24861 var jss_increase_specificity_default = /*#__PURE__*/__webpack_require__.n(jss_increase_specificity);
24862 ;// CONCATENATED MODULE: ./src/js/frontend/Utils/Api.js
24863 function Api_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; }
24864
24865 function Api_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Api_ownKeys(Object(source), true).forEach(function (key) { Api_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Api_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
24866
24867 function Api_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
24868
24869 function Api_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { Api_typeof = function _typeof(obj) { return typeof obj; }; } else { Api_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return Api_typeof(obj); }
24870
24871 function Api_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
24872
24873 function Api_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
24874
24875 function Api_createClass(Constructor, protoProps, staticProps) { if (protoProps) Api_defineProperties(Constructor.prototype, protoProps); if (staticProps) Api_defineProperties(Constructor, staticProps); return Constructor; }
24876
24877 /* global WeakSet */
24878
24879
24880 /**
24881 * Buttonizer API
24882 */
24883
24884 var ButtonizerApi = /*#__PURE__*/function () {
24885 function ButtonizerApi(buttonizer) {
24886 Api_classCallCheck(this, ButtonizerApi);
24887
24888 this.container = buttonizer;
24889 this._isStandAlone = false;
24890 this.allowGoogleAnalyticsTracking = false;
24891 this.debug = [];
24892 } // Debug data
24893
24894
24895 Api_createClass(ButtonizerApi, [{
24896 key: "log",
24897 value: function log() {
24898 this.debug.forEach(function (err) {
24899 console.warn(err);
24900 });
24901 } // Activate Buttonizer stand alone version
24902
24903 }, {
24904 key: "init",
24905 value: function init(id) {
24906 this._isStandAlone = true;
24907 this.container.initStandAlone(id);
24908 } // Is ready
24909
24910 }, {
24911 key: "isReady",
24912 value: function isReady() {} // Is stand alone?
24913
24914 }, {
24915 key: "isStandalone",
24916 value: function isStandalone() {
24917 return this._isStandAlone;
24918 } // In dashboard?
24919
24920 }, {
24921 key: "inPreview",
24922 value: function inPreview() {
24923 return buttonizerInPreview_inPreview();
24924 } // Has premium?
24925
24926 }, {
24927 key: "hasPremium",
24928 value: function hasPremium() {
24929 return this.container.hasPremium();
24930 } // Get group opverview
24931
24932 }, {
24933 key: "groups",
24934 value: function groups() {
24935 var _this = this;
24936
24937 return Object.keys(this.container.groups).map(function (groupId) {
24938 return _this.options(groupId);
24939 });
24940 }
24941 }, {
24942 key: "dump",
24943 value: function dump() {
24944 var getCircularReplacer = function getCircularReplacer() {
24945 var seen = new WeakSet();
24946 return function (_, value) {
24947 if (Api_typeof(value) === "object" && value !== null) {
24948 if (seen.has(value)) {
24949 return "[cyclic ".concat(value.constructor.name, "]").concat(dlv_umd_default()(value, "data.id", false) != null ? ", id: " : "").concat(dlv_umd_default()(value, "data.id", ""));
24950 }
24951
24952 seen.add(value);
24953 }
24954
24955 return value;
24956 };
24957 };
24958
24959 return JSON.stringify(Object.assign({}, this.container.groups), getCircularReplacer(), 2);
24960 } // Open group
24961
24962 }, {
24963 key: "open",
24964 value: function open() {
24965 var _this2 = this;
24966
24967 var groupId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
24968
24969 // Close all groups
24970 if (!groupId) {
24971 Object.keys(this.container.groups).map(function (groupId) {
24972 var group = _this2.options(groupId);
24973
24974 if (group.open) {
24975 group.open();
24976 }
24977 });
24978 } else {
24979 var group = this.options(groupId); // Group exists
24980
24981 if (group.open) {
24982 group.open();
24983 }
24984 }
24985
24986 return true;
24987 } // Close group
24988
24989 }, {
24990 key: "close",
24991 value: function close() {
24992 var _this3 = this;
24993
24994 var groupId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
24995
24996 // Close all groups
24997 if (!groupId) {
24998 Object.keys(this.container.groups).map(function (groupId) {
24999 var group = _this3.options(groupId);
25000
25001 if (group.close) {
25002 group.close();
25003 }
25004 });
25005 } else {
25006 var group = this.options(groupId); // Group exists
25007
25008 if (group.close) {
25009 group.close();
25010 }
25011 }
25012
25013 return true;
25014 } // Toggle group
25015
25016 }, {
25017 key: "toggle",
25018 value: function toggle() {
25019 var _this4 = this;
25020
25021 var groupId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
25022
25023 // toggle all groups
25024 if (!groupId) {
25025 Object.keys(this.container.groups).map(function (groupId) {
25026 var group = _this4.options(groupId);
25027
25028 if (group.toggle) {
25029 group.toggle();
25030 }
25031 });
25032 } else {
25033 var group = this.options(groupId); // Group exists
25034
25035 if (group.toggle) {
25036 group.toggle();
25037 }
25038 }
25039
25040 return true;
25041 } // Group options
25042
25043 }, {
25044 key: "options",
25045 value: function options(groupId) {
25046 var group = dlv_umd_default()(this.container.groups, groupId, null);
25047 var options = {}; // Group not found
25048
25049 if (!group || group === null) {
25050 this.debug.push("Buttonizer: Group ".concat(groupId, " does not exists."));
25051 console.error("Buttonizer: Group ".concat(groupId, " does not exists."));
25052 return null;
25053 }
25054
25055 if (group && group.state) {
25056 options = {
25057 isOpened: function isOpened() {
25058 return group.state.isOpened();
25059 },
25060 toggle: function toggle() {
25061 return group.state.toggle();
25062 },
25063 open: function open() {
25064 return group.state.open();
25065 },
25066 close: function close() {
25067 return group.state.close();
25068 }
25069 };
25070 }
25071
25072 return Api_objectSpread({
25073 id: groupId,
25074 element: group.element
25075 }, options);
25076 }
25077 /**
25078 * activate hook
25079 * @param {string} name of hook to activate.
25080 * different hooks:
25081 * buttonizer_loaded
25082 * buttonizer_initialized
25083 * buttonizer_group_opened
25084 * buttonizer_button_clicked
25085 * @param {*} options
25086 * for group/button hooks, add id
25087 */
25088
25089 }, {
25090 key: "activateHook",
25091 value: function activateHook(name, options) {
25092 window.dispatchEvent(new CustomEvent(name, {
25093 detail: options
25094 }));
25095 }
25096 /**
25097 * subscribe to hook
25098 * @param {string} name
25099 * @param {function} callback
25100 * @param {boolean} once run only once and then remove itself.
25101 * called with event library
25102 */
25103
25104 }, {
25105 key: "addHook",
25106 value: function addHook(name, callback) {
25107 var once = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
25108 window.addEventListener(name, function (e) {
25109 return callback(e.detail);
25110 }, {
25111 once: once
25112 });
25113 }
25114 }, {
25115 key: "removeHook",
25116 value: function removeHook(name, hook) {
25117 window.removeEventListener(name, hook);
25118 }
25119 }]);
25120
25121 return ButtonizerApi;
25122 }();
25123
25124
25125 ;// CONCATENATED MODULE: ./src/js/frontend/Buttonizer.js
25126 function Buttonizer_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
25127
25128 function Buttonizer_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
25129
25130 function Buttonizer_createClass(Constructor, protoProps, staticProps) { if (protoProps) Buttonizer_defineProperties(Constructor.prototype, protoProps); if (staticProps) Buttonizer_defineProperties(Constructor, staticProps); return Constructor; }
25131
25132
25133
25134
25135
25136
25137
25138
25139
25140
25141
25142
25143 var Buttonizer_Buttonizer = /*#__PURE__*/function () {
25144 function Buttonizer() {
25145 Buttonizer_classCallCheck(this, Buttonizer);
25146
25147 // JSX
25148 jss_esm.setup(jss_preset_default_esm()).use(jss_increase_specificity_default()());
25149 var el = document.createElement("style");
25150 el.id = "buttonizer-styling";
25151 document.head.appendChild(el); // Data
25152
25153 this.firstTimeInitialize = true;
25154 this.previewInitialized = false;
25155 this.settingsLoading = false;
25156 this.isInPreviewContainer = false;
25157 this.doNotSkipReloadRequest = false;
25158 this.newestGroupId = null;
25159 this.standAloneId = null;
25160 this.iconLibrary = null;
25161 this.premium = false;
25162 this.groups = [];
25163 this.data = {}; // In preview
25164
25165 if (buttonizerInPreview_inPreview()) {
25166 var stylesheet = document.createElement("style");
25167 stylesheet.innerHTML = "html { margin-top: 0 !important; }";
25168 window.document.head.appendChild(stylesheet);
25169 } // Initialize API
25170
25171
25172 this.api = new ButtonizerApi(this); // Make the API public
25173
25174 window.Buttonizer = this.api; // Start loading buttons
25175
25176 if (typeof buttonizer_ajax !== "undefined") {
25177 this.getSettings();
25178 } // Initialize URL watcher
25179
25180
25181 this.initUrlWatcher();
25182 }
25183 /**
25184 * Watch for URL changes
25185 */
25186
25187
25188 Buttonizer_createClass(Buttonizer, [{
25189 key: "initUrlWatcher",
25190 value: function initUrlWatcher() {
25191 var _this = this;
25192
25193 if (window._buttonizer && window._buttonizer.urlWatcher === false || buttonizerInPreview_inPreview()) return; // Get current URL
25194
25195 function getCurrentUrl() {
25196 return "".concat(document.location.pathname).concat(document.location.search);
25197 } // Check timeout and set current full URL
25198
25199
25200 var currentUrlWatcher = setTimeout(function () {}, 0);
25201 var currentUrl = getCurrentUrl(); // Check for a new URL
25202
25203 var MoveAwayChecker = function MoveAwayChecker() {
25204 // Not a PRO user
25205 // Do not try to reload
25206 if (_this.premium) return; // Clear previous timeout
25207
25208 clearTimeout(currentUrlWatcher); // Create new timeout and check for URL changes
25209
25210 currentUrlWatcher = setTimeout(function () {
25211 if (currentUrl !== getCurrentUrl()) {
25212 currentUrl = getCurrentUrl();
25213
25214 _this.reload();
25215 }
25216 }, 500);
25217 }; // Check for click event
25218
25219
25220 window.addEventListener("click", MoveAwayChecker); // Check for popstate change
25221
25222 window.addEventListener("popstate", MoveAwayChecker);
25223 }
25224 /**
25225 * Load buttonizer from domain
25226 *
25227 * @param {string} id Buttonizer unique site UUID
25228 */
25229
25230 }, {
25231 key: "initStandAlone",
25232 value: function initStandAlone(id) {
25233 var _this2 = this;
25234
25235 if ((typeof window.buttonizer_ajax != "undefined" || typeof window.buttonizer_data != "undefined") && buttonizerInPreview_inPreview()) {
25236 messageButtonizerAdminEditor("standalone_conflict");
25237 return null;
25238 } // Send Buttonizer initializing hook
25239
25240
25241 window.Buttonizer.activateHook("buttonizer_loading"); // Set loading
25242
25243 this.settingsLoading = true; // Set in stand alone
25244
25245 this.standAloneId = id; // Get API path
25246
25247 var apiPath = window.development ? window.development.api : "https://api.buttonizer.pro"; // Send hook
25248
25249 window.Buttonizer.activateHook("buttonizer_get_data_start"); // Import CSS animations
25250
25251 var cssAnimations = document.createElement("link");
25252 cssAnimations.rel = "stylesheet";
25253 cssAnimations.href = "https://cdn.buttonizer.pro/frontend.css";
25254 cssAnimations.type = "text/css";
25255 cssAnimations.id = "buttonizer-animations-css"; // Add to page
25256
25257 document.head.appendChild(cssAnimations); // Send request
25258
25259 lib_axios({
25260 url: "".concat(apiPath, "/serve/").concat(id),
25261 method: "POST",
25262 data: {
25263 preview: buttonizerInPreview_inPreview() ? 1 : 0,
25264 data: {
25265 title: document.title,
25266 path: buttonizerInPreview_inPreview() ? window.previewPath : "".concat(window.location.pathname).concat(window.location.search),
25267 extra: window._buttonizer && window._buttonizer.data ? window._buttonizer.data : undefined
25268 }
25269 }
25270 }) // Success
25271 .then(function (_ref) {
25272 var data = _ref.data;
25273 // Send hook
25274 window.Buttonizer.activateHook("buttonizer_get_data_end", {
25275 data: data
25276 });
25277
25278 _this2.init(data);
25279 })["catch"](function (e) {
25280 _this2.settingsLoading = false;
25281 console.error("Buttonizer: We could not load Buttonizer on your website. Information:");
25282 console.error(e.result && e.result.message ? e.result.message : e);
25283 console.error("Buttonizer: Visit our community if you have any questions https://community.buttonizer.pro/");
25284 });
25285 }
25286 /**
25287 * Get Buttonizer
25288 */
25289
25290 }, {
25291 key: "getSettings",
25292 value: function getSettings() {
25293 var _this3 = this;
25294
25295 window.Buttonizer.activateHook("buttonizer_loading"); // Cool, we already have the data!
25296
25297 if (typeof buttonizer_data !== "undefined") {
25298 this.init(buttonizer_data);
25299 return;
25300 } // Add current url
25301
25302
25303 if (buttonizer_ajax) {
25304 buttonizer_ajax.current.url = document.location.href;
25305 }
25306
25307 this.settingsLoading = true;
25308 window.Buttonizer.activateHook("buttonizer_get_data_start");
25309 lib_axios({
25310 url: buttonizer_ajax && buttonizer_ajax.ajaxurl + "?action=buttonizer",
25311 params: {
25312 qpu: buttonizer_ajax && buttonizer_ajax.is_admin ? Date.now() : buttonizer_ajax && buttonizer_ajax.cache,
25313 preview: buttonizerInPreview_inPreview() ? 1 : 0,
25314 data: buttonizer_ajax && buttonizer_ajax.current
25315 },
25316 paramsSerializer: function paramsSerializer(params) {
25317 return lib_default().stringify(params, {
25318 arrayFormat: "brackets"
25319 });
25320 }
25321 }).then(function (_ref2) {
25322 var data = _ref2.data;
25323 window.Buttonizer.activateHook("buttonizer_get_data_end", {
25324 data: data
25325 });
25326
25327 if (data.status === "success") {
25328 _this3.init(data);
25329 } else {
25330 console.error("Buttonizer: Something went wrong! Buttonizer not loaded", data);
25331 }
25332 })["catch"](function (e) {
25333 _this3.settingsLoading = false;
25334 console.error(e);
25335 console.error("Buttonizer: OH NO! ERROR: '" + e.statusText + "'. That's all we know... Please check your PHP logs or contact Buttonizer support if you need help.");
25336 console.error("Buttonizer: Visit our community on https://community.buttonizer.pro/");
25337 });
25338 }
25339 }, {
25340 key: "init",
25341 value: function init(data) {
25342 var _this4 = this;
25343
25344 // Listen to admin
25345 if (buttonizerInPreview_inPreview() && !this.previewInitialized) {
25346 this.isInPreviewContainer = true;
25347 this.listenToPreview();
25348
25349 window.onerror = function () {
25350 var err = arguments.length <= 4 ? undefined : arguments[4];
25351 messageButtonizerAdminEditor("error", {
25352 name: err.name,
25353 message: err.message,
25354 column: err.column,
25355 line: err.line,
25356 sourceURL: err.sourceURL,
25357 stack: err.stack,
25358 extra: _this4.api.dump()
25359 });
25360 };
25361 } // Reset group keys and data on reload
25362
25363
25364 if (buttonizerInPreview_inPreview()) {
25365 this.data = {}; // Map through results
25366
25367 data.result.map(function (group) {
25368 _this4.data[group.data.id] = group;
25369 });
25370 }
25371 /* webpack-strip-block:removed */
25372 // No buttons
25373
25374
25375 if (data.result.length > 0) {
25376 // Loop through the group(s)
25377 (function () {
25378 /* webpack-strip-block:removed */
25379 _this4.groups = createGroup(data.result[0]);
25380 document.body.appendChild(Object.values(_this4.groups)[0].render());
25381 })(); // Send activate hook
25382
25383
25384 window.Buttonizer.activateHook("buttonizer_loaded", {
25385 groups: this.groups
25386 }); // Set Google Analytics tracking on true
25387
25388 this.api.allowGoogleAnalyticsTracking = true;
25389
25390 if (this.firstTimeInitialize) {
25391 this.buttonizerInitialized();
25392 }
25393 } // Send message to admin panel
25394
25395
25396 if (buttonizerInPreview_inPreview() && this.previewInitialized) {
25397 messageButtonizerAdminEditor("(re)loaded", true);
25398 messageButtonizerAdminEditor("warning", data.warning);
25399 } // In stand alone
25400
25401
25402 if (data.misc && data.misc.icon_lib) {
25403 if (this.iconLibrary === null) {
25404 // Create new icon
25405 var iconLibrary = document.createElement("link");
25406 iconLibrary.rel = "stylesheet";
25407 iconLibrary.href = data.misc.icon_lib.url;
25408 iconLibrary.type = "text/css";
25409 iconLibrary.id = "buttonizer-icon-library-css"; // Add integrity attribute if needed
25410 // if (data.misc.icon_lib.integrity) {
25411 // iconLibrary.integrity = data.misc.icon_lib.integrity;
25412 // }
25413 // Add to page
25414
25415 document.head.appendChild(iconLibrary); // Cache
25416
25417 this.iconLibrary = iconLibrary;
25418 }
25419 } else if (this.iconLibrary !== null) {
25420 this.iconLibrary.remove();
25421 }
25422
25423 this.settingsLoading = false;
25424 }
25425 /**
25426 * Feature to receive messages from the admin buttonizer editor
25427 */
25428
25429 }, {
25430 key: "listenToPreview",
25431 value: function listenToPreview() {
25432 var _this5 = this;
25433
25434 this.previewInitialized = true;
25435 window.addEventListener("message", function (event) {
25436 if (!event.isTrusted || typeof event.data.eventType === "undefined" || event.data.eventType !== "buttonizer") return;
25437 var messageType = event.data.messageType; // Preview data
25438
25439 if (buttonizerInPreview_inPreview() && messageType === "preview-data-update") {
25440 _this5.updateLivePreviewData(event.data.message);
25441 } // Do not skip next full reload request
25442
25443
25444 if (buttonizerInPreview_inPreview() && messageType === "full-reload-required") {
25445 _this5.doNotSkipReloadRequest = true;
25446 console.log("got it!");
25447 } // Do not skip next full reload request
25448
25449
25450 if (buttonizerInPreview_inPreview() && messageType === "toggle-button-group") {
25451 if (event.data.message.action === "open") {
25452 window.Buttonizer.open(event.data.message.groupId);
25453 } else {
25454 window.Buttonizer.close(event.data.message.groupId);
25455 }
25456 } // Fully reload the preview data
25457
25458
25459 if (buttonizerInPreview_inPreview() && messageType === "preview-reload") {
25460 if (_this5.doNotSkipReloadRequest || event.data.message.force === true) {
25461 _this5.doNotSkipReloadRequest = false;
25462 _this5.newestGroupId = event.data.message.newGroupId;
25463
25464 _this5.reload();
25465 }
25466 }
25467 }, false);
25468 }
25469 /**
25470 * Reload Buttonizer
25471 */
25472
25473 }, {
25474 key: "reload",
25475 value: function reload() {
25476 var _this6 = this;
25477
25478 window.Buttonizer.activateHook("buttonizer_reload");
25479
25480 if (this.settingsLoading) {
25481 console.log("[Buttonizer] Request too quick, first finish the previous one");
25482 setTimeout(function () {
25483 return _this6.reload();
25484 }, 500);
25485 return;
25486 }
25487
25488 this.settingsLoading = true;
25489 Object.values(this.groups).forEach(function (group) {
25490 return group.destroy();
25491 }); // Todo: Try to find a better fix for this, why doesn't the group remove itself sometimes?
25492
25493 var findButtonizer = document.querySelectorAll(".buttonizer-group");
25494
25495 for (var b = 0; b < findButtonizer.length; b++) {
25496 findButtonizer[b].remove();
25497 }
25498
25499 setTimeout(function () {
25500 _this6.groups = [];
25501
25502 if (_this6.standAloneId !== null) {
25503 _this6.initStandAlone(_this6.standAloneId);
25504 } else {
25505 _this6.getSettings();
25506 }
25507 }, 50);
25508 }
25509 /**
25510 * Live update property changes
25511 *
25512 * @param {*} param0
25513 */
25514
25515 }, {
25516 key: "updateLivePreviewData",
25517 value: function updateLivePreviewData(_ref3) {
25518 var _this7 = this;
25519
25520 var model = _ref3.model,
25521 id = _ref3.id,
25522 key = _ref3.key,
25523 value = _ref3.value;
25524
25525 if (excludedPropertyRequests.indexOf(key) !== -1) {
25526 this.doNotSkipReloadRequest = true;
25527 return;
25528 }
25529
25530 var groupId = model === "group" ? id : null;
25531
25532 if (model === "group") {
25533 // Cannot find any information, required full reload
25534 if (typeof this.data[id] === "undefined" || typeof this.data[id].data[key] === "undefined") {
25535 this.doNotSkipReloadRequest = true;
25536 return;
25537 } // Delete key
25538
25539
25540 if (value === "unset") {
25541 delete this.data[id].data[key];
25542 } else {
25543 this.data[id].data[key] = value;
25544 } // Destroy group
25545
25546
25547 this.groups[id].destroy(); // Recreate group
25548
25549 this.groups[id] = createGroup(this.data[id])[id];
25550 document.body.appendChild(this.groups[id].render());
25551 window.Buttonizer.activateHook("buttonizer_loaded", {
25552 groups: this.groups
25553 });
25554 } else if (model === "menu_button") {
25555 // Cannot find any information, required full reload
25556 if (typeof this.data[id] === "undefined" || typeof this.data[id].menu_button === "undefined" || typeof this.data[id].menu_button[key] === "undefined") {
25557 this.doNotSkipReloadRequest = true;
25558 return;
25559 } // Delete key
25560
25561
25562 if (value === "unset") {
25563 delete this.data[id].menu_button[key];
25564 } else {
25565 this.data[id].menu_button[key] = value;
25566 } // Destroy group
25567
25568
25569 this.groups[id].destroy(); // Recreate group
25570
25571 this.groups[id] = createGroup(this.data[id])[id];
25572 document.body.appendChild(this.groups[id].render());
25573 window.Buttonizer.activateHook("buttonizer_loaded", {
25574 groups: this.groups
25575 });
25576 } else {
25577 var foundButtonKey = null;
25578 groupId = Object.keys(this.data).find(function (groupObjKey) {
25579 return _this7.data[groupObjKey].buttons.find(function (buttonObj, buttonObjKey) {
25580 if (buttonObj.id === id) {
25581 foundButtonKey = buttonObjKey;
25582 }
25583
25584 return foundButtonKey !== null;
25585 });
25586 }); // Update group
25587
25588 if (groupId && foundButtonKey != null) {
25589 if (value === "unset") {
25590 delete this.data[groupId].buttons[foundButtonKey][key];
25591 } else {
25592 this.data[groupId].buttons[foundButtonKey][key] = value;
25593 } // Destroy group
25594
25595
25596 this.groups[groupId].destroy(); // Recreate group
25597
25598 this.groups[groupId] = createGroup(this.data[groupId])[groupId];
25599 document.body.appendChild(this.groups[groupId].render());
25600 window.Buttonizer.activateHook("buttonizer_loaded", {
25601 groups: this.groups
25602 });
25603 }
25604 }
25605
25606 window.Buttonizer.activateHook("buttonizer_live_update", {
25607 groups: this.groups,
25608 model: model,
25609 groupId: groupId,
25610 buttonId: model === "group" ? null : id,
25611 key: key,
25612 value: value
25613 });
25614 }
25615 }, {
25616 key: "hasPremium",
25617 value: function hasPremium() {
25618 return this.premium;
25619 }
25620 }, {
25621 key: "isStandalone",
25622 value: function isStandalone() {
25623 return this.standAloneId !== null;
25624 }
25625 /**
25626 * Buttonizer is initialized, call function
25627 */
25628
25629 }, {
25630 key: "buttonizerInitialized",
25631 value: function buttonizerInitialized() {
25632 // Execute only once
25633 if (!this.firstTimeInitialize) {
25634 return;
25635 }
25636
25637 window.Buttonizer.activateHook("buttonizer_initialized", {
25638 groups: this.groups
25639 }); //If user is using Messenger and FB is not defined, call parse
25640
25641 if (typeof FB === "undefined" && typeof this.initializedFacebookChat !== "undefined" && !this.isInPreviewContainer) {
25642 console.log("Facebook Messenger is still not initilized: RUN FB.XFBLM.PARSE");
25643
25644 try {
25645 FB.XFBML.parse();
25646 } catch (err) {
25647 console.log("FB is not defined. \n Is your site whitelisted correctly?\n Is your Facebook Messenger ID correct?");
25648 }
25649 } // FB is defined, check if widget is rendered.
25650 else if (typeof this.initializedFacebookChat !== "undefined" && !this.isInPreviewContainer && document.querySelector(".fb-customerchat")) {
25651 if (document.querySelector(".fb-customerchat").querySelector("iframe") === null) {
25652 try {
25653 FB.XFBML.parse();
25654 } catch (err) {
25655 console.log("FB is defined but not rendering Messenger chat. \n Is tracking blocked in your browser?\n Do you have another Facebook SDK on your site?\n \n Error message: ".concat(err));
25656 }
25657 }
25658 }
25659
25660 this.firstTimeInitialize = false;
25661 }
25662 /**
25663 * Is in preview?
25664 *
25665 * @returns {boolean}
25666 */
25667
25668 }, {
25669 key: "inPreview",
25670 value: function inPreview() {
25671 return this.isInPreviewContainer;
25672 }
25673 }]);
25674
25675 return Buttonizer;
25676 }();
25677
25678 new Buttonizer_Buttonizer();
25679 }();
25680 /******/ })()
25681 ;