@beamimpact/web-sdk 1.55.7 → 1.56.3

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 (354) hide show
  1. package/README.md +5 -0
  2. package/dist/chunks/_share-dialog-dependencies-Bk60ibnw.esm.js +2 -0
  3. package/dist/chunks/{_share-dialog-dependencies-BVNp0oLJ.esm.js.map → _share-dialog-dependencies-Bk60ibnw.esm.js.map} +1 -1
  4. package/dist/chunks/_share-dialog-dependencies-D6vA_2f6.esm.js +2 -0
  5. package/dist/chunks/{_share-dialog-dependencies-D4i8Nvve.esm.js.map → _share-dialog-dependencies-D6vA_2f6.esm.js.map} +1 -1
  6. package/dist/chunks/beam-errors-Ci0d3926.esm.js.map +1 -1
  7. package/dist/chunks/{beam-errors-CCe004HS.esm.d.ts → beam-errors-DUQ9pK2V.esm.d.ts} +7 -1
  8. package/dist/chunks/{cart-contents-CLT7p7Gd.esm.d.ts → cart-contents-CEoSx3y4.esm.d.ts} +1 -1
  9. package/dist/chunks/{css-card-grid-CvoGpsJH.esm.js → css-card-grid-DixMt6ek.esm.js} +2 -2
  10. package/dist/chunks/{css-card-grid-CvoGpsJH.esm.js.map → css-card-grid-DixMt6ek.esm.js.map} +1 -1
  11. package/dist/chunks/enforce-config-DHnpgqSK.esm.js +3 -0
  12. package/dist/chunks/enforce-config-DHnpgqSK.esm.js.map +1 -0
  13. package/dist/chunks/enforce-config-DUbQnaLO.esm.js +3 -0
  14. package/dist/chunks/enforce-config-DUbQnaLO.esm.js.map +1 -0
  15. package/dist/chunks/events-COWOQoLW.esm.js +2 -0
  16. package/dist/chunks/{events-Dki0ka4F.esm.js.map → events-COWOQoLW.esm.js.map} +1 -1
  17. package/dist/chunks/{events-B7l6VPsF.esm.d.ts → events-Dwqfqbij.esm.d.ts} +33 -5
  18. package/dist/chunks/index-8rOpG9kf.esm.js +2 -0
  19. package/dist/chunks/index-8rOpG9kf.esm.js.map +1 -0
  20. package/dist/chunks/{index-BAgWh5OK.esm.js → index-B1GmdVT3.esm.js} +2 -2
  21. package/dist/chunks/index-B1GmdVT3.esm.js.map +1 -0
  22. package/dist/chunks/{index-DKAZRTl5.esm.js → index-B2dxbh1d.esm.js} +2 -2
  23. package/dist/chunks/{index-DKAZRTl5.esm.js.map → index-B2dxbh1d.esm.js.map} +1 -1
  24. package/dist/chunks/{index-DPptZHfR.esm.js → index-BEEmYYxP.esm.js} +28 -18
  25. package/dist/chunks/index-BEEmYYxP.esm.js.map +1 -0
  26. package/dist/chunks/{index-CWnHkgy3.esm.js → index-BIEV1MH0.esm.js} +2 -2
  27. package/dist/chunks/{index-CWnHkgy3.esm.js.map → index-BIEV1MH0.esm.js.map} +1 -1
  28. package/dist/chunks/{index-CBS5Fqry.esm.d.ts → index-BLlSL37B.esm.d.ts} +4 -2
  29. package/dist/chunks/{index-C-hPf29c.esm.d.ts → index-BY5lSRmw.esm.d.ts} +4 -1
  30. package/dist/chunks/index-BaWMWAyt.esm.js +2 -0
  31. package/dist/chunks/index-BaWMWAyt.esm.js.map +1 -0
  32. package/dist/chunks/index-BeX4QeUu.esm.js +2 -0
  33. package/dist/chunks/index-BeX4QeUu.esm.js.map +1 -0
  34. package/dist/chunks/{index-CGKJagBi.esm.js → index-C3v-y56g.esm.js} +2 -2
  35. package/dist/chunks/index-C3v-y56g.esm.js.map +1 -0
  36. package/dist/chunks/{index-DEoMwStx.esm.d.ts → index-C_u1FXtO.esm.d.ts} +33 -5
  37. package/dist/chunks/{index-CG2AhvV9.esm.js → index-CqqF1sQo.esm.js} +2 -2
  38. package/dist/chunks/index-CqqF1sQo.esm.js.map +1 -0
  39. package/dist/chunks/index-Cs4Kp9X4.esm.js +2 -0
  40. package/dist/chunks/index-Cs4Kp9X4.esm.js.map +1 -0
  41. package/dist/chunks/index-D20ifskY.esm.d.ts +21 -0
  42. package/dist/chunks/{index-DmUEFwoM.esm.js → index-D3hxLDQF.esm.js} +2 -2
  43. package/dist/chunks/index-D3hxLDQF.esm.js.map +1 -0
  44. package/dist/chunks/{index-DBb5HSkR.esm.js → index-D5TZB-zM.esm.js} +2 -2
  45. package/dist/chunks/index-D5TZB-zM.esm.js.map +1 -0
  46. package/dist/chunks/{index-DTPlqZRf.esm.d.ts → index-DDCtGN21.esm.d.ts} +15 -2
  47. package/dist/chunks/index-DSJACB_p.esm.js +2 -0
  48. package/dist/chunks/{index-BNjsFEGn.esm.js.map → index-DSJACB_p.esm.js.map} +1 -1
  49. package/dist/chunks/{index-Ct1m4IjM.esm.js → index-DmjZnpod.esm.js} +2 -2
  50. package/dist/chunks/index-DmjZnpod.esm.js.map +1 -0
  51. package/dist/chunks/{index-rxgS4BLp.esm.d.ts → index-DyUuvdr3.esm.d.ts} +6 -2
  52. package/dist/chunks/{index-Bliur1O3.esm.d.ts → index-EJRmgmQu.esm.d.ts} +33 -5
  53. package/dist/chunks/{index-DvhxjeiK.esm.js → index-UMeAzKTG.esm.js} +28 -18
  54. package/dist/chunks/index-UMeAzKTG.esm.js.map +1 -0
  55. package/dist/chunks/index-hghrT7Z_.esm.d.ts +40 -0
  56. package/dist/chunks/index-mppXVWCH.esm.js +2 -0
  57. package/dist/chunks/{index-IKiJwo5v.esm.js.map → index-mppXVWCH.esm.js.map} +1 -1
  58. package/dist/chunks/{index-DjrWwYdg.esm.js → index-n62IxH5D.esm.js} +2 -2
  59. package/dist/chunks/index-n62IxH5D.esm.js.map +1 -0
  60. package/dist/chunks/{index-tbwbkOdj.esm.js → index-nAPzvUWE.esm.js} +2 -2
  61. package/dist/chunks/index-nAPzvUWE.esm.js.map +1 -0
  62. package/dist/chunks/{index-DXj15KHe.esm.d.ts → index-xcGPhpiO.esm.d.ts} +13 -1
  63. package/dist/chunks/lit-JRlupCB5.esm.js +25 -0
  64. package/dist/chunks/lit-JRlupCB5.esm.js.map +1 -0
  65. package/dist/chunks/loading-template-BFvXaTlD.esm.js +2 -0
  66. package/dist/chunks/{loading-template-DG4lkIIc.esm.js.map → loading-template-BFvXaTlD.esm.js.map} +1 -1
  67. package/dist/chunks/{localize-Btu9xYcE.esm.js → localize-Dg7NgKIP.esm.js} +4 -4
  68. package/dist/chunks/localize-Dg7NgKIP.esm.js.map +1 -0
  69. package/dist/chunks/{localize-C25pEGnx.esm.js → localize-DkAbsh05.esm.js} +4 -4
  70. package/dist/chunks/localize-DkAbsh05.esm.js.map +1 -0
  71. package/dist/chunks/lodash-BSs6Il-c.esm.js +2 -0
  72. package/dist/chunks/lodash-BSs6Il-c.esm.js.map +1 -0
  73. package/dist/chunks/{openapi-spec-Bk7E2QQP.esm.d.ts → openapi-spec-B4z4_CMq.esm.d.ts} +18 -0
  74. package/dist/chunks/{order-page-C3b348k0.esm.js → order-page-B0WbVrvh.esm.js} +2 -2
  75. package/dist/chunks/order-page-B0WbVrvh.esm.js.map +1 -0
  76. package/dist/chunks/{order-page-M7a2TINy.esm.d.ts → order-page-CSEjG6ma.esm.d.ts} +19 -18
  77. package/dist/chunks/{order-page-CuL1s6HR.esm.js → order-page-CT3hnhzf.esm.js} +2 -2
  78. package/dist/chunks/order-page-CT3hnhzf.esm.js.map +1 -0
  79. package/dist/chunks/{progress-bar-DF7UuuHb.esm.js → progress-bar-B82FOT8n.esm.js} +2 -2
  80. package/dist/chunks/{progress-bar-DF7UuuHb.esm.js.map → progress-bar-B82FOT8n.esm.js.map} +1 -1
  81. package/dist/chunks/{promo-pill-label-BihVdXIv.esm.js → promo-pill-label-D_4zJ7uy.esm.js} +3 -3
  82. package/dist/chunks/{promo-pill-label-BihVdXIv.esm.js.map → promo-pill-label-D_4zJ7uy.esm.js.map} +1 -1
  83. package/dist/chunks/{promo-pill-label-CD0lWdsv.esm.js → promo-pill-label-DcsiJS_N.esm.js} +3 -3
  84. package/dist/chunks/{promo-pill-label-CD0lWdsv.esm.js.map → promo-pill-label-DcsiJS_N.esm.js.map} +1 -1
  85. package/dist/chunks/{promo-types-BPmDZ5dF.esm.d.ts → promo-types-CmZzhkpN.esm.d.ts} +3 -2
  86. package/dist/chunks/promo-types-DKAOFHJr.esm.js.map +1 -1
  87. package/dist/chunks/{responsive-BR8qUfBa.esm.js → responsive-CIV4sFdH.esm.js} +2 -2
  88. package/dist/chunks/{responsive-BR8qUfBa.esm.js.map → responsive-CIV4sFdH.esm.js.map} +1 -1
  89. package/dist/chunks/routes-BIMwJ8u9.esm.js +2 -0
  90. package/dist/chunks/routes-BIMwJ8u9.esm.js.map +1 -0
  91. package/dist/chunks/routes-DSu5s3K7.esm.js +2 -0
  92. package/dist/chunks/routes-DSu5s3K7.esm.js.map +1 -0
  93. package/dist/chunks/routes-OxC3Ah30.esm.d.ts +638 -0
  94. package/dist/chunks/{share-button-BnNOZHBt.esm.js → share-button-CLMw49f5.esm.js} +2 -2
  95. package/dist/chunks/{share-button-BnNOZHBt.esm.js.map → share-button-CLMw49f5.esm.js.map} +1 -1
  96. package/dist/chunks/{share-button-BzmG48J9.esm.js → share-button-DXS3zbJz.esm.js} +2 -2
  97. package/dist/chunks/{share-button-BzmG48J9.esm.js.map → share-button-DXS3zbJz.esm.js.map} +1 -1
  98. package/dist/chunks/{share-button-BJ8T-uYK.esm.js → share-button-DkTpGZk1.esm.js} +8 -3
  99. package/dist/chunks/share-button-DkTpGZk1.esm.js.map +1 -0
  100. package/dist/chunks/{share-button-VEIdBFu3.esm.js → share-button-Dzc7loia.esm.js} +8 -3
  101. package/dist/chunks/share-button-Dzc7loia.esm.js.map +1 -0
  102. package/dist/chunks/{types-CPxMwnoR.esm.d.ts → types-D_PLq1pj.esm.d.ts} +1 -1
  103. package/dist/chunks/{update-cart-HlVGSYR7.esm.js → update-cart-ByUvNLyZ.esm.js} +2 -2
  104. package/dist/chunks/update-cart-ByUvNLyZ.esm.js.map +1 -0
  105. package/dist/chunks/{update-cart-CauFT0AF.esm.d.ts → update-cart-DWgFuC7U.esm.d.ts} +3 -2
  106. package/dist/chunks/{update-cart-C6BdmBt1.esm.js → update-cart-yj_9VGHp.esm.js} +2 -2
  107. package/dist/chunks/update-cart-yj_9VGHp.esm.js.map +1 -0
  108. package/dist/chunks/vendor-ckSdd6aH.esm.js +1286 -0
  109. package/dist/chunks/vendor-ckSdd6aH.esm.js.map +1 -0
  110. package/dist/components/beam-partner-logos.esm.js +5 -5
  111. package/dist/components/beam-partner-logos.esm.js.map +1 -1
  112. package/dist/components/beam-partner-logos.js +5 -5
  113. package/dist/components/beam-partner-logos.js.map +1 -1
  114. package/dist/components/community-impact.d.ts +1 -3
  115. package/dist/components/community-impact.esm.js +11 -6
  116. package/dist/components/community-impact.esm.js.map +1 -1
  117. package/dist/components/community-impact.js +11 -6
  118. package/dist/components/community-impact.js.map +1 -1
  119. package/dist/components/cumulative-impact.d.ts +1 -1
  120. package/dist/components/cumulative-impact.esm.js +10 -10
  121. package/dist/components/cumulative-impact.esm.js.map +1 -1
  122. package/dist/components/cumulative-impact.js +10 -10
  123. package/dist/components/cumulative-impact.js.map +1 -1
  124. package/dist/components/impact-overview.d.ts +36 -39
  125. package/dist/components/impact-overview.esm.js +11 -6
  126. package/dist/components/impact-overview.esm.js.map +1 -1
  127. package/dist/components/impact-overview.js +11 -6
  128. package/dist/components/impact-overview.js.map +1 -1
  129. package/dist/components/index.d.ts +5 -8
  130. package/dist/components/index.esm.js +1 -1
  131. package/dist/components/index.js +1 -1
  132. package/dist/components/post-purchase.d.ts +11 -12
  133. package/dist/components/post-purchase.esm.js +4 -4
  134. package/dist/components/post-purchase.esm.js.map +1 -1
  135. package/dist/components/post-purchase.js +4 -4
  136. package/dist/components/post-purchase.js.map +1 -1
  137. package/dist/components/product-details-page.d.ts +25 -26
  138. package/dist/components/product-details-page.esm.js +21 -21
  139. package/dist/components/product-details-page.esm.js.map +1 -1
  140. package/dist/components/product-details-page.js +21 -21
  141. package/dist/components/product-details-page.js.map +1 -1
  142. package/dist/components/redeem-transaction.d.ts +4 -7
  143. package/dist/components/redeem-transaction.esm.js +1 -1
  144. package/dist/components/redeem-transaction.js +1 -1
  145. package/dist/components/select-nonprofit.d.ts +4 -16
  146. package/dist/components/select-nonprofit.esm.js +6 -5
  147. package/dist/components/select-nonprofit.esm.js.map +1 -1
  148. package/dist/components/select-nonprofit.js +6 -5
  149. package/dist/components/select-nonprofit.js.map +1 -1
  150. package/dist/components/select-subscription-nonprofit.d.ts +2 -3
  151. package/dist/components/select-subscription-nonprofit.esm.js +42 -21
  152. package/dist/components/select-subscription-nonprofit.esm.js.map +1 -1
  153. package/dist/components/select-subscription-nonprofit.js +42 -21
  154. package/dist/components/select-subscription-nonprofit.js.map +1 -1
  155. package/dist/components/shopify.d.ts +8 -12
  156. package/dist/components/shopify.esm.js +1 -1
  157. package/dist/components/shopify.js +1 -1
  158. package/dist/components/social-share.d.ts +13 -2
  159. package/dist/components/social-share.esm.js +11 -4
  160. package/dist/components/social-share.esm.js.map +1 -1
  161. package/dist/components/social-share.js +11 -4
  162. package/dist/components/social-share.js.map +1 -1
  163. package/dist/components/subscription-impact.d.ts +37 -50
  164. package/dist/components/subscription-impact.esm.js +15 -3
  165. package/dist/components/subscription-impact.esm.js.map +1 -1
  166. package/dist/components/subscription-impact.js +15 -3
  167. package/dist/components/subscription-impact.js.map +1 -1
  168. package/dist/components/subscription-management.d.ts +92 -93
  169. package/dist/components/subscription-management.esm.js +4 -3
  170. package/dist/components/subscription-management.esm.js.map +1 -1
  171. package/dist/components/subscription-management.js +4 -3
  172. package/dist/components/subscription-management.js.map +1 -1
  173. package/dist/index.d.ts +19 -22
  174. package/dist/index.esm.js +1 -1
  175. package/dist/index.js +1 -1
  176. package/dist/integrations/beam.d.ts +3 -2
  177. package/dist/integrations/beam.esm.js +1 -1
  178. package/dist/integrations/beam.esm.js.map +1 -1
  179. package/dist/integrations/beam.js +1 -1
  180. package/dist/integrations/beam.js.map +1 -1
  181. package/dist/integrations/cart.d.ts +3 -3
  182. package/dist/integrations/cart.esm.js +1 -1
  183. package/dist/integrations/cart.js +1 -1
  184. package/dist/integrations/index.d.ts +14 -18
  185. package/dist/integrations/index.esm.js +1 -1
  186. package/dist/integrations/index.js +1 -1
  187. package/dist/integrations/logs.d.ts +2 -2
  188. package/dist/integrations/logs.esm.js +1 -1
  189. package/dist/integrations/logs.js +1 -1
  190. package/dist/integrations/promoManager.d.ts +1 -1
  191. package/dist/integrations/promoManager.esm.js +1 -1
  192. package/dist/integrations/promoManager.esm.js.map +1 -1
  193. package/dist/integrations/promoManager.js +1 -1
  194. package/dist/integrations/promoManager.js.map +1 -1
  195. package/dist/integrations/session.d.ts +1 -1
  196. package/dist/integrations/session.esm.js +1 -1
  197. package/dist/integrations/session.js +1 -1
  198. package/dist/integrations/shopify.d.ts +6 -10
  199. package/dist/integrations/shopify.esm.js +1 -1
  200. package/dist/integrations/shopify.js +1 -1
  201. package/dist/integrations/statsig.d.ts +9 -5
  202. package/dist/integrations/statsig.esm.js +14 -14
  203. package/dist/integrations/statsig.esm.js.map +1 -1
  204. package/dist/integrations/statsig.js +14 -14
  205. package/dist/integrations/statsig.js.map +1 -1
  206. package/dist/integrations/utils.d.ts +7 -7
  207. package/dist/integrations/utils.esm.js +1 -1
  208. package/dist/integrations/utils.js +1 -1
  209. package/dist/react/beam-partner-logos.esm.js +1 -1
  210. package/dist/react/beam-partner-logos.esm.js.map +1 -1
  211. package/dist/react/beam-partner-logos.js +1 -1
  212. package/dist/react/beam-partner-logos.js.map +1 -1
  213. package/dist/react/community-impact.d.ts +1 -3
  214. package/dist/react/community-impact.esm.js +1 -1
  215. package/dist/react/community-impact.esm.js.map +1 -1
  216. package/dist/react/community-impact.js +1 -1
  217. package/dist/react/community-impact.js.map +1 -1
  218. package/dist/react/cumulative-impact.d.ts +1 -1
  219. package/dist/react/cumulative-impact.esm.js +1 -1
  220. package/dist/react/cumulative-impact.esm.js.map +1 -1
  221. package/dist/react/cumulative-impact.js +1 -1
  222. package/dist/react/cumulative-impact.js.map +1 -1
  223. package/dist/react/impact-overview.d.ts +1 -4
  224. package/dist/react/impact-overview.esm.js +1 -1
  225. package/dist/react/impact-overview.esm.js.map +1 -1
  226. package/dist/react/impact-overview.js +1 -1
  227. package/dist/react/impact-overview.js.map +1 -1
  228. package/dist/react/index.d.ts +18 -21
  229. package/dist/react/index.esm.js +1 -1
  230. package/dist/react/index.js +1 -1
  231. package/dist/react/post-purchase.d.ts +3 -7
  232. package/dist/react/post-purchase.esm.js +1 -1
  233. package/dist/react/post-purchase.esm.js.map +1 -1
  234. package/dist/react/post-purchase.js +1 -1
  235. package/dist/react/post-purchase.js.map +1 -1
  236. package/dist/react/product-details-page.d.ts +1 -2
  237. package/dist/react/product-details-page.esm.js +1 -1
  238. package/dist/react/product-details-page.esm.js.map +1 -1
  239. package/dist/react/product-details-page.js +1 -1
  240. package/dist/react/product-details-page.js.map +1 -1
  241. package/dist/react/redeem-transaction.d.ts +5 -8
  242. package/dist/react/redeem-transaction.esm.js +1 -1
  243. package/dist/react/redeem-transaction.esm.js.map +1 -1
  244. package/dist/react/redeem-transaction.js +1 -1
  245. package/dist/react/redeem-transaction.js.map +1 -1
  246. package/dist/react/select-nonprofit.d.ts +5 -7
  247. package/dist/react/select-nonprofit.esm.js +1 -1
  248. package/dist/react/select-nonprofit.esm.js.map +1 -1
  249. package/dist/react/select-nonprofit.js +1 -1
  250. package/dist/react/select-nonprofit.js.map +1 -1
  251. package/dist/react/select-subscription-nonprofit.d.ts +5 -6
  252. package/dist/react/select-subscription-nonprofit.esm.js +1 -1
  253. package/dist/react/select-subscription-nonprofit.esm.js.map +1 -1
  254. package/dist/react/select-subscription-nonprofit.js +1 -1
  255. package/dist/react/select-subscription-nonprofit.js.map +1 -1
  256. package/dist/react/social-share.d.ts +1 -2
  257. package/dist/react/social-share.esm.js +1 -1
  258. package/dist/react/social-share.esm.js.map +1 -1
  259. package/dist/react/social-share.js +1 -1
  260. package/dist/react/social-share.js.map +1 -1
  261. package/dist/react/subscription-impact.d.ts +1 -3
  262. package/dist/react/subscription-impact.esm.js +1 -1
  263. package/dist/react/subscription-impact.esm.js.map +1 -1
  264. package/dist/react/subscription-impact.js +1 -1
  265. package/dist/react/subscription-impact.js.map +1 -1
  266. package/dist/react/subscription-management.d.ts +4 -6
  267. package/dist/react/subscription-management.esm.js +1 -1
  268. package/dist/react/subscription-management.esm.js.map +1 -1
  269. package/dist/react/subscription-management.js +1 -1
  270. package/dist/react/subscription-management.js.map +1 -1
  271. package/dist/utils/beam-errors.d.ts +1 -1
  272. package/dist/utils/cookies.d.ts +1 -41
  273. package/dist/utils/cookies.esm.js +1 -1
  274. package/dist/utils/cookies.esm.js.map +1 -1
  275. package/dist/utils/cookies.js +1 -1
  276. package/dist/utils/cookies.js.map +1 -1
  277. package/dist/utils/debounce.esm.js +1 -1
  278. package/dist/utils/debounce.js +1 -1
  279. package/dist/utils/events.d.ts +5 -5
  280. package/dist/utils/events.esm.js +1 -1
  281. package/dist/utils/events.js +1 -1
  282. package/dist/utils/index.d.ts +7 -7
  283. package/dist/utils/index.esm.js +1 -1
  284. package/dist/utils/index.js +1 -1
  285. package/dist/utils/is-equal.esm.js +1 -1
  286. package/dist/utils/is-equal.js +1 -1
  287. package/dist/utils/makeApiKeyHeader.esm.js.map +1 -1
  288. package/dist/utils/makeApiKeyHeader.js.map +1 -1
  289. package/dist/utils/memoize-last.esm.js +1 -1
  290. package/dist/utils/memoize-last.esm.js.map +1 -1
  291. package/dist/utils/memoize-last.js +1 -1
  292. package/dist/utils/memoize-last.js.map +1 -1
  293. package/dist/utils/network-listeners.esm.js +1 -1
  294. package/dist/utils/network-listeners.esm.js.map +1 -1
  295. package/dist/utils/network-listeners.js +1 -1
  296. package/dist/utils/network-listeners.js.map +1 -1
  297. package/dist/utils/promoManager.d.ts +6 -18
  298. package/dist/utils/promoManager.esm.js.map +1 -1
  299. package/dist/utils/promoManager.js.map +1 -1
  300. package/dist/utils/wait-for-element.esm.js.map +1 -1
  301. package/dist/utils/wait-for-element.js.map +1 -1
  302. package/package.json +42 -39
  303. package/dist/chunks/_share-dialog-dependencies-BVNp0oLJ.esm.js +0 -2
  304. package/dist/chunks/_share-dialog-dependencies-D4i8Nvve.esm.js +0 -2
  305. package/dist/chunks/enforce-config-Ba1JkOHs.esm.js +0 -3
  306. package/dist/chunks/enforce-config-Ba1JkOHs.esm.js.map +0 -1
  307. package/dist/chunks/enforce-config-CZ3ToOgr.esm.js +0 -3
  308. package/dist/chunks/enforce-config-CZ3ToOgr.esm.js.map +0 -1
  309. package/dist/chunks/events-Dki0ka4F.esm.js +0 -2
  310. package/dist/chunks/index-BAgWh5OK.esm.js.map +0 -1
  311. package/dist/chunks/index-BNjsFEGn.esm.js +0 -2
  312. package/dist/chunks/index-C0J0SqUr.esm.js +0 -2
  313. package/dist/chunks/index-C0J0SqUr.esm.js.map +0 -1
  314. package/dist/chunks/index-CG2AhvV9.esm.js.map +0 -1
  315. package/dist/chunks/index-CGKJagBi.esm.js.map +0 -1
  316. package/dist/chunks/index-CLNjLpMX.esm.js +0 -2
  317. package/dist/chunks/index-CLNjLpMX.esm.js.map +0 -1
  318. package/dist/chunks/index-Ct1m4IjM.esm.js.map +0 -1
  319. package/dist/chunks/index-DBb5HSkR.esm.js.map +0 -1
  320. package/dist/chunks/index-DFGxZmsj.esm.js +0 -2
  321. package/dist/chunks/index-DFGxZmsj.esm.js.map +0 -1
  322. package/dist/chunks/index-DHK-p5LV.esm.d.ts +0 -15
  323. package/dist/chunks/index-DPptZHfR.esm.js.map +0 -1
  324. package/dist/chunks/index-DbaDUPup.esm.d.ts +0 -28
  325. package/dist/chunks/index-DjrWwYdg.esm.js.map +0 -1
  326. package/dist/chunks/index-DmUEFwoM.esm.js.map +0 -1
  327. package/dist/chunks/index-DvhxjeiK.esm.js.map +0 -1
  328. package/dist/chunks/index-IKiJwo5v.esm.js +0 -2
  329. package/dist/chunks/index-NHPT4c0V.esm.js +0 -2
  330. package/dist/chunks/index-NHPT4c0V.esm.js.map +0 -1
  331. package/dist/chunks/index-tbwbkOdj.esm.js.map +0 -1
  332. package/dist/chunks/lit-WqMxC_PA.esm.js +0 -34
  333. package/dist/chunks/lit-WqMxC_PA.esm.js.map +0 -1
  334. package/dist/chunks/loading-template-DG4lkIIc.esm.js +0 -2
  335. package/dist/chunks/localize-Btu9xYcE.esm.js.map +0 -1
  336. package/dist/chunks/localize-C25pEGnx.esm.js.map +0 -1
  337. package/dist/chunks/lodash-D3TLHRR_.esm.js +0 -2
  338. package/dist/chunks/lodash-D3TLHRR_.esm.js.map +0 -1
  339. package/dist/chunks/order-page-C3b348k0.esm.js.map +0 -1
  340. package/dist/chunks/order-page-CuL1s6HR.esm.js.map +0 -1
  341. package/dist/chunks/progress-bar-CveZ8E6Q.esm.d.ts +0 -15
  342. package/dist/chunks/promo-pill-label-BXRqZHET.esm.d.ts +0 -19
  343. package/dist/chunks/routes-BHChxaFQ.esm.js +0 -2
  344. package/dist/chunks/routes-BHChxaFQ.esm.js.map +0 -1
  345. package/dist/chunks/routes-BoeGe1RQ.esm.d.ts +0 -638
  346. package/dist/chunks/routes-E1gMJl6d.esm.js +0 -2
  347. package/dist/chunks/routes-E1gMJl6d.esm.js.map +0 -1
  348. package/dist/chunks/share-button-BJ8T-uYK.esm.js.map +0 -1
  349. package/dist/chunks/share-button-CDVVaxEc.esm.d.ts +0 -27
  350. package/dist/chunks/share-button-VEIdBFu3.esm.js.map +0 -1
  351. package/dist/chunks/update-cart-C6BdmBt1.esm.js.map +0 -1
  352. package/dist/chunks/update-cart-HlVGSYR7.esm.js.map +0 -1
  353. package/dist/chunks/vendor-KKSARHWL.esm.js +0 -1284
  354. package/dist/chunks/vendor-KKSARHWL.esm.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-Ct1m4IjM.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-DBb5HSkR.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import{i}from"./index-CGKJagBi.esm.js";import{i as o}from"./index-BAgWh5OK.esm.js";import{i as r}from"./index-IKiJwo5v.esm.js";import{i as e}from"./index-NHPT4c0V.esm.js";import{i as m}from"./index-DKAZRTl5.esm.js";var s=Object.freeze({__proto__:null,Cart:e,Logs:m,Session:r,Shopify:o,Utils:i});export{s as i};
2
- //# sourceMappingURL=index-DFGxZmsj.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-DFGxZmsj.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,15 +0,0 @@
1
- import { i as index$5 } from './index-DEoMwStx.esm.js';
2
- import { i as index$4 } from './index-DTPlqZRf.esm.js';
3
- import { i as index$3 } from './index-C-hPf29c.esm.js';
4
- import { i as index$1 } from './index-rxgS4BLp.esm.js';
5
- import { i as index$2 } from './index-CBS5Fqry.esm.js';
6
-
7
- /**
8
- * This file is used to provide type definitions
9
- */
10
-
11
- declare namespace index {
12
- export { index$1 as Cart, index$2 as Logs, index$3 as Session, index$4 as Shopify, index$5 as Utils };
13
- }
14
-
15
- export { index as i };
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-DPptZHfR.esm.js","sources":["../../src/api-sdk/v4/routes.ts","../../src/shared/fragments/radioButton.ts","../../src/components/redeem-transaction/strings.ts","../../src/components/redeem-transaction/index.ts"],"sourcesContent":["import { makeOpenApiMethod } from \"../make-openapi-method\";\n\nexport const postTransaction = makeOpenApiMethod(\"/v4/transaction\", \"post\", 201);\n\nexport const putTransaction = makeOpenApiMethod(\"/v4/transaction/redeem/{transactionId}\", \"put\", 200);\n","import { html } from \"lit\";\nimport { styleMap } from \"lit/directives/style-map.js\";\n\nexport const _radioButton = ({ height = \"1em\", width = \"1em\" } = {}) =>\n html`\n <svg\n style=\"${styleMap({ height, width, position: \"relative\", bottom: \"0\" })}\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <!-- Filled Circle -->\n <circle cx=\"12\" cy=\"12\" r=\"10\" fill=\"currentColor\" />\n </svg>\n `;\n","export const strings = {\n en: {\n beamAttribution: () => `Powered by Beam`,\n ctaTitle: () => `Choose your impact`,\n ctaPromoPrefixMessage: () => `At no extra cost,`,\n ctaPromoMessage: ({ donationPercentage = \"1\" } = {}) =>\n `select a nonprofit and ${donationPercentage}% will be donated there for you.`,\n ctaMessage: ({ donationPercentage = \"1\" } = {}) =>\n `At no extra cost, select a nonprofit and ${donationPercentage}% will be donated there for you.`,\n submitButtonText: () => `Confirm`,\n submitButtonTextCompleted: () => `Confirmed!`,\n chooseButtonText: () => `Choose a nonprofit`,\n },\n fr: {\n beamAttribution: () => `Optimisé par Beam`,\n ctaTitle: () => `Choisissez votre cause`,\n ctaPromoPrefixMessage: () => `Sans frais supplémentaires,`,\n ctaPromoMessage: ({ donationPercentage = \"1\" } = {}) =>\n `sélectionnez une association et ${donationPercentage} % sera reversé en votre nom.`,\n ctaMessage: ({ donationPercentage = \"1\" } = {}) =>\n `Sans frais supplémentaires, choisissez une association et ${donationPercentage} % de votre commande lui sera reversé en votre nom.`,\n submitButtonText: () => `Confirmer`,\n submitButtonTextCompleted: () => `Confirmé !`,\n chooseButtonText: () => `Choisir une association`,\n },\n de: {\n beamAttribution: () => `Unterstützt von Beam`,\n ctaTitle: () => `Wähle deine Wirkung`,\n ctaPromoPrefixMessage: () => `Ohne zusätzliche Kosten,`,\n ctaPromoMessage: ({ donationPercentage = \"1\" } = {}) =>\n `wähle eine gemeinnützige Organisation und ${donationPercentage}% werden in deinem Namen gespendet.`,\n ctaMessage: ({ donationPercentage = \"1\" } = {}) =>\n `Ohne zusätzliche Kosten kannst du eine Organisation auswählen, und ${donationPercentage}% deiner Bestellung werden gespendet.`,\n submitButtonText: () => `Bestätigen`,\n submitButtonTextCompleted: () => `Bestätigt!`,\n chooseButtonText: () => `Wähle eine Organisation`,\n },\n es: {\n beamAttribution: () => `Ofrecido por Beam`,\n ctaTitle: () => `Elige tu impacto`,\n ctaPromoPrefixMessage: () => `Sin coste adicional,`,\n ctaPromoMessage: ({ donationPercentage = \"1\" } = {}) =>\n `elige una organización y donaremos el ${donationPercentage}% en tu nombre.`,\n ctaMessage: ({ donationPercentage = \"1\" } = {}) =>\n `Sin coste adicional, elige una organización sin ánimo de lucro y donaremos el ${donationPercentage}% de tu compra en tu nombre.`,\n submitButtonText: () => `Confirmar`,\n submitButtonTextCompleted: () => `¡Confirmado!`,\n chooseButtonText: () => `Elige una organización`,\n },\n it: {\n beamAttribution: () => `Promosso da Beam`,\n ctaTitle: () => `Scegli il tuo impatto`,\n ctaPromoPrefixMessage: () => `Senza costi aggiuntivi,`,\n ctaPromoMessage: ({ donationPercentage = \"1\" } = {}) =>\n `scegli un'organizzazione e doneremo l’${donationPercentage}% per te.`,\n ctaMessage: ({ donationPercentage = \"1\" } = {}) =>\n `Senza costi aggiuntivi, scegli un'organizzazione no profit e doneremo l’${donationPercentage}% del tuo acquisto a suo favore.`,\n submitButtonText: () => `Conferma`,\n submitButtonTextCompleted: () => `Confermato!`,\n chooseButtonText: () => `Scegli un'organizzazione`,\n },\n pl: {\n beamAttribution: () => `Obsługiwane przez Beam`,\n ctaTitle: () => `Wybierz swój wpływ`,\n ctaPromoPrefixMessage: () => `Bez dodatkowych kosztów,`,\n ctaPromoMessage: ({ donationPercentage = \"1\" } = {}) =>\n `wybierz organizację, a ${donationPercentage}% zostanie przekazane w Twoim imieniu.`,\n ctaMessage: ({ donationPercentage = \"1\" } = {}) =>\n `Bez dodatkowych kosztów możesz wybrać organizację, której przekażemy ${donationPercentage}% wartości Twojego zamówienia w Twoim imieniu.`,\n submitButtonText: () => `Potwierdź`,\n submitButtonTextCompleted: () => `Potwierdzono!`,\n chooseButtonText: () => `Wybierz organizację`,\n },\n ja: {\n beamAttribution: () => `Powered by Beam`,\n ctaTitle: () => `寄付先をお選びください。`,\n ctaPromoPrefixMessage: () => `追加費用なしで、`,\n ctaPromoMessage: ({ donationPercentage = \"1\" } = {}) =>\n `非営利団体を選ぶと、${donationPercentage}%がその団体に寄付されます。`,\n ctaMessage: ({ donationPercentage = \"1\" } = {}) =>\n `追加費用なしで非営利団体をお選びいただくと、ご購入金額の${donationPercentage}%が寄付されます。`,\n submitButtonText: () => `確認する`,\n submitButtonTextCompleted: () => `確認済み`,\n chooseButtonText: () => `非営利団体を選択してください`,\n },\n};\n","import { css, html, LitElement, PropertyValues } from \"lit\";\nimport { repeat } from \"lit/directives/repeat.js\";\nimport { property } from \"lit/decorators/property.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport debounce from \"lodash-es/debounce\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES, WIDGET_NAMES } from \"../../api-sdk/constants\";\nimport \"../../shared/components/progress-bar\";\nimport \"../../shared/components/promo-pill-label\";\nimport \"../beam-partner-logos\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { defineCustomText, useCustomText } from \"../../shared/fragments/custom-text\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { _cssVariableMap } from \"../../shared/fragments/css-variable-map\";\nimport { enforceConfig, areRequiredKeysDefined } from \"../../shared/enforce-config\";\nimport { BeamError, MissingConfig } from \"../../utils/beam-errors\";\nimport { TId, TNumericId } from \"../../shared/types\";\nimport { TCart } from \"../../shared/cart-contents\";\nimport { createScopedLocalStorage } from \"../../utils/local-storage\";\nimport { cssCardGrid } from \"../../shared/fragments/css-card-grid\";\nimport { postChainEligibleNonprofitsForCart } from \"../../api-sdk/v3/routes\";\nimport { putTransaction } from \"../../api-sdk/v4/routes\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { BeamNonprofitSelectEvent } from \"../../utils/events\";\nimport { localizeUserString } from \"../../shared/localize\";\nimport { progressBarConfigDefaults } from \"../../shared/components/progress-bar\";\nimport { partnerLogosConfigDefaults } from \"../beam-partner-logos\";\nimport { promoPillLabelConfigDefaults } from \"../../shared/components/promo-pill-label\";\nimport { _radioButton } from \"../../shared/fragments/radioButton\";\nimport { strings } from \"./strings\";\n\ninterface TRequiredConfig {\n apiKey: string;\n transactionId: TId;\n}\n\ntype TIAPIV3GetChainNonprofits = Awaited<ReturnType<typeof import(\"../../api-sdk/v3/routes\").getChainNonprofits>>;\ntype TIAPIV3EligibleNonprofits = Awaited<\n ReturnType<typeof import(\"../../api-sdk/v3/routes\").getChainNonprofits>\n>[\"nonprofits\"];\ntype TIAPIV3Nonprofit = TIAPIV3EligibleNonprofits[number];\nexport class BeamRedeemTransaction extends LitElement {\n static tagName = \"beam-redeem-transaction\";\n\n @property({ type: String }) public baseUrl: string = DEFAULT_BASE_URL;\n\n @property({ type: String }) public apiKey?: TRequiredConfig[\"apiKey\"];\n\n @property({ type: Number }) public transactionId?: TRequiredConfig[\"transactionId\"];\n\n @property({ type: Number }) public storeId?: TNumericId;\n\n @property({ type: String }) public countryCode?: string;\n\n @property({ type: String }) public postalCode?: string;\n\n @property({ type: Object }) public cart?: TCart;\n\n @property({ type: Number, reflect: true })\n public selectedNonprofitId?: TNumericId;\n\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n\n @property({ type: Boolean }) public debug = false;\n\n @property({ type: Boolean }) public draftConfig = false;\n\n @state() private isMobile = window.innerWidth < 768;\n\n @state() private didUserExpandNonprofits = false;\n\n @state() private shouldUsePromoUI = false;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n private get hasCorrectTransactionConfig(): boolean {\n const requiredKeys: (keyof TRequiredConfig)[] = [\"apiKey\", \"transactionId\"];\n const isTransactionConfigCorrect = areRequiredKeysDefined(requiredKeys, this);\n return isTransactionConfigCorrect;\n }\n\n private getChainNonprofits = async () => {\n if (!this.hasCorrectTransactionConfig) {\n throw new MissingConfig();\n }\n\n const res = await postChainEligibleNonprofitsForCart({\n baseUrl: this.baseUrl,\n headers: { authorization: `Api-Key ${this.apiKey}` },\n requestBody: {\n storeId: this.storeId,\n postalCode: this.postalCode,\n countryCode: this.countryCode,\n transactionId: String(this.transactionId),\n cart: this.cart ?? undefined,\n widgetName: WIDGET_NAMES.redeem_transaction,\n options: {\n config: {\n draftConfig: this.draftConfig,\n },\n },\n version: \"2.0.0\",\n lang: this.configLang,\n },\n });\n\n // If store ID was not provided, get the store ID from response here\n if (res.store?.id && res.store.id !== this.storeId) {\n this.storeId = res.store.id;\n }\n\n this.localStorage.setItemJson(\"chainNonprofits\", {\n createdAt: new Date(),\n data: res,\n });\n\n return res;\n };\n\n private updateNonprofitIdForRecord = async ({ selectedNonprofitId }: { selectedNonprofitId: TNumericId }) => {\n if (this.transactionId) {\n return this.putTransaction({ selectedNonprofitId });\n }\n return null;\n };\n private putTransaction = async ({ selectedNonprofitId }: { selectedNonprofitId: TNumericId }) => {\n if (!enforceConfig<TRequiredConfig>([\"apiKey\", \"transactionId\"], this)) {\n throw new MissingConfig();\n }\n return putTransaction({\n baseUrl: this.baseUrl,\n apiRoot: \"/api\",\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n pathParams: {\n transactionId: this.transactionId,\n },\n requestBody: {\n nonprofitId: selectedNonprofitId,\n },\n });\n };\n\n private nonprofitListDataController = new AsyncController<typeof this.getChainNonprofits>(\n this,\n this.getChainNonprofits\n );\n\n private selectionDataController = new AsyncController<typeof this.updateNonprofitIdForRecord>(\n this,\n this.updateNonprofitIdForRecord\n );\n\n private localStorage = createScopedLocalStorage(this as LitElement & TRequiredConfig);\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<TRequiredConfig>([\"apiKey\"], this)) throw new MissingConfig();\n\n this.selectedNonprofitId = parseInt(this.localStorage.getItem(\"nonprofit\") || \"\") || undefined;\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 const cacheTtl = 2 * 60 * 60 * 1000;\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 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.selectionDataController.data == null && !this.selectionDataController.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.selectionDataController.exec({ selectedNonprofitId });\n\n this.localStorage.setItem(\"nonprofit\", selectedNonprofitId);\n this.localStorage.setItem(\"nonprofit_selected_at\", new Date().toISOString());\n\n const selectedNonprofit = this.nonprofitListDataController?.data?.nonprofits.find(\n (np) => np.nonprofit.id === selectedNonprofitId\n );\n\n this.dispatchEvent(\n new BeamNonprofitSelectEvent({\n selectedNonprofitId,\n nonprofitName: selectedNonprofit?.nonprofit.name,\n source: WIDGET_NAMES.redeem_transaction,\n timestamp: new Date(),\n })\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 \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"inherit\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n ...defineCustomText(\"--beam-RedeemTransaction-title\", {\n fontSize: \"1.25em\",\n fontWeight: \"bold\",\n }),\n ...defineCustomText(\"--beam-RedeemTransaction-description\", {\n marginTop: \"0.5em\",\n lineHeight: \"normal\",\n }),\n ...partnerLogosConfigDefaults,\n ...progressBarConfigDefaults,\n \"--beam-RedeemTransaction-maxWidth\": \"1000px\",\n \"--beam-RedeemTransaction-submitButton-fontSize\": \"14px\",\n \"--beam-RedeemTransaction-submitButton-fontWeight\": \"inherit\",\n \"--beam-RedeemTransaction-submitButton-fontFamily\": \"inherit\",\n \"--beam-RedeemTransaction-submitButton-textTransform\": \"uppercase\",\n \"--beam-RedeemTransaction-submitButton-color\": \"#fff\",\n \"--beam-RedeemTransaction-submitButton-backgroundColor\": \"#000000\",\n \"--beam-RedeemTransaction-submitButton-borderRadius\": \"0px\",\n \"--beam-RedeemTransaction-submitButton-borderColor\": \"#000000\",\n \"--beam-RedeemTransaction-submitButton-padding\": \"16px 0px\",\n \"--beam-RedeemTransaction-submitButton-width\": \"100%\",\n \"--beam-RedeemTransaction-submitButton-marginTop\": \"10px\",\n \"--beam-RedeemTransaction-submitButton-marginBottom\": \"10px\",\n \"--beam-RedeemTransaction-submitButtonContainer-display\": \"flex\",\n \"--beam-RedeemTransaction-submitButtonContainer-backgroundColor\": \"#fff\",\n \"--beam-RedeemTransaction-submitButton-hover-backgroundColor\": \"#000000\",\n \"--beam-RedeemTransaction-submitButton-hover-borderColor\": \"#000000\",\n \"--beam-RedeemTransaction-submitButton-hover-color\": \"#fff\",\n \"--beam-RedeemTransaction-submitButton-disabled-borderColor\": \"#767676\",\n \"--beam-RedeemTransaction-submitButton-disabled-backgroundColor\": \"#767676\",\n \"--beam-RedeemTransaction-submitButton-disabled-color\": \"#fff\",\n \"--beam-RedeemTransaction-radioButton-color\": \"transparent\",\n \"--beam-RedeemTransaction-radioButton-borderColor\": \"#707070\",\n \"--beam-RedeemTransaction-radioButton-backgroundColor\": \"#fff\",\n \"--beam-RedeemTransaction-radioButton-hover-color\": \"#fff\",\n \"--beam-RedeemTransaction-radioButton-hover-backgroundColor\": \"#000\",\n \"--beam-RedeemTransaction-radioButton-hover-borderColor\": \"#000\",\n \"--beam-RedeemTransaction-radioButton-selected-borderColor\": \"#000\",\n \"--beam-RedeemTransaction-radioButton-selected-backgroundColor\": \"#000\",\n \"--beam-RedeemTransaction-radioButton-selected-color\": \"#fff\",\n \"--beam-RedeemTransaction-options-minWidth\": \"0px\",\n \"--beam-RedeemTransaction-options-columnCount\": \"1\",\n \"--beam-RedeemTransaction-options-borderWidth\": \"1px\",\n \"--beam-RedeemTransaction-options-image-borderRadius\": \"8px\",\n \"--beam-RedeemTransaction-options-image-height\": \"70px\",\n \"--beam-RedeemTransaction-options-image-height-mobile\": \"75px\",\n \"--beam-RedeemTransaction-options-borderColor\": \"#d9d9d9\",\n \"--beam-RedeemTransaction-options-backgroundColor\": \"transparent\",\n \"--beam-RedeemTransaction-options-marginTop\": \"15px\",\n \"--beam-RedeemTransaction-options-hover-backgroundColor\": \"#f1f1f1\",\n \"--beam-RedeemTransaction-options-hover-borderWidth\": \".5px\",\n \"--beam-RedeemTransaction-options-hover-borderColor\": \"#000000\",\n \"--beam-RedeemTransaction-options-selected-borderColor\": \"#000000\",\n \"--beam-RedeemTransaction-options-selected-borderWidth\": \".5px\",\n \"--beam-RedeemTransaction-options-selected-backgroundColor\": \"#eee\",\n ...defineCustomText(\"--beam-RedeemTransaction-options-details\", {\n fontSize: \"0.85em\",\n marginTop: \"0px\",\n lineHeight: \"normal\",\n letterSpacing: \"-0.45px\",\n }),\n ...defineCustomText(\"--beam-RedeemTransaction-options-details-cause\", {\n fontSize: \"1em\",\n fontWeight: \"bold\",\n }),\n \"--beam-RedeemTransaction-options-details-nonprofitName-fontWeight\": \"normal\",\n \"--beam-RedeemTransaction-options-details-nonprofitName-fontStyle\": \"inherit\",\n \"--beam-RedeemTransaction-options-details-fundingProgress-marginTop\": \"3px\", // update after class name addition\n ...defineCustomText(\"--beam-RedeemTransaction-options-details-fundingProgressLabel\", {\n fontSize: \"0.85em\",\n textTransform: \"capitalize\",\n }),\n \"--beam-RedeemTransaction-cardStyle\": \"'image'\", // icon, selected_icon, image\n \"--beam-RedeemTransaction-options-icon-padding\": \"0px\",\n \"--beam-RedeemTransaction-options-icon-backgroundColor\": \"#F3F3F3\",\n \"--beam-RedeemTransaction-options-collapseNonprofits-mobile\": \"false\",\n \"--beam-RedeemTransaction-options-collapseNonprofits-desktop\": \"false\",\n \"--beam-RedeemTransaction-image-width\": \"13%\",\n \"--beam-RedeemTransaction-image-height\": \"50%\",\n \"--beam-RedeemTransaction-image-width-mobile\": \"16%\",\n ...promoPillLabelConfigDefaults,\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-RedeemTransaction-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 .headerContainer {\n align-items: flex-start;\n justify-content: space-between;\n display: flex;\n order: 2;\n }\n\n .submitButtonContainer {\n margin-top: var(--beam-RedeemTransaction-submitButton-marginTop);\n margin-bottom: var(--beam-RedeemTransaction-submitButton-marginBottom);\n background-color: var(--beam-RedeemTransaction-submitButtonContainer-backgroundColor);\n display: var(--beam-RedeemTransaction-submitButtonContainer-display);\n }\n\n .submitButton {\n color: var(--beam-RedeemTransaction-submitButton-color);\n background-color: var(--beam-RedeemTransaction-submitButton-backgroundColor);\n border: 1px solid var(--beam-RedeemTransaction-submitButton-borderColor);\n font-size: var(--beam-RedeemTransaction-submitButton-fontSize);\n font-weight: var(--beam-RedeemTransaction-submitButton-fontWeight);\n font-family: var(--beam-RedeemTransaction-submitButton-fontFamily);\n text-transform: var(--beam-RedeemTransaction-submitButton-textTransform);\n border-radius: var(--beam-RedeemTransaction-submitButton-borderRadius);\n padding: var(--beam-RedeemTransaction-submitButton-padding);\n width: var(--beam-RedeemTransaction-submitButton-width);\n transition: background-color 0.2s, border-color 0.2s, color 0.2s;\n cursor: pointer;\n }\n\n .submitButton:not(.isDisabled):focus-visible,\n .submitButton:not(.isDisabled):hover {\n background-color: var(--beam-RedeemTransaction-submitButton-hover-backgroundColor);\n border-color: var(--beam-RedeemTransaction-submitButton-hover-borderColor);\n color: var(--beam-RedeemTransaction-submitButton-hover-color);\n }\n\n .submitButton.isDisabled {\n color: var(--beam-RedeemTransaction-submitButton-disabled-color);\n background-color: var(--beam-RedeemTransaction-submitButton-disabled-backgroundColor);\n border-color: var(--beam-RedeemTransaction-submitButton-disabled-borderColor);\n cursor: not-allowed;\n }\n\n .options {\n margin-top: var(--beam-RedeemTransaction-options-marginTop);\n order: 3;\n flex-grow: 1;\n }\n\n .options.isHidden {\n display: none;\n }\n\n .option {\n border: var(--beam-RedeemTransaction-options-borderWidth) solid\n var(--beam-RedeemTransaction-options-borderColor);\n border-bottom: none;\n background-color: var(--beam-RedeemTransaction-options-backgroundColor);\n cursor: pointer;\n transition: border-color 0.2s, background-color 0.2s, outline 0.2s;\n }\n\n .option:first-child {\n border-radius: 8px 8px 0 0; /* Top corners rounded */\n }\n\n .option:last-child {\n border-bottom: var(--beam-RedeemTransaction-options-borderWidth) solid\n var(--beam-RedeemTransaction-options-borderColor);\n border-radius: 0 0 8px 8px; /* Bottom corners rounded */\n }\n\n .option:not(.isDisabled):not(:last-child):focus-visible,\n .option:not(.isDisabled):not(:last-child):hover,\n .option:not(.isSelected):not(:last-child):focus-visible,\n .option:not(.isSelected):not(:last-child):hover {\n background-color: var(--beam-RedeemTransaction-options-hover-backgroundColor);\n outline: var(--beam-RedeemTransaction-options-hover-borderWidth) solid\n var(--beam-RedeemTransaction-options-hover-borderColor);\n border-bottom: var(--beam-RedeemTransaction-options-hover-borderWidth) solid\n var(--beam-RedeemTransaction-options-hover-borderColor);\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-RedeemTransaction-options-hover-backgroundColor);\n outline: var(--beam-RedeemTransaction-options-hover-borderWidth) solid\n var(--beam-RedeemTransaction-options-hover-borderColor);\n }\n\n .option.isDisabled {\n cursor: not-allowed;\n }\n\n .option.isSelected {\n outline: var(--beam-RedeemTransaction-options-selected-borderWidth) solid\n var(--beam-RedeemTransaction-options-selected-borderColor);\n background-color: var(--beam-RedeemTransaction-options-selected-backgroundColor);\n border-bottom: var(--beam-RedeemTransaction-options-selected-borderWidth) solid\n var(--beam-RedeemTransaction-options-selected-borderColor);\n }\n\n .option.isSelected:focus-visible,\n .option.isSelected:hover {\n outline: var(--beam-RedeemTransaction-options-selected-borderWidth) solid\n var(--beam-RedeemTransaction-options-selected-borderColor);\n border-bottom: var(--beam-RedeemTransaction-options-selected-borderWidth) solid\n var(--beam-RedeemTransaction-options-selected-borderColor);\n }\n\n .option .radioButton {\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-RedeemTransaction-radioButton-color);\n background-color: var(--beam-RedeemTransaction-radioButton-backgroundColor);\n border-color: var(--beam-RedeemTransaction-radioButton-borderColor);\n }\n\n .option.isSelected .radioButton,\n .option.isSelected:focus-visible .radioButton,\n .option.isSelected:hover .radioButton {\n color: var(--beam-RedeemTransaction-radioButton-selected-color);\n background-color: var(--beam-RedeemTransaction-radioButton-selected-backgroundColor);\n border-color: var(--beam-RedeemTransaction-radioButton-selected-borderColor);\n }\n\n .option:not(.isSelected):focus-visible .radioButton,\n .option:not(.isSelected):hover .radioButton {\n color: var(--beam-RedeemTransaction-radioButton-hover-color);\n background-color: var(--beam-RedeemTransaction-radioButton-hover-backgroundColor);\n border-color: var(--beam-RedeemTransaction-radioButton-hover-borderColor);\n }\n\n .detailsDescription {\n ${useCustomText(\"--beam-RedeemTransaction-options-details\")}\n }\n\n .detailsDescription .nonprofitName {\n font-weight: var(--beam-RedeemTransaction-options-details-nonprofitName-fontWeight);\n font-style: var(--beam-RedeemTransaction-options-details-nonprofitName-fontStyle);\n }\n\n .radioButtonContainer {\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n }\n\n .radioButton {\n padding: 5px;\n border-radius: 100%;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n\n .imageContainer {\n flex: 1 0 var(--beam-RedeemTransaction-image-width);\n display: flex;\n flex-direction: column;\n }\n\n .progressBarContainer {\n display: flex;\n align-items: center;\n }\n\n .details-progressBarLabel {\n ${useCustomText(\"--beam-RedeemTransaction-options-details-fundingProgressLabel\")}\n white-space: nowrap;\n text-align: right;\n margin-left: 15px;\n }\n\n .details {\n flex: 1 1 100%;\n display: flex;\n flex-direction: column;\n gap: 5px;\n }\n\n .root {\n display: flex;\n flex-direction: column;\n }\n\n .submitButtonContainer {\n order: 4;\n position: sticky;\n bottom: 0;\n z-index: 999;\n }\n\n .icon-background {\n width: 50px;\n height: 50px;\n border-radius: 50%;\n overflow: hidden;\n background: var(--beam-RedeemTransaction-options-icon-backgroundColor);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .icon {\n height: var(--beam-RedeemTransaction-image-height);\n }\n\n .icon-container {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n `,\n cssCardGrid({\n gap: \"0px\",\n itemMinWidth: \"var(--beam-RedeemTransaction-options-minWidth, 0px)\",\n columnCount: \"var(--beam-RedeemTransaction-options-columnCount, 1)\",\n }),\n ];\n\n private handleChooseClick() {\n this.didUserExpandNonprofits = true;\n }\n\n get shouldCollapse() {\n const enableMobileCollapse = this.cssVariables[\"--beam-RedeemTransaction-options-collapseNonprofits-mobile\"];\n const enableDesktopCollapse = this.cssVariables[\"--beam-RedeemTransaction-options-collapseNonprofits-desktop\"];\n const isMobileCollapseEnabled = enableMobileCollapse?.toLowerCase() === \"true\";\n const isDesktopCollapseEnabled = enableDesktopCollapse?.toLowerCase() === \"true\";\n\n return (this.isMobile && isMobileCollapseEnabled) || (!this.isMobile && isDesktopCollapseEnabled);\n }\n\n private renderSubmitButton(data: TIAPIV3GetChainNonprofits) {\n return html`\n ${this.didUserExpandNonprofits || !this.shouldCollapse\n ? html` <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.selectionDataController.data !== null\n ? localizeUserString(\n this.configLang,\n data?.config?.web?.confirmedButton || strings[this.configLang].submitButtonTextCompleted()\n )\n : localizeUserString(\n this.configLang,\n data?.config?.web?.confirmButton || strings[this.configLang].submitButtonText()\n )}\n </button>`\n : html`\n <button type=\"button\" @click=\"${this.handleChooseClick}\" class=\"submitButton\" part=\"submitButton\">\n ${localizeUserString(\n this.configLang,\n data?.config?.web?.collapsedButton || strings[this.configLang].chooseButtonText()\n )}\n </button>\n `}\n `;\n }\n\n private renderRadioButton() {\n return html`\n <div class=\"radioButtonContainer\">\n <span part=\"radioButton\" class=\"radioButton\">\n <span style=\"line-height: 0;\"> ${_radioButton({ height: \"7px\", width: \"7px\" })} </span>\n </span>\n </div>\n `;\n }\n\n private renderNonprofitImage(np: TIAPIV3Nonprofit, displayIcon: boolean) {\n const cardStyle = this.cssVariables[\"--beam-RedeemTransaction-cardStyle\"];\n\n const imageUrl = displayIcon\n ? cardStyle === \"'icon'\"\n ? np.nonprofit.causeIconUrl\n : cardStyle === \"'selected_icon'\"\n ? np.nonprofit.causeIconSelectedUrl\n : np.imageUrl\n : np.imageUrl;\n\n return html`\n ${displayIcon\n ? html` <div class=\"icon-container\">\n <div class=\"icon-background\">\n <img src=\"${imageUrl}\" alt=\"\" role=\"presentation\" class=\"icon\" />\n </div>\n </div>`\n : html` <div\n class=\"image-container\"\n style=\"${this.isMobile\n ? \"flex: 1 0 var(--beam-RedeemTransaction-image-width-mobile)\"\n : \"flex: 1 0 var(--beam-RedeemTransaction-image-width)\"}\"\n >\n <img\n src=\"${imageUrl}\"\n alt=\"\"\n role=\"presentation\"\n class=\"image\"\n style=\"\n width: 100%;\n height: ${this.isMobile\n ? \"var(--beam-RedeemTransaction-options-image-height-mobile)\"\n : \"var(--beam-RedeemTransaction-options-image-height)\"};\n object-fit: cover;\n border-radius: var(--beam-RedeemTransaction-options-image-borderRadius);}\n \"\n />\n </div>`}\n `;\n }\n\n private renderOptionDetail(np: TIAPIV3Nonprofit) {\n return html`\n <div class=\"detailsCause\" style=\"${useCustomText(\"--beam-RedeemTransaction-options-details-cause\")}\">\n ${localizeUserString(this.configLang, np.nonprofit.cause || \"\")}\n </div>\n <p class=\"detailsDescription\">${unsafeHTML(localizeUserString(this.configLang, np.impact.description || \"\"))}</p>\n `;\n }\n\n private renderProgressBar(np: TIAPIV3Nonprofit) {\n return html`\n <div class=\"progressBarContainer\">\n <beam-progress-bar value=\"${np.impact.goalProgressPercentage}\" style=\"flex: 1;\"></beam-progress-bar>\n <span class=\"details-progressBarLabel\">\n ${localizeUserString(this.configLang, np.impact.goalProgressText)}\n </span>\n </div>\n `;\n }\n\n private renderNonprofitDetails(\n np: TIAPIV3Nonprofit,\n hasNonprofitWithInactivePromo: boolean,\n data: TIAPIV3GetChainNonprofits\n ) {\n return html`\n <div class=\"details\" part=\"details\">\n ${this.renderOptionDetail(np)} ${this.renderPromoPill(np, hasNonprofitWithInactivePromo, data)}\n </div>\n `;\n }\n\n private renderPromoPill(\n np: TIAPIV3Nonprofit,\n hasNonprofitWithInactivePromo: boolean,\n data: TIAPIV3GetChainNonprofits\n ) {\n return html`\n ${np.promo?.isActive && this.shouldUsePromoUI && hasNonprofitWithInactivePromo\n ? html`<beam-promo-info-pill .promo=${data?.config?.web?.promo} shortVersion></beam-promo-info-pill>`\n : html``}\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.selectionDataController.error) {\n if (this.debug) {\n return _errorMessage({ error: this.selectionDataController.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 displayIcon =\n this.cssVariables[\"--beam-RedeemTransaction-cardStyle\"] === \"'icon'\" ||\n this.cssVariables[\"--beam-RedeemTransaction-cardStyle\"] === \"'selected_icon'\";\n const livePromo = data?.config?.web?.promo;\n this.shouldUsePromoUI = livePromo ? true : false; // new promo UI\n const hasNonprofitWithInactivePromo = nonprofits.some((nonprofit) => !nonprofit.promo || !nonprofit.promo.isActive);\n\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n <!-- Custom flex order fixes tab cycling so submit button is after content -->\n <div style=\"display: flex; flex-direction: column;\" class=\"root\">\n <div\n style=\"order: 3;\"\n tabindex=\"-1\"\n class=\"options cardGrid ${classMap({ isHidden: !this.didUserExpandNonprofits && this.shouldCollapse })}\"\n part=\"options\"\n role=\"radiogroup\"\n aria-labelledby=\"beam-RedeemTransaction-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 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 style=\"display: flex; flex-direction: column; padding: 11px; justify-content:center;\"\n >\n <div class=\"optionContainer\" style=\"display: flex; align-items: flex-start; gap: 8px;\">\n ${this.renderRadioButton()}\n <div\n class=\"nonprofitInfoContainer\"\n style=\"flex: 1; display: flex; flex-direction: column; gap: 5px;\"\n >\n <div class=\"imageDetailContainer\" style=\"display: flex; gap: 8px;\">\n ${this.renderNonprofitImage(np, displayIcon)}\n ${this.renderNonprofitDetails(np, hasNonprofitWithInactivePromo, data)}\n </div>\n ${this.renderProgressBar(np)}\n </div>\n </div>\n </div>\n `;\n }\n )}\n </div>\n\n <div class=\"submitButtonContainer\" part=\"submit-button-container\">${this.renderSubmitButton(data)}</div>\n\n <div class=\"headerContainer\" part=\"header-container\">\n <div>\n <div\n class=\"header-promo-pill-container\"\n style=\"display: flex; ${this.isMobile && \"flex-direction: column; align-items: flex-start;\"}\"\n >\n <h3\n class=\"title\"\n part=\"title\"\n id=\"beam-RedeemTransaction-title\"\n style=\"${useCustomText(\"--beam-RedeemTransaction-title\")}; margin-right: 8px;\"\n >\n ${localizeUserString(this.configLang, data?.config?.web?.title) || strings[this.configLang].ctaTitle()}\n </h3>\n ${this.shouldUsePromoUI\n ? html`<beam-promo-info-pill\n .promo=${livePromo}\n style=\"${this.isMobile && \"order: -1; margin-bottom:10px;\"}\"\n ></beam-promo-info-pill>`\n : html``}\n </div>\n <p class=\"description\" part=\"description\" style=\"${useCustomText(\"--beam-RedeemTransaction-description\")}\">\n ${this.shouldUsePromoUI\n ? html`<span style=\"font-weight:bold\">\n ${localizeUserString(this.configLang, data?.config?.web?.promoDescriptionPrefix || \"\") ||\n strings[this.configLang].ctaPromoPrefixMessage()}\n </span>\n <span>\n ${localizeUserString(this.configLang, data?.config?.web?.promoDescription || \"\") ||\n strings[this.configLang].ctaPromoMessage()}\n </span>`\n : html`<span\n >${localizeUserString(this.configLang, data?.config?.web?.description || \"\") ||\n strings[this.configLang].ctaMessage()}\n </span>`}\n </p>\n </div>\n </div>\n\n <beam-partner-logos\n partnerName=\"${data.chain.name}\"\n partnerLogoUrl=\"${data.chain.logoUrl}\"\n style=\"order: 1\"\n part=\"logos\"\n ></beam-partner-logos>\n </div>\n `;\n }\n}\n\ndefineCustomElement(BeamRedeemTransaction);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-redeem-transaction\": BeamRedeemTransaction;\n }\n}\n"],"names":["postTransaction","makeOpenApiMethod","putTransaction","_radioButton","height","width","html","styleMap","strings","donationPercentage","BeamRedeemTransaction","LitElement","DEFAULT_BASE_URL","MissingConfig","res","postChainEligibleNonprofitsForCart","WIDGET_NAMES","selectedNonprofitId","enforceConfig","AsyncController","createScopedLocalStorage","id","index","nonprofits","event","currentId","nextFocus","focusTarget","selectedNonprofit","np","BeamNonprofitSelectEvent","debounce","SUPPORTED_LANGUAGES","areRequiredKeysDefined","_changedProperties","previousPropertyValues","requireNewDataProps","prop","createdAt","data","cacheTtl","defaults","defineCustomText","partnerLogosConfigDefaults","progressBarConfigDefaults","promoPillLabelConfigDefaults","remoteConfig","config","_cssVariableMap","enableMobileCollapse","enableDesktopCollapse","isMobileCollapseEnabled","isDesktopCollapseEnabled","classMap","localizeUserString","displayIcon","cardStyle","imageUrl","useCustomText","unsafeHTML","hasNonprofitWithInactivePromo","loading","_loading","_errorMessage","BeamError","livePromo","nonprofit","repeat","i","isSelected","isFocusable","cssReset","css","cssCardGrid","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import BeamCommunityImpact from '../react/community-impact.js';
2
- import BeamCumulativeImpact from '../react/cumulative-impact.js';
3
- import BeamImpactOverview from '../react/impact-overview.js';
4
- import BeamSelectNonprofit from '../react/select-nonprofit.js';
5
- import BeamRedeemTransaction from '../react/redeem-transaction.js';
6
- import BeamPostPurchase from '../react/post-purchase.js';
7
- import BeamSubscriptionManagement from '../react/subscription-management.js';
8
- import BeamSelectSubscriptionNonprofit from '../react/select-subscription-nonprofit.js';
9
- import BeamSubscriptionImpact from '../react/subscription-impact.js';
10
- import BeamProductDetailsPage from '../react/product-details-page.js';
11
- import BeamSocialShare from '../react/social-share.js';
12
-
13
- declare const index_BeamCommunityImpact: typeof BeamCommunityImpact;
14
- declare const index_BeamCumulativeImpact: typeof BeamCumulativeImpact;
15
- declare const index_BeamImpactOverview: typeof BeamImpactOverview;
16
- declare const index_BeamPostPurchase: typeof BeamPostPurchase;
17
- declare const index_BeamProductDetailsPage: typeof BeamProductDetailsPage;
18
- declare const index_BeamRedeemTransaction: typeof BeamRedeemTransaction;
19
- declare const index_BeamSelectNonprofit: typeof BeamSelectNonprofit;
20
- declare const index_BeamSelectSubscriptionNonprofit: typeof BeamSelectSubscriptionNonprofit;
21
- declare const index_BeamSocialShare: typeof BeamSocialShare;
22
- declare const index_BeamSubscriptionImpact: typeof BeamSubscriptionImpact;
23
- declare const index_BeamSubscriptionManagement: typeof BeamSubscriptionManagement;
24
- declare namespace index {
25
- export { index_BeamCommunityImpact as BeamCommunityImpact, index_BeamCumulativeImpact as BeamCumulativeImpact, index_BeamImpactOverview as BeamImpactOverview, index_BeamPostPurchase as BeamPostPurchase, index_BeamProductDetailsPage as BeamProductDetailsPage, index_BeamRedeemTransaction as BeamRedeemTransaction, index_BeamSelectNonprofit as BeamSelectNonprofit, index_BeamSelectSubscriptionNonprofit as BeamSelectSubscriptionNonprofit, index_BeamSocialShare as BeamSocialShare, index_BeamSubscriptionImpact as BeamSubscriptionImpact, index_BeamSubscriptionManagement as BeamSubscriptionManagement };
26
- }
27
-
28
- export { index as i };
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-DjrWwYdg.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-DmUEFwoM.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-DvhxjeiK.esm.js","sources":["../../src/api-sdk/v4/routes.ts","../../src/shared/fragments/radioButton.ts","../../src/components/redeem-transaction/strings.ts","../../src/components/redeem-transaction/index.ts"],"sourcesContent":["import { makeOpenApiMethod } from \"../make-openapi-method\";\n\nexport const postTransaction = makeOpenApiMethod(\"/v4/transaction\", \"post\", 201);\n\nexport const putTransaction = makeOpenApiMethod(\"/v4/transaction/redeem/{transactionId}\", \"put\", 200);\n","import { html } from \"lit\";\nimport { styleMap } from \"lit/directives/style-map.js\";\n\nexport const _radioButton = ({ height = \"1em\", width = \"1em\" } = {}) =>\n html`\n <svg\n style=\"${styleMap({ height, width, position: \"relative\", bottom: \"0\" })}\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n >\n <!-- Filled Circle -->\n <circle cx=\"12\" cy=\"12\" r=\"10\" fill=\"currentColor\" />\n </svg>\n `;\n","export const strings = {\n en: {\n beamAttribution: () => `Powered by Beam`,\n ctaTitle: () => `Choose your impact`,\n ctaPromoPrefixMessage: () => `At no extra cost,`,\n ctaPromoMessage: ({ donationPercentage = \"1\" } = {}) =>\n `select a nonprofit and ${donationPercentage}% will be donated there for you.`,\n ctaMessage: ({ donationPercentage = \"1\" } = {}) =>\n `At no extra cost, select a nonprofit and ${donationPercentage}% will be donated there for you.`,\n submitButtonText: () => `Confirm`,\n submitButtonTextCompleted: () => `Confirmed!`,\n chooseButtonText: () => `Choose a nonprofit`,\n },\n fr: {\n beamAttribution: () => `Optimisé par Beam`,\n ctaTitle: () => `Choisissez votre cause`,\n ctaPromoPrefixMessage: () => `Sans frais supplémentaires,`,\n ctaPromoMessage: ({ donationPercentage = \"1\" } = {}) =>\n `sélectionnez une association et ${donationPercentage} % sera reversé en votre nom.`,\n ctaMessage: ({ donationPercentage = \"1\" } = {}) =>\n `Sans frais supplémentaires, choisissez une association et ${donationPercentage} % de votre commande lui sera reversé en votre nom.`,\n submitButtonText: () => `Confirmer`,\n submitButtonTextCompleted: () => `Confirmé !`,\n chooseButtonText: () => `Choisir une association`,\n },\n de: {\n beamAttribution: () => `Unterstützt von Beam`,\n ctaTitle: () => `Wähle deine Wirkung`,\n ctaPromoPrefixMessage: () => `Ohne zusätzliche Kosten,`,\n ctaPromoMessage: ({ donationPercentage = \"1\" } = {}) =>\n `wähle eine gemeinnützige Organisation und ${donationPercentage}% werden in deinem Namen gespendet.`,\n ctaMessage: ({ donationPercentage = \"1\" } = {}) =>\n `Ohne zusätzliche Kosten kannst du eine Organisation auswählen, und ${donationPercentage}% deiner Bestellung werden gespendet.`,\n submitButtonText: () => `Bestätigen`,\n submitButtonTextCompleted: () => `Bestätigt!`,\n chooseButtonText: () => `Wähle eine Organisation`,\n },\n es: {\n beamAttribution: () => `Ofrecido por Beam`,\n ctaTitle: () => `Elige tu impacto`,\n ctaPromoPrefixMessage: () => `Sin coste adicional,`,\n ctaPromoMessage: ({ donationPercentage = \"1\" } = {}) =>\n `elige una organización y donaremos el ${donationPercentage}% en tu nombre.`,\n ctaMessage: ({ donationPercentage = \"1\" } = {}) =>\n `Sin coste adicional, elige una organización sin ánimo de lucro y donaremos el ${donationPercentage}% de tu compra en tu nombre.`,\n submitButtonText: () => `Confirmar`,\n submitButtonTextCompleted: () => `¡Confirmado!`,\n chooseButtonText: () => `Elige una organización`,\n },\n it: {\n beamAttribution: () => `Promosso da Beam`,\n ctaTitle: () => `Scegli il tuo impatto`,\n ctaPromoPrefixMessage: () => `Senza costi aggiuntivi,`,\n ctaPromoMessage: ({ donationPercentage = \"1\" } = {}) =>\n `scegli un'organizzazione e doneremo l’${donationPercentage}% per te.`,\n ctaMessage: ({ donationPercentage = \"1\" } = {}) =>\n `Senza costi aggiuntivi, scegli un'organizzazione no profit e doneremo l’${donationPercentage}% del tuo acquisto a suo favore.`,\n submitButtonText: () => `Conferma`,\n submitButtonTextCompleted: () => `Confermato!`,\n chooseButtonText: () => `Scegli un'organizzazione`,\n },\n pl: {\n beamAttribution: () => `Obsługiwane przez Beam`,\n ctaTitle: () => `Wybierz swój wpływ`,\n ctaPromoPrefixMessage: () => `Bez dodatkowych kosztów,`,\n ctaPromoMessage: ({ donationPercentage = \"1\" } = {}) =>\n `wybierz organizację, a ${donationPercentage}% zostanie przekazane w Twoim imieniu.`,\n ctaMessage: ({ donationPercentage = \"1\" } = {}) =>\n `Bez dodatkowych kosztów możesz wybrać organizację, której przekażemy ${donationPercentage}% wartości Twojego zamówienia w Twoim imieniu.`,\n submitButtonText: () => `Potwierdź`,\n submitButtonTextCompleted: () => `Potwierdzono!`,\n chooseButtonText: () => `Wybierz organizację`,\n },\n ja: {\n beamAttribution: () => `Powered by Beam`,\n ctaTitle: () => `寄付先をお選びください。`,\n ctaPromoPrefixMessage: () => `追加費用なしで、`,\n ctaPromoMessage: ({ donationPercentage = \"1\" } = {}) =>\n `非営利団体を選ぶと、${donationPercentage}%がその団体に寄付されます。`,\n ctaMessage: ({ donationPercentage = \"1\" } = {}) =>\n `追加費用なしで非営利団体をお選びいただくと、ご購入金額の${donationPercentage}%が寄付されます。`,\n submitButtonText: () => `確認する`,\n submitButtonTextCompleted: () => `確認済み`,\n chooseButtonText: () => `非営利団体を選択してください`,\n },\n};\n","import { css, html, LitElement, PropertyValues } from \"lit\";\nimport { repeat } from \"lit/directives/repeat.js\";\nimport { property } from \"lit/decorators/property.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport debounce from \"lodash-es/debounce\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES, WIDGET_NAMES } from \"../../api-sdk/constants\";\nimport \"../../shared/components/progress-bar\";\nimport \"../../shared/components/promo-pill-label\";\nimport \"../beam-partner-logos\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { defineCustomText, useCustomText } from \"../../shared/fragments/custom-text\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { _cssVariableMap } from \"../../shared/fragments/css-variable-map\";\nimport { enforceConfig, areRequiredKeysDefined } from \"../../shared/enforce-config\";\nimport { BeamError, MissingConfig } from \"../../utils/beam-errors\";\nimport { TId, TNumericId } from \"../../shared/types\";\nimport { TCart } from \"../../shared/cart-contents\";\nimport { createScopedLocalStorage } from \"../../utils/local-storage\";\nimport { cssCardGrid } from \"../../shared/fragments/css-card-grid\";\nimport { postChainEligibleNonprofitsForCart } from \"../../api-sdk/v3/routes\";\nimport { putTransaction } from \"../../api-sdk/v4/routes\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { BeamNonprofitSelectEvent } from \"../../utils/events\";\nimport { localizeUserString } from \"../../shared/localize\";\nimport { progressBarConfigDefaults } from \"../../shared/components/progress-bar\";\nimport { partnerLogosConfigDefaults } from \"../beam-partner-logos\";\nimport { promoPillLabelConfigDefaults } from \"../../shared/components/promo-pill-label\";\nimport { _radioButton } from \"../../shared/fragments/radioButton\";\nimport { strings } from \"./strings\";\n\ninterface TRequiredConfig {\n apiKey: string;\n transactionId: TId;\n}\n\ntype TIAPIV3GetChainNonprofits = Awaited<ReturnType<typeof import(\"../../api-sdk/v3/routes\").getChainNonprofits>>;\ntype TIAPIV3EligibleNonprofits = Awaited<\n ReturnType<typeof import(\"../../api-sdk/v3/routes\").getChainNonprofits>\n>[\"nonprofits\"];\ntype TIAPIV3Nonprofit = TIAPIV3EligibleNonprofits[number];\nexport class BeamRedeemTransaction extends LitElement {\n static tagName = \"beam-redeem-transaction\";\n\n @property({ type: String }) public baseUrl: string = DEFAULT_BASE_URL;\n\n @property({ type: String }) public apiKey?: TRequiredConfig[\"apiKey\"];\n\n @property({ type: Number }) public transactionId?: TRequiredConfig[\"transactionId\"];\n\n @property({ type: Number }) public storeId?: TNumericId;\n\n @property({ type: String }) public countryCode?: string;\n\n @property({ type: String }) public postalCode?: string;\n\n @property({ type: Object }) public cart?: TCart;\n\n @property({ type: Number, reflect: true })\n public selectedNonprofitId?: TNumericId;\n\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n\n @property({ type: Boolean }) public debug = false;\n\n @property({ type: Boolean }) public draftConfig = false;\n\n @state() private isMobile = window.innerWidth < 768;\n\n @state() private didUserExpandNonprofits = false;\n\n @state() private shouldUsePromoUI = false;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n private get hasCorrectTransactionConfig(): boolean {\n const requiredKeys: (keyof TRequiredConfig)[] = [\"apiKey\", \"transactionId\"];\n const isTransactionConfigCorrect = areRequiredKeysDefined(requiredKeys, this);\n return isTransactionConfigCorrect;\n }\n\n private getChainNonprofits = async () => {\n if (!this.hasCorrectTransactionConfig) {\n throw new MissingConfig();\n }\n\n const res = await postChainEligibleNonprofitsForCart({\n baseUrl: this.baseUrl,\n headers: { authorization: `Api-Key ${this.apiKey}` },\n requestBody: {\n storeId: this.storeId,\n postalCode: this.postalCode,\n countryCode: this.countryCode,\n transactionId: String(this.transactionId),\n cart: this.cart ?? undefined,\n widgetName: WIDGET_NAMES.redeem_transaction,\n options: {\n config: {\n draftConfig: this.draftConfig,\n },\n },\n version: \"2.0.0\",\n lang: this.configLang,\n },\n });\n\n // If store ID was not provided, get the store ID from response here\n if (res.store?.id && res.store.id !== this.storeId) {\n this.storeId = res.store.id;\n }\n\n this.localStorage.setItemJson(\"chainNonprofits\", {\n createdAt: new Date(),\n data: res,\n });\n\n return res;\n };\n\n private updateNonprofitIdForRecord = async ({ selectedNonprofitId }: { selectedNonprofitId: TNumericId }) => {\n if (this.transactionId) {\n return this.putTransaction({ selectedNonprofitId });\n }\n return null;\n };\n private putTransaction = async ({ selectedNonprofitId }: { selectedNonprofitId: TNumericId }) => {\n if (!enforceConfig<TRequiredConfig>([\"apiKey\", \"transactionId\"], this)) {\n throw new MissingConfig();\n }\n return putTransaction({\n baseUrl: this.baseUrl,\n apiRoot: \"/api\",\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n pathParams: {\n transactionId: this.transactionId,\n },\n requestBody: {\n nonprofitId: selectedNonprofitId,\n },\n });\n };\n\n private nonprofitListDataController = new AsyncController<typeof this.getChainNonprofits>(\n this,\n this.getChainNonprofits\n );\n\n private selectionDataController = new AsyncController<typeof this.updateNonprofitIdForRecord>(\n this,\n this.updateNonprofitIdForRecord\n );\n\n private localStorage = createScopedLocalStorage(this as LitElement & TRequiredConfig);\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<TRequiredConfig>([\"apiKey\"], this)) throw new MissingConfig();\n\n this.selectedNonprofitId = parseInt(this.localStorage.getItem(\"nonprofit\") || \"\") || undefined;\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 const cacheTtl = 2 * 60 * 60 * 1000;\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 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.selectionDataController.data == null && !this.selectionDataController.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.selectionDataController.exec({ selectedNonprofitId });\n\n this.localStorage.setItem(\"nonprofit\", selectedNonprofitId);\n this.localStorage.setItem(\"nonprofit_selected_at\", new Date().toISOString());\n\n const selectedNonprofit = this.nonprofitListDataController?.data?.nonprofits.find(\n (np) => np.nonprofit.id === selectedNonprofitId\n );\n\n this.dispatchEvent(\n new BeamNonprofitSelectEvent({\n selectedNonprofitId,\n nonprofitName: selectedNonprofit?.nonprofit.name,\n source: WIDGET_NAMES.redeem_transaction,\n timestamp: new Date(),\n })\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 \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"inherit\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n ...defineCustomText(\"--beam-RedeemTransaction-title\", {\n fontSize: \"1.25em\",\n fontWeight: \"bold\",\n }),\n ...defineCustomText(\"--beam-RedeemTransaction-description\", {\n marginTop: \"0.5em\",\n lineHeight: \"normal\",\n }),\n ...partnerLogosConfigDefaults,\n ...progressBarConfigDefaults,\n \"--beam-RedeemTransaction-maxWidth\": \"1000px\",\n \"--beam-RedeemTransaction-submitButton-fontSize\": \"14px\",\n \"--beam-RedeemTransaction-submitButton-fontWeight\": \"inherit\",\n \"--beam-RedeemTransaction-submitButton-fontFamily\": \"inherit\",\n \"--beam-RedeemTransaction-submitButton-textTransform\": \"uppercase\",\n \"--beam-RedeemTransaction-submitButton-color\": \"#fff\",\n \"--beam-RedeemTransaction-submitButton-backgroundColor\": \"#000000\",\n \"--beam-RedeemTransaction-submitButton-borderRadius\": \"0px\",\n \"--beam-RedeemTransaction-submitButton-borderColor\": \"#000000\",\n \"--beam-RedeemTransaction-submitButton-padding\": \"16px 0px\",\n \"--beam-RedeemTransaction-submitButton-width\": \"100%\",\n \"--beam-RedeemTransaction-submitButton-marginTop\": \"10px\",\n \"--beam-RedeemTransaction-submitButton-marginBottom\": \"10px\",\n \"--beam-RedeemTransaction-submitButtonContainer-display\": \"flex\",\n \"--beam-RedeemTransaction-submitButtonContainer-backgroundColor\": \"#fff\",\n \"--beam-RedeemTransaction-submitButton-hover-backgroundColor\": \"#000000\",\n \"--beam-RedeemTransaction-submitButton-hover-borderColor\": \"#000000\",\n \"--beam-RedeemTransaction-submitButton-hover-color\": \"#fff\",\n \"--beam-RedeemTransaction-submitButton-disabled-borderColor\": \"#767676\",\n \"--beam-RedeemTransaction-submitButton-disabled-backgroundColor\": \"#767676\",\n \"--beam-RedeemTransaction-submitButton-disabled-color\": \"#fff\",\n \"--beam-RedeemTransaction-radioButton-color\": \"transparent\",\n \"--beam-RedeemTransaction-radioButton-borderColor\": \"#707070\",\n \"--beam-RedeemTransaction-radioButton-backgroundColor\": \"#fff\",\n \"--beam-RedeemTransaction-radioButton-hover-color\": \"#fff\",\n \"--beam-RedeemTransaction-radioButton-hover-backgroundColor\": \"#000\",\n \"--beam-RedeemTransaction-radioButton-hover-borderColor\": \"#000\",\n \"--beam-RedeemTransaction-radioButton-selected-borderColor\": \"#000\",\n \"--beam-RedeemTransaction-radioButton-selected-backgroundColor\": \"#000\",\n \"--beam-RedeemTransaction-radioButton-selected-color\": \"#fff\",\n \"--beam-RedeemTransaction-options-minWidth\": \"0px\",\n \"--beam-RedeemTransaction-options-columnCount\": \"1\",\n \"--beam-RedeemTransaction-options-borderWidth\": \"1px\",\n \"--beam-RedeemTransaction-options-image-borderRadius\": \"8px\",\n \"--beam-RedeemTransaction-options-image-height\": \"70px\",\n \"--beam-RedeemTransaction-options-image-height-mobile\": \"75px\",\n \"--beam-RedeemTransaction-options-borderColor\": \"#d9d9d9\",\n \"--beam-RedeemTransaction-options-backgroundColor\": \"transparent\",\n \"--beam-RedeemTransaction-options-marginTop\": \"15px\",\n \"--beam-RedeemTransaction-options-hover-backgroundColor\": \"#f1f1f1\",\n \"--beam-RedeemTransaction-options-hover-borderWidth\": \".5px\",\n \"--beam-RedeemTransaction-options-hover-borderColor\": \"#000000\",\n \"--beam-RedeemTransaction-options-selected-borderColor\": \"#000000\",\n \"--beam-RedeemTransaction-options-selected-borderWidth\": \".5px\",\n \"--beam-RedeemTransaction-options-selected-backgroundColor\": \"#eee\",\n ...defineCustomText(\"--beam-RedeemTransaction-options-details\", {\n fontSize: \"0.85em\",\n marginTop: \"0px\",\n lineHeight: \"normal\",\n letterSpacing: \"-0.45px\",\n }),\n ...defineCustomText(\"--beam-RedeemTransaction-options-details-cause\", {\n fontSize: \"1em\",\n fontWeight: \"bold\",\n }),\n \"--beam-RedeemTransaction-options-details-nonprofitName-fontWeight\": \"normal\",\n \"--beam-RedeemTransaction-options-details-nonprofitName-fontStyle\": \"inherit\",\n \"--beam-RedeemTransaction-options-details-fundingProgress-marginTop\": \"3px\", // update after class name addition\n ...defineCustomText(\"--beam-RedeemTransaction-options-details-fundingProgressLabel\", {\n fontSize: \"0.85em\",\n textTransform: \"capitalize\",\n }),\n \"--beam-RedeemTransaction-cardStyle\": \"'image'\", // icon, selected_icon, image\n \"--beam-RedeemTransaction-options-icon-padding\": \"0px\",\n \"--beam-RedeemTransaction-options-icon-backgroundColor\": \"#F3F3F3\",\n \"--beam-RedeemTransaction-options-collapseNonprofits-mobile\": \"false\",\n \"--beam-RedeemTransaction-options-collapseNonprofits-desktop\": \"false\",\n \"--beam-RedeemTransaction-image-width\": \"13%\",\n \"--beam-RedeemTransaction-image-height\": \"50%\",\n \"--beam-RedeemTransaction-image-width-mobile\": \"16%\",\n ...promoPillLabelConfigDefaults,\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-RedeemTransaction-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 .headerContainer {\n align-items: flex-start;\n justify-content: space-between;\n display: flex;\n order: 2;\n }\n\n .submitButtonContainer {\n margin-top: var(--beam-RedeemTransaction-submitButton-marginTop);\n margin-bottom: var(--beam-RedeemTransaction-submitButton-marginBottom);\n background-color: var(--beam-RedeemTransaction-submitButtonContainer-backgroundColor);\n display: var(--beam-RedeemTransaction-submitButtonContainer-display);\n }\n\n .submitButton {\n color: var(--beam-RedeemTransaction-submitButton-color);\n background-color: var(--beam-RedeemTransaction-submitButton-backgroundColor);\n border: 1px solid var(--beam-RedeemTransaction-submitButton-borderColor);\n font-size: var(--beam-RedeemTransaction-submitButton-fontSize);\n font-weight: var(--beam-RedeemTransaction-submitButton-fontWeight);\n font-family: var(--beam-RedeemTransaction-submitButton-fontFamily);\n text-transform: var(--beam-RedeemTransaction-submitButton-textTransform);\n border-radius: var(--beam-RedeemTransaction-submitButton-borderRadius);\n padding: var(--beam-RedeemTransaction-submitButton-padding);\n width: var(--beam-RedeemTransaction-submitButton-width);\n transition: background-color 0.2s, border-color 0.2s, color 0.2s;\n cursor: pointer;\n }\n\n .submitButton:not(.isDisabled):focus-visible,\n .submitButton:not(.isDisabled):hover {\n background-color: var(--beam-RedeemTransaction-submitButton-hover-backgroundColor);\n border-color: var(--beam-RedeemTransaction-submitButton-hover-borderColor);\n color: var(--beam-RedeemTransaction-submitButton-hover-color);\n }\n\n .submitButton.isDisabled {\n color: var(--beam-RedeemTransaction-submitButton-disabled-color);\n background-color: var(--beam-RedeemTransaction-submitButton-disabled-backgroundColor);\n border-color: var(--beam-RedeemTransaction-submitButton-disabled-borderColor);\n cursor: not-allowed;\n }\n\n .options {\n margin-top: var(--beam-RedeemTransaction-options-marginTop);\n order: 3;\n flex-grow: 1;\n }\n\n .options.isHidden {\n display: none;\n }\n\n .option {\n border: var(--beam-RedeemTransaction-options-borderWidth) solid\n var(--beam-RedeemTransaction-options-borderColor);\n border-bottom: none;\n background-color: var(--beam-RedeemTransaction-options-backgroundColor);\n cursor: pointer;\n transition: border-color 0.2s, background-color 0.2s, outline 0.2s;\n }\n\n .option:first-child {\n border-radius: 8px 8px 0 0; /* Top corners rounded */\n }\n\n .option:last-child {\n border-bottom: var(--beam-RedeemTransaction-options-borderWidth) solid\n var(--beam-RedeemTransaction-options-borderColor);\n border-radius: 0 0 8px 8px; /* Bottom corners rounded */\n }\n\n .option:not(.isDisabled):not(:last-child):focus-visible,\n .option:not(.isDisabled):not(:last-child):hover,\n .option:not(.isSelected):not(:last-child):focus-visible,\n .option:not(.isSelected):not(:last-child):hover {\n background-color: var(--beam-RedeemTransaction-options-hover-backgroundColor);\n outline: var(--beam-RedeemTransaction-options-hover-borderWidth) solid\n var(--beam-RedeemTransaction-options-hover-borderColor);\n border-bottom: var(--beam-RedeemTransaction-options-hover-borderWidth) solid\n var(--beam-RedeemTransaction-options-hover-borderColor);\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-RedeemTransaction-options-hover-backgroundColor);\n outline: var(--beam-RedeemTransaction-options-hover-borderWidth) solid\n var(--beam-RedeemTransaction-options-hover-borderColor);\n }\n\n .option.isDisabled {\n cursor: not-allowed;\n }\n\n .option.isSelected {\n outline: var(--beam-RedeemTransaction-options-selected-borderWidth) solid\n var(--beam-RedeemTransaction-options-selected-borderColor);\n background-color: var(--beam-RedeemTransaction-options-selected-backgroundColor);\n border-bottom: var(--beam-RedeemTransaction-options-selected-borderWidth) solid\n var(--beam-RedeemTransaction-options-selected-borderColor);\n }\n\n .option.isSelected:focus-visible,\n .option.isSelected:hover {\n outline: var(--beam-RedeemTransaction-options-selected-borderWidth) solid\n var(--beam-RedeemTransaction-options-selected-borderColor);\n border-bottom: var(--beam-RedeemTransaction-options-selected-borderWidth) solid\n var(--beam-RedeemTransaction-options-selected-borderColor);\n }\n\n .option .radioButton {\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-RedeemTransaction-radioButton-color);\n background-color: var(--beam-RedeemTransaction-radioButton-backgroundColor);\n border-color: var(--beam-RedeemTransaction-radioButton-borderColor);\n }\n\n .option.isSelected .radioButton,\n .option.isSelected:focus-visible .radioButton,\n .option.isSelected:hover .radioButton {\n color: var(--beam-RedeemTransaction-radioButton-selected-color);\n background-color: var(--beam-RedeemTransaction-radioButton-selected-backgroundColor);\n border-color: var(--beam-RedeemTransaction-radioButton-selected-borderColor);\n }\n\n .option:not(.isSelected):focus-visible .radioButton,\n .option:not(.isSelected):hover .radioButton {\n color: var(--beam-RedeemTransaction-radioButton-hover-color);\n background-color: var(--beam-RedeemTransaction-radioButton-hover-backgroundColor);\n border-color: var(--beam-RedeemTransaction-radioButton-hover-borderColor);\n }\n\n .detailsDescription {\n ${useCustomText(\"--beam-RedeemTransaction-options-details\")}\n }\n\n .detailsDescription .nonprofitName {\n font-weight: var(--beam-RedeemTransaction-options-details-nonprofitName-fontWeight);\n font-style: var(--beam-RedeemTransaction-options-details-nonprofitName-fontStyle);\n }\n\n .radioButtonContainer {\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n }\n\n .radioButton {\n padding: 5px;\n border-radius: 100%;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n\n .imageContainer {\n flex: 1 0 var(--beam-RedeemTransaction-image-width);\n display: flex;\n flex-direction: column;\n }\n\n .progressBarContainer {\n display: flex;\n align-items: center;\n }\n\n .details-progressBarLabel {\n ${useCustomText(\"--beam-RedeemTransaction-options-details-fundingProgressLabel\")}\n white-space: nowrap;\n text-align: right;\n margin-left: 15px;\n }\n\n .details {\n flex: 1 1 100%;\n display: flex;\n flex-direction: column;\n gap: 5px;\n }\n\n .root {\n display: flex;\n flex-direction: column;\n }\n\n .submitButtonContainer {\n order: 4;\n position: sticky;\n bottom: 0;\n z-index: 999;\n }\n\n .icon-background {\n width: 50px;\n height: 50px;\n border-radius: 50%;\n overflow: hidden;\n background: var(--beam-RedeemTransaction-options-icon-backgroundColor);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .icon {\n height: var(--beam-RedeemTransaction-image-height);\n }\n\n .icon-container {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n `,\n cssCardGrid({\n gap: \"0px\",\n itemMinWidth: \"var(--beam-RedeemTransaction-options-minWidth, 0px)\",\n columnCount: \"var(--beam-RedeemTransaction-options-columnCount, 1)\",\n }),\n ];\n\n private handleChooseClick() {\n this.didUserExpandNonprofits = true;\n }\n\n get shouldCollapse() {\n const enableMobileCollapse = this.cssVariables[\"--beam-RedeemTransaction-options-collapseNonprofits-mobile\"];\n const enableDesktopCollapse = this.cssVariables[\"--beam-RedeemTransaction-options-collapseNonprofits-desktop\"];\n const isMobileCollapseEnabled = enableMobileCollapse?.toLowerCase() === \"true\";\n const isDesktopCollapseEnabled = enableDesktopCollapse?.toLowerCase() === \"true\";\n\n return (this.isMobile && isMobileCollapseEnabled) || (!this.isMobile && isDesktopCollapseEnabled);\n }\n\n private renderSubmitButton(data: TIAPIV3GetChainNonprofits) {\n return html`\n ${this.didUserExpandNonprofits || !this.shouldCollapse\n ? html` <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.selectionDataController.data !== null\n ? localizeUserString(\n this.configLang,\n data?.config?.web?.confirmedButton || strings[this.configLang].submitButtonTextCompleted()\n )\n : localizeUserString(\n this.configLang,\n data?.config?.web?.confirmButton || strings[this.configLang].submitButtonText()\n )}\n </button>`\n : html`\n <button type=\"button\" @click=\"${this.handleChooseClick}\" class=\"submitButton\" part=\"submitButton\">\n ${localizeUserString(\n this.configLang,\n data?.config?.web?.collapsedButton || strings[this.configLang].chooseButtonText()\n )}\n </button>\n `}\n `;\n }\n\n private renderRadioButton() {\n return html`\n <div class=\"radioButtonContainer\">\n <span part=\"radioButton\" class=\"radioButton\">\n <span style=\"line-height: 0;\"> ${_radioButton({ height: \"7px\", width: \"7px\" })} </span>\n </span>\n </div>\n `;\n }\n\n private renderNonprofitImage(np: TIAPIV3Nonprofit, displayIcon: boolean) {\n const cardStyle = this.cssVariables[\"--beam-RedeemTransaction-cardStyle\"];\n\n const imageUrl = displayIcon\n ? cardStyle === \"'icon'\"\n ? np.nonprofit.causeIconUrl\n : cardStyle === \"'selected_icon'\"\n ? np.nonprofit.causeIconSelectedUrl\n : np.imageUrl\n : np.imageUrl;\n\n return html`\n ${displayIcon\n ? html` <div class=\"icon-container\">\n <div class=\"icon-background\">\n <img src=\"${imageUrl}\" alt=\"\" role=\"presentation\" class=\"icon\" />\n </div>\n </div>`\n : html` <div\n class=\"image-container\"\n style=\"${this.isMobile\n ? \"flex: 1 0 var(--beam-RedeemTransaction-image-width-mobile)\"\n : \"flex: 1 0 var(--beam-RedeemTransaction-image-width)\"}\"\n >\n <img\n src=\"${imageUrl}\"\n alt=\"\"\n role=\"presentation\"\n class=\"image\"\n style=\"\n width: 100%;\n height: ${this.isMobile\n ? \"var(--beam-RedeemTransaction-options-image-height-mobile)\"\n : \"var(--beam-RedeemTransaction-options-image-height)\"};\n object-fit: cover;\n border-radius: var(--beam-RedeemTransaction-options-image-borderRadius);}\n \"\n />\n </div>`}\n `;\n }\n\n private renderOptionDetail(np: TIAPIV3Nonprofit) {\n return html`\n <div class=\"detailsCause\" style=\"${useCustomText(\"--beam-RedeemTransaction-options-details-cause\")}\">\n ${localizeUserString(this.configLang, np.nonprofit.cause || \"\")}\n </div>\n <p class=\"detailsDescription\">${unsafeHTML(localizeUserString(this.configLang, np.impact.description || \"\"))}</p>\n `;\n }\n\n private renderProgressBar(np: TIAPIV3Nonprofit) {\n return html`\n <div class=\"progressBarContainer\">\n <beam-progress-bar value=\"${np.impact.goalProgressPercentage}\" style=\"flex: 1;\"></beam-progress-bar>\n <span class=\"details-progressBarLabel\">\n ${localizeUserString(this.configLang, np.impact.goalProgressText)}\n </span>\n </div>\n `;\n }\n\n private renderNonprofitDetails(\n np: TIAPIV3Nonprofit,\n hasNonprofitWithInactivePromo: boolean,\n data: TIAPIV3GetChainNonprofits\n ) {\n return html`\n <div class=\"details\" part=\"details\">\n ${this.renderOptionDetail(np)} ${this.renderPromoPill(np, hasNonprofitWithInactivePromo, data)}\n </div>\n `;\n }\n\n private renderPromoPill(\n np: TIAPIV3Nonprofit,\n hasNonprofitWithInactivePromo: boolean,\n data: TIAPIV3GetChainNonprofits\n ) {\n return html`\n ${np.promo?.isActive && this.shouldUsePromoUI && hasNonprofitWithInactivePromo\n ? html`<beam-promo-info-pill .promo=${data?.config?.web?.promo} shortVersion></beam-promo-info-pill>`\n : html``}\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.selectionDataController.error) {\n if (this.debug) {\n return _errorMessage({ error: this.selectionDataController.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 displayIcon =\n this.cssVariables[\"--beam-RedeemTransaction-cardStyle\"] === \"'icon'\" ||\n this.cssVariables[\"--beam-RedeemTransaction-cardStyle\"] === \"'selected_icon'\";\n const livePromo = data?.config?.web?.promo;\n this.shouldUsePromoUI = livePromo ? true : false; // new promo UI\n const hasNonprofitWithInactivePromo = nonprofits.some((nonprofit) => !nonprofit.promo || !nonprofit.promo.isActive);\n\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n <!-- Custom flex order fixes tab cycling so submit button is after content -->\n <div style=\"display: flex; flex-direction: column;\" class=\"root\">\n <div\n style=\"order: 3;\"\n tabindex=\"-1\"\n class=\"options cardGrid ${classMap({ isHidden: !this.didUserExpandNonprofits && this.shouldCollapse })}\"\n part=\"options\"\n role=\"radiogroup\"\n aria-labelledby=\"beam-RedeemTransaction-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 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 style=\"display: flex; flex-direction: column; padding: 11px; justify-content:center;\"\n >\n <div class=\"optionContainer\" style=\"display: flex; align-items: flex-start; gap: 8px;\">\n ${this.renderRadioButton()}\n <div\n class=\"nonprofitInfoContainer\"\n style=\"flex: 1; display: flex; flex-direction: column; gap: 5px;\"\n >\n <div class=\"imageDetailContainer\" style=\"display: flex; gap: 8px;\">\n ${this.renderNonprofitImage(np, displayIcon)}\n ${this.renderNonprofitDetails(np, hasNonprofitWithInactivePromo, data)}\n </div>\n ${this.renderProgressBar(np)}\n </div>\n </div>\n </div>\n `;\n }\n )}\n </div>\n\n <div class=\"submitButtonContainer\" part=\"submit-button-container\">${this.renderSubmitButton(data)}</div>\n\n <div class=\"headerContainer\" part=\"header-container\">\n <div>\n <div\n class=\"header-promo-pill-container\"\n style=\"display: flex; ${this.isMobile && \"flex-direction: column; align-items: flex-start;\"}\"\n >\n <h3\n class=\"title\"\n part=\"title\"\n id=\"beam-RedeemTransaction-title\"\n style=\"${useCustomText(\"--beam-RedeemTransaction-title\")}; margin-right: 8px;\"\n >\n ${localizeUserString(this.configLang, data?.config?.web?.title) || strings[this.configLang].ctaTitle()}\n </h3>\n ${this.shouldUsePromoUI\n ? html`<beam-promo-info-pill\n .promo=${livePromo}\n style=\"${this.isMobile && \"order: -1; margin-bottom:10px;\"}\"\n ></beam-promo-info-pill>`\n : html``}\n </div>\n <p class=\"description\" part=\"description\" style=\"${useCustomText(\"--beam-RedeemTransaction-description\")}\">\n ${this.shouldUsePromoUI\n ? html`<span style=\"font-weight:bold\">\n ${localizeUserString(this.configLang, data?.config?.web?.promoDescriptionPrefix || \"\") ||\n strings[this.configLang].ctaPromoPrefixMessage()}\n </span>\n <span>\n ${localizeUserString(this.configLang, data?.config?.web?.promoDescription || \"\") ||\n strings[this.configLang].ctaPromoMessage()}\n </span>`\n : html`<span\n >${localizeUserString(this.configLang, data?.config?.web?.description || \"\") ||\n strings[this.configLang].ctaMessage()}\n </span>`}\n </p>\n </div>\n </div>\n\n <beam-partner-logos\n partnerName=\"${data.chain.name}\"\n partnerLogoUrl=\"${data.chain.logoUrl}\"\n style=\"order: 1\"\n part=\"logos\"\n ></beam-partner-logos>\n </div>\n `;\n }\n}\n\ndefineCustomElement(BeamRedeemTransaction);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-redeem-transaction\": BeamRedeemTransaction;\n }\n}\n"],"names":["postTransaction","makeOpenApiMethod","putTransaction","_radioButton","height","width","html","styleMap","strings","donationPercentage","BeamRedeemTransaction","LitElement","DEFAULT_BASE_URL","MissingConfig","res","postChainEligibleNonprofitsForCart","WIDGET_NAMES","selectedNonprofitId","enforceConfig","AsyncController","createScopedLocalStorage","id","index","nonprofits","event","currentId","nextFocus","focusTarget","selectedNonprofit","np","BeamNonprofitSelectEvent","debounce","SUPPORTED_LANGUAGES","areRequiredKeysDefined","_changedProperties","previousPropertyValues","requireNewDataProps","prop","createdAt","data","cacheTtl","defaults","defineCustomText","partnerLogosConfigDefaults","progressBarConfigDefaults","promoPillLabelConfigDefaults","remoteConfig","config","_cssVariableMap","enableMobileCollapse","enableDesktopCollapse","isMobileCollapseEnabled","isDesktopCollapseEnabled","classMap","localizeUserString","displayIcon","cardStyle","imageUrl","useCustomText","unsafeHTML","hasNonprofitWithInactivePromo","loading","_loading","_errorMessage","BeamError","livePromo","nonprofit","repeat","i","isSelected","isFocusable","cssReset","css","cssCardGrid","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{v as d}from"./vendor-KKSARHWL.esm.js";import{getCookieValue as i,setCookieValue as p,deleteCookieValue as l}from"../utils/cookies.esm.js";import{createScopedLocalStorage as n}from"../utils/local-storage.esm.js";const s="beam_session";async function r({cookieName:e=s,domain:o=window.location.hostname,apiKey:t=""}={}){if(await i(e))return;const a=d(),m=Date.now()+30*24*60*60*1e3;await p({name:e,value:a,domain:o,path:"/",expires:m}),n({apiKey:t}).setItemJson("cart",{cartId:a})}async function c({cookieName:e=s,domain:o=window.location.hostname,apiKey:t=""}={}){const a=await i(e);a&&(n({apiKey:t}).setItemJson("cart",{cartId:a}),await l({name:e,domain:o}))}var u=Object.freeze({__proto__:null,createSession:r,endSession:c});export{r as c,c as e,u as i};
2
- //# sourceMappingURL=index-IKiJwo5v.esm.js.map
@@ -1,2 +0,0 @@
1
- import{O as e}from"./update-cart-HlVGSYR7.esm.js";var r=Object.freeze({__proto__:null,updateCart:e});export{r as i};
2
- //# sourceMappingURL=index-NHPT4c0V.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-NHPT4c0V.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-tbwbkOdj.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,34 +0,0 @@
1
- const K=window,lt=K.ShadowRoot&&(K.ShadyCSS===void 0||K.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,ht=Symbol(),wt=new WeakMap;let Ct=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==ht)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(lt&&t===void 0){const s=e!==void 0&&e.length===1;s&&(t=wt.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&wt.set(e,t))}return t}toString(){return this.cssText}};const Pt=i=>new Ct(typeof i=="string"?i:i+"",void 0,ht),_e=(i,...t)=>{const e=i.length===1?i[0]:t.reduce((s,r,n)=>s+(o=>{if(o._$cssResult$===!0)return o.cssText;if(typeof o=="number")return o;throw Error("Value passed to 'css' function must be a 'css' function result: "+o+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+i[n+1],i[0]);return new Ct(e,i,ht)},ve=(i,t)=>{lt?i.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet):t.forEach(e=>{const s=document.createElement("style"),r=K.litNonce;r!==void 0&&s.setAttribute("nonce",r),s.textContent=e.cssText,i.appendChild(s)})},xt=lt?i=>i:i=>i instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return Pt(e)})(i):i;var at;const J=window,Tt=J.trustedTypes,Ae=Tt?Tt.emptyScript:"",Ut=J.reactiveElementPolyfillSupport,ct={toAttribute(i,t){switch(t){case Boolean:i=i?Ae:null;break;case Object:case Array:i=i==null?i:JSON.stringify(i)}return i},fromAttribute(i,t){let e=i;switch(t){case Boolean:e=i!==null;break;case Number:e=i===null?null:Number(i);break;case Object:case Array:try{e=JSON.parse(i)}catch{e=null}}return e}},Ht=(i,t)=>t!==i&&(t==t||i==i),dt={attribute:!0,type:String,converter:ct,reflect:!1,hasChanged:Ht};let x=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var e;this.finalize(),((e=this.h)!==null&&e!==void 0?e:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach((e,s)=>{const r=this._$Ep(s,e);r!==void 0&&(this._$Ev.set(r,s),t.push(r))}),t}static createProperty(t,e=dt){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const s=typeof t=="symbol"?Symbol():"__"+t,r=this.getPropertyDescriptor(t,s,e);r!==void 0&&Object.defineProperty(this.prototype,t,r)}}static getPropertyDescriptor(t,e,s){return{get(){return this[e]},set(r){const n=this[t];this[e]=r,this.requestUpdate(t,n,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||dt}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),t.h!==void 0&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const e=this.properties,s=[...Object.getOwnPropertyNames(e),...Object.getOwnPropertySymbols(e)];for(const r of s)this.createProperty(r,e[r])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const s=new Set(t.flat(1/0).reverse());for(const r of s)e.unshift(xt(r))}else t!==void 0&&e.push(xt(t));return e}static _$Ep(t,e){const s=e.attribute;return s===!1?void 0:typeof s=="string"?s:typeof t=="string"?t.toLowerCase():void 0}u(){var t;this._$E_=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$Eg(),this.requestUpdate(),(t=this.constructor.h)===null||t===void 0||t.forEach(e=>e(this))}addController(t){var e,s;((e=this._$ES)!==null&&e!==void 0?e:this._$ES=[]).push(t),this.renderRoot!==void 0&&this.isConnected&&((s=t.hostConnected)===null||s===void 0||s.call(t))}removeController(t){var e;(e=this._$ES)===null||e===void 0||e.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach((t,e)=>{this.hasOwnProperty(e)&&(this._$Ei.set(e,this[e]),delete this[e])})}createRenderRoot(){var t;const e=(t=this.shadowRoot)!==null&&t!==void 0?t:this.attachShadow(this.constructor.shadowRootOptions);return ve(e,this.constructor.elementStyles),e}connectedCallback(){var t;this.renderRoot===void 0&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(t=this._$ES)===null||t===void 0||t.forEach(e=>{var s;return(s=e.hostConnected)===null||s===void 0?void 0:s.call(e)})}enableUpdating(t){}disconnectedCallback(){var t;(t=this._$ES)===null||t===void 0||t.forEach(e=>{var s;return(s=e.hostDisconnected)===null||s===void 0?void 0:s.call(e)})}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$EO(t,e,s=dt){var r;const n=this.constructor._$Ep(t,s);if(n!==void 0&&s.reflect===!0){const o=(((r=s.converter)===null||r===void 0?void 0:r.toAttribute)!==void 0?s.converter:ct).toAttribute(e,s.type);this._$El=t,o==null?this.removeAttribute(n):this.setAttribute(n,o),this._$El=null}}_$AK(t,e){var s;const r=this.constructor,n=r._$Ev.get(t);if(n!==void 0&&this._$El!==n){const o=r.getPropertyOptions(n),a=typeof o.converter=="function"?{fromAttribute:o.converter}:((s=o.converter)===null||s===void 0?void 0:s.fromAttribute)!==void 0?o.converter:ct;this._$El=n,this[n]=a.fromAttribute(e,o.type),this._$El=null}}requestUpdate(t,e,s){let r=!0;t!==void 0&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||Ht)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),s.reflect===!0&&this._$El!==t&&(this._$EC===void 0&&(this._$EC=new Map),this._$EC.set(t,s))):r=!1),!this.isUpdatePending&&r&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(e){Promise.reject(e)}const t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach((r,n)=>this[n]=r),this._$Ei=void 0);let e=!1;const s=this._$AL;try{e=this.shouldUpdate(s),e?(this.willUpdate(s),(t=this._$ES)===null||t===void 0||t.forEach(r=>{var n;return(n=r.hostUpdate)===null||n===void 0?void 0:n.call(r)}),this.update(s)):this._$Ek()}catch(r){throw e=!1,this._$Ek(),r}e&&this._$AE(s)}willUpdate(t){}_$AE(t){var e;(e=this._$ES)===null||e===void 0||e.forEach(s=>{var r;return(r=s.hostUpdated)===null||r===void 0?void 0:r.call(s)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){this._$EC!==void 0&&(this._$EC.forEach((e,s)=>this._$EO(s,this[s],e)),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}};x.finalized=!0,x.elementProperties=new Map,x.elementStyles=[],x.shadowRootOptions={mode:"open"},Ut?.({ReactiveElement:x}),((at=J.reactiveElementVersions)!==null&&at!==void 0?at:J.reactiveElementVersions=[]).push("1.6.1");var ut;const Q=window,T=Q.trustedTypes,Nt=T?T.createPolicy("lit-html",{createHTML:i=>i}):void 0,g=`lit$${(Math.random()+"").slice(9)}$`,Ot="?"+g,ye=`<${Ot}>`,U=document,k=(i="")=>U.createComment(i),R=i=>i===null||typeof i!="object"&&typeof i!="function",Mt=Array.isArray,ge=i=>Mt(i)||typeof i?.[Symbol.iterator]=="function",L=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,kt=/-->/g,Rt=/>/g,E=RegExp(`>|[
2
- \f\r](?:([^\\s"'>=/]+)([
3
- \f\r]*=[
4
- \f\r]*(?:[^
5
- \f\r"'\`<>=]|("|')|))|$)`,"g"),Lt=/'/g,jt=/"/g,It=/^(?:script|style|textarea|title)$/i,me=i=>(t,...e)=>({_$litType$:i,strings:t,values:e}),Ee=me(1),A=Symbol.for("lit-noChange"),f=Symbol.for("lit-nothing"),Bt=new WeakMap,H=U.createTreeWalker(U,129,null,!1),be=(i,t)=>{const e=i.length-1,s=[];let r,n=t===2?"<svg>":"",o=L;for(let l=0;l<e;l++){const h=i[l];let $,c,d=-1,u=0;for(;u<h.length&&(o.lastIndex=u,c=o.exec(h),c!==null);)u=o.lastIndex,o===L?c[1]==="!--"?o=kt:c[1]!==void 0?o=Rt:c[2]!==void 0?(It.test(c[2])&&(r=RegExp("</"+c[2],"g")),o=E):c[3]!==void 0&&(o=E):o===E?c[0]===">"?(o=r??L,d=-1):c[1]===void 0?d=-2:(d=o.lastIndex-c[2].length,$=c[1],o=c[3]===void 0?E:c[3]==='"'?jt:Lt):o===jt||o===Lt?o=E:o===kt||o===Rt?o=L:(o=E,r=void 0);const p=o===E&&i[l+1].startsWith("/>")?" ":"";n+=o===L?h+ye:d>=0?(s.push($),h.slice(0,d)+"$lit$"+h.slice(d)+g+p):h+g+(d===-2?(s.push(void 0),l):p)}const a=n+(i[e]||"<?>")+(t===2?"</svg>":"");if(!Array.isArray(i)||!i.hasOwnProperty("raw"))throw Error("invalid template strings array");return[Nt!==void 0?Nt.createHTML(a):a,s]};let $t=class pe{constructor({strings:t,_$litType$:e},s){let r;this.parts=[];let n=0,o=0;const a=t.length-1,l=this.parts,[h,$]=be(t,e);if(this.el=pe.createElement(h,s),H.currentNode=this.el.content,e===2){const c=this.el.content,d=c.firstChild;d.remove(),c.append(...d.childNodes)}for(;(r=H.nextNode())!==null&&l.length<a;){if(r.nodeType===1){if(r.hasAttributes()){const c=[];for(const d of r.getAttributeNames())if(d.endsWith("$lit$")||d.startsWith(g)){const u=$[o++];if(c.push(d),u!==void 0){const p=r.getAttribute(u.toLowerCase()+"$lit$").split(g),v=/([.?@])?(.*)/.exec(u);l.push({type:1,index:n,name:v[2],strings:p,ctor:v[1]==="."?we:v[1]==="?"?Pe:v[1]==="@"?xe:G})}else l.push({type:6,index:n})}for(const d of c)r.removeAttribute(d)}if(It.test(r.tagName)){const c=r.textContent.split(g),d=c.length-1;if(d>0){r.textContent=T?T.emptyScript:"";for(let u=0;u<d;u++)r.append(c[u],k()),H.nextNode(),l.push({type:2,index:++n});r.append(c[d],k())}}}else if(r.nodeType===8)if(r.data===Ot)l.push({type:2,index:n});else{let c=-1;for(;(c=r.data.indexOf(g,c+1))!==-1;)l.push({type:7,index:n}),c+=g.length-1}n++}}static createElement(t,e){const s=U.createElement("template");return s.innerHTML=t,s}};function N(i,t,e=i,s){var r,n,o,a;if(t===A)return t;let l=s!==void 0?(r=e._$Co)===null||r===void 0?void 0:r[s]:e._$Cl;const h=R(t)?void 0:t._$litDirective$;return l?.constructor!==h&&((n=l?._$AO)===null||n===void 0||n.call(l,!1),h===void 0?l=void 0:(l=new h(i),l._$AT(i,e,s)),s!==void 0?((o=(a=e)._$Co)!==null&&o!==void 0?o:a._$Co=[])[s]=l:e._$Cl=l),l!==void 0&&(t=N(i,l._$AS(i,t.values),l,s)),t}let Se=class{constructor(t,e){this.u=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}v(t){var e;const{el:{content:s},parts:r}=this._$AD,n=((e=t?.creationScope)!==null&&e!==void 0?e:U).importNode(s,!0);H.currentNode=n;let o=H.nextNode(),a=0,l=0,h=r[0];for(;h!==void 0;){if(a===h.index){let $;h.type===2?$=new F(o,o.nextSibling,this,t):h.type===1?$=new h.ctor(o,h.name,h.strings,this,t):h.type===6&&($=new Te(o,this,t)),this.u.push($),h=r[++l]}a!==h?.index&&(o=H.nextNode(),a++)}return n}p(t){let e=0;for(const s of this.u)s!==void 0&&(s.strings!==void 0?(s._$AI(t,s,e),e+=s.strings.length-2):s._$AI(t[e])),e++}},F=class fe{constructor(t,e,s,r){var n;this.type=2,this._$AH=f,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=s,this.options=r,this._$Cm=(n=r?.isConnected)===null||n===void 0||n}get _$AU(){var t,e;return(e=(t=this._$AM)===null||t===void 0?void 0:t._$AU)!==null&&e!==void 0?e:this._$Cm}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return e!==void 0&&t.nodeType===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=N(this,t,e),R(t)?t===f||t==null||t===""?(this._$AH!==f&&this._$AR(),this._$AH=f):t!==this._$AH&&t!==A&&this.g(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):ge(t)?this.k(t):this.g(t)}O(t,e=this._$AB){return this._$AA.parentNode.insertBefore(t,e)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}g(t){this._$AH!==f&&R(this._$AH)?this._$AA.nextSibling.data=t:this.T(U.createTextNode(t)),this._$AH=t}$(t){var e;const{values:s,_$litType$:r}=t,n=typeof r=="number"?this._$AC(t):(r.el===void 0&&(r.el=$t.createElement(r.h,this.options)),r);if(((e=this._$AH)===null||e===void 0?void 0:e._$AD)===n)this._$AH.p(s);else{const o=new Se(n,this),a=o.v(this.options);o.p(s),this.T(a),this._$AH=o}}_$AC(t){let e=Bt.get(t.strings);return e===void 0&&Bt.set(t.strings,e=new $t(t)),e}k(t){Mt(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let s,r=0;for(const n of t)r===e.length?e.push(s=new fe(this.O(k()),this.O(k()),this,this.options)):s=e[r],s._$AI(n),r++;r<e.length&&(this._$AR(s&&s._$AB.nextSibling,r),e.length=r)}_$AR(t=this._$AA.nextSibling,e){var s;for((s=this._$AP)===null||s===void 0||s.call(this,!1,!0,e);t&&t!==this._$AB;){const r=t.nextSibling;t.remove(),t=r}}setConnected(t){var e;this._$AM===void 0&&(this._$Cm=t,(e=this._$AP)===null||e===void 0||e.call(this,t))}},G=class{constructor(t,e,s,r,n){this.type=1,this._$AH=f,this._$AN=void 0,this.element=t,this.name=e,this._$AM=r,this.options=n,s.length>2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=f}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,s,r){const n=this.strings;let o=!1;if(n===void 0)t=N(this,t,e,0),o=!R(t)||t!==this._$AH&&t!==A,o&&(this._$AH=t);else{const a=t;let l,h;for(t=n[0],l=0;l<n.length-1;l++)h=N(this,a[s+l],e,l),h===A&&(h=this._$AH[l]),o||(o=!R(h)||h!==this._$AH[l]),h===f?t=f:t!==f&&(t+=(h??"")+n[l+1]),this._$AH[l]=h}o&&!r&&this.j(t)}j(t){t===f?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},we=class extends G{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===f?void 0:t}};const Ce=T?T.emptyScript:"";let Pe=class extends G{constructor(){super(...arguments),this.type=4}j(t){t&&t!==f?this.element.setAttribute(this.name,Ce):this.element.removeAttribute(this.name)}},xe=class extends G{constructor(t,e,s,r,n){super(t,e,s,r,n),this.type=5}_$AI(t,e=this){var s;if((t=(s=N(this,t,e,0))!==null&&s!==void 0?s:f)===A)return;const r=this._$AH,n=t===f&&r!==f||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,o=t!==f&&(r===f||n);n&&this.element.removeEventListener(this.name,this,r),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,s;typeof this._$AH=="function"?this._$AH.call((s=(e=this.options)===null||e===void 0?void 0:e.host)!==null&&s!==void 0?s:this.element,t):this._$AH.handleEvent(t)}},Te=class{constructor(t,e,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){N(this,t)}};const Ue={I:F},zt=Q.litHtmlPolyfillSupport;zt?.($t,F),((ut=Q.litHtmlVersions)!==null&&ut!==void 0?ut:Q.litHtmlVersions=[]).push("2.6.1");const Dt=(i,t,e)=>{var s,r;const n=(s=e?.renderBefore)!==null&&s!==void 0?s:t;let o=n._$litPart$;if(o===void 0){const a=(r=e?.renderBefore)!==null&&r!==void 0?r:null;n._$litPart$=o=new F(t.insertBefore(k(),a),a,void 0,e??{})}return o._$AI(i),o};var pt,ft;let j=class extends x{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const s=super.createRenderRoot();return(t=(e=this.renderOptions).renderBefore)!==null&&t!==void 0||(e.renderBefore=s.firstChild),s}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=Dt(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),(t=this._$Do)===null||t===void 0||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this._$Do)===null||t===void 0||t.setConnected(!1)}render(){return A}};j.finalized=!0,j._$litElement$=!0,(pt=globalThis.litElementHydrateSupport)===null||pt===void 0||pt.call(globalThis,{LitElement:j});const Vt=globalThis.litElementPolyfillSupport;Vt?.({LitElement:j}),((ft=globalThis.litElementVersions)!==null&&ft!==void 0?ft:globalThis.litElementVersions=[]).push("3.2.2");const He=(i,t)=>t.kind==="method"&&t.descriptor&&!("value"in t.descriptor)?{...t,finisher(e){e.createProperty(t.key,i)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:t.key,initializer(){typeof t.initializer=="function"&&(this[t.key]=t.initializer.call(this))},finisher(e){e.createProperty(t.key,i)}};function Wt(i){return(t,e)=>e!==void 0?((s,r,n)=>{r.constructor.createProperty(n,s)})(i,t,e):He(i,t)}const Ne=new Set(["children","localName","ref","style","className"]),qt=new WeakMap,Oe=(i,t,e,s,r)=>{const n=r?.[t];n===void 0||e===s?(i[t]=e,e==null&&t in HTMLElement.prototype&&i.removeAttribute(t)):((o,a,l)=>{let h=qt.get(o);h===void 0&&qt.set(o,h=new Map);let $=h.get(a);l!==void 0?$===void 0?(h.set(a,$={handleEvent:l}),o.addEventListener(a,$)):$.handleEvent=l:$!==void 0&&(h.delete(a),o.removeEventListener(a,$))})(i,n,e)},Me=({react:i,tagName:t,elementClass:e,events:s,displayName:r})=>{const n=new Set(Object.keys(s??{})),o=i.forwardRef((a,l)=>{const h=i.useRef(null),$=i.useRef(null),c={},d={};for(const[u,p]of Object.entries(a))Ne.has(u)?c[u==="className"?"class":u]=p:n.has(u)||u in e.prototype?d[u]=p:c[u]=p;return i.useLayoutEffect(()=>{if($.current!==null){for(const u in d)Oe($.current,u,a[u],h.current?h.current[u]:void 0,s);h.current=a}}),i.useLayoutEffect(()=>{$.current?.removeAttribute("defer-hydration")},[]),c.suppressHydrationWarning=!0,i.createElement(t,{...c,ref:u=>{$.current=u,typeof l=="function"?l(u):l!==null&&(l.current=u)}})});return o.displayName=r??e.name,o};function ke(i){return Wt({...i,state:!0})}const X={ATTRIBUTE:1,CHILD:2},Y=i=>(...t)=>({_$litDirective$:i,values:t});let tt=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,s){this._$Ct=t,this._$AM=e,this._$Ci=s}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};const Re=Y(class extends tt{constructor(i){var t;if(super(i),i.type!==X.ATTRIBUTE||i.name!=="style"||((t=i.strings)===null||t===void 0?void 0:t.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(i){return Object.keys(i).reduce((t,e)=>{const s=i[e];return s==null?t:t+`${e=e.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${s};`},"")}update(i,[t]){const{style:e}=i.element;if(this.vt===void 0){this.vt=new Set;for(const s in t)this.vt.add(s);return this.render(t)}this.vt.forEach(s=>{t[s]==null&&(this.vt.delete(s),s.includes("-")?e.removeProperty(s):e[s]="")});for(const s in t){const r=t[s];r!=null&&(this.vt.add(s),s.includes("-")?e.setProperty(s,r):e[s]=r)}return A}});let _t=class extends tt{constructor(t){if(super(t),this.it=f,t.type!==X.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===f||t==null)return this._t=void 0,this.it=t;if(t===A)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;const e=[t];return e.raw=e,this._t={_$litType$:this.constructor.resultType,strings:e,values:[]}}};_t.directiveName="unsafeHTML",_t.resultType=1;const Le=Y(_t);const je=({finisher:i,descriptor:t})=>(e,s)=>{var r;if(s===void 0){const n=(r=e.originalKey)!==null&&r!==void 0?r:e.key,o=t!=null?{kind:"method",placement:"prototype",key:n,descriptor:t(e.key)}:{...e,key:n};return i!=null&&(o.finisher=function(a){i(a,n)}),o}{const n=e.constructor;t!==void 0&&Object.defineProperty(e,s,t(s)),i?.(n,s)}};function Ie(i){return je({descriptor:t=>({get(){var e,s;return(s=(e=this.renderRoot)===null||e===void 0?void 0:e.querySelectorAll(i))!==null&&s!==void 0?s:[]},enumerable:!0,configurable:!0})})}var vt;((vt=window.HTMLSlotElement)===null||vt===void 0?void 0:vt.prototype.assignedElements)!=null;const et=globalThis,At=et.ShadowRoot&&(et.ShadyCSS===void 0||et.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,yt=Symbol(),Zt=new WeakMap;let Kt=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==yt)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(At&&t===void 0){const s=e!==void 0&&e.length===1;s&&(t=Zt.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&Zt.set(e,t))}return t}toString(){return this.cssText}};const Be=i=>new Kt(typeof i=="string"?i:i+"",void 0,yt),ze=(i,...t)=>{const e=i.length===1?i[0]:t.reduce((s,r,n)=>s+(o=>{if(o._$cssResult$===!0)return o.cssText;if(typeof o=="number")return o;throw Error("Value passed to 'css' function must be a 'css' function result: "+o+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+i[n+1],i[0]);return new Kt(e,i,yt)},De=(i,t)=>{if(At)i.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const e of t){const s=document.createElement("style"),r=et.litNonce;r!==void 0&&s.setAttribute("nonce",r),s.textContent=e.cssText,i.appendChild(s)}},Jt=At?i=>i:i=>i instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return Be(e)})(i):i;const{is:Ve,defineProperty:We,getOwnPropertyDescriptor:qe,getOwnPropertyNames:Ze,getOwnPropertySymbols:Ke,getPrototypeOf:Je}=Object,st=globalThis,Qt=st.trustedTypes,Qe=Qt?Qt.emptyScript:"",Fe=st.reactiveElementPolyfillSupport,I=(i,t)=>i,it={toAttribute(i,t){switch(t){case Boolean:i=i?Qe:null;break;case Object:case Array:i=i==null?i:JSON.stringify(i)}return i},fromAttribute(i,t){let e=i;switch(t){case Boolean:e=i!==null;break;case Number:e=i===null?null:Number(i);break;case Object:case Array:try{e=JSON.parse(i)}catch{e=null}}return e}},gt=(i,t)=>!Ve(i,t),Ft={attribute:!0,type:String,converter:it,reflect:!1,hasChanged:gt};Symbol.metadata??=Symbol("metadata"),st.litPropertyMetadata??=new WeakMap;class O extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=Ft){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const s=Symbol(),r=this.getPropertyDescriptor(t,s,e);r!==void 0&&We(this.prototype,t,r)}}static getPropertyDescriptor(t,e,s){const{get:r,set:n}=qe(this.prototype,t)??{get(){return this[e]},set(o){this[e]=o}};return{get(){return r?.call(this)},set(o){const a=r?.call(this);n.call(this,o),this.requestUpdate(t,a,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??Ft}static _$Ei(){if(this.hasOwnProperty(I("elementProperties")))return;const t=Je(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(I("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(I("properties"))){const e=this.properties,s=[...Ze(e),...Ke(e)];for(const r of s)this.createProperty(r,e[r])}const t=this[Symbol.metadata];if(t!==null){const e=litPropertyMetadata.get(t);if(e!==void 0)for(const[s,r]of e)this.elementProperties.set(s,r)}this._$Eh=new Map;for(const[e,s]of this.elementProperties){const r=this._$Eu(e,s);r!==void 0&&this._$Eh.set(r,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const s=new Set(t.flat(1/0).reverse());for(const r of s)e.unshift(Jt(r))}else t!==void 0&&e.push(Jt(t));return e}static _$Eu(t,e){const s=e.attribute;return s===!1?void 0:typeof s=="string"?s:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$Eg=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$ES??=[]).push(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$ES?.splice(this._$ES.indexOf(t)>>>0,1)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return De(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$ES?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$ES?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$EO(t,e){const s=this.constructor.elementProperties.get(t),r=this.constructor._$Eu(t,s);if(r!==void 0&&s.reflect===!0){const n=(s.converter?.toAttribute!==void 0?s.converter:it).toAttribute(e,s.type);this._$Em=t,n==null?this.removeAttribute(r):this.setAttribute(r,n),this._$Em=null}}_$AK(t,e){const s=this.constructor,r=s._$Eh.get(t);if(r!==void 0&&this._$Em!==r){const n=s.getPropertyOptions(r),o=typeof n.converter=="function"?{fromAttribute:n.converter}:n.converter?.fromAttribute!==void 0?n.converter:it;this._$Em=r,this[r]=o.fromAttribute(e,n.type),this._$Em=null}}requestUpdate(t,e,s,r=!1,n){if(t!==void 0){if(s??=this.constructor.getPropertyOptions(t),!(s.hasChanged??gt)(r?n:this[t],e))return;this.C(t,e,s)}this.isUpdatePending===!1&&(this._$Eg=this._$EP())}C(t,e,s){this._$AL.has(t)||this._$AL.set(t,e),s.reflect===!0&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$EP(){this.isUpdatePending=!0;try{await this._$Eg}catch(e){Promise.reject(e)}const t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this._$Ep){for(const[r,n]of this._$Ep)this[r]=n;this._$Ep=void 0}const s=this.constructor.elementProperties;if(s.size>0)for(const[r,n]of s)n.wrapped!==!0||this._$AL.has(r)||this[r]===void 0||this.C(r,this[r],n)}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$ES?.forEach(s=>s.hostUpdate?.()),this.update(e)):this._$ET()}catch(s){throw t=!1,this._$ET(),s}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$ES?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$ET(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Eg}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach(e=>this._$EO(e,this[e])),this._$ET()}updated(t){}firstUpdated(t){}}O.elementStyles=[],O.shadowRootOptions={mode:"open"},O[I("elementProperties")]=new Map,O[I("finalized")]=new Map,Fe?.({ReactiveElement:O}),(st.reactiveElementVersions??=[]).push("2.0.1");const mt=globalThis,rt=mt.trustedTypes,Gt=rt?rt.createPolicy("lit-html",{createHTML:i=>i}):void 0,Xt="$lit$",m=`lit$${(Math.random()+"").slice(9)}$`,Yt="?"+m,Ge=`<${Yt}>`,b=document,B=()=>b.createComment(""),z=i=>i===null||typeof i!="object"&&typeof i!="function",te=Array.isArray,Xe=i=>te(i)||typeof i?.[Symbol.iterator]=="function",Et=`[
6
- \f\r]`,D=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ee=/-->/g,se=/>/g,S=RegExp(`>|${Et}(?:([^\\s"'>=/]+)(${Et}*=${Et}*(?:[^
7
- \f\r"'\`<>=]|("|')|))|$)`,"g"),ie=/'/g,re=/"/g,ne=/^(?:script|style|textarea|title)$/i,Ye=i=>(t,...e)=>({_$litType$:i,strings:t,values:e}),oe=Ye(1),w=Symbol.for("lit-noChange"),_=Symbol.for("lit-nothing"),le=new WeakMap,C=b.createTreeWalker(b,129);function he(i,t){if(!Array.isArray(i)||!i.hasOwnProperty("raw"))throw Error("invalid template strings array");return Gt!==void 0?Gt.createHTML(t):t}const ts=(i,t)=>{const e=i.length-1,s=[];let r,n=t===2?"<svg>":"",o=D;for(let a=0;a<e;a++){const l=i[a];let h,$,c=-1,d=0;for(;d<l.length&&(o.lastIndex=d,$=o.exec(l),$!==null);)d=o.lastIndex,o===D?$[1]==="!--"?o=ee:$[1]!==void 0?o=se:$[2]!==void 0?(ne.test($[2])&&(r=RegExp("</"+$[2],"g")),o=S):$[3]!==void 0&&(o=S):o===S?$[0]===">"?(o=r??D,c=-1):$[1]===void 0?c=-2:(c=o.lastIndex-$[2].length,h=$[1],o=$[3]===void 0?S:$[3]==='"'?re:ie):o===re||o===ie?o=S:o===ee||o===se?o=D:(o=S,r=void 0);const u=o===S&&i[a+1].startsWith("/>")?" ":"";n+=o===D?l+Ge:c>=0?(s.push(h),l.slice(0,c)+Xt+l.slice(c)+m+u):l+m+(c===-2?a:u)}return[he(i,n+(i[e]||"<?>")+(t===2?"</svg>":"")),s]};class q{constructor({strings:t,_$litType$:e},s){let r;this.parts=[];let n=0,o=0;const a=t.length-1,l=this.parts,[h,$]=ts(t,e);if(this.el=q.createElement(h,s),C.currentNode=this.el.content,e===2){const c=this.el.content.firstChild;c.replaceWith(...c.childNodes)}for(;(r=C.nextNode())!==null&&l.length<a;){if(r.nodeType===1){if(r.hasAttributes())for(const c of r.getAttributeNames())if(c.endsWith(Xt)){const d=$[o++],u=r.getAttribute(c).split(m),p=/([.?@])?(.*)/.exec(d);l.push({type:1,index:n,name:p[2],strings:u,ctor:p[1]==="."?ss:p[1]==="?"?is:p[1]==="@"?rs:nt}),r.removeAttribute(c)}else c.startsWith(m)&&(l.push({type:6,index:n}),r.removeAttribute(c));if(ne.test(r.tagName)){const c=r.textContent.split(m),d=c.length-1;if(d>0){r.textContent=rt?rt.emptyScript:"";for(let u=0;u<d;u++)r.append(c[u],B()),C.nextNode(),l.push({type:2,index:++n});r.append(c[d],B())}}}else if(r.nodeType===8)if(r.data===Yt)l.push({type:2,index:n});else{let c=-1;for(;(c=r.data.indexOf(m,c+1))!==-1;)l.push({type:7,index:n}),c+=m.length-1}n++}}static createElement(t,e){const s=b.createElement("template");return s.innerHTML=t,s}}function M(i,t,e=i,s){if(t===w)return t;let r=s!==void 0?e._$Co?.[s]:e._$Cl;const n=z(t)?void 0:t._$litDirective$;return r?.constructor!==n&&(r?._$AO?.(!1),n===void 0?r=void 0:(r=new n(i),r._$AT(i,e,s)),s!==void 0?(e._$Co??=[])[s]=r:e._$Cl=r),r!==void 0&&(t=M(i,r._$AS(i,t.values),r,s)),t}class es{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:s}=this._$AD,r=(t?.creationScope??b).importNode(e,!0);C.currentNode=r;let n=C.nextNode(),o=0,a=0,l=s[0];for(;l!==void 0;){if(o===l.index){let h;l.type===2?h=new Z(n,n.nextSibling,this,t):l.type===1?h=new l.ctor(n,l.name,l.strings,this,t):l.type===6&&(h=new ns(n,this,t)),this._$AV.push(h),l=s[++a]}o!==l?.index&&(n=C.nextNode(),o++)}return C.currentNode=b,r}p(t){let e=0;for(const s of this._$AV)s!==void 0&&(s.strings!==void 0?(s._$AI(t,s,e),e+=s.strings.length-2):s._$AI(t[e])),e++}}class Z{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,s,r){this.type=2,this._$AH=_,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=s,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return e!==void 0&&t?.nodeType===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=M(this,t,e),z(t)?t===_||t==null||t===""?(this._$AH!==_&&this._$AR(),this._$AH=_):t!==this._$AH&&t!==w&&this._(t):t._$litType$!==void 0?this.g(t):t.nodeType!==void 0?this.$(t):Xe(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==_&&z(this._$AH)?this._$AA.nextSibling.data=t:this.$(b.createTextNode(t)),this._$AH=t}g(t){const{values:e,_$litType$:s}=t,r=typeof s=="number"?this._$AC(t):(s.el===void 0&&(s.el=q.createElement(he(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===r)this._$AH.p(e);else{const n=new es(r,this),o=n.u(this.options);n.p(e),this.$(o),this._$AH=n}}_$AC(t){let e=le.get(t.strings);return e===void 0&&le.set(t.strings,e=new q(t)),e}T(t){te(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let s,r=0;for(const n of t)r===e.length?e.push(s=new Z(this.k(B()),this.k(B()),this,this.options)):s=e[r],s._$AI(n),r++;r<e.length&&(this._$AR(s&&s._$AB.nextSibling,r),e.length=r)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t&&t!==this._$AB;){const s=t.nextSibling;t.remove(),t=s}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}}class nt{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,s,r,n){this.type=1,this._$AH=_,this._$AN=void 0,this.element=t,this.name=e,this._$AM=r,this.options=n,s.length>2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=_}_$AI(t,e=this,s,r){const n=this.strings;let o=!1;if(n===void 0)t=M(this,t,e,0),o=!z(t)||t!==this._$AH&&t!==w,o&&(this._$AH=t);else{const a=t;let l,h;for(t=n[0],l=0;l<n.length-1;l++)h=M(this,a[s+l],e,l),h===w&&(h=this._$AH[l]),o||=!z(h)||h!==this._$AH[l],h===_?t=_:t!==_&&(t+=(h??"")+n[l+1]),this._$AH[l]=h}o&&!r&&this.O(t)}O(t){t===_?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class ss extends nt{constructor(){super(...arguments),this.type=3}O(t){this.element[this.name]=t===_?void 0:t}}class is extends nt{constructor(){super(...arguments),this.type=4}O(t){this.element.toggleAttribute(this.name,!!t&&t!==_)}}class rs extends nt{constructor(t,e,s,r,n){super(t,e,s,r,n),this.type=5}_$AI(t,e=this){if((t=M(this,t,e,0)??_)===w)return;const s=this._$AH,r=t===_&&s!==_||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,n=t!==_&&(s===_||r);r&&this.element.removeEventListener(this.name,this,s),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class ns{constructor(t,e,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){M(this,t)}}const os=mt.litHtmlPolyfillSupport;os?.(q,Z),(mt.litHtmlVersions??=[]).push("3.0.2");const ls=(i,t,e)=>{const s=e?.renderBefore??t;let r=s._$litPart$;if(r===void 0){const n=e?.renderBefore??null;s._$litPart$=r=new Z(t.insertBefore(B(),n),n,void 0,e??{})}return r._$AI(i),r};let V=class extends O{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=ls(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return w}};V._$litElement$=!0,V.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:V});const hs=globalThis.litElementPolyfillSupport;hs?.({LitElement:V}),(globalThis.litElementVersions??=[]).push("4.0.1");const as={attribute:!0,type:String,converter:it,reflect:!1,hasChanged:gt},cs=(i=as,t,e)=>{const{kind:s,metadata:r}=e;let n=globalThis.litPropertyMetadata.get(r);if(n===void 0&&globalThis.litPropertyMetadata.set(r,n=new Map),n.set(e.name,i),s==="accessor"){const{name:o}=e;return{set(a){const l=t.get.call(this);t.set.call(this,a),this.requestUpdate(o,l,i)},init(a){return a!==void 0&&this.C(o,void 0,i),a}}}if(s==="setter"){const{name:o}=e;return function(a){const l=this[o];t.call(this,a),this.requestUpdate(o,l,i)}}throw Error("Unsupported decorator location: "+s)};function ae(i){return(t,e)=>typeof e=="object"?cs(i,t,e):((s,r,n)=>{const o=r.hasOwnProperty(n);return r.constructor.createProperty(n,o?{...s,wrapped:!0}:s),o?Object.getOwnPropertyDescriptor(r,n):void 0})(i,t,e)}function ds(i){return ae({...i,state:!0,attribute:!1})}const us=(i,t,e)=>(e.configurable=!0,e.enumerable=!0,Reflect.decorate&&typeof t!="object"&&Object.defineProperty(i,t,e),e);function $s(i,t){return(e,s,r)=>{const n=o=>o.renderRoot?.querySelector(i)??null;return us(e,s,{get(){return n(this)}})}}const ps=(i,t)=>i?._$litType$!==void 0;const{I:fs}=Ue,ce=()=>document.createComment(""),W=(i,t,e)=>{var s;const r=i._$AA.parentNode,n=t===void 0?i._$AB:t._$AA;if(e===void 0){const o=r.insertBefore(ce(),n),a=r.insertBefore(ce(),n);e=new fs(o,a,i,i.options)}else{const o=e._$AB.nextSibling,a=e._$AM,l=a!==i;if(l){let h;(s=e._$AQ)===null||s===void 0||s.call(e,i),e._$AM=i,e._$AP!==void 0&&(h=i._$AU)!==a._$AU&&e._$AP(h)}if(o!==n||l){let h=e._$AA;for(;h!==o;){const $=h.nextSibling;r.insertBefore(h,n),h=$}}}return e},P=(i,t,e=i)=>(i._$AI(t,e),i),_s={},vs=(i,t=_s)=>i._$AH=t,As=i=>i._$AH,bt=i=>{var t;(t=i._$AP)===null||t===void 0||t.call(i,!1,!0);let e=i._$AA;const s=i._$AB.nextSibling;for(;e!==s;){const r=e.nextSibling;e.remove(),e=r}};const de=(i,t,e)=>{const s=new Map;for(let r=t;r<=e;r++)s.set(i[r],r);return s},ys=Y(class extends tt{constructor(i){if(super(i),i.type!==X.CHILD)throw Error("repeat() can only be used in text expressions")}ht(i,t,e){let s;e===void 0?e=t:t!==void 0&&(s=t);const r=[],n=[];let o=0;for(const a of i)r[o]=s?s(a,o):o,n[o]=e(a,o),o++;return{values:n,keys:r}}render(i,t,e){return this.ht(i,t,e).values}update(i,[t,e,s]){var r;const n=As(i),{values:o,keys:a}=this.ht(t,e,s);if(!Array.isArray(n))return this.ut=a,o;const l=(r=this.ut)!==null&&r!==void 0?r:this.ut=[],h=[];let $,c,d=0,u=n.length-1,p=0,v=o.length-1;for(;d<=u&&p<=v;)if(n[d]===null)d++;else if(n[u]===null)u--;else if(l[d]===a[p])h[p]=P(n[d],o[p]),d++,p++;else if(l[u]===a[v])h[v]=P(n[u],o[v]),u--,v--;else if(l[d]===a[v])h[v]=P(n[d],o[v]),W(i,h[v+1],n[d]),d++,v--;else if(l[u]===a[p])h[p]=P(n[u],o[p]),W(i,n[d],n[u]),u--,p++;else if($===void 0&&($=de(a,p,v),c=de(l,d,u)),$.has(l[d]))if($.has(l[u])){const y=c.get(a[p]),ot=y!==void 0?n[y]:null;if(ot===null){const St=W(i,n[d]);P(St,o[p]),h[p]=St}else h[p]=P(ot,o[p]),W(i,n[d],ot),n[y]=null;p++}else bt(n[u]),u--;else bt(n[d]),d++;for(;p<=v;){const y=W(i,h[v+1]);P(y,o[p]),h[p++]=y}for(;d<=u;){const y=n[d++];y!==null&&bt(y)}return this.ut=a,vs(i,h),A}});const gs=Y(class extends tt{constructor(i){var t;if(super(i),i.type!==X.ATTRIBUTE||i.name!=="class"||((t=i.strings)===null||t===void 0?void 0:t.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(i){return" "+Object.keys(i).filter(t=>i[t]).join(" ")+" "}update(i,[t]){var e,s;if(this.nt===void 0){this.nt=new Set,i.strings!==void 0&&(this.st=new Set(i.strings.join(" ").split(/\s/).filter(n=>n!=="")));for(const n in t)t[n]&&!(!((e=this.st)===null||e===void 0)&&e.has(n))&&this.nt.add(n);return this.render(t)}const r=i.element.classList;this.nt.forEach(n=>{n in t||(r.remove(n),this.nt.delete(n))});for(const n in t){const o=!!t[n];o===this.nt.has(n)||!((s=this.st)===null||s===void 0)&&s.has(n)||(o?(r.add(n),this.nt.add(n)):(r.remove(n),this.nt.delete(n)))}return A}});const ms={ATTRIBUTE:1},Es=i=>(...t)=>({_$litDirective$:i,values:t});class bs{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,s){this._$Ct=t,this._$AM=e,this._$Ci=s}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}const Ss=Es(class extends bs{constructor(i){if(super(i),i.type!==ms.ATTRIBUTE||i.name!=="class"||i.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(i){return" "+Object.keys(i).filter(t=>i[t]).join(" ")+" "}update(i,[t]){if(this.it===void 0){this.it=new Set,i.strings!==void 0&&(this.st=new Set(i.strings.join(" ").split(/\s/).filter(s=>s!=="")));for(const s in t)t[s]&&!this.st?.has(s)&&this.it.add(s);return this.render(t)}const e=i.element.classList;for(const s of this.it)s in t||(e.remove(s),this.it.delete(s));for(const s in t){const r=!!t[s];r===this.it.has(s)||this.st?.has(s)||(r?(e.add(s),this.it.add(s)):(e.remove(s),this.it.delete(s)))}return w}});const ue=Symbol.for(""),ws=i=>{if(i?.r===ue)return i?._$litStatic$},Cs=(i,...t)=>({_$litStatic$:t.reduce((e,s,r)=>e+(n=>{if(n._$litStatic$!==void 0)return n._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${n}. Use 'unsafeStatic' to pass non-literal values, but
8
- take care to ensure page security.`)})(s)+i[r+1],i[0]),r:ue}),$e=new Map,Ps=i=>(t,...e)=>{const s=e.length;let r,n;const o=[],a=[];let l,h=0,$=!1;for(;h<s;){for(l=t[h];h<s&&(n=e[h],(r=ws(n))!==void 0);)l+=r+t[++h],$=!0;h!==s&&a.push(n),o.push(l),h++}if(h===s&&o.push(t[s]),$){const c=o.join("$$lit$$");(t=$e.get(c))===void 0&&(o.raw=o,$e.set(c,t=o)),e=a}return i(t,...e)},xs=Ps(oe);const Ts=i=>i??_;export{Dt as Z,Ss as a,$s as b,Cs as c,xs as d,ps as e,_e as f,Wt as g,j as h,ze as i,Pt as j,Le as k,Me as l,Re as m,ae as n,Ts as o,Ie as p,gs as q,ds as r,V as s,ke as t,ys as u,oe as x,Ee as y};
9
- /**
10
- * @license
11
- * Copyright 2019 Google LLC
12
- * SPDX-License-Identifier: BSD-3-Clause
13
- */
14
- /**
15
- * @license
16
- * Copyright 2017 Google LLC
17
- * SPDX-License-Identifier: BSD-3-Clause
18
- */
19
- /**
20
- * @license
21
- * Copyright 2018 Google LLC
22
- * SPDX-License-Identifier: BSD-3-Clause
23
- */
24
- /**
25
- * @license
26
- * Copyright 2021 Google LLC
27
- * SPDX-License-Identifier: BSD-3-Clause
28
- */
29
- /**
30
- * @license
31
- * Copyright 2020 Google LLC
32
- * SPDX-License-Identifier: BSD-3-Clause
33
- */
34
- //# sourceMappingURL=lit-WqMxC_PA.esm.js.map