@surfside/ads-core-web 0.1.21 → 0.2.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 (68) hide show
  1. package/lib/cjs/BuildInfo.js +6 -2
  2. package/lib/cjs/BuildInfo.js.map +1 -1
  3. package/lib/cjs/Init.js +92 -0
  4. package/lib/cjs/Init.js.map +1 -0
  5. package/lib/cjs/helpers/Dom.js.map +1 -1
  6. package/lib/cjs/helpers/Trackers.js +1 -1
  7. package/lib/cjs/helpers/Trackers.js.map +1 -1
  8. package/lib/cjs/helpers/UserId.js +4 -1
  9. package/lib/cjs/helpers/UserId.js.map +1 -1
  10. package/lib/cjs/helpers/WebTelemetryCollector.js +56 -0
  11. package/lib/cjs/helpers/WebTelemetryCollector.js.map +1 -0
  12. package/lib/cjs/helpers/index.js +1 -0
  13. package/lib/cjs/helpers/index.js.map +1 -1
  14. package/lib/cjs/index.js +29 -5
  15. package/lib/cjs/index.js.map +1 -1
  16. package/lib/cjs/rendering/Banner.js +3 -1
  17. package/lib/cjs/rendering/Banner.js.map +1 -1
  18. package/lib/cjs/rendering/Carousel.js +89 -8
  19. package/lib/cjs/rendering/Carousel.js.map +1 -1
  20. package/lib/cjs/rendering/Framework.js +4 -2
  21. package/lib/cjs/rendering/Framework.js.map +1 -1
  22. package/lib/cjs/rendering/ProductCard.js +16 -11
  23. package/lib/cjs/rendering/ProductCard.js.map +1 -1
  24. package/lib/cjs/rendering/Video.js +20 -8
  25. package/lib/cjs/rendering/Video.js.map +1 -1
  26. package/lib/cjs/rendering/Watermark.js +2 -2
  27. package/lib/cjs/rendering/Watermark.js.map +1 -1
  28. package/lib/cjs/rendering/index.js.map +1 -1
  29. package/lib/esm/BuildInfo.js +5 -1
  30. package/lib/esm/BuildInfo.js.map +1 -1
  31. package/lib/esm/Init.js +85 -0
  32. package/lib/esm/Init.js.map +1 -0
  33. package/lib/esm/helpers/Dom.js.map +1 -1
  34. package/lib/esm/helpers/Trackers.js +1 -1
  35. package/lib/esm/helpers/Trackers.js.map +1 -1
  36. package/lib/esm/helpers/UserId.js +4 -1
  37. package/lib/esm/helpers/UserId.js.map +1 -1
  38. package/lib/esm/helpers/WebTelemetryCollector.js +52 -0
  39. package/lib/esm/helpers/WebTelemetryCollector.js.map +1 -0
  40. package/lib/esm/helpers/index.js +1 -0
  41. package/lib/esm/helpers/index.js.map +1 -1
  42. package/lib/esm/index.js +6 -4
  43. package/lib/esm/index.js.map +1 -1
  44. package/lib/esm/rendering/Banner.js +3 -1
  45. package/lib/esm/rendering/Banner.js.map +1 -1
  46. package/lib/esm/rendering/Carousel.js +89 -8
  47. package/lib/esm/rendering/Carousel.js.map +1 -1
  48. package/lib/esm/rendering/Framework.js +4 -2
  49. package/lib/esm/rendering/Framework.js.map +1 -1
  50. package/lib/esm/rendering/ProductCard.js +16 -11
  51. package/lib/esm/rendering/ProductCard.js.map +1 -1
  52. package/lib/esm/rendering/Video.js +20 -8
  53. package/lib/esm/rendering/Video.js.map +1 -1
  54. package/lib/esm/rendering/Watermark.js +2 -2
  55. package/lib/esm/rendering/Watermark.js.map +1 -1
  56. package/lib/esm/rendering/index.js.map +1 -1
  57. package/lib/types/BuildInfo.d.ts +1 -1
  58. package/lib/types/Init.d.ts +24 -0
  59. package/lib/types/helpers/WebTelemetryCollector.d.ts +24 -0
  60. package/lib/types/helpers/index.d.ts +1 -0
  61. package/lib/types/index.d.ts +3 -1
  62. package/lib/types/rendering/Video.d.ts +1 -0
  63. package/package.json +5 -5
  64. package/lib/cjs/debug/carousel.js +0 -74
  65. package/lib/cjs/debug/carousel.js.map +0 -1
  66. package/lib/esm/debug/carousel.js +0 -72
  67. package/lib/esm/debug/carousel.js.map +0 -1
  68. package/lib/types/debug/carousel.d.ts +0 -1
@@ -1,5 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SurfsideAdsCoreWebVersionInfo = void 0;
4
- exports.SurfsideAdsCoreWebVersionInfo = { buildBranch: 'master', buildHash: '204013e', buildVer: '0.1.20' };
3
+ exports.VersionInfo = void 0;
4
+ exports.VersionInfo = {
5
+ 'buildBranch': 'master',
6
+ 'buildHash': '70fb1c8',
7
+ 'buildVer': '0.2.0'
8
+ };
5
9
  //# sourceMappingURL=BuildInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BuildInfo.js","sourceRoot":"src/","sources":["BuildInfo.ts"],"names":[],"mappings":";;;AAAa,QAAA,6BAA6B,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC"}
1
+ {"version":3,"file":"BuildInfo.js","sourceRoot":"../@surfside-ads-core-web/","sources":["BuildInfo.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;IACvB,aAAa,EAAE,QAAQ;IACvB,WAAW,EAAE,SAAS;IACtB,UAAU,EAAE,OAAO;CACtB,CAAC"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoadSurfAdsWebSimple = exports.LoadSurfAdsWeb = exports.LoadSurfAdsWebDependencies = exports.CreateSurfAdsWeb = void 0;
4
+ const ads_core_client_1 = require("@surfside/ads-core-client");
5
+ const _1 = require(".");
6
+ const helpers_1 = require("./helpers");
7
+ const TLS = (url) => 'https:' + url;
8
+ ;
9
+ const CreateSurfAdsWeb = (config) => {
10
+ const clientApiRes = (0, ads_core_client_1.CreateSurfAdsClient)(config);
11
+ if (!clientApiRes.ok) {
12
+ return clientApiRes;
13
+ }
14
+ const clientApi = clientApiRes.value;
15
+ const { logger, mobile } = config;
16
+ const { evaluateProductCardTemplate } = clientApi;
17
+ const { configuration, device, geo, navigator } = config;
18
+ const renderBanner = _1.RenderBanner.bind(undefined, logger, mobile);
19
+ const renderProductCard = _1.RenderProductCard.bind(undefined, logger, configuration.templates.productCardStylesheet, configuration.templates.javascriptCallbacks, evaluateProductCardTemplate);
20
+ const renderCarousel = _1.RenderCarousel.bind(undefined, logger, evaluateProductCardTemplate, configuration.settings.sponsoredByEnabled === true, configuration.templates.productCardStylesheet, configuration.templates.carouselStylesheet, configuration.templates.javascriptCallbacks);
21
+ const renderVideo = _1.RenderVideo.bind(undefined, logger, device, geo, navigator.userAgent);
22
+ return (0, ads_core_client_1.Ok)({
23
+ ...clientApi,
24
+ renderBanner,
25
+ renderProductCard,
26
+ renderCarousel,
27
+ renderVideo
28
+ });
29
+ };
30
+ exports.CreateSurfAdsWeb = CreateSurfAdsWeb;
31
+ const LoadSurfAdsWebDependencies = (config) => {
32
+ const { overrides, accountId, siteId, locationId, telemetry } = config;
33
+ const createTelemetryCollector = overrides?.services?.createTelemetryCollector ?? ((config) => (0, ads_core_client_1.Ok)(telemetry === true
34
+ ? new helpers_1.WebTelemetryCollector({
35
+ accountId: config.accountId,
36
+ siteId: config.siteId,
37
+ channelId: config.channelId,
38
+ locationId: config.locationId,
39
+ endpoint: TLS(ads_core_client_1.PROD_TELEMETRY_SERVICE),
40
+ tags: { accountId, siteId, locationId },
41
+ device: (0, ads_core_client_1.DeviceToTelemetryDevice)(config.device)
42
+ })
43
+ : undefined));
44
+ return (0, ads_core_client_1.LoadSurfAdsClientDependencies)({
45
+ ...config,
46
+ overrides: {
47
+ ...config.overrides,
48
+ services: {
49
+ ...config.overrides?.services,
50
+ createTelemetryCollector,
51
+ }
52
+ }
53
+ });
54
+ };
55
+ exports.LoadSurfAdsWebDependencies = LoadSurfAdsWebDependencies;
56
+ const LoadSurfAdsWeb = async (config) => {
57
+ const dependenciesRes = await (0, exports.LoadSurfAdsWebDependencies)(config);
58
+ if (!dependenciesRes.ok) {
59
+ return dependenciesRes;
60
+ }
61
+ const dependencies = dependenciesRes.value;
62
+ const result = (0, exports.CreateSurfAdsWeb)({
63
+ ...config,
64
+ ...dependencies,
65
+ });
66
+ return result;
67
+ };
68
+ exports.LoadSurfAdsWeb = LoadSurfAdsWeb;
69
+ const LoadSurfAdsWebSimple = async (accountId, siteId, channelId, locationId, userId, logger, telemetry, overrides) => {
70
+ const browserInfo = (0, ads_core_client_1.GetBrowserInfo)();
71
+ if (!browserInfo.ok) {
72
+ return browserInfo;
73
+ }
74
+ const { windowInfo, navigator, isMobile, screen } = browserInfo.value;
75
+ return await (0, exports.LoadSurfAdsWeb)({
76
+ logger,
77
+ accountId,
78
+ channelId,
79
+ siteId,
80
+ locationId,
81
+ userId,
82
+ windowInfo,
83
+ navigator,
84
+ mobile: isMobile,
85
+ screen,
86
+ ip: undefined,
87
+ overrides,
88
+ telemetry
89
+ });
90
+ };
91
+ exports.LoadSurfAdsWebSimple = LoadSurfAdsWebSimple;
92
+ //# sourceMappingURL=Init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Init.js","sourceRoot":"../@surfside-ads-core-web/","sources":["Init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Dom.js","sourceRoot":"src/","sources":["helpers/Dom.ts"],"names":[],"mappings":";;;AAAA,+DAA2E;AAEpE,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAE,aAAqB,EAAkB,EAAE;IACpF,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACtD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAA,qBAAG,EAAC,IAAI,qBAAqB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,IAAA,oBAAE,EAAC,SAAS,CAAC,CAAC;AACzB,CAAC,CAAC;AANW,QAAA,YAAY,gBAMvB;AAEK,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAE,aAAqB,EAAE,EAAU,EAAU,EAAE,CAC1F,IAAA,0BAAQ,EAAC,IAAA,oBAAY,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;AAD5C,QAAA,cAAc,kBAC8B;AAElD,MAAM,kBAAkB,GAAG,CAAC,OAAgB,EAAE,aAAqB,EAAkB,EAAE;IAC1F,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACvD,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,IAAA,qBAAG,EAAC,IAAI,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,IAAA,oBAAE,EAAC,GAAG,CAAC,CAAC;AACnB,CAAC,CAAC;AAXW,QAAA,kBAAkB,sBAW7B;AAEK,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAE,aAAqB,EAAE,EAAU,EAAU,EAAE,CAChG,IAAA,0BAAQ,EAAC,IAAA,0BAAkB,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;AADlD,QAAA,oBAAoB,wBAC8B;AAE/D,MAAa,qBAAsB,SAAQ,KAAK;IAChB;IAAkC;IAA9D,YAA4B,OAAgB,EAAkB,aAAqB;QAC/E,KAAK,CAAC,2BAA2B,aAAa,eAAe,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QADxD,YAAO,GAAP,OAAO,CAAS;QAAkB,kBAAa,GAAb,aAAa,CAAQ;IAEnF,CAAC;CACJ;AAJD,sDAIC;AAED,MAAa,eAAgB,SAAQ,KAAK;IAElB;IACA;IACA;IAHpB,YACoB,OAAgB,EAChB,aAAqB,EACrB,KAAa;QAE7B,KAAK,CAAC,aAAa,aAAa,eAAe,OAAO,CAAC,OAAO,wBAAwB,KAAK,GAAG,CAAC,CAAC;QAJhF,YAAO,GAAP,OAAO,CAAS;QAChB,kBAAa,GAAb,aAAa,CAAQ;QACrB,UAAK,GAAL,KAAK,CAAQ;IAGjC,CAAC;CACJ;AARD,0CAQC;AAAA,CAAC"}
1
+ {"version":3,"file":"Dom.js","sourceRoot":"../@surfside-ads-core-web/","sources":["helpers/Dom.ts"],"names":[],"mappings":";;;AAAA,+DAA2E;AAEpE,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAE,aAAqB,EAAkB,EAAE;IACpF,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACtD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAA,qBAAG,EAAC,IAAI,qBAAqB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,IAAA,oBAAE,EAAC,SAAS,CAAC,CAAC;AACzB,CAAC,CAAC;AANW,QAAA,YAAY,gBAMvB;AAEK,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAE,aAAqB,EAAE,EAAU,EAAU,EAAE,CAC1F,IAAA,0BAAQ,EAAC,IAAA,oBAAY,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;AAD5C,QAAA,cAAc,kBAC8B;AAElD,MAAM,kBAAkB,GAAG,CAAC,OAAgB,EAAE,aAAqB,EAAkB,EAAE;IAC1F,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACvD,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,IAAA,qBAAG,EAAC,IAAI,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,IAAA,oBAAE,EAAC,GAAG,CAAC,CAAC;AACnB,CAAC,CAAC;AAXW,QAAA,kBAAkB,sBAW7B;AAEK,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAE,aAAqB,EAAE,EAAU,EAAU,EAAE,CAChG,IAAA,0BAAQ,EAAC,IAAA,0BAAkB,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;AADlD,QAAA,oBAAoB,wBAC8B;AAE/D,MAAa,qBAAsB,SAAQ,KAAK;IAChB;IAAkC;IAA9D,YAA4B,OAAgB,EAAkB,aAAqB;QAC/E,KAAK,CAAC,2BAA2B,aAAa,eAAe,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QADxD,YAAO,GAAP,OAAO,CAAS;QAAkB,kBAAa,GAAb,aAAa,CAAQ;IAEnF,CAAC;CACJ;AAJD,sDAIC;AAED,MAAa,eAAgB,SAAQ,KAAK;IAElB;IACA;IACA;IAHpB,YACoB,OAAgB,EAChB,aAAqB,EACrB,KAAa;QAE7B,KAAK,CAAC,aAAa,aAAa,eAAe,OAAO,CAAC,OAAO,wBAAwB,KAAK,GAAG,CAAC,CAAC;QAJhF,YAAO,GAAP,OAAO,CAAS;QAChB,kBAAa,GAAb,aAAa,CAAQ;QACrB,UAAK,GAAL,KAAK,CAAQ;IAGjC,CAAC;CACJ;AARD,0CAQC;AAAA,CAAC"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ScriptTracker = exports.PixelTracker = void 0;
4
4
  const PixelTracker = (url) => {
5
- const img = document.createElement('img');
5
+ const img = globalThis.document.createElement('img');
6
6
  img.src = url;
7
7
  img.width = 1;
8
8
  img.height = 1;
@@ -1 +1 @@
1
- {"version":3,"file":"Trackers.js","sourceRoot":"src/","sources":["helpers/Trackers.ts"],"names":[],"mappings":";;;AAAO,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE;IACxC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;IACd,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;IACd,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACf,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC3B,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AAPW,QAAA,YAAY,gBAOvB;AAEK,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE;IACzC,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC;IACrC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AALW,QAAA,aAAa,iBAKxB"}
1
+ {"version":3,"file":"Trackers.js","sourceRoot":"../@surfside-ads-core-web/","sources":["helpers/Trackers.ts"],"names":[],"mappings":";;;AAAO,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE;IACxC,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrD,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;IACd,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;IACd,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACf,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC3B,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AAPW,QAAA,YAAY,gBAOvB;AAEK,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE;IACzC,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC;IACrC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AALW,QAAA,aAAa,iBAKxB"}
@@ -5,9 +5,12 @@ const ads_core_client_1 = require("@surfside/ads-core-client");
5
5
  const COOKIE_PREFIX = 'surfid.';
6
6
  const SURFID_REGEX = /surfid.(?<site_hash>[a-z0-9]+)=(?<domain_userid>[^.]+).*/ig;
7
7
  const GetSurfUserIdCookie = async (logger) => {
8
+ if (typeof globalThis.document === 'undefined') {
9
+ return undefined;
10
+ }
8
11
  const log = (0, ads_core_client_1.Ctx)(logger)?.with('GetSurfUserIdCookie');
9
12
  log?.info('Getting ID from Surfside Cookie');
10
- const userId = document.cookie /* Cookie OR */
13
+ const userId = globalThis.document.cookie /* Cookie OR */
11
14
  .split(';')
12
15
  .map(c => c.trim())
13
16
  .filter(c => c.startsWith(COOKIE_PREFIX))
@@ -1 +1 @@
1
- {"version":3,"file":"UserId.js","sourceRoot":"src/","sources":["helpers/UserId.ts"],"names":[],"mappings":";;;AAAA,+DAA8D;AAE9D,MAAM,aAAa,GAAG,SAAS,CAAC;AAChC,MAAM,YAAY,GAAG,4DAA4D,CAAC;AAI3E,MAAM,mBAAmB,GAAG,KAAK,EAAE,MAAgB,EAAE,EAAE;IAC1D,MAAM,GAAG,GAAG,IAAA,qBAAG,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrD,GAAG,EAAE,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC7C,MAAM,MAAM,GACR,QAAQ,CAAC,MAAM,CAAC,eAAe;SAC1B,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAChB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC;IAE1C,GAAG,EAAE,KAAK,CAAC,wCAAwC,EAAE,MAAM,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC;AAElB,CAAC,CAAC;AAfW,QAAA,mBAAmB,uBAe9B"}
1
+ {"version":3,"file":"UserId.js","sourceRoot":"../@surfside-ads-core-web/","sources":["helpers/UserId.ts"],"names":[],"mappings":";;;AAAA,+DAA8D;AAE9D,MAAM,aAAa,GAAG,SAAS,CAAC;AAChC,MAAM,YAAY,GAAG,4DAA4D,CAAC;AAI3E,MAAM,mBAAmB,GAAG,KAAK,EAAE,MAAgB,EAAE,EAAE;IAC1D,IAAI,OAAO,UAAU,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,GAAG,GAAG,IAAA,qBAAG,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrD,GAAG,EAAE,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC7C,MAAM,MAAM,GACR,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe;SACrC,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAChB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC;IAE1C,GAAG,EAAE,KAAK,CAAC,wCAAwC,EAAE,MAAM,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC;AAElB,CAAC,CAAC;AAlBW,QAAA,mBAAmB,uBAkB9B"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebTelemetryCollector = void 0;
4
+ const ads_core_1 = require("@surfside/ads-core");
5
+ class WebTelemetryCollector extends ads_core_1.ITelemetryCollector {
6
+ _endpoint;
7
+ _tags;
8
+ _batchIntervalMs;
9
+ _pageUrl;
10
+ _queue = [];
11
+ _flushTimer;
12
+ _device;
13
+ constructor(options) {
14
+ super(options.accountId, options.siteId, options.channelId, options.locationId, options.device);
15
+ this._endpoint = options.endpoint;
16
+ this._tags = { pageSessionId: crypto.randomUUID(), ...(options.tags ?? {}) };
17
+ this._batchIntervalMs = options.batchIntervalMs ?? 1000;
18
+ this._pageUrl = options.url ?? globalThis.location?.href;
19
+ }
20
+ record(entry) {
21
+ this._queue.push({
22
+ device: this.device,
23
+ pageUrl: this._pageUrl ?? globalThis?.window?.location?.href,
24
+ ...entry,
25
+ tags: { ...this._tags, ...(entry.tags ?? {}) },
26
+ });
27
+ if (this._batchIntervalMs === 0) {
28
+ this.flush();
29
+ return;
30
+ }
31
+ clearTimeout(this._flushTimer);
32
+ this._flushTimer = setTimeout(() => this.flush(), this._batchIntervalMs);
33
+ if (this._queue.length >= 100) {
34
+ this.flush();
35
+ }
36
+ }
37
+ flush() {
38
+ if (this._queue.length === 0) {
39
+ return;
40
+ }
41
+ const payload = JSON.stringify(this._queue.splice(0));
42
+ clearTimeout(this._flushTimer);
43
+ this._flushTimer = undefined;
44
+ const sent = globalThis.navigator.sendBeacon(this._endpoint, new Blob([payload], { type: 'application/json' }));
45
+ if (!sent) {
46
+ fetch(this._endpoint, {
47
+ method: 'POST',
48
+ headers: { 'Content-Type': 'application/json' },
49
+ body: payload,
50
+ keepalive: true,
51
+ }).catch(() => { });
52
+ }
53
+ }
54
+ }
55
+ exports.WebTelemetryCollector = WebTelemetryCollector;
56
+ //# sourceMappingURL=WebTelemetryCollector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebTelemetryCollector.js","sourceRoot":"../@surfside-ads-core-web/","sources":["helpers/WebTelemetryCollector.ts"],"names":[],"mappings":";;;AAAA,iDAI4B;AAc5B,MAAa,qBAAsB,SAAQ,8BAAmB;IACzC,SAAS,CAAS;IAClB,KAAK,CAAyB;IAC9B,gBAAgB,CAAS;IACzB,QAAQ,CAAqB;IACtC,MAAM,GAAsB,EAAE,CAAC;IAC/B,WAAW,CAA4C;IACvD,OAAO,CAA+B;IAE9C,YAAY,OAAsC;QAC9C,KAAK,CACD,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,MAAM,CACjB,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,EAAE,aAAa,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7E,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,KAAsB;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI;YAC5D,GAAG,KAAK;YACR,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE;SACjD,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO;QACX,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACL,CAAC;IAED,KAAK;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;QACX,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAChH,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE;gBAClB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,IAAI;aAClB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACvB,CAAC;IACL,CAAC;CACJ;AA1DD,sDA0DC"}
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./Dom"), exports);
18
18
  __exportStar(require("./Trackers"), exports);
19
19
  __exportStar(require("./UserId"), exports);
20
+ __exportStar(require("./WebTelemetryCollector"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,6CAA2B;AAC3B,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../@surfside-ads-core-web/","sources":["helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,6CAA2B;AAC3B,2CAAyB;AACzB,0DAAwC"}
package/lib/cjs/index.js CHANGED
@@ -10,27 +10,51 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
10
10
  if (k2 === undefined) k2 = k;
11
11
  o[k2] = m[k];
12
12
  }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
13
18
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
19
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
20
  };
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
16
38
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.InitSurfAdsWeb = exports.InitSurfAdsWebInternal = void 0;
39
+ exports.InitSurfAdsWeb = exports.InitSurfAdsWebInternal = exports.SurfsideAdsCoreWebVersionInfo = exports.PROD_TELEMETRY_SERVICE = void 0;
18
40
  const ads_core_client_1 = require("@surfside/ads-core-client");
19
41
  const Carousel_1 = require("./rendering/Carousel");
20
42
  const rendering_1 = require("./rendering");
21
43
  const ProductCard_1 = require("./rendering/ProductCard");
22
44
  const Video_1 = require("./rendering/Video");
45
+ const helpers_1 = require("./helpers");
46
+ exports.PROD_TELEMETRY_SERVICE = '//telemetry.surfside.io/v1/ingest';
23
47
  __exportStar(require("./rendering"), exports);
24
48
  __exportStar(require("./helpers"), exports);
25
- __exportStar(require("./BuildInfo"), exports);
49
+ exports.SurfsideAdsCoreWebVersionInfo = __importStar(require("./BuildInfo"));
50
+ __exportStar(require("./Init"), exports);
26
51
  const InitSurfAdsWebInternal = async (apiResAsync) => {
27
52
  const apiRes = await apiResAsync;
28
53
  if (!apiRes.ok) {
29
54
  return apiRes;
30
55
  }
31
56
  const { logger, configuration, device, geo, evaluateProductCardTemplate, navigator } = apiRes.value;
32
- evaluateProductCardTemplate({});
33
- const isMobile = () => typeof window !== 'undefined' ? (window.ontouchstart !== undefined) : false;
57
+ const isMobile = () => typeof globalThis.window !== 'undefined' ? (globalThis.ontouchstart !== undefined) : false;
34
58
  const renderBanner = rendering_1.RenderBanner.bind(undefined, logger, isMobile());
35
59
  const renderProductCard = ProductCard_1.RenderProductCard.bind(undefined, logger, configuration.templates.productCardStylesheet, configuration.templates.javascriptCallbacks, evaluateProductCardTemplate);
36
60
  const renderCarousel = Carousel_1.RenderCarousel.bind(undefined, logger, evaluateProductCardTemplate, configuration.settings.sponsoredByEnabled === true, configuration.templates.productCardStylesheet, configuration.templates.carouselStylesheet, configuration.templates.javascriptCallbacks);
@@ -45,7 +69,7 @@ const InitSurfAdsWebInternal = async (apiResAsync) => {
45
69
  };
46
70
  exports.InitSurfAdsWebInternal = InitSurfAdsWebInternal;
47
71
  const InitSurfAdsWeb = async (accountId, siteId, channelId, locationId, userId, logger) => {
48
- return (0, exports.InitSurfAdsWebInternal)((0, ads_core_client_1.InitSurfAdsCoreClient)(accountId, siteId, channelId, locationId, userId, logger));
72
+ return await (0, exports.InitSurfAdsWebInternal)((0, ads_core_client_1.InitSurfAdsCoreClient)(accountId, siteId, channelId, locationId, userId ?? await (0, helpers_1.GetSurfUserIdCookie)(logger), logger));
49
73
  };
50
74
  exports.InitSurfAdsWeb = InitSurfAdsWeb;
51
75
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+DAMmC;AACnC,mDAA6E;AAC7E,2CAAgE;AAChE,yDAAsF;AACtF,6CAAoE;AAEpE,8CAA4B;AAC5B,4CAA0B;AAC1B,8CAA4B;AASrB,MAAM,sBAAsB,GAAG,KAAK,EACvC,WAA4C,EAChB,EAAE;IAC9B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,EACF,MAAM,EACN,aAAa,EACb,MAAM,EACN,GAAG,EACH,2BAA2B,EAC3B,SAAS,EACZ,GAAG,MAAM,CAAC,KAAK,CAAC;IAEjB,2BAA2B,CAAC,EAAE,CAAC,CAAC;IAEhC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEnG,MAAM,YAAY,GAAG,wBAAY,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtE,MAAM,iBAAiB,GAAG,+BAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAC9D,aAAa,CAAC,SAAS,CAAC,qBAAqB,EAC7C,aAAa,CAAC,SAAS,CAAC,mBAAmB,EAC3C,2BAA2B,CAC9B,CAAC;IACF,MAAM,cAAc,GAAG,yBAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EACxD,2BAA2B,EAC3B,aAAa,CAAC,QAAQ,CAAC,kBAAkB,KAAK,IAAI,EAClD,aAAa,CAAC,SAAS,CAAC,qBAAqB,EAC7C,aAAa,CAAC,SAAS,CAAC,kBAAkB,EAC1C,aAAa,CAAC,SAAS,CAAC,mBAAmB,CAC9C,CAAC;IAEF,MAAM,WAAW,GAAG,mBAAW,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAE1F,OAAO,IAAA,oBAAE,EAAC;QACN,GAAG,MAAM,CAAC,KAAK;QACf,YAAY;QACZ,iBAAiB;QACjB,cAAc;QACd,WAAW;KACd,CAAC,CAAC;AACP,CAAC,CAAC;AA5CW,QAAA,sBAAsB,0BA4CjC;AAEK,MAAM,cAAc,GAAG,KAAK,EAC/B,SAAiB,EACjB,MAAc,EACd,SAAiB,EACjB,UAAkB,EAClB,MAA0B,EAC1B,MAAgB,EACY,EAAE;IAC9B,OAAO,IAAA,8BAAsB,EAAC,IAAA,uCAAqB,EAC/C,SAAS,EACT,MAAM,EACN,SAAS,EACT,UAAU,EACV,MAAM,EACN,MAAM,CACT,CAAC,CAAC;AACP,CAAC,CAAC;AAhBW,QAAA,cAAc,kBAgBzB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../@surfside-ads-core-web/","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAMmC;AACnC,mDAA6E;AAC7E,2CAAgE;AAChE,yDAAsF;AACtF,6CAAoE;AACpE,uCAAgD;AAEnC,QAAA,sBAAsB,GAAG,mCAAmC,CAAC;AAE1E,8CAA4B;AAC5B,4CAA0B;AAC1B,6EAA6D;AAC7D,yCAAuB;AAShB,MAAM,sBAAsB,GAAG,KAAK,EACvC,WAA4C,EAChB,EAAE;IAC9B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,EACF,MAAM,EACN,aAAa,EACb,MAAM,EACN,GAAG,EACH,2BAA2B,EAC3B,SAAS,EACZ,GAAG,MAAM,CAAC,KAAK,CAAC;IAEjB,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAElH,MAAM,YAAY,GAAG,wBAAY,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtE,MAAM,iBAAiB,GAAG,+BAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAC9D,aAAa,CAAC,SAAS,CAAC,qBAAqB,EAC7C,aAAa,CAAC,SAAS,CAAC,mBAAmB,EAC3C,2BAA2B,CAC9B,CAAC;IACF,MAAM,cAAc,GAAG,yBAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EACxD,2BAA2B,EAC3B,aAAa,CAAC,QAAQ,CAAC,kBAAkB,KAAK,IAAI,EAClD,aAAa,CAAC,SAAS,CAAC,qBAAqB,EAC7C,aAAa,CAAC,SAAS,CAAC,kBAAkB,EAC1C,aAAa,CAAC,SAAS,CAAC,mBAAmB,CAC9C,CAAC;IAEF,MAAM,WAAW,GAAG,mBAAW,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAE1F,OAAO,IAAA,oBAAE,EAAC;QACN,GAAG,MAAM,CAAC,KAAK;QACf,YAAY;QACZ,iBAAiB;QACjB,cAAc;QACd,WAAW;KACd,CAAC,CAAC;AACP,CAAC,CAAC;AA1CW,QAAA,sBAAsB,0BA0CjC;AAEK,MAAM,cAAc,GAAG,KAAK,EAC/B,SAAiB,EACjB,MAAc,EACd,SAAiB,EACjB,UAAkB,EAClB,MAA0B,EAC1B,MAAgB,EACY,EAAE;IAC9B,OAAO,MAAM,IAAA,8BAAsB,EAAC,IAAA,uCAAqB,EACrD,SAAS,EACT,MAAM,EACN,SAAS,EACT,UAAU,EACV,MAAM,IAAI,MAAM,IAAA,6BAAmB,EAAC,MAAM,CAAC,EAC3C,MAAM,CACT,CAAC,CAAC;AACP,CAAC,CAAC;AAhBW,QAAA,cAAc,kBAgBzB"}
@@ -9,8 +9,9 @@ const RenderBanner = (logger, isMobile, builtBanner) => {
9
9
  const log = (0, ads_core_1.Ctx)(logger)?.with('RenderBanner');
10
10
  log?.info('Rendering banner');
11
11
  log?.debug(builtBanner);
12
+ const stopTimer = log?.time?.('render banner');
12
13
  /* Create container dom element */
13
- const bannerContainer = document.createElement('div');
14
+ const bannerContainer = globalThis.document.createElement('div');
14
15
  const shadow = bannerContainer.attachShadow({ mode: 'open' });
15
16
  const creativeContainerRes = (0, Framework_1.Template)(log, 'surfside-banner', template, style);
16
17
  if (!creativeContainerRes.ok) {
@@ -50,6 +51,7 @@ const RenderBanner = (logger, isMobile, builtBanner) => {
50
51
  }
51
52
  log?.debug('Appending banner win pixel', tracker);
52
53
  creativeContainer.appendChild((0, Trackers_1.PixelTracker)(tracker));
54
+ stopTimer?.();
53
55
  return (0, ads_core_1.Ok)(bannerContainer);
54
56
  };
55
57
  exports.RenderBanner = RenderBanner;
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.js","sourceRoot":"src/","sources":["rendering/Banner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Banner.js","sourceRoot":"../@surfside-ads-core-web/","sources":["rendering/Banner.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,15 @@ const ads_core_client_1 = require("@surfside/ads-core-client");
5
5
  const ProductCard_1 = require("./ProductCard");
6
6
  const Dom_1 = require("../helpers/Dom");
7
7
  const Framework_1 = require("./Framework");
8
+ const SURF_CARD_SIZE = '--surf-card-size';
8
9
  ;
9
10
  ;
10
11
  ;
12
+ const smoothStop3 = (t) => 1 - ((1 - t) * (1 - t) * (1 - t));
11
13
  const RenderCarousel = async (logger, evaluateProductCardTemplate, sponsoredByEnabled, productCardStylesheet, carouselStylesheet, callbacks, carousel, cardMinWidth, carouselLimits, nextType, cardMaxWidth) => {
12
14
  const log = (0, ads_core_client_1.Ctx)(logger)?.with('RenderCarousel');
13
15
  log?.info('Rendering Carousel', cardMinWidth, cardMaxWidth, carouselLimits);
16
+ const stopTimer = log?.time?.('render banner');
14
17
  const container = (0, Framework_1.Template)(log, 'surf-carousel', template, style + '\n' + carouselStylesheet);
15
18
  if (!container.ok) {
16
19
  return container;
@@ -18,7 +21,7 @@ const RenderCarousel = async (logger, evaluateProductCardTemplate, sponsoredByEn
18
21
  log?.debug(container.value.outerHTML);
19
22
  const rightArrow = container.value.querySelector('.arrow.right') ?? null;
20
23
  const leftArrow = container.value.querySelector('.arrow.left') ?? null;
21
- const items = container.value.querySelector('.items') ?? null;
24
+ const items = container.value.querySelector('.items');
22
25
  if (rightArrow === null || leftArrow === null || items === null) {
23
26
  return (0, ads_core_client_1.Err)(new MalformedCarouselError(container.value));
24
27
  }
@@ -50,12 +53,61 @@ const RenderCarousel = async (logger, evaluateProductCardTemplate, sponsoredByEn
50
53
  }
51
54
  handleBackPage(log, sponsoredByEnabled, container.value, items, cardMinWidth, cardMaxWidth);
52
55
  });
56
+ let touchStart;
57
+ let lastTouch;
58
+ items.addEventListener('touchstart', (e) => {
59
+ log?.debug('touchstart');
60
+ const touch = e.touches[0];
61
+ if (touch === undefined) {
62
+ return;
63
+ }
64
+ touchStart = touch.clientX;
65
+ });
66
+ items.addEventListener('touchmove', e => {
67
+ const touch = e.touches[0];
68
+ if (touch === undefined || touchStart === undefined) {
69
+ touchStart = undefined;
70
+ lastTouch = undefined;
71
+ return;
72
+ }
73
+ lastTouch = touch.clientX;
74
+ const maxSwipe = items.children[0]?.clientWidth ?? cardMaxWidth;
75
+ const sign = Math.sign(lastTouch - touchStart);
76
+ const distance = Math.min(maxSwipe, Math.abs(lastTouch - touchStart));
77
+ const smooth = smoothStop3(Math.min(distance / maxSwipe, 1));
78
+ const diff = smooth * distance * sign;
79
+ items.style.marginLeft = `${diff}px`;
80
+ log?.debug(`${diff}px`);
81
+ });
82
+ items.addEventListener('touchend', () => {
83
+ log?.debug('touchend');
84
+ items.style.marginLeft = '0px';
85
+ if (lastTouch !== undefined && touchStart !== undefined) {
86
+ const diff = lastTouch - touchStart;
87
+ log?.info('Touch Diff', diff);
88
+ if (diff < -16) {
89
+ handleNextPage(log, evaluateProductCardTemplate, sponsoredByEnabled, productCardStylesheet, callbacks, container.value, items, cardMinWidth, cardMaxWidth, carouselLimits, nextType, generator);
90
+ }
91
+ else if (diff > 16) {
92
+ handleBackPage(log, sponsoredByEnabled, container.value, items, cardMinWidth, cardMaxWidth);
93
+ }
94
+ return;
95
+ }
96
+ touchStart = undefined;
97
+ lastTouch = undefined;
98
+ });
99
+ stopTimer?.();
53
100
  return (0, ads_core_client_1.Ok)(carouselState);
54
101
  };
55
102
  exports.RenderCarousel = RenderCarousel;
56
103
  const addItems = (logger, stylesheet, sponsoredByEnabled, callbacks, evaluateProductCardTemplate, items, itemsDiv, availableSlots, minWidth, maxWidth) => {
57
104
  const log = (0, ads_core_client_1.Ctx)(logger)?.with('addItems');
58
105
  log?.info('Adding items to carousel', items.length);
106
+ const cardSizeRes = getCardSizeOverride(itemsDiv);
107
+ log?.debug('Item mobile scale', cardSizeRes);
108
+ const cardSize = cardSizeRes.ok
109
+ ? cardSizeRes.value
110
+ : maxWidth ?? minWidth;
59
111
  const renderedCards = [];
60
112
  for (const item of items) {
61
113
  const productCard = (0, ProductCard_1.RenderProductCard)(log, stylesheet, callbacks, evaluateProductCardTemplate, item);
@@ -77,7 +129,8 @@ const addItems = (logger, stylesheet, sponsoredByEnabled, callbacks, evaluatePro
77
129
  const cardIndex = itemsDiv.children.length;
78
130
  productCard.value.classList.add(`card-${cardIndex}`);
79
131
  productCard.value.classList.add('surf-product-card');
80
- productCard.value.style.width = `${(maxWidth ?? minWidth)}px`;
132
+ productCard.value.style.minWidth = `${cardSize}px`;
133
+ productCard.value.style.maxWidth = `${cardSize}px`;
81
134
  log?.debug('Flex value', `1 0 ${Math.ceil((1 / availableSlots) * 100000) / 1000}%`);
82
135
  productCard.value.style.flex = `1 0 ${Math.ceil((1 / availableSlots) * 100000) / 1000}%`;
83
136
  itemsDiv.appendChild(productCard.value);
@@ -85,19 +138,34 @@ const addItems = (logger, stylesheet, sponsoredByEnabled, callbacks, evaluatePro
85
138
  }
86
139
  return renderedCards;
87
140
  };
141
+ const getCardSizeOverride = (element) => {
142
+ const windowStyle = globalThis.getComputedStyle(element);
143
+ const cardSizeRes = Number(windowStyle.getPropertyValue(SURF_CARD_SIZE));
144
+ const cardSize = Number.isNaN(cardSizeRes) || cardSizeRes === 0
145
+ ? (0, ads_core_client_1.Err)(new Error('Not a valid card size'))
146
+ : (0, ads_core_client_1.Ok)(cardSizeRes);
147
+ return cardSize;
148
+ };
88
149
  const handleNextPage = async (logger, evaluateProductCardTemplate, sponsoredByEnabled, stylesheet, callbacks, rootElement, itemsDiv, cardMinWidth, cardMaxWidth, carouselLimits, nextType, carouselGenerator) => {
89
150
  const log = (0, ads_core_client_1.Ctx)(logger)?.with('handleNextPage');
90
151
  log?.info('Handling next page request');
91
152
  log?.debug(cardMinWidth, carouselLimits);
153
+ log?.debug('root', rootElement);
92
154
  /* Get the card which the carousel is currently scrolled to (i.e, the left-most card) */
93
155
  const currentIndex = (0, Dom_1.GetNumberAttributeOr)(itemsDiv, 'current-index', 0);
94
156
  /* Get the total number of cards which have been rendered so far */
95
157
  const totalRendered = itemsDiv.childElementCount;
96
158
  log?.debug('currentIndex', currentIndex);
97
159
  log?.debug('totalRendered', totalRendered);
160
+ const cardSizeRes = getCardSizeOverride(rootElement);
161
+ log?.debug('Card Size Result', cardSizeRes);
162
+ const cardSize = cardSizeRes.ok
163
+ ? cardSizeRes.value
164
+ : (cardMaxWidth ?? cardMinWidth);
98
165
  /* Calculate how many cards fit into view currently */
99
166
  log?.debug('Root clientWidth: ', rootElement.clientWidth);
100
- const slotsAvailable = Math.floor(rootElement.clientWidth / (cardMaxWidth ?? cardMinWidth));
167
+ log?.debug('Card size', cardSize);
168
+ const slotsAvailable = Math.floor(rootElement.clientWidth / cardSize);
101
169
  log?.debug('slotsAvailable', slotsAvailable);
102
170
  /* Calculate the total number of cards which have already been rendered to the RIGHT of the current page */
103
171
  const totalSlotsRenderedAfterThisPage = Math.max(0, Math.min(totalRendered, totalRendered - (currentIndex + slotsAvailable)));
@@ -131,7 +199,7 @@ const handleNextPage = async (logger, evaluateProductCardTemplate, sponsoredByEn
131
199
  })() - totalSlotsRenderedAfterThisPage); /* Finally, remove the slots which have already been rendered within the
132
200
  * next visible page scroll */
133
201
  log?.debug('numberOfCardsToAdd', numberOfCardsToAdd);
134
- const slotsVisible = Math.floor(rootElement.clientWidth / (cardMaxWidth ?? cardMinWidth));
202
+ const slotsVisible = Math.floor(rootElement.clientWidth / cardSize);
135
203
  if (numberOfCardsToAdd === 0) {
136
204
  /* Scroll either to the calculated next page index, or to the last page, depending on which is smaller */
137
205
  log?.info('No new cards requested');
@@ -143,7 +211,9 @@ const handleNextPage = async (logger, evaluateProductCardTemplate, sponsoredByEn
143
211
  return (0, ads_core_client_1.Ok)([]);
144
212
  }
145
213
  log?.debug('nextCardToScrollTo, either', currentIndex + slotsVisible, itemsDiv.childElementCount);
214
+ const stopTimer = log?.time?.('fetch n products');
146
215
  const [builtProducts, finished] = await (0, ads_core_client_1.ConsumeNAsync)(carouselGenerator, numberOfCardsToAdd);
216
+ stopTimer?.();
147
217
  if (finished) {
148
218
  log?.debug('Finished with generator - no more products available');
149
219
  }
@@ -160,7 +230,12 @@ const handleBackPage = (logger, sponsoredByEnabled, rootElement, itemsDiv, cardM
160
230
  const log = (0, ads_core_client_1.Ctx)(logger)?.with('handleBackPage');
161
231
  log?.info('scrolling back');
162
232
  const currentIndex = (0, Dom_1.GetNumberAttributeOr)(itemsDiv, 'current-index', 0);
163
- const slotsInView = Math.floor(rootElement.clientWidth / (cardMaxWidth ?? cardMinWidth));
233
+ const cardSizeRes = getCardSizeOverride(rootElement);
234
+ log?.debug('Card Size Result', cardSizeRes);
235
+ const cardSize = cardSizeRes.ok
236
+ ? cardSizeRes.value
237
+ : (cardMaxWidth ?? cardMinWidth);
238
+ const slotsInView = Math.floor(rootElement.clientWidth / cardSize);
164
239
  const nextIndex = Math.max(0, currentIndex - slotsInView);
165
240
  const arrowsDiv = rootElement.querySelector('div.arrows');
166
241
  if (arrowsDiv === null) {
@@ -202,7 +277,12 @@ const scrollTo = (logger, itemsDiv, arrowsDiv, index, slotsVisible, finished) =>
202
277
  const checkSponsored = (logger, sponsoredByEnabled, root, itemsDiv, index, cardMinWidth, cardMaxWidth) => {
203
278
  const log = (0, ads_core_client_1.Ctx)(logger)?.with('checkSponsored');
204
279
  log?.info('Checking sponsored tags');
205
- const totalVisibleCards = Math.floor(root.clientWidth / (cardMaxWidth ?? cardMinWidth));
280
+ const cardSizeRes = getCardSizeOverride(root);
281
+ log?.debug('Card Size Result', cardSizeRes);
282
+ const cardSize = cardSizeRes.ok
283
+ ? cardSizeRes.value
284
+ : (cardMaxWidth ?? cardMinWidth);
285
+ const totalVisibleCards = Math.floor(root.clientWidth / cardSize);
206
286
  const visibleCards = [];
207
287
  for (let i = index; i < index + totalVisibleCards; i++) {
208
288
  const card = itemsDiv.querySelector(`.card-${i}`);
@@ -285,7 +365,7 @@ class EmptyFirstPageError extends Error {
285
365
  }
286
366
  exports.EmptyFirstPageError = EmptyFirstPageError;
287
367
  ;
288
- const template = `<div class="carousel-wrapper">
368
+ const template = `<div class="carousel-wrapper surf-v3">
289
369
  <div class="sponsored-carousel"></div>
290
370
  <div class="surf-carousel">
291
371
  <div class="items"></div>
@@ -298,6 +378,7 @@ const template = `<div class="carousel-wrapper">
298
378
  const style = `
299
379
  .surf-carousel {
300
380
  display: flex;
381
+ flex-direction: column;
301
382
  position: relative;
302
383
  flex-grow: 1;
303
384
 
@@ -338,7 +419,7 @@ const style = `
338
419
  align-items: stretch;
339
420
  padding: 0 37px;
340
421
  box-sizing: border-box;
341
- transition: transform 0.4s ease-out;
422
+ transition: transform 0.4s ease-out, margin-left 0.3s ease;
342
423
  width: 100%;
343
424
 
344
425
  .surf-product-card {
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.js","sourceRoot":"src/","sources":["rendering/Carousel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Carousel.js","sourceRoot":"../@surfside-ads-core-web/","sources":["rendering/Carousel.ts"],"names":[],"mappings":"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"}