@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,78 @@
1
- import{ControlCard}from"./models/index.js";import s from"../common/event-logger.js";import t from"../models/request-result.js";import r from"../../shared-lib/braze-shared-lib.js";import{STORAGE_KEYS as i}from"../managers/storage-manager.js";export default class a{constructor(s){this.u=s,this.u=s}h(n,o){const e=new t;if(n.p(),null==n.url||""===n.url)return r.j.info(`Card ${n.id} has no url. Not logging click to Braze servers.`),e;if(o&&n.id&&this.u){const s=this.u.v(i.k.C)||{};s[n.id]=!0,this.u.D(i.k.C,s)}const l=this.I([n]);if(null==l)return e;const u=o?r.q.$:r.q.B;return s.N(u,l)}A(n){const o=new t;if(!n.F())return r.j.info(`Card ${n.id} refused this dismissal. Ignoring analytics event.`),o;if(n.id&&this.u){const s=this.u.v(i.k.G)||{};s[n.id]=!0,this.u.D(i.k.G,s)}const e=this.I([n]);return null==e?o:s.N(r.q.H,e)}J(n,o){const e=new t(!0),l=[],u=[];let a={};this.u&&(a=o?this.u.v(i.k.K)||{}:this.u.v(i.k.L)||{});for(const s of n)s.M(),s instanceof ControlCard?u.push(s):l.push(s),s.id&&(a[s.id]=!0);const h=this.I(l),c=this.I(u);if(null==h&&null==c)return e.O=!1,e;if(this.u&&(o?this.u.D(i.k.K,a):this.u.D(i.k.L,a)),null!=h){const t=o?r.q.P:r.q.R,n=s.N(t,h);e.S(n)}if(null!=c&&o){const t=s.N(r.q.T,c);e.S(t)}return e}I(s){let t,r=null;for(let n=0;n<s.length;n++)t=s[n].id,null!=t&&""!==t&&(r=r||{},r.ids=r.ids||[],r.ids.push(t));return r}}
1
+ import { ControlCard } from "./models/index.js";
2
+ import s from "../common/event-logger.js";
3
+ import t from "../models/request-result.js";
4
+ import r from "../../shared-lib/braze-shared-lib.js";
5
+ import { STORAGE_KEYS as i } from "../managers/storage-manager.js";
6
+ export default class a {
7
+ constructor(s) {
8
+ (this.u = s), (this.u = s);
9
+ }
10
+ h(n, o) {
11
+ const e = new t();
12
+ if ((n.p(), null == n.url || "" === n.url))
13
+ return (
14
+ r.j.info(
15
+ `Card ${n.id} has no url. Not logging click to Braze servers.`,
16
+ ),
17
+ e
18
+ );
19
+ if (o && n.id && this.u) {
20
+ const s = this.u.v(i.k.C) || {};
21
+ (s[n.id] = !0), this.u.D(i.k.C, s);
22
+ }
23
+ const l = this.I([n]);
24
+ if (null == l) return e;
25
+ const u = o ? r.q.$ : r.q.B;
26
+ return s.N(u, l);
27
+ }
28
+ A(n) {
29
+ const o = new t();
30
+ if (!n.F())
31
+ return (
32
+ r.j.info(
33
+ `Card ${n.id} refused this dismissal. Ignoring analytics event.`,
34
+ ),
35
+ o
36
+ );
37
+ if (n.id && this.u) {
38
+ const s = this.u.v(i.k.G) || {};
39
+ (s[n.id] = !0), this.u.D(i.k.G, s);
40
+ }
41
+ const e = this.I([n]);
42
+ return null == e ? o : s.N(r.q.H, e);
43
+ }
44
+ J(n, o) {
45
+ const e = new t(!0),
46
+ l = [],
47
+ u = [];
48
+ let a = {};
49
+ this.u && (a = o ? this.u.v(i.k.K) || {} : this.u.v(i.k.L) || {});
50
+ for (const s of n)
51
+ s.M(),
52
+ s instanceof ControlCard ? u.push(s) : l.push(s),
53
+ s.id && (a[s.id] = !0);
54
+ const h = this.I(l),
55
+ c = this.I(u);
56
+ if (null == h && null == c) return (e.O = !1), e;
57
+ if ((this.u && (o ? this.u.D(i.k.K, a) : this.u.D(i.k.L, a)), null != h)) {
58
+ const t = o ? r.q.P : r.q.R,
59
+ n = s.N(t, h);
60
+ e.S(n);
61
+ }
62
+ if (null != c && o) {
63
+ const t = s.N(r.q.T, c);
64
+ e.S(t);
65
+ }
66
+ return e;
67
+ }
68
+ I(s) {
69
+ let t,
70
+ r = null;
71
+ for (let n = 0; n < s.length; n++)
72
+ (t = s[n].id),
73
+ null != t &&
74
+ "" !== t &&
75
+ ((r = r || {}), (r.ids = r.ids || []), r.ids.push(t));
76
+ return r;
77
+ }
78
+ }
@@ -1 +1,138 @@
1
- import{createCloseButton as o}from"../../util/component-utils.js";import{detectSwipe as d,DIRECTIONS as c}from"../../util/dom-utils.js";import{_handleBrazeAction as m}from"../../Core/handle-braze-action.js";import{logCardDismissal}from"../index.js";import r from"../../../shared-lib/braze-shared-lib.js";export const TOP_IMPRESSION_DATA_ATTRIBUTE="data-ab-had-top-impression";export const BOTTOM_IMPRESSION_DATA_ATTRIBUTE="data-ab-had-bottom-impression";export function topHadImpression(t){return null!=t&&!!t.getAttribute("data-ab-had-top-impression")}export function impressOnTop(t){null!=t&&t.setAttribute("data-ab-had-top-impression","true")}export function bottomHadImpression(t){return null!=t&&!!t.getAttribute("data-ab-had-bottom-impression")}export function impressOnBottom(t){null!=t&&t.setAttribute("data-ab-had-bottom-impression","true")}export function markCardAsRead(t){if(null!=t){const o=t.querySelectorAll(".ab-unread-indicator")[0];null!=o&&(o.className+=" read")}}export function getCardId(t){return t.getAttribute("data-ab-card-id")}export function _setImageAltText(t,o){let e="";t.title||t.description||(e="Feed Image"),o.setAttribute("alt",e)}export function setCardHeight(t,o){const e=o.querySelectorAll(".ab-image-area");let a,n=0;e.length>0&&(n=e[0].offsetWidth);for(const o of t)if(a=o._,a&&o.imageUrl&&"number"==typeof o.aspectRatio){const t=n/o.aspectRatio;t&&(a.style.height=`${t}px`)}}export function cardToHtml(t,logCardClick,e){const a=document.createElement("div");a.className="ab-card ab-effect-card "+t.U,t.id&&(a.setAttribute("data-ab-card-id",t.id),a.setAttribute("id",t.id)),a.setAttribute("role","article"),a.setAttribute("tabindex","0");let n="",i=!1;t.url&&""!==t.url&&(n=t.url,i=!0);const s=o=>(markCardAsRead(a),i&&(logCardClick(t),m(n,e,o)),!1);if(t.pinned){const t=document.createElement("div");t.className="ab-pinned-indicator";const o=document.createElement("i");o.className="fa fa-star",t.appendChild(o),a.appendChild(t)}if(t.imageUrl&&""!==t.imageUrl){const o=document.createElement("div");o.className="ab-image-area";const e=document.createElement("img");if(e.setAttribute("src",t.imageUrl),e.onload=()=>{a.style.height="auto"},_setImageAltText(t,e),o.appendChild(e),a.className+=" with-image",i&&!t.V){const t=document.createElement("a");t.setAttribute("href",n),t.onclick=s,t.appendChild(o),a.appendChild(t)}else a.appendChild(o)}const u=document.createElement("div");if(u.className="ab-card-body",t.dismissible){t.logCardDismissal=()=>logCardDismissal(t);const e=o("Dismiss Card",void 0,t.dismissCard.bind(t));a.appendChild(e),d(u,c.W,(t=>{a.className+=" ab-swiped-left",e.onclick(t)})),d(u,c.X,(t=>{a.className+=" ab-swiped-right",e.onclick(t)}))}let p="",b=!1;if(t.title&&""!==t.title&&(p=t.title,b=!0),b){const t=document.createElement("h1");if(t.className="ab-title",t.id=r.Z.Y(),a.setAttribute("aria-labelledby",t.id),i){const o=document.createElement("a");o.setAttribute("href",n),o.onclick=s,o.appendChild(document.createTextNode(p)),t.appendChild(o)}else t.appendChild(document.createTextNode(p));u.appendChild(t)}const l=document.createElement("div");if(l.className=b?"ab-description":"ab-description ab-no-title",l.id=r.Z.Y(),a.setAttribute("aria-describedby",l.id),t.description&&l.appendChild(document.createTextNode(t.description)),i){const o=document.createElement("div");o.className="ab-url-area";const e=document.createElement("a");e.setAttribute("href",n),t.linkText&&e.appendChild(document.createTextNode(t.linkText)),e.onclick=s,o.appendChild(e),l.appendChild(o)}u.appendChild(l),a.appendChild(u);const f=document.createElement("div");return f.className="ab-unread-indicator",t.viewed&&(f.className+=" read"),a.appendChild(f),t._=a,a}
1
+ import { createCloseButton as o } from "../../util/component-utils.js";
2
+ import { detectSwipe as d, DIRECTIONS as c } from "../../util/dom-utils.js";
3
+ import { _handleBrazeAction as m } from "../../Core/handle-braze-action.js";
4
+ import { logCardDismissal } from "../index.js";
5
+ import r from "../../../shared-lib/braze-shared-lib.js";
6
+ export const TOP_IMPRESSION_DATA_ATTRIBUTE = "data-ab-had-top-impression";
7
+ export const BOTTOM_IMPRESSION_DATA_ATTRIBUTE = "data-ab-had-bottom-impression";
8
+ export function topHadImpression(t) {
9
+ return null != t && !!t.getAttribute("data-ab-had-top-impression");
10
+ }
11
+ export function impressOnTop(t) {
12
+ null != t && t.setAttribute("data-ab-had-top-impression", "true");
13
+ }
14
+ export function bottomHadImpression(t) {
15
+ return null != t && !!t.getAttribute("data-ab-had-bottom-impression");
16
+ }
17
+ export function impressOnBottom(t) {
18
+ null != t && t.setAttribute("data-ab-had-bottom-impression", "true");
19
+ }
20
+ export function markCardAsRead(t) {
21
+ if (null != t) {
22
+ const o = t.querySelectorAll(".ab-unread-indicator")[0];
23
+ null != o && (o.className += " read");
24
+ }
25
+ }
26
+ export function getCardId(t) {
27
+ return t.getAttribute("data-ab-card-id");
28
+ }
29
+ export function _setImageAltText(t, o) {
30
+ let e = "";
31
+ t.title || t.description || (e = "Feed Image"), o.setAttribute("alt", e);
32
+ }
33
+ export function setCardHeight(t, o) {
34
+ const e = o.querySelectorAll(".ab-image-area");
35
+ let a,
36
+ n = 0;
37
+ e.length > 0 && (n = e[0].offsetWidth);
38
+ for (const o of t)
39
+ if (((a = o._), a && o.imageUrl && "number" == typeof o.aspectRatio)) {
40
+ const t = n / o.aspectRatio;
41
+ t && (a.style.height = `${t}px`);
42
+ }
43
+ }
44
+ export function cardToHtml(t, logCardClick, e) {
45
+ const a = document.createElement("div");
46
+ (a.className = "ab-card ab-effect-card " + t.U),
47
+ t.id &&
48
+ (a.setAttribute("data-ab-card-id", t.id), a.setAttribute("id", t.id)),
49
+ a.setAttribute("role", "article"),
50
+ a.setAttribute("tabindex", "0");
51
+ let n = "",
52
+ i = !1;
53
+ t.url && "" !== t.url && ((n = t.url), (i = !0));
54
+ const s = (o) => (markCardAsRead(a), i && (logCardClick(t), m(n, e, o)), !1);
55
+ if (t.pinned) {
56
+ const t = document.createElement("div");
57
+ t.className = "ab-pinned-indicator";
58
+ const o = document.createElement("i");
59
+ (o.className = "fa fa-star"), t.appendChild(o), a.appendChild(t);
60
+ }
61
+ if (t.imageUrl && "" !== t.imageUrl) {
62
+ const o = document.createElement("div");
63
+ o.className = "ab-image-area";
64
+ const e = document.createElement("img");
65
+ if (
66
+ (e.setAttribute("src", t.imageUrl),
67
+ (e.onload = () => {
68
+ a.style.height = "auto";
69
+ }),
70
+ _setImageAltText(t, e),
71
+ o.appendChild(e),
72
+ (a.className += " with-image"),
73
+ i && !t.V)
74
+ ) {
75
+ const t = document.createElement("a");
76
+ t.setAttribute("href", n),
77
+ (t.onclick = s),
78
+ t.appendChild(o),
79
+ a.appendChild(t);
80
+ } else a.appendChild(o);
81
+ }
82
+ const u = document.createElement("div");
83
+ if (((u.className = "ab-card-body"), t.dismissible)) {
84
+ t.logCardDismissal = () => logCardDismissal(t);
85
+ const e = o("Dismiss Card", void 0, t.dismissCard.bind(t));
86
+ a.appendChild(e),
87
+ d(u, c.W, (t) => {
88
+ (a.className += " ab-swiped-left"), e.onclick(t);
89
+ }),
90
+ d(u, c.X, (t) => {
91
+ (a.className += " ab-swiped-right"), e.onclick(t);
92
+ });
93
+ }
94
+ let p = "",
95
+ b = !1;
96
+ if ((t.title && "" !== t.title && ((p = t.title), (b = !0)), b)) {
97
+ const t = document.createElement("h1");
98
+ if (
99
+ ((t.className = "ab-title"),
100
+ (t.id = r.Z.Y()),
101
+ a.setAttribute("aria-labelledby", t.id),
102
+ i)
103
+ ) {
104
+ const o = document.createElement("a");
105
+ o.setAttribute("href", n),
106
+ (o.onclick = s),
107
+ o.appendChild(document.createTextNode(p)),
108
+ t.appendChild(o);
109
+ } else t.appendChild(document.createTextNode(p));
110
+ u.appendChild(t);
111
+ }
112
+ const l = document.createElement("div");
113
+ if (
114
+ ((l.className = b ? "ab-description" : "ab-description ab-no-title"),
115
+ (l.id = r.Z.Y()),
116
+ a.setAttribute("aria-describedby", l.id),
117
+ t.description && l.appendChild(document.createTextNode(t.description)),
118
+ i)
119
+ ) {
120
+ const o = document.createElement("div");
121
+ o.className = "ab-url-area";
122
+ const e = document.createElement("a");
123
+ e.setAttribute("href", n),
124
+ t.linkText && e.appendChild(document.createTextNode(t.linkText)),
125
+ (e.onclick = s),
126
+ o.appendChild(e),
127
+ l.appendChild(o);
128
+ }
129
+ u.appendChild(l), a.appendChild(u);
130
+ const f = document.createElement("div");
131
+ return (
132
+ (f.className = "ab-unread-indicator"),
133
+ t.viewed && (f.className += " read"),
134
+ a.appendChild(f),
135
+ (t._ = a),
136
+ a
137
+ );
138
+ }
package/src/Card/index.js CHANGED
@@ -1 +1,6 @@
1
- export*from"./models/index.js";export{logCardClick}from"./log-card-click.js";export{logCardDismissal}from"./log-card-dismissal.js";export{logCardImpressions}from"./log-card-impressions.js";export{logContentCardImpressions}from"./log-content-card-impressions.js";export{logContentCardClick}from"./log-content-card-click.js";
1
+ export * from "./models/index.js";
2
+ export { logCardClick } from "./log-card-click.js";
3
+ export { logCardDismissal } from "./log-card-dismissal.js";
4
+ export { logCardImpressions } from "./log-card-impressions.js";
5
+ export { logContentCardImpressions } from "./log-content-card-impressions.js";
6
+ export { logContentCardClick } from "./log-content-card-click.js";
@@ -1 +1,11 @@
1
- import{Card}from"./models/index.js";import n from"./card-manager-factory.js";import{MUST_BE_CARD_WARNING_SUFFIX as f}from"../common/constants.js";import e from"../managers/braze-instance.js";import r from"../../shared-lib/braze-shared-lib.js";export function logCardClick(o,a){return!!e.rr()&&(o instanceof Card?n.m().h(o,a).O:(r.j.error("card "+f),!1))}
1
+ import { Card } from "./models/index.js";
2
+ import n from "./card-manager-factory.js";
3
+ import { MUST_BE_CARD_WARNING_SUFFIX as f } from "../common/constants.js";
4
+ import e from "../managers/braze-instance.js";
5
+ import r from "../../shared-lib/braze-shared-lib.js";
6
+ export function logCardClick(o, a) {
7
+ return (
8
+ !!e.rr() &&
9
+ (o instanceof Card ? n.m().h(o, a).O : (r.j.error("card " + f), !1))
10
+ );
11
+ }
@@ -1 +1,11 @@
1
- import{Card}from"./models/index.js";import n from"./card-manager-factory.js";import{MUST_BE_CARD_WARNING_SUFFIX as f}from"../common/constants.js";import e from"../managers/braze-instance.js";import r from"../../shared-lib/braze-shared-lib.js";export function logCardDismissal(o){return!!e.rr()&&(o instanceof Card?n.m().A(o).O:(r.j.error("card "+f),!1))}
1
+ import { Card } from "./models/index.js";
2
+ import n from "./card-manager-factory.js";
3
+ import { MUST_BE_CARD_WARNING_SUFFIX as f } from "../common/constants.js";
4
+ import e from "../managers/braze-instance.js";
5
+ import r from "../../shared-lib/braze-shared-lib.js";
6
+ export function logCardDismissal(o) {
7
+ return (
8
+ !!e.rr() &&
9
+ (o instanceof Card ? n.m().A(o).O : (r.j.error("card " + f), !1))
10
+ );
11
+ }
@@ -1 +1,13 @@
1
- import{Card}from"./models/index.js";import n from"./card-manager-factory.js";import e from"../managers/braze-instance.js";import{isArray as p}from"../util/code-utils.js";import{MUST_BE_CARD_WARNING_SUFFIX as f}from"../common/constants.js";import r from"../../shared-lib/braze-shared-lib.js";export function logCardImpressions(o,s){if(!e.rr())return!1;if(!p(o))return r.j.error("cards must be an array"),!1;for(const s of o)if(!(s instanceof Card))return r.j.error(`Each card in cards ${f}`),!1;return n.m().J(o,s).O}
1
+ import { Card } from "./models/index.js";
2
+ import n from "./card-manager-factory.js";
3
+ import e from "../managers/braze-instance.js";
4
+ import { isArray as p } from "../util/code-utils.js";
5
+ import { MUST_BE_CARD_WARNING_SUFFIX as f } from "../common/constants.js";
6
+ import r from "../../shared-lib/braze-shared-lib.js";
7
+ export function logCardImpressions(o, s) {
8
+ if (!e.rr()) return !1;
9
+ if (!p(o)) return r.j.error("cards must be an array"), !1;
10
+ for (const s of o)
11
+ if (!(s instanceof Card)) return r.j.error(`Each card in cards ${f}`), !1;
12
+ return n.m().J(o, s).O;
13
+ }
@@ -1 +1,4 @@
1
- import{logCardClick}from"./log-card-click.js";export function logContentCardClick(o){return logCardClick(o,!0)}
1
+ import { logCardClick } from "./log-card-click.js";
2
+ export function logContentCardClick(o) {
3
+ return logCardClick(o, !0);
4
+ }
@@ -1 +1,4 @@
1
- import{logCardImpressions}from"./log-card-impressions.js";export function logContentCardImpressions(o){return logCardImpressions(o,!0)}
1
+ import { logCardImpressions } from "./log-card-impressions.js";
2
+ export function logContentCardImpressions(o) {
3
+ return logCardImpressions(o, !0);
4
+ }
@@ -1 +1,31 @@
1
- import Card from"./card.js";export default class Banner extends Card{constructor(s,t,i,h,r,e,n,a,l,o,u,c,b,d){super(s,t,null,i,null,h,r,e,n,a,l,o,u,c,b,d),this.U="ab-banner ab-image-only",this.V=!1,this.test=!1}ss(){const s={};return s[Card.hs.ts]=Card.es.rs,s[Card.hs.ns]=this.id,s[Card.hs.ls]=this.viewed,s[Card.hs.os]=this.imageUrl,s[Card.hs.us]=this.updated,s[Card.hs.cs]=this.created,s[Card.hs.bs]=this.categories,s[Card.hs.ds]=this.expiresAt,s[Card.hs.URL]=this.url,s[Card.hs.ps]=this.linkText,s[Card.hs.fs]=this.aspectRatio,s[Card.hs.xs]=this.extras,s[Card.hs.gs]=this.pinned,s[Card.hs.js]=this.dismissible,s[Card.hs.ys]=this.clicked,s[Card.hs.zs]=this.test,s}}
1
+ import Card from "./card.js";
2
+ export default class Banner extends Card {
3
+ constructor(s, t, i, h, r, e, n, a, l, o, u, c, b, d) {
4
+ super(s, t, null, i, null, h, r, e, n, a, l, o, u, c, b, d),
5
+ (this.U = "ab-banner ab-image-only"),
6
+ (this.V = !1),
7
+ (this.test = !1);
8
+ }
9
+ ss() {
10
+ const s = {};
11
+ return (
12
+ (s[Card.hs.ts] = Card.es.rs),
13
+ (s[Card.hs.ns] = this.id),
14
+ (s[Card.hs.ls] = this.viewed),
15
+ (s[Card.hs.os] = this.imageUrl),
16
+ (s[Card.hs.us] = this.updated),
17
+ (s[Card.hs.cs] = this.created),
18
+ (s[Card.hs.bs] = this.categories),
19
+ (s[Card.hs.ds] = this.expiresAt),
20
+ (s[Card.hs.URL] = this.url),
21
+ (s[Card.hs.ps] = this.linkText),
22
+ (s[Card.hs.fs] = this.aspectRatio),
23
+ (s[Card.hs.xs] = this.extras),
24
+ (s[Card.hs.gs] = this.pinned),
25
+ (s[Card.hs.js] = this.dismissible),
26
+ (s[Card.hs.ys] = this.clicked),
27
+ (s[Card.hs.zs] = this.test),
28
+ s
29
+ );
30
+ }
31
+ }
@@ -1 +1,33 @@
1
- import Card from"./card.js";export default class CaptionedImage extends Card{constructor(t,s,i,h,e,r,a,o,c,n,d,p,u,l,m,f){super(t,s,i,h,e,r,a,o,c,n,d,p,u,l,m,f),this.U="ab-captioned-image",this.V=!0,this.test=!1}ss(){const t={};return t[Card.hs.ts]=Card.es.tt,t[Card.hs.ns]=this.id,t[Card.hs.ls]=this.viewed,t[Card.hs.st]=this.title,t[Card.hs.os]=this.imageUrl,t[Card.hs.it]=this.description,t[Card.hs.us]=this.updated,t[Card.hs.cs]=this.created,t[Card.hs.bs]=this.categories,t[Card.hs.ds]=this.expiresAt,t[Card.hs.URL]=this.url,t[Card.hs.ps]=this.linkText,t[Card.hs.fs]=this.aspectRatio,t[Card.hs.xs]=this.extras,t[Card.hs.gs]=this.pinned,t[Card.hs.js]=this.dismissible,t[Card.hs.ys]=this.clicked,t[Card.hs.zs]=this.test,t}}
1
+ import Card from "./card.js";
2
+ export default class CaptionedImage extends Card {
3
+ constructor(t, s, i, h, e, r, a, o, c, n, d, p, u, l, m, f) {
4
+ super(t, s, i, h, e, r, a, o, c, n, d, p, u, l, m, f),
5
+ (this.U = "ab-captioned-image"),
6
+ (this.V = !0),
7
+ (this.test = !1);
8
+ }
9
+ ss() {
10
+ const t = {};
11
+ return (
12
+ (t[Card.hs.ts] = Card.es.tt),
13
+ (t[Card.hs.ns] = this.id),
14
+ (t[Card.hs.ls] = this.viewed),
15
+ (t[Card.hs.st] = this.title),
16
+ (t[Card.hs.os] = this.imageUrl),
17
+ (t[Card.hs.it] = this.description),
18
+ (t[Card.hs.us] = this.updated),
19
+ (t[Card.hs.cs] = this.created),
20
+ (t[Card.hs.bs] = this.categories),
21
+ (t[Card.hs.ds] = this.expiresAt),
22
+ (t[Card.hs.URL] = this.url),
23
+ (t[Card.hs.ps] = this.linkText),
24
+ (t[Card.hs.fs] = this.aspectRatio),
25
+ (t[Card.hs.xs] = this.extras),
26
+ (t[Card.hs.gs] = this.pinned),
27
+ (t[Card.hs.js] = this.dismissible),
28
+ (t[Card.hs.ys] = this.clicked),
29
+ (t[Card.hs.zs] = this.test),
30
+ t
31
+ );
32
+ }
33
+ }
@@ -1 +1,196 @@
1
- import{convertMsToSeconds as h,dateFromUnixTimestamp as l}from"../../util/date-utils.js";import{FEED_ANIMATION_DURATION as u}from"../../common/constants.js";import E from"../../managers/subscription-manager.js";export default class Card{constructor(t,i,s,h,n,l,e,r,u,E,o,T,I,a,N,c){this.id=t,this.viewed=i,this.title=s,this.imageUrl=h,this.description=n,this.created=l,this.updated=e,this.categories=r,this.expiresAt=u,this.url=E,this.linkText=o,this.aspectRatio=T,this.extras=I,this.pinned=a,this.dismissible=N,this.clicked=c,this.id=t,this.viewed=i||!1,this.title=s||"",this.imageUrl=h,this.description=n||"",this.created=l||null,this.updated=e||null,this.categories=r||[],this.expiresAt=u||null,this.url=E,this.linkText=o,null==T?this.aspectRatio=null:(T=parseFloat(T.toString()),this.aspectRatio=isNaN(T)?null:T),this.extras=I||{},this.pinned=a||!1,this.dismissible=N||!1,this.dismissed=!1,this.clicked=c||!1,this.isControl=!1,this.test=!1,this.ht=null,this.nt=null}subscribeToClickedEvent(t){return this.et().lt(t)}subscribeToDismissedEvent(t){return this.rt().lt(t)}removeSubscription(t){this.et().removeSubscription(t),this.rt().removeSubscription(t)}removeAllSubscriptions(){this.et().removeAllSubscriptions(),this.rt().removeAllSubscriptions()}dismissCard(){if(!this.dismissible||this.dismissed)return;"function"==typeof this.logCardDismissal&&this.logCardDismissal();let t=this._;!t&&this.id&&(t=document.getElementById(this.id)),t&&(t.style.height=t.offsetHeight+"px",t.className=t.className+" ab-hide",setTimeout((function(){t&&t.parentNode&&(t.style.height="0",t.style.margin="0",setTimeout((function(){t&&t.parentNode&&t.parentNode.removeChild(t)}),Card.ut))}),u))}et(){return null==this.ht&&(this.ht=new E),this.ht}rt(){return null==this.nt&&(this.nt=new E),this.nt}M(){this.viewed=!0}p(){this.viewed=!0,this.clicked=!0,this.et().Et()}F(){return!(!this.dismissible||this.dismissed)&&(this.dismissed=!0,this.rt().Et(),!0)}ot(t){if(null==t||t[Card.Tt.ns]!==this.id)return!0;if(t[Card.Tt.It])return!1;if(null!=t[Card.Tt.us]&&null!=this.updated&&parseInt(t[Card.Tt.us])<h(this.updated.valueOf()))return!0;if(t[Card.Tt.ls]&&!this.viewed&&(this.viewed=!0),t[Card.Tt.ys]&&!this.clicked&&(this.clicked=t[Card.Tt.ys]),null!=t[Card.Tt.st]&&(this.title=t[Card.Tt.st]),null!=t[Card.Tt.os]&&(this.imageUrl=t[Card.Tt.os]),null!=t[Card.Tt.it]&&(this.description=t[Card.Tt.it]),null!=t[Card.Tt.us]){const i=l(t[Card.Tt.us]);null!=i&&(this.updated=i)}if(null!=t[Card.Tt.ds]){let i;i=t[Card.Tt.ds]===Card.Nt?null:l(t[Card.Tt.ds]),this.expiresAt=i}if(null!=t[Card.Tt.URL]&&(this.url=t[Card.Tt.URL]),null!=t[Card.Tt.ps]&&(this.linkText=t[Card.Tt.ps]),null!=t[Card.Tt.fs]){const i=parseFloat(t[Card.Tt.fs].toString());this.aspectRatio=isNaN(i)?null:i}return null!=t[Card.Tt.xs]&&(this.extras=t[Card.Tt.xs]),null!=t[Card.Tt.gs]&&(this.pinned=t[Card.Tt.gs]),null!=t[Card.Tt.js]&&(this.dismissible=t[Card.Tt.js]),null!=t[Card.Tt.zs]&&(this.test=t[Card.Tt.zs]),!0}ss(){throw new Error("Must be implemented in a subclass")}}Card.Nt=-1,Card.Tt={ns:"id",ls:"v",js:"db",It:"r",us:"ca",gs:"p",ds:"ea",xs:"e",ts:"tp",os:"i",st:"tt",it:"ds",URL:"u",ps:"dm",fs:"ar",ys:"cl",zs:"t"},Card.es={tt:"captioned_image",ct:"text_announcement",St:"short_news",rs:"banner_image",At:"control"},Card.hs={ns:"id",ls:"v",js:"db",cs:"cr",us:"ca",gs:"p",bs:"t",ds:"ea",xs:"e",ts:"tp",os:"i",st:"tt",it:"ds",URL:"u",ps:"dm",fs:"ar",ys:"cl",zs:"s"},Card.Dt={dt:"ADVERTISING",Ct:"ANNOUNCEMENTS",Rt:"NEWS",bt:"SOCIAL"},Card.ut=400;
1
+ import {
2
+ convertMsToSeconds as h,
3
+ dateFromUnixTimestamp as l,
4
+ } from "../../util/date-utils.js";
5
+ import { FEED_ANIMATION_DURATION as u } from "../../common/constants.js";
6
+ import E from "../../managers/subscription-manager.js";
7
+ export default class Card {
8
+ constructor(t, i, s, h, n, l, e, r, u, E, o, T, I, a, N, c) {
9
+ (this.id = t),
10
+ (this.viewed = i),
11
+ (this.title = s),
12
+ (this.imageUrl = h),
13
+ (this.description = n),
14
+ (this.created = l),
15
+ (this.updated = e),
16
+ (this.categories = r),
17
+ (this.expiresAt = u),
18
+ (this.url = E),
19
+ (this.linkText = o),
20
+ (this.aspectRatio = T),
21
+ (this.extras = I),
22
+ (this.pinned = a),
23
+ (this.dismissible = N),
24
+ (this.clicked = c),
25
+ (this.id = t),
26
+ (this.viewed = i || !1),
27
+ (this.title = s || ""),
28
+ (this.imageUrl = h),
29
+ (this.description = n || ""),
30
+ (this.created = l || null),
31
+ (this.updated = e || null),
32
+ (this.categories = r || []),
33
+ (this.expiresAt = u || null),
34
+ (this.url = E),
35
+ (this.linkText = o),
36
+ null == T
37
+ ? (this.aspectRatio = null)
38
+ : ((T = parseFloat(T.toString())),
39
+ (this.aspectRatio = isNaN(T) ? null : T)),
40
+ (this.extras = I || {}),
41
+ (this.pinned = a || !1),
42
+ (this.dismissible = N || !1),
43
+ (this.dismissed = !1),
44
+ (this.clicked = c || !1),
45
+ (this.isControl = !1),
46
+ (this.test = !1),
47
+ (this.ht = null),
48
+ (this.nt = null);
49
+ }
50
+ subscribeToClickedEvent(t) {
51
+ return this.et().lt(t);
52
+ }
53
+ subscribeToDismissedEvent(t) {
54
+ return this.rt().lt(t);
55
+ }
56
+ removeSubscription(t) {
57
+ this.et().removeSubscription(t), this.rt().removeSubscription(t);
58
+ }
59
+ removeAllSubscriptions() {
60
+ this.et().removeAllSubscriptions(), this.rt().removeAllSubscriptions();
61
+ }
62
+ dismissCard() {
63
+ if (!this.dismissible || this.dismissed) return;
64
+ "function" == typeof this.logCardDismissal && this.logCardDismissal();
65
+ let t = this._;
66
+ !t && this.id && (t = document.getElementById(this.id)),
67
+ t &&
68
+ ((t.style.height = t.offsetHeight + "px"),
69
+ (t.className = t.className + " ab-hide"),
70
+ setTimeout(function () {
71
+ t &&
72
+ t.parentNode &&
73
+ ((t.style.height = "0"),
74
+ (t.style.margin = "0"),
75
+ setTimeout(function () {
76
+ t && t.parentNode && t.parentNode.removeChild(t);
77
+ }, Card.ut));
78
+ }, u));
79
+ }
80
+ et() {
81
+ return null == this.ht && (this.ht = new E()), this.ht;
82
+ }
83
+ rt() {
84
+ return null == this.nt && (this.nt = new E()), this.nt;
85
+ }
86
+ M() {
87
+ this.viewed = !0;
88
+ }
89
+ p() {
90
+ (this.viewed = !0), (this.clicked = !0), this.et().Et();
91
+ }
92
+ F() {
93
+ return (
94
+ !(!this.dismissible || this.dismissed) &&
95
+ ((this.dismissed = !0), this.rt().Et(), !0)
96
+ );
97
+ }
98
+ ot(t) {
99
+ if (null == t || t[Card.Tt.ns] !== this.id) return !0;
100
+ if (t[Card.Tt.It]) return !1;
101
+ if (
102
+ null != t[Card.Tt.us] &&
103
+ null != this.updated &&
104
+ parseInt(t[Card.Tt.us]) < h(this.updated.valueOf())
105
+ )
106
+ return !0;
107
+ if (
108
+ (t[Card.Tt.ls] && !this.viewed && (this.viewed = !0),
109
+ t[Card.Tt.ys] && !this.clicked && (this.clicked = t[Card.Tt.ys]),
110
+ null != t[Card.Tt.st] && (this.title = t[Card.Tt.st]),
111
+ null != t[Card.Tt.os] && (this.imageUrl = t[Card.Tt.os]),
112
+ null != t[Card.Tt.it] && (this.description = t[Card.Tt.it]),
113
+ null != t[Card.Tt.us])
114
+ ) {
115
+ const i = l(t[Card.Tt.us]);
116
+ null != i && (this.updated = i);
117
+ }
118
+ if (null != t[Card.Tt.ds]) {
119
+ let i;
120
+ (i = t[Card.Tt.ds] === Card.Nt ? null : l(t[Card.Tt.ds])),
121
+ (this.expiresAt = i);
122
+ }
123
+ if (
124
+ (null != t[Card.Tt.URL] && (this.url = t[Card.Tt.URL]),
125
+ null != t[Card.Tt.ps] && (this.linkText = t[Card.Tt.ps]),
126
+ null != t[Card.Tt.fs])
127
+ ) {
128
+ const i = parseFloat(t[Card.Tt.fs].toString());
129
+ this.aspectRatio = isNaN(i) ? null : i;
130
+ }
131
+ return (
132
+ null != t[Card.Tt.xs] && (this.extras = t[Card.Tt.xs]),
133
+ null != t[Card.Tt.gs] && (this.pinned = t[Card.Tt.gs]),
134
+ null != t[Card.Tt.js] && (this.dismissible = t[Card.Tt.js]),
135
+ null != t[Card.Tt.zs] && (this.test = t[Card.Tt.zs]),
136
+ !0
137
+ );
138
+ }
139
+ ss() {
140
+ throw new Error("Must be implemented in a subclass");
141
+ }
142
+ }
143
+ (Card.Nt = -1),
144
+ (Card.Tt = {
145
+ ns: "id",
146
+ ls: "v",
147
+ js: "db",
148
+ It: "r",
149
+ us: "ca",
150
+ gs: "p",
151
+ ds: "ea",
152
+ xs: "e",
153
+ ts: "tp",
154
+ os: "i",
155
+ st: "tt",
156
+ it: "ds",
157
+ URL: "u",
158
+ ps: "dm",
159
+ fs: "ar",
160
+ ys: "cl",
161
+ zs: "t",
162
+ }),
163
+ (Card.es = {
164
+ tt: "captioned_image",
165
+ ct: "text_announcement",
166
+ St: "short_news",
167
+ rs: "banner_image",
168
+ At: "control",
169
+ }),
170
+ (Card.hs = {
171
+ ns: "id",
172
+ ls: "v",
173
+ js: "db",
174
+ cs: "cr",
175
+ us: "ca",
176
+ gs: "p",
177
+ bs: "t",
178
+ ds: "ea",
179
+ xs: "e",
180
+ ts: "tp",
181
+ os: "i",
182
+ st: "tt",
183
+ it: "ds",
184
+ URL: "u",
185
+ ps: "dm",
186
+ fs: "ar",
187
+ ys: "cl",
188
+ zs: "s",
189
+ }),
190
+ (Card.Dt = {
191
+ dt: "ADVERTISING",
192
+ Ct: "ANNOUNCEMENTS",
193
+ Rt: "NEWS",
194
+ bt: "SOCIAL",
195
+ }),
196
+ (Card.ut = 400);
@@ -1 +1,32 @@
1
- import Card from"./card.js";export default class ClassicCard extends Card{constructor(s,t,i,h,r,c,e,a,o,d,l,n,u,p,f,m){super(s,t,i,h,r,c,e,a,o,d,l,n,u,p,f,m),this.U="ab-classic-card",this.V=!0}ss(){const s={};return s[Card.hs.ts]=Card.es.St,s[Card.hs.ns]=this.id,s[Card.hs.ls]=this.viewed,s[Card.hs.st]=this.title,s[Card.hs.os]=this.imageUrl,s[Card.hs.it]=this.description,s[Card.hs.us]=this.updated,s[Card.hs.cs]=this.created,s[Card.hs.bs]=this.categories,s[Card.hs.ds]=this.expiresAt,s[Card.hs.URL]=this.url,s[Card.hs.ps]=this.linkText,s[Card.hs.fs]=this.aspectRatio,s[Card.hs.xs]=this.extras,s[Card.hs.gs]=this.pinned,s[Card.hs.js]=this.dismissible,s[Card.hs.ys]=this.clicked,s[Card.hs.zs]=this.test,s}}
1
+ import Card from "./card.js";
2
+ export default class ClassicCard extends Card {
3
+ constructor(s, t, i, h, r, c, e, a, o, d, l, n, u, p, f, m) {
4
+ super(s, t, i, h, r, c, e, a, o, d, l, n, u, p, f, m),
5
+ (this.U = "ab-classic-card"),
6
+ (this.V = !0);
7
+ }
8
+ ss() {
9
+ const s = {};
10
+ return (
11
+ (s[Card.hs.ts] = Card.es.St),
12
+ (s[Card.hs.ns] = this.id),
13
+ (s[Card.hs.ls] = this.viewed),
14
+ (s[Card.hs.st] = this.title),
15
+ (s[Card.hs.os] = this.imageUrl),
16
+ (s[Card.hs.it] = this.description),
17
+ (s[Card.hs.us] = this.updated),
18
+ (s[Card.hs.cs] = this.created),
19
+ (s[Card.hs.bs] = this.categories),
20
+ (s[Card.hs.ds] = this.expiresAt),
21
+ (s[Card.hs.URL] = this.url),
22
+ (s[Card.hs.ps] = this.linkText),
23
+ (s[Card.hs.fs] = this.aspectRatio),
24
+ (s[Card.hs.xs] = this.extras),
25
+ (s[Card.hs.gs] = this.pinned),
26
+ (s[Card.hs.js] = this.dismissible),
27
+ (s[Card.hs.ys] = this.clicked),
28
+ (s[Card.hs.zs] = this.test),
29
+ s
30
+ );
31
+ }
32
+ }
@@ -1 +1,23 @@
1
- import Card from"./card.js";export default class ControlCard extends Card{constructor(l,t,s,i,n,r){super(l,t,null,null,null,null,s,null,i,null,null,null,n,r),this.isControl=!0,this.U="ab-control-card",this.V=!1}ss(){const l={};return l[Card.hs.ts]=Card.es.At,l[Card.hs.ns]=this.id,l[Card.hs.ls]=this.viewed,l[Card.hs.us]=this.updated,l[Card.hs.ds]=this.expiresAt,l[Card.hs.xs]=this.extras,l[Card.hs.gs]=this.pinned,l[Card.hs.zs]=this.test,l}}
1
+ import Card from "./card.js";
2
+ export default class ControlCard extends Card {
3
+ constructor(l, t, s, i, n, r) {
4
+ super(l, t, null, null, null, null, s, null, i, null, null, null, n, r),
5
+ (this.isControl = !0),
6
+ (this.U = "ab-control-card"),
7
+ (this.V = !1);
8
+ }
9
+ ss() {
10
+ const l = {};
11
+ return (
12
+ (l[Card.hs.ts] = Card.es.At),
13
+ (l[Card.hs.ns] = this.id),
14
+ (l[Card.hs.ls] = this.viewed),
15
+ (l[Card.hs.us] = this.updated),
16
+ (l[Card.hs.ds] = this.expiresAt),
17
+ (l[Card.hs.xs] = this.extras),
18
+ (l[Card.hs.gs] = this.pinned),
19
+ (l[Card.hs.zs] = this.test),
20
+ l
21
+ );
22
+ }
23
+ }
@@ -1 +1,32 @@
1
- import Card from"./card.js";import Banner from"./banner.js";export default class ImageOnly extends Banner{constructor(s,t,i,h,r,e,a,n,o,c,m,b,l,p){super(s,t,i,h,r,e,a,n,o,c,m,b,l,p),this.U="ab-banner ab-image-only",this.V=!1,this.test=!1}ss(){const s={};return s[Card.hs.ts]=Card.es.rs,s[Card.hs.ns]=this.id,s[Card.hs.ls]=this.viewed,s[Card.hs.os]=this.imageUrl,s[Card.hs.us]=this.updated,s[Card.hs.cs]=this.created,s[Card.hs.bs]=this.categories,s[Card.hs.ds]=this.expiresAt,s[Card.hs.URL]=this.url,s[Card.hs.ps]=this.linkText,s[Card.hs.fs]=this.aspectRatio,s[Card.hs.xs]=this.extras,s[Card.hs.gs]=this.pinned,s[Card.hs.js]=this.dismissible,s[Card.hs.ys]=this.clicked,s[Card.hs.zs]=this.test,s}}
1
+ import Card from "./card.js";
2
+ import Banner from "./banner.js";
3
+ export default class ImageOnly extends Banner {
4
+ constructor(s, t, i, h, r, e, a, n, o, c, m, b, l, p) {
5
+ super(s, t, i, h, r, e, a, n, o, c, m, b, l, p),
6
+ (this.U = "ab-banner ab-image-only"),
7
+ (this.V = !1),
8
+ (this.test = !1);
9
+ }
10
+ ss() {
11
+ const s = {};
12
+ return (
13
+ (s[Card.hs.ts] = Card.es.rs),
14
+ (s[Card.hs.ns] = this.id),
15
+ (s[Card.hs.ls] = this.viewed),
16
+ (s[Card.hs.os] = this.imageUrl),
17
+ (s[Card.hs.us] = this.updated),
18
+ (s[Card.hs.cs] = this.created),
19
+ (s[Card.hs.bs] = this.categories),
20
+ (s[Card.hs.ds] = this.expiresAt),
21
+ (s[Card.hs.URL] = this.url),
22
+ (s[Card.hs.ps] = this.linkText),
23
+ (s[Card.hs.fs] = this.aspectRatio),
24
+ (s[Card.hs.xs] = this.extras),
25
+ (s[Card.hs.gs] = this.pinned),
26
+ (s[Card.hs.js] = this.dismissible),
27
+ (s[Card.hs.ys] = this.clicked),
28
+ (s[Card.hs.zs] = this.test),
29
+ s
30
+ );
31
+ }
32
+ }