UNPKG

@scania/tegel

Version:
1 lines 4.18 kB
import{r as t,c as e,h as s,H as d,a}from"./p-9xxNGlso.js";const o=["multiselect","expandableRows","verticalDividers","compactDesign","noMinWidth"],i=class{constructor(s){t(this,s),this.tdsSelectAll=e(this,"tdsSelectAll",6),this.allSelected=!1,this.disabled=!1,this.indeterminate=!1,this.multiselect=!1,this.expandableRows=!1,this.mainCheckboxSelected=!1,this.mainExpendSelected=!1,this.verticalDividers=!1,this.compactDesign=!1,this.noMinWidth=!1,this.whiteBackground=!1,this.enableToolbarDesign=!1,this.tableId=""}internalTdsPropChangeListener(t){this.tableId===t.detail.tableId&&t.detail.changed.filter((t=>o.includes(t))).forEach((e=>{if(void 0===this[e])throw new Error(`Table prop is not supported: ${e}`);this[e]=t.detail[e]}))}internalTdsRowExpandedListener(t){this.tableId===t.detail[0]&&setTimeout((()=>{this.bodyExpandClicked()}),100)}bodyExpandClicked(){var t;const e=null===(t=this.host.parentElement)||void 0===t?void 0:t.querySelector("tds-table-body");if(e){const t=e.getElementsByClassName("tds-table__row-extend--active").length,s=e.getElementsByTagName("tds-table-body-row-expendable").length;this.mainExpendSelected=s===t}}connectedCallback(){var t;this.tableEl=this.host.closest("tds-table"),this.tableId=null===(t=this.tableEl)||void 0===t?void 0:t.tableId}componentWillLoad(){o.forEach((t=>{var e;this[t]=null===(e=this.tableEl)||void 0===e?void 0:e[t]}))}componentWillRender(){const t=this.host.closest("tds-table");t&&(this.enableToolbarDesign=(null==t?void 0:t.getElementsByTagName("tds-table-toolbar").length)>=1)}async handleCheckboxChange(t){var e;this.allSelected=t.detail.checked,this.tdsSelectAll.emit({tableId:this.tableId,checked:t.detail.checked,selectedRows:await(null===(e=this.tableEl)||void 0===e?void 0:e.getSelectedRows())})}render(){return s(d,{key:"6694732da4046fe06dd5583dabcd7f08b1eca27e",class:{"tds-table--compact":this.compactDesign,"tds-table--divider":this.verticalDividers,"tds-table--toolbar-available":this.enableToolbarDesign}},s("tr",{key:"ae44f1f20feedd4833dcad0f5eb166dbcb8271c2"},this.multiselect&&s("th",{key:"7164dda86ee3eb21dc04c11ebd0dd074a8fdf00d",class:"tds-table__header-cell tds-table__header-cell--checkbox"},s("div",{key:"791a29bf597e9395c84bae6d408f146f8d240967",class:"tds-form-label tds-form-label--table"},s("tds-checkbox",{key:"6bad99498d9e67dfe068e393ed15dc229a6229de",checked:this.allSelected||this.selected,disabled:this.disabled,indeterminate:this.indeterminate,onTdsChange:t=>this.handleCheckboxChange(t)}))),this.expandableRows&&s("th",{key:"5818a44e2ce485265fecef36135dbbe113ac2bdf",class:"tds-table__header-cell tds-table__header-cell--checkbox"}),s("slot",{key:"a8cd6f4cde24922bf8a1998a4120c7ff02cf60f3"})))}get host(){return a(this)}};i.style=":host{box-sizing:border-box;display:table-header-group}:host *{box-sizing:border-box}:host .tds-table__header-cell--checkbox{font:var(--tds-headline-07);letter-spacing:var(--tds-headline-07-ls);display:table-cell;text-align:left;color:var(--tds-table-color);background-color:var(--tds-table-header-background);border-bottom:1px solid var(--tds-table-divider);height:48px;box-sizing:border-box;overflow:hidden;transition:background-color 200ms ease;min-width:unset;width:48px;padding:0;border-top-left-radius:4px}:host .tds-form-label--table{width:100%;height:48px;display:flex;justify-content:center;align-items:center;cursor:pointer}:host .tds-table__expand-control-container{display:flex;justify-content:center;align-items:center;height:48px;cursor:pointer}:host .tds-table__expand-control-container .tds-table__expand-input{display:none}:host .tds-table__expand-control-container .tds-expandable-row-icon{height:20px;width:20px;transition:transform 200ms ease;transform:rotate(0)}:host .tds-table__expand-control-container .tds-expandable-row-icon--opened{transform:rotate(180deg)}:host(.tds-table--compact) .tds-table__header-cell--checkbox{height:32px}:host(.tds-table--compact) .tds-form-label--table{height:32px}:host(.tds-table--divider) .tds-table__header-cell--checkbox{border-right:1px solid var(--tds-table-divider)}:host(.tds-table--toolbar-available) .tds-table__header-cell--checkbox{border-top-left-radius:0}";export{i as tds_table_header}