@paperless/core 1.44.2 → 1.44.3

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/hydrate/index.js CHANGED
@@ -21633,7 +21633,7 @@ class TabItem {
21633
21633
  }; }
21634
21634
  }
21635
21635
 
21636
- const tableComponentCss = ".fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.bottom-4{bottom:1rem!important}.left-1\\/2{left:50%!important}.flex{display:flex!important}.hidden{display:none!important}.flex-shrink{flex-shrink:1!important}.-translate-x-1\\/2{--tw-translate-x:-50%!important}.-translate-x-1\\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}*{box-sizing:border-box}p-table{display:flex;flex-direction:column;position:relative}p-table .p-input[type=checkbox]{flex-shrink:0}p-table p-table-container{position:relative}p-table p-table-container p-floating-menu-container{--tw-translate-x:-50%;animation:floatingMenuContainerIn .3s ease forwards!important;bottom:1rem;left:50%;position:fixed;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width:40rem){p-table p-table-container p-floating-menu-container{bottom:4rem;position:absolute}}p-table p-table-container p-floating-menu-container:not(.shown){display:none}p-table p-table-container p-floating-menu-container.inactive{animation:floatingMenuContainerOut .3s ease forwards!important}p-table p-table-container p-floating-menu-container .hide-mobile{display:none}@media (min-width:40rem){p-table p-table-container p-floating-menu-container .hide-mobile{display:block}}@keyframes floatingMenuContainerOut{0%{display:flex;opacity:1;transform:translateY(0) translateX(-50%)}99%{display:flex;opacity:0;transform:translateY(100%) translateX(-50%)}to{display:none;opacity:0;transform:translateY(100%) translateX(-50%)}}@keyframes floatingMenuContainerIn{0%{display:none;opacity:0;transform:translateY(100%) translateX(-50%)}1%{display:flex;opacity:0;transform:translateY(100%) translateX(-50%)}to{display:flex;opacity:1;transform:translateY(0) translateX(-50%)}}@media (min-width:40rem){.tablet\\:block{display:block!important}}.static{position:static!important}.mx-0{margin-left:0!important;margin-right:0!important}.mb-14{margin-bottom:3.5rem!important}.mb-6{margin-bottom:1.5rem!important}.ml-auto{margin-left:auto!important}.table{display:table!important}.h-6{height:1.5rem!important}.w-6{width:1.5rem!important}.max-w-\\[20rem\\]{max-width:20rem!important}.flex-1{flex:1 1 0%!important}.cursor-pointer{cursor:pointer!important}.resize{resize:both!important}.flex-col{flex-direction:column!important}.items-center{align-items:center!important}.gap-2{gap:.5rem!important}.self-center{align-self:center!important}.rounded{border-radius:.25rem!important}.py-24{padding-bottom:6rem!important;padding-top:6rem!important}.text-center{text-align:center!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.font-semibold{font-weight:600!important}.text-storm{--tw-text-opacity:1!important;color:rgb(81 83 107/var(--tw-text-opacity))!important}.text-storm-medium{--tw-text-opacity:1!important;color:rgb(128 130 158/var(--tw-text-opacity))!important}.opacity-0{opacity:0!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}";
21636
+ const tableComponentCss = ".fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.bottom-4{bottom:1rem!important}.left-1\\/2{left:50%!important}.flex{display:flex!important}.hidden{display:none!important}.flex-shrink{flex-shrink:1!important}.-translate-x-1\\/2{--tw-translate-x:-50%!important}.-translate-x-1\\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}*{box-sizing:border-box}p-table{display:flex;flex-direction:column;position:relative}p-table .p-input[type=checkbox]{flex-shrink:0}p-table p-table-container{position:relative}p-table p-table-container p-floating-menu-container{--tw-translate-x:-50%;animation:floatingMenuContainerIn .3s ease forwards!important;bottom:1rem;left:50%;position:fixed;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width:40rem){p-table p-table-container p-floating-menu-container{bottom:4rem;position:absolute}}p-table p-table-container p-floating-menu-container:not(.shown){display:none}p-table p-table-container p-floating-menu-container.inactive{animation:floatingMenuContainerOut .3s ease forwards!important}@keyframes floatingMenuContainerOut{0%{display:flex;opacity:1;transform:translateY(0) translateX(-50%)}99%{display:flex;opacity:0;transform:translateY(100%) translateX(-50%)}to{display:none;opacity:0;transform:translateY(100%) translateX(-50%)}}@keyframes floatingMenuContainerIn{0%{display:none;opacity:0;transform:translateY(100%) translateX(-50%)}1%{display:flex;opacity:0;transform:translateY(100%) translateX(-50%)}to{display:flex;opacity:1;transform:translateY(0) translateX(-50%)}}.static{position:static!important}.mx-0{margin-left:0!important;margin-right:0!important}.mb-14{margin-bottom:3.5rem!important}.mb-6{margin-bottom:1.5rem!important}.ml-auto{margin-left:auto!important}.table{display:table!important}.h-6{height:1.5rem!important}.w-6{width:1.5rem!important}.max-w-\\[20rem\\]{max-width:20rem!important}.flex-1{flex:1 1 0%!important}.cursor-pointer{cursor:pointer!important}.resize{resize:both!important}.flex-col{flex-direction:column!important}.items-center{align-items:center!important}.gap-2{gap:.5rem!important}.self-center{align-self:center!important}.rounded{border-radius:.25rem!important}.py-24{padding-bottom:6rem!important;padding-top:6rem!important}.text-center{text-align:center!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.font-semibold{font-weight:600!important}.text-storm{--tw-text-opacity:1!important;color:rgb(81 83 107/var(--tw-text-opacity))!important}.text-storm-medium{--tw-text-opacity:1!important;color:rgb(128 130 158/var(--tw-text-opacity))!important}.opacity-0{opacity:0!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}@media (min-width:40rem){.tablet\\:flex{display:flex!important}}";
21637
21637
 
21638
21638
  class Table {
21639
21639
  constructor(hostRef) {
@@ -21745,9 +21745,9 @@ class Table {
21745
21745
  //loading
21746
21746
  loading: this.footerLoading
21747
21747
  })), this.enableFloatingMenu && this._enableRowSelection ? (hAsync("p-floating-menu-container", { usedInTable: true, class: `${((_b = this.selectedRows) === null || _b === void 0 ? void 0 : _b.length) ? '' : 'inactive'} ${this._floatingMenuShown ? 'shown' : ''}` }, hAsync("p-floating-menu-item", { hover: false, slot: "floating-menu-item", class: ((_c = this._rowActionsFloating) === null || _c === void 0 ? void 0 : _c.length)
21748
- ? 'hide-mobile'
21748
+ ? 'hidden tablet:flex'
21749
21749
  : '' }, this.floatingMenuAmountSelectedTemplate((_d = this.selectedRows) === null || _d === void 0 ? void 0 : _d.length)), hAsync("p-divider", { class: `mx-0 text-storm ${((_e = this._rowActionsFloating) === null || _e === void 0 ? void 0 : _e.length)
21750
- ? 'hide-mobile'
21750
+ ? 'hidden tablet:flex'
21751
21751
  : ''}`, variant: "vertical", slot: "floating-menu-item" }), ((_f = this._rowActionsFloating) === null || _f === void 0 ? void 0 : _f.length) &&
21752
21752
  this._rowActionsFloating.map((a) => (hAsync("p-floating-menu-item", { slot: "floating-menu-item", disabled: a.disabled, onClick: () => !a.disabled &&
21753
21753
  !a.loading &&
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paperless/core",
3
- "version": "1.44.2",
3
+ "version": "1.44.3",
4
4
  "description": "Stencil Component Starter",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,H as s,g as n}from"./p-e4d5e7a7.js";import{f as a,g as o}from"./p-33fa21e3.js";import{f as r}from"./p-15f63841.js";import{d as l,a as h}from"./p-da7b6f2c.js";const d=".fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.bottom-4{bottom:1rem!important}.left-1\\/2{left:50%!important}.flex{display:flex!important}.hidden{display:none!important}.flex-shrink{flex-shrink:1!important}.-translate-x-1\\/2{--tw-translate-x:-50%!important}.-translate-x-1\\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}*{box-sizing:border-box}p-table{display:flex;flex-direction:column;position:relative}p-table .p-input[type=checkbox]{flex-shrink:0}p-table p-table-container{position:relative}p-table p-table-container p-floating-menu-container{--tw-translate-x:-50%;animation:floatingMenuContainerIn .3s ease forwards!important;bottom:1rem;left:50%;position:fixed;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width:40rem){p-table p-table-container p-floating-menu-container{bottom:4rem;position:absolute}}p-table p-table-container p-floating-menu-container:not(.shown){display:none}p-table p-table-container p-floating-menu-container.inactive{animation:floatingMenuContainerOut .3s ease forwards!important}p-table p-table-container p-floating-menu-container .hide-mobile{display:none}@media (min-width:40rem){p-table p-table-container p-floating-menu-container .hide-mobile{display:block}}@keyframes floatingMenuContainerOut{0%{display:flex;opacity:1;transform:translateY(0) translateX(-50%)}99%{display:flex;opacity:0;transform:translateY(100%) translateX(-50%)}to{display:none;opacity:0;transform:translateY(100%) translateX(-50%)}}@keyframes floatingMenuContainerIn{0%{display:none;opacity:0;transform:translateY(100%) translateX(-50%)}1%{display:flex;opacity:0;transform:translateY(100%) translateX(-50%)}to{display:flex;opacity:1;transform:translateY(0) translateX(-50%)}}@media (min-width:40rem){.tablet\\:block{display:block!important}}.static{position:static!important}.mx-0{margin-left:0!important;margin-right:0!important}.mb-14{margin-bottom:3.5rem!important}.mb-6{margin-bottom:1.5rem!important}.ml-auto{margin-left:auto!important}.table{display:table!important}.h-6{height:1.5rem!important}.w-6{width:1.5rem!important}.max-w-\\[20rem\\]{max-width:20rem!important}.flex-1{flex:1 1 0%!important}.cursor-pointer{cursor:pointer!important}.resize{resize:both!important}.flex-col{flex-direction:column!important}.items-center{align-items:center!important}.gap-2{gap:.5rem!important}.self-center{align-self:center!important}.rounded{border-radius:.25rem!important}.py-24{padding-bottom:6rem!important;padding-top:6rem!important}.text-center{text-align:center!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.font-semibold{font-weight:600!important}.text-storm{--tw-text-opacity:1!important;color:rgb(81 83 107/var(--tw-text-opacity))!important}.text-storm-medium{--tw-text-opacity:1!important;color:rgb(128 130 158/var(--tw-text-opacity))!important}.opacity-0{opacity:0!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}";const c=class{constructor(e){t(this,e);this.selectedRowsChange=i(this,"selectedRowsChange",3);this.rowClick=i(this,"rowClick",3);this.rowSelected=i(this,"rowSelected",3);this.rowDeselected=i(this,"rowDeselected",3);this.hasRendered=i(this,"hasRendered",3);this.quickFilter=i(this,"quickFilter",3);this.queryChange=i(this,"queryChange",3);this.filter=i(this,"filter",3);this.action=i(this,"action",3);this.pageChange=i(this,"pageChange",3);this.pageSizeChange=i(this,"pageSizeChange",3);this.export=i(this,"export",3);this.emptyStateActionClick=i(this,"emptyStateActionClick",3);this._ctrlDown=false;this._hasCustomFilterSlot=false;this._floatingMenuShown=false;this.items=undefined;this.loading=false;this.headerLoading=false;this.footerLoading=false;this.amountOfLoadingRows=6;this.enableRowSelection=true;this.rowSelectionLimit=undefined;this.enableRowClick=true;this.selectedRows=[];this.enableFloatingMenu=true;this.floatingMenuAmountSelectedTemplate=t=>{var i,e,s;return a((s=t===1?(i=this._locales.floating_menu)===null||i===void 0?void 0:i.amount_selected:(e=this._locales.floating_menu)===null||e===void 0?void 0:e.amount_selected_plural)===null||s===void 0?void 0:s.replace("{{amount}}",t))};this.selectionKey=undefined;this.canSelectKey=undefined;this.enableHeader=true;this.quickFilters=[];this.activeQuickFilterIdentifier=undefined;this.enableSearch=true;this.query=undefined;this.enableFilter=true;this.selectedFiltersAmount=undefined;this.filterButtonTemplate=undefined;this.enableAction=false;this.actionButtonLoading=false;this.actionButtonEnabled=false;this.actionButtonIcon="pencil";this.actionButtonText=undefined;this.actionButtonTemplate=undefined;this.enableFooter=true;this.enablePageSize=true;this.enablePagination=true;this.enableExport=true;this.page=1;this.total=undefined;this.pageSize=l;this.pageSizeOptions=h;this.hideOnSinglePage=true;this.emptyStateHeader=()=>{var t;return a((t=this._locales.empty_state)===null||t===void 0?void 0:t.no_filter.header)};this.emptyStateContent=()=>{var t;return a((t=this._locales.empty_state)===null||t===void 0?void 0:t.no_filter.content)};this.emptyStateAction=()=>{var t;return a((t=this._locales.empty_state)===null||t===void 0?void 0:t.no_filter.action)};this.enableEmptyStateAction=true;this.emptyStateFilteredHeader=()=>a(this._locales.empty_state.filtered.header);this.emptyStateFilteredContent=()=>a(this._locales.empty_state.filtered.content);this.shadow=true;this._locales={};this._columns=[];this._items=[];this._enableRowSelection=this.enableRowSelection;this._rowSelectionLimit=undefined;this._rowActionsFloating=[];this._rowActionsRow=[]}componentWillLoad(){this._hasCustomFilterSlot=!!this._el.querySelector(':scope > [slot="custom-filter"]');this._setRowSelectionData();this._setLocales();this._parseItems(this.items);this._generateColumns()}componentDidRender(){this.hasRendered.emit()}render(){var t,i,n,a,o,r,l;return e(s,{class:"p-table"},e("p-table-container",{shadow:this.shadow},this.enableHeader&&e("p-table-header",{quickFilters:this.quickFilters,activeQuickFilterIdentifier:this.activeQuickFilterIdentifier,onQuickFilter:({detail:t})=>this.quickFilter.emit(t),enableSearch:this.enableSearch,query:this.query,onQueryChange:({detail:t})=>this.queryChange.emit(t),enableFilter:this.enableFilter,selectedFiltersAmount:this.selectedFiltersAmount,filterButtonTemplate:this.filterButtonTemplate,onFilter:()=>this.filter.emit(),enableAction:this.enableAction,actionIcon:this.actionButtonIcon,actionText:this.actionButtonText,actionLoading:this.actionButtonLoading,canUseAction:this.actionButtonEnabled,actionButtonTemplate:this.actionButtonTemplate,onAction:()=>this.action.emit(),itemsSelectedAmount:(t=this.selectedRows)===null||t===void 0?void 0:t.length,loading:this.headerLoading},this._hasCustomFilterSlot&&e("slot",{name:"custom-filter",slot:"custom-filter"})),this._getHeader(),e("div",{class:"flex flex-col flex-1"},this._getRows()),this.enableFooter&&e("p-table-footer",{hideOnSinglePage:this.hideOnSinglePage,enablePageSize:this.enablePageSize,pageSize:this.pageSize,pageSizeOptions:this.pageSizeOptions,onPageSizeChange:({detail:t})=>this.pageSizeChange.emit(t),enablePagination:this.enablePagination,page:this.page,total:this.total,onPageChange:({detail:t})=>this.pageChange.emit(t),enableExport:this.enableExport,onExport:()=>this.export.emit(),loading:this.footerLoading}),this.enableFloatingMenu&&this._enableRowSelection?e("p-floating-menu-container",{usedInTable:true,class:`${((i=this.selectedRows)===null||i===void 0?void 0:i.length)?"":"inactive"} ${this._floatingMenuShown?"shown":""}`},e("p-floating-menu-item",{hover:false,slot:"floating-menu-item",class:((n=this._rowActionsFloating)===null||n===void 0?void 0:n.length)?"hide-mobile":""},this.floatingMenuAmountSelectedTemplate((a=this.selectedRows)===null||a===void 0?void 0:a.length)),e("p-divider",{class:`mx-0 text-storm ${((o=this._rowActionsFloating)===null||o===void 0?void 0:o.length)?"hide-mobile":""}`,variant:"vertical",slot:"floating-menu-item"}),((r=this._rowActionsFloating)===null||r===void 0?void 0:r.length)&&this._rowActionsFloating.map((t=>e("p-floating-menu-item",{slot:"floating-menu-item",disabled:t.disabled,onClick:()=>!t.disabled&&!t.loading&&!!t.action&&t.type==="single"?t.action(this.selectedRows[0],false):t.action(this.selectedRows,true)},t.label," ",t.loading?e("p-loader",null):e("p-icon",{variant:t.icon,rotate:t.iconRotate,flip:t.iconFlip})))),((l=this._rowActionsFloating)===null||l===void 0?void 0:l.length)&&e("p-divider",{class:"mx-0 text-storm",variant:"vertical",slot:"floating-menu-item"}),e("p-floating-menu-item",{slot:"floating-menu-item",onClick:()=>this._selectAllChange(null,false)},e("p-icon",{variant:"negative"}))):""))}async _setLocales(){this._locales=await o(this._el)}onTableDefinitionUpdated(){this._generateColumns()}keyDown({key:t}){if(t!=="Control"||this._ctrlDown===true){return}this._ctrlDown=true}keyUp({key:t}){if(t!=="Control"||this._ctrlDown===false){return}this._ctrlDown=false}visibilityChange(){if(document.visibilityState!=="hidden"||this._ctrlDown===false){return}this._ctrlDown=false}_parseItems(t){if(!t){this._items=[];return}if(Array.isArray(t)){this._items=t;return}this._items=JSON.parse(t)}_setRowSelectionData(){if(this._resizeTimeout){clearTimeout(this._resizeTimeout)}this._resizeTimeout=setTimeout((()=>{var t,i;const e=r();const s=Array.from(this._el.querySelectorAll(":scope > p-table-row-action"));this._rowActionsRow=s.filter((t=>t.type==="both"||t.type==="single"));this._rowActionsFloating=s.filter((t=>t.type==="both"||t.type==="multi"||e)).map((t=>{var i;if(t.type==="single"){t.disabled=((i=this.selectedRows)===null||i===void 0?void 0:i.length)>1}return t}));let n=this.rowSelectionLimit;if(e&&((t=this._rowActionsFloating)===null||t===void 0?void 0:t.length)&&(n!==undefined&&this.enableRowSelection||!this.enableRowSelection)){n=1}this._rowSelectionLimit=n;let a=this.enableRowSelection;if(e&&((i=this._rowActionsFloating)===null||i===void 0?void 0:i.length)&&!a){a=true}this._enableRowSelection=a}),200)}_generateColumns(){const t=this._el.querySelectorAll("p-table-column");const i=Array.from(t);i[i.length-1]["isLast"]=true;this._columns=i}_getHeader(){return e("p-table-row",{variant:"header"},this._columns.map(((t,i)=>e("p-table-cell",{definition:t,value:t.name,variant:"header",checkbox:i===0||t.hasCheckbox?this._getCheckbox(null,this.loading?"loading":"header"):null,index:i}))))}_getRows(){if(this.loading){return Array.from({length:this.amountOfLoadingRows},((t,i)=>e("p-table-row",{enableHover:this._enableRowSelection||this.enableRowClick},this._getLoadingColumns(i))))}if(!this._items.length){return this._getEmptyState()}return this._items.map(((t,i)=>e("p-table-row",{enableHover:this._enableRowSelection||this.enableRowClick,onClick:t=>this._rowClick(t,i)},this._getRowColumns(t,i))))}_getRowColumns(t,i){var s;const n=this._columns.map(((s,n)=>e("p-table-cell",{definition:s,item:t,checkbox:n===0||s.hasCheckbox?this._getCheckbox(i):null,index:n,rowIndex:i,tableHasActions:!!this._rowActionsRow.length&&!r()})));if(((s=this._rowActionsRow)===null||s===void 0?void 0:s.length)&&!r()){const s=this._columns[this._columns.length-1];n.push(e("p-table-cell",{variant:"actions",definition:s,item:t,index:this._columns.length-1,rowIndex:i,tableHasActions:!!this._rowActionsRow.length},e("div",{slot:"actions",class:"flex ml-auto gap-2 items-center"},this._rowActionsRow.map((i=>e("p-tooltip",{content:i.label},e("p-button",{"data-is-action":true,variant:"secondary",slot:"trigger",icon:i.icon,iconRotate:i.iconRotate,iconFlip:i.iconFlip,iconOnly:true,size:"small",onClick:()=>{var e;return typeof i.action==="function"&&((e=i.action)===null||e===void 0?void 0:e.call(i,t,false))}})))))))}return n}_getLoadingColumns(t){return this._columns.map(((i,s)=>e("p-table-cell",{definition:i,variant:"loading",checkbox:s===0||i.hasCheckbox?this._getCheckbox(t,"loading"):null,index:s,rowIndex:t})))}_getCheckbox(t,i="default"){var s;if(!this._enableRowSelection||!this.selectionKey&&!((s=this._rowActionsFloating)===null||s===void 0?void 0:s.length)){return}if(i==="loading"){return e("p-loader",{variant:"ghost",class:"h-6 w-6 rounded"})}if(i==="header"){return e("input",{class:`p-input ${this._rowSelectionLimit!==undefined&&"opacity-0"}`,type:"checkbox",onChange:t=>this._selectAllChange(t),checked:this._selectionContainsAll(),indeterminate:this._selectionIndeterminate(),disabled:this._rowSelectionLimit!==undefined})}const n=this._items[t];const a=this._selectionContains(t);return e("input",{class:"p-input",type:"checkbox",onChange:i=>this._checkboxChange(i===null||i===void 0?void 0:i.target,t),disabled:this.canSelectKey&&!n[this.canSelectKey]||this._rowSelectionLimit!==undefined&&!a&&this.selectedRows.length===this._rowSelectionLimit,checked:a})}_getEmptyState(){var t;if(((t=this.query)===null||t===void 0?void 0:t.length)||this.selectedFiltersAmount){return e("div",{class:"flex max-w-[20rem] flex-col items-center self-center py-24 text-center"},e("p-illustration",{variant:"empty-state-search",class:"mb-6"}),e("p",{class:"text-storm-default font-semibold"},this.emptyStateFilteredHeader()),e("p",{class:"mb-14 text-sm text-storm-medium"},this.emptyStateFilteredContent()))}return e("div",{class:`flex max-w-[20rem] flex-col items-center self-center py-24 text-center ${this.enableEmptyStateAction&&"cursor-pointer"}`,onClick:()=>this.enableEmptyStateAction&&this.emptyStateActionClick.emit(null)},e("p-illustration",{variant:"empty-state-add",class:"mb-6"}),e("p",{class:"text-storm-default font-semibold"},this.emptyStateHeader()),e("p",{class:"mb-6 text-sm text-storm-medium"},this.emptyStateContent()),this.enableEmptyStateAction&&e("p-button",{variant:"secondary",icon:"plus",size:"small"},this.emptyStateAction()))}_selectAllChange(t,i){if(!this._enableRowSelection){return}const e=i===undefined?this._getCheckedValue(t.target):i;if(e){const t=[];for(let i=0;i<this._items.length;i++){const e=this._items[i];if(this.canSelectKey&&!e[this.canSelectKey]){continue}if(this._selectionContains(i)){continue}t.push(e);this.rowSelected.emit(e);if(this._rowSelectionLimit!==undefined&&this.selectedRows.length+t.length===this._rowSelectionLimit){break}}this.selectedRows=[...this.selectedRows,...t];this.selectedRowsChange.emit(this.selectedRows);if(this.enableFloatingMenu&&!this._floatingMenuShown){this._floatingMenuShown=true}return}for(let t=0;t<this.selectedRows.length;t++){const i=this.selectedRows[t];const e=this._items.find((e=>this._getSelectionValue(e,t)===this._getSelectionValue(i,t)));if(!e){continue}this.rowDeselected.emit(e)}this.selectedRows=[];this.selectedRowsChange.emit(this.selectedRows)}_checkboxChange(t,i){if(!this._enableRowSelection){return}const e=this._getCheckedValue(t);if(e&&this._rowSelectionLimit!==undefined&&this.selectedRows.length>=this._rowSelectionLimit){t.checked=false;return}const s=this._items[i];if(this.canSelectKey&&!s[this.canSelectKey]){t.checked=false;return}if(e){this.selectedRows=[...this.selectedRows,Object.assign(Object.assign({},s),{index:i})];this.selectedRowsChange.emit(this.selectedRows);this.rowSelected.emit(s);if(this.enableFloatingMenu&&!this._floatingMenuShown){this._floatingMenuShown=true}return}const n=this._selectionContains(i,true);const a=[...this.selectedRows];a.splice(n,1);this.selectedRows=a;this.selectedRowsChange.emit(this.selectedRows);this.rowDeselected.emit(s)}_getCheckedValue(t){return t===null||t===void 0?void 0:t.checked}_getSelectionValue(t,i){return this.selectionKey?(t===null||t===void 0?void 0:t[this.selectionKey])||i:i}_selectionContains(t,i=false){const e=this.selectedRows.findIndex((i=>i.index===t));return!i?e>=0:e}_selectionContainsAll(){var t,i;let e=true;if(!((t=this._items)===null||t===void 0?void 0:t.length)){return false}if(this._rowSelectionLimit!==undefined&&this.selectedRows.length===this._rowSelectionLimit){return true}for(let t=0;t<((i=this._items)===null||i===void 0?void 0:i.length);t++){const i=this._selectionContains(t);if(!i){e=false;break}}return e}_selectionIndeterminate(){var t,i,e;if(!((t=this._items)===null||t===void 0?void 0:t.length)||!((i=this.selectedRows)===null||i===void 0?void 0:i.length)){return false}if(this._rowSelectionLimit!==undefined&&this.selectedRows.length===this._rowSelectionLimit){return false}let s=0;for(let t=0;t<((e=this._items)===null||e===void 0?void 0:e.length);t++){const i=this._selectionContains(t);if(i){s++}}return s>0&&s!==this._items.length}_rowClick(t,i){const e=t.target;if(e.tagName.toLowerCase()==="input"||e.type==="checkbox"){return}const s=this._findRow(t.target);const n=this._findRowAction(t.target);if(n){return}if(this.enableRowClick){const t=this._items[i];this.rowClick.emit({item:t,ctrlDown:this._ctrlDown});return}if(!this._enableRowSelection){return}const a=s===null||s===void 0?void 0:s.querySelector('input[type="checkbox"]');if(!a){return}a.checked=!a.checked;this._checkboxChange(a,i)}_findRow(t){var i;if(!t){return t}if(((i=t===null||t===void 0?void 0:t.tagName)===null||i===void 0?void 0:i.toLowerCase())==="p-table-row"){return t}return this._findRow(t===null||t===void 0?void 0:t.parentElement)}_findRowAction(t){var i;if(!t){return null}if(t.getAttribute("data-is-action")!==null&&t.getAttribute("data-is-action")!=="false"){return t}if(((i=t===null||t===void 0?void 0:t.tagName)===null||i===void 0?void 0:i.toLowerCase())==="p-table-row"){return null}return this._findRowAction(t===null||t===void 0?void 0:t.parentElement)}get _el(){return n(this)}static get watchers(){return{items:["_parseItems"],enableRowSelection:["_setRowSelectionData"],rowSelectionLimit:["_setRowSelectionData"],selectedRows:["_setRowSelectionData"]}}};c.style=d;export{c as p_table};
2
- //# sourceMappingURL=p-f9cb528d.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["tableComponentCss","Table","this","_ctrlDown","_hasCustomFilterSlot","_floatingMenuShown","amount","formatTranslation","_c","_a","_locales","floating_menu","amount_selected","_b","amount_selected_plural","replace","defaultSize","defaultSizeOptions","empty_state","no_filter","header","content","action","filtered","enableRowSelection","componentWillLoad","_el","querySelector","_setRowSelectionData","_setLocales","_parseItems","items","_generateColumns","componentDidRender","hasRendered","emit","render","h","Host","class","shadow","enableHeader","quickFilters","activeQuickFilterIdentifier","onQuickFilter","detail","quickFilter","enableSearch","query","onQueryChange","queryChange","enableFilter","selectedFiltersAmount","filterButtonTemplate","onFilter","filter","enableAction","actionIcon","actionButtonIcon","actionText","actionButtonText","actionLoading","actionButtonLoading","canUseAction","actionButtonEnabled","actionButtonTemplate","onAction","itemsSelectedAmount","selectedRows","length","loading","headerLoading","name","slot","_getHeader","_getRows","enableFooter","hideOnSinglePage","enablePageSize","pageSize","pageSizeOptions","onPageSizeChange","pageSizeChange","enablePagination","page","total","onPageChange","pageChange","enableExport","onExport","export","footerLoading","enableFloatingMenu","_enableRowSelection","usedInTable","hover","_rowActionsFloating","floatingMenuAmountSelectedTemplate","_d","_e","variant","_f","map","a","disabled","onClick","type","label","icon","rotate","iconRotate","flip","iconFlip","_g","_selectAllChange","getLocaleComponentStrings","onTableDefinitionUpdated","keyDown","key","keyUp","visibilityChange","document","visibilityState","_items","Array","isArray","JSON","parse","_resizeTimeout","clearTimeout","setTimeout","mobile","isMobile","actions","from","querySelectorAll","_rowActionsRow","rowSelectionLimit","undefined","_rowSelectionLimit","definitions","definitionsArray","_columns","col","index","definition","value","checkbox","hasCheckbox","_getCheckbox","amountOfLoadingRows","_","i","enableHover","enableRowClick","_getLoadingColumns","_getEmptyState","item","ev","_rowClick","_getRowColumns","columns","colIndex","rowIndex","tableHasActions","lastDef","push","iconOnly","size","call","selectionKey","onChange","checked","_selectionContainsAll","indeterminate","_selectionIndeterminate","selectionContains","_selectionContains","_checkboxChange","target","canSelectKey","emptyStateFilteredHeader","emptyStateFilteredContent","enableEmptyStateAction","emptyStateActionClick","emptyStateHeader","emptyStateContent","emptyStateAction","$event","forceValue","_getCheckedValue","toAdd","row","rowSelected","selectedRowsChange","find","d","_getSelectionValue","rowDeselected","indexOfToRemove","selection","splice","returnIndex","returnValue","findIndex","contains","containsCount","tagName","toLowerCase","_findRow","_findRowAction","rowClick","ctrlDown","el","parentElement","getAttribute"],"sources":["src/components/organisms/table/table.component.scss?tag=p-table","src/components/organisms/table/table.component.tsx"],"sourcesContent":["p-table {\n\t@apply relative flex flex-col;\n\n\t.p-input[type='checkbox'] {\n\t\tflex-shrink: 0;\n\t}\n\n\tp-table-container {\n\t\t@apply relative;\n\n\t\tp-floating-menu-container {\n\t\t\t@apply fixed bottom-4 left-1/2 -translate-x-1/2 transform;\n\t\t\tanimation: forwards floatingMenuContainerIn 0.3s ease !important;\n\n\t\t\t@screen tablet {\n\t\t\t\t@apply absolute bottom-16;\n\t\t\t}\n\n\t\t\t&:not(.shown) {\n\t\t\t\t@apply hidden;\n\t\t\t}\n\n\t\t\t&.inactive {\n\t\t\t\tanimation: forwards floatingMenuContainerOut 0.3s ease !important;\n\t\t\t}\n\n\t\t\t.hide-mobile {\n\t\t\t\t@apply hidden tablet:block;\n\t\t\t}\n\t\t}\n\t}\n}\n\n@keyframes floatingMenuContainerOut {\n\t0% {\n\t\tdisplay: flex;\n\t\ttransform: translateY(0) translateX(-50%);\n\t\topacity: 100;\n\t}\n\t99% {\n\t\ttransform: translateY(100%) translateX(-50%);\n\t\topacity: 0;\n\t\tdisplay: flex;\n\t}\n\t100% {\n\t\ttransform: translateY(100%) translateX(-50%);\n\t\topacity: 0;\n\t\tdisplay: none;\n\t}\n}\n\n@keyframes floatingMenuContainerIn {\n\t0% {\n\t\ttransform: translateY(100%) translateX(-50%);\n\t\topacity: 0;\n\t\tdisplay: none;\n\t}\n\t1% {\n\t\ttransform: translateY(100%) translateX(-50%);\n\t\topacity: 0;\n\t\tdisplay: flex;\n\t}\n\t100% {\n\t\ttransform: translateY(0) translateX(-50%);\n\t\topacity: 100;\n\t\tdisplay: flex;\n\t}\n}\n","import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport { IconVariant } from '../../../components';\nimport { QuickFilter, RowClickEvent } from '../../../types/table';\nimport {\n\tformatTranslation,\n\tgetLocaleComponentStrings,\n\tisMobile,\n} from '../../../utils';\nimport { TableColumn } from '../../helpers/table-column/table-column.component';\nimport {\n\tdefaultSize,\n\tdefaultSizeOptions,\n} from '../../molecules/page-size-select/constants';\nimport { buttonTemplateFunc } from '../../molecules/table-header/table-header.component';\nimport { TableRowAction } from '../../helpers/table-row-action/table-row-action.component';\n\nexport type templateFunc = () => string;\nexport type amountSelectedTemplateFunc = (amount: number) => string;\n\n@Component({\n\ttag: 'p-table',\n\tstyleUrl: 'table.component.scss',\n})\nexport class Table {\n\t/**\n\t * The items to be fed to the table\n\t */\n\t@Prop() items: string;\n\n\t/**\n\t * Wether data is loading\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether the header should show loading state\n\t */\n\t@Prop() headerLoading: boolean = false;\n\n\t/**\n\t * Wether the footer should show loading state\n\t */\n\t@Prop() footerLoading: boolean = false;\n\n\t/**\n\t * The amount of loading rows to show\n\t */\n\t@Prop() amountOfLoadingRows: number = 6;\n\n\t/**\n\t * Wether to enable selection\n\t */\n\t@Prop() enableRowSelection: boolean = true;\n\n\t/**\n\t * A limit to the amount of rows that can be selected\n\t */\n\t@Prop() rowSelectionLimit: number | undefined;\n\n\t/**\n\t * Wether to enable row clicking\n\t */\n\t@Prop() enableRowClick: boolean = true;\n\n\t/**\n\t * The current selection of items\n\t */\n\t@Prop() selectedRows: any[] = [];\n\n\t/**\n\t * Wether to enable the floating menu\n\t */\n\t@Prop() enableFloatingMenu: boolean = true;\n\n\t/**\n\t * The template for amount selected item in the floating menu\n\t */\n\t@Prop() floatingMenuAmountSelectedTemplate: amountSelectedTemplateFunc = (\n\t\tamount: number\n\t) =>\n\t\tformatTranslation(\n\t\t\t(amount === 1\n\t\t\t\t? this._locales.floating_menu?.amount_selected\n\t\t\t\t: this._locales.floating_menu?.amount_selected_plural\n\t\t\t)?.replace('{{amount}}', amount)\n\t\t);\n\n\t/**\n\t * Event whenever the current selection changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tselectedRowsChange: EventEmitter<any>;\n\n\t/**\n\t * The key to determine if a row is selected\n\t */\n\t@Prop() selectionKey: string;\n\n\t/**\n\t * A key to determine if a row can be selected\n\t */\n\t@Prop() canSelectKey: string;\n\n\t/**\n\t * Event whenever a row is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\trowClick: EventEmitter<RowClickEvent>;\n\n\t/**\n\t * Event whenever a row is selected\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\trowSelected: EventEmitter<any>;\n\n\t/**\n\t * Event whenever a row is deselected\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\trowDeselected: EventEmitter<any>;\n\n\t/**\n\t * Event when the table has rendered\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\thasRendered: EventEmitter<number>;\n\n\t/** START HEADER */\n\n\t/**\n\t * Wether to show the header\n\t */\n\t@Prop() enableHeader: boolean = true;\n\n\t/**\n\t * Quick filters to show\n\t */\n\t@Prop() quickFilters: QuickFilter[] = [];\n\n\t/**\n\t * Active quick filter identifier\n\t */\n\t@Prop() activeQuickFilterIdentifier: string;\n\n\t/**\n\t * Wether to show the search input\n\t */\n\t@Prop() enableSearch: boolean = true;\n\n\t/**\n\t * The query to show in the search bar\n\t */\n\t@Prop({ mutable: true }) query: string;\n\n\t/**\n\t * Wether to show the filter button\n\t */\n\t@Prop() enableFilter: boolean = true;\n\n\t/**\n\t * The amount of filters being selected\n\t */\n\t@Prop() selectedFiltersAmount: number;\n\n\t/**\n\t * The template for the filter button text\n\t */\n\t@Prop() filterButtonTemplate: templateFunc;\n\n\t/**\n\t * Wether to show the action button\n\t */\n\t@Prop() enableAction: boolean = false;\n\n\t/**\n\t * Wether the action button is loading\n\t */\n\t@Prop() actionButtonLoading: boolean = false;\n\n\t/**\n\t * Wether the action button is enabled\n\t */\n\t@Prop() actionButtonEnabled: boolean = false;\n\n\t/**\n\t * The action button icon\n\t */\n\t@Prop() actionButtonIcon: IconVariant = 'pencil';\n\n\t/**\n\t * The action button text if changed\n\t */\n\t@Prop() actionButtonText: string;\n\n\t/**\n\t * The template for the action button text\n\t */\n\t@Prop() actionButtonTemplate: buttonTemplateFunc;\n\n\t/**\n\t * Event when one of the quick filters is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tquickFilter: EventEmitter<QuickFilter>;\n\n\t/**\n\t * Event when the query changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tqueryChange: EventEmitter<string>;\n\n\t/**\n\t * Event when the filter button is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tfilter: EventEmitter<null>;\n\n\t/**\n\t * Event when the action button is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\taction: EventEmitter<null>;\n\n\t/** START FOOTER */\n\n\t/**\n\t * Wether to show the header\n\t */\n\t@Prop() enableFooter: boolean = true;\n\n\t/**\n\t * Wether to enable page size select\n\t */\n\t@Prop() enablePageSize: boolean = true;\n\n\t/**\n\t * Wether to enable pagination\n\t */\n\t@Prop() enablePagination: boolean = true;\n\n\t/**\n\t * Wether to enable export\n\t */\n\t@Prop() enableExport: boolean = true;\n\n\t/**\n\t * The current page\n\t */\n\t@Prop({ mutable: true, reflect: true }) page: number = 1;\n\n\t/**\n\t * The total amount of items\n\t */\n\t@Prop() total!: number;\n\n\t/**\n\t * Event whenever the page changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tpageChange: EventEmitter<number>;\n\n\t/**\n\t * The amount of items per page\n\t */\n\t@Prop() pageSize: number = defaultSize;\n\n\t/**\n\t * The options for the page size\n\t */\n\t@Prop() pageSizeOptions: number[] = defaultSizeOptions;\n\n\t/**\n\t * Event whenever the page changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tpageSizeChange: EventEmitter<number>;\n\n\t/**\n\t * Event whenever the page changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\texport: EventEmitter<number>;\n\n\t/**\n\t * Wether to hide when there is only 1 page available\n\t */\n\t@Prop() hideOnSinglePage: boolean = true;\n\n\t/* Empty state start */\n\t@Prop() emptyStateHeader: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state?.no_filter.header);\n\t@Prop() emptyStateContent: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state?.no_filter.content);\n\t@Prop() emptyStateAction: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state?.no_filter.action);\n\t/**\n\t * Wether to enable empty state action\n\t */\n\t@Prop() enableEmptyStateAction: boolean = true;\n\n\t@Prop() emptyStateFilteredHeader: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state.filtered.header);\n\t@Prop() emptyStateFilteredContent: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state.filtered.content);\n\n\t/**\n\t * Event whenever the empty state is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\temptyStateActionClick: EventEmitter<null>;\n\n\t/*\n\t * Wether to show the shadow or not\n\t */\n\t@Prop() shadow: boolean = true;\n\n\t/* Empty state end */\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t/**\n\t * Locales used for this component\n\t */\n\t@State() private _locales: any = {};\n\n\t@State() private _columns: any[] = [];\n\t@State() private _items: any[] = [];\n\n\t@State() private _enableRowSelection: boolean = this.enableRowSelection;\n\t@State() private _rowSelectionLimit: number | undefined;\n\n\t@State() private _rowActionsFloating: TableRowAction[] = [];\n\t@State() private _rowActionsRow: TableRowAction[] = [];\n\n\tprivate _ctrlDown = false;\n\tprivate _hasCustomFilterSlot = false;\n\tprivate _floatingMenuShown = false;\n\tprivate _resizeTimeout: NodeJS.Timer;\n\n\tcomponentWillLoad() {\n\t\tthis._hasCustomFilterSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-filter\"]'\n\t\t);\n\n\t\tthis._setRowSelectionData();\n\n\t\tthis._setLocales();\n\t\tthis._parseItems(this.items);\n\t\tthis._generateColumns();\n\t}\n\n\tcomponentDidRender() {\n\t\tthis.hasRendered.emit();\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class=\"p-table\">\n\t\t\t\t<p-table-container shadow={this.shadow}>\n\t\t\t\t\t{this.enableHeader && (\n\t\t\t\t\t\t<p-table-header\n\t\t\t\t\t\t\t// quick filters\n\t\t\t\t\t\t\tquickFilters={this.quickFilters}\n\t\t\t\t\t\t\tactiveQuickFilterIdentifier={\n\t\t\t\t\t\t\t\tthis.activeQuickFilterIdentifier\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonQuickFilter={({ detail }) =>\n\t\t\t\t\t\t\t\tthis.quickFilter.emit(detail)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// search\n\t\t\t\t\t\t\tenableSearch={this.enableSearch}\n\t\t\t\t\t\t\tquery={this.query}\n\t\t\t\t\t\t\tonQueryChange={({ detail }) =>\n\t\t\t\t\t\t\t\tthis.queryChange.emit(detail)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// filter button\n\t\t\t\t\t\t\tenableFilter={this.enableFilter}\n\t\t\t\t\t\t\tselectedFiltersAmount={this.selectedFiltersAmount}\n\t\t\t\t\t\t\tfilterButtonTemplate={this.filterButtonTemplate}\n\t\t\t\t\t\t\tonFilter={() => this.filter.emit()}\n\t\t\t\t\t\t\t// action button\n\t\t\t\t\t\t\tenableAction={this.enableAction}\n\t\t\t\t\t\t\tactionIcon={this.actionButtonIcon}\n\t\t\t\t\t\t\tactionText={this.actionButtonText}\n\t\t\t\t\t\t\tactionLoading={this.actionButtonLoading}\n\t\t\t\t\t\t\tcanUseAction={this.actionButtonEnabled}\n\t\t\t\t\t\t\tactionButtonTemplate={this.actionButtonTemplate}\n\t\t\t\t\t\t\tonAction={() => this.action.emit()}\n\t\t\t\t\t\t\titemsSelectedAmount={this.selectedRows?.length}\n\t\t\t\t\t\t\t//loading\n\t\t\t\t\t\t\tloading={this.headerLoading}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._hasCustomFilterSlot && (\n\t\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t\tname=\"custom-filter\"\n\t\t\t\t\t\t\t\t\tslot=\"custom-filter\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</p-table-header>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this._getHeader()}\n\t\t\t\t\t<div class=\"flex flex-col flex-1\">{this._getRows()}</div>\n\n\t\t\t\t\t{this.enableFooter && (\n\t\t\t\t\t\t<p-table-footer\n\t\t\t\t\t\t\t// overall\n\t\t\t\t\t\t\thideOnSinglePage={this.hideOnSinglePage}\n\t\t\t\t\t\t\t// page size select\n\t\t\t\t\t\t\tenablePageSize={this.enablePageSize}\n\t\t\t\t\t\t\tpageSize={this.pageSize}\n\t\t\t\t\t\t\tpageSizeOptions={this.pageSizeOptions}\n\t\t\t\t\t\t\tonPageSizeChange={({ detail }) =>\n\t\t\t\t\t\t\t\tthis.pageSizeChange.emit(detail)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// pagination\n\t\t\t\t\t\t\tenablePagination={this.enablePagination}\n\t\t\t\t\t\t\tpage={this.page}\n\t\t\t\t\t\t\ttotal={this.total}\n\t\t\t\t\t\t\tonPageChange={({ detail }) =>\n\t\t\t\t\t\t\t\tthis.pageChange.emit(detail)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// export\n\t\t\t\t\t\t\tenableExport={this.enableExport}\n\t\t\t\t\t\t\tonExport={() => this.export.emit()}\n\t\t\t\t\t\t\t//loading\n\t\t\t\t\t\t\tloading={this.footerLoading}\n\t\t\t\t\t\t></p-table-footer>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this.enableFloatingMenu && this._enableRowSelection ? (\n\t\t\t\t\t\t<p-floating-menu-container\n\t\t\t\t\t\t\tusedInTable={true}\n\t\t\t\t\t\t\tclass={`${\n\t\t\t\t\t\t\t\tthis.selectedRows?.length ? '' : 'inactive'\n\t\t\t\t\t\t\t} ${this._floatingMenuShown ? 'shown' : ''}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p-floating-menu-item\n\t\t\t\t\t\t\t\thover={false}\n\t\t\t\t\t\t\t\tslot=\"floating-menu-item\"\n\t\t\t\t\t\t\t\tclass={\n\t\t\t\t\t\t\t\t\tthis._rowActionsFloating?.length\n\t\t\t\t\t\t\t\t\t\t? 'hide-mobile'\n\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.floatingMenuAmountSelectedTemplate(\n\t\t\t\t\t\t\t\t\tthis.selectedRows?.length\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</p-floating-menu-item>\n\t\t\t\t\t\t\t<p-divider\n\t\t\t\t\t\t\t\tclass={`mx-0 text-storm ${\n\t\t\t\t\t\t\t\t\tthis._rowActionsFloating?.length\n\t\t\t\t\t\t\t\t\t\t? 'hide-mobile'\n\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\tvariant=\"vertical\"\n\t\t\t\t\t\t\t\tslot=\"floating-menu-item\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{this._rowActionsFloating?.length &&\n\t\t\t\t\t\t\t\tthis._rowActionsFloating.map((a) => (\n\t\t\t\t\t\t\t\t\t<p-floating-menu-item\n\t\t\t\t\t\t\t\t\t\tslot=\"floating-menu-item\"\n\t\t\t\t\t\t\t\t\t\tdisabled={a.disabled}\n\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\t!a.disabled &&\n\t\t\t\t\t\t\t\t\t\t\t!a.loading &&\n\t\t\t\t\t\t\t\t\t\t\t!!a.action &&\n\t\t\t\t\t\t\t\t\t\t\ta.type === 'single'\n\t\t\t\t\t\t\t\t\t\t\t\t? a.action(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.selectedRows[0],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t: a.action(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.selectedRows,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{a.label}{' '}\n\t\t\t\t\t\t\t\t\t\t{a.loading ? (\n\t\t\t\t\t\t\t\t\t\t\t<p-loader></p-loader>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\t\t\t\t\tvariant={a.icon}\n\t\t\t\t\t\t\t\t\t\t\t\trotate={a.iconRotate}\n\t\t\t\t\t\t\t\t\t\t\t\tflip={a.iconFlip}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</p-floating-menu-item>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t{this._rowActionsFloating?.length && (\n\t\t\t\t\t\t\t\t<p-divider\n\t\t\t\t\t\t\t\t\tclass=\"mx-0 text-storm\"\n\t\t\t\t\t\t\t\t\tvariant=\"vertical\"\n\t\t\t\t\t\t\t\t\tslot=\"floating-menu-item\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<p-floating-menu-item\n\t\t\t\t\t\t\t\tslot=\"floating-menu-item\"\n\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\tthis._selectAllChange(null, false)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<p-icon variant=\"negative\" />\n\t\t\t\t\t\t\t</p-floating-menu-item>\n\t\t\t\t\t\t</p-floating-menu-container>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t)}\n\t\t\t\t</p-table-container>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('localeChanged', { target: 'body' })\n\tprivate async _setLocales(): Promise<void> {\n\t\tthis._locales = await getLocaleComponentStrings(this._el);\n\t}\n\n\t@Listen('tableDefinitionChanged', { target: 'body' })\n\tonTableDefinitionUpdated() {\n\t\tthis._generateColumns();\n\t}\n\n\t@Listen('keydown', { target: 'document' })\n\tkeyDown({ key }) {\n\t\tif (key !== 'Control' || this._ctrlDown === true) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._ctrlDown = true;\n\t}\n\n\t@Listen('keyup', { target: 'document' })\n\tkeyUp({ key }) {\n\t\tif (key !== 'Control' || this._ctrlDown === false) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._ctrlDown = false;\n\t}\n\n\t@Listen('visibilitychange', { target: 'document' })\n\tvisibilityChange() {\n\t\tif (document.visibilityState !== 'hidden' || this._ctrlDown === false) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._ctrlDown = false;\n\t}\n\n\t@Watch('items')\n\tprivate _parseItems(items: string) {\n\t\tif (!items) {\n\t\t\tthis._items = [];\n\t\t\treturn;\n\t\t}\n\n\t\tif (Array.isArray(items)) {\n\t\t\tthis._items = items;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._items = JSON.parse(items);\n\t}\n\n\t@Watch('enableRowSelection')\n\t@Watch('rowSelectionLimit')\n\t@Watch('selectedRows')\n\t@Listen('resize', { target: 'window' })\n\tprivate _setRowSelectionData() {\n\t\tif (this._resizeTimeout) {\n\t\t\tclearTimeout(this._resizeTimeout);\n\t\t}\n\n\t\t// We add a timeout here because it's a lot easier on the machine to do these when someone is done\n\t\t// resizing and playing around with their browser\n\t\tthis._resizeTimeout = setTimeout(() => {\n\t\t\tconst mobile = isMobile();\n\n\t\t\t// we hack this to any[] to make it work..\n\t\t\tconst actions = Array.from(\n\t\t\t\tthis._el.querySelectorAll(':scope > p-table-row-action')\n\t\t\t) as any[] as TableRowAction[];\n\t\t\tthis._rowActionsRow = actions.filter(\n\t\t\t\t(a) => a.type === 'both' || a.type === 'single'\n\t\t\t);\n\t\t\tthis._rowActionsFloating = actions\n\t\t\t\t.filter(\n\t\t\t\t\t(a) => a.type === 'both' || a.type === 'multi' || mobile\n\t\t\t\t)\n\t\t\t\t.map((a) => {\n\t\t\t\t\tif (a.type === 'single') {\n\t\t\t\t\t\ta.disabled = this.selectedRows?.length > 1;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn a;\n\t\t\t\t});\n\n\t\t\tlet rowSelectionLimit = this.rowSelectionLimit;\n\t\t\tif (\n\t\t\t\tmobile && // we're mobile\n\t\t\t\tthis._rowActionsFloating?.length && // we have atleast 1 item in _rowActionsFloating\n\t\t\t\t((rowSelectionLimit !== undefined && this.enableRowSelection) ||\n\t\t\t\t\t!this.enableRowSelection)\n\t\t\t) {\n\t\t\t\trowSelectionLimit = 1;\n\t\t\t}\n\n\t\t\tthis._rowSelectionLimit = rowSelectionLimit;\n\n\t\t\tlet enableRowSelection = this.enableRowSelection;\n\t\t\tif (\n\t\t\t\tmobile && // we're mobile\n\t\t\t\tthis._rowActionsFloating?.length && // we have atleast 1 item in _rowActionsFloating\n\t\t\t\t!enableRowSelection\n\t\t\t) {\n\t\t\t\tenableRowSelection = true;\n\t\t\t}\n\n\t\t\tthis._enableRowSelection = enableRowSelection;\n\t\t}, 200);\n\t}\n\n\tprivate _generateColumns() {\n\t\tconst definitions = this._el.querySelectorAll('p-table-column');\n\t\tconst definitionsArray = Array.from(definitions);\n\n\t\tdefinitionsArray[definitionsArray.length - 1]['isLast'] = true;\n\n\t\tthis._columns = definitionsArray;\n\t}\n\n\tprivate _getHeader() {\n\t\treturn (\n\t\t\t<p-table-row variant=\"header\">\n\t\t\t\t{this._columns.map((col: TableColumn, index) => (\n\t\t\t\t\t<p-table-cell\n\t\t\t\t\t\tdefinition={col}\n\t\t\t\t\t\tvalue={col.name}\n\t\t\t\t\t\tvariant=\"header\"\n\t\t\t\t\t\tcheckbox={\n\t\t\t\t\t\t\tindex === 0 || col.hasCheckbox\n\t\t\t\t\t\t\t\t? this._getCheckbox(\n\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\tthis.loading ? 'loading' : 'header'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t\tindex={index}\n\t\t\t\t\t></p-table-cell>\n\t\t\t\t))}\n\t\t\t</p-table-row>\n\t\t);\n\t}\n\n\tprivate _getRows() {\n\t\tif (this.loading) {\n\t\t\treturn Array.from(\n\t\t\t\t{\n\t\t\t\t\tlength: this.amountOfLoadingRows,\n\t\t\t\t},\n\t\t\t\t(_, i) => (\n\t\t\t\t\t<p-table-row\n\t\t\t\t\t\tenableHover={\n\t\t\t\t\t\t\tthis._enableRowSelection || this.enableRowClick\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this._getLoadingColumns(i)}\n\t\t\t\t\t</p-table-row>\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\tif (!this._items.length) {\n\t\t\treturn this._getEmptyState();\n\t\t}\n\n\t\treturn this._items.map((item, index) => (\n\t\t\t<p-table-row\n\t\t\t\tenableHover={this._enableRowSelection || this.enableRowClick}\n\t\t\t\tonClick={(ev) => this._rowClick(ev, index)}\n\t\t\t>\n\t\t\t\t{this._getRowColumns(item, index)}\n\t\t\t</p-table-row>\n\t\t));\n\t}\n\n\tprivate _getRowColumns(item, index) {\n\t\tconst columns = this._columns.map((col: TableColumn, colIndex) => {\n\t\t\treturn (\n\t\t\t\t<p-table-cell\n\t\t\t\t\tdefinition={col}\n\t\t\t\t\titem={item}\n\t\t\t\t\tcheckbox={\n\t\t\t\t\t\tcolIndex === 0 || col.hasCheckbox\n\t\t\t\t\t\t\t? this._getCheckbox(index)\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t\tindex={colIndex}\n\t\t\t\t\trowIndex={index}\n\t\t\t\t\ttableHasActions={\n\t\t\t\t\t\t!!this._rowActionsRow.length && !isMobile()\n\t\t\t\t\t}\n\t\t\t\t></p-table-cell>\n\t\t\t);\n\t\t});\n\n\t\tif (this._rowActionsRow?.length && !isMobile()) {\n\t\t\tconst lastDef = this._columns[this._columns.length - 1];\n\t\t\tcolumns.push(\n\t\t\t\t<p-table-cell\n\t\t\t\t\tvariant=\"actions\"\n\t\t\t\t\tdefinition={lastDef}\n\t\t\t\t\titem={item}\n\t\t\t\t\tindex={this._columns.length - 1}\n\t\t\t\t\trowIndex={index}\n\t\t\t\t\ttableHasActions={!!this._rowActionsRow.length}\n\t\t\t\t>\n\t\t\t\t\t<div slot=\"actions\" class=\"flex ml-auto gap-2 items-center\">\n\t\t\t\t\t\t{this._rowActionsRow.map((a) => (\n\t\t\t\t\t\t\t<p-tooltip content={a.label}>\n\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\tdata-is-action\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\t\t\t\t\ticon={a.icon}\n\t\t\t\t\t\t\t\t\ticonRotate={a.iconRotate}\n\t\t\t\t\t\t\t\t\ticonFlip={a.iconFlip}\n\t\t\t\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\ttypeof a.action === 'function' &&\n\t\t\t\t\t\t\t\t\t\ta.action?.(item, false)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t></p-button>\n\t\t\t\t\t\t\t</p-tooltip>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</p-table-cell>\n\t\t\t);\n\t\t}\n\n\t\treturn columns;\n\t}\n\n\tprivate _getLoadingColumns(index) {\n\t\treturn this._columns.map((col: TableColumn, colIndex) => {\n\t\t\treturn (\n\t\t\t\t<p-table-cell\n\t\t\t\t\tdefinition={col}\n\t\t\t\t\tvariant=\"loading\"\n\t\t\t\t\tcheckbox={\n\t\t\t\t\t\tcolIndex === 0 || col.hasCheckbox\n\t\t\t\t\t\t\t? this._getCheckbox(index, 'loading')\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t\tindex={colIndex}\n\t\t\t\t\trowIndex={index}\n\t\t\t\t></p-table-cell>\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate _getCheckbox(\n\t\trowIndex: number,\n\t\tvariant: 'header' | 'default' | 'loading' = 'default'\n\t) {\n\t\tif (\n\t\t\t!this._enableRowSelection ||\n\t\t\t(!this.selectionKey && !this._rowActionsFloating?.length)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (variant === 'loading') {\n\t\t\treturn <p-loader variant=\"ghost\" class=\"h-6 w-6 rounded\" />;\n\t\t}\n\n\t\tif (variant === 'header') {\n\t\t\treturn (\n\t\t\t\t<input\n\t\t\t\t\tclass={`p-input ${this._rowSelectionLimit !== undefined && 'opacity-0'}`}\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tonChange={(ev) => this._selectAllChange(ev)}\n\t\t\t\t\tchecked={this._selectionContainsAll()}\n\t\t\t\t\tindeterminate={this._selectionIndeterminate()}\n\t\t\t\t\tdisabled={this._rowSelectionLimit !== undefined}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tconst item = this._items[rowIndex];\n\n\t\tconst selectionContains = this._selectionContains(rowIndex);\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\tclass=\"p-input\"\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tonChange={(ev) => this._checkboxChange(ev?.target, rowIndex)}\n\t\t\t\tdisabled={\n\t\t\t\t\t(this.canSelectKey && !item[this.canSelectKey]) ||\n\t\t\t\t\t(this._rowSelectionLimit !== undefined &&\n\t\t\t\t\t\t!selectionContains &&\n\t\t\t\t\t\tthis.selectedRows.length === this._rowSelectionLimit)\n\t\t\t\t}\n\t\t\t\tchecked={selectionContains}\n\t\t\t/>\n\t\t);\n\t}\n\n\tprivate _getEmptyState() {\n\t\tif (this.query?.length || this.selectedFiltersAmount) {\n\t\t\treturn (\n\t\t\t\t<div class=\"flex max-w-[20rem] flex-col items-center self-center py-24 text-center\">\n\t\t\t\t\t<p-illustration variant=\"empty-state-search\" class=\"mb-6\" />\n\t\t\t\t\t<p class=\"text-storm-default font-semibold\">\n\t\t\t\t\t\t{this.emptyStateFilteredHeader()}\n\t\t\t\t\t</p>\n\t\t\t\t\t<p class=\"mb-14 text-sm text-storm-medium\">\n\t\t\t\t\t\t{this.emptyStateFilteredContent()}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={`flex max-w-[20rem] flex-col items-center self-center py-24 text-center ${\n\t\t\t\t\tthis.enableEmptyStateAction && 'cursor-pointer'\n\t\t\t\t}`}\n\t\t\t\tonClick={() =>\n\t\t\t\t\tthis.enableEmptyStateAction &&\n\t\t\t\t\tthis.emptyStateActionClick.emit(null)\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<p-illustration variant=\"empty-state-add\" class=\"mb-6\" />\n\t\t\t\t<p class=\"text-storm-default font-semibold\">\n\t\t\t\t\t{this.emptyStateHeader()}\n\t\t\t\t</p>\n\t\t\t\t<p class=\"mb-6 text-sm text-storm-medium\">\n\t\t\t\t\t{this.emptyStateContent()}\n\t\t\t\t</p>\n\t\t\t\t{this.enableEmptyStateAction && (\n\t\t\t\t\t<p-button variant=\"secondary\" icon=\"plus\" size=\"small\">\n\t\t\t\t\t\t{this.emptyStateAction()}\n\t\t\t\t\t</p-button>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _selectAllChange($event: any, forceValue?: boolean) {\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst value =\n\t\t\tforceValue === undefined\n\t\t\t\t? this._getCheckedValue($event.target)\n\t\t\t\t: forceValue;\n\t\tif (value) {\n\t\t\tconst toAdd = [];\n\t\t\tfor (let i = 0; i < this._items.length; i++) {\n\t\t\t\tconst row = this._items[i];\n\t\t\t\tif (this.canSelectKey && !row[this.canSelectKey]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (this._selectionContains(i)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\ttoAdd.push(row);\n\t\t\t\tthis.rowSelected.emit(row);\n\n\t\t\t\tif (\n\t\t\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\t\t\tthis.selectedRows.length + toAdd.length ===\n\t\t\t\t\t\tthis._rowSelectionLimit\n\t\t\t\t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.selectedRows = [...this.selectedRows, ...toAdd];\n\t\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t\t\tif (this.enableFloatingMenu && !this._floatingMenuShown) {\n\t\t\t\tthis._floatingMenuShown = true;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tfor (let i = 0; i < this.selectedRows.length; i++) {\n\t\t\tconst value = this.selectedRows[i];\n\t\t\tconst row = this._items.find(\n\t\t\t\t(d) =>\n\t\t\t\t\tthis._getSelectionValue(d, i) ===\n\t\t\t\t\tthis._getSelectionValue(value, i)\n\t\t\t);\n\n\t\t\tif (!row) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tthis.rowDeselected.emit(row);\n\t\t}\n\n\t\tthis.selectedRows = [];\n\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t}\n\n\tprivate _checkboxChange(target: any, index: number) {\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = this._getCheckedValue(target);\n\t\tif (\n\t\t\tvalue &&\n\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\tthis.selectedRows.length >= this._rowSelectionLimit\n\t\t) {\n\t\t\ttarget.checked = false;\n\t\t\treturn;\n\t\t}\n\n\t\tconst row = this._items[index];\n\n\t\tif (this.canSelectKey && !row[this.canSelectKey]) {\n\t\t\ttarget.checked = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (value) {\n\t\t\tthis.selectedRows = [\n\t\t\t\t...this.selectedRows,\n\t\t\t\t{\n\t\t\t\t\t...row,\n\t\t\t\t\tindex,\n\t\t\t\t},\n\t\t\t];\n\t\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t\t\tthis.rowSelected.emit(row);\n\n\t\t\tif (this.enableFloatingMenu && !this._floatingMenuShown) {\n\t\t\t\tthis._floatingMenuShown = true;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst indexOfToRemove = this._selectionContains(index, true);\n\n\t\t// we need to do this, because splice does not trigger the selection setter.\n\t\tconst selection = [...this.selectedRows];\n\t\tselection.splice(indexOfToRemove, 1);\n\t\tthis.selectedRows = selection;\n\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t\tthis.rowDeselected.emit(row);\n\t}\n\n\tprivate _getCheckedValue(target: any) {\n\t\treturn target?.checked;\n\t}\n\n\tprivate _getSelectionValue(row: any, index: number) {\n\t\treturn this.selectionKey ? row?.[this.selectionKey] || index : index;\n\t}\n\n\tprivate _selectionContains(index, returnIndex = false): any {\n\t\tconst returnValue = this.selectedRows.findIndex(\n\t\t\t(item) => item.index === index\n\t\t);\n\t\treturn !returnIndex ? returnValue >= 0 : returnValue;\n\t}\n\n\tprivate _selectionContainsAll() {\n\t\tlet returnValue = true;\n\t\tif (!this._items?.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (\n\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\tthis.selectedRows.length === this._rowSelectionLimit\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\n\t\tfor (let i = 0; i < this._items?.length; i++) {\n\t\t\tconst contains = this._selectionContains(i);\n\n\t\t\tif (!contains) {\n\t\t\t\treturnValue = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnValue;\n\t}\n\n\tprivate _selectionIndeterminate() {\n\t\tif (!this._items?.length || !this.selectedRows?.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (\n\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\tthis.selectedRows.length === this._rowSelectionLimit\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet containsCount = 0;\n\t\tfor (let i = 0; i < this._items?.length; i++) {\n\t\t\tconst contains = this._selectionContains(i);\n\n\t\t\tif (contains) {\n\t\t\t\tcontainsCount++;\n\t\t\t}\n\t\t}\n\n\t\treturn containsCount > 0 && containsCount !== this._items.length;\n\t}\n\n\tprivate _rowClick($event, index) {\n\t\tconst target = $event.target;\n\n\t\tif (\n\t\t\ttarget.tagName.toLowerCase() === 'input' ||\n\t\t\ttarget.type === 'checkbox'\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst row = this._findRow($event.target);\n\t\tconst action = this._findRowAction($event.target);\n\n\t\tif (action) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.enableRowClick) {\n\t\t\tconst item = this._items[index];\n\t\t\tthis.rowClick.emit({\n\t\t\t\titem,\n\t\t\t\tctrlDown: this._ctrlDown,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst checkbox = row?.querySelector('input[type=\"checkbox\"]');\n\n\t\tif (!checkbox) {\n\t\t\treturn;\n\t\t}\n\n\t\tcheckbox.checked = !checkbox.checked;\n\t\tthis._checkboxChange(checkbox, index);\n\t}\n\n\tprivate _findRow(el: HTMLElement) {\n\t\tif (!el) {\n\t\t\treturn el;\n\t\t}\n\n\t\tif (el?.tagName?.toLowerCase() === 'p-table-row') {\n\t\t\treturn el;\n\t\t}\n\n\t\treturn this._findRow(el?.parentElement);\n\t}\n\n\tprivate _findRowAction(el: HTMLElement) {\n\t\tif (!el) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (\n\t\t\tel.getAttribute('data-is-action') !== null &&\n\t\t\tel.getAttribute('data-is-action') !== 'false'\n\t\t) {\n\t\t\treturn el;\n\t\t}\n\n\t\tif (el?.tagName?.toLowerCase() === 'p-table-row') {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this._findRowAction(el?.parentElement);\n\t}\n}\n"],"mappings":"0LAAA,MAAMA,EAAoB,40G,MCkCbC,EAAK,M,ojBAoVTC,KAAAC,UAAY,MACZD,KAAAE,qBAAuB,MACvBF,KAAAG,mBAAqB,M,kCA7UF,M,mBAKM,M,mBAKA,M,yBAKK,E,wBAKA,K,qDAUJ,K,kBAKJ,G,wBAKQ,K,wCAMrCC,I,UAEA,OAAAC,GACCC,EAACF,IAAW,GACTG,EAAAP,KAAKQ,SAASC,iBAAa,MAAAF,SAAA,SAAAA,EAAEG,iBAC7BC,EAAAX,KAAKQ,SAASC,iBAAa,MAAAE,SAAA,SAAAA,EAAEC,0BAC/B,MAAAN,SAAA,SAAAA,EAAEO,QAAQ,aAAcT,GACzB,E,0EAyD8B,K,kBAKM,G,6DAUN,K,uCAUA,K,2FAeA,M,yBAKO,M,yBAKA,M,sBAKC,S,sFAiDR,K,oBAKE,K,sBAKE,K,kBAKJ,K,UAKuB,E,mCAkB5BU,E,qBAKSC,E,sBAqBA,K,sBAGK,SAAAR,EACxC,OAAAF,GAAkBE,EAAAP,KAAKQ,SAASQ,eAAW,MAAAT,SAAA,SAAAA,EAAEU,UAAUC,OAAO,E,uBACrB,SAAAX,EACzC,OAAAF,GAAkBE,EAAAP,KAAKQ,SAASQ,eAAW,MAAAT,SAAA,SAAAA,EAAEU,UAAUE,QAAQ,E,sBACvB,SAAAZ,EACxC,OAAAF,GAAkBE,EAAAP,KAAKQ,SAASQ,eAAW,MAAAT,SAAA,SAAAA,EAAEU,UAAUG,OAAO,E,4BAIrB,K,8BAEO,IAChDf,EAAkBL,KAAKQ,SAASQ,YAAYK,SAASH,Q,+BACJ,IACjDb,EAAkBL,KAAKQ,SAASQ,YAAYK,SAASF,S,YAa5B,K,cAYO,G,cAEE,G,YACF,G,yBAEenB,KAAKsB,mB,2DAGI,G,oBACL,E,CAOpD,iBAAAC,GACCvB,KAAKE,uBAAyBF,KAAKwB,IAAIC,cACtC,mCAGDzB,KAAK0B,uBAEL1B,KAAK2B,cACL3B,KAAK4B,YAAY5B,KAAK6B,OACtB7B,KAAK8B,kB,CAGN,kBAAAC,GACC/B,KAAKgC,YAAYC,M,CAGlB,MAAAC,G,kBACC,OACCC,EAACC,EAAI,CAACC,MAAM,WACXF,EAAA,qBAAmBG,OAAQtC,KAAKsC,QAC9BtC,KAAKuC,cACLJ,EAAA,kBAECK,aAAcxC,KAAKwC,aACnBC,4BACCzC,KAAKyC,4BAENC,cAAe,EAAGC,YACjB3C,KAAK4C,YAAYX,KAAKU,GAGvBE,aAAc7C,KAAK6C,aACnBC,MAAO9C,KAAK8C,MACZC,cAAe,EAAGJ,YACjB3C,KAAKgD,YAAYf,KAAKU,GAGvBM,aAAcjD,KAAKiD,aACnBC,sBAAuBlD,KAAKkD,sBAC5BC,qBAAsBnD,KAAKmD,qBAC3BC,SAAU,IAAMpD,KAAKqD,OAAOpB,OAE5BqB,aAActD,KAAKsD,aACnBC,WAAYvD,KAAKwD,iBACjBC,WAAYzD,KAAK0D,iBACjBC,cAAe3D,KAAK4D,oBACpBC,aAAc7D,KAAK8D,oBACnBC,qBAAsB/D,KAAK+D,qBAC3BC,SAAU,IAAMhE,KAAKoB,OAAOa,OAC5BgC,qBAAqB1D,EAAAP,KAAKkE,gBAAY,MAAA3D,SAAA,SAAAA,EAAE4D,OAExCC,QAASpE,KAAKqE,eAEbrE,KAAKE,sBACLiC,EAAA,QACCmC,KAAK,gBACLC,KAAK,mBAMRvE,KAAKwE,aACNrC,EAAA,OAAKE,MAAM,wBAAwBrC,KAAKyE,YAEvCzE,KAAK0E,cACLvC,EAAA,kBAECwC,iBAAkB3E,KAAK2E,iBAEvBC,eAAgB5E,KAAK4E,eACrBC,SAAU7E,KAAK6E,SACfC,gBAAiB9E,KAAK8E,gBACtBC,iBAAkB,EAAGpC,YACpB3C,KAAKgF,eAAe/C,KAAKU,GAG1BsC,iBAAkBjF,KAAKiF,iBACvBC,KAAMlF,KAAKkF,KACXC,MAAOnF,KAAKmF,MACZC,aAAc,EAAGzC,YAChB3C,KAAKqF,WAAWpD,KAAKU,GAGtB2C,aAActF,KAAKsF,aACnBC,SAAU,IAAMvF,KAAKwF,OAAOvD,OAE5BmC,QAASpE,KAAKyF,gBAIfzF,KAAK0F,oBAAsB1F,KAAK2F,oBAChCxD,EAAA,6BACCyD,YAAa,KACbvD,MAAO,KACN1B,EAAAX,KAAKkE,gBAAY,MAAAvD,SAAA,SAAAA,EAAEwD,QAAS,GAAK,cAC9BnE,KAAKG,mBAAqB,QAAU,MAExCgC,EAAA,wBACC0D,MAAO,MACPtB,KAAK,qBACLlC,QACC/B,EAAAN,KAAK8F,uBAAmB,MAAAxF,SAAA,SAAAA,EAAE6D,QACvB,cACA,IAGHnE,KAAK+F,oCACLC,EAAAhG,KAAKkE,gBAAY,MAAA8B,SAAA,SAAAA,EAAE7B,SAGrBhC,EAAA,aACCE,MAAO,qBACN4D,EAAAjG,KAAK8F,uBAAmB,MAAAG,SAAA,SAAAA,EAAE9B,QACvB,cACA,KAEJ+B,QAAQ,WACR3B,KAAK,yBAEL4B,EAAAnG,KAAK8F,uBAAmB,MAAAK,SAAA,SAAAA,EAAEhC,SAC1BnE,KAAK8F,oBAAoBM,KAAKC,GAC7BlE,EAAA,wBACCoC,KAAK,qBACL+B,SAAUD,EAAEC,SACZC,QAAS,KACPF,EAAEC,WACFD,EAAEjC,WACDiC,EAAEjF,QACJiF,EAAEG,OAAS,SACRH,EAAEjF,OACFpB,KAAKkE,aAAa,GAClB,OAEAmC,EAAEjF,OACFpB,KAAKkE,aACL,OAIHmC,EAAEI,MAAO,IACTJ,EAAEjC,QACFjC,EAAA,iBAEAA,EAAA,UACC+D,QAASG,EAAEK,KACXC,OAAQN,EAAEO,WACVC,KAAMR,EAAES,gBAKZC,EAAA/G,KAAK8F,uBAAmB,MAAAiB,SAAA,SAAAA,EAAE5C,SAC1BhC,EAAA,aACCE,MAAM,kBACN6D,QAAQ,WACR3B,KAAK,uBAGPpC,EAAA,wBACCoC,KAAK,qBACLgC,QAAS,IACRvG,KAAKgH,iBAAiB,KAAM,QAG7B7E,EAAA,UAAQ+D,QAAQ,eAEU,I,CAUzB,iBAAMvE,GACb3B,KAAKQ,eAAiByG,EAA0BjH,KAAKwB,I,CAItD,wBAAA0F,GACClH,KAAK8B,kB,CAIN,OAAAqF,EAAQC,IAAEA,IACT,GAAIA,IAAQ,WAAapH,KAAKC,YAAc,KAAM,CACjD,M,CAGDD,KAAKC,UAAY,I,CAIlB,KAAAoH,EAAMD,IAAEA,IACP,GAAIA,IAAQ,WAAapH,KAAKC,YAAc,MAAO,CAClD,M,CAGDD,KAAKC,UAAY,K,CAIlB,gBAAAqH,GACC,GAAIC,SAASC,kBAAoB,UAAYxH,KAAKC,YAAc,MAAO,CACtE,M,CAGDD,KAAKC,UAAY,K,CAIV,WAAA2B,CAAYC,GACnB,IAAKA,EAAO,CACX7B,KAAKyH,OAAS,GACd,M,CAGD,GAAIC,MAAMC,QAAQ9F,GAAQ,CACzB7B,KAAKyH,OAAS5F,EACd,M,CAGD7B,KAAKyH,OAASG,KAAKC,MAAMhG,E,CAOlB,oBAAAH,GACP,GAAI1B,KAAK8H,eAAgB,CACxBC,aAAa/H,KAAK8H,e,CAKnB9H,KAAK8H,eAAiBE,YAAW,K,QAChC,MAAMC,EAASC,IAGf,MAAMC,EAAUT,MAAMU,KACrBpI,KAAKwB,IAAI6G,iBAAiB,gCAE3BrI,KAAKsI,eAAiBH,EAAQ9E,QAC5BgD,GAAMA,EAAEG,OAAS,QAAUH,EAAEG,OAAS,WAExCxG,KAAK8F,oBAAsBqC,EACzB9E,QACCgD,GAAMA,EAAEG,OAAS,QAAUH,EAAEG,OAAS,SAAWyB,IAElD7B,KAAKC,I,MACL,GAAIA,EAAEG,OAAS,SAAU,CACxBH,EAAEC,WAAW/F,EAAAP,KAAKkE,gBAAY,MAAA3D,SAAA,SAAAA,EAAE4D,QAAS,C,CAG1C,OAAOkC,CAAC,IAGV,IAAIkC,EAAoBvI,KAAKuI,kBAC7B,GACCN,KACA1H,EAAAP,KAAK8F,uBAAmB,MAAAvF,SAAA,SAAAA,EAAE4D,UACxBoE,IAAsBC,WAAaxI,KAAKsB,qBACxCtB,KAAKsB,oBACN,CACDiH,EAAoB,C,CAGrBvI,KAAKyI,mBAAqBF,EAE1B,IAAIjH,EAAqBtB,KAAKsB,mBAC9B,GACC2G,KACAtH,EAAAX,KAAK8F,uBAAmB,MAAAnF,SAAA,SAAAA,EAAEwD,UACzB7C,EACA,CACDA,EAAqB,I,CAGtBtB,KAAK2F,oBAAsBrE,CAAkB,GAC3C,I,CAGI,gBAAAQ,GACP,MAAM4G,EAAc1I,KAAKwB,IAAI6G,iBAAiB,kBAC9C,MAAMM,EAAmBjB,MAAMU,KAAKM,GAEpCC,EAAiBA,EAAiBxE,OAAS,GAAG,UAAY,KAE1DnE,KAAK4I,SAAWD,C,CAGT,UAAAnE,GACP,OACCrC,EAAA,eAAa+D,QAAQ,UACnBlG,KAAK4I,SAASxC,KAAI,CAACyC,EAAkBC,IACrC3G,EAAA,gBACC4G,WAAYF,EACZG,MAAOH,EAAIvE,KACX4B,QAAQ,SACR+C,SACCH,IAAU,GAAKD,EAAIK,YAChBlJ,KAAKmJ,aACL,KACAnJ,KAAKoE,QAAU,UAAY,UAE3B,KAEJ0E,MAAOA,M,CAOJ,QAAArE,GACP,GAAIzE,KAAKoE,QAAS,CACjB,OAAOsD,MAAMU,KACZ,CACCjE,OAAQnE,KAAKoJ,sBAEd,CAACC,EAAGC,IACHnH,EAAA,eACCoH,YACCvJ,KAAK2F,qBAAuB3F,KAAKwJ,gBAGjCxJ,KAAKyJ,mBAAmBH,K,CAM7B,IAAKtJ,KAAKyH,OAAOtD,OAAQ,CACxB,OAAOnE,KAAK0J,gB,CAGb,OAAO1J,KAAKyH,OAAOrB,KAAI,CAACuD,EAAMb,IAC7B3G,EAAA,eACCoH,YAAavJ,KAAK2F,qBAAuB3F,KAAKwJ,eAC9CjD,QAAUqD,GAAO5J,KAAK6J,UAAUD,EAAId,IAEnC9I,KAAK8J,eAAeH,EAAMb,K,CAKtB,cAAAgB,CAAeH,EAAMb,G,MAC5B,MAAMiB,EAAU/J,KAAK4I,SAASxC,KAAI,CAACyC,EAAkBmB,IAEnD7H,EAAA,gBACC4G,WAAYF,EACZc,KAAMA,EACNV,SACCe,IAAa,GAAKnB,EAAIK,YACnBlJ,KAAKmJ,aAAaL,GAClB,KAEJA,MAAOkB,EACPC,SAAUnB,EACVoB,kBACGlK,KAAKsI,eAAenE,SAAW+D,QAMrC,KAAI3H,EAAAP,KAAKsI,kBAAc,MAAA/H,SAAA,SAAAA,EAAE4D,UAAW+D,IAAY,CAC/C,MAAMiC,EAAUnK,KAAK4I,SAAS5I,KAAK4I,SAASzE,OAAS,GACrD4F,EAAQK,KACPjI,EAAA,gBACC+D,QAAQ,UACR6C,WAAYoB,EACZR,KAAMA,EACNb,MAAO9I,KAAK4I,SAASzE,OAAS,EAC9B8F,SAAUnB,EACVoB,kBAAmBlK,KAAKsI,eAAenE,QAEvChC,EAAA,OAAKoC,KAAK,UAAUlC,MAAM,mCACxBrC,KAAKsI,eAAelC,KAAKC,GACzBlE,EAAA,aAAWhB,QAASkF,EAAEI,OACrBtE,EAAA,kCAEC+D,QAAQ,YACR3B,KAAK,UACLmC,KAAML,EAAEK,KACRE,WAAYP,EAAEO,WACdE,SAAUT,EAAES,SACZuD,SAAU,KACVC,KAAK,QACL/D,QAAS,K,MACR,cAAOF,EAAEjF,SAAW,cACpBb,EAAA8F,EAAEjF,UAAM,MAAAb,SAAA,SAAAA,EAAAgK,KAAAlE,EAAGsD,EAAM,OAAM,S,CAU/B,OAAOI,C,CAGA,kBAAAN,CAAmBX,GAC1B,OAAO9I,KAAK4I,SAASxC,KAAI,CAACyC,EAAkBmB,IAE1C7H,EAAA,gBACC4G,WAAYF,EACZ3C,QAAQ,UACR+C,SACCe,IAAa,GAAKnB,EAAIK,YACnBlJ,KAAKmJ,aAAaL,EAAO,WACzB,KAEJA,MAAOkB,EACPC,SAAUnB,K,CAMN,YAAAK,CACPc,EACA/D,EAA4C,W,MAE5C,IACElG,KAAK2F,sBACJ3F,KAAKwK,iBAAiBjK,EAAAP,KAAK8F,uBAAmB,MAAAvF,SAAA,SAAAA,EAAE4D,QACjD,CACD,M,CAGD,GAAI+B,IAAY,UAAW,CAC1B,OAAO/D,EAAA,YAAU+D,QAAQ,QAAQ7D,MAAM,mB,CAGxC,GAAI6D,IAAY,SAAU,CACzB,OACC/D,EAAA,SACCE,MAAO,WAAWrC,KAAKyI,qBAAuBD,WAAa,cAC3DhC,KAAK,WACLiE,SAAWb,GAAO5J,KAAKgH,iBAAiB4C,GACxCc,QAAS1K,KAAK2K,wBACdC,cAAe5K,KAAK6K,0BACpBvE,SAAUtG,KAAKyI,qBAAuBD,W,CAKzC,MAAMmB,EAAO3J,KAAKyH,OAAOwC,GAEzB,MAAMa,EAAoB9K,KAAK+K,mBAAmBd,GAElD,OACC9H,EAAA,SACCE,MAAM,UACNmE,KAAK,WACLiE,SAAWb,GAAO5J,KAAKgL,gBAAgBpB,IAAE,MAAFA,SAAE,SAAFA,EAAIqB,OAAQhB,GACnD3D,SACEtG,KAAKkL,eAAiBvB,EAAK3J,KAAKkL,eAChClL,KAAKyI,qBAAuBD,YAC3BsC,GACD9K,KAAKkE,aAAaC,SAAWnE,KAAKyI,mBAEpCiC,QAASI,G,CAKJ,cAAApB,G,MACP,KAAInJ,EAAAP,KAAK8C,SAAK,MAAAvC,SAAA,SAAAA,EAAE4D,SAAUnE,KAAKkD,sBAAuB,CACrD,OACCf,EAAA,OAAKE,MAAM,0EACVF,EAAA,kBAAgB+D,QAAQ,qBAAqB7D,MAAM,SACnDF,EAAA,KAAGE,MAAM,oCACPrC,KAAKmL,4BAEPhJ,EAAA,KAAGE,MAAM,mCACPrC,KAAKoL,6B,CAMV,OACCjJ,EAAA,OACCE,MAAO,0EACNrC,KAAKqL,wBAA0B,mBAEhC9E,QAAS,IACRvG,KAAKqL,wBACLrL,KAAKsL,sBAAsBrJ,KAAK,OAGjCE,EAAA,kBAAgB+D,QAAQ,kBAAkB7D,MAAM,SAChDF,EAAA,KAAGE,MAAM,oCACPrC,KAAKuL,oBAEPpJ,EAAA,KAAGE,MAAM,kCACPrC,KAAKwL,qBAENxL,KAAKqL,wBACLlJ,EAAA,YAAU+D,QAAQ,YAAYQ,KAAK,OAAO4D,KAAK,SAC7CtK,KAAKyL,oB,CAOH,gBAAAzE,CAAiB0E,EAAaC,GACrC,IAAK3L,KAAK2F,oBAAqB,CAC9B,M,CAGD,MAAMqD,EACL2C,IAAenD,UACZxI,KAAK4L,iBAAiBF,EAAOT,QAC7BU,EACJ,GAAI3C,EAAO,CACV,MAAM6C,EAAQ,GACd,IAAK,IAAIvC,EAAI,EAAGA,EAAItJ,KAAKyH,OAAOtD,OAAQmF,IAAK,CAC5C,MAAMwC,EAAM9L,KAAKyH,OAAO6B,GACxB,GAAItJ,KAAKkL,eAAiBY,EAAI9L,KAAKkL,cAAe,CACjD,Q,CAGD,GAAIlL,KAAK+K,mBAAmBzB,GAAI,CAC/B,Q,CAGDuC,EAAMzB,KAAK0B,GACX9L,KAAK+L,YAAY9J,KAAK6J,GAEtB,GACC9L,KAAKyI,qBAAuBD,WAC5BxI,KAAKkE,aAAaC,OAAS0H,EAAM1H,SAChCnE,KAAKyI,mBACL,CACD,K,EAIFzI,KAAKkE,aAAe,IAAIlE,KAAKkE,gBAAiB2H,GAC9C7L,KAAKgM,mBAAmB/J,KAAKjC,KAAKkE,cAClC,GAAIlE,KAAK0F,qBAAuB1F,KAAKG,mBAAoB,CACxDH,KAAKG,mBAAqB,I,CAG3B,M,CAGD,IAAK,IAAImJ,EAAI,EAAGA,EAAItJ,KAAKkE,aAAaC,OAAQmF,IAAK,CAClD,MAAMN,EAAQhJ,KAAKkE,aAAaoF,GAChC,MAAMwC,EAAM9L,KAAKyH,OAAOwE,MACtBC,GACAlM,KAAKmM,mBAAmBD,EAAG5C,KAC3BtJ,KAAKmM,mBAAmBnD,EAAOM,KAGjC,IAAKwC,EAAK,CACT,Q,CAGD9L,KAAKoM,cAAcnK,KAAK6J,E,CAGzB9L,KAAKkE,aAAe,GACpBlE,KAAKgM,mBAAmB/J,KAAKjC,KAAKkE,a,CAG3B,eAAA8G,CAAgBC,EAAanC,GACpC,IAAK9I,KAAK2F,oBAAqB,CAC9B,M,CAGD,MAAMqD,EAAQhJ,KAAK4L,iBAAiBX,GACpC,GACCjC,GACAhJ,KAAKyI,qBAAuBD,WAC5BxI,KAAKkE,aAAaC,QAAUnE,KAAKyI,mBAChC,CACDwC,EAAOP,QAAU,MACjB,M,CAGD,MAAMoB,EAAM9L,KAAKyH,OAAOqB,GAExB,GAAI9I,KAAKkL,eAAiBY,EAAI9L,KAAKkL,cAAe,CACjDD,EAAOP,QAAU,MACjB,M,CAGD,GAAI1B,EAAO,CACVhJ,KAAKkE,aAAe,IAChBlE,KAAKkE,a,+BAEJ4H,GAAG,CACNhD,WAGF9I,KAAKgM,mBAAmB/J,KAAKjC,KAAKkE,cAClClE,KAAK+L,YAAY9J,KAAK6J,GAEtB,GAAI9L,KAAK0F,qBAAuB1F,KAAKG,mBAAoB,CACxDH,KAAKG,mBAAqB,I,CAG3B,M,CAGD,MAAMkM,EAAkBrM,KAAK+K,mBAAmBjC,EAAO,MAGvD,MAAMwD,EAAY,IAAItM,KAAKkE,cAC3BoI,EAAUC,OAAOF,EAAiB,GAClCrM,KAAKkE,aAAeoI,EACpBtM,KAAKgM,mBAAmB/J,KAAKjC,KAAKkE,cAClClE,KAAKoM,cAAcnK,KAAK6J,E,CAGjB,gBAAAF,CAAiBX,GACxB,OAAOA,IAAM,MAANA,SAAM,SAANA,EAAQP,O,CAGR,kBAAAyB,CAAmBL,EAAUhD,GACpC,OAAO9I,KAAKwK,cAAesB,IAAG,MAAHA,SAAG,SAAHA,EAAM9L,KAAKwK,gBAAiB1B,EAAQA,C,CAGxD,kBAAAiC,CAAmBjC,EAAO0D,EAAc,OAC/C,MAAMC,EAAczM,KAAKkE,aAAawI,WACpC/C,GAASA,EAAKb,QAAUA,IAE1B,OAAQ0D,EAAcC,GAAe,EAAIA,C,CAGlC,qBAAA9B,G,QACP,IAAI8B,EAAc,KAClB,MAAKlM,EAAAP,KAAKyH,UAAM,MAAAlH,SAAA,SAAAA,EAAE4D,QAAQ,CACzB,OAAO,K,CAGR,GACCnE,KAAKyI,qBAAuBD,WAC5BxI,KAAKkE,aAAaC,SAAWnE,KAAKyI,mBACjC,CACD,OAAO,I,CAGR,IAAK,IAAIa,EAAI,EAAGA,IAAI3I,EAAAX,KAAKyH,UAAM,MAAA9G,SAAA,SAAAA,EAAEwD,QAAQmF,IAAK,CAC7C,MAAMqD,EAAW3M,KAAK+K,mBAAmBzB,GAEzC,IAAKqD,EAAU,CACdF,EAAc,MACd,K,EAIF,OAAOA,C,CAGA,uBAAA5B,G,UACP,MAAKtK,EAAAP,KAAKyH,UAAM,MAAAlH,SAAA,SAAAA,EAAE4D,YAAWxD,EAAAX,KAAKkE,gBAAY,MAAAvD,SAAA,SAAAA,EAAEwD,QAAQ,CACvD,OAAO,K,CAGR,GACCnE,KAAKyI,qBAAuBD,WAC5BxI,KAAKkE,aAAaC,SAAWnE,KAAKyI,mBACjC,CACD,OAAO,K,CAGR,IAAImE,EAAgB,EACpB,IAAK,IAAItD,EAAI,EAAGA,IAAIhJ,EAAAN,KAAKyH,UAAM,MAAAnH,SAAA,SAAAA,EAAE6D,QAAQmF,IAAK,CAC7C,MAAMqD,EAAW3M,KAAK+K,mBAAmBzB,GAEzC,GAAIqD,EAAU,CACbC,G,EAIF,OAAOA,EAAgB,GAAKA,IAAkB5M,KAAKyH,OAAOtD,M,CAGnD,SAAA0F,CAAU6B,EAAQ5C,GACzB,MAAMmC,EAASS,EAAOT,OAEtB,GACCA,EAAO4B,QAAQC,gBAAkB,SACjC7B,EAAOzE,OAAS,WACf,CACD,M,CAGD,MAAMsF,EAAM9L,KAAK+M,SAASrB,EAAOT,QACjC,MAAM7J,EAASpB,KAAKgN,eAAetB,EAAOT,QAE1C,GAAI7J,EAAQ,CACX,M,CAGD,GAAIpB,KAAKwJ,eAAgB,CACxB,MAAMG,EAAO3J,KAAKyH,OAAOqB,GACzB9I,KAAKiN,SAAShL,KAAK,CAClB0H,OACAuD,SAAUlN,KAAKC,YAEhB,M,CAGD,IAAKD,KAAK2F,oBAAqB,CAC9B,M,CAGD,MAAMsD,EAAW6C,IAAG,MAAHA,SAAG,SAAHA,EAAKrK,cAAc,0BAEpC,IAAKwH,EAAU,CACd,M,CAGDA,EAASyB,SAAWzB,EAASyB,QAC7B1K,KAAKgL,gBAAgB/B,EAAUH,E,CAGxB,QAAAiE,CAASI,G,MAChB,IAAKA,EAAI,CACR,OAAOA,C,CAGR,KAAI5M,EAAA4M,IAAE,MAAFA,SAAE,SAAFA,EAAIN,WAAO,MAAAtM,SAAA,SAAAA,EAAEuM,iBAAkB,cAAe,CACjD,OAAOK,C,CAGR,OAAOnN,KAAK+M,SAASI,IAAE,MAAFA,SAAE,SAAFA,EAAIC,c,CAGlB,cAAAJ,CAAeG,G,MACtB,IAAKA,EAAI,CACR,OAAO,I,CAGR,GACCA,EAAGE,aAAa,oBAAsB,MACtCF,EAAGE,aAAa,oBAAsB,QACrC,CACD,OAAOF,C,CAGR,KAAI5M,EAAA4M,IAAE,MAAFA,SAAE,SAAFA,EAAIN,WAAO,MAAAtM,SAAA,SAAAA,EAAEuM,iBAAkB,cAAe,CACjD,OAAO,I,CAGR,OAAO9M,KAAKgN,eAAeG,IAAE,MAAFA,SAAE,SAAFA,EAAIC,c"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,H as s,g as n}from"./p-e4d5e7a7.js";import{f as a,g as o}from"./p-33fa21e3.js";import{f as r}from"./p-15f63841.js";import{d as l,a as h}from"./p-da7b6f2c.js";const d=".fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.bottom-4{bottom:1rem!important}.left-1\\/2{left:50%!important}.flex{display:flex!important}.hidden{display:none!important}.flex-shrink{flex-shrink:1!important}.-translate-x-1\\/2{--tw-translate-x:-50%!important}.-translate-x-1\\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}*{box-sizing:border-box}p-table{display:flex;flex-direction:column;position:relative}p-table .p-input[type=checkbox]{flex-shrink:0}p-table p-table-container{position:relative}p-table p-table-container p-floating-menu-container{--tw-translate-x:-50%;animation:floatingMenuContainerIn .3s ease forwards!important;bottom:1rem;left:50%;position:fixed;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width:40rem){p-table p-table-container p-floating-menu-container{bottom:4rem;position:absolute}}p-table p-table-container p-floating-menu-container:not(.shown){display:none}p-table p-table-container p-floating-menu-container.inactive{animation:floatingMenuContainerOut .3s ease forwards!important}p-table p-table-container p-floating-menu-container .hide-mobile{display:none}@media (min-width:40rem){p-table p-table-container p-floating-menu-container .hide-mobile{display:block}}@keyframes floatingMenuContainerOut{0%{display:flex;opacity:1;transform:translateY(0) translateX(-50%)}99%{display:flex;opacity:0;transform:translateY(100%) translateX(-50%)}to{display:none;opacity:0;transform:translateY(100%) translateX(-50%)}}@keyframes floatingMenuContainerIn{0%{display:none;opacity:0;transform:translateY(100%) translateX(-50%)}1%{display:flex;opacity:0;transform:translateY(100%) translateX(-50%)}to{display:flex;opacity:1;transform:translateY(0) translateX(-50%)}}@media (min-width:40rem){.tablet\\:block{display:block!important}}.static{position:static!important}.mx-0{margin-left:0!important;margin-right:0!important}.mb-14{margin-bottom:3.5rem!important}.mb-6{margin-bottom:1.5rem!important}.ml-auto{margin-left:auto!important}.table{display:table!important}.h-6{height:1.5rem!important}.w-6{width:1.5rem!important}.max-w-\\[20rem\\]{max-width:20rem!important}.flex-1{flex:1 1 0%!important}.cursor-pointer{cursor:pointer!important}.resize{resize:both!important}.flex-col{flex-direction:column!important}.items-center{align-items:center!important}.gap-2{gap:.5rem!important}.self-center{align-self:center!important}.rounded{border-radius:.25rem!important}.py-24{padding-bottom:6rem!important;padding-top:6rem!important}.text-center{text-align:center!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.font-semibold{font-weight:600!important}.text-storm{--tw-text-opacity:1!important;color:rgb(81 83 107/var(--tw-text-opacity))!important}.text-storm-medium{--tw-text-opacity:1!important;color:rgb(128 130 158/var(--tw-text-opacity))!important}.opacity-0{opacity:0!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}";const c=class{constructor(e){t(this,e);this.selectedRowsChange=i(this,"selectedRowsChange",3);this.rowClick=i(this,"rowClick",3);this.rowSelected=i(this,"rowSelected",3);this.rowDeselected=i(this,"rowDeselected",3);this.hasRendered=i(this,"hasRendered",3);this.quickFilter=i(this,"quickFilter",3);this.queryChange=i(this,"queryChange",3);this.filter=i(this,"filter",3);this.action=i(this,"action",3);this.pageChange=i(this,"pageChange",3);this.pageSizeChange=i(this,"pageSizeChange",3);this.export=i(this,"export",3);this.emptyStateActionClick=i(this,"emptyStateActionClick",3);this._ctrlDown=false;this._hasCustomFilterSlot=false;this._floatingMenuShown=false;this.items=undefined;this.loading=false;this.headerLoading=false;this.footerLoading=false;this.amountOfLoadingRows=6;this.enableRowSelection=true;this.rowSelectionLimit=undefined;this.enableRowClick=true;this.selectedRows=[];this.enableFloatingMenu=true;this.floatingMenuAmountSelectedTemplate=t=>{var i,e,s;return a((s=t===1?(i=this._locales.floating_menu)===null||i===void 0?void 0:i.amount_selected:(e=this._locales.floating_menu)===null||e===void 0?void 0:e.amount_selected_plural)===null||s===void 0?void 0:s.replace("{{amount}}",t))};this.selectionKey=undefined;this.canSelectKey=undefined;this.enableHeader=true;this.quickFilters=[];this.activeQuickFilterIdentifier=undefined;this.enableSearch=true;this.query=undefined;this.enableFilter=true;this.selectedFiltersAmount=undefined;this.filterButtonTemplate=undefined;this.enableAction=false;this.actionButtonLoading=false;this.actionButtonEnabled=false;this.actionButtonIcon="pencil";this.actionButtonText=undefined;this.actionButtonTemplate=undefined;this.enableFooter=true;this.enablePageSize=true;this.enablePagination=true;this.enableExport=true;this.page=1;this.total=undefined;this.pageSize=l;this.pageSizeOptions=h;this.hideOnSinglePage=true;this.emptyStateHeader=()=>{var t;return a((t=this._locales.empty_state)===null||t===void 0?void 0:t.no_filter.header)};this.emptyStateContent=()=>{var t;return a((t=this._locales.empty_state)===null||t===void 0?void 0:t.no_filter.content)};this.emptyStateAction=()=>{var t;return a((t=this._locales.empty_state)===null||t===void 0?void 0:t.no_filter.action)};this.enableEmptyStateAction=true;this.emptyStateFilteredHeader=()=>a(this._locales.empty_state.filtered.header);this.emptyStateFilteredContent=()=>a(this._locales.empty_state.filtered.content);this.shadow=true;this._locales={};this._columns=[];this._items=[];this._enableRowSelection=this.enableRowSelection;this._rowSelectionLimit=undefined;this._rowActionsFloating=[];this._rowActionsRow=[]}componentWillLoad(){this._hasCustomFilterSlot=!!this._el.querySelector(':scope > [slot="custom-filter"]');this._setRowSelectionData();this._setLocales();this._parseItems(this.items);this._generateColumns()}componentDidRender(){this.hasRendered.emit()}render(){var t,i,n,a,o,r,l;return e(s,{class:"p-table"},e("p-table-container",{shadow:this.shadow},this.enableHeader&&e("p-table-header",{quickFilters:this.quickFilters,activeQuickFilterIdentifier:this.activeQuickFilterIdentifier,onQuickFilter:({detail:t})=>this.quickFilter.emit(t),enableSearch:this.enableSearch,query:this.query,onQueryChange:({detail:t})=>this.queryChange.emit(t),enableFilter:this.enableFilter,selectedFiltersAmount:this.selectedFiltersAmount,filterButtonTemplate:this.filterButtonTemplate,onFilter:()=>this.filter.emit(),enableAction:this.enableAction,actionIcon:this.actionButtonIcon,actionText:this.actionButtonText,actionLoading:this.actionButtonLoading,canUseAction:this.actionButtonEnabled,actionButtonTemplate:this.actionButtonTemplate,onAction:()=>this.action.emit(),itemsSelectedAmount:(t=this.selectedRows)===null||t===void 0?void 0:t.length,loading:this.headerLoading},this._hasCustomFilterSlot&&e("slot",{name:"custom-filter",slot:"custom-filter"})),this._getHeader(),e("div",{class:"flex flex-col flex-1"},this._getRows()),this.enableFooter&&e("p-table-footer",{hideOnSinglePage:this.hideOnSinglePage,enablePageSize:this.enablePageSize,pageSize:this.pageSize,pageSizeOptions:this.pageSizeOptions,onPageSizeChange:({detail:t})=>this.pageSizeChange.emit(t),enablePagination:this.enablePagination,page:this.page,total:this.total,onPageChange:({detail:t})=>this.pageChange.emit(t),enableExport:this.enableExport,onExport:()=>this.export.emit(),loading:this.footerLoading}),this.enableFloatingMenu&&this._enableRowSelection?e("p-floating-menu-container",{usedInTable:true,class:`${((i=this.selectedRows)===null||i===void 0?void 0:i.length)?"":"inactive"} ${this._floatingMenuShown?"shown":""}`},e("p-floating-menu-item",{hover:false,slot:"floating-menu-item",class:((n=this._rowActionsFloating)===null||n===void 0?void 0:n.length)?"hide-mobile":""},this.floatingMenuAmountSelectedTemplate((a=this.selectedRows)===null||a===void 0?void 0:a.length)),e("p-divider",{class:`mx-0 text-storm ${((o=this._rowActionsFloating)===null||o===void 0?void 0:o.length)?"hide-mobile":""}`,variant:"vertical",slot:"floating-menu-item"}),((r=this._rowActionsFloating)===null||r===void 0?void 0:r.length)&&this._rowActionsFloating.map((t=>e("p-floating-menu-item",{slot:"floating-menu-item",disabled:t.disabled,onClick:()=>!t.disabled&&!t.loading&&!!t.action&&t.type==="single"?t.action(this.selectedRows[0],false):t.action(this.selectedRows,true)},t.label," ",t.loading?e("p-loader",null):e("p-icon",{variant:t.icon,rotate:t.iconRotate,flip:t.iconFlip})))),((l=this._rowActionsFloating)===null||l===void 0?void 0:l.length)&&e("p-divider",{class:"mx-0 text-storm",variant:"vertical",slot:"floating-menu-item"}),e("p-floating-menu-item",{slot:"floating-menu-item",onClick:()=>this._selectAllChange(null,false)},e("p-icon",{variant:"negative"}))):""))}async _setLocales(){this._locales=await o(this._el)}onTableDefinitionUpdated(){this._generateColumns()}keyDown({key:t}){if(t!=="Control"||this._ctrlDown===true){return}this._ctrlDown=true}keyUp({key:t}){if(t!=="Control"||this._ctrlDown===false){return}this._ctrlDown=false}visibilityChange(){if(document.visibilityState!=="hidden"||this._ctrlDown===false){return}this._ctrlDown=false}_parseItems(t){if(!t){this._items=[];return}if(Array.isArray(t)){this._items=t;return}this._items=JSON.parse(t)}_setRowSelectionData(){if(this._resizeTimeout){clearTimeout(this._resizeTimeout)}this._resizeTimeout=setTimeout((()=>{var t,i;const e=r();const s=Array.from(this._el.querySelectorAll(":scope > p-table-row-action"));this._rowActionsRow=s.filter((t=>t.type==="both"||t.type==="single"));this._rowActionsFloating=s.filter((t=>t.type==="both"||t.type==="multi"||e)).map((t=>{var i;if(t.type==="single"){t.disabled=((i=this.selectedRows)===null||i===void 0?void 0:i.length)>1}return t}));let n=this.rowSelectionLimit;if(e&&((t=this._rowActionsFloating)===null||t===void 0?void 0:t.length)&&(n!==undefined&&this.enableRowSelection||!this.enableRowSelection)){n=1}this._rowSelectionLimit=n;let a=this.enableRowSelection;if(e&&((i=this._rowActionsFloating)===null||i===void 0?void 0:i.length)&&!a){a=true}this._enableRowSelection=a}),200)}_generateColumns(){const t=this._el.querySelectorAll("p-table-column");const i=Array.from(t);i[i.length-1]["isLast"]=true;this._columns=i}_getHeader(){return e("p-table-row",{variant:"header"},this._columns.map(((t,i)=>e("p-table-cell",{definition:t,value:t.name,variant:"header",checkbox:i===0||t.hasCheckbox?this._getCheckbox(null,this.loading?"loading":"header"):null,index:i}))))}_getRows(){if(this.loading){return Array.from({length:this.amountOfLoadingRows},((t,i)=>e("p-table-row",{enableHover:this._enableRowSelection||this.enableRowClick},this._getLoadingColumns(i))))}if(!this._items.length){return this._getEmptyState()}return this._items.map(((t,i)=>e("p-table-row",{enableHover:this._enableRowSelection||this.enableRowClick,onClick:t=>this._rowClick(t,i)},this._getRowColumns(t,i))))}_getRowColumns(t,i){var s;const n=this._columns.map(((s,n)=>e("p-table-cell",{definition:s,item:t,checkbox:n===0||s.hasCheckbox?this._getCheckbox(i):null,index:n,rowIndex:i,tableHasActions:!!this._rowActionsRow.length&&!r()})));if(((s=this._rowActionsRow)===null||s===void 0?void 0:s.length)&&!r()){const s=this._columns[this._columns.length-1];n.push(e("p-table-cell",{variant:"actions",definition:s,item:t,index:this._columns.length-1,rowIndex:i,tableHasActions:!!this._rowActionsRow.length},e("div",{slot:"actions",class:"flex ml-auto gap-2 items-center"},this._rowActionsRow.map((i=>e("p-tooltip",{content:i.label},e("p-button",{"data-is-action":true,variant:"secondary",slot:"trigger",icon:i.icon,iconRotate:i.iconRotate,iconFlip:i.iconFlip,iconOnly:true,size:"small",onClick:()=>{var e;return typeof i.action==="function"&&((e=i.action)===null||e===void 0?void 0:e.call(i,t,false))}})))))))}return n}_getLoadingColumns(t){return this._columns.map(((i,s)=>e("p-table-cell",{definition:i,variant:"loading",checkbox:s===0||i.hasCheckbox?this._getCheckbox(t,"loading"):null,index:s,rowIndex:t})))}_getCheckbox(t,i="default"){var s;if(!this._enableRowSelection||!this.selectionKey&&!((s=this._rowActionsFloating)===null||s===void 0?void 0:s.length)){return}if(i==="loading"){return e("p-loader",{variant:"ghost",class:"h-6 w-6 rounded"})}if(i==="header"){return e("input",{class:`p-input ${this._rowSelectionLimit!==undefined&&"opacity-0"}`,type:"checkbox",onChange:t=>this._selectAllChange(t),checked:this._selectionContainsAll(),indeterminate:this._selectionIndeterminate(),disabled:this._rowSelectionLimit!==undefined})}const n=this._items[t];const a=this._selectionContains(t);return e("input",{class:"p-input",type:"checkbox",onChange:i=>this._checkboxChange(i===null||i===void 0?void 0:i.target,t),disabled:this.canSelectKey&&!n[this.canSelectKey]||this._rowSelectionLimit!==undefined&&!a&&this.selectedRows.length===this._rowSelectionLimit,checked:a})}_getEmptyState(){var t;if(((t=this.query)===null||t===void 0?void 0:t.length)||this.selectedFiltersAmount){return e("div",{class:"flex max-w-[20rem] flex-col items-center self-center py-24 text-center"},e("p-illustration",{variant:"empty-state-search",class:"mb-6"}),e("p",{class:"text-storm-default font-semibold"},this.emptyStateFilteredHeader()),e("p",{class:"mb-14 text-sm text-storm-medium"},this.emptyStateFilteredContent()))}return e("div",{class:`flex max-w-[20rem] flex-col items-center self-center py-24 text-center ${this.enableEmptyStateAction&&"cursor-pointer"}`,onClick:()=>this.enableEmptyStateAction&&this.emptyStateActionClick.emit(null)},e("p-illustration",{variant:"empty-state-add",class:"mb-6"}),e("p",{class:"text-storm-default font-semibold"},this.emptyStateHeader()),e("p",{class:"mb-6 text-sm text-storm-medium"},this.emptyStateContent()),this.enableEmptyStateAction&&e("p-button",{variant:"secondary",icon:"plus",size:"small"},this.emptyStateAction()))}_selectAllChange(t,i){if(!this._enableRowSelection){return}const e=i===undefined?this._getCheckedValue(t.target):i;if(e){const t=[];for(let i=0;i<this._items.length;i++){const e=this._items[i];if(this.canSelectKey&&!e[this.canSelectKey]){continue}if(this._selectionContains(i)){continue}t.push(e);this.rowSelected.emit(e);if(this._rowSelectionLimit!==undefined&&this.selectedRows.length+t.length===this._rowSelectionLimit){break}}this.selectedRows=[...this.selectedRows,...t];this.selectedRowsChange.emit(this.selectedRows);if(this.enableFloatingMenu&&!this._floatingMenuShown){this._floatingMenuShown=true}return}for(let t=0;t<this.selectedRows.length;t++){const i=this.selectedRows[t];const e=this._items.find((e=>this._getSelectionValue(e,t)===this._getSelectionValue(i,t)));if(!e){continue}this.rowDeselected.emit(e)}this.selectedRows=[];this.selectedRowsChange.emit(this.selectedRows)}_checkboxChange(t,i){if(!this._enableRowSelection){return}const e=this._getCheckedValue(t);if(e&&this._rowSelectionLimit!==undefined&&this.selectedRows.length>=this._rowSelectionLimit){t.checked=false;return}const s=this._items[i];if(this.canSelectKey&&!s[this.canSelectKey]){t.checked=false;return}if(e){this.selectedRows=[...this.selectedRows,Object.assign(Object.assign({},s),{index:i})];this.selectedRowsChange.emit(this.selectedRows);this.rowSelected.emit(s);if(this.enableFloatingMenu&&!this._floatingMenuShown){this._floatingMenuShown=true}return}const n=this._selectionContains(i,true);const a=[...this.selectedRows];a.splice(n,1);this.selectedRows=a;this.selectedRowsChange.emit(this.selectedRows);this.rowDeselected.emit(s)}_getCheckedValue(t){return t===null||t===void 0?void 0:t.checked}_getSelectionValue(t,i){return this.selectionKey?(t===null||t===void 0?void 0:t[this.selectionKey])||i:i}_selectionContains(t,i=false){const e=this.selectedRows.findIndex((i=>i.index===t));return!i?e>=0:e}_selectionContainsAll(){var t,i;let e=true;if(!((t=this._items)===null||t===void 0?void 0:t.length)){return false}if(this._rowSelectionLimit!==undefined&&this.selectedRows.length===this._rowSelectionLimit){return true}for(let t=0;t<((i=this._items)===null||i===void 0?void 0:i.length);t++){const i=this._selectionContains(t);if(!i){e=false;break}}return e}_selectionIndeterminate(){var t,i,e;if(!((t=this._items)===null||t===void 0?void 0:t.length)||!((i=this.selectedRows)===null||i===void 0?void 0:i.length)){return false}if(this._rowSelectionLimit!==undefined&&this.selectedRows.length===this._rowSelectionLimit){return false}let s=0;for(let t=0;t<((e=this._items)===null||e===void 0?void 0:e.length);t++){const i=this._selectionContains(t);if(i){s++}}return s>0&&s!==this._items.length}_rowClick(t,i){const e=t.target;if(e.tagName.toLowerCase()==="input"||e.type==="checkbox"){return}const s=this._findRow(t.target);const n=this._findRowAction(t.target);if(n){return}if(this.enableRowClick){const t=this._items[i];this.rowClick.emit({item:t,ctrlDown:this._ctrlDown});return}if(!this._enableRowSelection){return}const a=s===null||s===void 0?void 0:s.querySelector('input[type="checkbox"]');if(!a){return}a.checked=!a.checked;this._checkboxChange(a,i)}_findRow(t){var i;if(!t){return t}if(((i=t===null||t===void 0?void 0:t.tagName)===null||i===void 0?void 0:i.toLowerCase())==="p-table-row"){return t}return this._findRow(t===null||t===void 0?void 0:t.parentElement)}_findRowAction(t){var i;if(!t){return null}if(t.getAttribute("data-is-action")!==null&&t.getAttribute("data-is-action")!=="false"){return t}if(((i=t===null||t===void 0?void 0:t.tagName)===null||i===void 0?void 0:i.toLowerCase())==="p-table-row"){return null}return this._findRowAction(t===null||t===void 0?void 0:t.parentElement)}get _el(){return n(this)}static get watchers(){return{items:["_parseItems"],enableRowSelection:["_setRowSelectionData"],rowSelectionLimit:["_setRowSelectionData"],selectedRows:["_setRowSelectionData"]}}};c.style=d;export{c as p_table};
2
- //# sourceMappingURL=p-f9cb528d.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["tableComponentCss","Table","this","_ctrlDown","_hasCustomFilterSlot","_floatingMenuShown","amount","formatTranslation","_c","_a","_locales","floating_menu","amount_selected","_b","amount_selected_plural","replace","defaultSize","defaultSizeOptions","empty_state","no_filter","header","content","action","filtered","enableRowSelection","componentWillLoad","_el","querySelector","_setRowSelectionData","_setLocales","_parseItems","items","_generateColumns","componentDidRender","hasRendered","emit","render","h","Host","class","shadow","enableHeader","quickFilters","activeQuickFilterIdentifier","onQuickFilter","detail","quickFilter","enableSearch","query","onQueryChange","queryChange","enableFilter","selectedFiltersAmount","filterButtonTemplate","onFilter","filter","enableAction","actionIcon","actionButtonIcon","actionText","actionButtonText","actionLoading","actionButtonLoading","canUseAction","actionButtonEnabled","actionButtonTemplate","onAction","itemsSelectedAmount","selectedRows","length","loading","headerLoading","name","slot","_getHeader","_getRows","enableFooter","hideOnSinglePage","enablePageSize","pageSize","pageSizeOptions","onPageSizeChange","pageSizeChange","enablePagination","page","total","onPageChange","pageChange","enableExport","onExport","export","footerLoading","enableFloatingMenu","_enableRowSelection","usedInTable","hover","_rowActionsFloating","floatingMenuAmountSelectedTemplate","_d","_e","variant","_f","map","a","disabled","onClick","type","label","icon","rotate","iconRotate","flip","iconFlip","_g","_selectAllChange","getLocaleComponentStrings","onTableDefinitionUpdated","keyDown","key","keyUp","visibilityChange","document","visibilityState","_items","Array","isArray","JSON","parse","_resizeTimeout","clearTimeout","setTimeout","mobile","isMobile","actions","from","querySelectorAll","_rowActionsRow","rowSelectionLimit","undefined","_rowSelectionLimit","definitions","definitionsArray","_columns","col","index","definition","value","checkbox","hasCheckbox","_getCheckbox","amountOfLoadingRows","_","i","enableHover","enableRowClick","_getLoadingColumns","_getEmptyState","item","ev","_rowClick","_getRowColumns","columns","colIndex","rowIndex","tableHasActions","lastDef","push","iconOnly","size","call","selectionKey","onChange","checked","_selectionContainsAll","indeterminate","_selectionIndeterminate","selectionContains","_selectionContains","_checkboxChange","target","canSelectKey","emptyStateFilteredHeader","emptyStateFilteredContent","enableEmptyStateAction","emptyStateActionClick","emptyStateHeader","emptyStateContent","emptyStateAction","$event","forceValue","_getCheckedValue","toAdd","row","rowSelected","selectedRowsChange","find","d","_getSelectionValue","rowDeselected","indexOfToRemove","selection","splice","returnIndex","returnValue","findIndex","contains","containsCount","tagName","toLowerCase","_findRow","_findRowAction","rowClick","ctrlDown","el","parentElement","getAttribute"],"sources":["src/components/organisms/table/table.component.scss?tag=p-table","src/components/organisms/table/table.component.tsx"],"sourcesContent":["p-table {\n\t@apply relative flex flex-col;\n\n\t.p-input[type='checkbox'] {\n\t\tflex-shrink: 0;\n\t}\n\n\tp-table-container {\n\t\t@apply relative;\n\n\t\tp-floating-menu-container {\n\t\t\t@apply fixed bottom-4 left-1/2 -translate-x-1/2 transform;\n\t\t\tanimation: forwards floatingMenuContainerIn 0.3s ease !important;\n\n\t\t\t@screen tablet {\n\t\t\t\t@apply absolute bottom-16;\n\t\t\t}\n\n\t\t\t&:not(.shown) {\n\t\t\t\t@apply hidden;\n\t\t\t}\n\n\t\t\t&.inactive {\n\t\t\t\tanimation: forwards floatingMenuContainerOut 0.3s ease !important;\n\t\t\t}\n\n\t\t\t.hide-mobile {\n\t\t\t\t@apply hidden tablet:block;\n\t\t\t}\n\t\t}\n\t}\n}\n\n@keyframes floatingMenuContainerOut {\n\t0% {\n\t\tdisplay: flex;\n\t\ttransform: translateY(0) translateX(-50%);\n\t\topacity: 100;\n\t}\n\t99% {\n\t\ttransform: translateY(100%) translateX(-50%);\n\t\topacity: 0;\n\t\tdisplay: flex;\n\t}\n\t100% {\n\t\ttransform: translateY(100%) translateX(-50%);\n\t\topacity: 0;\n\t\tdisplay: none;\n\t}\n}\n\n@keyframes floatingMenuContainerIn {\n\t0% {\n\t\ttransform: translateY(100%) translateX(-50%);\n\t\topacity: 0;\n\t\tdisplay: none;\n\t}\n\t1% {\n\t\ttransform: translateY(100%) translateX(-50%);\n\t\topacity: 0;\n\t\tdisplay: flex;\n\t}\n\t100% {\n\t\ttransform: translateY(0) translateX(-50%);\n\t\topacity: 100;\n\t\tdisplay: flex;\n\t}\n}\n","import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport { IconVariant } from '../../../components';\nimport { QuickFilter, RowClickEvent } from '../../../types/table';\nimport {\n\tformatTranslation,\n\tgetLocaleComponentStrings,\n\tisMobile,\n} from '../../../utils';\nimport { TableColumn } from '../../helpers/table-column/table-column.component';\nimport {\n\tdefaultSize,\n\tdefaultSizeOptions,\n} from '../../molecules/page-size-select/constants';\nimport { buttonTemplateFunc } from '../../molecules/table-header/table-header.component';\nimport { TableRowAction } from '../../helpers/table-row-action/table-row-action.component';\n\nexport type templateFunc = () => string;\nexport type amountSelectedTemplateFunc = (amount: number) => string;\n\n@Component({\n\ttag: 'p-table',\n\tstyleUrl: 'table.component.scss',\n})\nexport class Table {\n\t/**\n\t * The items to be fed to the table\n\t */\n\t@Prop() items: string;\n\n\t/**\n\t * Wether data is loading\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether the header should show loading state\n\t */\n\t@Prop() headerLoading: boolean = false;\n\n\t/**\n\t * Wether the footer should show loading state\n\t */\n\t@Prop() footerLoading: boolean = false;\n\n\t/**\n\t * The amount of loading rows to show\n\t */\n\t@Prop() amountOfLoadingRows: number = 6;\n\n\t/**\n\t * Wether to enable selection\n\t */\n\t@Prop() enableRowSelection: boolean = true;\n\n\t/**\n\t * A limit to the amount of rows that can be selected\n\t */\n\t@Prop() rowSelectionLimit: number | undefined;\n\n\t/**\n\t * Wether to enable row clicking\n\t */\n\t@Prop() enableRowClick: boolean = true;\n\n\t/**\n\t * The current selection of items\n\t */\n\t@Prop() selectedRows: any[] = [];\n\n\t/**\n\t * Wether to enable the floating menu\n\t */\n\t@Prop() enableFloatingMenu: boolean = true;\n\n\t/**\n\t * The template for amount selected item in the floating menu\n\t */\n\t@Prop() floatingMenuAmountSelectedTemplate: amountSelectedTemplateFunc = (\n\t\tamount: number\n\t) =>\n\t\tformatTranslation(\n\t\t\t(amount === 1\n\t\t\t\t? this._locales.floating_menu?.amount_selected\n\t\t\t\t: this._locales.floating_menu?.amount_selected_plural\n\t\t\t)?.replace('{{amount}}', amount)\n\t\t);\n\n\t/**\n\t * Event whenever the current selection changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tselectedRowsChange: EventEmitter<any>;\n\n\t/**\n\t * The key to determine if a row is selected\n\t */\n\t@Prop() selectionKey: string;\n\n\t/**\n\t * A key to determine if a row can be selected\n\t */\n\t@Prop() canSelectKey: string;\n\n\t/**\n\t * Event whenever a row is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\trowClick: EventEmitter<RowClickEvent>;\n\n\t/**\n\t * Event whenever a row is selected\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\trowSelected: EventEmitter<any>;\n\n\t/**\n\t * Event whenever a row is deselected\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\trowDeselected: EventEmitter<any>;\n\n\t/**\n\t * Event when the table has rendered\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\thasRendered: EventEmitter<number>;\n\n\t/** START HEADER */\n\n\t/**\n\t * Wether to show the header\n\t */\n\t@Prop() enableHeader: boolean = true;\n\n\t/**\n\t * Quick filters to show\n\t */\n\t@Prop() quickFilters: QuickFilter[] = [];\n\n\t/**\n\t * Active quick filter identifier\n\t */\n\t@Prop() activeQuickFilterIdentifier: string;\n\n\t/**\n\t * Wether to show the search input\n\t */\n\t@Prop() enableSearch: boolean = true;\n\n\t/**\n\t * The query to show in the search bar\n\t */\n\t@Prop({ mutable: true }) query: string;\n\n\t/**\n\t * Wether to show the filter button\n\t */\n\t@Prop() enableFilter: boolean = true;\n\n\t/**\n\t * The amount of filters being selected\n\t */\n\t@Prop() selectedFiltersAmount: number;\n\n\t/**\n\t * The template for the filter button text\n\t */\n\t@Prop() filterButtonTemplate: templateFunc;\n\n\t/**\n\t * Wether to show the action button\n\t */\n\t@Prop() enableAction: boolean = false;\n\n\t/**\n\t * Wether the action button is loading\n\t */\n\t@Prop() actionButtonLoading: boolean = false;\n\n\t/**\n\t * Wether the action button is enabled\n\t */\n\t@Prop() actionButtonEnabled: boolean = false;\n\n\t/**\n\t * The action button icon\n\t */\n\t@Prop() actionButtonIcon: IconVariant = 'pencil';\n\n\t/**\n\t * The action button text if changed\n\t */\n\t@Prop() actionButtonText: string;\n\n\t/**\n\t * The template for the action button text\n\t */\n\t@Prop() actionButtonTemplate: buttonTemplateFunc;\n\n\t/**\n\t * Event when one of the quick filters is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tquickFilter: EventEmitter<QuickFilter>;\n\n\t/**\n\t * Event when the query changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tqueryChange: EventEmitter<string>;\n\n\t/**\n\t * Event when the filter button is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tfilter: EventEmitter<null>;\n\n\t/**\n\t * Event when the action button is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\taction: EventEmitter<null>;\n\n\t/** START FOOTER */\n\n\t/**\n\t * Wether to show the header\n\t */\n\t@Prop() enableFooter: boolean = true;\n\n\t/**\n\t * Wether to enable page size select\n\t */\n\t@Prop() enablePageSize: boolean = true;\n\n\t/**\n\t * Wether to enable pagination\n\t */\n\t@Prop() enablePagination: boolean = true;\n\n\t/**\n\t * Wether to enable export\n\t */\n\t@Prop() enableExport: boolean = true;\n\n\t/**\n\t * The current page\n\t */\n\t@Prop({ mutable: true, reflect: true }) page: number = 1;\n\n\t/**\n\t * The total amount of items\n\t */\n\t@Prop() total!: number;\n\n\t/**\n\t * Event whenever the page changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tpageChange: EventEmitter<number>;\n\n\t/**\n\t * The amount of items per page\n\t */\n\t@Prop() pageSize: number = defaultSize;\n\n\t/**\n\t * The options for the page size\n\t */\n\t@Prop() pageSizeOptions: number[] = defaultSizeOptions;\n\n\t/**\n\t * Event whenever the page changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tpageSizeChange: EventEmitter<number>;\n\n\t/**\n\t * Event whenever the page changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\texport: EventEmitter<number>;\n\n\t/**\n\t * Wether to hide when there is only 1 page available\n\t */\n\t@Prop() hideOnSinglePage: boolean = true;\n\n\t/* Empty state start */\n\t@Prop() emptyStateHeader: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state?.no_filter.header);\n\t@Prop() emptyStateContent: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state?.no_filter.content);\n\t@Prop() emptyStateAction: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state?.no_filter.action);\n\t/**\n\t * Wether to enable empty state action\n\t */\n\t@Prop() enableEmptyStateAction: boolean = true;\n\n\t@Prop() emptyStateFilteredHeader: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state.filtered.header);\n\t@Prop() emptyStateFilteredContent: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state.filtered.content);\n\n\t/**\n\t * Event whenever the empty state is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\temptyStateActionClick: EventEmitter<null>;\n\n\t/*\n\t * Wether to show the shadow or not\n\t */\n\t@Prop() shadow: boolean = true;\n\n\t/* Empty state end */\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t/**\n\t * Locales used for this component\n\t */\n\t@State() private _locales: any = {};\n\n\t@State() private _columns: any[] = [];\n\t@State() private _items: any[] = [];\n\n\t@State() private _enableRowSelection: boolean = this.enableRowSelection;\n\t@State() private _rowSelectionLimit: number | undefined;\n\n\t@State() private _rowActionsFloating: TableRowAction[] = [];\n\t@State() private _rowActionsRow: TableRowAction[] = [];\n\n\tprivate _ctrlDown = false;\n\tprivate _hasCustomFilterSlot = false;\n\tprivate _floatingMenuShown = false;\n\tprivate _resizeTimeout: NodeJS.Timer;\n\n\tcomponentWillLoad() {\n\t\tthis._hasCustomFilterSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-filter\"]'\n\t\t);\n\n\t\tthis._setRowSelectionData();\n\n\t\tthis._setLocales();\n\t\tthis._parseItems(this.items);\n\t\tthis._generateColumns();\n\t}\n\n\tcomponentDidRender() {\n\t\tthis.hasRendered.emit();\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class=\"p-table\">\n\t\t\t\t<p-table-container shadow={this.shadow}>\n\t\t\t\t\t{this.enableHeader && (\n\t\t\t\t\t\t<p-table-header\n\t\t\t\t\t\t\t// quick filters\n\t\t\t\t\t\t\tquickFilters={this.quickFilters}\n\t\t\t\t\t\t\tactiveQuickFilterIdentifier={\n\t\t\t\t\t\t\t\tthis.activeQuickFilterIdentifier\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonQuickFilter={({ detail }) =>\n\t\t\t\t\t\t\t\tthis.quickFilter.emit(detail)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// search\n\t\t\t\t\t\t\tenableSearch={this.enableSearch}\n\t\t\t\t\t\t\tquery={this.query}\n\t\t\t\t\t\t\tonQueryChange={({ detail }) =>\n\t\t\t\t\t\t\t\tthis.queryChange.emit(detail)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// filter button\n\t\t\t\t\t\t\tenableFilter={this.enableFilter}\n\t\t\t\t\t\t\tselectedFiltersAmount={this.selectedFiltersAmount}\n\t\t\t\t\t\t\tfilterButtonTemplate={this.filterButtonTemplate}\n\t\t\t\t\t\t\tonFilter={() => this.filter.emit()}\n\t\t\t\t\t\t\t// action button\n\t\t\t\t\t\t\tenableAction={this.enableAction}\n\t\t\t\t\t\t\tactionIcon={this.actionButtonIcon}\n\t\t\t\t\t\t\tactionText={this.actionButtonText}\n\t\t\t\t\t\t\tactionLoading={this.actionButtonLoading}\n\t\t\t\t\t\t\tcanUseAction={this.actionButtonEnabled}\n\t\t\t\t\t\t\tactionButtonTemplate={this.actionButtonTemplate}\n\t\t\t\t\t\t\tonAction={() => this.action.emit()}\n\t\t\t\t\t\t\titemsSelectedAmount={this.selectedRows?.length}\n\t\t\t\t\t\t\t//loading\n\t\t\t\t\t\t\tloading={this.headerLoading}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._hasCustomFilterSlot && (\n\t\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t\tname=\"custom-filter\"\n\t\t\t\t\t\t\t\t\tslot=\"custom-filter\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</p-table-header>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this._getHeader()}\n\t\t\t\t\t<div class=\"flex flex-col flex-1\">{this._getRows()}</div>\n\n\t\t\t\t\t{this.enableFooter && (\n\t\t\t\t\t\t<p-table-footer\n\t\t\t\t\t\t\t// overall\n\t\t\t\t\t\t\thideOnSinglePage={this.hideOnSinglePage}\n\t\t\t\t\t\t\t// page size select\n\t\t\t\t\t\t\tenablePageSize={this.enablePageSize}\n\t\t\t\t\t\t\tpageSize={this.pageSize}\n\t\t\t\t\t\t\tpageSizeOptions={this.pageSizeOptions}\n\t\t\t\t\t\t\tonPageSizeChange={({ detail }) =>\n\t\t\t\t\t\t\t\tthis.pageSizeChange.emit(detail)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// pagination\n\t\t\t\t\t\t\tenablePagination={this.enablePagination}\n\t\t\t\t\t\t\tpage={this.page}\n\t\t\t\t\t\t\ttotal={this.total}\n\t\t\t\t\t\t\tonPageChange={({ detail }) =>\n\t\t\t\t\t\t\t\tthis.pageChange.emit(detail)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// export\n\t\t\t\t\t\t\tenableExport={this.enableExport}\n\t\t\t\t\t\t\tonExport={() => this.export.emit()}\n\t\t\t\t\t\t\t//loading\n\t\t\t\t\t\t\tloading={this.footerLoading}\n\t\t\t\t\t\t></p-table-footer>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this.enableFloatingMenu && this._enableRowSelection ? (\n\t\t\t\t\t\t<p-floating-menu-container\n\t\t\t\t\t\t\tusedInTable={true}\n\t\t\t\t\t\t\tclass={`${\n\t\t\t\t\t\t\t\tthis.selectedRows?.length ? '' : 'inactive'\n\t\t\t\t\t\t\t} ${this._floatingMenuShown ? 'shown' : ''}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p-floating-menu-item\n\t\t\t\t\t\t\t\thover={false}\n\t\t\t\t\t\t\t\tslot=\"floating-menu-item\"\n\t\t\t\t\t\t\t\tclass={\n\t\t\t\t\t\t\t\t\tthis._rowActionsFloating?.length\n\t\t\t\t\t\t\t\t\t\t? 'hide-mobile'\n\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.floatingMenuAmountSelectedTemplate(\n\t\t\t\t\t\t\t\t\tthis.selectedRows?.length\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</p-floating-menu-item>\n\t\t\t\t\t\t\t<p-divider\n\t\t\t\t\t\t\t\tclass={`mx-0 text-storm ${\n\t\t\t\t\t\t\t\t\tthis._rowActionsFloating?.length\n\t\t\t\t\t\t\t\t\t\t? 'hide-mobile'\n\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\tvariant=\"vertical\"\n\t\t\t\t\t\t\t\tslot=\"floating-menu-item\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{this._rowActionsFloating?.length &&\n\t\t\t\t\t\t\t\tthis._rowActionsFloating.map((a) => (\n\t\t\t\t\t\t\t\t\t<p-floating-menu-item\n\t\t\t\t\t\t\t\t\t\tslot=\"floating-menu-item\"\n\t\t\t\t\t\t\t\t\t\tdisabled={a.disabled}\n\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\t!a.disabled &&\n\t\t\t\t\t\t\t\t\t\t\t!a.loading &&\n\t\t\t\t\t\t\t\t\t\t\t!!a.action &&\n\t\t\t\t\t\t\t\t\t\t\ta.type === 'single'\n\t\t\t\t\t\t\t\t\t\t\t\t? a.action(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.selectedRows[0],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t: a.action(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.selectedRows,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{a.label}{' '}\n\t\t\t\t\t\t\t\t\t\t{a.loading ? (\n\t\t\t\t\t\t\t\t\t\t\t<p-loader></p-loader>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\t\t\t\t\tvariant={a.icon}\n\t\t\t\t\t\t\t\t\t\t\t\trotate={a.iconRotate}\n\t\t\t\t\t\t\t\t\t\t\t\tflip={a.iconFlip}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</p-floating-menu-item>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t{this._rowActionsFloating?.length && (\n\t\t\t\t\t\t\t\t<p-divider\n\t\t\t\t\t\t\t\t\tclass=\"mx-0 text-storm\"\n\t\t\t\t\t\t\t\t\tvariant=\"vertical\"\n\t\t\t\t\t\t\t\t\tslot=\"floating-menu-item\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<p-floating-menu-item\n\t\t\t\t\t\t\t\tslot=\"floating-menu-item\"\n\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\tthis._selectAllChange(null, false)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<p-icon variant=\"negative\" />\n\t\t\t\t\t\t\t</p-floating-menu-item>\n\t\t\t\t\t\t</p-floating-menu-container>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t)}\n\t\t\t\t</p-table-container>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('localeChanged', { target: 'body' })\n\tprivate async _setLocales(): Promise<void> {\n\t\tthis._locales = await getLocaleComponentStrings(this._el);\n\t}\n\n\t@Listen('tableDefinitionChanged', { target: 'body' })\n\tonTableDefinitionUpdated() {\n\t\tthis._generateColumns();\n\t}\n\n\t@Listen('keydown', { target: 'document' })\n\tkeyDown({ key }) {\n\t\tif (key !== 'Control' || this._ctrlDown === true) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._ctrlDown = true;\n\t}\n\n\t@Listen('keyup', { target: 'document' })\n\tkeyUp({ key }) {\n\t\tif (key !== 'Control' || this._ctrlDown === false) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._ctrlDown = false;\n\t}\n\n\t@Listen('visibilitychange', { target: 'document' })\n\tvisibilityChange() {\n\t\tif (document.visibilityState !== 'hidden' || this._ctrlDown === false) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._ctrlDown = false;\n\t}\n\n\t@Watch('items')\n\tprivate _parseItems(items: string) {\n\t\tif (!items) {\n\t\t\tthis._items = [];\n\t\t\treturn;\n\t\t}\n\n\t\tif (Array.isArray(items)) {\n\t\t\tthis._items = items;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._items = JSON.parse(items);\n\t}\n\n\t@Watch('enableRowSelection')\n\t@Watch('rowSelectionLimit')\n\t@Watch('selectedRows')\n\t@Listen('resize', { target: 'window' })\n\tprivate _setRowSelectionData() {\n\t\tif (this._resizeTimeout) {\n\t\t\tclearTimeout(this._resizeTimeout);\n\t\t}\n\n\t\t// We add a timeout here because it's a lot easier on the machine to do these when someone is done\n\t\t// resizing and playing around with their browser\n\t\tthis._resizeTimeout = setTimeout(() => {\n\t\t\tconst mobile = isMobile();\n\n\t\t\t// we hack this to any[] to make it work..\n\t\t\tconst actions = Array.from(\n\t\t\t\tthis._el.querySelectorAll(':scope > p-table-row-action')\n\t\t\t) as any[] as TableRowAction[];\n\t\t\tthis._rowActionsRow = actions.filter(\n\t\t\t\t(a) => a.type === 'both' || a.type === 'single'\n\t\t\t);\n\t\t\tthis._rowActionsFloating = actions\n\t\t\t\t.filter(\n\t\t\t\t\t(a) => a.type === 'both' || a.type === 'multi' || mobile\n\t\t\t\t)\n\t\t\t\t.map((a) => {\n\t\t\t\t\tif (a.type === 'single') {\n\t\t\t\t\t\ta.disabled = this.selectedRows?.length > 1;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn a;\n\t\t\t\t});\n\n\t\t\tlet rowSelectionLimit = this.rowSelectionLimit;\n\t\t\tif (\n\t\t\t\tmobile && // we're mobile\n\t\t\t\tthis._rowActionsFloating?.length && // we have atleast 1 item in _rowActionsFloating\n\t\t\t\t((rowSelectionLimit !== undefined && this.enableRowSelection) ||\n\t\t\t\t\t!this.enableRowSelection)\n\t\t\t) {\n\t\t\t\trowSelectionLimit = 1;\n\t\t\t}\n\n\t\t\tthis._rowSelectionLimit = rowSelectionLimit;\n\n\t\t\tlet enableRowSelection = this.enableRowSelection;\n\t\t\tif (\n\t\t\t\tmobile && // we're mobile\n\t\t\t\tthis._rowActionsFloating?.length && // we have atleast 1 item in _rowActionsFloating\n\t\t\t\t!enableRowSelection\n\t\t\t) {\n\t\t\t\tenableRowSelection = true;\n\t\t\t}\n\n\t\t\tthis._enableRowSelection = enableRowSelection;\n\t\t}, 200);\n\t}\n\n\tprivate _generateColumns() {\n\t\tconst definitions = this._el.querySelectorAll('p-table-column');\n\t\tconst definitionsArray = Array.from(definitions);\n\n\t\tdefinitionsArray[definitionsArray.length - 1]['isLast'] = true;\n\n\t\tthis._columns = definitionsArray;\n\t}\n\n\tprivate _getHeader() {\n\t\treturn (\n\t\t\t<p-table-row variant=\"header\">\n\t\t\t\t{this._columns.map((col: TableColumn, index) => (\n\t\t\t\t\t<p-table-cell\n\t\t\t\t\t\tdefinition={col}\n\t\t\t\t\t\tvalue={col.name}\n\t\t\t\t\t\tvariant=\"header\"\n\t\t\t\t\t\tcheckbox={\n\t\t\t\t\t\t\tindex === 0 || col.hasCheckbox\n\t\t\t\t\t\t\t\t? this._getCheckbox(\n\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\tthis.loading ? 'loading' : 'header'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t\tindex={index}\n\t\t\t\t\t></p-table-cell>\n\t\t\t\t))}\n\t\t\t</p-table-row>\n\t\t);\n\t}\n\n\tprivate _getRows() {\n\t\tif (this.loading) {\n\t\t\treturn Array.from(\n\t\t\t\t{\n\t\t\t\t\tlength: this.amountOfLoadingRows,\n\t\t\t\t},\n\t\t\t\t(_, i) => (\n\t\t\t\t\t<p-table-row\n\t\t\t\t\t\tenableHover={\n\t\t\t\t\t\t\tthis._enableRowSelection || this.enableRowClick\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this._getLoadingColumns(i)}\n\t\t\t\t\t</p-table-row>\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\tif (!this._items.length) {\n\t\t\treturn this._getEmptyState();\n\t\t}\n\n\t\treturn this._items.map((item, index) => (\n\t\t\t<p-table-row\n\t\t\t\tenableHover={this._enableRowSelection || this.enableRowClick}\n\t\t\t\tonClick={(ev) => this._rowClick(ev, index)}\n\t\t\t>\n\t\t\t\t{this._getRowColumns(item, index)}\n\t\t\t</p-table-row>\n\t\t));\n\t}\n\n\tprivate _getRowColumns(item, index) {\n\t\tconst columns = this._columns.map((col: TableColumn, colIndex) => {\n\t\t\treturn (\n\t\t\t\t<p-table-cell\n\t\t\t\t\tdefinition={col}\n\t\t\t\t\titem={item}\n\t\t\t\t\tcheckbox={\n\t\t\t\t\t\tcolIndex === 0 || col.hasCheckbox\n\t\t\t\t\t\t\t? this._getCheckbox(index)\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t\tindex={colIndex}\n\t\t\t\t\trowIndex={index}\n\t\t\t\t\ttableHasActions={\n\t\t\t\t\t\t!!this._rowActionsRow.length && !isMobile()\n\t\t\t\t\t}\n\t\t\t\t></p-table-cell>\n\t\t\t);\n\t\t});\n\n\t\tif (this._rowActionsRow?.length && !isMobile()) {\n\t\t\tconst lastDef = this._columns[this._columns.length - 1];\n\t\t\tcolumns.push(\n\t\t\t\t<p-table-cell\n\t\t\t\t\tvariant=\"actions\"\n\t\t\t\t\tdefinition={lastDef}\n\t\t\t\t\titem={item}\n\t\t\t\t\tindex={this._columns.length - 1}\n\t\t\t\t\trowIndex={index}\n\t\t\t\t\ttableHasActions={!!this._rowActionsRow.length}\n\t\t\t\t>\n\t\t\t\t\t<div slot=\"actions\" class=\"flex ml-auto gap-2 items-center\">\n\t\t\t\t\t\t{this._rowActionsRow.map((a) => (\n\t\t\t\t\t\t\t<p-tooltip content={a.label}>\n\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\tdata-is-action\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\t\t\t\t\ticon={a.icon}\n\t\t\t\t\t\t\t\t\ticonRotate={a.iconRotate}\n\t\t\t\t\t\t\t\t\ticonFlip={a.iconFlip}\n\t\t\t\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\ttypeof a.action === 'function' &&\n\t\t\t\t\t\t\t\t\t\ta.action?.(item, false)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t></p-button>\n\t\t\t\t\t\t\t</p-tooltip>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</p-table-cell>\n\t\t\t);\n\t\t}\n\n\t\treturn columns;\n\t}\n\n\tprivate _getLoadingColumns(index) {\n\t\treturn this._columns.map((col: TableColumn, colIndex) => {\n\t\t\treturn (\n\t\t\t\t<p-table-cell\n\t\t\t\t\tdefinition={col}\n\t\t\t\t\tvariant=\"loading\"\n\t\t\t\t\tcheckbox={\n\t\t\t\t\t\tcolIndex === 0 || col.hasCheckbox\n\t\t\t\t\t\t\t? this._getCheckbox(index, 'loading')\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t\tindex={colIndex}\n\t\t\t\t\trowIndex={index}\n\t\t\t\t></p-table-cell>\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate _getCheckbox(\n\t\trowIndex: number,\n\t\tvariant: 'header' | 'default' | 'loading' = 'default'\n\t) {\n\t\tif (\n\t\t\t!this._enableRowSelection ||\n\t\t\t(!this.selectionKey && !this._rowActionsFloating?.length)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (variant === 'loading') {\n\t\t\treturn <p-loader variant=\"ghost\" class=\"h-6 w-6 rounded\" />;\n\t\t}\n\n\t\tif (variant === 'header') {\n\t\t\treturn (\n\t\t\t\t<input\n\t\t\t\t\tclass={`p-input ${this._rowSelectionLimit !== undefined && 'opacity-0'}`}\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tonChange={(ev) => this._selectAllChange(ev)}\n\t\t\t\t\tchecked={this._selectionContainsAll()}\n\t\t\t\t\tindeterminate={this._selectionIndeterminate()}\n\t\t\t\t\tdisabled={this._rowSelectionLimit !== undefined}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tconst item = this._items[rowIndex];\n\n\t\tconst selectionContains = this._selectionContains(rowIndex);\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\tclass=\"p-input\"\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tonChange={(ev) => this._checkboxChange(ev?.target, rowIndex)}\n\t\t\t\tdisabled={\n\t\t\t\t\t(this.canSelectKey && !item[this.canSelectKey]) ||\n\t\t\t\t\t(this._rowSelectionLimit !== undefined &&\n\t\t\t\t\t\t!selectionContains &&\n\t\t\t\t\t\tthis.selectedRows.length === this._rowSelectionLimit)\n\t\t\t\t}\n\t\t\t\tchecked={selectionContains}\n\t\t\t/>\n\t\t);\n\t}\n\n\tprivate _getEmptyState() {\n\t\tif (this.query?.length || this.selectedFiltersAmount) {\n\t\t\treturn (\n\t\t\t\t<div class=\"flex max-w-[20rem] flex-col items-center self-center py-24 text-center\">\n\t\t\t\t\t<p-illustration variant=\"empty-state-search\" class=\"mb-6\" />\n\t\t\t\t\t<p class=\"text-storm-default font-semibold\">\n\t\t\t\t\t\t{this.emptyStateFilteredHeader()}\n\t\t\t\t\t</p>\n\t\t\t\t\t<p class=\"mb-14 text-sm text-storm-medium\">\n\t\t\t\t\t\t{this.emptyStateFilteredContent()}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={`flex max-w-[20rem] flex-col items-center self-center py-24 text-center ${\n\t\t\t\t\tthis.enableEmptyStateAction && 'cursor-pointer'\n\t\t\t\t}`}\n\t\t\t\tonClick={() =>\n\t\t\t\t\tthis.enableEmptyStateAction &&\n\t\t\t\t\tthis.emptyStateActionClick.emit(null)\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<p-illustration variant=\"empty-state-add\" class=\"mb-6\" />\n\t\t\t\t<p class=\"text-storm-default font-semibold\">\n\t\t\t\t\t{this.emptyStateHeader()}\n\t\t\t\t</p>\n\t\t\t\t<p class=\"mb-6 text-sm text-storm-medium\">\n\t\t\t\t\t{this.emptyStateContent()}\n\t\t\t\t</p>\n\t\t\t\t{this.enableEmptyStateAction && (\n\t\t\t\t\t<p-button variant=\"secondary\" icon=\"plus\" size=\"small\">\n\t\t\t\t\t\t{this.emptyStateAction()}\n\t\t\t\t\t</p-button>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _selectAllChange($event: any, forceValue?: boolean) {\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst value =\n\t\t\tforceValue === undefined\n\t\t\t\t? this._getCheckedValue($event.target)\n\t\t\t\t: forceValue;\n\t\tif (value) {\n\t\t\tconst toAdd = [];\n\t\t\tfor (let i = 0; i < this._items.length; i++) {\n\t\t\t\tconst row = this._items[i];\n\t\t\t\tif (this.canSelectKey && !row[this.canSelectKey]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (this._selectionContains(i)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\ttoAdd.push(row);\n\t\t\t\tthis.rowSelected.emit(row);\n\n\t\t\t\tif (\n\t\t\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\t\t\tthis.selectedRows.length + toAdd.length ===\n\t\t\t\t\t\tthis._rowSelectionLimit\n\t\t\t\t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.selectedRows = [...this.selectedRows, ...toAdd];\n\t\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t\t\tif (this.enableFloatingMenu && !this._floatingMenuShown) {\n\t\t\t\tthis._floatingMenuShown = true;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tfor (let i = 0; i < this.selectedRows.length; i++) {\n\t\t\tconst value = this.selectedRows[i];\n\t\t\tconst row = this._items.find(\n\t\t\t\t(d) =>\n\t\t\t\t\tthis._getSelectionValue(d, i) ===\n\t\t\t\t\tthis._getSelectionValue(value, i)\n\t\t\t);\n\n\t\t\tif (!row) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tthis.rowDeselected.emit(row);\n\t\t}\n\n\t\tthis.selectedRows = [];\n\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t}\n\n\tprivate _checkboxChange(target: any, index: number) {\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = this._getCheckedValue(target);\n\t\tif (\n\t\t\tvalue &&\n\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\tthis.selectedRows.length >= this._rowSelectionLimit\n\t\t) {\n\t\t\ttarget.checked = false;\n\t\t\treturn;\n\t\t}\n\n\t\tconst row = this._items[index];\n\n\t\tif (this.canSelectKey && !row[this.canSelectKey]) {\n\t\t\ttarget.checked = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (value) {\n\t\t\tthis.selectedRows = [\n\t\t\t\t...this.selectedRows,\n\t\t\t\t{\n\t\t\t\t\t...row,\n\t\t\t\t\tindex,\n\t\t\t\t},\n\t\t\t];\n\t\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t\t\tthis.rowSelected.emit(row);\n\n\t\t\tif (this.enableFloatingMenu && !this._floatingMenuShown) {\n\t\t\t\tthis._floatingMenuShown = true;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst indexOfToRemove = this._selectionContains(index, true);\n\n\t\t// we need to do this, because splice does not trigger the selection setter.\n\t\tconst selection = [...this.selectedRows];\n\t\tselection.splice(indexOfToRemove, 1);\n\t\tthis.selectedRows = selection;\n\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t\tthis.rowDeselected.emit(row);\n\t}\n\n\tprivate _getCheckedValue(target: any) {\n\t\treturn target?.checked;\n\t}\n\n\tprivate _getSelectionValue(row: any, index: number) {\n\t\treturn this.selectionKey ? row?.[this.selectionKey] || index : index;\n\t}\n\n\tprivate _selectionContains(index, returnIndex = false): any {\n\t\tconst returnValue = this.selectedRows.findIndex(\n\t\t\t(item) => item.index === index\n\t\t);\n\t\treturn !returnIndex ? returnValue >= 0 : returnValue;\n\t}\n\n\tprivate _selectionContainsAll() {\n\t\tlet returnValue = true;\n\t\tif (!this._items?.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (\n\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\tthis.selectedRows.length === this._rowSelectionLimit\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\n\t\tfor (let i = 0; i < this._items?.length; i++) {\n\t\t\tconst contains = this._selectionContains(i);\n\n\t\t\tif (!contains) {\n\t\t\t\treturnValue = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnValue;\n\t}\n\n\tprivate _selectionIndeterminate() {\n\t\tif (!this._items?.length || !this.selectedRows?.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (\n\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\tthis.selectedRows.length === this._rowSelectionLimit\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet containsCount = 0;\n\t\tfor (let i = 0; i < this._items?.length; i++) {\n\t\t\tconst contains = this._selectionContains(i);\n\n\t\t\tif (contains) {\n\t\t\t\tcontainsCount++;\n\t\t\t}\n\t\t}\n\n\t\treturn containsCount > 0 && containsCount !== this._items.length;\n\t}\n\n\tprivate _rowClick($event, index) {\n\t\tconst target = $event.target;\n\n\t\tif (\n\t\t\ttarget.tagName.toLowerCase() === 'input' ||\n\t\t\ttarget.type === 'checkbox'\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst row = this._findRow($event.target);\n\t\tconst action = this._findRowAction($event.target);\n\n\t\tif (action) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.enableRowClick) {\n\t\t\tconst item = this._items[index];\n\t\t\tthis.rowClick.emit({\n\t\t\t\titem,\n\t\t\t\tctrlDown: this._ctrlDown,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst checkbox = row?.querySelector('input[type=\"checkbox\"]');\n\n\t\tif (!checkbox) {\n\t\t\treturn;\n\t\t}\n\n\t\tcheckbox.checked = !checkbox.checked;\n\t\tthis._checkboxChange(checkbox, index);\n\t}\n\n\tprivate _findRow(el: HTMLElement) {\n\t\tif (!el) {\n\t\t\treturn el;\n\t\t}\n\n\t\tif (el?.tagName?.toLowerCase() === 'p-table-row') {\n\t\t\treturn el;\n\t\t}\n\n\t\treturn this._findRow(el?.parentElement);\n\t}\n\n\tprivate _findRowAction(el: HTMLElement) {\n\t\tif (!el) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (\n\t\t\tel.getAttribute('data-is-action') !== null &&\n\t\t\tel.getAttribute('data-is-action') !== 'false'\n\t\t) {\n\t\t\treturn el;\n\t\t}\n\n\t\tif (el?.tagName?.toLowerCase() === 'p-table-row') {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this._findRowAction(el?.parentElement);\n\t}\n}\n"],"mappings":"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"}