@ncino/web-components 4.3.0-preview.7 → 4.3.0-preview.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/table/gator/table.gator.js +70 -37
- package/dist/packages/web-components/src/components/table/gator/table.gator.scss.js +1 -1
- package/dist/types/components/table/gator/table.gator.d.ts +3 -0
- package/dist/types/components/table/table.d.ts +2 -0
- package/package.json +1 -1
- package/web-types.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import"../../../node_modules/.pnpm/@lit_reactive-element@2.1.0/node_modules/@lit/reactive-element/reactive-element.js";import{nothing as
|
|
2
|
-
<table class="gator-table ${this.tableElevatedClass}" role="grid"
|
|
3
|
-
|
|
1
|
+
import"../../../node_modules/.pnpm/@lit_reactive-element@2.1.0/node_modules/@lit/reactive-element/reactive-element.js";import{nothing as f,html as r}from"../../../node_modules/.pnpm/lit-html@3.3.0/node_modules/lit-html/lit-html.js";import"../../../node_modules/.pnpm/lit-element@4.2.0/node_modules/lit-element/lit-element.js";import{customElement as m}from"../../../node_modules/.pnpm/@lit_reactive-element@2.1.0/node_modules/@lit/reactive-element/decorators/custom-element.js";import{property as b}from"../../../node_modules/.pnpm/@lit_reactive-element@2.1.0/node_modules/@lit/reactive-element/decorators/property.js";import{state as $}from"../../../node_modules/.pnpm/@lit_reactive-element@2.1.0/node_modules/@lit/reactive-element/decorators/state.js";import w from"../../../packages/web-components/src/components/table/table.tokens.scss.js";import T from"../../../packages/web-components/src/components/table/gator/table.gator.scss.js";import P from"../../../packages/web-components/src/tokens/primitive.tokens.scss.js";import y from"../../../packages/web-components/src/tokens/semantic.tokens.scss.js";import{NjcTable as C}from"../table.js";import"../../checkbox/checkbox.gator.js";import{unsafeHTML as R}from"../../../node_modules/.pnpm/lit-html@3.3.0/node_modules/lit-html/directives/unsafe-html.js";import{msg as x}from"../../../node_modules/.pnpm/@lit_localize@0.12.2/node_modules/@lit/localize/init/install.js";import"../../../node_modules/.pnpm/@lit_localize@0.12.2/node_modules/@lit/localize/init/runtime.js";import{unsafeCSS as g}from"../../../node_modules/.pnpm/@lit_reactive-element@2.1.0/node_modules/@lit/reactive-element/css-tag.js";var B=Object.defineProperty,v=Object.getOwnPropertyDescriptor,p=(t,e,l,s)=>{for(var a=s>1?void 0:s?v(e,l):e,i=t.length-1,d;i>=0;i--)(d=t[i])&&(a=(s?d(e,l,a):d(a))||a);return s&&a&&B(e,l,a),a};let c=class extends C{constructor(){super(...arguments),this.elevated=!1,this.includePagination=!1,this.selectedRows=[],this._currentPage=1}render(){return this.columns?this.renderWrapper(this.getTableHeader(this.columns),this.getTableBody(this.columns,this.displayedRowData)):null}get tableElevatedClass(){return this.elevated?"gator-table-elevated":""}renderWrapper(t,e){return r`
|
|
2
|
+
<table class="gator-table ${this.tableElevatedClass}" role="grid"
|
|
3
|
+
aria-labelledby="${this.tableAriaLabelledBy}">
|
|
4
|
+
${t} ${e}
|
|
4
5
|
</table>
|
|
5
6
|
${this.includePagination?r`
|
|
6
7
|
<ngc-table-pagination
|
|
@@ -10,45 +11,77 @@ import"../../../node_modules/.pnpm/@lit_reactive-element@2.1.0/node_modules/@lit
|
|
|
10
11
|
@pagechanged="${this.handlePageChanged}"
|
|
11
12
|
@itemsperpagechanged="${this.handleItemsPerPageChanged}"
|
|
12
13
|
></ngc-table-pagination>
|
|
13
|
-
|
|
14
|
-
`}handlePageChanged(
|
|
15
|
-
<
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
14
|
+
`:f}
|
|
15
|
+
`}handlePageChanged(t){this._currentPage=t.detail.page}handleItemsPerPageChanged(t){this.itemsPerPage=t.detail.itemsPerPage}getTableHeader(t){const e=t.map(this.getTableHeaderColumn);return this.selectable&&e.unshift(r`
|
|
16
|
+
<th id="col-select" scope="col">
|
|
17
|
+
<ngc-checkbox
|
|
18
|
+
title-text="${x("Select All")}"
|
|
19
|
+
hide-label
|
|
20
|
+
?selected="${this.selectedRows.length===this.data.length}"
|
|
21
|
+
@change="${l=>this.handleSelectAll(l)}"
|
|
22
|
+
></ngc-checkbox>
|
|
23
|
+
</th>`),r`
|
|
24
|
+
<thead role="rowgroup">
|
|
23
25
|
<tr role="row">
|
|
24
|
-
|
|
26
|
+
${e}
|
|
25
27
|
</tr>
|
|
26
|
-
|
|
27
|
-
`}handleSelectAll(
|
|
28
|
-
${s.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
</thead>
|
|
29
|
+
`}handleSelectAll(t){t.detail.selected?(this.selectedRows=[...this.data],this.data.forEach(e=>{e.selected=t.detail.selected})):(this.selectedRows=[],this.data.forEach(e=>{e.selected=!1})),this.dispatchEvent(new CustomEvent("selectall",{bubbles:!0,detail:{selectedRows:this.selectedRows}})),this.requestUpdate()}getTableHeaderColumn(t){const e=`col-${t.field}`;return r`
|
|
30
|
+
<th id="${e}" scope="col">${t.name}</th>`}getTableBody(t,e){const l=[];let s={rows:[]};return e.forEach(a=>{a.isTableHeader?((s.rows.length>0||s.header)&&l.push(s),s={header:a,rows:[]}):s.rows.push(a)}),(s.rows.length>0||s.header)&&l.push(s),l.length===0&&e.length>0&&l.push({rows:e}),r`
|
|
31
|
+
${l.map(a=>this.getCategoryBody(a,t))}
|
|
32
|
+
`}getCategoryBody(t,e){let l="",s="",a="";t.header&&(l=t.header.headerText||t.header.categoryText||t.header.name||"Category",a=`category-${l.toLowerCase().replace(/\s+/g,"-")}`,s=a);const i=t.header?this.getTableHeaderRow(e,t.header):"",d=t.rows.map(n=>this.getTableBodyRow(n,e,a)),u=e.some(n=>n.includedInTotals===!0),o=t.rows.length>0&&u?this.getTotalRow(t.rows,e,a):"";return r`
|
|
33
|
+
<tbody role="rowgroup" ${s?r`aria-labelledby="${s}"`:""}>
|
|
34
|
+
${i}
|
|
35
|
+
${d}
|
|
36
|
+
${o}
|
|
33
37
|
</tbody>
|
|
34
|
-
`}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
38
|
+
`}getTotalRow(t,e,l){const s={};e.forEach(o=>{s[o.field]=0,o.includedInTotals&&t.forEach(n=>{const h=this.parseNumericValue(n[o.field]);h!==null&&(s[o.field]+=h)})});const a=l?`${l}-total`:"total-row",i=r`
|
|
39
|
+
<th
|
|
40
|
+
id="${a}"
|
|
41
|
+
scope="row"
|
|
42
|
+
class="gator-table-total-label"
|
|
43
|
+
>
|
|
44
|
+
Total
|
|
45
|
+
</th>
|
|
46
|
+
`,d=e.map(o=>{const n=`col-${o.field}`,h=[a,l,n].filter(Boolean).join(" ");return o.includedInTotals?r`
|
|
47
|
+
<td
|
|
48
|
+
role="gridcell"
|
|
49
|
+
headers="${h}"
|
|
50
|
+
class="gator-table-total-cell"
|
|
51
|
+
>
|
|
52
|
+
${this.formatTotal(s[o.field],o)}
|
|
53
|
+
</td>
|
|
54
|
+
`:r`
|
|
55
|
+
<td
|
|
56
|
+
role="gridcell"
|
|
57
|
+
class="gator-table-total-cell"
|
|
58
|
+
>
|
|
59
|
+
|
|
60
|
+
</td>
|
|
61
|
+
`}),u=this.selectable?[i,...d]:[i,...d.slice(1)];return r`
|
|
62
|
+
<tr role="row" class="gator-table-total-row">
|
|
63
|
+
${u}
|
|
64
|
+
</tr>
|
|
65
|
+
`}parseNumericValue(t){if(typeof t=="number")return t;if(typeof t=="string"){const e=t.replace(/[^0-9.-]/g,""),l=parseFloat(e);if(!isNaN(l))return l}return null}formatTotal(t,e){const l=typeof e.decimalPlaces=="number"?e.decimalPlaces:2,s=t.toFixed(l);return typeof e.cellRenderer=="function"?e.cellRenderer({[e.field]:s}):s}getTableBodyRow(t,e,l){const s=e.map(a=>this.getTableBodyCell(t,a,l));if(this.selectable){const a=l?`col-select ${l}`:"col-select";s.unshift(r`
|
|
66
|
+
<td role="gridcell" class="gator-table-checkbox-column" headers="${a}">
|
|
67
|
+
<ngc-checkbox
|
|
68
|
+
label="test"
|
|
69
|
+
?selected="${t.selected}"
|
|
70
|
+
@change="${i=>this.handleTableBodyRowSelected(i,t)}"
|
|
71
|
+
></ngc-checkbox>
|
|
72
|
+
</td>`)}return r`
|
|
73
|
+
<tr role="row" class="${this.selectable&&t.selected?"gator-table-row-selected":""}">
|
|
74
|
+
${s}
|
|
75
|
+
</tr>
|
|
76
|
+
`}getTableHeaderRow(t,e){const l=this.selectable?t.length+1:t.length,s=e.headerText||e.categoryText||e.name||"Category";return r`
|
|
45
77
|
<tr role="row" class="gator-table-category-header">
|
|
46
|
-
<th role="rowheader" colspan="${
|
|
47
|
-
${
|
|
78
|
+
<th role="rowheader" colspan="${l}" scope="rowgroup" class="gator-table-header-cell"
|
|
79
|
+
id="${`category-${s.toLowerCase().replace(/\s+/g,"-")}`}">
|
|
80
|
+
${s}
|
|
48
81
|
</th>
|
|
49
82
|
</tr>
|
|
50
|
-
`}handleTableBodyRowSelected(e
|
|
83
|
+
`}handleTableBodyRowSelected(t,e){t.detail.selected?(e.selected=!0,this.selectedRows.push(e)):(e.selected=!1,this.selectedRows=this.selectedRows.filter(l=>l!==e)),this.dispatchEvent(new CustomEvent("rowselected",{bubbles:!0,detail:{data:e,selectedRows:this.selectedRows}})),this.requestUpdate()}get displayedRowData(){if(!this.includePagination)return this.data;const t=(this._currentPage-1)*this.itemsPerPage,e=t+this.itemsPerPage;return this.data.slice(t,e)}getTableBodyCell(t,e,l){const s=`col-${e.field}`,a=l?`${s} ${l}`:s;return r`
|
|
51
84
|
<td role="gridcell" headers="${a}">
|
|
52
|
-
${
|
|
85
|
+
${R(this.getValueForCell(t,e))}
|
|
53
86
|
</td>
|
|
54
|
-
`}getValueForCell(e
|
|
87
|
+
`}getValueForCell(t,e){return typeof e.cellRenderer=="function"?e.cellRenderer(t):t[e.field]}};c.styles=[g(y),g(P),g(w),g(T)];p([b({type:Boolean})],c.prototype,"elevated",2);p([b({type:Boolean,attribute:"include-pagination"})],c.prototype,"includePagination",2);p([$()],c.prototype,"_currentPage",2);c=p([m("ngc-table")],c);export{c as NgcTable};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const r='.gator-table{font-family:var(--text-family-body),"Open Sans",sans-serif;border-spacing:0;width:100%;overflow:auto;border-radius:var(--ngc-table-border-radius, 1rem);background-color:var(--ngc-table-row-background-color, var(--color-surface-primary-white, #FFF))}.gator-table thead>tr{height:3rem;min-height:3rem}.gator-table thead>tr :first-child{border-top-left-radius:var(--ngc-table-border-radius, 1rem)}.gator-table thead>tr :last-child{border-top-right-radius:var(--ngc-table-border-radius, 1rem)}.gator-table tbody>tr,.gator-table tfoot>tr{min-height:3rem;height:3rem}.gator-table th{background:var(--ngc-table-header-background-color, #F3F5F7);text-align:left;padding:var(--spacing-padding-margin-8, .5rem) var(--spacing-padding-margin-16, 1rem);border-bottom:1px solid var(--ngc-table-header-border-bottom-color, #E5E5E5)}.gator-table th:hover{background:var(--ngc-table-header-background-color-hover, #E4ECF2)}.gator-table [dir=rtl] th.mat-header-cell{text-align:right}.gator-table td{padding:var(--spacing-padding-margin-8, .5rem) var(--spacing-padding-margin-16, 1rem);border-bottom:1px solid var(--ngc-table-row-border-bottom-color, #E5E5E5)}.gator-table tr:has(td:hover){background:var(--ngc-table-row-background-color-hover, var(--color-surface-hover, #F7F7F7))}.gator-table th:first-of-type,.gator-table td:first-of-type{padding-left:24px}.gator-table [dir=rtl] th:first-of-type,.gator-table [dir=rtl] td:first-of-type{padding-left:0;padding-right:24px}.gator-table th:last-of-type,.gator-table td:last-of-type{padding-right:24px}.gator-table [dir=rtl] th:last-of-type,.gator-table [dir=rtl] td:last-of-type{padding-right:0;padding-left:24px}.gator-table-checkbox-column{width:1%}.gator-table-row-selected{background-color:var(--ngc-table-row-background-color-selected, var(--color-surface-brand, #F3F5F7))}.gator-table-elevated{box-shadow:var(--shadow-x-offset-0, 0px) var(--shadow-shadow-1-card-property-1-y-offset, 1px) var(--shadow-shadow-1-card-property-1-blur, 1.5px) var(--shadow-shadow-1-card-property-1-spread, 0px) var(--shadow-color-4, rgba(31, 31, 31, .04)),var(--shadow-x-offset-0, 0px) var(--shadow-shadow-1-card-property-2-y-offset, 2px) var(--shadow-shadow-1-card-property-2-blur, 5px) var(--shadow-shadow-1-card-property-2-spread, 0px) var(--shadow-color-10, rgba(31, 31, 31, .1)),var(--shadow-x-offset-0, 0px) var(--shadow-shadow-1-card-property-3-y-offset, 3px) var(--shadow-shadow-1-card-property-3-blur, 9px) var(--shadow-shadow-1-card-property-3-spread, 6px) var(--shadow-color-5, rgba(31, 31, 31, .05))}.gator-table-category-header,.gator-table-category-header:hover{background-color:var(--ngc-table-header-background-color, #F3F5F7)}.gator-table-category-header th{border-bottom:none!important;
|
|
1
|
+
const r='.gator-table{font-family:var(--text-family-body),"Open Sans",sans-serif;border-spacing:0;width:100%;overflow:auto;border-radius:var(--ngc-table-border-radius, 1rem);background-color:var(--ngc-table-row-background-color, var(--color-surface-primary-white, #FFF))}.gator-table thead>th,.gator-table thead>tr{height:3rem;min-height:3rem}.gator-table thead>th :first-child,.gator-table thead>tr :first-child{border-top-left-radius:var(--ngc-table-border-radius, 1rem)}.gator-table thead>th :last-child,.gator-table thead>tr :last-child{border-top-right-radius:var(--ngc-table-border-radius, 1rem)}.gator-table tbody>tr,.gator-table tfoot>tr{min-height:3rem;height:3rem}.gator-table th{background:var(--ngc-table-header-background-color, var(--color-blue-10, #F3F5F7));text-align:left;padding:var(--spacing-padding-margin-8, .5rem) var(--spacing-padding-margin-16, 1rem);border-bottom:1px solid var(--ngc-table-header-border-bottom-color, #E5E5E5)}.gator-table th:hover{background:var(--ngc-table-header-background-color-hover, #E4ECF2)}.gator-table [dir=rtl] th.mat-header-cell{text-align:right}.gator-table td{padding:var(--spacing-padding-margin-8, .5rem) var(--spacing-padding-margin-16, 1rem);border-bottom:1px solid var(--ngc-table-row-border-bottom-color, #E5E5E5)}.gator-table tr:has(td:hover){background:var(--ngc-table-row-background-color-hover, var(--color-surface-hover, #F7F7F7))}.gator-table tbody:last-child>tr:last-child th:first-child,.gator-table tbody:last-child>tr:last-child td:first-child{border-bottom-left-radius:var(--ngc-table-border-radius, 1rem)}.gator-table tbody:last-child>tr:last-child td:last-child{border-bottom-right-radius:var(--ngc-table-border-radius, 1rem)}.gator-table th:first-of-type,.gator-table td:first-of-type{padding-left:24px}.gator-table [dir=rtl] th:first-of-type,.gator-table [dir=rtl] td:first-of-type{padding-left:0;padding-right:24px}.gator-table th:last-of-type,.gator-table td:last-of-type{padding-right:24px}.gator-table [dir=rtl] th:last-of-type,.gator-table [dir=rtl] td:last-of-type{padding-right:0;padding-left:24px}.gator-table-checkbox-column{width:1%}.gator-table-row-selected{background-color:var(--ngc-table-row-background-color-selected, var(--color-surface-brand, var(--color-blue-10, #F3F5F7)))}.gator-table-elevated{box-shadow:var(--shadow-x-offset-0, 0px) var(--shadow-shadow-1-card-property-1-y-offset, 1px) var(--shadow-shadow-1-card-property-1-blur, 1.5px) var(--shadow-shadow-1-card-property-1-spread, 0px) var(--shadow-color-4, rgba(31, 31, 31, .04)),var(--shadow-x-offset-0, 0px) var(--shadow-shadow-1-card-property-2-y-offset, 2px) var(--shadow-shadow-1-card-property-2-blur, 5px) var(--shadow-shadow-1-card-property-2-spread, 0px) var(--shadow-color-10, rgba(31, 31, 31, .1)),var(--shadow-x-offset-0, 0px) var(--shadow-shadow-1-card-property-3-y-offset, 3px) var(--shadow-shadow-1-card-property-3-blur, 9px) var(--shadow-shadow-1-card-property-3-spread, 6px) var(--shadow-color-5, rgba(31, 31, 31, .05))}.gator-table-category-header,.gator-table-category-header:hover{background-color:var(--ngc-table-header-background-color, var(--color-blue-10, #F3F5F7))}.gator-table-category-header th{border-bottom:none!important;font-weight:700;background-color:var(--ngc-table-header-background-color, var(--color-blue-10, #F3F5F7));color:var(--text-color-primary-base, #1F1F1F);line-height:var(--text-line-height-subtitle-2, 1.375rem);letter-spacing:var(--text-letter-spacing-default, 0rem)}.gator-table-total-row{background-color:var(--ngc-table-header-background-color, var(--color-blue-10, #F3F5F7));font-weight:600}.gator-table-total-row:hover{background-color:var(--ngc-table-header-background-color, var(--color-blue-10, #F3F5F7))!important}.gator-table-total-row td,.gator-table-total-row th{border-top:1px solid var(--ngc-table-header-border-bottom-color, #E5E5E5);border-bottom:1px solid var(--ngc-table-header-border-bottom-color, #E5E5E5)!important}.gator-table-total-row th:hover{background-color:var(--ngc-table-header-background-color, var(--color-blue-10, #F3F5F7))!important}.gator-table-total-label{font-weight:700;color:var(--text-color-primary-base, #1F1F1F)}';export{r as default};
|
|
@@ -15,6 +15,9 @@ export declare class NgcTable extends NjcTable {
|
|
|
15
15
|
private getTableHeaderColumn;
|
|
16
16
|
private getTableBody;
|
|
17
17
|
private getCategoryBody;
|
|
18
|
+
private getTotalRow;
|
|
19
|
+
private parseNumericValue;
|
|
20
|
+
private formatTotal;
|
|
18
21
|
private getTableBodyRow;
|
|
19
22
|
private getTableHeaderRow;
|
|
20
23
|
handleTableBodyRowSelected(event: CustomEvent, rowData: RowData): void;
|
package/package.json
CHANGED
package/web-types.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
|
|
3
3
|
"name": "@ncino/web-components",
|
|
4
|
-
"version": "4.3.0-preview.
|
|
4
|
+
"version": "4.3.0-preview.7",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|