@bloque/payments-elements 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -20
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
var e={};e.d=(t,r)=>{for(var o in r)e.o(r,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:r[o]})},e.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var t={};e.d(t,{h:()=>BloqueCheckout});let r=globalThis,o=r.ShadowRoot&&(void 0===r.ShadyCSS||r.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),a=new WeakMap;let css_tag_n=class css_tag_n{constructor(e,t,r){if(this._$cssResult$=!0,r!==i)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(o&&void 0===e){let r=void 0!==t&&1===t.length;r&&(e=a.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&a.set(t,e))}return e}toString(){return this.cssText}};let css_tag_i=(e,...t)=>new css_tag_n(1===e.length?e[0]:t.reduce((t,r,o)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+e[o+1],e[0]),e,i),s=o?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t,r="";for(let t of e.cssRules)r+=t.cssText;return new css_tag_n("string"==typeof(t=r)?t:t+"",void 0,i)})(e):e,{is:l,defineProperty:n,getOwnPropertyDescriptor:d,getOwnPropertyNames:c,getOwnPropertySymbols:p,getPrototypeOf:h}=Object,u=globalThis,m=u.trustedTypes,f=m?m.emptyScript:"",b=u.reactiveElementPolyfillSupport,v={toAttribute(e,t){switch(t){case Boolean:e=e?f:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=null!==e;break;case Number:r=null===e?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch{r=null}}return r}},reactive_element_f=(e,t)=>!l(e,t),
|
|
2
|
-
\f\r]`,
|
|
3
|
-
\f\r"'\`<>=]|("|')|))|$)`,"g"),j=/'/g,B=/"/g,F=/^(?:script|style|textarea|title)$/i,lit_html_y=e=>(t,...r)=>({_$litType$:e,strings:t,values:r}),V=lit_html_y(1),Y=(lit_html_y(2),lit_html_y(3),Symbol.for("lit-noChange")),W=Symbol.for("lit-nothing"),G=new WeakMap,J=S.createTreeWalker(S,129);function P(e,t){if(!w(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==$?$.createHTML(t):t}let N=class N{constructor({strings:e,_$litType$:t},r){let o;this.parts=[];let i=0,a=0,s=e.length-1,l=this.parts,[n,d]=((e,t)=>{let r=e.length-1,o=[],i,a=2===t?"<svg>":3===t?"<math>":"",s=O;for(let t=0;t<r;t++){let r=e[t],l,n,d=-1,c=0;for(;c<r.length&&(s.lastIndex=c,null!==(n=s.exec(r)));)c=s.lastIndex,s===O?"!--"===n[1]?s=D:void 0!==n[1]?s=T:void 0!==n[2]?(F.test(n[2])&&(i=RegExp("</"+n[2],"g")),s=U):void 0!==n[3]&&(s=U):s===U?">"===n[0]?(s=i??O,d=-1):void 0===n[1]?d=-2:(d=s.lastIndex-n[2].length,l=n[1],s=void 0===n[3]?U:'"'===n[3]?B:j):s===B||s===j?s=U:s===D||s===T?s=O:(s=U,i=void 0);let p=s===U&&e[t+1].startsWith("/>")?" ":"";a+=s===O?r+E:d>=0?(o.push(l),r.slice(0,d)+x+r.slice(d)+A+p):r+A+(-2===d?t:p)}return[P(e,a+(e[r]||"<?>")+(2===t?"</svg>":3===t?"</math>":"")),o]})(e,t);if(this.el=N.createElement(n,r),J.currentNode=this.el.content,2===t||3===t){let e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(o=J.nextNode())&&l.length<s;){if(1===o.nodeType){if(o.hasAttributes())for(let e of o.getAttributeNames())if(e.endsWith(x)){let t=d[a++],r=o.getAttribute(e).split(A),s=/([.?@])?(.*)/.exec(t);l.push({type:1,index:i,name:s[2],strings:r,ctor:"."===s[1]?H:"?"===s[1]?I:"@"===s[1]?L:k}),o.removeAttribute(e)}else e.startsWith(A)&&(l.push({type:6,index:i}),o.removeAttribute(e));if(F.test(o.tagName)){let e=o.textContent.split(A),t=e.length-1;if(t>0){o.textContent=g?g.emptyScript:"";for(let r=0;r<t;r++)o.append(e[r],lit_html_l()),J.nextNode(),l.push({type:2,index:++i});o.append(e[t],lit_html_l())}}}else if(8===o.nodeType)if(o.data===C)l.push({type:2,index:i});else{let e=-1;for(;-1!==(e=o.data.indexOf(A,e+1));)l.push({type:7,index:i}),e+=A.length-1}i++}}static createElement(e,t){let r=S.createElement("template");return r.innerHTML=e,r}};function lit_html_S(e,t,r=e,o){if(t===Y)return t;let i=void 0!==o?r._$Co?.[o]:r._$Cl,a=lit_html_c(t)?void 0:t._$litDirective$;return i?.constructor!==a&&(i?._$AO?.(!1),void 0===a?i=void 0:(i=new a(e))._$AT(e,r,o),void 0!==o?(r._$Co??=[])[o]=i:r._$Cl=i),void 0!==i&&(t=lit_html_S(e,i._$AS(e,t.values),i,o)),t}let M=class M{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){let{el:{content:t},parts:r}=this._$AD,o=(e?.creationScope??S).importNode(t,!0);J.currentNode=o;let i=J.nextNode(),a=0,s=0,l=r[0];for(;void 0!==l;){if(a===l.index){let t;2===l.type?t=new R(i,i.nextSibling,this,e):1===l.type?t=new l.ctor(i,l.name,l.strings,this,e):6===l.type&&(t=new z(i,this,e)),this._$AV.push(t),l=r[++s]}a!==l?.index&&(i=J.nextNode(),a++)}return J.currentNode=S,o}p(e){let t=0;for(let r of this._$AV)void 0!==r&&(void 0!==r.strings?(r._$AI(e,r,t),t+=r.strings.length-2):r._$AI(e[t])),t++}};let R=class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,r,o){this.type=2,this._$AH=W,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=r,this.options=o,this._$Cv=o?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return void 0!==t&&11===e?.nodeType&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){let r;lit_html_c(e=lit_html_S(this,e,t))?e===W||null==e||""===e?(this._$AH!==W&&this._$AR(),this._$AH=W):e!==this._$AH&&e!==Y&&this._(e):void 0!==e._$litType$?this.$(e):void 0!==e.nodeType?this.T(e):w(r=e)||"function"==typeof r?.[Symbol.iterator]?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!==W&&lit_html_c(this._$AH)?this._$AA.nextSibling.data=e:this.T(S.createTextNode(e)),this._$AH=e}$(e){let{values:t,_$litType$:r}=e,o="number"==typeof r?this._$AC(e):(void 0===r.el&&(r.el=N.createElement(P(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===o)this._$AH.p(t);else{let e=new M(o,this),r=e.u(this.options);e.p(t),this.T(r),this._$AH=e}}_$AC(e){let t=G.get(e.strings);return void 0===t&&G.set(e.strings,t=new N(e)),t}k(e){w(this._$AH)||(this._$AH=[],this._$AR());let t=this._$AH,r,o=0;for(let i of e)o===t.length?t.push(r=new R(this.O(lit_html_l()),this.O(lit_html_l()),this,this.options)):r=t[o],r._$AI(i),o++;o<t.length&&(this._$AR(r&&r._$AB.nextSibling,o),t.length=o)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){let t=e.nextSibling;e.remove(),e=t}}setConnected(e){void 0===this._$AM&&(this._$Cv=e,this._$AP?.(e))}};let k=class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,r,o,i){this.type=1,this._$AH=W,this._$AN=void 0,this.element=e,this.name=t,this._$AM=o,this.options=i,r.length>2||""!==r[0]||""!==r[1]?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=W}_$AI(e,t=this,r,o){let i=this.strings,a=!1;if(void 0===i)(a=!lit_html_c(e=lit_html_S(this,e,t,0))||e!==this._$AH&&e!==Y)&&(this._$AH=e);else{let o,s,l=e;for(e=i[0],o=0;o<i.length-1;o++)(s=lit_html_S(this,l[r+o],t,o))===Y&&(s=this._$AH[o]),a||=!lit_html_c(s)||s!==this._$AH[o],s===W?e=W:e!==W&&(e+=(s??"")+i[o+1]),this._$AH[o]=s}a&&!o&&this.j(e)}j(e){e===W?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}};let H=class H extends k{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===W?void 0:e}};let I=class I extends k{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==W)}};let L=class L extends k{constructor(e,t,r,o,i){super(e,t,r,o,i),this.type=5}_$AI(e,t=this){if((e=lit_html_S(this,e,t,0)??W)===Y)return;let r=this._$AH,o=e===W&&r!==W||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,i=e!==W&&(r===W||o);o&&this.element.removeEventListener(this.name,this,r),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}};let z=class z{constructor(e,t,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(e){lit_html_S(this,e)}};let K=_.litHtmlPolyfillSupport;K?.(N,R),(_.litHtmlVersions??=[]).push("3.3.1");let Z=globalThis;let lit_element_i=class lit_element_i extends reactive_element_y{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=((e,t,r)=>{let o=r?.renderBefore??t,i=o._$litPart$;if(void 0===i){let e=r?.renderBefore??null;o._$litPart$=i=new R(t.insertBefore(lit_html_l(),e),e,void 0,r??{})}return i._$AI(e),i})(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return Y}};lit_element_i._$litElement$=!0,lit_element_i.finalized=!0,Z.litElementHydrateSupport?.({LitElement:lit_element_i});let Q=Z.litElementPolyfillSupport;Q?.({LitElement:lit_element_i}),(Z.litElementVersions??=[]).push("4.2.1");let X={attribute:!0,type:String,converter:v,reflect:!1,hasChanged:reactive_element_f};function property_n(e){return(t,r)=>{let o;return"object"==typeof r?((e=X,t,r)=>{let{kind:o,metadata:i}=r,a=globalThis.litPropertyMetadata.get(i);if(void 0===a&&globalThis.litPropertyMetadata.set(i,a=new Map),"setter"===o&&((e=Object.create(e)).wrapped=!0),a.set(r.name,e),"accessor"===o){let{name:o}=r;return{set(r){let i=t.get.call(this);t.set.call(this,r),this.requestUpdate(o,i,e)},init(t){return void 0!==t&&this.C(o,void 0,e,t),t}}}if("setter"===o){let{name:o}=r;return function(r){let i=this[o];t.call(this,r),this.requestUpdate(o,i,e)}}throw Error("Unsupported decorator location: "+o)})(e,t,r):(o=t.hasOwnProperty(r),t.constructor.createProperty(r,e),o?Object.getOwnPropertyDescriptor(t,r):void 0)}}function state_r(e){return property_n({...e,state:!0,attribute:!1})}function _ts_decorate(e,t,r,o){var i,a=arguments.length,s=a<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,o);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s}let CardPaymentForm=class CardPaymentForm extends lit_element_i{formatCardNumber(e){return(e.replace(/\s/g,"").match(/.{1,4}/g)||[]).join(" ")}detectCardBrand(e){let t=e.replace(/\s/g,"");return t.startsWith("4")||t.startsWith("5")&&t[1]>="1"&&t[1]<="5"||t.startsWith("3")&&("4"===t[1]||"7"===t[1])?"\uD83D\uDCB3":""}handleCardNumberInput(e){let t=e.target,r=t.value.replace(/\D/g,"");this.formData.cardNumber=r,t.value=this.formatCardNumber(r.slice(0,16)),this.validateField("cardNumber",r)}handleExpiryInput(e,t){let r=t.target.value.replace(/\D/g,"");this.formData[e]=r,this.validateField(e,r)}handleCvvInput(e){let t=e.target,r=t.value.replace(/\D/g,"").slice(0,4);this.formData.cvv=r,t.value=r,this.validateField("cvv",r)}handleInput(e,t){let r=t.target;this.formData[e]=r.value,this.validateField(e,r.value)}validateField(e,t){let r="";switch(e){case"cardNumber":t?t.length<13&&(r="N\xfamero de tarjeta inv\xe1lido"):r="El n\xfamero de tarjeta es requerido";break;case"cardholderName":t.trim()||(r="El nombre del titular es requerido");break;case"expiryMonth":{let e=Number.parseInt(t,10);t?(e<1||e>12)&&(r="Mes inv\xe1lido"):r="Requerido";break}case"expiryYear":{let e=Number.parseInt(t,10),o=new Date().getFullYear()%100;t?e<o&&(r="A\xf1o inv\xe1lido"):r="Requerido";break}case"cvv":t?t.length<3&&(r="CVV inv\xe1lido"):r="CVV requerido";break;case"email":this.requireEmail&&!t?r="Email requerido":t&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)&&(r="Email inv\xe1lido")}if(r)this.errors={...this.errors,[e]:r};else{let{[e]:t,...r}=this.errors;this.errors=r}return!r}validateForm(){let e=["cardNumber","cardholderName","expiryMonth","expiryYear","cvv"];this.requireEmail&&e.push("email");let t=!0;for(let r of e)this.validateField(r,this.formData[r]||"")||(t=!1);return t}handleSubmit(e){(e.preventDefault(),this.validateForm())?this.dispatchEvent(new CustomEvent("payment-submitted",{detail:{data:this.formData,type:"card"},bubbles:!0,composed:!0})):this.requestUpdate()}render(){return V`<form class="form-container" @submit="${this.handleSubmit}"><div class="form-group"><label for="cardNumber">Número de tarjeta</label><div class="input-wrapper"><input id="cardNumber" type="text" placeholder="1234 5678 9012 3456" maxlength="19" class="${this.errors.cardNumber?"error":""}" @input="${this.handleCardNumberInput}" autocomplete="cc-number"> ${this.detectCardBrand(this.formData.cardNumber)?V`<span class="card-brand">${this.detectCardBrand(this.formData.cardNumber)}</span>`:""}</div>${this.errors.cardNumber?V`<div class="error-message">${this.errors.cardNumber}</div>`:""}</div><div class="form-group"><label for="cardholderName">Nombre del titular</label> <input id="cardholderName" type="text" placeholder="NOMBRE COMPLETO" class="${this.errors.cardholderName?"error":""}" @input="${e=>this.handleInput("cardholderName",e)}" autocomplete="cc-name" style="text-transform:uppercase"> ${this.errors.cardholderName?V`<div class="error-message">${this.errors.cardholderName}</div>`:""}</div><div class="form-row"><div class="form-group"><label for="expiryMonth">Mes</label> <input id="expiryMonth" type="text" placeholder="MM" maxlength="2" class="${this.errors.expiryMonth?"error":""}" @input="${e=>this.handleExpiryInput("expiryMonth",e)}" autocomplete="cc-exp-month"> ${this.errors.expiryMonth?V`<div class="error-message">${this.errors.expiryMonth}</div>`:""}</div><div class="form-group"><label for="expiryYear">Año</label> <input id="expiryYear" type="text" placeholder="AA" maxlength="2" class="${this.errors.expiryYear?"error":""}" @input="${e=>this.handleExpiryInput("expiryYear",e)}" autocomplete="cc-exp-year"> ${this.errors.expiryYear?V`<div class="error-message">${this.errors.expiryYear}</div>`:""}</div></div><div class="form-group"><label for="cvv">CVV</label> <input id="cvv" type="text" placeholder="123" maxlength="4" class="${this.errors.cvv?"error":""}" @input="${this.handleCvvInput}" autocomplete="cc-csc"> ${this.errors.cvv?V`<div class="error-message">${this.errors.cvv}</div>`:""}</div>${this.requireEmail?V`<div class="form-group"><label for="email">Email</label> <input id="email" type="email" placeholder="ejemplo@correo.com" class="${this.errors.email?"error":""}" @input="${e=>this.handleInput("email",e)}" autocomplete="email"> ${this.errors.email?V`<div class="error-message">${this.errors.email}</div>`:""}</div>`:""} <button type="submit">Pagar</button></form>`}constructor(...e){super(...e),this.formData={cardNumber:"",cardholderName:"",expiryMonth:"",expiryYear:"",cvv:"",email:""},this.errors={},this.requireEmail=!1}};function cash_payment_form_ts_decorate(e,t,r,o){var i,a=arguments.length,s=a<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,o);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s}CardPaymentForm.styles=css_tag_i`:host{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.form-container{max-width:500px;margin:0 auto}.form-group{margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:var(--bloque-border-radius,6px);font-size:15px;transition:all .2s ease;box-sizing:border-box}input:focus{outline:0;border-color:var(--bloque-primary-color,#4f46e5);box-shadow:0 0 0 3px color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 10%,transparent)}input.error{border-color:#ef4444}.error-message{color:#ef4444;font-size:13px;margin-top:4px}button{width:100%;padding:12px;background:var(--bloque-primary-color,#4f46e5);color:#fff;border:none;border-radius:var(--bloque-border-radius,6px);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s ease;margin-top:8px}button:hover{background:color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 90%,#000)}button:disabled{background:#9ca3af;cursor:not-allowed}.card-brand{font-size:24px;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.input-wrapper{position:relative}`,_ts_decorate([state_r()],CardPaymentForm.prototype,"formData",void 0),_ts_decorate([state_r()],CardPaymentForm.prototype,"errors",void 0),_ts_decorate([property_n({type:Boolean})],CardPaymentForm.prototype,"requireEmail",void 0);let ee=[{value:"CC",label:"C\xe9dula de Ciudadan\xeda"},{value:"CE",label:"C\xe9dula de Extranjer\xeda"},{value:"TI",label:"Tarjeta de Identidad"},{value:"PP",label:"Pasaporte"}];let CashPaymentForm=class CashPaymentForm extends lit_element_i{handleInput(e,t){let r=t.target;this.formData={...this.formData,[e]:r.value},this.validateField(e,r.value)}handleDocumentNumberInput(e){let t=e.target,r=t.value.replace(/\D/g,"");this.formData.documentNumber=r,t.value=r,this.validateField("documentNumber",r)}validateField(e,t){let r="";switch(e){case"email":t.trim()?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)||(r="Email inv\xe1lido"):r="El email es requerido";break;case"documentNumber":t.trim()?t.length<5&&(r="N\xfamero de documento inv\xe1lido"):r="El n\xfamero de documento es requerido";break;case"fullName":t.trim()?t.trim().split(" ").length<2&&(r="Ingresa tu nombre completo"):r="El nombre completo es requerido"}if(r)this.errors={...this.errors,[e]:r};else{let{[e]:t,...r}=this.errors;this.errors=r}return!r}validateForm(){let e=!0;for(let t of["email","documentNumber","fullName"])this.validateField(t,this.formData[t]||"")||(e=!1);return e}handleSubmit(e){(e.preventDefault(),this.validateForm())?this.dispatchEvent(new CustomEvent("payment-submitted",{detail:{data:this.formData,type:"cash"},bubbles:!0,composed:!0})):this.requestUpdate()}render(){return V`<form class="form-container" @submit="${this.handleSubmit}"><div class="info-box"><strong>💵 Pago en efectivo</strong><p style="margin:4px 0">Genera un recibo de pago para realizar tu pago en:</p><ul class="info-list"><li>Puntos Efecty</li><li>Baloto</li><li>Su Red</li><li>Corresponsales bancarios</li></ul></div><div class="form-group"><label for="email">Email</label> <input id="email" type="email" placeholder="ejemplo@correo.com" class="${this.errors.email?"error":""}" @input="${e=>this.handleInput("email",e)}" autocomplete="email"> ${this.errors.email?V`<div class="error-message">${this.errors.email}</div>`:""}</div><div class="form-group"><label for="fullName">Nombre completo</label> <input id="fullName" type="text" placeholder="Juan Pérez García" class="${this.errors.fullName?"error":""}" @input="${e=>this.handleInput("fullName",e)}" autocomplete="name"> ${this.errors.fullName?V`<div class="error-message">${this.errors.fullName}</div>`:""}</div><div class="form-row"><div class="form-group"><label for="documentType">Tipo de documento</label> <select id="documentType" @change="${e=>this.handleInput("documentType",e)}">${ee.map(e=>V`<option value="${e.value}" ?selected="${this.formData.documentType===e.value}">${e.label}</option>`)}</select></div><div class="form-group"><label for="documentNumber">Número de documento</label> <input id="documentNumber" type="text" placeholder="1234567890" class="${this.errors.documentNumber?"error":""}" @input="${this.handleDocumentNumberInput}"> ${this.errors.documentNumber?V`<div class="error-message">${this.errors.documentNumber}</div>`:""}</div></div><button type="submit">Generar recibo de pago</button></form>`}constructor(...e){super(...e),this.formData={email:"",documentType:"CC",documentNumber:"",fullName:""},this.errors={}}};CashPaymentForm.styles=css_tag_i`:host{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.form-container{max-width:500px;margin:0 auto}.form-group{margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}input,select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:var(--bloque-border-radius,6px);font-size:15px;transition:all .2s ease;box-sizing:border-box;background:#fff}input:focus,select:focus{outline:0;border-color:var(--bloque-primary-color,#4f46e5);box-shadow:0 0 0 3px color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 10%,transparent)}input.error,select.error{border-color:#ef4444}.error-message{color:#ef4444;font-size:13px;margin-top:4px}button{width:100%;padding:12px;background:var(--bloque-primary-color,#4f46e5);color:#fff;border:none;border-radius:var(--bloque-border-radius,6px);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s ease;margin-top:8px}button:hover{background:color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 90%,#000)}button:disabled{background:#9ca3af;cursor:not-allowed}.info-box{background:#fef3c7;border:1px solid #fcd34d;border-radius:var(--bloque-border-radius,6px);padding:12px;margin-bottom:16px;font-size:14px;color:#92400e}.info-box strong{display:block;margin-bottom:4px}.info-list{margin:8px 0 0 0;padding-left:20px}.info-list li{margin-bottom:4px}`,cash_payment_form_ts_decorate([state_r()],CashPaymentForm.prototype,"formData",void 0),cash_payment_form_ts_decorate([state_r()],CashPaymentForm.prototype,"errors",void 0);let et={card:{type:"card",label:"Tarjeta de Cr\xe9dito/D\xe9bito",description:"Paga con tu tarjeta de cr\xe9dito o d\xe9bito"},pse:{type:"pse",label:"PSE",description:"Pago seguro en l\xednea con tu banco"},cash:{type:"cash",label:"Efectivo",description:"Genera un recibo para pagar en efectivo"}};function payment_method_selector_ts_decorate(e,t,r,o){var i,a=arguments.length,s=a<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,o);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s}let PaymentMethodSelector=class PaymentMethodSelector extends lit_element_i{handleMethodSelect(e){this.selectedMethod=e,this.dispatchEvent(new CustomEvent("method-selected",{detail:{method:e},bubbles:!0,composed:!0}))}getMethodIcon(e){return({card:"\uD83D\uDCB3",pse:"\uD83C\uDFE6",cash:"\uD83D\uDCB5"})[e]}render(){return V`<div class="payment-methods">${this.availableMethods.map(e=>{let t=et[e],r=this.selectedMethod===e;return V`<div class="payment-method ${r?"selected":""}" @click="${()=>this.handleMethodSelect(e)}" role="radio" aria-checked="${r}" tabindex="0" @keydown="${t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),this.handleMethodSelect(e))}}"><div class="radio"><div class="radio-inner"></div></div><div class="method-content"><p class="method-label">${t.label}</p><p class="method-description">${t.description}</p></div><div class="method-icon">${this.getMethodIcon(e)}</div></div>`})}</div>`}constructor(...e){super(...e),this.selectedMethod=null,this.availableMethods=["card","pse","cash"]}};function pse_payment_form_ts_decorate(e,t,r,o){var i,a=arguments.length,s=a<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,o);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s}PaymentMethodSelector.styles=css_tag_i`:host{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.payment-methods{display:flex;flex-direction:column;gap:12px;max-width:500px;margin:0 auto}.payment-method{display:flex;align-items:center;padding:16px;border:2px solid #e0e0e0;border-radius:var(--bloque-border-radius,8px);cursor:pointer;transition:all .2s ease;background:#fff}.payment-method:hover{border-color:var(--bloque-primary-color,#4f46e5);box-shadow:0 2px 8px rgba(79,70,229,.1)}.payment-method.selected{border-color:var(--bloque-primary-color,#4f46e5);background:color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 8%,#fff)}.radio{width:20px;height:20px;border:2px solid #d1d5db;border-radius:50%;margin-right:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.payment-method.selected .radio{border-color:var(--bloque-primary-color,#4f46e5)}.radio-inner{width:10px;height:10px;border-radius:50%;background:var(--bloque-primary-color,#4f46e5);opacity:0;transition:opacity .2s ease}.payment-method.selected .radio-inner{opacity:1}.method-content{flex:1}.method-label{font-weight:600;font-size:16px;color:#111827;margin:0 0 4px 0}.method-description{font-size:14px;color:#6b7280;margin:0}.method-icon{width:40px;height:40px;margin-left:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}`,payment_method_selector_ts_decorate([property_n({type:String})],PaymentMethodSelector.prototype,"selectedMethod",void 0),payment_method_selector_ts_decorate([property_n({type:Array})],PaymentMethodSelector.prototype,"availableMethods",void 0);let er=[{code:"bancolombia",name:"Bancolombia"},{code:"banco_de_bogota",name:"Banco de Bogot\xe1"},{code:"banco_davivienda",name:"Davivienda"},{code:"bbva",name:"BBVA Colombia"},{code:"banco_occidente",name:"Banco de Occidente"},{code:"banco_popular",name:"Banco Popular"},{code:"banco_av_villas",name:"Banco AV Villas"},{code:"colpatria",name:"Scotiabank Colpatria"},{code:"banco_caja_social",name:"Banco Caja Social"},{code:"banco_agrario",name:"Banco Agrario"},{code:"citibank",name:"Citibank"},{code:"banco_gnb_sudameris",name:"Banco GNB Sudameris"},{code:"itau",name:"Ita\xfa"},{code:"bancoomeva",name:"Bancoomeva"}],eo=[{value:"CC",label:"C\xe9dula de Ciudadan\xeda"},{value:"CE",label:"C\xe9dula de Extranjer\xeda"},{value:"NIT",label:"NIT"},{value:"TI",label:"Tarjeta de Identidad"},{value:"PP",label:"Pasaporte"}];let PSEPaymentForm=class PSEPaymentForm extends lit_element_i{handlePersonTypeChange(e){let t=e.target;this.formData.personType=t.value,this.requestUpdate()}handleInput(e,t){let r=t.target;this.formData={...this.formData,[e]:r.value},this.validateField(e,r.value)}handleDocumentNumberInput(e){let t=e.target,r=t.value.replace(/\D/g,"");this.formData.documentNumber=r,t.value=r,this.validateField("documentNumber",r)}validateField(e,t){let r="";switch(e){case"documentNumber":t.trim()?t.length<5&&(r="N\xfamero de documento inv\xe1lido"):r="El n\xfamero de documento es requerido";break;case"bankCode":t||(r="Debe seleccionar un banco");break;case"email":t.trim()?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)||(r="Email inv\xe1lido"):r="El email es requerido"}if(r)this.errors={...this.errors,[e]:r};else{let{[e]:t,...r}=this.errors;this.errors=r}return!r}validateForm(){let e=!0;for(let t of["documentNumber","bankCode","email"])this.validateField(t,this.formData[t]||"")||(e=!1);return e}handleSubmit(e){(e.preventDefault(),this.validateForm())?this.dispatchEvent(new CustomEvent("payment-submitted",{detail:{data:this.formData,type:"pse"},bubbles:!0,composed:!0})):this.requestUpdate()}render(){return V`<form class="form-container" @submit="${this.handleSubmit}"><div class="info-box">🏦 Serás redirigido al portal de tu banco para completar el pago de forma segura.</div><div class="form-group"><label>Tipo de persona</label><div class="radio-group"><div class="radio-option"><input type="radio" id="natural" name="personType" value="natural" .checked="${"natural"===this.formData.personType}" @change="${this.handlePersonTypeChange}"> <label for="natural">Persona Natural</label></div><div class="radio-option"><input type="radio" id="juridica" name="personType" value="juridica" .checked="${"juridica"===this.formData.personType}" @change="${this.handlePersonTypeChange}"> <label for="juridica">Persona Jurídica</label></div></div></div><div class="form-row"><div class="form-group"><label for="documentType">Tipo de documento</label> <select id="documentType" @change="${e=>this.handleInput("documentType",e)}">${eo.map(e=>V`<option value="${e.value}" ?selected="${this.formData.documentType===e.value}">${e.label}</option>`)}</select></div><div class="form-group"><label for="documentNumber">Número de documento</label> <input id="documentNumber" type="text" placeholder="1234567890" class="${this.errors.documentNumber?"error":""}" @input="${this.handleDocumentNumberInput}"> ${this.errors.documentNumber?V`<div class="error-message">${this.errors.documentNumber}</div>`:""}</div></div><div class="form-group"><label for="bankCode">Selecciona tu banco</label> <select id="bankCode" class="${this.errors.bankCode?"error":""}" @change="${e=>this.handleInput("bankCode",e)}"><option value="">-- Selecciona un banco --</option>${er.map(e=>V`<option value="${e.code}" ?selected="${this.formData.bankCode===e.code}">${e.name}</option>`)}</select> ${this.errors.bankCode?V`<div class="error-message">${this.errors.bankCode}</div>`:""}</div><div class="form-group"><label for="email">Email</label> <input id="email" type="email" placeholder="ejemplo@correo.com" class="${this.errors.email?"error":""}" @input="${e=>this.handleInput("email",e)}" autocomplete="email"> ${this.errors.email?V`<div class="error-message">${this.errors.email}</div>`:""}</div><button type="submit">Continuar al banco</button></form>`}constructor(...e){super(...e),this.formData={personType:"natural",documentType:"CC",documentNumber:"",bankCode:"",email:""},this.errors={}}};function bloque_checkout_ts_decorate(e,t,r,o){var i,a=arguments.length,s=a<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,o);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s}PSEPaymentForm.styles=css_tag_i`:host{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.form-container{max-width:500px;margin:0 auto}.form-group{margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}input,select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:var(--bloque-border-radius,6px);font-size:15px;transition:all .2s ease;box-sizing:border-box;background:#fff}input:focus,select:focus{outline:0;border-color:var(--bloque-primary-color,#4f46e5);box-shadow:0 0 0 3px color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 10%,transparent)}input.error,select.error{border-color:#ef4444}.error-message{color:#ef4444;font-size:13px;margin-top:4px}.radio-group{display:flex;gap:16px;margin-top:8px}.radio-option{display:flex;align-items:center;cursor:pointer}.radio-option input[type=radio]{width:auto;margin-right:8px;cursor:pointer}.radio-option label{margin:0;cursor:pointer;font-weight:400}button{width:100%;padding:12px;background:var(--bloque-primary-color,#4f46e5);color:#fff;border:none;border-radius:var(--bloque-border-radius,6px);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s ease;margin-top:8px}button:hover{background:color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 90%,#000)}button:disabled{background:#9ca3af;cursor:not-allowed}.info-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--bloque-border-radius,6px);padding:12px;margin-bottom:16px;font-size:14px;color:#1e40af}`,pse_payment_form_ts_decorate([state_r()],PSEPaymentForm.prototype,"formData",void 0),pse_payment_form_ts_decorate([state_r()],PSEPaymentForm.prototype,"errors",void 0);let BloqueCheckout=class BloqueCheckout extends lit_element_i{get effectiveAvailableMethods(){return this.config?.payment_methods||this.availableMethods}get effectivePrimaryColor(){return this.appearance?.primaryColor||"#4f46e5"}get effectiveBorderRadius(){return this.appearance?.borderRadius||"8px"}get effectiveFontFamily(){return this.appearance?.fontFamily||"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif"}connectedCallback(){super.connectedCallback(),1===this.effectiveAvailableMethods.length&&(this.selectedMethod=this.effectiveAvailableMethods[0])}updated(e){super.updated(e),(e.has("availableMethods")||e.has("config"))&&1===this.effectiveAvailableMethods.length&&(this.selectedMethod=this.effectiveAvailableMethods[0])}handleMethodSelected(e){this.selectedMethod=e.detail.method,this.error=null}async handlePaymentSubmitted(e){let{data:t,type:r}=e.detail;this.error=null,this.isLoading=!0;try{this.onSubmit&&await this.onSubmit({data:t,type:r}),this.dispatchEvent(new CustomEvent("payment-success",{detail:{data:t,type:r},bubbles:!0,composed:!0}))}catch(e){this.error=e instanceof Error?e.message:"Payment failed. Please try again.",this.dispatchEvent(new CustomEvent("payment-error",{detail:{data:t,type:r,error:this.error},bubbles:!0,composed:!0}))}finally{this.isLoading=!1}}render(){let e=`
|
|
1
|
+
var e={};e.d=(t,r)=>{for(var o in r)e.o(r,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:r[o]})},e.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var t={};e.d(t,{h:()=>BloqueCheckout});let r=globalThis,o=r.ShadowRoot&&(void 0===r.ShadyCSS||r.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),a=new WeakMap;let css_tag_n=class css_tag_n{constructor(e,t,r){if(this._$cssResult$=!0,r!==i)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(o&&void 0===e){let r=void 0!==t&&1===t.length;r&&(e=a.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&a.set(t,e))}return e}toString(){return this.cssText}};let css_tag_i=(e,...t)=>new css_tag_n(1===e.length?e[0]:t.reduce((t,r,o)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+e[o+1],e[0]),e,i),s=o?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t,r="";for(let t of e.cssRules)r+=t.cssText;return new css_tag_n("string"==typeof(t=r)?t:t+"",void 0,i)})(e):e,{is:l,defineProperty:n,getOwnPropertyDescriptor:d,getOwnPropertyNames:c,getOwnPropertySymbols:p,getPrototypeOf:h}=Object,u=globalThis,m=u.trustedTypes,f=m?m.emptyScript:"",b=u.reactiveElementPolyfillSupport,v={toAttribute(e,t){switch(t){case Boolean:e=e?f:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=null!==e;break;case Number:r=null===e?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch{r=null}}return r}},reactive_element_f=(e,t)=>!l(e,t),g={attribute:!0,type:String,converter:v,reflect:!1,useDefault:!1,hasChanged:reactive_element_f};Symbol.metadata??=Symbol("metadata"),u.litPropertyMetadata??=new WeakMap;let y=class y extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=g){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){let r=Symbol(),o=this.getPropertyDescriptor(e,r,t);void 0!==o&&n(this.prototype,e,o)}}static getPropertyDescriptor(e,t,r){let{get:o,set:i}=d(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:o,set(t){let a=o?.call(this);i?.call(this,t),this.requestUpdate(e,a,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??g}static _$Ei(){if(this.hasOwnProperty("elementProperties"))return;let e=h(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty("finalized"))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty("properties")){let e=this.properties;for(let t of[...c(e),...p(e)])this.createProperty(t,e[t])}let e=this[Symbol.metadata];if(null!==e){let t=litPropertyMetadata.get(e);if(void 0!==t)for(let[e,r]of t)this.elementProperties.set(e,r)}for(let[e,t]of(this._$Eh=new Map,this.elementProperties)){let r=this._$Eu(e,t);void 0!==r&&this._$Eh.set(r,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e))for(let r of new Set(e.flat(1/0).reverse()))t.unshift(s(r));else void 0!==e&&t.push(s(e));return t}static _$Eu(e,t){let r=t.attribute;return!1===r?void 0:"string"==typeof r?r:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map;for(let t of this.constructor.elementProperties.keys())this.hasOwnProperty(t)&&(e.set(t,this[t]),delete this[t]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((e,t)=>{if(o)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let o of t){let t=document.createElement("style"),i=r.litNonce;void 0!==i&&t.setAttribute("nonce",i),t.textContent=o.cssText,e.appendChild(t)}})(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,r){this._$AK(e,r)}_$ET(e,t){let r=this.constructor.elementProperties.get(e),o=this.constructor._$Eu(e,r);if(void 0!==o&&!0===r.reflect){let i=(void 0!==r.converter?.toAttribute?r.converter:v).toAttribute(t,r.type);this._$Em=e,null==i?this.removeAttribute(o):this.setAttribute(o,i),this._$Em=null}}_$AK(e,t){let r=this.constructor,o=r._$Eh.get(e);if(void 0!==o&&this._$Em!==o){let e=r.getPropertyOptions(o),i="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:v;this._$Em=o;let a=i.fromAttribute(t,e.type);this[o]=a??this._$Ej?.get(o)??a,this._$Em=null}}requestUpdate(e,t,r,o=!1,i){if(void 0!==e){let a=this.constructor;if(!1===o&&(i=this[e]),!(((r??=a.getPropertyOptions(e)).hasChanged??reactive_element_f)(i,t)||r.useDefault&&r.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(a._$Eu(e,r))))return;this.C(e,t,r)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:r,reflect:o,wrapped:i},a){r&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,a??t??this[e]),!0!==i||void 0!==a)||(this._$AL.has(e)||(this.hasUpdated||r||(t=void 0),this._$AL.set(e,t)),!0===o&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}let e=this.constructor.elementProperties;if(e.size>0)for(let[t,r]of e){let{wrapped:e}=r,o=this[t];!0!==e||this._$AL.has(t)||void 0===o||this.C(t,void 0,r,o)}}let e=!1,t=this._$AL;try{(e=this.shouldUpdate(t))?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),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.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}};y.elementStyles=[],y.shadowRootOptions={mode:"open"},y.elementProperties=new Map,y.finalized=new Map,b?.({ReactiveElement:y}),(u.reactiveElementVersions??=[]).push("2.1.2");let _=globalThis,lit_html_i=e=>e,$=_.trustedTypes,x=$?$.createPolicy("lit-html",{createHTML:e=>e}):void 0,A="$lit$",C=`lit$${Math.random().toFixed(9).slice(2)}$`,E="?"+C,S=`<${E}>`,w=document,lit_html_c=()=>w.createComment(""),lit_html_a=e=>null===e||"object"!=typeof e&&"function"!=typeof e,P=Array.isArray,N=`[
|
|
2
|
+
\f\r]`,q=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,O=/-->/g,D=/>/g,T=RegExp(`>|${N}(?:([^\\s"'>=/]+)(${N}*=${N}*(?:[^
|
|
3
|
+
\f\r"'\`<>=]|("|')|))|$)`,"g"),U=/'/g,j=/"/g,B=/^(?:script|style|textarea|title)$/i,lit_html_x=e=>(t,...r)=>({_$litType$:e,strings:t,values:r}),F=lit_html_x(1),Y=(lit_html_x(2),lit_html_x(3),Symbol.for("lit-noChange")),W=Symbol.for("lit-nothing"),G=new WeakMap,J=w.createTreeWalker(w,129);function V(e,t){if(!P(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==x?x.createHTML(t):t}let lit_html_S=class lit_html_S{constructor({strings:e,_$litType$:t},r){let o;this.parts=[];let i=0,a=0,s=e.length-1,l=this.parts,[n,d]=((e,t)=>{let r=e.length-1,o=[],i,a=2===t?"<svg>":3===t?"<math>":"",s=q;for(let t=0;t<r;t++){let r=e[t],l,n,d=-1,c=0;for(;c<r.length&&(s.lastIndex=c,null!==(n=s.exec(r)));)c=s.lastIndex,s===q?"!--"===n[1]?s=O:void 0!==n[1]?s=D:void 0!==n[2]?(B.test(n[2])&&(i=RegExp("</"+n[2],"g")),s=T):void 0!==n[3]&&(s=T):s===T?">"===n[0]?(s=i??q,d=-1):void 0===n[1]?d=-2:(d=s.lastIndex-n[2].length,l=n[1],s=void 0===n[3]?T:'"'===n[3]?j:U):s===j||s===U?s=T:s===O||s===D?s=q:(s=T,i=void 0);let p=s===T&&e[t+1].startsWith("/>")?" ":"";a+=s===q?r+S:d>=0?(o.push(l),r.slice(0,d)+A+r.slice(d)+C+p):r+C+(-2===d?t:p)}return[V(e,a+(e[r]||"<?>")+(2===t?"</svg>":3===t?"</math>":"")),o]})(e,t);if(this.el=lit_html_S.createElement(n,r),J.currentNode=this.el.content,2===t||3===t){let e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(o=J.nextNode())&&l.length<s;){if(1===o.nodeType){if(o.hasAttributes())for(let e of o.getAttributeNames())if(e.endsWith(A)){let t=d[a++],r=o.getAttribute(e).split(C),s=/([.?@])?(.*)/.exec(t);l.push({type:1,index:i,name:s[2],strings:r,ctor:"."===s[1]?I:"?"===s[1]?L:"@"===s[1]?z:H}),o.removeAttribute(e)}else e.startsWith(C)&&(l.push({type:6,index:i}),o.removeAttribute(e));if(B.test(o.tagName)){let e=o.textContent.split(C),t=e.length-1;if(t>0){o.textContent=$?$.emptyScript:"";for(let r=0;r<t;r++)o.append(e[r],lit_html_c()),J.nextNode(),l.push({type:2,index:++i});o.append(e[t],lit_html_c())}}}else if(8===o.nodeType)if(o.data===E)l.push({type:2,index:i});else{let e=-1;for(;-1!==(e=o.data.indexOf(C,e+1));)l.push({type:7,index:i}),e+=C.length-1}i++}}static createElement(e,t){let r=w.createElement("template");return r.innerHTML=e,r}};function M(e,t,r=e,o){if(t===Y)return t;let i=void 0!==o?r._$Co?.[o]:r._$Cl,a=lit_html_a(t)?void 0:t._$litDirective$;return i?.constructor!==a&&(i?._$AO?.(!1),void 0===a?i=void 0:(i=new a(e))._$AT(e,r,o),void 0!==o?(r._$Co??=[])[o]=i:r._$Cl=i),void 0!==i&&(t=M(e,i._$AS(e,t.values),i,o)),t}let R=class R{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){let{el:{content:t},parts:r}=this._$AD,o=(e?.creationScope??w).importNode(t,!0);J.currentNode=o;let i=J.nextNode(),a=0,s=0,l=r[0];for(;void 0!==l;){if(a===l.index){let t;2===l.type?t=new k(i,i.nextSibling,this,e):1===l.type?t=new l.ctor(i,l.name,l.strings,this,e):6===l.type&&(t=new Z(i,this,e)),this._$AV.push(t),l=r[++s]}a!==l?.index&&(i=J.nextNode(),a++)}return J.currentNode=w,o}p(e){let t=0;for(let r of this._$AV)void 0!==r&&(void 0!==r.strings?(r._$AI(e,r,t),t+=r.strings.length-2):r._$AI(e[t])),t++}};let k=class k{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,r,o){this.type=2,this._$AH=W,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=r,this.options=o,this._$Cv=o?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return void 0!==t&&11===e?.nodeType&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){let r;lit_html_a(e=M(this,e,t))?e===W||null==e||""===e?(this._$AH!==W&&this._$AR(),this._$AH=W):e!==this._$AH&&e!==Y&&this._(e):void 0!==e._$litType$?this.$(e):void 0!==e.nodeType?this.T(e):P(r=e)||"function"==typeof r?.[Symbol.iterator]?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!==W&&lit_html_a(this._$AH)?this._$AA.nextSibling.data=e:this.T(w.createTextNode(e)),this._$AH=e}$(e){let{values:t,_$litType$:r}=e,o="number"==typeof r?this._$AC(e):(void 0===r.el&&(r.el=lit_html_S.createElement(V(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===o)this._$AH.p(t);else{let e=new R(o,this),r=e.u(this.options);e.p(t),this.T(r),this._$AH=e}}_$AC(e){let t=G.get(e.strings);return void 0===t&&G.set(e.strings,t=new lit_html_S(e)),t}k(e){P(this._$AH)||(this._$AH=[],this._$AR());let t=this._$AH,r,o=0;for(let i of e)o===t.length?t.push(r=new k(this.O(lit_html_c()),this.O(lit_html_c()),this,this.options)):r=t[o],r._$AI(i),o++;o<t.length&&(this._$AR(r&&r._$AB.nextSibling,o),t.length=o)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){let t=lit_html_i(e).nextSibling;lit_html_i(e).remove(),e=t}}setConnected(e){void 0===this._$AM&&(this._$Cv=e,this._$AP?.(e))}};let H=class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,r,o,i){this.type=1,this._$AH=W,this._$AN=void 0,this.element=e,this.name=t,this._$AM=o,this.options=i,r.length>2||""!==r[0]||""!==r[1]?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=W}_$AI(e,t=this,r,o){let i=this.strings,a=!1;if(void 0===i)(a=!lit_html_a(e=M(this,e,t,0))||e!==this._$AH&&e!==Y)&&(this._$AH=e);else{let o,s,l=e;for(e=i[0],o=0;o<i.length-1;o++)(s=M(this,l[r+o],t,o))===Y&&(s=this._$AH[o]),a||=!lit_html_a(s)||s!==this._$AH[o],s===W?e=W:e!==W&&(e+=(s??"")+i[o+1]),this._$AH[o]=s}a&&!o&&this.j(e)}j(e){e===W?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}};let I=class I extends H{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===W?void 0:e}};let L=class L extends H{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==W)}};let z=class z extends H{constructor(e,t,r,o,i){super(e,t,r,o,i),this.type=5}_$AI(e,t=this){if((e=M(this,e,t,0)??W)===Y)return;let r=this._$AH,o=e===W&&r!==W||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,i=e!==W&&(r===W||o);o&&this.element.removeEventListener(this.name,this,r),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}};let Z=class Z{constructor(e,t,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(e){M(this,e)}};let K=_.litHtmlPolyfillSupport;K?.(lit_html_S,k),(_.litHtmlVersions??=[]).push("3.3.2");let Q=globalThis;let lit_element_i=class lit_element_i extends y{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=((e,t,r)=>{let o=r?.renderBefore??t,i=o._$litPart$;if(void 0===i){let e=r?.renderBefore??null;o._$litPart$=i=new k(t.insertBefore(lit_html_c(),e),e,void 0,r??{})}return i._$AI(e),i})(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return Y}};lit_element_i._$litElement$=!0,lit_element_i.finalized=!0,Q.litElementHydrateSupport?.({LitElement:lit_element_i});let X=Q.litElementPolyfillSupport;X?.({LitElement:lit_element_i}),(Q.litElementVersions??=[]).push("4.2.2");let ee={attribute:!0,type:String,converter:v,reflect:!1,hasChanged:reactive_element_f};function property_n(e){return(t,r)=>{let o;return"object"==typeof r?((e=ee,t,r)=>{let{kind:o,metadata:i}=r,a=globalThis.litPropertyMetadata.get(i);if(void 0===a&&globalThis.litPropertyMetadata.set(i,a=new Map),"setter"===o&&((e=Object.create(e)).wrapped=!0),a.set(r.name,e),"accessor"===o){let{name:o}=r;return{set(r){let i=t.get.call(this);t.set.call(this,r),this.requestUpdate(o,i,e,!0,r)},init(t){return void 0!==t&&this.C(o,void 0,e,t),t}}}if("setter"===o){let{name:o}=r;return function(r){let i=this[o];t.call(this,r),this.requestUpdate(o,i,e,!0,r)}}throw Error("Unsupported decorator location: "+o)})(e,t,r):(o=t.hasOwnProperty(r),t.constructor.createProperty(r,e),o?Object.getOwnPropertyDescriptor(t,r):void 0)}}function state_r(e){return property_n({...e,state:!0,attribute:!1})}function _ts_decorate(e,t,r,o){var i,a=arguments.length,s=a<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,o);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s}let CardPaymentForm=class CardPaymentForm extends lit_element_i{formatCardNumber(e){return(e.replace(/\s/g,"").match(/.{1,4}/g)||[]).join(" ")}detectCardBrand(e){let t=e.replace(/\s/g,"");return t.startsWith("4")||t.startsWith("5")&&t[1]>="1"&&t[1]<="5"||t.startsWith("3")&&("4"===t[1]||"7"===t[1])?"\uD83D\uDCB3":""}handleCardNumberInput(e){let t=e.target,r=t.value.replace(/\D/g,"");this.formData.cardNumber=r,t.value=this.formatCardNumber(r.slice(0,16)),this.validateField("cardNumber",r)}handleExpiryInput(e,t){let r=t.target.value.replace(/\D/g,"");this.formData[e]=r,this.validateField(e,r)}handleCvvInput(e){let t=e.target,r=t.value.replace(/\D/g,"").slice(0,4);this.formData.cvv=r,t.value=r,this.validateField("cvv",r)}handleInput(e,t){let r=t.target;this.formData[e]=r.value,this.validateField(e,r.value)}validateField(e,t){let r="";switch(e){case"cardNumber":t?t.length<13&&(r="N\xfamero de tarjeta inv\xe1lido"):r="El n\xfamero de tarjeta es requerido";break;case"cardholderName":t.trim()||(r="El nombre del titular es requerido");break;case"expiryMonth":{let e=Number.parseInt(t,10);t?(e<1||e>12)&&(r="Mes inv\xe1lido"):r="Requerido";break}case"expiryYear":{let e=Number.parseInt(t,10),o=new Date().getFullYear()%100;t?e<o&&(r="A\xf1o inv\xe1lido"):r="Requerido";break}case"cvv":t?t.length<3&&(r="CVV inv\xe1lido"):r="CVV requerido";break;case"email":this.requireEmail&&!t?r="Email requerido":t&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)&&(r="Email inv\xe1lido")}if(r)this.errors={...this.errors,[e]:r};else{let{[e]:t,...r}=this.errors;this.errors=r}return!r}validateForm(){let e=["cardNumber","cardholderName","expiryMonth","expiryYear","cvv"];this.requireEmail&&e.push("email");let t=!0;for(let r of e)this.validateField(r,this.formData[r]||"")||(t=!1);return t}handleSubmit(e){(e.preventDefault(),this.validateForm())?this.dispatchEvent(new CustomEvent("payment-submitted",{detail:{data:this.formData,type:"card"},bubbles:!0,composed:!0})):this.requestUpdate()}render(){return F`<form class="form-container" @submit="${this.handleSubmit}"><div class="form-group"><label for="cardNumber">Número de tarjeta</label><div class="input-wrapper"><input id="cardNumber" type="text" placeholder="1234 5678 9012 3456" maxlength="19" class="${this.errors.cardNumber?"error":""}" @input="${this.handleCardNumberInput}" autocomplete="cc-number"> ${this.detectCardBrand(this.formData.cardNumber)?F`<span class="card-brand">${this.detectCardBrand(this.formData.cardNumber)}</span>`:""}</div>${this.errors.cardNumber?F`<div class="error-message">${this.errors.cardNumber}</div>`:""}</div><div class="form-group"><label for="cardholderName">Nombre del titular</label> <input id="cardholderName" type="text" placeholder="NOMBRE COMPLETO" class="${this.errors.cardholderName?"error":""}" @input="${e=>this.handleInput("cardholderName",e)}" autocomplete="cc-name" style="text-transform:uppercase"> ${this.errors.cardholderName?F`<div class="error-message">${this.errors.cardholderName}</div>`:""}</div><div class="form-row"><div class="form-group"><label for="expiryMonth">Mes</label> <input id="expiryMonth" type="text" placeholder="MM" maxlength="2" class="${this.errors.expiryMonth?"error":""}" @input="${e=>this.handleExpiryInput("expiryMonth",e)}" autocomplete="cc-exp-month"> ${this.errors.expiryMonth?F`<div class="error-message">${this.errors.expiryMonth}</div>`:""}</div><div class="form-group"><label for="expiryYear">Año</label> <input id="expiryYear" type="text" placeholder="AA" maxlength="2" class="${this.errors.expiryYear?"error":""}" @input="${e=>this.handleExpiryInput("expiryYear",e)}" autocomplete="cc-exp-year"> ${this.errors.expiryYear?F`<div class="error-message">${this.errors.expiryYear}</div>`:""}</div></div><div class="form-group"><label for="cvv">CVV</label> <input id="cvv" type="text" placeholder="123" maxlength="4" class="${this.errors.cvv?"error":""}" @input="${this.handleCvvInput}" autocomplete="cc-csc"> ${this.errors.cvv?F`<div class="error-message">${this.errors.cvv}</div>`:""}</div>${this.requireEmail?F`<div class="form-group"><label for="email">Email</label> <input id="email" type="email" placeholder="ejemplo@correo.com" class="${this.errors.email?"error":""}" @input="${e=>this.handleInput("email",e)}" autocomplete="email"> ${this.errors.email?F`<div class="error-message">${this.errors.email}</div>`:""}</div>`:""} <button type="submit">Pagar</button></form>`}constructor(...e){super(...e),this.formData={cardNumber:"",cardholderName:"",expiryMonth:"",expiryYear:"",cvv:"",email:""},this.errors={},this.requireEmail=!1}};function cash_payment_form_ts_decorate(e,t,r,o){var i,a=arguments.length,s=a<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,o);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s}CardPaymentForm.styles=css_tag_i`:host{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.form-container{max-width:500px;margin:0 auto}.form-group{margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:var(--bloque-border-radius,6px);font-size:15px;transition:all .2s ease;box-sizing:border-box}input:focus{outline:0;border-color:var(--bloque-primary-color,#4f46e5);box-shadow:0 0 0 3px color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 10%,transparent)}input.error{border-color:#ef4444}.error-message{color:#ef4444;font-size:13px;margin-top:4px}button{width:100%;padding:12px;background:var(--bloque-primary-color,#4f46e5);color:#fff;border:none;border-radius:var(--bloque-border-radius,6px);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s ease;margin-top:8px}button:hover{background:color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 90%,#000)}button:disabled{background:#9ca3af;cursor:not-allowed}.card-brand{font-size:24px;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.input-wrapper{position:relative}`,_ts_decorate([state_r()],CardPaymentForm.prototype,"formData",void 0),_ts_decorate([state_r()],CardPaymentForm.prototype,"errors",void 0),_ts_decorate([property_n({type:Boolean})],CardPaymentForm.prototype,"requireEmail",void 0);let et=[{value:"CC",label:"C\xe9dula de Ciudadan\xeda"},{value:"CE",label:"C\xe9dula de Extranjer\xeda"},{value:"TI",label:"Tarjeta de Identidad"},{value:"PP",label:"Pasaporte"}];let CashPaymentForm=class CashPaymentForm extends lit_element_i{handleInput(e,t){let r=t.target;this.formData={...this.formData,[e]:r.value},this.validateField(e,r.value)}handleDocumentNumberInput(e){let t=e.target,r=t.value.replace(/\D/g,"");this.formData.documentNumber=r,t.value=r,this.validateField("documentNumber",r)}validateField(e,t){let r="";switch(e){case"email":t.trim()?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)||(r="Email inv\xe1lido"):r="El email es requerido";break;case"documentNumber":t.trim()?t.length<5&&(r="N\xfamero de documento inv\xe1lido"):r="El n\xfamero de documento es requerido";break;case"fullName":t.trim()?t.trim().split(" ").length<2&&(r="Ingresa tu nombre completo"):r="El nombre completo es requerido"}if(r)this.errors={...this.errors,[e]:r};else{let{[e]:t,...r}=this.errors;this.errors=r}return!r}validateForm(){let e=!0;for(let t of["email","documentNumber","fullName"])this.validateField(t,this.formData[t]||"")||(e=!1);return e}handleSubmit(e){(e.preventDefault(),this.validateForm())?this.dispatchEvent(new CustomEvent("payment-submitted",{detail:{data:this.formData,type:"cash"},bubbles:!0,composed:!0})):this.requestUpdate()}render(){return F`<form class="form-container" @submit="${this.handleSubmit}"><div class="info-box"><strong>💵 Pago en efectivo</strong><p style="margin:4px 0">Genera un recibo de pago para realizar tu pago en:</p><ul class="info-list"><li>Puntos Efecty</li><li>Baloto</li><li>Su Red</li><li>Corresponsales bancarios</li></ul></div><div class="form-group"><label for="email">Email</label> <input id="email" type="email" placeholder="ejemplo@correo.com" class="${this.errors.email?"error":""}" @input="${e=>this.handleInput("email",e)}" autocomplete="email"> ${this.errors.email?F`<div class="error-message">${this.errors.email}</div>`:""}</div><div class="form-group"><label for="fullName">Nombre completo</label> <input id="fullName" type="text" placeholder="Juan Pérez García" class="${this.errors.fullName?"error":""}" @input="${e=>this.handleInput("fullName",e)}" autocomplete="name"> ${this.errors.fullName?F`<div class="error-message">${this.errors.fullName}</div>`:""}</div><div class="form-row"><div class="form-group"><label for="documentType">Tipo de documento</label> <select id="documentType" @change="${e=>this.handleInput("documentType",e)}">${et.map(e=>F`<option value="${e.value}" ?selected="${this.formData.documentType===e.value}">${e.label}</option>`)}</select></div><div class="form-group"><label for="documentNumber">Número de documento</label> <input id="documentNumber" type="text" placeholder="1234567890" class="${this.errors.documentNumber?"error":""}" @input="${this.handleDocumentNumberInput}"> ${this.errors.documentNumber?F`<div class="error-message">${this.errors.documentNumber}</div>`:""}</div></div><button type="submit">Generar recibo de pago</button></form>`}constructor(...e){super(...e),this.formData={email:"",documentType:"CC",documentNumber:"",fullName:""},this.errors={}}};CashPaymentForm.styles=css_tag_i`:host{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.form-container{max-width:500px;margin:0 auto}.form-group{margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}input,select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:var(--bloque-border-radius,6px);font-size:15px;transition:all .2s ease;box-sizing:border-box;background:#fff}input:focus,select:focus{outline:0;border-color:var(--bloque-primary-color,#4f46e5);box-shadow:0 0 0 3px color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 10%,transparent)}input.error,select.error{border-color:#ef4444}.error-message{color:#ef4444;font-size:13px;margin-top:4px}button{width:100%;padding:12px;background:var(--bloque-primary-color,#4f46e5);color:#fff;border:none;border-radius:var(--bloque-border-radius,6px);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s ease;margin-top:8px}button:hover{background:color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 90%,#000)}button:disabled{background:#9ca3af;cursor:not-allowed}.info-box{background:#fef3c7;border:1px solid #fcd34d;border-radius:var(--bloque-border-radius,6px);padding:12px;margin-bottom:16px;font-size:14px;color:#92400e}.info-box strong{display:block;margin-bottom:4px}.info-list{margin:8px 0 0 0;padding-left:20px}.info-list li{margin-bottom:4px}`,cash_payment_form_ts_decorate([state_r()],CashPaymentForm.prototype,"formData",void 0),cash_payment_form_ts_decorate([state_r()],CashPaymentForm.prototype,"errors",void 0);let er={card:{type:"card",label:"Tarjeta de Cr\xe9dito/D\xe9bito",description:"Paga con tu tarjeta de cr\xe9dito o d\xe9bito"},pse:{type:"pse",label:"PSE",description:"Pago seguro en l\xednea con tu banco"},cash:{type:"cash",label:"Efectivo",description:"Genera un recibo para pagar en efectivo"}};function payment_method_selector_ts_decorate(e,t,r,o){var i,a=arguments.length,s=a<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,o);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s}let PaymentMethodSelector=class PaymentMethodSelector extends lit_element_i{handleMethodSelect(e){this.selectedMethod=e,this.dispatchEvent(new CustomEvent("method-selected",{detail:{method:e},bubbles:!0,composed:!0}))}getMethodIcon(e){return({card:"\uD83D\uDCB3",pse:"\uD83C\uDFE6",cash:"\uD83D\uDCB5"})[e]}render(){return F`<div class="payment-methods">${this.availableMethods.map(e=>{let t=er[e],r=this.selectedMethod===e;return F`<div class="payment-method ${r?"selected":""}" @click="${()=>this.handleMethodSelect(e)}" role="radio" aria-checked="${r}" tabindex="0" @keydown="${t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),this.handleMethodSelect(e))}}"><div class="radio"><div class="radio-inner"></div></div><div class="method-content"><p class="method-label">${t.label}</p><p class="method-description">${t.description}</p></div><div class="method-icon">${this.getMethodIcon(e)}</div></div>`})}</div>`}constructor(...e){super(...e),this.selectedMethod=null,this.availableMethods=["card","pse","cash"]}};function pse_payment_form_ts_decorate(e,t,r,o){var i,a=arguments.length,s=a<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,o);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s}PaymentMethodSelector.styles=css_tag_i`:host{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.payment-methods{display:flex;flex-direction:column;gap:12px;max-width:500px;margin:0 auto}.payment-method{display:flex;align-items:center;padding:16px;border:2px solid #e0e0e0;border-radius:var(--bloque-border-radius,8px);cursor:pointer;transition:all .2s ease;background:#fff}.payment-method:hover{border-color:var(--bloque-primary-color,#4f46e5);box-shadow:0 2px 8px rgba(79,70,229,.1)}.payment-method.selected{border-color:var(--bloque-primary-color,#4f46e5);background:color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 8%,#fff)}.radio{width:20px;height:20px;border:2px solid #d1d5db;border-radius:50%;margin-right:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.payment-method.selected .radio{border-color:var(--bloque-primary-color,#4f46e5)}.radio-inner{width:10px;height:10px;border-radius:50%;background:var(--bloque-primary-color,#4f46e5);opacity:0;transition:opacity .2s ease}.payment-method.selected .radio-inner{opacity:1}.method-content{flex:1}.method-label{font-weight:600;font-size:16px;color:#111827;margin:0 0 4px 0}.method-description{font-size:14px;color:#6b7280;margin:0}.method-icon{width:40px;height:40px;margin-left:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}`,payment_method_selector_ts_decorate([property_n({type:String})],PaymentMethodSelector.prototype,"selectedMethod",void 0),payment_method_selector_ts_decorate([property_n({type:Array})],PaymentMethodSelector.prototype,"availableMethods",void 0);let eo=[{code:"bancolombia",name:"Bancolombia"},{code:"banco_de_bogota",name:"Banco de Bogot\xe1"},{code:"banco_davivienda",name:"Davivienda"},{code:"bbva",name:"BBVA Colombia"},{code:"banco_occidente",name:"Banco de Occidente"},{code:"banco_popular",name:"Banco Popular"},{code:"banco_av_villas",name:"Banco AV Villas"},{code:"colpatria",name:"Scotiabank Colpatria"},{code:"banco_caja_social",name:"Banco Caja Social"},{code:"banco_agrario",name:"Banco Agrario"},{code:"citibank",name:"Citibank"},{code:"banco_gnb_sudameris",name:"Banco GNB Sudameris"},{code:"itau",name:"Ita\xfa"},{code:"bancoomeva",name:"Bancoomeva"}],ei=[{value:"CC",label:"C\xe9dula de Ciudadan\xeda"},{value:"CE",label:"C\xe9dula de Extranjer\xeda"},{value:"NIT",label:"NIT"},{value:"TI",label:"Tarjeta de Identidad"},{value:"PP",label:"Pasaporte"}];let PSEPaymentForm=class PSEPaymentForm extends lit_element_i{handlePersonTypeChange(e){let t=e.target;this.formData.personType=t.value,this.requestUpdate()}handleInput(e,t){let r=t.target;this.formData={...this.formData,[e]:r.value},this.validateField(e,r.value)}handleDocumentNumberInput(e){let t=e.target,r=t.value.replace(/\D/g,"");this.formData.documentNumber=r,t.value=r,this.validateField("documentNumber",r)}validateField(e,t){let r="";switch(e){case"documentNumber":t.trim()?t.length<5&&(r="N\xfamero de documento inv\xe1lido"):r="El n\xfamero de documento es requerido";break;case"bankCode":t||(r="Debe seleccionar un banco");break;case"email":t.trim()?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)||(r="Email inv\xe1lido"):r="El email es requerido"}if(r)this.errors={...this.errors,[e]:r};else{let{[e]:t,...r}=this.errors;this.errors=r}return!r}validateForm(){let e=!0;for(let t of["documentNumber","bankCode","email"])this.validateField(t,this.formData[t]||"")||(e=!1);return e}handleSubmit(e){(e.preventDefault(),this.validateForm())?this.dispatchEvent(new CustomEvent("payment-submitted",{detail:{data:this.formData,type:"pse"},bubbles:!0,composed:!0})):this.requestUpdate()}render(){return F`<form class="form-container" @submit="${this.handleSubmit}"><div class="info-box">🏦 Serás redirigido al portal de tu banco para completar el pago de forma segura.</div><div class="form-group"><label>Tipo de persona</label><div class="radio-group"><div class="radio-option"><input type="radio" id="natural" name="personType" value="natural" .checked="${"natural"===this.formData.personType}" @change="${this.handlePersonTypeChange}"> <label for="natural">Persona Natural</label></div><div class="radio-option"><input type="radio" id="juridica" name="personType" value="juridica" .checked="${"juridica"===this.formData.personType}" @change="${this.handlePersonTypeChange}"> <label for="juridica">Persona Jurídica</label></div></div></div><div class="form-row"><div class="form-group"><label for="documentType">Tipo de documento</label> <select id="documentType" @change="${e=>this.handleInput("documentType",e)}">${ei.map(e=>F`<option value="${e.value}" ?selected="${this.formData.documentType===e.value}">${e.label}</option>`)}</select></div><div class="form-group"><label for="documentNumber">Número de documento</label> <input id="documentNumber" type="text" placeholder="1234567890" class="${this.errors.documentNumber?"error":""}" @input="${this.handleDocumentNumberInput}"> ${this.errors.documentNumber?F`<div class="error-message">${this.errors.documentNumber}</div>`:""}</div></div><div class="form-group"><label for="bankCode">Selecciona tu banco</label> <select id="bankCode" class="${this.errors.bankCode?"error":""}" @change="${e=>this.handleInput("bankCode",e)}"><option value="">-- Selecciona un banco --</option>${eo.map(e=>F`<option value="${e.code}" ?selected="${this.formData.bankCode===e.code}">${e.name}</option>`)}</select> ${this.errors.bankCode?F`<div class="error-message">${this.errors.bankCode}</div>`:""}</div><div class="form-group"><label for="email">Email</label> <input id="email" type="email" placeholder="ejemplo@correo.com" class="${this.errors.email?"error":""}" @input="${e=>this.handleInput("email",e)}" autocomplete="email"> ${this.errors.email?F`<div class="error-message">${this.errors.email}</div>`:""}</div><button type="submit">Continuar al banco</button></form>`}constructor(...e){super(...e),this.formData={personType:"natural",documentType:"CC",documentNumber:"",bankCode:"",email:""},this.errors={}}};function bloque_checkout_ts_decorate(e,t,r,o){var i,a=arguments.length,s=a<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,o);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(s=(a<3?i(s):a>3?i(t,r,s):i(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s}PSEPaymentForm.styles=css_tag_i`:host{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.form-container{max-width:500px;margin:0 auto}.form-group{margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}input,select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:var(--bloque-border-radius,6px);font-size:15px;transition:all .2s ease;box-sizing:border-box;background:#fff}input:focus,select:focus{outline:0;border-color:var(--bloque-primary-color,#4f46e5);box-shadow:0 0 0 3px color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 10%,transparent)}input.error,select.error{border-color:#ef4444}.error-message{color:#ef4444;font-size:13px;margin-top:4px}.radio-group{display:flex;gap:16px;margin-top:8px}.radio-option{display:flex;align-items:center;cursor:pointer}.radio-option input[type=radio]{width:auto;margin-right:8px;cursor:pointer}.radio-option label{margin:0;cursor:pointer;font-weight:400}button{width:100%;padding:12px;background:var(--bloque-primary-color,#4f46e5);color:#fff;border:none;border-radius:var(--bloque-border-radius,6px);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s ease;margin-top:8px}button:hover{background:color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 90%,#000)}button:disabled{background:#9ca3af;cursor:not-allowed}.info-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--bloque-border-radius,6px);padding:12px;margin-bottom:16px;font-size:14px;color:#1e40af}`,pse_payment_form_ts_decorate([state_r()],PSEPaymentForm.prototype,"formData",void 0),pse_payment_form_ts_decorate([state_r()],PSEPaymentForm.prototype,"errors",void 0);let BloqueCheckout=class BloqueCheckout extends lit_element_i{get effectiveAvailableMethods(){return this.config?.payment_methods||this.availableMethods}get effectivePrimaryColor(){return this.appearance?.primaryColor||"#4f46e5"}get effectiveBorderRadius(){return this.appearance?.borderRadius||"8px"}get effectiveFontFamily(){return this.appearance?.fontFamily||"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif"}connectedCallback(){super.connectedCallback(),1===this.effectiveAvailableMethods.length&&(this.selectedMethod=this.effectiveAvailableMethods[0])}updated(e){super.updated(e),(e.has("availableMethods")||e.has("config"))&&1===this.effectiveAvailableMethods.length&&(this.selectedMethod=this.effectiveAvailableMethods[0])}handleMethodSelected(e){this.selectedMethod=e.detail.method,this.error=null}async handlePaymentSubmitted(e){let{data:t,type:r}=e.detail;this.error=null,this.isLoading=!0;try{this.onSubmit&&await this.onSubmit({data:t,type:r}),this.dispatchEvent(new CustomEvent("payment-success",{detail:{data:t,type:r},bubbles:!0,composed:!0}))}catch(e){this.error=e instanceof Error?e.message:"Payment failed. Please try again.",this.dispatchEvent(new CustomEvent("payment-error",{detail:{data:t,type:r,error:this.error},bubbles:!0,composed:!0}))}finally{this.isLoading=!1}}render(){let e=`
|
|
4
4
|
--bloque-primary-color: ${this.effectivePrimaryColor};
|
|
5
5
|
--bloque-border-radius: ${this.effectiveBorderRadius};
|
|
6
6
|
--bloque-font-family: ${this.effectiveFontFamily};
|
|
7
|
-
`;return
|
|
7
|
+
`;return F`<div class="checkout-container" style="${e}">${this.showMethodSelector&&this.effectiveAvailableMethods.length>1?F`<div class="section"><div class="section-title">Selecciona tu método de pago</div><payment-method-selector .availableMethods="${this.effectiveAvailableMethods}" .selectedMethod="${this.selectedMethod}" @method-selected="${this.handleMethodSelected}"></payment-method-selector></div>`:""} ${this.selectedMethod?F`<div class="form-container">${this.error?F`<div class="error-banner"><span>⚠️</span> <span>${this.error}</span></div>`:""}<div class="section-title">Completa la información de pago</div><div class="form-wrapper">${this.isLoading?F`<div class="loading-overlay"><div class="spinner"></div></div>`:""} ${"card"===this.selectedMethod?F`<card-payment-form .requireEmail="${this.requireEmail}" @payment-submitted="${this.handlePaymentSubmitted}"></card-payment-form>`:"pse"===this.selectedMethod?F`<pse-payment-form @payment-submitted="${this.handlePaymentSubmitted}"></pse-payment-form>`:F`<cash-payment-form @payment-submitted="${this.handlePaymentSubmitted}"></cash-payment-form>`}</div></div>`:""}</div>`}constructor(...e){super(...e),this.selectedMethod=null,this.isLoading=!1,this.error=null,this.config=null,this.appearance=null,this.amount=null,this.availableMethods=["card","pse","cash"],this.requireEmail=!0,this.showMethodSelector=!0}};BloqueCheckout.styles=css_tag_i`:host{display:block;font-family:var(
|
|
8
8
|
--bloque-font-family,
|
|
9
9
|
-apple-system,
|
|
10
10
|
BlinkMacSystemFont,
|
|
@@ -14,5 +14,5 @@ var e={};e.d=(t,r)=>{for(var o in r)e.o(r,o)&&!e.o(t,o)&&Object.defineProperty(t
|
|
|
14
14
|
Ubuntu,
|
|
15
15
|
Cantarell,
|
|
16
16
|
sans-serif
|
|
17
|
-
)}.checkout-container{max-width:600px;margin:0 auto}.section{margin-bottom:32px}.section-title{font-size:18px;font-weight:600;color:#374151;margin-bottom:16px}.form-container{margin-top:24px;padding-top:24px;border-top:2px solid #e5e7eb;animation:fadeIn .3s ease-in}@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.back-button{background:0 0;border:none;color:#6b7280;cursor:pointer;padding:8px 0;font-size:14px;display:flex;align-items:center;gap:4px;margin-bottom:16px;transition:color .2s ease}.back-button:hover{color:#4f46e5}.error-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;margin-bottom:16px;color:#991b1b;font-size:14px;display:flex;align-items:center;gap:8px}.loading-overlay{position:absolute;inset:0;background:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;z-index:10;border-radius:8px}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-wrapper{position:relative}`,bloque_checkout_ts_decorate([state_r()],BloqueCheckout.prototype,"selectedMethod",void 0),bloque_checkout_ts_decorate([state_r()],BloqueCheckout.prototype,"isLoading",void 0),bloque_checkout_ts_decorate([state_r()],BloqueCheckout.prototype,"error",void 0),bloque_checkout_ts_decorate([property_n({type:Object})],BloqueCheckout.prototype,"config",void 0),bloque_checkout_ts_decorate([property_n({type:Object})],BloqueCheckout.prototype,"appearance",void 0),bloque_checkout_ts_decorate([property_n({type:Number})],BloqueCheckout.prototype,"amount",void 0),bloque_checkout_ts_decorate([property_n({type:Array})],BloqueCheckout.prototype,"availableMethods",void 0),bloque_checkout_ts_decorate([property_n({type:Boolean})],BloqueCheckout.prototype,"requireEmail",void 0),bloque_checkout_ts_decorate([property_n({type:Boolean})],BloqueCheckout.prototype,"showMethodSelector",void 0),bloque_checkout_ts_decorate([property_n({attribute:!1})],BloqueCheckout.prototype,"onSubmit",void 0),customElements.define("bloque-checkout",BloqueCheckout),customElements.define("payment-method-selector",PaymentMethodSelector),customElements.define("card-payment-form",CardPaymentForm),customElements.define("pse-payment-form",PSEPaymentForm),customElements.define("cash-payment-form",CashPaymentForm);var
|
|
17
|
+
)}.checkout-container{max-width:600px;margin:0 auto}.section{margin-bottom:32px}.section-title{font-size:18px;font-weight:600;color:#374151;margin-bottom:16px}.form-container{margin-top:24px;padding-top:24px;border-top:2px solid #e5e7eb;animation:fadeIn .3s ease-in}@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.back-button{background:0 0;border:none;color:#6b7280;cursor:pointer;padding:8px 0;font-size:14px;display:flex;align-items:center;gap:4px;margin-bottom:16px;transition:color .2s ease}.back-button:hover{color:#4f46e5}.error-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;margin-bottom:16px;color:#991b1b;font-size:14px;display:flex;align-items:center;gap:8px}.loading-overlay{position:absolute;inset:0;background:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;z-index:10;border-radius:8px}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-wrapper{position:relative}`,bloque_checkout_ts_decorate([state_r()],BloqueCheckout.prototype,"selectedMethod",void 0),bloque_checkout_ts_decorate([state_r()],BloqueCheckout.prototype,"isLoading",void 0),bloque_checkout_ts_decorate([state_r()],BloqueCheckout.prototype,"error",void 0),bloque_checkout_ts_decorate([property_n({type:Object})],BloqueCheckout.prototype,"config",void 0),bloque_checkout_ts_decorate([property_n({type:Object})],BloqueCheckout.prototype,"appearance",void 0),bloque_checkout_ts_decorate([property_n({type:Number})],BloqueCheckout.prototype,"amount",void 0),bloque_checkout_ts_decorate([property_n({type:Array})],BloqueCheckout.prototype,"availableMethods",void 0),bloque_checkout_ts_decorate([property_n({type:Boolean})],BloqueCheckout.prototype,"requireEmail",void 0),bloque_checkout_ts_decorate([property_n({type:Boolean})],BloqueCheckout.prototype,"showMethodSelector",void 0),bloque_checkout_ts_decorate([property_n({attribute:!1})],BloqueCheckout.prototype,"onSubmit",void 0),customElements.define("bloque-checkout",BloqueCheckout),customElements.define("payment-method-selector",PaymentMethodSelector),customElements.define("card-payment-form",CardPaymentForm),customElements.define("pse-payment-form",PSEPaymentForm),customElements.define("cash-payment-form",CashPaymentForm);var ea=t.h;export{ea as BloqueCheckout};
|
|
18
18
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["webpack://@bloque/payments-elements/webpack/runtime/define_property_getters","webpack://@bloque/payments-elements/webpack/runtime/has_own_property","webpack://@bloque/payments-elements/../../node_modules/.bun/@lit+reactive-element@2.1.1/node_modules/@lit/reactive-element/css-tag.js","webpack://@bloque/payments-elements/../../node_modules/.bun/@lit+reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.js","webpack://@bloque/payments-elements/../../node_modules/.bun/lit-html@3.3.1/node_modules/lit-html/lit-html.js","webpack://@bloque/payments-elements/../../node_modules/.bun/lit-element@4.2.1/node_modules/lit-element/lit-element.js","webpack://@bloque/payments-elements/../../node_modules/.bun/@lit+reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.js","webpack://@bloque/payments-elements/../../node_modules/.bun/@lit+reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/state.js","webpack://@bloque/payments-elements/./src/card-payment-form.ts","webpack://@bloque/payments-elements/./src/cash-payment-form.ts","webpack://@bloque/payments-elements/./src/types.ts","webpack://@bloque/payments-elements/./src/payment-method-selector.ts","webpack://@bloque/payments-elements/./src/pse-payment-form.ts","webpack://@bloque/payments-elements/./src/bloque-checkout.ts","webpack://@bloque/payments-elements/./src/index.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.1\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=y(3),T=Symbol.for(\"lit-noChange\"),E=Symbol.for(\"lit-nothing\"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(t,i){if(!a(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[P(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?H:\"?\"===e[1]?I:\"@\"===e[1]?L:k}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=C.nextNode(),o++)}return C.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||\"\"===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}}class I extends k{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const Z={M:e,P:h,A:o,C:1,L:V,R:M,D:u,V:S,I:R,H:k,N:I,U:L,B:H,F:z},j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push(\"3.3.1\");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{Z as _$LH,x as html,w as mathml,T as noChange,E as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.1\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","import type { CardPaymentFormData } from '@bloque/payments-core';\nimport { css, html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\n\nexport class CardPaymentForm extends LitElement {\n @state()\n private formData: CardPaymentFormData = {\n cardNumber: '',\n cardholderName: '',\n expiryMonth: '',\n expiryYear: '',\n cvv: '',\n email: '',\n };\n\n @state()\n private errors: Partial<Record<keyof CardPaymentFormData, string>> = {};\n\n @property({ type: Boolean })\n requireEmail = false;\n\n static styles = css`:host{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.form-container{max-width:500px;margin:0 auto}.form-group{margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:var(--bloque-border-radius,6px);font-size:15px;transition:all .2s ease;box-sizing:border-box}input:focus{outline:0;border-color:var(--bloque-primary-color,#4f46e5);box-shadow:0 0 0 3px color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 10%,transparent)}input.error{border-color:#ef4444}.error-message{color:#ef4444;font-size:13px;margin-top:4px}button{width:100%;padding:12px;background:var(--bloque-primary-color,#4f46e5);color:#fff;border:none;border-radius:var(--bloque-border-radius,6px);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s ease;margin-top:8px}button:hover{background:color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 90%,#000)}button:disabled{background:#9ca3af;cursor:not-allowed}.card-brand{font-size:24px;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.input-wrapper{position:relative}`;\n\n private formatCardNumber(value: string): string {\n const cleaned = value.replace(/\\s/g, '');\n const groups = cleaned.match(/.{1,4}/g) || [];\n return groups.join(' ');\n }\n\n private detectCardBrand(number: string): string {\n const cleaned = number.replace(/\\s/g, '');\n if (cleaned.startsWith('4')) return '💳'; // Visa\n if (cleaned.startsWith('5') && cleaned[1] >= '1' && cleaned[1] <= '5')\n return '💳'; // Mastercard\n if (cleaned.startsWith('3') && (cleaned[1] === '4' || cleaned[1] === '7'))\n return '💳'; // Amex\n return '';\n }\n\n private handleCardNumberInput(e: Event) {\n const input = e.target as HTMLInputElement;\n const cleaned = input.value.replace(/\\D/g, '');\n this.formData.cardNumber = cleaned;\n input.value = this.formatCardNumber(cleaned.slice(0, 16));\n this.validateField('cardNumber', cleaned);\n }\n\n private handleExpiryInput(field: 'expiryMonth' | 'expiryYear', e: Event) {\n const input = e.target as HTMLInputElement;\n const value = input.value.replace(/\\D/g, '');\n this.formData[field] = value;\n this.validateField(field, value);\n }\n\n private handleCvvInput(e: Event) {\n const input = e.target as HTMLInputElement;\n const value = input.value.replace(/\\D/g, '').slice(0, 4);\n this.formData.cvv = value;\n input.value = value;\n this.validateField('cvv', value);\n }\n\n private handleInput(field: keyof CardPaymentFormData, e: Event) {\n const input = e.target as HTMLInputElement;\n this.formData[field] = input.value;\n this.validateField(field, input.value);\n }\n\n private validateField(\n field: keyof CardPaymentFormData,\n value: string,\n ): boolean {\n let error = '';\n\n switch (field) {\n case 'cardNumber':\n if (!value) error = 'El número de tarjeta es requerido';\n else if (value.length < 13) error = 'Número de tarjeta inválido';\n break;\n case 'cardholderName':\n if (!value.trim()) error = 'El nombre del titular es requerido';\n break;\n case 'expiryMonth': {\n const month = Number.parseInt(value, 10);\n if (!value) error = 'Requerido';\n else if (month < 1 || month > 12) error = 'Mes inválido';\n break;\n }\n case 'expiryYear': {\n const year = Number.parseInt(value, 10);\n const currentYear = new Date().getFullYear() % 100;\n if (!value) error = 'Requerido';\n else if (year < currentYear) error = 'Año inválido';\n break;\n }\n case 'cvv':\n if (!value) error = 'CVV requerido';\n else if (value.length < 3) error = 'CVV inválido';\n break;\n case 'email':\n if (this.requireEmail && !value) error = 'Email requerido';\n else if (value && !/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(value))\n error = 'Email inválido';\n break;\n }\n\n if (error) {\n this.errors = { ...this.errors, [field]: error };\n } else {\n const { [field]: _, ...rest } = this.errors;\n this.errors = rest;\n }\n\n return !error;\n }\n\n private validateForm(): boolean {\n const fields: (keyof CardPaymentFormData)[] = [\n 'cardNumber',\n 'cardholderName',\n 'expiryMonth',\n 'expiryYear',\n 'cvv',\n ];\n if (this.requireEmail) fields.push('email');\n\n let isValid = true;\n for (const field of fields) {\n if (!this.validateField(field, this.formData[field] || '')) {\n isValid = false;\n }\n }\n return isValid;\n }\n\n private handleSubmit(e: Event) {\n e.preventDefault();\n\n if (!this.validateForm()) {\n this.requestUpdate();\n return;\n }\n\n this.dispatchEvent(\n new CustomEvent('payment-submitted', {\n detail: { data: this.formData, type: 'card' },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n render() {\n return html`<form class=\"form-container\" @submit=\"${this.handleSubmit}\"><div class=\"form-group\"><label for=\"cardNumber\">Número de tarjeta</label><div class=\"input-wrapper\"><input id=\"cardNumber\" type=\"text\" placeholder=\"1234 5678 9012 3456\" maxlength=\"19\" class=\"${this.errors.cardNumber ? 'error' : ''}\" @input=\"${this.handleCardNumberInput}\" autocomplete=\"cc-number\"> ${\n this.detectCardBrand(this.formData.cardNumber)\n ? html`<span class=\"card-brand\">${this.detectCardBrand(this.formData.cardNumber)}</span>`\n : ''\n }</div>${\n this.errors.cardNumber\n ? html`<div class=\"error-message\">${this.errors.cardNumber}</div>`\n : ''\n }</div><div class=\"form-group\"><label for=\"cardholderName\">Nombre del titular</label> <input id=\"cardholderName\" type=\"text\" placeholder=\"NOMBRE COMPLETO\" class=\"${this.errors.cardholderName ? 'error' : ''}\" @input=\"${(e: Event) => this.handleInput('cardholderName', e)}\" autocomplete=\"cc-name\" style=\"text-transform:uppercase\"> ${\n this.errors.cardholderName\n ? html`<div class=\"error-message\">${this.errors.cardholderName}</div>`\n : ''\n }</div><div class=\"form-row\"><div class=\"form-group\"><label for=\"expiryMonth\">Mes</label> <input id=\"expiryMonth\" type=\"text\" placeholder=\"MM\" maxlength=\"2\" class=\"${this.errors.expiryMonth ? 'error' : ''}\" @input=\"${(e: Event) => this.handleExpiryInput('expiryMonth', e)}\" autocomplete=\"cc-exp-month\"> ${\n this.errors.expiryMonth\n ? html`<div class=\"error-message\">${this.errors.expiryMonth}</div>`\n : ''\n }</div><div class=\"form-group\"><label for=\"expiryYear\">Año</label> <input id=\"expiryYear\" type=\"text\" placeholder=\"AA\" maxlength=\"2\" class=\"${this.errors.expiryYear ? 'error' : ''}\" @input=\"${(e: Event) => this.handleExpiryInput('expiryYear', e)}\" autocomplete=\"cc-exp-year\"> ${\n this.errors.expiryYear\n ? html`<div class=\"error-message\">${this.errors.expiryYear}</div>`\n : ''\n }</div></div><div class=\"form-group\"><label for=\"cvv\">CVV</label> <input id=\"cvv\" type=\"text\" placeholder=\"123\" maxlength=\"4\" class=\"${this.errors.cvv ? 'error' : ''}\" @input=\"${this.handleCvvInput}\" autocomplete=\"cc-csc\"> ${\n this.errors.cvv\n ? html`<div class=\"error-message\">${this.errors.cvv}</div>`\n : ''\n }</div>${\n this.requireEmail\n ? html`<div class=\"form-group\"><label for=\"email\">Email</label> <input id=\"email\" type=\"email\" placeholder=\"ejemplo@correo.com\" class=\"${this.errors.email ? 'error' : ''}\" @input=\"${(e: Event) => this.handleInput('email', e)}\" autocomplete=\"email\"> ${\n this.errors.email\n ? html`<div class=\"error-message\">${this.errors.email}</div>`\n : ''\n }</div>`\n : ''\n } <button type=\"submit\">Pagar</button></form>`;\n }\n}\n","import type { CashPaymentFormData } from '@bloque/payments-core';\nimport { css, html, LitElement } from 'lit';\nimport { state } from 'lit/decorators.js';\n\nconst DOCUMENT_TYPES = [\n { value: 'CC', label: 'Cédula de Ciudadanía' },\n { value: 'CE', label: 'Cédula de Extranjería' },\n { value: 'TI', label: 'Tarjeta de Identidad' },\n { value: 'PP', label: 'Pasaporte' },\n];\n\nexport class CashPaymentForm extends LitElement {\n @state()\n private formData: CashPaymentFormData = {\n email: '',\n documentType: 'CC',\n documentNumber: '',\n fullName: '',\n };\n\n @state()\n private errors: Partial<Record<keyof CashPaymentFormData, string>> = {};\n\n static styles = css`:host{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.form-container{max-width:500px;margin:0 auto}.form-group{margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}input,select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:var(--bloque-border-radius,6px);font-size:15px;transition:all .2s ease;box-sizing:border-box;background:#fff}input:focus,select:focus{outline:0;border-color:var(--bloque-primary-color,#4f46e5);box-shadow:0 0 0 3px color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 10%,transparent)}input.error,select.error{border-color:#ef4444}.error-message{color:#ef4444;font-size:13px;margin-top:4px}button{width:100%;padding:12px;background:var(--bloque-primary-color,#4f46e5);color:#fff;border:none;border-radius:var(--bloque-border-radius,6px);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s ease;margin-top:8px}button:hover{background:color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 90%,#000)}button:disabled{background:#9ca3af;cursor:not-allowed}.info-box{background:#fef3c7;border:1px solid #fcd34d;border-radius:var(--bloque-border-radius,6px);padding:12px;margin-bottom:16px;font-size:14px;color:#92400e}.info-box strong{display:block;margin-bottom:4px}.info-list{margin:8px 0 0 0;padding-left:20px}.info-list li{margin-bottom:4px}`;\n\n private handleInput(field: keyof CashPaymentFormData, e: Event) {\n const input = e.target as HTMLInputElement | HTMLSelectElement;\n this.formData = { ...this.formData, [field]: input.value };\n this.validateField(field, input.value);\n }\n\n private handleDocumentNumberInput(e: Event) {\n const input = e.target as HTMLInputElement;\n const value = input.value.replace(/\\D/g, '');\n this.formData.documentNumber = value;\n input.value = value;\n this.validateField('documentNumber', value);\n }\n\n private validateField(\n field: keyof CashPaymentFormData,\n value: string,\n ): boolean {\n let error = '';\n\n switch (field) {\n case 'email':\n if (!value.trim()) error = 'El email es requerido';\n else if (!/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(value))\n error = 'Email inválido';\n break;\n case 'documentNumber':\n if (!value.trim()) error = 'El número de documento es requerido';\n else if (value.length < 5) error = 'Número de documento inválido';\n break;\n case 'fullName':\n if (!value.trim()) error = 'El nombre completo es requerido';\n else if (value.trim().split(' ').length < 2)\n error = 'Ingresa tu nombre completo';\n break;\n }\n\n if (error) {\n this.errors = { ...this.errors, [field]: error };\n } else {\n const { [field]: _, ...rest } = this.errors;\n this.errors = rest;\n }\n\n return !error;\n }\n\n private validateForm(): boolean {\n const fields: (keyof CashPaymentFormData)[] = [\n 'email',\n 'documentNumber',\n 'fullName',\n ];\n\n let isValid = true;\n for (const field of fields) {\n if (!this.validateField(field, this.formData[field] || '')) {\n isValid = false;\n }\n }\n return isValid;\n }\n\n private handleSubmit(e: Event) {\n e.preventDefault();\n\n if (!this.validateForm()) {\n this.requestUpdate();\n return;\n }\n\n this.dispatchEvent(\n new CustomEvent('payment-submitted', {\n detail: { data: this.formData, type: 'cash' },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n render() {\n return html`<form class=\"form-container\" @submit=\"${this.handleSubmit}\"><div class=\"info-box\"><strong>💵 Pago en efectivo</strong><p style=\"margin:4px 0\">Genera un recibo de pago para realizar tu pago en:</p><ul class=\"info-list\"><li>Puntos Efecty</li><li>Baloto</li><li>Su Red</li><li>Corresponsales bancarios</li></ul></div><div class=\"form-group\"><label for=\"email\">Email</label> <input id=\"email\" type=\"email\" placeholder=\"ejemplo@correo.com\" class=\"${this.errors.email ? 'error' : ''}\" @input=\"${(e: Event) => this.handleInput('email', e)}\" autocomplete=\"email\"> ${\n this.errors.email\n ? html`<div class=\"error-message\">${this.errors.email}</div>`\n : ''\n }</div><div class=\"form-group\"><label for=\"fullName\">Nombre completo</label> <input id=\"fullName\" type=\"text\" placeholder=\"Juan Pérez García\" class=\"${this.errors.fullName ? 'error' : ''}\" @input=\"${(e: Event) => this.handleInput('fullName', e)}\" autocomplete=\"name\"> ${\n this.errors.fullName\n ? html`<div class=\"error-message\">${this.errors.fullName}</div>`\n : ''\n }</div><div class=\"form-row\"><div class=\"form-group\"><label for=\"documentType\">Tipo de documento</label> <select id=\"documentType\" @change=\"${(e: Event) => this.handleInput('documentType', e)}\">${DOCUMENT_TYPES.map(\n (type) => html`<option value=\"${type.value}\" ?selected=\"${this.formData.documentType === type.value}\">${type.label}</option>`,\n )}</select></div><div class=\"form-group\"><label for=\"documentNumber\">Número de documento</label> <input id=\"documentNumber\" type=\"text\" placeholder=\"1234567890\" class=\"${this.errors.documentNumber ? 'error' : ''}\" @input=\"${this.handleDocumentNumberInput}\"> ${\n this.errors.documentNumber\n ? html`<div class=\"error-message\">${this.errors.documentNumber}</div>`\n : ''\n }</div></div><button type=\"submit\">Generar recibo de pago</button></form>`;\n }\n}\n","export type PaymentMethodType = 'card' | 'pse' | 'cash';\n\nexport interface PaymentMethod {\n type: PaymentMethodType;\n label: string;\n description: string;\n icon?: string;\n}\n\nexport const PAYMENT_METHODS: Record<PaymentMethodType, PaymentMethod> = {\n card: {\n type: 'card',\n label: 'Tarjeta de Crédito/Débito',\n description: 'Paga con tu tarjeta de crédito o débito',\n },\n pse: {\n type: 'pse',\n label: 'PSE',\n description: 'Pago seguro en línea con tu banco',\n },\n cash: {\n type: 'cash',\n label: 'Efectivo',\n description: 'Genera un recibo para pagar en efectivo',\n },\n};\n\nexport interface CheckoutConfig {\n payment_methods?: PaymentMethodType[];\n amount?: number;\n currency?: string;\n}\n\nexport interface AppearanceConfig {\n primaryColor?: string;\n borderRadius?: string;\n fontFamily?: string;\n}\n","import { css, html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport type { PaymentMethodType } from './types';\nimport { PAYMENT_METHODS } from './types';\n\nexport class PaymentMethodSelector extends LitElement {\n @property({ type: String })\n selectedMethod: PaymentMethodType | null = null;\n\n @property({ type: Array })\n availableMethods: PaymentMethodType[] = ['card', 'pse', 'cash'];\n\n static styles = css`:host{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.payment-methods{display:flex;flex-direction:column;gap:12px;max-width:500px;margin:0 auto}.payment-method{display:flex;align-items:center;padding:16px;border:2px solid #e0e0e0;border-radius:var(--bloque-border-radius,8px);cursor:pointer;transition:all .2s ease;background:#fff}.payment-method:hover{border-color:var(--bloque-primary-color,#4f46e5);box-shadow:0 2px 8px rgba(79,70,229,.1)}.payment-method.selected{border-color:var(--bloque-primary-color,#4f46e5);background:color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 8%,#fff)}.radio{width:20px;height:20px;border:2px solid #d1d5db;border-radius:50%;margin-right:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.payment-method.selected .radio{border-color:var(--bloque-primary-color,#4f46e5)}.radio-inner{width:10px;height:10px;border-radius:50%;background:var(--bloque-primary-color,#4f46e5);opacity:0;transition:opacity .2s ease}.payment-method.selected .radio-inner{opacity:1}.method-content{flex:1}.method-label{font-weight:600;font-size:16px;color:#111827;margin:0 0 4px 0}.method-description{font-size:14px;color:#6b7280;margin:0}.method-icon{width:40px;height:40px;margin-left:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}`;\n\n private handleMethodSelect(method: PaymentMethodType) {\n this.selectedMethod = method;\n this.dispatchEvent(\n new CustomEvent('method-selected', {\n detail: { method },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n private getMethodIcon(type: PaymentMethodType): string {\n const icons = {\n card: '💳',\n pse: '🏦',\n cash: '💵',\n };\n return icons[type];\n }\n\n render() {\n return html`<div class=\"payment-methods\">${this.availableMethods.map((methodType) => {\n const method = PAYMENT_METHODS[methodType];\n const isSelected = this.selectedMethod === methodType;\n return html`<div class=\"payment-method ${isSelected ? 'selected' : ''}\" @click=\"${() => this.handleMethodSelect(methodType)}\" role=\"radio\" aria-checked=\"${isSelected}\" tabindex=\"0\" @keydown=\"${(e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.handleMethodSelect(methodType);\n }\n }}\"><div class=\"radio\"><div class=\"radio-inner\"></div></div><div class=\"method-content\"><p class=\"method-label\">${method.label}</p><p class=\"method-description\">${method.description}</p></div><div class=\"method-icon\">${this.getMethodIcon(methodType)}</div></div>`;\n })}</div>`;\n }\n}\n","import type { PSEPaymentFormData } from '@bloque/payments-core';\nimport { css, html, LitElement } from 'lit';\nimport { state } from 'lit/decorators.js';\n\ninterface Bank {\n code: string;\n name: string;\n}\n\nconst BANKS: Bank[] = [\n { code: 'bancolombia', name: 'Bancolombia' },\n { code: 'banco_de_bogota', name: 'Banco de Bogotá' },\n { code: 'banco_davivienda', name: 'Davivienda' },\n { code: 'bbva', name: 'BBVA Colombia' },\n { code: 'banco_occidente', name: 'Banco de Occidente' },\n { code: 'banco_popular', name: 'Banco Popular' },\n { code: 'banco_av_villas', name: 'Banco AV Villas' },\n { code: 'colpatria', name: 'Scotiabank Colpatria' },\n { code: 'banco_caja_social', name: 'Banco Caja Social' },\n { code: 'banco_agrario', name: 'Banco Agrario' },\n { code: 'citibank', name: 'Citibank' },\n { code: 'banco_gnb_sudameris', name: 'Banco GNB Sudameris' },\n { code: 'itau', name: 'Itaú' },\n { code: 'bancoomeva', name: 'Bancoomeva' },\n];\n\nconst DOCUMENT_TYPES = [\n { value: 'CC', label: 'Cédula de Ciudadanía' },\n { value: 'CE', label: 'Cédula de Extranjería' },\n { value: 'NIT', label: 'NIT' },\n { value: 'TI', label: 'Tarjeta de Identidad' },\n { value: 'PP', label: 'Pasaporte' },\n];\n\nexport class PSEPaymentForm extends LitElement {\n @state()\n private formData: PSEPaymentFormData = {\n personType: 'natural',\n documentType: 'CC',\n documentNumber: '',\n bankCode: '',\n email: '',\n };\n\n @state()\n private errors: Partial<Record<keyof PSEPaymentFormData, string>> = {};\n\n static styles = css`:host{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.form-container{max-width:500px;margin:0 auto}.form-group{margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}input,select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:var(--bloque-border-radius,6px);font-size:15px;transition:all .2s ease;box-sizing:border-box;background:#fff}input:focus,select:focus{outline:0;border-color:var(--bloque-primary-color,#4f46e5);box-shadow:0 0 0 3px color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 10%,transparent)}input.error,select.error{border-color:#ef4444}.error-message{color:#ef4444;font-size:13px;margin-top:4px}.radio-group{display:flex;gap:16px;margin-top:8px}.radio-option{display:flex;align-items:center;cursor:pointer}.radio-option input[type=radio]{width:auto;margin-right:8px;cursor:pointer}.radio-option label{margin:0;cursor:pointer;font-weight:400}button{width:100%;padding:12px;background:var(--bloque-primary-color,#4f46e5);color:#fff;border:none;border-radius:var(--bloque-border-radius,6px);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s ease;margin-top:8px}button:hover{background:color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 90%,#000)}button:disabled{background:#9ca3af;cursor:not-allowed}.info-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--bloque-border-radius,6px);padding:12px;margin-bottom:16px;font-size:14px;color:#1e40af}`;\n\n private handlePersonTypeChange(e: Event) {\n const input = e.target as HTMLInputElement;\n this.formData.personType = input.value as 'natural' | 'juridica';\n this.requestUpdate();\n }\n\n private handleInput(field: keyof PSEPaymentFormData, e: Event) {\n const input = e.target as HTMLInputElement | HTMLSelectElement;\n this.formData = { ...this.formData, [field]: input.value };\n this.validateField(field, input.value);\n }\n\n private handleDocumentNumberInput(e: Event) {\n const input = e.target as HTMLInputElement;\n const value = input.value.replace(/\\D/g, '');\n this.formData.documentNumber = value;\n input.value = value;\n this.validateField('documentNumber', value);\n }\n\n private validateField(\n field: keyof PSEPaymentFormData,\n value: string,\n ): boolean {\n let error = '';\n\n switch (field) {\n case 'documentNumber':\n if (!value.trim()) error = 'El número de documento es requerido';\n else if (value.length < 5) error = 'Número de documento inválido';\n break;\n case 'bankCode':\n if (!value) error = 'Debe seleccionar un banco';\n break;\n case 'email':\n if (!value.trim()) error = 'El email es requerido';\n else if (!/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(value))\n error = 'Email inválido';\n break;\n }\n\n if (error) {\n this.errors = { ...this.errors, [field]: error };\n } else {\n const { [field]: _, ...rest } = this.errors;\n this.errors = rest;\n }\n\n return !error;\n }\n\n private validateForm(): boolean {\n const fields: (keyof PSEPaymentFormData)[] = [\n 'documentNumber',\n 'bankCode',\n 'email',\n ];\n\n let isValid = true;\n for (const field of fields) {\n if (!this.validateField(field, this.formData[field] || '')) {\n isValid = false;\n }\n }\n return isValid;\n }\n\n private handleSubmit(e: Event) {\n e.preventDefault();\n\n if (!this.validateForm()) {\n this.requestUpdate();\n return;\n }\n\n this.dispatchEvent(\n new CustomEvent('payment-submitted', {\n detail: { data: this.formData, type: 'pse' },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n render() {\n return html`<form class=\"form-container\" @submit=\"${this.handleSubmit}\"><div class=\"info-box\">🏦 Serás redirigido al portal de tu banco para completar el pago de forma segura.</div><div class=\"form-group\"><label>Tipo de persona</label><div class=\"radio-group\"><div class=\"radio-option\"><input type=\"radio\" id=\"natural\" name=\"personType\" value=\"natural\" .checked=\"${this.formData.personType === 'natural'}\" @change=\"${this.handlePersonTypeChange}\"> <label for=\"natural\">Persona Natural</label></div><div class=\"radio-option\"><input type=\"radio\" id=\"juridica\" name=\"personType\" value=\"juridica\" .checked=\"${this.formData.personType === 'juridica'}\" @change=\"${this.handlePersonTypeChange}\"> <label for=\"juridica\">Persona Jurídica</label></div></div></div><div class=\"form-row\"><div class=\"form-group\"><label for=\"documentType\">Tipo de documento</label> <select id=\"documentType\" @change=\"${(e: Event) => this.handleInput('documentType', e)}\">${DOCUMENT_TYPES.map(\n (type) => html`<option value=\"${type.value}\" ?selected=\"${this.formData.documentType === type.value}\">${type.label}</option>`,\n )}</select></div><div class=\"form-group\"><label for=\"documentNumber\">Número de documento</label> <input id=\"documentNumber\" type=\"text\" placeholder=\"1234567890\" class=\"${this.errors.documentNumber ? 'error' : ''}\" @input=\"${this.handleDocumentNumberInput}\"> ${\n this.errors.documentNumber\n ? html`<div class=\"error-message\">${this.errors.documentNumber}</div>`\n : ''\n }</div></div><div class=\"form-group\"><label for=\"bankCode\">Selecciona tu banco</label> <select id=\"bankCode\" class=\"${this.errors.bankCode ? 'error' : ''}\" @change=\"${(e: Event) => this.handleInput('bankCode', e)}\"><option value=\"\">-- Selecciona un banco --</option>${BANKS.map(\n (bank) => html`<option value=\"${bank.code}\" ?selected=\"${this.formData.bankCode === bank.code}\">${bank.name}</option>`,\n )}</select> ${\n this.errors.bankCode\n ? html`<div class=\"error-message\">${this.errors.bankCode}</div>`\n : ''\n }</div><div class=\"form-group\"><label for=\"email\">Email</label> <input id=\"email\" type=\"email\" placeholder=\"ejemplo@correo.com\" class=\"${this.errors.email ? 'error' : ''}\" @input=\"${(e: Event) => this.handleInput('email', e)}\" autocomplete=\"email\"> ${\n this.errors.email\n ? html`<div class=\"error-message\">${this.errors.email}</div>`\n : ''\n }</div><button type=\"submit\">Continuar al banco</button></form>`;\n }\n}\n","import type { PaymentSubmitPayload } from '@bloque/payments-core';\nimport { css, html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport './card-payment-form';\nimport './cash-payment-form';\nimport './payment-method-selector';\nimport './pse-payment-form';\nimport type {\n AppearanceConfig,\n CheckoutConfig,\n PaymentMethodType,\n} from './types';\n\nexport class BloqueCheckout extends LitElement {\n @state()\n private selectedMethod: PaymentMethodType | null = null;\n\n @state()\n private isLoading = false;\n\n @state()\n private error: string | null = null;\n\n @property({ type: Object })\n config: CheckoutConfig | null = null;\n\n @property({ type: Object })\n appearance: AppearanceConfig | null = null;\n\n @property({ type: Number })\n amount: number | null = null;\n\n @property({ type: Array })\n availableMethods: PaymentMethodType[] = ['card', 'pse', 'cash'];\n\n @property({ type: Boolean })\n requireEmail = true;\n\n @property({ type: Boolean })\n showMethodSelector = true;\n\n @property({ attribute: false })\n onSubmit?: (payload: PaymentSubmitPayload) => Promise<void>;\n\n private get effectiveAvailableMethods(): PaymentMethodType[] {\n return this.config?.payment_methods || this.availableMethods;\n }\n\n private get effectivePrimaryColor(): string {\n return this.appearance?.primaryColor || '#4f46e5';\n }\n\n private get effectiveBorderRadius(): string {\n return this.appearance?.borderRadius || '8px';\n }\n\n private get effectiveFontFamily(): string {\n return (\n this.appearance?.fontFamily ||\n \"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif\"\n );\n }\n\n override connectedCallback() {\n super.connectedCallback();\n if (this.effectiveAvailableMethods.length === 1) {\n this.selectedMethod = this.effectiveAvailableMethods[0];\n }\n }\n\n override updated(changedProperties: Map<string, unknown>) {\n super.updated(changedProperties);\n if (\n changedProperties.has('availableMethods') ||\n changedProperties.has('config')\n ) {\n if (this.effectiveAvailableMethods.length === 1) {\n this.selectedMethod = this.effectiveAvailableMethods[0];\n }\n }\n }\n\n static styles = css`:host{display:block;font-family:var(\n --bloque-font-family,\n -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Oxygen,\n Ubuntu,\n Cantarell,\n sans-serif\n )}.checkout-container{max-width:600px;margin:0 auto}.section{margin-bottom:32px}.section-title{font-size:18px;font-weight:600;color:#374151;margin-bottom:16px}.form-container{margin-top:24px;padding-top:24px;border-top:2px solid #e5e7eb;animation:fadeIn .3s ease-in}@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.back-button{background:0 0;border:none;color:#6b7280;cursor:pointer;padding:8px 0;font-size:14px;display:flex;align-items:center;gap:4px;margin-bottom:16px;transition:color .2s ease}.back-button:hover{color:#4f46e5}.error-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;margin-bottom:16px;color:#991b1b;font-size:14px;display:flex;align-items:center;gap:8px}.loading-overlay{position:absolute;inset:0;background:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;z-index:10;border-radius:8px}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-wrapper{position:relative}`;\n\n private handleMethodSelected(e: CustomEvent) {\n this.selectedMethod = e.detail.method;\n this.error = null;\n }\n\n private async handlePaymentSubmitted(e: CustomEvent) {\n const { data, type } = e.detail;\n\n this.error = null;\n this.isLoading = true;\n\n try {\n // Si hay una función onSubmit, ejecutarla\n if (this.onSubmit) {\n await this.onSubmit({ data, type });\n }\n\n // Emitir evento de éxito para compatibilidad\n this.dispatchEvent(\n new CustomEvent('payment-success', {\n detail: { data, type },\n bubbles: true,\n composed: true,\n }),\n );\n } catch (error) {\n this.error =\n error instanceof Error\n ? error.message\n : 'Payment failed. Please try again.';\n\n // Emitir evento de error\n this.dispatchEvent(\n new CustomEvent('payment-error', {\n detail: { data, type, error: this.error },\n bubbles: true,\n composed: true,\n }),\n );\n } finally {\n this.isLoading = false;\n }\n }\n\n render() {\n // Apply dynamic styles\n const style = `\n --bloque-primary-color: ${this.effectivePrimaryColor};\n --bloque-border-radius: ${this.effectiveBorderRadius};\n --bloque-font-family: ${this.effectiveFontFamily};\n `;\n\n return html`<div class=\"checkout-container\" style=\"${style}\">${\n this.showMethodSelector && this.effectiveAvailableMethods.length > 1\n ? html`<div class=\"section\"><div class=\"section-title\">Selecciona tu método de pago</div><payment-method-selector .availableMethods=\"${this.effectiveAvailableMethods}\" .selectedMethod=\"${this.selectedMethod}\" @method-selected=\"${this.handleMethodSelected}\"></payment-method-selector></div>`\n : ''\n } ${\n this.selectedMethod\n ? html`<div class=\"form-container\">${\n this.error\n ? html`<div class=\"error-banner\"><span>⚠️</span> <span>${this.error}</span></div>`\n : ''\n }<div class=\"section-title\">Completa la información de pago</div><div class=\"form-wrapper\">${\n this.isLoading\n ? html`<div class=\"loading-overlay\"><div class=\"spinner\"></div></div>`\n : ''\n } ${\n this.selectedMethod === 'card'\n ? html`<card-payment-form .requireEmail=\"${this.requireEmail}\" @payment-submitted=\"${this.handlePaymentSubmitted}\"></card-payment-form>`\n : this.selectedMethod === 'pse'\n ? html`<pse-payment-form @payment-submitted=\"${this.handlePaymentSubmitted}\"></pse-payment-form>`\n : html`<cash-payment-form @payment-submitted=\"${this.handlePaymentSubmitted}\"></cash-payment-form>`\n }</div></div>`\n : ''\n }</div>`;\n }\n}\n","import { BloqueCheckout } from './bloque-checkout';\nimport { CardPaymentForm } from './card-payment-form';\nimport { CashPaymentForm } from './cash-payment-form';\nimport { PaymentMethodSelector } from './payment-method-selector';\nimport { PSEPaymentForm } from './pse-payment-form';\n\ncustomElements.define('bloque-checkout', BloqueCheckout);\ncustomElements.define('payment-method-selector', PaymentMethodSelector);\ncustomElements.define('card-payment-form', CardPaymentForm);\ncustomElements.define('pse-payment-form', PSEPaymentForm);\ncustomElements.define('cash-payment-form', CashPaymentForm);\n\nexport type { PaymentSubmitPayload } from '@bloque/payments-core';\nexport { BloqueCheckout } from './bloque-checkout';\nexport type {\n AppearanceConfig,\n CheckoutConfig,\n PaymentMethodType,\n} from './types';\n"],"names":["Object","globalThis","Document","CSSStyleSheet","Symbol","WeakMap","Error","o","t","Boolean","Array","JSON","Number","String","HTMLElement","Map","litPropertyMetadata","Set","Promise","document","Math","RegExp","P","N","a","d","H","I","L","k","M","l","R","z","arguments","r","i","CardPaymentForm","e","Date","CustomEvent","CashPaymentForm","PAYMENT_METHODS","PaymentMethodSelector","PSEPaymentForm","BloqueCheckout","customElements","m"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["webpack://@bloque/payments-elements/webpack/runtime/define_property_getters","webpack://@bloque/payments-elements/webpack/runtime/has_own_property","webpack://@bloque/payments-elements/../../node_modules/.bun/@lit+reactive-element@2.1.2/node_modules/@lit/reactive-element/css-tag.js","webpack://@bloque/payments-elements/../../node_modules/.bun/@lit+reactive-element@2.1.2/node_modules/@lit/reactive-element/reactive-element.js","webpack://@bloque/payments-elements/../../node_modules/.bun/lit-html@3.3.2/node_modules/lit-html/lit-html.js","webpack://@bloque/payments-elements/../../node_modules/.bun/lit-element@4.2.2/node_modules/lit-element/lit-element.js","webpack://@bloque/payments-elements/../../node_modules/.bun/@lit+reactive-element@2.1.2/node_modules/@lit/reactive-element/decorators/property.js","webpack://@bloque/payments-elements/../../node_modules/.bun/@lit+reactive-element@2.1.2/node_modules/@lit/reactive-element/decorators/state.js","webpack://@bloque/payments-elements/./src/card-payment-form.ts","webpack://@bloque/payments-elements/./src/cash-payment-form.ts","webpack://@bloque/payments-elements/./src/types.ts","webpack://@bloque/payments-elements/./src/payment-method-selector.ts","webpack://@bloque/payments-elements/./src/pse-payment-form.ts","webpack://@bloque/payments-elements/./src/bloque-checkout.ts","webpack://@bloque/payments-elements/./src/index.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1],t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i,e=!1,h){if(void 0!==t){const r=this.constructor;if(!1===e&&(h=this[t]),i??=r.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(r._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.2\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t=>t,s=t.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,h=\"$lit$\",o=`lit$${Math.random().toFixed(9).slice(2)}$`,n=\"?\"+o,r=`<${n}>`,l=document,c=()=>l.createComment(\"\"),a=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,u=Array.isArray,d=t=>u(t)||\"function\"==typeof t?.[Symbol.iterator],f=\"[ \\t\\n\\f\\r]\",v=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${f}(?:([^\\\\s\"'>=/]+)(${f}*=${f}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,x=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),b=x(1),w=x(2),T=x(3),E=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),C=new WeakMap,P=l.createTreeWalker(l,129);function V(t,i){if(!u(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const N=(t,i)=>{const s=t.length-1,e=[];let n,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=v;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,f=0;for(;f<s.length&&(c.lastIndex=f,u=c.exec(s),null!==u);)f=c.lastIndex,c===v?\"!--\"===u[1]?c=_:void 0!==u[1]?c=m:void 0!==u[2]?(y.test(u[2])&&(n=RegExp(\"</\"+u[2],\"g\")),c=p):void 0!==u[3]&&(c=p):c===p?\">\"===u[0]?(c=n??v,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?p:'\"'===u[3]?$:g):c===$||c===g?c=p:c===_||c===m?c=v:(c=p,n=void 0);const x=c===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===v?s+r:d>=0?(e.push(a),s.slice(0,d)+h+s.slice(d)+o+x):s+o+(-2===d?i:x)}return[V(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),e]};class S{constructor({strings:t,_$litType$:i},e){let r;this.parts=[];let l=0,a=0;const u=t.length-1,d=this.parts,[f,v]=N(t,i);if(this.el=S.createElement(f,e),P.currentNode=this.el.content,2===i||3===i){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=P.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(h)){const i=v[a++],s=r.getAttribute(t).split(o),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:l,name:e[2],strings:s,ctor:\".\"===e[1]?I:\"?\"===e[1]?L:\"@\"===e[1]?z:H}),r.removeAttribute(t)}else t.startsWith(o)&&(d.push({type:6,index:l}),r.removeAttribute(t));if(y.test(r.tagName)){const t=r.textContent.split(o),i=t.length-1;if(i>0){r.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)r.append(t[s],c()),P.nextNode(),d.push({type:2,index:++l});r.append(t[i],c())}}}else if(8===r.nodeType)if(r.data===n)d.push({type:2,index:l});else{let t=-1;for(;-1!==(t=r.data.indexOf(o,t+1));)d.push({type:7,index:l}),t+=o.length-1}l++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function M(t,i,s=t,e){if(i===E)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=a(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=M(t,h._$AS(t,i.values),h,e)),i}class R{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??l).importNode(i,!0);P.currentNode=e;let h=P.nextNode(),o=0,n=0,r=s[0];for(;void 0!==r;){if(o===r.index){let i;2===r.type?i=new k(h,h.nextSibling,this,t):1===r.type?i=new r.ctor(h,r.name,r.strings,this,t):6===r.type&&(i=new Z(h,this,t)),this._$AV.push(i),r=s[++n]}o!==r?.index&&(h=P.nextNode(),o++)}return P.currentNode=l,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class k{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=M(this,t,i),a(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==E&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):d(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==A&&a(this._$AH)?this._$AA.nextSibling.data=t:this.T(l.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=S.createElement(V(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new R(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=C.get(t.strings);return void 0===i&&C.set(t.strings,i=new S(t)),i}k(t){u(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new k(this.O(c()),this.O(c()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,s){for(this._$AP?.(!1,!0,s);t!==this._$AB;){const s=i(t).nextSibling;i(t).remove(),t=s}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=M(this,t,i,0),o=!a(t)||t!==this._$AH&&t!==E,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=M(this,e[s+n],i,n),r===E&&(r=this._$AH[n]),o||=!a(r)||r!==this._$AH[n],r===A?t=A:t!==A&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class I extends H{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}class L extends H{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==A)}}class z extends H{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=M(this,t,i,0)??A)===E)return;const s=this._$AH,e=t===A&&s!==A||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==A&&(s===A||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){M(this,t)}}const j={M:h,P:o,A:n,C:1,L:N,R,D:d,V:M,I:k,H,N:L,U:z,B:I,F:Z},B=t.litHtmlPolyfillSupport;B?.(S,k),(t.litHtmlVersions??=[]).push(\"3.3.2\");const D=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new k(i.insertBefore(c(),t),t,void 0,s??{})}return h._$AI(t),h};export{j as _$LH,b as html,T as mathml,E as noChange,A as nothing,D as render,w as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.2\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","import{notEqual as t,defaultConverter as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:e,reflect:!1,hasChanged:t},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t,!0,r)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t,!0,r)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","import type { CardPaymentFormData } from '@bloque/payments-core';\nimport { css, html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\n\nexport class CardPaymentForm extends LitElement {\n @state()\n private formData: CardPaymentFormData = {\n cardNumber: '',\n cardholderName: '',\n expiryMonth: '',\n expiryYear: '',\n cvv: '',\n email: '',\n };\n\n @state()\n private errors: Partial<Record<keyof CardPaymentFormData, string>> = {};\n\n @property({ type: Boolean })\n requireEmail = false;\n\n static styles = css`:host{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.form-container{max-width:500px;margin:0 auto}.form-group{margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:var(--bloque-border-radius,6px);font-size:15px;transition:all .2s ease;box-sizing:border-box}input:focus{outline:0;border-color:var(--bloque-primary-color,#4f46e5);box-shadow:0 0 0 3px color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 10%,transparent)}input.error{border-color:#ef4444}.error-message{color:#ef4444;font-size:13px;margin-top:4px}button{width:100%;padding:12px;background:var(--bloque-primary-color,#4f46e5);color:#fff;border:none;border-radius:var(--bloque-border-radius,6px);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s ease;margin-top:8px}button:hover{background:color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 90%,#000)}button:disabled{background:#9ca3af;cursor:not-allowed}.card-brand{font-size:24px;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.input-wrapper{position:relative}`;\n\n private formatCardNumber(value: string): string {\n const cleaned = value.replace(/\\s/g, '');\n const groups = cleaned.match(/.{1,4}/g) || [];\n return groups.join(' ');\n }\n\n private detectCardBrand(number: string): string {\n const cleaned = number.replace(/\\s/g, '');\n if (cleaned.startsWith('4')) return '💳'; // Visa\n if (cleaned.startsWith('5') && cleaned[1] >= '1' && cleaned[1] <= '5')\n return '💳'; // Mastercard\n if (cleaned.startsWith('3') && (cleaned[1] === '4' || cleaned[1] === '7'))\n return '💳'; // Amex\n return '';\n }\n\n private handleCardNumberInput(e: Event) {\n const input = e.target as HTMLInputElement;\n const cleaned = input.value.replace(/\\D/g, '');\n this.formData.cardNumber = cleaned;\n input.value = this.formatCardNumber(cleaned.slice(0, 16));\n this.validateField('cardNumber', cleaned);\n }\n\n private handleExpiryInput(field: 'expiryMonth' | 'expiryYear', e: Event) {\n const input = e.target as HTMLInputElement;\n const value = input.value.replace(/\\D/g, '');\n this.formData[field] = value;\n this.validateField(field, value);\n }\n\n private handleCvvInput(e: Event) {\n const input = e.target as HTMLInputElement;\n const value = input.value.replace(/\\D/g, '').slice(0, 4);\n this.formData.cvv = value;\n input.value = value;\n this.validateField('cvv', value);\n }\n\n private handleInput(field: keyof CardPaymentFormData, e: Event) {\n const input = e.target as HTMLInputElement;\n this.formData[field] = input.value;\n this.validateField(field, input.value);\n }\n\n private validateField(\n field: keyof CardPaymentFormData,\n value: string,\n ): boolean {\n let error = '';\n\n switch (field) {\n case 'cardNumber':\n if (!value) error = 'El número de tarjeta es requerido';\n else if (value.length < 13) error = 'Número de tarjeta inválido';\n break;\n case 'cardholderName':\n if (!value.trim()) error = 'El nombre del titular es requerido';\n break;\n case 'expiryMonth': {\n const month = Number.parseInt(value, 10);\n if (!value) error = 'Requerido';\n else if (month < 1 || month > 12) error = 'Mes inválido';\n break;\n }\n case 'expiryYear': {\n const year = Number.parseInt(value, 10);\n const currentYear = new Date().getFullYear() % 100;\n if (!value) error = 'Requerido';\n else if (year < currentYear) error = 'Año inválido';\n break;\n }\n case 'cvv':\n if (!value) error = 'CVV requerido';\n else if (value.length < 3) error = 'CVV inválido';\n break;\n case 'email':\n if (this.requireEmail && !value) error = 'Email requerido';\n else if (value && !/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(value))\n error = 'Email inválido';\n break;\n }\n\n if (error) {\n this.errors = { ...this.errors, [field]: error };\n } else {\n const { [field]: _, ...rest } = this.errors;\n this.errors = rest;\n }\n\n return !error;\n }\n\n private validateForm(): boolean {\n const fields: (keyof CardPaymentFormData)[] = [\n 'cardNumber',\n 'cardholderName',\n 'expiryMonth',\n 'expiryYear',\n 'cvv',\n ];\n if (this.requireEmail) fields.push('email');\n\n let isValid = true;\n for (const field of fields) {\n if (!this.validateField(field, this.formData[field] || '')) {\n isValid = false;\n }\n }\n return isValid;\n }\n\n private handleSubmit(e: Event) {\n e.preventDefault();\n\n if (!this.validateForm()) {\n this.requestUpdate();\n return;\n }\n\n this.dispatchEvent(\n new CustomEvent('payment-submitted', {\n detail: { data: this.formData, type: 'card' },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n render() {\n return html`<form class=\"form-container\" @submit=\"${this.handleSubmit}\"><div class=\"form-group\"><label for=\"cardNumber\">Número de tarjeta</label><div class=\"input-wrapper\"><input id=\"cardNumber\" type=\"text\" placeholder=\"1234 5678 9012 3456\" maxlength=\"19\" class=\"${this.errors.cardNumber ? 'error' : ''}\" @input=\"${this.handleCardNumberInput}\" autocomplete=\"cc-number\"> ${\n this.detectCardBrand(this.formData.cardNumber)\n ? html`<span class=\"card-brand\">${this.detectCardBrand(this.formData.cardNumber)}</span>`\n : ''\n }</div>${\n this.errors.cardNumber\n ? html`<div class=\"error-message\">${this.errors.cardNumber}</div>`\n : ''\n }</div><div class=\"form-group\"><label for=\"cardholderName\">Nombre del titular</label> <input id=\"cardholderName\" type=\"text\" placeholder=\"NOMBRE COMPLETO\" class=\"${this.errors.cardholderName ? 'error' : ''}\" @input=\"${(e: Event) => this.handleInput('cardholderName', e)}\" autocomplete=\"cc-name\" style=\"text-transform:uppercase\"> ${\n this.errors.cardholderName\n ? html`<div class=\"error-message\">${this.errors.cardholderName}</div>`\n : ''\n }</div><div class=\"form-row\"><div class=\"form-group\"><label for=\"expiryMonth\">Mes</label> <input id=\"expiryMonth\" type=\"text\" placeholder=\"MM\" maxlength=\"2\" class=\"${this.errors.expiryMonth ? 'error' : ''}\" @input=\"${(e: Event) => this.handleExpiryInput('expiryMonth', e)}\" autocomplete=\"cc-exp-month\"> ${\n this.errors.expiryMonth\n ? html`<div class=\"error-message\">${this.errors.expiryMonth}</div>`\n : ''\n }</div><div class=\"form-group\"><label for=\"expiryYear\">Año</label> <input id=\"expiryYear\" type=\"text\" placeholder=\"AA\" maxlength=\"2\" class=\"${this.errors.expiryYear ? 'error' : ''}\" @input=\"${(e: Event) => this.handleExpiryInput('expiryYear', e)}\" autocomplete=\"cc-exp-year\"> ${\n this.errors.expiryYear\n ? html`<div class=\"error-message\">${this.errors.expiryYear}</div>`\n : ''\n }</div></div><div class=\"form-group\"><label for=\"cvv\">CVV</label> <input id=\"cvv\" type=\"text\" placeholder=\"123\" maxlength=\"4\" class=\"${this.errors.cvv ? 'error' : ''}\" @input=\"${this.handleCvvInput}\" autocomplete=\"cc-csc\"> ${\n this.errors.cvv\n ? html`<div class=\"error-message\">${this.errors.cvv}</div>`\n : ''\n }</div>${\n this.requireEmail\n ? html`<div class=\"form-group\"><label for=\"email\">Email</label> <input id=\"email\" type=\"email\" placeholder=\"ejemplo@correo.com\" class=\"${this.errors.email ? 'error' : ''}\" @input=\"${(e: Event) => this.handleInput('email', e)}\" autocomplete=\"email\"> ${\n this.errors.email\n ? html`<div class=\"error-message\">${this.errors.email}</div>`\n : ''\n }</div>`\n : ''\n } <button type=\"submit\">Pagar</button></form>`;\n }\n}\n","import type { CashPaymentFormData } from '@bloque/payments-core';\nimport { css, html, LitElement } from 'lit';\nimport { state } from 'lit/decorators.js';\n\nconst DOCUMENT_TYPES = [\n { value: 'CC', label: 'Cédula de Ciudadanía' },\n { value: 'CE', label: 'Cédula de Extranjería' },\n { value: 'TI', label: 'Tarjeta de Identidad' },\n { value: 'PP', label: 'Pasaporte' },\n];\n\nexport class CashPaymentForm extends LitElement {\n @state()\n private formData: CashPaymentFormData = {\n email: '',\n documentType: 'CC',\n documentNumber: '',\n fullName: '',\n };\n\n @state()\n private errors: Partial<Record<keyof CashPaymentFormData, string>> = {};\n\n static styles = css`:host{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.form-container{max-width:500px;margin:0 auto}.form-group{margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}input,select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:var(--bloque-border-radius,6px);font-size:15px;transition:all .2s ease;box-sizing:border-box;background:#fff}input:focus,select:focus{outline:0;border-color:var(--bloque-primary-color,#4f46e5);box-shadow:0 0 0 3px color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 10%,transparent)}input.error,select.error{border-color:#ef4444}.error-message{color:#ef4444;font-size:13px;margin-top:4px}button{width:100%;padding:12px;background:var(--bloque-primary-color,#4f46e5);color:#fff;border:none;border-radius:var(--bloque-border-radius,6px);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s ease;margin-top:8px}button:hover{background:color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 90%,#000)}button:disabled{background:#9ca3af;cursor:not-allowed}.info-box{background:#fef3c7;border:1px solid #fcd34d;border-radius:var(--bloque-border-radius,6px);padding:12px;margin-bottom:16px;font-size:14px;color:#92400e}.info-box strong{display:block;margin-bottom:4px}.info-list{margin:8px 0 0 0;padding-left:20px}.info-list li{margin-bottom:4px}`;\n\n private handleInput(field: keyof CashPaymentFormData, e: Event) {\n const input = e.target as HTMLInputElement | HTMLSelectElement;\n this.formData = { ...this.formData, [field]: input.value };\n this.validateField(field, input.value);\n }\n\n private handleDocumentNumberInput(e: Event) {\n const input = e.target as HTMLInputElement;\n const value = input.value.replace(/\\D/g, '');\n this.formData.documentNumber = value;\n input.value = value;\n this.validateField('documentNumber', value);\n }\n\n private validateField(\n field: keyof CashPaymentFormData,\n value: string,\n ): boolean {\n let error = '';\n\n switch (field) {\n case 'email':\n if (!value.trim()) error = 'El email es requerido';\n else if (!/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(value))\n error = 'Email inválido';\n break;\n case 'documentNumber':\n if (!value.trim()) error = 'El número de documento es requerido';\n else if (value.length < 5) error = 'Número de documento inválido';\n break;\n case 'fullName':\n if (!value.trim()) error = 'El nombre completo es requerido';\n else if (value.trim().split(' ').length < 2)\n error = 'Ingresa tu nombre completo';\n break;\n }\n\n if (error) {\n this.errors = { ...this.errors, [field]: error };\n } else {\n const { [field]: _, ...rest } = this.errors;\n this.errors = rest;\n }\n\n return !error;\n }\n\n private validateForm(): boolean {\n const fields: (keyof CashPaymentFormData)[] = [\n 'email',\n 'documentNumber',\n 'fullName',\n ];\n\n let isValid = true;\n for (const field of fields) {\n if (!this.validateField(field, this.formData[field] || '')) {\n isValid = false;\n }\n }\n return isValid;\n }\n\n private handleSubmit(e: Event) {\n e.preventDefault();\n\n if (!this.validateForm()) {\n this.requestUpdate();\n return;\n }\n\n this.dispatchEvent(\n new CustomEvent('payment-submitted', {\n detail: { data: this.formData, type: 'cash' },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n render() {\n return html`<form class=\"form-container\" @submit=\"${this.handleSubmit}\"><div class=\"info-box\"><strong>💵 Pago en efectivo</strong><p style=\"margin:4px 0\">Genera un recibo de pago para realizar tu pago en:</p><ul class=\"info-list\"><li>Puntos Efecty</li><li>Baloto</li><li>Su Red</li><li>Corresponsales bancarios</li></ul></div><div class=\"form-group\"><label for=\"email\">Email</label> <input id=\"email\" type=\"email\" placeholder=\"ejemplo@correo.com\" class=\"${this.errors.email ? 'error' : ''}\" @input=\"${(e: Event) => this.handleInput('email', e)}\" autocomplete=\"email\"> ${\n this.errors.email\n ? html`<div class=\"error-message\">${this.errors.email}</div>`\n : ''\n }</div><div class=\"form-group\"><label for=\"fullName\">Nombre completo</label> <input id=\"fullName\" type=\"text\" placeholder=\"Juan Pérez García\" class=\"${this.errors.fullName ? 'error' : ''}\" @input=\"${(e: Event) => this.handleInput('fullName', e)}\" autocomplete=\"name\"> ${\n this.errors.fullName\n ? html`<div class=\"error-message\">${this.errors.fullName}</div>`\n : ''\n }</div><div class=\"form-row\"><div class=\"form-group\"><label for=\"documentType\">Tipo de documento</label> <select id=\"documentType\" @change=\"${(e: Event) => this.handleInput('documentType', e)}\">${DOCUMENT_TYPES.map(\n (type) => html`<option value=\"${type.value}\" ?selected=\"${this.formData.documentType === type.value}\">${type.label}</option>`,\n )}</select></div><div class=\"form-group\"><label for=\"documentNumber\">Número de documento</label> <input id=\"documentNumber\" type=\"text\" placeholder=\"1234567890\" class=\"${this.errors.documentNumber ? 'error' : ''}\" @input=\"${this.handleDocumentNumberInput}\"> ${\n this.errors.documentNumber\n ? html`<div class=\"error-message\">${this.errors.documentNumber}</div>`\n : ''\n }</div></div><button type=\"submit\">Generar recibo de pago</button></form>`;\n }\n}\n","export type PaymentMethodType = 'card' | 'pse' | 'cash';\n\nexport interface PaymentMethod {\n type: PaymentMethodType;\n label: string;\n description: string;\n icon?: string;\n}\n\nexport const PAYMENT_METHODS: Record<PaymentMethodType, PaymentMethod> = {\n card: {\n type: 'card',\n label: 'Tarjeta de Crédito/Débito',\n description: 'Paga con tu tarjeta de crédito o débito',\n },\n pse: {\n type: 'pse',\n label: 'PSE',\n description: 'Pago seguro en línea con tu banco',\n },\n cash: {\n type: 'cash',\n label: 'Efectivo',\n description: 'Genera un recibo para pagar en efectivo',\n },\n};\n\nexport interface CheckoutConfig {\n payment_methods?: PaymentMethodType[];\n amount?: number;\n currency?: string;\n}\n\nexport interface AppearanceConfig {\n primaryColor?: string;\n borderRadius?: string;\n fontFamily?: string;\n}\n","import { css, html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport type { PaymentMethodType } from './types';\nimport { PAYMENT_METHODS } from './types';\n\nexport class PaymentMethodSelector extends LitElement {\n @property({ type: String })\n selectedMethod: PaymentMethodType | null = null;\n\n @property({ type: Array })\n availableMethods: PaymentMethodType[] = ['card', 'pse', 'cash'];\n\n static styles = css`:host{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.payment-methods{display:flex;flex-direction:column;gap:12px;max-width:500px;margin:0 auto}.payment-method{display:flex;align-items:center;padding:16px;border:2px solid #e0e0e0;border-radius:var(--bloque-border-radius,8px);cursor:pointer;transition:all .2s ease;background:#fff}.payment-method:hover{border-color:var(--bloque-primary-color,#4f46e5);box-shadow:0 2px 8px rgba(79,70,229,.1)}.payment-method.selected{border-color:var(--bloque-primary-color,#4f46e5);background:color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 8%,#fff)}.radio{width:20px;height:20px;border:2px solid #d1d5db;border-radius:50%;margin-right:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.payment-method.selected .radio{border-color:var(--bloque-primary-color,#4f46e5)}.radio-inner{width:10px;height:10px;border-radius:50%;background:var(--bloque-primary-color,#4f46e5);opacity:0;transition:opacity .2s ease}.payment-method.selected .radio-inner{opacity:1}.method-content{flex:1}.method-label{font-weight:600;font-size:16px;color:#111827;margin:0 0 4px 0}.method-description{font-size:14px;color:#6b7280;margin:0}.method-icon{width:40px;height:40px;margin-left:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}`;\n\n private handleMethodSelect(method: PaymentMethodType) {\n this.selectedMethod = method;\n this.dispatchEvent(\n new CustomEvent('method-selected', {\n detail: { method },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n private getMethodIcon(type: PaymentMethodType): string {\n const icons = {\n card: '💳',\n pse: '🏦',\n cash: '💵',\n };\n return icons[type];\n }\n\n render() {\n return html`<div class=\"payment-methods\">${this.availableMethods.map((methodType) => {\n const method = PAYMENT_METHODS[methodType];\n const isSelected = this.selectedMethod === methodType;\n return html`<div class=\"payment-method ${isSelected ? 'selected' : ''}\" @click=\"${() => this.handleMethodSelect(methodType)}\" role=\"radio\" aria-checked=\"${isSelected}\" tabindex=\"0\" @keydown=\"${(e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.handleMethodSelect(methodType);\n }\n }}\"><div class=\"radio\"><div class=\"radio-inner\"></div></div><div class=\"method-content\"><p class=\"method-label\">${method.label}</p><p class=\"method-description\">${method.description}</p></div><div class=\"method-icon\">${this.getMethodIcon(methodType)}</div></div>`;\n })}</div>`;\n }\n}\n","import type { PSEPaymentFormData } from '@bloque/payments-core';\nimport { css, html, LitElement } from 'lit';\nimport { state } from 'lit/decorators.js';\n\ninterface Bank {\n code: string;\n name: string;\n}\n\nconst BANKS: Bank[] = [\n { code: 'bancolombia', name: 'Bancolombia' },\n { code: 'banco_de_bogota', name: 'Banco de Bogotá' },\n { code: 'banco_davivienda', name: 'Davivienda' },\n { code: 'bbva', name: 'BBVA Colombia' },\n { code: 'banco_occidente', name: 'Banco de Occidente' },\n { code: 'banco_popular', name: 'Banco Popular' },\n { code: 'banco_av_villas', name: 'Banco AV Villas' },\n { code: 'colpatria', name: 'Scotiabank Colpatria' },\n { code: 'banco_caja_social', name: 'Banco Caja Social' },\n { code: 'banco_agrario', name: 'Banco Agrario' },\n { code: 'citibank', name: 'Citibank' },\n { code: 'banco_gnb_sudameris', name: 'Banco GNB Sudameris' },\n { code: 'itau', name: 'Itaú' },\n { code: 'bancoomeva', name: 'Bancoomeva' },\n];\n\nconst DOCUMENT_TYPES = [\n { value: 'CC', label: 'Cédula de Ciudadanía' },\n { value: 'CE', label: 'Cédula de Extranjería' },\n { value: 'NIT', label: 'NIT' },\n { value: 'TI', label: 'Tarjeta de Identidad' },\n { value: 'PP', label: 'Pasaporte' },\n];\n\nexport class PSEPaymentForm extends LitElement {\n @state()\n private formData: PSEPaymentFormData = {\n personType: 'natural',\n documentType: 'CC',\n documentNumber: '',\n bankCode: '',\n email: '',\n };\n\n @state()\n private errors: Partial<Record<keyof PSEPaymentFormData, string>> = {};\n\n static styles = css`:host{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.form-container{max-width:500px;margin:0 auto}.form-group{margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}input,select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:var(--bloque-border-radius,6px);font-size:15px;transition:all .2s ease;box-sizing:border-box;background:#fff}input:focus,select:focus{outline:0;border-color:var(--bloque-primary-color,#4f46e5);box-shadow:0 0 0 3px color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 10%,transparent)}input.error,select.error{border-color:#ef4444}.error-message{color:#ef4444;font-size:13px;margin-top:4px}.radio-group{display:flex;gap:16px;margin-top:8px}.radio-option{display:flex;align-items:center;cursor:pointer}.radio-option input[type=radio]{width:auto;margin-right:8px;cursor:pointer}.radio-option label{margin:0;cursor:pointer;font-weight:400}button{width:100%;padding:12px;background:var(--bloque-primary-color,#4f46e5);color:#fff;border:none;border-radius:var(--bloque-border-radius,6px);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s ease;margin-top:8px}button:hover{background:color-mix(in srgb,var(--bloque-primary-color,#4f46e5) 90%,#000)}button:disabled{background:#9ca3af;cursor:not-allowed}.info-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--bloque-border-radius,6px);padding:12px;margin-bottom:16px;font-size:14px;color:#1e40af}`;\n\n private handlePersonTypeChange(e: Event) {\n const input = e.target as HTMLInputElement;\n this.formData.personType = input.value as 'natural' | 'juridica';\n this.requestUpdate();\n }\n\n private handleInput(field: keyof PSEPaymentFormData, e: Event) {\n const input = e.target as HTMLInputElement | HTMLSelectElement;\n this.formData = { ...this.formData, [field]: input.value };\n this.validateField(field, input.value);\n }\n\n private handleDocumentNumberInput(e: Event) {\n const input = e.target as HTMLInputElement;\n const value = input.value.replace(/\\D/g, '');\n this.formData.documentNumber = value;\n input.value = value;\n this.validateField('documentNumber', value);\n }\n\n private validateField(\n field: keyof PSEPaymentFormData,\n value: string,\n ): boolean {\n let error = '';\n\n switch (field) {\n case 'documentNumber':\n if (!value.trim()) error = 'El número de documento es requerido';\n else if (value.length < 5) error = 'Número de documento inválido';\n break;\n case 'bankCode':\n if (!value) error = 'Debe seleccionar un banco';\n break;\n case 'email':\n if (!value.trim()) error = 'El email es requerido';\n else if (!/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(value))\n error = 'Email inválido';\n break;\n }\n\n if (error) {\n this.errors = { ...this.errors, [field]: error };\n } else {\n const { [field]: _, ...rest } = this.errors;\n this.errors = rest;\n }\n\n return !error;\n }\n\n private validateForm(): boolean {\n const fields: (keyof PSEPaymentFormData)[] = [\n 'documentNumber',\n 'bankCode',\n 'email',\n ];\n\n let isValid = true;\n for (const field of fields) {\n if (!this.validateField(field, this.formData[field] || '')) {\n isValid = false;\n }\n }\n return isValid;\n }\n\n private handleSubmit(e: Event) {\n e.preventDefault();\n\n if (!this.validateForm()) {\n this.requestUpdate();\n return;\n }\n\n this.dispatchEvent(\n new CustomEvent('payment-submitted', {\n detail: { data: this.formData, type: 'pse' },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n render() {\n return html`<form class=\"form-container\" @submit=\"${this.handleSubmit}\"><div class=\"info-box\">🏦 Serás redirigido al portal de tu banco para completar el pago de forma segura.</div><div class=\"form-group\"><label>Tipo de persona</label><div class=\"radio-group\"><div class=\"radio-option\"><input type=\"radio\" id=\"natural\" name=\"personType\" value=\"natural\" .checked=\"${this.formData.personType === 'natural'}\" @change=\"${this.handlePersonTypeChange}\"> <label for=\"natural\">Persona Natural</label></div><div class=\"radio-option\"><input type=\"radio\" id=\"juridica\" name=\"personType\" value=\"juridica\" .checked=\"${this.formData.personType === 'juridica'}\" @change=\"${this.handlePersonTypeChange}\"> <label for=\"juridica\">Persona Jurídica</label></div></div></div><div class=\"form-row\"><div class=\"form-group\"><label for=\"documentType\">Tipo de documento</label> <select id=\"documentType\" @change=\"${(e: Event) => this.handleInput('documentType', e)}\">${DOCUMENT_TYPES.map(\n (type) => html`<option value=\"${type.value}\" ?selected=\"${this.formData.documentType === type.value}\">${type.label}</option>`,\n )}</select></div><div class=\"form-group\"><label for=\"documentNumber\">Número de documento</label> <input id=\"documentNumber\" type=\"text\" placeholder=\"1234567890\" class=\"${this.errors.documentNumber ? 'error' : ''}\" @input=\"${this.handleDocumentNumberInput}\"> ${\n this.errors.documentNumber\n ? html`<div class=\"error-message\">${this.errors.documentNumber}</div>`\n : ''\n }</div></div><div class=\"form-group\"><label for=\"bankCode\">Selecciona tu banco</label> <select id=\"bankCode\" class=\"${this.errors.bankCode ? 'error' : ''}\" @change=\"${(e: Event) => this.handleInput('bankCode', e)}\"><option value=\"\">-- Selecciona un banco --</option>${BANKS.map(\n (bank) => html`<option value=\"${bank.code}\" ?selected=\"${this.formData.bankCode === bank.code}\">${bank.name}</option>`,\n )}</select> ${\n this.errors.bankCode\n ? html`<div class=\"error-message\">${this.errors.bankCode}</div>`\n : ''\n }</div><div class=\"form-group\"><label for=\"email\">Email</label> <input id=\"email\" type=\"email\" placeholder=\"ejemplo@correo.com\" class=\"${this.errors.email ? 'error' : ''}\" @input=\"${(e: Event) => this.handleInput('email', e)}\" autocomplete=\"email\"> ${\n this.errors.email\n ? html`<div class=\"error-message\">${this.errors.email}</div>`\n : ''\n }</div><button type=\"submit\">Continuar al banco</button></form>`;\n }\n}\n","import type { PaymentSubmitPayload } from '@bloque/payments-core';\nimport { css, html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport './card-payment-form';\nimport './cash-payment-form';\nimport './payment-method-selector';\nimport './pse-payment-form';\nimport type {\n AppearanceConfig,\n CheckoutConfig,\n PaymentMethodType,\n} from './types';\n\nexport class BloqueCheckout extends LitElement {\n @state()\n private selectedMethod: PaymentMethodType | null = null;\n\n @state()\n private isLoading = false;\n\n @state()\n private error: string | null = null;\n\n @property({ type: Object })\n config: CheckoutConfig | null = null;\n\n @property({ type: Object })\n appearance: AppearanceConfig | null = null;\n\n @property({ type: Number })\n amount: number | null = null;\n\n @property({ type: Array })\n availableMethods: PaymentMethodType[] = ['card', 'pse', 'cash'];\n\n @property({ type: Boolean })\n requireEmail = true;\n\n @property({ type: Boolean })\n showMethodSelector = true;\n\n @property({ attribute: false })\n onSubmit?: (payload: PaymentSubmitPayload) => Promise<void>;\n\n private get effectiveAvailableMethods(): PaymentMethodType[] {\n return this.config?.payment_methods || this.availableMethods;\n }\n\n private get effectivePrimaryColor(): string {\n return this.appearance?.primaryColor || '#4f46e5';\n }\n\n private get effectiveBorderRadius(): string {\n return this.appearance?.borderRadius || '8px';\n }\n\n private get effectiveFontFamily(): string {\n return (\n this.appearance?.fontFamily ||\n \"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif\"\n );\n }\n\n override connectedCallback() {\n super.connectedCallback();\n if (this.effectiveAvailableMethods.length === 1) {\n this.selectedMethod = this.effectiveAvailableMethods[0];\n }\n }\n\n override updated(changedProperties: Map<string, unknown>) {\n super.updated(changedProperties);\n if (\n changedProperties.has('availableMethods') ||\n changedProperties.has('config')\n ) {\n if (this.effectiveAvailableMethods.length === 1) {\n this.selectedMethod = this.effectiveAvailableMethods[0];\n }\n }\n }\n\n static styles = css`:host{display:block;font-family:var(\n --bloque-font-family,\n -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Oxygen,\n Ubuntu,\n Cantarell,\n sans-serif\n )}.checkout-container{max-width:600px;margin:0 auto}.section{margin-bottom:32px}.section-title{font-size:18px;font-weight:600;color:#374151;margin-bottom:16px}.form-container{margin-top:24px;padding-top:24px;border-top:2px solid #e5e7eb;animation:fadeIn .3s ease-in}@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.back-button{background:0 0;border:none;color:#6b7280;cursor:pointer;padding:8px 0;font-size:14px;display:flex;align-items:center;gap:4px;margin-bottom:16px;transition:color .2s ease}.back-button:hover{color:#4f46e5}.error-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;margin-bottom:16px;color:#991b1b;font-size:14px;display:flex;align-items:center;gap:8px}.loading-overlay{position:absolute;inset:0;background:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;z-index:10;border-radius:8px}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-wrapper{position:relative}`;\n\n private handleMethodSelected(e: CustomEvent) {\n this.selectedMethod = e.detail.method;\n this.error = null;\n }\n\n private async handlePaymentSubmitted(e: CustomEvent) {\n const { data, type } = e.detail;\n\n this.error = null;\n this.isLoading = true;\n\n try {\n // Si hay una función onSubmit, ejecutarla\n if (this.onSubmit) {\n await this.onSubmit({ data, type });\n }\n\n // Emitir evento de éxito para compatibilidad\n this.dispatchEvent(\n new CustomEvent('payment-success', {\n detail: { data, type },\n bubbles: true,\n composed: true,\n }),\n );\n } catch (error) {\n this.error =\n error instanceof Error\n ? error.message\n : 'Payment failed. Please try again.';\n\n // Emitir evento de error\n this.dispatchEvent(\n new CustomEvent('payment-error', {\n detail: { data, type, error: this.error },\n bubbles: true,\n composed: true,\n }),\n );\n } finally {\n this.isLoading = false;\n }\n }\n\n render() {\n // Apply dynamic styles\n const style = `\n --bloque-primary-color: ${this.effectivePrimaryColor};\n --bloque-border-radius: ${this.effectiveBorderRadius};\n --bloque-font-family: ${this.effectiveFontFamily};\n `;\n\n return html`<div class=\"checkout-container\" style=\"${style}\">${\n this.showMethodSelector && this.effectiveAvailableMethods.length > 1\n ? html`<div class=\"section\"><div class=\"section-title\">Selecciona tu método de pago</div><payment-method-selector .availableMethods=\"${this.effectiveAvailableMethods}\" .selectedMethod=\"${this.selectedMethod}\" @method-selected=\"${this.handleMethodSelected}\"></payment-method-selector></div>`\n : ''\n } ${\n this.selectedMethod\n ? html`<div class=\"form-container\">${\n this.error\n ? html`<div class=\"error-banner\"><span>⚠️</span> <span>${this.error}</span></div>`\n : ''\n }<div class=\"section-title\">Completa la información de pago</div><div class=\"form-wrapper\">${\n this.isLoading\n ? html`<div class=\"loading-overlay\"><div class=\"spinner\"></div></div>`\n : ''\n } ${\n this.selectedMethod === 'card'\n ? html`<card-payment-form .requireEmail=\"${this.requireEmail}\" @payment-submitted=\"${this.handlePaymentSubmitted}\"></card-payment-form>`\n : this.selectedMethod === 'pse'\n ? html`<pse-payment-form @payment-submitted=\"${this.handlePaymentSubmitted}\"></pse-payment-form>`\n : html`<cash-payment-form @payment-submitted=\"${this.handlePaymentSubmitted}\"></cash-payment-form>`\n }</div></div>`\n : ''\n }</div>`;\n }\n}\n","import { BloqueCheckout } from './bloque-checkout';\nimport { CardPaymentForm } from './card-payment-form';\nimport { CashPaymentForm } from './cash-payment-form';\nimport { PaymentMethodSelector } from './payment-method-selector';\nimport { PSEPaymentForm } from './pse-payment-form';\n\ncustomElements.define('bloque-checkout', BloqueCheckout);\ncustomElements.define('payment-method-selector', PaymentMethodSelector);\ncustomElements.define('card-payment-form', CardPaymentForm);\ncustomElements.define('pse-payment-form', PSEPaymentForm);\ncustomElements.define('cash-payment-form', CashPaymentForm);\n\nexport type { PaymentSubmitPayload } from '@bloque/payments-core';\nexport { BloqueCheckout } from './bloque-checkout';\nexport type {\n AppearanceConfig,\n CheckoutConfig,\n PaymentMethodType,\n} from './types';\n"],"names":["Object","globalThis","Document","CSSStyleSheet","Symbol","WeakMap","Error","o","t","Boolean","Array","JSON","Number","String","y","HTMLElement","Map","litPropertyMetadata","Set","Promise","document","Math","RegExp","V","a","d","I","L","z","H","M","R","k","Z","arguments","r","i","CardPaymentForm","e","Date","CustomEvent","CashPaymentForm","PAYMENT_METHODS","PaymentMethodSelector","PSEPaymentForm","BloqueCheckout","customElements","m"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bloque/payments-elements",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "Framework-agnostic Web Components for embedding payment checkouts.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
@@ -39,24 +39,5 @@
|
|
|
39
39
|
],
|
|
40
40
|
"engines": {
|
|
41
41
|
"node": ">=22"
|
|
42
|
-
},
|
|
43
|
-
"scripts": {
|
|
44
|
-
"build": "NODE_ENV=production rspack build && tsc --project tsconfig.build.json",
|
|
45
|
-
"build:watch": "NODE_ENV=development rspack build --watch",
|
|
46
|
-
"clean": "rm -rf node_modules && rm -rf dist",
|
|
47
|
-
"check": "biome check --write",
|
|
48
|
-
"typecheck": "tsgo --noEmit",
|
|
49
|
-
"types": "tsc --project tsconfig.build.json"
|
|
50
|
-
},
|
|
51
|
-
"dependencies": {
|
|
52
|
-
"@bloque/payments-core": "workspace:*",
|
|
53
|
-
"lit": "^3.3.1"
|
|
54
|
-
},
|
|
55
|
-
"devDependencies": {
|
|
56
|
-
"@rspack/cli": "^1.6.7",
|
|
57
|
-
"@rspack/core": "^1.6.7",
|
|
58
|
-
"@typescript/native-preview": "catalog:",
|
|
59
|
-
"minify-html-literals-loader": "^1.1.1",
|
|
60
|
-
"typescript": "catalog:"
|
|
61
42
|
}
|
|
62
43
|
}
|