@contentcredits/sdk 2.14.0 → 2.16.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.
- package/dist/content-credits.cjs.js +196 -118
- package/dist/content-credits.cjs.js.map +1 -1
- package/dist/content-credits.esm.js +196 -118
- package/dist/content-credits.esm.js.map +1 -1
- package/dist/content-credits.umd.min.js +1 -1
- package/dist/content-credits.umd.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).ContentCreditsSDK={})}(this,function(e){"use strict";function n(e){try{const n=e.split(".");if(3!==n.length)return null;const t=n[1].replace(/-/g,"+").replace(/_/g,"/"),o=t.padEnd(t.length+(4-t.length%4)%4,"="),i=decodeURIComponent(atob(o).split("").map(e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)).join(""));return JSON.parse(i)}catch(e){return null}}function t(e){const t=n(e);return!t||"number"!=typeof t.exp||Date.now()/1e3>t.exp}const o="cc_sdk_token",i="cc_rt";let c=null;const a={set(e){c=e;try{sessionStorage.setItem(o,e)}catch(e){}},get(){if(c)return t(c)?(this.clear(),null):c;try{const e=sessionStorage.getItem(o);if(e)return t(e)?(this.clear(),null):(c=e,e)}catch(e){}return null},clear(){c=null;try{sessionStorage.removeItem(o)}catch(e){}},has(){return null!==this.get()}},r={set(e){try{localStorage.setItem(i,e)}catch(e){}},get(){try{return localStorage.getItem(i)}catch(e){return null}},clear(){try{localStorage.removeItem(i)}catch(e){}},has(){return null!==this.get()}};async function s(e){const n=r.get();if(!n)return!1;const t=new AbortController,o=setTimeout(()=>t.abort(),8e3);try{const i=await fetch(`${e}/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:n}),credentials:"omit",signal:t.signal});if(clearTimeout(o),!i.ok)return r.clear(),!1;const c=await i.json();return(null==c?void 0:c.accessToken)&&(null==c?void 0:c.refreshToken)?(a.set(c.accessToken),r.set(c.refreshToken),!0):(r.clear(),!1)}catch(e){return clearTimeout(o),!1}}const l=new Map;class d extends Error{constructor(e,n,t){super(n),this.status=e,this.data=t,this.name="ApiError"}}const u="data-cc-gated";function p(e){let n=!1,t=null,o=[];return{hide:function(){if(t=document.querySelector(e.selector),!t)return!1;if(t.hasAttribute(u))return!0;const i=Array.from(t.querySelectorAll("p, h2, h3, h4, blockquote, ul, ol"));if(i.length>e.teaserParagraphs){const n=i[e.teaserParagraphs],c=Array.from(t.childNodes),a=c.findIndex(e=>e===n||t.contains(e)&&e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING);o=c.slice(a<0?e.teaserParagraphs:a),o.forEach(e=>{var n,t,o,i;(e instanceof HTMLElement||e instanceof Text)&&(null===(t=null===(n=e.style)||void 0===n?void 0:n.setProperty)||void 0===t||t.call(n,"display","none"),null===(i=(o=e).setAttribute)||void 0===i||i.call(o,"data-cc-hidden","true"))})}else o=Array.from(t.childNodes),o.forEach(e=>{e instanceof HTMLElement&&(e.style.display="none")});if(t.setAttribute(u,"true"),n=!0,"inline"===e.paywallMode&&!t.querySelector("[data-cc-fade]")){const e=t.style.position;e&&"static"!==e||(t.style.position="relative");const n=document.createElement("div");n.setAttribute("data-cc-fade","true"),n.style.cssText="position:absolute;bottom:0;left:0;width:100%;height:160px;background:linear-gradient(to bottom,transparent 0%,var(--cc-bg,#fff) 100%);pointer-events:none;z-index:1;",t.appendChild(n)}return!0},reveal:function(){if(!n)return;o.forEach(e=>{e instanceof HTMLElement&&(e.style.removeProperty("display"),e.removeAttribute("data-cc-hidden"))});const e=null==t?void 0:t.querySelector("[data-cc-fade]");e&&e.remove(),o=[],null==t||t.removeAttribute(u),n=!1},isGated:function(){return n}}}function h(e){let n=document.getElementById(e);n||(n=document.createElement("div"),n.id=e,n.style.cssText="position:fixed;bottom:0;left:0;width:100%;height:auto;z-index:2147483647;",document.body.appendChild(n));const t=n._ccShadow;if(t)return{host:n,root:t};const o=n.attachShadow({mode:"open"});return n._ccShadow=o,{host:n,root:o}}function m(e){const n=document.getElementById(e);n&&n.remove()}function f(e,n){const t=e.querySelector("style[data-cc-styles]");if(t)return void(t.textContent=n);const o=document.createElement("style");o.dataset.ccStyles="true",o.textContent=n,e.appendChild(o)}function g(e,n){e.textContent=n}function y(e,n,t){const o=document.createElement(e);return void 0!==n&&(o.textContent=n),o}const b="cc-paywall-host";function v(e){var n,t,o,i,c;switch(e.type){case"heading":{const t=y("span",null!==(n=e.content)&&void 0!==n?n:"");return t.className="cc-slot-heading",t}case"subheading":{const n=y("span",null!==(t=e.content)&&void 0!==t?t:"");return n.className="cc-slot-subheading",n}case"text":{const n=y("span",null!==(o=e.content)&&void 0!==o?o:"");return n.className="cc-slot-text",n}case"button":{const n=y("button",null!==(i=e.content)&&void 0!==i?i:""),t="outline"===e.variant?"cc-btn-outline":"secondary"===e.variant?"cc-btn-secondary":"cc-btn-primary";return n.className=`cc-btn ${t}`,e.onClick&&n.addEventListener("click",e.onClick),n}case"divider":{const n=y("div",null!==(c=e.content)&&void 0!==c?c:"");return n.className="cc-slot-divider",n}}}function x(){const e=navigator.userAgent;return!!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(e)||!("function"!=typeof window.matchMedia||!window.matchMedia("(pointer: coarse)").matches||!window.matchMedia("(max-width: 768px)").matches)}function w(){var e,n;try{const t=new URL(window.location.href),o=null!==(e=t.searchParams.get("token"))&&void 0!==e?e:t.searchParams.get("cc_token"),i=null!==(n=t.searchParams.get("refresh_token"))&&void 0!==n?n:t.searchParams.get("cc_refresh_token");if(function(){try{const e=new URL(window.location.href);let n=!1;["token","cc_token","refresh_token","cc_refresh_token"].forEach(t=>{e.searchParams.has(t)&&(e.searchParams.delete(t),n=!0)}),n&&history.replaceState(null,"",e.toString())}catch(e){}}(),i&&r.set(i),o){a.set(o);const e=window.opener;if(e&&!e.closed){try{e.postMessage({type:"cc_auth_callback",token:o,refreshToken:null!=i?i:null},window.location.origin)}catch(e){}setTimeout(()=>{try{window.close()}catch(e){}},300)}return o}}catch(e){}return null}function C(e){return new Promise(n=>{let t=null,o=!1;function i(e){o||(o=!0,clearInterval(l),window.removeEventListener("message",c),n(e))}function c(e){if(e.origin!==window.location.origin)return;if("object"!=typeof(n=e.data)||null===n||"cc_auth_callback"!==n.type)return;var n;const o=e.data.token,c=e.data.refreshToken;if(o){a.set(o),c&&r.set(c);try{null==t||t.close()}catch(e){}i(o)}}window.addEventListener("message",c);try{t=window.open(e,"ccAuthPopup",`scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no,width=600,height=650,left=${Math.round(window.screenX+(window.outerWidth-600)/2)},top=${Math.round(window.screenY+(window.outerHeight-650)/2)}`)}catch(e){return window.removeEventListener("message",c),void n(null)}if(!t||t.closed)return window.removeEventListener("message",c),void n(null);let s=0;const l=setInterval(()=>{var e,n;if(s+=200,t&&!t.closed)if(s>3e5){try{t.close()}catch(e){}i(null)}else try{const o=t.location.href;if(o.includes("/auth/callback")||o.includes("cc_token=")||o.includes("token=")){const o=new URLSearchParams(t.location.search),c=null!==(e=o.get("token"))&&void 0!==e?e:o.get("cc_token"),s=null!==(n=o.get("refresh_token"))&&void 0!==n?n:o.get("cc_refresh_token");if(c){a.set(c),s&&r.set(s);try{t.close()}catch(e){}i(c)}}}catch(e){}else i(a.get())},200)})}function k(e,n,t,o,i){const c=null!=i?i:p({selector:e.contentSelector,teaserParagraphs:e.teaserParagraphs,paywallMode:e.paywallMode}),r=function(e){let n=null,t=null,o=null;function i(){const i=document.querySelector(e.contentSelector);if(!i)return;const{root:c}="overlay"===e.paywallMode?h(b):function(e,n){let t=document.getElementById(e);t||(t=document.createElement("div"),t.id=e,n.parentNode.insertBefore(t,n.nextSibling));const o=t._ccShadow;if(o)return{host:t,root:o};const i=t.attachShadow({mode:"open"});return t._ccShadow=i,{host:t,root:i}}(b,i);var a,r;n=c,f(n,`\n *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n /* ── Inline paywall panel — sits below teaser in the page flow ── */\n .cc-paywall-inline {\n width: 100%;\n padding: 36px 24px 32px;\n background: #fff;\n border: 1px solid #e5e7eb;\n border-top: 3px solid ${a=e.theme.primaryColor};\n border-radius: 0 0 12px 12px;\n text-align: center;\n font-family: ${r=e.theme.fontFamily};\n box-sizing: border-box;\n }\n\n .cc-paywall-inline h2 {\n font-size: 20px;\n font-weight: 700;\n color: #111827;\n margin-bottom: 8px;\n }\n\n .cc-paywall-inline p {\n font-size: 14px;\n color: #6b7280;\n margin-bottom: 24px;\n line-height: 1.6;\n }\n\n /* ── Overlay paywall panel — full-width white panel below gated content ── */\n .cc-paywall-overlay {\n /* Fixed to the bottom of the viewport — always visible, full width */\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100%;\n background: #fff;\n box-shadow: 0 -8px 40px rgba(0,0,0,0.10);\n border-top: 1px solid #e5e7eb;\n font-family: ${r};\n }\n\n /* Gradient that fades the article into the panel.\n Sits above the panel via position:absolute + negative top. */\n .cc-paywall-overlay-gradient {\n position: absolute;\n top: -120px;\n left: 0;\n right: 0;\n height: 120px;\n background: linear-gradient(to bottom, transparent 0%, #fff 100%);\n pointer-events: none;\n }\n\n /* Top slot — client-supplied content */\n .cc-paywall-overlay-slot {\n padding: 20px 24px 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 10px;\n }\n\n /* Our SDK's unlock section below the slot */\n .cc-paywall-overlay-body {\n padding: 16px 24px 24px;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0;\n text-align: center;\n }\n\n /* Slot item — heading */\n .cc-slot-heading {\n font-size: 22px;\n font-weight: 700;\n color: #111827;\n text-align: center;\n line-height: 1.3;\n }\n\n /* Slot item — subheading */\n .cc-slot-subheading {\n font-size: 16px;\n font-weight: 600;\n color: #374151;\n text-align: center;\n }\n\n /* Slot item — body text */\n .cc-slot-text {\n font-size: 14px;\n color: #6b7280;\n text-align: center;\n line-height: 1.6;\n }\n\n /* Slot item — divider with optional label */\n .cc-slot-divider {\n display: flex;\n align-items: center;\n gap: 12px;\n width: 100%;\n max-width: 320px;\n font-size: 13px;\n color: #9ca3af;\n }\n .cc-slot-divider::before,\n .cc-slot-divider::after {\n content: '';\n flex: 1;\n border-top: 1px solid #e5e7eb;\n }\n\n .cc-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n height: 44px;\n padding: 0 20px;\n border: none;\n border-radius: 8px;\n font-family: ${r};\n font-size: 15px;\n font-weight: 600;\n cursor: pointer;\n transition: opacity 0.15s ease, transform 0.1s ease;\n width: 100%;\n max-width: 320px;\n }\n .cc-btn:hover:not(:disabled) { opacity: 0.88; }\n .cc-btn:active:not(:disabled) { transform: scale(0.98); }\n .cc-btn:disabled { opacity: 0.55; cursor: not-allowed; }\n\n .cc-btn-primary {\n background: ${a};\n color: #fff;\n }\n\n .cc-btn-secondary {\n background: #111827;\n color: #fff;\n margin-top: 10px;\n }\n\n .cc-btn-outline {\n background: transparent;\n color: #111827;\n border: 2px solid #111827;\n margin-top: 10px;\n }\n\n .cc-credit-badge {\n display: inline-block;\n background: #fef3c7;\n color: #92400e;\n border-radius: 20px;\n padding: 2px 10px;\n font-size: 13px;\n font-weight: 600;\n margin-bottom: 16px;\n }\n\n .cc-spinner {\n width: 18px; height: 18px;\n border: 2px solid rgba(255,255,255,0.4);\n border-top-color: #fff;\n border-radius: 50%;\n animation: cc-spin 0.7s linear infinite;\n flex-shrink: 0;\n }\n @keyframes cc-spin { to { transform: rotate(360deg); } }\n\n .cc-powered-by {\n margin-top: 20px;\n font-size: 12px;\n color: #9ca3af;\n }\n .cc-powered-by a {\n color: ${a};\n text-decoration: none;\n font-weight: 600;\n }\n .cc-powered-by a:hover { text-decoration: underline; }\n `),"overlay"===e.paywallMode?function(n,i){var c;const a=y("div");a.className="cc-paywall-overlay";const r=y("div");r.className="cc-paywall-overlay-gradient";const s=getComputedStyle(document.body).backgroundColor;s&&"rgba(0, 0, 0, 0)"!==s&&"transparent"!==s&&(r.style.background=`linear-gradient(to bottom, transparent 0%, ${s} 100%)`),a.appendChild(r),i.style.paddingBottom="200px";const l=y("div");if(l.className="cc-paywall-overlay-slot",o=null!==(c=function(e,n,t){if(n){if("object"==typeof(o=n)&&null!==o&&"$$typeof"in o&&!Array.isArray(o)&&!(o instanceof HTMLElement))return t?function(e,n,t){if("function"==typeof t.createRoot){const o=t.createRoot(e);return o.render(n),o}if("function"==typeof t.render)return t.render(n,e),{unmount(){var n;const o=t;null===(n=o.unmountComponentAtNode)||void 0===n||n.call(o,e)}};console.warn("[ContentCredits] The provided `reactDOM` has neither `createRoot` nor `render`. Pass a valid ReactDOM instance.")}(e,n,t):void console.warn("[ContentCredits] paywallTopSlot is a React element but `reactDOM` was not provided. Pass your ReactDOM instance: ContentCredits.init({ reactDOM, paywallTopSlot: <Widget /> })");var o;if("function"!=typeof n)if(n instanceof HTMLElement)e.appendChild(n);else for(const t of n)e.appendChild(v(t));else n(e)}}(l,e.paywallTopSlot,e.reactDOM))&&void 0!==c?c:null,a.appendChild(l),e.paywallTopSlot){const e=y("div");e.className="cc-slot-divider",e.style.cssText="margin: 4px auto 0; padding: 0 24px;",e.textContent="or",a.appendChild(e)}t=y("div"),t.className="cc-paywall-overlay-body",a.appendChild(t),n.appendChild(a)}(n,i):function(e){t=y("div"),t.className="cc-paywall-inline",e.appendChild(t)}(n)}function c(){const e=y("div");e.className="cc-powered-by",e.textContent="Powered by ";const n=y("a","Content Credits");return n.setAttribute("href","https://contentcredits.com"),n.setAttribute("target","_blank"),n.setAttribute("rel","noopener noreferrer"),e.appendChild(n),e}function a(){if(null==o||o.unmount(),o=null,m(b),"overlay"===e.paywallMode){const n=document.querySelector(e.contentSelector);n&&(n.style.paddingBottom="")}n=null,t=null}return{init:i,render:function(n,o,r){var s,l,d;if("checking"!==n&&(t||i(),t)){for(;t.firstChild;)t.removeChild(t.firstChild);switch(n){case"login":!function(n,t){"inline"===e.paywallMode&&(n.appendChild(y("h2","This article requires a subscription")),n.appendChild(y("p","Log in with your Content Credits account to unlock this article.")));const o=y("button","Login & Unlock with Content Credits");o.className="cc-btn cc-btn-primary",o.addEventListener("click",()=>{t.onLogin()}),n.appendChild(o),n.appendChild(c())}(t,o);break;case"purchase":!function(n,t,o){if("inline"===e.paywallMode){if(n.appendChild(y("h2","Unlock this article")),null!==o){const e=y("span",`${o} credit${1!==o?"s":""}`);e.className="cc-credit-badge",n.appendChild(e)}n.appendChild(y("p","Use your Content Credits balance to instantly access this premium article."))}const i=y("button",null!==o?`Unlock Just This Story · ${o} Credit${1!==o?"s":""}`:"Unlock Just This Story");i.className="cc-btn cc-btn-outline",i.addEventListener("click",()=>{t.onPurchase()}),n.appendChild(i),n.appendChild(c())}(t,o,null!==(s=null==r?void 0:r.requiredCredits)&&void 0!==s?s:null);break;case"insufficient":!function(n,t,o,i){"inline"===e.paywallMode&&n.appendChild(y("h2","Not enough credits"));const a=null!==o&&null!==i?`You need ${o} credit${1!==o?"s":""} but only have ${i}.`:"You don't have enough credits to unlock this article.";n.appendChild(y("p",a));const r=y("button","Buy More Credits");r.className="cc-btn cc-btn-primary",r.addEventListener("click",()=>t.onBuyMoreCredits()),n.appendChild(r),n.appendChild(c())}(t,o,null!==(l=null==r?void 0:r.requiredCredits)&&void 0!==l?l:null,null!==(d=null==r?void 0:r.creditBalance)&&void 0!==d?d:null);break;case"loading":!function(e){const n=y("button");n.className="cc-btn cc-btn-outline",n.disabled=!0;const t=y("span");t.className="cc-spinner",n.appendChild(t),n.appendChild(document.createTextNode(" Processing…")),e.appendChild(n)}(t);break;case"granted":a()}}},setButtonLoading:function(e){if(!t)return;const n=t.querySelector(".cc-btn");if(n&&(n.disabled=e,e)){const e=y("span");e.className="cc-spinner",g(n,""),n.appendChild(e),n.appendChild(document.createTextNode(" Processing…"))}},destroy:a}}(e),s=function(){let e=null,n=null;function t(t){var o,i,c,a;if(!function(){const e=["https://accounts.contentcredits.com"];try{e.push(window.location.origin)}catch(e){}return e}().includes(t.origin)&&t.origin!==window.location.origin)return;const r=t.data;if(r&&"object"==typeof r&&r.type)switch(r.type){case"authorization_response":{const n=null!==(o=r.data)&&void 0!==o?o:null===(i=t.detail)||void 0===i?void 0:i.data;n&&e&&e(n);break}case"purchase_response":{const e=null!==(c=r.data)&&void 0!==c?c:null===(a=t.detail)||void 0===a?void 0:a.data;e&&n&&n(e);break}}}return{attach:function(){window.addEventListener("message",t),window.addEventListener("authorization_response",n=>{const t=n.detail;(null==t?void 0:t.data)&&e&&e(t.data)}),window.addEventListener("purchase_response",e=>{const t=e.detail;(null==t?void 0:t.data)&&n&&n(t.data)})},detach:function(){window.removeEventListener("message",t)},requestAuthorization:function(e,n){window.postMessage({type:"request_authorization",data:{articleId:e,hostName:n}},window.location.origin)},requestPurchase:function(e){window.postMessage({type:"request_purchase",data:e},window.location.origin)},requestLogin:function(e){window.postMessage({type:"request_login",data:{hostName:e}},window.location.origin)},onAuthorizationResponse:function(n){e=n},onPurchaseResponse:function(e){n=e}}}();let l=!1;function u(n=0,i=0){var a;t.set({hasAccess:!0,isLoaded:!0,isLoading:!1}),e.headless||(c.reveal(),r.render("granted",{onLogin:k,onPurchase:L,onBuyMoreCredits:E})),o.emit("paywall:hidden",{}),o.emit("article:purchased",{creditsSpent:n,remainingBalance:i}),null===(a=e.onAccessGranted)||void 0===a||a.call(e)}async function k(){const n=`https://accounts.contentcredits.com/authenticate/extension?redirect=${encodeURIComponent(e.articleUrl)}`;l?s.requestLogin(e.hostName):x()?window.location.href=n:(e.headless||r.render("loading",{onLogin:k,onPurchase:L,onBuyMoreCredits:E}),await C(n)?(t.set({isLoggedIn:!0}),await N()):e.headless||r.render("login",{onLogin:k,onPurchase:L,onBuyMoreCredits:E}))}async function L(){var i,c,p,h,m;if(a.has())if(l)s.requestPurchase({articleId:e.apiKey,hostName:e.hostName,location:e.articleUrl,title:e.pageTitle});else{e.headless||r.render("loading",{onLogin:k,onPurchase:L,onBuyMoreCredits:E}),t.set({isLoading:!0});try{const c=await n.purchaseArticle({apiKey:e.apiKey,postUrl:e.articleUrl,postName:e.pageTitle,hostName:e.hostName});c.success?u(0,0):(t.set({isLoading:!1}),e.headless||r.render("purchase",{onLogin:k,onPurchase:L,onBuyMoreCredits:E}),o.emit("error",{message:null!==(i=c.message)&&void 0!==i?i:"Purchase failed"}))}catch(n){if(t.set({isLoading:!1}),n instanceof d&&402===n.status){e.headless||r.render("insufficient",{onLogin:k,onPurchase:L,onBuyMoreCredits:E},{requiredCredits:t.get().requiredCredits,creditBalance:t.get().creditBalance});const n=null!==(c=t.get().requiredCredits)&&void 0!==c?c:0,i=null!==(p=t.get().creditBalance)&&void 0!==p?p:0;null===(h=e.onInsufficientCredits)||void 0===h||h.call(e,{required:n,available:i}),o.emit("credits:insufficient",{required:n,available:i})}else e.headless||r.render("purchase",{onLogin:k,onPurchase:L,onBuyMoreCredits:E}),null===(m=e.onPurchaseRequired)||void 0===m||m.call(e,{requiredCredits:t.get().requiredCredits,creditBalance:t.get().creditBalance}),o.emit("error",{message:"Purchase failed",error:n})}}else await k()}function E(){window.open("https://accounts.contentcredits.com/consumer/dashboard","_blank","noopener,noreferrer")}async function N(){var i,p,h;if(t.set({isLoading:!0}),e.headless||r.render("checking",{onLogin:k,onPurchase:L,onBuyMoreCredits:E}),l){const n=await new Promise(n=>{const i=setTimeout(()=>{l=!1,t.set({isExtensionAvailable:!1}),n(!1)},3e3);s.onAuthorizationResponse(a=>{clearTimeout(i),function(n){var i,a,s,l,d,p,h;t.set({isLoggedIn:n.isAuthenticated,hasAccess:n.doesHaveAccess,isLoaded:!0,isLoading:!1,creditBalance:null!==(i=n.creditBalance)&&void 0!==i?i:null,requiredCredits:null!==(a=n.requiredCredits)&&void 0!==a?a:null}),n.isAuthenticated?n.doesHaveAccess?u(0,null!==(l=n.creditBalance)&&void 0!==l?l:0):(e.headless||(c.hide(),r.render("purchase",{onLogin:k,onPurchase:L,onBuyMoreCredits:E},{requiredCredits:n.requiredCredits,creditBalance:n.creditBalance})),null===(d=e.onPurchaseRequired)||void 0===d||d.call(e,{requiredCredits:null!==(p=n.requiredCredits)&&void 0!==p?p:null,creditBalance:null!==(h=n.creditBalance)&&void 0!==h?h:null}),o.emit("paywall:shown",{})):(e.headless||(c.hide(),r.render("login",{onLogin:k,onPurchase:L,onBuyMoreCredits:E})),null===(s=e.onLoginRequired)||void 0===s||s.call(e),o.emit("paywall:shown",{}))}(a),n(!0)}),s.requestAuthorization(e.apiKey,e.hostName)});if(n)return}if(!a.has())return t.set({isLoading:!1,isLoaded:!0}),e.headless||(c.hide(),r.render("login",{onLogin:k,onPurchase:L,onBuyMoreCredits:E})),null===(i=e.onLoginRequired)||void 0===i||i.call(e),void o.emit("paywall:shown",{});try{const i=await n.checkAccess({apiKey:e.apiKey,postUrl:e.articleUrl,postName:e.pageTitle,hostName:e.hostName});t.set({isLoading:!1,isLoaded:!0,hasAccess:i.success,isLoggedIn:!0}),i.success?u(0,0):(e.headless||(c.hide(),r.render("purchase",{onLogin:k,onPurchase:L,onBuyMoreCredits:E})),null===(p=e.onPurchaseRequired)||void 0===p||p.call(e,{requiredCredits:t.get().requiredCredits,creditBalance:t.get().creditBalance}),o.emit("paywall:shown",{}))}catch(n){t.set({isLoading:!1,isLoaded:!0}),e.headless||(c.hide(),r.render("login",{onLogin:k,onPurchase:L,onBuyMoreCredits:E})),null===(h=e.onLoginRequired)||void 0===h||h.call(e),n instanceof d&&401===n.status||o.emit("error",{message:"Access check failed",error:n})}}return{init:async function(){var n;w()&&t.set({isLoggedIn:!0}),l=await(n=e.extensionId,n&&"string"==typeof n?new Promise(e=>{let t=!1;function o(n){t||(t=!0,e(n))}if(!0===window.__CC_EXTENSION_LOADED)return void o(!0);const i=new Image;i.onload=()=>o(!0),i.onerror=()=>o(!1),i.src=`chrome-extension://${n}/icons/icon16.png`,setTimeout(()=>o(!1),2e3)}):Promise.resolve(!1)),t.set({isExtensionAvailable:l}),l&&(s.attach(),s.onPurchaseResponse(e=>{var n,i;t.set({isLoading:!1,isLoaded:!0,hasAccess:e.doesHaveAccess}),e.doesHaveAccess?u(null!==(n=e.creditsSpent)&&void 0!==n?n:0,null!==(i=e.creditBalance)&&void 0!==i?i:0):(r.render("purchase",{onLogin:k,onPurchase:L,onBuyMoreCredits:E}),o.emit("error",{message:"Purchase failed via extension"}))})),await N()},checkAccess:N,destroy:function(){s.detach(),e.headless||(r.destroy(),c.reveal())},login:k,purchase:L,buyMoreCredits:E}}const L="cc-widget-pos",E="cc-comments-host",N=["#6366f1","#ec4899","#8b5cf6","#14b8a6","#f59e0b","#ef4444"];function T(e,t,o,i){let c=null,r=null,s=null,l=[],d="TOP",u=null,p=null,b=null;function v(){if(c)return c;const{root:n}=h(E);var t,o;return c=n,f(c,`\n *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n /* ── Widget Button ───────────────────────────────────── */\n .cc-widget-btn {\n position: fixed;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n width: auto;\n height: 60px;\n background: ${t=e.theme.primaryColor};\n border-radius: 10px 0 0 10px;\n display: flex;\n align-items: center;\n gap: 8px;\n padding-left: 12px;\n padding-right: 6px;\n z-index: 2147483646;\n box-shadow: -2px 0 16px rgba(0,0,0,0.12);\n cursor: pointer;\n user-select: none;\n font-family: ${o=e.theme.fontFamily};\n transition: background 0.2s;\n pointer-events: all;\n }\n .cc-widget-btn:hover { filter: brightness(1.08); }\n\n .cc-widget-icon { color: #fff; display: flex; align-items: center; }\n .cc-widget-badge {\n background: #fff;\n color: ${t};\n border-radius: 12px;\n padding: 2px 7px;\n font-size: 12px;\n font-weight: 700;\n min-width: 20px;\n text-align: center;\n }\n .cc-widget-drag-handle {\n color: rgba(255,255,255,0.7);\n cursor: grab;\n display: flex;\n align-items: center;\n padding: 0 4px;\n }\n .cc-widget-drag-handle:active { cursor: grabbing; }\n\n /* ── Panel Overlay ───────────────────────────────────── */\n .cc-panel-backdrop {\n position: fixed;\n inset: 0;\n background: rgba(0,0,0,0.35);\n z-index: 2147483645;\n opacity: 0;\n transition: opacity 0.25s;\n pointer-events: all;\n }\n .cc-panel-backdrop.cc-visible { opacity: 1; }\n\n .cc-panel {\n position: fixed;\n top: 0; right: -500px;\n width: 460px;\n max-width: 95vw;\n height: 100%;\n background: #f9fafb;\n z-index: 2147483646;\n display: flex;\n flex-direction: column;\n box-shadow: -4px 0 32px rgba(0,0,0,0.12);\n transition: right 0.28s cubic-bezier(0.4, 0, 0.2, 1);\n font-family: ${o};\n pointer-events: all;\n }\n .cc-panel.cc-open { right: 0; }\n\n /* ── Panel Header ────────────────────────────────────── */\n .cc-panel-header {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 16px 20px;\n border-bottom: 1px solid #e5e7eb;\n background: #fff;\n flex-shrink: 0;\n }\n .cc-panel-title {\n font-size: 16px;\n font-weight: 700;\n color: #111827;\n flex: 1;\n }\n .cc-panel-count {\n font-size: 13px;\n color: #6b7280;\n font-weight: 400;\n }\n .cc-panel-close-btn {\n background: transparent;\n border: none;\n cursor: pointer;\n color: #6b7280;\n padding: 4px;\n display: flex;\n align-items: center;\n border-radius: 6px;\n transition: background 0.15s;\n }\n .cc-panel-close-btn:hover { background: #f3f4f6; }\n\n .cc-back-btn {\n background: transparent;\n border: none;\n cursor: pointer;\n color: #6b7280;\n padding: 4px;\n display: none;\n align-items: center;\n border-radius: 6px;\n transition: background 0.15s;\n }\n .cc-back-btn.cc-visible { display: flex; }\n .cc-back-btn:hover { background: #f3f4f6; }\n\n /* ── Sort Bar ────────────────────────────────────────── */\n .cc-sort-bar {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 10px 20px;\n border-bottom: 1px solid #f3f4f6;\n background: #fff;\n flex-shrink: 0;\n }\n .cc-sort-label { font-size: 12px; color: #9ca3af; font-weight: 500; }\n .cc-sort-btn {\n background: transparent;\n border: none;\n cursor: pointer;\n font-size: 12px;\n font-weight: 600;\n color: #6b7280;\n padding: 4px 8px;\n border-radius: 6px;\n font-family: ${o};\n transition: background 0.15s, color 0.15s;\n }\n .cc-sort-btn:hover { background: #f3f4f6; }\n .cc-sort-btn.cc-active { background: #111827; color: #fff; }\n\n /* ── Comments List ───────────────────────────────────── */\n .cc-comments-list {\n flex: 1;\n overflow-y: auto;\n overscroll-behavior: contain;\n }\n .cc-comments-list::-webkit-scrollbar { width: 4px; }\n .cc-comments-list::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 4px; }\n\n /* ── Comment Card ────────────────────────────────────── */\n .cc-comment-card {\n padding: 16px 20px;\n background: #fff;\n border-bottom: 1px solid #f3f4f6;\n }\n .cc-comment-card.cc-reply {\n padding-left: 36px;\n background: #fafafa;\n }\n\n .cc-comment-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n margin-bottom: 8px;\n }\n .cc-comment-author-row { display: flex; align-items: center; gap: 10px; }\n\n .cc-avatar {\n width: 32px; height: 32px;\n border-radius: 50%;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #fff;\n font-weight: 700;\n font-size: 12px;\n overflow: hidden;\n }\n .cc-avatar img { width: 100%; height: 100%; object-fit: cover; }\n\n .cc-author-name {\n font-size: 14px;\n font-weight: 700;\n color: #111827;\n }\n .cc-comment-time {\n font-size: 11px;\n color: #9ca3af;\n margin-top: 2px;\n }\n\n .cc-comment-body {\n font-size: 14px;\n color: #374151;\n line-height: 1.6;\n margin-bottom: 12px;\n word-break: break-word;\n white-space: pre-wrap;\n }\n\n .cc-comment-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n .cc-action-btn {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n background: transparent;\n border: none;\n cursor: pointer;\n font-size: 12px;\n font-weight: 500;\n color: #6b7280;\n padding: 3px 6px;\n border-radius: 6px;\n font-family: ${o};\n transition: background 0.15s, color 0.15s;\n }\n .cc-action-btn:hover { background: #f3f4f6; }\n .cc-action-btn.cc-liked { color: #ef4444; }\n .cc-action-btn.cc-danger:hover { color: #ef4444; background: #fef2f2; }\n .cc-action-btn.cc-owner-actions { margin-left: auto; }\n\n /* ── Reply Subthread ─────────────────────────────────── */\n .cc-subthread-label {\n font-size: 11px;\n font-weight: 600;\n color: #94a3b8;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n padding: 12px 20px 8px;\n background: #f9fafb;\n }\n\n /* ── Empty / Loading / Error ─────────────────────────── */\n .cc-empty-state, .cc-loading-state, .cc-error-state {\n text-align: center;\n padding: 60px 20px;\n color: #9ca3af;\n }\n .cc-empty-state p, .cc-loading-state p, .cc-error-state p {\n font-size: 14px;\n font-weight: 500;\n color: #9ca3af;\n margin-bottom: 6px;\n }\n .cc-empty-state span, .cc-loading-state span, .cc-error-state span {\n font-size: 13px;\n color: #d1d5db;\n }\n .cc-error-state .cc-retry-btn {\n margin-top: 16px;\n padding: 8px 16px;\n background: #111827;\n color: #fff;\n border: none;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n font-family: ${o};\n }\n .cc-error-icon { color: #ef4444; margin-bottom: 12px; }\n\n .cc-spinner-lg {\n width: 28px; height: 28px;\n border: 2px solid #e5e7eb;\n border-top-color: ${t};\n border-radius: 50%;\n animation: cc-spin 0.7s linear infinite;\n margin: 0 auto 12px;\n }\n @keyframes cc-spin { to { transform: rotate(360deg); } }\n\n /* ── Compose Box ─────────────────────────────────────── */\n .cc-compose {\n border-top: 1px solid #e5e7eb;\n padding: 12px 20px;\n background: #fff;\n flex-shrink: 0;\n position: relative;\n }\n\n .cc-compose-textarea {\n width: 100%;\n min-height: 72px;\n max-height: 180px;\n border: 1.5px solid #d1d5db;\n border-radius: 8px;\n padding: 10px 12px;\n font-size: 14px;\n font-family: ${o};\n color: #111827;\n resize: vertical;\n outline: none;\n background: #fff;\n transition: border-color 0.15s;\n line-height: 1.5;\n }\n .cc-compose-textarea:focus { border-color: ${t}; }\n .cc-compose-textarea::placeholder { color: #9ca3af; }\n\n .cc-compose-actions {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: 8px;\n gap: 8px;\n }\n .cc-compose-cancel {\n background: transparent;\n border: none;\n cursor: pointer;\n font-size: 13px;\n color: #6b7280;\n font-family: ${o};\n padding: 6px;\n display: none;\n }\n .cc-compose-cancel.cc-visible { display: block; }\n .cc-compose-submit {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n height: 36px;\n padding: 0 16px;\n background: ${t};\n color: #fff;\n border: none;\n border-radius: 7px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n font-family: ${o};\n margin-left: auto;\n transition: opacity 0.15s;\n }\n .cc-compose-submit:disabled { opacity: 0.55; cursor: not-allowed; }\n\n .cc-spinner-sm {\n width: 14px; height: 14px;\n border: 2px solid rgba(255,255,255,0.4);\n border-top-color: #fff;\n border-radius: 50%;\n animation: cc-spin 0.7s linear infinite;\n }\n\n /* ── Login Overlay inside compose ────────────────────── */\n .cc-login-overlay {\n position: absolute;\n inset: 0;\n background: rgba(255,255,255,0.95);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 10px;\n padding: 16px;\n border-top: 1px solid #e5e7eb;\n }\n .cc-login-overlay p {\n font-size: 14px;\n color: #6b7280;\n text-align: center;\n }\n .cc-login-overlay-btn {\n height: 40px;\n padding: 0 20px;\n background: ${t};\n color: #fff;\n border: none;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n font-family: ${o};\n }\n `),c}function k(){const e=a.get();r=e?function(e){var t,o;const i=n(e);return i&&null!==(o=null!==(t=i.id)&&void 0!==t?t:i._id)&&void 0!==o?o:null}(e):null}async function L(){const n=`https://accounts.contentcredits.com/authenticate/extension?redirect=${encodeURIComponent(e.articleUrl)}`;x()?window.location.href=n:await C(n)&&(k(),z(),T())}async function T(){var n;const o=v(),i=o.getElementById("cc-comments-list");if(i){!function(e){e.innerHTML="";const n=y("div");n.className="cc-loading-state";const t=y("div");t.className="cc-spinner-lg",n.appendChild(t),n.appendChild(y("p","Loading comments…")),e.appendChild(n)}(i);try{const c=await t.ensureThread({pageUrl:e.articleUrl,hostname:e.hostName});if(!c._id)return void P(i,"Comments are not available for this page.");s=c._id;const a=await t.getComments({pageUrl:e.articleUrl,sortBy:d});l=null!==(n=a.comments)&&void 0!==n?n:[],a.thread&&(s=a.thread._id);const r=o.getElementById("cc-header-count");r&&g(r,String(l.length)),B(i)}catch(e){P(i,"Unable to reach the server. Check your connection.")}}}function S(e){const n=new Map,t=[];return e.forEach(e=>n.set(e._id,Object.assign(Object.assign({},e),{replies:[]}))),e.forEach(e=>{const o=n.get(e._id);if(e.parentCommentId){const t=n.get(e.parentCommentId);t&&!t.parentCommentId&&t.replies.push(o)}else t.push(o)}),t}function P(e,n){e.innerHTML="";const t=y("div");t.className="cc-error-state";const o=y("div");o.className="cc-error-icon",o.innerHTML='<svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/></svg>',t.appendChild(o),t.appendChild(y("p",n));const i=y("button","Try Again");i.className="cc-retry-btn",i.addEventListener("click",()=>{T()}),t.appendChild(i),e.appendChild(t)}function B(e){e.innerHTML="";const n=v(),t=n.getElementById("cc-back-btn"),o=n.getElementById("cc-panel-title");if(u?(null==t||t.classList.add("cc-visible"),o&&g(o,"Replies")):(null==t||t.classList.remove("cc-visible"),o&&g(o,"Comments")),u)!function(e,n){var t,o,i,c,a;const r=S(l).find(e=>e._id===n);if(!r)return;e.appendChild(M(r,!1));const s=y("div",`${null!==(o=null===(t=r.replies)||void 0===t?void 0:t.length)&&void 0!==o?o:0} ${1===(null!==(c=null===(i=r.replies)||void 0===i?void 0:i.length)&&void 0!==c?c:0)?"REPLY":"REPLIES"}`);if(s.className="cc-subthread-label",e.appendChild(s),null===(a=r.replies)||void 0===a?void 0:a.length)r.replies.forEach(n=>e.appendChild(M(n,!0)));else{const n=y("div");n.className="cc-empty-state",n.style.paddingTop="20px",n.appendChild(y("p","No replies yet")),e.appendChild(n)}}(e,u);else{if(0===l.length){const n=y("div");n.className="cc-empty-state",n.appendChild(y("p","No comments yet"));const t=y("span","Be the first to share your thoughts");return n.appendChild(t),void e.appendChild(n)}(function(e){const n=[...e];return"NEWEST"===d?n.sort((e,n)=>new Date(n.createdAt).getTime()-new Date(e.createdAt).getTime()):n.sort((e,n)=>{var t,o,i,c,a,r;return(null!==(o=null===(t=n.replies)||void 0===t?void 0:t.length)&&void 0!==o?o:0)-(null!==(c=null===(i=e.replies)||void 0===i?void 0:i.length)&&void 0!==c?c:0)||(null!==(a=n.likeCount)&&void 0!==a?a:0)-(null!==(r=e.likeCount)&&void 0!==r?r:0)}),n.forEach(e=>{var n;(null===(n=e.replies)||void 0===n?void 0:n.length)&&e.replies.sort((e,n)=>new Date(n.createdAt).getTime()-new Date(e.createdAt).getTime())}),n})(S(l)).forEach(n=>e.appendChild(M(n,!1)))}}function M(n,t){var o,i;const c=!(!r||n.authorId!==r),a=n.author,s=a?`${a.firstName} ${a.lastName}`.trim():"Anonymous",l=N[(s||"A").charCodeAt(0)%N.length],d=a?function(e,n){var t,o,i,c;return`${null!==(o=null===(t=null==e?void 0:e[0])||void 0===t?void 0:t.toUpperCase())&&void 0!==o?o:""}${null!==(c=null===(i=null==n?void 0:n[0])||void 0===i?void 0:i.toUpperCase())&&void 0!==c?c:""}`||"?"}(a.firstName,a.lastName):"?",u=y("div");u.className="cc-comment-card"+(t?" cc-reply":""),u.dataset.commentId=n._id;const p=y("div");p.className="cc-comment-header";const h=y("div");h.className="cc-comment-author-row";const m=y("div");if(m.className="cc-avatar",m.style.background=l,null==a?void 0:a.profilePicture){const n=function(e){try{const n=new URL(e);return"http:"!==n.protocol&&"https:"!==n.protocol?null:n.toString()}catch(e){return null}}(a.profilePicture.startsWith("http")?a.profilePicture:`${e.apiBaseUrl}${a.profilePicture}`);if(n){const e=y("img");e.setAttribute("src",n),e.setAttribute("alt",s),e.addEventListener("error",()=>{e.remove(),g(m,d)}),m.appendChild(e)}else g(m,d)}else g(m,d);const f=y("div"),b=y("div",s);b.className="cc-author-name";const v=y("div",function(e){try{const n=new Date(e);return`${n.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit"})} · ${n.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}`}catch(e){return""}}(n.createdAt));v.className="cc-comment-time",f.appendChild(b),f.appendChild(v),h.appendChild(m),h.appendChild(f),p.appendChild(h),u.appendChild(p);const x=y("div");x.className="cc-comment-body",x.appendChild(function(e){const n=document.createDocumentFragment(),t=e.split("\n");return t.forEach((e,o)=>{n.appendChild(document.createTextNode(e)),o<t.length-1&&n.appendChild(document.createElement("br"))}),n}(n.content)),u.appendChild(x);const w=y("div");if(w.className="cc-comment-actions",!t){const e=y("button");e.className="cc-action-btn",e.dataset.commentId=n._id,e.dataset.action="reply",e.innerHTML='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="transform:scaleX(-1)"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>',e.appendChild(document.createTextNode(` ${(null===(o=n.replies)||void 0===o?void 0:o.length)||"Reply"}`)),w.appendChild(e)}const C=y("button");if(C.className="cc-action-btn"+(n.hasLiked?" cc-liked":""),C.dataset.commentId=n._id,C.dataset.action="like",C.innerHTML=`<svg width="14" height="14" viewBox="0 0 24 24" fill="${n.hasLiked?"currentColor":"none"}" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>`,C.appendChild(document.createTextNode(` ${null!==(i=n.likeCount)&&void 0!==i?i:0}`)),w.appendChild(C),c){const e=y("div");e.className="cc-action-btn cc-owner-actions",e.style.cssText="margin-left:auto;display:flex;gap:4px;background:transparent;border:none;padding:0;";const t=y("button","Edit");t.className="cc-action-btn",t.dataset.commentId=n._id,t.dataset.action="edit";const o=y("button","Delete");o.className="cc-action-btn cc-danger",o.dataset.commentId=n._id,o.dataset.action="delete",e.appendChild(t),e.appendChild(o),w.appendChild(e)}return u.appendChild(w),u}function I(){const e=y("div");e.className="cc-login-overlay",e.id="cc-login-overlay",e.appendChild(y("p","Sign in to join the conversation"));const n=y("button","Login with Content Credits");return n.className="cc-login-overlay-btn",n.addEventListener("click",()=>{L()}),e.appendChild(n),e}function A(e){const n=e.target.closest("[data-action]");if(!n)return;const i=n.dataset.action,r=n.dataset.commentId;if(r)switch(i){case"reply":!function(e){if(u){p=e,b=null;const n=null==c?void 0:c.getElementById("cc-compose-textarea");n&&(n.placeholder="Write a reply…",n.focus()),$()}else{u=e;const n=null==c?void 0:c.getElementById("cc-comments-list");n&&B(n)}}(r);break;case"like":!async function(e){var n,i,r,s,d;if(!a.has())return void L();const u=l.find(n=>n._id===e);if(!u)return;const p=u.hasLiked;u.hasLiked=!p,u.likeCount=(null!==(n=u.likeCount)&&void 0!==n?n:0)+(u.hasLiked?1:-1);const h=null==c?void 0:c.getElementById("cc-comments-list");h&&B(h);try{const n=await t.toggleLike(e);n.success?("boolean"==typeof(null===(i=n.data)||void 0===i?void 0:i.hasLiked)&&(u.hasLiked=n.data.hasLiked),"number"==typeof(null===(r=n.data)||void 0===r?void 0:r.likeCount)&&(u.likeCount=n.data.likeCount),o.emit("comment:liked",{commentId:e,hasLiked:u.hasLiked})):(u.hasLiked=p,u.likeCount=(null!==(s=u.likeCount)&&void 0!==s?s:0)+(p?1:-1)),h&&B(h)}catch(e){u.hasLiked=p,u.likeCount=(null!==(d=u.likeCount)&&void 0!==d?d:0)+(p?1:-1),h&&B(h)}}(r);break;case"edit":!function(e){const n=l.find(n=>n._id===e);if(!n)return;b=e,p=null;const t=null==c?void 0:c.getElementById("cc-compose-textarea");t&&(t.value=n.content,t.placeholder="Edit your comment…",t.focus());const o=null==c?void 0:c.getElementById("cc-compose-submit");o&&g(o,"Update"),$()}(r);break;case"delete":!async function(e){if(confirm("Delete this comment?"))try{(await t.deleteComment(e))._id&&(o.emit("comment:deleted",{commentId:e}),T())}catch(e){}}(r)}}function $(){const e=null==c?void 0:c.getElementById("cc-compose-cancel");null==e||e.classList.add("cc-visible")}function U(){const e=null==c?void 0:c.getElementById("cc-compose-cancel");null==e||e.classList.remove("cc-visible")}function _(){b=null,p=null;const e=null==c?void 0:c.getElementById("cc-compose-textarea");e&&(e.value="",e.placeholder="Write a comment…");const n=null==c?void 0:c.getElementById("cc-compose-submit");n&&g(n,"Post"),U()}function z(){const e=v(),n=e.getElementById("cc-login-overlay");if(a.has()&&n)n.remove();else if(!a.has()&&!n){const n=e.getElementById("cc-compose");null==n||n.appendChild(I())}}function q(){const e=c;if(!e)return;const n=e.getElementById("cc-panel-backdrop"),t=e.getElementById("cc-comments-panel");null==n||n.classList.remove("cc-visible"),null==t||t.classList.remove("cc-open"),setTimeout(()=>{null==n||n.remove(),null==t||t.remove(),i()},280)}return{openPanel:function(){const e=v();w()&&k(),k();let n=e.getElementById("cc-panel-backdrop");if(!n){const i=y("div");i.className="cc-panel-backdrop",i.id="cc-panel-backdrop",i.addEventListener("click",q),e.appendChild(i),e.appendChild(function(){const e=y("div");e.className="cc-panel",e.id="cc-comments-panel";const n=y("div");n.className="cc-panel-header";const i=y("button");i.className="cc-back-btn",i.id="cc-back-btn",i.setAttribute("aria-label","Back"),i.innerHTML='<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M15 18l-6-6 6-6"/></svg>',i.addEventListener("click",()=>{u=null,p=null;const e=null==c?void 0:c.getElementById("cc-comments-list");e&&B(e)});const r=y("div");r.style.cssText="flex:1;display:flex;align-items:center;gap:6px;";const l=y("span","Comments");l.className="cc-panel-title",l.id="cc-panel-title";const h=y("span","");h.className="cc-panel-count",h.id="cc-header-count",r.appendChild(l),r.appendChild(h);const m=y("button");m.className="cc-panel-close-btn",m.setAttribute("aria-label","Close comments"),m.innerHTML='<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>',m.addEventListener("click",q),n.appendChild(i),n.appendChild(r),n.appendChild(m),e.appendChild(n);const f=y("div");f.className="cc-sort-bar";const v=y("span","Sort:");v.className="cc-sort-label",f.appendChild(v),["TOP","NEWEST"].forEach(e=>{const n=y("button",e);n.className="cc-sort-btn"+(d===e?" cc-active":""),n.dataset.sort=e,n.addEventListener("click",()=>{d!==e&&(d=e,f.querySelectorAll(".cc-sort-btn").forEach(e=>e.classList.remove("cc-active")),n.classList.add("cc-active"),T())}),f.appendChild(n)}),e.appendChild(f);const x=y("div");return x.className="cc-comments-list",x.id="cc-comments-list",x.addEventListener("click",A),e.appendChild(x),e.appendChild(function(){const e=y("div");e.className="cc-compose",e.id="cc-compose";const n=y("textarea");n.className="cc-compose-textarea",n.id="cc-compose-textarea",n.setAttribute("placeholder","Write a comment…"),n.setAttribute("rows","3"),e.appendChild(n);const i=y("div");i.className="cc-compose-actions";const r=y("button","Cancel");r.className="cc-compose-cancel",r.id="cc-compose-cancel",r.addEventListener("click",_),i.appendChild(r);const l=y("button","Post");return l.className="cc-compose-submit",l.id="cc-compose-submit",l.addEventListener("click",()=>{!async function(){const e=null==c?void 0:c.getElementById("cc-compose-textarea");if(!e)return;const n=e.value.trim();if(!n)return;if(!a.has())return void L();if(!s)return;const i=null==c?void 0:c.getElementById("cc-compose-submit");i&&(i.disabled=!0,g(i,"Posting…"));try{let c;b?c=await t.editComment(b,n):(c=await t.postComment({threadId:s,content:n,parentCommentId:null!=p?p:u}),o.emit("comment:posted",{comment:c})),c._id&&(e.value="",b=null,p=null,e.placeholder=u?"Write a reply…":"Write a comment…",U(),i&&g(i,"Post"),T())}catch(e){}finally{i&&(i.disabled=!1)}}()}),i.appendChild(l),e.appendChild(i),a.has()||e.appendChild(I()),e}()),e}()),n=i}const i=n;requestAnimationFrame(()=>{var n;i.classList.add("cc-visible"),null===(n=e.getElementById("cc-comments-panel"))||void 0===n||n.classList.add("cc-open")}),z(),T()},closePanel:q,destroy:function(){m(E),c=null}}}class S{constructor(e){var n;this.config=e,this.state=function(){let e={isLoading:!1,isExtensionAvailable:!1,isLoggedIn:!1,hasAccess:!1,isLoaded:!1,user:null,creditBalance:null,requiredCredits:null};const n=[];function t(){return Object.assign({},e)}function o(o){e=Object.assign(Object.assign({},e),o),n.forEach(e=>e(t()))}return{get:t,set:o,subscribe:function(e){return n.push(e),()=>{const t=n.indexOf(e);t>=0&&n.splice(t,1)}},reset:function(){e={isLoading:!1,isExtensionAvailable:!1,isLoggedIn:!1,hasAccess:!1,isLoaded:!1,user:null,creditBalance:null,requiredCredits:null},n.forEach(e=>e(t()))},setUser:function(e){var n;o({user:e,isLoggedIn:null!==e,creditBalance:null!==(n=null==e?void 0:e.credits)&&void 0!==n?n:null})}}}(),this.emitter=function(){const e={};function n(n,t){const o=e[n];if(!o)return;const i=o.indexOf(t);i>=0&&o.splice(i,1)}return{on:function(t,o){return e[t]||(e[t]=[]),e[t].push(o),()=>n(t,o)},off:n,emit:function(n,t){const o=e[n];o&&o.forEach(e=>{try{e(t)}catch(e){console.warn(`[ContentCredits] Error in "${n}" handler:`,e)}});try{document.dispatchEvent(new CustomEvent(`contentcredits:${n}`,{detail:t,bubbles:!1}))}catch(e){}},removeAll:function(){Object.keys(e).forEach(n=>{delete e[n]})}}}(),this.paywallModule=null,this.commentsModule=null,this.client=function(e,n){async function t(o,i,c,u=0,p=!1){const h=`${e}${i}`,m=c?JSON.stringify(c):void 0,f=function(e,n,t){return`${e}:${n}:${null!=t?t:""}`}(o,h,m),g=l.get(f);if(g)return g;const y=new AbortController,b=setTimeout(()=>y.abort(),12e3),v={"Content-Type":"application/json"},x=a.get();x&&(v.Authorization=`Bearer ${x}`);const w=fetch(h,{method:o,headers:v,body:m,signal:y.signal,credentials:"omit"}).then(async h=>{var m;if(clearTimeout(b),401===h.status){if(!p&&await s(e))return l.delete(f),t(o,i,c,u,!0);throw a.clear(),r.clear(),n.emit("auth:logout",{}),new d(401,"Unauthorized — session expired")}let g;try{g=await h.json()}catch(e){throw new d(h.status,"Invalid JSON response from server")}if(!h.ok){const e=null!==(m=null==g?void 0:g.message)&&void 0!==m?m:`HTTP ${h.status}`;throw new d(h.status,e,g)}return g}).catch(async e=>{clearTimeout(b);const n=e instanceof TypeError&&e.message.includes("fetch"),a=e instanceof d&&((r=e.status)>=500||429===r);var r;if((n||a)&&u<3)return l.delete(f),await async function(e){return new Promise(n=>setTimeout(n,e))}(400*Math.pow(2,u)),t(o,i,c,u+1);throw e}).finally(()=>{l.delete(f)});return l.set(f,w),w}return{get:e=>t("GET",e),post:(e,n)=>t("POST",e,n),put:(e,n)=>t("PUT",e,n),delete:e=>t("DELETE",e)}}(e.apiBaseUrl,this.emitter),this.creditsApi=(n=this.client,{checkAccess:e=>n.post("/credits/check-article-access",{apiKey:e.apiKey,postUrl:e.postUrl,postName:e.postName,hostName:e.hostName}),purchaseArticle:e=>n.post("/credits/purchase-article",{apiKey:e.apiKey,postUrl:e.postUrl,postName:e.postName,hostName:e.hostName})}),this.commentsApi=function(e){return{ensureThread:n=>e.post("/comments/threads/ensure",{pageUrl:n.pageUrl,hostname:n.hostname}),getComments(n){const t=encodeURIComponent(n.pageUrl);return e.get(`/comments/comments/by-url?url=${t}&sortBy=${n.sortBy}`)},postComment:n=>e.post("/comments/comments",Object.assign({threadId:n.threadId,content:n.content},n.parentCommentId?{parentCommentId:n.parentCommentId}:{})),editComment:(n,t)=>e.put(`/comments/comments/${n}`,{content:t}),deleteComment:n=>e.delete(`/comments/comments/${n}`),toggleLike:n=>e.post(`/comments/comments/${n}/toggle-like`,{})}}(this.client)}static init(e){const n=function(e){var n,t,o,i,c,a,r,s,l,d,u,p;if(!e.apiKey||"string"!=typeof e.apiKey||""===e.apiKey.trim())throw new Error("[ContentCredits] apiKey is required. Get yours from the Content Credits admin panel.");const h=function(e){try{const n=new URL(e);return["token","cc_token","refresh_token","cc_refresh_token"].forEach(e=>{n.searchParams.delete(e)}),n.toString()}catch(n){return e}}(null!==(n=e.articleUrl)&&void 0!==n?n:window.location.href);let m;try{m=new URL(h).hostname}catch(e){throw new Error(`[ContentCredits] Invalid articleUrl: "${h}"`)}return{apiKey:e.apiKey.trim(),articleUrl:h,hostName:m,pageTitle:document.title,contentSelector:null!==(t=e.contentSelector)&&void 0!==t?t:".cc-premium-content",teaserParagraphs:null!==(o=e.teaserParagraphs)&&void 0!==o?o:2,enableComments:null===(i=e.enableComments)||void 0===i||i,extensionId:null!==(c=e.extensionId)&&void 0!==c?c:"ljehdpabbhgccmanhjdfacjnaigpgcml",debug:null!==(a=e.debug)&&void 0!==a&&a,headless:null!==(r=e.headless)&&void 0!==r&&r,paywallMode:null!==(s=e.paywallMode)&&void 0!==s?s:"overlay",paywallTopSlot:e.paywallTopSlot,reactDOM:e.reactDOM,apiBaseUrl:"https://api.contentcredits.com",accountsUrl:"https://accounts.contentcredits.com",onAccessGranted:e.onAccessGranted,onStateChange:e.onStateChange,onReady:e.onReady,onLoginRequired:e.onLoginRequired,onPurchaseRequired:e.onPurchaseRequired,onInsufficientCredits:e.onInsufficientCredits,onPurchased:e.onPurchased,onUserLogin:e.onUserLogin,onUserLogout:e.onUserLogout,onError:e.onError,theme:{primaryColor:null!==(d=null===(l=e.theme)||void 0===l?void 0:l.primaryColor)&&void 0!==d?d:"#44C678",fontFamily:null!==(p=null===(u=e.theme)||void 0===u?void 0:u.fontFamily)&&void 0!==p?p:"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif"}}}(e),t=new S(n);return t._start(),t}async _start(){w(),this.config.onStateChange&&this.state.subscribe(this.config.onStateChange),this.config.onReady&&this.emitter.on("ready",({state:e})=>this.config.onReady(e)),this.config.onPurchased&&this.emitter.on("article:purchased",e=>this.config.onPurchased(e)),this.config.onUserLogin&&this.emitter.on("auth:login",({user:e})=>this.config.onUserLogin(e)),this.config.onUserLogout&&this.emitter.on("auth:logout",()=>this.config.onUserLogout()),this.config.onError&&this.emitter.on("error",e=>this.config.onError(e));const e=p({selector:this.config.contentSelector,teaserParagraphs:this.config.teaserParagraphs,paywallMode:this.config.paywallMode});this.config.headless||e.hide(),a.has()||await s(this.config.apiBaseUrl),this.paywallModule=k(this.config,this.creditsApi,this.state,this.emitter,e),this.config.enableComments&&(this.commentsModule=function(e,n,t){const o=T(e,n,t,()=>i.show()),i=function(e,n){let t=null,o=null;return{mount:function(){if(document.getElementById("cc-comment-widget"))return;let i=50;try{const e=localStorage.getItem(L);e&&(i=JSON.parse(e))}catch(e){}t=document.createElement("div"),t.id="cc-comment-widget",t.style.cssText=`\n position:fixed;top:${i}%;right:0;transform:translateY(-50%);\n height:60px;background:${e};border-radius:10px 0 0 10px;\n display:flex;align-items:center;gap:8px;padding:0 8px 0 12px;\n z-index:2147483646;box-shadow:-2px 0 16px rgba(0,0,0,.12);\n cursor:pointer;user-select:none;\n font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;\n transition:filter .2s;\n `,t.setAttribute("role","button"),t.setAttribute("aria-label","Open comments"),t.tabIndex=0;const c=document.createElement("div");c.style.cssText="color:#fff;display:flex;align-items:center;flex-shrink:0;",c.innerHTML='<svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>',o=document.createElement("span"),o.style.cssText=`\n background:#fff;color:${e};border-radius:12px;\n padding:2px 7px;font-size:12px;font-weight:700;min-width:20px;\n text-align:center;display:none;\n `;const a=document.createElement("div");a.style.cssText="color:rgba(255,255,255,.65);cursor:grab;display:flex;align-items:center;padding:0 2px;flex-shrink:0;",a.innerHTML='<svg width="8" height="22" viewBox="0 0 8 22" fill="none"><circle cx="4" cy="4" r="2" fill="currentColor"/><circle cx="4" cy="11" r="2" fill="currentColor"/><circle cx="4" cy="18" r="2" fill="currentColor"/></svg>',c.addEventListener("click",n),o.addEventListener("click",n);let r=!1,s=0,l=0;function d(e){r=!0,s=e,l=t.getBoundingClientRect().top,a.style.cursor="grabbing"}function u(e){if(!r||!t)return;const n=e-s,o=Math.max(0,Math.min(window.innerHeight-60,l+n))/window.innerHeight*100;t.style.top=`${o}%`}function p(){if(!r||!t)return;r=!1,a.style.cursor="grab";const e=t.getBoundingClientRect().top/window.innerHeight*100;try{localStorage.setItem(L,JSON.stringify(e))}catch(e){}}a.addEventListener("mousedown",e=>{e.preventDefault(),e.stopPropagation(),d(e.clientY)}),a.addEventListener("touchstart",e=>{e.preventDefault(),d(e.touches[0].clientY)},{passive:!1}),document.addEventListener("mousemove",e=>u(e.clientY)),document.addEventListener("touchmove",e=>u(e.touches[0].clientY),{passive:!0}),document.addEventListener("mouseup",p),document.addEventListener("touchend",p),t.addEventListener("keydown",e=>{"Enter"!==e.key&&" "!==e.key||n()}),t.appendChild(c),t.appendChild(o),t.appendChild(a),document.body.appendChild(t)},setCount:function(e){o&&(e>0?(o.textContent=e>99?"99+":String(e),o.style.display="inline-block"):o.style.display="none")},show:function(){t&&(t.style.display="flex")},hide:function(){t&&(t.style.display="none")},destroy:function(){null==t||t.remove(),t=null,o=null}}}(e.theme.primaryColor,()=>{i.hide(),o.openPanel()});return{init:function(){i.mount()},open:function(){i.hide(),o.openPanel()},close:function(){o.closePanel()},destroy:function(){o.destroy(),i.destroy()}}}(this.config,this.commentsApi,this.emitter),this.commentsModule.init()),await this.paywallModule.init(),this.emitter.emit("ready",{state:this.state.get()})}subscribe(e){return this.state.subscribe(e)}async login(){var e;await(null===(e=this.paywallModule)||void 0===e?void 0:e.login())}async purchase(){var e;await(null===(e=this.paywallModule)||void 0===e?void 0:e.purchase())}buyMoreCredits(){var e;null===(e=this.paywallModule)||void 0===e||e.buyMoreCredits()}on(e,n){return this.emitter.on(e,n)}off(e,n){this.emitter.off(e,n)}getState(){return this.state.get()}async checkAccess(){var e;await(null===(e=this.paywallModule)||void 0===e?void 0:e.checkAccess())}openComments(){var e;null===(e=this.commentsModule)||void 0===e||e.open()}closeComments(){var e;null===(e=this.commentsModule)||void 0===e||e.close()}isLoggedIn(){return a.has()}getToken(){return a.get()}async logout(){const e=r.get();if(e)try{await fetch(`${this.config.apiBaseUrl}/auth/log-out`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:e}),credentials:"omit"})}catch(e){}a.clear(),r.clear(),this.state.reset(),this.emitter.emit("auth:logout",{})}destroy(){var e,n;null===(e=this.paywallModule)||void 0===e||e.destroy(),null===(n=this.commentsModule)||void 0===n||n.destroy(),this.emitter.removeAll(),this.state.reset()}static get version(){return"2.14.0"}}!function(){var e,n,t;const o=null!==(e=document.currentScript)&&void 0!==e?e:document.querySelector("script[data-cc-api-key], script[data-api-key]");if(!o)return;const i=o.dataset,c=null!==(n=i.ccApiKey)&&void 0!==n?n:i.apiKey;if(!c)return;const a={apiKey:c,contentSelector:null!==(t=i.ccContentSelector)&&void 0!==t?t:i.contentSelector,teaserParagraphs:i.ccTeaserParagraphs?parseInt(i.ccTeaserParagraphs,10):void 0,enableComments:"false"!==i.ccEnableComments,extensionId:i.ccExtensionId,debug:"true"===i.ccDebug};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>S.init(a)):S.init(a)}(),e.ContentCredits=S});
|
|
1
|
+
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).ContentCreditsSDK={})}(this,function(e){"use strict";function n(e){try{const n=e.split(".");if(3!==n.length)return null;const t=n[1].replace(/-/g,"+").replace(/_/g,"/"),o=t.padEnd(t.length+(4-t.length%4)%4,"="),i=decodeURIComponent(atob(o).split("").map(e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)).join(""));return JSON.parse(i)}catch(e){return null}}function t(e){const t=n(e);return!t||"number"!=typeof t.exp||Date.now()/1e3>t.exp}const o="cc_sdk_token",i="cc_rt";let a=null;const c={set(e){a=e;try{sessionStorage.setItem(o,e)}catch(e){}},get(){if(a)return t(a)?(this.clear(),null):a;try{const e=sessionStorage.getItem(o);if(e)return t(e)?(this.clear(),null):(a=e,e)}catch(e){}return null},clear(){a=null;try{sessionStorage.removeItem(o)}catch(e){}},has(){return null!==this.get()}},r={set(e){try{localStorage.setItem(i,e)}catch(e){}},get(){try{return localStorage.getItem(i)}catch(e){return null}},clear(){try{localStorage.removeItem(i)}catch(e){}},has(){return null!==this.get()}};async function s(e){const n=r.get();if(!n)return!1;const t=new AbortController,o=setTimeout(()=>t.abort(),8e3);try{const i=await fetch(`${e}/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:n}),credentials:"omit",signal:t.signal});if(clearTimeout(o),!i.ok)return r.clear(),!1;const a=await i.json();return(null==a?void 0:a.accessToken)&&(null==a?void 0:a.refreshToken)?(c.set(a.accessToken),r.set(a.refreshToken),!0):(r.clear(),!1)}catch(e){return clearTimeout(o),!1}}const l=new Map;class d extends Error{constructor(e,n,t){super(n),this.status=e,this.data=t,this.name="ApiError"}}const p="data-cc-gated";function u(e){let n=!1,t=null,o=[];return{hide:function(){if(t=document.querySelector(e.selector),!t)return!1;if(t.hasAttribute(p))return!0;const i=Array.from(t.querySelectorAll("p, h2, h3, h4, blockquote, ul, ol"));if(i.length>e.teaserParagraphs){const n=i[e.teaserParagraphs],a=Array.from(t.childNodes),c=a.findIndex(e=>e===n||t.contains(e)&&e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING);o=a.slice(c<0?e.teaserParagraphs:c),o.forEach(e=>{var n,t,o,i;(e instanceof HTMLElement||e instanceof Text)&&(null===(t=null===(n=e.style)||void 0===n?void 0:n.setProperty)||void 0===t||t.call(n,"display","none"),null===(i=(o=e).setAttribute)||void 0===i||i.call(o,"data-cc-hidden","true"))})}else 0===e.teaserParagraphs&&(o=Array.from(t.childNodes),o.forEach(e=>{e instanceof HTMLElement&&(e.style.display="none")}));if(t.setAttribute(p,"true"),n=!0,"inline"===e.paywallMode&&!t.querySelector("[data-cc-fade]")){const e=t.style.position;e&&"static"!==e||(t.style.position="relative");const n=document.createElement("div");n.setAttribute("data-cc-fade","true"),n.style.cssText="position:absolute;bottom:0;left:0;width:100%;height:160px;background:linear-gradient(to bottom,transparent 0%,var(--cc-bg,#fff) 100%);pointer-events:none;z-index:1;",t.appendChild(n)}return!0},reveal:function(){if(!n)return;o.forEach(e=>{e instanceof HTMLElement&&(e.style.removeProperty("display"),e.removeAttribute("data-cc-hidden"))});const e=null==t?void 0:t.querySelector("[data-cc-fade]");e&&e.remove(),o=[],null==t||t.removeAttribute(p),n=!1},isGated:function(){return n}}}function h(e){let n=document.getElementById(e);n||(n=document.createElement("div"),n.id=e,n.style.cssText="position:fixed;bottom:0;left:0;width:100%;height:auto;z-index:2147483647;",document.body.appendChild(n));const t=n._ccShadow;if(t)return{host:n,root:t};const o=n.attachShadow({mode:"open"});return n._ccShadow=o,{host:n,root:o}}function m(e){const n=document.getElementById(e);n&&n.remove()}function f(e,n){const t=e.querySelector("style[data-cc-styles]");if(t)return void(t.textContent=n);const o=document.createElement("style");o.dataset.ccStyles="true",o.textContent=n,e.appendChild(o)}function g(e,n){e.textContent=n}function y(e,n,t){const o=document.createElement(e);return void 0!==n&&(o.textContent=n),o}const b="cc-paywall-host";function v(e){var n,t,o,i,a;switch(e.type){case"heading":{const t=y("span",null!==(n=e.content)&&void 0!==n?n:"");return t.className="cc-slot-heading",t}case"subheading":{const n=y("span",null!==(t=e.content)&&void 0!==t?t:"");return n.className="cc-slot-subheading",n}case"text":{const n=y("span",null!==(o=e.content)&&void 0!==o?o:"");return n.className="cc-slot-text",n}case"button":{const n=y("button",null!==(i=e.content)&&void 0!==i?i:""),t="outline"===e.variant?"cc-btn-outline":"secondary"===e.variant?"cc-btn-secondary":"cc-btn-primary";return n.className=`cc-btn ${t}`,e.onClick&&n.addEventListener("click",e.onClick),n}case"divider":{const n=y("div",null!==(a=e.content)&&void 0!==a?a:"");return n.className="cc-slot-divider",n}}}function x(){const e=navigator.userAgent;return!!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(e)||!("function"!=typeof window.matchMedia||!window.matchMedia("(pointer: coarse)").matches||!window.matchMedia("(max-width: 768px)").matches)}function w(){var e,n;try{const t=new URL(window.location.href),o=null!==(e=t.searchParams.get("token"))&&void 0!==e?e:t.searchParams.get("cc_token"),i=null!==(n=t.searchParams.get("refresh_token"))&&void 0!==n?n:t.searchParams.get("cc_refresh_token");if(function(){try{const e=new URL(window.location.href);let n=!1;["token","cc_token","refresh_token","cc_refresh_token"].forEach(t=>{e.searchParams.has(t)&&(e.searchParams.delete(t),n=!0)}),n&&history.replaceState(null,"",e.toString())}catch(e){}}(),i&&r.set(i),o){c.set(o);const e=window.opener;if(e&&!e.closed){try{e.postMessage({type:"cc_auth_callback",token:o,refreshToken:null!=i?i:null},window.location.origin)}catch(e){}setTimeout(()=>{try{window.close()}catch(e){}},300)}return o}}catch(e){}return null}function C(e){return new Promise(n=>{let t=null,o=!1;function i(e){o||(o=!0,clearInterval(l),window.removeEventListener("message",a),n(e))}function a(e){if(e.origin!==window.location.origin)return;if("object"!=typeof(n=e.data)||null===n||"cc_auth_callback"!==n.type)return;var n;const o=e.data.token,a=e.data.refreshToken;if(o){c.set(o),a&&r.set(a);try{null==t||t.close()}catch(e){}i(o)}}window.addEventListener("message",a);try{t=window.open(e,"ccAuthPopup",`scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no,width=600,height=650,left=${Math.round(window.screenX+(window.outerWidth-600)/2)},top=${Math.round(window.screenY+(window.outerHeight-650)/2)}`)}catch(e){return window.removeEventListener("message",a),void n(null)}if(!t||t.closed)return window.removeEventListener("message",a),void n(null);let s=0;const l=setInterval(()=>{var e,n;if(s+=200,t&&!t.closed)if(s>3e5){try{t.close()}catch(e){}i(null)}else try{const o=t.location.href;if(o.includes("/auth/callback")||o.includes("cc_token=")||o.includes("token=")){const o=new URLSearchParams(t.location.search),a=null!==(e=o.get("token"))&&void 0!==e?e:o.get("cc_token"),s=null!==(n=o.get("refresh_token"))&&void 0!==n?n:o.get("cc_refresh_token");if(a){c.set(a),s&&r.set(s);try{t.close()}catch(e){}i(a)}}}catch(e){}else i(c.get())},200)})}function k(e,n,t,o,i){const a=null!=i?i:u({selector:e.contentSelector,teaserParagraphs:e.teaserParagraphs,paywallMode:e.paywallMode}),r=function(e){let n=null,t=null,o=null;function i(){const i=document.querySelector(e.contentSelector);if(!i)return;const{root:a}="overlay"===e.paywallMode?h(b):function(e,n){let t=document.getElementById(e);t||(t=document.createElement("div"),t.id=e,n.parentNode.insertBefore(t,n.nextSibling));const o=t._ccShadow;if(o)return{host:t,root:o};const i=t.attachShadow({mode:"open"});return t._ccShadow=i,{host:t,root:i}}(b,i);var c,r;n=a,f(n,`\n *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n /* ─── Inline paywall panel ──────────────────────────────────────────── */\n .cc-paywall-inline {\n width: 100%;\n padding: 32px 28px 28px;\n background: #fff;\n border: 1px solid #e2e8f0;\n border-top: 3px solid ${c=e.theme.primaryColor};\n border-radius: 0 0 12px 12px;\n text-align: center;\n font-family: ${r=e.theme.fontFamily};\n }\n .cc-paywall-inline h2 {\n font-size: 20px;\n font-weight: 700;\n color: #0f172a;\n margin-bottom: 8px;\n letter-spacing: -0.015em;\n line-height: 1.25;\n }\n .cc-paywall-inline p {\n font-size: 14px;\n color: #64748b;\n line-height: 1.6;\n margin-bottom: 20px;\n }\n\n /* ─── Overlay paywall panel ─────────────────────────────────────────── */\n /*\n * Fixed to the bottom of the viewport, full width.\n * Elevation uses layered shadows — no harsh border-top line.\n * Thin hairline at the top (1px shadow) + ambient shadow for depth.\n */\n .cc-paywall-overlay {\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100%;\n background: #fff;\n box-shadow:\n 0 -1px 0 rgba(15, 23, 42, 0.07),\n 0 -4px 12px rgba(15, 23, 42, 0.04),\n 0 -24px 64px rgba(15, 23, 42, 0.07);\n font-family: ${r};\n }\n\n /*\n * Gradient that fades the article content into the panel.\n * Multi-stop with a cubic-ease-ish curve so it reads as depth,\n * not as an obvious white overlay.\n * initOverlay() overrides this via inline style with the real page bg colour.\n */\n .cc-paywall-overlay-gradient {\n position: absolute;\n top: -160px;\n left: 0;\n right: 0;\n height: 160px;\n pointer-events: none;\n background: linear-gradient(\n to bottom,\n transparent 0%,\n rgba(255,255,255,0.08) 30%,\n rgba(255,255,255,0.55) 60%,\n rgba(255,255,255,0.90) 82%,\n #ffffff 100%\n );\n }\n\n /* Top slot — publisher-supplied content */\n .cc-paywall-overlay-slot {\n padding: 18px 24px 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 5px;\n }\n\n /* SDK's own action section below the slot */\n .cc-paywall-overlay-body {\n padding: 14px 24px 26px;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n text-align: center;\n }\n\n /* ─── Slot typography ───────────────────────────────────────────────── */\n .cc-slot-heading {\n font-size: 19px;\n font-weight: 700;\n color: #0f172a;\n text-align: center;\n line-height: 1.3;\n letter-spacing: -0.015em;\n }\n .cc-slot-subheading {\n font-size: 15px;\n font-weight: 600;\n color: #1e293b;\n text-align: center;\n }\n .cc-slot-text {\n font-size: 13px;\n color: #64748b;\n text-align: center;\n line-height: 1.55;\n }\n\n /* Visual separator between slot and body */\n .cc-slot-divider {\n display: flex;\n align-items: center;\n gap: 10px;\n font-size: 12px;\n color: #94a3b8;\n }\n .cc-slot-divider::before,\n .cc-slot-divider::after {\n content: '';\n flex: 1;\n height: 1px;\n background: #e2e8f0;\n }\n\n /* ─── Buttons ───────────────────────────────────────────────────────── */\n /*\n * All primary paywall CTAs use .cc-btn-primary (filled, brand colour).\n * .cc-btn-ghost is for low-emphasis secondary links.\n * No outline variant in paywall states — one clear hierarchy.\n */\n .cc-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 7px;\n height: 46px;\n padding: 0 22px;\n border: none;\n border-radius: 10px;\n font-family: ${r};\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: filter 0.15s ease, transform 0.1s ease;\n width: 100%;\n max-width: 380px;\n letter-spacing: -0.01em;\n white-space: nowrap;\n flex-shrink: 0;\n }\n .cc-btn:hover:not(:disabled) { filter: brightness(1.07); }\n .cc-btn:active:not(:disabled) { transform: scale(0.975); }\n .cc-btn:disabled { opacity: 0.55; cursor: not-allowed; }\n\n .cc-btn-primary { background: ${c}; color: #fff; }\n .cc-btn-secondary { background: #0f172a; color: #fff; }\n\n /* Ghost: text-link-style secondary action */\n .cc-btn-ghost {\n background: transparent;\n color: #64748b;\n height: 36px;\n font-size: 13px;\n font-weight: 500;\n letter-spacing: 0;\n }\n .cc-btn-ghost:hover:not(:disabled) {\n color: #0f172a;\n background: #f1f5f9;\n filter: none;\n }\n\n /* Kept for backwards-compat with paywallTopSlot button items */\n .cc-btn-outline {\n background: transparent;\n color: #0f172a;\n border: 1.5px solid #cbd5e1;\n }\n .cc-btn-outline:hover:not(:disabled) {\n border-color: #94a3b8;\n filter: none;\n background: #f8fafc;\n }\n\n /* ─── Credit badge ───────────────────────────────────────────────────── */\n .cc-credit-badge {\n display: inline-flex;\n align-items: center;\n background: #f1f5f9;\n color: #475569;\n border-radius: 20px;\n padding: 3px 10px;\n font-size: 12px;\n font-weight: 700;\n letter-spacing: 0.01em;\n }\n\n /* ─── Inline state description text ─────────────────────────────────── */\n .cc-state-detail {\n font-size: 14px;\n color: #64748b;\n line-height: 1.6;\n }\n\n /* ─── Spinner (lives inside .cc-btn-primary while loading) ──────────── */\n .cc-spinner {\n display: inline-block;\n width: 17px;\n height: 17px;\n border: 2px solid rgba(255, 255, 255, 0.3);\n border-top-color: rgba(255, 255, 255, 0.95);\n border-radius: 50%;\n animation: cc-spin 0.6s linear infinite;\n flex-shrink: 0;\n }\n @keyframes cc-spin { to { transform: rotate(360deg); } }\n\n /* ─── "Powered by" attribution ───────────────────────────────────────── */\n .cc-powered-by {\n font-size: 11px;\n color: #94a3b8;\n letter-spacing: 0.01em;\n }\n .cc-powered-by a {\n color: ${c};\n text-decoration: none;\n font-weight: 600;\n }\n .cc-powered-by a:hover { text-decoration: underline; }\n\n /* ─── Mobile: tighter vertical padding ──────────────────────────────── */\n @media (max-width: 480px) {\n .cc-paywall-overlay-slot { padding: 14px 16px 0; gap: 4px; }\n .cc-paywall-overlay-body { padding: 12px 16px 20px; gap: 10px; }\n .cc-slot-heading { font-size: 17px; }\n }\n `),"overlay"===e.paywallMode?function(n,i){var a;const c=y("div");c.className="cc-paywall-overlay";const r=y("div");r.className="cc-paywall-overlay-gradient";const s=getComputedStyle(document.body).backgroundColor;s&&"rgba(0, 0, 0, 0)"!==s&&"transparent"!==s&&(r.style.background=["linear-gradient(to bottom,","transparent 0%,","transparent 18%,",`color-mix(in srgb, ${s} 30%, transparent) 45%,`,`color-mix(in srgb, ${s} 75%, transparent) 68%,`,`${s} 100%`,")"].join(" "),CSS.supports("color","color-mix(in srgb, red 50%, blue)")||(r.style.background=`linear-gradient(to bottom, transparent 0%, ${s} 100%)`)),c.appendChild(r),i.style.paddingBottom="200px";const l=y("div");if(l.className="cc-paywall-overlay-slot",o=null!==(a=function(e,n,t){if(n){if("object"==typeof(o=n)&&null!==o&&"$$typeof"in o&&!Array.isArray(o)&&!(o instanceof HTMLElement))return t?function(e,n,t){if("function"==typeof t.createRoot){const o=t.createRoot(e);return o.render(n),o}if("function"==typeof t.render)return t.render(n,e),{unmount(){var n;const o=t;null===(n=o.unmountComponentAtNode)||void 0===n||n.call(o,e)}};console.warn("[ContentCredits] The provided `reactDOM` has neither `createRoot` nor `render`. Pass a valid ReactDOM instance.")}(e,n,t):void console.warn("[ContentCredits] paywallTopSlot is a React element but `reactDOM` was not provided. Pass your ReactDOM instance: ContentCredits.init({ reactDOM, paywallTopSlot: <Widget /> })");var o;if("function"!=typeof n)if(n instanceof HTMLElement)e.appendChild(n);else for(const t of n)e.appendChild(v(t));else n(e)}}(l,e.paywallTopSlot,e.reactDOM))&&void 0!==a?a:null,c.appendChild(l),e.paywallTopSlot){const e=y("div");e.className="cc-slot-divider",e.style.cssText="margin: 6px 24px 0;",c.appendChild(e)}t=y("div"),t.className="cc-paywall-overlay-body",c.appendChild(t),n.appendChild(c)}(n,i):function(e){t=y("div"),t.className="cc-paywall-inline",e.appendChild(t)}(n)}function a(){const e=y("div");e.className="cc-powered-by",e.textContent="Powered by ";const n=y("a","Content Credits");return n.setAttribute("href","https://contentcredits.com"),n.setAttribute("target","_blank"),n.setAttribute("rel","noopener noreferrer"),e.appendChild(n),e}function c(e){if(!t)return;const n=t.querySelector(".cc-btn");if(n&&(n.disabled=e,e)){const e=y("span");e.className="cc-spinner",g(n,""),n.appendChild(e),n.appendChild(document.createTextNode(" Processing…"))}}function r(){if(null==o||o.unmount(),o=null,m(b),"overlay"===e.paywallMode){const n=document.querySelector(e.contentSelector);n&&(n.style.paddingBottom="")}n=null,t=null}return{init:i,render:function(n,o,s){var l,d,p;if("checking"!==n&&(t||i(),t))if("loading"!==n)if("granted"!==n){for(;t.firstChild;)t.removeChild(t.firstChild);switch(n){case"login":!function(n,t){if("inline"===e.paywallMode){n.appendChild(y("h2","This article requires a subscription"));const e=y("p","Sign in to your Content Credits account to unlock this article.");e.className="cc-state-detail",n.appendChild(e)}const o=y("button","Sign in to read");o.className="cc-btn cc-btn-primary",o.addEventListener("click",()=>{t.onLogin()}),n.appendChild(o),n.appendChild(a())}(t,o);break;case"purchase":!function(n,t,o){if("inline"===e.paywallMode){n.appendChild(y("h2","Unlock this article"));const e=y("p","Use your Content Credits balance to instantly access this article.");e.className="cc-state-detail",n.appendChild(e)}const i=y("button",null!==o?`Unlock · ${o} credit${1!==o?"s":""}`:"Unlock article");i.className="cc-btn cc-btn-primary",i.addEventListener("click",()=>{t.onPurchase()}),n.appendChild(i),n.appendChild(a())}(t,o,null!==(l=null==s?void 0:s.requiredCredits)&&void 0!==l?l:null);break;case"insufficient":!function(n,t,o,i){"inline"===e.paywallMode&&n.appendChild(y("h2","Not enough credits"));const c=y("p");c.className="cc-state-detail",c.textContent=null!==o&&null!==i?`This article costs ${o} credit${1!==o?"s":""} — you have ${i}.`:"You don't have enough credits to unlock this article.",n.appendChild(c);const r=y("button","Top up credits");r.className="cc-btn cc-btn-primary",r.addEventListener("click",()=>t.onBuyMoreCredits()),n.appendChild(r),n.appendChild(a())}(t,o,null!==(d=null==s?void 0:s.requiredCredits)&&void 0!==d?d:null,null!==(p=null==s?void 0:s.creditBalance)&&void 0!==p?p:null)}}else r();else c(!0)},setButtonLoading:c,destroy:r}}(e),s=function(){let e=null,n=null;function t(t){var o,i,a,c;if(!function(){const e=["https://accounts.contentcredits.com"];try{e.push(window.location.origin)}catch(e){}return e}().includes(t.origin)&&t.origin!==window.location.origin)return;const r=t.data;if(r&&"object"==typeof r&&r.type)switch(r.type){case"authorization_response":{const n=null!==(o=r.data)&&void 0!==o?o:null===(i=t.detail)||void 0===i?void 0:i.data;n&&e&&e(n);break}case"purchase_response":{const e=null!==(a=r.data)&&void 0!==a?a:null===(c=t.detail)||void 0===c?void 0:c.data;e&&n&&n(e);break}}}return{attach:function(){window.addEventListener("message",t),window.addEventListener("authorization_response",n=>{const t=n.detail;(null==t?void 0:t.data)&&e&&e(t.data)}),window.addEventListener("purchase_response",e=>{const t=e.detail;(null==t?void 0:t.data)&&n&&n(t.data)})},detach:function(){window.removeEventListener("message",t)},requestAuthorization:function(e,n){window.postMessage({type:"request_authorization",data:{articleId:e,hostName:n}},window.location.origin)},requestPurchase:function(e){window.postMessage({type:"request_purchase",data:e},window.location.origin)},requestLogin:function(e){window.postMessage({type:"request_login",data:{hostName:e}},window.location.origin)},onAuthorizationResponse:function(n){e=n},onPurchaseResponse:function(e){n=e}}}();let l=!1;function p(n=0,i=0){var c;t.set({hasAccess:!0,isLoaded:!0,isLoading:!1}),e.headless||(a.reveal(),r.render("granted",{onLogin:k,onPurchase:L,onBuyMoreCredits:E})),o.emit("paywall:hidden",{}),o.emit("article:purchased",{creditsSpent:n,remainingBalance:i}),null===(c=e.onAccessGranted)||void 0===c||c.call(e)}async function k(){const n=`https://accounts.contentcredits.com/authenticate/extension?redirect=${encodeURIComponent(e.articleUrl)}`;l?s.requestLogin(e.hostName):x()?window.location.href=n:(e.headless||r.render("loading",{onLogin:k,onPurchase:L,onBuyMoreCredits:E}),await C(n)?(t.set({isLoggedIn:!0}),await N()):e.headless||r.render("login",{onLogin:k,onPurchase:L,onBuyMoreCredits:E}))}async function L(){var i,a,u,h,m;if(c.has())if(l)s.requestPurchase({articleId:e.apiKey,hostName:e.hostName,location:e.articleUrl,title:e.pageTitle});else{e.headless||r.render("loading",{onLogin:k,onPurchase:L,onBuyMoreCredits:E}),t.set({isLoading:!0});try{const a=await n.purchaseArticle({apiKey:e.apiKey,postUrl:e.articleUrl,postName:e.pageTitle,hostName:e.hostName});a.success?p(0,0):(t.set({isLoading:!1}),e.headless||r.render("purchase",{onLogin:k,onPurchase:L,onBuyMoreCredits:E}),o.emit("error",{message:null!==(i=a.message)&&void 0!==i?i:"Purchase failed"}))}catch(n){if(t.set({isLoading:!1}),n instanceof d&&402===n.status){e.headless||r.render("insufficient",{onLogin:k,onPurchase:L,onBuyMoreCredits:E},{requiredCredits:t.get().requiredCredits,creditBalance:t.get().creditBalance});const n=null!==(a=t.get().requiredCredits)&&void 0!==a?a:0,i=null!==(u=t.get().creditBalance)&&void 0!==u?u:0;null===(h=e.onInsufficientCredits)||void 0===h||h.call(e,{required:n,available:i}),o.emit("credits:insufficient",{required:n,available:i})}else e.headless||r.render("purchase",{onLogin:k,onPurchase:L,onBuyMoreCredits:E}),null===(m=e.onPurchaseRequired)||void 0===m||m.call(e,{requiredCredits:t.get().requiredCredits,creditBalance:t.get().creditBalance}),o.emit("error",{message:"Purchase failed",error:n})}}else await k()}function E(){window.open("https://accounts.contentcredits.com/consumer/dashboard","_blank","noopener,noreferrer")}async function N(){var i,u,h;if(t.set({isLoading:!0}),e.headless||r.render("checking",{onLogin:k,onPurchase:L,onBuyMoreCredits:E}),l){const n=await new Promise(n=>{const i=setTimeout(()=>{l=!1,t.set({isExtensionAvailable:!1}),n(!1)},3e3);s.onAuthorizationResponse(c=>{clearTimeout(i),function(n){var i,c,s,l,d,u,h;t.set({isLoggedIn:n.isAuthenticated,hasAccess:n.doesHaveAccess,isLoaded:!0,isLoading:!1,creditBalance:null!==(i=n.creditBalance)&&void 0!==i?i:null,requiredCredits:null!==(c=n.requiredCredits)&&void 0!==c?c:null}),n.isAuthenticated?n.doesHaveAccess?p(0,null!==(l=n.creditBalance)&&void 0!==l?l:0):(e.headless||(a.hide(),r.render("purchase",{onLogin:k,onPurchase:L,onBuyMoreCredits:E},{requiredCredits:n.requiredCredits,creditBalance:n.creditBalance})),null===(d=e.onPurchaseRequired)||void 0===d||d.call(e,{requiredCredits:null!==(u=n.requiredCredits)&&void 0!==u?u:null,creditBalance:null!==(h=n.creditBalance)&&void 0!==h?h:null}),o.emit("paywall:shown",{})):(e.headless||(a.hide(),r.render("login",{onLogin:k,onPurchase:L,onBuyMoreCredits:E})),null===(s=e.onLoginRequired)||void 0===s||s.call(e),o.emit("paywall:shown",{}))}(c),n(!0)}),s.requestAuthorization(e.apiKey,e.hostName)});if(n)return}if(!c.has())return t.set({isLoading:!1,isLoaded:!0}),e.headless||(a.hide(),r.render("login",{onLogin:k,onPurchase:L,onBuyMoreCredits:E})),null===(i=e.onLoginRequired)||void 0===i||i.call(e),void o.emit("paywall:shown",{});try{const i=await n.checkAccess({apiKey:e.apiKey,postUrl:e.articleUrl,postName:e.pageTitle,hostName:e.hostName});t.set({isLoading:!1,isLoaded:!0,hasAccess:i.success,isLoggedIn:!0}),i.success?p(0,0):(e.headless||(a.hide(),r.render("purchase",{onLogin:k,onPurchase:L,onBuyMoreCredits:E})),null===(u=e.onPurchaseRequired)||void 0===u||u.call(e,{requiredCredits:t.get().requiredCredits,creditBalance:t.get().creditBalance}),o.emit("paywall:shown",{}))}catch(n){t.set({isLoading:!1,isLoaded:!0}),e.headless||(a.hide(),r.render("login",{onLogin:k,onPurchase:L,onBuyMoreCredits:E})),null===(h=e.onLoginRequired)||void 0===h||h.call(e),n instanceof d&&401===n.status||o.emit("error",{message:"Access check failed",error:n})}}return{init:async function(){var n;w()&&t.set({isLoggedIn:!0}),l=await(n=e.extensionId,n&&"string"==typeof n?new Promise(e=>{let t=!1;function o(n){t||(t=!0,e(n))}if(!0===window.__CC_EXTENSION_LOADED)return void o(!0);const i=new Image;i.onload=()=>o(!0),i.onerror=()=>o(!1),i.src=`chrome-extension://${n}/icons/icon16.png`,setTimeout(()=>o(!1),2e3)}):Promise.resolve(!1)),t.set({isExtensionAvailable:l}),l&&(s.attach(),s.onPurchaseResponse(e=>{var n,i;t.set({isLoading:!1,isLoaded:!0,hasAccess:e.doesHaveAccess}),e.doesHaveAccess?p(null!==(n=e.creditsSpent)&&void 0!==n?n:0,null!==(i=e.creditBalance)&&void 0!==i?i:0):(r.render("purchase",{onLogin:k,onPurchase:L,onBuyMoreCredits:E}),o.emit("error",{message:"Purchase failed via extension"}))})),await N()},checkAccess:N,destroy:function(){s.detach(),e.headless||(r.destroy(),a.reveal())},login:k,purchase:L,buyMoreCredits:E}}const L="cc-widget-pos",E="cc-comments-host",N=["#6366f1","#ec4899","#8b5cf6","#14b8a6","#f59e0b","#ef4444"];function T(e,t,o,i){let a=null,r=null,s=null,l=[],d="TOP",p=null,u=null,b=null;function v(){if(a)return a;const{root:n}=h(E);var t,o;return a=n,f(a,`\n *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n /* ── Widget Button ───────────────────────────────────── */\n .cc-widget-btn {\n position: fixed;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n width: auto;\n height: 60px;\n background: ${t=e.theme.primaryColor};\n border-radius: 10px 0 0 10px;\n display: flex;\n align-items: center;\n gap: 8px;\n padding-left: 12px;\n padding-right: 6px;\n z-index: 2147483646;\n box-shadow: -2px 0 16px rgba(0,0,0,0.12);\n cursor: pointer;\n user-select: none;\n font-family: ${o=e.theme.fontFamily};\n transition: background 0.2s;\n pointer-events: all;\n }\n .cc-widget-btn:hover { filter: brightness(1.08); }\n\n .cc-widget-icon { color: #fff; display: flex; align-items: center; }\n .cc-widget-badge {\n background: #fff;\n color: ${t};\n border-radius: 12px;\n padding: 2px 7px;\n font-size: 12px;\n font-weight: 700;\n min-width: 20px;\n text-align: center;\n }\n .cc-widget-drag-handle {\n color: rgba(255,255,255,0.7);\n cursor: grab;\n display: flex;\n align-items: center;\n padding: 0 4px;\n }\n .cc-widget-drag-handle:active { cursor: grabbing; }\n\n /* ── Panel Overlay ───────────────────────────────────── */\n .cc-panel-backdrop {\n position: fixed;\n inset: 0;\n background: rgba(0,0,0,0.35);\n z-index: 2147483645;\n opacity: 0;\n transition: opacity 0.25s;\n pointer-events: all;\n }\n .cc-panel-backdrop.cc-visible { opacity: 1; }\n\n .cc-panel {\n position: fixed;\n top: 0; right: -500px;\n width: 460px;\n max-width: 95vw;\n height: 100%;\n background: #f9fafb;\n z-index: 2147483646;\n display: flex;\n flex-direction: column;\n box-shadow: -4px 0 32px rgba(0,0,0,0.12);\n transition: right 0.28s cubic-bezier(0.4, 0, 0.2, 1);\n font-family: ${o};\n pointer-events: all;\n }\n .cc-panel.cc-open { right: 0; }\n\n /* ── Panel Header ────────────────────────────────────── */\n .cc-panel-header {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 16px 20px;\n border-bottom: 1px solid #e5e7eb;\n background: #fff;\n flex-shrink: 0;\n }\n .cc-panel-title {\n font-size: 16px;\n font-weight: 700;\n color: #111827;\n flex: 1;\n }\n .cc-panel-count {\n font-size: 13px;\n color: #6b7280;\n font-weight: 400;\n }\n .cc-panel-close-btn {\n background: transparent;\n border: none;\n cursor: pointer;\n color: #6b7280;\n padding: 4px;\n display: flex;\n align-items: center;\n border-radius: 6px;\n transition: background 0.15s;\n }\n .cc-panel-close-btn:hover { background: #f3f4f6; }\n\n .cc-back-btn {\n background: transparent;\n border: none;\n cursor: pointer;\n color: #6b7280;\n padding: 4px;\n display: none;\n align-items: center;\n border-radius: 6px;\n transition: background 0.15s;\n }\n .cc-back-btn.cc-visible { display: flex; }\n .cc-back-btn:hover { background: #f3f4f6; }\n\n /* ── Sort Bar ────────────────────────────────────────── */\n .cc-sort-bar {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 10px 20px;\n border-bottom: 1px solid #f3f4f6;\n background: #fff;\n flex-shrink: 0;\n }\n .cc-sort-label { font-size: 12px; color: #9ca3af; font-weight: 500; }\n .cc-sort-btn {\n background: transparent;\n border: none;\n cursor: pointer;\n font-size: 12px;\n font-weight: 600;\n color: #6b7280;\n padding: 4px 8px;\n border-radius: 6px;\n font-family: ${o};\n transition: background 0.15s, color 0.15s;\n }\n .cc-sort-btn:hover { background: #f3f4f6; }\n .cc-sort-btn.cc-active { background: #111827; color: #fff; }\n\n /* ── Comments List ───────────────────────────────────── */\n .cc-comments-list {\n flex: 1;\n overflow-y: auto;\n overscroll-behavior: contain;\n }\n .cc-comments-list::-webkit-scrollbar { width: 4px; }\n .cc-comments-list::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 4px; }\n\n /* ── Comment Card ────────────────────────────────────── */\n .cc-comment-card {\n padding: 16px 20px;\n background: #fff;\n border-bottom: 1px solid #f3f4f6;\n }\n .cc-comment-card.cc-reply {\n padding-left: 36px;\n background: #fafafa;\n }\n\n .cc-comment-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n margin-bottom: 8px;\n }\n .cc-comment-author-row { display: flex; align-items: center; gap: 10px; }\n\n .cc-avatar {\n width: 32px; height: 32px;\n border-radius: 50%;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #fff;\n font-weight: 700;\n font-size: 12px;\n overflow: hidden;\n }\n .cc-avatar img { width: 100%; height: 100%; object-fit: cover; }\n\n .cc-author-name {\n font-size: 14px;\n font-weight: 700;\n color: #111827;\n }\n .cc-comment-time {\n font-size: 11px;\n color: #9ca3af;\n margin-top: 2px;\n }\n\n .cc-comment-body {\n font-size: 14px;\n color: #374151;\n line-height: 1.6;\n margin-bottom: 12px;\n word-break: break-word;\n white-space: pre-wrap;\n }\n\n .cc-comment-actions {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n .cc-action-btn {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n background: transparent;\n border: none;\n cursor: pointer;\n font-size: 12px;\n font-weight: 500;\n color: #6b7280;\n padding: 3px 6px;\n border-radius: 6px;\n font-family: ${o};\n transition: background 0.15s, color 0.15s;\n }\n .cc-action-btn:hover { background: #f3f4f6; }\n .cc-action-btn.cc-liked { color: #ef4444; }\n .cc-action-btn.cc-danger:hover { color: #ef4444; background: #fef2f2; }\n .cc-action-btn.cc-owner-actions { margin-left: auto; }\n\n /* ── Reply Subthread ─────────────────────────────────── */\n .cc-subthread-label {\n font-size: 11px;\n font-weight: 600;\n color: #94a3b8;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n padding: 12px 20px 8px;\n background: #f9fafb;\n }\n\n /* ── Empty / Loading / Error ─────────────────────────── */\n .cc-empty-state, .cc-loading-state, .cc-error-state {\n text-align: center;\n padding: 60px 20px;\n color: #9ca3af;\n }\n .cc-empty-state p, .cc-loading-state p, .cc-error-state p {\n font-size: 14px;\n font-weight: 500;\n color: #9ca3af;\n margin-bottom: 6px;\n }\n .cc-empty-state span, .cc-loading-state span, .cc-error-state span {\n font-size: 13px;\n color: #d1d5db;\n }\n .cc-error-state .cc-retry-btn {\n margin-top: 16px;\n padding: 8px 16px;\n background: #111827;\n color: #fff;\n border: none;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n font-family: ${o};\n }\n .cc-error-icon { color: #ef4444; margin-bottom: 12px; }\n\n .cc-spinner-lg {\n width: 28px; height: 28px;\n border: 2px solid #e5e7eb;\n border-top-color: ${t};\n border-radius: 50%;\n animation: cc-spin 0.7s linear infinite;\n margin: 0 auto 12px;\n }\n @keyframes cc-spin { to { transform: rotate(360deg); } }\n\n /* ── Compose Box ─────────────────────────────────────── */\n .cc-compose {\n border-top: 1px solid #e5e7eb;\n padding: 12px 20px;\n background: #fff;\n flex-shrink: 0;\n position: relative;\n }\n\n .cc-compose-textarea {\n width: 100%;\n min-height: 72px;\n max-height: 180px;\n border: 1.5px solid #d1d5db;\n border-radius: 8px;\n padding: 10px 12px;\n font-size: 14px;\n font-family: ${o};\n color: #111827;\n resize: vertical;\n outline: none;\n background: #fff;\n transition: border-color 0.15s;\n line-height: 1.5;\n }\n .cc-compose-textarea:focus { border-color: ${t}; }\n .cc-compose-textarea::placeholder { color: #9ca3af; }\n\n .cc-compose-actions {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: 8px;\n gap: 8px;\n }\n .cc-compose-cancel {\n background: transparent;\n border: none;\n cursor: pointer;\n font-size: 13px;\n color: #6b7280;\n font-family: ${o};\n padding: 6px;\n display: none;\n }\n .cc-compose-cancel.cc-visible { display: block; }\n .cc-compose-submit {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n height: 36px;\n padding: 0 16px;\n background: ${t};\n color: #fff;\n border: none;\n border-radius: 7px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n font-family: ${o};\n margin-left: auto;\n transition: opacity 0.15s;\n }\n .cc-compose-submit:disabled { opacity: 0.55; cursor: not-allowed; }\n\n .cc-spinner-sm {\n width: 14px; height: 14px;\n border: 2px solid rgba(255,255,255,0.4);\n border-top-color: #fff;\n border-radius: 50%;\n animation: cc-spin 0.7s linear infinite;\n }\n\n /* ── Login Overlay inside compose ────────────────────── */\n .cc-login-overlay {\n position: absolute;\n inset: 0;\n background: rgba(255,255,255,0.95);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 10px;\n padding: 16px;\n border-top: 1px solid #e5e7eb;\n }\n .cc-login-overlay p {\n font-size: 14px;\n color: #6b7280;\n text-align: center;\n }\n .cc-login-overlay-btn {\n height: 40px;\n padding: 0 20px;\n background: ${t};\n color: #fff;\n border: none;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n font-family: ${o};\n }\n `),a}function k(){const e=c.get();r=e?function(e){var t,o;const i=n(e);return i&&null!==(o=null!==(t=i.id)&&void 0!==t?t:i._id)&&void 0!==o?o:null}(e):null}async function L(){const n=`https://accounts.contentcredits.com/authenticate/extension?redirect=${encodeURIComponent(e.articleUrl)}`;x()?window.location.href=n:await C(n)&&(k(),z(),T())}async function T(){var n;const o=v(),i=o.getElementById("cc-comments-list");if(i){!function(e){e.innerHTML="";const n=y("div");n.className="cc-loading-state";const t=y("div");t.className="cc-spinner-lg",n.appendChild(t),n.appendChild(y("p","Loading comments…")),e.appendChild(n)}(i);try{const a=await t.ensureThread({pageUrl:e.articleUrl,hostname:e.hostName});if(!a._id)return void P(i,"Comments are not available for this page.");s=a._id;const c=await t.getComments({pageUrl:e.articleUrl,sortBy:d});l=null!==(n=c.comments)&&void 0!==n?n:[],c.thread&&(s=c.thread._id);const r=o.getElementById("cc-header-count");r&&g(r,String(l.length)),M(i)}catch(e){P(i,"Unable to reach the server. Check your connection.")}}}function S(e){const n=new Map,t=[];return e.forEach(e=>n.set(e._id,Object.assign(Object.assign({},e),{replies:[]}))),e.forEach(e=>{const o=n.get(e._id);if(e.parentCommentId){const t=n.get(e.parentCommentId);t&&!t.parentCommentId&&t.replies.push(o)}else t.push(o)}),t}function P(e,n){e.innerHTML="";const t=y("div");t.className="cc-error-state";const o=y("div");o.className="cc-error-icon",o.innerHTML='<svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/></svg>',t.appendChild(o),t.appendChild(y("p",n));const i=y("button","Try Again");i.className="cc-retry-btn",i.addEventListener("click",()=>{T()}),t.appendChild(i),e.appendChild(t)}function M(e){e.innerHTML="";const n=v(),t=n.getElementById("cc-back-btn"),o=n.getElementById("cc-panel-title");if(p?(null==t||t.classList.add("cc-visible"),o&&g(o,"Replies")):(null==t||t.classList.remove("cc-visible"),o&&g(o,"Comments")),p)!function(e,n){var t,o,i,a,c;const r=S(l).find(e=>e._id===n);if(!r)return;e.appendChild(B(r,!1));const s=y("div",`${null!==(o=null===(t=r.replies)||void 0===t?void 0:t.length)&&void 0!==o?o:0} ${1===(null!==(a=null===(i=r.replies)||void 0===i?void 0:i.length)&&void 0!==a?a:0)?"REPLY":"REPLIES"}`);if(s.className="cc-subthread-label",e.appendChild(s),null===(c=r.replies)||void 0===c?void 0:c.length)r.replies.forEach(n=>e.appendChild(B(n,!0)));else{const n=y("div");n.className="cc-empty-state",n.style.paddingTop="20px",n.appendChild(y("p","No replies yet")),e.appendChild(n)}}(e,p);else{if(0===l.length){const n=y("div");n.className="cc-empty-state",n.appendChild(y("p","No comments yet"));const t=y("span","Be the first to share your thoughts");return n.appendChild(t),void e.appendChild(n)}(function(e){const n=[...e];return"NEWEST"===d?n.sort((e,n)=>new Date(n.createdAt).getTime()-new Date(e.createdAt).getTime()):n.sort((e,n)=>{var t,o,i,a,c,r;return(null!==(o=null===(t=n.replies)||void 0===t?void 0:t.length)&&void 0!==o?o:0)-(null!==(a=null===(i=e.replies)||void 0===i?void 0:i.length)&&void 0!==a?a:0)||(null!==(c=n.likeCount)&&void 0!==c?c:0)-(null!==(r=e.likeCount)&&void 0!==r?r:0)}),n.forEach(e=>{var n;(null===(n=e.replies)||void 0===n?void 0:n.length)&&e.replies.sort((e,n)=>new Date(n.createdAt).getTime()-new Date(e.createdAt).getTime())}),n})(S(l)).forEach(n=>e.appendChild(B(n,!1)))}}function B(n,t){var o,i;const a=!(!r||n.authorId!==r),c=n.author,s=c?`${c.firstName} ${c.lastName}`.trim():"Anonymous",l=N[(s||"A").charCodeAt(0)%N.length],d=c?function(e,n){var t,o,i,a;return`${null!==(o=null===(t=null==e?void 0:e[0])||void 0===t?void 0:t.toUpperCase())&&void 0!==o?o:""}${null!==(a=null===(i=null==n?void 0:n[0])||void 0===i?void 0:i.toUpperCase())&&void 0!==a?a:""}`||"?"}(c.firstName,c.lastName):"?",p=y("div");p.className="cc-comment-card"+(t?" cc-reply":""),p.dataset.commentId=n._id;const u=y("div");u.className="cc-comment-header";const h=y("div");h.className="cc-comment-author-row";const m=y("div");if(m.className="cc-avatar",m.style.background=l,null==c?void 0:c.profilePicture){const n=function(e){try{const n=new URL(e);return"http:"!==n.protocol&&"https:"!==n.protocol?null:n.toString()}catch(e){return null}}(c.profilePicture.startsWith("http")?c.profilePicture:`${e.apiBaseUrl}${c.profilePicture}`);if(n){const e=y("img");e.setAttribute("src",n),e.setAttribute("alt",s),e.addEventListener("error",()=>{e.remove(),g(m,d)}),m.appendChild(e)}else g(m,d)}else g(m,d);const f=y("div"),b=y("div",s);b.className="cc-author-name";const v=y("div",function(e){try{const n=new Date(e);return`${n.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit"})} · ${n.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}`}catch(e){return""}}(n.createdAt));v.className="cc-comment-time",f.appendChild(b),f.appendChild(v),h.appendChild(m),h.appendChild(f),u.appendChild(h),p.appendChild(u);const x=y("div");x.className="cc-comment-body",x.appendChild(function(e){const n=document.createDocumentFragment(),t=e.split("\n");return t.forEach((e,o)=>{n.appendChild(document.createTextNode(e)),o<t.length-1&&n.appendChild(document.createElement("br"))}),n}(n.content)),p.appendChild(x);const w=y("div");if(w.className="cc-comment-actions",!t){const e=y("button");e.className="cc-action-btn",e.dataset.commentId=n._id,e.dataset.action="reply",e.innerHTML='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="transform:scaleX(-1)"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>',e.appendChild(document.createTextNode(` ${(null===(o=n.replies)||void 0===o?void 0:o.length)||"Reply"}`)),w.appendChild(e)}const C=y("button");if(C.className="cc-action-btn"+(n.hasLiked?" cc-liked":""),C.dataset.commentId=n._id,C.dataset.action="like",C.innerHTML=`<svg width="14" height="14" viewBox="0 0 24 24" fill="${n.hasLiked?"currentColor":"none"}" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>`,C.appendChild(document.createTextNode(` ${null!==(i=n.likeCount)&&void 0!==i?i:0}`)),w.appendChild(C),a){const e=y("div");e.className="cc-action-btn cc-owner-actions",e.style.cssText="margin-left:auto;display:flex;gap:4px;background:transparent;border:none;padding:0;";const t=y("button","Edit");t.className="cc-action-btn",t.dataset.commentId=n._id,t.dataset.action="edit";const o=y("button","Delete");o.className="cc-action-btn cc-danger",o.dataset.commentId=n._id,o.dataset.action="delete",e.appendChild(t),e.appendChild(o),w.appendChild(e)}return p.appendChild(w),p}function I(){const e=y("div");e.className="cc-login-overlay",e.id="cc-login-overlay",e.appendChild(y("p","Sign in to join the conversation"));const n=y("button","Login with Content Credits");return n.className="cc-login-overlay-btn",n.addEventListener("click",()=>{L()}),e.appendChild(n),e}function A(e){const n=e.target.closest("[data-action]");if(!n)return;const i=n.dataset.action,r=n.dataset.commentId;if(r)switch(i){case"reply":!function(e){if(p){u=e,b=null;const n=null==a?void 0:a.getElementById("cc-compose-textarea");n&&(n.placeholder="Write a reply…",n.focus()),$()}else{p=e;const n=null==a?void 0:a.getElementById("cc-comments-list");n&&M(n)}}(r);break;case"like":!async function(e){var n,i,r,s,d;if(!c.has())return void L();const p=l.find(n=>n._id===e);if(!p)return;const u=p.hasLiked;p.hasLiked=!u,p.likeCount=(null!==(n=p.likeCount)&&void 0!==n?n:0)+(p.hasLiked?1:-1);const h=null==a?void 0:a.getElementById("cc-comments-list");h&&M(h);try{const n=await t.toggleLike(e);n.success?("boolean"==typeof(null===(i=n.data)||void 0===i?void 0:i.hasLiked)&&(p.hasLiked=n.data.hasLiked),"number"==typeof(null===(r=n.data)||void 0===r?void 0:r.likeCount)&&(p.likeCount=n.data.likeCount),o.emit("comment:liked",{commentId:e,hasLiked:p.hasLiked})):(p.hasLiked=u,p.likeCount=(null!==(s=p.likeCount)&&void 0!==s?s:0)+(u?1:-1)),h&&M(h)}catch(e){p.hasLiked=u,p.likeCount=(null!==(d=p.likeCount)&&void 0!==d?d:0)+(u?1:-1),h&&M(h)}}(r);break;case"edit":!function(e){const n=l.find(n=>n._id===e);if(!n)return;b=e,u=null;const t=null==a?void 0:a.getElementById("cc-compose-textarea");t&&(t.value=n.content,t.placeholder="Edit your comment…",t.focus());const o=null==a?void 0:a.getElementById("cc-compose-submit");o&&g(o,"Update"),$()}(r);break;case"delete":!async function(e){if(confirm("Delete this comment?"))try{(await t.deleteComment(e))._id&&(o.emit("comment:deleted",{commentId:e}),T())}catch(e){}}(r)}}function $(){const e=null==a?void 0:a.getElementById("cc-compose-cancel");null==e||e.classList.add("cc-visible")}function _(){const e=null==a?void 0:a.getElementById("cc-compose-cancel");null==e||e.classList.remove("cc-visible")}function U(){b=null,u=null;const e=null==a?void 0:a.getElementById("cc-compose-textarea");e&&(e.value="",e.placeholder="Write a comment…");const n=null==a?void 0:a.getElementById("cc-compose-submit");n&&g(n,"Post"),_()}function z(){const e=v(),n=e.getElementById("cc-login-overlay");if(c.has()&&n)n.remove();else if(!c.has()&&!n){const n=e.getElementById("cc-compose");null==n||n.appendChild(I())}}function q(){const e=a;if(!e)return;const n=e.getElementById("cc-panel-backdrop"),t=e.getElementById("cc-comments-panel");null==n||n.classList.remove("cc-visible"),null==t||t.classList.remove("cc-open"),setTimeout(()=>{null==n||n.remove(),null==t||t.remove(),i()},280)}return{openPanel:function(){const e=v();w()&&k(),k();let n=e.getElementById("cc-panel-backdrop");if(!n){const i=y("div");i.className="cc-panel-backdrop",i.id="cc-panel-backdrop",i.addEventListener("click",q),e.appendChild(i),e.appendChild(function(){const e=y("div");e.className="cc-panel",e.id="cc-comments-panel";const n=y("div");n.className="cc-panel-header";const i=y("button");i.className="cc-back-btn",i.id="cc-back-btn",i.setAttribute("aria-label","Back"),i.innerHTML='<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M15 18l-6-6 6-6"/></svg>',i.addEventListener("click",()=>{p=null,u=null;const e=null==a?void 0:a.getElementById("cc-comments-list");e&&M(e)});const r=y("div");r.style.cssText="flex:1;display:flex;align-items:center;gap:6px;";const l=y("span","Comments");l.className="cc-panel-title",l.id="cc-panel-title";const h=y("span","");h.className="cc-panel-count",h.id="cc-header-count",r.appendChild(l),r.appendChild(h);const m=y("button");m.className="cc-panel-close-btn",m.setAttribute("aria-label","Close comments"),m.innerHTML='<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>',m.addEventListener("click",q),n.appendChild(i),n.appendChild(r),n.appendChild(m),e.appendChild(n);const f=y("div");f.className="cc-sort-bar";const v=y("span","Sort:");v.className="cc-sort-label",f.appendChild(v),["TOP","NEWEST"].forEach(e=>{const n=y("button",e);n.className="cc-sort-btn"+(d===e?" cc-active":""),n.dataset.sort=e,n.addEventListener("click",()=>{d!==e&&(d=e,f.querySelectorAll(".cc-sort-btn").forEach(e=>e.classList.remove("cc-active")),n.classList.add("cc-active"),T())}),f.appendChild(n)}),e.appendChild(f);const x=y("div");return x.className="cc-comments-list",x.id="cc-comments-list",x.addEventListener("click",A),e.appendChild(x),e.appendChild(function(){const e=y("div");e.className="cc-compose",e.id="cc-compose";const n=y("textarea");n.className="cc-compose-textarea",n.id="cc-compose-textarea",n.setAttribute("placeholder","Write a comment…"),n.setAttribute("rows","3"),e.appendChild(n);const i=y("div");i.className="cc-compose-actions";const r=y("button","Cancel");r.className="cc-compose-cancel",r.id="cc-compose-cancel",r.addEventListener("click",U),i.appendChild(r);const l=y("button","Post");return l.className="cc-compose-submit",l.id="cc-compose-submit",l.addEventListener("click",()=>{!async function(){const e=null==a?void 0:a.getElementById("cc-compose-textarea");if(!e)return;const n=e.value.trim();if(!n)return;if(!c.has())return void L();if(!s)return;const i=null==a?void 0:a.getElementById("cc-compose-submit");i&&(i.disabled=!0,g(i,"Posting…"));try{let a;b?a=await t.editComment(b,n):(a=await t.postComment({threadId:s,content:n,parentCommentId:null!=u?u:p}),o.emit("comment:posted",{comment:a})),a._id&&(e.value="",b=null,u=null,e.placeholder=p?"Write a reply…":"Write a comment…",_(),i&&g(i,"Post"),T())}catch(e){}finally{i&&(i.disabled=!1)}}()}),i.appendChild(l),e.appendChild(i),c.has()||e.appendChild(I()),e}()),e}()),n=i}const i=n;requestAnimationFrame(()=>{var n;i.classList.add("cc-visible"),null===(n=e.getElementById("cc-comments-panel"))||void 0===n||n.classList.add("cc-open")}),z(),T()},closePanel:q,destroy:function(){m(E),a=null}}}class S{constructor(e){var n;this.config=e,this.state=function(){let e={isLoading:!1,isExtensionAvailable:!1,isLoggedIn:!1,hasAccess:!1,isLoaded:!1,user:null,creditBalance:null,requiredCredits:null};const n=[];function t(){return Object.assign({},e)}function o(o){e=Object.assign(Object.assign({},e),o),n.forEach(e=>e(t()))}return{get:t,set:o,subscribe:function(e){return n.push(e),()=>{const t=n.indexOf(e);t>=0&&n.splice(t,1)}},reset:function(){e={isLoading:!1,isExtensionAvailable:!1,isLoggedIn:!1,hasAccess:!1,isLoaded:!1,user:null,creditBalance:null,requiredCredits:null},n.forEach(e=>e(t()))},setUser:function(e){var n;o({user:e,isLoggedIn:null!==e,creditBalance:null!==(n=null==e?void 0:e.credits)&&void 0!==n?n:null})}}}(),this.emitter=function(){const e={};function n(n,t){const o=e[n];if(!o)return;const i=o.indexOf(t);i>=0&&o.splice(i,1)}return{on:function(t,o){return e[t]||(e[t]=[]),e[t].push(o),()=>n(t,o)},off:n,emit:function(n,t){const o=e[n];o&&o.forEach(e=>{try{e(t)}catch(e){console.warn(`[ContentCredits] Error in "${n}" handler:`,e)}});try{document.dispatchEvent(new CustomEvent(`contentcredits:${n}`,{detail:t,bubbles:!1}))}catch(e){}},removeAll:function(){Object.keys(e).forEach(n=>{delete e[n]})}}}(),this.paywallModule=null,this.commentsModule=null,this.client=function(e,n){async function t(o,i,a,p=0,u=!1){const h=`${e}${i}`,m=a?JSON.stringify(a):void 0,f=function(e,n,t){return`${e}:${n}:${null!=t?t:""}`}(o,h,m),g=l.get(f);if(g)return g;const y=new AbortController,b=setTimeout(()=>y.abort(),12e3),v={"Content-Type":"application/json"},x=c.get();x&&(v.Authorization=`Bearer ${x}`);const w=fetch(h,{method:o,headers:v,body:m,signal:y.signal,credentials:"omit"}).then(async h=>{var m;if(clearTimeout(b),401===h.status){if(!u&&await s(e))return l.delete(f),t(o,i,a,p,!0);throw c.clear(),r.clear(),n.emit("auth:logout",{}),new d(401,"Unauthorized — session expired")}let g;try{g=await h.json()}catch(e){throw new d(h.status,"Invalid JSON response from server")}if(!h.ok){const e=null!==(m=null==g?void 0:g.message)&&void 0!==m?m:`HTTP ${h.status}`;throw new d(h.status,e,g)}return g}).catch(async e=>{clearTimeout(b);const n=e instanceof TypeError&&e.message.includes("fetch"),c=e instanceof d&&((r=e.status)>=500||429===r);var r;if((n||c)&&p<3)return l.delete(f),await async function(e){return new Promise(n=>setTimeout(n,e))}(400*Math.pow(2,p)),t(o,i,a,p+1);throw e}).finally(()=>{l.delete(f)});return l.set(f,w),w}return{get:e=>t("GET",e),post:(e,n)=>t("POST",e,n),put:(e,n)=>t("PUT",e,n),delete:e=>t("DELETE",e)}}(e.apiBaseUrl,this.emitter),this.creditsApi=(n=this.client,{checkAccess:e=>n.post("/credits/check-article-access",{apiKey:e.apiKey,postUrl:e.postUrl,postName:e.postName,hostName:e.hostName}),purchaseArticle:e=>n.post("/credits/purchase-article",{apiKey:e.apiKey,postUrl:e.postUrl,postName:e.postName,hostName:e.hostName})}),this.commentsApi=function(e){return{ensureThread:n=>e.post("/comments/threads/ensure",{pageUrl:n.pageUrl,hostname:n.hostname}),getComments(n){const t=encodeURIComponent(n.pageUrl);return e.get(`/comments/comments/by-url?url=${t}&sortBy=${n.sortBy}`)},postComment:n=>e.post("/comments/comments",Object.assign({threadId:n.threadId,content:n.content},n.parentCommentId?{parentCommentId:n.parentCommentId}:{})),editComment:(n,t)=>e.put(`/comments/comments/${n}`,{content:t}),deleteComment:n=>e.delete(`/comments/comments/${n}`),toggleLike:n=>e.post(`/comments/comments/${n}/toggle-like`,{})}}(this.client)}static init(e){const n=function(e){var n,t,o,i,a,c,r,s,l,d,p,u;if(!e.apiKey||"string"!=typeof e.apiKey||""===e.apiKey.trim())throw new Error("[ContentCredits] apiKey is required. Get yours from the Content Credits admin panel.");const h=function(e){try{const n=new URL(e);return["token","cc_token","refresh_token","cc_refresh_token"].forEach(e=>{n.searchParams.delete(e)}),n.toString()}catch(n){return e}}(null!==(n=e.articleUrl)&&void 0!==n?n:window.location.href);let m;try{m=new URL(h).hostname}catch(e){throw new Error(`[ContentCredits] Invalid articleUrl: "${h}"`)}return{apiKey:e.apiKey.trim(),articleUrl:h,hostName:m,pageTitle:document.title,contentSelector:null!==(t=e.contentSelector)&&void 0!==t?t:".cc-premium-content",teaserParagraphs:null!==(o=e.teaserParagraphs)&&void 0!==o?o:2,enableComments:null===(i=e.enableComments)||void 0===i||i,extensionId:null!==(a=e.extensionId)&&void 0!==a?a:"ljehdpabbhgccmanhjdfacjnaigpgcml",debug:null!==(c=e.debug)&&void 0!==c&&c,headless:null!==(r=e.headless)&&void 0!==r&&r,paywallMode:null!==(s=e.paywallMode)&&void 0!==s?s:"overlay",paywallTopSlot:e.paywallTopSlot,reactDOM:e.reactDOM,apiBaseUrl:"https://api.contentcredits.com",accountsUrl:"https://accounts.contentcredits.com",onAccessGranted:e.onAccessGranted,onStateChange:e.onStateChange,onReady:e.onReady,onLoginRequired:e.onLoginRequired,onPurchaseRequired:e.onPurchaseRequired,onInsufficientCredits:e.onInsufficientCredits,onPurchased:e.onPurchased,onUserLogin:e.onUserLogin,onUserLogout:e.onUserLogout,onError:e.onError,theme:{primaryColor:null!==(d=null===(l=e.theme)||void 0===l?void 0:l.primaryColor)&&void 0!==d?d:"#44C678",fontFamily:null!==(u=null===(p=e.theme)||void 0===p?void 0:p.fontFamily)&&void 0!==u?u:"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif"}}}(e),t=new S(n);return t._start(),t}async _start(){w(),this.config.onStateChange&&this.state.subscribe(this.config.onStateChange),this.config.onReady&&this.emitter.on("ready",({state:e})=>this.config.onReady(e)),this.config.onPurchased&&this.emitter.on("article:purchased",e=>this.config.onPurchased(e)),this.config.onUserLogin&&this.emitter.on("auth:login",({user:e})=>this.config.onUserLogin(e)),this.config.onUserLogout&&this.emitter.on("auth:logout",()=>this.config.onUserLogout()),this.config.onError&&this.emitter.on("error",e=>this.config.onError(e));const e=u({selector:this.config.contentSelector,teaserParagraphs:this.config.teaserParagraphs,paywallMode:this.config.paywallMode});this.config.headless||e.hide(),c.has()||await s(this.config.apiBaseUrl),this.paywallModule=k(this.config,this.creditsApi,this.state,this.emitter,e),this.config.enableComments&&(this.commentsModule=function(e,n,t){const o=T(e,n,t,()=>i.show()),i=function(e,n){let t=null,o=null;return{mount:function(){if(document.getElementById("cc-comment-widget"))return;let i=50;try{const e=localStorage.getItem(L);e&&(i=JSON.parse(e))}catch(e){}t=document.createElement("div"),t.id="cc-comment-widget",t.style.cssText=`\n position:fixed;top:${i}%;right:0;transform:translateY(-50%);\n height:60px;background:${e};border-radius:10px 0 0 10px;\n display:flex;align-items:center;gap:8px;padding:0 8px 0 12px;\n z-index:2147483646;box-shadow:-2px 0 16px rgba(0,0,0,.12);\n cursor:pointer;user-select:none;\n font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;\n transition:filter .2s;\n `,t.setAttribute("role","button"),t.setAttribute("aria-label","Open comments"),t.tabIndex=0;const a=document.createElement("div");a.style.cssText="color:#fff;display:flex;align-items:center;flex-shrink:0;",a.innerHTML='<svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>',o=document.createElement("span"),o.style.cssText=`\n background:#fff;color:${e};border-radius:12px;\n padding:2px 7px;font-size:12px;font-weight:700;min-width:20px;\n text-align:center;display:none;\n `;const c=document.createElement("div");c.style.cssText="color:rgba(255,255,255,.65);cursor:grab;display:flex;align-items:center;padding:0 2px;flex-shrink:0;",c.innerHTML='<svg width="8" height="22" viewBox="0 0 8 22" fill="none"><circle cx="4" cy="4" r="2" fill="currentColor"/><circle cx="4" cy="11" r="2" fill="currentColor"/><circle cx="4" cy="18" r="2" fill="currentColor"/></svg>',a.addEventListener("click",n),o.addEventListener("click",n);let r=!1,s=0,l=0;function d(e){r=!0,s=e,l=t.getBoundingClientRect().top,c.style.cursor="grabbing"}function p(e){if(!r||!t)return;const n=e-s,o=Math.max(0,Math.min(window.innerHeight-60,l+n))/window.innerHeight*100;t.style.top=`${o}%`}function u(){if(!r||!t)return;r=!1,c.style.cursor="grab";const e=t.getBoundingClientRect().top/window.innerHeight*100;try{localStorage.setItem(L,JSON.stringify(e))}catch(e){}}c.addEventListener("mousedown",e=>{e.preventDefault(),e.stopPropagation(),d(e.clientY)}),c.addEventListener("touchstart",e=>{e.preventDefault(),d(e.touches[0].clientY)},{passive:!1}),document.addEventListener("mousemove",e=>p(e.clientY)),document.addEventListener("touchmove",e=>p(e.touches[0].clientY),{passive:!0}),document.addEventListener("mouseup",u),document.addEventListener("touchend",u),t.addEventListener("keydown",e=>{"Enter"!==e.key&&" "!==e.key||n()}),t.appendChild(a),t.appendChild(o),t.appendChild(c),document.body.appendChild(t)},setCount:function(e){o&&(e>0?(o.textContent=e>99?"99+":String(e),o.style.display="inline-block"):o.style.display="none")},show:function(){t&&(t.style.display="flex")},hide:function(){t&&(t.style.display="none")},destroy:function(){null==t||t.remove(),t=null,o=null}}}(e.theme.primaryColor,()=>{i.hide(),o.openPanel()});return{init:function(){i.mount()},open:function(){i.hide(),o.openPanel()},close:function(){o.closePanel()},destroy:function(){o.destroy(),i.destroy()}}}(this.config,this.commentsApi,this.emitter),this.commentsModule.init()),await this.paywallModule.init(),this.emitter.emit("ready",{state:this.state.get()})}subscribe(e){return this.state.subscribe(e)}async login(){var e;await(null===(e=this.paywallModule)||void 0===e?void 0:e.login())}async purchase(){var e;await(null===(e=this.paywallModule)||void 0===e?void 0:e.purchase())}buyMoreCredits(){var e;null===(e=this.paywallModule)||void 0===e||e.buyMoreCredits()}on(e,n){return this.emitter.on(e,n)}off(e,n){this.emitter.off(e,n)}getState(){return this.state.get()}async checkAccess(){var e;await(null===(e=this.paywallModule)||void 0===e?void 0:e.checkAccess())}openComments(){var e;null===(e=this.commentsModule)||void 0===e||e.open()}closeComments(){var e;null===(e=this.commentsModule)||void 0===e||e.close()}isLoggedIn(){return c.has()}getToken(){return c.get()}async logout(){const e=r.get();if(e)try{await fetch(`${this.config.apiBaseUrl}/auth/log-out`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:e}),credentials:"omit"})}catch(e){}c.clear(),r.clear(),this.state.reset(),this.emitter.emit("auth:logout",{})}destroy(){var e,n;null===(e=this.paywallModule)||void 0===e||e.destroy(),null===(n=this.commentsModule)||void 0===n||n.destroy(),this.emitter.removeAll(),this.state.reset()}static get version(){return"2.16.0"}}!function(){var e,n,t;const o=null!==(e=document.currentScript)&&void 0!==e?e:document.querySelector("script[data-cc-api-key], script[data-api-key]");if(!o)return;const i=o.dataset,a=null!==(n=i.ccApiKey)&&void 0!==n?n:i.apiKey;if(!a)return;const c={apiKey:a,contentSelector:null!==(t=i.ccContentSelector)&&void 0!==t?t:i.contentSelector,teaserParagraphs:i.ccTeaserParagraphs?parseInt(i.ccTeaserParagraphs,10):void 0,enableComments:"false"!==i.ccEnableComments,extensionId:i.ccExtensionId,debug:"true"===i.ccDebug};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>S.init(c)):S.init(c)}(),e.ContentCredits=S});
|
|
2
2
|
//# sourceMappingURL=content-credits.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-credits.umd.min.js","sources":["../src/auth/token.ts","../src/auth/storage.ts","../src/auth/session.ts","../src/api/client.ts","../src/paywall/gate.ts","../src/ui/shadow.ts","../src/ui/sanitize.ts","../src/paywall/renderer.ts","../src/auth/popup.ts","../src/paywall/index.ts","../src/ui/styles.ts","../src/extension/bridge.ts","../src/extension/detector.ts","../src/comments/widget.ts","../src/comments/panel.ts","../src/index.ts","../src/api/credits.ts","../src/core/state.ts","../src/core/events.ts","../src/api/comments.ts","../src/core/config.ts","../src/comments/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["decodeJwt","token","parts","split","length","base64","replace","padded","padEnd","json","decodeURIComponent","atob","map","c","charCodeAt","toString","slice","join","JSON","parse","_a","isTokenExpired","payload","exp","Date","now","SESSION_KEY","REFRESH_KEY","memoryToken","tokenStorage","set","sessionStorage","setItem","get","this","clear","stored","getItem","removeItem","has","refreshTokenStorage","localStorage","async","tryRefreshSession","apiBaseUrl","rt","controller","AbortController","timeoutId","setTimeout","abort","resp","fetch","method","headers","body","stringify","refreshToken","credentials","signal","clearTimeout","ok","data","accessToken","inFlight","Map","ApiError","Error","constructor","status","message","super","name","GATE_ATTR","createGate","options","gated","contentEl","hiddenNodes","hide","document","querySelector","selector","hasAttribute","paragraphs","Array","from","querySelectorAll","teaserParagraphs","hideFrom","childNodes","pivotIndex","findIndex","n","contains","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","forEach","HTMLElement","Text","_b","style","setProperty","call","_d","_c","setAttribute","display","paywallMode","prevPos","position","fadeEl","createElement","cssText","appendChild","reveal","removeProperty","removeAttribute","remove","isGated","createShadowHost","id","host","getElementById","existing","_ccShadow","root","attachShadow","mode","removeShadowHost","injectStyles","css","textContent","dataset","ccStyles","setTextContent","el","str","tag","text","attrs","element","undefined","HOST_ID","renderSlotItem","item","type","h","content","className","p","btn","variantClass","variant","onClick","addEventListener","d","_e","isMobileDevice","ua","navigator","userAgent","test","window","matchMedia","matches","consumeTokenFromUrl","url","URL","location","href","searchParams","changed","param","delete","history","replaceState","scrubTokenFromUrl","opener","closed","postMessage","origin","close","openAuthPopup","authUrl","Promise","resolve","popup","settled","finish","clearInterval","timer","removeEventListener","onMessage","event","open","Math","round","screenX","outerWidth","screenY","outerHeight","elapsed","setInterval","popupUrl","includes","params","URLSearchParams","search","createPaywall","config","creditsApi","state","emitter","existingGate","gate","contentSelector","renderer","reactRoot","init","shadowRoot","anchorEl","parentNode","insertBefore","nextSibling","createInlineShadowHost","primaryColor","fontFamily","theme","panel","gradient","pageBg","getComputedStyle","backgroundColor","background","paddingBottom","slot","container","reactDOM","value","isArray","createRoot","render","unmount","rdom","unmountComponentAtNode","console","warn","mountReactElement","mountTopSlot","paywallTopSlot","divider","initOverlay","initInline","poweredBy","div","link","destroy","callbacks","meta","firstChild","removeChild","parent","cb","onLogin","renderLogin","credits","badge","onPurchase","renderPurchase","requiredCredits","required","available","detail","onBuyMoreCredits","renderInsufficient","creditBalance","disabled","spinner","createTextNode","renderLoading","setButtonLoading","loading","createPaywallRenderer","bridge","authHandler","purchaseHandler","handleMessage","origins","push","getAllowedOrigins","msg","attach","e","detach","requestAuthorization","articleId","hostName","requestPurchase","requestLogin","onAuthorizationResponse","handler","onPurchaseResponse","createExtensionBridge","extensionAvailable","handleAccessGranted","creditsSpent","balance","hasAccess","isLoaded","isLoading","headless","doLogin","doPurchase","doBuyMoreCredits","emit","remainingBalance","onAccessGranted","encodeURIComponent","articleUrl","isLoggedIn","checkAccess","apiKey","title","pageTitle","result","purchaseArticle","postUrl","postName","success","err","onInsufficientCredits","onPurchaseRequired","error","responded","isExtensionAvailable","isAuthenticated","doesHaveAccess","_f","_g","onLoginRequired","handleExtensionAuthResponse","extensionId","resolved","done","__CC_EXTENSION_LOADED","img","Image","onload","onerror","src","login","purchase","buyMoreCredits","POSITION_KEY","PANEL_HOST_ID","AVATAR_COLORS","createCommentPanel","commentsApi","onClose","currentUserId","currentThreadId","currentComments","currentSort","viewingSubthreadFor","replyingToCommentId","editingCommentId","ensureRoot","r","refreshUser","_id","getUserIdFromToken","updateLoginOverlay","loadComments","listEl","innerHTML","threadRes","ensureThread","pageUrl","hostname","renderError","commentsRes","getComments","sortBy","comments","thread","countEl","String","renderComments","buildTree","roots","replies","node","parentCommentId","icon","retry","backBtn","titleEl","classList","add","parentId","find","buildCommentEl","label","empty","paddingTop","renderSubthread","sub","sorted","sort","a","b","createdAt","getTime","likeCount","sortTree","comment","isReply","isOwn","authorId","author","authorName","firstName","lastName","trim","avatarBg","inis","first","last","toUpperCase","initials","card","commentId","header","authorRow","avatar","profilePicture","safeUrl","parsed","protocol","sanitizeUrl","startsWith","authorMeta","nameEl","timeEl","iso","toLocaleTimeString","hour","minute","toLocaleDateString","month","day","year","formatDate","raw","fragment","createDocumentFragment","lines","line","i","renderCommentContent","actions","replyBtn","action","likeBtn","hasLiked","ownerDiv","editBtn","deleteBtn","buildLoginOverlay","overlay","handleListClick","target","closest","textarea","placeholder","focus","showCancel","handleReply","wasLiked","res","toggleLike","handleLike","submitBtn","handleEdit","confirm","deleteComment","handleDelete","cancelBtn","hideCancel","cancelEdit","compose","closePanel","backdrop","openPanel","backdropEl","newBackdrop","titleGroup","closeBtn","sortBar","sortLabel","list","editComment","postComment","threadId","handleSubmit","buildCompose","buildPanel","requestAnimationFrame","ContentCredits","client","current","user","subscribers","Object","assign","patch","fn","subscribe","indexOf","splice","reset","setUser","createState","listeners","off","arr","idx","on","dispatchEvent","CustomEvent","bubbles","removeAll","keys","k","createEventEmitter","paywallModule","commentsModule","baseUrl","request","path","attempt","authRetried","serialisedBody","key","requestKey","promise","then","response","catch","isNetworkError","TypeError","isServerError","ms","sleep","pow","finally","post","put","createApiClient","encoded","createCommentsApi","rawConfig","normalizeArticleUrl","_o","enableComments","debug","_h","accountsUrl","onStateChange","onReady","onPurchased","onUserLogin","onUserLogout","onError","_j","_k","_l","_m","resolveConfig","instance","_start","earlyGate","widget","show","onOpen","badgeEl","mount","topPercent","saved","tabIndex","handle","dragging","startY","startTop","beginDrag","y","getBoundingClientRect","top","cursor","moveDrag","delta","pct","max","min","innerHeight","endDrag","preventDefault","stopPropagation","clientY","touches","passive","setCount","createCommentWidget","createComments","getState","openComments","closeComments","getToken","logout","version","script","currentScript","ds","ccApiKey","ccContentSelector","ccTeaserParagraphs","parseInt","ccEnableComments","ccExtensionId","ccDebug","readyState","autoInit"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"content-credits.umd.min.js","sources":["../src/auth/token.ts","../src/auth/storage.ts","../src/auth/session.ts","../src/api/client.ts","../src/paywall/gate.ts","../src/ui/shadow.ts","../src/ui/sanitize.ts","../src/paywall/renderer.ts","../src/auth/popup.ts","../src/paywall/index.ts","../src/ui/styles.ts","../src/extension/bridge.ts","../src/extension/detector.ts","../src/comments/widget.ts","../src/comments/panel.ts","../src/index.ts","../src/api/credits.ts","../src/core/state.ts","../src/core/events.ts","../src/api/comments.ts","../src/core/config.ts","../src/comments/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["decodeJwt","token","parts","split","length","base64","replace","padded","padEnd","json","decodeURIComponent","atob","map","c","charCodeAt","toString","slice","join","JSON","parse","_a","isTokenExpired","payload","exp","Date","now","SESSION_KEY","REFRESH_KEY","memoryToken","tokenStorage","set","sessionStorage","setItem","get","this","clear","stored","getItem","removeItem","has","refreshTokenStorage","localStorage","async","tryRefreshSession","apiBaseUrl","rt","controller","AbortController","timeoutId","setTimeout","abort","resp","fetch","method","headers","body","stringify","refreshToken","credentials","signal","clearTimeout","ok","data","accessToken","inFlight","Map","ApiError","Error","constructor","status","message","super","name","GATE_ATTR","createGate","options","gated","contentEl","hiddenNodes","hide","document","querySelector","selector","hasAttribute","paragraphs","Array","from","querySelectorAll","teaserParagraphs","hideFrom","childNodes","pivotIndex","findIndex","n","contains","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","forEach","HTMLElement","Text","_b","style","setProperty","call","_d","_c","setAttribute","display","paywallMode","prevPos","position","fadeEl","createElement","cssText","appendChild","reveal","removeProperty","removeAttribute","remove","isGated","createShadowHost","id","host","getElementById","existing","_ccShadow","root","attachShadow","mode","removeShadowHost","injectStyles","css","textContent","dataset","ccStyles","setTextContent","el","str","tag","text","attrs","element","undefined","HOST_ID","renderSlotItem","item","type","h","content","className","p","btn","variantClass","variant","onClick","addEventListener","d","_e","isMobileDevice","ua","navigator","userAgent","test","window","matchMedia","matches","consumeTokenFromUrl","url","URL","location","href","searchParams","changed","param","delete","history","replaceState","scrubTokenFromUrl","opener","closed","postMessage","origin","close","openAuthPopup","authUrl","Promise","resolve","popup","settled","finish","clearInterval","timer","removeEventListener","onMessage","event","open","Math","round","screenX","outerWidth","screenY","outerHeight","elapsed","setInterval","popupUrl","includes","params","URLSearchParams","search","createPaywall","config","creditsApi","state","emitter","existingGate","gate","contentSelector","renderer","reactRoot","init","shadowRoot","anchorEl","parentNode","insertBefore","nextSibling","createInlineShadowHost","primaryColor","fontFamily","theme","panel","gradient","pageBg","getComputedStyle","backgroundColor","background","CSS","supports","paddingBottom","slot","container","reactDOM","value","isArray","createRoot","render","unmount","rdom","unmountComponentAtNode","console","warn","mountReactElement","mountTopSlot","paywallTopSlot","divider","initOverlay","initInline","poweredBy","div","link","setButtonLoading","loading","disabled","spinner","createTextNode","destroy","callbacks","meta","firstChild","removeChild","parent","cb","detail","onLogin","renderLogin","credits","onPurchase","renderPurchase","requiredCredits","required","available","onBuyMoreCredits","renderInsufficient","creditBalance","createPaywallRenderer","bridge","authHandler","purchaseHandler","handleMessage","origins","push","getAllowedOrigins","msg","attach","e","detach","requestAuthorization","articleId","hostName","requestPurchase","requestLogin","onAuthorizationResponse","handler","onPurchaseResponse","createExtensionBridge","extensionAvailable","handleAccessGranted","creditsSpent","balance","hasAccess","isLoaded","isLoading","headless","doLogin","doPurchase","doBuyMoreCredits","emit","remainingBalance","onAccessGranted","encodeURIComponent","articleUrl","isLoggedIn","checkAccess","apiKey","title","pageTitle","result","purchaseArticle","postUrl","postName","success","err","onInsufficientCredits","onPurchaseRequired","error","responded","isExtensionAvailable","isAuthenticated","doesHaveAccess","_f","_g","onLoginRequired","handleExtensionAuthResponse","extensionId","resolved","done","__CC_EXTENSION_LOADED","img","Image","onload","onerror","src","login","purchase","buyMoreCredits","POSITION_KEY","PANEL_HOST_ID","AVATAR_COLORS","createCommentPanel","commentsApi","onClose","currentUserId","currentThreadId","currentComments","currentSort","viewingSubthreadFor","replyingToCommentId","editingCommentId","ensureRoot","r","refreshUser","_id","getUserIdFromToken","updateLoginOverlay","loadComments","listEl","innerHTML","renderLoading","threadRes","ensureThread","pageUrl","hostname","renderError","commentsRes","getComments","sortBy","comments","thread","countEl","String","renderComments","buildTree","roots","replies","node","parentCommentId","icon","retry","backBtn","titleEl","classList","add","parentId","find","buildCommentEl","label","empty","paddingTop","renderSubthread","sub","sorted","sort","a","b","createdAt","getTime","likeCount","sortTree","comment","isReply","isOwn","authorId","author","authorName","firstName","lastName","trim","avatarBg","inis","first","last","toUpperCase","initials","card","commentId","header","authorRow","avatar","profilePicture","safeUrl","parsed","protocol","sanitizeUrl","startsWith","authorMeta","nameEl","timeEl","iso","toLocaleTimeString","hour","minute","toLocaleDateString","month","day","year","formatDate","raw","fragment","createDocumentFragment","lines","line","i","renderCommentContent","actions","replyBtn","action","likeBtn","hasLiked","ownerDiv","editBtn","deleteBtn","buildLoginOverlay","overlay","handleListClick","target","closest","textarea","placeholder","focus","showCancel","handleReply","wasLiked","res","toggleLike","handleLike","submitBtn","handleEdit","confirm","deleteComment","handleDelete","cancelBtn","hideCancel","cancelEdit","compose","closePanel","backdrop","openPanel","backdropEl","newBackdrop","titleGroup","closeBtn","sortBar","sortLabel","list","editComment","postComment","threadId","handleSubmit","buildCompose","buildPanel","requestAnimationFrame","ContentCredits","client","current","user","subscribers","Object","assign","patch","fn","subscribe","indexOf","splice","reset","setUser","createState","listeners","off","arr","idx","on","dispatchEvent","CustomEvent","bubbles","removeAll","keys","k","createEventEmitter","paywallModule","commentsModule","baseUrl","request","path","attempt","authRetried","serialisedBody","key","requestKey","promise","then","response","catch","isNetworkError","TypeError","isServerError","ms","sleep","pow","finally","post","put","createApiClient","encoded","createCommentsApi","rawConfig","normalizeArticleUrl","_o","enableComments","debug","_h","accountsUrl","onStateChange","onReady","onPurchased","onUserLogin","onUserLogout","onError","_j","_k","_l","_m","resolveConfig","instance","_start","earlyGate","widget","show","onOpen","badgeEl","mount","topPercent","saved","tabIndex","handle","dragging","startY","startTop","beginDrag","y","getBoundingClientRect","top","cursor","moveDrag","delta","pct","max","min","innerHeight","endDrag","preventDefault","stopPropagation","clientY","touches","passive","setCount","createCommentWidget","createComments","getState","openComments","closeComments","getToken","logout","version","script","currentScript","ds","ccApiKey","ccContentSelector","ccTeaserParagraphs","parseInt","ccEnableComments","ccExtensionId","ccDebug","readyState","autoInit"],"mappings":"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"}
|