@scania/tegel
Version:
Tegel Design System
1 lines • 5.18 kB
JavaScript
import{r as t,c as o,h as l,H as r,a as s}from"./p-9xxNGlso.js";import{g as a}from"./p-Cn4f8w1e.js";const e=class{constructor(l){t(this,l),this.internalTdsTablePropChange=o(this,"internalTdsTablePropChange",6),this.verticalDividers=!1,this.compactDesign=!1,this.multiselect=!1,this.expandableRows=!1,this.responsive=!1,this.modeVariant=null,this.zebraMode="none",this.horizontalScrollWidth=null,this.tableId=a(),this.enableHorizontalScrollToolbarDesign=!1,this.enableHorizontalScrollFooterDesign=!1}emitInternalTdsPropChange(t,o){this.internalTdsTablePropChange.emit({tableId:this.tableId,changed:[t],[t]:o})}async getSelectedRows(){var t,o;let l=[];const r=this.host.querySelector("tds-table-body");return[...Array.from(null!==(t=null==r?void 0:r.querySelectorAll("tds-table-body-row"))&&void 0!==t?t:[]).filter((t=>t.selected)),...Array.from(null!==(o=null==r?void 0:r.querySelectorAll("tds-table-body-row-expandable"))&&void 0!==o?o:[]).filter((t=>t.selected))].forEach((t=>{let o=[];Array.from(t.getElementsByTagName("tds-body-cell")).forEach((t=>{var l,r;const s={cellKey:null!==(l=t.cellKey)&&void 0!==l?l:"",cellValue:null!==(r=t.cellValue)&&void 0!==r?r:t.innerText};o=[...o,s]})),l=[...l,o]})),l}getStyles(){const t={};return this.horizontalScrollWidth&&(t.width=`${this.horizontalScrollWidth}px`),t}multiselectChanged(t){this.emitInternalTdsPropChange("multiselect",t)}enableExpandableRowsChanged(t){this.emitInternalTdsPropChange("expandableRows",t)}compactDesignChanged(t){this.emitInternalTdsPropChange("compactDesign",t)}verticalDividersChanged(t){this.emitInternalTdsPropChange("verticalDividers",t)}noMinWidthChanged(t){this.emitInternalTdsPropChange("noMinWidth",t)}zebraModeChanged(t){this.emitInternalTdsPropChange("zebraMode",t)}modeVariantChanged(t){this.emitInternalTdsPropChange("modeVariant",t)}widthChanged(t){this.emitInternalTdsPropChange("horizontalScrollWidth",t)}componentWillRender(){if(this.horizontalScrollWidth){const t=this.host.closest("tds-table");t&&(this.enableHorizontalScrollToolbarDesign=t.getElementsByTagName("tds-table-toolbar").length>=1,this.enableHorizontalScrollFooterDesign=t.getElementsByTagName("tds-table-footer").length>=1)}}render(){return l(r,{key:"677bf0b8c1df0154c90438ad8af1c947b701a1f8",class:{"tds-table--responsive":this.responsive,"tds-mode-variant-primary":"primary"===this.modeVariant,"tds-mode-variant-secondary":"secondary"===this.modeVariant}},l("table",{key:"673a4b1bae0b0430760697b0312611d0a91421bf",style:this.getStyles(),class:{"tds-table":!0,"tds-table--compact":this.compactDesign,"tds-table--divider":this.verticalDividers,"tds-table--no-min-width":!!this.noMinWidth,"tds-table--responsive":this.responsive,"tds-table--horizontal-scroll":!!this.horizontalScrollWidth,"tds-table--horizontal-scroll-toolbar":this.enableHorizontalScrollToolbarDesign&&!this.compactDesign,"tds-table--horizontal-scroll-toolbar-compact":this.enableHorizontalScrollToolbarDesign&&this.compactDesign,"tds-table--horizontal-scroll-footer":this.enableHorizontalScrollFooterDesign&&!this.compactDesign,"tds-table--horizontal-scroll-footer-compact":this.enableHorizontalScrollFooterDesign&&this.compactDesign}},l("slot",{key:"218dfb52cd9498b0c72839dd6d0c2f4bb71a89cb"})))}get host(){return s(this)}static get watchers(){return{multiselect:[{multiselectChanged:0}],expandableRows:[{enableExpandableRowsChanged:0}],compactDesign:[{compactDesignChanged:0}],verticalDividers:[{verticalDividersChanged:0}],noMinWidth:[{noMinWidthChanged:0}],zebraMode:[{zebraModeChanged:0}],modeVariant:[{modeVariantChanged:0}],horizontalScrollWidth:[{widthChanged:0}]}}};e.style=":host,:root{--tds-scrollbar-width-standard:thin;--tds-scrollbar-width:10px;--tds-scrollbar-height:10px;--tds-scrollbar-thumb-border-width:3px;--tds-scrollbar-thumb-border-hover-width:2px}body{scrollbar-width:thin}:host,.tds-table{border-collapse:collapse;display:table;box-sizing:border-box}:host *,.tds-table *{box-sizing:border-box}:host(.tds-table--responsive),.tds-table--responsive{width:100%}.tds-table--horizontal-scroll{display:block;overflow-x:scroll;white-space:nowrap}.tds-table--horizontal-scroll:hover::-webkit-scrollbar-thumb{border:var(--tds-scrollbar-thumb-border-hover-width) solid transparent;background-clip:padding-box}.tds-table--horizontal-scroll::-webkit-scrollbar{height:var(--tds-scrollbar-height)}.tds-table--horizontal-scroll::-webkit-scrollbar-track{background:var(--tds-scrollbar-track-color)}.tds-table--horizontal-scroll::-webkit-scrollbar-thumb{border-radius:40px;background:var(--tds-scrollbar-thumb-color);border:var(--tds-scrollbar-thumb-border-width) solid transparent;background-clip:padding-box}.tds-table--horizontal-scroll::-webkit-scrollbar-button{height:0;width:0}@supports not selector(::-webkit-scrollbar){.tds-table--horizontal-scroll{scrollbar-color:var(--tds-scrollbar-thumb-color) var(--tds-scrollbar-track-color);scrollbar-width:var(--tds-scrollbar-width-standard)}}.tds-table--horizontal-scroll-toolbar{margin-top:64px}.tds-table--horizontal-scroll-toolbar-compact{margin-top:56px}.tds-table--horizontal-scroll-footer{margin-bottom:49px}.tds-table--horizontal-scroll-footer-compact{margin-bottom:33px}";export{e as tds_table}