@braze/web-sdk 4.6.3 → 4.7.1

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 (98) hide show
  1. package/index.d.ts +19 -14
  2. package/package.json +1 -1
  3. package/shared-lib/braze-shared-lib.js +2 -2
  4. package/shared-lib/encoding-utils.js +1 -1
  5. package/shared-lib/event-types.js +18 -17
  6. package/shared-lib/indexed-db-adapter.js +2 -2
  7. package/shared-lib/logger.js +2 -2
  8. package/shared-lib/supported-options.js +17 -17
  9. package/src/Card/models/card.js +1 -1
  10. package/src/Core/handle-braze-action.js +40 -34
  11. package/src/Core/log-custom-event.js +2 -7
  12. package/src/Core/log-purchase.js +3 -3
  13. package/src/Core/wipe-data.js +2 -2
  14. package/src/FeatureFlags/feature-flag.js +33 -16
  15. package/src/FeatureFlags/feature-flags-provider.js +86 -75
  16. package/src/FeatureFlags/get-all-feature-flags.js +5 -5
  17. package/src/FeatureFlags/get-feature-flag.js +6 -6
  18. package/src/FeatureFlags/refresh-feature-flags.js +1 -1
  19. package/src/FeatureFlags/types.js +1 -0
  20. package/src/Feed/feed-provider.js +17 -17
  21. package/src/Feed/get-cached-feed.js +1 -1
  22. package/src/Feed/ui/show-feed.js +1 -1
  23. package/src/InAppMessage/display/html-message-to-html.js +135 -120
  24. package/src/InAppMessage/display/in-app-message-to-html.js +21 -21
  25. package/src/InAppMessage/display/modal-utils.js +6 -6
  26. package/src/InAppMessage/in-app-message-factory.js +3 -3
  27. package/src/InAppMessage/in-app-message-manager-factory.js +3 -3
  28. package/src/InAppMessage/in-app-message-manager.js +65 -65
  29. package/src/InAppMessage/log-in-app-message-button-click.js +4 -4
  30. package/src/InAppMessage/log-in-app-message-click.js +4 -4
  31. package/src/InAppMessage/log-in-app-message-html-click.js +3 -3
  32. package/src/InAppMessage/log-in-app-message-impression.js +3 -3
  33. package/src/InAppMessage/models/full-screen-message.js +1 -1
  34. package/src/InAppMessage/models/html-message.js +1 -1
  35. package/src/InAppMessage/models/in-app-message-button.js +4 -4
  36. package/src/InAppMessage/models/in-app-message.js +80 -80
  37. package/src/InAppMessage/models/modal-message.js +2 -2
  38. package/src/InAppMessage/models/slide-up-message.js +8 -8
  39. package/src/InAppMessage/models/templated-in-app-message.js +4 -4
  40. package/src/InAppMessage/subscribe-to-in-app-message.js +1 -1
  41. package/src/InAppMessage/ui/automatically-show-in-app-messages.js +3 -3
  42. package/src/InAppMessage/ui/show-in-app-message.js +20 -20
  43. package/src/Push/push-manager.js +216 -209
  44. package/src/Push/utils/push-utils.js +4 -4
  45. package/src/User/user-manager.js +11 -8
  46. package/src/User/user.js +52 -41
  47. package/src/common/base-feed.js +1 -1
  48. package/src/common/base-provider.js +1 -1
  49. package/src/common/constants.js +2 -0
  50. package/src/common/feed-display.js +6 -6
  51. package/src/l10n/l10n-manager-factory.js +1 -1
  52. package/src/managers/auth-manager.js +24 -24
  53. package/src/managers/braze-instance.js +122 -122
  54. package/src/managers/device-manager.js +11 -11
  55. package/src/managers/network-manager.js +63 -54
  56. package/src/managers/server-config-manager.js +20 -20
  57. package/src/managers/session-manager.js +29 -29
  58. package/src/managers/storage-manager-factory.js +4 -4
  59. package/src/managers/storage-manager.js +104 -104
  60. package/src/managers/subscription-manager.js +6 -6
  61. package/src/models/backend-errors.js +5 -5
  62. package/src/models/braze-event.js +7 -7
  63. package/src/models/device.js +1 -1
  64. package/src/models/identifier.js +6 -6
  65. package/src/models/push-token.js +3 -3
  66. package/src/models/server-config.js +15 -15
  67. package/src/request-controller.js +92 -88
  68. package/src/triggers/models/custom-event-data.js +4 -4
  69. package/src/triggers/models/custom-event-property-data.js +9 -9
  70. package/src/triggers/models/filter-set.js +9 -9
  71. package/src/triggers/models/filter.js +63 -63
  72. package/src/triggers/models/in-app-message-click-data.js +5 -5
  73. package/src/triggers/models/purchase-data.js +3 -3
  74. package/src/triggers/models/purchase-property-data.js +9 -9
  75. package/src/triggers/models/push-click-data.js +5 -5
  76. package/src/triggers/models/trigger-condition.js +48 -48
  77. package/src/triggers/models/trigger-events.js +1 -1
  78. package/src/triggers/models/trigger.js +29 -29
  79. package/src/triggers/triggers-provider-factory.js +2 -2
  80. package/src/triggers/triggers-provider.js +87 -89
  81. package/src/ui/js/attach-css.js +1 -1
  82. package/src/ui/js/feed-css.js +4 -4
  83. package/src/ui/js/iam-css.js +4 -4
  84. package/src/ui/js/load-font-awesome.js +1 -1
  85. package/src/util/base-device-parser.js +2 -2
  86. package/src/util/braze-actions.js +8 -8
  87. package/src/util/browser-detector.js +8 -8
  88. package/src/util/client-hints-parser.js +3 -3
  89. package/src/util/code-utils.js +10 -3
  90. package/src/util/component-utils.js +1 -1
  91. package/src/util/date-utils.js +2 -2
  92. package/src/util/device-constants.js +1 -1
  93. package/src/util/dom-utils.js +9 -9
  94. package/src/util/key-codes.js +1 -1
  95. package/src/util/net.js +3 -3
  96. package/src/util/user-agent-parser.js +4 -4
  97. package/src/util/validation-utils.js +155 -74
  98. package/src/util/window-utils.js +1 -1
@@ -1,21 +1,21 @@
1
- import kt from "./filter-set.js";
2
- export default class Xt {
1
+ import Gt from "./filter-set.js";
2
+ export default class ts {
3
3
  constructor(t, s) {
4
- (this.productId = t), (this.Ql = s);
4
+ (this.productId = t), (this.Gl = s);
5
5
  }
6
- Hl(t) {
7
- if (null == this.productId || null == this.Ql) return !1;
6
+ Jl(t) {
7
+ if (null == this.productId || null == this.Gl) return !1;
8
8
  const s = t[0],
9
9
  i = t[1];
10
- return s === this.productId && this.Ql.Hl(i);
10
+ return s === this.productId && this.Gl.Jl(i);
11
11
  }
12
12
  static fromJson(t) {
13
- return new Xt(
13
+ return new ts(
14
14
  t ? t.product_id : null,
15
- t ? kt.fromJson(t.property_filters) : null
15
+ t ? Gt.fromJson(t.property_filters) : null
16
16
  );
17
17
  }
18
18
  ss() {
19
- return { id: this.productId, pf: this.Ql.ss() };
19
+ return { id: this.productId, pf: this.Gl.ss() };
20
20
  }
21
21
  }
@@ -1,13 +1,13 @@
1
- import Kt from "./trigger-condition.js";
2
- export default class Yt {
1
+ import Yt from "./trigger-condition.js";
2
+ export default class lr {
3
3
  constructor(t) {
4
4
  this.fu = t;
5
5
  }
6
- Hl(t) {
7
- return null == this.fu || Kt.gu(t[0], this.fu);
6
+ Jl(t) {
7
+ return null == this.fu || Yt.gu(t[0], this.fu);
8
8
  }
9
9
  static fromJson(t) {
10
- return new Yt(t ? t.campaign_id : null);
10
+ return new lr(t ? t.campaign_id : null);
11
11
  }
12
12
  ss() {
13
13
  return this.fu;
@@ -1,18 +1,18 @@
1
1
  import xt from "./custom-event-data.js";
2
- import Dt from "./custom-event-property-data.js";
3
- import kt from "./filter-set.js";
4
- import Qt from "./in-app-message-click-data.js";
5
- import Wt from "./purchase-data.js";
6
- import Xt from "./purchase-property-data.js";
7
- import Yt from "./push-click-data.js";
2
+ import Ht from "./custom-event-property-data.js";
3
+ import Gt from "./filter-set.js";
4
+ import Zt from "./in-app-message-click-data.js";
5
+ import $t from "./purchase-data.js";
6
+ import ts from "./purchase-property-data.js";
7
+ import lr from "./push-click-data.js";
8
8
  import V from "./trigger-events.js";
9
9
  import r from "../../../shared-lib/braze-shared-lib.js";
10
- export default class Kt {
10
+ export default class Yt {
11
11
  constructor(e, t) {
12
12
  (this.type = e), (this.data = t);
13
13
  }
14
14
  ec(e, t) {
15
- return Kt.tc[this.type] === e && (null == this.data || this.data.Hl(t));
15
+ return Yt.tc[this.type] === e && (null == this.data || this.data.Jl(t));
16
16
  }
17
17
  static gu(e, t) {
18
18
  let a = null;
@@ -29,81 +29,81 @@ export default class Kt {
29
29
  const t = e.type;
30
30
  let r;
31
31
  switch (t) {
32
- case Kt.rc.OPEN:
32
+ case Yt.rc.OPEN:
33
33
  r = null;
34
34
  break;
35
- case Kt.rc.Rr:
36
- r = Wt.fromJson(e.data);
35
+ case Yt.rc.Rr:
36
+ r = $t.fromJson(e.data);
37
37
  break;
38
- case Kt.rc.ac:
39
- r = Xt.fromJson(e.data);
38
+ case Yt.rc.ac:
39
+ r = ts.fromJson(e.data);
40
40
  break;
41
- case Kt.rc.vr:
42
- r = Yt.fromJson(e.data);
41
+ case Yt.rc.vr:
42
+ r = lr.fromJson(e.data);
43
43
  break;
44
- case Kt.rc.be:
44
+ case Yt.rc.be:
45
45
  r = xt.fromJson(e.data);
46
46
  break;
47
- case Kt.rc.sc:
48
- r = Dt.fromJson(e.data);
47
+ case Yt.rc.sc:
48
+ r = Ht.fromJson(e.data);
49
49
  break;
50
- case Kt.rc.Br:
51
- r = Qt.fromJson(e.data);
50
+ case Yt.rc.Mr:
51
+ r = Zt.fromJson(e.data);
52
52
  break;
53
- case Kt.rc.ks:
53
+ case Yt.rc.ks:
54
54
  r = null;
55
55
  }
56
- return new Kt(t, r);
56
+ return new Yt(t, r);
57
57
  }
58
58
  ss() {
59
59
  return { t: this.type, d: this.data ? this.data.ss() : null };
60
60
  }
61
- static jn(e) {
61
+ static Pn(e) {
62
62
  let t, r;
63
63
  switch (e.t) {
64
- case Kt.rc.OPEN:
64
+ case Yt.rc.OPEN:
65
65
  t = null;
66
66
  break;
67
- case Kt.rc.Rr:
68
- t = new Wt(e.d);
67
+ case Yt.rc.Rr:
68
+ t = new $t(e.d);
69
69
  break;
70
- case Kt.rc.ac:
71
- (r = e.d || {}), (t = new Xt(r.id, kt.jn(r.pf || [])));
70
+ case Yt.rc.ac:
71
+ (r = e.d || {}), (t = new ts(r.id, Gt.Pn(r.pf || [])));
72
72
  break;
73
- case Kt.rc.vr:
74
- t = new Yt(e.d);
73
+ case Yt.rc.vr:
74
+ t = new lr(e.d);
75
75
  break;
76
- case Kt.rc.be:
76
+ case Yt.rc.be:
77
77
  t = new xt(e.d);
78
78
  break;
79
- case Kt.rc.sc:
80
- (r = e.d || {}), (t = new Dt(r.e, kt.jn(r.pf || [])));
79
+ case Yt.rc.sc:
80
+ (r = e.d || {}), (t = new Ht(r.e, Gt.Pn(r.pf || [])));
81
81
  break;
82
- case Kt.rc.Br:
83
- t = new Qt(e.d);
82
+ case Yt.rc.Mr:
83
+ t = new Zt(e.d);
84
84
  break;
85
- case Kt.rc.ks:
85
+ case Yt.rc.ks:
86
86
  t = null;
87
87
  }
88
- return new Kt(e.t, t);
88
+ return new Yt(e.t, t);
89
89
  }
90
90
  }
91
- (Kt.rc = {
91
+ (Yt.rc = {
92
92
  OPEN: "open",
93
93
  Rr: "purchase",
94
94
  ac: "purchase_property",
95
95
  vr: "push_click",
96
96
  be: "custom_event",
97
97
  sc: "custom_event_property",
98
- Br: "iam_click",
98
+ Mr: "iam_click",
99
99
  ks: "test"
100
100
  }),
101
- (Kt.tc = {}),
102
- (Kt.tc[Kt.rc.OPEN] = V.OPEN),
103
- (Kt.tc[Kt.rc.Rr] = V.Rr),
104
- (Kt.tc[Kt.rc.ac] = V.Rr),
105
- (Kt.tc[Kt.rc.vr] = V.vr),
106
- (Kt.tc[Kt.rc.be] = V.be),
107
- (Kt.tc[Kt.rc.sc] = V.be),
108
- (Kt.tc[Kt.rc.Br] = V.Br),
109
- (Kt.tc[Kt.rc.ks] = V.ks);
101
+ (Yt.tc = {}),
102
+ (Yt.tc[Yt.rc.OPEN] = V.OPEN),
103
+ (Yt.tc[Yt.rc.Rr] = V.Rr),
104
+ (Yt.tc[Yt.rc.ac] = V.Rr),
105
+ (Yt.tc[Yt.rc.vr] = V.vr),
106
+ (Yt.tc[Yt.rc.be] = V.be),
107
+ (Yt.tc[Yt.rc.sc] = V.be),
108
+ (Yt.tc[Yt.rc.Mr] = V.Mr),
109
+ (Yt.tc[Yt.rc.ks] = V.ks);
@@ -3,6 +3,6 @@ export default {
3
3
  Rr: "purchase",
4
4
  vr: "push_click",
5
5
  be: "custom_event",
6
- Br: "iam_click",
6
+ Mr: "iam_click",
7
7
  ks: "test"
8
8
  };
@@ -3,46 +3,46 @@ import {
3
3
  rehydrateDateAfterJsonization as w
4
4
  } from "../../util/date-utils.js";
5
5
  import r from "../../../shared-lib/braze-shared-lib.js";
6
- import Kt from "./trigger-condition.js";
6
+ import Yt from "./trigger-condition.js";
7
7
  import { validateValueIsFromEnum as F } from "../../util/code-utils.js";
8
8
  export default class pt {
9
9
  constructor(t, i, s, e, r, l, o, n, h, a, u, d) {
10
10
  (this.id = t),
11
- (this.$h = i || []),
11
+ (this.pu = i || []),
12
12
  void 0 === s && (s = null),
13
13
  (this.startTime = s),
14
14
  void 0 === e && (e = null),
15
15
  (this.endTime = e),
16
16
  (this.priority = r || 0),
17
17
  (this.type = l),
18
- (this.Zh = n || 0),
19
- null == a && (a = 1e3 * (this.Zh + 30)),
20
- (this.xi = a),
18
+ (this.Du = n || 0),
19
+ null == a && (a = 1e3 * (this.Du + 30)),
20
+ (this.Vi = a),
21
21
  (this.data = o),
22
- null == h && (h = pt.pu),
23
- (this.Tu = h),
24
- (this.Du = u),
25
- (this.Pu = d || null);
22
+ null == h && (h = pt.Pu),
23
+ (this.yu = h),
24
+ (this.ju = u),
25
+ (this.wu = d || null);
26
26
  }
27
- yu(t) {
27
+ Nu(t) {
28
28
  return (
29
- null == this.Pu || (this.Tu !== pt.pu && t - this.Pu >= 1e3 * this.Tu)
29
+ null == this.wu || (this.yu !== pt.Pu && t - this.wu >= 1e3 * this.yu)
30
30
  );
31
31
  }
32
- ju(t) {
33
- this.Pu = t;
32
+ vu(t) {
33
+ this.wu = t;
34
34
  }
35
- wu(t) {
36
- const i = t + 1e3 * this.Zh;
35
+ zu(t) {
36
+ const i = t + 1e3 * this.Du;
37
37
  return Math.max(i - new Date().valueOf(), 0);
38
38
  }
39
- Eu(t) {
39
+ Iu(t) {
40
40
  const i = new Date().valueOf() - t,
41
- s = null == t || isNaN(i) || null == this.xi || i < this.xi;
41
+ s = null == t || isNaN(i) || null == this.Vi || i < this.Vi;
42
42
  return (
43
43
  s ||
44
44
  r.D.info(
45
- `Trigger action ${this.type} is no longer eligible for display - fired ${i}ms ago and has a timeout of ${this.xi}ms.`
45
+ `Trigger action ${this.type} is no longer eligible for display - fired ${i}ms ago and has a timeout of ${this.Vi}ms.`
46
46
  ),
47
47
  !s
48
48
  );
@@ -51,7 +51,7 @@ export default class pt {
51
51
  const i = t.id,
52
52
  s = [];
53
53
  for (let i = 0; i < t.trigger_condition.length; i++)
54
- s.push(Kt.fromJson(t.trigger_condition[i]));
54
+ s.push(Yt.fromJson(t.trigger_condition[i]));
55
55
  const e = h(t.start_time),
56
56
  r = h(t.end_time),
57
57
  l = t.priority,
@@ -62,7 +62,7 @@ export default class pt {
62
62
  d = t.data,
63
63
  m = t.min_seconds_since_last_trigger;
64
64
  return F(
65
- pt.Fi,
65
+ pt.Ki,
66
66
  o,
67
67
  "Could not construct Trigger from server data",
68
68
  "Trigger.Types"
@@ -72,7 +72,7 @@ export default class pt {
72
72
  }
73
73
  ss() {
74
74
  const t = [];
75
- for (let i = 0; i < this.$h.length; i++) t.push(this.$h[i].ss());
75
+ for (let i = 0; i < this.pu.length; i++) t.push(this.pu[i].ss());
76
76
  return {
77
77
  i: this.id,
78
78
  c: t,
@@ -81,16 +81,16 @@ export default class pt {
81
81
  p: this.priority,
82
82
  t: this.type,
83
83
  da: this.data,
84
- d: this.Zh,
85
- r: this.Tu,
86
- tm: this.xi,
87
- ss: this.Du,
88
- ld: this.Pu
84
+ d: this.Du,
85
+ r: this.yu,
86
+ tm: this.Vi,
87
+ ss: this.ju,
88
+ ld: this.wu
89
89
  };
90
90
  }
91
- static jn(t) {
91
+ static Pn(t) {
92
92
  const i = [];
93
- for (let s = 0; s < t.c.length; s++) i.push(Kt.jn(t.c[s]));
93
+ for (let s = 0; s < t.c.length; s++) i.push(Yt.Pn(t.c[s]));
94
94
  return new pt(
95
95
  t.i,
96
96
  i,
@@ -107,4 +107,4 @@ export default class pt {
107
107
  );
108
108
  }
109
109
  }
110
- (pt.pu = -1), (pt.Fi = { Ei: "inapp", Nu: "templated_iam" });
110
+ (pt.Pu = -1), (pt.Ki = { Ji: "inapp", $u: "templated_iam" });
@@ -7,10 +7,10 @@ export const TriggersProviderFactory = {
7
7
  er: () => (TriggersProviderFactory.init(), TriggersProviderFactory.provider),
8
8
  rg: () => {
9
9
  if (!TriggersProviderFactory.provider) {
10
- const r = e.nn(T.So);
10
+ const r = e.nn(T._o);
11
11
  (TriggersProviderFactory.provider = new gr(
12
12
  null != r ? r : 30,
13
- pe.m().pi(),
13
+ pe.m().Qe(),
14
14
  e.l(),
15
15
  e.mr(),
16
16
  pe.m()