@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,148 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HTML Sanitization Utilities
|
|
3
|
-
* Provides XSS protection for innerHTML operations
|
|
4
|
-
*/
|
|
5
|
-
import DOMPurify from 'dompurify';
|
|
6
|
-
/**
|
|
7
|
-
* Default DOMPurify configuration
|
|
8
|
-
* Allows safe HTML elements and attributes while blocking dangerous ones
|
|
9
|
-
*/
|
|
10
|
-
const DEFAULT_CONFIG = {
|
|
11
|
-
ALLOWED_TAGS: [
|
|
12
|
-
// Structure
|
|
13
|
-
'div', 'span', 'p', 'section', 'article', 'header', 'footer', 'main', 'nav', 'aside',
|
|
14
|
-
// Text
|
|
15
|
-
'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'strong', 'em', 'b', 'i', 'u', 's', 'small', 'mark',
|
|
16
|
-
'sub', 'sup', 'br', 'hr',
|
|
17
|
-
// Lists
|
|
18
|
-
'ul', 'ol', 'li', 'dl', 'dt', 'dd',
|
|
19
|
-
// Links & Media
|
|
20
|
-
'a', 'img', 'picture', 'source', 'figure', 'figcaption', 'video', 'audio',
|
|
21
|
-
// Tables
|
|
22
|
-
'table', 'thead', 'tbody', 'tfoot', 'tr', 'th', 'td', 'caption', 'colgroup', 'col',
|
|
23
|
-
// Forms (display only, not interactive)
|
|
24
|
-
'form', 'input', 'button', 'select', 'option', 'optgroup', 'textarea', 'label', 'fieldset', 'legend',
|
|
25
|
-
// Other
|
|
26
|
-
'blockquote', 'pre', 'code', 'kbd', 'samp', 'var', 'time', 'address', 'abbr', 'cite', 'q',
|
|
27
|
-
// SVG basics
|
|
28
|
-
'svg', 'path', 'circle', 'rect', 'line', 'polyline', 'polygon', 'ellipse', 'g', 'text', 'tspan', 'defs', 'use',
|
|
29
|
-
// Style (will be sanitized separately)
|
|
30
|
-
'style',
|
|
31
|
-
],
|
|
32
|
-
ALLOWED_ATTR: [
|
|
33
|
-
// Global
|
|
34
|
-
'id', 'class', 'style', 'title', 'lang', 'dir', 'hidden', 'tabindex', 'role',
|
|
35
|
-
'aria-label', 'aria-labelledby', 'aria-describedby', 'aria-hidden', 'aria-live',
|
|
36
|
-
'aria-atomic', 'aria-busy', 'aria-controls', 'aria-current', 'aria-disabled',
|
|
37
|
-
'aria-expanded', 'aria-haspopup', 'aria-invalid', 'aria-pressed', 'aria-selected',
|
|
38
|
-
// Data attributes
|
|
39
|
-
'data-*',
|
|
40
|
-
// Links
|
|
41
|
-
'href', 'target', 'rel', 'download',
|
|
42
|
-
// Media
|
|
43
|
-
'src', 'srcset', 'sizes', 'alt', 'width', 'height', 'loading', 'decoding',
|
|
44
|
-
'poster', 'controls', 'autoplay', 'loop', 'muted', 'playsinline', 'preload',
|
|
45
|
-
// Forms
|
|
46
|
-
'type', 'name', 'value', 'placeholder', 'disabled', 'readonly', 'required',
|
|
47
|
-
'checked', 'selected', 'multiple', 'min', 'max', 'step', 'pattern', 'maxlength', 'minlength',
|
|
48
|
-
'for', 'form', 'autocomplete', 'autofocus',
|
|
49
|
-
// Tables
|
|
50
|
-
'colspan', 'rowspan', 'scope', 'headers',
|
|
51
|
-
// SVG
|
|
52
|
-
'viewBox', 'xmlns', 'fill', 'stroke', 'stroke-width', 'stroke-linecap', 'stroke-linejoin',
|
|
53
|
-
'd', 'cx', 'cy', 'r', 'rx', 'ry', 'x', 'y', 'x1', 'y1', 'x2', 'y2', 'points',
|
|
54
|
-
'transform', 'opacity', 'fill-opacity', 'stroke-opacity',
|
|
55
|
-
],
|
|
56
|
-
// Block dangerous protocols
|
|
57
|
-
ALLOWED_URI_REGEXP: /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|xxx):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,
|
|
58
|
-
// Keep safe URLs
|
|
59
|
-
ADD_URI_SAFE_ATTR: ['href', 'src', 'srcset'],
|
|
60
|
-
// Remove dangerous tags completely (don't just strip)
|
|
61
|
-
FORBID_TAGS: ['script', 'iframe', 'object', 'embed', 'base', 'meta', 'link'],
|
|
62
|
-
FORBID_ATTR: ['onerror', 'onload', 'onclick', 'onmouseover', 'onfocus', 'onblur', 'onchange', 'onsubmit', 'onkeydown', 'onkeyup', 'onkeypress'],
|
|
63
|
-
};
|
|
64
|
-
/**
|
|
65
|
-
* Sanitize HTML string to prevent XSS attacks
|
|
66
|
-
* @param dirty - Untrusted HTML string
|
|
67
|
-
* @param config - Optional DOMPurify configuration override
|
|
68
|
-
* @returns Sanitized HTML string safe for innerHTML
|
|
69
|
-
*/
|
|
70
|
-
export function sanitizeHTML(dirty, config) {
|
|
71
|
-
if (!dirty)
|
|
72
|
-
return '';
|
|
73
|
-
const finalConfig = config ? { ...DEFAULT_CONFIG, ...config } : DEFAULT_CONFIG;
|
|
74
|
-
return DOMPurify.sanitize(dirty, finalConfig);
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Strict sanitization - allows only basic formatting tags
|
|
78
|
-
* Use for user-generated content like comments or descriptions
|
|
79
|
-
*/
|
|
80
|
-
export function sanitizeHTMLStrict(dirty) {
|
|
81
|
-
if (!dirty)
|
|
82
|
-
return '';
|
|
83
|
-
return DOMPurify.sanitize(dirty, {
|
|
84
|
-
ALLOWED_TAGS: ['b', 'i', 'em', 'strong', 'u', 's', 'p', 'br', 'span', 'div', 'a', 'ul', 'ol', 'li'],
|
|
85
|
-
ALLOWED_ATTR: ['href', 'target', 'rel', 'class', 'style'],
|
|
86
|
-
ALLOW_DATA_ATTR: false,
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Sanitize for product cards - allows images and basic structure
|
|
91
|
-
*/
|
|
92
|
-
export function sanitizeProductHTML(dirty) {
|
|
93
|
-
if (!dirty)
|
|
94
|
-
return '';
|
|
95
|
-
return DOMPurify.sanitize(dirty, {
|
|
96
|
-
...DEFAULT_CONFIG,
|
|
97
|
-
// Ensure images and product-related elements are allowed
|
|
98
|
-
ADD_TAGS: ['img', 'picture', 'source'],
|
|
99
|
-
ADD_ATTR: ['loading', 'decoding', 'srcset', 'sizes', 'data-product-id', 'data-action'],
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Sanitize for widget custom HTML - more permissive but still safe
|
|
104
|
-
*/
|
|
105
|
-
export function sanitizeWidgetHTML(dirty) {
|
|
106
|
-
if (!dirty)
|
|
107
|
-
return '';
|
|
108
|
-
return DOMPurify.sanitize(dirty, {
|
|
109
|
-
...DEFAULT_CONFIG,
|
|
110
|
-
// Allow more styling options for custom widgets
|
|
111
|
-
ADD_TAGS: ['style'],
|
|
112
|
-
// Still block event handlers
|
|
113
|
-
FORBID_ATTR: ['onerror', 'onload', 'onclick', 'onmouseover', 'onfocus', 'onblur'],
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Sanitize CSS to prevent CSS injection attacks
|
|
118
|
-
* Removes potentially dangerous CSS like expressions, behaviors, and URLs to external resources
|
|
119
|
-
*/
|
|
120
|
-
export function sanitizeCSS(css) {
|
|
121
|
-
if (!css)
|
|
122
|
-
return '';
|
|
123
|
-
// Remove CSS expressions (IE-specific but still good to block)
|
|
124
|
-
let safe = css.replace(/expression\s*\([^)]*\)/gi, '');
|
|
125
|
-
// Remove behavior (IE-specific)
|
|
126
|
-
safe = safe.replace(/behavior\s*:\s*[^;]*/gi, '');
|
|
127
|
-
// Remove -moz-binding (Firefox-specific, deprecated but block anyway)
|
|
128
|
-
safe = safe.replace(/-moz-binding\s*:\s*[^;]*/gi, '');
|
|
129
|
-
// Remove javascript: URLs in CSS
|
|
130
|
-
safe = safe.replace(/javascript\s*:/gi, '');
|
|
131
|
-
// Remove data: URLs (can contain scripts)
|
|
132
|
-
safe = safe.replace(/data\s*:/gi, '');
|
|
133
|
-
// Remove @import to prevent external CSS loading
|
|
134
|
-
safe = safe.replace(/@import\s+[^;]*/gi, '');
|
|
135
|
-
return safe;
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Set innerHTML safely with sanitization
|
|
139
|
-
* @param element - Target DOM element
|
|
140
|
-
* @param html - HTML string to set
|
|
141
|
-
* @param sanitizer - Sanitization function to use (defaults to sanitizeHTML)
|
|
142
|
-
*/
|
|
143
|
-
export function setInnerHTMLSafe(element, html, sanitizer = sanitizeHTML) {
|
|
144
|
-
element.innerHTML = sanitizer(html);
|
|
145
|
-
}
|
|
146
|
-
// Export DOMPurify for advanced usage
|
|
147
|
-
export { DOMPurify };
|
|
148
|
-
//# sourceMappingURL=sanitize.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../../../src/utils/sanitize.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Storage Utilities
|
|
3
|
-
*
|
|
4
|
-
* Includes in-memory fallback for private browsing mode where localStorage
|
|
5
|
-
* may be blocked or throw SecurityError.
|
|
6
|
-
*/
|
|
7
|
-
export declare function getOrCreateSessionId(): string;
|
|
8
|
-
export declare function getOrCreateVisitorId(): string;
|
|
9
|
-
export declare function getStoredSiteUserId(): string | undefined;
|
|
10
|
-
export declare function setSiteUserId(siteUserId?: string): void;
|
|
11
|
-
export declare function isTestModeEnabled(): boolean;
|
|
12
|
-
/**
|
|
13
|
-
* Get or create a journey ID for session-based journey tracking
|
|
14
|
-
* A journey represents a user's session across multiple pages with a 30-minute timeout
|
|
15
|
-
*
|
|
16
|
-
* Journey ID format: journey_${visitorId}_${timestamp}
|
|
17
|
-
* This format matches the server-side format for consistent journey tracking
|
|
18
|
-
*
|
|
19
|
-
* The journey persists for 30 minutes of inactivity. Any activity during this period
|
|
20
|
-
* extends the journey. After 30 minutes of inactivity, a new journey is created.
|
|
21
|
-
*
|
|
22
|
-
* This allows tracking user paths across page navigations and identifying common
|
|
23
|
-
* user journeys (e.g., Product Page → Add to Cart → Checkout)
|
|
24
|
-
*/
|
|
25
|
-
export declare function getOrCreateJourneyId(): string;
|
|
26
|
-
/**
|
|
27
|
-
* Check if the current journey has expired (30 minutes of inactivity)
|
|
28
|
-
*/
|
|
29
|
-
export declare function isJourneyExpired(): boolean;
|
|
30
|
-
/**
|
|
31
|
-
* Reset the current journey
|
|
32
|
-
* Clears journey storage and forces creation of a new journey on next getOrCreateJourneyId call
|
|
33
|
-
*/
|
|
34
|
-
export declare function resetJourney(): void;
|
|
35
|
-
/**
|
|
36
|
-
* Get the current journey ID without creating a new one
|
|
37
|
-
* Returns undefined if no journey exists
|
|
38
|
-
*/
|
|
39
|
-
export declare function getJourneyId(): string | undefined;
|
|
40
|
-
/**
|
|
41
|
-
* Get or create a correlation ID for attribution tracking
|
|
42
|
-
* A correlation links related events across a 24-hour window for attribution modeling
|
|
43
|
-
*
|
|
44
|
-
* Correlation ID format: corr_<16-char-random>
|
|
45
|
-
*
|
|
46
|
-
* The correlation persists for 24 hours. Any new event during this period
|
|
47
|
-
* uses the same correlation ID, allowing attribution models to trace
|
|
48
|
-
* the user journey from first touch to conversion.
|
|
49
|
-
*
|
|
50
|
-
* After a conversion (purchase), the correlation is reset to start a new
|
|
51
|
-
* attribution journey.
|
|
52
|
-
*
|
|
53
|
-
* This enables:
|
|
54
|
-
* - First Touch attribution (credit to first event in correlation)
|
|
55
|
-
* - Last Touch attribution (credit to last event before conversion)
|
|
56
|
-
* - Linear attribution (equal credit to all events in correlation)
|
|
57
|
-
* - Time Decay attribution (more credit to recent events)
|
|
58
|
-
* - Position Based attribution (40% first, 40% last, 20% middle)
|
|
59
|
-
*/
|
|
60
|
-
export declare function getOrCreateCorrelationId(): string;
|
|
61
|
-
/**
|
|
62
|
-
* Get the current correlation ID without creating a new one
|
|
63
|
-
* Returns undefined if no correlation exists
|
|
64
|
-
*/
|
|
65
|
-
export declare function getCorrelationId(): string | undefined;
|
|
66
|
-
/**
|
|
67
|
-
* Reset the current correlation
|
|
68
|
-
* Clears correlation storage and forces creation of a new correlation on next call
|
|
69
|
-
*
|
|
70
|
-
* This should be called after a conversion event to start a new attribution journey
|
|
71
|
-
*/
|
|
72
|
-
export declare function resetCorrelation(): void;
|
|
@@ -1,271 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Storage Utilities
|
|
3
|
-
*
|
|
4
|
-
* Includes in-memory fallback for private browsing mode where localStorage
|
|
5
|
-
* may be blocked or throw SecurityError.
|
|
6
|
-
*/
|
|
7
|
-
import { STORAGE_KEYS } from '../constants.js';
|
|
8
|
-
import { testModeDebug, testModeWarn } from './logger.js';
|
|
9
|
-
// In-memory fallback storage for private browsing mode
|
|
10
|
-
const inMemoryStorage = new Map();
|
|
11
|
-
/**
|
|
12
|
-
* Safe storage wrapper with cascade fallback:
|
|
13
|
-
* 1. localStorage (persists across sessions)
|
|
14
|
-
* 2. sessionStorage (persists until tab close)
|
|
15
|
-
* 3. inMemory Map (persists until page refresh)
|
|
16
|
-
*/
|
|
17
|
-
function safeLocalStorage() {
|
|
18
|
-
// Try localStorage first
|
|
19
|
-
if (typeof localStorage !== 'undefined') {
|
|
20
|
-
try {
|
|
21
|
-
const testKey = '__selwise_storage_test__';
|
|
22
|
-
localStorage.setItem(testKey, 'test');
|
|
23
|
-
localStorage.removeItem(testKey);
|
|
24
|
-
return localStorage;
|
|
25
|
-
}
|
|
26
|
-
catch (e) {
|
|
27
|
-
testModeDebug('Selwise', 'localStorage unavailable:', e);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
// Try sessionStorage (persists until tab closes)
|
|
31
|
-
if (typeof sessionStorage !== 'undefined') {
|
|
32
|
-
try {
|
|
33
|
-
const testKey = '__selwise_storage_test__';
|
|
34
|
-
sessionStorage.setItem(testKey, 'test');
|
|
35
|
-
sessionStorage.removeItem(testKey);
|
|
36
|
-
testModeWarn('Selwise', 'Using sessionStorage (persists until tab close)');
|
|
37
|
-
return sessionStorage;
|
|
38
|
-
}
|
|
39
|
-
catch (e) {
|
|
40
|
-
testModeDebug('Selwise', 'sessionStorage unavailable:', e);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
// Final fallback: in-memory (persists until refresh only)
|
|
44
|
-
testModeWarn('Selwise', 'Using in-memory storage (persists until page refresh only). ' +
|
|
45
|
-
'Visitor ID and experiments will reset on refresh.');
|
|
46
|
-
return {
|
|
47
|
-
getItem: (key) => inMemoryStorage.get(key) || null,
|
|
48
|
-
setItem: (key, value) => inMemoryStorage.set(key, value),
|
|
49
|
-
removeItem: (key) => inMemoryStorage.delete(key),
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
const storage = safeLocalStorage();
|
|
53
|
-
/**
|
|
54
|
-
* Generate a cryptographically secure random ID
|
|
55
|
-
* Uses crypto.getRandomValues for secure randomness
|
|
56
|
-
* Falls back to Math.random only if crypto is unavailable
|
|
57
|
-
*/
|
|
58
|
-
function generateSecureId(prefix) {
|
|
59
|
-
// Try to use crypto.randomUUID if available (modern browsers)
|
|
60
|
-
if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') {
|
|
61
|
-
return `${prefix}_${crypto.randomUUID()}`;
|
|
62
|
-
}
|
|
63
|
-
// Fallback to crypto.getRandomValues
|
|
64
|
-
if (typeof crypto !== 'undefined' && typeof crypto.getRandomValues === 'function') {
|
|
65
|
-
const array = new Uint8Array(16);
|
|
66
|
-
crypto.getRandomValues(array);
|
|
67
|
-
// Convert to hex string
|
|
68
|
-
const hex = Array.from(array)
|
|
69
|
-
.map(b => b.toString(16).padStart(2, '0'))
|
|
70
|
-
.join('');
|
|
71
|
-
return `${prefix}_${hex}`;
|
|
72
|
-
}
|
|
73
|
-
// Last resort fallback (should rarely be needed)
|
|
74
|
-
testModeWarn('Selwise', 'crypto.getRandomValues not available, using less secure fallback');
|
|
75
|
-
const timestamp = Date.now().toString(36);
|
|
76
|
-
const random = Math.random().toString(36).substring(2, 15);
|
|
77
|
-
return `${prefix}_${timestamp}${random}`;
|
|
78
|
-
}
|
|
79
|
-
export function getOrCreateSessionId() {
|
|
80
|
-
// Try sessionStorage first (session-scoped)
|
|
81
|
-
try {
|
|
82
|
-
let sessionId = sessionStorage.getItem(STORAGE_KEYS.SESSION_ID);
|
|
83
|
-
if (!sessionId) {
|
|
84
|
-
sessionId = generateSecureId('sid');
|
|
85
|
-
sessionStorage.setItem(STORAGE_KEYS.SESSION_ID, sessionId);
|
|
86
|
-
}
|
|
87
|
-
return sessionId;
|
|
88
|
-
}
|
|
89
|
-
catch {
|
|
90
|
-
// Fallback to localStorage with in-memory fallback
|
|
91
|
-
let sessionId = storage.getItem(STORAGE_KEYS.SESSION_ID);
|
|
92
|
-
if (!sessionId) {
|
|
93
|
-
sessionId = generateSecureId('sid');
|
|
94
|
-
storage.setItem(STORAGE_KEYS.SESSION_ID, sessionId);
|
|
95
|
-
}
|
|
96
|
-
return sessionId;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
export function getOrCreateVisitorId() {
|
|
100
|
-
let visitorId = storage.getItem(STORAGE_KEYS.VISITOR_ID);
|
|
101
|
-
if (!visitorId) {
|
|
102
|
-
visitorId = generateSecureId('vid');
|
|
103
|
-
storage.setItem(STORAGE_KEYS.VISITOR_ID, visitorId);
|
|
104
|
-
}
|
|
105
|
-
return visitorId;
|
|
106
|
-
}
|
|
107
|
-
export function getStoredSiteUserId() {
|
|
108
|
-
const v = storage.getItem(STORAGE_KEYS.SITE_USER_ID);
|
|
109
|
-
return v || undefined;
|
|
110
|
-
}
|
|
111
|
-
export function setSiteUserId(siteUserId) {
|
|
112
|
-
if (!siteUserId) {
|
|
113
|
-
storage.removeItem(STORAGE_KEYS.SITE_USER_ID);
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
storage.setItem(STORAGE_KEYS.SITE_USER_ID, siteUserId);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
export function isTestModeEnabled() {
|
|
120
|
-
return storage.getItem(STORAGE_KEYS.TEST_MODE) === 'true';
|
|
121
|
-
}
|
|
122
|
-
// ================================
|
|
123
|
-
// JOURNEY TRACKING
|
|
124
|
-
// ================================
|
|
125
|
-
/**
|
|
126
|
-
* Get or create a journey ID for session-based journey tracking
|
|
127
|
-
* A journey represents a user's session across multiple pages with a 30-minute timeout
|
|
128
|
-
*
|
|
129
|
-
* Journey ID format: journey_${visitorId}_${timestamp}
|
|
130
|
-
* This format matches the server-side format for consistent journey tracking
|
|
131
|
-
*
|
|
132
|
-
* The journey persists for 30 minutes of inactivity. Any activity during this period
|
|
133
|
-
* extends the journey. After 30 minutes of inactivity, a new journey is created.
|
|
134
|
-
*
|
|
135
|
-
* This allows tracking user paths across page navigations and identifying common
|
|
136
|
-
* user journeys (e.g., Product Page → Add to Cart → Checkout)
|
|
137
|
-
*/
|
|
138
|
-
export function getOrCreateJourneyId() {
|
|
139
|
-
const visitorId = getOrCreateVisitorId();
|
|
140
|
-
let journeyId = storage.getItem(STORAGE_KEYS.JOURNEY_ID);
|
|
141
|
-
const createdStr = storage.getItem(STORAGE_KEYS.JOURNEY_CREATED);
|
|
142
|
-
// Check if journey exists and is not expired
|
|
143
|
-
if (journeyId && createdStr) {
|
|
144
|
-
const created = parseInt(createdStr, 10);
|
|
145
|
-
const age = Date.now() - created;
|
|
146
|
-
// Journey is valid if less than 30 minutes old
|
|
147
|
-
if (age < 30 * 60 * 1000) {
|
|
148
|
-
// Verify journey ID format matches current visitor
|
|
149
|
-
// Format: journey_${visitorId}_${timestamp}
|
|
150
|
-
const expectedPrefix = `journey_${visitorId}`;
|
|
151
|
-
if (journeyId.startsWith(expectedPrefix)) {
|
|
152
|
-
// Extend journey on activity by updating the created time
|
|
153
|
-
// This keeps the journey alive as long as the user is active
|
|
154
|
-
storage.setItem(STORAGE_KEYS.JOURNEY_CREATED, Date.now().toString());
|
|
155
|
-
return journeyId;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
// Journey expired or visitor mismatch - fall through to create new one
|
|
159
|
-
}
|
|
160
|
-
// Create new journey with consistent format matching server
|
|
161
|
-
journeyId = `journey_${visitorId}_${Date.now()}`;
|
|
162
|
-
storage.setItem(STORAGE_KEYS.JOURNEY_ID, journeyId);
|
|
163
|
-
storage.setItem(STORAGE_KEYS.JOURNEY_CREATED, Date.now().toString());
|
|
164
|
-
return journeyId;
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Check if the current journey has expired (30 minutes of inactivity)
|
|
168
|
-
*/
|
|
169
|
-
export function isJourneyExpired() {
|
|
170
|
-
const createdStr = storage.getItem(STORAGE_KEYS.JOURNEY_CREATED);
|
|
171
|
-
if (!createdStr)
|
|
172
|
-
return true;
|
|
173
|
-
const created = parseInt(createdStr, 10);
|
|
174
|
-
const age = Date.now() - created;
|
|
175
|
-
return age >= 30 * 60 * 1000;
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Reset the current journey
|
|
179
|
-
* Clears journey storage and forces creation of a new journey on next getOrCreateJourneyId call
|
|
180
|
-
*/
|
|
181
|
-
export function resetJourney() {
|
|
182
|
-
storage.removeItem(STORAGE_KEYS.JOURNEY_ID);
|
|
183
|
-
storage.removeItem(STORAGE_KEYS.JOURNEY_CREATED);
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* Get the current journey ID without creating a new one
|
|
187
|
-
* Returns undefined if no journey exists
|
|
188
|
-
*/
|
|
189
|
-
export function getJourneyId() {
|
|
190
|
-
const journeyId = storage.getItem(STORAGE_KEYS.JOURNEY_ID);
|
|
191
|
-
const createdStr = storage.getItem(STORAGE_KEYS.JOURNEY_CREATED);
|
|
192
|
-
if (!journeyId || !createdStr)
|
|
193
|
-
return undefined;
|
|
194
|
-
const created = parseInt(createdStr, 10);
|
|
195
|
-
const age = Date.now() - created;
|
|
196
|
-
// Only return if not expired
|
|
197
|
-
if (age < 30 * 60 * 1000) {
|
|
198
|
-
return journeyId;
|
|
199
|
-
}
|
|
200
|
-
return undefined;
|
|
201
|
-
}
|
|
202
|
-
// ================================
|
|
203
|
-
// CORRELATION TRACKING (ATTRIBUTION)
|
|
204
|
-
// ================================
|
|
205
|
-
/**
|
|
206
|
-
* Get or create a correlation ID for attribution tracking
|
|
207
|
-
* A correlation links related events across a 24-hour window for attribution modeling
|
|
208
|
-
*
|
|
209
|
-
* Correlation ID format: corr_<16-char-random>
|
|
210
|
-
*
|
|
211
|
-
* The correlation persists for 24 hours. Any new event during this period
|
|
212
|
-
* uses the same correlation ID, allowing attribution models to trace
|
|
213
|
-
* the user journey from first touch to conversion.
|
|
214
|
-
*
|
|
215
|
-
* After a conversion (purchase), the correlation is reset to start a new
|
|
216
|
-
* attribution journey.
|
|
217
|
-
*
|
|
218
|
-
* This enables:
|
|
219
|
-
* - First Touch attribution (credit to first event in correlation)
|
|
220
|
-
* - Last Touch attribution (credit to last event before conversion)
|
|
221
|
-
* - Linear attribution (equal credit to all events in correlation)
|
|
222
|
-
* - Time Decay attribution (more credit to recent events)
|
|
223
|
-
* - Position Based attribution (40% first, 40% last, 20% middle)
|
|
224
|
-
*/
|
|
225
|
-
export function getOrCreateCorrelationId() {
|
|
226
|
-
let correlationId = storage.getItem(STORAGE_KEYS.CORRELATION_ID);
|
|
227
|
-
const createdStr = storage.getItem(STORAGE_KEYS.CORRELATION_CREATED);
|
|
228
|
-
// Check if correlation exists and is not expired
|
|
229
|
-
if (correlationId && createdStr) {
|
|
230
|
-
const created = parseInt(createdStr, 10);
|
|
231
|
-
const age = Date.now() - created;
|
|
232
|
-
// Correlation is valid if less than 24 hours old
|
|
233
|
-
if (age < 24 * 60 * 60 * 1000) {
|
|
234
|
-
return correlationId;
|
|
235
|
-
}
|
|
236
|
-
// Correlation expired - fall through to create new one
|
|
237
|
-
}
|
|
238
|
-
// Create new correlation
|
|
239
|
-
correlationId = generateSecureId('corr');
|
|
240
|
-
storage.setItem(STORAGE_KEYS.CORRELATION_ID, correlationId);
|
|
241
|
-
storage.setItem(STORAGE_KEYS.CORRELATION_CREATED, Date.now().toString());
|
|
242
|
-
return correlationId;
|
|
243
|
-
}
|
|
244
|
-
/**
|
|
245
|
-
* Get the current correlation ID without creating a new one
|
|
246
|
-
* Returns undefined if no correlation exists
|
|
247
|
-
*/
|
|
248
|
-
export function getCorrelationId() {
|
|
249
|
-
const correlationId = storage.getItem(STORAGE_KEYS.CORRELATION_ID);
|
|
250
|
-
const createdStr = storage.getItem(STORAGE_KEYS.CORRELATION_CREATED);
|
|
251
|
-
if (!correlationId || !createdStr)
|
|
252
|
-
return undefined;
|
|
253
|
-
const created = parseInt(createdStr, 10);
|
|
254
|
-
const age = Date.now() - created;
|
|
255
|
-
// Only return if not expired (24 hours)
|
|
256
|
-
if (age < 24 * 60 * 60 * 1000) {
|
|
257
|
-
return correlationId;
|
|
258
|
-
}
|
|
259
|
-
return undefined;
|
|
260
|
-
}
|
|
261
|
-
/**
|
|
262
|
-
* Reset the current correlation
|
|
263
|
-
* Clears correlation storage and forces creation of a new correlation on next call
|
|
264
|
-
*
|
|
265
|
-
* This should be called after a conversion event to start a new attribution journey
|
|
266
|
-
*/
|
|
267
|
-
export function resetCorrelation() {
|
|
268
|
-
storage.removeItem(STORAGE_KEYS.CORRELATION_ID);
|
|
269
|
-
storage.removeItem(STORAGE_KEYS.CORRELATION_CREATED);
|
|
270
|
-
}
|
|
271
|
-
//# sourceMappingURL=storage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../src/utils/storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function sanitizeTrackingMetadata(metadata?: Record<string, any>): Record<string, any> | undefined;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
const DEPRECATED_METADATA_FIELDS = new Set(['productId', 'productSku', 'sku']);
|
|
2
|
-
export function sanitizeTrackingMetadata(metadata) {
|
|
3
|
-
if (!metadata || typeof metadata !== 'object' || Array.isArray(metadata)) {
|
|
4
|
-
return metadata;
|
|
5
|
-
}
|
|
6
|
-
const sanitized = {};
|
|
7
|
-
for (const [key, value] of Object.entries(metadata)) {
|
|
8
|
-
if (DEPRECATED_METADATA_FIELDS.has(key)) {
|
|
9
|
-
continue;
|
|
10
|
-
}
|
|
11
|
-
sanitized[key] = value;
|
|
12
|
-
}
|
|
13
|
-
return sanitized;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=tracking-metadata.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tracking-metadata.js","sourceRoot":"","sources":["../../../../src/utils/tracking-metadata.ts"],"names":[],"mappings":"AAAA,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;AAE/E,MAAM,UAAU,wBAAwB,CACtC,QAA8B;IAE9B,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAwB,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,IAAI,0BAA0B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,SAAS;QACX,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* URL Pattern Matching Utility
|
|
3
|
-
*/
|
|
4
|
-
import { matchUrlPattern as matchPageTargetingUrlPattern } from '../core/page-targeting/index.js';
|
|
5
|
-
export function matchUrlPattern(url, pattern) {
|
|
6
|
-
return matchPageTargetingUrlPattern(url, pattern);
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=url-matcher.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"url-matcher.js","sourceRoot":"","sources":["../../../../src/utils/url-matcher.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,IAAI,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAEzF,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,OAAe;IAC1D,OAAO,4BAA4B,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC"}
|