@braze/web-sdk 5.0.1 → 5.1.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 (158) hide show
  1. package/README.md +1 -1
  2. package/index.d.ts +10 -5
  3. package/package.json +1 -1
  4. package/shared-lib/encoding-utils.js +3 -3
  5. package/shared-lib/event-types.js +29 -29
  6. package/shared-lib/guid.js +3 -3
  7. package/shared-lib/index.js +6 -0
  8. package/shared-lib/indexed-db-adapter.js +70 -70
  9. package/shared-lib/logger.js +18 -18
  10. package/shared-lib/supported-options.js +21 -21
  11. package/src/Card/card-manager.js +43 -45
  12. package/src/Card/display/card-display.js +60 -60
  13. package/src/Card/log-card-click.js +4 -4
  14. package/src/Card/log-card-dismissal.js +2 -3
  15. package/src/Card/log-card-impressions.js +7 -7
  16. package/src/Card/models/captioned-image.js +21 -21
  17. package/src/Card/models/card.js +73 -73
  18. package/src/Card/models/classic-card.js +21 -21
  19. package/src/Card/models/control-card.js +11 -11
  20. package/src/Card/models/image-only.js +19 -19
  21. package/src/Card/util/card-factory.js +68 -68
  22. package/src/ContentCards/content-cards-provider-factory.js +3 -3
  23. package/src/ContentCards/content-cards-provider.js +255 -245
  24. package/src/ContentCards/content-cards.js +2 -2
  25. package/src/ContentCards/get-cached-content-cards.js +1 -1
  26. package/src/ContentCards/request-content-cards-refresh.js +1 -1
  27. package/src/ContentCards/subscribe-to-content-cards-updates.js +6 -6
  28. package/src/ContentCards/ui/hide-content-cards.js +1 -1
  29. package/src/ContentCards/ui/show-content-cards.js +24 -24
  30. package/src/ContentCards/ui/toggle-content-cards.js +1 -1
  31. package/src/Core/add-sdk-metadata.js +21 -19
  32. package/src/Core/change-user.js +10 -10
  33. package/src/Core/destroy.js +2 -2
  34. package/src/Core/disable-sdk.js +11 -11
  35. package/src/Core/enable-sdk.js +7 -7
  36. package/src/Core/get-device-id.js +6 -6
  37. package/src/Core/get-user.js +1 -1
  38. package/src/Core/handle-braze-action.js +41 -41
  39. package/src/Core/is-disabled.js +2 -2
  40. package/src/Core/log-custom-event.js +15 -15
  41. package/src/Core/log-purchase.js +31 -37
  42. package/src/Core/open-session.js +12 -12
  43. package/src/Core/remove-all-subscriptions.js +1 -1
  44. package/src/Core/remove-subscription.js +1 -1
  45. package/src/Core/request-immediate-data-flush.js +1 -1
  46. package/src/Core/set-logger.js +2 -2
  47. package/src/Core/set-sdk-authentication-signature.js +3 -3
  48. package/src/Core/subscribe-to-sdk-authentication-failures.js +6 -4
  49. package/src/Core/toggle-logging.js +2 -2
  50. package/src/Core/wipe-data.js +9 -9
  51. package/src/FeatureFlags/feature-flag-factory.js +12 -12
  52. package/src/FeatureFlags/feature-flag.js +10 -10
  53. package/src/FeatureFlags/feature-flags-provider-factory.js +3 -2
  54. package/src/FeatureFlags/feature-flags-provider.js +108 -80
  55. package/src/FeatureFlags/get-all-feature-flags.js +5 -5
  56. package/src/FeatureFlags/get-feature-flag.js +6 -6
  57. package/src/FeatureFlags/log-feature-flag-impression.js +15 -13
  58. package/src/FeatureFlags/refresh-feature-flags.js +1 -1
  59. package/src/FeatureFlags/subscribe-to-feature-flags-updates.js +7 -4
  60. package/src/Feed/feed-provider-factory.js +2 -2
  61. package/src/Feed/feed-provider.js +44 -44
  62. package/src/Feed/feed.js +1 -1
  63. package/src/Feed/get-cached-feed.js +1 -1
  64. package/src/Feed/log-feed-displayed.js +4 -4
  65. package/src/Feed/request-feed-refresh.js +1 -1
  66. package/src/Feed/subscribe-to-feed-updates.js +1 -1
  67. package/src/Feed/ui/hide-feed.js +1 -1
  68. package/src/Feed/ui/show-feed.js +28 -28
  69. package/src/Feed/ui/toggle-feed.js +1 -1
  70. package/src/InAppMessage/defer-in-app-message.js +5 -5
  71. package/src/InAppMessage/display/html-message-to-html.js +54 -54
  72. package/src/InAppMessage/display/in-app-message-to-html.js +79 -79
  73. package/src/InAppMessage/display/modal-utils.js +8 -8
  74. package/src/InAppMessage/get-deferred-in-app-message.js +1 -1
  75. package/src/InAppMessage/in-app-message-factory.js +49 -49
  76. package/src/InAppMessage/in-app-message-manager-factory.js +1 -1
  77. package/src/InAppMessage/in-app-message-manager.js +143 -138
  78. package/src/InAppMessage/log-in-app-message-button-click.js +12 -12
  79. package/src/InAppMessage/log-in-app-message-click.js +9 -9
  80. package/src/InAppMessage/log-in-app-message-html-click.js +12 -12
  81. package/src/InAppMessage/log-in-app-message-impression.js +6 -6
  82. package/src/InAppMessage/models/full-screen-message.js +33 -33
  83. package/src/InAppMessage/models/html-message.js +20 -20
  84. package/src/InAppMessage/models/in-app-message-button.js +6 -6
  85. package/src/InAppMessage/models/in-app-message.js +99 -99
  86. package/src/InAppMessage/models/modal-message.js +32 -32
  87. package/src/InAppMessage/models/slide-up-message.js +28 -28
  88. package/src/InAppMessage/models/templated-in-app-message.js +8 -8
  89. package/src/InAppMessage/subscribe-to-in-app-message.js +2 -2
  90. package/src/InAppMessage/ui/automatically-show-in-app-messages.js +4 -4
  91. package/src/InAppMessage/ui/show-in-app-message.js +81 -81
  92. package/src/Push/is-push-blocked.js +1 -1
  93. package/src/Push/is-push-permission-granted.js +1 -1
  94. package/src/Push/is-push-supported.js +1 -1
  95. package/src/Push/push-manager-factory.js +5 -5
  96. package/src/Push/push-manager.js +176 -173
  97. package/src/Push/request-push-permission.js +1 -1
  98. package/src/Push/unregister-push.js +1 -1
  99. package/src/Push/utils/push-utils.js +4 -4
  100. package/src/User/user-manager.js +29 -29
  101. package/src/User/user.js +72 -74
  102. package/src/common/base-feed.js +7 -7
  103. package/src/common/base-provider.js +1 -1
  104. package/src/common/constants.js +2 -0
  105. package/src/common/event-logger.js +21 -18
  106. package/src/common/feed-display.js +44 -44
  107. package/src/l10n/l10n-manager-factory.js +3 -3
  108. package/src/l10n/l10n-manager.js +7 -7
  109. package/src/managers/auth-manager.js +32 -32
  110. package/src/managers/braze-instance.js +188 -190
  111. package/src/managers/device-manager.js +28 -28
  112. package/src/managers/network-manager.js +189 -138
  113. package/src/managers/server-config-manager.js +69 -53
  114. package/src/managers/session-manager.js +34 -30
  115. package/src/managers/storage-manager-factory.js +16 -16
  116. package/src/managers/storage-manager.js +178 -163
  117. package/src/managers/subscription-manager.js +12 -12
  118. package/src/models/backend-errors.js +5 -5
  119. package/src/models/braze-event.js +4 -4
  120. package/src/models/device.js +2 -2
  121. package/src/models/identifier.js +34 -14
  122. package/src/models/push-token.js +8 -8
  123. package/src/models/request-result.js +3 -3
  124. package/src/models/server-config.js +32 -23
  125. package/src/request-controller.js +187 -179
  126. package/src/triggers/models/custom-event-data.js +7 -7
  127. package/src/triggers/models/custom-event-property-data.js +10 -10
  128. package/src/triggers/models/filter-set.js +13 -13
  129. package/src/triggers/models/filter.js +45 -45
  130. package/src/triggers/models/in-app-message-click-data.js +12 -12
  131. package/src/triggers/models/purchase-data.js +2 -2
  132. package/src/triggers/models/purchase-property-data.js +10 -10
  133. package/src/triggers/models/push-click-data.js +7 -7
  134. package/src/triggers/models/trigger-condition.js +57 -59
  135. package/src/triggers/models/trigger-events.js +4 -4
  136. package/src/triggers/models/trigger.js +38 -38
  137. package/src/triggers/triggers-provider-factory.js +4 -4
  138. package/src/triggers/triggers-provider.js +127 -130
  139. package/src/ui/js/attach-css.js +2 -2
  140. package/src/ui/js/iam-css.js +1 -1
  141. package/src/ui/js/load-font-awesome.js +1 -1
  142. package/src/util/base-device-parser.js +3 -3
  143. package/src/util/braze-actions.js +35 -35
  144. package/src/util/browser-detector.js +21 -21
  145. package/src/util/client-hints-parser.js +8 -8
  146. package/src/util/code-utils.js +2 -2
  147. package/src/util/component-utils.js +1 -1
  148. package/src/util/deprecation-utils.js +4 -4
  149. package/src/util/device-constants.js +1 -1
  150. package/src/util/dom-utils.js +18 -18
  151. package/src/util/key-codes.js +1 -1
  152. package/src/util/net.js +18 -18
  153. package/src/util/request-header-utils.js +39 -37
  154. package/src/util/string-utils.js +10 -10
  155. package/src/util/user-agent-parser.js +18 -18
  156. package/src/util/validation-utils.js +37 -39
  157. package/src/util/window-utils.js +3 -3
  158. package/shared-lib/braze-shared-lib.js +0 -8
@@ -2,30 +2,30 @@ import Card from "./card.js";
2
2
  export default class ClassicCard extends Card {
3
3
  constructor(s, t, i, h, r, c, e, a, o, d, l, n, u, p, f, m) {
4
4
  super(s, t, i, h, r, c, e, a, o, d, l, n, u, p, f, m),
5
- (this.U = "ab-classic-card"),
6
- (this.V = !0);
5
+ (this._ = "ab-classic-card"),
6
+ (this.S = !0);
7
7
  }
8
- tt() {
8
+ Y() {
9
9
  const s = {};
10
10
  return (
11
- (s[Card.it.st] = Card.et.Mt),
12
- (s[Card.it.rt] = this.id),
13
- (s[Card.it.ot] = this.viewed),
14
- (s[Card.it.ct] = this.title),
15
- (s[Card.it.nt] = this.imageUrl),
16
- (s[Card.it.dt] = this.description),
17
- (s[Card.it.ut] = this.updated),
18
- (s[Card.it.lt] = this.created),
19
- (s[Card.it.ft] = this.categories),
20
- (s[Card.it.xt] = this.expiresAt),
21
- (s[Card.it.URL] = this.url),
22
- (s[Card.it.bt] = this.linkText),
23
- (s[Card.it.gt] = this.aspectRatio),
24
- (s[Card.it.jt] = this.extras),
25
- (s[Card.it.zt] = this.pinned),
26
- (s[Card.it.kt] = this.dismissible),
27
- (s[Card.it.qt] = this.clicked),
28
- (s[Card.it.vt] = this.test),
11
+ (s[Card.tt.Z] = Card.it.Mt),
12
+ (s[Card.tt.ht] = this.id),
13
+ (s[Card.tt.et] = this.viewed),
14
+ (s[Card.tt.rt] = this.title),
15
+ (s[Card.tt.ot] = this.imageUrl),
16
+ (s[Card.tt.ct] = this.description),
17
+ (s[Card.tt.nt] = this.updated),
18
+ (s[Card.tt.dt] = this.created),
19
+ (s[Card.tt.ut] = this.categories),
20
+ (s[Card.tt.lt] = this.expiresAt),
21
+ (s[Card.tt.URL] = this.url),
22
+ (s[Card.tt.ft] = this.linkText),
23
+ (s[Card.tt.xt] = this.aspectRatio),
24
+ (s[Card.tt.bt] = this.extras),
25
+ (s[Card.tt.gt] = this.pinned),
26
+ (s[Card.tt.jt] = this.dismissible),
27
+ (s[Card.tt.zt] = this.clicked),
28
+ (s[Card.tt.kt] = this.test),
29
29
  s
30
30
  );
31
31
  }
@@ -3,20 +3,20 @@ export default class ControlCard extends Card {
3
3
  constructor(l, t, s, i, n, r) {
4
4
  super(l, t, null, null, null, null, s, null, i, null, null, null, n, r),
5
5
  (this.isControl = !0),
6
- (this.U = "ab-control-card"),
7
- (this.V = !1);
6
+ (this._ = "ab-control-card"),
7
+ (this.S = !1);
8
8
  }
9
- tt() {
9
+ Y() {
10
10
  const l = {};
11
11
  return (
12
- (l[Card.it.st] = Card.et.Ut),
13
- (l[Card.it.rt] = this.id),
14
- (l[Card.it.ot] = this.viewed),
15
- (l[Card.it.ut] = this.updated),
16
- (l[Card.it.xt] = this.expiresAt),
17
- (l[Card.it.jt] = this.extras),
18
- (l[Card.it.zt] = this.pinned),
19
- (l[Card.it.vt] = this.test),
12
+ (l[Card.tt.Z] = Card.it.Ut),
13
+ (l[Card.tt.ht] = this.id),
14
+ (l[Card.tt.et] = this.viewed),
15
+ (l[Card.tt.nt] = this.updated),
16
+ (l[Card.tt.lt] = this.expiresAt),
17
+ (l[Card.tt.bt] = this.extras),
18
+ (l[Card.tt.gt] = this.pinned),
19
+ (l[Card.tt.kt] = this.test),
20
20
  l
21
21
  );
22
22
  }
@@ -2,29 +2,29 @@ import Card from "./card.js";
2
2
  export default class ImageOnly extends Card {
3
3
  constructor(s, t, i, h, r, e, l, n, o, a, u, c, d, m) {
4
4
  super(s, t, null, i, null, h, r, e, l, n, o, a, u, c, d, m),
5
- (this.U = "ab-image-only"),
6
- (this.V = !1),
5
+ (this._ = "ab-image-only"),
6
+ (this.S = !1),
7
7
  (this.test = !1);
8
8
  }
9
- tt() {
9
+ Y() {
10
10
  const s = {};
11
11
  return (
12
- (s[Card.it.st] = Card.et.Pt),
13
- (s[Card.it.rt] = this.id),
14
- (s[Card.it.ot] = this.viewed),
15
- (s[Card.it.nt] = this.imageUrl),
16
- (s[Card.it.ut] = this.updated),
17
- (s[Card.it.lt] = this.created),
18
- (s[Card.it.ft] = this.categories),
19
- (s[Card.it.xt] = this.expiresAt),
20
- (s[Card.it.URL] = this.url),
21
- (s[Card.it.bt] = this.linkText),
22
- (s[Card.it.gt] = this.aspectRatio),
23
- (s[Card.it.jt] = this.extras),
24
- (s[Card.it.zt] = this.pinned),
25
- (s[Card.it.kt] = this.dismissible),
26
- (s[Card.it.qt] = this.clicked),
27
- (s[Card.it.vt] = this.test),
12
+ (s[Card.tt.Z] = Card.it.Pt),
13
+ (s[Card.tt.ht] = this.id),
14
+ (s[Card.tt.et] = this.viewed),
15
+ (s[Card.tt.ot] = this.imageUrl),
16
+ (s[Card.tt.nt] = this.updated),
17
+ (s[Card.tt.dt] = this.created),
18
+ (s[Card.tt.ut] = this.categories),
19
+ (s[Card.tt.lt] = this.expiresAt),
20
+ (s[Card.tt.URL] = this.url),
21
+ (s[Card.tt.ft] = this.linkText),
22
+ (s[Card.tt.xt] = this.aspectRatio),
23
+ (s[Card.tt.bt] = this.extras),
24
+ (s[Card.tt.gt] = this.pinned),
25
+ (s[Card.tt.jt] = this.dismissible),
26
+ (s[Card.tt.zt] = this.clicked),
27
+ (s[Card.tt.kt] = this.test),
28
28
  s
29
29
  );
30
30
  }
@@ -9,36 +9,36 @@ import {
9
9
  dateFromUnixTimestamp as l,
10
10
  rehydrateDateAfterJsonization as w,
11
11
  } from "../../util/date-utils.js";
12
- import r from "../../../shared-lib/braze-shared-lib.js";
13
- export function newCard(e, n, t, o, i, l, u, d, a, s, w, f, m, C, p, c, x, F) {
14
- let b;
15
- if (n === Card.et.Ot || n === Card.et.Mt)
16
- b = new ClassicCard(e, t, o, i, l, u, d, a, s, w, f, m, C, p, c, x);
17
- else if (n === Card.et.ht)
18
- b = new CaptionedImage(e, t, o, i, l, u, d, a, s, w, f, m, C, p, c, x);
19
- else if (n === Card.et.Pt)
20
- b = new ImageOnly(e, t, i, u, d, a, s, w, f, m, C, p, c, x);
12
+ import { logger as r } from "../../../shared-lib/index.js";
13
+ export function newCard(n, e, t, o, i, l, u, d, a, w, f, s, m, C, p, c, x, F) {
14
+ let j;
15
+ if (e === Card.it.Ot || e === Card.it.Mt)
16
+ j = new ClassicCard(n, t, o, i, l, u, d, a, w, f, s, m, C, p, c, x);
17
+ else if (e === Card.it.st)
18
+ j = new CaptionedImage(n, t, o, i, l, u, d, a, w, f, s, m, C, p, c, x);
19
+ else if (e === Card.it.Pt)
20
+ j = new ImageOnly(n, t, i, u, d, a, w, f, s, m, C, p, c, x);
21
21
  else {
22
- if (n !== Card.et.Ut)
23
- return r.j.error("Ignoring card with unknown type " + n), null;
24
- b = new ControlCard(e, t, d, s, C, p);
22
+ if (e !== Card.it.Ut)
23
+ return r.error("Ignoring card with unknown type " + e), null;
24
+ j = new ControlCard(n, t, d, w, C, p);
25
25
  }
26
- return F && (b.test = F), b;
26
+ return F && (j.test = F), j;
27
27
  }
28
- export function newCardFromContentCardsJson(e) {
29
- if (e[Card.Rt.Lt]) return null;
30
- const n = e[Card.Rt.rt],
31
- r = e[Card.Rt.st],
32
- t = e[Card.Rt.ot],
33
- o = e[Card.Rt.ct],
34
- i = e[Card.Rt.nt],
35
- u = e[Card.Rt.dt],
36
- d = l(e[Card.Rt.ut]),
28
+ export function newCardFromContentCardsJson(n) {
29
+ if (n[Card.Rt.Lt]) return null;
30
+ const e = n[Card.Rt.ht],
31
+ r = n[Card.Rt.Z],
32
+ t = n[Card.Rt.et],
33
+ o = n[Card.Rt.rt],
34
+ i = n[Card.Rt.ot],
35
+ u = n[Card.Rt.ct],
36
+ d = l(n[Card.Rt.nt]),
37
37
  a = d;
38
- let s;
39
- s = e[Card.Rt.xt] === Card._t ? null : l(e[Card.Rt.xt]);
38
+ let w;
39
+ w = n[Card.Rt.lt] === Card._t ? null : l(n[Card.Rt.lt]);
40
40
  return newCard(
41
- n,
41
+ e,
42
42
  r,
43
43
  t,
44
44
  o,
@@ -47,58 +47,58 @@ export function newCardFromContentCardsJson(e) {
47
47
  a,
48
48
  d,
49
49
  null,
50
- s,
51
- e[Card.Rt.URL],
52
- e[Card.Rt.bt],
53
- e[Card.Rt.gt],
54
- e[Card.Rt.jt],
55
- e[Card.Rt.zt],
56
- e[Card.Rt.kt],
57
- e[Card.Rt.qt],
58
- e[Card.Rt.vt] || !1,
50
+ w,
51
+ n[Card.Rt.URL],
52
+ n[Card.Rt.ft],
53
+ n[Card.Rt.xt],
54
+ n[Card.Rt.bt],
55
+ n[Card.Rt.gt],
56
+ n[Card.Rt.jt],
57
+ n[Card.Rt.zt],
58
+ n[Card.Rt.kt] || !1,
59
59
  );
60
60
  }
61
- export function newCardFromFeedJson(e) {
61
+ export function newCardFromFeedJson(n) {
62
62
  return newCard(
63
- e.id,
64
- e.type,
65
- e.viewed,
66
- e.title,
67
- e.image,
68
- e.description,
69
- l(e.created),
70
- l(e.updated),
71
- e.categories,
72
- l(e.expires_at),
73
- e.url,
74
- e.domain,
75
- e.aspect_ratio,
76
- e.extras,
63
+ n.id,
64
+ n.type,
65
+ n.viewed,
66
+ n.title,
67
+ n.image,
68
+ n.description,
69
+ l(n.created),
70
+ l(n.updated),
71
+ n.categories,
72
+ l(n.expires_at),
73
+ n.url,
74
+ n.domain,
75
+ n.aspect_ratio,
76
+ n.extras,
77
77
  !1,
78
78
  !1,
79
79
  );
80
80
  }
81
- export function newCardFromSerializedValue(e) {
81
+ export function newCardFromSerializedValue(n) {
82
82
  return (
83
83
  newCard(
84
- e[Card.it.rt],
85
- e[Card.it.st],
86
- e[Card.it.ot],
87
- e[Card.it.ct],
88
- e[Card.it.nt],
89
- e[Card.it.dt],
90
- w(e[Card.it.lt]),
91
- w(e[Card.it.ut]),
92
- e[Card.it.ft],
93
- w(e[Card.it.xt]),
94
- e[Card.it.URL],
95
- e[Card.it.bt],
96
- e[Card.it.gt],
97
- e[Card.it.jt],
98
- e[Card.it.zt],
99
- e[Card.it.kt],
100
- e[Card.it.qt],
101
- e[Card.it.vt] || !1,
84
+ n[Card.tt.ht],
85
+ n[Card.tt.Z],
86
+ n[Card.tt.et],
87
+ n[Card.tt.rt],
88
+ n[Card.tt.ot],
89
+ n[Card.tt.ct],
90
+ w(n[Card.tt.dt]),
91
+ w(n[Card.tt.nt]),
92
+ n[Card.tt.ut],
93
+ w(n[Card.tt.lt]),
94
+ n[Card.tt.URL],
95
+ n[Card.tt.ft],
96
+ n[Card.tt.xt],
97
+ n[Card.tt.bt],
98
+ n[Card.tt.gt],
99
+ n[Card.tt.jt],
100
+ n[Card.tt.zt],
101
+ n[Card.tt.kt] || !1,
102
102
  ) || void 0
103
103
  );
104
104
  }
@@ -3,11 +3,11 @@ import v from "./content-cards-provider.js";
3
3
  const g = {
4
4
  t: !1,
5
5
  provider: null,
6
- er: () => (
6
+ rr: () => (
7
7
  g.o(),
8
8
  g.provider ||
9
- ((g.provider = new v(e.ir(), e.l(), e.tr(), e.nr(), e.ar())),
10
- e.dr(g.provider)),
9
+ ((g.provider = new v(e.er(), e.l(), e.ir(), e.tr(), e.nr())),
10
+ e.ar(g.provider)),
11
11
  g.provider
12
12
  ),
13
13
  o: () => {