@braze/web-sdk 6.12.1 → 6.13.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 +240 -3
- package/package.json +1 -1
- package/shared-lib/event-types.js +18 -18
- package/shared-lib/indexed-db-adapter.js +58 -58
- package/shared-lib/logger.js +7 -7
- package/shared-lib/supported-options.js +25 -24
- package/src/ConversationalChat/automatically-manage-chat.js +5 -0
- package/src/ConversationalChat/chat-message-factory.js +25 -0
- package/src/ConversationalChat/chat-message.js +33 -0
- package/src/ConversationalChat/constants.js +1 -0
- package/src/ConversationalChat/conversational-chat-provider-factory.js +26 -0
- package/src/ConversationalChat/conversational-chat-provider.js +372 -0
- package/src/ConversationalChat/display/chat-widget-manager.js +113 -0
- package/src/ConversationalChat/display/chat-widget-to-html.js +58 -0
- package/src/ConversationalChat/get-chat-messages.js +7 -0
- package/src/ConversationalChat/index.js +12 -0
- package/src/ConversationalChat/is-chat-conversation-ended.js +7 -0
- package/src/ConversationalChat/is-chat-turn-errored.js +7 -0
- package/src/ConversationalChat/is-chat-turn-in-progress.js +7 -0
- package/src/ConversationalChat/register-chat-action-handler.js +10 -0
- package/src/ConversationalChat/reset-chat-conversation.js +5 -0
- package/src/ConversationalChat/retrieve-chat-config.js +7 -0
- package/src/ConversationalChat/send-chat-message.js +17 -0
- package/src/ConversationalChat/subscribe-to-chat-action.js +5 -0
- package/src/ConversationalChat/subscribe-to-chat-conversation-updated.js +5 -0
- package/src/ConversationalChat/subscribe-to-chat-message-received.js +5 -0
- package/src/ConversationalChat/trigger-chat-action.js +11 -0
- package/src/ConversationalChat/types.js +1 -0
- package/src/Core/add-sdk-metadata.js +5 -5
- package/src/Core/change-user.js +6 -6
- package/src/Core/disable-sdk.js +6 -6
- package/src/Core/enable-sdk.js +3 -3
- package/src/Core/get-device-id.js +2 -2
- package/src/Core/handle-braze-action.js +20 -13
- package/src/Core/is-disabled.js +1 -1
- package/src/Core/is-initialized.js +1 -1
- package/src/Core/log-custom-event.js +9 -9
- package/src/Core/log-ecommerce-event.js +4 -4
- package/src/Core/log-purchase.js +14 -14
- package/src/Core/open-session.js +8 -8
- package/src/Core/set-sdk-authentication-signature.js +3 -3
- package/src/Core/subscribe-to-sdk-authentication-failures.js +1 -1
- package/src/Core/wipe-data.js +1 -1
- package/src/DUST/dust-config-store.js +35 -35
- package/src/DUST/dust-message-dedup.js +3 -3
- package/src/DUST/dust-provider-factory.js +10 -10
- package/src/DUST/dust-provider.js +234 -234
- package/src/DUST/subscribe-to-dust.js +7 -7
- package/src/FeatureFlags/feature-flag-factory.js +2 -2
- package/src/FeatureFlags/feature-flag.js +4 -4
- package/src/FeatureFlags/feature-flags-provider-factory.js +11 -11
- package/src/FeatureFlags/feature-flags-provider.js +38 -38
- package/src/FeatureFlags/get-all-feature-flags.js +3 -3
- package/src/FeatureFlags/get-feature-flag.js +3 -3
- package/src/FeatureFlags/log-feature-flag-impression.js +4 -4
- package/src/FeatureFlags/refresh-feature-flags.js +5 -5
- package/src/FeatureFlags/subscribe-to-feature-flags-updates.js +3 -3
- package/src/InAppMessage/defer-in-app-message.js +1 -1
- package/src/InAppMessage/display/html-message-display-utils.js +4 -4
- package/src/InAppMessage/display/html-message-to-html.js +13 -13
- package/src/InAppMessage/display/in-app-message-to-html.js +20 -20
- package/src/InAppMessage/display/modal-utils.js +7 -7
- package/src/InAppMessage/in-app-message-factory.js +6 -6
- package/src/InAppMessage/in-app-message-manager.js +92 -92
- package/src/InAppMessage/log-in-app-message-button-click.js +9 -9
- package/src/InAppMessage/log-in-app-message-click.js +7 -7
- package/src/InAppMessage/log-in-app-message-html-click.js +6 -6
- package/src/InAppMessage/log-in-app-message-impression.js +3 -3
- package/src/InAppMessage/models/full-screen-message.js +39 -39
- package/src/InAppMessage/models/html-message.js +20 -20
- package/src/InAppMessage/models/in-app-message-button.js +2 -2
- package/src/InAppMessage/models/in-app-message.js +102 -102
- package/src/InAppMessage/models/modal-message.js +38 -38
- package/src/InAppMessage/models/slide-up-message.js +34 -34
- 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/remove-all-visible-in-app-messages.js +3 -3
- package/src/InAppMessage/ui/show-in-app-message.js +23 -23
- 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 +15 -15
- package/src/Push/push-manager.js +13 -13
- package/src/Push/register-push.js +2 -2
- package/src/Push/request-push-permission.js +2 -2
- package/src/Push/unregister-push-token-on-server.js +3 -3
- package/src/Push/unregister-push.js +3 -3
- package/src/Push/utils/push-utils.js +15 -15
- package/src/User/user-manager.js +9 -9
- package/src/User/user.js +50 -50
- package/src/common/constants.js +1 -1
- package/src/common/content-cards-display.js +22 -22
- package/src/common/event-logger.js +3 -3
- package/src/index.js +2 -9
- package/src/l10n/l10n-manager-factory.js +4 -4
- package/src/l10n/l10n-manager.js +6 -6
- package/src/managers/auth-manager.js +28 -28
- package/src/managers/braze-action-manager.js +14 -0
- package/src/managers/braze-instance.js +159 -151
- package/src/managers/device-manager.js +26 -26
- package/src/managers/network-manager.js +120 -120
- package/src/managers/server-config-manager.js +95 -86
- package/src/managers/session-manager.js +25 -25
- package/src/managers/storage-manager-factory.js +12 -12
- package/src/managers/storage-manager.js +129 -124
- package/src/managers/subscription-manager.js +8 -8
- package/src/models/backend-errors.js +5 -5
- package/src/models/braze-event.js +5 -5
- package/src/models/device.js +2 -2
- package/src/models/identifier.js +8 -8
- package/src/models/push-token.js +6 -6
- package/src/models/request-result.js +2 -2
- package/src/models/server-config.js +27 -27
- package/src/request-controller.js +117 -117
- package/src/standard-index.js +9 -0
- package/src/triggers/models/custom-event-data.js +4 -4
- package/src/triggers/models/custom-event-property-data.js +5 -5
- package/src/triggers/models/filter-set.js +5 -5
- package/src/triggers/models/filter.js +31 -31
- package/src/triggers/models/in-app-message-click-data.js +9 -9
- package/src/triggers/models/purchase-data.js +1 -1
- package/src/triggers/models/purchase-property-data.js +5 -5
- package/src/triggers/models/push-click-data.js +4 -4
- package/src/triggers/models/trigger-condition.js +35 -35
- package/src/triggers/models/trigger-events.js +3 -3
- package/src/triggers/models/trigger.js +36 -36
- package/src/triggers/triggers-provider-factory.js +5 -5
- package/src/triggers/triggers-provider.js +128 -128
- package/src/types.js +2 -2
- package/src/ui/js/attach-css.js +1 -1
- package/src/ui/js/chat-widget-css.js +11 -0
- package/src/ui/js/load-font-awesome.js +1 -1
- package/src/util/base-device-parser.js +7 -7
- package/src/util/braze-actions.js +5 -5
- package/src/util/browser-detector.js +41 -41
- package/src/util/client-hints-parser.js +10 -10
- package/src/util/component-utils.js +1 -1
- package/src/util/date-utils.js +2 -2
- package/src/util/device-constants.js +5 -5
- package/src/util/dom-utils.js +8 -8
- package/src/util/ecommerce-event-validation.js +13 -13
- package/src/util/html-display-utils.js +6 -6
- package/src/util/key-codes.js +1 -1
- package/src/util/net.js +82 -44
- package/src/util/request-header-utils.js +26 -24
- package/src/util/user-agent-parser.js +21 -21
- package/src/util/validation-utils.js +29 -21
- package/src/util/window-utils.js +3 -3
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isArray as g,
|
|
3
|
-
isDate as
|
|
4
|
-
isObject as
|
|
3
|
+
isDate as Kt,
|
|
4
|
+
isObject as Yt,
|
|
5
5
|
keys as C,
|
|
6
6
|
} from "./code-utils.js";
|
|
7
|
-
import { getByteLength as
|
|
7
|
+
import { getByteLength as sr } from "./string-utils.js";
|
|
8
8
|
import { logger as b } from "../../shared-lib/index.js";
|
|
9
|
-
import { toValidBackendTimeString as
|
|
9
|
+
import { toValidBackendTimeString as Zt } from "./date-utils.js";
|
|
10
10
|
import { BRAZE_ACTIONS as oo } from "./braze-actions.js";
|
|
11
|
+
import r from "../managers/braze-instance.js";
|
|
11
12
|
import { CoreStrings as R } from "../common/constants.js";
|
|
12
13
|
export const CUSTOM_DATA_REGEX = /^[^\x00-\x1F\x22]+$/;
|
|
13
14
|
export const CUSTOM_ATTRIBUTE_SPECIAL_CHARS_REGEX = /[$.]/;
|
|
@@ -50,7 +51,7 @@ export function validateCustomAttributeKey(t) {
|
|
|
50
51
|
export function validatePropertyType(t) {
|
|
51
52
|
const e = typeof t;
|
|
52
53
|
return (
|
|
53
|
-
null == t || "number" === e || "boolean" === e ||
|
|
54
|
+
null == t || "number" === e || "boolean" === e || Kt(t) || "string" === e
|
|
54
55
|
);
|
|
55
56
|
}
|
|
56
57
|
export function _validateNestedProperties(t, e, r) {
|
|
@@ -61,17 +62,17 @@ export function _validateNestedProperties(t, e, r) {
|
|
|
61
62
|
if (g(t) && g(e)) {
|
|
62
63
|
for (let r = 0; r < t.length && r < e.length; r++)
|
|
63
64
|
if (
|
|
64
|
-
(
|
|
65
|
+
(Kt(t[r]) && (e[r] = Zt(t[r])),
|
|
65
66
|
!_validateNestedProperties(t[r], e[r], o))
|
|
66
67
|
)
|
|
67
68
|
return !1;
|
|
68
69
|
} else {
|
|
69
|
-
if (!
|
|
70
|
+
if (!Yt(t)) return validatePropertyType(t);
|
|
70
71
|
for (const r of C(t)) {
|
|
71
72
|
const i = t[r];
|
|
72
73
|
if (n && !validateCustomAttributeKey(r)) return !1;
|
|
73
|
-
if (
|
|
74
|
-
e[r] =
|
|
74
|
+
if (Kt(i)) {
|
|
75
|
+
e[r] = Zt(i);
|
|
75
76
|
}
|
|
76
77
|
if (!_validateNestedProperties(i, e[r], o)) return !1;
|
|
77
78
|
}
|
|
@@ -82,7 +83,7 @@ export function _validateEventPropertyValue(t, e, r, n, o) {
|
|
|
82
83
|
let i;
|
|
83
84
|
return (
|
|
84
85
|
(i =
|
|
85
|
-
|
|
86
|
+
Yt(t) || g(t)
|
|
86
87
|
? _validateNestedProperties(t, e, o ? 1 : -1)
|
|
87
88
|
: validatePropertyType(t)),
|
|
88
89
|
i || b.error(`Cannot ${r} because ${n} "${t}" is invalid.`),
|
|
@@ -102,7 +103,7 @@ export function validateCustomProperties(t, e, r, n, o) {
|
|
|
102
103
|
let i, a;
|
|
103
104
|
e === R.Mu ? ((i = 76800), (a = "75KB")) : ((i = 51200), (a = "50KB"));
|
|
104
105
|
const s = JSON.stringify(t);
|
|
105
|
-
if (
|
|
106
|
+
if (sr(s) > i)
|
|
106
107
|
return (
|
|
107
108
|
b.error(
|
|
108
109
|
`Could not ${n} because ${r} was greater than the max size of ${a}.`,
|
|
@@ -127,7 +128,7 @@ export function validateCustomProperties(t, e, r, n, o) {
|
|
|
127
128
|
delete t[r], delete u[r];
|
|
128
129
|
continue;
|
|
129
130
|
}
|
|
130
|
-
|
|
131
|
+
Kt(i) && (u[r] = Zt(i));
|
|
131
132
|
if (
|
|
132
133
|
!_validateEventPropertyValue(
|
|
133
134
|
i,
|
|
@@ -162,7 +163,7 @@ export function validateCustomAttributeArrayType(t, e) {
|
|
|
162
163
|
return [!1, !1];
|
|
163
164
|
r = !0;
|
|
164
165
|
} else {
|
|
165
|
-
if (!
|
|
166
|
+
if (!Yt(i)) return o(), [!1, !1];
|
|
166
167
|
if (r) return o(), [!1, !1];
|
|
167
168
|
if (
|
|
168
169
|
!validateCustomProperties(
|
|
@@ -185,7 +186,8 @@ export function isValidEmail(t) {
|
|
|
185
186
|
}
|
|
186
187
|
export function isValidBrazeActionJson(t) {
|
|
187
188
|
if (!(oo.properties.type in t)) return !1;
|
|
188
|
-
|
|
189
|
+
const e = t[oo.properties.type];
|
|
190
|
+
switch (e) {
|
|
189
191
|
case oo.types.io:
|
|
190
192
|
if (oo.properties.eo in t) return !0;
|
|
191
193
|
break;
|
|
@@ -197,25 +199,31 @@ export function isValidBrazeActionJson(t) {
|
|
|
197
199
|
case oo.types.removeFromSubscriptionGroup:
|
|
198
200
|
case oo.types.addToCustomAttributeArray:
|
|
199
201
|
case oo.types.removeFromCustomAttributeArray:
|
|
202
|
+
case oo.types.co:
|
|
200
203
|
case oo.types.mo:
|
|
201
|
-
case oo.types.uo:
|
|
202
204
|
if (oo.properties.so in t) return !0;
|
|
203
205
|
break;
|
|
204
206
|
case oo.types.requestPushPermission:
|
|
205
207
|
return !0;
|
|
206
|
-
default:
|
|
207
|
-
|
|
208
|
+
default: {
|
|
209
|
+
const n = r.br();
|
|
210
|
+
return null != n && n.dl(e) && oo.properties.so in t;
|
|
211
|
+
}
|
|
208
212
|
}
|
|
209
213
|
return !1;
|
|
210
214
|
}
|
|
211
215
|
export function isValidBrazeActionType(t) {
|
|
212
216
|
let e = !1;
|
|
213
|
-
|
|
214
|
-
Object.keys(oo.types).forEach((r) => {
|
|
217
|
+
if (
|
|
218
|
+
(Object.keys(oo.types).forEach((r) => {
|
|
215
219
|
oo.types[r] !== t.toString() || (e = !0);
|
|
216
220
|
}),
|
|
217
|
-
e
|
|
218
|
-
)
|
|
221
|
+
!e)
|
|
222
|
+
) {
|
|
223
|
+
const n = r.br();
|
|
224
|
+
null != n && n.dl(t) && (e = !0);
|
|
225
|
+
}
|
|
226
|
+
return e;
|
|
219
227
|
}
|
|
220
228
|
export function isValidBannerPlacementId(t) {
|
|
221
229
|
return VALID_UTF8_STRING_NO_WHITESPACES_REGEX.test(t);
|
package/src/util/window-utils.js
CHANGED