{"version":3,"file":"c3captcha.es.js","sources":["../node_modules/@lit/reactive-element/css-tag.js","../node_modules/@lit/reactive-element/reactive-element.js","../node_modules/lit-html/lit-html.js","../node_modules/lit-element/lit-element.js","../node_modules/lit-html/directive.js","../node_modules/lit-html/directives/unsafe-html.js","../node_modules/lit-html/directives/choose.js","../node_modules/lit-html/directives/when.js","../node_modules/@lit/reactive-element/decorators/custom-element.js","../node_modules/@lit/reactive-element/decorators/property.js","../node_modules/@lit/reactive-element/decorators/state.js","../node_modules/lit-html/directive-helpers.js","../node_modules/lit-html/directives/repeat.js","../src/lib/api.ts","../src/resources/help.svg","../src/resources/check.svg","../src/resources/reset.svg","../src/resources/spinner.svg","../src/captcha.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:r,getOwnPropertyNames:h,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),y={attribute:!0,type:String,converter:u,reflect:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e(this.prototype,t,r)}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...h(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f)(this[t],s))return;this.P(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.P(s,this[s],i)}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU()}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:\"open\"},b[d(\"elementProperties\")]=new Map,b[d(\"finalized\")]=new Map,p?.({ReactiveElement:b}),(a.reactiveElementVersions??=[]).push(\"2.0.4\");export{b as ReactiveElement,u as defaultConverter,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=Symbol.for(\"lit-noChange\"),T=Symbol.for(\"lit-nothing\"),A=new WeakMap,E=r.createTreeWalker(r,129);function C(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const P=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"\":\"\",c=f;for(let i=0;i\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[C(t,l+(t[s]||\"\")+(2===i?\"\":\"\")),o]};class V{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=P(t,s);if(this.el=V.createElement(f,n),E.currentNode=this.el.content,2===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=E.nextNode())&&d.length0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=T}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=N(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==w,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new M(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{z as _$LH,x as html,w as noChange,T as nothing,j as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return i}}s._$litElement$=!0,s[(\"finalized\",\"finalized\")]=!0,globalThis.litElementHydrateSupport?.({LitElement:s});const r=globalThis.litElementPolyfillSupport;r?.({LitElement:s});const o={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(globalThis.litElementVersions??=[]).push(\"4.0.6\");export{s as LitElement,o as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{nothing as t,noChange as i}from\"../lit-html.js\";import{Directive as r,PartType as s,directive as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends r{constructor(i){if(super(i),this.it=t,i.type!==s.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this._t=void 0,this.it=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.it)return this._t;this.it=r;const s=[r];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=n(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst r=(r,o,t)=>{for(const t of o)if(t[0]===r)return(0,t[1])();return t?.()};export{r as choose};\n//# sourceMappingURL=choose.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nfunction n(n,r,t){return n?r(n):t?.(n)}export{n as when};\n//# sourceMappingURL=when.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.P(o,void 0,t),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,r?{...t,wrapped:!0}:t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,n={HTML:1,SVG:2},e=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,l=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,d=o=>o?._$litDirective$,f=o=>void 0===o.strings,s=()=>document.createComment(\"\"),r=(o,i,n)=>{const e=o._$AA.parentNode,l=void 0===i?o._$AB:i._$AA;if(void 0===n){const i=e.insertBefore(s(),l),c=e.insertBefore(s(),l);n=new t(i,c,o,o.options)}else{const t=n._$AB.nextSibling,i=n._$AM,c=i!==o;if(c){let t;n._$AQ?.(o),n._$AM=o,void 0!==n._$AP&&(t=o._$AU)!==i._$AU&&n._$AP(t)}if(t!==l||c){let o=n._$AA;for(;o!==t;){const t=o.nextSibling;e.insertBefore(o,l),o=t}}}return n},v=(o,t,i=o)=>(o._$AI(t,i),o),u={},m=(o,t=u)=>o._$AH=t,p=o=>o._$AH,h=o=>{o._$AP?.(!1,!0);let t=o._$AA;const i=o._$AB.nextSibling;for(;t!==i;){const o=t.nextSibling;t.remove(),t=o}},j=o=>{o._$AR()};export{n as TemplateResultType,j as clearPart,p as getCommittedValue,d as getDirectiveClass,r as insertPart,l as isCompiledTemplateResult,c as isDirectiveResult,i as isPrimitive,f as isSingleExpression,e as isTemplateResult,h as removePart,v as setChildPartValue,m as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{noChange as e}from\"../lit-html.js\";import{directive as s,Directive as t,PartType as r}from\"../directive.js\";import{getCommittedValue as l,setChildPartValue as o,insertPart as i,removePart as n,setCommittedValue as f}from\"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst u=(e,s,t)=>{const r=new Map;for(let l=s;l<=t;l++)r.set(e[l],l);return r},c=s(class extends t{constructor(e){if(super(e),e.type!==r.CHILD)throw Error(\"repeat() can only be used in text expressions\")}dt(e,s,t){let r;void 0===t?t=s:void 0!==s&&(r=s);const l=[],o=[];let i=0;for(const s of e)l[i]=r?r(s,i):i,o[i]=t(s,i),i++;return{values:o,keys:l}}render(e,s,t){return this.dt(e,s,t).values}update(s,[t,r,c]){const d=l(s),{values:p,keys:a}=this.dt(t,r,c);if(!Array.isArray(d))return this.ut=a,p;const h=this.ut??=[],v=[];let m,y,x=0,j=d.length-1,k=0,w=p.length-1;for(;x<=j&&k<=w;)if(null===d[x])x++;else if(null===d[j])j--;else if(h[x]===a[k])v[k]=o(d[x],p[k]),x++,k++;else if(h[j]===a[w])v[w]=o(d[j],p[w]),j--,w--;else if(h[x]===a[w])v[w]=o(d[x],p[w]),i(s,v[w+1],d[x]),x++,w--;else if(h[j]===a[k])v[k]=o(d[j],p[k]),i(s,d[x],d[j]),j--,k++;else if(void 0===m&&(m=u(a,k,w),y=u(h,x,j)),m.has(h[x]))if(m.has(h[j])){const e=y.get(a[k]),t=void 0!==e?d[e]:null;if(null===t){const e=i(s,d[x]);o(e,p[k]),v[k]=e}else v[k]=o(t,p[k]),i(s,d[x],t),d[e]=null;k++}else n(d[j]),j--;else n(d[x]),x++;for(;k<=w;){const e=i(s,v[w+1]);o(e,p[k]),v[k++]=e}for(;x<=j;){const e=d[x++];null!==e&&n(e)}return this.ut=a,f(s,v),e}});export{c as repeat};\n//# sourceMappingURL=repeat.js.map\n","export const BASE_URL = import.meta.env.VITE_API_URL;\n\nexport function createApiUrl(path: string, token: string): URL {\n const url = new URL(BASE_URL + path);\n url.searchParams.set('apiToken', token);\n return url;\n}\n\nexport interface Labels {\n options: Record;\n question: string;\n buttons: {\n submit: string;\n submitted: string;\n retry: string;\n reset: string;\n help: string;\n }\n status: {\n invalid: string;\n pending: string;\n },\n info: {\n header?: string;\n text?: string;\n }[]\n}\n\nexport interface GenerateResponse extends Response {\n json(): Promise<{\n token: string;\n question: string;\n options: number[];\n labels: Labels;\n }>\n}\n\nexport function generate(language: string, apiToken: string): Promise {\n const url = createApiUrl('/generate', apiToken);\n url.searchParams.append('lang', language);\n return fetch(url, {\n cache: 'no-store',\n });\n}\n\nexport interface ValidateResponse extends Response {\n json(): Promise<{\n valid: boolean;\n error?: string;\n }>\n}\n\nexport function validate(token: string, answer: number[], apiToken: string): Promise {\n const url = createApiUrl('/validate', apiToken);\n return fetch(url, {\n method: 'POST',\n body: JSON.stringify({token, answer}),\n cache: 'no-store',\n headers: {\n 'Content-Type': 'application/json',\n }\n });\n}\n\nexport interface IconsResponse extends Response {\n json(): Promise>\n}\n\nexport async function fetchIcons(keys: T[], apiToken: string): Promise> {\n const url = createApiUrl('/images', apiToken);\n url.searchParams.set('keys', keys.join(','));\n return fetch(url, {\n cache: 'no-store',\n });\n}","export default \"\\n \\n\"","export default \"\\n \\n\"","export default \"\\n \\n\"","export default \"\\n \\n \\n \\n \\n \\n \\n \\n\"","import {css, CSSResult, html, LitElement, PropertyValues, render, unsafeCSS} from 'lit';\nimport {unsafeHTML} from 'lit/directives/unsafe-html.js';\nimport {choose} from 'lit/directives/choose.js';\nimport {when} from 'lit/directives/when.js';\nimport {customElement, property, state} from 'lit/decorators.js';\nimport {repeat} from 'lit/directives/repeat.js';\nimport {fetchIcons, generate, Labels, validate} from './lib/api';\nimport help from './resources/help.svg';\nimport check from './resources/check.svg';\nimport reset from './resources/reset.svg';\nimport spinner from './resources/spinner.svg';\n\nexport enum CaptchaState {\n Loading = 'loading',\n Pending = 'pending',\n Valid = 'valid',\n Invalid = 'invalid',\n /**\n * the broken state is used when the api seems to be broken. We allow form submissions in that case.\n */\n Broken = 'broken'\n}\n\nfunction removeFocus(e: FocusEvent) {\n (e.target as HTMLInputElement).blur();\n}\n\nfunction size(scale: number): CSSResult {\n return unsafeCSS(`calc(${scale} * var(--captcha-base-size))`);\n}\n\nfunction wait(duration: number): Promise {\n return new Promise(res => setTimeout(res, duration));\n}\n\n@customElement('c3-captcha')\nexport class Captcha extends LitElement {\n\n @property({attribute: 'api-token'})\n public apiToken!: string;\n\n @property()\n public language: string = 'en';\n\n @property({type: Boolean, reflect: true, attribute: 'info-open'})\n public infoOpen: boolean = false;\n\n @property({reflect: true, attribute: 'state'})\n private _state: CaptchaState = CaptchaState.Loading;\n\n @property({type: Boolean, reflect: true, attribute: 'validating'})\n private _validating: boolean = false;\n\n @state()\n private _token: string = '';\n\n @state()\n private _options: number[] = [];\n\n @state()\n private _question: string = '';\n\n @state()\n private _checked: number[] = [];\n\n @state()\n private _labels!: Labels;\n\n private _outsideContainer = document.createElement('div');\n\n private _onWindowClickListener = (e: PointerEvent) => this._onWindowClick(e);\n\n private static _iconCache = new Map();\n\n constructor() {\n super();\n this._outsideContainer.classList.add('c3captcha-input-container');\n this._outsideContainer.style.position = 'absolute';\n this._outsideContainer.style.height = '0';\n this._outsideContainer.style.opacity = '0';\n this._outsideContainer.style.overflow = 'hidden';\n }\n\n public connectedCallback() {\n super.connectedCallback();\n this.reset().catch(console.error);\n this.after(this._outsideContainer);\n window.addEventListener('pointerdown', this._onWindowClickListener);\n }\n\n public disconnectedCallback() {\n super.disconnectedCallback();\n window.removeEventListener('pointerdown', this._onWindowClickListener);\n }\n\n protected updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n\n if (changedProperties.has('_token')\n || changedProperties.has('_state')\n || changedProperties.has('_checked')) {\n render(\n Captcha._renderOutsideInputs(this._token, this._checked, this._state, {\n [CaptchaState.Pending]: this._labels?.status.pending,\n [CaptchaState.Invalid]: this._labels?.status.invalid\n }),\n this._outsideContainer\n );\n const height = this._outsideContainer.scrollHeight;\n this._outsideContainer.style.marginTop = `${-height}px`;\n }\n }\n\n protected render() {\n return html`\n
\n
\n
\n
\n
\n
\n\n
\n ${this._labels?.question} ${this._question}:\n \n\n
\n ${repeat(this._labels?.info ?? [], item => html`\n
\n ${when(item.header, () => html`\n

${unsafeHTML(item.header)}

\n `)}\n ${when(item.text, () => html`\n

${unsafeHTML(item.text)}

\n `)}\n
\n `)}\n
\n
\n\n
\n ${repeat(this._options, (option, idx) => html`\n this._onChange(\n idx,\n (e.target as HTMLInputElement).checked\n )}\">\n \n `)}\n
\n\n
\n ${choose(this._state, [\n [CaptchaState.Pending, () => html`\n \n \n `],\n [CaptchaState.Valid, () => html`\n \n \n ${unsafeHTML(check)}\n \n ${this._labels?.buttons.submitted}\n \n `],\n [CaptchaState.Invalid, () => html`\n \n `]\n ])}\n
\n `;\n }\n\n /**\n * renders the required inputs outside the component. This is required, because inputs inside the component are not\n * recognized by a form-element\n * @param token the token of the captcha\n * @param answer the answer of the user\n * @param state the current state of the captcha\n * @param messages the required-messages for the browser\n * @private\n */\n private static _renderOutsideInputs(\n token: string,\n answer: number[],\n state: CaptchaState,\n messages: {[CaptchaState.Pending]: string, [CaptchaState.Invalid]: string}\n ) {\n const answerToken = state === CaptchaState.Broken ? 'broken' : token;\n return html`\n \n \n {\n const input = e.target as HTMLInputElement;\n // @ts-ignore\n input.setCustomValidity(messages[state] ?? '');\n }}\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n name=\"c3captcha[blocker]\"\n value=\"${this._getStateValue(state)}\"\n required>\n `;\n }\n\n /**\n * returns the blocker value for the passed state\n * @param state state to get value for\n * @private\n */\n private static _getStateValue(state: CaptchaState): string {\n switch (state) {\n case CaptchaState.Valid:\n return 'valid';\n case CaptchaState.Broken:\n return 'broken';\n }\n return '';\n }\n\n /**\n * validates if the current captcha input is valid and returns the result as a promise.\n */\n public async validate(): Promise {\n if (this._validating || this._state === CaptchaState.Loading) {\n throw new Error('Validation is already in progress.');\n }\n\n this._validating = true;\n\n // show the loading state for at least half a second to give the user time to realise what's happening\n const [res] = await Promise.all([\n validate(this._token, this._checked, this.apiToken),\n wait(500)\n ]);\n\n if (!res.ok) {\n if (res.status >= 500) {\n this._state = CaptchaState.Broken;\n return false;\n }\n\n const ev: CaptchaValidateEvent = new CustomEvent('c3.captcha.validate', {\n detail: {\n valid: false\n }\n });\n this.dispatchEvent(ev);\n\n this._validating = false;\n this._state = CaptchaState.Invalid;\n return false;\n }\n\n const data = await res.json();\n\n if (!data.valid) {\n console.error(data.error);\n }\n\n const ev: CaptchaValidateEvent = new CustomEvent('c3.captcha.validate', {\n detail: {\n valid: data.valid\n }\n });\n this.dispatchEvent(ev);\n\n this._state = data.valid ? CaptchaState.Valid : CaptchaState.Invalid;\n this._validating = false;\n return data.valid;\n }\n\n /**\n * resets the captcha widget to its initial state\n */\n public async reset(): Promise {\n this._state = CaptchaState.Loading;\n const res = await generate(this.language, this.apiToken);\n\n if (!res.ok) {\n if (res.status >= 400) {\n this._state = CaptchaState.Broken;\n }\n\n throw new Error('Failed to generate captcha.');\n }\n\n const data = await res.json();\n\n const uniqueOptions = [...new Set(data.options)];\n const uncachedIcons = uniqueOptions.filter(key => !Captcha._iconCache.has(key));\n if (uncachedIcons.length) {\n const iconRes = await fetchIcons(uncachedIcons, this.apiToken);\n if (!iconRes.ok) {\n if (iconRes.status >= 400) {\n this._state = CaptchaState.Broken;\n }\n\n throw new Error('Failed to fetch icons.');\n }\n\n const loadedIcons = await iconRes.json();\n uncachedIcons.forEach((key) => Captcha._iconCache.set(key, loadedIcons[key]));\n }\n\n this._token = data.token;\n this._options = data.options;\n this._question = data.question;\n this._labels = data.labels;\n this._checked = [];\n this._state = CaptchaState.Pending;\n }\n\n /**\n * updates the current checked state\n * @param idx index of the checkbox to modify\n * @param checked checked state of the checkbox\n * @private\n */\n private _onChange(idx: number, checked: boolean): void {\n const set = new Set(this._checked);\n if (checked) {\n set.add(idx);\n } else {\n set.delete(idx);\n }\n this._state = CaptchaState.Pending;\n this._checked = Array.from(set);\n }\n\n /**\n * disables the info window, if the user clicks anywhere in the window that is not the captcha\n * @param e the window pointer event\n * @private\n */\n private _onWindowClick(e: PointerEvent): void {\n if (e.target !== this) {\n this.infoOpen = false;\n }\n }\n\n /**\n * adds the aria-label to the option when the user focuses it via tab-focus\n * @param e the focus event\n * @private\n */\n private _addAriaLabel(e: FocusEvent) {\n const target = e.target as HTMLInputElement;\n const key = parseInt(target.value);\n target.setAttribute('aria-label', this._labels.options[key]);\n }\n\n /**\n * removes the aria-label on tab focus\n * @param e the focus event\n * @see _addAriaLabel\n * @private\n */\n private _removeAriaLabel(e: FocusEvent) {\n const target = e.target as HTMLInputElement;\n target.removeAttribute('aria-label');\n }\n\n static styles = css`\n :host {\n --captcha-base-size: 1rem;\n\n --captcha-background: #efefef;\n\n --captcha-color-primary: #393C66;\n --captcha-color-primary-contrast: #fff;\n\n --captcha-color-error: #BF4055;\n --captcha-color-error-contrast: #fff;\n\n --captcha-color-success: #509568;\n --captcha-color-success-contrast: #fff;\n\n --captcha-color-font: #000;\n\n --captcha-option-default-background-stroke-color: #fff;\n --captcha-option-default-icon-stroke-color: #BFBFBF;\n --captcha-option-default-icon-fill-color: #F2F2F2;\n\n --captcha-option-checked-background-color: var(--captcha-color-primary);\n --captcha-option-checked-icon-stroke-color: var(--captcha-color-primary-contrast);\n --captcha-option-checked-icon-fill-color: transparent;\n\n --captcha-option-valid-background-color: var(--captcha-color-success);\n --captcha-option-valid-icon-stroke-color: var(--captcha-color-success-contrast);\n --captcha-option-valid-icon-fill-color: transparent;\n\n --captcha-option-invalid-background-color: var(--captcha-color-error);\n --captcha-option-invalid-icon-stroke-color: var(--captcha-color-error-contrast);\n --captcha-option-invalid-icon-fill-color: transparent;\n\n --captcha-option-size: ${size(3)};\n\n --captcha-spinner-size: ${size(3)};\n --captcha-spinner-color: #ababab;\n\n --captcha-padding-vertical: ${size(1.5)};\n --captcha-padding-horizontal: ${size(1)};\n\n --captcha-transition-speed-default: .3s;\n --captcha-transition-speed-focus: .1s;\n\n position: relative;\n display: inline-block;\n padding: var(--captcha-padding-vertical) var(--captcha-padding-horizontal);\n background: var(--captcha-background);\n border-radius: ${size(.5)};\n font: inherit;\n font-size: ${size(.875)};\n box-sizing: border-box;\n width: 340px;\n max-width: 100%;\n }\n\n * {\n box-sizing: border-box;\n }\n\n input[type=\"text\"],\n input[type=\"checkbox\"] {\n opacity: 0;\n width: 0;\n height: 0;\n margin: 0;\n padding: 0;\n position: absolute;\n }\n\n p {\n margin: 0;\n }\n\n .loader {\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 3;\n background: var(--captcha-background);\n border-radius: ${size(.5)};\n opacity: 0;\n visibility: hidden;\n transition: var(--captcha-transition-speed-default) opacity, var(--captcha-transition-speed-default) visibility;\n }\n\n :host([state=\"loading\"]) .loader {\n opacity: 1;\n visibility: visible;\n transition-duration: 0s;\n }\n\n .option-container {\n display: flex;\n flex-wrap: wrap;\n gap: ${size(.25)};\n margin-bottom: ${size(1)};\n min-height: var(--captcha-option-size)\n }\n\n .option {\n --_option-background-color: var(--captcha-option-default-background-stroke-color);\n --_option-icon-stroke-color: var(--captcha-option-default-icon-stroke-color);\n --_option-icon-fill-color: var(--captcha-option-default-icon-fill-color);\n position: relative;\n cursor: pointer;\n border-radius: ${size(.25)};\n width: var(--captcha-option-size);\n height: var(--captcha-option-size);\n display: flex;\n justify-content: center;\n align-items: center;\n background: #fff;\n background: var(--_option-background-color);\n transition: var(--captcha-transition-speed-focus) outline, var(--captcha-transition-speed-focus) outline-offset, var(--captcha-transition-speed-focus) background;\n }\n\n :host([state=\"${unsafeCSS(CaptchaState.Valid)}\"]) :checked + .option {\n --_option-background-color: var(--captcha-option-valid-background-color);\n --_option-icon-stroke-color: var(--captcha-option-valid-icon-stroke-color);\n --_option-icon-fill-color: var(--captcha-option-valid-icon-fill-color);\n }\n\n :host([state=\"${unsafeCSS(CaptchaState.Invalid)}\"]) :checked + .option {\n --_option-background-color: var(--captcha-option-invalid-background-color);\n --_option-icon-stroke-color: var(--captcha-option-invalid-icon-stroke-color);\n --_option-icon-fill-color: var(--captcha-option-invalid-icon-fill-color);\n }\n\n :checked + .option {\n --_option-background-color: var(--captcha-option-checked-background-color);\n --_option-icon-stroke-color: var(--captcha-option-checked-icon-stroke-color);\n --_option-icon-fill-color: var(--captcha-option-checked-icon-fill-color);\n }\n\n .option-icon {\n width: ${size(1.5)};\n height: ${size(1.5)};\n }\n\n .option-icon svg {\n width: 100%;\n height: 100%;\n }\n\n .option-icon svg * {\n stroke: var(--_option-icon-stroke-color);\n fill: var(--_option-icon-fill-color);\n transition: var(--captcha-transition-speed-focus) stroke, var(--captcha-transition-speed-focus) fill;\n }\n\n .question {\n margin-bottom: ${size(1)};\n display: flex;\n justify-content: space-between;\n gap: ${size(1)};\n align-items: center;\n position: relative;\n }\n\n .question-text {\n font-weight: 500;\n color: var(--captcha-color-primary);\n }\n\n .help-icon {\n height: ${size(1)};\n width: ${size(1)};\n padding: ${size(.5)};\n margin: ${size(-.5)};\n box-sizing: content-box;\n border-radius: 1000px;\n outline-offset: calc(${size(-.5)} - 1px);\n }\n\n .help-icon svg {\n width: 100%;\n height: 100%;\n }\n\n .help-icon:focus-visible {\n outline-offset: calc(${size(-.5)} + 2px);;\n }\n\n .info {\n position: absolute;\n top: 100%;\n width: calc(100% + (var(--captcha-padding-horizontal) * 3));\n background: var(--captcha-color-primary);\n color: var(--captcha-color-primary-contrast);\n border-radius: ${size(1)};\n padding: ${size(1)} ${size(.5)};\n z-index: 2;\n left: calc(var(--captcha-padding-horizontal) * -1.5);\n margin-top: ${size(.75)};\n opacity: 0;\n visibility: hidden;\n transform: translateY(${size(.5)});\n transition: var(--captcha-transition-speed-default) opacity, var(--captcha-transition-speed-default) visibility, var(--captcha-transition-speed-default) transform;\n }\n\n :host([info-open]) .info {\n opacity: 1;\n visibility: visible;\n transform: translateY(0);\n }\n\n .info::before {\n content: \"\";\n width: 1em;\n height: 1em;\n transform: rotate(45deg);\n background: var(--captcha-color-primary);\n display: block;\n right: ${size(1.55)};\n top: -.4em;\n position: absolute;\n }\n\n .info-section {\n position: relative;\n }\n\n .info-section + .info-section {\n padding-top: ${size(1.5)};\n }\n\n .info-section + .info-section::before {\n content: \"\";\n position: absolute;\n left: 0;\n top: ${size(.75)};\n width: 100%;\n height: 1px;\n background: currentColor;\n opacity: .1;\n }\n\n .info-section-header {\n margin-bottom: ${size(.5)};\n }\n\n .info-section-text {\n font-size: ${10 / 14}em;\n opacity: .6;\n line-height: 1.4;\n }\n\n .info-section-text a {\n color: currentColor;\n }\n\n .btn-container {\n min-height: ${size(2)};\n display: flex;\n gap: ${size(.5)};\n }\n\n button {\n font: inherit;\n border: none;\n background: none;\n cursor: pointer;\n padding: 0;\n }\n\n .btn {\n padding: 0 ${size(.875)};\n height: ${size(2)};\n border-radius: 1000px;\n display: inline-flex;\n align-items: center;\n background: #fff;\n color: currentColor;\n gap: ${size(.25)};\n font-weight: 500;\n }\n\n .btn span:not(.btn-icon) {\n padding-right: ${size(.5)};\n }\n\n .btn-primary {\n color: var(--captcha-color-primary-contrast);\n background-color: var(--captcha-color-primary);\n }\n\n .btn-success {\n color: var(--captcha-color-success);\n }\n\n .btn-reset {\n color: var(--captcha-color-primary);\n }\n\n .btn-icon {\n width: ${size(1.25)};\n height: ${size(1.25)};\n display: block;\n }\n\n .btn-icon svg {\n width: 100%;\n height: 100%;\n }\n\n .btn-icon path {\n fill: currentColor;\n }\n\n button,\n .option {\n outline: 2px solid transparent;\n outline-offset: -1px;\n }\n\n button {\n transition: var(--captcha-transition-speed-focus) outline, var(--captcha-transition-speed-focus) outline-offset;\n }\n \n button[disabled] {\n opacity: .6;\n }\n\n button:focus-visible,\n :focus-visible + .option {\n outline-color: var(--captcha-color-font);\n outline-offset: 2px;\n }\n\n .spinner {\n width: var(--captcha-spinner-size);\n height: var(--captcha-spinner-size);\n position: relative;\n }\n\n .double-bounce1, .double-bounce2 {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: var(--captcha-spinner-color);\n opacity: 0.6;\n position: absolute;\n top: 0;\n left: 0;\n\n -webkit-animation: sk-bounce 2.0s infinite ease-in-out;\n animation: sk-bounce 2.0s infinite ease-in-out;\n }\n\n .double-bounce2 {\n -webkit-animation-delay: -1.0s;\n animation-delay: -1.0s;\n }\n\n @keyframes sk-bounce {\n 0%, 100% {\n transform: scale(0.0);\n }\n 50% {\n transform: scale(1.0);\n }\n }\n `;\n}\n\nexport type CaptchaValidateEvent = CustomEvent<{valid: boolean}>\n\nexport interface CaptchaEventMap {\n 'c3.captcha.validate': CaptchaValidateEvent;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'c3-captcha': Captcha;\n }\n\n interface Captcha {\n addEventListener(\n type: K,\n listener: (this: Captcha, ev: CaptchaEventMap[K]) => void\n ): void;\n }\n}"],"names":["t","e","s","o","n$4","r","n","i","S","c","h","a","l","p","d","u","f","y","b","_a","v","_","m","g","$","x","w","T","A","E","C","P","V","k","H","I","R","N","_b","M","L","z","h$1","Z","j","s$1","BASE_URL","createApiUrl","path","token","url","generate","language","apiToken","validate","answer","fetchIcons","keys","help","check","reset","spinner","CaptchaState","removeFocus","size","scale","unsafeCSS","wait","duration","res","Captcha","LitElement","changedProperties","render","height","_c","html","unsafeHTML","repeat","item","when","option","idx","choose","state","messages","ev","data","uncachedIcons","key","iconRes","loadedIcons","checked","set","target","css","__decorateClass","property","customElement"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12]}