@braze/web-sdk 6.10.2 → 6.12.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.
- package/index.d.ts +61 -6
- package/package.json +1 -1
- package/shared-lib/encoding-utils.js +3 -3
- package/shared-lib/event-types.js +12 -12
- package/shared-lib/indexed-db-adapter.js +52 -52
- package/shared-lib/logger.js +7 -7
- package/shared-lib/supported-options.js +10 -10
- package/src/Core/logout.js +2 -2
- package/src/DUST/dust-config-store.js +89 -0
- package/src/DUST/dust-connection-core.js +7 -21
- package/src/DUST/dust-message-dedup.js +33 -0
- package/src/DUST/dust-provider.js +367 -397
- package/src/DUST/dust-tab-identity.js +30 -0
- package/src/DUST/index.js +7 -9
- package/src/DUST/subscribe-to-dust.js +5 -5
- package/src/FeatureFlags/feature-flag-factory.js +4 -4
- package/src/FeatureFlags/feature-flag.js +5 -5
- package/src/FeatureFlags/feature-flags-provider-factory.js +8 -1
- package/src/FeatureFlags/feature-flags-provider.js +74 -74
- package/src/FeatureFlags/get-all-feature-flags.js +2 -2
- package/src/FeatureFlags/get-feature-flag.js +2 -2
- package/src/FeatureFlags/log-feature-flag-impression.js +3 -3
- package/src/FeatureFlags/subscribe-to-feature-flags-updates.js +1 -1
- package/src/InAppMessage/constants.js +39 -47
- package/src/InAppMessage/defer-in-app-message.js +2 -2
- package/src/InAppMessage/display/get-animation-effect.js +1 -1
- package/src/InAppMessage/display/html-message-display-utils.js +4 -4
- package/src/InAppMessage/display/html-message-to-html.js +10 -10
- package/src/InAppMessage/display/in-app-message-to-html.js +68 -66
- package/src/InAppMessage/display/modal-utils.js +14 -14
- package/src/InAppMessage/get-deferred-in-app-message.js +2 -2
- package/src/InAppMessage/in-app-message-factory.js +6 -6
- package/src/InAppMessage/in-app-message-manager-factory.js +5 -5
- package/src/InAppMessage/in-app-message-manager.js +101 -80
- package/src/InAppMessage/log-in-app-message-button-click.js +2 -2
- package/src/InAppMessage/log-in-app-message-click.js +2 -2
- package/src/InAppMessage/log-in-app-message-html-click.js +4 -4
- package/src/InAppMessage/log-in-app-message-impression.js +3 -3
- package/src/InAppMessage/models/full-screen-message.js +25 -25
- package/src/InAppMessage/models/html-message.js +14 -14
- package/src/InAppMessage/models/in-app-message-button.js +4 -4
- package/src/InAppMessage/models/in-app-message.js +100 -98
- package/src/InAppMessage/models/modal-message.js +23 -23
- package/src/InAppMessage/models/slide-up-message.js +29 -29
- package/src/InAppMessage/models/templated-in-app-message.js +8 -8
- package/src/InAppMessage/subscribe-to-in-app-message.js +2 -2
- package/src/InAppMessage/ui/automatically-show-in-app-messages.js +2 -2
- package/src/InAppMessage/ui/show-in-app-message.js +42 -40
- package/src/Push/index.js +1 -0
- package/src/Push/is-push-blocked.js +2 -2
- package/src/Push/is-push-permission-granted.js +2 -2
- package/src/Push/is-push-supported.js +2 -2
- package/src/Push/push-manager-factory.js +6 -6
- package/src/Push/push-manager.js +228 -185
- package/src/Push/register-push.js +9 -0
- package/src/Push/unregister-push-token-on-server.js +4 -4
- package/src/Push/utils/push-utils.js +16 -16
- package/src/User/user-manager.js +19 -19
- package/src/User/user.js +36 -36
- package/src/common/constants.js +1 -1
- package/src/common/content-cards-display.js +21 -21
- package/src/common/event-logger.js +2 -2
- package/src/l10n/l10n-manager-factory.js +7 -7
- package/src/l10n/l10n-manager.js +5 -5
- package/src/managers/auth-manager.js +1 -1
- package/src/managers/braze-instance.js +70 -66
- package/src/managers/device-manager.js +12 -12
- package/src/managers/network-manager.js +118 -118
- package/src/managers/server-config-manager.js +84 -84
- package/src/managers/session-manager.js +10 -10
- package/src/managers/storage-manager-factory.js +4 -4
- package/src/managers/storage-manager.js +138 -136
- package/src/managers/subscription-manager.js +1 -1
- package/src/managers/utils.js +1 -1
- package/src/models/backend-errors.js +5 -5
- package/src/models/braze-event.js +7 -7
- package/src/models/device.js +2 -2
- package/src/models/identifier.js +6 -6
- package/src/models/push-token.js +6 -6
- package/src/models/server-config.js +31 -31
- package/src/request-controller.js +91 -91
- package/src/triggers/models/filter.js +58 -58
- package/src/triggers/models/in-app-message-click-data.js +4 -4
- package/src/triggers/models/push-click-data.js +2 -2
- package/src/triggers/models/trigger-condition.js +35 -35
- package/src/triggers/models/trigger.js +37 -37
- package/src/triggers/triggers-provider-factory.js +3 -3
- package/src/triggers/triggers-provider.js +61 -53
- package/src/types.js +1 -1
- package/src/ui/js/attach-css.js +1 -1
- package/src/ui/js/feed-css.js +2 -2
- package/src/ui/js/iam-css.js +2 -2
- package/src/util/base-device-parser.js +1 -1
- package/src/util/braze-actions.js +4 -4
- package/src/util/browser-detector.js +13 -13
- package/src/util/client-hints-parser.js +4 -4
- package/src/util/component-utils.js +4 -4
- package/src/util/dom-utils.js +5 -5
- package/src/util/ecommerce-event-validation.js +77 -48
- package/src/util/key-codes.js +1 -1
- package/src/util/net.js +4 -4
- package/src/util/request-header-utils.js +20 -20
- package/src/util/string-utils.js +5 -0
- package/src/util/user-agent-parser.js +15 -15
- package/src/util/validation-utils.js +9 -9
- package/src/util/window-utils.js +2 -2
- package/src/DUST/dust-shared-worker-code.js +0 -2
- package/src/DUST/dust-shared-worker-impl.js +0 -234
- package/src/DUST/dust-worker-bridge.js +0 -151
|
@@ -3,26 +3,27 @@ import ControlMessage from "../models/control-message.js";
|
|
|
3
3
|
import HtmlMessage from "../models/html-message.js";
|
|
4
4
|
import InAppMessage from "../models/in-app-message.js";
|
|
5
5
|
import SlideUpMessage from "../models/slide-up-message.js";
|
|
6
|
-
import
|
|
7
|
-
import
|
|
6
|
+
import me from "../display/get-animation-effect.js";
|
|
7
|
+
import ge from "../display/in-app-message-to-html.js";
|
|
8
8
|
import { logInAppMessageImpression } from "../log-in-app-message-impression.js";
|
|
9
9
|
import {
|
|
10
|
-
ORIENTATION as
|
|
10
|
+
ORIENTATION as je,
|
|
11
11
|
WindowUtils as no,
|
|
12
12
|
} from "../../util/window-utils.js";
|
|
13
13
|
import { isURIJavascriptOrData as tt } from "../../util/url-utils.js";
|
|
14
|
-
import { KeyCodes as
|
|
14
|
+
import { KeyCodes as le } from "../../util/key-codes.js";
|
|
15
15
|
import { setupInAppMessageUI as rs } from "../../ui/js/index.js";
|
|
16
16
|
import { logger as b } from "../../../shared-lib/index.js";
|
|
17
|
-
import { toRgba as
|
|
18
|
-
import { isIFrame as
|
|
19
|
-
import
|
|
17
|
+
import { toRgba as ae } from "../../util/color-utils.js";
|
|
18
|
+
import { isIFrame as xt } from "../utils/in-app-message-utils.js";
|
|
19
|
+
import he from "../../l10n/l10n-manager-factory.js";
|
|
20
20
|
import {
|
|
21
|
-
IamTiming as
|
|
22
|
-
IamClickAction as
|
|
21
|
+
IamTiming as kt,
|
|
22
|
+
IamClickAction as ce,
|
|
23
23
|
IamDismissType as pr,
|
|
24
|
-
IamOrientation as
|
|
25
|
-
IamSlideFrom as
|
|
24
|
+
IamOrientation as be,
|
|
25
|
+
IamSlideFrom as fe,
|
|
26
|
+
IAM_SHOWING_CLASS as we,
|
|
26
27
|
} from "../constants.js";
|
|
27
28
|
export function showInAppMessage(e, t, s) {
|
|
28
29
|
if (!r.rr()) return;
|
|
@@ -37,7 +38,7 @@ export function showInAppMessage(e, t, s) {
|
|
|
37
38
|
);
|
|
38
39
|
if (!(e instanceof InAppMessage)) return !1;
|
|
39
40
|
if (e.constructor === InAppMessage) return !1;
|
|
40
|
-
e.
|
|
41
|
+
e.uh();
|
|
41
42
|
const o = e instanceof HtmlMessage;
|
|
42
43
|
if (o && !e.trusted && !r.dr())
|
|
43
44
|
return (
|
|
@@ -47,7 +48,7 @@ export function showInAppMessage(e, t, s) {
|
|
|
47
48
|
!1
|
|
48
49
|
);
|
|
49
50
|
if ((null == t && (t = document.body), e.zo())) {
|
|
50
|
-
if (t.querySelectorAll(
|
|
51
|
+
if (t.querySelectorAll(`.ab-modal-interactions, .${we}`).length > 0)
|
|
51
52
|
return (
|
|
52
53
|
b.info(
|
|
53
54
|
`Cannot show in-app message ${e.message} because another message is being shown.`,
|
|
@@ -55,14 +56,14 @@ export function showInAppMessage(e, t, s) {
|
|
|
55
56
|
!1
|
|
56
57
|
);
|
|
57
58
|
}
|
|
58
|
-
if (no.
|
|
59
|
-
const t = no.
|
|
59
|
+
if (no.pa()) {
|
|
60
|
+
const t = no.fa();
|
|
60
61
|
if (
|
|
61
|
-
(t ===
|
|
62
|
-
(t ===
|
|
62
|
+
(t === je.PORTRAIT && e.orientation === be.LANDSCAPE) ||
|
|
63
|
+
(t === je.LANDSCAPE && e.orientation === be.PORTRAIT)
|
|
63
64
|
) {
|
|
64
|
-
const s = t ===
|
|
65
|
-
o = e.orientation ===
|
|
65
|
+
const s = t === je.PORTRAIT ? "portrait" : "landscape",
|
|
66
|
+
o = e.orientation === be.PORTRAIT ? "portrait" : "landscape";
|
|
66
67
|
return (
|
|
67
68
|
b.info(
|
|
68
69
|
`Not showing ${o} in-app message ${e.message} because the screen is currently ${s}`,
|
|
@@ -76,11 +77,11 @@ export function showInAppMessage(e, t, s) {
|
|
|
76
77
|
if (e.buttons && e.buttons.length > 0) {
|
|
77
78
|
const s = e.buttons;
|
|
78
79
|
for (let e = 0; e < s.length; e++)
|
|
79
|
-
if (s[e].clickAction ===
|
|
80
|
+
if (s[e].clickAction === ce.URI) {
|
|
80
81
|
const o = s[e].uri;
|
|
81
82
|
t = tt(o);
|
|
82
83
|
}
|
|
83
|
-
} else e.clickAction ===
|
|
84
|
+
} else e.clickAction === ce.URI && (t = tt(e.uri));
|
|
84
85
|
if (t)
|
|
85
86
|
return (
|
|
86
87
|
b.error(
|
|
@@ -92,39 +93,40 @@ export function showInAppMessage(e, t, s) {
|
|
|
92
93
|
const i = document.createElement("div");
|
|
93
94
|
if (
|
|
94
95
|
((i.className = "ab-iam-root v3"),
|
|
95
|
-
(i.className +=
|
|
96
|
+
e.zo() && (i.className += ` ${we}`),
|
|
97
|
+
(i.className += me(e)),
|
|
96
98
|
e.language && !o && (i.lang = e.language),
|
|
97
|
-
e.
|
|
98
|
-
r.er(U.
|
|
99
|
+
e.ko() && (i.id = e.htmlId),
|
|
100
|
+
r.er(U.ca) && (i.style.zIndex = (r.er(U.ca) + 1).toString()),
|
|
99
101
|
t.appendChild(i),
|
|
100
102
|
e.Mo())
|
|
101
103
|
) {
|
|
102
104
|
const t = document.createElement("style");
|
|
103
105
|
(t.innerHTML = e.css),
|
|
104
|
-
(t.id = e.
|
|
106
|
+
(t.id = e.Co()),
|
|
105
107
|
null != r.er(U.sr) && t.setAttribute("nonce", r.er(U.sr)),
|
|
106
108
|
document.getElementsByTagName("head")[0].appendChild(t);
|
|
107
109
|
}
|
|
108
110
|
const n = e instanceof SlideUpMessage,
|
|
109
|
-
a =
|
|
111
|
+
a = ge(
|
|
110
112
|
e,
|
|
111
113
|
(t) => {
|
|
112
114
|
if (e.zo() && e.od()) {
|
|
113
115
|
const s = document.createElement("div");
|
|
114
116
|
if (
|
|
115
117
|
((s.className = "ab-page-blocker"),
|
|
116
|
-
e.Mo() || (s.style.backgroundColor =
|
|
117
|
-
r.er(U.
|
|
118
|
+
e.Mo() || (s.style.backgroundColor = ae(e.frameColor)),
|
|
119
|
+
r.er(U.ca) && (s.style.zIndex = r.er(U.ca).toString()),
|
|
118
120
|
i.appendChild(s),
|
|
119
|
-
!r.er(U.
|
|
121
|
+
!r.er(U.lh))
|
|
120
122
|
) {
|
|
121
123
|
const o = new Date().valueOf();
|
|
122
124
|
s.onclick = (s) => {
|
|
123
|
-
new Date().valueOf() - o >
|
|
125
|
+
new Date().valueOf() - o > kt.sE &&
|
|
124
126
|
(e.tl(t), s.stopPropagation());
|
|
125
127
|
};
|
|
126
128
|
}
|
|
127
|
-
i.appendChild(t), t.focus(), e.
|
|
129
|
+
i.appendChild(t), t.focus(), e.nh(i);
|
|
128
130
|
} else if (n) {
|
|
129
131
|
const s = document.querySelectorAll(".ab-slideup");
|
|
130
132
|
let o = null;
|
|
@@ -133,7 +135,7 @@ export function showInAppMessage(e, t, s) {
|
|
|
133
135
|
o = s[e];
|
|
134
136
|
break;
|
|
135
137
|
}
|
|
136
|
-
if (e.slideFrom ===
|
|
138
|
+
if (e.slideFrom === fe.TOP) {
|
|
137
139
|
let e = 0;
|
|
138
140
|
null != o && (e = o.offsetTop + o.offsetHeight),
|
|
139
141
|
(t.style.top = Math.max(e, 0) + "px");
|
|
@@ -145,12 +147,12 @@ export function showInAppMessage(e, t, s) {
|
|
|
145
147
|
o.offsetTop),
|
|
146
148
|
(t.style.bottom = Math.max(e, 0) + "px");
|
|
147
149
|
}
|
|
148
|
-
} else if (o && !r.er(U.
|
|
150
|
+
} else if (o && !r.er(U.lh)) {
|
|
149
151
|
const s = e;
|
|
150
|
-
|
|
152
|
+
xt(t) &&
|
|
151
153
|
t.contentWindow &&
|
|
152
154
|
t.contentWindow.addEventListener("keydown", function (e) {
|
|
153
|
-
e.keyCode ===
|
|
155
|
+
e.keyCode === le.oh && s.closeMessage();
|
|
154
156
|
});
|
|
155
157
|
}
|
|
156
158
|
logInAppMessageImpression(e),
|
|
@@ -161,13 +163,13 @@ export function showInAppMessage(e, t, s) {
|
|
|
161
163
|
"function" == typeof s && s();
|
|
162
164
|
},
|
|
163
165
|
(e) => {
|
|
164
|
-
b.info(e);
|
|
166
|
+
b.info(e), i.parentNode && i.parentNode.removeChild(i);
|
|
165
167
|
},
|
|
166
|
-
r.er(U.
|
|
167
|
-
r.er(U.
|
|
168
|
+
r.er(U.da),
|
|
169
|
+
r.er(U.ca),
|
|
168
170
|
r.er(U.sr),
|
|
169
171
|
t,
|
|
170
|
-
|
|
172
|
+
he.ra().ga(),
|
|
171
173
|
);
|
|
172
|
-
return (o || n) && (i.appendChild(a), e.
|
|
174
|
+
return (o || n) && (i.appendChild(a), e.nh(i)), !0;
|
|
173
175
|
}
|
package/src/Push/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { isPushBlocked } from "./is-push-blocked.js";
|
|
2
2
|
export { isPushPermissionGranted } from "./is-push-permission-granted.js";
|
|
3
3
|
export { isPushSupported } from "./is-push-supported.js";
|
|
4
|
+
export { registerPush } from "./register-push.js";
|
|
4
5
|
export { requestPushPermission } from "./request-push-permission.js";
|
|
5
6
|
export { unregisterPush } from "./unregister-push.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
|
-
import
|
|
2
|
+
import Dt from "./utils/push-utils.js";
|
|
3
3
|
export function isPushPermissionGranted() {
|
|
4
|
-
if (r.rr()) return
|
|
4
|
+
if (r.rr()) return Dt.isPushPermissionGranted();
|
|
5
5
|
}
|
|
@@ -8,15 +8,15 @@ const ra = {
|
|
|
8
8
|
ra.na ||
|
|
9
9
|
(ra.na = new na(
|
|
10
10
|
r.zr(),
|
|
11
|
-
r.
|
|
11
|
+
r.ja(),
|
|
12
12
|
r.ue(),
|
|
13
13
|
r.ht(),
|
|
14
|
-
r.er(U.
|
|
15
|
-
r.er(U.
|
|
16
|
-
r.er(U.
|
|
14
|
+
r.er(U.za),
|
|
15
|
+
r.er(U.ba),
|
|
16
|
+
r.er(U.ha),
|
|
17
17
|
r.l(),
|
|
18
|
-
r.er(U.
|
|
19
|
-
r.er(U.
|
|
18
|
+
r.er(U.wa),
|
|
19
|
+
r.er(U.xa),
|
|
20
20
|
r.p(),
|
|
21
21
|
)),
|
|
22
22
|
ra.na
|