ng-firebase-table-kxp 1.2.4 → 1.2.6

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.
Files changed (34) hide show
  1. package/esm2020/lib/components/table/table.component.mjs +1557 -0
  2. package/esm2020/lib/components/table-tabs/table-tabs.component.mjs +129 -0
  3. package/esm2020/lib/components/table-tooltip/table-tooltip.component.mjs +49 -0
  4. package/esm2020/lib/ng-firebase-table-kxp.component.mjs +15 -0
  5. package/esm2020/lib/ng-firebase-table-kxp.module.mjs +103 -0
  6. package/esm2020/lib/ng-firebase-table-kxp.service.mjs +14 -0
  7. package/esm2020/lib/services/filter.service.mjs +416 -0
  8. package/esm2020/lib/services/pagination.service.mjs +115 -0
  9. package/esm2020/lib/services/table.service.mjs +1140 -0
  10. package/esm2020/lib/services/tooltip.service.mjs +141 -0
  11. package/esm2020/lib/types/Table.mjs +9 -0
  12. package/esm2020/lib/utils/table.utils.mjs +75 -0
  13. package/esm2020/ng-firebase-table-kxp.mjs +5 -0
  14. package/esm2020/public-api.mjs +22 -0
  15. package/fesm2015/ng-firebase-table-kxp.mjs +4026 -0
  16. package/fesm2015/ng-firebase-table-kxp.mjs.map +1 -0
  17. package/{fesm2022 → fesm2020}/ng-firebase-table-kxp.mjs +3666 -3659
  18. package/fesm2020/ng-firebase-table-kxp.mjs.map +1 -0
  19. package/index.d.ts +5 -666
  20. package/lib/components/table/table.component.d.ts +135 -0
  21. package/lib/components/table-tabs/table-tabs.component.d.ts +34 -0
  22. package/lib/components/table-tooltip/table-tooltip.component.d.ts +18 -0
  23. package/lib/ng-firebase-table-kxp.component.d.ts +5 -0
  24. package/lib/ng-firebase-table-kxp.module.d.ts +24 -0
  25. package/lib/ng-firebase-table-kxp.service.d.ts +6 -0
  26. package/lib/services/filter.service.d.ts +88 -0
  27. package/lib/services/pagination.service.d.ts +34 -0
  28. package/lib/services/table.service.d.ts +80 -0
  29. package/lib/services/tooltip.service.d.ts +73 -0
  30. package/lib/types/Table.d.ts +162 -0
  31. package/lib/utils/table.utils.d.ts +25 -0
  32. package/package.json +11 -3
  33. package/public-api.d.ts +12 -0
  34. package/fesm2022/ng-firebase-table-kxp.mjs.map +0 -1
@@ -0,0 +1,129 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ function TableTabsComponent_div_0_ng_container_1_ng_container_2_span_3_Template(rf, ctx) { if (rf & 1) {
5
+ i0.ɵɵelementStart(0, "span", 6);
6
+ i0.ɵɵtext(1);
7
+ i0.ɵɵelementEnd();
8
+ } if (rf & 2) {
9
+ const tab_r5 = i0.ɵɵnextContext().$implicit;
10
+ i0.ɵɵproperty("ngClass", tab_r5.counterClass);
11
+ i0.ɵɵadvance(1);
12
+ i0.ɵɵtextInterpolate1(" ", tab_r5.counter, " ");
13
+ } }
14
+ function TableTabsComponent_div_0_ng_container_1_ng_container_2_Template(rf, ctx) { if (rf & 1) {
15
+ const _r11 = i0.ɵɵgetCurrentView();
16
+ i0.ɵɵelementContainerStart(0);
17
+ i0.ɵɵelementStart(1, "button", 4);
18
+ i0.ɵɵlistener("click", function TableTabsComponent_div_0_ng_container_1_ng_container_2_Template_button_click_1_listener() { const restoredCtx = i0.ɵɵrestoreView(_r11); const j_r6 = restoredCtx.index; const i_r3 = i0.ɵɵnextContext().index; const ctx_r9 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r9.onTabSelected(i_r3, j_r6)); });
19
+ i0.ɵɵtext(2);
20
+ i0.ɵɵtemplate(3, TableTabsComponent_div_0_ng_container_1_ng_container_2_span_3_Template, 2, 2, "span", 5);
21
+ i0.ɵɵelementEnd();
22
+ i0.ɵɵelementContainerEnd();
23
+ } if (rf & 2) {
24
+ const tab_r5 = ctx.$implicit;
25
+ const j_r6 = ctx.index;
26
+ const i_r3 = i0.ɵɵnextContext().index;
27
+ const ctx_r4 = i0.ɵɵnextContext(2);
28
+ i0.ɵɵadvance(1);
29
+ i0.ɵɵproperty("ngClass", ctx_r4.isTabSelected(ctx_r4.getRealTabIndex(i_r3, j_r6)) ? "border-b-0 brightness-110" : "");
30
+ i0.ɵɵadvance(1);
31
+ i0.ɵɵtextInterpolate1(" ", tab_r5.label, " ");
32
+ i0.ɵɵadvance(1);
33
+ i0.ɵɵproperty("ngIf", tab_r5.counter !== undefined);
34
+ } }
35
+ function TableTabsComponent_div_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
36
+ i0.ɵɵelementContainerStart(0);
37
+ i0.ɵɵelementStart(1, "div", 3);
38
+ i0.ɵɵtemplate(2, TableTabsComponent_div_0_ng_container_1_ng_container_2_Template, 4, 3, "ng-container", 2);
39
+ i0.ɵɵelementEnd();
40
+ i0.ɵɵelementContainerEnd();
41
+ } if (rf & 2) {
42
+ const groupIndex_r2 = ctx.$implicit;
43
+ const ctx_r1 = i0.ɵɵnextContext(2);
44
+ i0.ɵɵadvance(2);
45
+ i0.ɵɵproperty("ngForOf", ctx_r1.getTabGroup(groupIndex_r2));
46
+ } }
47
+ function TableTabsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
48
+ i0.ɵɵelementStart(0, "div", 1);
49
+ i0.ɵɵtemplate(1, TableTabsComponent_div_0_ng_container_1_Template, 3, 1, "ng-container", 2);
50
+ i0.ɵɵelementEnd();
51
+ } if (rf & 2) {
52
+ const ctx_r0 = i0.ɵɵnextContext();
53
+ i0.ɵɵadvance(1);
54
+ i0.ɵɵproperty("ngForOf", ctx_r0.getTabGroups());
55
+ } }
56
+ export class TableTabsComponent {
57
+ constructor() {
58
+ this.tabsData = [];
59
+ this.selectedTab = 0;
60
+ this.tabSelected = new EventEmitter();
61
+ this.TABS_PER_GROUP = 6;
62
+ }
63
+ /**
64
+ * Retorna os índices dos grupos de tabs (invertidos para exibição vertical)
65
+ */
66
+ getTabGroups() {
67
+ if (!this.tabsData || this.tabsData.length === 0)
68
+ return [];
69
+ const totalGroups = Math.ceil(this.tabsData.length / this.TABS_PER_GROUP);
70
+ const groups = [];
71
+ for (let i = totalGroups - 1; i >= 0; i--) {
72
+ groups.push(i);
73
+ }
74
+ return groups;
75
+ }
76
+ /**
77
+ * Retorna os tabs de um grupo específico
78
+ */
79
+ getTabGroup(groupIndex) {
80
+ if (!this.tabsData || this.tabsData.length === 0)
81
+ return [];
82
+ const startIndex = groupIndex * this.TABS_PER_GROUP;
83
+ const endIndex = Math.min(startIndex + this.TABS_PER_GROUP, this.tabsData.length);
84
+ return this.tabsData.slice(startIndex, endIndex);
85
+ }
86
+ /**
87
+ * Calcula o índice real do tab considerando a inversão vertical
88
+ */
89
+ getRealTabIndex(groupDisplayIndex, tabIndexInGroup) {
90
+ if (!this.tabsData)
91
+ return 0;
92
+ const totalGroups = Math.ceil(this.tabsData.length / this.TABS_PER_GROUP);
93
+ const realGroupIndex = totalGroups - 1 - groupDisplayIndex;
94
+ return realGroupIndex * this.TABS_PER_GROUP + tabIndexInGroup;
95
+ }
96
+ /**
97
+ * Manipula a seleção de um tab
98
+ */
99
+ onTabSelected(groupDisplayIndex, tabIndexInGroup) {
100
+ const realIndex = this.getRealTabIndex(groupDisplayIndex, tabIndexInGroup);
101
+ const tab = this.tabsData[realIndex];
102
+ if (tab) {
103
+ this.tabSelected.emit({ tab, index: realIndex });
104
+ }
105
+ }
106
+ /**
107
+ * Verifica se um tab está selecionado
108
+ */
109
+ isTabSelected(originalIndex) {
110
+ return this.selectedTab === originalIndex;
111
+ }
112
+ }
113
+ TableTabsComponent.ɵfac = function TableTabsComponent_Factory(t) { return new (t || TableTabsComponent)(); };
114
+ TableTabsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableTabsComponent, selectors: [["lib-table-tabs"]], inputs: { tabsData: "tabsData", selectedTab: "selectedTab" }, outputs: { tabSelected: "tabSelected" }, decls: 1, vars: 1, consts: [["class", "mx-auto flex flex-col", 4, "ngIf"], [1, "mx-auto", "flex", "flex-col"], [4, "ngFor", "ngForOf"], [1, "mx-auto", "flex", "flex-row"], [1, "border-2", "border-gray-300", "bg-gray-200", "px-4", "py-2", "font-medium", "transition", "hover:brightness-95", 3, "ngClass", "click"], ["class", "ml-2 text-xs font-bold", 3, "ngClass", 4, "ngIf"], [1, "ml-2", "text-xs", "font-bold", 3, "ngClass"]], template: function TableTabsComponent_Template(rf, ctx) { if (rf & 1) {
115
+ i0.ɵɵtemplate(0, TableTabsComponent_div_0_Template, 2, 1, "div", 0);
116
+ } if (rf & 2) {
117
+ i0.ɵɵproperty("ngIf", ctx.tabsData && ctx.tabsData.length > 0);
118
+ } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf], encapsulation: 2, changeDetection: 0 });
119
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableTabsComponent, [{
120
+ type: Component,
121
+ args: [{ selector: 'lib-table-tabs', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mx-auto flex flex-col\" *ngIf=\"tabsData && tabsData.length > 0\">\r\n <ng-container *ngFor=\"let groupIndex of getTabGroups(); let i = index\">\r\n <div class=\"mx-auto flex flex-row\">\r\n <ng-container *ngFor=\"let tab of getTabGroup(groupIndex); let j = index\">\r\n <button\r\n class=\"border-2 border-gray-300 bg-gray-200 px-4 py-2 font-medium transition hover:brightness-95\"\r\n [ngClass]=\"\r\n isTabSelected(getRealTabIndex(i, j))\r\n ? 'border-b-0 brightness-110'\r\n : ''\r\n \"\r\n (click)=\"onTabSelected(i, j)\"\r\n >\r\n {{ tab.label }}\r\n <span\r\n *ngIf=\"tab.counter !== undefined\"\r\n class=\"ml-2 text-xs font-bold\"\r\n [ngClass]=\"tab.counterClass\"\r\n >\r\n {{ tab.counter }}\r\n </span>\r\n </button>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n\r\n" }]
122
+ }], null, { tabsData: [{
123
+ type: Input
124
+ }], selectedTab: [{
125
+ type: Input
126
+ }], tabSelected: [{
127
+ type: Output
128
+ }] }); })();
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1maXJlYmFzZS10YWJsZS1reHAvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlLXRhYnMvdGFibGUtdGFicy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1maXJlYmFzZS10YWJsZS1reHAvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlLXRhYnMvdGFibGUtdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLHVCQUF1QixHQUN4QixNQUFNLGVBQWUsQ0FBQzs7OztJQ1FiLCtCQUlDO0lBQ0MsWUFDRjtJQUFBLGlCQUFPOzs7SUFITCw2Q0FBNEI7SUFFNUIsZUFDRjtJQURFLCtDQUNGOzs7O0lBakJKLDZCQUF5RTtJQUN2RSxpQ0FRQztJQURDLDBSQUFTLGVBQUEsZ0NBQW1CLENBQUEsSUFBQztJQUU3QixZQUNBO0lBQUEseUdBTU87SUFDVCxpQkFBUztJQUNYLDBCQUFlOzs7Ozs7SUFoQlgsZUFJQztJQUpELHFIQUlDO0lBR0QsZUFDQTtJQURBLDZDQUNBO0lBQ0csZUFBK0I7SUFBL0IsbURBQStCOzs7SUFkMUMsNkJBQXVFO0lBQ3JFLDhCQUFtQztJQUNqQywwR0FtQmU7SUFDakIsaUJBQU07SUFDUiwwQkFBZTs7OztJQXJCbUIsZUFBNEI7SUFBNUIsMkRBQTRCOzs7SUFIaEUsOEJBQTJFO0lBQ3pFLDJGQXVCZTtJQUNqQixpQkFBTTs7O0lBeEJpQyxlQUFtQjtJQUFuQiwrQ0FBbUI7O0FEYzFELE1BQU0sT0FBTyxrQkFBa0I7SUFOL0I7UUFPVyxhQUFRLEdBQWMsRUFBRSxDQUFDO1FBQ3pCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQW1DLENBQUM7UUFFM0QsbUJBQWMsR0FBRyxDQUFDLENBQUM7S0E0RHJDO0lBMURDOztPQUVHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUU1RCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMxRSxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFFNUIsS0FBSyxJQUFJLENBQUMsR0FBRyxXQUFXLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNoQjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVcsQ0FBQyxVQUFrQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFNUQsTUFBTSxVQUFVLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDcEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FDdkIsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUNyQixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZSxDQUFDLGlCQUF5QixFQUFFLGVBQXVCO1FBQ2hFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sY0FBYyxHQUFHLFdBQVcsR0FBRyxDQUFDLEdBQUcsaUJBQWlCLENBQUM7UUFDM0QsT0FBTyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxlQUFlLENBQUM7SUFDaEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYSxDQUFDLGlCQUF5QixFQUFFLGVBQXVCO1FBQzlELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDM0UsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyQyxJQUFJLEdBQUcsRUFBRTtZQUNQLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYSxDQUFDLGFBQXFCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxhQUFhLENBQUM7SUFDNUMsQ0FBQzs7b0ZBaEVVLGtCQUFrQjtxRUFBbEIsa0JBQWtCO1FDZi9CLG1FQXlCTTs7UUF6QjhCLDhEQUFxQzs7dUZEZTVELGtCQUFrQjtjQU45QixTQUFTOzJCQUNFLGdCQUFnQixjQUNkLEtBQUssbUJBRUEsdUJBQXVCLENBQUMsTUFBTTtnQkFHdEMsUUFBUTtrQkFBaEIsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDSSxXQUFXO2tCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhYkRhdGEgfSBmcm9tICcuLi8uLi90eXBlcy9UYWJsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi10YWJsZS10YWJzJyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS10YWJzLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlVGFic0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHRhYnNEYXRhOiBUYWJEYXRhW10gPSBbXTtcbiAgQElucHV0KCkgc2VsZWN0ZWRUYWI6IG51bWJlciA9IDA7XG4gIEBPdXRwdXQoKSB0YWJTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyB0YWI6IFRhYkRhdGE7IGluZGV4OiBudW1iZXIgfT4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IFRBQlNfUEVSX0dST1VQID0gNjtcblxuICAvKipcbiAgICogUmV0b3JuYSBvcyDDrW5kaWNlcyBkb3MgZ3J1cG9zIGRlIHRhYnMgKGludmVydGlkb3MgcGFyYSBleGliacOnw6NvIHZlcnRpY2FsKVxuICAgKi9cbiAgZ2V0VGFiR3JvdXBzKCk6IG51bWJlcltdIHtcbiAgICBpZiAoIXRoaXMudGFic0RhdGEgfHwgdGhpcy50YWJzRGF0YS5sZW5ndGggPT09IDApIHJldHVybiBbXTtcblxuICAgIGNvbnN0IHRvdGFsR3JvdXBzID0gTWF0aC5jZWlsKHRoaXMudGFic0RhdGEubGVuZ3RoIC8gdGhpcy5UQUJTX1BFUl9HUk9VUCk7XG4gICAgY29uc3QgZ3JvdXBzOiBudW1iZXJbXSA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IHRvdGFsR3JvdXBzIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIGdyb3Vwcy5wdXNoKGkpO1xuICAgIH1cblxuICAgIHJldHVybiBncm91cHM7XG4gIH1cblxuICAvKipcbiAgICogUmV0b3JuYSBvcyB0YWJzIGRlIHVtIGdydXBvIGVzcGVjw61maWNvXG4gICAqL1xuICBnZXRUYWJHcm91cChncm91cEluZGV4OiBudW1iZXIpOiBUYWJEYXRhW10ge1xuICAgIGlmICghdGhpcy50YWJzRGF0YSB8fCB0aGlzLnRhYnNEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuIFtdO1xuXG4gICAgY29uc3Qgc3RhcnRJbmRleCA9IGdyb3VwSW5kZXggKiB0aGlzLlRBQlNfUEVSX0dST1VQO1xuICAgIGNvbnN0IGVuZEluZGV4ID0gTWF0aC5taW4oXG4gICAgICBzdGFydEluZGV4ICsgdGhpcy5UQUJTX1BFUl9HUk9VUCxcbiAgICAgIHRoaXMudGFic0RhdGEubGVuZ3RoLFxuICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy50YWJzRGF0YS5zbGljZShzdGFydEluZGV4LCBlbmRJbmRleCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYSBvIMOtbmRpY2UgcmVhbCBkbyB0YWIgY29uc2lkZXJhbmRvIGEgaW52ZXJzw6NvIHZlcnRpY2FsXG4gICAqL1xuICBnZXRSZWFsVGFiSW5kZXgoZ3JvdXBEaXNwbGF5SW5kZXg6IG51bWJlciwgdGFiSW5kZXhJbkdyb3VwOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy50YWJzRGF0YSkgcmV0dXJuIDA7XG4gICAgY29uc3QgdG90YWxHcm91cHMgPSBNYXRoLmNlaWwodGhpcy50YWJzRGF0YS5sZW5ndGggLyB0aGlzLlRBQlNfUEVSX0dST1VQKTtcbiAgICBjb25zdCByZWFsR3JvdXBJbmRleCA9IHRvdGFsR3JvdXBzIC0gMSAtIGdyb3VwRGlzcGxheUluZGV4O1xuICAgIHJldHVybiByZWFsR3JvdXBJbmRleCAqIHRoaXMuVEFCU19QRVJfR1JPVVAgKyB0YWJJbmRleEluR3JvdXA7XG4gIH1cblxuICAvKipcbiAgICogTWFuaXB1bGEgYSBzZWxlw6fDo28gZGUgdW0gdGFiXG4gICAqL1xuICBvblRhYlNlbGVjdGVkKGdyb3VwRGlzcGxheUluZGV4OiBudW1iZXIsIHRhYkluZGV4SW5Hcm91cDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgcmVhbEluZGV4ID0gdGhpcy5nZXRSZWFsVGFiSW5kZXgoZ3JvdXBEaXNwbGF5SW5kZXgsIHRhYkluZGV4SW5Hcm91cCk7XG4gICAgY29uc3QgdGFiID0gdGhpcy50YWJzRGF0YVtyZWFsSW5kZXhdO1xuICAgIGlmICh0YWIpIHtcbiAgICAgIHRoaXMudGFiU2VsZWN0ZWQuZW1pdCh7IHRhYiwgaW5kZXg6IHJlYWxJbmRleCB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmVyaWZpY2Egc2UgdW0gdGFiIGVzdMOhIHNlbGVjaW9uYWRvXG4gICAqL1xuICBpc1RhYlNlbGVjdGVkKG9yaWdpbmFsSW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVGFiID09PSBvcmlnaW5hbEluZGV4O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibXgtYXV0byBmbGV4IGZsZXgtY29sXCIgKm5nSWY9XCJ0YWJzRGF0YSAmJiB0YWJzRGF0YS5sZW5ndGggPiAwXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZ3JvdXBJbmRleCBvZiBnZXRUYWJHcm91cHMoKTsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm14LWF1dG8gZmxleCBmbGV4LXJvd1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgZ2V0VGFiR3JvdXAoZ3JvdXBJbmRleCk7IGxldCBqID0gaW5kZXhcIj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICBjbGFzcz1cImJvcmRlci0yIGJvcmRlci1ncmF5LTMwMCBiZy1ncmF5LTIwMCBweC00IHB5LTIgZm9udC1tZWRpdW0gdHJhbnNpdGlvbiBob3ZlcjpicmlnaHRuZXNzLTk1XCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cIlxyXG4gICAgICAgICAgICBpc1RhYlNlbGVjdGVkKGdldFJlYWxUYWJJbmRleChpLCBqKSlcclxuICAgICAgICAgICAgICA/ICdib3JkZXItYi0wIGJyaWdodG5lc3MtMTEwJ1xyXG4gICAgICAgICAgICAgIDogJydcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25UYWJTZWxlY3RlZChpLCBqKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgdGFiLmxhYmVsIH19XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAqbmdJZj1cInRhYi5jb3VudGVyICE9PSB1bmRlZmluZWRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIm1sLTIgdGV4dC14cyBmb250LWJvbGRcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ0YWIuY291bnRlckNsYXNzXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgdGFiLmNvdW50ZXIgfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcblxyXG5cclxuIl19
@@ -0,0 +1,49 @@
1
+ import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ function TableTooltipComponent_div_0_Template(rf, ctx) { if (rf & 1) {
5
+ i0.ɵɵelementStart(0, "div", 1);
6
+ i0.ɵɵtext(1);
7
+ i0.ɵɵelementEnd();
8
+ } if (rf & 2) {
9
+ const ctx_r0 = i0.ɵɵnextContext();
10
+ i0.ɵɵstyleProp("left", ctx_r0.tooltipPosition.x, "px")("top", ctx_r0.tooltipPosition.y, "px")("pointer-events", "none");
11
+ i0.ɵɵproperty("ngClass", (ctx_r0.tooltipBgColor || "bg-gray-800") + " " + (ctx_r0.tooltipTextColor || "text-white"))("ngStyle", ctx_r0.styles);
12
+ i0.ɵɵadvance(1);
13
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.tooltipContent, "\n");
14
+ } }
15
+ export class TableTooltipComponent {
16
+ constructor() {
17
+ this.styles = {};
18
+ }
19
+ get showTooltip() {
20
+ return this.state?.showTooltip ?? false;
21
+ }
22
+ get tooltipContent() {
23
+ return this.state?.tooltipContent ?? '';
24
+ }
25
+ get tooltipPosition() {
26
+ return this.state?.tooltipPosition ?? { x: 0, y: 0 };
27
+ }
28
+ get tooltipBgColor() {
29
+ return this.state?.tooltipBgColor ?? 'bg-gray-800';
30
+ }
31
+ get tooltipTextColor() {
32
+ return this.state?.tooltipTextColor ?? 'text-white';
33
+ }
34
+ }
35
+ TableTooltipComponent.ɵfac = function TableTooltipComponent_Factory(t) { return new (t || TableTooltipComponent)(); };
36
+ TableTooltipComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableTooltipComponent, selectors: [["lib-table-tooltip"]], inputs: { state: "state", styles: "styles" }, decls: 1, vars: 1, consts: [["class", "fixed z-50 max-w-md break-words rounded-lg px-3 py-2 text-sm shadow-lg", 3, "ngClass", "ngStyle", "left", "top", "pointer-events", 4, "ngIf"], [1, "fixed", "z-50", "max-w-md", "break-words", "rounded-lg", "px-3", "py-2", "text-sm", "shadow-lg", 3, "ngClass", "ngStyle"]], template: function TableTooltipComponent_Template(rf, ctx) { if (rf & 1) {
37
+ i0.ɵɵtemplate(0, TableTooltipComponent_div_0_Template, 2, 9, "div", 0);
38
+ } if (rf & 2) {
39
+ i0.ɵɵproperty("ngIf", ctx.showTooltip);
40
+ } }, dependencies: [i1.NgClass, i1.NgIf, i1.NgStyle], encapsulation: 2, changeDetection: 0 });
41
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableTooltipComponent, [{
42
+ type: Component,
43
+ args: [{ selector: 'lib-table-tooltip', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n *ngIf=\"showTooltip\"\r\n class=\"fixed z-50 max-w-md break-words rounded-lg px-3 py-2 text-sm shadow-lg\"\r\n [ngClass]=\"\r\n (tooltipBgColor || 'bg-gray-800') + ' ' + (tooltipTextColor || 'text-white')\r\n \"\r\n [ngStyle]=\"styles\"\r\n [style.left.px]=\"tooltipPosition.x\"\r\n [style.top.px]=\"tooltipPosition.y\"\r\n [style.pointer-events]=\"'none'\"\r\n>\r\n {{ tooltipContent }}\r\n</div>\r\n" }]
44
+ }], null, { state: [{
45
+ type: Input
46
+ }], styles: [{
47
+ type: Input
48
+ }] }); })();
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1maXJlYmFzZS10YWJsZS1reHAvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlLXRvb2x0aXAvdGFibGUtdG9vbHRpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1maXJlYmFzZS10YWJsZS1reHAvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlLXRvb2x0aXAvdGFibGUtdG9vbHRpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztJQ0ExRSw4QkFVQztJQUNDLFlBQ0Y7SUFBQSxpQkFBTTs7O0lBTEosc0RBQW1DLHVDQUFBLDBCQUFBO0lBSm5DLG9IQUVDLDBCQUFBO0lBTUQsZUFDRjtJQURFLHVEQUNGOztBREhBLE1BQU0sT0FBTyxxQkFBcUI7SUFObEM7UUFRVyxXQUFNLEdBQThCLEVBQUUsQ0FBQztLQXFCakQ7SUFuQkMsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsSUFBSSxLQUFLLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsY0FBYyxJQUFJLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxlQUFlLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxjQUFjLElBQUksYUFBYSxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLElBQUksWUFBWSxDQUFDO0lBQ3RELENBQUM7OzBGQXRCVSxxQkFBcUI7d0VBQXJCLHFCQUFxQjtRQ1RsQyxzRUFZTTs7UUFYSCxzQ0FBaUI7O3VGRFFQLHFCQUFxQjtjQU5qQyxTQUFTOzJCQUNFLG1CQUFtQixjQUNqQixLQUFLLG1CQUVBLHVCQUF1QixDQUFDLE1BQU07Z0JBR3RDLEtBQUs7a0JBQWIsS0FBSztZQUNHLE1BQU07a0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb29sdGlwU3RhdGUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90b29sdGlwLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItdGFibGUtdG9vbHRpcCcsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtdG9vbHRpcC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVRvb2x0aXBDb21wb25lbnQge1xuICBASW5wdXQoKSBzdGF0ZSE6IFRvb2x0aXBTdGF0ZTtcbiAgQElucHV0KCkgc3R5bGVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG5cbiAgZ2V0IHNob3dUb29sdGlwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlPy5zaG93VG9vbHRpcCA/PyBmYWxzZTtcbiAgfVxuXG4gIGdldCB0b29sdGlwQ29udGVudCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnN0YXRlPy50b29sdGlwQ29udGVudCA/PyAnJztcbiAgfVxuXG4gIGdldCB0b29sdGlwUG9zaXRpb24oKTogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZT8udG9vbHRpcFBvc2l0aW9uID8/IHsgeDogMCwgeTogMCB9O1xuICB9XG5cbiAgZ2V0IHRvb2x0aXBCZ0NvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGU/LnRvb2x0aXBCZ0NvbG9yID8/ICdiZy1ncmF5LTgwMCc7XG4gIH1cblxuICBnZXQgdG9vbHRpcFRleHRDb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnN0YXRlPy50b29sdGlwVGV4dENvbG9yID8/ICd0ZXh0LXdoaXRlJztcbiAgfVxufVxuIiwiPGRpdlxyXG4gICpuZ0lmPVwic2hvd1Rvb2x0aXBcIlxyXG4gIGNsYXNzPVwiZml4ZWQgei01MCBtYXgtdy1tZCBicmVhay13b3JkcyByb3VuZGVkLWxnIHB4LTMgcHktMiB0ZXh0LXNtIHNoYWRvdy1sZ1wiXHJcbiAgW25nQ2xhc3NdPVwiXHJcbiAgICAodG9vbHRpcEJnQ29sb3IgfHwgJ2JnLWdyYXktODAwJykgKyAnICcgKyAodG9vbHRpcFRleHRDb2xvciB8fCAndGV4dC13aGl0ZScpXHJcbiAgXCJcclxuICBbbmdTdHlsZV09XCJzdHlsZXNcIlxyXG4gIFtzdHlsZS5sZWZ0LnB4XT1cInRvb2x0aXBQb3NpdGlvbi54XCJcclxuICBbc3R5bGUudG9wLnB4XT1cInRvb2x0aXBQb3NpdGlvbi55XCJcclxuICBbc3R5bGUucG9pbnRlci1ldmVudHNdPVwiJ25vbmUnXCJcclxuPlxyXG4gIHt7IHRvb2x0aXBDb250ZW50IH19XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class NgFirebaseTableKxpComponent {
4
+ }
5
+ NgFirebaseTableKxpComponent.ɵfac = function NgFirebaseTableKxpComponent_Factory(t) { return new (t || NgFirebaseTableKxpComponent)(); };
6
+ NgFirebaseTableKxpComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NgFirebaseTableKxpComponent, selectors: [["lib-ng-firebase-table-kxp"]], decls: 2, vars: 0, template: function NgFirebaseTableKxpComponent_Template(rf, ctx) { if (rf & 1) {
7
+ i0.ɵɵelementStart(0, "p");
8
+ i0.ɵɵtext(1, "ng-firebase-table-kxp works!");
9
+ i0.ɵɵelementEnd();
10
+ } }, encapsulation: 2 });
11
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NgFirebaseTableKxpComponent, [{
12
+ type: Component,
13
+ args: [{ selector: 'lib-ng-firebase-table-kxp', standalone: false, template: ` <p>ng-firebase-table-kxp works!</p> ` }]
14
+ }], null, null); })();
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZmlyZWJhc2UtdGFibGUta3hwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZpcmViYXNlLXRhYmxlLWt4cC9zcmMvbGliL25nLWZpcmViYXNlLXRhYmxlLWt4cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRMUMsTUFBTSxPQUFPLDJCQUEyQjs7c0dBQTNCLDJCQUEyQjs4RUFBM0IsMkJBQTJCO1FBSDFCLHlCQUFHO1FBQUEsNENBQTRCO1FBQUEsaUJBQUk7O3VGQUdwQywyQkFBMkI7Y0FOdkMsU0FBUzsyQkFDRSwyQkFBMkIsY0FDekIsS0FBSyxZQUNQLHVDQUF1QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItbmctZmlyZWJhc2UtdGFibGUta3hwJyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIHRlbXBsYXRlOiBgIDxwPm5nLWZpcmViYXNlLXRhYmxlLWt4cCB3b3JrcyE8L3A+IGAsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIE5nRmlyZWJhc2VUYWJsZUt4cENvbXBvbmVudCB7fVxuIl19
@@ -0,0 +1,103 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ReactiveFormsModule, FormsModule } from '@angular/forms';
4
+ import { RouterModule } from '@angular/router';
5
+ // Angular Material
6
+ import { MatTableModule } from '@angular/material/table';
7
+ import { MatPaginatorModule } from '@angular/material/paginator';
8
+ import { MatSortModule } from '@angular/material/sort';
9
+ import { MatFormFieldModule } from '@angular/material/form-field';
10
+ import { MatInputModule } from '@angular/material/input';
11
+ import { MatOptionModule } from '@angular/material/core';
12
+ import { MatSelectModule } from '@angular/material/select';
13
+ import { MatTooltipModule } from '@angular/material/tooltip';
14
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
15
+ import { MatIconModule } from '@angular/material/icon';
16
+ import { MatDialogModule } from '@angular/material/dialog';
17
+ // Components
18
+ import { NgFirebaseTableKxpComponent } from './ng-firebase-table-kxp.component';
19
+ import { TableComponent } from './components/table/table.component';
20
+ import { TableTabsComponent } from './components/table-tabs/table-tabs.component';
21
+ import { TableTooltipComponent } from './components/table-tooltip/table-tooltip.component';
22
+ // Services
23
+ import { TableService } from './services/table.service';
24
+ import { FilterService } from './services/filter.service';
25
+ import { TooltipService } from './services/tooltip.service';
26
+ import { PaginationService } from './services/pagination.service';
27
+ import * as i0 from "@angular/core";
28
+ export class NgFirebaseTableKxpModule {
29
+ }
30
+ NgFirebaseTableKxpModule.ɵfac = function NgFirebaseTableKxpModule_Factory(t) { return new (t || NgFirebaseTableKxpModule)(); };
31
+ NgFirebaseTableKxpModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: NgFirebaseTableKxpModule });
32
+ NgFirebaseTableKxpModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [TableService, FilterService, TooltipService, PaginationService], imports: [CommonModule,
33
+ ReactiveFormsModule,
34
+ FormsModule,
35
+ RouterModule,
36
+ MatTableModule,
37
+ MatPaginatorModule,
38
+ MatSortModule,
39
+ MatFormFieldModule,
40
+ MatInputModule,
41
+ MatOptionModule,
42
+ MatSelectModule,
43
+ MatTooltipModule,
44
+ MatProgressSpinnerModule,
45
+ MatIconModule,
46
+ MatDialogModule] });
47
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NgFirebaseTableKxpModule, [{
48
+ type: NgModule,
49
+ args: [{
50
+ declarations: [
51
+ NgFirebaseTableKxpComponent,
52
+ TableComponent,
53
+ TableTabsComponent,
54
+ TableTooltipComponent,
55
+ ],
56
+ imports: [
57
+ CommonModule,
58
+ ReactiveFormsModule,
59
+ FormsModule,
60
+ RouterModule,
61
+ MatTableModule,
62
+ MatPaginatorModule,
63
+ MatSortModule,
64
+ MatFormFieldModule,
65
+ MatInputModule,
66
+ MatOptionModule,
67
+ MatSelectModule,
68
+ MatTooltipModule,
69
+ MatProgressSpinnerModule,
70
+ MatIconModule,
71
+ MatDialogModule,
72
+ ],
73
+ exports: [
74
+ NgFirebaseTableKxpComponent,
75
+ TableComponent,
76
+ TableTabsComponent,
77
+ TableTooltipComponent,
78
+ ],
79
+ providers: [TableService, FilterService, TooltipService, PaginationService],
80
+ }]
81
+ }], null, null); })();
82
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(NgFirebaseTableKxpModule, { declarations: [NgFirebaseTableKxpComponent,
83
+ TableComponent,
84
+ TableTabsComponent,
85
+ TableTooltipComponent], imports: [CommonModule,
86
+ ReactiveFormsModule,
87
+ FormsModule,
88
+ RouterModule,
89
+ MatTableModule,
90
+ MatPaginatorModule,
91
+ MatSortModule,
92
+ MatFormFieldModule,
93
+ MatInputModule,
94
+ MatOptionModule,
95
+ MatSelectModule,
96
+ MatTooltipModule,
97
+ MatProgressSpinnerModule,
98
+ MatIconModule,
99
+ MatDialogModule], exports: [NgFirebaseTableKxpComponent,
100
+ TableComponent,
101
+ TableTabsComponent,
102
+ TableTooltipComponent] }); })();
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZmlyZWJhc2UtdGFibGUta3hwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZpcmViYXNlLXRhYmxlLWt4cC9zcmMvbGliL25nLWZpcmViYXNlLXRhYmxlLWt4cC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxtQkFBbUI7QUFDbkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELGFBQWE7QUFDYixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFM0YsV0FBVztBQUNYLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWtDbEUsTUFBTSxPQUFPLHdCQUF3Qjs7Z0dBQXhCLHdCQUF3QjswRUFBeEIsd0JBQXdCOytFQUZ4QixDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixDQUFDLFlBdEJ6RSxZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLFdBQVc7UUFDWCxZQUFZO1FBQ1osY0FBYztRQUNkLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2Isa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxlQUFlO1FBQ2YsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQix3QkFBd0I7UUFDeEIsYUFBYTtRQUNiLGVBQWU7dUZBVU4sd0JBQXdCO2NBaENwQyxRQUFRO2VBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLDJCQUEyQjtvQkFDM0IsY0FBYztvQkFDZCxrQkFBa0I7b0JBQ2xCLHFCQUFxQjtpQkFDdEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osbUJBQW1CO29CQUNuQixXQUFXO29CQUNYLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxrQkFBa0I7b0JBQ2xCLGFBQWE7b0JBQ2Isa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLGVBQWU7b0JBQ2YsZUFBZTtvQkFDZixnQkFBZ0I7b0JBQ2hCLHdCQUF3QjtvQkFDeEIsYUFBYTtvQkFDYixlQUFlO2lCQUNoQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsMkJBQTJCO29CQUMzQixjQUFjO29CQUNkLGtCQUFrQjtvQkFDbEIscUJBQXFCO2lCQUN0QjtnQkFDRCxTQUFTLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQzthQUM1RTs7d0ZBQ1ksd0JBQXdCLG1CQTlCakMsMkJBQTJCO1FBQzNCLGNBQWM7UUFDZCxrQkFBa0I7UUFDbEIscUJBQXFCLGFBR3JCLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsV0FBVztRQUNYLFlBQVk7UUFDWixjQUFjO1FBQ2Qsa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGVBQWU7UUFDZixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLHdCQUF3QjtRQUN4QixhQUFhO1FBQ2IsZUFBZSxhQUdmLDJCQUEyQjtRQUMzQixjQUFjO1FBQ2Qsa0JBQWtCO1FBQ2xCLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG4vLyBBbmd1bGFyIE1hdGVyaWFsXG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBNYXRTb3J0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG4vLyBDb21wb25lbnRzXG5pbXBvcnQgeyBOZ0ZpcmViYXNlVGFibGVLeHBDb21wb25lbnQgfSBmcm9tICcuL25nLWZpcmViYXNlLXRhYmxlLWt4cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlVGFic0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS10YWJzL3RhYmxlLXRhYnMuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS10b29sdGlwL3RhYmxlLXRvb2x0aXAuY29tcG9uZW50JztcblxuLy8gU2VydmljZXNcbmltcG9ydCB7IFRhYmxlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdGFibGUuc2VydmljZSc7XG5pbXBvcnQgeyBGaWx0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9maWx0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUb29sdGlwU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdG9vbHRpcC5zZXJ2aWNlJztcbmltcG9ydCB7IFBhZ2luYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wYWdpbmF0aW9uLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBOZ0ZpcmViYXNlVGFibGVLeHBDb21wb25lbnQsXG4gICAgVGFibGVDb21wb25lbnQsXG4gICAgVGFibGVUYWJzQ29tcG9uZW50LFxuICAgIFRhYmxlVG9vbHRpcENvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBNYXRUYWJsZU1vZHVsZSxcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXG4gICAgTWF0U29ydE1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE5nRmlyZWJhc2VUYWJsZUt4cENvbXBvbmVudCxcbiAgICBUYWJsZUNvbXBvbmVudCxcbiAgICBUYWJsZVRhYnNDb21wb25lbnQsXG4gICAgVGFibGVUb29sdGlwQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtUYWJsZVNlcnZpY2UsIEZpbHRlclNlcnZpY2UsIFRvb2x0aXBTZXJ2aWNlLCBQYWdpbmF0aW9uU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5nRmlyZWJhc2VUYWJsZUt4cE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,14 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class NgFirebaseTableKxpService {
4
+ constructor() { }
5
+ }
6
+ NgFirebaseTableKxpService.ɵfac = function NgFirebaseTableKxpService_Factory(t) { return new (t || NgFirebaseTableKxpService)(); };
7
+ NgFirebaseTableKxpService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: NgFirebaseTableKxpService, factory: NgFirebaseTableKxpService.ɵfac, providedIn: 'root' });
8
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NgFirebaseTableKxpService, [{
9
+ type: Injectable,
10
+ args: [{
11
+ providedIn: 'root',
12
+ }]
13
+ }], function () { return []; }, null); })();
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZmlyZWJhc2UtdGFibGUta3hwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1maXJlYmFzZS10YWJsZS1reHAvc3JjL2xpYi9uZy1maXJlYmFzZS10YWJsZS1reHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLGdCQUFlLENBQUM7O2tHQURMLHlCQUF5QjsrRUFBekIseUJBQXlCLFdBQXpCLHlCQUF5QixtQkFGeEIsTUFBTTt1RkFFUCx5QkFBeUI7Y0FIckMsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nRmlyZWJhc2VUYWJsZUt4cFNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKCkge31cclxufVxyXG4iXX0=