@ninetailed/experience.js-react 4.0.0-beta.9 → 4.1.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs CHANGED
@@ -41,7 +41,7 @@ var global$d =
41
41
 
42
42
  var objectGetOwnPropertyDescriptor = {};
43
43
 
44
- var fails$d = function (exec) {
44
+ var fails$c = function (exec) {
45
45
  try {
46
46
  return !!exec();
47
47
  } catch (error) {
@@ -49,28 +49,28 @@ var fails$d = function (exec) {
49
49
  }
50
50
  };
51
51
 
52
- var fails$c = fails$d;
52
+ var fails$b = fails$c;
53
53
 
54
54
  // Detect IE8's incomplete defineProperty implementation
55
- var descriptors = !fails$c(function () {
55
+ var descriptors = !fails$b(function () {
56
56
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
57
57
  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
58
58
  });
59
59
 
60
- var fails$b = fails$d;
60
+ var fails$a = fails$c;
61
61
 
62
- var functionBindNative = !fails$b(function () {
62
+ var functionBindNative = !fails$a(function () {
63
63
  // eslint-disable-next-line es/no-function-prototype-bind -- safe
64
64
  var test = (function () { /* empty */ }).bind();
65
65
  // eslint-disable-next-line no-prototype-builtins -- safe
66
66
  return typeof test != 'function' || test.hasOwnProperty('prototype');
67
67
  });
68
68
 
69
- var NATIVE_BIND$2 = functionBindNative;
69
+ var NATIVE_BIND$1 = functionBindNative;
70
70
 
71
71
  var call$6 = Function.prototype.call;
72
72
 
73
- var functionCall = NATIVE_BIND$2 ? call$6.bind(call$6) : function () {
73
+ var functionCall = NATIVE_BIND$1 ? call$6.bind(call$6) : function () {
74
74
  return call$6.apply(call$6, arguments);
75
75
  };
76
76
 
@@ -99,41 +99,41 @@ var createPropertyDescriptor$3 = function (bitmap, value) {
99
99
  };
100
100
  };
101
101
 
102
- var NATIVE_BIND$1 = functionBindNative;
102
+ var NATIVE_BIND = functionBindNative;
103
103
 
104
104
  var FunctionPrototype$1 = Function.prototype;
105
105
  var call$5 = FunctionPrototype$1.call;
106
- var uncurryThisWithBind = NATIVE_BIND$1 && FunctionPrototype$1.bind.bind(call$5, call$5);
106
+ var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype$1.bind.bind(call$5, call$5);
107
107
 
108
- var functionUncurryThis = NATIVE_BIND$1 ? uncurryThisWithBind : function (fn) {
108
+ var functionUncurryThis = NATIVE_BIND ? uncurryThisWithBind : function (fn) {
109
109
  return function () {
110
110
  return call$5.apply(fn, arguments);
111
111
  };
112
112
  };
113
113
 
114
- var uncurryThis$d = functionUncurryThis;
114
+ var uncurryThis$a = functionUncurryThis;
115
115
 
116
- var toString$3 = uncurryThis$d({}.toString);
117
- var stringSlice$1 = uncurryThis$d(''.slice);
116
+ var toString$3 = uncurryThis$a({}.toString);
117
+ var stringSlice$1 = uncurryThis$a(''.slice);
118
118
 
119
- var classofRaw$2 = function (it) {
119
+ var classofRaw$1 = function (it) {
120
120
  return stringSlice$1(toString$3(it), 8, -1);
121
121
  };
122
122
 
123
- var uncurryThis$c = functionUncurryThis;
124
- var fails$a = fails$d;
125
- var classof$5 = classofRaw$2;
123
+ var uncurryThis$9 = functionUncurryThis;
124
+ var fails$9 = fails$c;
125
+ var classof$3 = classofRaw$1;
126
126
 
127
127
  var $Object$4 = Object;
128
- var split = uncurryThis$c(''.split);
128
+ var split = uncurryThis$9(''.split);
129
129
 
130
130
  // fallback for non-array-like ES3 and non-enumerable old V8 strings
131
- var indexedObject = fails$a(function () {
131
+ var indexedObject = fails$9(function () {
132
132
  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
133
133
  // eslint-disable-next-line no-prototype-builtins -- safe
134
134
  return !$Object$4('z').propertyIsEnumerable(0);
135
135
  }) ? function (it) {
136
- return classof$5(it) == 'String' ? split(it, '') : $Object$4(it);
136
+ return classof$3(it) == 'String' ? split(it, '') : $Object$4(it);
137
137
  } : $Object$4;
138
138
 
139
139
  // we can't use just `it == null` since of `document.all` special case
@@ -144,12 +144,12 @@ var isNullOrUndefined$2 = function (it) {
144
144
 
145
145
  var isNullOrUndefined$1 = isNullOrUndefined$2;
146
146
 
147
- var $TypeError$8 = TypeError;
147
+ var $TypeError$7 = TypeError;
148
148
 
149
149
  // `RequireObjectCoercible` abstract operation
150
150
  // https://tc39.es/ecma262/#sec-requireobjectcoercible
151
151
  var requireObjectCoercible$2 = function (it) {
152
- if (isNullOrUndefined$1(it)) throw $TypeError$8("Can't call method on " + it);
152
+ if (isNullOrUndefined$1(it)) throw $TypeError$7("Can't call method on " + it);
153
153
  return it;
154
154
  };
155
155
 
@@ -177,41 +177,41 @@ var documentAll$1 = $documentAll$1.all;
177
177
 
178
178
  // `IsCallable` abstract operation
179
179
  // https://tc39.es/ecma262/#sec-iscallable
180
- var isCallable$h = $documentAll$1.IS_HTMLDDA ? function (argument) {
180
+ var isCallable$g = $documentAll$1.IS_HTMLDDA ? function (argument) {
181
181
  return typeof argument == 'function' || argument === documentAll$1;
182
182
  } : function (argument) {
183
183
  return typeof argument == 'function';
184
184
  };
185
185
 
186
- var isCallable$g = isCallable$h;
186
+ var isCallable$f = isCallable$g;
187
187
  var $documentAll = documentAll_1;
188
188
 
189
189
  var documentAll = $documentAll.all;
190
190
 
191
- var isObject$7 = $documentAll.IS_HTMLDDA ? function (it) {
192
- return typeof it == 'object' ? it !== null : isCallable$g(it) || it === documentAll;
191
+ var isObject$6 = $documentAll.IS_HTMLDDA ? function (it) {
192
+ return typeof it == 'object' ? it !== null : isCallable$f(it) || it === documentAll;
193
193
  } : function (it) {
194
- return typeof it == 'object' ? it !== null : isCallable$g(it);
194
+ return typeof it == 'object' ? it !== null : isCallable$f(it);
195
195
  };
196
196
 
197
197
  var global$c = global$d;
198
- var isCallable$f = isCallable$h;
198
+ var isCallable$e = isCallable$g;
199
199
 
200
200
  var aFunction = function (argument) {
201
- return isCallable$f(argument) ? argument : undefined;
201
+ return isCallable$e(argument) ? argument : undefined;
202
202
  };
203
203
 
204
- var getBuiltIn$5 = function (namespace, method) {
204
+ var getBuiltIn$4 = function (namespace, method) {
205
205
  return arguments.length < 2 ? aFunction(global$c[namespace]) : global$c[namespace] && global$c[namespace][method];
206
206
  };
207
207
 
208
- var uncurryThis$b = functionUncurryThis;
208
+ var uncurryThis$8 = functionUncurryThis;
209
209
 
210
- var objectIsPrototypeOf = uncurryThis$b({}.isPrototypeOf);
210
+ var objectIsPrototypeOf = uncurryThis$8({}.isPrototypeOf);
211
211
 
212
- var getBuiltIn$4 = getBuiltIn$5;
212
+ var getBuiltIn$3 = getBuiltIn$4;
213
213
 
214
- var engineUserAgent = getBuiltIn$4('navigator', 'userAgent') || '';
214
+ var engineUserAgent = getBuiltIn$3('navigator', 'userAgent') || '';
215
215
 
216
216
  var global$b = global$d;
217
217
  var userAgent = engineUserAgent;
@@ -244,10 +244,10 @@ var engineV8Version = version;
244
244
  /* eslint-disable es/no-symbol -- required for testing */
245
245
 
246
246
  var V8_VERSION = engineV8Version;
247
- var fails$9 = fails$d;
247
+ var fails$8 = fails$c;
248
248
 
249
249
  // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
250
- var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$9(function () {
250
+ var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$8(function () {
251
251
  var symbol = Symbol();
252
252
  // Chrome 38 Symbol has incorrect toString conversion
253
253
  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
@@ -264,8 +264,8 @@ var useSymbolAsUid = NATIVE_SYMBOL$2
264
264
  && !Symbol.sham
265
265
  && typeof Symbol.iterator == 'symbol';
266
266
 
267
- var getBuiltIn$3 = getBuiltIn$5;
268
- var isCallable$e = isCallable$h;
267
+ var getBuiltIn$2 = getBuiltIn$4;
268
+ var isCallable$d = isCallable$g;
269
269
  var isPrototypeOf$1 = objectIsPrototypeOf;
270
270
  var USE_SYMBOL_AS_UID$1 = useSymbolAsUid;
271
271
 
@@ -274,8 +274,8 @@ var $Object$3 = Object;
274
274
  var isSymbol$2 = USE_SYMBOL_AS_UID$1 ? function (it) {
275
275
  return typeof it == 'symbol';
276
276
  } : function (it) {
277
- var $Symbol = getBuiltIn$3('Symbol');
278
- return isCallable$e($Symbol) && isPrototypeOf$1($Symbol.prototype, $Object$3(it));
277
+ var $Symbol = getBuiltIn$2('Symbol');
278
+ return isCallable$d($Symbol) && isPrototypeOf$1($Symbol.prototype, $Object$3(it));
279
279
  };
280
280
 
281
281
  var $String$3 = String;
@@ -288,41 +288,41 @@ var tryToString$1 = function (argument) {
288
288
  }
289
289
  };
290
290
 
291
- var isCallable$d = isCallable$h;
291
+ var isCallable$c = isCallable$g;
292
292
  var tryToString = tryToString$1;
293
293
 
294
- var $TypeError$7 = TypeError;
294
+ var $TypeError$6 = TypeError;
295
295
 
296
296
  // `Assert: IsCallable(argument) is true`
297
- var aCallable$3 = function (argument) {
298
- if (isCallable$d(argument)) return argument;
299
- throw $TypeError$7(tryToString(argument) + ' is not a function');
297
+ var aCallable$2 = function (argument) {
298
+ if (isCallable$c(argument)) return argument;
299
+ throw $TypeError$6(tryToString(argument) + ' is not a function');
300
300
  };
301
301
 
302
- var aCallable$2 = aCallable$3;
302
+ var aCallable$1 = aCallable$2;
303
303
  var isNullOrUndefined = isNullOrUndefined$2;
304
304
 
305
305
  // `GetMethod` abstract operation
306
306
  // https://tc39.es/ecma262/#sec-getmethod
307
307
  var getMethod$1 = function (V, P) {
308
308
  var func = V[P];
309
- return isNullOrUndefined(func) ? undefined : aCallable$2(func);
309
+ return isNullOrUndefined(func) ? undefined : aCallable$1(func);
310
310
  };
311
311
 
312
312
  var call$4 = functionCall;
313
- var isCallable$c = isCallable$h;
314
- var isObject$6 = isObject$7;
313
+ var isCallable$b = isCallable$g;
314
+ var isObject$5 = isObject$6;
315
315
 
316
- var $TypeError$6 = TypeError;
316
+ var $TypeError$5 = TypeError;
317
317
 
318
318
  // `OrdinaryToPrimitive` abstract operation
319
319
  // https://tc39.es/ecma262/#sec-ordinarytoprimitive
320
320
  var ordinaryToPrimitive$1 = function (input, pref) {
321
321
  var fn, val;
322
- if (pref === 'string' && isCallable$c(fn = input.toString) && !isObject$6(val = call$4(fn, input))) return val;
323
- if (isCallable$c(fn = input.valueOf) && !isObject$6(val = call$4(fn, input))) return val;
324
- if (pref !== 'string' && isCallable$c(fn = input.toString) && !isObject$6(val = call$4(fn, input))) return val;
325
- throw $TypeError$6("Can't convert object to primitive value");
322
+ if (pref === 'string' && isCallable$b(fn = input.toString) && !isObject$5(val = call$4(fn, input))) return val;
323
+ if (isCallable$b(fn = input.valueOf) && !isObject$5(val = call$4(fn, input))) return val;
324
+ if (pref !== 'string' && isCallable$b(fn = input.toString) && !isObject$5(val = call$4(fn, input))) return val;
325
+ throw $TypeError$5("Can't convert object to primitive value");
326
326
  };
327
327
 
328
328
  var shared$3 = {exports: {}};
@@ -366,27 +366,27 @@ var $Object$2 = Object;
366
366
 
367
367
  // `ToObject` abstract operation
368
368
  // https://tc39.es/ecma262/#sec-toobject
369
- var toObject$5 = function (argument) {
369
+ var toObject$4 = function (argument) {
370
370
  return $Object$2(requireObjectCoercible(argument));
371
371
  };
372
372
 
373
- var uncurryThis$a = functionUncurryThis;
374
- var toObject$4 = toObject$5;
373
+ var uncurryThis$7 = functionUncurryThis;
374
+ var toObject$3 = toObject$4;
375
375
 
376
- var hasOwnProperty = uncurryThis$a({}.hasOwnProperty);
376
+ var hasOwnProperty = uncurryThis$7({}.hasOwnProperty);
377
377
 
378
378
  // `HasOwnProperty` abstract operation
379
379
  // https://tc39.es/ecma262/#sec-hasownproperty
380
380
  // eslint-disable-next-line es/no-object-hasown -- safe
381
381
  var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
382
- return hasOwnProperty(toObject$4(it), key);
382
+ return hasOwnProperty(toObject$3(it), key);
383
383
  };
384
384
 
385
- var uncurryThis$9 = functionUncurryThis;
385
+ var uncurryThis$6 = functionUncurryThis;
386
386
 
387
387
  var id = 0;
388
388
  var postfix = Math.random();
389
- var toString$2 = uncurryThis$9(1.0.toString);
389
+ var toString$2 = uncurryThis$6(1.0.toString);
390
390
 
391
391
  var uid$2 = function (key) {
392
392
  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$2(++id + postfix, 36);
@@ -404,7 +404,7 @@ var Symbol$1 = global$8.Symbol;
404
404
  var symbolFor = Symbol$1 && Symbol$1['for'];
405
405
  var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1;
406
406
 
407
- var wellKnownSymbol$9 = function (name) {
407
+ var wellKnownSymbol$8 = function (name) {
408
408
  if (!hasOwn$9(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL$1 || typeof WellKnownSymbolsStore[name] == 'string')) {
409
409
  var description = 'Symbol.' + name;
410
410
  if (NATIVE_SYMBOL$1 && hasOwn$9(Symbol$1, name)) {
@@ -418,26 +418,26 @@ var wellKnownSymbol$9 = function (name) {
418
418
  };
419
419
 
420
420
  var call$3 = functionCall;
421
- var isObject$5 = isObject$7;
421
+ var isObject$4 = isObject$6;
422
422
  var isSymbol$1 = isSymbol$2;
423
423
  var getMethod = getMethod$1;
424
424
  var ordinaryToPrimitive = ordinaryToPrimitive$1;
425
- var wellKnownSymbol$8 = wellKnownSymbol$9;
425
+ var wellKnownSymbol$7 = wellKnownSymbol$8;
426
426
 
427
- var $TypeError$5 = TypeError;
428
- var TO_PRIMITIVE = wellKnownSymbol$8('toPrimitive');
427
+ var $TypeError$4 = TypeError;
428
+ var TO_PRIMITIVE = wellKnownSymbol$7('toPrimitive');
429
429
 
430
430
  // `ToPrimitive` abstract operation
431
431
  // https://tc39.es/ecma262/#sec-toprimitive
432
432
  var toPrimitive$1 = function (input, pref) {
433
- if (!isObject$5(input) || isSymbol$1(input)) return input;
433
+ if (!isObject$4(input) || isSymbol$1(input)) return input;
434
434
  var exoticToPrim = getMethod(input, TO_PRIMITIVE);
435
435
  var result;
436
436
  if (exoticToPrim) {
437
437
  if (pref === undefined) pref = 'default';
438
438
  result = call$3(exoticToPrim, input, pref);
439
- if (!isObject$5(result) || isSymbol$1(result)) return result;
440
- throw $TypeError$5("Can't convert object to primitive value");
439
+ if (!isObject$4(result) || isSymbol$1(result)) return result;
440
+ throw $TypeError$4("Can't convert object to primitive value");
441
441
  }
442
442
  if (pref === undefined) pref = 'number';
443
443
  return ordinaryToPrimitive(input, pref);
@@ -454,22 +454,22 @@ var toPropertyKey$2 = function (argument) {
454
454
  };
455
455
 
456
456
  var global$7 = global$d;
457
- var isObject$4 = isObject$7;
457
+ var isObject$3 = isObject$6;
458
458
 
459
459
  var document$1 = global$7.document;
460
460
  // typeof document.createElement is 'object' in old IE
461
- var EXISTS$1 = isObject$4(document$1) && isObject$4(document$1.createElement);
461
+ var EXISTS$1 = isObject$3(document$1) && isObject$3(document$1.createElement);
462
462
 
463
463
  var documentCreateElement$2 = function (it) {
464
464
  return EXISTS$1 ? document$1.createElement(it) : {};
465
465
  };
466
466
 
467
467
  var DESCRIPTORS$a = descriptors;
468
- var fails$8 = fails$d;
468
+ var fails$7 = fails$c;
469
469
  var createElement = documentCreateElement$2;
470
470
 
471
471
  // Thanks to IE8 for its funny defineProperty
472
- var ie8DomDefine = !DESCRIPTORS$a && !fails$8(function () {
472
+ var ie8DomDefine = !DESCRIPTORS$a && !fails$7(function () {
473
473
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
474
474
  return Object.defineProperty(createElement('div'), 'a', {
475
475
  get: function () { return 7; }
@@ -502,11 +502,11 @@ objectGetOwnPropertyDescriptor.f = DESCRIPTORS$9 ? $getOwnPropertyDescriptor$1 :
502
502
  var objectDefineProperty = {};
503
503
 
504
504
  var DESCRIPTORS$8 = descriptors;
505
- var fails$7 = fails$d;
505
+ var fails$6 = fails$c;
506
506
 
507
507
  // V8 ~ Chrome 36-
508
508
  // https://bugs.chromium.org/p/v8/issues/detail?id=3334
509
- var v8PrototypeDefineBug = DESCRIPTORS$8 && fails$7(function () {
509
+ var v8PrototypeDefineBug = DESCRIPTORS$8 && fails$6(function () {
510
510
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
511
511
  return Object.defineProperty(function () { /* empty */ }, 'prototype', {
512
512
  value: 42,
@@ -514,15 +514,15 @@ var v8PrototypeDefineBug = DESCRIPTORS$8 && fails$7(function () {
514
514
  }).prototype != 42;
515
515
  });
516
516
 
517
- var isObject$3 = isObject$7;
517
+ var isObject$2 = isObject$6;
518
518
 
519
519
  var $String$2 = String;
520
- var $TypeError$4 = TypeError;
520
+ var $TypeError$3 = TypeError;
521
521
 
522
522
  // `Assert: Type(argument) is Object`
523
523
  var anObject$5 = function (argument) {
524
- if (isObject$3(argument)) return argument;
525
- throw $TypeError$4($String$2(argument) + ' is not an object');
524
+ if (isObject$2(argument)) return argument;
525
+ throw $TypeError$3($String$2(argument) + ' is not an object');
526
526
  };
527
527
 
528
528
  var DESCRIPTORS$7 = descriptors;
@@ -531,7 +531,7 @@ var V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug;
531
531
  var anObject$4 = anObject$5;
532
532
  var toPropertyKey = toPropertyKey$2;
533
533
 
534
- var $TypeError$3 = TypeError;
534
+ var $TypeError$2 = TypeError;
535
535
  // eslint-disable-next-line es/no-object-defineproperty -- safe
536
536
  var $defineProperty = Object.defineProperty;
537
537
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
@@ -564,7 +564,7 @@ objectDefineProperty.f = DESCRIPTORS$7 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function de
564
564
  if (IE8_DOM_DEFINE) try {
565
565
  return $defineProperty(O, P, Attributes);
566
566
  } catch (error) { /* empty */ }
567
- if ('get' in Attributes || 'set' in Attributes) throw $TypeError$3('Accessors not supported');
567
+ if ('get' in Attributes || 'set' in Attributes) throw $TypeError$2('Accessors not supported');
568
568
  if ('value' in Attributes) O[P] = Attributes.value;
569
569
  return O;
570
570
  };
@@ -600,27 +600,27 @@ var functionName = {
600
600
  CONFIGURABLE: CONFIGURABLE
601
601
  };
602
602
 
603
- var uncurryThis$8 = functionUncurryThis;
604
- var isCallable$b = isCallable$h;
603
+ var uncurryThis$5 = functionUncurryThis;
604
+ var isCallable$a = isCallable$g;
605
605
  var store$1 = sharedStore;
606
606
 
607
- var functionToString = uncurryThis$8(Function.toString);
607
+ var functionToString = uncurryThis$5(Function.toString);
608
608
 
609
609
  // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
610
- if (!isCallable$b(store$1.inspectSource)) {
610
+ if (!isCallable$a(store$1.inspectSource)) {
611
611
  store$1.inspectSource = function (it) {
612
612
  return functionToString(it);
613
613
  };
614
614
  }
615
615
 
616
- var inspectSource$2 = store$1.inspectSource;
616
+ var inspectSource$1 = store$1.inspectSource;
617
617
 
618
618
  var global$6 = global$d;
619
- var isCallable$a = isCallable$h;
619
+ var isCallable$9 = isCallable$g;
620
620
 
621
621
  var WeakMap$1 = global$6.WeakMap;
622
622
 
623
- var weakMapBasicDetection = isCallable$a(WeakMap$1) && /native code/.test(String(WeakMap$1));
623
+ var weakMapBasicDetection = isCallable$9(WeakMap$1) && /native code/.test(String(WeakMap$1));
624
624
 
625
625
  var shared$1 = shared$3.exports;
626
626
  var uid = uid$2;
@@ -635,7 +635,7 @@ var hiddenKeys$4 = {};
635
635
 
636
636
  var NATIVE_WEAK_MAP = weakMapBasicDetection;
637
637
  var global$5 = global$d;
638
- var isObject$2 = isObject$7;
638
+ var isObject$1 = isObject$6;
639
639
  var createNonEnumerableProperty$3 = createNonEnumerableProperty$4;
640
640
  var hasOwn$6 = hasOwnProperty_1;
641
641
  var shared = sharedStore;
@@ -654,7 +654,7 @@ var enforce = function (it) {
654
654
  var getterFor = function (TYPE) {
655
655
  return function (it) {
656
656
  var state;
657
- if (!isObject$2(it) || (state = get(it)).type !== TYPE) {
657
+ if (!isObject$1(it) || (state = get(it)).type !== TYPE) {
658
658
  throw TypeError$1('Incompatible receiver, ' + TYPE + ' required');
659
659
  } return state;
660
660
  };
@@ -704,12 +704,12 @@ var internalState = {
704
704
  getterFor: getterFor
705
705
  };
706
706
 
707
- var fails$6 = fails$d;
708
- var isCallable$9 = isCallable$h;
707
+ var fails$5 = fails$c;
708
+ var isCallable$8 = isCallable$g;
709
709
  var hasOwn$5 = hasOwnProperty_1;
710
710
  var DESCRIPTORS$4 = descriptors;
711
711
  var CONFIGURABLE_FUNCTION_NAME$1 = functionName.CONFIGURABLE;
712
- var inspectSource$1 = inspectSource$2;
712
+ var inspectSource = inspectSource$1;
713
713
  var InternalStateModule$1 = internalState;
714
714
 
715
715
  var enforceInternalState = InternalStateModule$1.enforce;
@@ -717,7 +717,7 @@ var getInternalState$1 = InternalStateModule$1.get;
717
717
  // eslint-disable-next-line es/no-object-defineproperty -- safe
718
718
  var defineProperty$5 = Object.defineProperty;
719
719
 
720
- var CONFIGURABLE_LENGTH = DESCRIPTORS$4 && !fails$6(function () {
720
+ var CONFIGURABLE_LENGTH = DESCRIPTORS$4 && !fails$5(function () {
721
721
  return defineProperty$5(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;
722
722
  });
723
723
 
@@ -751,10 +751,10 @@ var makeBuiltIn$1 = makeBuiltIn$2.exports = function (value, name, options) {
751
751
  // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
752
752
  // eslint-disable-next-line no-extend-native -- required
753
753
  Function.prototype.toString = makeBuiltIn$1(function toString() {
754
- return isCallable$9(this) && getInternalState$1(this).source || inspectSource$1(this);
754
+ return isCallable$8(this) && getInternalState$1(this).source || inspectSource(this);
755
755
  }, 'toString');
756
756
 
757
- var isCallable$8 = isCallable$h;
757
+ var isCallable$7 = isCallable$g;
758
758
  var definePropertyModule$2 = objectDefineProperty;
759
759
  var makeBuiltIn = makeBuiltIn$2.exports;
760
760
  var defineGlobalProperty$1 = defineGlobalProperty$3;
@@ -763,7 +763,7 @@ var defineBuiltIn$3 = function (O, key, value, options) {
763
763
  if (!options) options = {};
764
764
  var simple = options.enumerable;
765
765
  var name = options.name !== undefined ? options.name : key;
766
- if (isCallable$8(value)) makeBuiltIn(value, name, options);
766
+ if (isCallable$7(value)) makeBuiltIn(value, name, options);
767
767
  if (options.global) {
768
768
  if (simple) O[key] = value;
769
769
  else defineGlobalProperty$1(key, value);
@@ -799,13 +799,13 @@ var trunc = mathTrunc;
799
799
 
800
800
  // `ToIntegerOrInfinity` abstract operation
801
801
  // https://tc39.es/ecma262/#sec-tointegerorinfinity
802
- var toIntegerOrInfinity$3 = function (argument) {
802
+ var toIntegerOrInfinity$2 = function (argument) {
803
803
  var number = +argument;
804
804
  // eslint-disable-next-line no-self-compare -- NaN check
805
805
  return number !== number || number === 0 ? 0 : trunc(number);
806
806
  };
807
807
 
808
- var toIntegerOrInfinity$2 = toIntegerOrInfinity$3;
808
+ var toIntegerOrInfinity$1 = toIntegerOrInfinity$2;
809
809
 
810
810
  var max = Math.max;
811
811
  var min$1 = Math.min;
@@ -814,37 +814,37 @@ var min$1 = Math.min;
814
814
  // Let integer be ? ToInteger(index).
815
815
  // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
816
816
  var toAbsoluteIndex$1 = function (index, length) {
817
- var integer = toIntegerOrInfinity$2(index);
817
+ var integer = toIntegerOrInfinity$1(index);
818
818
  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
819
819
  };
820
820
 
821
- var toIntegerOrInfinity$1 = toIntegerOrInfinity$3;
821
+ var toIntegerOrInfinity = toIntegerOrInfinity$2;
822
822
 
823
823
  var min = Math.min;
824
824
 
825
825
  // `ToLength` abstract operation
826
826
  // https://tc39.es/ecma262/#sec-tolength
827
827
  var toLength$1 = function (argument) {
828
- return argument > 0 ? min(toIntegerOrInfinity$1(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
828
+ return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
829
829
  };
830
830
 
831
831
  var toLength = toLength$1;
832
832
 
833
833
  // `LengthOfArrayLike` abstract operation
834
834
  // https://tc39.es/ecma262/#sec-lengthofarraylike
835
- var lengthOfArrayLike$4 = function (obj) {
835
+ var lengthOfArrayLike$2 = function (obj) {
836
836
  return toLength(obj.length);
837
837
  };
838
838
 
839
839
  var toIndexedObject$3 = toIndexedObject$5;
840
840
  var toAbsoluteIndex = toAbsoluteIndex$1;
841
- var lengthOfArrayLike$3 = lengthOfArrayLike$4;
841
+ var lengthOfArrayLike$1 = lengthOfArrayLike$2;
842
842
 
843
843
  // `Array.prototype.{ indexOf, includes }` methods implementation
844
844
  var createMethod$1 = function (IS_INCLUDES) {
845
845
  return function ($this, el, fromIndex) {
846
846
  var O = toIndexedObject$3($this);
847
- var length = lengthOfArrayLike$3(O);
847
+ var length = lengthOfArrayLike$1(O);
848
848
  var index = toAbsoluteIndex(fromIndex, length);
849
849
  var value;
850
850
  // Array#includes uses SameValueZero equality algorithm
@@ -869,13 +869,13 @@ var arrayIncludes = {
869
869
  indexOf: createMethod$1(false)
870
870
  };
871
871
 
872
- var uncurryThis$7 = functionUncurryThis;
872
+ var uncurryThis$4 = functionUncurryThis;
873
873
  var hasOwn$4 = hasOwnProperty_1;
874
874
  var toIndexedObject$2 = toIndexedObject$5;
875
875
  var indexOf = arrayIncludes.indexOf;
876
876
  var hiddenKeys$2 = hiddenKeys$4;
877
877
 
878
- var push = uncurryThis$7([].push);
878
+ var push = uncurryThis$4([].push);
879
879
 
880
880
  var objectKeysInternal = function (object, names) {
881
881
  var O = toIndexedObject$2(object);
@@ -918,16 +918,16 @@ var objectGetOwnPropertySymbols = {};
918
918
  // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
919
919
  objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
920
920
 
921
- var getBuiltIn$2 = getBuiltIn$5;
922
- var uncurryThis$6 = functionUncurryThis;
921
+ var getBuiltIn$1 = getBuiltIn$4;
922
+ var uncurryThis$3 = functionUncurryThis;
923
923
  var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
924
924
  var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols;
925
925
  var anObject$3 = anObject$5;
926
926
 
927
- var concat$1 = uncurryThis$6([].concat);
927
+ var concat$1 = uncurryThis$3([].concat);
928
928
 
929
929
  // all object keys, includes non-enumerable and symbols
930
- var ownKeys$1 = getBuiltIn$2('Reflect', 'ownKeys') || function ownKeys(it) {
930
+ var ownKeys$1 = getBuiltIn$1('Reflect', 'ownKeys') || function ownKeys(it) {
931
931
  var keys = getOwnPropertyNamesModule.f(anObject$3(it));
932
932
  var getOwnPropertySymbols = getOwnPropertySymbolsModule$1.f;
933
933
  return getOwnPropertySymbols ? concat$1(keys, getOwnPropertySymbols(it)) : keys;
@@ -950,8 +950,8 @@ var copyConstructorProperties$2 = function (target, source, exceptions) {
950
950
  }
951
951
  };
952
952
 
953
- var fails$5 = fails$d;
954
- var isCallable$7 = isCallable$h;
953
+ var fails$4 = fails$c;
954
+ var isCallable$6 = isCallable$g;
955
955
 
956
956
  var replacement = /#|\.prototype\./;
957
957
 
@@ -959,7 +959,7 @@ var isForced$1 = function (feature, detection) {
959
959
  var value = data[normalize(feature)];
960
960
  return value == POLYFILL ? true
961
961
  : value == NATIVE ? false
962
- : isCallable$7(detection) ? fails$5(detection)
962
+ : isCallable$6(detection) ? fails$4(detection)
963
963
  : !!detection;
964
964
  };
965
965
 
@@ -1039,24 +1039,24 @@ var objectKeys$2 = Object.keys || function keys(O) {
1039
1039
  };
1040
1040
 
1041
1041
  var DESCRIPTORS$3 = descriptors;
1042
- var uncurryThis$5 = functionUncurryThis;
1042
+ var uncurryThis$2 = functionUncurryThis;
1043
1043
  var call$1 = functionCall;
1044
- var fails$4 = fails$d;
1044
+ var fails$3 = fails$c;
1045
1045
  var objectKeys$1 = objectKeys$2;
1046
1046
  var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
1047
1047
  var propertyIsEnumerableModule = objectPropertyIsEnumerable;
1048
- var toObject$3 = toObject$5;
1048
+ var toObject$2 = toObject$4;
1049
1049
  var IndexedObject$1 = indexedObject;
1050
1050
 
1051
1051
  // eslint-disable-next-line es/no-object-assign -- safe
1052
1052
  var $assign = Object.assign;
1053
1053
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
1054
1054
  var defineProperty$4 = Object.defineProperty;
1055
- var concat = uncurryThis$5([].concat);
1055
+ var concat = uncurryThis$2([].concat);
1056
1056
 
1057
1057
  // `Object.assign` method
1058
1058
  // https://tc39.es/ecma262/#sec-object.assign
1059
- var objectAssign = !$assign || fails$4(function () {
1059
+ var objectAssign = !$assign || fails$3(function () {
1060
1060
  // should have correct order of operations (Edge bug)
1061
1061
  if (DESCRIPTORS$3 && $assign({ b: 1 }, $assign(defineProperty$4({}, 'a', {
1062
1062
  enumerable: true,
@@ -1077,7 +1077,7 @@ var objectAssign = !$assign || fails$4(function () {
1077
1077
  alphabet.split('').forEach(function (chr) { B[chr] = chr; });
1078
1078
  return $assign({}, A)[symbol] != 7 || objectKeys$1($assign({}, B)).join('') != alphabet;
1079
1079
  }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`
1080
- var T = toObject$3(target);
1080
+ var T = toObject$2(target);
1081
1081
  var argumentsLength = arguments.length;
1082
1082
  var index = 1;
1083
1083
  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
@@ -1095,13 +1095,13 @@ var objectAssign = !$assign || fails$4(function () {
1095
1095
  } return T;
1096
1096
  } : $assign;
1097
1097
 
1098
- var $$4 = _export;
1098
+ var $$3 = _export;
1099
1099
  var assign = objectAssign;
1100
1100
 
1101
1101
  // `Object.assign` method
1102
1102
  // https://tc39.es/ecma262/#sec-object.assign
1103
1103
  // eslint-disable-next-line es/no-object-assign -- required for testing
1104
- $$4({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {
1104
+ $$3({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {
1105
1105
  assign: assign
1106
1106
  });
1107
1107
 
@@ -1109,20 +1109,20 @@ const NinetailedContext = /*#__PURE__*/React.createContext(undefined);
1109
1109
 
1110
1110
  const ExperimentsContext = /*#__PURE__*/React.createContext(undefined);
1111
1111
 
1112
- var aCallable$1 = aCallable$3;
1113
- var toObject$2 = toObject$5;
1112
+ var aCallable = aCallable$2;
1113
+ var toObject$1 = toObject$4;
1114
1114
  var IndexedObject = indexedObject;
1115
- var lengthOfArrayLike$2 = lengthOfArrayLike$4;
1115
+ var lengthOfArrayLike = lengthOfArrayLike$2;
1116
1116
 
1117
- var $TypeError$2 = TypeError;
1117
+ var $TypeError$1 = TypeError;
1118
1118
 
1119
1119
  // `Array.prototype.{ reduce, reduceRight }` methods implementation
1120
1120
  var createMethod = function (IS_RIGHT) {
1121
1121
  return function (that, callbackfn, argumentsLength, memo) {
1122
- aCallable$1(callbackfn);
1123
- var O = toObject$2(that);
1122
+ aCallable(callbackfn);
1123
+ var O = toObject$1(that);
1124
1124
  var self = IndexedObject(O);
1125
- var length = lengthOfArrayLike$2(O);
1125
+ var length = lengthOfArrayLike(O);
1126
1126
  var index = IS_RIGHT ? length - 1 : 0;
1127
1127
  var i = IS_RIGHT ? -1 : 1;
1128
1128
  if (argumentsLength < 2) while (true) {
@@ -1133,7 +1133,7 @@ var createMethod = function (IS_RIGHT) {
1133
1133
  }
1134
1134
  index += i;
1135
1135
  if (IS_RIGHT ? index < 0 : length <= index) {
1136
- throw $TypeError$2('Reduce of empty array with no initial value');
1136
+ throw $TypeError$1('Reduce of empty array with no initial value');
1137
1137
  }
1138
1138
  }
1139
1139
  for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {
@@ -1152,22 +1152,22 @@ var arrayReduce = {
1152
1152
  right: createMethod(true)
1153
1153
  };
1154
1154
 
1155
- var fails$3 = fails$d;
1155
+ var fails$2 = fails$c;
1156
1156
 
1157
1157
  var arrayMethodIsStrict$1 = function (METHOD_NAME, argument) {
1158
1158
  var method = [][METHOD_NAME];
1159
- return !!method && fails$3(function () {
1159
+ return !!method && fails$2(function () {
1160
1160
  // eslint-disable-next-line no-useless-call -- required for testing
1161
1161
  method.call(null, argument || function () { return 1; }, 1);
1162
1162
  });
1163
1163
  };
1164
1164
 
1165
- var classof$4 = classofRaw$2;
1165
+ var classof$2 = classofRaw$1;
1166
1166
  var global$3 = global$d;
1167
1167
 
1168
- var engineIsNode = classof$4(global$3.process) == 'process';
1168
+ var engineIsNode = classof$2(global$3.process) == 'process';
1169
1169
 
1170
- var $$3 = _export;
1170
+ var $$2 = _export;
1171
1171
  var $reduce = arrayReduce.left;
1172
1172
  var arrayMethodIsStrict = arrayMethodIsStrict$1;
1173
1173
  var CHROME_VERSION = engineV8Version;
@@ -1180,7 +1180,7 @@ var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;
1180
1180
 
1181
1181
  // `Array.prototype.reduce` method
1182
1182
  // https://tc39.es/ecma262/#sec-array.prototype.reduce
1183
- $$3({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {
1183
+ $$2({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {
1184
1184
  reduce: function reduce(callbackfn /* , initialValue */) {
1185
1185
  var length = arguments.length;
1186
1186
  return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);
@@ -1210,9 +1210,9 @@ objectDefineProperties.f = DESCRIPTORS$2 && !V8_PROTOTYPE_DEFINE_BUG ? Object.de
1210
1210
  return O;
1211
1211
  };
1212
1212
 
1213
- var getBuiltIn$1 = getBuiltIn$5;
1213
+ var getBuiltIn = getBuiltIn$4;
1214
1214
 
1215
- var html$1 = getBuiltIn$1('document', 'documentElement');
1215
+ var html$1 = getBuiltIn('document', 'documentElement');
1216
1216
 
1217
1217
  /* global ActiveXObject -- old IE, WSH */
1218
1218
 
@@ -1299,11 +1299,11 @@ var objectCreate = Object.create || function create(O, Properties) {
1299
1299
  return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
1300
1300
  };
1301
1301
 
1302
- var wellKnownSymbol$7 = wellKnownSymbol$9;
1302
+ var wellKnownSymbol$6 = wellKnownSymbol$8;
1303
1303
  var create$1 = objectCreate;
1304
1304
  var defineProperty$3 = objectDefineProperty.f;
1305
1305
 
1306
- var UNSCOPABLES = wellKnownSymbol$7('unscopables');
1306
+ var UNSCOPABLES = wellKnownSymbol$6('unscopables');
1307
1307
  var ArrayPrototype = Array.prototype;
1308
1308
 
1309
1309
  // Array.prototype[@@unscopables]
@@ -1316,15 +1316,15 @@ if (ArrayPrototype[UNSCOPABLES] == undefined) {
1316
1316
  }
1317
1317
 
1318
1318
  // add a key to Array.prototype[@@unscopables]
1319
- var addToUnscopables$2 = function (key) {
1319
+ var addToUnscopables$1 = function (key) {
1320
1320
  ArrayPrototype[UNSCOPABLES][key] = true;
1321
1321
  };
1322
1322
 
1323
1323
  var iterators = {};
1324
1324
 
1325
- var fails$2 = fails$d;
1325
+ var fails$1 = fails$c;
1326
1326
 
1327
- var correctPrototypeGetter = !fails$2(function () {
1327
+ var correctPrototypeGetter = !fails$1(function () {
1328
1328
  function F() { /* empty */ }
1329
1329
  F.prototype.constructor = null;
1330
1330
  // eslint-disable-next-line es/no-object-getprototypeof -- required for testing
@@ -1332,8 +1332,8 @@ var correctPrototypeGetter = !fails$2(function () {
1332
1332
  });
1333
1333
 
1334
1334
  var hasOwn$2 = hasOwnProperty_1;
1335
- var isCallable$6 = isCallable$h;
1336
- var toObject$1 = toObject$5;
1335
+ var isCallable$5 = isCallable$g;
1336
+ var toObject = toObject$4;
1337
1337
  var sharedKey = sharedKey$3;
1338
1338
  var CORRECT_PROTOTYPE_GETTER = correctPrototypeGetter;
1339
1339
 
@@ -1345,22 +1345,22 @@ var ObjectPrototype = $Object$1.prototype;
1345
1345
  // https://tc39.es/ecma262/#sec-object.getprototypeof
1346
1346
  // eslint-disable-next-line es/no-object-getprototypeof -- safe
1347
1347
  var objectGetPrototypeOf = CORRECT_PROTOTYPE_GETTER ? $Object$1.getPrototypeOf : function (O) {
1348
- var object = toObject$1(O);
1348
+ var object = toObject(O);
1349
1349
  if (hasOwn$2(object, IE_PROTO)) return object[IE_PROTO];
1350
1350
  var constructor = object.constructor;
1351
- if (isCallable$6(constructor) && object instanceof constructor) {
1351
+ if (isCallable$5(constructor) && object instanceof constructor) {
1352
1352
  return constructor.prototype;
1353
1353
  } return object instanceof $Object$1 ? ObjectPrototype : null;
1354
1354
  };
1355
1355
 
1356
- var fails$1 = fails$d;
1357
- var isCallable$5 = isCallable$h;
1358
- var isObject$1 = isObject$7;
1356
+ var fails = fails$c;
1357
+ var isCallable$4 = isCallable$g;
1358
+ var isObject = isObject$6;
1359
1359
  var getPrototypeOf$1 = objectGetPrototypeOf;
1360
1360
  var defineBuiltIn$1 = defineBuiltIn$3;
1361
- var wellKnownSymbol$6 = wellKnownSymbol$9;
1361
+ var wellKnownSymbol$5 = wellKnownSymbol$8;
1362
1362
 
1363
- var ITERATOR$2 = wellKnownSymbol$6('iterator');
1363
+ var ITERATOR$2 = wellKnownSymbol$5('iterator');
1364
1364
  var BUGGY_SAFARI_ITERATORS$1 = false;
1365
1365
 
1366
1366
  // `%IteratorPrototype%` object
@@ -1378,7 +1378,7 @@ if ([].keys) {
1378
1378
  }
1379
1379
  }
1380
1380
 
1381
- var NEW_ITERATOR_PROTOTYPE = !isObject$1(IteratorPrototype$2) || fails$1(function () {
1381
+ var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype$2) || fails(function () {
1382
1382
  var test = {};
1383
1383
  // FF44- legacy iterators case
1384
1384
  return IteratorPrototype$2[ITERATOR$2].call(test) !== test;
@@ -1388,7 +1388,7 @@ if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype$2 = {};
1388
1388
 
1389
1389
  // `%IteratorPrototype%[@@iterator]()` method
1390
1390
  // https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
1391
- if (!isCallable$5(IteratorPrototype$2[ITERATOR$2])) {
1391
+ if (!isCallable$4(IteratorPrototype$2[ITERATOR$2])) {
1392
1392
  defineBuiltIn$1(IteratorPrototype$2, ITERATOR$2, function () {
1393
1393
  return this;
1394
1394
  });
@@ -1401,9 +1401,9 @@ var iteratorsCore = {
1401
1401
 
1402
1402
  var defineProperty$2 = objectDefineProperty.f;
1403
1403
  var hasOwn$1 = hasOwnProperty_1;
1404
- var wellKnownSymbol$5 = wellKnownSymbol$9;
1404
+ var wellKnownSymbol$4 = wellKnownSymbol$8;
1405
1405
 
1406
- var TO_STRING_TAG$3 = wellKnownSymbol$5('toStringTag');
1406
+ var TO_STRING_TAG$3 = wellKnownSymbol$4('toStringTag');
1407
1407
 
1408
1408
  var setToStringTag$2 = function (target, TAG, STATIC) {
1409
1409
  if (target && !STATIC) target = target.prototype;
@@ -1428,19 +1428,19 @@ var iteratorCreateConstructor = function (IteratorConstructor, NAME, next, ENUME
1428
1428
  return IteratorConstructor;
1429
1429
  };
1430
1430
 
1431
- var isCallable$4 = isCallable$h;
1431
+ var isCallable$3 = isCallable$g;
1432
1432
 
1433
1433
  var $String$1 = String;
1434
- var $TypeError$1 = TypeError;
1434
+ var $TypeError = TypeError;
1435
1435
 
1436
1436
  var aPossiblePrototype$1 = function (argument) {
1437
- if (typeof argument == 'object' || isCallable$4(argument)) return argument;
1438
- throw $TypeError$1("Can't set " + $String$1(argument) + ' as a prototype');
1437
+ if (typeof argument == 'object' || isCallable$3(argument)) return argument;
1438
+ throw $TypeError("Can't set " + $String$1(argument) + ' as a prototype');
1439
1439
  };
1440
1440
 
1441
1441
  /* eslint-disable no-proto -- safe */
1442
1442
 
1443
- var uncurryThis$4 = functionUncurryThis;
1443
+ var uncurryThis$1 = functionUncurryThis;
1444
1444
  var anObject = anObject$5;
1445
1445
  var aPossiblePrototype = aPossiblePrototype$1;
1446
1446
 
@@ -1454,7 +1454,7 @@ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? functio
1454
1454
  var setter;
1455
1455
  try {
1456
1456
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
1457
- setter = uncurryThis$4(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);
1457
+ setter = uncurryThis$1(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);
1458
1458
  setter(test, []);
1459
1459
  CORRECT_SETTER = test instanceof Array;
1460
1460
  } catch (error) { /* empty */ }
@@ -1467,17 +1467,17 @@ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? functio
1467
1467
  };
1468
1468
  }() : undefined);
1469
1469
 
1470
- var $$2 = _export;
1470
+ var $$1 = _export;
1471
1471
  var call = functionCall;
1472
1472
  var FunctionName = functionName;
1473
- var isCallable$3 = isCallable$h;
1473
+ var isCallable$2 = isCallable$g;
1474
1474
  var createIteratorConstructor = iteratorCreateConstructor;
1475
1475
  var getPrototypeOf = objectGetPrototypeOf;
1476
1476
  var setPrototypeOf = objectSetPrototypeOf;
1477
1477
  var setToStringTag = setToStringTag$2;
1478
1478
  var createNonEnumerableProperty$1 = createNonEnumerableProperty$4;
1479
1479
  var defineBuiltIn = defineBuiltIn$3;
1480
- var wellKnownSymbol$4 = wellKnownSymbol$9;
1480
+ var wellKnownSymbol$3 = wellKnownSymbol$8;
1481
1481
  var Iterators$1 = iterators;
1482
1482
  var IteratorsCore = iteratorsCore;
1483
1483
 
@@ -1485,7 +1485,7 @@ var PROPER_FUNCTION_NAME = FunctionName.PROPER;
1485
1485
  var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
1486
1486
  var IteratorPrototype = IteratorsCore.IteratorPrototype;
1487
1487
  var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
1488
- var ITERATOR$1 = wellKnownSymbol$4('iterator');
1488
+ var ITERATOR$1 = wellKnownSymbol$3('iterator');
1489
1489
  var KEYS = 'keys';
1490
1490
  var VALUES = 'values';
1491
1491
  var ENTRIES = 'entries';
@@ -1522,7 +1522,7 @@ var iteratorDefine = function (Iterable, NAME, IteratorConstructor, next, DEFAUL
1522
1522
  if (getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
1523
1523
  if (setPrototypeOf) {
1524
1524
  setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
1525
- } else if (!isCallable$3(CurrentIteratorPrototype[ITERATOR$1])) {
1525
+ } else if (!isCallable$2(CurrentIteratorPrototype[ITERATOR$1])) {
1526
1526
  defineBuiltIn(CurrentIteratorPrototype, ITERATOR$1, returnThis);
1527
1527
  }
1528
1528
  }
@@ -1552,7 +1552,7 @@ var iteratorDefine = function (Iterable, NAME, IteratorConstructor, next, DEFAUL
1552
1552
  if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
1553
1553
  defineBuiltIn(IterablePrototype, KEY, methods[KEY]);
1554
1554
  }
1555
- } else $$2({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
1555
+ } else $$1({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
1556
1556
  }
1557
1557
 
1558
1558
  // define iterator
@@ -1571,7 +1571,7 @@ var createIterResultObject$1 = function (value, done) {
1571
1571
  };
1572
1572
 
1573
1573
  var toIndexedObject = toIndexedObject$5;
1574
- var addToUnscopables$1 = addToUnscopables$2;
1574
+ var addToUnscopables = addToUnscopables$1;
1575
1575
  var Iterators = iterators;
1576
1576
  var InternalStateModule = internalState;
1577
1577
  var defineProperty$1 = objectDefineProperty.f;
@@ -1622,9 +1622,9 @@ var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind)
1622
1622
  var values = Iterators.Arguments = Iterators.Array;
1623
1623
 
1624
1624
  // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1625
- addToUnscopables$1('keys');
1626
- addToUnscopables$1('values');
1627
- addToUnscopables$1('entries');
1625
+ addToUnscopables('keys');
1626
+ addToUnscopables('values');
1627
+ addToUnscopables('entries');
1628
1628
 
1629
1629
  // V8 ~ Chrome 45- bug
1630
1630
  if (DESCRIPTORS$1 && values.name !== 'values') try {
@@ -1680,10 +1680,10 @@ var DOMIterables = domIterables;
1680
1680
  var DOMTokenListPrototype = domTokenListPrototype;
1681
1681
  var ArrayIteratorMethods = es_array_iterator;
1682
1682
  var createNonEnumerableProperty = createNonEnumerableProperty$4;
1683
- var wellKnownSymbol$3 = wellKnownSymbol$9;
1683
+ var wellKnownSymbol$2 = wellKnownSymbol$8;
1684
1684
 
1685
- var ITERATOR = wellKnownSymbol$3('iterator');
1686
- var TO_STRING_TAG$2 = wellKnownSymbol$3('toStringTag');
1685
+ var ITERATOR = wellKnownSymbol$2('iterator');
1686
+ var TO_STRING_TAG$2 = wellKnownSymbol$2('toStringTag');
1687
1687
  var ArrayValues = ArrayIteratorMethods.values;
1688
1688
 
1689
1689
  var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
@@ -2031,9 +2031,9 @@ const MergeTag = ({
2031
2031
  });
2032
2032
  };
2033
2033
 
2034
- var wellKnownSymbol$2 = wellKnownSymbol$9;
2034
+ var wellKnownSymbol$1 = wellKnownSymbol$8;
2035
2035
 
2036
- var TO_STRING_TAG$1 = wellKnownSymbol$2('toStringTag');
2036
+ var TO_STRING_TAG$1 = wellKnownSymbol$1('toStringTag');
2037
2037
  var test = {};
2038
2038
 
2039
2039
  test[TO_STRING_TAG$1] = 'z';
@@ -2041,15 +2041,15 @@ test[TO_STRING_TAG$1] = 'z';
2041
2041
  var toStringTagSupport = String(test) === '[object z]';
2042
2042
 
2043
2043
  var TO_STRING_TAG_SUPPORT = toStringTagSupport;
2044
- var isCallable$2 = isCallable$h;
2045
- var classofRaw$1 = classofRaw$2;
2046
- var wellKnownSymbol$1 = wellKnownSymbol$9;
2044
+ var isCallable$1 = isCallable$g;
2045
+ var classofRaw = classofRaw$1;
2046
+ var wellKnownSymbol = wellKnownSymbol$8;
2047
2047
 
2048
- var TO_STRING_TAG = wellKnownSymbol$1('toStringTag');
2048
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
2049
2049
  var $Object = Object;
2050
2050
 
2051
2051
  // ES3 wrong here
2052
- var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) == 'Arguments';
2052
+ var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
2053
2053
 
2054
2054
  // fallback for IE11 Script Access Denied error
2055
2055
  var tryGet = function (it, key) {
@@ -2059,32 +2059,32 @@ var tryGet = function (it, key) {
2059
2059
  };
2060
2060
 
2061
2061
  // getting tag from ES6+ `Object.prototype.toString`
2062
- var classof$3 = TO_STRING_TAG_SUPPORT ? classofRaw$1 : function (it) {
2062
+ var classof$1 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
2063
2063
  var O, tag, result;
2064
2064
  return it === undefined ? 'Undefined' : it === null ? 'Null'
2065
2065
  // @@toStringTag case
2066
2066
  : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag
2067
2067
  // builtinTag case
2068
- : CORRECT_ARGUMENTS ? classofRaw$1(O)
2068
+ : CORRECT_ARGUMENTS ? classofRaw(O)
2069
2069
  // ES3 arguments fallback
2070
- : (result = classofRaw$1(O)) == 'Object' && isCallable$2(O.callee) ? 'Arguments' : result;
2070
+ : (result = classofRaw(O)) == 'Object' && isCallable$1(O.callee) ? 'Arguments' : result;
2071
2071
  };
2072
2072
 
2073
- var classof$2 = classof$3;
2073
+ var classof = classof$1;
2074
2074
 
2075
2075
  var $String = String;
2076
2076
 
2077
2077
  var toString$1 = function (argument) {
2078
- if (classof$2(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
2078
+ if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
2079
2079
  return $String(argument);
2080
2080
  };
2081
2081
 
2082
- var $$1 = _export;
2082
+ var $ = _export;
2083
2083
  var DESCRIPTORS = descriptors;
2084
2084
  var global$1 = global$d;
2085
- var uncurryThis$3 = functionUncurryThis;
2085
+ var uncurryThis = functionUncurryThis;
2086
2086
  var hasOwn = hasOwnProperty_1;
2087
- var isCallable$1 = isCallable$h;
2087
+ var isCallable = isCallable$g;
2088
2088
  var isPrototypeOf = objectIsPrototypeOf;
2089
2089
  var toString = toString$1;
2090
2090
  var defineProperty = objectDefineProperty.f;
@@ -2093,7 +2093,7 @@ var copyConstructorProperties = copyConstructorProperties$2;
2093
2093
  var NativeSymbol = global$1.Symbol;
2094
2094
  var SymbolPrototype = NativeSymbol && NativeSymbol.prototype;
2095
2095
 
2096
- if (DESCRIPTORS && isCallable$1(NativeSymbol) && (!('description' in SymbolPrototype) ||
2096
+ if (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in SymbolPrototype) ||
2097
2097
  // Safari 12 bug
2098
2098
  NativeSymbol().description !== undefined
2099
2099
  )) {
@@ -2114,11 +2114,11 @@ if (DESCRIPTORS && isCallable$1(NativeSymbol) && (!('description' in SymbolProto
2114
2114
  SymbolPrototype.constructor = SymbolWrapper;
2115
2115
 
2116
2116
  var NATIVE_SYMBOL = String(NativeSymbol('test')) == 'Symbol(test)';
2117
- var thisSymbolValue = uncurryThis$3(SymbolPrototype.valueOf);
2118
- var symbolDescriptiveString = uncurryThis$3(SymbolPrototype.toString);
2117
+ var thisSymbolValue = uncurryThis(SymbolPrototype.valueOf);
2118
+ var symbolDescriptiveString = uncurryThis(SymbolPrototype.toString);
2119
2119
  var regexp = /^Symbol\((.*)\)[^)]+$/;
2120
- var replace = uncurryThis$3(''.replace);
2121
- var stringSlice = uncurryThis$3(''.slice);
2120
+ var replace = uncurryThis(''.replace);
2121
+ var stringSlice = uncurryThis(''.slice);
2122
2122
 
2123
2123
  defineProperty(SymbolPrototype, 'description', {
2124
2124
  configurable: true,
@@ -2131,7 +2131,7 @@ if (DESCRIPTORS && isCallable$1(NativeSymbol) && (!('description' in SymbolProto
2131
2131
  }
2132
2132
  });
2133
2133
 
2134
- $$1({ global: true, constructor: true, forced: true }, {
2134
+ $({ global: true, constructor: true, forced: true }, {
2135
2135
  Symbol: SymbolWrapper
2136
2136
  });
2137
2137
  }
@@ -2239,7 +2239,9 @@ const useExperience = ({
2239
2239
  if (!experience) {
2240
2240
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
2241
2241
  // @ts-ignore
2242
- return emptyReturn;
2242
+ return Object.assign(Object.assign({}, emptyReturn), {
2243
+ profile
2244
+ });
2243
2245
  }
2244
2246
  const audience = experience.audience;
2245
2247
  const variant = experience_js.selectExperienceVariant({
@@ -2276,231 +2278,58 @@ const useJoinExperiment = () => {
2276
2278
  return context.joinExperiment;
2277
2279
  };
2278
2280
 
2279
- var classof$1 = classofRaw$2;
2280
-
2281
- // `IsArray` abstract operation
2282
- // https://tc39.es/ecma262/#sec-isarray
2283
- // eslint-disable-next-line es/no-array-isarray -- safe
2284
- var isArray$2 = Array.isArray || function isArray(argument) {
2285
- return classof$1(argument) == 'Array';
2286
- };
2287
-
2288
- var $TypeError = TypeError;
2289
- var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991
2290
-
2291
- var doesNotExceedSafeInteger$1 = function (it) {
2292
- if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');
2293
- return it;
2294
- };
2295
-
2296
- var classofRaw = classofRaw$2;
2297
- var uncurryThis$2 = functionUncurryThis;
2298
-
2299
- var functionUncurryThisClause = function (fn) {
2300
- // Nashorn bug:
2301
- // https://github.com/zloirock/core-js/issues/1128
2302
- // https://github.com/zloirock/core-js/issues/1130
2303
- if (classofRaw(fn) === 'Function') return uncurryThis$2(fn);
2304
- };
2305
-
2306
- var uncurryThis$1 = functionUncurryThisClause;
2307
- var aCallable = aCallable$3;
2308
- var NATIVE_BIND = functionBindNative;
2309
-
2310
- var bind$1 = uncurryThis$1(uncurryThis$1.bind);
2311
-
2312
- // optional / simple context binding
2313
- var functionBindContext = function (fn, that) {
2314
- aCallable(fn);
2315
- return that === undefined ? fn : NATIVE_BIND ? bind$1(fn, that) : function (/* ...args */) {
2316
- return fn.apply(that, arguments);
2317
- };
2318
- };
2319
-
2320
- var isArray$1 = isArray$2;
2321
- var lengthOfArrayLike$1 = lengthOfArrayLike$4;
2322
- var doesNotExceedSafeInteger = doesNotExceedSafeInteger$1;
2323
- var bind = functionBindContext;
2324
-
2325
- // `FlattenIntoArray` abstract operation
2326
- // https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray
2327
- var flattenIntoArray$1 = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {
2328
- var targetIndex = start;
2329
- var sourceIndex = 0;
2330
- var mapFn = mapper ? bind(mapper, thisArg) : false;
2331
- var element, elementLen;
2332
-
2333
- while (sourceIndex < sourceLen) {
2334
- if (sourceIndex in source) {
2335
- element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];
2336
-
2337
- if (depth > 0 && isArray$1(element)) {
2338
- elementLen = lengthOfArrayLike$1(element);
2339
- targetIndex = flattenIntoArray$1(target, original, element, elementLen, targetIndex, depth - 1) - 1;
2340
- } else {
2341
- doesNotExceedSafeInteger(targetIndex + 1);
2342
- target[targetIndex] = element;
2343
- }
2344
-
2345
- targetIndex++;
2346
- }
2347
- sourceIndex++;
2348
- }
2349
- return targetIndex;
2350
- };
2351
-
2352
- var flattenIntoArray_1 = flattenIntoArray$1;
2353
-
2354
- var uncurryThis = functionUncurryThis;
2355
- var fails = fails$d;
2356
- var isCallable = isCallable$h;
2357
- var classof = classof$3;
2358
- var getBuiltIn = getBuiltIn$5;
2359
- var inspectSource = inspectSource$2;
2360
-
2361
- var noop = function () { /* empty */ };
2362
- var empty = [];
2363
- var construct = getBuiltIn('Reflect', 'construct');
2364
- var constructorRegExp = /^\s*(?:class|function)\b/;
2365
- var exec = uncurryThis(constructorRegExp.exec);
2366
- var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
2367
-
2368
- var isConstructorModern = function isConstructor(argument) {
2369
- if (!isCallable(argument)) return false;
2370
- try {
2371
- construct(noop, empty, argument);
2372
- return true;
2373
- } catch (error) {
2374
- return false;
2375
- }
2376
- };
2377
-
2378
- var isConstructorLegacy = function isConstructor(argument) {
2379
- if (!isCallable(argument)) return false;
2380
- switch (classof(argument)) {
2381
- case 'AsyncFunction':
2382
- case 'GeneratorFunction':
2383
- case 'AsyncGeneratorFunction': return false;
2384
- }
2385
- try {
2386
- // we can't check .prototype since constructors produced by .bind haven't it
2387
- // `Function#toString` throws on some built-it function in some legacy engines
2388
- // (for example, `DOMQuad` and similar in FF41-)
2389
- return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
2390
- } catch (error) {
2391
- return true;
2392
- }
2393
- };
2394
-
2395
- isConstructorLegacy.sham = true;
2396
-
2397
- // `IsConstructor` abstract operation
2398
- // https://tc39.es/ecma262/#sec-isconstructor
2399
- var isConstructor$1 = !construct || fails(function () {
2400
- var called;
2401
- return isConstructorModern(isConstructorModern.call)
2402
- || !isConstructorModern(Object)
2403
- || !isConstructorModern(function () { called = true; })
2404
- || called;
2405
- }) ? isConstructorLegacy : isConstructorModern;
2406
-
2407
- var isArray = isArray$2;
2408
- var isConstructor = isConstructor$1;
2409
- var isObject = isObject$7;
2410
- var wellKnownSymbol = wellKnownSymbol$9;
2411
-
2412
- var SPECIES = wellKnownSymbol('species');
2413
- var $Array = Array;
2414
-
2415
- // a part of `ArraySpeciesCreate` abstract operation
2416
- // https://tc39.es/ecma262/#sec-arrayspeciescreate
2417
- var arraySpeciesConstructor$1 = function (originalArray) {
2418
- var C;
2419
- if (isArray(originalArray)) {
2420
- C = originalArray.constructor;
2421
- // cross-realm fallback
2422
- if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;
2423
- else if (isObject(C)) {
2424
- C = C[SPECIES];
2425
- if (C === null) C = undefined;
2426
- }
2427
- } return C === undefined ? $Array : C;
2428
- };
2429
-
2430
- var arraySpeciesConstructor = arraySpeciesConstructor$1;
2431
-
2432
- // `ArraySpeciesCreate` abstract operation
2433
- // https://tc39.es/ecma262/#sec-arrayspeciescreate
2434
- var arraySpeciesCreate$1 = function (originalArray, length) {
2435
- return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
2436
- };
2437
-
2438
- var $ = _export;
2439
- var flattenIntoArray = flattenIntoArray_1;
2440
- var toObject = toObject$5;
2441
- var lengthOfArrayLike = lengthOfArrayLike$4;
2442
- var toIntegerOrInfinity = toIntegerOrInfinity$3;
2443
- var arraySpeciesCreate = arraySpeciesCreate$1;
2444
-
2445
- // `Array.prototype.flat` method
2446
- // https://tc39.es/ecma262/#sec-array.prototype.flat
2447
- $({ target: 'Array', proto: true }, {
2448
- flat: function flat(/* depthArg = 1 */) {
2449
- var depthArg = arguments.length ? arguments[0] : undefined;
2450
- var O = toObject(this);
2451
- var sourceLen = lengthOfArrayLike(O);
2452
- var A = arraySpeciesCreate(O, 0);
2453
- A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg));
2454
- return A;
2455
- }
2456
- });
2457
-
2458
- // this method was added to unscopables after implementation
2459
- // in popular engines, so it's moved to a separate module
2460
- var addToUnscopables = addToUnscopables$2;
2461
-
2462
- // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
2463
- addToUnscopables('flat');
2464
-
2465
- function isRenderPlugin(plugin) {
2466
- return typeof plugin['getRenderWrapper'] === 'function';
2467
- }
2468
-
2469
- const ComponentWrapper = _a => {
2281
+ /**
2282
+ * This component is used to conditionally render Experiences which may include empty variants.
2283
+ * It is essential to intercept the props within the ComponentWrapper to be able to get the current variant.
2284
+ * Note: the passed props can be altered by the render plugins.
2285
+ */
2286
+ const ConditionalRenderComponent = _a => {
2470
2287
  var {
2471
2288
  children
2472
2289
  } = _a,
2473
2290
  props = __rest(_a, ["children"]);
2474
- const {
2475
- plugins
2476
- } = useNinetailed();
2477
- const renderPlugins = plugins.flat().filter(isRenderPlugin).map(plugin => plugin.getRenderWrapper());
2478
- // Initialized as empty object to not override the props of the component by default
2479
- const [enhancedComponentProps, setEnhancedComponentProps] = React.useState({});
2480
- // If there are no render plugins, we can skip the wrapping of the component
2481
- if (!renderPlugins.length) {
2482
- console.info('No Render-Plugins detected.');
2483
- return jsxRuntime.jsx(jsxRuntime.Fragment, {
2484
- children: children
2485
- });
2291
+ if ('hidden' in props && props.hidden) {
2292
+ return null;
2486
2293
  }
2487
- // Recursively wrap the component with the render plugins. The props are drilled down to the component through each wrapper.
2488
2294
  return jsxRuntime.jsx(jsxRuntime.Fragment, {
2489
- children: renderPlugins.reduce((component, WrapperComponent) => jsxRuntime.jsx(WrapperComponent, Object.assign({}, props, {
2490
- setComponentProps: setEnhancedComponentProps
2491
- }, {
2492
- children: component
2493
- })), jsxRuntime.jsx(jsxRuntime.Fragment, {
2494
- children: React__default["default"].Children.map(children, child => {
2495
- if ( /*#__PURE__*/React__default["default"].isValidElement(child)) {
2496
- return /*#__PURE__*/React__default["default"].cloneElement(child, enhancedComponentProps);
2497
- }
2498
- return null;
2499
- })
2500
- }))
2295
+ children: React__default["default"].Children.map(children, child => {
2296
+ if ( /*#__PURE__*/React__default["default"].isValidElement(child)) {
2297
+ return /*#__PURE__*/React__default["default"].cloneElement(child, props);
2298
+ }
2299
+ return null;
2300
+ })
2501
2301
  });
2502
2302
  };
2503
2303
 
2304
+ const useExperienceSelectionMiddleware = ({
2305
+ experiences,
2306
+ baseline,
2307
+ profile
2308
+ }) => {
2309
+ const {
2310
+ plugins
2311
+ } = useNinetailed();
2312
+ const [_, setCurrentTime] = React.useState(Date.now());
2313
+ const {
2314
+ addListeners,
2315
+ removeListeners,
2316
+ middleware
2317
+ } = React.useMemo(() => experience_js.makeExperienceSelectMiddleware({
2318
+ plugins,
2319
+ experiences,
2320
+ baseline,
2321
+ profile,
2322
+ onChange: () => setCurrentTime(Date.now())
2323
+ }), [plugins, experiences, baseline, profile]);
2324
+ React.useEffect(() => {
2325
+ addListeners();
2326
+ return () => {
2327
+ removeListeners();
2328
+ };
2329
+ }, [addListeners, removeListeners]);
2330
+ return middleware;
2331
+ };
2332
+
2504
2333
  const DefaultExperienceLoadingComponent = _a => {
2505
2334
  var {
2506
2335
  component: Component,
@@ -2558,8 +2387,8 @@ const Experience = _a => {
2558
2387
  const {
2559
2388
  status,
2560
2389
  hasVariants,
2561
- experience,
2562
- variant,
2390
+ experience: originalExperience,
2391
+ variant: originalVariant,
2563
2392
  audience,
2564
2393
  isPersonalized,
2565
2394
  profile
@@ -2567,6 +2396,18 @@ const Experience = _a => {
2567
2396
  baseline,
2568
2397
  experiences
2569
2398
  });
2399
+ const experienceSelectionMiddleware = useExperienceSelectionMiddleware({
2400
+ experiences,
2401
+ baseline,
2402
+ profile
2403
+ });
2404
+ const {
2405
+ experience,
2406
+ variant
2407
+ } = experienceSelectionMiddleware({
2408
+ experience: originalExperience,
2409
+ variant: originalVariant
2410
+ });
2570
2411
  const joinExperiment = useJoinExperiment();
2571
2412
  React.useEffect(() => {
2572
2413
  if (status === 'success' && experience && profile) {
@@ -2591,19 +2432,14 @@ const Experience = _a => {
2591
2432
  }));
2592
2433
  }
2593
2434
  if (!experience) {
2594
- return jsxRuntime.jsx(ComponentWrapper, Object.assign({
2595
- experiences: experiences,
2596
- baseline: baseline
2597
- }, {
2598
- children: jsxRuntime.jsx(Component, Object.assign({}, passthroughProps, baseline, {
2599
- ninetailed: {
2600
- isPersonalized: false,
2601
- audience: {
2602
- id: 'baseline'
2603
- }
2435
+ return jsxRuntime.jsx(Component, Object.assign({}, passthroughProps, baseline, {
2436
+ ninetailed: {
2437
+ isPersonalized: false,
2438
+ audience: {
2439
+ id: 'baseline'
2604
2440
  }
2605
- }))
2606
- }), baseline.id);
2441
+ }
2442
+ }));
2607
2443
  }
2608
2444
  if (!variant) {
2609
2445
  return jsxRuntime.jsx(TrackExperience, Object.assign({
@@ -2612,18 +2448,13 @@ const Experience = _a => {
2612
2448
  // the profile is definitely defined, otherwise there wouldn't be an experience selected
2613
2449
  profile: profile
2614
2450
  }, {
2615
- children: jsxRuntime.jsx(ComponentWrapper, Object.assign({
2616
- experiences: experiences,
2617
- baseline: baseline
2618
- }, {
2619
- children: jsxRuntime.jsx(Component, Object.assign({}, passthroughProps, baseline, {
2620
- ninetailed: {
2621
- isPersonalized: false,
2622
- audience: {
2623
- id: (audience === null || audience === void 0 ? void 0 : audience.id) || 'all visitors'
2624
- }
2451
+ children: jsxRuntime.jsx(Component, Object.assign({}, passthroughProps, baseline, {
2452
+ ninetailed: {
2453
+ isPersonalized: false,
2454
+ audience: {
2455
+ id: (audience === null || audience === void 0 ? void 0 : audience.id) || 'all visitors'
2625
2456
  }
2626
- }))
2457
+ }
2627
2458
  }))
2628
2459
  }), baseline.id);
2629
2460
  }
@@ -2633,10 +2464,7 @@ const Experience = _a => {
2633
2464
  // the profile is definitely defined, otherwise there wouldn't be an experience selected
2634
2465
  profile: profile
2635
2466
  }, {
2636
- children: 'hidden' in variant && variant.hidden ? null : jsxRuntime.jsx(ComponentWrapper, Object.assign({
2637
- experiences: experiences,
2638
- baseline: baseline
2639
- }, {
2467
+ children: jsxRuntime.jsx(ConditionalRenderComponent, {
2640
2468
  children: /*#__PURE__*/React.createElement(Component, Object.assign({}, Object.assign(Object.assign({}, passthroughProps), variant), {
2641
2469
  key: `${experience.id}-${variant.id}`,
2642
2470
  ninetailed: {
@@ -2646,7 +2474,7 @@ const Experience = _a => {
2646
2474
  }
2647
2475
  }
2648
2476
  }))
2649
- }))
2477
+ })
2650
2478
  }));
2651
2479
  };
2652
2480