@braze/web-sdk 4.10.1 → 4.10.2

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 (203) hide show
  1. package/index.d.ts +9 -9
  2. package/package.json +1 -1
  3. package/shared-lib/braze-shared-lib.js +8 -1
  4. package/shared-lib/encoding-utils.js +12 -1
  5. package/shared-lib/event-types.js +34 -1
  6. package/shared-lib/guid.js +10 -1
  7. package/shared-lib/index.js +6 -0
  8. package/shared-lib/indexed-db-adapter.js +352 -1
  9. package/shared-lib/logger.js +38 -1
  10. package/shared-lib/supported-options.js +27 -1
  11. package/shared-lib/types.js +1 -1
  12. package/src/Card/card-manager-factory.js +14 -1
  13. package/src/Card/card-manager.js +78 -1
  14. package/src/Card/display/card-display.js +138 -1
  15. package/src/Card/index.js +6 -1
  16. package/src/Card/log-card-click.js +11 -1
  17. package/src/Card/log-card-dismissal.js +11 -1
  18. package/src/Card/log-card-impressions.js +13 -1
  19. package/src/Card/log-content-card-click.js +4 -1
  20. package/src/Card/log-content-card-impressions.js +4 -1
  21. package/src/Card/models/banner.js +31 -1
  22. package/src/Card/models/captioned-image.js +33 -1
  23. package/src/Card/models/card.js +196 -1
  24. package/src/Card/models/classic-card.js +32 -1
  25. package/src/Card/models/control-card.js +23 -1
  26. package/src/Card/models/image-only.js +32 -1
  27. package/src/Card/models/index.js +6 -1
  28. package/src/Card/types.js +1 -1
  29. package/src/Card/util/card-factory.js +104 -1
  30. package/src/ContentCards/content-cards-provider-factory.js +20 -1
  31. package/src/ContentCards/content-cards-provider.js +391 -1
  32. package/src/ContentCards/content-cards.js +24 -1
  33. package/src/ContentCards/get-cached-content-cards.js +5 -1
  34. package/src/ContentCards/index.js +8 -1
  35. package/src/ContentCards/log-content-cards-displayed.js +5 -1
  36. package/src/ContentCards/request-content-cards-refresh.js +5 -1
  37. package/src/ContentCards/subscribe-to-content-cards-updates.js +17 -1
  38. package/src/ContentCards/types.js +1 -1
  39. package/src/ContentCards/ui/hide-content-cards.js +8 -1
  40. package/src/ContentCards/ui/show-content-cards.js +77 -1
  41. package/src/ContentCards/ui/toggle-content-cards.js +8 -1
  42. package/src/Core/add-sdk-metadata.js +26 -1
  43. package/src/Core/braze-sdk-metadata.js +10 -1
  44. package/src/Core/change-user.js +17 -1
  45. package/src/Core/destroy.js +5 -1
  46. package/src/Core/device-properties.js +9 -1
  47. package/src/Core/disable-sdk.js +15 -1
  48. package/src/Core/enable-sdk.js +11 -1
  49. package/src/Core/get-device-id.js +13 -1
  50. package/src/Core/get-user.js +4 -1
  51. package/src/Core/handle-braze-action.js +87 -1
  52. package/src/Core/index.js +23 -1
  53. package/src/Core/initialize.js +4 -1
  54. package/src/Core/is-disabled.js +4 -1
  55. package/src/Core/log-custom-event.js +38 -1
  56. package/src/Core/log-purchase.js +245 -1
  57. package/src/Core/open-session.js +25 -1
  58. package/src/Core/remove-all-subscriptions.js +4 -1
  59. package/src/Core/remove-subscription.js +4 -1
  60. package/src/Core/request-immediate-data-flush.js +6 -1
  61. package/src/Core/set-logger.js +4 -1
  62. package/src/Core/set-sdk-authentication-signature.js +8 -1
  63. package/src/Core/subscribe-to-sdk-authentication-failures.js +6 -1
  64. package/src/Core/toggle-logging.js +4 -1
  65. package/src/Core/types.js +1 -1
  66. package/src/Core/wipe-data.js +16 -1
  67. package/src/FeatureFlags/feature-flag-factory.js +24 -1
  68. package/src/FeatureFlags/feature-flag.js +64 -1
  69. package/src/FeatureFlags/feature-flags-provider-factory.js +19 -1
  70. package/src/FeatureFlags/feature-flags-provider.js +145 -1
  71. package/src/FeatureFlags/get-all-feature-flags.js +12 -1
  72. package/src/FeatureFlags/get-feature-flag.js +12 -1
  73. package/src/FeatureFlags/index.js +6 -1
  74. package/src/FeatureFlags/log-feature-flag-impression.js +23 -1
  75. package/src/FeatureFlags/refresh-feature-flags.js +9 -1
  76. package/src/FeatureFlags/subscribe-to-feature-flags-updates.js +9 -1
  77. package/src/FeatureFlags/types.js +1 -1
  78. package/src/Feed/feed-provider-factory.js +18 -1
  79. package/src/Feed/feed-provider.js +90 -1
  80. package/src/Feed/feed.js +20 -1
  81. package/src/Feed/get-cached-feed.js +5 -1
  82. package/src/Feed/index.js +8 -1
  83. package/src/Feed/log-feed-displayed.js +7 -1
  84. package/src/Feed/request-feed-refresh.js +5 -1
  85. package/src/Feed/subscribe-to-feed-updates.js +5 -1
  86. package/src/Feed/types.js +1 -1
  87. package/src/Feed/ui/hide-feed.js +7 -1
  88. package/src/Feed/ui/show-feed.js +96 -1
  89. package/src/Feed/ui/toggle-feed.js +8 -1
  90. package/src/InAppMessage/defer-in-app-message.js +13 -1
  91. package/src/InAppMessage/display/get-animation-effect.js +19 -1
  92. package/src/InAppMessage/display/html-message-to-html.js +244 -1
  93. package/src/InAppMessage/display/in-app-message-to-html.js +188 -1
  94. package/src/InAppMessage/display/modal-utils.js +73 -1
  95. package/src/InAppMessage/get-deferred-in-app-message.js +5 -1
  96. package/src/InAppMessage/in-app-message-factory.js +166 -1
  97. package/src/InAppMessage/in-app-message-manager-factory.js +16 -1
  98. package/src/InAppMessage/in-app-message-manager.js +248 -1
  99. package/src/InAppMessage/index.js +16 -1
  100. package/src/InAppMessage/log-in-app-message-button-click.js +27 -1
  101. package/src/InAppMessage/log-in-app-message-click.js +19 -1
  102. package/src/InAppMessage/log-in-app-message-html-click.js +23 -1
  103. package/src/InAppMessage/log-in-app-message-impression.js +13 -1
  104. package/src/InAppMessage/models/control-message.js +11 -1
  105. package/src/InAppMessage/models/full-screen-message.js +105 -1
  106. package/src/InAppMessage/models/html-message.js +68 -1
  107. package/src/InAppMessage/models/in-app-message-button.js +47 -1
  108. package/src/InAppMessage/models/in-app-message.js +382 -1
  109. package/src/InAppMessage/models/modal-message.js +101 -1
  110. package/src/InAppMessage/models/slide-up-message.js +84 -1
  111. package/src/InAppMessage/models/templated-in-app-message.js +19 -1
  112. package/src/InAppMessage/subscribe-to-in-app-message.js +10 -1
  113. package/src/InAppMessage/types.js +1 -1
  114. package/src/InAppMessage/ui/automatically-show-in-app-messages.js +15 -1
  115. package/src/InAppMessage/ui/show-in-app-message.js +181 -1
  116. package/src/InAppMessage/utils/in-app-message-utils.js +1 -1
  117. package/src/Push/index.js +5 -1
  118. package/src/Push/is-push-blocked.js +5 -1
  119. package/src/Push/is-push-permission-granted.js +5 -1
  120. package/src/Push/is-push-supported.js +5 -1
  121. package/src/Push/push-manager-factory.js +30 -1
  122. package/src/Push/push-manager.js +387 -1
  123. package/src/Push/request-push-permission.js +9 -1
  124. package/src/Push/types.js +1 -1
  125. package/src/Push/unregister-push.js +5 -1
  126. package/src/Push/utils/push-utils.js +36 -1
  127. package/src/User/index.js +1 -1
  128. package/src/User/types.js +1 -1
  129. package/src/User/user-manager.js +73 -1
  130. package/src/User/user.js +302 -1
  131. package/src/common/base-feed.js +28 -1
  132. package/src/common/base-provider.js +6 -1
  133. package/src/common/constants.js +14 -1
  134. package/src/common/event-logger.js +31 -1
  135. package/src/common/feed-display.js +210 -1
  136. package/src/common/translations.js +148 -1
  137. package/src/common/types.js +1 -1
  138. package/src/index.js +9 -1
  139. package/src/l10n/l10n-manager-factory.js +22 -1
  140. package/src/l10n/l10n-manager.js +25 -1
  141. package/src/l10n/types.js +1 -1
  142. package/src/managers/auth-manager.js +51 -1
  143. package/src/managers/braze-instance.js +331 -1
  144. package/src/managers/device-manager.js +85 -1
  145. package/src/managers/network-manager.js +256 -1
  146. package/src/managers/server-config-manager.js +108 -1
  147. package/src/managers/session-manager.js +75 -1
  148. package/src/managers/storage-manager-factory.js +42 -1
  149. package/src/managers/storage-manager.js +419 -1
  150. package/src/managers/subscription-manager.js +28 -1
  151. package/src/managers/types.js +1 -1
  152. package/src/models/backend-errors.js +8 -1
  153. package/src/models/braze-event.js +47 -1
  154. package/src/models/braze-sdk-metadata.js +10 -1
  155. package/src/models/device.js +18 -1
  156. package/src/models/identifier.js +19 -1
  157. package/src/models/push-token.js +27 -1
  158. package/src/models/request-result.js +8 -1
  159. package/src/models/server-config.js +48 -1
  160. package/src/models/types.js +1 -1
  161. package/src/request-controller.js +311 -1
  162. package/src/triggers/models/custom-event-data.js +14 -1
  163. package/src/triggers/models/custom-event-property-data.js +21 -1
  164. package/src/triggers/models/filter-set.js +55 -1
  165. package/src/triggers/models/filter.js +102 -1
  166. package/src/triggers/models/in-app-message-click-data.js +25 -1
  167. package/src/triggers/models/purchase-data.js +14 -1
  168. package/src/triggers/models/purchase-property-data.js +21 -1
  169. package/src/triggers/models/push-click-data.js +15 -1
  170. package/src/triggers/models/trigger-condition.js +105 -1
  171. package/src/triggers/models/trigger-events.js +8 -1
  172. package/src/triggers/models/trigger.js +122 -1
  173. package/src/triggers/triggers-provider-factory.js +34 -1
  174. package/src/triggers/triggers-provider.js +326 -1
  175. package/src/triggers/types.js +1 -1
  176. package/src/types.js +1 -1
  177. package/src/ui/js/attach-css.js +13 -1
  178. package/src/ui/js/feed-css.js +12 -1
  179. package/src/ui/js/iam-css.js +12 -1
  180. package/src/ui/js/index.js +3 -1
  181. package/src/ui/js/load-font-awesome.js +13 -1
  182. package/src/util/base-device-parser.js +14 -1
  183. package/src/util/braze-actions.js +84 -1
  184. package/src/util/browser-detector.js +84 -1
  185. package/src/util/client-hints-parser.js +66 -1
  186. package/src/util/code-utils.js +100 -1
  187. package/src/util/color-utils.js +29 -1
  188. package/src/util/component-utils.js +26 -1
  189. package/src/util/date-utils.js +28 -1
  190. package/src/util/deprecation-utils.js +5 -1
  191. package/src/util/device-constants.js +14 -1
  192. package/src/util/dom-utils.js +91 -1
  193. package/src/util/error-utils.js +2 -1
  194. package/src/util/key-codes.js +1 -1
  195. package/src/util/math.js +5 -1
  196. package/src/util/net.js +71 -1
  197. package/src/util/request-header-utils.js +46 -1
  198. package/src/util/string-utils.js +22 -1
  199. package/src/util/types.js +1 -1
  200. package/src/util/url-utils.js +20 -1
  201. package/src/util/user-agent-parser.js +85 -1
  202. package/src/util/validation-utils.js +217 -1
  203. package/src/util/window-utils.js +34 -1
@@ -1 +1,101 @@
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
+ 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 +1,84 @@
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
+ 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 +1,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
+ 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 +1,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
+ 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 +1 @@
1
- export{};
1
+ export {};
@@ -1 +1,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
+ 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 +1,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
+ 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 +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 +1,5 @@
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
+ 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 +1,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
+ 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 +1,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
+ 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 +1,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
+ 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 +1,30 @@
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;
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;