@braze/web-sdk 4.9.0 → 4.10.1

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 (202) hide show
  1. package/index.d.ts +2296 -2235
  2. package/package.json +1 -1
  3. package/shared-lib/braze-shared-lib.js +1 -8
  4. package/shared-lib/encoding-utils.js +1 -12
  5. package/shared-lib/event-types.js +1 -34
  6. package/shared-lib/guid.js +1 -10
  7. package/shared-lib/indexed-db-adapter.js +1 -352
  8. package/shared-lib/logger.js +1 -38
  9. package/shared-lib/supported-options.js +1 -26
  10. package/shared-lib/types.js +1 -1
  11. package/src/Card/card-manager-factory.js +1 -14
  12. package/src/Card/card-manager.js +1 -78
  13. package/src/Card/display/card-display.js +1 -138
  14. package/src/Card/index.js +1 -6
  15. package/src/Card/log-card-click.js +1 -11
  16. package/src/Card/log-card-dismissal.js +1 -11
  17. package/src/Card/log-card-impressions.js +1 -13
  18. package/src/Card/log-content-card-click.js +1 -4
  19. package/src/Card/log-content-card-impressions.js +1 -4
  20. package/src/Card/models/banner.js +1 -31
  21. package/src/Card/models/captioned-image.js +1 -33
  22. package/src/Card/models/card.js +1 -196
  23. package/src/Card/models/classic-card.js +1 -32
  24. package/src/Card/models/control-card.js +1 -23
  25. package/src/Card/models/image-only.js +1 -32
  26. package/src/Card/models/index.js +1 -6
  27. package/src/Card/types.js +1 -1
  28. package/src/Card/util/card-factory.js +1 -104
  29. package/src/ContentCards/content-cards-provider-factory.js +1 -20
  30. package/src/ContentCards/content-cards-provider.js +1 -391
  31. package/src/ContentCards/content-cards.js +1 -24
  32. package/src/ContentCards/get-cached-content-cards.js +1 -5
  33. package/src/ContentCards/index.js +1 -8
  34. package/src/ContentCards/log-content-cards-displayed.js +1 -5
  35. package/src/ContentCards/request-content-cards-refresh.js +1 -5
  36. package/src/ContentCards/subscribe-to-content-cards-updates.js +1 -17
  37. package/src/ContentCards/types.js +1 -1
  38. package/src/ContentCards/ui/hide-content-cards.js +1 -8
  39. package/src/ContentCards/ui/show-content-cards.js +1 -77
  40. package/src/ContentCards/ui/toggle-content-cards.js +1 -8
  41. package/src/Core/add-sdk-metadata.js +1 -26
  42. package/src/Core/braze-sdk-metadata.js +1 -10
  43. package/src/Core/change-user.js +1 -17
  44. package/src/Core/destroy.js +1 -5
  45. package/src/Core/device-properties.js +1 -9
  46. package/src/Core/disable-sdk.js +1 -15
  47. package/src/Core/enable-sdk.js +1 -11
  48. package/src/Core/get-device-id.js +1 -11
  49. package/src/Core/get-user.js +1 -4
  50. package/src/Core/handle-braze-action.js +1 -87
  51. package/src/Core/index.js +1 -23
  52. package/src/Core/initialize.js +1 -4
  53. package/src/Core/is-disabled.js +1 -4
  54. package/src/Core/log-custom-event.js +1 -38
  55. package/src/Core/log-purchase.js +1 -245
  56. package/src/Core/open-session.js +1 -25
  57. package/src/Core/remove-all-subscriptions.js +1 -4
  58. package/src/Core/remove-subscription.js +1 -4
  59. package/src/Core/request-immediate-data-flush.js +1 -6
  60. package/src/Core/set-logger.js +1 -4
  61. package/src/Core/set-sdk-authentication-signature.js +1 -8
  62. package/src/Core/subscribe-to-sdk-authentication-failures.js +1 -6
  63. package/src/Core/toggle-logging.js +1 -4
  64. package/src/Core/types.js +1 -1
  65. package/src/Core/wipe-data.js +1 -16
  66. package/src/FeatureFlags/feature-flag-factory.js +1 -24
  67. package/src/FeatureFlags/feature-flag.js +1 -64
  68. package/src/FeatureFlags/feature-flags-provider-factory.js +1 -19
  69. package/src/FeatureFlags/feature-flags-provider.js +1 -145
  70. package/src/FeatureFlags/get-all-feature-flags.js +1 -12
  71. package/src/FeatureFlags/get-feature-flag.js +1 -12
  72. package/src/FeatureFlags/index.js +1 -6
  73. package/src/FeatureFlags/log-feature-flag-impression.js +1 -23
  74. package/src/FeatureFlags/refresh-feature-flags.js +1 -9
  75. package/src/FeatureFlags/subscribe-to-feature-flags-updates.js +1 -9
  76. package/src/FeatureFlags/types.js +1 -1
  77. package/src/Feed/feed-provider-factory.js +1 -18
  78. package/src/Feed/feed-provider.js +1 -90
  79. package/src/Feed/feed.js +1 -20
  80. package/src/Feed/get-cached-feed.js +1 -5
  81. package/src/Feed/index.js +1 -8
  82. package/src/Feed/log-feed-displayed.js +1 -7
  83. package/src/Feed/request-feed-refresh.js +1 -5
  84. package/src/Feed/subscribe-to-feed-updates.js +1 -5
  85. package/src/Feed/types.js +1 -1
  86. package/src/Feed/ui/hide-feed.js +1 -7
  87. package/src/Feed/ui/show-feed.js +1 -96
  88. package/src/Feed/ui/toggle-feed.js +1 -8
  89. package/src/InAppMessage/defer-in-app-message.js +1 -13
  90. package/src/InAppMessage/display/get-animation-effect.js +1 -19
  91. package/src/InAppMessage/display/html-message-to-html.js +1 -244
  92. package/src/InAppMessage/display/in-app-message-to-html.js +1 -188
  93. package/src/InAppMessage/display/modal-utils.js +1 -73
  94. package/src/InAppMessage/get-deferred-in-app-message.js +1 -5
  95. package/src/InAppMessage/in-app-message-factory.js +1 -166
  96. package/src/InAppMessage/in-app-message-manager-factory.js +1 -16
  97. package/src/InAppMessage/in-app-message-manager.js +1 -248
  98. package/src/InAppMessage/index.js +1 -16
  99. package/src/InAppMessage/log-in-app-message-button-click.js +1 -27
  100. package/src/InAppMessage/log-in-app-message-click.js +1 -19
  101. package/src/InAppMessage/log-in-app-message-html-click.js +1 -23
  102. package/src/InAppMessage/log-in-app-message-impression.js +1 -13
  103. package/src/InAppMessage/models/control-message.js +1 -11
  104. package/src/InAppMessage/models/full-screen-message.js +1 -105
  105. package/src/InAppMessage/models/html-message.js +1 -68
  106. package/src/InAppMessage/models/in-app-message-button.js +1 -47
  107. package/src/InAppMessage/models/in-app-message.js +1 -382
  108. package/src/InAppMessage/models/modal-message.js +1 -101
  109. package/src/InAppMessage/models/slide-up-message.js +1 -84
  110. package/src/InAppMessage/models/templated-in-app-message.js +1 -19
  111. package/src/InAppMessage/subscribe-to-in-app-message.js +1 -10
  112. package/src/InAppMessage/types.js +1 -1
  113. package/src/InAppMessage/ui/automatically-show-in-app-messages.js +1 -15
  114. package/src/InAppMessage/ui/show-in-app-message.js +1 -181
  115. package/src/InAppMessage/utils/in-app-message-utils.js +1 -1
  116. package/src/Push/index.js +1 -5
  117. package/src/Push/is-push-blocked.js +1 -5
  118. package/src/Push/is-push-permission-granted.js +1 -5
  119. package/src/Push/is-push-supported.js +1 -5
  120. package/src/Push/push-manager-factory.js +1 -30
  121. package/src/Push/push-manager.js +1 -387
  122. package/src/Push/request-push-permission.js +1 -9
  123. package/src/Push/types.js +1 -1
  124. package/src/Push/unregister-push.js +1 -5
  125. package/src/Push/utils/push-utils.js +1 -36
  126. package/src/User/index.js +1 -1
  127. package/src/User/types.js +1 -1
  128. package/src/User/user-manager.js +1 -73
  129. package/src/User/user.js +1 -301
  130. package/src/common/base-feed.js +1 -28
  131. package/src/common/base-provider.js +1 -6
  132. package/src/common/constants.js +1 -14
  133. package/src/common/event-logger.js +1 -31
  134. package/src/common/feed-display.js +1 -210
  135. package/src/common/translations.js +1 -148
  136. package/src/common/types.js +1 -1
  137. package/src/index.js +1 -9
  138. package/src/l10n/l10n-manager-factory.js +1 -22
  139. package/src/l10n/l10n-manager.js +1 -25
  140. package/src/l10n/types.js +1 -1
  141. package/src/managers/auth-manager.js +1 -51
  142. package/src/managers/braze-instance.js +1 -329
  143. package/src/managers/device-manager.js +1 -85
  144. package/src/managers/network-manager.js +1 -253
  145. package/src/managers/server-config-manager.js +1 -108
  146. package/src/managers/session-manager.js +1 -75
  147. package/src/managers/storage-manager-factory.js +1 -42
  148. package/src/managers/storage-manager.js +1 -419
  149. package/src/managers/subscription-manager.js +1 -28
  150. package/src/managers/types.js +1 -1
  151. package/src/models/backend-errors.js +1 -8
  152. package/src/models/braze-event.js +1 -47
  153. package/src/models/braze-sdk-metadata.js +1 -10
  154. package/src/models/device.js +1 -18
  155. package/src/models/identifier.js +1 -19
  156. package/src/models/push-token.js +1 -27
  157. package/src/models/request-result.js +1 -8
  158. package/src/models/server-config.js +1 -48
  159. package/src/models/types.js +1 -1
  160. package/src/request-controller.js +1 -307
  161. package/src/triggers/models/custom-event-data.js +1 -14
  162. package/src/triggers/models/custom-event-property-data.js +1 -21
  163. package/src/triggers/models/filter-set.js +1 -55
  164. package/src/triggers/models/filter.js +1 -102
  165. package/src/triggers/models/in-app-message-click-data.js +1 -25
  166. package/src/triggers/models/purchase-data.js +1 -14
  167. package/src/triggers/models/purchase-property-data.js +1 -21
  168. package/src/triggers/models/push-click-data.js +1 -15
  169. package/src/triggers/models/trigger-condition.js +1 -105
  170. package/src/triggers/models/trigger-events.js +1 -8
  171. package/src/triggers/models/trigger.js +1 -122
  172. package/src/triggers/triggers-provider-factory.js +1 -34
  173. package/src/triggers/triggers-provider.js +1 -326
  174. package/src/triggers/types.js +1 -1
  175. package/src/types.js +1 -1
  176. package/src/ui/js/attach-css.js +1 -13
  177. package/src/ui/js/feed-css.js +1 -12
  178. package/src/ui/js/iam-css.js +1 -12
  179. package/src/ui/js/index.js +1 -3
  180. package/src/ui/js/load-font-awesome.js +1 -13
  181. package/src/util/base-device-parser.js +1 -14
  182. package/src/util/braze-actions.js +1 -84
  183. package/src/util/browser-detector.js +1 -84
  184. package/src/util/client-hints-parser.js +1 -66
  185. package/src/util/code-utils.js +1 -100
  186. package/src/util/color-utils.js +1 -29
  187. package/src/util/component-utils.js +1 -26
  188. package/src/util/date-utils.js +1 -28
  189. package/src/util/deprecation-utils.js +1 -5
  190. package/src/util/device-constants.js +1 -14
  191. package/src/util/dom-utils.js +1 -91
  192. package/src/util/error-utils.js +1 -2
  193. package/src/util/key-codes.js +1 -1
  194. package/src/util/math.js +1 -5
  195. package/src/util/net.js +1 -71
  196. package/src/util/request-header-utils.js +1 -46
  197. package/src/util/string-utils.js +1 -22
  198. package/src/util/types.js +1 -1
  199. package/src/util/url-utils.js +1 -20
  200. package/src/util/user-agent-parser.js +1 -85
  201. package/src/util/validation-utils.js +1 -217
  202. package/src/util/window-utils.js +1 -34
@@ -1,101 +1 @@
1
- import { buttonsFromSerializedInAppMessage as pe } from "../in-app-message-factory.js";
2
- import InAppMessage from "./in-app-message.js";
3
- export default class ModalMessage extends InAppMessage {
4
- constructor(
5
- e,
6
- r,
7
- s,
8
- t,
9
- i,
10
- o,
11
- a,
12
- p,
13
- m,
14
- n,
15
- u,
16
- c,
17
- d,
18
- f,
19
- l,
20
- g,
21
- j,
22
- v,
23
- x,
24
- z,
25
- h,
26
- w,
27
- y,
28
- S,
29
- b,
30
- k,
31
- q,
32
- ) {
33
- super(
34
- e,
35
- r,
36
- void 0,
37
- s,
38
- t,
39
- i,
40
- o,
41
- a,
42
- (p = p || InAppMessage.DismissType.MANUAL),
43
- m,
44
- n,
45
- u,
46
- c,
47
- d,
48
- f,
49
- l,
50
- g,
51
- j,
52
- v,
53
- x,
54
- z,
55
- h,
56
- w,
57
- y,
58
- S,
59
- (b = b || InAppMessage.CropType.FIT_CENTER),
60
- void 0,
61
- k,
62
- q,
63
- ),
64
- (this.Te = InAppMessage.TextAlignment.CENTER);
65
- }
66
- ss() {
67
- return super.ss(ModalMessage.es);
68
- }
69
- static an(e) {
70
- return new ModalMessage(
71
- e[InAppMessage.hs.ea],
72
- e[InAppMessage.hs.ra],
73
- e[InAppMessage.hs.xs],
74
- e[InAppMessage.hs.sa],
75
- e[InAppMessage.hs.ta],
76
- e[InAppMessage.hs.URI],
77
- e[InAppMessage.hs.ia],
78
- e[InAppMessage.hs.oa],
79
- e[InAppMessage.hs.pa],
80
- e[InAppMessage.hs.ma],
81
- e[InAppMessage.hs.os],
82
- e[InAppMessage.hs.na],
83
- e[InAppMessage.hs.ua],
84
- e[InAppMessage.hs.ca],
85
- e[InAppMessage.hs.fa],
86
- e[InAppMessage.hs.da],
87
- e[InAppMessage.hs.la],
88
- e[InAppMessage.hs.ga],
89
- e[InAppMessage.hs.ja],
90
- e[InAppMessage.hs.xa],
91
- e[InAppMessage.hs.za],
92
- e[InAppMessage.hs.ha],
93
- e[InAppMessage.hs.va],
94
- pe(e[InAppMessage.hs.wa]),
95
- e[InAppMessage.hs.ya],
96
- e[InAppMessage.hs.ba],
97
- e[InAppMessage.hs.CSS],
98
- );
99
- }
100
- }
101
- ModalMessage.es = InAppMessage.qe.un;
1
+ import{buttonsFromSerializedInAppMessage as pe}from"../in-app-message-factory.js";import InAppMessage from"./in-app-message.js";export default class ModalMessage extends InAppMessage{constructor(e,r,s,t,i,o,a,p,m,n,u,c,d,f,l,g,j,v,x,z,h,w,y,S,b,k,q){super(e,r,void 0,s,t,i,o,a,p=p||InAppMessage.DismissType.MANUAL,m,n,u,c,d,f,l,g,j,v,x,z,h,w,y,S,b=b||InAppMessage.CropType.FIT_CENTER,void 0,k,q),this.Te=InAppMessage.TextAlignment.CENTER}ss(){return super.ss(ModalMessage.es)}static an(e){return new ModalMessage(e[InAppMessage.hs.ea],e[InAppMessage.hs.ra],e[InAppMessage.hs.xs],e[InAppMessage.hs.sa],e[InAppMessage.hs.ta],e[InAppMessage.hs.URI],e[InAppMessage.hs.ia],e[InAppMessage.hs.oa],e[InAppMessage.hs.pa],e[InAppMessage.hs.ma],e[InAppMessage.hs.os],e[InAppMessage.hs.na],e[InAppMessage.hs.ua],e[InAppMessage.hs.ca],e[InAppMessage.hs.fa],e[InAppMessage.hs.da],e[InAppMessage.hs.la],e[InAppMessage.hs.ga],e[InAppMessage.hs.ja],e[InAppMessage.hs.xa],e[InAppMessage.hs.za],e[InAppMessage.hs.ha],e[InAppMessage.hs.va],pe(e[InAppMessage.hs.wa]),e[InAppMessage.hs.ya],e[InAppMessage.hs.ba],e[InAppMessage.hs.CSS])}}ModalMessage.es=InAppMessage.qe.un;
@@ -1,84 +1 @@
1
- import InAppMessage from "./in-app-message.js";
2
- import { DOMUtils as ue } from "../../util/dom-utils.js";
3
- export default class SlideUpMessage extends InAppMessage {
4
- constructor(e, t, s, o, i, r, n, d, a, u, p, m, c, l, v, x, f, h, g, I, M) {
5
- (x = x || InAppMessage.th.Mh),
6
- (v = v || InAppMessage.th.Dh),
7
- super(
8
- e,
9
- (t = t || InAppMessage.TextAlignment.START),
10
- s,
11
- o,
12
- i,
13
- r,
14
- n,
15
- d,
16
- a,
17
- u,
18
- p,
19
- m,
20
- void 0,
21
- c,
22
- l,
23
- v,
24
- x,
25
- f,
26
- h,
27
- g,
28
- void 0,
29
- void 0,
30
- void 0,
31
- void 0,
32
- void 0,
33
- void 0,
34
- void 0,
35
- I,
36
- M,
37
- ),
38
- (this.Te = InAppMessage.TextAlignment.START);
39
- }
40
- xe() {
41
- return !1;
42
- }
43
- Ge() {
44
- const e = document.createElement("span");
45
- return e.appendChild(document.createTextNode(this.message || "")), e;
46
- }
47
- Ah(e) {
48
- const t = e.getElementsByClassName("ab-in-app-message")[0];
49
- ue.no(t, !0, !0) ||
50
- (this.slideFrom === InAppMessage.SlideFrom.TOP
51
- ? (t.style.top = "0px")
52
- : (t.style.bottom = "0px")),
53
- super.Ah(e);
54
- }
55
- ss() {
56
- return super.ss(SlideUpMessage.es);
57
- }
58
- static an(e) {
59
- return new SlideUpMessage(
60
- e[InAppMessage.hs.ea],
61
- e[InAppMessage.hs.ra],
62
- e[InAppMessage.hs.Sh],
63
- e[InAppMessage.hs.xs],
64
- e[InAppMessage.hs.sa],
65
- e[InAppMessage.hs.ta],
66
- e[InAppMessage.hs.URI],
67
- e[InAppMessage.hs.ia],
68
- e[InAppMessage.hs.oa],
69
- e[InAppMessage.hs.pa],
70
- e[InAppMessage.hs.ma],
71
- e[InAppMessage.hs.os],
72
- e[InAppMessage.hs.ua],
73
- e[InAppMessage.hs.ca],
74
- e[InAppMessage.hs.fa],
75
- e[InAppMessage.hs.da],
76
- e[InAppMessage.hs.la],
77
- e[InAppMessage.hs.ga],
78
- e[InAppMessage.hs.ja],
79
- e[InAppMessage.hs.ba],
80
- e[InAppMessage.hs.CSS],
81
- );
82
- }
83
- }
84
- SlideUpMessage.es = InAppMessage.qe.pn;
1
+ import InAppMessage from"./in-app-message.js";import{DOMUtils as ue}from"../../util/dom-utils.js";export default class SlideUpMessage extends InAppMessage{constructor(e,t,s,o,i,r,n,d,a,u,p,m,c,l,v,x,f,h,g,I,M){x=x||InAppMessage.th.Mh,v=v||InAppMessage.th.Dh,super(e,t=t||InAppMessage.TextAlignment.START,s,o,i,r,n,d,a,u,p,m,void 0,c,l,v,x,f,h,g,void 0,void 0,void 0,void 0,void 0,void 0,void 0,I,M),this.Te=InAppMessage.TextAlignment.START}xe(){return!1}Ge(){const e=document.createElement("span");return e.appendChild(document.createTextNode(this.message||"")),e}Ah(e){const t=e.getElementsByClassName("ab-in-app-message")[0];ue.no(t,!0,!0)||(this.slideFrom===InAppMessage.SlideFrom.TOP?t.style.top="0px":t.style.bottom="0px"),super.Ah(e)}ss(){return super.ss(SlideUpMessage.es)}static an(e){return new SlideUpMessage(e[InAppMessage.hs.ea],e[InAppMessage.hs.ra],e[InAppMessage.hs.Sh],e[InAppMessage.hs.xs],e[InAppMessage.hs.sa],e[InAppMessage.hs.ta],e[InAppMessage.hs.URI],e[InAppMessage.hs.ia],e[InAppMessage.hs.oa],e[InAppMessage.hs.pa],e[InAppMessage.hs.ma],e[InAppMessage.hs.os],e[InAppMessage.hs.ua],e[InAppMessage.hs.ca],e[InAppMessage.hs.fa],e[InAppMessage.hs.da],e[InAppMessage.hs.la],e[InAppMessage.hs.ga],e[InAppMessage.hs.ja],e[InAppMessage.hs.ba],e[InAppMessage.hs.CSS])}}SlideUpMessage.es=InAppMessage.qe.pn;
@@ -1,19 +1 @@
1
- export default class wt {
2
- constructor(t, s, i, h, l) {
3
- (this.triggerId = t),
4
- (this.Yr = s),
5
- (this.Ur = i),
6
- (this.Zr = h),
7
- (this.sn = l),
8
- (this.triggerId = t),
9
- (this.Yr = s),
10
- (this.Ur = i),
11
- (this.Zr = h),
12
- (this.sn = l);
13
- }
14
- static fromJson(t, s, i, h, l) {
15
- return null == t || null == t.trigger_id
16
- ? null
17
- : new wt(t.trigger_id, s, i, h, l);
18
- }
19
- }
1
+ export default class wt{constructor(t,s,i,h,l){this.triggerId=t,this.Yr=s,this.Ur=i,this.Zr=h,this.sn=l,this.triggerId=t,this.Yr=s,this.Ur=i,this.Zr=h,this.sn=l}static fromJson(t,s,i,h,l){return null==t||null==t.trigger_id?null:new wt(t.trigger_id,s,i,h,l)}}
@@ -1,10 +1 @@
1
- import e from "../managers/braze-instance.js";
2
- import se from "./in-app-message-manager-factory.js";
3
- export function subscribeToInAppMessage(n) {
4
- if (e.rr())
5
- return "function" != typeof n
6
- ? null
7
- : se.m()._i(function (r) {
8
- return n(r[0]), r.slice(1);
9
- });
10
- }
1
+ import e from"../managers/braze-instance.js";import se from"./in-app-message-manager-factory.js";export function subscribeToInAppMessage(n){if(e.rr())return"function"!=typeof n?null:se.m()._i((function(r){return n(r[0]),r.slice(1)}))}
@@ -1 +1 @@
1
- export {};
1
+ export{};
@@ -1,15 +1 @@
1
- import se from "../in-app-message-manager-factory.js";
2
- import e from "../../managers/braze-instance.js";
3
- import { setupInAppMessageUI as ss } from "../../ui/js/index.js";
4
- import { showInAppMessage } from "./show-in-app-message.js";
5
- import { subscribeToInAppMessage } from "../subscribe-to-in-app-message.js";
6
- export function automaticallyShowInAppMessages() {
7
- if (!e.rr()) return;
8
- ss();
9
- const s = se.m();
10
- if (null == s.Pi()) {
11
- const r = subscribeToInAppMessage((s) => showInAppMessage(s));
12
- s.Oi(r);
13
- }
14
- return s.Pi();
15
- }
1
+ import se from"../in-app-message-manager-factory.js";import e from"../../managers/braze-instance.js";import{setupInAppMessageUI as ss}from"../../ui/js/index.js";import{showInAppMessage}from"./show-in-app-message.js";import{subscribeToInAppMessage}from"../subscribe-to-in-app-message.js";export function automaticallyShowInAppMessages(){if(!e.rr())return;ss();const s=se.m();if(null==s.Pi()){const r=subscribeToInAppMessage((s=>showInAppMessage(s)));s.Oi(r)}return s.Pi()}
@@ -1,181 +1 @@
1
- import e, { OPTIONS as L } from "../../managers/braze-instance.js";
2
- import ControlMessage from "../models/control-message.js";
3
- import HtmlMessage from "../models/html-message.js";
4
- import InAppMessage from "../models/in-app-message.js";
5
- import SlideUpMessage from "../models/slide-up-message.js";
6
- import se from "../in-app-message-manager-factory.js";
7
- import me from "../display/get-animation-effect.js";
8
- import de from "../display/in-app-message-to-html.js";
9
- import { logInAppMessageImpression } from "../log-in-app-message-impression.js";
10
- import {
11
- ORIENTATION as fe,
12
- WindowUtils as Z,
13
- } from "../../util/window-utils.js";
14
- import { isURIJavascriptOrData as N } from "../../util/url-utils.js";
15
- import { KeyCodes as lt } from "../../util/key-codes.js";
16
- import { setupInAppMessageUI as ss } from "../../ui/js/index.js";
17
- import r from "../../../shared-lib/braze-shared-lib.js";
18
- import { toRgba as le } from "../../util/color-utils.js";
19
- import { BRAZE_MUST_BE_INITIALIZED_ERROR as P } from "../../common/constants.js";
20
- import { isIFrame as It } from "../utils/in-app-message-utils.js";
21
- export function showInAppMessage(s, t, o) {
22
- if (!e.rr()) return;
23
- if ((ss(), null == s)) return !1;
24
- if (s instanceof ControlMessage)
25
- return (
26
- r.j.info(
27
- "User received control for a multivariate test, logging to Braze servers.",
28
- ),
29
- logInAppMessageImpression(s),
30
- !0
31
- );
32
- if (!(s instanceof InAppMessage)) return !1;
33
- if (s.constructor === InAppMessage) return !1;
34
- const i = se.m();
35
- s.Nh();
36
- const n = s instanceof HtmlMessage;
37
- if (n && !s.trusted && !e.nr())
38
- return (
39
- r.j.error(
40
- 'HTML in-app messages are disabled. Use the "allowUserSuppliedJavascript" option for braze.initialize to enable these messages.',
41
- ),
42
- i.Ji(s.triggerId, InAppMessage.Ie.Ch),
43
- !1
44
- );
45
- if ((null == t && (t = document.body), s.xe())) {
46
- if (t.querySelectorAll(".ab-modal-interactions").length > 0)
47
- return (
48
- r.j.info(
49
- `Cannot show in-app message ${s.message} because another message is being shown.`,
50
- ),
51
- i.Ji(s.triggerId, InAppMessage.Ie.Le),
52
- !1
53
- );
54
- }
55
- if (Z.ao()) {
56
- const e = Z.mo();
57
- if (
58
- (e === fe.PORTRAIT &&
59
- s.orientation === InAppMessage.Orientation.LANDSCAPE) ||
60
- (e === fe.LANDSCAPE &&
61
- s.orientation === InAppMessage.Orientation.PORTRAIT)
62
- ) {
63
- const t = e === fe.PORTRAIT ? "portrait" : "landscape",
64
- o =
65
- s.orientation === InAppMessage.Orientation.PORTRAIT
66
- ? "portrait"
67
- : "landscape";
68
- return (
69
- r.j.info(
70
- `Not showing ${o} in-app message ${s.message} because the screen is currently ${t}`,
71
- ),
72
- i.Ji(s.triggerId, InAppMessage.Ie.dh),
73
- !1
74
- );
75
- }
76
- }
77
- if (!e.nr()) {
78
- let e = !1;
79
- if (s.buttons && s.buttons.length > 0) {
80
- const t = s.buttons;
81
- for (let s = 0; s < t.length; s++)
82
- if (t[s].clickAction === InAppMessage.ClickAction.URI) {
83
- const o = t[s].uri;
84
- e = N(o);
85
- }
86
- } else s.clickAction === InAppMessage.ClickAction.URI && (e = N(s.uri));
87
- if (e)
88
- return (
89
- r.j.error(
90
- 'Javascript click actions are disabled. Use the "allowUserSuppliedJavascript" option for braze.initialize to enable these actions.',
91
- ),
92
- i.Ji(s.triggerId, InAppMessage.Ie.Ch),
93
- !1
94
- );
95
- }
96
- const a = document.createElement("div");
97
- if (
98
- ((a.className = "ab-iam-root v3"),
99
- (a.className += me(s)),
100
- a.setAttribute("role", "complementary"),
101
- s.Ne() && (a.id = s.htmlId),
102
- e.nn(L.lo) && (a.style.zIndex = (e.nn(L.lo) + 1).toString()),
103
- t.appendChild(a),
104
- s.Ae())
105
- ) {
106
- const t = document.createElement("style");
107
- (t.innerHTML = s.css),
108
- (t.id = s.Ce()),
109
- null != e.nn(L.po) && t.setAttribute("nonce", e.nn(L.po)),
110
- document.getElementsByTagName("head")[0].appendChild(t);
111
- }
112
- const m = s instanceof SlideUpMessage,
113
- l = de(
114
- s,
115
- () => {
116
- import("../../Feed/ui/show-feed.js").then((s) => {
117
- e.fe() ? s.showFeed() : r.j.error(P);
118
- });
119
- },
120
- (t) => {
121
- if (s.xe() && s.io()) {
122
- const o = document.createElement("div");
123
- if (
124
- ((o.className = "ab-page-blocker"),
125
- s.Ae() || (o.style.backgroundColor = le(s.frameColor)),
126
- e.nn(L.lo) && (o.style.zIndex = e.nn(L.lo).toString()),
127
- a.appendChild(o),
128
- !e.nn(L.mh))
129
- ) {
130
- const e = new Date().valueOf();
131
- o.onclick = (o) => {
132
- new Date().valueOf() - e > InAppMessage.Ph &&
133
- (s.ye(t), o.stopPropagation());
134
- };
135
- }
136
- a.appendChild(t), t.focus(), s.Ah(a);
137
- } else if (m) {
138
- const e = document.querySelectorAll(".ab-slideup");
139
- let o = null;
140
- for (let s = e.length - 1; s >= 0; s--)
141
- if (e[s] !== t) {
142
- o = e[s];
143
- break;
144
- }
145
- if (s.slideFrom === InAppMessage.SlideFrom.TOP) {
146
- let e = 0;
147
- null != o && (e = o.offsetTop + o.offsetHeight),
148
- (t.style.top = Math.max(e, 0) + "px");
149
- } else {
150
- let e = 0;
151
- null != o &&
152
- (e =
153
- (window.innerHeight || document.documentElement.clientHeight) -
154
- o.offsetTop),
155
- (t.style.bottom = Math.max(e, 0) + "px");
156
- }
157
- } else if (n && !e.nn(L.mh)) {
158
- const e = s;
159
- It(t) &&
160
- t.contentWindow &&
161
- t.contentWindow.addEventListener("keydown", function (s) {
162
- s.keyCode === lt._h && e.closeMessage();
163
- });
164
- }
165
- logInAppMessageImpression(s),
166
- s.dismissType === InAppMessage.DismissType.AUTO_DISMISS &&
167
- setTimeout(() => {
168
- a.contains(t) && s.ye(t);
169
- }, s.duration),
170
- "function" == typeof o && o();
171
- },
172
- (e, t) => {
173
- r.j.info(e), i.Ji(s.triggerId, t);
174
- },
175
- e.nn(L.fo),
176
- e.nn(L.lo),
177
- e.nn(L.po),
178
- t,
179
- );
180
- return (n || m) && (a.appendChild(l), s.Ah(a)), !0;
181
- }
1
+ import e,{OPTIONS as L}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 SlideUpMessage from"../models/slide-up-message.js";import se from"../in-app-message-manager-factory.js";import me from"../display/get-animation-effect.js";import de from"../display/in-app-message-to-html.js";import{logInAppMessageImpression}from"../log-in-app-message-impression.js";import{ORIENTATION as fe,WindowUtils as Z}from"../../util/window-utils.js";import{isURIJavascriptOrData as N}from"../../util/url-utils.js";import{KeyCodes as lt}from"../../util/key-codes.js";import{setupInAppMessageUI as ss}from"../../ui/js/index.js";import r from"../../../shared-lib/braze-shared-lib.js";import{toRgba as le}from"../../util/color-utils.js";import{BRAZE_MUST_BE_INITIALIZED_ERROR as P}from"../../common/constants.js";import{isIFrame as It}from"../utils/in-app-message-utils.js";export function showInAppMessage(s,t,o){if(!e.rr())return;if(ss(),null==s)return!1;if(s instanceof ControlMessage)return r.j.info("User received control for a multivariate test, logging to Braze servers."),logInAppMessageImpression(s),!0;if(!(s instanceof InAppMessage))return!1;if(s.constructor===InAppMessage)return!1;const i=se.m();s.Nh();const n=s instanceof HtmlMessage;if(n&&!s.trusted&&!e.nr())return r.j.error('HTML in-app messages are disabled. Use the "allowUserSuppliedJavascript" option for braze.initialize to enable these messages.'),i.Ji(s.triggerId,InAppMessage.Ie.Ch),!1;if(null==t&&(t=document.body),s.xe()){if(t.querySelectorAll(".ab-modal-interactions").length>0)return r.j.info(`Cannot show in-app message ${s.message} because another message is being shown.`),i.Ji(s.triggerId,InAppMessage.Ie.Le),!1}if(Z.ao()){const e=Z.mo();if(e===fe.PORTRAIT&&s.orientation===InAppMessage.Orientation.LANDSCAPE||e===fe.LANDSCAPE&&s.orientation===InAppMessage.Orientation.PORTRAIT){const t=e===fe.PORTRAIT?"portrait":"landscape",o=s.orientation===InAppMessage.Orientation.PORTRAIT?"portrait":"landscape";return r.j.info(`Not showing ${o} in-app message ${s.message} because the screen is currently ${t}`),i.Ji(s.triggerId,InAppMessage.Ie.dh),!1}}if(!e.nr()){let e=!1;if(s.buttons&&s.buttons.length>0){const t=s.buttons;for(let s=0;s<t.length;s++)if(t[s].clickAction===InAppMessage.ClickAction.URI){const o=t[s].uri;e=N(o)}}else s.clickAction===InAppMessage.ClickAction.URI&&(e=N(s.uri));if(e)return r.j.error('Javascript click actions are disabled. Use the "allowUserSuppliedJavascript" option for braze.initialize to enable these actions.'),i.Ji(s.triggerId,InAppMessage.Ie.Ch),!1}const a=document.createElement("div");if(a.className="ab-iam-root v3",a.className+=me(s),a.setAttribute("role","complementary"),s.Ne()&&(a.id=s.htmlId),e.nn(L.lo)&&(a.style.zIndex=(e.nn(L.lo)+1).toString()),t.appendChild(a),s.Ae()){const t=document.createElement("style");t.innerHTML=s.css,t.id=s.Ce(),null!=e.nn(L.po)&&t.setAttribute("nonce",e.nn(L.po)),document.getElementsByTagName("head")[0].appendChild(t)}const m=s instanceof SlideUpMessage,l=de(s,(()=>{import("../../Feed/ui/show-feed.js").then((s=>{e.fe()?s.showFeed():r.j.error(P)}))}),(t=>{if(s.xe()&&s.io()){const o=document.createElement("div");if(o.className="ab-page-blocker",s.Ae()||(o.style.backgroundColor=le(s.frameColor)),e.nn(L.lo)&&(o.style.zIndex=e.nn(L.lo).toString()),a.appendChild(o),!e.nn(L.mh)){const e=(new Date).valueOf();o.onclick=o=>{(new Date).valueOf()-e>InAppMessage.Ph&&(s.ye(t),o.stopPropagation())}}a.appendChild(t),t.focus(),s.Ah(a)}else if(m){const e=document.querySelectorAll(".ab-slideup");let o=null;for(let s=e.length-1;s>=0;s--)if(e[s]!==t){o=e[s];break}if(s.slideFrom===InAppMessage.SlideFrom.TOP){let e=0;null!=o&&(e=o.offsetTop+o.offsetHeight),t.style.top=Math.max(e,0)+"px"}else{let e=0;null!=o&&(e=(window.innerHeight||document.documentElement.clientHeight)-o.offsetTop),t.style.bottom=Math.max(e,0)+"px"}}else if(n&&!e.nn(L.mh)){const e=s;It(t)&&t.contentWindow&&t.contentWindow.addEventListener("keydown",(function(s){s.keyCode===lt._h&&e.closeMessage()}))}logInAppMessageImpression(s),s.dismissType===InAppMessage.DismissType.AUTO_DISMISS&&setTimeout((()=>{a.contains(t)&&s.ye(t)}),s.duration),"function"==typeof o&&o()}),((e,t)=>{r.j.info(e),i.Ji(s.triggerId,t)}),e.nn(L.fo),e.nn(L.lo),e.nn(L.po),t);return(n||m)&&(a.appendChild(l),s.Ah(a)),!0}
@@ -1 +1 @@
1
- export const isIFrame = (e) => null !== e && "IFRAME" === e.tagName;
1
+ export const isIFrame=e=>null!==e&&"IFRAME"===e.tagName;
package/src/Push/index.js CHANGED
@@ -1,5 +1 @@
1
- export { isPushBlocked } from "./is-push-blocked.js";
2
- export { isPushPermissionGranted } from "./is-push-permission-granted.js";
3
- export { isPushSupported } from "./is-push-supported.js";
4
- export { requestPushPermission } from "./request-push-permission.js";
5
- export { unregisterPush } from "./unregister-push.js";
1
+ export{isPushBlocked}from"./is-push-blocked.js";export{isPushPermissionGranted}from"./is-push-permission-granted.js";export{isPushSupported}from"./is-push-supported.js";export{requestPushPermission}from"./request-push-permission.js";export{unregisterPush}from"./unregister-push.js";
@@ -1,5 +1 @@
1
- import e from "../managers/braze-instance.js";
2
- import jt from "./utils/push-utils.js";
3
- export function isPushBlocked() {
4
- if (e.rr()) return jt.isPushBlocked();
5
- }
1
+ import e from"../managers/braze-instance.js";import jt from"./utils/push-utils.js";export function isPushBlocked(){if(e.rr())return jt.isPushBlocked()}
@@ -1,5 +1 @@
1
- import e from "../managers/braze-instance.js";
2
- import jt from "./utils/push-utils.js";
3
- export function isPushPermissionGranted() {
4
- if (e.rr()) return jt.isPushPermissionGranted();
5
- }
1
+ import e from"../managers/braze-instance.js";import jt from"./utils/push-utils.js";export function isPushPermissionGranted(){if(e.rr())return jt.isPushPermissionGranted()}
@@ -1,5 +1 @@
1
- import e from "../managers/braze-instance.js";
2
- import jt from "./utils/push-utils.js";
3
- export function isPushSupported() {
4
- if (e.rr()) return jt.isPushSupported();
5
- }
1
+ import e from"../managers/braze-instance.js";import jt from"./utils/push-utils.js";export function isPushSupported(){if(e.rr())return jt.isPushSupported()}
@@ -1,30 +1 @@
1
- import e, { OPTIONS as L } from "../managers/braze-instance.js";
2
- import ea from "./push-manager.js";
3
- const na = {
4
- t: !1,
5
- i: null,
6
- m: () => (
7
- na.o(),
8
- na.i ||
9
- (na.i = new ea(
10
- e.br(),
11
- e.Ma(),
12
- e.te(),
13
- e.Ys(),
14
- e.nn(L._a),
15
- e.nn(L.ka),
16
- e.tr(),
17
- e.nn(L.qa),
18
- e.nn(L.Aa),
19
- e.l(),
20
- )),
21
- na.i
22
- ),
23
- o: () => {
24
- na.t || (e.g(na), (na.t = !0));
25
- },
26
- destroy: () => {
27
- (na.i = null), (na.t = !1);
28
- },
29
- };
30
- export default na;
1
+ import e,{OPTIONS as L}from"../managers/braze-instance.js";import ea from"./push-manager.js";const na={t:!1,i:null,m:()=>(na.o(),na.i||(na.i=new ea(e.br(),e.Ma(),e.te(),e.Ys(),e.nn(L._a),e.nn(L.ka),e.tr(),e.nn(L.qa),e.nn(L.Aa),e.l())),na.i),o:()=>{na.t||(e.g(na),na.t=!0)},destroy:()=>{na.i=null,na.t=!1}};export default na;