@braze/web-sdk 4.8.2 → 4.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 (154) hide show
  1. package/index.d.ts +121 -6
  2. package/package.json +1 -1
  3. package/shared-lib/braze-shared-lib.js +7 -7
  4. package/shared-lib/encoding-utils.js +4 -4
  5. package/shared-lib/event-types.js +22 -21
  6. package/shared-lib/guid.js +7 -7
  7. package/shared-lib/indexed-db-adapter.js +172 -135
  8. package/shared-lib/logger.js +26 -26
  9. package/shared-lib/supported-options.js +15 -15
  10. package/shared-lib/types.js +1 -0
  11. package/src/Card/card-manager-factory.js +1 -1
  12. package/src/Card/card-manager.js +2 -2
  13. package/src/Card/display/card-display.js +5 -4
  14. package/src/Card/models/banner.js +10 -10
  15. package/src/Card/models/captioned-image.js +7 -7
  16. package/src/Card/models/card.js +37 -36
  17. package/src/Card/models/classic-card.js +7 -7
  18. package/src/Card/models/control-card.js +3 -3
  19. package/src/Card/models/image-only.js +32 -0
  20. package/src/Card/models/index.js +1 -0
  21. package/src/Card/util/card-factory.js +16 -16
  22. package/src/ContentCards/content-cards-provider-factory.js +1 -1
  23. package/src/ContentCards/content-cards-provider.js +102 -102
  24. package/src/ContentCards/get-cached-content-cards.js +1 -1
  25. package/src/ContentCards/request-content-cards-refresh.js +1 -1
  26. package/src/ContentCards/subscribe-to-content-cards-updates.js +4 -4
  27. package/src/ContentCards/ui/show-content-cards.js +15 -12
  28. package/src/Core/add-sdk-metadata.js +2 -2
  29. package/src/Core/braze-sdk-metadata.js +1 -1
  30. package/src/Core/change-user.js +1 -1
  31. package/src/Core/device-properties.js +1 -1
  32. package/src/Core/disable-sdk.js +10 -7
  33. package/src/Core/enable-sdk.js +5 -2
  34. package/src/Core/get-device-id.js +3 -3
  35. package/src/Core/get-user.js +1 -1
  36. package/src/Core/handle-braze-action.js +14 -14
  37. package/src/Core/is-disabled.js +1 -1
  38. package/src/Core/log-custom-event.js +4 -4
  39. package/src/Core/log-purchase.js +9 -9
  40. package/src/Core/open-session.js +10 -10
  41. package/src/FeatureFlags/feature-flag-factory.js +5 -3
  42. package/src/FeatureFlags/feature-flag.js +17 -14
  43. package/src/FeatureFlags/feature-flags-provider-factory.js +1 -1
  44. package/src/FeatureFlags/feature-flags-provider.js +56 -43
  45. package/src/FeatureFlags/get-all-feature-flags.js +2 -2
  46. package/src/FeatureFlags/get-feature-flag.js +2 -2
  47. package/src/FeatureFlags/index.js +1 -0
  48. package/src/FeatureFlags/log-feature-flag-impression.js +23 -0
  49. package/src/FeatureFlags/subscribe-to-feature-flags-updates.js +1 -1
  50. package/src/Feed/feed-provider-factory.js +1 -1
  51. package/src/Feed/feed-provider.js +20 -20
  52. package/src/Feed/get-cached-feed.js +1 -1
  53. package/src/Feed/log-feed-displayed.js +1 -1
  54. package/src/Feed/request-feed-refresh.js +1 -1
  55. package/src/Feed/subscribe-to-feed-updates.js +1 -1
  56. package/src/Feed/ui/show-feed.js +13 -10
  57. package/src/InAppMessage/defer-in-app-message.js +13 -0
  58. package/src/InAppMessage/display/get-animation-effect.js +1 -1
  59. package/src/InAppMessage/display/html-message-to-html.js +47 -47
  60. package/src/InAppMessage/display/in-app-message-to-html.js +92 -91
  61. package/src/InAppMessage/display/modal-utils.js +16 -16
  62. package/src/InAppMessage/get-deferred-in-app-message.js +5 -0
  63. package/src/InAppMessage/in-app-message-factory.js +77 -57
  64. package/src/InAppMessage/in-app-message-manager-factory.js +6 -6
  65. package/src/InAppMessage/in-app-message-manager.js +121 -82
  66. package/src/InAppMessage/index.js +2 -0
  67. package/src/InAppMessage/log-in-app-message-button-click.js +17 -9
  68. package/src/InAppMessage/log-in-app-message-click.js +4 -4
  69. package/src/InAppMessage/log-in-app-message-html-click.js +6 -6
  70. package/src/InAppMessage/log-in-app-message-impression.js +3 -3
  71. package/src/InAppMessage/models/full-screen-message.js +65 -29
  72. package/src/InAppMessage/models/html-message.js +32 -13
  73. package/src/InAppMessage/models/in-app-message-button.js +7 -7
  74. package/src/InAppMessage/models/in-app-message.js +203 -134
  75. package/src/InAppMessage/models/modal-message.js +64 -29
  76. package/src/InAppMessage/models/slide-up-message.js +52 -24
  77. package/src/InAppMessage/models/templated-in-app-message.js +8 -8
  78. package/src/InAppMessage/subscribe-to-in-app-message.js +2 -2
  79. package/src/InAppMessage/ui/automatically-show-in-app-messages.js +6 -6
  80. package/src/InAppMessage/ui/show-in-app-message.js +49 -47
  81. package/src/InAppMessage/utils/in-app-message-utils.js +1 -1
  82. package/src/Push/is-push-blocked.js +2 -2
  83. package/src/Push/is-push-permission-granted.js +2 -2
  84. package/src/Push/is-push-supported.js +2 -2
  85. package/src/Push/push-manager-factory.js +19 -19
  86. package/src/Push/push-manager.js +131 -131
  87. package/src/Push/request-push-permission.js +2 -2
  88. package/src/Push/unregister-push.js +2 -2
  89. package/src/Push/utils/push-utils.js +12 -10
  90. package/src/User/user-manager.js +4 -4
  91. package/src/User/user.js +57 -57
  92. package/src/common/base-feed.js +1 -1
  93. package/src/common/constants.js +1 -0
  94. package/src/common/event-logger.js +6 -6
  95. package/src/common/feed-display.js +34 -34
  96. package/src/common/translations.js +33 -33
  97. package/src/l10n/l10n-manager-factory.js +8 -8
  98. package/src/l10n/l10n-manager.js +6 -2
  99. package/src/l10n/types.js +1 -0
  100. package/src/managers/auth-manager.js +29 -29
  101. package/src/managers/braze-instance.js +125 -125
  102. package/src/managers/device-manager.js +20 -20
  103. package/src/managers/network-manager.js +100 -98
  104. package/src/managers/server-config-manager.js +23 -23
  105. package/src/managers/session-manager.js +5 -5
  106. package/src/managers/storage-manager-factory.js +9 -9
  107. package/src/managers/storage-manager.js +132 -129
  108. package/src/managers/subscription-manager.js +8 -8
  109. package/src/models/backend-errors.js +6 -6
  110. package/src/models/braze-event.js +11 -11
  111. package/src/models/braze-sdk-metadata.js +1 -1
  112. package/src/models/device.js +2 -2
  113. package/src/models/identifier.js +1 -1
  114. package/src/models/push-token.js +5 -5
  115. package/src/models/server-config.js +7 -7
  116. package/src/request-controller.js +191 -178
  117. package/src/triggers/models/custom-event-data.js +4 -4
  118. package/src/triggers/models/custom-event-property-data.js +7 -7
  119. package/src/triggers/models/filter-set.js +5 -5
  120. package/src/triggers/models/filter.js +64 -60
  121. package/src/triggers/models/in-app-message-click-data.js +9 -9
  122. package/src/triggers/models/purchase-data.js +4 -4
  123. package/src/triggers/models/purchase-property-data.js +6 -6
  124. package/src/triggers/models/push-click-data.js +6 -6
  125. package/src/triggers/models/trigger-condition.js +55 -59
  126. package/src/triggers/models/trigger-events.js +3 -3
  127. package/src/triggers/models/trigger.js +47 -35
  128. package/src/triggers/triggers-provider-factory.js +10 -6
  129. package/src/triggers/triggers-provider.js +203 -185
  130. package/src/triggers/types.js +1 -0
  131. package/src/ui/js/attach-css.js +5 -4
  132. package/src/ui/js/feed-css.js +5 -5
  133. package/src/ui/js/iam-css.js +5 -5
  134. package/src/ui/js/load-font-awesome.js +1 -1
  135. package/src/util/base-device-parser.js +1 -1
  136. package/src/util/braze-actions.js +35 -30
  137. package/src/util/browser-detector.js +30 -31
  138. package/src/util/client-hints-parser.js +30 -24
  139. package/src/util/code-utils.js +22 -21
  140. package/src/util/color-utils.js +19 -13
  141. package/src/util/component-utils.js +4 -4
  142. package/src/util/date-utils.js +4 -3
  143. package/src/util/device-constants.js +10 -10
  144. package/src/util/dom-utils.js +32 -28
  145. package/src/util/error-utils.js +1 -1
  146. package/src/util/key-codes.js +1 -1
  147. package/src/util/net.js +53 -57
  148. package/src/util/request-header-utils.js +34 -11
  149. package/src/util/string-utils.js +14 -14
  150. package/src/util/types.js +1 -0
  151. package/src/util/url-utils.js +1 -4
  152. package/src/util/user-agent-parser.js +39 -39
  153. package/src/util/validation-utils.js +32 -32
  154. package/src/util/window-utils.js +11 -12
@@ -2,10 +2,10 @@ import {
2
2
  addPassiveEventListener as oe,
3
3
  buildSvg as ae,
4
4
  detectSwipe as d,
5
- DIRECTIONS as c
5
+ DIRECTIONS as c,
6
6
  } from "../../util/dom-utils.js";
7
7
  import { createCloseButton as o } from "../../util/component-utils.js";
8
- import { isTransparent as ne, toRgba as me } from "../../util/color-utils.js";
8
+ import { isTransparent as ne, toRgba as le } from "../../util/color-utils.js";
9
9
  import FullScreenMessage from "../models/full-screen-message.js";
10
10
  import HtmlMessage from "../models/html-message.js";
11
11
  import InAppMessage from "../models/in-app-message.js";
@@ -14,174 +14,175 @@ import SlideUpMessage from "../models/slide-up-message.js";
14
14
  import { logInAppMessageClick } from "../log-in-app-message-click.js";
15
15
  import { _handleBrazeAction as m } from "../../Core/handle-braze-action.js";
16
16
  import at from "./html-message-to-html.js";
17
- import le from "./modal-utils.js";
17
+ import ce from "./modal-utils.js";
18
18
  import r from "../../../shared-lib/braze-shared-lib.js";
19
- export default function ce(e, a, s, n, t, i, l) {
19
+ export default function de(e, a, t, n, s, i, l, u = document.body) {
20
20
  if (((e.ke = document.activeElement), e instanceof HtmlMessage))
21
- return at(e, a, s, t, i, l);
22
- const u = (function(e, a, s, n, t, i) {
23
- let l = null;
24
- const c = document.createElement("div");
25
- (c.className = "ab-in-app-message ab-start-hidden ab-background"),
26
- i && (c.style.zIndex = (i + 1).toString()),
21
+ return at(e, a, t, s, i, l);
22
+ const b = (function (e, a, t, n, s, i, l = document.body) {
23
+ let c = null;
24
+ const d = document.createElement("div");
25
+ (d.className = "ab-in-app-message ab-start-hidden ab-background"),
26
+ i && (d.style.zIndex = (i + 1).toString()),
27
27
  e.xe() &&
28
- ((c.className += " ab-modal-interactions"),
29
- c.setAttribute("tabindex", "-1")),
30
- e.ye() ||
31
- ((c.style.color = me(e.textColor)),
32
- (c.style.backgroundColor = me(e.backgroundColor)),
33
- ne(e.backgroundColor) && (c.className += " ab-no-shadow"));
34
- const d = () => {
35
- -1 !== c.className.indexOf("ab-start-hidden") &&
36
- ((c.className = c.className.replace("ab-start-hidden", "")),
28
+ ((d.className += " ab-modal-interactions"),
29
+ d.setAttribute("tabindex", "-1")),
30
+ e.Ae() ||
31
+ ((d.style.color = le(e.textColor)),
32
+ (d.style.backgroundColor = le(e.backgroundColor)),
33
+ ne(e.backgroundColor) && (d.className += " ab-no-shadow"));
34
+ const u = () => {
35
+ -1 !== d.className.indexOf("ab-start-hidden") &&
36
+ ((d.className = d.className.replace("ab-start-hidden", "")),
37
37
  document.querySelectorAll(".ab-iam-img-loading").length > 0
38
38
  ? n(
39
39
  `Cannot show in-app message ${e.message} because another message is being shown.`,
40
- InAppMessage.Me.ze
40
+ InAppMessage.Ie.Le,
41
41
  )
42
- : s(c));
42
+ : t(d));
43
43
  },
44
- u = (o = !0) => {
45
- const a = document.querySelectorAll(".ab-iam-root");
46
- a &&
47
- a.length > 0 &&
48
- (a[0].classList.remove("ab-iam-img-loading"),
49
- l && (clearTimeout(l), (l = null)),
50
- o
51
- ? d()
52
- : r.j.error(
53
- `Cannot show in-app message ${e.message} because the image failed to load.`
54
- ));
44
+ b = (o = !0) => {
45
+ let a = document.querySelectorAll(".ab-iam-root");
46
+ (a && 0 !== a.length) || (a = l.querySelectorAll(".ab-iam-root")),
47
+ a &&
48
+ a.length > 0 &&
49
+ (a[0].classList.remove("ab-iam-img-loading"),
50
+ c && (clearTimeout(c), (c = null)),
51
+ o
52
+ ? u()
53
+ : r.j.error(
54
+ `Cannot show in-app message ${e.message} because the image failed to load.`,
55
+ ));
55
56
  };
56
57
  e.imageStyle === InAppMessage.ImageStyle.GRAPHIC &&
57
- (c.className += " graphic"),
58
+ (d.className += " graphic"),
58
59
  e.orientation === InAppMessage.Orientation.LANDSCAPE &&
59
- (c.className += " landscape"),
60
+ (d.className += " landscape"),
60
61
  null != e.buttons &&
61
62
  0 === e.buttons.length &&
62
63
  (e.clickAction !== InAppMessage.ClickAction.NONE &&
63
- (c.className += " ab-clickable"),
64
- (c.onclick = o => (
65
- e.he(c, () => {
64
+ (d.className += " ab-clickable"),
65
+ (d.onclick = (o) => (
66
+ e.ye(d, () => {
66
67
  logInAppMessageClick(e),
67
68
  e.clickAction === InAppMessage.ClickAction.URI
68
69
  ? m(
69
70
  e.uri || "",
70
- t || e.openTarget === InAppMessage.OpenTarget.BLANK,
71
- o
71
+ s || e.openTarget === InAppMessage.OpenTarget.BLANK,
72
+ o,
72
73
  )
73
74
  : e.clickAction === InAppMessage.ClickAction.NEWS_FEED && a();
74
75
  }),
75
76
  o.stopPropagation(),
76
77
  !1
77
78
  )));
78
- const b = o(
79
+ const p = o(
79
80
  "Close Message",
80
- e.ye() ? void 0 : me(e.closeButtonColor),
81
+ e.Ae() ? void 0 : le(e.closeButtonColor),
81
82
  () => {
82
- e.he(c);
83
- }
83
+ e.ye(d);
84
+ },
84
85
  );
85
- c.appendChild(b), i && (b.style.zIndex = (i + 2).toString());
86
- const p = document.createElement("div");
87
- p.className = "ab-message-text";
88
- const g = (e.messageAlignment || e.Le).toLowerCase();
89
- p.className += " " + g + "-aligned";
90
- let f = !1;
91
- const h = document.createElement("div");
92
- if (((h.className = "ab-image-area"), e.imageUrl)) {
86
+ d.appendChild(p), i && (p.style.zIndex = (i + 2).toString());
87
+ const g = document.createElement("div");
88
+ g.className = "ab-message-text";
89
+ const f = (e.messageAlignment || e.Te).toLowerCase();
90
+ g.className += " " + f + "-aligned";
91
+ let h = !1;
92
+ const j = document.createElement("div");
93
+ if (((j.className = "ab-image-area"), e.imageUrl)) {
93
94
  if (e.cropType === InAppMessage.CropType.CENTER_CROP) {
94
95
  const o = document.createElement("span");
95
96
  (o.className = "ab-center-cropped-img"),
96
97
  (o.style.backgroundImage = "url(" + e.imageUrl + ")"),
97
98
  o.setAttribute("role", "img"),
98
99
  o.setAttribute("aria-label", "Modal Image"),
99
- e.Ie(o),
100
- h.appendChild(o);
100
+ e.Be(o),
101
+ j.appendChild(o);
101
102
  } else {
102
103
  const o = document.createElement("img");
103
104
  if (
104
105
  (o.setAttribute("src", e.imageUrl),
105
- e.Ie(o),
106
+ e.Be(o),
106
107
  0 === document.querySelectorAll(".ab-iam-img-loading").length)
107
108
  ) {
108
- f = !0;
109
+ h = !0;
109
110
  const e = document.querySelectorAll(".ab-iam-root");
110
111
  e && e.length > 0 && e[0].classList.add("ab-iam-img-loading"),
111
- (l = window.setTimeout(() => {
112
- u(!1);
112
+ (c = window.setTimeout(() => {
113
+ b(!1);
113
114
  }, 6e4)),
114
115
  (o.onload = () => {
115
- u();
116
+ b();
116
117
  }),
117
118
  (o.onerror = () => {
118
- u(!1);
119
+ b(!1);
119
120
  });
120
121
  }
121
- h.appendChild(o);
122
+ j.appendChild(o);
122
123
  }
123
- c.appendChild(h), (p.className += " ab-with-image");
124
+ d.appendChild(j), (g.className += " ab-with-image");
124
125
  } else if (e.icon) {
125
- h.className += " ab-icon-area";
126
+ j.className += " ab-icon-area";
126
127
  const o = document.createElement("span");
127
128
  (o.className = "ab-icon"),
128
- e.ye() ||
129
- ((o.style.backgroundColor = me(e.iconBackgroundColor)),
130
- (o.style.color = me(e.iconColor)));
129
+ e.Ae() ||
130
+ ((o.style.backgroundColor = le(e.iconBackgroundColor)),
131
+ (o.style.color = le(e.iconColor)));
131
132
  const a = document.createElement("i");
132
133
  (a.className = "fa"),
133
134
  a.appendChild(document.createTextNode(e.icon)),
134
135
  a.setAttribute("aria-hidden", "true"),
135
136
  o.appendChild(a),
136
- h.appendChild(o),
137
- c.appendChild(h),
138
- (p.className += " ab-with-icon");
137
+ j.appendChild(o),
138
+ d.appendChild(j),
139
+ (g.className += " ab-with-icon");
139
140
  }
140
- if ((oe(p, "touchstart"), e.header && e.header.length > 0)) {
141
+ if ((oe(g, "touchstart"), e.header && e.header.length > 0)) {
141
142
  const o = document.createElement("h1");
142
- (o.className = "ab-message-header"), (e.Te = r.Z.Y()), (o.id = e.Te);
143
+ (o.className = "ab-message-header"), (e.De = r.Z.Y()), (o.id = e.De);
143
144
  const a = (
144
145
  e.headerAlignment || InAppMessage.TextAlignment.CENTER
145
146
  ).toLowerCase();
146
147
  (o.className += " " + a + "-aligned"),
147
- e.ye() || (o.style.color = me(e.headerTextColor)),
148
+ e.Ae() || (o.style.color = le(e.headerTextColor)),
148
149
  o.appendChild(document.createTextNode(e.header)),
149
- p.appendChild(o);
150
+ g.appendChild(o);
150
151
  }
151
- return p.appendChild(e.Be()), c.appendChild(p), f || d(), (e.qe = c), c;
152
- })(e, a, s, n, t, i);
152
+ return g.appendChild(e.Ge()), d.appendChild(g), h || u(), (e.Me = d), d;
153
+ })(e, a, t, n, s, i, u);
153
154
  if (e instanceof FullScreenMessage || e instanceof ModalMessage) {
154
155
  const o = e instanceof FullScreenMessage ? "ab-fullscreen" : "ab-modal";
155
- (u.className += ` ${o} ab-centered`),
156
- le.De(e, a, u, t),
157
- le.Ge(u),
158
- le.He(e.Te, u);
156
+ (b.className += ` ${o} ab-centered`),
157
+ ce.He(e, a, b, s),
158
+ ce.Je(b),
159
+ ce.Ke(e.De, b);
159
160
  } else if (e instanceof SlideUpMessage) {
160
- u.className += " ab-slideup";
161
- const o = u.getElementsByClassName("ab-close-button")[0];
161
+ b.className += " ab-slideup";
162
+ const o = b.getElementsByClassName("ab-close-button")[0];
162
163
  if (null != o) {
163
164
  const a = ae(
164
165
  "0 0 11.38 19.44",
165
166
  "M11.38 9.72l-9.33 9.72L0 17.3l7.27-7.58L0 2.14 2.05 0l9.33 9.72z",
166
- e.ye() ? void 0 : me(e.closeButtonColor)
167
+ e.Ae() ? void 0 : le(e.closeButtonColor),
167
168
  );
168
169
  a.setAttribute("class", "ab-chevron"), o.appendChild(a);
169
170
  }
170
- let a, s;
171
- d(u, c.W, e => {
172
- (u.className += " ab-swiped-left"),
171
+ let a, t;
172
+ d(b, c.W, (e) => {
173
+ (b.className += " ab-swiped-left"),
173
174
  null != o && null != o.onclick && o.onclick(e);
174
175
  }),
175
- d(u, c.X, e => {
176
- (u.className += " ab-swiped-right"),
176
+ d(b, c.X, (e) => {
177
+ (b.className += " ab-swiped-right"),
177
178
  null != o && null != o.onclick && o.onclick(e);
178
179
  }),
179
180
  e.slideFrom === InAppMessage.SlideFrom.TOP
180
- ? ((a = c.Je), (s = " ab-swiped-up"))
181
- : ((a = c.Ke), (s = " ab-swiped-down")),
182
- d(u, a, e => {
183
- (u.className += s), null != o && null != o.onclick && o.onclick(e);
181
+ ? ((a = c.Oe), (t = " ab-swiped-up"))
182
+ : ((a = c.Qe), (t = " ab-swiped-down")),
183
+ d(b, a, (e) => {
184
+ (b.className += t), null != o && null != o.onclick && o.onclick(e);
184
185
  });
185
186
  }
186
- return u;
187
+ return b;
187
188
  }
@@ -1,20 +1,20 @@
1
1
  import InAppMessage from "../models/in-app-message.js";
2
2
  import { _handleBrazeAction as m } from "../../Core/handle-braze-action.js";
3
3
  import { logInAppMessageButtonClick } from "../log-in-app-message-button-click.js";
4
- import { toRgba as me } from "../../util/color-utils.js";
4
+ import { toRgba as le } from "../../util/color-utils.js";
5
5
  import { addPassiveEventListener as oe } from "../../util/dom-utils.js";
6
6
  import { KeyCodes as lt } from "../../util/key-codes.js";
7
- const le = {
8
- Ge: t => {
7
+ const ce = {
8
+ Je: (t) => {
9
9
  const o = t.querySelectorAll(
10
- ".ab-close-button, .ab-message-text, .ab-message-button"
10
+ ".ab-close-button, .ab-message-text, .ab-message-button",
11
11
  );
12
12
  let e;
13
13
  for (let t = 0; t < o.length; t++) (e = o[t]), (e.tabIndex = 0);
14
14
  if (o.length > 0) {
15
15
  const e = o[0],
16
16
  s = o[o.length - 1];
17
- t.addEventListener("keydown", o => {
17
+ t.addEventListener("keydown", (o) => {
18
18
  const a = document.activeElement;
19
19
  o.keyCode === lt.oo &&
20
20
  (o.shiftKey || (a !== s && a !== t)
@@ -25,26 +25,26 @@ const le = {
25
25
  });
26
26
  }
27
27
  },
28
- He: (t, o) => {
28
+ Ke: (t, o) => {
29
29
  o.setAttribute("role", "dialog"),
30
30
  o.setAttribute("aria-modal", "true"),
31
31
  o.setAttribute("aria-label", "Modal Message"),
32
32
  t && o.setAttribute("aria-labelledby", t);
33
33
  },
34
- De: (t, o, e, s) => {
34
+ He: (t, o, e, s) => {
35
35
  if (t.buttons && t.buttons.length > 0) {
36
36
  const a = document.createElement("div");
37
37
  (a.className = "ab-message-buttons"), e.appendChild(a);
38
38
  const l = e.getElementsByClassName("ab-message-text")[0];
39
39
  null != l && (l.className += " ab-with-buttons");
40
- const n = a => l => (
41
- t.he(e, () => {
40
+ const n = (a) => (l) => (
41
+ t.ye(e, () => {
42
42
  logInAppMessageButtonClick(a, t),
43
43
  a.clickAction === InAppMessage.ClickAction.URI
44
44
  ? m(
45
45
  a.uri || "",
46
46
  s || t.openTarget === InAppMessage.OpenTarget.BLANK,
47
- l
47
+ l,
48
48
  )
49
49
  : a.clickAction === InAppMessage.ClickAction.NEWS_FEED && o();
50
50
  }),
@@ -60,14 +60,14 @@ const le = {
60
60
  let l = e.text;
61
61
  "" === e.text && (l = " "),
62
62
  s.appendChild(document.createTextNode(l)),
63
- t.ye() ||
64
- ((s.style.backgroundColor = me(e.backgroundColor)),
65
- (s.style.color = me(e.textColor)),
66
- (s.style.borderColor = me(e.borderColor))),
63
+ t.Ae() ||
64
+ ((s.style.backgroundColor = le(e.backgroundColor)),
65
+ (s.style.color = le(e.textColor)),
66
+ (s.style.borderColor = le(e.borderColor))),
67
67
  (s.onclick = n(e)),
68
68
  a.appendChild(s);
69
69
  }
70
70
  }
71
- }
71
+ },
72
72
  };
73
- export default le;
73
+ export default ce;
@@ -0,0 +1,5 @@
1
+ import e from "../managers/braze-instance.js";
2
+ import se from "./in-app-message-manager-factory.js";
3
+ export function getDeferredInAppMessage() {
4
+ if (e.rr()) return se.m().Re();
5
+ }
@@ -12,135 +12,155 @@ export function newInAppMessageFromJson(e) {
12
12
  let s = e.type;
13
13
  null != s && (s = s.toUpperCase());
14
14
  const o = e.message,
15
- m = e.text_align_message,
16
- l = e.slide_from,
17
- n = e.extras,
18
- t = e.trigger_id,
15
+ n = e.text_align_message,
16
+ m = e.slide_from,
17
+ t = e.extras,
18
+ l = e.trigger_id,
19
19
  i = e.click_action,
20
20
  f = e.uri,
21
21
  p = e.open_target,
22
22
  a = e.message_close,
23
- d = e.duration,
24
- u = e.icon,
23
+ u = e.duration,
24
+ d = e.icon,
25
25
  g = e.image_url,
26
- j = e.image_style,
27
- w = e.icon_color,
28
- c = e.icon_bg_color,
26
+ c = e.image_style,
27
+ j = e.icon_color,
28
+ w = e.icon_bg_color,
29
29
  b = e.bg_color,
30
30
  h = e.text_color,
31
31
  v = e.close_btn_color,
32
32
  I = e.header,
33
- k = e.text_align_header,
34
- x = e.header_text_color,
35
- y = e.frame_color,
36
- z = [];
37
- let A = e.btns;
38
- null == A && (A = []);
39
- for (let e = 0; e < A.length; e++) z.push(InAppMessageButton.fromJson(A[e]));
40
- const F = e.crop_type,
41
- J = e.orientation,
42
- M = e.animate_in,
43
- q = e.animate_out;
44
- let B,
45
- C = e.html_id,
46
- D = e.css;
33
+ x = e.text_align_header,
34
+ z = e.header_text_color,
35
+ A = e.frame_color,
36
+ F = [];
37
+ let M = e.btns;
38
+ null == M && (M = []);
39
+ for (let e = 0; e < M.length; e++) F.push(InAppMessageButton.fromJson(M[e]));
40
+ const k = e.crop_type,
41
+ y = e.orientation,
42
+ J = e.animate_in,
43
+ S = e.animate_out;
44
+ let q,
45
+ B = e.html_id,
46
+ C = e.css;
47
47
  if (
48
- ((null != C && "" !== C && null != D && "" !== D) ||
49
- ((C = void 0), (D = void 0)),
50
- s === ModalMessage.es || s === InAppMessage.Ee.Ne)
48
+ ((null != B && "" !== B && null != C && "" !== C) ||
49
+ ((B = void 0), (C = void 0)),
50
+ s === ModalMessage.es || s === InAppMessage.qe.Se)
51
51
  )
52
- B = new ModalMessage(
52
+ q = new ModalMessage(
53
53
  o,
54
- m,
55
54
  n,
56
55
  t,
56
+ l,
57
57
  i,
58
58
  f,
59
59
  p,
60
60
  a,
61
- d,
62
61
  u,
62
+ d,
63
63
  g,
64
+ c,
64
65
  j,
65
66
  w,
66
- c,
67
67
  b,
68
68
  h,
69
69
  v,
70
- M,
71
- q,
70
+ J,
71
+ S,
72
72
  I,
73
- k,
74
73
  x,
75
- y,
76
74
  z,
75
+ A,
77
76
  F,
77
+ k,
78
+ B,
78
79
  C,
79
- D
80
80
  );
81
81
  else if (s === FullScreenMessage.es)
82
- B = new FullScreenMessage(
82
+ q = new FullScreenMessage(
83
83
  o,
84
- m,
85
84
  n,
86
85
  t,
86
+ l,
87
87
  i,
88
88
  f,
89
89
  p,
90
90
  a,
91
- d,
92
91
  u,
92
+ d,
93
93
  g,
94
+ c,
94
95
  j,
95
96
  w,
96
- c,
97
97
  b,
98
98
  h,
99
99
  v,
100
- M,
101
- q,
100
+ J,
101
+ S,
102
102
  I,
103
- k,
104
103
  x,
105
- y,
106
104
  z,
105
+ A,
107
106
  F,
108
- J,
107
+ k,
108
+ y,
109
+ B,
109
110
  C,
110
- D
111
111
  );
112
112
  else if (s === SlideUpMessage.es)
113
- B = new SlideUpMessage(
113
+ q = new SlideUpMessage(
114
114
  o,
115
- m,
116
- l,
117
115
  n,
116
+ m,
118
117
  t,
118
+ l,
119
119
  i,
120
120
  f,
121
121
  p,
122
122
  a,
123
- d,
124
123
  u,
124
+ d,
125
125
  g,
126
+ j,
126
127
  w,
127
- c,
128
128
  b,
129
129
  h,
130
130
  v,
131
- M,
132
- q,
131
+ J,
132
+ S,
133
+ B,
133
134
  C,
134
- D
135
135
  );
136
136
  else {
137
- if (s !== HtmlMessage.es && s !== InAppMessage.Ee.Pe)
137
+ if (
138
+ s !== HtmlMessage.es &&
139
+ s !== InAppMessage.qe.Ee &&
140
+ s !== InAppMessage.qe.Ue
141
+ )
138
142
  return void r.j.error("Ignoring message with unknown type " + s);
139
143
  {
140
144
  const s = e.message_fields;
141
- (B = new HtmlMessage(o, n, t, a, d, M, q, y, C, D, s)),
142
- (B.trusted = e.trusted || !1);
145
+ (q = new HtmlMessage(o, t, l, a, u, J, S, A, B, C, s)),
146
+ (q.trusted = e.trusted || !1);
143
147
  }
144
148
  }
145
- return (B.Ce = s), B;
149
+ return (q.Pe = s), q;
150
+ }
151
+ export function buttonsFromSerializedInAppMessage(e) {
152
+ const s = [];
153
+ for (const o of e)
154
+ s.push(
155
+ new InAppMessageButton(
156
+ o.text,
157
+ o.backgroundColor,
158
+ o.textColor,
159
+ o.borderColor,
160
+ o.clickAction,
161
+ o.uri,
162
+ o.id,
163
+ ),
164
+ );
165
+ return s;
146
166
  }
@@ -1,16 +1,16 @@
1
1
  import aa from "./in-app-message-manager.js";
2
2
  import e from "../managers/braze-instance.js";
3
- const ea = {
3
+ const se = {
4
4
  i: null,
5
5
  t: !1,
6
6
  m: () => (
7
- ea.o(), ea.i || (ea.i = new aa(e.ar(), e.aa(), e.l(), e.ir())), ea.i
7
+ se.o(), se.i || (se.i = new aa(e.ar(), e.aa(), e.l(), e.ir())), se.i
8
8
  ),
9
9
  o: () => {
10
- ea.t || (e.g(ea), (ea.t = !0));
10
+ se.t || (e.g(se), (se.t = !0));
11
11
  },
12
12
  destroy: () => {
13
- (ea.i = null), (ea.t = !1);
14
- }
13
+ (se.i = null), (se.t = !1);
14
+ },
15
15
  };
16
- export default ea;
16
+ export default se;