@ninetailed/experience.js 4.3.0-beta.3 → 4.4.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
@@ -12,8 +12,6 @@ var Analytics__default = /*#__PURE__*/_interopDefaultLegacy(Analytics);
12
12
 
13
13
  const HAS_SEEN_EXPERIENCE = 'has_seen_experience';
14
14
  const HAS_SEEN_COMPONENT = 'has_seen_component';
15
- const HAS_SEEN_ELEMENT = 'has_seen_element';
16
- const PAGE_HIDDEN = 'page_hidden';
17
15
 
18
16
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
19
17
 
@@ -611,9 +609,9 @@ var inspectSource$3 = store$1.inspectSource;
611
609
  var global$d = global$k;
612
610
  var isCallable$d = isCallable$k;
613
611
 
614
- var WeakMap$2 = global$d.WeakMap;
612
+ var WeakMap$1 = global$d.WeakMap;
615
613
 
616
- var weakMapBasicDetection = isCallable$d(WeakMap$2) && /native code/.test(String(WeakMap$2));
614
+ var weakMapBasicDetection = isCallable$d(WeakMap$1) && /native code/.test(String(WeakMap$1));
617
615
 
618
616
  var shared$1 = shared$3.exports;
619
617
  var uid = uid$2;
@@ -637,7 +635,7 @@ var hiddenKeys$3 = hiddenKeys$4;
637
635
 
638
636
  var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
639
637
  var TypeError$2 = global$c.TypeError;
640
- var WeakMap$1 = global$c.WeakMap;
638
+ var WeakMap = global$c.WeakMap;
641
639
  var set$1, get, has;
642
640
 
643
641
  var enforce = function (it) {
@@ -654,7 +652,7 @@ var getterFor = function (TYPE) {
654
652
  };
655
653
 
656
654
  if (NATIVE_WEAK_MAP || shared.state) {
657
- var store = shared.state || (shared.state = new WeakMap$1());
655
+ var store = shared.state || (shared.state = new WeakMap());
658
656
  /* eslint-disable no-self-assign -- prototype methods protection */
659
657
  store.get = store.get;
660
658
  store.has = store.has;
@@ -2526,18 +2524,6 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
2526
2524
  PERFORMANCE OF THIS SOFTWARE.
2527
2525
  ***************************************************************************** */
2528
2526
 
2529
- function __rest(s, e) {
2530
- var t = {};
2531
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
2532
- t[p] = s[p];
2533
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
2534
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
2535
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
2536
- t[p[i]] = s[p[i]];
2537
- }
2538
- return t;
2539
- }
2540
-
2541
2527
  function __awaiter(thisArg, _arguments, P, generator) {
2542
2528
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2543
2529
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -2856,115 +2842,6 @@ if (NOT_GENERIC || INCORRECT_NAME) {
2856
2842
  }, { unsafe: true });
2857
2843
  }
2858
2844
 
2859
- var classof = classofRaw$2;
2860
-
2861
- // `IsArray` abstract operation
2862
- // https://tc39.es/ecma262/#sec-isarray
2863
- // eslint-disable-next-line es/no-array-isarray -- safe
2864
- var isArray$2 = Array.isArray || function isArray(argument) {
2865
- return classof(argument) == 'Array';
2866
- };
2867
-
2868
- var $TypeError$1 = TypeError;
2869
- var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991
2870
-
2871
- var doesNotExceedSafeInteger$1 = function (it) {
2872
- if (it > MAX_SAFE_INTEGER) throw $TypeError$1('Maximum allowed index exceeded');
2873
- return it;
2874
- };
2875
-
2876
- var isArray$1 = isArray$2;
2877
- var lengthOfArrayLike$2 = lengthOfArrayLike$5;
2878
- var doesNotExceedSafeInteger = doesNotExceedSafeInteger$1;
2879
- var bind = functionBindContext;
2880
-
2881
- // `FlattenIntoArray` abstract operation
2882
- // https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray
2883
- var flattenIntoArray$1 = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {
2884
- var targetIndex = start;
2885
- var sourceIndex = 0;
2886
- var mapFn = mapper ? bind(mapper, thisArg) : false;
2887
- var element, elementLen;
2888
-
2889
- while (sourceIndex < sourceLen) {
2890
- if (sourceIndex in source) {
2891
- element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];
2892
-
2893
- if (depth > 0 && isArray$1(element)) {
2894
- elementLen = lengthOfArrayLike$2(element);
2895
- targetIndex = flattenIntoArray$1(target, original, element, elementLen, targetIndex, depth - 1) - 1;
2896
- } else {
2897
- doesNotExceedSafeInteger(targetIndex + 1);
2898
- target[targetIndex] = element;
2899
- }
2900
-
2901
- targetIndex++;
2902
- }
2903
- sourceIndex++;
2904
- }
2905
- return targetIndex;
2906
- };
2907
-
2908
- var flattenIntoArray_1 = flattenIntoArray$1;
2909
-
2910
- var isArray = isArray$2;
2911
- var isConstructor = isConstructor$2;
2912
- var isObject$1 = isObject$a;
2913
- var wellKnownSymbol$3 = wellKnownSymbol$h;
2914
-
2915
- var SPECIES = wellKnownSymbol$3('species');
2916
- var $Array = Array;
2917
-
2918
- // a part of `ArraySpeciesCreate` abstract operation
2919
- // https://tc39.es/ecma262/#sec-arrayspeciescreate
2920
- var arraySpeciesConstructor$1 = function (originalArray) {
2921
- var C;
2922
- if (isArray(originalArray)) {
2923
- C = originalArray.constructor;
2924
- // cross-realm fallback
2925
- if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;
2926
- else if (isObject$1(C)) {
2927
- C = C[SPECIES];
2928
- if (C === null) C = undefined;
2929
- }
2930
- } return C === undefined ? $Array : C;
2931
- };
2932
-
2933
- var arraySpeciesConstructor = arraySpeciesConstructor$1;
2934
-
2935
- // `ArraySpeciesCreate` abstract operation
2936
- // https://tc39.es/ecma262/#sec-arrayspeciescreate
2937
- var arraySpeciesCreate$1 = function (originalArray, length) {
2938
- return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
2939
- };
2940
-
2941
- var $$3 = _export;
2942
- var flattenIntoArray = flattenIntoArray_1;
2943
- var toObject$2 = toObject$5;
2944
- var lengthOfArrayLike$1 = lengthOfArrayLike$5;
2945
- var toIntegerOrInfinity = toIntegerOrInfinity$3;
2946
- var arraySpeciesCreate = arraySpeciesCreate$1;
2947
-
2948
- // `Array.prototype.flat` method
2949
- // https://tc39.es/ecma262/#sec-array.prototype.flat
2950
- $$3({ target: 'Array', proto: true }, {
2951
- flat: function flat(/* depthArg = 1 */) {
2952
- var depthArg = arguments.length ? arguments[0] : undefined;
2953
- var O = toObject$2(this);
2954
- var sourceLen = lengthOfArrayLike$1(O);
2955
- var A = arraySpeciesCreate(O, 0);
2956
- A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg));
2957
- return A;
2958
- }
2959
- });
2960
-
2961
- // this method was added to unscopables after implementation
2962
- // in popular engines, so it's moved to a separate module
2963
- var addToUnscopables$1 = addToUnscopables$3;
2964
-
2965
- // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
2966
- addToUnscopables$1('flat');
2967
-
2968
2845
  var fails$3 = fails$h;
2969
2846
 
2970
2847
  var correctPrototypeGetter = !fails$3(function () {
@@ -2976,7 +2853,7 @@ var correctPrototypeGetter = !fails$3(function () {
2976
2853
 
2977
2854
  var hasOwn = hasOwnProperty_1;
2978
2855
  var isCallable$2 = isCallable$k;
2979
- var toObject$1 = toObject$5;
2856
+ var toObject$2 = toObject$5;
2980
2857
  var sharedKey = sharedKey$3;
2981
2858
  var CORRECT_PROTOTYPE_GETTER = correctPrototypeGetter;
2982
2859
 
@@ -2988,7 +2865,7 @@ var ObjectPrototype = $Object.prototype;
2988
2865
  // https://tc39.es/ecma262/#sec-object.getprototypeof
2989
2866
  // eslint-disable-next-line es/no-object-getprototypeof -- safe
2990
2867
  var objectGetPrototypeOf = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {
2991
- var object = toObject$1(O);
2868
+ var object = toObject$2(O);
2992
2869
  if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];
2993
2870
  var constructor = object.constructor;
2994
2871
  if (isCallable$2(constructor) && object instanceof constructor) {
@@ -2998,12 +2875,12 @@ var objectGetPrototypeOf = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : f
2998
2875
 
2999
2876
  var fails$2 = fails$h;
3000
2877
  var isCallable$1 = isCallable$k;
3001
- var isObject = isObject$a;
2878
+ var isObject$1 = isObject$a;
3002
2879
  var getPrototypeOf$1 = objectGetPrototypeOf;
3003
2880
  var defineBuiltIn$1 = defineBuiltIn$6;
3004
- var wellKnownSymbol$2 = wellKnownSymbol$h;
2881
+ var wellKnownSymbol$3 = wellKnownSymbol$h;
3005
2882
 
3006
- var ITERATOR$3 = wellKnownSymbol$2('iterator');
2883
+ var ITERATOR$3 = wellKnownSymbol$3('iterator');
3007
2884
  var BUGGY_SAFARI_ITERATORS$1 = false;
3008
2885
 
3009
2886
  // `%IteratorPrototype%` object
@@ -3021,7 +2898,7 @@ if ([].keys) {
3021
2898
  }
3022
2899
  }
3023
2900
 
3024
- var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype$2) || fails$2(function () {
2901
+ var NEW_ITERATOR_PROTOTYPE = !isObject$1(IteratorPrototype$2) || fails$2(function () {
3025
2902
  var test = {};
3026
2903
  // FF44- legacy iterators case
3027
2904
  return IteratorPrototype$2[ITERATOR$3].call(test) !== test;
@@ -3058,7 +2935,7 @@ var iteratorCreateConstructor = function (IteratorConstructor, NAME, next, ENUME
3058
2935
  return IteratorConstructor;
3059
2936
  };
3060
2937
 
3061
- var $$2 = _export;
2938
+ var $$3 = _export;
3062
2939
  var call = functionCall;
3063
2940
  var FunctionName = functionName;
3064
2941
  var isCallable = isCallable$k;
@@ -3068,7 +2945,7 @@ var setPrototypeOf = objectSetPrototypeOf;
3068
2945
  var setToStringTag = setToStringTag$3;
3069
2946
  var createNonEnumerableProperty$1 = createNonEnumerableProperty$4;
3070
2947
  var defineBuiltIn = defineBuiltIn$6;
3071
- var wellKnownSymbol$1 = wellKnownSymbol$h;
2948
+ var wellKnownSymbol$2 = wellKnownSymbol$h;
3072
2949
  var Iterators$1 = iterators;
3073
2950
  var IteratorsCore = iteratorsCore;
3074
2951
 
@@ -3076,7 +2953,7 @@ var PROPER_FUNCTION_NAME = FunctionName.PROPER;
3076
2953
  var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
3077
2954
  var IteratorPrototype = IteratorsCore.IteratorPrototype;
3078
2955
  var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
3079
- var ITERATOR$2 = wellKnownSymbol$1('iterator');
2956
+ var ITERATOR$2 = wellKnownSymbol$2('iterator');
3080
2957
  var KEYS = 'keys';
3081
2958
  var VALUES = 'values';
3082
2959
  var ENTRIES = 'entries';
@@ -3143,7 +3020,7 @@ var iteratorDefine = function (Iterable, NAME, IteratorConstructor, next, DEFAUL
3143
3020
  if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
3144
3021
  defineBuiltIn(IterablePrototype, KEY, methods[KEY]);
3145
3022
  }
3146
- } else $$2({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
3023
+ } else $$3({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
3147
3024
  }
3148
3025
 
3149
3026
  // define iterator
@@ -3162,7 +3039,7 @@ var createIterResultObject$1 = function (value, done) {
3162
3039
  };
3163
3040
 
3164
3041
  var toIndexedObject = toIndexedObject$5;
3165
- var addToUnscopables = addToUnscopables$3;
3042
+ var addToUnscopables$1 = addToUnscopables$3;
3166
3043
  var Iterators = iterators;
3167
3044
  var InternalStateModule = internalState;
3168
3045
  var defineProperty = objectDefineProperty.f;
@@ -3213,9 +3090,9 @@ var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind)
3213
3090
  var values = Iterators.Arguments = Iterators.Array;
3214
3091
 
3215
3092
  // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
3216
- addToUnscopables('keys');
3217
- addToUnscopables('values');
3218
- addToUnscopables('entries');
3093
+ addToUnscopables$1('keys');
3094
+ addToUnscopables$1('values');
3095
+ addToUnscopables$1('entries');
3219
3096
 
3220
3097
  // V8 ~ Chrome 45- bug
3221
3098
  if (DESCRIPTORS && values.name !== 'values') try {
@@ -3271,10 +3148,10 @@ var DOMIterables = domIterables;
3271
3148
  var DOMTokenListPrototype = domTokenListPrototype;
3272
3149
  var ArrayIteratorMethods = es_array_iterator;
3273
3150
  var createNonEnumerableProperty = createNonEnumerableProperty$4;
3274
- var wellKnownSymbol = wellKnownSymbol$h;
3151
+ var wellKnownSymbol$1 = wellKnownSymbol$h;
3275
3152
 
3276
- var ITERATOR$1 = wellKnownSymbol('iterator');
3277
- var TO_STRING_TAG = wellKnownSymbol('toStringTag');
3153
+ var ITERATOR$1 = wellKnownSymbol$1('iterator');
3154
+ var TO_STRING_TAG = wellKnownSymbol$1('toStringTag');
3278
3155
  var ArrayValues = ArrayIteratorMethods.values;
3279
3156
 
3280
3157
  var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
@@ -3305,54 +3182,115 @@ for (var COLLECTION_NAME in DOMIterables) {
3305
3182
 
3306
3183
  handlePrototype(DOMTokenListPrototype, 'DOMTokenList');
3307
3184
 
3308
- class ElementSeenObserver {
3309
- constructor(_options) {
3310
- this._options = _options;
3311
- this._elementDelays = new WeakMap();
3312
- this._intersectionTimers = new WeakMap();
3313
- if (typeof IntersectionObserver !== 'undefined') {
3314
- this._intersectionObserver = new IntersectionObserver(this.onIntersection.bind(this));
3315
- }
3316
- }
3317
- onIntersection(entries) {
3318
- entries.forEach(entry => {
3319
- const {
3320
- isIntersecting,
3321
- target
3322
- } = entry;
3323
- if (isIntersecting) {
3324
- const delay = this._elementDelays.get(target);
3325
- const timeOut = window.setTimeout(() => {
3326
- this._options.onElementSeen(target);
3327
- }, delay);
3328
- this._intersectionTimers.set(target, timeOut);
3185
+ var classof = classofRaw$2;
3186
+
3187
+ // `IsArray` abstract operation
3188
+ // https://tc39.es/ecma262/#sec-isarray
3189
+ // eslint-disable-next-line es/no-array-isarray -- safe
3190
+ var isArray$2 = Array.isArray || function isArray(argument) {
3191
+ return classof(argument) == 'Array';
3192
+ };
3193
+
3194
+ var $TypeError$1 = TypeError;
3195
+ var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991
3196
+
3197
+ var doesNotExceedSafeInteger$1 = function (it) {
3198
+ if (it > MAX_SAFE_INTEGER) throw $TypeError$1('Maximum allowed index exceeded');
3199
+ return it;
3200
+ };
3201
+
3202
+ var isArray$1 = isArray$2;
3203
+ var lengthOfArrayLike$2 = lengthOfArrayLike$5;
3204
+ var doesNotExceedSafeInteger = doesNotExceedSafeInteger$1;
3205
+ var bind = functionBindContext;
3206
+
3207
+ // `FlattenIntoArray` abstract operation
3208
+ // https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray
3209
+ var flattenIntoArray$1 = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {
3210
+ var targetIndex = start;
3211
+ var sourceIndex = 0;
3212
+ var mapFn = mapper ? bind(mapper, thisArg) : false;
3213
+ var element, elementLen;
3214
+
3215
+ while (sourceIndex < sourceLen) {
3216
+ if (sourceIndex in source) {
3217
+ element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];
3218
+
3219
+ if (depth > 0 && isArray$1(element)) {
3220
+ elementLen = lengthOfArrayLike$2(element);
3221
+ targetIndex = flattenIntoArray$1(target, original, element, elementLen, targetIndex, depth - 1) - 1;
3329
3222
  } else {
3330
- const timeOut = this._intersectionTimers.get(target);
3331
- if (typeof timeOut !== 'undefined') {
3332
- window.clearTimeout(timeOut);
3333
- }
3223
+ doesNotExceedSafeInteger(targetIndex + 1);
3224
+ target[targetIndex] = element;
3334
3225
  }
3335
- });
3336
- }
3337
- observe(element, options) {
3338
- var _a, _b;
3339
- this._elementDelays.set(element, (_a = options === null || options === void 0 ? void 0 : options.delay) !== null && _a !== void 0 ? _a : 2000);
3340
- (_b = this._intersectionObserver) === null || _b === void 0 ? void 0 : _b.observe(element);
3341
- }
3342
- unobserve(element) {
3343
- var _a;
3344
- (_a = this._intersectionObserver) === null || _a === void 0 ? void 0 : _a.unobserve(element);
3226
+
3227
+ targetIndex++;
3228
+ }
3229
+ sourceIndex++;
3345
3230
  }
3346
- }
3231
+ return targetIndex;
3232
+ };
3233
+
3234
+ var flattenIntoArray_1 = flattenIntoArray$1;
3347
3235
 
3348
- const acceptsCredentials = plugin => {
3349
- return typeof plugin === 'object' && plugin !== null && 'setCredentials' in plugin && typeof plugin.setCredentials === 'function';
3236
+ var isArray = isArray$2;
3237
+ var isConstructor = isConstructor$2;
3238
+ var isObject = isObject$a;
3239
+ var wellKnownSymbol = wellKnownSymbol$h;
3240
+
3241
+ var SPECIES = wellKnownSymbol('species');
3242
+ var $Array = Array;
3243
+
3244
+ // a part of `ArraySpeciesCreate` abstract operation
3245
+ // https://tc39.es/ecma262/#sec-arrayspeciescreate
3246
+ var arraySpeciesConstructor$1 = function (originalArray) {
3247
+ var C;
3248
+ if (isArray(originalArray)) {
3249
+ C = originalArray.constructor;
3250
+ // cross-realm fallback
3251
+ if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;
3252
+ else if (isObject(C)) {
3253
+ C = C[SPECIES];
3254
+ if (C === null) C = undefined;
3255
+ }
3256
+ } return C === undefined ? $Array : C;
3350
3257
  };
3351
3258
 
3352
- const isInterestedInHiddenPage = arg => {
3353
- return typeof arg === 'object' && arg !== null && PAGE_HIDDEN in arg && typeof arg[PAGE_HIDDEN] === 'function';
3259
+ var arraySpeciesConstructor = arraySpeciesConstructor$1;
3260
+
3261
+ // `ArraySpeciesCreate` abstract operation
3262
+ // https://tc39.es/ecma262/#sec-arrayspeciescreate
3263
+ var arraySpeciesCreate$1 = function (originalArray, length) {
3264
+ return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
3354
3265
  };
3355
3266
 
3267
+ var $$2 = _export;
3268
+ var flattenIntoArray = flattenIntoArray_1;
3269
+ var toObject$1 = toObject$5;
3270
+ var lengthOfArrayLike$1 = lengthOfArrayLike$5;
3271
+ var toIntegerOrInfinity = toIntegerOrInfinity$3;
3272
+ var arraySpeciesCreate = arraySpeciesCreate$1;
3273
+
3274
+ // `Array.prototype.flat` method
3275
+ // https://tc39.es/ecma262/#sec-array.prototype.flat
3276
+ $$2({ target: 'Array', proto: true }, {
3277
+ flat: function flat(/* depthArg = 1 */) {
3278
+ var depthArg = arguments.length ? arguments[0] : undefined;
3279
+ var O = toObject$1(this);
3280
+ var sourceLen = lengthOfArrayLike$1(O);
3281
+ var A = arraySpeciesCreate(O, 0);
3282
+ A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg));
3283
+ return A;
3284
+ }
3285
+ });
3286
+
3287
+ // this method was added to unscopables after implementation
3288
+ // in popular engines, so it's moved to a separate module
3289
+ var addToUnscopables = addToUnscopables$3;
3290
+
3291
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
3292
+ addToUnscopables('flat');
3293
+
3356
3294
  class Ninetailed {
3357
3295
  constructor(ninetailedApiClientInstanceOrOptions, {
3358
3296
  plugins,
@@ -3408,28 +3346,6 @@ class Ninetailed {
3408
3346
  type: HAS_SEEN_EXPERIENCE
3409
3347
  }));
3410
3348
  };
3411
- this.observeElement = (payload, options) => {
3412
- const {
3413
- element
3414
- } = payload,
3415
- remaingPayload = __rest(payload, ["element"]);
3416
- this.observedElements.set(element, remaingPayload);
3417
- this.elementSeenObserver.observe(element, options);
3418
- };
3419
- this.unobserveElement = element => {
3420
- this.observedElements.delete(element);
3421
- this.elementSeenObserver.unobserve(element);
3422
- };
3423
- this.onElementSeen = element => {
3424
- const payload = this.observedElements.get(element);
3425
- if (typeof payload !== 'undefined') {
3426
- this.instance.dispatch(Object.assign(Object.assign({
3427
- element
3428
- }, payload), {
3429
- type: HAS_SEEN_ELEMENT
3430
- }));
3431
- }
3432
- };
3433
3349
  this.identify = (uid, traits, options) => __awaiter(this, void 0, void 0, function* () {
3434
3350
  try {
3435
3351
  const result = experience_jsShared.Traits.default({}).safeParse(traits);
@@ -3497,18 +3413,6 @@ class Ninetailed {
3497
3413
  this.onIsInitialized(resolve);
3498
3414
  });
3499
3415
  };
3500
- this.onVisibilityChange = () => {
3501
- if (typeof document === 'undefined') {
3502
- return;
3503
- }
3504
- document.addEventListener('visibilitychange', () => {
3505
- if (document.visibilityState === 'hidden') {
3506
- this.instance.dispatch({
3507
- type: PAGE_HIDDEN
3508
- });
3509
- }
3510
- });
3511
- };
3512
3416
  if (ninetailedApiClientInstanceOrOptions instanceof experience_jsShared.NinetailedApiClient) {
3513
3417
  this.apiClient = ninetailedApiClientInstanceOrOptions;
3514
3418
  } else {
@@ -3526,15 +3430,15 @@ class Ninetailed {
3526
3430
  preview
3527
3431
  });
3528
3432
  }
3529
- this.plugins = (plugins !== null && plugins !== void 0 ? plugins : []).flat();
3530
- this.plugins.forEach(plugin => {
3531
- if (acceptsCredentials(plugin) && this.clientId && this.environment) {
3532
- plugin.setCredentials({
3433
+ this.plugins = [...(plugins || []).map(plugin => {
3434
+ if ('setCredentials' in plugin && typeof plugin['setCredentials'] === 'function') {
3435
+ plugin['setCredentials']({
3533
3436
  clientId: this.clientId,
3534
3437
  environment: this.environment
3535
3438
  });
3536
3439
  }
3537
- });
3440
+ return plugin;
3441
+ }).flat()];
3538
3442
  if (profile) {
3539
3443
  this._profileState = {
3540
3444
  status: 'success',
@@ -3582,14 +3486,6 @@ class Ninetailed {
3582
3486
  });
3583
3487
  }
3584
3488
  });
3585
- this.observedElements = new WeakMap();
3586
- this.elementSeenObserver = new ElementSeenObserver({
3587
- onElementSeen: this.onElementSeen.bind(this)
3588
- });
3589
- const hasPluginsInterestedInHiddenPage = this.plugins.some(isInterestedInHiddenPage);
3590
- if (hasPluginsInterestedInHiddenPage) {
3591
- this.onVisibilityChange();
3592
- }
3593
3489
  this.registerWindowHandlers();
3594
3490
  }
3595
3491
  get profileState() {
@@ -4033,13 +3929,11 @@ exports.CONSENT = CONSENT;
4033
3929
  exports.DEBUG_FLAG = DEBUG_FLAG;
4034
3930
  exports.EMPTY_MERGE_ID = EMPTY_MERGE_ID;
4035
3931
  exports.HAS_SEEN_COMPONENT = HAS_SEEN_COMPONENT;
4036
- exports.HAS_SEEN_ELEMENT = HAS_SEEN_ELEMENT;
4037
3932
  exports.HAS_SEEN_EXPERIENCE = HAS_SEEN_EXPERIENCE;
4038
3933
  exports.LEGACY_ANONYMOUS_ID = LEGACY_ANONYMOUS_ID;
4039
3934
  exports.Ninetailed = Ninetailed;
4040
3935
  exports.NinetailedPlugin = NinetailedPlugin;
4041
3936
  exports.OnChangeEmitter = OnChangeEmitter;
4042
- exports.PAGE_HIDDEN = PAGE_HIDDEN;
4043
3937
  exports.PLUGIN_NAME = PLUGIN_NAME;
4044
3938
  exports.PROFILE_CHANGE = PROFILE_CHANGE;
4045
3939
  exports.PROFILE_FALLBACK_CACHE = PROFILE_FALLBACK_CACHE;
@@ -4047,7 +3941,6 @@ exports.PROFILE_RESET = PROFILE_RESET;
4047
3941
  exports.SET_ENABLED_FEATURES = SET_ENABLED_FEATURES;
4048
3942
  exports.TrackComponentProperties = TrackComponentProperties;
4049
3943
  exports.TrackExperienceProperties = TrackExperienceProperties;
4050
- exports.buildClientNinetailedRequestContext = buildClientNinetailedRequestContext;
4051
3944
  exports.decodeExperienceVariantsMap = decodeExperienceVariantsMap;
4052
3945
  exports.makeExperienceSelectMiddleware = makeExperienceSelectMiddleware;
4053
3946
  exports.ninetailedPlugin = ninetailedPlugin;
package/index.d.ts CHANGED
@@ -7,9 +7,5 @@ export * from './lib/experience';
7
7
  export * from './lib/plugins/selectPluginsHavingExperienceSelectionMiddleware';
8
8
  export * from './lib/plugins/selectPluginsHavingOnChangeEmitter';
9
9
  export * from './lib/types/interfaces/HasExperienceSelectionMiddleware';
10
- export * from './lib/types/interfaces/InterestedInSeenElements';
11
- export * from './lib/types/interfaces/InterestedInProfileChange';
12
- export * from './lib/types/interfaces/InterestedInHiddenPage';
13
- export * from './lib/types/interfaces/AcceptsCredentials';
14
10
  export * from './lib/utils/OnChangeEmitter';
15
11
  export type { Profile } from '@ninetailed/experience.js-shared';