@scania/tegel
Version:
Tegel Design System
1 lines • 6.22 kB
JavaScript
import{t,p as o,H as e,c as a,h as l,a as s}from"./index.js";import{g as r}from"./p-Cn4f8w1e.js";const i=o(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.internalTdsTablePropChange=a(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=r(),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 e=[];const a=this.host.querySelector("tds-table-body");return[...Array.from(null!==(t=null==a?void 0:a.querySelectorAll("tds-table-body-row"))&&void 0!==t?t:[]).filter((t=>t.selected)),...Array.from(null!==(o=null==a?void 0:a.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 e,a;const l={cellKey:null!==(e=t.cellKey)&&void 0!==e?e:"",cellValue:null!==(a=t.cellValue)&&void 0!==a?a:t.innerText};o=[...o,l]})),e=[...e,o]})),e}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(s,{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 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}]}}static get style(){return":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}"}},[257,"tds-table",{verticalDividers:[516,"vertical-dividers"],compactDesign:[516,"compact-design"],noMinWidth:[516,"no-min-width"],multiselect:[516],expandableRows:[516,"expandable-rows"],responsive:[516],modeVariant:[513,"mode-variant"],zebraMode:[513,"zebra-mode"],horizontalScrollWidth:[1,"horizontal-scroll-width"],tableId:[1,"table-id"],enableHorizontalScrollToolbarDesign:[32],enableHorizontalScrollFooterDesign:[32],getSelectedRows:[64]},void 0,{multiselect:[{multiselectChanged:0}],expandableRows:[{enableExpandableRowsChanged:0}],compactDesign:[{compactDesignChanged:0}],verticalDividers:[{verticalDividersChanged:0}],noMinWidth:[{noMinWidthChanged:0}],zebraMode:[{zebraModeChanged:0}],modeVariant:[{modeVariantChanged:0}],horizontalScrollWidth:[{widthChanged:0}]}]);function d(){"undefined"!=typeof customElements&&["tds-table"].forEach((o=>{"tds-table"===o&&(customElements.get(t(o))||customElements.define(t(o),i))}))}d();const n=i,h=d;export{n as TdsTable,h as defineCustomElement}