@beamimpact/web-sdk 1.30.0 → 1.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/README.md +41 -0
  2. package/dist/chunks/_share-dialog-dependencies-5RgEFOlW.esm.js +2 -0
  3. package/dist/chunks/_share-dialog-dependencies-5RgEFOlW.esm.js.map +1 -0
  4. package/dist/chunks/_share-dialog-dependencies-BT0yKW4B.esm.js +2 -0
  5. package/dist/chunks/_share-dialog-dependencies-BT0yKW4B.esm.js.map +1 -0
  6. package/dist/chunks/beam-errors-AMvTvR1C.esm.js +2 -0
  7. package/dist/chunks/{beam-errors-l02WBee5.esm.js.map → beam-errors-AMvTvR1C.esm.js.map} +1 -1
  8. package/dist/chunks/cart-contents-P2GzTrNn.esm.d.ts +10 -0
  9. package/dist/chunks/events-60jQoHQi.esm.d.ts +108 -0
  10. package/dist/chunks/events-wNy5BoJV.esm.js +2 -0
  11. package/dist/chunks/events-wNy5BoJV.esm.js.map +1 -0
  12. package/dist/chunks/index-6oIIgcqD.esm.js +2 -0
  13. package/dist/chunks/index-6oIIgcqD.esm.js.map +1 -0
  14. package/dist/chunks/index-7kgWheoz.esm.js +2 -0
  15. package/dist/chunks/index-7kgWheoz.esm.js.map +1 -0
  16. package/dist/chunks/index-9tq13gvt.esm.js +2 -0
  17. package/dist/chunks/index-9tq13gvt.esm.js.map +1 -0
  18. package/dist/chunks/{index-Iupghntz.esm.d.ts → index-CItwC8WO.esm.d.ts} +1 -1
  19. package/dist/chunks/index-HQ1GjsKL.esm.js +2 -0
  20. package/dist/chunks/index-HQ1GjsKL.esm.js.map +1 -0
  21. package/dist/chunks/index-IfM4KUG0.esm.js +2 -0
  22. package/dist/chunks/index-IfM4KUG0.esm.js.map +1 -0
  23. package/dist/chunks/{index-h39_A7fk.esm.d.ts → index-L59voCOg.esm.d.ts} +1 -1
  24. package/dist/chunks/index-UzQdmWpi.esm.js +2 -0
  25. package/dist/chunks/index-UzQdmWpi.esm.js.map +1 -0
  26. package/dist/chunks/{index-4o5tH5RA.esm.d.ts → index-Zzs4grqC.esm.d.ts} +17 -7
  27. package/dist/chunks/index-aYzgWMfi.esm.js +2 -0
  28. package/dist/chunks/index-aYzgWMfi.esm.js.map +1 -0
  29. package/dist/chunks/index-iTqsULiK.esm.d.ts +15 -0
  30. package/dist/chunks/{index-IXwIgGSV.esm.js → index-jFZJm9-Y.esm.js} +2 -2
  31. package/dist/chunks/{index-IXwIgGSV.esm.js.map → index-jFZJm9-Y.esm.js.map} +1 -1
  32. package/dist/chunks/index-l_MORcbP.esm.d.ts +15 -0
  33. package/dist/chunks/index-oWDZabqS.esm.js +2 -0
  34. package/dist/chunks/index-oWDZabqS.esm.js.map +1 -0
  35. package/dist/chunks/{local-storage-Rrnk_Dg-.esm.js → local-storage-GYvYzZ_j.esm.js} +2 -2
  36. package/dist/chunks/{local-storage-Rrnk_Dg-.esm.js.map → local-storage-GYvYzZ_j.esm.js.map} +1 -1
  37. package/dist/chunks/{localize-nH-zlK_j.esm.js → localize-906erPHj.esm.js} +2 -2
  38. package/dist/chunks/{localize-nH-zlK_j.esm.js.map → localize-906erPHj.esm.js.map} +1 -1
  39. package/dist/chunks/{network-listeners-CEOxhlYW.esm.js → network-listeners-O5LKv8Yy.esm.js} +2 -2
  40. package/dist/chunks/{network-listeners-CEOxhlYW.esm.js.map → network-listeners-O5LKv8Yy.esm.js.map} +1 -1
  41. package/dist/chunks/{cart-contents-iOS70Cw8.esm.d.ts → openapi-spec-scRfHArN.esm.d.ts} +51 -23
  42. package/dist/chunks/{order-page-ES79iWIM.esm.js → order-page-2DakMDcU.esm.js} +2 -2
  43. package/dist/chunks/{order-page-ES79iWIM.esm.js.map → order-page-2DakMDcU.esm.js.map} +1 -1
  44. package/dist/chunks/{order-page-gj5qxIFJ.esm.d.ts → order-page-40SzBc--.esm.d.ts} +3 -2
  45. package/dist/chunks/{order-page-fbySwTP6.esm.js → order-page-_fm5M_jh.esm.js} +2 -2
  46. package/dist/chunks/{order-page-fbySwTP6.esm.js.map → order-page-_fm5M_jh.esm.js.map} +1 -1
  47. package/dist/chunks/{remote-session-mmQFfNd6.esm.js → remote-session-V4YG-mcS.esm.js} +2 -2
  48. package/dist/chunks/{remote-session-mmQFfNd6.esm.js.map → remote-session-V4YG-mcS.esm.js.map} +1 -1
  49. package/dist/chunks/routes-FWCAWzPK.esm.js +2 -0
  50. package/dist/chunks/routes-FWCAWzPK.esm.js.map +1 -0
  51. package/dist/chunks/types-7kSi85Gv.esm.d.ts +10 -0
  52. package/dist/chunks/{update-cart-SgZzL7m7.esm.d.ts → update-cart-3nc7XKMm.esm.d.ts} +1 -1
  53. package/dist/chunks/update-cart-UStRzSUy.esm.js +2 -0
  54. package/dist/chunks/update-cart-UStRzSUy.esm.js.map +1 -0
  55. package/dist/components/community-impact.d.ts +1 -1
  56. package/dist/components/community-impact.esm.js +1 -1
  57. package/dist/components/community-impact.esm.js.map +1 -1
  58. package/dist/components/community-impact.js +1 -1
  59. package/dist/components/community-impact.js.map +1 -1
  60. package/dist/components/cumulative-impact.d.ts +2 -2
  61. package/dist/components/cumulative-impact.esm.js +12 -12
  62. package/dist/components/cumulative-impact.esm.js.map +1 -1
  63. package/dist/components/cumulative-impact.js +12 -12
  64. package/dist/components/cumulative-impact.js.map +1 -1
  65. package/dist/components/impact-overview.d.ts +1 -1
  66. package/dist/components/impact-overview.esm.js +2 -2
  67. package/dist/components/impact-overview.esm.js.map +1 -1
  68. package/dist/components/impact-overview.js +2 -2
  69. package/dist/components/impact-overview.js.map +1 -1
  70. package/dist/components/index.d.ts +3 -2
  71. package/dist/components/index.esm.js +1 -1
  72. package/dist/components/index.js +1 -1
  73. package/dist/components/post-purchase.d.ts +4 -2
  74. package/dist/components/post-purchase.esm.js +3 -3
  75. package/dist/components/post-purchase.esm.js.map +1 -1
  76. package/dist/components/post-purchase.js +3 -3
  77. package/dist/components/post-purchase.js.map +1 -1
  78. package/dist/components/redeem-transaction.d.ts +3 -2
  79. package/dist/components/redeem-transaction.esm.js +1 -1
  80. package/dist/components/redeem-transaction.esm.js.map +1 -1
  81. package/dist/components/redeem-transaction.js +1 -1
  82. package/dist/components/redeem-transaction.js.map +1 -1
  83. package/dist/components/select-nonprofit.d.ts +3 -2
  84. package/dist/components/select-nonprofit.esm.js +1 -1
  85. package/dist/components/select-nonprofit.esm.js.map +1 -1
  86. package/dist/components/select-nonprofit.js +1 -1
  87. package/dist/components/select-nonprofit.js.map +1 -1
  88. package/dist/components/shopify.d.ts +6 -5
  89. package/dist/components/shopify.esm.js +1 -1
  90. package/dist/components/shopify.esm.js.map +1 -1
  91. package/dist/components/shopify.js +1 -1
  92. package/dist/components/shopify.js.map +1 -1
  93. package/dist/index.d.ts +12 -9
  94. package/dist/index.esm.js +1 -1
  95. package/dist/index.js +1 -1
  96. package/dist/integrations/beam.d.ts +90 -0
  97. package/dist/integrations/beam.esm.js +2 -0
  98. package/dist/integrations/beam.esm.js.map +1 -0
  99. package/dist/integrations/beam.js +2 -0
  100. package/dist/integrations/beam.js.map +1 -0
  101. package/dist/integrations/cart.d.ts +3 -2
  102. package/dist/integrations/cart.esm.js +1 -1
  103. package/dist/integrations/cart.js +1 -1
  104. package/dist/integrations/index.d.ts +11 -8
  105. package/dist/integrations/index.esm.js +1 -1
  106. package/dist/integrations/index.js +1 -1
  107. package/dist/integrations/logs.d.ts +2 -0
  108. package/dist/integrations/logs.esm.js +2 -0
  109. package/dist/integrations/logs.esm.js.map +1 -0
  110. package/dist/integrations/logs.js +2 -0
  111. package/dist/integrations/logs.js.map +1 -0
  112. package/dist/integrations/session.esm.js +1 -1
  113. package/dist/integrations/session.js +1 -1
  114. package/dist/integrations/shopify.d.ts +5 -4
  115. package/dist/integrations/shopify.esm.js +1 -1
  116. package/dist/integrations/shopify.js +1 -1
  117. package/dist/integrations/statsig.d.ts +53 -0
  118. package/dist/integrations/statsig.esm.js +12 -0
  119. package/dist/integrations/statsig.esm.js.map +1 -0
  120. package/dist/integrations/statsig.js +12 -0
  121. package/dist/integrations/statsig.js.map +1 -0
  122. package/dist/integrations/utils.d.ts +6 -3
  123. package/dist/integrations/utils.esm.js +1 -1
  124. package/dist/integrations/utils.js +1 -1
  125. package/dist/react/community-impact.d.ts +1 -1
  126. package/dist/react/community-impact.esm.js +1 -1
  127. package/dist/react/community-impact.esm.js.map +1 -1
  128. package/dist/react/community-impact.js +1 -1
  129. package/dist/react/community-impact.js.map +1 -1
  130. package/dist/react/cumulative-impact.d.ts +1 -1
  131. package/dist/react/cumulative-impact.esm.js +1 -1
  132. package/dist/react/cumulative-impact.esm.js.map +1 -1
  133. package/dist/react/cumulative-impact.js +1 -1
  134. package/dist/react/cumulative-impact.js.map +1 -1
  135. package/dist/react/impact-overview.d.ts +1 -1
  136. package/dist/react/impact-overview.esm.js +1 -1
  137. package/dist/react/impact-overview.esm.js.map +1 -1
  138. package/dist/react/impact-overview.js +1 -1
  139. package/dist/react/impact-overview.js.map +1 -1
  140. package/dist/react/index.d.ts +4 -3
  141. package/dist/react/index.esm.js +1 -1
  142. package/dist/react/index.js +1 -1
  143. package/dist/react/post-purchase.d.ts +3 -2
  144. package/dist/react/post-purchase.esm.js +1 -1
  145. package/dist/react/post-purchase.esm.js.map +1 -1
  146. package/dist/react/post-purchase.js +1 -1
  147. package/dist/react/post-purchase.js.map +1 -1
  148. package/dist/react/redeem-transaction.d.ts +4 -3
  149. package/dist/react/redeem-transaction.esm.js +1 -1
  150. package/dist/react/redeem-transaction.esm.js.map +1 -1
  151. package/dist/react/redeem-transaction.js +1 -1
  152. package/dist/react/redeem-transaction.js.map +1 -1
  153. package/dist/react/select-nonprofit.d.ts +4 -3
  154. package/dist/react/select-nonprofit.esm.js +1 -1
  155. package/dist/react/select-nonprofit.esm.js.map +1 -1
  156. package/dist/react/select-nonprofit.js +1 -1
  157. package/dist/react/select-nonprofit.js.map +1 -1
  158. package/package.json +2 -2
  159. package/dist/chunks/_share-dialog-dependencies-DgvDq7FK.esm.js +0 -2
  160. package/dist/chunks/_share-dialog-dependencies-DgvDq7FK.esm.js.map +0 -1
  161. package/dist/chunks/_share-dialog-dependencies-kpIYmbPH.esm.js +0 -2
  162. package/dist/chunks/_share-dialog-dependencies-kpIYmbPH.esm.js.map +0 -1
  163. package/dist/chunks/beam-errors-l02WBee5.esm.js +0 -2
  164. package/dist/chunks/events-6sWBONuH.esm.d.ts +0 -43
  165. package/dist/chunks/events-rRSQYdP1.esm.js +0 -2
  166. package/dist/chunks/events-rRSQYdP1.esm.js.map +0 -1
  167. package/dist/chunks/index--XzN0d8d.esm.js +0 -2
  168. package/dist/chunks/index--XzN0d8d.esm.js.map +0 -1
  169. package/dist/chunks/index-7h5FjeQX.esm.js +0 -2
  170. package/dist/chunks/index-7h5FjeQX.esm.js.map +0 -1
  171. package/dist/chunks/index-P0tq9Njz.esm.js +0 -2
  172. package/dist/chunks/index-P0tq9Njz.esm.js.map +0 -1
  173. package/dist/chunks/index-TLkr9fGm.esm.js +0 -2
  174. package/dist/chunks/index-TLkr9fGm.esm.js.map +0 -1
  175. package/dist/chunks/index-gkiwk1sL.esm.js +0 -2
  176. package/dist/chunks/index-gkiwk1sL.esm.js.map +0 -1
  177. package/dist/chunks/index-wLMSSZ0Y.esm.js +0 -2
  178. package/dist/chunks/index-wLMSSZ0Y.esm.js.map +0 -1
  179. package/dist/chunks/index-wuUhCB0N.esm.d.ts +0 -14
  180. package/dist/chunks/logger-ad87ovol.esm.js +0 -2
  181. package/dist/chunks/logger-ad87ovol.esm.js.map +0 -1
  182. package/dist/chunks/routes-64X-iWC0.esm.js +0 -2
  183. package/dist/chunks/routes-64X-iWC0.esm.js.map +0 -1
  184. package/dist/chunks/types-4zLXwf8o.esm.d.ts +0 -4
  185. package/dist/chunks/update-cart-QGC4d10_.esm.js +0 -2
  186. package/dist/chunks/update-cart-QGC4d10_.esm.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-cart-QGC4d10_.esm.js","sources":["../../src/integrations/cart/update-cart.ts"],"sourcesContent":["import isEqual from \"lodash-es/isEqual\";\nimport { DEFAULT_BASE_URL } from \"../../api-sdk/constants\";\nimport { BeamBaseAPIConfig } from \"../../api-sdk/types\";\nimport { postCart } from \"../../api-sdk/v3/routes\";\nimport { BeamError } from \"../../shared/beam-errors\";\nimport { BEAM_CART_COOKIE_NAME, TBeamCartLocalStorage, TCartApi } from \"../../shared/cart-contents\";\nimport { getCookieValue, setCookieValue } from \"../../shared/cookies\";\nimport { BeamCartChangeEvent } from \"../../shared/events\";\nimport { createScopedLocalStorage } from \"../../shared/local-storage\";\nimport { getRemoteSession } from \"../../shared/remote-session\";\n\nexport type BeamCartAPIConfig = BeamBaseAPIConfig & {\n storeId: number;\n domain?: string; // Domain to set cookies on\n};\n\nexport type BeamCartValues = {\n cartId?: string; // External (partner) cart ID\n itemCount?: number;\n subtotal?: number;\n currencyCode?: string;\n} & Partial<TCartApi>;\n\n/**\n * Sends cart information to Beam\n * @side-effects Sets beam_cart cookie, set cart data in localstorage\n * @example\n * const BeamConfig = { apiKey: 'abc-123' }\n * const { beamCartId } = await updateCart(BeamConfig, { beamCartId, itemCount, subtotal, currencyCode })\n * */\nasync function updateCart(config: BeamCartAPIConfig, cartValues: BeamCartValues) {\n try {\n const localStorage = createScopedLocalStorage({ apiKey: config.apiKey });\n const baseUrl = config.baseUrl ?? DEFAULT_BASE_URL;\n\n // The cart cache is used to detect changes after page refreshes / across tabs\n const cachedCart: TBeamCartLocalStorage | null = localStorage.getItemJson(\"cart\");\n // The Beam cart cookie is used to identify the cart across subdomains\n // Use explicit null if empty because API requires it\n const beamCartId: string | null = (await getCookieValue(BEAM_CART_COOKIE_NAME)) ?? null;\n // Remote session ID (ie, device ID from an A/B testing tool) will be linked to the cart\n const remoteSessionId: string | undefined = getRemoteSession(config) ?? undefined;\n\n const {\n cartId,\n subtotal,\n itemCount,\n currencyCode,\n content: { items = [] } = {},\n schema = { source: \"generic\" },\n } = cartValues;\n\n const cartWithDefaults = {\n cartId,\n subtotal,\n itemCount,\n currencyCode,\n content: { items },\n schema,\n beamCartId,\n };\n\n // Early return conditions. Skip sending cart to Beam if any apply:\n // 1. The cart has not changed\n // 2. Cart is empty, unless the cart was not empty before\n if (\n isEqual(cartWithDefaults, {\n ...cachedCart,\n cartId: cachedCart?.cartId /* make sure optional key is defined even if empty */,\n }) || // cart has not\n // changed, OR\n (cartValues.itemCount === 0 && // nothing in current cart, AND\n (!beamCartId || cachedCart?.itemCount === 0)) // no/expired prev cart or prev cart was empty\n ) {\n return;\n }\n\n const response = await postCart({\n baseUrl,\n headers: {\n authorization: `Api-Key ${config.apiKey}`,\n },\n requestBody: {\n beamCartId, // backwards compat: explicitly sending null here is required to get initial beamCartId\n storeId: config.storeId,\n remoteSessionId,\n cartId,\n subtotal,\n itemCount,\n currencyCode,\n },\n });\n\n // Response will contain a new beamCartId if one was not provided, or old one expired\n const { beamCartId: newBeamCartId, expiresAt } = response;\n\n await setCookieValue({\n name: BEAM_CART_COOKIE_NAME,\n domain: config.domain,\n value: newBeamCartId,\n // If we don't set an expiration, the cookie will be cleared when the tab is closed\n expires: new Date(expiresAt).getTime(),\n });\n\n localStorage.setItemJson(\"cart\", {\n ...cartWithDefaults,\n beamCartId: newBeamCartId,\n });\n\n const eventDetail: TCartApi = {\n schema: schema as any, // TS union type can't figure out what variant applies here\n content: {\n items: items as any,\n },\n };\n window.dispatchEvent(new BeamCartChangeEvent(eventDetail));\n } catch (err) {\n throw new BeamError(\"Could not update cart in Beam\", { cause: err });\n }\n}\n\nexport { updateCart };\n"],"names":["updateCart","config","cartValues","localStorage","createScopedLocalStorage","baseUrl","DEFAULT_BASE_URL","cachedCart","beamCartId","getCookieValue","BEAM_CART_COOKIE_NAME","remoteSessionId","getRemoteSession","cartId","subtotal","itemCount","currencyCode","items","schema","cartWithDefaults","isEqual","response","postCart","newBeamCartId","expiresAt","setCookieValue","eventDetail","BeamCartChangeEvent","err","BeamError"],"mappings":"kZA8BA,eAAeA,EAAWC,EAA2BC,EAA4B,CAC/E,GAAI,CACF,MAAMC,EAAeC,EAAyB,CAAE,OAAQH,EAAO,MAAO,CAAC,EACjEI,EAAUJ,EAAO,SAAWK,EAG5BC,EAA2CJ,EAAa,YAAY,MAAM,EAG1EK,EAA6B,MAAMC,EAAeC,CAAqB,GAAM,KAE7EC,EAAsCC,EAAiBX,CAAM,GAAK,OAElE,CACJ,OAAAY,EACA,SAAAC,EACA,UAAAC,EACA,aAAAC,EACA,QAAS,CAAE,MAAAC,EAAQ,CAAA,CAAG,EAAI,CAAA,EAC1B,OAAAC,EAAS,CAAE,OAAQ,SAAU,CAC/B,EAAIhB,EAEEiB,EAAmB,CACvB,OAAAN,EACA,SAAAC,EACA,UAAAC,EACA,aAAAC,EACA,QAAS,CAAE,MAAAC,CAAM,EACjB,OAAAC,EACA,WAAAV,CACF,EAKA,GACEY,EAAQD,EAAkB,CACxB,GAAGZ,EACH,OAAQA,GAAY,MACtB,CAAC,GAEAL,EAAW,YAAc,IACvB,CAACM,GAAcD,GAAY,YAAc,GAE5C,OAGF,MAAMc,EAAW,MAAMC,EAAS,CAC9B,QAAAjB,EACA,QAAS,CACP,cAAe,WAAWJ,EAAO,MAAM,EACzC,EACA,YAAa,CACX,WAAAO,EACA,QAASP,EAAO,QAChB,gBAAAU,EACA,OAAAE,EACA,SAAAC,EACA,UAAAC,EACA,aAAAC,CACF,CACF,CAAC,EAGK,CAAE,WAAYO,EAAe,UAAAC,CAAU,EAAIH,EAEjD,MAAMI,EAAe,CACnB,KAAMf,EACN,OAAQT,EAAO,OACf,MAAOsB,EAEP,QAAS,IAAI,KAAKC,CAAS,EAAE,QAAQ,CACvC,CAAC,EAEDrB,EAAa,YAAY,OAAQ,CAC/B,GAAGgB,EACH,WAAYI,CACd,CAAC,EAED,MAAMG,EAAwB,CAC5B,OAAQR,EACR,QAAS,CACP,MAAOD,CACT,CACF,EACA,OAAO,cAAc,IAAIU,EAAoBD,CAAW,CAAC,CAC3D,OAASE,EAAK,CACZ,MAAM,IAAIC,EAAU,gCAAiC,CAAE,MAAOD,CAAI,CAAC,CACrE,CACF"}