UNPKG

@securecall/client-component

Version:

SecureCall Core Web Component

2 lines 2.54 kB
import{r as e,c as i,f as t,h as a,F as s,H as l}from"./p-KxdoBBDC.js";import{L as h}from"./p-By6Qn8nU.js";const n=":host{display:block}.radio-label{color:var(--theme-primary-color);text-align:right;align-items:center;gap:0.5rem;margin-right:1rem}.field-container{display:grid;grid-template-columns:10em 1fr 20px;align-items:center;gap:1rem}.custom-label{color:var(--theme-primary-color);text-align:right;align-items:center;font-weight:bold;gap:0.5rem}.radio-input{margin-right:0.2rem}";const r=class{constructor(t){e(this,t);this.requestRadioChangeEvent=i(this,"requestRadioChangeEvent");this.isValidEvent=i(this,"isValidEvent")}fieldName;config;requestRadioChangeEvent;isValidEvent;log=new h("SecurecallRequestRadio");get value(){return this.config.value}set value(e){this.config.value=e;this.handleLocalStorageChange()}handleConfigChange(e,i){this.log.debug(this.fieldName+": handleConfigChange: config",e,i);if(i.value!==e.value){this.value=e.value}else if(i.valid!==e.valid){this.validateChange(this.value)}}componentWillLoad(){this.requestRadioChangeEvent.emit({field:this.fieldName,value:this.value});this.validateChange(this.value)}handleLocalStorageChange(){this.log.debug("handleChangeFromLocalStorage: string change:",this.value);this.requestRadioChangeEvent.emit({field:this.fieldName,value:this.value});this.validateChange(this.value);t(this)}handleChange(e){this.log.debug("handleChange: string change:",e.target.value);this.requestRadioChangeEvent.emit({field:this.fieldName,value:e.target.value});this.validateChange(e.target.value)}validateChange(e){let i=false;if(this.config.possibleValues?.[e]!==undefined)i=true;this.isValidEvent.emit({field:this.fieldName,valid:i,value:e})}render(){return a(l,{key:"f625ce2cb89fafa03508df307374845003086bee"},a("div",{key:"617f29ccd25742580c1b31bedf88b699902435be",class:"field-container"},a("label",{key:"cb30d893bfa51943f507dc4e6d8bb7daee9bb41b",class:"custom-label",htmlFor:this.fieldName},this.config.label,":"),a("div",{key:"f4c3bd88b4dcfaf95181808bf96c403c602a460f",class:"radio-group"},Object.entries(this.config.possibleValues||{}).map((([e,i],t)=>a(s,null,a("input",{class:"radio-input",type:"radio",name:this.fieldName,id:this.fieldName+"-"+e,value:e,checked:e===this.config.value,onChange:e=>this.handleChange(e),disabled:this.config.readOnly}),a("label",{class:"radio-label",htmlFor:this.fieldName+"-"+e},i)))))))}static get watchers(){return{config:["handleConfigChange"]}}};r.style=n;export{r as securecall_request_radio}; //# sourceMappingURL=p-0fb0eaa4.entry.js.map