UNPKG

@scania/tegel

Version:
1 lines 5.43 kB
import{r as s,c,h as t,H as i,g as e}from"./p-2049fab2.js";import{g as d}from"./p-11648030.js";import{h as p}from"./p-ae110fc2.js";const o=class{constructor(t){s(this,t),this.tdsChange=c(this,"tdsChange",6),this.internalRadioOnChange=c(this,"internalRadioOnChange",6),this.tdsClick=c(this,"tdsClick",6),this.handleChange=()=>{this.disabled||("checkbox"===this.type?this.checked=!this.checked:"radio"===this.type?(this.checked=!0,this.internalRadioOnChange.emit({chipId:this.chipId,checked:this.checked,groupName:this.name})):console.error("Unsupported type in Chip component!"),this.tdsChange.emit({chipId:this.chipId,checked:this.checked,value:this.value}))},this.handleClick=()=>{this.disabled||this.tdsClick.emit({chipId:this.chipId})},this.type="button",this.size="lg",this.chipId=d(),this.checked=!1,this.name=void 0,this.value=void 0,this.disabled=!1,this.tdsAriaLabel=void 0}handleInternaRadioChange(s){const{chipId:c,checked:t,groupName:i}=s.detail;c!==this.chipId&&i===this.name&&this.checked&&t&&(this.checked=!1)}renderInputAttributes(){return Object.assign(Object.assign({},{disabled:this.disabled}),"button"!==this.type?{value:this.value,checked:this.checked,name:this.name,onChange:()=>this.handleChange()}:{onClick:()=>this.handleClick()})}connectedCallback(){this.tdsAriaLabel||console.warn("Tegel Chip component: tdsAriaLabel prop is missing")}render(){const s=this.renderInputAttributes(),c=p("prefix",this.host),e=p("label",this.host),d=p("suffix",this.host);return t(i,{key:"bec32d74f1e0a42f98fb431d5988ba1d78c57b43"},t("div",{key:"af67d86bbf22be341cc816d72dad135cf04a9002",class:"component"},t("div",{key:"ee91bc58ca35ba6307e270f63bbb3da65e16b4f9",class:{"tds-chip-component":!0,sm:"sm"===this.size,lg:"lg"===this.size,prefix:c,suffix:d,disabled:this.disabled}},t("input",Object.assign({key:"a5e723793a8f8c749f6d54937bbde888788115e0",type:this.type,id:this.chipId,"aria-checked":"button"===this.type?void 0:String(this.checked),role:this.type,"aria-label":this.tdsAriaLabel},s)),t("label",{key:"f0a219c8f5c462e3ec626551aeea054ead479d2b",onClick:s=>s.stopPropagation(),htmlFor:this.chipId},c&&t("slot",{key:"9169b3a496fa6648873811a3ca9eb5d51d110a6f",name:"prefix"}),e&&t("slot",{key:"932e06fe8be85d7588d11024ebc87000c887e9c0",name:"label"}),d&&t("slot",{key:"3f159f17de790ec17b64a596b9f88dbbda7d1429",name:"suffix"})))))}get host(){return e(this)}};o.style=".sc-tds-chip-s>*{display:inline-flex;align-items:center}.sc-tds-chip-h.sc-tds-chip-s>[slot=label],.sc-tds-chip-h .sc-tds-chip-s>[slot=label]{padding-top:2px}.component.sc-tds-chip .tds-chip-component.sc-tds-chip{display:inline-flex}.component.sc-tds-chip .tds-chip-component.sc-tds-chip label.sc-tds-chip{background-color:var(--tds-chips-background);color:var(--tds-chips-color);font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls);display:inline-flex;align-items:center;border-radius:16px;cursor:pointer;white-space:nowrap}.component.sc-tds-chip .tds-chip-component.sc-tds-chip label.sc-tds-chip:hover{background-color:var(--tds-chips-background-hover)}.component.sc-tds-chip .tds-chip-component.disabled.sc-tds-chip label.sc-tds-chip{background-color:var(--tds-chips-background-disabled);color:var(--tds-chips-text-disabled);cursor:default;pointer-events:none}.component.sc-tds-chip .tds-chip-component.disabled.sc-tds-chip input.sc-tds-chip{pointer-events:none}.component.sc-tds-chip .tds-chip-component.disabled.sc-tds-chip input[type=radio].sc-tds-chip:checked:disabled+label.sc-tds-chip{background-color:var(--tds-chips-background-active-disabled);color:var(--tds-chips-text-checked-disabled)}.component.sc-tds-chip .tds-chip-component.disabled.sc-tds-chip input[type=checkbox].sc-tds-chip:checked:disabled+label.sc-tds-chip{background-color:var(--tds-chips-background-active-disabled);color:var(--tds-chips-text-checked-disabled)}.component.sc-tds-chip .tds-chip-component.lg.sc-tds-chip label.sc-tds-chip{height:32px;padding:0 16px;gap:8px}.component.sc-tds-chip .tds-chip-component.sm.sc-tds-chip label.sc-tds-chip{height:24px;padding:0 12px;gap:6px}.component.sc-tds-chip .tds-chip-component.sm.prefix.sc-tds-chip label.sc-tds-chip{padding:0 12px 0 6px}.component.sc-tds-chip .tds-chip-component.sm.suffix.sc-tds-chip label.sc-tds-chip{padding:0 6px 0 12px}.component.sc-tds-chip .tds-chip-component.lg.prefix.sc-tds-chip label.sc-tds-chip{padding:0 16px 0 8px}.component.sc-tds-chip .tds-chip-component.lg.suffix.sc-tds-chip label.sc-tds-chip{padding:0 8px 0 16px}.component.sc-tds-chip .tds-chip-component.lg.prefix.suffix.sc-tds-chip label.sc-tds-chip{padding:0 8px}.component.sc-tds-chip .tds-chip-component.sm.prefix.suffix.sc-tds-chip label.sc-tds-chip{padding:0 6px}.component.sc-tds-chip .tds-chip-component.sc-tds-chip input.sc-tds-chip{opacity:0;position:absolute;z-index:-1}.component.sc-tds-chip .tds-chip-component.sc-tds-chip input.sc-tds-chip:focus-visible+label.sc-tds-chip{outline:2px solid var(--tds-focus-outline-color);box-shadow:0 0 0 1px var(--tds-white);outline-offset:1px;z-index:1;background-color:var(--tds-chips-background-focus)}.component.sc-tds-chip .tds-chip-component.sc-tds-chip input.sc-tds-chip:checked+label.sc-tds-chip{background-color:var(--tds-chips-background-active);color:var(--tds-chips-color-active)}.component.sc-tds-chip .tds-chip-component.sc-tds-chip input.sc-tds-chip:checked+label.sc-tds-chip:hover{background-color:var(--tds-chips-background-active-hover)}";export{o as tds_chip}