@beamimpact/web-sdk 1.57.0 → 1.57.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 (225) hide show
  1. package/dist/chunks/_share-dialog-dependencies-BEUnzuWq.esm.js +2 -0
  2. package/dist/chunks/{_share-dialog-dependencies-U9953n3E.esm.js.map → _share-dialog-dependencies-BEUnzuWq.esm.js.map} +1 -1
  3. package/dist/chunks/{cart-ChovPXmM.esm.d.ts → cart-CKltrzQt.esm.d.ts} +20 -9
  4. package/dist/chunks/{css-card-grid-BUidQqf0.esm.js → css-card-grid-CiqEjkwR.esm.js} +2 -2
  5. package/dist/chunks/{css-card-grid-BUidQqf0.esm.js.map → css-card-grid-CiqEjkwR.esm.js.map} +1 -1
  6. package/dist/chunks/{index-IQOpw0qx.esm.d.ts → index-BAROgNYE.esm.d.ts} +7 -1
  7. package/dist/chunks/{index-CdinWvYu.esm.d.ts → index-BH3YaPLG.esm.d.ts} +1 -1
  8. package/dist/chunks/index-BgalrCS_.esm.js +32 -0
  9. package/dist/chunks/{index-CTsxQr7R.esm.js.map → index-BgalrCS_.esm.js.map} +1 -1
  10. package/dist/chunks/index-C60Vejym.esm.js +32 -0
  11. package/dist/chunks/{index-DBKUxzAl.esm.js.map → index-C60Vejym.esm.js.map} +1 -1
  12. package/dist/chunks/{index-BG4XJXUa.esm.d.ts → index-C6a13iqC.esm.d.ts} +3 -1
  13. package/dist/chunks/index-D6aFJ4cU.esm.js +2 -0
  14. package/dist/chunks/index-D6aFJ4cU.esm.js.map +1 -0
  15. package/dist/chunks/index-Dm-K2MLY.esm.js +31 -0
  16. package/dist/chunks/index-Dm-K2MLY.esm.js.map +1 -0
  17. package/dist/chunks/{index-DTw-q6W4.esm.js → index-DqhM4Yoj.esm.js} +11 -11
  18. package/dist/chunks/index-DqhM4Yoj.esm.js.map +1 -0
  19. package/dist/chunks/{index-CVmIOuEY.esm.js → index-HqfLVFOU.esm.js} +11 -11
  20. package/dist/chunks/index-HqfLVFOU.esm.js.map +1 -0
  21. package/dist/chunks/index-MAMeVd6l.esm.js +2 -0
  22. package/dist/chunks/{index--PfL-_nX.esm.js.map → index-MAMeVd6l.esm.js.map} +1 -1
  23. package/dist/chunks/{index-_0XeyyF9.esm.d.ts → index-OYSJ-2mk.esm.d.ts} +1 -1
  24. package/dist/chunks/{index-BY5lSRmw.esm.d.ts → index-mBTWm4YP.esm.d.ts} +2 -2
  25. package/dist/chunks/{promo-pill-label-BdTmmg_U.esm.js → promo-pill-label-5HmbDVmU.esm.js} +2 -2
  26. package/dist/chunks/{promo-pill-label-BdTmmg_U.esm.js.map → promo-pill-label-5HmbDVmU.esm.js.map} +1 -1
  27. package/dist/chunks/{share-button-7sI6zg-x.esm.js → share-button-5gfPmeEh.esm.js} +3 -3
  28. package/dist/chunks/{share-button-7sI6zg-x.esm.js.map → share-button-5gfPmeEh.esm.js.map} +1 -1
  29. package/dist/chunks/{share-button-BaIbuJOl.esm.js → share-button-C4yPLL_t.esm.js} +3 -3
  30. package/dist/chunks/{share-button-BaIbuJOl.esm.js.map → share-button-C4yPLL_t.esm.js.map} +1 -1
  31. package/dist/chunks/{update-cart-CcgzHTEm.esm.d.ts → update-cart-DoJGAdoU.esm.d.ts} +2 -2
  32. package/dist/chunks/utils-C5hmbxa4.esm.js +2 -0
  33. package/dist/chunks/utils-C5hmbxa4.esm.js.map +1 -0
  34. package/dist/chunks/{utils-D8HO_RIu.esm.d.ts → utils-COGFpDER.esm.d.ts} +84 -84
  35. package/dist/components/beam-partner-logos.d.ts +1 -1
  36. package/dist/components/community-impact.d.ts +1 -1
  37. package/dist/components/community-impact.esm.js +4 -4
  38. package/dist/components/community-impact.esm.js.map +1 -1
  39. package/dist/components/community-impact.js +4 -4
  40. package/dist/components/community-impact.js.map +1 -1
  41. package/dist/components/cumulative-impact.d.ts +1 -1
  42. package/dist/components/cumulative-impact.esm.js +2 -2
  43. package/dist/components/cumulative-impact.esm.js.map +1 -1
  44. package/dist/components/cumulative-impact.js +2 -2
  45. package/dist/components/cumulative-impact.js.map +1 -1
  46. package/dist/components/impact-overview.d.ts +1 -1
  47. package/dist/components/impact-overview.esm.js +4 -4
  48. package/dist/components/impact-overview.esm.js.map +1 -1
  49. package/dist/components/impact-overview.js +4 -4
  50. package/dist/components/impact-overview.js.map +1 -1
  51. package/dist/components/index.d.ts +1 -1
  52. package/dist/components/index.esm.js +1 -1
  53. package/dist/components/index.js +1 -1
  54. package/dist/components/post-purchase.d.ts +1 -1
  55. package/dist/components/post-purchase.esm.js +1 -1
  56. package/dist/components/post-purchase.js +1 -1
  57. package/dist/components/product-details-page.d.ts +1 -1
  58. package/dist/components/product-details-page.esm.js +4 -4
  59. package/dist/components/product-details-page.esm.js.map +1 -1
  60. package/dist/components/product-details-page.js +4 -4
  61. package/dist/components/product-details-page.js.map +1 -1
  62. package/dist/components/redeem-transaction.d.ts +1 -1
  63. package/dist/components/redeem-transaction.esm.js +1 -1
  64. package/dist/components/redeem-transaction.js +1 -1
  65. package/dist/components/select-nonprofit.d.ts +1 -1
  66. package/dist/components/select-nonprofit.esm.js +12 -12
  67. package/dist/components/select-nonprofit.esm.js.map +1 -1
  68. package/dist/components/select-nonprofit.js +12 -12
  69. package/dist/components/select-nonprofit.js.map +1 -1
  70. package/dist/components/select-subscription-nonprofit.d.ts +1 -1
  71. package/dist/components/select-subscription-nonprofit.esm.js +11 -11
  72. package/dist/components/select-subscription-nonprofit.esm.js.map +1 -1
  73. package/dist/components/select-subscription-nonprofit.js +11 -11
  74. package/dist/components/select-subscription-nonprofit.js.map +1 -1
  75. package/dist/components/shopify.d.ts +4 -4
  76. package/dist/components/shopify.esm.js +1 -1
  77. package/dist/components/shopify.esm.js.map +1 -1
  78. package/dist/components/shopify.js +1 -1
  79. package/dist/components/shopify.js.map +1 -1
  80. package/dist/components/social-share.d.ts +1 -1
  81. package/dist/components/social-share.esm.js +1 -1
  82. package/dist/components/social-share.esm.js.map +1 -1
  83. package/dist/components/social-share.js +1 -1
  84. package/dist/components/social-share.js.map +1 -1
  85. package/dist/components/subscriber-select-nonprofit.d.ts +1 -1
  86. package/dist/components/subscriber-select-nonprofit.esm.js +3 -3
  87. package/dist/components/subscriber-select-nonprofit.js +3 -3
  88. package/dist/components/subscription-impact.d.ts +1 -1
  89. package/dist/components/subscription-impact.esm.js +4 -4
  90. package/dist/components/subscription-impact.esm.js.map +1 -1
  91. package/dist/components/subscription-impact.js +4 -4
  92. package/dist/components/subscription-impact.js.map +1 -1
  93. package/dist/components/subscription-management.d.ts +1 -1
  94. package/dist/components/subscription-management.esm.js +4 -4
  95. package/dist/components/subscription-management.js +4 -4
  96. package/dist/index.d.ts +8 -8
  97. package/dist/index.esm.js +1 -1
  98. package/dist/index.js +1 -1
  99. package/dist/integrations/beam.d.ts +1 -1
  100. package/dist/integrations/beam.esm.js +1 -1
  101. package/dist/integrations/beam.js +1 -1
  102. package/dist/integrations/cart.d.ts +2 -2
  103. package/dist/integrations/cart.esm.js +1 -1
  104. package/dist/integrations/cart.js +1 -1
  105. package/dist/integrations/logs.d.ts +2 -2
  106. package/dist/integrations/logs.esm.js +1 -1
  107. package/dist/integrations/logs.js +1 -1
  108. package/dist/integrations/promoManager.d.ts +1 -1
  109. package/dist/integrations/promoManager.esm.js +1 -1
  110. package/dist/integrations/promoManager.js +1 -1
  111. package/dist/integrations/session.d.ts +1 -1
  112. package/dist/integrations/session.esm.js +1 -1
  113. package/dist/integrations/session.js +1 -1
  114. package/dist/integrations/shopify-order.d.ts +1 -1
  115. package/dist/integrations/shopify-order.esm.js +1 -1
  116. package/dist/integrations/shopify-order.js +1 -1
  117. package/dist/integrations/shopify.d.ts +3 -3
  118. package/dist/integrations/shopify.esm.js +1 -1
  119. package/dist/integrations/shopify.js +1 -1
  120. package/dist/integrations/statsig.d.ts +1 -1
  121. package/dist/integrations/statsig.esm.js +3 -3
  122. package/dist/integrations/statsig.esm.js.map +1 -1
  123. package/dist/integrations/statsig.js +3 -3
  124. package/dist/integrations/statsig.js.map +1 -1
  125. package/dist/integrations/utils.d.ts +1 -1
  126. package/dist/integrations/utils.esm.js +1 -1
  127. package/dist/integrations/utils.js +1 -1
  128. package/dist/react/beam-partner-logos.d.ts +1 -1
  129. package/dist/react/community-impact.d.ts +1 -1
  130. package/dist/react/community-impact.esm.js +1 -1
  131. package/dist/react/community-impact.js +1 -1
  132. package/dist/react/cumulative-impact.d.ts +1 -1
  133. package/dist/react/cumulative-impact.esm.js +1 -1
  134. package/dist/react/cumulative-impact.js +1 -1
  135. package/dist/react/impact-overview.d.ts +1 -1
  136. package/dist/react/impact-overview.esm.js +1 -1
  137. package/dist/react/impact-overview.js +1 -1
  138. package/dist/react/index.d.ts +1 -1
  139. package/dist/react/index.esm.js +1 -1
  140. package/dist/react/index.js +1 -1
  141. package/dist/react/post-purchase.d.ts +1 -1
  142. package/dist/react/post-purchase.esm.js +1 -1
  143. package/dist/react/post-purchase.js +1 -1
  144. package/dist/react/product-details-page.d.ts +1 -1
  145. package/dist/react/product-details-page.esm.js +1 -1
  146. package/dist/react/product-details-page.js +1 -1
  147. package/dist/react/redeem-transaction.d.ts +1 -1
  148. package/dist/react/redeem-transaction.esm.js +1 -1
  149. package/dist/react/redeem-transaction.js +1 -1
  150. package/dist/react/select-nonprofit.d.ts +1 -1
  151. package/dist/react/select-nonprofit.esm.js +1 -1
  152. package/dist/react/select-nonprofit.js +1 -1
  153. package/dist/react/select-subscription-nonprofit.d.ts +1 -1
  154. package/dist/react/select-subscription-nonprofit.esm.js +1 -1
  155. package/dist/react/select-subscription-nonprofit.js +1 -1
  156. package/dist/react/shopify.esm.js +1 -1
  157. package/dist/react/shopify.esm.js.map +1 -1
  158. package/dist/react/shopify.js +1 -1
  159. package/dist/react/shopify.js.map +1 -1
  160. package/dist/react/social-share.d.ts +1 -1
  161. package/dist/react/social-share.esm.js +1 -1
  162. package/dist/react/social-share.js +1 -1
  163. package/dist/react/subscriber-select-nonprofit.d.ts +1 -1
  164. package/dist/react/subscriber-select-nonprofit.esm.js +1 -1
  165. package/dist/react/subscriber-select-nonprofit.js +1 -1
  166. package/dist/react/subscription-impact.d.ts +1 -1
  167. package/dist/react/subscription-impact.esm.js +1 -1
  168. package/dist/react/subscription-impact.js +1 -1
  169. package/dist/react/subscription-management.d.ts +1 -1
  170. package/dist/react/subscription-management.esm.js +1 -1
  171. package/dist/react/subscription-management.js +1 -1
  172. package/dist/utils/beam-errors.d.ts +1 -1
  173. package/dist/utils/beam-errors.esm.js +1 -1
  174. package/dist/utils/beam-errors.js +1 -1
  175. package/dist/utils/cart.d.ts +1 -1
  176. package/dist/utils/cart.esm.js +1 -1
  177. package/dist/utils/cart.js +1 -1
  178. package/dist/utils/clear-beam-storage.d.ts +3 -0
  179. package/dist/utils/clear-beam-storage.esm.js +2 -0
  180. package/dist/utils/clear-beam-storage.esm.js.map +1 -0
  181. package/dist/utils/clear-beam-storage.js +2 -0
  182. package/dist/utils/clear-beam-storage.js.map +1 -0
  183. package/dist/utils/cookies.d.ts +1 -1
  184. package/dist/utils/cookies.esm.js +1 -1
  185. package/dist/utils/cookies.js +1 -1
  186. package/dist/utils/events.d.ts +1 -1
  187. package/dist/utils/events.esm.js +1 -1
  188. package/dist/utils/events.js +1 -1
  189. package/dist/utils/local-storage.d.ts +1 -1
  190. package/dist/utils/local-storage.esm.js +1 -1
  191. package/dist/utils/local-storage.js +1 -1
  192. package/dist/utils/logger.d.ts +1 -1
  193. package/dist/utils/logger.esm.js +1 -1
  194. package/dist/utils/logger.js +1 -1
  195. package/dist/utils/makeApiKeyHeader.d.ts +1 -1
  196. package/dist/utils/makeApiKeyHeader.esm.js +1 -1
  197. package/dist/utils/makeApiKeyHeader.js +1 -1
  198. package/dist/utils/memoize-last.d.ts +1 -1
  199. package/dist/utils/memoize-last.esm.js +1 -1
  200. package/dist/utils/memoize-last.js +1 -1
  201. package/dist/utils/network-listeners.d.ts +1 -1
  202. package/dist/utils/network-listeners.esm.js +1 -1
  203. package/dist/utils/network-listeners.js +1 -1
  204. package/dist/utils/promoManager.d.ts +1 -1
  205. package/dist/utils/promoManager.esm.js +1 -1
  206. package/dist/utils/promoManager.js +1 -1
  207. package/dist/utils/remote-session.d.ts +1 -1
  208. package/dist/utils/remote-session.esm.js +1 -1
  209. package/dist/utils/remote-session.js +1 -1
  210. package/dist/utils/wait-for-element.d.ts +1 -1
  211. package/dist/utils/wait-for-element.esm.js +1 -1
  212. package/dist/utils/wait-for-element.js +1 -1
  213. package/package.json +1 -1
  214. package/dist/chunks/_share-dialog-dependencies-U9953n3E.esm.js +0 -2
  215. package/dist/chunks/index--PfL-_nX.esm.js +0 -2
  216. package/dist/chunks/index-CTsxQr7R.esm.js +0 -32
  217. package/dist/chunks/index-CVmIOuEY.esm.js.map +0 -1
  218. package/dist/chunks/index-DBKUxzAl.esm.js +0 -32
  219. package/dist/chunks/index-DTw-q6W4.esm.js.map +0 -1
  220. package/dist/chunks/index-DhHhFTBE.esm.js +0 -31
  221. package/dist/chunks/index-DhHhFTBE.esm.js.map +0 -1
  222. package/dist/chunks/index-cb5vYQx0.esm.js +0 -2
  223. package/dist/chunks/index-cb5vYQx0.esm.js.map +0 -1
  224. package/dist/chunks/utils-BjhsDvuU.esm.js +0 -2
  225. package/dist/chunks/utils-BjhsDvuU.esm.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import{i as z,n as r,r as d,a as H,b as o,h as E}from"../chunks/lit-BEag9MFp.esm.js";import{u as l,D as R,A as y,S as j,j as K,W as B,k as _,g as F,f as c,h as O,e as p,_ as N,d as S}from"../chunks/index-DhHhFTBE.esm.js";import{a as V}from"../chunks/share-button-7sI6zg-x.esm.js";import{c as Y,a as G,d as q,e as v}from"../chunks/css-card-grid-BUidQqf0.esm.js";import{M as J,t as x,B as D}from"../chunks/utils-BjhsDvuU.esm.js";import"./select-subscription-nonprofit.js";import"./subscription-impact.js";import{partnerLogosConfigDefaults as Q}from"./beam-partner-logos.js";import"../chunks/lodash-CrMU6wKg.esm.js";import"../chunks/share-button-BaIbuJOl.esm.js";import"../chunks/vendor-DUOg5fL-.esm.js";import"../chunks/_share-dialog-dependencies-U9953n3E.esm.js";import"../chunks/responsive-aN8P5PqD.esm.js";const g={en:{changeNonprofitButton:()=>"Change Nonprofit",previousImpactHeader:()=>"Your Previous Impact",previousNonprofitButton:()=>"Back to Previous Nonprofit",supportAgainButton:()=>"Support Again",via:()=>"via",showAllButton:()=>"Show All",showLessButton:()=>"Show Less"},fr:{changeNonprofitButton:()=>"Change Nonprofit",previousImpactHeader:()=>"Your Previous Impact",previousNonprofitButton:()=>"Back to Previous Nonprofit",supportAgainButton:()=>"Support Again",via:()=>"via",showAllButton:()=>"Show All",showLessButton:()=>"Show Less"},de:{changeNonprofitButton:()=>"Change Nonprofit",previousImpactHeader:()=>"Your Previous Impact",previousNonprofitButton:()=>"Back to Previous Nonprofit",supportAgainButton:()=>"Support Again",via:()=>"via",showAllButton:()=>"Show All",showLessButton:()=>"Show Less"},es:{changeNonprofitButton:()=>"Change Nonprofit",previousImpactHeader:()=>"Your Previous Impact",previousNonprofitButton:()=>"Back to Previous Nonprofit",supportAgainButton:()=>"Support Again",via:()=>"via",showAllButton:()=>"Show All",showLessButton:()=>"Show Less"},it:{changeNonprofitButton:()=>"Change Nonprofit",previousImpactHeader:()=>"Your Previous Impact",previousNonprofitButton:()=>"Back to Previous Nonprofit",supportAgainButton:()=>"Support Again",via:()=>"via",showAllButton:()=>"Show All",showLessButton:()=>"Show Less"},pl:{changeNonprofitButton:()=>"Change Nonprofit",previousImpactHeader:()=>"Your Previous Impact",previousNonprofitButton:()=>"Back to Previous Nonprofit",supportAgainButton:()=>"Support Again",via:()=>"via",showAllButton:()=>"Show All",showLessButton:()=>"Show Less"},ja:{changeNonprofitButton:()=>"Change Nonprofit",previousImpactHeader:()=>"Your Previous Impact",previousNonprofitButton:()=>"Back to Previous Nonprofit",supportAgainButton:()=>"Support Again",via:()=>"via",showAllButton:()=>"Show All",showLessButton:()=>"Show Less"}};var X=Object.defineProperty,i=(M,t,n,s)=>{for(var a=void 0,b=M.length-1,u;b>=0;b--)(u=M[b])&&(a=u(t,n,a)||a);return a&&X(t,n,a),a};const $=3,Z=0,tt=1,et=98;class e extends H{constructor(){super(...arguments),this.baseUrl=R,this.lang="en",this.debug=!1,this.draftConfig=!1,this.activeWidget=null,this.nonprofitId=null,this.beamUserId=null,this.eligibleNonprofits=[],this.showAllTiles=!1,this.isMobile=window.innerWidth<720,this.dropdownVisible=!1,this.emojis=["\u{1F44F}","\u{1F4AA}","\u{1F64C}","\u2728","\u{1F947}"],this.subscriptionDataController=new y(this,this.fetchSubscription),this.eligibleNonprofitsDataController=new y(this,this.fetchEligibleNonprofits),this.personalImpactDataController=new y(this,this.fetchImpact)}get configLang(){return j[this.lang]||"en"}async firstUpdated(){if(!this.email&&!this.partnerUserId)throw new J(["email","partnerUserId"],"One of the following properties needs to be specified: email, partnerUserId ");v(["apiKey","subscriptionId"],this),await this.loadWidget()}async loadWidget(){await Promise.all([this.fetchEligibleNonprofits(),this.fetchSubscription()]),await this.fetchImpact(),this.activeWidget=this.nonprofitId?"subscription-impact":"select-subscription-nonprofit"}async fetchEligibleNonprofits(){v(["apiKey","subscriptionId"],this);const t=await K({baseUrl:this.baseUrl,headers:x(this.apiKey),requestBody:{storeId:this.storeId||void 0,postalCode:this.postalCode||void 0,countryCode:this.countryCode||void 0,widgetName:B.subscription_management,version:"1.0.0"}});return this.storeId=t.store.id,this.eligibleNonprofits=t.nonprofits,this.eligibleNonprofitsDataController.data=t,t}async fetchSubscription(){v(["apiKey","subscriptionId"],this);const t=await _({baseUrl:this.baseUrl,headers:x(this.apiKey),requestBody:{remoteSubscriptionId:this.subscriptionId,email:this.email,partnerUserId:this.partnerUserId}});return this.beamUserId=t.beamUserId,this.nonprofitId=t.nonprofit?.id||null,t}async fetchImpact(){v(["apiKey"],this);const t=await F({baseUrl:this.baseUrl,headers:x(this.apiKey),queryParams:{beamUserId:this.beamUserId?this.beamUserId:void 0,widgetName:"subscription-management",version:"1.0.0",lang:this.configLang}});return this.personalImpactDataController.data=t,t}getDisplayablePreviousImpacts(){const t=this.personalImpactDataController.data?.personal;return!t||t?.length<1?[]:t.filter(n=>!(!n.nonprofit.includeInPersonalImpact||n.nonprofit.id===this.nonprofitId&&(!n.impact.goalCompletionText||n.impact.goalCompletionText?.length<1)))}handleSwapNonprofitButtonClick(){this.activeWidget="select-subscription-nonprofit"}handleBackToSubscriptionImpactButtonClick(){this.activeWidget="subscription-impact"}handleSupportAgainButtonClick(t,n){this.activeWidget="select-subscription-nonprofit",this.selectedNonprofitId=t;const s=new D({selectedNonprofitId:t,nonprofitName:n,source:B.subscription_management,timestamp:new Date});this.dispatchEvent(s)}handleNonprofitSelect(t){if(!(t instanceof D))return;const{selectedNonprofitId:n}=t.detail;this.nonprofitId=n??null,this.activeWidget="subscription-impact"}isNonprofitEligible(t){return this.eligibleNonprofits.some(n=>n.nonprofit.id===t)}shouldDisplayProgressBar(t){return t>tt&&t<et}get cssVariables(){const t={...Q,...V,"--beam-fontFamily":"inherit","--beam-fontStyle":"inherit","--beam-fontSize":"inherit","--beam-textColor":"inherit","--beam-backgroundColor":"inherit","--beam-SubscriptionManagement-widgetContainer-borderColor":"#d5d5d5","--beam-SubscriptionManagement-widgetContainer-borderRadius":"4px","--beam-SubscriptionManagement-widgetContainer-padding":"8px 20px","--beam-SubscriptionManagement-widgetContainer-backgroundColor":"inherit","--beam-SubscriptionManagement-widgetContainer-maxWidth":"820px","--beam-SubscriptionManagement-logo-align-desktop":"left","--beam-SubscriptionManagement-logo-align-mobile":"center","--beam-SubscriptionManagement-previousImpact-cardStyle":"'selected_icon'","--beam-SubscriptionManagement-header-padding":"10px 20px 10px 0px","--beam-SubscriptionManagement-header-borderRadius":"0px","--beam-SubscriptionManagement-header-backgroundColor":"#fff","--beam-SubscriptionManagement-header-meatballsMenu-fontSize":"24px","--beam-SubscriptionManagement-header-meatballsMenu-color":"24px","--beam-SubscriptionManagement-lineBreak-color":"#ddd","--beam-SubscriptionManagement-lineBreak-width":"1px","--beam-SubscriptionManagement-lineBreak-margin":"10px 0 20px 0","--beam-SubscriptionManagement-tile-marginBottom":"20px","--beam-SubscriptionManagement-tile-border-width":"0px","--beam-SubscriptionManagement-tile-border-color":"#ddd","--beam-SubscriptionManagement-tile-padding":"12.5px","--beam-SubscriptionManagement-tile-borderRadius":"8px","--beam-SubscriptionManagement-tile-background":"#f8fbfb","--beam-SubscriptionManagement-tileContent-gap":" 15px","--beam-SubscriptionManagement-tileContent-padding":"5px 0px","--beam-SubscriptionManagement-tile-icon-borderRadius":"4px","--beam-SubscriptionManagement-tile-icon-height":"28px","--beam-SubscriptionManagement-tile-icon-background-borderRadius":"50%","--beam-SubscriptionManagement-tile-icon-background-width":"50px","--beam-SubscriptionManagement-tile-icon-background-height":"50px","--beam-SubscriptionManagement-tile-icon-background-backgroundColor":"#0a323c","--beam-SubscriptionManagement-tile-icon-background-padding":"10px","--beam-SubscriptionManagement-blockTileDescription-gap":"5px","--beam-SubscriptionManagement-blockTileDescription-padding":"0px","--beam-SubscriptionManagement-blockTileDescription-lineHeight":"130%","--beam-SubscriptionManagement-blockTileDescription-progressBar-width-desktop":"60%","--beam-SubscriptionManagement-blockTileDescription-progressBar-width-mobile":"100%","--beam-SubscriptionManagement-subWidgetContainer-padding":"0px 0px 10px","--beam-SubscriptionManagement-previousImpactContainer-padding-desktop":"10px 24px 10px 0px","--beam-SubscriptionManagement-previousImpactContainer-padding-mobile":"0px","--beam-SubscriptionManagement-dropDown-padding":"15px 8px","--beam-SubscriptionManagement-dropDown-borderRadius":"8px","--beam-SubscriptionManagement-dropDown-backgroundColor":"#f8fbfb","--beam-SubscriptionManagement-dropDown-boxShadow":"0px 4px 28px 0px rgba(0, 0, 0, 0.04)","--beam-SubscriptionManagement-dropDown-width":"128px","--beam-SubscriptionManagement-dropDown-hover-backgroundColor":"#E1F1EE","--beam-SubscriptionManagement-dropDownOptions-textDecoration":"underline",...c("--beam-SubscriptionManagement-dropDownOptions",{fontSize:"12px",fontWeight:"400",textTransform:"capitalize",fontStyle:"normal",color:"#0a323c"}),"--beam-SubscriptionManagement-yourPreviousImpactTitle-marginBottom":"15px",...c("--beam-SubscriptionManagement-yourPreviousImpactTitle",{fontSize:"18px",fontWeight:"bold",lineHeight:"120%",textTransform:"capitalize",fontStyle:"normal",color:"#0a323c"}),"--beam-SubscriptionManagement-yourPreviousImpact-showAllButton-textDecoration":"underline",...c("--beam-SubscriptionManagement-yourPreviousImpact-showAllButton",{fontSize:"12px",fontWeight:"bold",lineHeight:"120%",textTransform:"capitalize",fontStyle:"normal",color:"#0a323c"}),"--beam-SubscriptionManagement-tile-title-letterSpacing":"0.36px",...c("--beam-SubscriptionManagement-tile-title",{fontSize:"12px",fontWeight:"bold",lineHeight:"120%",textTransform:"uppercase",fontStyle:"normal",color:"#0a323c"}),...c("--beam-SubscriptionManagement-tile-description",{fontSize:"14px",lineHeight:"120%",fontStyle:"normal",color:"#454a47"}),...c("--beam-SubscriptionManagement-tile-via",{fontSize:"14px",lineHeight:"120%",fontStyle:"normal",color:"#454a47"}),"--beam-SubscriptionManagement-tile-nonprofitLink-textDecoration":"underline",...c("--beam-SubscriptionManagement-tile-nonprofitLink",{fontSize:"14px",fontWeight:"400",lineHeight:"120%",textTransform:"capitalize",fontStyle:"normal",color:"#0a323c"}),"--beam-SubscriptionManagement-tile-supportAgainButton-textDecoration":"underline",...c("--beam-SubscriptionManagement-tile-supportAgainButton",{fontSize:"14px",fontWeight:"400",lineHeight:"120%",textTransform:"capitalize",fontStyle:"normal",color:"#0a323c"}),"--beam-SubscriptionManagement-tile-progressBarLabel-marginLeft":"8px",...c("--beam-SubscriptionManagement-tile-progressBarLabel",{fontSize:"10px",fontWeight:"bold",fontStyle:"normal",color:"#878a92"}),"--beam-SubscriptionManagement-tile-fundedAmount-lineHeight":"16px",...c("--beam-SubscriptionManagement-tile-fundedAmount",{fontSize:"14px",fontWeight:"400",lineHeight:"120%",fontStyle:"italic",color:"#0a323c"})},n=this.eligibleNonprofitsDataController?.data?.config?.web?.theme||{},s={...t,...n};return Object.assign(Object.create({toCSS(){return O(this)}}),s)}renderPreviousImpactTiles({personalImpact:t,cardStyle:n,eligibleNonprofitConfig:s}){if(!t)return o``;if(!s)return o``;const a=this.showAllTiles?t:t.slice(0,$);let b=0;return o`
1
+ import{i as z,n as r,r as d,a as H,b as o,h as E}from"../chunks/lit-BEag9MFp.esm.js";import{D as R,v as j,P as K,W as B,x as y,B as N}from"../chunks/utils-C5hmbxa4.esm.js";import{a as _}from"../chunks/share-button-5gfPmeEh.esm.js";import{c as F,a as O,d as V,e as S}from"../chunks/css-card-grid-CiqEjkwR.esm.js";import{u as l,A as x,h as Y,j as G,g as q,e as c,f as J,d as p,_ as D,c as v}from"../chunks/index-Dm-K2MLY.esm.js";import"./select-subscription-nonprofit.js";import"./subscription-impact.js";import{partnerLogosConfigDefaults as Q}from"./beam-partner-logos.js";import"../chunks/lodash-CrMU6wKg.esm.js";import"../chunks/share-button-C4yPLL_t.esm.js";import"../chunks/vendor-DUOg5fL-.esm.js";import"../chunks/_share-dialog-dependencies-BEUnzuWq.esm.js";import"../chunks/responsive-aN8P5PqD.esm.js";const g={en:{changeNonprofitButton:()=>"Change Nonprofit",previousImpactHeader:()=>"Your Previous Impact",previousNonprofitButton:()=>"Back to Previous Nonprofit",supportAgainButton:()=>"Support Again",via:()=>"via",showAllButton:()=>"Show All",showLessButton:()=>"Show Less"},fr:{changeNonprofitButton:()=>"Change Nonprofit",previousImpactHeader:()=>"Your Previous Impact",previousNonprofitButton:()=>"Back to Previous Nonprofit",supportAgainButton:()=>"Support Again",via:()=>"via",showAllButton:()=>"Show All",showLessButton:()=>"Show Less"},de:{changeNonprofitButton:()=>"Change Nonprofit",previousImpactHeader:()=>"Your Previous Impact",previousNonprofitButton:()=>"Back to Previous Nonprofit",supportAgainButton:()=>"Support Again",via:()=>"via",showAllButton:()=>"Show All",showLessButton:()=>"Show Less"},es:{changeNonprofitButton:()=>"Change Nonprofit",previousImpactHeader:()=>"Your Previous Impact",previousNonprofitButton:()=>"Back to Previous Nonprofit",supportAgainButton:()=>"Support Again",via:()=>"via",showAllButton:()=>"Show All",showLessButton:()=>"Show Less"},it:{changeNonprofitButton:()=>"Change Nonprofit",previousImpactHeader:()=>"Your Previous Impact",previousNonprofitButton:()=>"Back to Previous Nonprofit",supportAgainButton:()=>"Support Again",via:()=>"via",showAllButton:()=>"Show All",showLessButton:()=>"Show Less"},pl:{changeNonprofitButton:()=>"Change Nonprofit",previousImpactHeader:()=>"Your Previous Impact",previousNonprofitButton:()=>"Back to Previous Nonprofit",supportAgainButton:()=>"Support Again",via:()=>"via",showAllButton:()=>"Show All",showLessButton:()=>"Show Less"},ja:{changeNonprofitButton:()=>"Change Nonprofit",previousImpactHeader:()=>"Your Previous Impact",previousNonprofitButton:()=>"Back to Previous Nonprofit",supportAgainButton:()=>"Support Again",via:()=>"via",showAllButton:()=>"Show All",showLessButton:()=>"Show Less"}};var X=Object.defineProperty,i=(M,t,n,s)=>{for(var a=void 0,b=M.length-1,u;b>=0;b--)(u=M[b])&&(a=u(t,n,a)||a);return a&&X(t,n,a),a};const $=3,Z=0,tt=1,et=98;class e extends H{constructor(){super(...arguments),this.baseUrl=R,this.lang="en",this.debug=!1,this.draftConfig=!1,this.activeWidget=null,this.nonprofitId=null,this.beamUserId=null,this.eligibleNonprofits=[],this.showAllTiles=!1,this.isMobile=window.innerWidth<720,this.dropdownVisible=!1,this.emojis=["\u{1F44F}","\u{1F4AA}","\u{1F64C}","\u2728","\u{1F947}"],this.subscriptionDataController=new x(this,this.fetchSubscription),this.eligibleNonprofitsDataController=new x(this,this.fetchEligibleNonprofits),this.personalImpactDataController=new x(this,this.fetchImpact)}get configLang(){return j[this.lang]||"en"}async firstUpdated(){if(!this.email&&!this.partnerUserId)throw new K(["email","partnerUserId"],"One of the following properties needs to be specified: email, partnerUserId ");S(["apiKey","subscriptionId"],this),await this.loadWidget()}async loadWidget(){await Promise.all([this.fetchEligibleNonprofits(),this.fetchSubscription()]),await this.fetchImpact(),this.activeWidget=this.nonprofitId?"subscription-impact":"select-subscription-nonprofit"}async fetchEligibleNonprofits(){S(["apiKey","subscriptionId"],this);const t=await Y({baseUrl:this.baseUrl,headers:y(this.apiKey),requestBody:{storeId:this.storeId||void 0,postalCode:this.postalCode||void 0,countryCode:this.countryCode||void 0,widgetName:B.subscription_management,version:"1.0.0"}});return this.storeId=t.store.id,this.eligibleNonprofits=t.nonprofits,this.eligibleNonprofitsDataController.data=t,t}async fetchSubscription(){S(["apiKey","subscriptionId"],this);const t=await G({baseUrl:this.baseUrl,headers:y(this.apiKey),requestBody:{remoteSubscriptionId:this.subscriptionId,email:this.email,partnerUserId:this.partnerUserId}});return this.beamUserId=t.beamUserId,this.nonprofitId=t.nonprofit?.id||null,t}async fetchImpact(){S(["apiKey"],this);const t=await q({baseUrl:this.baseUrl,headers:y(this.apiKey),queryParams:{beamUserId:this.beamUserId?this.beamUserId:void 0,widgetName:"subscription-management",version:"1.0.0",lang:this.configLang}});return this.personalImpactDataController.data=t,t}getDisplayablePreviousImpacts(){const t=this.personalImpactDataController.data?.personal;return!t||t?.length<1?[]:t.filter(n=>!(!n.nonprofit.includeInPersonalImpact||n.nonprofit.id===this.nonprofitId&&(!n.impact.goalCompletionText||n.impact.goalCompletionText?.length<1)))}handleSwapNonprofitButtonClick(){this.activeWidget="select-subscription-nonprofit"}handleBackToSubscriptionImpactButtonClick(){this.activeWidget="subscription-impact"}handleSupportAgainButtonClick(t,n){this.activeWidget="select-subscription-nonprofit",this.selectedNonprofitId=t;const s=new N({selectedNonprofitId:t,nonprofitName:n,source:B.subscription_management,timestamp:new Date});this.dispatchEvent(s)}handleNonprofitSelect(t){if(!(t instanceof N))return;const{selectedNonprofitId:n}=t.detail;this.nonprofitId=n??null,this.activeWidget="subscription-impact"}isNonprofitEligible(t){return this.eligibleNonprofits.some(n=>n.nonprofit.id===t)}shouldDisplayProgressBar(t){return t>tt&&t<et}get cssVariables(){const t={...Q,..._,"--beam-fontFamily":"inherit","--beam-fontStyle":"inherit","--beam-fontSize":"inherit","--beam-textColor":"inherit","--beam-backgroundColor":"inherit","--beam-SubscriptionManagement-widgetContainer-borderColor":"#d5d5d5","--beam-SubscriptionManagement-widgetContainer-borderRadius":"4px","--beam-SubscriptionManagement-widgetContainer-padding":"8px 20px","--beam-SubscriptionManagement-widgetContainer-backgroundColor":"inherit","--beam-SubscriptionManagement-widgetContainer-maxWidth":"820px","--beam-SubscriptionManagement-logo-align-desktop":"left","--beam-SubscriptionManagement-logo-align-mobile":"center","--beam-SubscriptionManagement-previousImpact-cardStyle":"'selected_icon'","--beam-SubscriptionManagement-header-padding":"10px 20px 10px 0px","--beam-SubscriptionManagement-header-borderRadius":"0px","--beam-SubscriptionManagement-header-backgroundColor":"#fff","--beam-SubscriptionManagement-header-meatballsMenu-fontSize":"24px","--beam-SubscriptionManagement-header-meatballsMenu-color":"24px","--beam-SubscriptionManagement-lineBreak-color":"#ddd","--beam-SubscriptionManagement-lineBreak-width":"1px","--beam-SubscriptionManagement-lineBreak-margin":"10px 0 20px 0","--beam-SubscriptionManagement-tile-marginBottom":"20px","--beam-SubscriptionManagement-tile-border-width":"0px","--beam-SubscriptionManagement-tile-border-color":"#ddd","--beam-SubscriptionManagement-tile-padding":"12.5px","--beam-SubscriptionManagement-tile-borderRadius":"8px","--beam-SubscriptionManagement-tile-background":"#f8fbfb","--beam-SubscriptionManagement-tileContent-gap":" 15px","--beam-SubscriptionManagement-tileContent-padding":"5px 0px","--beam-SubscriptionManagement-tile-icon-borderRadius":"4px","--beam-SubscriptionManagement-tile-icon-height":"28px","--beam-SubscriptionManagement-tile-icon-background-borderRadius":"50%","--beam-SubscriptionManagement-tile-icon-background-width":"50px","--beam-SubscriptionManagement-tile-icon-background-height":"50px","--beam-SubscriptionManagement-tile-icon-background-backgroundColor":"#0a323c","--beam-SubscriptionManagement-tile-icon-background-padding":"10px","--beam-SubscriptionManagement-blockTileDescription-gap":"5px","--beam-SubscriptionManagement-blockTileDescription-padding":"0px","--beam-SubscriptionManagement-blockTileDescription-lineHeight":"130%","--beam-SubscriptionManagement-blockTileDescription-progressBar-width-desktop":"60%","--beam-SubscriptionManagement-blockTileDescription-progressBar-width-mobile":"100%","--beam-SubscriptionManagement-subWidgetContainer-padding":"0px 0px 10px","--beam-SubscriptionManagement-previousImpactContainer-padding-desktop":"10px 24px 10px 0px","--beam-SubscriptionManagement-previousImpactContainer-padding-mobile":"0px","--beam-SubscriptionManagement-dropDown-padding":"15px 8px","--beam-SubscriptionManagement-dropDown-borderRadius":"8px","--beam-SubscriptionManagement-dropDown-backgroundColor":"#f8fbfb","--beam-SubscriptionManagement-dropDown-boxShadow":"0px 4px 28px 0px rgba(0, 0, 0, 0.04)","--beam-SubscriptionManagement-dropDown-width":"128px","--beam-SubscriptionManagement-dropDown-hover-backgroundColor":"#E1F1EE","--beam-SubscriptionManagement-dropDownOptions-textDecoration":"underline",...c("--beam-SubscriptionManagement-dropDownOptions",{fontSize:"12px",fontWeight:"400",textTransform:"capitalize",fontStyle:"normal",color:"#0a323c"}),"--beam-SubscriptionManagement-yourPreviousImpactTitle-marginBottom":"15px",...c("--beam-SubscriptionManagement-yourPreviousImpactTitle",{fontSize:"18px",fontWeight:"bold",lineHeight:"120%",textTransform:"capitalize",fontStyle:"normal",color:"#0a323c"}),"--beam-SubscriptionManagement-yourPreviousImpact-showAllButton-textDecoration":"underline",...c("--beam-SubscriptionManagement-yourPreviousImpact-showAllButton",{fontSize:"12px",fontWeight:"bold",lineHeight:"120%",textTransform:"capitalize",fontStyle:"normal",color:"#0a323c"}),"--beam-SubscriptionManagement-tile-title-letterSpacing":"0.36px",...c("--beam-SubscriptionManagement-tile-title",{fontSize:"12px",fontWeight:"bold",lineHeight:"120%",textTransform:"uppercase",fontStyle:"normal",color:"#0a323c"}),...c("--beam-SubscriptionManagement-tile-description",{fontSize:"14px",lineHeight:"120%",fontStyle:"normal",color:"#454a47"}),...c("--beam-SubscriptionManagement-tile-via",{fontSize:"14px",lineHeight:"120%",fontStyle:"normal",color:"#454a47"}),"--beam-SubscriptionManagement-tile-nonprofitLink-textDecoration":"underline",...c("--beam-SubscriptionManagement-tile-nonprofitLink",{fontSize:"14px",fontWeight:"400",lineHeight:"120%",textTransform:"capitalize",fontStyle:"normal",color:"#0a323c"}),"--beam-SubscriptionManagement-tile-supportAgainButton-textDecoration":"underline",...c("--beam-SubscriptionManagement-tile-supportAgainButton",{fontSize:"14px",fontWeight:"400",lineHeight:"120%",textTransform:"capitalize",fontStyle:"normal",color:"#0a323c"}),"--beam-SubscriptionManagement-tile-progressBarLabel-marginLeft":"8px",...c("--beam-SubscriptionManagement-tile-progressBarLabel",{fontSize:"10px",fontWeight:"bold",fontStyle:"normal",color:"#878a92"}),"--beam-SubscriptionManagement-tile-fundedAmount-lineHeight":"16px",...c("--beam-SubscriptionManagement-tile-fundedAmount",{fontSize:"14px",fontWeight:"400",lineHeight:"120%",fontStyle:"italic",color:"#0a323c"})},n=this.eligibleNonprofitsDataController?.data?.config?.web?.theme||{},s={...t,...n};return Object.assign(Object.create({toCSS(){return J(this)}}),s)}renderPreviousImpactTiles({personalImpact:t,cardStyle:n,eligibleNonprofitConfig:s}){if(!t)return o``;if(!s)return o``;const a=this.showAllTiles?t:t.slice(0,$);let b=0;return o`
2
2
  ${a.map(u=>{const{impact:{goalCompletionText:m,description:h,goalProgressPercentage:f,goalProgressText:A},nonprofit:{cause:C,causeIconSelectedUrl:L,causeIconUrl:T,website:P,name:I,id:w}}=u,k=this.nonprofitId!==w&&this.isNonprofitEligible(w),U=k&&this.shouldDisplayProgressBar(f),W=m?`${this.emojis[b]} `:"";return b=(b+1)%this.emojis.length,o`
3
3
  <div class="tile">
4
4
  <div class="tile-header">
@@ -42,7 +42,7 @@ import{i as z,n as r,r as d,a as H,b as o,h as E}from"../chunks/lit-BEag9MFp.esm
42
42
  </div>
43
43
  </div>
44
44
  `})}
45
- `}render(){const{data:t,loading:n,error:s}=this.eligibleNonprofitsDataController;if(n)return N();if(t?.settings?.excludeDonationsForRecurringTransactions)return o``;if(s||t==null)return this.debug?S({error:s||new Error("No data")}):"";let a;const b=this.cssVariables["--beam-SubscriptionManagement-previousImpact-cardStyle"],u=this.cssVariables["--beam-SubscriptionManagement-logo-align-desktop"],m=this.cssVariables["--beam-SubscriptionManagement-logo-align-mobile"],h=this.getDisplayablePreviousImpacts().length??0;if((this.subscriptionDataController.loading||this.eligibleNonprofitsDataController.loading||this.personalImpactDataController.loading)&&N(),(this.subscriptionDataController.error||this.eligibleNonprofitsDataController.error||this.personalImpactDataController.error)&&this.debug){if(this.subscriptionDataController.error!==null)return S({error:this.subscriptionDataController.error});if(this.eligibleNonprofitsDataController.error!==null)return S({error:this.eligibleNonprofitsDataController.error});if(this.personalImpactDataController.error!==null)return S({error:this.personalImpactDataController.error})}else a="";return this.activeWidget==="select-subscription-nonprofit"?a=o` <beam-select-subscription-nonprofit
45
+ `}render(){const{data:t,loading:n,error:s}=this.eligibleNonprofitsDataController;if(n)return D();if(t?.settings?.excludeDonationsForRecurringTransactions)return o``;if(s||t==null)return this.debug?v({error:s||new Error("No data")}):"";let a;const b=this.cssVariables["--beam-SubscriptionManagement-previousImpact-cardStyle"],u=this.cssVariables["--beam-SubscriptionManagement-logo-align-desktop"],m=this.cssVariables["--beam-SubscriptionManagement-logo-align-mobile"],h=this.getDisplayablePreviousImpacts().length??0;if((this.subscriptionDataController.loading||this.eligibleNonprofitsDataController.loading||this.personalImpactDataController.loading)&&D(),(this.subscriptionDataController.error||this.eligibleNonprofitsDataController.error||this.personalImpactDataController.error)&&this.debug){if(this.subscriptionDataController.error!==null)return v({error:this.subscriptionDataController.error});if(this.eligibleNonprofitsDataController.error!==null)return v({error:this.eligibleNonprofitsDataController.error});if(this.personalImpactDataController.error!==null)return v({error:this.personalImpactDataController.error})}else a="";return this.activeWidget==="select-subscription-nonprofit"?a=o` <beam-select-subscription-nonprofit
46
46
  part="subscription-nonprofit"
47
47
  storeId="${this.storeId}"
48
48
  subscriptionId="${this.subscriptionId}"
@@ -124,7 +124,7 @@ import{i as z,n as r,r as d,a as H,b as o,h as E}from"../chunks/lit-BEag9MFp.esm
124
124
  `:o``}
125
125
  </div>`:o``}
126
126
  </div>
127
- `}}e.tagName="beam-subscription-management",e.styles=[Y,z`
127
+ `}}e.tagName="beam-subscription-management",e.styles=[F,z`
128
128
  :host {
129
129
  display: block;
130
130
  font-family: var(--beam-fontFamily);
@@ -300,5 +300,5 @@ import{i as z,n as r,r as d,a as H,b as o,h as E}from"../chunks/lit-BEag9MFp.esm
300
300
  text-decoration-line: var(--beam-SubscriptionManagement-tile-supportAgainButton-textDecoration);
301
301
  ${l("--beam-SubscriptionManagement-tile-supportAgainButton")};
302
302
  }
303
- `,G({gap:"var(--beam-SubscriptionManagement-tile-marginBottom)",itemMinWidth:"250px",columnCount:"1"})],i([r({type:String})],e.prototype,"baseUrl"),i([r({type:String})],e.prototype,"apiKey"),i([r({type:String})],e.prototype,"subscriptionId"),i([r({type:Number,reflect:!0})],e.prototype,"storeId"),i([r({type:String})],e.prototype,"email"),i([r({type:String})],e.prototype,"partnerUserId"),i([r({type:String})],e.prototype,"postalCode"),i([r({type:String})],e.prototype,"countryCode"),i([r({type:Number,reflect:!0})],e.prototype,"selectedNonprofitId"),i([r({type:String})],e.prototype,"lang"),i([r({type:Object})],e.prototype,"cart"),i([r({type:Boolean})],e.prototype,"debug"),i([r({type:Boolean})],e.prototype,"draftConfig"),i([d()],e.prototype,"activeWidget"),i([d()],e.prototype,"nonprofitId"),i([d()],e.prototype,"beamUserId"),i([d()],e.prototype,"eligibleNonprofits"),i([d()],e.prototype,"showAllTiles"),i([d()],e.prototype,"isMobile"),i([d()],e.prototype,"dropdownVisible"),i([d()],e.prototype,"emojis"),q(e);export{e as BeamSubscriptionManagement};
303
+ `,O({gap:"var(--beam-SubscriptionManagement-tile-marginBottom)",itemMinWidth:"250px",columnCount:"1"})],i([r({type:String})],e.prototype,"baseUrl"),i([r({type:String})],e.prototype,"apiKey"),i([r({type:String})],e.prototype,"subscriptionId"),i([r({type:Number,reflect:!0})],e.prototype,"storeId"),i([r({type:String})],e.prototype,"email"),i([r({type:String})],e.prototype,"partnerUserId"),i([r({type:String})],e.prototype,"postalCode"),i([r({type:String})],e.prototype,"countryCode"),i([r({type:Number,reflect:!0})],e.prototype,"selectedNonprofitId"),i([r({type:String})],e.prototype,"lang"),i([r({type:Object})],e.prototype,"cart"),i([r({type:Boolean})],e.prototype,"debug"),i([r({type:Boolean})],e.prototype,"draftConfig"),i([d()],e.prototype,"activeWidget"),i([d()],e.prototype,"nonprofitId"),i([d()],e.prototype,"beamUserId"),i([d()],e.prototype,"eligibleNonprofits"),i([d()],e.prototype,"showAllTiles"),i([d()],e.prototype,"isMobile"),i([d()],e.prototype,"dropdownVisible"),i([d()],e.prototype,"emojis"),V(e);export{e as BeamSubscriptionManagement};
304
304
  //# sourceMappingURL=subscription-management.js.map
package/dist/index.d.ts CHANGED
@@ -9,13 +9,13 @@ export { BeamSubscriptionImpact } from './components/subscription-impact.js';
9
9
  export { BeamProductDetailsPage } from './components/product-details-page.js';
10
10
  export { BeamSelectSubscriptionNonprofit } from './components/select-subscription-nonprofit.js';
11
11
  export { BeamSocialShare } from './components/social-share.js';
12
- import { i as index$5 } from './chunks/index-IQOpw0qx.esm.js';
13
- import { i as index$4 } from './chunks/index-BG4XJXUa.esm.js';
14
- import { i as index$3 } from './chunks/index-BY5lSRmw.esm.js';
15
- import { i as index$1 } from './chunks/index-_0XeyyF9.esm.js';
16
- import { i as index$2 } from './chunks/index-CdinWvYu.esm.js';
12
+ import { i as index$5 } from './chunks/index-BAROgNYE.esm.js';
13
+ import { i as index$4 } from './chunks/index-C6a13iqC.esm.js';
14
+ import { i as index$3 } from './chunks/index-mBTWm4YP.esm.js';
15
+ import { i as index$1 } from './chunks/index-OYSJ-2mk.esm.js';
16
+ import { i as index$2 } from './chunks/index-BH3YaPLG.esm.js';
17
17
  export { i as ReactComponents } from './chunks/index-BoIHE1tC.esm.js';
18
- export { a as Utils } from './chunks/utils-D8HO_RIu.esm.js';
18
+ export { a as Utils } from './chunks/utils-COGFpDER.esm.js';
19
19
  import 'lit';
20
20
  import 'lit-html';
21
21
  import 'lodash';
@@ -23,8 +23,8 @@ import './chunks/routes-D6Gtw6kZ.esm.js';
23
23
  import './components/beam-partner-logos.js';
24
24
  import 'lodash-es/debounce';
25
25
  import 'lodash-es/isEqual';
26
- import './chunks/cart-ChovPXmM.esm.js';
27
- import './chunks/update-cart-CcgzHTEm.esm.js';
26
+ import './chunks/cart-CKltrzQt.esm.js';
27
+ import './chunks/update-cart-DoJGAdoU.esm.js';
28
28
  import './react/community-impact.js';
29
29
  import '@lit/react';
30
30
  import './react/cumulative-impact.js';
package/dist/index.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- import{BeamCommunityImpact as M}from"./components/community-impact.esm.js";import{BeamCumulativeImpact as k}from"./components/cumulative-impact.esm.js";import{BeamImpactOverview as A}from"./components/impact-overview.esm.js";import{BeamSelectNonprofit as F}from"./components/select-nonprofit.esm.js";import{B as H}from"./chunks/index-CVmIOuEY.esm.js";import{B as K}from"./chunks/index-CTsxQr7R.esm.js";import{BeamSubscriptionManagement as V}from"./components/subscription-management.esm.js";import{BeamSubscriptionImpact as X}from"./components/subscription-impact.esm.js";import{BeamProductDetailsPage as Z}from"./components/product-details-page.esm.js";import{BeamSelectSubscriptionNonprofit as ro}from"./components/select-subscription-nonprofit.esm.js";import{BeamSocialShare as mo}from"./components/social-share.esm.js";import{i as o,a as r}from"./react/shopify.esm.js";import{i as t}from"./chunks/index-cb5vYQx0.esm.js";import{i as m}from"./chunks/index--PfL-_nX.esm.js";import{i}from"./chunks/index-DhHhFTBE.esm.js";import{i as eo}from"./chunks/index-BHglsF5j.esm.js";import{i as ao}from"./chunks/utils-BjhsDvuU.esm.js";import"./chunks/lit-BEag9MFp.esm.js";import"./chunks/css-card-grid-BUidQqf0.esm.js";import"./chunks/share-button-7sI6zg-x.esm.js";import"./components/beam-partner-logos.esm.js";import"./chunks/lodash-CrMU6wKg.esm.js";import"./chunks/_share-dialog-dependencies-U9953n3E.esm.js";import"./chunks/vendor-DUOg5fL-.esm.js";import"./chunks/share-button-BaIbuJOl.esm.js";import"./chunks/responsive-aN8P5PqD.esm.js";import"./chunks/promo-pill-label-BdTmmg_U.esm.js";import"./react/community-impact.esm.js";import"react";import"./react/cumulative-impact.esm.js";import"./react/impact-overview.esm.js";import"./react/select-nonprofit.esm.js";import"./react/redeem-transaction.esm.js";import"./react/post-purchase.esm.js";import"./react/subscription-management.esm.js";import"./react/select-subscription-nonprofit.esm.js";import"./react/subscription-impact.esm.js";import"./react/product-details-page.esm.js";import"./react/social-share.esm.js";import"./react/subscriber-select-nonprofit.esm.js";import"./components/subscriber-select-nonprofit.esm.js";import"./chunks/handlebars-B_i-to-h.esm.js";var e=Object.freeze({__proto__:null,Cart:m,Logs:i,Session:o,Shopify:t,Utils:r});export{M as BeamCommunityImpact,k as BeamCumulativeImpact,A as BeamImpactOverview,K as BeamPostPurchase,Z as BeamProductDetailsPage,H as BeamRedeemTransaction,F as BeamSelectNonprofit,ro as BeamSelectSubscriptionNonprofit,mo as BeamSocialShare,X as BeamSubscriptionImpact,V as BeamSubscriptionManagement,e as Integrations,eo as ReactComponents,ao as Utils};
1
+ import{BeamCommunityImpact as M}from"./components/community-impact.esm.js";import{BeamCumulativeImpact as k}from"./components/cumulative-impact.esm.js";import{BeamImpactOverview as A}from"./components/impact-overview.esm.js";import{BeamSelectNonprofit as F}from"./components/select-nonprofit.esm.js";import{B as H}from"./chunks/index-HqfLVFOU.esm.js";import{B as K}from"./chunks/index-C60Vejym.esm.js";import{BeamSubscriptionManagement as V}from"./components/subscription-management.esm.js";import{BeamSubscriptionImpact as X}from"./components/subscription-impact.esm.js";import{BeamProductDetailsPage as Z}from"./components/product-details-page.esm.js";import{BeamSelectSubscriptionNonprofit as ro}from"./components/select-subscription-nonprofit.esm.js";import{BeamSocialShare as mo}from"./components/social-share.esm.js";import{i as o,a as r}from"./react/shopify.esm.js";import{i as t}from"./chunks/index-D6aFJ4cU.esm.js";import{i as m}from"./chunks/index-MAMeVd6l.esm.js";import{i}from"./chunks/index-Dm-K2MLY.esm.js";import{i as eo}from"./chunks/index-BHglsF5j.esm.js";import{i as ao}from"./chunks/utils-C5hmbxa4.esm.js";import"./chunks/lit-BEag9MFp.esm.js";import"./chunks/css-card-grid-CiqEjkwR.esm.js";import"./chunks/share-button-5gfPmeEh.esm.js";import"./components/beam-partner-logos.esm.js";import"./chunks/lodash-CrMU6wKg.esm.js";import"./chunks/_share-dialog-dependencies-BEUnzuWq.esm.js";import"./chunks/vendor-DUOg5fL-.esm.js";import"./chunks/share-button-C4yPLL_t.esm.js";import"./chunks/responsive-aN8P5PqD.esm.js";import"./chunks/promo-pill-label-5HmbDVmU.esm.js";import"./react/community-impact.esm.js";import"react";import"./react/cumulative-impact.esm.js";import"./react/impact-overview.esm.js";import"./react/select-nonprofit.esm.js";import"./react/redeem-transaction.esm.js";import"./react/post-purchase.esm.js";import"./react/subscription-management.esm.js";import"./react/select-subscription-nonprofit.esm.js";import"./react/subscription-impact.esm.js";import"./react/product-details-page.esm.js";import"./react/social-share.esm.js";import"./react/subscriber-select-nonprofit.esm.js";import"./components/subscriber-select-nonprofit.esm.js";import"./chunks/handlebars-B_i-to-h.esm.js";var e=Object.freeze({__proto__:null,Cart:m,Logs:i,Session:o,Shopify:t,Utils:r});export{M as BeamCommunityImpact,k as BeamCumulativeImpact,A as BeamImpactOverview,K as BeamPostPurchase,Z as BeamProductDetailsPage,H as BeamRedeemTransaction,F as BeamSelectNonprofit,ro as BeamSelectSubscriptionNonprofit,mo as BeamSocialShare,X as BeamSubscriptionImpact,V as BeamSubscriptionManagement,e as Integrations,eo as ReactComponents,ao as Utils};
2
2
  //# sourceMappingURL=index.esm.js.map
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{BeamCommunityImpact as M}from"./components/community-impact.js";import{BeamCumulativeImpact as k}from"./components/cumulative-impact.js";import{BeamImpactOverview as A}from"./components/impact-overview.js";import{BeamSelectNonprofit as F}from"./components/select-nonprofit.js";import{B as H}from"./chunks/index-DTw-q6W4.esm.js";import{B as K}from"./chunks/index-DBKUxzAl.esm.js";import{BeamSubscriptionManagement as V}from"./components/subscription-management.js";import{BeamSubscriptionImpact as X}from"./components/subscription-impact.js";import{BeamProductDetailsPage as Z}from"./components/product-details-page.js";import{BeamSelectSubscriptionNonprofit as ro}from"./components/select-subscription-nonprofit.js";import{BeamSocialShare as mo}from"./components/social-share.js";import{i as o,a as r}from"./react/shopify.js";import{i as t}from"./chunks/index-cb5vYQx0.esm.js";import{i as m}from"./chunks/index--PfL-_nX.esm.js";import{i}from"./chunks/index-DhHhFTBE.esm.js";import{i as eo}from"./chunks/index-B4xKTDaF.esm.js";import{i as ao}from"./chunks/utils-BjhsDvuU.esm.js";import"./chunks/lit-BEag9MFp.esm.js";import"./chunks/css-card-grid-BUidQqf0.esm.js";import"./chunks/share-button-7sI6zg-x.esm.js";import"./components/beam-partner-logos.js";import"./chunks/lodash-CrMU6wKg.esm.js";import"./chunks/_share-dialog-dependencies-U9953n3E.esm.js";import"./chunks/vendor-DUOg5fL-.esm.js";import"./chunks/share-button-BaIbuJOl.esm.js";import"./chunks/responsive-aN8P5PqD.esm.js";import"./chunks/promo-pill-label-BdTmmg_U.esm.js";import"./react/community-impact.js";import"react";import"./react/cumulative-impact.js";import"./react/impact-overview.js";import"./react/select-nonprofit.js";import"./react/redeem-transaction.js";import"./react/post-purchase.js";import"./react/subscription-management.js";import"./react/select-subscription-nonprofit.js";import"./react/subscription-impact.js";import"./react/product-details-page.js";import"./react/social-share.js";import"./react/subscriber-select-nonprofit.js";import"./components/subscriber-select-nonprofit.js";import"./chunks/handlebars-B_i-to-h.esm.js";var e=Object.freeze({__proto__:null,Cart:m,Logs:i,Session:o,Shopify:t,Utils:r});export{M as BeamCommunityImpact,k as BeamCumulativeImpact,A as BeamImpactOverview,K as BeamPostPurchase,Z as BeamProductDetailsPage,H as BeamRedeemTransaction,F as BeamSelectNonprofit,ro as BeamSelectSubscriptionNonprofit,mo as BeamSocialShare,X as BeamSubscriptionImpact,V as BeamSubscriptionManagement,e as Integrations,eo as ReactComponents,ao as Utils};
1
+ import{BeamCommunityImpact as M}from"./components/community-impact.js";import{BeamCumulativeImpact as k}from"./components/cumulative-impact.js";import{BeamImpactOverview as A}from"./components/impact-overview.js";import{BeamSelectNonprofit as F}from"./components/select-nonprofit.js";import{B as H}from"./chunks/index-DqhM4Yoj.esm.js";import{B as K}from"./chunks/index-BgalrCS_.esm.js";import{BeamSubscriptionManagement as V}from"./components/subscription-management.js";import{BeamSubscriptionImpact as X}from"./components/subscription-impact.js";import{BeamProductDetailsPage as Z}from"./components/product-details-page.js";import{BeamSelectSubscriptionNonprofit as ro}from"./components/select-subscription-nonprofit.js";import{BeamSocialShare as mo}from"./components/social-share.js";import{i as o,a as r}from"./react/shopify.js";import{i as t}from"./chunks/index-D6aFJ4cU.esm.js";import{i as m}from"./chunks/index-MAMeVd6l.esm.js";import{i}from"./chunks/index-Dm-K2MLY.esm.js";import{i as eo}from"./chunks/index-B4xKTDaF.esm.js";import{i as ao}from"./chunks/utils-C5hmbxa4.esm.js";import"./chunks/lit-BEag9MFp.esm.js";import"./chunks/css-card-grid-CiqEjkwR.esm.js";import"./chunks/share-button-5gfPmeEh.esm.js";import"./components/beam-partner-logos.js";import"./chunks/lodash-CrMU6wKg.esm.js";import"./chunks/_share-dialog-dependencies-BEUnzuWq.esm.js";import"./chunks/vendor-DUOg5fL-.esm.js";import"./chunks/share-button-C4yPLL_t.esm.js";import"./chunks/responsive-aN8P5PqD.esm.js";import"./chunks/promo-pill-label-5HmbDVmU.esm.js";import"./react/community-impact.js";import"react";import"./react/cumulative-impact.js";import"./react/impact-overview.js";import"./react/select-nonprofit.js";import"./react/redeem-transaction.js";import"./react/post-purchase.js";import"./react/subscription-management.js";import"./react/select-subscription-nonprofit.js";import"./react/subscription-impact.js";import"./react/product-details-page.js";import"./react/social-share.js";import"./react/subscriber-select-nonprofit.js";import"./components/subscriber-select-nonprofit.js";import"./chunks/handlebars-B_i-to-h.esm.js";var e=Object.freeze({__proto__:null,Cart:m,Logs:i,Session:o,Shopify:t,Utils:r});export{M as BeamCommunityImpact,k as BeamCumulativeImpact,A as BeamImpactOverview,K as BeamPostPurchase,Z as BeamProductDetailsPage,H as BeamRedeemTransaction,F as BeamSelectNonprofit,ro as BeamSelectSubscriptionNonprofit,mo as BeamSocialShare,X as BeamSubscriptionImpact,V as BeamSubscriptionManagement,e as Integrations,eo as ReactComponents,ao as Utils};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { J as TApiKey, f as TUrl, b as TNumericId } from '../chunks/utils-D8HO_RIu.esm.js';
1
+ import { N as TApiKey, f as TUrl, b as TNumericId } from '../chunks/utils-COGFpDER.esm.js';
2
2
  import 'lodash-es/debounce';
3
3
  import 'lodash-es/isEqual';
4
4
 
@@ -1,2 +1,2 @@
1
- import{s as d,D as u,a as g}from"../chunks/index-DhHhFTBE.esm.js";import{S as y,c as o,l as v}from"../chunks/utils-BjhsDvuU.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";var h=t=>{throw TypeError(t)},w=(t,s,a)=>s.has(t)||h("Cannot "+a),U=(t,s,a)=>s.has(t)?h("Cannot add the same private member more than once"):s instanceof WeakSet?s.add(t):s.set(t,a),r=(t,s,a)=>(w(t,s,"access private method"),a),i,n,c;let l,m;const E=new Promise((t,s)=>{l=t,m=s});class f extends EventTarget{constructor(s){super(),U(this,i),this.readyPromise=E,this.plugins={},this.status="pending",r(this,i,n).call(this,s)}async init(s){r(this,i,n).call(this,s);try{await r(this,i,c).call(this,s)}catch(a){const e=new y;throw e.cause=a,this.status="error",this.dispatchEvent(new o({status:"error",error:e})),m(e),v.error(e),this.apiKey&&await d({apiKey:this.apiKey,baseUrl:this.logUrl},{type:"error",code:e.name,metadata:{message:e.message,cause:a?.message}}),a}return this.status="ready",this.dispatchEvent(new o({status:"ready"})),l(!0),this}}i=new WeakSet,n=function(t){this.apiKey=t.apiKey,this.chainId=t.chainId,this.storeId=t.storeId,this.domain=t.domain,this.baseUrl=t.baseUrl||u,this.logUrl=t.logUrl||g},c=async function(t){const s=(t.plugins||[]).map(async a=>(await a.init(t),this.plugins[a.name]=a,a));return Promise.all(s)};const p=new f({}),L=t=>p.init(t),S=()=>p;export{S as getConfig,L as init};
1
+ import{S as d,c as o,l as u,D as g,d as y}from"../chunks/utils-C5hmbxa4.esm.js";import{s as v}from"../chunks/index-Dm-K2MLY.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";import"../chunks/lit-BEag9MFp.esm.js";var h=t=>{throw TypeError(t)},w=(t,s,a)=>s.has(t)||h("Cannot "+a),U=(t,s,a)=>s.has(t)?h("Cannot add the same private member more than once"):s instanceof WeakSet?s.add(t):s.set(t,a),r=(t,s,a)=>(w(t,s,"access private method"),a),i,n,c;let l,m;const E=new Promise((t,s)=>{l=t,m=s});class f extends EventTarget{constructor(s){super(),U(this,i),this.readyPromise=E,this.plugins={},this.status="pending",r(this,i,n).call(this,s)}async init(s){r(this,i,n).call(this,s);try{await r(this,i,c).call(this,s)}catch(a){const e=new d;throw e.cause=a,this.status="error",this.dispatchEvent(new o({status:"error",error:e})),m(e),u.error(e),this.apiKey&&await v({apiKey:this.apiKey,baseUrl:this.logUrl},{type:"error",code:e.name,metadata:{message:e.message,cause:a?.message}}),a}return this.status="ready",this.dispatchEvent(new o({status:"ready"})),l(!0),this}}i=new WeakSet,n=function(t){this.apiKey=t.apiKey,this.chainId=t.chainId,this.storeId=t.storeId,this.domain=t.domain,this.baseUrl=t.baseUrl||g,this.logUrl=t.logUrl||y},c=async function(t){const s=(t.plugins||[]).map(async a=>(await a.init(t),this.plugins[a.name]=a,a));return Promise.all(s)};const p=new f({}),L=t=>p.init(t),S=()=>p;export{S as getConfig,L as init};
2
2
  //# sourceMappingURL=beam.esm.js.map
@@ -1,2 +1,2 @@
1
- import{s as d,D as u,a as g}from"../chunks/index-DhHhFTBE.esm.js";import{S as y,c as o,l as v}from"../chunks/utils-BjhsDvuU.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";var h=t=>{throw TypeError(t)},w=(t,s,a)=>s.has(t)||h("Cannot "+a),U=(t,s,a)=>s.has(t)?h("Cannot add the same private member more than once"):s instanceof WeakSet?s.add(t):s.set(t,a),r=(t,s,a)=>(w(t,s,"access private method"),a),i,n,c;let l,m;const E=new Promise((t,s)=>{l=t,m=s});class f extends EventTarget{constructor(s){super(),U(this,i),this.readyPromise=E,this.plugins={},this.status="pending",r(this,i,n).call(this,s)}async init(s){r(this,i,n).call(this,s);try{await r(this,i,c).call(this,s)}catch(a){const e=new y;throw e.cause=a,this.status="error",this.dispatchEvent(new o({status:"error",error:e})),m(e),v.error(e),this.apiKey&&await d({apiKey:this.apiKey,baseUrl:this.logUrl},{type:"error",code:e.name,metadata:{message:e.message,cause:a?.message}}),a}return this.status="ready",this.dispatchEvent(new o({status:"ready"})),l(!0),this}}i=new WeakSet,n=function(t){this.apiKey=t.apiKey,this.chainId=t.chainId,this.storeId=t.storeId,this.domain=t.domain,this.baseUrl=t.baseUrl||u,this.logUrl=t.logUrl||g},c=async function(t){const s=(t.plugins||[]).map(async a=>(await a.init(t),this.plugins[a.name]=a,a));return Promise.all(s)};const p=new f({}),L=t=>p.init(t),S=()=>p;export{S as getConfig,L as init};
1
+ import{S as d,c as o,l as u,D as g,d as y}from"../chunks/utils-C5hmbxa4.esm.js";import{s as v}from"../chunks/index-Dm-K2MLY.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";import"../chunks/lit-BEag9MFp.esm.js";var h=t=>{throw TypeError(t)},w=(t,s,a)=>s.has(t)||h("Cannot "+a),U=(t,s,a)=>s.has(t)?h("Cannot add the same private member more than once"):s instanceof WeakSet?s.add(t):s.set(t,a),r=(t,s,a)=>(w(t,s,"access private method"),a),i,n,c;let l,m;const E=new Promise((t,s)=>{l=t,m=s});class f extends EventTarget{constructor(s){super(),U(this,i),this.readyPromise=E,this.plugins={},this.status="pending",r(this,i,n).call(this,s)}async init(s){r(this,i,n).call(this,s);try{await r(this,i,c).call(this,s)}catch(a){const e=new d;throw e.cause=a,this.status="error",this.dispatchEvent(new o({status:"error",error:e})),m(e),u.error(e),this.apiKey&&await v({apiKey:this.apiKey,baseUrl:this.logUrl},{type:"error",code:e.name,metadata:{message:e.message,cause:a?.message}}),a}return this.status="ready",this.dispatchEvent(new o({status:"ready"})),l(!0),this}}i=new WeakSet,n=function(t){this.apiKey=t.apiKey,this.chainId=t.chainId,this.storeId=t.storeId,this.domain=t.domain,this.baseUrl=t.baseUrl||g,this.logUrl=t.logUrl||y},c=async function(t){const s=(t.plugins||[]).map(async a=>(await a.init(t),this.plugins[a.name]=a,a));return Promise.all(s)};const p=new f({}),L=t=>p.init(t),S=()=>p;export{S as getConfig,L as init};
2
2
  //# sourceMappingURL=beam.js.map
@@ -1,5 +1,5 @@
1
- export { B as BeamCartAPIConfig, a as BeamCartValues, u as updateCart } from '../chunks/update-cart-CcgzHTEm.esm.js';
1
+ export { B as BeamCartAPIConfig, a as BeamCartValues, u as updateCart } from '../chunks/update-cart-DoJGAdoU.esm.js';
2
2
  import 'lodash';
3
- import '../chunks/utils-D8HO_RIu.esm.js';
3
+ import '../chunks/utils-COGFpDER.esm.js';
4
4
  import 'lodash-es/debounce';
5
5
  import 'lodash-es/isEqual';
@@ -1,2 +1,2 @@
1
- import{O as a}from"../chunks/index--PfL-_nX.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";import"../chunks/index-DhHhFTBE.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/utils-BjhsDvuU.esm.js";export{a as updateCart};
1
+ import{O as a}from"../chunks/index-MAMeVd6l.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";import"../chunks/utils-C5hmbxa4.esm.js";import"../chunks/index-Dm-K2MLY.esm.js";import"../chunks/lit-BEag9MFp.esm.js";export{a as updateCart};
2
2
  //# sourceMappingURL=cart.esm.js.map
@@ -1,2 +1,2 @@
1
- import{O as a}from"../chunks/index--PfL-_nX.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";import"../chunks/index-DhHhFTBE.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/utils-BjhsDvuU.esm.js";export{a as updateCart};
1
+ import{O as a}from"../chunks/index-MAMeVd6l.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";import"../chunks/utils-C5hmbxa4.esm.js";import"../chunks/index-Dm-K2MLY.esm.js";import"../chunks/lit-BEag9MFp.esm.js";export{a as updateCart};
2
2
  //# sourceMappingURL=cart.js.map
@@ -1,4 +1,4 @@
1
- import '../chunks/utils-D8HO_RIu.esm.js';
2
- export { s as sendLog } from '../chunks/index-CdinWvYu.esm.js';
1
+ import '../chunks/utils-COGFpDER.esm.js';
2
+ export { s as sendLog } from '../chunks/index-BH3YaPLG.esm.js';
3
3
  import 'lodash-es/debounce';
4
4
  import 'lodash-es/isEqual';
@@ -1,2 +1,2 @@
1
- import{s as i}from"../chunks/index-DhHhFTBE.esm.js";import"../chunks/utils-BjhsDvuU.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";export{i as sendLog};
1
+ import{s as i}from"../chunks/index-Dm-K2MLY.esm.js";import"../chunks/utils-C5hmbxa4.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";export{i as sendLog};
2
2
  //# sourceMappingURL=logs.esm.js.map
@@ -1,2 +1,2 @@
1
- import{s as i}from"../chunks/index-DhHhFTBE.esm.js";import"../chunks/utils-BjhsDvuU.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";export{i as sendLog};
1
+ import{s as i}from"../chunks/index-Dm-K2MLY.esm.js";import"../chunks/utils-C5hmbxa4.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";export{i as sendLog};
2
2
  //# sourceMappingURL=logs.js.map
@@ -1,5 +1,5 @@
1
1
  import { BeamPlugin, BeamConfigOptions } from './beam.js';
2
- import '../chunks/utils-D8HO_RIu.esm.js';
2
+ import '../chunks/utils-COGFpDER.esm.js';
3
3
  import 'lodash-es/debounce';
4
4
  import 'lodash-es/isEqual';
5
5
 
@@ -1,2 +1,2 @@
1
- import{d as C,f as p,p as u,l as a,h as v,j as g,k as P}from"../chunks/utils-BjhsDvuU.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";var d=o=>{throw TypeError(o)},f=(o,e,r)=>e.has(o)||d("Cannot "+r),k=(o,e,r)=>e.has(o)?d("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,r),n=(o,e,r)=>(f(o,e,"access private method"),r),t,c,h,m;class y{constructor(e){k(this,t),this.name="promoManager",this.promoCodes={unvalidatedPromoCodes:[],validatedPromoCodes:[]},this.disableDiscountCodeCookieCheck=!!e?.disableDiscountCodeCookieCheck}async init(e){try{const r=n(this,t,c).call(this),i=this.disableDiscountCodeCookieCheck?null:n(this,t,h).call(this);if(r||i){const l=C({apiKey:e.apiKey})??{unvalidatedPromoCodes:[],validatedPromoCodes:[]},s=[];r&&s.push(r),i&&s.push({value:i}),this.promoCodes=p(s,e.apiKey),!u(this.promoCodes,l)&&n(this,t,m).call(this)}}catch(r){a.error("[PromoManager] Initialization failed:",r)}}}t=new WeakSet,c=function(){try{return v()}catch(o){a.error("[PromoManager] URL sanitization error:",o);return}},h=function(){try{return g()}catch(o){return a.error("[PromoManager] Cookie extraction error:",o),null}},m=function(){if(this.promoCodes)try{const o=new P({promoCodes:{...this.promoCodes}});window.dispatchEvent(o)}catch(o){a.error("[PromoManager] Failed to dispatch event:",o)}};export{y as PromoManagerPlugin};
1
+ import{f as C,h as p,p as u,l as a,j as v,k as g,m as P}from"../chunks/utils-C5hmbxa4.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";var d=o=>{throw TypeError(o)},f=(o,e,r)=>e.has(o)||d("Cannot "+r),k=(o,e,r)=>e.has(o)?d("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,r),n=(o,e,r)=>(f(o,e,"access private method"),r),t,c,m,h;class y{constructor(e){k(this,t),this.name="promoManager",this.promoCodes={unvalidatedPromoCodes:[],validatedPromoCodes:[]},this.disableDiscountCodeCookieCheck=!!e?.disableDiscountCodeCookieCheck}async init(e){try{const r=n(this,t,c).call(this),i=this.disableDiscountCodeCookieCheck?null:n(this,t,m).call(this);if(r||i){const l=C({apiKey:e.apiKey})??{unvalidatedPromoCodes:[],validatedPromoCodes:[]},s=[];r&&s.push(r),i&&s.push({value:i}),this.promoCodes=p(s,e.apiKey),!u(this.promoCodes,l)&&n(this,t,h).call(this)}}catch(r){a.error("[PromoManager] Initialization failed:",r)}}}t=new WeakSet,c=function(){try{return v()}catch(o){a.error("[PromoManager] URL sanitization error:",o);return}},m=function(){try{return g()}catch(o){return a.error("[PromoManager] Cookie extraction error:",o),null}},h=function(){if(this.promoCodes)try{const o=new P({promoCodes:{...this.promoCodes}});window.dispatchEvent(o)}catch(o){a.error("[PromoManager] Failed to dispatch event:",o)}};export{y as PromoManagerPlugin};
2
2
  //# sourceMappingURL=promoManager.esm.js.map
@@ -1,2 +1,2 @@
1
- import{d as C,f as p,p as u,l as a,h as v,j as g,k as P}from"../chunks/utils-BjhsDvuU.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";var d=o=>{throw TypeError(o)},f=(o,e,r)=>e.has(o)||d("Cannot "+r),k=(o,e,r)=>e.has(o)?d("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,r),n=(o,e,r)=>(f(o,e,"access private method"),r),t,c,h,m;class y{constructor(e){k(this,t),this.name="promoManager",this.promoCodes={unvalidatedPromoCodes:[],validatedPromoCodes:[]},this.disableDiscountCodeCookieCheck=!!e?.disableDiscountCodeCookieCheck}async init(e){try{const r=n(this,t,c).call(this),i=this.disableDiscountCodeCookieCheck?null:n(this,t,h).call(this);if(r||i){const l=C({apiKey:e.apiKey})??{unvalidatedPromoCodes:[],validatedPromoCodes:[]},s=[];r&&s.push(r),i&&s.push({value:i}),this.promoCodes=p(s,e.apiKey),!u(this.promoCodes,l)&&n(this,t,m).call(this)}}catch(r){a.error("[PromoManager] Initialization failed:",r)}}}t=new WeakSet,c=function(){try{return v()}catch(o){a.error("[PromoManager] URL sanitization error:",o);return}},h=function(){try{return g()}catch(o){return a.error("[PromoManager] Cookie extraction error:",o),null}},m=function(){if(this.promoCodes)try{const o=new P({promoCodes:{...this.promoCodes}});window.dispatchEvent(o)}catch(o){a.error("[PromoManager] Failed to dispatch event:",o)}};export{y as PromoManagerPlugin};
1
+ import{f as C,h as p,p as u,l as a,j as v,k as g,m as P}from"../chunks/utils-C5hmbxa4.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";var d=o=>{throw TypeError(o)},f=(o,e,r)=>e.has(o)||d("Cannot "+r),k=(o,e,r)=>e.has(o)?d("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,r),n=(o,e,r)=>(f(o,e,"access private method"),r),t,c,m,h;class y{constructor(e){k(this,t),this.name="promoManager",this.promoCodes={unvalidatedPromoCodes:[],validatedPromoCodes:[]},this.disableDiscountCodeCookieCheck=!!e?.disableDiscountCodeCookieCheck}async init(e){try{const r=n(this,t,c).call(this),i=this.disableDiscountCodeCookieCheck?null:n(this,t,m).call(this);if(r||i){const l=C({apiKey:e.apiKey})??{unvalidatedPromoCodes:[],validatedPromoCodes:[]},s=[];r&&s.push(r),i&&s.push({value:i}),this.promoCodes=p(s,e.apiKey),!u(this.promoCodes,l)&&n(this,t,h).call(this)}}catch(r){a.error("[PromoManager] Initialization failed:",r)}}}t=new WeakSet,c=function(){try{return v()}catch(o){a.error("[PromoManager] URL sanitization error:",o);return}},m=function(){try{return g()}catch(o){return a.error("[PromoManager] Cookie extraction error:",o),null}},h=function(){if(this.promoCodes)try{const o=new P({promoCodes:{...this.promoCodes}});window.dispatchEvent(o)}catch(o){a.error("[PromoManager] Failed to dispatch event:",o)}};export{y as PromoManagerPlugin};
2
2
  //# sourceMappingURL=promoManager.js.map
@@ -1 +1 @@
1
- export { c as createSession, e as endSession } from '../chunks/index-BY5lSRmw.esm.js';
1
+ export { c as createSession, e as endSession } from '../chunks/index-mBTWm4YP.esm.js';
@@ -1,2 +1,2 @@
1
- import"../chunks/vendor-DUOg5fL-.esm.js";import"../chunks/utils-BjhsDvuU.esm.js";import{c as m,e as p}from"../react/shopify.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";export{m as createSession,p as endSession};
1
+ import"../chunks/vendor-DUOg5fL-.esm.js";import"../chunks/utils-C5hmbxa4.esm.js";import{c as m,e as p}from"../react/shopify.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";export{m as createSession,p as endSession};
2
2
  //# sourceMappingURL=session.esm.js.map
@@ -1,2 +1,2 @@
1
- import"../chunks/vendor-DUOg5fL-.esm.js";import"../chunks/utils-BjhsDvuU.esm.js";import{c as m,e as p}from"../react/shopify.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";export{m as createSession,p as endSession};
1
+ import"../chunks/vendor-DUOg5fL-.esm.js";import"../chunks/utils-C5hmbxa4.esm.js";import{c as m,e as p}from"../react/shopify.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";export{m as createSession,p as endSession};
2
2
  //# sourceMappingURL=session.js.map
@@ -1,6 +1,6 @@
1
1
  import '../components/post-purchase.js';
2
2
  import { b as postTransaction } from '../chunks/routes-D6Gtw6kZ.esm.js';
3
- import { d as TCart, T as TUrl, L as LANGUAGES } from '../chunks/utils-D8HO_RIu.esm.js';
3
+ import { d as TCart, T as TUrl, L as LANGUAGES } from '../chunks/utils-COGFpDER.esm.js';
4
4
  import 'lit';
5
5
  import 'lit-html';
6
6
  import '../components/redeem-transaction.js';
@@ -1,2 +1,2 @@
1
- import{s as O}from"../chunks/index-CTsxQr7R.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/utils-BjhsDvuU.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";import"../chunks/css-card-grid-BUidQqf0.esm.js";import"../chunks/index-DhHhFTBE.esm.js";import"../chunks/index-CVmIOuEY.esm.js";import"../chunks/share-button-7sI6zg-x.esm.js";import"../components/beam-partner-logos.esm.js";import"../chunks/promo-pill-label-BdTmmg_U.esm.js";import"../chunks/_share-dialog-dependencies-U9953n3E.esm.js";import"../chunks/vendor-DUOg5fL-.esm.js";import"../components/impact-overview.esm.js";import"../chunks/share-button-BaIbuJOl.esm.js";import"../chunks/responsive-aN8P5PqD.esm.js";export{O as showBeamOrderPageWidgets};
1
+ import{s as O}from"../chunks/index-C60Vejym.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/utils-C5hmbxa4.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";import"../chunks/css-card-grid-CiqEjkwR.esm.js";import"../chunks/index-Dm-K2MLY.esm.js";import"../chunks/index-HqfLVFOU.esm.js";import"../chunks/share-button-5gfPmeEh.esm.js";import"../components/beam-partner-logos.esm.js";import"../chunks/promo-pill-label-5HmbDVmU.esm.js";import"../chunks/_share-dialog-dependencies-BEUnzuWq.esm.js";import"../chunks/vendor-DUOg5fL-.esm.js";import"../components/impact-overview.esm.js";import"../chunks/share-button-C4yPLL_t.esm.js";import"../chunks/responsive-aN8P5PqD.esm.js";export{O as showBeamOrderPageWidgets};
2
2
  //# sourceMappingURL=shopify-order.esm.js.map
@@ -1,2 +1,2 @@
1
- import{s as O}from"../chunks/index-DBKUxzAl.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/utils-BjhsDvuU.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";import"../chunks/css-card-grid-BUidQqf0.esm.js";import"../chunks/index-DhHhFTBE.esm.js";import"../chunks/index-DTw-q6W4.esm.js";import"../chunks/share-button-7sI6zg-x.esm.js";import"../components/beam-partner-logos.js";import"../chunks/promo-pill-label-BdTmmg_U.esm.js";import"../chunks/_share-dialog-dependencies-U9953n3E.esm.js";import"../chunks/vendor-DUOg5fL-.esm.js";import"../components/impact-overview.js";import"../chunks/share-button-BaIbuJOl.esm.js";import"../chunks/responsive-aN8P5PqD.esm.js";export{O as showBeamOrderPageWidgets};
1
+ import{s as O}from"../chunks/index-BgalrCS_.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/utils-C5hmbxa4.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";import"../chunks/css-card-grid-CiqEjkwR.esm.js";import"../chunks/index-Dm-K2MLY.esm.js";import"../chunks/index-DqhM4Yoj.esm.js";import"../chunks/share-button-5gfPmeEh.esm.js";import"../components/beam-partner-logos.js";import"../chunks/promo-pill-label-5HmbDVmU.esm.js";import"../chunks/_share-dialog-dependencies-BEUnzuWq.esm.js";import"../chunks/vendor-DUOg5fL-.esm.js";import"../components/impact-overview.js";import"../chunks/share-button-C4yPLL_t.esm.js";import"../chunks/responsive-aN8P5PqD.esm.js";export{O as showBeamOrderPageWidgets};
2
2
  //# sourceMappingURL=shopify-order.js.map
@@ -1,6 +1,6 @@
1
- export { B as BeamShopifyCartIntegrationConfig, a as addBeamAttributesToCart, b as appendBeamAttributesToCart, c as appendStatsigToShopifyCartAttributes, d as appendToShopifyCartBeamAttribute, g as getBeamAttributesForCart, e as getCurrentCart, f as getShopifyCart, r as registerCartIntegration, t as trackCart } from '../chunks/cart-ChovPXmM.esm.js';
1
+ export { B as BeamShopifyCartIntegrationConfig, a as addBeamAttributesToCart, b as appendBeamAttributesToCart, c as appendStatsigToShopifyCartAttributes, d as appendToShopifyCartBeamAttribute, g as getBeamAttributesForCart, e as getCurrentCart, f as getShopifyCart, r as registerCartIntegration, t as trackCart, u as unregisterCartIntegration } from '../chunks/cart-CKltrzQt.esm.js';
2
2
  import 'lodash';
3
- import '../chunks/update-cart-CcgzHTEm.esm.js';
4
- import '../chunks/utils-D8HO_RIu.esm.js';
3
+ import '../chunks/utils-COGFpDER.esm.js';
5
4
  import 'lodash-es/debounce';
6
5
  import 'lodash-es/isEqual';
6
+ import '../chunks/update-cart-DoJGAdoU.esm.js';
@@ -1,2 +1,2 @@
1
- import{t as s,b as C,Z as m,x as b,C as g,v as n,E as u,X as d,$ as A}from"../chunks/index-cb5vYQx0.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";import"../chunks/utils-BjhsDvuU.esm.js";import"../chunks/index-DhHhFTBE.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/index--PfL-_nX.esm.js";export{s as addBeamAttributesToCart,C as appendBeamAttributesToCart,m as appendStatsigToShopifyCartAttributes,b as appendToShopifyCartBeamAttribute,g as getBeamAttributesForCart,n as getCurrentCart,u as getShopifyCart,d as registerCartIntegration,A as trackCart};
1
+ import{J as p,g as C,n as m,x as n,y as g,L as u,T as b,e as d,r as A,a as T}from"../chunks/index-D6aFJ4cU.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";import"../chunks/utils-C5hmbxa4.esm.js";import"../chunks/index-Dm-K2MLY.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/index-MAMeVd6l.esm.js";export{p as addBeamAttributesToCart,C as appendBeamAttributesToCart,m as appendStatsigToShopifyCartAttributes,n as appendToShopifyCartBeamAttribute,g as getBeamAttributesForCart,u as getCurrentCart,b as getShopifyCart,d as registerCartIntegration,A as trackCart,T as unregisterCartIntegration};
2
2
  //# sourceMappingURL=shopify.esm.js.map
@@ -1,2 +1,2 @@
1
- import{t as s,b as C,Z as m,x as b,C as g,v as n,E as u,X as d,$ as A}from"../chunks/index-cb5vYQx0.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";import"../chunks/utils-BjhsDvuU.esm.js";import"../chunks/index-DhHhFTBE.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/index--PfL-_nX.esm.js";export{s as addBeamAttributesToCart,C as appendBeamAttributesToCart,m as appendStatsigToShopifyCartAttributes,b as appendToShopifyCartBeamAttribute,g as getBeamAttributesForCart,n as getCurrentCart,u as getShopifyCart,d as registerCartIntegration,A as trackCart};
1
+ import{J as p,g as C,n as m,x as n,y as g,L as u,T as b,e as d,r as A,a as T}from"../chunks/index-D6aFJ4cU.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";import"../chunks/utils-C5hmbxa4.esm.js";import"../chunks/index-Dm-K2MLY.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/index-MAMeVd6l.esm.js";export{p as addBeamAttributesToCart,C as appendBeamAttributesToCart,m as appendStatsigToShopifyCartAttributes,n as appendToShopifyCartBeamAttribute,g as getBeamAttributesForCart,u as getCurrentCart,b as getShopifyCart,d as registerCartIntegration,A as trackCart,T as unregisterCartIntegration};
2
2
  //# sourceMappingURL=shopify.js.map
@@ -1,5 +1,5 @@
1
1
  import { BeamPlugin, BeamConfigOptions } from './beam.js';
2
- import '../chunks/utils-D8HO_RIu.esm.js';
2
+ import '../chunks/utils-COGFpDER.esm.js';
3
3
  import 'lodash-es/debounce';
4
4
  import 'lodash-es/isEqual';
5
5
 
@@ -1,4 +1,4 @@
1
- import{B as x,p as k}from"../chunks/index-DhHhFTBE.esm.js";import{l as b,m as u,s as D,g as _,n as M,o as K,q as P,r as z,B as j}from"../chunks/utils-BjhsDvuU.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";var y=t=>{throw TypeError(t)},E=(t,e,i)=>e.has(t)||y("Cannot "+i),d=(t,e,i)=>(E(t,e,"read from private field"),i?i.call(t):e.get(t)),p=(t,e,i)=>e.has(t)?y("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,i),R=(t,e,i,s)=>(E(t,e,"write to private field"),e.set(t,i),i),h=(t,e,i)=>(E(t,e,"access private method"),i),c,w,o,C,v,B,T,m,A,S,O,L;const U=4,W=`https://cdn.jsdelivr.net/npm/statsig-js@${U}/build/statsig-prod-web-sdk.min.js`,N="beam_statsig_session_id",n="data-beam-visibility",F="beam-sync-visibility",g={STATSIG_INIT:"statsig_init",CART_CREATED:"cart_created",ORDER_CREATED:"order_created",BEAM_SELECTION:"beam_selection",SESSION_RETURN:"session_return"},G="beam_ssid",V="beam_return_origin";class q{constructor(e){p(this,o),this.name="statsig",this.experiments={shouldShowBeam:!1,isLoggingEnabled:!0,sessionReturnOrigin:null},p(this,c),p(this,w),p(this,m,[]),this.logEvent=(i,s,a={})=>{if(!this.statsig){d(this,m).push([i,s,a]);return}const r=this.experiments.shouldShowBeam,l=window.location.hostname,I=window.location.pathname,f=window.location.href;if(this.experiments.isLoggingEnabled){const $=this.beforeLogEvent?this.beforeLogEvent(i,s,a):a;this.statsig.logEvent(i,s,{...$,withBeam:r,domain:l,path:I,page:f})}b.debug(i,s,{...a,withBeam:r,domain:l,path:I,page:f})},this.statsigApiKey=e.statsigApiKey,this.beforeLogEvent=e.beforeLogEvent}async init(e){const{sessionReturnOrigin:i}=h(this,o,v).call(this);R(this,c,e),h(this,o,B).call(this),h(this,o,S).call(this,"hide"),i&&(this.sessionReturnOrigin=i);const s=document.createElement("style");if(s.innerHTML=`
1
+ import{B as x,p as M}from"../chunks/index-Dm-K2MLY.esm.js";import{l as b,n as u,s as D,g as f,o as k,q as K,r as P,t as z,u as W,B as j}from"../chunks/utils-C5hmbxa4.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";var y=t=>{throw TypeError(t)},E=(t,e,i)=>e.has(t)||y("Cannot "+i),d=(t,e,i)=>(E(t,e,"read from private field"),i?i.call(t):e.get(t)),p=(t,e,i)=>e.has(t)?y("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,i),C=(t,e,i,s)=>(E(t,e,"write to private field"),e.set(t,i),i),h=(t,e,i)=>(E(t,e,"access private method"),i),c,w,o,R,v,A,B,m,T,S,O,L;const U=4,F=`https://cdn.jsdelivr.net/npm/statsig-js@${U}/build/statsig-prod-web-sdk.min.js`,N=K.STATSIG_STABLE_ID,n="data-beam-visibility",G="beam-sync-visibility",g={STATSIG_INIT:"statsig_init",CART_CREATED:"cart_created",ORDER_CREATED:"order_created",BEAM_SELECTION:"beam_selection",SESSION_RETURN:"session_return"},V="beam_ssid",q="beam_return_origin";class H{constructor(e){p(this,o),this.name="statsig",this.experiments={shouldShowBeam:!1,isLoggingEnabled:!0,sessionReturnOrigin:null},p(this,c),p(this,w),p(this,m,[]),this.logEvent=(i,s,a={})=>{if(!this.statsig){d(this,m).push([i,s,a]);return}const r=this.experiments.shouldShowBeam,l=window.location.hostname,I=window.location.pathname,_=window.location.href;if(this.experiments.isLoggingEnabled){const $=this.beforeLogEvent?this.beforeLogEvent(i,s,a):a;this.statsig.logEvent(i,s,{...$,withBeam:r,domain:l,path:I,page:_})}b.debug(i,s,{...a,withBeam:r,domain:l,path:I,page:_})},this.statsigApiKey=e.statsigApiKey,this.beforeLogEvent=e.beforeLogEvent}async init(e){const{sessionReturnOrigin:i}=h(this,o,v).call(this);C(this,c,e),h(this,o,A).call(this),h(this,o,S).call(this,"hide"),i&&(this.sessionReturnOrigin=i);const s=document.createElement("style");if(s.innerHTML=`
2
2
  [${n}="hide"] beam-select-nonprofit,
3
3
  [${n}="hide"] beam-post-purchase,
4
4
  [${n}="hide"] beam-redeem-transaction,
@@ -10,8 +10,8 @@ import{B as x,p as k}from"../chunks/index-DhHhFTBE.esm.js";import{l as b,m as u,
10
10
  [${n}="hide"] beam-subscription-impact,
11
11
  [${n}="hide"] beam-select-subscription-nonprofit,
12
12
  [${n}="hide"] beam-social-share,
13
- [${n}="hide"] .${F} {
13
+ [${n}="hide"] .${G} {
14
14
  display: none;
15
15
  }
16
- `,document.head.append(s),await h(this,o,T).call(this),this.stableId=this.statsig.getStableID(),!this.stableId)throw new u("Statsig failed to assign stableId",{name:"StatsigInitError"});h(this,o,A).call(this),D({remoteSessionId:this.stableId,apiKey:e.apiKey}),R(this,w,_(x)),M({name:N,value:this.stableId,path:"/",domain:e.domain}),this.experiments={shouldShowBeam:this.statsig.getLayer("beam_trial_layer").get("show_beam",!1),isLoggingEnabled:this.statsig.getLayer("beam_trial_layer").get("enable_logging",!0),...this.sessionReturnOrigin!=null&&{sessionReturnOrigin:this.sessionReturnOrigin}},await Promise.all([h(this,o,O).call(this),h(this,o,L).call(this)]),h(this,o,S).call(this,this.experiments.shouldShowBeam?"show":"hide"),h(this,o,C).call(this),b.debug("Statsig Experiment Assignments",this.experiments)}}c=new WeakMap,w=new WeakMap,o=new WeakSet,C=function(){try{const t=new K({showBeam:this.experiments.shouldShowBeam,stableId:this.stableId});window.dispatchEvent(t)}catch(t){b.error("[BeamStatsigInitializedEvent] Failed to dispatch event:",t)}},v=function(){const t=new URLSearchParams(window.location.search),e=t.get(G),i=t.get(V);return{stableId:e,sessionReturnOrigin:i==="cart_abandon"||i==="checkout_abandon"?i:null}},B=function(){window.addEventListener(P.eventName,e=>{const i=e,{itemCount:s,cartId:a,subtotal:r,currencyCode:l}=i.detail;this.logEvent(g.CART_CREATED,!0,{itemCount:s,cartId:a,subtotal:r,currencyCode:l})}),window.addEventListener(z.eventName,e=>{const i=e,{orderId:s,cartTotal:a,currencyCode:r}=i.detail;this.logEvent(g.ORDER_CREATED,a,{orderId:s,cartTotal:a,currencyCode:r,hasCart:!!d(this,w)})});let t;window.addEventListener(j.eventName,e=>{const i=e,{selectedNonprofitId:s,selectionId:a,source:r}=i.detail;s!==t&&(this.logEvent(g.BEAM_SELECTION,!0,{nonprofitId:s,widget:r,selectionId:a}),t=s)})},T=async function(){const{stableId:t,sessionReturnOrigin:e}=h(this,o,v).call(this);t&&e&&this.logEvent(g.SESSION_RETURN,e,{session_return_origin:e,stable_id:t});const i=document.createElement("script");i.src=W,i.async=!1;const s=new Promise((r,l)=>{i.addEventListener("load",r),i.addEventListener("error",l)});document.head.append(i);try{await s}catch{throw new u("Failed to load Statsig script",{name:"StatsigInitError"})}if(this.statsig=window.statsig,!this.statsig)throw new u("Failed to detect Statsig",{name:"StatsigInitError"});const a={disableErrorLogging:!0,disableAutoMetricsLogging:!0,disableCurrentPageLogging:!0,loggingIntervalMillis:1e3,loggingBufferMaxSize:2,overrideStableID:t??_(N)??null};await this.statsig.initialize(this.statsigApiKey,{},a)},m=new WeakMap,A=function(){for(;d(this,m).length>0;){const t=d(this,m).shift();t&&this.logEvent(...t)}},S=function(t){document.body.setAttribute(n,t)},O=async function(){const t="https://events.statsigapi.net/v1/log_event";try{await fetch(t,{method:"POST",headers:{"content-type":"application/json","statsig-api-key":this.statsigApiKey},body:JSON.stringify({eventName:g.STATSIG_INIT,value:"true",time:new Date().getTime()/1e3,metadata:{show_beam:this.experiments.shouldShowBeam.toString(),domain:window.location.hostname,path:window.location.pathname,page:window.location.href},user:{userID:this.stableId}})})}catch(e){throw new u("Could not call Statsig API",{name:"StatsigInitError",cause:e})}},L=async function(){return k({baseUrl:d(this,c)?.baseUrl,headers:{authorization:`Api-Key ${d(this,c)?.apiKey}`},requestBody:{remoteSessionId:this.stableId,storeId:d(this,c)?.storeId,experiments:{showBeam:this.experiments.shouldShowBeam,...this.sessionReturnOrigin!=null&&{events:[{eventName:"session_return",eventValue:this.sessionReturnOrigin,timestamp:new Date().toISOString()}]}}}})};export{q as StatsigPlugin};
16
+ `,document.head.append(s),await h(this,o,B).call(this),this.stableId=this.statsig.getStableID(),!this.stableId)throw new u("Statsig failed to assign stableId",{name:"StatsigInitError"});h(this,o,T).call(this),D({remoteSessionId:this.stableId,apiKey:e.apiKey}),C(this,w,f(x)),k({name:N,value:this.stableId,path:"/",domain:e.domain}),this.experiments={shouldShowBeam:this.statsig.getLayer("beam_trial_layer").get("show_beam",!1),isLoggingEnabled:this.statsig.getLayer("beam_trial_layer").get("enable_logging",!0),...this.sessionReturnOrigin!=null&&{sessionReturnOrigin:this.sessionReturnOrigin}},await Promise.all([h(this,o,O).call(this),h(this,o,L).call(this)]),h(this,o,S).call(this,this.experiments.shouldShowBeam?"show":"hide"),h(this,o,R).call(this),b.debug("Statsig Experiment Assignments",this.experiments)}}c=new WeakMap,w=new WeakMap,o=new WeakSet,R=function(){try{const t=new P({showBeam:this.experiments.shouldShowBeam,stableId:this.stableId});window.dispatchEvent(t)}catch(t){b.error("[BeamStatsigInitializedEvent] Failed to dispatch event:",t)}},v=function(){const t=new URLSearchParams(window.location.search),e=t.get(V),i=t.get(q);return{stableId:e,sessionReturnOrigin:i==="cart_abandon"||i==="checkout_abandon"?i:null}},A=function(){window.addEventListener(z.eventName,e=>{const i=e,{itemCount:s,cartId:a,subtotal:r,currencyCode:l}=i.detail;this.logEvent(g.CART_CREATED,!0,{itemCount:s,cartId:a,subtotal:r,currencyCode:l})}),window.addEventListener(W.eventName,e=>{const i=e,{orderId:s,cartTotal:a,currencyCode:r}=i.detail;this.logEvent(g.ORDER_CREATED,a,{orderId:s,cartTotal:a,currencyCode:r,hasCart:!!d(this,w)})});let t;window.addEventListener(j.eventName,e=>{const i=e,{selectedNonprofitId:s,selectionId:a,source:r}=i.detail;s!==t&&(this.logEvent(g.BEAM_SELECTION,!0,{nonprofitId:s,widget:r,selectionId:a}),t=s)})},B=async function(){const{stableId:t,sessionReturnOrigin:e}=h(this,o,v).call(this);t&&e&&this.logEvent(g.SESSION_RETURN,e,{session_return_origin:e,stable_id:t});const i=document.createElement("script");i.src=F,i.async=!1;const s=new Promise((r,l)=>{i.addEventListener("load",r),i.addEventListener("error",l)});document.head.append(i);try{await s}catch{throw new u("Failed to load Statsig script",{name:"StatsigInitError"})}if(this.statsig=window.statsig,!this.statsig)throw new u("Failed to detect Statsig",{name:"StatsigInitError"});const a={disableErrorLogging:!0,disableAutoMetricsLogging:!0,disableCurrentPageLogging:!0,loggingIntervalMillis:1e3,loggingBufferMaxSize:2,overrideStableID:t??f(N)??null};await this.statsig.initialize(this.statsigApiKey,{},a)},m=new WeakMap,T=function(){for(;d(this,m).length>0;){const t=d(this,m).shift();t&&this.logEvent(...t)}},S=function(t){document.body.setAttribute(n,t)},O=async function(){const t="https://events.statsigapi.net/v1/log_event";try{await fetch(t,{method:"POST",headers:{"content-type":"application/json","statsig-api-key":this.statsigApiKey},body:JSON.stringify({eventName:g.STATSIG_INIT,value:"true",time:new Date().getTime()/1e3,metadata:{show_beam:this.experiments.shouldShowBeam.toString(),domain:window.location.hostname,path:window.location.pathname,page:window.location.href},user:{userID:this.stableId}})})}catch(e){throw new u("Could not call Statsig API",{name:"StatsigInitError",cause:e})}},L=async function(){return M({baseUrl:d(this,c)?.baseUrl,headers:{authorization:`Api-Key ${d(this,c)?.apiKey}`},requestBody:{remoteSessionId:this.stableId,storeId:d(this,c)?.storeId,experiments:{showBeam:this.experiments.shouldShowBeam,...this.sessionReturnOrigin!=null&&{events:[{eventName:"session_return",eventValue:this.sessionReturnOrigin,timestamp:new Date().toISOString()}]}}}})};export{H as StatsigPlugin};
17
17
  //# sourceMappingURL=statsig.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"statsig.esm.js","sources":["../../src/integrations/statsig/plugin.ts"],"sourcesContent":["import { postExperimentSession } from \"../../api-sdk/v3/routes\";\nimport { BEAM_CART_COOKIE_NAME } from \"../../shared/cart-contents\";\nimport {\n BeamCartCreatedEvent,\n BeamNonprofitSelectEvent,\n BeamOrderCreatedEvent,\n BeamStatsigInitializedEvent,\n} from \"../../utils/events\";\nimport { BeamPlugin, BeamConfigOptions } from \"../beam\";\nimport { BeamError } from \"../../utils/beam-errors\";\nimport { getCookieValue, setCookieValue } from \"../../utils/cookies\";\nimport { logger } from \"../../utils/logger\";\nimport { saveRemoteSession } from \"../../utils/remote-session\";\n\ntype beforeLogEventFn = (eventName: string, eventValue: any, metadata: Record<string, any>) => Record<string, any>;\n\n/**\n * StatSig Docs: https://docs.statsig.com/client/jsClientSDK\n */\ntype StatsigPluginOptions = {\n statsigApiKey: string;\n beforeLogEvent?: beforeLogEventFn;\n};\n\ndeclare global {\n interface Window {\n statsig?: any; // attached by Statsig CDN script\n }\n}\n\nconst STATSIG_VERSION = 4;\n\nconst STATSIG_SCRIPT_URL = `https://cdn.jsdelivr.net/npm/statsig-js@${STATSIG_VERSION}/build/statsig-prod-web-sdk.min.js`;\n\nconst STATSIG_STABLE_ID_COOKIE = \"beam_statsig_session_id\";\n\nconst BEAM_VISIBILITY_DATA_ATTRIBUTE = \"data-beam-visibility\";\n\n// Add class to elements that should only show when Beam shows\nconst BEAM_VISIBILITY_SYNCED_CLASS = \"beam-sync-visibility\";\n\nconst BEAM_AB_TEST_EVENTS = {\n STATSIG_INIT: \"statsig_init\",\n CART_CREATED: \"cart_created\",\n ORDER_CREATED: \"order_created\",\n BEAM_SELECTION: \"beam_selection\",\n SESSION_RETURN: \"session_return\",\n};\n\nconst BEAM_SSID_PARAM = \"beam_ssid\";\n\nconst BEAM_RETURN_ORIGIN_PARAM = \"beam_return_origin\";\n\ntype SessionReturnOrigin = \"cart_abandon\" | \"checkout_abandon\";\n\ntype Experiments = {\n /** Whether Beam widgets should be shown to users */\n shouldShowBeam: boolean;\n /** Whether events should be logged to Statsig */\n isLoggingEnabled: boolean;\n /** The source through which the user returned to their session */\n sessionReturnOrigin?: SessionReturnOrigin | null;\n};\n\n/**\n * Sets up Statsig for A/B testing and shows/hides Beam based on default experiment rules.\n * @example\n * import { StatsigPlugin } from '@beamimpact/web-sdk/dist/integrations/statsig'\n * import { init } from '@beamimpact/web-sdk/dist/integrations/beam'\n *\n * const beam = await init({\n * apiKey: '',\n * chainId: 1,\n * storeId: 1,\n * domain: 'my-store.com' // in case site uses subdomains for different pages\n * plugins: [\n * new StatsigPlugin({ statsigApiKey: '' })\n * ]\n * })\n *\n * Once initialized, all Beam widgets have display: none unless user is assigned to A/B test group that shows Beam\n * To hide additional elements, add the CSS className \"beam-sync-visibility\" to them\n * To programmatically access the experiment state: getConfig().plugins.statsig.experiments.shouldShowBeam\n */\nexport class StatsigPlugin implements BeamPlugin {\n name = \"statsig\";\n\n statsig: any; // Statsig SDK instance\n\n statsigApiKey: string;\n\n experiments: Experiments = {\n shouldShowBeam: false,\n isLoggingEnabled: true,\n sessionReturnOrigin: null,\n };\n\n stableId?: string;\n\n beforeLogEvent?: beforeLogEventFn;\n\n #beamConfig?: BeamConfigOptions;\n\n sessionReturnOrigin?: SessionReturnOrigin;\n\n // Checked at initialization so that we can tell if post-purchase events came from a session with a cart or not\n #beamCartCookie?: string;\n\n constructor(options: StatsigPluginOptions) {\n this.statsigApiKey = options.statsigApiKey;\n this.beforeLogEvent = options.beforeLogEvent;\n }\n\n async init(config: BeamConfigOptions) {\n const { sessionReturnOrigin } = this.#getUrlParams();\n\n this.#beamConfig = config;\n\n // Add event listeners for cart/order lifecycle events\n // This should happen as soon as possible to avoid missing events\n this.#attachEventListeners();\n\n // Attach beam-visibility data attribute to body\n this.#setBeamVisibilityValue(\"hide\");\n\n if (sessionReturnOrigin) {\n this.sessionReturnOrigin = sessionReturnOrigin;\n }\n\n // Create beam a/b test stylesheet\n const beamVisibilityStylesheet = document.createElement(\"style\");\n beamVisibilityStylesheet.innerHTML = `\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-select-nonprofit,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-post-purchase,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-redeem-transaction,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-impact-overview,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-community-impact,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-cumulative-impact,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-product-details-page,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-subscription-management,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-subscription-impact,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-select-subscription-nonprofit,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-social-share,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] .${BEAM_VISIBILITY_SYNCED_CLASS} {\n display: none;\n }\n `;\n document.head.append(beamVisibilityStylesheet);\n\n // Create statsig script\n await this.#initializeStatsig();\n this.stableId = this.statsig.getStableID();\n if (!this.stableId) {\n throw new BeamError(\"Statsig failed to assign stableId\", { name: \"StatsigInitError\" });\n }\n\n // Send events that happened before Statsig was ready\n this.#flushEventQueue();\n\n // Save Statsig ID in localStorage for linking to carts later\n saveRemoteSession({ remoteSessionId: this.stableId, apiKey: config.apiKey });\n\n // Save initial value of cart cookie so that post-purchase events can be filtered by if they had a cart or not\n this.#beamCartCookie = getCookieValue(BEAM_CART_COOKIE_NAME);\n\n // Cache ID in cookie to preserve ID across subdomains\n setCookieValue({\n name: STATSIG_STABLE_ID_COOKIE,\n value: this.stableId,\n path: \"/\",\n domain: config.domain,\n });\n\n // Evaluate Statsig experiment assignments\n this.experiments = {\n // Whether Beam widgets should be shown to users\n shouldShowBeam: this.statsig\n .getLayer(\"beam_trial_layer\")\n .get(\"show_beam\", false /* default to hide */) as boolean,\n // Whether events should be logged to Statsig\n isLoggingEnabled: this.statsig.getLayer(\"beam_trial_layer\").get(\"enable_logging\", true) as boolean,\n ...(this.sessionReturnOrigin != null && { sessionReturnOrigin: this.sessionReturnOrigin }),\n };\n\n // In parallel:\n // A) Make test call to Statsig\n // B) Save stable ID in Beam for attribution to carts/transactions\n await Promise.all([this.#testStatsigConnection(), this.#registerExperimentWithBeam()]);\n\n // Update beam visibility data attribute, which shows Beam to users in the experiment\n this.#setBeamVisibilityValue(this.experiments.shouldShowBeam ? \"show\" : \"hide\");\n\n this.#emitBeamStatsigInitializedEvent();\n\n // Log result\n logger.debug(\"Statsig Experiment Assignments\", this.experiments);\n }\n\n #emitBeamStatsigInitializedEvent() {\n try {\n const event = new BeamStatsigInitializedEvent({\n showBeam: this.experiments.shouldShowBeam,\n stableId: this.stableId,\n });\n window.dispatchEvent(event);\n } catch (error) {\n logger.error(\"[BeamStatsigInitializedEvent] Failed to dispatch event:\", error);\n }\n }\n\n #getUrlParams() {\n const params = new URLSearchParams(window.location.search);\n\n const stableId = params.get(BEAM_SSID_PARAM);\n\n const originParam = params.get(BEAM_RETURN_ORIGIN_PARAM);\n const sessionReturnOrigin: SessionReturnOrigin | null =\n originParam === \"cart_abandon\" || originParam === \"checkout_abandon\" ? originParam : null;\n\n return {\n stableId,\n sessionReturnOrigin,\n };\n }\n\n #attachEventListeners() {\n // Cart Created\n window.addEventListener(BeamCartCreatedEvent.eventName, (_event: Event) => {\n const event = _event as BeamCartCreatedEvent;\n const { itemCount, cartId, subtotal, currencyCode } = event.detail;\n this.logEvent(BEAM_AB_TEST_EVENTS.CART_CREATED, true, { itemCount, cartId, subtotal, currencyCode });\n });\n\n // Order Created\n window.addEventListener(BeamOrderCreatedEvent.eventName, (_event: Event) => {\n const event = _event as BeamOrderCreatedEvent;\n const { orderId, cartTotal, currencyCode } = event.detail;\n this.logEvent(BEAM_AB_TEST_EVENTS.ORDER_CREATED, cartTotal, {\n orderId,\n cartTotal,\n currencyCode,\n hasCart: !!this.#beamCartCookie,\n });\n });\n\n // Beam Selection\n // Store previous value in case widget is recreated and emits event again:\n let lastSelectedNonprofitId: number | null | undefined;\n window.addEventListener(BeamNonprofitSelectEvent.eventName, (_event: Event) => {\n const event = _event as BeamNonprofitSelectEvent;\n const { selectedNonprofitId, selectionId, source } = event.detail;\n if (selectedNonprofitId !== lastSelectedNonprofitId) {\n this.logEvent(BEAM_AB_TEST_EVENTS.BEAM_SELECTION, true, {\n nonprofitId: selectedNonprofitId,\n widget: source,\n selectionId,\n });\n lastSelectedNonprofitId = selectedNonprofitId;\n }\n });\n }\n\n // https://docs.statsig.com/client/jsClientSDK#statsig-options\n async #initializeStatsig() {\n const { stableId, sessionReturnOrigin } = this.#getUrlParams();\n if (stableId && sessionReturnOrigin) {\n this.logEvent(BEAM_AB_TEST_EVENTS.SESSION_RETURN, sessionReturnOrigin, {\n session_return_origin: sessionReturnOrigin,\n stable_id: stableId,\n });\n }\n\n const statsigScript = document.createElement(\"script\");\n statsigScript.src = STATSIG_SCRIPT_URL;\n statsigScript.async = false;\n const statsigReadyPromise = new Promise((res, rej) => {\n statsigScript.addEventListener(\"load\", res);\n statsigScript.addEventListener(\"error\", rej);\n });\n document.head.append(statsigScript);\n try {\n await statsigReadyPromise;\n } catch (err) {\n throw new BeamError(\"Failed to load Statsig script\", { name: \"StatsigInitError\" });\n }\n\n this.statsig = window.statsig;\n if (!this.statsig) {\n throw new BeamError(\"Failed to detect Statsig\", { name: \"StatsigInitError\" });\n }\n // https://docs.statsig.com/client/jsClientSDK#statsig-options\n const statsigOptions = {\n disableErrorLogging: true,\n disableAutoMetricsLogging: true,\n disableCurrentPageLogging: true,\n loggingIntervalMillis: 1000,\n loggingBufferMaxSize: 2,\n overrideStableID: stableId ?? getCookieValue(STATSIG_STABLE_ID_COOKIE) ?? null,\n };\n await this.statsig.initialize(this.statsigApiKey, {}, statsigOptions);\n }\n\n #eventQueue: Parameters<typeof StatsigPlugin.prototype.logEvent>[] = [];\n\n #flushEventQueue() {\n while (this.#eventQueue.length > 0) {\n const eventParams = this.#eventQueue.shift();\n if (eventParams) {\n this.logEvent(...eventParams);\n }\n }\n }\n\n logEvent = (name: string, value: string | number | boolean, metadata: Record<string, any> = {}) => {\n if (!this.statsig) {\n this.#eventQueue.push([name, value, metadata]);\n return;\n }\n const withBeam = this.experiments.shouldShowBeam;\n const domain = window.location.hostname;\n const path = window.location.pathname;\n const page = window.location.href;\n if (this.experiments.isLoggingEnabled) {\n const metadataWithOverrides = this.beforeLogEvent ? this.beforeLogEvent(name, value, metadata) : metadata;\n this.statsig.logEvent(name, value, { ...metadataWithOverrides, withBeam, domain, path, page });\n }\n logger.debug(name, value, { ...metadata, withBeam, domain, path, page });\n };\n\n #setBeamVisibilityValue(value: \"show\" | \"hide\") {\n document.body.setAttribute(BEAM_VISIBILITY_DATA_ATTRIBUTE, value);\n }\n\n async #testStatsigConnection() {\n // Use the HTTP API so we can synchronously detect if Statsig is reachable,\n // rather than pushing an event to the SDK's retryable queue.\n // https://docs.statsig.com/http-api\n const url = \"https://events.statsigapi.net/v1/log_event\";\n try {\n await fetch(url, {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n \"statsig-api-key\": this.statsigApiKey,\n },\n body: JSON.stringify({\n eventName: BEAM_AB_TEST_EVENTS.STATSIG_INIT,\n value: \"true\",\n time: new Date().getTime() / 1000, // unix timestamp (seconds not milliseconds)\n metadata: {\n show_beam: this.experiments.shouldShowBeam.toString(),\n domain: window.location.hostname,\n path: window.location.pathname,\n page: window.location.href,\n },\n user: {\n userID: this.stableId,\n },\n }),\n });\n } catch (err) {\n // TODO SDK-2390: this will log failures to Beam's error tracking API in the future\n throw new BeamError(\"Could not call Statsig API\", { name: \"StatsigInitError\", cause: err });\n }\n }\n\n async #registerExperimentWithBeam() {\n return postExperimentSession({\n baseUrl: this.#beamConfig?.baseUrl,\n headers: {\n authorization: `Api-Key ${this.#beamConfig?.apiKey}`,\n },\n requestBody: {\n remoteSessionId: this.stableId!,\n storeId: this.#beamConfig?.storeId,\n experiments: {\n showBeam: this.experiments.shouldShowBeam,\n ...(this.sessionReturnOrigin != null && {\n events: [\n {\n eventName: \"session_return\",\n eventValue: this.sessionReturnOrigin,\n timestamp: new Date().toISOString(),\n },\n ],\n }),\n },\n },\n });\n }\n}\n"],"names":["n","S","t","l","u","v","i","d","_beamConfig","_beamCartCookie","_StatsigPlugin_instances","emitBeamStatsigInitializedEvent_fn","getUrlParams_fn","attachEventListeners_fn","initializeStatsig_fn","_eventQueue","flushEventQueue_fn","setBeamVisibilityValue_fn","testStatsigConnection_fn","registerExperimentWithBeam_fn","STATSIG_VERSION","STATSIG_SCRIPT_URL","STATSIG_STABLE_ID_COOKIE","BEAM_VISIBILITY_DATA_ATTRIBUTE","BEAM_VISIBILITY_SYNCED_CLASS","BEAM_AB_TEST_EVENTS","BEAM_SSID_PARAM","BEAM_RETURN_ORIGIN_PARAM","StatsigPlugin","options","__privateAdd","name","value","metadata","__privateGet","withBeam","domain","path","page","metadataWithOverrides","logger","config","sessionReturnOrigin","__privateMethod","__privateSet","beamVisibilityStylesheet","BeamError","saveRemoteSession","getCookieValue","BEAM_CART_COOKIE_NAME","setCookieValue","event","BeamStatsigInitializedEvent","error","params","stableId","originParam","BeamCartCreatedEvent","_event","itemCount","cartId","subtotal","currencyCode","BeamOrderCreatedEvent","orderId","cartTotal","lastSelectedNonprofitId","BeamNonprofitSelectEvent","selectedNonprofitId","selectionId","source","statsigScript","statsigReadyPromise","res","rej","statsigOptions","eventParams","url","err","postExperimentSession"],"mappings":"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"}
1
+ {"version":3,"file":"statsig.esm.js","sources":["../../src/integrations/statsig/plugin.ts"],"sourcesContent":["import { postExperimentSession } from \"../../api-sdk/v3/routes\";\nimport { BEAM_COOKIE_NAMES } from \"../../api-sdk/constants\";\nimport { BEAM_CART_COOKIE_NAME } from \"../../shared/cart-contents\";\nimport {\n BeamCartCreatedEvent,\n BeamNonprofitSelectEvent,\n BeamOrderCreatedEvent,\n BeamStatsigInitializedEvent,\n} from \"../../utils/events\";\nimport { BeamPlugin, BeamConfigOptions } from \"../beam\";\nimport { BeamError } from \"../../utils/beam-errors\";\nimport { getCookieValue, setCookieValue } from \"../../utils/cookies\";\nimport { logger } from \"../../utils/logger\";\nimport { saveRemoteSession } from \"../../utils/remote-session\";\n\ntype beforeLogEventFn = (eventName: string, eventValue: any, metadata: Record<string, any>) => Record<string, any>;\n\n/**\n * StatSig Docs: https://docs.statsig.com/client/jsClientSDK\n */\ntype StatsigPluginOptions = {\n statsigApiKey: string;\n beforeLogEvent?: beforeLogEventFn;\n};\n\ndeclare global {\n interface Window {\n statsig?: any; // attached by Statsig CDN script\n }\n}\n\nconst STATSIG_VERSION = 4;\n\nconst STATSIG_SCRIPT_URL = `https://cdn.jsdelivr.net/npm/statsig-js@${STATSIG_VERSION}/build/statsig-prod-web-sdk.min.js`;\n\nconst STATSIG_STABLE_ID_COOKIE = BEAM_COOKIE_NAMES.STATSIG_STABLE_ID;\n\nconst BEAM_VISIBILITY_DATA_ATTRIBUTE = \"data-beam-visibility\";\n\n// Add class to elements that should only show when Beam shows\nconst BEAM_VISIBILITY_SYNCED_CLASS = \"beam-sync-visibility\";\n\nconst BEAM_AB_TEST_EVENTS = {\n STATSIG_INIT: \"statsig_init\",\n CART_CREATED: \"cart_created\",\n ORDER_CREATED: \"order_created\",\n BEAM_SELECTION: \"beam_selection\",\n SESSION_RETURN: \"session_return\",\n};\n\nconst BEAM_SSID_PARAM = \"beam_ssid\";\n\nconst BEAM_RETURN_ORIGIN_PARAM = \"beam_return_origin\";\n\ntype SessionReturnOrigin = \"cart_abandon\" | \"checkout_abandon\";\n\ntype Experiments = {\n /** Whether Beam widgets should be shown to users */\n shouldShowBeam: boolean;\n /** Whether events should be logged to Statsig */\n isLoggingEnabled: boolean;\n /** The source through which the user returned to their session */\n sessionReturnOrigin?: SessionReturnOrigin | null;\n};\n\n/**\n * Sets up Statsig for A/B testing and shows/hides Beam based on default experiment rules.\n * @example\n * import { StatsigPlugin } from '@beamimpact/web-sdk/dist/integrations/statsig'\n * import { init } from '@beamimpact/web-sdk/dist/integrations/beam'\n *\n * const beam = await init({\n * apiKey: '',\n * chainId: 1,\n * storeId: 1,\n * domain: 'my-store.com' // in case site uses subdomains for different pages\n * plugins: [\n * new StatsigPlugin({ statsigApiKey: '' })\n * ]\n * })\n *\n * Once initialized, all Beam widgets have display: none unless user is assigned to A/B test group that shows Beam\n * To hide additional elements, add the CSS className \"beam-sync-visibility\" to them\n * To programmatically access the experiment state: getConfig().plugins.statsig.experiments.shouldShowBeam\n */\nexport class StatsigPlugin implements BeamPlugin {\n name = \"statsig\";\n\n statsig: any; // Statsig SDK instance\n\n statsigApiKey: string;\n\n experiments: Experiments = {\n shouldShowBeam: false,\n isLoggingEnabled: true,\n sessionReturnOrigin: null,\n };\n\n stableId?: string;\n\n beforeLogEvent?: beforeLogEventFn;\n\n #beamConfig?: BeamConfigOptions;\n\n sessionReturnOrigin?: SessionReturnOrigin;\n\n // Checked at initialization so that we can tell if post-purchase events came from a session with a cart or not\n #beamCartCookie?: string;\n\n constructor(options: StatsigPluginOptions) {\n this.statsigApiKey = options.statsigApiKey;\n this.beforeLogEvent = options.beforeLogEvent;\n }\n\n async init(config: BeamConfigOptions) {\n const { sessionReturnOrigin } = this.#getUrlParams();\n\n this.#beamConfig = config;\n\n // Add event listeners for cart/order lifecycle events\n // This should happen as soon as possible to avoid missing events\n this.#attachEventListeners();\n\n // Attach beam-visibility data attribute to body\n this.#setBeamVisibilityValue(\"hide\");\n\n if (sessionReturnOrigin) {\n this.sessionReturnOrigin = sessionReturnOrigin;\n }\n\n // Create beam a/b test stylesheet\n const beamVisibilityStylesheet = document.createElement(\"style\");\n beamVisibilityStylesheet.innerHTML = `\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-select-nonprofit,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-post-purchase,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-redeem-transaction,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-impact-overview,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-community-impact,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-cumulative-impact,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-product-details-page,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-subscription-management,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-subscription-impact,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-select-subscription-nonprofit,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] beam-social-share,\n [${BEAM_VISIBILITY_DATA_ATTRIBUTE}=\"hide\"] .${BEAM_VISIBILITY_SYNCED_CLASS} {\n display: none;\n }\n `;\n document.head.append(beamVisibilityStylesheet);\n\n // Create statsig script\n await this.#initializeStatsig();\n this.stableId = this.statsig.getStableID();\n if (!this.stableId) {\n throw new BeamError(\"Statsig failed to assign stableId\", { name: \"StatsigInitError\" });\n }\n\n // Send events that happened before Statsig was ready\n this.#flushEventQueue();\n\n // Save Statsig ID in localStorage for linking to carts later\n saveRemoteSession({ remoteSessionId: this.stableId, apiKey: config.apiKey });\n\n // Save initial value of cart cookie so that post-purchase events can be filtered by if they had a cart or not\n this.#beamCartCookie = getCookieValue(BEAM_CART_COOKIE_NAME);\n\n // Cache ID in cookie to preserve ID across subdomains\n setCookieValue({\n name: STATSIG_STABLE_ID_COOKIE,\n value: this.stableId,\n path: \"/\",\n domain: config.domain,\n });\n\n // Evaluate Statsig experiment assignments\n this.experiments = {\n // Whether Beam widgets should be shown to users\n shouldShowBeam: this.statsig\n .getLayer(\"beam_trial_layer\")\n .get(\"show_beam\", false /* default to hide */) as boolean,\n // Whether events should be logged to Statsig\n isLoggingEnabled: this.statsig.getLayer(\"beam_trial_layer\").get(\"enable_logging\", true) as boolean,\n ...(this.sessionReturnOrigin != null && { sessionReturnOrigin: this.sessionReturnOrigin }),\n };\n\n // In parallel:\n // A) Make test call to Statsig\n // B) Save stable ID in Beam for attribution to carts/transactions\n await Promise.all([this.#testStatsigConnection(), this.#registerExperimentWithBeam()]);\n\n // Update beam visibility data attribute, which shows Beam to users in the experiment\n this.#setBeamVisibilityValue(this.experiments.shouldShowBeam ? \"show\" : \"hide\");\n\n this.#emitBeamStatsigInitializedEvent();\n\n // Log result\n logger.debug(\"Statsig Experiment Assignments\", this.experiments);\n }\n\n #emitBeamStatsigInitializedEvent() {\n try {\n const event = new BeamStatsigInitializedEvent({\n showBeam: this.experiments.shouldShowBeam,\n stableId: this.stableId,\n });\n window.dispatchEvent(event);\n } catch (error) {\n logger.error(\"[BeamStatsigInitializedEvent] Failed to dispatch event:\", error);\n }\n }\n\n #getUrlParams() {\n const params = new URLSearchParams(window.location.search);\n\n const stableId = params.get(BEAM_SSID_PARAM);\n\n const originParam = params.get(BEAM_RETURN_ORIGIN_PARAM);\n const sessionReturnOrigin: SessionReturnOrigin | null =\n originParam === \"cart_abandon\" || originParam === \"checkout_abandon\" ? originParam : null;\n\n return {\n stableId,\n sessionReturnOrigin,\n };\n }\n\n #attachEventListeners() {\n // Cart Created\n window.addEventListener(BeamCartCreatedEvent.eventName, (_event: Event) => {\n const event = _event as BeamCartCreatedEvent;\n const { itemCount, cartId, subtotal, currencyCode } = event.detail;\n this.logEvent(BEAM_AB_TEST_EVENTS.CART_CREATED, true, { itemCount, cartId, subtotal, currencyCode });\n });\n\n // Order Created\n window.addEventListener(BeamOrderCreatedEvent.eventName, (_event: Event) => {\n const event = _event as BeamOrderCreatedEvent;\n const { orderId, cartTotal, currencyCode } = event.detail;\n this.logEvent(BEAM_AB_TEST_EVENTS.ORDER_CREATED, cartTotal, {\n orderId,\n cartTotal,\n currencyCode,\n hasCart: !!this.#beamCartCookie,\n });\n });\n\n // Beam Selection\n // Store previous value in case widget is recreated and emits event again:\n let lastSelectedNonprofitId: number | null | undefined;\n window.addEventListener(BeamNonprofitSelectEvent.eventName, (_event: Event) => {\n const event = _event as BeamNonprofitSelectEvent;\n const { selectedNonprofitId, selectionId, source } = event.detail;\n if (selectedNonprofitId !== lastSelectedNonprofitId) {\n this.logEvent(BEAM_AB_TEST_EVENTS.BEAM_SELECTION, true, {\n nonprofitId: selectedNonprofitId,\n widget: source,\n selectionId,\n });\n lastSelectedNonprofitId = selectedNonprofitId;\n }\n });\n }\n\n // https://docs.statsig.com/client/jsClientSDK#statsig-options\n async #initializeStatsig() {\n const { stableId, sessionReturnOrigin } = this.#getUrlParams();\n if (stableId && sessionReturnOrigin) {\n this.logEvent(BEAM_AB_TEST_EVENTS.SESSION_RETURN, sessionReturnOrigin, {\n session_return_origin: sessionReturnOrigin,\n stable_id: stableId,\n });\n }\n\n const statsigScript = document.createElement(\"script\");\n statsigScript.src = STATSIG_SCRIPT_URL;\n statsigScript.async = false;\n const statsigReadyPromise = new Promise((res, rej) => {\n statsigScript.addEventListener(\"load\", res);\n statsigScript.addEventListener(\"error\", rej);\n });\n document.head.append(statsigScript);\n try {\n await statsigReadyPromise;\n } catch (err) {\n throw new BeamError(\"Failed to load Statsig script\", { name: \"StatsigInitError\" });\n }\n\n this.statsig = window.statsig;\n if (!this.statsig) {\n throw new BeamError(\"Failed to detect Statsig\", { name: \"StatsigInitError\" });\n }\n // https://docs.statsig.com/client/jsClientSDK#statsig-options\n const statsigOptions = {\n disableErrorLogging: true,\n disableAutoMetricsLogging: true,\n disableCurrentPageLogging: true,\n loggingIntervalMillis: 1000,\n loggingBufferMaxSize: 2,\n overrideStableID: stableId ?? getCookieValue(STATSIG_STABLE_ID_COOKIE) ?? null,\n };\n await this.statsig.initialize(this.statsigApiKey, {}, statsigOptions);\n }\n\n #eventQueue: Parameters<typeof StatsigPlugin.prototype.logEvent>[] = [];\n\n #flushEventQueue() {\n while (this.#eventQueue.length > 0) {\n const eventParams = this.#eventQueue.shift();\n if (eventParams) {\n this.logEvent(...eventParams);\n }\n }\n }\n\n logEvent = (name: string, value: string | number | boolean, metadata: Record<string, any> = {}) => {\n if (!this.statsig) {\n this.#eventQueue.push([name, value, metadata]);\n return;\n }\n const withBeam = this.experiments.shouldShowBeam;\n const domain = window.location.hostname;\n const path = window.location.pathname;\n const page = window.location.href;\n if (this.experiments.isLoggingEnabled) {\n const metadataWithOverrides = this.beforeLogEvent ? this.beforeLogEvent(name, value, metadata) : metadata;\n this.statsig.logEvent(name, value, { ...metadataWithOverrides, withBeam, domain, path, page });\n }\n logger.debug(name, value, { ...metadata, withBeam, domain, path, page });\n };\n\n #setBeamVisibilityValue(value: \"show\" | \"hide\") {\n document.body.setAttribute(BEAM_VISIBILITY_DATA_ATTRIBUTE, value);\n }\n\n async #testStatsigConnection() {\n // Use the HTTP API so we can synchronously detect if Statsig is reachable,\n // rather than pushing an event to the SDK's retryable queue.\n // https://docs.statsig.com/http-api\n const url = \"https://events.statsigapi.net/v1/log_event\";\n try {\n await fetch(url, {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n \"statsig-api-key\": this.statsigApiKey,\n },\n body: JSON.stringify({\n eventName: BEAM_AB_TEST_EVENTS.STATSIG_INIT,\n value: \"true\",\n time: new Date().getTime() / 1000, // unix timestamp (seconds not milliseconds)\n metadata: {\n show_beam: this.experiments.shouldShowBeam.toString(),\n domain: window.location.hostname,\n path: window.location.pathname,\n page: window.location.href,\n },\n user: {\n userID: this.stableId,\n },\n }),\n });\n } catch (err) {\n // TODO SDK-2390: this will log failures to Beam's error tracking API in the future\n throw new BeamError(\"Could not call Statsig API\", { name: \"StatsigInitError\", cause: err });\n }\n }\n\n async #registerExperimentWithBeam() {\n return postExperimentSession({\n baseUrl: this.#beamConfig?.baseUrl,\n headers: {\n authorization: `Api-Key ${this.#beamConfig?.apiKey}`,\n },\n requestBody: {\n remoteSessionId: this.stableId!,\n storeId: this.#beamConfig?.storeId,\n experiments: {\n showBeam: this.experiments.shouldShowBeam,\n ...(this.sessionReturnOrigin != null && {\n events: [\n {\n eventName: \"session_return\",\n eventValue: this.sessionReturnOrigin,\n timestamp: new Date().toISOString(),\n },\n ],\n }),\n },\n },\n });\n }\n}\n"],"names":["n","S","t","l","u","I","i","d","_beamConfig","_beamCartCookie","_StatsigPlugin_instances","emitBeamStatsigInitializedEvent_fn","getUrlParams_fn","attachEventListeners_fn","initializeStatsig_fn","_eventQueue","flushEventQueue_fn","setBeamVisibilityValue_fn","testStatsigConnection_fn","registerExperimentWithBeam_fn","STATSIG_VERSION","STATSIG_SCRIPT_URL","STATSIG_STABLE_ID_COOKIE","BEAM_COOKIE_NAMES","BEAM_VISIBILITY_DATA_ATTRIBUTE","BEAM_VISIBILITY_SYNCED_CLASS","BEAM_AB_TEST_EVENTS","BEAM_SSID_PARAM","BEAM_RETURN_ORIGIN_PARAM","StatsigPlugin","options","__privateAdd","name","value","metadata","__privateGet","withBeam","domain","path","page","metadataWithOverrides","logger","config","sessionReturnOrigin","__privateMethod","__privateSet","beamVisibilityStylesheet","BeamError","saveRemoteSession","getCookieValue","BEAM_CART_COOKIE_NAME","setCookieValue","event","BeamStatsigInitializedEvent","error","params","stableId","originParam","BeamCartCreatedEvent","_event","itemCount","cartId","subtotal","currencyCode","BeamOrderCreatedEvent","orderId","cartTotal","lastSelectedNonprofitId","BeamNonprofitSelectEvent","selectedNonprofitId","selectionId","source","statsigScript","statsigReadyPromise","res","rej","statsigOptions","eventParams","url","err","postExperimentSession"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{B as x,p as k}from"../chunks/index-DhHhFTBE.esm.js";import{l as b,m as u,s as D,g as _,n as M,o as K,q as P,r as z,B as j}from"../chunks/utils-BjhsDvuU.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";var y=t=>{throw TypeError(t)},E=(t,e,i)=>e.has(t)||y("Cannot "+i),d=(t,e,i)=>(E(t,e,"read from private field"),i?i.call(t):e.get(t)),p=(t,e,i)=>e.has(t)?y("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,i),R=(t,e,i,s)=>(E(t,e,"write to private field"),e.set(t,i),i),h=(t,e,i)=>(E(t,e,"access private method"),i),c,w,o,C,v,B,T,m,A,S,O,L;const U=4,W=`https://cdn.jsdelivr.net/npm/statsig-js@${U}/build/statsig-prod-web-sdk.min.js`,N="beam_statsig_session_id",n="data-beam-visibility",F="beam-sync-visibility",g={STATSIG_INIT:"statsig_init",CART_CREATED:"cart_created",ORDER_CREATED:"order_created",BEAM_SELECTION:"beam_selection",SESSION_RETURN:"session_return"},G="beam_ssid",V="beam_return_origin";class q{constructor(e){p(this,o),this.name="statsig",this.experiments={shouldShowBeam:!1,isLoggingEnabled:!0,sessionReturnOrigin:null},p(this,c),p(this,w),p(this,m,[]),this.logEvent=(i,s,a={})=>{if(!this.statsig){d(this,m).push([i,s,a]);return}const r=this.experiments.shouldShowBeam,l=window.location.hostname,I=window.location.pathname,f=window.location.href;if(this.experiments.isLoggingEnabled){const $=this.beforeLogEvent?this.beforeLogEvent(i,s,a):a;this.statsig.logEvent(i,s,{...$,withBeam:r,domain:l,path:I,page:f})}b.debug(i,s,{...a,withBeam:r,domain:l,path:I,page:f})},this.statsigApiKey=e.statsigApiKey,this.beforeLogEvent=e.beforeLogEvent}async init(e){const{sessionReturnOrigin:i}=h(this,o,v).call(this);R(this,c,e),h(this,o,B).call(this),h(this,o,S).call(this,"hide"),i&&(this.sessionReturnOrigin=i);const s=document.createElement("style");if(s.innerHTML=`
1
+ import{B as x,p as M}from"../chunks/index-Dm-K2MLY.esm.js";import{l as b,n as u,s as D,g as f,o as k,q as K,r as P,t as z,u as W,B as j}from"../chunks/utils-C5hmbxa4.esm.js";import"../chunks/lit-BEag9MFp.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";var y=t=>{throw TypeError(t)},E=(t,e,i)=>e.has(t)||y("Cannot "+i),d=(t,e,i)=>(E(t,e,"read from private field"),i?i.call(t):e.get(t)),p=(t,e,i)=>e.has(t)?y("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,i),C=(t,e,i,s)=>(E(t,e,"write to private field"),e.set(t,i),i),h=(t,e,i)=>(E(t,e,"access private method"),i),c,w,o,R,v,A,B,m,T,S,O,L;const U=4,F=`https://cdn.jsdelivr.net/npm/statsig-js@${U}/build/statsig-prod-web-sdk.min.js`,N=K.STATSIG_STABLE_ID,n="data-beam-visibility",G="beam-sync-visibility",g={STATSIG_INIT:"statsig_init",CART_CREATED:"cart_created",ORDER_CREATED:"order_created",BEAM_SELECTION:"beam_selection",SESSION_RETURN:"session_return"},V="beam_ssid",q="beam_return_origin";class H{constructor(e){p(this,o),this.name="statsig",this.experiments={shouldShowBeam:!1,isLoggingEnabled:!0,sessionReturnOrigin:null},p(this,c),p(this,w),p(this,m,[]),this.logEvent=(i,s,a={})=>{if(!this.statsig){d(this,m).push([i,s,a]);return}const r=this.experiments.shouldShowBeam,l=window.location.hostname,I=window.location.pathname,_=window.location.href;if(this.experiments.isLoggingEnabled){const $=this.beforeLogEvent?this.beforeLogEvent(i,s,a):a;this.statsig.logEvent(i,s,{...$,withBeam:r,domain:l,path:I,page:_})}b.debug(i,s,{...a,withBeam:r,domain:l,path:I,page:_})},this.statsigApiKey=e.statsigApiKey,this.beforeLogEvent=e.beforeLogEvent}async init(e){const{sessionReturnOrigin:i}=h(this,o,v).call(this);C(this,c,e),h(this,o,A).call(this),h(this,o,S).call(this,"hide"),i&&(this.sessionReturnOrigin=i);const s=document.createElement("style");if(s.innerHTML=`
2
2
  [${n}="hide"] beam-select-nonprofit,
3
3
  [${n}="hide"] beam-post-purchase,
4
4
  [${n}="hide"] beam-redeem-transaction,
@@ -10,8 +10,8 @@ import{B as x,p as k}from"../chunks/index-DhHhFTBE.esm.js";import{l as b,m as u,
10
10
  [${n}="hide"] beam-subscription-impact,
11
11
  [${n}="hide"] beam-select-subscription-nonprofit,
12
12
  [${n}="hide"] beam-social-share,
13
- [${n}="hide"] .${F} {
13
+ [${n}="hide"] .${G} {
14
14
  display: none;
15
15
  }
16
- `,document.head.append(s),await h(this,o,T).call(this),this.stableId=this.statsig.getStableID(),!this.stableId)throw new u("Statsig failed to assign stableId",{name:"StatsigInitError"});h(this,o,A).call(this),D({remoteSessionId:this.stableId,apiKey:e.apiKey}),R(this,w,_(x)),M({name:N,value:this.stableId,path:"/",domain:e.domain}),this.experiments={shouldShowBeam:this.statsig.getLayer("beam_trial_layer").get("show_beam",!1),isLoggingEnabled:this.statsig.getLayer("beam_trial_layer").get("enable_logging",!0),...this.sessionReturnOrigin!=null&&{sessionReturnOrigin:this.sessionReturnOrigin}},await Promise.all([h(this,o,O).call(this),h(this,o,L).call(this)]),h(this,o,S).call(this,this.experiments.shouldShowBeam?"show":"hide"),h(this,o,C).call(this),b.debug("Statsig Experiment Assignments",this.experiments)}}c=new WeakMap,w=new WeakMap,o=new WeakSet,C=function(){try{const t=new K({showBeam:this.experiments.shouldShowBeam,stableId:this.stableId});window.dispatchEvent(t)}catch(t){b.error("[BeamStatsigInitializedEvent] Failed to dispatch event:",t)}},v=function(){const t=new URLSearchParams(window.location.search),e=t.get(G),i=t.get(V);return{stableId:e,sessionReturnOrigin:i==="cart_abandon"||i==="checkout_abandon"?i:null}},B=function(){window.addEventListener(P.eventName,e=>{const i=e,{itemCount:s,cartId:a,subtotal:r,currencyCode:l}=i.detail;this.logEvent(g.CART_CREATED,!0,{itemCount:s,cartId:a,subtotal:r,currencyCode:l})}),window.addEventListener(z.eventName,e=>{const i=e,{orderId:s,cartTotal:a,currencyCode:r}=i.detail;this.logEvent(g.ORDER_CREATED,a,{orderId:s,cartTotal:a,currencyCode:r,hasCart:!!d(this,w)})});let t;window.addEventListener(j.eventName,e=>{const i=e,{selectedNonprofitId:s,selectionId:a,source:r}=i.detail;s!==t&&(this.logEvent(g.BEAM_SELECTION,!0,{nonprofitId:s,widget:r,selectionId:a}),t=s)})},T=async function(){const{stableId:t,sessionReturnOrigin:e}=h(this,o,v).call(this);t&&e&&this.logEvent(g.SESSION_RETURN,e,{session_return_origin:e,stable_id:t});const i=document.createElement("script");i.src=W,i.async=!1;const s=new Promise((r,l)=>{i.addEventListener("load",r),i.addEventListener("error",l)});document.head.append(i);try{await s}catch{throw new u("Failed to load Statsig script",{name:"StatsigInitError"})}if(this.statsig=window.statsig,!this.statsig)throw new u("Failed to detect Statsig",{name:"StatsigInitError"});const a={disableErrorLogging:!0,disableAutoMetricsLogging:!0,disableCurrentPageLogging:!0,loggingIntervalMillis:1e3,loggingBufferMaxSize:2,overrideStableID:t??_(N)??null};await this.statsig.initialize(this.statsigApiKey,{},a)},m=new WeakMap,A=function(){for(;d(this,m).length>0;){const t=d(this,m).shift();t&&this.logEvent(...t)}},S=function(t){document.body.setAttribute(n,t)},O=async function(){const t="https://events.statsigapi.net/v1/log_event";try{await fetch(t,{method:"POST",headers:{"content-type":"application/json","statsig-api-key":this.statsigApiKey},body:JSON.stringify({eventName:g.STATSIG_INIT,value:"true",time:new Date().getTime()/1e3,metadata:{show_beam:this.experiments.shouldShowBeam.toString(),domain:window.location.hostname,path:window.location.pathname,page:window.location.href},user:{userID:this.stableId}})})}catch(e){throw new u("Could not call Statsig API",{name:"StatsigInitError",cause:e})}},L=async function(){return k({baseUrl:d(this,c)?.baseUrl,headers:{authorization:`Api-Key ${d(this,c)?.apiKey}`},requestBody:{remoteSessionId:this.stableId,storeId:d(this,c)?.storeId,experiments:{showBeam:this.experiments.shouldShowBeam,...this.sessionReturnOrigin!=null&&{events:[{eventName:"session_return",eventValue:this.sessionReturnOrigin,timestamp:new Date().toISOString()}]}}}})};export{q as StatsigPlugin};
16
+ `,document.head.append(s),await h(this,o,B).call(this),this.stableId=this.statsig.getStableID(),!this.stableId)throw new u("Statsig failed to assign stableId",{name:"StatsigInitError"});h(this,o,T).call(this),D({remoteSessionId:this.stableId,apiKey:e.apiKey}),C(this,w,f(x)),k({name:N,value:this.stableId,path:"/",domain:e.domain}),this.experiments={shouldShowBeam:this.statsig.getLayer("beam_trial_layer").get("show_beam",!1),isLoggingEnabled:this.statsig.getLayer("beam_trial_layer").get("enable_logging",!0),...this.sessionReturnOrigin!=null&&{sessionReturnOrigin:this.sessionReturnOrigin}},await Promise.all([h(this,o,O).call(this),h(this,o,L).call(this)]),h(this,o,S).call(this,this.experiments.shouldShowBeam?"show":"hide"),h(this,o,R).call(this),b.debug("Statsig Experiment Assignments",this.experiments)}}c=new WeakMap,w=new WeakMap,o=new WeakSet,R=function(){try{const t=new P({showBeam:this.experiments.shouldShowBeam,stableId:this.stableId});window.dispatchEvent(t)}catch(t){b.error("[BeamStatsigInitializedEvent] Failed to dispatch event:",t)}},v=function(){const t=new URLSearchParams(window.location.search),e=t.get(V),i=t.get(q);return{stableId:e,sessionReturnOrigin:i==="cart_abandon"||i==="checkout_abandon"?i:null}},A=function(){window.addEventListener(z.eventName,e=>{const i=e,{itemCount:s,cartId:a,subtotal:r,currencyCode:l}=i.detail;this.logEvent(g.CART_CREATED,!0,{itemCount:s,cartId:a,subtotal:r,currencyCode:l})}),window.addEventListener(W.eventName,e=>{const i=e,{orderId:s,cartTotal:a,currencyCode:r}=i.detail;this.logEvent(g.ORDER_CREATED,a,{orderId:s,cartTotal:a,currencyCode:r,hasCart:!!d(this,w)})});let t;window.addEventListener(j.eventName,e=>{const i=e,{selectedNonprofitId:s,selectionId:a,source:r}=i.detail;s!==t&&(this.logEvent(g.BEAM_SELECTION,!0,{nonprofitId:s,widget:r,selectionId:a}),t=s)})},B=async function(){const{stableId:t,sessionReturnOrigin:e}=h(this,o,v).call(this);t&&e&&this.logEvent(g.SESSION_RETURN,e,{session_return_origin:e,stable_id:t});const i=document.createElement("script");i.src=F,i.async=!1;const s=new Promise((r,l)=>{i.addEventListener("load",r),i.addEventListener("error",l)});document.head.append(i);try{await s}catch{throw new u("Failed to load Statsig script",{name:"StatsigInitError"})}if(this.statsig=window.statsig,!this.statsig)throw new u("Failed to detect Statsig",{name:"StatsigInitError"});const a={disableErrorLogging:!0,disableAutoMetricsLogging:!0,disableCurrentPageLogging:!0,loggingIntervalMillis:1e3,loggingBufferMaxSize:2,overrideStableID:t??f(N)??null};await this.statsig.initialize(this.statsigApiKey,{},a)},m=new WeakMap,T=function(){for(;d(this,m).length>0;){const t=d(this,m).shift();t&&this.logEvent(...t)}},S=function(t){document.body.setAttribute(n,t)},O=async function(){const t="https://events.statsigapi.net/v1/log_event";try{await fetch(t,{method:"POST",headers:{"content-type":"application/json","statsig-api-key":this.statsigApiKey},body:JSON.stringify({eventName:g.STATSIG_INIT,value:"true",time:new Date().getTime()/1e3,metadata:{show_beam:this.experiments.shouldShowBeam.toString(),domain:window.location.hostname,path:window.location.pathname,page:window.location.href},user:{userID:this.stableId}})})}catch(e){throw new u("Could not call Statsig API",{name:"StatsigInitError",cause:e})}},L=async function(){return M({baseUrl:d(this,c)?.baseUrl,headers:{authorization:`Api-Key ${d(this,c)?.apiKey}`},requestBody:{remoteSessionId:this.stableId,storeId:d(this,c)?.storeId,experiments:{showBeam:this.experiments.shouldShowBeam,...this.sessionReturnOrigin!=null&&{events:[{eventName:"session_return",eventValue:this.sessionReturnOrigin,timestamp:new Date().toISOString()}]}}}})};export{H as StatsigPlugin};
17
17
  //# sourceMappingURL=statsig.js.map