@infineon/infineon-design-system-stencil 39.3.1--canary.2120.1c467763c53a3cb468accc942e4e88953b0b9626.0 → 39.3.1--canary.2118.a60360f4f6d6f0d6b993cc68d1be10f2536c481f.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/cjs/ifx-accordion.ifx-accordion-item.entry.cjs.js.map +1 -1
  2. package/dist/cjs/ifx-accordion_2.cjs.entry.js +13 -9
  3. package/dist/cjs/ifx-accordion_2.cjs.entry.js.map +1 -1
  4. package/dist/cjs/ifx-table.cjs.entry.js +309 -35
  5. package/dist/cjs/ifx-table.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ifx-table.entry.cjs.js.map +1 -1
  7. package/dist/cjs/infineon-design-system-stencil.cjs.js +1 -1
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/collection/components/accordion/accordionItem.css +2 -7
  10. package/dist/collection/components/accordion/accordionItem.js +12 -8
  11. package/dist/collection/components/accordion/accordionItem.js.map +1 -1
  12. package/dist/collection/components/table-advanced-version/checkboxCellRenderer.js +65 -0
  13. package/dist/collection/components/table-advanced-version/checkboxCellRenderer.js.map +1 -0
  14. package/dist/collection/components/table-advanced-version/checkboxHeaderRenderer.js +30 -0
  15. package/dist/collection/components/table-advanced-version/checkboxHeaderRenderer.js.map +1 -0
  16. package/dist/collection/components/table-advanced-version/interfaces.js +1 -0
  17. package/dist/collection/components/table-advanced-version/interfaces.js.map +1 -1
  18. package/dist/collection/components/table-advanced-version/table.css +38 -6
  19. package/dist/collection/components/table-advanced-version/table.js +266 -38
  20. package/dist/collection/components/table-advanced-version/table.js.map +1 -1
  21. package/dist/components/ifx-accordion-item.js +1 -1
  22. package/dist/components/ifx-faq.js +1 -1
  23. package/dist/components/ifx-table.js +315 -36
  24. package/dist/components/ifx-table.js.map +1 -1
  25. package/dist/components/{p-HW5T-MOX.js → p-D-Sn4Uj1.js} +15 -11
  26. package/dist/components/p-D-Sn4Uj1.js.map +1 -0
  27. package/dist/esm/ifx-accordion.ifx-accordion-item.entry.js.map +1 -1
  28. package/dist/esm/ifx-accordion_2.entry.js +13 -9
  29. package/dist/esm/ifx-accordion_2.entry.js.map +1 -1
  30. package/dist/esm/ifx-table.entry.js +309 -35
  31. package/dist/esm/ifx-table.entry.js.map +1 -1
  32. package/dist/esm/infineon-design-system-stencil.js +1 -1
  33. package/dist/esm/loader.js +1 -1
  34. package/dist/infineon-design-system-stencil/ifx-accordion.ifx-accordion-item.entry.esm.js.map +1 -1
  35. package/dist/infineon-design-system-stencil/ifx-table.entry.esm.js.map +1 -1
  36. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  37. package/dist/infineon-design-system-stencil/p-3244fc8c.entry.js +2 -0
  38. package/dist/infineon-design-system-stencil/p-3244fc8c.entry.js.map +1 -0
  39. package/dist/infineon-design-system-stencil/p-b7a8d6bb.entry.js +2 -0
  40. package/dist/infineon-design-system-stencil/p-b7a8d6bb.entry.js.map +1 -0
  41. package/dist/types/components/table-advanced-version/checkboxCellRenderer.d.ts +15 -0
  42. package/dist/types/components/table-advanced-version/checkboxHeaderRenderer.d.ts +14 -0
  43. package/dist/types/components/table-advanced-version/interfaces.d.ts +8 -0
  44. package/dist/types/components/table-advanced-version/table.d.ts +12 -1
  45. package/dist/types/components.d.ts +18 -8
  46. package/package.json +1 -1
  47. package/dist/components/p-HW5T-MOX.js.map +0 -1
  48. package/dist/infineon-design-system-stencil/p-1dfc25b4.entry.js +0 -2
  49. package/dist/infineon-design-system-stencil/p-1dfc25b4.entry.js.map +0 -1
  50. package/dist/infineon-design-system-stencil/p-e6eda861.entry.js +0 -2
  51. package/dist/infineon-design-system-stencil/p-e6eda861.entry.js.map +0 -1
@@ -1,3 +1,15 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s)
4
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
1
13
  import { h, Host } from "@stencil/core";
2
14
  import classNames from "classnames";
3
15
  import { trackComponent } from "../../global/utils/tracking";
@@ -5,6 +17,8 @@ import { isNestedInIfxComponent } from "../../global/utils/dom-utils";
5
17
  import { detectFramework } from "../../global/utils/framework-detection";
6
18
  import { createGrid } from "ag-grid-community";
7
19
  import { ButtonCellRenderer } from "./buttonCellRenderer";
20
+ import { CheckboxCellRenderer } from "./checkboxCellRenderer";
21
+ import { CheckboxHeaderRenderer } from "./checkboxHeaderRenderer";
8
22
  import { IconButtonCellRenderer } from "./iconButtonCellRenderer";
9
23
  import { LinkCellRenderer } from "./linkCellRenderer";
10
24
  import { StatusCellRenderer } from "./statusCellRenderer";
@@ -23,21 +37,64 @@ export class Table {
23
37
  this.pagination = true;
24
38
  this.paginationPageSize = 10;
25
39
  this.filterOrientation = 'sidebar';
26
- this.headline = "";
40
+ this.headline = '';
27
41
  this.showSidebarFilters = true;
28
42
  this.matchingResultsCount = 0;
29
43
  this.variant = 'default';
30
44
  this.serverSidePagination = false;
45
+ this.enableSelection = false;
46
+ this.selectedRows = new Set();
47
+ this.selectAll = false;
31
48
  this.showLoading = false;
32
49
  this.originalRowData = [];
33
50
  this.internalItemsPerPage = JSON.stringify([
34
51
  { value: 10, label: '10', selected: true },
35
52
  { value: 20, label: '20', selected: false },
36
- { value: 30, label: '30', selected: false }
53
+ { value: 30, label: '30', selected: false },
37
54
  ]);
55
+ this.handleSelectAll = (checked) => {
56
+ this.selectAll = checked;
57
+ if (checked) {
58
+ this.selectedRows = new Set(Array.from({ length: this.allRowData.length }, (_, i) => i));
59
+ }
60
+ else {
61
+ this.selectedRows = new Set();
62
+ }
63
+ this.updateCheckboxStates();
64
+ this.updateHeaderCheckboxState();
65
+ this.emitSelectionChange();
66
+ };
67
+ this.handleRowCheckboxClick = (params) => {
68
+ const clickedRowData = params.data;
69
+ const actualIndex = this.allRowData.findIndex(row => row.make === clickedRowData.make && row.model === clickedRowData.model && row.price === clickedRowData.price);
70
+ const newSelectedRows = new Set(this.selectedRows);
71
+ if (newSelectedRows.has(actualIndex)) {
72
+ newSelectedRows.delete(actualIndex);
73
+ }
74
+ else {
75
+ newSelectedRows.add(actualIndex);
76
+ }
77
+ this.selectedRows = newSelectedRows;
78
+ this.selectAll = newSelectedRows.size === this.allRowData.length;
79
+ this.updateCheckboxStates();
80
+ this.updateHeaderCheckboxState();
81
+ this.emitSelectionChange();
82
+ };
38
83
  }
39
84
  rowsChanged(_newVal) {
40
85
  const parsed = this.parseArrayInput(this.rows);
86
+ if (this.enableSelection) {
87
+ parsed.forEach((row, index) => {
88
+ var _a;
89
+ row.__checkbox = {
90
+ disabled: false,
91
+ checked: ((_a = this.selectedRows) === null || _a === void 0 ? void 0 : _a.has(index)) || false,
92
+ size: 's',
93
+ indeterminate: false,
94
+ error: false,
95
+ };
96
+ });
97
+ }
41
98
  this.currentFilters = {};
42
99
  this.currentPage = 1;
43
100
  this.originalRowData = [...parsed];
@@ -96,6 +153,12 @@ export class Table {
96
153
  this.gridApi.setColumnDefs(this.colData);
97
154
  }
98
155
  }
156
+ onCheckboxRendererOptionsChanged() {
157
+ this.colData = this.getColData();
158
+ if (this.gridApi) {
159
+ this.gridApi.setColumnDefs(this.colData);
160
+ }
161
+ }
99
162
  parseArrayInput(input) {
100
163
  if (typeof input === 'string') {
101
164
  try {
@@ -123,6 +186,20 @@ export class Table {
123
186
  }
124
187
  this.filterOptions = options;
125
188
  }
189
+ updateHeaderCheckboxState() {
190
+ if (this.gridApi && this.enableSelection) {
191
+ setTimeout(() => {
192
+ var _a;
193
+ const headerCheckbox = (_a = this.container) === null || _a === void 0 ? void 0 : _a.querySelector('.ag-header-cell[col-id="__checkbox"] ifx-checkbox');
194
+ if (headerCheckbox) {
195
+ const allSelected = this.selectedRows.size === this.allRowData.length && this.allRowData.length > 0;
196
+ const someSelected = this.selectedRows.size > 0 && this.selectedRows.size < this.allRowData.length;
197
+ headerCheckbox.checked = allSelected;
198
+ headerCheckbox.indeterminate = someSelected;
199
+ }
200
+ }, 0);
201
+ }
202
+ }
126
203
  handleSidebarFilterChange(event) {
127
204
  const filterGroups = event.detail;
128
205
  const updatedFilters = {};
@@ -222,14 +299,26 @@ export class Table {
222
299
  if (this.serverSidePagination && this.serverPageChangeHandler) {
223
300
  const { rows, total } = await this.serverPageChangeHandler({
224
301
  page: this.currentPage,
225
- pageSize: this.paginationPageSize
302
+ pageSize: this.paginationPageSize,
226
303
  });
304
+ if (this.enableSelection) {
305
+ rows.forEach((row, index) => {
306
+ var _a;
307
+ const globalIndex = (this.currentPage - 1) * this.paginationPageSize + index;
308
+ row.__checkbox = {
309
+ disabled: false,
310
+ checked: ((_a = this.selectedRows) === null || _a === void 0 ? void 0 : _a.has(globalIndex)) || false,
311
+ size: 's',
312
+ indeterminate: false,
313
+ error: false,
314
+ };
315
+ });
316
+ }
227
317
  this.rowData = rows;
228
318
  this.matchingResultsCount = total;
229
319
  if (this.gridApi) {
230
320
  this.gridApi.setGridOption('rowData', rows);
231
321
  }
232
- // 👇 FIX: update pagination total
233
322
  const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');
234
323
  if (paginationElement) {
235
324
  paginationElement.setAttribute('total', total.toString());
@@ -239,6 +328,24 @@ export class Table {
239
328
  const startIndex = (this.currentPage - 1) * this.paginationPageSize;
240
329
  const endIndex = startIndex + this.paginationPageSize;
241
330
  const visibleRowData = this.allRowData.slice(startIndex, endIndex);
331
+ if (this.enableSelection) {
332
+ visibleRowData.forEach((row, index) => {
333
+ var _a, _b;
334
+ const globalIndex = startIndex + index;
335
+ if (!row.__checkbox) {
336
+ row.__checkbox = {
337
+ disabled: false,
338
+ checked: ((_a = this.selectedRows) === null || _a === void 0 ? void 0 : _a.has(globalIndex)) || false,
339
+ size: 's',
340
+ indeterminate: false,
341
+ error: false,
342
+ };
343
+ }
344
+ else {
345
+ row.__checkbox.checked = ((_b = this.selectedRows) === null || _b === void 0 ? void 0 : _b.has(globalIndex)) || false;
346
+ }
347
+ });
348
+ }
242
349
  this.rowData = visibleRowData;
243
350
  this.matchingResultsCount = this.allRowData.length;
244
351
  if (this.gridApi) {
@@ -274,8 +381,15 @@ export class Table {
274
381
  this.colData = this.getColData();
275
382
  this.updateFilterOptions();
276
383
  this.gridOptions = {
384
+ suppressCellFocus: true,
277
385
  rowHeight: this.rowHeight === 'default' ? 40 : 32,
278
386
  headerHeight: 40,
387
+ components: {
388
+ checkboxCellRenderer: CheckboxCellRenderer,
389
+ checkboxHeaderRenderer: CheckboxHeaderRenderer,
390
+ customLoadingOverlay: CustomLoadingOverlay,
391
+ customNoRowsOverlay: CustomNoRowsOverlay,
392
+ },
279
393
  defaultColDef: {
280
394
  resizable: true,
281
395
  autoHeight: true,
@@ -288,23 +402,23 @@ export class Table {
288
402
  loadingOverlayComponent: CustomLoadingOverlay,
289
403
  noRowsOverlayComponent: CustomNoRowsOverlay,
290
404
  noRowsOverlayComponentParams: {
291
- noRowsMessageFunc: () => 'No rows found' //at: ' + new Date().toLocaleTimeString(),
405
+ noRowsMessageFunc: () => 'No rows found', //at: ' + new Date().toLocaleTimeString(),
292
406
  },
293
407
  icons: {
294
408
  sortAscending: '<ifx-icon icon="arrow-triangle-up-16"></ifx-icon>',
295
409
  sortDescending: '<ifx-icon icon="arrow-triangle-down-16"></ifx-icon>',
296
- sortUnSort: '<a class="unsort-icon-custom-color"><ifx-icon icon="arrow-triangle-vertikal-16"></ifx-icon></a>'
410
+ sortUnSort: '<a class="unsort-icon-custom-color"><ifx-icon icon="arrow-triangle-vertikal-16"></ifx-icon></a>',
297
411
  },
298
412
  rowDragManaged: this.colData.some(col => col.dndSource === true) ? true : false,
299
413
  animateRows: this.colData.some(col => col.dndSource === true) ? true : false,
300
- navigateToNextCell: (params) => {
414
+ navigateToNextCell: params => {
301
415
  return this.focusCellIfContainingButton(params.api, params.nextCellPosition);
302
416
  },
303
- tabToNextCell: (params) => {
417
+ tabToNextCell: params => {
304
418
  var _a;
305
419
  // Returning null is deprecated so we return false if the result is null (browser handles tab behavior).
306
420
  return (_a = this.focusCellIfContainingButton(params.api, params.nextCellPosition)) !== null && _a !== void 0 ? _a : false;
307
- }
421
+ },
308
422
  };
309
423
  }
310
424
  focusCellIfContainingButton(api, cellPosition) {
@@ -320,7 +434,7 @@ export class Table {
320
434
  }
321
435
  const cellRenderers = api.getCellRendererInstances({
322
436
  rowNodes: [rowNode],
323
- columns: [cellPosition.column]
437
+ columns: [cellPosition.column],
324
438
  });
325
439
  if (cellRenderers.length > 0) {
326
440
  const renderedContent = (_a = cellRenderers[0]) === null || _a === void 0 ? void 0 : _a.getGui();
@@ -329,8 +443,8 @@ export class Table {
329
443
  if (button) {
330
444
  setTimeout(() => {
331
445
  var _a;
332
- // Just calling button.focus() will not work because the focus of <ifx-button> will not be
333
- // forwared to its child <a>-element (containing the tabindex attribute) due to shadow root.
446
+ // Just calling button.focus() will not work because the focus of <ifx-button> will not be
447
+ // forwared to its child <a>-element (containing the tabindex attribute) due to shadow root.
334
448
  // We must therefore grab the <a>-element manually first and then call focus() on it.
335
449
  const focusableChild = (_a = button.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('a[tabindex]');
336
450
  focusableChild === null || focusableChild === void 0 ? void 0 : focusableChild.focus();
@@ -341,11 +455,6 @@ export class Table {
341
455
  }
342
456
  return cellPosition;
343
457
  }
344
- componentDidRender() {
345
- if (this.gridApi) {
346
- this.gridApi.setGridOption('columnDefs', this.colData);
347
- }
348
- }
349
458
  async componentDidLoad() {
350
459
  if (this.container) {
351
460
  if (!isNestedInIfxComponent(this.host)) {
@@ -402,7 +511,7 @@ export class Table {
402
511
  if (this.serverSidePagination && this.serverPageChangeHandler) {
403
512
  const { rows, total } = await this.serverPageChangeHandler({
404
513
  page: this.currentPage,
405
- pageSize: this.paginationPageSize
514
+ pageSize: this.paginationPageSize,
406
515
  });
407
516
  this.rowData = rows;
408
517
  this.matchingResultsCount = total;
@@ -446,12 +555,52 @@ export class Table {
446
555
  else {
447
556
  console.error('Unexpected value for rows: ', this.rows);
448
557
  }
558
+ if (this.enableSelection) {
559
+ rows.forEach((row, index) => {
560
+ var _a;
561
+ row.__checkbox = {
562
+ disabled: false,
563
+ checked: ((_a = this.selectedRows) === null || _a === void 0 ? void 0 : _a.has(index)) || false,
564
+ size: 's',
565
+ indeterminate: false,
566
+ error: false,
567
+ };
568
+ });
569
+ }
449
570
  this.allRowData = rows;
450
- this.originalRowData = [...rows]; // Deep copy the original data
571
+ this.originalRowData = [...rows];
451
572
  this.matchingResultsCount = this.allRowData.length;
452
573
  return rows.slice(0, this.paginationPageSize);
453
574
  }
575
+ updateCheckboxStates() {
576
+ this.allRowData.forEach((row, index) => {
577
+ if (row.__checkbox) {
578
+ row.__checkbox.checked = this.selectedRows.has(index);
579
+ }
580
+ });
581
+ if (this.gridApi) {
582
+ this.gridApi.refreshCells({
583
+ columns: ['__checkbox'],
584
+ force: true,
585
+ });
586
+ }
587
+ }
588
+ emitSelectionChange() {
589
+ const selectedRowsData = Array.from(this.selectedRows).map(index => {
590
+ const _a = this.allRowData[index], { __checkbox } = _a, rowData = __rest(_a, ["__checkbox"]);
591
+ return rowData;
592
+ });
593
+ this.host.dispatchEvent(new CustomEvent('ifxSelectionChange', {
594
+ detail: {
595
+ selectedRows: selectedRowsData,
596
+ selectedCount: selectedRowsData.length,
597
+ isSelectAll: this.selectedRows.size === this.allRowData.length && this.allRowData.length > 0,
598
+ },
599
+ bubbles: true,
600
+ }));
601
+ }
454
602
  getColData() {
603
+ var _a, _b;
455
604
  let cols = [];
456
605
  if (this.cols === undefined || this.cols === null)
457
606
  return cols;
@@ -464,8 +613,30 @@ export class Table {
464
613
  else {
465
614
  console.error('Unexpected value for cols: ', this.cols);
466
615
  }
616
+ if (this.enableSelection) {
617
+ const checkboxColumn = {
618
+ headerName: '',
619
+ field: '__checkbox',
620
+ width: 50,
621
+ pinned: 'left',
622
+ cellRenderer: 'checkboxCellRenderer',
623
+ cellRendererParams: {
624
+ onCheckboxClick: (_a = this.handleRowCheckboxClick) === null || _a === void 0 ? void 0 : _a.bind(this),
625
+ },
626
+ headerComponent: 'checkboxHeaderRenderer',
627
+ headerComponentParams: {
628
+ onSelectAll: (_b = this.handleSelectAll) === null || _b === void 0 ? void 0 : _b.bind(this),
629
+ },
630
+ sortable: false,
631
+ filter: false,
632
+ resizable: false,
633
+ valueFormatter: undefined,
634
+ cellDataType: false,
635
+ };
636
+ cols.unshift(checkboxColumn);
637
+ }
467
638
  cols.forEach(column => {
468
- var _a, _b, _c;
639
+ var _a, _b, _c, _d;
469
640
  const field = ((_a = column.field) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || '';
470
641
  // --- Button columns ---
471
642
  if (field.startsWith('button')) {
@@ -474,18 +645,29 @@ export class Table {
474
645
  column.cellDataType = false;
475
646
  if ((_b = this.buttonRendererOptions) === null || _b === void 0 ? void 0 : _b.onButtonClick) {
476
647
  column.cellRendererParams = {
477
- onButtonClick: this.buttonRendererOptions.onButtonClick
648
+ onButtonClick: this.buttonRendererOptions.onButtonClick,
649
+ };
650
+ }
651
+ }
652
+ // --- Checkbox columns ---
653
+ else if (field.startsWith('checkbox')) {
654
+ column.cellRenderer = CheckboxCellRenderer;
655
+ column.valueFormatter = undefined;
656
+ column.cellDataType = false;
657
+ if ((_c = this.checkboxRendererOptions) === null || _c === void 0 ? void 0 : _c.onCheckboxClick) {
658
+ column.cellRendererParams = {
659
+ onCheckboxClick: this.checkboxRendererOptions.onCheckboxClick,
478
660
  };
479
661
  }
480
662
  }
481
663
  // --- Icon Button columns ---
482
- if (field.startsWith('iconbutton') || field === 'iconButton') {
664
+ else if (field.startsWith('iconbutton') || field === 'iconButton') {
483
665
  column.cellRenderer = IconButtonCellRenderer;
484
666
  column.valueFormatter = undefined;
485
667
  column.cellDataType = false;
486
- if ((_c = this.iconButtonRendererOptions) === null || _c === void 0 ? void 0 : _c.onIconButtonClick) {
668
+ if ((_d = this.iconButtonRendererOptions) === null || _d === void 0 ? void 0 : _d.onIconButtonClick) {
487
669
  column.cellRendererParams = {
488
- onIconButtonClick: this.iconButtonRendererOptions.onIconButtonClick
670
+ onIconButtonClick: this.iconButtonRendererOptions.onIconButtonClick,
489
671
  };
490
672
  }
491
673
  }
@@ -509,9 +691,9 @@ export class Table {
509
691
  }
510
692
  handleResetButtonClick() {
511
693
  const resetEvent = new CustomEvent('ifxResetFiltersEvent', { bubbles: true, composed: true });
512
- window.dispatchEvent(resetEvent); // Dispatch from the window object
694
+ window.dispatchEvent(resetEvent);
513
695
  this.clearAllFilters();
514
- this.updateTableView(); // Update table view with the original data
696
+ this.updateTableView();
515
697
  }
516
698
  disconnectedCallback() {
517
699
  if (this.pagination) {
@@ -532,18 +714,16 @@ export class Table {
532
714
  let style = {};
533
715
  if (this.tableHeight !== 'auto') {
534
716
  style = {
535
- 'height': this.tableHeight
717
+ height: this.tableHeight,
536
718
  };
537
719
  }
538
- const filterClass = this.filterOrientation === 'topbar' ? 'topbar-layout'
539
- : this.filterOrientation === 'none' ? ''
540
- : 'sidebar-layout';
541
- return (h(Host, { key: '27a6fc8d0aba55265ecb19b211ec2de90e2a2457' }, h("div", { key: '2c76156cdf069fb813e894a5d0b29191635d9918', class: "table-container" }, this.filterOrientation === 'sidebar' && (h("div", { key: '8dd9e8e3ee5c73d457eb41343c3fc8edd8a928e2', class: "sidebar-btn" }, h("ifx-button", { key: 'ac5c3d072a0cbe2ec2c4e87e5435341c7a87a18c', type: "button", disabled: false, variant: "secondary", size: "m", target: "_blank", theme: "default", "full-width": "false", onClick: () => this.toggleSidebarFilters() }, h("ifx-icon", { key: '82f7f5927d83e559f3c37b4bbb1fa4343e705988', icon: "cross-16" }), this.showSidebarFilters ? 'Hide Filters' : 'Show Filters'))), h("div", { key: '49da17ae55641243e5406058412357d0ae671ed4', class: filterClass }, this.filterOrientation === 'sidebar' && this.showSidebarFilters && (h("div", { key: 'a9adedbc6ad9a36d801d443019e2ae69ac651173', class: "sidebar-container" }, h("div", { key: 'f7c3ecf64e5ad13f21f88db7aff3078147f17dc1', class: "filters-title-container" }, h("span", { key: 'f3fbc357e4121f41d265b49ce69c3f84ed51ac97', class: "filters-title" }, "Filters")), h("div", { key: 'fe269d6793a4694f8e7f398a2f96e91618d96307', class: "set-filter-wrapper-sidebar" }, (this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && (h("slot", { key: '11c69f58c3a62f82b6d9899c6904e20db45dc4d3', name: "sidebar-filter" }))))), this.filterOrientation !== 'none' && this.filterOrientation !== 'sidebar' && (h("div", { key: '4682c5cb399bf2d245e74ea605563cbeef96cd8f', class: "set-filter-wrapper-topbar" }, (this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && (h("slot", { key: 'f0632c6c3393d0226dcbbc87a886e1a611e11e3d', name: "topbar-filter" })))), h("div", { key: '34e72dd985a10b907dd549473539f2df626f115d', class: "table-pagination-wrapper" }, this.filterOrientation !== 'none' && this.filterOrientation !== 'topbar' && this.showSidebarFilters && (h("div", { key: 'cacf8434df1beb42c27f20837cb4a4e64e49a368', class: "filter-chips" }, Object.keys(this.currentFilters).map(name => {
720
+ const filterClass = this.filterOrientation === 'topbar' ? 'topbar-layout' : this.filterOrientation === 'none' ? '' : 'sidebar-layout';
721
+ return (h(Host, { key: 'e0098dd02b4af0e5793c8550f226e2b7e5521be9' }, h("div", { key: 'a90150e2f63203a218f3d5fc6bdc3cc7eedf9f7a', class: "table-container" }, this.filterOrientation === 'sidebar' && (h("div", { key: '774bfbd668bbd061b9d5f04ad037aa907b5d0e80', class: "sidebar-btn" }, h("ifx-button", { key: 'c29740ffb2524e2b4ffb8e53fc4084174f399f61', type: "button", disabled: false, variant: "secondary", size: "m", target: "_blank", theme: "default", "full-width": "false", onClick: () => this.toggleSidebarFilters() }, h("ifx-icon", { key: 'd454fd01ba96c842038a74eeac5d5a7439b1c39e', icon: "cross-16" }), this.showSidebarFilters ? 'Hide Filters' : 'Show Filters'))), h("div", { key: 'b2396efa47d38e773c533a59b63972e4f3888b12', class: filterClass }, this.filterOrientation === 'sidebar' && this.showSidebarFilters && (h("div", { key: '45e8b1c6024d9b9667954bc9045a9a521fa4a63c', class: "sidebar-container" }, h("div", { key: 'bb4b2c88a631dab51d12c104c4946696111ba5d1', class: "filters-title-container" }, h("span", { key: '38b9ef0e78df7b9d373cbf11988f308aac05aa25', class: "filters-title" }, "Filters")), h("div", { key: '83c0c0baf222e4c9e1fa10414e82754d918548e6', class: "set-filter-wrapper-sidebar" }, (this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && h("slot", { key: '2b5f82f1cfc8ddeaa451fee5e47a1e15883a63f9', name: "sidebar-filter" })))), this.filterOrientation !== 'none' && this.filterOrientation !== 'sidebar' && (h("div", { key: 'c0357801bb213e056f9f286224e24b741964e926', class: "set-filter-wrapper-topbar" }, (this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && h("slot", { key: '32b9c54a631062e3adaf5b0652b62de766f7b7fe', name: "topbar-filter" }))), h("div", { key: '108b83b06dfa9eabb53080422da6bb47631b3d21', class: "table-pagination-wrapper" }, this.filterOrientation !== 'none' && this.filterOrientation !== 'topbar' && this.showSidebarFilters && (h("div", { key: '1f81e356264ef25682bdf90506d3ea4218924952', class: "filter-chips" }, Object.keys(this.currentFilters).map(name => {
542
722
  const filter = this.currentFilters[name];
543
723
  const filterValues = filter.filterValues;
544
724
  const isMultiSelect = filter.type !== 'text';
545
- return filterValues.length > 0 ? (h("ifx-chip", { placeholder: name, size: "large", variant: isMultiSelect ? "multi" : "single", readOnly: true, value: filterValues, key: name }, filterValues.map(filterValue => (h("ifx-chip-item", { value: filterValue, selected: true, key: filterValue }, filterValue))))) : null;
546
- }))), h("div", { key: '14317c57593e26c7927f63ef8cf7bb1635f17d67', class: "headline-wrapper" }, this.filterOrientation !== 'none' && this.headline && (h("div", { key: '12e2ea5bc9a778955ce022ae807f6fda80dde0a0', class: "matching-results-container" }, h("span", { key: '99ecd580bff93a4f7f6711812b87d53b619d6b98', class: "matching-results-count" }, "(", this.matchingResultsCount, ")"), h("span", { key: '4a50a8783286c8320a2e4681df89c45d7e01a3ea', class: "matching-results-text" }, this.headline))), h("div", { key: '3a65a98fc3bcc23d1d963c2fdcd400334b86213b', class: "inner-buttons-wrapper" }, h("slot", { key: '4506a99c0eb657463aadaee87b6a454778a18671', name: 'inner-button' }))), h("div", { key: '1af7bca241e3f9b349fb1a8e3029598799a05335', id: "table-wrapper", class: this.getTableClassNames() }, h("div", { key: '0be595dd5bd835c089c5b09fd4d98612e7bc4043', id: `ifxTable-${this.uniqueKey}`, class: `ifx-ag-grid ${this.variant === 'zebra' ? 'zebra' : ""}`, style: style, ref: (el) => this.container = el })), h("div", { key: 'f955cecdda7e95f66a7e0dc45d639c56e3b1cdce', class: "pagination-wrapper" }, this.pagination ? h("ifx-pagination", { total: this.serverSidePagination ? this.matchingResultsCount : this.allRowData.length, "current-page": this.currentPage, "items-per-page": this.internalItemsPerPage }) : null))))));
725
+ return filterValues.length > 0 ? (h("ifx-chip", { placeholder: name, size: "large", variant: isMultiSelect ? 'multi' : 'single', readOnly: true, value: filterValues, key: name }, filterValues.map(filterValue => (h("ifx-chip-item", { value: filterValue, selected: true, key: filterValue }, filterValue))))) : null;
726
+ }))), h("div", { key: 'db3c92441413cf078fb2f7e3c164bcb6decc007e', class: "headline-wrapper" }, this.filterOrientation !== 'none' && this.headline && (h("div", { key: '22b7297f3e04fe372078ee7f8f7b734b91a8d867', class: "matching-results-container" }, h("span", { key: '303551b7a0e3fe629cca298e5769cbb0757e58f5', class: "matching-results-count" }, "(", this.matchingResultsCount, ")"), h("span", { key: '3fde248cc0c6e94b7ffe0cdab8e8129894c6145f', class: "matching-results-text" }, this.headline))), h("div", { key: '44ddfb0a8164ea5af8e7b1e1ae752337b75f5c04', class: "inner-buttons-wrapper" }, h("slot", { key: '4f94415ce3120732af9bff89d2987685bb1bfb24', name: "inner-button" }))), h("div", { key: 'baef68e56cc37873f2f8e6b6c9087d02c69e4e21', id: "table-wrapper", class: this.getTableClassNames() }, h("div", { key: 'f14aa21f5885a30044b631fd23de7ed0bc9282ca', id: `ifxTable-${this.uniqueKey}`, class: `ifx-ag-grid ${this.variant === 'zebra' ? 'zebra' : ''}`, style: style, ref: el => (this.container = el) })), h("div", { key: 'dbc3f04ad00e4f18918a9e4f19bf51706bba4b5f', class: "pagination-wrapper" }, this.pagination ? (h("ifx-pagination", { total: this.serverSidePagination ? this.matchingResultsCount : this.allRowData.length, "current-page": this.currentPage, "items-per-page": this.internalItemsPerPage })) : null))))));
547
727
  }
548
728
  hasButtonCol() {
549
729
  return this.getColData().some(column => column.field === 'button');
@@ -621,7 +801,7 @@ export class Table {
621
801
  "attribute": "button-renderer-options",
622
802
  "mutable": false,
623
803
  "complexType": {
624
- "original": "{ onButtonClick?: (params: any, event: Event) => void;}",
804
+ "original": "{ onButtonClick?: (params: any, event: Event) => void }",
625
805
  "resolved": "{ onButtonClick?: (params: any, event: Event) => void; }",
626
806
  "references": {
627
807
  "Event": {
@@ -644,7 +824,7 @@ export class Table {
644
824
  "attribute": "icon-button-renderer-options",
645
825
  "mutable": false,
646
826
  "complexType": {
647
- "original": "{ onIconButtonClick?: (params: any, event: Event) => void;}",
827
+ "original": "{ onIconButtonClick?: (params: any, event: Event) => void }",
648
828
  "resolved": "{ onIconButtonClick?: (params: any, event: Event) => void; }",
649
829
  "references": {
650
830
  "Event": {
@@ -662,6 +842,29 @@ export class Table {
662
842
  "getter": false,
663
843
  "setter": false
664
844
  },
845
+ "checkboxRendererOptions": {
846
+ "type": "unknown",
847
+ "attribute": "checkbox-renderer-options",
848
+ "mutable": false,
849
+ "complexType": {
850
+ "original": "{ onCheckboxClick?: (params: any, event: Event) => void }",
851
+ "resolved": "{ onCheckboxClick?: (params: any, event: Event) => void; }",
852
+ "references": {
853
+ "Event": {
854
+ "location": "global",
855
+ "id": "global::Event"
856
+ }
857
+ }
858
+ },
859
+ "required": false,
860
+ "optional": true,
861
+ "docs": {
862
+ "tags": [],
863
+ "text": ""
864
+ },
865
+ "getter": false,
866
+ "setter": false
867
+ },
665
868
  "rowHeight": {
666
869
  "type": "string",
667
870
  "attribute": "row-height",
@@ -779,7 +982,7 @@ export class Table {
779
982
  "getter": false,
780
983
  "setter": false,
781
984
  "reflect": false,
782
- "defaultValue": "\"\""
985
+ "defaultValue": "''"
783
986
  },
784
987
  "variant": {
785
988
  "type": "string",
@@ -826,7 +1029,7 @@ export class Table {
826
1029
  "attribute": "server-page-change-handler",
827
1030
  "mutable": false,
828
1031
  "complexType": {
829
- "original": "(params: { page: number, pageSize: number }) => Promise<{ rows: any[], total: number }>",
1032
+ "original": "(params: { page: number; pageSize: number }) => Promise<{ rows: any[]; total: number }>",
830
1033
  "resolved": "(params: { page: number; pageSize: number; }) => Promise<{ rows: any[]; total: number; }>",
831
1034
  "references": {
832
1035
  "Promise": {
@@ -844,6 +1047,26 @@ export class Table {
844
1047
  "getter": false,
845
1048
  "setter": false
846
1049
  },
1050
+ "enableSelection": {
1051
+ "type": "boolean",
1052
+ "attribute": "enable-selection",
1053
+ "mutable": false,
1054
+ "complexType": {
1055
+ "original": "boolean",
1056
+ "resolved": "boolean",
1057
+ "references": {}
1058
+ },
1059
+ "required": false,
1060
+ "optional": false,
1061
+ "docs": {
1062
+ "tags": [],
1063
+ "text": ""
1064
+ },
1065
+ "getter": false,
1066
+ "setter": false,
1067
+ "reflect": false,
1068
+ "defaultValue": "false"
1069
+ },
847
1070
  "showLoading": {
848
1071
  "type": "boolean",
849
1072
  "attribute": "show-loading",
@@ -876,7 +1099,9 @@ export class Table {
876
1099
  "uniqueKey": {},
877
1100
  "paginationPageSize": {},
878
1101
  "showSidebarFilters": {},
879
- "matchingResultsCount": {}
1102
+ "matchingResultsCount": {},
1103
+ "selectedRows": {},
1104
+ "selectAll": {}
880
1105
  };
881
1106
  }
882
1107
  static get methods() {
@@ -914,6 +1139,9 @@ export class Table {
914
1139
  }, {
915
1140
  "propName": "iconButtonRendererOptions",
916
1141
  "methodName": "onIconButtonRendererOptionsChanged"
1142
+ }, {
1143
+ "propName": "checkboxRendererOptions",
1144
+ "methodName": "onCheckboxRendererOptionsChanged"
917
1145
  }];
918
1146
  }
919
1147
  static get listeners() {