@surfside/ads 3.6.0-327321ef.0 → 3.6.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.
Files changed (86) hide show
  1. package/package.json +10 -10
  2. package/lib/cjs/BuildInfo.js +0 -9
  3. package/lib/cjs/BuildInfo.js.map +0 -1
  4. package/lib/cjs/Constants.js +0 -5
  5. package/lib/cjs/Constants.js.map +0 -1
  6. package/lib/cjs/Init.js +0 -130
  7. package/lib/cjs/Init.js.map +0 -1
  8. package/lib/cjs/components/Banner.js +0 -135
  9. package/lib/cjs/components/Banner.js.map +0 -1
  10. package/lib/cjs/components/Card.js +0 -162
  11. package/lib/cjs/components/Card.js.map +0 -1
  12. package/lib/cjs/components/Carousel.js +0 -241
  13. package/lib/cjs/components/Carousel.js.map +0 -1
  14. package/lib/cjs/components/Creative.js +0 -203
  15. package/lib/cjs/components/Creative.js.map +0 -1
  16. package/lib/cjs/components/Dynamic.js +0 -300
  17. package/lib/cjs/components/Dynamic.js.map +0 -1
  18. package/lib/cjs/components/SimpleCreative.js +0 -75
  19. package/lib/cjs/components/SimpleCreative.js.map +0 -1
  20. package/lib/cjs/components/Video.js +0 -134
  21. package/lib/cjs/components/Video.js.map +0 -1
  22. package/lib/cjs/demo/test.js +0 -7
  23. package/lib/cjs/demo/test.js.map +0 -1
  24. package/lib/cjs/index.module.js +0 -107
  25. package/lib/cjs/index.module.js.map +0 -1
  26. package/lib/cjs/index.script.js +0 -102
  27. package/lib/cjs/index.script.js.map +0 -1
  28. package/lib/cjs/index.script.mock.js +0 -154
  29. package/lib/cjs/index.script.mock.js.map +0 -1
  30. package/lib/cjs/service/Init.js +0 -3
  31. package/lib/cjs/service/Init.js.map +0 -1
  32. package/lib/cjs/util/Attributes.js +0 -93
  33. package/lib/cjs/util/Attributes.js.map +0 -1
  34. package/lib/cjs/util/Types.js +0 -3
  35. package/lib/cjs/util/Types.js.map +0 -1
  36. package/lib/esm/BuildInfo.js +0 -6
  37. package/lib/esm/BuildInfo.js.map +0 -1
  38. package/lib/esm/Constants.js +0 -2
  39. package/lib/esm/Constants.js.map +0 -1
  40. package/lib/esm/Init.js +0 -92
  41. package/lib/esm/Init.js.map +0 -1
  42. package/lib/esm/components/Banner.js +0 -131
  43. package/lib/esm/components/Banner.js.map +0 -1
  44. package/lib/esm/components/Card.js +0 -158
  45. package/lib/esm/components/Card.js.map +0 -1
  46. package/lib/esm/components/Carousel.js +0 -237
  47. package/lib/esm/components/Carousel.js.map +0 -1
  48. package/lib/esm/components/Creative.js +0 -198
  49. package/lib/esm/components/Creative.js.map +0 -1
  50. package/lib/esm/components/Dynamic.js +0 -296
  51. package/lib/esm/components/Dynamic.js.map +0 -1
  52. package/lib/esm/components/SimpleCreative.js +0 -69
  53. package/lib/esm/components/SimpleCreative.js.map +0 -1
  54. package/lib/esm/components/Video.js +0 -130
  55. package/lib/esm/components/Video.js.map +0 -1
  56. package/lib/esm/demo/test.js +0 -5
  57. package/lib/esm/demo/test.js.map +0 -1
  58. package/lib/esm/index.module.js +0 -67
  59. package/lib/esm/index.module.js.map +0 -1
  60. package/lib/esm/index.script.js +0 -100
  61. package/lib/esm/index.script.js.map +0 -1
  62. package/lib/esm/index.script.mock.js +0 -152
  63. package/lib/esm/index.script.mock.js.map +0 -1
  64. package/lib/esm/service/Init.js +0 -2
  65. package/lib/esm/service/Init.js.map +0 -1
  66. package/lib/esm/util/Attributes.js +0 -81
  67. package/lib/esm/util/Attributes.js.map +0 -1
  68. package/lib/esm/util/Types.js +0 -2
  69. package/lib/esm/util/Types.js.map +0 -1
  70. package/lib/types/BuildInfo.d.ts +0 -5
  71. package/lib/types/Constants.d.ts +0 -1
  72. package/lib/types/Init.d.ts +0 -31
  73. package/lib/types/components/Banner.d.ts +0 -18
  74. package/lib/types/components/Card.d.ts +0 -17
  75. package/lib/types/components/Carousel.d.ts +0 -31
  76. package/lib/types/components/Creative.d.ts +0 -65
  77. package/lib/types/components/Dynamic.d.ts +0 -23
  78. package/lib/types/components/SimpleCreative.d.ts +0 -19
  79. package/lib/types/components/Video.d.ts +0 -22
  80. package/lib/types/demo/test.d.ts +0 -1
  81. package/lib/types/index.module.d.ts +0 -12
  82. package/lib/types/index.script.d.ts +0 -1
  83. package/lib/types/index.script.mock.d.ts +0 -1
  84. package/lib/types/service/Init.d.ts +0 -1
  85. package/lib/types/util/Attributes.d.ts +0 -24
  86. package/lib/types/util/Types.d.ts +0 -3
@@ -1,241 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SurfsideCarousel = exports.NextType = void 0;
4
- const ads_core_1 = require("@surfside/ads-core");
5
- const Creative_1 = require("./Creative");
6
- const SimpleCreative_1 = require("./SimpleCreative");
7
- const Constants_1 = require("../Constants");
8
- exports.NextType = {
9
- Product: 'product',
10
- Page: 'page'
11
- };
12
- class SurfsideCarousel extends Creative_1.CreativeComponent {
13
- _cancellationToken = new ads_core_1.CancellationToken();
14
- _renderDebounce;
15
- maxItems;
16
- cardMinWidth = Constants_1.DefaultMinCardWidth;
17
- cardMaxWidth;
18
- strategy = Creative_1.ProductFeedStrategy.Hybrid;
19
- recommend = 'top-products';
20
- nextType = exports.NextType.Page;
21
- static get observedAttributes() {
22
- return [
23
- ...Creative_1.CreativeComponent.observedBaseAttributes,
24
- 'max-items',
25
- 'card-min-width',
26
- 'card-max-width',
27
- 'strategy',
28
- 'recommend',
29
- 'next-type'
30
- ];
31
- }
32
- constructor(initApi, getUserId, logger) {
33
- logger?.info('Building carousel');
34
- super(initApi, getUserId, logger);
35
- }
36
- getComponentName() {
37
- return 'SurfsideCarousel';
38
- }
39
- async attributeChangedCallback(name, oldValue, newValue) {
40
- const log = this.log?.with('attributeChangedCallback');
41
- log?.info('Carousel attribute changed');
42
- switch (name) {
43
- case 'max-items': {
44
- try {
45
- this.maxItems = (0, SimpleCreative_1.IntValOrThrow)(this, 'max-items', newValue);
46
- }
47
- catch (err) {
48
- log?.warn('Failed to parse. Got', err);
49
- }
50
- break;
51
- }
52
- case 'card-min-width': {
53
- try {
54
- this.cardMinWidth = (0, SimpleCreative_1.IntValOrThrow)(this, 'card-min-width', newValue);
55
- }
56
- catch (err) {
57
- log?.warn('Failed to parse. Got', err);
58
- }
59
- break;
60
- }
61
- case 'card-max-width': {
62
- try {
63
- this.cardMaxWidth = (0, SimpleCreative_1.IntValOrThrow)(this, 'card-max-width', newValue);
64
- }
65
- catch (err) {
66
- log?.warn('Failed to parse. Got', err);
67
- }
68
- break;
69
- }
70
- case 'strategy': {
71
- const strategy = newValue?.toLowerCase();
72
- switch (strategy) {
73
- case Creative_1.ProductFeedStrategy.Sponsored:
74
- case Creative_1.ProductFeedStrategy.Hybrid:
75
- case Creative_1.ProductFeedStrategy.Recommended:
76
- this.strategy = strategy;
77
- break;
78
- default:
79
- log?.warn('Unrecognized or null strategy:', newValue);
80
- break;
81
- }
82
- break;
83
- }
84
- case 'recommend': {
85
- const recommend = newValue?.toLowerCase();
86
- switch (recommend) {
87
- case Creative_1.RecommenderTypeInputs.TopProducts:
88
- this.recommend = 'top-products';
89
- break;
90
- case Creative_1.RecommenderTypeInputs.ForYou:
91
- this.recommend = 'for-you';
92
- break;
93
- case Creative_1.RecommenderTypeInputs.PastPurchases:
94
- case Creative_1.RecommenderTypeInputs.BuyAgain:
95
- this.recommend = 'past-purchases';
96
- break;
97
- default:
98
- log?.warn('Unrecognized or null recommender type:', newValue);
99
- break;
100
- }
101
- break;
102
- }
103
- case 'next-type': {
104
- const nextType = newValue?.toLowerCase();
105
- switch (nextType) {
106
- case exports.NextType.Page:
107
- case exports.NextType.Product:
108
- this.nextType = nextType;
109
- break;
110
- default:
111
- log?.warn('Unrecognized or null next-type:', newValue);
112
- break;
113
- }
114
- break;
115
- }
116
- default: {
117
- const baseName = name;
118
- if (Creative_1.CreativeComponent.observedBaseAttributes.includes(baseName)) {
119
- await super.baseAttributeChangedCallback(baseName, oldValue, newValue, log);
120
- }
121
- break;
122
- }
123
- }
124
- const totem = crypto.randomUUID();
125
- this.totem = totem;
126
- log?.debug(name, 'totem', totem);
127
- if (!this.attributesLoaded()) {
128
- log?.debug('Attributes not ready yet...', this.accountId);
129
- return;
130
- }
131
- else {
132
- log?.debug('Attributes ready!');
133
- }
134
- await this.lazyLoadApi();
135
- if (this.totem !== totem) {
136
- log?.debug('Totem changed. Deferring rendering of carousel until last attribute changed', totem, this.totem);
137
- return;
138
- }
139
- if (this.isConnected) {
140
- log?.debug(`Rendering carousel upon [${name}] changed`);
141
- await this.render();
142
- }
143
- }
144
- async connectedCallback() {
145
- super.connectedCallback();
146
- const log = this.log?.with('connectedCallback');
147
- log?.info('connectedCallback');
148
- super.readBaseAttributes();
149
- await this.initApi();
150
- const totem = crypto.randomUUID();
151
- this.totem = totem;
152
- if (this.attributesLoaded()) {
153
- await this.lazyLoadApi();
154
- if (this.totem !== totem) {
155
- log?.debug('Attributes changed after connectedCallback, waiting to render');
156
- return;
157
- }
158
- log?.debug('Rendering upon connectedCallback');
159
- await this.render();
160
- }
161
- else {
162
- this.log?.warn('ConnectedCallback called before attributes were all ready.');
163
- }
164
- }
165
- async render() {
166
- const log = this.log?.with('SurfsideCarousel', { zoneId: this.zoneId });
167
- log?.info('Rendering carousel');
168
- if (this._renderDebounce !== undefined) {
169
- log?.debug('Debounce was not undefined');
170
- globalThis.clearTimeout(this._renderDebounce);
171
- }
172
- this._renderDebounce = globalThis.setTimeout(async () => {
173
- log?.info('Rendering carousel', this.api);
174
- const stopTimer = log?.time?.('render carousel');
175
- this._cancellationToken.cancel();
176
- const token = new ads_core_1.CancellationToken();
177
- this._cancellationToken = token;
178
- const { startRequest, defaultNative, buildHybridCarousel, buildSponsoredCarousel, buildRecommendedCarousel, renderCarousel } = this.api;
179
- const carousel = (0, ads_core_1.TryDoFlat)(() => {
180
- log?.debug('Starting request');
181
- const request = startRequest(this.zoneId)
182
- .withSurfCategory(this.category)
183
- .withKeywords(this.keywords)
184
- .withProductCards(defaultNative())
185
- .build();
186
- switch (this.strategy) {
187
- case Creative_1.ProductFeedStrategy.Hybrid:
188
- log?.debug('building Hybrid carousel');
189
- return buildHybridCarousel({
190
- type: this.recommend
191
- }, request);
192
- case Creative_1.ProductFeedStrategy.Sponsored:
193
- log?.debug('Building sponsored carousel');
194
- return buildSponsoredCarousel(request);
195
- case Creative_1.ProductFeedStrategy.Recommended:
196
- log?.debug('Building recommended carousel');
197
- return buildRecommendedCarousel({
198
- type: this.recommend
199
- }, this.category?.[0]);
200
- default:
201
- return (0, ads_core_1.Err)(new ads_core_1.InvalidRecommenderTypeError(this.strategy));
202
- }
203
- });
204
- if (!carousel.ok) {
205
- log?.error('Failed to build carousel!', carousel.error);
206
- return;
207
- }
208
- log?.info('Rendering carousel');
209
- const element = await renderCarousel(carousel.value, this.cardMinWidth, this.maxItems === undefined || this.maxItems === 0
210
- ? {
211
- type: 'infinite'
212
- }
213
- : {
214
- type: 'limited',
215
- limit: this.maxItems
216
- }, this.nextType, this.cardMaxWidth);
217
- log?.info('rendered carousel element');
218
- if (!element.ok) {
219
- log?.error(element.error);
220
- return;
221
- }
222
- if (this._cancellationToken.cancelled) {
223
- log?.info('Cancelled rendering carousel');
224
- return;
225
- }
226
- stopTimer?.();
227
- element.value.element.classList.add(`surf-zone-${this.zoneId}`);
228
- this.shadow.innerHTML = '';
229
- this.shadow.appendChild(element.value.element);
230
- const elementInitRes = await element.value.init();
231
- if (!elementInitRes.ok) {
232
- log?.error('Carousel first page was empty', elementInitRes);
233
- this.remove();
234
- }
235
- log?.info('Appended carousel to DOM');
236
- this.restartEndToEndTimer();
237
- }, Creative_1.DEBOUNCE_THRESHOLD);
238
- }
239
- }
240
- exports.SurfsideCarousel = SurfsideCarousel;
241
- //# sourceMappingURL=Carousel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Carousel.js","sourceRoot":"../@surfside-ads/","sources":["components/Carousel.ts"],"names":[],"mappings":"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"}
@@ -1,203 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CreativeComponent = exports.DEBOUNCE_THRESHOLD = exports.AttributeValOrThrow = exports.RecommenderTypeInputs = exports.ProductFeedStrategy = void 0;
4
- const ads_core_1 = require("@surfside/ads-core");
5
- const Attributes_1 = require("../util/Attributes");
6
- exports.ProductFeedStrategy = {
7
- Sponsored: 'sponsored',
8
- Hybrid: 'hybrid',
9
- Recommended: 'recommended'
10
- };
11
- exports.RecommenderTypeInputs = {
12
- TopProducts: 'top-products',
13
- ForYou: 'for-you',
14
- BuyAgain: 'buy-again',
15
- PastPurchases: 'past-purchases'
16
- };
17
- const AttributeValOrThrow = (element, attribute, value) => {
18
- if (value !== null) {
19
- return value;
20
- }
21
- throw new Attributes_1.AttributeNotFoundError(element, attribute);
22
- };
23
- exports.AttributeValOrThrow = AttributeValOrThrow;
24
- exports.DEBOUNCE_THRESHOLD = 10;
25
- class CreativeComponent extends HTMLElement {
26
- _initApi;
27
- _getUserId;
28
- accountId;
29
- siteId;
30
- locationId;
31
- channelId;
32
- zoneId;
33
- category = [];
34
- keywords = [];
35
- shadow;
36
- api;
37
- log;
38
- /* Value to check for mutibility */
39
- totem;
40
- _stopTimer;
41
- restartEndToEndTimer;
42
- /* Checking for equality while debugging */
43
- _instanceId;
44
- get instanceId() {
45
- return this._instanceId;
46
- }
47
- _monkeyHistoryReplaceCallback = () => {
48
- this.log?.info('Running monkey-patch re-init function');
49
- this.initApi();
50
- };
51
- constructor(_initApi, _getUserId, logger) {
52
- super();
53
- this._initApi = _initApi;
54
- this._getUserId = _getUserId;
55
- this._instanceId = crypto.randomUUID();
56
- this.shadow = this.attachShadow({ mode: 'open' });
57
- this.log = (0, ads_core_1.Ctx)(logger)?.with(this.getComponentName());
58
- this.restartEndToEndTimer = () => {
59
- if (this._stopTimer !== undefined) {
60
- this._stopTimer();
61
- }
62
- this._stopTimer = this.log?.time?.(this.constructor.name + '-e2e');
63
- };
64
- this.restartEndToEndTimer();
65
- }
66
- connectedCallback() {
67
- globalThis.window.addEventListener('monkeyHistoryReplace', this._monkeyHistoryReplaceCallback);
68
- globalThis.window.addEventListener('popstate', this._monkeyHistoryReplaceCallback);
69
- }
70
- static get observedBaseAttributes() {
71
- return [
72
- 'account-id',
73
- 'site-id',
74
- 'location-id',
75
- 'channel-id',
76
- 'zone-id',
77
- 'keywords',
78
- 'category',
79
- ];
80
- }
81
- getBaseAttributeValues() {
82
- return {
83
- accountId: this.accountId,
84
- siteId: this.siteId,
85
- channelId: this.channelId,
86
- locationId: this.locationId,
87
- zoneId: this.zoneId,
88
- category: this.category,
89
- keywords: this.keywords
90
- };
91
- }
92
- attributesLoaded() {
93
- return (this.accountId !== undefined &&
94
- this.siteId !== undefined &&
95
- this.channelId !== undefined &&
96
- this.locationId !== undefined &&
97
- this.zoneId !== undefined &&
98
- this.category !== undefined &&
99
- this.keywords !== undefined &&
100
- this.accountId !== null &&
101
- this.siteId !== null &&
102
- this.channelId !== null &&
103
- this.locationId !== null &&
104
- this.zoneId !== null &&
105
- this.category !== null &&
106
- this.keywords !== null);
107
- }
108
- async lazyLoadApi() {
109
- if (this.api === undefined && this.attributesLoaded()) {
110
- await this.initApi();
111
- }
112
- }
113
- async baseAttributeChangedCallback(key, oldValue, newValue, logger) {
114
- const log = logger?.with('baseAttributeChangedCallback');
115
- log?.info('Detected base attribute change. key, oldValue, newValue:', key, oldValue, newValue);
116
- let reInit = false;
117
- switch (key) {
118
- case 'account-id':
119
- this.accountId = newValue ?? undefined;
120
- reInit = true;
121
- log?.debug('account-id', this.accountId);
122
- break;
123
- case 'site-id':
124
- this.siteId = newValue ?? undefined;
125
- reInit = true;
126
- log?.debug('site-id', this.siteId);
127
- break;
128
- case 'location-id':
129
- this.locationId = newValue ?? undefined;
130
- reInit = true;
131
- log?.debug('location-id', this.locationId);
132
- break;
133
- case 'channel-id':
134
- this.channelId = newValue ?? undefined;
135
- reInit = true;
136
- log?.debug('channel-id', this.channelId);
137
- break;
138
- case 'zone-id':
139
- this.zoneId = newValue ?? undefined;
140
- log?.debug('zone-id', this.zoneId);
141
- break;
142
- case 'category':
143
- this.category = (0, ads_core_1.GetValue)((0, Attributes_1.ReadAttribute)(this, 'category'))
144
- ?.split(',')
145
- .map(k => k.trim())
146
- ?? this.category ?? [this.api?.configuration.category];
147
- log?.debug('surf-category', this.category);
148
- break;
149
- case 'keywords':
150
- this.keywords = (0, ads_core_1.GetValue)((0, Attributes_1.ReadAttribute)(this, 'keywords'))
151
- ?.split(',')
152
- .map(k => k.trim())
153
- ?? this.keywords ?? [];
154
- log?.debug('keywords', this.keywords);
155
- break;
156
- }
157
- if (reInit) {
158
- log?.info('Re-initializing API');
159
- await this.initApi();
160
- }
161
- }
162
- disconnectedCallback() {
163
- this.log?.info('Disconnected - removing monkey history listeners');
164
- globalThis.window.removeEventListener('monkeyHistoryReplace', this._monkeyHistoryReplaceCallback);
165
- globalThis.window.removeEventListener('popstate', this._monkeyHistoryReplaceCallback);
166
- }
167
- async initApi() {
168
- const log = this.log?.with('initApi');
169
- log?.info('Initializing API');
170
- const userId = await this._getUserId();
171
- log?.info(this.accountId, this.siteId, this.channelId, this.locationId, userId);
172
- if (this.accountId === undefined ||
173
- this.siteId === undefined ||
174
- this.channelId === undefined ||
175
- this.locationId === undefined) {
176
- log?.warn('Component isn\'t fully initialized yet');
177
- return;
178
- }
179
- log?.info('Component initialized');
180
- this.api = (0, ads_core_1.GetValueOrThrow)(await this._initApi(this.accountId, this.siteId, this.channelId, this.locationId, userId, globalThis.window.location.href));
181
- }
182
- readBaseAttributes() {
183
- const log = this.log?.with('readBaseAttributes');
184
- log?.info('Reading base attributes');
185
- this.accountId = (0, ads_core_1.GetValue)((0, Attributes_1.ReadAttribute)(this, 'account-id')) ?? this.accountId;
186
- this.siteId = (0, ads_core_1.GetValue)((0, Attributes_1.ReadAttribute)(this, 'site-id')) ?? this.siteId;
187
- this.locationId = (0, ads_core_1.GetValue)((0, ads_core_1.First)((0, Attributes_1.ReadAttribute)(this, 'location-id'), (0, Attributes_1.ReadAttribute)(this, 'store-id'))) ?? this.locationId;
188
- this.channelId = (0, ads_core_1.GetValue)((0, Attributes_1.ReadAttribute)(this, 'channel-id')) ?? this.channelId;
189
- this.zoneId = (0, ads_core_1.GetValue)((0, ads_core_1.First)((0, Attributes_1.ReadAttribute)(this, 'zone-id'), (0, Attributes_1.ReadAttribute)(this, 'placement-id'))) ?? this.zoneId;
190
- this.category = (0, ads_core_1.GetValue)((0, Attributes_1.ReadAttribute)(this, 'category'))
191
- ?.split(',')
192
- .map(k => k.trim())
193
- ?? this.category ?? [this.api?.configuration.category];
194
- log?.info('category', this.category);
195
- this.keywords = (0, ads_core_1.GetValue)((0, Attributes_1.ReadAttribute)(this, 'keywords'))
196
- ?.split(',')
197
- .map(k => k.trim())
198
- ?? this.keywords ?? [];
199
- log?.debug(this.accountId, this.siteId, this.channelId, this.locationId, this.zoneId, this.category, this.keywords);
200
- }
201
- }
202
- exports.CreativeComponent = CreativeComponent;
203
- //# sourceMappingURL=Creative.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Creative.js","sourceRoot":"../@surfside-ads/","sources":["components/Creative.ts"],"names":[],"mappings":"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"}