UNPKG

@securecall/client-component

Version:

SecureCall Core Web Component

2 lines 2.53 kB
import{r as e,c as i,f as t,h as a,F as s,H as l}from"./p-CHf4eHvJ.js";import{L as h}from"./p-CgjdSc_8.js";const r=":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 n=class{constructor(t){e(this,t);this.requestRadioChangeEvent=i(this,"requestRadioChangeEvent");this.isValidEvent=i(this,"isValidEvent")}fieldName;config;requestRadioChangeEvent;isValidEvent;log=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:"af690e486995893548fcde6b55ea273d00147f8c"},a("div",{key:"163bd2716e53fd13cef425348c26285efdc54eed",class:"field-container"},a("label",{key:"630da588799e06bbfc332e1efbf92c6580905085",class:"custom-label",htmlFor:this.fieldName},this.config.label,":"),a("div",{key:"8b54851d63b4bc9a4052b858efe4b32204459aeb",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"]}}};n.style=r;export{n as securecall_request_radio}; //# sourceMappingURL=p-82c43383.entry.js.map