@hellotext/hellotext 2.5.2 → 2.5.4

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.
@@ -84,9 +84,15 @@ let _default = /*#__PURE__*/function (_Controller) {
84
84
  product: id,
85
85
  quantity: 1
86
86
  };
87
+ if (this.hasUtmValue) _hellotext.default.page.utm.save(this.utmValue);
87
88
  _hellotext.default.track('cart.added', {
88
89
  object_parameters: {
89
90
  items: [item]
91
+ },
92
+ source: {
93
+ kind: this.kindValue,
94
+ message_id: this.idValue,
95
+ button_id: currentTarget.dataset.id
90
96
  }
91
97
  });
92
98
  _hellotext.default.eventEmitter.dispatch('cart.added', {
@@ -285,9 +291,11 @@ _default.values = {
285
291
  default: 64
286
292
  },
287
293
  id: String,
294
+ kind: String,
288
295
  pageStartOffset: {
289
296
  type: Number,
290
297
  default: 0
291
- }
298
+ },
299
+ utm: Object
292
300
  };
293
301
  _default.targets = ['carouselContainer', 'leftFade', 'rightFade', 'carouselCard'];
@@ -83,9 +83,15 @@ var _default = /*#__PURE__*/function (_Controller) {
83
83
  product: id,
84
84
  quantity: 1
85
85
  };
86
+ if (this.hasUtmValue) Hellotext.page.utm.save(this.utmValue);
86
87
  Hellotext.track('cart.added', {
87
88
  object_parameters: {
88
89
  items: [item]
90
+ },
91
+ source: {
92
+ kind: this.kindValue,
93
+ message_id: this.idValue,
94
+ button_id: currentTarget.dataset.id
89
95
  }
90
96
  });
91
97
  Hellotext.eventEmitter.dispatch('cart.added', {
@@ -280,10 +286,12 @@ _default.values = {
280
286
  default: 64
281
287
  },
282
288
  id: String,
289
+ kind: String,
283
290
  pageStartOffset: {
284
291
  type: Number,
285
292
  default: 0
286
- }
293
+ },
294
+ utm: Object
287
295
  };
288
296
  _default.targets = ['carouselContainer', 'leftFade', 'rightFade', 'carouselCard'];
289
297
  export { _default as default };
@@ -21,12 +21,16 @@ let UTM = /*#__PURE__*/function () {
21
21
  term: urlSearchParams.get('utm_term'),
22
22
  content: urlSearchParams.get('utm_content')
23
23
  };
24
- if (utmsFromUrl.source && utmsFromUrl.medium) {
25
- const cleanUtms = Object.fromEntries(Object.entries(utmsFromUrl).filter(([_, value]) => value));
26
- _cookies.Cookies.set('hello_utm', JSON.stringify(cleanUtms));
27
- }
24
+ this.save(utmsFromUrl);
28
25
  }
29
26
  _createClass(UTM, [{
27
+ key: "save",
28
+ value: function save(utmParams) {
29
+ if (!utmParams.source || !utmParams.medium) return;
30
+ const cleanUtms = Object.fromEntries(Object.entries(utmParams).filter(([_, value]) => value));
31
+ _cookies.Cookies.set('hello_utm', JSON.stringify(cleanUtms));
32
+ }
33
+ }, {
30
34
  key: "current",
31
35
  get: function () {
32
36
  try {
package/lib/models/utm.js CHANGED
@@ -15,15 +15,19 @@ var UTM = /*#__PURE__*/function () {
15
15
  term: urlSearchParams.get('utm_term'),
16
16
  content: urlSearchParams.get('utm_content')
17
17
  };
18
- if (utmsFromUrl.source && utmsFromUrl.medium) {
19
- var cleanUtms = Object.fromEntries(Object.entries(utmsFromUrl).filter(_ref => {
18
+ this.save(utmsFromUrl);
19
+ }
20
+ _createClass(UTM, [{
21
+ key: "save",
22
+ value: function save(utmParams) {
23
+ if (!utmParams.source || !utmParams.medium) return;
24
+ var cleanUtms = Object.fromEntries(Object.entries(utmParams).filter(_ref => {
20
25
  var [_, value] = _ref;
21
26
  return value;
22
27
  }));
23
28
  Cookies.set('hello_utm', JSON.stringify(cleanUtms));
24
29
  }
25
- }
26
- _createClass(UTM, [{
30
+ }, {
27
31
  key: "current",
28
32
  get: function get() {
29
33
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hellotext/hellotext",
3
- "version": "2.5.2",
3
+ "version": "2.5.4",
4
4
  "description": "Hellotext JavaScript Client",
5
5
  "source": "src/index.js",
6
6
  "main": "lib/index.cjs",
@@ -6,7 +6,9 @@ export default class extends Controller {
6
6
  static values = {
7
7
  fadeDistance: { type: Number, default: 64 },
8
8
  id: String,
9
+ kind: String,
9
10
  pageStartOffset: { type: Number, default: 0 },
11
+ utm: Object,
10
12
  }
11
13
 
12
14
  static targets = ['carouselContainer', 'leftFade', 'rightFade', 'carouselCard']
@@ -51,7 +53,16 @@ export default class extends Controller {
51
53
  const { id, reference, source } = card.dataset
52
54
  const item = { product: id, quantity: 1 }
53
55
 
54
- Hellotext.track('cart.added', { object_parameters: { items: [item] } })
56
+ if (this.hasUtmValue) Hellotext.page.utm.save(this.utmValue)
57
+
58
+ Hellotext.track('cart.added', {
59
+ object_parameters: { items: [item] },
60
+ source: {
61
+ kind: this.kindValue,
62
+ message_id: this.idValue,
63
+ button_id: currentTarget.dataset.id,
64
+ },
65
+ })
55
66
 
56
67
  Hellotext.eventEmitter.dispatch('cart.added', {
57
68
  object_parameters: {
package/src/models/utm.js CHANGED
@@ -12,13 +12,17 @@ class UTM {
12
12
  content: urlSearchParams.get('utm_content'),
13
13
  }
14
14
 
15
- if (utmsFromUrl.source && utmsFromUrl.medium) {
16
- const cleanUtms = Object.fromEntries(
17
- Object.entries(utmsFromUrl).filter(([_, value]) => value),
18
- )
15
+ this.save(utmsFromUrl)
16
+ }
19
17
 
20
- Cookies.set('hello_utm', JSON.stringify(cleanUtms))
21
- }
18
+ save(utmParams) {
19
+ if (!utmParams.source || !utmParams.medium) return
20
+
21
+ const cleanUtms = Object.fromEntries(
22
+ Object.entries(utmParams).filter(([_, value]) => value),
23
+ )
24
+
25
+ Cookies.set('hello_utm', JSON.stringify(cleanUtms))
22
26
  }
23
27
 
24
28
  get current() {