vendor: 4,238 bytes, lines 1-9
1(function(d,z){typeof exports=="object"&&typeof module<"u"?z(exports):typeof define=="function"&&define.amd?define(["exports"],z):(d=typeof globalThis<"u"?globalThis:d||self,z(d.SponsorshipForm={}))})(this,function(d){"use strict";/** 2 * @license 3 * Copyright 2019 Google LLC 4 * SPDX-License-Identifier: BSD-3-Clause 5 */var Oe;const z=globalThis,te=z.ShadowRoot&&(z.ShadyCSS===void 0||z.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,oe=Symbol(),he=new WeakMap;let ue=class{constructor(e,t,o){if(this._$cssResult$=!0,o!==oe)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(te&&e===void 0){const o=t!==void 0&&t.length===1;o&&(e=he.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),o&&he.set(t,e))}return e}toString(){return this.cssText}};const Ve=a=>new ue(typeof a=="string"?a:a+"",void 0,oe),q=(a,...e)=>{const t=a.length===1?a[0]:e.reduce((o,r,i)=>o+(s=>{if(s._$cssResult$===!0)return s.cssText;if(typeof s=="number")return s;throw Error("Value passed to 'css' function must be a 'css' function result: "+s+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+a[i+1],a[0]);return new ue(t,a,oe)},Be=(a,e)=>{if(te)a.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const t of e){const o=document.createElement("style"),r=z.litNonce;r!==void 0&&o.setAttribute("nonce",r),o.textContent=t.cssText,a.appendChild(o)}},me=te?a=>a:a=>a instanceof CSSStyleSheet?(e=>{let t="";for(const o of e.cssRules)t+=o.cssText;return Ve(t)})(a):a;/** 6 * @license 7 * Copyright 2017 Google LLC 8 * SPDX-License-Identifier: BSD-3-Clause 9 */const{is:Ue,defineProperty:Ke,getOwnPropertyDescriptor:Ge,getOwnPropertyNames:He,getOwnPropertySymbols:Ye,getPrototypeOf:qe}=Object,w=globalThis,ve=w.trustedTypes,Je=ve?ve.emptyScript:"",re=w.reactiveElementPolyfillSupport,F=(a,e)=>a,J={toAttribute(a,e){switch(e){case Boolean:a=a?Je:null;break;case Object:case Array:a=a==null?a:JSON.stringify(a)}return a},fromAttribute(a,e){let t=a;switch(e){case Boolean:t=a!==null;break;case Number:t=a===null?null:Number(a);break;case Object:case Array:try{t=JSON.parse(a)}catch{t=null}}return t}},ae=(a,e)=>!Ue(a,e),ge={attribute:!0,type:String,converter:J,reflect:!1,useDefault:!1,hasChanged:ae};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),w.litPropertyMetadata??(w.litPropertyMetadata=new WeakMap);let M=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??(this.l=[])).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=ge){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){const o=Symbol(),r=this.getPropertyDescriptor(e,o,t);r!==void 0&&Ke(this.prototype,e,r)}}static getPropertyDescriptor(e,t,o){const{get:r,set:i}=Ge(this.prototype,e)??{get(){return this[t]},set(s){this[t]=s}};return{get:r,set(s){const h=r==null?void 0:r.call(this);i==null||i.call(this,s),this.requestUpdate(e,h,o)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??ge}static _$Ei(){if(this.hasOwnProperty(F("elementProperties")))return;const e=qe(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(F("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(F("properties"))){const t=this.properties,o=[...He(t),...Ye(t)];for(const r of o)this.createProperty(r,t[r])}const e=this[Symbol.metadata];if(e!==null){const t=litPropertyMetadata.get(e);if(t!==void 0)for(const[o,r]of t)this.elementProperties.set(o,r)}this._$Eh=new Map;for(const[t,o]of this.elementProperties){const r=this._$Eu(t,o);r!==void 0&&this._$Eh.set(r,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const o=new Set(e.flat(1/0).reverse());for(const r of o)t.unshift(me(r))}else e!==void 0&&t.push(me(e));return t}static _$Eu(e,t){const o=t.attribute;
vendor: 9,406 bytes, lines 9-15
9return o===!1?void 0:typeof o=="string"?o:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var e;this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),(e=this.constructor.l)==null||e.forEach(t=>t(this))}addController(e){var t;(this._$EO??(this._$EO=new Set)).add(e),this.renderRoot!==void 0&&this.isConnected&&((t=e.hostConnected)==null||t.call(e))}removeController(e){var t;(t=this._$EO)==null||t.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const o of t.keys())this.hasOwnProperty(o)&&(e.set(o,this[o]),delete this[o]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Be(e,this.constructor.elementStyles),e}connectedCallback(){var e;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(e=this._$EO)==null||e.forEach(t=>{var o;return(o=t.hostConnected)==null?void 0:o.call(t)})}enableUpdating(e){}disconnectedCallback(){var e;(e=this._$EO)==null||e.forEach(t=>{var o;return(o=t.hostDisconnected)==null?void 0:o.call(t)})}attributeChangedCallback(e,t,o){this._$AK(e,o)}_$ET(e,t){var i;const o=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,o);if(r!==void 0&&o.reflect===!0){const s=(((i=o.converter)==null?void 0:i.toAttribute)!==void 0?o.converter:J).toAttribute(t,o.type);this._$Em=e,s==null?this.removeAttribute(r):this.setAttribute(r,s),this._$Em=null}}_$AK(e,t){var i,s;const o=this.constructor,r=o._$Eh.get(e);if(r!==void 0&&this._$Em!==r){const h=o.getPropertyOptions(r),c=typeof h.converter=="function"?{fromAttribute:h.converter}:((i=h.converter)==null?void 0:i.fromAttribute)!==void 0?h.converter:J;this._$Em=r;const v=c.fromAttribute(t,h.type);this[r]=v??((s=this._$Ej)==null?void 0:s.get(r))??v,this._$Em=null}}requestUpdate(e,t,o){var r;if(e!==void 0){const i=this.constructor,s=this[e];if(o??(o=i.getPropertyOptions(e)),!((o.hasChanged??ae)(s,t)||o.useDefault&&o.reflect&&s===((r=this._$Ej)==null?void 0:r.get(e))&&!this.hasAttribute(i._$Eu(e,o))))return;this.C(e,t,o)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,t,{useDefault:o,reflect:r,wrapped:i},s){o&&!(this._$Ej??(this._$Ej=new Map)).has(e)&&(this._$Ej.set(e,s??t??this[e]),i!==!0||s!==void 0)||(this._$AL.has(e)||(this.hasUpdated||o||(t=void 0),this._$AL.set(e,t)),r===!0&&this._$Em!==e&&(this._$Eq??(this._$Eq=new Set)).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var o;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[i,s]of this._$Ep)this[i]=s;this._$Ep=void 0}const r=this.constructor.elementProperties;if(r.size>0)for(const[i,s]of r){const{wrapped:h}=s,c=this[i];h!==!0||this._$AL.has(i)||c===void 0||this.C(i,void 0,s,c)}}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),(o=this._$EO)==null||o.forEach(r=>{var i;return(i=r.hostUpdate)==null?void 0:i.call(r)}),this.update(t)):this._$EM()}catch(r){throw e=!1,this._$EM(),r}e&&this._$AE(t)}willUpdate(e){}_$AE(e){var t;(t=this._$EO)==null||t.forEach(o=>{var r;return(r=o.hostUpdated)==null?void 0:r.call(o)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&(this._$Eq=this._$Eq.forEach(t=>this._$ET(t,this[t]))),this._$EM()}updated(e){}firstUpdated(e){}};M.elementStyles=[],M.shadowRootOptions={mode:"open"},M[F("elementProperties")]=new Map,M[F("finalized")]=new Map,re==null||re({ReactiveElement:M}),(w.reactiveElementVersions??(w.reactiveElementVersions=[])).push("2.1.1");/** 10 * @license 11 * Copyright 2017 Google LLC 12 * SPDX-License-Identifier: BSD-3-Clause 13 */const R=globalThis,Z=R.trustedTypes,be=Z?Z.createPolicy("lit-html",{createHTML:a=>a}):void 0,fe="$lit$",P=`lit$${Math.random().toFixed(9).slice(2)}$`,je="?"+P,Ze=`<${je}>`,x=document,V=()=>x.createComment(""),B=a=>a===null||typeof a!="object"&&typeof a!="function",ie=Array.isArray,We=a=>ie(a)||typeof(a==null?void 0:a[Symbol.iterator])=="function",se=`[ 14\f\r]`,U=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ke=/-->/g,ye=/>/g,A=RegExp(`>|${se}(?:([^\\s"'>=/]+)(${se}*=${se}*(?:[^ 15\f\r"'\`<>=]|("|')|))|$)`,"g"),$e=/'/g,Se=/"/g,_e=/^(?:script|style|textarea|title)$/i,Xe=a=>(e,...t)=>({_$litType$:a,strings:e,values:t}),l=Xe(1),C=Symbol.for("lit-noChange"),p=Symbol.for("lit-nothing"),ze=new WeakMap,T=x.createTreeWalker(x,129);function we(a,e){if(!ie(a)||!a.hasOwnProperty("raw"))throw Error("invalid template strings array");return be!==void 0?be.createHTML(e):e}const Qe=(a,e)=>{const t=a.length-1,o=[];let r,i=e===2?"<svg>":e===3?"<math>":"",s=U;for(let h=0;h<t;h++){const c=a[h];let v,g,m=-1,$=0;for(;$<c.length&&(s.lastIndex=$,g=s.exec(c),g!==null);)$=s.lastIndex,s===U?g[1]==="!--"?s=ke:g[1]!==void 0?s=ye:g[2]!==void 0?(_e.test(g[2])&&(r=RegExp("</"+g[2],"g")),s=A):g[3]!==void 0&&(s=A):s===A?g[0]===">"?(s=r??U,m=-1):g[1]===void 0?m=-2:(m=s.lastIndex-g[2].length,v=g[1],s=g[3]===void 0?A:g[3]==='"'?Se:$e):s===Se||s===$e?s=A:s===ke||s===ye?s=U:(s=A,r=void 0);const S=s===A&&a[h+1].startsWith("/>")?" ":"";i+=s===U?c+Ze:m>=0?(o.push(v),c.slice(0,m)+fe+c.slice(m)+P+S):c+P+(m===-2?h:S)}return[we(a,i+(a[t]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),o]};class K{constructor({strings:e,_$litType$:t},o){let r;this.parts=[];let i=0,s=0;const h=e.length-1,c=this.parts,[v,g]=Qe(e,t);if(this.el=K.createElement(v,o),T.currentNode=this.el.content,t===2||t===3){const m=this.el.content.firstChild;m.replaceWith(...m.childNodes)}for(;(r=T.nextNode())!==null&&c.length<h;){if(r.nodeType===1){if(r.hasAttributes())for(const m of r.getAttributeNames())if(m.endsWith(fe)){const $=g[s++],S=r.getAttribute(m).split(P),O=/([.?@])?(.*)/.exec($);c.push({type:1,index:i,name:O[2],strings:S,ctor:O[1]==="."?tt:O[1]==="?"?ot:O[1]==="@"?rt:W}),r.removeAttribute(m)}else m.startsWith(P)&&(c.push({type:6,index:i}),r.removeAttribute(m));if(_e.test(r.tagName)){const m=r.textContent.split(P),$=m.length-1;if($>0){r.textContent=Z?Z.emptyScript:"";for(let S=0;S<$;S++)r.append(m[S],V()),T.nextNode(),c.push({type:2,index:++i});r.append(m[$],V())}}}else if(r.nodeType===8)if(r.data===je)c.push({type:2,index:i});else{let m=-1;for(;(m=r.data.indexOf(P,m+1))!==-1;)c.push({type:7,index:i}),m+=P.length-1}i++}}static createElement(e,t){const o=x.createElement("template");return o.innerHTML=e,o}}function I(a,e,t=a,o){var s,h;if(e===C)return e;let r=o!==void 0?(s=t._$Co)==null?void 0:s[o]:t._$Cl;const i=B(e)?void 0:e._$litDirective$;return(r==null?void 0:r.constructor)!==i&&((h=r==null?void 0:r._$AO)==null||h.call(r,!1),i===void 0?r=void 0:(r=new i(a),r._$AT(a,t,o)),o!==void 0?(t._$Co??(t._$Co=[]))[o]=r:t._$Cl=r),r!==void 0&&(e=I(a,r._$AS(a,e.values),r,o)),e}class et{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:t},parts:o}=this._$AD,r=((e==null?void 0:e.creationScope)??x).importNode(t,!0);T.currentNode=r;let i=T.nextNode(),s=0,h=0,c=o[0];for(;c!==void 0;){if(s===c.index){let v;c.type===2?v=new G(i,i.nextSibling,this,e):c.type===1?v=new c.ctor(i,c.name,c.strings,this,e):c.type===6&&(v=new at(i,this,e)),this._$AV.push(v),c=o[++h]}s!==(c==null?void 0:c.index)&&(i=T.nextNode(),s++)}return T.currentNode=x,r}p(e){let t=0;for(const o of this._$AV)o!==void 0&&(o.strings!==void 0?(o._$AI(e,o,t),t+=o.strings.length-2):o._$AI(e[t])),t++}}class G{get _$AU(){var e;return((e=this._$AM)==null?void 0:e._$AU)??this._$Cv}constructor(e,t,o,r){this.type=2,this._$AH=p,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=o,this.options=r,this._$Cv=(r==null?void 0:r.isConnected)??!0}get parentNode(){let e=this._$AA.parentNode;const t=this._$AM;return t!==void 0&&(e==null?void 0:e.nodeType)===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=I(this,e,t),B(e)?e===p||e==null||e===""?(this._$AH!==p&&this._$AR(),this._$AH=p):e!==this._$AH&&e!==C&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):We(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==p&&B(this._$AH)?this._$AA.nextSibling.data=e:this.T(x.createTextNode(e)),this._$AH=e}$(e){var i;const{values:t,_$litType$:o}=e,r=typeof o=="number"?this._$AC(e):(o.el===void 0&&(o.el=K.createElement(we(o.h,o.h[0]),this.options)),o);if(((i=this._$AH)==null?void 0:i._$AD)===r)this._$AH.p(t);else{const s=new et(r,this),h=s.u(this.options);s.p(t),this.T(h),this._$AH=s}}_$AC(e){let t=ze.get(e.strings);return t===void 0&&ze.set(e.strings,t=new K(e)),t}k(e){ie(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let o,r=0;for(const i of e)r===t.length?t.push(o=new G(this.O(V()),this.O(V()),this,this.options)):o=t[r],o._$AI(i),r++;r<t.length&&(this._$AR(o&&o._$AB.nextSibling,r),t.length=r)}_$AR(e=this._$AA.nextSibling,t){var o;
vendor: 1,231 bytes, line 15
15for((o=this._$AP)==null?void 0:o.call(this,!1,!0,t);e!==this._$AB;){const r=e.nextSibling;e.remove(),e=r}}setConnected(e){var t;this._$AM===void 0&&(this._$Cv=e,(t=this._$AP)==null||t.call(this,e))}}class W{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,o,r,i){this.type=1,this._$AH=p,this._$AN=void 0,this.element=e,this.name=t,this._$AM=r,this.options=i,o.length>2||o[0]!==""||o[1]!==""?(this._$AH=Array(o.length-1).fill(new String),this.strings=o):this._$AH=p}_$AI(e,t=this,o,r){const i=this.strings;let s=!1;if(i===void 0)e=I(this,e,t,0),s=!B(e)||e!==this._$AH&&e!==C,s&&(this._$AH=e);else{const h=e;let c,v;for(e=i[0],c=0;c<i.length-1;c++)v=I(this,h[o+c],t,c),v===C&&(v=this._$AH[c]),s||(s=!B(v)||v!==this._$AH[c]),v===p?e=p:e!==p&&(e+=(v??"")+i[c+1]),this._$AH[c]=v}s&&!r&&this.j(e)}j(e){e===p?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class tt extends W{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===p?void 0:e}}class ot extends W{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==p)}}class rt extends W{constructor(e,t,o,r,i){super(e,t,o,r,i),this.type=5}
vendor: 4,832 bytes, lines 15-39
15_$AI(e,t=this){if((e=I(this,e,t,0)??p)===C)return;const o=this._$AH,r=e===p&&o!==p||e.capture!==o.capture||e.once!==o.once||e.passive!==o.passive,i=e!==p&&(o===p||r);r&&this.element.removeEventListener(this.name,this,o),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){var t;typeof this._$AH=="function"?this._$AH.call(((t=this.options)==null?void 0:t.host)??this.element,e):this._$AH.handleEvent(e)}}class at{constructor(e,t,o){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=o}get _$AU(){return this._$AM._$AU}_$AI(e){I(this,e)}}const ne=R.litHtmlPolyfillSupport;ne==null||ne(K,G),(R.litHtmlVersions??(R.litHtmlVersions=[])).push("3.3.1");const it=(a,e,t)=>{const o=(t==null?void 0:t.renderBefore)??e;let r=o._$litPart$;if(r===void 0){const i=(t==null?void 0:t.renderBefore)??null;o._$litPart$=r=new G(e.insertBefore(V(),i),i,void 0,t??{})}return r._$AI(a),r};/** 16 * @license 17 * Copyright 2017 Google LLC 18 * SPDX-License-Identifier: BSD-3-Clause 19 */const L=globalThis;let E=class extends M{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t;const e=super.createRenderRoot();return(t=this.renderOptions).renderBefore??(t.renderBefore=e.firstChild),e}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=it(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),(e=this._$Do)==null||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._$Do)==null||e.setConnected(!1)}render(){return C}};E._$litElement$=!0,E.finalized=!0,(Oe=L.litElementHydrateSupport)==null||Oe.call(L,{LitElement:E});const le=L.litElementPolyfillSupport;le==null||le({LitElement:E}),(L.litElementVersions??(L.litElementVersions=[])).push("4.2.1");/** 20 * @license 21 * Copyright 2017 Google LLC 22 * SPDX-License-Identifier: BSD-3-Clause 23 */const X=a=>(e,t)=>{t!==void 0?t.addInitializer(()=>{customElements.define(a,e)}):customElements.define(a,e)};/** 24 * @license 25 * Copyright 2017 Google LLC 26 * SPDX-License-Identifier: BSD-3-Clause 27 */const st={attribute:!0,type:String,converter:J,reflect:!1,hasChanged:ae},nt=(a=st,e,t)=>{const{kind:o,metadata:r}=t;let i=globalThis.litPropertyMetadata.get(r);if(i===void 0&&globalThis.litPropertyMetadata.set(r,i=new Map),o==="setter"&&((a=Object.create(a)).wrapped=!0),i.set(t.name,a),o==="accessor"){const{name:s}=t;return{set(h){const c=e.get.call(this);e.set.call(this,h),this.requestUpdate(s,c,a)},init(h){return h!==void 0&&this.C(s,void 0,a,h),h}}}if(o==="setter"){const{name:s}=t;return function(h){const c=this[s];e.call(this,h),this.requestUpdate(s,c,a)}}throw Error("Unsupported decorator location: "+o)};function k(a){return(e,t)=>typeof t=="object"?nt(a,e,t):((o,r,i)=>{const s=r.hasOwnProperty(i);return r.constructor.createProperty(i,o),s?Object.getOwnPropertyDescriptor(r,i):void 0})(a,e,t)}/** 28 * @license 29 * Copyright 2017 Google LLC 30 * SPDX-License-Identifier: BSD-3-Clause 31 */function j(a){return k({...a,state:!0,attribute:!1})}/** 32 * @license 33 * Copyright 2017 Google LLC 34 * SPDX-License-Identifier: BSD-3-Clause 35 */const lt={ATTRIBUTE:1},ct=a=>(...e)=>({_$litDirective$:a,values:e});class pt{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,o){this._$Ct=e,this._$AM=t,this._$Ci=o}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}/** 36 * @license 37 * Copyright 2018 Google LLC 38 * SPDX-License-Identifier: BSD-3-Clause 39 */const u=ct(class extends pt{constructor(a){var e;if(super(a),a.type!==lt.ATTRIBUTE||a.name!=="class"||((e=a.strings)==null?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(a){return" "+Object.keys(a).filter(e=>a[e]).join(" ")+" "}update(a,[e]){var o,r;if(this.st===void 0){this.st=new Set,a.strings!==void 0&&(this.nt=new Set(a.strings.join(" ").split(/\s/).filter(i=>i!=="")));for(const i in e)e[i]&&!((o=this.nt)!=null&&o.has(i))&&this.st.add(i);return this.render(e)}const t=a.element.classList;for(const i of this.st)i in e||(t.remove(i),this.st.delete(i));for(const i in e){const s=!!e[i];s===this.st.has(i)||(r=this.nt)!=null&&r.has(i)||(s?(t.add(i),this.st.add(i)):(t.remove(i),this.st.delete(i)))}return C}});var f=(a=>(a[a.TYPE_SELECTION=0]="TYPE_SELECTION",a[a.APPLICANT_DATA=1]="APPLICANT_DATA",a[a.PROJECT_DETAILS=2]="PROJECT_DETAILS",a))(f||{}),y=(a=>(a.PHYSICAL="physical",a.LEGAL="legal",a))(y||{}),_=(a=>(a.SPONSORSHIP="sponzorstvo",a.DONATION="donacija",a))(_||{});const Pe={1e3:"Ljubljana",1001:"Ljubljana - poštni predali",1210:"Ljubljana Šentvid",1211:"Ljubljana-Šmartno",1215:"Medvode",1216:"Smlednik",1217:"Vodice",1218:"Komenda",1219:"Laze v Tuhinju",1221:"Motnik",1222:"Trojane",1223:"Blagov
39ica",1225:"Lukovica",1230:"Domžale",1231:"Ljubljana ÄrnuÄe",1233:"Dob",1234:"MengeÅ¡",1235:"Radomlje",1236:"Trzin",1241:"Kamnik",1242:"Stahovica",1251:"MoravÄe",1252:"VaÄe",1260:"Ljubljana Polje",1261:"Ljubljana-Dobrunje",1262:"Dol pri Ljubljani",1270:"Litija",1272:"PolÅ¡nik",1273:"Dole pri Litiji",1274:"Gabrovka",1275:"Å martno pri Litiji",1276:"Primskovo",1281:"Kresnice",1282:"Sava",1290:"Grosuplje",1291:"Å kofljica",1292:"Ig",1293:"Å marje-Sap",1294:"ViÅ¡nja Gora",1295:"IvanÄna Gorica",1296:"Å entvid pri StiÄni",1301:"Krka",1303:"Zagradec",1310:"Ribnica",1311:"Turjak",1312:"Videm-Dobrepolje",1313:"Struge",1314:"Rob",1315:"Velike LaÅ¡Äe",1316:"Ortnek",1317:"Sodražica",1318:"LoÅ¡ki Potok",1319:"Draga",1330:"KoÄevje",1331:"Dolenja vas",1332:"Stara Cerkev",1336:"Vas",1337:"Osilnica",1338:"KoÄevska Reka",1351:"Brezovica pri Ljubljani",1352:"Preserje",1353:"Borovnica",1354:"Horjul",1355:"Polhov Gradec",1356:"Dobrova",1357:"Notranje Gorice",1358:"Log pri Brezovici",1360:"Vrhnika",1370:"Logatec",1371:"Logatec",1372:"HotedrÅ¡ica",1373:"Rovte",1380:"Cerknica",1381:"Rakek",1382:"Begunje pri Cerknici",1384:"Grahovo",1385:"Nova vas",1386:"Stari trg pri Ložu",1410:"Zagorje ob Savi",1411:"Izlake",1412:"Kisovec",1413:"ÄemÅ¡enik",1414:"Podkum",1420:"Trbovlje",1423:"Dobovec",1430:"Hrastnik",1431:"Dol pri Hrastniku",1432:"Zidani Most",1433:"RadeÄe",1434:"Loka pri Zidanem Mostu",1500:"Ljubljana",1501:"Ljubljana",1502:"Ljubljana",1503:"Ljubljana",1504:"Ljubljana",1505:"Ljubljana",1506:"Ljubljana",1507:"Ljubljana",1508:"Ljubljana",1509:"Ljubljana",1510:"Ljubljana",1511:"Ljubljana",1512:"Ljubljana",1513:"Ljubljana",1514:"Ljubljana",1516:"Ljubljana",1517:"Ljubljana",1518:"Ljubljana",1519:"Ljubljana",1520:"Ljubljana",1521:"Ljubljana",1522:"Ljubljana",1523:"Ljubljana",1524:"Ljubljana",1525:"Ljubljana",1526:"Ljubljana",1527:"Ljubljana",1528:"Ljubljana",1529:"Ljubljana",1532:"Ljubljana",1533:"Ljubljana",1534:"Ljubljana",1535:"Ljubljana",1536:"Ljubljana",1537:"Ljubljana",1538:"Ljubljana",1540:"Ljubljana",1542:"Ljubljana",1543:"Ljubljana",1544:"Ljubljana",1545:"Ljubljana",1546:"Ljubljana",1547:"Ljubljana",1550:"Ljubljana",1600:"Ljubljana",2e3:"Maribor",2001:"Maribor - poÅ¡tni predali",2201:"Zgornja Kungota",2204:"Miklavž na Dravskem polju",2205:"StarÅ¡e",2206:"Marjeta na Dravskem polju",2208:"Pohorje",2211:"Pesnica pri Mariboru",2212:"Å entilj v Slovenskih goricah",2213:"Zgornja Velka",2214:"Sladki Vrh",2215:"CerÅ¡ak",2221:"Jarenina",2222:"Jakobski Dol",2223:"Jurovski Dol",2229:"MaleÄnik",2230:"Lenart v Slovenskih goricah",2231:"Pernica",2232:"VoliÄina",2233:"Sv. Ana v Slovenskih goricah",2234:"Benedikt",2235:"Sv. Trojica v Slovenskih goricah",2236:"Cerkvenjak",2241:"Spodnji Duplek",2242:"Zgornja Korena",2250:"Ptuj",2252:"Dornava",2253:"Destrnik",2254:"Trnovska vas",2255:"Vitomarci",2256:"JurÅ¡inci",2257:"PolenÅ¡ak",2258:"Sveti Tomaž",2259:"Ivanjkovci",2270:"Ormož",2272:"GoriÅ¡nica",2273:"Podgorci",2274:"Velika Nedelja",2275:"Miklavž pri Ormožu",2276:"Kog",2277:"SrediÅ¡Äe ob Dravi",2281:"Markovci",2282:"Cirkulane",2283:"ZavrÄ",2284:"Videm pri Ptuju",2285:"Zgornji Leskovec",2286:"Podlehnik",2287:"Žetale",2288:"Hajdina",2289:"Stoperce",2310:"Slovenska Bistrica",2311:"HoÄe",2312:"Orehova vas",2313:"Fram",2314:"Zgornja Polskava",2315:"Å martno na Pohorju",2316:"Zgornja Ložnica",2317:"Oplotnica",2318:"Laporje",2319:"PoljÄane",2321:"Makole",2322:"MajÅ¡perk",2323:"Ptujska Gora",2324:"Lovrenc na Dravskem polju",2325:"KidriÄevo",2326:"Cirkovce",2327:"RaÄe",2331:"Pragersko",2341:"LimbuÅ¡",2342:"RuÅ¡e",2343:"Fala",2344:"Lovrenc na Pohorju",2345:"Bistrica ob Dravi",2351:"Kamnica",2352:"Selnica ob Dravi",2353:"Sv. Duh na Ostrem Vrhu",2354:"Bresternica",2360:"Radlje ob Dravi",2361:"Ožbalt",2362:"Kapla",2363:"Podvelka",2364:"Ribnica na Pohorju",2365:"Vuhred",2366:"Muta",2367:"Vuzenica",2370:"Dravograd",2371:"Trbonje",2372:"LibeliÄe",2373:"Å entjanž pri Dravogradu",2380:"Slovenj Gradec",2381:"Podgorje pri Slovenj Gradcu",2382:"Mislinja",2383:"Å martno pri Slovenj Gradcu",2390:"Ravne na KoroÅ¡kem",2391:"Prevalje",2392:"Mežica",2393:"Ärna na KoroÅ¡kem",2394:"Kotlje",2500:"Maribor",2501:"Maribor",2502:"Maribor",2503:"Maribor",2504:"Maribor",2505:"Maribor",2506:"Maribor",2507:"Maribor",2509:"Maribor",2600:"Maribor",2603:"Maribor",2609:"Maribor",2610:"Maribor",3e3:"Celje",3001:"Celje - poÅ¡tni predali",3201:"Å martno v Rožni dolini",3202:"LjubeÄn
39a",3203:"Nova Cerkev",3204:"Dobrna",3205:"Vitanje",3206:"Stranice",3210:"Slovenske Konjice",3211:"Å kofja vas",3212:"Vojnik",3213:"Frankolovo",3214:"ZreÄe",3215:"LoÄe",3220:"Å tore",3221:"Teharje",3222:"Dramlje",3223:"Loka pri Žusmu",3224:"Dobje pri Planini",3225:"Planina pri Sevnici",3230:"Å entjur",3231:"Grobelno",3232:"Ponikva",3233:"Kalobje",3240:"Å marje pri JelÅ¡ah",3241:"Podplat",3250:"RogaÅ¡ka Slatina",3252:"Rogatec",3253:"Pristava pri Mestinju",3254:"PodÄetrtek",3255:"BuÄe",3256:"Bistrica ob Sotli",3257:"Podsreda",3260:"Kozje",3261:"LesiÄno",3262:"Prevorje",3263:"Gorica pri Slivnici",3264:"Sveti Å tefan",3270:"LaÅ¡ko",3271:"Å entrupert",3272:"Rimske Toplice",3273:"JurkloÅ¡ter",3301:"PetrovÄe",3302:"Griže",3303:"Gomilsko",3304:"Tabor",3305:"Vransko",3310:"Žalec",3311:"Å empeter v Savinjski dolini",3312:"Prebold",3313:"Polzela",3314:"BraslovÄe",3320:"Velenje",3322:"Velenje - poÅ¡tni predali",3325:"Å oÅ¡tanj",3326:"TopolÅ¡ica",3327:"Å martno ob Paki",3330:"Mozirje",3331:"Nazarje",3332:"ReÄica ob Savinji",3333:"Ljubno ob Savinji",3334:"LuÄe",3335:"SolÄava",3341:"Å martno ob Dreti",3342:"Gornji Grad",3502:"Celje",3503:"Velenje",3504:"Velenje",3505:"Celje",3600:"Celje",4e3:"Kranj",4001:"Kranj - poÅ¡tni predali",4201:"Zgornja Besnica",4202:"Naklo",4203:"Duplje",4204:"Golnik",4205:"Preddvor",4206:"Zgornje Jezersko",4207:"Cerklje na Gorenjskem",4208:"Å enÄur",4209:"Žabnica",4210:"Brnik aerodrom",4211:"MavÄiÄe",4212:"Visoko",4220:"Å kofja Loka",4223:"Poljane nad Å kofjo Loko",4224:"Gorenja vas",4225:"Sovodenj",4226:"Žiri",4227:"Selca",4228:"Železniki",4229:"Sorica",4240:"Radovljica",4243:"Brezje",4244:"Podnart",4245:"Kropa",4246:"Kamna Gorica",4247:"Zgornje Gorje",4248:"Lesce",4260:"Bled",4263:"Bohinjska Bela",4264:"Bohinjska Bistrica",4265:"Bohinjsko jezero",4267:"Srednja vas v Bohinju",4270:"Jesenice",4273:"Blejska Dobrava",4274:"Žirovnica",4275:"Begunje na Gorenjskem",4276:"HruÅ¡ica",4280:"Kranjska Gora",4281:"Mojstrana",4282:"Gozd Martuljek",4283:"RateÄe-Planica",4290:"TržiÄ",4294:"Križe",4501:"Naklo",4502:"Kranj",4600:"Kranj",5e3:"Nova Gorica",5001:"Nova Gorica - poÅ¡tni predali",5210:"Deskle",5211:"Kojsko",5212:"Dobrovo v Brdih",5213:"Kanal",5214:"Kal nad Kanalom",5215:"RoÄinj",5216:"Most na SoÄi",5220:"Tolmin",5222
39:"Kobarid",5223:"Breginj",5224:"Srpenica",5230:"Bovec",5231:"Log pod Mangartom",5232:"SoÄa",5242:"Grahovo ob BaÄi",5243:"Podbrdo",5250:"Solkan",5251:"Grgar",5252:"Trnovo pri Gorici",5253:"Äepovan",5261:"Å empas",5262:"ÄrniÄe",5263:"Dobravlje",5270:"AjdovÅ¡Äina",5271:"Vipava",5272:"Podnanos",5273:"Col",5274:"Ärni Vrh nad Idrijo",5275:"GodoviÄ",5280:"Idrija",5281:"Spodnja Idrija",5282:"Cerkno",5283:"Slap ob Idrijci",5290:"Å empeter pri Gorici",5291:"Miren",5292:"RenÄe",5293:"VolÄja Draga",5294:"Dornberk",5295:"Branik",5296:"Kostanjevica na Krasu",5297:"PrvaÄina",5600:"Nova Gorica",6e3:"Koper/Capodistria",6001:"Koper/Capodistria - poÅ¡tni predali",6210:"Sežana",6215:"DivaÄa",6216:"Podgorje",6217:"Vremski Britof",6219:"Lokev",6221:"Dutovlje",6222:"Å tanjel",6223:"Komen",6224:"SenožeÄe",6225:"HruÅ¡evje",6230:"Postojna",6232:"Planina",6240:"Kozina",6242:"Materija",6243:"Obrov",6244:"Podgrad",6250:"Ilirska Bistrica",6251:"Ilirska Bistrica-Trnovo",6253:"Knežak",6254:"JelÅ¡ane",6255:"Prem",6256:"KoÅ¡ana",6257:"Pivka",6258:"Prestranek",6271:"Dekani",6272:"GraÄiÅ¡Äe",6273:"Marezige",6274:"Å marje",6275:"Ärni Kal",6276:"Pobegi",6280:"Ankaran/Ancarano",6281:"Å kofije",6310:"Izola/Isola",6320:"Portorož/Portorose",6323:"Strunjan/Strugnano (sezonska poÅ¡ta)",6330:"Piran/Pirano",6333:"SeÄovlje/Sicciole",6501:"Koper",6502:"Koper",6503:"Koper",6504:"Koper",6505:"Koper",6600:"Koper",8e3:"Novo mesto",8001:"Novo mesto - poÅ¡tni predali",8210:"Trebnje",8211:"DobrniÄ",8212:"Velika Loka",8213:"Veliki Gaber",8216:"Mirna PeÄ",8220:"Å marjeÅ¡ke Toplice",8222:"OtoÄec",8230:"Mokronog",8231:"Trebelno",8232:"Å entrupert",8233:"Mirna",8250:"Brežice",8251:"Äatež ob Savi",8253:"ArtiÄe",8254:"Globoko",8255:"PiÅ¡ece",8256:"Sromlje",8257:"Dobova",8258:"Kapele",8259:"Bizeljsko",8261:"Jesenice na Dolenjskem",8262:"KrÅ¡ka vas",8263:"Cerklje ob Krki",8270:"KrÅ¡ko",8272:"Zdole",8273:"Leskovec pri KrÅ¡kem",8274:"Raka",8275:"Å kocjan",8276:"BuÄka",8280:"Brestanica",8281:"Senovo",8282:"Koprivnica",8283:"Blanca",8290:"Sevnica",8292:"Zabukovje",8293:"Studenec",8294:"BoÅ¡tanj",8295:"TržiÅ¡Äe",8296:"Krmelj",8297:"Å entjanž",8310:"Å entjernej",8311:"Kostanjevica na Krki",8312:"PodboÄje",8321:"Brusnice",8322:"StopiÄe",8323:"UrÅ¡na sela",8330:"Metlika",8331:"Suhor",8332:"Gradac",8333:"SemiÄ",8340:"Ärnomelj",8341:"AdleÅ¡iÄi",8342:"Stari trg ob Kolpi",8343:"DragatuÅ¡",8344:"Vinica",8350:"Dolenjske Toplice",8351:"Straža",8360:"Žužemberk",8361:"Dvor",8362:"Hinje",8501:"Novo mesto",8600:"Novo mesto",9e3:"Murska Sobota",9001:"Murska Sobota - poÅ¡tni predali",9201:"Puconci",9202:"MaÄkovci",9203:"Petrovci",9204:"Å alovci",9205:"HodoÅ¡/Hodos",9206:"Križevci",9207:"Prosenjakovci/Partosfalva",9208:"Fokovci",9220:"Lendava/Lendva",9221:"Martjanci",9222:"Bogojina",9223:"Dobrovnik/Dobronak",9224:"TurniÅ¡Äe",9225:"Velika Polana",9226:"Moravske Toplice",9227:"Kobilje",9231:"Beltinci",9232:"ÄrenÅ¡ovci",9233:"Odranci",9240:"Ljutomer",9241:"Veržej",9242
39:"Križevci pri Ljutomeru",9243:"Mala Nedelja",9244:"Sv. Jurij ob Å Äavnici",9245:"Spodnji Ivanjci",9250:"Gornja Radgona",9251:"TiÅ¡ina",9252:"Radenci",9253:"ApaÄe",9261:"Cankova",9262:"RogaÅ¡ovci",9263:"Kuzma",9264:"Grad",9265:"Bodonci",9501:"Murska Sobota",9502:"Radenci",9600:"Murska Sobota"};function ce(a){return Pe[a]||""}function dt(a){return Object.keys(Pe).sort().find(t=>t.startsWith(a))||null}async function ht(a,e,t,o,r,i){try{const s=new FormData;Object.entries(a).forEach(([g,m])=>{m!=null&&s.append(g,m.toString())}),e.forEach(g=>{s.append("priloge",g)}),s.append("submission_timestamp",new Date().toISOString()),s.append("user_agent",navigator.userAgent);const h={"Accept-Language":i};o&&o.length>0&&(h["X-API-Key"]=o),r&&r.length>0&&(h["X-Tenant-ID"]=r);const c=await fetch(t,{method:"POST",body:s,headers:h});if(!c.ok)return{success:!1,message:(await c.json().catch(()=>({}))).message||`Server error: ${c.status}`};const v=await c.json();return{success:!0,referenceNumber:v.referenceNumber||ut(),message:v.message}}catch(s){return console.error("Form submission error:",s),s instanceof TypeError&&s.message.includes("fetch")?{success:!1,message:"Napaka pri povezavi s strežnikom. Preverite internetno povezavo."}:{success:!1,message:"PriÅ¡lo je do nepriÄakovane napake. Prosimo, poskusite znova."}}}function ut(){const a=Date.now().toString(36),e=Math.random().toString(36).substring(2,8);return`SP-${a}-${e}`.toUpperCase()}function Ee(a,e,t,o){var i,s,h,c,v,g,m,$,S,O,Me,Ie,Fe,Re;const r={};switch(e.drzava=(e.drzava||"SI").trim().toUpperCase(),a){case f.TYPE_SELECTION:o||(r.sponsorship_type="Izberite tip vloge"),t||(r.entity_type="Izberite tip prosilca");break;case f.APPLICANT_DATA:if(t===y.PHYSICAL?(e.ime||(r.ime="Ime je obvezno"),e.priimek||(r.priimek="Priimek je obvezen"),(i=e.naslov)!=null&&i.trim()||(r.naslov="Naslov je obvezen")):t===y.LEGAL&&((s=e.naziv_organizacije)!=null&&s.trim()||(r.naziv_organizacije="Naziv organizacije je obvezen"),(h=e.naslov_organizacije)!=null&&h.trim()||(r.naslov_organizacije="Naslov organizacije je obvezen"),(c=e.davcna_stevilka)!=null&&c.trim()||(r.davcna_stevilka="DavÄna Å¡tevilka je obvezna"),e.drzava==="SI"&&(/^((SI)?[0-9]{8})$/i.test(e.davcna_stevilka||"")||(r.davcna_stevilka="DavÄna Å¡tevilka ali ID za DDV ni pravilna")),e.davcni_zavezanec||(r.davcni_zavezanec="Prosimo, izberite davÄni status"),e.kontakt_ime||(r.kontakt_ime="Ime kontaktne osebe je obvezno"),e.kontakt_priimek||(r.kontakt_priimek="Priimek kontaktne osebe je obvezno")),(v=e.postna_stevilka)!=null&&v.trim()||(r.postna_stevilka="PoÅ¡tna Å¡tevilka je obvezna"),e.drzava==="SI")if(!/^\d{4}$/.test(e.postna_stevilka||""))r.postna_stevilka="PoÅ¡tna Å¡tevilka mora imeti 4 Å¡tevilke";else{const D=ce(e.postna_stevilka||"");D?e.posta!==D&&(e.posta=D):r.postna_stevilka="PoÅ¡tna Å¡tevilka je neveljavna"}if((g=e.posta)!=null&&g.trim()||(r.posta="PoÅ¡ta je obvezna"),(m=e.email)!=null&&m.trim()?gt(e.email)||(r.email="Vnesite veljaven e-mail naslov"):r.email="E-mail je obvezen",($=e.telefon)!=null&&$.trim()||(r.telefon="Telefonska Å¡tevilka je obvezna"),(S=e.naziv_projekta)!=null&&S.trim()||(r.naziv_projekta="Naziv projekta je obvezen"),e.datum_projekta||(r.datum_projekta="Datum zaÄetka projekta je obvezen"),e.datum_projekta_do||(r.datum_projekta_do="Datum zakljuÄka projekta je obvezen"),e.datum_projekta&&e.datum_projekta_do){const D=new Date(e.datum_projekta),Dt=new Date(e.datum_projekta_do),xt=new Date;new Date().setMonth(xt.getMonth()+2),Dt<=D&&(r.datum_projekta_do="Datum zakljuÄka mora biti po datumu zaÄetka")}if((O=e.opis_projekta)!=null&&O.trim()?e.opis_projekta.length>2e3&&(r.opis_projekta="Opis projekta je predolg (najveÄ 2000 znakov)"):r.opis_projekta="Opis projekta je obvezen",e.opis_projekta_esg_enabled==="DA"&&((Me=e.opis_projekta_esg)!=null&&Me.trim()?e.opis_projekta_esg.length>2e3&&(r.opis_projekta_esg="Opis trajnostnih vidikov je predolg (najveÄ 2000 znakov)"):r.opis_projekta_esg="Opis trajnostnih vidikov je obvezen"),!((Ie=e.predlagan_znesek)!=null&&Ie.trim()))r.predlagan_znesek="Predlog sredstev je obvezen";else{const D=parseFloat(e.predlagan_znesek);(isNaN(D)||D<=0)&&(r.predlagan_znesek="Vnesite veljaven znesek")}break;case f.PROJECT_DETAILS:e.podrocje||(r.podrocje="PodroÄje projekta je obvezno"),e.podrocje==="drugo"&&!((Fe=e.drugo_podrocje)!=null&&Fe.trim())&&(r.drugo_podrocje="VpiÅ¡ite podroÄje projekta"),o===_.SPONSORSHIP&&((Re=e.nacin_oglasevanja)!=null&&Re.trim()?e.nacin_oglasevanja.length>2e3&&(r.nacin_oglasevanja="Opis možnosti promocije sponzorja je predolg (najveÄ 2000 znakov)"):r.nacin_oglasevanja="OpiÅ¡ite možnosti promocije sponzorja"),e.dodatno_sporocilo&&e.dodatno_sporocilo.length>2e3&&(r.dodatno_sporocilo="SporoÄilo je predolgo (najveÄ 2000 znakov)"),(!e.gdpr_consent||e.gd
39pr_consent!=="true")&&(r.gdpr_consent="Strinjanje s sploÅ¡nimi pogoji je obvezno");break}return{isValid:Object.keys(r).length===0,errors:r}}function mt(a,e,t){const o={};let r;for(let i=f.TYPE_SELECTION;i<=f.PROJECT_DETAILS;i++){const s=Ee(i,a,e,t);s.isValid||(Object.assign(o,s.errors),r===void 0&&(r=i))}return{isValid:Object.keys(o).length===0,errors:o,firstErrorStep:r}}function vt(a){const e={},o=["application/pdf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","image/jpeg","image/jpg","image/png"],r=[".pdf",".doc",".docx",".jpg",".jpeg",".png"];return a.forEach((i,s)=>{var v;const h="."+((v=i.name.split(".").pop())==null?void 0:v.toLowerCase());if(o.includes(i.type)||r.includes(h||"")||(e[`file_${s}_type`]=`${i.name}: Nepodprt tip datoteke`),i.size>15728640){const g=(i.size/1048576).toFixed(1);e[`file_${s}_size`]=`${i.name}: Datoteka je prevelika (${g}MB, max 15MB)`}}),{isValid:Object.keys(e).length===0,errors:e}}function gt(a){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(a)}const pe="sponsorship_form_state",bt=30*60*1e3;function Q(a){try{const t={...De(),...a,timestamp:Date.now()};sessionStorage.setItem(pe,JSON.stringify(t))}catch(e){console.warn("Failed to save form state:",e)}}function De(){const a={formData:{},entityType:null,sponsorshipType:null,currentStep:f.TYPE_SELECTION,timestamp:Date.now()};try{const e=sessionStorage.getItem(pe);if(!e)return a;const t=JSON.parse(e);return Date.now()-t.timestamp>bt?(xe(),a):([f.TYPE_SELECTION,f.PROJECT_DETAILS,f.APPLICANT_DATA].includes(t.currentStep)||(t.currentStep=f.TYPE_SELECTION),{...a,...t})}catch(e){return console.warn("Failed to load form state:",e),a}}function xe(){try{sessionStorage.removeItem(pe)}catch(a){console.warn("Failed to clear form state:",a)}}function ft(a){const e=()=>{document.hidden&&Q(a())},t=()=>{Q(a())};return document.addEventListener("visibilitychange",e),window.addEventListener("beforeunload",t),()=>{document.removeEventListener("visibilitychange",e),window.removeEventListener("beforeunload",t)}}function jt(a,e=1e3){let t=null;return(o=!1)=>{if(t!==null&&clearTimeout(t),o){Q(a());return}t=window.setTimeout(()=>{Q(a()),t=null},e)}}const Ae={sl:{page:{title:"Vloga za sponzorstva in donacije",description:"Želite oddati vlogo za sponzorstvo ali donacijo? Oddajte jo vsaj dva meseca pred zaÄetkom vaÅ¡ega projekta."},step1:{title:"Vabimo vas k oddaji vlog za sponzorstva in donacije.",description:{para1:"Z donacijami in sponzorstvi aktivno soustvarjamo priložnosti za razvoj v Å¡irÅ¡em družbenem okolju, zato z veseljem podpiramo projekte, ki prispevajo k pozitivnim spremembam.",para2:"Vloge sprejemamo izkljuÄno preko spodnjega obrazca. Za zagotovitev ustrezne izvedbe aktivnosti bodo obravnavane le tiste vloge, ki bodo oddane najmanj 60 dni pred naÄrtovanim dogodkom ali aktivnostjo.",para3:"Obravnavali bomo zgolj celovito in ustrezno izpolnjene prijave. V primeru dodelitve sredstev bodo izbrani vlagatelji dolžni poroÄati o porabi sredstev ter predložiti dokazila o izvedbi projekta.",para4:"Äe prepoznavate priložnost za sodelovanje, vas vabimo, da izpolnite obrazec in nam predstavite svoj projekt."},typeSelection:{title:"Tip vloge",description:"Prosimo, izberite tip vloge:",sponsorship:"Sponzorstvo",donation:"Donacija"},entitySelection:{title:"Tip prosilca",description:"Prosimo, izberite tip prosilca:",physical:"FiziÄna oseba",legal:"Pravna oseba"}},step2:{applicantData:{title:"Podatki o prosilcu",requiredNote:"Vsi podatki, oznaÄeni z zvezdico (*), so obvezni.",firstName:"Ime",lastName:"Priimek",address:"Naslov",organizationName:"Naziv organizacije",organizationAddress:"Naslov organizacije",taxNumber:"DavÄna Å¡tevilka ali ID za DDV",taxPayer:"DavÄni zavezanec",country:"Država",postalCode:"PoÅ¡tna Å¡tevilka",city:"PoÅ¡ta"},contactData:{title:"Kontaktna oseba",firstName:"Ime kontaktne osebe",lastName:"Priimek kontaktne osebe",email:"E-mail",phone:"Telefonska Å¡tevilka"},projectData:{title:"Podatki o projektu",projectName:"Naziv projekta",startDate:"Predviden zaÄetek projekta",endDate:"Predviden zakljuÄek projekta",description:"Opis projekta",esgDescription:"Prosimo, obrazložite, kako vaÅ¡ projekt naslavlja okoljske, družbene ali upravljalske (ESG) izzive.",esgDescriptionEnable:"Ali vaÅ¡ projekt naslavlja katerega od trajnostnih izzivov?",esgDescriptionEnableYES:"DA",esgDescriptionEnableNO:"NE",esgPlaceholder:"",amount:"Predlog sredstev (v EUR)",website:"Spletna stran",facebook:"Facebook",instagram:"Instagram",linkedin:"LinkedIn",youtube:"Youtube",tiktok:"TikTok",newsletter:"E-novice",socialProfilesTitle:"Spletni mediji"},selectedType:"Tip vloge je že izbran:"},step3:{projectField:{title:"PodroÄje projekta",selectField:"Izberite podroÄje projekta",options:{sport:"Å port",culture:"Kultura",education:"Izobraževanje",humanitarian:"Humanitarnost",sustainability:"Trajnost",other:"Drugo"},customField:"VpiÅ¡ite podroÄje"},marketing:{title:"Tržno â komunikacijske aktivnosti",channels:"Navedite komunikacijske kanale za oglaÅ¡evanje družbe BTC in/ali njenih blagovnih znamk",placeholder:"Npr.: e-novice, transparent, objava logotipa, spletn
39o oglaÅ¡evanje, oglaÅ¡evanje v tiskanih medijih ipd."},additionalMessage:{title:"Nam želite sporoÄiti Å¡e kaj?",label:"Dodatno sporoÄilo"},fileUpload:{title:"Priloge",dragDrop:"Kliknite za izbiro datotek ali povlecite datoteke sem",filesSelected:"datoteka izbrana|datoteke izbrane",supportedFiles:"Podprte datoteke: PDF, DOC, DOCX, JPG, PNG. NajveÄja velikost posamezne datoteke: 15 MB"},gdpr:{agreement:"Strinjam se s",terms:"sploÅ¡nimi pogoji"}},navigation:{next:"Naprej",back:"Nazaj",submit:"PoÅ¡lji",submitting:"PoÅ¡iljam...",close:"Zapri",retry:"Poskusi znova",ok:"V redu"},validation:{required:"To polje je obvezno",email:"Vnesite veljaven e-mail naslov",postalCode:"PoÅ¡tna Å¡tevilka mora imeti 4 Å¡tevilke",taxNumber:"DavÄna Å¡tevilka mora imeti 8 Å¡tevilk",dateRange:"Datum zakljuÄka mora biti po datumu zaÄetka",futureDate:"Projekt mora zaÄeti najmanj 60 dni v prihodnosti",validAmount:"Vnesite veljaven znesek",maxLength:"Besedilo je predolgo (najveÄ {max} znakov)",selectOption:"Prosimo, izberite možnost",fileSize:"Datoteka je prevelika (najveÄ 15MB)",fileType:"Nepodprt tip datoteke",gdprRequired:"Strinjanje s sploÅ¡nimi pogoji je obvezno"},limits:{characters:"znakov",maxCharacters:"Do {max} znakov"},modals:{gdpr:{title:"Izjava o varstvu osebnih podatkov"},error:{title:"Napaka pri oddaji vloge",defaultMessage:"PriÅ¡lo je do napake. Prosimo, poskusite znova.",networkError:"PriÅ¡lo je do napake pri povezavi s strežnikom. Prosimo, preverite internetno povezavo in poskusite znova.",validationErrors:"Prosimo, popravite naslednje napake:"},success:{title:"Vloga uspeÅ¡no oddana",message:"VaÅ¡a vloga je bila uspeÅ¡no oddana.",referenceNumber:"ReferenÄna Å¡tevilka: {ref}"},loading:{title:"Oddajanje vloge...",message:"Prosimo, poÄakajte."}},success:{title:"Vloga je bila uspeÅ¡no oddana!",thankYou:"Hvala za vaÅ¡o vlogo, obravnali jo bomo v najkrajÅ¡em možnem Äasu.",whatNext:{title:"Kaj sledi?",step1:{title:"Pregled vloge",description:"Vlogo bomo obravnavali celovito, upoÅ¡tevajoÄ tehtnost in aktualnost glede na poslanstvo in delovanje družbe BTC."},step2:{title:"Obvestilo o odloÄitvi",description:"O odloÄitvi vas bomo obvestili na e-naslov naveden v vlogi."},step3:{title:"Nadaljnje sodelovanje",description:"V primeru pozitivne odloÄitve vas dodatno obvestimo o podrobnostih sodelovanja."}},timeline:{title:"PriÄakovani Äas obravnave",description:"Vloge obravnavamo enkrat meseÄno, v izjemnih primerih se postopek lahko podaljÅ¡a.",note:""},contact:{title:"Potrebujete dodatne informacije?",description:"Oglasite se nam na:",email:"[email protected]",phone:""},reference:{label:"ReferenÄna Å¡tevilka vloge:",note:"Shranite si to Å¡tevilko za lažje sledenje vaÅ¡i vlogi."},newApplication:"Oddaj novo vlogo"},options:{selectPlaceholder:"Izberite...",yes:"Da",no:"Ne"}},en:{page:{title:"Sponsorship and Donation Application",description:"Want to submit a sponsorship or donation application? Submit it at least two months before your project starts."},step1:{title:"We invite you to submit sponsorship and donation applications.",description:{para1:"Through donations and sponsorships, we actively co-create opportunities for development in the broader social environment, so we are happy to support projects that contribute to positive change.",para2:"Applications are accepted exclusively through the form below. To ensure proper implementation of activities, only applications submitted at least 60 days before the planned event or activity will be considered.",para3:"We will only consider complete and properly filled applications. In case of funding allocation, selected applicants will be required to report on the use of funds and provide evidence of project implementation.",para4:"If you recognize an opportunity for collaboration, we invite you to fill out the form and present your project to us."}
39,typeSelection:{title:"Application Type",description:"Please select the application type:",sponsorship:"Sponsorship",donation:"Donation"},entitySelection:{title:"Applicant Type",description:"Please select the applicant type:",physical:"Individual",legal:"Legal Entity"}},step2:{applicantData:{title:"Applicant Information",requiredNote:"All fields marked with an asterisk (*) are required.",firstName:"First Name",lastName:"Last Name",address:"Address",organizationName:"Organization name",organizationAddress:"Organization address",taxNumber:"Tax number",taxPayer:"Tax payer",country:"Country",postalCode:"Postal code",city:"City"},contactData:{title:"Contact Person",firstName:"Contact First Name",lastName:"Contact Last Name",email:"E-mail",phone:"Phone number"},projectData:{title:"Project Information",projectName:"Project name",startDate:"Expected project start date",endDate:"Expected project end date",description:"Project description",esgDescription:"Please describe how your project contributes to environmental, social or governance (ESG) goals or sustainable development goals (SDGs).",esgDescriptionEnable:"Does your project contributes to environmental, social or governance (ESG) goals or sustainable development goals (SDGs)?",esgDescriptionEnableYES:"YES",esgDescriptionEnableNO:"NO",esgPlaceholder:"",amount:"Requested amount (in EUR)",website:"Website",facebook:"Facebook",instagram:"Instagram",linkedin:"LinkedIn",youtube:"Youtube",tiktok:"TikTok",newsletter:"Newsletter",socialProfilesTitle:"Social media"},selectedType:"Application type already selected:"},step3:{projectField:{title:"Project Field",selectField:"Select project field",options:{sport:"Sports",culture:"Culture",education:"Education",humanitarian:"Humanitarian",sustainability:"Sustainability",other:"Other"},customField:"Enter field"},marketing:{title:"Marketing & Communication Activities",channels:"Possible communication channels for sponsor advertising",placeholder:"E.g.: banner, logo placement, online advertising, print media advertising, etc."},additionalMessage:{title:"Would you like to tell us anything else?",label:"Additional message"},fileUpload:{title:"Attachments",dragDrop:"Click to select files or drag files here",filesSelected:"file selected|files selected",supportedFiles:"Supported files: PDF, DOC, DOCX, JPG, PNG. Maximum file size: 15 MB"},gdpr:{agreement:"I agree to the",terms:"terms and conditions"}},navigation:{next:"Next",back:"Back",submit:"Submit",submitting:"Submitting...",close:"Close",retry:"Try Again",ok:"OK"},validation:{required:"This field is required",email:"Enter a valid email address",postalCode:"Postal code must have 4 digits",taxNumber:"Tax number must have 8 digits",dateRange:"End date must be after start date",futureDate:"Project must start at least 60 days in the future",validAmount:"Enter a valid amount",maxLength:"Text is too long (maximum {max} characters)",selectOption:"Please select an option",fileSize:"File is too large (maximum 15MB)",fileType:"Unsupported file type",gdprRequired:"Agreement to terms and conditions is required"},limits:{characters:"characters",maxCharacters:"Up to {max} characters"},modals:{gdpr:{title:"Privacy Policy Statement"},error:{title:"Application Submission Error",defaultMessage:"An error occurred. Please try again.",networkError:"A server connection error occurred. Please check your internet connection and try again.",validationErrors:"Please correct the following errors:"}
39,success:{title:"Application Successfully Submitted",message:"Your application has been successfully submitted.",referenceNumber:"Reference number: {ref}"},loading:{title:"Submitting application...",message:"Please wait."}},success:{title:"Application successfully submitted!",thankYou:"Thank you for your application, we will process it as soon as possible.",whatNext:{title:"What happens next?",step1:{title:"Application review",description:"We will review the application comprehensively, considering its significance and relevance in relation to BTC company's mission and operations."},step2:{title:"Decision notification",description:"We will notify you of the decision via the email address provided in the application."},step3:{title:"Further cooperation",description:"In case of a positive decision, we will additionally inform you about the details of cooperation."}},timeline:{title:"Expected processing time",description:"Applications are processed once a month, in exceptional cases the process may be extended.",note:""},contact:{title:"Need additional information?",description:"Contact us at:",email:"[email protected]",phone:""},reference:{label:"Application reference number:",note:"Save this number for easier tracking of your application."},newApplication:"Submit New Application"},options:{selectPlaceholder:"Select...",yes:"Yes",no:"No"}}};let Ce="sl";function Te(a){Ce=a}function Le(a,e){return e.split(".").reduce((t,o)=>t&&t[o]?t[o]:void 0,a)}function n(a,e){const t=Le(Ae[Ce],a)||Le(Ae.en,a)||a;return typeof t!="string"?a:t}var kt=Object.defineProperty,yt=Object.getOwnPropertyDescriptor,de=(a,e,t,o)=>{for(var r=o>1?void 0:o?yt(e,t):e,i=a.length-1,s;i>=0;i--)(s=a[i])&&(r=(o?s(e,t,r):s(r))||r);return o&&r&&kt(e,t,r),r};d.StepIndicator=class extends E{constructor(){super(...arguments),this.currentStep=f.TYPE_SELECTION,this.totalSteps=3}render(){return l` 40 <div class="step-container"> 41 ${Array.from({length:this.totalSteps},(e,t)=>l` 42 ${t>0?l` 43 <div class="step-connector ${u({completed:t<=this.currentStep})}"></div> 44 `:""} 45 46 <div class="step ${u({active:t===this.currentStep,completed:t<this.currentStep})}"> 47 ${t<this.currentStep?"â":t+1} 48 </div> 49 `)} 50 </div> 51 `}},d.StepIndicator.styles=q` 52 :host { 53 display: block; 54 margin-bottom: 2rem; 55 } 56 57 .step-container { 58 display: flex; 59 align-items: center; 60 justify-content: center; 61 } 62 63 .step { 64 display: flex; 65 align-items: center; 66 justify-content: center; 67 width: 2rem; 68 height: 2rem; 69 border-radius: 50%; 70 font-size: 0.875rem; 71 font-weight: 500; 72 transition: all 0.2s ease; 73 border: 2px solid rgb(var(--border-color)); 74 background: rgb(var(--background)); 75 color: rgb(var(--text-color)); 76 font-family: var(--font-family-secondary); 77 } 78 79 .step.active { 80 border-color: rgb(var(--primary-color)); 81 color: rgb(var(--primary-color)); 82 } 83 84 .step.completed { 85 border-color: rgb(var(--primary-color)); 86 background: rgb(var(--primary-color)); 87 color: white; 88 } 89 90 .step-connector { 91 flex: 1; 92 height: 2px; 93 margin: 0 1rem; 94 background: rgb(var(--border-color)); 95 transition: all 0.2s ease; 96 } 97 98 .step-connector.completed { 99 background: rgb(var(--primary-color)); 100 } 101 102 @media (max-width: 640px) { 103 .step-container { 104 flex-direction: column; 105 gap: 1rem; 106 } 107 108 .step-connector { 109 width: 2px; 110 height: 1rem; 111 margin: 0; 112 } 113 } 114 `,de([k({type:Number})],d.StepIndicator.prototype,"currentStep",2),de([k({type:Number})],d.StepIndicator.prototype,"totalSteps",2),d.StepIndicator=de([X("step-indicator")],d.StepIndicator);var $t=Object.defineProperty,St=Object.getOwnPropertyDescriptor,ee=(a,e,t,o)=>{for(var r=o>1?void 0:o?St(e,t):e,i=a.length-1,s;i>=0;i--)(s=a[i])&&(r=(o?s(e,t,r):s(r))||r);return o&&r&&$t(e,t,r),r};d.FileUpload=class extends E{constructor(){super(...arguments),this.selectedFiles=[],this.dragOver=!1,this.errors=[]}handleFileSelect(e){if(!e)return;const t=Array.from(e),o=vt(t);if(!o.isValid){this.errors=Object.values(o.errors);return}this.errors=[];const r=[...this.selectedFiles,...t];this.selectedFiles=r,this.dispatchEvent(new CustomEvent("files-changed",{detail:{files:this.selectedFiles},bubbles:!0}))}removeFile(e){const t=this.selectedFiles.filter((o,r)=>r!==e);this.selectedFiles=t,this.dispatchEvent(new CustomEvent("files-changed",{detail:{files:this.selectedFiles},bubbles:!0}))}handleDragOver(e){e.preventDefault(),this.dragOver=!0}handleDragLeave(e){e.preventDefault(),this.dragOver=!1}handleDrop(e){var t;e.preventDefault(),this.dragOver=!1,this.handleFileSelect(((t=e.dataTransfer)==null?void 0:t.files)||null)}formatFileSize(e){if(e===0)return"0 B";const t=1024,o=["B","KB","MB","GB"],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/Math.pow(t,r)).toFixed(1))+" "+o[r]}render(){return l` 115 <div class="form-field"> 116 <label class="form-label">Priloge</label> 117 118 <div 119 class="upload-area ${this.dragOver?"drag-over":""}" 120 @click=${this.openFileDialog} 121 @dragover=${this.handleDragOver} 122 @dragleave=${this.handleDragLeave} 123 @drop=${this.handleDrop}> 124 125 <div class="upload-icon"> 126 <svg fill="none" stroke="currentColor" viewBox="0 0 24 24"> 127 <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" 128 d="M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12"></path> 129 </svg> 130 </div> 131 132 <div class="upload-text"> 133 ${this.selectedFiles.length===0?"Kliknite za izbiro datotek ali povlecite datoteke sem":`${this.selectedFiles.length} ${this.selectedFiles.length===1?"datoteka izbrana":"datoteke izbrane"}`} 134 </div> 135 136 <div class="upload-hint"> 137 Podprte datoteke: PDF, DOC, DOCX, JPG, PNG. NajveÄja velikost posamezne datoteke: 15 MB 138 </div> 139 </div> 140 141 <input 142 type="file" 143 class="hidden" 144 multiple 145 accept=".pdf,.doc,.docx,.jpg,.jpeg,.png" 146 @change=${e=>this.handleFileSelect(e.target.files)} 147 /> 148 149 ${this.errors.length>0?l` 150 <div class="error-message"> 151 ${this.errors.map(e=>l`<div>${e}</div>`)} 152 </div> 153 `:""} 154 155 ${this.selectedFiles.length>0?l` 156 <div class="file-list"> 157 ${this.selectedFiles.map((e,t)=>l` 158 <div class="file-item"> 159 <div class="file-info">
160 <span class="file-name">${e.name}</span> 161 <span class="file-size">(${this.formatFileSize(e.size)})</span> 162 </div> 163 <button 164 type="button" 165 class="remove-btn" 166 @click=${o=>{o.stopPropagation(),this.removeFile(t)}}> 167 à 168 </button> 169 </div> 170 `)} 171 </div> 172 `:""} 173 </div> 174 `}openFileDialog(){var t;const e=(t=this.shadowRoot)==null?void 0:t.querySelector('input[type="file"]');e==null||e.click()}},d.FileUpload.styles=q` 175 :host { 176 display: block; 177 } 178 179 .upload-area { 180 border: 2px dashed rgb(var(--border-color)); 181 border-radius: var(--border-radius-lg); 182 padding: 2rem; 183 text-align: center; 184 transition: all 0.2s ease; 185 cursor: pointer; 186 background: rgb(var(--background)); 187 } 188 189 .upload-area:hover { 190 border-color: rgb(var(--primary-color)); 191 background: rgb(var(--primary-color) / 0.02); 192 } 193 194 .upload-area.drag-over { 195 border-color: rgb(var(--primary-color)); 196 background: rgb(var(--primary-color) / 0.05); 197 } 198 199 .upload-icon { 200 width: 2rem; 201 height: 2rem; 202 margin: 0 auto 1rem; 203 color: rgb(var(--text-color) / 0.5); 204 } 205 206 .upload-text { 207 font-size: 0.875rem; 208 color: rgb(var(--text-color)); 209 font-family: var(--font-family-primary); 210 margin-bottom: 0.5rem; 211 } 212 213 .upload-hint { 214 font-size: 0.75rem; 215 color: rgb(var(--text-color) / 0.7); 216 font-family: var(--font-family-primary); 217 } 218 219 .file-list { 220 margin-top: 1rem; 221 display: flex; 222 flex-direction: column; 223 gap: 0.5rem; 224 } 225 226 .file-item { 227 display: flex; 228 align-items: center; 229 justify-content: space-between; 230 padding: 0.75rem; 231 background: rgb(var(--background)); 232 border: 1px solid rgb(var(--border-color)); 233 border-radius: var(--border-radius); 234 } 235 236 .file-info { 237 display: flex; 238 align-items: center; 239 flex: 1; 240 min-width: 0; 241 } 242 243 .file-name { 244 font-size: 0.875rem; 245 color: rgb(var(--text-color)); 246 font-family: var(--font-family-primary); 247 truncate: true; 248 flex: 1; 249 } 250 251 .file-size { 252 font-size: 0.75rem; 253 color: rgb(var(--text-color) / 0.7); 254 margin-left: 0.5rem; 255 } 256 257 .remove-btn { 258 background: none; 259 border: none; 260 color: rgb(var(--error-color)); 261 font-size: 1.125rem; 262 font-weight: bold; 263 cursor: pointer; 264 padding: 0.25rem; 265 margin-left: 0.5rem; 266 border-radius: 0.25rem; 267 transition: background-color 0.2s ease; 268 } 269 270 .remove-btn:hover { 271 background: rgb(var(--error-color) / 0.1); 272 } 273 274 .hidden { 275 display: none; 276 } 277 278 .error-message { 279 color: rgb(var(--error-color)); 280 font-size: 0.75rem; 281 margin-top: 0.5rem; 282 font-family: var(--font-family-primary); 283 } 284 `,ee([k({type:Array})],d.FileUpload.prototype,"selectedFiles",2),ee([j()],d.FileUpload.prototype,"dragOver",2),ee([j()],d.FileUpload.prototype,"errors",2),d.FileUpload=ee([X("file-upload")],d.FileUpload);var _t=Object.defineProperty,zt=Object.getOwnPropertyDescriptor,H=(a,e,t,o)=>{for(var r=o>1?void 0:o?zt(e,t):e,i=a.length-1,s;i>=0;i--)(s=a[i])&&(r=(o?s(e,t,r):s(r))||r);return o&&r&&_t(e,t,r),r};let N=class extends E{constructor(){super(...arguments),this.open=!1,this.title="",this.type="gdpr",this.message="",this.handleKeydown=a=>{a.key==="Escape"&&this.open&&this.close()}}connectedCallback(){super.connectedCallback(),this.addEventListener("keydown",this.handleKeydown)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("keydown",this.handleKeydown)}handleBackdropClick(a){a.target===a.currentTarget&&this.close()}close(){this.open=!1,this.dispatchEvent(new CustomEvent("modal-close",{bubbles:!0}))}render(){return this.open?l` 285 <div class="backdrop" @click=${this.handleBackdropClick}></div> 286 <div class="modal-content"> 287 <div class="modal-header"> 288 <h3 class="modal-title"> 289 ${this.title||this.getDefaultTitle()} 290 </h3> 291 <button 292 type="button" 293 class="close-button" 294 @click=${this.close} 295 aria-label="Close modal"> 296 à 297 </button> 298 </div> 299 300 <div class="modal-body"> 301 ${this.renderContent()} 302 </div> 303 </div> 304 `:l``}getDefaultTitle(){switch(this.type){case"gdpr":return"Izjava o varstvu osebnih podatkov";case"error":return"Napaka pri oddaji vloge";case"success":return"Vloga uspeÅ¡no oddana";case"loading":return"Oddajanje vloge...";default:return""}}renderContent(){switch(this.type){case"gdpr":return this.renderGdprContent();case"error":return this.renderErrorContent();case"success":return this.renderSuccessContent();case"loading":return this.renderLoadingContent();default:return l`<p>${this.message}</p>`}}renderGdprContent(){return l` 305 <p><strong>INFORMACIJE O VARSTVU OSEBNIH PODATKOV</strong></p> 306<p><strong>Kdo in zakaj zbira vaÅ¡e podatke?</strong></p> 307<p>BTC d.d., kot upravljavec zbirke osebnih podatkov zbira naslednje osebne podatke, ker jih potrebuje za preuÄitev predloga ali pripravo predloga ponudbe oz. predloga pogodbe v zvezi s sponzoriranjem ali doniranjem:</p> 308<ul> 309<li>Ime in priimek, v kolikor gre za prosilca, ki je fiziÄna oseba ali kontaktne osebe, v kolikor je prosilec pravna oseba, </li> 310<li>naslov prosilca </li> 311<li>Ime in priimek prejemnika (v kolikor ni ista oseba kot prosilec), </li> 312<li>naslov prejemnika, </li> 313<li>davÄna Å¡tevilka prejemnika, </li> 314<li>telefonska Å¡tevilka in e-naslov kontaktne osebe organizacije ali prosilca ter prejemnika. </li> 315</ul> 316<p>Brez posredovanja teh podatkov obravnava vlog oz. izvedba želenih storitev ni možna. Soglasje k obdelavi podatkov, ki se poda ob izpolnitvi vloge za sponzorstvo ali donacijo je pravna podlaga za obdelavo podatkov (Älen 6 (1a) SploÅ¡ne uredbe EU 2016/679), v primeru podelitve sponzorstva oz. donacije (sklenitve pogodbe), pa je pravna podlaga
316izvajanje pogodbe (Älen 6 (1b) SploÅ¡ne uredbe EU 2016/679).</p> 317<p><strong>Kako dolgo hranimo vaÅ¡e osebne podatke?</strong></p> 318<p>Zbrani osebni podatki se hranijo toliko Äasa, dokler je to potrebno za doseg namena, za katerega so zbrani oziroma toliko Äasa, kot je to potrebno za zagotavljanje naÅ¡ih pogodbenih in zakonitih interesov. V primeru, da do sklenitve pogodbe ne pride, se podatki izbriÅ¡ejo ali anonimizirajo najkasneje v roku 5 let od dneva posredovanja podatkov.</p> 319<p><strong>Ali vaÅ¡e osebne podatke posredujemo tretjim osebam?</strong></p> 320<p>Osebni podatki, zbrani za potrebe naroÄila za izvedbo storitev se posredujejo izbranim tretjim osebam, ponudnikom storitev ter drugim tretjim osebam v primerih zakonitega razkritja. Tretje osebe imajo dostop do osebnih podatkov, potrebnih za opravljanje njihovih funkcij, vendar jih ne smejo uporabljati za druge namene. Poleg tega morajo obdelovati te osebne podatke skladno s to izjavo o varstvu osebnih podatkov in tako, kot to dovoljujejo veljavni zakoni in predpisi o varstvu podatkov.</p> 321<p>Nobenih podatkov, ki nam jih posredujete, ne prenaÅ¡amo v tretjo državo ali v mednarodno organizacijo.</p> 322<p><strong>KakÅ¡ne pravice imam v zvezi z obdelavo mojih podatkov?</strong></p> 323<p>V zvezi s tem, kako se vaÅ¡i osebni podatki obdelujejo, imate veÄ pravic, ki so opisane na spodnji povezavi, te pravice pa lahko uveljavljate kadarkoli. Svoje pravice lahko uveljavljate tako, da poÅ¡ljete e-poÅ¡tno sporoÄilo na elektronski poÅ¡tni naslov: <a href="mailto:[email protected]">[email protected]</a>.</p> 324<p><strong>Na spodnji povezavi je pregled teh pravic skupaj s pojasnilom, kdaj jih lahko uveljavljate:</strong></p> 325<p><strong>Pravica do preklica soglasja.</strong> Kadarkoli v prihodnosti lahko prekliÄete soglasje, ki ste nam ga dali za obdelavo osebnih podatkov, Äe podatki niso potrebni za izpolnjevanje pogodbenega namena.</p> 326<p><strong>Pravica do dostopa in popravka.</strong> Imate pravico do dostopa do svojih osebnih podatkov, njihovega popravka ali posodobitve ob katerem koli Äasu.</p> 327<p><strong>Pravica do prenosljivosti podatkov.</strong> Osebni podatki, ki ste nam jih posredovali, so prenosljivi. Osebne podatke, ki jih obdelujemo na podlagi vaÅ¡ega soglasja, lahko na vaÅ¡o zahtevo prejmete v strukturirani in berljivi obliki in jih prosto prenaÅ¡ate drugim upravljavcem.</p> 328<p><strong>Pravica do pozabe (izbrisa).</strong> Brez nepotrebnega odlaÅ¡anja bomo izbrisali osebne podatke v zvezi z vami, v obsegu, kot ga dovoljuje veljavna zakonodaja (podatkov, ki jih potrebujemo za izvajanje pogodbe, ki ste jo sklenili z nami, in podatkov, ki jih potrebujemo za izvajanje naÅ¡ih zakonskih pravic in obveznosti, kljub vaÅ¡i zahtevi ne bomo mogli izbrisati).</p> 329<p><strong>Pravica do ugovora.</strong> Kadarkoli lahko ugovarjate obdelavi vaÅ¡ih osebnih podatkov. </p> 330<p><strong>Pravica do omejitve obdelave.</strong> Äe oporekate toÄnosti podatkov ali menite, da je obdelava nezakonita, menite, da vaÅ¡ih podatkov ne potrebujemo veÄ ali Äakate na odgovor v zvezi ugovorom, ki ste ga vložili, imate pravico, da omejite obdelavo svojih osebnih podatkov.</p> 331<p><strong>Pravica do vložitve pritožbe.</strong> Imate pravico, da neposredno pri Informacijskem pooblaÅ¡Äencu vložite pritožbo glede tega, kako obdelujemo vaÅ¡e osebne podatke. Pritožbo Informacijskemu pooblaÅ¡Äencu lahko podate z uporabo naslednjih kontaktnih podatkov: Dunajska cesta 22, 1000 Ljubljana, e-naslov: <a href="mailto:[email protected]">[email protected]</a> telefon: 012309730, spletna stran: <a href="http://www.ip-rs.si/">www.ip-rs.si</a>.</p> 332<p>V zvezi s popravkom, izbrisom osebnih podatkov ali omejitvijo obdelave vam bomo sporoÄili vse popravke ali izbrise osebnih podatkov ali omejitve obdelave, razen Äe se to izkaže za nemogoÄe ali vkljuÄuje nesorazmeren napor.</p> 333<p>Ker skrbimo za ažurnost naÅ¡e izjave o varstvu osebnih podatkov, jo redno posodabljamo.</p> 334<p>Datum zadnje posodobitve: 15.10.2025</p> 335 `}renderErrorContent(){return l` 336 <div style="text-align: center;"> 337 <!-- Error Icon --> 338 <div style="margin: 0 auto 1rem; width: 3rem; height: 3rem; border-radius: 50%; background: rgb(var(--error-color) / 0.1); display: flex; align-items: center; justify-content: center;"> 339 <svg style="width: 1.5rem; height: 1.5rem; color: rgb(var(--error-color));" fill="none" stroke="currentColor" viewBox="0 0 24 24"> 340 <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path> 341 </svg> 342 </div> 343 344 <p style="margin-bottom: 1.5rem; white-space: pre-line;"> 345 ${this.message||"PriÅ¡lo je do napake. Prosimo, poskusite znova."} 346 </p> 347 348 <div style="display: flex; gap: 0.75rem; justify-content: center; flex-wrap: wrap;"> 349 <button 350 type="button" 351 class="btn-primary" 352 @click=${this.dispatchRetry} 353 style="background: rgb(var(--primary-color)); color: white; border: 1px solid rgb(var(--primary-color)); border-radius: var(--border-radius); padding: 0.75rem 1.5rem; font-size: 0.875rem; font-weight: 500; cursor: pointer;"> 354 Poskusi znova 355 </button> 356 <button 357 type="button" 358 class="btn-outline" 359 @click=${this.close} 360 style="background: transparent; color: rgb(var(--primary-color)); border: 1px solid rgb(var(--primary-color)); border-radius: var(--border-radius); padding: 0.75rem 1.5rem; font-size: 0.875rem; font-weight: 500; cursor: pointer;"> 361 Zapri 362 </button> 363 </div> 364 </div> 365 `}renderSuccessContent(){return l` 366 <div style="text-align: center;"> 367 <!-- Success Icon --> 368 <div style="margin: 0 auto 1rem; width: 3rem; height: 3rem; border-radius: 50%; background: rgb(var(--success-color) / 0.1); display: flex; align-items: center; justify-content: center;"> 369 <svg style="width: 1.5rem; height: 1.5rem; color: rgb(var(--success-color));" fill="none" stroke="currentColor" viewBox="0 0 24 24"> 370 <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path> 371 </svg> 372 </div> 373 374 <p style="margin-bottom: 1.5rem;"> 375 ${this.message||"Vloga je bila uspeÅ¡no oddana."} 376 </p> 377 378 <button 379 type="button" 380 @click=${this.close} 381 style="background: rgb(var(--primary-color)); color: white; border: 1px solid rgb(var(--primary-color)); border-radius: var(--border-radius); padding: 0.75rem 2rem; font-size: 0.875rem; font-weight: 500; cursor: pointer;"> 382 V redu 383 </button> 384 </div> 385 `}renderLoadingContent(){return l` 386 <div style="text-align: center;"> 387 <!-- Loading Spinner --> 388 <div style="margin: 0 auto 1rem; display: flex; justify-content: center;"> 389 <div class="loading-spinner"></div> 390 </div> 391 392 <p style="margin-bottom: 0.5rem; font-weight: 500;"> 393 ${this.title||"Oddajanje vloge..."} 394 </p> 395 <p style="color: rgb(var(--text-color) / 0.7); font-size: 0.875rem;"> 396 ${this.message||"Prosimo, poÄakajte."} 397 </p> 398 </div> 399 `}dispatchRetry(){this.dispatchEvent(new CustomEvent("modal-retry",{bubbles:!0}))}};N.styles=q` 400 :host { 401 position: fixed; 402 top: 0; 403 left: 0; 404 width: 100vw; 405 height: 100vh; 406 z-index: 1000; 407 display: flex; 408 align-items: center; 409 justify-content: center; 410 padding: 1rem; 411 box-sizing: border-box; 412 } 413 414 .backdrop { 415 position: absolute; 416 inset: 0; 417 background: rgb(0 0 0 / 0.5); 418 backdrop-filter: blur(2px); 419 } 420
421 .modal-content { 422 position: relative; 423 background: rgb(var(--background)); 424 border-radius: var(--border-radius-lg); 425 box-shadow: var(--shadow-lg); 426 max-width: 42rem; 427 width: 100%; 428 max-height: 80vh; 429 overflow-y: auto; 430 padding: 1.5rem; 431 z-index: 1; 432 box-sizing: border-box; 433 } 434 435 .modal-header { 436 display: flex; 437 justify-content: space-between; 438 align-items: center; 439 margin-bottom: 1rem; 440 padding-bottom: 1rem; 441 border-bottom: 1px solid rgb(var(--border-color)); 442 } 443 444 .modal-title { 445 font-size: 1.125rem; 446 font-weight: 600; 447 color: rgb(var(--text-color)); 448 font-family: var(--font-family-secondary); 449 margin: 0; 450 } 451 452 .close-button { 453 background: none; 454 border: none; 455 font-size: 1.5rem; 456 color: rgb(var(--text-color) / 0.7); 457 cursor: pointer; 458 padding: 0.25rem; 459 border-radius: var(--border-radius); 460 transition: all 0.2s ease; 461 } 462 463 .close-button:hover { 464 color: rgb(var(--primary-color)); 465 background: rgb(var(--primary-color) / 0.1); 466 } 467 468 .modal-body { 469 color: rgb(var(--text-color)); 470 font-family: var(--font-family-primary); 471 line-height: 1.6; 472 } 473 474 .modal-body h3 { 475 font-size: 1rem; 476 font-weight: 600; 477 margin: 1.5rem 0 0.5rem 0; 478 color: rgb(var(--text-color)); 479 font-family: var(--font-family-secondary); 480 } 481 482 .modal-body h3:first-child { 483 margin-top: 0; 484 } 485 486 .modal-body p { 487 margin: 0 0 1rem 0; 488 font-size: 0.875rem; 489 } 490 491 .modal-body ul { 492 margin: 0.5rem 0 1rem 1.5rem; 493 font-size: 0.875rem; 494 } 495 496 .modal-body li { 497 margin-bottom: 0.25rem; 498 } 499 500 .modal-body em { 501 font-style: italic; 502 color: rgb(var(--text-color) / 0.8); 503 } 504 505 .modal-body a { 506 color: rgb(var(--primary-color)); 507 text-decoration: underline; 508 } 509 510 .modal-body a:hover { 511 text-decoration: none; 512 } 513 514 .hidden { 515 display: none !important; 516 } 517 518 @media (max-width: 640px) { 519 :host { 520 padding: 0.5rem; 521 } 522 523 .modal-content { 524 padding: 1rem; 525 max-height: 90vh; 526 } 527 528 .modal-title { 529 font-size: 1rem; 530 } 531 } 532 533 .loading-spinner { 534 width: 2rem; 535 height: 2rem; 536 border: 4px solid rgb(var(--border-color));
537 border-top: 4px solid rgb(var(--primary-color)); 538 border-radius: 50%; 539 animation: spin 1s linear infinite; 540 margin: 0 auto; 541} 542 543@keyframes spin { 544 0% { transform: rotate(0deg); } 545 100% { transform: rotate(360deg); } 546} 547 `,H([k({type:Boolean})],N.prototype,"open",2),H([k({type:String})],N.prototype,"title",2),H([k({type:String})],N.prototype,"type",2),H([k({type:String})],N.prototype,"message",2),N=H([X("modal-dialog")],N);var wt=Object.defineProperty,Pt=Object.getOwnPropertyDescriptor,b=(a,e,t,o)=>{for(var r=o>1?void 0:o?Pt(e,t):e,i=a.length-1,s;i>=0;i--)(s=a[i])&&(r=(o?s(e,t,r):s(r))||r);return o&&r&&wt(e,t,r),r};const Ne=["sl","en"],Y="sl",Et="";d.SponsorshipForm=class extends E{constructor(){super(...arguments),this.apiEndpoint=Et,this.language=Y,this.successRedirect="",this.theme="default",this.apiKey="",this.tenantId="",this.currentStep=f.TYPE_SELECTION,this.formData={},this.entityType=null,this.sponsorshipType=null,this.errors={},this.isSubmitting=!1,this.selectedFiles=[],this.showGdprModal=!1,this.showErrorModal=!1,this.showSuccessModal=!1,this.showLoadingModal=!1,this.modalMessage="",this.characterCounts={},this.currentLanguage=this.language,this.showSuccessView=!1,this.successReferenceNumber="",this.debouncedSave=jt(()=>({formData:this.formData,entityType:this.entityType,sponsorshipType:this.sponsorshipType,currentStep:this.currentStep}))}connectedCallback(){super.connectedCallback();let e=this.language;Ne.includes(e)||(console.warn(`Unsupported language "${e}". Defaulting to "${Y}".`),e=Y),this.currentLanguage=e,Te(e),this.applyCustomTheme(),this.checkUrlForSuccess(),this.showSuccessView||(this.loadSavedState(),this.setupAutoSave())}startNewApplication(){this.showSuccessView=!1,this.successReferenceNumber="";const e=new URL(window.location.href);e.searchParams.delete("ref"),window.history.pushState({},"",e.toString()),this.formData={},this.entityType=null,this.sponsorshipType=null,this.selectedFiles=[],this.currentStep=f.TYPE_SELECTION,this.errors={},this.scrollToTop()}updated(e){if(super.updated(e),e.has("language")){let t=this.language;Ne.includes(t)||(console.warn(`Unsupported language "${t}". Defaulting to "${Y}".`),t=Y),t!=this.currentLanguage&&(this.currentLanguage=t,Te(t))}e.has("theme")&&this.applyCustomTheme()}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this.cleanupAutoSave)==null||e.call(this)}get validThemeProperties(){return["primary-color","primary-hover","border-color","text-color","background","error-color","success-color","font-family-primary","font-family-secondary","border-radius","border-radius-lg","shadow","shadow-lg"]}resetCustomTheme(){this.validThemeProperties.forEach(e=>{this.style.removeProperty(`--${e}`)})}applyCustomTheme(){if(this.theme&&typeof this.theme=="string"&&this.theme.length>1&&this.theme.startsWith("{"))try{this.resetCustomTheme();const e=typeof this.theme=="string"?JSON.parse(this.theme):this.theme;Object.entries(e).forEach(([t,o])=>{this.validThemeProperties.includes(t)&&this.style.setProperty(`--${t}`,o)})}catch(e){console.warn("Invalid theme configuration:",e)}else this.resetCustomTheme()}loadSavedState(){try{const e=De();e.timestamp&&Date.now()-e.timestamp<30*60*1e3&&(this.formData=e.formData,this.entityType=e.entityType,this.sponsorshipType=e.sponsorshipType,this.currentStep=e.currentStep,this.updateCharacterCounts())}catch(e){console.warn("Failed to load saved state:",e)}}checkUrlForSuccess(){const t=new URLSearchParams(window.location.search).get("ref");t&&(this.showSuccessView=!0,this.successReferenceNumber=t,this.formData={},this.entityType=null,this.sponsorshipType=null,this.selectedFiles=[],this.currentStep=f.TYPE_SELECTION)}setupAutoSave(){this.cleanupAutoSave=ft(()=>({formData:this.formData,entityType:this.entityType,sponsorshipType:this.sponsorshipType,currentStep:this.currentStep}))}updateCharacterCounts(){["opis_projekta","opis_projekta_esg","nacin_oglasevanja","dodatno_sporocilo"].forEach(t=>{const o=this.formData[t];typeof o=="string"&&(this.characterCounts={...this.characterCounts,[t]:o.length})})}handleTypeSelection(e,t){this.sponsorshipType=t,this.formData={...this.formData,sponsorship_type:t}}handleEntitySelection(e){this.entityType=e,this.formData={...this.formData,entity_type:e}}handleInputChange(e,t){if(this.formData={...this.formData,[e]:t},this.errors[e]){const o={...this.errors};delete o[e],this.errors=o}this.debouncedSave()}handleTextareaChange(e,t,o){this.handleInputChange(e,t),this.characterCounts={...this.characterCounts,[e]:t.length}}nextStep(){const e=Ee(this.currentStep,this.formData,this.entityType,this.sponsorshipType);if(!e.isValid){this.errors=e.errors,this.scrollToFirstError();return}this.errors={},this.currentStep=this.currentStep+1,this.scrollToTop(),this.debouncedSave(!0)}previousStep(){this.currentStep=this.currentStep-1,this.scrollToTop(),this.debouncedSave(!0)}async handleSubmit(e){e.preventDefault();const t=mt(this.formData,this.entityType,this.sponsorshipType);if(!t.isValid){this.errors=t.errors,this.currentStep=t.firstErrorStep||f.TYPE_SELECTION,this.scrollToFirstError(),this.showErrorModal=!0,this.modalMessage=`${n("modals.error.validationErrors")} 548${Object.values(t.errors).join(` 549`)}`;return}this.showLoadingModal=!0,this.isSubmitting=!0;try{const o=await ht(this.formData,this.selectedFiles,this.apiEndpoint,this.apiKey,this.tenantId,this.currentLanguage);if(this.showLoadingModal=!1,o.success)if(xe(),this.successRedirect)window.location.href=`${this.successRedirect}?ref=${o.referenceNumber}`;else{this.formData={},this.entityType=null,this.sponsorshipType=null,this.selectedFiles=[],this.currentStep=f.TYPE_SELECTION,this.showSuccessView=!0,this.successReferenceNumber=o.referenceNumber||"";
549const r=new URL(window.location.href);r.searchParams.set("ref",o.referenceNumber||""),window.history.pushState({success:!0},"",r.toString()),this.dispatchEvent(new CustomEvent("form-submitted",{detail:{referenceNumber:o.referenceNumber},bubbles:!0}))}else this.showErrorModal=!0,this.modalMessage=o.message||n("modals.error.defaultMessage")}catch(o){console.error(o),this.showLoadingModal=!1,this.showErrorModal=!0,this.modalMessage=n("modals.error.networkError")}finally{this.isSubmitting=!1}}openGdprModal(){this.showGdprModal=!0}closeModal(e){switch(e){case"gdpr":this.showGdprModal=!1;break;case"error":this.showErrorModal=!1;break;case"success":this.showSuccessModal=!1;break;case"loading":this.showLoadingModal=!1;break}}handleModalRetry(){var t,o;this.closeModal("error");const e=new Event("submit",{bubbles:!0,cancelable:!0});(o=(t=this.shadowRoot)==null?void 0:t.querySelector("form"))==null||o.dispatchEvent(e)}scrollToTop(){this.scrollIntoView({behavior:"smooth",block:"start"})}canProceedStep1(){return this.sponsorshipType&&this.entityType}clearPostalCodeError(){if(this.errors.postna_stevilka){const e={...this.errors};delete e.postna_stevilka,delete e.posta,this.errors=e}}get isSlovenia(){return(this.formData.drzava||"SI").toUpperCase()==="SI"}handleCountryChange(e){this.handleInputChange("drzava",e),e.toUpperCase()!=="SI"&&(this.formData={...this.formData,drzava:e,postna_stevilka:"",posta:""})}handlePostalCodeInput(e){const t=e.target,o=t.value,r=t.selectionStart||0;if(this.clearPostalCodeError(),this.isSlovenia&&r===o.length&&o.length>0&&o.length<4){const i=dt(o);if(i){this.formData={...this.formData,postna_stevilka:i},t.value=i,setTimeout(()=>{t.setSelectionRange(o.length,i.length)},0);const s=ce(i);s&&(this.formData={...this.formData,posta:s}),this.requestUpdate();return}else this.formData={...this.formData,posta:""}}if(this.handleInputChange("postna_stevilka",o),this.isSlovenia&&o.length===4){const i=ce(o);this.formData={...this.formData,posta:i||""}}}scrollToFirstError(){setTimeout(()=>{var t;const e=(t=this.shadowRoot)==null?void 0:t.querySelector(".form-input.error, .form-select.error, .form-textarea.error");e&&(e.scrollIntoView({behavior:"smooth",block:"center"}),e.focus())},100)}render(){return l` 550 <div class="form-content"> 551 ${this.showSuccessView?this.renderSuccessView():l` 552 <step-indicator 553 .currentStep=${this.currentStep} 554 .totalSteps=${3}> 555 </step-indicator> 556 557 <form @submit=${this.handleSubmit} novalidate> 558 ${this.renderCurrentStep()} 559 </form> 560 `} 561 </div> 562 563 <!-- Only render modals when they should be visible --> 564 ${this.showGdprModal?l`<modal-dialog .open=${!0} type="gdpr" @modal-close=${()=>this.closeModal("gdpr")}></modal-dialog>`:p} 565 ${this.showErrorModal?l`<modal-dialog .open=${!0} type="error" .message=${this.modalMessage} @modal-close=${()=>this.closeModal("error")} @modal-retry=${this.handleModalRetry}></modal-dialog>`:p} 566 ${this.showSuccessModal?l`<modal-dialog .open=${!0} type="success" .message=${this.modalMessage} @modal-close=${()=>this.closeModal("success")}></modal-dialog>`:p} 567 ${this.showLoadingModal?l`<modal-dialog .open=${!0} type="loading" @modal-close=${()=>this.closeModal("loading")}></modal-dialog>`:p} 568 `}renderCurrentStep(){switch(this.currentStep){case f.TYPE_SELECTION:return this.renderStep1();case f.APPLICANT_DATA:return this.renderStep2();case f.PROJECT_DETAILS:return this.renderStep3();default:return p}}renderStep1(){return l` 569 <div class="text-center step-intro"> 570 <h2>${n("step1.title")}</h2> 571 <div class="description"> 572 <p>${n("step1.description.para1")}</p> 573 <p>${n("step1.description.para2")}</p> 574 </div> 575 </div> 576 577 <!-- Type Selection --> 578 <div class="form-field"> 579 <div class="text-center selection-header"> 580 <h3>${n("step1.typeSelection.title")}</h3> 581 <p>${n("step1.typeSelection.description")}</p> 582 </div> 583 <div class="selection-buttons"> 584 <button type="button" class="btn-selection ${u({active:this.sponsorshipType===_.SPONSORSHIP})}" part="btn-selection ${this.sponsorshipType===_.SPONSORSHIP?"active":""}" @click=${()=>this.handleTypeSelection("sponsorship",_.SPONSORSHIP)}> 585 ${n("step1.typeSelection.sponsorship")} 586 </button> 587 <button type="button" class="btn-selection ${u({active:this.sponsorshipType===_.DONATION})}" part="btn-selection ${this.sponsorshipType===_.DONATION?"active":""}" @click=${()=>this.handleTypeSelection("donation",_.DONATION)}> 588 ${n("step1.typeSelection.donation")} 589 </button> 590 </div> 591 </div> 592 593 <!-- Entity Selection --> 594 <div class="form-field"> 595 <div class="text-center selection-header"> 596 <h3>${n("step1.entitySelection.title")}</h3> 597 <p>${n("step1.entitySelection.description")}</p> 598 </div> 599 <div class="selection-buttons"> 600 <button type="button" class="btn-selection ${u({active:this.entityType===y.PHYSICAL})}" part="btn-selection ${this.entityType===y.PHYSICAL?"active":""}" @click=${()=>this.handleEntitySelection(y.PHYSICAL)}> 601 ${n("step1.entitySelection.physical")} 602 </button> 603 <button type="button" class="btn-selection ${u({active:this.entityType===y.LEGAL})}" part="btn-selection ${this.entityType===y.LEGAL?"active":""}" @click=${()=>this.handleEntitySelection(y.LEGAL)}> 604 ${n("step1.entitySelection.legal")} 605 </button> 606 </div> 607 </div> 608 609 <div class="form-actions" style="justify-content: center;"> 610 <button type="button" class="btn-primary" part="primary-button" ?disabled=${!this.canProceedStep1()} @click=${this.nextStep}> 611 ${n("navigation.next")} 612 </button> 613 </div> 614 `}
614renderStep2(){return l` 615 <!-- Applicant Data --> 616 <div class="field-group"> 617 <h4 class="field-group-title">${n("step2.applicantData.title")}</h4> 618 <p class="required-note">${n("step2.applicantData.requiredNote")}</p> 619 620 621 622 ${this.renderEntitySpecificFields()} 623 624 <div class="form-field"> 625 <label class="form-label">${n("step2.applicantData.country")} *</label> 626 <select class="form-select" .value=${this.formData.drzava||"SI"} @change=${e=>this.handleCountryChange(e.target.value)}> 627 <option value="SI" ?selected=${(this.formData.drzava||"SI")==="SI"}>Slovenija</option> 628 <option value="HR" ?selected=${this.formData.drzava==="HR"}>Hrvaška</option> 629 </select> 630 </div> 631 632 <div class="grid grid-cols-2"> 633 <div class="form-field"> 634 <label class="form-label">${n("step2.applicantData.postalCode")}${this.isSlovenia?" *":""}</label> 635 <input type="text" 636 class="form-input ${u({error:!!this.errors.postna_stevilka})}" 637 maxlength="${this.isSlovenia?"4":"20"}" 638 .value=${this.formData.postna_stevilka||""} 639 @input=${this.handlePostalCodeInput} 640 @keydown=${e=>{const t=e.target;if(this.isSlovenia&&e.key==="Backspace"){e.preventDefault(),t.value="",this.formData={...this.formData,postna_stevilka:"",posta:""},this.clearPostalCodeError(),this.requestUpdate();return}if(this.isSlovenia&&e.key.length===1&&/[0-9]/.test(e.key)){const o=e.target;if(o.selectionStart!==o.selectionEnd)return}}} 641 > 642 ${this.errors.postna_stevilka?l`<div class="error-message">${this.errors.postna_stevilka}</div>`:p} 643 </div> 644 <div class="form-field"> 645 <label class="form-label">${n("step2.applicantData.city")} *</label> 646 <input type="text" class="form-input ${u({error:!!this.errors.posta})}" ?readonly=${this.isSlovenia} .value=${this.formData.posta||""} @input=${e=>this.handleInputChange("posta",e.target.value)}> 647 ${this.errors.posta?l`<div class="error-message">${this.errors.posta}</div>`:p} 648 </div> 649 </div> 650 </div> 651 652 <!-- Contact Data --> 653 <div class="field-group"> 654 <h4 class="field-group-title">${n("step2.contactData.title")}</h4> 655 ${this.entityType===y.LEGAL?l`<div class="grid grid-cols-2"> 656 <div class="form-field"> 657 <label class="form-label">${n("step2.contactData.firstName")} *</label> 658 <input 659 type="text" 660 class="form-input ${u({error:!!this.errors.kontakt_ime})}" 661 .value=${this.formData.kontakt_ime||""} 662 @input=${e=>this.handleInputChange("kontakt_ime",e.target.value)}> 663 ${this.errors.kontakt_ime?l`<div class="error-message">${this.errors.kontakt_ime}</div>`:p} 664 </div> 665 <div class="form-field"> 666 <label class="form-label">${n("step2.contactData.lastName")} *</label> 667 <input 668 type="text" 669 class="form-input ${u({error:!!this.errors.kontakt_priimek})}" 670 .value=${this.formData.kontakt_priimek||""} 671 @input=${e=>this.handleInputChange("kontakt_priimek",e.target.value)}> 672 ${this.errors.kontakt_priimek?l`<div class="error-message">${this.errors.kontakt_priimek}</div>`:p} 673 </div> 674 </div>`:p} 675 <div class="grid grid-cols-2"> 676 <div class="form-field"> 677 <label class="form-label">${n("step2.contactData.email")} *</label> 678 <input type="email" class="form-input ${u({error:!!this.errors.email})}" .value=${this.formData.email||""} @input=${e=>this.handleInputChange("email",e.target.value)}> 679 ${this.errors.email?l`<div class="error-message">${this.errors.email}</div>`:p} 680 </div> 681 <div class="form-field"> 682 <label class="form-label">${n("step2.contactData.phone")} *</label> 683 <input type="tel" class="form-input ${u({error:!!this.errors.telefon})}" .value=${this.formData.telefon||""} @input=${e=>this.handleInputChange("telefon",e.target.value)}> 684 ${this.errors.telefon?l`<div class="error-message">${this.errors.telefon}</div>`:p} 685 </div> 686 </div> 687 </div> 688 689 <!-- Project Data --> 690 <div class="field-group"> 691 <h4 class="field-group-title">${n("step2.projectData.title")}</h4> 692 <div class="form-field"> 693 <label class="form-label">${n("step2.projectData.projectName")} *</label> 694 <input type="text" class="form-input ${u({error:!!this.errors.naziv_projekta})}" .value=${this.formData.naziv_projekta||""} @input=${e=>this.handleInputChange("naziv_projekta",e.target.value)}> 695 ${this.errors.naziv_projekta?l`<div class="error-message">${this.errors.naziv_projekta}</div>`:p} 696 </div> 697 698 <div class="grid grid-cols-2"> 699 <div class="form-field"> 700 <label class="form-label">${n("step2.projectData.startDate")} *</label> 701 <input type="date" class="form-input ${u({error:!!this.errors.datum_projekta})}" .value=${this.formData.datum_projekta||""} @input=${e=>this.handleInputChange("datum_projekta",e.target.value)}> 702 ${this.errors.datum_projekta?l`<div class="error-message">${this.errors.datum_projekta}</div>`:p} 703 </div> 704 <div class="form-field"> 705 <label class="form-label">${n("step2.projectData.endDate")} *</label> 706 <input type="date" class="form-input ${u({error:!!this.errors.datum_projekta_do})}" .value=${this.formData.datum_projekta_do||""} @input=${e=>this.handleInputChange("datum_projekta_do",e.target.value)}> 707 ${this.errors.datum_projekta_do?l`<div class="error-message">${this.errors.datum_projekta_do}</div>`:p} 708 </div> 709 </div> 710 711 <div class="form-field"> 712 <label class="form-label">${n("step2.projectData.description")} *</label> 713 <textarea class="form-textarea ${u({error:!!this.errors.opis_projekta})}" maxlength="1500" .value=${this.formData.opis_projekta||""} @input=${e=>{const t=e.target.value;this.handleTextareaChange("opis_projekta",t,1500)}}></textarea> 714 <div class="character-count ${u({warning:(this.characterCounts.opis_projekta||0)>1350,danger:(this.characterCounts.opis_projekta||0)>=1500})}"> 715 ${this.characterCounts.opis_projekta||0}/1500 716 </div> 717 ${this.errors.opis_projekta?l`<div class="error-message">${this.errors.opis_projekta}</div>`:p} 718 </div> 719 720 <div class="form-field"> 721 <label class="form-label">${n("step2.projectData.esgDescriptionEnable")}</label> 722 <select class="form-select" .value=${this.formData.opis_projekta_esg_enabled||""} @change=${e=>this.handleInputChange("opis_projekta_esg_enabled",e.target.value)}> 723 <option value="NE">${n("step2.projectData.esgDescriptionEnableNO")}</option> 724 <option value="DA">${n("step2.projectData.esgDescriptionEnableYES")}</option> 725 </select> 726 </div> 727 728 ${this.formData.opis_projekta_esg_enabled==="DA"?l`<div class="form-field"> 729 <label class="form-label">${n("step2.projectData.esgDescription")} *</label> 730 <textarea class="form-textarea ${u({error:!!this.errors.opis_projekta_esg})}" maxlength="1500" .value=${this.formData.opis_projekta_esg||""} @input=${e=>{const t=e.target.value;this.handleTextareaChange("opis_projekta_esg",t,1500)}}></textarea> 731 <div class="character-count ${u({warning:(this.characterCounts.opis_projekta_esg||0)>1350,danger:(this.characterCounts.opis_projekta_esg||0)>=1500})}"> 732 ${this.characterCounts.opis_projekta_esg||0}/1500 733 </div> 734 ${this.errors.opis_projekta_esg?l`<div class="error-message">${this.errors.opis_projekta_esg}</div>`:p} 735 </div>`:p} 736 737 <div class="form-field"> 738 <label class="form-label">${n("step2.projectData.amount")} *</label> 739 <input type="number" class="form-input ${u({error:!!this.errors.predlagan_znesek})}" min="0" step="0.01" .value=${this.formData.predlagan_znesek||""} @input=${e=>this.handleInputChange("predlagan_znesek",e.target.value)}> 740 ${this.errors.predlagan_znesek?l`<div class="error-message">${this.errors.predlagan_znesek}</div>`:p} 741 </div> 742 743 </div> 744 <div class="field-group"> 745 <h4 class="field-group-title">${n("step2.projectData.socialProfilesTitle")}</h4> 746 <div class="grid grid-cols-2"> 747 <div class="form-field"> 748 <label class="form-label">${n("step2.projectData.website")}</label> 749 <input class="form-input" .value=${this.formData.spletna_stran||""}> 750 </div> 751 <div class="form-field"> 752 <label class="form-label">${n("step2.projectData.facebook")}</label> 753 <input class="form-input" .value=${this.formData.facebook||""}> 754 </div> 755 </div> 756 <div class="grid grid-cols-2"> 757 <div class="form-field"> 758 <label class="form-label">${n("step2.projectData.instagram")}</label> 759 <input class="form-input" .value=${this.formData.instagram||""}> 760 </div> 761 <div class="form-field"> 762 <label class="form-label">${n("step2.projectData.youtube")}</label> 763 <input class="form-input" .value=${this.formData.youtube||""}> 764 </div> 765 </div> 766 <div class="grid grid-cols-2"> 767 <div class="form-field"> 768 <label class="form-label">${n("step2.projectData.linkedin")}</label> 769 <input class="form-input" .value=${this.formData.linkedin||""}> 770 </div> 771 <div class="form-field"> 772 <label class="form-label">${n("step2.projectData.tiktok")}</label> 773 <input class="form-input" .value=${this.formData.tiktok||""}> 774 </div> 775 </div> 776 </div> 777 778 <div class="selected-type-display"> 779 <p>${n("step2.selectedType")} <span class="type-value">${this.sponsorshipType===_.SPONSORSHIP?n("step1.typeSelection.sponsorship"):n("step1.typeSelection.donation")}</span></p> 780 </div> 781 782 <div class="form-actions"> 783 <button type="button" class="btn-primary btn-outline" part="outline-button" @click=${this.previousStep}>${n("navigation.back")}</button> 784 <button type="button" class="btn-primary" part="primary-button" @click=${this.nextStep}>${n("navigation.next")}</button> 785 </div> 786 `}renderStep3(){return l` 787 <div class="field-group"> 788 <h4 class="field-group-title">${n("step3.projectField.title")}</h4> 789 <div class="form-field"> 790 <label class="form-label">${n("step3.projectField.selectField")} *</label> 791 <select class="form-select ${u({error:!!this.errors.podrocje})}" .value=${this.formData.podrocje||""} @change=${e=>this.handleInputChange("podrocje",e.target.value)}> 792 <option value="">${n("step3.projectField.selectField")}</option> 793 <option value="sport">${n("step3.projectField.options.sport")}</option> 794 <option value="kultura">${n("step3.projectField.options.culture")}</option> 795 <option value="izobrazevanje">${n("step3.projectField.options.education")}</option> 796 <option value="humanitarnost">${n("step3.projectField.options.humanitarian")}</option> 797 <option value="trajnost">${n("step3.projectField.options.sustainability")}</option> 798 <option value="drugo">${n("step3.projectField.options.other")}</option> 799 </select> 800 ${this.errors.podrocje?l`<div class="error-message">${this.errors.podrocje}</div>`:p} 801 </div> 802 803 ${this.formData.podrocje==="drugo"?l` 804 <div class="form-field"> 805 <label class="form-label">${n("step3.projectField.customField")} *</label> 806 <input type="text" class="form-input ${u({error:!!this.errors.drugo_podrocje})}" .value=${this.formData.drugo_podrocje||""} @input=${e=>this.handleInputChange("drugo_podrocje",e.target.value)}> 807 ${this.errors.drugo_podrocje?l`<div class="error-message">${this.errors.drugo_podrocje}</div>`:p} 808 </div> 809 `:p} 810 </div> 811 812 ${this.sponsorshipType===_.SPONSORSHIP?l` 813 <div class="field-group"> 814 <h4 class="field-group-title">${n("step3.marketing.title")}</h4> 815 <div class="form-field"> 816 <label class="form-label">${n("step3.marketing.channels")} *</label> 817 <textarea class="form-textarea ${u({error:!!this.errors.nacin_oglasevanja})}" maxlength="2000" placeholder="${n("step3.marketing.placeholder")}" .value=${this.formData.nacin_oglasevanja||""} @input=${e=>{const t=e.target.value;this.handleTextareaChange("nacin_oglasevanja",t,2e3)}}></textarea> 818 <div class="character-count ${u({warning:(this.characterCounts.nacin_oglasevanja||0)>1800,danger:(this.characterCounts.nacin_oglasevanja||0)>=2e3})}"> 819 ${this.characterCounts.nacin_oglasevanja||0}/2000 820 </div> 821 ${this.errors.nacin_oglasevanja?l`<div class="error-message">${this.errors.nacin_oglasevanja}</div>`:p} 822 </div> 823 </div> 824 `:p} 825 826 <div class="field-group"> 827 <div class="form-field"> 828 <label class="form-label">
828${n("step3.additionalMessage.title")}</label> 829 <textarea class="form-textarea" maxlength="500" .value=${this.formData.dodatno_sporocilo||""} @input=${e=>{const t=e.target.value;this.handleTextareaChange("dodatno_sporocilo",t,500)}}></textarea> 830 <div class="character-count ${u({warning:(this.characterCounts.dodatno_sporocilo||0)>450,danger:(this.characterCounts.dodatno_sporocilo||0)>=500})}"> 831 ${this.characterCounts.dodatno_sporocilo||0}/500 832 </div> 833 </div> 834 </div> 835 836 <file-upload .selectedFiles=${this.selectedFiles} @files-changed=${e=>this.selectedFiles=e.detail.files}></file-upload> 837 838 <div class="gdpr-consent"> 839 <div class="consent-wrapper"> 840 <input type="checkbox" id="gdpr_consent" .checked=${this.formData.gdpr_consent==="true"} @change=${e=>this.handleInputChange("gdpr_consent",e.target.checked.toString())}> 841 <label for="gdpr_consent"> 842 ${n("step3.gdpr.agreement")} 843 <button type="button" class="gdpr-link" @click=${this.openGdprModal}>${n("step3.gdpr.terms")}</button>. 844 </label> 845 </div> 846 ${this.errors.gdpr_consent?l`<div class="error-message">${this.errors.gdpr_consent}</div>`:p} 847 </div> 848 849 <div class="form-actions"> 850 <button type="button" class="btn-primary btn-outline" part="outline-button" @click=${this.previousStep}>${n("navigation.back")}</button> 851 <button type="submit" class="btn-primary" part="primary-button" ?disabled=${this.isSubmitting||this.formData.gdpr_consent!=="true"}> 852 ${this.isSubmitting?n("navigation.submitting"):n("navigation.submit")} 853 </button> 854 </div> 855 `}renderEntitySpecificFields(){return this.entityType===y.PHYSICAL?l` 856 <div class="grid grid-cols-2"> 857 <div class="form-field"> 858 <label class="form-label">${n("step2.applicantData.firstName")} *</label> 859 <input 860 type="text" 861 class="form-input ${u({error:!!this.errors.ime})}" 862 .value=${this.formData.ime||""} 863 @input=${e=>this.handleInputChange("ime",e.target.value)}> 864 ${this.errors.ime?l`<div class="error-message">${this.errors.ime}</div>`:p} 865 </div> 866 <div class="form-field"> 867 <label class="form-label">${n("step2.applicantData.lastName")} *</label> 868 <input 869 type="text" 870 class="form-input ${u({error:!!this.errors.priimek})}" 871 .value=${this.formData.priimek||""} 872 @input=${e=>this.handleInputChange("priimek",e.target.value)}> 873 ${this.errors.priimek?l`<div class="error-message">${this.errors.priimek}</div>`:p} 874 </div> 875 </div> 876 <div class="form-field"> 877 <label class="form-label">${n("step2.applicantData.address")} *</label> 878 <input type="text" class="form-input ${u({error:!!this.errors.naslov})}" .value=${this.formData.naslov||""} @input=${e=>this.handleInputChange("naslov",e.target.value)}> 879 ${this.errors.naslov?l`<div class="error-message">${this.errors.naslov}</div>`:p} 880 </div> 881 `:this.entityType===y.LEGAL?l` 882 <div class="form-field"> 883 <label class="form-label">${n("step2.applicantData.organizationName")} *</label> 884 <input type="text" class="form-input ${u({error:!!this.errors.naziv_organizacije})}" .value=${this.formData.naziv_organizacije||""} @input=${e=>this.handleInputChange("naziv_organizacije",e.target.value)}> 885 ${this.errors.naziv_organizacije?l`<div class="error-message">${this.errors.naziv_organizacije}</div>`:p} 886 </div> 887 <div class="form-field"> 888 <label class="form-label">${n("step2.applicantData.organizationAddress")} *</label> 889 <input type="text" class="form-input ${u({error:!!this.errors.naslov_organizacije})}" .value=${this.formData.naslov_organizacije||""} @input=${e=>this.handleInputChange("naslov_organizacije",e.target.value)}> 890 ${this.errors.naslov_organizacije?l`<div class="error-message">${this.errors.naslov_organizacije}</div>`:p} 891 </div> 892 893 <div class="grid grid-cols-2"> 894 <div class="form-field"> 895 <label class="form-label">
895${n("step2.applicantData.taxNumber")} *</label> 896 <input type="text" class="form-input ${u({error:!!this.errors.davcna_stevilka})}" .value=${this.formData.davcna_stevilka||""} @input=${e=>this.handleInputChange("davcna_stevilka",e.target.value)}> 897 ${this.errors.davcna_stevilka?l`<div class="error-message">${this.errors.davcna_stevilka}</div>`:p} 898 </div> 899 <div class="form-field"> 900 <label class="form-label">${n("step2.applicantData.taxPayer")} *</label> 901 <select class="form-select ${u({error:!!this.errors.davcni_zavezanec})}" .value=${this.formData.davcni_zavezanec||""} @change=${e=>this.handleInputChange("davcni_zavezanec",e.target.value)}> 902 <option value="">${n("options.selectPlaceholder")}</option> 903 <option value="da">${n("options.yes")}</option> 904 <option value="ne">${n("options.no")}</option> 905 </select> 906 ${this.errors.davcni_zavezanec?l`<div class="error-message">${this.errors.davcni_zavezanec}</div>`:p} 907 </div> 908 </div> 909 `:p}renderSuccessView(){return l` 910 <div class="success-view"> 911 <div class="success-card"> 912 <!-- Success Icon --> 913 <div class="success-icon-wrapper"> 914 <svg class="success-icon" fill="none" stroke="currentColor" viewBox="0 0 24 24"> 915 <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path> 916 </svg> 917 </div> 918 919 <!-- Success Message --> 920 <div class="success-message"> 921 <h2>${n("success.title")}</h2> 922 <p>${n("success.thankYou")}</p> 923 </div> 924 925 <!-- Process Information --> 926 <div class="process-info"> 927 <h3>${n("success.whatNext.title")}</h3> 928 929 <div class="process-steps"> 930 <div class="process-step"> 931 <div class="step-number">1</div> 932 <div class="step-content"> 933 <h4>${n("success.whatNext.step1.title")}</h4> 934 <p>${n("success.whatNext.step1.description")}</p> 935 </div> 936 </div> 937 938 <div class="process-step"> 939 <div class="step-number">2</div> 940 <div class="step-content"> 941 <h4>${n("success.whatNext.step2.title")}</h4> 942 <p>${n("success.whatNext.step2.description")}</p> 943 </div> 944 </div> 945 946 <div class="process-step"> 947 <div class="step-number">3</div> 948 <div class="step-content"> 949 <h4>${n("success.whatNext.step3.title")}</h4> 950 <p>${n("success.whatNext.step3.description")}</p> 951 </div> 952 </div> 953 </div> 954 </div> 955 956 <!-- Timeline Information --> 957 <div class="timeline-info"> 958 <div class="timeline-header"> 959 <svg class="timeline-icon" fill="none" stroke="currentColor" viewBox="0 0 24 24"> 960 <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"></path> 961 </svg> 962 <h3>${n("success.timeline.title")}</h3> 963 </div> 964 <p> 965 <strong>${n("success.timeline.description")}</strong> ${n("success.timeline.note")!=="success.timeline.note"?n("success.timeline.note"):""} 966 </p> 967 </div> 968 969 <!-- Contact Information --> 970 <div class="contact-section"> 971 <h3>${n("success.contact.title")}</h3> 972 <p>${n("success.contact.description")}</p> 973 974 <div class="contact-links"> 975 <a href="mailto:${n("success.contact.email")}" class="contact-link"> 976 <svg class="contact-icon" fill="none" stroke="currentColor" viewBox="0 0 24 24"> 977 <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 4.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path> 978 </svg> 979 ${n("success.contact.email")} 980 </a> 981 982 ${n("success.contact.phone")!=="success.contact.phone"?l` 983 <a href="tel:${n("success.contact.phone").replace(/\s/g,"")}" class="contact-link"> 984 <svg class="contact-icon" fill="none" stroke="currentColor" viewBox="0 0 24 24"> 985 <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042
98511.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z"></path> 986 </svg> 987 ${n("success.contact.phone")} 988 </a> 989 `:p} 990 </div> 991 </div> 992 993 <!-- Reference Number --> 994 <div class="reference-section"> 995 <p> 996 <strong>${n("success.reference.label")}</strong> 997 <span class="reference-number">#${this.successReferenceNumber}</span> 998 <br /> 999 <em>${n("success.reference.note")}</em> 1000 </p> 1001 </div> 1002 1003 <!-- New Application Button --> 1004 <div style="margin-top: 2rem; text-align: center;"> 1005 <button 1006 type="button" 1007 class="btn-primary" 1008 @click=${this.startNewApplication}> 1009 ${n("success.newApplication")} 1010 </button> 1011 </div> 1012 </div> 1013 </div> 1014 `}},d.SponsorshipForm.styles=q` 1015 :host { 1016 --primary-color: 59 130 246; 1017 --primary-hover: 37 99 235; 1018 --border-color: 229 231 235; 1019 --text-color: 31 41 55; 1020 --background: 255 255 255; 1021 --error-color: 239 68 68; 1022 --success-color: 34 197 94; 1023 --font-family-primary: system-ui, -apple-system, sans-serif; 1024 --font-family-secondary: var(--font-family-primary); 1025 --border-radius: 0.5rem; 1026 --border-radius-lg: 0.75rem; 1027 --shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1); 1028 --shadow-lg: 0 25px 50px -12px rgb(0 0 0 / 0.25); 1029 1030 display: block; 1031 font-family: var(--font-family-primary); 1032 width: 100%; 1033 } 1034
1035 /* Remove container constraints - form should be full width */ 1036 .form-content { 1037 width: 100%; 1038 } 1039 1040 /* Button styles */ 1041 .btn-primary { 1042 background-color: rgb(var(--primary-color)); 1043 color: white; 1044 border: 1px solid rgb(var(--primary-color)); 1045 border-radius: var(--border-radius); 1046 padding: 0.75rem 2rem; 1047 font-size: 0.875rem; 1048 font-weight: 500; 1049 font-family: var(--font-family-primary); 1050 cursor: pointer; 1051 transition: all 0.2s ease; 1052 display: inline-flex; 1053 align-items: center; 1054 justify-content: center; 1055 gap: 0.5rem; 1056 text-decoration: none; 1057 } 1058 1059 .btn-primary:hover:not(:disabled) { 1060 background-color: rgb(var(--primary-hover)); 1061 transform: scale(1.05); 1062 box-shadow: var(--shadow-lg); 1063 } 1064 1065 .btn-primary:disabled { 1066 opacity: 0.5; 1067 cursor: not-allowed; 1068 transform: none; 1069 } 1070 1071 .btn-outline { 1072 background: transparent; 1073 color: rgb(var(--primary-color)); 1074 border: 1px solid rgb(var(--primary-color)); 1075 } 1076 1077 .btn-outline:hover:not(:disabled) { 1078 background: rgb(var(--primary-color) / 0.05); 1079 } 1080 1081 .btn-selection { 1082 background: rgb(var(--background)); 1083 color: rgb(var(--text-color)); 1084 border: 1px solid rgb(var(--border-color)); 1085 border-radius: 50px; 1086 padding: 0.75rem 1.5rem; 1087 font-size: 0.875rem; 1088 font-weight: 500; 1089 cursor: pointer; 1090 transition: all 0.2s ease; 1091 font-family: var(--font-family-primary); 1092 } 1093 1094 .btn-selection:hover { 1095 border-color: rgb(var(--primary-color)); 1096 color: rgb(var(--primary-color)); 1097 background: rgb(var(--primary-color) / 0.05); 1098 } 1099 1100 .btn-selection.active { 1101 background: rgb(var(--primary-color)); 1102 border-color: rgb(var(--primary-color)); 1103 color: white; 1104 } 1105 1106 /* Form field styles with proper box-sizing */ 1107 .form-field { 1108 margin-bottom: 1.5rem; 1109 } 1110 1111 .form-label { 1112 display: block; 1113 font-size: 0.875rem; 1114 font-weight: 500; 1115 color: rgb(var(--text-color)); 1116 margin-bottom: 0.5rem; 1117 font-family: var(--font-family-primary); 1118 } 1119 1120 .form-input, 1121 .form-select, 1122 .form-textarea { 1123 width: 100%; 1124 box-sizing: border-box; /* Fix for width issues */ 1125 padding: 0.75rem 1rem; 1126 border: 1px solid rgb(var(--border-color)); 1127 border-radius: var(--border-radius); 1128 font-size: 0.875rem; 1129 color: rgb(var(--text-color)); 1130 background: rgb(var(--background)); 1131 transition: all 0.2s ease; 1132 font-family: var(--font-family-primary); 1133 } 1134 1135 .form-input:focus, 1136 .form-select:focus, 1137 .form-textarea:focus { 1138 outline: none; 1139 border-color: rgb(var(--primary-color)); 1140 box-shadow: 0 0 0 3px rgb(var(--primary-color) / 0.1); 1141 } 1142 1143 .form-input.error, 1144 .form-select.error, 1145 .form-textarea.error { 1146 border-color: rgb(var(--error-color)); 1147 box-shadow: 0 0 0 3px rgb(var(--error-color) / 0.1); 1148 } 1149 1150 .form-textarea { 1151 min-height: 120px; 1152 resize: vertical; 1153 box-sizing: border-box; 1154 } 1155 1156 .error-message { 1157 color: rgb(var(--error-color)); 1158 font-size: 0.75rem; 1159 margin-top: 0.25rem; 1160 font-family: var(--font-family-primary); 1161 } 1162 1163 .field-group-title { 1164 font-size: 1.125rem; 1165 font-weight: 600; 1166 color: rgb(var(--text-color)); 1167 margin-bottom: 1rem; 1168 padding-bottom: 0.5rem; 1169 border-bottom: 1px solid rgb(var(--border-color)); 1170 font-family: var(--font-family-secondary); 1171 } 1172 1173 .character-count { 1174 font-size: 0.75rem; 1175 color: rgb(var(--text-color) / 0.7); 1176 text-align: right; 1177 margin-top: 0.25rem; 1178 font-family: var(--font-family-primary); 1179 } 1180 1181 .character-count.warning { 1182 color: rgb(245 158 11); 1183 } 1184 1185 .character-count.danger { 1186 color: rgb(var(--error-color)); 1187 } 1188 1189 /* Layout styles */ 1190 .text-center { 1191 text-align: center; 1192 } 1193 1194 .grid { 1195 display: grid; 1196 gap: 1rem; 1197 } 1198 1199 .grid-cols-2 { 1200 grid-template-columns: repeat(2, 1fr); 1201 } 1202 1203 .hidden { 1204 display: none !important; 1205 } 1206 1207 .step-intro { 1208 margin-bottom: 2rem; 1209 } 1210 1211 .step-intro h2 { 1212 margin-bottom: 1rem; 1213 font-family: var(--font-family-secondary); 1214 } 1215 1216 .description { 1217 margin-bottom: 2rem; 1218 padding: 1rem; 1219 } 1220 1221 .description p { 1222 margin-bottom: 1rem; 1223 } 1224 1225 .selection-header { 1226 margin-bottom: 2rem; 1227 } 1228 1229 .selection-header h3 { 1230 margin-bottom: 1rem; 1231 font-family: var(--font-family-secondary); 1232 } 1233 1234 .selection-header p { 1235 margin-bottom: 1rem; 1236 } 1237 1238 .selection-buttons { 1239 display: flex; 1240 flex-wrap: wrap; 1241 gap: 1rem; 1242 justify-content: center; 1243 margin-bottom: 2rem; 1244 } 1245 1246 .form-actions { 1247 display: flex; 1248 flex-wrap: wrap; 1249 gap: 0.75rem; 1250 justify-content: space-between; 1251 } 1252 1253 .field-group { 1254 margin-bottom: 2rem; 1255 } 1256 1257 .required-note { 1258 font-size: 0.875rem; 1259 margin-bottom: 1.5rem; 1260 color: rgb(var(--text-color) / 0.7); 1261 font-family: var(--font-family-primary); 1262 } 1263 1264 .selected-type-display { 1265 margin-bottom: 2rem; 1266 padding: 1rem; 1267 background: rgb(var(--primary-color) / 0.05); 1268 border-radius: var(--border-radius); 1269 } 1270 1271 .selected-type-display p { 1272 font-size: 0.875rem; 1273 font-weight: 500; 1274 margin: 0; 1275 } 1276 1277 .type-value { 1278 font-weight: 600; 1279 color: rgb(var(--primary-color)); 1280 } 1281 1282 .gdpr-consent { 1283 margin-bottom: 2rem; 1284 } 1285 1286 .consent-wrapper { 1287 display: flex; 1288 align-items: flex-start; 1289 gap: 0.75rem; 1290 } 1291 1292 .consent-wrapper input[type="checkbox"] { 1293 width: 1rem; 1294 height: 1rem; 1295 margin-top: 0.125rem; 1296 } 1297 1298 .consent-wrapper label { 1299 font-size: 0.875rem; 1300 cursor: pointer; 1301 } 1302 1303 .gdpr-link { 1304 color: rgb(var(--primary-color)); 1305 text-decoration: underline; 1306 background: none; 1307 border: none; 1308 cursor: pointer; 1309 font-size: inherit; 1310 } 1311 1312 .gdpr-link:hover { 1313 text-decoration: none; 1314 } 1315 1316 /* Responsive design */ 1317 @media (max-width: 768px) { 1318 .grid-cols-2 { 1319 grid-template-columns: 1fr; 1320 } 1321 } 1322 1323 1324/* Success View Styles */ 1325.success-view { 1326 width: 100%; 1327 padding: 2rem 0; 1328} 1329 1330.success-card { 1331 background: transparent; 1332 padding: 0; 1333 text-align: center; 1334} 1335 1336.success-icon-wrapper { 1337 margin: 0 auto 1.5rem; 1338 width: 4rem; 1339 height: 4rem; 1340 border-radius: 50%; 1341 background: rgb(var(--success-color) / 0.1); 1342 display: flex; 1343 align-items: center; 1344 justify-content: center; 1345} 1346 1347.success-icon { 1348 width: 2rem; 1349 height: 2rem; 1350 color: rgb(var(--success-color)); 1351} 1352 1353.success-message { 1354 margin-bottom: 2rem; 1355} 1356 1357.success-message h2 { 1358 font-size: 1.5rem; 1359 font-weight: 700; 1360 color: rgb(var(--text-color)); 1361 margin-bottom: 1rem; 1362 font-family: var(--font-family-secondary); 1363} 1364 1365.success-message p { 1366 font-size: 1.125rem; 1367 line-height: 1.75; 1368 color: rgb(var(--text-color)); 1369 font-family: var(--font-family-primary); 1370} 1371 1372.process-info { 1373 background: rgb(var(--background)); 1374 border-radius: var(--border-radius); 1375 padding: 1.5rem; 1376 margin-bottom: 2rem; 1377 text-align: left; 1378} 1379 1380.process-info h3 { 1381 font-size: 1.125rem; 1382 font-weight: 600; 1383 color: rgb(var(--text-color)); 1384 margin-bottom: 1rem; 1385 font-family: var(--font-family-secondary); 1386} 1387 1388.process-steps { 1389 display: flex; 1390 flex-direction: column; 1391 gap: 1rem; 1392} 1393 1394.process-step { 1395 display: flex; 1396 align-items: flex-start; 1397 gap: 0.75rem; 1398} 1399 1400.step-number { 1401 flex-shrink: 0; 1402 width: 2rem; 1403 height: 2rem; 1404 background: rgb(var(--primary-color)); 1405 color: white; 1406 border-radius: 50%; 1407 display: flex; 1408 align-items: center; 1409 justify-content: center; 1410 font-size: 0.875rem; 1411 font-weight: 500; 1412 font-family: var(--font-family-secondary); 1413} 1414 1415.step-content { 1416 flex: 1; 1417 padding-top: 0.125rem; 1418} 1419 1420.step-content h4 { 1421 font-weight: 500; 1422 color: rgb(var(--text-color)); 1423 margin: 0 0 0.25rem 0; 1424 font-family: var(--font-family-primary); 1425} 1426 1427.step-content p { 1428 font-size: 0.875rem; 1429 color: rgb(var(--text-color) / 0.8); 1430 margin: 0; 1431 font-family: var(--font-family-primary); 1432} 1433 1434.timeline-info { 1435 background: rgb(var(--primary-color) / 0.05); 1436 border: 1px solid rgb(var(--primary-color) / 0.2); 1437 border-radius: var(--border-radius); 1438 padding: 1.5rem; 1439 margin-bottom: 2rem; 1440} 1441 1442.timeline-header { 1443 display: flex; 1444 align-items: center; 1445 justify-content: center; 1446 margin-bottom: 1rem; 1447} 1448 1449.timeline-icon { 1450 width: 1.5rem; 1451 height: 1.5rem; 1452 color: rgb(var(--primary-color)); 1453 margin-right: 0.5rem; 1454} 1455 1456.timeline-info h3 { 1457 font-size: 1.125rem; 1458 font-weight: 600; 1459 color: rgb(var(--text-color)); 1460 font-family: var(--font-family-secondary); 1461 margin: 0; 1462} 1463 1464.timeline-info p { 1465 font-family: var(--font-family-primary); 1466 color: rgb(var(--text-color)); 1467 margin: 0; 1468} 1469 1470.contact-section { 1471 border-top: 1px solid rgb(var(--border-color)); 1472 padding-top: 1.5rem; 1473 margin-top: 2rem; 1474} 1475 1476.contact-section h3 { 1477 font-size: 1.125rem; 1478 font-weight: 600; 1479 color: rgb(var(--text-color)); 1480 margin-bottom: 1rem; 1481 font-family: var(--font-family-secondary); 1482} 1483 1484.contact-section p { 1485 margin-bottom: 1rem; 1486 font-family: var(--font-family-primary); 1487 color: rgb(var(--text-color)); 1488} 1489 1490.contact-links { 1491 display: flex; 1492 flex-direction: column; 1493 gap: 1rem; 1494 align-items: center; 1495} 1496 1497.contact-link { 1498 display: flex; 1499 align-items: center; 1500 color: rgb(var(--primary-color)); 1501 text-decoration: none; 1502 transition: color 0.2s ease; 1503} 1504 1505.contact-link:hover {
1506 color: rgb(var(--primary-hover)); 1507} 1508 1509.contact-icon { 1510 width: 1.25rem; 1511 height: 1.25rem; 1512 margin-right: 0.5rem; 1513} 1514 1515.reference-section { 1516 margin-top: 2rem; 1517 padding-top: 1.5rem; 1518 border-top: 1px solid rgb(var(--border-color)); 1519} 1520 1521.reference-section p { 1522 font-size: 0.75rem; 1523 color: rgb(var(--text-color) / 0.8); 1524 font-family: var(--font-family-primary); 1525 margin: 0; 1526} 1527 1528.reference-section strong { 1529 font-weight: 600; 1530} 1531 1532.reference-number { 1533 color: rgb(var(--primary-color)); 1534 font-weight: 600; 1535} 1536 1537.reference-section em { 1538 font-style: italic; 1539 color: rgb(var(--text-color) / 0.6); 1540} 1541 1542@media (min-width: 640px) { 1543 .contact-links { 1544 flex-direction: row; 1545 justify-content: center; 1546 } 1547} 1548 1549.form-input[readonly] { 1550 background-color: rgb(var(--border-color) / 0.1); 1551 cursor: not-allowed; 1552} 1553 `,b([k({type:String,attribute:"api-endpoint"})],d.SponsorshipForm.prototype,"apiEndpoint",2),b([k({type:String})],d.SponsorshipForm.prototype,"language",2),b([k({type:String,attribute:"success-redirect"})],d.SponsorshipForm.prototype,"successRedirect",2),b([k({type:String})],d.SponsorshipForm.prototype,"theme",2),b([k({type:String,attribute:"api-key"})],d.SponsorshipForm.prototype,"apiKey",2),b([k({type:String,attribute:"tenant-id"})],d.SponsorshipForm.prototype,"tenantId",2),b([j()],d.SponsorshipForm.prototype,"currentStep",2),b([j()],d.SponsorshipForm.prototype,"formData",2),b([j()],d.SponsorshipForm.prototype,"entityType",2),b([j()],d.SponsorshipForm.prototype,"sponsorshipType",2),b([j()],d.SponsorshipForm.prototype,"errors",2),b([j()],d.SponsorshipForm.prototype,"isSubmitting",2),b([j()],d.SponsorshipForm.prototype,"selectedFiles",2),b([j()],d.SponsorshipForm.prototype,"showGdprModal",2),b([j()],d.SponsorshipForm.prototype,"showErrorModal",2),b([j()],d.SponsorshipForm.prototype,"showSuccessModal",2),b([j()],d.SponsorshipForm.prototype,"showLoadingModal",2),b([j()],d.SponsorshipForm.prototype,"modalMessage",2),b([j()],d.SponsorshipForm.prototype,"characterCounts",2),b([j()],d.SponsorshipForm.prototype,"currentLanguage",2),b([j()],d.SponsorshipForm.prototype,"showSuccessView",2),b([j()],d.SponsorshipForm.prototype,"successReferenceNumber",2),d.SponsorshipForm=b([X("sponsorship-form")],d.SponsorshipForm),Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.