@braze/web-sdk 5.9.1 → 6.0.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 (159) hide show
  1. package/index.d.ts +109 -253
  2. package/package.json +1 -1
  3. package/shared-lib/encoding-utils.js +1 -1
  4. package/shared-lib/event-types.js +24 -26
  5. package/shared-lib/guid.js +2 -2
  6. package/shared-lib/indexed-db-adapter.js +19 -19
  7. package/shared-lib/logger.js +2 -2
  8. package/shared-lib/supported-options.js +21 -22
  9. package/src/Banner/display/banner-to-html.js +13 -25
  10. package/src/Banner/display/destroy-banner-html.js +2 -2
  11. package/src/Banner/display/detect-banner-impressions.js +11 -11
  12. package/src/Banner/index.js +0 -1
  13. package/src/Banner/request-banners-refresh.js +8 -8
  14. package/src/Banner/subscribe-to-banners-updates.js +2 -2
  15. package/src/Banner/ui/insert-banner.js +7 -7
  16. package/src/Card/card-manager.js +35 -37
  17. package/src/Card/display/card-display.js +76 -74
  18. package/src/Card/index.js +0 -2
  19. package/src/Card/log-card-dismissal.js +2 -2
  20. package/src/Card/log-content-card-click.js +9 -2
  21. package/src/Card/log-content-card-impressions.js +11 -2
  22. package/src/Card/models/captioned-image.js +20 -20
  23. package/src/Card/models/card.js +110 -104
  24. package/src/Card/models/classic-card.js +20 -20
  25. package/src/Card/models/control-card.js +14 -14
  26. package/src/Card/models/image-only.js +19 -20
  27. package/src/Card/util/card-factory.js +57 -78
  28. package/src/ContentCards/content-cards-provider-factory.js +10 -10
  29. package/src/ContentCards/content-cards-provider.js +109 -109
  30. package/src/ContentCards/content-cards.js +21 -13
  31. package/src/ContentCards/get-cached-content-cards.js +2 -2
  32. package/src/ContentCards/request-content-cards-refresh.js +2 -2
  33. package/src/ContentCards/subscribe-to-content-cards-updates.js +5 -5
  34. package/src/ContentCards/ui/hide-content-cards.js +5 -5
  35. package/src/ContentCards/ui/show-content-cards.js +34 -34
  36. package/src/Core/add-sdk-metadata.js +2 -2
  37. package/src/Core/change-user.js +7 -7
  38. package/src/Core/disable-sdk.js +6 -6
  39. package/src/Core/enable-sdk.js +5 -5
  40. package/src/Core/get-user.js +1 -1
  41. package/src/Core/handle-braze-action.js +7 -7
  42. package/src/Core/is-disabled.js +2 -2
  43. package/src/Core/is-initialized.js +1 -1
  44. package/src/Core/log-custom-event.js +9 -9
  45. package/src/Core/log-purchase.js +7 -7
  46. package/src/Core/open-session.js +12 -12
  47. package/src/Core/request-immediate-data-flush.js +1 -1
  48. package/src/Core/set-sdk-authentication-signature.js +2 -2
  49. package/src/Core/wipe-data.js +7 -7
  50. package/src/FeatureFlags/feature-flag-factory.js +7 -7
  51. package/src/FeatureFlags/feature-flag.js +6 -6
  52. package/src/FeatureFlags/feature-flags-provider-factory.js +9 -9
  53. package/src/FeatureFlags/feature-flags-provider.js +1 -1
  54. package/src/FeatureFlags/get-all-feature-flags.js +2 -2
  55. package/src/FeatureFlags/get-feature-flag.js +2 -2
  56. package/src/FeatureFlags/log-feature-flag-impression.js +4 -4
  57. package/src/FeatureFlags/refresh-feature-flags.js +2 -2
  58. package/src/FeatureFlags/subscribe-to-feature-flags-updates.js +2 -2
  59. package/src/InAppMessage/defer-in-app-message.js +1 -1
  60. package/src/InAppMessage/display/html-message-to-html.js +37 -37
  61. package/src/InAppMessage/display/in-app-message-to-html.js +139 -133
  62. package/src/InAppMessage/display/modal-utils.js +39 -41
  63. package/src/InAppMessage/get-deferred-in-app-message.js +1 -1
  64. package/src/InAppMessage/in-app-message-factory.js +22 -14
  65. package/src/InAppMessage/in-app-message-manager.js +90 -88
  66. package/src/InAppMessage/log-in-app-message-button-click.js +5 -5
  67. package/src/InAppMessage/log-in-app-message-click.js +5 -5
  68. package/src/InAppMessage/log-in-app-message-html-click.js +5 -5
  69. package/src/InAppMessage/log-in-app-message-impression.js +1 -1
  70. package/src/InAppMessage/models/control-message.js +2 -2
  71. package/src/InAppMessage/models/full-screen-message.js +40 -34
  72. package/src/InAppMessage/models/html-message.js +23 -21
  73. package/src/InAppMessage/models/in-app-message-button.js +2 -2
  74. package/src/InAppMessage/models/in-app-message.js +137 -133
  75. package/src/InAppMessage/models/modal-message.js +39 -33
  76. package/src/InAppMessage/models/slide-up-message.js +36 -30
  77. package/src/InAppMessage/models/templated-in-app-message.js +8 -8
  78. package/src/InAppMessage/subscribe-to-in-app-message.js +1 -1
  79. package/src/InAppMessage/ui/automatically-show-in-app-messages.js +3 -3
  80. package/src/InAppMessage/ui/show-in-app-message.js +56 -62
  81. package/src/Push/is-push-blocked.js +2 -2
  82. package/src/Push/is-push-permission-granted.js +2 -2
  83. package/src/Push/is-push-supported.js +2 -2
  84. package/src/Push/push-manager-factory.js +8 -8
  85. package/src/Push/push-manager.js +90 -90
  86. package/src/Push/request-push-permission.js +1 -1
  87. package/src/Push/utils/push-utils.js +25 -15
  88. package/src/User/user-manager.js +14 -14
  89. package/src/User/user.js +55 -55
  90. package/src/common/content-cards-display.js +211 -0
  91. package/src/common/event-logger.js +6 -6
  92. package/src/index.js +0 -1
  93. package/src/l10n/l10n-manager-factory.js +9 -9
  94. package/src/l10n/l10n-manager.js +6 -6
  95. package/src/managers/auth-manager.js +27 -27
  96. package/src/managers/braze-instance.js +136 -137
  97. package/src/managers/device-manager.js +22 -22
  98. package/src/managers/network-manager.js +180 -183
  99. package/src/managers/server-config-manager.js +63 -63
  100. package/src/managers/session-manager.js +34 -34
  101. package/src/managers/storage-manager-factory.js +11 -11
  102. package/src/managers/storage-manager.js +139 -141
  103. package/src/managers/subscription-manager.js +3 -3
  104. package/src/managers/utils.js +1 -1
  105. package/src/models/backend-errors.js +5 -5
  106. package/src/models/braze-event.js +15 -15
  107. package/src/models/device.js +3 -3
  108. package/src/models/identifier.js +13 -13
  109. package/src/models/push-token.js +12 -12
  110. package/src/models/request-result.js +2 -2
  111. package/src/models/server-config.js +29 -29
  112. package/src/request-controller.js +175 -174
  113. package/src/triggers/models/custom-event-data.js +6 -6
  114. package/src/triggers/models/custom-event-property-data.js +7 -7
  115. package/src/triggers/models/filter-set.js +8 -8
  116. package/src/triggers/models/filter.js +45 -45
  117. package/src/triggers/models/in-app-message-click-data.js +3 -3
  118. package/src/triggers/models/purchase-data.js +1 -1
  119. package/src/triggers/models/purchase-property-data.js +4 -4
  120. package/src/triggers/models/push-click-data.js +1 -1
  121. package/src/triggers/models/trigger-condition.js +47 -47
  122. package/src/triggers/models/trigger-events.js +3 -3
  123. package/src/triggers/models/trigger.js +15 -15
  124. package/src/triggers/triggers-provider-factory.js +4 -4
  125. package/src/triggers/triggers-provider.js +44 -44
  126. package/src/ui/js/attach-css.js +3 -3
  127. package/src/ui/js/banner-css.js +1 -1
  128. package/src/ui/js/iam-css.js +1 -1
  129. package/src/ui/js/load-font-awesome.js +2 -2
  130. package/src/util/base-device-parser.js +4 -4
  131. package/src/util/braze-actions.js +8 -14
  132. package/src/util/browser-detector.js +12 -12
  133. package/src/util/client-hints-parser.js +3 -3
  134. package/src/util/component-utils.js +14 -14
  135. package/src/util/device-constants.js +1 -1
  136. package/src/util/dom-utils.js +6 -6
  137. package/src/util/html-display-utils.js +37 -37
  138. package/src/util/key-codes.js +1 -1
  139. package/src/util/net.js +1 -1
  140. package/src/util/request-header-utils.js +17 -17
  141. package/src/util/user-agent-parser.js +4 -4
  142. package/src/util/validation-utils.js +20 -20
  143. package/src/util/window-utils.js +1 -1
  144. package/src/Card/log-card-click.js +0 -11
  145. package/src/Card/log-card-impressions.js +0 -13
  146. package/src/Feed/feed-provider-factory.js +0 -18
  147. package/src/Feed/feed-provider.js +0 -90
  148. package/src/Feed/feed.js +0 -20
  149. package/src/Feed/get-cached-feed.js +0 -5
  150. package/src/Feed/index.js +0 -8
  151. package/src/Feed/log-feed-displayed.js +0 -7
  152. package/src/Feed/request-feed-refresh.js +0 -5
  153. package/src/Feed/subscribe-to-feed-updates.js +0 -5
  154. package/src/Feed/types.js +0 -1
  155. package/src/Feed/ui/hide-feed.js +0 -7
  156. package/src/Feed/ui/show-feed.js +0 -96
  157. package/src/Feed/ui/toggle-feed.js +0 -8
  158. package/src/common/base-feed.js +0 -29
  159. package/src/common/feed-display.js +0 -211
@@ -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.oe = "ab-classic-card"),
6
- (this.ae = !0);
5
+ (this.ae = "ab-classic-card"),
6
+ (this.oe = !0);
7
7
  }
8
8
  bt() {
9
9
  const s = {};
10
10
  return (
11
- (s[Card.es.hs] = Card.cs.Ii),
12
- (s[Card.es.ds] = this.id),
13
- (s[Card.es.ps] = this.viewed),
14
- (s[Card.es.us] = this.title),
15
- (s[Card.es.ls] = this.imageUrl),
16
- (s[Card.es.fs] = this.description),
17
- (s[Card.es.xs] = this.updated),
18
- (s[Card.es.bs] = this.created),
19
- (s[Card.es.gs] = this.categories),
20
- (s[Card.es.js] = this.expiresAt),
21
- (s[Card.es.URL] = this.url),
22
- (s[Card.es.zs] = this.linkText),
23
- (s[Card.es.ks] = this.aspectRatio),
24
- (s[Card.es.qs] = this.extras),
25
- (s[Card.es.vs] = this.pinned),
26
- (s[Card.es.ws] = this.dismissible),
27
- (s[Card.es.ys] = this.clicked),
28
- (s[Card.es.As] = this.test),
11
+ (s[Card.hs.ss] = Card.rs.ai),
12
+ (s[Card.hs.os] = this.id),
13
+ (s[Card.hs.cs] = this.viewed),
14
+ (s[Card.hs.ns] = this.title),
15
+ (s[Card.hs.ds] = this.imageUrl),
16
+ (s[Card.hs.ps] = this.description),
17
+ (s[Card.hs.us] = this.updated),
18
+ (s[Card.hs.ls] = this.expiresAt),
19
+ (s[Card.hs.URL] = this.url),
20
+ (s[Card.hs.fs] = this.linkText),
21
+ (s[Card.hs.xs] = this.aspectRatio),
22
+ (s[Card.hs.bs] = this.extras),
23
+ (s[Card.hs.gs] = this.pinned),
24
+ (s[Card.hs.js] = this.dismissible),
25
+ (s[Card.hs.zs] = this.clicked),
26
+ (s[Card.hs.ks] = this.language),
27
+ (s[Card.hs.qs] = this.altImageText),
28
+ (s[Card.hs.vs] = this.test),
29
29
  s
30
30
  );
31
31
  }
@@ -1,23 +1,23 @@
1
1
  import Card from "./card.js";
2
2
  export default class ControlCard extends Card {
3
- constructor(l, t, s, i, n, r) {
4
- super(l, t, null, null, null, null, s, null, i, null, null, null, n, r),
3
+ constructor(t, s, l, i, r, n) {
4
+ super(t, s, null, null, null, l, i, null, null, null, r, n),
5
5
  (this.isControl = !0),
6
- (this.oe = "ab-control-card"),
7
- (this.ae = !1);
6
+ (this.ae = "ab-control-card"),
7
+ (this.oe = !1);
8
8
  }
9
9
  bt() {
10
- const l = {};
10
+ const t = {};
11
11
  return (
12
- (l[Card.es.hs] = Card.cs.ci),
13
- (l[Card.es.ds] = this.id),
14
- (l[Card.es.ps] = this.viewed),
15
- (l[Card.es.xs] = this.updated),
16
- (l[Card.es.js] = this.expiresAt),
17
- (l[Card.es.qs] = this.extras),
18
- (l[Card.es.vs] = this.pinned),
19
- (l[Card.es.As] = this.test),
20
- l
12
+ (t[Card.hs.ss] = Card.rs.Ni),
13
+ (t[Card.hs.os] = this.id),
14
+ (t[Card.hs.cs] = this.viewed),
15
+ (t[Card.hs.us] = this.updated),
16
+ (t[Card.hs.ls] = this.expiresAt),
17
+ (t[Card.hs.bs] = this.extras),
18
+ (t[Card.hs.gs] = this.pinned),
19
+ (t[Card.hs.vs] = this.test),
20
+ t
21
21
  );
22
22
  }
23
23
  }
@@ -1,30 +1,29 @@
1
1
  import Card from "./card.js";
2
2
  export default class ImageOnly extends Card {
3
- constructor(s, t, i, h, r, e, l, n, o, a, u, c, d, m) {
4
- super(s, t, null, i, null, h, r, e, l, n, o, a, u, c, d, m),
5
- (this.oe = "ab-image-only"),
6
- (this.ae = !1),
3
+ constructor(s, t, i, h, l, r, e, n, o, u, a, c, d) {
4
+ super(s, t, null, i, null, h, l, r, null, e, n, o, u, a, c, d),
5
+ (this.ae = "ab-image-only"),
6
+ (this.oe = !1),
7
7
  (this.test = !1);
8
8
  }
9
9
  bt() {
10
10
  const s = {};
11
11
  return (
12
- (s[Card.es.hs] = Card.cs.ai),
13
- (s[Card.es.ds] = this.id),
14
- (s[Card.es.ps] = this.viewed),
15
- (s[Card.es.ls] = this.imageUrl),
16
- (s[Card.es.xs] = this.updated),
17
- (s[Card.es.bs] = this.created),
18
- (s[Card.es.gs] = this.categories),
19
- (s[Card.es.js] = this.expiresAt),
20
- (s[Card.es.URL] = this.url),
21
- (s[Card.es.zs] = this.linkText),
22
- (s[Card.es.ks] = this.aspectRatio),
23
- (s[Card.es.qs] = this.extras),
24
- (s[Card.es.vs] = this.pinned),
25
- (s[Card.es.ws] = this.dismissible),
26
- (s[Card.es.ys] = this.clicked),
27
- (s[Card.es.As] = this.test),
12
+ (s[Card.hs.ss] = Card.rs.Ii),
13
+ (s[Card.hs.os] = this.id),
14
+ (s[Card.hs.cs] = this.viewed),
15
+ (s[Card.hs.ds] = this.imageUrl),
16
+ (s[Card.hs.us] = this.updated),
17
+ (s[Card.hs.ls] = this.expiresAt),
18
+ (s[Card.hs.URL] = this.url),
19
+ (s[Card.hs.xs] = this.aspectRatio),
20
+ (s[Card.hs.bs] = this.extras),
21
+ (s[Card.hs.gs] = this.pinned),
22
+ (s[Card.hs.js] = this.dismissible),
23
+ (s[Card.hs.zs] = this.clicked),
24
+ (s[Card.hs.ks] = this.language),
25
+ (s[Card.hs.qs] = this.altImageText),
26
+ (s[Card.hs.vs] = this.test),
28
27
  s
29
28
  );
30
29
  }
@@ -6,99 +6,78 @@ import {
6
6
  ImageOnly,
7
7
  } from "../index.js";
8
8
  import {
9
- dateFromUnixTimestamp as P,
10
- rehydrateDateAfterJsonization as V,
9
+ dateFromUnixTimestamp as V,
10
+ rehydrateDateAfterJsonization as Q,
11
11
  } from "../../util/date-utils.js";
12
12
  import { logger as N } from "../../../shared-lib/index.js";
13
- export function newCard(n, e, r, t, o, i, l, u, d, a, w, f, s, m, C, p, c, x) {
14
- let F;
15
- if (e === Card.cs.Ti || e === Card.cs.Ii)
16
- F = new ClassicCard(n, r, t, o, i, l, u, d, a, w, f, s, m, C, p, c);
17
- else if (e === Card.cs.os)
18
- F = new CaptionedImage(n, r, t, o, i, l, u, d, a, w, f, s, m, C, p, c);
19
- else if (e === Card.cs.ai)
20
- F = new ImageOnly(n, r, o, l, u, d, a, w, f, s, m, C, p, c);
13
+ export function newCard(e, n, r, t, i, o, l, u, d, a, f, s, w, m, p, C, c, x) {
14
+ let j;
15
+ if (n === Card.rs.oi || n === Card.rs.ai)
16
+ j = new ClassicCard(e, r, t, i, o, l, u, d, a, f, s, w, m, p, c, x);
17
+ else if (n === Card.rs.es)
18
+ j = new CaptionedImage(e, r, t, i, o, l, u, d, a, f, s, w, m, p, c, x);
19
+ else if (n === Card.rs.Ii)
20
+ j = new ImageOnly(e, r, i, l, u, d, f, s, w, m, p, c, x);
21
21
  else {
22
- if (e !== Card.cs.ci)
23
- return N.error("Ignoring card with unknown type " + e), null;
24
- F = new ControlCard(n, r, u, a, m, C);
22
+ if (n !== Card.rs.Ni)
23
+ return N.error("Ignoring card with unknown type " + n), null;
24
+ j = new ControlCard(e, r, l, u, s, w);
25
25
  }
26
- return x && (F.test = x), F;
26
+ return C && (j.test = C), j;
27
27
  }
28
- export function newCardFromContentCardsJson(n) {
29
- if (n[Card.ui.Ei]) return null;
30
- const e = n[Card.ui.ds],
31
- r = n[Card.ui.hs],
32
- t = n[Card.ui.ps],
33
- o = n[Card.ui.us],
34
- i = n[Card.ui.ls],
35
- l = n[Card.ui.fs],
36
- u = P(n[Card.ui.xs]),
37
- d = u;
38
- let a;
39
- a = n[Card.ui.js] === Card.oi ? null : P(n[Card.ui.js]);
28
+ export function newCardFromContentCardsJson(e) {
29
+ if (e[Card.ui.Ei]) return null;
30
+ const n = e[Card.ui.os],
31
+ r = e[Card.ui.ss],
32
+ t = e[Card.ui.cs],
33
+ i = e[Card.ui.ns],
34
+ o = e[Card.ui.ds],
35
+ l = e[Card.ui.ps],
36
+ u = V(e[Card.ui.us]);
37
+ let d;
38
+ d = e[Card.ui.ls] === Card.Ti ? null : V(e[Card.ui.ls]);
40
39
  return newCard(
41
- e,
40
+ n,
42
41
  r,
43
42
  t,
44
- o,
45
43
  i,
44
+ o,
46
45
  l,
47
- d,
48
46
  u,
49
- null,
50
- a,
51
- n[Card.ui.URL],
52
- n[Card.ui.zs],
53
- n[Card.ui.ks],
54
- n[Card.ui.qs],
55
- n[Card.ui.vs],
56
- n[Card.ui.ws],
57
- n[Card.ui.ys],
58
- n[Card.ui.As] || !1,
59
- );
60
- }
61
- export function newCardFromFeedJson(n) {
62
- return newCard(
63
- n.id,
64
- n.type,
65
- n.viewed,
66
- n.title,
67
- n.image,
68
- n.description,
69
- P(n.created),
70
- P(n.updated),
71
- n.categories,
72
- P(n.expires_at),
73
- n.url,
74
- n.domain,
75
- n.aspect_ratio,
76
- n.extras,
77
- !1,
78
- !1,
47
+ d,
48
+ e[Card.ui.URL],
49
+ e[Card.ui.fs],
50
+ e[Card.ui.xs],
51
+ e[Card.ui.bs],
52
+ e[Card.ui.gs],
53
+ e[Card.ui.js],
54
+ e[Card.ui.zs],
55
+ e[Card.ui.vs] || !1,
56
+ e[Card.ui.ks],
57
+ e[Card.ui.qs],
79
58
  );
80
59
  }
81
- export function newCardFromSerializedValue(n) {
60
+ export function newCardFromSerializedValue(e) {
82
61
  return (
83
62
  newCard(
84
- n[Card.es.ds],
85
- n[Card.es.hs],
86
- n[Card.es.ps],
87
- n[Card.es.us],
88
- n[Card.es.ls],
89
- n[Card.es.fs],
90
- V(n[Card.es.bs]),
91
- V(n[Card.es.xs]),
92
- n[Card.es.gs],
93
- V(n[Card.es.js]),
94
- n[Card.es.URL],
95
- n[Card.es.zs],
96
- n[Card.es.ks],
97
- n[Card.es.qs],
98
- n[Card.es.vs],
99
- n[Card.es.ws],
100
- n[Card.es.ys],
101
- n[Card.es.As] || !1,
63
+ e[Card.hs.os],
64
+ e[Card.hs.ss],
65
+ e[Card.hs.cs],
66
+ e[Card.hs.ns],
67
+ e[Card.hs.ds],
68
+ e[Card.hs.ps],
69
+ Q(e[Card.hs.us]),
70
+ Q(e[Card.hs.ls]),
71
+ e[Card.hs.URL],
72
+ e[Card.hs.fs],
73
+ e[Card.hs.xs],
74
+ e[Card.hs.bs],
75
+ e[Card.hs.gs],
76
+ e[Card.hs.js],
77
+ e[Card.hs.zs],
78
+ e[Card.hs.vs] || !1,
79
+ e[Card.hs.ks],
80
+ e[Card.hs.qs],
102
81
  ) || void 0
103
82
  );
104
83
  }
@@ -1,20 +1,20 @@
1
1
  import r from "../managers/braze-instance.js";
2
- import Q from "./content-cards-provider.js";
3
- const W = {
2
+ import Y from "./content-cards-provider.js";
3
+ const Z = {
4
4
  l: !1,
5
5
  provider: null,
6
6
  m: () => (
7
- W.p(),
8
- W.provider ||
9
- ((W.provider = new Q(r.ir(), r.j(), r.v(), r.tr(), r.g())),
10
- r._(W.provider)),
11
- W.provider
7
+ Z.p(),
8
+ Z.provider ||
9
+ ((Z.provider = new Y(r.ir(), r.j(), r.v(), r.tr(), r.g())),
10
+ r._(Z.provider)),
11
+ Z.provider
12
12
  ),
13
13
  p: () => {
14
- W.l || (r.h(W), (W.l = !0));
14
+ Z.l || (r.h(Z), (Z.l = !0));
15
15
  },
16
16
  destroy: () => {
17
- (W.provider = null), (W.l = !1);
17
+ (Z.provider = null), (Z.l = !1);
18
18
  },
19
19
  };
20
- export default W;
20
+ export default Z;