@braze/web-sdk 5.8.0 → 5.9.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 (140) hide show
  1. package/index.d.ts +14 -9
  2. package/package.json +1 -1
  3. package/shared-lib/encoding-utils.js +1 -1
  4. package/shared-lib/event-types.js +25 -25
  5. package/shared-lib/guid.js +3 -3
  6. package/shared-lib/indexed-db-adapter.js +18 -18
  7. package/shared-lib/logger.js +2 -2
  8. package/shared-lib/supported-options.js +16 -16
  9. package/src/Banner/banner-provider.js +90 -87
  10. package/src/Banner/banner.js +9 -9
  11. package/src/Banner/display/banner-to-html.js +32 -27
  12. package/src/Banner/get-all-banners.js +11 -5
  13. package/src/Banner/get-banner.js +7 -4
  14. package/src/Banner/log-banner-click.js +4 -4
  15. package/src/Banner/log-banner-impressions.js +6 -6
  16. package/src/Banner/request-banners-refresh.js +6 -3
  17. package/src/Banner/subscribe-to-banners-updates.js +7 -7
  18. package/src/Banner/ui/insert-banner.js +2 -2
  19. package/src/Card/card-manager.js +39 -39
  20. package/src/Card/display/card-display.js +11 -11
  21. package/src/Card/log-card-click.js +2 -2
  22. package/src/Card/log-card-dismissal.js +2 -2
  23. package/src/Card/log-card-impressions.js +3 -3
  24. package/src/Card/models/captioned-image.js +21 -21
  25. package/src/Card/models/card.js +96 -96
  26. package/src/Card/models/classic-card.js +21 -21
  27. package/src/Card/models/control-card.js +11 -11
  28. package/src/Card/models/image-only.js +19 -19
  29. package/src/Card/util/card-factory.js +43 -43
  30. package/src/ContentCards/content-cards-provider.js +156 -154
  31. package/src/ContentCards/get-cached-content-cards.js +1 -1
  32. package/src/ContentCards/request-content-cards-refresh.js +1 -1
  33. package/src/ContentCards/subscribe-to-content-cards-updates.js +6 -6
  34. package/src/ContentCards/ui/show-content-cards.js +3 -3
  35. package/src/Core/change-user.js +1 -1
  36. package/src/Core/disable-sdk.js +8 -8
  37. package/src/Core/enable-sdk.js +6 -6
  38. package/src/Core/get-device-id.js +2 -2
  39. package/src/Core/handle-braze-action.js +2 -2
  40. package/src/Core/is-disabled.js +2 -2
  41. package/src/Core/is-initialized.js +1 -1
  42. package/src/Core/log-custom-event.js +5 -5
  43. package/src/Core/log-purchase.js +4 -4
  44. package/src/Core/open-session.js +8 -8
  45. package/src/Core/request-immediate-data-flush.js +1 -1
  46. package/src/Core/wipe-data.js +7 -5
  47. package/src/FeatureFlags/feature-flag-factory.js +10 -10
  48. package/src/FeatureFlags/feature-flag.js +15 -15
  49. package/src/FeatureFlags/feature-flags-provider.js +69 -63
  50. package/src/FeatureFlags/get-all-feature-flags.js +2 -2
  51. package/src/FeatureFlags/get-feature-flag.js +2 -2
  52. package/src/FeatureFlags/log-feature-flag-impression.js +4 -4
  53. package/src/FeatureFlags/subscribe-to-feature-flags-updates.js +2 -2
  54. package/src/Feed/feed-provider-factory.js +1 -1
  55. package/src/Feed/feed-provider.js +44 -44
  56. package/src/Feed/get-cached-feed.js +1 -1
  57. package/src/Feed/log-feed-displayed.js +1 -1
  58. package/src/Feed/request-feed-refresh.js +1 -1
  59. package/src/Feed/subscribe-to-feed-updates.js +1 -1
  60. package/src/Feed/ui/show-feed.js +1 -1
  61. package/src/InAppMessage/defer-in-app-message.js +1 -1
  62. package/src/InAppMessage/display/html-message-to-html.js +10 -10
  63. package/src/InAppMessage/display/in-app-message-to-html.js +25 -25
  64. package/src/InAppMessage/display/modal-utils.js +8 -8
  65. package/src/InAppMessage/in-app-message-factory.js +7 -7
  66. package/src/InAppMessage/in-app-message-manager.js +92 -92
  67. package/src/InAppMessage/log-in-app-message-button-click.js +7 -7
  68. package/src/InAppMessage/log-in-app-message-click.js +5 -5
  69. package/src/InAppMessage/log-in-app-message-html-click.js +7 -7
  70. package/src/InAppMessage/log-in-app-message-impression.js +2 -2
  71. package/src/InAppMessage/models/control-message.js +5 -5
  72. package/src/InAppMessage/models/full-screen-message.js +34 -34
  73. package/src/InAppMessage/models/html-message.js +20 -20
  74. package/src/InAppMessage/models/in-app-message-button.js +8 -8
  75. package/src/InAppMessage/models/in-app-message.js +82 -82
  76. package/src/InAppMessage/models/modal-message.js +33 -33
  77. package/src/InAppMessage/models/slide-up-message.js +29 -29
  78. package/src/InAppMessage/models/templated-in-app-message.js +8 -8
  79. package/src/InAppMessage/subscribe-to-in-app-message.js +1 -1
  80. package/src/InAppMessage/ui/automatically-show-in-app-messages.js +3 -3
  81. package/src/InAppMessage/ui/show-in-app-message.js +18 -18
  82. package/src/Push/push-manager-factory.js +1 -1
  83. package/src/Push/push-manager.js +94 -94
  84. package/src/Push/request-push-permission.js +1 -1
  85. package/src/Push/utils/push-utils.js +4 -4
  86. package/src/User/user-manager.js +20 -20
  87. package/src/User/user.js +38 -38
  88. package/src/common/base-feed.js +1 -1
  89. package/src/common/base-provider.js +1 -1
  90. package/src/common/constants.js +2 -0
  91. package/src/common/event-logger.js +7 -7
  92. package/src/common/feed-display.js +8 -8
  93. package/src/l10n/l10n-manager-factory.js +1 -1
  94. package/src/l10n/l10n-manager.js +1 -1
  95. package/src/managers/auth-manager.js +14 -14
  96. package/src/managers/braze-instance.js +134 -133
  97. package/src/managers/device-manager.js +25 -25
  98. package/src/managers/network-manager.js +167 -161
  99. package/src/managers/server-config-manager.js +104 -92
  100. package/src/managers/session-manager.js +29 -29
  101. package/src/managers/storage-manager-factory.js +12 -12
  102. package/src/managers/storage-manager.js +86 -86
  103. package/src/managers/subscription-manager.js +11 -11
  104. package/src/managers/utils.js +4 -4
  105. package/src/models/backend-errors.js +5 -5
  106. package/src/models/braze-event.js +9 -9
  107. package/src/models/device.js +2 -2
  108. package/src/models/identifier.js +4 -4
  109. package/src/models/push-token.js +8 -8
  110. package/src/models/request-result.js +4 -4
  111. package/src/models/server-config.js +37 -37
  112. package/src/request-controller.js +159 -158
  113. package/src/triggers/models/custom-event-data.js +2 -2
  114. package/src/triggers/models/custom-event-property-data.js +4 -4
  115. package/src/triggers/models/filter-set.js +6 -6
  116. package/src/triggers/models/filter.js +7 -7
  117. package/src/triggers/models/in-app-message-click-data.js +2 -2
  118. package/src/triggers/models/purchase-data.js +2 -2
  119. package/src/triggers/models/purchase-property-data.js +4 -4
  120. package/src/triggers/models/push-click-data.js +2 -2
  121. package/src/triggers/models/trigger-condition.js +36 -36
  122. package/src/triggers/models/trigger-events.js +3 -3
  123. package/src/triggers/models/trigger.js +14 -14
  124. package/src/triggers/triggers-provider-factory.js +3 -3
  125. package/src/triggers/triggers-provider.js +72 -72
  126. package/src/ui/js/attach-css.js +1 -1
  127. package/src/ui/js/load-font-awesome.js +1 -1
  128. package/src/util/base-device-parser.js +1 -1
  129. package/src/util/braze-actions.js +4 -4
  130. package/src/util/browser-detector.js +5 -5
  131. package/src/util/client-hints-parser.js +1 -1
  132. package/src/util/component-utils.js +2 -2
  133. package/src/util/dom-utils.js +4 -4
  134. package/src/util/html-display-utils.js +14 -14
  135. package/src/util/key-codes.js +1 -1
  136. package/src/util/net.js +7 -7
  137. package/src/util/request-header-utils.js +21 -21
  138. package/src/util/user-agent-parser.js +1 -1
  139. package/src/util/validation-utils.js +2 -2
  140. package/src/util/window-utils.js +2 -2
@@ -1,136 +1,148 @@
1
- import { STORAGE_KEYS as t } from "./storage-manager.js";
1
+ import { STORAGE_KEYS as s } from "./storage-manager.js";
2
2
  import u from "./subscription-manager.js";
3
- import Jt from "../models/server-config.js";
3
+ import Qt from "../models/server-config.js";
4
4
  import c from "../common/event-logger.js";
5
5
  import { EventTypes as d } from "../../shared-lib/index.js";
6
6
  export default class Mt {
7
7
  constructor(t) {
8
8
  (this.C = t),
9
9
  (this.C = t),
10
- (this.al = new u()),
11
- (this.hl = new u()),
10
+ (this.sl = new u()),
11
+ (this.rl = new u()),
12
12
  (this.ul = new u()),
13
- (this.ol = new u()),
14
- (this.cl = null),
15
- (this.ml = null);
16
- }
17
- gl() {
18
- if (null == this.ml) {
19
- const e = this.C.vs(t.gs.bl);
20
- this.ml = null != e ? Jt.Bn(e) : new Jt();
13
+ (this.al = new u()),
14
+ (this.hl = null),
15
+ (this.ol = null);
16
+ }
17
+ cl() {
18
+ if (null == this.ol) {
19
+ const t = this.C.ft(s.gt.ml);
20
+ this.ol = null != t ? Qt.Rn(t) : new Qt();
21
21
  }
22
- return this.ml;
23
- }
24
- Us() {
25
- return this.gl().fl;
26
- }
27
- dl(e) {
28
- if (null != e && null != e.config) {
29
- const i = e.config;
30
- if (i.time > this.gl().fl) {
31
- const e = (t) => (null == t ? this.gl().Rl : t),
32
- s = new Jt(
33
- i.time,
34
- i.events_blacklist,
35
- i.attributes_blacklist,
36
- i.purchases_blacklist,
37
- i.messaging_session_timeout,
38
- i.vapid_public_key,
39
- i.content_cards,
40
- i.feature_flags,
41
- e(i.global_request_rate_limit),
42
- i.banners,
22
+ return this.ol;
23
+ }
24
+ Et() {
25
+ return this.cl().dl;
26
+ }
27
+ gl(t) {
28
+ var i, e;
29
+ if (null != t && null != t.config) {
30
+ const n = t.config;
31
+ if (n.time > this.cl().dl) {
32
+ const t = (t) => (null == t ? this.cl().bl : t),
33
+ r = new Qt(
34
+ n.time,
35
+ n.events_blacklist,
36
+ n.attributes_blacklist,
37
+ n.purchases_blacklist,
38
+ n.messaging_session_timeout,
39
+ n.vapid_public_key,
40
+ n.content_cards,
41
+ n.feature_flags,
42
+ t(n.global_request_rate_limit),
43
+ n.banners,
43
44
  );
44
- let n = !1;
45
- null != s.Cl && this.En() !== s.Cl && (n = !0);
46
- let r = !1;
47
- null != s.El.enabled && this.Fi() !== s.El.enabled && (r = !0);
48
45
  let l = !1;
49
- null != s.we.enabled && this.qe() !== s.we.enabled && (l = !0);
46
+ null != r.fl && this.In() !== r.fl && (l = !0);
47
+ let u = !1;
48
+ null != r.vl.enabled && this.yi() !== r.vl.enabled && (u = !0);
50
49
  let a = !1;
51
- null != s.banners.enabled &&
52
- this.Ds() !== s.banners.enabled &&
53
- (a = !0),
54
- (this.ml = s),
55
- this.C.Bs(t.gs.bl, s.bs()),
56
- n && this.al.X(),
57
- r && this.hl.X(),
58
- l && this.ul.X(),
59
- a && this.ol.X();
50
+ null != r.De.enabled && this.ke() !== r.De.enabled && (a = !0);
51
+ let h = !1;
52
+ null !=
53
+ (null === (i = r.banners) || void 0 === i ? void 0 : i.enabled) &&
54
+ this.zt() !==
55
+ (null === (e = r.banners) || void 0 === e ? void 0 : e.enabled) &&
56
+ (h = !0),
57
+ (this.ol = r),
58
+ this.C.Bt(s.gt.ml, r.bt()),
59
+ l && this.sl.X(),
60
+ u && this.rl.X(),
61
+ a && this.ul.X(),
62
+ h && this.al.X();
60
63
  }
61
64
  }
62
65
  }
63
- Rn(t) {
64
- const e = this.al.Fs(t);
65
- return this.cl && this.al.removeSubscription(this.cl), (this.cl = e), e;
66
+ Vn(t) {
67
+ const i = this.sl.Dt(t);
68
+ return this.hl && this.sl.removeSubscription(this.hl), (this.hl = i), i;
66
69
  }
67
- qi(t) {
68
- return this.hl.Fs(t);
70
+ gi(t) {
71
+ return this.rl.Dt(t);
69
72
  }
70
- Xe(t) {
71
- return this.ul.Fs(t);
73
+ Ke(t) {
74
+ return this.ul.Dt(t);
72
75
  }
73
76
  A(t) {
74
- return this.ol.Fs(t);
77
+ return this.al.Dt(t);
75
78
  }
76
- ge(t) {
77
- return -1 !== this.gl().vl.indexOf(t);
79
+ je(t) {
80
+ return -1 !== this.cl().Rl.indexOf(t);
78
81
  }
79
82
  hu(t) {
80
- return -1 !== this.gl().wl.indexOf(t);
83
+ return -1 !== this.cl().Cl.indexOf(t);
81
84
  }
82
85
  Dr(t) {
83
- return -1 !== this.gl().yl.indexOf(t);
86
+ return -1 !== this.cl().El.indexOf(t);
84
87
  }
85
- Ll() {
86
- return this.gl().Bl;
88
+ wl() {
89
+ return this.cl().yl;
87
90
  }
88
- En() {
89
- return this.gl().Cl;
91
+ In() {
92
+ return this.cl().fl;
90
93
  }
91
- Fi() {
92
- return this.gl().El.enabled || !1;
94
+ yi() {
95
+ return this.cl().vl.enabled || !1;
93
96
  }
94
- Fl() {
95
- const t = this.gl().Rl;
97
+ Ll() {
98
+ const t = this.cl().bl;
96
99
  return !(!t || null == t.enabled) && t.enabled;
97
100
  }
98
- el() {
99
- if (!this.Fl()) return -1;
100
- const t = this.gl().Rl;
101
+ Zu() {
102
+ if (!this.Ll()) return -1;
103
+ const t = this.cl().bl;
101
104
  return null == t.capacity || t.capacity < 10 ? -1 : t.capacity;
102
105
  }
103
- il() {
104
- if (!this.Fl()) return -1;
105
- const t = this.gl().Rl;
106
+ tl() {
107
+ if (!this.Ll()) return -1;
108
+ const t = this.cl().bl;
106
109
  return null == t.refill_rate || t.refill_rate <= 0 ? -1 : t.refill_rate;
107
110
  }
108
- Tl(t) {
109
- const e = this.gl().Rl.endpoint_overrides;
110
- return null == e ? null : e[t];
111
+ Bl(t) {
112
+ const i = this.cl().bl.endpoint_overrides;
113
+ return null == i ? null : i[t];
111
114
  }
112
- sl(t) {
113
- const e = this.Tl(t);
114
- return null == e || isNaN(e.capacity) || e.capacity <= 0 ? -1 : e.capacity;
115
+ el(t) {
116
+ const i = this.Bl(t);
117
+ return null == i || isNaN(i.capacity) || i.capacity <= 0 ? -1 : i.capacity;
115
118
  }
116
- rl(t) {
117
- const e = this.Tl(t);
118
- return null == e || isNaN(e.refill_rate) || e.refill_rate <= 0
119
+ il(t) {
120
+ const i = this.Bl(t);
121
+ return null == i || isNaN(i.refill_rate) || i.refill_rate <= 0
119
122
  ? -1
120
- : e.refill_rate;
123
+ : i.refill_rate;
121
124
  }
122
- qe() {
123
- return this.gl().we.enabled && null == this.Ae()
124
- ? (c.cs(d.Du, { e: "Missing feature flag refresh_rate_limit." }), !1)
125
- : this.gl().we.enabled || !1;
125
+ ke() {
126
+ return this.cl().De.enabled && null == this.Oe()
127
+ ? (c.ut(d.qu, { e: "Missing feature flag refresh_rate_limit." }), !1)
128
+ : this.cl().De.enabled || !1;
126
129
  }
127
- Ae() {
128
- return this.gl().we.refresh_rate_limit;
130
+ Oe() {
131
+ return this.cl().De.refresh_rate_limit;
129
132
  }
130
- Ds() {
131
- return this.gl().banners.enabled || !1;
133
+ zt() {
134
+ var t;
135
+ return (
136
+ (null === (t = this.cl().banners) || void 0 === t ? void 0 : t.enabled) ||
137
+ null
138
+ );
132
139
  }
133
140
  ne() {
134
- return this.gl().banners.max_placements || 0;
141
+ var t;
142
+ return (
143
+ (null === (t = this.cl().banners) || void 0 === t
144
+ ? void 0
145
+ : t.max_placements) || 0
146
+ );
135
147
  }
136
148
  }
@@ -1,20 +1,20 @@
1
- import { STORAGE_KEYS as t } from "../managers/storage-manager.js";
1
+ import { STORAGE_KEYS as s } from "../managers/storage-manager.js";
2
2
  import ve from "../models/braze-event.js";
3
3
  import _t from "../models/identifier.js";
4
- import { convertMsToSeconds as L } from "../util/date-utils.js";
4
+ import { convertMsToSeconds as O } from "../util/date-utils.js";
5
5
  import {
6
6
  logger as N,
7
- Guid as G,
7
+ Guid as K,
8
8
  EventTypes as d,
9
9
  } from "../../shared-lib/index.js";
10
10
  export default class Wt {
11
11
  constructor(s, t, i, e) {
12
12
  (this.C = s),
13
- (this.As = t),
13
+ (this.Cs = t),
14
14
  (this.B = i),
15
15
  (this.Sl = e),
16
16
  (this.C = s),
17
- (this.As = t),
17
+ (this.Cs = t),
18
18
  (this.B = i),
19
19
  (this.jl = 1e3),
20
20
  (null == e || isNaN(e)) && (e = 1800),
@@ -30,29 +30,29 @@ export default class Wt {
30
30
  (this.Sl = e);
31
31
  }
32
32
  xl(s, t) {
33
- return new ve(this.As.getUserId(), d.Dl, s, t.eu, { d: L(s - t.Gl) });
33
+ return new ve(this.Cs.getUserId(), d.Dl, s, t.eu, { d: O(s - t.Gl) });
34
34
  }
35
- Ss() {
36
- const s = this.C.tu(t.iu.Nl);
37
- return null == s ? null : s.eu;
35
+ St() {
36
+ const t = this.C.tu(s.iu.Nl);
37
+ return null == t ? null : t.eu;
38
38
  }
39
39
  zl() {
40
- const s = new Date().valueOf(),
41
- i = this.B.Ll();
40
+ const t = new Date().valueOf(),
41
+ i = this.B.wl();
42
42
  if (null == i) return !1;
43
- const e = this.C.vs(t.gs.Hl),
44
- n = null == e || s - e > 1e3 * i;
45
- return n && this.C.Bs(t.gs.Hl, s), n;
43
+ const e = this.C.ft(s.gt.Hl),
44
+ n = null == e || t - e > 1e3 * i;
45
+ return n && this.C.Bt(s.gt.Hl, t), n;
46
46
  }
47
47
  Wl(s, t) {
48
48
  return null == t || null == t.kl || (!(s - t.Gl < this.jl) && t.kl < s);
49
49
  }
50
- Eo() {
51
- const s = new Date().valueOf(),
52
- i = s + 1e3 * this.Sl,
53
- e = this.C.tu(t.iu.Nl);
54
- if (this.Wl(s, e)) {
55
- let n = "Generating session start event with time " + s;
50
+ Qo() {
51
+ const t = new Date().valueOf(),
52
+ i = t + 1e3 * this.Sl,
53
+ e = this.C.tu(s.iu.Nl);
54
+ if (this.Wl(t, e)) {
55
+ let n = "Generating session start event with time " + t;
56
56
  if (null != e) {
57
57
  let s = e.ql;
58
58
  s - e.Gl < this.jl && (s = e.Gl + this.jl),
@@ -60,16 +60,16 @@ export default class Wt {
60
60
  (n += " (old session ended " + s + ")");
61
61
  }
62
62
  (n += ". Will expire " + i.valueOf()), N.info(n);
63
- const o = new _t(G.Rt(), i);
64
- this.C.Al(new ve(this.As.getUserId(), d.Il, s, o.eu)),
65
- this.C.uu(t.iu.Nl, o);
66
- return null == this.C.vs(t.gs.Hl) && this.C.Bs(t.gs.Hl, s), o.eu;
63
+ const o = new _t(K.ce(), i);
64
+ this.C.Al(new ve(this.Cs.getUserId(), d.Fl, t, o.eu)),
65
+ this.C.uu(s.iu.Nl, o);
66
+ return null == this.C.ft(s.gt.Hl) && this.C.Bt(s.gt.Hl, t), o.eu;
67
67
  }
68
- if (null != e) return (e.ql = s), (e.kl = i), this.C.uu(t.iu.Nl, e), e.eu;
68
+ if (null != e) return (e.ql = t), (e.kl = i), this.C.uu(s.iu.Nl, e), e.eu;
69
69
  }
70
- Jl() {
71
- const s = this.C.tu(t.iu.Nl);
72
- null != s &&
73
- (this.C.Kl(t.iu.Nl), this.C.Al(this.xl(new Date().valueOf(), s)));
70
+ Il() {
71
+ const t = this.C.tu(s.iu.Nl);
72
+ null != t &&
73
+ (this.C.Jl(s.iu.Nl), this.C.Al(this.xl(new Date().valueOf(), t)));
74
74
  }
75
75
  }
@@ -1,14 +1,14 @@
1
- import ne, { STORAGE_KEYS as t } from "./storage-manager.js";
1
+ import ne, { STORAGE_KEYS as s } from "./storage-manager.js";
2
2
  import { logger as N } from "../../shared-lib/index.js";
3
3
  const Bt = {
4
- Ka: function (e, o = !1) {
5
- let r = !1;
4
+ Ya: function (e, o = !1) {
5
+ let t = !1;
6
6
  try {
7
7
  if (localStorage && localStorage.getItem)
8
8
  try {
9
- localStorage.setItem(t.gs.oc, "true"),
10
- localStorage.getItem(t.gs.oc) &&
11
- (localStorage.removeItem(t.gs.oc), (r = !0));
9
+ localStorage.setItem(s.gt.ac, "true"),
10
+ localStorage.getItem(s.gt.ac) &&
11
+ (localStorage.removeItem(s.gt.ac), (t = !0));
12
12
  } catch (e) {
13
13
  if (
14
14
  !(
@@ -19,17 +19,17 @@ const Bt = {
19
19
  )
20
20
  )
21
21
  throw e;
22
- r = !0;
22
+ t = !0;
23
23
  }
24
24
  } catch (e) {
25
25
  N.info("Local Storage not supported!");
26
26
  }
27
- const a = Bt.ac(),
28
- n = new ne.nc(e, a && !o, r);
29
- let c;
30
- return (c = r ? new ne.cc(e) : new ne.lc()), new ne(n, c);
27
+ const r = Bt.cc(),
28
+ a = new ne.lc(e, r && !o, t);
29
+ let n;
30
+ return (n = t ? new ne.gc(e) : new ne.uc()), new ne(a, n);
31
31
  },
32
- ac: function () {
32
+ cc: function () {
33
33
  return (
34
34
  navigator.cookieEnabled ||
35
35
  ("cookie" in document &&