@scania/tegel
Version:
Tegel Design System
1 lines • 2.55 kB
JavaScript
import{r as t,h as s,H as e,g as i}from"./p-2049fab2.js";const d=["verticalDividers","compactDesign","noMinWidth"],o=class{constructor(s){t(this,s),this.cellValue=void 0,this.cellKey=void 0,this.disablePadding=!1,this.textAlign=void 0,this.textAlignState=void 0,this.activeSorting=!1,this.verticalDividers=!1,this.compactDesign=!1,this.noMinWidth=!1,this.tableId=""}internalTdsPropChangeListener(t){this.tableId===t.detail.tableId&&t.detail.changed.filter((t=>d.includes(t))).forEach((s=>{if(void 0===this[s])throw new Error(`Table prop is not supported: ${s}`);this[s]=t.detail[s]}))}internalTdsHoverListener(t){const{tableId:s,key:e}=t.detail;s===this.tableId&&(this.activeSorting=this.cellKey===e)}internalTdsTextAlignListener(t){const[s,e,i]=t.detail;this.tableId===s&&this.cellKey===e&&(this.textAlignState=this.textAlign?this.textAlign:["left","start","center","right","end"].includes(i)?i:"left")}connectedCallback(){var t;this.tableEl=this.host.closest("tds-table"),this.tableId=null===(t=this.tableEl)||void 0===t?void 0:t.tableId}componentWillLoad(){this.tableEl&&d.forEach((t=>{this[t]=this.tableEl[t]})),this.textAlign&&(this.textAlignState=this.textAlign)}render(){let t="var(--tds-spacing-element-16)";return this.disablePadding?t="0":this.compactDesign&&(t="var(--tds-spacing-element-8) var(--tds-spacing-element-16)"),s(e,{key:"726912df89435650c3ad1f39729fdff7d2a497e3",class:{"tds-table__body-cell":!0,"tds-table__body-cell--hover":this.activeSorting,"tds-table__compact":this.compactDesign,"tds-table--divider":this.verticalDividers,"tds-table--no-min-width":this.noMinWidth},style:{textAlign:this.textAlignState,padding:t},role:"cell"},this.cellValue,s("slot",{key:"ff6fb6613f29e94552916cfa75932b670e22ea80"}))}get host(){return i(this)}};o.style=":host(.tds-table__body-cell){box-sizing:border-box;font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls);display:table-cell;box-sizing:border-box;color:var(--tds-table-color);padding:var(--tds-spacing-element-16);min-width:192px;vertical-align:top;background-color:transparent;transition:background-color 200ms ease}:host(.tds-table__body-cell) *{box-sizing:border-box}:host(.tds-table__body-cell--hover){background-color:var(--tds-table-body-cell-background-hover)}:host(.tds-table__compact){padding:var(--tds-spacing-element-8) var(--tds-spacing-element-16)}:host(.tds-table--divider){border-right:1px solid var(--tds-table-divider)}:host(.tds-table--divider:last-of-type){border-right:none}:host(.tds-table--no-min-width){min-width:unset}";export{o as tds_body_cell}