ng-firebase-table-kxp 1.2.7 → 1.2.8

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.
@@ -1371,8 +1371,12 @@ class FilterService {
1371
1371
  /**
1372
1372
  * Retorna as opções de filtro disponíveis
1373
1373
  */
1374
- getAvailableFilterOptions(dropdownItems, isPaginated, filtersForm) {
1375
- if (isPaginated && this.hasActiveDateFilter(filtersForm)) {
1374
+ getAvailableFilterOptions(dropdownItems, isPaginated, filtersForm, currentGroup) {
1375
+ var _a, _b;
1376
+ const currentIsDateFilter = ((_b = (_a = currentGroup === null || currentGroup === void 0 ? void 0 : currentGroup.get('selectFilter')) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.arrange) === 'filterByDate';
1377
+ if (isPaginated &&
1378
+ this.hasActiveDateFilter(filtersForm) &&
1379
+ !currentIsDateFilter) {
1376
1380
  return dropdownItems.filter((item) => item.arrange !== 'filterByDate');
1377
1381
  }
1378
1382
  return dropdownItems;
@@ -2264,21 +2268,22 @@ function TableComponent_div_0_div_2_div_9_div_1_div_1_Template(rf, ctx) {
2264
2268
  i0.ɵɵelementEnd()()();
2265
2269
  }
2266
2270
  if (rf & 2) {
2267
- const ctx_r24 = i0.ɵɵnextContext(5);
2271
+ const filterGroup_r22 = i0.ɵɵnextContext().$implicit;
2272
+ const ctx_r24 = i0.ɵɵnextContext(4);
2268
2273
  i0.ɵɵadvance(5);
2269
- i0.ɵɵproperty("ngForOf", ctx_r24.getAvailableFilterOptions());
2274
+ i0.ɵɵproperty("ngForOf", ctx_r24.getAvailableFilterOptions(filterGroup_r22));
2270
2275
  }
2271
2276
  }
2272
2277
  function TableComponent_div_0_div_2_div_9_div_1_div_2_Template(rf, ctx) {
2273
2278
  if (rf & 1) {
2274
- const _r35 = i0.ɵɵgetCurrentView();
2279
+ const _r36 = i0.ɵɵgetCurrentView();
2275
2280
  i0.ɵɵelementStart(0, "div", 34)(1, "mat-form-field", 35)(2, "mat-label", 21);
2276
2281
  i0.ɵɵelement(3, "i", 48);
2277
2282
  i0.ɵɵelementStart(4, "span");
2278
2283
  i0.ɵɵtext(5);
2279
2284
  i0.ɵɵelementEnd()();
2280
2285
  i0.ɵɵelementStart(6, "input", 49, 50);
2281
- i0.ɵɵlistener("keyup.enter", function TableComponent_div_0_div_2_div_9_div_1_div_2_Template_input_keyup_enter_6_listener($event) { i0.ɵɵrestoreView(_r35); const ctx_r34 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r34.search($event)); });
2286
+ i0.ɵɵlistener("keyup.enter", function TableComponent_div_0_div_2_div_9_div_1_div_2_Template_input_keyup_enter_6_listener($event) { i0.ɵɵrestoreView(_r36); const ctx_r35 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r35.search($event)); });
2282
2287
  i0.ɵɵelementEnd()()();
2283
2288
  }
2284
2289
  if (rf & 2) {
@@ -2295,10 +2300,10 @@ function TableComponent_div_0_div_2_div_9_div_1_div_3_mat_option_5_Template(rf,
2295
2300
  i0.ɵɵelementEnd();
2296
2301
  }
2297
2302
  if (rf & 2) {
2298
- const item_r38 = ctx.$implicit;
2299
- i0.ɵɵproperty("value", item_r38);
2303
+ const item_r39 = ctx.$implicit;
2304
+ i0.ɵɵproperty("value", item_r39);
2300
2305
  i0.ɵɵadvance(1);
2301
- i0.ɵɵtextInterpolate1(" ", item_r38.label, " ");
2306
+ i0.ɵɵtextInterpolate1(" ", item_r39.label, " ");
2302
2307
  }
2303
2308
  }
2304
2309
  function TableComponent_div_0_div_2_div_9_div_1_div_3_Template(rf, ctx) {
@@ -2322,14 +2327,14 @@ function TableComponent_div_0_div_2_div_9_div_1_div_3_Template(rf, ctx) {
2322
2327
  }
2323
2328
  function TableComponent_div_0_div_2_div_9_div_1_div_4_Template(rf, ctx) {
2324
2329
  if (rf & 1) {
2325
- const _r41 = i0.ɵɵgetCurrentView();
2330
+ const _r42 = i0.ɵɵgetCurrentView();
2326
2331
  i0.ɵɵelementStart(0, "div", 52)(1, "div", 53)(2, "mat-form-field", 54)(3, "mat-label", 21);
2327
2332
  i0.ɵɵelement(4, "i", 55);
2328
2333
  i0.ɵɵelementStart(5, "span");
2329
2334
  i0.ɵɵtext(6, "Data Inicial");
2330
2335
  i0.ɵɵelementEnd()();
2331
2336
  i0.ɵɵelementStart(7, "input", 56);
2332
- i0.ɵɵlistener("keydown.enter", function TableComponent_div_0_div_2_div_9_div_1_div_4_Template_input_keydown_enter_7_listener($event) { i0.ɵɵrestoreView(_r41); const ctx_r40 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r40.search($event)); })("input", function TableComponent_div_0_div_2_div_9_div_1_div_4_Template_input_input_7_listener($event) { i0.ɵɵrestoreView(_r41); const i_r23 = i0.ɵɵnextContext().index; const ctx_r42 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r42.onDateInput($event, "initialDate", i_r23)); });
2337
+ i0.ɵɵlistener("keydown.enter", function TableComponent_div_0_div_2_div_9_div_1_div_4_Template_input_keydown_enter_7_listener($event) { i0.ɵɵrestoreView(_r42); const ctx_r41 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r41.search($event)); })("input", function TableComponent_div_0_div_2_div_9_div_1_div_4_Template_input_input_7_listener($event) { i0.ɵɵrestoreView(_r42); const i_r23 = i0.ɵɵnextContext().index; const ctx_r43 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r43.onDateInput($event, "initialDate", i_r23)); });
2333
2338
  i0.ɵɵelementEnd()();
2334
2339
  i0.ɵɵelementStart(8, "mat-form-field", 54)(9, "mat-label", 21);
2335
2340
  i0.ɵɵelement(10, "i", 55);
@@ -2337,15 +2342,15 @@ function TableComponent_div_0_div_2_div_9_div_1_div_4_Template(rf, ctx) {
2337
2342
  i0.ɵɵtext(12, "Data Final");
2338
2343
  i0.ɵɵelementEnd()();
2339
2344
  i0.ɵɵelementStart(13, "input", 57);
2340
- i0.ɵɵlistener("keydown.enter", function TableComponent_div_0_div_2_div_9_div_1_div_4_Template_input_keydown_enter_13_listener($event) { i0.ɵɵrestoreView(_r41); const ctx_r44 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r44.search($event)); })("input", function TableComponent_div_0_div_2_div_9_div_1_div_4_Template_input_input_13_listener($event) { i0.ɵɵrestoreView(_r41); const i_r23 = i0.ɵɵnextContext().index; const ctx_r45 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r45.onDateInput($event, "finalDate", i_r23)); });
2345
+ i0.ɵɵlistener("keydown.enter", function TableComponent_div_0_div_2_div_9_div_1_div_4_Template_input_keydown_enter_13_listener($event) { i0.ɵɵrestoreView(_r42); const ctx_r45 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r45.search($event)); })("input", function TableComponent_div_0_div_2_div_9_div_1_div_4_Template_input_input_13_listener($event) { i0.ɵɵrestoreView(_r42); const i_r23 = i0.ɵɵnextContext().index; const ctx_r46 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r46.onDateInput($event, "finalDate", i_r23)); });
2341
2346
  i0.ɵɵelementEnd()()()();
2342
2347
  }
2343
2348
  }
2344
2349
  function TableComponent_div_0_div_2_div_9_div_1_div_5_Template(rf, ctx) {
2345
2350
  if (rf & 1) {
2346
- const _r49 = i0.ɵɵgetCurrentView();
2351
+ const _r50 = i0.ɵɵgetCurrentView();
2347
2352
  i0.ɵɵelementStart(0, "div", 58)(1, "button", 59);
2348
- i0.ɵɵlistener("click", function TableComponent_div_0_div_2_div_9_div_1_div_5_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r49); const i_r23 = i0.ɵɵnextContext().index; const ctx_r47 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r47.removeFilter(i_r23)); });
2353
+ i0.ɵɵlistener("click", function TableComponent_div_0_div_2_div_9_div_1_div_5_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r50); const i_r23 = i0.ɵɵnextContext().index; const ctx_r48 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r48.removeFilter(i_r23)); });
2349
2354
  i0.ɵɵelement(2, "i", 60);
2350
2355
  i0.ɵɵelementEnd()();
2351
2356
  }
@@ -2393,9 +2398,9 @@ function TableComponent_div_0_div_2_div_9_Template(rf, ctx) {
2393
2398
  }
2394
2399
  function TableComponent_div_0_div_2_div_11_Template(rf, ctx) {
2395
2400
  if (rf & 1) {
2396
- const _r51 = i0.ɵɵgetCurrentView();
2401
+ const _r52 = i0.ɵɵgetCurrentView();
2397
2402
  i0.ɵɵelementStart(0, "div")(1, "button", 61);
2398
- i0.ɵɵlistener("click", function TableComponent_div_0_div_2_div_11_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r51); const ctx_r50 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r50.addFilter()); });
2403
+ i0.ɵɵlistener("click", function TableComponent_div_0_div_2_div_11_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r52); const ctx_r51 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r51.addFilter()); });
2399
2404
  i0.ɵɵelement(2, "i", 62);
2400
2405
  i0.ɵɵtext(3, " Adicionar Filtro ");
2401
2406
  i0.ɵɵelementEnd()();
@@ -2403,28 +2408,28 @@ function TableComponent_div_0_div_2_div_11_Template(rf, ctx) {
2403
2408
  }
2404
2409
  function TableComponent_div_0_div_2_div_12_button_7_Template(rf, ctx) {
2405
2410
  if (rf & 1) {
2406
- const _r54 = i0.ɵɵgetCurrentView();
2411
+ const _r55 = i0.ɵɵgetCurrentView();
2407
2412
  i0.ɵɵelementStart(0, "button", 69);
2408
- i0.ɵɵlistener("click", function TableComponent_div_0_div_2_div_12_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r54); const ctx_r53 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r53.arrange && ctx_r53.downloadTable !== undefined ? ctx_r53.downloadTable(ctx_r53.arrange, ctx_r53.data.conditions || []) : null); });
2413
+ i0.ɵɵlistener("click", function TableComponent_div_0_div_2_div_12_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r55); const ctx_r54 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r54.arrange && ctx_r54.downloadTable !== undefined ? ctx_r54.downloadTable(ctx_r54.arrange, ctx_r54.data.conditions || []) : null); });
2409
2414
  i0.ɵɵelement(1, "i", 70);
2410
2415
  i0.ɵɵtext(2, " Exportar ");
2411
2416
  i0.ɵɵelementEnd();
2412
2417
  }
2413
2418
  if (rf & 2) {
2414
- const ctx_r52 = i0.ɵɵnextContext(4);
2415
- i0.ɵɵproperty("disabled", ctx_r52.dataSource && ctx_r52.dataSource.filteredData.length <= 0);
2419
+ const ctx_r53 = i0.ɵɵnextContext(4);
2420
+ i0.ɵɵproperty("disabled", ctx_r53.dataSource && ctx_r53.dataSource.filteredData.length <= 0);
2416
2421
  }
2417
2422
  }
2418
2423
  function TableComponent_div_0_div_2_div_12_Template(rf, ctx) {
2419
2424
  if (rf & 1) {
2420
- const _r56 = i0.ɵɵgetCurrentView();
2425
+ const _r57 = i0.ɵɵgetCurrentView();
2421
2426
  i0.ɵɵelementStart(0, "div", 63)(1, "button", 64);
2422
- i0.ɵɵlistener("click", function TableComponent_div_0_div_2_div_12_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r56); const ctx_r55 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r55.search()); });
2427
+ i0.ɵɵlistener("click", function TableComponent_div_0_div_2_div_12_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r57); const ctx_r56 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r56.search()); });
2423
2428
  i0.ɵɵelement(2, "i", 65);
2424
2429
  i0.ɵɵtext(3, " Pesquisar ");
2425
2430
  i0.ɵɵelementEnd();
2426
2431
  i0.ɵɵelementStart(4, "button", 66);
2427
- i0.ɵɵlistener("click", function TableComponent_div_0_div_2_div_12_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r56); const ctx_r57 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r57.resetFilter()); });
2432
+ i0.ɵɵlistener("click", function TableComponent_div_0_div_2_div_12_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r57); const ctx_r58 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r58.resetFilter()); });
2428
2433
  i0.ɵɵelement(5, "i", 67);
2429
2434
  i0.ɵɵtext(6, " Resetar ");
2430
2435
  i0.ɵɵelementEnd();
@@ -2472,37 +2477,37 @@ function TableComponent_div_0_div_3_button_7_i_1_Template(rf, ctx) {
2472
2477
  i0.ɵɵelement(0, "i");
2473
2478
  }
2474
2479
  if (rf & 2) {
2475
- const ctx_r61 = i0.ɵɵnextContext(4);
2476
- i0.ɵɵclassMap(ctx_r61.data.actionButton.icon);
2480
+ const ctx_r62 = i0.ɵɵnextContext(4);
2481
+ i0.ɵɵclassMap(ctx_r62.data.actionButton.icon);
2477
2482
  }
2478
2483
  }
2479
2484
  function TableComponent_div_0_div_3_button_7_Template(rf, ctx) {
2480
2485
  if (rf & 1) {
2481
- const _r63 = i0.ɵɵgetCurrentView();
2486
+ const _r64 = i0.ɵɵgetCurrentView();
2482
2487
  i0.ɵɵelementStart(0, "button", 30);
2483
- i0.ɵɵlistener("click", function TableComponent_div_0_div_3_button_7_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r63); const ctx_r62 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r62.data.actionButton.method ? ctx_r62.data.actionButton.method($event) : null); });
2488
+ i0.ɵɵlistener("click", function TableComponent_div_0_div_3_button_7_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r64); const ctx_r63 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r63.data.actionButton.method ? ctx_r63.data.actionButton.method($event) : null); });
2484
2489
  i0.ɵɵtemplate(1, TableComponent_div_0_div_3_button_7_i_1_Template, 1, 2, "i", 31);
2485
2490
  i0.ɵɵtext(2);
2486
2491
  i0.ɵɵelementEnd();
2487
2492
  }
2488
2493
  if (rf & 2) {
2489
- const ctx_r58 = i0.ɵɵnextContext(3);
2490
- i0.ɵɵproperty("ngClass", ctx_r58.getActionButtonClass())("routerLink", ctx_r58.data.actionButton.routerLink);
2494
+ const ctx_r59 = i0.ɵɵnextContext(3);
2495
+ i0.ɵɵproperty("ngClass", ctx_r59.getActionButtonClass())("routerLink", ctx_r59.data.actionButton.routerLink);
2491
2496
  i0.ɵɵadvance(1);
2492
- i0.ɵɵproperty("ngIf", ctx_r58.data.actionButton.icon);
2497
+ i0.ɵɵproperty("ngIf", ctx_r59.data.actionButton.icon);
2493
2498
  i0.ɵɵadvance(1);
2494
- i0.ɵɵtextInterpolate1(" ", ctx_r58.data.actionButton.label, " ");
2499
+ i0.ɵɵtextInterpolate1(" ", ctx_r59.data.actionButton.label, " ");
2495
2500
  }
2496
2501
  }
2497
2502
  function TableComponent_div_0_div_3_div_8_Template(rf, ctx) {
2498
2503
  if (rf & 1) {
2499
- const _r66 = i0.ɵɵgetCurrentView();
2504
+ const _r67 = i0.ɵɵgetCurrentView();
2500
2505
  i0.ɵɵelementStart(0, "div", 32)(1, "mat-form-field", 35)(2, "mat-label", 21);
2501
2506
  i0.ɵɵelement(3, "i", 71);
2502
2507
  i0.ɵɵtext(4, " Buscar ");
2503
2508
  i0.ɵɵelementEnd();
2504
2509
  i0.ɵɵelementStart(5, "input", 72, 73);
2505
- i0.ɵɵlistener("keyup.enter", function TableComponent_div_0_div_3_div_8_Template_input_keyup_enter_5_listener($event) { i0.ɵɵrestoreView(_r66); const ctx_r65 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r65.search($event)); })("keyup", function TableComponent_div_0_div_3_div_8_Template_input_keyup_5_listener() { i0.ɵɵrestoreView(_r66); const _r64 = i0.ɵɵreference(6); const ctx_r67 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r67.applyFilter(_r64.value)); });
2510
+ i0.ɵɵlistener("keyup.enter", function TableComponent_div_0_div_3_div_8_Template_input_keyup_enter_5_listener($event) { i0.ɵɵrestoreView(_r67); const ctx_r66 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r66.search($event)); })("keyup", function TableComponent_div_0_div_3_div_8_Template_input_keyup_5_listener() { i0.ɵɵrestoreView(_r67); const _r65 = i0.ɵɵreference(6); const ctx_r68 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r68.applyFilter(_r65.value)); });
2506
2511
  i0.ɵɵelementEnd();
2507
2512
  i0.ɵɵelementStart(7, "mat-icon", 74);
2508
2513
  i0.ɵɵtext(8, "search");
@@ -2518,48 +2523,49 @@ function TableComponent_div_0_div_3_div_9_div_1_div_1_div_1_mat_option_5_Templat
2518
2523
  i0.ɵɵelementEnd()()();
2519
2524
  }
2520
2525
  if (rf & 2) {
2521
- const item_r80 = ctx.$implicit;
2522
- i0.ɵɵproperty("value", item_r80);
2526
+ const item_r81 = ctx.$implicit;
2527
+ i0.ɵɵproperty("value", item_r81);
2523
2528
  i0.ɵɵadvance(2);
2524
- i0.ɵɵclassMap(item_r80.icon || "fa fa-filter");
2529
+ i0.ɵɵclassMap(item_r81.icon || "fa fa-filter");
2525
2530
  i0.ɵɵadvance(2);
2526
- i0.ɵɵtextInterpolate(item_r80.title);
2531
+ i0.ɵɵtextInterpolate(item_r81.title);
2527
2532
  }
2528
2533
  }
2529
2534
  function TableComponent_div_0_div_3_div_9_div_1_div_1_div_1_Template(rf, ctx) {
2530
2535
  if (rf & 1) {
2531
- const _r82 = i0.ɵɵgetCurrentView();
2536
+ const _r83 = i0.ɵɵgetCurrentView();
2532
2537
  i0.ɵɵelementStart(0, "div", 34)(1, "mat-form-field", 35)(2, "mat-label");
2533
2538
  i0.ɵɵtext(3, "Tipo de filtro");
2534
2539
  i0.ɵɵelementEnd();
2535
2540
  i0.ɵɵelementStart(4, "mat-select", 46);
2536
- i0.ɵɵlistener("selectionChange", function TableComponent_div_0_div_3_div_9_div_1_div_1_div_1_Template_mat_select_selectionChange_4_listener() { i0.ɵɵrestoreView(_r82); const ctx_r81 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r81.onSelectFilterChange()); });
2541
+ i0.ɵɵlistener("selectionChange", function TableComponent_div_0_div_3_div_9_div_1_div_1_div_1_Template_mat_select_selectionChange_4_listener() { i0.ɵɵrestoreView(_r83); const ctx_r82 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r82.onSelectFilterChange()); });
2537
2542
  i0.ɵɵtemplate(5, TableComponent_div_0_div_3_div_9_div_1_div_1_div_1_mat_option_5_Template, 5, 4, "mat-option", 38);
2538
2543
  i0.ɵɵelementEnd()()();
2539
2544
  }
2540
2545
  if (rf & 2) {
2541
- const ctx_r74 = i0.ɵɵnextContext(6);
2546
+ const filterGroup_r73 = i0.ɵɵnextContext().$implicit;
2547
+ const ctx_r75 = i0.ɵɵnextContext(5);
2542
2548
  i0.ɵɵadvance(5);
2543
- i0.ɵɵproperty("ngForOf", ctx_r74.getAvailableFilterOptions());
2549
+ i0.ɵɵproperty("ngForOf", ctx_r75.getAvailableFilterOptions(filterGroup_r73));
2544
2550
  }
2545
2551
  }
2546
2552
  function TableComponent_div_0_div_3_div_9_div_1_div_1_div_2_Template(rf, ctx) {
2547
2553
  if (rf & 1) {
2548
- const _r85 = i0.ɵɵgetCurrentView();
2554
+ const _r87 = i0.ɵɵgetCurrentView();
2549
2555
  i0.ɵɵelementStart(0, "div", 34)(1, "mat-form-field", 35)(2, "mat-label", 21);
2550
2556
  i0.ɵɵelement(3, "i", 48);
2551
2557
  i0.ɵɵelementStart(4, "span");
2552
2558
  i0.ɵɵtext(5);
2553
2559
  i0.ɵɵelementEnd()();
2554
2560
  i0.ɵɵelementStart(6, "input", 49, 50);
2555
- i0.ɵɵlistener("keyup.enter", function TableComponent_div_0_div_3_div_9_div_1_div_1_div_2_Template_input_keyup_enter_6_listener($event) { i0.ɵɵrestoreView(_r85); const ctx_r84 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r84.search($event)); });
2561
+ i0.ɵɵlistener("keyup.enter", function TableComponent_div_0_div_3_div_9_div_1_div_1_div_2_Template_input_keyup_enter_6_listener($event) { i0.ɵɵrestoreView(_r87); const ctx_r86 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r86.search($event)); });
2556
2562
  i0.ɵɵelementEnd()()();
2557
2563
  }
2558
2564
  if (rf & 2) {
2559
- const filterGroup_r72 = i0.ɵɵnextContext().$implicit;
2565
+ const filterGroup_r73 = i0.ɵɵnextContext().$implicit;
2560
2566
  let tmp_0_0;
2561
2567
  i0.ɵɵadvance(5);
2562
- i0.ɵɵtextInterpolate(((tmp_0_0 = filterGroup_r72.get("selectFilter")) == null ? null : tmp_0_0.value == null ? null : tmp_0_0.value.title) || "Filtrar");
2568
+ i0.ɵɵtextInterpolate(((tmp_0_0 = filterGroup_r73.get("selectFilter")) == null ? null : tmp_0_0.value == null ? null : tmp_0_0.value.title) || "Filtrar");
2563
2569
  }
2564
2570
  }
2565
2571
  function TableComponent_div_0_div_3_div_9_div_1_div_1_div_3_mat_option_5_Template(rf, ctx) {
@@ -2569,10 +2575,10 @@ function TableComponent_div_0_div_3_div_9_div_1_div_1_div_3_mat_option_5_Templat
2569
2575
  i0.ɵɵelementEnd();
2570
2576
  }
2571
2577
  if (rf & 2) {
2572
- const item_r88 = ctx.$implicit;
2573
- i0.ɵɵproperty("value", item_r88);
2578
+ const item_r90 = ctx.$implicit;
2579
+ i0.ɵɵproperty("value", item_r90);
2574
2580
  i0.ɵɵadvance(1);
2575
- i0.ɵɵtextInterpolate1(" ", item_r88.label, " ");
2581
+ i0.ɵɵtextInterpolate1(" ", item_r90.label, " ");
2576
2582
  }
2577
2583
  }
2578
2584
  function TableComponent_div_0_div_3_div_9_div_1_div_1_div_3_Template(rf, ctx) {
@@ -2585,25 +2591,25 @@ function TableComponent_div_0_div_3_div_9_div_1_div_1_div_3_Template(rf, ctx) {
2585
2591
  i0.ɵɵelementEnd()()();
2586
2592
  }
2587
2593
  if (rf & 2) {
2588
- const filterGroup_r72 = i0.ɵɵnextContext().$implicit;
2594
+ const filterGroup_r73 = i0.ɵɵnextContext().$implicit;
2589
2595
  let tmp_0_0;
2590
2596
  let tmp_1_0;
2591
2597
  i0.ɵɵadvance(3);
2592
- i0.ɵɵtextInterpolate(((tmp_0_0 = filterGroup_r72.get("selectFilter")) == null ? null : tmp_0_0.value == null ? null : tmp_0_0.value.title) || "Selecione");
2598
+ i0.ɵɵtextInterpolate(((tmp_0_0 = filterGroup_r73.get("selectFilter")) == null ? null : tmp_0_0.value == null ? null : tmp_0_0.value.title) || "Selecione");
2593
2599
  i0.ɵɵadvance(2);
2594
- i0.ɵɵproperty("ngForOf", (tmp_1_0 = filterGroup_r72.get("selectFilter")) == null ? null : tmp_1_0.value.items);
2600
+ i0.ɵɵproperty("ngForOf", (tmp_1_0 = filterGroup_r73.get("selectFilter")) == null ? null : tmp_1_0.value.items);
2595
2601
  }
2596
2602
  }
2597
2603
  function TableComponent_div_0_div_3_div_9_div_1_div_1_div_4_Template(rf, ctx) {
2598
2604
  if (rf & 1) {
2599
- const _r91 = i0.ɵɵgetCurrentView();
2605
+ const _r93 = i0.ɵɵgetCurrentView();
2600
2606
  i0.ɵɵelementStart(0, "div", 52)(1, "div", 53)(2, "mat-form-field", 54)(3, "mat-label", 21);
2601
2607
  i0.ɵɵelement(4, "i", 55);
2602
2608
  i0.ɵɵelementStart(5, "span");
2603
2609
  i0.ɵɵtext(6, "Data Inicial");
2604
2610
  i0.ɵɵelementEnd()();
2605
2611
  i0.ɵɵelementStart(7, "input", 77);
2606
- i0.ɵɵlistener("keydown.enter", function TableComponent_div_0_div_3_div_9_div_1_div_1_div_4_Template_input_keydown_enter_7_listener($event) { i0.ɵɵrestoreView(_r91); const ctx_r90 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r90.search($event)); })("input", function TableComponent_div_0_div_3_div_9_div_1_div_1_div_4_Template_input_input_7_listener($event) { i0.ɵɵrestoreView(_r91); const i_r73 = i0.ɵɵnextContext().index; const ctx_r92 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r92.onDateInput($event, "initialDate", i_r73)); })("blur", function TableComponent_div_0_div_3_div_9_div_1_div_1_div_4_Template_input_blur_7_listener() { i0.ɵɵrestoreView(_r91); const ctx_r94 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r94.onDateFilterChange()); });
2612
+ i0.ɵɵlistener("keydown.enter", function TableComponent_div_0_div_3_div_9_div_1_div_1_div_4_Template_input_keydown_enter_7_listener($event) { i0.ɵɵrestoreView(_r93); const ctx_r92 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r92.search($event)); })("input", function TableComponent_div_0_div_3_div_9_div_1_div_1_div_4_Template_input_input_7_listener($event) { i0.ɵɵrestoreView(_r93); const i_r74 = i0.ɵɵnextContext().index; const ctx_r94 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r94.onDateInput($event, "initialDate", i_r74)); })("blur", function TableComponent_div_0_div_3_div_9_div_1_div_1_div_4_Template_input_blur_7_listener() { i0.ɵɵrestoreView(_r93); const ctx_r96 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r96.onDateFilterChange()); });
2607
2613
  i0.ɵɵelementEnd()();
2608
2614
  i0.ɵɵelementStart(8, "mat-form-field", 54)(9, "mat-label", 21);
2609
2615
  i0.ɵɵelement(10, "i", 55);
@@ -2611,15 +2617,15 @@ function TableComponent_div_0_div_3_div_9_div_1_div_1_div_4_Template(rf, ctx) {
2611
2617
  i0.ɵɵtext(12, "Data Final");
2612
2618
  i0.ɵɵelementEnd()();
2613
2619
  i0.ɵɵelementStart(13, "input", 78);
2614
- i0.ɵɵlistener("keydown.enter", function TableComponent_div_0_div_3_div_9_div_1_div_1_div_4_Template_input_keydown_enter_13_listener($event) { i0.ɵɵrestoreView(_r91); const ctx_r95 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r95.search($event)); })("input", function TableComponent_div_0_div_3_div_9_div_1_div_1_div_4_Template_input_input_13_listener($event) { i0.ɵɵrestoreView(_r91); const i_r73 = i0.ɵɵnextContext().index; const ctx_r96 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r96.onDateInput($event, "finalDate", i_r73)); })("blur", function TableComponent_div_0_div_3_div_9_div_1_div_1_div_4_Template_input_blur_13_listener() { i0.ɵɵrestoreView(_r91); const ctx_r98 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r98.onDateFilterChange()); });
2620
+ i0.ɵɵlistener("keydown.enter", function TableComponent_div_0_div_3_div_9_div_1_div_1_div_4_Template_input_keydown_enter_13_listener($event) { i0.ɵɵrestoreView(_r93); const ctx_r97 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r97.search($event)); })("input", function TableComponent_div_0_div_3_div_9_div_1_div_1_div_4_Template_input_input_13_listener($event) { i0.ɵɵrestoreView(_r93); const i_r74 = i0.ɵɵnextContext().index; const ctx_r98 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r98.onDateInput($event, "finalDate", i_r74)); })("blur", function TableComponent_div_0_div_3_div_9_div_1_div_1_div_4_Template_input_blur_13_listener() { i0.ɵɵrestoreView(_r93); const ctx_r100 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r100.onDateFilterChange()); });
2615
2621
  i0.ɵɵelementEnd()()()();
2616
2622
  }
2617
2623
  }
2618
2624
  function TableComponent_div_0_div_3_div_9_div_1_div_1_div_5_Template(rf, ctx) {
2619
2625
  if (rf & 1) {
2620
- const _r101 = i0.ɵɵgetCurrentView();
2626
+ const _r103 = i0.ɵɵgetCurrentView();
2621
2627
  i0.ɵɵelementStart(0, "div", 58)(1, "button", 59);
2622
- i0.ɵɵlistener("click", function TableComponent_div_0_div_3_div_9_div_1_div_1_div_5_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r101); const i_r73 = i0.ɵɵnextContext().index; const ctx_r99 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r99.removeFilter(i_r73)); });
2628
+ i0.ɵɵlistener("click", function TableComponent_div_0_div_3_div_9_div_1_div_1_div_5_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r103); const i_r74 = i0.ɵɵnextContext().index; const ctx_r101 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r101.removeFilter(i_r74)); });
2623
2629
  i0.ɵɵelement(2, "i", 60);
2624
2630
  i0.ɵɵelementEnd()();
2625
2631
  }
@@ -2635,22 +2641,22 @@ function TableComponent_div_0_div_3_div_9_div_1_div_1_Template(rf, ctx) {
2635
2641
  i0.ɵɵelementEnd();
2636
2642
  }
2637
2643
  if (rf & 2) {
2638
- const filterGroup_r72 = ctx.$implicit;
2639
- const ctx_r71 = i0.ɵɵnextContext(5);
2644
+ const filterGroup_r73 = ctx.$implicit;
2645
+ const ctx_r72 = i0.ɵɵnextContext(5);
2640
2646
  let tmp_2_0;
2641
2647
  let tmp_3_0;
2642
2648
  let tmp_4_0;
2643
- i0.ɵɵproperty("formGroup", filterGroup_r72);
2649
+ i0.ɵɵproperty("formGroup", filterGroup_r73);
2644
2650
  i0.ɵɵadvance(1);
2645
- i0.ɵɵproperty("ngIf", ctx_r71.dropdownItems.length > 0);
2651
+ i0.ɵɵproperty("ngIf", ctx_r72.dropdownItems.length > 0);
2646
2652
  i0.ɵɵadvance(1);
2647
- i0.ɵɵproperty("ngIf", ((tmp_2_0 = filterGroup_r72.get("selectFilter")) == null ? null : tmp_2_0.value == null ? null : tmp_2_0.value.arrange) === "filter");
2653
+ i0.ɵɵproperty("ngIf", ((tmp_2_0 = filterGroup_r73.get("selectFilter")) == null ? null : tmp_2_0.value == null ? null : tmp_2_0.value.arrange) === "filter");
2648
2654
  i0.ɵɵadvance(1);
2649
- i0.ɵɵproperty("ngIf", ((tmp_3_0 = filterGroup_r72.get("selectFilter")) == null ? null : tmp_3_0.value) && ((tmp_3_0 = filterGroup_r72.get("selectFilter")) == null ? null : tmp_3_0.value.hasOwnProperty("items")));
2655
+ i0.ɵɵproperty("ngIf", ((tmp_3_0 = filterGroup_r73.get("selectFilter")) == null ? null : tmp_3_0.value) && ((tmp_3_0 = filterGroup_r73.get("selectFilter")) == null ? null : tmp_3_0.value.hasOwnProperty("items")));
2650
2656
  i0.ɵɵadvance(1);
2651
- i0.ɵɵproperty("ngIf", ((tmp_4_0 = filterGroup_r72.get("selectFilter")) == null ? null : tmp_4_0.value == null ? null : tmp_4_0.value.arrange) === "filterByDate");
2657
+ i0.ɵɵproperty("ngIf", ((tmp_4_0 = filterGroup_r73.get("selectFilter")) == null ? null : tmp_4_0.value == null ? null : tmp_4_0.value.arrange) === "filterByDate");
2652
2658
  i0.ɵɵadvance(1);
2653
- i0.ɵɵproperty("ngIf", ctx_r71.filtersForm.length > 1);
2659
+ i0.ɵɵproperty("ngIf", ctx_r72.filtersForm.length > 1);
2654
2660
  }
2655
2661
  }
2656
2662
  function TableComponent_div_0_div_3_div_9_div_1_Template(rf, ctx) {
@@ -2660,16 +2666,16 @@ function TableComponent_div_0_div_3_div_9_div_1_Template(rf, ctx) {
2660
2666
  i0.ɵɵelementEnd();
2661
2667
  }
2662
2668
  if (rf & 2) {
2663
- const ctx_r68 = i0.ɵɵnextContext(4);
2669
+ const ctx_r69 = i0.ɵɵnextContext(4);
2664
2670
  i0.ɵɵadvance(1);
2665
- i0.ɵɵproperty("ngForOf", ctx_r68.filtersForm.controls);
2671
+ i0.ɵɵproperty("ngForOf", ctx_r69.filtersForm.controls);
2666
2672
  }
2667
2673
  }
2668
2674
  function TableComponent_div_0_div_3_div_9_div_3_Template(rf, ctx) {
2669
2675
  if (rf & 1) {
2670
- const _r103 = i0.ɵɵgetCurrentView();
2676
+ const _r105 = i0.ɵɵgetCurrentView();
2671
2677
  i0.ɵɵelementStart(0, "div")(1, "button", 61);
2672
- i0.ɵɵlistener("click", function TableComponent_div_0_div_3_div_9_div_3_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r103); const ctx_r102 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r102.addFilter()); });
2678
+ i0.ɵɵlistener("click", function TableComponent_div_0_div_3_div_9_div_3_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r105); const ctx_r104 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r104.addFilter()); });
2673
2679
  i0.ɵɵelement(2, "i", 62);
2674
2680
  i0.ɵɵtext(3, " Adicionar Filtro ");
2675
2681
  i0.ɵɵelementEnd()();
@@ -2677,28 +2683,28 @@ function TableComponent_div_0_div_3_div_9_div_3_Template(rf, ctx) {
2677
2683
  }
2678
2684
  function TableComponent_div_0_div_3_div_9_div_4_button_7_Template(rf, ctx) {
2679
2685
  if (rf & 1) {
2680
- const _r106 = i0.ɵɵgetCurrentView();
2686
+ const _r108 = i0.ɵɵgetCurrentView();
2681
2687
  i0.ɵɵelementStart(0, "button", 69);
2682
- i0.ɵɵlistener("click", function TableComponent_div_0_div_3_div_9_div_4_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r106); const ctx_r105 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r105.handleDownload()); });
2688
+ i0.ɵɵlistener("click", function TableComponent_div_0_div_3_div_9_div_4_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r108); const ctx_r107 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r107.handleDownload()); });
2683
2689
  i0.ɵɵelement(1, "i", 70);
2684
2690
  i0.ɵɵtext(2, " Exportar ");
2685
2691
  i0.ɵɵelementEnd();
2686
2692
  }
2687
2693
  if (rf & 2) {
2688
- const ctx_r104 = i0.ɵɵnextContext(5);
2689
- i0.ɵɵproperty("disabled", ctx_r104.dataSource && ctx_r104.dataSource.filteredData.length <= 0);
2694
+ const ctx_r106 = i0.ɵɵnextContext(5);
2695
+ i0.ɵɵproperty("disabled", ctx_r106.dataSource && ctx_r106.dataSource.filteredData.length <= 0);
2690
2696
  }
2691
2697
  }
2692
2698
  function TableComponent_div_0_div_3_div_9_div_4_Template(rf, ctx) {
2693
2699
  if (rf & 1) {
2694
- const _r108 = i0.ɵɵgetCurrentView();
2700
+ const _r110 = i0.ɵɵgetCurrentView();
2695
2701
  i0.ɵɵelementStart(0, "div", 63)(1, "button", 64);
2696
- i0.ɵɵlistener("click", function TableComponent_div_0_div_3_div_9_div_4_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r108); const ctx_r107 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r107.search()); });
2702
+ i0.ɵɵlistener("click", function TableComponent_div_0_div_3_div_9_div_4_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r110); const ctx_r109 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r109.search()); });
2697
2703
  i0.ɵɵelement(2, "i", 65);
2698
2704
  i0.ɵɵtext(3, " Pesquisar ");
2699
2705
  i0.ɵɵelementEnd();
2700
2706
  i0.ɵɵelementStart(4, "button", 66);
2701
- i0.ɵɵlistener("click", function TableComponent_div_0_div_3_div_9_div_4_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r108); const ctx_r109 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r109.resetFilter()); });
2707
+ i0.ɵɵlistener("click", function TableComponent_div_0_div_3_div_9_div_4_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r110); const ctx_r111 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r111.resetFilter()); });
2702
2708
  i0.ɵɵelement(5, "i", 67);
2703
2709
  i0.ɵɵtext(6, " Resetar ");
2704
2710
  i0.ɵɵelementEnd();
@@ -2706,9 +2712,9 @@ function TableComponent_div_0_div_3_div_9_div_4_Template(rf, ctx) {
2706
2712
  i0.ɵɵelementEnd();
2707
2713
  }
2708
2714
  if (rf & 2) {
2709
- const ctx_r70 = i0.ɵɵnextContext(4);
2715
+ const ctx_r71 = i0.ɵɵnextContext(4);
2710
2716
  i0.ɵɵadvance(7);
2711
- i0.ɵɵproperty("ngIf", ctx_r70.data.download !== false && ctx_r70.downloadTable);
2717
+ i0.ɵɵproperty("ngIf", ctx_r71.data.download !== false && ctx_r71.downloadTable);
2712
2718
  }
2713
2719
  }
2714
2720
  function TableComponent_div_0_div_3_div_9_Template(rf, ctx) {
@@ -2721,13 +2727,13 @@ function TableComponent_div_0_div_3_div_9_Template(rf, ctx) {
2721
2727
  i0.ɵɵelementEnd()();
2722
2728
  }
2723
2729
  if (rf & 2) {
2724
- const ctx_r60 = i0.ɵɵnextContext(3);
2730
+ const ctx_r61 = i0.ɵɵnextContext(3);
2725
2731
  i0.ɵɵadvance(1);
2726
- i0.ɵɵproperty("ngIf", ctx_r60.filtersForm.controls.length > 0);
2732
+ i0.ɵɵproperty("ngIf", ctx_r61.filtersForm.controls.length > 0);
2727
2733
  i0.ɵɵadvance(2);
2728
- i0.ɵɵproperty("ngIf", ctx_r60.dropdownItems.length > 0);
2734
+ i0.ɵɵproperty("ngIf", ctx_r61.dropdownItems.length > 0);
2729
2735
  i0.ɵɵadvance(1);
2730
- i0.ɵɵproperty("ngIf", ctx_r60.hasFilterableColumn === true || ctx_r60.hasSortableColumn === true);
2736
+ i0.ɵɵproperty("ngIf", ctx_r61.hasFilterableColumn === true || ctx_r61.hasSortableColumn === true);
2731
2737
  }
2732
2738
  }
2733
2739
  function TableComponent_div_0_div_3_Template(rf, ctx) {
@@ -2755,9 +2761,9 @@ function TableComponent_div_0_div_3_Template(rf, ctx) {
2755
2761
  }
2756
2762
  function TableComponent_div_0_lib_table_tabs_5_Template(rf, ctx) {
2757
2763
  if (rf & 1) {
2758
- const _r111 = i0.ɵɵgetCurrentView();
2764
+ const _r113 = i0.ɵɵgetCurrentView();
2759
2765
  i0.ɵɵelementStart(0, "lib-table-tabs", 79);
2760
- i0.ɵɵlistener("tabSelected", function TableComponent_div_0_lib_table_tabs_5_Template_lib_table_tabs_tabSelected_0_listener($event) { i0.ɵɵrestoreView(_r111); const ctx_r110 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r110.onTabSelected($event)); });
2766
+ i0.ɵɵlistener("tabSelected", function TableComponent_div_0_lib_table_tabs_5_Template_lib_table_tabs_tabSelected_0_listener($event) { i0.ɵɵrestoreView(_r113); const ctx_r112 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r112.onTabSelected($event)); });
2761
2767
  i0.ɵɵelementEnd();
2762
2768
  }
2763
2769
  if (rf & 2) {
@@ -2772,9 +2778,9 @@ function TableComponent_div_0_ng_container_9_ng_container_1_th_1_Template(rf, ct
2772
2778
  i0.ɵɵelementEnd();
2773
2779
  }
2774
2780
  if (rf & 2) {
2775
- const col_r112 = i0.ɵɵnextContext(2).$implicit;
2781
+ const col_r114 = i0.ɵɵnextContext(2).$implicit;
2776
2782
  i0.ɵɵadvance(1);
2777
- i0.ɵɵtextInterpolate1(" ", col_r112.title, " ");
2783
+ i0.ɵɵtextInterpolate1(" ", col_r114.title, " ");
2778
2784
  }
2779
2785
  }
2780
2786
  function TableComponent_div_0_ng_container_9_ng_container_1_th_2_Template(rf, ctx) {
@@ -2784,9 +2790,9 @@ function TableComponent_div_0_ng_container_9_ng_container_1_th_2_Template(rf, ct
2784
2790
  i0.ɵɵelementEnd();
2785
2791
  }
2786
2792
  if (rf & 2) {
2787
- const col_r112 = i0.ɵɵnextContext(2).$implicit;
2793
+ const col_r114 = i0.ɵɵnextContext(2).$implicit;
2788
2794
  i0.ɵɵadvance(1);
2789
- i0.ɵɵtextInterpolate1(" ", col_r112.title, " ");
2795
+ i0.ɵɵtextInterpolate1(" ", col_r114.title, " ");
2790
2796
  }
2791
2797
  }
2792
2798
  function TableComponent_div_0_ng_container_9_ng_container_1_td_3_span_1_span_2_a_1_Template(rf, ctx) {
@@ -2796,12 +2802,12 @@ function TableComponent_div_0_ng_container_9_ng_container_1_td_3_span_1_span_2_a
2796
2802
  i0.ɵɵelementEnd();
2797
2803
  }
2798
2804
  if (rf & 2) {
2799
- const row_r119 = i0.ɵɵnextContext(3).$implicit;
2800
- const col_r112 = i0.ɵɵnextContext(2).$implicit;
2801
- const ctx_r127 = i0.ɵɵnextContext(2);
2802
- i0.ɵɵproperty("href", row_r119[col_r112.property], i0.ɵɵsanitizeUrl);
2805
+ const row_r121 = i0.ɵɵnextContext(3).$implicit;
2806
+ const col_r114 = i0.ɵɵnextContext(2).$implicit;
2807
+ const ctx_r129 = i0.ɵɵnextContext(2);
2808
+ i0.ɵɵproperty("href", row_r121[col_r114.property], i0.ɵɵsanitizeUrl);
2803
2809
  i0.ɵɵadvance(1);
2804
- i0.ɵɵtextInterpolate1(" ", ctx_r127.getDisplayValue(col_r112, row_r119), " ");
2810
+ i0.ɵɵtextInterpolate1(" ", ctx_r129.getDisplayValue(col_r114, row_r121), " ");
2805
2811
  }
2806
2812
  }
2807
2813
  function TableComponent_div_0_ng_container_9_ng_container_1_td_3_span_1_span_2_a_2_Template(rf, ctx) {
@@ -2811,12 +2817,12 @@ function TableComponent_div_0_ng_container_9_ng_container_1_td_3_span_1_span_2_a
2811
2817
  i0.ɵɵelementEnd();
2812
2818
  }
2813
2819
  if (rf & 2) {
2814
- const row_r119 = i0.ɵɵnextContext(3).$implicit;
2815
- const col_r112 = i0.ɵɵnextContext(2).$implicit;
2816
- const ctx_r128 = i0.ɵɵnextContext(2);
2817
- i0.ɵɵproperty("href", col_r112.hasLink, i0.ɵɵsanitizeUrl);
2820
+ const row_r121 = i0.ɵɵnextContext(3).$implicit;
2821
+ const col_r114 = i0.ɵɵnextContext(2).$implicit;
2822
+ const ctx_r130 = i0.ɵɵnextContext(2);
2823
+ i0.ɵɵproperty("href", col_r114.hasLink, i0.ɵɵsanitizeUrl);
2818
2824
  i0.ɵɵadvance(1);
2819
- i0.ɵɵtextInterpolate1(" ", ctx_r128.getDisplayValue(col_r112, row_r119), " ");
2825
+ i0.ɵɵtextInterpolate1(" ", ctx_r130.getDisplayValue(col_r114, row_r121), " ");
2820
2826
  }
2821
2827
  }
2822
2828
  function TableComponent_div_0_ng_container_9_ng_container_1_td_3_span_1_span_2_span_3_Template(rf, ctx) {
@@ -2826,11 +2832,11 @@ function TableComponent_div_0_ng_container_9_ng_container_1_td_3_span_1_span_2_s
2826
2832
  i0.ɵɵelementEnd();
2827
2833
  }
2828
2834
  if (rf & 2) {
2829
- const row_r119 = i0.ɵɵnextContext(3).$implicit;
2830
- const col_r112 = i0.ɵɵnextContext(2).$implicit;
2831
- const ctx_r129 = i0.ɵɵnextContext(2);
2835
+ const row_r121 = i0.ɵɵnextContext(3).$implicit;
2836
+ const col_r114 = i0.ɵɵnextContext(2).$implicit;
2837
+ const ctx_r131 = i0.ɵɵnextContext(2);
2832
2838
  i0.ɵɵadvance(1);
2833
- i0.ɵɵtextInterpolate1(" ", ctx_r129.getDisplayValue(col_r112, row_r119), " ");
2839
+ i0.ɵɵtextInterpolate1(" ", ctx_r131.getDisplayValue(col_r114, row_r121), " ");
2834
2840
  }
2835
2841
  }
2836
2842
  function TableComponent_div_0_ng_container_9_ng_container_1_td_3_span_1_span_2_Template(rf, ctx) {
@@ -2842,14 +2848,14 @@ function TableComponent_div_0_ng_container_9_ng_container_1_td_3_span_1_span_2_T
2842
2848
  i0.ɵɵelementEnd();
2843
2849
  }
2844
2850
  if (rf & 2) {
2845
- const col_r112 = i0.ɵɵnextContext(4).$implicit;
2846
- const ctx_r124 = i0.ɵɵnextContext(2);
2851
+ const col_r114 = i0.ɵɵnextContext(4).$implicit;
2852
+ const ctx_r126 = i0.ɵɵnextContext(2);
2847
2853
  i0.ɵɵadvance(1);
2848
- i0.ɵɵproperty("ngIf", col_r112.hasLink === true);
2854
+ i0.ɵɵproperty("ngIf", col_r114.hasLink === true);
2849
2855
  i0.ɵɵadvance(1);
2850
- i0.ɵɵproperty("ngIf", col_r112.hasLink && ctx_r124.isString(col_r112.hasLink));
2856
+ i0.ɵɵproperty("ngIf", col_r114.hasLink && ctx_r126.isString(col_r114.hasLink));
2851
2857
  i0.ɵɵadvance(1);
2852
- i0.ɵɵproperty("ngIf", col_r112.hasLink !== true && !ctx_r124.isString(col_r112.hasLink));
2858
+ i0.ɵɵproperty("ngIf", col_r114.hasLink !== true && !ctx_r126.isString(col_r114.hasLink));
2853
2859
  }
2854
2860
  }
2855
2861
  function TableComponent_div_0_ng_container_9_ng_container_1_td_3_span_1_ng_template_3_a_0_Template(rf, ctx) {
@@ -2859,12 +2865,12 @@ function TableComponent_div_0_ng_container_9_ng_container_1_td_3_span_1_ng_templ
2859
2865
  i0.ɵɵelementEnd();
2860
2866
  }
2861
2867
  if (rf & 2) {
2862
- const row_r119 = i0.ɵɵnextContext(3).$implicit;
2863
- const col_r112 = i0.ɵɵnextContext(2).$implicit;
2864
- const ctx_r137 = i0.ɵɵnextContext(2);
2865
- i0.ɵɵproperty("href", row_r119[col_r112.property], i0.ɵɵsanitizeUrl);
2868
+ const row_r121 = i0.ɵɵnextContext(3).$implicit;
2869
+ const col_r114 = i0.ɵɵnextContext(2).$implicit;
2870
+ const ctx_r139 = i0.ɵɵnextContext(2);
2871
+ i0.ɵɵproperty("href", row_r121[col_r114.property], i0.ɵɵsanitizeUrl);
2866
2872
  i0.ɵɵadvance(1);
2867
- i0.ɵɵtextInterpolate1(" ", ctx_r137.getDisplayValue(col_r112, row_r119, true), " ");
2873
+ i0.ɵɵtextInterpolate1(" ", ctx_r139.getDisplayValue(col_r114, row_r121, true), " ");
2868
2874
  }
2869
2875
  }
2870
2876
  function TableComponent_div_0_ng_container_9_ng_container_1_td_3_span_1_ng_template_3_a_1_Template(rf, ctx) {
@@ -2874,12 +2880,12 @@ function TableComponent_div_0_ng_container_9_ng_container_1_td_3_span_1_ng_templ
2874
2880
  i0.ɵɵelementEnd();
2875
2881
  }
2876
2882
  if (rf & 2) {
2877
- const row_r119 = i0.ɵɵnextContext(3).$implicit;
2878
- const col_r112 = i0.ɵɵnextContext(2).$implicit;
2879
- const ctx_r138 = i0.ɵɵnextContext(2);
2880
- i0.ɵɵproperty("href", col_r112.hasLink, i0.ɵɵsanitizeUrl);
2883
+ const row_r121 = i0.ɵɵnextContext(3).$implicit;
2884
+ const col_r114 = i0.ɵɵnextContext(2).$implicit;
2885
+ const ctx_r140 = i0.ɵɵnextContext(2);
2886
+ i0.ɵɵproperty("href", col_r114.hasLink, i0.ɵɵsanitizeUrl);
2881
2887
  i0.ɵɵadvance(1);
2882
- i0.ɵɵtextInterpolate1(" ", ctx_r138.getDisplayValue(col_r112, row_r119, true), " ");
2888
+ i0.ɵɵtextInterpolate1(" ", ctx_r140.getDisplayValue(col_r114, row_r121, true), " ");
2883
2889
  }
2884
2890
  }
2885
2891
  function TableComponent_div_0_ng_container_9_ng_container_1_td_3_span_1_ng_template_3_span_2_Template(rf, ctx) {
@@ -2889,11 +2895,11 @@ function TableComponent_div_0_ng_container_9_ng_container_1_td_3_span_1_ng_templ
2889
2895
  i0.ɵɵelementEnd();
2890
2896
  }
2891
2897
  if (rf & 2) {
2892
- const row_r119 = i0.ɵɵnextContext(3).$implicit;
2893
- const col_r112 = i0.ɵɵnextContext(2).$implicit;
2894
- const ctx_r139 = i0.ɵɵnextContext(2);
2898
+ const row_r121 = i0.ɵɵnextContext(3).$implicit;
2899
+ const col_r114 = i0.ɵɵnextContext(2).$implicit;
2900
+ const ctx_r141 = i0.ɵɵnextContext(2);
2895
2901
  i0.ɵɵadvance(1);
2896
- i0.ɵɵtextInterpolate1(" ", ctx_r139.getDisplayValue(col_r112, row_r119, true), " ");
2902
+ i0.ɵɵtextInterpolate1(" ", ctx_r141.getDisplayValue(col_r114, row_r121, true), " ");
2897
2903
  }
2898
2904
  }
2899
2905
  function TableComponent_div_0_ng_container_9_ng_container_1_td_3_span_1_ng_template_3_Template(rf, ctx) {
@@ -2903,13 +2909,13 @@ function TableComponent_div_0_ng_container_9_ng_container_1_td_3_span_1_ng_templ
2903
2909
  i0.ɵɵtemplate(2, TableComponent_div_0_ng_container_9_ng_container_1_td_3_span_1_ng_template_3_span_2_Template, 2, 1, "span", 28);
2904
2910
  }
2905
2911
  if (rf & 2) {
2906
- const col_r112 = i0.ɵɵnextContext(4).$implicit;
2907
- const ctx_r126 = i0.ɵɵnextContext(2);
2908
- i0.ɵɵproperty("ngIf", col_r112.hasLink === true);
2912
+ const col_r114 = i0.ɵɵnextContext(4).$implicit;
2913
+ const ctx_r128 = i0.ɵɵnextContext(2);
2914
+ i0.ɵɵproperty("ngIf", col_r114.hasLink === true);
2909
2915
  i0.ɵɵadvance(1);
2910
- i0.ɵɵproperty("ngIf", col_r112.hasLink && ctx_r126.isString(col_r112.hasLink));
2916
+ i0.ɵɵproperty("ngIf", col_r114.hasLink && ctx_r128.isString(col_r114.hasLink));
2911
2917
  i0.ɵɵadvance(1);
2912
- i0.ɵɵproperty("ngIf", col_r112.hasLink !== true && !ctx_r126.isString(col_r112.hasLink));
2918
+ i0.ɵɵproperty("ngIf", col_r114.hasLink !== true && !ctx_r128.isString(col_r114.hasLink));
2913
2919
  }
2914
2920
  }
2915
2921
  function TableComponent_div_0_ng_container_9_ng_container_1_td_3_span_1_Template(rf, ctx) {
@@ -2922,11 +2928,11 @@ function TableComponent_div_0_ng_container_9_ng_container_1_td_3_span_1_Template
2922
2928
  i0.ɵɵelementEnd();
2923
2929
  }
2924
2930
  if (rf & 2) {
2925
- const _r125 = i0.ɵɵreference(4);
2926
- const row_r119 = i0.ɵɵnextContext().$implicit;
2927
- const col_r112 = i0.ɵɵnextContext(2).$implicit;
2931
+ const _r127 = i0.ɵɵreference(4);
2932
+ const row_r121 = i0.ɵɵnextContext().$implicit;
2933
+ const col_r114 = i0.ɵɵnextContext(2).$implicit;
2928
2934
  i0.ɵɵadvance(2);
2929
- i0.ɵɵproperty("ngIf", col_r112.charLimit && row_r119[col_r112.property] && row_r119[col_r112.property].length > col_r112.charLimit)("ngIfElse", _r125);
2935
+ i0.ɵɵproperty("ngIf", col_r114.charLimit && row_r121[col_r114.property] && row_r121[col_r114.property].length > col_r114.charLimit)("ngIfElse", _r127);
2930
2936
  }
2931
2937
  }
2932
2938
  function TableComponent_div_0_ng_container_9_ng_container_1_td_3_div_2_mat_spinner_1_Template(rf, ctx) {
@@ -2939,22 +2945,22 @@ function TableComponent_div_0_ng_container_9_ng_container_1_td_3_div_2_mat_spinn
2939
2945
  }
2940
2946
  function TableComponent_div_0_ng_container_9_ng_container_1_td_3_div_2_Template(rf, ctx) {
2941
2947
  if (rf & 1) {
2942
- const _r152 = i0.ɵɵgetCurrentView();
2948
+ const _r154 = i0.ɵɵgetCurrentView();
2943
2949
  i0.ɵɵelementStart(0, "div", 93);
2944
2950
  i0.ɵɵtemplate(1, TableComponent_div_0_ng_container_9_ng_container_1_td_3_div_2_mat_spinner_1_Template, 1, 1, "mat-spinner", 94);
2945
2951
  i0.ɵɵelementStart(2, "img", 95);
2946
- i0.ɵɵlistener("load", function TableComponent_div_0_ng_container_9_ng_container_1_td_3_div_2_Template_img_load_2_listener() { i0.ɵɵrestoreView(_r152); const row_r119 = i0.ɵɵnextContext().$implicit; const col_r112 = i0.ɵɵnextContext(2).$implicit; const ctx_r150 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r150.onImageLoad(row_r119, col_r112)); })("error", function TableComponent_div_0_ng_container_9_ng_container_1_td_3_div_2_Template_img_error_2_listener($event) { i0.ɵɵrestoreView(_r152); const row_r119 = i0.ɵɵnextContext().$implicit; const col_r112 = i0.ɵɵnextContext(2).$implicit; const ctx_r154 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r154.onImageError($event, row_r119, col_r112, col_r112.image.default)); });
2952
+ i0.ɵɵlistener("load", function TableComponent_div_0_ng_container_9_ng_container_1_td_3_div_2_Template_img_load_2_listener() { i0.ɵɵrestoreView(_r154); const row_r121 = i0.ɵɵnextContext().$implicit; const col_r114 = i0.ɵɵnextContext(2).$implicit; const ctx_r152 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r152.onImageLoad(row_r121, col_r114)); })("error", function TableComponent_div_0_ng_container_9_ng_container_1_td_3_div_2_Template_img_error_2_listener($event) { i0.ɵɵrestoreView(_r154); const row_r121 = i0.ɵɵnextContext().$implicit; const col_r114 = i0.ɵɵnextContext(2).$implicit; const ctx_r156 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r156.onImageError($event, row_r121, col_r114, col_r114.image.default)); });
2947
2953
  i0.ɵɵelementEnd()();
2948
2954
  }
2949
2955
  if (rf & 2) {
2950
- const row_r119 = i0.ɵɵnextContext().$implicit;
2951
- const col_r112 = i0.ɵɵnextContext(2).$implicit;
2952
- const ctx_r121 = i0.ɵɵnextContext(2);
2956
+ const row_r121 = i0.ɵɵnextContext().$implicit;
2957
+ const col_r114 = i0.ɵɵnextContext(2).$implicit;
2958
+ const ctx_r123 = i0.ɵɵnextContext(2);
2953
2959
  i0.ɵɵadvance(1);
2954
- i0.ɵɵproperty("ngIf", ctx_r121.isImageLoading(row_r119, col_r112));
2960
+ i0.ɵɵproperty("ngIf", ctx_r123.isImageLoading(row_r121, col_r114));
2955
2961
  i0.ɵɵadvance(1);
2956
- i0.ɵɵclassProp("opacity-0", ctx_r121.isImageLoading(row_r119, col_r112));
2957
- i0.ɵɵproperty("src", col_r112.image.path + "/" + row_r119[col_r112.property], i0.ɵɵsanitizeUrl)("ngClass", col_r112.image.class);
2962
+ i0.ɵɵclassProp("opacity-0", ctx_r123.isImageLoading(row_r121, col_r114));
2963
+ i0.ɵɵproperty("src", col_r114.image.path + "/" + row_r121[col_r114.property], i0.ɵɵsanitizeUrl)("ngClass", col_r114.image.class);
2958
2964
  }
2959
2965
  }
2960
2966
  function TableComponent_div_0_ng_container_9_ng_container_1_td_3_div_3_mat_spinner_1_Template(rf, ctx) {
@@ -2967,22 +2973,22 @@ function TableComponent_div_0_ng_container_9_ng_container_1_td_3_div_3_mat_spinn
2967
2973
  }
2968
2974
  function TableComponent_div_0_ng_container_9_ng_container_1_td_3_div_3_Template(rf, ctx) {
2969
2975
  if (rf & 1) {
2970
- const _r162 = i0.ɵɵgetCurrentView();
2976
+ const _r164 = i0.ɵɵgetCurrentView();
2971
2977
  i0.ɵɵelementStart(0, "div", 93);
2972
2978
  i0.ɵɵtemplate(1, TableComponent_div_0_ng_container_9_ng_container_1_td_3_div_3_mat_spinner_1_Template, 1, 1, "mat-spinner", 94);
2973
2979
  i0.ɵɵelementStart(2, "img", 95);
2974
- i0.ɵɵlistener("load", function TableComponent_div_0_ng_container_9_ng_container_1_td_3_div_3_Template_img_load_2_listener() { i0.ɵɵrestoreView(_r162); const row_r119 = i0.ɵɵnextContext().$implicit; const col_r112 = i0.ɵɵnextContext(2).$implicit; const ctx_r160 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r160.onImageLoad(row_r119, col_r112)); })("error", function TableComponent_div_0_ng_container_9_ng_container_1_td_3_div_3_Template_img_error_2_listener($event) { i0.ɵɵrestoreView(_r162); const row_r119 = i0.ɵɵnextContext().$implicit; const col_r112 = i0.ɵɵnextContext(2).$implicit; const ctx_r164 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r164.onImageError($event, row_r119, col_r112, col_r112.image.default)); });
2980
+ i0.ɵɵlistener("load", function TableComponent_div_0_ng_container_9_ng_container_1_td_3_div_3_Template_img_load_2_listener() { i0.ɵɵrestoreView(_r164); const row_r121 = i0.ɵɵnextContext().$implicit; const col_r114 = i0.ɵɵnextContext(2).$implicit; const ctx_r162 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r162.onImageLoad(row_r121, col_r114)); })("error", function TableComponent_div_0_ng_container_9_ng_container_1_td_3_div_3_Template_img_error_2_listener($event) { i0.ɵɵrestoreView(_r164); const row_r121 = i0.ɵɵnextContext().$implicit; const col_r114 = i0.ɵɵnextContext(2).$implicit; const ctx_r166 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r166.onImageError($event, row_r121, col_r114, col_r114.image.default)); });
2975
2981
  i0.ɵɵelementEnd()();
2976
2982
  }
2977
2983
  if (rf & 2) {
2978
- const row_r119 = i0.ɵɵnextContext().$implicit;
2979
- const col_r112 = i0.ɵɵnextContext(2).$implicit;
2980
- const ctx_r122 = i0.ɵɵnextContext(2);
2984
+ const row_r121 = i0.ɵɵnextContext().$implicit;
2985
+ const col_r114 = i0.ɵɵnextContext(2).$implicit;
2986
+ const ctx_r124 = i0.ɵɵnextContext(2);
2981
2987
  i0.ɵɵadvance(1);
2982
- i0.ɵɵproperty("ngIf", ctx_r122.isImageLoading(row_r119, col_r112));
2988
+ i0.ɵɵproperty("ngIf", ctx_r124.isImageLoading(row_r121, col_r114));
2983
2989
  i0.ɵɵadvance(1);
2984
- i0.ɵɵclassProp("opacity-0", ctx_r122.isImageLoading(row_r119, col_r112));
2985
- i0.ɵɵproperty("src", row_r119[col_r112.property], i0.ɵɵsanitizeUrl)("ngClass", col_r112.image.class);
2990
+ i0.ɵɵclassProp("opacity-0", ctx_r124.isImageLoading(row_r121, col_r114));
2991
+ i0.ɵɵproperty("src", row_r121[col_r114.property], i0.ɵɵsanitizeUrl)("ngClass", col_r114.image.class);
2986
2992
  }
2987
2993
  }
2988
2994
  function TableComponent_div_0_ng_container_9_ng_container_1_td_3_ng_container_4_button_1_span_1_Template(rf, ctx) {
@@ -2992,25 +2998,25 @@ function TableComponent_div_0_ng_container_9_ng_container_1_td_3_ng_container_4_
2992
2998
  i0.ɵɵelementEnd();
2993
2999
  }
2994
3000
  if (rf & 2) {
2995
- const iconClass_r170 = i0.ɵɵnextContext().$implicit;
2996
- i0.ɵɵproperty("ngClass", iconClass_r170.class);
3001
+ const iconClass_r172 = i0.ɵɵnextContext().$implicit;
3002
+ i0.ɵɵproperty("ngClass", iconClass_r172.class);
2997
3003
  i0.ɵɵadvance(1);
2998
- i0.ɵɵtextInterpolate(iconClass_r170.text);
3004
+ i0.ɵɵtextInterpolate(iconClass_r172.text);
2999
3005
  }
3000
3006
  }
3001
3007
  function TableComponent_div_0_ng_container_9_ng_container_1_td_3_ng_container_4_button_1_Template(rf, ctx) {
3002
3008
  if (rf & 1) {
3003
- const _r174 = i0.ɵɵgetCurrentView();
3009
+ const _r176 = i0.ɵɵgetCurrentView();
3004
3010
  i0.ɵɵelementStart(0, "button", 98);
3005
- i0.ɵɵlistener("click", function TableComponent_div_0_ng_container_9_ng_container_1_td_3_ng_container_4_button_1_Template_button_click_0_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r174); const iconClass_r170 = restoredCtx.$implicit; const row_r119 = i0.ɵɵnextContext(2).$implicit; return i0.ɵɵresetView(iconClass_r170.buttonMethod ? iconClass_r170.buttonMethod(row_r119, $event) : $event.stopPropagation()); });
3011
+ i0.ɵɵlistener("click", function TableComponent_div_0_ng_container_9_ng_container_1_td_3_ng_container_4_button_1_Template_button_click_0_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r176); const iconClass_r172 = restoredCtx.$implicit; const row_r121 = i0.ɵɵnextContext(2).$implicit; return i0.ɵɵresetView(iconClass_r172.buttonMethod ? iconClass_r172.buttonMethod(row_r121, $event) : $event.stopPropagation()); });
3006
3012
  i0.ɵɵtemplate(1, TableComponent_div_0_ng_container_9_ng_container_1_td_3_ng_container_4_button_1_span_1_Template, 2, 2, "span", 99);
3007
3013
  i0.ɵɵelementEnd();
3008
3014
  }
3009
3015
  if (rf & 2) {
3010
- const iconClass_r170 = ctx.$implicit;
3011
- const row_r119 = i0.ɵɵnextContext(2).$implicit;
3016
+ const iconClass_r172 = ctx.$implicit;
3017
+ const row_r121 = i0.ɵɵnextContext(2).$implicit;
3012
3018
  i0.ɵɵadvance(1);
3013
- i0.ɵɵproperty("ngIf", iconClass_r170.condition === undefined || iconClass_r170.condition !== undefined && iconClass_r170.condition(row_r119));
3019
+ i0.ɵɵproperty("ngIf", iconClass_r172.condition === undefined || iconClass_r172.condition !== undefined && iconClass_r172.condition(row_r121));
3014
3020
  }
3015
3021
  }
3016
3022
  function TableComponent_div_0_ng_container_9_ng_container_1_td_3_ng_container_4_Template(rf, ctx) {
@@ -3020,16 +3026,16 @@ function TableComponent_div_0_ng_container_9_ng_container_1_td_3_ng_container_4_
3020
3026
  i0.ɵɵelementContainerEnd();
3021
3027
  }
3022
3028
  if (rf & 2) {
3023
- const col_r112 = i0.ɵɵnextContext(3).$implicit;
3029
+ const col_r114 = i0.ɵɵnextContext(3).$implicit;
3024
3030
  i0.ɵɵadvance(1);
3025
- i0.ɵɵproperty("ngForOf", col_r112.iconClass);
3031
+ i0.ɵɵproperty("ngForOf", col_r114.iconClass);
3026
3032
  }
3027
3033
  }
3028
3034
  function TableComponent_div_0_ng_container_9_ng_container_1_td_3_Template(rf, ctx) {
3029
3035
  if (rf & 1) {
3030
- const _r180 = i0.ɵɵgetCurrentView();
3036
+ const _r182 = i0.ɵɵgetCurrentView();
3031
3037
  i0.ɵɵelementStart(0, "td", 87);
3032
- i0.ɵɵlistener("click", function TableComponent_div_0_ng_container_9_ng_container_1_td_3_Template_td_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r180); const row_r119 = restoredCtx.$implicit; const col_r112 = i0.ɵɵnextContext(2).$implicit; return i0.ɵɵresetView(col_r112.method ? col_r112.method(row_r119) : null); })("mouseenter", function TableComponent_div_0_ng_container_9_ng_container_1_td_3_Template_td_mouseenter_0_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r180); const row_r119 = restoredCtx.$implicit; const col_r112 = i0.ɵɵnextContext(2).$implicit; const ctx_r181 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r181.onCellMouseEnter($event, row_r119, col_r112)); })("mouseleave", function TableComponent_div_0_ng_container_9_ng_container_1_td_3_Template_td_mouseleave_0_listener() { i0.ɵɵrestoreView(_r180); const ctx_r183 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r183.onCellMouseLeave()); })("mousemove", function TableComponent_div_0_ng_container_9_ng_container_1_td_3_Template_td_mousemove_0_listener($event) { i0.ɵɵrestoreView(_r180); const ctx_r184 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r184.onCellMouseMove($event)); });
3038
+ i0.ɵɵlistener("click", function TableComponent_div_0_ng_container_9_ng_container_1_td_3_Template_td_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r182); const row_r121 = restoredCtx.$implicit; const col_r114 = i0.ɵɵnextContext(2).$implicit; return i0.ɵɵresetView(col_r114.method ? col_r114.method(row_r121) : null); })("mouseenter", function TableComponent_div_0_ng_container_9_ng_container_1_td_3_Template_td_mouseenter_0_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r182); const row_r121 = restoredCtx.$implicit; const col_r114 = i0.ɵɵnextContext(2).$implicit; const ctx_r183 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r183.onCellMouseEnter($event, row_r121, col_r114)); })("mouseleave", function TableComponent_div_0_ng_container_9_ng_container_1_td_3_Template_td_mouseleave_0_listener() { i0.ɵɵrestoreView(_r182); const ctx_r185 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r185.onCellMouseLeave()); })("mousemove", function TableComponent_div_0_ng_container_9_ng_container_1_td_3_Template_td_mousemove_0_listener($event) { i0.ɵɵrestoreView(_r182); const ctx_r186 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r186.onCellMouseMove($event)); });
3033
3039
  i0.ɵɵtemplate(1, TableComponent_div_0_ng_container_9_ng_container_1_td_3_span_1_Template, 5, 2, "span", 28);
3034
3040
  i0.ɵɵtemplate(2, TableComponent_div_0_ng_container_9_ng_container_1_td_3_div_2_Template, 3, 5, "div", 88);
3035
3041
  i0.ɵɵtemplate(3, TableComponent_div_0_ng_container_9_ng_container_1_td_3_div_3_Template, 3, 5, "div", 88);
@@ -3037,15 +3043,15 @@ function TableComponent_div_0_ng_container_9_ng_container_1_td_3_Template(rf, ct
3037
3043
  i0.ɵɵelementEnd();
3038
3044
  }
3039
3045
  if (rf & 2) {
3040
- const col_r112 = i0.ɵɵnextContext(2).$implicit;
3046
+ const col_r114 = i0.ɵɵnextContext(2).$implicit;
3041
3047
  i0.ɵɵadvance(1);
3042
- i0.ɵɵproperty("ngIf", !col_r112.image && !col_r112.iconClass && !col_r112.method);
3048
+ i0.ɵɵproperty("ngIf", !col_r114.image && !col_r114.iconClass && !col_r114.method);
3043
3049
  i0.ɵɵadvance(1);
3044
- i0.ɵɵproperty("ngIf", col_r112.image && col_r112.image.path && !col_r112.iconClass && !col_r112.method);
3050
+ i0.ɵɵproperty("ngIf", col_r114.image && col_r114.image.path && !col_r114.iconClass && !col_r114.method);
3045
3051
  i0.ɵɵadvance(1);
3046
- i0.ɵɵproperty("ngIf", col_r112.image && col_r112.image.url && !col_r112.iconClass && !col_r112.method);
3052
+ i0.ɵɵproperty("ngIf", col_r114.image && col_r114.image.url && !col_r114.iconClass && !col_r114.method);
3047
3053
  i0.ɵɵadvance(1);
3048
- i0.ɵɵproperty("ngIf", col_r112.iconClass);
3054
+ i0.ɵɵproperty("ngIf", col_r114.iconClass);
3049
3055
  }
3050
3056
  }
3051
3057
  function TableComponent_div_0_ng_container_9_ng_container_1_Template(rf, ctx) {
@@ -3057,12 +3063,12 @@ function TableComponent_div_0_ng_container_9_ng_container_1_Template(rf, ctx) {
3057
3063
  i0.ɵɵelementContainerEnd();
3058
3064
  }
3059
3065
  if (rf & 2) {
3060
- const col_r112 = i0.ɵɵnextContext().$implicit;
3061
- const ctx_r113 = i0.ɵɵnextContext(2);
3066
+ const col_r114 = i0.ɵɵnextContext().$implicit;
3067
+ const ctx_r115 = i0.ɵɵnextContext(2);
3062
3068
  i0.ɵɵadvance(1);
3063
- i0.ɵɵproperty("ngIf", !col_r112.isSortable || ctx_r113.data.pagination === true);
3069
+ i0.ɵɵproperty("ngIf", !col_r114.isSortable || ctx_r115.data.pagination === true);
3064
3070
  i0.ɵɵadvance(1);
3065
- i0.ɵɵproperty("ngIf", col_r112.isSortable && ctx_r113.data.pagination === false);
3071
+ i0.ɵɵproperty("ngIf", col_r114.isSortable && ctx_r115.data.pagination === false);
3066
3072
  }
3067
3073
  }
3068
3074
  function TableComponent_div_0_ng_container_9_Template(rf, ctx) {
@@ -3072,8 +3078,8 @@ function TableComponent_div_0_ng_container_9_Template(rf, ctx) {
3072
3078
  i0.ɵɵelementContainerEnd();
3073
3079
  }
3074
3080
  if (rf & 2) {
3075
- const col_r112 = ctx.$implicit;
3076
- i0.ɵɵpropertyInterpolate("matColumnDef", col_r112.property);
3081
+ const col_r114 = ctx.$implicit;
3082
+ i0.ɵɵpropertyInterpolate("matColumnDef", col_r114.property);
3077
3083
  }
3078
3084
  }
3079
3085
  function TableComponent_div_0_tr_10_Template(rf, ctx) {
@@ -3083,9 +3089,9 @@ function TableComponent_div_0_tr_10_Template(rf, ctx) {
3083
3089
  }
3084
3090
  function TableComponent_div_0_tr_11_Template(rf, ctx) {
3085
3091
  if (rf & 1) {
3086
- const _r189 = i0.ɵɵgetCurrentView();
3092
+ const _r191 = i0.ɵɵgetCurrentView();
3087
3093
  i0.ɵɵelementStart(0, "tr", 102);
3088
- i0.ɵɵlistener("click", function TableComponent_div_0_tr_11_Template_tr_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r189); const row_r187 = restoredCtx.$implicit; const ctx_r188 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r188.goToDetails(row_r187)); });
3094
+ i0.ɵɵlistener("click", function TableComponent_div_0_tr_11_Template_tr_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r191); const row_r189 = restoredCtx.$implicit; const ctx_r190 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r190.goToDetails(row_r189)); });
3089
3095
  i0.ɵɵelementEnd();
3090
3096
  }
3091
3097
  if (rf & 2) {
@@ -3123,7 +3129,7 @@ function TableComponent_div_0_div_13_Template(rf, ctx) {
3123
3129
  const _c0 = function () { return [25, 50, 100]; };
3124
3130
  function TableComponent_div_0_Template(rf, ctx) {
3125
3131
  if (rf & 1) {
3126
- const _r192 = i0.ɵɵgetCurrentView();
3132
+ const _r194 = i0.ɵɵgetCurrentView();
3127
3133
  i0.ɵɵelementStart(0, "div", 1)(1, "div", 2);
3128
3134
  i0.ɵɵtemplate(2, TableComponent_div_0_div_2_Template, 13, 5, "div", 3);
3129
3135
  i0.ɵɵtemplate(3, TableComponent_div_0_div_3_Template, 10, 3, "div", 3);
@@ -3138,7 +3144,7 @@ function TableComponent_div_0_Template(rf, ctx) {
3138
3144
  i0.ɵɵtemplate(13, TableComponent_div_0_div_13_Template, 2, 0, "div", 13);
3139
3145
  i0.ɵɵpipe(14, "async");
3140
3146
  i0.ɵɵelementStart(15, "div", 14)(16, "mat-paginator", 15, 16);
3141
- i0.ɵɵlistener("page", function TableComponent_div_0_Template_mat_paginator_page_16_listener($event) { i0.ɵɵrestoreView(_r192); const ctx_r191 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r191.onPageChange($event)); });
3147
+ i0.ɵɵlistener("page", function TableComponent_div_0_Template_mat_paginator_page_16_listener($event) { i0.ɵɵrestoreView(_r194); const ctx_r193 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r193.onPageChange($event)); });
3142
3148
  i0.ɵɵelementEnd()()()()();
3143
3149
  i0.ɵɵelement(18, "lib-table-tooltip", 17);
3144
3150
  i0.ɵɵelementEnd();
@@ -3242,8 +3248,8 @@ class TableComponent {
3242
3248
  hasActiveDateFilter() {
3243
3249
  return this.filterService.hasActiveDateFilter(this.filtersForm);
3244
3250
  }
3245
- getAvailableFilterOptions() {
3246
- return this.filterService.getAvailableFilterOptions(this.dropdownItems, this.data.pagination === true, this.filtersForm);
3251
+ getAvailableFilterOptions(currentGroup) {
3252
+ return this.filterService.getAvailableFilterOptions(this.dropdownItems, this.data.pagination === true, this.filtersForm, currentGroup);
3247
3253
  }
3248
3254
  onSelectFilterChange() {
3249
3255
  var _a;
@@ -3905,7 +3911,7 @@ TableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableCompone
3905
3911
  (function () {
3906
3912
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
3907
3913
  type: Component,
3908
- args: [{ selector: 'lib-table', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"data\" class=\"card-body\">\n <div class=\"flex flex-col justify-between gap-6\">\n <!-- UNIFIED CONTROL PANEL: FILTERS, SORT & ACTIONS -->\n <div\n class=\"rounded-xl border border-gray-200 bg-white p-4 shadow-lg\"\n *ngIf=\"\n data.pagination === true &&\n (dropdownItems.length > 0 ||\n sortableDropdownItems.length > 0 ||\n data.actionButton)\n \"\n >\n <!-- PANEL HEADER: Title and Custom Action -->\n <div\n class=\"mb-4 flex flex-col items-start justify-between gap-4 border-b-2 border-gray-200 pb-4 md:flex-row md:items-center\"\n >\n <!-- Left Side: Title & Main Action Button -->\n <div class=\"flex flex-wrap items-center gap-4\">\n <div class=\"flex items-center gap-2\">\n <i class=\"fa fa-filter text-xl text-blue-500\"></i>\n <span class=\"text-lg font-semibold text-gray-700\"\n >Filtros e A\u00E7\u00F5es</span\n >\n </div>\n <button\n *ngIf=\"data.actionButton && data.actionButton.condition\"\n [ngClass]=\"getActionButtonClass()\"\n [routerLink]=\"data.actionButton.routerLink\"\n (click)=\"\n data.actionButton.method ? data.actionButton.method($event) : null\n \"\n >\n <i\n *ngIf=\"data.actionButton.icon\"\n [class]=\"data.actionButton.icon\"\n ></i>\n {{ data.actionButton.label }}\n </button>\n </div>\n </div>\n\n <!-- SORT FIELD (Integrated with filters) -->\n <div class=\"mb-4\" *ngIf=\"sortableDropdownItems.length > 0\">\n <div class=\"flex flex-wrap items-center gap-3 p-2\">\n <div class=\"min-w-[200px] flex-1\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label class=\"flex items-center gap-2\">\n <i class=\"fa fa-sort-alpha-down text-cyan-600\"></i>\n <span>Ordenar por</span>\n </mat-label>\n <mat-select placeholder=\"Selecione...\" [formControl]=\"selectSort\">\n <mat-option\n *ngFor=\"let item of sortableDropdownItems\"\n [value]=\"item\"\n >\n <div class=\"flex items-center gap-2\">\n <i class=\"fa fa-sort-alpha-down text-cyan-600\"></i>\n <span>{{ item.title }}</span>\n </div>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <!-- FILTERS CONTENT (WITH REFINEMENTS) -->\n <div class=\"mb-4 space-y-3\" *ngIf=\"filtersForm.controls.length > 0\">\n <div\n [formGroup]=\"$any(filterGroup)\"\n *ngFor=\"let filterGroup of filtersForm.controls; let i = index\"\n class=\"flex flex-wrap items-center gap-3 p-2\"\n >\n <!-- FILTER TYPE SELECTOR -->\n <div class=\"min-w-[200px] flex-1\" *ngIf=\"dropdownItems.length > 0\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label>Tipo de filtro</mat-label>\n <mat-select\n placeholder=\"Selecione o tipo...\"\n formControlName=\"selectFilter\"\n (selectionChange)=\"onSelectFilterChange()\"\n >\n <mat-option\n *ngFor=\"let item of getAvailableFilterOptions()\"\n [value]=\"item\"\n >\n <div class=\"flex items-center gap-2\">\n <i\n [class]=\"item.icon || 'fa fa-filter'\"\n class=\"text-sm text-blue-500\"\n ></i>\n <span>{{ item.title }}</span>\n </div>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <!-- TEXT FILTER -->\n <div\n class=\"min-w-[200px] flex-1\"\n *ngIf=\"\n $any(filterGroup).get('selectFilter')?.value?.arrange === 'filter'\n \"\n >\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label class=\"flex items-center gap-2\">\n <i class=\"fa fa-search text-gray-400\"></i>\n <span>{{\n $any(filterGroup).get(\"selectFilter\")?.value?.title ||\n \"Filtrar\"\n }}</span>\n </mat-label>\n <input\n (keyup.enter)=\"search($event)\"\n formControlName=\"typeFilter\"\n matInput\n placeholder=\"Digite para filtrar...\"\n #input\n />\n </mat-form-field>\n </div>\n\n <!-- DROPDOWN FILTER -->\n <div\n class=\"min-w-[200px] flex-1\"\n *ngIf=\"\n $any(filterGroup).get('selectFilter')?.value &&\n $any(filterGroup)\n .get('selectFilter')\n ?.value.hasOwnProperty('items')\n \"\n >\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label>{{\n $any(filterGroup).get(\"selectFilter\")?.value?.title ||\n \"Selecione\"\n }}</mat-label>\n <mat-select\n placeholder=\"Selecione...\"\n formControlName=\"selectItem\"\n multiple\n >\n <mat-option\n *ngFor=\"\n let item of $any(filterGroup).get('selectFilter')?.value\n .items\n \"\n [value]=\"item\"\n >\n {{ item.label }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <!-- DATE FILTER -->\n <div\n class=\"min-w-[340px] flex-auto\"\n *ngIf=\"\n $any(filterGroup).get('selectFilter')?.value?.arrange ===\n 'filterByDate'\n \"\n >\n <div\n class=\"flex flex-col items-stretch gap-3 sm:flex-row sm:items-center\"\n >\n <mat-form-field appearance=\"outline\" class=\"flex-1\">\n <mat-label class=\"flex items-center gap-2\">\n <i class=\"fa fa-calendar text-gray-400\"></i>\n <span>Data Inicial</span>\n </mat-label>\n <input\n type=\"text\"\n matInput\n (keydown.enter)=\"search($event)\"\n (input)=\"onDateInput($event, 'initialDate', i)\"\n formControlName=\"initialDate\"\n placeholder=\"DD/MM/AAAA\"\n maxlength=\"10\"\n />\n </mat-form-field>\n\n <mat-form-field appearance=\"outline\" class=\"flex-1\">\n <mat-label class=\"flex items-center gap-2\">\n <i class=\"fa fa-calendar text-gray-400\"></i>\n <span>Data Final</span>\n </mat-label>\n <input\n type=\"text\"\n (keydown.enter)=\"search($event)\"\n (input)=\"onDateInput($event, 'finalDate', i)\"\n matInput\n formControlName=\"finalDate\"\n placeholder=\"DD/MM/AAAA\"\n maxlength=\"10\"\n />\n </mat-form-field>\n </div>\n </div>\n\n <!-- REMOVE FILTER BUTTON -->\n <div *ngIf=\"filtersForm.length > 1\" class=\"ml-auto flex-shrink-0\">\n <button\n (click)=\"removeFilter(i)\"\n class=\"flex h-10 w-10 items-center justify-center rounded-full transition-colors duration-300 hover:bg-red-100\"\n matTooltip=\"Remover filtro\"\n >\n <i class=\"fa fa-trash text-red-500 hover:text-red-600\"></i>\n </button>\n </div>\n </div>\n </div>\n\n <!-- PANEL FOOTER: Add Filter & Action Buttons -->\n <div\n class=\"-mb-2 flex items-start justify-between gap-4 border-t border-gray-200 pt-4\"\n >\n <!-- Add Filter Button -->\n <div *ngIf=\"dropdownItems.length > 0\">\n <button\n (click)=\"addFilter()\"\n class=\"transform rounded-full border-2 border-blue-300 bg-blue-50 px-6 py-2 text-sm font-medium text-blue-600 transition-all duration-300 hover:-translate-y-0.5 hover:border-blue-400 hover:bg-blue-100 hover:shadow-md\"\n matTooltip=\"Adicionar novo filtro\"\n >\n <i class=\"fa fa-plus mr-2\"></i>\n Adicionar Filtro\n </button>\n </div>\n\n <!-- Right Side: Search, Reset, Export -->\n <div\n class=\"flex flex-wrap gap-3 self-start sm:self-auto\"\n *ngIf=\"\n this.hasFilterableColumn === true || this.hasSortableColumn === true\n \"\n >\n <button\n (click)=\"search()\"\n type=\"button\"\n class=\"flex items-center gap-2 rounded-lg bg-green-600 px-5 py-2 text-sm font-medium text-white transition-colors hover:bg-green-700\"\n matTooltip=\"Aplicar filtros\"\n >\n <i class=\"fa fa-search\"></i>\n Pesquisar\n </button>\n\n <button\n (click)=\"resetFilter()\"\n class=\"flex items-center gap-2 rounded-lg bg-red-500 px-5 py-2 text-sm font-medium text-white transition-colors hover:bg-red-600\"\n matTooltip=\"Limpar filtros\"\n >\n <i class=\"fas fa-redo-alt\"></i>\n Resetar\n </button>\n\n <button\n *ngIf=\"data.download !== false && downloadTable\"\n class=\"flex items-center gap-2 rounded-lg bg-orange-500 px-5 py-2 text-sm font-medium text-white transition-colors hover:bg-orange-600\"\n matTooltipPosition=\"above\"\n matTooltip=\"Exportar Tabela\"\n [disabled]=\"\n this.dataSource && this.dataSource.filteredData.length <= 0\n \"\n (click)=\"\n $any(arrange) && downloadTable !== undefined\n ? downloadTable($any(arrange), data.conditions || [])\n : null\n \"\n >\n <i class=\"fa fa-download\"></i>\n Exportar\n </button>\n </div>\n </div>\n </div>\n\n <!-- UNIFIED CONTROL PANEL (for non-paginated tables): SEARCH, SORT & FILTERS -->\n <div\n class=\"rounded-xl border border-gray-200 bg-white p-4 shadow-lg\"\n *ngIf=\"\n data.pagination === false &&\n (hasFilterableColumn === true ||\n dropdownItems.length > 0 ||\n data.actionButton)\n \"\n >\n <!-- PANEL HEADER: Title and Custom Action -->\n <div\n class=\"mb-4 flex flex-col items-start justify-between gap-4 border-b-2 border-gray-200 pb-4 md:flex-row md:items-center\"\n >\n <!-- Left Side: Title & Main Action Button -->\n <div class=\"flex flex-wrap items-center gap-4\">\n <div class=\"flex items-center gap-2\">\n <i class=\"fa fa-filter text-xl text-blue-500\"></i>\n <span class=\"text-lg font-semibold text-gray-700\"\n >Filtros e A\u00E7\u00F5es</span\n >\n </div>\n <button\n *ngIf=\"data.actionButton && data.actionButton.condition\"\n [ngClass]=\"getActionButtonClass()\"\n [routerLink]=\"data.actionButton.routerLink\"\n (click)=\"\n data.actionButton.method ? data.actionButton.method($event) : null\n \"\n >\n <i\n *ngIf=\"data.actionButton.icon\"\n [class]=\"data.actionButton.icon\"\n ></i>\n {{ data.actionButton.label }}\n </button>\n </div>\n </div>\n\n <!-- SIMPLE SEARCH -->\n <div\n class=\"mb-4\"\n *ngIf=\"hasFilterableColumn === true && data.showSimpleSearch !== false\"\n >\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label class=\"flex items-center gap-2\">\n <i class=\"fa fa-search text-blue-500\"></i>\n Buscar\n </mat-label>\n <input\n matInput\n (keyup.enter)=\"search($event)\"\n (keyup)=\"applyFilter(filterInput.value)\"\n placeholder=\"Digite para filtrar...\"\n #filterInput\n />\n <mat-icon matSuffix class=\"text-gray-500\">search</mat-icon>\n </mat-form-field>\n </div>\n\n <!-- FILTERS PANEL -->\n <div *ngIf=\"dropdownItems.length > 0\">\n <!-- FILTERS CONTENT -->\n <div class=\"mb-4 space-y-3\" *ngIf=\"filtersForm.controls.length > 0\">\n <div\n [formGroup]=\"$any(filterGroup)\"\n *ngFor=\"let filterGroup of filtersForm.controls; let i = index\"\n class=\"flex flex-wrap items-center gap-3\"\n >\n <!-- FILTER TYPE SELECTOR -->\n <div class=\"min-w-[200px] flex-1\" *ngIf=\"dropdownItems.length > 0\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label>Tipo de filtro</mat-label>\n <mat-select\n placeholder=\"Selecione o tipo...\"\n formControlName=\"selectFilter\"\n (selectionChange)=\"onSelectFilterChange()\"\n >\n <mat-option\n *ngFor=\"let item of getAvailableFilterOptions()\"\n [value]=\"item\"\n >\n <div class=\"flex items-center gap-2\">\n <i\n [class]=\"item.icon || 'fa fa-filter'\"\n class=\"text-sm text-blue-500\"\n ></i>\n <span>{{ item.title }}</span>\n </div>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <!-- TEXT FILTER -->\n <div\n class=\"min-w-[200px] flex-1\"\n *ngIf=\"\n $any(filterGroup).get('selectFilter')?.value?.arrange ===\n 'filter'\n \"\n >\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label class=\"flex items-center gap-2\">\n <i class=\"fa fa-search text-gray-400\"></i>\n <span>{{\n $any(filterGroup).get(\"selectFilter\")?.value?.title ||\n \"Filtrar\"\n }}</span>\n </mat-label>\n <input\n (keyup.enter)=\"search($event)\"\n formControlName=\"typeFilter\"\n matInput\n placeholder=\"Digite para filtrar...\"\n #input\n />\n </mat-form-field>\n </div>\n\n <!-- DROPDOWN FILTER -->\n <div\n class=\"min-w-[200px] flex-1\"\n *ngIf=\"\n $any(filterGroup).get('selectFilter')?.value &&\n $any(filterGroup)\n .get('selectFilter')\n ?.value.hasOwnProperty('items')\n \"\n >\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label>{{\n $any(filterGroup).get(\"selectFilter\")?.value?.title ||\n \"Selecione\"\n }}</mat-label>\n <mat-select\n placeholder=\"Selecione...\"\n formControlName=\"selectItem\"\n multiple\n >\n <mat-option\n *ngFor=\"\n let item of $any(filterGroup).get('selectFilter')?.value\n .items\n \"\n [value]=\"item\"\n >\n {{ item.label }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <!-- DATE FILTER -->\n <div\n class=\"min-w-[340px] flex-auto\"\n *ngIf=\"\n $any(filterGroup).get('selectFilter')?.value?.arrange ===\n 'filterByDate'\n \"\n >\n <div\n class=\"flex flex-col items-stretch gap-3 sm:flex-row sm:items-center\"\n >\n <mat-form-field appearance=\"outline\" class=\"flex-1\">\n <mat-label class=\"flex items-center gap-2\">\n <i class=\"fa fa-calendar text-gray-400\"></i>\n <span>Data Inicial</span>\n </mat-label>\n <input\n type=\"text\"\n matInput\n (keydown.enter)=\"search($event)\"\n (input)=\"onDateInput($event, 'initialDate', i)\"\n (blur)=\"onDateFilterChange()\"\n formControlName=\"initialDate\"\n placeholder=\"DD/MM/AAAA\"\n maxlength=\"10\"\n />\n </mat-form-field>\n\n <mat-form-field appearance=\"outline\" class=\"flex-1\">\n <mat-label class=\"flex items-center gap-2\">\n <i class=\"fa fa-calendar text-gray-400\"></i>\n <span>Data Final</span>\n </mat-label>\n <input\n type=\"text\"\n (keydown.enter)=\"search($event)\"\n (input)=\"onDateInput($event, 'finalDate', i)\"\n (blur)=\"onDateFilterChange()\"\n matInput\n formControlName=\"finalDate\"\n placeholder=\"DD/MM/AAAA\"\n maxlength=\"10\"\n />\n </mat-form-field>\n </div>\n </div>\n\n <!-- REMOVE FILTER BUTTON -->\n <div *ngIf=\"filtersForm.length > 1\" class=\"ml-auto flex-shrink-0\">\n <button\n (click)=\"removeFilter(i)\"\n class=\"flex h-10 w-10 items-center justify-center rounded-full transition-colors duration-300 hover:bg-red-100\"\n matTooltip=\"Remover filtro\"\n >\n <i class=\"fa fa-trash text-red-500 hover:text-red-600\"></i>\n </button>\n </div>\n </div>\n </div>\n\n <!-- PANEL FOOTER: Add Filter & Actions -->\n <div\n class=\"-mb-2 flex items-start justify-between gap-4 border-t border-gray-200 pt-4\"\n >\n <!-- Add Filter Button -->\n <div *ngIf=\"dropdownItems.length > 0\">\n <button\n (click)=\"addFilter()\"\n class=\"transform rounded-full border-2 border-blue-300 bg-blue-50 px-6 py-2 text-sm font-medium text-blue-600 transition-all duration-300 hover:-translate-y-0.5 hover:border-blue-400 hover:bg-blue-100 hover:shadow-md\"\n matTooltip=\"Adicionar novo filtro\"\n >\n <i class=\"fa fa-plus mr-2\"></i>\n Adicionar Filtro\n </button>\n </div>\n\n <!-- Action Buttons -->\n <div\n class=\"flex flex-wrap gap-3 self-start sm:self-auto\"\n *ngIf=\"\n this.hasFilterableColumn === true ||\n this.hasSortableColumn === true\n \"\n >\n <button\n (click)=\"search()\"\n type=\"button\"\n class=\"flex items-center gap-2 rounded-lg bg-green-600 px-5 py-2 text-sm font-medium text-white transition-colors hover:bg-green-700\"\n matTooltip=\"Aplicar filtros\"\n >\n <i class=\"fa fa-search\"></i>\n Pesquisar\n </button>\n\n <button\n (click)=\"resetFilter()\"\n class=\"flex items-center gap-2 rounded-lg bg-red-500 px-5 py-2 text-sm font-medium text-white transition-colors hover:bg-red-600\"\n matTooltip=\"Limpar filtros\"\n >\n <i class=\"fas fa-redo-alt\"></i>\n Resetar\n </button>\n\n <button\n *ngIf=\"data.download !== false && downloadTable\"\n class=\"flex items-center gap-2 rounded-lg bg-orange-500 px-5 py-2 text-sm font-medium text-white transition-colors hover:bg-orange-600\"\n matTooltipPosition=\"above\"\n matTooltip=\"Exportar Tabela\"\n [disabled]=\"\n this.dataSource && this.dataSource.filteredData.length <= 0\n \"\n (click)=\"handleDownload()\"\n >\n <i class=\"fa fa-download\"></i>\n Exportar\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"flex flex-col\">\n <!-- TABS COMPONENT -->\n <lib-table-tabs\n *ngIf=\"data.tabs && data.tabs.tabsData && data.tabs.tabsData.length > 0\"\n [tabsData]=\"data.tabs.tabsData\"\n [selectedTab]=\"selectedTab\"\n (tabSelected)=\"onTabSelected($event)\"\n ></lib-table-tabs>\n <div\n class=\"mat-elevation-z8 w-full overflow-x-auto rounded-xl table-container\"\n >\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n #sort=\"matSort\"\n matSortActive=\"createdAt\"\n matSortDirection=\"desc\"\n >\n <ng-container\n *ngFor=\"let col of data.displayedColumns; trackBy: trackByProperty\"\n matColumnDef=\"{{ col.property }}\"\n >\n <ng-container *matHeaderCellDef>\n <!-- IF THE COLUMN IS NOT SORTABLE, THEN DON'T SHOW THE SORT BUTTONS -->\n <th\n *ngIf=\"!col.isSortable || data.pagination === true\"\n mat-header-cell\n >\n {{ col.title }}\n </th>\n <!-- IF THE COLUMN IS SORTABLE, THEN SHOW THE SORT BUTTONS -->\n <th\n *ngIf=\"col.isSortable && data.pagination === false\"\n mat-header-cell\n mat-sort-header\n >\n {{ col.title }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let row\"\n (click)=\"col.method ? col.method(row) : null\"\n (mouseenter)=\"onCellMouseEnter($event, row, col)\"\n (mouseleave)=\"onCellMouseLeave()\"\n (mousemove)=\"onCellMouseMove($event)\"\n >\n <!-- CHECK IF THE COLUMN MUST BE DISPLAYED -->\n <span *ngIf=\"!col.image && !col.iconClass && !col.method\">\n <ng-container>\n <span\n *ngIf=\"\n col.charLimit &&\n row[col.property] &&\n row[col.property].length > col.charLimit;\n else withinLimit\n \"\n >\n <a\n *ngIf=\"col.hasLink === true\"\n [href]=\"row[col.property]\"\n target=\"_blank\"\n >\n {{ getDisplayValue(col, row) }}\n </a>\n <a\n *ngIf=\"col.hasLink && isString(col.hasLink)\"\n [href]=\"col.hasLink\"\n target=\"_blank\"\n >\n {{ getDisplayValue(col, row) }}\n </a>\n <span\n *ngIf=\"col.hasLink !== true && !isString(col.hasLink)\"\n >\n {{ getDisplayValue(col, row) }}\n </span>\n </span>\n </ng-container>\n <ng-template #withinLimit>\n <a\n *ngIf=\"col.hasLink === true\"\n [href]=\"row[col.property]\"\n target=\"_blank\"\n >\n {{ getDisplayValue(col, row, true) }}\n </a>\n <a\n *ngIf=\"col.hasLink && isString(col.hasLink)\"\n [href]=\"col.hasLink\"\n target=\"_blank\"\n >\n {{ getDisplayValue(col, row, true) }}\n </a>\n <span\n *ngIf=\"col.hasLink !== true && !isString(col.hasLink)\"\n >\n {{ getDisplayValue(col, row, true) }}\n </span>\n </ng-template>\n </span>\n <!------------------- IMAGE ------------------>\n <!-- Imagem com loading -->\n <div\n *ngIf=\"\n col.image && col.image.path && !col.iconClass && !col.method\n \"\n class=\"relative inline-block\"\n >\n <mat-spinner\n *ngIf=\"isImageLoading(row, col)\"\n [diameter]=\"32\"\n class=\"absolute inset-0 m-auto\"\n ></mat-spinner>\n <img\n [src]=\"col.image.path + '/' + row[col.property]\"\n [ngClass]=\"col.image.class\"\n [class.opacity-0]=\"isImageLoading(row, col)\"\n alt=\"\"\n (load)=\"onImageLoad(row, col)\"\n (error)=\"onImageError($event, row, col, col.image.default)\"\n />\n </div>\n\n <!-- Imagem com URL completa e loading -->\n <div\n *ngIf=\"\n col.image && col.image.url && !col.iconClass && !col.method\n \"\n class=\"relative inline-block\"\n >\n <mat-spinner\n *ngIf=\"isImageLoading(row, col)\"\n [diameter]=\"32\"\n class=\"absolute inset-0 m-auto\"\n ></mat-spinner>\n <img\n [src]=\"row[col.property]\"\n [ngClass]=\"col.image.class\"\n [class.opacity-0]=\"isImageLoading(row, col)\"\n alt=\"\"\n (load)=\"onImageLoad(row, col)\"\n (error)=\"onImageError($event, row, col, col.image.default)\"\n />\n </div>\n <ng-container *ngIf=\"col.iconClass\">\n <button\n *ngFor=\"let iconClass of col.iconClass\"\n (click)=\"\n iconClass.buttonMethod\n ? iconClass.buttonMethod(row, $event)\n : $event.stopPropagation()\n \"\n >\n <span\n [ngClass]=\"iconClass.class\"\n *ngIf=\"\n iconClass.condition === undefined ||\n (iconClass.condition !== undefined &&\n $any(iconClass.condition)(row))\n \"\n >{{ iconClass.text }}</span\n >\n </button>\n </ng-container>\n </td>\n </ng-container>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnProperties\"></tr>\n <tr\n [ngClass]=\"getTableRowNgClass()\"\n mat-row\n *matRowDef=\"let row; columns: columnProperties\"\n (click)=\"goToDetails(row)\"\n ></tr>\n\n <!-- ROW SHOWN WHEN THERE IS NO MATCHING DATA. -->\n <tr class=\"mat-row\" *matNoDataRow>\n <td *ngIf=\"!(isLoading$ | async)\" class=\"mat-cell p-4\" colspan=\"4\">\n Nenhum resultado encontrado para a busca\n </td>\n </tr>\n </table>\n\n <div class=\"flex justify-center\" *ngIf=\"isLoading$ | async\">\n <mat-spinner></mat-spinner>\n </div>\n\n <div class=\"paginator-container\">\n <mat-paginator\n #paginator\n [pageSizeOptions]=\"[25, 50, 100]\"\n [pageSize]=\"pageSize\"\n [length]=\"totalItems\"\n showFirstLastButtons\n aria-label=\"Select page of periodic elements\"\n (page)=\"onPageChange($event)\"\n [ngClass]=\"getPaginatorNgClass()\"\n >\n </mat-paginator>\n <!-- <div\n *ngIf=\"\n !(isLoading$ | async) &&\n dataSource?.data &&\n dataSource.data.length > 0 &&\n data?.filterFn\n \"\n class=\"page-number-display\"\n >\n {{ currentPageNumber }}\n </div> -->\n </div>\n </div>\n </div>\n </div>\n\n <!-- TOOLTIP PERSONALIZADO -->\n <lib-table-tooltip\n [state]=\"tooltipState\"\n [styles]=\"getTooltipStyles()\"\n ></lib-table-tooltip>\n</div>\n", styles: ["@charset \"UTF-8\";:host{--table-color: #1976d2;--table-text-color: white;--table-header-bg: #1976d2;--table-header-text: white;--table-scrollbar-bg: #f5f5f5;--table-scrollbar-thumb: var(--table-color)}.table-container::-webkit-scrollbar{width:10px;height:10px;background-color:var(--table-scrollbar-bg, #f5f5f5)}.table-container::-webkit-scrollbar-thumb{background-color:var(--table-scrollbar-thumb, var(--table-color, #1976d2));border-radius:5px}.table-container::-webkit-scrollbar-thumb:hover{background-color:var(--table-scrollbar-thumb, var(--table-color, #1976d2));opacity:.8}.overflow-x-auto::-webkit-scrollbar,.overflow-y-auto::-webkit-scrollbar,.overflow-auto::-webkit-scrollbar{width:10px;height:10px;background-color:var(--table-scrollbar-bg, #f5f5f5)}.overflow-x-auto::-webkit-scrollbar-thumb,.overflow-y-auto::-webkit-scrollbar-thumb,.overflow-auto::-webkit-scrollbar-thumb{background-color:var(--table-scrollbar-thumb, var(--table-color, #1976d2));border-radius:5px}.overflow-x-auto::-webkit-scrollbar-thumb:hover,.overflow-y-auto::-webkit-scrollbar-thumb:hover,.overflow-auto::-webkit-scrollbar-thumb:hover{background-color:var(--table-scrollbar-thumb, var(--table-color, #1976d2));opacity:.8}:host ::ng-deep .mat-table .mat-header-cell,:host ::ng-deep .mat-header-cell,:host ::ng-deep th.mat-header-cell,:host ::ng-deep .mat-mdc-table .mat-mdc-header-cell,:host ::ng-deep .mat-mdc-header-cell,:host ::ng-deep th.mat-mdc-header-cell{background-color:var(--table-header-bg, #1976d2)!important;color:var(--table-header-text, white)!important;font-weight:600}::ng-deep .fa-filter,::ng-deep i.fa-filter{color:var(--table-color, #1976d2)!important}::ng-deep .rounded-xl.border{border-color:var(--table-color, #1976d2)!important}::ng-deep .border-gray-200.rounded-xl{border-color:var(--table-color, #1976d2)!important}::ng-deep .mdc-notched-outline__notch{border-right:none!important}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-bottom:0}::ng-deep .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-bottom:0}.mat-mdc-text-field-wrapper.mdc-text-field--outlined.mdc-text-field--disabled{background:rgba(0,0,0,.15);background-size:1px 100%!important;background-repeat:repeat-x!important}.mdc-text-field--disabled .mdc-text-field__input{color:#525252}button:not([matTooltip=\"Adicionar novo filtro\"]):not([matTooltip=\"Aplicar filtros\"]):not([matTooltip=\"Limpar filtros\"]):not([matTooltip=\"Exportar Tabela\"]):not(:has(i.fa-plus)):not(:has(i.fa-search)):not(:has(i.fas.fa-redo-alt)):not(:has(i.fa-download)){transition:all .2s ease;cursor:pointer}button:not([matTooltip=\"Adicionar novo filtro\"]):not([matTooltip=\"Aplicar filtros\"]):not([matTooltip=\"Limpar filtros\"]):not([matTooltip=\"Exportar Tabela\"]):not(:has(i.fa-plus)):not(:has(i.fa-search)):not(:has(i.fas.fa-redo-alt)):not(:has(i.fa-download)):hover:not(:disabled){opacity:.9;transform:scale(1.02)}button:not([matTooltip=\"Adicionar novo filtro\"]):not([matTooltip=\"Aplicar filtros\"]):not([matTooltip=\"Limpar filtros\"]):not([matTooltip=\"Exportar Tabela\"]):not(:has(i.fa-plus)):not(:has(i.fa-search)):not(:has(i.fas.fa-redo-alt)):not(:has(i.fa-download)):disabled{opacity:.5;cursor:not-allowed;transform:none}::ng-deep .hide-length .mat-mdc-paginator-range-label{display:none}::ng-deep .hide-next-button .mat-mdc-tooltip-trigger.mat-mdc-paginator-navigation-next.mdc-icon-button.mat-mdc-icon-button.mat-unthemed.mat-mdc-button-base{visibility:hidden}::ng-deep .hide-next-button .mat-mdc-tooltip-trigger.mat-mdc-paginator-navigation-last.mdc-icon-button.mat-mdc-icon-button.mat-unthemed.mat-mdc-button-base.ng-star-inserted{visibility:hidden}::ng-deep .mat-mdc-text-field-wrapper.mdc-text-field.ng-tns-c162-1.mdc-text-field--filled{width:25dvw}::ng-deep .custom-filter .mat-mdc-text-field-wrapper{width:20dvw;max-width:300px}button[matTooltip=\"Adicionar novo filtro\"],button:has(i.fa-plus){display:inline-flex;align-items:center;gap:.5rem;border-radius:9999px;border:2px solid #93c5fd;background-color:#dbeafe;padding:.5rem 1.5rem;font-size:.875rem;font-weight:500;color:#2563eb;transition:all .3s;cursor:pointer;transform:translateY(0)}button[matTooltip=\"Adicionar novo filtro\"]:hover,button:has(i.fa-plus):hover{transform:translateY(-2px);border-color:#60a5fa;background-color:#bfdbfe;box-shadow:0 4px 6px #0000001a}button[matTooltip=\"Aplicar filtros\"],button:has(i.fa-search){display:inline-flex;align-items:center;gap:.5rem;border-radius:.5rem;background-color:#16a34a;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;color:#fff;transition:background-color .2s;cursor:pointer;border:none}button[matTooltip=\"Aplicar filtros\"]:hover,button:has(i.fa-search):hover{background-color:#15803d}button[matTooltip=\"Aplicar filtros\"]:disabled,button:has(i.fa-search):disabled{opacity:.5;cursor:not-allowed}button[matTooltip=\"Limpar filtros\"],button:has(i.fas.fa-redo-alt){display:inline-flex;align-items:center;gap:.5rem;border-radius:.5rem;background-color:#ef4444;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;color:#fff;transition:background-color .2s;cursor:pointer;border:none}button[matTooltip=\"Limpar filtros\"]:hover,button:has(i.fas.fa-redo-alt):hover{background-color:#dc2626}button[matTooltip=\"Exportar Tabela\"],button:has(i.fa-download){display:inline-flex;align-items:center;gap:.5rem;border-radius:.5rem;background-color:#f97316;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;color:#fff;transition:background-color .2s;cursor:pointer;border:none}button[matTooltip=\"Exportar Tabela\"]:hover:not(:disabled),button:has(i.fa-download):hover:not(:disabled){background-color:#ea580c}button[matTooltip=\"Exportar Tabela\"]:disabled,button:has(i.fa-download):disabled{opacity:.5;cursor:not-allowed}\n"] }]
3914
+ args: [{ selector: 'lib-table', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"data\" class=\"card-body\">\n <div class=\"flex flex-col justify-between gap-6\">\n <!-- UNIFIED CONTROL PANEL: FILTERS, SORT & ACTIONS -->\n <div\n class=\"rounded-xl border border-gray-200 bg-white p-4 shadow-lg\"\n *ngIf=\"\n data.pagination === true &&\n (dropdownItems.length > 0 ||\n sortableDropdownItems.length > 0 ||\n data.actionButton)\n \"\n >\n <!-- PANEL HEADER: Title and Custom Action -->\n <div\n class=\"mb-4 flex flex-col items-start justify-between gap-4 border-b-2 border-gray-200 pb-4 md:flex-row md:items-center\"\n >\n <!-- Left Side: Title & Main Action Button -->\n <div class=\"flex flex-wrap items-center gap-4\">\n <div class=\"flex items-center gap-2\">\n <i class=\"fa fa-filter text-xl text-blue-500\"></i>\n <span class=\"text-lg font-semibold text-gray-700\"\n >Filtros e A\u00E7\u00F5es</span\n >\n </div>\n <button\n *ngIf=\"data.actionButton && data.actionButton.condition\"\n [ngClass]=\"getActionButtonClass()\"\n [routerLink]=\"data.actionButton.routerLink\"\n (click)=\"\n data.actionButton.method ? data.actionButton.method($event) : null\n \"\n >\n <i\n *ngIf=\"data.actionButton.icon\"\n [class]=\"data.actionButton.icon\"\n ></i>\n {{ data.actionButton.label }}\n </button>\n </div>\n </div>\n\n <!-- SORT FIELD (Integrated with filters) -->\n <div class=\"mb-4\" *ngIf=\"sortableDropdownItems.length > 0\">\n <div class=\"flex flex-wrap items-center gap-3 p-2\">\n <div class=\"min-w-[200px] flex-1\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label class=\"flex items-center gap-2\">\n <i class=\"fa fa-sort-alpha-down text-cyan-600\"></i>\n <span>Ordenar por</span>\n </mat-label>\n <mat-select placeholder=\"Selecione...\" [formControl]=\"selectSort\">\n <mat-option\n *ngFor=\"let item of sortableDropdownItems\"\n [value]=\"item\"\n >\n <div class=\"flex items-center gap-2\">\n <i class=\"fa fa-sort-alpha-down text-cyan-600\"></i>\n <span>{{ item.title }}</span>\n </div>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <!-- FILTERS CONTENT (WITH REFINEMENTS) -->\n <div class=\"mb-4 space-y-3\" *ngIf=\"filtersForm.controls.length > 0\">\n <div\n [formGroup]=\"$any(filterGroup)\"\n *ngFor=\"let filterGroup of filtersForm.controls; let i = index\"\n class=\"flex flex-wrap items-center gap-3 p-2\"\n >\n <!-- FILTER TYPE SELECTOR -->\n <div class=\"min-w-[200px] flex-1\" *ngIf=\"dropdownItems.length > 0\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label>Tipo de filtro</mat-label>\n <mat-select\n placeholder=\"Selecione o tipo...\"\n formControlName=\"selectFilter\"\n (selectionChange)=\"onSelectFilterChange()\"\n >\n <mat-option\n *ngFor=\"let item of getAvailableFilterOptions(filterGroup)\"\n [value]=\"item\"\n >\n <div class=\"flex items-center gap-2\">\n <i\n [class]=\"item.icon || 'fa fa-filter'\"\n class=\"text-sm text-blue-500\"\n ></i>\n <span>{{ item.title }}</span>\n </div>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <!-- TEXT FILTER -->\n <div\n class=\"min-w-[200px] flex-1\"\n *ngIf=\"\n $any(filterGroup).get('selectFilter')?.value?.arrange === 'filter'\n \"\n >\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label class=\"flex items-center gap-2\">\n <i class=\"fa fa-search text-gray-400\"></i>\n <span>{{\n $any(filterGroup).get(\"selectFilter\")?.value?.title ||\n \"Filtrar\"\n }}</span>\n </mat-label>\n <input\n (keyup.enter)=\"search($event)\"\n formControlName=\"typeFilter\"\n matInput\n placeholder=\"Digite para filtrar...\"\n #input\n />\n </mat-form-field>\n </div>\n\n <!-- DROPDOWN FILTER -->\n <div\n class=\"min-w-[200px] flex-1\"\n *ngIf=\"\n $any(filterGroup).get('selectFilter')?.value &&\n $any(filterGroup)\n .get('selectFilter')\n ?.value.hasOwnProperty('items')\n \"\n >\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label>{{\n $any(filterGroup).get(\"selectFilter\")?.value?.title ||\n \"Selecione\"\n }}</mat-label>\n <mat-select\n placeholder=\"Selecione...\"\n formControlName=\"selectItem\"\n multiple\n >\n <mat-option\n *ngFor=\"\n let item of $any(filterGroup).get('selectFilter')?.value\n .items\n \"\n [value]=\"item\"\n >\n {{ item.label }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <!-- DATE FILTER -->\n <div\n class=\"min-w-[340px] flex-auto\"\n *ngIf=\"\n $any(filterGroup).get('selectFilter')?.value?.arrange ===\n 'filterByDate'\n \"\n >\n <div\n class=\"flex flex-col items-stretch gap-3 sm:flex-row sm:items-center\"\n >\n <mat-form-field appearance=\"outline\" class=\"flex-1\">\n <mat-label class=\"flex items-center gap-2\">\n <i class=\"fa fa-calendar text-gray-400\"></i>\n <span>Data Inicial</span>\n </mat-label>\n <input\n type=\"text\"\n matInput\n (keydown.enter)=\"search($event)\"\n (input)=\"onDateInput($event, 'initialDate', i)\"\n formControlName=\"initialDate\"\n placeholder=\"DD/MM/AAAA\"\n maxlength=\"10\"\n />\n </mat-form-field>\n\n <mat-form-field appearance=\"outline\" class=\"flex-1\">\n <mat-label class=\"flex items-center gap-2\">\n <i class=\"fa fa-calendar text-gray-400\"></i>\n <span>Data Final</span>\n </mat-label>\n <input\n type=\"text\"\n (keydown.enter)=\"search($event)\"\n (input)=\"onDateInput($event, 'finalDate', i)\"\n matInput\n formControlName=\"finalDate\"\n placeholder=\"DD/MM/AAAA\"\n maxlength=\"10\"\n />\n </mat-form-field>\n </div>\n </div>\n\n <!-- REMOVE FILTER BUTTON -->\n <div *ngIf=\"filtersForm.length > 1\" class=\"ml-auto flex-shrink-0\">\n <button\n (click)=\"removeFilter(i)\"\n class=\"flex h-10 w-10 items-center justify-center rounded-full transition-colors duration-300 hover:bg-red-100\"\n matTooltip=\"Remover filtro\"\n >\n <i class=\"fa fa-trash text-red-500 hover:text-red-600\"></i>\n </button>\n </div>\n </div>\n </div>\n\n <!-- PANEL FOOTER: Add Filter & Action Buttons -->\n <div\n class=\"-mb-2 flex items-start justify-between gap-4 border-t border-gray-200 pt-4\"\n >\n <!-- Add Filter Button -->\n <div *ngIf=\"dropdownItems.length > 0\">\n <button\n (click)=\"addFilter()\"\n class=\"transform rounded-full border-2 border-blue-300 bg-blue-50 px-6 py-2 text-sm font-medium text-blue-600 transition-all duration-300 hover:-translate-y-0.5 hover:border-blue-400 hover:bg-blue-100 hover:shadow-md\"\n matTooltip=\"Adicionar novo filtro\"\n >\n <i class=\"fa fa-plus mr-2\"></i>\n Adicionar Filtro\n </button>\n </div>\n\n <!-- Right Side: Search, Reset, Export -->\n <div\n class=\"flex flex-wrap gap-3 self-start sm:self-auto\"\n *ngIf=\"\n this.hasFilterableColumn === true || this.hasSortableColumn === true\n \"\n >\n <button\n (click)=\"search()\"\n type=\"button\"\n class=\"flex items-center gap-2 rounded-lg bg-green-600 px-5 py-2 text-sm font-medium text-white transition-colors hover:bg-green-700\"\n matTooltip=\"Aplicar filtros\"\n >\n <i class=\"fa fa-search\"></i>\n Pesquisar\n </button>\n\n <button\n (click)=\"resetFilter()\"\n class=\"flex items-center gap-2 rounded-lg bg-red-500 px-5 py-2 text-sm font-medium text-white transition-colors hover:bg-red-600\"\n matTooltip=\"Limpar filtros\"\n >\n <i class=\"fas fa-redo-alt\"></i>\n Resetar\n </button>\n\n <button\n *ngIf=\"data.download !== false && downloadTable\"\n class=\"flex items-center gap-2 rounded-lg bg-orange-500 px-5 py-2 text-sm font-medium text-white transition-colors hover:bg-orange-600\"\n matTooltipPosition=\"above\"\n matTooltip=\"Exportar Tabela\"\n [disabled]=\"\n this.dataSource && this.dataSource.filteredData.length <= 0\n \"\n (click)=\"\n $any(arrange) && downloadTable !== undefined\n ? downloadTable($any(arrange), data.conditions || [])\n : null\n \"\n >\n <i class=\"fa fa-download\"></i>\n Exportar\n </button>\n </div>\n </div>\n </div>\n\n <!-- UNIFIED CONTROL PANEL (for non-paginated tables): SEARCH, SORT & FILTERS -->\n <div\n class=\"rounded-xl border border-gray-200 bg-white p-4 shadow-lg\"\n *ngIf=\"\n data.pagination === false &&\n (hasFilterableColumn === true ||\n dropdownItems.length > 0 ||\n data.actionButton)\n \"\n >\n <!-- PANEL HEADER: Title and Custom Action -->\n <div\n class=\"mb-4 flex flex-col items-start justify-between gap-4 border-b-2 border-gray-200 pb-4 md:flex-row md:items-center\"\n >\n <!-- Left Side: Title & Main Action Button -->\n <div class=\"flex flex-wrap items-center gap-4\">\n <div class=\"flex items-center gap-2\">\n <i class=\"fa fa-filter text-xl text-blue-500\"></i>\n <span class=\"text-lg font-semibold text-gray-700\"\n >Filtros e A\u00E7\u00F5es</span\n >\n </div>\n <button\n *ngIf=\"data.actionButton && data.actionButton.condition\"\n [ngClass]=\"getActionButtonClass()\"\n [routerLink]=\"data.actionButton.routerLink\"\n (click)=\"\n data.actionButton.method ? data.actionButton.method($event) : null\n \"\n >\n <i\n *ngIf=\"data.actionButton.icon\"\n [class]=\"data.actionButton.icon\"\n ></i>\n {{ data.actionButton.label }}\n </button>\n </div>\n </div>\n\n <!-- SIMPLE SEARCH -->\n <div\n class=\"mb-4\"\n *ngIf=\"hasFilterableColumn === true && data.showSimpleSearch !== false\"\n >\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label class=\"flex items-center gap-2\">\n <i class=\"fa fa-search text-blue-500\"></i>\n Buscar\n </mat-label>\n <input\n matInput\n (keyup.enter)=\"search($event)\"\n (keyup)=\"applyFilter(filterInput.value)\"\n placeholder=\"Digite para filtrar...\"\n #filterInput\n />\n <mat-icon matSuffix class=\"text-gray-500\">search</mat-icon>\n </mat-form-field>\n </div>\n\n <!-- FILTERS PANEL -->\n <div *ngIf=\"dropdownItems.length > 0\">\n <!-- FILTERS CONTENT -->\n <div class=\"mb-4 space-y-3\" *ngIf=\"filtersForm.controls.length > 0\">\n <div\n [formGroup]=\"$any(filterGroup)\"\n *ngFor=\"let filterGroup of filtersForm.controls; let i = index\"\n class=\"flex flex-wrap items-center gap-3\"\n >\n <!-- FILTER TYPE SELECTOR -->\n <div class=\"min-w-[200px] flex-1\" *ngIf=\"dropdownItems.length > 0\">\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label>Tipo de filtro</mat-label>\n <mat-select\n placeholder=\"Selecione o tipo...\"\n formControlName=\"selectFilter\"\n (selectionChange)=\"onSelectFilterChange()\"\n >\n <mat-option\n *ngFor=\"let item of getAvailableFilterOptions(filterGroup)\"\n [value]=\"item\"\n >\n <div class=\"flex items-center gap-2\">\n <i\n [class]=\"item.icon || 'fa fa-filter'\"\n class=\"text-sm text-blue-500\"\n ></i>\n <span>{{ item.title }}</span>\n </div>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <!-- TEXT FILTER -->\n <div\n class=\"min-w-[200px] flex-1\"\n *ngIf=\"\n $any(filterGroup).get('selectFilter')?.value?.arrange ===\n 'filter'\n \"\n >\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label class=\"flex items-center gap-2\">\n <i class=\"fa fa-search text-gray-400\"></i>\n <span>{{\n $any(filterGroup).get(\"selectFilter\")?.value?.title ||\n \"Filtrar\"\n }}</span>\n </mat-label>\n <input\n (keyup.enter)=\"search($event)\"\n formControlName=\"typeFilter\"\n matInput\n placeholder=\"Digite para filtrar...\"\n #input\n />\n </mat-form-field>\n </div>\n\n <!-- DROPDOWN FILTER -->\n <div\n class=\"min-w-[200px] flex-1\"\n *ngIf=\"\n $any(filterGroup).get('selectFilter')?.value &&\n $any(filterGroup)\n .get('selectFilter')\n ?.value.hasOwnProperty('items')\n \"\n >\n <mat-form-field appearance=\"outline\" class=\"w-full\">\n <mat-label>{{\n $any(filterGroup).get(\"selectFilter\")?.value?.title ||\n \"Selecione\"\n }}</mat-label>\n <mat-select\n placeholder=\"Selecione...\"\n formControlName=\"selectItem\"\n multiple\n >\n <mat-option\n *ngFor=\"\n let item of $any(filterGroup).get('selectFilter')?.value\n .items\n \"\n [value]=\"item\"\n >\n {{ item.label }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <!-- DATE FILTER -->\n <div\n class=\"min-w-[340px] flex-auto\"\n *ngIf=\"\n $any(filterGroup).get('selectFilter')?.value?.arrange ===\n 'filterByDate'\n \"\n >\n <div\n class=\"flex flex-col items-stretch gap-3 sm:flex-row sm:items-center\"\n >\n <mat-form-field appearance=\"outline\" class=\"flex-1\">\n <mat-label class=\"flex items-center gap-2\">\n <i class=\"fa fa-calendar text-gray-400\"></i>\n <span>Data Inicial</span>\n </mat-label>\n <input\n type=\"text\"\n matInput\n (keydown.enter)=\"search($event)\"\n (input)=\"onDateInput($event, 'initialDate', i)\"\n (blur)=\"onDateFilterChange()\"\n formControlName=\"initialDate\"\n placeholder=\"DD/MM/AAAA\"\n maxlength=\"10\"\n />\n </mat-form-field>\n\n <mat-form-field appearance=\"outline\" class=\"flex-1\">\n <mat-label class=\"flex items-center gap-2\">\n <i class=\"fa fa-calendar text-gray-400\"></i>\n <span>Data Final</span>\n </mat-label>\n <input\n type=\"text\"\n (keydown.enter)=\"search($event)\"\n (input)=\"onDateInput($event, 'finalDate', i)\"\n (blur)=\"onDateFilterChange()\"\n matInput\n formControlName=\"finalDate\"\n placeholder=\"DD/MM/AAAA\"\n maxlength=\"10\"\n />\n </mat-form-field>\n </div>\n </div>\n\n <!-- REMOVE FILTER BUTTON -->\n <div *ngIf=\"filtersForm.length > 1\" class=\"ml-auto flex-shrink-0\">\n <button\n (click)=\"removeFilter(i)\"\n class=\"flex h-10 w-10 items-center justify-center rounded-full transition-colors duration-300 hover:bg-red-100\"\n matTooltip=\"Remover filtro\"\n >\n <i class=\"fa fa-trash text-red-500 hover:text-red-600\"></i>\n </button>\n </div>\n </div>\n </div>\n\n <!-- PANEL FOOTER: Add Filter & Actions -->\n <div\n class=\"-mb-2 flex items-start justify-between gap-4 border-t border-gray-200 pt-4\"\n >\n <!-- Add Filter Button -->\n <div *ngIf=\"dropdownItems.length > 0\">\n <button\n (click)=\"addFilter()\"\n class=\"transform rounded-full border-2 border-blue-300 bg-blue-50 px-6 py-2 text-sm font-medium text-blue-600 transition-all duration-300 hover:-translate-y-0.5 hover:border-blue-400 hover:bg-blue-100 hover:shadow-md\"\n matTooltip=\"Adicionar novo filtro\"\n >\n <i class=\"fa fa-plus mr-2\"></i>\n Adicionar Filtro\n </button>\n </div>\n\n <!-- Action Buttons -->\n <div\n class=\"flex flex-wrap gap-3 self-start sm:self-auto\"\n *ngIf=\"\n this.hasFilterableColumn === true ||\n this.hasSortableColumn === true\n \"\n >\n <button\n (click)=\"search()\"\n type=\"button\"\n class=\"flex items-center gap-2 rounded-lg bg-green-600 px-5 py-2 text-sm font-medium text-white transition-colors hover:bg-green-700\"\n matTooltip=\"Aplicar filtros\"\n >\n <i class=\"fa fa-search\"></i>\n Pesquisar\n </button>\n\n <button\n (click)=\"resetFilter()\"\n class=\"flex items-center gap-2 rounded-lg bg-red-500 px-5 py-2 text-sm font-medium text-white transition-colors hover:bg-red-600\"\n matTooltip=\"Limpar filtros\"\n >\n <i class=\"fas fa-redo-alt\"></i>\n Resetar\n </button>\n\n <button\n *ngIf=\"data.download !== false && downloadTable\"\n class=\"flex items-center gap-2 rounded-lg bg-orange-500 px-5 py-2 text-sm font-medium text-white transition-colors hover:bg-orange-600\"\n matTooltipPosition=\"above\"\n matTooltip=\"Exportar Tabela\"\n [disabled]=\"\n this.dataSource && this.dataSource.filteredData.length <= 0\n \"\n (click)=\"handleDownload()\"\n >\n <i class=\"fa fa-download\"></i>\n Exportar\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"flex flex-col\">\n <!-- TABS COMPONENT -->\n <lib-table-tabs\n *ngIf=\"data.tabs && data.tabs.tabsData && data.tabs.tabsData.length > 0\"\n [tabsData]=\"data.tabs.tabsData\"\n [selectedTab]=\"selectedTab\"\n (tabSelected)=\"onTabSelected($event)\"\n ></lib-table-tabs>\n <div\n class=\"mat-elevation-z8 w-full overflow-x-auto rounded-xl table-container\"\n >\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n #sort=\"matSort\"\n matSortActive=\"createdAt\"\n matSortDirection=\"desc\"\n >\n <ng-container\n *ngFor=\"let col of data.displayedColumns; trackBy: trackByProperty\"\n matColumnDef=\"{{ col.property }}\"\n >\n <ng-container *matHeaderCellDef>\n <!-- IF THE COLUMN IS NOT SORTABLE, THEN DON'T SHOW THE SORT BUTTONS -->\n <th\n *ngIf=\"!col.isSortable || data.pagination === true\"\n mat-header-cell\n >\n {{ col.title }}\n </th>\n <!-- IF THE COLUMN IS SORTABLE, THEN SHOW THE SORT BUTTONS -->\n <th\n *ngIf=\"col.isSortable && data.pagination === false\"\n mat-header-cell\n mat-sort-header\n >\n {{ col.title }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let row\"\n (click)=\"col.method ? col.method(row) : null\"\n (mouseenter)=\"onCellMouseEnter($event, row, col)\"\n (mouseleave)=\"onCellMouseLeave()\"\n (mousemove)=\"onCellMouseMove($event)\"\n >\n <!-- CHECK IF THE COLUMN MUST BE DISPLAYED -->\n <span *ngIf=\"!col.image && !col.iconClass && !col.method\">\n <ng-container>\n <span\n *ngIf=\"\n col.charLimit &&\n row[col.property] &&\n row[col.property].length > col.charLimit;\n else withinLimit\n \"\n >\n <a\n *ngIf=\"col.hasLink === true\"\n [href]=\"row[col.property]\"\n target=\"_blank\"\n >\n {{ getDisplayValue(col, row) }}\n </a>\n <a\n *ngIf=\"col.hasLink && isString(col.hasLink)\"\n [href]=\"col.hasLink\"\n target=\"_blank\"\n >\n {{ getDisplayValue(col, row) }}\n </a>\n <span\n *ngIf=\"col.hasLink !== true && !isString(col.hasLink)\"\n >\n {{ getDisplayValue(col, row) }}\n </span>\n </span>\n </ng-container>\n <ng-template #withinLimit>\n <a\n *ngIf=\"col.hasLink === true\"\n [href]=\"row[col.property]\"\n target=\"_blank\"\n >\n {{ getDisplayValue(col, row, true) }}\n </a>\n <a\n *ngIf=\"col.hasLink && isString(col.hasLink)\"\n [href]=\"col.hasLink\"\n target=\"_blank\"\n >\n {{ getDisplayValue(col, row, true) }}\n </a>\n <span\n *ngIf=\"col.hasLink !== true && !isString(col.hasLink)\"\n >\n {{ getDisplayValue(col, row, true) }}\n </span>\n </ng-template>\n </span>\n <!------------------- IMAGE ------------------>\n <!-- Imagem com loading -->\n <div\n *ngIf=\"\n col.image && col.image.path && !col.iconClass && !col.method\n \"\n class=\"relative inline-block\"\n >\n <mat-spinner\n *ngIf=\"isImageLoading(row, col)\"\n [diameter]=\"32\"\n class=\"absolute inset-0 m-auto\"\n ></mat-spinner>\n <img\n [src]=\"col.image.path + '/' + row[col.property]\"\n [ngClass]=\"col.image.class\"\n [class.opacity-0]=\"isImageLoading(row, col)\"\n alt=\"\"\n (load)=\"onImageLoad(row, col)\"\n (error)=\"onImageError($event, row, col, col.image.default)\"\n />\n </div>\n\n <!-- Imagem com URL completa e loading -->\n <div\n *ngIf=\"\n col.image && col.image.url && !col.iconClass && !col.method\n \"\n class=\"relative inline-block\"\n >\n <mat-spinner\n *ngIf=\"isImageLoading(row, col)\"\n [diameter]=\"32\"\n class=\"absolute inset-0 m-auto\"\n ></mat-spinner>\n <img\n [src]=\"row[col.property]\"\n [ngClass]=\"col.image.class\"\n [class.opacity-0]=\"isImageLoading(row, col)\"\n alt=\"\"\n (load)=\"onImageLoad(row, col)\"\n (error)=\"onImageError($event, row, col, col.image.default)\"\n />\n </div>\n <ng-container *ngIf=\"col.iconClass\">\n <button\n *ngFor=\"let iconClass of col.iconClass\"\n (click)=\"\n iconClass.buttonMethod\n ? iconClass.buttonMethod(row, $event)\n : $event.stopPropagation()\n \"\n >\n <span\n [ngClass]=\"iconClass.class\"\n *ngIf=\"\n iconClass.condition === undefined ||\n (iconClass.condition !== undefined &&\n $any(iconClass.condition)(row))\n \"\n >{{ iconClass.text }}</span\n >\n </button>\n </ng-container>\n </td>\n </ng-container>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnProperties\"></tr>\n <tr\n [ngClass]=\"getTableRowNgClass()\"\n mat-row\n *matRowDef=\"let row; columns: columnProperties\"\n (click)=\"goToDetails(row)\"\n ></tr>\n\n <!-- ROW SHOWN WHEN THERE IS NO MATCHING DATA. -->\n <tr class=\"mat-row\" *matNoDataRow>\n <td *ngIf=\"!(isLoading$ | async)\" class=\"mat-cell p-4\" colspan=\"4\">\n Nenhum resultado encontrado para a busca\n </td>\n </tr>\n </table>\n\n <div class=\"flex justify-center\" *ngIf=\"isLoading$ | async\">\n <mat-spinner></mat-spinner>\n </div>\n\n <div class=\"paginator-container\">\n <mat-paginator\n #paginator\n [pageSizeOptions]=\"[25, 50, 100]\"\n [pageSize]=\"pageSize\"\n [length]=\"totalItems\"\n showFirstLastButtons\n aria-label=\"Select page of periodic elements\"\n (page)=\"onPageChange($event)\"\n [ngClass]=\"getPaginatorNgClass()\"\n >\n </mat-paginator>\n <!-- <div\n *ngIf=\"\n !(isLoading$ | async) &&\n dataSource?.data &&\n dataSource.data.length > 0 &&\n data?.filterFn\n \"\n class=\"page-number-display\"\n >\n {{ currentPageNumber }}\n </div> -->\n </div>\n </div>\n </div>\n </div>\n\n <!-- TOOLTIP PERSONALIZADO -->\n <lib-table-tooltip\n [state]=\"tooltipState\"\n [styles]=\"getTooltipStyles()\"\n ></lib-table-tooltip>\n</div>\n", styles: ["@charset \"UTF-8\";:host{--table-color: #1976d2;--table-text-color: white;--table-header-bg: #1976d2;--table-header-text: white;--table-scrollbar-bg: #f5f5f5;--table-scrollbar-thumb: var(--table-color)}.table-container::-webkit-scrollbar{width:10px;height:10px;background-color:var(--table-scrollbar-bg, #f5f5f5)}.table-container::-webkit-scrollbar-thumb{background-color:var(--table-scrollbar-thumb, var(--table-color, #1976d2));border-radius:5px}.table-container::-webkit-scrollbar-thumb:hover{background-color:var(--table-scrollbar-thumb, var(--table-color, #1976d2));opacity:.8}.overflow-x-auto::-webkit-scrollbar,.overflow-y-auto::-webkit-scrollbar,.overflow-auto::-webkit-scrollbar{width:10px;height:10px;background-color:var(--table-scrollbar-bg, #f5f5f5)}.overflow-x-auto::-webkit-scrollbar-thumb,.overflow-y-auto::-webkit-scrollbar-thumb,.overflow-auto::-webkit-scrollbar-thumb{background-color:var(--table-scrollbar-thumb, var(--table-color, #1976d2));border-radius:5px}.overflow-x-auto::-webkit-scrollbar-thumb:hover,.overflow-y-auto::-webkit-scrollbar-thumb:hover,.overflow-auto::-webkit-scrollbar-thumb:hover{background-color:var(--table-scrollbar-thumb, var(--table-color, #1976d2));opacity:.8}:host ::ng-deep .mat-table .mat-header-cell,:host ::ng-deep .mat-header-cell,:host ::ng-deep th.mat-header-cell,:host ::ng-deep .mat-mdc-table .mat-mdc-header-cell,:host ::ng-deep .mat-mdc-header-cell,:host ::ng-deep th.mat-mdc-header-cell{background-color:var(--table-header-bg, #1976d2)!important;color:var(--table-header-text, white)!important;font-weight:600}::ng-deep .fa-filter,::ng-deep i.fa-filter{color:var(--table-color, #1976d2)!important}::ng-deep .rounded-xl.border{border-color:var(--table-color, #1976d2)!important}::ng-deep .border-gray-200.rounded-xl{border-color:var(--table-color, #1976d2)!important}::ng-deep .mdc-notched-outline__notch{border-right:none!important}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-bottom:0}::ng-deep .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-bottom:0}.mat-mdc-text-field-wrapper.mdc-text-field--outlined.mdc-text-field--disabled{background:rgba(0,0,0,.15);background-size:1px 100%!important;background-repeat:repeat-x!important}.mdc-text-field--disabled .mdc-text-field__input{color:#525252}button:not([matTooltip=\"Adicionar novo filtro\"]):not([matTooltip=\"Aplicar filtros\"]):not([matTooltip=\"Limpar filtros\"]):not([matTooltip=\"Exportar Tabela\"]):not(:has(i.fa-plus)):not(:has(i.fa-search)):not(:has(i.fas.fa-redo-alt)):not(:has(i.fa-download)){transition:all .2s ease;cursor:pointer}button:not([matTooltip=\"Adicionar novo filtro\"]):not([matTooltip=\"Aplicar filtros\"]):not([matTooltip=\"Limpar filtros\"]):not([matTooltip=\"Exportar Tabela\"]):not(:has(i.fa-plus)):not(:has(i.fa-search)):not(:has(i.fas.fa-redo-alt)):not(:has(i.fa-download)):hover:not(:disabled){opacity:.9;transform:scale(1.02)}button:not([matTooltip=\"Adicionar novo filtro\"]):not([matTooltip=\"Aplicar filtros\"]):not([matTooltip=\"Limpar filtros\"]):not([matTooltip=\"Exportar Tabela\"]):not(:has(i.fa-plus)):not(:has(i.fa-search)):not(:has(i.fas.fa-redo-alt)):not(:has(i.fa-download)):disabled{opacity:.5;cursor:not-allowed;transform:none}::ng-deep .hide-length .mat-mdc-paginator-range-label{display:none}::ng-deep .hide-next-button .mat-mdc-tooltip-trigger.mat-mdc-paginator-navigation-next.mdc-icon-button.mat-mdc-icon-button.mat-unthemed.mat-mdc-button-base{visibility:hidden}::ng-deep .hide-next-button .mat-mdc-tooltip-trigger.mat-mdc-paginator-navigation-last.mdc-icon-button.mat-mdc-icon-button.mat-unthemed.mat-mdc-button-base.ng-star-inserted{visibility:hidden}::ng-deep .mat-mdc-text-field-wrapper.mdc-text-field.ng-tns-c162-1.mdc-text-field--filled{width:25dvw}::ng-deep .custom-filter .mat-mdc-text-field-wrapper{width:20dvw;max-width:300px}button[matTooltip=\"Adicionar novo filtro\"],button:has(i.fa-plus){display:inline-flex;align-items:center;gap:.5rem;border-radius:9999px;border:2px solid #93c5fd;background-color:#dbeafe;padding:.5rem 1.5rem;font-size:.875rem;font-weight:500;color:#2563eb;transition:all .3s;cursor:pointer;transform:translateY(0)}button[matTooltip=\"Adicionar novo filtro\"]:hover,button:has(i.fa-plus):hover{transform:translateY(-2px);border-color:#60a5fa;background-color:#bfdbfe;box-shadow:0 4px 6px #0000001a}button[matTooltip=\"Aplicar filtros\"],button:has(i.fa-search){display:inline-flex;align-items:center;gap:.5rem;border-radius:.5rem;background-color:#16a34a;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;color:#fff;transition:background-color .2s;cursor:pointer;border:none}button[matTooltip=\"Aplicar filtros\"]:hover,button:has(i.fa-search):hover{background-color:#15803d}button[matTooltip=\"Aplicar filtros\"]:disabled,button:has(i.fa-search):disabled{opacity:.5;cursor:not-allowed}button[matTooltip=\"Limpar filtros\"],button:has(i.fas.fa-redo-alt){display:inline-flex;align-items:center;gap:.5rem;border-radius:.5rem;background-color:#ef4444;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;color:#fff;transition:background-color .2s;cursor:pointer;border:none}button[matTooltip=\"Limpar filtros\"]:hover,button:has(i.fas.fa-redo-alt):hover{background-color:#dc2626}button[matTooltip=\"Exportar Tabela\"],button:has(i.fa-download){display:inline-flex;align-items:center;gap:.5rem;border-radius:.5rem;background-color:#f97316;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;color:#fff;transition:background-color .2s;cursor:pointer;border:none}button[matTooltip=\"Exportar Tabela\"]:hover:not(:disabled),button:has(i.fa-download):hover:not(:disabled){background-color:#ea580c}button[matTooltip=\"Exportar Tabela\"]:disabled,button:has(i.fa-download):disabled{opacity:.5;cursor:not-allowed}\n"] }]
3909
3915
  }], function () { return [{ type: i1$2.Router }, { type: TableService }, { type: FilterService }, { type: TooltipService }, { type: PaginationService }, { type: i1.AngularFirestore }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, { data: [{
3910
3916
  type: Input
3911
3917
  }], downloadTable: [{