@braze/web-sdk 4.2.1 → 4.4.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 (178) hide show
  1. package/index.d.ts +57 -6
  2. package/package.json +1 -1
  3. package/shared-lib/braze-shared-lib.js +8 -1
  4. package/shared-lib/encoding-utils.js +12 -1
  5. package/shared-lib/event-types.js +32 -1
  6. package/shared-lib/guid.js +10 -1
  7. package/shared-lib/indexed-db-adapter.js +315 -1
  8. package/shared-lib/logger.js +38 -1
  9. package/shared-lib/supported-options.js +26 -1
  10. package/src/Card/card-manager-factory.js +14 -1
  11. package/src/Card/card-manager.js +72 -1
  12. package/src/Card/display/card-display.js +134 -1
  13. package/src/Card/index.js +5 -1
  14. package/src/Card/log-card-click.js +11 -1
  15. package/src/Card/log-card-dismissal.js +11 -1
  16. package/src/Card/log-card-impressions.js +13 -1
  17. package/src/Card/log-content-card-impressions.js +4 -1
  18. package/src/Card/models/banner.js +30 -1
  19. package/src/Card/models/captioned-image.js +32 -1
  20. package/src/Card/models/card.js +174 -1
  21. package/src/Card/models/classic-card.js +32 -1
  22. package/src/Card/models/control-card.js +38 -1
  23. package/src/Card/models/index.js +5 -1
  24. package/src/Card/util/card-factory.js +104 -1
  25. package/src/ContentCards/content-cards-provider-factory.js +20 -1
  26. package/src/ContentCards/content-cards-provider.js +283 -1
  27. package/src/ContentCards/content-cards.js +24 -1
  28. package/src/ContentCards/get-cached-content-cards.js +5 -1
  29. package/src/ContentCards/index.js +8 -1
  30. package/src/ContentCards/log-content-cards-displayed.js +5 -1
  31. package/src/ContentCards/request-content-cards-refresh.js +5 -1
  32. package/src/ContentCards/subscribe-to-content-cards-updates.js +14 -1
  33. package/src/ContentCards/ui/hide-content-cards.js +8 -1
  34. package/src/ContentCards/ui/show-content-cards.js +72 -1
  35. package/src/ContentCards/ui/toggle-content-cards.js +8 -1
  36. package/src/Core/add-sdk-metadata.js +27 -1
  37. package/src/Core/braze-sdk-metadata.js +10 -1
  38. package/src/Core/change-user.js +19 -1
  39. package/src/Core/destroy.js +5 -1
  40. package/src/Core/device-properties.js +9 -1
  41. package/src/Core/disable-sdk.js +10 -1
  42. package/src/Core/enable-sdk.js +8 -1
  43. package/src/Core/get-device-id.js +10 -1
  44. package/src/Core/get-user.js +4 -1
  45. package/src/Core/handle-braze-action.js +64 -1
  46. package/src/Core/index.js +23 -1
  47. package/src/Core/initialize.js +4 -1
  48. package/src/Core/is-disabled.js +4 -1
  49. package/src/Core/log-custom-event.js +36 -1
  50. package/src/Core/log-purchase.js +245 -1
  51. package/src/Core/open-session.js +23 -1
  52. package/src/Core/remove-all-subscriptions.js +4 -1
  53. package/src/Core/remove-subscription.js +4 -1
  54. package/src/Core/request-immediate-data-flush.js +4 -1
  55. package/src/Core/set-logger.js +4 -1
  56. package/src/Core/set-sdk-authentication-signature.js +9 -1
  57. package/src/Core/subscribe-to-sdk-authentication-failures.js +4 -1
  58. package/src/Core/toggle-logging.js +4 -1
  59. package/src/Core/wipe-data.js +15 -1
  60. package/src/FeatureFlags/feature-flag-factory.js +14 -0
  61. package/src/FeatureFlags/feature-flag.js +16 -0
  62. package/src/FeatureFlags/feature-flags-provider-factory.js +19 -0
  63. package/src/FeatureFlags/feature-flags-provider.js +94 -0
  64. package/src/FeatureFlags/get-all-feature-flags.js +12 -0
  65. package/src/FeatureFlags/get-feature-flag.js +12 -0
  66. package/src/FeatureFlags/index.js +4 -0
  67. package/src/FeatureFlags/refresh-feature-flags.js +9 -0
  68. package/src/FeatureFlags/subscribe-to-feature-flags-updates.js +6 -0
  69. package/src/Feed/feed-provider-factory.js +18 -1
  70. package/src/Feed/feed-provider.js +79 -1
  71. package/src/Feed/feed.js +20 -1
  72. package/src/Feed/get-cached-feed.js +5 -1
  73. package/src/Feed/index.js +8 -1
  74. package/src/Feed/log-feed-displayed.js +5 -1
  75. package/src/Feed/request-feed-refresh.js +5 -1
  76. package/src/Feed/subscribe-to-feed-updates.js +5 -1
  77. package/src/Feed/ui/hide-feed.js +7 -1
  78. package/src/Feed/ui/show-feed.js +89 -1
  79. package/src/Feed/ui/toggle-feed.js +8 -1
  80. package/src/InAppMessage/display/get-animation-effect.js +19 -1
  81. package/src/InAppMessage/display/html-message-to-html.js +223 -1
  82. package/src/InAppMessage/display/in-app-message-to-html.js +152 -1
  83. package/src/InAppMessage/display/modal-utils.js +68 -1
  84. package/src/InAppMessage/in-app-message-factory.js +145 -1
  85. package/src/InAppMessage/in-app-message-manager-factory.js +16 -1
  86. package/src/InAppMessage/in-app-message-manager.js +189 -1
  87. package/src/InAppMessage/index.js +14 -1
  88. package/src/InAppMessage/log-in-app-message-button-click.js +19 -1
  89. package/src/InAppMessage/log-in-app-message-click.js +16 -1
  90. package/src/InAppMessage/log-in-app-message-html-click.js +23 -1
  91. package/src/InAppMessage/log-in-app-message-impression.js +13 -1
  92. package/src/InAppMessage/models/control-message.js +8 -1
  93. package/src/InAppMessage/models/full-screen-message.js +71 -1
  94. package/src/InAppMessage/models/html-message.js +54 -1
  95. package/src/InAppMessage/models/in-app-message-button.js +40 -1
  96. package/src/InAppMessage/models/in-app-message.js +267 -1
  97. package/src/InAppMessage/models/modal-message.js +68 -1
  98. package/src/InAppMessage/models/slide-up-message.js +58 -1
  99. package/src/InAppMessage/models/templated-in-app-message.js +14 -1
  100. package/src/InAppMessage/subscribe-to-in-app-message.js +10 -1
  101. package/src/InAppMessage/ui/automatically-show-in-app-messages.js +15 -1
  102. package/src/InAppMessage/ui/show-in-app-message.js +170 -1
  103. package/src/Push/index.js +5 -1
  104. package/src/Push/is-push-blocked.js +5 -1
  105. package/src/Push/is-push-permission-granted.js +5 -1
  106. package/src/Push/is-push-supported.js +5 -1
  107. package/src/Push/push-manager-factory.js +30 -1
  108. package/src/Push/push-manager.js +360 -1
  109. package/src/Push/request-push-permission.js +8 -1
  110. package/src/Push/unregister-push.js +5 -1
  111. package/src/Push/utils/push-utils.js +34 -1
  112. package/src/User/index.js +1 -1
  113. package/src/User/user-manager.js +70 -1
  114. package/src/User/user.js +278 -1
  115. package/src/common/base-feed.js +25 -1
  116. package/src/common/base-provider.js +6 -1
  117. package/src/common/constants.js +5 -1
  118. package/src/common/event-logger.js +24 -1
  119. package/src/common/feed-display.js +200 -1
  120. package/src/common/translations.js +148 -1
  121. package/src/index.js +9 -1
  122. package/src/l10n/l10n-manager-factory.js +22 -1
  123. package/src/l10n/l10n-manager.js +21 -1
  124. package/src/managers/auth-manager.js +48 -1
  125. package/src/managers/braze-instance.js +307 -1
  126. package/src/managers/device-manager.js +80 -1
  127. package/src/managers/network-manager.js +219 -1
  128. package/src/managers/server-config-manager.js +88 -1
  129. package/src/managers/session-manager.js +68 -1
  130. package/src/managers/storage-manager-factory.js +35 -1
  131. package/src/managers/storage-manager.js +394 -1
  132. package/src/managers/subscription-manager.js +25 -1
  133. package/src/models/backend-errors.js +8 -1
  134. package/src/models/braze-event.js +41 -1
  135. package/src/models/braze-sdk-metadata.js +10 -1
  136. package/src/models/device.js +26 -1
  137. package/src/models/identifier.js +20 -1
  138. package/src/models/push-token.js +22 -1
  139. package/src/models/request-result.js +8 -1
  140. package/src/models/server-config.js +32 -1
  141. package/src/request-controller.js +288 -1
  142. package/src/triggers/models/custom-event-data.js +14 -1
  143. package/src/triggers/models/custom-event-property-data.js +21 -1
  144. package/src/triggers/models/filter-set.js +55 -1
  145. package/src/triggers/models/filter.js +98 -1
  146. package/src/triggers/models/in-app-message-click-data.js +25 -1
  147. package/src/triggers/models/purchase-data.js +14 -1
  148. package/src/triggers/models/purchase-property-data.js +21 -1
  149. package/src/triggers/models/push-click-data.js +15 -1
  150. package/src/triggers/models/trigger-condition.js +109 -1
  151. package/src/triggers/models/trigger-events.js +8 -1
  152. package/src/triggers/models/trigger.js +110 -1
  153. package/src/triggers/triggers-provider-factory.js +30 -1
  154. package/src/triggers/triggers-provider.js +307 -1
  155. package/src/ui/js/attach-css.js +12 -1
  156. package/src/ui/js/feed-css.js +12 -1
  157. package/src/ui/js/iam-css.js +12 -1
  158. package/src/ui/js/index.js +3 -1
  159. package/src/ui/js/load-font-awesome.js +13 -1
  160. package/src/util/base-device-parser.js +14 -1
  161. package/src/util/braze-actions.js +79 -1
  162. package/src/util/browser-detector.js +85 -1
  163. package/src/util/client-hints-parser.js +60 -1
  164. package/src/util/code-utils.js +92 -1
  165. package/src/util/color-utils.js +23 -1
  166. package/src/util/component-utils.js +26 -1
  167. package/src/util/date-utils.js +27 -1
  168. package/src/util/deprecation-utils.js +5 -1
  169. package/src/util/device-constants.js +14 -1
  170. package/src/util/dom-utils.js +87 -1
  171. package/src/util/key-codes.js +1 -1
  172. package/src/util/math.js +5 -1
  173. package/src/util/net.js +75 -1
  174. package/src/util/string-utils.js +22 -1
  175. package/src/util/url-utils.js +23 -1
  176. package/src/util/user-agent-parser.js +85 -1
  177. package/src/util/validation-utils.js +136 -1
  178. package/src/util/window-utils.js +35 -1
@@ -1 +1,152 @@
1
- import{addPassiveEventListener as oe,buildSvg as ae,detectSwipe as d,DIRECTIONS as c}from"../../util/dom-utils.js";import{createCloseButton as i}from"../../util/component-utils.js";import{isTransparent as ie,toRgba as ne}from"../../util/color-utils.js";import FullScreenMessage from"../models/full-screen-message.js";import HtmlMessage from"../models/html-message.js";import InAppMessage from"../models/in-app-message.js";import ModalMessage from"../models/modal-message.js";import SlideUpMessage from"../models/slide-up-message.js";import{logInAppMessageClick}from"../log-in-app-message-click.js";import{_handleBrazeAction as m}from"../../Core/handle-braze-action.js";import rt from"./html-message-to-html.js";import me from"./modal-utils.js";import r from"../../../shared-lib/braze-shared-lib.js";export default function ce(e,o,s,t,a,n){if(e.he=document.activeElement,e instanceof HtmlMessage)return rt(e,o,s,t,a,n);const l=function(e,o,s,t,a){const n=document.createElement("div");n.className="ab-in-app-message ab-start-hidden ab-background",a&&(n.style.zIndex=a+1),e.we()&&(n.className+=" ab-modal-interactions",n.setAttribute("tabindex","-1")),e.sn()||(n.style.color=ne(e.textColor),n.style.backgroundColor=ne(e.backgroundColor),ie(e.backgroundColor)&&(n.className+=" ab-no-shadow"));const c=()=>{-1!==n.className.indexOf("ab-start-hidden")&&(n.className=n.className.replace("ab-start-hidden",""),s(n))};e.imageStyle===InAppMessage.ImageStyle.GRAPHIC&&(n.className+=" graphic"),e.orientation===InAppMessage.Orientation.LANDSCAPE&&(n.className+=" landscape"),0===e.buttons.length&&(e.clickAction!==InAppMessage.ClickAction.NONE&&(n.className+=" ab-clickable"),n.onclick=s=>(e.on(n,(()=>{logInAppMessageClick(e),e.clickAction===InAppMessage.ClickAction.URI?m(e.uri,s,t||e.openTarget===InAppMessage.OpenTarget.BLANK):e.clickAction===InAppMessage.ClickAction.NEWS_FEED&&o()})),s.stopPropagation(),!1));const l=i("Close Message",e.sn()?void 0:ne(e.closeButtonColor),(()=>{e.on(n)}));n.appendChild(l),a&&(l.style.zIndex=a+2);const d=document.createElement("div");d.className="ab-message-text";const u=(e.messageAlignment||e.ke).toLowerCase();d.className+=" "+u+"-aligned";let b=!1;const f=document.createElement("div");if(f.className="ab-image-area",e.imageUrl){if(e.cropType===InAppMessage.CropType.CENTER_CROP){const o=document.createElement("span");o.className="ab-center-cropped-img",o.style.backgroundImage="url("+e.imageUrl+")",o.setAttribute("role","img"),o.setAttribute("aria-label","Modal Image"),e.xe(o),f.appendChild(o)}else{const o=document.createElement("img");o.setAttribute("src",e.imageUrl),e.xe(o),b=!0,o.onload=c,setTimeout(c,1e3),f.appendChild(o)}n.appendChild(f),d.className+=" ab-with-image"}else if(e.icon){f.className+=" ab-icon-area";const o=document.createElement("span");o.className="ab-icon",e.sn()||(o.style.backgroundColor=ne(e.iconBackgroundColor),o.style.color=ne(e.iconColor));const s=document.createElement("i");s.className="fa",s.appendChild(document.createTextNode(e.icon)),s.setAttribute("aria-hidden",!0),o.appendChild(s),f.appendChild(o),n.appendChild(f),d.className+=" ab-with-icon"}if(oe(d,"touchstart",(function(){})),e.header&&e.header.length>0){const o=document.createElement("h1");o.className="ab-message-header",e.ze=r.it.nt(),o.id=e.ze;const s=(e.headerAlignment||InAppMessage.TextAlignment.CENTER).toLowerCase();o.className+=" "+s+"-aligned",e.sn()||(o.style.color=ne(e.headerTextColor)),o.appendChild(document.createTextNode(e.header)),d.appendChild(o)}return d.appendChild(e.Me()),n.appendChild(d),b||c(),e.mn=n,n}(e,o,s,t,a);if(e instanceof FullScreenMessage||e instanceof ModalMessage){const s=e instanceof FullScreenMessage?"ab-fullscreen":"ab-modal";l.className+=` ${s} ab-centered`,me.Ce(e,o,l,t),me.Le(l),me.Ie(e.ze,l)}else if(e instanceof SlideUpMessage){l.className+=" ab-slideup";const o=l.getElementsByClassName("ab-close-button")[0];if(null!=o){const s=ae("0 0 11.38 19.44","M11.38 9.72l-9.33 9.72L0 17.3l7.27-7.58L0 2.14 2.05 0l9.33 9.72z",e.sn()?void 0:ne(e.closeButtonColor));s.setAttribute("class","ab-chevron"),o.appendChild(s)}let s,t;d(l,c.ot,(e=>{l.className+=" ab-swiped-left",o.onclick(e)})),d(l,c.et,(e=>{l.className+=" ab-swiped-right",o.onclick(e)})),e.slideFrom===InAppMessage.SlideFrom.TOP?(s=c.Te,t=" ab-swiped-up"):(s=c.$e,t=" ab-swiped-down"),d(l,s,(e=>{l.className+=t,o.onclick(e)}))}return l}
1
+ import {
2
+ addPassiveEventListener as oe,
3
+ buildSvg as ae,
4
+ detectSwipe as d,
5
+ DIRECTIONS as c
6
+ } from "../../util/dom-utils.js";
7
+ import { createCloseButton as i } from "../../util/component-utils.js";
8
+ import { isTransparent as ne, toRgba as me } from "../../util/color-utils.js";
9
+ import FullScreenMessage from "../models/full-screen-message.js";
10
+ import HtmlMessage from "../models/html-message.js";
11
+ import InAppMessage from "../models/in-app-message.js";
12
+ import ModalMessage from "../models/modal-message.js";
13
+ import SlideUpMessage from "../models/slide-up-message.js";
14
+ import { logInAppMessageClick } from "../log-in-app-message-click.js";
15
+ import { _handleBrazeAction as m } from "../../Core/handle-braze-action.js";
16
+ import ut from "./html-message-to-html.js";
17
+ import ce from "./modal-utils.js";
18
+ import r from "../../../shared-lib/braze-shared-lib.js";
19
+ export default function le(e, o, s, t, a, n) {
20
+ if (((e.ke = document.activeElement), e instanceof HtmlMessage))
21
+ return ut(e, o, s, t, a, n);
22
+ const l = (function(e, o, s, t, a) {
23
+ const n = document.createElement("div");
24
+ (n.className = "ab-in-app-message ab-start-hidden ab-background"),
25
+ a && (n.style.zIndex = a + 1),
26
+ e.Me() &&
27
+ ((n.className += " ab-modal-interactions"),
28
+ n.setAttribute("tabindex", "-1")),
29
+ e.sn() ||
30
+ ((n.style.color = me(e.textColor)),
31
+ (n.style.backgroundColor = me(e.backgroundColor)),
32
+ ne(e.backgroundColor) && (n.className += " ab-no-shadow"));
33
+ const c = () => {
34
+ -1 !== n.className.indexOf("ab-start-hidden") &&
35
+ ((n.className = n.className.replace("ab-start-hidden", "")), s(n));
36
+ };
37
+ e.imageStyle === InAppMessage.ImageStyle.GRAPHIC &&
38
+ (n.className += " graphic"),
39
+ e.orientation === InAppMessage.Orientation.LANDSCAPE &&
40
+ (n.className += " landscape"),
41
+ 0 === e.buttons.length &&
42
+ (e.clickAction !== InAppMessage.ClickAction.NONE &&
43
+ (n.className += " ab-clickable"),
44
+ (n.onclick = s => (
45
+ e.on(n, () => {
46
+ logInAppMessageClick(e),
47
+ e.clickAction === InAppMessage.ClickAction.URI
48
+ ? m(
49
+ e.uri,
50
+ s,
51
+ t || e.openTarget === InAppMessage.OpenTarget.BLANK
52
+ )
53
+ : e.clickAction === InAppMessage.ClickAction.NEWS_FEED && o();
54
+ }),
55
+ s.stopPropagation(),
56
+ !1
57
+ )));
58
+ const l = i(
59
+ "Close Message",
60
+ e.sn() ? void 0 : me(e.closeButtonColor),
61
+ () => {
62
+ e.on(n);
63
+ }
64
+ );
65
+ n.appendChild(l), a && (l.style.zIndex = a + 2);
66
+ const d = document.createElement("div");
67
+ d.className = "ab-message-text";
68
+ const u = (e.messageAlignment || e.Ce).toLowerCase();
69
+ d.className += " " + u + "-aligned";
70
+ let b = !1;
71
+ const f = document.createElement("div");
72
+ if (((f.className = "ab-image-area"), e.imageUrl)) {
73
+ if (e.cropType === InAppMessage.CropType.CENTER_CROP) {
74
+ const o = document.createElement("span");
75
+ (o.className = "ab-center-cropped-img"),
76
+ (o.style.backgroundImage = "url(" + e.imageUrl + ")"),
77
+ o.setAttribute("role", "img"),
78
+ o.setAttribute("aria-label", "Modal Image"),
79
+ e.Le(o),
80
+ f.appendChild(o);
81
+ } else {
82
+ const o = document.createElement("img");
83
+ o.setAttribute("src", e.imageUrl),
84
+ e.Le(o),
85
+ (b = !0),
86
+ (o.onload = c),
87
+ setTimeout(c, 1e3),
88
+ f.appendChild(o);
89
+ }
90
+ n.appendChild(f), (d.className += " ab-with-image");
91
+ } else if (e.icon) {
92
+ f.className += " ab-icon-area";
93
+ const o = document.createElement("span");
94
+ (o.className = "ab-icon"),
95
+ e.sn() ||
96
+ ((o.style.backgroundColor = me(e.iconBackgroundColor)),
97
+ (o.style.color = me(e.iconColor)));
98
+ const s = document.createElement("i");
99
+ (s.className = "fa"),
100
+ s.appendChild(document.createTextNode(e.icon)),
101
+ s.setAttribute("aria-hidden", !0),
102
+ o.appendChild(s),
103
+ f.appendChild(o),
104
+ n.appendChild(f),
105
+ (d.className += " ab-with-icon");
106
+ }
107
+ if ((oe(d, "touchstart", function() {}), e.header && e.header.length > 0)) {
108
+ const o = document.createElement("h1");
109
+ (o.className = "ab-message-header"), (e.Ie = r.it.nt()), (o.id = e.Ie);
110
+ const s = (
111
+ e.headerAlignment || InAppMessage.TextAlignment.CENTER
112
+ ).toLowerCase();
113
+ (o.className += " " + s + "-aligned"),
114
+ e.sn() || (o.style.color = me(e.headerTextColor)),
115
+ o.appendChild(document.createTextNode(e.header)),
116
+ d.appendChild(o);
117
+ }
118
+ return d.appendChild(e.Ae()), n.appendChild(d), b || c(), (e.mn = n), n;
119
+ })(e, o, s, t, a);
120
+ if (e instanceof FullScreenMessage || e instanceof ModalMessage) {
121
+ const s = e instanceof FullScreenMessage ? "ab-fullscreen" : "ab-modal";
122
+ (l.className += ` ${s} ab-centered`),
123
+ ce.Be(e, o, l, t),
124
+ ce.Ee(l),
125
+ ce.Ge(e.Ie, l);
126
+ } else if (e instanceof SlideUpMessage) {
127
+ l.className += " ab-slideup";
128
+ const o = l.getElementsByClassName("ab-close-button")[0];
129
+ if (null != o) {
130
+ const s = ae(
131
+ "0 0 11.38 19.44",
132
+ "M11.38 9.72l-9.33 9.72L0 17.3l7.27-7.58L0 2.14 2.05 0l9.33 9.72z",
133
+ e.sn() ? void 0 : me(e.closeButtonColor)
134
+ );
135
+ s.setAttribute("class", "ab-chevron"), o.appendChild(s);
136
+ }
137
+ let s, t;
138
+ d(l, c.ot, e => {
139
+ (l.className += " ab-swiped-left"), o.onclick(e);
140
+ }),
141
+ d(l, c.et, e => {
142
+ (l.className += " ab-swiped-right"), o.onclick(e);
143
+ }),
144
+ e.slideFrom === InAppMessage.SlideFrom.TOP
145
+ ? ((s = c.He), (t = " ab-swiped-up"))
146
+ : ((s = c.Je), (t = " ab-swiped-down")),
147
+ d(l, s, e => {
148
+ (l.className += t), o.onclick(e);
149
+ });
150
+ }
151
+ return l;
152
+ }
@@ -1 +1,68 @@
1
- import InAppMessage from"../models/in-app-message.js";import{_handleBrazeAction as m}from"../../Core/handle-braze-action.js";import{logInAppMessageButtonClick}from"../log-in-app-message-button-click.js";import{toRgba as ne}from"../../util/color-utils.js";import{addPassiveEventListener as oe}from"../../util/dom-utils.js";import{KeyCodes as at}from"../../util/key-codes.js";const me={Le:t=>{const o=t.querySelectorAll(".ab-close-button, .ab-message-text, .ab-message-button");for(let t=0;t<o.length;t++)o[t].tabIndex=0;if(o.length>0){const e=o[0],s=o[o.length-1];t.addEventListener("keydown",(o=>{var a=document.activeElement;o.keyCode===at.oo&&(o.shiftKey||a!==s&&a!==t?!o.shiftKey||a!==e&&a!==t||(o.preventDefault(),s.focus()):(o.preventDefault(),e.focus()))}))}},Ie:(t,o)=>{o.setAttribute("role","dialog"),o.setAttribute("aria-modal",!0),o.setAttribute("aria-label","Modal Message"),t&&o.setAttribute("aria-labelledby",t)},Ce:(t,o,e,s)=>{if(t.buttons.length>0){const a=document.createElement("div");a.className="ab-message-buttons",e.appendChild(a);const l=e.getElementsByClassName("ab-message-text")[0];null!=l&&(l.className+=" ab-with-buttons");const n=a=>l=>(t.on(e,(()=>{logInAppMessageButtonClick(a,t),a.clickAction===InAppMessage.ClickAction.URI?m(a.uri,l,s||t.openTarget===InAppMessage.OpenTarget.BLANK):a.clickAction===InAppMessage.ClickAction.NEWS_FEED&&o()})),l.stopPropagation(),!1);for(let o=0;o<t.buttons.length;o++){const e=t.buttons[o],s=document.createElement("button");s.className="ab-message-button",s.setAttribute("type","button"),oe(s,"touchstart",(function(){}));let l=e.text;""===e.text&&(l=" "),s.appendChild(document.createTextNode(l)),t.sn()||(s.style.backgroundColor=ne(e.backgroundColor),s.style.color=ne(e.textColor),s.style.borderColor=ne(e.borderColor)),s.onclick=n(e),a.appendChild(s)}}}};export default me;
1
+ import InAppMessage from "../models/in-app-message.js";
2
+ import { _handleBrazeAction as m } from "../../Core/handle-braze-action.js";
3
+ import { logInAppMessageButtonClick } from "../log-in-app-message-button-click.js";
4
+ import { toRgba as me } from "../../util/color-utils.js";
5
+ import { addPassiveEventListener as oe } from "../../util/dom-utils.js";
6
+ import { KeyCodes as at } from "../../util/key-codes.js";
7
+ const ce = {
8
+ Ee: t => {
9
+ const o = t.querySelectorAll(
10
+ ".ab-close-button, .ab-message-text, .ab-message-button"
11
+ );
12
+ for (let t = 0; t < o.length; t++) o[t].tabIndex = 0;
13
+ if (o.length > 0) {
14
+ const e = o[0],
15
+ s = o[o.length - 1];
16
+ t.addEventListener("keydown", o => {
17
+ var a = document.activeElement;
18
+ o.keyCode === at.oo &&
19
+ (o.shiftKey || (a !== s && a !== t)
20
+ ? !o.shiftKey ||
21
+ (a !== e && a !== t) ||
22
+ (o.preventDefault(), s.focus())
23
+ : (o.preventDefault(), e.focus()));
24
+ });
25
+ }
26
+ },
27
+ Ge: (t, o) => {
28
+ o.setAttribute("role", "dialog"),
29
+ o.setAttribute("aria-modal", !0),
30
+ o.setAttribute("aria-label", "Modal Message"),
31
+ t && o.setAttribute("aria-labelledby", t);
32
+ },
33
+ Be: (t, o, e, s) => {
34
+ if (t.buttons.length > 0) {
35
+ const a = document.createElement("div");
36
+ (a.className = "ab-message-buttons"), e.appendChild(a);
37
+ const l = e.getElementsByClassName("ab-message-text")[0];
38
+ null != l && (l.className += " ab-with-buttons");
39
+ const n = a => l => (
40
+ t.on(e, () => {
41
+ logInAppMessageButtonClick(a, t),
42
+ a.clickAction === InAppMessage.ClickAction.URI
43
+ ? m(a.uri, l, s || t.openTarget === InAppMessage.OpenTarget.BLANK)
44
+ : a.clickAction === InAppMessage.ClickAction.NEWS_FEED && o();
45
+ }),
46
+ l.stopPropagation(),
47
+ !1
48
+ );
49
+ for (let o = 0; o < t.buttons.length; o++) {
50
+ const e = t.buttons[o],
51
+ s = document.createElement("button");
52
+ (s.className = "ab-message-button"),
53
+ s.setAttribute("type", "button"),
54
+ oe(s, "touchstart", function() {});
55
+ let l = e.text;
56
+ "" === e.text && (l = " "),
57
+ s.appendChild(document.createTextNode(l)),
58
+ t.sn() ||
59
+ ((s.style.backgroundColor = me(e.backgroundColor)),
60
+ (s.style.color = me(e.textColor)),
61
+ (s.style.borderColor = me(e.borderColor))),
62
+ (s.onclick = n(e)),
63
+ a.appendChild(s);
64
+ }
65
+ }
66
+ }
67
+ };
68
+ export default ce;
@@ -1 +1,145 @@
1
- import InAppMessage from"./models/in-app-message.js";import ControlMessage from"./models/control-message.js";import FullScreenMessage from"./models/full-screen-message.js";import HtmlMessage from"./models/html-message.js";import InAppMessageButton from"./models/in-app-message-button.js";import ModalMessage from"./models/modal-message.js";import SlideUpMessage from"./models/slide-up-message.js";import r from"../../shared-lib/braze-shared-lib.js";export function newInAppMessageFromJson(e){if(e.is_control)return ControlMessage.fromJson(e);let s=e.type;null!=s&&(s=s.toUpperCase());const o=e.message,m=e.text_align_message,l=e.slide_from,n=e.extras,t=e.trigger_id,i=e.click_action,p=e.uri,f=e.open_target,a=e.message_close,d=e.duration,u=e.icon,g=e.image_url,j=e.image_style,w=e.icon_color,c=e.icon_bg_color,b=e.bg_color,h=e.text_color,v=e.close_btn_color,I=e.header,k=e.text_align_header,x=e.header_text_color,y=e.frame_color,z=[];let A=e.btns;null==A&&(A=[]);for(let e=0;e<A.length;e++)z.push(InAppMessageButton.fromJson(A[e]));const F=e.crop_type,J=e.orientation,M=e.animate_in,q=e.animate_out;let B,C=e.html_id,D=e.css;if(null!=C&&""!==C&&null!=D&&""!==D||(C=void 0,D=void 0),s===ModalMessage.es||s===InAppMessage.es.ye)B=new ModalMessage(o,m,n,t,i,p,f,a,d,u,g,j,w,c,b,h,v,M,q,I,k,x,y,z,F,C,D);else if(s===FullScreenMessage.es)B=new FullScreenMessage(o,m,n,t,i,p,f,a,d,u,g,j,w,c,b,h,v,M,q,I,k,x,y,z,F,J,C,D);else if(s===SlideUpMessage.es)B=new SlideUpMessage(o,m,l,n,t,i,p,f,a,d,u,g,w,c,b,h,v,M,q,C,D);else{if(s!==HtmlMessage.es&&s!==InAppMessage.es.cn)return void r.D.error("Ignoring message with unknown type "+s);{const s=e.message_fields;B=new HtmlMessage(o,n,t,a,d,M,q,y,C,D,s),B.trusted=e.trusted||!1}}return B.un=s,B}
1
+ import InAppMessage from "./models/in-app-message.js";
2
+ import ControlMessage from "./models/control-message.js";
3
+ import FullScreenMessage from "./models/full-screen-message.js";
4
+ import HtmlMessage from "./models/html-message.js";
5
+ import InAppMessageButton from "./models/in-app-message-button.js";
6
+ import ModalMessage from "./models/modal-message.js";
7
+ import SlideUpMessage from "./models/slide-up-message.js";
8
+ import r from "../../shared-lib/braze-shared-lib.js";
9
+ export function newInAppMessageFromJson(e) {
10
+ if (e.is_control) return ControlMessage.fromJson(e);
11
+ let s = e.type;
12
+ null != s && (s = s.toUpperCase());
13
+ const o = e.message,
14
+ m = e.text_align_message,
15
+ l = e.slide_from,
16
+ n = e.extras,
17
+ t = e.trigger_id,
18
+ i = e.click_action,
19
+ p = e.uri,
20
+ f = e.open_target,
21
+ a = e.message_close,
22
+ d = e.duration,
23
+ u = e.icon,
24
+ g = e.image_url,
25
+ j = e.image_style,
26
+ w = e.icon_color,
27
+ c = e.icon_bg_color,
28
+ b = e.bg_color,
29
+ h = e.text_color,
30
+ v = e.close_btn_color,
31
+ I = e.header,
32
+ k = e.text_align_header,
33
+ x = e.header_text_color,
34
+ y = e.frame_color,
35
+ z = [];
36
+ let A = e.btns;
37
+ null == A && (A = []);
38
+ for (let e = 0; e < A.length; e++) z.push(InAppMessageButton.fromJson(A[e]));
39
+ const F = e.crop_type,
40
+ J = e.orientation,
41
+ M = e.animate_in,
42
+ q = e.animate_out;
43
+ let B,
44
+ C = e.html_id,
45
+ D = e.css;
46
+ if (
47
+ ((null != C && "" !== C && null != D && "" !== D) ||
48
+ ((C = void 0), (D = void 0)),
49
+ s === ModalMessage.es || s === InAppMessage.es.Ke)
50
+ )
51
+ B = new ModalMessage(
52
+ o,
53
+ m,
54
+ n,
55
+ t,
56
+ i,
57
+ p,
58
+ f,
59
+ a,
60
+ d,
61
+ u,
62
+ g,
63
+ j,
64
+ w,
65
+ c,
66
+ b,
67
+ h,
68
+ v,
69
+ M,
70
+ q,
71
+ I,
72
+ k,
73
+ x,
74
+ y,
75
+ z,
76
+ F,
77
+ C,
78
+ D
79
+ );
80
+ else if (s === FullScreenMessage.es)
81
+ B = new FullScreenMessage(
82
+ o,
83
+ m,
84
+ n,
85
+ t,
86
+ i,
87
+ p,
88
+ f,
89
+ a,
90
+ d,
91
+ u,
92
+ g,
93
+ j,
94
+ w,
95
+ c,
96
+ b,
97
+ h,
98
+ v,
99
+ M,
100
+ q,
101
+ I,
102
+ k,
103
+ x,
104
+ y,
105
+ z,
106
+ F,
107
+ J,
108
+ C,
109
+ D
110
+ );
111
+ else if (s === SlideUpMessage.es)
112
+ B = new SlideUpMessage(
113
+ o,
114
+ m,
115
+ l,
116
+ n,
117
+ t,
118
+ i,
119
+ p,
120
+ f,
121
+ a,
122
+ d,
123
+ u,
124
+ g,
125
+ w,
126
+ c,
127
+ b,
128
+ h,
129
+ v,
130
+ M,
131
+ q,
132
+ C,
133
+ D
134
+ );
135
+ else {
136
+ if (s !== HtmlMessage.es && s !== InAppMessage.es.cn)
137
+ return void r.D.error("Ignoring message with unknown type " + s);
138
+ {
139
+ const s = e.message_fields;
140
+ (B = new HtmlMessage(o, n, t, a, d, M, q, y, C, D, s)),
141
+ (B.trusted = e.trusted || !1);
142
+ }
143
+ }
144
+ return (B.un = s), B;
145
+ }
@@ -1 +1,16 @@
1
- import ge from"./in-app-message-manager.js";import e from"../managers/braze-instance.js";const pe={Ae:null,t:!1,m:()=>(pe.o(),pe.Ae||(pe.Ae=new ge(e.nr(),e.g(),e.l(),e.p())),pe.Ae),o:()=>{pe.t||(e.u(pe),pe.t=!0)},destroy:()=>{pe.Ae=null,pe.t=!1}};export default pe;
1
+ import ge from "./in-app-message-manager.js";
2
+ import e from "../managers/braze-instance.js";
3
+ const pe = {
4
+ Oe: null,
5
+ t: !1,
6
+ m: () => (
7
+ pe.o(), pe.Oe || (pe.Oe = new ge(e.nr(), e.g(), e.l(), e.p())), pe.Oe
8
+ ),
9
+ o: () => {
10
+ pe.t || (e.u(pe), (pe.t = !0));
11
+ },
12
+ destroy: () => {
13
+ (pe.Oe = null), (pe.t = !1);
14
+ }
15
+ };
16
+ export default pe;
@@ -1 +1,189 @@
1
- import b from"../util/net.js";import e from"../managers/braze-instance.js";import ControlMessage from"./models/control-message.js";import HtmlMessage from"./models/html-message.js";import InAppMessage from"./models/in-app-message.js";import InAppMessageButton from"./models/in-app-message-button.js";import s from"../common/event-logger.js";import{newInAppMessageFromJson as it}from"./in-app-message-factory.js";import{randomInclusive as lt}from"../util/math.js";import t from"../models/request-result.js";import r from"../../shared-lib/braze-shared-lib.js";import u from"../managers/subscription-manager.js";import ut from"../triggers/models/trigger.js";import{validateValueIsFromEnum as F}from"../util/code-utils.js";import{BRAZE_ACTION_URI_REGEX as O}from"../util/validation-utils.js";import{containsPushPrimerBrazeAction as pt,containsUnknownBrazeAction as mt,getDecodedBrazeAction as J,ineligibleBrazeActionURLErrorMessage as gt,INELIGIBLE_BRAZE_ACTION_URL_ERROR_TYPES as ct}from"../util/braze-actions.js";import ht from"../Push/utils/push-utils.js";export default class ge{constructor(t,s,i,r){this.vt=t,this.j=s,this.h=i,this.v=r,this.De=new u,e.jt(this.De),this._e=1e3,this.Se=6e4}Be(){return this.De}Ee(t){return this.De.ut(t)}Fe(){return this.Ge}Ne(t){this.Ge=t}qe(e,i){if(!F(InAppMessage.Oe,i,`${i} is not a valid in-app message display failure`,"InAppMessage.DisplayFailures"))return new t;const n={trigger_ids:[e],error_code:i};return s.G(r.A.Pe,n)}G(e,i,n,o){const a=new t;let l;if(e instanceof ControlMessage)l={trigger_ids:[e.triggerId]};else{if(i===r.A.Re||e instanceof HtmlMessage&&i===r.A.He){if(!e.k(o))return r.D.info("This in-app message has already received a click. Ignoring analytics event."),a}else if(i===r.A.Je){if(!e.R())return r.D.info("This in-app message has already received an impression. Ignoring analytics event."),a}l=this.Ke(e)}return null==l?a:(null!=n&&(l.bid=n),s.G(i,l))}Qe(e,i){const n=new t;if(!e.k())return r.D.info("This in-app message button has already received a click. Ignoring analytics event."),n;const o=this.Ke(i);return null==o?n:e.id===InAppMessageButton.Ue?(r.D.info("This in-app message button does not have a tracking id. Not logging event to Braze servers."),n):(null!=e.id&&(o.bid=e.id),s.G(r.A.He,o))}Ve(t){if(!(t instanceof InAppMessage))return;const s=t=>{const s=J(t);return mt(s)?gt(ct.We,"In-App Message"):pt(s)&&!ht.Xe()?gt(ct.Ye,"In-App Message"):void 0},e=t.buttons;let i;for(const t of e)if(t.clickAction===InAppMessage.ClickAction.URI&&O.test(t.uri)&&(i=s(t.uri),i))return i;return t.clickAction===InAppMessage.ClickAction.URI&&O.test(t.uri)?s(t.uri):void 0}Ze(t,s,e,i){let n=this.vt.ni(!1,!1);n=this.vt.Ps(n),n.template={trigger_id:t.triggerId,trigger_event_type:s},null!=e&&(n.template.data=e.li());const o=this.vt.Bs(n);this.vt.Gs(n,(()=>{b.Hs({url:`${this.vt.Ks()}/template/`,data:n,headers:o,S:async s=>{if(!this.vt.Os(n,s,o))return this.qe(t.triggerId,InAppMessage.Oe.ui),void("function"==typeof t.pi&&t.pi());if(this.vt.Qs(),null==s||null==s.templated_message)return void this.qe(t.triggerId,InAppMessage.Oe.ui);const e=s.templated_message;if(e.type!==ut.gi.mi)return void this.qe(t.triggerId,InAppMessage.Oe.ci);const i=it(e.data);if(null==i)return void this.qe(t.triggerId,InAppMessage.Oe.ci);let a=this.Ve(i);if(a)return r.D.error(a),void("function"==typeof t.pi&&t.pi());"function"==typeof t.fi?t.fi(i):this.qe(t.triggerId,InAppMessage.Oe.ui)},error:r=>{let n=`getting user personalization for message ${t.triggerId}`;if((new Date).valueOf()-t.di>t.vi)this.qe(t.triggerId,InAppMessage.Oe.ui);else{const r=Math.min(t.vi,this.Se),o=this._e;null==i&&(i=o);const a=Math.min(r,lt(o,3*i));n+=`. Retrying in ${a} ms`,setTimeout((()=>{this.Ze(t,s,e,a)}),a)}this.vt.Vs(r,n)}})}))}Ke(t){if(null==t.triggerId)return r.D.info("The in-app message has no analytics id. Not logging event to Braze servers."),null;const s={};return null!=t.triggerId&&(s.trigger_ids=[t.triggerId]),s}}
1
+ import b from "../util/net.js";
2
+ import e from "../managers/braze-instance.js";
3
+ import ControlMessage from "./models/control-message.js";
4
+ import HtmlMessage from "./models/html-message.js";
5
+ import InAppMessage from "./models/in-app-message.js";
6
+ import InAppMessageButton from "./models/in-app-message-button.js";
7
+ import s from "../common/event-logger.js";
8
+ import { newInAppMessageFromJson as lt } from "./in-app-message-factory.js";
9
+ import { randomInclusive as pt } from "../util/math.js";
10
+ import t from "../models/request-result.js";
11
+ import r from "../../shared-lib/braze-shared-lib.js";
12
+ import u from "../managers/subscription-manager.js";
13
+ import mt from "../triggers/models/trigger.js";
14
+ import { validateValueIsFromEnum as F } from "../util/code-utils.js";
15
+ import { BRAZE_ACTION_URI_REGEX as O } from "../util/validation-utils.js";
16
+ import {
17
+ containsPushPrimerBrazeAction as gt,
18
+ containsUnknownBrazeAction as ct,
19
+ getDecodedBrazeAction as J,
20
+ ineligibleBrazeActionURLErrorMessage as ht,
21
+ INELIGIBLE_BRAZE_ACTION_URL_ERROR_TYPES as ft
22
+ } from "../util/braze-actions.js";
23
+ import dt from "../Push/utils/push-utils.js";
24
+ export default class ge {
25
+ constructor(t, s, i, r) {
26
+ (this.vt = t),
27
+ (this.j = s),
28
+ (this.h = i),
29
+ (this.v = r),
30
+ (this.Pe = new u()),
31
+ e.jt(this.Pe),
32
+ (this.Qe = 1e3),
33
+ (this.Ue = 6e4);
34
+ }
35
+ Ve() {
36
+ return this.Pe;
37
+ }
38
+ We(t) {
39
+ return this.Pe.ut(t);
40
+ }
41
+ Xe() {
42
+ return this.Ye;
43
+ }
44
+ Ze(t) {
45
+ this.Ye = t;
46
+ }
47
+ ni(e, i) {
48
+ if (
49
+ !F(
50
+ InAppMessage.li,
51
+ i,
52
+ `${i} is not a valid in-app message display failure`,
53
+ "InAppMessage.DisplayFailures"
54
+ )
55
+ )
56
+ return new t();
57
+ const n = { trigger_ids: [e], error_code: i };
58
+ return s.G(r.A.ui, n);
59
+ }
60
+ G(e, i, n, o) {
61
+ const a = new t();
62
+ let l;
63
+ if (e instanceof ControlMessage) l = { trigger_ids: [e.triggerId] };
64
+ else {
65
+ if (i === r.A.pi || (e instanceof HtmlMessage && i === r.A.mi)) {
66
+ if (!e.k(o))
67
+ return (
68
+ r.D.info(
69
+ "This in-app message has already received a click. Ignoring analytics event."
70
+ ),
71
+ a
72
+ );
73
+ } else if (i === r.A.gi) {
74
+ if (!e.R())
75
+ return (
76
+ r.D.info(
77
+ "This in-app message has already received an impression. Ignoring analytics event."
78
+ ),
79
+ a
80
+ );
81
+ }
82
+ l = this.ci(e);
83
+ }
84
+ return null == l ? a : (null != n && (l.bid = n), s.G(i, l));
85
+ }
86
+ fi(e, i) {
87
+ const n = new t();
88
+ if (!e.k())
89
+ return (
90
+ r.D.info(
91
+ "This in-app message button has already received a click. Ignoring analytics event."
92
+ ),
93
+ n
94
+ );
95
+ const o = this.ci(i);
96
+ return null == o
97
+ ? n
98
+ : e.id === InAppMessageButton.di
99
+ ? (r.D.info(
100
+ "This in-app message button does not have a tracking id. Not logging event to Braze servers."
101
+ ),
102
+ n)
103
+ : (null != e.id && (o.bid = e.id), s.G(r.A.mi, o));
104
+ }
105
+ vi(t) {
106
+ if (!(t instanceof InAppMessage)) return;
107
+ const s = t => {
108
+ const s = J(t);
109
+ return ct(s)
110
+ ? ht(ft.yi, "In-App Message")
111
+ : gt(s) && !dt.ji()
112
+ ? ht(ft.bi, "In-App Message")
113
+ : void 0;
114
+ },
115
+ e = t.buttons;
116
+ let i;
117
+ for (const t of e)
118
+ if (
119
+ t.clickAction === InAppMessage.ClickAction.URI &&
120
+ O.test(t.uri) &&
121
+ ((i = s(t.uri)), i)
122
+ )
123
+ return i;
124
+ return t.clickAction === InAppMessage.ClickAction.URI && O.test(t.uri)
125
+ ? s(t.uri)
126
+ : void 0;
127
+ }
128
+ Ii(t, s, e, i) {
129
+ let n = this.vt.Ai(!1, !1);
130
+ (n = this.vt.Ps(n)),
131
+ (n.template = { trigger_id: t.triggerId, trigger_event_type: s }),
132
+ null != e && (n.template.data = e.Mi());
133
+ const o = this.vt.Bs(n);
134
+ this.vt.Gs(n, () => {
135
+ b.Hs({
136
+ url: `${this.vt.Ks()}/template/`,
137
+ data: n,
138
+ headers: o,
139
+ S: async s => {
140
+ if (!this.vt.Os(n, s, o))
141
+ return (
142
+ this.ni(t.triggerId, InAppMessage.li.zi),
143
+ void ("function" == typeof t.Di && t.Di())
144
+ );
145
+ if ((this.vt.Qs(), null == s || null == s.templated_message))
146
+ return void this.ni(t.triggerId, InAppMessage.li.zi);
147
+ const e = s.templated_message;
148
+ if (e.type !== mt._i.Ti)
149
+ return void this.ni(t.triggerId, InAppMessage.li.ki);
150
+ const i = lt(e.data);
151
+ if (null == i) return void this.ni(t.triggerId, InAppMessage.li.ki);
152
+ let a = this.vi(i);
153
+ if (a)
154
+ return r.D.error(a), void ("function" == typeof t.Di && t.Di());
155
+ "function" == typeof t.wi
156
+ ? t.wi(i)
157
+ : this.ni(t.triggerId, InAppMessage.li.zi);
158
+ },
159
+ error: r => {
160
+ let n = `getting user personalization for message ${t.triggerId}`;
161
+ if (new Date().valueOf() - t.Si > t.$i)
162
+ this.ni(t.triggerId, InAppMessage.li.zi);
163
+ else {
164
+ const r = Math.min(t.$i, this.Ue),
165
+ o = this.Qe;
166
+ null == i && (i = o);
167
+ const a = Math.min(r, pt(o, 3 * i));
168
+ (n += `. Retrying in ${a} ms`),
169
+ setTimeout(() => {
170
+ this.Ii(t, s, e, a);
171
+ }, a);
172
+ }
173
+ this.vt.Vs(r, n);
174
+ }
175
+ });
176
+ });
177
+ }
178
+ ci(t) {
179
+ if (null == t.triggerId)
180
+ return (
181
+ r.D.info(
182
+ "The in-app message has no analytics id. Not logging event to Braze servers."
183
+ ),
184
+ null
185
+ );
186
+ const s = {};
187
+ return null != t.triggerId && (s.trigger_ids = [t.triggerId]), s;
188
+ }
189
+ }
@@ -1 +1,14 @@
1
- export{default as InAppMessage}from"./models/in-app-message.js";export{default as InAppMessageButton}from"./models/in-app-message-button.js";export{default as ControlMessage}from"./models/control-message.js";export{default as FullScreenMessage}from"./models/full-screen-message.js";export{default as HtmlMessage}from"./models/html-message.js";export{default as ModalMessage}from"./models/modal-message.js";export{default as SlideUpMessage}from"./models/slide-up-message.js";export{automaticallyShowInAppMessages}from"./ui/automatically-show-in-app-messages.js";export{logInAppMessageButtonClick}from"./log-in-app-message-button-click.js";export{logInAppMessageClick}from"./log-in-app-message-click.js";export{logInAppMessageHtmlClick}from"./log-in-app-message-html-click.js";export{logInAppMessageImpression}from"./log-in-app-message-impression.js";export{showInAppMessage}from"./ui/show-in-app-message.js";export{subscribeToInAppMessage}from"./subscribe-to-in-app-message.js";
1
+ export { default as InAppMessage } from "./models/in-app-message.js";
2
+ export { default as InAppMessageButton } from "./models/in-app-message-button.js";
3
+ export { default as ControlMessage } from "./models/control-message.js";
4
+ export { default as FullScreenMessage } from "./models/full-screen-message.js";
5
+ export { default as HtmlMessage } from "./models/html-message.js";
6
+ export { default as ModalMessage } from "./models/modal-message.js";
7
+ export { default as SlideUpMessage } from "./models/slide-up-message.js";
8
+ export { automaticallyShowInAppMessages } from "./ui/automatically-show-in-app-messages.js";
9
+ export { logInAppMessageButtonClick } from "./log-in-app-message-button-click.js";
10
+ export { logInAppMessageClick } from "./log-in-app-message-click.js";
11
+ export { logInAppMessageHtmlClick } from "./log-in-app-message-html-click.js";
12
+ export { logInAppMessageImpression } from "./log-in-app-message-impression.js";
13
+ export { showInAppMessage } from "./ui/show-in-app-message.js";
14
+ export { subscribeToInAppMessage } from "./subscribe-to-in-app-message.js";
@@ -1 +1,19 @@
1
- import e from"../managers/braze-instance.js";import{MUST_BE_IN_APP_MESSAGE_WARNING as tr}from"../common/constants.js";import InAppMessage from"./models/in-app-message.js";import InAppMessageButton from"./models/in-app-message-button.js";import pe from"./in-app-message-manager-factory.js";import r from"../../shared-lib/braze-shared-lib.js";import V from"../triggers/models/trigger-events.js";import{TriggersProviderFactory as W}from"../triggers/triggers-provider-factory.js";export function logInAppMessageButtonClick(t,o){if(!e.rr())return!1;if(!(t instanceof InAppMessageButton))return r.D.error("button must be an InAppMessageButton object"),!1;if(!(o instanceof InAppMessage))return r.D.error(tr),!1;const s=pe.m().Qe(t,o);if(s.S)for(let r=0;r<s.ve.length;r++)W.er().je(V.Ar,[o.triggerId,t.id],s.ve[r]);return s.S}
1
+ import e from "../managers/braze-instance.js";
2
+ import { MUST_BE_IN_APP_MESSAGE_WARNING as or } from "../common/constants.js";
3
+ import InAppMessage from "./models/in-app-message.js";
4
+ import InAppMessageButton from "./models/in-app-message-button.js";
5
+ import pe from "./in-app-message-manager-factory.js";
6
+ import r from "../../shared-lib/braze-shared-lib.js";
7
+ import V from "../triggers/models/trigger-events.js";
8
+ import { TriggersProviderFactory as W } from "../triggers/triggers-provider-factory.js";
9
+ export function logInAppMessageButtonClick(t, o) {
10
+ if (!e.rr()) return !1;
11
+ if (!(t instanceof InAppMessageButton))
12
+ return r.D.error("button must be an InAppMessageButton object"), !1;
13
+ if (!(o instanceof InAppMessage)) return r.D.error(or), !1;
14
+ const s = pe.m().fi(t, o);
15
+ if (s.S)
16
+ for (let r = 0; r < s.ve.length; r++)
17
+ W.er().je(V.Ar, [o.triggerId, t.id], s.ve[r]);
18
+ return s.S;
19
+ }
@@ -1 +1,16 @@
1
- import e from"../managers/braze-instance.js";import InAppMessage from"./models/in-app-message.js";import pe from"./in-app-message-manager-factory.js";import{MUST_BE_IN_APP_MESSAGE_WARNING as tr}from"../common/constants.js";import r from"../../shared-lib/braze-shared-lib.js";import V from"../triggers/models/trigger-events.js";import{TriggersProviderFactory as W}from"../triggers/triggers-provider-factory.js";export function logInAppMessageClick(o){if(!e.rr())return!1;if(!(o instanceof InAppMessage))return r.D.error(tr),!1;const s=pe.m().G(o,r.A.Re);if(s)for(let r=0;r<s.ve.length;r++)W.er().je(V.Ar,[o.triggerId],s.ve[r]);return s.S}
1
+ import e from "../managers/braze-instance.js";
2
+ import InAppMessage from "./models/in-app-message.js";
3
+ import pe from "./in-app-message-manager-factory.js";
4
+ import { MUST_BE_IN_APP_MESSAGE_WARNING as or } from "../common/constants.js";
5
+ import r from "../../shared-lib/braze-shared-lib.js";
6
+ import V from "../triggers/models/trigger-events.js";
7
+ import { TriggersProviderFactory as W } from "../triggers/triggers-provider-factory.js";
8
+ export function logInAppMessageClick(o) {
9
+ if (!e.rr()) return !1;
10
+ if (!(o instanceof InAppMessage)) return r.D.error(or), !1;
11
+ const s = pe.m().G(o, r.A.pi);
12
+ if (s)
13
+ for (let r = 0; r < s.ve.length; r++)
14
+ W.er().je(V.Ar, [o.triggerId], s.ve[r]);
15
+ return s.S;
16
+ }