@braze/web-sdk 5.1.0 → 5.2.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 (76) hide show
  1. package/index.d.ts +14 -8
  2. package/package.json +1 -1
  3. package/shared-lib/encoding-utils.js +1 -1
  4. package/shared-lib/event-types.js +18 -18
  5. package/shared-lib/indexed-db-adapter.js +32 -32
  6. package/shared-lib/logger.js +2 -2
  7. package/shared-lib/supported-options.js +22 -21
  8. package/src/InAppMessage/display/html-message-to-html.js +38 -35
  9. package/src/InAppMessage/display/in-app-message-to-html.js +2 -2
  10. package/src/InAppMessage/display/modal-utils.js +2 -2
  11. package/src/InAppMessage/in-app-message-factory.js +21 -19
  12. package/src/InAppMessage/in-app-message-manager.js +58 -78
  13. package/src/InAppMessage/log-in-app-message-button-click.js +2 -2
  14. package/src/InAppMessage/log-in-app-message-click.js +3 -3
  15. package/src/InAppMessage/log-in-app-message-html-click.js +3 -3
  16. package/src/InAppMessage/log-in-app-message-impression.js +1 -1
  17. package/src/InAppMessage/models/control-message.js +4 -2
  18. package/src/InAppMessage/models/full-screen-message.js +5 -2
  19. package/src/InAppMessage/models/html-message.js +6 -4
  20. package/src/InAppMessage/models/in-app-message-button.js +2 -2
  21. package/src/InAppMessage/models/in-app-message.js +51 -46
  22. package/src/InAppMessage/models/modal-message.js +5 -2
  23. package/src/InAppMessage/models/slide-up-message.js +33 -8
  24. package/src/InAppMessage/models/templated-in-app-message.js +8 -8
  25. package/src/InAppMessage/ui/show-in-app-message.js +28 -34
  26. package/src/InAppMessage/utils/in-app-message-utils.js +18 -1
  27. package/src/Push/push-manager-factory.js +3 -3
  28. package/src/Push/push-manager.js +118 -110
  29. package/src/Push/utils/push-utils.js +4 -4
  30. package/src/User/user-manager.js +4 -4
  31. package/src/User/user.js +17 -17
  32. package/src/common/base-feed.js +1 -1
  33. package/src/common/feed-display.js +12 -12
  34. package/src/l10n/l10n-manager-factory.js +1 -1
  35. package/src/l10n/l10n-manager.js +4 -4
  36. package/src/managers/auth-manager.js +26 -26
  37. package/src/managers/braze-instance.js +59 -52
  38. package/src/managers/device-manager.js +15 -15
  39. package/src/managers/network-manager.js +98 -93
  40. package/src/managers/server-config-manager.js +9 -9
  41. package/src/managers/storage-manager.js +99 -96
  42. package/src/managers/utils.js +6 -0
  43. package/src/models/backend-errors.js +5 -5
  44. package/src/models/braze-event.js +20 -12
  45. package/src/models/device.js +3 -3
  46. package/src/models/identifier.js +33 -19
  47. package/src/models/push-token.js +4 -4
  48. package/src/models/server-config.js +6 -6
  49. package/src/request-controller.js +77 -73
  50. package/src/triggers/models/custom-event-data.js +2 -2
  51. package/src/triggers/models/custom-event-property-data.js +4 -4
  52. package/src/triggers/models/filter-set.js +5 -5
  53. package/src/triggers/models/filter.js +6 -6
  54. package/src/triggers/models/in-app-message-click-data.js +1 -1
  55. package/src/triggers/models/purchase-data.js +2 -2
  56. package/src/triggers/models/purchase-property-data.js +4 -4
  57. package/src/triggers/models/push-click-data.js +1 -1
  58. package/src/triggers/models/trigger-condition.js +41 -41
  59. package/src/triggers/models/trigger-events.js +1 -1
  60. package/src/triggers/models/trigger.js +36 -36
  61. package/src/triggers/triggers-provider-factory.js +1 -1
  62. package/src/triggers/triggers-provider.js +71 -82
  63. package/src/ui/js/attach-css.js +2 -2
  64. package/src/ui/js/load-font-awesome.js +1 -1
  65. package/src/util/base-device-parser.js +1 -1
  66. package/src/util/braze-actions.js +4 -4
  67. package/src/util/browser-detector.js +9 -8
  68. package/src/util/client-hints-parser.js +1 -1
  69. package/src/util/component-utils.js +2 -2
  70. package/src/util/device-constants.js +2 -2
  71. package/src/util/key-codes.js +1 -1
  72. package/src/util/net.js +1 -1
  73. package/src/util/request-header-utils.js +6 -6
  74. package/src/util/user-agent-parser.js +5 -5
  75. package/src/util/validation-utils.js +2 -0
  76. package/src/util/window-utils.js +3 -3
@@ -9,7 +9,7 @@ class ui {
9
9
  (this.browser = this.Sg.tf()),
10
10
  (this.version = this.Sg.ef()),
11
11
  (this.OS = null),
12
- this.Oa().then((t) => (this.OS = t));
12
+ this.Da().then((t) => (this.OS = t));
13
13
  const i = navigator;
14
14
  (this.language = (
15
15
  i.userLanguage ||
@@ -20,16 +20,16 @@ class ui {
20
20
  ).toLowerCase()),
21
21
  (this.Qo = ui.vg(this.userAgent));
22
22
  }
23
- OE() {
23
+ dE() {
24
24
  return this.browser === gi.Bg;
25
25
  }
26
- Ga() {
26
+ Fa() {
27
27
  return this.OS || null;
28
28
  }
29
- Oa() {
29
+ Da() {
30
30
  return this.OS
31
31
  ? Promise.resolve(this.OS)
32
- : this.Sg.Oa(ui.Og).then((t) => ((this.OS = t), t));
32
+ : this.Sg.Da(ui.kg).then((t) => ((this.OS = t), t));
33
33
  }
34
34
  static vg(t) {
35
35
  t = t.toLowerCase();
@@ -50,14 +50,15 @@ class ui {
50
50
  "adsbot",
51
51
  "mediapartners-google",
52
52
  "teoma",
53
+ "taiko",
53
54
  ];
54
55
  for (let n = 0; n < i.length; n++) if (-1 !== t.indexOf(i[n])) return !0;
55
56
  return !1;
56
57
  }
57
58
  }
58
- ui.Og = [
59
- { string: navigator.platform, if: "Win", identity: Y.Pg },
60
- { string: navigator.platform, if: "Mac", identity: Y.kg },
59
+ ui.kg = [
60
+ { string: navigator.platform, if: "Win", identity: Y.Og },
61
+ { string: navigator.platform, if: "Mac", identity: Y.Pg },
61
62
  { string: navigator.platform, if: "BlackBerry", identity: "BlackBerry" },
62
63
  { string: navigator.platform, if: "FreeBSD", identity: "FreeBSD" },
63
64
  { string: navigator.platform, if: "OpenBSD", identity: "OpenBSD" },
@@ -21,7 +21,7 @@ export default class ai extends ge {
21
21
  ef() {
22
22
  return this.version;
23
23
  }
24
- Oa(t) {
24
+ Da(t) {
25
25
  if (this.OS) return Promise.resolve(this.OS);
26
26
  const s = (s) => {
27
27
  for (let r = 0; r < t.length; r++) {
@@ -1,5 +1,5 @@
1
1
  import { addPassiveEventListener as oe, buildSvg as ae } from "./dom-utils.js";
2
- import { KeyCodes as at } from "./key-codes.js";
2
+ import { KeyCodes as lt } from "./key-codes.js";
3
3
  export function createCloseButton(t, o, e) {
4
4
  const n = document.createElement("button");
5
5
  n.setAttribute("aria-label", t),
@@ -15,7 +15,7 @@ export function createCloseButton(t, o, e) {
15
15
  return (
16
16
  n.appendChild(r),
17
17
  n.addEventListener("keydown", (t) => {
18
- (t.keyCode !== at.To && t.keyCode !== at.Eo) ||
18
+ (t.keyCode !== lt.Fo && t.keyCode !== lt.To) ||
19
19
  (e(), t.stopPropagation());
20
20
  }),
21
21
  (n.onclick = (t) => {
@@ -8,6 +8,6 @@ export const Browsers = {
8
8
  export const OperatingSystems = {
9
9
  xg: "Android",
10
10
  io: "iOS",
11
- kg: "Mac",
12
- Pg: "Windows",
11
+ Pg: "Mac",
12
+ Og: "Windows",
13
13
  };
@@ -1 +1 @@
1
- export const KeyCodes = { To: 32, lo: 9, Eo: 13, _h: 27 };
1
+ export const KeyCodes = { Fo: 32, lo: 9, To: 13, mh: 27 };
package/src/util/net.js CHANGED
@@ -28,7 +28,7 @@ const C = {
28
28
  (r = e.getAllResponseHeaders());
29
29
  } catch (o) {
30
30
  const n = {
31
- error: "" === e.responseText ? qt.Ka : qt.La,
31
+ error: "" === e.responseText ? qt.Ra : qt.Ba,
32
32
  response: e.responseText,
33
33
  };
34
34
  (0, t.L)(n, r);
@@ -1,12 +1,12 @@
1
1
  import { REQUEST_ATTEMPT_DEFAULT as Ae } from "../common/constants.js";
2
2
  import { STORAGE_KEYS as o } from "../managers/storage-manager.js";
3
3
  const S = {
4
- Gs: { Qa: "d", Bs: "cc", qi: "ff", Cr: "t" },
4
+ Gs: { La: "d", Bs: "cc", qi: "ff", _r: "t" },
5
5
  ii: {
6
- Qa: "/data",
6
+ La: "/data",
7
7
  Bs: "/content_cards/sync",
8
8
  qi: "/feature_flags/sync",
9
- Cr: "/template",
9
+ _r: "/template",
10
10
  },
11
11
  mc: (e) => (null == e ? void 0 : e.j(o.C.EE)),
12
12
  Ac: (e) => (null == e ? void 0 : e.j(o.C.lE)),
@@ -16,14 +16,14 @@ const S = {
16
16
  Rc: (e, t) => {
17
17
  null == e || e.k(o.C.lE, t);
18
18
  },
19
- Yh: (e, t) => {
19
+ Wa: (e, t) => {
20
20
  if (!e || !t) return -1;
21
21
  const s = S.mc(e);
22
22
  if (null == s) return -1;
23
23
  const n = s[t];
24
24
  return null == n || isNaN(n) ? -1 : n;
25
25
  },
26
- Jh: (e, t) => {
26
+ Ya: (e, t) => {
27
27
  let s = Ae;
28
28
  if (!e || !t) return s;
29
29
  const n = S.Ac(e);
@@ -41,7 +41,7 @@ const S = {
41
41
  },
42
42
  si: (e, t) => {
43
43
  if (!e || !t) return;
44
- const s = S.Jh(e, t);
44
+ const s = S.Ya(e, t);
45
45
  S.Ys(e, t, s + 1);
46
46
  },
47
47
  };
@@ -2,21 +2,21 @@ import ge from "./base-device-parser.js";
2
2
  import { Browsers as gi, OperatingSystems as Y } from "./device-constants.js";
3
3
  export default class oi extends ge {
4
4
  constructor() {
5
- super(), (this.ud = oi.hc(navigator.userAgent || ""));
5
+ super(), (this.nd = oi.hc(navigator.userAgent || ""));
6
6
  }
7
7
  tf() {
8
- return this.ud[0] || "Unknown Browser";
8
+ return this.nd[0] || "Unknown Browser";
9
9
  }
10
10
  ef() {
11
- return this.ud[1] || "Unknown Version";
11
+ return this.nd[1] || "Unknown Version";
12
12
  }
13
- Oa(r) {
13
+ Da(r) {
14
14
  for (let n = 0; n < r.length; n++) {
15
15
  const e = r[n].string;
16
16
  let i = oi.rf(e, r[n]);
17
17
  if (i)
18
18
  return (
19
- i === Y.kg && navigator.maxTouchPoints > 1 && (i = Y.io),
19
+ i === Y.Pg && navigator.maxTouchPoints > 1 && (i = Y.io),
20
20
  Promise.resolve(i)
21
21
  );
22
22
  }
@@ -19,6 +19,8 @@ export const CUSTOM_ATTRIBUTE_RESERVED_OPERATORS = [
19
19
  "$identifier_value",
20
20
  "$new_object",
21
21
  "$time",
22
+ "$google_ad_personalization",
23
+ "$google_ad_user_data",
22
24
  ];
23
25
  export const EMAIL_ADDRESS_REGEX = new RegExp(/^.+@.+\..+$/);
24
26
  export const CUSTOM_PROPERTIES_MAX_SIZE_BYTES = 51200;
@@ -28,7 +28,7 @@ export function _getCurrentUrl() {
28
28
  }
29
29
  export const WindowUtils = {
30
30
  openUri: _openUri,
31
- jo: _isPhone,
32
- bo: _getOrientation,
33
- Tn: _getCurrentUrl,
31
+ fo: _isPhone,
32
+ jo: _getOrientation,
33
+ Un: _getCurrentUrl,
34
34
  };