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