@beamimpact/web-sdk 1.57.4 → 1.58.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 (168) hide show
  1. package/dist/chunks/{_share-dialog-dependencies-BvaXft1r.esm.js → _share-dialog-dependencies-Caoc1gRc.esm.js} +2 -2
  2. package/dist/chunks/{_share-dialog-dependencies-BvaXft1r.esm.js.map → _share-dialog-dependencies-Caoc1gRc.esm.js.map} +1 -1
  3. package/dist/chunks/{cart-DCezceUX.esm.d.ts → cart-DKQHSz5X.esm.d.ts} +1 -1
  4. package/dist/chunks/{css-card-grid-CiqEjkwR.esm.js → css-card-grid-tjA36yWj.esm.js} +2 -2
  5. package/dist/chunks/{css-card-grid-CiqEjkwR.esm.js.map → css-card-grid-tjA36yWj.esm.js.map} +1 -1
  6. package/dist/chunks/{handlebars-B_i-to-h.esm.js → handlebars-3tRO54kz.esm.js} +7 -7
  7. package/dist/chunks/{handlebars-B_i-to-h.esm.js.map → handlebars-3tRO54kz.esm.js.map} +1 -1
  8. package/dist/chunks/index-ADw_ucEx.esm.js +2 -0
  9. package/dist/chunks/index-ADw_ucEx.esm.js.map +1 -0
  10. package/dist/chunks/index-BF0X_60j.esm.js +32 -0
  11. package/dist/chunks/index-BF0X_60j.esm.js.map +1 -0
  12. package/dist/chunks/index-BxivRkBL.esm.js +2 -0
  13. package/dist/chunks/{index-Bt4Ob1Fi.esm.js.map → index-BxivRkBL.esm.js.map} +1 -1
  14. package/dist/chunks/{index-C6gns2ul.esm.d.ts → index-DGOC8m2r.esm.d.ts} +1 -1
  15. package/dist/chunks/{index-BOHlIBDq.esm.js → index-DtAcPGd4.esm.js} +4 -4
  16. package/dist/chunks/index-DtAcPGd4.esm.js.map +1 -0
  17. package/dist/chunks/index-E6IoMPQu.esm.js +32 -0
  18. package/dist/chunks/index-E6IoMPQu.esm.js.map +1 -0
  19. package/dist/chunks/index-M8hQ6GXf.esm.js +31 -0
  20. package/dist/chunks/index-M8hQ6GXf.esm.js.map +1 -0
  21. package/dist/chunks/{index-Di1IwSgk.esm.js → index-Yt9xXa7z.esm.js} +4 -4
  22. package/dist/chunks/index-Yt9xXa7z.esm.js.map +1 -0
  23. package/dist/chunks/{promo-pill-label-D-VXaB27.esm.js → promo-pill-label-DCBXltdj.esm.js} +2 -2
  24. package/dist/chunks/{promo-pill-label-D-VXaB27.esm.js.map → promo-pill-label-DCBXltdj.esm.js.map} +1 -1
  25. package/dist/chunks/{routes-D6Gtw6kZ.esm.d.ts → routes-BW8Dd3C1.esm.d.ts} +8 -4
  26. package/dist/chunks/{share-button-o8IBYAxH.esm.js → share-button-C1PRjoPw.esm.js} +2 -2
  27. package/dist/chunks/{share-button-o8IBYAxH.esm.js.map → share-button-C1PRjoPw.esm.js.map} +1 -1
  28. package/dist/chunks/{share-button-DFuEWa2h.esm.js → share-button-CNq5lDre.esm.js} +2 -2
  29. package/dist/chunks/{share-button-DFuEWa2h.esm.js.map → share-button-CNq5lDre.esm.js.map} +1 -1
  30. package/dist/chunks/statsig-DlszSNOf.esm.js +2 -0
  31. package/dist/chunks/statsig-DlszSNOf.esm.js.map +1 -0
  32. package/dist/chunks/{utils-C5hmbxa4.esm.js → utils-ly9wMwUO.esm.js} +2 -2
  33. package/dist/chunks/{utils-C5hmbxa4.esm.js.map → utils-ly9wMwUO.esm.js.map} +1 -1
  34. package/dist/components/community-impact.esm.js +1 -1
  35. package/dist/components/community-impact.js +1 -1
  36. package/dist/components/cumulative-impact.esm.js +1 -1
  37. package/dist/components/cumulative-impact.js +1 -1
  38. package/dist/components/impact-overview.esm.js +1 -1
  39. package/dist/components/impact-overview.js +1 -1
  40. package/dist/components/index.d.ts +1 -1
  41. package/dist/components/index.esm.js +1 -1
  42. package/dist/components/index.js +1 -1
  43. package/dist/components/post-purchase.esm.js +1 -1
  44. package/dist/components/post-purchase.js +1 -1
  45. package/dist/components/product-details-page.d.ts +1 -1
  46. package/dist/components/product-details-page.esm.js +3 -3
  47. package/dist/components/product-details-page.js +3 -3
  48. package/dist/components/redeem-transaction.esm.js +1 -1
  49. package/dist/components/redeem-transaction.js +1 -1
  50. package/dist/components/select-nonprofit.esm.js +22 -24
  51. package/dist/components/select-nonprofit.esm.js.map +1 -1
  52. package/dist/components/select-nonprofit.js +22 -24
  53. package/dist/components/select-nonprofit.js.map +1 -1
  54. package/dist/components/select-subscription-nonprofit.esm.js +2 -2
  55. package/dist/components/select-subscription-nonprofit.esm.js.map +1 -1
  56. package/dist/components/select-subscription-nonprofit.js +2 -2
  57. package/dist/components/select-subscription-nonprofit.js.map +1 -1
  58. package/dist/components/shopify.d.ts +2 -2
  59. package/dist/components/shopify.esm.js +1 -1
  60. package/dist/components/shopify.js +1 -1
  61. package/dist/components/social-share.esm.js +1 -1
  62. package/dist/components/social-share.js +1 -1
  63. package/dist/components/subscriber-select-nonprofit.esm.js +4 -4
  64. package/dist/components/subscriber-select-nonprofit.esm.js.map +1 -1
  65. package/dist/components/subscriber-select-nonprofit.js +4 -4
  66. package/dist/components/subscriber-select-nonprofit.js.map +1 -1
  67. package/dist/components/subscription-impact.esm.js +1 -1
  68. package/dist/components/subscription-impact.js +1 -1
  69. package/dist/components/subscription-management.d.ts +1 -1
  70. package/dist/components/subscription-management.esm.js +1 -1
  71. package/dist/components/subscription-management.esm.js.map +1 -1
  72. package/dist/components/subscription-management.js +1 -1
  73. package/dist/components/subscription-management.js.map +1 -1
  74. package/dist/index.d.ts +3 -3
  75. package/dist/index.esm.js +1 -1
  76. package/dist/index.js +1 -1
  77. package/dist/integrations/beam.esm.js +1 -1
  78. package/dist/integrations/beam.js +1 -1
  79. package/dist/integrations/cart.esm.js +1 -1
  80. package/dist/integrations/cart.js +1 -1
  81. package/dist/integrations/logs.esm.js +1 -1
  82. package/dist/integrations/logs.js +1 -1
  83. package/dist/integrations/promoManager.esm.js +1 -1
  84. package/dist/integrations/promoManager.js +1 -1
  85. package/dist/integrations/session.esm.js +1 -1
  86. package/dist/integrations/session.js +1 -1
  87. package/dist/integrations/shopify-order.d.ts +1 -1
  88. package/dist/integrations/shopify-order.esm.js +1 -1
  89. package/dist/integrations/shopify-order.js +1 -1
  90. package/dist/integrations/shopify.d.ts +1 -1
  91. package/dist/integrations/shopify.esm.js +1 -1
  92. package/dist/integrations/shopify.js +1 -1
  93. package/dist/integrations/statsig.d.ts +7 -4
  94. package/dist/integrations/statsig.esm.js +14 -14
  95. package/dist/integrations/statsig.esm.js.map +1 -1
  96. package/dist/integrations/statsig.js +14 -14
  97. package/dist/integrations/statsig.js.map +1 -1
  98. package/dist/integrations/utils.esm.js +1 -1
  99. package/dist/integrations/utils.js +1 -1
  100. package/dist/react/community-impact.esm.js +1 -1
  101. package/dist/react/community-impact.js +1 -1
  102. package/dist/react/cumulative-impact.esm.js +1 -1
  103. package/dist/react/cumulative-impact.js +1 -1
  104. package/dist/react/impact-overview.esm.js +1 -1
  105. package/dist/react/impact-overview.js +1 -1
  106. package/dist/react/index.d.ts +1 -1
  107. package/dist/react/index.esm.js +1 -1
  108. package/dist/react/index.js +1 -1
  109. package/dist/react/post-purchase.esm.js +1 -1
  110. package/dist/react/post-purchase.js +1 -1
  111. package/dist/react/product-details-page.d.ts +1 -1
  112. package/dist/react/product-details-page.esm.js +1 -1
  113. package/dist/react/product-details-page.js +1 -1
  114. package/dist/react/redeem-transaction.esm.js +1 -1
  115. package/dist/react/redeem-transaction.js +1 -1
  116. package/dist/react/select-nonprofit.esm.js +1 -1
  117. package/dist/react/select-nonprofit.js +1 -1
  118. package/dist/react/select-subscription-nonprofit.esm.js +1 -1
  119. package/dist/react/select-subscription-nonprofit.js +1 -1
  120. package/dist/react/shopify.esm.js +1 -1
  121. package/dist/react/shopify.js +1 -1
  122. package/dist/react/social-share.esm.js +1 -1
  123. package/dist/react/social-share.js +1 -1
  124. package/dist/react/subscriber-select-nonprofit.esm.js +1 -1
  125. package/dist/react/subscriber-select-nonprofit.js +1 -1
  126. package/dist/react/subscription-impact.esm.js +1 -1
  127. package/dist/react/subscription-impact.js +1 -1
  128. package/dist/react/subscription-management.d.ts +1 -1
  129. package/dist/react/subscription-management.esm.js +1 -1
  130. package/dist/react/subscription-management.js +1 -1
  131. package/dist/utils/beam-errors.esm.js +1 -1
  132. package/dist/utils/beam-errors.js +1 -1
  133. package/dist/utils/cart.esm.js +1 -1
  134. package/dist/utils/cart.js +1 -1
  135. package/dist/utils/clear-beam-storage.esm.js +1 -1
  136. package/dist/utils/clear-beam-storage.js +1 -1
  137. package/dist/utils/cookies.esm.js +1 -1
  138. package/dist/utils/cookies.js +1 -1
  139. package/dist/utils/events.esm.js +1 -1
  140. package/dist/utils/events.js +1 -1
  141. package/dist/utils/local-storage.esm.js +1 -1
  142. package/dist/utils/local-storage.js +1 -1
  143. package/dist/utils/logger.esm.js +1 -1
  144. package/dist/utils/logger.js +1 -1
  145. package/dist/utils/makeApiKeyHeader.esm.js +1 -1
  146. package/dist/utils/makeApiKeyHeader.js +1 -1
  147. package/dist/utils/memoize-last.esm.js +1 -1
  148. package/dist/utils/memoize-last.js +1 -1
  149. package/dist/utils/network-listeners.esm.js +1 -1
  150. package/dist/utils/network-listeners.js +1 -1
  151. package/dist/utils/promoManager.esm.js +1 -1
  152. package/dist/utils/promoManager.js +1 -1
  153. package/dist/utils/remote-session.esm.js +1 -1
  154. package/dist/utils/remote-session.js +1 -1
  155. package/dist/utils/wait-for-element.esm.js +1 -1
  156. package/dist/utils/wait-for-element.js +1 -1
  157. package/package.json +5 -4
  158. package/dist/chunks/index-726Vfz5u.esm.js +0 -32
  159. package/dist/chunks/index-726Vfz5u.esm.js.map +0 -1
  160. package/dist/chunks/index-B7OkmoYI.esm.js +0 -2
  161. package/dist/chunks/index-B7OkmoYI.esm.js.map +0 -1
  162. package/dist/chunks/index-BOHlIBDq.esm.js.map +0 -1
  163. package/dist/chunks/index-Bc_hD09J.esm.js +0 -32
  164. package/dist/chunks/index-Bc_hD09J.esm.js.map +0 -1
  165. package/dist/chunks/index-Bt4Ob1Fi.esm.js +0 -2
  166. package/dist/chunks/index-CVHrQ1WC.esm.js +0 -31
  167. package/dist/chunks/index-CVHrQ1WC.esm.js.map +0 -1
  168. package/dist/chunks/index-Di1IwSgk.esm.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import{i as m,n as u,a as p,b as l}from"./lit-BEag9MFp.esm.js";import{r as d}from"./index-CVHrQ1WC.esm.js";var h=Object.defineProperty,c=(a,o,i,e)=>{for(var r=void 0,s=a.length-1,n;s>=0;s--)(n=a[s])&&(r=n(o,i,r)||r);return r&&h(o,i,r),r};class t extends p{constructor(){super(...arguments),this.value=0,this.animateProgress=!0}render(){return l`<div class="progress-bar-container">
1
+ import{i as m,n as u,a as p,b as l}from"./lit-BEag9MFp.esm.js";import{r as d}from"./index-M8hQ6GXf.esm.js";var h=Object.defineProperty,c=(a,o,i,e)=>{for(var r=void 0,s=a.length-1,n;s>=0;s--)(n=a[s])&&(r=n(o,i,r)||r);return r&&h(o,i,r),r};class t extends p{constructor(){super(...arguments),this.value=0,this.animateProgress=!0}render(){return l`<div class="progress-bar-container">
2
2
  <style>
3
3
  :host {
4
4
  --beam-ProgressBar-value: ${this.value};
@@ -51,4 +51,4 @@ import{i as m,n as u,a as p,b as l}from"./lit-BEag9MFp.esm.js";import{r as d}fro
51
51
  border-radius: var(--beam-ProgressBar-progress-border-radius, 8px);
52
52
  }
53
53
  `,c([u({type:Number})],t.prototype,"value"),c([u({type:Boolean})],t.prototype,"animateProgress"),customElements.get("beam-progress-bar")||customElements.define("beam-progress-bar",t);const b={"--beam-ProgressBar-border-radius":"8px","--beam-ProgressBar-progress-border-radius":"8px","--beam-ProgressBar-height":"8px","--beam-ProgressBar-color-background":"transparent","--beam-ProgressBar-border-width":"1px","--beam-ProgressBar-color-border":"currentColor","--beam-ProgressBar-color-bar":"currentColor","--beam-ProgressBar-animation-duration-base":"0s","--beam-ProgressBar-animation-duration-variable":"0s"};async function g({baseUrl:a,apiKey:o,requestBody:i}){try{const e=a+"/api/v4/events/socialShare",r=JSON.stringify(i);await d(e,{method:"POST",body:r,headers:{authorization:`Api-Key ${o}`}})}catch(e){console.error(e)}}const S=async a=>fetch(a).then(async o=>{const i=new URL(a),e=await o.blob();return new File([e],i.pathname,{type:e.type})}),B={en:{impactShareButton:()=>"Share to Grow Your Impact",impactShareText:({brandName:a=""})=>`Help ${a} reach their giving goal by sharing this cause on social media`,impactShareTitle:()=>"Share on Social Media",impactShareCopy:()=>"Copy",impactShareDownload:()=>"Download",impactShareClose:()=>"Close"},fr:{impactShareButton:()=>"Partagez pour augmentez votre cause",impactShareText:({brandName:a=""})=>`Aidez ${a} a atteindre leur objectif en partageant cette cause sur votre r\xE9seaux sociaux`,impactShareTitle:()=>"Partager sur votre r\xE9seaux sociaux",impactShareCopy:()=>"Copier",impactShareDownload:()=>"T\xE9l\xE9charger",impactShareClose:()=>"Fermer"},de:{impactShareButton:()=>"Teil, um unserem Beitrag zu erh\xF6hen",impactShareText:({brandName:a=""})=>`Hilf ${a} ihre Spendenziel zu erreichen`,impactShareTitle:()=>"In den sozialen Medien teilen",impactShareCopy:()=>"Kopieren",impactShareDownload:()=>"Herunterladen",impactShareClose:()=>"Schlie\xDFen"},es:{impactShareButton:()=>"Comparte para aumentar nuestro impacto",impactShareText:({brandName:a=""})=>`Comparte en las redes sociales para ayudar a ${a} a alcanzar su objetivo.`,impactShareTitle:()=>"Compartir en redes sociales",impactShareCopy:()=>"Copiar",impactShareDownload:()=>"Descargar",impactShareClose:()=>"Cerrar"},it:{impactShareButton:()=>"Condividi, aiutaci a fare la differenza",impactShareText:({brandName:a=""})=>`Aiuta ${a} a raggiungere il suo obiettivo di donazione condividendo questa causa sui social media.`,impactShareTitle:()=>"Condividi, aiutaci a fare la differenza",impactShareCopy:()=>"Copia",impactShareDownload:()=>"Scarica",impactShareClose:()=>"Chiudi"},pl:{impactShareButton:()=>"Udost\u0119pnij, by szerzy\u0107 nasz\u0105 misj\u0119",impactShareText:({brandName:a=""})=>`Pom\xF3\u017C ${a} osi\u0105gn\u0105\u0107 cel i podziel si\u0119 t\u0105 inicjatyw\u0105 na swoim profilu`,impactShareTitle:()=>"Udost\u0119pnij na swoim profilu",impactShareCopy:()=>"Kopiuj",impactShareDownload:()=>"Pobierz",impactShareClose:()=>"Zamknij"},ja:{impactShareButton:()=>"\u6D3B\u52D5\u306E\u8F2A\u3092\u5E83\u3052\u3088\u3046",impactShareText:({brandName:a=""})=>`${a}\u306E\u5BC4\u4ED8\u76EE\u6A19\u9054\u6210\u306B\u5411\u3051\u3066\u3001SNS\u3067\u3053\u306E\u6D3B\u52D5\u3092\u662F\u975E\u30B7\u30A7\u30A2\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,impactShareTitle:()=>"SNS\u3067\u30B7\u30A7\u30A2\u3059\u308B",impactShareCopy:()=>"\u30B3\u30D4\u30FC",impactShareDownload:()=>"\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9",impactShareClose:()=>"\u9589\u3058\u308B"}};export{b as a,g as p,B as s,S as u};
54
- //# sourceMappingURL=share-button-o8IBYAxH.esm.js.map
54
+ //# sourceMappingURL=share-button-C1PRjoPw.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"share-button-o8IBYAxH.esm.js","sources":["../../src/shared/components/progress-bar.ts","../../src/api-sdk/v2/users/events.ts","../../src/shared/files.ts","../../src/shared/components/strings/share-button.ts"],"sourcesContent":["import { css, html, LitElement } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\n\nexport class BeamProgressBar extends LitElement {\n @property({ type: Number }) value = 0;\n @property({ type: Boolean }) animateProgress = true;\n\n render() {\n return html`<div class=\"progress-bar-container\">\n <style>\n :host {\n --beam-ProgressBar-value: ${this.value};\n }\n </style>\n <div class=\"progress-bar\"></div>\n </div>`;\n }\n\n static styles = css`\n :host {\n display: inline-block;\n min-width: 20px;\n }\n\n .progress-bar-container {\n border-radius: var(--beam-ProgressBar-border-radius, 8px);\n height: var(--beam-ProgressBar-height, 8px);\n padding: 0;\n width: 100%;\n background: var(--beam-ProgressBar-color-background, lightgray);\n position: relative;\n border: var(--beam-ProgressBar-border-width, 1px) solid var(--beam-ProgressBar-color-border, currentColor);\n overflow: hidden;\n }\n\n @keyframes animate-bar {\n 0% {\n width: 0;\n }\n\n 100% {\n width: calc(var(--beam-ProgressBar-value) * 1%);\n }\n }\n\n .progress-bar {\n width: calc(var(--beam-ProgressBar-value, 0) * 1%);\n height: 100%;\n position: absolute;\n background: var(--beam-ProgressBar-color-bar, linear-gradient(to right, currentColor, currentColor));\n left: 0;\n bottom: 0;\n top: 0;\n background-clip: padding-box;\n animation-duration: calc(\n var(--beam-ProgressBar-animation-duration-base, 0s) + var(--beam-ProgressBar-animation-duration-variable, 0s) *\n var(--beam-ProgressBar-value) / 100\n );\n animation-iteration-count: 1;\n animation-name: animate-bar;\n animation-timing-function: linear;\n border-radius: var(--beam-ProgressBar-progress-border-radius, 8px);\n }\n `;\n}\n\ncustomElements.get(\"beam-progress-bar\") || customElements.define(\"beam-progress-bar\", BeamProgressBar);\n\nexport const progressBarConfigDefaults = {\n \"--beam-ProgressBar-border-radius\": \"8px\",\n \"--beam-ProgressBar-progress-border-radius\": \"8px\",\n \"--beam-ProgressBar-height\": \"8px\",\n \"--beam-ProgressBar-color-background\": \"transparent\",\n \"--beam-ProgressBar-border-width\": \"1px\",\n \"--beam-ProgressBar-color-border\": \"currentColor\",\n \"--beam-ProgressBar-color-bar\": \"currentColor\",\n \"--beam-ProgressBar-animation-duration-base\": \"0s\",\n \"--beam-ProgressBar-animation-duration-variable\": \"0s\",\n} as const;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-progress-bar\": BeamProgressBar;\n }\n}\n","import { TUrl } from \"../../types\";\nimport { fetchJson } from \"../../fetch-json\";\n\nexport interface SocialShareAnalyticsEventPayload {\n eventName?: string | null;\n nonprofitId?: number | null;\n storeId?: number | null;\n transactionId?: number | null;\n timestamp?: number | null;\n}\n\nexport async function postSocialShareAnalyticsEvent({\n baseUrl,\n apiKey,\n requestBody,\n}: {\n baseUrl: TUrl;\n apiKey: string;\n requestBody: SocialShareAnalyticsEventPayload;\n}): Promise<void> {\n try {\n const url = baseUrl + \"/api/v4/events/socialShare\";\n const body = JSON.stringify(requestBody);\n await fetchJson(url, {\n method: \"POST\",\n body,\n headers: { authorization: `Api-Key ${apiKey}` },\n });\n } catch (error: any) {\n console.error(error);\n }\n}\n","export const urlToFile = async (url: string) => {\n return fetch(url).then(async (r) => {\n const u = new URL(url);\n const blob = await r.blob();\n return new File([blob], u.pathname, { type: blob.type });\n });\n};\n","export const strings = {\n en: {\n impactShareButton: () => `Share to Grow Your Impact`,\n impactShareText: ({ brandName = \"\" }) =>\n `Help ${brandName} reach their giving goal by sharing this cause on social media`,\n impactShareTitle: () => `Share on Social Media`,\n impactShareCopy: () => `Copy`,\n impactShareDownload: () => `Download`,\n impactShareClose: () => `Close`,\n },\n fr: {\n impactShareButton: () => `Partagez pour augmentez votre cause`,\n impactShareText: ({ brandName = \"\" }) =>\n `Aidez ${brandName} a atteindre leur objectif en partageant cette cause sur votre réseaux sociaux`,\n impactShareTitle: () => `Partager sur votre réseaux sociaux`,\n impactShareCopy: () => `Copier`,\n impactShareDownload: () => `Télécharger`,\n impactShareClose: () => `Fermer`,\n },\n de: {\n impactShareButton: () => `Teil, um unserem Beitrag zu erhöhen`, // TODO: Update translation copy SDK-2210\n impactShareText: ({ brandName = \"\" }) => `Hilf ${brandName} ihre Spendenziel zu erreichen`,\n impactShareTitle: () => `In den sozialen Medien teilen`,\n impactShareCopy: () => `Kopieren`,\n impactShareDownload: () => `Herunterladen`,\n impactShareClose: () => `Schließen`,\n },\n es: {\n impactShareButton: () => \"Comparte para aumentar nuestro impacto\", // TODO: Update translation copy SDK-2210\n impactShareText: ({ brandName = \"\" }) =>\n `Comparte en las redes sociales para ayudar a ${brandName} a alcanzar su objetivo.`,\n impactShareTitle: () => \"Compartir en redes sociales\",\n impactShareCopy: () => \"Copiar\",\n impactShareDownload: () => \"Descargar\",\n impactShareClose: () => \"Cerrar\",\n },\n it: {\n impactShareButton: () => \"Condividi, aiutaci a fare la differenza\", // TODO: Update translation copy SDK-2210\n impactShareText: ({ brandName = \"\" }) =>\n `Aiuta ${brandName} a raggiungere il suo obiettivo di donazione condividendo questa causa sui social media.`,\n impactShareTitle: () => \"Condividi, aiutaci a fare la differenza\",\n impactShareCopy: () => \"Copia\",\n impactShareDownload: () => \"Scarica\",\n impactShareClose: () => \"Chiudi\",\n },\n pl: {\n impactShareButton: () => `Udostępnij, by szerzyć naszą misję`, // TODO: Update translation copy SDK-2210\n impactShareText: ({ brandName = \"\" }) =>\n `Pomóż ${brandName} osiągnąć cel i podziel się tą inicjatywą na swoim profilu`,\n impactShareTitle: () => `Udostępnij na swoim profilu`,\n impactShareCopy: () => `Kopiuj`,\n impactShareDownload: () => `Pobierz`,\n impactShareClose: () => `Zamknij`,\n },\n ja: {\n impactShareButton: () => `活動の輪を広げよう`,\n impactShareText: ({ brandName = \"\" }) =>\n `${brandName}の寄付目標達成に向けて、SNSでこの活動を是非シェアしてください。`,\n impactShareTitle: () => `SNSでシェアする`,\n impactShareCopy: () => `コピー`,\n impactShareDownload: () => `ダウンロード`,\n impactShareClose: () => `閉じる`,\n },\n};\n"],"names":["BeamProgressBar","LitElement","html","css","__decorateClass","property","progressBarConfigDefaults","postSocialShareAnalyticsEvent","baseUrl","apiKey","requestBody","url","body","fetchJson","error","urlToFile","r","u","blob","strings","brandName"],"mappings":"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"}
1
+ {"version":3,"file":"share-button-C1PRjoPw.esm.js","sources":["../../src/shared/components/progress-bar.ts","../../src/api-sdk/v2/users/events.ts","../../src/shared/files.ts","../../src/shared/components/strings/share-button.ts"],"sourcesContent":["import { css, html, LitElement } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\n\nexport class BeamProgressBar extends LitElement {\n @property({ type: Number }) value = 0;\n @property({ type: Boolean }) animateProgress = true;\n\n render() {\n return html`<div class=\"progress-bar-container\">\n <style>\n :host {\n --beam-ProgressBar-value: ${this.value};\n }\n </style>\n <div class=\"progress-bar\"></div>\n </div>`;\n }\n\n static styles = css`\n :host {\n display: inline-block;\n min-width: 20px;\n }\n\n .progress-bar-container {\n border-radius: var(--beam-ProgressBar-border-radius, 8px);\n height: var(--beam-ProgressBar-height, 8px);\n padding: 0;\n width: 100%;\n background: var(--beam-ProgressBar-color-background, lightgray);\n position: relative;\n border: var(--beam-ProgressBar-border-width, 1px) solid var(--beam-ProgressBar-color-border, currentColor);\n overflow: hidden;\n }\n\n @keyframes animate-bar {\n 0% {\n width: 0;\n }\n\n 100% {\n width: calc(var(--beam-ProgressBar-value) * 1%);\n }\n }\n\n .progress-bar {\n width: calc(var(--beam-ProgressBar-value, 0) * 1%);\n height: 100%;\n position: absolute;\n background: var(--beam-ProgressBar-color-bar, linear-gradient(to right, currentColor, currentColor));\n left: 0;\n bottom: 0;\n top: 0;\n background-clip: padding-box;\n animation-duration: calc(\n var(--beam-ProgressBar-animation-duration-base, 0s) + var(--beam-ProgressBar-animation-duration-variable, 0s) *\n var(--beam-ProgressBar-value) / 100\n );\n animation-iteration-count: 1;\n animation-name: animate-bar;\n animation-timing-function: linear;\n border-radius: var(--beam-ProgressBar-progress-border-radius, 8px);\n }\n `;\n}\n\ncustomElements.get(\"beam-progress-bar\") || customElements.define(\"beam-progress-bar\", BeamProgressBar);\n\nexport const progressBarConfigDefaults = {\n \"--beam-ProgressBar-border-radius\": \"8px\",\n \"--beam-ProgressBar-progress-border-radius\": \"8px\",\n \"--beam-ProgressBar-height\": \"8px\",\n \"--beam-ProgressBar-color-background\": \"transparent\",\n \"--beam-ProgressBar-border-width\": \"1px\",\n \"--beam-ProgressBar-color-border\": \"currentColor\",\n \"--beam-ProgressBar-color-bar\": \"currentColor\",\n \"--beam-ProgressBar-animation-duration-base\": \"0s\",\n \"--beam-ProgressBar-animation-duration-variable\": \"0s\",\n} as const;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-progress-bar\": BeamProgressBar;\n }\n}\n","import { TUrl } from \"../../types\";\nimport { fetchJson } from \"../../fetch-json\";\n\nexport interface SocialShareAnalyticsEventPayload {\n eventName?: string | null;\n nonprofitId?: number | null;\n storeId?: number | null;\n transactionId?: number | null;\n timestamp?: number | null;\n}\n\nexport async function postSocialShareAnalyticsEvent({\n baseUrl,\n apiKey,\n requestBody,\n}: {\n baseUrl: TUrl;\n apiKey: string;\n requestBody: SocialShareAnalyticsEventPayload;\n}): Promise<void> {\n try {\n const url = baseUrl + \"/api/v4/events/socialShare\";\n const body = JSON.stringify(requestBody);\n await fetchJson(url, {\n method: \"POST\",\n body,\n headers: { authorization: `Api-Key ${apiKey}` },\n });\n } catch (error: any) {\n console.error(error);\n }\n}\n","export const urlToFile = async (url: string) => {\n return fetch(url).then(async (r) => {\n const u = new URL(url);\n const blob = await r.blob();\n return new File([blob], u.pathname, { type: blob.type });\n });\n};\n","export const strings = {\n en: {\n impactShareButton: () => `Share to Grow Your Impact`,\n impactShareText: ({ brandName = \"\" }) =>\n `Help ${brandName} reach their giving goal by sharing this cause on social media`,\n impactShareTitle: () => `Share on Social Media`,\n impactShareCopy: () => `Copy`,\n impactShareDownload: () => `Download`,\n impactShareClose: () => `Close`,\n },\n fr: {\n impactShareButton: () => `Partagez pour augmentez votre cause`,\n impactShareText: ({ brandName = \"\" }) =>\n `Aidez ${brandName} a atteindre leur objectif en partageant cette cause sur votre réseaux sociaux`,\n impactShareTitle: () => `Partager sur votre réseaux sociaux`,\n impactShareCopy: () => `Copier`,\n impactShareDownload: () => `Télécharger`,\n impactShareClose: () => `Fermer`,\n },\n de: {\n impactShareButton: () => `Teil, um unserem Beitrag zu erhöhen`, // TODO: Update translation copy SDK-2210\n impactShareText: ({ brandName = \"\" }) => `Hilf ${brandName} ihre Spendenziel zu erreichen`,\n impactShareTitle: () => `In den sozialen Medien teilen`,\n impactShareCopy: () => `Kopieren`,\n impactShareDownload: () => `Herunterladen`,\n impactShareClose: () => `Schließen`,\n },\n es: {\n impactShareButton: () => \"Comparte para aumentar nuestro impacto\", // TODO: Update translation copy SDK-2210\n impactShareText: ({ brandName = \"\" }) =>\n `Comparte en las redes sociales para ayudar a ${brandName} a alcanzar su objetivo.`,\n impactShareTitle: () => \"Compartir en redes sociales\",\n impactShareCopy: () => \"Copiar\",\n impactShareDownload: () => \"Descargar\",\n impactShareClose: () => \"Cerrar\",\n },\n it: {\n impactShareButton: () => \"Condividi, aiutaci a fare la differenza\", // TODO: Update translation copy SDK-2210\n impactShareText: ({ brandName = \"\" }) =>\n `Aiuta ${brandName} a raggiungere il suo obiettivo di donazione condividendo questa causa sui social media.`,\n impactShareTitle: () => \"Condividi, aiutaci a fare la differenza\",\n impactShareCopy: () => \"Copia\",\n impactShareDownload: () => \"Scarica\",\n impactShareClose: () => \"Chiudi\",\n },\n pl: {\n impactShareButton: () => `Udostępnij, by szerzyć naszą misję`, // TODO: Update translation copy SDK-2210\n impactShareText: ({ brandName = \"\" }) =>\n `Pomóż ${brandName} osiągnąć cel i podziel się tą inicjatywą na swoim profilu`,\n impactShareTitle: () => `Udostępnij na swoim profilu`,\n impactShareCopy: () => `Kopiuj`,\n impactShareDownload: () => `Pobierz`,\n impactShareClose: () => `Zamknij`,\n },\n ja: {\n impactShareButton: () => `活動の輪を広げよう`,\n impactShareText: ({ brandName = \"\" }) =>\n `${brandName}の寄付目標達成に向けて、SNSでこの活動を是非シェアしてください。`,\n impactShareTitle: () => `SNSでシェアする`,\n impactShareCopy: () => `コピー`,\n impactShareDownload: () => `ダウンロード`,\n impactShareClose: () => `閉じる`,\n },\n};\n"],"names":["BeamProgressBar","LitElement","html","css","__decorateClass","property","progressBarConfigDefaults","postSocialShareAnalyticsEvent","baseUrl","apiKey","requestBody","url","body","fetchJson","error","urlToFile","r","u","blob","strings","brandName"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{a as x}from"./index-CVHrQ1WC.esm.js";import{a as y,b as d,D as v,n as s}from"./lit-BEag9MFp.esm.js";import{p as m,u as p,s as r}from"./share-button-o8IBYAxH.esm.js";import{D as S}from"./utils-C5hmbxa4.esm.js";import"./vendor-DUOg5fL-.esm.js";const I=(l,{source:e="contentLength"}={})=>{const a=l instanceof NodeList?Array.from(l):l;if(a.length===0||!x(a))return;const i=(e==="contentLength"?a.sort((t,o)=>o.innerText.length-t.innerText.length)[0]:a.sort((t,o)=>o.clientHeight-t.clientHeight)[0])?.clientHeight||0;for(const t of a)t.clientHeight!==i&&(t.style.height=i+"px")};function w(){return/Android|iPhone/i.test(navigator.userAgent)}var C=Object.defineProperty,h=(l,e,a,i)=>{for(var t=void 0,o=l.length-1,c;o>=0;o--)(c=l[o])&&(t=c(e,a,t)||t);return t&&C(e,a,t),t};class n extends y{constructor(){super(...arguments),this.shareIcon=null,this.imageUrl=null,this.brandName=null,this.buttonText=null,this.configLang="en",this.baseUrl=S,this.nonprofitId=null,this.storeId=null,this.transactionId=null}connectedCallback(){super.connectedCallback()}async handleShareClick(){try{if(!this.imageUrl||!this.brandName||!this.configLang)return;await import("./_share-dialog-dependencies-BvaXft1r.esm.js");const{nonprofitId:e,storeId:a,transactionId:i,baseUrl:t,apiKey:o}=this;m({baseUrl:t,apiKey:o,requestBody:{eventName:"shareImageButtonClick",nonprofitId:e,storeId:a,timestamp:Date.now(),transactionId:i}}).catch(()=>null),w()?this.openSystemShareSheet(this.imageUrl):this.handleShareDialog(this.imageUrl,this.brandName)}catch(e){console.error("Error sharing impact:",e)}}async handleShareDialog(e,a){if(!e)return;const i=this.shadowRoot?.querySelector("sl-dialog");if(i){i.show();return}await import("./_share-dialog-dependencies-BvaXft1r.esm.js");const t=this.shadowRoot?.querySelector("#modal-root"),o=await p(e),c=URL.createObjectURL(o),b=()=>{this.shadowRoot?.querySelector("sl-dialog")?.hide()},g=async()=>{m({baseUrl:this.baseUrl,apiKey:this.apiKey,requestBody:{eventName:"copyImageButtonClick",nonprofitId:this.nonprofitId,storeId:this.storeId,timestamp:Date.now(),transactionId:this.transactionId}}).catch(()=>null),await navigator.clipboard.write([new ClipboardItem({"image/png":o})]),setTimeout(b,250)},u=()=>{m({baseUrl:this.baseUrl,apiKey:this.apiKey,requestBody:{eventName:"downloadImageButtonClick",nonprofitId:this.nonprofitId,storeId:this.storeId,timestamp:Date.now(),transactionId:this.transactionId}}).catch(()=>null),setTimeout(b,250)},f=d`
1
+ import{a as x}from"./index-M8hQ6GXf.esm.js";import{a as y,b as d,D as v,n as s}from"./lit-BEag9MFp.esm.js";import{p as m,u as p,s as r}from"./share-button-C1PRjoPw.esm.js";import{D as S}from"./utils-ly9wMwUO.esm.js";import"./vendor-DUOg5fL-.esm.js";const I=(l,{source:e="contentLength"}={})=>{const a=l instanceof NodeList?Array.from(l):l;if(a.length===0||!x(a))return;const i=(e==="contentLength"?a.sort((t,o)=>o.innerText.length-t.innerText.length)[0]:a.sort((t,o)=>o.clientHeight-t.clientHeight)[0])?.clientHeight||0;for(const t of a)t.clientHeight!==i&&(t.style.height=i+"px")};function w(){return/Android|iPhone/i.test(navigator.userAgent)}var C=Object.defineProperty,h=(l,e,a,i)=>{for(var t=void 0,o=l.length-1,c;o>=0;o--)(c=l[o])&&(t=c(e,a,t)||t);return t&&C(e,a,t),t};class n extends y{constructor(){super(...arguments),this.shareIcon=null,this.imageUrl=null,this.brandName=null,this.buttonText=null,this.configLang="en",this.baseUrl=S,this.nonprofitId=null,this.storeId=null,this.transactionId=null}connectedCallback(){super.connectedCallback()}async handleShareClick(){try{if(!this.imageUrl||!this.brandName||!this.configLang)return;await import("./_share-dialog-dependencies-Caoc1gRc.esm.js");const{nonprofitId:e,storeId:a,transactionId:i,baseUrl:t,apiKey:o}=this;m({baseUrl:t,apiKey:o,requestBody:{eventName:"shareImageButtonClick",nonprofitId:e,storeId:a,timestamp:Date.now(),transactionId:i}}).catch(()=>null),w()?this.openSystemShareSheet(this.imageUrl):this.handleShareDialog(this.imageUrl,this.brandName)}catch(e){console.error("Error sharing impact:",e)}}async handleShareDialog(e,a){if(!e)return;const i=this.shadowRoot?.querySelector("sl-dialog");if(i){i.show();return}await import("./_share-dialog-dependencies-Caoc1gRc.esm.js");const t=this.shadowRoot?.querySelector("#modal-root"),o=await p(e),c=URL.createObjectURL(o),b=()=>{this.shadowRoot?.querySelector("sl-dialog")?.hide()},g=async()=>{m({baseUrl:this.baseUrl,apiKey:this.apiKey,requestBody:{eventName:"copyImageButtonClick",nonprofitId:this.nonprofitId,storeId:this.storeId,timestamp:Date.now(),transactionId:this.transactionId}}).catch(()=>null),await navigator.clipboard.write([new ClipboardItem({"image/png":o})]),setTimeout(b,250)},u=()=>{m({baseUrl:this.baseUrl,apiKey:this.apiKey,requestBody:{eventName:"downloadImageButtonClick",nonprofitId:this.nonprofitId,storeId:this.storeId,timestamp:Date.now(),transactionId:this.transactionId}}).catch(()=>null),setTimeout(b,250)},f=d`
2
2
  <style>
3
3
  .plain-button {
4
4
  border: none;
@@ -169,4 +169,4 @@ import{a as x}from"./index-CVHrQ1WC.esm.js";import{a as y,b as d,D as v,n as s}f
169
169
  </button>
170
170
  <div id="modal-root"></div>
171
171
  `}}h([s({type:String})],n.prototype,"shareIcon"),h([s({type:String})],n.prototype,"imageUrl"),h([s({type:String})],n.prototype,"brandName"),h([s({type:String})],n.prototype,"buttonText"),h([s({type:String})],n.prototype,"configLang"),h([s({type:String})],n.prototype,"baseUrl"),h([s({type:String})],n.prototype,"nonprofitId"),h([s({type:String})],n.prototype,"storeId"),h([s({type:String})],n.prototype,"transactionId"),h([s({type:String})],n.prototype,"apiKey"),customElements.get("beam-share-button")||customElements.define("beam-share-button",n);const k={"--beam-share-button-fontFamily":"inherit","--beam-share-button-fontSize":"14px","--beam-share-button-fontWeight":"600","--beam-share-button-textTransform":"none","--beam-share-button-marginTop":"10px","--beam-share-button-marginBottom":"10px","--beam-share-button-padding":"8px 18px 8px 16px","--beam-share-button-lineHeight":"inherit","--beam-share-button-color":"#0A323C","--beam-share-button-backgroundColor":"#fff","--beam-share-button-borderRadius":"30px","--beam-share-button-borderColor":"#0A323C","--beam-share-button-borderWidth":"1px","--beam-share-button-width":"auto","--beam-share-button-hover-borderColor":"transparent","--beam-share-button-hover-backgroundColor":"#0A323C","--beam-share-button-hover-color":"#fff","--beam-share-button-icon-size":"16px","--beam-share-button-text-textDecoration":"none","--beam-share-dialog-padding":"30px 30px","--beam-share-title-fontSize":"30px","--beam-share-title-fontWeight":"bold","--beam-share-text-fontSize":"16px","--beam-share-text-lineHeight":"1.3","--beam-share-text-marginTop":"10px","--beam-share-image-borderRadius":"4px","--beam-share-image-width":"200px","--beam-share-image-margin":"20px","--beam-share-actions-margin":"30px 60px","--beam-share-action-icon-size":"32px","--beam-share-action-text-fontSize":"16px","--beam-share-action-text-lineHeight":"1.3","--beam-share-text-action-marginTop":"10px","--beam-share-close-backgroundColor":"#ffd522","--beam-share-close-text-color":"#000","--beam-share-close-padding":"12px","--beam-share-close-borderRadius":"4px","--beam-share-close-fontSize":"16px","--beam-share-close-fontWeight":"bold","--beam-share-close-focus-borderColor":"#c2dcff"};export{k as a,I as s};
172
- //# sourceMappingURL=share-button-DFuEWa2h.esm.js.map
172
+ //# sourceMappingURL=share-button-CNq5lDre.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"share-button-DFuEWa2h.esm.js","sources":["../../src/shared/sync-element-heights.ts","../../src/shared/feature-detection.ts","../../src/shared/components/share-button.ts"],"sourcesContent":["import { isAllHtmlElements } from \"./is-all-html-elements\";\n\n/**\n * Synchronize heights of elements\n * @param {Array<HTMLElement|null>} elements - Elements to synchronize\n * @param {'contentLength' | 'currentHeight'} [options.source='contentLength'] -\n * Method used to get the height value to sync across elements. `contentLength`\n * (innerText.length) is reliable for pure text content when responding to\n * window resizing. Otherwise, currentHeight can be used to sync the tallest\n * element's height to all the other elements. Note that this works poorly\n * unless content is allowed to reflow with explicit height attributes removed\n * between synchronization calls.\n */\nexport const syncElementHeights = (\n elements: Array<HTMLElement | null> | NodeList,\n {\n source = \"contentLength\",\n }: {\n source?: \"contentLength\" | \"currentHeight\";\n } = {},\n) => {\n const els = elements instanceof NodeList ? Array.from(elements) : elements;\n\n if (els.length === 0 || !isAllHtmlElements(els)) {\n return;\n }\n\n const heightSource =\n source === \"contentLength\"\n ? els.sort((a, b) => {\n return b.innerText.length - a.innerText.length;\n })[0]\n : els.sort((a, b) => {\n return b.clientHeight - a.clientHeight;\n })[0];\n\n const syncedHeight = heightSource?.clientHeight || 0;\n\n for (const el of els) {\n if (el.clientHeight !== syncedHeight) {\n el.style[\"height\"] = syncedHeight + \"px\";\n }\n }\n};\n","export function isMobile() {\n return /Android|iPhone/i.test(navigator.userAgent);\n}\n\nexport function hasSystemShare() {\n return !!navigator.share;\n}\n","import { LitElement, html, render } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { postSocialShareAnalyticsEvent } from \"../../api-sdk/v2/users/events\";\nimport { DEFAULT_BASE_URL } from \"../../api-sdk/constants\";\nimport \"@shoelace-style/shoelace/dist/components/icon/icon.js\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { urlToFile } from \"../files\";\nimport { isMobile } from \"../feature-detection\";\nimport { strings } from \"./strings/share-button\";\n\ninterface SlDialogElement extends HTMLElement {\n show: () => void;\n hide: () => void;\n}\n\nexport class BeamShareButton extends LitElement {\n @property({ type: String }) shareIcon: string | null = null;\n @property({ type: String }) imageUrl?: string | null = null;\n @property({ type: String }) brandName: string | null = null;\n @property({ type: String }) buttonText?: string | null = null;\n @property({ type: String }) configLang: LANGUAGES = \"en\";\n @property({ type: String }) baseUrl: string = DEFAULT_BASE_URL;\n @property({ type: String }) nonprofitId?: number | null = null;\n @property({ type: String }) storeId?: number | null = null;\n @property({ type: String }) transactionId?: number | null = null;\n @property({ type: String }) apiKey!: string;\n\n connectedCallback() {\n super.connectedCallback();\n }\n\n async handleShareClick() {\n try {\n if (!this.imageUrl || !this.brandName || !this.configLang) return;\n await import(\"./_share-dialog-dependencies.js\");\n\n const { nonprofitId, storeId, transactionId, baseUrl, apiKey } = this;\n void postSocialShareAnalyticsEvent({\n baseUrl,\n apiKey,\n requestBody: { eventName: \"shareImageButtonClick\", nonprofitId, storeId, timestamp: Date.now(), transactionId },\n }).catch(() => null);\n\n if (isMobile()) {\n this.openSystemShareSheet(this.imageUrl);\n } else {\n this.handleShareDialog(this.imageUrl, this.brandName);\n }\n } catch (err) {\n console.error(\"Error sharing impact:\", err);\n }\n }\n\n async handleShareDialog(imageUrl: string, brandName: string) {\n if (!imageUrl) return;\n\n const existingDialog = this.shadowRoot?.querySelector(\"sl-dialog\") as SlDialogElement;\n\n if (existingDialog) {\n existingDialog.show();\n return;\n }\n\n await import(\"./_share-dialog-dependencies.js\"); // Import libraries async to reduce bundle size if share feature is unused\n\n const modalRoot = this.shadowRoot?.querySelector(\"#modal-root\") as HTMLElement;\n\n const file = await urlToFile(imageUrl);\n\n const dataUrl = URL.createObjectURL(file);\n\n const handleClickClose = () => {\n (this.shadowRoot?.querySelector(\"sl-dialog\") as SlDialogElement)?.hide();\n };\n\n const handleClickCopy = async () => {\n void postSocialShareAnalyticsEvent({\n baseUrl: this.baseUrl,\n apiKey: this.apiKey,\n requestBody: {\n eventName: \"copyImageButtonClick\",\n nonprofitId: this.nonprofitId,\n storeId: this.storeId,\n timestamp: Date.now(),\n transactionId: this.transactionId,\n },\n }).catch(() => null);\n await navigator.clipboard.write([new ClipboardItem({ \"image/png\": file })]);\n setTimeout(handleClickClose, 250);\n };\n\n const handleClickDownload = () => {\n void postSocialShareAnalyticsEvent({\n baseUrl: this.baseUrl,\n apiKey: this.apiKey,\n requestBody: {\n eventName: \"downloadImageButtonClick\",\n nonprofitId: this.nonprofitId,\n storeId: this.storeId,\n timestamp: Date.now(),\n transactionId: this.transactionId,\n },\n }).catch(() => null);\n setTimeout(handleClickClose, 250);\n };\n\n const dialogTemplate = html`\n <style>\n .plain-button {\n border: none;\n background: none;\n font-size: inherit;\n font-family: inherit;\n }\n .share-dialog::part(panel) {\n padding: var(--beam-share-dialog-padding);\n text-align: center;\n }\n .share-title {\n font-size: var(--beam-share-title-fontSize);\n font-weight: var(--beam-share-title-fontWeight);\n }\n .share-text {\n font-size: var(--beam-share-text-fontSize);\n line-height: var(--beam-share-text-lineHeight);\n margin-top: var(--beam-share-text-marginTop);\n }\n .share-image {\n border-radius: var(--beam-share-image-borderRadius);\n width: var(--beam-share-image-width);\n display: block;\n margin: var(--beam-share-image-margin) auto;\n }\n .share-actions {\n margin: var(--beam-share-actions-margin);\n }\n .share-action-button {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n padding: 5px;\n }\n .share-action-icon {\n font-size: var(--beam-share-action-icon-size);\n }\n .share-action-button:hover .share-action-icon {\n scale: 1.1;\n }\n .share-action-text {\n font-size: var(--beam-share-action-text-fontSize);\n line-height: var(--beam-share-action-text-lineHeight);\n margin-top: var(--beam-share-text-action-marginTop);\n }\n .plain-button {\n border: none;\n background: none;\n font-size: inherit;\n font-family: inherit;\n }\n .plain-link {\n text-decoration: none;\n color: inherit;\n }\n .share-close {\n display: block;\n background-color: var(--beam-share-close-backgroundColor);\n color: var(--beam-share-close-text-color);\n justify-content: center;\n padding: var(--beam-share-close-padding);\n border-radius: var(--beam-share-close-borderRadius);\n width: 100%;\n font-size: var(--beam-share-close-fontSize);\n font-weight: var(--beam-share-close-fontWeight);\n }\n .share-close:hover {\n outline: 2px solid var(--beam-share-close-focus-borderColor);\n }\n </style>\n <sl-dialog open label=\"${strings[this.configLang].impactShareTitle()}\" no-header class=\"share-dialog\">\n <h2 class=\"share-title\">${strings[this.configLang].impactShareTitle()}</h2>\n <p class=\"share-text\">${strings[this.configLang].impactShareText({ brandName })}</p>\n <img\n data-speedsize-ignore=\"true\"\n src=\"${imageUrl}\"\n alt=\"${strings[this.configLang].impactShareTitle()}\"\n class=\"share-image\"\n />\n <div class=\"share-actions\" style=\"display: flex; justify-content: space-evenly\">\n <div style=\"flex: 1; text-align: center\">\n <button class=\"plain-button button share-action-button\" @click=\"${handleClickCopy}\">\n <sl-icon\n library=\"lucide\"\n name=\"copy\"\n label=\"${strings[this.configLang].impactShareCopy()}\"\n class=\"share-action-icon\"\n ></sl-icon>\n <div class=\"share-action-text\">${strings[this.configLang].impactShareCopy()}</div>\n </button>\n </div>\n <div style=\"flex: 1; text-align: center\">\n <a\n class=\"plain-button button share-action-button plain-link\"\n download=\"${strings[this.configLang].impactShareTitle()}\"\n href=\"${dataUrl}\"\n @click=\"${handleClickDownload}\"\n >\n <sl-icon\n library=\"lucide\"\n name=\"download\"\n label=\"${strings[this.configLang].impactShareDownload()}\"\n class=\"share-action-icon\"\n ></sl-icon>\n <div class=\"share-action-text\">${strings[this.configLang].impactShareDownload()}</div>\n </a>\n </div>\n </div>\n <button class=\"plain-button button share-close\" @click=\"${handleClickClose}\">\n ${strings[this.configLang].impactShareClose()}\n </button>\n </sl-dialog>\n `;\n if (modalRoot) {\n render(dialogTemplate, modalRoot);\n }\n }\n\n async openSystemShareSheet(imageUrl: string) {\n if (!imageUrl) return;\n\n const file = await urlToFile(imageUrl);\n\n if (navigator.share) {\n await navigator\n .share({\n files: [file],\n })\n .then(() => {\n const { nonprofitId, storeId, transactionId, baseUrl, apiKey } = this;\n void postSocialShareAnalyticsEvent({\n baseUrl,\n apiKey,\n requestBody: { eventName: \"shareSheetShare\", nonprofitId, storeId, timestamp: Date.now(), transactionId },\n }).catch(() => null);\n })\n .catch(() => null);\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n }\n render() {\n if (!this.imageUrl || !this.brandName || !this.configLang) return html``;\n return html`\n <style>\n .share-button {\n font-family: var(--beam-share-button-fontFamily);\n font-size: var(--beam-share-button-fontSize);\n font-weight: var(--beam-share-button-fontWeight);\n margin-top: var(--beam-share-button-marginTop);\n margin-bottom: var(--beam-share-button-marginBottom);\n text-transform: var(--beam-share-button-textTransform);\n line-height: var(--beam-share-button-lineHeight);\n background-color: var(--beam-share-button-backgroundColor);\n color: var(--beam-share-button-color, inherit);\n border-radius: var(--beam-share-button-borderRadius);\n border-color: var(--beam-share-button-borderColor);\n border-width: var(--beam-share-button-borderWidth);\n /* add extra padding on side without icon for optical alignment */\n padding: var(--beam-share-button-padding);\n width: var(--beam-share-button-width);\n transition: 0.15s;\n }\n .share-button:hover {\n background-color: var(--beam-share-button-hover-backgroundColor);\n color: var(--beam-share-button-hover-color);\n border-color: var(--beam-share-button-hover-borderColor);\n }\n .share-button-text {\n text-decoration: var(--beam-share-button-text-textDecoration);\n margin-left: 0.33em;\n }\n .share-button-icon {\n font-size: var(--beam-share-button-icon-size);\n }\n .button {\n cursor: pointer;\n }\n .icon-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n </style>\n <button\n @click=\"${this.handleShareClick}\"\n baseUrl=\"${this.baseUrl}\"\n class=\"share-button share-button-inline button icon-button\"\n >\n <sl-icon\n name=\"${this.shareIcon}\"\n library=\"lucide\"\n label=\"${strings[this.configLang].impactShareButton()}\"\n class=\"share-button-icon\"\n ></sl-icon>\n <span class=\"share-button-text\">${this.buttonText || strings[this.configLang].impactShareButton()}</span>\n </button>\n <div id=\"modal-root\"></div>\n `;\n }\n}\n\ncustomElements.get(\"beam-share-button\") || customElements.define(\"beam-share-button\", BeamShareButton);\n\nexport const shareButtonConfigDefaults = {\n \"--beam-share-button-fontFamily\": \"inherit\",\n \"--beam-share-button-fontSize\": \"14px\",\n \"--beam-share-button-fontWeight\": \"600\",\n \"--beam-share-button-textTransform\": \"none\",\n \"--beam-share-button-marginTop\": \"10px\",\n \"--beam-share-button-marginBottom\": \"10px\",\n \"--beam-share-button-padding\": \"8px 18px 8px 16px\",\n \"--beam-share-button-lineHeight\": \"inherit\",\n \"--beam-share-button-color\": \"#0A323C\",\n \"--beam-share-button-backgroundColor\": \"#fff\",\n \"--beam-share-button-borderRadius\": \"30px\",\n \"--beam-share-button-borderColor\": \"#0A323C\",\n \"--beam-share-button-borderWidth\": \"1px\",\n\n \"--beam-share-button-width\": \"auto\",\n\n \"--beam-share-button-hover-borderColor\": \"transparent\",\n \"--beam-share-button-hover-backgroundColor\": \"#0A323C\",\n \"--beam-share-button-hover-color\": \"#fff\",\n\n \"--beam-share-button-icon-size\": \"16px\",\n\n \"--beam-share-button-text-textDecoration\": \"none\",\n\n \"--beam-share-dialog-padding\": \"30px 30px\",\n\n \"--beam-share-title-fontSize\": \"30px\",\n \"--beam-share-title-fontWeight\": \"bold\",\n\n \"--beam-share-text-fontSize\": \"16px\",\n \"--beam-share-text-lineHeight\": \"1.3\",\n \"--beam-share-text-marginTop\": \"10px\",\n\n \"--beam-share-image-borderRadius\": \"4px\",\n \"--beam-share-image-width\": \"200px\",\n \"--beam-share-image-margin\": \"20px\",\n\n \"--beam-share-actions-margin\": \"30px 60px\",\n \"--beam-share-action-icon-size\": \"32px\",\n\n \"--beam-share-action-text-fontSize\": \"16px\",\n \"--beam-share-action-text-lineHeight\": \"1.3\",\n \"--beam-share-text-action-marginTop\": \"10px\",\n\n \"--beam-share-close-backgroundColor\": \"#ffd522\",\n \"--beam-share-close-text-color\": \"#000\",\n \"--beam-share-close-padding\": \"12px\",\n \"--beam-share-close-borderRadius\": \"4px\",\n \"--beam-share-close-fontSize\": \"16px\",\n \"--beam-share-close-fontWeight\": \"bold\",\n\n \"--beam-share-close-focus-borderColor\": \"#c2dcff\",\n} as const;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-share-button\": BeamShareButton;\n }\n}\n"],"names":["syncElementHeights","elements","source","els","isAllHtmlElements","syncedHeight","a","b","el","isMobile","v","o","l","e","n","r","i","BeamShareButton","LitElement","DEFAULT_BASE_URL","nonprofitId","storeId","transactionId","baseUrl","apiKey","postSocialShareAnalyticsEvent","err","imageUrl","brandName","existingDialog","modalRoot","file","urlToFile","dataUrl","handleClickClose","handleClickCopy","handleClickDownload","dialogTemplate","html","strings","render","__decorateClass","property","shareButtonConfigDefaults"],"mappings":"yPAaO,MAAMA,EAAqB,CAChCC,EACA,CACE,OAAAC,EAAS,eACX,EAEI,CAAA,IACD,CACH,MAAMC,EAAMF,aAAoB,SAAW,MAAM,KAAKA,CAAQ,EAAIA,EAElE,GAAIE,EAAI,SAAW,GAAK,CAACC,EAAkBD,CAAG,EAC5C,OAYF,MAAME,GARJH,IAAW,gBACPC,EAAI,KAAK,CAACG,EAAGC,IACJA,EAAE,UAAU,OAASD,EAAE,UAAU,MACzC,EAAE,CAAC,EACJH,EAAI,KAAK,CAACG,EAAGC,IACJA,EAAE,aAAeD,EAAE,YAC3B,EAAE,CAAC,IAEyB,cAAgB,EAEnD,UAAWE,KAAML,EACXK,EAAG,eAAiBH,IACtBG,EAAG,MAAM,OAAYH,EAAe,KAG1C,EC3CO,SAASI,GAAW,CACzB,MAAO,kBAAkB,KAAK,UAAU,SAAS,CACnD,CCFA,IAAAC,EAAA,OAAA,eAAAC,EAAA,CAAAJ,EAAAK,EAAAC,EAAAC,IAAA,CAAA,QAAA,EAAA,OAAAC,EAAAR,EAAA,OAAA,EAAAS,EAAAD,GAAA,EAAAA,KAAAC,EAAAT,EAAAQ,CAAA,KAAA,EAAAC,EAAAJ,EAAAC,EAAA,CAAA,GAAA,GAAA,OAAA,GAAAH,EAAAE,EAAAC,EAAA,CAAA,EAAA,CAAA,EAeO,MAAMI,UAAwBC,CAAW,CAAzC,aAAA,CAAA,MAAA,GAAA,SAAA,EACuB,KAAA,UAA2B,KAC3B,KAAA,SAA2B,KAC3B,KAAA,UAA2B,KAC3B,KAAA,WAA6B,KAC7B,gBAAwB,KACxB,KAAA,QAAkBC,EAClB,KAAA,YAA8B,KAC9B,KAAA,QAA0B,KAC1B,KAAA,cAAgC,IAAA,CAG5D,mBAAoB,CAClB,MAAM,kBAAA,CACR,CAEA,MAAM,kBAAmB,CACvB,GAAI,CACF,GAAI,CAAC,KAAK,UAAY,CAAC,KAAK,WAAa,CAAC,KAAK,WAAY,OAC3D,aAAa,8CAAiC,EAE9C,KAAM,CAAE,YAAAC,EAAa,QAAAC,EAAS,cAAAC,EAAe,QAAAC,EAAS,OAAAC,CAAO,EAAI,KAC5DC,EAA8B,CACjC,QAAAF,EACA,OAAAC,EACA,YAAa,CAAE,UAAW,wBAAyB,YAAAJ,EAAa,QAAAC,EAAS,UAAW,KAAK,IAAA,EAAO,cAAAC,CAAc,CAChH,CAAC,EAAE,MAAM,IAAM,IAAI,EAEfb,EAAAA,EACF,KAAK,qBAAqB,KAAK,QAAQ,EAEvC,KAAK,kBAAkB,KAAK,SAAU,KAAK,SAAS,CAExD,OAASiB,EAAK,CACZ,QAAQ,MAAM,wBAAyBA,CAAG,CAC5C,CACF,CAEA,MAAM,kBAAkBC,EAAkBC,EAAmB,CAC3D,GAAI,CAACD,EAAU,OAEf,MAAME,EAAiB,KAAK,YAAY,cAAc,WAAW,EAEjE,GAAIA,EAAgB,CAClBA,EAAe,KAAA,EACf,MACF,CAEA,aAAa,8CAAiC,EAE9C,MAAMC,EAAY,KAAK,YAAY,cAAc,aAAa,EAExDC,EAAO,MAAMC,EAAUL,CAAQ,EAE/BM,EAAU,IAAI,gBAAgBF,CAAI,EAElCG,EAAmB,IAAM,CAC5B,KAAK,YAAY,cAAc,WAAW,GAAuB,KAAA,CACpE,EAEMC,EAAkB,SAAY,CAC7BV,EAA8B,CACjC,QAAS,KAAK,QACd,OAAQ,KAAK,OACb,YAAa,CACX,UAAW,uBACX,YAAa,KAAK,YAClB,QAAS,KAAK,QACd,UAAW,KAAK,IAAA,EAChB,cAAe,KAAK,aACtB,CACF,CAAC,EAAE,MAAM,IAAM,IAAI,EACnB,MAAM,UAAU,UAAU,MAAM,CAAC,IAAI,cAAc,CAAE,YAAaM,CAAK,CAAC,CAAC,CAAC,EAC1E,WAAWG,EAAkB,GAAG,CAClC,EAEME,EAAsB,IAAM,CAC3BX,EAA8B,CACjC,QAAS,KAAK,QACd,OAAQ,KAAK,OACb,YAAa,CACX,UAAW,2BACX,YAAa,KAAK,YAClB,QAAS,KAAK,QACd,UAAW,KAAK,IAAA,EAChB,cAAe,KAAK,aACtB,CACF,CAAC,EAAE,MAAM,IAAM,IAAI,EACnB,WAAWS,EAAkB,GAAG,CAClC,EAEMG,EAAiBC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,+BAyEIC,EAAQ,KAAK,UAAU,EAAE,kBAAkB;AAAA,kCACxCA,EAAQ,KAAK,UAAU,EAAE,kBAAkB;AAAA,gCAC7CA,EAAQ,KAAK,UAAU,EAAE,gBAAgB,CAAE,UAAAX,CAAU,CAAC,CAAC;AAAA;AAAA;AAAA,iBAGtED,CAAQ;AAAA,iBACRY,EAAQ,KAAK,UAAU,EAAE,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA,8EAKkBJ,CAAe;AAAA;AAAA;AAAA;AAAA,yBAIpEI,EAAQ,KAAK,UAAU,EAAE,iBAAiB;AAAA;AAAA;AAAA,+CAGpBA,EAAQ,KAAK,UAAU,EAAE,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAM/DA,EAAQ,KAAK,UAAU,EAAE,kBAAkB;AAAA,sBAC/CN,CAAO;AAAA,wBACLG,CAAmB;AAAA;AAAA;AAAA;AAAA;AAAA,yBAKlBG,EAAQ,KAAK,UAAU,EAAE,qBAAqB;AAAA;AAAA;AAAA,+CAGxBA,EAAQ,KAAK,UAAU,EAAE,qBAAqB;AAAA;AAAA;AAAA;AAAA,kEAI3BL,CAAgB;AAAA,YACtEK,EAAQ,KAAK,UAAU,EAAE,kBAAkB;AAAA;AAAA;AAAA,MAI/CT,GACFU,EAAOH,EAAgBP,CAAS,CAEpC,CAEA,MAAM,qBAAqBH,EAAkB,CAC3C,GAAI,CAACA,EAAU,OAEf,MAAMI,EAAO,MAAMC,EAAUL,CAAQ,EAEjC,UAAU,OACZ,MAAM,UACH,MAAM,CACL,MAAO,CAACI,CAAI,CACd,CAAC,EACA,KAAK,IAAM,CACV,KAAM,CAAE,YAAAX,EAAa,QAAAC,EAAS,cAAAC,EAAe,QAAAC,EAAS,OAAAC,CAAO,EAAI,KAC5DC,EAA8B,CACjC,QAAAF,EACA,OAAAC,EACA,YAAa,CAAE,UAAW,kBAAmB,YAAAJ,EAAa,QAAAC,EAAS,UAAW,KAAK,MAAO,cAAAC,CAAc,CAC1G,CAAC,EAAE,MAAM,IAAM,IAAI,CACrB,CAAC,EACA,MAAM,IAAM,IAAI,CAEvB,CAEA,sBAAuB,CACrB,MAAM,sBACR,CACA,QAAS,CACP,MAAI,CAAC,KAAK,UAAY,CAAC,KAAK,WAAa,CAAC,KAAK,WAAmBgB,IAC3DA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,kBA0CO,KAAK,gBAAgB;AAAA,mBACpB,KAAK,OAAO;AAAA;AAAA;AAAA;AAAA,kBAIb,KAAK,SAAS;AAAA;AAAA,mBAEbC,EAAQ,KAAK,UAAU,EAAE,mBAAmB;AAAA;AAAA;AAAA,0CAGrB,KAAK,YAAcA,EAAQ,KAAK,UAAU,EAAE,mBAAmB;AAAA;AAAA;AAAA,KAIvG,CACF,CAvS8BE,EAAA,CAA3BC,EAAS,CAAE,KAAM,MAAO,CAAC,CAAA,EADfzB,EACiB,UAAA,WAAA,EACAwB,EAAA,CAA3BC,EAAS,CAAE,KAAM,MAAO,CAAC,GAFfzB,EAEiB,UAAA,UAAA,EACAwB,EAAA,CAA3BC,EAAS,CAAE,KAAM,MAAO,CAAC,CAAA,EAHfzB,EAGiB,uBACAwB,EAAA,CAA3BC,EAAS,CAAE,KAAM,MAAO,CAAC,CAAA,EAJfzB,EAIiB,UAAA,YAAA,EACAwB,EAAA,CAA3BC,EAAS,CAAE,KAAM,MAAO,CAAC,CAAA,EALfzB,EAKiB,UAAA,YAAA,EACAwB,EAAA,CAA3BC,EAAS,CAAE,KAAM,MAAO,CAAC,GANfzB,EAMiB,UAAA,SAAA,EACAwB,EAAA,CAA3BC,EAAS,CAAE,KAAM,MAAO,CAAC,CAAA,EAPfzB,EAOiB,yBACAwB,EAAA,CAA3BC,EAAS,CAAE,KAAM,MAAO,CAAC,CAAA,EARfzB,EAQiB,UAAA,SAAA,EACAwB,EAAA,CAA3BC,EAAS,CAAE,KAAM,MAAO,CAAC,GATfzB,EASiB,UAAA,eAAA,EACAwB,EAAA,CAA3BC,EAAS,CAAE,KAAM,MAAO,CAAC,GAVfzB,EAUiB,UAAA,QAAA,EAgS9B,eAAe,IAAI,mBAAmB,GAAK,eAAe,OAAO,oBAAqBA,CAAe,QAExF0B,EAA4B,CACvC,iCAAkC,UAClC,+BAAgC,OAChC,iCAAkC,MAClC,oCAAqC,OACrC,gCAAiC,OACjC,mCAAoC,OACpC,8BAA+B,oBAC/B,iCAAkC,UAClC,4BAA6B,UAC7B,sCAAuC,OACvC,mCAAoC,OACpC,kCAAmC,UACnC,kCAAmC,MAEnC,4BAA6B,OAE7B,wCAAyC,cACzC,4CAA6C,UAC7C,kCAAmC,OAEnC,gCAAiC,OAEjC,0CAA2C,OAE3C,8BAA+B,YAE/B,8BAA+B,OAC/B,gCAAiC,OAEjC,6BAA8B,OAC9B,+BAAgC,MAChC,8BAA+B,OAE/B,kCAAmC,MACnC,2BAA4B,QAC5B,4BAA6B,OAE7B,8BAA+B,YAC/B,gCAAiC,OAEjC,oCAAqC,OACrC,sCAAuC,MACvC,qCAAsC,OAEtC,qCAAsC,UACtC,gCAAiC,OACjC,6BAA8B,OAC9B,kCAAmC,MACnC,8BAA+B,OAC/B,gCAAiC,OAEjC,uCAAwC,SAC1C"}
1
+ {"version":3,"file":"share-button-CNq5lDre.esm.js","sources":["../../src/shared/sync-element-heights.ts","../../src/shared/feature-detection.ts","../../src/shared/components/share-button.ts"],"sourcesContent":["import { isAllHtmlElements } from \"./is-all-html-elements\";\n\n/**\n * Synchronize heights of elements\n * @param {Array<HTMLElement|null>} elements - Elements to synchronize\n * @param {'contentLength' | 'currentHeight'} [options.source='contentLength'] -\n * Method used to get the height value to sync across elements. `contentLength`\n * (innerText.length) is reliable for pure text content when responding to\n * window resizing. Otherwise, currentHeight can be used to sync the tallest\n * element's height to all the other elements. Note that this works poorly\n * unless content is allowed to reflow with explicit height attributes removed\n * between synchronization calls.\n */\nexport const syncElementHeights = (\n elements: Array<HTMLElement | null> | NodeList,\n {\n source = \"contentLength\",\n }: {\n source?: \"contentLength\" | \"currentHeight\";\n } = {},\n) => {\n const els = elements instanceof NodeList ? Array.from(elements) : elements;\n\n if (els.length === 0 || !isAllHtmlElements(els)) {\n return;\n }\n\n const heightSource =\n source === \"contentLength\"\n ? els.sort((a, b) => {\n return b.innerText.length - a.innerText.length;\n })[0]\n : els.sort((a, b) => {\n return b.clientHeight - a.clientHeight;\n })[0];\n\n const syncedHeight = heightSource?.clientHeight || 0;\n\n for (const el of els) {\n if (el.clientHeight !== syncedHeight) {\n el.style[\"height\"] = syncedHeight + \"px\";\n }\n }\n};\n","export function isMobile() {\n return /Android|iPhone/i.test(navigator.userAgent);\n}\n\nexport function hasSystemShare() {\n return !!navigator.share;\n}\n","import { LitElement, html, render } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { postSocialShareAnalyticsEvent } from \"../../api-sdk/v2/users/events\";\nimport { DEFAULT_BASE_URL } from \"../../api-sdk/constants\";\nimport \"@shoelace-style/shoelace/dist/components/icon/icon.js\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { urlToFile } from \"../files\";\nimport { isMobile } from \"../feature-detection\";\nimport { strings } from \"./strings/share-button\";\n\ninterface SlDialogElement extends HTMLElement {\n show: () => void;\n hide: () => void;\n}\n\nexport class BeamShareButton extends LitElement {\n @property({ type: String }) shareIcon: string | null = null;\n @property({ type: String }) imageUrl?: string | null = null;\n @property({ type: String }) brandName: string | null = null;\n @property({ type: String }) buttonText?: string | null = null;\n @property({ type: String }) configLang: LANGUAGES = \"en\";\n @property({ type: String }) baseUrl: string = DEFAULT_BASE_URL;\n @property({ type: String }) nonprofitId?: number | null = null;\n @property({ type: String }) storeId?: number | null = null;\n @property({ type: String }) transactionId?: number | null = null;\n @property({ type: String }) apiKey!: string;\n\n connectedCallback() {\n super.connectedCallback();\n }\n\n async handleShareClick() {\n try {\n if (!this.imageUrl || !this.brandName || !this.configLang) return;\n await import(\"./_share-dialog-dependencies.js\");\n\n const { nonprofitId, storeId, transactionId, baseUrl, apiKey } = this;\n void postSocialShareAnalyticsEvent({\n baseUrl,\n apiKey,\n requestBody: { eventName: \"shareImageButtonClick\", nonprofitId, storeId, timestamp: Date.now(), transactionId },\n }).catch(() => null);\n\n if (isMobile()) {\n this.openSystemShareSheet(this.imageUrl);\n } else {\n this.handleShareDialog(this.imageUrl, this.brandName);\n }\n } catch (err) {\n console.error(\"Error sharing impact:\", err);\n }\n }\n\n async handleShareDialog(imageUrl: string, brandName: string) {\n if (!imageUrl) return;\n\n const existingDialog = this.shadowRoot?.querySelector(\"sl-dialog\") as SlDialogElement;\n\n if (existingDialog) {\n existingDialog.show();\n return;\n }\n\n await import(\"./_share-dialog-dependencies.js\"); // Import libraries async to reduce bundle size if share feature is unused\n\n const modalRoot = this.shadowRoot?.querySelector(\"#modal-root\") as HTMLElement;\n\n const file = await urlToFile(imageUrl);\n\n const dataUrl = URL.createObjectURL(file);\n\n const handleClickClose = () => {\n (this.shadowRoot?.querySelector(\"sl-dialog\") as SlDialogElement)?.hide();\n };\n\n const handleClickCopy = async () => {\n void postSocialShareAnalyticsEvent({\n baseUrl: this.baseUrl,\n apiKey: this.apiKey,\n requestBody: {\n eventName: \"copyImageButtonClick\",\n nonprofitId: this.nonprofitId,\n storeId: this.storeId,\n timestamp: Date.now(),\n transactionId: this.transactionId,\n },\n }).catch(() => null);\n await navigator.clipboard.write([new ClipboardItem({ \"image/png\": file })]);\n setTimeout(handleClickClose, 250);\n };\n\n const handleClickDownload = () => {\n void postSocialShareAnalyticsEvent({\n baseUrl: this.baseUrl,\n apiKey: this.apiKey,\n requestBody: {\n eventName: \"downloadImageButtonClick\",\n nonprofitId: this.nonprofitId,\n storeId: this.storeId,\n timestamp: Date.now(),\n transactionId: this.transactionId,\n },\n }).catch(() => null);\n setTimeout(handleClickClose, 250);\n };\n\n const dialogTemplate = html`\n <style>\n .plain-button {\n border: none;\n background: none;\n font-size: inherit;\n font-family: inherit;\n }\n .share-dialog::part(panel) {\n padding: var(--beam-share-dialog-padding);\n text-align: center;\n }\n .share-title {\n font-size: var(--beam-share-title-fontSize);\n font-weight: var(--beam-share-title-fontWeight);\n }\n .share-text {\n font-size: var(--beam-share-text-fontSize);\n line-height: var(--beam-share-text-lineHeight);\n margin-top: var(--beam-share-text-marginTop);\n }\n .share-image {\n border-radius: var(--beam-share-image-borderRadius);\n width: var(--beam-share-image-width);\n display: block;\n margin: var(--beam-share-image-margin) auto;\n }\n .share-actions {\n margin: var(--beam-share-actions-margin);\n }\n .share-action-button {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n padding: 5px;\n }\n .share-action-icon {\n font-size: var(--beam-share-action-icon-size);\n }\n .share-action-button:hover .share-action-icon {\n scale: 1.1;\n }\n .share-action-text {\n font-size: var(--beam-share-action-text-fontSize);\n line-height: var(--beam-share-action-text-lineHeight);\n margin-top: var(--beam-share-text-action-marginTop);\n }\n .plain-button {\n border: none;\n background: none;\n font-size: inherit;\n font-family: inherit;\n }\n .plain-link {\n text-decoration: none;\n color: inherit;\n }\n .share-close {\n display: block;\n background-color: var(--beam-share-close-backgroundColor);\n color: var(--beam-share-close-text-color);\n justify-content: center;\n padding: var(--beam-share-close-padding);\n border-radius: var(--beam-share-close-borderRadius);\n width: 100%;\n font-size: var(--beam-share-close-fontSize);\n font-weight: var(--beam-share-close-fontWeight);\n }\n .share-close:hover {\n outline: 2px solid var(--beam-share-close-focus-borderColor);\n }\n </style>\n <sl-dialog open label=\"${strings[this.configLang].impactShareTitle()}\" no-header class=\"share-dialog\">\n <h2 class=\"share-title\">${strings[this.configLang].impactShareTitle()}</h2>\n <p class=\"share-text\">${strings[this.configLang].impactShareText({ brandName })}</p>\n <img\n data-speedsize-ignore=\"true\"\n src=\"${imageUrl}\"\n alt=\"${strings[this.configLang].impactShareTitle()}\"\n class=\"share-image\"\n />\n <div class=\"share-actions\" style=\"display: flex; justify-content: space-evenly\">\n <div style=\"flex: 1; text-align: center\">\n <button class=\"plain-button button share-action-button\" @click=\"${handleClickCopy}\">\n <sl-icon\n library=\"lucide\"\n name=\"copy\"\n label=\"${strings[this.configLang].impactShareCopy()}\"\n class=\"share-action-icon\"\n ></sl-icon>\n <div class=\"share-action-text\">${strings[this.configLang].impactShareCopy()}</div>\n </button>\n </div>\n <div style=\"flex: 1; text-align: center\">\n <a\n class=\"plain-button button share-action-button plain-link\"\n download=\"${strings[this.configLang].impactShareTitle()}\"\n href=\"${dataUrl}\"\n @click=\"${handleClickDownload}\"\n >\n <sl-icon\n library=\"lucide\"\n name=\"download\"\n label=\"${strings[this.configLang].impactShareDownload()}\"\n class=\"share-action-icon\"\n ></sl-icon>\n <div class=\"share-action-text\">${strings[this.configLang].impactShareDownload()}</div>\n </a>\n </div>\n </div>\n <button class=\"plain-button button share-close\" @click=\"${handleClickClose}\">\n ${strings[this.configLang].impactShareClose()}\n </button>\n </sl-dialog>\n `;\n if (modalRoot) {\n render(dialogTemplate, modalRoot);\n }\n }\n\n async openSystemShareSheet(imageUrl: string) {\n if (!imageUrl) return;\n\n const file = await urlToFile(imageUrl);\n\n if (navigator.share) {\n await navigator\n .share({\n files: [file],\n })\n .then(() => {\n const { nonprofitId, storeId, transactionId, baseUrl, apiKey } = this;\n void postSocialShareAnalyticsEvent({\n baseUrl,\n apiKey,\n requestBody: { eventName: \"shareSheetShare\", nonprofitId, storeId, timestamp: Date.now(), transactionId },\n }).catch(() => null);\n })\n .catch(() => null);\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n }\n render() {\n if (!this.imageUrl || !this.brandName || !this.configLang) return html``;\n return html`\n <style>\n .share-button {\n font-family: var(--beam-share-button-fontFamily);\n font-size: var(--beam-share-button-fontSize);\n font-weight: var(--beam-share-button-fontWeight);\n margin-top: var(--beam-share-button-marginTop);\n margin-bottom: var(--beam-share-button-marginBottom);\n text-transform: var(--beam-share-button-textTransform);\n line-height: var(--beam-share-button-lineHeight);\n background-color: var(--beam-share-button-backgroundColor);\n color: var(--beam-share-button-color, inherit);\n border-radius: var(--beam-share-button-borderRadius);\n border-color: var(--beam-share-button-borderColor);\n border-width: var(--beam-share-button-borderWidth);\n /* add extra padding on side without icon for optical alignment */\n padding: var(--beam-share-button-padding);\n width: var(--beam-share-button-width);\n transition: 0.15s;\n }\n .share-button:hover {\n background-color: var(--beam-share-button-hover-backgroundColor);\n color: var(--beam-share-button-hover-color);\n border-color: var(--beam-share-button-hover-borderColor);\n }\n .share-button-text {\n text-decoration: var(--beam-share-button-text-textDecoration);\n margin-left: 0.33em;\n }\n .share-button-icon {\n font-size: var(--beam-share-button-icon-size);\n }\n .button {\n cursor: pointer;\n }\n .icon-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n </style>\n <button\n @click=\"${this.handleShareClick}\"\n baseUrl=\"${this.baseUrl}\"\n class=\"share-button share-button-inline button icon-button\"\n >\n <sl-icon\n name=\"${this.shareIcon}\"\n library=\"lucide\"\n label=\"${strings[this.configLang].impactShareButton()}\"\n class=\"share-button-icon\"\n ></sl-icon>\n <span class=\"share-button-text\">${this.buttonText || strings[this.configLang].impactShareButton()}</span>\n </button>\n <div id=\"modal-root\"></div>\n `;\n }\n}\n\ncustomElements.get(\"beam-share-button\") || customElements.define(\"beam-share-button\", BeamShareButton);\n\nexport const shareButtonConfigDefaults = {\n \"--beam-share-button-fontFamily\": \"inherit\",\n \"--beam-share-button-fontSize\": \"14px\",\n \"--beam-share-button-fontWeight\": \"600\",\n \"--beam-share-button-textTransform\": \"none\",\n \"--beam-share-button-marginTop\": \"10px\",\n \"--beam-share-button-marginBottom\": \"10px\",\n \"--beam-share-button-padding\": \"8px 18px 8px 16px\",\n \"--beam-share-button-lineHeight\": \"inherit\",\n \"--beam-share-button-color\": \"#0A323C\",\n \"--beam-share-button-backgroundColor\": \"#fff\",\n \"--beam-share-button-borderRadius\": \"30px\",\n \"--beam-share-button-borderColor\": \"#0A323C\",\n \"--beam-share-button-borderWidth\": \"1px\",\n\n \"--beam-share-button-width\": \"auto\",\n\n \"--beam-share-button-hover-borderColor\": \"transparent\",\n \"--beam-share-button-hover-backgroundColor\": \"#0A323C\",\n \"--beam-share-button-hover-color\": \"#fff\",\n\n \"--beam-share-button-icon-size\": \"16px\",\n\n \"--beam-share-button-text-textDecoration\": \"none\",\n\n \"--beam-share-dialog-padding\": \"30px 30px\",\n\n \"--beam-share-title-fontSize\": \"30px\",\n \"--beam-share-title-fontWeight\": \"bold\",\n\n \"--beam-share-text-fontSize\": \"16px\",\n \"--beam-share-text-lineHeight\": \"1.3\",\n \"--beam-share-text-marginTop\": \"10px\",\n\n \"--beam-share-image-borderRadius\": \"4px\",\n \"--beam-share-image-width\": \"200px\",\n \"--beam-share-image-margin\": \"20px\",\n\n \"--beam-share-actions-margin\": \"30px 60px\",\n \"--beam-share-action-icon-size\": \"32px\",\n\n \"--beam-share-action-text-fontSize\": \"16px\",\n \"--beam-share-action-text-lineHeight\": \"1.3\",\n \"--beam-share-text-action-marginTop\": \"10px\",\n\n \"--beam-share-close-backgroundColor\": \"#ffd522\",\n \"--beam-share-close-text-color\": \"#000\",\n \"--beam-share-close-padding\": \"12px\",\n \"--beam-share-close-borderRadius\": \"4px\",\n \"--beam-share-close-fontSize\": \"16px\",\n \"--beam-share-close-fontWeight\": \"bold\",\n\n \"--beam-share-close-focus-borderColor\": \"#c2dcff\",\n} as const;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-share-button\": BeamShareButton;\n }\n}\n"],"names":["syncElementHeights","elements","source","els","isAllHtmlElements","syncedHeight","a","b","el","isMobile","v","o","l","e","n","r","i","BeamShareButton","LitElement","DEFAULT_BASE_URL","nonprofitId","storeId","transactionId","baseUrl","apiKey","postSocialShareAnalyticsEvent","err","imageUrl","brandName","existingDialog","modalRoot","file","urlToFile","dataUrl","handleClickClose","handleClickCopy","handleClickDownload","dialogTemplate","html","strings","render","__decorateClass","property","shareButtonConfigDefaults"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{c as ft}from"./handlebars-3tRO54kz.esm.js";var Y={},Z={},Ke={},Be={},vt;function P(){return vt||(vt=1,(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.Log=r.LogLevel=void 0;const g=" DEBUG ",y=" INFO ",h=" WARN ",v=" ERROR ";function d(c){return c.unshift("[Statsig]"),c}r.LogLevel={None:0,Error:1,Warn:2,Info:3,Debug:4};class u{static info(...l){u.level>=r.LogLevel.Info&&console.info(y,...d(l))}static debug(...l){u.level>=r.LogLevel.Debug&&console.debug(g,...d(l))}static warn(...l){u.level>=r.LogLevel.Warn&&console.warn(h,...d(l))}static error(...l){u.level>=r.LogLevel.Error&&console.error(v,...d(l))}}r.Log=u,u.level=r.LogLevel.Warn})(Be)),Be}var ht;function H(){return ht||(ht=1,(function(r){var g,y,h;Object.defineProperty(r,"__esModule",{value:!0}),r._getInstance=r._getStatsigGlobalFlag=r._getStatsigGlobal=void 0;const v=P(),d=()=>{try{return typeof __STATSIG__<"u"?__STATSIG__:n}catch{return n}};r._getStatsigGlobal=d;const u=s=>(0,r._getStatsigGlobal)()[s];r._getStatsigGlobalFlag=u;const c=s=>{const i=(0,r._getStatsigGlobal)();return s?i.instances&&i.instances[s]:(i.instances&&Object.keys(i.instances).length>1&&v.Log.warn("Call made to Statsig global instance without an SDK key but there is more than one client instance. If you are using mulitple clients, please specify the SDK key."),i.firstInstance)};r._getInstance=c;const l="__STATSIG__",a=typeof window<"u"?window:{},o=typeof ft<"u"?ft:{},e=typeof globalThis<"u"?globalThis:{},n=(h=(y=(g=a[l])!==null&&g!==void 0?g:o[l])!==null&&y!==void 0?y:e[l])!==null&&h!==void 0?h:{instance:r._getInstance};a[l]=n,o[l]=n,e[l]=n})(Ke)),Ke}var xe={},yt;function $e(){return yt||(yt=1,(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.Diagnostics=void 0;const g=new Map,y="start",h="end",v="statsig::diagnostics";r.Diagnostics={_getMarkers:a=>g.get(a),_markInitOverallStart:a=>{c(a,d({},y,"overall"))},_markInitOverallEnd:(a,o,e)=>{c(a,d({success:o,error:o?void 0:{name:"InitializeError",message:"Failed to initialize"},evaluationDetails:e},h,"overall"))},_markInitNetworkReqStart:(a,o)=>{c(a,d(o,y,"initialize","network_request"))},_markInitNetworkReqEnd:(a,o)=>{c(a,d(o,h,"initialize","network_request"))},_markInitProcessStart:a=>{c(a,d({},y,"initialize","process"))},_markInitProcessEnd:(a,o)=>{c(a,d(o,h,"initialize","process"))},_clearMarkers:a=>{g.delete(a)},_formatError(a){if(a&&typeof a=="object")return{code:l(a,"code"),name:l(a,"name"),message:l(a,"message")}},_getDiagnosticsData(a,o,e,n){var s;return{success:a?.ok===!0,statusCode:a?.status,sdkRegion:(s=a?.headers)===null||s===void 0?void 0:s.get("x-statsig-region"),isDelta:e.includes('"is_delta":true')===!0?!0:void 0,attempt:o,error:r.Diagnostics._formatError(n)}},_enqueueDiagnosticsEvent(a,o,e,n){const s=r.Diagnostics._getMarkers(e);if(s==null||s.length<=0)return-1;const i=s[s.length-1].timestamp-s[0].timestamp;r.Diagnostics._clearMarkers(e);const t=u(a,{context:"initialize",markers:s.slice(),statsigOptions:n});return o.enqueue(t),i}};function d(a,o,e,n){return Object.assign({key:e,action:o,step:n,timestamp:Date.now()},a)}function u(a,o){return{eventName:v,user:a,value:null,metadata:o,time:Date.now()}}function c(a,o){var e;const n=(e=g.get(a))!==null&&e!==void 0?e:[];n.push(o),g.set(a,n)}function l(a,o){if(o in a)return a[o]}})(xe)),xe}var ee={},te={},Ge={},ne={},mt;function ze(){if(mt)return ne;mt=1,Object.defineProperty(ne,"__esModule",{value:!0}),ne._isTypeMatch=ne._typeOf=void 0;function r(y){return Array.isArray(y)?"array":typeof y}ne._typeOf=r;function g(y,h){const v=d=>Array.isArray(d)?"array":typeof d;return v(y)===v(h)}return ne._isTypeMatch=g,ne}var St;function ve(){return St||(St=1,(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r._getSortedObject=r._DJB2Object=r._DJB2=void 0;const g=ze(),y=d=>{let u=0;for(let c=0;c<d.length;c++){const l=d.charCodeAt(c);u=(u<<5)-u+l,u=u&u}return String(u>>>0)};r._DJB2=y;const h=(d,u)=>(0,r._DJB2)(JSON.stringify((0,r._getSortedObject)(d,u)));r._DJB2Object=h;const v=(d,u)=>{if(d==null)return null;const c=Object.keys(d).sort(),l={};return c.forEach(a=>{const o=d[a];if(u===0||(0,g._typeOf)(o)!=="object"){l[a]=o;return}l[a]=(0,r._getSortedObject)(o,u!=null?u-1:u)}),l};r._getSortedObject=v})(Ge)),Ge}var pt;function Le(){if(pt)return te;pt=1,Object.defineProperty(te,"__esModule",{value:!0}),te._getStorageKey=te._getUserStorageKey=void 0;const r=ve();function g(h,v,d){var u;if(d)return d(h,v);const c=v&&v.customIDs?v.customIDs:{},l=[`uid:${(u=v?.userID)!==null&&u!==void 0?u:""}`,`cids:${Object.keys(c).sort((a,o)=>a.localeCompare(o)).map(a=>`${a}-${c[a]}`).join(",")}`,`k:${h}`];return(0,r._DJB2)(l.join("|"))}te._getUserStorageKey=g;function y(h,v,d){return v?g(h,v,d):(0,r._DJB2)(`k:${h}`)}return te._getStorageKey=y,te}var Ve={},bt;function Ae(){return bt||(bt=1,(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.NetworkParam=r.NetworkDefault=r.Endpoint=void 0,r.Endpoint={_initialize:"initialize",_rgstr:"rgstr",_download_config_specs:"download_config_specs"},r.NetworkDefault={[r.Endpoint._rgstr]:"https://prodregistryv2.org/v1",[r.Endpoint._initialize]:"https://featureassets.org/v1",[r.Endpoint._download_config_specs]:"https://api.statsigcdn.com/v1"},r.NetworkParam={EventCount:"ec",SdkKey:"k",SdkType:"st",SdkVersion:"sv",Time:"t",SessionID:"sid",StatsigEncoded:"se",IsGzipped:"gz"}})(Ve)),Ve}var Je={},Et;function re(){return Et||(Et=1,(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r._getUnloadEvent=r._getCurrentPageUrlSafe=r._addDocumentEventListenerSafe=r._addWindowEventListenerSafe=r._isServerEnv=r._getDocumentSafe=r._getWindowSafe=void 0;const g=()=>typeof window<"u"?window:null;r._getWindowSafe=g;const y=()=>{var l;const a=(0,r._getWindowSafe)();return(l=a?.document)!==null&&l!==void 0?l:null};r._getDocumentSafe=y;const h=()=>{if((0,r._getDocumentSafe)()!==null)return!1;const l=typeof process<"u"&&process.versions!=null&&process.versions.node!=null;return typeof EdgeRuntime=="string"||l};r._isServerEnv=h;const v=(l,a)=>{const o=(0,r._getWindowSafe)();typeof o?.addEventListener=="function"&&o.addEventListener(l,a)};r._addWindowEventListenerSafe=v;const d=(l,a)=>{const o=(0,r._getDocumentSafe)();typeof o?.addEventListener=="function"&&o.addEventListener(l,a)};r._addDocumentEventListenerSafe=d;const u=()=>{var l;try{return(l=(0,r._getWindowSafe)())===null||l===void 0?void 0:l.location.href.split(/[?#]/)[0]}catch{return}};r._getCurrentPageUrlSafe=u;const c=()=>{const l=(0,r._getWindowSafe)();return l&&"onpagehide"in l?"pagehide":"beforeunload"};r._getUnloadEvent=c})(Je)),Je}var q={},Dt;function wt(){if(Dt)return q;Dt=1,Object.defineProperty(q,"__esModule",{value:!0}),q._createLayerParameterExposure=q._createConfigExposure=q._mapExposures=q._createGateExposure=q._isExposureEvent=void 0;const r="statsig::config_exposure",g="statsig::gate_exposure",y="statsig::layer_exposure",h=(o,e,n,s,i)=>(n.bootstrapMetadata&&(s.bootstrapMetadata=n.bootstrapMetadata),{eventName:o,user:e,value:null,metadata:a(n,s),secondaryExposures:i,time:Date.now()}),v=({eventName:o})=>o===g||o===r||o===y;q._isExposureEvent=v;const d=(o,e,n)=>{var s,i,t;const _={gate:e.name,gateValue:String(e.value),ruleID:e.ruleID};return((s=e.__evaluation)===null||s===void 0?void 0:s.version)!=null&&(_.configVersion=e.__evaluation.version),h(g,o,e.details,_,u((t=(i=e.__evaluation)===null||i===void 0?void 0:i.secondary_exposures)!==null&&t!==void 0?t:[],n))};q._createGateExposure=d;function u(o,e){return o.map(n=>typeof n=="string"?(e??{})[n]:n).filter(n=>n!=null)}q._mapExposures=u;const c=(o,e,n)=>{var s,i,t,_;const m={config:e.name,ruleID:e.ruleID};return((s=e.__evaluation)===null||s===void 0?void 0:s.version)!=null&&(m.configVersion=e.__evaluation.version),((i=e.__evaluation)===null||i===void 0?void 0:i.passed)!=null&&(m.rulePassed=String(e.__evaluation.passed)),h(r,o,e.details,m,u((_=(t=e.__evaluation)===null||t===void 0?void 0:t.secondary_exposures)!==null&&_!==void 0?_:[],n))};q._createConfigExposure=c;const l=(o,e,n,s)=>{var i,t,_,m,f,E;const D=e.__evaluation,S=((i=D?.explicit_parameters)===null||i===void 0?void 0:i.includes(n))===!0;let p="",w=(t=D?.undelegated_secondary_exposures)!==null&&t!==void 0?t:[];S&&(p=(_=D.allocated_experiment_name)!==null&&_!==void 0?_:"",w=D.secondary_exposures);const k=(m=e.__evaluation)===null||m===void 0?void 0:m.parameter_rule_ids,C={config:e.name,parameterName:n,ruleID:(f=k?.[n])!==null&&f!==void 0?f:e.ruleID,allocatedExperiment:p,isExplicitParameter:String(S)};return((E=e.__evaluation)===null||E===void 0?void 0:E.version)!=null&&(C.configVersion=e.__evaluation.version),h(y,o,e.details,C,u(w,s))};q._createLayerParameterExposure=l;const a=(o,e)=>(e.reason=o.reason,o.lcut&&(e.lcut=String(o.lcut)),o.receivedAt&&(e.receivedAt=String(o.receivedAt)),e);return q}var ie={},kt;function Pe(){return kt||(kt=1,Object.defineProperty(ie,"__esModule",{value:!0}),ie.LoggingEnabledOption=ie.LogEventCompressionMode=void 0,ie.LogEventCompressionMode={Disabled:"d",Enabled:"e",Forced:"f"},ie.LoggingEnabledOption={disabled:"disabled",browserOnly:"browser-only",always:"always"}),ie}var We={},Ot;function X(){return Ot||(Ot=1,(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r._setObjectInStorage=r._getObjectFromStorage=r.Storage=void 0;const g=P(),y=re(),h={},v={isReady:()=>!0,isReadyResolver:()=>null,getProviderName:()=>"InMemory",getItem:e=>h[e]?h[e]:null,setItem:(e,n)=>{h[e]=n},removeItem:e=>{delete h[e]},getAllKeys:()=>Object.keys(h)};let d=null;try{const e=(0,y._getWindowSafe)();e&&e.localStorage&&typeof e.localStorage.getItem=="function"&&(d={isReady:()=>!0,isReadyResolver:()=>null,getProviderName:()=>"LocalStorage",getItem:n=>e.localStorage.getItem(n),setItem:(n,s)=>e.localStorage.setItem(n,s),removeItem:n=>e.localStorage.removeItem(n),getAllKeys:()=>Object.keys(e.localStorage)})}catch{g.Log.warn("Failed to setup localStorageProvider.")}let u=d??v,c=u;function l(e){try{return e()}catch(n){if(n instanceof Error&&n.name==="SecurityError")return r.Storage._setProvider(v),null;if(n instanceof Error&&n.name==="QuotaExceededError"){const i=r.Storage.getAllKeys().filter(t=>t.startsWith("statsig."));n.message=`${n.message}. Statsig Keys: ${i.length}`}throw n}}r.Storage={isReady:()=>c.isReady(),isReadyResolver:()=>c.isReadyResolver(),getProviderName:()=>c.getProviderName(),getItem:e=>l(()=>c.getItem(e)),setItem:(e,n)=>l(()=>c.setItem(e,n)),removeItem:e=>c.removeItem(e),getAllKeys:()=>c.getAllKeys(),_setProvider:e=>{u=e,c=e},_setDisabled:e=>{e?c=v:c=u}};function a(e){const n=r.Storage.getItem(e);return JSON.parse(n??"null")}r._getObjectFromStorage=a;function o(e,n){r.Storage.setItem(e,JSON.stringify(n))}r._setObjectInStorage=o})(We)),We}var be={},It;function Ct(){if(It)return be;It=1,Object.defineProperty(be,"__esModule",{value:!0}),be.UrlConfiguration=void 0;const r=ve(),g=Ae(),y={[g.Endpoint._initialize]:"i",[g.Endpoint._rgstr]:"e",[g.Endpoint._download_config_specs]:"d"};let h=class{constructor(d,u,c,l){this.customUrl=null,this.fallbackUrls=null,this.endpoint=d,this.endpointDnsKey=y[d],u&&(this.customUrl=u),!u&&c&&(this.customUrl=c.endsWith("/")?`${c}${d}`:`${c}/${d}`),l&&(this.fallbackUrls=l);const a=g.NetworkDefault[d];this.defaultUrl=`${a}/${d}`}getUrl(){var d;return(d=this.customUrl)!==null&&d!==void 0?d:this.defaultUrl}getChecksum(){var d;const u=((d=this.fallbackUrls)!==null&&d!==void 0?d:[]).sort().join(",");return(0,r._DJB2)(this.customUrl+u)}};return be.UrlConfiguration=h,be}var He={},Rt;function Xe(){return Rt||(Rt=1,(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r._notifyVisibilityChanged=r._subscribeToVisiblityChanged=r._isUnloading=r._isCurrentlyVisible=void 0;const g=re(),y="foreground",h="background",v=[];let d=y,u=!1;const c=()=>d===y;r._isCurrentlyVisible=c;const l=()=>u;r._isUnloading=l;const a=e=>{v.unshift(e)};r._subscribeToVisiblityChanged=a;const o=e=>{e!==d&&(d=e,v.forEach(n=>n(e)))};r._notifyVisibilityChanged=o,(0,g._addWindowEventListenerSafe)("focus",()=>{u=!1,(0,r._notifyVisibilityChanged)(y)}),(0,g._addWindowEventListenerSafe)("blur",()=>(0,r._notifyVisibilityChanged)(h)),(0,g._addDocumentEventListenerSafe)("visibilitychange",()=>{(0,r._notifyVisibilityChanged)(document.visibilityState==="visible"?y:h)}),(0,g._addWindowEventListenerSafe)((0,g._getUnloadEvent)(),()=>{u=!0,(0,r._notifyVisibilityChanged)(h)})})(He)),He}var Ut;function Mt(){if(Ut)return ee;Ut=1;var r=ee&&ee.__awaiter||function(D,S,p,w){function k(C){return C instanceof p?C:new p(function(L){L(C)})}return new(p||(p=Promise))(function(C,L){function T(B){try{W(w.next(B))}catch(I){L(I)}}function J(B){try{W(w.throw(B))}catch(I){L(I)}}function W(B){B.done?C(B.value):k(B.value).then(T,J)}W((w=w.apply(D,S||[])).next())})};Object.defineProperty(ee,"__esModule",{value:!0}),ee.EventLogger=void 0;const g=Le(),y=ve(),h=P(),v=Ae(),d=re(),u=wt(),c=Pe(),l=X(),a=Ct(),o=Xe(),e=100,n=1e4,s=1e3,i=6e5,t=500,_=200,m={},f={Startup:"startup",GainedFocus:"gained_focus"};let E=class me{static _safeFlushAndForget(S){var p;(p=m[S])===null||p===void 0||p.flush().catch(()=>{})}static _safeRetryFailedLogs(S){var p;(p=m[S])===null||p===void 0||p._retryFailedLogs(f.GainedFocus)}constructor(S,p,w,k){var C,L;this._sdkKey=S,this._emitter=p,this._network=w,this._options=k,this._queue=[],this._lastExposureTimeMap={},this._nonExposedChecks={},this._hasRunQuickFlush=!1,this._creationTime=Date.now(),this._loggingEnabled=(C=k?.loggingEnabled)!==null&&C!==void 0?C:k?.disableLogging===!0?c.LoggingEnabledOption.disabled:c.LoggingEnabledOption.browserOnly,k?.loggingEnabled&&k.disableLogging!==void 0&&h.Log.warn("Detected both loggingEnabled and disableLogging options. loggingEnabled takes precedence - please remove disableLogging."),this._maxQueueSize=(L=k?.loggingBufferMaxSize)!==null&&L!==void 0?L:e;const T=k?.networkConfig;this._logEventUrlConfig=new a.UrlConfiguration(v.Endpoint._rgstr,T?.logEventUrl,T?.api,T?.logEventFallbackUrls)}setLogEventCompressionMode(S){this._network.setLogEventCompressionMode(S)}setLoggingEnabled(S){this._loggingEnabled=S}enqueue(S){this._shouldLogEvent(S)&&(this._normalizeAndAppendEvent(S),this._quickFlushIfNeeded(),this._queue.length>this._maxQueueSize&&me._safeFlushAndForget(this._sdkKey))}incrementNonExposureCount(S){var p;const w=(p=this._nonExposedChecks[S])!==null&&p!==void 0?p:0;this._nonExposedChecks[S]=w+1}reset(){this._lastExposureTimeMap={}}start(){var S;const p=(0,d._isServerEnv)();p&&((S=this._options)===null||S===void 0?void 0:S.loggingEnabled)!=="always"||(m[this._sdkKey]=this,p||(0,o._subscribeToVisiblityChanged)(w=>{w==="background"?me._safeFlushAndForget(this._sdkKey):w==="foreground"&&me._safeRetryFailedLogs(this._sdkKey)}),this._retryFailedLogs(f.Startup),this._startBackgroundFlushInterval())}stop(){return r(this,void 0,void 0,function*(){this._flushIntervalId&&(clearInterval(this._flushIntervalId),this._flushIntervalId=null),delete m[this._sdkKey],yield this.flush()})}flush(){return r(this,void 0,void 0,function*(){if(this._appendAndResetNonExposedChecks(),this._queue.length===0)return;const S=this._queue;this._queue=[],yield this._sendEvents(S)})}_quickFlushIfNeeded(){this._hasRunQuickFlush||(this._hasRunQuickFlush=!0,!(Date.now()-this._creationTime>_)&&setTimeout(()=>me._safeFlushAndForget(this._sdkKey),_))}_shouldLogEvent(S){var p;if(((p=this._options)===null||p===void 0?void 0:p.loggingEnabled)!=="always"&&(0,d._isServerEnv)())return!1;if(!(0,u._isExposureEvent)(S))return!0;const w=S.user?S.user:{statsigEnvironment:void 0},k=(0,g._getUserStorageKey)(this._sdkKey,w),C=S.metadata?S.metadata:{},L=[S.eventName,k,C.gate,C.config,C.ruleID,C.allocatedExperiment,C.parameterName,String(C.isExplicitParameter),C.reason].join("|"),T=this._lastExposureTimeMap[L],J=Date.now();return T&&J-T<i?!1:(Object.keys(this._lastExposureTimeMap).length>s&&(this._lastExposureTimeMap={}),this._lastExposureTimeMap[L]=J,!0)}_sendEvents(S){var p,w;return r(this,void 0,void 0,function*(){if(this._loggingEnabled==="disabled")return this._saveFailedLogsToStorage(S),!1;try{const C=(0,o._isUnloading)()&&this._network.isBeaconSupported()&&((w=(p=this._options)===null||p===void 0?void 0:p.networkConfig)===null||w===void 0?void 0:w.networkOverrideFunc)==null;return this._emitter({name:"pre_logs_flushed",events:S}),(C?this._sendEventsViaBeacon(S):yield this._sendEventsViaPost(S)).success?(this._emitter({name:"logs_flushed",events:S}),!0):(h.Log.warn("Failed to flush events."),this._saveFailedLogsToStorage(S),!1)}catch{return h.Log.warn("Failed to flush events."),!1}})}_sendEventsViaPost(S){var p;return r(this,void 0,void 0,function*(){const w=yield this._network.post(this._getRequestData(S)),k=(p=w?.code)!==null&&p!==void 0?p:-1;return{success:k>=200&&k<300}})}_sendEventsViaBeacon(S){return{success:this._network.beacon(this._getRequestData(S))}}_getRequestData(S){return{sdkKey:this._sdkKey,data:{events:S},urlConfig:this._logEventUrlConfig,retries:3,isCompressable:!0,params:{[v.NetworkParam.EventCount]:String(S.length)},credentials:"same-origin"}}_saveFailedLogsToStorage(S){for(;S.length>t;)S.shift();const p=this._getStorageKey();try{(0,l._setObjectInStorage)(p,S)}catch{h.Log.warn("Unable to save failed logs to storage")}}_retryFailedLogs(S){const p=this._getStorageKey();r(this,void 0,void 0,function*(){l.Storage.isReady()||(yield l.Storage.isReadyResolver());const w=(0,l._getObjectFromStorage)(p);if(!w)return;S===f.Startup&&l.Storage.removeItem(p),(yield this._sendEvents(w))&&S===f.GainedFocus&&l.Storage.removeItem(p)}).catch(()=>{h.Log.warn("Failed to flush stored logs")})}_getStorageKey(){return`statsig.failed_logs.${(0,y._DJB2)(this._sdkKey)}`}_normalizeAndAppendEvent(S){S.user&&(S.user=Object.assign({},S.user),delete S.user.privateAttributes);const p={},w=this._getCurrentPageUrl();w&&(p.statsigMetadata={currentPage:w});const k=Object.assign(Object.assign({},S),p);h.Log.debug("Enqueued Event:",k),this._queue.push(k)}_appendAndResetNonExposedChecks(){Object.keys(this._nonExposedChecks).length!==0&&(this._normalizeAndAppendEvent({eventName:"statsig::non_exposed_checks",user:null,time:Date.now(),metadata:{checks:Object.assign({},this._nonExposedChecks)}}),this._nonExposedChecks={})}_getCurrentPageUrl(){var S;if(((S=this._options)===null||S===void 0?void 0:S.includeCurrentPageUrlWithEvents)!==!1)return(0,d._getCurrentPageUrlSafe)()}_startBackgroundFlushInterval(){var S,p;const w=(p=(S=this._options)===null||S===void 0?void 0:S.loggingIntervalMs)!==null&&p!==void 0?p:n,k=setInterval(()=>{const C=m[this._sdkKey];!C||C._flushIntervalId!==k?clearInterval(k):me._safeFlushAndForget(this._sdkKey)},w);this._flushIntervalId=k}};return ee.EventLogger=E,ee}var Qe={},Tt;function je(){return Tt||(Tt=1,(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.StatsigMetadataProvider=r.SDK_VERSION=void 0,r.SDK_VERSION="3.17.2";let g={sdkVersion:r.SDK_VERSION,sdkType:"js-mono"};r.StatsigMetadataProvider={get:()=>g,add:y=>{g=Object.assign(Object.assign({},g),y)}}})(Qe)),Qe}var Ye={},Lt;function Dn(){return Lt||(Lt=1,Object.defineProperty(Ye,"__esModule",{value:!0})),Ye}var z={},Ee={},De={},At;function Ze(){if(At)return De;At=1,Object.defineProperty(De,"__esModule",{value:!0}),De.getUUID=void 0;function r(){if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return crypto.randomUUID();let g=new Date().getTime(),y=typeof performance<"u"&&performance.now&&performance.now()*1e3||0;return`xxxxxxxx-xxxx-4xxx-${"89ab"[Math.floor(Math.random()*4)]}xxx-xxxxxxxxxxxx`.replace(/[xy]/g,v=>{let d=Math.random()*16;return g>0?(d=(g+d)%16|0,g=Math.floor(g/16)):(d=(y+d)%16|0,y=Math.floor(y/16)),(v==="x"?d:d&7|8).toString(16)})}return De.getUUID=r,De}var Pt;function Ne(){if(Pt)return Ee;Pt=1,Object.defineProperty(Ee,"__esModule",{value:!0}),Ee.StableID=void 0;const r=Le(),g=P(),y=re(),h=X(),v=Ze(),d={},u={},c={};Ee.StableID={cookiesEnabled:!1,randomID:Math.random().toString(36),get:i=>{if(c[i])return null;if(d[i]!=null)return d[i];let t=null;return t=e(i),t!=null?(d[i]=t,a(t,i),t):(t=o(i),t==null&&(t=(0,v.getUUID)()),a(t,i),n(t,i),d[i]=t,t)},setOverride:(i,t)=>{d[t]=i,a(i,t),n(i,t)},_setCookiesEnabled:(i,t)=>{u[i]=t},_setDisabled:(i,t)=>{c[i]=t}};function l(i){return`statsig.stable_id.${(0,r._getStorageKey)(i)}`}function a(i,t){const _=l(t);try{(0,h._setObjectInStorage)(_,i)}catch{g.Log.warn("Failed to save StableID to storage")}}function o(i){const t=l(i);return(0,h._getObjectFromStorage)(t)}function e(i){if(!u[i]||(0,y._getDocumentSafe)()==null)return null;const t=document.cookie.split(";");for(const _ of t){const[m,f]=_.trim().split("=");if(m===s(i))return decodeURIComponent(f)}return null}function n(i,t){if(!u[t]||!document)return;const _=new Date;_.setFullYear(_.getFullYear()+1),document.cookie=`${s(t)}=${encodeURIComponent(i)}; expires=${_.toUTCString()}; path=/`}function s(i){return`statsig.stable_id.${(0,r._getStorageKey)(i)}`}return Ee}var oe={},jt;function Nt(){if(jt)return oe;jt=1,Object.defineProperty(oe,"__esModule",{value:!0}),oe._getFullUserHash=oe._normalizeUser=void 0;const r=ve(),g=P();function y(v,d,u){try{const c=JSON.parse(JSON.stringify(v));return d!=null&&d.environment!=null?c.statsigEnvironment=d.environment:u!=null&&(c.statsigEnvironment={tier:u}),c}catch{return g.Log.error("Failed to JSON.stringify user"),{statsigEnvironment:void 0}}}oe._normalizeUser=y;function h(v){return v?(0,r._DJB2Object)(v):null}return oe._getFullUserHash=h,oe}var we={},Ft;function qt(){if(Ft)return we;Ft=1,Object.defineProperty(we,"__esModule",{value:!0}),we._typedJsonParse=void 0;const r=P();function g(y,h,v){try{const d=JSON.parse(y);if(d&&typeof d=="object"&&h in d)return d}catch{}return r.Log.error(`Failed to parse ${v}`),null}return we._typedJsonParse=g,we}var Kt;function wn(){if(Kt)return z;Kt=1;var r=z&&z.__awaiter||function(e,n,s,i){function t(_){return _ instanceof s?_:new s(function(m){m(_)})}return new(s||(s=Promise))(function(_,m){function f(S){try{D(i.next(S))}catch(p){m(p)}}function E(S){try{D(i.throw(S))}catch(p){m(p)}}function D(S){S.done?_(S.value):t(S.value).then(f,E)}D((i=i.apply(e,n||[])).next())})};Object.defineProperty(z,"__esModule",{value:!0}),z._makeDataAdapterResult=z.DataAdapterCore=void 0;const g=P(),y=Ne(),h=Nt(),v=X(),d=qt(),u=10;let c=class{constructor(n,s){this._adapterName=n,this._cacheSuffix=s,this._options=null,this._sdkKey=null,this._lastModifiedStoreKey=`statsig.last_modified_time.${s}`,this._inMemoryCache=new a}attach(n,s,i){this._sdkKey=n,this._options=s}getDataSync(n){const s=n&&(0,h._normalizeUser)(n,this._options),i=this._getCacheKey(s),t=this._inMemoryCache.get(i,s);if(t)return t;const _=this._loadFromCache(i);return _?(this._inMemoryCache.add(i,_),this._inMemoryCache.get(i,s)):null}setData(n,s){const i=s&&(0,h._normalizeUser)(s,this._options),t=this._getCacheKey(i);this._inMemoryCache.add(t,l("Bootstrap",n,null,i))}_getDataAsyncImpl(n,s,i){return r(this,void 0,void 0,function*(){v.Storage.isReady()||(yield v.Storage.isReadyResolver());const t=n??this.getDataSync(s),_=[this._fetchAndPrepFromNetwork(t,s,i)];return i?.timeoutMs&&_.push(new Promise(m=>setTimeout(m,i.timeoutMs)).then(()=>(g.Log.debug("Fetching latest value timed out"),null))),yield Promise.race(_)})}_prefetchDataImpl(n,s){return r(this,void 0,void 0,function*(){const i=n&&(0,h._normalizeUser)(n,this._options),t=this._getCacheKey(i),_=yield this._getDataAsyncImpl(null,i,s);_&&this._inMemoryCache.add(t,Object.assign(Object.assign({},_),{source:"Prefetch"}))})}_fetchAndPrepFromNetwork(n,s,i){var t;return r(this,void 0,void 0,function*(){const _=(t=n?.data)!==null&&t!==void 0?t:null,m=n!=null&&this._isCachedResultValidFor204(n,s),f=yield this._fetchFromNetwork(_,s,i,m);if(!f)return g.Log.debug("No response returned for latest value"),null;const E=(0,d._typedJsonParse)(f,"has_updates","Response"),D=this._getSdkKey(),S=y.StableID.get(D);let p=null;if(E?.has_updates===!0)p=l("Network",f,S,s);else if(_&&E?.has_updates===!1)p=l("NetworkNotModified",_,S,s);else return null;const w=this._getCacheKey(s);return this._inMemoryCache.add(w,p),this._writeToCache(w,p),p})}_getSdkKey(){return this._sdkKey!=null?this._sdkKey:(g.Log.error(`${this._adapterName} is not attached to a Client`),"")}_loadFromCache(n){var s;const i=(s=v.Storage.getItem)===null||s===void 0?void 0:s.call(v.Storage,n);if(i==null)return null;const t=(0,d._typedJsonParse)(i,"source","Cached Result");return t?Object.assign(Object.assign({},t),{source:"Cache"}):null}_writeToCache(n,s){v.Storage.setItem(n,JSON.stringify(s)),this._runLocalStorageCacheEviction(n)}_runLocalStorageCacheEviction(n){var s;const i=(s=(0,v._getObjectFromStorage)(this._lastModifiedStoreKey))!==null&&s!==void 0?s:{};i[n]=Date.now();const t=o(i,u);t&&(delete i[t],v.Storage.removeItem(t)),(0,v._setObjectInStorage)(this._lastModifiedStoreKey,i)}};z.DataAdapterCore=c;function l(e,n,s,i){return{source:e,data:n,receivedAt:Date.now(),stableID:s,fullUserHash:(0,h._getFullUserHash)(i)}}z._makeDataAdapterResult=l;class a{constructor(){this._data={}}get(n,s){var i;const t=this._data[n],_=t?.stableID,m=(i=s?.customIDs)===null||i===void 0?void 0:i.stableID;return m&&_&&m!==_?(g.Log.warn("'StatsigUser.customIDs.stableID' mismatch"),null):t}add(n,s){const i=o(this._data,u-1);i&&delete this._data[i],this._data[n]=s}merge(n){this._data=Object.assign(Object.assign({},this._data),n)}}function o(e,n){const s=Object.keys(e);return s.length<=n?null:s.reduce((i,t)=>{const _=e[i],m=e[t];return typeof _=="object"&&typeof m=="object"?m.receivedAt<_.receivedAt?t:i:m<_?t:i})}return z}var et={},Bt;function kn(){return Bt||(Bt=1,Object.defineProperty(et,"__esModule",{value:!0})),et}var ke={},Oe={},xt;function tt(){if(xt)return Oe;xt=1,Object.defineProperty(Oe,"__esModule",{value:!0}),Oe.SDKType=void 0;const r={};let g;return Oe.SDKType={_get:y=>{var h;return((h=r[y])!==null&&h!==void 0?h:"js-mono")+(g??"")},_setClientType(y,h){r[y]=h},_setBindingType(y){(!g||g==="-react")&&(g="-"+y)}},Oe}var $t;function Gt(){return $t||($t=1,(function(r){var g=ke&&ke.__awaiter||function(e,n,s,i){function t(_){return _ instanceof s?_:new s(function(m){m(_)})}return new(s||(s=Promise))(function(_,m){function f(S){try{D(i.next(S))}catch(p){m(p)}}function E(S){try{D(i.throw(S))}catch(p){m(p)}}function D(S){S.done?_(S.value):t(S.value).then(f,E)}D((i=i.apply(e,n||[])).next())})};Object.defineProperty(r,"__esModule",{value:!0}),r.ErrorBoundary=r.EXCEPTION_ENDPOINT=void 0;const y=P(),h=tt(),v=je();r.EXCEPTION_ENDPOINT="https://statsigapi.net/v1/sdk_exception";const d="[Statsig] UnknownError";let u=class{constructor(n,s,i,t){this._sdkKey=n,this._options=s,this._emitter=i,this._lastSeenError=t,this._seen=new Set}wrap(n){try{const s=n;a(s).forEach(i=>{const t=s[i];"$EB"in t||(s[i]=(..._)=>this._capture(i,()=>t.apply(n,_)),s[i].$EB=!0)})}catch(s){this._onError("eb:wrap",s)}}logError(n,s){this._onError(n,s)}getLastSeenErrorAndReset(){const n=this._lastSeenError;return this._lastSeenError=void 0,n??null}attachErrorIfNoneExists(n){this._lastSeenError||(this._lastSeenError=c(n))}_capture(n,s){try{const i=s();return i&&i instanceof Promise?i.catch(t=>this._onError(n,t)):i}catch(i){return this._onError(n,i),null}}_onError(n,s){try{y.Log.warn(`Caught error in ${n}`,{error:s}),g(this,void 0,void 0,function*(){var t,_,m,f,E,D,S;const p=s||Error(d),w=p instanceof Error,k=w?p.name:"No Name",C=c(p);if(this._lastSeenError=C,this._seen.has(k))return;if(this._seen.add(k),!((_=(t=this._options)===null||t===void 0?void 0:t.networkConfig)===null||_===void 0)&&_.preventAllNetworkTraffic){(m=this._emitter)===null||m===void 0||m.call(this,{name:"error",error:s,tag:n});return}const L=h.SDKType._get(this._sdkKey),T=v.StatsigMetadataProvider.get(),J=w?p.stack:l(p),W=Object.assign({tag:n,exception:k,info:J,statsigOptions:o(this._options)},Object.assign(Object.assign({},T),{sdkType:L}));yield((D=(E=(f=this._options)===null||f===void 0?void 0:f.networkConfig)===null||E===void 0?void 0:E.networkOverrideFunc)!==null&&D!==void 0?D:fetch)(r.EXCEPTION_ENDPOINT,{method:"POST",headers:{"STATSIG-API-KEY":this._sdkKey,"STATSIG-SDK-TYPE":String(L),"STATSIG-SDK-VERSION":String(T.sdkVersion),"Content-Type":"application/json"},body:JSON.stringify(W)}),(S=this._emitter)===null||S===void 0||S.call(this,{name:"error",error:s,tag:n})}).then(()=>{}).catch(()=>{})}catch{}}};r.ErrorBoundary=u;function c(e){return e instanceof Error?e:typeof e=="string"?new Error(e):new Error("An unknown error occurred.")}function l(e){try{return JSON.stringify(e)}catch{return d}}function a(e){const n=new Set;let s=Object.getPrototypeOf(e);for(;s&&s!==Object.prototype;)Object.getOwnPropertyNames(s).filter(i=>typeof s?.[i]=="function").forEach(i=>n.add(i)),s=Object.getPrototypeOf(s);return Array.from(n)}function o(e){if(!e)return{};const n={};return Object.entries(e).forEach(([s,i])=>{switch(typeof i){case"number":case"bigint":case"boolean":n[String(s)]=i;break;case"string":i.length<50?n[String(s)]=i:n[String(s)]="set";break;case"object":s==="environment"?n.environment=i:s==="networkConfig"?n.networkConfig=i:n[String(s)]=i!=null?"set":"unset";break}}),n}})(ke)),ke}var nt={},zt;function On(){return zt||(zt=1,Object.defineProperty(nt,"__esModule",{value:!0})),nt}var rt={},Vt;function In(){return Vt||(Vt=1,Object.defineProperty(rt,"__esModule",{value:!0})),rt}var it={},Jt;function Cn(){return Jt||(Jt=1,Object.defineProperty(it,"__esModule",{value:!0})),it}var se={},Wt;function Ht(){if(Wt)return se;Wt=1,Object.defineProperty(se,"__esModule",{value:!0}),se.createMemoKey=se.MemoPrefix=void 0,se.MemoPrefix={_gate:"g",_dynamicConfig:"c",_experiment:"e",_layer:"l",_paramStore:"p"};const r=new Set([]),g=new Set(["userPersistedValues"]);function y(h,v,d){let u=`${h}|${v}`;if(!d)return u;for(const c of Object.keys(d)){if(g.has(c))return;r.has(c)?u+=`|${c}=true`:u+=`|${c}=${d[c]}`}return u}return se.createMemoKey=y,se}var ae={},V={},le={},Xt;function Rn(){if(Xt)return le;Xt=1;var r=le&&le.__awaiter||function(c,l,a,o){function e(n){return n instanceof a?n:new a(function(s){s(n)})}return new(a||(a=Promise))(function(n,s){function i(m){try{_(o.next(m))}catch(f){s(f)}}function t(m){try{_(o.throw(m))}catch(f){s(f)}}function _(m){m.done?n(m.value):e(m.value).then(i,t)}_((o=o.apply(c,l||[])).next())})};Object.defineProperty(le,"__esModule",{value:!0}),le._fetchTxtRecords=void 0;const g=new Uint8Array([0,0,1,0,0,1,0,0,0,0,0,0,13,102,101,97,116,117,114,101,97,115,115,101,116,115,3,111,114,103,0,0,16,0,1]),y="https://cloudflare-dns.com/dns-query",h=["i","e","d"],v=200;function d(c){return r(this,void 0,void 0,function*(){const l=yield c(y,{method:"POST",headers:{"Content-Type":"application/dns-message",Accept:"application/dns-message"},body:g});if(!l.ok){const e=new Error("Failed to fetch TXT records from DNS");throw e.name="DnsTxtFetchError",e}const a=yield l.arrayBuffer(),o=new Uint8Array(a);return u(o)})}le._fetchTxtRecords=d;function u(c){const l=c.findIndex((o,e)=>e<v&&String.fromCharCode(o)==="="&&h.includes(String.fromCharCode(c[e-1])));if(l===-1){const o=new Error("Failed to parse TXT records from DNS");throw o.name="DnsTxtParseError",o}let a="";for(let o=l-1;o<c.length;o++)a+=String.fromCharCode(c[o]);return a.split(",")}return le}var Qt;function Un(){if(Qt)return V;Qt=1;var r=V&&V.__awaiter||function(s,i,t,_){function m(f){return f instanceof t?f:new t(function(E){E(f)})}return new(t||(t=Promise))(function(f,E){function D(w){try{p(_.next(w))}catch(k){E(k)}}function S(w){try{p(_.throw(w))}catch(k){E(k)}}function p(w){w.done?f(w.value):m(w.value).then(D,S)}p((_=_.apply(s,i||[])).next())})};Object.defineProperty(V,"__esModule",{value:!0}),V._isDomainFailure=V.NetworkFallbackResolver=void 0;const g=Rn(),y=ve(),h=P(),v=X(),d=10080*60*1e3,u=14400*1e3;let c=class{constructor(i){var t;this._fallbackInfo=null,this._errorBoundary=null,this._dnsQueryCooldowns={},this._networkOverrideFunc=(t=i.networkConfig)===null||t===void 0?void 0:t.networkOverrideFunc}setErrorBoundary(i){this._errorBoundary=i}tryBumpExpiryTime(i,t){var _;const m=(_=this._fallbackInfo)===null||_===void 0?void 0:_[t.endpoint];m&&(m.expiryTime=Date.now()+d,o(i,Object.assign(Object.assign({},this._fallbackInfo),{[t.endpoint]:m})))}getActiveFallbackUrl(i,t){var _,m;if(t.customUrl!=null&&t.fallbackUrls!=null)return null;let f=this._fallbackInfo;f==null&&(f=(_=e(i))!==null&&_!==void 0?_:{},this._fallbackInfo=f);const E=f[t.endpoint];return!E||Date.now()>((m=E.expiryTime)!==null&&m!==void 0?m:0)||t.getChecksum()!==E.urlConfigChecksum?(delete f[t.endpoint],this._fallbackInfo=f,o(i,this._fallbackInfo),null):E.url?E.url:null}tryFetchUpdatedFallbackInfo(i,t,_,m){var f,E;return r(this,void 0,void 0,function*(){try{if(!l(_,m))return!1;const S=t.customUrl==null&&t.fallbackUrls==null?yield this._tryFetchFallbackUrlsFromNetwork(t):t.fallbackUrls,p=this._pickNewFallbackUrl((f=this._fallbackInfo)===null||f===void 0?void 0:f[t.endpoint],S);return p?(this._updateFallbackInfoWithNewUrl(i,t,p),!0):!1}catch(D){return(E=this._errorBoundary)===null||E===void 0||E.logError("tryFetchUpdatedFallbackInfo",D),!1}})}_updateFallbackInfoWithNewUrl(i,t,_){var m,f,E;const D={urlConfigChecksum:t.getChecksum(),url:_,expiryTime:Date.now()+d,previous:[]},S=t.endpoint,p=(m=this._fallbackInfo)===null||m===void 0?void 0:m[S];p&&D.previous.push(...p.previous),D.previous.length>10&&(D.previous=[]);const w=(E=(f=this._fallbackInfo)===null||f===void 0?void 0:f[S])===null||E===void 0?void 0:E.url;w!=null&&D.previous.push(w),this._fallbackInfo=Object.assign(Object.assign({},this._fallbackInfo),{[S]:D}),o(i,this._fallbackInfo)}_tryFetchFallbackUrlsFromNetwork(i){var t;return r(this,void 0,void 0,function*(){const _=this._dnsQueryCooldowns[i.endpoint];if(_&&Date.now()<_)return null;this._dnsQueryCooldowns[i.endpoint]=Date.now()+u;const m=[],f=yield(0,g._fetchTxtRecords)((t=this._networkOverrideFunc)!==null&&t!==void 0?t:fetch),E=n(i.defaultUrl);for(const D of f){if(!D.startsWith(i.endpointDnsKey+"="))continue;const S=D.split("=");if(S.length>1){let p=S[1];p.endsWith("/")&&(p=p.slice(0,-1)),m.push(`https://${p}${E}`)}}return m})}_pickNewFallbackUrl(i,t){var _;if(t==null)return null;const m=new Set((_=i?.previous)!==null&&_!==void 0?_:[]),f=i?.url;let E=null;for(const D of t){const S=D.endsWith("/")?D.slice(0,-1):D;if(!m.has(D)&&S!==f){E=S;break}}return E}};V.NetworkFallbackResolver=c;function l(s,i){var t;const _=(t=s?.toLowerCase())!==null&&t!==void 0?t:"";return i||_.includes("uncaught exception")||_.includes("failed to fetch")||_.includes("networkerror when attempting to fetch resource")}V._isDomainFailure=l;function a(s){return`statsig.network_fallback.${(0,y._DJB2)(s)}`}function o(s,i){const t=a(s);if(!i||Object.keys(i).length===0){v.Storage.removeItem(t);return}v.Storage.setItem(t,JSON.stringify(i))}function e(s){const i=a(s),t=v.Storage.getItem(i);if(!t)return null;try{return JSON.parse(t)}catch{return h.Log.error("Failed to parse FallbackInfo"),null}}function n(s){try{return new URL(s).pathname}catch{return null}}return V}var Ie={},Yt;function Zt(){if(Yt)return Ie;Yt=1,Object.defineProperty(Ie,"__esModule",{value:!0}),Ie.SDKFlags=void 0;const r={};return Ie.SDKFlags={setFlags:(g,y)=>{r[g]=y},get:(g,y)=>{var h,v;return(v=(h=r[g])===null||h===void 0?void 0:h[y])!==null&&v!==void 0?v:!1}},Ie}var ot={},en;function st(){return en||(en=1,(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.StatsigSession=r.SessionID=void 0;const g=H(),y=Le(),h=P(),v=X(),d=Ze(),u=1800*1e3,c=14400*1e3,l={};r.SessionID={get:f=>r.StatsigSession.get(f).data.sessionID},r.StatsigSession={get:f=>{l[f]==null&&(l[f]=a(f));const E=l[f];return e(E)},overrideInitialSessionID:(f,E)=>{l[E]=o(f,E)}};function a(f){let E=m(f);const D=Date.now();return E||(E={sessionID:(0,d.getUUID)(),startTime:D,lastUpdate:D}),{data:E,sdkKey:f}}function o(f,E){const D=Date.now();return{data:{sessionID:f,startTime:D,lastUpdate:D},sdkKey:E}}function e(f){const E=Date.now(),D=f.data,S=f.sdkKey;if(s(D)||i(D)){D.sessionID=(0,d.getUUID)(),D.startTime=E;const w=__STATSIG__==null?void 0:__STATSIG__.instance(S);w&&w.$emt({name:"session_expired"})}D.lastUpdate=E,_(D,f.sdkKey),clearTimeout(f.idleTimeoutID),clearTimeout(f.ageTimeoutID);const p=E-D.startTime;return f.idleTimeoutID=n(S,u),f.ageTimeoutID=n(S,c-p),f}function n(f,E){return setTimeout(()=>{var D;const S=(D=(0,g._getStatsigGlobal)())===null||D===void 0?void 0:D.instance(f);S&&S.$emt({name:"session_expired"})},E)}function s({lastUpdate:f}){return Date.now()-f>u}function i({startTime:f}){return Date.now()-f>c}function t(f){return`statsig.session_id.${(0,y._getStorageKey)(f)}`}function _(f,E){const D=t(E);try{(0,v._setObjectInStorage)(D,f)}catch{h.Log.warn("Failed to save SessionID")}}function m(f){const E=t(f);return(0,v._getObjectFromStorage)(E)}})(ot)),ot}var Ce={},tn;function nn(){return tn||(tn=1,Object.defineProperty(Ce,"__esModule",{value:!0}),Ce.ErrorTag=void 0,Ce.ErrorTag={NetworkError:"NetworkError"}),Ce}var rn;function Mn(){if(rn)return ae;rn=1;var r=ae&&ae.__awaiter||function(I,b,O,R){function U(M){return M instanceof O?M:new O(function(A){A(M)})}return new(O||(O=Promise))(function(M,A){function Se(N){try{x(R.next(N))}catch(F){A(F)}}function G(N){try{x(R.throw(N))}catch(F){A(F)}}function x(N){N.done?M(N.value):U(N.value).then(Se,G)}x((R=R.apply(I,b||[])).next())})};Object.defineProperty(ae,"__esModule",{value:!0}),ae.NetworkCore=void 0,H();const g=H(),y=$e(),h=P(),v=Ae(),d=Un(),u=Zt(),c=tt(),l=re(),a=st(),o=Ne(),e=nn(),n=je(),s=Pe(),i=Xe(),t=1e4,_=500,m=3e4,f=1e3,E=50,D=E/f,S=new Set([408,500,502,503,504,522,524,599]);let p=class{constructor(b,O){this._emitter=O,this._errorBoundary=null,this._timeout=t,this._netConfig={},this._options={},this._leakyBucket={},this._lastUsedInitUrl=null,b&&(this._options=b),this._options.networkConfig&&(this._netConfig=this._options.networkConfig),this._netConfig.networkTimeoutMs&&(this._timeout=this._netConfig.networkTimeoutMs),this._fallbackResolver=new d.NetworkFallbackResolver(this._options),this.setLogEventCompressionMode(this._getLogEventCompressionMode(b))}setLogEventCompressionMode(b){this._options.logEventCompressionMode=b}setErrorBoundary(b){this._errorBoundary=b,this._errorBoundary.wrap(this),this._errorBoundary.wrap(this._fallbackResolver),this._fallbackResolver.setErrorBoundary(b)}isBeaconSupported(){return typeof navigator<"u"&&typeof navigator.sendBeacon=="function"}getLastUsedInitUrlAndReset(){const b=this._lastUsedInitUrl;return this._lastUsedInitUrl=null,b}beacon(b){if(!w(b))return!1;const O=this._getInternalRequestArgs("POST",b),R=this._getPopulatedURL(O),U=navigator;return U.sendBeacon.bind(U)(R,O.body)}post(b){return r(this,void 0,void 0,function*(){const O=this._getInternalRequestArgs("POST",b);return this._tryEncodeBody(O),yield this._tryToCompressBody(O),this._sendRequest(O)})}get(b){const O=this._getInternalRequestArgs("GET",b);return this._sendRequest(O)}_sendRequest(b){var O,R,U,M;return r(this,void 0,void 0,function*(){if(!w(b)||this._netConfig.preventAllNetworkTraffic)return null;const{method:A,body:Se,retries:G,attempt:x}=b,N=b.urlConfig.endpoint;if(this._isRateLimited(N))return h.Log.warn(`Request to ${N} was blocked because you are making requests too frequently.`),null;const F=x??1,K=typeof AbortController<"u"?new AbortController:null,_e=setTimeout(()=>{K?.abort(`Timeout of ${this._timeout}ms expired.`)},this._timeout),pe=this._getPopulatedURL(b);let $=null;const En=(0,i._isUnloading)();try{const ge={method:A,body:Se,headers:Object.assign({},b.headers),signal:K?.signal,priority:b.priority,keepalive:En};J(b,F);const fe=this._leakyBucket[N];if(fe&&(fe.lastRequestTime=Date.now(),this._leakyBucket[N]=fe),$=yield((O=this._netConfig.networkOverrideFunc)!==null&&O!==void 0?O:fetch)(pe,ge),clearTimeout(_e),!$.ok){const Te=yield $.text().catch(()=>"No Text"),gt=new Error(`NetworkError: ${pe} ${Te}`);throw gt.name="NetworkError",gt}const qe=yield $.text();return W(b,$,F,qe),this._fallbackResolver.tryBumpExpiryTime(b.sdkKey,b.urlConfig),{body:qe,code:$.status}}catch(ge){const fe=L(K,ge),_t=T(K);if(W(b,$,F,"",ge),(yield this._fallbackResolver.tryFetchUpdatedFallbackInfo(b.sdkKey,b.urlConfig,fe,_t))&&(b.fallbackUrl=this._fallbackResolver.getActiveFallbackUrl(b.sdkKey,b.urlConfig)),!G||F>G||!S.has((R=$?.status)!==null&&R!==void 0?R:500)){(U=this._emitter)===null||U===void 0||U.call(this,{name:"error",error:ge,tag:e.ErrorTag.NetworkError,requestArgs:b});const Te=`A networking error occurred during ${A} request to ${pe}.`;return h.Log.error(Te,fe,ge),(M=this._errorBoundary)===null||M===void 0||M.attachErrorIfNoneExists(Te),null}return yield B(F),this._sendRequest(Object.assign(Object.assign({},b),{retries:G,attempt:F+1}))}})}_getLogEventCompressionMode(b){let O=b?.logEventCompressionMode;return!O&&b?.disableCompression===!0&&(O=s.LogEventCompressionMode.Disabled),O||(O=s.LogEventCompressionMode.Enabled),O}_isRateLimited(b){var O;const R=Date.now(),U=(O=this._leakyBucket[b])!==null&&O!==void 0?O:{count:0,lastRequestTime:R},M=R-U.lastRequestTime,A=Math.floor(M*D);return U.count=Math.max(0,U.count-A),U.count>=E?!0:(U.count+=1,U.lastRequestTime=R,this._leakyBucket[b]=U,!1)}_getPopulatedURL(b){var O;const R=(O=b.fallbackUrl)!==null&&O!==void 0?O:b.urlConfig.getUrl();(b.urlConfig.endpoint===v.Endpoint._initialize||b.urlConfig.endpoint===v.Endpoint._download_config_specs)&&(this._lastUsedInitUrl=R);const U=Object.assign({[v.NetworkParam.SdkKey]:b.sdkKey,[v.NetworkParam.SdkType]:c.SDKType._get(b.sdkKey),[v.NetworkParam.SdkVersion]:n.SDK_VERSION,[v.NetworkParam.Time]:String(Date.now()),[v.NetworkParam.SessionID]:a.SessionID.get(b.sdkKey)},b.params),M=Object.keys(U).map(A=>`${encodeURIComponent(A)}=${encodeURIComponent(U[A])}`).join("&");return`${R}${M?`?${M}`:""}`}_tryEncodeBody(b){var O;const R=(0,l._getWindowSafe)(),U=b.body;if(!(!b.isStatsigEncodable||this._options.disableStatsigEncoding||typeof U!="string"||(0,g._getStatsigGlobalFlag)("no-encode")!=null||!R?.btoa))try{b.body=R.btoa(U).split("").reverse().join(""),b.params=Object.assign(Object.assign({},(O=b.params)!==null&&O!==void 0?O:{}),{[v.NetworkParam.StatsigEncoded]:"1"})}catch(M){h.Log.warn(`Request encoding failed for ${b.urlConfig.getUrl()}`,M)}}_tryToCompressBody(b){var O;return r(this,void 0,void 0,function*(){const R=b.body;if(!(typeof R!="string"||!C(b,this._options)))try{const U=new TextEncoder().encode(R),M=new CompressionStream("gzip"),A=M.writable.getWriter();A.write(U).catch(h.Log.error),A.close().catch(h.Log.error);const Se=M.readable.getReader(),G=[];let x;for(;!(x=yield Se.read()).done;)G.push(x.value);const N=G.reduce((_e,pe)=>_e+pe.length,0),F=new Uint8Array(N);let K=0;for(const _e of G)F.set(_e,K),K+=_e.length;b.body=F,b.params=Object.assign(Object.assign({},(O=b.params)!==null&&O!==void 0?O:{}),{[v.NetworkParam.IsGzipped]:"1"})}catch(U){h.Log.warn(`Request compression failed for ${b.urlConfig.getUrl()}`,U)}})}_getInternalRequestArgs(b,O){const R=this._fallbackResolver.getActiveFallbackUrl(O.sdkKey,O.urlConfig),U=Object.assign(Object.assign({},O),{method:b,fallbackUrl:R});return"data"in O&&k(U,O.data),U}};ae.NetworkCore=p;const w=I=>I.sdkKey?!0:(h.Log.warn("Unable to make request without an SDK key"),!1),k=(I,b)=>{const{sdkKey:O,fallbackUrl:R}=I,U=o.StableID.get(O),M=a.SessionID.get(O),A=c.SDKType._get(O);I.body=JSON.stringify(Object.assign(Object.assign({},b),{statsigMetadata:Object.assign(Object.assign({},n.StatsigMetadataProvider.get()),{stableID:U,sessionID:M,sdkType:A,fallbackUrl:R})}))};function C(I,b){if(!I.isCompressable||(0,g._getStatsigGlobalFlag)("no-compress")!=null||typeof CompressionStream>"u"||typeof TextEncoder>"u")return!1;const O=I.urlConfig.customUrl!=null||I.urlConfig.fallbackUrls!=null,R=u.SDKFlags.get(I.sdkKey,"enable_log_event_compression")===!0;switch(b.logEventCompressionMode){case s.LogEventCompressionMode.Disabled:return!1;case s.LogEventCompressionMode.Enabled:return!(O&&!R);case s.LogEventCompressionMode.Forced:return!0;default:return!1}}function L(I,b){return I?.signal.aborted&&typeof I.signal.reason=="string"?I.signal.reason:typeof b=="string"?b:b instanceof Error?`${b.name}: ${b.message}`:"Unknown Error"}function T(I){return I?.signal.aborted&&typeof I.signal.reason=="string"&&I.signal.reason.includes("Timeout")||!1}function J(I,b){I.urlConfig.endpoint===v.Endpoint._initialize&&y.Diagnostics._markInitNetworkReqStart(I.sdkKey,{attempt:b})}function W(I,b,O,R,U){I.urlConfig.endpoint===v.Endpoint._initialize&&y.Diagnostics._markInitNetworkReqEnd(I.sdkKey,y.Diagnostics._getDiagnosticsData(b,O,R,U))}function B(I){return r(this,void 0,void 0,function*(){yield new Promise(b=>setTimeout(b,Math.min(_*(I*I),m)))})}return ae}var at={},on;function Tn(){return on||(on=1,Object.defineProperty(at,"__esModule",{value:!0})),at}var lt={},sn;function Ln(){return sn||(sn=1,Object.defineProperty(lt,"__esModule",{value:!0})),lt}var ue={},an;function An(){if(an)return ue;an=1;var r=ue&&ue.__awaiter||function(i,t,_,m){function f(E){return E instanceof _?E:new _(function(D){D(E)})}return new(_||(_=Promise))(function(E,D){function S(k){try{w(m.next(k))}catch(C){D(C)}}function p(k){try{w(m.throw(k))}catch(C){D(C)}}function w(k){k.done?E(k.value):f(k.value).then(S,p)}w((m=m.apply(i,t||[])).next())})};Object.defineProperty(ue,"__esModule",{value:!0}),ue.StatsigClientBase=void 0,H();const g=H(),y=Gt(),h=Mt(),v=P(),d=Ht(),u=re(),c=st(),l=Ne(),a=Pe(),o=X(),e=3e3;let n=class{constructor(t,_,m,f){var E,D,S,p;this.loadingStatus="Uninitialized",this._initializePromise=null,this._listeners={};const w=this.$emt.bind(this);f?.logLevel!=null&&(v.Log.level=f.logLevel),f?.disableStorage&&o.Storage._setDisabled(!0),f?.initialSessionID&&c.StatsigSession.overrideInitialSessionID(f.initialSessionID,t),f?.storageProvider&&o.Storage._setProvider(f.storageProvider),f?.enableCookies&&l.StableID._setCookiesEnabled(t,f.enableCookies),f?.disableStableID&&l.StableID._setDisabled(t,!0),this._sdkKey=t,this._options=f??{},this._memoCache={},this.overrideAdapter=(E=f?.overrideAdapter)!==null&&E!==void 0?E:null,this._logger=new h.EventLogger(t,w,m,f),this._errorBoundary=new y.ErrorBoundary(t,f,w),this._errorBoundary.wrap(this),this._errorBoundary.wrap(_),this._errorBoundary.wrap(this._logger),m.setErrorBoundary(this._errorBoundary),this.dataAdapter=_,this.dataAdapter.attach(t,f,m),this.storageProvider=o.Storage,(p=(S=(D=this.overrideAdapter)===null||D===void 0?void 0:D.loadFromStorage)===null||S===void 0?void 0:S.call(D))===null||p===void 0||p.catch(k=>this._errorBoundary.logError("OA::loadFromStorage",k)),this._primeReadyRipcord(),s(t,this)}updateRuntimeOptions(t){t.loggingEnabled?(this._options.loggingEnabled=t.loggingEnabled,this._logger.setLoggingEnabled(t.loggingEnabled)):t.disableLogging!=null&&(this._options.disableLogging=t.disableLogging,this._logger.setLoggingEnabled(t.disableLogging?"disabled":"browser-only")),t.disableStorage!=null&&(this._options.disableStorage=t.disableStorage,o.Storage._setDisabled(t.disableStorage)),t.enableCookies!=null&&(this._options.enableCookies=t.enableCookies,l.StableID._setCookiesEnabled(this._sdkKey,t.enableCookies)),t.logEventCompressionMode?this._logger.setLogEventCompressionMode(t.logEventCompressionMode):t.disableCompression&&this._logger.setLogEventCompressionMode(a.LogEventCompressionMode.Disabled)}flush(){return this._logger.flush()}shutdown(){return r(this,void 0,void 0,function*(){this.$emt({name:"pre_shutdown"}),this._setStatus("Uninitialized",null),this._initializePromise=null,yield this._logger.stop()})}on(t,_){this._listeners[t]||(this._listeners[t]=[]),this._listeners[t].push(_)}off(t,_){if(this._listeners[t]){const m=this._listeners[t].indexOf(_);m!==-1&&this._listeners[t].splice(m,1)}}$on(t,_){_.__isInternal=!0,this.on(t,_)}$emt(t){var _;const m=f=>{try{f(t)}catch(E){if(f.__isInternal===!0){this._errorBoundary.logError(`__emit:${t.name}`,E);return}v.Log.error("An error occurred in a StatsigClientEvent listener. This is not an issue with Statsig.",t)}};this._listeners[t.name]&&this._listeners[t.name].forEach(f=>m(f)),(_=this._listeners["*"])===null||_===void 0||_.forEach(m)}_setStatus(t,_){this.loadingStatus=t,this._memoCache={},this.$emt({name:"values_updated",status:t,values:_})}_enqueueExposure(t,_,m){if(m?.disableExposureLog===!0){this._logger.incrementNonExposureCount(t);return}this._logger.enqueue(_)}_memoize(t,_){return(m,f)=>{if(this._options.disableEvaluationMemoization)return _(m,f);const E=(0,d.createMemoKey)(t,m,f);return E?(E in this._memoCache||(Object.keys(this._memoCache).length>=e&&(this._memoCache={}),this._memoCache[E]=_(m,f)),this._memoCache[E]):_(m,f)}}};ue.StatsigClientBase=n;function s(i,t){var _;if((0,u._isServerEnv)())return;const m=(0,g._getStatsigGlobal)(),f=(_=m.instances)!==null&&_!==void 0?_:{},E=t;f[i]!=null&&v.Log.warn("Creating multiple Statsig clients with the same SDK key can lead to unexpected behavior. Multi-instance support requires different SDK keys."),f[i]=E,m.firstInstance||(m.firstInstance=E),m.instances=f,__STATSIG__=m}return ue}var Re={},ln;function Pn(){return ln||(ln=1,Object.defineProperty(Re,"__esModule",{value:!0}),Re.DataAdapterCachePrefix=void 0,Re.DataAdapterCachePrefix="statsig.cached"),Re}var ut={},un;function jn(){return un||(un=1,Object.defineProperty(ut,"__esModule",{value:!0})),ut}var j={},dn;function Nn(){if(dn)return j;dn=1,Object.defineProperty(j,"__esModule",{value:!0}),j._makeTypedGet=j._mergeOverride=j._makeLayer=j._makeExperiment=j._makeDynamicConfig=j._makeFeatureGate=void 0;const r=P(),g=ze();function y(a,o,e,n){var s;return{name:a,details:o,ruleID:(s=e?.rule_id)!==null&&s!==void 0?s:"",__evaluation:e,value:n}}function h(a,o,e){var n;return Object.assign(Object.assign({},y(a,o,e,e?.value===!0)),{idType:(n=e?.id_type)!==null&&n!==void 0?n:null})}j._makeFeatureGate=h;function v(a,o,e){var n;const s=(n=e?.value)!==null&&n!==void 0?n:{};return Object.assign(Object.assign({},y(a,o,e,s)),{get:l(a,e?.value)})}j._makeDynamicConfig=v;function d(a,o,e){var n;const s=v(a,o,e);return Object.assign(Object.assign({},s),{groupName:(n=e?.group_name)!==null&&n!==void 0?n:null})}j._makeExperiment=d;function u(a,o,e,n){var s,i;return Object.assign(Object.assign({},y(a,o,e,void 0)),{get:l(a,e?.value,n),groupName:(s=e?.group_name)!==null&&s!==void 0?s:null,__value:(i=e?.value)!==null&&i!==void 0?i:{}})}j._makeLayer=u;function c(a,o,e,n){return Object.assign(Object.assign(Object.assign({},a),o),{get:l(a.name,e,n)})}j._mergeOverride=c;function l(a,o,e){return(n,s)=>{var i;const t=(i=o?.[n])!==null&&i!==void 0?i:null;return t==null?s??null:s!=null&&!(0,g._isTypeMatch)(t,s)?(r.Log.warn(`Parameter type mismatch. '${a}.${n}' was found to be type '${typeof t}' but fallback/return type is '${typeof s}'. See https://docs.statsig.com/client/javascript-sdk/#typed-getters`),s??null):(e?.(n),t)}}return j._makeTypedGet=l,j}var dt={},cn;function Fn(){return cn||(cn=1,Object.defineProperty(dt,"__esModule",{value:!0})),dt}var de={},_n;function qn(){if(_n)return de;_n=1,Object.defineProperty(de,"__esModule",{value:!0}),de.UPDATE_DETAIL_ERROR_MESSAGES=de.createUpdateDetails=void 0;const r=(g,y,h,v,d,u)=>({duration:h,source:y,success:g,error:v,sourceUrl:d,warnings:u});return de.createUpdateDetails=r,de.UPDATE_DETAIL_ERROR_MESSAGES={NO_NETWORK_DATA:"No data was returned from the network. This may be due to a network timeout if a timeout value was specified in the options or ad blocker error."},de}var gn;function Q(){return gn||(gn=1,(function(r){var g=Z&&Z.__createBinding||(Object.create?(function(a,o,e,n){n===void 0&&(n=e);var s=Object.getOwnPropertyDescriptor(o,e);(!s||("get"in s?!o.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return o[e]}}),Object.defineProperty(a,n,s)}):(function(a,o,e,n){n===void 0&&(n=e),a[n]=o[e]})),y=Z&&Z.__exportStar||function(a,o){for(var e in a)e!=="default"&&!Object.prototype.hasOwnProperty.call(o,e)&&g(o,a,e)};Object.defineProperty(r,"__esModule",{value:!0}),r.Storage=r.Log=r.EventLogger=r.Diagnostics=void 0,H();const h=H(),v=$e();Object.defineProperty(r,"Diagnostics",{enumerable:!0,get:function(){return v.Diagnostics}});const d=Mt();Object.defineProperty(r,"EventLogger",{enumerable:!0,get:function(){return d.EventLogger}});const u=P();Object.defineProperty(r,"Log",{enumerable:!0,get:function(){return u.Log}});const c=je(),l=X();Object.defineProperty(r,"Storage",{enumerable:!0,get:function(){return l.Storage}}),y(H(),r),y(Le(),r),y(Dn(),r),y(wn(),r),y($e(),r),y(kn(),r),y(Gt(),r),y(On(),r),y(In(),r),y(ve(),r),y(Cn(),r),y(P(),r),y(Ht(),r),y(Ae(),r),y(Mn(),r),y(Tn(),r),y(Ln(),r),y(re(),r),y(tt(),r),y(st(),r),y(Ne(),r),y(An(),r),y(nn(),r),y(Pn(),r),y(wt(),r),y(je(),r),y(Pe(),r),y(jn(),r),y(Nn(),r),y(Fn(),r),y(Nt(),r),y(X(),r),y(qt(),r),y(ze(),r),y(Ct(),r),y(Ze(),r),y(Xe(),r),y(qn(),r),y(Zt(),r),Object.assign((0,h._getStatsigGlobal)(),{Log:u.Log,SDK_VERSION:c.SDK_VERSION})})(Z)),Z}var he={},Fe={},fn;function Kn(){if(fn)return Fe;fn=1,Object.defineProperty(Fe,"__esModule",{value:!0});const r=Q();let g=class{constructor(h){this._sdkKey=h,this._rawValues=null,this._values=null,this._source="Uninitialized",this._lcut=0,this._receivedAt=0,this._bootstrapMetadata=null,this._warnings=new Set}reset(){this._values=null,this._rawValues=null,this._source="Loading",this._lcut=0,this._receivedAt=0,this._bootstrapMetadata=null}finalize(){this._values||(this._source="NoValues")}getValues(){return this._rawValues?(0,r._typedJsonParse)(this._rawValues,"has_updates","EvaluationStoreValues"):null}setValues(h,v){var d;if(!h)return!1;const u=(0,r._typedJsonParse)(h.data,"has_updates","EvaluationResponse");return u==null?!1:(this._source=h.source,u?.has_updates!==!0||(this._rawValues=h.data,this._lcut=u.time,this._receivedAt=h.receivedAt,this._values=u,this._bootstrapMetadata=this._extractBootstrapMetadata(h.source,u),h.source&&u.user&&this._setWarningState(v,u),r.SDKFlags.setFlags(this._sdkKey,(d=u.sdk_flags)!==null&&d!==void 0?d:{})),!0)}getWarnings(){if(this._warnings.size!==0)return Array.from(this._warnings)}getGate(h){var v;return this._getDetailedStoreResult((v=this._values)===null||v===void 0?void 0:v.feature_gates,h)}getConfig(h){var v;return this._getDetailedStoreResult((v=this._values)===null||v===void 0?void 0:v.dynamic_configs,h)}getLayer(h){var v;return this._getDetailedStoreResult((v=this._values)===null||v===void 0?void 0:v.layer_configs,h)}getParamStore(h){var v;return this._getDetailedStoreResult((v=this._values)===null||v===void 0?void 0:v.param_stores,h)}getSource(){return this._source}getExposureMapping(){var h;return(h=this._values)===null||h===void 0?void 0:h.exposures}_extractBootstrapMetadata(h,v){if(h!=="Bootstrap")return null;const d={};return v.user&&(d.user=v.user),v.sdkInfo&&(d.generatorSDKInfo=v.sdkInfo),d.lcut=v.time,d}_getDetailedStoreResult(h,v){let d=null;return h&&(d=h[v]?h[v]:h[(0,r._DJB2)(v)]),{result:d,details:this._getDetails(d==null)}}_setWarningState(h,v){var d,u;const c=r.StableID.get(this._sdkKey);if(((d=h.customIDs)===null||d===void 0?void 0:d.stableID)!==c&&(!((u=h.customIDs)===null||u===void 0)&&u.stableID||c)){this._warnings.add("StableIDMismatch");return}if("user"in v){const l=v.user;(0,r._getFullUserHash)(h)!==(0,r._getFullUserHash)(l)&&this._warnings.add("PartialUserMatch")}}getCurrentSourceDetails(){if(this._source==="Uninitialized"||this._source==="NoValues")return{reason:this._source};const h={reason:this._source,lcut:this._lcut,receivedAt:this._receivedAt};return this._warnings.size>0&&(h.warnings=Array.from(this._warnings)),h}_getDetails(h){var v,d;const u=this.getCurrentSourceDetails();let c=u.reason;const l=(v=u.warnings)!==null&&v!==void 0?v:[];this._source==="Bootstrap"&&l.length>0&&(c=c+l[0]),c!=="Uninitialized"&&c!=="NoValues"&&(c=`${c}:${h?"Unrecognized":"Recognized"}`);const a=this._source==="Bootstrap"&&(d=this._bootstrapMetadata)!==null&&d!==void 0?d:void 0;return a&&(u.bootstrapMetadata=a),Object.assign(Object.assign({},u),{reason:c})}};return Fe.default=g,Fe}var ye={},Ue={},vn;function Bn(){if(vn)return Ue;vn=1,Object.defineProperty(Ue,"__esModule",{value:!0}),Ue._resolveDeltasResponse=void 0;const r=Q(),g=2;function y(u,c){const l=(0,r._typedJsonParse)(c,"checksum","DeltasEvaluationResponse");if(!l)return{hadBadDeltaChecksum:!0};const a=h(u,l),o=v(a),e=(0,r._DJB2Object)({feature_gates:o.feature_gates,dynamic_configs:o.dynamic_configs,layer_configs:o.layer_configs},g);return e===l.checksumV2?JSON.stringify(o):{hadBadDeltaChecksum:!0,badChecksum:e,badMergedConfigs:o,badFullResponse:l.deltas_full_response}}Ue._resolveDeltasResponse=y;function h(u,c){return Object.assign(Object.assign(Object.assign({},u),c),{feature_gates:Object.assign(Object.assign({},u.feature_gates),c.feature_gates),layer_configs:Object.assign(Object.assign({},u.layer_configs),c.layer_configs),dynamic_configs:Object.assign(Object.assign({},u.dynamic_configs),c.dynamic_configs)})}function v(u){const c=u;return d(u.deleted_gates,c.feature_gates),delete c.deleted_gates,d(u.deleted_configs,c.dynamic_configs),delete c.deleted_configs,d(u.deleted_layers,c.layer_configs),delete c.deleted_layers,c}function d(u,c){u?.forEach(l=>{delete c[l]})}return Ue}var hn;function yn(){if(hn)return ye;hn=1;var r=ye&&ye.__awaiter||function(v,d,u,c){function l(a){return a instanceof u?a:new u(function(o){o(a)})}return new(u||(u=Promise))(function(a,o){function e(i){try{s(c.next(i))}catch(t){o(t)}}function n(i){try{s(c.throw(i))}catch(t){o(t)}}function s(i){i.done?a(i.value):l(i.value).then(e,n)}s((c=c.apply(v,d||[])).next())})};Object.defineProperty(ye,"__esModule",{value:!0});const g=Q(),y=Bn();class h extends g.NetworkCore{constructor(d,u){super(d,u);const c=d?.networkConfig;this._option=d,this._initializeUrlConfig=new g.UrlConfiguration(g.Endpoint._initialize,c?.initializeUrl,c?.api,c?.initializeFallbackUrls)}fetchEvaluations(d,u,c,l,a){var o,e,n,s,i,t;return r(this,void 0,void 0,function*(){const _=u?(0,g._typedJsonParse)(u,"has_updates","InitializeResponse"):null;let m={user:l,hash:(n=(e=(o=this._option)===null||o===void 0?void 0:o.networkConfig)===null||e===void 0?void 0:e.initializeHashAlgorithm)!==null&&n!==void 0?n:"djb2",deltasResponseRequested:!1,full_checksum:null};if(_?.has_updates){const f=_?.hash_used!==((t=(i=(s=this._option)===null||s===void 0?void 0:s.networkConfig)===null||i===void 0?void 0:i.initializeHashAlgorithm)!==null&&t!==void 0?t:"djb2");m=Object.assign(Object.assign({},m),{sinceTime:a&&!f?_.time:0,previousDerivedFields:"derived_fields"in _&&a?_.derived_fields:{},deltasResponseRequested:!0,full_checksum:_.full_checksum,partialUserMatchSinceTime:f?0:_.time})}return this._fetchEvaluations(d,_,m,c)})}_fetchEvaluations(d,u,c,l){var a,o;return r(this,void 0,void 0,function*(){const e=yield this.post({sdkKey:d,urlConfig:this._initializeUrlConfig,data:c,retries:2,isStatsigEncodable:!0,priority:l});if(e?.code===204)return'{"has_updates": false}';if(e?.code!==200)return(a=e?.body)!==null&&a!==void 0?a:null;if(u?.has_updates!==!0||((o=e.body)===null||o===void 0?void 0:o.includes('"is_delta":true'))!==!0||c.deltasResponseRequested!==!0)return e.body;const n=(0,y._resolveDeltasResponse)(u,e.body);return typeof n=="string"?n:this._fetchEvaluations(d,u,Object.assign(Object.assign(Object.assign({},c),n),{deltasResponseRequested:!1}),l)})}}return ye.default=h,ye}var Me={},mn;function xn(){if(mn)return Me;mn=1,Object.defineProperty(Me,"__esModule",{value:!0}),Me._makeParamStoreGetter=void 0;const r=Q(),g={disableExposureLog:!0};function y(o){return o==null||o.disableExposureLog===!1}function h(o,e){return e!=null&&!(0,r._isTypeMatch)(o,e)}function v(o,e){return o.value}function d(o,e,n){return o.getFeatureGate(e.gate_name,y(n)?void 0:g).value?e.pass_value:e.fail_value}function u(o,e,n,s){const t=o.getDynamicConfig(e.config_name,y(s)?void 0:g).get(e.param_name);return h(t,n)?n:t}function c(o,e,n,s){const t=o.getExperiment(e.experiment_name,y(s)?void 0:g).get(e.param_name);return h(t,n)?n:t}function l(o,e,n,s){const t=o.getLayer(e.layer_name,y(s)?void 0:g).get(e.param_name);return h(t,n)?n:t}function a(o,e,n){return(s,i)=>{if(e==null)return i;const t=e[s];if(t==null||i!=null&&(0,r._typeOf)(i)!==t.param_type)return i;switch(t.ref_type){case"static":return v(t);case"gate":return d(o,t,n);case"dynamic_config":return u(o,t,i,n);case"experiment":return c(o,t,i,n);case"layer":return l(o,t,i,n);default:return i}}}return Me._makeParamStoreGetter=a,Me}var ce={},Sn;function $n(){if(Sn)return ce;Sn=1;var r=ce&&ce.__awaiter||function(v,d,u,c){function l(a){return a instanceof u?a:new u(function(o){o(a)})}return new(u||(u=Promise))(function(a,o){function e(i){try{s(c.next(i))}catch(t){o(t)}}function n(i){try{s(c.throw(i))}catch(t){o(t)}}function s(i){i.done?a(i.value):l(i.value).then(e,n)}s((c=c.apply(v,d||[])).next())})};Object.defineProperty(ce,"__esModule",{value:!0}),ce.StatsigEvaluationsDataAdapter=void 0;const g=Q(),y=yn();let h=class extends g.DataAdapterCore{constructor(){super("EvaluationsDataAdapter","evaluations"),this._network=null,this._options=null}attach(d,u,c){super.attach(d,u,c),c!==null&&c instanceof y.default?this._network=c:this._network=new y.default(u??{})}getDataAsync(d,u,c){return this._getDataAsyncImpl(d,(0,g._normalizeUser)(u,this._options),c)}prefetchData(d,u){return this._prefetchDataImpl(d,u)}setData(d){const u=(0,g._typedJsonParse)(d,"has_updates","data");u&&"user"in u?super.setData(d,u.user):g.Log.error("StatsigUser not found. You may be using an older server SDK version. Please upgrade your SDK or use setDataLegacy.")}setDataLegacy(d,u){super.setData(d,u)}_fetchFromNetwork(d,u,c,l){var a;return r(this,void 0,void 0,function*(){const o=yield(a=this._network)===null||a===void 0?void 0:a.fetchEvaluations(this._getSdkKey(),d,c?.priority,u,l);return o??null})}_getCacheKey(d){var u;const c=(0,g._getStorageKey)(this._getSdkKey(),d,(u=this._options)===null||u===void 0?void 0:u.customUserCacheKeyFunc);return`${g.DataAdapterCachePrefix}.${this._cacheSuffix}.${c}`}_isCachedResultValidFor204(d,u){return d.fullUserHash!=null&&d.fullUserHash===(0,g._getFullUserHash)(u)}};return ce.StatsigEvaluationsDataAdapter=h,ce}var pn;function Gn(){if(pn)return he;pn=1;var r=he&&he.__awaiter||function(c,l,a,o){function e(n){return n instanceof a?n:new a(function(s){s(n)})}return new(a||(a=Promise))(function(n,s){function i(m){try{_(o.next(m))}catch(f){s(f)}}function t(m){try{_(o.throw(m))}catch(f){s(f)}}function _(m){m.done?n(m.value):e(m.value).then(i,t)}_((o=o.apply(c,l||[])).next())})};Object.defineProperty(he,"__esModule",{value:!0});const g=Q(),y=Kn(),h=yn(),v=xn(),d=$n();let u=class ct extends g.StatsigClientBase{static instance(l){const a=(0,g._getStatsigGlobal)().instance(l);return a instanceof ct?a:(g.Log.warn((0,g._isServerEnv)()?"StatsigClient.instance is not supported in server environments":"Unable to find StatsigClient instance"),new ct(l??"",{}))}constructor(l,a,o=null){var e,n;g.SDKType._setClientType(l,"javascript-client");const s=new h.default(o,t=>{this.$emt(t)});super(l,(e=o?.dataAdapter)!==null&&e!==void 0?e:new d.StatsigEvaluationsDataAdapter,s,o),this.getFeatureGate=this._memoize(g.MemoPrefix._gate,this._getFeatureGateImpl.bind(this)),this.getDynamicConfig=this._memoize(g.MemoPrefix._dynamicConfig,this._getDynamicConfigImpl.bind(this)),this.getExperiment=this._memoize(g.MemoPrefix._experiment,this._getExperimentImpl.bind(this)),this.getLayer=this._memoize(g.MemoPrefix._layer,this._getLayerImpl.bind(this)),this.getParameterStore=this._memoize(g.MemoPrefix._paramStore,this._getParameterStoreImpl.bind(this)),this._store=new y.default(l),this._network=s,this._user=this._configureUser(a,o);const i=(n=o?.plugins)!==null&&n!==void 0?n:[];for(const t of i)t.bind(this)}initializeSync(l){var a;return this.loadingStatus!=="Uninitialized"?(0,g.createUpdateDetails)(!0,this._store.getSource(),-1,null,null,["MultipleInitializations",...(a=this._store.getWarnings())!==null&&a!==void 0?a:[]]):(this._logger.start(),this.updateUserSync(this._user,l))}initializeAsync(l){return r(this,void 0,void 0,function*(){return this._initializePromise?this._initializePromise:(this._initializePromise=this._initializeAsyncImpl(l),this._initializePromise)})}updateUserSync(l,a){var o;const e=performance.now(),n=[...(o=this._store.getWarnings())!==null&&o!==void 0?o:[]];this._resetForUser(l);const s=this.dataAdapter.getDataSync(this._user);s==null&&n.push("NoCachedValues"),this._store.setValues(s,this._user),this._finalizeUpdate(s);const i=a?.disableBackgroundCacheRefresh;return i===!0||i==null&&s?.source==="Bootstrap"?(0,g.createUpdateDetails)(!0,this._store.getSource(),performance.now()-e,this._errorBoundary.getLastSeenErrorAndReset(),this._network.getLastUsedInitUrlAndReset(),n):(this._runPostUpdate(s??null,this._user),(0,g.createUpdateDetails)(!0,this._store.getSource(),performance.now()-e,this._errorBoundary.getLastSeenErrorAndReset(),this._network.getLastUsedInitUrlAndReset(),n))}updateUserAsync(l,a){return r(this,void 0,void 0,function*(){this._resetForUser(l);const o=this._user;g.Diagnostics._markInitOverallStart(this._sdkKey);let e=this.dataAdapter.getDataSync(o);if(this._store.setValues(e,this._user),this._setStatus("Loading",e),e=yield this.dataAdapter.getDataAsync(e,o,a),o!==this._user)return(0,g.createUpdateDetails)(!1,this._store.getSource(),-1,new Error("User changed during update"),this._network.getLastUsedInitUrlAndReset());let n=!1;e!=null&&(g.Diagnostics._markInitProcessStart(this._sdkKey),n=this._store.setValues(e,this._user),g.Diagnostics._markInitProcessEnd(this._sdkKey,{success:n})),this._finalizeUpdate(e),n||(this._errorBoundary.attachErrorIfNoneExists(g.UPDATE_DETAIL_ERROR_MESSAGES.NO_NETWORK_DATA),this.$emt({name:"initialization_failure"})),g.Diagnostics._markInitOverallEnd(this._sdkKey,n,this._store.getCurrentSourceDetails());const s=g.Diagnostics._enqueueDiagnosticsEvent(this._user,this._logger,this._sdkKey,this._options);return(0,g.createUpdateDetails)(n,this._store.getSource(),s,this._errorBoundary.getLastSeenErrorAndReset(),this._network.getLastUsedInitUrlAndReset(),this._store.getWarnings())})}getContext(){return{sdkKey:this._sdkKey,options:this._options,values:this._store.getValues(),user:JSON.parse(JSON.stringify(this._user)),errorBoundary:this._errorBoundary,session:g.StatsigSession.get(this._sdkKey),stableID:g.StableID.get(this._sdkKey)}}checkGate(l,a){return this.getFeatureGate(l,a).value}logEvent(l,a,o){const e=typeof l=="string"?{eventName:l,value:a,metadata:o}:l;this.$emt({name:"log_event_called",event:e}),this._logger.enqueue(Object.assign(Object.assign({},e),{user:this._user,time:Date.now()}))}_primeReadyRipcord(){this.$on("error",()=>{this.loadingStatus==="Loading"&&this._finalizeUpdate(null)})}_initializeAsyncImpl(l){return r(this,void 0,void 0,function*(){return g.Storage.isReady()||(yield g.Storage.isReadyResolver()),this._logger.start(),this.updateUserAsync(this._user,l)})}_finalizeUpdate(l){this._store.finalize(),this._setStatus("Ready",l)}_runPostUpdate(l,a){this.dataAdapter.getDataAsync(l,a,{priority:"low"}).catch(o=>{g.Log.error("An error occurred after update.",o)})}_resetForUser(l){this._logger.reset(),this._store.reset(),this._user=this._configureUser(l,this._options)}_configureUser(l,a){var o;const e=(0,g._normalizeUser)(l,a),n=(o=e.customIDs)===null||o===void 0?void 0:o.stableID;return n&&g.StableID.setOverride(n,this._sdkKey),e}_getFeatureGateImpl(l,a){var o,e;const{result:n,details:s}=this._store.getGate(l),i=(0,g._makeFeatureGate)(l,s,n),t=(e=(o=this.overrideAdapter)===null||o===void 0?void 0:o.getGateOverride)===null||e===void 0?void 0:e.call(o,i,this._user,a),_=t??i;return this._enqueueExposure(l,(0,g._createGateExposure)(this._user,_,this._store.getExposureMapping()),a),this.$emt({name:"gate_evaluation",gate:_}),_}_getDynamicConfigImpl(l,a){var o,e;const{result:n,details:s}=this._store.getConfig(l),i=(0,g._makeDynamicConfig)(l,s,n),t=(e=(o=this.overrideAdapter)===null||o===void 0?void 0:o.getDynamicConfigOverride)===null||e===void 0?void 0:e.call(o,i,this._user,a),_=t??i;return this._enqueueExposure(l,(0,g._createConfigExposure)(this._user,_,this._store.getExposureMapping()),a),this.$emt({name:"dynamic_config_evaluation",dynamicConfig:_}),_}_getExperimentImpl(l,a){var o,e,n,s;const{result:i,details:t}=this._store.getConfig(l),_=(0,g._makeExperiment)(l,t,i);_.__evaluation!=null&&(_.__evaluation.secondary_exposures=(0,g._mapExposures)((e=(o=_.__evaluation)===null||o===void 0?void 0:o.secondary_exposures)!==null&&e!==void 0?e:[],this._store.getExposureMapping()));const m=(s=(n=this.overrideAdapter)===null||n===void 0?void 0:n.getExperimentOverride)===null||s===void 0?void 0:s.call(n,_,this._user,a),f=m??_;return this._enqueueExposure(l,(0,g._createConfigExposure)(this._user,f,this._store.getExposureMapping()),a),this.$emt({name:"experiment_evaluation",experiment:f}),f}_getLayerImpl(l,a){var o,e,n;const{result:s,details:i}=this._store.getLayer(l),t=(0,g._makeLayer)(l,i,s),_=(e=(o=this.overrideAdapter)===null||o===void 0?void 0:o.getLayerOverride)===null||e===void 0?void 0:e.call(o,t,this._user,a);a?.disableExposureLog&&this._logger.incrementNonExposureCount(l);const m=(0,g._mergeOverride)(t,_,(n=_?.__value)!==null&&n!==void 0?n:t.__value,f=>{a?.disableExposureLog||this._enqueueExposure(l,(0,g._createLayerParameterExposure)(this._user,m,f,this._store.getExposureMapping()),a)});return this.$emt({name:"layer_evaluation",layer:m}),m}_getParameterStoreImpl(l,a){var o,e;const{result:n,details:s}=this._store.getParamStore(l);this._logger.incrementNonExposureCount(l);const i={name:l,details:s,__configuration:n,get:(0,v._makeParamStoreGetter)(this,n,a)},t=(e=(o=this.overrideAdapter)===null||o===void 0?void 0:o.getParamStoreOverride)===null||e===void 0?void 0:e.call(o,i,a);return t!=null&&(i.__configuration=t.config,i.details=t.details,i.get=(0,v._makeParamStoreGetter)(this,t.config,a)),i}};return he.default=u,he}var bn;function zn(){return bn||(bn=1,(function(r){var g=Y&&Y.__createBinding||(Object.create?(function(u,c,l,a){a===void 0&&(a=l);var o=Object.getOwnPropertyDescriptor(c,l);(!o||("get"in o?!c.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return c[l]}}),Object.defineProperty(u,a,o)}):(function(u,c,l,a){a===void 0&&(a=l),u[a]=c[l]})),y=Y&&Y.__exportStar||function(u,c){for(var l in u)l!=="default"&&!Object.prototype.hasOwnProperty.call(c,l)&&g(c,u,l)};Object.defineProperty(r,"__esModule",{value:!0}),r.StatsigClient=void 0;const h=Q(),v=Gn();r.StatsigClient=v.default,y(Q(),r);const d=Object.assign((0,h._getStatsigGlobal)(),{StatsigClient:v.default});r.default=d})(Y)),Y}var Vn=zn();export{Vn as s};
2
+ //# sourceMappingURL=statsig-DlszSNOf.esm.js.map