@scania/tegel
Version:
Tegel Design System
1 lines • 2.63 kB
JavaScript
import{r as t,h as s,H as e,a as i}from"./p-9xxNGlso.js";const d=["verticalDividers","compactDesign","noMinWidth"],o=class{constructor(s){t(this,s),this.disablePadding=!1,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","right","end","center"].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=>{var s;this[t]=null===(s=this.tableEl)||void 0===s?void 0:s[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:"8344d3c796f2f56305924347e161d08039ae9c72",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}},s("td",{key:"330bec9031af90243469ab548b638a4be86dd40d",style:{textAlign:this.textAlignState,padding:t},colSpan:this.colSpan,rowSpan:this.rowSpan},this.cellValue,s("slot",{key:"0af9c581a3cf0db8c94cd68cd9e500ba51fe2501"})))}get host(){return i(this)}};o.style=":host{display:contents}:host(.tds-table__body-cell) td{box-sizing:border-box;font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls);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) td *{box-sizing:border-box}:host(.tds-table__body-cell--hover) td{background-color:var(--tds-table-body-cell-background-hover)}:host(.tds-table__compact) td{padding:var(--tds-spacing-element-8) var(--tds-spacing-element-16)}:host(.tds-table--divider) td{border-right:1px solid var(--tds-table-divider)}:host(.tds-table--divider:last-of-type) td{border-right:none}:host(.tds-table--no-min-width) td{min-width:unset}";export{o as tds_body_cell}