@infineon/design-system 0.0.0-stage → 41.11.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 (877) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cem.json +15580 -0
  3. package/dist/cjs/animation-DvEMST7j.js +42 -0
  4. package/dist/cjs/dom-utils-BdvOgC2b.js +19 -0
  5. package/dist/cjs/icons-oFc1Jyfp.js +1334 -0
  6. package/dist/cjs/ifx-accordion-item.cjs.entry.js +118 -0
  7. package/dist/cjs/ifx-accordion.cjs.entry.js +40 -0
  8. package/dist/cjs/ifx-action-list-item.cjs.entry.js +238 -0
  9. package/dist/cjs/ifx-action-list.cjs.entry.js +30 -0
  10. package/dist/cjs/ifx-ai-label.cjs.entry.js +23 -0
  11. package/dist/cjs/ifx-alert_2.cjs.entry.js +217 -0
  12. package/dist/cjs/ifx-basic-table.cjs.entry.js +218 -0
  13. package/dist/cjs/ifx-breadcrumb-item-label.cjs.entry.js +35 -0
  14. package/dist/cjs/ifx-breadcrumb-item.cjs.entry.js +116 -0
  15. package/dist/cjs/ifx-breadcrumb.cjs.entry.js +51 -0
  16. package/dist/cjs/ifx-button.cjs.entry.js +156 -0
  17. package/dist/cjs/ifx-card-headline.cjs.entry.js +33 -0
  18. package/dist/cjs/ifx-card-image.cjs.entry.js +37 -0
  19. package/dist/cjs/ifx-card-links.cjs.entry.js +18 -0
  20. package/dist/cjs/ifx-card-overline.cjs.entry.js +17 -0
  21. package/dist/cjs/ifx-card-text.cjs.entry.js +26 -0
  22. package/dist/cjs/ifx-card.cjs.entry.js +77 -0
  23. package/dist/cjs/ifx-checkbox-group.cjs.entry.js +77 -0
  24. package/dist/cjs/ifx-checkbox.cjs.entry.js +255 -0
  25. package/dist/cjs/ifx-chip-item_2.cjs.entry.js +392 -0
  26. package/dist/cjs/ifx-chip.cjs.entry.js +340 -0
  27. package/dist/cjs/ifx-content-switcher-item.cjs.entry.js +21 -0
  28. package/dist/cjs/ifx-content-switcher.cjs.entry.js +188 -0
  29. package/dist/cjs/ifx-counter.cjs.entry.js +74 -0
  30. package/dist/cjs/ifx-date-picker.cjs.entry.js +203 -0
  31. package/dist/cjs/ifx-download.cjs.entry.js +40 -0
  32. package/dist/cjs/ifx-dropdown-header.cjs.entry.js +17 -0
  33. package/dist/cjs/ifx-dropdown-item.cjs.entry.js +68 -0
  34. package/dist/cjs/ifx-dropdown-menu.cjs.entry.js +71 -0
  35. package/dist/cjs/ifx-dropdown-separator.cjs.entry.js +17 -0
  36. package/dist/cjs/ifx-dropdown-trigger-button.cjs.entry.js +29 -0
  37. package/dist/cjs/ifx-dropdown-trigger.cjs.entry.js +19 -0
  38. package/dist/cjs/ifx-dropdown.cjs.entry.js +257 -0
  39. package/dist/cjs/ifx-error-page.cjs.entry.js +54 -0
  40. package/dist/cjs/ifx-file-upload.cjs.entry.js +821 -0
  41. package/dist/cjs/ifx-filter-accordion.cjs.entry.js +67 -0
  42. package/dist/cjs/ifx-filter-bar.cjs.entry.js +119 -0
  43. package/dist/cjs/ifx-filter-search.cjs.entry.js +62 -0
  44. package/dist/cjs/ifx-filter-type-group.cjs.entry.js +168 -0
  45. package/dist/cjs/ifx-footer-column.cjs.entry.js +18 -0
  46. package/dist/cjs/ifx-footer.cjs.entry.js +35 -0
  47. package/dist/cjs/ifx-icon-button.cjs.entry.js +106 -0
  48. package/dist/cjs/ifx-icon.cjs.entry.js +134 -0
  49. package/dist/cjs/ifx-icons-preview.cjs.entry.js +15499 -0
  50. package/dist/cjs/ifx-indicator.cjs.entry.js +46 -0
  51. package/dist/cjs/ifx-link.cjs.entry.js +125 -0
  52. package/dist/cjs/ifx-list-entry.cjs.entry.js +44 -0
  53. package/dist/cjs/ifx-list.cjs.entry.js +143 -0
  54. package/dist/cjs/ifx-modal.cjs.entry.js +403 -0
  55. package/dist/cjs/ifx-multiselect-group.cjs.entry.js +42 -0
  56. package/dist/cjs/ifx-multiselect_2.cjs.entry.js +1151 -0
  57. package/dist/cjs/ifx-navbar-item.cjs.entry.js +438 -0
  58. package/dist/cjs/ifx-navbar-profile.cjs.entry.js +173 -0
  59. package/dist/cjs/ifx-navbar.cjs.entry.js +705 -0
  60. package/dist/cjs/ifx-notification.cjs.entry.js +58 -0
  61. package/dist/cjs/ifx-overview-table.cjs.entry.js +59 -0
  62. package/dist/cjs/ifx-popover.cjs.entry.js +340 -0
  63. package/dist/cjs/ifx-progress-bar.cjs.entry.js +46 -0
  64. package/dist/cjs/ifx-radio-button-group.cjs.entry.js +77 -0
  65. package/dist/cjs/ifx-radio-button.cjs.entry.js +148 -0
  66. package/dist/cjs/ifx-search-bar.cjs.entry.js +123 -0
  67. package/dist/cjs/ifx-search-field.cjs.entry.js +562 -0
  68. package/dist/cjs/ifx-segment.cjs.entry.js +46 -0
  69. package/dist/cjs/ifx-segmented-control.cjs.entry.js +151 -0
  70. package/dist/cjs/ifx-select-group.cjs.entry.js +43 -0
  71. package/dist/cjs/ifx-select_2.cjs.entry.js +574 -0
  72. package/dist/cjs/ifx-set-filter.cjs.entry.js +83 -0
  73. package/dist/cjs/ifx-sidebar-item.cjs.entry.js +290 -0
  74. package/dist/cjs/ifx-sidebar-separator.cjs.entry.js +17 -0
  75. package/dist/cjs/ifx-sidebar-title.cjs.entry.js +24 -0
  76. package/dist/cjs/ifx-sidebar.cjs.entry.js +454 -0
  77. package/dist/cjs/ifx-slider.cjs.entry.js +364 -0
  78. package/dist/cjs/ifx-spinner.cjs.entry.js +53 -0
  79. package/dist/cjs/ifx-status.cjs.entry.js +36 -0
  80. package/dist/cjs/ifx-step.cjs.entry.js +104 -0
  81. package/dist/cjs/ifx-stepper.cjs.entry.js +168 -0
  82. package/dist/cjs/ifx-switch.cjs.entry.js +190 -0
  83. package/dist/cjs/ifx-tab.cjs.entry.js +42 -0
  84. package/dist/cjs/ifx-table.cjs.entry.js +1466 -0
  85. package/dist/cjs/ifx-tabs.cjs.entry.js +380 -0
  86. package/dist/cjs/ifx-templates-ui.cjs.entry.js +58 -0
  87. package/dist/cjs/ifx-text-field.cjs.entry.js +131 -0
  88. package/dist/cjs/ifx-textarea.cjs.entry.js +132 -0
  89. package/dist/cjs/ifx-toast-container.cjs.entry.js +114 -0
  90. package/dist/cjs/ifx-toast.cjs.entry.js +193 -0
  91. package/dist/cjs/ifx-tooltip.cjs.entry.js +228 -0
  92. package/dist/cjs/ifx-tree-view-item.cjs.entry.js +404 -0
  93. package/dist/cjs/ifx-tree-view.cjs.entry.js +70 -0
  94. package/dist/cjs/index-BiOrxEib.js +3361 -0
  95. package/dist/cjs/index-Bp6Dd2i1.js +94 -0
  96. package/dist/cjs/index.cjs.js +121 -0
  97. package/dist/cjs/infineon-design-system-stencil.cjs.js +45 -0
  98. package/dist/cjs/loader.cjs.js +12 -0
  99. package/dist/cjs/main.esm-Y2lKtAqX.js +56050 -0
  100. package/dist/cjs/popper-Dmp8OTYh.js +1792 -0
  101. package/dist/cjs/toast-config-D0RjnbKw.js +21 -0
  102. package/dist/cjs/tracking-BPjaTlNR.js +144 -0
  103. package/dist/cjs/url-utils-CPE59br4.js +18 -0
  104. package/dist/collection/collection-manifest.json +105 -0
  105. package/dist/collection/components/accordion/accordion.css +10 -0
  106. package/dist/collection/components/accordion/accordion.js +76 -0
  107. package/dist/collection/components/accordion/accordionItem.css +128 -0
  108. package/dist/collection/components/accordion/accordionItem.js +250 -0
  109. package/dist/collection/components/action-list/action-list-item.css +71 -0
  110. package/dist/collection/components/action-list/action-list-item.js +409 -0
  111. package/dist/collection/components/action-list/action-list.css +8 -0
  112. package/dist/collection/components/action-list/action-list.js +56 -0
  113. package/dist/collection/components/ai-label/ai-label.css +55 -0
  114. package/dist/collection/components/ai-label/ai-label.js +68 -0
  115. package/dist/collection/components/alert/alert.css +142 -0
  116. package/dist/collection/components/alert/alert.js +167 -0
  117. package/dist/collection/components/breadcrumb/breadcrumb-item-label.css +33 -0
  118. package/dist/collection/components/breadcrumb/breadcrumb-item-label.js +121 -0
  119. package/dist/collection/components/breadcrumb/breadcrumb-item.css +52 -0
  120. package/dist/collection/components/breadcrumb/breadcrumb-item.js +146 -0
  121. package/dist/collection/components/breadcrumb/breadcrumb.css +14 -0
  122. package/dist/collection/components/breadcrumb/breadcrumb.js +54 -0
  123. package/dist/collection/components/button/button.css +247 -0
  124. package/dist/collection/components/button/button.js +383 -0
  125. package/dist/collection/components/card/card-headline/card-headline.css +36 -0
  126. package/dist/collection/components/card/card-headline/card-headline.js +41 -0
  127. package/dist/collection/components/card/card-image/card-image.css +24 -0
  128. package/dist/collection/components/card/card-image/card-image.js +136 -0
  129. package/dist/collection/components/card/card-links/card-links.css +18 -0
  130. package/dist/collection/components/card/card-links/card-links.js +20 -0
  131. package/dist/collection/components/card/card-overline/card-overline.css +25 -0
  132. package/dist/collection/components/card/card-overline/card-overline.js +18 -0
  133. package/dist/collection/components/card/card-text/card-text.css +30 -0
  134. package/dist/collection/components/card/card-text/card-text.js +33 -0
  135. package/dist/collection/components/card/card.css +187 -0
  136. package/dist/collection/components/card/card.js +221 -0
  137. package/dist/collection/components/checkbox/checkbox.css +154 -0
  138. package/dist/collection/components/checkbox/checkbox.js +546 -0
  139. package/dist/collection/components/checkbox-group/checkbox-group.css +70 -0
  140. package/dist/collection/components/checkbox-group/checkbox-group.js +278 -0
  141. package/dist/collection/components/chip/chip-item/chip-item.css +39 -0
  142. package/dist/collection/components/chip/chip-item/chip-item.js +199 -0
  143. package/dist/collection/components/chip/chip.css +180 -0
  144. package/dist/collection/components/chip/chip.js +581 -0
  145. package/dist/collection/components/chip/interfaces.js +1 -0
  146. package/dist/collection/components/content-switcher/content-switcher-item.css +38 -0
  147. package/dist/collection/components/content-switcher/content-switcher-item.js +65 -0
  148. package/dist/collection/components/content-switcher/content-switcher.css +32 -0
  149. package/dist/collection/components/content-switcher/content-switcher.js +223 -0
  150. package/dist/collection/components/counter/counter.css +69 -0
  151. package/dist/collection/components/counter/counter.js +131 -0
  152. package/dist/collection/components/date-picker/date-picker.css +206 -0
  153. package/dist/collection/components/date-picker/date-picker.js +522 -0
  154. package/dist/collection/components/download/download.css +0 -0
  155. package/dist/collection/components/download/download.js +65 -0
  156. package/dist/collection/components/dropdown/IOpenable.js +1 -0
  157. package/dist/collection/components/dropdown/dropdown-header/dropdown-header.css +18 -0
  158. package/dist/collection/components/dropdown/dropdown-header/dropdown-header.js +19 -0
  159. package/dist/collection/components/dropdown/dropdown-item/dropdown-item.css +58 -0
  160. package/dist/collection/components/dropdown/dropdown-item/dropdown-item.js +231 -0
  161. package/dist/collection/components/dropdown/dropdown-menu/dropdown-menu.css +32 -0
  162. package/dist/collection/components/dropdown/dropdown-menu/dropdown-menu.js +177 -0
  163. package/dist/collection/components/dropdown/dropdown-seperator/dropdown-separator.css +5 -0
  164. package/dist/collection/components/dropdown/dropdown-seperator/dropdown-separator.js +19 -0
  165. package/dist/collection/components/dropdown/dropdown-trigger/dropdown-trigger.css +4 -0
  166. package/dist/collection/components/dropdown/dropdown-trigger/dropdown-trigger.js +45 -0
  167. package/dist/collection/components/dropdown/dropdown-trigger-button/dropdown-trigger-button.css +14 -0
  168. package/dist/collection/components/dropdown/dropdown-trigger-button/dropdown-trigger-button.js +155 -0
  169. package/dist/collection/components/dropdown/dropdown.css +3 -0
  170. package/dist/collection/components/dropdown/dropdown.js +519 -0
  171. package/dist/collection/components/error-page/error-page.css +118 -0
  172. package/dist/collection/components/error-page/error-page.js +155 -0
  173. package/dist/collection/components/file-upload/file-upload.css +209 -0
  174. package/dist/collection/components/file-upload/file-upload.js +1796 -0
  175. package/dist/collection/components/footer/footer-column.css +28 -0
  176. package/dist/collection/components/footer/footer-column.js +20 -0
  177. package/dist/collection/components/footer/footer.css +137 -0
  178. package/dist/collection/components/footer/footer.js +67 -0
  179. package/dist/collection/components/icon/figma_code_connect_icons.js +34 -0
  180. package/dist/collection/components/icon/icon.css +10 -0
  181. package/dist/collection/components/icon/icon.js +183 -0
  182. package/dist/collection/components/icon-button/icon-button.css +131 -0
  183. package/dist/collection/components/icon-button/icon-button.js +321 -0
  184. package/dist/collection/components/icons-preview/icons-preview.css +93 -0
  185. package/dist/collection/components/icons-preview/icons-preview.js +78 -0
  186. package/dist/collection/components/indicator/indicator.css +45 -0
  187. package/dist/collection/components/indicator/indicator.js +137 -0
  188. package/dist/collection/components/link/link.css +107 -0
  189. package/dist/collection/components/link/link.js +298 -0
  190. package/dist/collection/components/modal/modal.css +196 -0
  191. package/dist/collection/components/modal/modal.js +560 -0
  192. package/dist/collection/components/navigation/navbar/navbar-item.css +278 -0
  193. package/dist/collection/components/navigation/navbar/navbar-item.js +812 -0
  194. package/dist/collection/components/navigation/navbar/navbar-profile.js +354 -0
  195. package/dist/collection/components/navigation/navbar/navbar.css +417 -0
  196. package/dist/collection/components/navigation/navbar/navbar.js +857 -0
  197. package/dist/collection/components/navigation/sidebar/sidebar-item.css +201 -0
  198. package/dist/collection/components/navigation/sidebar/sidebar-item.js +583 -0
  199. package/dist/collection/components/navigation/sidebar/sidebar-seperator/sidebar-separator.css +5 -0
  200. package/dist/collection/components/navigation/sidebar/sidebar-seperator/sidebar-separator.js +19 -0
  201. package/dist/collection/components/navigation/sidebar/sidebar-title.css +25 -0
  202. package/dist/collection/components/navigation/sidebar/sidebar-title.js +50 -0
  203. package/dist/collection/components/navigation/sidebar/sidebar.css +254 -0
  204. package/dist/collection/components/navigation/sidebar/sidebar.js +896 -0
  205. package/dist/collection/components/notification/notification.css +80 -0
  206. package/dist/collection/components/notification/notification.js +205 -0
  207. package/dist/collection/components/overview-table/overview-table.css +152 -0
  208. package/dist/collection/components/overview-table/overview-table.js +61 -0
  209. package/dist/collection/components/pagination/pagination.css +190 -0
  210. package/dist/collection/components/pagination/pagination.js +459 -0
  211. package/dist/collection/components/popover/popover.css +95 -0
  212. package/dist/collection/components/popover/popover.js +565 -0
  213. package/dist/collection/components/progress-bar/progress-bar.css +38 -0
  214. package/dist/collection/components/progress-bar/progress-bar.js +118 -0
  215. package/dist/collection/components/radio-button/radio-button.css +157 -0
  216. package/dist/collection/components/radio-button/radio-button.js +334 -0
  217. package/dist/collection/components/radio-button-group/radio-button-group.css +69 -0
  218. package/dist/collection/components/radio-button-group/radio-button-group.js +278 -0
  219. package/dist/collection/components/search-bar/search-bar.css +60 -0
  220. package/dist/collection/components/search-bar/search-bar.js +323 -0
  221. package/dist/collection/components/search-field/search-field.css +235 -0
  222. package/dist/collection/components/search-field/search-field.js +1156 -0
  223. package/dist/collection/components/segmented-control/segment/segment.css +46 -0
  224. package/dist/collection/components/segmented-control/segment/segment.js +145 -0
  225. package/dist/collection/components/segmented-control/segmented-control.css +47 -0
  226. package/dist/collection/components/segmented-control/segmented-control.js +319 -0
  227. package/dist/collection/components/select/multi-select/interfaces.js +1 -0
  228. package/dist/collection/components/select/multi-select/multiselect-group.css +18 -0
  229. package/dist/collection/components/select/multi-select/multiselect-group.js +92 -0
  230. package/dist/collection/components/select/multi-select/multiselect-option.css +113 -0
  231. package/dist/collection/components/select/multi-select/multiselect-option.js +530 -0
  232. package/dist/collection/components/select/multi-select/multiselect.css +337 -0
  233. package/dist/collection/components/select/multi-select/multiselect.js +1353 -0
  234. package/dist/collection/components/select/single-select/select-group.css +24 -0
  235. package/dist/collection/components/select/single-select/select-group.js +94 -0
  236. package/dist/collection/components/select/single-select/select-option.css +65 -0
  237. package/dist/collection/components/select/single-select/select-option.js +241 -0
  238. package/dist/collection/components/select/single-select/select.css +213 -0
  239. package/dist/collection/components/select/single-select/select.js +1030 -0
  240. package/dist/collection/components/slider/slider.css +157 -0
  241. package/dist/collection/components/slider/slider.js +703 -0
  242. package/dist/collection/components/spinner/spinner.css +66 -0
  243. package/dist/collection/components/spinner/spinner.js +151 -0
  244. package/dist/collection/components/status/status.css +196 -0
  245. package/dist/collection/components/status/status.js +102 -0
  246. package/dist/collection/components/stepper/interfaces.js +1 -0
  247. package/dist/collection/components/stepper/step/step.css +189 -0
  248. package/dist/collection/components/stepper/step/step.js +250 -0
  249. package/dist/collection/components/stepper/stepper.css +58 -0
  250. package/dist/collection/components/stepper/stepper.js +327 -0
  251. package/dist/collection/components/switch/switch.css +116 -0
  252. package/dist/collection/components/switch/switch.js +419 -0
  253. package/dist/collection/components/table-advanced-version/buttonCellRenderer.js +72 -0
  254. package/dist/collection/components/table-advanced-version/checkboxCellRenderer.js +67 -0
  255. package/dist/collection/components/table-advanced-version/checkboxHeaderRenderer.js +32 -0
  256. package/dist/collection/components/table-advanced-version/customLoadingOverlay.js +15 -0
  257. package/dist/collection/components/table-advanced-version/customNoRowsOverlay.js +17 -0
  258. package/dist/collection/components/table-advanced-version/filter-bar/filter-bar.css +64 -0
  259. package/dist/collection/components/table-advanced-version/filter-bar/filter-bar.js +195 -0
  260. package/dist/collection/components/table-advanced-version/filter-type-group/filter-accordion/filter-accordion.css +70 -0
  261. package/dist/collection/components/table-advanced-version/filter-type-group/filter-accordion/filter-accordion.js +124 -0
  262. package/dist/collection/components/table-advanced-version/filter-type-group/filter-search/filter-search.css +30 -0
  263. package/dist/collection/components/table-advanced-version/filter-type-group/filter-search/filter-search.js +216 -0
  264. package/dist/collection/components/table-advanced-version/filter-type-group/filter-type-group.css +14 -0
  265. package/dist/collection/components/table-advanced-version/filter-type-group/filter-type-group.js +231 -0
  266. package/dist/collection/components/table-advanced-version/filter-type-group/utils.js +12 -0
  267. package/dist/collection/components/table-advanced-version/iconButtonCellRenderer.js +69 -0
  268. package/dist/collection/components/table-advanced-version/interfaces.js +17 -0
  269. package/dist/collection/components/table-advanced-version/linkCellRenderer.js +50 -0
  270. package/dist/collection/components/table-advanced-version/list/list-entry/list-entry.css +7 -0
  271. package/dist/collection/components/table-advanced-version/list/list-entry/list-entry.js +134 -0
  272. package/dist/collection/components/table-advanced-version/list/list.css +8 -0
  273. package/dist/collection/components/table-advanced-version/list/list.js +255 -0
  274. package/dist/collection/components/table-advanced-version/set-filter/set-filter.css +1 -0
  275. package/dist/collection/components/table-advanced-version/set-filter/setFilter.js +207 -0
  276. package/dist/collection/components/table-advanced-version/statusCellRenderer.js +30 -0
  277. package/dist/collection/components/table-advanced-version/table.css +7362 -0
  278. package/dist/collection/components/table-advanced-version/table.js +1598 -0
  279. package/dist/collection/components/table-advanced-version/tooltipCellRenderer.js +59 -0
  280. package/dist/collection/components/table-basic-version/customLoadingOverlay.js +15 -0
  281. package/dist/collection/components/table-basic-version/customNoRowsOverlay.js +17 -0
  282. package/dist/collection/components/table-basic-version/interfaces.js +8 -0
  283. package/dist/collection/components/table-basic-version/table.css +7211 -0
  284. package/dist/collection/components/table-basic-version/table.js +318 -0
  285. package/dist/collection/components/tabs/tab.css +3 -0
  286. package/dist/collection/components/tabs/tab.js +240 -0
  287. package/dist/collection/components/tabs/tabs.css +341 -0
  288. package/dist/collection/components/tabs/tabs.js +606 -0
  289. package/dist/collection/components/templates/template/template.css +76 -0
  290. package/dist/collection/components/templates/template/template.js +272 -0
  291. package/dist/collection/components/templates/templates-ui/templates-ui.css +33 -0
  292. package/dist/collection/components/templates/templates-ui/templates-ui.js +75 -0
  293. package/dist/collection/components/text-field/text-field.css +193 -0
  294. package/dist/collection/components/text-field/text-field.js +514 -0
  295. package/dist/collection/components/textarea/textarea.css +97 -0
  296. package/dist/collection/components/textarea/textarea.js +485 -0
  297. package/dist/collection/components/toast/toast-config.js +17 -0
  298. package/dist/collection/components/toast/toast-container/toast-container.css +58 -0
  299. package/dist/collection/components/toast/toast-container/toast-container.js +280 -0
  300. package/dist/collection/components/toast/toast-controller.js +116 -0
  301. package/dist/collection/components/toast/toast.css +68 -0
  302. package/dist/collection/components/toast/toast.js +397 -0
  303. package/dist/collection/components/tooltip/tooltip.css +164 -0
  304. package/dist/collection/components/tooltip/tooltip.js +380 -0
  305. package/dist/collection/components/tree-view/tree-view-item.css +112 -0
  306. package/dist/collection/components/tree-view/tree-view-item.js +603 -0
  307. package/dist/collection/components/tree-view/tree-view.css +19 -0
  308. package/dist/collection/components/tree-view/tree-view.js +187 -0
  309. package/dist/collection/global/setup.js +5 -0
  310. package/dist/collection/index.js +2 -0
  311. package/dist/collection/shared/utils/animation.js +37 -0
  312. package/dist/collection/shared/utils/colorNames.js +1 -0
  313. package/dist/collection/shared/utils/dom-ready.js +15 -0
  314. package/dist/collection/shared/utils/dom-utils.js +15 -0
  315. package/dist/collection/shared/utils/focus-trap.js +120 -0
  316. package/dist/collection/shared/utils/framework-detection.js +74 -0
  317. package/dist/collection/shared/utils/tracking.js +60 -0
  318. package/dist/collection/shared/utils/url-utils.js +14 -0
  319. package/dist/collection/storybook/public/favicon.svg +5 -0
  320. package/dist/components/ifx-accordion-item.d.ts +11 -0
  321. package/dist/components/ifx-accordion-item.js +1 -0
  322. package/dist/components/ifx-accordion.d.ts +11 -0
  323. package/dist/components/ifx-accordion.js +1 -0
  324. package/dist/components/ifx-action-list-item.d.ts +11 -0
  325. package/dist/components/ifx-action-list-item.js +1 -0
  326. package/dist/components/ifx-action-list.d.ts +11 -0
  327. package/dist/components/ifx-action-list.js +1 -0
  328. package/dist/components/ifx-ai-label.d.ts +11 -0
  329. package/dist/components/ifx-ai-label.js +1 -0
  330. package/dist/components/ifx-alert.d.ts +11 -0
  331. package/dist/components/ifx-alert.js +1 -0
  332. package/dist/components/ifx-basic-table.d.ts +11 -0
  333. package/dist/components/ifx-basic-table.js +1 -0
  334. package/dist/components/ifx-breadcrumb-item-label.d.ts +11 -0
  335. package/dist/components/ifx-breadcrumb-item-label.js +1 -0
  336. package/dist/components/ifx-breadcrumb-item.d.ts +11 -0
  337. package/dist/components/ifx-breadcrumb-item.js +1 -0
  338. package/dist/components/ifx-breadcrumb.d.ts +11 -0
  339. package/dist/components/ifx-breadcrumb.js +1 -0
  340. package/dist/components/ifx-button.d.ts +11 -0
  341. package/dist/components/ifx-button.js +1 -0
  342. package/dist/components/ifx-card-headline.d.ts +11 -0
  343. package/dist/components/ifx-card-headline.js +1 -0
  344. package/dist/components/ifx-card-image.d.ts +11 -0
  345. package/dist/components/ifx-card-image.js +1 -0
  346. package/dist/components/ifx-card-links.d.ts +11 -0
  347. package/dist/components/ifx-card-links.js +1 -0
  348. package/dist/components/ifx-card-overline.d.ts +11 -0
  349. package/dist/components/ifx-card-overline.js +1 -0
  350. package/dist/components/ifx-card-text.d.ts +11 -0
  351. package/dist/components/ifx-card-text.js +1 -0
  352. package/dist/components/ifx-card.d.ts +11 -0
  353. package/dist/components/ifx-card.js +1 -0
  354. package/dist/components/ifx-checkbox-group.d.ts +11 -0
  355. package/dist/components/ifx-checkbox-group.js +1 -0
  356. package/dist/components/ifx-checkbox.d.ts +11 -0
  357. package/dist/components/ifx-checkbox.js +1 -0
  358. package/dist/components/ifx-chip-item.d.ts +11 -0
  359. package/dist/components/ifx-chip-item.js +1 -0
  360. package/dist/components/ifx-chip.d.ts +11 -0
  361. package/dist/components/ifx-chip.js +1 -0
  362. package/dist/components/ifx-content-switcher-item.d.ts +11 -0
  363. package/dist/components/ifx-content-switcher-item.js +1 -0
  364. package/dist/components/ifx-content-switcher.d.ts +11 -0
  365. package/dist/components/ifx-content-switcher.js +1 -0
  366. package/dist/components/ifx-counter.d.ts +11 -0
  367. package/dist/components/ifx-counter.js +1 -0
  368. package/dist/components/ifx-date-picker.d.ts +11 -0
  369. package/dist/components/ifx-date-picker.js +1 -0
  370. package/dist/components/ifx-download.d.ts +11 -0
  371. package/dist/components/ifx-download.js +1 -0
  372. package/dist/components/ifx-dropdown-header.d.ts +11 -0
  373. package/dist/components/ifx-dropdown-header.js +1 -0
  374. package/dist/components/ifx-dropdown-item.d.ts +11 -0
  375. package/dist/components/ifx-dropdown-item.js +1 -0
  376. package/dist/components/ifx-dropdown-menu.d.ts +11 -0
  377. package/dist/components/ifx-dropdown-menu.js +1 -0
  378. package/dist/components/ifx-dropdown-separator.d.ts +11 -0
  379. package/dist/components/ifx-dropdown-separator.js +1 -0
  380. package/dist/components/ifx-dropdown-trigger-button.d.ts +11 -0
  381. package/dist/components/ifx-dropdown-trigger-button.js +1 -0
  382. package/dist/components/ifx-dropdown-trigger.d.ts +11 -0
  383. package/dist/components/ifx-dropdown-trigger.js +1 -0
  384. package/dist/components/ifx-dropdown.d.ts +11 -0
  385. package/dist/components/ifx-dropdown.js +1 -0
  386. package/dist/components/ifx-error-page.d.ts +11 -0
  387. package/dist/components/ifx-error-page.js +1 -0
  388. package/dist/components/ifx-file-upload.d.ts +11 -0
  389. package/dist/components/ifx-file-upload.js +1 -0
  390. package/dist/components/ifx-filter-accordion.d.ts +11 -0
  391. package/dist/components/ifx-filter-accordion.js +1 -0
  392. package/dist/components/ifx-filter-bar.d.ts +11 -0
  393. package/dist/components/ifx-filter-bar.js +1 -0
  394. package/dist/components/ifx-filter-search.d.ts +11 -0
  395. package/dist/components/ifx-filter-search.js +1 -0
  396. package/dist/components/ifx-filter-type-group.d.ts +11 -0
  397. package/dist/components/ifx-filter-type-group.js +1 -0
  398. package/dist/components/ifx-footer-column.d.ts +11 -0
  399. package/dist/components/ifx-footer-column.js +1 -0
  400. package/dist/components/ifx-footer.d.ts +11 -0
  401. package/dist/components/ifx-footer.js +1 -0
  402. package/dist/components/ifx-icon-button.d.ts +11 -0
  403. package/dist/components/ifx-icon-button.js +1 -0
  404. package/dist/components/ifx-icon.d.ts +11 -0
  405. package/dist/components/ifx-icon.js +1 -0
  406. package/dist/components/ifx-icons-preview.d.ts +11 -0
  407. package/dist/components/ifx-icons-preview.js +1 -0
  408. package/dist/components/ifx-indicator.d.ts +11 -0
  409. package/dist/components/ifx-indicator.js +1 -0
  410. package/dist/components/ifx-link.d.ts +11 -0
  411. package/dist/components/ifx-link.js +1 -0
  412. package/dist/components/ifx-list-entry.d.ts +11 -0
  413. package/dist/components/ifx-list-entry.js +1 -0
  414. package/dist/components/ifx-list.d.ts +11 -0
  415. package/dist/components/ifx-list.js +1 -0
  416. package/dist/components/ifx-modal.d.ts +11 -0
  417. package/dist/components/ifx-modal.js +1 -0
  418. package/dist/components/ifx-multiselect-group.d.ts +11 -0
  419. package/dist/components/ifx-multiselect-group.js +1 -0
  420. package/dist/components/ifx-multiselect-option.d.ts +11 -0
  421. package/dist/components/ifx-multiselect-option.js +1 -0
  422. package/dist/components/ifx-multiselect.d.ts +11 -0
  423. package/dist/components/ifx-multiselect.js +1 -0
  424. package/dist/components/ifx-navbar-item.d.ts +11 -0
  425. package/dist/components/ifx-navbar-item.js +1 -0
  426. package/dist/components/ifx-navbar-profile.d.ts +11 -0
  427. package/dist/components/ifx-navbar-profile.js +1 -0
  428. package/dist/components/ifx-navbar.d.ts +11 -0
  429. package/dist/components/ifx-navbar.js +1 -0
  430. package/dist/components/ifx-notification.d.ts +11 -0
  431. package/dist/components/ifx-notification.js +1 -0
  432. package/dist/components/ifx-overview-table.d.ts +11 -0
  433. package/dist/components/ifx-overview-table.js +1 -0
  434. package/dist/components/ifx-pagination.d.ts +11 -0
  435. package/dist/components/ifx-pagination.js +1 -0
  436. package/dist/components/ifx-popover.d.ts +11 -0
  437. package/dist/components/ifx-popover.js +1 -0
  438. package/dist/components/ifx-progress-bar.d.ts +11 -0
  439. package/dist/components/ifx-progress-bar.js +1 -0
  440. package/dist/components/ifx-radio-button-group.d.ts +11 -0
  441. package/dist/components/ifx-radio-button-group.js +1 -0
  442. package/dist/components/ifx-radio-button.d.ts +11 -0
  443. package/dist/components/ifx-radio-button.js +1 -0
  444. package/dist/components/ifx-search-bar.d.ts +11 -0
  445. package/dist/components/ifx-search-bar.js +1 -0
  446. package/dist/components/ifx-search-field.d.ts +11 -0
  447. package/dist/components/ifx-search-field.js +1 -0
  448. package/dist/components/ifx-segment.d.ts +11 -0
  449. package/dist/components/ifx-segment.js +1 -0
  450. package/dist/components/ifx-segmented-control.d.ts +11 -0
  451. package/dist/components/ifx-segmented-control.js +1 -0
  452. package/dist/components/ifx-select-group.d.ts +11 -0
  453. package/dist/components/ifx-select-group.js +1 -0
  454. package/dist/components/ifx-select-option.d.ts +11 -0
  455. package/dist/components/ifx-select-option.js +1 -0
  456. package/dist/components/ifx-select.d.ts +11 -0
  457. package/dist/components/ifx-select.js +1 -0
  458. package/dist/components/ifx-set-filter.d.ts +11 -0
  459. package/dist/components/ifx-set-filter.js +1 -0
  460. package/dist/components/ifx-sidebar-item.d.ts +11 -0
  461. package/dist/components/ifx-sidebar-item.js +1 -0
  462. package/dist/components/ifx-sidebar-separator.d.ts +11 -0
  463. package/dist/components/ifx-sidebar-separator.js +1 -0
  464. package/dist/components/ifx-sidebar-title.d.ts +11 -0
  465. package/dist/components/ifx-sidebar-title.js +1 -0
  466. package/dist/components/ifx-sidebar.d.ts +11 -0
  467. package/dist/components/ifx-sidebar.js +1 -0
  468. package/dist/components/ifx-slider.d.ts +11 -0
  469. package/dist/components/ifx-slider.js +1 -0
  470. package/dist/components/ifx-spinner.d.ts +11 -0
  471. package/dist/components/ifx-spinner.js +1 -0
  472. package/dist/components/ifx-status.d.ts +11 -0
  473. package/dist/components/ifx-status.js +1 -0
  474. package/dist/components/ifx-step.d.ts +11 -0
  475. package/dist/components/ifx-step.js +1 -0
  476. package/dist/components/ifx-stepper.d.ts +11 -0
  477. package/dist/components/ifx-stepper.js +1 -0
  478. package/dist/components/ifx-switch.d.ts +11 -0
  479. package/dist/components/ifx-switch.js +1 -0
  480. package/dist/components/ifx-tab.d.ts +11 -0
  481. package/dist/components/ifx-tab.js +1 -0
  482. package/dist/components/ifx-table.d.ts +11 -0
  483. package/dist/components/ifx-table.js +1 -0
  484. package/dist/components/ifx-tabs.d.ts +11 -0
  485. package/dist/components/ifx-tabs.js +1 -0
  486. package/dist/components/ifx-template.d.ts +11 -0
  487. package/dist/components/ifx-template.js +1 -0
  488. package/dist/components/ifx-templates-ui.d.ts +11 -0
  489. package/dist/components/ifx-templates-ui.js +1 -0
  490. package/dist/components/ifx-text-field.d.ts +11 -0
  491. package/dist/components/ifx-text-field.js +1 -0
  492. package/dist/components/ifx-textarea.d.ts +11 -0
  493. package/dist/components/ifx-textarea.js +1 -0
  494. package/dist/components/ifx-toast-container.d.ts +11 -0
  495. package/dist/components/ifx-toast-container.js +1 -0
  496. package/dist/components/ifx-toast.d.ts +11 -0
  497. package/dist/components/ifx-toast.js +1 -0
  498. package/dist/components/ifx-tooltip.d.ts +11 -0
  499. package/dist/components/ifx-tooltip.js +1 -0
  500. package/dist/components/ifx-tree-view-item.d.ts +11 -0
  501. package/dist/components/ifx-tree-view-item.js +1 -0
  502. package/dist/components/ifx-tree-view.d.ts +11 -0
  503. package/dist/components/ifx-tree-view.js +1 -0
  504. package/dist/components/index.d.ts +221 -0
  505. package/dist/components/index.js +1 -0
  506. package/dist/components/p-6rWkhPoz.js +1 -0
  507. package/dist/components/p-94ZtGp9D.js +1 -0
  508. package/dist/components/p-B2BXeRbX.js +1 -0
  509. package/dist/components/p-B9Se0P8X.js +1 -0
  510. package/dist/components/p-BQusv3OP.js +1 -0
  511. package/dist/components/p-BT3Wl1wi.js +1 -0
  512. package/dist/components/p-BT_2CyMS.js +1 -0
  513. package/dist/components/p-BfP9ezJQ.js +1 -0
  514. package/dist/components/p-BfTCfPZ1.js +6 -0
  515. package/dist/components/p-BsM3UmwT.js +1 -0
  516. package/dist/components/p-BwNZsorZ.js +1 -0
  517. package/dist/components/p-ByHlxOiP.js +1 -0
  518. package/dist/components/p-By_rGGZ6.js +1 -0
  519. package/dist/components/p-C0ZpAymO.js +1 -0
  520. package/dist/components/p-C2NpYb5B.js +1 -0
  521. package/dist/components/p-CFIxSP2i.js +1 -0
  522. package/dist/components/p-CHllTWC_.js +1 -0
  523. package/dist/components/p-CKEkzlHL.js +1 -0
  524. package/dist/components/p-COoPXL_o.js +1 -0
  525. package/dist/components/p-CZkp3I3Z.js +1 -0
  526. package/dist/components/p-Cof8Iu4T.js +1 -0
  527. package/dist/components/p-D8rBTzjL.js +1 -0
  528. package/dist/components/p-DMAv4MDG.js +1 -0
  529. package/dist/components/p-DqacDHEO.js +1 -0
  530. package/dist/components/p-M9y7mTsF.js +1 -0
  531. package/dist/components/p-OJkXkXZS.js +1 -0
  532. package/dist/components/p-QgsB_-OM.js +1 -0
  533. package/dist/components/p-tjdx4F2u.js +1 -0
  534. package/dist/components/p-uQx-50k_.js +1 -0
  535. package/dist/docs.d.ts +480 -0
  536. package/dist/docs.json +21723 -0
  537. package/dist/esm/animation-BT3Wl1wi.js +39 -0
  538. package/dist/esm/dom-utils-CtINY9El.js +17 -0
  539. package/dist/esm/icons-ZeLzvI0y.js +1331 -0
  540. package/dist/esm/ifx-accordion-item.entry.js +116 -0
  541. package/dist/esm/ifx-accordion.entry.js +38 -0
  542. package/dist/esm/ifx-action-list-item.entry.js +236 -0
  543. package/dist/esm/ifx-action-list.entry.js +28 -0
  544. package/dist/esm/ifx-ai-label.entry.js +21 -0
  545. package/dist/esm/ifx-alert_2.entry.js +214 -0
  546. package/dist/esm/ifx-basic-table.entry.js +216 -0
  547. package/dist/esm/ifx-breadcrumb-item-label.entry.js +33 -0
  548. package/dist/esm/ifx-breadcrumb-item.entry.js +114 -0
  549. package/dist/esm/ifx-breadcrumb.entry.js +49 -0
  550. package/dist/esm/ifx-button.entry.js +154 -0
  551. package/dist/esm/ifx-card-headline.entry.js +31 -0
  552. package/dist/esm/ifx-card-image.entry.js +35 -0
  553. package/dist/esm/ifx-card-links.entry.js +16 -0
  554. package/dist/esm/ifx-card-overline.entry.js +15 -0
  555. package/dist/esm/ifx-card-text.entry.js +24 -0
  556. package/dist/esm/ifx-card.entry.js +75 -0
  557. package/dist/esm/ifx-checkbox-group.entry.js +75 -0
  558. package/dist/esm/ifx-checkbox.entry.js +253 -0
  559. package/dist/esm/ifx-chip-item_2.entry.js +389 -0
  560. package/dist/esm/ifx-chip.entry.js +338 -0
  561. package/dist/esm/ifx-content-switcher-item.entry.js +19 -0
  562. package/dist/esm/ifx-content-switcher.entry.js +186 -0
  563. package/dist/esm/ifx-counter.entry.js +72 -0
  564. package/dist/esm/ifx-date-picker.entry.js +201 -0
  565. package/dist/esm/ifx-download.entry.js +38 -0
  566. package/dist/esm/ifx-dropdown-header.entry.js +15 -0
  567. package/dist/esm/ifx-dropdown-item.entry.js +66 -0
  568. package/dist/esm/ifx-dropdown-menu.entry.js +69 -0
  569. package/dist/esm/ifx-dropdown-separator.entry.js +15 -0
  570. package/dist/esm/ifx-dropdown-trigger-button.entry.js +27 -0
  571. package/dist/esm/ifx-dropdown-trigger.entry.js +17 -0
  572. package/dist/esm/ifx-dropdown.entry.js +255 -0
  573. package/dist/esm/ifx-error-page.entry.js +52 -0
  574. package/dist/esm/ifx-file-upload.entry.js +819 -0
  575. package/dist/esm/ifx-filter-accordion.entry.js +65 -0
  576. package/dist/esm/ifx-filter-bar.entry.js +117 -0
  577. package/dist/esm/ifx-filter-search.entry.js +60 -0
  578. package/dist/esm/ifx-filter-type-group.entry.js +166 -0
  579. package/dist/esm/ifx-footer-column.entry.js +16 -0
  580. package/dist/esm/ifx-footer.entry.js +33 -0
  581. package/dist/esm/ifx-icon-button.entry.js +104 -0
  582. package/dist/esm/ifx-icon.entry.js +132 -0
  583. package/dist/esm/ifx-icons-preview.entry.js +15497 -0
  584. package/dist/esm/ifx-indicator.entry.js +44 -0
  585. package/dist/esm/ifx-link.entry.js +123 -0
  586. package/dist/esm/ifx-list-entry.entry.js +42 -0
  587. package/dist/esm/ifx-list.entry.js +141 -0
  588. package/dist/esm/ifx-modal.entry.js +401 -0
  589. package/dist/esm/ifx-multiselect-group.entry.js +40 -0
  590. package/dist/esm/ifx-multiselect_2.entry.js +1148 -0
  591. package/dist/esm/ifx-navbar-item.entry.js +436 -0
  592. package/dist/esm/ifx-navbar-profile.entry.js +171 -0
  593. package/dist/esm/ifx-navbar.entry.js +703 -0
  594. package/dist/esm/ifx-notification.entry.js +56 -0
  595. package/dist/esm/ifx-overview-table.entry.js +57 -0
  596. package/dist/esm/ifx-popover.entry.js +338 -0
  597. package/dist/esm/ifx-progress-bar.entry.js +44 -0
  598. package/dist/esm/ifx-radio-button-group.entry.js +75 -0
  599. package/dist/esm/ifx-radio-button.entry.js +146 -0
  600. package/dist/esm/ifx-search-bar.entry.js +121 -0
  601. package/dist/esm/ifx-search-field.entry.js +560 -0
  602. package/dist/esm/ifx-segment.entry.js +44 -0
  603. package/dist/esm/ifx-segmented-control.entry.js +149 -0
  604. package/dist/esm/ifx-select-group.entry.js +41 -0
  605. package/dist/esm/ifx-select_2.entry.js +571 -0
  606. package/dist/esm/ifx-set-filter.entry.js +81 -0
  607. package/dist/esm/ifx-sidebar-item.entry.js +288 -0
  608. package/dist/esm/ifx-sidebar-separator.entry.js +15 -0
  609. package/dist/esm/ifx-sidebar-title.entry.js +22 -0
  610. package/dist/esm/ifx-sidebar.entry.js +452 -0
  611. package/dist/esm/ifx-slider.entry.js +362 -0
  612. package/dist/esm/ifx-spinner.entry.js +51 -0
  613. package/dist/esm/ifx-status.entry.js +34 -0
  614. package/dist/esm/ifx-step.entry.js +102 -0
  615. package/dist/esm/ifx-stepper.entry.js +166 -0
  616. package/dist/esm/ifx-switch.entry.js +188 -0
  617. package/dist/esm/ifx-tab.entry.js +40 -0
  618. package/dist/esm/ifx-table.entry.js +1464 -0
  619. package/dist/esm/ifx-tabs.entry.js +378 -0
  620. package/dist/esm/ifx-templates-ui.entry.js +56 -0
  621. package/dist/esm/ifx-text-field.entry.js +129 -0
  622. package/dist/esm/ifx-textarea.entry.js +130 -0
  623. package/dist/esm/ifx-toast-container.entry.js +112 -0
  624. package/dist/esm/ifx-toast.entry.js +191 -0
  625. package/dist/esm/ifx-tooltip.entry.js +226 -0
  626. package/dist/esm/ifx-tree-view-item.entry.js +402 -0
  627. package/dist/esm/ifx-tree-view.entry.js +68 -0
  628. package/dist/esm/index-BfTCfPZ1.js +92 -0
  629. package/dist/esm/index-CY4s4b6R.js +3330 -0
  630. package/dist/esm/index.js +119 -0
  631. package/dist/esm/infineon-design-system-stencil.js +41 -0
  632. package/dist/esm/loader.js +10 -0
  633. package/dist/esm/main.esm-ByHlxOiP.js +56045 -0
  634. package/dist/esm/popper-BfP9ezJQ.js +1790 -0
  635. package/dist/esm/toast-config-CvlFl4bk.js +19 -0
  636. package/dist/esm/tracking-DNHOWgWh.js +141 -0
  637. package/dist/esm/url-utils-QgsB_-OM.js +16 -0
  638. package/dist/hydrate/index.d.ts +287 -0
  639. package/dist/hydrate/index.js +115426 -0
  640. package/dist/hydrate/index.mjs +115416 -0
  641. package/dist/hydrate/package.json +12 -0
  642. package/dist/index.cjs.js +1 -0
  643. package/dist/index.js +1 -0
  644. package/dist/infineon-design-system-stencil/index.esm.js +1 -0
  645. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.css +1 -0
  646. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -0
  647. package/dist/infineon-design-system-stencil/p-00e44b86.entry.js +1 -0
  648. package/dist/infineon-design-system-stencil/p-04b2ca48.entry.js +1 -0
  649. package/dist/infineon-design-system-stencil/p-056c97d1.entry.js +1 -0
  650. package/dist/infineon-design-system-stencil/p-068f8d94.entry.js +1 -0
  651. package/dist/infineon-design-system-stencil/p-080482d5.entry.js +1 -0
  652. package/dist/infineon-design-system-stencil/p-0824da97.entry.js +1 -0
  653. package/dist/infineon-design-system-stencil/p-0eb80b01.entry.js +1 -0
  654. package/dist/infineon-design-system-stencil/p-1bde9db6.entry.js +1 -0
  655. package/dist/infineon-design-system-stencil/p-1c5cdf00.entry.js +1 -0
  656. package/dist/infineon-design-system-stencil/p-1d282105.entry.js +1 -0
  657. package/dist/infineon-design-system-stencil/p-1dba3e82.entry.js +1 -0
  658. package/dist/infineon-design-system-stencil/p-1ee2ae36.entry.js +1 -0
  659. package/dist/infineon-design-system-stencil/p-200b5cf4.entry.js +1 -0
  660. package/dist/infineon-design-system-stencil/p-25b276e7.entry.js +1 -0
  661. package/dist/infineon-design-system-stencil/p-27d6189d.entry.js +1 -0
  662. package/dist/infineon-design-system-stencil/p-33cee615.entry.js +1 -0
  663. package/dist/infineon-design-system-stencil/p-387628c3.entry.js +1 -0
  664. package/dist/infineon-design-system-stencil/p-3d79452f.entry.js +1 -0
  665. package/dist/infineon-design-system-stencil/p-3d99137a.entry.js +1 -0
  666. package/dist/infineon-design-system-stencil/p-46025b1d.entry.js +1 -0
  667. package/dist/infineon-design-system-stencil/p-49abd04b.entry.js +1 -0
  668. package/dist/infineon-design-system-stencil/p-4b0cfd87.entry.js +1 -0
  669. package/dist/infineon-design-system-stencil/p-507c06f6.entry.js +1 -0
  670. package/dist/infineon-design-system-stencil/p-58d3465b.entry.js +1 -0
  671. package/dist/infineon-design-system-stencil/p-5ca1e5f9.entry.js +1 -0
  672. package/dist/infineon-design-system-stencil/p-5e787c60.entry.js +1 -0
  673. package/dist/infineon-design-system-stencil/p-622b768a.entry.js +1 -0
  674. package/dist/infineon-design-system-stencil/p-62c217d9.entry.js +1 -0
  675. package/dist/infineon-design-system-stencil/p-633f7103.entry.js +1 -0
  676. package/dist/infineon-design-system-stencil/p-6ad38b43.entry.js +1 -0
  677. package/dist/infineon-design-system-stencil/p-6bc72aa7.entry.js +1 -0
  678. package/dist/infineon-design-system-stencil/p-6d5608f3.entry.js +1 -0
  679. package/dist/infineon-design-system-stencil/p-6dbe3565.entry.js +1 -0
  680. package/dist/infineon-design-system-stencil/p-6feba4bd.entry.js +1 -0
  681. package/dist/infineon-design-system-stencil/p-7637f1a9.entry.js +1 -0
  682. package/dist/infineon-design-system-stencil/p-767d1120.entry.js +1 -0
  683. package/dist/infineon-design-system-stencil/p-7a632c59.entry.js +1 -0
  684. package/dist/infineon-design-system-stencil/p-7cd30e96.entry.js +1 -0
  685. package/dist/infineon-design-system-stencil/p-7cfaf0b0.entry.js +1 -0
  686. package/dist/infineon-design-system-stencil/p-7d1bce96.entry.js +1 -0
  687. package/dist/infineon-design-system-stencil/p-7e39ffb5.entry.js +1 -0
  688. package/dist/infineon-design-system-stencil/p-83ac00d0.entry.js +1 -0
  689. package/dist/infineon-design-system-stencil/p-83ed07c5.entry.js +1 -0
  690. package/dist/infineon-design-system-stencil/p-85699507.entry.js +1 -0
  691. package/dist/infineon-design-system-stencil/p-85cab510.entry.js +1 -0
  692. package/dist/infineon-design-system-stencil/p-86f8257b.entry.js +1 -0
  693. package/dist/infineon-design-system-stencil/p-8712ed7c.entry.js +1 -0
  694. package/dist/infineon-design-system-stencil/p-89ca7297.entry.js +1 -0
  695. package/dist/infineon-design-system-stencil/p-8a9c392b.entry.js +1 -0
  696. package/dist/infineon-design-system-stencil/p-8d6f90ce.entry.js +1 -0
  697. package/dist/infineon-design-system-stencil/p-8f7f4367.entry.js +1 -0
  698. package/dist/infineon-design-system-stencil/p-90055cc1.entry.js +1 -0
  699. package/dist/infineon-design-system-stencil/p-91f93a99.entry.js +1 -0
  700. package/dist/infineon-design-system-stencil/p-981a5d47.entry.js +1 -0
  701. package/dist/infineon-design-system-stencil/p-982379c6.entry.js +1 -0
  702. package/dist/infineon-design-system-stencil/p-98b1d319.entry.js +1 -0
  703. package/dist/infineon-design-system-stencil/p-9ed59a1b.entry.js +1 -0
  704. package/dist/infineon-design-system-stencil/p-BT3Wl1wi.js +1 -0
  705. package/dist/infineon-design-system-stencil/p-BfP9ezJQ.js +1 -0
  706. package/dist/infineon-design-system-stencil/p-BfTCfPZ1.js +6 -0
  707. package/dist/infineon-design-system-stencil/p-ByHlxOiP.js +1 -0
  708. package/dist/infineon-design-system-stencil/p-CY4s4b6R.js +3 -0
  709. package/dist/infineon-design-system-stencil/p-CtINY9El.js +1 -0
  710. package/dist/infineon-design-system-stencil/p-CvlFl4bk.js +1 -0
  711. package/dist/infineon-design-system-stencil/p-DNHOWgWh.js +1 -0
  712. package/dist/infineon-design-system-stencil/p-QgsB_-OM.js +1 -0
  713. package/dist/infineon-design-system-stencil/p-ZeLzvI0y.js +1 -0
  714. package/dist/infineon-design-system-stencil/p-a64b4893.entry.js +1 -0
  715. package/dist/infineon-design-system-stencil/p-a749b6af.entry.js +1 -0
  716. package/dist/infineon-design-system-stencil/p-adee38e7.entry.js +1 -0
  717. package/dist/infineon-design-system-stencil/p-b024ca63.entry.js +1 -0
  718. package/dist/infineon-design-system-stencil/p-b0db38b1.entry.js +1 -0
  719. package/dist/infineon-design-system-stencil/p-b52e98b3.entry.js +1 -0
  720. package/dist/infineon-design-system-stencil/p-b8027aac.entry.js +1 -0
  721. package/dist/infineon-design-system-stencil/p-bc74a63e.entry.js +1 -0
  722. package/dist/infineon-design-system-stencil/p-bdc53480.entry.js +1 -0
  723. package/dist/infineon-design-system-stencil/p-bfd5c624.entry.js +1 -0
  724. package/dist/infineon-design-system-stencil/p-c2955de7.entry.js +1 -0
  725. package/dist/infineon-design-system-stencil/p-c436d915.entry.js +1 -0
  726. package/dist/infineon-design-system-stencil/p-c8de164f.entry.js +1 -0
  727. package/dist/infineon-design-system-stencil/p-d3194d57.entry.js +1 -0
  728. package/dist/infineon-design-system-stencil/p-d7614c74.entry.js +1 -0
  729. package/dist/infineon-design-system-stencil/p-d96c1ee9.entry.js +1 -0
  730. package/dist/infineon-design-system-stencil/p-db3f7660.entry.js +1 -0
  731. package/dist/infineon-design-system-stencil/p-e3fc01c1.entry.js +1 -0
  732. package/dist/infineon-design-system-stencil/p-e616abd0.entry.js +1 -0
  733. package/dist/infineon-design-system-stencil/p-e97262eb.entry.js +1 -0
  734. package/dist/infineon-design-system-stencil/p-ea5f0a88.entry.js +1 -0
  735. package/dist/infineon-design-system-stencil/p-ec37b6a4.entry.js +1 -0
  736. package/dist/infineon-design-system-stencil/p-ec538561.entry.js +1 -0
  737. package/dist/infineon-design-system-stencil/p-ee84f6e7.entry.js +1 -0
  738. package/dist/infineon-design-system-stencil/p-f290a76e.entry.js +1 -0
  739. package/dist/infineon-design-system-stencil/p-f4e8f76a.entry.js +1 -0
  740. package/dist/infineon-design-system-stencil/p-f4f3916e.entry.js +1 -0
  741. package/dist/infineon-design-system-stencil/p-f5b65911.entry.js +1 -0
  742. package/dist/infineon-design-system-stencil/p-f740a48b.entry.js +1 -0
  743. package/dist/infineon-design-system-stencil/p-f9273ee7.entry.js +1 -0
  744. package/dist/infineon-design-system-stencil/p-fbdef7ac.entry.js +1 -0
  745. package/dist/loader/cdn.js +1 -0
  746. package/dist/loader/index.cjs.js +1 -0
  747. package/dist/loader/index.d.ts +24 -0
  748. package/dist/loader/index.es2017.js +1 -0
  749. package/dist/loader/index.js +2 -0
  750. package/dist/types/components/accordion/accordion.d.ts +8 -0
  751. package/dist/types/components/accordion/accordionItem.d.ts +31 -0
  752. package/dist/types/components/action-list/action-list-item.d.ts +59 -0
  753. package/dist/types/components/action-list/action-list.d.ts +9 -0
  754. package/dist/types/components/ai-label/ai-label.d.ts +7 -0
  755. package/dist/types/components/alert/alert.d.ts +22 -0
  756. package/dist/types/components/breadcrumb/breadcrumb-item-label.d.ts +14 -0
  757. package/dist/types/components/breadcrumb/breadcrumb-item.d.ts +25 -0
  758. package/dist/types/components/breadcrumb/breadcrumb.d.ts +6 -0
  759. package/dist/types/components/button/button.d.ts +41 -0
  760. package/dist/types/components/card/card-headline/card-headline.d.ts +7 -0
  761. package/dist/types/components/card/card-image/card-image.d.ts +17 -0
  762. package/dist/types/components/card/card-links/card-links.d.ts +4 -0
  763. package/dist/types/components/card/card-overline/card-overline.d.ts +3 -0
  764. package/dist/types/components/card/card-text/card-text.d.ts +6 -0
  765. package/dist/types/components/card/card.d.ts +28 -0
  766. package/dist/types/components/checkbox/checkbox.d.ts +88 -0
  767. package/dist/types/components/checkbox-group/checkbox-group.d.ts +30 -0
  768. package/dist/types/components/chip/chip-item/chip-item.d.ts +23 -0
  769. package/dist/types/components/chip/chip.d.ts +54 -0
  770. package/dist/types/components/chip/interfaces.d.ts +13 -0
  771. package/dist/types/components/content-switcher/content-switcher-item.d.ts +7 -0
  772. package/dist/types/components/content-switcher/content-switcher.d.ts +74 -0
  773. package/dist/types/components/counter/counter.d.ts +19 -0
  774. package/dist/types/components/date-picker/date-picker.d.ts +83 -0
  775. package/dist/types/components/download/download.d.ts +5 -0
  776. package/dist/types/components/dropdown/IOpenable.d.ts +3 -0
  777. package/dist/types/components/dropdown/dropdown-header/dropdown-header.d.ts +3 -0
  778. package/dist/types/components/dropdown/dropdown-item/dropdown-item.d.ts +23 -0
  779. package/dist/types/components/dropdown/dropdown-menu/dropdown-menu.d.ts +23 -0
  780. package/dist/types/components/dropdown/dropdown-seperator/dropdown-separator.d.ts +3 -0
  781. package/dist/types/components/dropdown/dropdown-trigger/dropdown-trigger.d.ts +6 -0
  782. package/dist/types/components/dropdown/dropdown-trigger-button/dropdown-trigger-button.d.ts +16 -0
  783. package/dist/types/components/dropdown/dropdown.d.ts +55 -0
  784. package/dist/types/components/error-page/error-page.d.ts +15 -0
  785. package/dist/types/components/file-upload/file-upload.d.ts +205 -0
  786. package/dist/types/components/footer/footer-column.d.ts +4 -0
  787. package/dist/types/components/footer/footer.d.ts +11 -0
  788. package/dist/types/components/icon/figma_code_connect_icons.d.ts +1 -0
  789. package/dist/types/components/icon/icon.d.ts +31 -0
  790. package/dist/types/components/icon-button/icon-button.d.ts +57 -0
  791. package/dist/types/components/icons-preview/icons-preview.d.ts +18 -0
  792. package/dist/types/components/indicator/indicator.d.ts +17 -0
  793. package/dist/types/components/link/link.d.ts +48 -0
  794. package/dist/types/components/modal/modal.d.ts +97 -0
  795. package/dist/types/components/navigation/navbar/navbar-item.d.ts +73 -0
  796. package/dist/types/components/navigation/navbar/navbar-profile.d.ts +41 -0
  797. package/dist/types/components/navigation/navbar/navbar.d.ts +70 -0
  798. package/dist/types/components/navigation/sidebar/sidebar-item.d.ts +65 -0
  799. package/dist/types/components/navigation/sidebar/sidebar-seperator/sidebar-separator.d.ts +3 -0
  800. package/dist/types/components/navigation/sidebar/sidebar-title.d.ts +7 -0
  801. package/dist/types/components/navigation/sidebar/sidebar.d.ts +87 -0
  802. package/dist/types/components/notification/notification.d.ts +23 -0
  803. package/dist/types/components/overview-table/overview-table.d.ts +11 -0
  804. package/dist/types/components/pagination/pagination.d.ts +45 -0
  805. package/dist/types/components/popover/popover.d.ts +55 -0
  806. package/dist/types/components/progress-bar/progress-bar.d.ts +14 -0
  807. package/dist/types/components/radio-button/radio-button.d.ts +37 -0
  808. package/dist/types/components/radio-button-group/radio-button-group.d.ts +30 -0
  809. package/dist/types/components/search-bar/search-bar.d.ts +60 -0
  810. package/dist/types/components/search-field/search-field.d.ts +178 -0
  811. package/dist/types/components/segmented-control/segment/segment.d.ts +16 -0
  812. package/dist/types/components/segmented-control/segmented-control.d.ts +40 -0
  813. package/dist/types/components/select/multi-select/interfaces.d.ts +9 -0
  814. package/dist/types/components/select/multi-select/multiselect-group.d.ts +15 -0
  815. package/dist/types/components/select/multi-select/multiselect-option.d.ts +43 -0
  816. package/dist/types/components/select/multi-select/multiselect.d.ts +123 -0
  817. package/dist/types/components/select/single-select/select-group.d.ts +17 -0
  818. package/dist/types/components/select/single-select/select-option.d.ts +31 -0
  819. package/dist/types/components/select/single-select/select.d.ts +129 -0
  820. package/dist/types/components/slider/slider.d.ts +76 -0
  821. package/dist/types/components/spinner/spinner.d.ts +27 -0
  822. package/dist/types/components/status/status.d.ts +11 -0
  823. package/dist/types/components/stepper/interfaces.d.ts +7 -0
  824. package/dist/types/components/stepper/step/step.d.ts +24 -0
  825. package/dist/types/components/stepper/stepper.d.ts +35 -0
  826. package/dist/types/components/switch/switch.d.ts +112 -0
  827. package/dist/types/components/table-advanced-version/buttonCellRenderer.d.ts +15 -0
  828. package/dist/types/components/table-advanced-version/checkboxCellRenderer.d.ts +15 -0
  829. package/dist/types/components/table-advanced-version/checkboxHeaderRenderer.d.ts +14 -0
  830. package/dist/types/components/table-advanced-version/customLoadingOverlay.d.ts +9 -0
  831. package/dist/types/components/table-advanced-version/customNoRowsOverlay.d.ts +9 -0
  832. package/dist/types/components/table-advanced-version/filter-bar/filter-bar.d.ts +26 -0
  833. package/dist/types/components/table-advanced-version/filter-type-group/filter-accordion/filter-accordion.d.ts +20 -0
  834. package/dist/types/components/table-advanced-version/filter-type-group/filter-search/filter-search.d.ts +22 -0
  835. package/dist/types/components/table-advanced-version/filter-type-group/filter-type-group.d.ts +29 -0
  836. package/dist/types/components/table-advanced-version/filter-type-group/utils.d.ts +5 -0
  837. package/dist/types/components/table-advanced-version/iconButtonCellRenderer.d.ts +15 -0
  838. package/dist/types/components/table-advanced-version/interfaces.d.ts +53 -0
  839. package/dist/types/components/table-advanced-version/linkCellRenderer.d.ts +12 -0
  840. package/dist/types/components/table-advanced-version/list/list-entry/list-entry.d.ts +11 -0
  841. package/dist/types/components/table-advanced-version/list/list.d.ts +38 -0
  842. package/dist/types/components/table-advanced-version/set-filter/setFilter.d.ts +20 -0
  843. package/dist/types/components/table-advanced-version/statusCellRenderer.d.ts +8 -0
  844. package/dist/types/components/table-advanced-version/table.d.ts +146 -0
  845. package/dist/types/components/table-advanced-version/tooltipCellRenderer.d.ts +12 -0
  846. package/dist/types/components/table-basic-version/customLoadingOverlay.d.ts +9 -0
  847. package/dist/types/components/table-basic-version/customNoRowsOverlay.d.ts +9 -0
  848. package/dist/types/components/table-basic-version/interfaces.d.ts +9 -0
  849. package/dist/types/components/table-basic-version/table.d.ts +34 -0
  850. package/dist/types/components/tabs/tab.d.ts +26 -0
  851. package/dist/types/components/tabs/tabs.d.ts +64 -0
  852. package/dist/types/components/templates/template/template.d.ts +37 -0
  853. package/dist/types/components/templates/templates-ui/templates-ui.d.ts +10 -0
  854. package/dist/types/components/text-field/text-field.d.ts +55 -0
  855. package/dist/types/components/textarea/textarea.d.ts +54 -0
  856. package/dist/types/components/toast/toast-config.d.ts +7 -0
  857. package/dist/types/components/toast/toast-container/toast-container.d.ts +43 -0
  858. package/dist/types/components/toast/toast-controller.d.ts +51 -0
  859. package/dist/types/components/toast/toast.d.ts +58 -0
  860. package/dist/types/components/tooltip/tooltip.d.ts +34 -0
  861. package/dist/types/components/tree-view/tree-view-item.d.ts +79 -0
  862. package/dist/types/components/tree-view/tree-view.d.ts +21 -0
  863. package/dist/types/components.d.ts +8540 -0
  864. package/dist/types/global/setup.d.ts +1 -0
  865. package/dist/types/index.d.ts +4 -0
  866. package/dist/types/shared/utils/animation.d.ts +13 -0
  867. package/dist/types/shared/utils/colorNames.d.ts +1 -0
  868. package/dist/types/shared/utils/dom-ready.d.ts +1 -0
  869. package/dist/types/shared/utils/dom-utils.d.ts +1 -0
  870. package/dist/types/shared/utils/focus-trap.d.ts +33 -0
  871. package/dist/types/shared/utils/framework-detection.d.ts +1 -0
  872. package/dist/types/shared/utils/tracking.d.ts +10 -0
  873. package/dist/types/shared/utils/url-utils.d.ts +1 -0
  874. package/dist/types/stencil-public-runtime.d.ts +1879 -0
  875. package/package.json +193 -3
  876. package/readme.md +229 -0
  877. package/README.md +0 -3
@@ -0,0 +1,1598 @@
1
+ /* eslint-disable @stencil-community/own-methods-must-be-private */
2
+ import { Host, h, } from "@stencil/core";
3
+ import { AllCommunityModule, createGrid, ModuleRegistry, } from "ag-grid-community";
4
+ import classNames from "classnames";
5
+ import { isNestedInIfxComponent } from "../../shared/utils/dom-utils";
6
+ import { detectFramework } from "../../shared/utils/framework-detection";
7
+ import { trackComponent } from "../../shared/utils/tracking";
8
+ import { ButtonCellRenderer } from "./buttonCellRenderer";
9
+ import { CheckboxCellRenderer } from "./checkboxCellRenderer";
10
+ import { CheckboxHeaderRenderer } from "./checkboxHeaderRenderer";
11
+ import { CustomLoadingOverlay } from "./customLoadingOverlay";
12
+ import { CustomNoRowsOverlay } from "./customNoRowsOverlay";
13
+ import { IconButtonCellRenderer } from "./iconButtonCellRenderer";
14
+ import { LinkCellRenderer } from "./linkCellRenderer";
15
+ import { StatusCellRenderer } from "./statusCellRenderer";
16
+ import { TooltipCellRenderer } from "./tooltipCellRenderer";
17
+ export class Table {
18
+ gridOptions;
19
+ gridApi;
20
+ currentPage = 1;
21
+ /** The column definitions for the grid. */
22
+ cols;
23
+ /** The rows definitions for the grid. */
24
+ rows;
25
+ /** Options for button renderer including click handler. */
26
+ buttonRendererOptions;
27
+ /** Options for icon button renderer including click handler. */
28
+ iconButtonRendererOptions;
29
+ /** Options for checkbox renderer including click handler. */
30
+ checkboxRendererOptions;
31
+ rowData = [];
32
+ colData = [];
33
+ filterOptions = {};
34
+ currentFilters = {};
35
+ uniqueKey;
36
+ showAllItems = true;
37
+ allRowData = [];
38
+ /** Height of each row. */
39
+ rowHeight = "default";
40
+ /** Total height of the table. */
41
+ tableHeight = "auto";
42
+ /** Enable or disable pagination. */
43
+ pagination = true;
44
+ /** Number of items per page. */
45
+ paginationItemsPerPage;
46
+ paginationPageSize = 10;
47
+ /** Filter display orientation (sidebar or inline). */
48
+ filterOrientation = "sidebar";
49
+ /** Headline text displayed above the grid. */
50
+ headline = "";
51
+ /** Numeric value displayed in headline. */
52
+ headlineNumber = null;
53
+ /** Stores the visibility value received from the sidebar filter group. */
54
+ showSidebarFiltersButton = true;
55
+ /** Updates button visibility when the sidebar filter group emits a change. */
56
+ handleButtonVisibilityChange(event) {
57
+ this.showSidebarFiltersButton = event.detail;
58
+ }
59
+ showSidebarFilters = true;
60
+ matchingResultsCount = 0;
61
+ /** Visual variant of the grid. */
62
+ variant = "default";
63
+ /** Enable server-side pagination mode. */
64
+ serverSidePagination = false;
65
+ /** Handler for server-side page changes. */
66
+ serverPageChangeHandler;
67
+ /** Enable row selection. */
68
+ enableSelection = false;
69
+ selectedRows = new Set();
70
+ selectAll = false;
71
+ selectedRowsData = new Map();
72
+ /** Show loading overlay. */
73
+ showLoading = false;
74
+ /** Auto-fit columns to container width. */
75
+ fitColumns = false;
76
+ /** Minimum width for columns. */
77
+ columnMinWidth;
78
+ /** Fixed width for columns. */
79
+ columnWidth;
80
+ /** Position of the column values, either left or center. */
81
+ columnValuePosition = "left";
82
+ /** Emitted when sort order changes. */
83
+ ifxSortChange;
84
+ container;
85
+ lastSortedColumn = null;
86
+ host;
87
+ originalRowData = [];
88
+ internalItemsPerPage = JSON.stringify([
89
+ { value: 10, label: "10", selected: true },
90
+ { value: 20, label: "20", selected: false },
91
+ { value: 30, label: "30", selected: false },
92
+ ]);
93
+ rowsChanged(_newVal) {
94
+ const parsed = this.parseArrayInput(this.rows);
95
+ parsed.forEach((row, index) => {
96
+ if (!row.__rowId) {
97
+ row.__rowId = `row_${index}_${Date.now()}_${Math.random()}`;
98
+ }
99
+ });
100
+ if (this.enableSelection) {
101
+ parsed.forEach((row) => {
102
+ row.__checkbox = {
103
+ disabled: false,
104
+ checked: this.selectedRows?.has(row.__rowId) || false,
105
+ size: "s",
106
+ indeterminate: false,
107
+ error: false,
108
+ };
109
+ });
110
+ }
111
+ this.currentFilters = {};
112
+ this.currentPage = 1;
113
+ this.originalRowData = [...parsed];
114
+ this.allRowData = [...parsed];
115
+ this.matchingResultsCount = this.allRowData.length;
116
+ this.updateTableView();
117
+ this.updateFilterOptions();
118
+ }
119
+ onSizingOptionsChanged() {
120
+ this.applyColumnSizing();
121
+ }
122
+ colsChanged(_newVal) {
123
+ this.colData = this.getColData();
124
+ if (this.gridApi) {
125
+ this.gridApi.setGridOption("columnDefs", this.colData);
126
+ }
127
+ this.updateFilterOptions();
128
+ }
129
+ onPaginationChanged() {
130
+ this.updateTableView();
131
+ }
132
+ handleResultsPerPageChange(e) {
133
+ if (e.detail === "all") {
134
+ this.showAllItems = true;
135
+ this.paginationPageSize = this.allRowData.length;
136
+ }
137
+ else {
138
+ this.showAllItems = false;
139
+ this.paginationPageSize = Number(e.detail);
140
+ }
141
+ this.currentPage = 1;
142
+ this.updateTableView();
143
+ }
144
+ handleChipChange(event) {
145
+ const { name, currentSelection, previousSelection } = event.detail;
146
+ if (currentSelection && previousSelection) {
147
+ // Clone the current filters state
148
+ const updatedFilters = { ...this.currentFilters };
149
+ if (currentSelection.length === 0) {
150
+ // If there are no selections for this filter, delete the filter
151
+ delete updatedFilters[name];
152
+ // Emit event with specific filter name
153
+ const customEvent = new CustomEvent("ifxUpdateSidebarFilter", {
154
+ detail: { filterName: name },
155
+ bubbles: true,
156
+ composed: true,
157
+ });
158
+ this.host.dispatchEvent(customEvent);
159
+ }
160
+ else {
161
+ // Otherwise, update the filter values with the current selection
162
+ updatedFilters[name].filterValues = currentSelection.map((selection) => selection.value);
163
+ }
164
+ // Update the component's filters
165
+ this.currentFilters = updatedFilters;
166
+ // Ensure table data is updated
167
+ this.allRowData = this.applyAllFilters(this.originalRowData, this.currentFilters);
168
+ this.updateTableView();
169
+ }
170
+ }
171
+ onButtonRendererOptionsChanged() {
172
+ this.colData = this.getColData();
173
+ if (this.gridApi) {
174
+ this.gridApi.setGridOption("columnDefs", this.colData);
175
+ }
176
+ }
177
+ onIconButtonRendererOptionsChanged() {
178
+ this.colData = this.getColData();
179
+ if (this.gridApi) {
180
+ this.gridApi.setGridOption("columnDefs", this.colData);
181
+ }
182
+ }
183
+ onCheckboxRendererOptionsChanged() {
184
+ this.colData = this.getColData();
185
+ if (this.gridApi) {
186
+ this.gridApi.setGridOption("columnDefs", this.colData);
187
+ }
188
+ }
189
+ /**
190
+ * Refreshes the current page data by re-calling the serverPageChangeHandler.
191
+ * Use this method to update the table after modifying data on the server side.
192
+ * @returns {Promise<void>}
193
+ */
194
+ async refreshCurrentPage() {
195
+ if (this.serverSidePagination && this.serverPageChangeHandler) {
196
+ const { rows, total } = await this.serverPageChangeHandler({
197
+ page: this.currentPage,
198
+ pageSize: this.paginationPageSize,
199
+ });
200
+ this.rowData = rows;
201
+ this.matchingResultsCount = total;
202
+ if (this.gridApi) {
203
+ this.gridApi.setGridOption("rowData", rows);
204
+ }
205
+ }
206
+ }
207
+ parseArrayInput(input) {
208
+ if (typeof input === "string") {
209
+ try {
210
+ const parsed = JSON.parse(input);
211
+ return Array.isArray(parsed) ? parsed : [];
212
+ }
213
+ catch {
214
+ console.error("Failed to parse input:", input);
215
+ return [];
216
+ }
217
+ }
218
+ if (Array.isArray(input))
219
+ return input;
220
+ if (typeof input === "object" && input !== null)
221
+ return [input];
222
+ return [];
223
+ }
224
+ toggleSidebarFilters() {
225
+ this.showSidebarFilters = !this.showSidebarFilters;
226
+ }
227
+ applyColumnSizing() {
228
+ if (!this.gridApi)
229
+ return;
230
+ if (this.fitColumns) {
231
+ this.gridApi.sizeColumnsToFit({
232
+ defaultMinWidth: this.columnMinWidth,
233
+ });
234
+ }
235
+ }
236
+ updateFilterOptions() {
237
+ const options = {};
238
+ for (let col of this.colData) {
239
+ options[col.field] = [
240
+ ...new Set(this.rowData.map((row) => row[col.field])),
241
+ ];
242
+ }
243
+ this.filterOptions = options;
244
+ }
245
+ updateHeaderCheckboxState() {
246
+ if (this.gridApi && this.enableSelection) {
247
+ setTimeout(() => {
248
+ const headerCheckbox = this.container?.querySelector('.ag-header-cell[col-id="__checkbox"] ifx-checkbox');
249
+ if (headerCheckbox) {
250
+ if (this.serverSidePagination) {
251
+ const currentPageSelectedCount = this.rowData.filter((row) => this.selectedRows.has(row.__rowId)).length;
252
+ const allOnPageSelected = currentPageSelectedCount === this.rowData.length &&
253
+ this.rowData.length > 0;
254
+ const someOnPageSelected = currentPageSelectedCount > 0 &&
255
+ currentPageSelectedCount < this.rowData.length;
256
+ headerCheckbox.checked = allOnPageSelected;
257
+ headerCheckbox.indeterminate = someOnPageSelected;
258
+ }
259
+ else {
260
+ const allSelected = this.selectedRows.size === this.allRowData.length &&
261
+ this.allRowData.length > 0;
262
+ const someSelected = this.selectedRows.size > 0 &&
263
+ this.selectedRows.size < this.allRowData.length;
264
+ headerCheckbox.checked = allSelected;
265
+ headerCheckbox.indeterminate = someSelected;
266
+ }
267
+ }
268
+ }, 0);
269
+ }
270
+ }
271
+ handleSidebarFilterChange(event) {
272
+ const filterGroups = event.detail;
273
+ const updatedFilters = {};
274
+ filterGroups.forEach((filterGroup) => {
275
+ const filterName = filterGroup.filterGroupName;
276
+ let filterValues;
277
+ let type;
278
+ if (filterGroup.selectedItems && filterGroup.selectedItems.length > 0) {
279
+ filterValues = filterGroup.selectedItems.map((item) => item.label);
280
+ type = "multi-select";
281
+ }
282
+ else if (filterGroup.value) {
283
+ filterValues = [filterGroup.value];
284
+ type = "text";
285
+ }
286
+ else {
287
+ filterValues = [];
288
+ }
289
+ if (!(filterValues.length === 0 ||
290
+ (filterValues.length === 1 &&
291
+ type === "text" &&
292
+ filterValues[0] === ""))) {
293
+ updatedFilters[filterName] = { filterValues, type };
294
+ }
295
+ });
296
+ this.allRowData = this.applyAllFilters(this.originalRowData, updatedFilters);
297
+ this.updateTableView();
298
+ this.currentFilters = updatedFilters;
299
+ }
300
+ handleTopbarFilterChange(event) {
301
+ const filters = event.detail;
302
+ // Start by resetting the filter conditions to a blank object
303
+ this.currentFilters = {};
304
+ // Loop through each filter group provided in the event detail
305
+ filters.forEach((filter) => {
306
+ const filterName = filter.filterName;
307
+ let filterValues;
308
+ let type = filter.type;
309
+ if (type === "text") {
310
+ // Search/Text filter
311
+ filterValues = filter.filterValues;
312
+ }
313
+ else {
314
+ // Multi-select/Single-Select
315
+ filterValues = filter.filterValues.map((item) => item.label);
316
+ }
317
+ // If there are no filter values, or the filter is a text filter with an empty value, remove the filter
318
+ if (!(filterValues.length === 0 ||
319
+ (filterValues.length === 1 &&
320
+ type === "text" &&
321
+ filterValues[0] === ""))) {
322
+ // Add or update the filter in the currentFilters object
323
+ this.currentFilters[filterName] = { filterValues, type };
324
+ }
325
+ });
326
+ // Now that the currentFilters object has been updated, apply all filters to the data
327
+ this.allRowData = this.applyAllFilters(this.originalRowData, this.currentFilters);
328
+ // After filtering, update the table view with the new filtered data
329
+ this.updateTableView();
330
+ }
331
+ applyAllFilters(data, filters) {
332
+ return data.filter((row) => {
333
+ for (const filterName in filters) {
334
+ const filterInfo = filters[filterName];
335
+ let selectedValues = (filterInfo.filterValues || []).map((value) => {
336
+ if (typeof value === "string") {
337
+ return value.toLowerCase();
338
+ }
339
+ else if (typeof value === "number" || typeof value === "boolean") {
340
+ return value.toString();
341
+ }
342
+ return "";
343
+ });
344
+ // For text filters, check if row values start with any of the selectedValues
345
+ if (filterInfo.type === "text") {
346
+ let textFilterMatched = false;
347
+ for (let property in row) {
348
+ if (row.hasOwnProperty(property)) {
349
+ let rowValue = row[property] != null
350
+ ? String(row[property]).toLowerCase()
351
+ : "";
352
+ if (selectedValues.some((filterValue) => rowValue.startsWith(filterValue))) {
353
+ textFilterMatched = true;
354
+ break;
355
+ }
356
+ }
357
+ }
358
+ if (!textFilterMatched)
359
+ return false;
360
+ }
361
+ else if (filterInfo.type === "multi-select") {
362
+ let rowValue = row[filterName] != null
363
+ ? String(row[filterName]).toLowerCase()
364
+ : "";
365
+ let includesUndefined = selectedValues.includes("undefined");
366
+ if (!selectedValues.includes(rowValue) &&
367
+ !(includesUndefined && rowValue === "")) {
368
+ return false;
369
+ }
370
+ }
371
+ }
372
+ return true;
373
+ });
374
+ }
375
+ async updateTableView() {
376
+ if (this.serverSidePagination) {
377
+ this.selectAll = false;
378
+ }
379
+ if (this.serverSidePagination && this.serverPageChangeHandler) {
380
+ const { rows, total } = await this.serverPageChangeHandler({
381
+ page: this.currentPage,
382
+ pageSize: this.paginationPageSize,
383
+ });
384
+ rows.forEach((row, index) => {
385
+ const rowId = row.sampleNumber ||
386
+ `row_${(this.currentPage - 1) * this.paginationPageSize + index}`;
387
+ row.__rowId = rowId;
388
+ row.__checkbox = {
389
+ disabled: false,
390
+ checked: this.selectedRows?.has(rowId) || false,
391
+ size: "s",
392
+ indeterminate: false,
393
+ error: false,
394
+ };
395
+ });
396
+ this.rowData = rows;
397
+ this.matchingResultsCount = total;
398
+ if (this.gridApi) {
399
+ this.gridApi.setGridOption("rowData", rows);
400
+ this.updateHeaderCheckboxState();
401
+ }
402
+ const paginationElement = this.host.shadowRoot.querySelector("ifx-pagination");
403
+ if (paginationElement) {
404
+ paginationElement.setAttribute("total", total.toString());
405
+ }
406
+ }
407
+ else {
408
+ let visibleRowData;
409
+ if (this.pagination) {
410
+ const startIndex = (this.currentPage - 1) * this.paginationPageSize;
411
+ const endIndex = startIndex + this.paginationPageSize;
412
+ visibleRowData = this.allRowData.slice(startIndex, endIndex);
413
+ }
414
+ else {
415
+ visibleRowData = this.allRowData;
416
+ }
417
+ if (this.enableSelection) {
418
+ visibleRowData.forEach((row) => {
419
+ if (!row.__checkbox) {
420
+ row.__checkbox = {
421
+ disabled: false,
422
+ checked: this.selectedRows?.has(row.__rowId) || false,
423
+ size: "s",
424
+ indeterminate: false,
425
+ error: false,
426
+ };
427
+ }
428
+ else {
429
+ row.__checkbox.checked =
430
+ this.selectedRows?.has(row.__rowId) || false;
431
+ }
432
+ });
433
+ }
434
+ this.rowData = visibleRowData;
435
+ this.matchingResultsCount = this.allRowData.length;
436
+ if (this.gridApi) {
437
+ this.gridApi.setGridOption("rowData", this.rowData);
438
+ }
439
+ this.updateHeaderCheckboxState();
440
+ }
441
+ }
442
+ clearAllFilters() {
443
+ this.currentFilters = {};
444
+ this.allRowData = [...this.originalRowData];
445
+ }
446
+ /**
447
+ * Shows the loading overlay on the grid.
448
+ * @returns {Promise<void>}
449
+ */
450
+ async onBtShowLoading() {
451
+ this.gridApi.showLoadingOverlay();
452
+ }
453
+ setPaginationItemsPerPage() {
454
+ const newItemsPerPage = this.paginationItemsPerPage;
455
+ if (!newItemsPerPage) {
456
+ return;
457
+ }
458
+ const itemsPerPageArray = this.parseArrayInput(newItemsPerPage);
459
+ if (typeof newItemsPerPage === "string") {
460
+ this.internalItemsPerPage = newItemsPerPage;
461
+ }
462
+ else {
463
+ this.internalItemsPerPage = JSON.stringify(itemsPerPageArray);
464
+ }
465
+ const selectedOption = itemsPerPageArray.find((option) => option.selected);
466
+ if (selectedOption) {
467
+ this.paginationPageSize = Number(selectedOption.value);
468
+ }
469
+ else if (itemsPerPageArray.length > 0) {
470
+ this.paginationPageSize = Number(itemsPerPageArray[0].value);
471
+ }
472
+ }
473
+ componentWillLoad() {
474
+ ModuleRegistry.registerModules([AllCommunityModule]);
475
+ this.setPaginationItemsPerPage();
476
+ this.uniqueKey = `unique-${Math.floor(Math.random() * 1000000)}`;
477
+ this.rowData = this.getRowData();
478
+ this.colData = this.getColData();
479
+ this.updateFilterOptions();
480
+ this.gridOptions = {
481
+ theme: "legacy",
482
+ suppressCellFocus: true,
483
+ rowHeight: this.rowHeight === "default" ? 40 : 32,
484
+ headerHeight: 40,
485
+ components: {
486
+ checkboxCellRenderer: CheckboxCellRenderer,
487
+ checkboxHeaderRenderer: CheckboxHeaderRenderer,
488
+ customLoadingOverlay: CustomLoadingOverlay,
489
+ customNoRowsOverlay: CustomNoRowsOverlay,
490
+ },
491
+ defaultColDef: {
492
+ resizable: true,
493
+ autoHeight: true,
494
+ minWidth: this.columnMinWidth,
495
+ width: this.columnWidth ? parseInt(this.columnWidth, 10) : undefined,
496
+ },
497
+ suppressDragLeaveHidesColumns: true,
498
+ enableCellTextSelection: true,
499
+ // onFirstDataRendered: this.onFirstDataRendered.bind(this), //keeping for reference
500
+ columnDefs: this.colData,
501
+ rowData: this.rowData,
502
+ loadingOverlayComponent: CustomLoadingOverlay,
503
+ noRowsOverlayComponent: CustomNoRowsOverlay,
504
+ noRowsOverlayComponentParams: {
505
+ noRowsMessageFunc: () => "No rows found", //at: ' + new Date().toLocaleTimeString(),
506
+ },
507
+ icons: {
508
+ sortAscending: '<ifx-icon icon="arrow-triangle-up-16"></ifx-icon>',
509
+ sortDescending: '<ifx-icon icon="arrow-triangle-down-16"></ifx-icon>',
510
+ sortUnSort: '<a class="unsort-icon-custom-color"><ifx-icon icon="arrow-triangle-vertikal-16"></ifx-icon></a>',
511
+ },
512
+ rowDragManaged: this.colData.some((col) => col.dndSource === true)
513
+ ? true
514
+ : false,
515
+ animateRows: this.colData.some((col) => col.dndSource === true)
516
+ ? true
517
+ : false,
518
+ navigateToNextCell: (params) => {
519
+ return this.focusCellIfContainingButton(params.api, params.nextCellPosition);
520
+ },
521
+ tabToNextCell: (params) => {
522
+ // Returning null is deprecated so we return false if the result is null (browser handles tab behavior).
523
+ return (this.focusCellIfContainingButton(params.api, params.nextCellPosition) ?? false);
524
+ },
525
+ };
526
+ this.updateTableView();
527
+ }
528
+ focusCellIfContainingButton(api, cellPosition) {
529
+ if (!cellPosition) {
530
+ return null;
531
+ }
532
+ if (cellPosition.column.getColDef().field === "button") {
533
+ const rowNode = api.getDisplayedRowAtIndex(cellPosition.rowIndex);
534
+ if (!rowNode) {
535
+ // Row not yet rendered due to virtualization.
536
+ return null;
537
+ }
538
+ const cellRenderers = api.getCellRendererInstances({
539
+ rowNodes: [rowNode],
540
+ columns: [cellPosition.column],
541
+ });
542
+ if (cellRenderers.length > 0) {
543
+ const renderedContent = cellRenderers[0]?.getGui();
544
+ if (renderedContent) {
545
+ const button = renderedContent.querySelector("ifx-button");
546
+ if (button) {
547
+ setTimeout(() => {
548
+ // Just calling button.focus() will not work because the focus of <ifx-button> will not be
549
+ // forwared to its child <a>-element (containing the tabindex attribute) due to shadow root.
550
+ // We must therefore grab the <a>-element manually first and then call focus() on it.
551
+ const focusableChild = button.shadowRoot?.querySelector("a[tabindex]");
552
+ focusableChild?.focus();
553
+ }, 0);
554
+ }
555
+ }
556
+ }
557
+ }
558
+ return cellPosition;
559
+ }
560
+ emitEventOnHeaderSortChange() {
561
+ this.gridApi.addEventListener("sortChanged", (event) => {
562
+ const columnState = this.gridApi.getColumnState();
563
+ const sortedColumn = columnState.find((col) => col.sort != null);
564
+ let field;
565
+ let sort;
566
+ if (sortedColumn) {
567
+ field = sortedColumn.colId;
568
+ sort = sortedColumn.sort;
569
+ this.lastSortedColumn = sortedColumn.colId;
570
+ }
571
+ else {
572
+ field = this.lastSortedColumn || event.columns?.[0]?.getColId();
573
+ sort = null;
574
+ if (!this.lastSortedColumn && field) {
575
+ this.lastSortedColumn = field;
576
+ }
577
+ }
578
+ this.ifxSortChange.emit({ field, sort });
579
+ });
580
+ }
581
+ async componentDidLoad() {
582
+ if (this.container) {
583
+ if (!isNestedInIfxComponent(this.host)) {
584
+ const framework = detectFramework();
585
+ trackComponent("ifx-table", await framework);
586
+ }
587
+ this.gridApi = createGrid(this.container, this.gridOptions);
588
+ if (this.gridApi) {
589
+ this.applyColumnSizing();
590
+ this.gridApi.setGridOption("columnDefs", this.colData);
591
+ this.gridApi.setGridOption("rowData", this.rowData);
592
+ if (this.pagination) {
593
+ const paginationElement = this.host.shadowRoot.querySelector("ifx-pagination");
594
+ if (paginationElement) {
595
+ paginationElement.addEventListener("ifxPageChange", this.handlePageChange.bind(this));
596
+ }
597
+ }
598
+ const sidebarFilterElements = this.host.querySelectorAll("ifx-filter-type-group");
599
+ // Add an event listener to each SetFilter component
600
+ sidebarFilterElements.forEach((sidebarFilterElement) => {
601
+ sidebarFilterElement.addEventListener("ifxSidebarFilterChange", this.handleSidebarFilterChange.bind(this));
602
+ });
603
+ const topbarFilterElements = this.host.querySelectorAll("ifx-filter-bar");
604
+ // Add an event listener to each SetFilter component
605
+ topbarFilterElements.forEach((topbarFilterElement) => {
606
+ topbarFilterElement.addEventListener("ifxTopbarFilterChange", this.handleTopbarFilterChange.bind(this));
607
+ });
608
+ this.emitEventOnHeaderSortChange();
609
+ }
610
+ }
611
+ }
612
+ componentWillUnmount() {
613
+ if (this.pagination) {
614
+ const paginationElement = this.host.shadowRoot.querySelector("ifx-pagination");
615
+ if (paginationElement) {
616
+ paginationElement.removeEventListener("ifxPageChange", this.handlePageChange.bind(this));
617
+ }
618
+ }
619
+ const sidebarFilters = this.host.shadowRoot.querySelectorAll("ifx-filter-type-group");
620
+ // Remove the event listener from each SetFilter component
621
+ sidebarFilters.forEach((sidebarFilter) => {
622
+ sidebarFilter.removeEventListener("ifxSidebarFilterChange", this.handleSidebarFilterChange.bind(this));
623
+ });
624
+ const topbarFilters = this.host.shadowRoot.querySelectorAll("ifx-filter-type-group");
625
+ // Remove the event listener from each SetFilter component
626
+ topbarFilters.forEach((topbarFilter) => {
627
+ topbarFilter.removeEventListener("ifxTopbarFilterChange", this.handleTopbarFilterChange.bind(this));
628
+ });
629
+ }
630
+ async handlePageChange(event) {
631
+ if (!this.pagination) {
632
+ return;
633
+ }
634
+ this.currentPage = event.detail.currentPage;
635
+ if (this.serverSidePagination) {
636
+ this.selectAll = false;
637
+ }
638
+ if (this.serverSidePagination && this.serverPageChangeHandler) {
639
+ const { rows, total } = await this.serverPageChangeHandler({
640
+ page: this.currentPage,
641
+ pageSize: this.paginationPageSize,
642
+ });
643
+ rows.forEach((row, index) => {
644
+ const rowId = row.sampleNumber ||
645
+ `row_${(this.currentPage - 1) * this.paginationPageSize + index}`;
646
+ row.__rowId = rowId;
647
+ row.__checkbox = {
648
+ disabled: false,
649
+ checked: this.selectedRows?.has(rowId) || false,
650
+ size: "s",
651
+ indeterminate: false,
652
+ error: false,
653
+ };
654
+ });
655
+ this.rowData = rows;
656
+ this.matchingResultsCount = total;
657
+ if (this.gridApi) {
658
+ this.gridApi.setGridOption("rowData", this.rowData);
659
+ this.updateHeaderCheckboxState();
660
+ }
661
+ const paginationElement = this.host.shadowRoot.querySelector("ifx-pagination");
662
+ if (paginationElement) {
663
+ paginationElement.setAttribute("total", total.toString());
664
+ }
665
+ }
666
+ else {
667
+ const startIndex = (this.currentPage - 1) * this.paginationPageSize;
668
+ const endIndex = startIndex + this.paginationPageSize;
669
+ const visibleRowData = this.allRowData.slice(startIndex, endIndex);
670
+ if (this.enableSelection) {
671
+ visibleRowData.forEach((row) => {
672
+ if (!row.__checkbox) {
673
+ row.__checkbox = {
674
+ disabled: false,
675
+ checked: this.selectedRows?.has(row.__rowId) || false,
676
+ size: "s",
677
+ indeterminate: false,
678
+ error: false,
679
+ };
680
+ }
681
+ else {
682
+ row.__checkbox.checked =
683
+ this.selectedRows?.has(row.__rowId) || false;
684
+ }
685
+ });
686
+ }
687
+ this.rowData = visibleRowData;
688
+ if (this.gridApi) {
689
+ this.gridApi.setGridOption("rowData", visibleRowData);
690
+ this.updateHeaderCheckboxState();
691
+ }
692
+ }
693
+ }
694
+ isJSONParseable(str) {
695
+ try {
696
+ JSON.parse(str);
697
+ return true;
698
+ }
699
+ catch (e) {
700
+ return false;
701
+ }
702
+ }
703
+ handleSelectAll = (checked) => {
704
+ this.selectAll = checked;
705
+ const newSelectedRows = new Set(this.selectedRows);
706
+ const newSelectedRowsData = new Map(this.selectedRowsData);
707
+ if (checked) {
708
+ if (this.serverSidePagination) {
709
+ this.rowData.forEach((row) => {
710
+ const rowId = row.__rowId;
711
+ newSelectedRows.add(rowId);
712
+ const { __checkbox, __rowId, ...cleanRow } = row;
713
+ newSelectedRowsData.set(rowId, cleanRow);
714
+ });
715
+ }
716
+ else {
717
+ this.allRowData.forEach((row) => {
718
+ const rowId = row.__rowId;
719
+ newSelectedRows.add(rowId);
720
+ const { __checkbox, __rowId, ...cleanRow } = row;
721
+ newSelectedRowsData.set(rowId, cleanRow);
722
+ });
723
+ }
724
+ }
725
+ else {
726
+ if (this.serverSidePagination) {
727
+ this.rowData.forEach((row) => {
728
+ const rowId = row.__rowId;
729
+ newSelectedRows.delete(rowId);
730
+ newSelectedRowsData.delete(rowId);
731
+ });
732
+ }
733
+ else {
734
+ newSelectedRows.clear();
735
+ newSelectedRowsData.clear();
736
+ }
737
+ }
738
+ this.selectedRows = newSelectedRows;
739
+ this.selectedRowsData = newSelectedRowsData;
740
+ this.updateCheckboxStates();
741
+ this.updateHeaderCheckboxState();
742
+ this.emitSelectionChange();
743
+ };
744
+ getRowData() {
745
+ let rows = [];
746
+ if (this.rows === undefined || this.rows === null) {
747
+ return rows;
748
+ }
749
+ if (this.isJSONParseable(this.rows)) {
750
+ rows = [...JSON.parse(this.rows)];
751
+ }
752
+ else if (Array.isArray(this.rows) || typeof this.rows === "object") {
753
+ rows = [...this.rows];
754
+ }
755
+ else {
756
+ console.error("Unexpected value for rows: ", this.rows);
757
+ }
758
+ rows.forEach((row, index) => {
759
+ if (!row.__rowId) {
760
+ row.__rowId = `row_${index}_${Date.now()}_${Math.random()}`;
761
+ }
762
+ });
763
+ if (this.enableSelection) {
764
+ rows.forEach((row) => {
765
+ row.__checkbox = {
766
+ disabled: false,
767
+ checked: this.selectedRows?.has(row.__rowId) || false,
768
+ size: "s",
769
+ indeterminate: false,
770
+ error: false,
771
+ };
772
+ });
773
+ }
774
+ this.allRowData = rows;
775
+ this.originalRowData = [...rows];
776
+ this.matchingResultsCount = this.allRowData.length;
777
+ return this.pagination ? rows.slice(0, this.paginationPageSize) : rows;
778
+ }
779
+ handleRowCheckboxClick = (params) => {
780
+ const clickedRowData = params.data;
781
+ const rowId = clickedRowData.__rowId;
782
+ const newSelectedRows = new Set(this.selectedRows);
783
+ const newSelectedRowsData = new Map(this.selectedRowsData);
784
+ if (newSelectedRows.has(rowId)) {
785
+ newSelectedRows.delete(rowId);
786
+ newSelectedRowsData.delete(rowId);
787
+ }
788
+ else {
789
+ newSelectedRows.add(rowId);
790
+ const { __checkbox, __rowId, ...cleanRow } = clickedRowData;
791
+ newSelectedRowsData.set(rowId, cleanRow);
792
+ }
793
+ this.selectedRows = newSelectedRows;
794
+ this.selectedRowsData = newSelectedRowsData;
795
+ if (this.serverSidePagination) {
796
+ const currentPageSelectedCount = this.rowData.filter((row) => newSelectedRows.has(row.__rowId)).length;
797
+ this.selectAll =
798
+ currentPageSelectedCount === this.rowData.length &&
799
+ this.rowData.length > 0;
800
+ }
801
+ else {
802
+ this.selectAll =
803
+ newSelectedRows.size === this.allRowData.length &&
804
+ this.allRowData.length > 0;
805
+ }
806
+ this.updateCheckboxStates();
807
+ this.updateHeaderCheckboxState();
808
+ this.emitSelectionChange();
809
+ };
810
+ updateCheckboxStates() {
811
+ const dataToUpdate = this.rowData;
812
+ dataToUpdate.forEach((row) => {
813
+ if (row.__checkbox) {
814
+ row.__checkbox.checked = this.selectedRows.has(row.__rowId);
815
+ }
816
+ });
817
+ if (this.gridApi) {
818
+ this.gridApi.refreshCells({
819
+ columns: ["__checkbox"],
820
+ force: true,
821
+ });
822
+ }
823
+ }
824
+ emitSelectionChange() {
825
+ const selectedRowsArray = Array.from(this.selectedRowsData.values());
826
+ let isSelectAll;
827
+ if (this.serverSidePagination) {
828
+ const currentPageSelectedCount = this.rowData.filter((row) => this.selectedRows.has(row.__rowId)).length;
829
+ isSelectAll =
830
+ currentPageSelectedCount === this.rowData.length &&
831
+ this.rowData.length > 0;
832
+ }
833
+ else {
834
+ isSelectAll =
835
+ this.selectedRows.size === this.allRowData.length &&
836
+ this.allRowData.length > 0;
837
+ }
838
+ this.host.dispatchEvent(new CustomEvent("ifxSelectionChange", {
839
+ detail: {
840
+ selectedRows: selectedRowsArray,
841
+ selectedCount: selectedRowsArray.length,
842
+ isSelectAll: isSelectAll,
843
+ },
844
+ bubbles: true,
845
+ }));
846
+ }
847
+ getColData() {
848
+ let cols = [];
849
+ if (this.cols === undefined || this.cols === null)
850
+ return cols;
851
+ if (this.isJSONParseable(this.cols)) {
852
+ cols = [...JSON.parse(this.cols)];
853
+ }
854
+ else if (Array.isArray(this.cols) || typeof this.cols === "object") {
855
+ cols = [...this.cols];
856
+ }
857
+ else {
858
+ console.error("Unexpected value for cols: ", this.cols);
859
+ }
860
+ if (this.enableSelection) {
861
+ const checkboxColumn = {
862
+ headerName: "",
863
+ field: "__checkbox",
864
+ width: 50,
865
+ pinned: "left",
866
+ cellRenderer: "checkboxCellRenderer",
867
+ cellRendererParams: {
868
+ onCheckboxClick: this.handleRowCheckboxClick?.bind(this),
869
+ },
870
+ headerComponent: "checkboxHeaderRenderer",
871
+ headerComponentParams: {
872
+ onSelectAll: this.handleSelectAll?.bind(this),
873
+ },
874
+ sortable: false,
875
+ filter: false,
876
+ resizable: false,
877
+ valueFormatter: undefined,
878
+ cellDataType: false,
879
+ };
880
+ cols.unshift(checkboxColumn);
881
+ }
882
+ cols.forEach((column) => {
883
+ const field = column.field?.toLowerCase() || "";
884
+ // --- Button columns ---
885
+ if (field.startsWith("button")) {
886
+ column.cellRenderer = ButtonCellRenderer;
887
+ column.valueFormatter = undefined;
888
+ column.cellDataType = false;
889
+ if (this.buttonRendererOptions?.onButtonClick) {
890
+ column.cellRendererParams = {
891
+ onButtonClick: this.buttonRendererOptions.onButtonClick,
892
+ };
893
+ }
894
+ }
895
+ // --- Checkbox columns ---
896
+ else if (field.startsWith("checkbox")) {
897
+ column.cellRenderer = CheckboxCellRenderer;
898
+ column.valueFormatter = undefined;
899
+ column.cellDataType = false;
900
+ if (this.checkboxRendererOptions?.onCheckboxClick) {
901
+ column.cellRendererParams = {
902
+ onCheckboxClick: this.checkboxRendererOptions.onCheckboxClick,
903
+ };
904
+ }
905
+ }
906
+ // --- Icon Button columns ---
907
+ else if (field.startsWith("iconbutton") || field === "iconButton") {
908
+ column.cellRenderer = IconButtonCellRenderer;
909
+ column.valueFormatter = undefined;
910
+ column.cellDataType = false;
911
+ if (this.iconButtonRendererOptions?.onIconButtonClick) {
912
+ column.cellRendererParams = {
913
+ onIconButtonClick: this.iconButtonRendererOptions.onIconButtonClick,
914
+ };
915
+ }
916
+ }
917
+ // --- Status columns ---
918
+ else if (field.startsWith("status")) {
919
+ column.cellRenderer = StatusCellRenderer;
920
+ column.valueFormatter = undefined;
921
+ column.cellDataType = false;
922
+ }
923
+ // --- Link columns ---
924
+ else if (field.startsWith("link")) {
925
+ column.cellRenderer = LinkCellRenderer;
926
+ column.valueFormatter = undefined;
927
+ column.cellDataType = false;
928
+ }
929
+ // --- Tooltip columns ---
930
+ else if (field.startsWith("tooltip")) {
931
+ column.cellRenderer = TooltipCellRenderer;
932
+ column.valueFormatter = undefined;
933
+ column.cellDataType = false;
934
+ }
935
+ });
936
+ return cols;
937
+ }
938
+ //Keeping for reference
939
+ // onFirstDataRendered(params: FirstDataRenderedEvent) {
940
+ // params.api.sizeColumnsToFit();
941
+ // }
942
+ handleResetButtonClick() {
943
+ const resetEvent = new CustomEvent("ifxResetFiltersEvent", {
944
+ bubbles: true,
945
+ composed: true,
946
+ });
947
+ window.dispatchEvent(resetEvent);
948
+ this.clearAllFilters();
949
+ this.updateTableView();
950
+ }
951
+ disconnectedCallback() {
952
+ if (this.pagination) {
953
+ const paginationElement = this.host.shadowRoot.querySelector("ifx-pagination");
954
+ if (paginationElement) {
955
+ paginationElement.removeEventListener("ifxPageChange", this.handlePageChange);
956
+ }
957
+ }
958
+ const resetButton = this.host.shadowRoot.querySelector("#reset-filters-button");
959
+ if (resetButton) {
960
+ resetButton.removeEventListener("click", this.handleResetButtonClick.bind(this));
961
+ }
962
+ }
963
+ getTableClassNames() {
964
+ return classNames(this.tableHeight === "auto" && "table-wrapper ag-root-wrapper-body", "table-wrapper");
965
+ }
966
+ render() {
967
+ let style = {};
968
+ if (this.tableHeight !== "auto") {
969
+ style = {
970
+ height: this.tableHeight,
971
+ };
972
+ }
973
+ else if (this.pagination === false) {
974
+ style = {
975
+ maxHeight: "400px",
976
+ };
977
+ }
978
+ const filterClass = this.filterOrientation === "topbar"
979
+ ? "topbar-layout"
980
+ : this.filterOrientation === "none"
981
+ ? ""
982
+ : "sidebar-layout";
983
+ return (h(Host, { key: '070764d2283673b28e29e04efc4dbf94522e9bc2' }, h("div", { key: '08fded569cf2d9ed12e0a9b0bc03f1c60de3f91f', class: "table-container" }, this.filterOrientation === "sidebar" && this.showSidebarFiltersButton && (h("div", { key: 'b7fcbd58eaf9a87c2162381d5c1edce2b86bd3ff', class: "sidebar-btn" }, h("ifx-button", { key: '0a2ae9ed94b095fc7ce65da745139747df4a45a0', type: "button", disabled: false, variant: "secondary", size: "m", target: "_blank", theme: "default", "full-width": "false", onClick: () => this.toggleSidebarFilters() }, h("ifx-icon", { key: '6e146b6dd7d4609ea82ea44aaf524baf8eaa082b', icon: "cross-16" }), this.showSidebarFilters ? "Hide Filters" : "Show Filters"))), h("div", { key: '496d6ce28f3747b444b035ae05d94ba94dba594a', class: filterClass }, this.filterOrientation === "sidebar" &&
984
+ this.showSidebarFilters && (h("div", { key: 'b262a63033b7848ccff9d4ca08c6fa0cd00b59a0', class: "sidebar-container" }, h("div", { key: 'ce9a5a3296a54147c748c4be7a1e62030219c310', class: "filters-title-container" }, h("span", { key: '76859e7ba4d00dd905853a301f3ddc3df92c283d', class: "filters-title" }, "Filters")), h("div", { key: '72604dccf9c4c93831f560a9b3f1cce5ff67b1e3', class: "set-filter-wrapper-sidebar" }, (this.filterOrientation !== "sidebar" ||
985
+ this.showSidebarFilters) && (h("slot", { key: 'd8db5a40fc1f7b745599e1ba2393e8d5936c5ef5', name: "sidebar-filter" }))))), this.filterOrientation !== "none" &&
986
+ this.filterOrientation !== "sidebar" && (h("div", { key: '9aefa0ea63abf7f56427e30997929d004cac9b0d', class: "set-filter-wrapper-topbar" }, (this.filterOrientation !== "sidebar" ||
987
+ this.showSidebarFilters) && (h("slot", { key: '7d55097c8f1f0a8ba0d3bcbf8e2fa14c727e57cd', name: "topbar-filter" })))), h("div", { key: '6fe9809359fc371c0f9b85ec6544ab7729aed107', class: "table-pagination-wrapper" }, this.filterOrientation !== "none" &&
988
+ this.filterOrientation !== "topbar" &&
989
+ this.showSidebarFilters && (h("div", { key: '5327d76fb5a5f5103960697f99898c6b8422ecac', class: "filter-chips" }, Object.keys(this.currentFilters).map((name) => {
990
+ const filter = this.currentFilters[name];
991
+ const filterValues = filter.filterValues;
992
+ const isMultiSelect = filter.type !== "text";
993
+ 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;
994
+ }))), h("div", { key: 'e02e12adc4c60788f847ebe7fb91340dc412a267', class: "headline-wrapper" }, this.headline && (h("div", { key: '0834a0ceedba7279bf9bdc986dc1ba836b0042a4', class: "matching-results-container" }, h("span", { key: '9715f6065b4c54734bc127376f513777631f10ff', class: "matching-results-text" }, this.headline), h("span", { key: '2a2b081905410a65d0b13c5935247780a6343fd7', class: "matching-results-count" }, !this.headlineNumber
995
+ ? `(${this.matchingResultsCount})`
996
+ : `(${this.headlineNumber})`), h("div", { key: '7e15010ca970bf24f76bf519d1e9293496780cdd', class: "inner-buttons-left-wrapper" }, h("slot", { key: '4d2a930ac83c01fda90b640c4a3672ed775c742b', name: "inner-button-left" })))), h("div", { key: '7a61c88f3d88e77cca7c80737cbe40383ac1fc69', class: "inner-buttons-wrapper" }, h("slot", { key: 'd6310f95dffe929cfd5d8d08ff08d97b29c8ebc9', name: "inner-button-right" }))), h("div", { key: '1f98db55143ca9e3068ae77113e851bff47b4310', id: "table-wrapper", class: this.getTableClassNames() }, h("div", { key: '956612e64980cad2f06d3b1f16993304eb2403cf', id: `ifxTable-${this.uniqueKey}`, class: `ifx-ag-grid ${this.variant === "zebra" ? "zebra" : ""} ${this.columnValuePosition === "center" ? "center" : "left"}`, style: style, ref: (el) => (this.container = el) })), h("div", { key: '622efe87bcd6f34791158d74a3bf1c79cee7e6fc', class: "pagination-wrapper" }, this.pagination ? (h("ifx-pagination", { total: this.serverSidePagination
997
+ ? this.matchingResultsCount
998
+ : this.allRowData.length, "current-page": this.currentPage, "items-per-page": this.internalItemsPerPage })) : null))))));
999
+ }
1000
+ hasButtonCol() {
1001
+ return this.getColData().some((column) => column.field === "button");
1002
+ }
1003
+ onDragOver(event) {
1004
+ var dragSupported = event.dataTransfer.length;
1005
+ if (dragSupported) {
1006
+ event.dataTransfer.dropEffect = "move";
1007
+ }
1008
+ event.preventDefault();
1009
+ }
1010
+ onDrop(event) {
1011
+ var jsonData = event.dataTransfer.getData("application/json");
1012
+ var eJsonRow = document.createElement("div");
1013
+ eJsonRow.classList.add("json-row");
1014
+ eJsonRow.innerText = jsonData;
1015
+ var eJsonDisplay = document.querySelector("#eJsonDisplay");
1016
+ eJsonDisplay.appendChild(eJsonRow);
1017
+ event.preventDefault();
1018
+ }
1019
+ static get is() { return "ifx-table"; }
1020
+ static get encapsulation() { return "shadow"; }
1021
+ static get originalStyleUrls() {
1022
+ return {
1023
+ "$": ["table.scss"]
1024
+ };
1025
+ }
1026
+ static get styleUrls() {
1027
+ return {
1028
+ "$": ["table.css"]
1029
+ };
1030
+ }
1031
+ static get properties() {
1032
+ return {
1033
+ "cols": {
1034
+ "type": "any",
1035
+ "mutable": false,
1036
+ "complexType": {
1037
+ "original": "any",
1038
+ "resolved": "any",
1039
+ "references": {}
1040
+ },
1041
+ "required": false,
1042
+ "optional": false,
1043
+ "docs": {
1044
+ "tags": [],
1045
+ "text": "The column definitions for the grid."
1046
+ },
1047
+ "getter": false,
1048
+ "setter": false,
1049
+ "reflect": false,
1050
+ "attribute": "cols"
1051
+ },
1052
+ "rows": {
1053
+ "type": "any",
1054
+ "mutable": false,
1055
+ "complexType": {
1056
+ "original": "any",
1057
+ "resolved": "any",
1058
+ "references": {}
1059
+ },
1060
+ "required": false,
1061
+ "optional": false,
1062
+ "docs": {
1063
+ "tags": [],
1064
+ "text": "The rows definitions for the grid."
1065
+ },
1066
+ "getter": false,
1067
+ "setter": false,
1068
+ "reflect": false,
1069
+ "attribute": "rows"
1070
+ },
1071
+ "buttonRendererOptions": {
1072
+ "type": "unknown",
1073
+ "mutable": false,
1074
+ "complexType": {
1075
+ "original": "{\n\t\tonButtonClick?: (params: any, event: Event) => void;\n\t}",
1076
+ "resolved": "{ onButtonClick?: (params: any, event: Event) => void; }",
1077
+ "references": {
1078
+ "Event": {
1079
+ "location": "import",
1080
+ "path": "@stencil/core",
1081
+ "id": "../../node_modules/.pnpm/@stencil+core@4.45.0/node_modules/@stencil/core/internal/stencil-core/index.d.ts::Event",
1082
+ "referenceLocation": "Event"
1083
+ }
1084
+ }
1085
+ },
1086
+ "required": false,
1087
+ "optional": true,
1088
+ "docs": {
1089
+ "tags": [],
1090
+ "text": "Options for button renderer including click handler."
1091
+ },
1092
+ "getter": false,
1093
+ "setter": false
1094
+ },
1095
+ "iconButtonRendererOptions": {
1096
+ "type": "unknown",
1097
+ "mutable": false,
1098
+ "complexType": {
1099
+ "original": "{\n\t\tonIconButtonClick?: (params: any, event: Event) => void;\n\t}",
1100
+ "resolved": "{ onIconButtonClick?: (params: any, event: Event) => void; }",
1101
+ "references": {
1102
+ "Event": {
1103
+ "location": "import",
1104
+ "path": "@stencil/core",
1105
+ "id": "../../node_modules/.pnpm/@stencil+core@4.45.0/node_modules/@stencil/core/internal/stencil-core/index.d.ts::Event",
1106
+ "referenceLocation": "Event"
1107
+ }
1108
+ }
1109
+ },
1110
+ "required": false,
1111
+ "optional": true,
1112
+ "docs": {
1113
+ "tags": [],
1114
+ "text": "Options for icon button renderer including click handler."
1115
+ },
1116
+ "getter": false,
1117
+ "setter": false
1118
+ },
1119
+ "checkboxRendererOptions": {
1120
+ "type": "unknown",
1121
+ "mutable": false,
1122
+ "complexType": {
1123
+ "original": "{\n\t\tonCheckboxClick?: (params: any, event: Event) => void;\n\t}",
1124
+ "resolved": "{ onCheckboxClick?: (params: any, event: Event) => void; }",
1125
+ "references": {
1126
+ "Event": {
1127
+ "location": "import",
1128
+ "path": "@stencil/core",
1129
+ "id": "../../node_modules/.pnpm/@stencil+core@4.45.0/node_modules/@stencil/core/internal/stencil-core/index.d.ts::Event",
1130
+ "referenceLocation": "Event"
1131
+ }
1132
+ }
1133
+ },
1134
+ "required": false,
1135
+ "optional": true,
1136
+ "docs": {
1137
+ "tags": [],
1138
+ "text": "Options for checkbox renderer including click handler."
1139
+ },
1140
+ "getter": false,
1141
+ "setter": false
1142
+ },
1143
+ "rowHeight": {
1144
+ "type": "string",
1145
+ "mutable": false,
1146
+ "complexType": {
1147
+ "original": "string",
1148
+ "resolved": "string",
1149
+ "references": {}
1150
+ },
1151
+ "required": false,
1152
+ "optional": false,
1153
+ "docs": {
1154
+ "tags": [],
1155
+ "text": "Height of each row."
1156
+ },
1157
+ "getter": false,
1158
+ "setter": false,
1159
+ "reflect": false,
1160
+ "attribute": "row-height",
1161
+ "defaultValue": "\"default\""
1162
+ },
1163
+ "tableHeight": {
1164
+ "type": "string",
1165
+ "mutable": false,
1166
+ "complexType": {
1167
+ "original": "string",
1168
+ "resolved": "string",
1169
+ "references": {}
1170
+ },
1171
+ "required": false,
1172
+ "optional": false,
1173
+ "docs": {
1174
+ "tags": [],
1175
+ "text": "Total height of the table."
1176
+ },
1177
+ "getter": false,
1178
+ "setter": false,
1179
+ "reflect": false,
1180
+ "attribute": "table-height",
1181
+ "defaultValue": "\"auto\""
1182
+ },
1183
+ "pagination": {
1184
+ "type": "boolean",
1185
+ "mutable": false,
1186
+ "complexType": {
1187
+ "original": "boolean",
1188
+ "resolved": "boolean",
1189
+ "references": {}
1190
+ },
1191
+ "required": false,
1192
+ "optional": false,
1193
+ "docs": {
1194
+ "tags": [],
1195
+ "text": "Enable or disable pagination."
1196
+ },
1197
+ "getter": false,
1198
+ "setter": false,
1199
+ "reflect": false,
1200
+ "attribute": "pagination",
1201
+ "defaultValue": "true"
1202
+ },
1203
+ "paginationItemsPerPage": {
1204
+ "type": "string",
1205
+ "mutable": false,
1206
+ "complexType": {
1207
+ "original": "| string\n\t\t| Array<{ value: number | string; selected?: boolean; label?: string }>",
1208
+ "resolved": "string | { value: string | number; selected?: boolean; label?: string; }[]",
1209
+ "references": {
1210
+ "Array": {
1211
+ "location": "global",
1212
+ "id": "global::Array"
1213
+ }
1214
+ }
1215
+ },
1216
+ "required": false,
1217
+ "optional": false,
1218
+ "docs": {
1219
+ "tags": [],
1220
+ "text": "Number of items per page."
1221
+ },
1222
+ "getter": false,
1223
+ "setter": false,
1224
+ "reflect": false,
1225
+ "attribute": "pagination-items-per-page"
1226
+ },
1227
+ "filterOrientation": {
1228
+ "type": "string",
1229
+ "mutable": false,
1230
+ "complexType": {
1231
+ "original": "string",
1232
+ "resolved": "string",
1233
+ "references": {}
1234
+ },
1235
+ "required": false,
1236
+ "optional": false,
1237
+ "docs": {
1238
+ "tags": [],
1239
+ "text": "Filter display orientation (sidebar or inline)."
1240
+ },
1241
+ "getter": false,
1242
+ "setter": false,
1243
+ "reflect": false,
1244
+ "attribute": "filter-orientation",
1245
+ "defaultValue": "\"sidebar\""
1246
+ },
1247
+ "headline": {
1248
+ "type": "string",
1249
+ "mutable": false,
1250
+ "complexType": {
1251
+ "original": "string",
1252
+ "resolved": "string",
1253
+ "references": {}
1254
+ },
1255
+ "required": false,
1256
+ "optional": false,
1257
+ "docs": {
1258
+ "tags": [],
1259
+ "text": "Headline text displayed above the grid."
1260
+ },
1261
+ "getter": false,
1262
+ "setter": false,
1263
+ "reflect": false,
1264
+ "attribute": "headline",
1265
+ "defaultValue": "\"\""
1266
+ },
1267
+ "headlineNumber": {
1268
+ "type": "number",
1269
+ "mutable": false,
1270
+ "complexType": {
1271
+ "original": "number",
1272
+ "resolved": "number",
1273
+ "references": {}
1274
+ },
1275
+ "required": false,
1276
+ "optional": false,
1277
+ "docs": {
1278
+ "tags": [],
1279
+ "text": "Numeric value displayed in headline."
1280
+ },
1281
+ "getter": false,
1282
+ "setter": false,
1283
+ "reflect": false,
1284
+ "attribute": "headline-number",
1285
+ "defaultValue": "null"
1286
+ },
1287
+ "variant": {
1288
+ "type": "string",
1289
+ "mutable": false,
1290
+ "complexType": {
1291
+ "original": "string",
1292
+ "resolved": "string",
1293
+ "references": {}
1294
+ },
1295
+ "required": false,
1296
+ "optional": false,
1297
+ "docs": {
1298
+ "tags": [],
1299
+ "text": "Visual variant of the grid."
1300
+ },
1301
+ "getter": false,
1302
+ "setter": false,
1303
+ "reflect": false,
1304
+ "attribute": "variant",
1305
+ "defaultValue": "\"default\""
1306
+ },
1307
+ "serverSidePagination": {
1308
+ "type": "boolean",
1309
+ "mutable": false,
1310
+ "complexType": {
1311
+ "original": "boolean",
1312
+ "resolved": "boolean",
1313
+ "references": {}
1314
+ },
1315
+ "required": false,
1316
+ "optional": false,
1317
+ "docs": {
1318
+ "tags": [],
1319
+ "text": "Enable server-side pagination mode."
1320
+ },
1321
+ "getter": false,
1322
+ "setter": false,
1323
+ "reflect": false,
1324
+ "attribute": "server-side-pagination",
1325
+ "defaultValue": "false"
1326
+ },
1327
+ "serverPageChangeHandler": {
1328
+ "type": "unknown",
1329
+ "mutable": false,
1330
+ "complexType": {
1331
+ "original": "(params: {\n\t\tpage: number;\n\t\tpageSize: number;\n\t}) => Promise<{ rows: any[]; total: number }>",
1332
+ "resolved": "(params: { page: number; pageSize: number; }) => Promise<{ rows: any[]; total: number; }>",
1333
+ "references": {
1334
+ "Promise": {
1335
+ "location": "global",
1336
+ "id": "global::Promise"
1337
+ }
1338
+ }
1339
+ },
1340
+ "required": false,
1341
+ "optional": true,
1342
+ "docs": {
1343
+ "tags": [],
1344
+ "text": "Handler for server-side page changes."
1345
+ },
1346
+ "getter": false,
1347
+ "setter": false
1348
+ },
1349
+ "enableSelection": {
1350
+ "type": "boolean",
1351
+ "mutable": false,
1352
+ "complexType": {
1353
+ "original": "boolean",
1354
+ "resolved": "boolean",
1355
+ "references": {}
1356
+ },
1357
+ "required": false,
1358
+ "optional": false,
1359
+ "docs": {
1360
+ "tags": [],
1361
+ "text": "Enable row selection."
1362
+ },
1363
+ "getter": false,
1364
+ "setter": false,
1365
+ "reflect": false,
1366
+ "attribute": "enable-selection",
1367
+ "defaultValue": "false"
1368
+ },
1369
+ "showLoading": {
1370
+ "type": "boolean",
1371
+ "mutable": false,
1372
+ "complexType": {
1373
+ "original": "boolean",
1374
+ "resolved": "boolean",
1375
+ "references": {}
1376
+ },
1377
+ "required": false,
1378
+ "optional": false,
1379
+ "docs": {
1380
+ "tags": [],
1381
+ "text": "Show loading overlay."
1382
+ },
1383
+ "getter": false,
1384
+ "setter": false,
1385
+ "reflect": false,
1386
+ "attribute": "show-loading",
1387
+ "defaultValue": "false"
1388
+ },
1389
+ "fitColumns": {
1390
+ "type": "boolean",
1391
+ "mutable": false,
1392
+ "complexType": {
1393
+ "original": "boolean",
1394
+ "resolved": "boolean",
1395
+ "references": {}
1396
+ },
1397
+ "required": false,
1398
+ "optional": false,
1399
+ "docs": {
1400
+ "tags": [],
1401
+ "text": "Auto-fit columns to container width."
1402
+ },
1403
+ "getter": false,
1404
+ "setter": false,
1405
+ "reflect": false,
1406
+ "attribute": "fit-columns",
1407
+ "defaultValue": "false"
1408
+ },
1409
+ "columnMinWidth": {
1410
+ "type": "number",
1411
+ "mutable": false,
1412
+ "complexType": {
1413
+ "original": "number",
1414
+ "resolved": "number",
1415
+ "references": {}
1416
+ },
1417
+ "required": false,
1418
+ "optional": true,
1419
+ "docs": {
1420
+ "tags": [],
1421
+ "text": "Minimum width for columns."
1422
+ },
1423
+ "getter": false,
1424
+ "setter": false,
1425
+ "reflect": false,
1426
+ "attribute": "column-min-width"
1427
+ },
1428
+ "columnWidth": {
1429
+ "type": "string",
1430
+ "mutable": false,
1431
+ "complexType": {
1432
+ "original": "string",
1433
+ "resolved": "string",
1434
+ "references": {}
1435
+ },
1436
+ "required": false,
1437
+ "optional": true,
1438
+ "docs": {
1439
+ "tags": [],
1440
+ "text": "Fixed width for columns."
1441
+ },
1442
+ "getter": false,
1443
+ "setter": false,
1444
+ "reflect": false,
1445
+ "attribute": "column-width"
1446
+ },
1447
+ "columnValuePosition": {
1448
+ "type": "string",
1449
+ "mutable": false,
1450
+ "complexType": {
1451
+ "original": "\"left\" | \"center\"",
1452
+ "resolved": "\"center\" | \"left\"",
1453
+ "references": {}
1454
+ },
1455
+ "required": false,
1456
+ "optional": false,
1457
+ "docs": {
1458
+ "tags": [],
1459
+ "text": "Position of the column values, either left or center."
1460
+ },
1461
+ "getter": false,
1462
+ "setter": false,
1463
+ "reflect": false,
1464
+ "attribute": "column-value-position",
1465
+ "defaultValue": "\"left\""
1466
+ }
1467
+ };
1468
+ }
1469
+ static get states() {
1470
+ return {
1471
+ "currentPage": {},
1472
+ "rowData": {},
1473
+ "colData": {},
1474
+ "filterOptions": {},
1475
+ "currentFilters": {},
1476
+ "uniqueKey": {},
1477
+ "showAllItems": {},
1478
+ "paginationPageSize": {},
1479
+ "showSidebarFiltersButton": {},
1480
+ "showSidebarFilters": {},
1481
+ "matchingResultsCount": {},
1482
+ "selectedRows": {},
1483
+ "selectAll": {},
1484
+ "selectedRowsData": {}
1485
+ };
1486
+ }
1487
+ static get events() {
1488
+ return [{
1489
+ "method": "ifxSortChange",
1490
+ "name": "ifxSortChange",
1491
+ "bubbles": true,
1492
+ "cancelable": true,
1493
+ "composed": true,
1494
+ "docs": {
1495
+ "tags": [],
1496
+ "text": "Emitted when sort order changes."
1497
+ },
1498
+ "complexType": {
1499
+ "original": "any",
1500
+ "resolved": "any",
1501
+ "references": {}
1502
+ }
1503
+ }];
1504
+ }
1505
+ static get methods() {
1506
+ return {
1507
+ "refreshCurrentPage": {
1508
+ "complexType": {
1509
+ "signature": "() => Promise<void>",
1510
+ "parameters": [],
1511
+ "references": {
1512
+ "Promise": {
1513
+ "location": "global",
1514
+ "id": "global::Promise"
1515
+ }
1516
+ },
1517
+ "return": "Promise<void>"
1518
+ },
1519
+ "docs": {
1520
+ "text": "Refreshes the current page data by re-calling the serverPageChangeHandler.\nUse this method to update the table after modifying data on the server side.",
1521
+ "tags": [{
1522
+ "name": "returns",
1523
+ "text": undefined
1524
+ }]
1525
+ }
1526
+ },
1527
+ "onBtShowLoading": {
1528
+ "complexType": {
1529
+ "signature": "() => Promise<void>",
1530
+ "parameters": [],
1531
+ "references": {
1532
+ "Promise": {
1533
+ "location": "global",
1534
+ "id": "global::Promise"
1535
+ }
1536
+ },
1537
+ "return": "Promise<void>"
1538
+ },
1539
+ "docs": {
1540
+ "text": "Shows the loading overlay on the grid.",
1541
+ "tags": [{
1542
+ "name": "returns",
1543
+ "text": undefined
1544
+ }]
1545
+ }
1546
+ }
1547
+ };
1548
+ }
1549
+ static get elementRef() { return "host"; }
1550
+ static get watchers() {
1551
+ return [{
1552
+ "propName": "rows",
1553
+ "methodName": "rowsChanged"
1554
+ }, {
1555
+ "propName": "fitColumns",
1556
+ "methodName": "onSizingOptionsChanged"
1557
+ }, {
1558
+ "propName": "columnMinWidth",
1559
+ "methodName": "onSizingOptionsChanged"
1560
+ }, {
1561
+ "propName": "cols",
1562
+ "methodName": "colsChanged"
1563
+ }, {
1564
+ "propName": "pagination",
1565
+ "methodName": "onPaginationChanged"
1566
+ }, {
1567
+ "propName": "buttonRendererOptions",
1568
+ "methodName": "onButtonRendererOptionsChanged"
1569
+ }, {
1570
+ "propName": "iconButtonRendererOptions",
1571
+ "methodName": "onIconButtonRendererOptionsChanged"
1572
+ }, {
1573
+ "propName": "checkboxRendererOptions",
1574
+ "methodName": "onCheckboxRendererOptionsChanged"
1575
+ }];
1576
+ }
1577
+ static get listeners() {
1578
+ return [{
1579
+ "name": "ifxShowSidebarFiltersButtonChange",
1580
+ "method": "handleButtonVisibilityChange",
1581
+ "target": undefined,
1582
+ "capture": false,
1583
+ "passive": false
1584
+ }, {
1585
+ "name": "ifxItemsPerPageChange",
1586
+ "method": "handleResultsPerPageChange",
1587
+ "target": undefined,
1588
+ "capture": false,
1589
+ "passive": false
1590
+ }, {
1591
+ "name": "ifxChange",
1592
+ "method": "handleChipChange",
1593
+ "target": undefined,
1594
+ "capture": false,
1595
+ "passive": false
1596
+ }];
1597
+ }
1598
+ }