@braze/web-sdk 5.9.0 → 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.
- package/index.d.ts +109 -253
- package/package.json +1 -1
- package/shared-lib/encoding-utils.js +1 -1
- package/shared-lib/event-types.js +24 -26
- package/shared-lib/guid.js +2 -2
- package/shared-lib/indexed-db-adapter.js +19 -19
- package/shared-lib/logger.js +2 -2
- package/shared-lib/supported-options.js +21 -22
- package/src/Banner/display/banner-to-html.js +13 -25
- package/src/Banner/display/destroy-banner-html.js +2 -2
- package/src/Banner/display/detect-banner-impressions.js +11 -11
- package/src/Banner/index.js +0 -1
- package/src/Banner/request-banners-refresh.js +8 -8
- package/src/Banner/subscribe-to-banners-updates.js +2 -2
- package/src/Banner/ui/insert-banner.js +7 -7
- package/src/Card/card-manager.js +35 -37
- package/src/Card/display/card-display.js +76 -74
- package/src/Card/index.js +0 -2
- package/src/Card/log-card-dismissal.js +2 -2
- package/src/Card/log-content-card-click.js +9 -2
- package/src/Card/log-content-card-impressions.js +11 -2
- package/src/Card/models/captioned-image.js +20 -20
- package/src/Card/models/card.js +110 -104
- package/src/Card/models/classic-card.js +20 -20
- package/src/Card/models/control-card.js +14 -14
- package/src/Card/models/image-only.js +19 -20
- package/src/Card/util/card-factory.js +57 -78
- package/src/ContentCards/content-cards-provider-factory.js +10 -10
- package/src/ContentCards/content-cards-provider.js +109 -109
- package/src/ContentCards/content-cards.js +21 -13
- package/src/ContentCards/get-cached-content-cards.js +2 -2
- package/src/ContentCards/request-content-cards-refresh.js +2 -2
- package/src/ContentCards/subscribe-to-content-cards-updates.js +5 -5
- package/src/ContentCards/ui/hide-content-cards.js +5 -5
- package/src/ContentCards/ui/show-content-cards.js +34 -34
- package/src/Core/add-sdk-metadata.js +2 -2
- package/src/Core/change-user.js +7 -7
- package/src/Core/disable-sdk.js +6 -6
- package/src/Core/enable-sdk.js +5 -5
- package/src/Core/get-user.js +1 -1
- package/src/Core/handle-braze-action.js +7 -7
- package/src/Core/is-disabled.js +2 -2
- package/src/Core/is-initialized.js +1 -1
- package/src/Core/log-custom-event.js +9 -9
- package/src/Core/log-purchase.js +7 -7
- package/src/Core/open-session.js +12 -12
- package/src/Core/request-immediate-data-flush.js +1 -1
- package/src/Core/set-sdk-authentication-signature.js +2 -2
- package/src/Core/wipe-data.js +7 -7
- package/src/FeatureFlags/feature-flag-factory.js +7 -7
- package/src/FeatureFlags/feature-flag.js +6 -6
- package/src/FeatureFlags/feature-flags-provider-factory.js +9 -9
- package/src/FeatureFlags/feature-flags-provider.js +1 -1
- 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 +4 -4
- package/src/FeatureFlags/refresh-feature-flags.js +2 -2
- package/src/FeatureFlags/subscribe-to-feature-flags-updates.js +2 -2
- package/src/InAppMessage/defer-in-app-message.js +1 -1
- package/src/InAppMessage/display/html-message-to-html.js +37 -37
- package/src/InAppMessage/display/in-app-message-to-html.js +139 -133
- package/src/InAppMessage/display/modal-utils.js +39 -41
- package/src/InAppMessage/get-deferred-in-app-message.js +1 -1
- package/src/InAppMessage/in-app-message-factory.js +22 -14
- package/src/InAppMessage/in-app-message-manager.js +90 -88
- package/src/InAppMessage/log-in-app-message-button-click.js +5 -5
- package/src/InAppMessage/log-in-app-message-click.js +5 -5
- package/src/InAppMessage/log-in-app-message-html-click.js +5 -5
- package/src/InAppMessage/log-in-app-message-impression.js +1 -1
- package/src/InAppMessage/models/control-message.js +2 -2
- package/src/InAppMessage/models/full-screen-message.js +40 -34
- package/src/InAppMessage/models/html-message.js +23 -21
- package/src/InAppMessage/models/in-app-message-button.js +2 -2
- package/src/InAppMessage/models/in-app-message.js +137 -133
- package/src/InAppMessage/models/modal-message.js +39 -33
- package/src/InAppMessage/models/slide-up-message.js +36 -30
- package/src/InAppMessage/models/templated-in-app-message.js +8 -8
- package/src/InAppMessage/subscribe-to-in-app-message.js +1 -1
- package/src/InAppMessage/ui/automatically-show-in-app-messages.js +3 -3
- package/src/InAppMessage/ui/show-in-app-message.js +56 -62
- 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 +8 -8
- package/src/Push/push-manager.js +90 -90
- package/src/Push/request-push-permission.js +1 -1
- package/src/Push/utils/push-utils.js +25 -15
- package/src/User/user-manager.js +14 -14
- package/src/User/user.js +55 -55
- package/src/common/content-cards-display.js +211 -0
- package/src/common/event-logger.js +6 -6
- package/src/index.js +0 -1
- package/src/l10n/l10n-manager-factory.js +9 -9
- package/src/l10n/l10n-manager.js +6 -6
- package/src/managers/auth-manager.js +27 -27
- package/src/managers/braze-instance.js +136 -137
- package/src/managers/device-manager.js +22 -22
- package/src/managers/network-manager.js +180 -183
- package/src/managers/server-config-manager.js +63 -63
- package/src/managers/session-manager.js +34 -34
- package/src/managers/storage-manager-factory.js +11 -11
- package/src/managers/storage-manager.js +139 -141
- package/src/managers/subscription-manager.js +3 -3
- package/src/managers/utils.js +1 -1
- package/src/models/backend-errors.js +5 -5
- package/src/models/braze-event.js +15 -15
- package/src/models/device.js +3 -3
- package/src/models/identifier.js +13 -13
- package/src/models/push-token.js +12 -12
- package/src/models/request-result.js +2 -2
- package/src/models/server-config.js +29 -29
- package/src/request-controller.js +181 -169
- package/src/triggers/models/custom-event-data.js +6 -6
- package/src/triggers/models/custom-event-property-data.js +7 -7
- package/src/triggers/models/filter-set.js +8 -8
- package/src/triggers/models/filter.js +45 -45
- package/src/triggers/models/in-app-message-click-data.js +3 -3
- package/src/triggers/models/purchase-data.js +1 -1
- package/src/triggers/models/purchase-property-data.js +4 -4
- package/src/triggers/models/push-click-data.js +1 -1
- package/src/triggers/models/trigger-condition.js +47 -47
- package/src/triggers/models/trigger-events.js +3 -3
- package/src/triggers/models/trigger.js +15 -15
- package/src/triggers/triggers-provider-factory.js +4 -4
- package/src/triggers/triggers-provider.js +44 -44
- package/src/ui/js/attach-css.js +3 -3
- package/src/ui/js/banner-css.js +1 -1
- package/src/ui/js/iam-css.js +1 -1
- package/src/ui/js/load-font-awesome.js +2 -2
- package/src/util/base-device-parser.js +4 -4
- package/src/util/braze-actions.js +8 -14
- package/src/util/browser-detector.js +12 -12
- package/src/util/client-hints-parser.js +3 -3
- package/src/util/component-utils.js +14 -14
- package/src/util/device-constants.js +1 -1
- package/src/util/dom-utils.js +6 -6
- package/src/util/html-display-utils.js +37 -37
- package/src/util/key-codes.js +1 -1
- package/src/util/net.js +1 -1
- package/src/util/request-header-utils.js +17 -17
- package/src/util/user-agent-parser.js +4 -4
- package/src/util/validation-utils.js +20 -20
- package/src/util/window-utils.js +1 -1
- package/src/Card/log-card-click.js +0 -11
- package/src/Card/log-card-impressions.js +0 -13
- package/src/Feed/feed-provider-factory.js +0 -18
- package/src/Feed/feed-provider.js +0 -90
- package/src/Feed/feed.js +0 -20
- package/src/Feed/get-cached-feed.js +0 -5
- package/src/Feed/index.js +0 -8
- package/src/Feed/log-feed-displayed.js +0 -7
- package/src/Feed/request-feed-refresh.js +0 -5
- package/src/Feed/subscribe-to-feed-updates.js +0 -5
- package/src/Feed/types.js +0 -1
- package/src/Feed/ui/hide-feed.js +0 -7
- package/src/Feed/ui/show-feed.js +0 -96
- package/src/Feed/ui/toggle-feed.js +0 -8
- package/src/common/base-feed.js +0 -29
- package/src/common/feed-display.js +0 -211
package/src/Core/enable-sdk.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
|
-
import { logger as N, IndexedDBAdapter as
|
|
3
|
-
import
|
|
2
|
+
import { logger as N, IndexedDBAdapter as et } from "../../shared-lib/index.js";
|
|
3
|
+
import ee, { STORAGE_KEYS as s } from "../managers/storage-manager.js";
|
|
4
4
|
export function enableSDK() {
|
|
5
|
-
new
|
|
6
|
-
const e =
|
|
7
|
-
new
|
|
5
|
+
new ee.se(null, !0).remove(s.me);
|
|
6
|
+
const e = et.Ds.Us;
|
|
7
|
+
new et(e, N).ge(e.Ls.pe, e.be),
|
|
8
8
|
N.info("enableSDK was called"),
|
|
9
9
|
r.destroy(!1),
|
|
10
10
|
r.fe(!1);
|
package/src/Core/get-user.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { logger as N } from "../../shared-lib/index.js";
|
|
2
|
-
import { BRAZE_MUST_BE_INITIALIZED_ERROR as
|
|
2
|
+
import { BRAZE_MUST_BE_INITIALIZED_ERROR as w } from "../common/constants.js";
|
|
3
3
|
import r from "../managers/braze-instance.js";
|
|
4
4
|
import {
|
|
5
5
|
BRAZE_ACTIONS as oo,
|
|
@@ -41,21 +41,21 @@ export function _handleBrazeAction(o, e, s) {
|
|
|
41
41
|
case oo.types.logCustomEvent:
|
|
42
42
|
import("./log-custom-event.js").then(
|
|
43
43
|
({ logCustomEvent: logCustomEvent }) => {
|
|
44
|
-
r.
|
|
44
|
+
r.ao()
|
|
45
45
|
? ((t = Array.prototype.slice.call(e)),
|
|
46
46
|
logCustomEvent(...t))
|
|
47
|
-
: N.error(
|
|
47
|
+
: N.error(w);
|
|
48
48
|
},
|
|
49
49
|
);
|
|
50
50
|
break;
|
|
51
51
|
case oo.types.requestPushPermission:
|
|
52
52
|
import("../Push/request-push-permission.js").then(
|
|
53
53
|
({ requestPushPermission: requestPushPermission }) => {
|
|
54
|
-
r.
|
|
55
|
-
? "Safari" === ro.browser && ro.OS === so.
|
|
54
|
+
r.ao()
|
|
55
|
+
? "Safari" === ro.browser && ro.OS === so.co
|
|
56
56
|
? window.navigator.standalone && requestPushPermission()
|
|
57
57
|
: requestPushPermission()
|
|
58
|
-
: N.error(
|
|
58
|
+
: N.error(w);
|
|
59
59
|
},
|
|
60
60
|
);
|
|
61
61
|
break;
|
|
@@ -70,8 +70,8 @@ export function _handleBrazeAction(o, e, s) {
|
|
|
70
70
|
s[n](...Array.prototype.slice.call(e));
|
|
71
71
|
}
|
|
72
72
|
break;
|
|
73
|
-
case oo.types.co:
|
|
74
73
|
case oo.types.mo:
|
|
74
|
+
case oo.types.uo:
|
|
75
75
|
(t = Array.prototype.slice.call(e)), no.openUri(...t);
|
|
76
76
|
break;
|
|
77
77
|
default:
|
package/src/Core/is-disabled.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
2
|
import c from "../common/event-logger.js";
|
|
3
3
|
import { logger as N, EventTypes as d } from "../../shared-lib/index.js";
|
|
4
|
-
import
|
|
5
|
-
import { TriggersProviderFactory as
|
|
4
|
+
import ot from "../triggers/models/trigger-events.js";
|
|
5
|
+
import { TriggersProviderFactory as rt } from "../triggers/triggers-provider-factory.js";
|
|
6
6
|
import {
|
|
7
|
-
validateCustomProperties as
|
|
8
|
-
validateCustomString as
|
|
7
|
+
validateCustomProperties as nt,
|
|
8
|
+
validateCustomString as mt,
|
|
9
9
|
} from "../util/validation-utils.js";
|
|
10
|
-
import { LOG_CUSTOM_EVENT_STRING as
|
|
10
|
+
import { LOG_CUSTOM_EVENT_STRING as gt } from "../common/constants.js";
|
|
11
11
|
export function logCustomEvent(t, e) {
|
|
12
12
|
if (!r.rr()) return !1;
|
|
13
13
|
if (null == t || t.length <= 0)
|
|
@@ -17,10 +17,10 @@ export function logCustomEvent(t, e) {
|
|
|
17
17
|
),
|
|
18
18
|
!1
|
|
19
19
|
);
|
|
20
|
-
if (!
|
|
21
|
-
const [o, n] =
|
|
20
|
+
if (!mt(t, "log custom event", "the event name")) return !1;
|
|
21
|
+
const [o, n] = nt(
|
|
22
22
|
e,
|
|
23
|
-
|
|
23
|
+
gt,
|
|
24
24
|
"eventProperties",
|
|
25
25
|
`log custom event "${t}"`,
|
|
26
26
|
"event",
|
|
@@ -32,7 +32,7 @@ export function logCustomEvent(t, e) {
|
|
|
32
32
|
const s = c.ut(d.CustomEvent, { n: t, p: n });
|
|
33
33
|
if (s.tt) {
|
|
34
34
|
N.info(`Logged custom event "${t}".`);
|
|
35
|
-
for (const o of s.$e)
|
|
35
|
+
for (const o of s.$e) rt.m().Ce(ot.Ee, [t, e], o);
|
|
36
36
|
}
|
|
37
37
|
return s.tt;
|
|
38
38
|
}
|
package/src/Core/log-purchase.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
2
|
import { MAX_PURCHASE_QUANTITY as or } from "../common/constants.js";
|
|
3
3
|
import { logger as N, EventTypes as d } from "../../shared-lib/index.js";
|
|
4
|
-
import
|
|
5
|
-
import { TriggersProviderFactory as
|
|
4
|
+
import ot from "../triggers/models/trigger-events.js";
|
|
5
|
+
import { TriggersProviderFactory as rt } from "../triggers/triggers-provider-factory.js";
|
|
6
6
|
import {
|
|
7
|
-
validateCustomProperties as
|
|
8
|
-
validateCustomString as
|
|
7
|
+
validateCustomProperties as nt,
|
|
8
|
+
validateCustomString as mt,
|
|
9
9
|
} from "../util/validation-utils.js";
|
|
10
10
|
import c from "../common/event-logger.js";
|
|
11
11
|
export function logPurchase(e, o, i, n, t) {
|
|
@@ -19,7 +19,7 @@ export function logPurchase(e, o, i, n, t) {
|
|
|
19
19
|
),
|
|
20
20
|
!1
|
|
21
21
|
);
|
|
22
|
-
if (!
|
|
22
|
+
if (!mt(e, "log purchase", "the purchase name")) return !1;
|
|
23
23
|
if (null == o || isNaN(parseFloat(o.toString())))
|
|
24
24
|
return (
|
|
25
25
|
N.error(`logPurchase requires a numeric price, got ${o}, ignoring.`), !1
|
|
@@ -219,7 +219,7 @@ export function logPurchase(e, o, i, n, t) {
|
|
|
219
219
|
N.error(`logPurchase requires a valid currencyCode, got ${i}, ignoring.`),
|
|
220
220
|
!1
|
|
221
221
|
);
|
|
222
|
-
const [u, a] =
|
|
222
|
+
const [u, a] = nt(
|
|
223
223
|
t,
|
|
224
224
|
"logPurchase",
|
|
225
225
|
"purchaseProperties",
|
|
@@ -233,7 +233,7 @@ export function logPurchase(e, o, i, n, t) {
|
|
|
233
233
|
const P = c.ut(d.Pr, { pid: e, c: i, p: s, q: D, pr: a });
|
|
234
234
|
if (P.tt) {
|
|
235
235
|
N.info(`Logged ${D} purchase${D > 1 ? "s" : ""} of "${e}" for ${i} ${s}.`);
|
|
236
|
-
for (const r of P.$e)
|
|
236
|
+
for (const r of P.$e) rt.m().Ce(ot.Rr, [e, t], r);
|
|
237
237
|
}
|
|
238
238
|
return P.tt;
|
|
239
239
|
}
|
package/src/Core/open-session.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
|
-
import { logger as N, IndexedDBAdapter as
|
|
3
|
-
import
|
|
4
|
-
import { TriggersProviderFactory as
|
|
2
|
+
import { logger as N, IndexedDBAdapter as et } from "../../shared-lib/index.js";
|
|
3
|
+
import ot from "../triggers/models/trigger-events.js";
|
|
4
|
+
import { TriggersProviderFactory as rt } from "../triggers/triggers-provider-factory.js";
|
|
5
5
|
export function openSession() {
|
|
6
6
|
if (!r.rr()) return;
|
|
7
|
-
const i = r.
|
|
7
|
+
const i = r.nn();
|
|
8
8
|
if (!i) return;
|
|
9
9
|
i.openSession();
|
|
10
|
-
const t =
|
|
11
|
-
o = new
|
|
12
|
-
o.
|
|
10
|
+
const t = et.Ds.Us,
|
|
11
|
+
o = new et(t, N);
|
|
12
|
+
o.jr(t.Ls.hr, (r, n) => {
|
|
13
13
|
const e = n.lastClick,
|
|
14
14
|
s = n.trackingString;
|
|
15
15
|
N.info(`Firing push click trigger from ${s} push click at ${e}`);
|
|
16
|
-
const c = i.
|
|
16
|
+
const c = i.br(e, s),
|
|
17
17
|
g = function () {
|
|
18
|
-
|
|
18
|
+
rt.m().Ce(ot.kr, [s], c);
|
|
19
19
|
};
|
|
20
|
-
i.
|
|
20
|
+
i.vr(g, g), o.ge(t.Ls.hr, r);
|
|
21
21
|
}),
|
|
22
|
-
o.
|
|
23
|
-
i.
|
|
22
|
+
o.As(t.Ls.$r, function (r) {
|
|
23
|
+
i.wr(r);
|
|
24
24
|
});
|
|
25
25
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
|
-
import { validateStandardString as
|
|
2
|
+
import { validateStandardString as er } from "../util/validation-utils.js";
|
|
3
3
|
export function setSdkAuthenticationSignature(t) {
|
|
4
4
|
if (!r.rr()) return !1;
|
|
5
|
-
if ("" === t || !
|
|
5
|
+
if ("" === t || !er(t, "set signature", "signature", !1)) return !1;
|
|
6
6
|
const i = r.Sr();
|
|
7
7
|
return !!i && (i.setSdkAuthenticationSignature(t), !0);
|
|
8
8
|
}
|
package/src/Core/wipe-data.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
2
|
import { keys as C } from "../util/code-utils.js";
|
|
3
|
-
import { logger as N, IndexedDBAdapter as
|
|
4
|
-
import { BRAZE_MUST_BE_INITIALIZED_ERROR as
|
|
3
|
+
import { logger as N, IndexedDBAdapter as et } from "../../shared-lib/index.js";
|
|
4
|
+
import { BRAZE_MUST_BE_INITIALIZED_ERROR as w } from "../common/constants.js";
|
|
5
5
|
export function wipeData() {
|
|
6
6
|
const o = r.j();
|
|
7
|
-
if (null == o) return void N.warn(
|
|
7
|
+
if (null == o) return void N.warn(w);
|
|
8
8
|
o.clearData();
|
|
9
|
-
const t = C(
|
|
9
|
+
const t = C(et.Ds);
|
|
10
10
|
for (let o = 0; o < t.length; o++) {
|
|
11
11
|
const n = t[o],
|
|
12
|
-
r =
|
|
13
|
-
new
|
|
12
|
+
r = et.Ds[n];
|
|
13
|
+
new et(r, N).clearData();
|
|
14
14
|
}
|
|
15
|
-
if (r.rr()) for (const o of r.
|
|
15
|
+
if (r.rr()) for (const o of r.lr()) o.clearData(!0);
|
|
16
16
|
const n = r.g();
|
|
17
17
|
n && n.fo();
|
|
18
18
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { logger as N } from "../../shared-lib/index.js";
|
|
2
2
|
import FeatureFlag from "./feature-flag.js";
|
|
3
3
|
export function newFeatureFlagFromJson(e) {
|
|
4
|
-
if (e[FeatureFlag.ui.
|
|
4
|
+
if (e[FeatureFlag.ui.os] && "boolean" == typeof e[FeatureFlag.ui.Fe])
|
|
5
5
|
return new FeatureFlag(
|
|
6
|
-
e[FeatureFlag.ui.
|
|
6
|
+
e[FeatureFlag.ui.os],
|
|
7
7
|
e[FeatureFlag.ui.Fe],
|
|
8
8
|
e[FeatureFlag.ui.we],
|
|
9
9
|
e[FeatureFlag.ui.xe],
|
|
@@ -11,12 +11,12 @@ export function newFeatureFlagFromJson(e) {
|
|
|
11
11
|
N.info(`Unable to create feature flag from ${JSON.stringify(e, null, 2)}`);
|
|
12
12
|
}
|
|
13
13
|
export function newFeatureFlagFromSerializedValue(e) {
|
|
14
|
-
if (e[FeatureFlag.
|
|
14
|
+
if (e[FeatureFlag.hs.os] && "boolean" == typeof e[FeatureFlag.hs.Fe])
|
|
15
15
|
return new FeatureFlag(
|
|
16
|
-
e[FeatureFlag.
|
|
17
|
-
e[FeatureFlag.
|
|
18
|
-
e[FeatureFlag.
|
|
19
|
-
e[FeatureFlag.
|
|
16
|
+
e[FeatureFlag.hs.os],
|
|
17
|
+
e[FeatureFlag.hs.Fe],
|
|
18
|
+
e[FeatureFlag.hs.we],
|
|
19
|
+
e[FeatureFlag.hs.xe],
|
|
20
20
|
);
|
|
21
21
|
N.info(
|
|
22
22
|
`Unable to deserialize feature flag from ${JSON.stringify(e, null, 2)}`,
|
|
@@ -35,10 +35,10 @@ export default class FeatureFlag {
|
|
|
35
35
|
bt() {
|
|
36
36
|
const t = {};
|
|
37
37
|
return (
|
|
38
|
-
(t[FeatureFlag.
|
|
39
|
-
(t[FeatureFlag.
|
|
40
|
-
(t[FeatureFlag.
|
|
41
|
-
(t[FeatureFlag.
|
|
38
|
+
(t[FeatureFlag.hs.os] = this.id),
|
|
39
|
+
(t[FeatureFlag.hs.Fe] = this.enabled),
|
|
40
|
+
(t[FeatureFlag.hs.we] = this.properties),
|
|
41
|
+
(t[FeatureFlag.hs.xe] = this.trackingString),
|
|
42
42
|
t
|
|
43
43
|
);
|
|
44
44
|
}
|
|
@@ -71,5 +71,5 @@ export default class FeatureFlag {
|
|
|
71
71
|
return "datetime" === t.type && "number" == typeof t.value;
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
-
(FeatureFlag.
|
|
75
|
-
(FeatureFlag.ui = {
|
|
74
|
+
(FeatureFlag.hs = { os: "id", Fe: "e", we: "pr", xe: "fts" }),
|
|
75
|
+
(FeatureFlag.ui = { os: "id", Fe: "enabled", we: "properties", xe: "fts" });
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
|
-
import
|
|
3
|
-
const
|
|
2
|
+
import ir from "./feature-flags-provider.js";
|
|
3
|
+
const tr = {
|
|
4
4
|
l: !1,
|
|
5
5
|
provider: null,
|
|
6
6
|
m: () => (
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
((
|
|
10
|
-
|
|
7
|
+
tr.p(),
|
|
8
|
+
tr.provider ||
|
|
9
|
+
((tr.provider = new ir(r.v(), r.g(), r.j(), r.P())), r._(tr.provider)),
|
|
10
|
+
tr.provider
|
|
11
11
|
),
|
|
12
12
|
p: () => {
|
|
13
|
-
|
|
13
|
+
tr.l || (r.h(tr), (tr.l = !0));
|
|
14
14
|
},
|
|
15
15
|
destroy: () => {
|
|
16
|
-
(
|
|
16
|
+
(tr.provider = null), (tr.l = !1);
|
|
17
17
|
},
|
|
18
18
|
};
|
|
19
|
-
export default
|
|
19
|
+
export default tr;
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
newFeatureFlagFromSerializedValue as ht,
|
|
11
11
|
} from "./feature-flag-factory.js";
|
|
12
12
|
import h from "../util/request-header-utils.js";
|
|
13
|
-
export default class
|
|
13
|
+
export default class ir extends t {
|
|
14
14
|
constructor(t, s, e, i) {
|
|
15
15
|
super(),
|
|
16
16
|
(this.B = t),
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
|
-
import
|
|
2
|
+
import tr from "./feature-flags-provider-factory.js";
|
|
3
3
|
export function getAllFeatureFlags() {
|
|
4
4
|
if (!r.rr()) return;
|
|
5
5
|
const t = [],
|
|
6
6
|
e = r.v();
|
|
7
7
|
if (e && !e.ke()) return t;
|
|
8
|
-
const n =
|
|
8
|
+
const n = tr.m().Me();
|
|
9
9
|
for (const r in n) t.push(n[r]);
|
|
10
10
|
return t;
|
|
11
11
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
|
-
import
|
|
2
|
+
import tr from "./feature-flags-provider-factory.js";
|
|
3
3
|
export function getFeatureFlag(t) {
|
|
4
4
|
if (!r.rr()) return;
|
|
5
5
|
const e = r.v();
|
|
6
6
|
if (e && !e.ke()) return null;
|
|
7
|
-
const n =
|
|
7
|
+
const n = tr.m().Me();
|
|
8
8
|
return n[t] ? n[t] : null;
|
|
9
9
|
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { logger as N, EventTypes as d } from "../../shared-lib/index.js";
|
|
2
2
|
import c from "../common/event-logger.js";
|
|
3
3
|
import r from "../managers/braze-instance.js";
|
|
4
|
-
import
|
|
4
|
+
import tr from "./feature-flags-provider-factory.js";
|
|
5
5
|
export function logFeatureFlagImpression(e) {
|
|
6
6
|
if (!r.rr()) return;
|
|
7
7
|
if (!e) return !1;
|
|
8
8
|
const t =
|
|
9
9
|
"Not logging a feature flag impression. The feature flag was not part of any matching experiment.",
|
|
10
|
-
o =
|
|
10
|
+
o = tr.m().Me();
|
|
11
11
|
if (!o[e]) return N.info(t), !1;
|
|
12
12
|
const n = o[e].trackingString;
|
|
13
13
|
if (!n) return N.info(t), !1;
|
|
14
|
-
const i =
|
|
14
|
+
const i = tr.m()._e();
|
|
15
15
|
if (i[n])
|
|
16
16
|
return (
|
|
17
17
|
N.info(
|
|
@@ -19,7 +19,7 @@ export function logFeatureFlagImpression(e) {
|
|
|
19
19
|
),
|
|
20
20
|
!1
|
|
21
21
|
);
|
|
22
|
-
(i[n] = !0),
|
|
22
|
+
(i[n] = !0), tr.m().He(i);
|
|
23
23
|
const s = { fid: e, fts: n };
|
|
24
24
|
return c.ut(d.yr, s).tt;
|
|
25
25
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
|
-
import
|
|
2
|
+
import tr from "./feature-flags-provider-factory.js";
|
|
3
3
|
function ar(e, t, a = !1) {
|
|
4
|
-
if (r.rr()) return
|
|
4
|
+
if (r.rr()) return tr.m().refreshFeatureFlags(e, t, a);
|
|
5
5
|
}
|
|
6
6
|
export function refreshFeatureFlags(r, e) {
|
|
7
7
|
ar(r, e);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
|
-
import
|
|
2
|
+
import tr from "./feature-flags-provider-factory.js";
|
|
3
3
|
import { getAllFeatureFlags } from "./get-all-feature-flags.js";
|
|
4
4
|
export function subscribeToFeatureFlagsUpdates(t) {
|
|
5
5
|
if (!r.rr()) return;
|
|
6
|
-
const e =
|
|
6
|
+
const e = tr.m();
|
|
7
7
|
if (e.Ye()) {
|
|
8
8
|
const r = getAllFeatureFlags();
|
|
9
9
|
r && "function" == typeof t && t(r);
|
|
@@ -8,6 +8,6 @@ export function deferInAppMessage(e) {
|
|
|
8
8
|
return e instanceof ControlMessage
|
|
9
9
|
? (N.info("Not deferring since this is a ControlMessage."), !1)
|
|
10
10
|
: e instanceof InAppMessage
|
|
11
|
-
? se.ea().
|
|
11
|
+
? se.ea().en(e)
|
|
12
12
|
: (N.info("Not an instance of InAppMessage, ignoring."), !1);
|
|
13
13
|
}
|
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
import ro from "../../util/browser-detector.js";
|
|
2
2
|
import { InAppMessage, logInAppMessageHtmlClick } from "../index.js";
|
|
3
3
|
import { OperatingSystems as so } from "../../util/device-constants.js";
|
|
4
|
-
import { buildHtmlClickHandler as
|
|
4
|
+
import { buildHtmlClickHandler as lt } from "./html-message-display-utils.js";
|
|
5
5
|
import { attachHtmlToIframeWithNonce as m } from "../../util/html-display-utils.js";
|
|
6
6
|
import { buildBrazeBridge as b } from "../../util/html-display-utils.js";
|
|
7
|
-
export default function
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
export default function ct(t, e, o, s, n) {
|
|
8
|
+
const i = document.createElement("iframe");
|
|
9
|
+
i.setAttribute("title", "Modal Message"),
|
|
10
|
+
s && (i.style.zIndex = (s + 1).toString());
|
|
11
11
|
if (
|
|
12
|
-
(m(
|
|
13
|
-
(
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
if (null !=
|
|
12
|
+
(m(i, t.message, n),
|
|
13
|
+
(i.onload = () => {
|
|
14
|
+
const s = i.contentWindow;
|
|
15
|
+
s.focus();
|
|
16
|
+
const l = s.document.getElementsByTagName("head")[0];
|
|
17
|
+
if (null != l) {
|
|
18
18
|
if (t.lo()) {
|
|
19
19
|
const e = document.createElement("style");
|
|
20
20
|
(e.innerHTML = t.css || ""),
|
|
21
21
|
(e.id = t.do() || ""),
|
|
22
|
-
null !=
|
|
23
|
-
|
|
22
|
+
null != n && e.setAttribute("nonce", n),
|
|
23
|
+
l.appendChild(e);
|
|
24
24
|
}
|
|
25
|
-
const e =
|
|
26
|
-
null != e && (e.setAttribute("target", "_parent"),
|
|
25
|
+
const e = s.document.createElement("base");
|
|
26
|
+
null != e && (e.setAttribute("target", "_parent"), l.appendChild(e));
|
|
27
27
|
}
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
const
|
|
28
|
+
const a = s.document.getElementsByTagName("title");
|
|
29
|
+
a && a.length > 0 && i.setAttribute("title", a[0].textContent || "");
|
|
30
|
+
const r = Object.assign(
|
|
31
31
|
Object.assign(
|
|
32
32
|
{},
|
|
33
|
-
b(
|
|
33
|
+
b(i, (e, o) => t.ll(e, o)),
|
|
34
34
|
),
|
|
35
35
|
{
|
|
36
36
|
closeMessage: function () {
|
|
37
|
-
t.ll(
|
|
37
|
+
t.ll(i);
|
|
38
38
|
},
|
|
39
39
|
logClick: function () {
|
|
40
40
|
logInAppMessageHtmlClick(t, ...arguments);
|
|
@@ -42,33 +42,33 @@ export default function mt(t, e, o, s, n, i) {
|
|
|
42
42
|
},
|
|
43
43
|
);
|
|
44
44
|
if (
|
|
45
|
-
((
|
|
45
|
+
((s.appboyBridge = r), (s.brazeBridge = r), t.po !== InAppMessage.ho.bo)
|
|
46
46
|
) {
|
|
47
|
-
const e =
|
|
48
|
-
for (let
|
|
49
|
-
const
|
|
50
|
-
for (let e = 0; e <
|
|
47
|
+
const e = s.document.getElementsByTagName("a");
|
|
48
|
+
for (let s = 0; s < e.length; s++) e[s].onclick = lt(t, i, e[s], o);
|
|
49
|
+
const n = s.document.getElementsByTagName("button");
|
|
50
|
+
for (let e = 0; e < n.length; e++) n[e].onclick = lt(t, i, n[e], o);
|
|
51
51
|
}
|
|
52
|
-
const
|
|
53
|
-
if (null !=
|
|
54
|
-
t.
|
|
52
|
+
const c = s.document.body;
|
|
53
|
+
if (null != c) {
|
|
54
|
+
t.jo() && (c.id = t.htmlId || "");
|
|
55
55
|
const e = document.createElement("hidden");
|
|
56
|
-
(e.onclick =
|
|
56
|
+
(e.onclick = r.closeMessage),
|
|
57
57
|
(e.className = "ab-programmatic-close-button"),
|
|
58
|
-
|
|
58
|
+
c.appendChild(e);
|
|
59
59
|
}
|
|
60
|
-
|
|
61
|
-
-1 !==
|
|
62
|
-
((
|
|
60
|
+
s.dispatchEvent(new CustomEvent("ab.BridgeReady")),
|
|
61
|
+
-1 !== i.className.indexOf("ab-start-hidden") &&
|
|
62
|
+
((i.className = i.className.replace("ab-start-hidden", "")), e(i));
|
|
63
63
|
}),
|
|
64
|
-
(
|
|
64
|
+
(i.className =
|
|
65
65
|
"ab-in-app-message ab-start-hidden ab-html-message ab-modal-interactions"),
|
|
66
|
-
ro.OS === so.
|
|
66
|
+
ro.OS === so.co)
|
|
67
67
|
) {
|
|
68
68
|
const e = document.createElement("div");
|
|
69
69
|
return (
|
|
70
|
-
(e.className = "ab-ios-scroll-wrapper"), e.appendChild(
|
|
70
|
+
(e.className = "ab-ios-scroll-wrapper"), e.appendChild(i), (t.yo = e), e
|
|
71
71
|
);
|
|
72
72
|
}
|
|
73
|
-
return (t.
|
|
73
|
+
return (t.yo = i), i;
|
|
74
74
|
}
|