@beamimpact/web-sdk 1.39.2 → 1.42.0

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 (324) hide show
  1. package/README.md +7 -11
  2. package/dist/chunks/_share-dialog-dependencies-0XZ9j6DF.esm.js +2 -0
  3. package/dist/chunks/_share-dialog-dependencies-0XZ9j6DF.esm.js.map +1 -0
  4. package/dist/chunks/_share-dialog-dependencies-cBi8GG00.esm.js +2 -0
  5. package/dist/chunks/_share-dialog-dependencies-cBi8GG00.esm.js.map +1 -0
  6. package/dist/chunks/cart-contents-h60geKWa.esm.js.map +1 -1
  7. package/dist/chunks/{cart-contents-3-9fB-7m.esm.d.ts → cart-contents-sUhfwLAz.esm.d.ts} +2 -1
  8. package/dist/chunks/checkbox-P2JYPqxl.esm.js +17 -0
  9. package/dist/chunks/checkbox-P2JYPqxl.esm.js.map +1 -0
  10. package/dist/chunks/{css-card-grid-7tObtoJx.esm.js → css-card-grid-r6wxRbPV.esm.js} +2 -2
  11. package/dist/chunks/{css-card-grid-7tObtoJx.esm.js.map → css-card-grid-r6wxRbPV.esm.js.map} +1 -1
  12. package/dist/chunks/enforce-config-HksNiOMu.esm.js +3 -0
  13. package/dist/chunks/enforce-config-HksNiOMu.esm.js.map +1 -0
  14. package/dist/chunks/enforce-config-er6B5Gkj.esm.js +3 -0
  15. package/dist/chunks/enforce-config-er6B5Gkj.esm.js.map +1 -0
  16. package/dist/chunks/{events-7cGXyV7_.esm.d.ts → events-QJc86_5Y.esm.d.ts} +2 -2
  17. package/dist/chunks/{events-Y8fYvSqM.esm.js → events-_4nImo3u.esm.js} +2 -2
  18. package/dist/chunks/{events-Y8fYvSqM.esm.js.map → events-_4nImo3u.esm.js.map} +1 -1
  19. package/dist/chunks/index--phjcEHh.esm.js +2 -0
  20. package/dist/chunks/index--phjcEHh.esm.js.map +1 -0
  21. package/dist/chunks/{index-uCfdsWtt.esm.js → index-1nI7l5vj.esm.js} +2 -2
  22. package/dist/chunks/{index-uCfdsWtt.esm.js.map → index-1nI7l5vj.esm.js.map} +1 -1
  23. package/dist/chunks/index-2K1cEtb1.esm.js +2 -0
  24. package/dist/chunks/index-2K1cEtb1.esm.js.map +1 -0
  25. package/dist/chunks/index-3-VTK-nH.esm.js +2 -0
  26. package/dist/chunks/index-3-VTK-nH.esm.js.map +1 -0
  27. package/dist/chunks/index-AQ8n9ODJ.esm.js +2 -0
  28. package/dist/chunks/{index-XlnH7ARQ.esm.js.map → index-AQ8n9ODJ.esm.js.map} +1 -1
  29. package/dist/chunks/index-E8H5A7Qq.esm.js +2 -0
  30. package/dist/chunks/index-E8H5A7Qq.esm.js.map +1 -0
  31. package/dist/chunks/index-FQExZDX9.esm.js +2 -0
  32. package/dist/chunks/index-FQExZDX9.esm.js.map +1 -0
  33. package/dist/chunks/index-JA-7NqMF.esm.js +2 -0
  34. package/dist/chunks/index-JA-7NqMF.esm.js.map +1 -0
  35. package/dist/chunks/{index-8KzbQIsU.esm.d.ts → index-M-0eAFA6.esm.d.ts} +1 -1
  36. package/dist/chunks/{index-phDmC-TS.esm.js → index-NOF_HeFP.esm.js} +2 -2
  37. package/dist/chunks/index-NOF_HeFP.esm.js.map +1 -0
  38. package/dist/chunks/index-PiMq5a49.esm.js +2 -0
  39. package/dist/chunks/index-PiMq5a49.esm.js.map +1 -0
  40. package/dist/chunks/{index-rFBYAk7m.esm.d.ts → index-VHXu2kRx.esm.d.ts} +1 -1
  41. package/dist/chunks/index-XCMf22lv.esm.js +2 -0
  42. package/dist/chunks/index-XCMf22lv.esm.js.map +1 -0
  43. package/dist/chunks/{index-0VcD5nhV.esm.d.ts → index-ZgCs6F4e.esm.d.ts} +4 -4
  44. package/dist/chunks/{index-TOzSFOvI.esm.d.ts → index-_Hgu38MH.esm.d.ts} +1 -1
  45. package/dist/chunks/{index-SxFKifVJ.esm.d.ts → index-_UuYsIe9.esm.d.ts} +1 -1
  46. package/dist/chunks/index-cUb-0Igl.esm.js +2 -0
  47. package/dist/chunks/{index-dsJIs5Sr.esm.js.map → index-cUb-0Igl.esm.js.map} +1 -1
  48. package/dist/chunks/index-eHSdKArB.esm.js +2 -0
  49. package/dist/chunks/index-eHSdKArB.esm.js.map +1 -0
  50. package/dist/chunks/{index-HBDtoJlQ.esm.d.ts → index-euJMrXIc.esm.d.ts} +1 -1
  51. package/dist/chunks/{index-Hb-jziQs.esm.d.ts → index-hn6JhG_w.esm.d.ts} +7 -1
  52. package/dist/chunks/{index-6t9MtjyS.esm.d.ts → index-mTXm0DPh.esm.d.ts} +9 -1
  53. package/dist/chunks/{index-Q1vx4WtG.esm.js → index-mw70Caof.esm.js} +2 -2
  54. package/dist/chunks/{index-Q1vx4WtG.esm.js.map → index-mw70Caof.esm.js.map} +1 -1
  55. package/dist/chunks/{index-8yrr7ZZv.esm.js → index-n6QNFLXV.esm.js} +2 -2
  56. package/dist/chunks/index-n6QNFLXV.esm.js.map +1 -0
  57. package/dist/chunks/index-sOAq6oM0.esm.js +2 -0
  58. package/dist/chunks/index-sOAq6oM0.esm.js.map +1 -0
  59. package/dist/chunks/{index-uF-Qtewb.esm.js → index-x2kxA_Xo.esm.js} +2 -2
  60. package/dist/chunks/index-x2kxA_Xo.esm.js.map +1 -0
  61. package/dist/chunks/{index-Lw32NXij.esm.js → index-z8c9I9IQ.esm.js} +2 -2
  62. package/dist/chunks/index-z8c9I9IQ.esm.js.map +1 -0
  63. package/dist/chunks/{lit-qtGbjGnK.esm.js → lit-3QHn3fwl.esm.js} +5 -5
  64. package/dist/chunks/lit-3QHn3fwl.esm.js.map +1 -0
  65. package/dist/chunks/loading-template-mLjOGXMj.esm.js +2 -0
  66. package/dist/chunks/{loading-template-Av0IUyKF.esm.js.map → loading-template-mLjOGXMj.esm.js.map} +1 -1
  67. package/dist/chunks/localize-IRs8JglT.esm.js +29 -0
  68. package/dist/chunks/localize-IRs8JglT.esm.js.map +1 -0
  69. package/dist/chunks/localize-SsJbTmMj.esm.js +29 -0
  70. package/dist/chunks/localize-SsJbTmMj.esm.js.map +1 -0
  71. package/dist/chunks/{openapi-spec--MzXvfCC.esm.d.ts → openapi-spec--WoGcZgR.esm.d.ts} +232 -9
  72. package/dist/chunks/order-page-4qPr8vqZ.esm.js +2 -0
  73. package/dist/chunks/order-page-4qPr8vqZ.esm.js.map +1 -0
  74. package/dist/chunks/order-page-Ps8Qyjfg.esm.d.ts +74 -0
  75. package/dist/chunks/order-page-akvp5h2x.esm.js +2 -0
  76. package/dist/chunks/order-page-akvp5h2x.esm.js.map +1 -0
  77. package/dist/chunks/{progress-bar-Sn2QspHy.esm.js → progress-bar-HVG_n8_6.esm.js} +7 -6
  78. package/dist/chunks/progress-bar-HVG_n8_6.esm.js.map +1 -0
  79. package/dist/chunks/{promo-pill-label-j0A8qZ0c.esm.js → promo-pill-label-3Xtr5ALT.esm.js} +4 -3
  80. package/dist/chunks/{promo-pill-label-j0A8qZ0c.esm.js.map → promo-pill-label-3Xtr5ALT.esm.js.map} +1 -1
  81. package/dist/chunks/{responsive-aWj_7ZN_.esm.js → responsive-KbDsZM6S.esm.js} +2 -2
  82. package/dist/chunks/{responsive-aWj_7ZN_.esm.js.map → responsive-KbDsZM6S.esm.js.map} +1 -1
  83. package/dist/chunks/routes-qbvie7oI.esm.d.ts +445 -0
  84. package/dist/chunks/routes-r5D_LdgT.esm.js +2 -0
  85. package/dist/chunks/routes-r5D_LdgT.esm.js.map +1 -0
  86. package/dist/chunks/routes-rmhOokKz.esm.js +2 -0
  87. package/dist/chunks/routes-rmhOokKz.esm.js.map +1 -0
  88. package/dist/chunks/share-button-CqTd80g8.esm.js +2 -0
  89. package/dist/chunks/share-button-CqTd80g8.esm.js.map +1 -0
  90. package/dist/chunks/share-button-JqbM7N_4.esm.js +163 -0
  91. package/dist/chunks/share-button-JqbM7N_4.esm.js.map +1 -0
  92. package/dist/chunks/share-button-hDn8fnBI.esm.d.ts +22 -0
  93. package/dist/chunks/share-button-jpa1X3FA.esm.js +163 -0
  94. package/dist/chunks/share-button-jpa1X3FA.esm.js.map +1 -0
  95. package/dist/chunks/shoelace-components-NR11kwmz.esm.js +2 -0
  96. package/dist/chunks/shoelace-components-NR11kwmz.esm.js.map +1 -0
  97. package/dist/chunks/shoelace-components-yXqj8DyM.esm.js +2 -0
  98. package/dist/chunks/shoelace-components-yXqj8DyM.esm.js.map +1 -0
  99. package/dist/chunks/{types-CfbVJRfU.esm.d.ts → types-zbTZ8-KP.esm.d.ts} +4 -1
  100. package/dist/chunks/update-cart-05ZiT0Xf.esm.js +2 -0
  101. package/dist/chunks/update-cart-05ZiT0Xf.esm.js.map +1 -0
  102. package/dist/chunks/{update-cart-xaWdPxse.esm.d.ts → update-cart-SajqAoez.esm.d.ts} +2 -1
  103. package/dist/chunks/update-cart-lTgKV-Zu.esm.js +2 -0
  104. package/dist/chunks/update-cart-lTgKV-Zu.esm.js.map +1 -0
  105. package/dist/chunks/{vendor-jQ8cxMpw.esm.js → vendor--f7lkyBk.esm.js} +44 -44
  106. package/dist/chunks/vendor--f7lkyBk.esm.js.map +1 -0
  107. package/dist/components/beam-partner-logos.esm.js +2 -2
  108. package/dist/components/beam-partner-logos.esm.js.map +1 -1
  109. package/dist/components/beam-partner-logos.js +2 -2
  110. package/dist/components/beam-partner-logos.js.map +1 -1
  111. package/dist/components/community-impact.d.ts +1 -1
  112. package/dist/components/community-impact.esm.js +15 -9
  113. package/dist/components/community-impact.esm.js.map +1 -1
  114. package/dist/components/community-impact.js +15 -9
  115. package/dist/components/community-impact.js.map +1 -1
  116. package/dist/components/cumulative-impact.d.ts +1 -1
  117. package/dist/components/cumulative-impact.esm.js +1 -1
  118. package/dist/components/cumulative-impact.esm.js.map +1 -1
  119. package/dist/components/cumulative-impact.js +1 -1
  120. package/dist/components/cumulative-impact.js.map +1 -1
  121. package/dist/components/impact-overview.d.ts +16 -4
  122. package/dist/components/impact-overview.esm.js +29 -146
  123. package/dist/components/impact-overview.esm.js.map +1 -1
  124. package/dist/components/impact-overview.js +29 -146
  125. package/dist/components/impact-overview.js.map +1 -1
  126. package/dist/components/index.d.ts +8 -3
  127. package/dist/components/index.esm.js +1 -1
  128. package/dist/components/index.js +1 -1
  129. package/dist/components/post-purchase.d.ts +6 -3
  130. package/dist/components/post-purchase.esm.js +2 -1
  131. package/dist/components/post-purchase.esm.js.map +1 -1
  132. package/dist/components/post-purchase.js +2 -1
  133. package/dist/components/post-purchase.js.map +1 -1
  134. package/dist/components/product-details-page.d.ts +7 -1
  135. package/dist/components/product-details-page.esm.js +67 -19
  136. package/dist/components/product-details-page.esm.js.map +1 -1
  137. package/dist/components/product-details-page.js +67 -19
  138. package/dist/components/product-details-page.js.map +1 -1
  139. package/dist/components/redeem-transaction.d.ts +4 -3
  140. package/dist/components/redeem-transaction.esm.js +44 -55
  141. package/dist/components/redeem-transaction.esm.js.map +1 -1
  142. package/dist/components/redeem-transaction.js +44 -55
  143. package/dist/components/redeem-transaction.js.map +1 -1
  144. package/dist/components/select-nonprofit.d.ts +3 -3
  145. package/dist/components/select-nonprofit.esm.js +20 -16
  146. package/dist/components/select-nonprofit.esm.js.map +1 -1
  147. package/dist/components/select-nonprofit.js +20 -16
  148. package/dist/components/select-nonprofit.js.map +1 -1
  149. package/dist/components/select-subscription-nonprofit.d.ts +67 -0
  150. package/dist/components/select-subscription-nonprofit.esm.js +373 -0
  151. package/dist/components/select-subscription-nonprofit.esm.js.map +1 -0
  152. package/dist/components/select-subscription-nonprofit.js +373 -0
  153. package/dist/components/select-subscription-nonprofit.js.map +1 -0
  154. package/dist/components/shopify.d.ts +8 -6
  155. package/dist/components/shopify.esm.js +1 -1
  156. package/dist/components/shopify.esm.js.map +1 -1
  157. package/dist/components/shopify.js +1 -1
  158. package/dist/components/shopify.js.map +1 -1
  159. package/dist/components/social-share.d.ts +47 -0
  160. package/dist/components/social-share.esm.js +170 -0
  161. package/dist/components/social-share.esm.js.map +1 -0
  162. package/dist/components/social-share.js +170 -0
  163. package/dist/components/social-share.js.map +1 -0
  164. package/dist/components/subscription-impact.d.ts +179 -0
  165. package/dist/components/subscription-impact.esm.js +269 -0
  166. package/dist/components/subscription-impact.esm.js.map +1 -0
  167. package/dist/components/subscription-impact.js +269 -0
  168. package/dist/components/subscription-impact.js.map +1 -0
  169. package/dist/components/subscription-management.d.ts +143 -14
  170. package/dist/components/subscription-management.esm.js +267 -31
  171. package/dist/components/subscription-management.esm.js.map +1 -1
  172. package/dist/components/subscription-management.js +267 -31
  173. package/dist/components/subscription-management.js.map +1 -1
  174. package/dist/index.d.ts +23 -14
  175. package/dist/index.esm.js +1 -1
  176. package/dist/index.js +1 -1
  177. package/dist/integrations/beam.d.ts +1 -1
  178. package/dist/integrations/beam.esm.js +1 -1
  179. package/dist/integrations/beam.js +1 -1
  180. package/dist/integrations/cart.d.ts +3 -3
  181. package/dist/integrations/cart.esm.js +1 -1
  182. package/dist/integrations/cart.js +1 -1
  183. package/dist/integrations/index.d.ts +12 -10
  184. package/dist/integrations/index.esm.js +1 -1
  185. package/dist/integrations/index.js +1 -1
  186. package/dist/integrations/logs.d.ts +2 -2
  187. package/dist/integrations/logs.esm.js +1 -1
  188. package/dist/integrations/logs.js +1 -1
  189. package/dist/integrations/session.esm.js +1 -1
  190. package/dist/integrations/session.js +1 -1
  191. package/dist/integrations/shopify.d.ts +7 -5
  192. package/dist/integrations/shopify.esm.js +1 -1
  193. package/dist/integrations/shopify.js +1 -1
  194. package/dist/integrations/statsig.d.ts +1 -1
  195. package/dist/integrations/statsig.esm.js +14 -10
  196. package/dist/integrations/statsig.esm.js.map +1 -1
  197. package/dist/integrations/statsig.js +14 -10
  198. package/dist/integrations/statsig.js.map +1 -1
  199. package/dist/integrations/utils.d.ts +4 -4
  200. package/dist/integrations/utils.esm.js +1 -1
  201. package/dist/integrations/utils.js +1 -1
  202. package/dist/react/beam-partner-logos.esm.js +1 -1
  203. package/dist/react/beam-partner-logos.js +1 -1
  204. package/dist/react/community-impact.d.ts +1 -1
  205. package/dist/react/community-impact.esm.js +1 -1
  206. package/dist/react/community-impact.esm.js.map +1 -1
  207. package/dist/react/community-impact.js +1 -1
  208. package/dist/react/community-impact.js.map +1 -1
  209. package/dist/react/cumulative-impact.d.ts +1 -1
  210. package/dist/react/cumulative-impact.esm.js +1 -1
  211. package/dist/react/cumulative-impact.esm.js.map +1 -1
  212. package/dist/react/cumulative-impact.js +1 -1
  213. package/dist/react/cumulative-impact.js.map +1 -1
  214. package/dist/react/impact-overview.d.ts +2 -1
  215. package/dist/react/impact-overview.esm.js +1 -1
  216. package/dist/react/impact-overview.esm.js.map +1 -1
  217. package/dist/react/impact-overview.js +1 -1
  218. package/dist/react/impact-overview.js.map +1 -1
  219. package/dist/react/index.d.ts +14 -4
  220. package/dist/react/index.esm.js +1 -1
  221. package/dist/react/index.js +1 -1
  222. package/dist/react/post-purchase.d.ts +4 -3
  223. package/dist/react/post-purchase.esm.js +1 -1
  224. package/dist/react/post-purchase.esm.js.map +1 -1
  225. package/dist/react/post-purchase.js +1 -1
  226. package/dist/react/post-purchase.js.map +1 -1
  227. package/dist/react/product-details-page.esm.js +1 -1
  228. package/dist/react/product-details-page.esm.js.map +1 -1
  229. package/dist/react/product-details-page.js +1 -1
  230. package/dist/react/product-details-page.js.map +1 -1
  231. package/dist/react/redeem-transaction.d.ts +4 -4
  232. package/dist/react/redeem-transaction.esm.js +1 -1
  233. package/dist/react/redeem-transaction.esm.js.map +1 -1
  234. package/dist/react/redeem-transaction.js +1 -1
  235. package/dist/react/redeem-transaction.js.map +1 -1
  236. package/dist/react/select-nonprofit.d.ts +4 -4
  237. package/dist/react/select-nonprofit.esm.js +1 -1
  238. package/dist/react/select-nonprofit.esm.js.map +1 -1
  239. package/dist/react/select-nonprofit.js +1 -1
  240. package/dist/react/select-nonprofit.js.map +1 -1
  241. package/dist/react/select-subscription-nonprofit.d.ts +19 -0
  242. package/dist/react/select-subscription-nonprofit.esm.js +2 -0
  243. package/dist/react/select-subscription-nonprofit.esm.js.map +1 -0
  244. package/dist/react/select-subscription-nonprofit.js +2 -0
  245. package/dist/react/select-subscription-nonprofit.js.map +1 -0
  246. package/dist/react/social-share.d.ts +12 -0
  247. package/dist/react/social-share.esm.js +2 -0
  248. package/dist/react/social-share.esm.js.map +1 -0
  249. package/dist/react/social-share.js +2 -0
  250. package/dist/react/social-share.js.map +1 -0
  251. package/dist/react/subscription-impact.d.ts +13 -0
  252. package/dist/react/subscription-impact.esm.js +2 -0
  253. package/dist/react/subscription-impact.esm.js.map +1 -0
  254. package/dist/react/subscription-impact.js +2 -0
  255. package/dist/react/subscription-impact.js.map +1 -0
  256. package/dist/react/subscription-management.d.ts +9 -8
  257. package/dist/react/subscription-management.esm.js +1 -1
  258. package/dist/react/subscription-management.esm.js.map +1 -1
  259. package/dist/react/subscription-management.js +1 -1
  260. package/dist/react/subscription-management.js.map +1 -1
  261. package/dist/utils/events.d.ts +4 -4
  262. package/dist/utils/events.esm.js +1 -1
  263. package/dist/utils/events.js +1 -1
  264. package/dist/utils/index.d.ts +4 -4
  265. package/dist/utils/index.esm.js +1 -1
  266. package/dist/utils/index.js +1 -1
  267. package/dist/utils/network-listeners.esm.js +1 -1
  268. package/dist/utils/network-listeners.js +1 -1
  269. package/package.json +1 -1
  270. package/dist/chunks/_share-dialog-dependencies-K7WZWxUL.esm.js +0 -2
  271. package/dist/chunks/_share-dialog-dependencies-K7WZWxUL.esm.js.map +0 -1
  272. package/dist/chunks/_share-dialog-dependencies-VjhRF4_b.esm.js +0 -2
  273. package/dist/chunks/_share-dialog-dependencies-VjhRF4_b.esm.js.map +0 -1
  274. package/dist/chunks/index-8yrr7ZZv.esm.js.map +0 -1
  275. package/dist/chunks/index-EHubF2KN.esm.js +0 -2
  276. package/dist/chunks/index-EHubF2KN.esm.js.map +0 -1
  277. package/dist/chunks/index-EUMlzqI-.esm.js +0 -2
  278. package/dist/chunks/index-EUMlzqI-.esm.js.map +0 -1
  279. package/dist/chunks/index-Lw32NXij.esm.js.map +0 -1
  280. package/dist/chunks/index-U5URUABu.esm.js +0 -2
  281. package/dist/chunks/index-U5URUABu.esm.js.map +0 -1
  282. package/dist/chunks/index-V-BsPYtl.esm.js +0 -2
  283. package/dist/chunks/index-V-BsPYtl.esm.js.map +0 -1
  284. package/dist/chunks/index-VELk9_yH.esm.js +0 -2
  285. package/dist/chunks/index-VELk9_yH.esm.js.map +0 -1
  286. package/dist/chunks/index-XlnH7ARQ.esm.js +0 -2
  287. package/dist/chunks/index-cekgAcEE.esm.js +0 -2
  288. package/dist/chunks/index-cekgAcEE.esm.js.map +0 -1
  289. package/dist/chunks/index-dsJIs5Sr.esm.js +0 -2
  290. package/dist/chunks/index-o7YiP4gC.esm.js +0 -2
  291. package/dist/chunks/index-o7YiP4gC.esm.js.map +0 -1
  292. package/dist/chunks/index-phDmC-TS.esm.js.map +0 -1
  293. package/dist/chunks/index-q_XLkvqc.esm.js +0 -2
  294. package/dist/chunks/index-q_XLkvqc.esm.js.map +0 -1
  295. package/dist/chunks/index-uF-Qtewb.esm.js.map +0 -1
  296. package/dist/chunks/index-xR738adx.esm.js +0 -2
  297. package/dist/chunks/index-xR738adx.esm.js.map +0 -1
  298. package/dist/chunks/index-xfPSpbUV.esm.js +0 -2
  299. package/dist/chunks/index-xfPSpbUV.esm.js.map +0 -1
  300. package/dist/chunks/lit-qtGbjGnK.esm.js.map +0 -1
  301. package/dist/chunks/loading-template-Av0IUyKF.esm.js +0 -2
  302. package/dist/chunks/localize-F31ae3j6.esm.js +0 -30
  303. package/dist/chunks/localize-F31ae3j6.esm.js.map +0 -1
  304. package/dist/chunks/localize-fH8KOrMi.esm.js +0 -30
  305. package/dist/chunks/localize-fH8KOrMi.esm.js.map +0 -1
  306. package/dist/chunks/order-page-6Q-6CHug.esm.js +0 -2
  307. package/dist/chunks/order-page-6Q-6CHug.esm.js.map +0 -1
  308. package/dist/chunks/order-page-DPx5SUKM.esm.d.ts +0 -255
  309. package/dist/chunks/order-page-mYYXHDVr.esm.js +0 -2
  310. package/dist/chunks/order-page-mYYXHDVr.esm.js.map +0 -1
  311. package/dist/chunks/progress-bar-Sn2QspHy.esm.js.map +0 -1
  312. package/dist/chunks/routes-3jKReDai.esm.js +0 -2
  313. package/dist/chunks/routes-3jKReDai.esm.js.map +0 -1
  314. package/dist/chunks/routes-b8sncPq8.esm.js +0 -2
  315. package/dist/chunks/routes-b8sncPq8.esm.js.map +0 -1
  316. package/dist/chunks/shoelace-components-7XWYNn-Z.esm.js +0 -2
  317. package/dist/chunks/shoelace-components-7XWYNn-Z.esm.js.map +0 -1
  318. package/dist/chunks/shoelace-components-paAsUPkU.esm.js +0 -2
  319. package/dist/chunks/shoelace-components-paAsUPkU.esm.js.map +0 -1
  320. package/dist/chunks/update-cart-GaVMWI6J.esm.js +0 -2
  321. package/dist/chunks/update-cart-GaVMWI6J.esm.js.map +0 -1
  322. package/dist/chunks/update-cart-xW6a5_bz.esm.js +0 -2
  323. package/dist/chunks/update-cart-xW6a5_bz.esm.js.map +0 -1
  324. package/dist/chunks/vendor-jQ8cxMpw.esm.js.map +0 -1
@@ -0,0 +1,373 @@
1
+ import{f as I,g as p,t as D,h as L,y as S,u as M,q as x,m as F}from"../chunks/lit-3QHn3fwl.esm.js";import{d as P}from"../chunks/lodash-P8OIs-at.esm.js";import{D as A,f as U,u as W,S as R}from"../chunks/routes-rmhOokKz.esm.js";import{u as d,A as k,d as u,a as z,_ as N,i as l}from"../chunks/localize-IRs8JglT.esm.js";import{p as E}from"../chunks/progress-bar-HVG_n8_6.esm.js";import{c as _,d as j,e as v}from"../chunks/enforce-config-HksNiOMu.esm.js";import{_ as H}from"../chunks/loading-template-mLjOGXMj.esm.js";import{makeApiKeyHeader as C}from"../utils/makeApiKeyHeader.esm.js";import{B as K}from"../chunks/beam-errors-P-Lu07Ce.esm.js";import{createScopedLocalStorage as O}from"../utils/local-storage.esm.js";import{c as Y}from"../chunks/css-card-grid-r6wxRbPV.esm.js";import{_ as G}from"../chunks/checkbox-P2JYPqxl.esm.js";import{c as q}from"../chunks/events-_4nImo3u.esm.js";import"./beam-partner-logos.esm.js";import"../utils/logger.esm.js";const m={en:{ctaTitle:()=>"Choose Your Impact",ctaMessagePrefix:()=>" at no extra cost.",ctaMessage:({donationPercentage:n="1%"}={})=>`Choose a nonprofit and ${n} will be donated there for you with every order of your subscription,`,submitButtonText:()=>"Confirm",submitButtonTextCompleted:()=>"Confirmed!",chooseButtonText:()=>"Choose"},fr:{ctaTitle:()=>"Choose Your Impact",ctaMessagePrefix:()=>" at no extra cost.",ctaMessage:({donationPercentage:n="1%"}={})=>`Choose a nonprofit and ${n} will be donated there for you with every order of your subscription,`,submitButtonText:()=>"Confirm",submitButtonTextCompleted:()=>"Confirmed!",chooseButtonText:()=>"Choose"},de:{ctaTitle:()=>"Choose Your Impact",ctaMessagePrefix:()=>" at no extra cost.",ctaMessage:({donationPercentage:n="1%"}={})=>`Choose a nonprofit and ${n} will be donated there for you with every order of your subscription,`,submitButtonText:()=>"Confirm",submitButtonTextCompleted:()=>"Confirmed!",chooseButtonText:()=>"Choose"},es:{ctaTitle:()=>"Choose Your Impact",ctaMessagePrefix:()=>" at no extra cost.",ctaMessage:({donationPercentage:n="1%"}={})=>`Choose a nonprofit and ${n} will be donated there for you with every order of your subscription,`,submitButtonText:()=>"Confirm",submitButtonTextCompleted:()=>"Confirmed!",chooseButtonText:()=>"Choose"},it:{ctaTitle:()=>"Choose Your Impact",ctaMessagePrefix:()=>" at no extra cost.",ctaMessage:({donationPercentage:n="1%"}={})=>`Choose a nonprofit and ${n} will be donated there for you with every order of your subscription,`,submitButtonText:()=>"Confirm",submitButtonTextCompleted:()=>"Confirmed!",chooseButtonText:()=>"Choose"},pl:{ctaTitle:()=>"Choose Your Impact",ctaMessagePrefix:()=>" at no extra cost.",ctaMessage:({donationPercentage:n="1%"}={})=>`Choose a nonprofit and ${n} will be donated there for you with every order of your subscription,`,submitButtonText:()=>"Confirm",submitButtonTextCompleted:()=>"Confirmed!",chooseButtonText:()=>"Choose"}};var V=Object.defineProperty,J=Object.getOwnPropertyDescriptor,c=(n,o,t,e)=>{for(var i=e>1?void 0:e?J(o,t):o,b=n.length-1,a;b>=0;b--)(a=n[b])&&(i=(e?a(o,t,i):a(i))||i);return e&&i&&V(o,t,i),i};const Q=2*60*60*1e3;class s extends L{constructor(){super(...arguments),this.baseUrl=A,this.lang="en",this.debug=!1,this.isMobile=window.innerWidth<768,this.getChainNonprofits=async()=>{v(["apiKey","subscriptionId","storeId"],this);const o=await U({baseUrl:this.baseUrl,headers:C(this.apiKey),requestBody:{storeId:this.storeId,postalCode:this.postalCode,countryCode:this.countryCode,widgetName:"select-subscription-nonprofit",version:"1.0.0",lang:this.configLang}});return this.localStorage.setItemJson("chainNonprofits",{createdAt:new Date,data:o}),o},this.updateNonprofitIdForSubscription=async({selectedNonprofitId:o})=>this.subscriptionId?(v(["apiKey","subscriptionId"],this),W({baseUrl:this.baseUrl,headers:C(this.apiKey),requestBody:{remoteSubscriptionId:this.subscriptionId,nonprofitId:o,selectionMethod:"dashboard"}})):null,this.nonprofitListDataController=new k(this,this.getChainNonprofits),this.subscriptionUpdateDataController=new k(this,this.updateNonprofitIdForSubscription),this.localStorage=O(this),this.makeHandleSelect=(o,t,e)=>async i=>{if(!this.allowChange)return;const b=this.selectedNonprofitId;if(i instanceof KeyboardEvent){let a=null;switch(i.key){case"ArrowUp":case"ArrowLeft":t===0?a=e[e.length-1]:a=e[t-1],i.preventDefault();break;case"ArrowRight":case"ArrowDown":t===e.length-1?a=e[0]:a=e[t+1],i.preventDefault();break;case"Enter":case" ":i.preventDefault();break;default:return}if(a){const f=this.renderRoot.querySelector(`[data-value="${a.nonprofit.id}"]`);f!==null&&(f.tabIndex=0,f.focus());return}}if(i.currentTarget instanceof HTMLElement){if(b===o)return;this.selectedNonprofitId=o}},this.handleSubmit=async()=>{const{selectedNonprofitId:o}=this;if(!this.allowSubmit||o==null)return;await this.subscriptionUpdateDataController.exec({selectedNonprofitId:o});const t=this.nonprofitListDataController?.data?.nonprofits.find(e=>e.nonprofit.id===o);this.dispatchEvent(new q({selectedNonprofitId:o,nonprofitName:t?.nonprofit.name}))},this.evaluateBreakPoints=P(()=>{this.isMobile=window.innerWidth<768},50,{maxWait:50,leading:!0})}get configLang(){return R[this.lang]||"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.evaluateBreakPoints)}async firstUpdated(o){await this.restoreStateFromCache()}async updated(o){const t=["baseUrl","storeId","apiKey","countryCode","postalCode","lang"];for(const e of t)if(o.has(e)){await this.nonprofitListDataController.exec();break}}disconnectedCallback(){super.disconnectedCallback()}restoreStateFromCache(){v(["apiKey"],this);try{const{createdAt:o=0,data:t}=this.localStorage.getItemJson("chainNonprofits")||{};new Date(o).valueOf()+Q>new Date().valueOf()&&(this.nonprofitListDataController.data=t,this.nonprofitListDataController.loading=!1)}catch{}}get allowChange(){return this.subscriptionUpdateDataController.data==null&&!this.subscriptionUpdateDataController.loading}get allowSubmit(){return!!(this.selectedNonprofitId&&this.allowChange)}get cssVariables(){const o={...E,"--beam-fontFamily":"inherit","--beam-fontStyle":"inherit","--beam-fontSize":"inherit","--beam-textColor":"inherit","--beam-backgroundColor":"inherit","--beam-SelectSubscriptionNonprofit-maxWidth":"800px","--beam-SelectSubscriptionNonprofit-mobile-header-alignItems":"center","--beam-SelectSubscriptionNonprofit-desktop-header-alignItems":"center","--beam-SelectSubscriptionNonprofit-headerContainer-padding":"2px","--beam-SelectSubscriptionNonprofit-title-textAlign":"inherit","--beam-SelectSubscriptionNonprofit-description-textAlign":"center","--beam-SelectSubscriptionNonprofit-desktop-description-width":"80%","--beam-SelectSubscriptionNonprofit-mobile-description-width":"90%","--beam-SelectSubscriptionNonprofit-options-marginTop":"10px","--beam-SelectSubscriptionNonprofit-options-padding":"10px","--beam-SelectSubscriptionNonprofit-options-borderWidth":"1px","--beam-SelectSubscriptionNonprofit-options-borderColor":"transparent","--beam-SelectSubscriptionNonprofit-options-borderRadius":"8px","--beam-SelectSubscriptionNonprofit-options-backgroundColor":"#F9FBFB","--beam-SelectSubscriptionNonprofit-option-padding":"15px","--beam-SelectSubscriptionNonprofit-options-hover-backgroundColor":"#e1f1ee","--beam-SelectSubscriptionNonprofit-options-hover-borderWidth":"1px","--beam-SelectSubscriptionNonprofit-options-hover-borderColor":"#e1f1ee","--beam-SelectSubscriptionNonprofit-options-selected-borderWidth":"1px","--beam-SelectSubscriptionNonprofit-options-selected-borderColor":"#e1f1ee","--beam-SelectSubscriptionNonprofit-options-selected-backgroundColor":"#e1f1ee","--beam-SelectSubscriptionNonprofit-options-gap":"20px","--beam-SelectSubscriptionNonprofit-options-minWidth":"250px","--beam-SelectSubscriptionNonprofit-options-columnCount":"2","--beam-SelectSubscriptionNonprofit-options-icon-borderRadius":"4px","--beam-SelectSubscriptionNonprofit-options-icon-padding":"10px","--beam-SelectSubscriptionNonprofit-options-image-borderRadius":"4px","--beam-SelectSubscriptionNonprofit-cardIconContainer-height":"100%","--beam-SelectSubscriptionNonprofit-iconBackground-width":"50px","--beam-SelectSubscriptionNonprofit-iconBackground-height":"50px","--beam-SelectSubscriptionNonprofit-iconBackground-borderRadius":"50%","--beam-SelectSubscriptionNonprofit-iconBackground-background":"#0a323c","--beam-SelectSubscriptionNonprofit-icon-height":"50px","--beam-SelectSubscriptionNonprofit-checkmark-backgroundColor":"transparent","--beam-SelectSubscriptionNonprofit-checkmark-color":"transparent","--beam-SelectSubscriptionNonprofit-checkmark-borderColor":"#0A323C","--beam-SelectSubscriptionNonprofit-checkmark-selected-color":"#fff","--beam-SelectSubscriptionNonprofit-checkmark-selected-backgroundColor":"#0A323C","--beam-SelectSubscriptionNonprofit-checkmark-selected-borderColor":"#0A323C","--beam-SelectSubscriptionNonprofit-checkmark-hover-color":"#fff","--beam-SelectSubscriptionNonprofit-checkmark-hover-backgroundColor":"#0A323C","--beam-SelectSubscriptionNonprofit-checkmark-hover-borderColor":"#0A323C","--beam-SelectSubscriptionNonprofit-cardStyle":"'selected_icon'","--beam-SelectSubscriptionNonprofit-submitButton-color":"#fff","--beam-SelectSubscriptionNonprofit-submitButton-hover-color":"#fff","--beam-SelectSubscriptionNonprofit-submitButton-disabled-color":"#fff","--beam-SelectSubscriptionNonprofit-submitButton-backgroundColor":"#0A323C","--beam-SelectSubscriptionNonprofit-submitButton-hover-backgroundColor":"#222","--beam-SelectSubscriptionNonprofit-submitButton-disabled-backgroundColor":"#767676","--beam-SelectSubscriptionNonprofit-submitButton-borderColor":"#333","--beam-SelectSubscriptionNonprofit-submitButton-hover-borderColor":"#222","--beam-SelectSubscriptionNonprofit-submitButton-disabled-borderColor":"#767676","--beam-SelectSubscriptionNonprofit-submitButton-fontSize":"14px","--beam-SelectSubscriptionNonprofit-submitButton-fontWeight":"inherit","--beam-SelectSubscriptionNonprofit-submitButton-fontFamily":"inherit","--beam-SelectSubscriptionNonprofit-submitButton-textTransform":"none","--beam-SelectSubscriptionNonprofit-submitButton-borderRadius":"30px","--beam-SelectSubscriptionNonprofit-submitButton-padding":"10px 30px",...u("--beam-SelectSubscriptionNonprofit-title",{fontSize:"20px",fontWeight:"bold",lineHeight:"120%",textTransform:"capitalize",color:"#0a323c"}),...u("--beam-SelectSubscriptionNonprofit-descriptionPrefix",{marginTop:"3px",color:"#2f302d",fontSize:"14px",fontWeight:"bold",fontStyle:"normal",lineHeight:"138%"}),...u("--beam-SelectSubscriptionNonprofit-description",{marginTop:"3px",color:"#2f302d",fontSize:"14px",fontStyle:"normal",lineHeight:"138%"}),"--beam-SelectSubscriptionNonprofit-details-cause-letterSpacing":"0.36px",...u("--beam-SelectSubscriptionNonprofit-details-cause",{fontSize:"12px",fontWeight:"bold",color:"#0a323c",fontStyle:"normal",lineHeight:"120%"}),...u("--beam-SelectSubscriptionNonprofit-details-description",{fontSize:"12px",marginTop:"5px",fontStyle:"normal",lineHeight:"140%",fontWeight:"400"}),"--beam-SelectSubscriptionNonprofit-details-fundingProgress-marginTop":"7px",...u("--beam-SelectSubscriptionNonprofit-details-funding-progress-label",{fontSize:"12px",color:"#666666",fontWeight:"400",fontStyle:"normal"}),"--beam-SelectSubscriptionNonprofit-stickyFooter-boxShadow":"0px -20px 20px 0px rgba(0, 0, 0, 0.04)","--beam-SelectSubscriptionNonprofit-stickyFooter-padding":"15px 0px 45px","--beam-SelectSubscriptionNonprofit-stickyFooter-backgroundColor":"white","--beam-SelectSubscriptionNonprofit-stickyFooter-marginLeft":"-15px","--beam-SelectSubscriptionNonprofit-stickyFooter-marginRight":"-15px","--beam-SelectSubscriptionNonprofit-stickyFooter-width":"auto"},t=this.nonprofitListDataController?.data?.config?.web?.theme||{},e={...o,...t};return Object.assign(Object.create({toCSS(){return z(this)}}),e)}render(){const{selectedNonprofitId:o}=this,{data:t,loading:e}=this.nonprofitListDataController;if(e&&!t)return H();if(this.nonprofitListDataController.error)return this.debug?N({error:this.nonprofitListDataController.error}):"";if(this.subscriptionUpdateDataController.error&&this.debug)return N({error:this.subscriptionUpdateDataController.error});if(t==null)return this.debug?N({error:new K("No data")}):"";const i=t?.nonprofits||[],b=i.find(r=>r.nonprofit.id===o)||null,a=this.cssVariables["--beam-SelectSubscriptionNonprofit-cardStyle"],f=a==="'icon'"||a==="'selected_icon'";return S`
2
+ <style>
3
+ :host {
4
+ ${this.cssVariables.toCSS()}
5
+ }
6
+ </style>
7
+ <div class="widget-container ${this.isMobile?"widget-container-mobile":""}">
8
+ <div class="header-container ${this.isMobile?"header-container-mobile":"header-container-desktop"}">
9
+ <h3 class="title" part="title" id="beam-SelectSubscriptionNonprofit-title">
10
+ ${l(this.configLang,t?.config?.web?.title||"")||m[this.configLang].ctaTitle()}
11
+ </h3>
12
+ <div
13
+ class="description-container ${this.isMobile?"header-container-mobile description-mobile":"header-container-desktop description-desktop"}"
14
+ >
15
+ <span class="description" part="description">
16
+ ${l(this.configLang,t?.config?.web?.additionalStrings?.ctaMessage||"")||m[this.configLang].ctaMessage()}
17
+ </span>
18
+ <span class="description-prefix" part="description">
19
+ ${l(this.configLang,t?.config?.web?.additionalStrings?.ctaMessagePrefix||"")||m[this.configLang].ctaMessagePrefix()}
20
+ </span>
21
+ </div>
22
+ </div>
23
+ <div class="root">
24
+ <div
25
+ tabindex="-1"
26
+ class="options cardGrid"
27
+ part="options"
28
+ role="radiogroup"
29
+ aria-labelledby="beam-SelectSubscriptionNonprofit-title"
30
+ ?aria-disabled=${!this.allowChange}
31
+ >
32
+ ${M(i,r=>r.nonprofit.id,(r,h)=>{const g=o===r.nonprofit.id,y=g||b==null&&h===0,w=r.nonprofit.causeIconUrl,B=r.nonprofit.causeIconSelectedUrl,$=r.imageUrl,T=a==="'selected_icon'"?B:w;return S`
33
+ <div
34
+ class="option ${x({isSelected:g,isDisabled:!this.allowChange})}"
35
+ part="option"
36
+ role="radio"
37
+ tabindex="${y?0:-1}"
38
+ data-value=${r.nonprofit.id}
39
+ ?aria-checked=${g}
40
+ @click=${this.makeHandleSelect(r.nonprofit.id,h,i)}
41
+ @keydown=${this.makeHandleSelect(r.nonprofit.id,h,i)}
42
+ aria-label="${l(this.configLang,r.nonprofit.cause||"")}"
43
+ >
44
+ ${f?S` <div class="card-icon-container">
45
+ <div class="icon-background">
46
+ <img src="${T}" alt="" role="presentation" class="card-icon" />
47
+ </div>
48
+ </div>`:S` <div class="card-image-container">
49
+ <img src="${$}" alt="" role="presentation" class="card-image" />
50
+ </div>`}
51
+ <div class="card-details-container" part="details">
52
+ <div class="details-cause">
53
+ <span part="checkbox" class="checkbox">
54
+ <span style="line-height: 0;"> ${G({height:"10px",width:"10px"})} </span>
55
+ </span>
56
+ ${l(this.configLang,r.nonprofit.cause||"")}
57
+ </div>
58
+ <p class="details-description">
59
+ ${F(l(this.configLang,r.impact.description||""))}
60
+ </p>
61
+ <div class="card-progress-bar">
62
+ <beam-progress-bar
63
+ value="${r.impact.goalProgressPercentage}"
64
+ style="flex: 1 0;"
65
+ ></beam-progress-bar>
66
+ <span class="details-funding-progress-label">
67
+ ${l(this.configLang,r.impact.goalProgressText)}
68
+ </span>
69
+ </div>
70
+ </div>
71
+ </div>
72
+ `})}
73
+ </div>
74
+ </div>
75
+ <div
76
+ id="footer"
77
+ class="footer ${this.isMobile?"sticky-footer":"footer-desktop"} ${this.isMobile&&!this.selectedNonprofitId?"hideStickyFooter":""}"
78
+ >
79
+ <button
80
+ type="button"
81
+ ?aria-disabled=${!this.allowSubmit}
82
+ @click="${this.handleSubmit}"
83
+ class="${x({isDisabled:!this.allowSubmit,submitButton:!0})}"
84
+ part="submitButton"
85
+ >
86
+ ${this.subscriptionUpdateDataController.data!==null?l(this.configLang,t?.config?.web?.additionalStrings?.submitButtonTextCompleted||"")||m[this.configLang].submitButtonTextCompleted():l(this.configLang,t?.config?.web?.additionalStrings?.submitButtonText||"")||m[this.configLang].submitButtonText()}
87
+ </button>
88
+ </div>
89
+ </div>
90
+ `}}s.tagName="beam-select-subscription-nonprofit",s.styles=[_,I`
91
+ :host {
92
+ display: block;
93
+ max-width: var(--beam-SelectSubscriptionNonprofit-maxWidth);
94
+ font-family: var(--beam-fontFamily);
95
+ font-style: var(--beam-fontStyle);
96
+ font-size: var(--beam-fontSize);
97
+ background-color: var(--beam-backgroundColor);
98
+ color: var(--beam-textColor);
99
+ word-break: normal;
100
+ }
101
+
102
+ .widget-container-mobile {
103
+ position: relative;
104
+ }
105
+
106
+ .header-container {
107
+ align-items: flex-start;
108
+ justify-content: space-between;
109
+ padding: var(--beam-SelectSubscriptionNonprofit-headerContainer-padding);
110
+ display: flex;
111
+ flex-direction: column;
112
+ gap: 8px;
113
+ }
114
+
115
+ .header-container-mobile {
116
+ align-items: var(--beam-SelectSubscriptionNonprofit-mobile-header-alignItems);
117
+ }
118
+
119
+ .header-container-desktop {
120
+ align-items: var(--beam-SelectSubscriptionNonprofit-desktop-header-alignItems);
121
+ }
122
+
123
+ .title {
124
+ text-align: var(--beam-SelectSubscriptionNonprofit-title-textAlign);
125
+ ${d("--beam-SelectSubscriptionNonprofit-title")};
126
+ }
127
+
128
+ .description-container {
129
+ text-align: var(--beam-SelectSubscriptionNonprofit-description-textAlign);
130
+ }
131
+
132
+ .description-prefix {
133
+ ${d("--beam-SelectSubscriptionNonprofit-descriptionPrefix")};
134
+ }
135
+
136
+ .description {
137
+ ${d("--beam-SelectSubscriptionNonprofit-description")};
138
+ }
139
+
140
+ .description-desktop {
141
+ width: var(--beam-SelectSubscriptionNonprofit-desktop-description-width);
142
+ }
143
+
144
+ .description-mobile {
145
+ width: var(--beam-SelectSubscriptionNonprofit-mobile-description-width);
146
+ }
147
+
148
+ .root {
149
+ display: flex;
150
+ flex-direction: column;
151
+ gap: 12px;
152
+ flex-shrink: 0;
153
+ }
154
+
155
+ .options {
156
+ margin-top: var(--beam-SelectSubscriptionNonprofit-options-marginTop);
157
+ padding: var(--beam-SelectSubscriptionNonprofit-options-padding);
158
+ }
159
+
160
+ .card-icon-container {
161
+ height: var(--beam-SelectSubscriptionNonprofit-cardIconContainer-height);
162
+ flex: 0;
163
+ flex-direction: column;
164
+ }
165
+
166
+ .icon-background {
167
+ width: var(--beam-SelectSubscriptionNonprofit-iconBackground-width);
168
+ height: var(--beam-SelectSubscriptionNonprofit-iconBackground-height);
169
+ border-radius: var(--beam-SelectSubscriptionNonprofit-iconBackground-borderRadius);
170
+ overflow: hidden;
171
+ background: var(--beam-SelectSubscriptionNonprofit-iconBackground-background);
172
+ display: flex;
173
+ justify-content: center;
174
+ align-items: center;
175
+ }
176
+
177
+ .card-icon {
178
+ height: var(--beam-SelectSubscriptionNonprofit-icon-height);
179
+ display: block;
180
+ padding: var(--beam-SelectSubscriptionNonprofit-options-icon-padding);
181
+ border-radius: var(--beam-SelectSubscriptionNonprofit-options-icon-borderRadius);
182
+ }
183
+
184
+ .card-image-container {
185
+ height: 100%;
186
+ flex: 4;
187
+ display: flex;
188
+ flex-direction: column;
189
+ }
190
+
191
+ .card-image {
192
+ flex: 1;
193
+ height: auto;
194
+ width: 100%;
195
+ object-fit: cover;
196
+ border-radius: var(--beam-SelectSubscriptionNonprofit-options-image-borderRadius);
197
+ }
198
+
199
+ .option {
200
+ /* outline is used to prevent layer shift if changing border width */
201
+ outline: var(--beam-SelectSubscriptionNonprofit-options-borderWidth) solid
202
+ var(--beam-SelectSubscriptionNonprofit-options-borderColor);
203
+ border-radius: var(--beam-SelectSubscriptionNonprofit-options-borderRadius);
204
+ background-color: var(--beam-SelectSubscriptionNonprofit-options-backgroundColor);
205
+ cursor: pointer;
206
+ transition: border-color 0.2s, background-color 0.2s, outline 0.2s;
207
+ display: flex;
208
+ gap: 15px;
209
+ padding: var(--beam-SelectSubscriptionNonprofit-option-padding);
210
+ }
211
+
212
+ .options.cardGrid {
213
+ order: 3;
214
+ }
215
+
216
+ .option:not(.isDisabled):focus-visible,
217
+ .option:not(.isDisabled):hover,
218
+ .option:not(.isSelected):focus-visible,
219
+ .option:not(.isSelected):hover {
220
+ background-color: var(--beam-SelectSubscriptionNonprofit-options-hover-backgroundColor);
221
+ outline: var(--beam-SelectSubscriptionNonprofit-options-hover-borderWidth) solid
222
+ var(--beam-SelectSubscriptionNonprofit-options-hover-borderColor);
223
+ }
224
+
225
+ .option.isDisabled {
226
+ cursor: not-allowed;
227
+ }
228
+
229
+ .option.isSelected {
230
+ outline: var(--beam-SelectSubscriptionNonprofit-options-selected-borderWidth) solid
231
+ var(--beam-SelectSubscriptionNonprofit-options-selected-borderColor);
232
+ background-color: var(--beam-SelectSubscriptionNonprofit-options-selected-backgroundColor);
233
+ }
234
+
235
+ .option.isSelected:focus-visible,
236
+ .option.isSelected:hover {
237
+ outline: var(--beam-SelectSubscriptionNonprofit-options-selected-borderWidth) solid
238
+ var(--beam-SelectSubscriptionNonprofit-options-selected-borderColor);
239
+ }
240
+
241
+ .option .checkbox {
242
+ margin-left: 5px;
243
+ float: right;
244
+ padding: 2px;
245
+ border-radius: 100%;
246
+ display: inline-flex;
247
+ align-items: center;
248
+ justify-content: center;
249
+ border-width: 1px;
250
+ border-style: solid;
251
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s;
252
+ color: var(--beam-SelectSubscriptionNonprofit-checkmark-color);
253
+ background-color: var(--beam-SelectSubscriptionNonprofit-checkmark-backgroundColor);
254
+ border-color: var(--beam-SelectSubscriptionNonprofit-checkmark-borderColor);
255
+ }
256
+
257
+ .option.isSelected .checkbox,
258
+ .option.isSelected:focus-visible .checkbox,
259
+ .option.isSelected:hover .checkbox {
260
+ color: var(--beam-SelectSubscriptionNonprofit-checkmark-selected-color);
261
+ background-color: var(--beam-SelectSubscriptionNonprofit-checkmark-selected-backgroundColor);
262
+ border-color: var(--beam-SelectSubscriptionNonprofit-checkmark-selected-borderColor);
263
+ }
264
+
265
+ .option:not(.isSelected):focus-visible .checkbox,
266
+ .option:not(.isSelected):hover .checkbox {
267
+ color: var(--beam-SelectSubscriptionNonprofit-checkmark-hover-color);
268
+ background-color: var(--beam-SelectSubscriptionNonprofit-checkmark-hover-backgroundColor);
269
+ border-color: var(--beam-SelectSubscriptionNonprofit-checkmark-hover-borderColor);
270
+ }
271
+
272
+ .card-details-container {
273
+ flex: 1 1 67%;
274
+ height: 100%;
275
+ display: flex;
276
+ flex-direction: column;
277
+ flex-wrap: nowrap;
278
+ justify-content: space-between;
279
+ align-content: stretch;
280
+ align-items: stretch;
281
+ position: relative;
282
+ }
283
+
284
+ .details-cause {
285
+ flex: 0 1;
286
+ ${d("--beam-SelectSubscriptionNonprofit-details-cause")};
287
+ letter-spacing: var(--beam-SelectSubscriptionNonprofit-details-cause-letterSpacing);
288
+ }
289
+
290
+ .details-description {
291
+ flex: 1 1;
292
+ ${d("--beam-SelectSubscriptionNonprofit-details-description")}
293
+ }
294
+
295
+ .details-description .nonprofitName {
296
+ font-weight: var(--beam-SelectSubscriptionNonprofit-details-nonprofitName-fontWeight);
297
+ font-style: var(--beam-SelectSubscriptionNonprofit-details-nonprofitName-fontStyle);
298
+ }
299
+
300
+ .card-progress-bar {
301
+ display: flex;
302
+ margin-top: var(--beam-SelectSubscriptionNonprofit-details-fundingProgress-marginTop);
303
+ align-items: center;
304
+ }
305
+
306
+ .details-funding-progress-label {
307
+ white-space: nowrap;
308
+ text-align: right;
309
+ flex: 0 1;
310
+ margin-left: 15px;
311
+ ${d("--beam-SelectSubscriptionNonprofit-details-funding-progress-label")}
312
+ }
313
+
314
+ .footer {
315
+ text-align: center;
316
+ }
317
+
318
+ .sticky-footer {
319
+ position: sticky;
320
+ background: var(--beam-SelectSubscriptionNonprofit-stickyFooter-backgroundColor);
321
+ bottom: 0;
322
+ box-shadow: var(--beam-SelectSubscriptionNonprofit-stickyFooter-boxShadow);
323
+ padding: var(--beam-SelectSubscriptionNonprofit-stickyFooter-padding);
324
+ left: 0;
325
+ right: 0;
326
+ margin-left: var(--beam-SelectSubscriptionNonprofit-stickyFooter-marginLeft);
327
+ margin-right: var(--beam-SelectSubscriptionNonprofit-stickyFooter-marginRight);
328
+ width: var(--beam-SelectSubscriptionNonprofit-stickyFooter-width);
329
+ }
330
+
331
+ .footer-desktop {
332
+ margin-top: 20px;
333
+ }
334
+
335
+ .submitButton {
336
+ color: var(--beam-SelectSubscriptionNonprofit-submitButton-color);
337
+ background-color: var(--beam-SelectSubscriptionNonprofit-submitButton-backgroundColor);
338
+ border: 1px solid var(--beam-SelectSubscriptionNonprofit-submitButton-borderColor);
339
+ font-size: var(--beam-SelectSubscriptionNonprofit-submitButton-fontSize);
340
+ font-weight: var(--beam-SelectSubscriptionNonprofit-submitButton-fontWeight);
341
+ font-family: var(--beam-SelectSubscriptionNonprofit-submitButton-fontFamily);
342
+ text-transform: var(--beam-SelectSubscriptionNonprofit-submitButton-textTransform);
343
+ border-radius: var(--beam-SelectSubscriptionNonprofit-submitButton-borderRadius);
344
+ padding: var(--beam-SelectSubscriptionNonprofit-submitButton-padding);
345
+ transition: background-color 0.2s, border-color 0.2s, color 0.2s;
346
+ cursor: pointer;
347
+ display: inline-flex;
348
+ width: 234.173px;
349
+ justify-content: center;
350
+ align-items: center;
351
+ gap: 10px;
352
+ flex-shrink: 0;
353
+ }
354
+
355
+ .submitButton:not(.isDisabled):focus-visible,
356
+ .submitButton:not(.isDisabled):hover {
357
+ background-color: var(--beam-SelectSubscriptionNonprofit-submitButton-hover-backgroundColor);
358
+ border-color: var(--beam-SelectSubscriptionNonprofit-submitButton-hover-borderColor);
359
+ color: var(--beam-SelectSubscriptionNonprofit-submitButton-hover-color);
360
+ }
361
+
362
+ .submitButton.isDisabled {
363
+ color: var(--beam-SelectSubscriptionNonprofit-submitButton-disabled-color);
364
+ background-color: var(--beam-SelectSubscriptionNonprofit-submitButton-disabled-backgroundColor);
365
+ border-color: var(--beam-SelectSubscriptionNonprofit-submitButton-disabled-borderColor);
366
+ cursor: not-allowed;
367
+ }
368
+
369
+ .hideStickyFooter {
370
+ display: none;
371
+ }
372
+ `,Y({gap:"var(--beam-SelectSubscriptionNonprofit-options-gap)",itemMinWidth:"var(--beam-SelectSubscriptionNonprofit-options-minWidth)",columnCount:"var(--beam-SelectSubscriptionNonprofit-options-columnCount)"})],c([p({type:String})],s.prototype,"baseUrl",2),c([p({type:String})],s.prototype,"apiKey",2),c([p({type:String})],s.prototype,"subscriptionId",2),c([p({type:Number})],s.prototype,"storeId",2),c([p({type:String})],s.prototype,"countryCode",2),c([p({type:String})],s.prototype,"postalCode",2),c([p({type:Number,reflect:!0})],s.prototype,"selectedNonprofitId",2),c([p({type:String})],s.prototype,"lang",2),c([p({type:Boolean})],s.prototype,"debug",2),c([D()],s.prototype,"isMobile",2),j(s);export{s as BeamSelectSubscriptionNonprofit};
373
+ //# sourceMappingURL=select-subscription-nonprofit.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-subscription-nonprofit.esm.js","sources":["../../src/components/select-subscription-nonprofit/strings.ts","../../src/components/select-subscription-nonprofit/index.ts"],"sourcesContent":["export const strings = {\n en: {\n ctaTitle: () => `Choose Your Impact`,\n ctaMessagePrefix: () => ` at no extra cost.`,\n ctaMessage: ({ donationPercentage = \"1%\" } = {}) =>\n `Choose a nonprofit and ${donationPercentage} will be donated there for you with every order of your subscription,`,\n submitButtonText: () => `Confirm`,\n submitButtonTextCompleted: () => `Confirmed!`,\n chooseButtonText: () => `Choose`,\n },\n fr: {\n ctaTitle: () => `Choose Your Impact`,\n ctaMessagePrefix: () => ` at no extra cost.`,\n ctaMessage: ({ donationPercentage = \"1%\" } = {}) =>\n `Choose a nonprofit and ${donationPercentage} will be donated there for you with every order of your subscription,`,\n submitButtonText: () => `Confirm`,\n submitButtonTextCompleted: () => `Confirmed!`,\n chooseButtonText: () => `Choose`,\n },\n de: {\n ctaTitle: () => `Choose Your Impact`,\n ctaMessagePrefix: () => ` at no extra cost.`,\n ctaMessage: ({ donationPercentage = \"1%\" } = {}) =>\n `Choose a nonprofit and ${donationPercentage} will be donated there for you with every order of your subscription,`,\n submitButtonText: () => `Confirm`,\n submitButtonTextCompleted: () => `Confirmed!`,\n chooseButtonText: () => `Choose`,\n },\n es: {\n ctaTitle: () => `Choose Your Impact`,\n ctaMessagePrefix: () => ` at no extra cost.`,\n ctaMessage: ({ donationPercentage = \"1%\" } = {}) =>\n `Choose a nonprofit and ${donationPercentage} will be donated there for you with every order of your subscription,`,\n submitButtonText: () => `Confirm`,\n submitButtonTextCompleted: () => `Confirmed!`,\n chooseButtonText: () => `Choose`,\n },\n it: {\n ctaTitle: () => `Choose Your Impact`,\n ctaMessagePrefix: () => ` at no extra cost.`,\n ctaMessage: ({ donationPercentage = \"1%\" } = {}) =>\n `Choose a nonprofit and ${donationPercentage} will be donated there for you with every order of your subscription,`,\n submitButtonText: () => `Confirm`,\n submitButtonTextCompleted: () => `Confirmed!`,\n chooseButtonText: () => `Choose`,\n },\n pl: {\n ctaTitle: () => `Choose Your Impact`,\n ctaMessagePrefix: () => ` at no extra cost.`,\n ctaMessage: ({ donationPercentage = \"1%\" } = {}) =>\n `Choose a nonprofit and ${donationPercentage} will be donated there for you with every order of your subscription,`,\n submitButtonText: () => `Confirm`,\n submitButtonTextCompleted: () => `Confirmed!`,\n chooseButtonText: () => `Choose`,\n },\n};\n","import { css, html, LitElement, PropertyValues } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\nimport { repeat } from \"lit/directives/repeat.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport debounce from \"lodash-es/debounce\";\nimport { postChainEligibleNonprofitsForCart, updateSubscription } from \"../../api-sdk/v3/routes\";\nimport { defineCustomText, useCustomText } from \"../../shared/fragments/custom-text\";\nimport { progressBarConfigDefaults } from \"../../shared/components/progress-bar\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES } from \"../../api-sdk/constants\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { makeApiKeyHeader } from \"../../utils/makeApiKeyHeader\";\nimport { _cssVariableMap } from \"../../shared/fragments/css-variable-map\";\nimport { BeamError, MissingConfig } from \"../../utils/beam-errors\";\nimport { createScopedLocalStorage } from \"../../utils/local-storage\";\nimport { cssCardGrid } from \"../../shared/fragments/css-card-grid\";\nimport { _checkbox } from \"../../shared/fragments/checkbox\";\nimport { BeamNonprofitSelectEvent } from \"../../utils/events\";\nimport { localizeUserString } from \"../../shared/localize\";\nimport { TNumericId } from \"../../shared/types\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { strings } from \"./strings\";\nimport \"../../shared/components/progress-bar\";\nimport \"../beam-partner-logos\";\n\ninterface SubscriptionRequiredConfig {\n apiKey: string;\n subscriptionId: string;\n storeId: TNumericId;\n}\nconst cacheTtl = 2 * 60 * 60 * 1000;\nexport class BeamSelectSubscriptionNonprofit extends LitElement {\n static tagName = \"beam-select-subscription-nonprofit\";\n\n @property({ type: String }) public baseUrl: string = DEFAULT_BASE_URL;\n @property({ type: String }) public apiKey?: SubscriptionRequiredConfig[\"apiKey\"];\n @property({ type: String }) public subscriptionId?: SubscriptionRequiredConfig[\"subscriptionId\"];\n @property({ type: Number }) public storeId?: SubscriptionRequiredConfig[\"storeId\"];\n @property({ type: String }) public countryCode?: string;\n @property({ type: String }) public postalCode?: string;\n @property({ type: Number, reflect: true }) public selectedNonprofitId?: TNumericId;\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n @property({ type: Boolean }) public debug = false;\n @state() private isMobile = window.innerWidth < 768;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n private getChainNonprofits = async () => {\n if (!enforceConfig<SubscriptionRequiredConfig>([\"apiKey\", \"subscriptionId\", \"storeId\"], this)) {\n throw new MissingConfig();\n }\n const res = await postChainEligibleNonprofitsForCart({\n baseUrl: this.baseUrl,\n headers: makeApiKeyHeader(this.apiKey),\n requestBody: {\n storeId: this.storeId,\n postalCode: this.postalCode,\n countryCode: this.countryCode,\n widgetName: \"select-subscription-nonprofit\",\n version: \"1.0.0\",\n lang: this.configLang,\n },\n });\n\n this.localStorage.setItemJson(\"chainNonprofits\", {\n createdAt: new Date(),\n data: res,\n });\n\n return res;\n };\n\n private updateNonprofitIdForSubscription = async ({ selectedNonprofitId }: { selectedNonprofitId: TNumericId }) => {\n if (!this.subscriptionId) {\n return null;\n }\n\n if (!enforceConfig<SubscriptionRequiredConfig>([\"apiKey\", \"subscriptionId\"], this)) {\n throw new MissingConfig();\n }\n\n return updateSubscription({\n baseUrl: this.baseUrl,\n headers: makeApiKeyHeader(this.apiKey),\n requestBody: {\n remoteSubscriptionId: this.subscriptionId,\n nonprofitId: selectedNonprofitId,\n selectionMethod: \"dashboard\",\n },\n });\n };\n\n private nonprofitListDataController = new AsyncController<typeof this.getChainNonprofits>(\n this,\n this.getChainNonprofits\n );\n\n private subscriptionUpdateDataController = new AsyncController<typeof this.updateNonprofitIdForSubscription>(\n this,\n this.updateNonprofitIdForSubscription\n );\n\n private localStorage = createScopedLocalStorage(this as LitElement & SubscriptionRequiredConfig);\n\n connectedCallback() {\n super.connectedCallback();\n window.addEventListener(\"resize\", this.evaluateBreakPoints);\n }\n\n async firstUpdated(_changedProperties: PropertyValues) {\n await this.restoreStateFromCache();\n }\n\n async updated(previousPropertyValues: PropertyValues) {\n // Reload nonprofit list on change of any of these props:\n // Also fires on first load as props go from undefined => value\n const requireNewDataProps = [\"baseUrl\", \"storeId\", \"apiKey\", \"countryCode\", \"postalCode\", \"lang\"];\n for (const prop of requireNewDataProps) {\n if (previousPropertyValues.has(prop)) {\n await this.nonprofitListDataController.exec();\n break;\n }\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n }\n\n private restoreStateFromCache() {\n if (!enforceConfig<SubscriptionRequiredConfig>([\"apiKey\"], this)) throw new MissingConfig();\n\n try {\n // try to restore nonprofit list if we have data and it's not too old\n // list will continue to refresh async and replace this data when ready\n const { createdAt = 0, data } =\n this.localStorage.getItemJson<{ createdAt: string; data: any }>(\"chainNonprofits\") || {};\n if (new Date(createdAt).valueOf() + cacheTtl > new Date().valueOf()) {\n this.nonprofitListDataController.data = data;\n this.nonprofitListDataController.loading = false;\n }\n } catch (err) {\n // ignore cache retrieval error and continue to fetch data\n }\n }\n\n /**\n * Factory for selection event handler\n *\n * Nonprofit selector implements radio-button semantics:\n * * If nothing is selected, tabbing into selector selects first card\n * * Arrow keys changes focus between cards, but doesn't select\n * * Enter/Space sets selection\n * * If a nonprofit is selected, arrow keys change focus AND selection\n * * Click sets selection\n * @param {number} id\n * @param {number} index\n * @param {{id: number}[]} nonprofits\n * @returns {(evt: Event) => void}\n */\n private makeHandleSelect =\n (id: number, index: number, nonprofits: { nonprofit: { id: number } }[]): ((event: Event) => void) =>\n async (event: Event) => {\n if (!this.allowChange) return;\n\n const currentId = this.selectedNonprofitId;\n if (event instanceof KeyboardEvent) {\n let nextFocus = null;\n switch (event.key) {\n case \"ArrowUp\":\n case \"ArrowLeft\":\n if (index === 0) {\n nextFocus = nonprofits[nonprofits.length - 1];\n } else {\n nextFocus = nonprofits[index - 1];\n }\n event.preventDefault();\n break;\n case \"ArrowRight\":\n case \"ArrowDown\":\n if (index === nonprofits.length - 1) {\n nextFocus = nonprofits[0];\n } else {\n nextFocus = nonprofits[index + 1];\n }\n event.preventDefault();\n break;\n case \"Enter\":\n case \" \":\n event.preventDefault();\n break; // continue to toggle-selection block below\n default:\n return;\n }\n if (nextFocus) {\n const focusTarget = this.renderRoot.querySelector(`[data-value=\"${nextFocus.nonprofit.id}\"]`) as HTMLElement;\n if (focusTarget !== null) {\n focusTarget.tabIndex = 0;\n focusTarget.focus();\n }\n return;\n }\n }\n // Handle selection with click or Enter/Space key\n const targetEl = event.currentTarget;\n if (targetEl instanceof HTMLElement) {\n if (currentId === id) {\n // this[\"selected-nonprofit-id\"] = undefined; // unset (not supported)\n return; // no API call or localStorage change needed\n } else {\n this.selectedNonprofitId = id;\n }\n }\n };\n\n get allowChange() {\n // Disallow change if already submitted\n return this.subscriptionUpdateDataController.data == null && !this.subscriptionUpdateDataController.loading;\n }\n\n get allowSubmit() {\n // Disabled if no nonprofit has been selected yet or if submission was already received\n return Boolean(this.selectedNonprofitId && this.allowChange);\n }\n\n handleSubmit = async () => {\n const { selectedNonprofitId } = this;\n if (!this.allowSubmit || selectedNonprofitId == null) return;\n await this.subscriptionUpdateDataController.exec({ selectedNonprofitId });\n\n const selectedNonprofit = this.nonprofitListDataController?.data?.nonprofits.find(\n (np) => np.nonprofit.id === selectedNonprofitId\n );\n\n this.dispatchEvent(\n new BeamNonprofitSelectEvent({ selectedNonprofitId, nonprofitName: selectedNonprofit?.nonprofit.name })\n );\n };\n\n evaluateBreakPoints = debounce(\n () => {\n this.isMobile = window.innerWidth < 768;\n },\n 50,\n { maxWait: 50, leading: true }\n );\n\n public get cssVariables() {\n const defaults = {\n ...progressBarConfigDefaults,\n \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"inherit\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n \"--beam-SelectSubscriptionNonprofit-maxWidth\": \"800px\",\n \"--beam-SelectSubscriptionNonprofit-mobile-header-alignItems\": \"center\",\n \"--beam-SelectSubscriptionNonprofit-desktop-header-alignItems\": \"center\",\n \"--beam-SelectSubscriptionNonprofit-headerContainer-padding\": \"2px\",\n \"--beam-SelectSubscriptionNonprofit-title-textAlign\": \"inherit\",\n \"--beam-SelectSubscriptionNonprofit-description-textAlign\": \"center\",\n \"--beam-SelectSubscriptionNonprofit-desktop-description-width\": \"80%\",\n \"--beam-SelectSubscriptionNonprofit-mobile-description-width\": \"90%\",\n \"--beam-SelectSubscriptionNonprofit-options-marginTop\": \"10px\",\n \"--beam-SelectSubscriptionNonprofit-options-padding\": \"10px\",\n \"--beam-SelectSubscriptionNonprofit-options-borderWidth\": \"1px\",\n \"--beam-SelectSubscriptionNonprofit-options-borderColor\": \"transparent\",\n \"--beam-SelectSubscriptionNonprofit-options-borderRadius\": \"8px\",\n \"--beam-SelectSubscriptionNonprofit-options-backgroundColor\": \"#F9FBFB\",\n \"--beam-SelectSubscriptionNonprofit-option-padding\": \"15px\",\n \"--beam-SelectSubscriptionNonprofit-options-hover-backgroundColor\": \"#e1f1ee\",\n \"--beam-SelectSubscriptionNonprofit-options-hover-borderWidth\": \"1px\",\n \"--beam-SelectSubscriptionNonprofit-options-hover-borderColor\": \"#e1f1ee\",\n \"--beam-SelectSubscriptionNonprofit-options-selected-borderWidth\": \"1px\",\n \"--beam-SelectSubscriptionNonprofit-options-selected-borderColor\": \"#e1f1ee\",\n \"--beam-SelectSubscriptionNonprofit-options-selected-backgroundColor\": \"#e1f1ee\",\n \"--beam-SelectSubscriptionNonprofit-options-gap\": \"20px\",\n \"--beam-SelectSubscriptionNonprofit-options-minWidth\": \"250px\",\n \"--beam-SelectSubscriptionNonprofit-options-columnCount\": \"2\",\n \"--beam-SelectSubscriptionNonprofit-options-icon-borderRadius\": \"4px\",\n \"--beam-SelectSubscriptionNonprofit-options-icon-padding\": \"10px\",\n \"--beam-SelectSubscriptionNonprofit-options-image-borderRadius\": \"4px\",\n \"--beam-SelectSubscriptionNonprofit-cardIconContainer-height\": \"100%\",\n \"--beam-SelectSubscriptionNonprofit-iconBackground-width\": \"50px\",\n \"--beam-SelectSubscriptionNonprofit-iconBackground-height\": \"50px\",\n \"--beam-SelectSubscriptionNonprofit-iconBackground-borderRadius\": \"50%\",\n \"--beam-SelectSubscriptionNonprofit-iconBackground-background\": \"#0a323c\",\n \"--beam-SelectSubscriptionNonprofit-icon-height\": \"50px\",\n \"--beam-SelectSubscriptionNonprofit-checkmark-backgroundColor\": \"transparent\",\n \"--beam-SelectSubscriptionNonprofit-checkmark-color\": \"transparent\",\n \"--beam-SelectSubscriptionNonprofit-checkmark-borderColor\": \"#0A323C\",\n \"--beam-SelectSubscriptionNonprofit-checkmark-selected-color\": \"#fff\",\n \"--beam-SelectSubscriptionNonprofit-checkmark-selected-backgroundColor\": \"#0A323C\",\n \"--beam-SelectSubscriptionNonprofit-checkmark-selected-borderColor\": \"#0A323C\",\n \"--beam-SelectSubscriptionNonprofit-checkmark-hover-color\": \"#fff\",\n \"--beam-SelectSubscriptionNonprofit-checkmark-hover-backgroundColor\": \"#0A323C\",\n \"--beam-SelectSubscriptionNonprofit-checkmark-hover-borderColor\": \"#0A323C\",\n \"--beam-SelectSubscriptionNonprofit-cardStyle\": \"'selected_icon'\",\n \"--beam-SelectSubscriptionNonprofit-submitButton-color\": \"#fff\",\n \"--beam-SelectSubscriptionNonprofit-submitButton-hover-color\": \"#fff\",\n \"--beam-SelectSubscriptionNonprofit-submitButton-disabled-color\": \"#fff\",\n \"--beam-SelectSubscriptionNonprofit-submitButton-backgroundColor\": \"#0A323C\",\n \"--beam-SelectSubscriptionNonprofit-submitButton-hover-backgroundColor\": \"#222\",\n \"--beam-SelectSubscriptionNonprofit-submitButton-disabled-backgroundColor\": \"#767676\",\n \"--beam-SelectSubscriptionNonprofit-submitButton-borderColor\": \"#333\",\n \"--beam-SelectSubscriptionNonprofit-submitButton-hover-borderColor\": \"#222\",\n \"--beam-SelectSubscriptionNonprofit-submitButton-disabled-borderColor\": \"#767676\",\n \"--beam-SelectSubscriptionNonprofit-submitButton-fontSize\": \"14px\",\n \"--beam-SelectSubscriptionNonprofit-submitButton-fontWeight\": \"inherit\",\n \"--beam-SelectSubscriptionNonprofit-submitButton-fontFamily\": \"inherit\",\n \"--beam-SelectSubscriptionNonprofit-submitButton-textTransform\": \"none\",\n \"--beam-SelectSubscriptionNonprofit-submitButton-borderRadius\": \"30px\",\n \"--beam-SelectSubscriptionNonprofit-submitButton-padding\": \"10px 30px\",\n ...defineCustomText(\"--beam-SelectSubscriptionNonprofit-title\", {\n fontSize: \"20px\",\n fontWeight: \"bold\",\n lineHeight: \"120%\",\n textTransform: \"capitalize\",\n color: \"#0a323c\",\n }),\n ...defineCustomText(\"--beam-SelectSubscriptionNonprofit-descriptionPrefix\", {\n marginTop: \"3px\",\n color: \"#2f302d\",\n fontSize: \"14px\",\n fontWeight: \"bold\",\n fontStyle: \"normal\",\n lineHeight: \"138%\",\n }),\n ...defineCustomText(\"--beam-SelectSubscriptionNonprofit-description\", {\n marginTop: \"3px\",\n color: \"#2f302d\",\n fontSize: \"14px\",\n fontStyle: \"normal\",\n lineHeight: \"138%\",\n }),\n \"--beam-SelectSubscriptionNonprofit-details-cause-letterSpacing\": \"0.36px\",\n ...defineCustomText(\"--beam-SelectSubscriptionNonprofit-details-cause\", {\n fontSize: \"12px\",\n fontWeight: \"bold\",\n color: \"#0a323c\",\n fontStyle: \"normal\",\n lineHeight: \"120%\",\n }),\n ...defineCustomText(\"--beam-SelectSubscriptionNonprofit-details-description\", {\n fontSize: \"12px\",\n marginTop: \"5px\",\n fontStyle: \"normal\",\n lineHeight: \"140%\",\n fontWeight: \"400\",\n }),\n \"--beam-SelectSubscriptionNonprofit-details-fundingProgress-marginTop\": \"7px\",\n ...defineCustomText(\"--beam-SelectSubscriptionNonprofit-details-funding-progress-label\", {\n fontSize: \"12px\",\n color: \"#666666\",\n fontWeight: \"400\",\n fontStyle: \"normal\",\n }),\n \"--beam-SelectSubscriptionNonprofit-stickyFooter-boxShadow\": \"0px -20px 20px 0px rgba(0, 0, 0, 0.04)\",\n \"--beam-SelectSubscriptionNonprofit-stickyFooter-padding\": \"15px 0px 45px\",\n \"--beam-SelectSubscriptionNonprofit-stickyFooter-backgroundColor\": \"white\",\n \"--beam-SelectSubscriptionNonprofit-stickyFooter-marginLeft\": \"-15px\",\n \"--beam-SelectSubscriptionNonprofit-stickyFooter-marginRight\": \"-15px\",\n \"--beam-SelectSubscriptionNonprofit-stickyFooter-width\": \"auto\",\n };\n\n const remoteConfig = this.nonprofitListDataController?.data?.config?.web?.theme || {};\n\n const config = { ...defaults, ...remoteConfig };\n\n const serializable = Object.create({\n toCSS() {\n return _cssVariableMap(this as Record<string, string>);\n },\n });\n\n return Object.assign(serializable, config);\n }\n\n static styles = [\n cssReset,\n css`\n :host {\n display: block;\n max-width: var(--beam-SelectSubscriptionNonprofit-maxWidth);\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 word-break: normal;\n }\n\n .widget-container-mobile {\n position: relative;\n }\n\n .header-container {\n align-items: flex-start;\n justify-content: space-between;\n padding: var(--beam-SelectSubscriptionNonprofit-headerContainer-padding);\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .header-container-mobile {\n align-items: var(--beam-SelectSubscriptionNonprofit-mobile-header-alignItems);\n }\n\n .header-container-desktop {\n align-items: var(--beam-SelectSubscriptionNonprofit-desktop-header-alignItems);\n }\n\n .title {\n text-align: var(--beam-SelectSubscriptionNonprofit-title-textAlign);\n ${useCustomText(\"--beam-SelectSubscriptionNonprofit-title\")};\n }\n\n .description-container {\n text-align: var(--beam-SelectSubscriptionNonprofit-description-textAlign);\n }\n\n .description-prefix {\n ${useCustomText(\"--beam-SelectSubscriptionNonprofit-descriptionPrefix\")};\n }\n\n .description {\n ${useCustomText(\"--beam-SelectSubscriptionNonprofit-description\")};\n }\n\n .description-desktop {\n width: var(--beam-SelectSubscriptionNonprofit-desktop-description-width);\n }\n\n .description-mobile {\n width: var(--beam-SelectSubscriptionNonprofit-mobile-description-width);\n }\n\n .root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n flex-shrink: 0;\n }\n\n .options {\n margin-top: var(--beam-SelectSubscriptionNonprofit-options-marginTop);\n padding: var(--beam-SelectSubscriptionNonprofit-options-padding);\n }\n\n .card-icon-container {\n height: var(--beam-SelectSubscriptionNonprofit-cardIconContainer-height);\n flex: 0;\n flex-direction: column;\n }\n\n .icon-background {\n width: var(--beam-SelectSubscriptionNonprofit-iconBackground-width);\n height: var(--beam-SelectSubscriptionNonprofit-iconBackground-height);\n border-radius: var(--beam-SelectSubscriptionNonprofit-iconBackground-borderRadius);\n overflow: hidden;\n background: var(--beam-SelectSubscriptionNonprofit-iconBackground-background);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .card-icon {\n height: var(--beam-SelectSubscriptionNonprofit-icon-height);\n display: block;\n padding: var(--beam-SelectSubscriptionNonprofit-options-icon-padding);\n border-radius: var(--beam-SelectSubscriptionNonprofit-options-icon-borderRadius);\n }\n\n .card-image-container {\n height: 100%;\n flex: 4;\n display: flex;\n flex-direction: column;\n }\n\n .card-image {\n flex: 1;\n height: auto;\n width: 100%;\n object-fit: cover;\n border-radius: var(--beam-SelectSubscriptionNonprofit-options-image-borderRadius);\n }\n\n .option {\n /* outline is used to prevent layer shift if changing border width */\n outline: var(--beam-SelectSubscriptionNonprofit-options-borderWidth) solid\n var(--beam-SelectSubscriptionNonprofit-options-borderColor);\n border-radius: var(--beam-SelectSubscriptionNonprofit-options-borderRadius);\n background-color: var(--beam-SelectSubscriptionNonprofit-options-backgroundColor);\n cursor: pointer;\n transition: border-color 0.2s, background-color 0.2s, outline 0.2s;\n display: flex;\n gap: 15px;\n padding: var(--beam-SelectSubscriptionNonprofit-option-padding);\n }\n\n .options.cardGrid {\n order: 3;\n }\n\n .option:not(.isDisabled):focus-visible,\n .option:not(.isDisabled):hover,\n .option:not(.isSelected):focus-visible,\n .option:not(.isSelected):hover {\n background-color: var(--beam-SelectSubscriptionNonprofit-options-hover-backgroundColor);\n outline: var(--beam-SelectSubscriptionNonprofit-options-hover-borderWidth) solid\n var(--beam-SelectSubscriptionNonprofit-options-hover-borderColor);\n }\n\n .option.isDisabled {\n cursor: not-allowed;\n }\n\n .option.isSelected {\n outline: var(--beam-SelectSubscriptionNonprofit-options-selected-borderWidth) solid\n var(--beam-SelectSubscriptionNonprofit-options-selected-borderColor);\n background-color: var(--beam-SelectSubscriptionNonprofit-options-selected-backgroundColor);\n }\n\n .option.isSelected:focus-visible,\n .option.isSelected:hover {\n outline: var(--beam-SelectSubscriptionNonprofit-options-selected-borderWidth) solid\n var(--beam-SelectSubscriptionNonprofit-options-selected-borderColor);\n }\n\n .option .checkbox {\n margin-left: 5px;\n float: right;\n padding: 2px;\n border-radius: 100%;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-width: 1px;\n border-style: solid;\n transition: background-color 0.2s, color 0.2s, border-color 0.2s;\n color: var(--beam-SelectSubscriptionNonprofit-checkmark-color);\n background-color: var(--beam-SelectSubscriptionNonprofit-checkmark-backgroundColor);\n border-color: var(--beam-SelectSubscriptionNonprofit-checkmark-borderColor);\n }\n\n .option.isSelected .checkbox,\n .option.isSelected:focus-visible .checkbox,\n .option.isSelected:hover .checkbox {\n color: var(--beam-SelectSubscriptionNonprofit-checkmark-selected-color);\n background-color: var(--beam-SelectSubscriptionNonprofit-checkmark-selected-backgroundColor);\n border-color: var(--beam-SelectSubscriptionNonprofit-checkmark-selected-borderColor);\n }\n\n .option:not(.isSelected):focus-visible .checkbox,\n .option:not(.isSelected):hover .checkbox {\n color: var(--beam-SelectSubscriptionNonprofit-checkmark-hover-color);\n background-color: var(--beam-SelectSubscriptionNonprofit-checkmark-hover-backgroundColor);\n border-color: var(--beam-SelectSubscriptionNonprofit-checkmark-hover-borderColor);\n }\n\n .card-details-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 .details-cause {\n flex: 0 1;\n ${useCustomText(\"--beam-SelectSubscriptionNonprofit-details-cause\")};\n letter-spacing: var(--beam-SelectSubscriptionNonprofit-details-cause-letterSpacing);\n }\n\n .details-description {\n flex: 1 1;\n ${useCustomText(\"--beam-SelectSubscriptionNonprofit-details-description\")}\n }\n\n .details-description .nonprofitName {\n font-weight: var(--beam-SelectSubscriptionNonprofit-details-nonprofitName-fontWeight);\n font-style: var(--beam-SelectSubscriptionNonprofit-details-nonprofitName-fontStyle);\n }\n\n .card-progress-bar {\n display: flex;\n margin-top: var(--beam-SelectSubscriptionNonprofit-details-fundingProgress-marginTop);\n align-items: center;\n }\n\n .details-funding-progress-label {\n white-space: nowrap;\n text-align: right;\n flex: 0 1;\n margin-left: 15px;\n ${useCustomText(\"--beam-SelectSubscriptionNonprofit-details-funding-progress-label\")}\n }\n\n .footer {\n text-align: center;\n }\n\n .sticky-footer {\n position: sticky;\n background: var(--beam-SelectSubscriptionNonprofit-stickyFooter-backgroundColor);\n bottom: 0;\n box-shadow: var(--beam-SelectSubscriptionNonprofit-stickyFooter-boxShadow);\n padding: var(--beam-SelectSubscriptionNonprofit-stickyFooter-padding);\n left: 0;\n right: 0;\n margin-left: var(--beam-SelectSubscriptionNonprofit-stickyFooter-marginLeft);\n margin-right: var(--beam-SelectSubscriptionNonprofit-stickyFooter-marginRight);\n width: var(--beam-SelectSubscriptionNonprofit-stickyFooter-width);\n }\n\n .footer-desktop {\n margin-top: 20px;\n }\n\n .submitButton {\n color: var(--beam-SelectSubscriptionNonprofit-submitButton-color);\n background-color: var(--beam-SelectSubscriptionNonprofit-submitButton-backgroundColor);\n border: 1px solid var(--beam-SelectSubscriptionNonprofit-submitButton-borderColor);\n font-size: var(--beam-SelectSubscriptionNonprofit-submitButton-fontSize);\n font-weight: var(--beam-SelectSubscriptionNonprofit-submitButton-fontWeight);\n font-family: var(--beam-SelectSubscriptionNonprofit-submitButton-fontFamily);\n text-transform: var(--beam-SelectSubscriptionNonprofit-submitButton-textTransform);\n border-radius: var(--beam-SelectSubscriptionNonprofit-submitButton-borderRadius);\n padding: var(--beam-SelectSubscriptionNonprofit-submitButton-padding);\n transition: background-color 0.2s, border-color 0.2s, color 0.2s;\n cursor: pointer;\n display: inline-flex;\n width: 234.173px;\n justify-content: center;\n align-items: center;\n gap: 10px;\n flex-shrink: 0;\n }\n\n .submitButton:not(.isDisabled):focus-visible,\n .submitButton:not(.isDisabled):hover {\n background-color: var(--beam-SelectSubscriptionNonprofit-submitButton-hover-backgroundColor);\n border-color: var(--beam-SelectSubscriptionNonprofit-submitButton-hover-borderColor);\n color: var(--beam-SelectSubscriptionNonprofit-submitButton-hover-color);\n }\n\n .submitButton.isDisabled {\n color: var(--beam-SelectSubscriptionNonprofit-submitButton-disabled-color);\n background-color: var(--beam-SelectSubscriptionNonprofit-submitButton-disabled-backgroundColor);\n border-color: var(--beam-SelectSubscriptionNonprofit-submitButton-disabled-borderColor);\n cursor: not-allowed;\n }\n\n .hideStickyFooter {\n display: none;\n }\n `,\n cssCardGrid({\n gap: \"var(--beam-SelectSubscriptionNonprofit-options-gap)\",\n itemMinWidth: \"var(--beam-SelectSubscriptionNonprofit-options-minWidth)\",\n columnCount: \"var(--beam-SelectSubscriptionNonprofit-options-columnCount)\",\n }),\n ];\n\n protected render() {\n const { selectedNonprofitId } = this;\n const { data, loading } = this.nonprofitListDataController;\n\n if (loading && !data) {\n return _loading();\n }\n if (this.nonprofitListDataController.error) {\n if (this.debug) {\n return _errorMessage({ error: this.nonprofitListDataController.error });\n }\n return \"\";\n }\n if (this.subscriptionUpdateDataController.error) {\n if (this.debug) {\n return _errorMessage({ error: this.subscriptionUpdateDataController.error });\n }\n // do not show error screen for interactive errors by default\n }\n if (data == null) {\n if (this.debug) {\n return _errorMessage({ error: new BeamError(\"No data\") });\n }\n return \"\";\n }\n const nonprofits = data?.nonprofits || [];\n const selectedNonprofit = nonprofits.find((np) => np.nonprofit.id === selectedNonprofitId) || null;\n // changes images in widget to icons\n const cardStyle = this.cssVariables[\"--beam-SelectSubscriptionNonprofit-cardStyle\"];\n const displayIcon = cardStyle === \"'icon'\" || cardStyle === \"'selected_icon'\";\n\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n <div class=\"widget-container ${this.isMobile ? \"widget-container-mobile\" : \"\"}\">\n <div class=\"header-container ${this.isMobile ? \"header-container-mobile\" : \"header-container-desktop\"}\">\n <h3 class=\"title\" part=\"title\" id=\"beam-SelectSubscriptionNonprofit-title\">\n ${localizeUserString(this.configLang, data?.config?.web?.title || \"\") ||\n strings[this.configLang].ctaTitle()}\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\" part=\"description\">\n ${localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"ctaMessage\"] || \"\") ||\n strings[this.configLang].ctaMessage()}\n </span>\n <span class=\"description-prefix\" part=\"description\">\n ${localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"ctaMessagePrefix\"] || \"\") ||\n strings[this.configLang].ctaMessagePrefix()}\n </span>\n </div>\n </div>\n <div class=\"root\">\n <div\n tabindex=\"-1\"\n class=\"options cardGrid\"\n part=\"options\"\n role=\"radiogroup\"\n aria-labelledby=\"beam-SelectSubscriptionNonprofit-title\"\n ?aria-disabled=${!this.allowChange}\n >\n ${repeat(\n nonprofits,\n (i) => i.nonprofit.id,\n (np, index) => {\n const isSelected = selectedNonprofitId === np.nonprofit.id;\n const isFocusable = isSelected || (selectedNonprofit == null && index === 0);\n const unselectedIcon = np.nonprofit.causeIconUrl;\n const selectedIcon = np.nonprofit.causeIconSelectedUrl;\n const cardImage = np.imageUrl;\n const iconImage = cardStyle === \"'selected_icon'\" ? selectedIcon : unselectedIcon;\n return html`\n <div\n class=\"option ${classMap({\n isSelected: isSelected,\n isDisabled: !this.allowChange,\n })}\"\n part=\"option\"\n role=\"radio\"\n tabindex=\"${isFocusable ? 0 : -1}\"\n data-value=${np.nonprofit.id}\n ?aria-checked=${isSelected}\n @click=${this.makeHandleSelect(np.nonprofit.id, index, nonprofits)}\n @keydown=${this.makeHandleSelect(np.nonprofit.id, index, nonprofits)}\n aria-label=\"${localizeUserString(this.configLang, np.nonprofit.cause || \"\")}\"\n >\n ${displayIcon\n ? html` <div class=\"card-icon-container\">\n <div class=\"icon-background\">\n <img src=\"${iconImage}\" alt=\"\" role=\"presentation\" class=\"card-icon\" />\n </div>\n </div>`\n : html` <div class=\"card-image-container\">\n <img src=\"${cardImage}\" alt=\"\" role=\"presentation\" class=\"card-image\" />\n </div>`}\n <div class=\"card-details-container\" part=\"details\">\n <div class=\"details-cause\">\n <span part=\"checkbox\" class=\"checkbox\">\n <span style=\"line-height: 0;\"> ${_checkbox({ height: \"10px\", width: \"10px\" })} </span>\n </span>\n ${localizeUserString(this.configLang, np.nonprofit.cause || \"\")}\n </div>\n <p class=\"details-description\">\n ${unsafeHTML(localizeUserString(this.configLang, np.impact.description || \"\"))}\n </p>\n <div class=\"card-progress-bar\">\n <beam-progress-bar\n value=\"${np.impact.goalProgressPercentage}\"\n style=\"flex: 1 0;\"\n ></beam-progress-bar>\n <span class=\"details-funding-progress-label\">\n ${localizeUserString(this.configLang, np.impact.goalProgressText)}\n </span>\n </div>\n </div>\n </div>\n `;\n }\n )}\n </div>\n </div>\n <div\n id=\"footer\"\n class=\"footer ${this.isMobile ? \"sticky-footer\" : \"footer-desktop\"} ${this.isMobile &&\n !this.selectedNonprofitId\n ? \"hideStickyFooter\"\n : \"\"}\"\n >\n <button\n type=\"button\"\n ?aria-disabled=${!this.allowSubmit}\n @click=\"${this.handleSubmit}\"\n class=\"${classMap({\n isDisabled: !this.allowSubmit,\n submitButton: true,\n })}\"\n part=\"submitButton\"\n >\n ${this.subscriptionUpdateDataController.data !== null\n ? localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"submitButtonTextCompleted\"] || \"\"\n ) || strings[this.configLang].submitButtonTextCompleted()\n : localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"submitButtonText\"] || \"\") ||\n strings[this.configLang].submitButtonText()}\n </button>\n </div>\n </div>\n `;\n }\n}\n\ndefineCustomElement(BeamSelectSubscriptionNonprofit);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-select-subscription-nonprofit\": BeamSelectSubscriptionNonprofit;\n }\n}\n"],"names":["strings","donationPercentage","cacheTtl","BeamSelectSubscriptionNonprofit","LitElement","DEFAULT_BASE_URL","enforceConfig","res","postChainEligibleNonprofitsForCart","makeApiKeyHeader","selectedNonprofitId","updateSubscription","AsyncController","createScopedLocalStorage","id","index","nonprofits","event","currentId","nextFocus","focusTarget","selectedNonprofit","np","BeamNonprofitSelectEvent","debounce","SUPPORTED_LANGUAGES","_changedProperties","previousPropertyValues","requireNewDataProps","prop","createdAt","data","defaults","progressBarConfigDefaults","defineCustomText","remoteConfig","config","_cssVariableMap","loading","_loading","_errorMessage","BeamError","cardStyle","displayIcon","html","localizeUserString","repeat","i","isSelected","isFocusable","unselectedIcon","selectedIcon","cardImage","iconImage","classMap","_checkbox","unsafeHTML","cssReset","css","useCustomText","cssCardGrid","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}