@paperless/core 2.14.18 → 2.15.0
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/CHANGELOG.md +25 -0
- package/dist/build/p-367d1ec2.entry.js +2 -0
- package/dist/build/p-367d1ec2.entry.js.map +1 -0
- package/dist/build/{p-35915192.js → p-41efd48b.js} +1 -1
- package/dist/build/p-a7d047a4.entry.js +2 -0
- package/dist/build/p-a7d047a4.entry.js.map +1 -0
- package/dist/build/p-c8c51618.entry.js +2 -0
- package/dist/build/p-c8c51618.entry.js.map +1 -0
- package/dist/build/p-empty-state.p-floating-menu-container.p-table-cell.p-table-container.p-table-footer.p-table-header.p-table-row.p-table-row-actions-container.entry.esm.js.map +1 -1
- package/dist/build/p-table-column.entry.esm.js.map +1 -1
- package/dist/build/p-table.entry.esm.js.map +1 -1
- package/dist/build/paperless.esm.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/p-empty-state.p-floating-menu-container.p-table-cell.p-table-container.p-table-footer.p-table-header.p-table-row.p-table-row-actions-container.entry.cjs.js.map +1 -1
- package/dist/cjs/p-empty-state_8.cjs.entry.js +28 -12
- package/dist/cjs/p-empty-state_8.cjs.entry.js.map +1 -1
- package/dist/cjs/p-table-column.cjs.entry.js +4 -0
- package/dist/cjs/p-table-column.cjs.entry.js.map +1 -1
- package/dist/cjs/p-table-column.entry.cjs.js.map +1 -1
- package/dist/cjs/p-table.cjs.entry.js +6 -2
- package/dist/cjs/p-table.cjs.entry.js.map +1 -1
- package/dist/cjs/p-table.entry.cjs.js.map +1 -1
- package/dist/cjs/paperless.cjs.js +1 -1
- package/dist/collection/components/helpers/table/column/table-column.component.js +24 -0
- package/dist/collection/components/helpers/table/column/table-column.component.js.map +1 -1
- package/dist/collection/components/molecules/table/cell/table-cell.component.js +11 -4
- package/dist/collection/components/molecules/table/cell/table-cell.component.js.map +1 -1
- package/dist/collection/components/molecules/table/footer/table-footer.component.css +1 -1
- package/dist/collection/components/molecules/table/footer/table-footer.component.js +34 -5
- package/dist/collection/components/molecules/table/footer/table-footer.component.js.map +1 -1
- package/dist/collection/components/molecules/table/header/table-header.component.css +1 -1
- package/dist/collection/components/molecules/table/header/table-header.component.js +1 -1
- package/dist/collection/components/molecules/table/header/table-header.component.js.map +1 -1
- package/dist/collection/components/organisms/table/table.component.js +6 -2
- package/dist/collection/components/organisms/table/table.component.js.map +1 -1
- package/dist/components/{p-C93Yl1f2.js → p-BJ_tiVQ2.js} +4 -4
- package/dist/components/{p-C93Yl1f2.js.map → p-BJ_tiVQ2.js.map} +1 -1
- package/dist/components/{p-MpIEVhmn.js → p-DjVT03PN.js} +18 -8
- package/dist/components/p-DjVT03PN.js.map +1 -0
- package/dist/components/{p-dw4ui28s.js → p-Q0QulP11.js} +13 -6
- package/dist/components/p-Q0QulP11.js.map +1 -0
- package/dist/components/p-table-cell.js +1 -1
- package/dist/components/p-table-column.js +5 -0
- package/dist/components/p-table-column.js.map +1 -1
- package/dist/components/p-table-footer.js +1 -1
- package/dist/components/p-table-header.js +1 -1
- package/dist/components/p-table.js +9 -5
- package/dist/components/p-table.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/p-empty-state.p-floating-menu-container.p-table-cell.p-table-container.p-table-footer.p-table-header.p-table-row.p-table-row-actions-container.entry.js.map +1 -1
- package/dist/esm/p-empty-state_8.entry.js +28 -12
- package/dist/esm/p-empty-state_8.entry.js.map +1 -1
- package/dist/esm/p-table-column.entry.js +4 -0
- package/dist/esm/p-table-column.entry.js.map +1 -1
- package/dist/esm/p-table.entry.js +6 -2
- package/dist/esm/p-table.entry.js.map +1 -1
- package/dist/esm/paperless.js +1 -1
- package/dist/index.html +1 -1
- package/dist/paperless/p-367d1ec2.entry.js +2 -0
- package/dist/paperless/p-367d1ec2.entry.js.map +1 -0
- package/dist/paperless/p-a7d047a4.entry.js +2 -0
- package/dist/paperless/p-a7d047a4.entry.js.map +1 -0
- package/dist/paperless/p-c8c51618.entry.js +2 -0
- package/dist/paperless/p-c8c51618.entry.js.map +1 -0
- package/dist/paperless/p-empty-state.p-floating-menu-container.p-table-cell.p-table-container.p-table-footer.p-table-header.p-table-row.p-table-row-actions-container.entry.esm.js.map +1 -1
- package/dist/paperless/p-table-column.entry.esm.js.map +1 -1
- package/dist/paperless/p-table.entry.esm.js.map +1 -1
- package/dist/paperless/paperless.esm.js +1 -1
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/dist/types/components/helpers/table/column/table-column.component.d.ts +4 -0
- package/dist/types/components/molecules/table/footer/table-footer.component.d.ts +4 -0
- package/dist/types/components.d.ts +16 -0
- package/package.json +1 -1
- package/dist/build/p-320413a7.entry.js +0 -2
- package/dist/build/p-320413a7.entry.js.map +0 -1
- package/dist/build/p-4f549bc9.entry.js +0 -2
- package/dist/build/p-4f549bc9.entry.js.map +0 -1
- package/dist/build/p-6e1e0b97.entry.js +0 -2
- package/dist/build/p-6e1e0b97.entry.js.map +0 -1
- package/dist/components/p-MpIEVhmn.js.map +0 -1
- package/dist/components/p-dw4ui28s.js.map +0 -1
- package/dist/paperless/p-320413a7.entry.js +0 -2
- package/dist/paperless/p-320413a7.entry.js.map +0 -1
- package/dist/paperless/p-4f549bc9.entry.js +0 -2
- package/dist/paperless/p-4f549bc9.entry.js.map +0 -1
- package/dist/paperless/p-6e1e0b97.entry.js +0 -2
- package/dist/paperless/p-6e1e0b97.entry.js.map +0 -1
|
@@ -19,12 +19,12 @@ import { d as defineCustomElement$3 } from './p-C1RM6nHP.js';
|
|
|
19
19
|
import { d as defineCustomElement$2 } from './p-DYWk-b-p.js';
|
|
20
20
|
import { d as defineCustomElement$1 } from './p-CeJyspp0.js';
|
|
21
21
|
|
|
22
|
-
const tableFooterComponentCss = ".sticky{position:sticky!important}.z-\\[1\\]{z-index:1!important}*{box-sizing:border-box}:host{--tw-content:\"\";position:sticky;z-index:1}.static{position:static!important}.relative{position:relative!important}.z-\\[2\\]{z-index:2!important}.flex{display:flex!important}.hidden{display:none!important}.w-full{width:100%!important}.justify-center{justify-content:center!important}.px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.py-8{padding-bottom:2rem!important;padding-top:2rem!important}.after\\:absolute:after{content:var(--tw-content)!important;position:absolute!important}.after\\:left-0:after{content:var(--tw-content)!important;left:0!important}.after\\:top-0:after{content:var(--tw-content)!important;top:0!important}.after\\:z-\\[0\\]:after{content:var(--tw-content)!important;z-index:0!important}.after\\:h-full:after{content:var(--tw-content)!important;height:100%!important}.after\\:w-full:after{content:var(--tw-content)!important;width:100%!important}.after\\:bg-gradient-to-t:after{background-image:linear-gradient(to top,var(--tw-gradient-stops))!important;content:var(--tw-content)!important}.after\\:from-white:after{--tw-gradient-from:#fff var(--tw-gradient-from-position)!important;--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position)!important;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)!important;content:var(--tw-content)!important}.after\\:via-white\\/80:after{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position)!important;--tw-gradient-stops:var(--tw-gradient-from),hsla(0,0%,100%,.8) var(--tw-gradient-via-position),var(--tw-gradient-to)!important;content:var(--tw-content)!important}.after\\:to-transparent:after{--tw-gradient-to:transparent var(--tw-gradient-to-position)!important;content:var(--tw-content)!important}.after\\:opacity-0:after{content:var(--tw-content)!important;opacity:0!important}.after\\:opacity-100:after{content:var(--tw-content)!important;opacity:1!important}.after\\:transition-opacity:after{content:var(--tw-content)!important;transition-duration:.15s!important;transition-property:opacity!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.dark\\:after\\:from-hurricane-700:where(:host([data-theme=dark]),:host([data-theme=dark]) *):after{--tw-gradient-from:#232934 var(--tw-gradient-from-position)!important;--tw-gradient-to:rgba(35,41,52,0) var(--tw-gradient-to-position)!important;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)!important;content:var(--tw-content)!important}.dark\\:after\\:via-hurricane-700\\/80:where(:host([data-theme=dark]),:host([data-theme=dark]) *):after{--tw-gradient-to:rgba(35,41,52,0) var(--tw-gradient-to-position)!important;--tw-gradient-stops:var(--tw-gradient-from),rgba(35,41,52,.8) var(--tw-gradient-via-position),var(--tw-gradient-to)!important;content:var(--tw-content)!important}.dark\\:after\\:from-hurricane-700:where([data-theme=dark],[data-theme=dark] *):after{--tw-gradient-from:#232934 var(--tw-gradient-from-position)!important;--tw-gradient-to:rgba(35,41,52,0) var(--tw-gradient-to-position)!important;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)!important;content:var(--tw-content)!important}.dark\\:after\\:via-hurricane-700\\/80:where([data-theme=dark],[data-theme=dark] *):after{--tw-gradient-to:rgba(35,41,52,0) var(--tw-gradient-to-position)!important;--tw-gradient-stops:var(--tw-gradient-from),rgba(35,41,52,.8) var(--tw-gradient-via-position),var(--tw-gradient-to)!important;content:var(--tw-content)!important}";
|
|
22
|
+
const tableFooterComponentCss = ".sticky{position:sticky!important}.z-\\[1\\]{z-index:1!important}*{box-sizing:border-box}:host{--tw-content:\"\";position:sticky;z-index:1}.static{position:static!important}.relative{position:relative!important}.z-\\[2\\]{z-index:2!important}.flex{display:flex!important}.table{display:table!important}.hidden{display:none!important}.w-full{width:100%!important}.justify-center{justify-content:center!important}.px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.py-8{padding-bottom:2rem!important;padding-top:2rem!important}.pb-20{padding-bottom:5rem!important}.pt-8{padding-top:2rem!important}.after\\:absolute:after{content:var(--tw-content)!important;position:absolute!important}.after\\:left-0:after{content:var(--tw-content)!important;left:0!important}.after\\:top-0:after{content:var(--tw-content)!important;top:0!important}.after\\:z-\\[0\\]:after{content:var(--tw-content)!important;z-index:0!important}.after\\:h-full:after{content:var(--tw-content)!important;height:100%!important}.after\\:w-full:after{content:var(--tw-content)!important;width:100%!important}.after\\:bg-gradient-to-t:after{background-image:linear-gradient(to top,var(--tw-gradient-stops))!important;content:var(--tw-content)!important}.after\\:from-white:after{--tw-gradient-from:#fff var(--tw-gradient-from-position)!important;--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position)!important;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)!important;content:var(--tw-content)!important}.after\\:via-white\\/80:after{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position)!important;--tw-gradient-stops:var(--tw-gradient-from),hsla(0,0%,100%,.8) var(--tw-gradient-via-position),var(--tw-gradient-to)!important;content:var(--tw-content)!important}.after\\:to-transparent:after{--tw-gradient-to:transparent var(--tw-gradient-to-position)!important;content:var(--tw-content)!important}.after\\:opacity-0:after{content:var(--tw-content)!important;opacity:0!important}.after\\:opacity-100:after{content:var(--tw-content)!important;opacity:1!important}.after\\:transition-opacity:after{content:var(--tw-content)!important;transition-duration:.15s!important;transition-property:opacity!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}@media (min-width:64rem){.desktop-xs\\:py-8{padding-bottom:2rem!important;padding-top:2rem!important}}.dark\\:after\\:from-hurricane-700:where(:host([data-theme=dark]),:host([data-theme=dark]) *):after{--tw-gradient-from:#232934 var(--tw-gradient-from-position)!important;--tw-gradient-to:rgba(35,41,52,0) var(--tw-gradient-to-position)!important;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)!important;content:var(--tw-content)!important}.dark\\:after\\:via-hurricane-700\\/80:where(:host([data-theme=dark]),:host([data-theme=dark]) *):after{--tw-gradient-to:rgba(35,41,52,0) var(--tw-gradient-to-position)!important;--tw-gradient-stops:var(--tw-gradient-from),rgba(35,41,52,.8) var(--tw-gradient-via-position),var(--tw-gradient-to)!important;content:var(--tw-content)!important}.dark\\:after\\:from-hurricane-700:where([data-theme=dark],[data-theme=dark] *):after{--tw-gradient-from:#232934 var(--tw-gradient-from-position)!important;--tw-gradient-to:rgba(35,41,52,0) var(--tw-gradient-to-position)!important;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)!important;content:var(--tw-content)!important}.dark\\:after\\:via-hurricane-700\\/80:where([data-theme=dark],[data-theme=dark] *):after{--tw-gradient-to:rgba(35,41,52,0) var(--tw-gradient-to-position)!important;--tw-gradient-stops:var(--tw-gradient-from),rgba(35,41,52,.8) var(--tw-gradient-via-position),var(--tw-gradient-to)!important;content:var(--tw-content)!important}";
|
|
23
23
|
|
|
24
24
|
const footer = cva([
|
|
25
25
|
'justify-center relative',
|
|
26
|
-
'w-full
|
|
27
|
-
'after:absolute after:top-0 after:left-0
|
|
26
|
+
'w-full px-6',
|
|
27
|
+
'after:absolute after:top-0 after:left-0 after:z-[0]',
|
|
28
28
|
'after:w-full after:h-full after:transition-opacity',
|
|
29
29
|
'after:bg-gradient-to-t after:from-white dark:after:from-hurricane-700 after:via-white/80 dark:after:via-hurricane-700/80 after:to-transparent',
|
|
30
30
|
], {
|
|
@@ -37,6 +37,10 @@ const footer = cva([
|
|
|
37
37
|
false: 'flex',
|
|
38
38
|
true: 'hidden',
|
|
39
39
|
},
|
|
40
|
+
tableHeaderHasAction: {
|
|
41
|
+
true: 'pt-8 pb-20 desktop-xs:py-8',
|
|
42
|
+
false: 'py-8',
|
|
43
|
+
},
|
|
40
44
|
},
|
|
41
45
|
});
|
|
42
46
|
const TableFooter = /*@__PURE__*/ proxyCustomElement(class TableFooter extends H {
|
|
@@ -80,6 +84,10 @@ const TableFooter = /*@__PURE__*/ proxyCustomElement(class TableFooter extends H
|
|
|
80
84
|
* The options for the page size
|
|
81
85
|
*/
|
|
82
86
|
pageSizeOptions = PAGINATION_DEFAULT_PAGE_SIZE_OPTIONS;
|
|
87
|
+
/**
|
|
88
|
+
* Wether the table header has an action to adjust for on mobile
|
|
89
|
+
*/
|
|
90
|
+
tableHeaderHasAction = false;
|
|
83
91
|
/**
|
|
84
92
|
* Event whenever the page changes
|
|
85
93
|
*/
|
|
@@ -113,14 +121,15 @@ const TableFooter = /*@__PURE__*/ proxyCustomElement(class TableFooter extends H
|
|
|
113
121
|
clearTimeout(this._renderCheckTimeout);
|
|
114
122
|
this._renderCheckTimeout = null;
|
|
115
123
|
}
|
|
116
|
-
this._renderCheckTimeout = setTimeout(() => this._checkStuck(),
|
|
124
|
+
this._renderCheckTimeout = setTimeout(() => this._checkStuck(), 200);
|
|
117
125
|
}
|
|
118
126
|
render() {
|
|
119
|
-
return (h(ThemedHost, { key: '
|
|
127
|
+
return (h(ThemedHost, { key: '4e733469026c4ee831bad2746c23e10b9fb4460f' }, h("div", { key: '086d244e013b9ecfe726eaedb02d161fc8198487', class: footer({
|
|
120
128
|
pinned: this._isPinned,
|
|
121
129
|
hidden: this._hidden,
|
|
130
|
+
tableHeaderHasAction: this.tableHeaderHasAction,
|
|
122
131
|
}) }, (this.enablePaginationPages || this.enablePaginationSize) &&
|
|
123
|
-
this.total > 0 && (h("p-pagination", { key: '
|
|
132
|
+
this.total > 0 && (h("p-pagination", { key: '0a6d5d4d55ad3b6ec77959655b29ff064d60ddc6', class: 'z-[2]', enablePaginationSize: this.enablePaginationSize, enablePaginationPages: this.enablePaginationPages, pageSize: this.pageSize, pageSizeOptions: this.pageSizeOptions, onPageSizeChange: ({ detail }) => this._changePageSize(detail), page: this.page, hideOnSinglePage: this.hideOnSinglePage, onPageChange: ({ detail }) => this.pageChange.emit(detail), total: this.total, onPagesChange: ({ detail }) => (this._hasPaginationPages = detail > 1) })))));
|
|
124
133
|
}
|
|
125
134
|
_changePageSize(s) {
|
|
126
135
|
if (!s) {
|
|
@@ -162,6 +171,7 @@ const TableFooter = /*@__PURE__*/ proxyCustomElement(class TableFooter extends H
|
|
|
162
171
|
"total": [2],
|
|
163
172
|
"pageSize": [2, "page-size"],
|
|
164
173
|
"pageSizeOptions": [16, "page-size-options"],
|
|
174
|
+
"tableHeaderHasAction": [4, "table-header-has-action"],
|
|
165
175
|
"hideOnSinglePage": [4, "hide-on-single-page"],
|
|
166
176
|
"_isPinned": [32],
|
|
167
177
|
"_hasPaginationPages": [32]
|
|
@@ -262,6 +272,6 @@ function defineCustomElement() {
|
|
|
262
272
|
defineCustomElement();
|
|
263
273
|
|
|
264
274
|
export { TableFooter as T, defineCustomElement as d };
|
|
265
|
-
//# sourceMappingURL=p-
|
|
275
|
+
//# sourceMappingURL=p-DjVT03PN.js.map
|
|
266
276
|
|
|
267
|
-
//# sourceMappingURL=p-
|
|
277
|
+
//# sourceMappingURL=p-DjVT03PN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-DjVT03PN.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/molecules/table/footer/table-footer.component.css?tag=p-table-footer&encapsulation=shadow","src/components/molecules/table/footer/table-footer.component.tsx"],"sourcesContent":[":host {\n\t@apply sticky;\n\t@apply z-[1];\n\n\t--tw-content: '';\n}\n","import {\n\tComponent,\n\tEvent,\n\tEventEmitter,\n\th,\n\tProp,\n\tElement,\n\tState,\n\tListen,\n} from '@stencil/core';\nimport { cva } from 'class-variance-authority';\nimport { ThemedHost } from '../../../../internal/themed-host.component';\nimport {\n\tPAGINATION_DEFAULT_PAGE_SIZE,\n\tPAGINATION_DEFAULT_PAGE_SIZE_OPTIONS,\n} from '../../../../utils/constants';\n\nconst footer = cva(\n\t[\n\t\t'justify-center relative',\n\t\t'w-full px-6',\n\t\t'after:absolute after:top-0 after:left-0 after:z-[0]',\n\t\t'after:w-full after:h-full after:transition-opacity',\n\t\t'after:bg-gradient-to-t after:from-white dark:after:from-hurricane-700 after:via-white/80 dark:after:via-hurricane-700/80 after:to-transparent',\n\t],\n\t{\n\t\tvariants: {\n\t\t\tpinned: {\n\t\t\t\tfalse: 'after:opacity-0',\n\t\t\t\ttrue: 'after:opacity-100',\n\t\t\t},\n\t\t\thidden: {\n\t\t\t\tfalse: 'flex',\n\t\t\t\ttrue: 'hidden',\n\t\t\t},\n\t\t\ttableHeaderHasAction: {\n\t\t\t\ttrue: 'pt-8 pb-20 desktop-xs:py-8',\n\t\t\t\tfalse: 'py-8',\n\t\t\t},\n\t\t},\n\t}\n);\n\n@Component({\n\ttag: 'p-table-footer',\n\tstyleUrl: 'table-footer.component.css',\n\tshadow: true,\n})\nexport class TableFooter {\n\t/**\n\t * Wether to enable pagination size select\n\t */\n\t@Prop() enablePaginationSize: boolean = true;\n\n\t/**\n\t * Wether to enable pagination pages\n\t */\n\t@Prop() enablePaginationPages: boolean = true;\n\n\t/**\n\t * Wether we want to show loading state\n\t */\n\t@Prop() loading: boolean = false;\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 = PAGINATION_DEFAULT_PAGE_SIZE;\n\n\t/**\n\t * The options for the page size\n\t */\n\t@Prop() pageSizeOptions: number[] = PAGINATION_DEFAULT_PAGE_SIZE_OPTIONS;\n\n\t/**\n\t * Wether the table header has an action to adjust for on mobile\n\t */\n\t@Prop() tableHeaderHasAction: boolean = false;\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 footer is hidden or nog\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\thiddenChange: EventEmitter<boolean>;\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/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _isPinned = false;\n\t@State() private _hasPaginationPages = true;\n\n\tprivate _hidePageSizeSelect = false;\n\tprivate _hidden = false;\n\tprivate _renderCheckTimeout: NodeJS.Timeout;\n\n\tcomponentWillRender() {\n\t\tthis._hidePageSizeSelect =\n\t\t\tthis.hideOnSinglePage && this.total <= this.pageSizeOptions?.[0];\n\n\t\tconst hidden =\n\t\t\t(this._hidePageSizeSelect && !this._hasPaginationPages) ||\n\t\t\t(!this.enablePaginationSize && !this.enablePaginationPages);\n\n\t\tif (hidden !== this._hidden) {\n\t\t\tthis._hidden = hidden;\n\t\t\tthis.hiddenChange.emit(hidden);\n\t\t}\n\t}\n\n\tcomponentDidRender() {\n\t\tif (this._renderCheckTimeout) {\n\t\t\tclearTimeout(this._renderCheckTimeout);\n\t\t\tthis._renderCheckTimeout = null;\n\t\t}\n\n\t\tthis._renderCheckTimeout = setTimeout(() => this._checkStuck(), 200);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<ThemedHost>\n\t\t\t\t<div\n\t\t\t\t\tclass={footer({\n\t\t\t\t\t\tpinned: this._isPinned,\n\t\t\t\t\t\thidden: this._hidden,\n\t\t\t\t\t\ttableHeaderHasAction: this.tableHeaderHasAction,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{(this.enablePaginationPages || this.enablePaginationSize) &&\n\t\t\t\t\t\tthis.total > 0 && (\n\t\t\t\t\t\t\t<p-pagination\n\t\t\t\t\t\t\t\tclass='z-[2]'\n\t\t\t\t\t\t\t\tenablePaginationSize={this.enablePaginationSize}\n\t\t\t\t\t\t\t\tenablePaginationPages={this.enablePaginationPages}\n\t\t\t\t\t\t\t\tpageSize={this.pageSize}\n\t\t\t\t\t\t\t\tpageSizeOptions={this.pageSizeOptions}\n\t\t\t\t\t\t\t\tonPageSizeChange={({ detail }) => this._changePageSize(detail)}\n\t\t\t\t\t\t\t\tpage={this.page}\n\t\t\t\t\t\t\t\thideOnSinglePage={this.hideOnSinglePage}\n\t\t\t\t\t\t\t\tonPageChange={({ detail }) => this.pageChange.emit(detail)}\n\t\t\t\t\t\t\t\ttotal={this.total}\n\t\t\t\t\t\t\t\tonPagesChange={({ detail }) =>\n\t\t\t\t\t\t\t\t\t(this._hasPaginationPages = detail > 1)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</ThemedHost>\n\t\t);\n\t}\n\n\tprivate _changePageSize(s?: number) {\n\t\tif (!s) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.pageSize = s;\n\t\tthis.pageSizeChange.emit(this.pageSize);\n\t}\n\n\tprivate _checkStuck() {\n\t\tconst rect = this._el.getBoundingClientRect();\n\t\tconst modal = this._el.closest('p-modal');\n\t\tconst layout = document.querySelector('p-layout');\n\n\t\tif (modal) {\n\t\t\tconst modalBody = modal.shadowRoot.querySelector('p-modal-body');\n\t\t\tconst innerContent = modalBody.shadowRoot.querySelector('div');\n\n\t\t\tconst innerContentComputed = getComputedStyle(innerContent);\n\n\t\t\tconst modalPaddingBottom = parseInt(\n\t\t\t\tinnerContentComputed.paddingBottom,\n\t\t\t\t10\n\t\t\t);\n\t\t\tthis._el.style.bottom = `-${modalPaddingBottom}px`;\n\t\t\tthis._el.style.marginBottom = `-${modalPaddingBottom - 1}px`;\n\t\t}\n\n\t\tif (layout && !modal) {\n\t\t\tconst innerContent = layout.shadowRoot.querySelector('.content');\n\t\t\tconst innerContentComputed = getComputedStyle(innerContent);\n\n\t\t\tconst layoutPaddingBottom = parseInt(\n\t\t\t\tinnerContentComputed.paddingBottom,\n\t\t\t\t10\n\t\t\t);\n\t\t\tthis._el.style.bottom = `-${layoutPaddingBottom}px`;\n\t\t\tthis._el.style.marginBottom = `-${layoutPaddingBottom - 1}px`;\n\t\t}\n\n\t\tthis._isPinned = window.innerHeight - rect.bottom == 0;\n\t}\n\n\t@Listen('scroll', { target: 'window' })\n\tonScroll() {\n\t\tthis._checkStuck();\n\t}\n}\n"],"version":3}
|
|
@@ -66,10 +66,17 @@ const TableCell = /*@__PURE__*/ proxyCustomElement(class TableCell extends H {
|
|
|
66
66
|
return (h("p-loader", { variant: 'ghost', class: 'h-6 w-[calc(100%-1rem)] flex-1 rounded' }));
|
|
67
67
|
}
|
|
68
68
|
return (h("div", { class: cn('overflow-hidden text-ellipsis', {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
flex: this.definition.flex,
|
|
70
|
+
'justify-start': this.definition.flex &&
|
|
71
|
+
(this.definition.align === undefined ||
|
|
72
|
+
this.definition.align === 'start'),
|
|
73
|
+
'justify-end': this.definition.flex && this.definition.align === 'end',
|
|
74
|
+
'justify-center': this.definition.flex && this.definition.align === 'end',
|
|
75
|
+
'text-start': !this.definition.flex &&
|
|
76
|
+
(this.definition.align === undefined ||
|
|
77
|
+
this.definition.align === 'start'),
|
|
78
|
+
'text-center': !this.definition.flex && this.definition.align === 'center',
|
|
79
|
+
'text-end': !this.definition.flex && this.definition.align === 'end',
|
|
73
80
|
}) }, this.variant === 'header' ? (this.data.value) : this.definition.useSlot ? (h("slot", null)) : (this.template(this.data))));
|
|
74
81
|
}
|
|
75
82
|
_getColumnClasses() {
|
|
@@ -107,6 +114,6 @@ function defineCustomElement() {
|
|
|
107
114
|
defineCustomElement();
|
|
108
115
|
|
|
109
116
|
export { TableCell as T, defineCustomElement as d };
|
|
110
|
-
//# sourceMappingURL=p-
|
|
117
|
+
//# sourceMappingURL=p-Q0QulP11.js.map
|
|
111
118
|
|
|
112
|
-
//# sourceMappingURL=p-
|
|
119
|
+
//# sourceMappingURL=p-Q0QulP11.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-Q0QulP11.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/molecules/table/cell/table-cell.component.css?tag=p-table-cell","src/components/molecules/table/cell/table-cell.component.tsx"],"sourcesContent":["","import { Component, Fragment, h, Prop } from '@stencil/core';\nimport {\n\tTableDefinitionData,\n\tTableDefinitionTemplateFunc,\n} from '../../../../types';\nimport { getTableCellColumnClasses, objectGetByPath } from '../../../../utils';\n\nimport { ThemedHost } from '../../../../internal/themed-host.component';\nimport { cn } from '../../../../utils/cn';\nimport { TableColumn } from '../../../helpers/table/column/table-column.component';\n\n/*\n With this, we shall hack the system in ways no one would ever have thought.\n\n\n ⠀⠀⠀⠀⠀⣠⣴⣶⣿⣿⠿⣷⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣶⣷⠿⣿⣿⣶⣦⣀⠀⠀⠀⠀⠀\n ⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣶⣦⣬⡉⠒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⢉⣥⣴⣾⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀\n ⠀⠀⠀⡾⠿⠛⠛⠛⠛⠿⢿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⣿⣿⣿⣿⣿⠿⠿⠛⠛⠛⠛⠿⢧⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⡿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⣠⣤⠶⠶⠶⠰⠦⣤⣀⠀⠙⣷⠀⠀⠀⠀⠀⠀⠀⢠⡿⠋⢀⣀⣤⢴⠆⠲⠶⠶⣤⣄⠀⠀⠀⠀⠀⠀⠀\n ⠀⠘⣆⠀⠀⢠⣾⣫⣶⣾⣿⣿⣿⣿⣷⣯⣿⣦⠈⠃⡇⠀⠀⠀⠀⢸⠘⢁⣶⣿⣵⣾⣿⣿⣿⣿⣷⣦⣝⣷⡄⠀⠀⡰⠂⠀\n ⠀⠀⣨⣷⣶⣿⣧⣛⣛⠿⠿⣿⢿⣿⣿⣛⣿⡿⠀⠀⡇⠀⠀⠀⠀⢸⠀⠈⢿⣟⣛⠿⢿⡿⢿⢿⢿⣛⣫⣼⡿⣶⣾⣅⡀⠀\n ⢀⡼⠋⠁⠀⠀⠈⠉⠛⠛⠻⠟⠸⠛⠋⠉⠁⠀⠀⢸⡇⠀⠀⠄⠀⢸⡄⠀⠀⠈⠉⠙⠛⠃⠻⠛⠛⠛⠉⠁⠀⠀⠈⠙⢧⡀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⡇⢠⠀⠀⠀⢸⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⡇⠀⠀⠀⠀⢸⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠟⠁⣿⠇⠀⠀⠀⠀⢸⡇⠙⢿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠰⣄⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⠖⡾⠁⠀⠀⣿⠀⠀⠀⠀⠀⠘⣿⠀⠀⠙⡇⢸⣷⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠄⠀\n ⠀⠀⢻⣷⡦⣤⣤⣤⡴⠶⠿⠛⠉⠁⠀⢳⠀⢠⡀⢿⣀⠀⠀⠀⠀⣠⡟⢀⣀⢠⠇⠀⠈⠙⠛⠷⠶⢦⣤⣤⣤⢴⣾⡏⠀⠀\n ⠀⠀⠈⣿⣧⠙⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⢊⣙⠛⠒⠒⢛⣋⡚⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⡿⠁⣾⡿⠀⠀⠀\n ⠀⠀⠀⠘⣿⣇⠈⢿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⡿⢿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⡟⠁⣼⡿⠁⠀⠀⠀\n ⠀⠀⠀⠀⠘⣿⣦⠀⠻⣿⣷⣦⣤⣤⣶⣶⣶⣿⣿⣿⣿⠏⠀⠀⠻⣿⣿⣿⣿⣶⣶⣶⣦⣤⣴⣿⣿⠏⢀⣼⡿⠁⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠘⢿⣷⣄⠙⠻⠿⠿⠿⠿⠿⢿⣿⣿⣿⣁⣀⣀⣀⣀⣙⣿⣿⣿⠿⠿⠿⠿⠿⠿⠟⠁⣠⣿⡿⠁⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠈⠻⣯⠙⢦⣀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⣠⠴⢋⣾⠟⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠙⢧⡀⠈⠉⠒⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠐⠒⠉⠁⢀⡾⠃⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⣠⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢦⡀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⢀⡴⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n */\n@Component({\n\ttag: 'p-table-cell',\n\tstyleUrl: 'table-cell.component.css',\n})\nexport class TableCell {\n\t/**\n\t * The variant of the column\n\t */\n\t@Prop() variant: 'default' | 'loading' | 'header' = 'default';\n\n\t/**\n\t * The index of the column\n\t */\n\t@Prop() index: number;\n\n\t/**\n\t * The index of the row\n\t */\n\t@Prop() rowIndex: number;\n\n\t/**\n\t * The definition of the table column\n\t */\n\t@Prop() definition?: TableColumn | any;\n\n\t/**\n\t * The item in question\n\t */\n\t@Prop() item: any;\n\n\t/**\n\t * The value of the column\n\t */\n\t@Prop() value: any;\n\n\t/**\n\t * The checkbox to show\n\t */\n\t@Prop() checkbox: any;\n\n\t/**\n\t * The template to show\n\t */\n\t@Prop() template: TableDefinitionTemplateFunc = ({\n\t\tvalue,\n\t}: TableDefinitionData) => value;\n\n\tget data(): TableDefinitionData | { value: string } {\n\t\tif (this.variant === 'header') {\n\t\t\treturn {\n\t\t\t\tvalue: this.value,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tvalue:\n\t\t\t\tthis.value ?? this.definition?.path\n\t\t\t\t\t? objectGetByPath(this.item, this.definition.path)\n\t\t\t\t\t: null,\n\t\t\titem: this.item,\n\t\t\tindex: this.index,\n\t\t\trowIndex: this.rowIndex,\n\t\t};\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<ThemedHost class={this._getColumnClasses()}>\n\t\t\t\t{this.checkbox}\n\n\t\t\t\t{this._getContent()}\n\n\t\t\t\t{false && (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<div class='text-storm-300 text-storm-400 text-storm-500 dark:text-hurricane-200 dark:text-white'></div>\n\t\t\t\t\t\t<div class='justify-start justify-end justify-center'></div>\n\t\t\t\t\t\t<div class='font-semibold text-storm-300 text-storm-400 text-storm-500'></div>\n\t\t\t\t\t\t<div class='w-12/12 w-1/12 w-10/12 w-11/12 w-2/12 w-3/12 w-4/12 w-5/12 w-6/12 w-7/12 w-8/12 w-9/12'></div>\n\t\t\t\t\t\t<div class='tablet:w-12/12 tablet:w-1/12 tablet:w-10/12 tablet:w-11/12 tablet:w-2/12 tablet:w-3/12 tablet:w-4/12 tablet:w-5/12 tablet:w-6/12 tablet:w-7/12 tablet:w-8/12 tablet:w-9/12'></div>\n\t\t\t\t\t\t<div class='desktop-xs:w-12/12 desktop-xs:w-1/12 desktop-xs:w-10/12 desktop-xs:w-11/12 desktop-xs:w-2/12 desktop-xs:w-3/12 desktop-xs:w-4/12 desktop-xs:w-5/12 desktop-xs:w-6/12 desktop-xs:w-7/12 desktop-xs:w-8/12 desktop-xs:w-9/12'></div>\n\t\t\t\t\t\t<div class='desktop-xs:w-12/12 desktop-xs:w-1/12 desktop-xs:w-10/12 desktop-xs:w-11/12 desktop-xs:w-2/12 desktop-xs:w-3/12 desktop-xs:w-4/12 desktop-xs:w-5/12 desktop-xs:w-6/12 desktop-xs:w-7/12 desktop-xs:w-8/12 desktop-xs:w-9/12'></div>\n\t\t\t\t\t\t<div class='desktop-sm:w-12/12 desktop-sm:w-1/12 desktop-sm:w-10/12 desktop-sm:w-11/12 desktop-sm:w-2/12 desktop-sm:w-3/12 desktop-sm:w-4/12 desktop-sm:w-5/12 desktop-sm:w-6/12 desktop-sm:w-7/12 desktop-sm:w-8/12 desktop-sm:w-9/12'></div>\n\t\t\t\t\t\t<div class='desktop:w-12/12 desktop:w-1/12 desktop:w-10/12 desktop:w-11/12 desktop:w-2/12 desktop:w-3/12 desktop:w-4/12 desktop:w-5/12 desktop:w-6/12 desktop:w-7/12 desktop:w-8/12 desktop:w-9/12'></div>\n\t\t\t\t\t\t<div class='desktop-lg:w-12/12 desktop-lg:w-1/12 desktop-lg:w-10/12 desktop-lg:w-11/12 desktop-lg:w-2/12 desktop-lg:w-3/12 desktop-lg:w-4/12 desktop-lg:w-5/12 desktop-lg:w-6/12 desktop-lg:w-7/12 desktop-lg:w-8/12 desktop-lg:w-9/12'></div>\n\t\t\t\t\t\t<div class='desktop-xl:w-12/12 desktop-xl:w-1/12 desktop-xl:w-10/12 desktop-xl:w-11/12 desktop-xl:w-2/12 desktop-xl:w-3/12 desktop-xl:w-4/12 desktop-xl:w-5/12 desktop-xl:w-6/12 desktop-xl:w-7/12 desktop-xl:w-8/12 desktop-xl:w-9/12'></div>\n\t\t\t\t\t\t<div class='flex hidden group-hover:flex group-hover:hidden'></div>\n\t\t\t\t\t\t<div class='tablet:flex tablet:hidden tablet:group-hover:flex tablet:group-hover:hidden'></div>\n\t\t\t\t\t\t<div class='desktop-xs:flex desktop-xs:hidden desktop-xs:group-hover:flex desktop-xs:group-hover:hidden'></div>\n\t\t\t\t\t\t<div class='desktop-sm:flex desktop-sm:hidden desktop-sm:group-hover:flex desktop-sm:group-hover:hidden'></div>\n\t\t\t\t\t\t<div class='desktop:flex desktop:hidden desktop:group-hover:flex desktop:group-hover:hidden'></div>\n\t\t\t\t\t\t<div class='desktop-lg:flex desktop-lg:hidden desktop-lg:group-hover:flex desktop-lg:group-hover:hidden'></div>\n\t\t\t\t\t\t<div class='desktop-xl:flex desktop-xl:hidden desktop-xl:group-hover:flex desktop-xl:group-hover:hidden'></div>\n\t\t\t\t\t\t<div class='pr-0 pr-4 last-of-type:pr-0'></div>\n\t\t\t\t\t\t<div class='tablet:pr-0 tablet:pr-4'></div>\n\t\t\t\t\t\t<div class='desktop-xs:pr-0 desktop-xs:pr-4'></div>\n\t\t\t\t\t\t<div class='desktop-sm:pr-0 desktop-sm:pr-4'></div>\n\t\t\t\t\t\t<div class='desktop:pr-0 desktop:pr-4'></div>\n\t\t\t\t\t\t<div class='desktop-lg:pr-0 desktop-lg:pr-4'></div>\n\t\t\t\t\t\t<div class='desktop-xl:pr-0 desktop-xl:pr-4'></div>\n\t\t\t\t\t</Fragment>\n\t\t\t\t)}\n\t\t\t</ThemedHost>\n\t\t);\n\t}\n\n\tprivate _getContent() {\n\t\tif (this.variant === 'loading') {\n\t\t\treturn (\n\t\t\t\t<p-loader\n\t\t\t\t\tvariant='ghost'\n\t\t\t\t\tclass='h-6 w-[calc(100%-1rem)] flex-1 rounded'\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={cn('overflow-hidden text-ellipsis', {\n\t\t\t\t\tflex: this.definition.flex,\n\t\t\t\t\t'justify-start':\n\t\t\t\t\t\tthis.definition.flex &&\n\t\t\t\t\t\t(this.definition.align === undefined ||\n\t\t\t\t\t\t\tthis.definition.align === 'start'),\n\t\t\t\t\t'justify-end':\n\t\t\t\t\t\tthis.definition.flex && this.definition.align === 'end',\n\t\t\t\t\t'justify-center':\n\t\t\t\t\t\tthis.definition.flex && this.definition.align === 'end',\n\t\t\t\t\t'text-start':\n\t\t\t\t\t\t!this.definition.flex &&\n\t\t\t\t\t\t(this.definition.align === undefined ||\n\t\t\t\t\t\t\tthis.definition.align === 'start'),\n\t\t\t\t\t'text-center':\n\t\t\t\t\t\t!this.definition.flex && this.definition.align === 'center',\n\t\t\t\t\t'text-end': !this.definition.flex && this.definition.align === 'end',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{this.variant === 'header' ? (\n\t\t\t\t\tthis.data.value\n\t\t\t\t) : this.definition.useSlot ? (\n\t\t\t\t\t<slot />\n\t\t\t\t) : (\n\t\t\t\t\tthis.template(this.data as TableDefinitionData)\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _getColumnClasses() {\n\t\treturn cn(getTableCellColumnClasses(this.definition, this.variant));\n\t}\n}\n"],"version":3}
|
|
@@ -18,6 +18,10 @@ const TableColumn = /*@__PURE__*/ proxyCustomElement(class TableColumn extends H
|
|
|
18
18
|
* The name of the column
|
|
19
19
|
*/
|
|
20
20
|
name;
|
|
21
|
+
/**
|
|
22
|
+
* Wether the column should be flex
|
|
23
|
+
*/
|
|
24
|
+
flex = false;
|
|
21
25
|
/**
|
|
22
26
|
* Wether the column should use the slot
|
|
23
27
|
*/
|
|
@@ -52,6 +56,7 @@ const TableColumn = /*@__PURE__*/ proxyCustomElement(class TableColumn extends H
|
|
|
52
56
|
"path": [1537],
|
|
53
57
|
"variant": [1537],
|
|
54
58
|
"name": [1537],
|
|
59
|
+
"flex": [1540],
|
|
55
60
|
"useSlot": [1540, "use-slot"],
|
|
56
61
|
"hasCheckbox": [1540, "has-checkbox"],
|
|
57
62
|
"align": [1537],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-table-column.js","mappings":";;MAMa,WAAW,iBAAAA,kBAAA,CAAA,MAAA,WAAA,SAAAC,CAAA,CAAA;;;;;;AACvB;;AAEG;AACqC,IAAA,IAAI;AAE5C;;AAEG;IACqC,OAAO,GAG9B,SAAS;AAE1B;;AAEG;AACqC,IAAA,IAAI;AAE5C;;AAEG;IACqC,OAAO,GAAY,KAAK;AAEhE;;AAEG;IACqC,WAAW,GAAY,KAAK;AAEpE;;AAEG;IACqC,KAAK,GAC5C,OAAO;AAER;;AAEG;AACqC,IAAA,WAAW;AAInD;;AAEG;IACsB,KAAK,GAKR,MAAM;AAE5B;;AAEG;AAEH,IAAA,sBAAsB;IAEtB,kBAAkB,GAAA;AACjB,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;;IAGvC,MAAM,GAAA;QACL
|
|
1
|
+
{"file":"p-table-column.js","mappings":";;MAMa,WAAW,iBAAAA,kBAAA,CAAA,MAAA,WAAA,SAAAC,CAAA,CAAA;;;;;;AACvB;;AAEG;AACqC,IAAA,IAAI;AAE5C;;AAEG;IACqC,OAAO,GAG9B,SAAS;AAE1B;;AAEG;AACqC,IAAA,IAAI;AAE5C;;AAEG;IACqC,IAAI,GAAY,KAAK;AAE7D;;AAEG;IACqC,OAAO,GAAY,KAAK;AAEhE;;AAEG;IACqC,WAAW,GAAY,KAAK;AAEpE;;AAEG;IACqC,KAAK,GAC5C,OAAO;AAER;;AAEG;AACqC,IAAA,WAAW;AAInD;;AAEG;IACsB,KAAK,GAKR,MAAM;AAE5B;;AAEG;AAEH,IAAA,sBAAsB;IAEtB,kBAAkB,GAAA;AACjB,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;;IAGvC,MAAM,GAAA;QACL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/helpers/table/column/table-column.component.tsx"],"sourcesContent":["import { Component, Event, EventEmitter, Prop } from '@stencil/core';\nimport { TableColumnSizes } from '../../../../types/table';\n\n@Component({\n\ttag: 'p-table-column',\n})\nexport class TableColumn {\n\t/**\n\t * The path of the value of the item you want to display\n\t */\n\t@Prop({ reflect: true, mutable: true }) path: string;\n\n\t/**\n\t * The variant of the column\n\t */\n\t@Prop({ reflect: true, mutable: true }) variant:\n\t\t| 'subject'\n\t\t| 'default'\n\t\t| 'highlight' = 'default';\n\n\t/**\n\t * The name of the column\n\t */\n\t@Prop({ reflect: true, mutable: true }) name: string;\n\n\t/**\n\t * Wether the column should be flex\n\t */\n\t@Prop({ reflect: true, mutable: true }) flex: boolean = false;\n\n\t/**\n\t * Wether the column should use the slot\n\t */\n\t@Prop({ reflect: true, mutable: true }) useSlot: boolean = false;\n\n\t/**\n\t * Wether the column should have a checkbox\n\t */\n\t@Prop({ reflect: true, mutable: true }) hasCheckbox: boolean = false;\n\n\t/**\n\t * The alignment of the column\n\t */\n\t@Prop({ reflect: true, mutable: true }) align: 'start' | 'center' | 'end' =\n\t\t'start';\n\n\t/**\n\t * Parsed sizes based on the complete set of columns\n\t */\n\t@Prop({ reflect: true, mutable: true }) parsedSizes:\n\t\t| TableColumnSizes\n\t\t| undefined;\n\n\t/**\n\t * The sizes of the column\n\t */\n\t@Prop({ mutable: true }) sizes:\n\t\t| 'auto'\n\t\t| 'hidden'\n\t\t| 'full'\n\t\t| number\n\t\t| TableColumnSizes = 'auto';\n\n\t/**\n\t * Event to let the table know it has to re render\n\t */\n\t@Event({ bubbles: true, composed: true })\n\ttableDefinitionChanged: EventEmitter<boolean>;\n\n\tcomponentDidUpdate() {\n\t\tthis.tableDefinitionChanged.emit(true);\n\t}\n\n\trender() {\n\t\treturn;\n\t}\n}\n"],"version":3}
|
|
@@ -27,10 +27,10 @@ import { d as defineCustomElement$c } from './p-C1RM6nHP.js';
|
|
|
27
27
|
import { d as defineCustomElement$b } from './p-DYWk-b-p.js';
|
|
28
28
|
import { d as defineCustomElement$a } from './p-Da28ikxq.js';
|
|
29
29
|
import { d as defineCustomElement$9 } from './p-BITmTm_E.js';
|
|
30
|
-
import { d as defineCustomElement$8 } from './p-
|
|
30
|
+
import { d as defineCustomElement$8 } from './p-Q0QulP11.js';
|
|
31
31
|
import { d as defineCustomElement$7 } from './p-BXoVx3x5.js';
|
|
32
|
-
import { d as defineCustomElement$6 } from './p-
|
|
33
|
-
import { d as defineCustomElement$5 } from './p-
|
|
32
|
+
import { d as defineCustomElement$6 } from './p-DjVT03PN.js';
|
|
33
|
+
import { d as defineCustomElement$5 } from './p-BJ_tiVQ2.js';
|
|
34
34
|
import { d as defineCustomElement$4 } from './p-BORmwkco.js';
|
|
35
35
|
import { d as defineCustomElement$3 } from './p-DNbLYhhD.js';
|
|
36
36
|
import { d as defineCustomElement$2 } from './p-CeJyspp0.js';
|
|
@@ -325,7 +325,7 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends H {
|
|
|
325
325
|
!!a.action &&
|
|
326
326
|
a.type === 'single'
|
|
327
327
|
? a.action(this.selectedRows[0], false)
|
|
328
|
-
: a.action(this.selectedRows, true) }, a.label))))) : (''), this.enableFooter && (h("p-table-footer", { key: '
|
|
328
|
+
: a.action(this.selectedRows, true) }, a.label))))) : (''), this.enableFooter && (h("p-table-footer", { key: '76b41d28147823cff101694aa49e4b8920eb5058',
|
|
329
329
|
// overall
|
|
330
330
|
hideOnSinglePage: this.hideOnSinglePage,
|
|
331
331
|
// page size select
|
|
@@ -333,7 +333,11 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends H {
|
|
|
333
333
|
// pagination
|
|
334
334
|
enablePaginationPages: this.enablePaginationPages, page: this.page, total: this.total, onPageChange: ({ detail }) => this.pageChange.emit(detail),
|
|
335
335
|
//loading
|
|
336
|
-
loading: this.footerLoading, onHiddenChange: ({ detail }) => (this._footerHidden = detail)
|
|
336
|
+
loading: this.footerLoading, onHiddenChange: ({ detail }) => (this._footerHidden = detail),
|
|
337
|
+
// header adjustment
|
|
338
|
+
tableHeaderHasAction: this.enableHeader &&
|
|
339
|
+
this.enableAction &&
|
|
340
|
+
this.actionButtonEnabled })))));
|
|
337
341
|
}
|
|
338
342
|
async _setLocales() {
|
|
339
343
|
this._locales = await getLocaleComponentStrings(this._el);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-table.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/organisms/table/table.component.css?tag=p-table","src/components/organisms/table/table.component.tsx"],"sourcesContent":["","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, PCheckboxCustomEvent } from '../../../components';\nimport { tableColumSizesOptions } from '../../../types/constants';\nimport {\n\tQuickFilter,\n\tRowClickEvent,\n\tTableColumnSizes,\n} from '../../../types/table';\nimport {\n\tfloatingMenuContainerClass,\n\tformatTranslation,\n\tgetLocaleComponentStrings,\n\tisMobile,\n} from '../../../utils';\nimport { cn } from '../../../utils/cn';\nimport {\n\tPAGINATION_DEFAULT_PAGE_SIZE,\n\tPAGINATION_DEFAULT_PAGE_SIZE_OPTIONS,\n} from '../../../utils/constants';\nimport { TableColumn } from '../../helpers/table/column/table-column.component';\nimport { TableRowAction } from '../../helpers/table/row-action/table-row-action.component';\nimport { buttonTemplateFunc } from '../../molecules/table/header/table-header.component';\n\nexport type templateFunc = () => string;\nexport type amountSelectedTemplateFunc = (amount: number) => string;\n\n@Component({\n\ttag: 'p-table',\n\tstyleUrl: 'table.component.css',\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[] | string = [];\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 * Wether to show the filter button on desktop\n\t */\n\t@Prop() enableFilterDesktop: 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 pagination size select\n\t */\n\t@Prop() enablePaginationSize: boolean = true;\n\n\t/**\n\t * Wether to enable pagination pages\n\t */\n\t@Prop() enablePaginationPages: 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 = PAGINATION_DEFAULT_PAGE_SIZE;\n\n\t/**\n\t * The options for the page size\n\t */\n\t@Prop() pageSizeOptions: number[] = PAGINATION_DEFAULT_PAGE_SIZE_OPTIONS;\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\tprivate _rowActionsFloatingAll: TableRowAction[] = [];\n\t@State() private _rowActionsFloating: TableRowAction[] = [];\n\t@State() private _rowActionsRow: TableRowAction[] = [];\n\n\t@State() private _footerHidden: boolean = false;\n\n\tprivate _ctrlDown = false;\n\tprivate _hasCustomFilterSlot = false;\n\tprivate _hasCustomActionsSlot = false;\n\tprivate _floatingMenuShown = false;\n\tprivate _resizeTimeout: NodeJS.Timeout | undefined;\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._hasCustomActionsSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-actions\"]'\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='z-0 flex flex-col'>\n\t\t\t\t<p-table-container>\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\tclass='mb-8'\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={this.activeQuickFilterIdentifier}\n\t\t\t\t\t\t\tonQuickFilter={({ detail }) => this.quickFilter.emit(detail)}\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 }) => this.queryChange.emit(detail)}\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\tenableFilterDesktop={this.enableFilterDesktop}\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//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.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\n\t\t\t\t\t\t\t{this._hasCustomActionsSlot && (\n\t\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t\tname='custom-actions'\n\t\t\t\t\t\t\t\t\tslot='custom-actions'\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-1 flex-col'>\n\t\t\t\t\t\t{this._getRows()}\n\t\t\t\t\t\t<slot name='custom-rows' />\n\t\t\t\t\t</div>\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={floatingMenuContainerClass({\n\t\t\t\t\t\t\t\thasFooter: this.enableFooter && !this._footerHidden,\n\t\t\t\t\t\t\t\tactive: !!this.selectedRows?.length,\n\t\t\t\t\t\t\t\tshown: this._floatingMenuShown,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tamountSelectedTemplate={this.floatingMenuAmountSelectedTemplate}\n\t\t\t\t\t\t\tamount={this.selectedRows?.length}\n\t\t\t\t\t\t\tenableAmountSelected={!!this._rowActionsFloating?.length}\n\t\t\t\t\t\t\tonClose={() => this._selectAllChange(null, false)}\n\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\tloading={a.loading}\n\t\t\t\t\t\t\t\t\t\ticon={a.icon}\n\t\t\t\t\t\t\t\t\t\ticonRotate={a.iconRotate}\n\t\t\t\t\t\t\t\t\t\ticonFlip={a.iconFlip}\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(this.selectedRows[0], false)\n\t\t\t\t\t\t\t\t\t\t\t\t: a.action(this.selectedRows, true)\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</p-floating-menu-item>\n\t\t\t\t\t\t\t\t))}\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\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\tenablePaginationSize={this.enablePaginationSize}\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\tenablePaginationPages={this.enablePaginationPages}\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 }) => this.pageChange.emit(detail)}\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\tonHiddenChange={({ detail }) => (this._footerHidden = detail)}\n\t\t\t\t\t\t></p-table-footer>\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\ta => a.type === 'both' || a.type === 'single'\n\t\t\t);\n\t\t\tthis._rowActionsFloatingAll = actions\n\t\t\t\t.filter(\n\t\t\t\t\ta =>\n\t\t\t\t\t\t(this.enableRowSelection &&\n\t\t\t\t\t\t\t(a.type === 'both' || a.type === 'multi')) ||\n\t\t\t\t\t\t(mobile && a.type === 'single')\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._rowActionsFloatingAll?.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._rowActionsFloatingAll?.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\n\t\t\tif (this._floatingMenuShown) {\n\t\t\t\tthis._showFloatingMenu();\n\t\t\t}\n\t\t}, 200);\n\t}\n\n\tprivate _generateColumns() {\n\t\tconst definitions = this._el.querySelectorAll('p-table-column');\n\t\tlet definitionsArray = Array.from(definitions);\n\n\t\tdefinitionsArray = this._parseDefinitions(definitionsArray);\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(null, this.loading ? 'loading' : 'header')\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={this._enableRowSelection || this.enableRowClick}\n\t\t\t\t\t\tisLast={i === this.amountOfLoadingRows - 1}\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\tchecked={this._selectionContains(index)}\n\t\t\t\tonClick={ev => this._rowClick(ev, index)}\n\t\t\t\tisLast={index === this._items.length - 1}\n\t\t\t>\n\t\t\t\t{this._getRowColumns(item, index)}\n\t\t\t\t{this._getActions(item, index)}\n\t\t\t</p-table-row>\n\t\t));\n\t}\n\n\tprivate _getActions(item, index) {\n\t\tconst actions = this._rowActionsRow.filter(a =>\n\t\t\ta.showFunction ? a.showFunction(item) : true\n\t\t);\n\n\t\tif (actions?.length && !isMobile()) {\n\t\t\treturn (\n\t\t\t\t<p-table-row-actions-container\n\t\t\t\t\tslot='actions'\n\t\t\t\t\tchecked={this._selectionContains(index)}\n\t\t\t\t>\n\t\t\t\t\t{actions.map(a => (\n\t\t\t\t\t\t<p-tooltip\n\t\t\t\t\t\t\tstrategy='fixed'\n\t\t\t\t\t\t\tcontent={a.label}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\tdata-is-action\n\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\t\t\ticon={a.icon}\n\t\t\t\t\t\t\t\ticonRotate={a.iconRotate}\n\t\t\t\t\t\t\t\ticonFlip={a.iconFlip}\n\t\t\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\t\t\tsize='sm'\n\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\ttypeof a.action === 'function' && a.action?.(item, false)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t></p-button>\n\t\t\t\t\t\t</p-tooltip>\n\t\t\t\t\t))}\n\t\t\t\t</p-table-row-actions-container>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n\tprivate _getRowColumns(item, 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\titem={item}\n\t\t\t\t\tcheckbox={\n\t\t\t\t\t\tcolIndex === 0 || col.hasCheckbox ? this._getCheckbox(index) : 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 _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 (\n\t\t\t\t<p-loader\n\t\t\t\t\tvariant='ghost'\n\t\t\t\t\tclass='h-6 w-6 rounded'\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tif (variant === 'header') {\n\t\t\treturn (\n\t\t\t\t<p-checkbox\n\t\t\t\t\tclass={cn({\n\t\t\t\t\t\t'opacity-0': this._rowSelectionLimit !== undefined,\n\t\t\t\t\t})}\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\tonCheckedChange={ev => this._selectAllChange(ev)}\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<p-checkbox\n\t\t\t\tclass='flex-shrink-0'\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\tonCheckedChange={ev => this._checkboxChange(ev, rowIndex)}\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<p-empty-state\n\t\t\t\t\tclass='my-16 self-center'\n\t\t\t\t\tillustration='search'\n\t\t\t\t\theader={this.emptyStateFilteredHeader()}\n\t\t\t\t\tcontent={this.emptyStateFilteredContent()}\n\t\t\t\t></p-empty-state>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<p-empty-state\n\t\t\t\tclass='my-16 self-center'\n\t\t\t\tillustration='table'\n\t\t\t\theader={this.emptyStateHeader()}\n\t\t\t\tcontent={this.emptyStateContent()}\n\t\t\t\tenableAction={this.enableEmptyStateAction}\n\t\t\t\tactionIcon='plus'\n\t\t\t\tactionText={this.emptyStateAction()}\n\t\t\t\tonAction={() => this.enableAction && this.action.emit()}\n\t\t\t></p-empty-state>\n\t\t);\n\t}\n\n\tprivate _selectAllChange(\n\t\tev: PCheckboxCustomEvent<boolean>,\n\t\tforceValue?: boolean\n\t) {\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst checked = ev?.detail ?? forceValue ?? false;\n\n\t\tconst value = forceValue === undefined ? checked : 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 === this._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._showFloatingMenu();\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\td => this._getSelectionValue(d, i) === this._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(\n\t\t{ detail: checked, target }: PCheckboxCustomEvent<boolean>,\n\t\tindex: number\n\t) {\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\tchecked &&\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 (checked) {\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._showFloatingMenu();\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 _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\titem => 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\tprivate _showFloatingMenu() {\n\t\tlet actions = this._rowActionsFloatingAll;\n\t\tif (\n\t\t\tthis.rowSelectionLimit === 1 &&\n\t\t\tactions.findIndex(\n\t\t\t\ta => (a.type === 'single' || a.type === 'both') && a.showFunction\n\t\t\t) >= 0\n\t\t) {\n\t\t\tactions = actions.filter(\n\t\t\t\ta =>\n\t\t\t\t\ta.type === 'multi' ||\n\t\t\t\t\t!a.showFunction ||\n\t\t\t\t\ta.showFunction(this.selectedRows[0])\n\t\t\t);\n\t\t}\n\n\t\tthis._rowActionsFloating = actions;\n\t\tthis._floatingMenuShown = true;\n\t}\n\n\tprivate _parseDefinitions(definitionsArray: HTMLPTableColumnElement[]) {\n\t\treturn definitionsArray.map(definition => {\n\t\t\tdefinition = this._parseDefinitionSizes(definition);\n\t\t\treturn definition;\n\t\t});\n\t}\n\n\tprivate _parseDefinitionSizes(definition: HTMLPTableColumnElement) {\n\t\tconst definitionAny = definition as any;\n\t\tlet parsedSizes: TableColumnSizes = { default: 'full' };\n\n\t\tif (\n\t\t\ttypeof definition.sizes === 'string' &&\n\t\t\t!['auto', 'hidden', 'full'].includes(definition.sizes)\n\t\t) {\n\t\t\tdefinition.sizes = JSON.parse(definition.sizes);\n\t\t}\n\n\t\tfor (const [index, size] of tableColumSizesOptions.entries()) {\n\t\t\tif (\n\t\t\t\tdefinitionAny.sizes === 'auto' ||\n\t\t\t\tdefinitionAny.sizes === 'hidden' ||\n\t\t\t\tdefinitionAny.sizes === 'full' ||\n\t\t\t\ttypeof definitionAny.sizes === 'number'\n\t\t\t) {\n\t\t\t\tparsedSizes[size] =\n\t\t\t\t\tdefinitionAny.sizes === 'auto' ? 'full' : definitionAny.sizes;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tparsedSizes[size] =\n\t\t\t\tdefinitionAny.sizes[size] ??\n\t\t\t\tparsedSizes[tableColumSizesOptions[index - 1]];\n\t\t}\n\n\t\tdefinition.parsedSizes = parsedSizes;\n\t\treturn definition;\n\t}\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-table.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/organisms/table/table.component.css?tag=p-table","src/components/organisms/table/table.component.tsx"],"sourcesContent":["","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, PCheckboxCustomEvent } from '../../../components';\nimport { tableColumSizesOptions } from '../../../types/constants';\nimport {\n\tQuickFilter,\n\tRowClickEvent,\n\tTableColumnSizes,\n} from '../../../types/table';\nimport {\n\tfloatingMenuContainerClass,\n\tformatTranslation,\n\tgetLocaleComponentStrings,\n\tisMobile,\n} from '../../../utils';\nimport { cn } from '../../../utils/cn';\nimport {\n\tPAGINATION_DEFAULT_PAGE_SIZE,\n\tPAGINATION_DEFAULT_PAGE_SIZE_OPTIONS,\n} from '../../../utils/constants';\nimport { TableColumn } from '../../helpers/table/column/table-column.component';\nimport { TableRowAction } from '../../helpers/table/row-action/table-row-action.component';\nimport { buttonTemplateFunc } from '../../molecules/table/header/table-header.component';\n\nexport type templateFunc = () => string;\nexport type amountSelectedTemplateFunc = (amount: number) => string;\n\n@Component({\n\ttag: 'p-table',\n\tstyleUrl: 'table.component.css',\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[] | string = [];\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 * Wether to show the filter button on desktop\n\t */\n\t@Prop() enableFilterDesktop: 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 pagination size select\n\t */\n\t@Prop() enablePaginationSize: boolean = true;\n\n\t/**\n\t * Wether to enable pagination pages\n\t */\n\t@Prop() enablePaginationPages: 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 = PAGINATION_DEFAULT_PAGE_SIZE;\n\n\t/**\n\t * The options for the page size\n\t */\n\t@Prop() pageSizeOptions: number[] = PAGINATION_DEFAULT_PAGE_SIZE_OPTIONS;\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\tprivate _rowActionsFloatingAll: TableRowAction[] = [];\n\t@State() private _rowActionsFloating: TableRowAction[] = [];\n\t@State() private _rowActionsRow: TableRowAction[] = [];\n\n\t@State() private _footerHidden: boolean = false;\n\n\tprivate _ctrlDown = false;\n\tprivate _hasCustomFilterSlot = false;\n\tprivate _hasCustomActionsSlot = false;\n\tprivate _floatingMenuShown = false;\n\tprivate _resizeTimeout: NodeJS.Timeout | undefined;\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._hasCustomActionsSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-actions\"]'\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='z-0 flex flex-col'>\n\t\t\t\t<p-table-container>\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\tclass='mb-8'\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={this.activeQuickFilterIdentifier}\n\t\t\t\t\t\t\tonQuickFilter={({ detail }) => this.quickFilter.emit(detail)}\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 }) => this.queryChange.emit(detail)}\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\tenableFilterDesktop={this.enableFilterDesktop}\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//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.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\n\t\t\t\t\t\t\t{this._hasCustomActionsSlot && (\n\t\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t\tname='custom-actions'\n\t\t\t\t\t\t\t\t\tslot='custom-actions'\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-1 flex-col'>\n\t\t\t\t\t\t{this._getRows()}\n\t\t\t\t\t\t<slot name='custom-rows' />\n\t\t\t\t\t</div>\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={floatingMenuContainerClass({\n\t\t\t\t\t\t\t\thasFooter: this.enableFooter && !this._footerHidden,\n\t\t\t\t\t\t\t\tactive: !!this.selectedRows?.length,\n\t\t\t\t\t\t\t\tshown: this._floatingMenuShown,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tamountSelectedTemplate={this.floatingMenuAmountSelectedTemplate}\n\t\t\t\t\t\t\tamount={this.selectedRows?.length}\n\t\t\t\t\t\t\tenableAmountSelected={!!this._rowActionsFloating?.length}\n\t\t\t\t\t\t\tonClose={() => this._selectAllChange(null, false)}\n\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\tloading={a.loading}\n\t\t\t\t\t\t\t\t\t\ticon={a.icon}\n\t\t\t\t\t\t\t\t\t\ticonRotate={a.iconRotate}\n\t\t\t\t\t\t\t\t\t\ticonFlip={a.iconFlip}\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(this.selectedRows[0], false)\n\t\t\t\t\t\t\t\t\t\t\t\t: a.action(this.selectedRows, true)\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</p-floating-menu-item>\n\t\t\t\t\t\t\t\t))}\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\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\tenablePaginationSize={this.enablePaginationSize}\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\tenablePaginationPages={this.enablePaginationPages}\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 }) => this.pageChange.emit(detail)}\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\tonHiddenChange={({ detail }) => (this._footerHidden = detail)}\n\t\t\t\t\t\t\t// header adjustment\n\t\t\t\t\t\t\ttableHeaderHasAction={\n\t\t\t\t\t\t\t\tthis.enableHeader &&\n\t\t\t\t\t\t\t\tthis.enableAction &&\n\t\t\t\t\t\t\t\tthis.actionButtonEnabled\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t></p-table-footer>\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\ta => a.type === 'both' || a.type === 'single'\n\t\t\t);\n\t\t\tthis._rowActionsFloatingAll = actions\n\t\t\t\t.filter(\n\t\t\t\t\ta =>\n\t\t\t\t\t\t(this.enableRowSelection &&\n\t\t\t\t\t\t\t(a.type === 'both' || a.type === 'multi')) ||\n\t\t\t\t\t\t(mobile && a.type === 'single')\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._rowActionsFloatingAll?.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._rowActionsFloatingAll?.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\n\t\t\tif (this._floatingMenuShown) {\n\t\t\t\tthis._showFloatingMenu();\n\t\t\t}\n\t\t}, 200);\n\t}\n\n\tprivate _generateColumns() {\n\t\tconst definitions = this._el.querySelectorAll('p-table-column');\n\t\tlet definitionsArray = Array.from(definitions);\n\n\t\tdefinitionsArray = this._parseDefinitions(definitionsArray);\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(null, this.loading ? 'loading' : 'header')\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={this._enableRowSelection || this.enableRowClick}\n\t\t\t\t\t\tisLast={i === this.amountOfLoadingRows - 1}\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\tchecked={this._selectionContains(index)}\n\t\t\t\tonClick={ev => this._rowClick(ev, index)}\n\t\t\t\tisLast={index === this._items.length - 1}\n\t\t\t>\n\t\t\t\t{this._getRowColumns(item, index)}\n\t\t\t\t{this._getActions(item, index)}\n\t\t\t</p-table-row>\n\t\t));\n\t}\n\n\tprivate _getActions(item, index) {\n\t\tconst actions = this._rowActionsRow.filter(a =>\n\t\t\ta.showFunction ? a.showFunction(item) : true\n\t\t);\n\n\t\tif (actions?.length && !isMobile()) {\n\t\t\treturn (\n\t\t\t\t<p-table-row-actions-container\n\t\t\t\t\tslot='actions'\n\t\t\t\t\tchecked={this._selectionContains(index)}\n\t\t\t\t>\n\t\t\t\t\t{actions.map(a => (\n\t\t\t\t\t\t<p-tooltip\n\t\t\t\t\t\t\tstrategy='fixed'\n\t\t\t\t\t\t\tcontent={a.label}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\tdata-is-action\n\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\t\t\ticon={a.icon}\n\t\t\t\t\t\t\t\ticonRotate={a.iconRotate}\n\t\t\t\t\t\t\t\ticonFlip={a.iconFlip}\n\t\t\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\t\t\tsize='sm'\n\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\ttypeof a.action === 'function' && a.action?.(item, false)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t></p-button>\n\t\t\t\t\t\t</p-tooltip>\n\t\t\t\t\t))}\n\t\t\t\t</p-table-row-actions-container>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n\tprivate _getRowColumns(item, 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\titem={item}\n\t\t\t\t\tcheckbox={\n\t\t\t\t\t\tcolIndex === 0 || col.hasCheckbox ? this._getCheckbox(index) : 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 _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 (\n\t\t\t\t<p-loader\n\t\t\t\t\tvariant='ghost'\n\t\t\t\t\tclass='h-6 w-6 rounded'\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tif (variant === 'header') {\n\t\t\treturn (\n\t\t\t\t<p-checkbox\n\t\t\t\t\tclass={cn({\n\t\t\t\t\t\t'opacity-0': this._rowSelectionLimit !== undefined,\n\t\t\t\t\t})}\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\tonCheckedChange={ev => this._selectAllChange(ev)}\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<p-checkbox\n\t\t\t\tclass='flex-shrink-0'\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\tonCheckedChange={ev => this._checkboxChange(ev, rowIndex)}\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<p-empty-state\n\t\t\t\t\tclass='my-16 self-center'\n\t\t\t\t\tillustration='search'\n\t\t\t\t\theader={this.emptyStateFilteredHeader()}\n\t\t\t\t\tcontent={this.emptyStateFilteredContent()}\n\t\t\t\t></p-empty-state>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<p-empty-state\n\t\t\t\tclass='my-16 self-center'\n\t\t\t\tillustration='table'\n\t\t\t\theader={this.emptyStateHeader()}\n\t\t\t\tcontent={this.emptyStateContent()}\n\t\t\t\tenableAction={this.enableEmptyStateAction}\n\t\t\t\tactionIcon='plus'\n\t\t\t\tactionText={this.emptyStateAction()}\n\t\t\t\tonAction={() => this.enableAction && this.action.emit()}\n\t\t\t></p-empty-state>\n\t\t);\n\t}\n\n\tprivate _selectAllChange(\n\t\tev: PCheckboxCustomEvent<boolean>,\n\t\tforceValue?: boolean\n\t) {\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst checked = ev?.detail ?? forceValue ?? false;\n\n\t\tconst value = forceValue === undefined ? checked : 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 === this._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._showFloatingMenu();\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\td => this._getSelectionValue(d, i) === this._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(\n\t\t{ detail: checked, target }: PCheckboxCustomEvent<boolean>,\n\t\tindex: number\n\t) {\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\tchecked &&\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 (checked) {\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._showFloatingMenu();\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 _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\titem => 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\tprivate _showFloatingMenu() {\n\t\tlet actions = this._rowActionsFloatingAll;\n\t\tif (\n\t\t\tthis.rowSelectionLimit === 1 &&\n\t\t\tactions.findIndex(\n\t\t\t\ta => (a.type === 'single' || a.type === 'both') && a.showFunction\n\t\t\t) >= 0\n\t\t) {\n\t\t\tactions = actions.filter(\n\t\t\t\ta =>\n\t\t\t\t\ta.type === 'multi' ||\n\t\t\t\t\t!a.showFunction ||\n\t\t\t\t\ta.showFunction(this.selectedRows[0])\n\t\t\t);\n\t\t}\n\n\t\tthis._rowActionsFloating = actions;\n\t\tthis._floatingMenuShown = true;\n\t}\n\n\tprivate _parseDefinitions(definitionsArray: HTMLPTableColumnElement[]) {\n\t\treturn definitionsArray.map(definition => {\n\t\t\tdefinition = this._parseDefinitionSizes(definition);\n\t\t\treturn definition;\n\t\t});\n\t}\n\n\tprivate _parseDefinitionSizes(definition: HTMLPTableColumnElement) {\n\t\tconst definitionAny = definition as any;\n\t\tlet parsedSizes: TableColumnSizes = { default: 'full' };\n\n\t\tif (\n\t\t\ttypeof definition.sizes === 'string' &&\n\t\t\t!['auto', 'hidden', 'full'].includes(definition.sizes)\n\t\t) {\n\t\t\tdefinition.sizes = JSON.parse(definition.sizes);\n\t\t}\n\n\t\tfor (const [index, size] of tableColumSizesOptions.entries()) {\n\t\t\tif (\n\t\t\t\tdefinitionAny.sizes === 'auto' ||\n\t\t\t\tdefinitionAny.sizes === 'hidden' ||\n\t\t\t\tdefinitionAny.sizes === 'full' ||\n\t\t\t\ttypeof definitionAny.sizes === 'number'\n\t\t\t) {\n\t\t\t\tparsedSizes[size] =\n\t\t\t\t\tdefinitionAny.sizes === 'auto' ? 'full' : definitionAny.sizes;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tparsedSizes[size] =\n\t\t\t\tdefinitionAny.sizes[size] ??\n\t\t\t\tparsedSizes[tableColumSizesOptions[index - 1]];\n\t\t}\n\n\t\tdefinition.parsedSizes = parsedSizes;\n\t\treturn definition;\n\t}\n}\n"],"version":3}
|