chatgram-widget 1.0.4 → 1.0.5
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/README.md +36 -8
- package/dist/chatgram-widget.cjs.js +1 -1
- package/dist/chatgram-widget.cjs.js.map +1 -1
- package/dist/chatgram-widget.esm.js +1 -1
- package/dist/chatgram-widget.esm.js.map +1 -1
- package/dist/chatgram-widget.umd.js +1 -1
- package/dist/chatgram-widget.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).ChatgramWidget={})}(this,function(t){"use strict";class e extends Error{constructor(t,e,n){super(t),this.name="ChatgramError",this.code=e,this.statusCode=n}}const n={primaryColor:"#EE6055",secondaryColor:"#D94F44",backgroundColor:"#FFFFFF",headerBackgroundColor:"#2C3345",headerTextColor:"#FFFFFF",textColor:"#6B7280",inputBackgroundColor:"#1E2535",inputTextColor:"#FFFFFF",inputPlaceholderColor:"#9CA3AF",borderRadius:"8px",modalBorderRadius:"16px",fontFamily:"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif",boxShadow:"0 25px 60px rgba(0, 0, 0, 0.3)"},i={title:"Contact Support",subtitle:"We're here to help you succeed",categoryLabel:"What can we help with?",emailLabel:"Your Email",emailPlaceholder:"email@example.com",nameLabel:"Your Name",namePlaceholder:"John Doe",subjectLabel:"Subject",subjectPlaceholder:"Brief subject of your request",messageLabel:"Message",messagePlaceholder:"Tell us what you think...",submitButtonText:"Submit",submittingText:"Sending...",successTitle:"Message Sent!",successMessage:"We've received your message and will get back to you as soon as possible.",successButtonText:"Close",errorTitle:"Oops!",errorMessage:"Something went wrong. Please try again.",errorButtonText:"Try Again",requiredFieldError:"This field is required",invalidEmailError:"Please enter a valid email address",messageTooLongError:"Message exceeds the maximum length",networkError:"Network error. Please check your internet connection.",timeoutError:"Request timed out. Please try again.",rateLimitError:"Too many submissions. Please wait a moment.",categories:{feedback:"Feedback",bug:"Bug Report",feature:"Feature",support:"Support"}},o=["feedback","bug","feature","support"];function s(t,e){if(!e)return{...t};const n={...t};for(const i of Object.keys(e)){const o=e[i],s=t[i];void 0!==o&&(n[i]=null===o||"object"!=typeof o||Array.isArray(o)||null===s||"object"!=typeof s||Array.isArray(s)?o:{...s,...o})}return n}function r(t){var e,r,l,c,d,h,u,g,p,m,f,b,x;return{domain:t.publicKey?t.domain:t.domain||("undefined"!=typeof window&&window.location?window.location.hostname:"localhost"),apiBaseUrl:(t.apiBaseUrl||"https://chatgram-server.brandid.app").replace(/\/+$/,""),theme:s(n,t.theme),texts:s(i,t.texts),categories:o,defaultCategory:"support",showCategories:!0,maxMessageLength:a(null!==(e=t.maxMessageLength)&&void 0!==e?e:5e3,100,5e4),showTriggerButton:null===(r=t.showTriggerButton)||void 0===r||r,triggerPosition:t.triggerPosition||"bottom-right",showNameField:null===(l=t.showNameField)||void 0===l||l,zIndex:null!==(c=t.zIndex)&&void 0!==c?c:999999,closeOnOverlayClick:null===(d=t.closeOnOverlayClick)||void 0===d||d,closeOnEscape:null===(h=t.closeOnEscape)||void 0===h||h,enableHoneypot:null===(u=t.enableHoneypot)||void 0===u||u,minSubmitDelay:a(null!==(g=t.minSubmitDelay)&&void 0!==g?g:2,0,30),rateLimitMax:a(null!==(p=t.rateLimitMax)&&void 0!==p?p:3,1,100),rateLimitWindow:a(null!==(m=t.rateLimitWindow)&&void 0!==m?m:3e5,1e4,36e5),requestTimeout:a(null!==(f=t.requestTimeout)&&void 0!==f?f:15e3,3e3,6e4),retryAttempts:a(null!==(b=t.retryAttempts)&&void 0!==b?b:2,0,5),autoResetDelay:Math.max(null!==(x=t.autoResetDelay)&&void 0!==x?x:0,0),publicKey:t.publicKey,triggerIconUrl:t.triggerIconUrl,triggerBackgroundColor:t.triggerBackgroundColor,triggerTextColor:t.triggerTextColor,triggerTooltip:t.triggerTooltip,defaultEmail:t.defaultEmail,defaultName:t.defaultName,onSuccess:t.onSuccess,onError:t.onError,onOpen:t.onOpen,onClose:t.onClose,onSubmit:t.onSubmit}}function a(t,e,n){return Math.min(Math.max(t,e),n)}class l{constructor(){this.listeners=new Map}on(t,e){this.listeners.has(t)||this.listeners.set(t,new Set),this.listeners.get(t).add(e)}off(t,e){var n;null===(n=this.listeners.get(t))||void 0===n||n.delete(e)}once(t,e){const n=i=>{this.off(t,n),e(i)};this.on(t,n)}emit(t,e){const n=this.listeners.get(t);if(n)for(const i of n)try{i(e)}catch(e){console.error(`[chatgram-widget] Error in "${t}" handler:`,e)}}removeAllListeners(){this.listeners.clear()}}async function c(t,n,i){const o=new AbortController,s=setTimeout(()=>o.abort(),i);try{const i=`${t}/api/tickets`,r=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(n),signal:o.signal});clearTimeout(s);let a={};try{a=await r.json()}catch(t){}if(!r.ok){const t="string"==typeof a.message?a.message:`Server error (${r.status})`;if(429===r.status)throw new e(t,"RATE_LIMITED",429);if(r.status>=400&&r.status<500)throw new e(t,"VALIDATION_ERROR",r.status);throw new e(t,"SERVER_ERROR",r.status)}return{success:!0,ticketId:a.ticketId||a.id||a._id||void 0,message:a.message||"Ticket created successfully"}}catch(t){if(clearTimeout(s),t instanceof e)throw t;if(t instanceof DOMException&&"AbortError"===t.name)throw new e("Request timed out. Please check your connection and try again.","TIMEOUT");if(t instanceof TypeError)throw new e("Network error. Please check your internet connection.","NETWORK_ERROR");throw new e(t instanceof Error?t.message:"An unexpected error occurred","UNKNOWN")}}function d(t){return new Promise(e=>setTimeout(e,t))}function h(t){return t instanceof e?t:t instanceof Error?new e(t.message,"UNKNOWN"):new e(String(t),"UNKNOWN")}class u{constructor(t,e){this.timestamps=[],this.maxRequests=t,this.windowMs=e}tryConsume(){const t=Date.now();return this.timestamps=this.timestamps.filter(e=>t-e<this.windowMs),!(this.timestamps.length>=this.maxRequests||(this.timestamps.push(t),0))}getRetryAfter(){if(this.timestamps.length<this.maxRequests)return 0;const t=this.timestamps[0],e=this.windowMs-(Date.now()-t);return Math.max(Math.ceil(e/1e3),1)}reset(){this.timestamps=[]}}function g(t){return"string"!=typeof t?"":t.replace(/\0/g,"").trim()}function p(t){return"string"==typeof t&&t.trim().length>0}function m(t){return function(t){return"string"==typeof t&&!/expression\s*\(|url\s*\(|javascript:|data:/i.test(t)}(t)?t:""}function f(t,e,n){const i=document.createElement(t);if(e)for(const[t,n]of Object.entries(e))"className"===t?i.className=n:"textContent"===t?i.textContent=n:"innerHTML"===t?i.innerHTML=n:i.setAttribute(t,n);return i}const b=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(", ");let x=0,v=0,y="",w="",E=0;const C={feedback:'<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><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>',bug:'<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m8 2 1.88 1.88"/><path d="M14.12 3.88 16 2"/><path d="M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"/><path d="M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"/><path d="M12 20v-9"/><path d="M6.53 9C4.6 8.8 3 7.1 3 5"/><path d="M6 13H2"/><path d="M3 21c0-2.1 1.7-3.9 3.8-4"/><path d="M20.97 5c0 2.1-1.6 3.8-3.5 4"/><path d="M22 13h-4"/><path d="M17.2 17c2.1.1 3.8 1.9 3.8 4"/></svg>',feature:'<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"/><path d="M12 1v2"/><path d="M12 21v2"/><path d="M4.22 4.22l1.42 1.42"/><path d="M18.36 18.36l1.42 1.42"/><path d="M1 12h2"/><path d="M21 12h2"/><path d="M4.22 19.78l1.42-1.42"/><path d="M18.36 5.64l1.42-1.42"/></svg>',support:'<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"/><path d="M12 17h.01"/></svg>',close:'<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" 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>',email:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="20" height="16" x="2" y="4" rx="2"/><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"/></svg>',user:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>',subject:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"/><polyline points="14 2 14 8 20 8"/></svg>',send:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="22" y1="2" x2="11" y2="13"/><polygon points="22 2 15 22 11 13 2 9 22 2"/></svg>',success:'<svg xmlns="http://www.w3.org/2000/svg" width="52" height="52" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><polyline points="22 4 12 14.01 9 11.01"/></svg>',error:'<svg xmlns="http://www.w3.org/2000/svg" width="52" height="52" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><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>',spinner:'<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><path d="M21 12a9 9 0 1 1-6.219-8.56"/></svg>',trigger:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><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>',warning:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>'};function F(t){return C[t]||C.support}class k{constructor(t,e){this.hostEl=null,this.shadow=null,this.overlay=null,this.modalEl=null,this.bodyContainer=null,this.isOpen=!1,this.state="idle",this.mountTime=0,this.destroyFocusTrap=null,this.boundEscapeHandler=null,this.emailInput=null,this.nameInput=null,this.subjectInput=null,this.messageInput=null,this.honeypotInput=null,this.charCountText=null,this.charCountFill=null,this.submitBtn=null,this.categoryBtns=[],this.config=r(t),this.events=e,this.selectedCategory=this.config.defaultCategory,this.instanceId=function(t="cg"){return`${t}-${++E}-${Date.now().toString(36)}`}("cg-modal"),this.rateLimiter=new u(this.config.rateLimitMax,this.config.rateLimitWindow)}open(){var t,e,n;this.isOpen||(this.hostEl||this.mount(),this.isOpen=!0,this.mountTime=Date.now(),requestAnimationFrame(()=>{var t;null===(t=this.overlay)||void 0===t||t.classList.add("cg-overlay--visible")}),x++,x>1||(v=window.innerWidth-document.documentElement.clientWidth,w=document.body.style.overflow,y=document.body.style.paddingRight,document.body.style.overflow="hidden",v>0&&(document.body.style.paddingRight=`${v}px`)),this.modalEl&&(this.destroyFocusTrap=function(t){const e=document.activeElement;function n(){return Array.from(t.querySelectorAll(b)).filter(t=>{const e=window.getComputedStyle(t);return"none"!==e.display&&"hidden"!==e.visibility})}function i(e){if("Tab"!==e.key)return;const i=n();if(0===i.length)return void e.preventDefault();const o=i[0],s=i[i.length-1];e.shiftKey?document.activeElement!==o&&t.contains(document.activeElement)||(e.preventDefault(),s.focus()):document.activeElement!==s&&t.contains(document.activeElement)||(e.preventDefault(),o.focus())}return t.addEventListener("keydown",i),requestAnimationFrame(()=>{const t=n();t.length>0&&t[0].focus()}),()=>{if(t.removeEventListener("keydown",i),e&&"function"==typeof e.focus)try{e.focus()}catch(t){}}}(this.modalEl)),this.config.closeOnEscape&&(this.boundEscapeHandler=t=>{"Escape"===t.key&&this.close()},document.addEventListener("keydown",this.boundEscapeHandler)),null===(t=this.overlay)||void 0===t||t.setAttribute("aria-hidden","false"),this.events.emit("open"),null===(n=(e=this.config).onOpen)||void 0===n||n.call(e))}close(){var t,e,n;this.isOpen&&this.overlay&&(this.isOpen=!1,this.overlay.classList.remove("cg-overlay--visible"),this.overlay.setAttribute("aria-hidden","true"),x=Math.max(0,x-1),x>0||(document.body.style.overflow=w,document.body.style.paddingRight=y),null===(t=this.destroyFocusTrap)||void 0===t||t.call(this),this.destroyFocusTrap=null,this.boundEscapeHandler&&(document.removeEventListener("keydown",this.boundEscapeHandler),this.boundEscapeHandler=null),this.events.emit("close"),null===(n=(e=this.config).onClose)||void 0===n||n.call(e),setTimeout(()=>{"idle"!==this.state&&this.setState("idle")},300))}destroy(){this.close(),this.hostEl&&(this.hostEl.remove(),this.hostEl=null,this.shadow=null,this.overlay=null,this.modalEl=null,this.bodyContainer=null)}updateConfig(t){this.config=r(t),this.shadow&&this.applyTheme()}updateTheme(t){t&&(this.config=r({...this.config,theme:{...this.config.theme,...t}}),this.shadow&&this.applyTheme(),this.events.emit("theme-change",t))}getState(){return this.state}isVisible(){return this.isOpen}mount(){this.hostEl=f("div",{id:this.instanceId}),this.hostEl.style.cssText="position:fixed;top:0;left:0;width:0;height:0;overflow:visible;z-index:"+this.config.zIndex,this.shadow=this.hostEl.attachShadow({mode:"open"});const t=document.createElement("style");t.textContent="\n/* ═══ Reset ═══ */\n*, *::before, *::after {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n}\n\n/* ═══ Overlay ═══ */\n.cg-overlay {\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.5);\n backdrop-filter: blur(4px);\n -webkit-backdrop-filter: blur(4px);\n z-index: var(--cg-z, 999999);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px;\n opacity: 0;\n visibility: hidden;\n transition: opacity 0.25s ease, visibility 0.25s ease;\n font-family: var(--cg-font);\n color: var(--cg-text);\n line-height: 1.5;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.cg-overlay--visible {\n opacity: 1;\n visibility: visible;\n}\n\n/* ═══ Modal Shell ═══ */\n.cg-modal {\n background: var(--cg-bg, #FFFFFF);\n border-radius: var(--cg-modal-radius, 16px);\n box-shadow: var(--cg-shadow, 0 25px 60px rgba(0,0,0,0.3));\n width: 100%;\n max-width: 520px;\n max-height: 90vh;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n transform: translateY(20px) scale(0.97);\n opacity: 0;\n transition:\n transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),\n opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.cg-overlay--visible .cg-modal {\n transform: translateY(0) scale(1);\n opacity: 1;\n}\n\n/* ═══ Header ═══ */\n.cg-header {\n background: var(--cg-header-bg, #2C3345);\n color: var(--cg-header-text, #FFFFFF);\n padding: 20px 24px;\n display: flex;\n align-items: center;\n gap: 14px;\n position: relative;\n flex-shrink: 0;\n}\n\n.cg-header__icon {\n width: 40px;\n height: 40px;\n background: rgba(255, 255, 255, 0.12);\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n.cg-header__icon svg { stroke: var(--cg-header-text, #FFFFFF); }\n\n.cg-header__info { flex: 1; min-width: 0; }\n\n.cg-header__title {\n font-size: 17px;\n font-weight: 600;\n letter-spacing: -0.01em;\n color: inherit;\n}\n\n.cg-header__subtitle {\n font-size: 13px;\n opacity: 0.75;\n margin-top: 2px;\n color: inherit;\n}\n\n/* ── Close Button ── */\n.cg-close-btn {\n position: absolute;\n top: 16px;\n right: 16px;\n width: 32px;\n height: 32px;\n background: rgba(255, 255, 255, 0.1);\n border: none;\n border-radius: 8px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background 0.2s;\n color: var(--cg-header-text, #FFFFFF);\n padding: 0;\n}\n.cg-close-btn:hover { background: rgba(255, 255, 255, 0.2); }\n.cg-close-btn:focus-visible {\n outline: 2px solid rgba(255, 255, 255, 0.6);\n outline-offset: 2px;\n}\n.cg-close-btn svg { stroke: var(--cg-header-text, #FFFFFF); }\n\n/* ═══ Body (scrollable) ═══ */\n.cg-body {\n padding: 24px;\n overflow-y: auto;\n flex: 1;\n scrollbar-width: thin;\n scrollbar-color: rgba(0,0,0,0.15) transparent;\n}\n.cg-body::-webkit-scrollbar { width: 6px; }\n.cg-body::-webkit-scrollbar-track { background: transparent; }\n.cg-body::-webkit-scrollbar-thumb {\n background: rgba(0,0,0,0.15);\n border-radius: 3px;\n}\n\n/* ═══ Labels ═══ */\n.cg-label {\n display: block;\n font-size: 13px;\n font-weight: 500;\n color: var(--cg-primary, #EE6055);\n margin-bottom: 6px;\n}\n.cg-label--required::after {\n content: ' *';\n color: var(--cg-primary, #EE6055);\n}\n.cg-label--optional::after {\n content: '(Optional)';\n color: var(--cg-text, #6B7280);\n font-weight: 400;\n margin-left: 4px;\n font-size: 12px;\n}\n\n/* ═══ Categories ═══ */\n.cg-categories {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 8px;\n margin-bottom: 20px;\n}\n\n.cg-cat-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 10px 12px;\n border: 1.5px solid #E5E7EB;\n border-radius: var(--cg-radius, 8px);\n background: transparent;\n font-size: 13px;\n font-weight: 500;\n color: var(--cg-text, #6B7280);\n cursor: pointer;\n transition: all 0.2s;\n font-family: inherit;\n outline: none;\n}\n.cg-cat-btn:hover {\n border-color: var(--cg-primary, #EE6055);\n color: var(--cg-primary, #EE6055);\n}\n.cg-cat-btn:focus-visible {\n outline: 2px solid var(--cg-primary, #EE6055);\n outline-offset: 2px;\n}\n.cg-cat-btn--active {\n background: var(--cg-primary, #EE6055);\n border-color: var(--cg-primary, #EE6055);\n color: #FFFFFF;\n}\n.cg-cat-btn--active svg { stroke: #FFFFFF; }\n\n/* ═══ Form Fields ═══ */\n.cg-field {\n margin-bottom: 16px;\n}\n\n.cg-input-wrap {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.cg-input-wrap__icon {\n position: absolute;\n left: 14px;\n display: flex;\n align-items: center;\n pointer-events: none;\n color: var(--cg-input-placeholder, #9CA3AF);\n}\n.cg-input-wrap__icon svg {\n stroke: var(--cg-input-placeholder, #9CA3AF);\n}\n\n.cg-input {\n width: 100%;\n padding: 12px 14px 12px 42px;\n background: var(--cg-input-bg, #1E2535);\n color: var(--cg-input-text, #FFFFFF);\n border: 1.5px solid transparent;\n border-radius: var(--cg-radius, 8px);\n font-size: 14px;\n font-family: inherit;\n outline: none;\n transition: border-color 0.2s, box-shadow 0.2s;\n}\n.cg-input::placeholder {\n color: var(--cg-input-placeholder, #9CA3AF);\n}\n.cg-input:focus {\n border-color: var(--cg-primary, #EE6055);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--cg-primary, #EE6055) 15%, transparent);\n}\n.cg-input--error {\n border-color: #EF4444 !important;\n box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;\n}\n\n/* ═══ Textarea ═══ */\n.cg-textarea {\n width: 100%;\n padding: 14px;\n background: var(--cg-input-bg, #1E2535);\n color: var(--cg-input-text, #FFFFFF);\n border: 1.5px solid transparent;\n border-radius: var(--cg-radius, 8px);\n font-size: 14px;\n font-family: inherit;\n outline: none;\n resize: vertical;\n min-height: 120px;\n max-height: 240px;\n transition: border-color 0.2s, box-shadow 0.2s;\n}\n.cg-textarea::placeholder {\n color: var(--cg-input-placeholder, #9CA3AF);\n}\n.cg-textarea:focus {\n border-color: var(--cg-primary, #EE6055);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--cg-primary, #EE6055) 15%, transparent);\n}\n.cg-textarea--error {\n border-color: #EF4444 !important;\n box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;\n}\n\n/* ═══ Character Counter ═══ */\n.cg-counter {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 6px;\n}\n.cg-counter__bar {\n flex: 1;\n height: 3px;\n background: #E5E7EB;\n border-radius: 2px;\n overflow: hidden;\n}\n.cg-counter__fill {\n height: 100%;\n background: var(--cg-primary, #EE6055);\n border-radius: 2px;\n transition: width 0.2s;\n}\n.cg-counter__fill--warn { background: #F59E0B; }\n.cg-counter__fill--danger { background: #EF4444; }\n.cg-counter__text {\n font-size: 12px;\n color: var(--cg-text, #6B7280);\n white-space: nowrap;\n}\n\n/* ═══ Field Errors ═══ */\n.cg-error {\n font-size: 12px;\n color: #EF4444;\n margin-top: 4px;\n min-height: 0;\n overflow: hidden;\n max-height: 0;\n opacity: 0;\n transition: max-height 0.2s, opacity 0.2s, margin 0.2s;\n}\n.cg-error--visible {\n max-height: 40px;\n opacity: 1;\n margin-top: 4px;\n}\n\n/* ═══ Honeypot (hidden from humans) ═══ */\n.cg-hp {\n position: absolute;\n left: -9999px;\n top: -9999px;\n width: 1px;\n height: 1px;\n overflow: hidden;\n opacity: 0;\n pointer-events: none;\n tab-index: -1;\n}\n\n/* ═══ Submit Button ═══ */\n.cg-submit {\n width: 100%;\n padding: 14px;\n background: var(--cg-primary, #EE6055);\n color: #FFFFFF;\n border: none;\n border-radius: var(--cg-radius, 8px);\n font-size: 15px;\n font-weight: 600;\n font-family: inherit;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n transition: background 0.2s, transform 0.1s, box-shadow 0.2s;\n margin-top: 8px;\n outline: none;\n}\n.cg-submit svg { stroke: #FFFFFF; }\n.cg-submit:hover:not(:disabled) {\n background: var(--cg-secondary, #D94F44);\n}\n.cg-submit:active:not(:disabled) {\n transform: scale(0.98);\n}\n.cg-submit:focus-visible {\n outline: 2px solid var(--cg-primary, #EE6055);\n outline-offset: 2px;\n}\n.cg-submit:disabled {\n opacity: 0.65;\n cursor: not-allowed;\n}\n\n/* ═══ Spinner ═══ */\n.cg-spinner {\n display: inline-flex;\n animation: cg-spin 0.8s linear infinite;\n}\n.cg-spinner svg { stroke: #FFFFFF; }\n\n/* ═══ Success & Error State Views ═══ */\n.cg-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 40px 24px;\n min-height: 320px;\n animation: cg-fade-in 0.3s ease;\n}\n\n.cg-state__icon {\n margin-bottom: 20px;\n}\n.cg-state__icon--success svg { stroke: #10B981; }\n.cg-state__icon--error svg { stroke: #EF4444; }\n\n.cg-state__title {\n font-size: 20px;\n font-weight: 700;\n color: #1F2937;\n margin-bottom: 8px;\n}\n\n.cg-state__msg {\n font-size: 14px;\n color: var(--cg-text, #6B7280);\n max-width: 320px;\n line-height: 1.6;\n}\n\n.cg-state__btn {\n margin-top: 24px;\n padding: 10px 28px;\n background: var(--cg-primary, #EE6055);\n color: #FFFFFF;\n border: none;\n border-radius: var(--cg-radius, 8px);\n font-size: 14px;\n font-weight: 500;\n font-family: inherit;\n cursor: pointer;\n transition: background 0.2s;\n outline: none;\n}\n.cg-state__btn:hover {\n background: var(--cg-secondary, #D94F44);\n}\n.cg-state__btn:focus-visible {\n outline: 2px solid var(--cg-primary, #EE6055);\n outline-offset: 2px;\n}\n\n/* ═══ Animations ═══ */\n@keyframes cg-spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n}\n\n@keyframes cg-fade-in {\n from { opacity: 0; transform: translateY(8px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n/* ═══ Responsive ═══ */\n@media (max-width: 480px) {\n .cg-overlay { padding: 0; }\n .cg-modal {\n max-width: 100%;\n max-height: 100%;\n height: 100%;\n border-radius: 0;\n }\n .cg-body { padding: 16px; }\n .cg-categories { gap: 6px; }\n .cg-cat-btn { font-size: 12px; padding: 8px; gap: 5px; }\n .cg-header { padding: 16px 20px; }\n}\n\n/* ═══ Reduced Motion ═══ */\n@media (prefers-reduced-motion: reduce) {\n .cg-overlay,\n .cg-modal,\n .cg-spinner,\n .cg-state,\n .cg-submit,\n .cg-cat-btn,\n .cg-input,\n .cg-textarea,\n .cg-counter__fill,\n .cg-error {\n transition-duration: 0.01ms !important;\n animation-duration: 0.01ms !important;\n }\n}\n\n/* ═══ High Contrast Mode ═══ */\n@media (forced-colors: active) {\n .cg-cat-btn { border: 2px solid ButtonText; }\n .cg-cat-btn--active { background: Highlight; color: HighlightText; }\n .cg-input, .cg-textarea { border: 1px solid ButtonText; }\n .cg-submit { border: 2px solid ButtonText; }\n}\n",this.shadow.appendChild(t),this.overlay=f("div",{className:"cg-overlay",role:"dialog","aria-modal":"true","aria-label":this.config.texts.title,"aria-hidden":"true"}),this.config.closeOnOverlayClick&&this.overlay.addEventListener("click",t=>{t.target===this.overlay&&this.close()}),this.modalEl=f("div",{className:"cg-modal"}),this.modalEl.addEventListener("click",t=>t.stopPropagation()),this.modalEl.appendChild(this.buildHeader()),this.bodyContainer=f("div",{className:"cg-body"}),this.buildFormView(),this.modalEl.appendChild(this.bodyContainer),this.overlay.appendChild(this.modalEl),this.shadow.appendChild(this.overlay),this.applyTheme(),document.body.appendChild(this.hostEl)}applyTheme(){var t;const e=this.overlay||(null===(t=this.shadow)||void 0===t?void 0:t.host);if(!e)return;const n=this.config.theme;!function(t,e){for(const[n,i]of Object.entries(e)){const e=m(i);e&&t.style.setProperty(n,e)}}(e,{"--cg-primary":n.primaryColor,"--cg-secondary":n.secondaryColor,"--cg-bg":n.backgroundColor,"--cg-header-bg":n.headerBackgroundColor,"--cg-header-text":n.headerTextColor,"--cg-text":n.textColor,"--cg-input-bg":n.inputBackgroundColor,"--cg-input-text":n.inputTextColor,"--cg-input-placeholder":n.inputPlaceholderColor,"--cg-radius":n.borderRadius,"--cg-modal-radius":n.modalBorderRadius,"--cg-font":n.fontFamily,"--cg-shadow":n.boxShadow,"--cg-z":String(this.config.zIndex)})}buildHeader(){const t=this.config.texts,e=f("div",{className:"cg-header"}),n=f("div",{className:"cg-header__icon",innerHTML:C.feedback}),i=f("div",{className:"cg-header__info"});i.appendChild(f("h2",{className:"cg-header__title",textContent:t.title,id:`${this.instanceId}-title`})),i.appendChild(f("p",{className:"cg-header__subtitle",textContent:t.subtitle}));const o=f("button",{className:"cg-close-btn","aria-label":"Close dialog",type:"button",innerHTML:C.close});return o.addEventListener("click",()=>this.close()),e.append(n,i,o),e}buildFormView(){if(!this.bodyContainer)return;this.bodyContainer.innerHTML="",this.categoryBtns=[];const t=this.config.texts;if(this.config.showCategories&&this.config.categories.length>1){const e=f("div",{className:"cg-label",textContent:t.categoryLabel,id:`${this.instanceId}-cat-label`});this.bodyContainer.appendChild(e);const n=f("div",{className:"cg-categories",role:"radiogroup","aria-labelledby":`${this.instanceId}-cat-label`});for(let e=0;e<this.config.categories.length;e++){const i=this.config.categories[e],o=t.categories[i]||i,s=i===this.selectedCategory,r=f("button",{className:"cg-cat-btn"+(s?" cg-cat-btn--active":""),type:"button",role:"radio","aria-checked":String(s),tabindex:s?"0":"-1"});r.innerHTML=F(i),r.appendChild(document.createTextNode(" "+o)),r.dataset.type=i,r.addEventListener("click",()=>this.selectCategory(i)),r.addEventListener("keydown",t=>{const n=this.categoryBtns.length;if("ArrowRight"===t.key||"ArrowDown"===t.key){t.preventDefault();const i=this.categoryBtns[(e+1)%n];this.selectCategory(i.dataset.type),i.focus()}else if("ArrowLeft"===t.key||"ArrowUp"===t.key){t.preventDefault();const i=this.categoryBtns[(e-1+n)%n];this.selectCategory(i.dataset.type),i.focus()}}),this.categoryBtns.push(r),n.appendChild(r)}this.bodyContainer.appendChild(n)}const e=this.buildField({label:t.emailLabel,placeholder:t.emailPlaceholder,type:"email",icon:C.email,required:!0,id:`${this.instanceId}-email`,autocomplete:"email"});if(this.emailInput=e.querySelector("input"),this.config.defaultEmail&&(this.emailInput.value=this.config.defaultEmail),this.bodyContainer.appendChild(e),this.config.showNameField){const e=this.buildField({label:t.nameLabel,placeholder:t.namePlaceholder,type:"text",icon:C.user,required:!1,id:`${this.instanceId}-name`,autocomplete:"name"});this.nameInput=e.querySelector("input"),this.config.defaultName&&(this.nameInput.value=this.config.defaultName),this.bodyContainer.appendChild(e)}else this.nameInput=null;const n=this.buildField({label:t.subjectLabel,placeholder:t.subjectPlaceholder,type:"text",icon:C.subject,required:!0,id:`${this.instanceId}-subject`,autocomplete:"off"});this.subjectInput=n.querySelector("input"),this.bodyContainer.appendChild(n);const i=f("div",{className:"cg-field"}),o=f("label",{className:"cg-label cg-label--required",textContent:t.messageLabel});o.setAttribute("for",`${this.instanceId}-msg`),i.appendChild(o),this.messageInput=document.createElement("textarea"),this.messageInput.className="cg-textarea",this.messageInput.id=`${this.instanceId}-msg`,this.messageInput.placeholder=t.messagePlaceholder,this.messageInput.setAttribute("maxlength",String(this.config.maxMessageLength)),this.messageInput.setAttribute("aria-required","true"),this.messageInput.setAttribute("aria-describedby",`${this.instanceId}-char-count`),i.appendChild(this.messageInput);const s=f("div",{className:"cg-counter",id:`${this.instanceId}-char-count`}),r=f("div",{className:"cg-counter__bar"});this.charCountFill=f("div",{className:"cg-counter__fill"}),this.charCountFill.style.width="0%",r.appendChild(this.charCountFill),this.charCountText=f("span",{className:"cg-counter__text",textContent:`0 / ${this.config.maxMessageLength}`,"aria-live":"polite"}),s.append(r,this.charCountText),i.appendChild(s);const a=f("div",{className:"cg-error",role:"alert","aria-live":"polite"});if(i.appendChild(a),this.messageInput.addEventListener("input",()=>this.updateCharCount()),i.dataset.fieldName="message",this.bodyContainer.appendChild(i),this.config.enableHoneypot){const t=f("div",{className:"cg-hp","aria-hidden":"true"});this.honeypotInput=document.createElement("input"),this.honeypotInput.type="text",this.honeypotInput.name="website",this.honeypotInput.tabIndex=-1,this.honeypotInput.autocomplete="off",t.appendChild(this.honeypotInput),this.bodyContainer.appendChild(t)}else this.honeypotInput=null;this.submitBtn=document.createElement("button"),this.submitBtn.className="cg-submit",this.submitBtn.type="button",this.submitBtn.setAttribute("aria-label",t.submitButtonText),this.submitBtn.innerHTML=`${C.send} <span>${t.submitButtonText}</span>`,this.submitBtn.addEventListener("click",()=>this.handleSubmit()),this.bodyContainer.appendChild(this.submitBtn)}buildField(t){const e=f("div",{className:"cg-field"});e.dataset.fieldName=t.id;const n=f("label",{className:t.required?"cg-label cg-label--required":"cg-label cg-label--optional",textContent:t.label});n.setAttribute("for",t.id),e.appendChild(n);const i=f("div",{className:"cg-input-wrap"}),o=f("span",{className:"cg-input-wrap__icon",innerHTML:t.icon,"aria-hidden":"true"}),s=document.createElement("input");s.className="cg-input",s.type=t.type,s.id=t.id,s.placeholder=t.placeholder,s.setAttribute("autocomplete",t.autocomplete),t.required&&(s.setAttribute("aria-required","true"),s.required=!0),s.addEventListener("input",()=>{this.clearFieldError(e)}),i.append(o,s),e.appendChild(i);const r=f("div",{className:"cg-error",role:"alert","aria-live":"polite"});return e.appendChild(r),e}selectCategory(t){this.selectedCategory=t;for(const e of this.categoryBtns){const n=e.dataset.type===t;e.classList.toggle("cg-cat-btn--active",n),e.setAttribute("aria-checked",String(n)),e.tabIndex=n?0:-1}}updateCharCount(){if(!this.messageInput||!this.charCountText||!this.charCountFill)return;const t=this.messageInput.value.length,e=this.config.maxMessageLength,n=Math.min(t/e*100,100);this.charCountFill.style.width=`${n}%`,this.charCountText.textContent=`${t} / ${e}`,this.charCountFill.classList.remove("cg-counter__fill--warn","cg-counter__fill--danger"),n>=95?this.charCountFill.classList.add("cg-counter__fill--danger"):n>=80&&this.charCountFill.classList.add("cg-counter__fill--warn");const i=this.messageInput.closest(".cg-field");i&&this.clearFieldError(i)}validate(){const t=this.config.texts;let e=!0;return!!this.emailInput&&(function(t){if("string"!=typeof t)return!1;const e=t.trim();return!(0===e.length||e.length>254)&&!/[\r\n]/.test(e)&&/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/.test(e)}(this.emailInput.value.trim())||(this.showFieldError(this.emailInput,t.invalidEmailError),e&&this.emailInput.focus(),e=!1),!!this.subjectInput&&(p(this.subjectInput.value)||(this.showFieldError(this.subjectInput,t.requiredFieldError),e&&this.subjectInput.focus(),e=!1),!!this.messageInput&&(p(this.messageInput.value)?"string"==typeof(n=this.messageInput.value)&&n.length<=this.config.maxMessageLength||(this.showTextareaError(this.messageInput,t.messageTooLongError),e&&this.messageInput.focus(),e=!1):(this.showTextareaError(this.messageInput,t.requiredFieldError),e&&this.messageInput.focus(),e=!1),e)));var n}showFieldError(t,e){const n=t.closest(".cg-field");if(!n)return;t.classList.add("cg-input--error"),t.setAttribute("aria-invalid","true");const i=n.querySelector(".cg-error");i&&(i.textContent=e,i.classList.add("cg-error--visible"))}showTextareaError(t,e){const n=t.closest(".cg-field");if(!n)return;t.classList.add("cg-textarea--error"),t.setAttribute("aria-invalid","true");const i=n.querySelector(".cg-error");i&&(i.textContent=e,i.classList.add("cg-error--visible"))}clearFieldError(t){const e=t.querySelector("input, textarea");e&&(e.classList.remove("cg-input--error","cg-textarea--error"),e.removeAttribute("aria-invalid"));const n=t.querySelector(".cg-error");n&&(n.textContent="",n.classList.remove("cg-error--visible"))}setState(t){this.state=t,this.events.emit("state-change",t),"idle"===t&&this.bodyContainer&&this.buildFormView()}showStateView(t,e,n){if(!this.bodyContainer)return;this.bodyContainer.innerHTML="";const i=this.config.texts,o=f("div",{className:"cg-state",role:"status","aria-live":"polite"}),s=f("div",{className:`cg-state__icon cg-state__icon--${t}`,innerHTML:"success"===t?C.success:C.error,"aria-hidden":"true"}),r=f("h3",{className:"cg-state__title",textContent:e}),a=f("p",{className:"cg-state__msg",textContent:n}),l=f("button",{className:"cg-state__btn",type:"button",textContent:"success"===t?i.successButtonText:i.errorButtonText});l.addEventListener("click",()=>{"success"===t?this.close():this.setState("idle")}),o.append(s,r,a,l),this.bodyContainer.appendChild(o),requestAnimationFrame(()=>l.focus())}async handleSubmit(){var t,n,i,o,s,r,a;if("loading"===this.state)return;if(!this.validate())return;if(this.config.enableHoneypot&&(null===(t=this.honeypotInput)||void 0===t?void 0:t.value))return this.setState("success"),void this.showStateView("success",this.config.texts.successTitle,this.config.texts.successMessage);if((Date.now()-this.mountTime)/1e3<this.config.minSubmitDelay)return this.setState("success"),void this.showStateView("success",this.config.texts.successTitle,this.config.texts.successMessage);if(!this.rateLimiter.tryConsume()){const t=this.rateLimiter.getRetryAfter(),o=new e(`${this.config.texts.rateLimitError} Try again in ${t}s.`,"RATE_LIMITED");return this.setState("error"),this.showStateView("error",this.config.texts.errorTitle,o.message),null===(i=(n=this.config).onError)||void 0===i||i.call(n,o),void this.events.emit("error",o)}const l={publicKey:this.config.publicKey,...this.config.domain?{domain:this.config.domain}:{},email:g(this.emailInput.value),name:this.nameInput&&g(this.nameInput.value)||void 0,title:g(this.subjectInput.value),type:this.selectedCategory,messageText:g(this.messageInput.value)};if(!this.config.onSubmit||!1!==this.config.onSubmit(l)){this.events.emit("submit",l),this.state="loading",this.events.emit("state-change","loading"),this.submitBtn.disabled=!0,this.submitBtn.innerHTML=`<span class="cg-spinner">${C.spinner}</span> <span>${this.config.texts.submittingText}</span>`;try{const t=await async function(t,n,i){var o;const{timeout:s,retries:r}=i;let a=null;for(let e=0;e<=r;e++){if(e>0){const t=Math.min(1e3*Math.pow(2,e-1),8e3);await d(t)}try{return await c(t,n,s)}catch(t){if(a=h(t),!("NETWORK_ERROR"===a.code||"TIMEOUT"===a.code||"SERVER_ERROR"===a.code&&(null!==(o=a.statusCode)&&void 0!==o?o:0)>=500)||e===r)throw a}}throw a||new e("Unknown error","UNKNOWN")}(this.config.apiBaseUrl,l,{timeout:this.config.requestTimeout,retries:this.config.retryAttempts});this.setState("success"),this.showStateView("success",this.config.texts.successTitle,this.config.texts.successMessage),null===(s=(o=this.config).onSuccess)||void 0===s||s.call(o,t),this.events.emit("success",t),this.config.autoResetDelay>0&&setTimeout(()=>{"success"===this.state&&this.close()},this.config.autoResetDelay)}catch(t){const n=t instanceof e?t:new e(t instanceof Error?t.message:"An unexpected error occurred","UNKNOWN");this.setState("error");let i=this.config.texts.errorMessage;"TIMEOUT"===n.code?i=this.config.texts.timeoutError:"NETWORK_ERROR"===n.code?i=this.config.texts.networkError:"RATE_LIMITED"===n.code?i=this.config.texts.rateLimitError:"VALIDATION_ERROR"===n.code&&n.message&&(i=n.message),this.showStateView("error",this.config.texts.errorTitle,i),null===(a=(r=this.config).onError)||void 0===a||a.call(r,n),this.events.emit("error",n)}}}}class T{constructor(t,e){this.el=null,this.hostEl=null,this.shadow=null,this.config=t,this.onClick=e}mount(){if(this.el)return;this.hostEl=document.createElement("div"),this.hostEl.style.cssText="position:fixed;bottom:0;left:0;width:0;height:0;overflow:visible;z-index:"+(this.config.zIndex-1),this.shadow=this.hostEl.attachShadow({mode:"open"});const t=this.config.triggerPosition,e=this.config.theme,n=this.config.triggerBackgroundColor||e.primaryColor,i=this.config.triggerTextColor||"#FFFFFF",o=this.config.triggerTooltip||"Need Help?",s=document.createElement("style");if(s.textContent=`\n .cg-trigger {\n position: fixed;\n bottom: 20px;\n ${"bottom-left"===t?"left: 20px;":"right: 20px;"}\n width: 56px;\n height: 56px;\n border-radius: 50%;\n background: ${n};\n color: ${i};\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 4px 14px rgba(0,0,0,0.25);\n transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.25s ease;\n z-index: ${this.config.zIndex-1};\n padding: 0;\n outline: none;\n }\n .cg-trigger:hover {\n transform: scale(1.08);\n box-shadow: 0 6px 20px rgba(0,0,0,0.35);\n }\n .cg-trigger:focus-visible {\n outline: 2px solid ${n};\n outline-offset: 3px;\n }\n .cg-trigger:active {\n transform: scale(0.95);\n }\n .cg-trigger svg {\n stroke: ${i};\n }\n .cg-trigger__icon {\n width: 28px;\n height: 28px;\n object-fit: contain;\n pointer-events: none;\n }\n .cg-trigger--hidden {\n opacity: 0;\n pointer-events: none;\n transform: scale(0.8);\n }\n .cg-trigger__label {\n position: absolute;\n ${"bottom-left"===t?"left: 64px;":"right: 64px;"}\n background: #1F2937;\n color: #FFFFFF;\n font-family: ${e.fontFamily};\n font-size: 13px;\n font-weight: 500;\n padding: 6px 12px;\n border-radius: 6px;\n white-space: nowrap;\n pointer-events: none;\n opacity: 0;\n transition: opacity 0.2s;\n box-shadow: 0 2px 8px rgba(0,0,0,0.2);\n }\n .cg-trigger:hover .cg-trigger__label {\n opacity: 1;\n }\n `,this.shadow.appendChild(s),this.el=document.createElement("button"),this.el.className="cg-trigger",this.el.setAttribute("aria-label",o+" Contact Support"),this.el.setAttribute("type","button"),this.config.triggerIconUrl){const t=document.createElement("img");t.src=this.config.triggerIconUrl,t.alt="Support",t.className="cg-trigger__icon",this.el.appendChild(t)}else this.el.innerHTML=C.trigger;const r=document.createElement("span");r.className="cg-trigger__label",r.textContent=o,this.el.appendChild(r),this.el.addEventListener("click",this.onClick),this.shadow.appendChild(this.el),document.body.appendChild(this.hostEl)}destroy(){this.el&&this.el.removeEventListener("click",this.onClick),this.hostEl&&(this.hostEl.remove(),this.hostEl=null,this.shadow=null,this.el=null)}show(){var t;null===(t=this.el)||void 0===t||t.classList.remove("cg-trigger--hidden")}hide(){var t;null===(t=this.el)||void 0===t||t.classList.add("cg-trigger--hidden")}updateTheme(t){this.el&&(this.el.style.background=this.config.triggerBackgroundColor||t)}}let _=null,I=null,L=null,M=null;function N(t){_&&A(),"undefined"!=typeof window&&"undefined"!=typeof document?(M=r(t),L=new l,M.onOpen&&L.on("open",M.onOpen),M.onClose&&L.on("close",M.onClose),M.onSuccess&&L.on("success",M.onSuccess),M.onError&&L.on("error",M.onError),L.on("close",()=>null==I?void 0:I.show()),_=new k(t,L),M.showTriggerButton&&(I=new T(M,()=>S()),I.mount())):console.warn("[chatgram-widget] Cannot initialize in a non-browser environment.")}function S(){if(!_)throw new e("Call init() before open(). See: https://brandid.app/chatgram","NOT_INITIALIZED");_.open(),null==I||I.hide()}function B(){_&&(_.close(),null==I||I.show())}function A(){null==_||_.destroy(),_=null,null==I||I.destroy(),I=null,null==L||L.removeAllListeners(),L=null,M=null}function O(t){if(!_)throw new e("Call init() before updateTheme().","NOT_INITIALIZED");_.updateTheme(t),t.primaryColor&&(null==I||I.updateTheme(t.primaryColor))}function R(t,e){null==L||L.on(t,e)}function j(t,e){null==L||L.off(t,e)}function z(t,e){null==L||L.once(t,e)}function $(){var t;return null!==(t=null==_?void 0:_.isVisible())&&void 0!==t&&t}function H(){var t;return null!==(t=null==_?void 0:_.getState())&&void 0!==t?t:"uninitialized"}function q(){return"1.0.4"}var D={init:N,open:S,close:B,destroy:A,updateTheme:O,on:R,off:j,once:z,isOpen:$,getState:H,getVersion:q,ChatgramError:e};t.ChatgramError=e,t.close=B,t.default=D,t.destroy=A,t.getState=H,t.getVersion=q,t.init=N,t.isOpen=$,t.off=j,t.on=R,t.once=z,t.open=S,t.updateTheme=O,Object.defineProperty(t,"__esModule",{value:!0})});
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).ChatgramWidget={})}(this,function(t){"use strict";class e extends Error{constructor(t,e,n){super(t),this.name="ChatgramError",this.code=e,this.statusCode=n}}const n={primaryColor:"#EE6055",secondaryColor:"#D94F44",backgroundColor:"#FFFFFF",headerBackgroundColor:"#2C3345",headerTextColor:"#FFFFFF",textColor:"#6B7280",inputBackgroundColor:"#1E2535",inputTextColor:"#FFFFFF",inputPlaceholderColor:"#9CA3AF",borderRadius:"8px",modalBorderRadius:"16px",fontFamily:"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif",boxShadow:"0 25px 60px rgba(0, 0, 0, 0.3)"},i={title:"Contact Support",subtitle:"We're here to help you succeed",categoryLabel:"What can we help with?",emailLabel:"Your Email",emailPlaceholder:"email@example.com",nameLabel:"Your Name",namePlaceholder:"John Doe",subjectLabel:"Subject",subjectPlaceholder:"Brief subject of your request",messageLabel:"Message",messagePlaceholder:"Tell us what you think...",submitButtonText:"Submit",submittingText:"Sending...",successTitle:"Message Sent!",successMessage:"We've received your message and will get back to you via Email.",successButtonText:"Close",errorTitle:"Oops!",errorMessage:"Something went wrong. Please try again.",errorButtonText:"Try Again",requiredFieldError:"This field is required",invalidEmailError:"Please enter a valid email address",messageTooLongError:"Message exceeds the maximum length",networkError:"Network error. Please check your internet connection.",timeoutError:"Request timed out. Please try again.",rateLimitError:"Too many submissions. Please wait a moment.",categories:{feedback:"Feedback",bug:"Bug Report",feature:"Feature",support:"Support"}},o=["feedback","bug","feature","support"];function r(t,e){if(!e)return{...t};const n={...t};for(const i of Object.keys(e)){const o=e[i],r=t[i];void 0!==o&&(n[i]=null===o||"object"!=typeof o||Array.isArray(o)||null===r||"object"!=typeof r||Array.isArray(r)?o:{...r,...o})}return n}function s(t){var e,s,l,c,d,h,g,u,p,m,f,b,x;return{domain:t.publicKey?t.domain:t.domain||("undefined"!=typeof window&&window.location?window.location.hostname:"localhost"),apiBaseUrl:(t.apiBaseUrl||"https://chatgram-server.brandid.app").replace(/\/+$/,""),theme:r(n,t.theme),texts:r(i,t.texts),categories:o,defaultCategory:"support",showCategories:!0,maxMessageLength:a(null!==(e=t.maxMessageLength)&&void 0!==e?e:5e3,100,5e4),showTriggerButton:null===(s=t.showTriggerButton)||void 0===s||s,triggerPosition:t.triggerPosition||"bottom-right",showNameField:null===(l=t.showNameField)||void 0===l||l,zIndex:null!==(c=t.zIndex)&&void 0!==c?c:999999,closeOnOverlayClick:null===(d=t.closeOnOverlayClick)||void 0===d||d,closeOnEscape:null===(h=t.closeOnEscape)||void 0===h||h,enableHoneypot:null===(g=t.enableHoneypot)||void 0===g||g,minSubmitDelay:a(null!==(u=t.minSubmitDelay)&&void 0!==u?u:2,0,30),rateLimitMax:a(null!==(p=t.rateLimitMax)&&void 0!==p?p:3,1,100),rateLimitWindow:a(null!==(m=t.rateLimitWindow)&&void 0!==m?m:3e5,1e4,36e5),requestTimeout:a(null!==(f=t.requestTimeout)&&void 0!==f?f:15e3,3e3,6e4),retryAttempts:a(null!==(b=t.retryAttempts)&&void 0!==b?b:2,0,5),autoResetDelay:Math.max(null!==(x=t.autoResetDelay)&&void 0!==x?x:0,0),publicKey:t.publicKey,triggerIconUrl:t.triggerIconUrl,triggerBackgroundColor:t.triggerBackgroundColor,triggerTextColor:t.triggerTextColor,triggerTooltip:t.triggerTooltip,defaultEmail:t.defaultEmail,defaultName:t.defaultName,onSuccess:t.onSuccess,onError:t.onError,onOpen:t.onOpen,onClose:t.onClose,onSubmit:t.onSubmit}}function a(t,e,n){return Math.min(Math.max(t,e),n)}class l{constructor(){this.listeners=new Map}on(t,e){this.listeners.has(t)||this.listeners.set(t,new Set),this.listeners.get(t).add(e)}off(t,e){var n;null===(n=this.listeners.get(t))||void 0===n||n.delete(e)}once(t,e){const n=i=>{this.off(t,n),e(i)};this.on(t,n)}emit(t,e){const n=this.listeners.get(t);if(n)for(const i of n)try{i(e)}catch(e){console.error(`[chatgram-widget] Error in "${t}" handler:`,e)}}removeAllListeners(){this.listeners.clear()}}async function c(t,n,i){const o=new AbortController,r=setTimeout(()=>o.abort(),i);try{const i=`${t}/api/tickets`,s=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(n),signal:o.signal});clearTimeout(r);let a={};try{a=await s.json()}catch(t){}if(!s.ok){const t="string"==typeof a.message?a.message:`Server error (${s.status})`;if(429===s.status)throw new e(t,"RATE_LIMITED",429);if(s.status>=400&&s.status<500)throw new e(t,"VALIDATION_ERROR",s.status);throw new e(t,"SERVER_ERROR",s.status)}return{success:!0,ticketId:a.ticketId||a.id||a._id||void 0,message:a.message||"Ticket created successfully"}}catch(t){if(clearTimeout(r),t instanceof e)throw t;if(t instanceof DOMException&&"AbortError"===t.name)throw new e("Request timed out. Please check your connection and try again.","TIMEOUT");if(t instanceof TypeError)throw new e("Network error. Please check your internet connection.","NETWORK_ERROR");throw new e(t instanceof Error?t.message:"An unexpected error occurred","UNKNOWN")}}function d(t){return new Promise(e=>setTimeout(e,t))}function h(t){return t instanceof e?t:t instanceof Error?new e(t.message,"UNKNOWN"):new e(String(t),"UNKNOWN")}class g{constructor(t,e){this.timestamps=[],this.maxRequests=t,this.windowMs=e}tryConsume(){const t=Date.now();return this.timestamps=this.timestamps.filter(e=>t-e<this.windowMs),!(this.timestamps.length>=this.maxRequests||(this.timestamps.push(t),0))}getRetryAfter(){if(this.timestamps.length<this.maxRequests)return 0;const t=this.timestamps[0],e=this.windowMs-(Date.now()-t);return Math.max(Math.ceil(e/1e3),1)}reset(){this.timestamps=[]}}function u(t){return"string"!=typeof t?"":t.replace(/\0/g,"").trim()}function p(t){return"string"==typeof t&&t.trim().length>0}function m(t){return function(t){return"string"==typeof t&&!/expression\s*\(|url\s*\(|javascript:|data:/i.test(t)}(t)?t:""}function f(t,e,n){const i=document.createElement(t);if(e)for(const[t,n]of Object.entries(e))"className"===t?i.className=n:"textContent"===t?i.textContent=n:"innerHTML"===t?i.innerHTML=n:i.setAttribute(t,n);return i}const b=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(", ");let x=0,v=0,y="",w="",E=0;const C={feedback:'<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><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>',bug:'<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m8 2 1.88 1.88"/><path d="M14.12 3.88 16 2"/><path d="M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"/><path d="M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"/><path d="M12 20v-9"/><path d="M6.53 9C4.6 8.8 3 7.1 3 5"/><path d="M6 13H2"/><path d="M3 21c0-2.1 1.7-3.9 3.8-4"/><path d="M20.97 5c0 2.1-1.6 3.8-3.5 4"/><path d="M22 13h-4"/><path d="M17.2 17c2.1.1 3.8 1.9 3.8 4"/></svg>',feature:'<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"/><path d="M12 1v2"/><path d="M12 21v2"/><path d="M4.22 4.22l1.42 1.42"/><path d="M18.36 18.36l1.42 1.42"/><path d="M1 12h2"/><path d="M21 12h2"/><path d="M4.22 19.78l1.42-1.42"/><path d="M18.36 5.64l1.42-1.42"/></svg>',support:'<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"/><path d="M12 17h.01"/></svg>',close:'<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" 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>',email:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="20" height="16" x="2" y="4" rx="2"/><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"/></svg>',user:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>',subject:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"/><polyline points="14 2 14 8 20 8"/></svg>',send:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="22" y1="2" x2="11" y2="13"/><polygon points="22 2 15 22 11 13 2 9 22 2"/></svg>',success:'<svg xmlns="http://www.w3.org/2000/svg" width="52" height="52" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><polyline points="22 4 12 14.01 9 11.01"/></svg>',error:'<svg xmlns="http://www.w3.org/2000/svg" width="52" height="52" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><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>',spinner:'<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><path d="M21 12a9 9 0 1 1-6.219-8.56"/></svg>',trigger:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><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>',warning:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>'};function k(t){return C[t]||C.support}const F="Powered by Chatgram";class T{constructor(t,e){this.hostEl=null,this.shadow=null,this.overlay=null,this.modalEl=null,this.bodyContainer=null,this.isOpen=!1,this.state="idle",this.mountTime=0,this.destroyFocusTrap=null,this.boundEscapeHandler=null,this.emailInput=null,this.nameInput=null,this.subjectInput=null,this.messageInput=null,this.honeypotInput=null,this.charCountText=null,this.charCountFill=null,this.submitBtn=null,this.categoryBtns=[],this.config=s(t),this.events=e,this.selectedCategory=this.config.defaultCategory,this.instanceId=function(t="cg"){return`${t}-${++E}-${Date.now().toString(36)}`}("cg-modal"),this.rateLimiter=new g(this.config.rateLimitMax,this.config.rateLimitWindow)}open(){var t,e,n;this.isOpen||(this.hostEl||this.mount(),this.isOpen=!0,this.mountTime=Date.now(),requestAnimationFrame(()=>{var t;null===(t=this.overlay)||void 0===t||t.classList.add("cg-overlay--visible")}),x++,x>1||(v=window.innerWidth-document.documentElement.clientWidth,w=document.body.style.overflow,y=document.body.style.paddingRight,document.body.style.overflow="hidden",v>0&&(document.body.style.paddingRight=`${v}px`)),this.modalEl&&(this.destroyFocusTrap=function(t){const e=document.activeElement;function n(){return Array.from(t.querySelectorAll(b)).filter(t=>{const e=window.getComputedStyle(t);return"none"!==e.display&&"hidden"!==e.visibility})}function i(e){if("Tab"!==e.key)return;const i=n();if(0===i.length)return void e.preventDefault();const o=i[0],r=i[i.length-1];e.shiftKey?document.activeElement!==o&&t.contains(document.activeElement)||(e.preventDefault(),r.focus()):document.activeElement!==r&&t.contains(document.activeElement)||(e.preventDefault(),o.focus())}return t.addEventListener("keydown",i),requestAnimationFrame(()=>{const t=n();t.length>0&&t[0].focus()}),()=>{if(t.removeEventListener("keydown",i),e&&"function"==typeof e.focus)try{e.focus()}catch(t){}}}(this.modalEl)),this.config.closeOnEscape&&(this.boundEscapeHandler=t=>{"Escape"===t.key&&this.close()},document.addEventListener("keydown",this.boundEscapeHandler)),null===(t=this.overlay)||void 0===t||t.setAttribute("aria-hidden","false"),this.events.emit("open"),null===(n=(e=this.config).onOpen)||void 0===n||n.call(e))}close(){var t,e,n;this.isOpen&&this.overlay&&(this.isOpen=!1,this.overlay.classList.remove("cg-overlay--visible"),this.overlay.setAttribute("aria-hidden","true"),x=Math.max(0,x-1),x>0||(document.body.style.overflow=w,document.body.style.paddingRight=y),null===(t=this.destroyFocusTrap)||void 0===t||t.call(this),this.destroyFocusTrap=null,this.boundEscapeHandler&&(document.removeEventListener("keydown",this.boundEscapeHandler),this.boundEscapeHandler=null),this.events.emit("close"),null===(n=(e=this.config).onClose)||void 0===n||n.call(e),setTimeout(()=>{"idle"!==this.state&&this.setState("idle")},300))}destroy(){this.close(),this.hostEl&&(this.hostEl.remove(),this.hostEl=null,this.shadow=null,this.overlay=null,this.modalEl=null,this.bodyContainer=null)}updateConfig(t){this.config=s(t),this.shadow&&this.applyTheme()}updateTheme(t){t&&(this.config=s({...this.config,theme:{...this.config.theme,...t}}),this.shadow&&this.applyTheme(),this.events.emit("theme-change",t))}getState(){return this.state}isVisible(){return this.isOpen}mount(){this.hostEl=f("div",{id:this.instanceId}),this.hostEl.style.cssText="position:fixed;top:0;left:0;width:0;height:0;overflow:visible;z-index:"+this.config.zIndex,this.shadow=this.hostEl.attachShadow({mode:"open"});const t=document.createElement("style");t.textContent="\n/* ═══ Reset ═══ */\n*, *::before, *::after {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n}\n\n/* ═══ Overlay ═══ */\n.cg-overlay {\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.5);\n backdrop-filter: blur(4px);\n -webkit-backdrop-filter: blur(4px);\n z-index: var(--cg-z, 999999);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px;\n opacity: 0;\n visibility: hidden;\n transition: opacity 0.25s ease, visibility 0.25s ease;\n font-family: var(--cg-font);\n color: var(--cg-text);\n line-height: 1.5;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.cg-overlay--visible {\n opacity: 1;\n visibility: visible;\n}\n\n/* ═══ Modal Shell ═══ */\n.cg-modal {\n background: var(--cg-bg, #FFFFFF);\n border-radius: var(--cg-modal-radius, 16px);\n box-shadow: var(--cg-shadow, 0 25px 60px rgba(0,0,0,0.3));\n width: 100%;\n max-width: 520px;\n max-height: 90vh;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n transform: translateY(20px) scale(0.97);\n opacity: 0;\n transition:\n transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),\n opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.cg-overlay--visible .cg-modal {\n transform: translateY(0) scale(1);\n opacity: 1;\n}\n\n/* ═══ Header ═══ */\n.cg-header {\n background: var(--cg-header-bg, #2C3345);\n color: var(--cg-header-text, #FFFFFF);\n padding: 20px 24px;\n display: flex;\n align-items: center;\n gap: 14px;\n position: relative;\n flex-shrink: 0;\n}\n\n.cg-header__icon {\n width: 40px;\n height: 40px;\n background: rgba(255, 255, 255, 0.12);\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n.cg-header__icon svg { stroke: var(--cg-header-text, #FFFFFF); }\n\n.cg-header__info { flex: 1; min-width: 0; }\n\n.cg-header__title {\n font-size: 17px;\n font-weight: 600;\n letter-spacing: -0.01em;\n color: inherit;\n}\n\n.cg-header__subtitle {\n font-size: 13px;\n opacity: 0.75;\n margin-top: 2px;\n color: inherit;\n}\n\n/* ── Close Button ── */\n.cg-close-btn {\n position: absolute;\n top: 16px;\n right: 16px;\n width: 32px;\n height: 32px;\n background: rgba(255, 255, 255, 0.1);\n border: none;\n border-radius: 8px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background 0.2s;\n color: var(--cg-header-text, #FFFFFF);\n padding: 0;\n}\n.cg-close-btn:hover { background: rgba(255, 255, 255, 0.2); }\n.cg-close-btn:focus-visible {\n outline: 2px solid rgba(255, 255, 255, 0.6);\n outline-offset: 2px;\n}\n.cg-close-btn svg { stroke: var(--cg-header-text, #FFFFFF); }\n\n/* ═══ Body (scrollable) ═══ */\n.cg-body {\n padding: 24px;\n overflow-y: auto;\n flex: 1;\n scrollbar-width: thin;\n scrollbar-color: rgba(0,0,0,0.15) transparent;\n}\n.cg-body::-webkit-scrollbar { width: 6px; }\n.cg-body::-webkit-scrollbar-track { background: transparent; }\n.cg-body::-webkit-scrollbar-thumb {\n background: rgba(0,0,0,0.15);\n border-radius: 3px;\n}\n\n/* ═══ Labels ═══ */\n.cg-label {\n display: block;\n font-size: 13px;\n font-weight: 500;\n color: var(--cg-primary, #EE6055);\n margin-bottom: 6px;\n}\n.cg-label--required::after {\n content: ' *';\n color: var(--cg-primary, #EE6055);\n}\n.cg-label--optional::after {\n content: '(Optional)';\n color: var(--cg-text, #6B7280);\n font-weight: 400;\n margin-left: 4px;\n font-size: 12px;\n}\n\n/* ═══ Categories ═══ */\n.cg-categories {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 8px;\n margin-bottom: 20px;\n}\n\n.cg-cat-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 10px 12px;\n border: 1.5px solid #E5E7EB;\n border-radius: var(--cg-radius, 8px);\n background: transparent;\n font-size: 13px;\n font-weight: 500;\n color: var(--cg-text, #6B7280);\n cursor: pointer;\n transition: all 0.2s;\n font-family: inherit;\n outline: none;\n}\n.cg-cat-btn:hover {\n border-color: var(--cg-primary, #EE6055);\n color: var(--cg-primary, #EE6055);\n}\n.cg-cat-btn:focus-visible {\n outline: 2px solid var(--cg-primary, #EE6055);\n outline-offset: 2px;\n}\n.cg-cat-btn--active {\n background: var(--cg-primary, #EE6055);\n border-color: var(--cg-primary, #EE6055);\n color: #FFFFFF;\n}\n.cg-cat-btn--active svg { stroke: #FFFFFF; }\n\n/* ═══ Form Fields ═══ */\n.cg-field {\n margin-bottom: 16px;\n}\n\n.cg-input-wrap {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.cg-input-wrap__icon {\n position: absolute;\n left: 14px;\n display: flex;\n align-items: center;\n pointer-events: none;\n color: var(--cg-input-placeholder, #9CA3AF);\n}\n.cg-input-wrap__icon svg {\n stroke: var(--cg-input-placeholder, #9CA3AF);\n}\n\n.cg-input {\n width: 100%;\n padding: 12px 14px 12px 42px;\n background: var(--cg-input-bg, #1E2535);\n color: var(--cg-input-text, #FFFFFF);\n border: 1.5px solid transparent;\n border-radius: var(--cg-radius, 8px);\n font-size: 14px;\n font-family: inherit;\n outline: none;\n transition: border-color 0.2s, box-shadow 0.2s;\n}\n.cg-input::placeholder {\n color: var(--cg-input-placeholder, #9CA3AF);\n}\n.cg-input:focus {\n border-color: var(--cg-primary, #EE6055);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--cg-primary, #EE6055) 15%, transparent);\n}\n.cg-input--error {\n border-color: #EF4444 !important;\n box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;\n}\n\n/* ═══ Textarea ═══ */\n.cg-textarea {\n width: 100%;\n padding: 14px;\n background: var(--cg-input-bg, #1E2535);\n color: var(--cg-input-text, #FFFFFF);\n border: 1.5px solid transparent;\n border-radius: var(--cg-radius, 8px);\n font-size: 14px;\n font-family: inherit;\n outline: none;\n resize: vertical;\n min-height: 120px;\n max-height: 240px;\n transition: border-color 0.2s, box-shadow 0.2s;\n}\n.cg-textarea::placeholder {\n color: var(--cg-input-placeholder, #9CA3AF);\n}\n.cg-textarea:focus {\n border-color: var(--cg-primary, #EE6055);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--cg-primary, #EE6055) 15%, transparent);\n}\n.cg-textarea--error {\n border-color: #EF4444 !important;\n box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;\n}\n\n/* ═══ Character Counter ═══ */\n.cg-counter {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 6px;\n}\n.cg-counter__bar {\n flex: 1;\n height: 3px;\n background: #E5E7EB;\n border-radius: 2px;\n overflow: hidden;\n}\n.cg-counter__fill {\n height: 100%;\n background: var(--cg-primary, #EE6055);\n border-radius: 2px;\n transition: width 0.2s;\n}\n.cg-counter__fill--warn { background: #F59E0B; }\n.cg-counter__fill--danger { background: #EF4444; }\n.cg-counter__text {\n font-size: 12px;\n color: var(--cg-text, #6B7280);\n white-space: nowrap;\n}\n\n/* ═══ Field Errors ═══ */\n.cg-error {\n font-size: 12px;\n color: #EF4444;\n margin-top: 4px;\n min-height: 0;\n overflow: hidden;\n max-height: 0;\n opacity: 0;\n transition: max-height 0.2s, opacity 0.2s, margin 0.2s;\n}\n.cg-error--visible {\n max-height: 40px;\n opacity: 1;\n margin-top: 4px;\n}\n\n/* ═══ Honeypot (hidden from humans) ═══ */\n.cg-hp {\n position: absolute;\n left: -9999px;\n top: -9999px;\n width: 1px;\n height: 1px;\n overflow: hidden;\n opacity: 0;\n pointer-events: none;\n tab-index: -1;\n}\n\n/* ═══ Submit Button ═══ */\n.cg-submit {\n width: 100%;\n padding: 14px;\n background: var(--cg-primary, #EE6055);\n color: #FFFFFF;\n border: none;\n border-radius: var(--cg-radius, 8px);\n font-size: 15px;\n font-weight: 600;\n font-family: inherit;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n transition: background 0.2s, transform 0.1s, box-shadow 0.2s;\n margin-top: 8px;\n outline: none;\n}\n.cg-submit svg { stroke: #FFFFFF; }\n.cg-submit:hover:not(:disabled) {\n background: var(--cg-secondary, #D94F44);\n}\n.cg-submit:active:not(:disabled) {\n transform: scale(0.98);\n}\n.cg-submit:focus-visible {\n outline: 2px solid var(--cg-primary, #EE6055);\n outline-offset: 2px;\n}\n.cg-submit:disabled {\n opacity: 0.65;\n cursor: not-allowed;\n}\n\n/* ═══ Branding (theme-safe: follows --cg-text + separator from theme) ═══ */\n.cg-branding {\n margin-top: 14px;\n padding-top: 12px;\n border-top: 1px solid color-mix(in srgb, var(--cg-text, #6B7280) 22%, transparent);\n text-align: center;\n font-size: 12px;\n line-height: 1.45;\n /* Mirrors theme body/copy color so visibility tracks updateTheme(...) */\n color: var(--cg-text, #6B7280);\n}\n.cg-branding__link {\n color: inherit;\n font-weight: 600;\n letter-spacing: 0.01em;\n text-decoration: none;\n text-underline-offset: 3px;\n transition: color 0.15s ease, text-decoration-color 0.15s ease;\n border-radius: 2px;\n}\n.cg-branding__link:hover {\n color: var(--cg-primary, #EE6055);\n text-decoration: underline;\n text-decoration-color: color-mix(in srgb, var(--cg-primary, #EE6055) 55%, transparent);\n}\n.cg-branding__link:focus-visible {\n outline: 2px solid var(--cg-primary, #EE6055);\n outline-offset: 3px;\n}\n\n/* ═══ Spinner ═══ */\n.cg-spinner {\n display: inline-flex;\n animation: cg-spin 0.8s linear infinite;\n}\n.cg-spinner svg { stroke: #FFFFFF; }\n\n/* ═══ Success & Error State Views ═══ */\n.cg-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 40px 24px;\n min-height: 320px;\n animation: cg-fade-in 0.3s ease;\n}\n\n.cg-state__icon {\n margin-bottom: 20px;\n}\n.cg-state__icon--success svg { stroke: #10B981; }\n.cg-state__icon--error svg { stroke: #EF4444; }\n\n.cg-state__title {\n font-size: 20px;\n font-weight: 700;\n color: #1F2937;\n margin-bottom: 8px;\n}\n\n.cg-state__msg {\n font-size: 14px;\n color: var(--cg-text, #6B7280);\n max-width: 320px;\n line-height: 1.6;\n}\n\n.cg-state__btn {\n margin-top: 24px;\n padding: 10px 28px;\n background: var(--cg-primary, #EE6055);\n color: #FFFFFF;\n border: none;\n border-radius: var(--cg-radius, 8px);\n font-size: 14px;\n font-weight: 500;\n font-family: inherit;\n cursor: pointer;\n transition: background 0.2s;\n outline: none;\n}\n.cg-state__btn:hover {\n background: var(--cg-secondary, #D94F44);\n}\n.cg-state__btn:focus-visible {\n outline: 2px solid var(--cg-primary, #EE6055);\n outline-offset: 2px;\n}\n\n/* ═══ Animations ═══ */\n@keyframes cg-spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n}\n\n@keyframes cg-fade-in {\n from { opacity: 0; transform: translateY(8px); }\n to { opacity: 1; transform: translateY(0); }\n}\n\n/* ═══ Responsive ═══ */\n@media (max-width: 480px) {\n .cg-overlay { padding: 0; }\n .cg-modal {\n max-width: 100%;\n max-height: 100%;\n height: 100%;\n border-radius: 0;\n }\n .cg-body { padding: 16px; }\n .cg-categories { gap: 6px; }\n .cg-cat-btn { font-size: 12px; padding: 8px; gap: 5px; }\n .cg-header { padding: 16px 20px; }\n}\n\n/* ═══ Reduced Motion ═══ */\n@media (prefers-reduced-motion: reduce) {\n .cg-overlay,\n .cg-modal,\n .cg-spinner,\n .cg-state,\n .cg-submit,\n .cg-cat-btn,\n .cg-input,\n .cg-textarea,\n .cg-counter__fill,\n .cg-error {\n transition-duration: 0.01ms !important;\n animation-duration: 0.01ms !important;\n }\n}\n\n/* ═══ High Contrast Mode ═══ */\n@media (forced-colors: active) {\n .cg-cat-btn { border: 2px solid ButtonText; }\n .cg-cat-btn--active { background: Highlight; color: HighlightText; }\n .cg-input, .cg-textarea { border: 1px solid ButtonText; }\n .cg-submit { border: 2px solid ButtonText; }\n .cg-branding { border-top-color: GrayText; color: LinkText; }\n .cg-branding__link:hover { color: LinkText; }\n}\n",this.shadow.appendChild(t),this.overlay=f("div",{className:"cg-overlay",role:"dialog","aria-modal":"true","aria-label":this.config.texts.title,"aria-hidden":"true"}),this.config.closeOnOverlayClick&&this.overlay.addEventListener("click",t=>{t.target===this.overlay&&this.close()}),this.modalEl=f("div",{className:"cg-modal"}),this.modalEl.addEventListener("click",t=>t.stopPropagation()),this.modalEl.appendChild(this.buildHeader()),this.bodyContainer=f("div",{className:"cg-body"}),this.buildFormView(),this.modalEl.appendChild(this.bodyContainer),this.overlay.appendChild(this.modalEl),this.shadow.appendChild(this.overlay),this.applyTheme(),document.body.appendChild(this.hostEl)}applyTheme(){var t;const e=this.overlay||(null===(t=this.shadow)||void 0===t?void 0:t.host);if(!e)return;const n=this.config.theme;!function(t,e){for(const[n,i]of Object.entries(e)){const e=m(i);e&&t.style.setProperty(n,e)}}(e,{"--cg-primary":n.primaryColor,"--cg-secondary":n.secondaryColor,"--cg-bg":n.backgroundColor,"--cg-header-bg":n.headerBackgroundColor,"--cg-header-text":n.headerTextColor,"--cg-text":n.textColor,"--cg-input-bg":n.inputBackgroundColor,"--cg-input-text":n.inputTextColor,"--cg-input-placeholder":n.inputPlaceholderColor,"--cg-radius":n.borderRadius,"--cg-modal-radius":n.modalBorderRadius,"--cg-font":n.fontFamily,"--cg-shadow":n.boxShadow,"--cg-z":String(this.config.zIndex)})}buildHeader(){const t=this.config.texts,e=f("div",{className:"cg-header"}),n=f("div",{className:"cg-header__icon",innerHTML:C.feedback}),i=f("div",{className:"cg-header__info"});i.appendChild(f("h2",{className:"cg-header__title",textContent:t.title,id:`${this.instanceId}-title`})),i.appendChild(f("p",{className:"cg-header__subtitle",textContent:t.subtitle}));const o=f("button",{className:"cg-close-btn","aria-label":"Close dialog",type:"button",innerHTML:C.close});return o.addEventListener("click",()=>this.close()),e.append(n,i,o),e}buildFormView(){if(!this.bodyContainer)return;this.bodyContainer.innerHTML="",this.categoryBtns=[];const t=this.config.texts;if(this.config.showCategories&&this.config.categories.length>1){const e=f("div",{className:"cg-label",textContent:t.categoryLabel,id:`${this.instanceId}-cat-label`});this.bodyContainer.appendChild(e);const n=f("div",{className:"cg-categories",role:"radiogroup","aria-labelledby":`${this.instanceId}-cat-label`});for(let e=0;e<this.config.categories.length;e++){const i=this.config.categories[e],o=t.categories[i]||i,r=i===this.selectedCategory,s=f("button",{className:"cg-cat-btn"+(r?" cg-cat-btn--active":""),type:"button",role:"radio","aria-checked":String(r),tabindex:r?"0":"-1"});s.innerHTML=k(i),s.appendChild(document.createTextNode(" "+o)),s.dataset.type=i,s.addEventListener("click",()=>this.selectCategory(i)),s.addEventListener("keydown",t=>{const n=this.categoryBtns.length;if("ArrowRight"===t.key||"ArrowDown"===t.key){t.preventDefault();const i=this.categoryBtns[(e+1)%n];this.selectCategory(i.dataset.type),i.focus()}else if("ArrowLeft"===t.key||"ArrowUp"===t.key){t.preventDefault();const i=this.categoryBtns[(e-1+n)%n];this.selectCategory(i.dataset.type),i.focus()}}),this.categoryBtns.push(s),n.appendChild(s)}this.bodyContainer.appendChild(n)}const e=this.buildField({label:t.emailLabel,placeholder:t.emailPlaceholder,type:"email",icon:C.email,required:!0,id:`${this.instanceId}-email`,autocomplete:"email"});if(this.emailInput=e.querySelector("input"),this.config.defaultEmail&&(this.emailInput.value=this.config.defaultEmail),this.bodyContainer.appendChild(e),this.config.showNameField){const e=this.buildField({label:t.nameLabel,placeholder:t.namePlaceholder,type:"text",icon:C.user,required:!1,id:`${this.instanceId}-name`,autocomplete:"name"});this.nameInput=e.querySelector("input"),this.config.defaultName&&(this.nameInput.value=this.config.defaultName),this.bodyContainer.appendChild(e)}else this.nameInput=null;const n=this.buildField({label:t.subjectLabel,placeholder:t.subjectPlaceholder,type:"text",icon:C.subject,required:!0,id:`${this.instanceId}-subject`,autocomplete:"off"});this.subjectInput=n.querySelector("input"),this.bodyContainer.appendChild(n);const i=f("div",{className:"cg-field"}),o=f("label",{className:"cg-label cg-label--required",textContent:t.messageLabel});o.setAttribute("for",`${this.instanceId}-msg`),i.appendChild(o),this.messageInput=document.createElement("textarea"),this.messageInput.className="cg-textarea",this.messageInput.id=`${this.instanceId}-msg`,this.messageInput.placeholder=t.messagePlaceholder,this.messageInput.setAttribute("maxlength",String(this.config.maxMessageLength)),this.messageInput.setAttribute("aria-required","true"),this.messageInput.setAttribute("aria-describedby",`${this.instanceId}-char-count`),i.appendChild(this.messageInput);const r=f("div",{className:"cg-counter",id:`${this.instanceId}-char-count`}),s=f("div",{className:"cg-counter__bar"});this.charCountFill=f("div",{className:"cg-counter__fill"}),this.charCountFill.style.width="0%",s.appendChild(this.charCountFill),this.charCountText=f("span",{className:"cg-counter__text",textContent:`0 / ${this.config.maxMessageLength}`,"aria-live":"polite"}),r.append(s,this.charCountText),i.appendChild(r);const a=f("div",{className:"cg-error",role:"alert","aria-live":"polite"});if(i.appendChild(a),this.messageInput.addEventListener("input",()=>this.updateCharCount()),i.dataset.fieldName="message",this.bodyContainer.appendChild(i),this.config.enableHoneypot){const t=f("div",{className:"cg-hp","aria-hidden":"true"});this.honeypotInput=document.createElement("input"),this.honeypotInput.type="text",this.honeypotInput.name="website",this.honeypotInput.tabIndex=-1,this.honeypotInput.autocomplete="off",t.appendChild(this.honeypotInput),this.bodyContainer.appendChild(t)}else this.honeypotInput=null;this.submitBtn=document.createElement("button"),this.submitBtn.className="cg-submit",this.submitBtn.type="button",this.submitBtn.setAttribute("aria-label",t.submitButtonText),this.submitBtn.innerHTML=`${C.send} <span>${t.submitButtonText}</span>`,this.submitBtn.addEventListener("click",()=>this.handleSubmit()),this.bodyContainer.appendChild(this.submitBtn);const l=document.createElement("footer");l.className="cg-branding",l.setAttribute("role","contentinfo");const c=document.createElement("a");c.className="cg-branding__link",c.href="https://chatgram.brandid.app/",c.target="_blank",c.rel="noopener noreferrer",c.textContent=F,c.setAttribute("aria-label",`${F} (opens in new tab)`),l.appendChild(c),this.bodyContainer.appendChild(l)}buildField(t){const e=f("div",{className:"cg-field"});e.dataset.fieldName=t.id;const n=f("label",{className:t.required?"cg-label cg-label--required":"cg-label cg-label--optional",textContent:t.label});n.setAttribute("for",t.id),e.appendChild(n);const i=f("div",{className:"cg-input-wrap"}),o=f("span",{className:"cg-input-wrap__icon",innerHTML:t.icon,"aria-hidden":"true"}),r=document.createElement("input");r.className="cg-input",r.type=t.type,r.id=t.id,r.placeholder=t.placeholder,r.setAttribute("autocomplete",t.autocomplete),t.required&&(r.setAttribute("aria-required","true"),r.required=!0),r.addEventListener("input",()=>{this.clearFieldError(e)}),i.append(o,r),e.appendChild(i);const s=f("div",{className:"cg-error",role:"alert","aria-live":"polite"});return e.appendChild(s),e}selectCategory(t){this.selectedCategory=t;for(const e of this.categoryBtns){const n=e.dataset.type===t;e.classList.toggle("cg-cat-btn--active",n),e.setAttribute("aria-checked",String(n)),e.tabIndex=n?0:-1}}updateCharCount(){if(!this.messageInput||!this.charCountText||!this.charCountFill)return;const t=this.messageInput.value.length,e=this.config.maxMessageLength,n=Math.min(t/e*100,100);this.charCountFill.style.width=`${n}%`,this.charCountText.textContent=`${t} / ${e}`,this.charCountFill.classList.remove("cg-counter__fill--warn","cg-counter__fill--danger"),n>=95?this.charCountFill.classList.add("cg-counter__fill--danger"):n>=80&&this.charCountFill.classList.add("cg-counter__fill--warn");const i=this.messageInput.closest(".cg-field");i&&this.clearFieldError(i)}validate(){const t=this.config.texts;let e=!0;return!!this.emailInput&&(function(t){if("string"!=typeof t)return!1;const e=t.trim();return!(0===e.length||e.length>254)&&!/[\r\n]/.test(e)&&/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/.test(e)}(this.emailInput.value.trim())||(this.showFieldError(this.emailInput,t.invalidEmailError),e&&this.emailInput.focus(),e=!1),!!this.subjectInput&&(p(this.subjectInput.value)||(this.showFieldError(this.subjectInput,t.requiredFieldError),e&&this.subjectInput.focus(),e=!1),!!this.messageInput&&(p(this.messageInput.value)?"string"==typeof(n=this.messageInput.value)&&n.length<=this.config.maxMessageLength||(this.showTextareaError(this.messageInput,t.messageTooLongError),e&&this.messageInput.focus(),e=!1):(this.showTextareaError(this.messageInput,t.requiredFieldError),e&&this.messageInput.focus(),e=!1),e)));var n}showFieldError(t,e){const n=t.closest(".cg-field");if(!n)return;t.classList.add("cg-input--error"),t.setAttribute("aria-invalid","true");const i=n.querySelector(".cg-error");i&&(i.textContent=e,i.classList.add("cg-error--visible"))}showTextareaError(t,e){const n=t.closest(".cg-field");if(!n)return;t.classList.add("cg-textarea--error"),t.setAttribute("aria-invalid","true");const i=n.querySelector(".cg-error");i&&(i.textContent=e,i.classList.add("cg-error--visible"))}clearFieldError(t){const e=t.querySelector("input, textarea");e&&(e.classList.remove("cg-input--error","cg-textarea--error"),e.removeAttribute("aria-invalid"));const n=t.querySelector(".cg-error");n&&(n.textContent="",n.classList.remove("cg-error--visible"))}setState(t){this.state=t,this.events.emit("state-change",t),"idle"===t&&this.bodyContainer&&this.buildFormView()}showStateView(t,e,n){if(!this.bodyContainer)return;this.bodyContainer.innerHTML="";const i=this.config.texts,o=f("div",{className:"cg-state",role:"status","aria-live":"polite"}),r=f("div",{className:`cg-state__icon cg-state__icon--${t}`,innerHTML:"success"===t?C.success:C.error,"aria-hidden":"true"}),s=f("h3",{className:"cg-state__title",textContent:e}),a=f("p",{className:"cg-state__msg",textContent:n}),l=f("button",{className:"cg-state__btn",type:"button",textContent:"success"===t?i.successButtonText:i.errorButtonText});l.addEventListener("click",()=>{"success"===t?this.close():this.setState("idle")}),o.append(r,s,a,l),this.bodyContainer.appendChild(o),requestAnimationFrame(()=>l.focus())}async handleSubmit(){var t,n,i,o,r,s,a;if("loading"===this.state)return;if(!this.validate())return;if(this.config.enableHoneypot&&(null===(t=this.honeypotInput)||void 0===t?void 0:t.value))return this.setState("success"),void this.showStateView("success",this.config.texts.successTitle,this.config.texts.successMessage);if((Date.now()-this.mountTime)/1e3<this.config.minSubmitDelay)return this.setState("success"),void this.showStateView("success",this.config.texts.successTitle,this.config.texts.successMessage);if(!this.rateLimiter.tryConsume()){const t=this.rateLimiter.getRetryAfter(),o=new e(`${this.config.texts.rateLimitError} Try again in ${t}s.`,"RATE_LIMITED");return this.setState("error"),this.showStateView("error",this.config.texts.errorTitle,o.message),null===(i=(n=this.config).onError)||void 0===i||i.call(n,o),void this.events.emit("error",o)}const l={publicKey:this.config.publicKey,...this.config.domain?{domain:this.config.domain}:{},email:u(this.emailInput.value),name:this.nameInput&&u(this.nameInput.value)||void 0,title:u(this.subjectInput.value),type:this.selectedCategory,messageText:u(this.messageInput.value)};if(!this.config.onSubmit||!1!==this.config.onSubmit(l)){this.events.emit("submit",l),this.state="loading",this.events.emit("state-change","loading"),this.submitBtn.disabled=!0,this.submitBtn.innerHTML=`<span class="cg-spinner">${C.spinner}</span> <span>${this.config.texts.submittingText}</span>`;try{const t=await async function(t,n,i){var o;const{timeout:r,retries:s}=i;let a=null;for(let e=0;e<=s;e++){if(e>0){const t=Math.min(1e3*Math.pow(2,e-1),8e3);await d(t)}try{return await c(t,n,r)}catch(t){if(a=h(t),!("NETWORK_ERROR"===a.code||"TIMEOUT"===a.code||"SERVER_ERROR"===a.code&&(null!==(o=a.statusCode)&&void 0!==o?o:0)>=500)||e===s)throw a}}throw a||new e("Unknown error","UNKNOWN")}(this.config.apiBaseUrl,l,{timeout:this.config.requestTimeout,retries:this.config.retryAttempts});this.setState("success"),this.showStateView("success",this.config.texts.successTitle,this.config.texts.successMessage),null===(r=(o=this.config).onSuccess)||void 0===r||r.call(o,t),this.events.emit("success",t),this.config.autoResetDelay>0&&setTimeout(()=>{"success"===this.state&&this.close()},this.config.autoResetDelay)}catch(t){const n=t instanceof e?t:new e(t instanceof Error?t.message:"An unexpected error occurred","UNKNOWN");this.setState("error");let i=this.config.texts.errorMessage;"TIMEOUT"===n.code?i=this.config.texts.timeoutError:"NETWORK_ERROR"===n.code?i=this.config.texts.networkError:"RATE_LIMITED"===n.code?i=this.config.texts.rateLimitError:"VALIDATION_ERROR"===n.code&&n.message&&(i=n.message),this.showStateView("error",this.config.texts.errorTitle,i),null===(a=(s=this.config).onError)||void 0===a||a.call(s,n),this.events.emit("error",n)}}}}class _{constructor(t,e){this.el=null,this.hostEl=null,this.shadow=null,this.config=t,this.onClick=e}mount(){if(this.el)return;this.hostEl=document.createElement("div"),this.hostEl.style.cssText="position:fixed;bottom:0;left:0;width:0;height:0;overflow:visible;z-index:"+(this.config.zIndex-1),this.shadow=this.hostEl.attachShadow({mode:"open"});const t=this.config.triggerPosition,e=this.config.theme,n=this.config.triggerBackgroundColor||e.primaryColor,i=this.config.triggerTextColor||"#FFFFFF",o=this.config.triggerTooltip||"Need Help?",r=document.createElement("style");if(r.textContent=`\n .cg-trigger {\n position: fixed;\n bottom: 20px;\n ${"bottom-left"===t?"left: 20px;":"right: 20px;"}\n width: 56px;\n height: 56px;\n border-radius: 50%;\n background: ${n};\n color: ${i};\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 4px 14px rgba(0,0,0,0.25);\n transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.25s ease;\n z-index: ${this.config.zIndex-1};\n padding: 0;\n outline: none;\n }\n .cg-trigger:hover {\n transform: scale(1.08);\n box-shadow: 0 6px 20px rgba(0,0,0,0.35);\n }\n .cg-trigger:focus-visible {\n outline: 2px solid ${n};\n outline-offset: 3px;\n }\n .cg-trigger:active {\n transform: scale(0.95);\n }\n .cg-trigger svg {\n stroke: ${i};\n }\n .cg-trigger__icon {\n width: 28px;\n height: 28px;\n object-fit: contain;\n pointer-events: none;\n }\n .cg-trigger--hidden {\n opacity: 0;\n pointer-events: none;\n transform: scale(0.8);\n }\n .cg-trigger__label {\n position: absolute;\n ${"bottom-left"===t?"left: 64px;":"right: 64px;"}\n background: #1F2937;\n color: #FFFFFF;\n font-family: ${e.fontFamily};\n font-size: 13px;\n font-weight: 500;\n padding: 6px 12px;\n border-radius: 6px;\n white-space: nowrap;\n pointer-events: none;\n opacity: 0;\n transition: opacity 0.2s;\n box-shadow: 0 2px 8px rgba(0,0,0,0.2);\n }\n .cg-trigger:hover .cg-trigger__label {\n opacity: 1;\n }\n `,this.shadow.appendChild(r),this.el=document.createElement("button"),this.el.className="cg-trigger",this.el.setAttribute("aria-label",o+" Contact Support"),this.el.setAttribute("type","button"),this.config.triggerIconUrl){const t=document.createElement("img");t.src=this.config.triggerIconUrl,t.alt="Support",t.className="cg-trigger__icon",this.el.appendChild(t)}else this.el.innerHTML=C.trigger;const s=document.createElement("span");s.className="cg-trigger__label",s.textContent=o,this.el.appendChild(s),this.el.addEventListener("click",this.onClick),this.shadow.appendChild(this.el),document.body.appendChild(this.hostEl)}destroy(){this.el&&this.el.removeEventListener("click",this.onClick),this.hostEl&&(this.hostEl.remove(),this.hostEl=null,this.shadow=null,this.el=null)}show(){var t;null===(t=this.el)||void 0===t||t.classList.remove("cg-trigger--hidden")}hide(){var t;null===(t=this.el)||void 0===t||t.classList.add("cg-trigger--hidden")}updateTheme(t){this.el&&(this.el.style.background=this.config.triggerBackgroundColor||t)}}let I=null,L=null,M=null,N=null;function B(t){I&&O(),"undefined"!=typeof window&&"undefined"!=typeof document?(N=s(t),M=new l,N.onOpen&&M.on("open",N.onOpen),N.onClose&&M.on("close",N.onClose),N.onSuccess&&M.on("success",N.onSuccess),N.onError&&M.on("error",N.onError),M.on("close",()=>null==L?void 0:L.show()),I=new T(t,M),N.showTriggerButton&&(L=new _(N,()=>S()),L.mount())):console.warn("[chatgram-widget] Cannot initialize in a non-browser environment.")}function S(){if(!I)throw new e("Call init() before open(). See: https://brandid.app/chatgram","NOT_INITIALIZED");I.open(),null==L||L.hide()}function A(){I&&(I.close(),null==L||L.show())}function O(){null==I||I.destroy(),I=null,null==L||L.destroy(),L=null,null==M||M.removeAllListeners(),M=null,N=null}function R(t){if(!I)throw new e("Call init() before updateTheme().","NOT_INITIALIZED");I.updateTheme(t),t.primaryColor&&(null==L||L.updateTheme(t.primaryColor))}function j(t,e){null==M||M.on(t,e)}function z(t,e){null==M||M.off(t,e)}function $(t,e){null==M||M.once(t,e)}function H(){var t;return null!==(t=null==I?void 0:I.isVisible())&&void 0!==t&&t}function q(){var t;return null!==(t=null==I?void 0:I.getState())&&void 0!==t?t:"uninitialized"}function D(){return"1.0.5"}var P={init:B,open:S,close:A,destroy:O,updateTheme:R,on:j,off:z,once:$,isOpen:H,getState:q,getVersion:D,ChatgramError:e};t.ChatgramError=e,t.close=A,t.default=P,t.destroy=O,t.getState=q,t.getVersion=D,t.init=B,t.isOpen=H,t.off=z,t.on=j,t.once=$,t.open=S,t.updateTheme=R,Object.defineProperty(t,"__esModule",{value:!0})});
|
|
2
2
|
//# sourceMappingURL=chatgram-widget.umd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatgram-widget.umd.js","sources":["../src/core/types.ts","../src/core/config.ts","../src/core/events.ts","../src/core/api.ts","../src/core/rate-limiter.ts","../src/utils/sanitize.ts","../src/utils/dom.ts","../src/ui/icons.ts","../src/ui/modal.ts","../src/styles/widget-css.ts","../src/ui/trigger.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["ChatgramError","Error","constructor","message","code","statusCode","super","this","name","DEFAULT_THEME","primaryColor","secondaryColor","backgroundColor","headerBackgroundColor","headerTextColor","textColor","inputBackgroundColor","inputTextColor","inputPlaceholderColor","borderRadius","modalBorderRadius","fontFamily","boxShadow","DEFAULT_TEXTS","title","subtitle","categoryLabel","emailLabel","emailPlaceholder","nameLabel","namePlaceholder","subjectLabel","subjectPlaceholder","messageLabel","messagePlaceholder","submitButtonText","submittingText","successTitle","successMessage","successButtonText","errorTitle","errorMessage","errorButtonText","requiredFieldError","invalidEmailError","messageTooLongError","networkError","timeoutError","rateLimitError","categories","feedback","bug","feature","support","ALL_CATEGORIES","deepMerge","defaults","overrides","result","key","Object","keys","overrideVal","defaultVal","undefined","Array","isArray","resolveConfig","userConfig","domain","publicKey","window","location","hostname","apiBaseUrl","replace","theme","texts","defaultCategory","showCategories","maxMessageLength","clamp","_a","showTriggerButton","_b","triggerPosition","showNameField","_c","zIndex","_d","closeOnOverlayClick","_e","closeOnEscape","_f","enableHoneypot","_g","minSubmitDelay","_h","rateLimitMax","_j","rateLimitWindow","_k","requestTimeout","_l","retryAttempts","_m","autoResetDelay","Math","max","_o","triggerIconUrl","triggerBackgroundColor","triggerTextColor","triggerTooltip","defaultEmail","defaultName","onSuccess","onError","onOpen","onClose","onSubmit","value","min","EventEmitter","listeners","Map","on","event","handler","has","set","Set","get","add","off","delete","once","wrapper","data","emit","handlers","err","console","error","removeAllListeners","clear","async","doRequest","baseUrl","payload","timeout","controller","AbortController","timeoutId","setTimeout","abort","url","response","fetch","method","headers","Accept","body","JSON","stringify","signal","clearTimeout","json","ok","status","success","ticketId","id","_id","DOMException","TypeError","sleep","ms","Promise","resolve","toChatgramError","String","RateLimiter","maxRequests","windowMs","timestamps","tryConsume","now","Date","filter","t","length","push","getRetryAfter","oldest","retryMs","ceil","reset","sanitizeForPayload","input","trim","isNonEmpty","sanitizeThemeValue","test","isSafeCssValue","el","tag","attrs","children","elem","document","createElement","entries","className","textContent","innerHTML","setAttribute","FOCUSABLE_SELECTOR","join","scrollLockCount","savedScrollbarWidth","savedBodyPaddingRight","savedBodyOverflow","idCounter","ICONS","close","email","user","subject","send","spinner","trigger","warning","getCategoryIcon","type","Modal","config","events","hostEl","shadow","overlay","modalEl","bodyContainer","isOpen","state","mountTime","destroyFocusTrap","boundEscapeHandler","emailInput","nameInput","subjectInput","messageInput","honeypotInput","charCountText","charCountFill","submitBtn","categoryBtns","selectedCategory","instanceId","prefix","toString","uid","rateLimiter","open","mount","requestAnimationFrame","classList","innerWidth","documentElement","clientWidth","style","overflow","paddingRight","container","previouslyFocused","activeElement","getFocusableElements","from","querySelectorAll","getComputedStyle","display","visibility","handleKeyDown","e","focusable","preventDefault","first","last","shiftKey","contains","focus","addEventListener","removeEventListener","createFocusTrap","remove","call","setState","destroy","updateConfig","newConfig","applyTheme","updateTheme","getState","isVisible","cssText","attachShadow","mode","appendChild","role","target","stopPropagation","buildHeader","buildFormView","host","element","vars","prop","safe","setProperty","applyThemeVars","header","iconWrap","textWrap","closeBtn","append","catLabel","catGrid","i","cat","label","isActive","btn","tabindex","createTextNode","dataset","selectCategory","len","next","prev","emailField","buildField","placeholder","icon","required","autocomplete","querySelector","nameField","subjectField","msgField","msgLabel","counter","counterBar","width","msgError","updateCharCount","fieldName","honeypotField","tabIndex","handleSubmit","opts","field","clearFieldError","errorEl","toggle","pct","closest","validate","valid","trimmed","isValidEmail","showFieldError","showTextareaError","textarea","removeAttribute","newState","showStateView","view","titleEl","msgEl","retryAfter","messageText","disabled","options","retries","lastError","attempt","delay","pow","submitTicket","chatgramErr","userMessage","TriggerButton","onClick","pos","bgColor","txtColor","tooltipText","img","src","alt","tooltip","show","hide","background","modal","resolvedConfig","init","warn","getVersion","index"],"mappings":"qPAgKM,MAAOA,UAAsBC,MAIjC,WAAAC,CAAYC,EAAiBC,EAAyBC,GACpDC,MAAMH,GACNI,KAAKC,KAAO,gBACZD,KAAKH,KAAOA,EACZG,KAAKF,WAAaA,CACpB,EC3JK,MAAMI,EAAyC,CACpDC,aAAc,UACdC,eAAgB,UAChBC,gBAAiB,UACjBC,sBAAuB,UACvBC,gBAAiB,UACjBC,UAAW,UACXC,qBAAsB,UACtBC,eAAgB,UAChBC,sBAAuB,UACvBC,aAAc,MACdC,kBAAmB,OACnBC,WACE,iHACFC,UAAW,kCAKAC,EAAyC,CACpDC,MAAO,kBACPC,SAAU,iCACVC,cAAe,yBACfC,WAAY,aACZC,iBAAkB,oBAClBC,UAAW,YACXC,gBAAiB,WACjBC,aAAc,UACdC,mBAAoB,gCACpBC,aAAc,UACdC,mBAAoB,4BACpBC,iBAAkB,SAClBC,eAAgB,aAChBC,aAAc,gBACdC,eACE,4EACFC,kBAAmB,QACnBC,WAAY,QACZC,aAAc,0CACdC,gBAAiB,YACjBC,mBAAoB,yBACpBC,kBAAmB,qCACnBC,oBAAqB,qCACrBC,aAAc,wDACdC,aAAc,uCACdC,eAAgB,8CAChBC,WAAY,CACVC,SAAU,WACVC,IAAK,aACLC,QAAS,UACTC,QAAS,YAIAC,EAA+B,CAAC,WAAY,MAAO,UAAW,WAK3E,SAASC,EACPC,EACAC,GAEA,IAAKA,EAAW,MAAO,IAAKD,GAE5B,MAAME,EAAkC,IAAKF,GAC7C,IAAK,MAAMG,KAAOC,OAAOC,KAAKJ,GAAY,CACxC,MAAMK,EAAeL,EAAsCE,GACrDI,EAAcP,EAAqCG,QAErCK,IAAhBF,IAeFJ,EAAOC,GAZS,OAAhBG,GACuB,iBAAhBA,GACNG,MAAMC,QAAQJ,IACA,OAAfC,GACsB,iBAAfA,GACNE,MAAMC,QAAQH,GAODD,EALA,IACRC,KACAD,GAKV,CACA,OAAOJ,CACT,CAaM,SAAUS,EAAcC,iCAC5B,MAAO,CACLC,OAAQD,EAAWE,UAAYF,EAAWC,OAAUD,EAAWC,SAV3C,oBAAXE,QAA0BA,OAAOC,SACnCD,OAAOC,SAASC,SAElB,aAQLC,YAAaN,EAAWM,YAlDA,uCAkD4BC,QAAQ,OAAQ,IACpEC,MAAOrB,EAAU9C,EAAe2D,EAAWQ,OAC3CC,MAAOtB,EAAUhC,EAAe6C,EAAWS,OAC3C5B,WAAYK,EACZwB,gBAAiB,UACjBC,gBAAgB,EAChBC,iBAAkBC,EAAiC,QAA3BC,EAAAd,EAAWY,wBAAgB,IAAAE,EAAAA,EAAI,IAAM,IAAK,KAClEC,0BAAmBC,EAAAhB,EAAWe,kCAC9BE,gBAAiBjB,EAAWiB,iBAAmB,eAC/CC,sBAAeC,EAAAnB,EAAWkB,8BAC1BE,eAAQC,EAAArB,EAAWoB,sBAAU,OAC7BE,4BAAqBC,EAAAvB,EAAWsB,oCAChCE,sBAAeC,EAAAzB,EAAWwB,8BAC1BE,uBAAgBC,EAAA3B,EAAW0B,+BAC3BE,eAAgBf,EAA+B,QAAzBgB,EAAA7B,EAAW4B,sBAAc,IAAAC,EAAAA,EAAI,EAAG,EAAG,IACzDC,aAAcjB,EAA6B,QAAvBkB,EAAA/B,EAAW8B,oBAAY,IAAAC,EAAAA,EAAI,EAAG,EAAG,KACrDC,gBAAiBnB,EAAgC,QAA1BoB,EAAAjC,EAAWgC,uBAAe,IAAAC,EAAAA,EAAI,IAAQ,IAAO,MACpEC,eAAgBrB,EAA+B,QAAzBsB,EAAAnC,EAAWkC,sBAAc,IAAAC,EAAAA,EAAI,KAAO,IAAM,KAChEC,cAAevB,EAA8B,QAAxBwB,EAAArC,EAAWoC,qBAAa,IAAAC,EAAAA,EAAI,EAAG,EAAG,GACvDC,eAAgBC,KAAKC,IAA6B,QAAzBC,EAAAzC,EAAWsC,sBAAc,IAAAG,EAAAA,EAAI,EAAG,GACzDvC,UAAWF,EAAWE,UACtBwC,eAAgB1C,EAAW0C,eAC3BC,uBAAwB3C,EAAW2C,uBACnCC,iBAAkB5C,EAAW4C,iBAC7BC,eAAgB7C,EAAW6C,eAC3BC,aAAc9C,EAAW8C,aACzBC,YAAa/C,EAAW+C,YACxBC,UAAWhD,EAAWgD,UACtBC,QAASjD,EAAWiD,QACpBC,OAAQlD,EAAWkD,OACnBC,QAASnD,EAAWmD,QACpBC,SAAUpD,EAAWoD,SAEzB,CAEA,SAASvC,EAAMwC,EAAeC,EAAad,GACzC,OAAOD,KAAKe,IAAIf,KAAKC,IAAIa,EAAOC,GAAMd,EACxC,OChJae,EAAb,WAAAzH,GACUK,KAAAqH,UAAsD,IAAIC,GAoCpE,CAlCE,EAAAC,CAAuBC,EAAUC,GAC1BzH,KAAKqH,UAAUK,IAAIF,IACtBxH,KAAKqH,UAAUM,IAAIH,EAAO,IAAII,KAEhC5H,KAAKqH,UAAUQ,IAAIL,GAAQM,IAAIL,EACjC,CAEA,GAAAM,CAAwBP,EAAUC,SACP,QAAzB9C,EAAA3E,KAAKqH,UAAUQ,IAAIL,UAAM,IAAA7C,GAAAA,EAAEqD,OAAOP,EACpC,CAEA,IAAAQ,CAAyBT,EAAUC,GACjC,MAAMS,EAAiCC,IACrCnI,KAAK+H,IAAIP,EAAOU,GACfT,EAAiCU,IAEpCnI,KAAKuH,GAAGC,EAAOU,EACjB,CAEA,IAAAE,CAAyBZ,EAAUW,GACjC,MAAME,EAAWrI,KAAKqH,UAAUQ,IAAIL,GACpC,GAAKa,EACL,IAAK,MAAMZ,KAAWY,EACpB,IACEZ,EAAQU,EACV,CAAE,MAAOG,GACPC,QAAQC,MAAM,+BAA+BhB,cAAmBc,EAClE,CAEJ,CAEA,kBAAAG,GACEzI,KAAKqH,UAAUqB,OACjB,ECYFC,eAAeC,EACbC,EACAC,EACAC,GAEA,MAAMC,EAAa,IAAIC,gBACjBC,EAAYC,WAAW,IAAMH,EAAWI,QAASL,GAEvD,IACE,MAAMM,EAAM,GAAGR,gBAETS,QAAiBC,MAAMF,EAAK,CAChCG,OAAQ,OACRC,QAAS,CACP,eAAgB,mBAChBC,OAAQ,oBAEVC,KAAMC,KAAKC,UAAUf,GACrBgB,OAAQd,EAAWc,SAGrBC,aAAab,GAGb,IAAIS,EAAgC,CAAA,EACpC,IACEA,QAAcL,EAASU,MACzB,CAAE,MAAArF,GAEF,CAEA,IAAK2E,EAASW,GAAI,CAChB,MAAMrK,EACoB,iBAAjB+J,EAAK/J,QACR+J,EAAK/J,QACL,iBAAiB0J,EAASY,UAEhC,GAAwB,MAApBZ,EAASY,OACX,MAAM,IAAIzK,EAAcG,EAAS,eAAgB,KAEnD,GAAI0J,EAASY,QAAU,KAAOZ,EAASY,OAAS,IAC9C,MAAM,IAAIzK,EAAcG,EAAS,mBAAoB0J,EAASY,QAEhE,MAAM,IAAIzK,EAAcG,EAAS,eAAgB0J,EAASY,OAC5D,CAEA,MAAO,CACLC,SAAS,EACTC,SACGT,EAAKS,UACLT,EAAKU,IACLV,EAAKW,UACN7G,EACF7D,QACG+J,EAAK/J,SAAsB,8BAElC,CAAE,MAAO0I,GAIP,GAHAyB,aAAab,GAGTZ,aAAe7I,EAAe,MAAM6I,EAGxC,GAAIA,aAAeiC,cAA6B,eAAbjC,EAAIrI,KACrC,MAAM,IAAIR,EACR,iEACA,WAKJ,GAAI6I,aAAekC,UACjB,MAAM,IAAI/K,EACR,wDACA,iBAIJ,MAAM,IAAIA,EACR6I,aAAe5I,MAAQ4I,EAAI1I,QAAU,+BACrC,UAEJ,CACF,CAIA,SAAS6K,EAAMC,GACb,OAAO,IAAIC,QAASC,GAAYzB,WAAWyB,EAASF,GACtD,CAEA,SAASG,EAAgBvC,GACvB,OAAIA,aAAe7I,EAAsB6I,EACrCA,aAAe5I,MACV,IAAID,EAAc6I,EAAI1I,QAAS,WAEjC,IAAIH,EAAcqL,OAAOxC,GAAM,UACxC,OCxJayC,EAKX,WAAApL,CAAYqL,EAAqBC,GAJzBjL,KAAAkL,WAAuB,GAK7BlL,KAAKgL,YAAcA,EACnBhL,KAAKiL,SAAWA,CAClB,CAMA,UAAAE,GACE,MAAMC,EAAMC,KAAKD,MAIjB,OAFApL,KAAKkL,WAAalL,KAAKkL,WAAWI,OAAQC,GAAMH,EAAMG,EAAIvL,KAAKiL,YAE3DjL,KAAKkL,WAAWM,QAAUxL,KAAKgL,cAInChL,KAAKkL,WAAWO,KAAKL,GACd,GACT,CAKA,aAAAM,GACE,GAAI1L,KAAKkL,WAAWM,OAASxL,KAAKgL,YAAa,OAAO,EACtD,MAAMW,EAAS3L,KAAKkL,WAAW,GACzBU,EAAU5L,KAAKiL,UAAYI,KAAKD,MAAQO,GAC9C,OAAOvF,KAAKC,IAAID,KAAKyF,KAAKD,EAAU,KAAO,EAC7C,CAEA,KAAAE,GACE9L,KAAKkL,WAAa,EACpB,ECLI,SAAUa,EAAmBC,GACjC,MAAqB,iBAAVA,EAA2B,GAC/BA,EAAM5H,QAAQ,MAAO,IAAI6H,MAClC,CAsBM,SAAUC,EAAWhF,GACzB,MAAwB,iBAAVA,GAAsBA,EAAM+E,OAAOT,OAAS,CAC5D,CAuBM,SAAUW,EAAmBjF,GACjC,OAXI,SAAyBA,GAC7B,MAAqB,iBAAVA,IAEO,8CACAkF,KAAKlF,EACzB,CAMOmF,CAAenF,GACbA,EAD4B,EAErC,UC9EgBoF,EACdC,EACAC,EACAC,GAEA,MAAMC,EAAOC,SAASC,cAAcL,GAEpC,GAAIC,EACF,IAAK,MAAOpJ,EAAK8D,KAAU7D,OAAOwJ,QAAQL,GAC5B,cAARpJ,EACFsJ,EAAKI,UAAY5F,EACA,gBAAR9D,EACTsJ,EAAKK,YAAc7F,EACF,cAAR9D,EAETsJ,EAAKM,UAAY9F,EAEjBwF,EAAKO,aAAa7J,EAAK8D,GAe7B,OAAOwF,CACT,CAqBA,MAAMQ,EAAqB,CACzB,UACA,yBACA,6CACA,yBACA,2BACA,mCACAC,KAAK,MAwEP,IAAIC,EAAkB,EAClBC,EAAsB,EACtBC,EAAwB,GACxBC,EAAoB,GAuCpBC,EAAY,ECxLT,MAAMC,EAAgC,CAE3C9K,SAAU,uQAEVC,IAAK,+kBAELC,QAAS,+aAETC,QAAS,oSAGT4K,MAAO,wQAEPC,MAAO,oSAEPC,KAAM,iRAENC,QAAS,kTAETC,KAAM,iRAGN3D,QAAS,wRAET3B,MAAO,gTAEPuF,QAAS,+MAGTC,QAAS,uQAGTC,QAAS,oWAOL,SAAUC,EAAgBC,GAC9B,OAAOV,EAAMU,IAASV,EAAM3K,OAC9B,OCIasL,EAsCX,WAAAzO,CAAY0O,EAAwBC,GAhC5BtO,KAAAuO,OAA6B,KAC7BvO,KAAAwO,OAA4B,KAC5BxO,KAAAyO,QAA8B,KAC9BzO,KAAA0O,QAA8B,KAC9B1O,KAAA2O,cAAoC,KAGpC3O,KAAA4O,QAAS,EACT5O,KAAA6O,MAAqB,OAErB7O,KAAA8O,UAAY,EAIZ9O,KAAA+O,iBAAwC,KAGxC/O,KAAAgP,mBAA0D,KAG1DhP,KAAAiP,WAAsC,KACtCjP,KAAAkP,UAAqC,KACrClP,KAAAmP,aAAwC,KACxCnP,KAAAoP,aAA2C,KAC3CpP,KAAAqP,cAAyC,KACzCrP,KAAAsP,cAAoC,KACpCtP,KAAAuP,cAAoC,KACpCvP,KAAAwP,UAAsC,KAGtCxP,KAAAyP,aAAoC,GAG1CzP,KAAKqO,OAASzK,EAAcyK,GAC5BrO,KAAKsO,OAASA,EACdtO,KAAK0P,iBAAmB1P,KAAKqO,OAAO9J,gBACpCvE,KAAK2P,WFmGH,SAAcC,EAAS,MAC3B,MAAO,GAAGA,OAAYpC,KAAanC,KAAKD,MAAMyE,SAAS,KACzD,CErGsBC,CAAI,YACtB9P,KAAK+P,YAAc,IAAIhF,EACrB/K,KAAKqO,OAAO1I,aACZ3F,KAAKqO,OAAOxI,gBAEhB,CAMA,IAAAmK,aACMhQ,KAAK4O,SACJ5O,KAAKuO,QAAQvO,KAAKiQ,QACvBjQ,KAAK4O,QAAS,EACd5O,KAAK8O,UAAYzD,KAAKD,MAGtB8E,sBAAsB,WACR,QAAZvL,EAAA3E,KAAKyO,mBAAO9J,GAAAA,EAAEwL,UAAUrI,IAAI,yBF+ChCsF,IACIA,EAAkB,IAGtBC,EACErJ,OAAOoM,WAAazD,SAAS0D,gBAAgBC,YAG/C/C,EAAoBZ,SAAShD,KAAK4G,MAAMC,SACxClD,EAAwBX,SAAShD,KAAK4G,MAAME,aAG5C9D,SAAShD,KAAK4G,MAAMC,SAAW,SAC3BnD,EAAsB,IACxBV,SAAShD,KAAK4G,MAAME,aAAe,GAAGpD,QEtDlCrN,KAAK0O,UACP1O,KAAK+O,iBFtCL,SAA0B2B,GAE9B,MAAMC,EAAoBhE,SAASiE,cAEnC,SAASC,IACP,OAAOnN,MAAMoN,KAAKJ,EAAUK,iBAA8B7D,IACvD5B,OAAQgB,IAEP,MAAMiE,EAAQvM,OAAOgN,iBAAiB1E,GACtC,MAAyB,SAAlBiE,EAAMU,SAA2C,WAArBV,EAAMW,YAE/C,CAEA,SAASC,EAAcC,GACrB,GAAc,QAAVA,EAAEhO,IAAe,OAErB,MAAMiO,EAAYR,IAClB,GAAyB,IAArBQ,EAAU7F,OAEZ,YADA4F,EAAEE,iBAIJ,MAAMC,EAAQF,EAAU,GAClBG,EAAOH,EAAUA,EAAU7F,OAAS,GAEtC4F,EAAEK,SAEA9E,SAASiE,gBAAkBW,GAAUb,EAAUgB,SAAS/E,SAASiE,iBACnEQ,EAAEE,iBACFE,EAAKG,SAIHhF,SAASiE,gBAAkBY,GAASd,EAAUgB,SAAS/E,SAASiE,iBAClEQ,EAAEE,iBACFC,EAAMI,QAGZ,CAaA,OAXAjB,EAAUkB,iBAAiB,UAAWT,GAGtCjB,sBAAsB,KACpB,MAAMmB,EAAYR,IACdQ,EAAU7F,OAAS,GACrB6F,EAAU,GAAGM,UAKV,KAGL,GAFAjB,EAAUmB,oBAAoB,UAAWV,GAErCR,GAAwD,mBAA5BA,EAAkBgB,MAChD,IACEhB,EAAkBgB,OACpB,CAAE,MAAAhN,GAEF,EAGN,CExB8BmN,CAAgB9R,KAAK0O,UAI3C1O,KAAKqO,OAAOhJ,gBACdrF,KAAKgP,mBAAsBoC,IACX,WAAVA,EAAEhO,KAAkBpD,KAAK0N,SAE/Bf,SAASiF,iBAAiB,UAAW5R,KAAKgP,qBAIhC,QAAZrK,EAAA3E,KAAKyO,mBAAO9J,GAAAA,EAAEsI,aAAa,cAAe,SAE1CjN,KAAKsO,OAAOlG,KAAK,gBACjBpD,KAAAhF,KAAKqO,QAAOtH,+BACd,CAEA,KAAA2G,aACO1N,KAAK4O,QAAW5O,KAAKyO,UAC1BzO,KAAK4O,QAAS,EAGd5O,KAAKyO,QAAQ0B,UAAU4B,OAAO,uBAC9B/R,KAAKyO,QAAQxB,aAAa,cAAe,QFqC3CG,EAAkBhH,KAAKC,IAAI,EAAG+G,EAAkB,GAC5CA,EAAkB,IAEtBT,SAAShD,KAAK4G,MAAMC,SAAWjD,EAC/BZ,SAAShD,KAAK4G,MAAME,aAAenD,GEnCZ,QAArB3I,EAAA3E,KAAK+O,wBAAgB,IAAApK,GAAAA,EAAAqN,KAAAhS,MACrBA,KAAK+O,iBAAmB,KAGpB/O,KAAKgP,qBACPrC,SAASkF,oBAAoB,UAAW7R,KAAKgP,oBAC7ChP,KAAKgP,mBAAqB,MAG5BhP,KAAKsO,OAAOlG,KAAK,iBACjBpD,KAAAhF,KAAKqO,QAAOrH,gCAGZmC,WAAW,KACU,SAAfnJ,KAAK6O,OACP7O,KAAKiS,SAAS,SAEf,KACL,CAEA,OAAAC,GACElS,KAAK0N,QACD1N,KAAKuO,SACPvO,KAAKuO,OAAOwD,SACZ/R,KAAKuO,OAAS,KACdvO,KAAKwO,OAAS,KACdxO,KAAKyO,QAAU,KACfzO,KAAK0O,QAAU,KACf1O,KAAK2O,cAAgB,KAEzB,CAEA,YAAAwD,CAAaC,GACXpS,KAAKqO,OAASzK,EAAcwO,GACxBpS,KAAKwO,QACPxO,KAAKqS,YAET,CAEA,WAAAC,CAAYjO,GACLA,IACLrE,KAAKqO,OAASzK,EAAc,IACvB5D,KAAKqO,OACRhK,MAAO,IAAKrE,KAAKqO,OAAOhK,SAAUA,KAEhCrE,KAAKwO,QACPxO,KAAKqS,aAEPrS,KAAKsO,OAAOlG,KAAK,eAAgB/D,GACnC,CAEA,QAAAkO,GACE,OAAOvS,KAAK6O,KACd,CAEA,SAAA2D,GACE,OAAOxS,KAAK4O,MACd,CAMQ,KAAAqB,GAENjQ,KAAKuO,OAASjC,EAAG,MAAO,CAAEjC,GAAIrK,KAAK2P,aACnC3P,KAAKuO,OAAOgC,MAAMkC,QAAU,yEAA2EzS,KAAKqO,OAAOpJ,OAGnHjF,KAAKwO,OAASxO,KAAKuO,OAAOmE,aAAa,CAAEC,KAAM,SAG/C,MAAMpC,EAAQ5D,SAASC,cAAc,SACrC2D,EAAMxD,YCvND,wmVDwNL/M,KAAKwO,OAAOoE,YAAYrC,GAGxBvQ,KAAKyO,QAAUnC,EAAG,MAAO,CACvBQ,UAAW,aACX+F,KAAM,SACN,aAAc,OACd,aAAc7S,KAAKqO,OAAO/J,MAAMrD,MAChC,cAAe,SAIbjB,KAAKqO,OAAOlJ,qBACdnF,KAAKyO,QAAQmD,iBAAiB,QAAUR,IAClCA,EAAE0B,SAAW9S,KAAKyO,SAASzO,KAAK0N,UAKxC1N,KAAK0O,QAAUpC,EAAG,MAAO,CAAEQ,UAAW,aACtC9M,KAAK0O,QAAQkD,iBAAiB,QAAUR,GAAMA,EAAE2B,mBAGhD/S,KAAK0O,QAAQkE,YAAY5S,KAAKgT,eAG9BhT,KAAK2O,cAAgBrC,EAAG,MAAO,CAAEQ,UAAW,YAC5C9M,KAAKiT,gBACLjT,KAAK0O,QAAQkE,YAAY5S,KAAK2O,eAE9B3O,KAAKyO,QAAQmE,YAAY5S,KAAK0O,SAC9B1O,KAAKwO,OAAOoE,YAAY5S,KAAKyO,SAG7BzO,KAAKqS,aAEL1F,SAAShD,KAAKiJ,YAAY5S,KAAKuO,OACjC,CAEQ,UAAA8D,SACN,MAAMS,EAAS9S,KAAKyO,UAAsB,QAAX9J,EAAA3E,KAAKwO,cAAM,IAAA7J,OAAA,EAAAA,EAAEuO,MAC5C,IAAKJ,EAAQ,OACb,MAAMvH,EAAIvL,KAAKqO,OAAOhK,OFnNpB,SACJ8O,EACAC,GAEA,IAAK,MAAOC,EAAMnM,KAAU7D,OAAOwJ,QAAQuG,GAAO,CAChD,MAAME,EAAOnH,EAAmBjF,GAC5BoM,GACFH,EAAQ5C,MAAMgD,YAAYF,EAAMC,EAEpC,CACF,CE0MIE,CAAeV,EAAuB,CACpC,eAAgBvH,EAAEpL,aAClB,iBAAkBoL,EAAEnL,eACpB,UAAWmL,EAAElL,gBACb,iBAAkBkL,EAAEjL,sBACpB,mBAAoBiL,EAAEhL,gBACtB,YAAagL,EAAE/K,UACf,gBAAiB+K,EAAE9K,qBACnB,kBAAmB8K,EAAE7K,eACrB,yBAA0B6K,EAAE5K,sBAC5B,cAAe4K,EAAE3K,aACjB,oBAAqB2K,EAAE1K,kBACvB,YAAa0K,EAAEzK,WACf,cAAeyK,EAAExK,UACjB,SAAU+J,OAAO9K,KAAKqO,OAAOpJ,SAEjC,CAMQ,WAAA+N,GACN,MAAMzH,EAAIvL,KAAKqO,OAAO/J,MAChBmP,EAASnH,EAAG,MAAO,CACvBQ,UAAW,cAGP4G,EAAWpH,EAAG,MAAO,CACzBQ,UAAW,kBACXE,UAAWS,EAAM9K,WAGbgR,EAAWrH,EAAG,MAAO,CAAEQ,UAAW,oBACxC6G,EAASf,YAAYtG,EAAG,KAAM,CAC5BQ,UAAW,mBACXC,YAAaxB,EAAEtK,MACfoJ,GAAI,GAAGrK,KAAK2P,sBAEdgE,EAASf,YAAYtG,EAAG,IAAK,CAC3BQ,UAAW,sBACXC,YAAaxB,EAAErK,YAGjB,MAAM0S,EAAWtH,EAAG,SAAU,CAC5BQ,UAAW,eACX,aAAc,eACdqB,KAAM,SACNnB,UAAWS,EAAMC,QAKnB,OAHAkG,EAAShC,iBAAiB,QAAS,IAAM5R,KAAK0N,SAE9C+F,EAAOI,OAAOH,EAAUC,EAAUC,GAC3BH,CACT,CAMQ,aAAAR,GACN,IAAKjT,KAAK2O,cAAe,OACzB3O,KAAK2O,cAAc3B,UAAY,GAC/BhN,KAAKyP,aAAe,GAEpB,MAAMlE,EAAIvL,KAAKqO,OAAO/J,MAGtB,GAAItE,KAAKqO,OAAO7J,gBAAkBxE,KAAKqO,OAAO3L,WAAW8I,OAAS,EAAG,CACnE,MAAMsI,EAAWxH,EAAG,MAAO,CACzBQ,UAAW,WACXC,YAAaxB,EAAEpK,cACfkJ,GAAI,GAAGrK,KAAK2P,yBAEd3P,KAAK2O,cAAciE,YAAYkB,GAE/B,MAAMC,EAAUzH,EAAG,MAAO,CACxBQ,UAAW,gBACX+F,KAAM,aACN,kBAAmB,GAAG7S,KAAK2P,yBAG7B,IAAK,IAAIqE,EAAI,EAAGA,EAAIhU,KAAKqO,OAAO3L,WAAW8I,OAAQwI,IAAK,CACtD,MAAMC,EAAMjU,KAAKqO,OAAO3L,WAAWsR,GAC7BE,EAAS3I,EAAE7I,WAAsCuR,IAAQA,EACzDE,EAAWF,IAAQjU,KAAK0P,iBAExB0E,EAAM9H,EAAG,SAAU,CACvBQ,UAAW,cAAgBqH,EAAW,sBAAwB,IAC9DhG,KAAM,SACN0E,KAAM,QACN,eAAgB/H,OAAOqJ,GACvBE,SAAUF,EAAW,IAAM,OAE7BC,EAAIpH,UAAYkB,EAAgB+F,GAChCG,EAAIxB,YAAYjG,SAAS2H,eAAe,IAAMJ,IAC9CE,EAAIG,QAAQpG,KAAO8F,EAEnBG,EAAIxC,iBAAiB,QAAS,IAAM5R,KAAKwU,eAAeP,IAGxDG,EAAIxC,iBAAiB,UAAYR,IAC/B,MAAMqD,EAAMzU,KAAKyP,aAAajE,OAC9B,GAAc,eAAV4F,EAAEhO,KAAkC,cAAVgO,EAAEhO,IAAqB,CACnDgO,EAAEE,iBACF,MAAMoD,EAAO1U,KAAKyP,cAAcuE,EAAI,GAAKS,GACzCzU,KAAKwU,eAAeE,EAAKH,QAAQpG,MACjCuG,EAAK/C,OACP,MAAO,GAAc,cAAVP,EAAEhO,KAAiC,YAAVgO,EAAEhO,IAAmB,CACvDgO,EAAEE,iBACF,MAAMqD,EAAO3U,KAAKyP,cAAcuE,EAAI,EAAIS,GAAOA,GAC/CzU,KAAKwU,eAAeG,EAAKJ,QAAQpG,MACjCwG,EAAKhD,OACP,IAGF3R,KAAKyP,aAAahE,KAAK2I,GACvBL,EAAQnB,YAAYwB,EACtB,CAEApU,KAAK2O,cAAciE,YAAYmB,EACjC,CAGA,MAAMa,EAAa5U,KAAK6U,WAAW,CACjCX,MAAO3I,EAAEnK,WACT0T,YAAavJ,EAAElK,iBACf8M,KAAM,QACN4G,KAAMtH,EAAME,MACZqH,UAAU,EACV3K,GAAI,GAAGrK,KAAK2P,mBACZsF,aAAc,UAShB,GAPAjV,KAAKiP,WAAa2F,EAAWM,cAAc,SACvClV,KAAKqO,OAAO1H,eACd3G,KAAKiP,WAAW/H,MAAQlH,KAAKqO,OAAO1H,cAEtC3G,KAAK2O,cAAciE,YAAYgC,GAG3B5U,KAAKqO,OAAOtJ,cAAe,CAC7B,MAAMoQ,EAAYnV,KAAK6U,WAAW,CAChCX,MAAO3I,EAAEjK,UACTwT,YAAavJ,EAAEhK,gBACf4M,KAAM,OACN4G,KAAMtH,EAAMG,KACZoH,UAAU,EACV3K,GAAI,GAAGrK,KAAK2P,kBACZsF,aAAc,SAEhBjV,KAAKkP,UAAYiG,EAAUD,cAAc,SACrClV,KAAKqO,OAAOzH,cACd5G,KAAKkP,UAAUhI,MAAQlH,KAAKqO,OAAOzH,aAErC5G,KAAK2O,cAAciE,YAAYuC,EACjC,MACEnV,KAAKkP,UAAY,KAInB,MAAMkG,EAAepV,KAAK6U,WAAW,CACnCX,MAAO3I,EAAE/J,aACTsT,YAAavJ,EAAE9J,mBACf0M,KAAM,OACN4G,KAAMtH,EAAMI,QACZmH,UAAU,EACV3K,GAAI,GAAGrK,KAAK2P,qBACZsF,aAAc,QAEhBjV,KAAKmP,aAAeiG,EAAaF,cAAc,SAC/ClV,KAAK2O,cAAciE,YAAYwC,GAG/B,MAAMC,EAAW/I,EAAG,MAAO,CAAEQ,UAAW,aAClCwI,EAAWhJ,EAAG,QAAS,CAC3BQ,UAAW,8BACXC,YAAaxB,EAAE7J,eAEjB4T,EAASrI,aAAa,MAAO,GAAGjN,KAAK2P,kBACrC0F,EAASzC,YAAY0C,GAErBtV,KAAKoP,aAAezC,SAASC,cAAc,YAC3C5M,KAAKoP,aAAatC,UAAY,cAC9B9M,KAAKoP,aAAa/E,GAAK,GAAGrK,KAAK2P,iBAC/B3P,KAAKoP,aAAa0F,YAAcvJ,EAAE5J,mBAClC3B,KAAKoP,aAAanC,aAAa,YAAanC,OAAO9K,KAAKqO,OAAO5J,mBAC/DzE,KAAKoP,aAAanC,aAAa,gBAAiB,QAChDjN,KAAKoP,aAAanC,aAAa,mBAAoB,GAAGjN,KAAK2P,yBAC3D0F,EAASzC,YAAY5S,KAAKoP,cAG1B,MAAMmG,EAAUjJ,EAAG,MAAO,CACxBQ,UAAW,aACXzC,GAAI,GAAGrK,KAAK2P,0BAER6F,EAAalJ,EAAG,MAAO,CAAEQ,UAAW,oBAC1C9M,KAAKuP,cAAgBjD,EAAG,MAAO,CAAEQ,UAAW,qBAC5C9M,KAAKuP,cAAcgB,MAAMkF,MAAQ,KACjCD,EAAW5C,YAAY5S,KAAKuP,eAC5BvP,KAAKsP,cAAgBhD,EAAG,OAAQ,CAC9BQ,UAAW,mBACXC,YAAa,OAAO/M,KAAKqO,OAAO5J,mBAChC,YAAa,WAEf8Q,EAAQ1B,OAAO2B,EAAYxV,KAAKsP,eAChC+F,EAASzC,YAAY2C,GAGrB,MAAMG,EAAWpJ,EAAG,MAAO,CACzBQ,UAAW,WACX+F,KAAM,QACN,YAAa,WAUf,GARAwC,EAASzC,YAAY8C,GAGrB1V,KAAKoP,aAAawC,iBAAiB,QAAS,IAAM5R,KAAK2V,mBACvDN,EAASd,QAAQqB,UAAY,UAC7B5V,KAAK2O,cAAciE,YAAYyC,GAG3BrV,KAAKqO,OAAO9I,eAAgB,CAC9B,MAAMsQ,EAAgBvJ,EAAG,MAAO,CAC9BQ,UAAW,QACX,cAAe,SAEjB9M,KAAKqP,cAAgB1C,SAASC,cAAc,SAC5C5M,KAAKqP,cAAclB,KAAO,OAC1BnO,KAAKqP,cAAcpP,KAAO,UAC1BD,KAAKqP,cAAcyG,UAAW,EAC9B9V,KAAKqP,cAAc4F,aAAe,MAClCY,EAAcjD,YAAY5S,KAAKqP,eAC/BrP,KAAK2O,cAAciE,YAAYiD,EACjC,MACE7V,KAAKqP,cAAgB,KAIvBrP,KAAKwP,UAAY7C,SAASC,cAAc,UACxC5M,KAAKwP,UAAU1C,UAAY,YAC3B9M,KAAKwP,UAAUrB,KAAO,SACtBnO,KAAKwP,UAAUvC,aAAa,aAAc1B,EAAE3J,kBAC5C5B,KAAKwP,UAAUxC,UAAY,GAAGS,EAAMK,cAAcvC,EAAE3J,0BACpD5B,KAAKwP,UAAUoC,iBAAiB,QAAS,IAAM5R,KAAK+V,gBACpD/V,KAAK2O,cAAciE,YAAY5S,KAAKwP,UACtC,CAIQ,UAAAqF,CAAWmB,GASjB,MAAMC,EAAQ3J,EAAG,MAAO,CAAEQ,UAAW,aACrCmJ,EAAM1B,QAAQqB,UAAYI,EAAK3L,GAE/B,MACM6J,EAAQ5H,EAAG,QAAS,CACxBQ,UAFekJ,EAAKhB,SAAW,8BAAgC,8BAG/DjI,YAAaiJ,EAAK9B,QAEpBA,EAAMjH,aAAa,MAAO+I,EAAK3L,IAC/B4L,EAAMrD,YAAYsB,GAElB,MAAMhM,EAAUoE,EAAG,MAAO,CAAEQ,UAAW,kBACjCiI,EAAOzI,EAAG,OAAQ,CACtBQ,UAAW,sBACXE,UAAWgJ,EAAKjB,KAChB,cAAe,SAGX/I,EAAQW,SAASC,cAAc,SACrCZ,EAAMc,UAAY,WAClBd,EAAMmC,KAAO6H,EAAK7H,KAClBnC,EAAM3B,GAAK2L,EAAK3L,GAChB2B,EAAM8I,YAAckB,EAAKlB,YACzB9I,EAAMiB,aAAa,eAAgB+I,EAAKf,cACpCe,EAAKhB,WACPhJ,EAAMiB,aAAa,gBAAiB,QACpCjB,EAAMgJ,UAAW,GAInBhJ,EAAM4F,iBAAiB,QAAS,KAC9B5R,KAAKkW,gBAAgBD,KAGvB/N,EAAQ2L,OAAOkB,EAAM/I,GACrBiK,EAAMrD,YAAY1K,GAGlB,MAAMiO,EAAU7J,EAAG,MAAO,CACxBQ,UAAW,WACX+F,KAAM,QACN,YAAa,WAIf,OAFAoD,EAAMrD,YAAYuD,GAEXF,CACT,CAMQ,cAAAzB,CAAerG,GACrBnO,KAAK0P,iBAAmBvB,EACxB,IAAK,MAAMiG,KAAOpU,KAAKyP,aAAc,CACnC,MAAM0E,EAAWC,EAAIG,QAAQpG,OAASA,EACtCiG,EAAIjE,UAAUiG,OAAO,qBAAsBjC,GAC3CC,EAAInH,aAAa,eAAgBnC,OAAOqJ,IACxCC,EAAI0B,SAAW3B,EAAW,GAAI,CAChC,CACF,CAMQ,eAAAwB,GACN,IAAK3V,KAAKoP,eAAiBpP,KAAKsP,gBAAkBtP,KAAKuP,cAAe,OAEtE,MAAMkF,EAAMzU,KAAKoP,aAAalI,MAAMsE,OAC9BnF,EAAMrG,KAAKqO,OAAO5J,iBAClB4R,EAAMjQ,KAAKe,IAAKsN,EAAMpO,EAAO,IAAK,KAExCrG,KAAKuP,cAAcgB,MAAMkF,MAAQ,GAAGY,KACpCrW,KAAKsP,cAAcvC,YAAc,GAAG0H,OAASpO,IAG7CrG,KAAKuP,cAAcY,UAAU4B,OAAO,yBAA0B,4BAC1DsE,GAAO,GACTrW,KAAKuP,cAAcY,UAAUrI,IAAI,4BACxBuO,GAAO,IAChBrW,KAAKuP,cAAcY,UAAUrI,IAAI,0BAInC,MAAMuN,EAAWrV,KAAKoP,aAAakH,QAAQ,aACvCjB,GAAUrV,KAAKkW,gBAAgBb,EACrC,CAMQ,QAAAkB,GACN,MAAMhL,EAAIvL,KAAKqO,OAAO/J,MACtB,IAAIkS,GAAQ,EAGZ,QAAKxW,KAAKiP,aH5jBR,SAAuBtB,GAC3B,GAAqB,iBAAVA,EAAoB,OAAO,EACtC,MAAM8I,EAAU9I,EAAM1B,OACtB,QAAuB,IAAnBwK,EAAQjL,QAAgBiL,EAAQjL,OAAS,OAEzC,SAASY,KAAKqK,IAEhB,uIACQrK,KAAKqK,EACjB,CGojBSC,CAAa1W,KAAKiP,WAAW/H,MAAM+E,UACtCjM,KAAK2W,eAAe3W,KAAKiP,WAAY1D,EAAElJ,mBACnCmU,GAAOxW,KAAKiP,WAAW0C,QAC3B6E,GAAQ,KAILxW,KAAKmP,eACLjD,EAAWlM,KAAKmP,aAAajI,SAChClH,KAAK2W,eAAe3W,KAAKmP,aAAc5D,EAAEnJ,oBACrCoU,GAAOxW,KAAKmP,aAAawC,QAC7B6E,GAAQ,KAILxW,KAAKoP,eACLlD,EAAWlM,KAAKoP,aAAalI,OHvjBZ,iBADKA,EG4jBAlH,KAAKoP,aAAalI,QH3jBXA,EAAMsE,QG2jBYxL,KAAKqO,OAAO5J,mBAC9DzE,KAAK4W,kBAAkB5W,KAAKoP,aAAc7D,EAAEjJ,qBACxCkU,GAAOxW,KAAKoP,aAAauC,QAC7B6E,GAAQ,IANRxW,KAAK4W,kBAAkB5W,KAAKoP,aAAc7D,EAAEnJ,oBACxCoU,GAAOxW,KAAKoP,aAAauC,QAC7B6E,GAAQ,GAOHA,KHlkBL,IAAyBtP,CGmkB7B,CAEQ,cAAAyP,CAAe3K,EAAyBpM,GAC9C,MAAMqW,EAAQjK,EAAMsK,QAAQ,aAC5B,IAAKL,EAAO,OACZjK,EAAMmE,UAAUrI,IAAI,mBACpBkE,EAAMiB,aAAa,eAAgB,QACnC,MAAMkJ,EAAUF,EAAMf,cAAc,aAChCiB,IACFA,EAAQpJ,YAAcnN,EACtBuW,EAAQhG,UAAUrI,IAAI,qBAE1B,CAEQ,iBAAA8O,CAAkBC,EAA+BjX,GACvD,MAAMqW,EAAQY,EAASP,QAAQ,aAC/B,IAAKL,EAAO,OACZY,EAAS1G,UAAUrI,IAAI,sBACvB+O,EAAS5J,aAAa,eAAgB,QACtC,MAAMkJ,EAAUF,EAAMf,cAAc,aAChCiB,IACFA,EAAQpJ,YAAcnN,EACtBuW,EAAQhG,UAAUrI,IAAI,qBAE1B,CAEQ,eAAAoO,CAAgBD,GACtB,MAAMjK,EAAQiK,EAAMf,cAAc,mBAC9BlJ,IACFA,EAAMmE,UAAU4B,OAAO,kBAAmB,sBAC1C/F,EAAM8K,gBAAgB,iBAExB,MAAMX,EAAUF,EAAMf,cAAc,aAChCiB,IACFA,EAAQpJ,YAAc,GACtBoJ,EAAQhG,UAAU4B,OAAO,qBAE7B,CAMQ,QAAAE,CAAS8E,GACf/W,KAAK6O,MAAQkI,EACb/W,KAAKsO,OAAOlG,KAAK,eAAgB2O,GAEhB,SAAbA,GAAuB/W,KAAK2O,eAC9B3O,KAAKiT,eAET,CAEQ,aAAA+D,CACN7I,EACAlN,EACArB,GAEA,IAAKI,KAAK2O,cAAe,OACzB3O,KAAK2O,cAAc3B,UAAY,GAE/B,MAAMzB,EAAIvL,KAAKqO,OAAO/J,MAChB2S,EAAO3K,EAAG,MAAO,CACrBQ,UAAW,WACX+F,KAAM,SACN,YAAa,WAGTa,EAAWpH,EAAG,MAAO,CACzBQ,UAAW,kCAAkCqB,IAC7CnB,UAAoB,YAATmB,EAAqBV,EAAMtD,QAAUsD,EAAMjF,MACtD,cAAe,SAGX0O,EAAU5K,EAAG,KAAM,CACvBQ,UAAW,kBACXC,YAAa9L,IAGTkW,EAAQ7K,EAAG,IAAK,CACpBQ,UAAW,gBACXC,YAAanN,IAITwU,EAAM9H,EAAG,SAAU,CACvBQ,UAAW,gBACXqB,KAAM,SACNpB,YAJuB,YAAToB,EAAqB5C,EAAEvJ,kBAAoBuJ,EAAEpJ,kBAM7DiS,EAAIxC,iBAAiB,QAAS,KACf,YAATzD,EACFnO,KAAK0N,QAEL1N,KAAKiS,SAAS,UAIlBgF,EAAKpD,OAAOH,EAAUwD,EAASC,EAAO/C,GACtCpU,KAAK2O,cAAciE,YAAYqE,GAG/B/G,sBAAsB,IAAMkE,EAAIzC,QAClC,CAMQ,kBAAMoE,qBACZ,GAAmB,YAAf/V,KAAK6O,MAAqB,OAG9B,IAAK7O,KAAKuW,WAAY,OAGtB,GAAIvW,KAAKqO,OAAO9I,iBAAoC,QAAlBZ,EAAA3E,KAAKqP,qBAAa,IAAA1K,OAAA,EAAAA,EAAEuC,OAQpD,OANAlH,KAAKiS,SAAS,gBACdjS,KAAKgX,cACH,UACAhX,KAAKqO,OAAO/J,MAAMxC,aAClB9B,KAAKqO,OAAO/J,MAAMvC,gBAOtB,IADiBsJ,KAAKD,MAAQpL,KAAK8O,WAAa,IAClC9O,KAAKqO,OAAO5I,eAQxB,OANAzF,KAAKiS,SAAS,gBACdjS,KAAKgX,cACH,UACAhX,KAAKqO,OAAO/J,MAAMxC,aAClB9B,KAAKqO,OAAO/J,MAAMvC,gBAMtB,IAAK/B,KAAK+P,YAAY5E,aAAc,CAClC,MAAMiM,EAAapX,KAAK+P,YAAYrE,gBAC9BpD,EAAM,IAAI7I,EACd,GAAGO,KAAKqO,OAAO/J,MAAM7B,+BAA+B2U,MACpD,gBAMF,OAJApX,KAAKiS,SAAS,SACdjS,KAAKgX,cAAc,QAAShX,KAAKqO,OAAO/J,MAAMrC,WAAYqG,EAAI1I,SAC3C,QAAnBoF,GAAAH,EAAA7E,KAAKqO,QAAOvH,eAAO,IAAA9B,GAAAA,EAAAgN,KAAAnN,EAAGyD,QACtBtI,KAAKsO,OAAOlG,KAAK,QAASE,EAE5B,CAGA,MAAMQ,EAAU,CACd/E,UAAW/D,KAAKqO,OAAOtK,aACnB/D,KAAKqO,OAAOvK,OAAS,CAAEA,OAAQ9D,KAAKqO,OAAOvK,QAAW,GAC1D6J,MAAO5B,EAAmB/L,KAAKiP,WAAY/H,OAC3CjH,KAAMD,KAAKkP,WAAYnD,EAAmB/L,KAAKkP,UAAUhI,aAAsBzD,EAC/ExC,MAAO8K,EAAmB/L,KAAKmP,aAAcjI,OAC7CiH,KAAMnO,KAAK0P,iBACX2H,YAAatL,EAAmB/L,KAAKoP,aAAclI,QAIrD,IAAIlH,KAAKqO,OAAOpH,WAEC,IADAjH,KAAKqO,OAAOpH,SAAS6B,GADtC,CAIA9I,KAAKsO,OAAOlG,KAAK,SAAUU,GAG3B9I,KAAK6O,MAAQ,UACb7O,KAAKsO,OAAOlG,KAAK,eAAgB,WACjCpI,KAAKwP,UAAW8H,UAAW,EAC3BtX,KAAKwP,UAAWxC,UACd,4BAA4BS,EAAMM,wBAAwB/N,KAAKqO,OAAO/J,MAAMzC,wBAG9E,IACE,MAAMsB,QLzyBLwF,eACLE,EACAC,EACAyO,SAEA,MAAMxO,QAAEA,EAAOyO,QAAEA,GAAYD,EAC7B,IAAIE,EAAkC,KAEtC,IAAK,IAAIC,EAAU,EAAGA,GAAWF,EAASE,IAAW,CAEnD,GAAIA,EAAU,EAAG,CACf,MAAMC,EAAQvR,KAAKe,IAAI,IAAOf,KAAKwR,IAAI,EAAGF,EAAU,GAAI,WAClDjN,EAAMkN,EACd,CAEA,IAEE,aADqB/O,EAAUC,EAASC,EAASC,EAEnD,CAAE,MAAOT,GASP,GARAmP,EAAY5M,EAAgBvC,KAIP,kBAAnBmP,EAAU5X,MACS,YAAnB4X,EAAU5X,MACU,iBAAnB4X,EAAU5X,OAAgD,QAApB8E,EAAA8S,EAAU3X,kBAAU,IAAA6E,EAAAA,EAAI,IAAM,MAEnD+S,IAAYF,EAC9B,MAAMC,CAEV,CACF,CAGA,MAAMA,GAAa,IAAIhY,EAAc,gBAAiB,UACxD,CKswB2BoY,CAAa7X,KAAKqO,OAAOlK,WAAY2E,EAAS,CACjEC,QAAS/I,KAAKqO,OAAOtI,eACrByR,QAASxX,KAAKqO,OAAOpI,gBAGvBjG,KAAKiS,SAAS,WACdjS,KAAKgX,cACH,UACAhX,KAAKqO,OAAO/J,MAAMxC,aAClB9B,KAAKqO,OAAO/J,MAAMvC,gBAEC,QAArBqD,GAAAF,EAAAlF,KAAKqO,QAAOxH,iBAAS,IAAAzB,GAAAA,EAAA4M,KAAA9M,EAAG/B,GACxBnD,KAAKsO,OAAOlG,KAAK,UAAWjF,GAGxBnD,KAAKqO,OAAOlI,eAAiB,GAC/BgD,WAAW,KACU,YAAfnJ,KAAK6O,OACP7O,KAAK0N,SAEN1N,KAAKqO,OAAOlI,eAEnB,CAAE,MAAOmC,GACP,MAAMwP,EACJxP,aAAe7I,EACX6I,EACA,IAAI7I,EACF6I,aAAe5I,MAAQ4I,EAAI1I,QAAU,+BACrC,WAGRI,KAAKiS,SAAS,SAGd,IAAI8F,EAAc/X,KAAKqO,OAAO/J,MAAMpC,aACX,YAArB4V,EAAYjY,KACdkY,EAAc/X,KAAKqO,OAAO/J,MAAM9B,aACF,kBAArBsV,EAAYjY,KACrBkY,EAAc/X,KAAKqO,OAAO/J,MAAM/B,aACF,iBAArBuV,EAAYjY,KACrBkY,EAAc/X,KAAKqO,OAAO/J,MAAM7B,eACF,qBAArBqV,EAAYjY,MAA+BiY,EAAYlY,UAChEmY,EAAcD,EAAYlY,SAG5BI,KAAKgX,cAAc,QAAShX,KAAKqO,OAAO/J,MAAMrC,WAAY8V,GACvC,QAAnBvS,GAAAF,EAAAtF,KAAKqO,QAAOvH,eAAO,IAAAtB,GAAAA,EAAAwM,KAAA1M,EAAGwS,GACtB9X,KAAKsO,OAAOlG,KAAK,QAAS0P,EAC5B,CA5DA,CA6DF,QEx2BWE,EAOX,WAAArY,CAAY0O,EAAwB4J,GAN5BjY,KAAAsM,GAA+B,KAC/BtM,KAAAuO,OAA6B,KAC7BvO,KAAAwO,OAA4B,KAKlCxO,KAAKqO,OAASA,EACdrO,KAAKiY,QAAUA,CACjB,CAEA,KAAAhI,GACE,GAAIjQ,KAAKsM,GAAI,OAGbtM,KAAKuO,OAAS5B,SAASC,cAAc,OACrC5M,KAAKuO,OAAOgC,MAAMkC,QAAU,6EAA+EzS,KAAKqO,OAAOpJ,OAAS,GAChIjF,KAAKwO,OAASxO,KAAKuO,OAAOmE,aAAa,CAAEC,KAAM,SAE/C,MAAMuF,EAAMlY,KAAKqO,OAAOvJ,gBAClByG,EAAIvL,KAAKqO,OAAOhK,MAChB8T,EAAUnY,KAAKqO,OAAO7H,wBAA0B+E,EAAEpL,aAClDiY,EAAWpY,KAAKqO,OAAO5H,kBAAoB,UAC3C4R,EAAcrY,KAAKqO,OAAO3H,gBAAkB,aAE5C6J,EAAQ5D,SAASC,cAAc,SA0ErC,GAzEA2D,EAAMxD,YAAc,mFAIN,gBAARmL,EAAwB,cAAgB,iHAI5BC,sBACLC,uSAQEpY,KAAKqO,OAAOpJ,OAAS,kPASXkT,6JAOXC,yVAeA,gBAARF,EAAwB,cAAgB,+FAG3B3M,EAAEzK,4XAerBd,KAAKwO,OAAOoE,YAAYrC,GAExBvQ,KAAKsM,GAAKK,SAASC,cAAc,UACjC5M,KAAKsM,GAAGQ,UAAY,aACpB9M,KAAKsM,GAAGW,aAAa,aAAcoL,EAAc,oBACjDrY,KAAKsM,GAAGW,aAAa,OAAQ,UAEzBjN,KAAKqO,OAAO9H,eAAgB,CAC9B,MAAM+R,EAAM3L,SAASC,cAAc,OACnC0L,EAAIC,IAAMvY,KAAKqO,OAAO9H,eACtB+R,EAAIE,IAAM,UACVF,EAAIxL,UAAY,mBAChB9M,KAAKsM,GAAGsG,YAAY0F,EACtB,MACEtY,KAAKsM,GAAGU,UAAYS,EAAMO,QAG5B,MAAMyK,EAAU9L,SAASC,cAAc,QACvC6L,EAAQ3L,UAAY,oBACpB2L,EAAQ1L,YAAcsL,EACtBrY,KAAKsM,GAAGsG,YAAY6F,GAEpBzY,KAAKsM,GAAGsF,iBAAiB,QAAS5R,KAAKiY,SACvCjY,KAAKwO,OAAOoE,YAAY5S,KAAKsM,IAC7BK,SAAShD,KAAKiJ,YAAY5S,KAAKuO,OACjC,CAEA,OAAA2D,GACMlS,KAAKsM,IACPtM,KAAKsM,GAAGuF,oBAAoB,QAAS7R,KAAKiY,SAExCjY,KAAKuO,SACPvO,KAAKuO,OAAOwD,SACZ/R,KAAKuO,OAAS,KACdvO,KAAKwO,OAAS,KACdxO,KAAKsM,GAAK,KAEd,CAEA,IAAAoM,SACS,QAAP/T,EAAA3E,KAAKsM,cAAE3H,GAAAA,EAAEwL,UAAU4B,OAAO,qBAC5B,CAEA,IAAA4G,SACS,QAAPhU,EAAA3E,KAAKsM,cAAE3H,GAAAA,EAAEwL,UAAUrI,IAAI,qBACzB,CAEA,WAAAwK,CAAYnS,GACNH,KAAKsM,KACPtM,KAAKsM,GAAGiE,MAAMqI,WAAa5Y,KAAKqO,OAAO7H,wBAA0BrG,EAErE,ECtGF,IAAI0Y,EAAsB,KACtB7K,EAAgC,KAChCM,EAA8B,KAC9BwK,EAAwC,KAiBtC,SAAUC,EAAK1K,GAEfwK,GAAO3G,IAGW,oBAAXlO,QAA8C,oBAAb2I,UAK5CmM,EAAiBlV,EAAcyK,GAC/BC,EAAS,IAAIlH,EAGT0R,EAAe/R,QAAQuH,EAAO/G,GAAG,OAAQuR,EAAe/R,QACxD+R,EAAe9R,SAASsH,EAAO/G,GAAG,QAASuR,EAAe9R,SAC1D8R,EAAejS,WAAWyH,EAAO/G,GAAG,UAAWuR,EAAejS,WAC9DiS,EAAehS,SAASwH,EAAO/G,GAAG,QAASuR,EAAehS,SAG9DwH,EAAO/G,GAAG,QAAS,IAAMyG,aAAO,EAAPA,EAAS0K,QAElCG,EAAQ,IAAIzK,EAAMC,EAAQC,GAGtBwK,EAAelU,oBACjBoJ,EAAU,IAAIgK,EAAcc,EAAgB,IAAM9I,KAClDhC,EAAQiC,UArBR1H,QAAQyQ,KAAK,oEAuBjB,UAMgBhJ,IACd,IAAK6I,EACH,MAAM,IAAIpZ,EACR,+DACA,mBAGJoZ,EAAM7I,OACNhC,SAAAA,EAAS2K,MACX,UAKgBjL,IACTmL,IACLA,EAAMnL,QACNM,SAAAA,EAAS0K,OACX,UAMgBxG,IACd2G,SAAAA,EAAO3G,UACP2G,EAAQ,KACR7K,SAAAA,EAASkE,UACTlE,EAAU,KACVM,SAAAA,EAAQ7F,qBACR6F,EAAS,KACTwK,EAAiB,IACnB,CAQM,SAAUxG,EAAYjO,GAC1B,IAAKwU,EACH,MAAM,IAAIpZ,EACR,oCACA,mBAGJoZ,EAAMvG,YAAYjO,GACdA,EAAMlE,eACR6N,SAAAA,EAASsE,YAAYjO,EAAMlE,cAE/B,CAUM,SAAUoH,EACdC,EACAC,GAEA6G,SAAAA,EAAQ/G,GAAGC,EAAOC,EACpB,CAKM,SAAUM,EACdP,EACAC,GAEA6G,SAAAA,EAAQvG,IAAIP,EAAOC,EACrB,CAKM,SAAUQ,EACdT,EACAC,GAEA6G,SAAAA,EAAQrG,KAAKT,EAAOC,EACtB,UAKgBmH,UACd,OAAyB,QAAlBjK,EAAAkU,aAAK,EAALA,EAAOrG,mBAAW,IAAA7N,GAAAA,CAC3B,UAKgB4N,UACd,OAAwB,QAAjB5N,EAAAkU,aAAK,EAALA,EAAOtG,kBAAU,IAAA5N,EAAAA,EAAI,eAC9B,UAKgBsU,IACd,MAAO,OACT,CAIA,IAAAC,EAAe,CACbH,OACA/I,OACAtC,QACAwE,UACAI,cACA/K,KACAQ,MACAE,OACA2G,SACA2D,WACA0G,aACAxZ"}
|
|
1
|
+
{"version":3,"file":"chatgram-widget.umd.js","sources":["../src/core/types.ts","../src/core/config.ts","../src/core/events.ts","../src/core/api.ts","../src/core/rate-limiter.ts","../src/utils/sanitize.ts","../src/utils/dom.ts","../src/ui/icons.ts","../src/ui/modal.ts","../src/styles/widget-css.ts","../src/ui/trigger.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["ChatgramError","Error","constructor","message","code","statusCode","super","this","name","DEFAULT_THEME","primaryColor","secondaryColor","backgroundColor","headerBackgroundColor","headerTextColor","textColor","inputBackgroundColor","inputTextColor","inputPlaceholderColor","borderRadius","modalBorderRadius","fontFamily","boxShadow","DEFAULT_TEXTS","title","subtitle","categoryLabel","emailLabel","emailPlaceholder","nameLabel","namePlaceholder","subjectLabel","subjectPlaceholder","messageLabel","messagePlaceholder","submitButtonText","submittingText","successTitle","successMessage","successButtonText","errorTitle","errorMessage","errorButtonText","requiredFieldError","invalidEmailError","messageTooLongError","networkError","timeoutError","rateLimitError","categories","feedback","bug","feature","support","ALL_CATEGORIES","deepMerge","defaults","overrides","result","key","Object","keys","overrideVal","defaultVal","undefined","Array","isArray","resolveConfig","userConfig","domain","publicKey","window","location","hostname","apiBaseUrl","replace","theme","texts","defaultCategory","showCategories","maxMessageLength","clamp","_a","showTriggerButton","_b","triggerPosition","showNameField","_c","zIndex","_d","closeOnOverlayClick","_e","closeOnEscape","_f","enableHoneypot","_g","minSubmitDelay","_h","rateLimitMax","_j","rateLimitWindow","_k","requestTimeout","_l","retryAttempts","_m","autoResetDelay","Math","max","_o","triggerIconUrl","triggerBackgroundColor","triggerTextColor","triggerTooltip","defaultEmail","defaultName","onSuccess","onError","onOpen","onClose","onSubmit","value","min","EventEmitter","listeners","Map","on","event","handler","has","set","Set","get","add","off","delete","once","wrapper","data","emit","handlers","err","console","error","removeAllListeners","clear","async","doRequest","baseUrl","payload","timeout","controller","AbortController","timeoutId","setTimeout","abort","url","response","fetch","method","headers","Accept","body","JSON","stringify","signal","clearTimeout","json","ok","status","success","ticketId","id","_id","DOMException","TypeError","sleep","ms","Promise","resolve","toChatgramError","String","RateLimiter","maxRequests","windowMs","timestamps","tryConsume","now","Date","filter","t","length","push","getRetryAfter","oldest","retryMs","ceil","reset","sanitizeForPayload","input","trim","isNonEmpty","sanitizeThemeValue","test","isSafeCssValue","el","tag","attrs","children","elem","document","createElement","entries","className","textContent","innerHTML","setAttribute","FOCUSABLE_SELECTOR","join","scrollLockCount","savedScrollbarWidth","savedBodyPaddingRight","savedBodyOverflow","idCounter","ICONS","close","email","user","subject","send","spinner","trigger","warning","getCategoryIcon","type","POWERED_BY_CHATGRAM","Modal","config","events","hostEl","shadow","overlay","modalEl","bodyContainer","isOpen","state","mountTime","destroyFocusTrap","boundEscapeHandler","emailInput","nameInput","subjectInput","messageInput","honeypotInput","charCountText","charCountFill","submitBtn","categoryBtns","selectedCategory","instanceId","prefix","toString","uid","rateLimiter","open","mount","requestAnimationFrame","classList","innerWidth","documentElement","clientWidth","style","overflow","paddingRight","container","previouslyFocused","activeElement","getFocusableElements","from","querySelectorAll","getComputedStyle","display","visibility","handleKeyDown","e","focusable","preventDefault","first","last","shiftKey","contains","focus","addEventListener","removeEventListener","createFocusTrap","remove","call","setState","destroy","updateConfig","newConfig","applyTheme","updateTheme","getState","isVisible","cssText","attachShadow","mode","appendChild","role","target","stopPropagation","buildHeader","buildFormView","host","element","vars","prop","safe","setProperty","applyThemeVars","header","iconWrap","textWrap","closeBtn","append","catLabel","catGrid","i","cat","label","isActive","btn","tabindex","createTextNode","dataset","selectCategory","len","next","prev","emailField","buildField","placeholder","icon","required","autocomplete","querySelector","nameField","subjectField","msgField","msgLabel","counter","counterBar","width","msgError","updateCharCount","fieldName","honeypotField","tabIndex","handleSubmit","branding","brandLink","href","rel","opts","field","clearFieldError","errorEl","toggle","pct","closest","validate","valid","trimmed","isValidEmail","showFieldError","showTextareaError","textarea","removeAttribute","newState","showStateView","view","titleEl","msgEl","retryAfter","messageText","disabled","options","retries","lastError","attempt","delay","pow","submitTicket","chatgramErr","userMessage","TriggerButton","onClick","pos","bgColor","txtColor","tooltipText","img","src","alt","tooltip","show","hide","background","modal","resolvedConfig","init","warn","getVersion","index"],"mappings":"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"}
|
package/package.json
CHANGED