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,141 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TooltipService {
4
+ constructor() {
5
+ this.tooltipTimeout = null;
6
+ }
7
+ /**
8
+ * Cria um estado inicial para o tooltip
9
+ */
10
+ createInitialState() {
11
+ return {
12
+ hoveredCell: null,
13
+ showTooltip: false,
14
+ tooltipContent: '',
15
+ tooltipPosition: { x: 0, y: 0 },
16
+ tooltipBgColor: 'bg-gray-800',
17
+ tooltipBgStyle: null,
18
+ tooltipTextColor: 'text-white',
19
+ tooltipTextStyle: null,
20
+ };
21
+ }
22
+ /**
23
+ * Processa as cores do tooltip
24
+ */
25
+ processTooltipColors(config) {
26
+ const result = {
27
+ bgColor: 'bg-gray-800',
28
+ bgStyle: null,
29
+ textColor: 'text-white',
30
+ textStyle: null,
31
+ };
32
+ const tooltipBgColor = config?.color || 'bg-gray-800';
33
+ if (tooltipBgColor.startsWith('#') || tooltipBgColor.startsWith('rgb')) {
34
+ result.bgColor = '';
35
+ result.bgStyle = { 'background-color': tooltipBgColor };
36
+ }
37
+ else {
38
+ result.bgColor = tooltipBgColor;
39
+ result.bgStyle = null;
40
+ }
41
+ const tooltipTextColor = config?.text || 'text-white';
42
+ if (tooltipTextColor.startsWith('#') ||
43
+ tooltipTextColor.startsWith('rgb')) {
44
+ result.textColor = '';
45
+ result.textStyle = { color: tooltipTextColor };
46
+ }
47
+ else {
48
+ result.textColor = tooltipTextColor;
49
+ result.textStyle = null;
50
+ }
51
+ return result;
52
+ }
53
+ /**
54
+ * Manipula o evento de mouse enter na célula
55
+ */
56
+ handleMouseEnter(event, row, col, getDisplayValue, onShow) {
57
+ // Só mostrar tooltip se a coluna tiver charLimit definido
58
+ if (!col.charLimit) {
59
+ return;
60
+ }
61
+ const fullValue = getDisplayValue(col, row, true);
62
+ // Só mostrar tooltip se o valor completo for maior que o limite
63
+ if (fullValue.length <= col.charLimit) {
64
+ return;
65
+ }
66
+ const colors = this.processTooltipColors(col.tooltip);
67
+ const state = {
68
+ hoveredCell: { row, col },
69
+ tooltipContent: fullValue,
70
+ tooltipBgColor: colors.bgColor,
71
+ tooltipBgStyle: colors.bgStyle,
72
+ tooltipTextColor: colors.textColor,
73
+ tooltipTextStyle: colors.textStyle,
74
+ tooltipPosition: {
75
+ x: event.clientX + 10,
76
+ y: event.clientY - 10,
77
+ },
78
+ };
79
+ onShow(state);
80
+ // Limpar timeout anterior se existir
81
+ if (this.tooltipTimeout) {
82
+ clearTimeout(this.tooltipTimeout);
83
+ }
84
+ // Timeout para mostrar o tooltip
85
+ this.tooltipTimeout = setTimeout(() => {
86
+ onShow({ showTooltip: true });
87
+ }, 500);
88
+ }
89
+ /**
90
+ * Manipula o evento de mouse leave na célula
91
+ */
92
+ handleMouseLeave(onHide) {
93
+ if (this.tooltipTimeout) {
94
+ clearTimeout(this.tooltipTimeout);
95
+ this.tooltipTimeout = null;
96
+ }
97
+ onHide(this.createInitialState());
98
+ }
99
+ /**
100
+ * Manipula o movimento do mouse
101
+ */
102
+ handleMouseMove(event, showTooltip, onMove) {
103
+ if (showTooltip) {
104
+ onMove({
105
+ x: event.clientX + 10,
106
+ y: event.clientY - 10,
107
+ });
108
+ }
109
+ }
110
+ /**
111
+ * Combina estilos do tooltip para aplicação
112
+ */
113
+ getTooltipStyles(state) {
114
+ const styles = {};
115
+ if (state.tooltipBgStyle) {
116
+ Object.assign(styles, state.tooltipBgStyle);
117
+ }
118
+ if (state.tooltipTextStyle) {
119
+ Object.assign(styles, state.tooltipTextStyle);
120
+ }
121
+ return styles;
122
+ }
123
+ /**
124
+ * Limpa recursos ao destruir
125
+ */
126
+ destroy() {
127
+ if (this.tooltipTimeout) {
128
+ clearTimeout(this.tooltipTimeout);
129
+ this.tooltipTimeout = null;
130
+ }
131
+ }
132
+ }
133
+ TooltipService.ɵfac = function TooltipService_Factory(t) { return new (t || TooltipService)(); };
134
+ TooltipService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TooltipService, factory: TooltipService.ɵfac, providedIn: 'root' });
135
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TooltipService, [{
136
+ type: Injectable,
137
+ args: [{
138
+ providedIn: 'root',
139
+ }]
140
+ }], null, null); })();
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZmlyZWJhc2UtdGFibGUta3hwL3NyYy9saWIvc2VydmljZXMvdG9vbHRpcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBc0IzQyxNQUFNLE9BQU8sY0FBYztJQUgzQjtRQUlVLG1CQUFjLEdBQVEsSUFBSSxDQUFDO0tBK0pwQztJQTdKQzs7T0FFRztJQUNILGtCQUFrQjtRQUNoQixPQUFPO1lBQ0wsV0FBVyxFQUFFLElBQUk7WUFDakIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsY0FBYyxFQUFFLEVBQUU7WUFDbEIsZUFBZSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQy9CLGNBQWMsRUFBRSxhQUFhO1lBQzdCLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLGdCQUFnQixFQUFFLFlBQVk7WUFDOUIsZ0JBQWdCLEVBQUUsSUFBSTtTQUN2QixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CLENBQUMsTUFBc0I7UUFNekMsTUFBTSxNQUFNLEdBQUc7WUFDYixPQUFPLEVBQUUsYUFBYTtZQUN0QixPQUFPLEVBQUUsSUFBd0M7WUFDakQsU0FBUyxFQUFFLFlBQVk7WUFDdkIsU0FBUyxFQUFFLElBQXdDO1NBQ3BELENBQUM7UUFFRixNQUFNLGNBQWMsR0FBRyxNQUFNLEVBQUUsS0FBSyxJQUFJLGFBQWEsQ0FBQztRQUN0RCxJQUFJLGNBQWMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksY0FBYyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN0RSxNQUFNLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNwQixNQUFNLENBQUMsT0FBTyxHQUFHLEVBQUUsa0JBQWtC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LENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZ0JBQWdCLENBQUMsS0FBbUI7UUFDbEMsTUFBTSxNQUFNLEdBQThCLEVBQUUsQ0FBQztRQUM3QyxJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUU7WUFDeEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDL0M7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7U0FDNUI7SUFDSCxDQUFDOzs0RUEvSlUsY0FBYztvRUFBZCxjQUFjLFdBQWQsY0FBYyxtQkFGYixNQUFNO3VGQUVQLGNBQWM7Y0FIMUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb2x1bW4gfSBmcm9tICcuLi90eXBlcy9UYWJsZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRvb2x0aXBTdGF0ZSB7XHJcbiAgaG92ZXJlZENlbGw6IHsgcm93OiBhbnk7IGNvbDogYW55IH0gfCBudWxsO1xyXG4gIHNob3dUb29sdGlwOiBib29sZWFuO1xyXG4gIHRvb2x0aXBDb250ZW50OiBzdHJpbmc7XHJcbiAgdG9vbHRpcFBvc2l0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH07XHJcbiAgdG9vbHRpcEJnQ29sb3I6IHN0cmluZztcclxuICB0b29sdGlwQmdTdHlsZTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB8IG51bGw7XHJcbiAgdG9vbHRpcFRleHRDb2xvcjogc3RyaW5nO1xyXG4gIHRvb2x0aXBUZXh0U3R5bGU6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRvb2x0aXBDb25maWcge1xyXG4gIGNvbG9yPzogc3RyaW5nO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb29sdGlwU2VydmljZSB7XHJcbiAgcHJpdmF0ZSB0b29sdGlwVGltZW91dDogYW55ID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogQ3JpYSB1bSBlc3RhZG8gaW5pY2lhbCBwYXJhIG8gdG9vbHRpcFxyXG4gICAqL1xyXG4gIGNyZWF0ZUluaXRpYWxTdGF0ZSgpOiBUb29sdGlwU3RhdGUge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgaG92ZXJlZENlbGw6IG51bGwsXHJcbiAgICAgIHNob3dUb29sdGlwOiBmYWxzZSxcclxuICAgICAgdG9vbHRpcENvbnRlbnQ6ICcnLFxyXG4gICAgICB0b29sdGlwUG9zaXRpb246IHsgeDogMCwgeTogMCB9LFxyXG4gICAgICB0b29sdGlwQmdDb2xvcjogJ2JnLWdyYXktODAwJyxcclxuICAgICAgdG9vbHRpcEJnU3R5bGU6IG51bGwsXHJcbiAgICAgIHRvb2x0aXBUZXh0Q29sb3I6ICd0ZXh0LXdoaXRlJyxcclxuICAgICAgdG9vbHRpcFRleHRTdHlsZTogbnVsbCxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcm9jZXNzYSBhcyBjb3JlcyBkbyB0b29sdGlwXHJcbiAgICovXHJcbiAgcHJvY2Vzc1Rvb2x0aXBDb2xvcnMoY29uZmlnPzogVG9vbHRpcENvbmZpZyk6IHtcclxuICAgIGJnQ29sb3I6IHN0cmluZztcclxuICAgIGJnU3R5bGU6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCBudWxsO1xyXG4gICAgdGV4dENvbG9yOiBzdHJpbmc7XHJcbiAgICB0ZXh0U3R5bGU6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCBudWxsO1xyXG4gIH0ge1xyXG4gICAgY29uc3QgcmVzdWx0ID0ge1xyXG4gICAgICBiZ0NvbG9yOiAnYmctZ3JheS04MDAnLFxyXG4gICAgICBiZ1N0eWxlOiBudWxsIGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCBudWxsLFxyXG4gICAgICB0ZXh0Q29sb3I6ICd0ZXh0LXdoaXRlJyxcclxuICAgICAgdGV4dFN0eWxlOiBudWxsIGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCBudWxsLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCB0b29sdGlwQmdDb2xvciA9IGNvbmZpZz8uY29sb3IgfHwgJ2JnLWdyYXktODAwJztcclxuICAgIGlmICh0b29sdGlwQmdDb2xvci5zdGFydHNXaXRoKCcjJykgfHwgdG9vbHRpcEJnQ29sb3Iuc3RhcnRzV2l0aCgncmdiJykpIHtcclxuICAgICAgcmVzdWx0LmJnQ29sb3IgPSAnJztcclxuICAgICAgcmVzdWx0LmJnU3R5bGUgPSB7ICdiYWNrZ3JvdW5kLWNvbG9yJzogdG9vbHRpcEJnQ29sb3IgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJlc3VsdC5iZ0NvbG9yID0gdG9vbHRpcEJnQ29sb3I7XHJcbiAgICAgIHJlc3VsdC5iZ1N0eWxlID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB0b29sdGlwVGV4dENvbG9yID0gY29uZmlnPy50ZXh0IHx8ICd0ZXh0LXdoaXRlJztcclxuICAgIGlmIChcclxuICAgICAgdG9vbHRpcFRleHRDb2xvci5zdGFydHNXaXRoKCcjJykgfHxcclxuICAgICAgdG9vbHRpcFRleHRDb2xvci5zdGFydHNXaXRoKCdyZ2InKVxyXG4gICAgKSB7XHJcbiAgICAgIHJlc3VsdC50ZXh0Q29sb3IgPSAnJztcclxuICAgICAgcmVzdWx0LnRleHRTdHlsZSA9IHsgY29sb3I6IHRvb2x0aXBUZXh0Q29sb3IgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJlc3VsdC50ZXh0Q29sb3IgPSB0b29sdGlwVGV4dENvbG9yO1xyXG4gICAgICByZXN1bHQudGV4dFN0eWxlID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWFuaXB1bGEgbyBldmVudG8gZGUgbW91c2UgZW50ZXIgbmEgY8OpbHVsYVxyXG4gICAqL1xyXG4gIGhhbmRsZU1vdXNlRW50ZXIoXHJcbiAgICBldmVudDogTW91c2VFdmVudCxcclxuICAgIHJvdzogYW55LFxyXG4gICAgY29sOiBDb2x1bW4sXHJcbiAgICBnZXREaXNwbGF5VmFsdWU6IChjb2w6IENvbHVtbiwgcm93OiBhbnksIHdpdGhpbkxpbWl0OiBib29sZWFuKSA9PiBzdHJpbmcsXHJcbiAgICBvblNob3c6IChzdGF0ZTogUGFydGlhbDxUb29sdGlwU3RhdGU+KSA9PiB2b2lkXHJcbiAgKTogdm9pZCB7XHJcbiAgICAvLyBTw7MgbW9zdHJhciB0b29sdGlwIHNlIGEgY29sdW5hIHRpdmVyIGNoYXJMaW1pdCBkZWZpbmlkb1xyXG4gICAgaWYgKCFjb2wuY2hhckxpbWl0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBmdWxsVmFsdWUgPSBnZXREaXNwbGF5VmFsdWUoY29sLCByb3csIHRydWUpO1xyXG5cclxuICAgIC8vIFPDsyBtb3N0cmFyIHRvb2x0aXAgc2UgbyB2YWxvciBjb21wbGV0byBmb3IgbWFpb3IgcXVlIG8gbGltaXRlXHJcbiAgICBpZiAoZnVsbFZhbHVlLmxlbmd0aCA8PSBjb2wuY2hhckxpbWl0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjb2xvcnMgPSB0aGlzLnByb2Nlc3NUb29sdGlwQ29sb3JzKGNvbC50b29sdGlwKTtcclxuXHJcbiAgICBjb25zdCBzdGF0ZTogUGFydGlhbDxUb29sdGlwU3RhdGU+ID0ge1xyXG4gICAgICBob3ZlcmVkQ2VsbDogeyByb3csIGNvbCB9LFxyXG4gICAgICB0b29sdGlwQ29udGVudDogZnVsbFZhbHVlLFxyXG4gICAgICB0b29sdGlwQmdDb2xvcjogY29sb3JzLmJnQ29sb3IsXHJcbiAgICAgIHRvb2x0aXBCZ1N0eWxlOiBjb2xvcnMuYmdTdHlsZSxcclxuICAgICAgdG9vbHRpcFRleHRDb2xvcjogY29sb3JzLnRleHRDb2xvcixcclxuICAgICAgdG9vbHRpcFRleHRTdHlsZTogY29sb3JzLnRleHRTdHlsZSxcclxuICAgICAgdG9vbHRpcFBvc2l0aW9uOiB7XHJcbiAgICAgICAgeDogZXZlbnQuY2xpZW50WCArIDEwLFxyXG4gICAgICAgIHk6IGV2ZW50LmNsaWVudFkgLSAxMCxcclxuICAgICAgfSxcclxuICAgIH07XHJcblxyXG4gICAgb25TaG93KHN0YXRlKTtcclxuXHJcbiAgICAvLyBMaW1wYXIgdGltZW91dCBhbnRlcmlvciBzZSBleGlzdGlyXHJcbiAgICBpZiAodGhpcy50b29sdGlwVGltZW91dCkge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy50b29sdGlwVGltZW91dCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGltZW91dCBwYXJhIG1vc3RyYXIgbyB0b29sdGlwXHJcbiAgICB0aGlzLnRvb2x0aXBUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIG9uU2hvdyh7IHNob3dUb29sdGlwOiB0cnVlIH0pO1xyXG4gICAgfSwgNTAwKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1hbmlwdWxhIG8gZXZlbnRvIGRlIG1vdXNlIGxlYXZlIG5hIGPDqWx1bGFcclxuICAgKi9cclxuICBoYW5kbGVNb3VzZUxlYXZlKG9uSGlkZTogKHN0YXRlOiBUb29sdGlwU3RhdGUpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnRvb2x0aXBUaW1lb3V0KSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRvb2x0aXBUaW1lb3V0KTtcclxuICAgICAgdGhpcy50b29sdGlwVGltZW91dCA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgb25IaWRlKHRoaXMuY3JlYXRlSW5pdGlhbFN0YXRlKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWFuaXB1bGEgbyBtb3ZpbWVudG8gZG8gbW91c2VcclxuICAgKi9cclxuICBoYW5kbGVNb3VzZU1vdmUoXHJcbiAgICBldmVudDogTW91c2VFdmVudCxcclxuICAgIHNob3dUb29sdGlwOiBib29sZWFuLFxyXG4gICAgb25Nb3ZlOiAocG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSkgPT4gdm9pZFxyXG4gICk6IHZvaWQge1xyXG4gICAgaWYgKHNob3dUb29sdGlwKSB7XHJcbiAgICAgIG9uTW92ZSh7XHJcbiAgICAgICAgeDogZXZlbnQuY2xpZW50WCArIDEwLFxyXG4gICAgICAgIHk6IGV2ZW50LmNsaWVudFkgLSAxMCxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb21iaW5hIGVzdGlsb3MgZG8gdG9vbHRpcCBwYXJhIGFwbGljYcOnw6NvXHJcbiAgICovXHJcbiAgZ2V0VG9vbHRpcFN0eWxlcyhzdGF0ZTogVG9vbHRpcFN0YXRlKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XHJcbiAgICBjb25zdCBzdHlsZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICAgIGlmIChzdGF0ZS50b29sdGlwQmdTdHlsZSkge1xyXG4gICAgICBPYmplY3QuYXNzaWduKHN0eWxlcywgc3RhdGUudG9vbHRpcEJnU3R5bGUpO1xyXG4gICAgfVxyXG4gICAgaWYgKHN0YXRlLnRvb2x0aXBUZXh0U3R5bGUpIHtcclxuICAgICAgT2JqZWN0LmFzc2lnbihzdHlsZXMsIHN0YXRlLnRvb2x0aXBUZXh0U3R5bGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0eWxlcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExpbXBhIHJlY3Vyc29zIGFvIGRlc3RydWlyXHJcbiAgICovXHJcbiAgZGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnRvb2x0aXBUaW1lb3V0KSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRvb2x0aXBUaW1lb3V0KTtcclxuICAgICAgdGhpcy50b29sdGlwVGltZW91dCA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuIl19
@@ -0,0 +1,9 @@
1
+ export const TABLE_DEFAULTS = {
2
+ SORT_FIELD: 'createdAt',
3
+ SORT_ORDER: 'desc',
4
+ PAGE_SIZE: 25,
5
+ DEBOUNCE_TIME_MS: 500,
6
+ DEFAULT_BG_COLOR: '#1976d2',
7
+ DEFAULT_TEXT_COLOR: '#ffffff',
8
+ };
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1maXJlYmFzZS10YWJsZS1reHAvc3JjL2xpYi90eXBlcy9UYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsVUFBVSxFQUFFLFdBQVc7SUFDdkIsVUFBVSxFQUFFLE1BQWU7SUFDM0IsU0FBUyxFQUFFLEVBQUU7SUFDYixnQkFBZ0IsRUFBRSxHQUFHO0lBQ3JCLGdCQUFnQixFQUFFLFNBQVM7SUFDM0Isa0JBQWtCLEVBQUUsU0FBUztDQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb2xsZWN0aW9uUmVmZXJlbmNlLFxyXG4gIERvY3VtZW50UmVmZXJlbmNlLFxyXG4gIFF1ZXJ5RG9jdW1lbnRTbmFwc2hvdCxcclxufSBmcm9tICdAYW5ndWxhci9maXJlL2NvbXBhdC9maXJlc3RvcmUnO1xyXG5pbXBvcnQgeyBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBmaXJlYmFzZSBmcm9tICdmaXJlYmFzZS9jb21wYXQnO1xyXG5pbXBvcnQgV2hlcmVGaWx0ZXJPcCA9IGZpcmViYXNlLmZpcmVzdG9yZS5XaGVyZUZpbHRlck9wO1xyXG5pbXBvcnQgeyBPcmRlckJ5RGlyZWN0aW9uIH0gZnJvbSAnZmlyZWJhc2UvZmlyZXN0b3JlJztcclxuXHJcbmV4cG9ydCBjb25zdCBUQUJMRV9ERUZBVUxUUyA9IHtcclxuICBTT1JUX0ZJRUxEOiAnY3JlYXRlZEF0JyxcclxuICBTT1JUX09SREVSOiAnZGVzYycgYXMgY29uc3QsXHJcbiAgUEFHRV9TSVpFOiAyNSxcclxuICBERUJPVU5DRV9USU1FX01TOiA1MDAsXHJcbiAgREVGQVVMVF9CR19DT0xPUjogJyMxOTc2ZDInLFxyXG4gIERFRkFVTFRfVEVYVF9DT0xPUjogJyNmZmZmZmYnLFxyXG59O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWJsZURhdGEge1xyXG4gIGRpc3BsYXllZENvbHVtbnM6IENvbHVtbltdO1xyXG4gIGZpbHRlcmFibGVPcHRpb25zPzogRmlsdGVyYWJsZU9wdGlvbltdO1xyXG4gIGNvbGxlY3Rpb25SZWY6IENvbGxlY3Rpb25SZWZlcmVuY2U8dW5rbm93bj47XHJcbiAgY29sbGVjdGlvbjogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0b3RhbFJlZj86IHsgcmVmOiBEb2N1bWVudFJlZmVyZW5jZTx1bmtub3duPjsgZmllbGQ6IHN0cmluZyB9W107XHJcbiAgZG93bmxvYWQ6IGJvb2xlYW47XHJcbiAgcGFnaW5hdGlvbjogYm9vbGVhbjtcclxuICBpc05vdENsaWNrYWJsZT86IGJvb2xlYW47XHJcbiAgdXJsPzogc3RyaW5nO1xyXG4gIHNvcnRCeT86IHsgZmllbGQ6IHN0cmluZzsgb3JkZXI6IE9yZGVyQnlEaXJlY3Rpb24gfTtcclxuICBjb25kaXRpb25zPzoge1xyXG4gICAgb3BlcmF0b3I6IFdoZXJlRmlsdGVyT3A7XHJcbiAgICBmaXJlc3RvcmVQcm9wZXJ0eTogc3RyaW5nO1xyXG4gICAgZGFzaFByb3BlcnR5OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICB9W107XHJcbiAgZmlsdGVyRm4/OiAoaXRlbTogYW55KSA9PiBib29sZWFuO1xyXG4gIGNvbG9yPzogeyBiZzogc3RyaW5nOyB0ZXh0OiBzdHJpbmcgfTtcclxuICBzaG93U2ltcGxlU2VhcmNoPzogYm9vbGVhbjsgLy8gRmxhZyBwYXJhIG1vc3RyYXIvb2N1bHRhciBjYW1wbyBkZSBidXNjYSBzaW1wbGVzIChwYWRyw6NvOiB0cnVlKVxyXG4gIGFjdGlvbkJ1dHRvbj86IHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICByb3V0ZXJMaW5rOiBzdHJpbmc7XHJcbiAgICBpY29uPzogc3RyaW5nO1xyXG4gICAgY29sb3JDbGFzcz86IHN0cmluZztcclxuICAgIG1ldGhvZD86IChyb3c6IGFueSwgZXZlbnQ/OiBhbnkpID0+IGFueTtcclxuICAgIGNvbmRpdGlvbj86IChyb3c/OiBhbnkpID0+IGJvb2xlYW47XHJcbiAgfTtcclxuICB0YWJzPzogVGFiO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYiB7XHJcbiAgbWV0aG9kOiAodGFiOiBhbnksIGV2ZW50PzogYW55KSA9PiBhbnk7XHJcbiAgdGFic0RhdGE6IFRhYkRhdGFbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWJEYXRhIHtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIGNvdW50ZXI/OiBudW1iZXI7XHJcbiAgY291bnRlckNsYXNzPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbiB7XHJcbiAgcHJvcGVydHk6IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBjaGFyTGltaXQ/OiBudW1iZXI7XHJcbiAgcGlwZT86IFBpcGVUcmFuc2Zvcm07XHJcbiAgaWNvbkNsYXNzPzoge1xyXG4gICAgdGV4dD86IHN0cmluZztcclxuICAgIGNsYXNzPzogc3RyaW5nO1xyXG4gICAgY29uZGl0aW9uPzogKHJvdzogYW55KSA9PiBhbnk7XHJcbiAgICBidXR0b25NZXRob2Q/OiAocm93OiBhbnksIGV2ZW50PzogYW55KSA9PiBhbnk7XHJcbiAgfVtdO1xyXG4gIGlzU29ydGFibGU/OiBib29sZWFuO1xyXG4gIGlzRmlsdGVyYWJsZT86IGJvb2xlYW47XHJcbiAgaXNGaWx0ZXJhYmxlQnlEYXRlPzogYm9vbGVhbjtcclxuICBoYXNMaW5rPzogYm9vbGVhbiB8IHN0cmluZztcclxuICBoYXNEb3dubG9hZD86IGJvb2xlYW4gfCBzdHJpbmc7XHJcbiAgcmVsYXRpb24/OiB7XHJcbiAgICB0YXJnZXRlZENvbGxlY3Rpb246IHN0cmluZzsgLy91c2VycyAoY29sbGVjdGlvbiB0YXJnZXRlZCBkbyBqb2luKVxyXG4gICAgc291cmNlUHJvcGVydHk6IHN0cmluZzsgLy8gdXNlcklkIDw8IGRhIGNvbGxlY3Rpb24gYXR1YWwgYG9yZGVyc2BcclxuICAgIHRhcmdldGVkUHJvcGVydHk6IHN0cmluZzsgLy8gbmFtZSA/PyAocHJvcHJpZWRhZGUgcXVlIHF1ZXJvIHB1eGFyIGRhIHRhYmVsYSB1c2VycylcclxuICB9O1xyXG4gIHF1ZXJ5TGVuZ3RoPzoge1xyXG4gICAgY29sbGVjdGlvbjogc3RyaW5nO1xyXG4gICAgcHJvcGVydHk6IHN0cmluZztcclxuICAgIG9wZXJhdG9yOiBXaGVyZUZpbHRlck9wO1xyXG4gICAgdmFsdWU6IHN0cmluZztcclxuICB9O1xyXG4gIGltYWdlPzogSW1hZ2U7XHJcbiAgbWV0aG9kPzogKHJvdzogYW55LCBldmVudD86IGFueSkgPT4gYW55O1xyXG4gIGZpbHRlclByZWRpY2F0ZXM/OiBzdHJpbmdbXTtcclxuICBjYWxjdWxhdGVWYWx1ZT86IChyb3c6IGFueSkgPT4gYW55O1xyXG4gIGFycmF5RmllbGQ/OiBzdHJpbmc7XHJcbiAgdG9vbHRpcD86IHsgY29sb3I6IHN0cmluZzsgdGV4dDogc3RyaW5nIH07XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2Uge1xyXG4gIGNsYXNzOiBzdHJpbmc7XHJcbiAgcGF0aD86IHN0cmluZztcclxuICB1cmw/OiBib29sZWFuO1xyXG4gIGRlZmF1bHQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyYWJsZU9wdGlvbiB7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBpdGVtczoge1xyXG4gICAgcHJvcGVydHk6IHN0cmluZztcclxuICAgIHZhbHVlOiBzdHJpbmcgfCBib29sZWFuO1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICB9W107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGlvbiB7XHJcbiAgYmF0Y2hTaXplOiBudW1iZXI7XHJcbiAgY29sbGVjdGlvbjogc3RyaW5nO1xyXG4gIGRvYz86IHtcclxuICAgIGZpcnN0RG9jOiBRdWVyeURvY3VtZW50U25hcHNob3Q8YW55PiB8IG51bGw7XHJcbiAgICBsYXN0RG9jOiBRdWVyeURvY3VtZW50U25hcHNob3Q8YW55PiB8IG51bGw7XHJcbiAgfTtcclxuICBuYXZpZ2F0aW9uOiAncmVsb2FkJyB8ICdmb3J3YXJkJyB8ICdiYWNrd2FyZCc7XHJcbiAgYXJyYW5nZTogQXJyYW5nZTtcclxuICBjb25kaXRpb25zPzogQ29uZGl0aW9uW107XHJcbiAgZmlsdGVyRm4/OiAoaXRlbTogYW55KSA9PiBib29sZWFuO1xyXG4gIHNpemU/OiBudW1iZXI7XHJcbiAgY2xpZW50UGFnZUluZGV4PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbmRpdGlvbiB7XHJcbiAgb3BlcmF0b3I6IFdoZXJlRmlsdGVyT3A7XHJcbiAgZmlyZXN0b3JlUHJvcGVydHk6IHN0cmluZztcclxuICBkYXNoUHJvcGVydHk6IHN0cmluZyB8IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFycmFuZ2Uge1xyXG4gIGZpbHRlcnM6IHtcclxuICAgIGFycmFuZ2U6XHJcbiAgICAgIHwgJ2FzY2VuZGluZydcclxuICAgICAgfCAnZGVzY2VuZGluZydcclxuICAgICAgfCAnZmlsdGVyJ1xyXG4gICAgICB8ICdmaWx0ZXJCeURhdGUnXHJcbiAgICAgIHwgJ2VxdWFscydcclxuICAgICAgfCAnJztcclxuICAgIGZpbHRlcj86IHsgcHJvcGVydHk6IHN0cmluZzsgZmlsdGVyaW5nOiBzdHJpbmcgfSB8IG51bGw7XHJcbiAgICBkYXRlRmlsdGVyPzoge1xyXG4gICAgICBpbml0aWFsOiBEYXRlO1xyXG4gICAgICBmaW5hbDogRGF0ZTtcclxuICAgIH07XHJcbiAgfVtdO1xyXG4gIHNvcnRCeTogeyBmaWVsZDogc3RyaW5nOyBvcmRlcjogT3JkZXJCeURpcmVjdGlvbiB9O1xyXG4gIGVsZW1lbnRJZD86IHsgcHJvcGVydHk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9O1xyXG59XHJcblxyXG4vLyBUaXBvIHBhcmEgaXRlbnMgZG8gZHJvcGRvd24gZGUgZmlsdHJvcyBlIG9yZGVuYcOnw6NvXHJcbmV4cG9ydCB0eXBlIERyb3Bkb3duSXRlbSA9IENvbHVtbiAmIHtcclxuICBhcnJhbmdlOiAnZmlsdGVyJyB8ICdmaWx0ZXJCeURhdGUnIHwgJ2VxdWFscycgfCAnYXNjZW5kaW5nJyB8ICdkZXNjZW5kaW5nJztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbn07XHJcblxyXG4vLyBUaXBvIHBhcmEgaXRlbnMgc2VsZWNpb25hZG9zIGVtIGZpbHRyb3NcclxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJTZWxlY3RJdGVtIHtcclxuICBwcm9wZXJ0eTogc3RyaW5nO1xyXG4gIHZhbHVlOiBzdHJpbmcgfCBib29sZWFuO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Obtém o valor aninhado de um objeto dado um caminho (ex: 'user.address.city')
3
+ */
4
+ export function getNestedValue(obj, path) {
5
+ if (!path)
6
+ return undefined;
7
+ const properties = path.split('.');
8
+ return properties.reduce((acc, currentPart) => acc && acc[currentPart], obj);
9
+ }
10
+ /**
11
+ * Formata um array de objetos em uma string com valores separados por vírgula
12
+ */
13
+ export function formatArrayValue(array, field) {
14
+ if (!Array.isArray(array) || array.length === 0) {
15
+ return '';
16
+ }
17
+ const values = array
18
+ .map((item) => {
19
+ if (typeof item === 'object' && item !== null) {
20
+ return item[field] || '';
21
+ }
22
+ return String(item);
23
+ })
24
+ .filter((value) => value !== '' && value !== null && value !== undefined);
25
+ return values.join(', ');
26
+ }
27
+ /**
28
+ * Obtém o valor de exibição para uma célula da tabela
29
+ */
30
+ export function getDisplayValue(col, row, withinLimit = false) {
31
+ let value;
32
+ if (col.calculateValue) {
33
+ value = col.calculateValue(row);
34
+ }
35
+ else {
36
+ value = getNestedValue(row, col.property);
37
+ }
38
+ if (Array.isArray(value) && col.arrayField) {
39
+ value = formatArrayValue(value, col.arrayField);
40
+ }
41
+ if (col.queryLength && row[col.property]) {
42
+ value = row[col.property];
43
+ }
44
+ value = col.pipe ? col.pipe.transform(value) : value;
45
+ if (value === null || value === undefined) {
46
+ value = '';
47
+ }
48
+ else {
49
+ value = String(value);
50
+ }
51
+ if (withinLimit || !col.charLimit || value.length <= col.charLimit) {
52
+ return value;
53
+ }
54
+ return value.substring(0, col.charLimit) + '...';
55
+ }
56
+ /**
57
+ * Verifica se um valor é string
58
+ */
59
+ export function isString(value) {
60
+ return typeof value === 'string';
61
+ }
62
+ /**
63
+ * TrackBy function para colunas
64
+ */
65
+ export function trackByProperty(_index, col) {
66
+ return col.property;
67
+ }
68
+ /**
69
+ * Gera uma chave única para identificar uma imagem em carregamento
70
+ */
71
+ export function getImageKey(row, col) {
72
+ const rowId = row.id || row._id || JSON.stringify(row);
73
+ return `${rowId}-${col.property}`;
74
+ }
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1maXJlYmFzZS10YWJsZS1reHAvc3JjL2xpYi91dGlscy90YWJsZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBUSxFQUFFLElBQVk7SUFDbkQsSUFBSSxDQUFDLElBQUk7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUM1QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FDdEIsQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUM3QyxHQUFHLENBQ0osQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFZLEVBQUUsS0FBYTtJQUMxRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUMvQyxPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsTUFBTSxNQUFNLEdBQUcsS0FBSztTQUNqQixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNaLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDN0MsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEIsQ0FBQyxDQUFDO1NBQ0QsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssRUFBRSxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDO0lBRTVFLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUM3QixHQUFXLEVBQ1gsR0FBUSxFQUNSLGNBQXVCLEtBQUs7SUFFNUIsSUFBSSxLQUFVLENBQUM7SUFFZixJQUFJLEdBQUcsQ0FBQyxjQUFjLEVBQUU7UUFDdEIsS0FBSyxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDakM7U0FBTTtRQUNMLEtBQUssR0FBRyxjQUFjLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUMzQztJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVSxFQUFFO1FBQzFDLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQ2pEO0lBRUQsSUFBSSxHQUFHLENBQUMsV0FBVyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDeEMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDM0I7SUFFRCxLQUFLLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUVyRCxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtRQUN6QyxLQUFLLEdBQUcsRUFBRSxDQUFDO0tBQ1o7U0FBTTtRQUNMLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDdkI7SUFFRCxJQUFJLFdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsU0FBUyxFQUFFO1FBQ2xFLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDbkQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUFVO0lBQ2pDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDO0FBQ25DLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsTUFBYyxFQUFFLEdBQVc7SUFDekQsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDO0FBQ3RCLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsR0FBUSxFQUFFLEdBQVc7SUFDL0MsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkQsT0FBTyxHQUFHLEtBQUssSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbHVtbiB9IGZyb20gJy4uL3R5cGVzL1RhYmxlJztcclxuXHJcbi8qKlxyXG4gKiBPYnTDqW0gbyB2YWxvciBhbmluaGFkbyBkZSB1bSBvYmpldG8gZGFkbyB1bSBjYW1pbmhvIChleDogJ3VzZXIuYWRkcmVzcy5jaXR5JylcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXROZXN0ZWRWYWx1ZShvYmo6IGFueSwgcGF0aDogc3RyaW5nKTogYW55IHtcclxuICBpZiAoIXBhdGgpIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgY29uc3QgcHJvcGVydGllcyA9IHBhdGguc3BsaXQoJy4nKTtcclxuICByZXR1cm4gcHJvcGVydGllcy5yZWR1Y2UoXHJcbiAgICAoYWNjLCBjdXJyZW50UGFydCkgPT4gYWNjICYmIGFjY1tjdXJyZW50UGFydF0sXHJcbiAgICBvYmpcclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogRm9ybWF0YSB1bSBhcnJheSBkZSBvYmpldG9zIGVtIHVtYSBzdHJpbmcgY29tIHZhbG9yZXMgc2VwYXJhZG9zIHBvciB2w61yZ3VsYVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEFycmF5VmFsdWUoYXJyYXk6IGFueVtdLCBmaWVsZDogc3RyaW5nKTogc3RyaW5nIHtcclxuICBpZiAoIUFycmF5LmlzQXJyYXkoYXJyYXkpIHx8IGFycmF5Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgdmFsdWVzID0gYXJyYXlcclxuICAgIC5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiBpdGVtICE9PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW1bZmllbGRdIHx8ICcnO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XHJcbiAgICB9KVxyXG4gICAgLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSAnJyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkKTtcclxuXHJcbiAgcmV0dXJuIHZhbHVlcy5qb2luKCcsICcpO1xyXG59XHJcblxyXG4vKipcclxuICogT2J0w6ltIG8gdmFsb3IgZGUgZXhpYmnDp8OjbyBwYXJhIHVtYSBjw6lsdWxhIGRhIHRhYmVsYVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldERpc3BsYXlWYWx1ZShcclxuICBjb2w6IENvbHVtbixcclxuICByb3c6IGFueSxcclxuICB3aXRoaW5MaW1pdDogYm9vbGVhbiA9IGZhbHNlXHJcbik6IHN0cmluZyB7XHJcbiAgbGV0IHZhbHVlOiBhbnk7XHJcblxyXG4gIGlmIChjb2wuY2FsY3VsYXRlVmFsdWUpIHtcclxuICAgIHZhbHVlID0gY29sLmNhbGN1bGF0ZVZhbHVlKHJvdyk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHZhbHVlID0gZ2V0TmVzdGVkVmFsdWUocm93LCBjb2wucHJvcGVydHkpO1xyXG4gIH1cclxuXHJcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIGNvbC5hcnJheUZpZWxkKSB7XHJcbiAgICB2YWx1ZSA9IGZvcm1hdEFycmF5VmFsdWUodmFsdWUsIGNvbC5hcnJheUZpZWxkKTtcclxuICB9XHJcblxyXG4gIGlmIChjb2wucXVlcnlMZW5ndGggJiYgcm93W2NvbC5wcm9wZXJ0eV0pIHtcclxuICAgIHZhbHVlID0gcm93W2NvbC5wcm9wZXJ0eV07XHJcbiAgfVxyXG5cclxuICB2YWx1ZSA9IGNvbC5waXBlID8gY29sLnBpcGUudHJhbnNmb3JtKHZhbHVlKSA6IHZhbHVlO1xyXG5cclxuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgdmFsdWUgPSAnJztcclxuICB9IGVsc2Uge1xyXG4gICAgdmFsdWUgPSBTdHJpbmcodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgaWYgKHdpdGhpbkxpbWl0IHx8ICFjb2wuY2hhckxpbWl0IHx8IHZhbHVlLmxlbmd0aCA8PSBjb2wuY2hhckxpbWl0KSB7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG4gIHJldHVybiB2YWx1ZS5zdWJzdHJpbmcoMCwgY29sLmNoYXJMaW1pdCkgKyAnLi4uJztcclxufVxyXG5cclxuLyoqXHJcbiAqIFZlcmlmaWNhIHNlIHVtIHZhbG9yIMOpIHN0cmluZ1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RyaW5nKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJztcclxufVxyXG5cclxuLyoqXHJcbiAqIFRyYWNrQnkgZnVuY3Rpb24gcGFyYSBjb2x1bmFzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gdHJhY2tCeVByb3BlcnR5KF9pbmRleDogbnVtYmVyLCBjb2w6IENvbHVtbik6IHN0cmluZyB7XHJcbiAgcmV0dXJuIGNvbC5wcm9wZXJ0eTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdlcmEgdW1hIGNoYXZlIMO6bmljYSBwYXJhIGlkZW50aWZpY2FyIHVtYSBpbWFnZW0gZW0gY2FycmVnYW1lbnRvXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW1hZ2VLZXkocm93OiBhbnksIGNvbDogQ29sdW1uKTogc3RyaW5nIHtcclxuICBjb25zdCByb3dJZCA9IHJvdy5pZCB8fCByb3cuX2lkIHx8IEpTT04uc3RyaW5naWZ5KHJvdyk7XHJcbiAgcmV0dXJuIGAke3Jvd0lkfS0ke2NvbC5wcm9wZXJ0eX1gO1xyXG59XHJcblxyXG5cclxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZmlyZWJhc2UtdGFibGUta3hwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvbmctZmlyZWJhc2UtdGFibGUta3hwL3NyYy9uZy1maXJlYmFzZS10YWJsZS1reHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Public API Surface of ng-firebase-table-kxp
3
+ */
4
+ // Main module
5
+ export * from './lib/ng-firebase-table-kxp.module';
6
+ // Legacy components (se existirem)
7
+ export * from './lib/ng-firebase-table-kxp.service';
8
+ export * from './lib/ng-firebase-table-kxp.component';
9
+ // Components
10
+ export * from './lib/components/table/table.component';
11
+ export * from './lib/components/table-tabs/table-tabs.component';
12
+ export * from './lib/components/table-tooltip/table-tooltip.component';
13
+ // Services
14
+ export * from './lib/services/table.service';
15
+ export * from './lib/services/filter.service';
16
+ export * from './lib/services/tooltip.service';
17
+ export * from './lib/services/pagination.service';
18
+ // Types
19
+ export * from './lib/types/Table';
20
+ // Utils
21
+ export * from './lib/utils/table.utils';
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nLWZpcmViYXNlLXRhYmxlLWt4cC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWM7QUFDZCxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELG1DQUFtQztBQUNuQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsYUFBYTtBQUNiLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHdEQUF3RCxDQUFDO0FBRXZFLFdBQVc7QUFDWCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELFFBQVE7QUFDUixjQUFjLG1CQUFtQixDQUFDO0FBRWxDLFFBQVE7QUFDUixjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5nLWZpcmViYXNlLXRhYmxlLWt4cFxyXG4gKi9cclxuXHJcbi8vIE1haW4gbW9kdWxlXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25nLWZpcmViYXNlLXRhYmxlLWt4cC5tb2R1bGUnO1xyXG5cclxuLy8gTGVnYWN5IGNvbXBvbmVudHMgKHNlIGV4aXN0aXJlbSlcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmctZmlyZWJhc2UtdGFibGUta3hwLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZy1maXJlYmFzZS10YWJsZS1reHAuY29tcG9uZW50JztcclxuXHJcbi8vIENvbXBvbmVudHNcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RhYmxlLXRhYnMvdGFibGUtdGFicy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RhYmxlLXRvb2x0aXAvdGFibGUtdG9vbHRpcC5jb21wb25lbnQnO1xyXG5cclxuLy8gU2VydmljZXNcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdGFibGUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2ZpbHRlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdG9vbHRpcC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcGFnaW5hdGlvbi5zZXJ2aWNlJztcclxuXHJcbi8vIFR5cGVzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGVzL1RhYmxlJztcclxuXHJcbi8vIFV0aWxzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL3RhYmxlLnV0aWxzJztcclxuIl19