@ncino/web-components 13.7.0 → 13.7.2
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.
|
@@ -152,4 +152,4 @@ import"../../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@
|
|
|
152
152
|
@click="${this.clearValue}"
|
|
153
153
|
?disabled="${this.disabled||this.readonly}"
|
|
154
154
|
></ngc-icon-button>
|
|
155
|
-
`}clearValue(){this.inputRef.value&&(this.inputRef.value.value=""),this._searchValue="",this.inputRef.value?.focus(),this.emitChangeEvent(this.multiselect?[]:"")}assignPosition(){const e=this.controlRef.value;!this.listboxRef||!this.listboxRef.value||!e||(this._cleanup=O(e,this.listboxRef.value,async()=>{if(!this.listboxRef||!this.listboxRef.value||!e)return;const{x:t,y:s,placement:i}=await I(e,this.listboxRef.value,{placement:"bottom-start",middleware:[k()]});let a=i==="bottom-start"?4:-4;Object.assign(this.listboxRef.value.style,{left:`${t}px`,top:`${s+a}px`,width:`${this.listWidth??e.clientWidth}px`})}))}handleInput(e){e.preventDefault(),e.stopPropagation();let t=e.target;t.value.length===0&&!this.multiselect&&this.emitChangeEvent(""),this._searchValue=t.value,this.shouldSuppressEmptyListbox?this._expanded&&this.closeListbox():(this._expanded=!0,this.showListboxPopover(),this.assignPosition()),this.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0,detail:{value:t.value}}))}handleInputKeydown(e){if((e.key===n.DOWN||e.key===n.UP)&&e.preventDefault(),e.key===n.SPACE){e.stopPropagation();return}this.tryAddTagFromKeyboard(e)||e.key===n.BACKSPACE&&this.tryRemoveLastChipFromBackspace(e)}tryRemoveLastChipFromBackspace(e){if(!this.autocomplete||!this.multiselect||this._searchValue.trim()!=="")return;e.preventDefault(),e.stopPropagation(),this._searchValue!==""&&this.clearSearchInput();const t=this.selectedValues||[];t.length>0&&(t.pop(),this.emitChangeEvent(t))}tryAddTagFromKeyboard(e){if(!this.isTagInputMode)return!1;const t=e.key===n.ENTER,s=e.key===n.TAB;return!t&&!s||!this._searchValue.trim()||t&&this._expanded&&this.displayedOptions.length>0&&this.listRef.value&&this.listRef.value.listItems.some(u=>u.falseFocusing)?!1:(e.preventDefault(),e.stopPropagation(),this.addTagFromInput(),this.inputRef.value?.focus(),!0)}showListboxPopover(){const e=this.listboxRef.value;if(e)try{e.showPopover()}catch{}}get valueArrayType(){return this.selectedValues.length>0?typeof this.selectedValues[0]=="number"?"number":"string":this.options?.length&&typeof this.options[0].value=="number"?"number":"string"}addTagFromInput(){const e=this._searchValue.trim();if(!e||!this.isTagInputMode)return;const t=[...this.selectedValues],s=this.valueArrayType,i=s==="number"?Number(e):e;if(!(s==="number"&&Number.isNaN(i))){if(t.some(a=>a===i)){this.clearSearchInput(),this.shouldSuppressEmptyListbox&&this.closeListbox();return}t.push(i),this.emitChangeEvent(t),this.clearSearchInput(),this.shouldSuppressEmptyListbox&&this.closeListbox()}}clearSearchInput(){this._searchValue="",this.inputRef.value&&(this.inputRef.value.value="")}emitChangeEvent(e){this.dispatchEvent(new CustomEvent("change",{bubbles:!0,detail:{value:Array.isArray(e)?[...e]:e}}))}};l.shadowRootOptions={..._.shadowRootOptions,delegatesFocus:!0};l.styles=[...H(l,l,"styles"),N(B)];o([h({type:Boolean})],l.prototype,"multiselect",2);o([h({type:Array})],l.prototype,"options",2);o([h({type:Boolean})],l.prototype,"autocomplete",2);o([h({type:Boolean,attribute:"select-all"})],l.prototype,"selectAll",2);o([h({type:String,attribute:"listbox-help-text"})],l.prototype,"listboxHelpText",2);o([h({type:String,attribute:"data-type"})],l.prototype,"dataType",2);o([h({type:String,attribute:"country-code"})],l.prototype,"countryCode",2);o([h({type:String,attribute:"list-width"})],l.prototype,"listWidth",2);o([h({type:Boolean,attribute:"value-displayed"})],l.prototype,"valueDisplayed",2);o([h({type:Number,attribute:"max-autocomplete-results"})],l.prototype,"maxAutocompleteResults",2);o([h({type:Boolean,attribute:"wrap-chips"})],l.prototype,"wrapChips",2);o([h({type:Boolean,attribute:"hide-clear"})],l.prototype,"hideClear",2);o([h({type:Boolean})],l.prototype,"loading",2);o([h({type:Boolean,attribute:"tag-input"})],l.prototype,"tagInput",2);o([d()],l.prototype,"_activeDescendant",2);o([d()],l.prototype,"_expanded",2);o([d()],l.prototype,"_searchValue",2);o([d()],l.prototype,"_visibleChipCount",2);o([d()],l.prototype,"_showOverflowChip",2);o([d()],l.prototype,"_truncateChips",2);o([d()],l.prototype,"_selectedValues",2);l=o([V("ngc-input-dropdown"),R()],l);export{l as NgcInputDropdown};
|
|
155
|
+
`}clearValue(){this.inputRef.value&&(this.inputRef.value.value=""),this._searchValue="",this.inputRef.value?.focus(),this.emitChangeEvent(this.multiselect?[]:"")}assignPosition(){const e=this.controlRef.value;!this.listboxRef||!this.listboxRef.value||!e||(this._cleanup?.(),this._cleanup=O(e,this.listboxRef.value,async()=>{if(!this.listboxRef||!this.listboxRef.value||!e)return;const{x:t,y:s,placement:i}=await I(e,this.listboxRef.value,{strategy:"fixed",placement:"bottom-start",middleware:[k()]});let a=i==="bottom-start"?4:-4;Object.assign(this.listboxRef.value.style,{left:`${t}px`,top:`${s+a}px`,width:`${this.listWidth??e.clientWidth}px`})},{animationFrame:!0}))}handleInput(e){e.preventDefault(),e.stopPropagation();let t=e.target;t.value.length===0&&!this.multiselect&&this.emitChangeEvent(""),this._searchValue=t.value,this.shouldSuppressEmptyListbox?this._expanded&&this.closeListbox():(this._expanded=!0,this.showListboxPopover(),this.assignPosition()),this.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0,detail:{value:t.value}}))}handleInputKeydown(e){if((e.key===n.DOWN||e.key===n.UP)&&e.preventDefault(),e.key===n.SPACE){e.stopPropagation();return}this.tryAddTagFromKeyboard(e)||e.key===n.BACKSPACE&&this.tryRemoveLastChipFromBackspace(e)}tryRemoveLastChipFromBackspace(e){if(!this.autocomplete||!this.multiselect||this._searchValue.trim()!=="")return;e.preventDefault(),e.stopPropagation(),this._searchValue!==""&&this.clearSearchInput();const t=this.selectedValues||[];t.length>0&&(t.pop(),this.emitChangeEvent(t))}tryAddTagFromKeyboard(e){if(!this.isTagInputMode)return!1;const t=e.key===n.ENTER,s=e.key===n.TAB;return!t&&!s||!this._searchValue.trim()||t&&this._expanded&&this.displayedOptions.length>0&&this.listRef.value&&this.listRef.value.listItems.some(u=>u.falseFocusing)?!1:(e.preventDefault(),e.stopPropagation(),this.addTagFromInput(),this.inputRef.value?.focus(),!0)}showListboxPopover(){const e=this.listboxRef.value;if(e)try{e.showPopover()}catch{}}get valueArrayType(){return this.selectedValues.length>0?typeof this.selectedValues[0]=="number"?"number":"string":this.options?.length&&typeof this.options[0].value=="number"?"number":"string"}addTagFromInput(){const e=this._searchValue.trim();if(!e||!this.isTagInputMode)return;const t=[...this.selectedValues],s=this.valueArrayType,i=s==="number"?Number(e):e;if(!(s==="number"&&Number.isNaN(i))){if(t.some(a=>a===i)){this.clearSearchInput(),this.shouldSuppressEmptyListbox&&this.closeListbox();return}t.push(i),this.emitChangeEvent(t),this.clearSearchInput(),this.shouldSuppressEmptyListbox&&this.closeListbox()}}clearSearchInput(){this._searchValue="",this.inputRef.value&&(this.inputRef.value.value="")}emitChangeEvent(e){this.dispatchEvent(new CustomEvent("change",{bubbles:!0,detail:{value:Array.isArray(e)?[...e]:e}}))}};l.shadowRootOptions={..._.shadowRootOptions,delegatesFocus:!0};l.styles=[...H(l,l,"styles"),N(B)];o([h({type:Boolean})],l.prototype,"multiselect",2);o([h({type:Array})],l.prototype,"options",2);o([h({type:Boolean})],l.prototype,"autocomplete",2);o([h({type:Boolean,attribute:"select-all"})],l.prototype,"selectAll",2);o([h({type:String,attribute:"listbox-help-text"})],l.prototype,"listboxHelpText",2);o([h({type:String,attribute:"data-type"})],l.prototype,"dataType",2);o([h({type:String,attribute:"country-code"})],l.prototype,"countryCode",2);o([h({type:String,attribute:"list-width"})],l.prototype,"listWidth",2);o([h({type:Boolean,attribute:"value-displayed"})],l.prototype,"valueDisplayed",2);o([h({type:Number,attribute:"max-autocomplete-results"})],l.prototype,"maxAutocompleteResults",2);o([h({type:Boolean,attribute:"wrap-chips"})],l.prototype,"wrapChips",2);o([h({type:Boolean,attribute:"hide-clear"})],l.prototype,"hideClear",2);o([h({type:Boolean})],l.prototype,"loading",2);o([h({type:Boolean,attribute:"tag-input"})],l.prototype,"tagInput",2);o([d()],l.prototype,"_activeDescendant",2);o([d()],l.prototype,"_expanded",2);o([d()],l.prototype,"_searchValue",2);o([d()],l.prototype,"_visibleChipCount",2);o([d()],l.prototype,"_showOverflowChip",2);o([d()],l.prototype,"_truncateChips",2);o([d()],l.prototype,"_selectedValues",2);l=o([V("ngc-input-dropdown"),R()],l);export{l as NgcInputDropdown};
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import"../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.js";import{nothing as b,html as o}from"../../../node_modules/.pnpm/lit-html@3.3.2/node_modules/lit-html/lit-html.js";import"../../../node_modules/.pnpm/lit-element@4.2.2/node_modules/lit-element/lit-element.js";import{property as v}from"../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.js";import{state as $}from"../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/state.js";import{customElement as
|
|
1
|
+
import"../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.js";import{nothing as b,html as o}from"../../../node_modules/.pnpm/lit-html@3.3.2/node_modules/lit-html/lit-html.js";import"../../../node_modules/.pnpm/lit-element@4.2.2/node_modules/lit-element/lit-element.js";import{property as v}from"../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.js";import{state as $}from"../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/state.js";import{customElement as F}from"../../../utils/decorators/custom-element-decorator.js";import{msg as g}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{NjcTable as S}from"../table.js";import{formatTableTextValue as P}from"../table-format-utils.js";import T from"../../../packages/web-components/src/components/table/gator/table.gator.scss.js";import x from"../../../packages/styles/dist/tokens/primitive.tokens.css.js";import _ from"../../../packages/styles/dist/tokens/semantic.tokens.css.js";import"./table-bulk-controls/table-bulk-controls.gator.js";import"./table-cells/table-cell-chip.gator.js";import"./table-cells/table-cell-avatar.gator.js";import"./table-cells/table-cell-checkbox.gator.js";import"./table-cells/table-cell-text-link.gator.js";import"./table-cells/table-cell-button.gator.js";import"./table-cells/table-cell-icon-button.gator.js";import"./table-cells/table-cell-input-dropdown.gator.js";import"./table-cells/table-cell-input-text.gator.js";import"./table-cells/table-cell-text.gator.js";import"../../checkbox/checkbox.gator.js";import"../../icon/gator/icon.gator.js";import"../../icon/gator/templates/index.js";import"../../icon-button/gator/icon-button.gator.js";import"../../popover/gator/popover.gator.js";import"../../checkbox-group/checkbox-group.gator.js";import"../../radio-group/radio-group.gator.js";import"../../button/gator/button.gator.js";import"../../chip/gator/chip.gator.js";import"../../input/gator/input-search/input-search.gator.js";import"../../skip-link/gator/base/skip-link.gator.js";import{unsafeCSS as k}from"../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/css-tag.js";var R=Object.defineProperty,A=Object.getOwnPropertyDescriptor,p=(e,t,l,i)=>{for(var s=i>1?void 0:i?A(t,l):t,r=e.length-1,a;r>=0;r--)(a=e[r])&&(s=(i?a(t,l,s):a(s))||s);return i&&s&&R(t,l,s),s};let d=class extends S{constructor(){super(...arguments),this.elevated=!1,this.includePagination=!1,this.skeleton=!1,this.sortField=null,this.sortDirection=null,this.filterValues={},this.selectedRows=[],this._currentPage=1,this._sortField=null,this._sortDirection=null,this._hoveredHeaderColumnField=null,this._pendingFilterValues={},this._filterSearchQuery={},this.renderHeaderFilterPopover=(e,t,l=!1)=>{const i=e.filterOptions??[],s=(this._filterSearchQuery[e.field]??"").toLowerCase(),r=s?i.filter(u=>u.label.toLowerCase().includes(s)):i,a=this.hasActiveFilter(e),h=e.filterMultiselect===!0,n=this.getEffectivePending(e),c=r.map(u=>({title:u.label,value:String(u.value)})),f=h?n.join(";"):"",m=h?"":n||"";return o`
|
|
2
2
|
<span class="gator-table-header-filter-trigger-wrap ${t?"gator-table-header-filter-trigger-visible":""}">
|
|
3
3
|
<ngc-icon-button
|
|
4
4
|
id="filter-trigger-${e.field}"
|
|
5
5
|
icon-name="filters-2"
|
|
6
6
|
size="xsmall"
|
|
7
7
|
icon-aria-label="${g("Filter by")} ${e.name}"
|
|
8
|
-
class="${
|
|
8
|
+
class="${a?"gator-table-header-filter-icon-active":""}"
|
|
9
9
|
></ngc-icon-button>
|
|
10
10
|
<ngc-popover
|
|
11
11
|
reference-id="filter-trigger-${e.field}"
|
|
12
12
|
.title=${g("Filter")}
|
|
13
13
|
size="small"
|
|
14
|
-
placement="bottom"
|
|
14
|
+
placement="${l?"bottom-start":"bottom-end"}"
|
|
15
15
|
.hideTippet="${!0}"
|
|
16
16
|
@closed="${()=>this.handleFilterPopoverClosed(e)}"
|
|
17
17
|
>
|
|
18
18
|
<div slot="content" class="gator-table-filter-popover-content">
|
|
19
|
-
${
|
|
19
|
+
${i.length>10?o`
|
|
20
20
|
<ngc-input-search
|
|
21
21
|
placeholder="${g("Search")}"
|
|
22
22
|
.value="${this._filterSearchQuery[e.field]??""}"
|
|
@@ -24,17 +24,17 @@ import"../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit
|
|
|
24
24
|
class="gator-table-filter-popover-search"
|
|
25
25
|
></ngc-input-search>
|
|
26
26
|
`:b}
|
|
27
|
-
${
|
|
27
|
+
${h?o`
|
|
28
28
|
<ngc-checkbox-group
|
|
29
|
-
.options="${
|
|
30
|
-
.value="${
|
|
29
|
+
.options="${c}"
|
|
30
|
+
.value="${f}"
|
|
31
31
|
aria-label="${g("Filter by")} ${e.name}"
|
|
32
32
|
@change="${u=>this.handleFilterCheckboxGroupChange(u,e)}"
|
|
33
33
|
></ngc-checkbox-group>
|
|
34
34
|
`:o`
|
|
35
35
|
<ngc-radio-group
|
|
36
|
-
.options="${
|
|
37
|
-
.value="${
|
|
36
|
+
.options="${c}"
|
|
37
|
+
.value="${m}"
|
|
38
38
|
aria-label="${g("Filter by")} ${e.name}"
|
|
39
39
|
@change="${u=>this.handleFilterRadioGroupChange(u,e)}"
|
|
40
40
|
></ngc-radio-group>
|
|
@@ -91,7 +91,7 @@ import"../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit
|
|
|
91
91
|
@itemsperpagechanged="${this.handleItemsPerPageChanged}"
|
|
92
92
|
></ngc-table-pagination>
|
|
93
93
|
`:b}
|
|
94
|
-
`}handlePageChanged(e){this._currentPage=e.detail.page}handleItemsPerPageChanged(e){this.itemsPerPage=e.detail.itemsPerPage}getTableHeader(e){const t=e.map(l=>this.getTableHeaderColumn(l));return!this.skeleton&&this.selectable&&t.unshift(o`
|
|
94
|
+
`}handlePageChanged(e){this._currentPage=e.detail.page}handleItemsPerPageChanged(e){this.itemsPerPage=e.detail.itemsPerPage}getTableHeader(e){const t=e.map((l,i)=>this.getTableHeaderColumn(l,i===0));return!this.skeleton&&this.selectable&&t.unshift(o`
|
|
95
95
|
<th id="col-select" scope="col">
|
|
96
96
|
<ngc-checkbox
|
|
97
97
|
title-text="${g("Select All")}"
|
|
@@ -105,51 +105,51 @@ import"../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit
|
|
|
105
105
|
${t}
|
|
106
106
|
</tr>
|
|
107
107
|
</thead>
|
|
108
|
-
`}handleSelectAll(e){const t=e.detail.selected;t?(this.data.forEach(l=>{!l.isTableHeader&&!l.disabled&&(l.selected=!0)}),this.selectedRows=this.data.filter(l=>!l.isTableHeader&&!l.disabled)):(this.data.forEach(l=>{l.disabled||(l.selected=!1)}),this.selectedRows=[]),this.dispatchEvent(new CustomEvent("selectall",{bubbles:!0,composed:!0,detail:{selectedRows:this.selectedRows,selected:t}})),this.requestUpdate()}get effectiveSortField(){return this.sortField??this._sortField}get effectiveSortDirection(){return this.sortField!=null?this.sortDirection??"asc":this._sortDirection}getSortIcon(e){return this.effectiveSortField===e.field?this.effectiveSortDirection==="asc"?"arrow-up":"arrow-down":"arrows-down-up"}getSortAriaSort(e){return this.effectiveSortField!==e.field?"none":this.effectiveSortDirection==="asc"?"ascending":"descending"}handleSortColumn(e){const t=this.effectiveSortField===e.field&&this.effectiveSortDirection==="asc"?"desc":"asc";this.sortField==null&&(this._sortField=e.field,this._sortDirection=t),this.dispatchEvent(new CustomEvent("sort",{bubbles:!0,composed:!0,detail:{field:e.field,direction:t}})),this.requestUpdate()}getTableHeaderColumn(e){const
|
|
108
|
+
`}handleSelectAll(e){const t=e.detail.selected;t?(this.data.forEach(l=>{!l.isTableHeader&&!l.disabled&&(l.selected=!0)}),this.selectedRows=this.data.filter(l=>!l.isTableHeader&&!l.disabled)):(this.data.forEach(l=>{l.disabled||(l.selected=!1)}),this.selectedRows=[]),this.dispatchEvent(new CustomEvent("selectall",{bubbles:!0,composed:!0,detail:{selectedRows:this.selectedRows,selected:t}})),this.requestUpdate()}get effectiveSortField(){return this.sortField??this._sortField}get effectiveSortDirection(){return this.sortField!=null?this.sortDirection??"asc":this._sortDirection}getSortIcon(e){return this.effectiveSortField===e.field?this.effectiveSortDirection==="asc"?"arrow-up":"arrow-down":"arrows-down-up"}getSortAriaSort(e){return this.effectiveSortField!==e.field?"none":this.effectiveSortDirection==="asc"?"ascending":"descending"}handleSortColumn(e){const t=this.effectiveSortField===e.field&&this.effectiveSortDirection==="asc"?"desc":"asc";this.sortField==null&&(this._sortField=e.field,this._sortDirection=t),this.dispatchEvent(new CustomEvent("sort",{bubbles:!0,composed:!0,detail:{field:e.field,direction:t}})),this.requestUpdate()}getTableHeaderColumn(e,t=!1){const l=e.field.startsWith("skeleton-loader"),i=o`
|
|
109
109
|
<ngc-skeleton-loader
|
|
110
110
|
full-width
|
|
111
111
|
height="24"
|
|
112
112
|
rounded
|
|
113
113
|
></ngc-skeleton-loader>
|
|
114
|
-
`,
|
|
114
|
+
`,s=`col-${e.field}`,r=!this.skeleton&&e.sortable===!0,a=!this.skeleton&&e.filterable===!0&&e.filterOptions?.length,h=r?this.getSortAriaSort(e):void 0,n=r&&this.effectiveSortField===e.field,c=a&&this.hasActiveFilter(e),f=r||a,m=r?o`
|
|
115
115
|
<div
|
|
116
116
|
class="gator-table-header-sort-trigger"
|
|
117
117
|
role="button"
|
|
118
118
|
tabindex="0"
|
|
119
119
|
aria-label="${g("Sort by")} ${e.name}"
|
|
120
120
|
@click="${()=>this.handleSortColumn(e)}"
|
|
121
|
-
@keydown="${
|
|
121
|
+
@keydown="${C=>C.key==="Enter"||C.key===" "?(C.preventDefault(),this.handleSortColumn(e)):null}"
|
|
122
122
|
>
|
|
123
123
|
<span class="gator-table-header-label">${e.name}</span>
|
|
124
124
|
<span class="gator-table-sort-icon-wrap" aria-hidden="true">
|
|
125
125
|
<ngc-icon name="${this.getSortIcon(e)}" class="gator-table-sort-icon" size="x-small"></ngc-icon>
|
|
126
126
|
</span>
|
|
127
127
|
</div>
|
|
128
|
-
`:o`<span class="gator-table-header-label">${e.name}</span>`,u=!!(
|
|
128
|
+
`:o`<span class="gator-table-header-label">${e.name}</span>`,u=!!(a&&(this._hoveredHeaderColumnField===e.field||c||this.isFilterPopoverOpen(e))),w=l?i:o`
|
|
129
129
|
<div class="gator-table-header-cell-inner">
|
|
130
|
-
${
|
|
131
|
-
${
|
|
130
|
+
${m}
|
|
131
|
+
${a?this.renderHeaderFilterPopover(e,u,t):b}
|
|
132
132
|
</div>
|
|
133
|
-
`,
|
|
133
|
+
`,y=[n?"gator-table-header-cell-sort-active":"",c?"gator-table-header-cell-filter-active":"",f?"gator-table-header-cell-interactive":""].filter(Boolean).join(" ");return o`
|
|
134
134
|
<th
|
|
135
|
-
id="${
|
|
135
|
+
id="${s}"
|
|
136
136
|
scope="col"
|
|
137
|
-
aria-sort="${
|
|
138
|
-
class="${
|
|
139
|
-
@mouseenter="${r
|
|
140
|
-
@mouseleave="${r
|
|
137
|
+
aria-sort="${h??b}"
|
|
138
|
+
class="${y}"
|
|
139
|
+
@mouseenter="${a||r?()=>this._hoveredHeaderColumnField=e.field:b}"
|
|
140
|
+
@mouseleave="${a||r?()=>this._hoveredHeaderColumnField=null:b}"
|
|
141
141
|
>
|
|
142
|
-
${
|
|
142
|
+
${w}
|
|
143
143
|
</th>
|
|
144
|
-
`}getEffectivePending(e){const t=this._pendingFilterValues[e.field];return t!==void 0?t:this.filterValues[e.field]??(e.filterMultiselect===!0?[]:"")}getFilterPopoverForColumn(e){return this.shadowRoot?.querySelector(`ngc-popover[reference-id="filter-trigger-${e.field}"]`)??null}isFilterPopoverOpen(e){return this.getFilterPopoverForColumn(e)?.isOpen===!0}handleFilterPopoverClosed(e){this._filterSearchQuery={...this._filterSearchQuery,[e.field]:""}}handleFilterSearchInput(e,t){const l=e.detail?.value??"";this._filterSearchQuery={...this._filterSearchQuery,[t.field]:l},this.requestUpdate()}handleFilterCheckboxGroupChange(e,t){const l=e.detail??"",i=l?l.split(";").filter(Boolean):[];this._pendingFilterValues={...this._pendingFilterValues,[t.field]:i},this.requestUpdate()}handleFilterRadioGroupChange(e,t){const l=e.detail??"";this._pendingFilterValues={...this._pendingFilterValues,[t.field]:l},this.requestUpdate()}handleFilterPopoverApply(e){const t=this.getEffectivePending(e);this.dispatchEvent(new CustomEvent("filter",{bubbles:!0,composed:!0,detail:{field:e.field,value:t}}));const l={...this._pendingFilterValues};delete l[e.field],this._pendingFilterValues=l,this.getFilterPopoverForColumn(e)?.hidePopover?.(),this.requestUpdate()}handleFilterPopoverClear(e){const l=e.filterMultiselect===!0?[]:"";this.dispatchEvent(new CustomEvent("filter",{bubbles:!0,composed:!0,detail:{field:e.field,value:l}}));const i={...this._pendingFilterValues};delete i[e.field],this._pendingFilterValues=i,this.getFilterPopoverForColumn(e)?.hidePopover?.(),this.requestUpdate()}hasActiveFilter(e){const t=this.filterValues[e.field];return t==null?!1:e.filterMultiselect===!0?t.length>0:t!==""}getActiveFilterChips(){if(!this.columns?.length||!this.filterValues)return[];const e=[],t=l=>l.filterOptions??[];for(const l of this.columns){if(!l.filterable||t(l).length===0)continue;const i=this.filterValues[l.field];if(i==null)continue;if(l.filterMultiselect===!0){const r=i;for(const a of r){const
|
|
144
|
+
`}getEffectivePending(e){const t=this._pendingFilterValues[e.field];return t!==void 0?t:this.filterValues[e.field]??(e.filterMultiselect===!0?[]:"")}getFilterPopoverForColumn(e){return this.shadowRoot?.querySelector(`ngc-popover[reference-id="filter-trigger-${e.field}"]`)??null}isFilterPopoverOpen(e){return this.getFilterPopoverForColumn(e)?.isOpen===!0}handleFilterPopoverClosed(e){this._filterSearchQuery={...this._filterSearchQuery,[e.field]:""}}handleFilterSearchInput(e,t){const l=e.detail?.value??"";this._filterSearchQuery={...this._filterSearchQuery,[t.field]:l},this.requestUpdate()}handleFilterCheckboxGroupChange(e,t){const l=e.detail??"",i=l?l.split(";").filter(Boolean):[];this._pendingFilterValues={...this._pendingFilterValues,[t.field]:i},this.requestUpdate()}handleFilterRadioGroupChange(e,t){const l=e.detail??"";this._pendingFilterValues={...this._pendingFilterValues,[t.field]:l},this.requestUpdate()}handleFilterPopoverApply(e){const t=this.getEffectivePending(e);this.dispatchEvent(new CustomEvent("filter",{bubbles:!0,composed:!0,detail:{field:e.field,value:t}}));const l={...this._pendingFilterValues};delete l[e.field],this._pendingFilterValues=l,this.getFilterPopoverForColumn(e)?.hidePopover?.(),this.requestUpdate()}handleFilterPopoverClear(e){const l=e.filterMultiselect===!0?[]:"";this.dispatchEvent(new CustomEvent("filter",{bubbles:!0,composed:!0,detail:{field:e.field,value:l}}));const i={...this._pendingFilterValues};delete i[e.field],this._pendingFilterValues=i,this.getFilterPopoverForColumn(e)?.hidePopover?.(),this.requestUpdate()}hasActiveFilter(e){const t=this.filterValues[e.field];return t==null?!1:e.filterMultiselect===!0?t.length>0:t!==""}getActiveFilterChips(){if(!this.columns?.length||!this.filterValues)return[];const e=[],t=l=>l.filterOptions??[];for(const l of this.columns){if(!l.filterable||t(l).length===0)continue;const i=this.filterValues[l.field];if(i==null)continue;if(l.filterMultiselect===!0){const r=i;for(const a of r){const h=t(l).find(n=>String(n.value)===a);e.push({column:l,value:a,label:h?.label??a})}}else{const r=i;if(r==="")continue;const a=t(l).find(h=>String(h.value)===r);e.push({column:l,value:r,label:a?.label??r})}}return e}handleFilterChipDismiss(e,t){const l=e.filterMultiselect===!0,i=this.filterValues[e.field],s=l?(i||[]).filter(r=>r!==t):"";this.dispatchEvent(new CustomEvent("filter",{bubbles:!0,composed:!0,detail:{field:e.field,value:s}})),this.requestUpdate()}getTableBody(e,t){const l=[];let i={rows:[]};return t.forEach(s=>{s.isTableHeader?((i.rows.length>0||i.header)&&l.push(i),i={header:s,rows:[]}):i.rows.push(s)}),(i.rows.length>0||i.header)&&l.push(i),l.length===0&&t.length>0&&l.push({rows:t}),o`
|
|
145
145
|
${l.map(s=>this.getCategoryBody(s,e))}
|
|
146
|
-
`}getCategoryBody(e,t){let l="",i="",s="";e.header&&(l=e.header.headerText||e.header.categoryText||e.header.name||"Category",s=`category-${l.toLowerCase().replace(/\s+/g,"-")}`,i=s);const r=e.header?this.getTableHeaderRow(t,e.header):"",a=e.rows.map(
|
|
146
|
+
`}getCategoryBody(e,t){let l="",i="",s="";e.header&&(l=e.header.headerText||e.header.categoryText||e.header.name||"Category",s=`category-${l.toLowerCase().replace(/\s+/g,"-")}`,i=s);const r=e.header?this.getTableHeaderRow(t,e.header):"",a=e.rows.map(c=>this.getTableBodyRow(c,t,s,this.data.indexOf(c))),h=t.some(c=>c.includedInTotals===!0),n=e.rows.length>0&&h?this.getTotalRow(e.rows,t,s):"";return o`
|
|
147
147
|
<tbody role="rowgroup" ${i?o`aria-labelledby="${i}"`:""}>
|
|
148
148
|
${r}
|
|
149
149
|
${a}
|
|
150
150
|
${n}
|
|
151
151
|
</tbody>
|
|
152
|
-
`}getTotalRow(e,t,l){const i={};t.forEach(n=>{i[n.field]=0,n.includedInTotals&&e.forEach(
|
|
152
|
+
`}getTotalRow(e,t,l){const i={};t.forEach(n=>{i[n.field]=0,n.includedInTotals&&e.forEach(c=>{const f=this.parseNumericValue(c[n.field]);f!==null&&(i[n.field]+=f)})});const s=l?`${l}-total`:"total-row",r=o`
|
|
153
153
|
<th
|
|
154
154
|
id="${s}"
|
|
155
155
|
scope="row"
|
|
@@ -157,7 +157,7 @@ import"../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit
|
|
|
157
157
|
>
|
|
158
158
|
Total
|
|
159
159
|
</th>
|
|
160
|
-
`,a=t.map(n=>{const
|
|
160
|
+
`,a=t.map(n=>{const c=`col-${n.field}`,f=[s,l,c].filter(Boolean).join(" ");return n.includedInTotals?o`
|
|
161
161
|
<td
|
|
162
162
|
role="gridcell"
|
|
163
163
|
headers="${f}"
|
|
@@ -172,11 +172,11 @@ import"../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit
|
|
|
172
172
|
>
|
|
173
173
|
|
|
174
174
|
</td>
|
|
175
|
-
`}),
|
|
175
|
+
`}),h=this.selectable?[r,...a]:[r,...a.slice(1)];return o`
|
|
176
176
|
<tr role="row" class="gator-table-total-row">
|
|
177
|
-
${
|
|
177
|
+
${h}
|
|
178
178
|
</tr>
|
|
179
|
-
`}parseNumericValue(e){if(typeof e=="number")return e;if(typeof e=="string"){const t=e.replace(/[^0-9.-]/g,""),l=parseFloat(t);if(!isNaN(l))return l}return null}formatTotal(e,t){if(typeof t.cellRenderer=="function"){const i=t.cellConfig?.decimalPlaces??t.decimalPlaces??2;return t.cellRenderer({[t.field]:e.toFixed(i)})}return
|
|
179
|
+
`}parseNumericValue(e){if(typeof e=="number")return e;if(typeof e=="string"){const t=e.replace(/[^0-9.-]/g,""),l=parseFloat(t);if(!isNaN(l))return l}return null}formatTotal(e,t){if(typeof t.cellRenderer=="function"){const i=t.cellConfig?.decimalPlaces??t.decimalPlaces??2;return t.cellRenderer({[t.field]:e.toFixed(i)})}return P(e,t.cellConfig,t.decimalPlaces)}getTableBodyRow(e,t,l,i){const s=t.map(r=>this.getTableBodyCell(e,r,l,i??0));if(!this.skeleton&&this.selectable){const r=l?`col-select ${l}`:"col-select";s.unshift(o`
|
|
180
180
|
<td role="gridcell" class="gator-table-checkbox-column" headers="${r}">
|
|
181
181
|
<ngc-checkbox
|
|
182
182
|
label="test"
|
|
@@ -202,8 +202,8 @@ import"../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit
|
|
|
202
202
|
height="24"
|
|
203
203
|
rounded
|
|
204
204
|
></ngc-skeleton-loader>
|
|
205
|
-
`,a=`col-${t.field}`,
|
|
206
|
-
<td role="gridcell" headers="${
|
|
207
|
-
${
|
|
205
|
+
`,a=`col-${t.field}`,h=l?`${a} ${l}`:a,n=s?this.getCellAlignClass(t):"",c=s?r:this.renderCellByType(e,t,i,l??"");return o`
|
|
206
|
+
<td role="gridcell" headers="${h}" class="${n}">
|
|
207
|
+
${c}
|
|
208
208
|
</td>
|
|
209
|
-
`}getCellAlignClass(e){return`gator-table-cell-${e.cellConfig?.align??"left"}`}renderCellByType(e,t,l,i){const s=a=>this.handleCellChange(a),r=a=>this.handleCellClick(a);switch(t.cellType){case"chip":return o`<ngc-table-cell-chip .rowData="${e}" .column="${t}" .rowIndex="${l}" .categoryHeaderId="${i}" @cellchange="${s}" @cellclick="${r}"></ngc-table-cell-chip>`;case"avatar":return o`<ngc-table-cell-avatar .rowData="${e}" .column="${t}" .rowIndex="${l}" .categoryHeaderId="${i}" @cellchange="${s}" @cellclick="${r}"></ngc-table-cell-avatar>`;case"checkbox":return o`<ngc-table-cell-checkbox .rowData="${e}" .column="${t}" .rowIndex="${l}" .categoryHeaderId="${i}" @cellchange="${s}" @cellclick="${r}"></ngc-table-cell-checkbox>`;case"text-link":return o`<ngc-table-cell-text-link .rowData="${e}" .column="${t}" .rowIndex="${l}" .categoryHeaderId="${i}" @cellchange="${s}" @cellclick="${r}"></ngc-table-cell-text-link>`;case"button":return o`<ngc-table-cell-button .rowData="${e}" .column="${t}" .rowIndex="${l}" .categoryHeaderId="${i}" @cellchange="${s}" @cellclick="${r}"></ngc-table-cell-button>`;case"icon-button":return o`<ngc-table-cell-icon-button .rowData="${e}" .column="${t}" .rowIndex="${l}" .categoryHeaderId="${i}" @cellchange="${s}" @cellclick="${r}"></ngc-table-cell-icon-button>`;case"input-dropdown":return o`<ngc-table-cell-input-dropdown .rowData="${e}" .column="${t}" .rowIndex="${l}" .categoryHeaderId="${i}" @cellchange="${s}" @cellclick="${r}"></ngc-table-cell-input-dropdown>`;case"input-text":return o`<ngc-table-cell-input-text .rowData="${e}" .column="${t}" .rowIndex="${l}" .categoryHeaderId="${i}" @cellchange="${s}" @cellclick="${r}"></ngc-table-cell-input-text>`;default:return o`<ngc-table-cell-text .rowData="${e}" .column="${t}" .rowIndex="${l}" .categoryHeaderId="${i}" @cellchange="${s}" @cellclick="${r}"></ngc-table-cell-text>`}}handleCellChange(e){e.stopPropagation();const{rowIndex:t,field:l,value:i}=e.detail??{};this.dispatchEvent(new CustomEvent("cellchange",{bubbles:!0,composed:!0,detail:{rowIndex:t,field:l,value:i}}))}handleCellClick(e){e.stopPropagation();const{rowIndex:t,field:l,value:i}=e.detail??{};this.dispatchEvent(new CustomEvent("cellclick",{bubbles:!0,composed:!0,detail:{rowIndex:t,field:l,...i!==void 0&&{value:i}}}))}};
|
|
209
|
+
`}getCellAlignClass(e){return`gator-table-cell-${e.cellConfig?.align??"left"}`}renderCellByType(e,t,l,i){const s=a=>this.handleCellChange(a),r=a=>this.handleCellClick(a);switch(t.cellType){case"chip":return o`<ngc-table-cell-chip .rowData="${e}" .column="${t}" .rowIndex="${l}" .categoryHeaderId="${i}" @cellchange="${s}" @cellclick="${r}"></ngc-table-cell-chip>`;case"avatar":return o`<ngc-table-cell-avatar .rowData="${e}" .column="${t}" .rowIndex="${l}" .categoryHeaderId="${i}" @cellchange="${s}" @cellclick="${r}"></ngc-table-cell-avatar>`;case"checkbox":return o`<ngc-table-cell-checkbox .rowData="${e}" .column="${t}" .rowIndex="${l}" .categoryHeaderId="${i}" @cellchange="${s}" @cellclick="${r}"></ngc-table-cell-checkbox>`;case"text-link":return o`<ngc-table-cell-text-link .rowData="${e}" .column="${t}" .rowIndex="${l}" .categoryHeaderId="${i}" @cellchange="${s}" @cellclick="${r}"></ngc-table-cell-text-link>`;case"button":return o`<ngc-table-cell-button .rowData="${e}" .column="${t}" .rowIndex="${l}" .categoryHeaderId="${i}" @cellchange="${s}" @cellclick="${r}"></ngc-table-cell-button>`;case"icon-button":return o`<ngc-table-cell-icon-button .rowData="${e}" .column="${t}" .rowIndex="${l}" .categoryHeaderId="${i}" @cellchange="${s}" @cellclick="${r}"></ngc-table-cell-icon-button>`;case"input-dropdown":return o`<ngc-table-cell-input-dropdown .rowData="${e}" .column="${t}" .rowIndex="${l}" .categoryHeaderId="${i}" @cellchange="${s}" @cellclick="${r}"></ngc-table-cell-input-dropdown>`;case"input-text":return o`<ngc-table-cell-input-text .rowData="${e}" .column="${t}" .rowIndex="${l}" .categoryHeaderId="${i}" @cellchange="${s}" @cellclick="${r}"></ngc-table-cell-input-text>`;default:return o`<ngc-table-cell-text .rowData="${e}" .column="${t}" .rowIndex="${l}" .categoryHeaderId="${i}" @cellchange="${s}" @cellclick="${r}"></ngc-table-cell-text>`}}handleCellChange(e){e.stopPropagation();const{rowIndex:t,field:l,value:i}=e.detail??{};this.dispatchEvent(new CustomEvent("cellchange",{bubbles:!0,composed:!0,detail:{rowIndex:t,field:l,value:i}}))}handleCellClick(e){e.stopPropagation();const{rowIndex:t,field:l,value:i}=e.detail??{};this.dispatchEvent(new CustomEvent("cellclick",{bubbles:!0,composed:!0,detail:{rowIndex:t,field:l,...i!==void 0&&{value:i}}}))}};d.styles=[k(_),k(x),k(T)];p([v({type:Boolean})],d.prototype,"elevated",2);p([v({type:Boolean,attribute:"include-pagination"})],d.prototype,"includePagination",2);p([v({type:Boolean})],d.prototype,"skeleton",2);p([v({type:String,attribute:"sort-field"})],d.prototype,"sortField",2);p([v({type:String,attribute:"sort-direction"})],d.prototype,"sortDirection",2);p([v({type:Object,attribute:!1})],d.prototype,"filterValues",2);p([$()],d.prototype,"selectedRows",2);p([$()],d.prototype,"_currentPage",2);p([$()],d.prototype,"_sortField",2);p([$()],d.prototype,"_sortDirection",2);p([$()],d.prototype,"_hoveredHeaderColumnField",2);p([$()],d.prototype,"_pendingFilterValues",2);p([$()],d.prototype,"_filterSearchQuery",2);d=p([F("ngc-table")],d);export{d as NgcTable};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const o=':root,:host{--ngc-input-dropdown-list-max-height: 14rem}ngc-icon-button{--ngc-icon-button-hover-box-shadow: none;margin-top:-.5rem;margin-bottom:-.5rem}.gator-dropdown-listbox{position:
|
|
1
|
+
const o=':root,:host{--ngc-input-dropdown-list-max-height: 14rem}ngc-icon-button{--ngc-icon-button-hover-box-shadow: none;margin-top:-.5rem;margin-bottom:-.5rem}.gator-dropdown-listbox{position:fixed;width:max-content;top:0;left:0;max-height:var(--ngc-input-dropdown-list-max-height);overflow-y:auto;overflow-x:hidden;border-radius:var(--border-radius-medium);padding:var(--spacing-5) var(--spacing-2);background:var(--color-surface-primary);box-shadow:var(--shadow-3-dropdown);margin:0;border:none}.gator-dropdown-listbox:not(:popover-open){display:none}.gator-form-element{position:relative}.gator-form-element-control:focus-visible:not(.gator-disabled){outline:2px solid var(--ngc-input-border-color-focused, var(--color-border-neutral, #1F1F1F))!important;outline-offset:0}.gator-dropdown-listbox_expanded{display:block}.gator-faux-input-placeholder{color:var(--color-text-placeholder);font-family:var(--font-family-body, "Open Sans"),sans-serif;font-size:var(--font-size-body-1);line-height:var(--line-height-body-1);letter-spacing:var(--letter-spacing-default)}.gator-dropdown-listbox-message{display:block;padding:var(--spacing-5) var(--spacing-8);align-self:stretch;color:var(--color-text-primary);font-family:var(--font-family-body, "Open Sans"),sans-serif;font-size:var(--font-size-body-1)}.gator-dropdown-listbox-message .gator-tag-input-kbd{display:inline-block;padding:0 var(--spacing-3);border-radius:var(--border-radius-small);background:#000;color:#fff;font-family:inherit;font-size:inherit;line-height:inherit}.gator-dropdown-chevron{display:var(--ngc-input-dropdown-end-chevron-display)}.gator-readonly .gator-dropdown-chevron{--ngc-icon-color: var(--color-icon-disabled)}.gator-multiselect-selections{flex-wrap:wrap;display:flex;gap:var(--spacing-5);width:100%;align-items:center;max-height:70px;overflow-y:auto;margin:-2px 0}.gator-multiselect-selections .gator-input,.gator-multiselect-selections .gator-faux-input{width:max-content}.gator-multiselect-selections .gator-multiselect-label{position:absolute;top:0;left:0;visibility:hidden;opacity:0}.gator-multiselect-selections .gator-chips-container{display:flex;gap:var(--spacing-5);max-width:100%;overflow:hidden}.gator-multiselect-selections .gator-chips-container.gator-chips-container-autocomplete{max-width:66%}.gator-multiselect-selections .gator-chips-container:not(:has(*)){margin-right:calc(var(--spacing-5) * -1)}.gator-dropdown-option{--ngc-list-item-interaction-icon-color: var(--color-border-primary)}.gator-dropdown-select-all[start-icon=checkbox]{--ngc-list-item-start-icon-color: var(--color-border-primary)}.gator-dropdown-select-all[start-icon=checkbox-selected],.gator-dropdown-select-all[start-icon=checkbox-indeterminate]{--ngc-list-item-start-icon-color: var(--color-feedback-brand)}ngc-loading-spinner{padding:0 3px}';export{o as default};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ncino/web-components",
|
|
3
3
|
"author": "nCino",
|
|
4
|
-
"version": "13.7.
|
|
4
|
+
"version": "13.7.2",
|
|
5
5
|
"license": "(c) Copyright 2023 nCino, Inc., all rights reserved",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -100,10 +100,10 @@
|
|
|
100
100
|
"vite-plugin-static-copy": "^3.3.0",
|
|
101
101
|
"vitest": "^4.1.0",
|
|
102
102
|
"yaml-eslint-parser": "^2.0.0",
|
|
103
|
-
"@ncino/styles": "13.7.
|
|
103
|
+
"@ncino/styles": "13.7.2"
|
|
104
104
|
},
|
|
105
105
|
"peerDependencies": {
|
|
106
|
-
"@ncino/styles": "13.7.
|
|
106
|
+
"@ncino/styles": "13.7.2"
|
|
107
107
|
},
|
|
108
108
|
"bugs": {
|
|
109
109
|
"url": "https://github.com/ncino/force-sdk-web-components/issues"
|
package/web-types.json
CHANGED