@selwise/widget 0.0.2 → 1.0.0
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/README.md +2 -1
- package/dist/npm/cjs/index.cjs +2 -0
- package/dist/npm/cjs/index.cjs.LICENSE.txt +1 -0
- package/dist/npm/cjs/index.d.ts +59 -0
- package/dist/npm/esm/index.d.ts +59 -4
- package/dist/npm/esm/index.mjs +2 -0
- package/dist/npm/esm/index.mjs.LICENSE.txt +1 -0
- package/package.json +14 -16
- package/dist/npm/cjs/constants.js +0 -167
- package/dist/npm/cjs/constants.js.map +0 -1
- package/dist/npm/cjs/core/conflict-resolver.js +0 -203
- package/dist/npm/cjs/core/conflict-resolver.js.map +0 -1
- package/dist/npm/cjs/core/event-batcher.js +0 -977
- package/dist/npm/cjs/core/event-batcher.js.map +0 -1
- package/dist/npm/cjs/core/experiment-overrides.js +0 -178
- package/dist/npm/cjs/core/experiment-overrides.js.map +0 -1
- package/dist/npm/cjs/core/experiments.js +0 -317
- package/dist/npm/cjs/core/experiments.js.map +0 -1
- package/dist/npm/cjs/core/frequency-caps.js +0 -297
- package/dist/npm/cjs/core/frequency-caps.js.map +0 -1
- package/dist/npm/cjs/core/index.js +0 -27
- package/dist/npm/cjs/core/index.js.map +0 -1
- package/dist/npm/cjs/core/indexeddb-queue.js +0 -333
- package/dist/npm/cjs/core/indexeddb-queue.js.map +0 -1
- package/dist/npm/cjs/core/journey-tracker.js +0 -243
- package/dist/npm/cjs/core/journey-tracker.js.map +0 -1
- package/dist/npm/cjs/core/page-targeting/index.js +0 -72
- package/dist/npm/cjs/core/page-targeting/index.js.map +0 -1
- package/dist/npm/cjs/core/script-executor.js +0 -80
- package/dist/npm/cjs/core/script-executor.js.map +0 -1
- package/dist/npm/cjs/core/segments.js +0 -172
- package/dist/npm/cjs/core/segments.js.map +0 -1
- package/dist/npm/cjs/core/tracker.js +0 -798
- package/dist/npm/cjs/core/tracker.js.map +0 -1
- package/dist/npm/cjs/datalayer/basket.js +0 -385
- package/dist/npm/cjs/datalayer/basket.js.map +0 -1
- package/dist/npm/cjs/datalayer/cart-association.js +0 -226
- package/dist/npm/cjs/datalayer/cart-association.js.map +0 -1
- package/dist/npm/cjs/datalayer/checkout.js +0 -382
- package/dist/npm/cjs/datalayer/checkout.js.map +0 -1
- package/dist/npm/cjs/datalayer/constants.js +0 -163
- package/dist/npm/cjs/datalayer/constants.js.map +0 -1
- package/dist/npm/cjs/datalayer/index.js +0 -1010
- package/dist/npm/cjs/datalayer/index.js.map +0 -1
- package/dist/npm/cjs/datalayer/listener.js +0 -416
- package/dist/npm/cjs/datalayer/listener.js.map +0 -1
- package/dist/npm/cjs/datalayer/page.js +0 -343
- package/dist/npm/cjs/datalayer/page.js.map +0 -1
- package/dist/npm/cjs/datalayer/product.js +0 -517
- package/dist/npm/cjs/datalayer/product.js.map +0 -1
- package/dist/npm/cjs/datalayer/reverse-mappings.js +0 -139
- package/dist/npm/cjs/datalayer/reverse-mappings.js.map +0 -1
- package/dist/npm/cjs/datalayer/search.js +0 -363
- package/dist/npm/cjs/datalayer/search.js.map +0 -1
- package/dist/npm/cjs/datalayer/types.js +0 -134
- package/dist/npm/cjs/datalayer/types.js.map +0 -1
- package/dist/npm/cjs/datalayer/user.js +0 -372
- package/dist/npm/cjs/datalayer/user.js.map +0 -1
- package/dist/npm/cjs/debug/index.js +0 -679
- package/dist/npm/cjs/debug/index.js.map +0 -1
- package/dist/npm/cjs/entries/cdn.js +0 -72
- package/dist/npm/cjs/entries/cdn.js.map +0 -1
- package/dist/npm/cjs/index.js +0 -10
- package/dist/npm/cjs/index.js.map +0 -1
- package/dist/npm/cjs/modules/contract/recommendation-contract.js +0 -119
- package/dist/npm/cjs/modules/contract/recommendation-contract.js.map +0 -1
- package/dist/npm/cjs/modules/contract/search-contract.js +0 -18
- package/dist/npm/cjs/modules/contract/search-contract.js.map +0 -1
- package/dist/npm/cjs/modules/contract/tracking-contract.js +0 -16
- package/dist/npm/cjs/modules/contract/tracking-contract.js.map +0 -1
- package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/configs.js +0 -164
- package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/configs.js.map +0 -1
- package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/index.js +0 -21
- package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/index.js.map +0 -1
- package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/types.js +0 -3
- package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/types.js.map +0 -1
- package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/validators.js +0 -107
- package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/validators.js.map +0 -1
- package/dist/npm/cjs/modules/contract/vendor/search-contract/configs.js +0 -404
- package/dist/npm/cjs/modules/contract/vendor/search-contract/configs.js.map +0 -1
- package/dist/npm/cjs/modules/contract/vendor/search-contract/index.js +0 -21
- package/dist/npm/cjs/modules/contract/vendor/search-contract/index.js.map +0 -1
- package/dist/npm/cjs/modules/contract/vendor/search-contract/types.js +0 -8
- package/dist/npm/cjs/modules/contract/vendor/search-contract/types.js.map +0 -1
- package/dist/npm/cjs/modules/contract/vendor/search-contract/validators.js +0 -126
- package/dist/npm/cjs/modules/contract/vendor/search-contract/validators.js.map +0 -1
- package/dist/npm/cjs/modules/contract/vendor/tracking-contract/configs.js +0 -133
- package/dist/npm/cjs/modules/contract/vendor/tracking-contract/configs.js.map +0 -1
- package/dist/npm/cjs/modules/contract/vendor/tracking-contract/index.js +0 -21
- package/dist/npm/cjs/modules/contract/vendor/tracking-contract/index.js.map +0 -1
- package/dist/npm/cjs/modules/contract/vendor/tracking-contract/types.js +0 -3
- package/dist/npm/cjs/modules/contract/vendor/tracking-contract/types.js.map +0 -1
- package/dist/npm/cjs/modules/contract/vendor/tracking-contract/validators.js +0 -154
- package/dist/npm/cjs/modules/contract/vendor/tracking-contract/validators.js.map +0 -1
- package/dist/npm/cjs/modules/contract/vendor/widget-contract/configs.js +0 -1481
- package/dist/npm/cjs/modules/contract/vendor/widget-contract/configs.js.map +0 -1
- package/dist/npm/cjs/modules/contract/vendor/widget-contract/index.js +0 -22
- package/dist/npm/cjs/modules/contract/vendor/widget-contract/index.js.map +0 -1
- package/dist/npm/cjs/modules/contract/vendor/widget-contract/layout.js +0 -21
- package/dist/npm/cjs/modules/contract/vendor/widget-contract/layout.js.map +0 -1
- package/dist/npm/cjs/modules/contract/vendor/widget-contract/types.js +0 -8
- package/dist/npm/cjs/modules/contract/vendor/widget-contract/types.js.map +0 -1
- package/dist/npm/cjs/modules/contract/vendor/widget-contract/validators.js +0 -139
- package/dist/npm/cjs/modules/contract/vendor/widget-contract/validators.js.map +0 -1
- package/dist/npm/cjs/modules/contract/widget-contract.js +0 -10
- package/dist/npm/cjs/modules/contract/widget-contract.js.map +0 -1
- package/dist/npm/cjs/modules/products/tracking.js +0 -214
- package/dist/npm/cjs/modules/products/tracking.js.map +0 -1
- package/dist/npm/cjs/modules/recommendation/cart-handlers.js +0 -52
- package/dist/npm/cjs/modules/recommendation/cart-handlers.js.map +0 -1
- package/dist/npm/cjs/modules/recommendation/components/product-card-renderer.js +0 -287
- package/dist/npm/cjs/modules/recommendation/components/product-card-renderer.js.map +0 -1
- package/dist/npm/cjs/modules/recommendation/index.js +0 -678
- package/dist/npm/cjs/modules/recommendation/index.js.map +0 -1
- package/dist/npm/cjs/modules/recommendation/renderers/grid.js +0 -21
- package/dist/npm/cjs/modules/recommendation/renderers/grid.js.map +0 -1
- package/dist/npm/cjs/modules/recommendation/renderers/list.js +0 -22
- package/dist/npm/cjs/modules/recommendation/renderers/list.js.map +0 -1
- package/dist/npm/cjs/modules/recommendation/renderers/masonry.js +0 -22
- package/dist/npm/cjs/modules/recommendation/renderers/masonry.js.map +0 -1
- package/dist/npm/cjs/modules/recommendation/renderers/slider-renderer.js +0 -145
- package/dist/npm/cjs/modules/recommendation/renderers/slider-renderer.js.map +0 -1
- package/dist/npm/cjs/modules/recommendation/slider-controls.js +0 -201
- package/dist/npm/cjs/modules/recommendation/slider-controls.js.map +0 -1
- package/dist/npm/cjs/modules/recommendation/tracking.js +0 -247
- package/dist/npm/cjs/modules/recommendation/tracking.js.map +0 -1
- package/dist/npm/cjs/modules/recommendation/utils/dom.js +0 -70
- package/dist/npm/cjs/modules/recommendation/utils/dom.js.map +0 -1
- package/dist/npm/cjs/modules/recommendation/utils/format.js +0 -13
- package/dist/npm/cjs/modules/recommendation/utils/format.js.map +0 -1
- package/dist/npm/cjs/modules/recommendation/utils/index.js +0 -22
- package/dist/npm/cjs/modules/recommendation/utils/index.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/helpers.js +0 -16
- package/dist/npm/cjs/modules/renderer/helpers.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/index.js +0 -52
- package/dist/npm/cjs/modules/renderer/index.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/style-resolver.js +0 -11
- package/dist/npm/cjs/modules/renderer/style-resolver.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/styles/index.js +0 -254
- package/dist/npm/cjs/modules/renderer/styles/index.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/styles.js +0 -7
- package/dist/npm/cjs/modules/renderer/styles.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/utils/helpers.js +0 -243
- package/dist/npm/cjs/modules/renderer/utils/helpers.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/utils/image-renderer.js +0 -65
- package/dist/npm/cjs/modules/renderer/utils/image-renderer.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/utils/placement.js +0 -34
- package/dist/npm/cjs/modules/renderer/utils/placement.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/utils.js +0 -61
- package/dist/npm/cjs/modules/renderer/utils.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/widgets/announcement-bar.js +0 -84
- package/dist/npm/cjs/modules/renderer/widgets/announcement-bar.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/widgets/cart-count.js +0 -211
- package/dist/npm/cjs/modules/renderer/widgets/cart-count.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/widgets/cookie-consent.js +0 -459
- package/dist/npm/cjs/modules/renderer/widgets/cookie-consent.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/widgets/countdown-timer.js +0 -132
- package/dist/npm/cjs/modules/renderer/widgets/countdown-timer.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/widgets/custom.js +0 -58
- package/dist/npm/cjs/modules/renderer/widgets/custom.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/widgets/embedded-card.js +0 -97
- package/dist/npm/cjs/modules/renderer/widgets/embedded-card.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/widgets/exit-intent-popup.js +0 -151
- package/dist/npm/cjs/modules/renderer/widgets/exit-intent-popup.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/widgets/floating-button.js +0 -70
- package/dist/npm/cjs/modules/renderer/widgets/floating-button.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/widgets/helpers.js +0 -87
- package/dist/npm/cjs/modules/renderer/widgets/helpers.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/widgets/index.js +0 -39
- package/dist/npm/cjs/modules/renderer/widgets/index.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/widgets/inline-banner.js +0 -124
- package/dist/npm/cjs/modules/renderer/widgets/inline-banner.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/widgets/newsletter.js +0 -280
- package/dist/npm/cjs/modules/renderer/widgets/newsletter.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/widgets/product-view-count.js +0 -197
- package/dist/npm/cjs/modules/renderer/widgets/product-view-count.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/widgets/slide-in.js +0 -105
- package/dist/npm/cjs/modules/renderer/widgets/slide-in.js.map +0 -1
- package/dist/npm/cjs/modules/renderer/widgets/sticky-footer.js +0 -47
- package/dist/npm/cjs/modules/renderer/widgets/sticky-footer.js.map +0 -1
- package/dist/npm/cjs/modules/search/cart/index.js +0 -42
- package/dist/npm/cjs/modules/search/cart/index.js.map +0 -1
- package/dist/npm/cjs/modules/search/components/index.js +0 -13
- package/dist/npm/cjs/modules/search/components/index.js.map +0 -1
- package/dist/npm/cjs/modules/search/components/search-box.js +0 -28
- package/dist/npm/cjs/modules/search/components/search-box.js.map +0 -1
- package/dist/npm/cjs/modules/search/components/search-item.js +0 -197
- package/dist/npm/cjs/modules/search/components/search-item.js.map +0 -1
- package/dist/npm/cjs/modules/search/components/suggestions.js +0 -132
- package/dist/npm/cjs/modules/search/components/suggestions.js.map +0 -1
- package/dist/npm/cjs/modules/search/index.js +0 -646
- package/dist/npm/cjs/modules/search/index.js.map +0 -1
- package/dist/npm/cjs/modules/search/renderers/position-renderers.js +0 -229
- package/dist/npm/cjs/modules/search/renderers/position-renderers.js.map +0 -1
- package/dist/npm/cjs/modules/search/renderers/results-renderer.js +0 -180
- package/dist/npm/cjs/modules/search/renderers/results-renderer.js.map +0 -1
- package/dist/npm/cjs/modules/search/services/api-service.js +0 -121
- package/dist/npm/cjs/modules/search/services/api-service.js.map +0 -1
- package/dist/npm/cjs/modules/search/services/tracking-service.js +0 -263
- package/dist/npm/cjs/modules/search/services/tracking-service.js.map +0 -1
- package/dist/npm/cjs/modules/search/styles.js +0 -864
- package/dist/npm/cjs/modules/search/styles.js.map +0 -1
- package/dist/npm/cjs/modules/search/utils/helpers.js +0 -100
- package/dist/npm/cjs/modules/search/utils/helpers.js.map +0 -1
- package/dist/npm/cjs/modules/search/utils/icons.js +0 -41
- package/dist/npm/cjs/modules/search/utils/icons.js.map +0 -1
- package/dist/npm/cjs/modules/search/utils/index.js +0 -22
- package/dist/npm/cjs/modules/search/utils/index.js.map +0 -1
- package/dist/npm/cjs/modules/search/utils/storage.js +0 -58
- package/dist/npm/cjs/modules/search/utils/storage.js.map +0 -1
- package/dist/npm/cjs/selwise.js +0 -1160
- package/dist/npm/cjs/selwise.js.map +0 -1
- package/dist/npm/cjs/sentry-test.js +0 -118
- package/dist/npm/cjs/sentry-test.js.map +0 -1
- package/dist/npm/cjs/sentry.js +0 -451
- package/dist/npm/cjs/sentry.js.map +0 -1
- package/dist/npm/cjs/shared/cart/handlers.js +0 -259
- package/dist/npm/cjs/shared/cart/handlers.js.map +0 -1
- package/dist/npm/cjs/shared/cart/index.js +0 -23
- package/dist/npm/cjs/shared/cart/index.js.map +0 -1
- package/dist/npm/cjs/shared/cart/types.js +0 -7
- package/dist/npm/cjs/shared/cart/types.js.map +0 -1
- package/dist/npm/cjs/shared/product-card/index.js +0 -24
- package/dist/npm/cjs/shared/product-card/index.js.map +0 -1
- package/dist/npm/cjs/shared/product-card/renderer.js +0 -341
- package/dist/npm/cjs/shared/product-card/renderer.js.map +0 -1
- package/dist/npm/cjs/shared/product-card/styles.js +0 -195
- package/dist/npm/cjs/shared/product-card/styles.js.map +0 -1
- package/dist/npm/cjs/shared/product-card/types.js +0 -67
- package/dist/npm/cjs/shared/product-card/types.js.map +0 -1
- package/dist/npm/cjs/types/config.js +0 -6
- package/dist/npm/cjs/types/config.js.map +0 -1
- package/dist/npm/cjs/types/experiments.js +0 -17
- package/dist/npm/cjs/types/experiments.js.map +0 -1
- package/dist/npm/cjs/types/global-api.js +0 -3
- package/dist/npm/cjs/types/global-api.js.map +0 -1
- package/dist/npm/cjs/types/index.js +0 -27
- package/dist/npm/cjs/types/index.js.map +0 -1
- package/dist/npm/cjs/types/recommendation.js +0 -6
- package/dist/npm/cjs/types/recommendation.js.map +0 -1
- package/dist/npm/cjs/types/renderer.js +0 -6
- package/dist/npm/cjs/types/renderer.js.map +0 -1
- package/dist/npm/cjs/types/search.js +0 -6
- package/dist/npm/cjs/types/search.js.map +0 -1
- package/dist/npm/cjs/utils/api-url.js +0 -35
- package/dist/npm/cjs/utils/api-url.js.map +0 -1
- package/dist/npm/cjs/utils/debounce.js +0 -74
- package/dist/npm/cjs/utils/debounce.js.map +0 -1
- package/dist/npm/cjs/utils/event-id.js +0 -23
- package/dist/npm/cjs/utils/event-id.js.map +0 -1
- package/dist/npm/cjs/utils/index.js +0 -28
- package/dist/npm/cjs/utils/index.js.map +0 -1
- package/dist/npm/cjs/utils/logger.js +0 -74
- package/dist/npm/cjs/utils/logger.js.map +0 -1
- package/dist/npm/cjs/utils/sanitize.js +0 -159
- package/dist/npm/cjs/utils/sanitize.js.map +0 -1
- package/dist/npm/cjs/utils/storage.js +0 -285
- package/dist/npm/cjs/utils/storage.js.map +0 -1
- package/dist/npm/cjs/utils/tracking-metadata.js +0 -18
- package/dist/npm/cjs/utils/tracking-metadata.js.map +0 -1
- package/dist/npm/cjs/utils/url-matcher.js +0 -11
- package/dist/npm/cjs/utils/url-matcher.js.map +0 -1
- package/dist/npm/esm/constants.d.ts +0 -130
- package/dist/npm/esm/constants.js +0 -164
- package/dist/npm/esm/constants.js.map +0 -1
- package/dist/npm/esm/core/conflict-resolver.d.ts +0 -96
- package/dist/npm/esm/core/conflict-resolver.js +0 -198
- package/dist/npm/esm/core/conflict-resolver.js.map +0 -1
- package/dist/npm/esm/core/event-batcher.d.ts +0 -253
- package/dist/npm/esm/core/event-batcher.js +0 -973
- package/dist/npm/esm/core/event-batcher.js.map +0 -1
- package/dist/npm/esm/core/experiment-overrides.d.ts +0 -7
- package/dist/npm/esm/core/experiment-overrides.js +0 -172
- package/dist/npm/esm/core/experiment-overrides.js.map +0 -1
- package/dist/npm/esm/core/experiments.d.ts +0 -90
- package/dist/npm/esm/core/experiments.js +0 -313
- package/dist/npm/esm/core/experiments.js.map +0 -1
- package/dist/npm/esm/core/frequency-caps.d.ts +0 -124
- package/dist/npm/esm/core/frequency-caps.js +0 -292
- package/dist/npm/esm/core/frequency-caps.js.map +0 -1
- package/dist/npm/esm/core/index.d.ts +0 -10
- package/dist/npm/esm/core/index.js +0 -11
- package/dist/npm/esm/core/index.js.map +0 -1
- package/dist/npm/esm/core/indexeddb-queue.d.ts +0 -83
- package/dist/npm/esm/core/indexeddb-queue.js +0 -328
- package/dist/npm/esm/core/indexeddb-queue.js.map +0 -1
- package/dist/npm/esm/core/journey-tracker.d.ts +0 -102
- package/dist/npm/esm/core/journey-tracker.js +0 -237
- package/dist/npm/esm/core/journey-tracker.js.map +0 -1
- package/dist/npm/esm/core/page-targeting/index.d.ts +0 -8
- package/dist/npm/esm/core/page-targeting/index.js +0 -67
- package/dist/npm/esm/core/page-targeting/index.js.map +0 -1
- package/dist/npm/esm/core/script-executor.d.ts +0 -31
- package/dist/npm/esm/core/script-executor.js +0 -76
- package/dist/npm/esm/core/script-executor.js.map +0 -1
- package/dist/npm/esm/core/segments.d.ts +0 -39
- package/dist/npm/esm/core/segments.js +0 -168
- package/dist/npm/esm/core/segments.js.map +0 -1
- package/dist/npm/esm/core/tracker.d.ts +0 -182
- package/dist/npm/esm/core/tracker.js +0 -794
- package/dist/npm/esm/core/tracker.js.map +0 -1
- package/dist/npm/esm/datalayer/basket.d.ts +0 -104
- package/dist/npm/esm/datalayer/basket.js +0 -381
- package/dist/npm/esm/datalayer/basket.js.map +0 -1
- package/dist/npm/esm/datalayer/cart-association.d.ts +0 -65
- package/dist/npm/esm/datalayer/cart-association.js +0 -222
- package/dist/npm/esm/datalayer/cart-association.js.map +0 -1
- package/dist/npm/esm/datalayer/checkout.d.ts +0 -96
- package/dist/npm/esm/datalayer/checkout.js +0 -378
- package/dist/npm/esm/datalayer/checkout.js.map +0 -1
- package/dist/npm/esm/datalayer/constants.d.ts +0 -77
- package/dist/npm/esm/datalayer/constants.js +0 -160
- package/dist/npm/esm/datalayer/constants.js.map +0 -1
- package/dist/npm/esm/datalayer/index.d.ts +0 -212
- package/dist/npm/esm/datalayer/index.js +0 -991
- package/dist/npm/esm/datalayer/index.js.map +0 -1
- package/dist/npm/esm/datalayer/listener.d.ts +0 -108
- package/dist/npm/esm/datalayer/listener.js +0 -411
- package/dist/npm/esm/datalayer/listener.js.map +0 -1
- package/dist/npm/esm/datalayer/page.d.ts +0 -94
- package/dist/npm/esm/datalayer/page.js +0 -339
- package/dist/npm/esm/datalayer/page.js.map +0 -1
- package/dist/npm/esm/datalayer/product.d.ts +0 -133
- package/dist/npm/esm/datalayer/product.js +0 -513
- package/dist/npm/esm/datalayer/product.js.map +0 -1
- package/dist/npm/esm/datalayer/reverse-mappings.d.ts +0 -62
- package/dist/npm/esm/datalayer/reverse-mappings.js +0 -135
- package/dist/npm/esm/datalayer/reverse-mappings.js.map +0 -1
- package/dist/npm/esm/datalayer/search.d.ts +0 -108
- package/dist/npm/esm/datalayer/search.js +0 -359
- package/dist/npm/esm/datalayer/search.js.map +0 -1
- package/dist/npm/esm/datalayer/types.d.ts +0 -292
- package/dist/npm/esm/datalayer/types.js +0 -131
- package/dist/npm/esm/datalayer/types.js.map +0 -1
- package/dist/npm/esm/datalayer/user.d.ts +0 -104
- package/dist/npm/esm/datalayer/user.js +0 -368
- package/dist/npm/esm/datalayer/user.js.map +0 -1
- package/dist/npm/esm/debug/index.d.ts +0 -173
- package/dist/npm/esm/debug/index.js +0 -673
- package/dist/npm/esm/debug/index.js.map +0 -1
- package/dist/npm/esm/entries/cdn.d.ts +0 -1
- package/dist/npm/esm/entries/cdn.js +0 -35
- package/dist/npm/esm/entries/cdn.js.map +0 -1
- package/dist/npm/esm/index.js +0 -4
- package/dist/npm/esm/index.js.map +0 -1
- package/dist/npm/esm/modules/contract/recommendation-contract.d.ts +0 -5
- package/dist/npm/esm/modules/contract/recommendation-contract.js +0 -107
- package/dist/npm/esm/modules/contract/recommendation-contract.js.map +0 -1
- package/dist/npm/esm/modules/contract/search-contract.d.ts +0 -1
- package/dist/npm/esm/modules/contract/search-contract.js +0 -2
- package/dist/npm/esm/modules/contract/search-contract.js.map +0 -1
- package/dist/npm/esm/modules/contract/tracking-contract.d.ts +0 -1
- package/dist/npm/esm/modules/contract/tracking-contract.js +0 -2
- package/dist/npm/esm/modules/contract/tracking-contract.js.map +0 -1
- package/dist/npm/esm/modules/contract/vendor/recommendation-contract/configs.d.ts +0 -8
- package/dist/npm/esm/modules/contract/vendor/recommendation-contract/configs.js +0 -160
- package/dist/npm/esm/modules/contract/vendor/recommendation-contract/configs.js.map +0 -1
- package/dist/npm/esm/modules/contract/vendor/recommendation-contract/index.d.ts +0 -3
- package/dist/npm/esm/modules/contract/vendor/recommendation-contract/index.js +0 -5
- package/dist/npm/esm/modules/contract/vendor/recommendation-contract/index.js.map +0 -1
- package/dist/npm/esm/modules/contract/vendor/recommendation-contract/types.d.ts +0 -56
- package/dist/npm/esm/modules/contract/vendor/recommendation-contract/types.js +0 -2
- package/dist/npm/esm/modules/contract/vendor/recommendation-contract/types.js.map +0 -1
- package/dist/npm/esm/modules/contract/vendor/recommendation-contract/validators.d.ts +0 -3
- package/dist/npm/esm/modules/contract/vendor/recommendation-contract/validators.js +0 -103
- package/dist/npm/esm/modules/contract/vendor/recommendation-contract/validators.js.map +0 -1
- package/dist/npm/esm/modules/contract/vendor/search-contract/configs.d.ts +0 -35
- package/dist/npm/esm/modules/contract/vendor/search-contract/configs.js +0 -396
- package/dist/npm/esm/modules/contract/vendor/search-contract/configs.js.map +0 -1
- package/dist/npm/esm/modules/contract/vendor/search-contract/index.d.ts +0 -3
- package/dist/npm/esm/modules/contract/vendor/search-contract/index.js +0 -5
- package/dist/npm/esm/modules/contract/vendor/search-contract/index.js.map +0 -1
- package/dist/npm/esm/modules/contract/vendor/search-contract/types.d.ts +0 -119
- package/dist/npm/esm/modules/contract/vendor/search-contract/types.js +0 -7
- package/dist/npm/esm/modules/contract/vendor/search-contract/types.js.map +0 -1
- package/dist/npm/esm/modules/contract/vendor/search-contract/validators.d.ts +0 -22
- package/dist/npm/esm/modules/contract/vendor/search-contract/validators.js +0 -118
- package/dist/npm/esm/modules/contract/vendor/search-contract/validators.js.map +0 -1
- package/dist/npm/esm/modules/contract/vendor/tracking-contract/configs.d.ts +0 -7
- package/dist/npm/esm/modules/contract/vendor/tracking-contract/configs.js +0 -130
- package/dist/npm/esm/modules/contract/vendor/tracking-contract/configs.js.map +0 -1
- package/dist/npm/esm/modules/contract/vendor/tracking-contract/index.d.ts +0 -3
- package/dist/npm/esm/modules/contract/vendor/tracking-contract/index.js +0 -5
- package/dist/npm/esm/modules/contract/vendor/tracking-contract/index.js.map +0 -1
- package/dist/npm/esm/modules/contract/vendor/tracking-contract/types.d.ts +0 -37
- package/dist/npm/esm/modules/contract/vendor/tracking-contract/types.js +0 -2
- package/dist/npm/esm/modules/contract/vendor/tracking-contract/types.js.map +0 -1
- package/dist/npm/esm/modules/contract/vendor/tracking-contract/validators.d.ts +0 -6
- package/dist/npm/esm/modules/contract/vendor/tracking-contract/validators.js +0 -147
- package/dist/npm/esm/modules/contract/vendor/tracking-contract/validators.js.map +0 -1
- package/dist/npm/esm/modules/contract/vendor/widget-contract/configs.d.ts +0 -22
- package/dist/npm/esm/modules/contract/vendor/widget-contract/configs.js +0 -1472
- package/dist/npm/esm/modules/contract/vendor/widget-contract/configs.js.map +0 -1
- package/dist/npm/esm/modules/contract/vendor/widget-contract/index.d.ts +0 -4
- package/dist/npm/esm/modules/contract/vendor/widget-contract/index.js +0 -6
- package/dist/npm/esm/modules/contract/vendor/widget-contract/index.js.map +0 -1
- package/dist/npm/esm/modules/contract/vendor/widget-contract/layout.d.ts +0 -14
- package/dist/npm/esm/modules/contract/vendor/widget-contract/layout.js +0 -18
- package/dist/npm/esm/modules/contract/vendor/widget-contract/layout.js.map +0 -1
- package/dist/npm/esm/modules/contract/vendor/widget-contract/types.d.ts +0 -128
- package/dist/npm/esm/modules/contract/vendor/widget-contract/types.js +0 -7
- package/dist/npm/esm/modules/contract/vendor/widget-contract/types.js.map +0 -1
- package/dist/npm/esm/modules/contract/vendor/widget-contract/validators.d.ts +0 -11
- package/dist/npm/esm/modules/contract/vendor/widget-contract/validators.js +0 -132
- package/dist/npm/esm/modules/contract/vendor/widget-contract/validators.js.map +0 -1
- package/dist/npm/esm/modules/contract/widget-contract.d.ts +0 -1
- package/dist/npm/esm/modules/contract/widget-contract.js +0 -2
- package/dist/npm/esm/modules/contract/widget-contract.js.map +0 -1
- package/dist/npm/esm/modules/products/tracking.d.ts +0 -122
- package/dist/npm/esm/modules/products/tracking.js +0 -203
- package/dist/npm/esm/modules/products/tracking.js.map +0 -1
- package/dist/npm/esm/modules/recommendation/cart-handlers.d.ts +0 -10
- package/dist/npm/esm/modules/recommendation/cart-handlers.js +0 -49
- package/dist/npm/esm/modules/recommendation/cart-handlers.js.map +0 -1
- package/dist/npm/esm/modules/recommendation/components/product-card-renderer.d.ts +0 -37
- package/dist/npm/esm/modules/recommendation/components/product-card-renderer.js +0 -281
- package/dist/npm/esm/modules/recommendation/components/product-card-renderer.js.map +0 -1
- package/dist/npm/esm/modules/recommendation/index.d.ts +0 -11
- package/dist/npm/esm/modules/recommendation/index.js +0 -674
- package/dist/npm/esm/modules/recommendation/index.js.map +0 -1
- package/dist/npm/esm/modules/recommendation/renderers/grid.d.ts +0 -5
- package/dist/npm/esm/modules/recommendation/renderers/grid.js +0 -18
- package/dist/npm/esm/modules/recommendation/renderers/grid.js.map +0 -1
- package/dist/npm/esm/modules/recommendation/renderers/list.d.ts +0 -5
- package/dist/npm/esm/modules/recommendation/renderers/list.js +0 -19
- package/dist/npm/esm/modules/recommendation/renderers/list.js.map +0 -1
- package/dist/npm/esm/modules/recommendation/renderers/masonry.d.ts +0 -5
- package/dist/npm/esm/modules/recommendation/renderers/masonry.js +0 -19
- package/dist/npm/esm/modules/recommendation/renderers/masonry.js.map +0 -1
- package/dist/npm/esm/modules/recommendation/renderers/slider-renderer.d.ts +0 -10
- package/dist/npm/esm/modules/recommendation/renderers/slider-renderer.js +0 -140
- package/dist/npm/esm/modules/recommendation/renderers/slider-renderer.js.map +0 -1
- package/dist/npm/esm/modules/recommendation/slider-controls.d.ts +0 -17
- package/dist/npm/esm/modules/recommendation/slider-controls.js +0 -187
- package/dist/npm/esm/modules/recommendation/slider-controls.js.map +0 -1
- package/dist/npm/esm/modules/recommendation/tracking.d.ts +0 -28
- package/dist/npm/esm/modules/recommendation/tracking.js +0 -237
- package/dist/npm/esm/modules/recommendation/tracking.js.map +0 -1
- package/dist/npm/esm/modules/recommendation/utils/dom.d.ts +0 -10
- package/dist/npm/esm/modules/recommendation/utils/dom.js +0 -63
- package/dist/npm/esm/modules/recommendation/utils/dom.js.map +0 -1
- package/dist/npm/esm/modules/recommendation/utils/format.d.ts +0 -4
- package/dist/npm/esm/modules/recommendation/utils/format.js +0 -10
- package/dist/npm/esm/modules/recommendation/utils/format.js.map +0 -1
- package/dist/npm/esm/modules/recommendation/utils/index.d.ts +0 -5
- package/dist/npm/esm/modules/recommendation/utils/index.js +0 -6
- package/dist/npm/esm/modules/recommendation/utils/index.js.map +0 -1
- package/dist/npm/esm/modules/renderer/helpers.d.ts +0 -5
- package/dist/npm/esm/modules/renderer/helpers.js +0 -6
- package/dist/npm/esm/modules/renderer/helpers.js.map +0 -1
- package/dist/npm/esm/modules/renderer/index.d.ts +0 -8
- package/dist/npm/esm/modules/renderer/index.js +0 -48
- package/dist/npm/esm/modules/renderer/index.js.map +0 -1
- package/dist/npm/esm/modules/renderer/style-resolver.d.ts +0 -1
- package/dist/npm/esm/modules/renderer/style-resolver.js +0 -8
- package/dist/npm/esm/modules/renderer/style-resolver.js.map +0 -1
- package/dist/npm/esm/modules/renderer/styles/index.d.ts +0 -12
- package/dist/npm/esm/modules/renderer/styles/index.js +0 -250
- package/dist/npm/esm/modules/renderer/styles/index.js.map +0 -1
- package/dist/npm/esm/modules/renderer/styles.d.ts +0 -1
- package/dist/npm/esm/modules/renderer/styles.js +0 -2
- package/dist/npm/esm/modules/renderer/styles.js.map +0 -1
- package/dist/npm/esm/modules/renderer/utils/helpers.d.ts +0 -58
- package/dist/npm/esm/modules/renderer/utils/helpers.js +0 -225
- package/dist/npm/esm/modules/renderer/utils/helpers.js.map +0 -1
- package/dist/npm/esm/modules/renderer/utils/image-renderer.d.ts +0 -17
- package/dist/npm/esm/modules/renderer/utils/image-renderer.js +0 -60
- package/dist/npm/esm/modules/renderer/utils/image-renderer.js.map +0 -1
- package/dist/npm/esm/modules/renderer/utils/placement.d.ts +0 -6
- package/dist/npm/esm/modules/renderer/utils/placement.js +0 -31
- package/dist/npm/esm/modules/renderer/utils/placement.js.map +0 -1
- package/dist/npm/esm/modules/renderer/utils.d.ts +0 -11
- package/dist/npm/esm/modules/renderer/utils.js +0 -44
- package/dist/npm/esm/modules/renderer/utils.js.map +0 -1
- package/dist/npm/esm/modules/renderer/widgets/announcement-bar.d.ts +0 -5
- package/dist/npm/esm/modules/renderer/widgets/announcement-bar.js +0 -81
- package/dist/npm/esm/modules/renderer/widgets/announcement-bar.js.map +0 -1
- package/dist/npm/esm/modules/renderer/widgets/cart-count.d.ts +0 -6
- package/dist/npm/esm/modules/renderer/widgets/cart-count.js +0 -208
- package/dist/npm/esm/modules/renderer/widgets/cart-count.js.map +0 -1
- package/dist/npm/esm/modules/renderer/widgets/cookie-consent.d.ts +0 -18
- package/dist/npm/esm/modules/renderer/widgets/cookie-consent.js +0 -454
- package/dist/npm/esm/modules/renderer/widgets/cookie-consent.js.map +0 -1
- package/dist/npm/esm/modules/renderer/widgets/countdown-timer.d.ts +0 -5
- package/dist/npm/esm/modules/renderer/widgets/countdown-timer.js +0 -129
- package/dist/npm/esm/modules/renderer/widgets/countdown-timer.js.map +0 -1
- package/dist/npm/esm/modules/renderer/widgets/custom.d.ts +0 -5
- package/dist/npm/esm/modules/renderer/widgets/custom.js +0 -55
- package/dist/npm/esm/modules/renderer/widgets/custom.js.map +0 -1
- package/dist/npm/esm/modules/renderer/widgets/embedded-card.d.ts +0 -5
- package/dist/npm/esm/modules/renderer/widgets/embedded-card.js +0 -94
- package/dist/npm/esm/modules/renderer/widgets/embedded-card.js.map +0 -1
- package/dist/npm/esm/modules/renderer/widgets/exit-intent-popup.d.ts +0 -6
- package/dist/npm/esm/modules/renderer/widgets/exit-intent-popup.js +0 -147
- package/dist/npm/esm/modules/renderer/widgets/exit-intent-popup.js.map +0 -1
- package/dist/npm/esm/modules/renderer/widgets/floating-button.d.ts +0 -5
- package/dist/npm/esm/modules/renderer/widgets/floating-button.js +0 -67
- package/dist/npm/esm/modules/renderer/widgets/floating-button.js.map +0 -1
- package/dist/npm/esm/modules/renderer/widgets/helpers.d.ts +0 -29
- package/dist/npm/esm/modules/renderer/widgets/helpers.js +0 -82
- package/dist/npm/esm/modules/renderer/widgets/helpers.js.map +0 -1
- package/dist/npm/esm/modules/renderer/widgets/index.d.ts +0 -17
- package/dist/npm/esm/modules/renderer/widgets/index.js +0 -19
- package/dist/npm/esm/modules/renderer/widgets/index.js.map +0 -1
- package/dist/npm/esm/modules/renderer/widgets/inline-banner.d.ts +0 -5
- package/dist/npm/esm/modules/renderer/widgets/inline-banner.js +0 -121
- package/dist/npm/esm/modules/renderer/widgets/inline-banner.js.map +0 -1
- package/dist/npm/esm/modules/renderer/widgets/newsletter.d.ts +0 -6
- package/dist/npm/esm/modules/renderer/widgets/newsletter.js +0 -277
- package/dist/npm/esm/modules/renderer/widgets/newsletter.js.map +0 -1
- package/dist/npm/esm/modules/renderer/widgets/product-view-count.d.ts +0 -6
- package/dist/npm/esm/modules/renderer/widgets/product-view-count.js +0 -194
- package/dist/npm/esm/modules/renderer/widgets/product-view-count.js.map +0 -1
- package/dist/npm/esm/modules/renderer/widgets/slide-in.d.ts +0 -5
- package/dist/npm/esm/modules/renderer/widgets/slide-in.js +0 -102
- package/dist/npm/esm/modules/renderer/widgets/slide-in.js.map +0 -1
- package/dist/npm/esm/modules/renderer/widgets/sticky-footer.d.ts +0 -5
- package/dist/npm/esm/modules/renderer/widgets/sticky-footer.js +0 -44
- package/dist/npm/esm/modules/renderer/widgets/sticky-footer.js.map +0 -1
- package/dist/npm/esm/modules/search/cart/index.d.ts +0 -26
- package/dist/npm/esm/modules/search/cart/index.js +0 -39
- package/dist/npm/esm/modules/search/cart/index.js.map +0 -1
- package/dist/npm/esm/modules/search/components/index.d.ts +0 -6
- package/dist/npm/esm/modules/search/components/index.js +0 -7
- package/dist/npm/esm/modules/search/components/index.js.map +0 -1
- package/dist/npm/esm/modules/search/components/search-box.d.ts +0 -11
- package/dist/npm/esm/modules/search/components/search-box.js +0 -25
- package/dist/npm/esm/modules/search/components/search-box.js.map +0 -1
- package/dist/npm/esm/modules/search/components/search-item.d.ts +0 -20
- package/dist/npm/esm/modules/search/components/search-item.js +0 -193
- package/dist/npm/esm/modules/search/components/search-item.js.map +0 -1
- package/dist/npm/esm/modules/search/components/suggestions.d.ts +0 -10
- package/dist/npm/esm/modules/search/components/suggestions.js +0 -129
- package/dist/npm/esm/modules/search/components/suggestions.js.map +0 -1
- package/dist/npm/esm/modules/search/index.d.ts +0 -67
- package/dist/npm/esm/modules/search/index.js +0 -642
- package/dist/npm/esm/modules/search/index.js.map +0 -1
- package/dist/npm/esm/modules/search/renderers/position-renderers.d.ts +0 -23
- package/dist/npm/esm/modules/search/renderers/position-renderers.js +0 -221
- package/dist/npm/esm/modules/search/renderers/position-renderers.js.map +0 -1
- package/dist/npm/esm/modules/search/renderers/results-renderer.d.ts +0 -20
- package/dist/npm/esm/modules/search/renderers/results-renderer.js +0 -176
- package/dist/npm/esm/modules/search/renderers/results-renderer.js.map +0 -1
- package/dist/npm/esm/modules/search/services/api-service.d.ts +0 -18
- package/dist/npm/esm/modules/search/services/api-service.js +0 -115
- package/dist/npm/esm/modules/search/services/api-service.js.map +0 -1
- package/dist/npm/esm/modules/search/services/tracking-service.d.ts +0 -16
- package/dist/npm/esm/modules/search/services/tracking-service.js +0 -250
- package/dist/npm/esm/modules/search/services/tracking-service.js.map +0 -1
- package/dist/npm/esm/modules/search/styles.d.ts +0 -13
- package/dist/npm/esm/modules/search/styles.js +0 -860
- package/dist/npm/esm/modules/search/styles.js.map +0 -1
- package/dist/npm/esm/modules/search/utils/helpers.d.ts +0 -24
- package/dist/npm/esm/modules/search/utils/helpers.js +0 -93
- package/dist/npm/esm/modules/search/utils/helpers.js.map +0 -1
- package/dist/npm/esm/modules/search/utils/icons.d.ts +0 -16
- package/dist/npm/esm/modules/search/utils/icons.js +0 -36
- package/dist/npm/esm/modules/search/utils/icons.js.map +0 -1
- package/dist/npm/esm/modules/search/utils/index.d.ts +0 -6
- package/dist/npm/esm/modules/search/utils/index.js +0 -7
- package/dist/npm/esm/modules/search/utils/index.js.map +0 -1
- package/dist/npm/esm/modules/search/utils/storage.d.ts +0 -7
- package/dist/npm/esm/modules/search/utils/storage.js +0 -52
- package/dist/npm/esm/modules/search/utils/storage.js.map +0 -1
- package/dist/npm/esm/package.json +0 -1
- package/dist/npm/esm/selwise.d.ts +0 -209
- package/dist/npm/esm/selwise.js +0 -1123
- package/dist/npm/esm/selwise.js.map +0 -1
- package/dist/npm/esm/sentry-test.d.ts +0 -45
- package/dist/npm/esm/sentry-test.js +0 -109
- package/dist/npm/esm/sentry-test.js.map +0 -1
- package/dist/npm/esm/sentry.d.ts +0 -86
- package/dist/npm/esm/sentry.js +0 -441
- package/dist/npm/esm/sentry.js.map +0 -1
- package/dist/npm/esm/shared/cart/handlers.d.ts +0 -46
- package/dist/npm/esm/shared/cart/handlers.js +0 -249
- package/dist/npm/esm/shared/cart/handlers.js.map +0 -1
- package/dist/npm/esm/shared/cart/index.d.ts +0 -6
- package/dist/npm/esm/shared/cart/index.js +0 -7
- package/dist/npm/esm/shared/cart/index.js.map +0 -1
- package/dist/npm/esm/shared/cart/types.d.ts +0 -30
- package/dist/npm/esm/shared/cart/types.js +0 -6
- package/dist/npm/esm/shared/cart/types.js.map +0 -1
- package/dist/npm/esm/shared/product-card/index.d.ts +0 -7
- package/dist/npm/esm/shared/product-card/index.js +0 -8
- package/dist/npm/esm/shared/product-card/index.js.map +0 -1
- package/dist/npm/esm/shared/product-card/renderer.d.ts +0 -35
- package/dist/npm/esm/shared/product-card/renderer.js +0 -334
- package/dist/npm/esm/shared/product-card/renderer.js.map +0 -1
- package/dist/npm/esm/shared/product-card/styles.d.ts +0 -17
- package/dist/npm/esm/shared/product-card/styles.js +0 -190
- package/dist/npm/esm/shared/product-card/styles.js.map +0 -1
- package/dist/npm/esm/shared/product-card/types.d.ts +0 -84
- package/dist/npm/esm/shared/product-card/types.js +0 -63
- package/dist/npm/esm/shared/product-card/types.js.map +0 -1
- package/dist/npm/esm/types/config.d.ts +0 -26
- package/dist/npm/esm/types/config.js +0 -5
- package/dist/npm/esm/types/config.js.map +0 -1
- package/dist/npm/esm/types/experiments.d.ts +0 -47
- package/dist/npm/esm/types/experiments.js +0 -14
- package/dist/npm/esm/types/experiments.js.map +0 -1
- package/dist/npm/esm/types/global-api.d.ts +0 -40
- package/dist/npm/esm/types/global-api.js +0 -2
- package/dist/npm/esm/types/global-api.js.map +0 -1
- package/dist/npm/esm/types/index.d.ts +0 -9
- package/dist/npm/esm/types/index.js +0 -11
- package/dist/npm/esm/types/index.js.map +0 -1
- package/dist/npm/esm/types/recommendation.d.ts +0 -186
- package/dist/npm/esm/types/recommendation.js +0 -5
- package/dist/npm/esm/types/recommendation.js.map +0 -1
- package/dist/npm/esm/types/renderer.d.ts +0 -99
- package/dist/npm/esm/types/renderer.js +0 -5
- package/dist/npm/esm/types/renderer.js.map +0 -1
- package/dist/npm/esm/types/search.d.ts +0 -186
- package/dist/npm/esm/types/search.js +0 -5
- package/dist/npm/esm/types/search.js.map +0 -1
- package/dist/npm/esm/utils/api-url.d.ts +0 -1
- package/dist/npm/esm/utils/api-url.js +0 -32
- package/dist/npm/esm/utils/api-url.js.map +0 -1
- package/dist/npm/esm/utils/debounce.d.ts +0 -27
- package/dist/npm/esm/utils/debounce.js +0 -70
- package/dist/npm/esm/utils/debounce.js.map +0 -1
- package/dist/npm/esm/utils/event-id.d.ts +0 -5
- package/dist/npm/esm/utils/event-id.js +0 -20
- package/dist/npm/esm/utils/event-id.js.map +0 -1
- package/dist/npm/esm/utils/index.d.ts +0 -11
- package/dist/npm/esm/utils/index.js +0 -12
- package/dist/npm/esm/utils/index.js.map +0 -1
- package/dist/npm/esm/utils/logger.d.ts +0 -31
- package/dist/npm/esm/utils/logger.js +0 -66
- package/dist/npm/esm/utils/logger.js.map +0 -1
- package/dist/npm/esm/utils/sanitize.d.ts +0 -38
- package/dist/npm/esm/utils/sanitize.js +0 -148
- package/dist/npm/esm/utils/sanitize.js.map +0 -1
- package/dist/npm/esm/utils/storage.d.ts +0 -72
- package/dist/npm/esm/utils/storage.js +0 -271
- package/dist/npm/esm/utils/storage.js.map +0 -1
- package/dist/npm/esm/utils/tracking-metadata.d.ts +0 -1
- package/dist/npm/esm/utils/tracking-metadata.js +0 -15
- package/dist/npm/esm/utils/tracking-metadata.js.map +0 -1
- package/dist/npm/esm/utils/url-matcher.d.ts +0 -4
- package/dist/npm/esm/utils/url-matcher.js +0 -8
- package/dist/npm/esm/utils/url-matcher.js.map +0 -1
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Conflict Resolution Behavior
|
|
3
|
-
*/
|
|
4
|
-
export type ConflictBehavior = 'highest_priority' | 'random' | 'all';
|
|
5
|
-
/**
|
|
6
|
-
* Widget conflict resolution configuration
|
|
7
|
-
*/
|
|
8
|
-
export interface ConflictResolutionConfig {
|
|
9
|
-
priority: number;
|
|
10
|
-
behavior: ConflictBehavior;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Widget/Campaign item for conflict resolution
|
|
14
|
-
*/
|
|
15
|
-
export interface WidgetItem {
|
|
16
|
-
id: string;
|
|
17
|
-
type: 'campaign' | 'widget' | 'recommendation';
|
|
18
|
-
priority?: number;
|
|
19
|
-
conflictBehavior?: ConflictBehavior;
|
|
20
|
-
frequencyCapConfig?: any;
|
|
21
|
-
selector?: string;
|
|
22
|
-
placementPosition?: string;
|
|
23
|
-
scope?: string;
|
|
24
|
-
[key: string]: any;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Conflict resolution result
|
|
28
|
-
*/
|
|
29
|
-
export interface ConflictResolutionResult {
|
|
30
|
-
selected: WidgetItem[];
|
|
31
|
-
rejected: WidgetItem[];
|
|
32
|
-
reason: string;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* ConflictResolver
|
|
36
|
-
*
|
|
37
|
-
* Handles conflicts when multiple widgets compete for the same screen space.
|
|
38
|
-
* Uses priority and behavior rules to determine which widgets to show.
|
|
39
|
-
*/
|
|
40
|
-
export declare class ConflictResolver {
|
|
41
|
-
private normalizeSelector;
|
|
42
|
-
private normalizePlacementPosition;
|
|
43
|
-
private buildConflictScope;
|
|
44
|
-
/**
|
|
45
|
-
* Resolve conflicts between multiple widgets
|
|
46
|
-
*
|
|
47
|
-
* @param widgets - Array of widgets/campaigns competing for display
|
|
48
|
-
* @param selector - CSS selector of the target container (optional)
|
|
49
|
-
* @returns Resolution result with selected and rejected widgets
|
|
50
|
-
*/
|
|
51
|
-
resolve(widgets: WidgetItem[], selector?: string): ConflictResolutionResult;
|
|
52
|
-
/**
|
|
53
|
-
* Select a random widget from the array
|
|
54
|
-
*/
|
|
55
|
-
private selectRandom;
|
|
56
|
-
/**
|
|
57
|
-
* Check if widgets conflict (target the same scope)
|
|
58
|
-
*
|
|
59
|
-
* @param widgetA - First widget
|
|
60
|
-
* @param widgetB - Second widget
|
|
61
|
-
* @returns True if widgets conflict
|
|
62
|
-
*/
|
|
63
|
-
widgetsConflict(widgetA: WidgetItem, widgetB: WidgetItem): boolean;
|
|
64
|
-
/**
|
|
65
|
-
* Group widgets by conflict groups
|
|
66
|
-
*
|
|
67
|
-
* @param widgets - Array of widgets
|
|
68
|
-
* @returns Array of conflict groups
|
|
69
|
-
*/
|
|
70
|
-
groupByConflicts(widgets: WidgetItem[]): WidgetItem[][];
|
|
71
|
-
/**
|
|
72
|
-
* Resolve conflicts for multiple groups
|
|
73
|
-
*
|
|
74
|
-
* @param widgets - Array of all widgets
|
|
75
|
-
* @returns Array of resolution results
|
|
76
|
-
*/
|
|
77
|
-
resolveAll(widgets: WidgetItem[]): ConflictResolutionResult[];
|
|
78
|
-
/**
|
|
79
|
-
* Parse conflict resolution config from widget data
|
|
80
|
-
*
|
|
81
|
-
* @param widget - Widget data
|
|
82
|
-
* @returns Conflict resolution config
|
|
83
|
-
*/
|
|
84
|
-
parseConfig(widget: any): ConflictResolutionConfig;
|
|
85
|
-
/**
|
|
86
|
-
* Apply conflict resolution to widget data
|
|
87
|
-
*
|
|
88
|
-
* @param widget - Widget data
|
|
89
|
-
* @returns Widget data with conflict config
|
|
90
|
-
*/
|
|
91
|
-
applyConfig(widget: WidgetItem): WidgetItem;
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Get the singleton ConflictResolver instance
|
|
95
|
-
*/
|
|
96
|
-
export declare function getConflictResolver(): ConflictResolver;
|
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ConflictResolver
|
|
3
|
-
*
|
|
4
|
-
* Handles conflicts when multiple widgets compete for the same screen space.
|
|
5
|
-
* Uses priority and behavior rules to determine which widgets to show.
|
|
6
|
-
*/
|
|
7
|
-
export class ConflictResolver {
|
|
8
|
-
normalizeSelector(selector) {
|
|
9
|
-
if (!selector || typeof selector !== 'string')
|
|
10
|
-
return '';
|
|
11
|
-
return selector.trim().replace(/\s+/g, ' ').toLowerCase();
|
|
12
|
-
}
|
|
13
|
-
normalizePlacementPosition(position) {
|
|
14
|
-
if (!position || typeof position !== 'string')
|
|
15
|
-
return '';
|
|
16
|
-
return position.trim().toLowerCase();
|
|
17
|
-
}
|
|
18
|
-
buildConflictScope(widget) {
|
|
19
|
-
if (widget.scope && typeof widget.scope === 'string' && widget.scope.trim().length > 0) {
|
|
20
|
-
return widget.scope;
|
|
21
|
-
}
|
|
22
|
-
const normalizedSelector = this.normalizeSelector(widget.selector);
|
|
23
|
-
if (normalizedSelector) {
|
|
24
|
-
return `selector:${normalizedSelector}`;
|
|
25
|
-
}
|
|
26
|
-
const normalizedPosition = this.normalizePlacementPosition(widget.placementPosition);
|
|
27
|
-
if (normalizedPosition) {
|
|
28
|
-
return `fixed:${normalizedPosition}`;
|
|
29
|
-
}
|
|
30
|
-
return `entity:${widget.id}`;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Resolve conflicts between multiple widgets
|
|
34
|
-
*
|
|
35
|
-
* @param widgets - Array of widgets/campaigns competing for display
|
|
36
|
-
* @param selector - CSS selector of the target container (optional)
|
|
37
|
-
* @returns Resolution result with selected and rejected widgets
|
|
38
|
-
*/
|
|
39
|
-
resolve(widgets, selector) {
|
|
40
|
-
if (widgets.length === 0) {
|
|
41
|
-
return { selected: [], rejected: [], reason: 'No widgets to resolve' };
|
|
42
|
-
}
|
|
43
|
-
if (widgets.length === 1) {
|
|
44
|
-
return {
|
|
45
|
-
selected: [widgets[0]],
|
|
46
|
-
rejected: [],
|
|
47
|
-
reason: 'Single widget, no conflict',
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
// Group widgets by behavior
|
|
51
|
-
const randomWidgets = widgets.filter((w) => w.conflictBehavior === 'random');
|
|
52
|
-
const allWidgets = widgets.filter((w) => w.conflictBehavior === 'all');
|
|
53
|
-
// If any widget has 'all' behavior, show all
|
|
54
|
-
if (allWidgets.length > 0) {
|
|
55
|
-
return {
|
|
56
|
-
selected: widgets,
|
|
57
|
-
rejected: [],
|
|
58
|
-
reason: 'All widgets shown (behavior=all)',
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
// If all widgets use 'random' behavior
|
|
62
|
-
if (randomWidgets.length === widgets.length) {
|
|
63
|
-
const selected = this.selectRandom(widgets);
|
|
64
|
-
return {
|
|
65
|
-
selected,
|
|
66
|
-
rejected: widgets.filter((w) => !selected.includes(w)),
|
|
67
|
-
reason: 'Random selection',
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
// Default: highest_priority behavior
|
|
71
|
-
// Sort by priority (descending) and select the highest
|
|
72
|
-
const sorted = [...widgets].sort((a, b) => {
|
|
73
|
-
const priorityA = a.priority ?? 0;
|
|
74
|
-
const priorityB = b.priority ?? 0;
|
|
75
|
-
if (priorityB !== priorityA) {
|
|
76
|
-
return priorityB - priorityA;
|
|
77
|
-
}
|
|
78
|
-
return a.id.localeCompare(b.id);
|
|
79
|
-
});
|
|
80
|
-
const highestPriority = sorted[0].priority ?? 0;
|
|
81
|
-
const tiedWidgets = sorted.filter((w) => (w.priority ?? 0) === highestPriority);
|
|
82
|
-
const selected = [tiedWidgets[0]];
|
|
83
|
-
return {
|
|
84
|
-
selected,
|
|
85
|
-
rejected: widgets.filter((w) => !selected.includes(w)),
|
|
86
|
-
reason: `Highest priority (${highestPriority})`,
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Select a random widget from the array
|
|
91
|
-
*/
|
|
92
|
-
selectRandom(widgets) {
|
|
93
|
-
if (widgets.length === 0)
|
|
94
|
-
return [];
|
|
95
|
-
if (widgets.length === 1)
|
|
96
|
-
return [widgets[0]];
|
|
97
|
-
// Fisher-Yates shuffle (partial - just need one)
|
|
98
|
-
const randomIndex = Math.floor(Math.random() * widgets.length);
|
|
99
|
-
return [widgets[randomIndex]];
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Check if widgets conflict (target the same scope)
|
|
103
|
-
*
|
|
104
|
-
* @param widgetA - First widget
|
|
105
|
-
* @param widgetB - Second widget
|
|
106
|
-
* @returns True if widgets conflict
|
|
107
|
-
*/
|
|
108
|
-
widgetsConflict(widgetA, widgetB) {
|
|
109
|
-
const scopeA = this.buildConflictScope(widgetA);
|
|
110
|
-
const scopeB = this.buildConflictScope(widgetB);
|
|
111
|
-
return scopeA === scopeB;
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Group widgets by conflict groups
|
|
115
|
-
*
|
|
116
|
-
* @param widgets - Array of widgets
|
|
117
|
-
* @returns Array of conflict groups
|
|
118
|
-
*/
|
|
119
|
-
groupByConflicts(widgets) {
|
|
120
|
-
const groups = [];
|
|
121
|
-
const processed = new Set();
|
|
122
|
-
for (const widget of widgets) {
|
|
123
|
-
if (processed.has(widget.id))
|
|
124
|
-
continue;
|
|
125
|
-
const conflictGroup = [widget];
|
|
126
|
-
processed.add(widget.id);
|
|
127
|
-
// Find all widgets that conflict with this one
|
|
128
|
-
for (const other of widgets) {
|
|
129
|
-
if (other.id === widget.id || processed.has(other.id))
|
|
130
|
-
continue;
|
|
131
|
-
if (this.widgetsConflict(widget, other)) {
|
|
132
|
-
conflictGroup.push(other);
|
|
133
|
-
processed.add(other.id);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
if (conflictGroup.length > 1) {
|
|
137
|
-
groups.push(conflictGroup);
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
// No conflicts, single widget group
|
|
141
|
-
groups.push([widget]);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
return groups;
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Resolve conflicts for multiple groups
|
|
148
|
-
*
|
|
149
|
-
* @param widgets - Array of all widgets
|
|
150
|
-
* @returns Array of resolution results
|
|
151
|
-
*/
|
|
152
|
-
resolveAll(widgets) {
|
|
153
|
-
const groups = this.groupByConflicts(widgets);
|
|
154
|
-
return groups.map((group) => this.resolve(group));
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Parse conflict resolution config from widget data
|
|
158
|
-
*
|
|
159
|
-
* @param widget - Widget data
|
|
160
|
-
* @returns Conflict resolution config
|
|
161
|
-
*/
|
|
162
|
-
parseConfig(widget) {
|
|
163
|
-
const placementConfig = widget.placementConfigJson || widget.placementConfig || {};
|
|
164
|
-
const conflictResolution = placementConfig.conflictResolution || {};
|
|
165
|
-
return {
|
|
166
|
-
priority: widget.priority ?? conflictResolution.priority ?? 0,
|
|
167
|
-
behavior: conflictResolution.behavior || 'highest_priority',
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Apply conflict resolution to widget data
|
|
172
|
-
*
|
|
173
|
-
* @param widget - Widget data
|
|
174
|
-
* @returns Widget data with conflict config
|
|
175
|
-
*/
|
|
176
|
-
applyConfig(widget) {
|
|
177
|
-
const config = this.parseConfig(widget);
|
|
178
|
-
const scope = this.buildConflictScope(widget);
|
|
179
|
-
return {
|
|
180
|
-
...widget,
|
|
181
|
-
scope,
|
|
182
|
-
priority: config.priority,
|
|
183
|
-
conflictBehavior: config.behavior,
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
// Singleton instance
|
|
188
|
-
let conflictResolverInstance = null;
|
|
189
|
-
/**
|
|
190
|
-
* Get the singleton ConflictResolver instance
|
|
191
|
-
*/
|
|
192
|
-
export function getConflictResolver() {
|
|
193
|
-
if (!conflictResolverInstance) {
|
|
194
|
-
conflictResolverInstance = new ConflictResolver();
|
|
195
|
-
}
|
|
196
|
-
return conflictResolverInstance;
|
|
197
|
-
}
|
|
198
|
-
//# sourceMappingURL=conflict-resolver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conflict-resolver.js","sourceRoot":"","sources":["../../../../src/core/conflict-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Event Batcher
|
|
3
|
-
* Advanced event batching with offline support and retry logic
|
|
4
|
-
* Now with consent-based event filtering
|
|
5
|
-
*/
|
|
6
|
-
export interface EventBatch {
|
|
7
|
-
eventId: string;
|
|
8
|
-
eventSchemaVersion?: number;
|
|
9
|
-
eventTs?: number;
|
|
10
|
-
name: string;
|
|
11
|
-
entityType: string;
|
|
12
|
-
entityId?: string;
|
|
13
|
-
productItemCode?: string;
|
|
14
|
-
metadata?: Record<string, any>;
|
|
15
|
-
timestamp: number;
|
|
16
|
-
retryCount?: number;
|
|
17
|
-
correlationId?: string;
|
|
18
|
-
parentEventId?: string;
|
|
19
|
-
journeyId?: string;
|
|
20
|
-
journeySequence?: number;
|
|
21
|
-
}
|
|
22
|
-
export interface EventBatcherConfig {
|
|
23
|
-
apiUrl?: string;
|
|
24
|
-
siteKey?: string;
|
|
25
|
-
sessionId?: string;
|
|
26
|
-
visitorId?: string;
|
|
27
|
-
siteUserId?: string;
|
|
28
|
-
batchSize?: number;
|
|
29
|
-
flushInterval?: number;
|
|
30
|
-
enablePersistence?: boolean;
|
|
31
|
-
enableSendBeacon?: boolean;
|
|
32
|
-
maxRetries?: number;
|
|
33
|
-
maxQueueSize?: number;
|
|
34
|
-
maxStorageEvents?: number;
|
|
35
|
-
debugMode?: boolean;
|
|
36
|
-
}
|
|
37
|
-
export declare class EventBatcher {
|
|
38
|
-
private queue;
|
|
39
|
-
private consentQueue;
|
|
40
|
-
private flushTimeout;
|
|
41
|
-
private pageHideHandler;
|
|
42
|
-
private cleanupInterval?;
|
|
43
|
-
private isFlushing;
|
|
44
|
-
private consentChecked;
|
|
45
|
-
private consentGranted;
|
|
46
|
-
private useIndexedDBForConsent;
|
|
47
|
-
private config;
|
|
48
|
-
private maxRetries;
|
|
49
|
-
private maxQueueSize;
|
|
50
|
-
private maxStorageEvents;
|
|
51
|
-
private debugMode;
|
|
52
|
-
private sessionData;
|
|
53
|
-
private processedEvents;
|
|
54
|
-
private lastEventId;
|
|
55
|
-
private journeyEventCount;
|
|
56
|
-
private overflowStorage;
|
|
57
|
-
private tabCorrelationId;
|
|
58
|
-
private metrics;
|
|
59
|
-
private initialized;
|
|
60
|
-
constructor(config?: EventBatcherConfig);
|
|
61
|
-
/**
|
|
62
|
-
* Asynchronous initialization - must be called after constructor
|
|
63
|
-
* This loads events from IndexedDB overflow storage and immediately flushes them
|
|
64
|
-
*
|
|
65
|
-
* IMPORTANT: Call this after creating EventBatcher instance
|
|
66
|
-
*/
|
|
67
|
-
initialize(): Promise<void>;
|
|
68
|
-
/**
|
|
69
|
-
* Check if the batcher has been initialized
|
|
70
|
-
*/
|
|
71
|
-
isReady(): boolean;
|
|
72
|
-
setSessionData(sessionId: string, visitorId: string, siteUserId?: string): void;
|
|
73
|
-
setSiteKey(siteKey: string): void;
|
|
74
|
-
/**
|
|
75
|
-
* Update configuration dynamically (e.g., after fetching from server)
|
|
76
|
-
*/
|
|
77
|
-
updateConfig(config: Partial<EventBatcherConfig>): void;
|
|
78
|
-
/**
|
|
79
|
-
* Add an event to the batch queue
|
|
80
|
-
* Checks consent before adding - queues events if consent pending
|
|
81
|
-
* Populates correlation fields for attribution tracking
|
|
82
|
-
*/
|
|
83
|
-
add(event: EventBatch): void;
|
|
84
|
-
/**
|
|
85
|
-
* Check if an event can be sent based on current consent state
|
|
86
|
-
*/
|
|
87
|
-
private checkConsentForEvent;
|
|
88
|
-
/**
|
|
89
|
-
* Schedule a flush after the configured interval
|
|
90
|
-
*/
|
|
91
|
-
private scheduleFlush;
|
|
92
|
-
/**
|
|
93
|
-
* Flush all queued events to the server
|
|
94
|
-
*/
|
|
95
|
-
flush(): Promise<void>;
|
|
96
|
-
/**
|
|
97
|
-
* Send batch to server
|
|
98
|
-
* Returns true if successful, false otherwise
|
|
99
|
-
* Only increments journey counter on confirmed success
|
|
100
|
-
*/
|
|
101
|
-
private sendBatch;
|
|
102
|
-
/**
|
|
103
|
-
* Re-queue events with exponential backoff
|
|
104
|
-
* Uses overflow storage instead of dropping events when queue is full
|
|
105
|
-
*/
|
|
106
|
-
private requeueEvents;
|
|
107
|
-
/**
|
|
108
|
-
* Setup page hide handler for send beacon
|
|
109
|
-
*
|
|
110
|
-
* KNOWN LIMITATION: sendBeacon doesn't provide success/failure feedback.
|
|
111
|
-
* - The browser returns true if it accepted the payload, NOT if server received it
|
|
112
|
-
* - Network failures after browser acceptance are undetectable
|
|
113
|
-
* - Journey sequence counter is NOT incremented (see persistPendingJourneyIncrement)
|
|
114
|
-
* - Sequence numbers from sendBeacon may not match actual server-side sequences
|
|
115
|
-
*
|
|
116
|
-
* This is a fundamental limitation of the sendBeacon API with no workaround.
|
|
117
|
-
*/
|
|
118
|
-
private setupPageHideHandler;
|
|
119
|
-
/**
|
|
120
|
-
* Persist pending journey counter increment to localStorage
|
|
121
|
-
*
|
|
122
|
-
* KNOWN LIMITATION: sendBeacon doesn't provide success/failure feedback.
|
|
123
|
-
* The browser queues the request but we can't know if it reached the server.
|
|
124
|
-
*
|
|
125
|
-
* We do NOT increment the journey counter here because:
|
|
126
|
-
* 1. sendBeacon may fail silently (network, server error, queue full)
|
|
127
|
-
* 2. Counter increment would cause permanent gaps in sequence numbers
|
|
128
|
-
* 3. There's no server validation endpoint to confirm receipt
|
|
129
|
-
*
|
|
130
|
-
* Consequence: On page hide, journey sequence numbers may not match
|
|
131
|
-
* server-side sequences. This is accepted as a known limitation of
|
|
132
|
-
* the sendBeacon API.
|
|
133
|
-
*/
|
|
134
|
-
private persistPendingJourneyIncrement;
|
|
135
|
-
/**
|
|
136
|
-
* Check and recover pending journey increment on initialization
|
|
137
|
-
* If server confirmed receipt, the increment is valid
|
|
138
|
-
* Otherwise we need to roll back
|
|
139
|
-
*/
|
|
140
|
-
private recoverPendingJourneyIncrement;
|
|
141
|
-
/**
|
|
142
|
-
* Save queue to localStorage for offline persistence
|
|
143
|
-
* Includes quota checking to prevent quota exhaustion DoS
|
|
144
|
-
*/
|
|
145
|
-
private saveToStorage;
|
|
146
|
-
/**
|
|
147
|
-
* Check if we have enough storage quota for Selwise data
|
|
148
|
-
* Returns false if quota would be exceeded (prevents DoS via quota exhaustion)
|
|
149
|
-
*/
|
|
150
|
-
private checkStorageQuota;
|
|
151
|
-
/**
|
|
152
|
-
* Cleanup old Selwise storage items to free up quota
|
|
153
|
-
*/
|
|
154
|
-
private cleanupOldStorage;
|
|
155
|
-
/**
|
|
156
|
-
* Load queue from localStorage
|
|
157
|
-
*/
|
|
158
|
-
private loadFromStorage;
|
|
159
|
-
/**
|
|
160
|
-
* Get queue size
|
|
161
|
-
*/
|
|
162
|
-
getQueueSize(): number;
|
|
163
|
-
/**
|
|
164
|
-
* Get processed events count
|
|
165
|
-
*/
|
|
166
|
-
getProcessedCount(): number;
|
|
167
|
-
/**
|
|
168
|
-
* Clear all queued events
|
|
169
|
-
*/
|
|
170
|
-
clear(): void;
|
|
171
|
-
/**
|
|
172
|
-
* Reset correlation tracking for new attribution journey
|
|
173
|
-
* Call this after a conversion event to start fresh attribution
|
|
174
|
-
*/
|
|
175
|
-
resetCorrelation(): void;
|
|
176
|
-
/**
|
|
177
|
-
* Get consent queue size
|
|
178
|
-
*/
|
|
179
|
-
getConsentQueueSize(): number;
|
|
180
|
-
/**
|
|
181
|
-
* Flush consent queue - called when user grants consent
|
|
182
|
-
* Re-evaluates each queued event and adds to main queue if consented
|
|
183
|
-
*/
|
|
184
|
-
flushConsentQueue(): void;
|
|
185
|
-
/**
|
|
186
|
-
* Cleanup
|
|
187
|
-
*/
|
|
188
|
-
destroy(): void;
|
|
189
|
-
/**
|
|
190
|
-
* Start periodic cleanup of processed events set
|
|
191
|
-
*/
|
|
192
|
-
private startCleanupInterval;
|
|
193
|
-
/**
|
|
194
|
-
* Cleanup old processed event IDs to prevent memory growth
|
|
195
|
-
*
|
|
196
|
-
* NOTE: After 10000 events, old event IDs can be re-sent and may create duplicates.
|
|
197
|
-
* This is a known limitation - the deduplication Set is kept to a reasonable size
|
|
198
|
-
* to prevent memory issues while still providing good duplicate detection for
|
|
199
|
-
* typical user sessions.
|
|
200
|
-
*
|
|
201
|
-
* Server-side deduplication cache provides additional protection.
|
|
202
|
-
*/
|
|
203
|
-
private cleanupProcessedEvents;
|
|
204
|
-
private generateSessionId;
|
|
205
|
-
private generateVisitorId;
|
|
206
|
-
/**
|
|
207
|
-
* Generate tab-specific correlation ID
|
|
208
|
-
* This prevents correlation ID collisions between multiple tabs
|
|
209
|
-
*/
|
|
210
|
-
private generateTabCorrelationId;
|
|
211
|
-
/**
|
|
212
|
-
* Store events in IndexedDB overflow storage
|
|
213
|
-
* Non-blocking - errors are logged but don't throw
|
|
214
|
-
*/
|
|
215
|
-
private storeInOverflow;
|
|
216
|
-
/**
|
|
217
|
-
* Load events from IndexedDB overflow storage
|
|
218
|
-
* Called during initialization to recover persisted events
|
|
219
|
-
*/
|
|
220
|
-
private loadFromOverflowStorage;
|
|
221
|
-
/**
|
|
222
|
-
* Get metrics for monitoring
|
|
223
|
-
*/
|
|
224
|
-
getMetrics(): {
|
|
225
|
-
eventsDropped: number;
|
|
226
|
-
batchesFailed: number;
|
|
227
|
-
sendBeaconFailed: number;
|
|
228
|
-
overflowStored: number;
|
|
229
|
-
queueSize: number;
|
|
230
|
-
processedCount: number;
|
|
231
|
-
consentQueueSize: number;
|
|
232
|
-
overflowStats: {
|
|
233
|
-
count: number;
|
|
234
|
-
oldestTimestamp: number | null;
|
|
235
|
-
};
|
|
236
|
-
};
|
|
237
|
-
/**
|
|
238
|
-
* Get overflow storage stats (async)
|
|
239
|
-
*/
|
|
240
|
-
getOverflowStats(): Promise<{
|
|
241
|
-
count: number;
|
|
242
|
-
oldestTimestamp: number | null;
|
|
243
|
-
}>;
|
|
244
|
-
/**
|
|
245
|
-
* Report metric to monitoring endpoint
|
|
246
|
-
* Non-blocking - failures are ignored
|
|
247
|
-
*/
|
|
248
|
-
private reportMetric;
|
|
249
|
-
/**
|
|
250
|
-
* Send all accumulated metrics to monitoring endpoint
|
|
251
|
-
*/
|
|
252
|
-
flushMetrics(): Promise<void>;
|
|
253
|
-
}
|