@infineon/infineon-design-system-stencil 39.4.4--canary.1723.a7c3c18a6cfecbe65eae90f774076a449ddb2a9e.0 → 39.4.4--canary.2134.cd83647d2771e1e22b8c6c80a0df75f24ca168b6.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 (235) hide show
  1. package/dist/cjs/{icons-BOElayqb.js → icons-B_27O3dI.js} +5 -20
  2. package/dist/cjs/icons-B_27O3dI.js.map +1 -0
  3. package/dist/cjs/ifx-action-list-item.cjs.entry.js +1 -2
  4. package/dist/cjs/ifx-action-list-item.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ifx-action-list-item.entry.cjs.js.map +1 -1
  6. package/dist/cjs/ifx-basic-table.cjs.entry.js +1 -2
  7. package/dist/cjs/ifx-basic-table.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ifx-basic-table.entry.cjs.js.map +1 -1
  9. package/dist/cjs/ifx-button.ifx-checkbox.ifx-chip.ifx-chip-item.ifx-icon.ifx-icon-button.ifx-indicator.ifx-pagination.ifx-select.ifx-table.entry.cjs.js.map +1 -0
  10. package/dist/cjs/ifx-button_10.cjs.entry.js +9551 -0
  11. package/dist/cjs/ifx-button_10.cjs.entry.js.map +1 -0
  12. package/dist/cjs/ifx-icons-preview.cjs.entry.js +1 -1
  13. package/dist/cjs/ifx-link.cjs.entry.js +1 -2
  14. package/dist/cjs/ifx-link.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ifx-link.entry.cjs.js.map +1 -1
  16. package/dist/cjs/ifx-search-field.cjs.entry.js +1 -2
  17. package/dist/cjs/ifx-search-field.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ifx-search-field.entry.cjs.js.map +1 -1
  19. package/dist/cjs/ifx-spinner.ifx-text-field.entry.cjs.js.map +1 -1
  20. package/dist/cjs/ifx-spinner_2.cjs.entry.js +1 -2
  21. package/dist/cjs/ifx-spinner_2.cjs.entry.js.map +1 -1
  22. package/dist/cjs/index-Dc5gCGlQ.js +2 -30
  23. package/dist/cjs/{index-CVw4GUo6.js → index-DihxupoM.js} +7 -4
  24. package/dist/{esm/index-Bt32KzDW.js.map → cjs/index-DihxupoM.js.map} +1 -1
  25. package/dist/cjs/infineon-design-system-stencil.cjs.js +1 -1
  26. package/dist/cjs/loader.cjs.js +1 -1
  27. package/dist/collection/components/table-advanced-version/table.js +87 -38
  28. package/dist/collection/components/table-advanced-version/table.js.map +1 -1
  29. package/dist/components/ifx-accordion-item.js +1 -1
  30. package/dist/components/ifx-alert.js +1 -1
  31. package/dist/components/ifx-breadcrumb-item-label.js +1 -1
  32. package/dist/components/ifx-checkbox-group.js +1 -1
  33. package/dist/components/ifx-checkbox.js +1 -1
  34. package/dist/components/ifx-chip-item.js +1 -1
  35. package/dist/components/ifx-chip.js +1 -1
  36. package/dist/components/ifx-date-picker.js +1 -1
  37. package/dist/components/ifx-dropdown-item.js +1 -1
  38. package/dist/components/ifx-dropdown-trigger-button.js +1 -1
  39. package/dist/components/ifx-faq.js +2 -2
  40. package/dist/components/ifx-file-upload.js +2 -2
  41. package/dist/components/ifx-filter-accordion.js +1 -1
  42. package/dist/components/ifx-filter-bar.js +1 -1
  43. package/dist/components/ifx-filter-search.js +2 -2
  44. package/dist/components/ifx-icon-button.js +1 -1
  45. package/dist/components/ifx-icon.js +1 -1
  46. package/dist/components/ifx-icons-preview.js +3 -3
  47. package/dist/components/ifx-list-entry.js +2 -2
  48. package/dist/components/ifx-list.js +1 -1
  49. package/dist/components/ifx-modal.js +2 -2
  50. package/dist/components/ifx-multiselect-option.js +1 -1
  51. package/dist/components/ifx-multiselect.js +1 -1
  52. package/dist/components/ifx-navbar-item.js +1 -1
  53. package/dist/components/ifx-navbar.js +1 -1
  54. package/dist/components/ifx-notification.js +1 -1
  55. package/dist/components/ifx-overview-table.js +1 -1
  56. package/dist/components/ifx-pagination.js +1 -1
  57. package/dist/components/ifx-radio-button-group.js +1 -1
  58. package/dist/components/ifx-search-bar.js +2 -2
  59. package/dist/components/ifx-search-field.js +1 -1
  60. package/dist/components/ifx-segment.js +1 -1
  61. package/dist/components/ifx-segmented-control.js +1 -1
  62. package/dist/components/ifx-select.js +1 -1
  63. package/dist/components/ifx-set-filter.js +7 -7
  64. package/dist/components/ifx-sidebar-item.js +1 -1
  65. package/dist/components/ifx-sidebar.js +1 -1
  66. package/dist/components/ifx-slider.js +1 -1
  67. package/dist/components/ifx-step.js +1 -1
  68. package/dist/components/ifx-table.js +93 -44
  69. package/dist/components/ifx-table.js.map +1 -1
  70. package/dist/components/ifx-tabs.js +2 -2
  71. package/dist/components/ifx-template.js +1 -1
  72. package/dist/components/ifx-templates-ui.js +5 -5
  73. package/dist/components/ifx-text-field.js +1 -1
  74. package/dist/components/ifx-tooltip.js +1 -1
  75. package/dist/components/ifx-tree-view-item.js +2 -2
  76. package/dist/components/{p-DD80oicI.js → p-4wfkxGlJ.js} +4 -4
  77. package/dist/components/{p-DD80oicI.js.map → p-4wfkxGlJ.js.map} +1 -1
  78. package/dist/components/{p-DkRZn47g.js → p-BG0cmSVP.js} +5 -5
  79. package/dist/components/{p-DkRZn47g.js.map → p-BG0cmSVP.js.map} +1 -1
  80. package/dist/components/{p-DlFdNq4F.js → p-BQj9WQQe.js} +3 -3
  81. package/dist/components/{p-DlFdNq4F.js.map → p-BQj9WQQe.js.map} +1 -1
  82. package/dist/components/{p-CbDS7fbn.js → p-CRSbKJxa.js} +3 -3
  83. package/dist/components/{p-CbDS7fbn.js.map → p-CRSbKJxa.js.map} +1 -1
  84. package/dist/components/{p-CIw3efEg.js → p-CcGE_f9F.js} +5 -5
  85. package/dist/components/{p-CIw3efEg.js.map → p-CcGE_f9F.js.map} +1 -1
  86. package/dist/components/{p-BVJl-hTu.js → p-CnXEcTdH.js} +3 -3
  87. package/dist/components/{p-BVJl-hTu.js.map → p-CnXEcTdH.js.map} +1 -1
  88. package/dist/components/{p-DX0ddaB9.js → p-DFInpODO.js} +3 -3
  89. package/dist/components/{p-DX0ddaB9.js.map → p-DFInpODO.js.map} +1 -1
  90. package/dist/components/{p-BnMuxXaP.js → p-DHLzWSzN.js} +3 -3
  91. package/dist/components/{p-BnMuxXaP.js.map → p-DHLzWSzN.js.map} +1 -1
  92. package/dist/components/{p-CKT_EeVj.js → p-DNZFFt4T.js} +3 -3
  93. package/dist/components/{p-CKT_EeVj.js.map → p-DNZFFt4T.js.map} +1 -1
  94. package/dist/components/{p-CLqzdlSR.js → p-DRqwZrk0.js} +3 -3
  95. package/dist/components/{p-CLqzdlSR.js.map → p-DRqwZrk0.js.map} +1 -1
  96. package/dist/components/{p-B2e3orJn.js → p-DhNY6ZGA.js} +5 -20
  97. package/dist/components/p-DhNY6ZGA.js.map +1 -0
  98. package/dist/components/{p-DCkKdm37.js → p-Djr4amRx.js} +4 -4
  99. package/dist/components/{p-DCkKdm37.js.map → p-Djr4amRx.js.map} +1 -1
  100. package/dist/components/{p-CYCBkVYd.js → p-F-WOWp_H.js} +3 -3
  101. package/dist/components/{p-CYCBkVYd.js.map → p-F-WOWp_H.js.map} +1 -1
  102. package/dist/components/{p-Enb5HFzA.js → p-esRQWwdS.js} +4 -4
  103. package/dist/components/{p-Enb5HFzA.js.map → p-esRQWwdS.js.map} +1 -1
  104. package/dist/components/{p-B2vrW4WM.js → p-v3vmQuAS.js} +3 -3
  105. package/dist/components/{p-B2vrW4WM.js.map → p-v3vmQuAS.js.map} +1 -1
  106. package/dist/esm/{icons-CjdLRP3d.js → icons-CmdmgBUp.js} +5 -20
  107. package/dist/esm/icons-CmdmgBUp.js.map +1 -0
  108. package/dist/esm/ifx-action-list-item.entry.js +1 -2
  109. package/dist/esm/ifx-action-list-item.entry.js.map +1 -1
  110. package/dist/esm/ifx-basic-table.entry.js +1 -2
  111. package/dist/esm/ifx-basic-table.entry.js.map +1 -1
  112. package/dist/esm/ifx-button.ifx-checkbox.ifx-chip.ifx-chip-item.ifx-icon.ifx-icon-button.ifx-indicator.ifx-pagination.ifx-select.ifx-table.entry.js.map +1 -0
  113. package/dist/esm/ifx-button_10.entry.js +9540 -0
  114. package/dist/esm/ifx-button_10.entry.js.map +1 -0
  115. package/dist/esm/ifx-icons-preview.entry.js +1 -1
  116. package/dist/esm/ifx-link.entry.js +1 -2
  117. package/dist/esm/ifx-link.entry.js.map +1 -1
  118. package/dist/esm/ifx-search-field.entry.js +1 -2
  119. package/dist/esm/ifx-search-field.entry.js.map +1 -1
  120. package/dist/esm/ifx-spinner.ifx-text-field.entry.js.map +1 -1
  121. package/dist/esm/ifx-spinner_2.entry.js +1 -2
  122. package/dist/esm/ifx-spinner_2.entry.js.map +1 -1
  123. package/dist/esm/{index-Bt32KzDW.js → index-Beav1bNT.js} +6 -4
  124. package/dist/{cjs/index-CVw4GUo6.js.map → esm/index-Beav1bNT.js.map} +1 -1
  125. package/dist/esm/index-PqnYwNKt.js +2 -30
  126. package/dist/esm/infineon-design-system-stencil.js +1 -1
  127. package/dist/esm/loader.js +1 -1
  128. package/dist/infineon-design-system-stencil/ifx-action-list-item.entry.esm.js.map +1 -1
  129. package/dist/infineon-design-system-stencil/ifx-basic-table.entry.esm.js.map +1 -1
  130. package/dist/infineon-design-system-stencil/ifx-button.ifx-checkbox.ifx-chip.ifx-chip-item.ifx-icon.ifx-icon-button.ifx-indicator.ifx-pagination.ifx-select.ifx-table.entry.esm.js.map +1 -0
  131. package/dist/infineon-design-system-stencil/ifx-link.entry.esm.js.map +1 -1
  132. package/dist/infineon-design-system-stencil/ifx-search-field.entry.esm.js.map +1 -1
  133. package/dist/infineon-design-system-stencil/ifx-spinner.ifx-text-field.entry.esm.js.map +1 -1
  134. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  135. package/dist/infineon-design-system-stencil/p-1b5dce92.entry.js +2 -0
  136. package/dist/infineon-design-system-stencil/{p-6e115707.entry.js.map → p-1b5dce92.entry.js.map} +1 -1
  137. package/dist/infineon-design-system-stencil/p-3f6242bc.entry.js +3 -0
  138. package/dist/infineon-design-system-stencil/p-3f6242bc.entry.js.map +1 -0
  139. package/dist/infineon-design-system-stencil/p-646620f9.entry.js +2 -0
  140. package/dist/infineon-design-system-stencil/{p-fcae5dc1.entry.js.map → p-646620f9.entry.js.map} +1 -1
  141. package/dist/infineon-design-system-stencil/{p-f85c9454.entry.js → p-6eb6af05.entry.js} +2 -2
  142. package/dist/infineon-design-system-stencil/p-6fd710a6.entry.js +2 -0
  143. package/dist/infineon-design-system-stencil/{p-169f26ae.entry.js.map → p-6fd710a6.entry.js.map} +1 -1
  144. package/dist/infineon-design-system-stencil/p-7b705420.entry.js +2 -0
  145. package/dist/infineon-design-system-stencil/{p-4fba0543.entry.js.map → p-7b705420.entry.js.map} +1 -1
  146. package/dist/infineon-design-system-stencil/p-81f0d6ad.entry.js +2 -0
  147. package/dist/infineon-design-system-stencil/{p-3d77ef02.entry.js.map → p-81f0d6ad.entry.js.map} +1 -1
  148. package/dist/infineon-design-system-stencil/{p-DMLRPGid.js → p-Beav1bNT.js} +3 -3
  149. package/dist/infineon-design-system-stencil/{p-DMLRPGid.js.map → p-Beav1bNT.js.map} +1 -1
  150. package/dist/infineon-design-system-stencil/p-CmdmgBUp.js +2 -0
  151. package/dist/infineon-design-system-stencil/p-CmdmgBUp.js.map +1 -0
  152. package/dist/types/components/table-advanced-version/table.d.ts +1 -0
  153. package/package.json +1 -1
  154. package/dist/cjs/_commonjsHelpers-CFO10eej.js +0 -10
  155. package/dist/cjs/_commonjsHelpers-CFO10eej.js.map +0 -1
  156. package/dist/cjs/icons-BOElayqb.js.map +0 -1
  157. package/dist/cjs/ifx-button.cjs.entry.js +0 -146
  158. package/dist/cjs/ifx-button.cjs.entry.js.map +0 -1
  159. package/dist/cjs/ifx-button.entry.cjs.js.map +0 -1
  160. package/dist/cjs/ifx-checkbox.cjs.entry.js +0 -125
  161. package/dist/cjs/ifx-checkbox.cjs.entry.js.map +0 -1
  162. package/dist/cjs/ifx-checkbox.entry.cjs.js.map +0 -1
  163. package/dist/cjs/ifx-chip.ifx-chip-item.ifx-pagination.entry.cjs.js.map +0 -1
  164. package/dist/cjs/ifx-chip_3.cjs.entry.js +0 -615
  165. package/dist/cjs/ifx-chip_3.cjs.entry.js.map +0 -1
  166. package/dist/cjs/ifx-icon-button.cjs.entry.js +0 -76
  167. package/dist/cjs/ifx-icon-button.cjs.entry.js.map +0 -1
  168. package/dist/cjs/ifx-icon-button.entry.cjs.js.map +0 -1
  169. package/dist/cjs/ifx-icon.cjs.entry.js +0 -127
  170. package/dist/cjs/ifx-icon.cjs.entry.js.map +0 -1
  171. package/dist/cjs/ifx-icon.entry.cjs.js.map +0 -1
  172. package/dist/cjs/ifx-indicator.cjs.entry.js +0 -42
  173. package/dist/cjs/ifx-indicator.cjs.entry.js.map +0 -1
  174. package/dist/cjs/ifx-indicator.entry.cjs.js.map +0 -1
  175. package/dist/cjs/ifx-select.cjs.entry.js +0 -7323
  176. package/dist/cjs/ifx-select.cjs.entry.js.map +0 -1
  177. package/dist/cjs/ifx-select.entry.cjs.js.map +0 -1
  178. package/dist/cjs/ifx-table.cjs.entry.js +0 -1118
  179. package/dist/cjs/ifx-table.cjs.entry.js.map +0 -1
  180. package/dist/cjs/ifx-table.entry.cjs.js.map +0 -1
  181. package/dist/components/p-B2e3orJn.js.map +0 -1
  182. package/dist/esm/_commonjsHelpers-B85MJLTf.js +0 -8
  183. package/dist/esm/_commonjsHelpers-B85MJLTf.js.map +0 -1
  184. package/dist/esm/icons-CjdLRP3d.js.map +0 -1
  185. package/dist/esm/ifx-button.entry.js +0 -144
  186. package/dist/esm/ifx-button.entry.js.map +0 -1
  187. package/dist/esm/ifx-checkbox.entry.js +0 -123
  188. package/dist/esm/ifx-checkbox.entry.js.map +0 -1
  189. package/dist/esm/ifx-chip.ifx-chip-item.ifx-pagination.entry.js.map +0 -1
  190. package/dist/esm/ifx-chip_3.entry.js +0 -611
  191. package/dist/esm/ifx-chip_3.entry.js.map +0 -1
  192. package/dist/esm/ifx-icon-button.entry.js +0 -74
  193. package/dist/esm/ifx-icon-button.entry.js.map +0 -1
  194. package/dist/esm/ifx-icon.entry.js +0 -125
  195. package/dist/esm/ifx-icon.entry.js.map +0 -1
  196. package/dist/esm/ifx-indicator.entry.js +0 -40
  197. package/dist/esm/ifx-indicator.entry.js.map +0 -1
  198. package/dist/esm/ifx-select.entry.js +0 -7321
  199. package/dist/esm/ifx-select.entry.js.map +0 -1
  200. package/dist/esm/ifx-table.entry.js +0 -1116
  201. package/dist/esm/ifx-table.entry.js.map +0 -1
  202. package/dist/infineon-design-system-stencil/ifx-button.entry.esm.js.map +0 -1
  203. package/dist/infineon-design-system-stencil/ifx-checkbox.entry.esm.js.map +0 -1
  204. package/dist/infineon-design-system-stencil/ifx-chip.ifx-chip-item.ifx-pagination.entry.esm.js.map +0 -1
  205. package/dist/infineon-design-system-stencil/ifx-icon-button.entry.esm.js.map +0 -1
  206. package/dist/infineon-design-system-stencil/ifx-icon.entry.esm.js.map +0 -1
  207. package/dist/infineon-design-system-stencil/ifx-indicator.entry.esm.js.map +0 -1
  208. package/dist/infineon-design-system-stencil/ifx-select.entry.esm.js.map +0 -1
  209. package/dist/infineon-design-system-stencil/ifx-table.entry.esm.js.map +0 -1
  210. package/dist/infineon-design-system-stencil/p-169f26ae.entry.js +0 -2
  211. package/dist/infineon-design-system-stencil/p-39561a49.entry.js +0 -2
  212. package/dist/infineon-design-system-stencil/p-39561a49.entry.js.map +0 -1
  213. package/dist/infineon-design-system-stencil/p-3d77ef02.entry.js +0 -2
  214. package/dist/infineon-design-system-stencil/p-4da5a2a5.entry.js +0 -2
  215. package/dist/infineon-design-system-stencil/p-4da5a2a5.entry.js.map +0 -1
  216. package/dist/infineon-design-system-stencil/p-4fba0543.entry.js +0 -2
  217. package/dist/infineon-design-system-stencil/p-5e3d0ff0.entry.js +0 -2
  218. package/dist/infineon-design-system-stencil/p-5e3d0ff0.entry.js.map +0 -1
  219. package/dist/infineon-design-system-stencil/p-5fb3eb8b.entry.js +0 -2
  220. package/dist/infineon-design-system-stencil/p-5fb3eb8b.entry.js.map +0 -1
  221. package/dist/infineon-design-system-stencil/p-6e115707.entry.js +0 -2
  222. package/dist/infineon-design-system-stencil/p-77e54475.entry.js +0 -2
  223. package/dist/infineon-design-system-stencil/p-77e54475.entry.js.map +0 -1
  224. package/dist/infineon-design-system-stencil/p-B85MJLTf.js +0 -2
  225. package/dist/infineon-design-system-stencil/p-B85MJLTf.js.map +0 -1
  226. package/dist/infineon-design-system-stencil/p-CjdLRP3d.js +0 -2
  227. package/dist/infineon-design-system-stencil/p-CjdLRP3d.js.map +0 -1
  228. package/dist/infineon-design-system-stencil/p-a85754a5.entry.js +0 -3
  229. package/dist/infineon-design-system-stencil/p-a85754a5.entry.js.map +0 -1
  230. package/dist/infineon-design-system-stencil/p-abd8bd80.entry.js +0 -2
  231. package/dist/infineon-design-system-stencil/p-abd8bd80.entry.js.map +0 -1
  232. package/dist/infineon-design-system-stencil/p-fcae5dc1.entry.js +0 -2
  233. package/dist/infineon-design-system-stencil/p-ff4cc197.entry.js +0 -2
  234. package/dist/infineon-design-system-stencil/p-ff4cc197.entry.js.map +0 -1
  235. /package/dist/infineon-design-system-stencil/{p-f85c9454.entry.js.map → p-6eb6af05.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["ButtonCellRenderer","init","params","this","createButton","getGui","eGui","refresh","updateButton","config","data","colDef","field","options","cellRendererParams","document","createElement","eButton","hasRequiredKeys","setButtonAttributes","appendChild","attachEventListener","textContent","String","detachEventListener","setAttribute","disabled","toString","variant","theme","type","size","fullWidth","target","href","text","eventListener","event","onButtonClick","addEventListener","removeEventListener","CheckboxCellRenderer","createCheckbox","updateCheckbox","style","display","alignItems","justifyContent","eCheckbox","setCheckboxAttributes","error","checked","indeterminate","onCheckboxClick","CheckboxHeaderRenderer","createHeader","Object","assign","detail","onSelectAll","IconButtonCellRenderer","createIconButton","updateIconButton","eIconButton","setIconButtonAttributes","shape","icon","onIconButtonClick","LinkCellRenderer","createLink","updateLink","_a","_b","value","_c","eLink","setLinkAttributes","download","StatusCellRenderer","render","cfg","el","label","color","border","CustomNoRowsOverlay","innerHTML","noRowsMessageFunc","_params","CustomLoadingOverlay","tableCss","Table","constructor","hostRef","currentPage","rowData","colData","filterOptions","currentFilters","allRowData","rowHeight","tableHeight","pagination","paginationPageSize","filterOrientation","headline","showSidebarFilters","matchingResultsCount","serverSidePagination","enableSelection","selectedRows","Set","selectAll","showLoading","originalRowData","internalItemsPerPage","JSON","stringify","selected","handleSelectAll","map","row","__rowId","updateCheckboxStates","updateHeaderCheckboxState","emitSelectionChange","handleRowCheckboxClick","clickedRowData","rowId","newSelectedRows","has","delete","add","length","rowsChanged","_newVal","parsed","parseArrayInput","rows","forEach","index","Date","now","Math","random","__checkbox","updateTableView","updateFilterOptions","colsChanged","getColData","gridApi","setGridOption","sizeColumnsToFit","defaultMinWidth","handleResultsPerPageChange","e","Number","handleChipChange","name","currentSelection","previousSelection","updatedFilters","customEvent","CustomEvent","filterName","bubbles","composed","host","dispatchEvent","filterValues","selection","applyAllFilters","onButtonRendererOptionsChanged","setColumnDefs","onIconButtonRendererOptionsChanged","onCheckboxRendererOptionsChanged","input","parse","Array","isArray","console","toggleSidebarFilters","col","setTimeout","headerCheckbox","container","querySelector","allSelected","someSelected","handleSidebarFilterChange","filterGroups","filterGroup","filterGroupName","selectedItems","item","handleTopbarFilterChange","filters","filter","filterInfo","selectedValues","toLowerCase","textFilterMatched","property","hasOwnProperty","rowValue","some","filterValue","startsWith","includesUndefined","includes","serverPageChangeHandler","total","page","pageSize","paginationElement","shadowRoot","startIndex","endIndex","visibleRowData","slice","clearAllFilters","onBtShowLoading","showLoadingOverlay","setPaginationItemsPerPage","newItemsPerPage","paginationItemsPerPage","itemsPerPageArray","selectedOption","find","option","componentWillLoad","uniqueKey","floor","getRowData","gridOptions","suppressCellFocus","headerHeight","components","checkboxCellRenderer","checkboxHeaderRenderer","customLoadingOverlay","customNoRowsOverlay","defaultColDef","resizable","autoHeight","suppressDragLeaveHidesColumns","enableCellTextSelection","onFirstDataRendered","bind","columnDefs","loadingOverlayComponent","noRowsOverlayComponent","noRowsOverlayComponentParams","icons","sortAscending","sortDescending","sortUnSort","rowDragManaged","dndSource","animateRows","navigateToNextCell","focusCellIfContainingButton","api","nextCellPosition","tabToNextCell","cellPosition","column","getColDef","rowNode","getDisplayedRowAtIndex","rowIndex","cellRenderers","getCellRendererInstances","rowNodes","columns","renderedContent","button","focusableChild","focus","componentDidLoad","isNestedInIfxComponent","framework","detectFramework","trackComponent","createGrid","handlePageChange","sidebarFilterElements","querySelectorAll","sidebarFilterElement","topbarFilterElements","topbarFilterElement","componentWillUnmount","sidebarFilters","sidebarFilter","topbarFilters","topbarFilter","isJSONParseable","str","undefined","refreshCells","force","selectedRowsData","from","r","__rest","selectedCount","isSelectAll","cols","checkboxColumn","headerName","width","pinned","cellRenderer","headerComponent","headerComponentParams","sortable","valueFormatter","cellDataType","unshift","buttonRendererOptions","checkboxRendererOptions","_d","iconButtonRendererOptions","handleResetButtonClick","resetEvent","window","disconnectedCallback","resetButton","getTableClassNames","classNames","height","filterClass","h","Host","key","class","onClick","keys","isMultiSelect","placeholder","readOnly","id","ref","hasButtonCol","onDragOver","dragSupported","dataTransfer","dropEffect","preventDefault","onDrop","jsonData","getData","eJsonRow","classList","innerText","eJsonDisplay"],"sources":["src/components/table-advanced-version/buttonCellRenderer.ts","src/components/table-advanced-version/checkboxCellRenderer.ts","src/components/table-advanced-version/checkboxHeaderRenderer.ts","src/components/table-advanced-version/iconButtonCellRenderer.ts","src/components/table-advanced-version/linkCellRenderer.ts","src/components/table-advanced-version/statusCellRenderer.ts","src/components/table-advanced-version/customNoRowsOverlay.ts","src/components/table-advanced-version/customLoadingOverlay.ts","src/components/table-advanced-version/table.scss?tag=ifx-table&encapsulation=shadow","src/components/table-advanced-version/table.tsx"],"sourcesContent":["import { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\nimport { ButtonInterface } from './interfaces';\n\nexport class ButtonCellRenderer implements ICellRendererComp {\n eGui!: HTMLDivElement;\n eButton!: HTMLElement; // Change to a generic HTMLElement to accommodate custom elements\n eventListener!: (event: Event) => void;\n\n init(params: ICellRendererParams) {\n this.createButton(params);\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(params: ICellRendererParams) {\n this.updateButton(params);\n return true;\n }\n\n private createButton(params: ICellRendererParams) {\n const config = params.data[params.colDef.field];\n const options = params.colDef.cellRendererParams || {};\n \n this.eGui = document.createElement('div');\n this.eButton = document.createElement('ifx-button') as HTMLElement;\n \n if (this.hasRequiredKeys(config)) {\n this.setButtonAttributes(config);\n this.eGui.appendChild(this.eButton);\n this.attachEventListener(options, params);\n } else {\n this.eGui.textContent = config ? String(config) : '';\n }\n }\n\n private updateButton(params: ICellRendererParams) {\n const config = params.data[params.colDef.field];\n const options = params.colDef.cellRendererParams || {};\n \n if (this.hasRequiredKeys(config)) {\n this.setButtonAttributes(config);\n this.detachEventListener();\n this.attachEventListener(options, params);\n } else {\n this.eGui.textContent = config ? String(config) : '';\n }\n }\n\n private setButtonAttributes(config: ButtonInterface) {\n this.eButton.setAttribute('disabled', config.disabled.toString());\n this.eButton.setAttribute('variant', config.variant);\n this.eButton.setAttribute('theme', config.theme);\n this.eButton.setAttribute('type', config.type);\n this.eButton.setAttribute('size', config.size);\n this.eButton.setAttribute('full-width', config.fullWidth.toString());\n this.eButton.setAttribute('target', config.target);\n this.eButton.setAttribute('href', config.href);\n this.eButton.textContent = config.text;\n }\n\n private attachEventListener(options: any, params: ICellRendererParams) {\n this.eventListener = (event: Event) => {\n if (options.onButtonClick) {\n options.onButtonClick(params, event);\n }\n };\n this.eButton.addEventListener('click', this.eventListener);\n }\n\n private detachEventListener() {\n if (this.eventListener) {\n this.eButton.removeEventListener('click', this.eventListener);\n }\n }\n\n private hasRequiredKeys(config: ButtonInterface): boolean {\n return config && config.text !== '' && config.variant !== '' && config.size !== '' && config.type !== '';\n }\n}\n","import { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\nimport { CheckboxInterface } from './interfaces';\n\nexport class CheckboxCellRenderer implements ICellRendererComp {\n eGui!: HTMLDivElement;\n eCheckbox!: HTMLElement;\n eventListener!: (event: Event) => void;\n\n init(params: ICellRendererParams) {\n this.createCheckbox(params);\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(params: ICellRendererParams) {\n this.updateCheckbox(params);\n return true;\n }\n\n private createCheckbox(params: ICellRendererParams) {\n const config = params.data[params.colDef.field];\n const options = params.colDef.cellRendererParams || {};\n this.eGui = document.createElement('div');\n this.eGui.style.display = 'flex';\n this.eGui.style.alignItems = 'center';\n this.eGui.style.justifyContent = 'center';\n this.eCheckbox = document.createElement('ifx-checkbox') as HTMLElement;\n\n if (this.hasRequiredKeys(config)) {\n this.setCheckboxAttributes(config);\n this.eGui.appendChild(this.eCheckbox);\n this.attachEventListener(options, params);\n } else {\n this.eGui.textContent = config ? String(config) : 'No checkbox data';\n }\n }\n\n private updateCheckbox(params: ICellRendererParams) {\n const config = params.data[params.colDef.field];\n const options = params.colDef.cellRendererParams || {};\n\n if (this.hasRequiredKeys(config)) {\n this.setCheckboxAttributes(config);\n this.detachEventListener();\n this.attachEventListener(options, params);\n } else {\n this.eGui.textContent = config ? String(config) : '';\n }\n }\n\n private setCheckboxAttributes(config: CheckboxInterface) {\n this.eCheckbox.setAttribute('disabled', config.disabled.toString());\n this.eCheckbox.setAttribute('error', config.error.toString());\n this.eCheckbox.setAttribute('size', config.size);\n this.eCheckbox.setAttribute('checked', config.checked.toString());\n this.eCheckbox.setAttribute('indeterminate', config.indeterminate.toString());\n }\n\n private attachEventListener(options: any, params: ICellRendererParams) {\n this.eventListener = (event: Event) => {\n if (options.onCheckboxClick) {\n options.onCheckboxClick(params, event);\n }\n };\n this.eCheckbox.addEventListener('click', this.eventListener);\n }\n\n private detachEventListener() {\n if (this.eventListener) {\n this.eCheckbox.removeEventListener('click', this.eventListener);\n }\n }\n\n private hasRequiredKeys(config: CheckboxInterface): boolean {\n return config && config.size !== '';\n }\n}\n","import { IHeaderComp, IHeaderParams } from 'ag-grid-community';\n\nexport class CheckboxHeaderRenderer implements IHeaderComp {\n eGui!: HTMLDivElement;\n eCheckbox!: HTMLElement;\n params!: IHeaderParams & { onSelectAll?: (checked: boolean) => void };\n\n init(params: IHeaderParams & { onSelectAll?: (checked: boolean) => void }) {\n this.params = params;\n this.createHeader();\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(params: IHeaderParams): boolean {\n this.params = { ...this.params, ...params };\n return true;\n }\n\n private createHeader() {\n this.eGui = document.createElement('div');\n this.eGui.style.display = 'flex';\n this.eGui.style.alignItems = 'center';\n this.eGui.style.justifyContent = 'center';\n\n this.eCheckbox = document.createElement('ifx-checkbox');\n this.eCheckbox.setAttribute('size', 's');\n this.eCheckbox.setAttribute('checked', 'false');\n\n this.eCheckbox.addEventListener('ifxChange', (event: any) => {\n const checked = event.detail;\n if (this.params.onSelectAll) {\n this.params.onSelectAll(checked);\n }\n });\n\n this.eGui.appendChild(this.eCheckbox);\n }\n}\n","import { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\nimport { IconButtonInterface } from './interfaces';\n\nexport class IconButtonCellRenderer implements ICellRendererComp {\n eGui!: HTMLDivElement;\n eIconButton!: HTMLElement; \n eventListener!: (event: Event) => void;\n\n init(params: ICellRendererParams) {\n this.createIconButton(params);\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(params: ICellRendererParams) {\n this.updateIconButton(params);\n return true;\n }\n\n private createIconButton(params: ICellRendererParams) {\n const config = params.data[params.colDef.field];\n const options = params.colDef.cellRendererParams || {};\n \n this.eGui = document.createElement('div');\n this.eIconButton = document.createElement('ifx-icon-button') as HTMLElement;\n \n if (this.hasRequiredKeys(config)) {\n this.setIconButtonAttributes(config);\n this.eGui.appendChild(this.eIconButton);\n this.attachEventListener(options, params);\n } else {\n this.eGui.textContent = config ? String(config) : '';\n }\n }\n\n private updateIconButton(params: ICellRendererParams) {\n const config = params.data[params.colDef.field];\n const options = params.colDef.cellRendererParams || {};\n \n if (this.hasRequiredKeys(config)) {\n this.setIconButtonAttributes(config);\n this.detachEventListener();\n this.attachEventListener(options, params);\n } else {\n this.eGui.textContent = config ? String(config) : '';\n }\n }\n\n private setIconButtonAttributes(config: IconButtonInterface) {\n this.eIconButton.setAttribute('disabled', config.disabled.toString());\n this.eIconButton.setAttribute('variant', config.variant);\n this.eIconButton.setAttribute('shape', config.shape);\n this.eIconButton.setAttribute('size', config.size);\n this.eIconButton.setAttribute('target', config.target);\n this.eIconButton.setAttribute('href', config.href);\n this.eIconButton.setAttribute('icon', config.icon);\n }\n\n private attachEventListener(options: any, params: ICellRendererParams) {\n this.eventListener = (event: Event) => {\n if (options.onIconButtonClick) {\n options.onIconButtonClick(params, event);\n }\n };\n this.eIconButton.addEventListener('click', this.eventListener);\n }\n\n private detachEventListener() {\n if (this.eventListener) {\n this.eIconButton.removeEventListener('click', this.eventListener);\n }\n }\n\n private hasRequiredKeys(config: IconButtonInterface): boolean {\n return config && config.variant !== '' && config.size !== '' && config.shape !== '';\n }\n}\n","import { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\nimport { LinkInterface } from './interfaces';\n\nexport class LinkCellRenderer implements ICellRendererComp {\n eGui!: HTMLDivElement;\n eLink!: HTMLElement;\n\n init(params: ICellRendererParams) {\n this.createLink(params);\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(params: ICellRendererParams) {\n this.updateLink(params);\n return true;\n }\n\n private createLink(params: ICellRendererParams) {\n const field = params.colDef?.field as string | undefined;\n const config = (params.value ?? params.data?.[field]) as any;\n\n this.eGui = document.createElement('div');\n this.eLink = document.createElement('ifx-link') as HTMLElement;\n\n if (this.hasRequiredKeys(config)) {\n this.setLinkAttributes(config);\n this.eGui.appendChild(this.eLink);\n } else {\n this.eGui.textContent = config ? String(config) : '';\n }\n }\n\n private updateLink(params: ICellRendererParams) {\n const field = params.colDef?.field as string | undefined;\n const config = (params.value ?? params.data?.[field]) as any;\n\n if (this.hasRequiredKeys(config)) {\n this.setLinkAttributes(config);\n } else {\n this.eGui.textContent = config ? String(config) : '';\n }\n }\n\n private setLinkAttributes(config: LinkInterface) {\n this.eLink.setAttribute('disabled', config.disabled?.toString());\n this.eLink.setAttribute('variant', config.variant);\n this.eLink.setAttribute('size', config.size);\n this.eLink.setAttribute('target', config.target);\n this.eLink.setAttribute('href', config.href);\n if (config.download) this.eLink.setAttribute('download', config.download);\n this.eLink.textContent = config.text || '';\n }\n\n private hasRequiredKeys(config: LinkInterface): boolean {\n return !!(\n config &&\n config.text &&\n config.variant &&\n config.size\n );\n }\n}\n","// statusCellRenderer.ts\nimport { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\n\ntype StatusConfig = {\n label: string;\n color?: string;\n border?: boolean;\n};\n\nexport class StatusCellRenderer implements ICellRendererComp {\n private eGui!: HTMLDivElement;\n\n init(params: ICellRendererParams) {\n this.eGui = document.createElement('div');\n this.render(params);\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(params: ICellRendererParams) {\n this.render(params);\n return true;\n }\n\nprivate render(params: ICellRendererParams) {\n const field = params.colDef?.field as string | undefined;\n const cfg = (params.value ?? params.data?.[field]) as StatusConfig | string | undefined;\n\n this.eGui.textContent = '';\n\n if (cfg && typeof cfg === 'object' && 'label' in cfg) {\n const el = document.createElement('ifx-status') as any;\n el.label = cfg.label;\n if (cfg.color != null) el.color = cfg.color;\n el.border = !!(cfg as StatusConfig).border;\n this.eGui.appendChild(el);\n } else if (cfg != null) {\n this.eGui.textContent = String(cfg);\n }\n}\n}\n","import { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\n\nexport class CustomNoRowsOverlay implements ICellRendererComp {\n eGui!: HTMLElement;\n\n init(params: ICellRendererParams & { noRowsMessageFunc: () => string }) {\n this.eGui = document.createElement('div');\n this.eGui.innerHTML = `\n <div role=\"presentation\" class=\"ag-overlay-loading-center\" >\n ${params.noRowsMessageFunc()}\n </div>\n `;\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(_params: ICellRendererParams): boolean {\n return false;\n }\n}","import { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\n\nexport class CustomLoadingOverlay implements ICellRendererComp {\n eGui!: HTMLElement;\n\n init(_params: ICellRendererParams & { loadingMessage: string }) {\n this.eGui = document.createElement('div');\n this.eGui.innerHTML = `<div class=\"ag-overlay-loading-center\" role=\"presentation\">\n<ifx-spinner></ifx-spinner>\n </div>`;\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(_params: ICellRendererParams): boolean {\n return false;\n }\n}","@use '~@infineon/design-system-tokens/dist/tokens';\n@use '../../global/font.scss';\n\n@import '~ag-grid-community/styles/ag-grid.css';\n\n.zebra {\n & .ag-row-odd {\n background-color: tokens.$ifxColorEngineering100 !important;\n }\n\n & .ag-row {\n border-bottom: none !important;\n }\n}\n\n.ag-header-viewport {\n background-color: tokens.$ifxColorEngineering200 !important;\n}\n\n.table-container {\n display: block;\n}\n\n.sidebar-btn {\n margin-bottom: 24px;\n}\n\n.sidebar-container {\n margin-right: 24px;\n}\n\n.sidebar-layout {\n display: flex;\n flex-direction: row;\n}\n\n.topbar-layout {\n display: flex;\n flex-direction: column;\n}\n\n.table-pagination-wrapper {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n width: 100%;\n\n & .pagination-wrapper {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n }\n}\n\n#table-wrapper {\n flex: 1;\n padding-bottom: tokens.$ifxSpace100;\n overflow-x: auto;\n width: 100%;\n}\n\n.table-wrapper {\n overflow-x: auto;\n width: 100%;\n}\n\n.ag-horizontal-left-spacer {\n display: none;\n}\n\n.table-wrapper .ag-root-wrapper-body {\n height: auto !important;\n min-height: 100px !important;\n min-width: 100px;\n}\n\n.filter-chips {\n display: flex;\n flex-wrap: wrap;\n gap: tokens.$ifxSpace100;\n margin-bottom: 12px;\n}\n\n.filter-chips > ifx-button {\n margin-left: -8px;\n}\n\n.set-filter-wrapper-sidebar {\n display: flex;\n flex-direction: column;\n margin-bottom: tokens.$ifxSpace100;\n}\n\n.set-filter-wrapper-topbar {\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n margin-bottom: tokens.$ifxSpace100;\n background: tokens.$ifxColorEngineering100;\n padding-top: 32px;\n padding-bottom: 32px;\n gap: 24px;\n}\n\n.headline-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 15px 0px;\n}\n\n.inner-buttons-wrapper {\n flex: 1;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 5px;\n}\n\n.ifx-ag-grid {\n display: grid;\n height: 100%;\n width: 100%;\n min-width: 100px;\n overflow-x: auto;\n}\n\n.ifx-ag-grid .ag-header-cell::after {\n outline: none !important;\n border: none !important;\n box-shadow: none !important;\n}\n\n.ifx-ag-grid .ag-header-cell:focus {\n outline: none !important;\n}\n\n.ifx-ag-grid *:not(.ag-header-cell):focus {\n outline: none;\n}\n\n.ifx-ag-grid .ag-header-cell:not(:last-child)::before {\n content: '';\n position: absolute;\n right: 0;\n top: calc(50% - 12px);\n height: 24px;\n width: 1px;\n background-color: tokens.$ifxColorEngineering300;\n}\n\n.ag-pinned-left-header {\n background-color: tokens.$ifxColorEngineering200;\n min-width: 50px !important;\n max-width: 50px !important;\n width: 50px !important;\n &::before {\n content: '';\n position: absolute;\n right: 0;\n top: calc(50% - 12px);\n height: 24px;\n width: 1px;\n background-color: tokens.$ifxColorEngineering300;\n }\n}\n\n.ag-header-row {\n width: 50px !important;\n}\n\n.ag-pinned-left-cols-container {\n width: 50px !important;\n max-width: 50px !important;\n min-width: 50px !important;\n}\n\n.ag-overlay-loading-center {\n border: none;\n background: none;\n border-radius: none;\n box-shadow: none;\n}\n\n.ag-root-wrapper {\n border: 1px solid tokens.$ifxColorEngineering200;\n}\n\n.ag-header {\n background-color: tokens.$ifxColorEngineering100;\n border-bottom: none;\n\n &.ag-header-active {\n outline: none !important;\n border-color: #0a8276 !important;\n }\n}\n\n.ag-header-cell {\n padding-left: 16px;\n padding-right: 16px;\n gap: 4px;\n}\n\n.ag-header-cell-focus {\n border: none !important;\n outline: none !important;\n}\n\n.ag-header-cell-text {\n font-size: 13px;\n font-style: normal;\n font-weight: 600;\n line-height: 20px;\n color: tokens.$ifxColorBaseBlack;\n font-family: var(--ifx-font-family);\n}\n\n.ag-row-focus {\n background-color: inherit !important;\n}\n\n.ag-row-hover {\n background-color: tokens.$ifxColorBaseWhite !important;\n}\n\n.ag-cell-focus {\n border: none !important;\n outline: none !important;\n background-color: inherit !important;\n}\n\n.ag-row {\n background-color: tokens.$ifxColorBaseWhite;\n border-bottom: 1px solid tokens.$ifxColorEngineering200;\n font-size: 13px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n z-index: 1;\n}\n\n.ag-row-odd {\n background-color: tokens.$ifxColorBaseWhite;\n}\n\n.ag-cell {\n display: flex;\n padding-left: 16px;\n padding-right: 16px;\n white-space: pre-line;\n min-height: 40px;\n height: auto;\n}\n\n.ag-ltr .ag-sort-indicator-icon {\n padding-left: 0px;\n vertical-align: bottom;\n line-height: 12px;\n}\n\n.ag-sort-indicator-container .ag-sort-order {\n display: none;\n}\n\n.unsort-icon-custom-color {\n color: tokens.$ifxColorEngineering400;\n}\n\n.filters-title {\n font-size: 24px;\n font-weight: 600;\n}\n\n.matching-results-container {\n flex: 1;\n font-family: 'Source Sans 3';\n display: flex;\n gap: 4px;\n font-size: 24px;\n font-weight: 600;\n line-height: 32px;\n letter-spacing: -1px;\n padding-right: 56px;\n}\n\n.matching-results-count {\n font-weight: 600;\n}\n\n.matching-results-text {\n font-weight: 400;\n}\n\n.ag-body-horizontal-scroll {\n display: none;\n}\n\n@media (max-width: tokens.$ifxBreakpointM) {\n .table-wrapper,\n #table-wrapper {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n\n .ag-root-wrapper {\n min-width: 100%;\n }\n\n .ag-body-horizontal-scroll {\n display: block;\n }\n\n .ag-header-cell,\n .ag-cell {\n min-width: 100px;\n white-space: nowrap;\n }\n\n .sidebar-layout {\n flex-direction: column;\n }\n\n .sidebar-container {\n margin-right: 0;\n margin-bottom: 24px;\n }\n\n .set-filter-wrapper-topbar {\n padding-left: 16px;\n padding-right: 16px;\n }\n\n .table-pagination-wrapper {\n gap: tokens.$ifxSpace200;\n }\n}\n","import { Component, h, Host, Method, Element, Prop, State, Listen, Watch } from '@stencil/core';\nimport classNames from 'classnames';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nimport { CellPosition, createGrid, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\nimport { ButtonCellRenderer } from './buttonCellRenderer';\nimport { CheckboxCellRenderer } from './checkboxCellRenderer';\nimport { CheckboxHeaderRenderer } from './checkboxHeaderRenderer';\nimport { IconButtonCellRenderer } from './iconButtonCellRenderer';\nimport { LinkCellRenderer } from './linkCellRenderer';\nimport { StatusCellRenderer } from './statusCellRenderer';\nimport { CustomNoRowsOverlay } from './customNoRowsOverlay';\nimport { CustomLoadingOverlay } from './customLoadingOverlay';\n\n@Component({\n tag: 'ifx-table',\n styleUrl: 'table.scss',\n shadow: true,\n})\nexport class Table {\n gridOptions: GridOptions;\n gridApi: GridApi;\n @State() currentPage: number = 1;\n @Prop() cols: any;\n @Prop() rows: any;\n @Prop() buttonRendererOptions?: { onButtonClick?: (params: any, event: Event) => void };\n @Prop() iconButtonRendererOptions?: { onIconButtonClick?: (params: any, event: Event) => void };\n @Prop() checkboxRendererOptions?: { onCheckboxClick?: (params: any, event: Event) => void };\n @State() rowData: any[] = [];\n @State() colData: any[] = [];\n @State() filterOptions: { [key: string]: string[] } = {};\n @State() currentFilters = {};\n @State() uniqueKey: string;\n allRowData: any[] = [];\n @Prop() rowHeight: string = 'default';\n @Prop() tableHeight: string = 'auto';\n @Prop() pagination: boolean = true;\n @Prop() paginationItemsPerPage: string;\n @State() paginationPageSize: number = 10;\n @Prop() filterOrientation: string = 'sidebar';\n @Prop() headline: string = '';\n @State() showSidebarFilters: boolean = true;\n @State() matchingResultsCount: number = 0;\n @Prop() variant: string = 'default';\n @Prop() serverSidePagination: boolean = false;\n @Prop() serverPageChangeHandler?: (params: { page: number; pageSize: number }) => Promise<{ rows: any[]; total: number }>;\n @Prop() enableSelection: boolean = false;\n @State() selectedRows: Set<string> = new Set();\n @State() selectAll: boolean = false;\n @Prop() showLoading: boolean = false;\n private container: HTMLDivElement;\n @Element() host: HTMLElement;\n originalRowData: any[] = [];\n\n private internalItemsPerPage = JSON.stringify([\n { value: 10, label: '10', selected: true },\n { value: 20, label: '20', selected: false },\n { value: 30, label: '30', selected: false },\n ]);\n\n @Watch('rows')\n rowsChanged(_newVal: any) {\n const parsed = this.parseArrayInput<any>(this.rows);\n\n parsed.forEach((row, index) => {\n if (!row.__rowId) {\n row.__rowId = `row_${index}_${Date.now()}_${Math.random()}`;\n }\n });\n\n if (this.enableSelection) {\n parsed.forEach(row => {\n row.__checkbox = {\n disabled: false,\n checked: this.selectedRows?.has(row.__rowId) || false,\n size: 's',\n indeterminate: false,\n error: false,\n };\n });\n }\n this.currentFilters = {};\n this.currentPage = 1;\n this.originalRowData = [...parsed];\n this.allRowData = [...parsed];\n this.matchingResultsCount = this.allRowData.length;\n this.updateTableView();\n this.updateFilterOptions();\n }\n\n @Watch('cols')\n colsChanged(_newVal: any) {\n this.colData = this.getColData();\n\n if (this.gridApi) {\n this.gridApi.setGridOption('columnDefs', this.colData);\n this.gridApi.sizeColumnsToFit({\n defaultMinWidth: 100,\n });\n }\n\n this.updateFilterOptions();\n }\n\n @Listen('ifxItemsPerPageChange')\n handleResultsPerPageChange(e: CustomEvent<string>) {\n this.paginationPageSize = Number(e.detail);\n this.currentPage = 1;\n this.updateTableView();\n }\n\n @Listen('ifxChange')\n handleChipChange(event: CustomEvent<{ previousSelection: Array<any>; currentSelection: Array<any>; name: string }>) {\n const { name, currentSelection, previousSelection } = event.detail;\n if (currentSelection && previousSelection) {\n // Clone the current filters state\n const updatedFilters = { ...this.currentFilters };\n\n if (currentSelection.length === 0) {\n // If there are no selections for this filter, delete the filter\n delete updatedFilters[name];\n\n // Emit event with specific filter name\n const customEvent = new CustomEvent('ifxUpdateSidebarFilter', { detail: { filterName: name }, bubbles: true, composed: true });\n this.host.dispatchEvent(customEvent);\n } else {\n // Otherwise, update the filter values with the current selection\n updatedFilters[name].filterValues = currentSelection.map(selection => selection.value);\n }\n\n // Update the component's filters\n this.currentFilters = updatedFilters;\n // Ensure table data is updated\n this.allRowData = this.applyAllFilters(this.originalRowData, this.currentFilters);\n this.updateTableView();\n }\n }\n\n @Watch('buttonRendererOptions')\n onButtonRendererOptionsChanged() {\n this.colData = this.getColData();\n if (this.gridApi) {\n this.gridApi.setColumnDefs(this.colData);\n }\n }\n\n @Watch('iconButtonRendererOptions')\n onIconButtonRendererOptionsChanged() {\n this.colData = this.getColData();\n if (this.gridApi) {\n this.gridApi.setColumnDefs(this.colData);\n }\n }\n\n @Watch('checkboxRendererOptions')\n onCheckboxRendererOptionsChanged() {\n this.colData = this.getColData();\n if (this.gridApi) {\n this.gridApi.setColumnDefs(this.colData);\n }\n }\n\n private parseArrayInput<T>(input: any): T[] {\n if (typeof input === 'string') {\n try {\n const parsed = JSON.parse(input);\n return Array.isArray(parsed) ? parsed : [];\n } catch {\n console.error('Failed to parse input:', input);\n return [];\n }\n }\n if (Array.isArray(input)) return input;\n if (typeof input === 'object' && input !== null) return [input as T];\n return [];\n }\n\n toggleSidebarFilters() {\n this.showSidebarFilters = !this.showSidebarFilters;\n }\n\n updateFilterOptions() {\n const options = {};\n for (let col of this.colData) {\n options[col.field] = [...new Set(this.rowData.map(row => row[col.field]))];\n }\n this.filterOptions = options;\n }\n\n private updateHeaderCheckboxState() {\n if (this.gridApi && this.enableSelection) {\n setTimeout(() => {\n const headerCheckbox = this.container?.querySelector('.ag-header-cell[col-id=\"__checkbox\"] ifx-checkbox') as any;\n if (headerCheckbox) {\n const allSelected = this.selectedRows.size === this.allRowData.length && this.allRowData.length > 0;\n const someSelected = this.selectedRows.size > 0 && this.selectedRows.size < this.allRowData.length;\n headerCheckbox.checked = allSelected;\n headerCheckbox.indeterminate = someSelected;\n }\n }, 0);\n }\n }\n\n handleSidebarFilterChange(event: CustomEvent) {\n const filterGroups = event.detail;\n const updatedFilters = {};\n\n filterGroups.forEach(filterGroup => {\n const filterName = filterGroup.filterGroupName;\n let filterValues;\n let type;\n\n if (filterGroup.selectedItems && filterGroup.selectedItems.length > 0) {\n filterValues = filterGroup.selectedItems.map(item => item.label);\n type = 'multi-select';\n } else if (filterGroup.value) {\n filterValues = [filterGroup.value];\n type = 'text';\n } else {\n filterValues = [];\n }\n\n if (!(filterValues.length === 0 || (filterValues.length === 1 && type === 'text' && filterValues[0] === ''))) {\n updatedFilters[filterName] = { filterValues, type };\n }\n });\n\n this.allRowData = this.applyAllFilters(this.originalRowData, updatedFilters);\n this.updateTableView();\n this.currentFilters = updatedFilters;\n }\n\n handleTopbarFilterChange(event: CustomEvent) {\n const filters = event.detail;\n\n // Start by resetting the filter conditions to a blank object\n this.currentFilters = {};\n\n // Loop through each filter group provided in the event detail\n filters.forEach(filter => {\n const filterName = filter.filterName;\n let filterValues;\n\n let type = filter.type;\n\n if (type === 'text') {\n // Search/Text filter\n filterValues = filter.filterValues;\n } else {\n // Multi-select/Single-Select\n filterValues = filter.filterValues.map(item => item.label);\n }\n\n // If there are no filter values, or the filter is a text filter with an empty value, remove the filter\n if (!(filterValues.length === 0 || (filterValues.length === 1 && type === 'text' && filterValues[0] === ''))) {\n // Add or update the filter in the currentFilters object\n this.currentFilters[filterName] = { filterValues, type };\n }\n });\n\n // Now that the currentFilters object has been updated, apply all filters to the data\n this.allRowData = this.applyAllFilters(this.originalRowData, this.currentFilters);\n\n // After filtering, update the table view with the new filtered data\n this.updateTableView();\n }\n\n applyAllFilters(data, filters) {\n return data.filter(row => {\n for (const filterName in filters) {\n const filterInfo = filters[filterName];\n let selectedValues = (filterInfo.filterValues || []).map(value => {\n if (typeof value === 'string') {\n return value.toLowerCase();\n } else if (typeof value === 'number' || typeof value === 'boolean') {\n return value.toString();\n }\n return '';\n });\n\n // For text filters, check if row values start with any of the selectedValues\n if (filterInfo.type === 'text') {\n let textFilterMatched = false;\n for (let property in row) {\n if (row.hasOwnProperty(property)) {\n let rowValue = row[property] != null ? String(row[property]).toLowerCase() : '';\n if (selectedValues.some(filterValue => rowValue.startsWith(filterValue))) {\n textFilterMatched = true;\n break;\n }\n }\n }\n if (!textFilterMatched) return false;\n }\n // For multi-select filters, this remains unchanged\n else if (filterInfo.type === 'multi-select') {\n let rowValue = row[filterName] != null ? String(row[filterName]).toLowerCase() : '';\n // Check if 'undefined' is a selected value and include rows with empty values in that case\n let includesUndefined = selectedValues.includes('undefined');\n if (!selectedValues.includes(rowValue) && !(includesUndefined && rowValue === '')) {\n return false;\n }\n }\n }\n return true;\n });\n }\n\n async updateTableView() {\n if (this.serverSidePagination && this.serverPageChangeHandler) {\n const { rows, total } = await this.serverPageChangeHandler({\n page: this.currentPage,\n pageSize: this.paginationPageSize,\n });\n\n if (this.enableSelection) {\n rows.forEach((row, index) => {\n if (!row.__rowId) {\n row.__rowId = `row_${(this.currentPage - 1) * this.paginationPageSize + index}_${Date.now()}`;\n }\n row.__checkbox = {\n disabled: false,\n checked: this.selectedRows?.has(row.__rowId) || false,\n size: 's',\n indeterminate: false,\n error: false,\n };\n });\n }\n\n this.rowData = rows;\n this.matchingResultsCount = total;\n if (this.gridApi) {\n this.gridApi.setGridOption('rowData', rows);\n }\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.setAttribute('total', total.toString());\n }\n } else {\n const startIndex = (this.currentPage - 1) * this.paginationPageSize;\n const endIndex = startIndex + this.paginationPageSize;\n const visibleRowData = this.allRowData.slice(startIndex, endIndex);\n\n if (this.enableSelection) {\n visibleRowData.forEach(row => {\n if (!row.__checkbox) {\n row.__checkbox = {\n disabled: false,\n checked: this.selectedRows?.has(row.__rowId) || false,\n size: 's',\n indeterminate: false,\n error: false,\n };\n } else {\n row.__checkbox.checked = this.selectedRows?.has(row.__rowId) || false;\n }\n });\n }\n\n this.rowData = visibleRowData;\n this.matchingResultsCount = this.allRowData.length;\n if (this.gridApi) {\n this.gridApi.setGridOption('rowData', this.rowData);\n }\n }\n }\n\n clearAllFilters() {\n this.currentFilters = {};\n this.allRowData = [...this.originalRowData];\n }\n\n @Method()\n async onBtShowLoading() {\n this.gridApi.showLoadingOverlay();\n }\n\n setPaginationItemsPerPage() {\n const newItemsPerPage = this.paginationItemsPerPage;\n if (newItemsPerPage) {\n this.internalItemsPerPage = this.paginationItemsPerPage;\n const itemsPerPageArray = JSON.parse(this.internalItemsPerPage);\n\n const selectedOption = itemsPerPageArray.find(option => option.selected);\n if (selectedOption) {\n this.paginationPageSize = Number(selectedOption.value);\n } else if (itemsPerPageArray.length > 0) {\n this.paginationPageSize = Number(itemsPerPageArray[0].value);\n }\n }\n }\n\n componentWillLoad() {\n this.setPaginationItemsPerPage();\n\n this.uniqueKey = `unique-${Math.floor(Math.random() * 1000000)}`;\n this.rowData = this.getRowData();\n this.colData = this.getColData();\n this.updateFilterOptions();\n\n this.gridOptions = {\n suppressCellFocus: true,\n rowHeight: this.rowHeight === 'default' ? 40 : 32,\n headerHeight: 40,\n components: {\n checkboxCellRenderer: CheckboxCellRenderer,\n checkboxHeaderRenderer: CheckboxHeaderRenderer,\n customLoadingOverlay: CustomLoadingOverlay,\n customNoRowsOverlay: CustomNoRowsOverlay,\n },\n defaultColDef: {\n resizable: true,\n autoHeight: true,\n },\n suppressDragLeaveHidesColumns: true,\n enableCellTextSelection: true,\n onFirstDataRendered: this.onFirstDataRendered.bind(this),\n columnDefs: this.colData,\n rowData: this.rowData,\n loadingOverlayComponent: CustomLoadingOverlay,\n noRowsOverlayComponent: CustomNoRowsOverlay,\n noRowsOverlayComponentParams: {\n noRowsMessageFunc: () => 'No rows found', //at: ' + new Date().toLocaleTimeString(),\n },\n icons: {\n sortAscending: '<ifx-icon icon=\"arrow-triangle-up-16\"></ifx-icon>',\n sortDescending: '<ifx-icon icon=\"arrow-triangle-down-16\"></ifx-icon>',\n sortUnSort: '<a class=\"unsort-icon-custom-color\"><ifx-icon icon=\"arrow-triangle-vertikal-16\"></ifx-icon></a>',\n },\n rowDragManaged: this.colData.some(col => col.dndSource === true) ? true : false,\n animateRows: this.colData.some(col => col.dndSource === true) ? true : false,\n navigateToNextCell: params => {\n return this.focusCellIfContainingButton(params.api, params.nextCellPosition);\n },\n tabToNextCell: params => {\n // Returning null is deprecated so we return false if the result is null (browser handles tab behavior).\n return this.focusCellIfContainingButton(params.api, params.nextCellPosition) ?? false;\n },\n };\n }\n\n focusCellIfContainingButton<T>(api: GridApi<T>, cellPosition: CellPosition): CellPosition | null {\n if (!cellPosition) {\n return null;\n }\n\n if (cellPosition.column.getColDef().field === 'button') {\n const rowNode = api.getDisplayedRowAtIndex(cellPosition.rowIndex);\n\n if (!rowNode) {\n // Row not yet rendered due to virtualization.\n return null;\n }\n\n const cellRenderers = api.getCellRendererInstances({\n rowNodes: [rowNode],\n columns: [cellPosition.column],\n });\n\n if (cellRenderers.length > 0) {\n const renderedContent = (cellRenderers[0] as ButtonCellRenderer)?.getGui();\n\n if (renderedContent) {\n const button = renderedContent.querySelector('ifx-button');\n\n if (button) {\n setTimeout(() => {\n // Just calling button.focus() will not work because the focus of <ifx-button> will not be\n // forwared to its child <a>-element (containing the tabindex attribute) due to shadow root.\n // We must therefore grab the <a>-element manually first and then call focus() on it.\n const focusableChild = button.shadowRoot?.querySelector<HTMLElement>('a[tabindex]');\n focusableChild?.focus();\n }, 0);\n }\n }\n }\n }\n\n return cellPosition;\n }\n\n async componentDidLoad() {\n if (this.container) {\n if (!isNestedInIfxComponent(this.host)) {\n const framework = detectFramework();\n trackComponent('ifx-table', await framework);\n }\n this.gridApi = createGrid(this.container, this.gridOptions);\n if (this.gridApi) {\n this.gridApi.sizeColumnsToFit({\n defaultMinWidth: 100,\n });\n this.gridApi.setGridOption('columnDefs', this.colData);\n this.gridApi.setGridOption('rowData', this.rowData);\n\n if (this.pagination) {\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.addEventListener('ifxPageChange', this.handlePageChange.bind(this));\n }\n }\n const sidebarFilterElements = this.host.querySelectorAll('ifx-filter-type-group');\n // Add an event listener to each SetFilter component\n sidebarFilterElements.forEach(sidebarFilterElement => {\n sidebarFilterElement.addEventListener('ifxSidebarFilterChange', this.handleSidebarFilterChange.bind(this));\n });\n const topbarFilterElements = this.host.querySelectorAll('ifx-filter-bar');\n // Add an event listener to each SetFilter component\n topbarFilterElements.forEach(topbarFilterElement => {\n topbarFilterElement.addEventListener('ifxTopbarFilterChange', this.handleTopbarFilterChange.bind(this));\n });\n }\n }\n this.updateTableView();\n }\n\n componentWillUnmount() {\n if (this.pagination) {\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.removeEventListener('ifxPageChange', this.handlePageChange.bind(this));\n }\n }\n const sidebarFilters = this.host.shadowRoot.querySelectorAll('ifx-filter-type-group');\n // Remove the event listener from each SetFilter component\n sidebarFilters.forEach(sidebarFilter => {\n sidebarFilter.removeEventListener('ifxSidebarFilterChange', this.handleSidebarFilterChange.bind(this));\n });\n const topbarFilters = this.host.shadowRoot.querySelectorAll('ifx-filter-type-group');\n // Remove the event listener from each SetFilter component\n topbarFilters.forEach(topbarFilter => {\n topbarFilter.removeEventListener('ifxTopbarFilterChange', this.handleTopbarFilterChange.bind(this));\n });\n }\n\n async handlePageChange(event) {\n this.currentPage = event.detail.currentPage;\n\n if (this.serverSidePagination && this.serverPageChangeHandler) {\n const { rows, total } = await this.serverPageChangeHandler({\n page: this.currentPage,\n pageSize: this.paginationPageSize,\n });\n\n this.rowData = rows;\n this.matchingResultsCount = total;\n\n if (this.gridApi) {\n this.gridApi.setGridOption('rowData', this.rowData);\n }\n\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.setAttribute('total', total.toString());\n }\n } else {\n const startIndex = (this.currentPage - 1) * this.paginationPageSize;\n const endIndex = startIndex + this.paginationPageSize;\n const visibleRowData = this.allRowData.slice(startIndex, endIndex);\n if (this.gridApi) {\n this.gridApi.setGridOption('rowData', visibleRowData);\n }\n }\n }\n\n isJSONParseable(str) {\n try {\n JSON.parse(str);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n handleSelectAll = (checked: boolean) => {\n this.selectAll = checked;\n if (checked) {\n this.selectedRows = new Set(this.allRowData.map(row => row.__rowId));\n } else {\n this.selectedRows = new Set();\n }\n this.updateCheckboxStates();\n this.updateHeaderCheckboxState();\n this.emitSelectionChange();\n };\n\n getRowData() {\n let rows: any[] = [];\n if (this.rows === undefined || this.rows === null) {\n return rows;\n }\n if (this.isJSONParseable(this.rows)) {\n rows = [...JSON.parse(this.rows)];\n } else if (Array.isArray(this.rows) || typeof this.rows === 'object') {\n rows = [...this.rows];\n } else {\n console.error('Unexpected value for rows: ', this.rows);\n }\n\n rows.forEach((row, index) => {\n if (!row.__rowId) {\n row.__rowId = `row_${index}_${Date.now()}_${Math.random()}`;\n }\n });\n\n if (this.enableSelection) {\n rows.forEach(row => {\n row.__checkbox = {\n disabled: false,\n checked: this.selectedRows?.has(row.__rowId) || false,\n size: 's',\n indeterminate: false,\n error: false,\n };\n });\n }\n this.allRowData = rows;\n this.originalRowData = [...rows];\n this.matchingResultsCount = this.allRowData.length;\n return rows.slice(0, this.paginationPageSize);\n }\n\n handleRowCheckboxClick = (params: any) => {\n const clickedRowData = params.data;\n const rowId = clickedRowData.__rowId;\n\n const newSelectedRows = new Set(this.selectedRows);\n if (newSelectedRows.has(rowId)) {\n newSelectedRows.delete(rowId);\n } else {\n newSelectedRows.add(rowId);\n }\n this.selectedRows = newSelectedRows;\n this.selectAll = newSelectedRows.size === this.allRowData.length;\n this.updateCheckboxStates();\n this.updateHeaderCheckboxState();\n this.emitSelectionChange();\n };\n\n private updateCheckboxStates() {\n this.allRowData.forEach(row => {\n if (row.__checkbox) {\n row.__checkbox.checked = this.selectedRows.has(row.__rowId);\n }\n });\n if (this.gridApi) {\n this.gridApi.refreshCells({\n columns: ['__checkbox'],\n force: true,\n });\n }\n }\n\n private emitSelectionChange() {\n const selectedRowsData = Array.from(this.selectedRows)\n .map(rowId => {\n const row = this.allRowData.find(r => r.__rowId === rowId);\n if (!row) return null;\n const { __checkbox, __rowId, ...rowData } = row;\n return rowData;\n })\n .filter(row => row !== null);\n\n this.host.dispatchEvent(\n new CustomEvent('ifxSelectionChange', {\n detail: {\n selectedRows: selectedRowsData,\n selectedCount: selectedRowsData.length,\n isSelectAll: this.selectedRows.size === this.allRowData.length && this.allRowData.length > 0,\n },\n bubbles: true,\n }),\n );\n }\n\n getColData() {\n let cols: any[] = [];\n if (this.cols === undefined || this.cols === null) return cols;\n if (this.isJSONParseable(this.cols)) {\n cols = [...JSON.parse(this.cols)];\n } else if (Array.isArray(this.cols) || typeof this.cols === 'object') {\n cols = [...this.cols];\n } else {\n console.error('Unexpected value for cols: ', this.cols);\n }\n\n if (this.enableSelection) {\n const checkboxColumn = {\n headerName: '',\n field: '__checkbox',\n width: 50,\n pinned: 'left',\n cellRenderer: 'checkboxCellRenderer',\n cellRendererParams: {\n onCheckboxClick: this.handleRowCheckboxClick?.bind(this),\n },\n headerComponent: 'checkboxHeaderRenderer',\n headerComponentParams: {\n onSelectAll: this.handleSelectAll?.bind(this),\n },\n sortable: false,\n filter: false,\n resizable: false,\n valueFormatter: undefined,\n cellDataType: false,\n };\n cols.unshift(checkboxColumn);\n }\n\n cols.forEach(column => {\n const field = column.field?.toLowerCase() || '';\n // --- Button columns ---\n if (field.startsWith('button')) {\n column.cellRenderer = ButtonCellRenderer;\n column.valueFormatter = undefined;\n column.cellDataType = false;\n if (this.buttonRendererOptions?.onButtonClick) {\n column.cellRendererParams = {\n onButtonClick: this.buttonRendererOptions.onButtonClick,\n };\n }\n }\n // --- Checkbox columns ---\n else if (field.startsWith('checkbox')) {\n column.cellRenderer = CheckboxCellRenderer;\n column.valueFormatter = undefined;\n column.cellDataType = false;\n if (this.checkboxRendererOptions?.onCheckboxClick) {\n column.cellRendererParams = {\n onCheckboxClick: this.checkboxRendererOptions.onCheckboxClick,\n };\n }\n }\n // --- Icon Button columns ---\n else if (field.startsWith('iconbutton') || field === 'iconButton') {\n column.cellRenderer = IconButtonCellRenderer;\n column.valueFormatter = undefined;\n column.cellDataType = false;\n if (this.iconButtonRendererOptions?.onIconButtonClick) {\n column.cellRendererParams = {\n onIconButtonClick: this.iconButtonRendererOptions.onIconButtonClick,\n };\n }\n }\n // --- Status columns ---\n else if (field.startsWith('status')) {\n column.cellRenderer = StatusCellRenderer;\n column.valueFormatter = undefined;\n column.cellDataType = false;\n }\n // --- Link columns ---\n else if (field.startsWith('link')) {\n column.cellRenderer = LinkCellRenderer;\n column.valueFormatter = undefined;\n column.cellDataType = false;\n }\n });\n return cols;\n }\n\n onFirstDataRendered(params: FirstDataRenderedEvent) {\n params.api.sizeColumnsToFit();\n }\n\n handleResetButtonClick() {\n const resetEvent = new CustomEvent('ifxResetFiltersEvent', { bubbles: true, composed: true });\n window.dispatchEvent(resetEvent);\n\n this.clearAllFilters();\n this.updateTableView();\n }\n\n disconnectedCallback() {\n if (this.pagination) {\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.removeEventListener('ifxPageChange', this.handlePageChange);\n }\n }\n\n const resetButton = this.host.shadowRoot.querySelector('#reset-filters-button');\n if (resetButton) {\n resetButton.removeEventListener('click', this.handleResetButtonClick.bind(this));\n }\n }\n\n getTableClassNames() {\n return classNames(this.tableHeight === 'auto' && 'table-wrapper ag-root-wrapper-body', 'table-wrapper');\n }\n\n render() {\n let style = {};\n if (this.tableHeight !== 'auto') {\n style = {\n height: this.tableHeight,\n };\n }\n\n const filterClass = this.filterOrientation === 'topbar' ? 'topbar-layout' : this.filterOrientation === 'none' ? '' : 'sidebar-layout';\n\n return (\n <Host>\n <div class=\"table-container\">\n {this.filterOrientation === 'sidebar' && (\n <div class=\"sidebar-btn\">\n <ifx-button\n type=\"button\"\n disabled={false}\n variant=\"secondary\"\n size=\"m\"\n target=\"_blank\"\n theme=\"default\"\n full-width=\"false\"\n onClick={() => this.toggleSidebarFilters()}\n >\n <ifx-icon icon=\"cross-16\"></ifx-icon>\n {this.showSidebarFilters ? 'Hide Filters' : 'Show Filters'}\n </ifx-button>\n </div>\n )}\n\n <div class={filterClass}>\n {this.filterOrientation === 'sidebar' && this.showSidebarFilters && (\n <div class=\"sidebar-container\">\n <div class=\"filters-title-container\">\n <span class=\"filters-title\">Filters</span>\n </div>\n <div class=\"set-filter-wrapper-sidebar\">{(this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && <slot name=\"sidebar-filter\"></slot>}</div>\n </div>\n )}\n\n {this.filterOrientation !== 'none' && this.filterOrientation !== 'sidebar' && (\n <div class=\"set-filter-wrapper-topbar\">{(this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && <slot name=\"topbar-filter\"></slot>}</div>\n )}\n\n <div class=\"table-pagination-wrapper\">\n {this.filterOrientation !== 'none' && this.filterOrientation !== 'topbar' && this.showSidebarFilters && (\n <div class=\"filter-chips\">\n {Object.keys(this.currentFilters).map(name => {\n const filter = this.currentFilters[name];\n const filterValues = filter.filterValues;\n const isMultiSelect = filter.type !== 'text';\n\n return filterValues.length > 0 ? (\n <ifx-chip placeholder={name} size=\"large\" variant={isMultiSelect ? 'multi' : 'single'} readOnly={true} value={filterValues} key={name}>\n {filterValues.map(filterValue => (\n <ifx-chip-item value={filterValue} selected={true} key={filterValue}>\n {filterValue}\n </ifx-chip-item>\n ))}\n </ifx-chip>\n ) : null;\n })}\n </div>\n )}\n\n <div class=\"headline-wrapper\">\n {this.filterOrientation !== 'none' && this.headline && (\n <div class=\"matching-results-container\">\n <span class=\"matching-results-count\">({this.matchingResultsCount})</span>\n <span class=\"matching-results-text\">{this.headline}</span>\n </div>\n )}\n\n <div class=\"inner-buttons-wrapper\">\n <slot name=\"inner-button\" />\n </div>\n </div>\n\n <div id=\"table-wrapper\" class={this.getTableClassNames()}>\n <div id={`ifxTable-${this.uniqueKey}`} class={`ifx-ag-grid ${this.variant === 'zebra' ? 'zebra' : ''}`} style={style} ref={el => (this.container = el)}></div>\n </div>\n <div class=\"pagination-wrapper\">\n {this.pagination ? (\n <ifx-pagination\n total={this.serverSidePagination ? this.matchingResultsCount : this.allRowData.length}\n current-page={this.currentPage}\n items-per-page={this.internalItemsPerPage}\n ></ifx-pagination>\n ) : null}\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n\n hasButtonCol(): boolean {\n return this.getColData().some(column => column.field === 'button');\n }\n\n onDragOver(event) {\n var dragSupported = event.dataTransfer.length;\n\n if (dragSupported) {\n event.dataTransfer.dropEffect = 'move';\n }\n\n event.preventDefault();\n }\n\n onDrop(event) {\n var jsonData = event.dataTransfer.getData('application/json');\n\n var eJsonRow = document.createElement('div');\n eJsonRow.classList.add('json-row');\n eJsonRow.innerText = jsonData;\n\n var eJsonDisplay = document.querySelector('#eJsonDisplay');\n\n eJsonDisplay.appendChild(eJsonRow);\n event.preventDefault();\n }\n}\n"],"mappings":"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","ignoreList":[]}