mis-crystal-design-system 18.1.7-signal-16-test → 18.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/async-search-dropdown/async-dropdown.component.d.ts +44 -3
  2. package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +9 -2
  3. package/esm2022/async-search-dropdown/async-dropdown.component.mjs +147 -37
  4. package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +35 -22
  5. package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +6 -3
  6. package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +270 -187
  7. package/esm2022/dynamic-form/dynamic-form.component.mjs +30 -21
  8. package/esm2022/loader/loader.component.mjs +12 -6
  9. package/esm2022/slider/slider.component.mjs +2 -2
  10. package/esm2022/table/sort-icons.directive.mjs +24 -5
  11. package/esm2022/table/table.component.mjs +200 -93
  12. package/esm2022/table/table.module.mjs +7 -5
  13. package/esm2022/timepicker/timepicker.component.mjs +41 -14
  14. package/esm2022/timerangepicker/timerangepicker.component.mjs +73 -23
  15. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +146 -36
  16. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
  17. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs +34 -21
  18. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
  19. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +274 -188
  20. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
  21. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs +29 -20
  22. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
  23. package/fesm2022/mis-crystal-design-system-loader.mjs +11 -5
  24. package/fesm2022/mis-crystal-design-system-loader.mjs.map +1 -1
  25. package/fesm2022/mis-crystal-design-system-slider.mjs +2 -2
  26. package/fesm2022/mis-crystal-design-system-slider.mjs.map +1 -1
  27. package/fesm2022/mis-crystal-design-system-table.mjs +227 -99
  28. package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
  29. package/fesm2022/mis-crystal-design-system-timepicker.mjs +40 -13
  30. package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -1
  31. package/fesm2022/mis-crystal-design-system-timerangepicker.mjs +72 -22
  32. package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
  33. package/loader/loader.component.d.ts +7 -1
  34. package/package.json +18 -18
  35. package/table/table.component.d.ts +16 -4
  36. package/table/table.module.d.ts +2 -1
  37. package/timepicker/timepicker.component.d.ts +3 -1
  38. package/timerangepicker/timerangepicker.component.d.ts +5 -1
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { signal, output, input, effect, Component, ViewChild, ViewChildren, Directive, HostListener, NgModule } from '@angular/core';
2
+ import { signal, output, computed, input, effect, Component, ViewChild, ViewChildren, Directive, HostListener, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i2 from '@angular/cdk/scrolling';
@@ -9,6 +9,8 @@ import { CheckboxModule } from 'mis-crystal-design-system/checkbox';
9
9
  import * as i1$1 from '@angular/cdk/overlay';
10
10
  import { OverlayConfig, ConnectionPositionPair, OverlayModule } from '@angular/cdk/overlay';
11
11
  import { TemplatePortal, PortalModule } from '@angular/cdk/portal';
12
+ import * as i3 from 'mis-crystal-design-system/dropdown';
13
+ import { DropdownModule } from 'mis-crystal-design-system/dropdown';
12
14
 
13
15
  const _c0$3 = ["filter"];
14
16
  const _c1$3 = ["table"];
@@ -30,7 +32,7 @@ const _c16 = () => ({ display: "flex" });
30
32
  const _c17 = () => ({ "margin-right": "4px" });
31
33
  function TableComponent_mis_table_filter_1_Template(rf, ctx) { if (rf & 1) {
32
34
  const _r1 = i0.ɵɵgetCurrentView();
33
- i0.ɵɵelementStart(0, "mis-table-filter", 12, 1);
35
+ i0.ɵɵelementStart(0, "mis-table-filter", 13, 1);
34
36
  i0.ɵɵlistener("filtersApplied", function TableComponent_mis_table_filter_1_Template_mis_table_filter_filtersApplied_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.updateAppliedFilters($event)); });
35
37
  i0.ɵɵelementEnd();
36
38
  } if (rf & 2) {
@@ -38,7 +40,7 @@ function TableComponent_mis_table_filter_1_Template(rf, ctx) { if (rf & 1) {
38
40
  i0.ɵɵproperty("containerStyles", ctx_r1.filterContainerStyles())("filtersData", ctx_r1.filterData());
39
41
  } }
40
42
  function TableComponent_div_5_p_2_Template(rf, ctx) { if (rf & 1) {
41
- i0.ɵɵelementStart(0, "p", 19);
43
+ i0.ɵɵelementStart(0, "p", 20);
42
44
  i0.ɵɵtext(1);
43
45
  i0.ɵɵelementEnd();
44
46
  } if (rf & 2) {
@@ -47,16 +49,16 @@ function TableComponent_div_5_p_2_Template(rf, ctx) { if (rf & 1) {
47
49
  i0.ɵɵtextInterpolate1(" ", (colHeader_r4 == null ? null : colHeader_r4.data) || " ", " ");
48
50
  } }
49
51
  function TableComponent_div_5_span_3_span_1_Template(rf, ctx) { if (rf & 1) {
50
- i0.ɵɵelement(0, "span", 24);
52
+ i0.ɵɵelement(0, "span", 25);
51
53
  } }
52
54
  function TableComponent_div_5_span_3_Template(rf, ctx) { if (rf & 1) {
53
55
  const _r5 = i0.ɵɵgetCurrentView();
54
- i0.ɵɵelementStart(0, "span", 20);
56
+ i0.ɵɵelementStart(0, "span", 21);
55
57
  i0.ɵɵlistener("click", function TableComponent_div_5_span_3_Template_span_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const colHeader_r4 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.filterData.set(colHeader_r4.filters); ctx_r1.toggleFilter(colHeader_r4.data); return i0.ɵɵresetView($event.stopPropagation()); });
56
- i0.ɵɵtemplate(1, TableComponent_div_5_span_3_span_1_Template, 1, 0, "span", 21);
58
+ i0.ɵɵtemplate(1, TableComponent_div_5_span_3_span_1_Template, 1, 0, "span", 22);
57
59
  i0.ɵɵnamespaceSVG();
58
- i0.ɵɵelementStart(2, "svg", 22);
59
- i0.ɵɵelement(3, "path", 23);
60
+ i0.ɵɵelementStart(2, "svg", 23);
61
+ i0.ɵɵelement(3, "path", 24);
60
62
  i0.ɵɵelementEnd()();
61
63
  } if (rf & 2) {
62
64
  let tmp_5_0;
@@ -67,9 +69,9 @@ function TableComponent_div_5_span_3_Template(rf, ctx) { if (rf & 1) {
67
69
  } }
68
70
  function TableComponent_div_5_span_4_Template(rf, ctx) { if (rf & 1) {
69
71
  const _r6 = i0.ɵɵgetCurrentView();
70
- i0.ɵɵelementStart(0, "span", 25);
72
+ i0.ɵɵelementStart(0, "span", 26);
71
73
  i0.ɵɵlistener("click", function TableComponent_div_5_span_4_Template_span_click_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); ctx_r1.toggleCheckbox(); return i0.ɵɵresetView($event.stopPropagation()); });
72
- i0.ɵɵelement(1, "mis-checkbox", 26);
74
+ i0.ɵɵelement(1, "mis-checkbox", 27);
73
75
  i0.ɵɵelementEnd();
74
76
  } if (rf & 2) {
75
77
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -78,7 +80,7 @@ function TableComponent_div_5_span_4_Template(rf, ctx) { if (rf & 1) {
78
80
  } }
79
81
  function TableComponent_div_5_span_5_Template(rf, ctx) { if (rf & 1) {
80
82
  const _r7 = i0.ɵɵgetCurrentView();
81
- i0.ɵɵelementStart(0, "span", 27);
83
+ i0.ɵɵelementStart(0, "span", 28);
82
84
  i0.ɵɵlistener("sortChange", function TableComponent_div_5_span_5_Template_span_sortChange_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onSortChange($event)); });
83
85
  i0.ɵɵelementEnd();
84
86
  } if (rf & 2) {
@@ -88,16 +90,16 @@ function TableComponent_div_5_span_5_Template(rf, ctx) { if (rf & 1) {
88
90
  } }
89
91
  function TableComponent_div_5_6_ng_template_0_Template(rf, ctx) { }
90
92
  function TableComponent_div_5_6_Template(rf, ctx) { if (rf & 1) {
91
- i0.ɵɵtemplate(0, TableComponent_div_5_6_ng_template_0_Template, 0, 0, "ng-template", 28);
93
+ i0.ɵɵtemplate(0, TableComponent_div_5_6_ng_template_0_Template, 0, 0, "ng-template", 29);
92
94
  } if (rf & 2) {
93
95
  const colHeader_r4 = i0.ɵɵnextContext().$implicit;
94
96
  i0.ɵɵproperty("customComponent", colHeader_r4 == null ? null : colHeader_r4.componentRef)("data", colHeader_r4.data);
95
97
  } }
96
98
  function TableComponent_div_5_Template(rf, ctx) { if (rf & 1) {
97
99
  const _r3 = i0.ɵɵgetCurrentView();
98
- i0.ɵɵelementStart(0, "div", 13, 2);
100
+ i0.ɵɵelementStart(0, "div", 14, 2);
99
101
  i0.ɵɵlistener("click", function TableComponent_div_5_Template_div_click_0_listener() { const colHeader_r4 = i0.ɵɵrestoreView(_r3).$implicit; return i0.ɵɵresetView((colHeader_r4 == null ? null : colHeader_r4.action) ? colHeader_r4 == null ? null : colHeader_r4.action(colHeader_r4) : null); });
100
- i0.ɵɵtemplate(2, TableComponent_div_5_p_2_Template, 2, 1, "p", 14)(3, TableComponent_div_5_span_3_Template, 4, 1, "span", 15)(4, TableComponent_div_5_span_4_Template, 2, 1, "span", 16)(5, TableComponent_div_5_span_5_Template, 1, 4, "span", 17)(6, TableComponent_div_5_6_Template, 1, 2, null, 18);
102
+ i0.ɵɵtemplate(2, TableComponent_div_5_p_2_Template, 2, 1, "p", 15)(3, TableComponent_div_5_span_3_Template, 4, 1, "span", 16)(4, TableComponent_div_5_span_4_Template, 2, 1, "span", 17)(5, TableComponent_div_5_span_5_Template, 1, 4, "span", 18)(6, TableComponent_div_5_6_Template, 1, 2, null, 19);
101
103
  i0.ɵɵelementEnd();
102
104
  } if (rf & 2) {
103
105
  const colHeader_r4 = ctx.$implicit;
@@ -115,7 +117,7 @@ function TableComponent_div_5_Template(rf, ctx) { if (rf & 1) {
115
117
  } }
116
118
  function TableComponent_div_7_div_2_div_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
117
119
  i0.ɵɵelementContainerStart(0);
118
- i0.ɵɵelement(1, "span", 39);
120
+ i0.ɵɵelement(1, "span", 40);
119
121
  i0.ɵɵelementContainerEnd();
120
122
  } if (rf & 2) {
121
123
  const col_r12 = i0.ɵɵnextContext(2).$implicit;
@@ -132,8 +134,8 @@ function TableComponent_div_7_div_2_div_2_ng_template_2_Template(rf, ctx) { if (
132
134
  i0.ɵɵtextInterpolate(col_r12);
133
135
  } }
134
136
  function TableComponent_div_7_div_2_div_2_Template(rf, ctx) { if (rf & 1) {
135
- i0.ɵɵelementStart(0, "div", 37);
136
- i0.ɵɵtemplate(1, TableComponent_div_7_div_2_div_2_ng_container_1_Template, 2, 1, "ng-container", 38)(2, TableComponent_div_7_div_2_div_2_ng_template_2_Template, 2, 1, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
137
+ i0.ɵɵelementStart(0, "div", 38);
138
+ i0.ɵɵtemplate(1, TableComponent_div_7_div_2_div_2_ng_container_1_Template, 2, 1, "ng-container", 39)(2, TableComponent_div_7_div_2_div_2_ng_template_2_Template, 2, 1, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
137
139
  i0.ɵɵelementEnd();
138
140
  } if (rf & 2) {
139
141
  let tmp_10_0;
@@ -148,7 +150,7 @@ function TableComponent_div_7_div_2_div_2_Template(rf, ctx) { if (rf & 1) {
148
150
  } }
149
151
  function TableComponent_div_7_div_2_3_ng_template_0_Template(rf, ctx) { }
150
152
  function TableComponent_div_7_div_2_3_Template(rf, ctx) { if (rf & 1) {
151
- i0.ɵɵtemplate(0, TableComponent_div_7_div_2_3_ng_template_0_Template, 0, 0, "ng-template", 28);
153
+ i0.ɵɵtemplate(0, TableComponent_div_7_div_2_3_ng_template_0_Template, 0, 0, "ng-template", 29);
152
154
  } if (rf & 2) {
153
155
  const ctx_r15 = i0.ɵɵnextContext();
154
156
  const col_r12 = ctx_r15.$implicit;
@@ -158,7 +160,7 @@ function TableComponent_div_7_div_2_3_Template(rf, ctx) { if (rf & 1) {
158
160
  } }
159
161
  function TableComponent_div_7_div_2_mis_actions_cell_4_Template(rf, ctx) { if (rf & 1) {
160
162
  const _r17 = i0.ɵɵgetCurrentView();
161
- i0.ɵɵelementStart(0, "mis-actions-cell", 40);
163
+ i0.ɵɵelementStart(0, "mis-actions-cell", 41);
162
164
  i0.ɵɵlistener("actionClick", function TableComponent_div_7_div_2_mis_actions_cell_4_Template_mis_actions_cell_actionClick_0_listener($event) { i0.ɵɵrestoreView(_r17); const rowIndex_r15 = i0.ɵɵnextContext(2).index; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onActionClick($event, rowIndex_r15)); });
163
165
  i0.ɵɵelementEnd();
164
166
  } if (rf & 2) {
@@ -172,10 +174,10 @@ function TableComponent_div_7_div_2_mis_actions_cell_4_Template(rf, ctx) { if (r
172
174
  } }
173
175
  function TableComponent_div_7_div_2_Template(rf, ctx) { if (rf & 1) {
174
176
  const _r10 = i0.ɵɵgetCurrentView();
175
- i0.ɵɵelementStart(0, "div", 33);
177
+ i0.ɵɵelementStart(0, "div", 34);
176
178
  i0.ɵɵlistener("click", function TableComponent_div_7_div_2_Template_div_click_0_listener() { let tmp_9_0; const ctx_r10 = i0.ɵɵrestoreView(_r10); const col_r12 = ctx_r10.$implicit; const colIndex_r13 = ctx_r10.index; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(((tmp_9_0 = ctx_r1.tableConfig()) == null ? null : tmp_9_0.colConfig[colIndex_r13] == null ? null : tmp_9_0.colConfig[colIndex_r13].action) && ((tmp_9_0 = ctx_r1.tableConfig()) == null ? null : tmp_9_0.colConfig[colIndex_r13] == null ? null : tmp_9_0.colConfig[colIndex_r13].actionType) !== "checkbox" ? (tmp_9_0 = ctx_r1.tableConfig()) == null ? null : tmp_9_0.colConfig[colIndex_r13] == null ? null : tmp_9_0.colConfig[colIndex_r13].action(col_r12) : null); });
177
- i0.ɵɵelementStart(1, "div", 34);
178
- i0.ɵɵtemplate(2, TableComponent_div_7_div_2_div_2_Template, 4, 9, "div", 35)(3, TableComponent_div_7_div_2_3_Template, 1, 2, null, 18)(4, TableComponent_div_7_div_2_mis_actions_cell_4_Template, 1, 5, "mis-actions-cell", 36);
179
+ i0.ɵɵelementStart(1, "div", 35);
180
+ i0.ɵɵtemplate(2, TableComponent_div_7_div_2_div_2_Template, 4, 9, "div", 36)(3, TableComponent_div_7_div_2_3_Template, 1, 2, null, 19)(4, TableComponent_div_7_div_2_mis_actions_cell_4_Template, 1, 5, "mis-actions-cell", 37);
179
181
  i0.ɵɵelementEnd()();
180
182
  } if (rf & 2) {
181
183
  let tmp_8_0;
@@ -199,7 +201,7 @@ function TableComponent_div_7_div_2_Template(rf, ctx) { if (rf & 1) {
199
201
  } }
200
202
  function TableComponent_div_7_div_3_ng_container_1_Template(rf, ctx) { if (rf & 1) {
201
203
  i0.ɵɵelementContainerStart(0);
202
- i0.ɵɵelementStart(1, "div", 42);
204
+ i0.ɵɵelementStart(1, "div", 43);
203
205
  i0.ɵɵtext(2, " Loading... ");
204
206
  i0.ɵɵelementEnd();
205
207
  i0.ɵɵelementContainerEnd();
@@ -209,7 +211,7 @@ function TableComponent_div_7_div_3_ng_container_1_Template(rf, ctx) { if (rf &
209
211
  } }
210
212
  function TableComponent_div_7_div_3_ng_container_2_Template(rf, ctx) { if (rf & 1) {
211
213
  i0.ɵɵelementContainerStart(0);
212
- i0.ɵɵelementStart(1, "div", 42);
214
+ i0.ɵɵelementStart(1, "div", 43);
213
215
  i0.ɵɵtext(2, " No Data Available... ");
214
216
  i0.ɵɵelementEnd();
215
217
  i0.ɵɵelementContainerEnd();
@@ -219,7 +221,7 @@ function TableComponent_div_7_div_3_ng_container_2_Template(rf, ctx) { if (rf &
219
221
  } }
220
222
  function TableComponent_div_7_div_3_ng_container_3_Template(rf, ctx) { if (rf & 1) {
221
223
  i0.ɵɵelementContainerStart(0);
222
- i0.ɵɵelement(1, "sub-table", 43);
224
+ i0.ɵɵelement(1, "sub-table", 44);
223
225
  i0.ɵɵelementContainerEnd();
224
226
  } if (rf & 2) {
225
227
  const ctx_r1 = i0.ɵɵnextContext(3);
@@ -227,8 +229,8 @@ function TableComponent_div_7_div_3_ng_container_3_Template(rf, ctx) { if (rf &
227
229
  i0.ɵɵproperty("config", ctx_r1.subTableconfig())("tableData", ctx_r1.subTableData());
228
230
  } }
229
231
  function TableComponent_div_7_div_3_Template(rf, ctx) { if (rf & 1) {
230
- i0.ɵɵelementStart(0, "div", 41);
231
- i0.ɵɵtemplate(1, TableComponent_div_7_div_3_ng_container_1_Template, 3, 2, "ng-container", 18)(2, TableComponent_div_7_div_3_ng_container_2_Template, 3, 2, "ng-container", 18)(3, TableComponent_div_7_div_3_ng_container_3_Template, 2, 2, "ng-container", 18);
232
+ i0.ɵɵelementStart(0, "div", 42);
233
+ i0.ɵɵtemplate(1, TableComponent_div_7_div_3_ng_container_1_Template, 3, 2, "ng-container", 19)(2, TableComponent_div_7_div_3_ng_container_2_Template, 3, 2, "ng-container", 19)(3, TableComponent_div_7_div_3_ng_container_3_Template, 2, 2, "ng-container", 19);
232
234
  i0.ɵɵelementEnd();
233
235
  } if (rf & 2) {
234
236
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -241,11 +243,11 @@ function TableComponent_div_7_div_3_Template(rf, ctx) { if (rf & 1) {
241
243
  } }
242
244
  function TableComponent_div_7_Template(rf, ctx) { if (rf & 1) {
243
245
  const _r8 = i0.ɵɵgetCurrentView();
244
- i0.ɵɵelementStart(0, "div", 29)(1, "div", 30);
246
+ i0.ɵɵelementStart(0, "div", 30)(1, "div", 31);
245
247
  i0.ɵɵlistener("click", function TableComponent_div_7_Template_div_click_1_listener() { const i_r9 = i0.ɵɵrestoreView(_r8).index; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.selectRow(i_r9)); });
246
- i0.ɵɵtemplate(2, TableComponent_div_7_div_2_Template, 5, 15, "div", 31);
248
+ i0.ɵɵtemplate(2, TableComponent_div_7_div_2_Template, 5, 15, "div", 32);
247
249
  i0.ɵɵelementEnd();
248
- i0.ɵɵtemplate(3, TableComponent_div_7_div_3_Template, 4, 3, "div", 32);
250
+ i0.ɵɵtemplate(3, TableComponent_div_7_div_3_Template, 4, 3, "div", 33);
249
251
  i0.ɵɵelementEnd();
250
252
  } if (rf & 2) {
251
253
  let tmp_7_0;
@@ -261,23 +263,32 @@ function TableComponent_div_7_Template(rf, ctx) { if (rf & 1) {
261
263
  i0.ɵɵadvance();
262
264
  i0.ɵɵproperty("ngIf", ((tmp_9_0 = ctx_r1.tableConfig()) == null ? null : tmp_9_0.canExpand) && ctx_r1.expandedIndex() === i_r9);
263
265
  } }
264
- function TableComponent_div_8_ng_container_7_div_1_span_1_Template(rf, ctx) { if (rf & 1) {
266
+ function TableComponent_Conditional_9_Conditional_3_Template(rf, ctx) { if (rf & 1) {
265
267
  const _r20 = i0.ɵɵgetCurrentView();
266
- i0.ɵɵelementStart(0, "span", 54);
267
- i0.ɵɵlistener("click", function TableComponent_div_8_ng_container_7_div_1_span_1_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r20); const pageNumber_r21 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.updateSelectedPage(pageNumber_r21)); });
268
+ i0.ɵɵelementStart(0, "div", 46)(1, "mis-dropdown", 52);
269
+ i0.ɵɵlistener("onChange", function TableComponent_Conditional_9_Conditional_3_Template_mis_dropdown_onChange_1_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onPageSizeChange($event)); });
270
+ i0.ɵɵelementEnd()();
271
+ } if (rf & 2) {
272
+ const ctx_r1 = i0.ɵɵnextContext(2);
273
+ i0.ɵɵadvance();
274
+ i0.ɵɵproperty("data", ctx_r1.pageSizeOptions())("selectedItem", ctx_r1.selectedPageSizeOption())("width", "90px")("height", "32px")("searchEnabled", false)("dropdownListHeight", "100px");
275
+ } }
276
+ function TableComponent_Conditional_9_ng_container_8_div_1_span_1_Template(rf, ctx) { if (rf & 1) {
277
+ const _r21 = i0.ɵɵgetCurrentView();
278
+ i0.ɵɵelementStart(0, "span", 56);
279
+ i0.ɵɵlistener("click", function TableComponent_Conditional_9_ng_container_8_div_1_span_1_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r21); const pageNumber_r22 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.updateSelectedPage(pageNumber_r22)); });
268
280
  i0.ɵɵtext(1);
269
281
  i0.ɵɵelementEnd();
270
282
  } if (rf & 2) {
271
- let tmp_6_0;
272
- const pageNumber_r21 = i0.ɵɵnextContext().$implicit;
283
+ const pageNumber_r22 = i0.ɵɵnextContext().$implicit;
273
284
  const ctx_r1 = i0.ɵɵnextContext(3);
274
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c15, pageNumber_r21 == ((tmp_6_0 = ctx_r1.tableConfig().paginationConfig) == null ? null : tmp_6_0.selectedPage)));
285
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c15, pageNumber_r22 === ctx_r1.selectedPage()));
275
286
  i0.ɵɵadvance();
276
- i0.ɵɵtextInterpolate(pageNumber_r21);
287
+ i0.ɵɵtextInterpolate(pageNumber_r22);
277
288
  } }
278
- function TableComponent_div_8_ng_container_7_div_1_span_2_Template(rf, ctx) { if (rf & 1) {
279
- i0.ɵɵelementStart(0, "span", 55)(1, "div", 42);
280
- i0.ɵɵelement(2, "span", 56)(3, "span", 56)(4, "span", 57);
289
+ function TableComponent_Conditional_9_ng_container_8_div_1_span_2_Template(rf, ctx) { if (rf & 1) {
290
+ i0.ɵɵelementStart(0, "span", 57)(1, "div", 43);
291
+ i0.ɵɵelement(2, "span", 58)(3, "span", 58)(4, "span", 59);
281
292
  i0.ɵɵelementEnd()();
282
293
  } if (rf & 2) {
283
294
  i0.ɵɵadvance();
@@ -287,64 +298,64 @@ function TableComponent_div_8_ng_container_7_div_1_span_2_Template(rf, ctx) { if
287
298
  i0.ɵɵadvance();
288
299
  i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction0(5, _c17));
289
300
  } }
290
- function TableComponent_div_8_ng_container_7_div_1_Template(rf, ctx) { if (rf & 1) {
301
+ function TableComponent_Conditional_9_ng_container_8_div_1_Template(rf, ctx) { if (rf & 1) {
291
302
  i0.ɵɵelementStart(0, "div");
292
- i0.ɵɵtemplate(1, TableComponent_div_8_ng_container_7_div_1_span_1_Template, 2, 4, "span", 52)(2, TableComponent_div_8_ng_container_7_div_1_span_2_Template, 5, 6, "span", 53);
303
+ i0.ɵɵtemplate(1, TableComponent_Conditional_9_ng_container_8_div_1_span_1_Template, 2, 4, "span", 54)(2, TableComponent_Conditional_9_ng_container_8_div_1_span_2_Template, 5, 6, "span", 55);
293
304
  i0.ɵɵelementEnd();
294
305
  } if (rf & 2) {
295
- const pageNumber_r21 = ctx.$implicit;
306
+ const pageNumber_r22 = ctx.$implicit;
296
307
  i0.ɵɵadvance();
297
- i0.ɵɵproperty("ngIf", pageNumber_r21 != 0);
308
+ i0.ɵɵproperty("ngIf", pageNumber_r22 != 0);
298
309
  i0.ɵɵadvance();
299
- i0.ɵɵproperty("ngIf", pageNumber_r21 == 0);
310
+ i0.ɵɵproperty("ngIf", pageNumber_r22 == 0);
300
311
  } }
301
- function TableComponent_div_8_ng_container_7_Template(rf, ctx) { if (rf & 1) {
312
+ function TableComponent_Conditional_9_ng_container_8_Template(rf, ctx) { if (rf & 1) {
302
313
  i0.ɵɵelementContainerStart(0);
303
- i0.ɵɵtemplate(1, TableComponent_div_8_ng_container_7_div_1_Template, 3, 2, "div", 51);
314
+ i0.ɵɵtemplate(1, TableComponent_Conditional_9_ng_container_8_div_1_Template, 3, 2, "div", 53);
304
315
  i0.ɵɵelementContainerEnd();
305
316
  } if (rf & 2) {
306
317
  const ctx_r1 = i0.ɵɵnextContext(2);
307
318
  i0.ɵɵadvance();
308
319
  i0.ɵɵproperty("ngForOf", ctx_r1.pages());
309
320
  } }
310
- function TableComponent_div_8_Template(rf, ctx) { if (rf & 1) {
321
+ function TableComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
311
322
  const _r19 = i0.ɵɵgetCurrentView();
312
- i0.ɵɵelementStart(0, "div", 44)(1, "p", 45);
323
+ i0.ɵɵelementStart(0, "div", 12)(1, "p", 45);
313
324
  i0.ɵɵtext(2);
314
325
  i0.ɵɵelementEnd();
315
- i0.ɵɵelementStart(3, "div", 46)(4, "span", 47);
316
- i0.ɵɵlistener("click", function TableComponent_div_8_Template_span_click_4_listener() { let tmp_3_0; i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(((tmp_3_0 = ctx_r1.tableConfig().paginationConfig) == null ? null : tmp_3_0.selectedPage) > 1 && ctx_r1.updateSelectedPage(((tmp_3_0 = ctx_r1.tableConfig().paginationConfig) == null ? null : tmp_3_0.selectedPage) - 1)); });
326
+ i0.ɵɵtemplate(3, TableComponent_Conditional_9_Conditional_3_Template, 2, 6, "div", 46);
327
+ i0.ɵɵelementStart(4, "div", 47)(5, "span", 48);
328
+ i0.ɵɵlistener("click", function TableComponent_Conditional_9_Template_span_click_5_listener() { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.selectedPage() > 1 && ctx_r1.updateSelectedPage(ctx_r1.selectedPage() - 1)); });
317
329
  i0.ɵɵnamespaceSVG();
318
- i0.ɵɵelementStart(5, "svg", 48);
319
- i0.ɵɵelement(6, "path", 49);
330
+ i0.ɵɵelementStart(6, "svg", 49);
331
+ i0.ɵɵelement(7, "path", 50);
320
332
  i0.ɵɵelementEnd()();
321
- i0.ɵɵtemplate(7, TableComponent_div_8_ng_container_7_Template, 2, 1, "ng-container", 18);
333
+ i0.ɵɵtemplate(8, TableComponent_Conditional_9_ng_container_8_Template, 2, 1, "ng-container", 19);
322
334
  i0.ɵɵnamespaceHTML();
323
- i0.ɵɵelementStart(8, "span", 47);
324
- i0.ɵɵlistener("click", function TableComponent_div_8_Template_span_click_8_listener() { let tmp_3_0; i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(((tmp_3_0 = ctx_r1.tableConfig().paginationConfig) == null ? null : tmp_3_0.selectedPage) < ((tmp_3_0 = ctx_r1.tableConfig().paginationConfig) == null ? null : tmp_3_0.noOfPages) && ctx_r1.updateSelectedPage(((tmp_3_0 = ctx_r1.tableConfig().paginationConfig) == null ? null : tmp_3_0.selectedPage) + 1)); });
335
+ i0.ɵɵelementStart(9, "span", 48);
336
+ i0.ɵɵlistener("click", function TableComponent_Conditional_9_Template_span_click_9_listener() { let tmp_3_0; i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.selectedPage() < ((tmp_3_0 = ctx_r1.tableConfig().paginationConfig) == null ? null : tmp_3_0.noOfPages) && ctx_r1.updateSelectedPage(ctx_r1.selectedPage() + 1)); });
325
337
  i0.ɵɵnamespaceSVG();
326
- i0.ɵɵelementStart(9, "svg", 48);
327
- i0.ɵɵelement(10, "path", 50);
338
+ i0.ɵɵelementStart(10, "svg", 49);
339
+ i0.ɵɵelement(11, "path", 51);
328
340
  i0.ɵɵelementEnd()()()();
329
341
  } if (rf & 2) {
330
- let tmp_2_0;
331
- let tmp_3_0;
332
- let tmp_4_0;
333
342
  let tmp_5_0;
343
+ let tmp_6_0;
334
344
  const ctx_r1 = i0.ɵɵnextContext();
335
345
  i0.ɵɵadvance(2);
336
- i0.ɵɵtextInterpolate3(" Showing ", (((tmp_2_0 = ctx_r1.tableConfig().paginationConfig) == null ? null : tmp_2_0.selectedPage) - 1) * ctx_r1.tableConfig().paginationConfig.rowsPerPage + 1, "-", (((tmp_2_0 = ctx_r1.tableConfig().paginationConfig) == null ? null : tmp_2_0.selectedPage) - 1) * ctx_r1.tableConfig().paginationConfig.rowsPerPage + ctx_r1.tableLength(), " of ", ctx_r1.tableConfig().paginationConfig.totalNoOfRows, " items ");
346
+ i0.ɵɵtextInterpolate3(" Showing ", (ctx_r1.selectedPage() - 1) * ctx_r1.tableConfig().paginationConfig.rowsPerPage + 1, "-", (ctx_r1.selectedPage() - 1) * ctx_r1.tableConfig().paginationConfig.rowsPerPage + ctx_r1.tableLength(), " of ", ctx_r1.tableConfig().paginationConfig.totalNoOfRows, " items ");
347
+ i0.ɵɵadvance();
348
+ i0.ɵɵconditional(ctx_r1.showPageSizeDropdown() ? 3 : -1);
337
349
  i0.ɵɵadvance(2);
338
- i0.ɵɵclassProp("page-nav-inactive", ((tmp_3_0 = ctx_r1.tableConfig().paginationConfig) == null ? null : tmp_3_0.selectedPage) === 1);
350
+ i0.ɵɵclassProp("page-nav-inactive", ctx_r1.selectedPage() === 1);
339
351
  i0.ɵɵadvance(3);
340
- i0.ɵɵproperty("ngIf", !((tmp_4_0 = ctx_r1.tableConfig().paginationConfig) == null ? null : tmp_4_0.disablePageJumping));
352
+ i0.ɵɵproperty("ngIf", !((tmp_5_0 = ctx_r1.tableConfig().paginationConfig) == null ? null : tmp_5_0.disablePageJumping));
341
353
  i0.ɵɵadvance();
342
- i0.ɵɵclassProp("page-nav-inactive", ((tmp_5_0 = ctx_r1.tableConfig().paginationConfig) == null ? null : tmp_5_0.selectedPage) === ((tmp_5_0 = ctx_r1.tableConfig().paginationConfig) == null ? null : tmp_5_0.noOfPages));
354
+ i0.ɵɵclassProp("page-nav-inactive", ctx_r1.selectedPage() === ((tmp_6_0 = ctx_r1.tableConfig().paginationConfig) == null ? null : tmp_6_0.noOfPages));
343
355
  } }
344
356
  class TableComponent {
345
- constructor(renderer, cdr) {
357
+ constructor(renderer) {
346
358
  this.renderer = renderer;
347
- this.cdr = cdr;
348
359
  // Initialize with -1 to indicate no row is colored at the beginning
349
360
  this.activeRowIndex = signal([]);
350
361
  this.hasCheckboxActions = signal(false);
@@ -360,7 +371,22 @@ class TableComponent {
360
371
  // Pagination related variables
361
372
  this.pages = signal([]);
362
373
  this.tableLength = signal(0);
374
+ this.selectedPage = signal(1); // Internal state for selected page
363
375
  this.pageSelected = output();
376
+ this.pageSizeChanged = output();
377
+ this.pageSizeOptions = computed(() => {
378
+ const config = this.tableConfig()?.paginationConfig;
379
+ if (!config?.pageSizes || !Array.isArray(config.pageSizes) || !config.pageSizes?.length)
380
+ return [];
381
+ return config.pageSizes?.map(option => ({
382
+ label: option?.toString() || '',
383
+ value: option?.toString() || '',
384
+ })) || [];
385
+ });
386
+ this.showPageSizeDropdown = computed(() => {
387
+ return !!this.tableConfig()?.paginationConfig?.showPageSizeDropdown;
388
+ });
389
+ this.selectedPageSizeOption = signal({ label: "", value: "" });
364
390
  // Convert inputs to signal-based inputs
365
391
  this.tableConfig = input();
366
392
  this.subTableconfig = input();
@@ -388,10 +414,82 @@ class TableComponent {
388
414
  if (this.rowCollapseConfigIndex() !== -1) {
389
415
  this.buildExpandedMap();
390
416
  }
391
- // Height is already set in ngAfterViewInit, don't override it here
392
- // The effect should only handle other reactive updates, not height
393
- // DOM manipulation via renderer should trigger change detection automatically
417
+ // --- PAGINATION PAGE ARRAY LOGIC (MOVED/REPLACED initializePagination) ---
418
+ const len = config?.paginationConfig?.noOfPages;
419
+ const disablePageJumping = config?.paginationConfig?.disablePageJumping;
420
+ // Only run if pagination is configured and page jumping is enabled
421
+ if (len && len > 0 && !disablePageJumping) {
422
+ // Read the internal state of the selected page for calculating the pages array.
423
+ // Since this runs on every config change, we rely on the value set
424
+ // by updateSelectedPage().
425
+ const pageNumber = this.selectedPage();
426
+ if (len <= 7) {
427
+ const newPages = [];
428
+ for (let i = 1; i <= len; i++) {
429
+ newPages.push(i);
430
+ }
431
+ this.pages.set(newPages);
432
+ }
433
+ else {
434
+ if (pageNumber - 2 <= 1) {
435
+ this.pages.set([1, 2, 3, 4, 0, len]);
436
+ }
437
+ else if (pageNumber - 2 > 1 && pageNumber + 2 < len) {
438
+ this.pages.set([1, 0, pageNumber - 1, pageNumber, pageNumber + 1, 0, len]);
439
+ }
440
+ else if (pageNumber + 2 >= len) {
441
+ this.pages.set([1, 0, len - 3, len - 2, len - 1, len]);
442
+ }
443
+ }
444
+ }
445
+ // --- END PAGINATION PAGE ARRAY LOGIC ---
446
+ if (config?.paginationConfig?.showPageSizeDropdown) {
447
+ const options = this.pageSizeOptions();
448
+ const rowsPerPage = this.tableConfig()?.paginationConfig?.rowsPerPage;
449
+ if (!Array.isArray(options) || !rowsPerPage) {
450
+ this.selectedPageSizeOption.set({ label: "", value: "" });
451
+ return;
452
+ }
453
+ const selected = options.find(opt => opt?.value === rowsPerPage.toString());
454
+ if (selected) {
455
+ this.selectedPageSizeOption.set(selected);
456
+ }
457
+ else if (options.length > 0) {
458
+ // If configured rowsPerPage is not among options, pick the floor value and notify parent
459
+ const target = Number(rowsPerPage);
460
+ //Sort the options
461
+ const sorted = options
462
+ .map(opt => ({ opt, num: Number(opt?.value) }))
463
+ .filter(({ num }) => Number.isFinite(num))
464
+ .sort((a, b) => a.num - b.num);
465
+ let floorOption = sorted[0]?.opt;
466
+ for (let i = sorted.length - 1; i >= 0; i--) {
467
+ if (sorted[i].num <= target) {
468
+ floorOption = sorted[i].opt;
469
+ break;
470
+ }
471
+ }
472
+ console.error("The configured rowsPerPage was not matched to any of the pageSizes sent in the paginationConfig. Selecting the nearest floor value among the available pageSizes.");
473
+ this.selectedPageSizeOption.set(floorOption);
474
+ this.onPageSizeChange(floorOption);
475
+ }
476
+ else {
477
+ console.error("No page size options available.");
478
+ }
479
+ }
394
480
  }, { allowSignalWrites: true });
481
+ // Reactive height calculation: maintains exact old behavior for backward compatibility
482
+ // Old code: height - 56 + "px" (flawed for percentages, but we maintain it)
483
+ // Note: Effect must be in constructor, not lifecycle hooks (NG0203 error otherwise)
484
+ // effect(() => {
485
+ // const config = this.tableConfig();
486
+ // if (!config?.paginationConfig || !this.table?.nativeElement) return;
487
+ // const height = config.height;
488
+ // // Old behavior: height - 56 + "px" (maintains the flaw for backward compatibility)
489
+ // const result = (height as any) - 56;
490
+ // const finalHeight = result + "px";
491
+ // this.renderer.setStyle(this.table.nativeElement, "height", finalHeight);
492
+ // });
395
493
  }
396
494
  // Function to handle row click
397
495
  selectRow(index) {
@@ -441,18 +539,12 @@ class TableComponent {
441
539
  this.expandedMap.set(newExpandedMap);
442
540
  }
443
541
  ngAfterViewInit() {
542
+ // ViewChild is now available - manually trigger height calculation once
543
+ // The effect in constructor will handle subsequent config changes
444
544
  const config = this.tableConfig();
445
- if (!config?.paginationConfig)
446
- return;
447
- const rawHeight = config.height;
448
- // Handle percentage values - use calc() to subtract 56px
449
- if (typeof rawHeight === 'string' && rawHeight.includes('%')) {
450
- const calcHeight = `calc(${rawHeight} - 56px)`;
451
- this.renderer.setStyle(this.table.nativeElement, "height", calcHeight);
452
- }
453
- else {
454
- // Handle pixel values - subtract 56px (same as old code)
455
- const result = rawHeight - 56;
545
+ if (config?.paginationConfig && this.table?.nativeElement) {
546
+ const height = config.height;
547
+ const result = height - 56;
456
548
  const finalHeight = result + "px";
457
549
  this.renderer.setStyle(this.table.nativeElement, "height", finalHeight);
458
550
  }
@@ -525,6 +617,9 @@ class TableComponent {
525
617
  // Pagination related functions
526
618
  initializePagination() {
527
619
  if (this.tableConfig().paginationConfig) {
620
+ // Initialize selectedPage from config if provided, otherwise default to 1
621
+ // const configSelectedPage = this.tableConfig().paginationConfig.selectedPage;
622
+ // this.selectedPage.set(configSelectedPage ?? 1);
528
623
  let len = this.tableConfig().paginationConfig.noOfPages;
529
624
  if (len <= 7) {
530
625
  const newPages = [];
@@ -542,9 +637,11 @@ class TableComponent {
542
637
  // Guard clause to prevent out-of-range updates
543
638
  if (pageNumber < 1 || pageNumber > this.tableConfig().paginationConfig.noOfPages)
544
639
  return;
640
+ // Update internal selectedPage state immediately
641
+ this.selectedPage.set(pageNumber);
545
642
  // Reset header checkbox when navigating to a different page
546
643
  this.selectAllCheckbox.set(false);
547
- // Note: We can't directly modify input signals, this should be handled by parent component
644
+ // Update page numbers display for pagination with many pages
548
645
  let len = this.tableConfig().paginationConfig.noOfPages;
549
646
  if (len > 7) {
550
647
  if (pageNumber - 2 <= 1) {
@@ -557,6 +654,7 @@ class TableComponent {
557
654
  this.pages.set([1, 0, len - 3, len - 2, len - 1, len]);
558
655
  }
559
656
  }
657
+ // Emit to parent so they can update their config
560
658
  this.pageSelected.emit(pageNumber);
561
659
  }
562
660
  // Main container related functions
@@ -676,7 +774,18 @@ class TableComponent {
676
774
  });
677
775
  }
678
776
  }
679
- static { this.ɵfac = function TableComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TableComponent)(i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
777
+ onPageSizeChange(selectedOption) {
778
+ this.pageSizeChanged.emit(parseInt(selectedOption.value));
779
+ }
780
+ shouldShowPagination() {
781
+ const config = this.tableConfig()?.paginationConfig;
782
+ if (!config)
783
+ return false;
784
+ const hasMultiplePages = config.noOfPages > 1;
785
+ const hasEnoughData = this.tableLength() > config.rowsPerPage;
786
+ return this.showPageSizeDropdown() || hasMultiplePages || hasEnoughData;
787
+ }
788
+ static { this.ɵfac = function TableComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TableComponent)(i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
680
789
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableComponent, selectors: [["mis-table"]], viewQuery: function TableComponent_Query(rf, ctx) { if (rf & 1) {
681
790
  i0.ɵɵviewQuery(_c0$3, 5);
682
791
  i0.ɵɵviewQuery(_c1$3, 5);
@@ -686,7 +795,7 @@ class TableComponent {
686
795
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filter = _t.first);
687
796
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.table = _t.first);
688
797
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.colHeaders = _t);
689
- } }, inputs: { tableConfig: [1, "tableConfig"], subTableconfig: [1, "subTableconfig"], tableDataLoading: [1, "tableDataLoading"], expandedIndex: [1, "expandedIndex"], tableData: [1, "tableData"], subTableData: [1, "subTableData"], subTableDataLoading: [1, "subTableDataLoading"], currentSort: [1, "currentSort"] }, outputs: { filtersUpdated: "filtersUpdated", pageSelected: "pageSelected", sortChange: "sortChange", headerAction: "headerAction" }, features: [i0.ɵɵNgOnChangesFeature], decls: 9, vars: 15, consts: [["table", ""], ["filter", ""], ["colHeaderRef", ""], ["plainText", ""], ["id", "main-container", 3, "ngStyle"], [3, "containerStyles", "filtersData", "filtersApplied", 4, "ngIf"], ["id", "table-container", 3, "ngClass"], ["id", "col-headers-container", 3, "ngStyle"], ["class", "col-header", 3, "ngStyle", "click", 4, "ngFor", "ngForOf"], ["id", "data-container"], ["class", "row-wrapper", 4, "ngFor", "ngForOf"], ["id", "pagination-container", 4, "ngIf"], [3, "filtersApplied", "containerStyles", "filtersData"], [1, "col-header", 3, "click", "ngStyle"], ["class", "col-header-text", 4, "ngIf"], ["class", "filter-icon", 3, "click", 4, "ngIf"], ["class", "checkbox-icon", 3, "click", 4, "ngIf"], ["appSortIcons", "", "class", "sort-icon", 3, "column", "activeSort", "activeSorts", "multiColumnSort", "sortChange", 4, "ngIf"], [4, "ngIf"], [1, "col-header-text"], [1, "filter-icon", 3, "click"], ["id", "filter-active", 4, "ngIf"], ["fill", "none", "height", "10", "viewBox", "0 0 13 10", "width", "13", "xmlns", "http://www.w3.org/2000/svg"], ["clip-rule", "evenodd", "d", "M4.97546 10H7.64213V8H4.97546V10ZM0.308472 0V2H12.3085V0H0.308472ZM2.30847 6H10.3085V4H2.30847V6Z", "fill", "#181F33", "fill-rule", "evenodd"], ["id", "filter-active"], [1, "checkbox-icon", 3, "click"], [3, "checked"], ["appSortIcons", "", 1, "sort-icon", 3, "sortChange", "column", "activeSort", "activeSorts", "multiColumnSort"], ["customTableCell", "", 3, "customComponent", "data"], [1, "row-wrapper"], [1, "t-row", 3, "click", "ngClass", "ngStyle"], ["class", "t-col-container", 3, "ngStyle", "ngClass", "click", 4, "ngFor", "ngForOf"], ["class", "sub-row", 4, "ngIf"], [1, "t-col-container", 3, "click", "ngStyle", "ngClass"], [1, "t-col", 3, "ngStyle"], ["class", "t-col-text", 3, "ngStyle", "ngClass", 4, "ngIf"], [3, "cellData", "config", "ngClass", "actionClick", 4, "ngIf"], [1, "t-col-text", 3, "ngStyle", "ngClass"], [4, "ngIf", "ngIfElse"], [3, "innerHTML"], [3, "actionClick", "cellData", "config", "ngClass"], [1, "sub-row"], [3, "ngStyle"], [3, "config", "tableData"], ["id", "pagination-container"], ["id", "pagination-text"], ["id", "pages-container"], [1, "page", 3, "click"], ["fill", "none", "height", "10", "viewBox", "0 0 7 10", "width", "7", "xmlns", "http://www.w3.org/2000/svg"], ["clip-rule", "evenodd", "d", "M0.857405 5.56295C0.855794 5.56139 0.854188 5.55982 0.852588 5.55824C0.695955 5.40408 0.617641 5.20203 0.617647 4.99998C0.617641 4.79793 0.695955 4.59588 0.852588 4.44172C0.854188 4.44014 0.855794 4.43858 0.857404 4.43702L5.13066 0.231231C5.44392 -0.0770771 5.9518 -0.0770771 6.26506 0.231231C6.57831 0.53954 6.57831 1.03941 6.26506 1.34772L2.5542 4.99998L6.26506 8.65225C6.57831 8.96055 6.57831 9.46042 6.26506 9.76873C5.9518 10.077 5.44392 10.077 5.13066 9.76873L0.857405 5.56295Z", "fill", "#181F33", "fill-rule", "evenodd"], ["clip-rule", "evenodd", "d", "M6.1426 5.56295C6.14421 5.56139 6.14581 5.55982 6.14741 5.55824C6.30405 5.40408 6.38236 5.20203 6.38236 4.99998C6.38236 4.79793 6.30405 4.59588 6.14741 4.44172C6.14581 4.44014 6.14421 4.43858 6.1426 4.43702L1.86934 0.231231C1.55608 -0.0770771 1.0482 -0.0770771 0.734942 0.231231C0.421688 0.53954 0.421688 1.03941 0.734942 1.34772L4.4458 4.99998L0.734941 8.65225C0.421686 8.96055 0.421686 9.46042 0.734941 9.76873C1.0482 10.077 1.55608 10.077 1.86934 9.76873L6.1426 5.56295Z", "fill", "#181F33", "fill-rule", "evenodd"], [4, "ngFor", "ngForOf"], ["class", "page page-jumping-enabled", 3, "ngClass", "click", 4, "ngIf"], ["class", "page-seperator", 4, "ngIf"], [1, "page", "page-jumping-enabled", 3, "click", "ngClass"], [1, "page-seperator"], [1, "dot", 3, "ngStyle"], [1, "dot"]], template: function TableComponent_Template(rf, ctx) { if (rf & 1) {
798
+ } }, inputs: { tableConfig: [1, "tableConfig"], subTableconfig: [1, "subTableconfig"], tableDataLoading: [1, "tableDataLoading"], expandedIndex: [1, "expandedIndex"], tableData: [1, "tableData"], subTableData: [1, "subTableData"], subTableDataLoading: [1, "subTableDataLoading"], currentSort: [1, "currentSort"] }, outputs: { filtersUpdated: "filtersUpdated", pageSelected: "pageSelected", pageSizeChanged: "pageSizeChanged", sortChange: "sortChange", headerAction: "headerAction" }, features: [i0.ɵɵNgOnChangesFeature], decls: 10, vars: 15, consts: [["table", ""], ["filter", ""], ["colHeaderRef", ""], ["plainText", ""], ["id", "main-container", 3, "ngStyle"], [3, "containerStyles", "filtersData", "filtersApplied", 4, "ngIf"], ["id", "table-container", 3, "ngClass"], ["id", "col-headers-container", 3, "ngStyle"], ["class", "col-header", 3, "ngStyle", "click", 4, "ngFor", "ngForOf"], ["id", "data-container"], ["class", "row-wrapper", 4, "ngFor", "ngForOf"], ["id", "pagination-content-container"], ["id", "pagination-container"], [3, "filtersApplied", "containerStyles", "filtersData"], [1, "col-header", 3, "click", "ngStyle"], ["class", "col-header-text", 4, "ngIf"], ["class", "filter-icon", 3, "click", 4, "ngIf"], ["class", "checkbox-icon", 3, "click", 4, "ngIf"], ["appSortIcons", "", "class", "sort-icon", 3, "column", "activeSort", "activeSorts", "multiColumnSort", "sortChange", 4, "ngIf"], [4, "ngIf"], [1, "col-header-text"], [1, "filter-icon", 3, "click"], ["id", "filter-active", 4, "ngIf"], ["fill", "none", "height", "10", "viewBox", "0 0 13 10", "width", "13", "xmlns", "http://www.w3.org/2000/svg"], ["clip-rule", "evenodd", "d", "M4.97546 10H7.64213V8H4.97546V10ZM0.308472 0V2H12.3085V0H0.308472ZM2.30847 6H10.3085V4H2.30847V6Z", "fill", "#181F33", "fill-rule", "evenodd"], ["id", "filter-active"], [1, "checkbox-icon", 3, "click"], [3, "checked"], ["appSortIcons", "", 1, "sort-icon", 3, "sortChange", "column", "activeSort", "activeSorts", "multiColumnSort"], ["customTableCell", "", 3, "customComponent", "data"], [1, "row-wrapper"], [1, "t-row", 3, "click", "ngClass", "ngStyle"], ["class", "t-col-container", 3, "ngStyle", "ngClass", "click", 4, "ngFor", "ngForOf"], ["class", "sub-row", 4, "ngIf"], [1, "t-col-container", 3, "click", "ngStyle", "ngClass"], [1, "t-col", 3, "ngStyle"], ["class", "t-col-text", 3, "ngStyle", "ngClass", 4, "ngIf"], [3, "cellData", "config", "ngClass", "actionClick", 4, "ngIf"], [1, "t-col-text", 3, "ngStyle", "ngClass"], [4, "ngIf", "ngIfElse"], [3, "innerHTML"], [3, "actionClick", "cellData", "config", "ngClass"], [1, "sub-row"], [3, "ngStyle"], [3, "config", "tableData"], ["id", "pagination-text"], [1, "page-size-selector"], ["id", "pages-container"], [1, "page", 3, "click"], ["fill", "none", "height", "10", "viewBox", "0 0 7 10", "width", "7", "xmlns", "http://www.w3.org/2000/svg"], ["clip-rule", "evenodd", "d", "M0.857405 5.56295C0.855794 5.56139 0.854188 5.55982 0.852588 5.55824C0.695955 5.40408 0.617641 5.20203 0.617647 4.99998C0.617641 4.79793 0.695955 4.59588 0.852588 4.44172C0.854188 4.44014 0.855794 4.43858 0.857404 4.43702L5.13066 0.231231C5.44392 -0.0770771 5.9518 -0.0770771 6.26506 0.231231C6.57831 0.53954 6.57831 1.03941 6.26506 1.34772L2.5542 4.99998L6.26506 8.65225C6.57831 8.96055 6.57831 9.46042 6.26506 9.76873C5.9518 10.077 5.44392 10.077 5.13066 9.76873L0.857405 5.56295Z", "fill", "#181F33", "fill-rule", "evenodd"], ["clip-rule", "evenodd", "d", "M6.1426 5.56295C6.14421 5.56139 6.14581 5.55982 6.14741 5.55824C6.30405 5.40408 6.38236 5.20203 6.38236 4.99998C6.38236 4.79793 6.30405 4.59588 6.14741 4.44172C6.14581 4.44014 6.14421 4.43858 6.1426 4.43702L1.86934 0.231231C1.55608 -0.0770771 1.0482 -0.0770771 0.734942 0.231231C0.421688 0.53954 0.421688 1.03941 0.734942 1.34772L4.4458 4.99998L0.734941 8.65225C0.421686 8.96055 0.421686 9.46042 0.734941 9.76873C1.0482 10.077 1.55608 10.077 1.86934 9.76873L6.1426 5.56295Z", "fill", "#181F33", "fill-rule", "evenodd"], [1, "page-size-dropdown", 3, "onChange", "data", "selectedItem", "width", "height", "searchEnabled", "dropdownListHeight"], [4, "ngFor", "ngForOf"], ["class", "page page-jumping-enabled", 3, "ngClass", "click", 4, "ngIf"], ["class", "page-seperator", 4, "ngIf"], [1, "page", "page-jumping-enabled", 3, "click", "ngClass"], [1, "page-seperator"], [1, "dot", 3, "ngStyle"], [1, "dot"]], template: function TableComponent_Template(rf, ctx) { if (rf & 1) {
690
799
  i0.ɵɵelementStart(0, "div", 4);
691
800
  i0.ɵɵtemplate(1, TableComponent_mis_table_filter_1_Template, 2, 2, "mis-table-filter", 5);
692
801
  i0.ɵɵelementStart(2, "div", 6, 0)(4, "div", 7);
@@ -695,11 +804,11 @@ class TableComponent {
695
804
  i0.ɵɵelementStart(6, "div", 9);
696
805
  i0.ɵɵtemplate(7, TableComponent_div_7_Template, 4, 11, "div", 10);
697
806
  i0.ɵɵelementEnd()();
698
- i0.ɵɵtemplate(8, TableComponent_div_8_Template, 11, 8, "div", 11);
699
- i0.ɵɵelementEnd();
807
+ i0.ɵɵelementStart(8, "div", 11);
808
+ i0.ɵɵtemplate(9, TableComponent_Conditional_9_Template, 12, 9, "div", 12);
809
+ i0.ɵɵelementEnd()();
700
810
  } if (rf & 2) {
701
811
  let tmp_5_0;
702
- let tmp_7_0;
703
812
  i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction3(7, _c3$1, ctx.getContainerHeight(), ctx.getContainerWidth(), ctx.tableConfig().canScrollHorizontally ? "auto" : "unset"));
704
813
  i0.ɵɵadvance();
705
814
  i0.ɵɵproperty("ngIf", ctx.showFilter());
@@ -711,14 +820,14 @@ class TableComponent {
711
820
  i0.ɵɵproperty("ngForOf", (tmp_5_0 = ctx.tableConfig()) == null ? null : tmp_5_0.colHeaderConfig);
712
821
  i0.ɵɵadvance(2);
713
822
  i0.ɵɵproperty("ngForOf", ctx.tableData());
714
- i0.ɵɵadvance();
715
- i0.ɵɵproperty("ngIf", ((tmp_7_0 = ctx.tableConfig()) == null ? null : tmp_7_0.paginationConfig) && (ctx.tableLength() >= ctx.tableConfig().paginationConfig.rowsPerPage || ((tmp_7_0 = ctx.tableConfig().paginationConfig) == null ? null : tmp_7_0.selectedPage) !== 1));
716
- } }, styles: ["#main-container[_ngcontent-%COMP%]{font-family:Lato,sans-serif;position:relative}.no-scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar{width:0}.scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px;height:8px;border-radius:15px}.scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB);border-radius:15px}#table-container[_ngcontent-%COMP%]{height:inherit;overflow-y:auto}.scroll-horizontally[_ngcontent-%COMP%]{height:inherit;width:fit-content;overflow-y:unset!important;overflow-x:visible}#col-headers-container[_ngcontent-%COMP%]{display:flex;align-items:center;position:sticky;background-color:var(--bg-primary, #FFFFFF);width:100%;z-index:1;min-height:44px;border-bottom:1px solid var(--border-primary, #E0E0E0);top:0;left:0;right:0}.col-header[_ngcontent-%COMP%]{padding:0 16px;display:flex;align-items:center;height:100%}.col-header-text[_ngcontent-%COMP%]{font-style:normal;font-weight:700;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.sort-icon[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.filter-icon[_ngcontent-%COMP%]{margin-left:8px;padding:0 8px;position:relative;cursor:pointer}#filter-active[_ngcontent-%COMP%]{height:8px;width:8px;background:var(--brand-accent, #10ADAE);border-radius:50%;position:absolute;top:4px;right:4px}.sub-row[_ngcontent-%COMP%]{height:auto;border-bottom:none}.loader[_ngcontent-%COMP%] .mat-progress-spinner circle, .mat-spinner[_ngcontent-%COMP%] circle[_ngcontent-%COMP%]{stroke:var(--brand-primary, #0937B2)}.t-row[_ngcontent-%COMP%]{display:flex;min-height:44px;background-color:var(--bg-primary, #FFFFFF);width:100%;border-bottom:1px solid var(--border-primary, #E0E0E0)}.t-row[_ngcontent-%COMP%]:hover{background-color:var(--brand-primary-hover, #F0F3FA)}.active-row[_ngcontent-%COMP%]{background-color:var(--brand-primary-active, #DAE1F3)}.t-col-container[_ngcontent-%COMP%]{padding:0 16px;overflow-wrap:anywhere;min-width:0}.t-row-hover[_ngcontent-%COMP%]:hover{background-color:#0000}.t-col-container-hover[_ngcontent-%COMP%]:hover{background-color:var(--brand-primary-active, #DAE1F3)}.t-col-container-hover[_ngcontent-%COMP%]:first-child{border-left:1px solid var(--border-primary, #E0E0E0)}.t-col-container-hover[_ngcontent-%COMP%]{border-right:1px solid var(--border-primary, #E0E0E0)}.t-col[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%}.t-col-text[_ngcontent-%COMP%]{font-style:normal;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.text-ellipsis[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}#pagination-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;height:56px}#pagination-text[_ngcontent-%COMP%]{font-style:normal;font-weight:400;font-size:12px;line-height:18px;letter-spacing:.4px;color:var(--text-secondary, #6A737D);margin:0 56px 0 0}#pages-container[_ngcontent-%COMP%]{display:flex;margin-right:32px}.page[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;box-sizing:border-box;border-radius:4px;width:32px;height:32px;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-secondary, #6A737D);margin-right:8px;cursor:pointer}.page.page-jumping-enabled[_ngcontent-%COMP%]{border:1px solid var(--text-secondary, #6A737D)}.page-seperator[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;width:32px;height:32px;margin-right:8px}.dot[_ngcontent-%COMP%]{height:3px;width:3px;border-radius:50%;background:var(--text-secondary, #6A737D)}.page-active[_ngcontent-%COMP%]{color:var(--brand-primary, #0937B2);border:1px solid var(--brand-primary, #0937B2)}.sort-icon[_ngcontent-%COMP%]{display:inline-flex;align-items:center;margin-left:4px;cursor:pointer}.sort-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:16px;height:16px;transition:opacity .2s ease}.sort-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]:hover{opacity:.8}.disabled-row[_ngcontent-%COMP%] .t-col-container[_ngcontent-%COMP%]{opacity:.4;pointer-events:none}.disabled-row[_ngcontent-%COMP%] .t-col-container[_ngcontent-%COMP%]:has(mis-actions-cell){opacity:1;pointer-events:auto}.row[_ngcontent-%COMP%]{transition:background-color .2s}.row[_ngcontent-%COMP%]:hover:not(.disabled-row), .row.selected[_ngcontent-%COMP%]:not(.disabled-row){background-color:var(--brand-primary-active, #DAE1F3)}.disabled-row[_ngcontent-%COMP%] .t-col-container[_ngcontent-%COMP%]{pointer-events:none;opacity:.4}.disabled-row[_ngcontent-%COMP%] .t-col-container[_ngcontent-%COMP%]:has(mis-actions-cell){pointer-events:auto!important;opacity:1!important;color:inherit!important}mis-actions-cell.disable-actions[_ngcontent-%COMP%]{pointer-events:none;opacity:.4;filter:grayscale(.5)}.page-nav-inactive[_ngcontent-%COMP%]{pointer-events:none;opacity:.5;cursor:default}.collapsed-cell[_ngcontent-%COMP%]{overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;display:block;@supports (-webkit-line-clamp: 2){display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:var(--collapsed-lines, 2);white-space:normal!important}}"] }); }
823
+ i0.ɵɵadvance(2);
824
+ i0.ɵɵconditional(ctx.shouldShowPagination() ? 9 : -1);
825
+ } }, styles: ["#main-container[_ngcontent-%COMP%]{font-family:Lato,sans-serif;position:relative}.no-scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar{width:0}.scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px;height:8px;border-radius:15px}.scrollbar[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB);border-radius:15px}#table-container[_ngcontent-%COMP%]{height:inherit;overflow-y:auto}.scroll-horizontally[_ngcontent-%COMP%]{height:inherit;width:fit-content;overflow-y:unset!important;overflow-x:visible}#col-headers-container[_ngcontent-%COMP%]{display:flex;align-items:center;position:sticky;background-color:var(--bg-primary, #FFFFFF);width:100%;z-index:1;min-height:44px;border-bottom:1px solid var(--border-primary, #E0E0E0);top:0;left:0;right:0}.col-header[_ngcontent-%COMP%]{padding:0 16px;display:flex;align-items:center;height:100%}.col-header-text[_ngcontent-%COMP%]{font-style:normal;font-weight:700;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.sort-icon[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.filter-icon[_ngcontent-%COMP%]{margin-left:8px;padding:0 8px;position:relative;cursor:pointer}#filter-active[_ngcontent-%COMP%]{height:8px;width:8px;background:var(--brand-accent, #10ADAE);border-radius:50%;position:absolute;top:4px;right:4px}.sub-row[_ngcontent-%COMP%]{height:auto;border-bottom:none}.loader[_ngcontent-%COMP%] .mat-progress-spinner circle, .mat-spinner[_ngcontent-%COMP%] circle[_ngcontent-%COMP%]{stroke:var(--brand-primary, #0937B2)}.t-row[_ngcontent-%COMP%]{display:flex;min-height:44px;background-color:var(--bg-primary, #FFFFFF);width:100%;border-bottom:1px solid var(--border-primary, #E0E0E0)}.t-row[_ngcontent-%COMP%]:hover{background-color:var(--brand-primary-hover, #F0F3FA)}.active-row[_ngcontent-%COMP%]{background-color:var(--brand-primary-active, #DAE1F3)}.t-col-container[_ngcontent-%COMP%]{padding:0 16px;overflow-wrap:anywhere;min-width:0}.t-row-hover[_ngcontent-%COMP%]:hover{background-color:#0000}.t-col-container-hover[_ngcontent-%COMP%]:hover{background-color:var(--brand-primary-active, #DAE1F3)}.t-col-container-hover[_ngcontent-%COMP%]:first-child{border-left:1px solid var(--border-primary, #E0E0E0)}.t-col-container-hover[_ngcontent-%COMP%]{border-right:1px solid var(--border-primary, #E0E0E0)}.t-col[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%}.t-col-text[_ngcontent-%COMP%]{font-style:normal;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.text-ellipsis[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}#pagination-container[_ngcontent-%COMP%], #pagination-content-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;height:56px}#pagination-text[_ngcontent-%COMP%]{font-style:normal;font-weight:400;font-size:12px;line-height:18px;letter-spacing:.4px;color:var(--text-secondary, #6A737D);margin:0 16px 0 0}#pages-container[_ngcontent-%COMP%]{display:flex;margin-right:32px}.page[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;box-sizing:border-box;border-radius:4px;width:32px;height:32px;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-secondary, #6A737D);margin-right:8px;cursor:pointer}.page.page-jumping-enabled[_ngcontent-%COMP%]{border:1px solid var(--text-secondary, #6A737D)}.page-seperator[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;width:32px;height:32px;margin-right:8px}.dot[_ngcontent-%COMP%]{height:3px;width:3px;border-radius:50%;background:var(--text-secondary, #6A737D)}.page-active[_ngcontent-%COMP%]{color:var(--brand-primary, #0937B2);border:1px solid var(--brand-primary, #0937B2)}.sort-icon[_ngcontent-%COMP%]{display:inline-flex;align-items:center;margin-left:4px;cursor:pointer}.sort-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:16px;height:16px;transition:opacity .2s ease}.sort-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]:hover{opacity:.8}.disabled-row[_ngcontent-%COMP%] .t-col-container[_ngcontent-%COMP%]{opacity:.4;pointer-events:none}.disabled-row[_ngcontent-%COMP%] .t-col-container[_ngcontent-%COMP%]:has(mis-actions-cell){opacity:1;pointer-events:auto}.row[_ngcontent-%COMP%]{transition:background-color .2s}.row[_ngcontent-%COMP%]:hover:not(.disabled-row), .row.selected[_ngcontent-%COMP%]:not(.disabled-row){background-color:var(--brand-primary-active, #DAE1F3)}.disabled-row[_ngcontent-%COMP%] .t-col-container[_ngcontent-%COMP%]{pointer-events:none;opacity:.4}.disabled-row[_ngcontent-%COMP%] .t-col-container[_ngcontent-%COMP%]:has(mis-actions-cell){pointer-events:auto!important;opacity:1!important;color:inherit!important}mis-actions-cell.disable-actions[_ngcontent-%COMP%]{pointer-events:none;opacity:.4;filter:grayscale(.5)}.page-nav-inactive[_ngcontent-%COMP%]{pointer-events:none;opacity:.5;cursor:default}.page-size-selector[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;margin-right:16px}.collapsed-cell[_ngcontent-%COMP%]{overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;display:block}@supports (-webkit-line-clamp: 2){.collapsed-cell[_ngcontent-%COMP%]{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:var(--collapsed-lines, 2);white-space:normal!important}}"] }); }
717
826
  }
718
827
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
719
828
  type: Component,
720
- args: [{ selector: "mis-table", template: "<div\n [ngStyle]=\"{\n height: getContainerHeight(),\n width: getContainerWidth(),\n 'overflow-x': tableConfig().canScrollHorizontally ? 'auto' : 'unset'\n }\"\n id=\"main-container\"\n>\n <mis-table-filter\n #filter\n (filtersApplied)=\"updateAppliedFilters($event)\"\n *ngIf=\"showFilter()\"\n [containerStyles]=\"filterContainerStyles()\"\n [filtersData]=\"filterData()\"\n ></mis-table-filter>\n <div\n #table\n id=\"table-container\"\n [ngClass]=\"{ 'no-scrollbar': expandedIndex() < 0, scrollbar: !(expandedIndex() < 0), 'scroll-horizontally': tableConfig().canScrollHorizontally }\"\n >\n <div\n [ngStyle]=\"getColHeadersRowStyles()\"\n id=\"col-headers-container\"\n >\n <div\n #colHeaderRef\n (click)=\"colHeader?.action ? colHeader?.action(colHeader) : null\"\n *ngFor=\"let colHeader of tableConfig()?.colHeaderConfig\"\n class=\"col-header\"\n [ngStyle]=\"{\n width: colHeader?.style?.width || '',\n cursor: colHeader.action ? 'pointer' : 'default',\n 'justify-content': colHeader?.style?.justifyContent\n ? colHeader?.style?.justifyContent\n : colHeader.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <p *ngIf=\"colHeader?.type !== 'custom' && colHeader?.type !== 'checkbox'\" class=\"col-header-text\">\n {{ colHeader?.data || \" \" }}\n </p>\n <span\n (click)=\"filterData.set(colHeader.filters); toggleFilter(colHeader.data); $event.stopPropagation()\"\n *ngIf=\"colHeader?.type !== 'custom' && colHeader?.filters && colHeader?.filters?.length > 0\"\n class=\"filter-icon\"\n >\n <span *ngIf=\"appliedFilters()[colHeader.data]?.length > 0\" id=\"filter-active\"></span>\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 13 10\" width=\"13\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M4.97546 10H7.64213V8H4.97546V10ZM0.308472 0V2H12.3085V0H0.308472ZM2.30847 6H10.3085V4H2.30847V6Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <span\n (click)=\"toggleCheckbox(); $event.stopPropagation()\"\n *ngIf=\"colHeader?.type === 'checkbox'\"\n class=\"checkbox-icon\"\n >\n <mis-checkbox [checked]=\"selectAllCheckbox()\"></mis-checkbox>\n </span>\n <span *ngIf=\"colHeader?.isSortable && !colHeader?.filters\" appSortIcons\n [column]=\"colHeader\"\n [activeSort]=\"currentSort()\"\n [activeSorts]=\"multiColumnSort()\"\n [multiColumnSort]=\"tableConfig().multiColumnSort\"\n (sortChange)=\"onSortChange($event)\"\n class=\"sort-icon\">\n </span>\n <ng-template *ngIf=\"colHeader?.type === 'custom'\" customTableCell [customComponent]=\"colHeader?.componentRef\" [data]=\"colHeader.data\"></ng-template>\n </div>\n </div>\n \n <div id=\"data-container\">\n <div class=\"row-wrapper\" *ngFor=\"let row of tableData(); let i = index; let rowIndex = index\">\n <div\n class=\"t-row\"\n [ngClass]=\"{ 't-row-hover': tableConfig().cellHover, 'active-row': activeRowIndex().includes(i) }\"\n [ngStyle]=\"{ 'min-height': tableConfig()?.rowConfig?.height ? tableConfig().rowConfig.height : '44px' }\"\n (click)=\"selectRow(i)\"\n [class.disabled-row]=\"isRowDisabled(row)\"\n >\n <div\n (click)=\"tableConfig()?.colConfig[colIndex]?.action && tableConfig()?.colConfig[colIndex]?.actionType !== 'checkbox' ? tableConfig()?.colConfig[colIndex]?.action(col) : null\"\n *ngFor=\"let col of row; let colIndex = index\"\n [ngStyle]=\"{\n width: tableConfig()?.colConfig[colIndex]?.style?.width || tableConfig()?.colHeaderConfig[colIndex]?.style?.width || ''\n }\"\n class=\"t-col-container\"\n [ngClass]=\"{ 't-col-container-hover': tableConfig().cellHover }\"\n >\n <div\n class=\"t-col\"\n [style]=\"tableConfig().colConfig[colIndex]?.style\"\n [ngStyle]=\"{\n width: '100%',\n cursor: tableConfig().colConfig[colIndex]?.action ? 'pointer' : 'default',\n 'justify-content': tableConfig().colConfig[colIndex]?.style?.justifyContent\n ? tableConfig().colConfig[colIndex]?.style?.justifyContent\n : tableConfig().colConfig[colIndex]?.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <div\n *ngIf=\"tableConfig().colConfig[colIndex]?.type !== 'custom' && tableConfig().colConfig[colIndex]?.type !== 'actions'\"\n [ngStyle]=\"{\n color: tableConfig()?.colConfig[colIndex]?.style?.color || '',\n '--collapsed-lines': previewLines() || 3\n }\"\n [ngClass]=\"{\n 'collapsed-cell': collapseColIndex() == colIndex && expandedMap()[rowIndex]\n }\"\n class=\"t-col-text\"\n >\n <!-- Render as HTML -->\n <ng-container *ngIf=\"tableConfig().colConfig[colIndex]?.type === 'html'; else plainText\">\n <span [innerHTML]=\"col\"></span>\n </ng-container>\n \n <!-- Render as plain text -->\n <ng-template #plainText>\n <span>{{ col }}</span>\n </ng-template>\n </div>\n \n <ng-template\n *ngIf=\"tableConfig().colConfig[colIndex]?.type === 'custom'\"\n [customComponent]=\"tableConfig().colConfig[colIndex].componentRef\"\n [data]=\"col\"\n customTableCell\n ></ng-template>\n <mis-actions-cell\n *ngIf=\"tableConfig().colConfig[colIndex]?.type === 'actions'\"\n [cellData]=\"col\"\n [config]=\"tableConfig().colConfig[colIndex]\"\n (actionClick)=\"onActionClick($event, rowIndex)\"\n [ngClass]=\"{\n 'disable-actions': (tableConfig().colConfig[colIndex]?.actionType === 'checkbox' || tableConfig().colConfig[colIndex]?.actionType === 'row-collapse') && isRowDisabled(row)\n }\"\n ></mis-actions-cell>\n\n </div>\n </div>\n </div>\n <div *ngIf=\"tableConfig()?.canExpand && expandedIndex() === i\" class=\"sub-row\">\n <ng-container *ngIf=\"subTableDataLoading()\">\n <div [ngStyle]=\"{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '16px'\n }\">\n Loading...\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"!subTableDataLoading() && subTableData().length === 0\">\n <div [ngStyle]=\"{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '16px'\n }\">\n No Data Available...\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"!subTableDataLoading() && subTableData().length > 0\">\n <sub-table [config]=\"subTableconfig()\" [tableData]=\"subTableData()\"></sub-table>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"tableConfig()?.paginationConfig && (tableLength() >= tableConfig().paginationConfig.rowsPerPage || tableConfig().paginationConfig?.selectedPage !== 1)\"\n id=\"pagination-container\"\n >\n <p id=\"pagination-text\">\n Showing\n {{ (tableConfig().paginationConfig?.selectedPage - 1) * tableConfig().paginationConfig.rowsPerPage + 1 }}-{{\n (tableConfig().paginationConfig?.selectedPage - 1) * tableConfig().paginationConfig.rowsPerPage + tableLength()\n }}\n of {{ tableConfig().paginationConfig.totalNoOfRows }} items\n </p>\n <div id=\"pages-container\">\n <span (click)=\"tableConfig().paginationConfig?.selectedPage > 1 && updateSelectedPage(tableConfig().paginationConfig?.selectedPage - 1)\" class=\"page\" [class.page-nav-inactive]=\"tableConfig().paginationConfig?.selectedPage === 1\">\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 7 10\" width=\"7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M0.857405 5.56295C0.855794 5.56139 0.854188 5.55982 0.852588 5.55824C0.695955 5.40408 0.617641 5.20203 0.617647 4.99998C0.617641 4.79793 0.695955 4.59588 0.852588 4.44172C0.854188 4.44014 0.855794 4.43858 0.857404 4.43702L5.13066 0.231231C5.44392 -0.0770771 5.9518 -0.0770771 6.26506 0.231231C6.57831 0.53954 6.57831 1.03941 6.26506 1.34772L2.5542 4.99998L6.26506 8.65225C6.57831 8.96055 6.57831 9.46042 6.26506 9.76873C5.9518 10.077 5.44392 10.077 5.13066 9.76873L0.857405 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <!-- Page numbers (only show if disablePageJumping is false) -->\n <ng-container *ngIf=\"!tableConfig().paginationConfig?.disablePageJumping\">\n <div *ngFor=\"let pageNumber of pages()\">\n <span\n (click)=\"updateSelectedPage(pageNumber)\"\n *ngIf=\"pageNumber != 0\"\n [ngClass]=\"{ 'page-active': pageNumber == tableConfig().paginationConfig?.selectedPage }\"\n class=\"page page-jumping-enabled\"\n >{{ pageNumber }}</span>\n <span *ngIf=\"pageNumber == 0\" class=\"page-seperator\">\n <div [ngStyle]=\"{ display: 'flex' }\">\n <span class=\"dot\" [ngStyle]=\"{ 'margin-right': '4px' }\"></span>\n <span class=\"dot\" [ngStyle]=\"{ 'margin-right': '4px' }\"></span>\n <span class=\"dot\"></span>\n </div> \n </span>\n </div>\n </ng-container>\n \n <span [class.page-nav-inactive]=\"tableConfig().paginationConfig?.selectedPage === tableConfig().paginationConfig?.noOfPages\"\n (click)=\"tableConfig().paginationConfig?.selectedPage < tableConfig().paginationConfig?.noOfPages && updateSelectedPage(tableConfig().paginationConfig?.selectedPage + 1)\" class=\"page\">\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 7 10\" width=\"7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M6.1426 5.56295C6.14421 5.56139 6.14581 5.55982 6.14741 5.55824C6.30405 5.40408 6.38236 5.20203 6.38236 4.99998C6.38236 4.79793 6.30405 4.59588 6.14741 4.44172C6.14581 4.44014 6.14421 4.43858 6.1426 4.43702L1.86934 0.231231C1.55608 -0.0770771 1.0482 -0.0770771 0.734942 0.231231C0.421688 0.53954 0.421688 1.03941 0.734942 1.34772L4.4458 4.99998L0.734941 8.65225C0.421686 8.96055 0.421686 9.46042 0.734941 9.76873C1.0482 10.077 1.55608 10.077 1.86934 9.76873L6.1426 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n </div>\n </div>\n</div>\n", styles: ["#main-container{font-family:Lato,sans-serif;position:relative}.no-scrollbar::-webkit-scrollbar{width:0}.scrollbar::-webkit-scrollbar{width:8px;height:8px;border-radius:15px}.scrollbar::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB);border-radius:15px}#table-container{height:inherit;overflow-y:auto}.scroll-horizontally{height:inherit;width:fit-content;overflow-y:unset!important;overflow-x:visible}#col-headers-container{display:flex;align-items:center;position:sticky;background-color:var(--bg-primary, #FFFFFF);width:100%;z-index:1;min-height:44px;border-bottom:1px solid var(--border-primary, #E0E0E0);top:0;left:0;right:0}.col-header{padding:0 16px;display:flex;align-items:center;height:100%}.col-header-text{font-style:normal;font-weight:700;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.sort-icon{display:flex;justify-content:center;align-items:center}.filter-icon{margin-left:8px;padding:0 8px;position:relative;cursor:pointer}#filter-active{height:8px;width:8px;background:var(--brand-accent, #10ADAE);border-radius:50%;position:absolute;top:4px;right:4px}.sub-row{height:auto;border-bottom:none}.loader ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:var(--brand-primary, #0937B2)}.t-row{display:flex;min-height:44px;background-color:var(--bg-primary, #FFFFFF);width:100%;border-bottom:1px solid var(--border-primary, #E0E0E0)}.t-row:hover{background-color:var(--brand-primary-hover, #F0F3FA)}.active-row{background-color:var(--brand-primary-active, #DAE1F3)}.t-col-container{padding:0 16px;overflow-wrap:anywhere;min-width:0}.t-row-hover:hover{background-color:#0000}.t-col-container-hover:hover{background-color:var(--brand-primary-active, #DAE1F3)}.t-col-container-hover:first-child{border-left:1px solid var(--border-primary, #E0E0E0)}.t-col-container-hover{border-right:1px solid var(--border-primary, #E0E0E0)}.t-col{display:flex;align-items:center;height:100%}.t-col-text{font-style:normal;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}#pagination-container{display:flex;justify-content:flex-end;align-items:center;height:56px}#pagination-text{font-style:normal;font-weight:400;font-size:12px;line-height:18px;letter-spacing:.4px;color:var(--text-secondary, #6A737D);margin:0 56px 0 0}#pages-container{display:flex;margin-right:32px}.page{display:flex;justify-content:center;align-items:center;box-sizing:border-box;border-radius:4px;width:32px;height:32px;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-secondary, #6A737D);margin-right:8px;cursor:pointer}.page.page-jumping-enabled{border:1px solid var(--text-secondary, #6A737D)}.page-seperator{display:flex;justify-content:center;align-items:center;width:32px;height:32px;margin-right:8px}.dot{height:3px;width:3px;border-radius:50%;background:var(--text-secondary, #6A737D)}.page-active{color:var(--brand-primary, #0937B2);border:1px solid var(--brand-primary, #0937B2)}.sort-icon{display:inline-flex;align-items:center;margin-left:4px;cursor:pointer}.sort-icon img{width:16px;height:16px;transition:opacity .2s ease}.sort-icon img:hover{opacity:.8}.disabled-row .t-col-container{opacity:.4;pointer-events:none}.disabled-row .t-col-container:has(mis-actions-cell){opacity:1;pointer-events:auto}.row{transition:background-color .2s}.row:hover:not(.disabled-row),.row.selected:not(.disabled-row){background-color:var(--brand-primary-active, #DAE1F3)}.disabled-row .t-col-container{pointer-events:none;opacity:.4}.disabled-row .t-col-container:has(mis-actions-cell){pointer-events:auto!important;opacity:1!important;color:inherit!important}mis-actions-cell.disable-actions{pointer-events:none;opacity:.4;filter:grayscale(.5)}.page-nav-inactive{pointer-events:none;opacity:.5;cursor:default}.collapsed-cell{overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;display:block;@supports (-webkit-line-clamp: 2){display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:var(--collapsed-lines, 2);white-space:normal!important}}\n"] }]
721
- }], () => [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }], { filter: [{
829
+ args: [{ selector: "mis-table", template: "<div\n [ngStyle]=\"{\n height: getContainerHeight(),\n width: getContainerWidth(),\n 'overflow-x': tableConfig().canScrollHorizontally ? 'auto' : 'unset'\n }\"\n id=\"main-container\"\n>\n <mis-table-filter\n #filter\n (filtersApplied)=\"updateAppliedFilters($event)\"\n *ngIf=\"showFilter()\"\n [containerStyles]=\"filterContainerStyles()\"\n [filtersData]=\"filterData()\"\n ></mis-table-filter>\n <div\n #table\n id=\"table-container\"\n [ngClass]=\"{ 'no-scrollbar': expandedIndex() < 0, scrollbar: !(expandedIndex() < 0), 'scroll-horizontally': tableConfig().canScrollHorizontally }\"\n >\n <div\n [ngStyle]=\"getColHeadersRowStyles()\"\n id=\"col-headers-container\"\n >\n <div\n #colHeaderRef\n (click)=\"colHeader?.action ? colHeader?.action(colHeader) : null\"\n *ngFor=\"let colHeader of tableConfig()?.colHeaderConfig\"\n class=\"col-header\"\n [ngStyle]=\"{\n width: colHeader?.style?.width || '',\n cursor: colHeader.action ? 'pointer' : 'default',\n 'justify-content': colHeader?.style?.justifyContent\n ? colHeader?.style?.justifyContent\n : colHeader.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <p *ngIf=\"colHeader?.type !== 'custom' && colHeader?.type !== 'checkbox'\" class=\"col-header-text\">\n {{ colHeader?.data || \" \" }}\n </p>\n <span\n (click)=\"filterData.set(colHeader.filters); toggleFilter(colHeader.data); $event.stopPropagation()\"\n *ngIf=\"colHeader?.type !== 'custom' && colHeader?.filters && colHeader?.filters?.length > 0\"\n class=\"filter-icon\"\n >\n <span *ngIf=\"appliedFilters()[colHeader.data]?.length > 0\" id=\"filter-active\"></span>\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 13 10\" width=\"13\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M4.97546 10H7.64213V8H4.97546V10ZM0.308472 0V2H12.3085V0H0.308472ZM2.30847 6H10.3085V4H2.30847V6Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <span\n (click)=\"toggleCheckbox(); $event.stopPropagation()\"\n *ngIf=\"colHeader?.type === 'checkbox'\"\n class=\"checkbox-icon\"\n >\n <mis-checkbox [checked]=\"selectAllCheckbox()\"></mis-checkbox>\n </span>\n <span *ngIf=\"colHeader?.isSortable && !colHeader?.filters\" appSortIcons\n [column]=\"colHeader\"\n [activeSort]=\"currentSort()\"\n [activeSorts]=\"multiColumnSort()\"\n [multiColumnSort]=\"tableConfig().multiColumnSort\"\n (sortChange)=\"onSortChange($event)\"\n class=\"sort-icon\">\n </span>\n <ng-template *ngIf=\"colHeader?.type === 'custom'\" customTableCell [customComponent]=\"colHeader?.componentRef\" [data]=\"colHeader.data\"></ng-template>\n </div>\n </div>\n \n <div id=\"data-container\">\n <div class=\"row-wrapper\" *ngFor=\"let row of tableData(); let i = index; let rowIndex = index\">\n <div\n class=\"t-row\"\n [ngClass]=\"{ 't-row-hover': tableConfig().cellHover, 'active-row': activeRowIndex().includes(i) }\"\n [ngStyle]=\"{ 'min-height': tableConfig()?.rowConfig?.height ? tableConfig().rowConfig.height : '44px' }\"\n (click)=\"selectRow(i)\"\n [class.disabled-row]=\"isRowDisabled(row)\"\n >\n <div\n (click)=\"tableConfig()?.colConfig[colIndex]?.action && tableConfig()?.colConfig[colIndex]?.actionType !== 'checkbox' ? tableConfig()?.colConfig[colIndex]?.action(col) : null\"\n *ngFor=\"let col of row; let colIndex = index\"\n [ngStyle]=\"{\n width: tableConfig()?.colConfig[colIndex]?.style?.width || tableConfig()?.colHeaderConfig[colIndex]?.style?.width || ''\n }\"\n class=\"t-col-container\"\n [ngClass]=\"{ 't-col-container-hover': tableConfig().cellHover }\"\n >\n <div\n class=\"t-col\"\n [style]=\"tableConfig().colConfig[colIndex]?.style\"\n [ngStyle]=\"{\n width: '100%',\n cursor: tableConfig().colConfig[colIndex]?.action ? 'pointer' : 'default',\n 'justify-content': tableConfig().colConfig[colIndex]?.style?.justifyContent\n ? tableConfig().colConfig[colIndex]?.style?.justifyContent\n : tableConfig().colConfig[colIndex]?.type === 'number'\n ? 'flex-end'\n : 'space-between'\n }\"\n >\n <div\n *ngIf=\"tableConfig().colConfig[colIndex]?.type !== 'custom' && tableConfig().colConfig[colIndex]?.type !== 'actions'\"\n [ngStyle]=\"{\n color: tableConfig()?.colConfig[colIndex]?.style?.color || '',\n '--collapsed-lines': previewLines() || 3\n }\"\n [ngClass]=\"{\n 'collapsed-cell': collapseColIndex() == colIndex && expandedMap()[rowIndex]\n }\"\n class=\"t-col-text\"\n >\n <!-- Render as HTML -->\n <ng-container *ngIf=\"tableConfig().colConfig[colIndex]?.type === 'html'; else plainText\">\n <span [innerHTML]=\"col\"></span>\n </ng-container>\n \n <!-- Render as plain text -->\n <ng-template #plainText>\n <span>{{ col }}</span>\n </ng-template>\n </div>\n \n <ng-template\n *ngIf=\"tableConfig().colConfig[colIndex]?.type === 'custom'\"\n [customComponent]=\"tableConfig().colConfig[colIndex].componentRef\"\n [data]=\"col\"\n customTableCell\n ></ng-template>\n <mis-actions-cell\n *ngIf=\"tableConfig().colConfig[colIndex]?.type === 'actions'\"\n [cellData]=\"col\"\n [config]=\"tableConfig().colConfig[colIndex]\"\n (actionClick)=\"onActionClick($event, rowIndex)\"\n [ngClass]=\"{\n 'disable-actions': (tableConfig().colConfig[colIndex]?.actionType === 'checkbox' || tableConfig().colConfig[colIndex]?.actionType === 'row-collapse') && isRowDisabled(row)\n }\"\n ></mis-actions-cell>\n\n </div>\n </div>\n </div>\n <div *ngIf=\"tableConfig()?.canExpand && expandedIndex() === i\" class=\"sub-row\">\n <ng-container *ngIf=\"subTableDataLoading()\">\n <div [ngStyle]=\"{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '16px'\n }\">\n Loading...\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"!subTableDataLoading() && subTableData().length === 0\">\n <div [ngStyle]=\"{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '16px'\n }\">\n No Data Available...\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"!subTableDataLoading() && subTableData().length > 0\">\n <sub-table [config]=\"subTableconfig()\" [tableData]=\"subTableData()\"></sub-table>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n <div id=\"pagination-content-container\">\n @if(shouldShowPagination()){\n <div \n id=\"pagination-container\"\n >\n <p id=\"pagination-text\">\n Showing\n {{ (selectedPage() - 1) * tableConfig().paginationConfig.rowsPerPage + 1 }}-{{\n (selectedPage() - 1) * tableConfig().paginationConfig.rowsPerPage + tableLength()\n }}\n of {{ tableConfig().paginationConfig.totalNoOfRows }} items\n </p>\n @if(showPageSizeDropdown()) {\n <div class=\"page-size-selector\">\n <mis-dropdown\n [data]=\"pageSizeOptions()\"\n [selectedItem]=\"selectedPageSizeOption()\"\n [width]=\"'90px'\"\n [height]=\"'32px'\"\n [searchEnabled]=\"false\"\n [dropdownListHeight]=\"'100px'\"\n (onChange)=\"onPageSizeChange($event)\"\n class=\"page-size-dropdown\"\n ></mis-dropdown>\n </div>\n }\n <div id=\"pages-container\">\n <span (click)=\"selectedPage() > 1 && updateSelectedPage(selectedPage() - 1)\" class=\"page\" [class.page-nav-inactive]=\"selectedPage() === 1\">\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 7 10\" width=\"7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M0.857405 5.56295C0.855794 5.56139 0.854188 5.55982 0.852588 5.55824C0.695955 5.40408 0.617641 5.20203 0.617647 4.99998C0.617641 4.79793 0.695955 4.59588 0.852588 4.44172C0.854188 4.44014 0.855794 4.43858 0.857404 4.43702L5.13066 0.231231C5.44392 -0.0770771 5.9518 -0.0770771 6.26506 0.231231C6.57831 0.53954 6.57831 1.03941 6.26506 1.34772L2.5542 4.99998L6.26506 8.65225C6.57831 8.96055 6.57831 9.46042 6.26506 9.76873C5.9518 10.077 5.44392 10.077 5.13066 9.76873L0.857405 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n <!-- Page numbers (only show if disablePageJumping is false) -->\n <ng-container *ngIf=\"!tableConfig().paginationConfig?.disablePageJumping\">\n <div *ngFor=\"let pageNumber of pages()\">\n <span\n (click)=\"updateSelectedPage(pageNumber)\"\n *ngIf=\"pageNumber != 0\"\n [ngClass]=\"{ 'page-active': pageNumber === selectedPage() }\"\n class=\"page page-jumping-enabled\"\n >{{ pageNumber }}</span>\n <span *ngIf=\"pageNumber == 0\" class=\"page-seperator\">\n <div [ngStyle]=\"{ display: 'flex' }\">\n <span class=\"dot\" [ngStyle]=\"{ 'margin-right': '4px' }\"></span>\n <span class=\"dot\" [ngStyle]=\"{ 'margin-right': '4px' }\"></span>\n <span class=\"dot\"></span>\n </div> \n </span>\n </div>\n </ng-container>\n \n <span [class.page-nav-inactive]=\"selectedPage() === tableConfig().paginationConfig?.noOfPages\"\n (click)=\"selectedPage() < tableConfig().paginationConfig?.noOfPages && updateSelectedPage(selectedPage() + 1)\" class=\"page\">\n <svg fill=\"none\" height=\"10\" viewBox=\"0 0 7 10\" width=\"7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M6.1426 5.56295C6.14421 5.56139 6.14581 5.55982 6.14741 5.55824C6.30405 5.40408 6.38236 5.20203 6.38236 4.99998C6.38236 4.79793 6.30405 4.59588 6.14741 4.44172C6.14581 4.44014 6.14421 4.43858 6.1426 4.43702L1.86934 0.231231C1.55608 -0.0770771 1.0482 -0.0770771 0.734942 0.231231C0.421688 0.53954 0.421688 1.03941 0.734942 1.34772L4.4458 4.99998L0.734941 8.65225C0.421686 8.96055 0.421686 9.46042 0.734941 9.76873C1.0482 10.077 1.55608 10.077 1.86934 9.76873L6.1426 5.56295Z\"\n fill=\"#181F33\"\n fill-rule=\"evenodd\"\n />\n </svg>\n </span>\n </div>\n </div>\n }\n </div>\n</div>\n", styles: ["#main-container{font-family:Lato,sans-serif;position:relative}.no-scrollbar::-webkit-scrollbar{width:0}.scrollbar::-webkit-scrollbar{width:8px;height:8px;border-radius:15px}.scrollbar::-webkit-scrollbar-thumb{background:var(--text-tertiary, #929DAB);border-radius:15px}#table-container{height:inherit;overflow-y:auto}.scroll-horizontally{height:inherit;width:fit-content;overflow-y:unset!important;overflow-x:visible}#col-headers-container{display:flex;align-items:center;position:sticky;background-color:var(--bg-primary, #FFFFFF);width:100%;z-index:1;min-height:44px;border-bottom:1px solid var(--border-primary, #E0E0E0);top:0;left:0;right:0}.col-header{padding:0 16px;display:flex;align-items:center;height:100%}.col-header-text{font-style:normal;font-weight:700;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.sort-icon{display:flex;justify-content:center;align-items:center}.filter-icon{margin-left:8px;padding:0 8px;position:relative;cursor:pointer}#filter-active{height:8px;width:8px;background:var(--brand-accent, #10ADAE);border-radius:50%;position:absolute;top:4px;right:4px}.sub-row{height:auto;border-bottom:none}.loader ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:var(--brand-primary, #0937B2)}.t-row{display:flex;min-height:44px;background-color:var(--bg-primary, #FFFFFF);width:100%;border-bottom:1px solid var(--border-primary, #E0E0E0)}.t-row:hover{background-color:var(--brand-primary-hover, #F0F3FA)}.active-row{background-color:var(--brand-primary-active, #DAE1F3)}.t-col-container{padding:0 16px;overflow-wrap:anywhere;min-width:0}.t-row-hover:hover{background-color:#0000}.t-col-container-hover:hover{background-color:var(--brand-primary-active, #DAE1F3)}.t-col-container-hover:first-child{border-left:1px solid var(--border-primary, #E0E0E0)}.t-col-container-hover{border-right:1px solid var(--border-primary, #E0E0E0)}.t-col{display:flex;align-items:center;height:100%}.t-col-text{font-style:normal;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;letter-spacing:.2px;margin:0}.text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}#pagination-container,#pagination-content-container{display:flex;justify-content:flex-end;align-items:center;height:56px}#pagination-text{font-style:normal;font-weight:400;font-size:12px;line-height:18px;letter-spacing:.4px;color:var(--text-secondary, #6A737D);margin:0 16px 0 0}#pages-container{display:flex;margin-right:32px}.page{display:flex;justify-content:center;align-items:center;box-sizing:border-box;border-radius:4px;width:32px;height:32px;font-size:14px;line-height:20px;letter-spacing:.2px;color:var(--text-secondary, #6A737D);margin-right:8px;cursor:pointer}.page.page-jumping-enabled{border:1px solid var(--text-secondary, #6A737D)}.page-seperator{display:flex;justify-content:center;align-items:center;width:32px;height:32px;margin-right:8px}.dot{height:3px;width:3px;border-radius:50%;background:var(--text-secondary, #6A737D)}.page-active{color:var(--brand-primary, #0937B2);border:1px solid var(--brand-primary, #0937B2)}.sort-icon{display:inline-flex;align-items:center;margin-left:4px;cursor:pointer}.sort-icon img{width:16px;height:16px;transition:opacity .2s ease}.sort-icon img:hover{opacity:.8}.disabled-row .t-col-container{opacity:.4;pointer-events:none}.disabled-row .t-col-container:has(mis-actions-cell){opacity:1;pointer-events:auto}.row{transition:background-color .2s}.row:hover:not(.disabled-row),.row.selected:not(.disabled-row){background-color:var(--brand-primary-active, #DAE1F3)}.disabled-row .t-col-container{pointer-events:none;opacity:.4}.disabled-row .t-col-container:has(mis-actions-cell){pointer-events:auto!important;opacity:1!important;color:inherit!important}mis-actions-cell.disable-actions{pointer-events:none;opacity:.4;filter:grayscale(.5)}.page-nav-inactive{pointer-events:none;opacity:.5;cursor:default}.page-size-selector{display:flex;align-items:center;gap:8px;margin-right:16px}.collapsed-cell{overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;display:block}@supports (-webkit-line-clamp: 2){.collapsed-cell{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:var(--collapsed-lines, 2);white-space:normal!important}}\n"] }]
830
+ }], () => [{ type: i0.Renderer2 }], { filter: [{
722
831
  type: ViewChild,
723
832
  args: ["filter"]
724
833
  }], colHeaders: [{
@@ -1176,6 +1285,18 @@ class SortIconsDirective {
1176
1285
  this.multiSortChange = output();
1177
1286
  // Internal state as signals
1178
1287
  this.currentDirection = signal('');
1288
+ // Watch for changes in activeSort, activeSorts, and currentDirection signals
1289
+ // Signal inputs don't trigger ngOnChanges, so we need to use effect()
1290
+ effect(() => {
1291
+ // Access the signals to create a dependency (we don't need to store the values)
1292
+ this.activeSort();
1293
+ this.activeSorts();
1294
+ this.currentDirection(); // Also watch internal direction changes
1295
+ // Update icon styles when signals change (only after icons are created)
1296
+ if (this.upIcon && this.downIcon) {
1297
+ this.updateIconStyles();
1298
+ }
1299
+ });
1179
1300
  }
1180
1301
  ngOnInit() {
1181
1302
  // Create a container for the icons
@@ -1271,10 +1392,17 @@ class SortIconsDirective {
1271
1392
  }
1272
1393
  }
1273
1394
  updateSingleColumnIconStyles() {
1274
- const isActiveColumn = this.activeSort()?.column === this.column()?.data;
1395
+ // Check both parent's activeSort AND internal currentDirection
1396
+ // Parent's activeSort may not be updated immediately, so we also check internal state
1397
+ const parentActiveSort = this.activeSort();
1398
+ const isActiveColumnFromParent = parentActiveSort?.column === this.column()?.data;
1399
+ const internalDirection = this.currentDirection();
1400
+ const isActiveColumn = isActiveColumnFromParent || (internalDirection !== '');
1275
1401
  setTimeout(() => {
1276
- this.renderer?.setStyle(this.upIcon, 'opacity', isActiveColumn && this.currentDirection() === 'ASC' ? '1' : '0.5');
1277
- this.renderer?.setStyle(this.downIcon, 'opacity', isActiveColumn && this.currentDirection() === 'DESC' ? '1' : '0.5');
1402
+ // Use parent's direction if available, otherwise use internal direction
1403
+ const activeDirection = parentActiveSort?.direction || internalDirection;
1404
+ this.renderer?.setStyle(this.upIcon, 'opacity', isActiveColumn && activeDirection === 'ASC' ? '1' : '0.5');
1405
+ this.renderer?.setStyle(this.downIcon, 'opacity', isActiveColumn && activeDirection === 'DESC' ? '1' : '0.5');
1278
1406
  }, 0);
1279
1407
  }
1280
1408
  updateMultiColumnIconStyles() {
@@ -1696,7 +1824,7 @@ class TableModule {
1696
1824
  }
1697
1825
  static { this.ɵfac = function TableModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TableModule)(); }; }
1698
1826
  static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: TableModule }); }
1699
- static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule] }); }
1827
+ static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule, DropdownModule] }); }
1700
1828
  }
1701
1829
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableModule, [{
1702
1830
  type: NgModule,
@@ -1709,7 +1837,7 @@ class TableModule {
1709
1837
  SortIconsDirective,
1710
1838
  ActionsCellComponent
1711
1839
  ],
1712
- imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule],
1840
+ imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule, DropdownModule],
1713
1841
  exports: [
1714
1842
  TableComponent,
1715
1843
  SubTableComponent,
@@ -1725,13 +1853,13 @@ class TableModule {
1725
1853
  TableFilterComponent,
1726
1854
  CustomTableCellDirective,
1727
1855
  SortIconsDirective,
1728
- ActionsCellComponent], imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule], exports: [TableComponent,
1856
+ ActionsCellComponent], imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule, DropdownModule], exports: [TableComponent,
1729
1857
  SubTableComponent,
1730
1858
  TableFilterComponent,
1731
1859
  CustomTableCellDirective,
1732
1860
  SortIconsDirective,
1733
1861
  ActionsCellComponent] }); })();
1734
- i0.ɵɵsetComponentScope(TableComponent, [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, i2$1.CheckboxComponent, SubTableComponent,
1862
+ i0.ɵɵsetComponentScope(TableComponent, [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, i2$1.CheckboxComponent, i3.DropdownComponent, SubTableComponent,
1735
1863
  TableFilterComponent,
1736
1864
  CustomTableCellDirective,
1737
1865
  SortIconsDirective,