@beamimpact/web-sdk 1.55.6 → 1.55.8

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 (223) hide show
  1. package/dist/chunks/{_share-dialog-dependencies-BA9f_o0p.esm.js → _share-dialog-dependencies-BG0p8uUr.esm.js} +2 -2
  2. package/dist/chunks/{_share-dialog-dependencies-BA9f_o0p.esm.js.map → _share-dialog-dependencies-BG0p8uUr.esm.js.map} +1 -1
  3. package/dist/chunks/{_share-dialog-dependencies-C9KUQdZi.esm.js → _share-dialog-dependencies-dHlBUqo0.esm.js} +2 -2
  4. package/dist/chunks/{_share-dialog-dependencies-C9KUQdZi.esm.js.map → _share-dialog-dependencies-dHlBUqo0.esm.js.map} +1 -1
  5. package/dist/chunks/beam-errors-Ci0d3926.esm.js.map +1 -1
  6. package/dist/chunks/css-card-grid-CvoGpsJH.esm.js.map +1 -1
  7. package/dist/chunks/enforce-config-Ba1JkOHs.esm.js.map +1 -1
  8. package/dist/chunks/enforce-config-CZ3ToOgr.esm.js.map +1 -1
  9. package/dist/chunks/{events-B7l6VPsF.esm.d.ts → events-CSyogxoH.esm.d.ts} +2 -2
  10. package/dist/chunks/events-Dki0ka4F.esm.js.map +1 -1
  11. package/dist/chunks/{index-DkN5rVx1.esm.js → index-2OQzw7UI.esm.js} +2 -2
  12. package/dist/chunks/{index-DkN5rVx1.esm.js.map → index-2OQzw7UI.esm.js.map} +1 -1
  13. package/dist/chunks/index-B1Y88trP.esm.js +2 -0
  14. package/dist/chunks/index-B1Y88trP.esm.js.map +1 -0
  15. package/dist/chunks/{index-Bliur1O3.esm.d.ts → index-B1lGZARl.esm.d.ts} +1 -1
  16. package/dist/chunks/{index-DHK-p5LV.esm.d.ts → index-B7hOLixE.esm.d.ts} +2 -2
  17. package/dist/chunks/index-BNjsFEGn.esm.js.map +1 -1
  18. package/dist/chunks/{index-CQNxdYCM.esm.js → index-BTDB5Gk-.esm.js} +2 -2
  19. package/dist/chunks/index-BTDB5Gk-.esm.js.map +1 -0
  20. package/dist/chunks/index-BX6GnRsb.esm.js +2 -0
  21. package/dist/chunks/index-BX6GnRsb.esm.js.map +1 -0
  22. package/dist/chunks/{index-DbaDUPup.esm.d.ts → index-BjGPkgs-.esm.d.ts} +11 -11
  23. package/dist/chunks/{index-B-y_clPF.esm.js → index-C5gnsl34.esm.js} +2 -2
  24. package/dist/chunks/{index-B-y_clPF.esm.js.map → index-C5gnsl34.esm.js.map} +1 -1
  25. package/dist/chunks/{index-DEoMwStx.esm.d.ts → index-CJ1y1kTs.esm.d.ts} +1 -1
  26. package/dist/chunks/index-CWKcDbs6.esm.js +2 -0
  27. package/dist/chunks/index-CWKcDbs6.esm.js.map +1 -0
  28. package/dist/chunks/{index-Cvwx-mJw.esm.js → index-Cg65EbvX.esm.js} +2 -2
  29. package/dist/chunks/index-Cg65EbvX.esm.js.map +1 -0
  30. package/dist/chunks/{index-R8pxCm8G.esm.js → index-DEaZqGi7.esm.js} +2 -2
  31. package/dist/chunks/{index-R8pxCm8G.esm.js.map → index-DEaZqGi7.esm.js.map} +1 -1
  32. package/dist/chunks/{index-Cc56yRag.esm.js → index-DnTE6QlY.esm.js} +2 -2
  33. package/dist/chunks/index-DnTE6QlY.esm.js.map +1 -0
  34. package/dist/chunks/{index-D4P62wPH.esm.js → index-DrxhkT6Y.esm.js} +2 -2
  35. package/dist/chunks/index-DrxhkT6Y.esm.js.map +1 -0
  36. package/dist/chunks/index-IKiJwo5v.esm.js.map +1 -1
  37. package/dist/chunks/{index-Dcs5wzZR.esm.js → index-RhV6PBPH.esm.js} +2 -2
  38. package/dist/chunks/{index-Dcs5wzZR.esm.js.map → index-RhV6PBPH.esm.js.map} +1 -1
  39. package/dist/chunks/index-eCVyk0rc.esm.js +2 -0
  40. package/dist/chunks/index-eCVyk0rc.esm.js.map +1 -0
  41. package/dist/chunks/{index-DTPlqZRf.esm.d.ts → index-iqYDqEil.esm.d.ts} +1 -1
  42. package/dist/chunks/lit-WqMxC_PA.esm.js.map +1 -1
  43. package/dist/chunks/localize-Btu9xYcE.esm.js.map +1 -1
  44. package/dist/chunks/localize-C25pEGnx.esm.js.map +1 -1
  45. package/dist/chunks/lodash-D3TLHRR_.esm.js.map +1 -1
  46. package/dist/chunks/{order-page-BrgnL0la.esm.js → order-page-BRG7MXZ2.esm.js} +2 -2
  47. package/dist/chunks/{order-page-BrgnL0la.esm.js.map → order-page-BRG7MXZ2.esm.js.map} +1 -1
  48. package/dist/chunks/{order-page-BVDbpEg3.esm.js → order-page-BbHDQfmy.esm.js} +2 -2
  49. package/dist/chunks/{order-page-BVDbpEg3.esm.js.map → order-page-BbHDQfmy.esm.js.map} +1 -1
  50. package/dist/chunks/{order-page-M7a2TINy.esm.d.ts → order-page-Qn1yyNbN.esm.d.ts} +2 -2
  51. package/dist/chunks/progress-bar-DF7UuuHb.esm.js.map +1 -1
  52. package/dist/chunks/{promo-pill-label-B5ymzjIe.esm.js → promo-pill-label-ByFGhdxh.esm.js} +2 -2
  53. package/dist/chunks/{promo-pill-label-B5ymzjIe.esm.js.map → promo-pill-label-ByFGhdxh.esm.js.map} +1 -1
  54. package/dist/chunks/{promo-pill-label-Fdt5WTOL.esm.js → promo-pill-label-WGLW3bql.esm.js} +2 -2
  55. package/dist/chunks/{promo-pill-label-Fdt5WTOL.esm.js.map → promo-pill-label-WGLW3bql.esm.js.map} +1 -1
  56. package/dist/chunks/{promo-types-BPmDZ5dF.esm.d.ts → promo-types-7r9-UuiP.esm.d.ts} +1 -1
  57. package/dist/chunks/promo-types-DKAOFHJr.esm.js.map +1 -1
  58. package/dist/chunks/responsive-BR8qUfBa.esm.js.map +1 -1
  59. package/dist/chunks/{routes-DpniIBF7.esm.js → routes-BvX92EDq.esm.js} +2 -2
  60. package/dist/chunks/{routes-DpniIBF7.esm.js.map → routes-BvX92EDq.esm.js.map} +1 -1
  61. package/dist/chunks/{routes-BoeGe1RQ.esm.d.ts → routes-DahRzf8t.esm.d.ts} +1 -1
  62. package/dist/chunks/{routes-DzqKnt5D.esm.js → routes-DguZveS3.esm.js} +2 -2
  63. package/dist/chunks/{routes-DzqKnt5D.esm.js.map → routes-DguZveS3.esm.js.map} +1 -1
  64. package/dist/chunks/{share-button-B2RwMJdP.esm.js → share-button-BRjKJc5L.esm.js} +2 -2
  65. package/dist/chunks/{share-button-DOejRGE7.esm.js.map → share-button-BRjKJc5L.esm.js.map} +1 -1
  66. package/dist/chunks/{share-button-CnN0Q1m3.esm.js → share-button-DPNNnXeM.esm.js} +2 -2
  67. package/dist/chunks/{share-button-CnN0Q1m3.esm.js.map → share-button-DPNNnXeM.esm.js.map} +1 -1
  68. package/dist/chunks/{share-button-DOejRGE7.esm.js → share-button-DmjRJmXh.esm.js} +2 -2
  69. package/dist/chunks/{share-button-B2RwMJdP.esm.js.map → share-button-DmjRJmXh.esm.js.map} +1 -1
  70. package/dist/chunks/{share-button-Gz4GlT28.esm.js → share-button-M8cMa6ol.esm.js} +2 -2
  71. package/dist/chunks/{share-button-Gz4GlT28.esm.js.map → share-button-M8cMa6ol.esm.js.map} +1 -1
  72. package/dist/chunks/{update-cart-BJPNyfQK.esm.js → update-cart-CJywJNax.esm.js} +2 -2
  73. package/dist/chunks/{update-cart-BJPNyfQK.esm.js.map → update-cart-CJywJNax.esm.js.map} +1 -1
  74. package/dist/chunks/{update-cart-_BGjED9E.esm.js → update-cart-gwNcGXkd.esm.js} +2 -2
  75. package/dist/chunks/{update-cart-_BGjED9E.esm.js.map → update-cart-gwNcGXkd.esm.js.map} +1 -1
  76. package/dist/chunks/vendor-KKSARHWL.esm.js.map +1 -1
  77. package/dist/components/beam-partner-logos.esm.js.map +1 -1
  78. package/dist/components/beam-partner-logos.js.map +1 -1
  79. package/dist/components/community-impact.esm.js +1 -1
  80. package/dist/components/community-impact.esm.js.map +1 -1
  81. package/dist/components/community-impact.js +1 -1
  82. package/dist/components/community-impact.js.map +1 -1
  83. package/dist/components/cumulative-impact.esm.js +1 -1
  84. package/dist/components/cumulative-impact.esm.js.map +1 -1
  85. package/dist/components/cumulative-impact.js +1 -1
  86. package/dist/components/cumulative-impact.js.map +1 -1
  87. package/dist/components/impact-overview.esm.js +1 -1
  88. package/dist/components/impact-overview.esm.js.map +1 -1
  89. package/dist/components/impact-overview.js +1 -1
  90. package/dist/components/impact-overview.js.map +1 -1
  91. package/dist/components/index.d.ts +1 -1
  92. package/dist/components/index.esm.js +1 -1
  93. package/dist/components/index.js +1 -1
  94. package/dist/components/post-purchase.d.ts +2 -1
  95. package/dist/components/post-purchase.esm.js +3 -3
  96. package/dist/components/post-purchase.esm.js.map +1 -1
  97. package/dist/components/post-purchase.js +3 -3
  98. package/dist/components/post-purchase.js.map +1 -1
  99. package/dist/components/product-details-page.d.ts +2 -2
  100. package/dist/components/product-details-page.esm.js +7 -7
  101. package/dist/components/product-details-page.esm.js.map +1 -1
  102. package/dist/components/product-details-page.js +7 -7
  103. package/dist/components/product-details-page.js.map +1 -1
  104. package/dist/components/redeem-transaction.d.ts +1 -1
  105. package/dist/components/redeem-transaction.esm.js +1 -1
  106. package/dist/components/redeem-transaction.js +1 -1
  107. package/dist/components/select-nonprofit.d.ts +1 -1
  108. package/dist/components/select-nonprofit.esm.js +1 -1
  109. package/dist/components/select-nonprofit.esm.js.map +1 -1
  110. package/dist/components/select-nonprofit.js +1 -1
  111. package/dist/components/select-nonprofit.js.map +1 -1
  112. package/dist/components/select-subscription-nonprofit.d.ts +1 -1
  113. package/dist/components/select-subscription-nonprofit.esm.js +1 -1
  114. package/dist/components/select-subscription-nonprofit.esm.js.map +1 -1
  115. package/dist/components/select-subscription-nonprofit.js +1 -1
  116. package/dist/components/select-subscription-nonprofit.js.map +1 -1
  117. package/dist/components/shopify.d.ts +4 -4
  118. package/dist/components/shopify.esm.js +1 -1
  119. package/dist/components/shopify.js +1 -1
  120. package/dist/components/social-share.esm.js +1 -1
  121. package/dist/components/social-share.esm.js.map +1 -1
  122. package/dist/components/social-share.js +1 -1
  123. package/dist/components/social-share.js.map +1 -1
  124. package/dist/components/subscription-impact.d.ts +1 -1
  125. package/dist/components/subscription-impact.esm.js +1 -1
  126. package/dist/components/subscription-impact.esm.js.map +1 -1
  127. package/dist/components/subscription-impact.js +1 -1
  128. package/dist/components/subscription-impact.js.map +1 -1
  129. package/dist/components/subscription-management.d.ts +2 -2
  130. package/dist/components/subscription-management.esm.js +1 -1
  131. package/dist/components/subscription-management.esm.js.map +1 -1
  132. package/dist/components/subscription-management.js +1 -1
  133. package/dist/components/subscription-management.js.map +1 -1
  134. package/dist/index.d.ts +9 -9
  135. package/dist/index.esm.js +1 -1
  136. package/dist/index.js +1 -1
  137. package/dist/integrations/beam.esm.js +1 -1
  138. package/dist/integrations/beam.esm.js.map +1 -1
  139. package/dist/integrations/beam.js +1 -1
  140. package/dist/integrations/beam.js.map +1 -1
  141. package/dist/integrations/cart.esm.js +1 -1
  142. package/dist/integrations/cart.js +1 -1
  143. package/dist/integrations/index.d.ts +6 -6
  144. package/dist/integrations/index.esm.js +1 -1
  145. package/dist/integrations/index.js +1 -1
  146. package/dist/integrations/logs.esm.js +1 -1
  147. package/dist/integrations/logs.js +1 -1
  148. package/dist/integrations/promoManager.esm.js.map +1 -1
  149. package/dist/integrations/promoManager.js.map +1 -1
  150. package/dist/integrations/shopify.d.ts +2 -2
  151. package/dist/integrations/shopify.esm.js +1 -1
  152. package/dist/integrations/shopify.js +1 -1
  153. package/dist/integrations/statsig.esm.js +1 -1
  154. package/dist/integrations/statsig.esm.js.map +1 -1
  155. package/dist/integrations/statsig.js +1 -1
  156. package/dist/integrations/statsig.js.map +1 -1
  157. package/dist/integrations/utils.d.ts +2 -2
  158. package/dist/react/beam-partner-logos.esm.js.map +1 -1
  159. package/dist/react/beam-partner-logos.js.map +1 -1
  160. package/dist/react/community-impact.esm.js +1 -1
  161. package/dist/react/community-impact.js +1 -1
  162. package/dist/react/cumulative-impact.esm.js +1 -1
  163. package/dist/react/cumulative-impact.js +1 -1
  164. package/dist/react/impact-overview.esm.js +1 -1
  165. package/dist/react/impact-overview.js +1 -1
  166. package/dist/react/index.d.ts +14 -14
  167. package/dist/react/index.esm.js +1 -1
  168. package/dist/react/index.js +1 -1
  169. package/dist/react/post-purchase.esm.js +1 -1
  170. package/dist/react/post-purchase.js +1 -1
  171. package/dist/react/product-details-page.d.ts +1 -1
  172. package/dist/react/product-details-page.esm.js +1 -1
  173. package/dist/react/product-details-page.js +1 -1
  174. package/dist/react/redeem-transaction.d.ts +2 -2
  175. package/dist/react/redeem-transaction.esm.js +1 -1
  176. package/dist/react/redeem-transaction.esm.js.map +1 -1
  177. package/dist/react/redeem-transaction.js +1 -1
  178. package/dist/react/redeem-transaction.js.map +1 -1
  179. package/dist/react/select-nonprofit.d.ts +2 -2
  180. package/dist/react/select-nonprofit.esm.js +1 -1
  181. package/dist/react/select-nonprofit.esm.js.map +1 -1
  182. package/dist/react/select-nonprofit.js +1 -1
  183. package/dist/react/select-nonprofit.js.map +1 -1
  184. package/dist/react/select-subscription-nonprofit.d.ts +2 -2
  185. package/dist/react/select-subscription-nonprofit.esm.js +1 -1
  186. package/dist/react/select-subscription-nonprofit.esm.js.map +1 -1
  187. package/dist/react/select-subscription-nonprofit.js +1 -1
  188. package/dist/react/select-subscription-nonprofit.js.map +1 -1
  189. package/dist/react/social-share.esm.js +1 -1
  190. package/dist/react/social-share.js +1 -1
  191. package/dist/react/subscription-impact.esm.js +1 -1
  192. package/dist/react/subscription-impact.js +1 -1
  193. package/dist/react/subscription-management.d.ts +1 -1
  194. package/dist/react/subscription-management.esm.js +1 -1
  195. package/dist/react/subscription-management.js +1 -1
  196. package/dist/utils/cookies.esm.js.map +1 -1
  197. package/dist/utils/cookies.js.map +1 -1
  198. package/dist/utils/events.d.ts +2 -2
  199. package/dist/utils/index.d.ts +2 -2
  200. package/dist/utils/makeApiKeyHeader.esm.js.map +1 -1
  201. package/dist/utils/makeApiKeyHeader.js.map +1 -1
  202. package/dist/utils/memoize-last.esm.js.map +1 -1
  203. package/dist/utils/memoize-last.js.map +1 -1
  204. package/dist/utils/network-listeners.esm.js.map +1 -1
  205. package/dist/utils/network-listeners.js.map +1 -1
  206. package/dist/utils/promoManager.d.ts +1 -1
  207. package/dist/utils/promoManager.esm.js.map +1 -1
  208. package/dist/utils/promoManager.js.map +1 -1
  209. package/dist/utils/wait-for-element.esm.js.map +1 -1
  210. package/dist/utils/wait-for-element.js.map +1 -1
  211. package/package.json +2 -2
  212. package/dist/chunks/index-8_I5ySms.esm.js +0 -2
  213. package/dist/chunks/index-8_I5ySms.esm.js.map +0 -1
  214. package/dist/chunks/index-CNk8n3rH.esm.js +0 -2
  215. package/dist/chunks/index-CNk8n3rH.esm.js.map +0 -1
  216. package/dist/chunks/index-CQNxdYCM.esm.js.map +0 -1
  217. package/dist/chunks/index-Cc56yRag.esm.js.map +0 -1
  218. package/dist/chunks/index-Cvwx-mJw.esm.js.map +0 -1
  219. package/dist/chunks/index-D4P62wPH.esm.js.map +0 -1
  220. package/dist/chunks/index-D9fJ0fnB.esm.js +0 -2
  221. package/dist/chunks/index-D9fJ0fnB.esm.js.map +0 -1
  222. package/dist/chunks/index-DuOCy5gV.esm.js +0 -2
  223. package/dist/chunks/index-DuOCy5gV.esm.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{waitForElement as t}from"../utils/wait-for-element.esm.js";import{getCookieValue as r,getCookieMap as o}from"../utils/cookies.esm.js";import{initNetworkListeners as W}from"../utils/network-listeners.esm.js";import{e as Z}from"../chunks/events-Dki0ka4F.esm.js";import{t as j,b as q,Z as z,x as D,C as G,v as H,E as J,X as K,s as Q,$ as R}from"../chunks/order-page-BrgnL0la.esm.js";import"../chunks/beam-errors-Ci0d3926.esm.js";import"../chunks/lodash-D3TLHRR_.esm.js";import"../utils/logger.esm.js";import"../utils/local-storage.esm.js";import"../utils/memoize-last.esm.js";import"../chunks/promo-types-DKAOFHJr.esm.js";import"../chunks/cart-contents-DkoytiZh.esm.js";import"../chunks/update-cart-_BGjED9E.esm.js";import"../chunks/routes-DzqKnt5D.esm.js";import"../utils/remote-session.esm.js";import"../utils/promoManager.esm.js";import"../utils/cart.esm.js";import"./post-purchase.esm.js";import"../chunks/lit-WqMxC_PA.esm.js";import"../chunks/enforce-config-CZ3ToOgr.esm.js";import"../chunks/localize-Btu9xYcE.esm.js";import"../chunks/index-B-y_clPF.esm.js";import"../chunks/progress-bar-DF7UuuHb.esm.js";import"../chunks/promo-pill-label-Fdt5WTOL.esm.js";import"../chunks/_share-dialog-dependencies-C9KUQdZi.esm.js";import"../chunks/vendor-KKSARHWL.esm.js";import"./beam-partner-logos.esm.js";import"../chunks/loading-template-DG4lkIIc.esm.js";import"../chunks/css-card-grid-CvoGpsJH.esm.js";import"./impact-overview.esm.js";import"../chunks/share-button-DOejRGE7.esm.js";import"../chunks/is-all-html-elements-fcB7UUA1.esm.js";import"../chunks/share-button-CnN0Q1m3.esm.js";import"../chunks/responsive-BR8qUfBa.esm.js";const i={waitForElement:t,getCookieMap:o,getCookieValue:r};export{j as addBeamAttributesToCart,q as appendBeamAttributesToCart,z as appendStatsigToShopifyCartAttributes,D as appendToShopifyCartBeamAttribute,Z as events,G as getBeamAttributesForCart,H as getCurrentCart,J as getShopifyCart,W as initNetworkListeners,K as registerCartIntegration,Q as showBeamOrderPageWidgets,R as trackCart,i as utils};
1
+ import{waitForElement as t}from"../utils/wait-for-element.esm.js";import{getCookieValue as r,getCookieMap as o}from"../utils/cookies.esm.js";import{initNetworkListeners as W}from"../utils/network-listeners.esm.js";import{e as Z}from"../chunks/events-Dki0ka4F.esm.js";import{t as j,b as q,Z as z,x as D,C as G,v as H,E as J,X as K,s as Q,$ as R}from"../chunks/order-page-BRG7MXZ2.esm.js";import"../chunks/beam-errors-Ci0d3926.esm.js";import"../chunks/lodash-D3TLHRR_.esm.js";import"../utils/logger.esm.js";import"../utils/local-storage.esm.js";import"../utils/memoize-last.esm.js";import"../chunks/promo-types-DKAOFHJr.esm.js";import"../chunks/cart-contents-DkoytiZh.esm.js";import"../chunks/update-cart-gwNcGXkd.esm.js";import"../chunks/routes-DguZveS3.esm.js";import"../utils/remote-session.esm.js";import"../utils/promoManager.esm.js";import"../utils/cart.esm.js";import"./post-purchase.esm.js";import"../chunks/lit-WqMxC_PA.esm.js";import"../chunks/enforce-config-CZ3ToOgr.esm.js";import"../chunks/localize-Btu9xYcE.esm.js";import"../chunks/index-C5gnsl34.esm.js";import"../chunks/progress-bar-DF7UuuHb.esm.js";import"../chunks/promo-pill-label-WGLW3bql.esm.js";import"../chunks/_share-dialog-dependencies-dHlBUqo0.esm.js";import"../chunks/vendor-KKSARHWL.esm.js";import"./beam-partner-logos.esm.js";import"../chunks/loading-template-DG4lkIIc.esm.js";import"../chunks/css-card-grid-CvoGpsJH.esm.js";import"./impact-overview.esm.js";import"../chunks/share-button-DmjRJmXh.esm.js";import"../chunks/is-all-html-elements-fcB7UUA1.esm.js";import"../chunks/share-button-M8cMa6ol.esm.js";import"../chunks/responsive-BR8qUfBa.esm.js";const i={waitForElement:t,getCookieMap:o,getCookieValue:r};export{j as addBeamAttributesToCart,q as appendBeamAttributesToCart,z as appendStatsigToShopifyCartAttributes,D as appendToShopifyCartBeamAttribute,Z as events,G as getBeamAttributesForCart,H as getCurrentCart,J as getShopifyCart,W as initNetworkListeners,K as registerCartIntegration,Q as showBeamOrderPageWidgets,R as trackCart,i as utils};
2
2
  //# sourceMappingURL=shopify.esm.js.map
@@ -1,2 +1,2 @@
1
- import{waitForElement as t}from"../utils/wait-for-element.js";import{getCookieValue as r,getCookieMap as o}from"../utils/cookies.js";import{initNetworkListeners as W}from"../utils/network-listeners.js";import{e as Z}from"../chunks/events-Dki0ka4F.esm.js";import{t as j,b as q,Z as z,x as D,C as G,v as H,E as J,X as K,s as Q,$ as R}from"../chunks/order-page-BVDbpEg3.esm.js";import"../chunks/beam-errors-Ci0d3926.esm.js";import"../chunks/lodash-D3TLHRR_.esm.js";import"../utils/logger.js";import"../utils/local-storage.js";import"../utils/memoize-last.js";import"../chunks/promo-types-DKAOFHJr.esm.js";import"../chunks/cart-contents-DkoytiZh.esm.js";import"../chunks/update-cart-BJPNyfQK.esm.js";import"../chunks/routes-DpniIBF7.esm.js";import"../utils/remote-session.js";import"../utils/promoManager.js";import"../utils/cart.js";import"./post-purchase.js";import"../chunks/lit-WqMxC_PA.esm.js";import"../chunks/enforce-config-Ba1JkOHs.esm.js";import"../chunks/localize-C25pEGnx.esm.js";import"../chunks/index-DkN5rVx1.esm.js";import"../chunks/progress-bar-DF7UuuHb.esm.js";import"../chunks/promo-pill-label-B5ymzjIe.esm.js";import"../chunks/_share-dialog-dependencies-BA9f_o0p.esm.js";import"../chunks/vendor-KKSARHWL.esm.js";import"./beam-partner-logos.js";import"../chunks/loading-template-DG4lkIIc.esm.js";import"../chunks/css-card-grid-CvoGpsJH.esm.js";import"./impact-overview.js";import"../chunks/share-button-B2RwMJdP.esm.js";import"../chunks/is-all-html-elements-fcB7UUA1.esm.js";import"../chunks/share-button-Gz4GlT28.esm.js";import"../chunks/responsive-BR8qUfBa.esm.js";const i={waitForElement:t,getCookieMap:o,getCookieValue:r};export{j as addBeamAttributesToCart,q as appendBeamAttributesToCart,z as appendStatsigToShopifyCartAttributes,D as appendToShopifyCartBeamAttribute,Z as events,G as getBeamAttributesForCart,H as getCurrentCart,J as getShopifyCart,W as initNetworkListeners,K as registerCartIntegration,Q as showBeamOrderPageWidgets,R as trackCart,i as utils};
1
+ import{waitForElement as t}from"../utils/wait-for-element.js";import{getCookieValue as r,getCookieMap as o}from"../utils/cookies.js";import{initNetworkListeners as W}from"../utils/network-listeners.js";import{e as Z}from"../chunks/events-Dki0ka4F.esm.js";import{t as j,b as q,Z as z,x as D,C as G,v as H,E as J,X as K,s as Q,$ as R}from"../chunks/order-page-BbHDQfmy.esm.js";import"../chunks/beam-errors-Ci0d3926.esm.js";import"../chunks/lodash-D3TLHRR_.esm.js";import"../utils/logger.js";import"../utils/local-storage.js";import"../utils/memoize-last.js";import"../chunks/promo-types-DKAOFHJr.esm.js";import"../chunks/cart-contents-DkoytiZh.esm.js";import"../chunks/update-cart-CJywJNax.esm.js";import"../chunks/routes-BvX92EDq.esm.js";import"../utils/remote-session.js";import"../utils/promoManager.js";import"../utils/cart.js";import"./post-purchase.js";import"../chunks/lit-WqMxC_PA.esm.js";import"../chunks/enforce-config-Ba1JkOHs.esm.js";import"../chunks/localize-C25pEGnx.esm.js";import"../chunks/index-2OQzw7UI.esm.js";import"../chunks/progress-bar-DF7UuuHb.esm.js";import"../chunks/promo-pill-label-ByFGhdxh.esm.js";import"../chunks/_share-dialog-dependencies-BG0p8uUr.esm.js";import"../chunks/vendor-KKSARHWL.esm.js";import"./beam-partner-logos.js";import"../chunks/loading-template-DG4lkIIc.esm.js";import"../chunks/css-card-grid-CvoGpsJH.esm.js";import"./impact-overview.js";import"../chunks/share-button-BRjKJc5L.esm.js";import"../chunks/is-all-html-elements-fcB7UUA1.esm.js";import"../chunks/share-button-DPNNnXeM.esm.js";import"../chunks/responsive-BR8qUfBa.esm.js";const i={waitForElement:t,getCookieMap:o,getCookieValue:r};export{j as addBeamAttributesToCart,q as appendBeamAttributesToCart,z as appendStatsigToShopifyCartAttributes,D as appendToShopifyCartBeamAttribute,Z as events,G as getBeamAttributesForCart,H as getCurrentCart,J as getShopifyCart,W as initNetworkListeners,K as registerCartIntegration,Q as showBeamOrderPageWidgets,R as trackCart,i as utils};
2
2
  //# sourceMappingURL=shopify.js.map
@@ -1,4 +1,4 @@
1
- import{f as m,g as o,t as n,h as g,y as f}from"../chunks/lit-WqMxC_PA.esm.js";import"../chunks/vendor-KKSARHWL.esm.js";import"../chunks/_share-dialog-dependencies-C9KUQdZi.esm.js";import"../chunks/progress-bar-DF7UuuHb.esm.js";import"./beam-partner-logos.esm.js";import{c as b,d as y,e as u}from"../chunks/enforce-config-CZ3ToOgr.esm.js";import{D as w,S as x,g as I,W as U}from"../chunks/routes-DzqKnt5D.esm.js";import{_ as S}from"../chunks/loading-template-DG4lkIIc.esm.js";import{u as d,s as r,p}from"../chunks/share-button-CnN0Q1m3.esm.js";import"../chunks/beam-errors-Ci0d3926.esm.js";import"../utils/logger.esm.js";import"../chunks/promo-types-DKAOFHJr.esm.js";var k=Object.defineProperty,a=(l,t,i,v)=>{for(var s=void 0,c=l.length-1,h;c>=0;c--)(h=l[c])&&(s=h(t,i,s)||s);return s&&k(t,i,s),s};class e extends g{constructor(){super(...arguments),this.baseUrl=w,this.lang="en",this.debug=!1,this.brandName=null,this.shareImageUrl=null,this.isMobile=!1,this.windowResized=!1,this.checkViewport=()=>{this.windowResized=window.innerWidth<=768}}get configLang(){return x[this.lang]||"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.checkViewport),this.checkViewport()}disconnectedCallback(){window.removeEventListener("resize",this.checkViewport),super.disconnectedCallback()}async fetchImpactData(){u(["apiKey","storeId","nonprofitId"],this);try{return await I({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{storeId:this.storeId,personalImpactLimit:0,nonprofitId:this.nonprofitId,widgetName:U.community_impact,version:"1.0.0",lang:this.configLang,transactionId:this.transactionId??void 0}})}catch(t){throw this.debug&&console.error("Failed to fetch impact data",t),t}}async updateImpactData(){try{const t=await this.fetchImpactData();if(t&&(this.brandName=t.chain.name,this.shareImageUrl=t.promoAssetUrl||t.personalImpactAssetUrl||t.community[0].share.imageUrl,this.shareImageUrl)){const i=await d(this.shareImageUrl);this.file=i,this.dataUrl=URL.createObjectURL(i)}}catch(t){this.debug&&console.error("Error updating impact data:",t)}}async firstUpdated(){await this.updateImpactData(),this.isMobile=/Mobi|Android/i.test(navigator.userAgent)||"ontouchstart"in window||navigator.maxTouchPoints>0}async openSystemShareSheet(t){if(t)try{const i=await d(t);navigator.share&&this.brandName&&await navigator.share({files:[i],title:r[this.lang].impactShareTitle(),text:r[this.lang].impactShareText({brandName:this.brandName})})}catch(i){this.debug&&console.error("Failed to open share sheet",i)}}async handleClickCopy(){if(this.file)try{this.apiKey&&this.transactionId?p({baseUrl:this.baseUrl,apiKey:this.apiKey||"",requestBody:{eventName:"ExtensibilityCopyImageButtonClick",nonprofitId:this.nonprofitId,storeId:this.storeId,timestamp:Date.now(),transactionId:Number(this.transactionId)}}).catch(()=>null):console.error("Missing data for social share analytics. Skipping send"),await navigator.clipboard.write([new ClipboardItem({"image/png":this.file})])}catch(t){this.debug&&console.error("Failed to copy image to clipboard:",t)}}handleClickDownload(t){this.apiKey&&this.transactionId?p({baseUrl:this.baseUrl,apiKey:this.apiKey||"",requestBody:{eventName:"ExtensibilityDownloadImageButtonClick",nonprofitId:this.nonprofitId,storeId:this.storeId,timestamp:Date.now(),transactionId:Number(this.transactionId)}}).catch(()=>null):console.error("Missing data for social share analytics. Skipping send");const i=t.currentTarget;this.isMobile&&this.shareImageUrl?(t.preventDefault(),this.openSystemShareSheet(this.shareImageUrl)):this.dataUrl&&(i.href=this.dataUrl,i.download=r[this.lang].impactShareTitle())}render(){return!this.brandName||!this.shareImageUrl||!this.dataUrl?S():f`
1
+ import{f as m,g as o,t as n,h as g,y as f}from"../chunks/lit-WqMxC_PA.esm.js";import"../chunks/vendor-KKSARHWL.esm.js";import"../chunks/_share-dialog-dependencies-dHlBUqo0.esm.js";import"../chunks/progress-bar-DF7UuuHb.esm.js";import"./beam-partner-logos.esm.js";import{c as b,d as y,e as u}from"../chunks/enforce-config-CZ3ToOgr.esm.js";import{D as w,S as x,g as I,W as U}from"../chunks/routes-DguZveS3.esm.js";import{_ as S}from"../chunks/loading-template-DG4lkIIc.esm.js";import{u as d,s as r,p}from"../chunks/share-button-M8cMa6ol.esm.js";import"../chunks/beam-errors-Ci0d3926.esm.js";import"../utils/logger.esm.js";import"../chunks/promo-types-DKAOFHJr.esm.js";var k=Object.defineProperty,a=(l,t,i,v)=>{for(var s=void 0,c=l.length-1,h;c>=0;c--)(h=l[c])&&(s=h(t,i,s)||s);return s&&k(t,i,s),s};class e extends g{constructor(){super(...arguments),this.baseUrl=w,this.lang="en",this.debug=!1,this.brandName=null,this.shareImageUrl=null,this.isMobile=!1,this.windowResized=!1,this.checkViewport=()=>{this.windowResized=window.innerWidth<=768}}get configLang(){return x[this.lang]||"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.checkViewport),this.checkViewport()}disconnectedCallback(){window.removeEventListener("resize",this.checkViewport),super.disconnectedCallback()}async fetchImpactData(){u(["apiKey","storeId","nonprofitId"],this);try{return await I({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{storeId:this.storeId,personalImpactLimit:0,nonprofitId:this.nonprofitId,widgetName:U.community_impact,version:"1.0.0",lang:this.configLang,transactionId:this.transactionId??void 0}})}catch(t){throw this.debug&&console.error("Failed to fetch impact data",t),t}}async updateImpactData(){try{const t=await this.fetchImpactData();if(t&&(this.brandName=t.chain.name,this.shareImageUrl=t.promoAssetUrl||t.personalImpactAssetUrl||t.community[0].share.imageUrl,this.shareImageUrl)){const i=await d(this.shareImageUrl);this.file=i,this.dataUrl=URL.createObjectURL(i)}}catch(t){this.debug&&console.error("Error updating impact data:",t)}}async firstUpdated(){await this.updateImpactData(),this.isMobile=/Mobi|Android/i.test(navigator.userAgent)||"ontouchstart"in window||navigator.maxTouchPoints>0}async openSystemShareSheet(t){if(t)try{const i=await d(t);navigator.share&&this.brandName&&await navigator.share({files:[i],title:r[this.lang].impactShareTitle(),text:r[this.lang].impactShareText({brandName:this.brandName})})}catch(i){this.debug&&console.error("Failed to open share sheet",i)}}async handleClickCopy(){if(this.file)try{this.apiKey&&this.transactionId?p({baseUrl:this.baseUrl,apiKey:this.apiKey||"",requestBody:{eventName:"ExtensibilityCopyImageButtonClick",nonprofitId:this.nonprofitId,storeId:this.storeId,timestamp:Date.now(),transactionId:Number(this.transactionId)}}).catch(()=>null):console.error("Missing data for social share analytics. Skipping send"),await navigator.clipboard.write([new ClipboardItem({"image/png":this.file})])}catch(t){this.debug&&console.error("Failed to copy image to clipboard:",t)}}handleClickDownload(t){this.apiKey&&this.transactionId?p({baseUrl:this.baseUrl,apiKey:this.apiKey||"",requestBody:{eventName:"ExtensibilityDownloadImageButtonClick",nonprofitId:this.nonprofitId,storeId:this.storeId,timestamp:Date.now(),transactionId:Number(this.transactionId)}}).catch(()=>null):console.error("Missing data for social share analytics. Skipping send");const i=t.currentTarget;this.isMobile&&this.shareImageUrl?(t.preventDefault(),this.openSystemShareSheet(this.shareImageUrl)):this.dataUrl&&(i.href=this.dataUrl,i.download=r[this.lang].impactShareTitle())}render(){return!this.brandName||!this.shareImageUrl||!this.dataUrl?S():f`
2
2
  <div class="share-container ${this.windowResized||this.isMobile?"mobile":"desktop"}">
3
3
  <h2 class="share-title">${r[this.lang].impactShareTitle()}</h2>
4
4
  <p class="share-text">${r[this.lang].impactShareText({brandName:this.brandName})}</p>
@@ -1 +1 @@
1
- {"version":3,"file":"social-share.esm.js","sources":["../../src/components/social-share/index.ts"],"sourcesContent":["import { css, html, LitElement } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport \"@shoelace-style/shoelace/dist/components/icon/icon.js\";\nimport \"../../shared/components/_share-dialog-dependencies\";\nimport \"../../shared/components/progress-bar\";\nimport \"../beam-partner-logos\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { getImpact } from \"../../api-sdk/v3/routes\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES, WIDGET_NAMES } from \"../../api-sdk/constants\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport { TNumericId } from \"../../shared/types\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { strings } from \"../../shared/components/strings/share-button\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { urlToFile } from \"../../shared/files\";\nimport { postSocialShareAnalyticsEvent } from \"../../api-sdk/v2/users/events\";\n\ntype RequiredConfig = {\n apiKey: string;\n storeId: TNumericId;\n nonprofitId: TNumericId;\n};\n\nexport class BeamSocialShare extends LitElement {\n static tagName = \"beam-social-share\";\n\n @property({ type: String }) public apiKey?: RequiredConfig[\"apiKey\"];\n @property({ type: Number }) storeId?: RequiredConfig[\"storeId\"];\n @property({ type: Number }) nonprofitId?: RequiredConfig[\"nonprofitId\"];\n @property({ type: String }) public baseUrl = DEFAULT_BASE_URL;\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n @property({ type: Boolean }) public debug = false;\n @property({ type: String }) transactionId?: string;\n\n @state() private brandName: string | null = null;\n @state() private shareImageUrl: string | null = null;\n @state() private dataUrl?: string;\n @state() private file?: File;\n @state() private isMobile = false;\n @state() private windowResized = false;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n connectedCallback() {\n super.connectedCallback();\n window.addEventListener(\"resize\", this.checkViewport);\n this.checkViewport();\n }\n\n disconnectedCallback() {\n window.removeEventListener(\"resize\", this.checkViewport);\n super.disconnectedCallback();\n }\n\n checkViewport = () => {\n this.windowResized = window.innerWidth <= 768;\n };\n\n private async fetchImpactData() {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"storeId\", \"nonprofitId\"], this)) {\n throw new MissingConfig();\n }\n try {\n const res = await getImpact({\n baseUrl: this.baseUrl,\n headers: { authorization: `Api-Key ${this.apiKey}` },\n queryParams: {\n storeId: this.storeId,\n personalImpactLimit: 0,\n nonprofitId: this.nonprofitId,\n widgetName: WIDGET_NAMES.community_impact,\n version: \"1.0.0\",\n lang: this.configLang,\n transactionId: this.transactionId ?? undefined,\n },\n });\n return res;\n } catch (error) {\n if (this.debug) {\n console.error(\"Failed to fetch impact data\", error);\n }\n throw error;\n }\n }\n\n // Updates component state with fetched impact data\n private async updateImpactData() {\n try {\n const data = await this.fetchImpactData();\n if (data) {\n this.brandName = data.chain.name;\n this.shareImageUrl = data.promoAssetUrl || data.personalImpactAssetUrl || data.community[0].share.imageUrl;\n\n if (this.shareImageUrl) {\n const file = await urlToFile(this.shareImageUrl);\n this.file = file;\n this.dataUrl = URL.createObjectURL(file);\n }\n }\n } catch (error) {\n if (this.debug) {\n console.error(\"Error updating impact data:\", error);\n }\n }\n }\n\n async firstUpdated() {\n await this.updateImpactData();\n this.isMobile =\n /Mobi|Android/i.test(navigator.userAgent) || \"ontouchstart\" in window || navigator.maxTouchPoints > 0;\n }\n\n private async openSystemShareSheet(imageUrl: string) {\n if (!imageUrl) return;\n\n try {\n const file = await urlToFile(imageUrl);\n if (navigator.share && this.brandName) {\n await navigator.share({\n files: [file],\n title: strings[this.lang].impactShareTitle(),\n text: strings[this.lang].impactShareText({ brandName: this.brandName }),\n });\n }\n } catch (error) {\n if (this.debug) {\n console.error(\"Failed to open share sheet\", error);\n }\n }\n }\n\n private async handleClickCopy() {\n if (this.file) {\n try {\n if (this.apiKey && this.transactionId) {\n void postSocialShareAnalyticsEvent({\n baseUrl: this.baseUrl,\n apiKey: this.apiKey || \"\",\n requestBody: {\n eventName: \"ExtensibilityCopyImageButtonClick\",\n nonprofitId: this.nonprofitId,\n storeId: this.storeId,\n timestamp: Date.now(),\n transactionId: Number(this.transactionId),\n },\n }).catch(() => null);\n } else {\n console.error(\"Missing data for social share analytics. Skipping send\");\n }\n await navigator.clipboard.write([new ClipboardItem({ \"image/png\": this.file })]);\n } catch (error) {\n if (this.debug) {\n console.error(\"Failed to copy image to clipboard:\", error);\n }\n }\n }\n }\n\n private handleClickDownload(event: Event) {\n if (this.apiKey && this.transactionId) {\n void postSocialShareAnalyticsEvent({\n baseUrl: this.baseUrl,\n apiKey: this.apiKey || \"\",\n requestBody: {\n eventName: \"ExtensibilityDownloadImageButtonClick\",\n nonprofitId: this.nonprofitId,\n storeId: this.storeId,\n timestamp: Date.now(),\n transactionId: Number(this.transactionId),\n },\n }).catch(() => null);\n } else {\n console.error(\"Missing data for social share analytics. Skipping send\");\n }\n const target = event.currentTarget as HTMLAnchorElement;\n if (this.isMobile && this.shareImageUrl) {\n event.preventDefault();\n this.openSystemShareSheet(this.shareImageUrl);\n } else if (this.dataUrl) {\n target.href = this.dataUrl;\n target.download = strings[this.lang].impactShareTitle();\n }\n }\n\n render() {\n if (!this.brandName || !this.shareImageUrl || !this.dataUrl) {\n return _loading();\n }\n\n return html`\n <div class=\"share-container ${this.windowResized || this.isMobile ? \"mobile\" : \"desktop\"}\">\n <h2 class=\"share-title\">${strings[this.lang].impactShareTitle()}</h2>\n <p class=\"share-text\">${strings[this.lang].impactShareText({ brandName: this.brandName })}</p>\n <img src=\"${this.shareImageUrl}\" alt=\"${strings[this.lang].impactShareTitle()}\" class=\"share-image\" />\n <div class=\"share-actions\">\n <button class=\"plain-button button share-action-button\" @click=\"${this.handleClickCopy}\">\n <sl-icon\n library=\"lucide\"\n name=\"copy\"\n label=\"${strings[this.lang].impactShareCopy()}\"\n class=\"share-action-icon\"\n ></sl-icon>\n <div class=\"share-action-text\">${strings[this.lang].impactShareCopy()}</div>\n </button>\n <a\n class=\"plain-button button share-action-button plain-link\"\n download=\"${strings[this.lang].impactShareTitle()}\"\n href=\"${this.dataUrl}\"\n @click=\"${this.handleClickDownload}\"\n >\n <sl-icon\n library=\"lucide\"\n name=\"download\"\n label=\"${strings[this.lang].impactShareDownload()}\"\n class=\"share-action-icon\"\n ></sl-icon>\n <div class=\"share-action-text\">${strings[this.lang].impactShareDownload()}</div>\n </a>\n </div>\n </div>\n `;\n }\n\n static styles = [\n cssReset,\n css`\n @font-face {\n font-family: \"Mabry-Bold\";\n src: url(\"../../../assets/fonts/mabry-bold.otf\") format(\"opentype\");\n font-weight: bold;\n font-style: normal;\n }\n @font-face {\n font-family: \"Mabry-Medium\";\n src: url(\"../../../assets/fonts/mabry-medium.otf\") format(\"opentype\");\n font-weight: bold;\n font-style: normal;\n }\n :host {\n align-items: center;\n justify-content: center;\n display: flex;\n box-sizing: border-box;\n width: 100%;\n }\n\n .share-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n max-width: 700px;\n text-align: center;\n }\n\n .share-container.mobile {\n padding: 1rem;\n max-width: 100%;\n }\n\n .share-title {\n font-family: \"Mabry-Bold\", sans-serif;\n font-size: 2.5rem;\n font-weight: bold;\n word-break: break-word;\n margin: 10px 0;\n }\n\n .share-title.mobile {\n font-size: 1.5rem;\n }\n\n .share-text {\n font-family: \"Mabry-Medium\", sans-serif;\n font-size: 1.25rem;\n line-height: 1.4;\n word-break: break-word;\n margin: 10px 0;\n max-width: 500px;\n }\n\n .share-text.mobile {\n font-size: 1rem;\n }\n\n .share-image {\n border-radius: 8px;\n width: 100%;\n max-width: 300px;\n height: auto;\n display: block;\n margin: 20px auto;\n }\n\n .share-actions {\n display: flex;\n flex-direction: row;\n justify-content: center;\n gap: 10px;\n align-items: center;\n margin: 20px 0;\n }\n\n .share-actions.mobile {\n flex-direction: column;\n }\n\n .share-action-button {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 10px 20px;\n border: 1px solid #ccc;\n border-radius: 4px;\n background-color: #fff;\n text-decoration: none;\n color: #333;\n cursor: pointer;\n transition: background-color 0.3s, border-color 0.3s;\n }\n\n .share-action-button:hover {\n background-color: #f0f0f0;\n border-color: #bbb;\n }\n\n .share-action-icon {\n font-size: 1.25rem;\n margin-right: 8px;\n }\n\n .share-action-text {\n font-family: \"Mabry-Medium\", sans-serif;\n font-size: 1rem;\n line-height: 1.4;\n margin-top: 5px;\n }\n\n @media (max-width: 600px) {\n .share-title {\n font-size: 1.5rem;\n }\n\n .share-text {\n font-size: 1rem;\n }\n\n .share-image {\n max-width: 240px;\n }\n\n .share-actions {\n flex-direction: row;\n width: 50%;\n margin: 10px 0;\n }\n\n .share-action-button {\n width: 100%;\n margin: 5px 0;\n }\n }\n `,\n ];\n}\n\ndefineCustomElement(BeamSocialShare);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-social-share\": BeamSocialShare;\n }\n}\n"],"names":["m","i","s","t","e","r","d","BeamSocialShare","LitElement","DEFAULT_BASE_URL","SUPPORTED_LANGUAGES","enforceConfig","getImpact","WIDGET_NAMES","error","data","file","urlToFile","imageUrl","strings","postSocialShareAnalyticsEvent","event","target","_loading","html","cssReset","css","__decorateClass","property","state","defineCustomElement"],"mappings":"0pBAAA,IAAAA,EAAA,OAAA,eAAAC,EAAA,CAAA,EAAAC,EAAAC,EAAAC,IAAA,CAAA,QAAAC,EAAA,OAAA,EAAA,EAAA,OAAA,EAAAC,EAAA,GAAA,EAAA,KAAAA,EAAA,EAAA,CAAA,KAAAD,EAAAC,EAAAJ,EAAAC,EAAAE,CAAA,GAAAA,GAAA,OAAAA,GAAAL,EAAAE,EAAAC,EAAAE,CAAA,EAAAA,CAAA,EAyBa,MAAAE,UAAwBC,CAAW,CAAzC,aAMuB,CAAA,MAAA,GAAA,SAAA,EAAA,KAAO,QAAUC,EACjB,KAAO,KAAkB,KACxB,KAAO,MAAQ,GAGnC,KAAQ,UAA2B,KACnC,KAAQ,cAA+B,KAGvC,KAAQ,SAAW,GACnB,KAAQ,cAAgB,GAiBjC,KAAgB,cAAA,IAAM,CACpB,KAAK,cAAgB,OAAO,YAAc,GAC5C,CAjBA,CAAA,IAAI,YAAa,CACf,OAAOC,EAAoB,KAAK,IAAI,GAAK,IAC3C,CAEA,mBAAoB,CAClB,MAAM,kBAAkB,EACxB,OAAO,iBAAiB,SAAU,KAAK,aAAa,EACpD,KAAK,cACP,CAAA,CAEA,sBAAuB,CACrB,OAAO,oBAAoB,SAAU,KAAK,aAAa,EACvD,MAAM,qBAAqB,CAC7B,CAMA,MAAc,iBAAkB,CACzBC,EAA8B,CAAC,SAAU,UAAW,aAAa,EAAG,IAAI,EAG7E,GAAI,CAcF,OAbY,MAAMC,EAAU,CAC1B,QAAS,KAAK,QACd,QAAS,CAAE,cAAe,WAAW,KAAK,MAAM,EAAG,EACnD,YAAa,CACX,QAAS,KAAK,QACd,oBAAqB,EACrB,YAAa,KAAK,YAClB,WAAYC,EAAa,iBACzB,QAAS,QACT,KAAM,KAAK,WACX,cAAe,KAAK,eAAiB,MACvC,CACF,CAAC,CAEH,OAASC,EAAO,CACd,MAAI,KAAK,OACP,QAAQ,MAAM,8BAA+BA,CAAK,EAE9CA,CACR,CACF,CAGA,MAAc,kBAAmB,CAC/B,GAAI,CACF,MAAMC,EAAO,MAAM,KAAK,gBAAA,EACxB,GAAIA,IACF,KAAK,UAAYA,EAAK,MAAM,KAC5B,KAAK,cAAgBA,EAAK,eAAiBA,EAAK,wBAA0BA,EAAK,UAAU,CAAC,EAAE,MAAM,SAE9F,KAAK,eAAe,CACtB,MAAMC,EAAO,MAAMC,EAAU,KAAK,aAAa,EAC/C,KAAK,KAAOD,EACZ,KAAK,QAAU,IAAI,gBAAgBA,CAAI,CACzC,CAEJ,OAASF,EAAO,CACV,KAAK,OACP,QAAQ,MAAM,8BAA+BA,CAAK,CAEtD,CACF,CAEA,MAAM,cAAe,CACnB,MAAM,KAAK,iBAAA,EACX,KAAK,SACH,gBAAgB,KAAK,UAAU,SAAS,GAAK,iBAAkB,QAAU,UAAU,eAAiB,CACxG,CAEA,MAAc,qBAAqBI,EAAkB,CACnD,GAAKA,EAEL,GAAI,CACF,MAAMF,EAAO,MAAMC,EAAUC,CAAQ,EACjC,UAAU,OAAS,KAAK,WAC1B,MAAM,UAAU,MAAM,CACpB,MAAO,CAACF,CAAI,EACZ,MAAOG,EAAQ,KAAK,IAAI,EAAE,iBAAiB,EAC3C,KAAMA,EAAQ,KAAK,IAAI,EAAE,gBAAgB,CAAE,UAAW,KAAK,SAAU,CAAC,CACxE,CAAC,CAEL,OAASL,EAAO,CACV,KAAK,OACP,QAAQ,MAAM,6BAA8BA,CAAK,CAErD,CACF,CAEA,MAAc,iBAAkB,CAC9B,GAAI,KAAK,KACP,GAAI,CACE,KAAK,QAAU,KAAK,cACjBM,EAA8B,CACjC,QAAS,KAAK,QACd,OAAQ,KAAK,QAAU,GACvB,YAAa,CACX,UAAW,oCACX,YAAa,KAAK,YAClB,QAAS,KAAK,QACd,UAAW,KAAK,IAChB,EAAA,cAAe,OAAO,KAAK,aAAa,CAC1C,CACF,CAAC,EAAE,MAAM,IAAM,IAAI,EAEnB,QAAQ,MAAM,wDAAwD,EAExE,MAAM,UAAU,UAAU,MAAM,CAAC,IAAI,cAAc,CAAE,YAAa,KAAK,IAAK,CAAC,CAAC,CAAC,CACjF,OAASN,EAAO,CACV,KAAK,OACP,QAAQ,MAAM,qCAAsCA,CAAK,CAE7D,CAEJ,CAEQ,oBAAoBO,EAAc,CACpC,KAAK,QAAU,KAAK,cACjBD,EAA8B,CACjC,QAAS,KAAK,QACd,OAAQ,KAAK,QAAU,GACvB,YAAa,CACX,UAAW,wCACX,YAAa,KAAK,YAClB,QAAS,KAAK,QACd,UAAW,KAAK,IAAI,EACpB,cAAe,OAAO,KAAK,aAAa,CAC1C,CACF,CAAC,EAAE,MAAM,IAAM,IAAI,EAEnB,QAAQ,MAAM,wDAAwD,EAExE,MAAME,EAASD,EAAM,cACjB,KAAK,UAAY,KAAK,eACxBA,EAAM,iBACN,KAAK,qBAAqB,KAAK,aAAa,GACnC,KAAK,UACdC,EAAO,KAAO,KAAK,QACnBA,EAAO,SAAWH,EAAQ,KAAK,IAAI,EAAE,mBAEzC,CAEA,QAAS,CACP,MAAI,CAAC,KAAK,WAAa,CAAC,KAAK,eAAiB,CAAC,KAAK,QAC3CI,EAGFC,EAAAA;AAAAA,oCACyB,KAAK,eAAiB,KAAK,SAAW,SAAW,SAAS;AAAA,kCAC5DL,EAAQ,KAAK,IAAI,EAAE,kBAAkB;AAAA,gCACvCA,EAAQ,KAAK,IAAI,EAAE,gBAAgB,CAAE,UAAW,KAAK,SAAU,CAAC,CAAC;AAAA,oBAC7E,KAAK,aAAa,UAAUA,EAAQ,KAAK,IAAI,EAAE,kBAAkB;AAAA;AAAA,4EAET,KAAK,eAAe;AAAA;AAAA;AAAA;AAAA,uBAIzEA,EAAQ,KAAK,IAAI,EAAE,iBAAiB;AAAA;AAAA;AAAA,6CAGdA,EAAQ,KAAK,IAAI,EAAE,iBAAiB;AAAA;AAAA;AAAA;AAAA,wBAIzDA,EAAQ,KAAK,IAAI,EAAE,kBAAkB;AAAA,oBACzC,KAAK,OAAO;AAAA,sBACV,KAAK,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA,uBAKvBA,EAAQ,KAAK,IAAI,EAAE,qBAAqB;AAAA;AAAA;AAAA,6CAGlBA,EAAQ,KAAK,IAAI,EAAE,qBAAqB;AAAA;AAAA;AAAA;AAAA,KAKnF,CA+IF,CAvVaZ,EACJ,QAAU,oBADNA,EA0MJ,OAAS,CACdkB,EACAC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,KA0IF,EAnVmCC,EAAA,CAAlCC,EAAS,CAAE,KAAM,MAAO,CAAC,CAHf,EAAArB,EAGwB,UACPoB,QAAAA,EAAAA,EAAA,CAA3BC,EAAS,CAAE,KAAM,MAAO,CAAC,CAAA,EAJfrB,EAIiB,UACAoB,SAAAA,EAAAA,EAAA,CAA3BC,EAAS,CAAE,KAAM,MAAO,CAAC,CAAA,EALfrB,EAKiB,UAAA,aAAA,EACOoB,EAAA,CAAlCC,EAAS,CAAE,KAAM,MAAO,CAAC,CANf,EAAArB,EAMwB,qBACAoB,EAAA,CAAlCC,EAAS,CAAE,KAAM,MAAO,CAAC,CAPf,EAAArB,EAOwB,UACCoB,MAAAA,EAAAA,EAAA,CAAnCC,EAAS,CAAE,KAAM,OAAQ,CAAC,CAAA,EARhBrB,EAQyB,UAAA,OAAA,EACRoB,EAAA,CAA3BC,EAAS,CAAE,KAAM,MAAO,CAAC,GATfrB,EASiB,UAAA,eAAA,EAEXoB,EAAA,CAAhBE,EAAM,CAAA,EAXItB,EAWM,UACAoB,WAAAA,EAAAA,EAAA,CAAhBE,EAZU,CAAA,EAAAtB,EAYM,2BACAoB,EAAA,CAAhBE,EAAM,CAAA,EAbItB,EAaM,UAAA,SAAA,EACAoB,EAAA,CAAhBE,EAAAA,CAdU,EAAAtB,EAcM,UACAoB,MAAAA,EAAAA,EAAA,CAAhBE,EAAM,CAAA,EAfItB,EAeM,UAAA,UAAA,EACAoB,EAAA,CAAhBE,GAhBU,EAAAtB,EAgBM,UAyUnBuB,eAAAA,EAAAA,EAAoBvB,CAAe"}
1
+ {"version":3,"file":"social-share.esm.js","sources":["../../src/components/social-share/index.ts"],"sourcesContent":["import { css, html, LitElement } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport \"@shoelace-style/shoelace/dist/components/icon/icon.js\";\nimport \"../../shared/components/_share-dialog-dependencies\";\nimport \"../../shared/components/progress-bar\";\nimport \"../beam-partner-logos\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { getImpact } from \"../../api-sdk/v3/routes\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES, WIDGET_NAMES } from \"../../api-sdk/constants\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport { TNumericId } from \"../../shared/types\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { strings } from \"../../shared/components/strings/share-button\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { urlToFile } from \"../../shared/files\";\nimport { postSocialShareAnalyticsEvent } from \"../../api-sdk/v2/users/events\";\n\ntype RequiredConfig = {\n apiKey: string;\n storeId: TNumericId;\n nonprofitId: TNumericId;\n};\n\nexport class BeamSocialShare extends LitElement {\n static tagName = \"beam-social-share\";\n\n @property({ type: String }) public apiKey?: RequiredConfig[\"apiKey\"];\n @property({ type: Number }) storeId?: RequiredConfig[\"storeId\"];\n @property({ type: Number }) nonprofitId?: RequiredConfig[\"nonprofitId\"];\n @property({ type: String }) public baseUrl = DEFAULT_BASE_URL;\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n @property({ type: Boolean }) public debug = false;\n @property({ type: String }) transactionId?: string;\n\n @state() private brandName: string | null = null;\n @state() private shareImageUrl: string | null = null;\n @state() private dataUrl?: string;\n @state() private file?: File;\n @state() private isMobile = false;\n @state() private windowResized = false;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n connectedCallback() {\n super.connectedCallback();\n window.addEventListener(\"resize\", this.checkViewport);\n this.checkViewport();\n }\n\n disconnectedCallback() {\n window.removeEventListener(\"resize\", this.checkViewport);\n super.disconnectedCallback();\n }\n\n checkViewport = () => {\n this.windowResized = window.innerWidth <= 768;\n };\n\n private async fetchImpactData() {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"storeId\", \"nonprofitId\"], this)) {\n throw new MissingConfig();\n }\n try {\n const res = await getImpact({\n baseUrl: this.baseUrl,\n headers: { authorization: `Api-Key ${this.apiKey}` },\n queryParams: {\n storeId: this.storeId,\n personalImpactLimit: 0,\n nonprofitId: this.nonprofitId,\n widgetName: WIDGET_NAMES.community_impact,\n version: \"1.0.0\",\n lang: this.configLang,\n transactionId: this.transactionId ?? undefined,\n },\n });\n return res;\n } catch (error) {\n if (this.debug) {\n console.error(\"Failed to fetch impact data\", error);\n }\n throw error;\n }\n }\n\n // Updates component state with fetched impact data\n private async updateImpactData() {\n try {\n const data = await this.fetchImpactData();\n if (data) {\n this.brandName = data.chain.name;\n this.shareImageUrl = data.promoAssetUrl || data.personalImpactAssetUrl || data.community[0].share.imageUrl;\n\n if (this.shareImageUrl) {\n const file = await urlToFile(this.shareImageUrl);\n this.file = file;\n this.dataUrl = URL.createObjectURL(file);\n }\n }\n } catch (error) {\n if (this.debug) {\n console.error(\"Error updating impact data:\", error);\n }\n }\n }\n\n async firstUpdated() {\n await this.updateImpactData();\n this.isMobile =\n /Mobi|Android/i.test(navigator.userAgent) || \"ontouchstart\" in window || navigator.maxTouchPoints > 0;\n }\n\n private async openSystemShareSheet(imageUrl: string) {\n if (!imageUrl) return;\n\n try {\n const file = await urlToFile(imageUrl);\n if (navigator.share && this.brandName) {\n await navigator.share({\n files: [file],\n title: strings[this.lang].impactShareTitle(),\n text: strings[this.lang].impactShareText({ brandName: this.brandName }),\n });\n }\n } catch (error) {\n if (this.debug) {\n console.error(\"Failed to open share sheet\", error);\n }\n }\n }\n\n private async handleClickCopy() {\n if (this.file) {\n try {\n if (this.apiKey && this.transactionId) {\n void postSocialShareAnalyticsEvent({\n baseUrl: this.baseUrl,\n apiKey: this.apiKey || \"\",\n requestBody: {\n eventName: \"ExtensibilityCopyImageButtonClick\",\n nonprofitId: this.nonprofitId,\n storeId: this.storeId,\n timestamp: Date.now(),\n transactionId: Number(this.transactionId),\n },\n }).catch(() => null);\n } else {\n console.error(\"Missing data for social share analytics. Skipping send\");\n }\n await navigator.clipboard.write([new ClipboardItem({ \"image/png\": this.file })]);\n } catch (error) {\n if (this.debug) {\n console.error(\"Failed to copy image to clipboard:\", error);\n }\n }\n }\n }\n\n private handleClickDownload(event: Event) {\n if (this.apiKey && this.transactionId) {\n void postSocialShareAnalyticsEvent({\n baseUrl: this.baseUrl,\n apiKey: this.apiKey || \"\",\n requestBody: {\n eventName: \"ExtensibilityDownloadImageButtonClick\",\n nonprofitId: this.nonprofitId,\n storeId: this.storeId,\n timestamp: Date.now(),\n transactionId: Number(this.transactionId),\n },\n }).catch(() => null);\n } else {\n console.error(\"Missing data for social share analytics. Skipping send\");\n }\n const target = event.currentTarget as HTMLAnchorElement;\n if (this.isMobile && this.shareImageUrl) {\n event.preventDefault();\n this.openSystemShareSheet(this.shareImageUrl);\n } else if (this.dataUrl) {\n target.href = this.dataUrl;\n target.download = strings[this.lang].impactShareTitle();\n }\n }\n\n render() {\n if (!this.brandName || !this.shareImageUrl || !this.dataUrl) {\n return _loading();\n }\n\n return html`\n <div class=\"share-container ${this.windowResized || this.isMobile ? \"mobile\" : \"desktop\"}\">\n <h2 class=\"share-title\">${strings[this.lang].impactShareTitle()}</h2>\n <p class=\"share-text\">${strings[this.lang].impactShareText({ brandName: this.brandName })}</p>\n <img src=\"${this.shareImageUrl}\" alt=\"${strings[this.lang].impactShareTitle()}\" class=\"share-image\" />\n <div class=\"share-actions\">\n <button class=\"plain-button button share-action-button\" @click=\"${this.handleClickCopy}\">\n <sl-icon\n library=\"lucide\"\n name=\"copy\"\n label=\"${strings[this.lang].impactShareCopy()}\"\n class=\"share-action-icon\"\n ></sl-icon>\n <div class=\"share-action-text\">${strings[this.lang].impactShareCopy()}</div>\n </button>\n <a\n class=\"plain-button button share-action-button plain-link\"\n download=\"${strings[this.lang].impactShareTitle()}\"\n href=\"${this.dataUrl}\"\n @click=\"${this.handleClickDownload}\"\n >\n <sl-icon\n library=\"lucide\"\n name=\"download\"\n label=\"${strings[this.lang].impactShareDownload()}\"\n class=\"share-action-icon\"\n ></sl-icon>\n <div class=\"share-action-text\">${strings[this.lang].impactShareDownload()}</div>\n </a>\n </div>\n </div>\n `;\n }\n\n static styles = [\n cssReset,\n css`\n @font-face {\n font-family: \"Mabry-Bold\";\n src: url(\"../../../assets/fonts/mabry-bold.otf\") format(\"opentype\");\n font-weight: bold;\n font-style: normal;\n }\n @font-face {\n font-family: \"Mabry-Medium\";\n src: url(\"../../../assets/fonts/mabry-medium.otf\") format(\"opentype\");\n font-weight: bold;\n font-style: normal;\n }\n :host {\n align-items: center;\n justify-content: center;\n display: flex;\n box-sizing: border-box;\n width: 100%;\n }\n\n .share-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n max-width: 700px;\n text-align: center;\n }\n\n .share-container.mobile {\n padding: 1rem;\n max-width: 100%;\n }\n\n .share-title {\n font-family: \"Mabry-Bold\", sans-serif;\n font-size: 2.5rem;\n font-weight: bold;\n word-break: break-word;\n margin: 10px 0;\n }\n\n .share-title.mobile {\n font-size: 1.5rem;\n }\n\n .share-text {\n font-family: \"Mabry-Medium\", sans-serif;\n font-size: 1.25rem;\n line-height: 1.4;\n word-break: break-word;\n margin: 10px 0;\n max-width: 500px;\n }\n\n .share-text.mobile {\n font-size: 1rem;\n }\n\n .share-image {\n border-radius: 8px;\n width: 100%;\n max-width: 300px;\n height: auto;\n display: block;\n margin: 20px auto;\n }\n\n .share-actions {\n display: flex;\n flex-direction: row;\n justify-content: center;\n gap: 10px;\n align-items: center;\n margin: 20px 0;\n }\n\n .share-actions.mobile {\n flex-direction: column;\n }\n\n .share-action-button {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 10px 20px;\n border: 1px solid #ccc;\n border-radius: 4px;\n background-color: #fff;\n text-decoration: none;\n color: #333;\n cursor: pointer;\n transition: background-color 0.3s, border-color 0.3s;\n }\n\n .share-action-button:hover {\n background-color: #f0f0f0;\n border-color: #bbb;\n }\n\n .share-action-icon {\n font-size: 1.25rem;\n margin-right: 8px;\n }\n\n .share-action-text {\n font-family: \"Mabry-Medium\", sans-serif;\n font-size: 1rem;\n line-height: 1.4;\n margin-top: 5px;\n }\n\n @media (max-width: 600px) {\n .share-title {\n font-size: 1.5rem;\n }\n\n .share-text {\n font-size: 1rem;\n }\n\n .share-image {\n max-width: 240px;\n }\n\n .share-actions {\n flex-direction: row;\n width: 50%;\n margin: 10px 0;\n }\n\n .share-action-button {\n width: 100%;\n margin: 5px 0;\n }\n }\n `,\n ];\n}\n\ndefineCustomElement(BeamSocialShare);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-social-share\": BeamSocialShare;\n }\n}\n"],"names":["m","i","s","t","e","r","d","BeamSocialShare","LitElement","DEFAULT_BASE_URL","SUPPORTED_LANGUAGES","enforceConfig","getImpact","WIDGET_NAMES","error","data","file","urlToFile","imageUrl","strings","postSocialShareAnalyticsEvent","event","target","_loading","html","cssReset","css","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{f as m,g as o,t as n,h as g,y as f}from"../chunks/lit-WqMxC_PA.esm.js";import"../chunks/vendor-KKSARHWL.esm.js";import"../chunks/_share-dialog-dependencies-BA9f_o0p.esm.js";import"../chunks/progress-bar-DF7UuuHb.esm.js";import"./beam-partner-logos.js";import{c as b,d as y,e as u}from"../chunks/enforce-config-Ba1JkOHs.esm.js";import{D as w,S as x,g as I,W as U}from"../chunks/routes-DpniIBF7.esm.js";import{_ as S}from"../chunks/loading-template-DG4lkIIc.esm.js";import{u as d,s as r,p}from"../chunks/share-button-Gz4GlT28.esm.js";import"../chunks/beam-errors-Ci0d3926.esm.js";import"../utils/logger.js";import"../chunks/promo-types-DKAOFHJr.esm.js";var k=Object.defineProperty,a=(l,t,i,v)=>{for(var s=void 0,c=l.length-1,h;c>=0;c--)(h=l[c])&&(s=h(t,i,s)||s);return s&&k(t,i,s),s};class e extends g{constructor(){super(...arguments),this.baseUrl=w,this.lang="en",this.debug=!1,this.brandName=null,this.shareImageUrl=null,this.isMobile=!1,this.windowResized=!1,this.checkViewport=()=>{this.windowResized=window.innerWidth<=768}}get configLang(){return x[this.lang]||"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.checkViewport),this.checkViewport()}disconnectedCallback(){window.removeEventListener("resize",this.checkViewport),super.disconnectedCallback()}async fetchImpactData(){u(["apiKey","storeId","nonprofitId"],this);try{return await I({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{storeId:this.storeId,personalImpactLimit:0,nonprofitId:this.nonprofitId,widgetName:U.community_impact,version:"1.0.0",lang:this.configLang,transactionId:this.transactionId??void 0}})}catch(t){throw this.debug&&console.error("Failed to fetch impact data",t),t}}async updateImpactData(){try{const t=await this.fetchImpactData();if(t&&(this.brandName=t.chain.name,this.shareImageUrl=t.promoAssetUrl||t.personalImpactAssetUrl||t.community[0].share.imageUrl,this.shareImageUrl)){const i=await d(this.shareImageUrl);this.file=i,this.dataUrl=URL.createObjectURL(i)}}catch(t){this.debug&&console.error("Error updating impact data:",t)}}async firstUpdated(){await this.updateImpactData(),this.isMobile=/Mobi|Android/i.test(navigator.userAgent)||"ontouchstart"in window||navigator.maxTouchPoints>0}async openSystemShareSheet(t){if(t)try{const i=await d(t);navigator.share&&this.brandName&&await navigator.share({files:[i],title:r[this.lang].impactShareTitle(),text:r[this.lang].impactShareText({brandName:this.brandName})})}catch(i){this.debug&&console.error("Failed to open share sheet",i)}}async handleClickCopy(){if(this.file)try{this.apiKey&&this.transactionId?p({baseUrl:this.baseUrl,apiKey:this.apiKey||"",requestBody:{eventName:"ExtensibilityCopyImageButtonClick",nonprofitId:this.nonprofitId,storeId:this.storeId,timestamp:Date.now(),transactionId:Number(this.transactionId)}}).catch(()=>null):console.error("Missing data for social share analytics. Skipping send"),await navigator.clipboard.write([new ClipboardItem({"image/png":this.file})])}catch(t){this.debug&&console.error("Failed to copy image to clipboard:",t)}}handleClickDownload(t){this.apiKey&&this.transactionId?p({baseUrl:this.baseUrl,apiKey:this.apiKey||"",requestBody:{eventName:"ExtensibilityDownloadImageButtonClick",nonprofitId:this.nonprofitId,storeId:this.storeId,timestamp:Date.now(),transactionId:Number(this.transactionId)}}).catch(()=>null):console.error("Missing data for social share analytics. Skipping send");const i=t.currentTarget;this.isMobile&&this.shareImageUrl?(t.preventDefault(),this.openSystemShareSheet(this.shareImageUrl)):this.dataUrl&&(i.href=this.dataUrl,i.download=r[this.lang].impactShareTitle())}render(){return!this.brandName||!this.shareImageUrl||!this.dataUrl?S():f`
1
+ import{f as m,g as o,t as n,h as g,y as f}from"../chunks/lit-WqMxC_PA.esm.js";import"../chunks/vendor-KKSARHWL.esm.js";import"../chunks/_share-dialog-dependencies-BG0p8uUr.esm.js";import"../chunks/progress-bar-DF7UuuHb.esm.js";import"./beam-partner-logos.js";import{c as b,d as y,e as u}from"../chunks/enforce-config-Ba1JkOHs.esm.js";import{D as w,S as x,g as I,W as U}from"../chunks/routes-BvX92EDq.esm.js";import{_ as S}from"../chunks/loading-template-DG4lkIIc.esm.js";import{u as d,s as r,p}from"../chunks/share-button-DPNNnXeM.esm.js";import"../chunks/beam-errors-Ci0d3926.esm.js";import"../utils/logger.js";import"../chunks/promo-types-DKAOFHJr.esm.js";var k=Object.defineProperty,a=(l,t,i,v)=>{for(var s=void 0,c=l.length-1,h;c>=0;c--)(h=l[c])&&(s=h(t,i,s)||s);return s&&k(t,i,s),s};class e extends g{constructor(){super(...arguments),this.baseUrl=w,this.lang="en",this.debug=!1,this.brandName=null,this.shareImageUrl=null,this.isMobile=!1,this.windowResized=!1,this.checkViewport=()=>{this.windowResized=window.innerWidth<=768}}get configLang(){return x[this.lang]||"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.checkViewport),this.checkViewport()}disconnectedCallback(){window.removeEventListener("resize",this.checkViewport),super.disconnectedCallback()}async fetchImpactData(){u(["apiKey","storeId","nonprofitId"],this);try{return await I({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{storeId:this.storeId,personalImpactLimit:0,nonprofitId:this.nonprofitId,widgetName:U.community_impact,version:"1.0.0",lang:this.configLang,transactionId:this.transactionId??void 0}})}catch(t){throw this.debug&&console.error("Failed to fetch impact data",t),t}}async updateImpactData(){try{const t=await this.fetchImpactData();if(t&&(this.brandName=t.chain.name,this.shareImageUrl=t.promoAssetUrl||t.personalImpactAssetUrl||t.community[0].share.imageUrl,this.shareImageUrl)){const i=await d(this.shareImageUrl);this.file=i,this.dataUrl=URL.createObjectURL(i)}}catch(t){this.debug&&console.error("Error updating impact data:",t)}}async firstUpdated(){await this.updateImpactData(),this.isMobile=/Mobi|Android/i.test(navigator.userAgent)||"ontouchstart"in window||navigator.maxTouchPoints>0}async openSystemShareSheet(t){if(t)try{const i=await d(t);navigator.share&&this.brandName&&await navigator.share({files:[i],title:r[this.lang].impactShareTitle(),text:r[this.lang].impactShareText({brandName:this.brandName})})}catch(i){this.debug&&console.error("Failed to open share sheet",i)}}async handleClickCopy(){if(this.file)try{this.apiKey&&this.transactionId?p({baseUrl:this.baseUrl,apiKey:this.apiKey||"",requestBody:{eventName:"ExtensibilityCopyImageButtonClick",nonprofitId:this.nonprofitId,storeId:this.storeId,timestamp:Date.now(),transactionId:Number(this.transactionId)}}).catch(()=>null):console.error("Missing data for social share analytics. Skipping send"),await navigator.clipboard.write([new ClipboardItem({"image/png":this.file})])}catch(t){this.debug&&console.error("Failed to copy image to clipboard:",t)}}handleClickDownload(t){this.apiKey&&this.transactionId?p({baseUrl:this.baseUrl,apiKey:this.apiKey||"",requestBody:{eventName:"ExtensibilityDownloadImageButtonClick",nonprofitId:this.nonprofitId,storeId:this.storeId,timestamp:Date.now(),transactionId:Number(this.transactionId)}}).catch(()=>null):console.error("Missing data for social share analytics. Skipping send");const i=t.currentTarget;this.isMobile&&this.shareImageUrl?(t.preventDefault(),this.openSystemShareSheet(this.shareImageUrl)):this.dataUrl&&(i.href=this.dataUrl,i.download=r[this.lang].impactShareTitle())}render(){return!this.brandName||!this.shareImageUrl||!this.dataUrl?S():f`
2
2
  <div class="share-container ${this.windowResized||this.isMobile?"mobile":"desktop"}">
3
3
  <h2 class="share-title">${r[this.lang].impactShareTitle()}</h2>
4
4
  <p class="share-text">${r[this.lang].impactShareText({brandName:this.brandName})}</p>
@@ -1 +1 @@
1
- {"version":3,"file":"social-share.js","sources":["../../src/components/social-share/index.ts"],"sourcesContent":["import { css, html, LitElement } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport \"@shoelace-style/shoelace/dist/components/icon/icon.js\";\nimport \"../../shared/components/_share-dialog-dependencies\";\nimport \"../../shared/components/progress-bar\";\nimport \"../beam-partner-logos\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { getImpact } from \"../../api-sdk/v3/routes\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES, WIDGET_NAMES } from \"../../api-sdk/constants\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport { TNumericId } from \"../../shared/types\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { strings } from \"../../shared/components/strings/share-button\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { urlToFile } from \"../../shared/files\";\nimport { postSocialShareAnalyticsEvent } from \"../../api-sdk/v2/users/events\";\n\ntype RequiredConfig = {\n apiKey: string;\n storeId: TNumericId;\n nonprofitId: TNumericId;\n};\n\nexport class BeamSocialShare extends LitElement {\n static tagName = \"beam-social-share\";\n\n @property({ type: String }) public apiKey?: RequiredConfig[\"apiKey\"];\n @property({ type: Number }) storeId?: RequiredConfig[\"storeId\"];\n @property({ type: Number }) nonprofitId?: RequiredConfig[\"nonprofitId\"];\n @property({ type: String }) public baseUrl = DEFAULT_BASE_URL;\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n @property({ type: Boolean }) public debug = false;\n @property({ type: String }) transactionId?: string;\n\n @state() private brandName: string | null = null;\n @state() private shareImageUrl: string | null = null;\n @state() private dataUrl?: string;\n @state() private file?: File;\n @state() private isMobile = false;\n @state() private windowResized = false;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n connectedCallback() {\n super.connectedCallback();\n window.addEventListener(\"resize\", this.checkViewport);\n this.checkViewport();\n }\n\n disconnectedCallback() {\n window.removeEventListener(\"resize\", this.checkViewport);\n super.disconnectedCallback();\n }\n\n checkViewport = () => {\n this.windowResized = window.innerWidth <= 768;\n };\n\n private async fetchImpactData() {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"storeId\", \"nonprofitId\"], this)) {\n throw new MissingConfig();\n }\n try {\n const res = await getImpact({\n baseUrl: this.baseUrl,\n headers: { authorization: `Api-Key ${this.apiKey}` },\n queryParams: {\n storeId: this.storeId,\n personalImpactLimit: 0,\n nonprofitId: this.nonprofitId,\n widgetName: WIDGET_NAMES.community_impact,\n version: \"1.0.0\",\n lang: this.configLang,\n transactionId: this.transactionId ?? undefined,\n },\n });\n return res;\n } catch (error) {\n if (this.debug) {\n console.error(\"Failed to fetch impact data\", error);\n }\n throw error;\n }\n }\n\n // Updates component state with fetched impact data\n private async updateImpactData() {\n try {\n const data = await this.fetchImpactData();\n if (data) {\n this.brandName = data.chain.name;\n this.shareImageUrl = data.promoAssetUrl || data.personalImpactAssetUrl || data.community[0].share.imageUrl;\n\n if (this.shareImageUrl) {\n const file = await urlToFile(this.shareImageUrl);\n this.file = file;\n this.dataUrl = URL.createObjectURL(file);\n }\n }\n } catch (error) {\n if (this.debug) {\n console.error(\"Error updating impact data:\", error);\n }\n }\n }\n\n async firstUpdated() {\n await this.updateImpactData();\n this.isMobile =\n /Mobi|Android/i.test(navigator.userAgent) || \"ontouchstart\" in window || navigator.maxTouchPoints > 0;\n }\n\n private async openSystemShareSheet(imageUrl: string) {\n if (!imageUrl) return;\n\n try {\n const file = await urlToFile(imageUrl);\n if (navigator.share && this.brandName) {\n await navigator.share({\n files: [file],\n title: strings[this.lang].impactShareTitle(),\n text: strings[this.lang].impactShareText({ brandName: this.brandName }),\n });\n }\n } catch (error) {\n if (this.debug) {\n console.error(\"Failed to open share sheet\", error);\n }\n }\n }\n\n private async handleClickCopy() {\n if (this.file) {\n try {\n if (this.apiKey && this.transactionId) {\n void postSocialShareAnalyticsEvent({\n baseUrl: this.baseUrl,\n apiKey: this.apiKey || \"\",\n requestBody: {\n eventName: \"ExtensibilityCopyImageButtonClick\",\n nonprofitId: this.nonprofitId,\n storeId: this.storeId,\n timestamp: Date.now(),\n transactionId: Number(this.transactionId),\n },\n }).catch(() => null);\n } else {\n console.error(\"Missing data for social share analytics. Skipping send\");\n }\n await navigator.clipboard.write([new ClipboardItem({ \"image/png\": this.file })]);\n } catch (error) {\n if (this.debug) {\n console.error(\"Failed to copy image to clipboard:\", error);\n }\n }\n }\n }\n\n private handleClickDownload(event: Event) {\n if (this.apiKey && this.transactionId) {\n void postSocialShareAnalyticsEvent({\n baseUrl: this.baseUrl,\n apiKey: this.apiKey || \"\",\n requestBody: {\n eventName: \"ExtensibilityDownloadImageButtonClick\",\n nonprofitId: this.nonprofitId,\n storeId: this.storeId,\n timestamp: Date.now(),\n transactionId: Number(this.transactionId),\n },\n }).catch(() => null);\n } else {\n console.error(\"Missing data for social share analytics. Skipping send\");\n }\n const target = event.currentTarget as HTMLAnchorElement;\n if (this.isMobile && this.shareImageUrl) {\n event.preventDefault();\n this.openSystemShareSheet(this.shareImageUrl);\n } else if (this.dataUrl) {\n target.href = this.dataUrl;\n target.download = strings[this.lang].impactShareTitle();\n }\n }\n\n render() {\n if (!this.brandName || !this.shareImageUrl || !this.dataUrl) {\n return _loading();\n }\n\n return html`\n <div class=\"share-container ${this.windowResized || this.isMobile ? \"mobile\" : \"desktop\"}\">\n <h2 class=\"share-title\">${strings[this.lang].impactShareTitle()}</h2>\n <p class=\"share-text\">${strings[this.lang].impactShareText({ brandName: this.brandName })}</p>\n <img src=\"${this.shareImageUrl}\" alt=\"${strings[this.lang].impactShareTitle()}\" class=\"share-image\" />\n <div class=\"share-actions\">\n <button class=\"plain-button button share-action-button\" @click=\"${this.handleClickCopy}\">\n <sl-icon\n library=\"lucide\"\n name=\"copy\"\n label=\"${strings[this.lang].impactShareCopy()}\"\n class=\"share-action-icon\"\n ></sl-icon>\n <div class=\"share-action-text\">${strings[this.lang].impactShareCopy()}</div>\n </button>\n <a\n class=\"plain-button button share-action-button plain-link\"\n download=\"${strings[this.lang].impactShareTitle()}\"\n href=\"${this.dataUrl}\"\n @click=\"${this.handleClickDownload}\"\n >\n <sl-icon\n library=\"lucide\"\n name=\"download\"\n label=\"${strings[this.lang].impactShareDownload()}\"\n class=\"share-action-icon\"\n ></sl-icon>\n <div class=\"share-action-text\">${strings[this.lang].impactShareDownload()}</div>\n </a>\n </div>\n </div>\n `;\n }\n\n static styles = [\n cssReset,\n css`\n @font-face {\n font-family: \"Mabry-Bold\";\n src: url(\"../../../assets/fonts/mabry-bold.otf\") format(\"opentype\");\n font-weight: bold;\n font-style: normal;\n }\n @font-face {\n font-family: \"Mabry-Medium\";\n src: url(\"../../../assets/fonts/mabry-medium.otf\") format(\"opentype\");\n font-weight: bold;\n font-style: normal;\n }\n :host {\n align-items: center;\n justify-content: center;\n display: flex;\n box-sizing: border-box;\n width: 100%;\n }\n\n .share-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n max-width: 700px;\n text-align: center;\n }\n\n .share-container.mobile {\n padding: 1rem;\n max-width: 100%;\n }\n\n .share-title {\n font-family: \"Mabry-Bold\", sans-serif;\n font-size: 2.5rem;\n font-weight: bold;\n word-break: break-word;\n margin: 10px 0;\n }\n\n .share-title.mobile {\n font-size: 1.5rem;\n }\n\n .share-text {\n font-family: \"Mabry-Medium\", sans-serif;\n font-size: 1.25rem;\n line-height: 1.4;\n word-break: break-word;\n margin: 10px 0;\n max-width: 500px;\n }\n\n .share-text.mobile {\n font-size: 1rem;\n }\n\n .share-image {\n border-radius: 8px;\n width: 100%;\n max-width: 300px;\n height: auto;\n display: block;\n margin: 20px auto;\n }\n\n .share-actions {\n display: flex;\n flex-direction: row;\n justify-content: center;\n gap: 10px;\n align-items: center;\n margin: 20px 0;\n }\n\n .share-actions.mobile {\n flex-direction: column;\n }\n\n .share-action-button {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 10px 20px;\n border: 1px solid #ccc;\n border-radius: 4px;\n background-color: #fff;\n text-decoration: none;\n color: #333;\n cursor: pointer;\n transition: background-color 0.3s, border-color 0.3s;\n }\n\n .share-action-button:hover {\n background-color: #f0f0f0;\n border-color: #bbb;\n }\n\n .share-action-icon {\n font-size: 1.25rem;\n margin-right: 8px;\n }\n\n .share-action-text {\n font-family: \"Mabry-Medium\", sans-serif;\n font-size: 1rem;\n line-height: 1.4;\n margin-top: 5px;\n }\n\n @media (max-width: 600px) {\n .share-title {\n font-size: 1.5rem;\n }\n\n .share-text {\n font-size: 1rem;\n }\n\n .share-image {\n max-width: 240px;\n }\n\n .share-actions {\n flex-direction: row;\n width: 50%;\n margin: 10px 0;\n }\n\n .share-action-button {\n width: 100%;\n margin: 5px 0;\n }\n }\n `,\n ];\n}\n\ndefineCustomElement(BeamSocialShare);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-social-share\": BeamSocialShare;\n }\n}\n"],"names":["m","i","s","t","e","r","d","BeamSocialShare","LitElement","DEFAULT_BASE_URL","SUPPORTED_LANGUAGES","enforceConfig","getImpact","WIDGET_NAMES","error","data","file","urlToFile","imageUrl","strings","postSocialShareAnalyticsEvent","event","target","_loading","html","cssReset","css","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
1
+ {"version":3,"file":"social-share.js","sources":["../../src/components/social-share/index.ts"],"sourcesContent":["import { css, html, LitElement } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport \"@shoelace-style/shoelace/dist/components/icon/icon.js\";\nimport \"../../shared/components/_share-dialog-dependencies\";\nimport \"../../shared/components/progress-bar\";\nimport \"../beam-partner-logos\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { getImpact } from \"../../api-sdk/v3/routes\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES, WIDGET_NAMES } from \"../../api-sdk/constants\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport { TNumericId } from \"../../shared/types\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { strings } from \"../../shared/components/strings/share-button\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { urlToFile } from \"../../shared/files\";\nimport { postSocialShareAnalyticsEvent } from \"../../api-sdk/v2/users/events\";\n\ntype RequiredConfig = {\n apiKey: string;\n storeId: TNumericId;\n nonprofitId: TNumericId;\n};\n\nexport class BeamSocialShare extends LitElement {\n static tagName = \"beam-social-share\";\n\n @property({ type: String }) public apiKey?: RequiredConfig[\"apiKey\"];\n @property({ type: Number }) storeId?: RequiredConfig[\"storeId\"];\n @property({ type: Number }) nonprofitId?: RequiredConfig[\"nonprofitId\"];\n @property({ type: String }) public baseUrl = DEFAULT_BASE_URL;\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n @property({ type: Boolean }) public debug = false;\n @property({ type: String }) transactionId?: string;\n\n @state() private brandName: string | null = null;\n @state() private shareImageUrl: string | null = null;\n @state() private dataUrl?: string;\n @state() private file?: File;\n @state() private isMobile = false;\n @state() private windowResized = false;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n connectedCallback() {\n super.connectedCallback();\n window.addEventListener(\"resize\", this.checkViewport);\n this.checkViewport();\n }\n\n disconnectedCallback() {\n window.removeEventListener(\"resize\", this.checkViewport);\n super.disconnectedCallback();\n }\n\n checkViewport = () => {\n this.windowResized = window.innerWidth <= 768;\n };\n\n private async fetchImpactData() {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"storeId\", \"nonprofitId\"], this)) {\n throw new MissingConfig();\n }\n try {\n const res = await getImpact({\n baseUrl: this.baseUrl,\n headers: { authorization: `Api-Key ${this.apiKey}` },\n queryParams: {\n storeId: this.storeId,\n personalImpactLimit: 0,\n nonprofitId: this.nonprofitId,\n widgetName: WIDGET_NAMES.community_impact,\n version: \"1.0.0\",\n lang: this.configLang,\n transactionId: this.transactionId ?? undefined,\n },\n });\n return res;\n } catch (error) {\n if (this.debug) {\n console.error(\"Failed to fetch impact data\", error);\n }\n throw error;\n }\n }\n\n // Updates component state with fetched impact data\n private async updateImpactData() {\n try {\n const data = await this.fetchImpactData();\n if (data) {\n this.brandName = data.chain.name;\n this.shareImageUrl = data.promoAssetUrl || data.personalImpactAssetUrl || data.community[0].share.imageUrl;\n\n if (this.shareImageUrl) {\n const file = await urlToFile(this.shareImageUrl);\n this.file = file;\n this.dataUrl = URL.createObjectURL(file);\n }\n }\n } catch (error) {\n if (this.debug) {\n console.error(\"Error updating impact data:\", error);\n }\n }\n }\n\n async firstUpdated() {\n await this.updateImpactData();\n this.isMobile =\n /Mobi|Android/i.test(navigator.userAgent) || \"ontouchstart\" in window || navigator.maxTouchPoints > 0;\n }\n\n private async openSystemShareSheet(imageUrl: string) {\n if (!imageUrl) return;\n\n try {\n const file = await urlToFile(imageUrl);\n if (navigator.share && this.brandName) {\n await navigator.share({\n files: [file],\n title: strings[this.lang].impactShareTitle(),\n text: strings[this.lang].impactShareText({ brandName: this.brandName }),\n });\n }\n } catch (error) {\n if (this.debug) {\n console.error(\"Failed to open share sheet\", error);\n }\n }\n }\n\n private async handleClickCopy() {\n if (this.file) {\n try {\n if (this.apiKey && this.transactionId) {\n void postSocialShareAnalyticsEvent({\n baseUrl: this.baseUrl,\n apiKey: this.apiKey || \"\",\n requestBody: {\n eventName: \"ExtensibilityCopyImageButtonClick\",\n nonprofitId: this.nonprofitId,\n storeId: this.storeId,\n timestamp: Date.now(),\n transactionId: Number(this.transactionId),\n },\n }).catch(() => null);\n } else {\n console.error(\"Missing data for social share analytics. Skipping send\");\n }\n await navigator.clipboard.write([new ClipboardItem({ \"image/png\": this.file })]);\n } catch (error) {\n if (this.debug) {\n console.error(\"Failed to copy image to clipboard:\", error);\n }\n }\n }\n }\n\n private handleClickDownload(event: Event) {\n if (this.apiKey && this.transactionId) {\n void postSocialShareAnalyticsEvent({\n baseUrl: this.baseUrl,\n apiKey: this.apiKey || \"\",\n requestBody: {\n eventName: \"ExtensibilityDownloadImageButtonClick\",\n nonprofitId: this.nonprofitId,\n storeId: this.storeId,\n timestamp: Date.now(),\n transactionId: Number(this.transactionId),\n },\n }).catch(() => null);\n } else {\n console.error(\"Missing data for social share analytics. Skipping send\");\n }\n const target = event.currentTarget as HTMLAnchorElement;\n if (this.isMobile && this.shareImageUrl) {\n event.preventDefault();\n this.openSystemShareSheet(this.shareImageUrl);\n } else if (this.dataUrl) {\n target.href = this.dataUrl;\n target.download = strings[this.lang].impactShareTitle();\n }\n }\n\n render() {\n if (!this.brandName || !this.shareImageUrl || !this.dataUrl) {\n return _loading();\n }\n\n return html`\n <div class=\"share-container ${this.windowResized || this.isMobile ? \"mobile\" : \"desktop\"}\">\n <h2 class=\"share-title\">${strings[this.lang].impactShareTitle()}</h2>\n <p class=\"share-text\">${strings[this.lang].impactShareText({ brandName: this.brandName })}</p>\n <img src=\"${this.shareImageUrl}\" alt=\"${strings[this.lang].impactShareTitle()}\" class=\"share-image\" />\n <div class=\"share-actions\">\n <button class=\"plain-button button share-action-button\" @click=\"${this.handleClickCopy}\">\n <sl-icon\n library=\"lucide\"\n name=\"copy\"\n label=\"${strings[this.lang].impactShareCopy()}\"\n class=\"share-action-icon\"\n ></sl-icon>\n <div class=\"share-action-text\">${strings[this.lang].impactShareCopy()}</div>\n </button>\n <a\n class=\"plain-button button share-action-button plain-link\"\n download=\"${strings[this.lang].impactShareTitle()}\"\n href=\"${this.dataUrl}\"\n @click=\"${this.handleClickDownload}\"\n >\n <sl-icon\n library=\"lucide\"\n name=\"download\"\n label=\"${strings[this.lang].impactShareDownload()}\"\n class=\"share-action-icon\"\n ></sl-icon>\n <div class=\"share-action-text\">${strings[this.lang].impactShareDownload()}</div>\n </a>\n </div>\n </div>\n `;\n }\n\n static styles = [\n cssReset,\n css`\n @font-face {\n font-family: \"Mabry-Bold\";\n src: url(\"../../../assets/fonts/mabry-bold.otf\") format(\"opentype\");\n font-weight: bold;\n font-style: normal;\n }\n @font-face {\n font-family: \"Mabry-Medium\";\n src: url(\"../../../assets/fonts/mabry-medium.otf\") format(\"opentype\");\n font-weight: bold;\n font-style: normal;\n }\n :host {\n align-items: center;\n justify-content: center;\n display: flex;\n box-sizing: border-box;\n width: 100%;\n }\n\n .share-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n max-width: 700px;\n text-align: center;\n }\n\n .share-container.mobile {\n padding: 1rem;\n max-width: 100%;\n }\n\n .share-title {\n font-family: \"Mabry-Bold\", sans-serif;\n font-size: 2.5rem;\n font-weight: bold;\n word-break: break-word;\n margin: 10px 0;\n }\n\n .share-title.mobile {\n font-size: 1.5rem;\n }\n\n .share-text {\n font-family: \"Mabry-Medium\", sans-serif;\n font-size: 1.25rem;\n line-height: 1.4;\n word-break: break-word;\n margin: 10px 0;\n max-width: 500px;\n }\n\n .share-text.mobile {\n font-size: 1rem;\n }\n\n .share-image {\n border-radius: 8px;\n width: 100%;\n max-width: 300px;\n height: auto;\n display: block;\n margin: 20px auto;\n }\n\n .share-actions {\n display: flex;\n flex-direction: row;\n justify-content: center;\n gap: 10px;\n align-items: center;\n margin: 20px 0;\n }\n\n .share-actions.mobile {\n flex-direction: column;\n }\n\n .share-action-button {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 10px 20px;\n border: 1px solid #ccc;\n border-radius: 4px;\n background-color: #fff;\n text-decoration: none;\n color: #333;\n cursor: pointer;\n transition: background-color 0.3s, border-color 0.3s;\n }\n\n .share-action-button:hover {\n background-color: #f0f0f0;\n border-color: #bbb;\n }\n\n .share-action-icon {\n font-size: 1.25rem;\n margin-right: 8px;\n }\n\n .share-action-text {\n font-family: \"Mabry-Medium\", sans-serif;\n font-size: 1rem;\n line-height: 1.4;\n margin-top: 5px;\n }\n\n @media (max-width: 600px) {\n .share-title {\n font-size: 1.5rem;\n }\n\n .share-text {\n font-size: 1rem;\n }\n\n .share-image {\n max-width: 240px;\n }\n\n .share-actions {\n flex-direction: row;\n width: 50%;\n margin: 10px 0;\n }\n\n .share-action-button {\n width: 100%;\n margin: 5px 0;\n }\n }\n `,\n ];\n}\n\ndefineCustomElement(BeamSocialShare);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-social-share\": BeamSocialShare;\n }\n}\n"],"names":["m","i","s","t","e","r","d","BeamSocialShare","LitElement","DEFAULT_BASE_URL","SUPPORTED_LANGUAGES","enforceConfig","getImpact","WIDGET_NAMES","error","data","file","urlToFile","imageUrl","strings","postSocialShareAnalyticsEvent","event","target","_loading","html","cssReset","css","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
@@ -175,7 +175,7 @@ declare class BeamSubscriptionImpact extends LitElement {
175
175
  get cssVariables(): any;
176
176
  evaluateBreakPoints: lodash.DebouncedFuncLeading<() => void>;
177
177
  resizeElements: lodash.DebouncedFuncLeading<() => void>;
178
- render(): lit_html.TemplateResult<1> | "";
178
+ render(): "" | lit_html.TemplateResult<1>;
179
179
  renderInlineCard(impactCard: {
180
180
  title: string;
181
181
  description: string;
@@ -1,4 +1,4 @@
1
- import{h as w,f as $,y as p,g as m,t as O,p as C}from"../chunks/lit-WqMxC_PA.esm.js";import{d as z,b as G}from"../chunks/lodash-D3TLHRR_.esm.js";import{p as Y}from"../chunks/progress-bar-DF7UuuHb.esm.js";import{s as S,a as K}from"../chunks/share-button-DOejRGE7.esm.js";import"../chunks/_share-dialog-dependencies-C9KUQdZi.esm.js";import"../chunks/vendor-KKSARHWL.esm.js";import{D as q,g as J,S as Q}from"../chunks/routes-DzqKnt5D.esm.js";import{u as b,A as X,d as u,a as Z,_ as ee,i as n}from"../chunks/localize-Btu9xYcE.esm.js";import{c as ie,d as ae,e as te}from"../chunks/enforce-config-CZ3ToOgr.esm.js";import{_ as ne}from"../chunks/loading-template-DG4lkIIc.esm.js";import{makeApiKeyHeader as re}from"../utils/makeApiKeyHeader.esm.js";import{c as oe}from"../chunks/responsive-BR8qUfBa.esm.js";import{logger as se}from"../utils/logger.esm.js";import{c as ce}from"../chunks/css-card-grid-CvoGpsJH.esm.js";import"../chunks/is-all-html-elements-fcB7UUA1.esm.js";import"../chunks/share-button-CnN0Q1m3.esm.js";import"../chunks/promo-types-DKAOFHJr.esm.js";import"../chunks/beam-errors-Ci0d3926.esm.js";var pe=Object.defineProperty,me=(i,e,r,l)=>{for(var t=void 0,a=i.length-1,d;a>=0;a--)(d=i[a])&&(t=d(e,r,t)||t);return t&&pe(e,r,t),t};class A extends w{constructor(){super(...arguments),this.infoText=""}static get styles(){return $`
1
+ import{h as w,f as $,y as p,g as m,t as O,p as C}from"../chunks/lit-WqMxC_PA.esm.js";import{d as z,b as G}from"../chunks/lodash-D3TLHRR_.esm.js";import{p as Y}from"../chunks/progress-bar-DF7UuuHb.esm.js";import{s as S,a as K}from"../chunks/share-button-DmjRJmXh.esm.js";import"../chunks/_share-dialog-dependencies-dHlBUqo0.esm.js";import"../chunks/vendor-KKSARHWL.esm.js";import{D as q,g as J,S as Q}from"../chunks/routes-DguZveS3.esm.js";import{u as b,A as X,d as u,a as Z,_ as ee,i as n}from"../chunks/localize-Btu9xYcE.esm.js";import{c as ie,d as ae,e as te}from"../chunks/enforce-config-CZ3ToOgr.esm.js";import{_ as ne}from"../chunks/loading-template-DG4lkIIc.esm.js";import{makeApiKeyHeader as re}from"../utils/makeApiKeyHeader.esm.js";import{c as oe}from"../chunks/responsive-BR8qUfBa.esm.js";import{logger as se}from"../utils/logger.esm.js";import{c as ce}from"../chunks/css-card-grid-CvoGpsJH.esm.js";import"../chunks/is-all-html-elements-fcB7UUA1.esm.js";import"../chunks/share-button-M8cMa6ol.esm.js";import"../chunks/promo-types-DKAOFHJr.esm.js";import"../chunks/beam-errors-Ci0d3926.esm.js";var pe=Object.defineProperty,me=(i,e,r,l)=>{for(var t=void 0,a=i.length-1,d;a>=0;a--)(d=i[a])&&(t=d(e,r,t)||t);return t&&pe(e,r,t),t};class A extends w{constructor(){super(...arguments),this.infoText=""}static get styles(){return $`
2
2
  sl-badge::part(base) {
3
3
  background-color: var(--beam-pillLabel-color-background, #000);
4
4
  color: var(--beam-pillLabel-color, #fff);
@@ -1 +1 @@
1
- {"version":3,"file":"subscription-impact.esm.js","sources":["../../src/shared/components/info-pill.ts","../../src/components/subscription-impact/strings.ts","../../src/components/subscription-impact/index.ts"],"sourcesContent":["import { css, html, LitElement } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport \"../shoelace-components\";\nimport \"@shoelace-style/shoelace/dist/components/badge/badge.js\";\n\nexport class BeamInfoPill extends LitElement {\n @property({ type: String }) infoText = \"\";\n\n static get styles() {\n return css`\n sl-badge::part(base) {\n background-color: var(--beam-pillLabel-color-background, #000);\n color: var(--beam-pillLabel-color, #fff);\n border: var(--beam-pillLabel-border-width, 3px) solid var(--beam-pillLabel-border, #000);\n border-radius: 18.37px;\n font-family: var(--beam-pillLabel-font, inherit);\n font-size: var(--beam-pillLabel-font-size, 12px);\n font-style: var(--beam-pillLabel-font-style, italic);\n font-weight: var(--beam-pillLabel-font-weight, bold);\n text-transform: var(--beam-pillLabel-text-transform, none);\n padding: var(--beam-pillLabel-padding, 3px 4px);\n }\n `;\n }\n\n render() {\n return html`<sl-badge pill aria-label=\"${this.infoText}\">${this.infoText}</sl-badge>`;\n }\n}\n\ncustomElements.get(\"beam-info-pill\") || customElements.define(\"beam-info-pill\", BeamInfoPill);\n\nexport const infoPillLabelConfigDefaults = {\n \"--beam-pillLabel-color-background\": \"#0A323C\",\n \"--beam-pillLabel-color\": \"#fff\",\n \"--beam-pillLabel-border\": \"#0A323C\",\n \"--beam-pillLabel-border-width\": \"1px\",\n \"--beam-pillLabel-font-size\": \"10px\",\n \"--beam-pillLabel-font\": \"inherit\",\n \"--beam-pillLabel-font-weight\": \"400\",\n \"--beam-pillLabel-text-transform\": \"none\",\n \"--beam-pillLabel-font-style\": \"italic\",\n \"--beam-pillLabel-padding\": \"3px 4px\",\n} as const;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-info-pill\": BeamInfoPill;\n }\n}\n","export const strings = {\n en: {\n title: ({ causeName = \"\" }) => `Your Subscription is Going Towards ${causeName} With Every Order`,\n futureTenseTitle: ({ causeName = \"\" }) => `Your Subscription Will Go Towards ${causeName} With Every Order`,\n ctaMessagePrefix: () => `At no extra cost, `,\n description: ({ nonprofit = \"\" }) => `1% will be donated to ${nonprofit} for you, at no extra cost, every order.`,\n personalImpactTitle: () => `You're Currently Funding`,\n futureTensePersonalImpactTitle: () => `You’ll Be Funding`,\n communityImpactTitle: () => `Together We're Funding`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) => `Learn about ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Learn about ${brandName} impact${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `funded`,\n progressPillText: () => `🎉 Impact begins once order is charged`,\n },\n fr: {\n title: ({ causeName = \"\" }) => `Votre abonnement contribue à ${causeName} à chaque commande`,\n futureTenseTitle: ({ causeName = \"\" }) => `Votre abonnement contribuera à ${causeName} à chaque commande`,\n ctaMessagePrefix: () => `Sans frais supplémentaires, `,\n description: ({ nonprofit = \"\" }) =>\n `1% de chaque commande sera reversé à ${nonprofit} pour vous, sans frais supplémentaires.`,\n personalImpactTitle: () => `Vous financez actuellement`,\n futureTensePersonalImpactTitle: () => `Vous financerez`,\n communityImpactTitle: () => `Ensemble, nous finançons`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) =>\n `En savoir plus sur ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `En savoir plus sur l’impact de ${brandName}${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `financé`,\n progressPillText: () => `🎉 L’impact commence une fois la commande débitée`,\n },\n de: {\n title: ({ causeName = \"\" }) => `Ihr Abonnement unterstützt ${causeName} mit jeder Bestellung`,\n futureTenseTitle: ({ causeName = \"\" }) => `Ihr Abonnement wird ${causeName} mit jeder Bestellung unterstützen`,\n ctaMessagePrefix: () => `Ohne zusätzliche Kosten, `,\n description: ({ nonprofit = \"\" }) =>\n `1% jeder Bestellung wird im Rahmen Ihres Abonnements an ${nonprofit} gespendet.`,\n personalImpactTitle: () => `Sie unterstützen derzeit`,\n futureTensePersonalImpactTitle: () => `Sie werden unterstützen`,\n communityImpactTitle: () => `Gemeinsam unterstützen wir`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) =>\n `Mehr über ${nonprofit} erfahren${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Mehr über die Wirkung von ${brandName} erfahren${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `finanziert`,\n progressPillText: () => `🎉 Wirkung beginnt, sobald die Bestellung abgerechnet wird`,\n },\n es: {\n title: ({ causeName = \"\" }) => `Tu suscripción está apoyando a ${causeName} con cada pedido`,\n futureTenseTitle: ({ causeName = \"\" }) => `Tu suscripción apoyará a ${causeName} con cada pedido`,\n ctaMessagePrefix: () => `Sin coste adicional, `,\n description: ({ nonprofit = \"\" }) => `El 1% de cada pedido se donará a ${nonprofit} en tu nombre.`,\n personalImpactTitle: () => `Actualmente estás financiando`,\n futureTensePersonalImpactTitle: () => `Financiarás`,\n communityImpactTitle: () => `Juntos estamos financiando`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) =>\n `Conoce más sobre ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Conoce más sobre el impacto de ${brandName}${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `financiado`,\n progressPillText: () => `🎉 El impacto comienza una vez que se procese el pedido`,\n },\n it: {\n title: ({ causeName = \"\" }) => `Il tuo abbonamento sostiene ${causeName} con ogni ordine`,\n futureTenseTitle: ({ causeName = \"\" }) => `Il tuo abbonamento sosterrà ${causeName} con ogni ordine`,\n ctaMessagePrefix: () => `Senza alcun costo aggiuntivo, `,\n description: ({ nonprofit = \"\" }) => `L'1% di ogni ordine sarà donato a ${nonprofit} per te.`,\n personalImpactTitle: () => `Attualmente stai finanziando`,\n futureTensePersonalImpactTitle: () => `Finanzierai`,\n communityImpactTitle: () => `Insieme stiamo finanziando`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) =>\n `Scopri di più su ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Scopri di più sull’impatto di ${brandName}${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `finanziato`,\n progressPillText: () => `🎉 L’impatto inizia una volta che l’ordine è stato addebitato`,\n },\n pl: {\n title: ({ causeName = \"\" }) => `Twoja subskrypcja wspiera ${causeName} przy każdym zamówieniu`,\n futureTenseTitle: ({ causeName = \"\" }) => `Twoja subskrypcja będzie wspierać ${causeName} przy każdym zamówieniu`,\n ctaMessagePrefix: () => `Bez dodatkowych kosztów, `,\n description: ({ nonprofit = \"\" }) =>\n `1% z każdego zamówienia zostanie przekazane na rzecz ${nonprofit} w Twoim imieniu.`,\n personalImpactTitle: () => `Obecnie wspierasz`,\n futureTensePersonalImpactTitle: () => `Będziesz wspierać`,\n communityImpactTitle: () => `Razem wspieramy`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) =>\n `Dowiedz się więcej o ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Dowiedz się więcej o wpływie ${brandName}${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `sfinansowano`,\n progressPillText: () => `🎉 Wpływ rozpoczyna się po zrealizowaniu zamówienia`,\n },\n ja: {\n title: ({ causeName = \"\" }) => `Your Subscription is Going Towards ${causeName} With Every Order`,\n futureTenseTitle: ({ causeName = \"\" }) => `Your Subscription Will Go Towards ${causeName} With Every Order`,\n ctaMessagePrefix: () => `At no extra cost, `,\n description: ({ nonprofit = \"\" }) => `1% will be donated to ${nonprofit} for you, at no extra cost, every order.`,\n personalImpactTitle: () => `You're Currently Funding`,\n futureTensePersonalImpactTitle: () => `You’ll Be Funding`,\n communityImpactTitle: () => `Together We're Funding`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) => `Learn about ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Learn about ${brandName} impact${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `支援済み`,\n progressPillText: () => `🎉 Impact begins once order is charged`,\n },\n};\n","import { html, css, LitElement, PropertyValues } from \"lit\";\nimport debounce from \"lodash-es/debounce\";\nimport isNil from \"lodash-es/isNil\";\nimport { property } from \"lit/decorators/property.js\";\nimport { queryAll } from \"lit/decorators/query-all.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { progressBarConfigDefaults } from \"../../shared/components/progress-bar\";\nimport { shareButtonConfigDefaults } from \"../../shared/components/share-button\";\nimport { infoPillLabelConfigDefaults } from \"../../shared/components/info-pill\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES } from \"../../api-sdk/constants\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { _cssVariableMap } from \"../../shared/fragments/css-variable-map\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { syncElementHeights } from \"../../shared/sync-element-heights\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { makeApiKeyHeader } from \"../../utils/makeApiKeyHeader\";\nimport { defineCustomText, useCustomText } from \"../../shared/fragments/custom-text\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { TId, TNumericId, TUrl } from \"../../shared/types\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport { cssResponsiveUtils } from \"../../shared/responsive\";\nimport { localizeUserString } from \"../../shared/localize\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { getImpact } from \"../../api-sdk/v3/routes\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { logger } from \"../../utils/logger\";\nimport { cssCardGrid } from \"../../shared/fragments/css-card-grid\";\nimport { strings } from \"./strings\";\nimport \"../../shared/components/progress-bar\";\nimport \"../../shared/components/share-button\";\nimport \"../../shared/components/info-pill\";\n\ntype RequiredConfig = {\n apiKey: string;\n nonprofitId: TNumericId;\n beamUserId: TId;\n};\n\nexport class BeamSubscriptionImpact extends LitElement {\n static tagName = \"beam-subscription-impact\";\n\n @property({ type: String, reflect: true }) public baseUrl: TUrl = DEFAULT_BASE_URL;\n @property({ type: String, reflect: false }) apiKey?: RequiredConfig[\"apiKey\"];\n @property({ type: Number }) storeId?: number;\n @property({ type: String, reflect: true }) nonprofitId?: RequiredConfig[\"nonprofitId\"];\n @property({ type: String, reflect: true }) beamUserId?: RequiredConfig[\"beamUserId\"];\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n @property({ type: Boolean }) public debug = false;\n @property({ type: Boolean }) public draftConfig = false;\n\n @state() private isMobile = window.innerWidth < 720;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n getImpactData = async () => {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"beamUserId\", \"nonprofitId\"], this)) throw new MissingConfig();\n const res = await getImpact({\n baseUrl: this.baseUrl,\n headers: makeApiKeyHeader(this.apiKey),\n queryParams: {\n nonprofitId: this.nonprofitId,\n beamUserId: this.beamUserId,\n personalImpactLimit: 1,\n communityImpactLimit: 1,\n storeId: this.storeId,\n widgetName: \"subscription-impact\",\n draftConfig: this.draftConfig,\n version: \"1.0.0\",\n lang: this.configLang,\n },\n });\n\n return res;\n };\n\n private impactDataController = new AsyncController<typeof this.getImpactData>(this, this.getImpactData);\n\n @queryAll(\".card-title\")\n impactTitleRefs!: HTMLElement[];\n\n @queryAll(\".impact-link\")\n impactLinkRefs!: HTMLElement[];\n\n connectedCallback() {\n super.connectedCallback();\n window.addEventListener(\"resize\", this.evaluateBreakPoints);\n }\n\n async updated(changedProperties: PropertyValues): Promise<void> {\n // Fires on first load as props go from undefined => value\n const requireNewDataProps = [\"baseUrl\", \"storeId\", \"apiKey\", \"beamUserId\", \"lang\"];\n for (const prop of requireNewDataProps) {\n if (changedProperties.has(prop)) {\n await this.impactDataController.exec();\n break;\n }\n }\n this.resizeElements(); // Handle layout shifts immediately\n await this.handleFontLoad(this.resizeElements); // If content change triggered font load, resize again\n }\n\n disconnectedCallback() {\n window.removeEventListener(\"resize\", this.resizeElements);\n document.fonts.removeEventListener(\"loadingdone\", this.resizeElements);\n super.disconnectedCallback();\n }\n\n /**\n * Safari does not fire loading events on the document FontFaceSet, but it does implement the .ready Promise\n * Call this method to wait for font loads that may be triggered by content changes\n */\n async handleFontLoad<T = any>(callback: () => T | void) {\n if (document.fonts.status === \"loading\") {\n await document.fonts.ready.catch((e) => logger.error(e));\n return callback();\n }\n }\n\n public get cssVariables() {\n const defaults = {\n ...progressBarConfigDefaults,\n ...shareButtonConfigDefaults,\n ...infoPillLabelConfigDefaults,\n \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"12px\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n \"--beam-subscriptionImpact-impactCards-maxWidth\": \"900px\",\n \"--beam-subscriptionImpact-headerContainer-desktop-textAlign\": \"left\",\n \"--beam-subscriptionImpact-headerContainer-mobile-textAlign\": \"center\",\n \"--beam-subscriptionImpact-descriptionContainer-marginTop\": \"10px\",\n \"--beam-subscriptionImpact-cardContainer-marginTop\": \"15px\",\n \"--beam-subscriptionImpact-cardContainer-gap\": \"20px\",\n \"--beam-subscriptionImpact-card-borderRadius\": \"8px\",\n \"--beam-subscriptionImpact-card-background\": \"#f8fbfb\",\n \"--beam-subscriptionImpact-card-padding\": \"24px 28px 24px 24px\",\n \"--beam-subscriptionImpact-card-marginRight\": \"0px\",\n \"--beam-subscriptionImpact-card-marginTop\": \"10px\",\n \"--beam-subscriptionImpact-card-gap\": \"5px\",\n \"--beam-subscriptionImpact-cardTitle-textAlign\": \"left\",\n \"--beam-subscriptionImpact-cardTitle-letterSpacing\": \"0.36px\",\n \"--beam-SubscriptionImpact-cardStyle\": \"'selected_icon'\",\n \"--beam-SubscriptionImpact-imagePosition\": \"'inline'\",\n \"--beam-subscriptionImpact-imageBlock-height\": \"120px\",\n \"--beam-subscriptionImpact-imageBlock-borderRadius\": \"4px\",\n \"--beam-subscriptionImpact-iconBackground-width\": \"50px\",\n \"--beam-subscriptionImpact-iconBackground-height\": \"50px\",\n \"--beam-subscriptionImpact-iconBackground-borderRadius\": \"50%\",\n \"--beam-subscriptionImpact-iconBackground-background\": \"#0a323c\",\n \"--beam-subscriptionImpact-icon-height\": \"28px\",\n \"--beam-subscriptionImpact-icon-margin\": \"auto\",\n \"--beam-subscriptionImpact-icon-padding\": \"10px\",\n \"--beam-subscriptionImpact-icon-borderRadius\": \"4px\",\n \"--beam-subscriptionImpact-image-borderRadius\": \"4px\",\n \"--beam-subscriptionImpact-image-minHeight\": \"0\",\n \"--beam-subscriptionImpact-image-minWidth\": \"0\",\n \"--beam-subscriptionImpact-cardDescription-padding\": \"0px\",\n \"--beam-subscriptionImpact-card-progressBar-padding\": \"8px 0px\",\n \"--beam-subscriptionImpact-card-progressBarLabel-gap\": \"10px\",\n \"--beam-subscriptionImpact-card-progressBarLabel-textAlign\": \"right\",\n \"--beam-subscriptionImpact-card-progressBarLabel-marginLeft\": \"8px\",\n \"--beam-subscriptionImpact-card-linkContainer-textAlign\": \"left\",\n \"--beam-subscriptionImpact-card-impactLink-textDecoration\": \"underline\",\n \"--beam-subscriptionImpact-footer-textAlign\": \"center\",\n \"--beam-subscriptionImpact-footer-marginTop\": \"10px\",\n \"--beam-subscriptionImpact-share-button-icon-name\": \"share-2\",\n \"--beam-subscriptionImpact-learnAbout-arrow-display\": \"block\",\n ...defineCustomText(\"--beam-subscriptionImpact-title\", {\n fontSize: \"20px\",\n fontWeight: \"bold\",\n lineHeight: \"120%\",\n textTransform: \"capitalize\",\n fontStyle: \"normal\",\n color: \"#0a323c\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-descriptionPrefix\", {\n fontSize: \"14px\",\n fontWeight: \"800\",\n lineHeight: \"138%\",\n fontStyle: \"normal\",\n color: \"#2f302d\",\n marginTop: \"9px\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-description\", {\n fontSize: \"14px\",\n fontWeight: \"400\",\n lineHeight: \"138%\",\n fontStyle: \"normal\",\n color: \"#2f302d\",\n marginTop: \"9px\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-cardTitle\", {\n fontSize: \"12px\",\n fontWeight: \"bold\",\n lineHeight: \"120%\",\n fontStyle: \"normal\",\n textTransform: \"uppercase\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-cardDescription\", {\n fontSize: \"12px\",\n fontWeight: \"400\",\n lineHeight: \"18.2px\",\n fontStyle: \"normal\",\n color: \"#454a47\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-card-progressBarLabel\", {\n fontSize: \"10px\",\n color: \"#878a92\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-card-impactLink\", {\n fontSize: \"12px\",\n fontWeight: \"600\",\n lineHeight: \"16px\",\n fontStyle: \"normal\",\n color: \"#454a47\",\n marginTop: \"auto\",\n }),\n };\n const remoteConfig = this.impactDataController?.data?.config?.web?.theme || {};\n const config = {\n ...defaults,\n ...remoteConfig,\n };\n const serializable = Object.create({\n toCSS() {\n return _cssVariableMap(this as Record<string, string>);\n },\n });\n return Object.assign(serializable, config);\n }\n\n evaluateBreakPoints = debounce(\n () => {\n this.isMobile = window.innerWidth < 768;\n },\n 50,\n { maxWait: 50, leading: true }\n );\n\n resizeElements = debounce(\n () => {\n syncElementHeights(this.impactTitleRefs);\n syncElementHeights(this.impactLinkRefs);\n },\n 50,\n { maxWait: 50, leading: true }\n );\n\n render() {\n const { data, loading, error } = this.impactDataController;\n if (loading) {\n return _loading();\n }\n if (error || data == null) {\n return this.debug ? _errorMessage({ error: error || new Error(\"No data\") }) : \"\";\n }\n\n const communityImpact = data.community[0];\n const personalImpact = data.personal[0];\n\n const brandName = data.chain.name;\n const causeName = localizeUserString(this.configLang, personalImpact?.nonprofit.cause || \"\");\n const nonprofitName = personalImpact?.nonprofit.name;\n const personalProgressPercentage = personalImpact?.impact?.goalProgressPercentage || 0;\n const isPersonalProgressNotStarted = !(\n personalImpact?.impact?.goalProgressPercentage > 0 || personalImpact?.impact?.goalCompletionText?.length > 0\n );\n const communityProgressPercentage = communityImpact?.impact?.goalProgressPercentage || 0;\n const personalProgressDescription = `${personalProgressPercentage}% ${\n localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"percentFunded\"] || \"\") ||\n strings[this.configLang].percentFunded()\n }`;\n const communityProgressDescription = `${communityProgressPercentage}% ${\n localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"percentFunded\"] || \"\") ||\n strings[this.configLang].percentFunded()\n }`;\n const communityImage = communityImpact?.imageUrl || \"\";\n const personalImage = personalImpact?.imageUrl || \"\";\n const unselectedIcon = personalImpact?.nonprofit.causeIconUrl;\n const selectedIcon = personalImpact?.nonprofit.causeIconSelectedUrl;\n const cardStyle = this.cssVariables[\"--beam-SubscriptionImpact-cardStyle\"];\n const imagePosition = this.cssVariables[\"--beam-SubscriptionImpact-imagePosition\"];\n const isImage = cardStyle === \"'image'\";\n const iconImage = cardStyle === \"'selected_icon'\" ? selectedIcon : unselectedIcon;\n const communityCardImage = isImage ? communityImage : iconImage;\n const personalCardImage = isImage ? personalImage : iconImage;\n const personalTitle =\n localizeUserString(this.configLang, data?.config?.web?.dynamicStrings?.[\"ctaTitle\"] || \"\") ||\n strings[this.configLang].title({ causeName });\n\n const personalFutureTenseTitle =\n localizeUserString(this.configLang, data?.config?.web?.dynamicStrings?.[\"ctaFutureTenseTitle\"] || \"\") ||\n strings[this.configLang].futureTenseTitle({ causeName });\n const communityLink = isNil(data.store.communityPageURL)\n ? data.chain.communityImpactUrl\n : data.store.communityPageURL;\n const personalLink = personalImpact?.nonprofit?.website;\n const shareImage = personalImpact?.share?.imageUrl;\n const shareIcon = this.cssVariables[\"--beam-SubscriptionImpact-share-button-icon-name\"] || \"share-2\";\n const hideLearnAboutArrow = this.cssVariables[\"--beam-subscriptionImpact-learnAbout-arrow-display\"] === \"none\";\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n\n <div class=\"widget-container\" id=\"beam-subscription-impact-container\">\n <div\n class=\"header-container ${this.isMobile ? \"header-container-mobile\" : \"header-container-desktop\"}\"\n id=\"beam-subscriptionImpact-header-container\"\n >\n <h3 class=\"title\" part=\"title\" id=\"beam-subscriptionImpact-title\">\n ${isPersonalProgressNotStarted ? personalFutureTenseTitle : personalTitle}\n </h3>\n <div\n class=\"description-container ${this.isMobile\n ? \"header-container-mobile description-mobile\"\n : \"header-container-desktop description-desktop\"}\"\n >\n <span class=\"description-prefix\" part=\"description\">\n ${localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"ctaMessagePrefix\"] || \"\") ||\n strings[this.configLang].ctaMessagePrefix()}\n </span>\n <span class=\"description\" part=\"description\" id=\"beam-subscriptionImpact-description\">\n ${localizeUserString(this.configLang, data?.config?.web?.dynamicStrings?.[\"ctaMessage\"] || \"\") ||\n strings[this.configLang].description({ nonprofit: nonprofitName })}\n </span>\n </div>\n </div>\n <div class=\"root\">\n <div\n class=\"card-container cardGrid ${this.isMobile ? \"card-container-mobile\" : \"\"}\"\n id=\"beam-subscriptionImpact-card-container\"\n >\n ${this.renderInlineCard({\n title: isPersonalProgressNotStarted\n ? localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"futureTensePersonalImpactTitle\"] || \"\"\n ) || strings[this.configLang].futureTensePersonalImpactTitle()\n : localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"personalImpactTitle\"] || \"\"\n ) || strings[this.configLang].personalImpactTitle(),\n image: personalCardImage,\n description: localizeUserString(this.configLang, personalImpact?.impact?.description || \"\"),\n link: personalLink,\n linkText:\n localizeUserString(this.configLang, data?.config?.web?.dynamicStrings?.[\"personalLinkCopy\"] || \"\") ||\n strings[this.configLang].personalLinkCopy({ nonprofit: nonprofitName, hideArrow: hideLearnAboutArrow }),\n progressBarValue: personalProgressPercentage,\n progressBarText: personalProgressDescription,\n infoPill:\n localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"progressPillText\"] || \"\") ||\n strings[this.configLang].progressPillText(),\n imageType: cardStyle,\n cardType: \"personal\",\n imagePosition: imagePosition,\n })}\n ${this.renderInlineCard({\n title:\n localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"communityImpactTitle\"] || \"\"\n ) || strings[this.configLang].communityImpactTitle(),\n image: communityCardImage,\n description: localizeUserString(this.configLang, communityImpact?.impact?.description || \"\"),\n link: communityLink,\n linkText:\n localizeUserString(this.configLang, data?.config?.web?.dynamicStrings?.[\"communityLinkCopy\"] || \"\") ||\n strings[this.configLang].communityLinkCopy({ brandName: brandName, hideArrow: hideLearnAboutArrow }),\n progressBarValue: communityProgressPercentage,\n progressBarText: communityProgressDescription,\n infoPill:\n localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"progressPillText\"] || \"\") ||\n strings[this.configLang].progressPillText(),\n imageType: cardStyle,\n cardType: \"community\",\n imagePosition: imagePosition,\n })}\n </div>\n </div>\n <div class=\"footer\" part=\"social-share\">\n <beam-share-button\n imageUrl=\"${shareImage}\"\n brandName=\"${brandName}\"\n shareIcon=\"${shareIcon}\"\n buttonText=\"${localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"shareButtonText\"] || \"\"\n )}\"\n configLang=\"${this.configLang}\"\n ></beam-share-button>\n </div>\n </div>\n `;\n }\n\n renderInlineCard(impactCard: {\n title: string;\n description: string;\n image: string | null;\n link: string | null;\n linkText: string;\n progressBarValue?: number;\n progressBarText?: string;\n infoPill: string;\n imageType: \"'image'\" | \"'icon'\" | \"'selected_icon'\";\n cardType: \"personal\" | \"community\";\n imagePosition: \"'inline'\" | \"'block'\";\n }) {\n const isPersonalProgressBarValueLow =\n impactCard.progressBarValue !== undefined &&\n impactCard.progressBarValue <= 1 &&\n impactCard.cardType === \"personal\";\n return html`\n <div class=\"inline-card ${this.isMobile ? \"\" : \"inline-card-desktop\"}\">\n ${impactCard.image && impactCard.imagePosition === \"'block'\" && impactCard.imageType === \"'image'\"\n ? html` <div\n class=\"image-block-container\"\n style=\"background: url('${impactCard.image}');background-position: center;\n background-size: cover;\n background-repeat: no-repeat;\"\n ></div>`\n : \"\"}\n <h4 class=\"card-title\">${impactCard.title}</h4>\n <div class=\"inline-content\">\n ${impactCard.image && impactCard.imagePosition === \"'inline'\"\n ? html`${impactCard.imageType === \"'icon'\" || impactCard.imageType === \"'selected_icon'\"\n ? html` <div class=\"icon-container\">\n <div class=\"icon-background\">\n <img src=\"${impactCard.image}\" alt=\"\" role=\"presentation\" class=\"icon\" />\n </div>\n </div>`\n : html` <div class=\"image-container\">\n <img src=\"${impactCard.image}\" alt=\"\" role=\"presentation\" class=\"image\" />\n </div>`}`\n : \"\"}\n <div class=\"impact-container\" part=\"details\">\n <p class=\"card-description\">${impactCard.description}</p>\n <div class=\"card-progress-bar\">\n ${isPersonalProgressBarValueLow\n ? html` <beam-info-pill infoText=\"${impactCard.infoPill}\"></beam-info-pill> `\n : html`\n <beam-progress-bar value=\"${impactCard.progressBarValue}\" style=\"flex: 1 0;\"> </beam-progress-bar>\n <span class=\"details-funding-progress-label\"> ${impactCard.progressBarText} </span>\n `}\n </div>\n <div class=\"link-container\">\n <a href=\"${impactCard.link}\" class=\"impact-link\" target=\"_blank\">${impactCard.linkText}</a>\n </div>\n </div>\n </div>\n </div>\n `;\n }\n\n static styles = [\n cssReset,\n cssResponsiveUtils,\n css`\n :host {\n display: block;\n font-family: var(--beam-fontFamily);\n font-style: var(--beam-fontStyle);\n font-size: var(--beam-fontSize);\n background-color: var(--beam-backgroundColor);\n color: var(--beam-textColor);\n max-width: var(--beam-subscriptionImpact-impactCards-maxWidth);\n word-break: normal;\n }\n\n /* subscription impact container and header css */\n\n .header-container-mobile {\n text-align: var(--beam-subscriptionImpact-headerContainer-mobile-textAlign);\n }\n\n .header-container-desktop {\n text-align: var(--beam-subscriptionImpact-headerContainer-desktop-textAlign);\n }\n\n .title {\n ${useCustomText(\"--beam-subscriptionImpact-title\")};\n }\n\n .description-container {\n margin-top: var(--beam-subscriptionImpact-descriptionContainer-marginTop);\n }\n\n .description-prefix {\n ${useCustomText(\"--beam-subscriptionImpact-descriptionPrefix\")};\n }\n\n .description {\n ${useCustomText(\"--beam-subscriptionImpact-description\")};\n }\n\n .root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n flex-shrink: 0;\n }\n\n .card-container {\n margin-top: var(--beam-subscriptionImpact-cardContainer-marginTop);\n gap: var(--beam-subscriptionImpact-cardContainer-gap);\n display: grid;\n justify-content: center;\n }\n\n .card-container-mobile {\n flex-direction: column;\n }\n\n /* subscription impact card css */\n .inline-card {\n border-radius: var(--beam-subscriptionImpact-card-borderRadius);\n background: var(--beam-subscriptionImpact-card-background);\n padding: var(--beam-subscriptionImpact-card-padding);\n flex: 2;\n flex-direction: column;\n margin-top: var(--beam-subscriptionImpact-card-marginTop);\n display: flex;\n gap: var(--beam-subscriptionImpact-card-gap);\n }\n\n .inline-card-desktop {\n margin-right: var(--beam-subscriptionImpact-card-marginRight);\n }\n\n .inline-content {\n display: flex;\n flex-direction: row;\n gap: 15px;\n height: 100%;\n }\n\n .card-title {\n text-align: var(--beam-subscriptionImpact-cardTitle-textAlign);\n letter-spacing: var(--beam-subscriptionImpact-cardTitle-letterSpacing);\n ${useCustomText(\"--beam-subscriptionImpact-cardTitle\")};\n }\n\n .icon-container {\n flex: 0;\n flex-direction: column;\n }\n\n .image-block-container {\n flex-shrink: 0;\n height: var(--beam-subscriptionImpact-imageBlock-height);\n border-radius: var(--beam-subscriptionImpact-imageBlock-borderRadius);\n }\n\n .image-container {\n flex: 4;\n display: flex;\n flex-direction: column;\n }\n\n .icon-background {\n width: var(--beam-subscriptionImpact-iconBackground-width);\n height: var(--beam-subscriptionImpact-iconBackground-height);\n border-radius: var(--beam-subscriptionImpact-iconBackground-borderRadius);\n padding: var(--beam-subscriptionImpact-icon-padding);\n overflow: hidden;\n background: var(--beam-subscriptionImpact-iconBackground-background);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .icon {\n height: var(--beam-subscriptionImpact-icon-height);\n display: block;\n margin: var(--beam-subscriptionImpact-icon-margin);\n border-radius: var(--beam-subscriptionImpact-icon-borderRadius);\n }\n\n .image {\n flex: 4;\n height: auto;\n width: 100%;\n object-fit: cover;\n min-height: var(--beam-subscriptionImpact-image-minHeight);\n min-width: var(--beam-subscriptionImpact-image-minWidth);\n border-radius: var(--beam-subscriptionImpact-image-borderRadius);\n }\n\n .impact-container {\n flex: 1 1 67%;\n height: 100%;\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-content: stretch;\n align-items: stretch;\n position: relative;\n }\n\n .card-description {\n flex-grow: 1;\n padding: var(--beam-subscriptionImpact-cardDescription-padding);\n ${useCustomText(\"--beam-subscriptionImpact-cardDescription\")};\n }\n\n .card-progress-bar {\n flex: 1 1;\n display: flex;\n align-items: center;\n padding: var(--beam-subscriptionImpact-card-progressBar-padding);\n }\n\n .details-funding-progress-label {\n gap: var(--beam-subscriptionImpact-card-progressBarLabel-gap);\n white-space: nowrap;\n text-align: var(--beam-subscriptionImpact-card-progressBarLabel-textAlign);\n flex: 0 1;\n margin-left: var(--beam-subscriptionImpact-card-progressBarLabel-marginLeft);\n ${useCustomText(\"--beam-subscriptionImpact-card-progressBarLabel\")};\n }\n\n .link-container {\n text-align: var(--beam-subscriptionImpact-card-linkContainer-textAlign);\n }\n\n .impact-link {\n display: inline-block;\n text-decoration-line: var(--beam-subscriptionImpact-card-impactLink-textDecoration);\n ${useCustomText(\"--beam-subscriptionImpact-card-impactLink\")};\n }\n\n /* share footer */\n .footer {\n text-align: var(--beam-subscriptionImpact-footer-textAlign);\n margin-top: var(--beam-subscriptionImpact-footer-marginTop);\n }\n `,\n cssCardGrid({\n gap: \"var(--beam-subscriptionImpact-cardContainer-gap)\",\n itemMinWidth: \"250px\",\n columnCount: \"2\",\n }),\n ];\n}\n\ndefineCustomElement(BeamSubscriptionImpact);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-subscription-impact\": BeamSubscriptionImpact;\n }\n}\n"],"names":["BeamInfoPill","LitElement","css","html","__decorateClass","property","infoPillLabelConfigDefaults","strings","causeName","nonprofit","hideArrow","brandName","BeamSubscriptionImpact","DEFAULT_BASE_URL","enforceConfig","getImpact","makeApiKeyHeader","AsyncController","debounce","syncElementHeights","SUPPORTED_LANGUAGES","changedProperties","requireNewDataProps","prop","callback","e","logger","defaults","progressBarConfigDefaults","shareButtonConfigDefaults","defineCustomText","remoteConfig","config","_cssVariableMap","data","loading","error","_loading","_errorMessage","communityImpact","personalImpact","localizeUserString","nonprofitName","personalProgressPercentage","isPersonalProgressNotStarted","communityProgressPercentage","personalProgressDescription","communityProgressDescription","communityImage","personalImage","unselectedIcon","selectedIcon","cardStyle","imagePosition","isImage","iconImage","communityCardImage","personalCardImage","personalTitle","personalFutureTenseTitle","communityLink","isNil","personalLink","shareImage","shareIcon","hideLearnAboutArrow","impactCard","isPersonalProgressBarValueLow","cssReset","cssResponsiveUtils","useCustomText","cssCardGrid","state","queryAll","defineCustomElement"],"mappings":"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"}
1
+ {"version":3,"file":"subscription-impact.esm.js","sources":["../../src/shared/components/info-pill.ts","../../src/components/subscription-impact/strings.ts","../../src/components/subscription-impact/index.ts"],"sourcesContent":["import { css, html, LitElement } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport \"../shoelace-components\";\nimport \"@shoelace-style/shoelace/dist/components/badge/badge.js\";\n\nexport class BeamInfoPill extends LitElement {\n @property({ type: String }) infoText = \"\";\n\n static get styles() {\n return css`\n sl-badge::part(base) {\n background-color: var(--beam-pillLabel-color-background, #000);\n color: var(--beam-pillLabel-color, #fff);\n border: var(--beam-pillLabel-border-width, 3px) solid var(--beam-pillLabel-border, #000);\n border-radius: 18.37px;\n font-family: var(--beam-pillLabel-font, inherit);\n font-size: var(--beam-pillLabel-font-size, 12px);\n font-style: var(--beam-pillLabel-font-style, italic);\n font-weight: var(--beam-pillLabel-font-weight, bold);\n text-transform: var(--beam-pillLabel-text-transform, none);\n padding: var(--beam-pillLabel-padding, 3px 4px);\n }\n `;\n }\n\n render() {\n return html`<sl-badge pill aria-label=\"${this.infoText}\">${this.infoText}</sl-badge>`;\n }\n}\n\ncustomElements.get(\"beam-info-pill\") || customElements.define(\"beam-info-pill\", BeamInfoPill);\n\nexport const infoPillLabelConfigDefaults = {\n \"--beam-pillLabel-color-background\": \"#0A323C\",\n \"--beam-pillLabel-color\": \"#fff\",\n \"--beam-pillLabel-border\": \"#0A323C\",\n \"--beam-pillLabel-border-width\": \"1px\",\n \"--beam-pillLabel-font-size\": \"10px\",\n \"--beam-pillLabel-font\": \"inherit\",\n \"--beam-pillLabel-font-weight\": \"400\",\n \"--beam-pillLabel-text-transform\": \"none\",\n \"--beam-pillLabel-font-style\": \"italic\",\n \"--beam-pillLabel-padding\": \"3px 4px\",\n} as const;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-info-pill\": BeamInfoPill;\n }\n}\n","export const strings = {\n en: {\n title: ({ causeName = \"\" }) => `Your Subscription is Going Towards ${causeName} With Every Order`,\n futureTenseTitle: ({ causeName = \"\" }) => `Your Subscription Will Go Towards ${causeName} With Every Order`,\n ctaMessagePrefix: () => `At no extra cost, `,\n description: ({ nonprofit = \"\" }) => `1% will be donated to ${nonprofit} for you, at no extra cost, every order.`,\n personalImpactTitle: () => `You're Currently Funding`,\n futureTensePersonalImpactTitle: () => `You’ll Be Funding`,\n communityImpactTitle: () => `Together We're Funding`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) => `Learn about ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Learn about ${brandName} impact${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `funded`,\n progressPillText: () => `🎉 Impact begins once order is charged`,\n },\n fr: {\n title: ({ causeName = \"\" }) => `Votre abonnement contribue à ${causeName} à chaque commande`,\n futureTenseTitle: ({ causeName = \"\" }) => `Votre abonnement contribuera à ${causeName} à chaque commande`,\n ctaMessagePrefix: () => `Sans frais supplémentaires, `,\n description: ({ nonprofit = \"\" }) =>\n `1% de chaque commande sera reversé à ${nonprofit} pour vous, sans frais supplémentaires.`,\n personalImpactTitle: () => `Vous financez actuellement`,\n futureTensePersonalImpactTitle: () => `Vous financerez`,\n communityImpactTitle: () => `Ensemble, nous finançons`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) =>\n `En savoir plus sur ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `En savoir plus sur l’impact de ${brandName}${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `financé`,\n progressPillText: () => `🎉 L’impact commence une fois la commande débitée`,\n },\n de: {\n title: ({ causeName = \"\" }) => `Ihr Abonnement unterstützt ${causeName} mit jeder Bestellung`,\n futureTenseTitle: ({ causeName = \"\" }) => `Ihr Abonnement wird ${causeName} mit jeder Bestellung unterstützen`,\n ctaMessagePrefix: () => `Ohne zusätzliche Kosten, `,\n description: ({ nonprofit = \"\" }) =>\n `1% jeder Bestellung wird im Rahmen Ihres Abonnements an ${nonprofit} gespendet.`,\n personalImpactTitle: () => `Sie unterstützen derzeit`,\n futureTensePersonalImpactTitle: () => `Sie werden unterstützen`,\n communityImpactTitle: () => `Gemeinsam unterstützen wir`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) =>\n `Mehr über ${nonprofit} erfahren${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Mehr über die Wirkung von ${brandName} erfahren${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `finanziert`,\n progressPillText: () => `🎉 Wirkung beginnt, sobald die Bestellung abgerechnet wird`,\n },\n es: {\n title: ({ causeName = \"\" }) => `Tu suscripción está apoyando a ${causeName} con cada pedido`,\n futureTenseTitle: ({ causeName = \"\" }) => `Tu suscripción apoyará a ${causeName} con cada pedido`,\n ctaMessagePrefix: () => `Sin coste adicional, `,\n description: ({ nonprofit = \"\" }) => `El 1% de cada pedido se donará a ${nonprofit} en tu nombre.`,\n personalImpactTitle: () => `Actualmente estás financiando`,\n futureTensePersonalImpactTitle: () => `Financiarás`,\n communityImpactTitle: () => `Juntos estamos financiando`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) =>\n `Conoce más sobre ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Conoce más sobre el impacto de ${brandName}${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `financiado`,\n progressPillText: () => `🎉 El impacto comienza una vez que se procese el pedido`,\n },\n it: {\n title: ({ causeName = \"\" }) => `Il tuo abbonamento sostiene ${causeName} con ogni ordine`,\n futureTenseTitle: ({ causeName = \"\" }) => `Il tuo abbonamento sosterrà ${causeName} con ogni ordine`,\n ctaMessagePrefix: () => `Senza alcun costo aggiuntivo, `,\n description: ({ nonprofit = \"\" }) => `L'1% di ogni ordine sarà donato a ${nonprofit} per te.`,\n personalImpactTitle: () => `Attualmente stai finanziando`,\n futureTensePersonalImpactTitle: () => `Finanzierai`,\n communityImpactTitle: () => `Insieme stiamo finanziando`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) =>\n `Scopri di più su ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Scopri di più sull’impatto di ${brandName}${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `finanziato`,\n progressPillText: () => `🎉 L’impatto inizia una volta che l’ordine è stato addebitato`,\n },\n pl: {\n title: ({ causeName = \"\" }) => `Twoja subskrypcja wspiera ${causeName} przy każdym zamówieniu`,\n futureTenseTitle: ({ causeName = \"\" }) => `Twoja subskrypcja będzie wspierać ${causeName} przy każdym zamówieniu`,\n ctaMessagePrefix: () => `Bez dodatkowych kosztów, `,\n description: ({ nonprofit = \"\" }) =>\n `1% z każdego zamówienia zostanie przekazane na rzecz ${nonprofit} w Twoim imieniu.`,\n personalImpactTitle: () => `Obecnie wspierasz`,\n futureTensePersonalImpactTitle: () => `Będziesz wspierać`,\n communityImpactTitle: () => `Razem wspieramy`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) =>\n `Dowiedz się więcej o ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Dowiedz się więcej o wpływie ${brandName}${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `sfinansowano`,\n progressPillText: () => `🎉 Wpływ rozpoczyna się po zrealizowaniu zamówienia`,\n },\n ja: {\n title: ({ causeName = \"\" }) => `Your Subscription is Going Towards ${causeName} With Every Order`,\n futureTenseTitle: ({ causeName = \"\" }) => `Your Subscription Will Go Towards ${causeName} With Every Order`,\n ctaMessagePrefix: () => `At no extra cost, `,\n description: ({ nonprofit = \"\" }) => `1% will be donated to ${nonprofit} for you, at no extra cost, every order.`,\n personalImpactTitle: () => `You're Currently Funding`,\n futureTensePersonalImpactTitle: () => `You’ll Be Funding`,\n communityImpactTitle: () => `Together We're Funding`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) => `Learn about ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Learn about ${brandName} impact${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `支援済み`,\n progressPillText: () => `🎉 Impact begins once order is charged`,\n },\n};\n","import { html, css, LitElement, PropertyValues } from \"lit\";\nimport debounce from \"lodash-es/debounce\";\nimport isNil from \"lodash-es/isNil\";\nimport { property } from \"lit/decorators/property.js\";\nimport { queryAll } from \"lit/decorators/query-all.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { progressBarConfigDefaults } from \"../../shared/components/progress-bar\";\nimport { shareButtonConfigDefaults } from \"../../shared/components/share-button\";\nimport { infoPillLabelConfigDefaults } from \"../../shared/components/info-pill\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES } from \"../../api-sdk/constants\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { _cssVariableMap } from \"../../shared/fragments/css-variable-map\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { syncElementHeights } from \"../../shared/sync-element-heights\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { makeApiKeyHeader } from \"../../utils/makeApiKeyHeader\";\nimport { defineCustomText, useCustomText } from \"../../shared/fragments/custom-text\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { TId, TNumericId, TUrl } from \"../../shared/types\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport { cssResponsiveUtils } from \"../../shared/responsive\";\nimport { localizeUserString } from \"../../shared/localize\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { getImpact } from \"../../api-sdk/v3/routes\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { logger } from \"../../utils/logger\";\nimport { cssCardGrid } from \"../../shared/fragments/css-card-grid\";\nimport { strings } from \"./strings\";\nimport \"../../shared/components/progress-bar\";\nimport \"../../shared/components/share-button\";\nimport \"../../shared/components/info-pill\";\n\ntype RequiredConfig = {\n apiKey: string;\n nonprofitId: TNumericId;\n beamUserId: TId;\n};\n\nexport class BeamSubscriptionImpact extends LitElement {\n static tagName = \"beam-subscription-impact\";\n\n @property({ type: String, reflect: true }) public baseUrl: TUrl = DEFAULT_BASE_URL;\n @property({ type: String, reflect: false }) apiKey?: RequiredConfig[\"apiKey\"];\n @property({ type: Number }) storeId?: number;\n @property({ type: String, reflect: true }) nonprofitId?: RequiredConfig[\"nonprofitId\"];\n @property({ type: String, reflect: true }) beamUserId?: RequiredConfig[\"beamUserId\"];\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n @property({ type: Boolean }) public debug = false;\n @property({ type: Boolean }) public draftConfig = false;\n\n @state() private isMobile = window.innerWidth < 720;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n getImpactData = async () => {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"beamUserId\", \"nonprofitId\"], this)) throw new MissingConfig();\n const res = await getImpact({\n baseUrl: this.baseUrl,\n headers: makeApiKeyHeader(this.apiKey),\n queryParams: {\n nonprofitId: this.nonprofitId,\n beamUserId: this.beamUserId,\n personalImpactLimit: 1,\n communityImpactLimit: 1,\n storeId: this.storeId,\n widgetName: \"subscription-impact\",\n draftConfig: this.draftConfig,\n version: \"1.0.0\",\n lang: this.configLang,\n },\n });\n\n return res;\n };\n\n private impactDataController = new AsyncController<typeof this.getImpactData>(this, this.getImpactData);\n\n @queryAll(\".card-title\")\n impactTitleRefs!: HTMLElement[];\n\n @queryAll(\".impact-link\")\n impactLinkRefs!: HTMLElement[];\n\n connectedCallback() {\n super.connectedCallback();\n window.addEventListener(\"resize\", this.evaluateBreakPoints);\n }\n\n async updated(changedProperties: PropertyValues): Promise<void> {\n // Fires on first load as props go from undefined => value\n const requireNewDataProps = [\"baseUrl\", \"storeId\", \"apiKey\", \"beamUserId\", \"lang\"];\n for (const prop of requireNewDataProps) {\n if (changedProperties.has(prop)) {\n await this.impactDataController.exec();\n break;\n }\n }\n this.resizeElements(); // Handle layout shifts immediately\n await this.handleFontLoad(this.resizeElements); // If content change triggered font load, resize again\n }\n\n disconnectedCallback() {\n window.removeEventListener(\"resize\", this.resizeElements);\n document.fonts.removeEventListener(\"loadingdone\", this.resizeElements);\n super.disconnectedCallback();\n }\n\n /**\n * Safari does not fire loading events on the document FontFaceSet, but it does implement the .ready Promise\n * Call this method to wait for font loads that may be triggered by content changes\n */\n async handleFontLoad<T = any>(callback: () => T | void) {\n if (document.fonts.status === \"loading\") {\n await document.fonts.ready.catch((e) => logger.error(e));\n return callback();\n }\n }\n\n public get cssVariables() {\n const defaults = {\n ...progressBarConfigDefaults,\n ...shareButtonConfigDefaults,\n ...infoPillLabelConfigDefaults,\n \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"12px\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n \"--beam-subscriptionImpact-impactCards-maxWidth\": \"900px\",\n \"--beam-subscriptionImpact-headerContainer-desktop-textAlign\": \"left\",\n \"--beam-subscriptionImpact-headerContainer-mobile-textAlign\": \"center\",\n \"--beam-subscriptionImpact-descriptionContainer-marginTop\": \"10px\",\n \"--beam-subscriptionImpact-cardContainer-marginTop\": \"15px\",\n \"--beam-subscriptionImpact-cardContainer-gap\": \"20px\",\n \"--beam-subscriptionImpact-card-borderRadius\": \"8px\",\n \"--beam-subscriptionImpact-card-background\": \"#f8fbfb\",\n \"--beam-subscriptionImpact-card-padding\": \"24px 28px 24px 24px\",\n \"--beam-subscriptionImpact-card-marginRight\": \"0px\",\n \"--beam-subscriptionImpact-card-marginTop\": \"10px\",\n \"--beam-subscriptionImpact-card-gap\": \"5px\",\n \"--beam-subscriptionImpact-cardTitle-textAlign\": \"left\",\n \"--beam-subscriptionImpact-cardTitle-letterSpacing\": \"0.36px\",\n \"--beam-SubscriptionImpact-cardStyle\": \"'selected_icon'\",\n \"--beam-SubscriptionImpact-imagePosition\": \"'inline'\",\n \"--beam-subscriptionImpact-imageBlock-height\": \"120px\",\n \"--beam-subscriptionImpact-imageBlock-borderRadius\": \"4px\",\n \"--beam-subscriptionImpact-iconBackground-width\": \"50px\",\n \"--beam-subscriptionImpact-iconBackground-height\": \"50px\",\n \"--beam-subscriptionImpact-iconBackground-borderRadius\": \"50%\",\n \"--beam-subscriptionImpact-iconBackground-background\": \"#0a323c\",\n \"--beam-subscriptionImpact-icon-height\": \"28px\",\n \"--beam-subscriptionImpact-icon-margin\": \"auto\",\n \"--beam-subscriptionImpact-icon-padding\": \"10px\",\n \"--beam-subscriptionImpact-icon-borderRadius\": \"4px\",\n \"--beam-subscriptionImpact-image-borderRadius\": \"4px\",\n \"--beam-subscriptionImpact-image-minHeight\": \"0\",\n \"--beam-subscriptionImpact-image-minWidth\": \"0\",\n \"--beam-subscriptionImpact-cardDescription-padding\": \"0px\",\n \"--beam-subscriptionImpact-card-progressBar-padding\": \"8px 0px\",\n \"--beam-subscriptionImpact-card-progressBarLabel-gap\": \"10px\",\n \"--beam-subscriptionImpact-card-progressBarLabel-textAlign\": \"right\",\n \"--beam-subscriptionImpact-card-progressBarLabel-marginLeft\": \"8px\",\n \"--beam-subscriptionImpact-card-linkContainer-textAlign\": \"left\",\n \"--beam-subscriptionImpact-card-impactLink-textDecoration\": \"underline\",\n \"--beam-subscriptionImpact-footer-textAlign\": \"center\",\n \"--beam-subscriptionImpact-footer-marginTop\": \"10px\",\n \"--beam-subscriptionImpact-share-button-icon-name\": \"share-2\",\n \"--beam-subscriptionImpact-learnAbout-arrow-display\": \"block\",\n ...defineCustomText(\"--beam-subscriptionImpact-title\", {\n fontSize: \"20px\",\n fontWeight: \"bold\",\n lineHeight: \"120%\",\n textTransform: \"capitalize\",\n fontStyle: \"normal\",\n color: \"#0a323c\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-descriptionPrefix\", {\n fontSize: \"14px\",\n fontWeight: \"800\",\n lineHeight: \"138%\",\n fontStyle: \"normal\",\n color: \"#2f302d\",\n marginTop: \"9px\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-description\", {\n fontSize: \"14px\",\n fontWeight: \"400\",\n lineHeight: \"138%\",\n fontStyle: \"normal\",\n color: \"#2f302d\",\n marginTop: \"9px\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-cardTitle\", {\n fontSize: \"12px\",\n fontWeight: \"bold\",\n lineHeight: \"120%\",\n fontStyle: \"normal\",\n textTransform: \"uppercase\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-cardDescription\", {\n fontSize: \"12px\",\n fontWeight: \"400\",\n lineHeight: \"18.2px\",\n fontStyle: \"normal\",\n color: \"#454a47\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-card-progressBarLabel\", {\n fontSize: \"10px\",\n color: \"#878a92\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-card-impactLink\", {\n fontSize: \"12px\",\n fontWeight: \"600\",\n lineHeight: \"16px\",\n fontStyle: \"normal\",\n color: \"#454a47\",\n marginTop: \"auto\",\n }),\n };\n const remoteConfig = this.impactDataController?.data?.config?.web?.theme || {};\n const config = {\n ...defaults,\n ...remoteConfig,\n };\n const serializable = Object.create({\n toCSS() {\n return _cssVariableMap(this as Record<string, string>);\n },\n });\n return Object.assign(serializable, config);\n }\n\n evaluateBreakPoints = debounce(\n () => {\n this.isMobile = window.innerWidth < 768;\n },\n 50,\n { maxWait: 50, leading: true }\n );\n\n resizeElements = debounce(\n () => {\n syncElementHeights(this.impactTitleRefs);\n syncElementHeights(this.impactLinkRefs);\n },\n 50,\n { maxWait: 50, leading: true }\n );\n\n render() {\n const { data, loading, error } = this.impactDataController;\n if (loading) {\n return _loading();\n }\n if (error || data == null) {\n return this.debug ? _errorMessage({ error: error || new Error(\"No data\") }) : \"\";\n }\n\n const communityImpact = data.community[0];\n const personalImpact = data.personal[0];\n\n const brandName = data.chain.name;\n const causeName = localizeUserString(this.configLang, personalImpact?.nonprofit.cause || \"\");\n const nonprofitName = personalImpact?.nonprofit.name;\n const personalProgressPercentage = personalImpact?.impact?.goalProgressPercentage || 0;\n const isPersonalProgressNotStarted = !(\n personalImpact?.impact?.goalProgressPercentage > 0 || personalImpact?.impact?.goalCompletionText?.length > 0\n );\n const communityProgressPercentage = communityImpact?.impact?.goalProgressPercentage || 0;\n const personalProgressDescription = `${personalProgressPercentage}% ${\n localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"percentFunded\"] || \"\") ||\n strings[this.configLang].percentFunded()\n }`;\n const communityProgressDescription = `${communityProgressPercentage}% ${\n localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"percentFunded\"] || \"\") ||\n strings[this.configLang].percentFunded()\n }`;\n const communityImage = communityImpact?.imageUrl || \"\";\n const personalImage = personalImpact?.imageUrl || \"\";\n const unselectedIcon = personalImpact?.nonprofit.causeIconUrl;\n const selectedIcon = personalImpact?.nonprofit.causeIconSelectedUrl;\n const cardStyle = this.cssVariables[\"--beam-SubscriptionImpact-cardStyle\"];\n const imagePosition = this.cssVariables[\"--beam-SubscriptionImpact-imagePosition\"];\n const isImage = cardStyle === \"'image'\";\n const iconImage = cardStyle === \"'selected_icon'\" ? selectedIcon : unselectedIcon;\n const communityCardImage = isImage ? communityImage : iconImage;\n const personalCardImage = isImage ? personalImage : iconImage;\n const personalTitle =\n localizeUserString(this.configLang, data?.config?.web?.dynamicStrings?.[\"ctaTitle\"] || \"\") ||\n strings[this.configLang].title({ causeName });\n\n const personalFutureTenseTitle =\n localizeUserString(this.configLang, data?.config?.web?.dynamicStrings?.[\"ctaFutureTenseTitle\"] || \"\") ||\n strings[this.configLang].futureTenseTitle({ causeName });\n const communityLink = isNil(data.store.communityPageURL)\n ? data.chain.communityImpactUrl\n : data.store.communityPageURL;\n const personalLink = personalImpact?.nonprofit?.website;\n const shareImage = personalImpact?.share?.imageUrl;\n const shareIcon = this.cssVariables[\"--beam-SubscriptionImpact-share-button-icon-name\"] || \"share-2\";\n const hideLearnAboutArrow = this.cssVariables[\"--beam-subscriptionImpact-learnAbout-arrow-display\"] === \"none\";\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n\n <div class=\"widget-container\" id=\"beam-subscription-impact-container\">\n <div\n class=\"header-container ${this.isMobile ? \"header-container-mobile\" : \"header-container-desktop\"}\"\n id=\"beam-subscriptionImpact-header-container\"\n >\n <h3 class=\"title\" part=\"title\" id=\"beam-subscriptionImpact-title\">\n ${isPersonalProgressNotStarted ? personalFutureTenseTitle : personalTitle}\n </h3>\n <div\n class=\"description-container ${this.isMobile\n ? \"header-container-mobile description-mobile\"\n : \"header-container-desktop description-desktop\"}\"\n >\n <span class=\"description-prefix\" part=\"description\">\n ${localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"ctaMessagePrefix\"] || \"\") ||\n strings[this.configLang].ctaMessagePrefix()}\n </span>\n <span class=\"description\" part=\"description\" id=\"beam-subscriptionImpact-description\">\n ${localizeUserString(this.configLang, data?.config?.web?.dynamicStrings?.[\"ctaMessage\"] || \"\") ||\n strings[this.configLang].description({ nonprofit: nonprofitName })}\n </span>\n </div>\n </div>\n <div class=\"root\">\n <div\n class=\"card-container cardGrid ${this.isMobile ? \"card-container-mobile\" : \"\"}\"\n id=\"beam-subscriptionImpact-card-container\"\n >\n ${this.renderInlineCard({\n title: isPersonalProgressNotStarted\n ? localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"futureTensePersonalImpactTitle\"] || \"\"\n ) || strings[this.configLang].futureTensePersonalImpactTitle()\n : localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"personalImpactTitle\"] || \"\"\n ) || strings[this.configLang].personalImpactTitle(),\n image: personalCardImage,\n description: localizeUserString(this.configLang, personalImpact?.impact?.description || \"\"),\n link: personalLink,\n linkText:\n localizeUserString(this.configLang, data?.config?.web?.dynamicStrings?.[\"personalLinkCopy\"] || \"\") ||\n strings[this.configLang].personalLinkCopy({ nonprofit: nonprofitName, hideArrow: hideLearnAboutArrow }),\n progressBarValue: personalProgressPercentage,\n progressBarText: personalProgressDescription,\n infoPill:\n localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"progressPillText\"] || \"\") ||\n strings[this.configLang].progressPillText(),\n imageType: cardStyle,\n cardType: \"personal\",\n imagePosition: imagePosition,\n })}\n ${this.renderInlineCard({\n title:\n localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"communityImpactTitle\"] || \"\"\n ) || strings[this.configLang].communityImpactTitle(),\n image: communityCardImage,\n description: localizeUserString(this.configLang, communityImpact?.impact?.description || \"\"),\n link: communityLink,\n linkText:\n localizeUserString(this.configLang, data?.config?.web?.dynamicStrings?.[\"communityLinkCopy\"] || \"\") ||\n strings[this.configLang].communityLinkCopy({ brandName: brandName, hideArrow: hideLearnAboutArrow }),\n progressBarValue: communityProgressPercentage,\n progressBarText: communityProgressDescription,\n infoPill:\n localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"progressPillText\"] || \"\") ||\n strings[this.configLang].progressPillText(),\n imageType: cardStyle,\n cardType: \"community\",\n imagePosition: imagePosition,\n })}\n </div>\n </div>\n <div class=\"footer\" part=\"social-share\">\n <beam-share-button\n imageUrl=\"${shareImage}\"\n brandName=\"${brandName}\"\n shareIcon=\"${shareIcon}\"\n buttonText=\"${localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"shareButtonText\"] || \"\"\n )}\"\n configLang=\"${this.configLang}\"\n ></beam-share-button>\n </div>\n </div>\n `;\n }\n\n renderInlineCard(impactCard: {\n title: string;\n description: string;\n image: string | null;\n link: string | null;\n linkText: string;\n progressBarValue?: number;\n progressBarText?: string;\n infoPill: string;\n imageType: \"'image'\" | \"'icon'\" | \"'selected_icon'\";\n cardType: \"personal\" | \"community\";\n imagePosition: \"'inline'\" | \"'block'\";\n }) {\n const isPersonalProgressBarValueLow =\n impactCard.progressBarValue !== undefined &&\n impactCard.progressBarValue <= 1 &&\n impactCard.cardType === \"personal\";\n return html`\n <div class=\"inline-card ${this.isMobile ? \"\" : \"inline-card-desktop\"}\">\n ${impactCard.image && impactCard.imagePosition === \"'block'\" && impactCard.imageType === \"'image'\"\n ? html` <div\n class=\"image-block-container\"\n style=\"background: url('${impactCard.image}');background-position: center;\n background-size: cover;\n background-repeat: no-repeat;\"\n ></div>`\n : \"\"}\n <h4 class=\"card-title\">${impactCard.title}</h4>\n <div class=\"inline-content\">\n ${impactCard.image && impactCard.imagePosition === \"'inline'\"\n ? html`${impactCard.imageType === \"'icon'\" || impactCard.imageType === \"'selected_icon'\"\n ? html` <div class=\"icon-container\">\n <div class=\"icon-background\">\n <img src=\"${impactCard.image}\" alt=\"\" role=\"presentation\" class=\"icon\" />\n </div>\n </div>`\n : html` <div class=\"image-container\">\n <img src=\"${impactCard.image}\" alt=\"\" role=\"presentation\" class=\"image\" />\n </div>`}`\n : \"\"}\n <div class=\"impact-container\" part=\"details\">\n <p class=\"card-description\">${impactCard.description}</p>\n <div class=\"card-progress-bar\">\n ${isPersonalProgressBarValueLow\n ? html` <beam-info-pill infoText=\"${impactCard.infoPill}\"></beam-info-pill> `\n : html`\n <beam-progress-bar value=\"${impactCard.progressBarValue}\" style=\"flex: 1 0;\"> </beam-progress-bar>\n <span class=\"details-funding-progress-label\"> ${impactCard.progressBarText} </span>\n `}\n </div>\n <div class=\"link-container\">\n <a href=\"${impactCard.link}\" class=\"impact-link\" target=\"_blank\">${impactCard.linkText}</a>\n </div>\n </div>\n </div>\n </div>\n `;\n }\n\n static styles = [\n cssReset,\n cssResponsiveUtils,\n css`\n :host {\n display: block;\n font-family: var(--beam-fontFamily);\n font-style: var(--beam-fontStyle);\n font-size: var(--beam-fontSize);\n background-color: var(--beam-backgroundColor);\n color: var(--beam-textColor);\n max-width: var(--beam-subscriptionImpact-impactCards-maxWidth);\n word-break: normal;\n }\n\n /* subscription impact container and header css */\n\n .header-container-mobile {\n text-align: var(--beam-subscriptionImpact-headerContainer-mobile-textAlign);\n }\n\n .header-container-desktop {\n text-align: var(--beam-subscriptionImpact-headerContainer-desktop-textAlign);\n }\n\n .title {\n ${useCustomText(\"--beam-subscriptionImpact-title\")};\n }\n\n .description-container {\n margin-top: var(--beam-subscriptionImpact-descriptionContainer-marginTop);\n }\n\n .description-prefix {\n ${useCustomText(\"--beam-subscriptionImpact-descriptionPrefix\")};\n }\n\n .description {\n ${useCustomText(\"--beam-subscriptionImpact-description\")};\n }\n\n .root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n flex-shrink: 0;\n }\n\n .card-container {\n margin-top: var(--beam-subscriptionImpact-cardContainer-marginTop);\n gap: var(--beam-subscriptionImpact-cardContainer-gap);\n display: grid;\n justify-content: center;\n }\n\n .card-container-mobile {\n flex-direction: column;\n }\n\n /* subscription impact card css */\n .inline-card {\n border-radius: var(--beam-subscriptionImpact-card-borderRadius);\n background: var(--beam-subscriptionImpact-card-background);\n padding: var(--beam-subscriptionImpact-card-padding);\n flex: 2;\n flex-direction: column;\n margin-top: var(--beam-subscriptionImpact-card-marginTop);\n display: flex;\n gap: var(--beam-subscriptionImpact-card-gap);\n }\n\n .inline-card-desktop {\n margin-right: var(--beam-subscriptionImpact-card-marginRight);\n }\n\n .inline-content {\n display: flex;\n flex-direction: row;\n gap: 15px;\n height: 100%;\n }\n\n .card-title {\n text-align: var(--beam-subscriptionImpact-cardTitle-textAlign);\n letter-spacing: var(--beam-subscriptionImpact-cardTitle-letterSpacing);\n ${useCustomText(\"--beam-subscriptionImpact-cardTitle\")};\n }\n\n .icon-container {\n flex: 0;\n flex-direction: column;\n }\n\n .image-block-container {\n flex-shrink: 0;\n height: var(--beam-subscriptionImpact-imageBlock-height);\n border-radius: var(--beam-subscriptionImpact-imageBlock-borderRadius);\n }\n\n .image-container {\n flex: 4;\n display: flex;\n flex-direction: column;\n }\n\n .icon-background {\n width: var(--beam-subscriptionImpact-iconBackground-width);\n height: var(--beam-subscriptionImpact-iconBackground-height);\n border-radius: var(--beam-subscriptionImpact-iconBackground-borderRadius);\n padding: var(--beam-subscriptionImpact-icon-padding);\n overflow: hidden;\n background: var(--beam-subscriptionImpact-iconBackground-background);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .icon {\n height: var(--beam-subscriptionImpact-icon-height);\n display: block;\n margin: var(--beam-subscriptionImpact-icon-margin);\n border-radius: var(--beam-subscriptionImpact-icon-borderRadius);\n }\n\n .image {\n flex: 4;\n height: auto;\n width: 100%;\n object-fit: cover;\n min-height: var(--beam-subscriptionImpact-image-minHeight);\n min-width: var(--beam-subscriptionImpact-image-minWidth);\n border-radius: var(--beam-subscriptionImpact-image-borderRadius);\n }\n\n .impact-container {\n flex: 1 1 67%;\n height: 100%;\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-content: stretch;\n align-items: stretch;\n position: relative;\n }\n\n .card-description {\n flex-grow: 1;\n padding: var(--beam-subscriptionImpact-cardDescription-padding);\n ${useCustomText(\"--beam-subscriptionImpact-cardDescription\")};\n }\n\n .card-progress-bar {\n flex: 1 1;\n display: flex;\n align-items: center;\n padding: var(--beam-subscriptionImpact-card-progressBar-padding);\n }\n\n .details-funding-progress-label {\n gap: var(--beam-subscriptionImpact-card-progressBarLabel-gap);\n white-space: nowrap;\n text-align: var(--beam-subscriptionImpact-card-progressBarLabel-textAlign);\n flex: 0 1;\n margin-left: var(--beam-subscriptionImpact-card-progressBarLabel-marginLeft);\n ${useCustomText(\"--beam-subscriptionImpact-card-progressBarLabel\")};\n }\n\n .link-container {\n text-align: var(--beam-subscriptionImpact-card-linkContainer-textAlign);\n }\n\n .impact-link {\n display: inline-block;\n text-decoration-line: var(--beam-subscriptionImpact-card-impactLink-textDecoration);\n ${useCustomText(\"--beam-subscriptionImpact-card-impactLink\")};\n }\n\n /* share footer */\n .footer {\n text-align: var(--beam-subscriptionImpact-footer-textAlign);\n margin-top: var(--beam-subscriptionImpact-footer-marginTop);\n }\n `,\n cssCardGrid({\n gap: \"var(--beam-subscriptionImpact-cardContainer-gap)\",\n itemMinWidth: \"250px\",\n columnCount: \"2\",\n }),\n ];\n}\n\ndefineCustomElement(BeamSubscriptionImpact);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-subscription-impact\": BeamSubscriptionImpact;\n }\n}\n"],"names":["BeamInfoPill","LitElement","css","html","__decorateClass","property","infoPillLabelConfigDefaults","strings","causeName","nonprofit","hideArrow","brandName","BeamSubscriptionImpact","DEFAULT_BASE_URL","enforceConfig","getImpact","makeApiKeyHeader","AsyncController","debounce","syncElementHeights","SUPPORTED_LANGUAGES","changedProperties","requireNewDataProps","prop","callback","e","logger","defaults","progressBarConfigDefaults","shareButtonConfigDefaults","defineCustomText","remoteConfig","config","_cssVariableMap","data","loading","error","_loading","_errorMessage","communityImpact","personalImpact","localizeUserString","nonprofitName","personalProgressPercentage","isPersonalProgressNotStarted","communityProgressPercentage","personalProgressDescription","communityProgressDescription","communityImage","personalImage","unselectedIcon","selectedIcon","cardStyle","imagePosition","isImage","iconImage","communityCardImage","personalCardImage","personalTitle","personalFutureTenseTitle","communityLink","isNil","personalLink","shareImage","shareIcon","hideLearnAboutArrow","impactCard","isPersonalProgressBarValueLow","cssReset","cssResponsiveUtils","useCustomText","cssCardGrid","state","queryAll","defineCustomElement"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{h as w,f as $,y as p,g as m,t as O,p as C}from"../chunks/lit-WqMxC_PA.esm.js";import{d as z,b as G}from"../chunks/lodash-D3TLHRR_.esm.js";import{p as Y}from"../chunks/progress-bar-DF7UuuHb.esm.js";import{s as S,a as K}from"../chunks/share-button-B2RwMJdP.esm.js";import"../chunks/_share-dialog-dependencies-BA9f_o0p.esm.js";import"../chunks/vendor-KKSARHWL.esm.js";import{D as q,g as J,S as Q}from"../chunks/routes-DpniIBF7.esm.js";import{u as b,A as X,d as u,a as Z,_ as ee,i as n}from"../chunks/localize-C25pEGnx.esm.js";import{c as ie,d as ae,e as te}from"../chunks/enforce-config-Ba1JkOHs.esm.js";import{_ as ne}from"../chunks/loading-template-DG4lkIIc.esm.js";import{makeApiKeyHeader as re}from"../utils/makeApiKeyHeader.js";import{c as oe}from"../chunks/responsive-BR8qUfBa.esm.js";import{logger as se}from"../utils/logger.js";import{c as ce}from"../chunks/css-card-grid-CvoGpsJH.esm.js";import"../chunks/is-all-html-elements-fcB7UUA1.esm.js";import"../chunks/share-button-Gz4GlT28.esm.js";import"../chunks/promo-types-DKAOFHJr.esm.js";import"../chunks/beam-errors-Ci0d3926.esm.js";var pe=Object.defineProperty,me=(i,e,r,l)=>{for(var t=void 0,a=i.length-1,d;a>=0;a--)(d=i[a])&&(t=d(e,r,t)||t);return t&&pe(e,r,t),t};class A extends w{constructor(){super(...arguments),this.infoText=""}static get styles(){return $`
1
+ import{h as w,f as $,y as p,g as m,t as O,p as C}from"../chunks/lit-WqMxC_PA.esm.js";import{d as z,b as G}from"../chunks/lodash-D3TLHRR_.esm.js";import{p as Y}from"../chunks/progress-bar-DF7UuuHb.esm.js";import{s as S,a as K}from"../chunks/share-button-BRjKJc5L.esm.js";import"../chunks/_share-dialog-dependencies-BG0p8uUr.esm.js";import"../chunks/vendor-KKSARHWL.esm.js";import{D as q,g as J,S as Q}from"../chunks/routes-BvX92EDq.esm.js";import{u as b,A as X,d as u,a as Z,_ as ee,i as n}from"../chunks/localize-C25pEGnx.esm.js";import{c as ie,d as ae,e as te}from"../chunks/enforce-config-Ba1JkOHs.esm.js";import{_ as ne}from"../chunks/loading-template-DG4lkIIc.esm.js";import{makeApiKeyHeader as re}from"../utils/makeApiKeyHeader.js";import{c as oe}from"../chunks/responsive-BR8qUfBa.esm.js";import{logger as se}from"../utils/logger.js";import{c as ce}from"../chunks/css-card-grid-CvoGpsJH.esm.js";import"../chunks/is-all-html-elements-fcB7UUA1.esm.js";import"../chunks/share-button-DPNNnXeM.esm.js";import"../chunks/promo-types-DKAOFHJr.esm.js";import"../chunks/beam-errors-Ci0d3926.esm.js";var pe=Object.defineProperty,me=(i,e,r,l)=>{for(var t=void 0,a=i.length-1,d;a>=0;a--)(d=i[a])&&(t=d(e,r,t)||t);return t&&pe(e,r,t),t};class A extends w{constructor(){super(...arguments),this.infoText=""}static get styles(){return $`
2
2
  sl-badge::part(base) {
3
3
  background-color: var(--beam-pillLabel-color-background, #000);
4
4
  color: var(--beam-pillLabel-color, #fff);