@infineon/infineon-design-system-stencil 39.4.4--canary.1723.e4323cb727c1b785c590fb74fe461a95eae530fd.0 → 39.4.4--canary.2134.cd83647d2771e1e22b8c6c80a0df75f24ca168b6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/dist/cjs/{icons-BOElayqb.js → icons-B_27O3dI.js} +5 -20
  2. package/dist/cjs/icons-B_27O3dI.js.map +1 -0
  3. package/dist/cjs/ifx-action-list-item.cjs.entry.js +1 -2
  4. package/dist/cjs/ifx-action-list-item.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ifx-action-list-item.entry.cjs.js.map +1 -1
  6. package/dist/cjs/ifx-basic-table.cjs.entry.js +1 -2
  7. package/dist/cjs/ifx-basic-table.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ifx-basic-table.entry.cjs.js.map +1 -1
  9. package/dist/cjs/ifx-button.ifx-checkbox.ifx-chip.ifx-chip-item.ifx-icon.ifx-icon-button.ifx-indicator.ifx-pagination.ifx-select.ifx-table.entry.cjs.js.map +1 -0
  10. package/dist/cjs/ifx-button_10.cjs.entry.js +9551 -0
  11. package/dist/cjs/ifx-button_10.cjs.entry.js.map +1 -0
  12. package/dist/cjs/ifx-icons-preview.cjs.entry.js +1 -1
  13. package/dist/cjs/ifx-link.cjs.entry.js +1 -2
  14. package/dist/cjs/ifx-link.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ifx-link.entry.cjs.js.map +1 -1
  16. package/dist/cjs/ifx-search-field.cjs.entry.js +1 -2
  17. package/dist/cjs/ifx-search-field.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ifx-search-field.entry.cjs.js.map +1 -1
  19. package/dist/cjs/ifx-spinner.ifx-text-field.entry.cjs.js.map +1 -1
  20. package/dist/cjs/ifx-spinner_2.cjs.entry.js +1 -2
  21. package/dist/cjs/ifx-spinner_2.cjs.entry.js.map +1 -1
  22. package/dist/cjs/index-Dc5gCGlQ.js +2 -30
  23. package/dist/cjs/{index-CVw4GUo6.js → index-DihxupoM.js} +7 -4
  24. package/dist/{esm/index-Bt32KzDW.js.map → cjs/index-DihxupoM.js.map} +1 -1
  25. package/dist/cjs/infineon-design-system-stencil.cjs.js +1 -1
  26. package/dist/cjs/loader.cjs.js +1 -1
  27. package/dist/collection/components/table-advanced-version/table.js +87 -38
  28. package/dist/collection/components/table-advanced-version/table.js.map +1 -1
  29. package/dist/components/ifx-accordion-item.js +1 -1
  30. package/dist/components/ifx-alert.js +1 -1
  31. package/dist/components/ifx-breadcrumb-item-label.js +1 -1
  32. package/dist/components/ifx-checkbox-group.js +1 -1
  33. package/dist/components/ifx-checkbox.js +1 -1
  34. package/dist/components/ifx-chip-item.js +1 -1
  35. package/dist/components/ifx-chip.js +1 -1
  36. package/dist/components/ifx-date-picker.js +1 -1
  37. package/dist/components/ifx-dropdown-item.js +1 -1
  38. package/dist/components/ifx-dropdown-trigger-button.js +1 -1
  39. package/dist/components/ifx-faq.js +2 -2
  40. package/dist/components/ifx-file-upload.js +2 -2
  41. package/dist/components/ifx-filter-accordion.js +1 -1
  42. package/dist/components/ifx-filter-bar.js +1 -1
  43. package/dist/components/ifx-filter-search.js +2 -2
  44. package/dist/components/ifx-icon-button.js +1 -1
  45. package/dist/components/ifx-icon.js +1 -1
  46. package/dist/components/ifx-icons-preview.js +3 -3
  47. package/dist/components/ifx-list-entry.js +2 -2
  48. package/dist/components/ifx-list.js +1 -1
  49. package/dist/components/ifx-modal.js +2 -2
  50. package/dist/components/ifx-multiselect-option.js +1 -1
  51. package/dist/components/ifx-multiselect.js +1 -1
  52. package/dist/components/ifx-navbar-item.js +1 -1
  53. package/dist/components/ifx-navbar.js +1 -1
  54. package/dist/components/ifx-notification.js +1 -1
  55. package/dist/components/ifx-overview-table.js +1 -1
  56. package/dist/components/ifx-pagination.js +1 -1
  57. package/dist/components/ifx-radio-button-group.js +1 -1
  58. package/dist/components/ifx-search-bar.js +2 -2
  59. package/dist/components/ifx-search-field.js +1 -1
  60. package/dist/components/ifx-segment.js +1 -1
  61. package/dist/components/ifx-segmented-control.js +1 -1
  62. package/dist/components/ifx-select.js +1 -1
  63. package/dist/components/ifx-set-filter.js +7 -7
  64. package/dist/components/ifx-sidebar-item.js +1 -1
  65. package/dist/components/ifx-sidebar.js +1 -1
  66. package/dist/components/ifx-slider.js +1 -1
  67. package/dist/components/ifx-step.js +1 -1
  68. package/dist/components/ifx-table.js +93 -44
  69. package/dist/components/ifx-table.js.map +1 -1
  70. package/dist/components/ifx-tabs.js +2 -2
  71. package/dist/components/ifx-template.js +1 -1
  72. package/dist/components/ifx-templates-ui.js +5 -5
  73. package/dist/components/ifx-text-field.js +1 -1
  74. package/dist/components/ifx-tooltip.js +1 -1
  75. package/dist/components/ifx-tree-view-item.js +2 -2
  76. package/dist/components/{p-DD80oicI.js → p-4wfkxGlJ.js} +4 -4
  77. package/dist/components/{p-DD80oicI.js.map → p-4wfkxGlJ.js.map} +1 -1
  78. package/dist/components/{p-DkRZn47g.js → p-BG0cmSVP.js} +5 -5
  79. package/dist/components/{p-DkRZn47g.js.map → p-BG0cmSVP.js.map} +1 -1
  80. package/dist/components/{p-DlFdNq4F.js → p-BQj9WQQe.js} +3 -3
  81. package/dist/components/{p-DlFdNq4F.js.map → p-BQj9WQQe.js.map} +1 -1
  82. package/dist/components/{p-CbDS7fbn.js → p-CRSbKJxa.js} +3 -3
  83. package/dist/components/{p-CbDS7fbn.js.map → p-CRSbKJxa.js.map} +1 -1
  84. package/dist/components/{p-CIw3efEg.js → p-CcGE_f9F.js} +5 -5
  85. package/dist/components/{p-CIw3efEg.js.map → p-CcGE_f9F.js.map} +1 -1
  86. package/dist/components/{p-BVJl-hTu.js → p-CnXEcTdH.js} +3 -3
  87. package/dist/components/{p-BVJl-hTu.js.map → p-CnXEcTdH.js.map} +1 -1
  88. package/dist/components/{p-DX0ddaB9.js → p-DFInpODO.js} +3 -3
  89. package/dist/components/{p-DX0ddaB9.js.map → p-DFInpODO.js.map} +1 -1
  90. package/dist/components/{p-BnMuxXaP.js → p-DHLzWSzN.js} +3 -3
  91. package/dist/components/{p-BnMuxXaP.js.map → p-DHLzWSzN.js.map} +1 -1
  92. package/dist/components/{p-CKT_EeVj.js → p-DNZFFt4T.js} +3 -3
  93. package/dist/components/{p-CKT_EeVj.js.map → p-DNZFFt4T.js.map} +1 -1
  94. package/dist/components/{p-CLqzdlSR.js → p-DRqwZrk0.js} +3 -3
  95. package/dist/components/{p-CLqzdlSR.js.map → p-DRqwZrk0.js.map} +1 -1
  96. package/dist/components/{p-B2e3orJn.js → p-DhNY6ZGA.js} +5 -20
  97. package/dist/components/p-DhNY6ZGA.js.map +1 -0
  98. package/dist/components/{p-DCkKdm37.js → p-Djr4amRx.js} +4 -4
  99. package/dist/components/{p-DCkKdm37.js.map → p-Djr4amRx.js.map} +1 -1
  100. package/dist/components/{p-CYCBkVYd.js → p-F-WOWp_H.js} +3 -3
  101. package/dist/components/{p-CYCBkVYd.js.map → p-F-WOWp_H.js.map} +1 -1
  102. package/dist/components/{p-Enb5HFzA.js → p-esRQWwdS.js} +4 -4
  103. package/dist/components/{p-Enb5HFzA.js.map → p-esRQWwdS.js.map} +1 -1
  104. package/dist/components/{p-B2vrW4WM.js → p-v3vmQuAS.js} +3 -3
  105. package/dist/components/{p-B2vrW4WM.js.map → p-v3vmQuAS.js.map} +1 -1
  106. package/dist/esm/{icons-CjdLRP3d.js → icons-CmdmgBUp.js} +5 -20
  107. package/dist/esm/icons-CmdmgBUp.js.map +1 -0
  108. package/dist/esm/ifx-action-list-item.entry.js +1 -2
  109. package/dist/esm/ifx-action-list-item.entry.js.map +1 -1
  110. package/dist/esm/ifx-basic-table.entry.js +1 -2
  111. package/dist/esm/ifx-basic-table.entry.js.map +1 -1
  112. package/dist/esm/ifx-button.ifx-checkbox.ifx-chip.ifx-chip-item.ifx-icon.ifx-icon-button.ifx-indicator.ifx-pagination.ifx-select.ifx-table.entry.js.map +1 -0
  113. package/dist/esm/ifx-button_10.entry.js +9540 -0
  114. package/dist/esm/ifx-button_10.entry.js.map +1 -0
  115. package/dist/esm/ifx-icons-preview.entry.js +1 -1
  116. package/dist/esm/ifx-link.entry.js +1 -2
  117. package/dist/esm/ifx-link.entry.js.map +1 -1
  118. package/dist/esm/ifx-search-field.entry.js +1 -2
  119. package/dist/esm/ifx-search-field.entry.js.map +1 -1
  120. package/dist/esm/ifx-spinner.ifx-text-field.entry.js.map +1 -1
  121. package/dist/esm/ifx-spinner_2.entry.js +1 -2
  122. package/dist/esm/ifx-spinner_2.entry.js.map +1 -1
  123. package/dist/esm/{index-Bt32KzDW.js → index-Beav1bNT.js} +6 -4
  124. package/dist/{cjs/index-CVw4GUo6.js.map → esm/index-Beav1bNT.js.map} +1 -1
  125. package/dist/esm/index-PqnYwNKt.js +2 -30
  126. package/dist/esm/infineon-design-system-stencil.js +1 -1
  127. package/dist/esm/loader.js +1 -1
  128. package/dist/infineon-design-system-stencil/ifx-action-list-item.entry.esm.js.map +1 -1
  129. package/dist/infineon-design-system-stencil/ifx-basic-table.entry.esm.js.map +1 -1
  130. package/dist/infineon-design-system-stencil/ifx-button.ifx-checkbox.ifx-chip.ifx-chip-item.ifx-icon.ifx-icon-button.ifx-indicator.ifx-pagination.ifx-select.ifx-table.entry.esm.js.map +1 -0
  131. package/dist/infineon-design-system-stencil/ifx-link.entry.esm.js.map +1 -1
  132. package/dist/infineon-design-system-stencil/ifx-search-field.entry.esm.js.map +1 -1
  133. package/dist/infineon-design-system-stencil/ifx-spinner.ifx-text-field.entry.esm.js.map +1 -1
  134. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  135. package/dist/infineon-design-system-stencil/p-1b5dce92.entry.js +2 -0
  136. package/dist/infineon-design-system-stencil/{p-6e115707.entry.js.map → p-1b5dce92.entry.js.map} +1 -1
  137. package/dist/infineon-design-system-stencil/p-3f6242bc.entry.js +3 -0
  138. package/dist/infineon-design-system-stencil/p-3f6242bc.entry.js.map +1 -0
  139. package/dist/infineon-design-system-stencil/p-646620f9.entry.js +2 -0
  140. package/dist/infineon-design-system-stencil/{p-fcae5dc1.entry.js.map → p-646620f9.entry.js.map} +1 -1
  141. package/dist/infineon-design-system-stencil/{p-f85c9454.entry.js → p-6eb6af05.entry.js} +2 -2
  142. package/dist/infineon-design-system-stencil/p-6fd710a6.entry.js +2 -0
  143. package/dist/infineon-design-system-stencil/{p-169f26ae.entry.js.map → p-6fd710a6.entry.js.map} +1 -1
  144. package/dist/infineon-design-system-stencil/p-7b705420.entry.js +2 -0
  145. package/dist/infineon-design-system-stencil/{p-4fba0543.entry.js.map → p-7b705420.entry.js.map} +1 -1
  146. package/dist/infineon-design-system-stencil/p-81f0d6ad.entry.js +2 -0
  147. package/dist/infineon-design-system-stencil/{p-3d77ef02.entry.js.map → p-81f0d6ad.entry.js.map} +1 -1
  148. package/dist/infineon-design-system-stencil/{p-DMLRPGid.js → p-Beav1bNT.js} +3 -3
  149. package/dist/infineon-design-system-stencil/{p-DMLRPGid.js.map → p-Beav1bNT.js.map} +1 -1
  150. package/dist/infineon-design-system-stencil/p-CmdmgBUp.js +2 -0
  151. package/dist/infineon-design-system-stencil/p-CmdmgBUp.js.map +1 -0
  152. package/dist/types/components/table-advanced-version/table.d.ts +1 -0
  153. package/package.json +1 -1
  154. package/dist/cjs/_commonjsHelpers-CFO10eej.js +0 -10
  155. package/dist/cjs/_commonjsHelpers-CFO10eej.js.map +0 -1
  156. package/dist/cjs/icons-BOElayqb.js.map +0 -1
  157. package/dist/cjs/ifx-button.cjs.entry.js +0 -146
  158. package/dist/cjs/ifx-button.cjs.entry.js.map +0 -1
  159. package/dist/cjs/ifx-button.entry.cjs.js.map +0 -1
  160. package/dist/cjs/ifx-checkbox.cjs.entry.js +0 -125
  161. package/dist/cjs/ifx-checkbox.cjs.entry.js.map +0 -1
  162. package/dist/cjs/ifx-checkbox.entry.cjs.js.map +0 -1
  163. package/dist/cjs/ifx-chip.ifx-chip-item.ifx-pagination.entry.cjs.js.map +0 -1
  164. package/dist/cjs/ifx-chip_3.cjs.entry.js +0 -615
  165. package/dist/cjs/ifx-chip_3.cjs.entry.js.map +0 -1
  166. package/dist/cjs/ifx-icon-button.cjs.entry.js +0 -76
  167. package/dist/cjs/ifx-icon-button.cjs.entry.js.map +0 -1
  168. package/dist/cjs/ifx-icon-button.entry.cjs.js.map +0 -1
  169. package/dist/cjs/ifx-icon.cjs.entry.js +0 -127
  170. package/dist/cjs/ifx-icon.cjs.entry.js.map +0 -1
  171. package/dist/cjs/ifx-icon.entry.cjs.js.map +0 -1
  172. package/dist/cjs/ifx-indicator.cjs.entry.js +0 -42
  173. package/dist/cjs/ifx-indicator.cjs.entry.js.map +0 -1
  174. package/dist/cjs/ifx-indicator.entry.cjs.js.map +0 -1
  175. package/dist/cjs/ifx-select.cjs.entry.js +0 -7323
  176. package/dist/cjs/ifx-select.cjs.entry.js.map +0 -1
  177. package/dist/cjs/ifx-select.entry.cjs.js.map +0 -1
  178. package/dist/cjs/ifx-table.cjs.entry.js +0 -1118
  179. package/dist/cjs/ifx-table.cjs.entry.js.map +0 -1
  180. package/dist/cjs/ifx-table.entry.cjs.js.map +0 -1
  181. package/dist/components/p-B2e3orJn.js.map +0 -1
  182. package/dist/esm/_commonjsHelpers-B85MJLTf.js +0 -8
  183. package/dist/esm/_commonjsHelpers-B85MJLTf.js.map +0 -1
  184. package/dist/esm/icons-CjdLRP3d.js.map +0 -1
  185. package/dist/esm/ifx-button.entry.js +0 -144
  186. package/dist/esm/ifx-button.entry.js.map +0 -1
  187. package/dist/esm/ifx-checkbox.entry.js +0 -123
  188. package/dist/esm/ifx-checkbox.entry.js.map +0 -1
  189. package/dist/esm/ifx-chip.ifx-chip-item.ifx-pagination.entry.js.map +0 -1
  190. package/dist/esm/ifx-chip_3.entry.js +0 -611
  191. package/dist/esm/ifx-chip_3.entry.js.map +0 -1
  192. package/dist/esm/ifx-icon-button.entry.js +0 -74
  193. package/dist/esm/ifx-icon-button.entry.js.map +0 -1
  194. package/dist/esm/ifx-icon.entry.js +0 -125
  195. package/dist/esm/ifx-icon.entry.js.map +0 -1
  196. package/dist/esm/ifx-indicator.entry.js +0 -40
  197. package/dist/esm/ifx-indicator.entry.js.map +0 -1
  198. package/dist/esm/ifx-select.entry.js +0 -7321
  199. package/dist/esm/ifx-select.entry.js.map +0 -1
  200. package/dist/esm/ifx-table.entry.js +0 -1116
  201. package/dist/esm/ifx-table.entry.js.map +0 -1
  202. package/dist/infineon-design-system-stencil/ifx-button.entry.esm.js.map +0 -1
  203. package/dist/infineon-design-system-stencil/ifx-checkbox.entry.esm.js.map +0 -1
  204. package/dist/infineon-design-system-stencil/ifx-chip.ifx-chip-item.ifx-pagination.entry.esm.js.map +0 -1
  205. package/dist/infineon-design-system-stencil/ifx-icon-button.entry.esm.js.map +0 -1
  206. package/dist/infineon-design-system-stencil/ifx-icon.entry.esm.js.map +0 -1
  207. package/dist/infineon-design-system-stencil/ifx-indicator.entry.esm.js.map +0 -1
  208. package/dist/infineon-design-system-stencil/ifx-select.entry.esm.js.map +0 -1
  209. package/dist/infineon-design-system-stencil/ifx-table.entry.esm.js.map +0 -1
  210. package/dist/infineon-design-system-stencil/p-169f26ae.entry.js +0 -2
  211. package/dist/infineon-design-system-stencil/p-39561a49.entry.js +0 -2
  212. package/dist/infineon-design-system-stencil/p-39561a49.entry.js.map +0 -1
  213. package/dist/infineon-design-system-stencil/p-3d77ef02.entry.js +0 -2
  214. package/dist/infineon-design-system-stencil/p-4da5a2a5.entry.js +0 -2
  215. package/dist/infineon-design-system-stencil/p-4da5a2a5.entry.js.map +0 -1
  216. package/dist/infineon-design-system-stencil/p-4fba0543.entry.js +0 -2
  217. package/dist/infineon-design-system-stencil/p-5e3d0ff0.entry.js +0 -2
  218. package/dist/infineon-design-system-stencil/p-5e3d0ff0.entry.js.map +0 -1
  219. package/dist/infineon-design-system-stencil/p-5fb3eb8b.entry.js +0 -2
  220. package/dist/infineon-design-system-stencil/p-5fb3eb8b.entry.js.map +0 -1
  221. package/dist/infineon-design-system-stencil/p-6e115707.entry.js +0 -2
  222. package/dist/infineon-design-system-stencil/p-77e54475.entry.js +0 -2
  223. package/dist/infineon-design-system-stencil/p-77e54475.entry.js.map +0 -1
  224. package/dist/infineon-design-system-stencil/p-B85MJLTf.js +0 -2
  225. package/dist/infineon-design-system-stencil/p-B85MJLTf.js.map +0 -1
  226. package/dist/infineon-design-system-stencil/p-CjdLRP3d.js +0 -2
  227. package/dist/infineon-design-system-stencil/p-CjdLRP3d.js.map +0 -1
  228. package/dist/infineon-design-system-stencil/p-a85754a5.entry.js +0 -3
  229. package/dist/infineon-design-system-stencil/p-a85754a5.entry.js.map +0 -1
  230. package/dist/infineon-design-system-stencil/p-abd8bd80.entry.js +0 -2
  231. package/dist/infineon-design-system-stencil/p-abd8bd80.entry.js.map +0 -1
  232. package/dist/infineon-design-system-stencil/p-fcae5dc1.entry.js +0 -2
  233. package/dist/infineon-design-system-stencil/p-ff4cc197.entry.js +0 -2
  234. package/dist/infineon-design-system-stencil/p-ff4cc197.entry.js.map +0 -1
  235. /package/dist/infineon-design-system-stencil/{p-f85c9454.entry.js.map → p-6eb6af05.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"ifx-table.entry.esm.js","sources":["src/components/table-advanced-version/buttonCellRenderer.ts","src/components/table-advanced-version/checkboxCellRenderer.ts","src/components/table-advanced-version/checkboxHeaderRenderer.ts","src/components/table-advanced-version/iconButtonCellRenderer.ts","src/components/table-advanced-version/linkCellRenderer.ts","src/components/table-advanced-version/statusCellRenderer.ts","src/components/table-advanced-version/customNoRowsOverlay.ts","src/components/table-advanced-version/customLoadingOverlay.ts","src/components/table-advanced-version/table.scss?tag=ifx-table&encapsulation=shadow","src/components/table-advanced-version/table.tsx"],"sourcesContent":["import { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\nimport { ButtonInterface } from './interfaces';\n\nexport class ButtonCellRenderer implements ICellRendererComp {\n eGui!: HTMLDivElement;\n eButton!: HTMLElement; // Change to a generic HTMLElement to accommodate custom elements\n eventListener!: (event: Event) => void;\n\n init(params: ICellRendererParams) {\n this.createButton(params);\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(params: ICellRendererParams) {\n this.updateButton(params);\n return true;\n }\n\n private createButton(params: ICellRendererParams) {\n const config = params.data[params.colDef.field];\n const options = params.colDef.cellRendererParams || {};\n \n this.eGui = document.createElement('div');\n this.eButton = document.createElement('ifx-button') as HTMLElement;\n \n if (this.hasRequiredKeys(config)) {\n this.setButtonAttributes(config);\n this.eGui.appendChild(this.eButton);\n this.attachEventListener(options, params);\n } else {\n this.eGui.textContent = config ? String(config) : '';\n }\n }\n\n private updateButton(params: ICellRendererParams) {\n const config = params.data[params.colDef.field];\n const options = params.colDef.cellRendererParams || {};\n \n if (this.hasRequiredKeys(config)) {\n this.setButtonAttributes(config);\n this.detachEventListener();\n this.attachEventListener(options, params);\n } else {\n this.eGui.textContent = config ? String(config) : '';\n }\n }\n\n private setButtonAttributes(config: ButtonInterface) {\n this.eButton.setAttribute('disabled', config.disabled.toString());\n this.eButton.setAttribute('variant', config.variant);\n this.eButton.setAttribute('theme', config.theme);\n this.eButton.setAttribute('type', config.type);\n this.eButton.setAttribute('size', config.size);\n this.eButton.setAttribute('full-width', config.fullWidth.toString());\n this.eButton.setAttribute('target', config.target);\n this.eButton.setAttribute('href', config.href);\n this.eButton.textContent = config.text;\n }\n\n private attachEventListener(options: any, params: ICellRendererParams) {\n this.eventListener = (event: Event) => {\n if (options.onButtonClick) {\n options.onButtonClick(params, event);\n }\n };\n this.eButton.addEventListener('click', this.eventListener);\n }\n\n private detachEventListener() {\n if (this.eventListener) {\n this.eButton.removeEventListener('click', this.eventListener);\n }\n }\n\n private hasRequiredKeys(config: ButtonInterface): boolean {\n return config && config.text !== '' && config.variant !== '' && config.size !== '' && config.type !== '';\n }\n}\n","import { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\nimport { CheckboxInterface } from './interfaces';\n\nexport class CheckboxCellRenderer implements ICellRendererComp {\n eGui!: HTMLDivElement;\n eCheckbox!: HTMLElement;\n eventListener!: (event: Event) => void;\n\n init(params: ICellRendererParams) {\n this.createCheckbox(params);\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(params: ICellRendererParams) {\n this.updateCheckbox(params);\n return true;\n }\n\n private createCheckbox(params: ICellRendererParams) {\n const config = params.data[params.colDef.field];\n const options = params.colDef.cellRendererParams || {};\n this.eGui = document.createElement('div');\n this.eGui.style.display = 'flex';\n this.eGui.style.alignItems = 'center';\n this.eGui.style.justifyContent = 'center';\n this.eCheckbox = document.createElement('ifx-checkbox') as HTMLElement;\n\n if (this.hasRequiredKeys(config)) {\n this.setCheckboxAttributes(config);\n this.eGui.appendChild(this.eCheckbox);\n this.attachEventListener(options, params);\n } else {\n this.eGui.textContent = config ? String(config) : 'No checkbox data';\n }\n }\n\n private updateCheckbox(params: ICellRendererParams) {\n const config = params.data[params.colDef.field];\n const options = params.colDef.cellRendererParams || {};\n\n if (this.hasRequiredKeys(config)) {\n this.setCheckboxAttributes(config);\n this.detachEventListener();\n this.attachEventListener(options, params);\n } else {\n this.eGui.textContent = config ? String(config) : '';\n }\n }\n\n private setCheckboxAttributes(config: CheckboxInterface) {\n this.eCheckbox.setAttribute('disabled', config.disabled.toString());\n this.eCheckbox.setAttribute('error', config.error.toString());\n this.eCheckbox.setAttribute('size', config.size);\n this.eCheckbox.setAttribute('checked', config.checked.toString());\n this.eCheckbox.setAttribute('indeterminate', config.indeterminate.toString());\n }\n\n private attachEventListener(options: any, params: ICellRendererParams) {\n this.eventListener = (event: Event) => {\n if (options.onCheckboxClick) {\n options.onCheckboxClick(params, event);\n }\n };\n this.eCheckbox.addEventListener('click', this.eventListener);\n }\n\n private detachEventListener() {\n if (this.eventListener) {\n this.eCheckbox.removeEventListener('click', this.eventListener);\n }\n }\n\n private hasRequiredKeys(config: CheckboxInterface): boolean {\n return config && config.size !== '';\n }\n}\n","import { IHeaderComp, IHeaderParams } from 'ag-grid-community';\n\nexport class CheckboxHeaderRenderer implements IHeaderComp {\n eGui!: HTMLDivElement;\n eCheckbox!: HTMLElement;\n params!: IHeaderParams & { onSelectAll?: (checked: boolean) => void };\n\n init(params: IHeaderParams & { onSelectAll?: (checked: boolean) => void }) {\n this.params = params;\n this.createHeader();\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(params: IHeaderParams): boolean {\n this.params = { ...this.params, ...params };\n return true;\n }\n\n private createHeader() {\n this.eGui = document.createElement('div');\n this.eGui.style.display = 'flex';\n this.eGui.style.alignItems = 'center';\n this.eGui.style.justifyContent = 'center';\n\n this.eCheckbox = document.createElement('ifx-checkbox');\n this.eCheckbox.setAttribute('size', 's');\n this.eCheckbox.setAttribute('checked', 'false');\n\n this.eCheckbox.addEventListener('ifxChange', (event: any) => {\n const checked = event.detail;\n if (this.params.onSelectAll) {\n this.params.onSelectAll(checked);\n }\n });\n\n this.eGui.appendChild(this.eCheckbox);\n }\n}\n","import { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\nimport { IconButtonInterface } from './interfaces';\n\nexport class IconButtonCellRenderer implements ICellRendererComp {\n eGui!: HTMLDivElement;\n eIconButton!: HTMLElement; \n eventListener!: (event: Event) => void;\n\n init(params: ICellRendererParams) {\n this.createIconButton(params);\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(params: ICellRendererParams) {\n this.updateIconButton(params);\n return true;\n }\n\n private createIconButton(params: ICellRendererParams) {\n const config = params.data[params.colDef.field];\n const options = params.colDef.cellRendererParams || {};\n \n this.eGui = document.createElement('div');\n this.eIconButton = document.createElement('ifx-icon-button') as HTMLElement;\n \n if (this.hasRequiredKeys(config)) {\n this.setIconButtonAttributes(config);\n this.eGui.appendChild(this.eIconButton);\n this.attachEventListener(options, params);\n } else {\n this.eGui.textContent = config ? String(config) : '';\n }\n }\n\n private updateIconButton(params: ICellRendererParams) {\n const config = params.data[params.colDef.field];\n const options = params.colDef.cellRendererParams || {};\n \n if (this.hasRequiredKeys(config)) {\n this.setIconButtonAttributes(config);\n this.detachEventListener();\n this.attachEventListener(options, params);\n } else {\n this.eGui.textContent = config ? String(config) : '';\n }\n }\n\n private setIconButtonAttributes(config: IconButtonInterface) {\n this.eIconButton.setAttribute('disabled', config.disabled.toString());\n this.eIconButton.setAttribute('variant', config.variant);\n this.eIconButton.setAttribute('shape', config.shape);\n this.eIconButton.setAttribute('size', config.size);\n this.eIconButton.setAttribute('target', config.target);\n this.eIconButton.setAttribute('href', config.href);\n this.eIconButton.setAttribute('icon', config.icon);\n }\n\n private attachEventListener(options: any, params: ICellRendererParams) {\n this.eventListener = (event: Event) => {\n if (options.onIconButtonClick) {\n options.onIconButtonClick(params, event);\n }\n };\n this.eIconButton.addEventListener('click', this.eventListener);\n }\n\n private detachEventListener() {\n if (this.eventListener) {\n this.eIconButton.removeEventListener('click', this.eventListener);\n }\n }\n\n private hasRequiredKeys(config: IconButtonInterface): boolean {\n return config && config.variant !== '' && config.size !== '' && config.shape !== '';\n }\n}\n","import { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\nimport { LinkInterface } from './interfaces';\n\nexport class LinkCellRenderer implements ICellRendererComp {\n eGui!: HTMLDivElement;\n eLink!: HTMLElement;\n\n init(params: ICellRendererParams) {\n this.createLink(params);\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(params: ICellRendererParams) {\n this.updateLink(params);\n return true;\n }\n\n private createLink(params: ICellRendererParams) {\n const field = params.colDef?.field as string | undefined;\n const config = (params.value ?? params.data?.[field]) as any;\n\n this.eGui = document.createElement('div');\n this.eLink = document.createElement('ifx-link') as HTMLElement;\n\n if (this.hasRequiredKeys(config)) {\n this.setLinkAttributes(config);\n this.eGui.appendChild(this.eLink);\n } else {\n this.eGui.textContent = config ? String(config) : '';\n }\n }\n\n private updateLink(params: ICellRendererParams) {\n const field = params.colDef?.field as string | undefined;\n const config = (params.value ?? params.data?.[field]) as any;\n\n if (this.hasRequiredKeys(config)) {\n this.setLinkAttributes(config);\n } else {\n this.eGui.textContent = config ? String(config) : '';\n }\n }\n\n private setLinkAttributes(config: LinkInterface) {\n this.eLink.setAttribute('disabled', config.disabled?.toString());\n this.eLink.setAttribute('variant', config.variant);\n this.eLink.setAttribute('size', config.size);\n this.eLink.setAttribute('target', config.target);\n this.eLink.setAttribute('href', config.href);\n if (config.download) this.eLink.setAttribute('download', config.download);\n this.eLink.textContent = config.text || '';\n }\n\n private hasRequiredKeys(config: LinkInterface): boolean {\n return !!(\n config &&\n config.text &&\n config.variant &&\n config.size\n );\n }\n}\n","// statusCellRenderer.ts\nimport { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\n\ntype StatusConfig = {\n label: string;\n color?: string;\n border?: boolean;\n};\n\nexport class StatusCellRenderer implements ICellRendererComp {\n private eGui!: HTMLDivElement;\n\n init(params: ICellRendererParams) {\n this.eGui = document.createElement('div');\n this.render(params);\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(params: ICellRendererParams) {\n this.render(params);\n return true;\n }\n\nprivate render(params: ICellRendererParams) {\n const field = params.colDef?.field as string | undefined;\n const cfg = (params.value ?? params.data?.[field]) as StatusConfig | string | undefined;\n\n this.eGui.textContent = '';\n\n if (cfg && typeof cfg === 'object' && 'label' in cfg) {\n const el = document.createElement('ifx-status') as any;\n el.label = cfg.label;\n if (cfg.color != null) el.color = cfg.color;\n el.border = !!(cfg as StatusConfig).border;\n this.eGui.appendChild(el);\n } else if (cfg != null) {\n this.eGui.textContent = String(cfg);\n }\n}\n}\n","import { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\n\nexport class CustomNoRowsOverlay implements ICellRendererComp {\n eGui!: HTMLElement;\n\n init(params: ICellRendererParams & { noRowsMessageFunc: () => string }) {\n this.eGui = document.createElement('div');\n this.eGui.innerHTML = `\n <div role=\"presentation\" class=\"ag-overlay-loading-center\" >\n ${params.noRowsMessageFunc()}\n </div>\n `;\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(_params: ICellRendererParams): boolean {\n return false;\n }\n}","import { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\n\nexport class CustomLoadingOverlay implements ICellRendererComp {\n eGui!: HTMLElement;\n\n init(_params: ICellRendererParams & { loadingMessage: string }) {\n this.eGui = document.createElement('div');\n this.eGui.innerHTML = `<div class=\"ag-overlay-loading-center\" role=\"presentation\">\n<ifx-spinner></ifx-spinner>\n </div>`;\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(_params: ICellRendererParams): boolean {\n return false;\n }\n}","@use '~@infineon/design-system-tokens/dist/tokens';\n@use '../../global/font.scss';\n\n@import '~ag-grid-community/styles/ag-grid.css';\n\n.zebra {\n & .ag-row-odd {\n background-color: tokens.$ifxColorEngineering100 !important;\n }\n\n & .ag-row {\n border-bottom: none !important;\n }\n}\n\n.ag-header-viewport {\n background-color: tokens.$ifxColorEngineering200 !important;\n}\n\n.table-container {\n display: block;\n}\n\n.sidebar-btn {\n margin-bottom: 24px;\n}\n\n.sidebar-container {\n margin-right: 24px;\n}\n\n.sidebar-layout {\n display: flex;\n flex-direction: row;\n}\n\n.topbar-layout {\n display: flex;\n flex-direction: column;\n}\n\n.table-pagination-wrapper {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n width: 100%;\n\n & .pagination-wrapper {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n }\n}\n\n#table-wrapper {\n flex: 1;\n padding-bottom: tokens.$ifxSpace100;\n overflow-x: auto;\n width: 100%;\n}\n\n.table-wrapper {\n overflow-x: auto;\n width: 100%;\n}\n\n.ag-horizontal-left-spacer {\n display: none;\n}\n\n.table-wrapper .ag-root-wrapper-body {\n height: auto !important;\n min-height: 100px !important;\n min-width: 100px;\n}\n\n.filter-chips {\n display: flex;\n flex-wrap: wrap;\n gap: tokens.$ifxSpace100;\n margin-bottom: 12px;\n}\n\n.filter-chips > ifx-button {\n margin-left: -8px;\n}\n\n.set-filter-wrapper-sidebar {\n display: flex;\n flex-direction: column;\n margin-bottom: tokens.$ifxSpace100;\n}\n\n.set-filter-wrapper-topbar {\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n margin-bottom: tokens.$ifxSpace100;\n background: tokens.$ifxColorEngineering100;\n padding-top: 32px;\n padding-bottom: 32px;\n gap: 24px;\n}\n\n.headline-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 15px 0px;\n}\n\n.inner-buttons-wrapper {\n flex: 1;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 5px;\n}\n\n.ifx-ag-grid {\n display: grid;\n height: 100%;\n width: 100%;\n min-width: 100px;\n overflow-x: auto;\n}\n\n.ifx-ag-grid .ag-header-cell::after {\n outline: none !important;\n border: none !important;\n box-shadow: none !important;\n}\n\n.ifx-ag-grid .ag-header-cell:focus {\n outline: none !important;\n}\n\n.ifx-ag-grid *:not(.ag-header-cell):focus {\n outline: none;\n}\n\n.ifx-ag-grid .ag-header-cell:not(:last-child)::before {\n content: '';\n position: absolute;\n right: 0;\n top: calc(50% - 12px);\n height: 24px;\n width: 1px;\n background-color: tokens.$ifxColorEngineering300;\n}\n\n.ag-pinned-left-header {\n background-color: tokens.$ifxColorEngineering200;\n min-width: 50px !important;\n max-width: 50px !important;\n width: 50px !important;\n &::before {\n content: '';\n position: absolute;\n right: 0;\n top: calc(50% - 12px);\n height: 24px;\n width: 1px;\n background-color: tokens.$ifxColorEngineering300;\n }\n}\n\n.ag-header-row {\n width: 50px !important;\n}\n\n.ag-pinned-left-cols-container {\n width: 50px !important;\n max-width: 50px !important;\n min-width: 50px !important;\n}\n\n.ag-overlay-loading-center {\n border: none;\n background: none;\n border-radius: none;\n box-shadow: none;\n}\n\n.ag-root-wrapper {\n border: 1px solid tokens.$ifxColorEngineering200;\n}\n\n.ag-header {\n background-color: tokens.$ifxColorEngineering100;\n border-bottom: none;\n\n &.ag-header-active {\n outline: none !important;\n border-color: #0a8276 !important;\n }\n}\n\n.ag-header-cell {\n padding-left: 16px;\n padding-right: 16px;\n gap: 4px;\n}\n\n.ag-header-cell-focus {\n border: none !important;\n outline: none !important;\n}\n\n.ag-header-cell-text {\n font-size: 13px;\n font-style: normal;\n font-weight: 600;\n line-height: 20px;\n color: tokens.$ifxColorBaseBlack;\n font-family: var(--ifx-font-family);\n}\n\n.ag-row-focus {\n background-color: inherit !important;\n}\n\n.ag-row-hover {\n background-color: tokens.$ifxColorBaseWhite !important;\n}\n\n.ag-cell-focus {\n border: none !important;\n outline: none !important;\n background-color: inherit !important;\n}\n\n.ag-row {\n background-color: tokens.$ifxColorBaseWhite;\n border-bottom: 1px solid tokens.$ifxColorEngineering200;\n font-size: 13px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n z-index: 1;\n}\n\n.ag-row-odd {\n background-color: tokens.$ifxColorBaseWhite;\n}\n\n.ag-cell {\n display: flex;\n padding-left: 16px;\n padding-right: 16px;\n white-space: pre-line;\n min-height: 40px;\n height: auto;\n}\n\n.ag-ltr .ag-sort-indicator-icon {\n padding-left: 0px;\n vertical-align: bottom;\n line-height: 12px;\n}\n\n.ag-sort-indicator-container .ag-sort-order {\n display: none;\n}\n\n.unsort-icon-custom-color {\n color: tokens.$ifxColorEngineering400;\n}\n\n.filters-title {\n font-size: 24px;\n font-weight: 600;\n}\n\n.matching-results-container {\n flex: 1;\n font-family: 'Source Sans 3';\n display: flex;\n gap: 4px;\n font-size: 24px;\n font-weight: 600;\n line-height: 32px;\n letter-spacing: -1px;\n padding-right: 56px;\n}\n\n.matching-results-count {\n font-weight: 600;\n}\n\n.matching-results-text {\n font-weight: 400;\n}\n\n.ag-body-horizontal-scroll {\n display: none;\n}\n\n@media (max-width: tokens.$ifxBreakpointM) {\n .table-wrapper,\n #table-wrapper {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n\n .ag-root-wrapper {\n min-width: 100%;\n }\n\n .ag-body-horizontal-scroll {\n display: block;\n }\n\n .ag-header-cell,\n .ag-cell {\n min-width: 100px;\n white-space: nowrap;\n }\n\n .sidebar-layout {\n flex-direction: column;\n }\n\n .sidebar-container {\n margin-right: 0;\n margin-bottom: 24px;\n }\n\n .set-filter-wrapper-topbar {\n padding-left: 16px;\n padding-right: 16px;\n }\n\n .table-pagination-wrapper {\n gap: tokens.$ifxSpace200;\n }\n}\n","import { Component, h, Host, Method, Element, Prop, State, Listen, Watch } from '@stencil/core';\nimport classNames from 'classnames';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nimport { CellPosition, createGrid, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\nimport { ButtonCellRenderer } from './buttonCellRenderer';\nimport { CheckboxCellRenderer } from './checkboxCellRenderer';\nimport { CheckboxHeaderRenderer } from './checkboxHeaderRenderer';\nimport { IconButtonCellRenderer } from './iconButtonCellRenderer';\nimport { LinkCellRenderer } from './linkCellRenderer';\nimport { StatusCellRenderer } from './statusCellRenderer';\nimport { CustomNoRowsOverlay } from './customNoRowsOverlay';\nimport { CustomLoadingOverlay } from './customLoadingOverlay';\n\n@Component({\n tag: 'ifx-table',\n styleUrl: 'table.scss',\n shadow: true,\n})\nexport class Table {\n gridOptions: GridOptions;\n gridApi: GridApi;\n @State() currentPage: number = 1;\n @Prop() cols: any;\n @Prop() rows: any;\n @Prop() buttonRendererOptions?: { onButtonClick?: (params: any, event: Event) => void };\n @Prop() iconButtonRendererOptions?: { onIconButtonClick?: (params: any, event: Event) => void };\n @Prop() checkboxRendererOptions?: { onCheckboxClick?: (params: any, event: Event) => void };\n @State() rowData: any[] = [];\n @State() colData: any[] = [];\n @State() filterOptions: { [key: string]: string[] } = {};\n @State() currentFilters = {};\n @State() uniqueKey: string;\n allRowData: any[] = [];\n @Prop() rowHeight: string = 'default';\n @Prop() tableHeight: string = 'auto';\n @Prop() pagination: boolean = true;\n @Prop() paginationItemsPerPage: string;\n @State() paginationPageSize: number = 10;\n @Prop() filterOrientation: string = 'sidebar';\n @Prop() headline: string = '';\n @State() showSidebarFilters: boolean = true;\n @State() matchingResultsCount: number = 0;\n @Prop() variant: string = 'default';\n @Prop() serverSidePagination: boolean = false;\n @Prop() serverPageChangeHandler?: (params: { page: number; pageSize: number }) => Promise<{ rows: any[]; total: number }>;\n @Prop() enableSelection: boolean = false;\n @State() selectedRows: Set<string> = new Set();\n @State() selectAll: boolean = false;\n @Prop() showLoading: boolean = false;\n private container: HTMLDivElement;\n @Element() host: HTMLElement;\n originalRowData: any[] = [];\n\n private internalItemsPerPage = JSON.stringify([\n { value: 10, label: '10', selected: true },\n { value: 20, label: '20', selected: false },\n { value: 30, label: '30', selected: false },\n ]);\n\n @Watch('rows')\n rowsChanged(_newVal: any) {\n const parsed = this.parseArrayInput<any>(this.rows);\n\n parsed.forEach((row, index) => {\n if (!row.__rowId) {\n row.__rowId = `row_${index}_${Date.now()}_${Math.random()}`;\n }\n });\n\n if (this.enableSelection) {\n parsed.forEach(row => {\n row.__checkbox = {\n disabled: false,\n checked: this.selectedRows?.has(row.__rowId) || false,\n size: 's',\n indeterminate: false,\n error: false,\n };\n });\n }\n this.currentFilters = {};\n this.currentPage = 1;\n this.originalRowData = [...parsed];\n this.allRowData = [...parsed];\n this.matchingResultsCount = this.allRowData.length;\n this.updateTableView();\n this.updateFilterOptions();\n }\n\n @Watch('cols')\n colsChanged(_newVal: any) {\n this.colData = this.getColData();\n\n if (this.gridApi) {\n this.gridApi.setGridOption('columnDefs', this.colData);\n this.gridApi.sizeColumnsToFit({\n defaultMinWidth: 100,\n });\n }\n\n this.updateFilterOptions();\n }\n\n @Listen('ifxItemsPerPageChange')\n handleResultsPerPageChange(e: CustomEvent<string>) {\n this.paginationPageSize = Number(e.detail);\n this.currentPage = 1;\n this.updateTableView();\n }\n\n @Listen('ifxChange')\n handleChipChange(event: CustomEvent<{ previousSelection: Array<any>; currentSelection: Array<any>; name: string }>) {\n const { name, currentSelection, previousSelection } = event.detail;\n if (currentSelection && previousSelection) {\n // Clone the current filters state\n const updatedFilters = { ...this.currentFilters };\n\n if (currentSelection.length === 0) {\n // If there are no selections for this filter, delete the filter\n delete updatedFilters[name];\n\n // Emit event with specific filter name\n const customEvent = new CustomEvent('ifxUpdateSidebarFilter', { detail: { filterName: name }, bubbles: true, composed: true });\n this.host.dispatchEvent(customEvent);\n } else {\n // Otherwise, update the filter values with the current selection\n updatedFilters[name].filterValues = currentSelection.map(selection => selection.value);\n }\n\n // Update the component's filters\n this.currentFilters = updatedFilters;\n // Ensure table data is updated\n this.allRowData = this.applyAllFilters(this.originalRowData, this.currentFilters);\n this.updateTableView();\n }\n }\n\n @Watch('buttonRendererOptions')\n onButtonRendererOptionsChanged() {\n this.colData = this.getColData();\n if (this.gridApi) {\n this.gridApi.setColumnDefs(this.colData);\n }\n }\n\n @Watch('iconButtonRendererOptions')\n onIconButtonRendererOptionsChanged() {\n this.colData = this.getColData();\n if (this.gridApi) {\n this.gridApi.setColumnDefs(this.colData);\n }\n }\n\n @Watch('checkboxRendererOptions')\n onCheckboxRendererOptionsChanged() {\n this.colData = this.getColData();\n if (this.gridApi) {\n this.gridApi.setColumnDefs(this.colData);\n }\n }\n\n private parseArrayInput<T>(input: any): T[] {\n if (typeof input === 'string') {\n try {\n const parsed = JSON.parse(input);\n return Array.isArray(parsed) ? parsed : [];\n } catch {\n console.error('Failed to parse input:', input);\n return [];\n }\n }\n if (Array.isArray(input)) return input;\n if (typeof input === 'object' && input !== null) return [input as T];\n return [];\n }\n\n toggleSidebarFilters() {\n this.showSidebarFilters = !this.showSidebarFilters;\n }\n\n updateFilterOptions() {\n const options = {};\n for (let col of this.colData) {\n options[col.field] = [...new Set(this.rowData.map(row => row[col.field]))];\n }\n this.filterOptions = options;\n }\n\n private updateHeaderCheckboxState() {\n if (this.gridApi && this.enableSelection) {\n setTimeout(() => {\n const headerCheckbox = this.container?.querySelector('.ag-header-cell[col-id=\"__checkbox\"] ifx-checkbox') as any;\n if (headerCheckbox) {\n const allSelected = this.selectedRows.size === this.allRowData.length && this.allRowData.length > 0;\n const someSelected = this.selectedRows.size > 0 && this.selectedRows.size < this.allRowData.length;\n headerCheckbox.checked = allSelected;\n headerCheckbox.indeterminate = someSelected;\n }\n }, 0);\n }\n }\n\n handleSidebarFilterChange(event: CustomEvent) {\n const filterGroups = event.detail;\n const updatedFilters = {};\n\n filterGroups.forEach(filterGroup => {\n const filterName = filterGroup.filterGroupName;\n let filterValues;\n let type;\n\n if (filterGroup.selectedItems && filterGroup.selectedItems.length > 0) {\n filterValues = filterGroup.selectedItems.map(item => item.label);\n type = 'multi-select';\n } else if (filterGroup.value) {\n filterValues = [filterGroup.value];\n type = 'text';\n } else {\n filterValues = [];\n }\n\n if (!(filterValues.length === 0 || (filterValues.length === 1 && type === 'text' && filterValues[0] === ''))) {\n updatedFilters[filterName] = { filterValues, type };\n }\n });\n\n this.allRowData = this.applyAllFilters(this.originalRowData, updatedFilters);\n this.updateTableView();\n this.currentFilters = updatedFilters;\n }\n\n handleTopbarFilterChange(event: CustomEvent) {\n const filters = event.detail;\n\n // Start by resetting the filter conditions to a blank object\n this.currentFilters = {};\n\n // Loop through each filter group provided in the event detail\n filters.forEach(filter => {\n const filterName = filter.filterName;\n let filterValues;\n\n let type = filter.type;\n\n if (type === 'text') {\n // Search/Text filter\n filterValues = filter.filterValues;\n } else {\n // Multi-select/Single-Select\n filterValues = filter.filterValues.map(item => item.label);\n }\n\n // If there are no filter values, or the filter is a text filter with an empty value, remove the filter\n if (!(filterValues.length === 0 || (filterValues.length === 1 && type === 'text' && filterValues[0] === ''))) {\n // Add or update the filter in the currentFilters object\n this.currentFilters[filterName] = { filterValues, type };\n }\n });\n\n // Now that the currentFilters object has been updated, apply all filters to the data\n this.allRowData = this.applyAllFilters(this.originalRowData, this.currentFilters);\n\n // After filtering, update the table view with the new filtered data\n this.updateTableView();\n }\n\n applyAllFilters(data, filters) {\n return data.filter(row => {\n for (const filterName in filters) {\n const filterInfo = filters[filterName];\n let selectedValues = (filterInfo.filterValues || []).map(value => {\n if (typeof value === 'string') {\n return value.toLowerCase();\n } else if (typeof value === 'number' || typeof value === 'boolean') {\n return value.toString();\n }\n return '';\n });\n\n // For text filters, check if row values start with any of the selectedValues\n if (filterInfo.type === 'text') {\n let textFilterMatched = false;\n for (let property in row) {\n if (row.hasOwnProperty(property)) {\n let rowValue = row[property] != null ? String(row[property]).toLowerCase() : '';\n if (selectedValues.some(filterValue => rowValue.startsWith(filterValue))) {\n textFilterMatched = true;\n break;\n }\n }\n }\n if (!textFilterMatched) return false;\n }\n // For multi-select filters, this remains unchanged\n else if (filterInfo.type === 'multi-select') {\n let rowValue = row[filterName] != null ? String(row[filterName]).toLowerCase() : '';\n // Check if 'undefined' is a selected value and include rows with empty values in that case\n let includesUndefined = selectedValues.includes('undefined');\n if (!selectedValues.includes(rowValue) && !(includesUndefined && rowValue === '')) {\n return false;\n }\n }\n }\n return true;\n });\n }\n\n async updateTableView() {\n if (this.serverSidePagination && this.serverPageChangeHandler) {\n const { rows, total } = await this.serverPageChangeHandler({\n page: this.currentPage,\n pageSize: this.paginationPageSize,\n });\n\n if (this.enableSelection) {\n rows.forEach((row, index) => {\n if (!row.__rowId) {\n row.__rowId = `row_${(this.currentPage - 1) * this.paginationPageSize + index}_${Date.now()}`;\n }\n row.__checkbox = {\n disabled: false,\n checked: this.selectedRows?.has(row.__rowId) || false,\n size: 's',\n indeterminate: false,\n error: false,\n };\n });\n }\n\n this.rowData = rows;\n this.matchingResultsCount = total;\n if (this.gridApi) {\n this.gridApi.setGridOption('rowData', rows);\n }\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.setAttribute('total', total.toString());\n }\n } else {\n const startIndex = (this.currentPage - 1) * this.paginationPageSize;\n const endIndex = startIndex + this.paginationPageSize;\n const visibleRowData = this.allRowData.slice(startIndex, endIndex);\n\n if (this.enableSelection) {\n visibleRowData.forEach(row => {\n if (!row.__checkbox) {\n row.__checkbox = {\n disabled: false,\n checked: this.selectedRows?.has(row.__rowId) || false,\n size: 's',\n indeterminate: false,\n error: false,\n };\n } else {\n row.__checkbox.checked = this.selectedRows?.has(row.__rowId) || false;\n }\n });\n }\n\n this.rowData = visibleRowData;\n this.matchingResultsCount = this.allRowData.length;\n if (this.gridApi) {\n this.gridApi.setGridOption('rowData', this.rowData);\n }\n }\n }\n\n clearAllFilters() {\n this.currentFilters = {};\n this.allRowData = [...this.originalRowData];\n }\n\n @Method()\n async onBtShowLoading() {\n this.gridApi.showLoadingOverlay();\n }\n\n setPaginationItemsPerPage() {\n const newItemsPerPage = this.paginationItemsPerPage;\n if (newItemsPerPage) {\n this.internalItemsPerPage = this.paginationItemsPerPage;\n const itemsPerPageArray = JSON.parse(this.internalItemsPerPage);\n\n const selectedOption = itemsPerPageArray.find(option => option.selected);\n if (selectedOption) {\n this.paginationPageSize = Number(selectedOption.value);\n } else if (itemsPerPageArray.length > 0) {\n this.paginationPageSize = Number(itemsPerPageArray[0].value);\n }\n }\n }\n\n componentWillLoad() {\n this.setPaginationItemsPerPage();\n\n this.uniqueKey = `unique-${Math.floor(Math.random() * 1000000)}`;\n this.rowData = this.getRowData();\n this.colData = this.getColData();\n this.updateFilterOptions();\n\n this.gridOptions = {\n suppressCellFocus: true,\n rowHeight: this.rowHeight === 'default' ? 40 : 32,\n headerHeight: 40,\n components: {\n checkboxCellRenderer: CheckboxCellRenderer,\n checkboxHeaderRenderer: CheckboxHeaderRenderer,\n customLoadingOverlay: CustomLoadingOverlay,\n customNoRowsOverlay: CustomNoRowsOverlay,\n },\n defaultColDef: {\n resizable: true,\n autoHeight: true,\n },\n suppressDragLeaveHidesColumns: true,\n enableCellTextSelection: true,\n onFirstDataRendered: this.onFirstDataRendered.bind(this),\n columnDefs: this.colData,\n rowData: this.rowData,\n loadingOverlayComponent: CustomLoadingOverlay,\n noRowsOverlayComponent: CustomNoRowsOverlay,\n noRowsOverlayComponentParams: {\n noRowsMessageFunc: () => 'No rows found', //at: ' + new Date().toLocaleTimeString(),\n },\n icons: {\n sortAscending: '<ifx-icon icon=\"arrow-triangle-up-16\"></ifx-icon>',\n sortDescending: '<ifx-icon icon=\"arrow-triangle-down-16\"></ifx-icon>',\n sortUnSort: '<a class=\"unsort-icon-custom-color\"><ifx-icon icon=\"arrow-triangle-vertikal-16\"></ifx-icon></a>',\n },\n rowDragManaged: this.colData.some(col => col.dndSource === true) ? true : false,\n animateRows: this.colData.some(col => col.dndSource === true) ? true : false,\n navigateToNextCell: params => {\n return this.focusCellIfContainingButton(params.api, params.nextCellPosition);\n },\n tabToNextCell: params => {\n // Returning null is deprecated so we return false if the result is null (browser handles tab behavior).\n return this.focusCellIfContainingButton(params.api, params.nextCellPosition) ?? false;\n },\n };\n }\n\n focusCellIfContainingButton<T>(api: GridApi<T>, cellPosition: CellPosition): CellPosition | null {\n if (!cellPosition) {\n return null;\n }\n\n if (cellPosition.column.getColDef().field === 'button') {\n const rowNode = api.getDisplayedRowAtIndex(cellPosition.rowIndex);\n\n if (!rowNode) {\n // Row not yet rendered due to virtualization.\n return null;\n }\n\n const cellRenderers = api.getCellRendererInstances({\n rowNodes: [rowNode],\n columns: [cellPosition.column],\n });\n\n if (cellRenderers.length > 0) {\n const renderedContent = (cellRenderers[0] as ButtonCellRenderer)?.getGui();\n\n if (renderedContent) {\n const button = renderedContent.querySelector('ifx-button');\n\n if (button) {\n setTimeout(() => {\n // Just calling button.focus() will not work because the focus of <ifx-button> will not be\n // forwared to its child <a>-element (containing the tabindex attribute) due to shadow root.\n // We must therefore grab the <a>-element manually first and then call focus() on it.\n const focusableChild = button.shadowRoot?.querySelector<HTMLElement>('a[tabindex]');\n focusableChild?.focus();\n }, 0);\n }\n }\n }\n }\n\n return cellPosition;\n }\n\n async componentDidLoad() {\n if (this.container) {\n if (!isNestedInIfxComponent(this.host)) {\n const framework = detectFramework();\n trackComponent('ifx-table', await framework);\n }\n this.gridApi = createGrid(this.container, this.gridOptions);\n if (this.gridApi) {\n this.gridApi.sizeColumnsToFit({\n defaultMinWidth: 100,\n });\n this.gridApi.setGridOption('columnDefs', this.colData);\n this.gridApi.setGridOption('rowData', this.rowData);\n\n if (this.pagination) {\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.addEventListener('ifxPageChange', this.handlePageChange.bind(this));\n }\n }\n const sidebarFilterElements = this.host.querySelectorAll('ifx-filter-type-group');\n // Add an event listener to each SetFilter component\n sidebarFilterElements.forEach(sidebarFilterElement => {\n sidebarFilterElement.addEventListener('ifxSidebarFilterChange', this.handleSidebarFilterChange.bind(this));\n });\n const topbarFilterElements = this.host.querySelectorAll('ifx-filter-bar');\n // Add an event listener to each SetFilter component\n topbarFilterElements.forEach(topbarFilterElement => {\n topbarFilterElement.addEventListener('ifxTopbarFilterChange', this.handleTopbarFilterChange.bind(this));\n });\n }\n }\n this.updateTableView();\n }\n\n componentWillUnmount() {\n if (this.pagination) {\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.removeEventListener('ifxPageChange', this.handlePageChange.bind(this));\n }\n }\n const sidebarFilters = this.host.shadowRoot.querySelectorAll('ifx-filter-type-group');\n // Remove the event listener from each SetFilter component\n sidebarFilters.forEach(sidebarFilter => {\n sidebarFilter.removeEventListener('ifxSidebarFilterChange', this.handleSidebarFilterChange.bind(this));\n });\n const topbarFilters = this.host.shadowRoot.querySelectorAll('ifx-filter-type-group');\n // Remove the event listener from each SetFilter component\n topbarFilters.forEach(topbarFilter => {\n topbarFilter.removeEventListener('ifxTopbarFilterChange', this.handleTopbarFilterChange.bind(this));\n });\n }\n\n async handlePageChange(event) {\n this.currentPage = event.detail.currentPage;\n\n if (this.serverSidePagination && this.serverPageChangeHandler) {\n const { rows, total } = await this.serverPageChangeHandler({\n page: this.currentPage,\n pageSize: this.paginationPageSize,\n });\n\n this.rowData = rows;\n this.matchingResultsCount = total;\n\n if (this.gridApi) {\n this.gridApi.setGridOption('rowData', this.rowData);\n }\n\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.setAttribute('total', total.toString());\n }\n } else {\n const startIndex = (this.currentPage - 1) * this.paginationPageSize;\n const endIndex = startIndex + this.paginationPageSize;\n const visibleRowData = this.allRowData.slice(startIndex, endIndex);\n if (this.gridApi) {\n this.gridApi.setGridOption('rowData', visibleRowData);\n }\n }\n }\n\n isJSONParseable(str) {\n try {\n JSON.parse(str);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n handleSelectAll = (checked: boolean) => {\n this.selectAll = checked;\n if (checked) {\n this.selectedRows = new Set(this.allRowData.map(row => row.__rowId));\n } else {\n this.selectedRows = new Set();\n }\n this.updateCheckboxStates();\n this.updateHeaderCheckboxState();\n this.emitSelectionChange();\n };\n\n getRowData() {\n let rows: any[] = [];\n if (this.rows === undefined || this.rows === null) {\n return rows;\n }\n if (this.isJSONParseable(this.rows)) {\n rows = [...JSON.parse(this.rows)];\n } else if (Array.isArray(this.rows) || typeof this.rows === 'object') {\n rows = [...this.rows];\n } else {\n console.error('Unexpected value for rows: ', this.rows);\n }\n\n rows.forEach((row, index) => {\n if (!row.__rowId) {\n row.__rowId = `row_${index}_${Date.now()}_${Math.random()}`;\n }\n });\n\n if (this.enableSelection) {\n rows.forEach(row => {\n row.__checkbox = {\n disabled: false,\n checked: this.selectedRows?.has(row.__rowId) || false,\n size: 's',\n indeterminate: false,\n error: false,\n };\n });\n }\n this.allRowData = rows;\n this.originalRowData = [...rows];\n this.matchingResultsCount = this.allRowData.length;\n return rows.slice(0, this.paginationPageSize);\n }\n\n handleRowCheckboxClick = (params: any) => {\n const clickedRowData = params.data;\n const rowId = clickedRowData.__rowId;\n\n const newSelectedRows = new Set(this.selectedRows);\n if (newSelectedRows.has(rowId)) {\n newSelectedRows.delete(rowId);\n } else {\n newSelectedRows.add(rowId);\n }\n this.selectedRows = newSelectedRows;\n this.selectAll = newSelectedRows.size === this.allRowData.length;\n this.updateCheckboxStates();\n this.updateHeaderCheckboxState();\n this.emitSelectionChange();\n };\n\n private updateCheckboxStates() {\n this.allRowData.forEach(row => {\n if (row.__checkbox) {\n row.__checkbox.checked = this.selectedRows.has(row.__rowId);\n }\n });\n if (this.gridApi) {\n this.gridApi.refreshCells({\n columns: ['__checkbox'],\n force: true,\n });\n }\n }\n\n private emitSelectionChange() {\n const selectedRowsData = Array.from(this.selectedRows)\n .map(rowId => {\n const row = this.allRowData.find(r => r.__rowId === rowId);\n if (!row) return null;\n const { __checkbox, __rowId, ...rowData } = row;\n return rowData;\n })\n .filter(row => row !== null);\n\n this.host.dispatchEvent(\n new CustomEvent('ifxSelectionChange', {\n detail: {\n selectedRows: selectedRowsData,\n selectedCount: selectedRowsData.length,\n isSelectAll: this.selectedRows.size === this.allRowData.length && this.allRowData.length > 0,\n },\n bubbles: true,\n }),\n );\n }\n\n getColData() {\n let cols: any[] = [];\n if (this.cols === undefined || this.cols === null) return cols;\n if (this.isJSONParseable(this.cols)) {\n cols = [...JSON.parse(this.cols)];\n } else if (Array.isArray(this.cols) || typeof this.cols === 'object') {\n cols = [...this.cols];\n } else {\n console.error('Unexpected value for cols: ', this.cols);\n }\n\n if (this.enableSelection) {\n const checkboxColumn = {\n headerName: '',\n field: '__checkbox',\n width: 50,\n pinned: 'left',\n cellRenderer: 'checkboxCellRenderer',\n cellRendererParams: {\n onCheckboxClick: this.handleRowCheckboxClick?.bind(this),\n },\n headerComponent: 'checkboxHeaderRenderer',\n headerComponentParams: {\n onSelectAll: this.handleSelectAll?.bind(this),\n },\n sortable: false,\n filter: false,\n resizable: false,\n valueFormatter: undefined,\n cellDataType: false,\n };\n cols.unshift(checkboxColumn);\n }\n\n cols.forEach(column => {\n const field = column.field?.toLowerCase() || '';\n // --- Button columns ---\n if (field.startsWith('button')) {\n column.cellRenderer = ButtonCellRenderer;\n column.valueFormatter = undefined;\n column.cellDataType = false;\n if (this.buttonRendererOptions?.onButtonClick) {\n column.cellRendererParams = {\n onButtonClick: this.buttonRendererOptions.onButtonClick,\n };\n }\n }\n // --- Checkbox columns ---\n else if (field.startsWith('checkbox')) {\n column.cellRenderer = CheckboxCellRenderer;\n column.valueFormatter = undefined;\n column.cellDataType = false;\n if (this.checkboxRendererOptions?.onCheckboxClick) {\n column.cellRendererParams = {\n onCheckboxClick: this.checkboxRendererOptions.onCheckboxClick,\n };\n }\n }\n // --- Icon Button columns ---\n else if (field.startsWith('iconbutton') || field === 'iconButton') {\n column.cellRenderer = IconButtonCellRenderer;\n column.valueFormatter = undefined;\n column.cellDataType = false;\n if (this.iconButtonRendererOptions?.onIconButtonClick) {\n column.cellRendererParams = {\n onIconButtonClick: this.iconButtonRendererOptions.onIconButtonClick,\n };\n }\n }\n // --- Status columns ---\n else if (field.startsWith('status')) {\n column.cellRenderer = StatusCellRenderer;\n column.valueFormatter = undefined;\n column.cellDataType = false;\n }\n // --- Link columns ---\n else if (field.startsWith('link')) {\n column.cellRenderer = LinkCellRenderer;\n column.valueFormatter = undefined;\n column.cellDataType = false;\n }\n });\n return cols;\n }\n\n onFirstDataRendered(params: FirstDataRenderedEvent) {\n params.api.sizeColumnsToFit();\n }\n\n handleResetButtonClick() {\n const resetEvent = new CustomEvent('ifxResetFiltersEvent', { bubbles: true, composed: true });\n window.dispatchEvent(resetEvent);\n\n this.clearAllFilters();\n this.updateTableView();\n }\n\n disconnectedCallback() {\n if (this.pagination) {\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.removeEventListener('ifxPageChange', this.handlePageChange);\n }\n }\n\n const resetButton = this.host.shadowRoot.querySelector('#reset-filters-button');\n if (resetButton) {\n resetButton.removeEventListener('click', this.handleResetButtonClick.bind(this));\n }\n }\n\n getTableClassNames() {\n return classNames(this.tableHeight === 'auto' && 'table-wrapper ag-root-wrapper-body', 'table-wrapper');\n }\n\n render() {\n let style = {};\n if (this.tableHeight !== 'auto') {\n style = {\n height: this.tableHeight,\n };\n }\n\n const filterClass = this.filterOrientation === 'topbar' ? 'topbar-layout' : this.filterOrientation === 'none' ? '' : 'sidebar-layout';\n\n return (\n <Host>\n <div class=\"table-container\">\n {this.filterOrientation === 'sidebar' && (\n <div class=\"sidebar-btn\">\n <ifx-button\n type=\"button\"\n disabled={false}\n variant=\"secondary\"\n size=\"m\"\n target=\"_blank\"\n theme=\"default\"\n full-width=\"false\"\n onClick={() => this.toggleSidebarFilters()}\n >\n <ifx-icon icon=\"cross-16\"></ifx-icon>\n {this.showSidebarFilters ? 'Hide Filters' : 'Show Filters'}\n </ifx-button>\n </div>\n )}\n\n <div class={filterClass}>\n {this.filterOrientation === 'sidebar' && this.showSidebarFilters && (\n <div class=\"sidebar-container\">\n <div class=\"filters-title-container\">\n <span class=\"filters-title\">Filters</span>\n </div>\n <div class=\"set-filter-wrapper-sidebar\">{(this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && <slot name=\"sidebar-filter\"></slot>}</div>\n </div>\n )}\n\n {this.filterOrientation !== 'none' && this.filterOrientation !== 'sidebar' && (\n <div class=\"set-filter-wrapper-topbar\">{(this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && <slot name=\"topbar-filter\"></slot>}</div>\n )}\n\n <div class=\"table-pagination-wrapper\">\n {this.filterOrientation !== 'none' && this.filterOrientation !== 'topbar' && this.showSidebarFilters && (\n <div class=\"filter-chips\">\n {Object.keys(this.currentFilters).map(name => {\n const filter = this.currentFilters[name];\n const filterValues = filter.filterValues;\n const isMultiSelect = filter.type !== 'text';\n\n return filterValues.length > 0 ? (\n <ifx-chip placeholder={name} size=\"large\" variant={isMultiSelect ? 'multi' : 'single'} readOnly={true} value={filterValues} key={name}>\n {filterValues.map(filterValue => (\n <ifx-chip-item value={filterValue} selected={true} key={filterValue}>\n {filterValue}\n </ifx-chip-item>\n ))}\n </ifx-chip>\n ) : null;\n })}\n </div>\n )}\n\n <div class=\"headline-wrapper\">\n {this.filterOrientation !== 'none' && this.headline && (\n <div class=\"matching-results-container\">\n <span class=\"matching-results-count\">({this.matchingResultsCount})</span>\n <span class=\"matching-results-text\">{this.headline}</span>\n </div>\n )}\n\n <div class=\"inner-buttons-wrapper\">\n <slot name=\"inner-button\" />\n </div>\n </div>\n\n <div id=\"table-wrapper\" class={this.getTableClassNames()}>\n <div id={`ifxTable-${this.uniqueKey}`} class={`ifx-ag-grid ${this.variant === 'zebra' ? 'zebra' : ''}`} style={style} ref={el => (this.container = el)}></div>\n </div>\n <div class=\"pagination-wrapper\">\n {this.pagination ? (\n <ifx-pagination\n total={this.serverSidePagination ? this.matchingResultsCount : this.allRowData.length}\n current-page={this.currentPage}\n items-per-page={this.internalItemsPerPage}\n ></ifx-pagination>\n ) : null}\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n\n hasButtonCol(): boolean {\n return this.getColData().some(column => column.field === 'button');\n }\n\n onDragOver(event) {\n var dragSupported = event.dataTransfer.length;\n\n if (dragSupported) {\n event.dataTransfer.dropEffect = 'move';\n }\n\n event.preventDefault();\n }\n\n onDrop(event) {\n var jsonData = event.dataTransfer.getData('application/json');\n\n var eJsonRow = document.createElement('div');\n eJsonRow.classList.add('json-row');\n eJsonRow.innerText = jsonData;\n\n var eJsonDisplay = document.querySelector('#eJsonDisplay');\n\n eJsonDisplay.appendChild(eJsonRow);\n event.preventDefault();\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as i,c as t,h as s,a as e}from"./p-PqnYwNKt.js";import{c as n}from"./p-DMLRPGid.js";import"./p-B85MJLTf.js";const o=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}.action-list-item{display:flex;align-items:center;padding:8px 16px;background:#FFFFFF;transition:background-color 0.2s ease;cursor:default}.action-list-item--clickable{cursor:pointer}.action-list-item--clickable:hover:not(.action-list-item--disabled){background:#F7F7F7}.action-list-item--clickable:focus:not(.action-list-item--disabled){outline:none;background:#F7F7F7}.action-list-item--clickable:active:not(.action-list-item--disabled){background:#EEEDED}.action-list-item--disabled ::slotted(ifx-icon){color:#BFBBBB}.action-list-item--disabled ::slotted(*) ifx-icon{color:#BFBBBB}.action-list-item__leading{display:flex;align-items:center;justify-content:center;margin-right:16px;flex-shrink:0}.action-list-item__content{flex:1;min-width:0}.action-list-item__title{font-weight:600;font-size:1rem;line-height:1.5rem;color:#1D1D1D;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-list-item--disabled .action-list-item__title{color:#BFBBBB}.action-list-item__description{font-size:0.875rem;line-height:1.25rem;color:#575352;margin-top:2px}.action-list-item--disabled .action-list-item__description{color:#BFBBBB}.action-list-item__trailing{display:flex;align-items:center;justify-content:center;margin-left:16px;flex-shrink:0;gap:16px}';const l=class{constructor(s){i(this,s);this.ifxActionListItemClick=t(this,"ifxActionListItemClick",7);this.target="_self";this.disabled=false;this.handleMainClick=i=>{var t,s;if(this.disabled){i.preventDefault();i.stopPropagation();return}const e=(t=this.host.shadowRoot)===null||t===void 0?void 0:t.querySelector(".action-list-item__leading");const n=(s=this.host.shadowRoot)===null||s===void 0?void 0:s.querySelector(".action-list-item__trailing");if((e===null||e===void 0?void 0:e.contains(i.target))||(n===null||n===void 0?void 0:n.contains(i.target))){return}this.ifxActionListItemClick.emit({value:this.value,href:this.href,target:this.target,component:this});if(this.href){if(this.target==="_blank"){window.open(this.href,this.target)}else{window.location.href=this.href}}};this.handleLeadingClick=i=>{if(this.disabled){i.preventDefault();i.stopPropagation();return}const t=i.target;let s=t;while(s&&s!==this.host){if(this.isInteractiveElement(s)){i.stopPropagation();return}s=s.parentElement}i.stopPropagation();this.ifxActionListItemClick.emit({value:this.value,href:this.href,target:this.target,component:this});if(this.href){if(this.target==="_blank"){window.open(this.href,this.target)}else{window.location.href=this.href}}};this.handleTrailingClick=i=>{if(this.disabled){i.preventDefault();i.stopPropagation();return}const t=i.target;let s=t;while(s&&s!==this.host){if(this.isInteractiveElement(s)){i.stopPropagation();return}s=s.parentElement}i.stopPropagation();this.ifxActionListItemClick.emit({value:this.value,href:this.href,target:this.target,component:this});if(this.href){if(this.target==="_blank"){window.open(this.href,this.target)}else{window.location.href=this.href}}};this.isInteractiveElement=i=>{const t=i.tagName.toUpperCase();const s=["IFX-BUTTON","IFX-CHECKBOX","IFX-SWITCH"];return s.includes(t)};this.handleMainKeyDown=i=>{if(this.disabled)return;if(i.key==="Enter"||i.key===" "){i.preventDefault();this.handleMainClick(i)}};this.handleLeadingKeyDown=i=>{var t;if(this.disabled)return;if(i.key==="Enter"||i.key===" "){i.preventDefault();const s=(t=this.host.shadowRoot)===null||t===void 0?void 0:t.querySelector('slot[name="leading"]');const e=(s===null||s===void 0?void 0:s.assignedElements())||[];const n=e.find((i=>this.isInteractiveElement(i)));if(n){n.focus();n.click()}}};this.handleTrailingKeyDown=i=>{var t;if(this.disabled)return;if(i.key==="Enter"||i.key===" "){i.preventDefault();const s=(t=this.host.shadowRoot)===null||t===void 0?void 0:t.querySelector('slot[name="trailing"]');const e=(s===null||s===void 0?void 0:s.assignedElements())||[];const n=e.find((i=>this.isInteractiveElement(i)));if(n){n.focus();n.click()}}};this.updateSlotElementsDisabledState=()=>{const i=["ifx-checkbox","ifx-switch","ifx-button"];const t=this.host.querySelectorAll("[slot]");t.forEach((t=>{if(i.includes(t.tagName.toLowerCase())){this.setElementDisabledState(t)}i.forEach((i=>{const s=t.querySelectorAll(i);s.forEach((i=>{this.setElementDisabledState(i)}))}))}))};this.setElementDisabledState=i=>{if(this.disabled){i.setAttribute("disabled","true")}else{i.removeAttribute("disabled")}}}onDisabledChange(){this.updateSlotElementsDisabledState()}hasSlotContent(i){const t=this.host.querySelector(`[slot="${i}"]`);return!!t}componentDidLoad(){this.updateSlotElementsDisabledState()}componentDidUpdate(){this.updateSlotElementsDisabledState()}render(){const i=!this.disabled&&(this.href||this.value);const t=this.itemAriaLabel||`${this.itemTitle}${this.description?` - ${this.description}`:""}`;const e=this.hasSlotContent("leading");const o=this.hasSlotContent("trailing");return s("div",{key:"afc03036455ceb23a99e893ebdc36c052fcc2e64",class:n("action-list-item",this.disabled&&"action-list-item--disabled",i&&"action-list-item--clickable"),role:"listitem",tabIndex:i?0:-1,"aria-label":t,"aria-disabled":this.disabled?"true":undefined,onClick:this.handleMainClick,onKeyDown:this.handleMainKeyDown},e&&s("div",{key:"fbc09a625f124bdcf9137cde295838592925cc93",class:"action-list-item__leading",onClick:this.handleLeadingClick,onKeyDown:this.handleLeadingKeyDown},s("slot",{key:"915fb5467635e391ca3713def64ee031095e784d",name:"leading"})),s("div",{key:"589bd17dcd1f2de8ac7ac1c86db677c9b8eac35e",class:"action-list-item__content"},s("div",{key:"4b0ac3d7e1439cbe8682f9d14411acc4683b2ffe",class:"action-list-item__title"},this.itemTitle),this.description&&s("div",{key:"e5a0481505f637db1f7672fca5e1800a934d4270",class:"action-list-item__description"},this.description)),o&&s("div",{key:"c855aff75b5e1ddba37456c2225f46be3ae17429",class:"action-list-item__trailing",onClick:this.handleTrailingClick,onKeyDown:this.handleTrailingKeyDown},s("slot",{key:"68ff1e04f0bdf90894fa729619c7b7a6f896bad8",name:"trailing"})))}get host(){return e(this)}static get watchers(){return{disabled:["onDisabledChange"]}}};l.style=o;export{l as ifx_action_list_item};
2
- //# sourceMappingURL=p-169f26ae.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as i,h as n,a as e}from"./p-PqnYwNKt.js";import{d as t,t as r}from"./p-DcmcuUOA.js";import{i as a}from"./p-Bw2fh5LT.js";const o=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:inline-flex}.indicator__container .dot__wrapper{display:flex;width:8px;height:8px;justify-content:center;align-items:center;flex-shrink:0;border-radius:50%;background-color:#0A8276}.indicator__container .number__container{height:16px;display:inline-flex;padding:0;min-width:16px;justify-content:center;align-items:center;border-radius:100px;background-color:#0A8276}.indicator__container .number__container .number__wrapper{padding:0 4px;color:#FFFFFF;text-align:center;font-size:0.875rem;font-style:normal;font-weight:600;line-height:16px}.indicator__container .number__container.inverted{background-color:#FFFFFF}.indicator__container .number__container.inverted .number__wrapper{color:#0A8276}';const s=class{constructor(n){i(this,n);this.inverted=false;this.variant="number";this.number=0}handleNumber(){this.filteredNumber=!isNaN(this.number)&&this.number>99?"99+":this.number}componentWillLoad(){this.handleNumber()}async componentDidLoad(){if(!a(this.el)){const i=t();r("ifx-indicator",await i)}}componentWillUpdate(){this.handleNumber()}render(){return n("div",{key:"35211d70a31d9bf69b84614694d4669877c8a6d9","aria-label":this.ariaLabel,class:"indicator__container"},this.variant==="number"&&n("div",{key:"888f42cb6ad70bb973b62468734bae7abf73f3d9",class:`number__container ${this.inverted?"inverted":""}`},n("div",{key:"4578b32ca5e7b7747eb7ae729e9732d06da3fcbc",class:"number__wrapper"},this.filteredNumber)),this.variant==="dot"&&n("div",{key:"2b3cd2500d4d64bbb27131201ca2d56f720209a0",class:"dot__wrapper"}))}get el(){return e(this)}};s.style=o;export{s as ifx_indicator};
2
- //# sourceMappingURL=p-39561a49.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["indicatorCss","Indicator","constructor","hostRef","this","inverted","variant","number","handleNumber","filteredNumber","isNaN","componentWillLoad","componentDidLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","componentWillUpdate","render","h","key","ariaLabel","class"],"sources":["src/components/indicator/indicator.scss?tag=ifx-indicator&encapsulation=shadow","src/components/indicator/indicator.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n}\n\n.indicator__container { \n & .dot__wrapper { \n display: flex;\n width: 8px;\n height: 8px;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n border-radius: 50%;\n background-color: tokens.$ifxColorOcean500;\n }\n\n & .number__container {\n height: 16px;\n display: inline-flex;\n padding: 0; \n min-width: 16px; \n justify-content: center;\n align-items: center;\n border-radius: 100px;\n background-color: tokens.$ifxColorOcean500;\n\n & .number__wrapper {\n padding: 0 4px;\n color: tokens.$ifxColorBaseWhite;\n text-align: center;\n font-size: tokens.$ifxFontSizeS;\n font-style: normal;\n font-weight: tokens.$ifxFontWeightSemibold;\n line-height: 16px;\n }\n\n &.inverted {\n background-color: tokens.$ifxColorBaseWhite;\n\n & .number__wrapper {\n color: tokens.$ifxColorOcean500;\n }\n }\n }\n}\n\n\n","import { Component, h, Prop, Element, State } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-indicator',\n styleUrl: 'indicator.scss',\n shadow: true\n})\nexport class Indicator {\n @Element() el;\n @State() filteredNumber: string | number;\n @Prop() inverted: boolean = false;\n @Prop() ariaLabel: string | null;\n @Prop() variant: string = 'number'\n @Prop() number: number = 0;\n\n handleNumber() {\n this.filteredNumber = !isNaN(this.number) && this.number > 99 ? '99+' : this.number;\n }\n\n componentWillLoad() { \n this.handleNumber()\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-indicator', await framework)\n }\n }\n\n componentWillUpdate() {\n this.handleNumber()\n }\n\n render() {\n return (\n <div aria-label={this.ariaLabel} class='indicator__container'>\n {this.variant === 'number' && \n <div class={`number__container ${this.inverted ? 'inverted' : \"\"}`}>\n <div class=\"number__wrapper\">\n {this.filteredNumber}\n </div> \n </div>}\n {this.variant === 'dot' && <div class=\"dot__wrapper\"></div>}\n </div>\n );\n }\n}"],"mappings":"iIAAA,MAAMA,EAAe,swB,MCURC,EAAS,MALtB,WAAAC,CAAAC,G,UAQUC,KAAQC,SAAY,MAEpBD,KAAOE,QAAW,SAClBF,KAAMG,OAAW,CAkC1B,CAhCC,YAAAC,GACEJ,KAAKK,gBAAkBC,MAAMN,KAAKG,SAAWH,KAAKG,OAAS,GAAK,MAAQH,KAAKG,M,CAG/E,iBAAAI,GACEP,KAAKI,c,CAGP,sBAAMI,GACJ,IAAIC,EAAuBT,KAAKU,IAAK,CACnC,MAAMC,EAAYC,IAClBC,EAAe,sBAAuBF,E,EAI1C,mBAAAG,GACEd,KAAKI,c,CAGP,MAAAW,GACE,OACEC,EAAA,OAAAC,IAAA,wDAAiBjB,KAAKkB,UAAWC,MAAM,wBACrCnB,KAAKE,UAAY,UAClBc,EAAA,OAAAC,IAAA,2CAAKE,MAAO,qBAAqBnB,KAAKC,SAAW,WAAa,MAC3De,EAAK,OAAAC,IAAA,2CAAAE,MAAM,mBACRnB,KAAKK,iBAGVL,KAAKE,UAAY,OAASc,EAAA,OAAAC,IAAA,2CAAKE,MAAM,iB","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,h as i,a as t}from"./p-PqnYwNKt.js";import{d as n,t as l}from"./p-DcmcuUOA.js";import{i as o}from"./p-Bw2fh5LT.js";import{c as r}from"./p-DMLRPGid.js";import"./p-B85MJLTf.js";const s=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:inline-flex}.link{display:inline-flex;align-items:center;font-weight:400;font-size:1rem;text-decoration:none;color:#0A8276;gap:8px;line-height:1.6;font-family:var(--ifx-font-family)}.link:hover{cursor:pointer}.link:focus{outline-width:2px;outline-style:solid;outline-color:#0A8276;outline-offset:4px;border-radius:3px}.link.bold{font-weight:600}.link.bold:hover{text-decoration:underline}.link.bold:active{color:#08665C;font-style:normal;font-weight:600;text-decoration:underline}.link.underlined{text-decoration:underline;text-decoration-color:#0A8276;color:#1D1D1D;text-underline-offset:8px}.link.underlined:hover{color:#0A8276}.link.underlined:active{color:#0A8276}.link.underlined:disabled,.link.underlined.disabled{text-decoration-color:#BFBBBB}.link.title{text-decoration:none;font-weight:600;color:#1D1D1D}.link.title:hover{color:#0A8276}.link.title:active{color:#08665C}.link.menu{font-weight:400;font-style:normal;line-height:26px;color:#1D1D1D}.link.menu:hover{color:#0A8276}.link.menu:active{color:#08665C}.link.small{font-size:0.875rem}.link.medium{font-size:1rem}.link.large{font-size:1.125rem}.link.extraLarge{font-size:1.25rem}.link.underline{text-decoration:underline}.link:disabled,.link.disabled{color:#BFBBBB;cursor:default;pointer-events:none}';const a=class{constructor(i){e(this,i);this.href=undefined;this.target="_self";this.variant="bold";this.disabled=false;this.internalHref="";this.internalTarget="";this.internalVariant=""}setInternalStates(){if(this.href){this.internalHref=this.href.trim()}else{this.internalHref=undefined}this.internalTarget=this.target.trim();this.internalVariant=this.variant.trim().toLowerCase()}componentWillRender(){this.setInternalStates()}handleKeyDown(e){if(this.disabled){e.preventDefault()}else if(e.key==="Enter"){e.preventDefault()}}async componentDidLoad(){if(!o(this.el)){const e=n();l("ifx-link",await e)}}render(){return i("a",{key:"8b3aaa77c9de243e5a6c8c25eb1173ddb4cb0aef",tabindex:"0",role:"link","aria-label":this.ariaLabel,"aria-disabled":this.disabled||!this.internalHref,href:this.disabled?undefined:this.internalHref,download:this.download,target:this.internalTarget,class:this.linkClassNames()},i("slot",{key:"5ed92a06a4564b6c94324117edc49420a2dd21be"}))}getSizeClass(){const e=this.size==="s"?"small":null;const i=this.size==="m"?"medium":null;const t=this.size==="l"?"large":null;const n=this.size==="xl"?"extraLarge":null;if(e){return e}else if(i){return i}else if(t){return t}else if(n&&this.internalVariant==="underlined"){return"large"}else if(n&&this.internalVariant!=="underlined"){return n}else return""}getVariantClass(){const e=this.internalVariant==="bold"?"bold":null;const i=this.internalVariant==="title"?"title":null;const t=this.internalVariant==="underlined"?"underlined":null;const n=this.internalVariant==="menu"?"menu":null;if(e){return e}else if(i){return i}else if(t){return t}else if(n){return n}else return e}linkClassNames(){return r("link","primary",this.getVariantClass(),this.getSizeClass(),this.disabled?"disabled":"")}get el(){return t(this)}};a.style=s;export{a as ifx_link};
2
- //# sourceMappingURL=p-3d77ef02.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as e,c as i,h as t,a}from"./p-PqnYwNKt.js";import{d as r,t as s}from"./p-DcmcuUOA.js";import{i as n}from"./p-Bw2fh5LT.js";const l=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:inline-block}.chip{position:relative}.chip__wrapper{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;border-radius:9999px;background:#FFFFFF;cursor:pointer;transition:border 100ms ease;font:400 0.875rem/1.25rem "Source Sans 3"}.chip__wrapper .icon__wrapper{display:flex}.chip__wrapper.outlined,.chip__wrapper.filled-dark,.chip__wrapper.filled-light{outline:2px solid transparent}.chip__wrapper.outlined:focus-visible,.chip__wrapper.filled-dark:focus-visible,.chip__wrapper.filled-light:focus-visible{outline:2px solid #0A8276;outline-offset:2px}.chip__wrapper.outlined.chip__wrapper--opened .wrapper__open-button,.chip__wrapper.filled-dark.chip__wrapper--opened .wrapper__open-button,.chip__wrapper.filled-light.chip__wrapper--opened .wrapper__open-button{transform:rotate(-180deg)}.chip__wrapper.outlined.chip__wrapper--selected .wrapper__label .label__selected-options,.chip__wrapper.filled-dark.chip__wrapper--selected .wrapper__label .label__selected-options,.chip__wrapper.filled-light.chip__wrapper--selected .wrapper__label .label__selected-options{font:400 0.875rem/1.25rem "Source Sans 3"}.chip__wrapper.filled-dark.chip__wrapper--selected:not(.read-only),.chip__wrapper.filled-light.chip__wrapper--selected:not(.read-only){background-color:#0A8276;color:white}.chip__wrapper.filled-dark.chip__wrapper--selected:not(.read-only):hover,.chip__wrapper.filled-light.chip__wrapper--selected:not(.read-only):hover{background-color:#08665C}.chip__wrapper.filled-dark.chip__wrapper--selected:not(.read-only):hover.disabled,.chip__wrapper.filled-light.chip__wrapper--selected:not(.read-only):hover.disabled{background-color:#0A8276}.chip__wrapper.outlined{border:1px solid #8D8786}.chip__wrapper.outlined:hover:not(.read-only){border-color:#575352;background-color:#F7F7F7}.chip__wrapper.outlined:active:not(.read-only){border-color:#575352;background-color:#BFBBBB}.chip__wrapper.outlined.chip__wrapper--opened{border:1px solid #0A8276}.chip__wrapper.outlined.chip__wrapper--selected{outline:3px solid #0A8276;border:1px solid transparent;background-color:white}.chip__wrapper.outlined.chip__wrapper--selected:focus-visible{outline-offset:0px}.chip__wrapper.outlined.chip__wrapper--selected:hover:not(.read-only){outline-color:#08665C}.chip__wrapper.outlined.chip__wrapper--selected.read-only{outline:none;border:1px solid black}.chip__wrapper.outlined.disabled{outline:none;color:#BFBBBB;border:1px solid #BFBBBB}.chip__wrapper.outlined.disabled:hover{outline:none;border-color:#BFBBBB;background-color:white}.chip__wrapper.outlined.read-only{border:1px solid black}.chip__wrapper.outlined.read-only:focus-visible{outline:2px solid #0A8276;outline-offset:2px}.chip__wrapper.filled-dark{background-color:#3C3A39;color:white}.chip__wrapper.filled-dark:hover:not(.chip__wrapper--selected,.disabled,.read-only){background-color:#575352}.chip__wrapper.filled-dark:active:not(.chip__wrapper--selected,.disabled,.read-only){background-color:#8D8786;color:black}.chip__wrapper.filled-dark.disabled{outline:none;color:#BFBBBB}.chip__wrapper.filled-dark.disabled:hover:not(.chip__wrapper--selected){background-color:#3C3A39}.chip__wrapper.filled-dark.chip__wrapper--selected.read-only{border:1px solid #8D8786}.chip__wrapper.filled-dark.read-only{border:1px solid #8D8786}.chip__wrapper.filled-light{background-color:#EEEDED}.chip__wrapper.filled-light:hover:not(.read-only){background-color:#BFBBBB}.chip__wrapper.filled-light:active:not(.read-only){background-color:#8D8786}.chip__wrapper.filled-light.disabled{outline:none;color:#BFBBBB}.chip__wrapper.filled-light.disabled:hover:not(.chip__wrapper--selected){background-color:#EEEDED}.chip__wrapper.filled-light.chip__wrapper--selected.read-only{border:1px solid black}.chip__wrapper.filled-light.read-only{border:1px solid black}.chip__wrapper.chip__wrapper--small{padding:4px 8px;height:24px}.chip__wrapper.chip__wrapper--medium{padding:4px 12px;height:28px}.chip__wrapper.chip__wrapper--large{padding:8px 12px;height:36px}.wrapper__label{display:inline-flex;align-items:center;gap:4px}.wrapper__label .label__selected-options{font:600 0.875rem/1.25rem "Source Sans 3"}.wrapper__open-button{display:flex;align-items:center}.wrapper__unselect-button{display:flex;align-items:center}.chip__dropdown{position:absolute;z-index:1;box-shadow:0px 6px 9px 0px rgba(29, 29, 29, 0.1019607843);border:1px solid #EEEDED;border-radius:1px;padding:8px 0;min-width:222px;background-color:#FFFFFF}';const o=class{constructor(t){e(this,t);this.ifxChange=i(this,"ifxChange",7);this.placeholder="";this.size="medium";this.value=undefined;this.variant="single";this.theme="outlined";this.readOnly=false;this.disabled=false;this.icon="";this.opened=false;this.selectedOptions=[]}handleValueChange(e){this.syncSelectedOptionsWithProp(e)}handleReadOnlyChange(e){if(e){this.opened=false}}closeDropdownOnOutsideClick(e){const i=e.composedPath();const t=this.chip.shadowRoot.querySelector(".chip__wrapper");const a=this.chip.shadowRoot.querySelector(".chip__dropdown");if(!i.includes(a)&&!i.includes(t)&&this.opened){this.toggleDropdownMenu()}}handleKeyDown(e){if(e.code!=="Tab"){e.preventDefault()}if(e.target.tagName==="IFX-CHIP"){this.handleWrapperKeyDown(e)}else if(e.target.tagName==="IFX-CHIP-ITEM"){this.handleDropdownKeyDown(e)}}updateSelectedOptions(e){const i=e.detail;const t=[...this.selectedOptions];if(this.variant!=="multi"){if(i.selected){this.opened=false;const t=this.getChipItems();t.forEach((i=>{if(i.selected&&i!==e.target){i.chipState=Object.assign(Object.assign({},i.chipState),{emitIfxChipItemSelect:false});i.selected=false}}));this.selectedOptions=[i]}else{this.selectedOptions=[]}this.value=this.selectedOptions[0]?this.selectedOptions[0].value:undefined}else{if(i.selected){if(!this.selectedOptions.find((e=>e.value===i.value))){this.selectedOptions=[...this.selectedOptions,i]}}else{this.selectedOptions=this.selectedOptions.filter((e=>e.value!==i.value))}this.value=this.selectedOptions.map((e=>e.value))}if(i.emitIfxChange){this.ifxChange.emit({previousSelection:t,currentSelection:this.selectedOptions,name:this.placeholder})}}getChipItems(){return this.chip.querySelectorAll("ifx-chip-item")}getSelectedOptions(){if(this.variant!=="multi"){return this.selectedOptions.map((e=>e.label)).join("")}return this.selectedOptions.slice(0,2).map((e=>e.label)).join(", ")}toggleDropdownMenu(){if(this.readOnly)return;this.opened=!this.opened}focusChipItemAt(e=0){this.opened=true;const i=this.getChipItems();let t;if(e===-1){t=i.item(i.length-1)}else if(e>=0&&e<i.length){t=i.item(e)}else{console.error(`Invalid index: ${e}`);return}const a=t.shadowRoot.querySelector(".chip-item");if(a){setTimeout((()=>{a.focus()}),1)}}focusChip(){const e=this.chip.shadowRoot.querySelector(".chip__wrapper");e.focus()}handleUnselectButtonClick(e){e.stopPropagation();this.opened=false;let i=false;const t=this.getChipItems();t.forEach((e=>{if(e.selected){i=true;e.chipState=Object.assign(Object.assign({},e.chipState),{emitIfxChipItemSelect:false});e.selected=false}}));if(i){const e=this.selectedOptions;this.selectedOptions=[];this.value=[];this.ifxChange.emit({previousSelection:e,currentSelection:[],name:this.placeholder})}}handleWrapperClick(){if(!this.readOnly){this.toggleDropdownMenu()}}handleWrapperKeyDown(e){if(this.readOnly)return;if(!this.opened){switch(e.code){case"Space":case"Enter":case"ArrowDown":this.focusChipItemAt(0);break;case"ArrowUp":this.focusChipItemAt(-1);break}}else{switch(e.code){case"Escape":this.opened=false;this.focusChip();break}}}handleDropdownKeyDown(e){let i=this.getChipItems();let t=Array.from(i).indexOf(e.target);if(t===-1){console.error("Target not found in chip items");return}switch(e.code){case"ArrowDown":if(t===i.length-1)break;this.focusChipItemAt(t+1);break;case"ArrowUp":if(t===0)break;this.focusChipItemAt(t-1);break;case"Escape":this.opened=false;this.focusChip();break;case"Space":if(this.variant==="single"){this.opened=false;this.focusChip()}break;case"Enter":this.opened=false;this.focusChip();break}}syncChipState(){const e=this.getChipItems();let i=0;e.forEach((e=>{e.chipState={emitIfxChipItemSelect:true,size:this.size?this.size:"medium",variant:this.variant==="multi"?"multi":"single",key:i++}}))}syncSelectedOptionsWithProp(e){this.selectedOptions=[];const i=(()=>{let e=0;return()=>e++})();if(Array.isArray(e)){this.selectedOptions=e.map((e=>({value:e,label:e,selected:true,key:i(),emitIfxChange:true})))}else if(typeof e==="string"){this.selectedOptions=[{value:e,label:e,selected:true,key:i(),emitIfxChange:true}]}this.syncChipState()}componentWillLoad(){this.syncSelectedOptionsWithProp(this.value)}async componentDidLoad(){if(!n(this.chip)){const e=r();s("ifx-chip",await e)}}render(){return t("div",{key:"cd16644a94a1e31cea0b2cbbe39394d4a05a5a5b",class:"chip"},t("div",{key:"951decf38e88ff684f283a09f6bc513ca4a2c704",class:`chip__wrapper chip__wrapper--${this.size?this.size:"medium"}\n chip__wrapper--${this.variant==="multi"?"multi":"single"}\n ${this.opened&&!this.readOnly?"chip__wrapper--opened":""}\n ${this.selectedOptions.length?"chip__wrapper--selected":""}\n ${this.theme?this.theme:"outlined"}\n ${this.disabled?"disabled":""}\n ${this.readOnly?"read-only":""}`,tabIndex:0,onClick:!this.readOnly&&!this.disabled?()=>{this.handleWrapperClick()}:undefined,role:"combobox","aria-label":this.ariaLabel,"aria-value":this.getSelectedOptions(),"aria-haspopup":!this.readOnly?"listbox":undefined,"aria-expanded":!this.readOnly?this.opened.toString():undefined,"aria-controls":!this.readOnly?"dropdown":undefined,"aria-readonly":this.readOnly?"true":undefined,"aria-multiselectable":this.variant==="multi"?"true":undefined},this.icon&&t("div",{key:"cd8ab00ddfde3ba1dcdb7a82f963df1b81e4b5d5",class:"icon__wrapper"},t("ifx-icon",{key:"b14f92a609f24bc0b4617bb2b0d8262c52f11fab",icon:this.icon})),t("div",{key:"7ac3305d90985ddf45eb4df3cc22f9de89bf60de",class:"wrapper__label"},this.selectedOptions.length===0&&`${this.placeholder}`,this.selectedOptions.length!==0&&this.variant==="multi"&&this.placeholder!==""&&`${this.placeholder}:`,this.selectedOptions.length!==0&&t("div",{key:"e7c907adafd7e1601a4cbd05e1a7b415e1da05b6",class:"label__selected-options"},this.getSelectedOptions()),this.selectedOptions.length>2&&this.variant==="multi"&&t("ifx-indicator",{key:"4520777b0d729d95d57d87d5a32a95fcf44e0d84",variant:"number",inverted:this.theme==="outlined"?false:true,number:this.selectedOptions.length-2})),!this.readOnly&&(this.variant!=="multi"||this.variant==="multi"&&this.selectedOptions.length===0)&&t("div",{key:"ade24c6456b5443be577a4c0bd61d1b2dba68c91",class:"wrapper__open-button"},t("ifx-icon",{key:1,icon:`chevron-down-16`})),this.selectedOptions.length>=1&&this.variant==="multi"&&t("div",{key:"8b1937382b467ca305493896aaf065c10f7a01e8",class:"wrapper__unselect-button",onClick:!this.readOnly&&!this.disabled?e=>{this.handleUnselectButtonClick(e)}:undefined},t("ifx-icon",{key:2,icon:`cross16`}))),this.opened&&!this.readOnly&&t("div",{key:"073b6641d2320716a6d4b1149e72b61fa9b47dd8",id:"dropdown",role:"listbox",class:"chip__dropdown"},t("slot",{key:"55587cb1d438b11f0682c3b1d596a5dfb1d251d0"})))}get chip(){return a(this)}static get watchers(){return{value:["handleValueChange"],readOnly:["handleReadOnlyChange"]}}};o.style=l;const p=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}.chip-item{display:flex;align-items:center;gap:8px;padding:8px 16px;user-select:none;transition:all 100ms ease;transition-property:background, color}.chip-item:hover{cursor:pointer;background-color:#EEEDED}.chip-item:active{background-color:#BFBBBB}.chip-item:focus{outline:2px solid #0A8276}.chip-item.chip-item--large{font:400 1rem/1.5rem "Source Sans 3"}.chip-item.chip-item--small{font:400 0.875rem/1.25rem "Source Sans 3"}.chip-item.chip-item--selected{color:#0A8276}.chip-item.chip-item--selected .chip-item__selected-indicator{display:block}.chip-item__selected-indicator{display:none;margin-left:auto}';const c=class{constructor(t){e(this,t);this.ifxChipItemSelect=i(this,"ifxChipItemSelect",5);this.value=undefined;this.chipState={emitIfxChipItemSelect:true,variant:"multi",size:"large"};this.selected=false}updateItemSelection(e){if(this.chipState.variant==="single"){const i=e.target;if(this.chipItem!==i&&this.chipItem.parentElement===i.parentElement){this.selected=false}}}validateSelected(e,i){if(e!==i){if(this.chipState.emitIfxChipItemSelect){this.emitIfxChipItemSelectEvent()}else{this.chipState.emitIfxChipItemSelect=true}}}getItemLabel(){return this.chipItem.innerText}toggleItemSelection(){this.selected=!this.selected}emitIfxChipItemSelectEvent(e=true){this.ifxChipItemSelect.emit({emitIfxChange:e,key:this.chipState.key,label:this.getItemLabel(),selected:this.selected,value:this.value})}handleItemClick(){this.toggleItemSelection()}handleItemKeyDown(e){if(e.code==="Enter"||e.code==="Space"){this.toggleItemSelection()}}handleSelectedState(){if(this.selected){this.emitIfxChipItemSelectEvent(false)}}componentWillLoad(){this.handleSelectedState()}render(){return t("div",{key:"4d5ace01c02658ed46fbf42c36138a06c3d46049",class:`chip-item chip-item--${this.chipState.size} \n chip-item--${(this.selected&&this.chipState.variant)==="single"?"selected":""}`,tabIndex:0,onClick:()=>{this.handleItemClick()},onKeyDown:e=>{this.handleItemKeyDown(e)},role:"option","aria-selected":this.selected.toString()},this.chipState.variant==="multi"&&t("ifx-checkbox",{key:"bf1af2aaf0944351eb33ace8c704bbb4973951d6",checked:this.selected,tabIndex:-1,size:"s"}),t("div",{key:"50347975f1554b7a02ef2bde34750b361daad549",class:"chip-item__label"}," ",t("slot",{key:"9667dd32c70e5f4a7946499f828883efb10caff2"})," "),t("div",{key:"f2fcab283b717837bc8b6c09b6b3c6c72675e40c",class:"chip-item__selected-indicator"},t("ifx-icon",{key:"84e489e9a638f2165c436b10bea8d826ae6db11c",icon:"check-16"}," ")))}get chipItem(){return a(this)}static get watchers(){return{selected:["validateSelected"]}}};c.style=p;const h=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:inline-flex}.container{display:inline-flex;justify-content:center;align-items:center;gap:32px;font-family:var(--ifx-font-family);flex-wrap:wrap}.container .items__per-page-wrapper{display:flex;align-items:center;gap:16px}.container .items__per-page-wrapper .items__per-page-label{color:#1D1D1D;font-size:14px;font-style:normal;font-weight:600;line-height:20px}.container .items__per-page-wrapper .items__per-page-field{display:flex;flex-direction:column;align-items:flex-start}.container .items__per-page-wrapper .items__per-page-field ifx-select{width:92px}.container .items__total-wrapper{display:flex;justify-content:center;align-items:center;gap:12px}.container .items__total-wrapper .items__total-button{display:flex;width:40px;height:40px;justify-content:center;align-items:center;border-radius:100px;border:1px solid #BFBBBB;background:#FFF}.container .items__total-wrapper .page__numbers-wrapper{display:flex;justify-content:center;align-items:center;gap:12px}.container .items__total-wrapper .page__numbers-wrapper .page__number-item{display:flex;padding:6px;flex-direction:column;justify-content:center;align-items:center;gap:10px;border-radius:100px}.container .items__total-wrapper .page__numbers-wrapper .page__number-item.active{background-color:#0A8276}.container .items__total-wrapper .page__numbers-wrapper .page__number-item.active span{color:#fff}.container .items__total-wrapper .page__numbers-wrapper .page__number-item:hover{cursor:pointer}.container .items__total-wrapper .page__numbers-wrapper .page__number-item:hover:not(.active){background-color:#ddd}.container .items__total-wrapper .page__numbers-wrapper .page__number-item:active:not(.active){background-color:#575352}.container .items__total-wrapper .page__numbers-wrapper .page__number-item span{display:flex;width:16px;height:16px;flex-direction:column;justify-content:center;color:#1D1D1D;text-align:center;font-size:13px;font-style:normal;font-weight:400;line-height:20px}.pagination{display:flex}.pagination ifx-icon-button:first-of-type{margin-right:12px}.pagination ifx-icon-button:last-of-type{margin-left:12px}.page__button{padding:8px;border-radius:100px}ol{list-style-type:none;padding:0;margin:0;display:inline-flex;align-items:center;gap:12px}li{display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:100px}li:hover:not(.active) page__button{background-color:#EEEDED}li:active:not(.active) .page__button{background-color:#575352;color:#fff}li.active{background-color:#0A8276}li.active .page__button{color:#fff}li:hover{cursor:pointer}li .page__button{text-decoration:none;display:flex;width:16px;height:16px;flex-direction:column;justify-content:center;color:#1D1D1D;text-align:center;font-size:13px;font-style:normal;font-weight:400;line-height:20px;align-items:center}.prev.disabled,.next.disabled{cursor:default}.prev.disabled:hover,.next.disabled:hover{cursor:default;text-decoration:none}.prev{margin-right:2.5px}.next{margin-left:2.5px}@media (max-width: 768px){.container{gap:16px;justify-content:left}.container .items__total-wrapper .pagination ol{gap:12px}}@media (max-width: 374px){.pagination .ellipsis+.active{margin-left:8px}.pagination .active+.ellipsis{margin-left:8px}}';const d=class{constructor(t){e(this,t);this.ifxPageChange=i(this,"ifxPageChange",7);this.ifxItemsPerPageChange=i(this,"ifxItemsPerPageChange",7);this.currentPage=1;this.showItemsPerPage=true;this.internalPage=1;this.internalItemsPerPage=10;this.numberOfPages=[];this.total=1;this.filteredItemsPerPage=[];this.visiblePages=[];this.CLASS_DISABLED="disabled";this.CLASS_ACTIVE="active";this.handlePageClick=e=>{const i=e.currentTarget;const t=parseInt(i.dataset.page);if(!isNaN(t))this.changePage(t)};this.handleResize=()=>{clearTimeout(this.resizeTimeout);this.resizeTimeout=setTimeout((()=>{this.updateVisiblePages()}),100)}}watchTotalHandler(){this.calculateNumberOfPages();this.updateVisiblePages()}currentPageWatcher(e){this.internalPage=Math.max(1,Math.min(e,this.numberOfPages.length));this.calculateNumberOfPages();this.updateVisiblePages()}setItemsPerPage(e){var i,t;const a=((i=e.detail)===null||i===void 0?void 0:i.value)||((t=e.detail)===null||t===void 0?void 0:t.label);const r=parseInt(a)||10;if(r===this.internalItemsPerPage){return}this.internalItemsPerPage=r;this.internalPage=1;this.calculateNumberOfPages();this.updateVisiblePages();this.handleEventEmission()}emitItemsPerPage(e){this.ifxItemsPerPageChange.emit(e.detail.label)}async componentDidLoad(){if(this.showItemsPerPage){const e=this.el.shadowRoot.querySelector("#itemsPerPageSelect");if(e){e.addEventListener("ifxSelect",(e=>this.emitItemsPerPage(e)))}}window.addEventListener("resize",this.handleResize);if(!n(this.el)){const e=r();s("ifx-pagination",await e)}this.initPagination()}disconnectedCallback(){if(this.showItemsPerPage){const e=this.el.shadowRoot.querySelector("#itemsPerPageSelect");if(e){e.removeEventListener("ifxSelect",(e=>this.emitItemsPerPage(e)))}}window.removeEventListener("resize",this.handleResize);if(this.resizeTimeout){clearTimeout(this.resizeTimeout)}}updateVisiblePages(){const e=window.innerWidth<375;const i=this.numberOfPages.length;const t=this.internalPage;let a=[];if(e){if(i<=5){a=[...this.numberOfPages]}else{a.push(1);if(t<=2){a.push(2,3,"...",i)}else if(t>=i-1){a.push("...",i-2,i-1,i)}else{a.push("...",t,"...",i)}}}else{const e=2;if(i<=7){a=[...this.numberOfPages]}else{a.push(1);let r=Math.max(2,t-e);let s=Math.min(i-1,t+e);if(t<=4){r=2;s=Math.min(i-1,5)}else if(t>=i-3){r=Math.max(2,i-4);s=i-1}else{r=t-1;s=t+1}if(r>2){a.push("...")}for(let e=r;e<=s;e++){a.push(e)}if(s<i-1){a.push("...")}a.push(i)}}this.visiblePages=a}calculateNumberOfPages(){const e=Math.ceil(this.total/this.internalItemsPerPage);this.numberOfPages=Array.from({length:e},((e,i)=>i+1));this.internalPage=Math.max(1,Math.min(this.currentPage,e))}filterOptionsArray(){const e=typeof this.itemsPerPage==="string"?JSON.parse(this.itemsPerPage):this.itemsPerPage;this.filteredItemsPerPage=e.map((e=>Object.assign(Object.assign({},e),{label:e.label||e.value})))}componentWillLoad(){this.filterOptionsArray();const e=this.filteredItemsPerPage.find((e=>e.selected));if(e){this.internalItemsPerPage=Number(e.value)}else if(this.filteredItemsPerPage.length>0){this.internalItemsPerPage=Number(this.filteredItemsPerPage[0].value)}this.calculateNumberOfPages();this.internalPage=Math.max(1,Math.min(this.currentPage,this.numberOfPages.length));this.updateVisiblePages()}componentWillUpdate(){if(this.prevInternalPage!==this.internalPage){this.updateVisiblePages();this.prevInternalPage=this.internalPage}}componentDidUpdate(){this.initPagination()}handleEventEmission(){this.ifxPageChange.emit({currentPage:this.internalPage,totalPages:this.numberOfPages.length,itemsPerPage:this.internalItemsPerPage})}initPagination(){const e=this.el.shadowRoot.querySelector(".pagination");if(!e)return;const i=()=>{const i=e.querySelector(".prev");const t=e.querySelector(".next");if(i){i.disabled=this.internalPage===1;i.classList.toggle(this.CLASS_DISABLED,this.internalPage===1)}if(t){t.disabled=this.internalPage===this.numberOfPages.length;t.classList.toggle(this.CLASS_DISABLED,this.internalPage===this.numberOfPages.length)}};e.querySelectorAll("li").forEach((e=>{e.removeEventListener("click",this.handlePageClick);e.addEventListener("click",this.handlePageClick)}));i()}changePage(e){e=Math.max(1,Math.min(e,this.numberOfPages.length));if(e===this.internalPage)return;this.internalPage=e;this.handleEventEmission();this.initPagination()}render(){return t("div",{key:"9a4b41bb714202dcc144f626b9a2096480852ad6",class:"container"},this.showItemsPerPage&&t("div",{key:"9e829381e98967180e89bf8f8988c67bbb998814",class:"items__per-page-wrapper"},t("div",{key:"be5d328337c18096cd1363f3c7c0c060693fe525",class:"items__per-page-label"},"Results per Page"),t("div",{key:"37f663194a695059779305e0723321c26f55d191",class:"items__per-page-field"},t("ifx-select",{key:"916cc188fd2f7d86243db5955f091e188defbacc",id:"itemsPerPageSelect",placeholder:"false","show-search":"false",value:undefined,disabled:false,error:false,size:"s",options:this.filteredItemsPerPage,"placeholder-value":"Select"}))),t("div",{key:"f6531ac8c0710f53ff375e8ee4fa19bb47be5cef",class:"items__total-wrapper"},t("div",{key:"4edaf3f1bc17c3423c2b39473a0f5ddc959278d6",class:"pagination"},t("ifx-icon-button",{key:"7341fced786739f5970cfc9940381b2b2901de63",class:"prev",icon:"arrow-left-16","aria-label":"Previous Page",onClick:()=>this.changePage(this.internalPage-1),variant:"secondary"}),t("ol",{key:"b7af29f3b08ee99b3c880c7af51b4d491630e55c"},this.visiblePages.map(((e,i)=>typeof e==="number"?t("li",{key:`page-${e}`,class:{[this.CLASS_ACTIVE]:e===this.internalPage},"data-page":e},t("span",{class:"page__button",role:"button",tabindex:"0","aria-current":e===this.internalPage?"page":undefined,"aria-label":`Page ${e}`,onClick:()=>this.changePage(e),onKeyDown:i=>(i.key==="Enter"||i.key===" ")&&this.changePage(e)},e)):t("li",{class:"ellipsis",key:`ellipsis-${i}`},t("span",{"aria-hidden":"true"},"..."))))),t("ifx-icon-button",{key:"5bdcefa2773fb49f8d7c4190a48fe5a98f6e0442",class:"next",icon:"arrow-right-16","aria-label":"Next Page",onClick:()=>this.changePage(this.internalPage+1),variant:"secondary"}))))}get el(){return a(this)}static get watchers(){return{total:["watchTotalHandler"],currentPage:["currentPageWatcher"]}}};d.style=h;export{o as ifx_chip,c as ifx_chip_item,d as ifx_pagination};
2
- //# sourceMappingURL=p-4da5a2a5.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["chipCss","Chip","constructor","hostRef","this","placeholder","size","value","undefined","variant","theme","readOnly","disabled","icon","opened","selectedOptions","handleValueChange","newValue","syncSelectedOptionsWithProp","handleReadOnlyChange","closeDropdownOnOutsideClick","event","path","composedPath","chipWrapper","chip","shadowRoot","querySelector","chipDropdown","includes","toggleDropdownMenu","handleKeyDown","code","preventDefault","target","tagName","handleWrapperKeyDown","handleDropdownKeyDown","updateSelectedOptions","eventDetail","detail","previousSelection","selected","chipItems","getChipItems","forEach","chipItem","chipState","Object","assign","emitIfxChipItemSelect","find","option","filter","map","emitIfxChange","ifxChange","emit","currentSelection","name","querySelectorAll","getSelectedOptions","label","join","slice","focusChipItemAt","index","item","length","console","error","shadowItem","setTimeout","focus","focusChip","handleUnselectButtonClick","stopPropagation","itemGotUnselected","handleWrapperClick","chipitems","targetIndex","Array","from","indexOf","syncChipState","key","generateKey","count","isArray","componentWillLoad","componentDidLoad","isNestedInIfxComponent","framework","detectFramework","trackComponent","render","h","class","tabIndex","onClick","role","ariaLabel","toString","inverted","number","e","id","chipItemCss","ChipItem","updateItemSelection","parentElement","validateSelected","oldValue","emitIfxChipItemSelectEvent","getItemLabel","innerText","toggleItemSelection","ifxChipItemSelect","handleItemClick","handleItemKeyDown","handleSelectedState","onKeyDown","checked","paginationCss","Pagination","currentPage","showItemsPerPage","internalPage","internalItemsPerPage","numberOfPages","total","filteredItemsPerPage","visiblePages","CLASS_DISABLED","CLASS_ACTIVE","handlePageClick","li","currentTarget","page","parseInt","dataset","isNaN","changePage","handleResize","clearTimeout","resizeTimeout","updateVisiblePages","watchTotalHandler","calculateNumberOfPages","currentPageWatcher","newVal","Math","max","min","setItemsPerPage","selectedValue","_a","_b","newItemsPerPage","handleEventEmission","emitItemsPerPage","ifxItemsPerPageChange","select","el","addEventListener","window","initPagination","disconnectedCallback","removeEventListener","isMobile","innerWidth","totalPages","current","pages","push","buffer","start","end","i","ceil","_","filterOptionsArray","items","itemsPerPage","JSON","parse","selectedOption","Number","componentWillUpdate","prevInternalPage","componentDidUpdate","ifxPageChange","pagination","updateButtons","prev","next","classList","toggle","newPage","options","tabindex"],"sources":["src/components/chip/chip.scss?tag=ifx-chip&encapsulation=shadow","src/components/chip/chip.tsx","src/components/chip/chip-item/chip-item.scss?tag=ifx-chip-item&encapsulation=shadow","src/components/chip/chip-item/chip-item.tsx","src/components/pagination/pagination.scss?tag=ifx-pagination&encapsulation=shadow","src/components/pagination/pagination.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-block;\n}\n\n.chip {\n position: relative;\n}\n\n.chip__wrapper {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: tokens.$ifxSpace100;\n box-sizing: border-box;\n border-radius: tokens.$ifxBorderRadiusRound;\n background: tokens.$ifxColorBaseWhite;\n cursor: pointer; \n transition: border 100ms ease;\n font: tokens.$ifxBodyBody04;\n\n & .icon__wrapper { \n display: flex;\n }\n\n &.outlined, &.filled-dark, &.filled-light { \n outline: 2px solid transparent;\n &:focus-visible {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n }\n \n &.chip__wrapper--opened {\n .wrapper__open-button {\n transform: rotate(-180deg);\n }\n }\n\n &.chip__wrapper--selected {\n .wrapper__label {\n .label__selected-options {\n font: tokens.$ifxBodyBody04;\n }\n }\n }\n }\n\n &.filled-dark, &.filled-light { \n &.chip__wrapper--selected:not(.read-only) {\n background-color: tokens.$ifxColorOcean500;\n color: white;\n &:hover { \n background-color: tokens.$ifxColorOcean600;\n }\n\n &:hover.disabled { \n background-color: tokens.$ifxColorOcean500;\n }\n }\n }\n \n &.outlined { \n border: 1px solid tokens.$ifxColorEngineering400;\n &:hover:not(.read-only) {\n border-color: tokens.$ifxColorEngineering500;\n background-color: tokens.$ifxColorEngineering100;\n }\n\n &:active:not(.read-only) { \n border-color: tokens.$ifxColorEngineering500;\n background-color: tokens.$ifxColorEngineering300;\n }\n\n &.chip__wrapper--opened {\n border: 1px solid tokens.$ifxColorOcean500;\n }\n\n &.chip__wrapper--selected {\n outline: 3px solid tokens.$ifxColorOcean500;\n border: 1px solid transparent;\n background-color: white;\n\n &:focus-visible {\n outline-offset: 0px;\n }\n &:hover:not(.read-only) { \n outline-color: tokens.$ifxColorOcean600;\n }\n\n &.read-only { \n outline: none;\n border: 1px solid black;\n }\n }\n\n &.disabled { \n outline: none;\n color: tokens.$ifxColorEngineering300;\n border: 1px solid tokens.$ifxColorEngineering300;\n &:hover { \n outline: none;\n border-color: tokens.$ifxColorEngineering300;\n background-color: white;\n }\n }\n\n &.read-only { \n border: 1px solid black;\n &:focus-visible { \n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n }\n }\n }\n\n &.filled-dark { \n background-color: tokens.$ifxColorEngineering600;\n color: white;\n\n &:hover:not(.chip__wrapper--selected, .disabled, .read-only) { \n background-color: tokens.$ifxColorEngineering500;\n }\n\n &:active:not(.chip__wrapper--selected, .disabled, .read-only) { \n background-color: tokens.$ifxColorEngineering400;\n color: black;\n }\n\n &.disabled { \n outline: none;\n color: tokens.$ifxColorEngineering300;\n &:hover:not(.chip__wrapper--selected) { \n background-color: tokens.$ifxColorEngineering600;\n }\n }\n\n &.chip__wrapper--selected { \n &.read-only { \n border: 1px solid tokens.$ifxColorEngineering400;\n }\n }\n\n &.read-only { \n border: 1px solid tokens.$ifxColorEngineering400;\n }\n }\n\n &.filled-light { \n background-color: tokens.$ifxColorEngineering200;\n\n &:hover:not(.read-only) { \n background-color: tokens.$ifxColorEngineering300;\n }\n\n &:active:not(.read-only) { \n background-color: tokens.$ifxColorEngineering400;\n }\n\n &.disabled { \n outline: none;\n color: tokens.$ifxColorEngineering300;\n &:hover:not(.chip__wrapper--selected) { \n background-color: tokens.$ifxColorEngineering200;\n }\n }\n\n &.chip__wrapper--selected { \n &.read-only { \n border: 1px solid black;\n }\n }\n\n &.read-only { \n border: 1px solid black;\n }\n }\n \n &.chip__wrapper--small {\n padding: tokens.$ifxSpace50 tokens.$ifxSpace100;\n height: tokens.$ifxSize300;\n }\n\n &.chip__wrapper--medium {\n padding: tokens.$ifxSpace50 tokens.$ifxSpace150;\n height: tokens.$ifxSize350;\n }\n \n &.chip__wrapper--large {\n padding: tokens.$ifxSpace100 tokens.$ifxSpace150;\n height: tokens.$ifxSize450;\n }\n}\n\n.wrapper__label {\n display: inline-flex;\n align-items: center;\n gap: tokens.$ifxSpace50;\n\n .label__selected-options {\n font: tokens.$ifxBodyBodySemibold04;\n }\n}\n\n.wrapper__open-button {\n display:flex;\n align-items: center;\n}\n\n.wrapper__unselect-button {\n display:flex;\n align-items: center;\n}\n\n.chip__dropdown {\n position: absolute;\n z-index: 1;\n box-shadow: 0px 6px 9px 0px #1D1D1D1A;\n border: 1px solid tokens.$ifxColorEngineering200;\n border-radius: tokens.$ifxBorderRadius12;\n padding: tokens.$ifxSpace100 0;\n min-width: 222px;\n background-color: tokens.$ifxColorBaseWhite;\n}\n","import { h, Component, Element, Event, EventEmitter, Listen, Prop, State, Watch } from '@stencil/core';\nimport { ChipItemSelectEvent } from './interfaces';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-chip',\n styleUrl: 'chip.scss',\n shadow: true\n})\nexport class Chip {\n @Element() chip: HTMLIfxChipElement;\n\n @Event() ifxChange: EventEmitter<{ previousSelection: Array<ChipItemSelectEvent>, currentSelection: Array<ChipItemSelectEvent>, name: string }>;\n @Prop() placeholder: string = '';\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n @Prop({ mutable: true }) value: Array<string> | string = undefined;\n @Prop() variant: 'single' | 'multi' = 'single';\n @Prop() theme: 'outlined' | 'filled-light' | 'filled-dark' = 'outlined';\n @Prop() readOnly: boolean = false;\n @Prop() ariaLabel: string | null;\n @Prop() disabled: boolean = false;\n @Prop() icon: string = \"\";\n\n @State() opened: boolean = false;\n @State() selectedOptions: Array<ChipItemSelectEvent> = [];\n\n @Watch('value')\n handleValueChange(newValue: Array<string> | string) {\n this.syncSelectedOptionsWithProp(newValue);\n }\n\n @Watch('readOnly')\n handleReadOnlyChange(newValue: boolean) {\n if (newValue) {\n this.opened = false;\n }\n }\n\n @Listen('mousedown', { target: 'document' })\n closeDropdownOnOutsideClick(event: MouseEvent) {\n const path = event.composedPath();\n const chipWrapper: HTMLElement = this.chip.shadowRoot.querySelector('.chip__wrapper');\n const chipDropdown: HTMLElement = this.chip.shadowRoot.querySelector('.chip__dropdown');\n if (!path.includes(chipDropdown) && !path.includes(chipWrapper) && this.opened) {\n this.toggleDropdownMenu();\n }\n }\n\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n // override behavior of all keys except Tab. Users should be able to tab out of the component.\n if (event.code !== 'Tab') {\n event.preventDefault(); \n }\n\n if ((event.target as HTMLElement).tagName === 'IFX-CHIP') {\n this.handleWrapperKeyDown(event);\n } else if ((event.target as HTMLElement).tagName === 'IFX-CHIP-ITEM') {\n this.handleDropdownKeyDown(event);\n }\n }\n\n @Listen('ifxChipItemSelect')\n updateSelectedOptions(event: CustomEvent<ChipItemSelectEvent>) {\n const eventDetail: ChipItemSelectEvent = event.detail;\n const previousSelection: Array<ChipItemSelectEvent> = [...this.selectedOptions];\n\n if (this.variant !== 'multi') {\n if (eventDetail.selected) {\n this.opened = false;\n const chipItems: NodeList = this.getChipItems();\n chipItems.forEach((chipItem: HTMLIfxChipItemElement) => {\n if (chipItem.selected && chipItem !== event.target) {\n chipItem.chipState = {\n ...chipItem.chipState,\n emitIfxChipItemSelect: false,\n };\n chipItem.selected = false;\n }\n });\n this.selectedOptions = [eventDetail];\n } else {\n this.selectedOptions = [];\n }\n this.value = this.selectedOptions[0] ? this.selectedOptions[0].value : undefined;\n } else {\n if (eventDetail.selected) {\n // Prevent duplicate entries\n if (!this.selectedOptions.find(option => option.value === eventDetail.value)) {\n this.selectedOptions = [...this.selectedOptions, eventDetail];\n }\n } else {\n this.selectedOptions = this.selectedOptions.filter((option) => option.value !== eventDetail.value);\n }\n this.value = this.selectedOptions.map((option) => option.value);\n }\n\n if (eventDetail.emitIfxChange) {\n this.ifxChange.emit({\n previousSelection: previousSelection,\n currentSelection: this.selectedOptions,\n name: this.placeholder\n });\n }\n }\n\n getChipItems(): NodeList {\n return this.chip.querySelectorAll('ifx-chip-item');\n }\n\n getSelectedOptions(): string {\n if (this.variant !== 'multi') {\n return this.selectedOptions.map(option => option.label).join('');\n }\n return this.selectedOptions.slice(0, 2).map(option => option.label).join(', ');\n }\n\n toggleDropdownMenu() {\n if (this.readOnly) return;\n this.opened = !this.opened;\n }\n\n /**\n * Focuses the chip item at the specified index.\n * @param index the index of the chip item to focus. -1 will focus the last chip item.\n */\n focusChipItemAt(index: number = 0) {\n this.opened = true;\n const chipItems: NodeList = this.getChipItems();\n let item: HTMLIfxChipItemElement;\n \n if (index === -1) {\n item = chipItems.item(chipItems.length - 1) as HTMLIfxChipItemElement;\n } else if (index >= 0 && index < chipItems.length) {\n item = chipItems.item(index) as HTMLIfxChipItemElement;\n } else {\n console.error(`Invalid index: ${index}`);\n return;\n }\n\n const shadowItem = item.shadowRoot.querySelector('.chip-item') as HTMLDivElement;\n if (shadowItem) {\n // Delay needed for the shadow item to be rendered.\n setTimeout(() => {\n shadowItem.focus();\n }, 1);\n }\n }\n\n focusChip() {\n const chipWrapper: HTMLElement = this.chip.shadowRoot.querySelector('.chip__wrapper');\n chipWrapper.focus();\n }\n\n handleUnselectButtonClick(event: MouseEvent) {\n event.stopPropagation();\n this.opened = false;\n\n let itemGotUnselected = false;\n const chipItems: NodeList = this.getChipItems();\n chipItems.forEach((chipItem: HTMLIfxChipItemElement) => {\n if (chipItem.selected) {\n itemGotUnselected = true;\n chipItem.chipState = {\n ...chipItem.chipState,\n emitIfxChipItemSelect: false,\n }\n chipItem.selected = false;\n }\n });\n\n /* Emit event only if at least one item was unselected. */\n if (itemGotUnselected) {\n const previousSelection: Array<ChipItemSelectEvent> = this.selectedOptions;\n this.selectedOptions = [];\n this.value = [];\n this.ifxChange.emit({\n previousSelection: previousSelection,\n currentSelection: [],\n name: this.placeholder\n });\n }\n }\n\n handleWrapperClick() {\n if (!this.readOnly) {\n this.toggleDropdownMenu();\n }\n }\n\n handleWrapperKeyDown(event: KeyboardEvent) {\n // Keymap oriented at https://www.w3.org/WAI/ARIA/apg/patterns/combobox/#keyboard_interaction\n if (this.readOnly) return;\n\n if (!this.opened) {\n switch (event.code) {\n case 'Space':\n case 'Enter':\n case 'ArrowDown':\n this.focusChipItemAt(0);\n break;\n case 'ArrowUp':\n this.focusChipItemAt(-1);\n break;\n }\n } else {\n switch (event.code) {\n case 'Escape':\n this.opened = false;\n this.focusChip();\n break;\n }\n }\n }\n\n handleDropdownKeyDown(event: KeyboardEvent) {\n let chipitems = this.getChipItems();\n\n let targetIndex = Array.from(chipitems).indexOf(event.target as HTMLIfxChipItemElement);\n if (targetIndex === -1) {\n console.error('Target not found in chip items');\n return;\n }\n\n switch (event.code) {\n case 'ArrowDown':\n if (targetIndex === chipitems.length - 1) break;\n this.focusChipItemAt(targetIndex + 1);\n break;\n case 'ArrowUp':\n if (targetIndex === 0) break;\n this.focusChipItemAt( targetIndex - 1);\n break;\n case 'Escape':\n this.opened = false;\n this.focusChip();\n break;\n case 'Space':\n // selection is handled by the chip-item component\n if (this.variant === 'single') {\n // only close dropdown if single select\n this.opened = false;\n this.focusChip();\n }\n break;\n case 'Enter':\n // selection is handled by the chip-item component\n this.opened = false;\n this.focusChip();\n break;\n }\n }\n\n syncChipState() {\n const chipItems: NodeList = this.getChipItems();\n let key: number = 0;\n chipItems.forEach((chipItem: HTMLIfxChipItemElement) => {\n chipItem.chipState = {\n emitIfxChipItemSelect: true,\n size: this.size ? this.size : 'medium',\n variant: (this.variant === 'multi' ? 'multi' : 'single'),\n key: key++\n };\n });\n }\n\n syncSelectedOptionsWithProp(newValue: Array<string> | string) {\n // Clear old selected options\n this.selectedOptions = [];\n\n const generateKey = (() => {\n let count = 0;\n return () => count++;\n })();\n\n if (Array.isArray(newValue)) {\n this.selectedOptions = newValue.map(value => ({\n value,\n label: value,\n selected: true,\n key: generateKey(),\n emitIfxChange: true\n }));\n } else if (typeof newValue === 'string') {\n this.selectedOptions = [{\n value: newValue,\n label: newValue,\n selected: true,\n key: generateKey(),\n emitIfxChange: true\n }];\n }\n\n this.syncChipState();\n }\n\n componentWillLoad() {\n this.syncSelectedOptionsWithProp(this.value);\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.chip)) { \n const framework = detectFramework();\n trackComponent('ifx-chip', await framework)\n }\n }\n\n render() {\n return (\n <div class='chip'>\n <div class={`chip__wrapper chip__wrapper--${this.size ? this.size : 'medium'}\n chip__wrapper--${this.variant === 'multi' ? 'multi' : 'single'}\n ${this.opened && !this.readOnly ? 'chip__wrapper--opened' : ''}\n ${this.selectedOptions.length ? 'chip__wrapper--selected' : ''}\n ${this.theme ? this.theme : 'outlined'}\n ${this.disabled ? 'disabled' : \"\"}\n ${this.readOnly ? 'read-only' : \"\"}`}\n tabIndex={0}\n onClick={!this.readOnly && !this.disabled ? () => { this.handleWrapperClick() } : undefined}\n role='combobox'\n aria-label={this.ariaLabel}\n aria-value={this.getSelectedOptions()}\n aria-haspopup={!this.readOnly ? 'listbox' : undefined}\n aria-expanded={!this.readOnly ? this.opened.toString() : undefined}\n aria-controls={!this.readOnly ? 'dropdown' : undefined}\n aria-readonly={this.readOnly ? 'true' : undefined}\n aria-multiselectable={this.variant === 'multi' ? 'true' : undefined}\n >\n \n {this.icon && \n <div class=\"icon__wrapper\">\n <ifx-icon icon={this.icon}></ifx-icon>\n </div>}\n\n <div class='wrapper__label'>\n {\n (this.selectedOptions.length === 0) && `${this.placeholder}`\n }\n\n {\n (this.selectedOptions.length !== 0 && (this.variant === 'multi') && this.placeholder !== '') &&\n `${this.placeholder}:`\n }\n\n {\n (this.selectedOptions.length !== 0) &&\n <div class='label__selected-options'>\n {this.getSelectedOptions()}\n </div>\n }\n\n {\n (this.selectedOptions.length > 2 && this.variant === 'multi') &&\n <ifx-indicator variant='number' inverted={this.theme === 'outlined' ? false : true} number={this.selectedOptions.length - 2}></ifx-indicator>\n }\n </div>\n\n {\n !this.readOnly && (this.variant !== 'multi' || (this.variant === 'multi' && this.selectedOptions.length === 0)) &&\n <div class='wrapper__open-button'>\n <ifx-icon key={1} icon={`chevron-down-16`} />\n </div>\n }\n\n {\n ((this.selectedOptions.length >= 1) && this.variant === 'multi') &&\n <div class='wrapper__unselect-button' onClick={!this.readOnly && !this.disabled ? (e) => { this.handleUnselectButtonClick(e) } : undefined}>\n <ifx-icon key={2} icon={`cross16`} />\n </div>\n }\n\n </div>\n\n {\n this.opened && !this.readOnly &&\n <div id='dropdown' role='listbox' class='chip__dropdown'>\n <slot />\n </div>\n }\n </div>\n );\n }\n}\n","@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../../global/font.scss\";\n\n.chip-item {\n display: flex;\n align-items: center;\n gap: tokens.$ifxSpace100;\n \n padding: tokens.$ifxSpace100 tokens.$ifxSpace200;\n \n user-select: none;\n \n transition: all 100ms ease;\n transition-property: background, color;\n \n &:hover {\n cursor: pointer;\n \n background-color: tokens.$ifxColorEngineering200;\n }\n \n &:active {\n background-color: tokens.$ifxColorEngineering300;\n }\n\n &:focus {\n outline: 2px solid tokens.$ifxColorOcean500;\n }\n \n &.chip-item--large {\n font: tokens.$ifxBodyBody03;\n }\n \n &.chip-item--small {\n font: tokens.$ifxBodyBody04;\n }\n\n &.chip-item--selected {\n color: tokens.$ifxColorOcean500;\n\n .chip-item__selected-indicator {\n display: block;\n }\n }\n}\n\n.chip-item__selected-indicator {\n display: none;\n \n margin-left: auto;\n}\n\n","import { h,\n Component,\n Element,\n Event,\n EventEmitter, \n Listen,\n Prop, \n Watch } from '@stencil/core';\nimport { ChipItemSelectEvent, ChipState } from '../interfaces';\n\n@Component({\ntag: 'ifx-chip-item',\nstyleUrl: 'chip-item.scss',\nshadow: true\n})\n\nexport class ChipItem {\n@Element() chipItem: HTMLIfxChipItemElement;\n\n@Event({ composed: false }) ifxChipItemSelect: EventEmitter<ChipItemSelectEvent>;\n\n@Prop() value: string = undefined;\n@Prop() chipState: ChipState = { emitIfxChipItemSelect: true, variant: 'multi', size: 'large' }; \n@Prop({ mutable: true, reflect: true }) selected: boolean = false;\n\n@Listen('ifxChipItemSelect', { target: 'body' })\nupdateItemSelection(event: CustomEvent<ChipItemSelectEvent>) {\n if (this.chipState.variant === 'single') {\n const target = event.target as HTMLIfxChipItemElement;\n /* Also making sure chip items are from the same group (parent) while unselecting. */\n if (this.chipItem !== target && this.chipItem.parentElement === target.parentElement) {\n this.selected = false;\n }\n }\n} \n\n@Watch('selected')\nvalidateSelected(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue) {\n /* Do not emit if ChipState does not allow. */\n if (this.chipState.emitIfxChipItemSelect){\n this.emitIfxChipItemSelectEvent();\n } else {\n this.chipState.emitIfxChipItemSelect = true;\n }\n }\n} \n\ngetItemLabel(): string {\n return this.chipItem.innerText as string;\n}\n\ntoggleItemSelection() {\n this.selected = !this.selected;\n}\n \n\nemitIfxChipItemSelectEvent(emitIfxChange: boolean = true) {\n this.ifxChipItemSelect.emit({ emitIfxChange: emitIfxChange,\n key: this.chipState.key,\n label: this.getItemLabel(), \n selected: this.selected, \n value: this.value });\n}\n\nhandleItemClick() {\n this.toggleItemSelection();\n}\n\nhandleItemKeyDown(event: KeyboardEvent) {\n if (event.code === 'Enter' || event.code === 'Space') {\n this.toggleItemSelection();\n }\n}\n\nhandleSelectedState() {\n if (this.selected) {\n this.emitIfxChipItemSelectEvent(false);\n }\n}\n\n\ncomponentWillLoad() {\n /* Propogating the selected state to the Chip (Parent) component if it is set. */\n this.handleSelectedState();\n}\n\nrender() {\n return (\n <div class={`chip-item chip-item--${this.chipState.size} \n chip-item--${(this.selected && this.chipState.variant) === 'single' ? 'selected' : ''}`} \n tabIndex={0}\n onClick={() => {this.handleItemClick()}}\n onKeyDown={(e) => {this.handleItemKeyDown(e)}}\n role=\"option\"\n aria-selected={this.selected.toString()}> \n {/* Checkbox; renders only in 'multi' variant. */}\n { \n this.chipState.variant === 'multi' &&\n <ifx-checkbox checked={this.selected}\n tabIndex={-1} \n size='s'>\n </ifx-checkbox>\n }\n\n <div class='chip-item__label'> <slot /> </div>\n\n {/* Selected indicator only visible in 'single' variant. */}\n <div class='chip-item__selected-indicator'> \n <ifx-icon icon='check-16'> </ifx-icon> \n </div>\n\n </div>\n );\n}\n}","@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n}\n\n.container {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n gap: 32px;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n flex-wrap: wrap;\n\n & .items__per-page-wrapper {\n display: flex;\n align-items: center;\n gap: 16px;\n\n & .items__per-page-label {\n color: #1D1D1D;\n font-size: 14px;\n font-style: normal;\n font-weight: 600;\n line-height: 20px;\n }\n\n & .items__per-page-field {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n\n & ifx-select {\n width: 92px;\n }\n }\n }\n\n & .items__total-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 12px;\n\n & .items__total-button {\n display: flex;\n width: 40px;\n height: 40px;\n justify-content: center;\n align-items: center;\n border-radius: 100px;\n border: 1px solid #BFBBBB;\n background: #FFF;\n }\n\n & .page__numbers-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 12px;\n\n & .page__number-item {\n display: flex;\n padding: 6px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 100px;\n\n &.active {\n background-color: #0A8276;\n\n & span {\n color: #fff;\n }\n }\n\n &:hover {\n cursor: pointer;\n }\n\n &:hover:not(.active) {\n background-color: #ddd;\n\n }\n\n &:active:not(.active) {\n background-color: #575352;\n }\n\n & span {\n display: flex;\n width: 16px;\n height: 16px;\n flex-direction: column;\n justify-content: center;\n color: #1D1D1D;\n text-align: center;\n font-size: 13px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n }\n }\n }\n }\n}\n\n\n.pagination {\n display: flex;\n\n & ifx-icon-button:first-of-type {\n margin-right: 12px;\n }\n\n & ifx-icon-button:last-of-type {\n margin-left: 12px;\n }\n}\n\n.page__button {\n padding: 8px;\n border-radius: 100px;\n}\n\nol {\n list-style-type: none;\n padding: 0;\n margin: 0;\n display: inline-flex;\n align-items: center;\n gap: 12px;\n}\n\nli {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n border-radius: 100px;\n\n &:hover:not(.active) {\n & page__button {\n background-color: #EEEDED;\n }\n }\n\n &:active:not(.active) {\n & .page__button {\n background-color: #575352;\n color: #fff;\n }\n }\n\n &.active {\n background-color: #0A8276;\n\n & .page__button {\n color: #fff;\n }\n }\n\n &:hover {\n cursor: pointer;\n }\n\n & .page__button {\n text-decoration: none;\n display: flex;\n width: 16px;\n height: 16px;\n flex-direction: column;\n justify-content: center;\n color: #1D1D1D;\n text-align: center;\n font-size: 13px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n align-items: center;\n }\n}\n\n.prev,\n.next {\n &.disabled {\n cursor: default;\n\n &:hover {\n cursor: default;\n text-decoration: none;\n }\n }\n}\n\n.prev {\n margin-right: 2.5px;\n}\n\n.next {\n margin-left: 2.5px;\n}\n\n@media (max-width: tokens.$ifxBreakpointM) {\n .container {\n gap: tokens.$ifxSpace200;\n justify-content: left;\n\n .items__total-wrapper {\n .pagination {\n ol {\n gap: tokens.$ifxSpace150;\n }\n }\n }\n }\n}\n\n@media (max-width: 374px) {\n .pagination {\n .ellipsis + .active {\n margin-left: tokens.$ifxSpace100;\n }\n\n .active + .ellipsis {\n margin-left: tokens.$ifxSpace100;\n }\n }\n}\n","import { Component, h, Element, Event, EventEmitter, Prop, State, Listen, Watch } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-pagination',\n styleUrl: 'pagination.scss',\n shadow: true\n})\nexport class Pagination {\n @Element() el: HTMLElement;\n @Event() ifxPageChange: EventEmitter;\n @Event() ifxItemsPerPageChange: EventEmitter;\n @Prop() currentPage: number = 1;\n @Prop() showItemsPerPage: boolean = true;\n @State() internalPage: number = 1;\n @State() internalItemsPerPage: number = 10;\n @State() numberOfPages: number[] = [];\n @Prop() total: number = 1;\n @Prop() itemsPerPage: any[] | string;\n @State() filteredItemsPerPage: any[] = [];\n @State() visiblePages: (number | string)[] = [];\n\n private CLASS_DISABLED = \"disabled\";\n private CLASS_ACTIVE = \"active\";\n private prevInternalPage: number;\n\n @Watch('total')\n watchTotalHandler() {\n this.calculateNumberOfPages();\n this.updateVisiblePages();\n }\n\n @Watch('currentPage')\n currentPageWatcher(newVal: number) {\n this.internalPage = Math.max(1, Math.min(newVal, this.numberOfPages.length));\n this.calculateNumberOfPages();\n this.updateVisiblePages();\n }\n\n @Listen('ifxSelect')\n setItemsPerPage(e: CustomEvent) {\n const selectedValue = e.detail?.value || e.detail?.label;\n const newItemsPerPage = parseInt(selectedValue) || 10;\n\n if (newItemsPerPage === this.internalItemsPerPage) {\n return;\n }\n\n this.internalItemsPerPage = newItemsPerPage;\n this.internalPage = 1;\n this.calculateNumberOfPages();\n this.updateVisiblePages();\n this.handleEventEmission();\n }\n\n emitItemsPerPage(e) {\n this.ifxItemsPerPageChange.emit((e as any).detail.label)\n }\n\n async componentDidLoad() {\n if (this.showItemsPerPage) {\n const select = this.el.shadowRoot.querySelector('#itemsPerPageSelect');\n if(select) {\n select.addEventListener('ifxSelect', (e) => this.emitItemsPerPage(e))\n }\n }\n\n // Add resize listener to update pagination on screen size changes\n window.addEventListener('resize', this.handleResize);\n\n if(!isNestedInIfxComponent(this.el)) {\n const framework = detectFramework();\n trackComponent('ifx-pagination', await framework)\n }\n this.initPagination();\n }\n\n disconnectedCallback() {\n if (this.showItemsPerPage) {\n const select = this.el.shadowRoot.querySelector('#itemsPerPageSelect');\n if (select) {\n select.removeEventListener('ifxSelect', (e) => this.emitItemsPerPage(e));\n }\n }\n\n // Remove resize listener\n window.removeEventListener('resize', this.handleResize);\n\n // Clear any pending resize timeout\n if (this.resizeTimeout) {\n clearTimeout(this.resizeTimeout);\n }\n }\n\n updateVisiblePages() {\n // Check if screen is mobile (< 375px)\n const isMobile = window.innerWidth < 375;\n const totalPages = this.numberOfPages.length;\n const current = this.internalPage;\n let pages: (number | string)[] = [];\n\n if (isMobile) {\n // Mobile logic: maximum 5 elements\n if (totalPages <= 5) {\n pages = [...this.numberOfPages];\n } else {\n // Always show first page\n pages.push(1);\n\n if (current <= 2) {\n // Show: 1 2 3 … 10 (for pages 1 and 2)\n pages.push(2, 3, '...', totalPages);\n } else if (current >= totalPages - 1) {\n // Show: 1 … 23 24 25 (for last 2 pages only)\n pages.push('...', totalPages - 2, totalPages - 1, totalPages);\n } else {\n // Show: 1 … 5 … 10 (for middle pages, including page 3 and third-to-last page)\n pages.push('...', current, '...', totalPages);\n }\n }\n } else {\n // Desktop logic: maximum 7 elements\n const buffer = 2;\n\n if (totalPages <= 7) {\n pages = [...this.numberOfPages];\n } else {\n // Always show first page\n pages.push(1);\n\n // Determine the range around current page\n let start = Math.max(2, current - buffer);\n let end = Math.min(totalPages - 1, current + buffer);\n\n // Adjust range to ensure we show enough pages\n // If we're close to the beginning, extend the end\n if (current <= 4) {\n start = 2;\n end = Math.min(totalPages - 1, 5);\n }\n // If we're close to the end, extend the start\n else if (current >= totalPages - 3) {\n start = Math.max(2, totalPages - 4);\n end = totalPages - 1;\n }\n // For middle pages, show current +/- 1\n else {\n start = current - 1;\n end = current + 1;\n }\n\n // Add ellipsis before the range if there's a gap\n if (start > 2) {\n pages.push('...');\n }\n\n // Add the range of pages\n for (let i = start; i <= end; i++) {\n pages.push(i);\n }\n\n // Add ellipsis after the range if there's a gap\n if (end < totalPages - 1) {\n pages.push('...');\n }\n\n // Always show last page\n pages.push(totalPages);\n }\n }\n\n this.visiblePages = pages;\n }\n\n calculateNumberOfPages() {\n const totalPages = Math.ceil(this.total / this.internalItemsPerPage);\n this.numberOfPages = Array.from({ length: totalPages }, (_, i) => i + 1);\n this.internalPage = Math.max(1, Math.min(this.currentPage, totalPages));\n }\n\n filterOptionsArray() {\n const items = typeof this.itemsPerPage === 'string' ?\n JSON.parse(this.itemsPerPage) : this.itemsPerPage;\n this.filteredItemsPerPage = items.map(item => ({\n ...item,\n label: item.label || item.value\n }));\n }\n\n componentWillLoad() {\n this.filterOptionsArray();\n\n const selectedOption = this.filteredItemsPerPage.find(option => option.selected);\n if (selectedOption) {\n this.internalItemsPerPage = Number(selectedOption.value);\n } else if (this.filteredItemsPerPage.length > 0) {\n this.internalItemsPerPage = Number(this.filteredItemsPerPage[0].value);\n }\n\n this.calculateNumberOfPages();\n this.internalPage = Math.max(1, Math.min(this.currentPage, this.numberOfPages.length));\n this.updateVisiblePages();\n }\n\n componentWillUpdate() {\n if (this.prevInternalPage !== this.internalPage) {\n this.updateVisiblePages();\n this.prevInternalPage = this.internalPage;\n }\n }\n\n componentDidUpdate() {\n this.initPagination();\n }\n\n handleEventEmission() {\n this.ifxPageChange.emit({\n currentPage: this.internalPage,\n totalPages: this.numberOfPages.length,\n itemsPerPage: this.internalItemsPerPage\n });\n }\n\n initPagination() {\n const pagination = this.el.shadowRoot.querySelector('.pagination');\n if (!pagination) return;\n\n const updateButtons = () => {\n const prev = pagination.querySelector<HTMLButtonElement>('.prev');\n const next = pagination.querySelector<HTMLButtonElement>('.next');\n if (prev) {\n prev.disabled = this.internalPage === 1;\n prev.classList.toggle(this.CLASS_DISABLED, this.internalPage === 1);\n }\n if (next) {\n next.disabled = this.internalPage === this.numberOfPages.length;\n next.classList.toggle(this.CLASS_DISABLED, this.internalPage === this.numberOfPages.length);\n }\n };\n\n pagination.querySelectorAll('li').forEach(li => {\n li.removeEventListener('click', this.handlePageClick);\n li.addEventListener('click', this.handlePageClick);\n });\n\n updateButtons();\n }\n\n private handlePageClick = (e: Event) => {\n const li = e.currentTarget as HTMLLIElement;\n const page = parseInt(li.dataset.page);\n if (!isNaN(page)) this.changePage(page);\n };\n\n private handleResize = () => {\n // Debounce resize events to prevent excessive calls\n clearTimeout(this.resizeTimeout);\n this.resizeTimeout = setTimeout(() => {\n this.updateVisiblePages();\n }, 100);\n };\n\n private resizeTimeout: any;\n\n changePage(newPage: number) {\n newPage = Math.max(1, Math.min(newPage, this.numberOfPages.length));\n if (newPage === this.internalPage) return;\n\n this.internalPage = newPage;\n this.handleEventEmission();\n this.initPagination();\n }\n\n render() {\n return (\n <div class=\"container\">\n {this.showItemsPerPage && (\n <div class=\"items__per-page-wrapper\">\n <div class=\"items__per-page-label\">Results per Page</div>\n <div class=\"items__per-page-field\">\n <ifx-select\n id='itemsPerPageSelect'\n placeholder='false'\n show-search='false'\n value={undefined}\n disabled={false}\n error={false}\n size=\"s\"\n options={this.filteredItemsPerPage}\n placeholder-value=\"Select\"\n ></ifx-select>\n </div>\n </div>\n )}\n\n <div class=\"items__total-wrapper\">\n <div class=\"pagination\">\n <ifx-icon-button\n class=\"prev\"\n icon=\"arrow-left-16\"\n aria-label='Previous Page'\n onClick={() => this.changePage(this.internalPage - 1)}\n variant=\"secondary\"\n ></ifx-icon-button>\n\n <ol>\n {this.visiblePages.map((page, i) => typeof page === 'number' ? (\n <li\n key={`page-${page}`}\n class={{ [this.CLASS_ACTIVE]: page === this.internalPage }}\n data-page={page}\n >\n <span \n class='page__button'\n role=\"button\"\n tabindex=\"0\"\n aria-current={page === this.internalPage ? \"page\" : undefined}\n aria-label={`Page ${page}`}\n onClick={() => this.changePage(page)}\n onKeyDown={(e) => (e.key === 'Enter' || e.key === ' ') && this.changePage(page)}\n >\n {page}\n </span>\n </li>\n ) : (\n <li class=\"ellipsis\" key={`ellipsis-${i}`}>\n <span aria-hidden=\"true\">...</span>\n </li>\n ))}\n </ol>\n\n <ifx-icon-button\n class=\"next\"\n icon=\"arrow-right-16\"\n aria-label='Next Page'\n onClick={() => this.changePage(this.internalPage + 1)}\n variant=\"secondary\"\n ></ifx-icon-button>\n </div>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as s,c as i,h as e,a as t}from"./p-PqnYwNKt.js";import{d as n,t as o}from"./p-DcmcuUOA.js";import{i as r}from"./p-Bw2fh5LT.js";import{c as h}from"./p-DMLRPGid.js";import"./p-B85MJLTf.js";const a=':root {\n --ifx-font-family: "Source Sans 3", "Arial, sans-serif";\n}\n\n:host {\n display: flex;\n}\n\n.search-field {\n box-sizing: border-box;\n background-color: #FFFFFF;\n width: 100%;\n font-family: var(--ifx-font-family);\n position: relative;\n}\n.search-field .search-field__wrapper {\n box-sizing: border-box;\n height: 40px;\n display: flex;\n align-items: center;\n border: 1px solid #8d8786;\n border-radius: 1px;\n padding: 8px 16px;\n gap: 12px;\n flex: none;\n order: 0;\n align-self: stretch;\n flex-grow: 0;\n position: relative;\n width: 100%;\n outline: none;\n}\n.search-field .search-field__wrapper:focus-visible:not(.disabled) {\n outline: 2px solid #0A8276;\n outline-offset: 2px;\n}\n.search-field .search-field__wrapper.search-field__wrapper-s {\n height: 36px;\n}\n.search-field .search-field__wrapper:hover:not(.focused, :focus) {\n border: 1px solid #3c3a39;\n}\n.search-field .search-field__wrapper .delete-icon {\n outline: 1px solid transparent;\n right: 12px;\n cursor: pointer;\n}\n.search-field .search-field__wrapper .delete-icon:focus-visible {\n outline: 2px solid #0A8276;\n outline-offset: 1px;\n}\n.search-field .search-field__wrapper input[type=text] {\n font-style: normal;\n font-weight: 400;\n font-size: 16px;\n color: #8d8786;\n border: none;\n width: 100%;\n outline: none;\n height: 16px;\n}\n.search-field .search-field__wrapper input[type=text]:focus {\n outline: none;\n color: #1d1d1d;\n}\n.search-field .search-field__wrapper input[type=text]:disabled {\n background: #BFBBBB;\n color: #FFFFFF;\n}\n.search-field .search-field__wrapper input[type=text]:disabled::placeholder {\n color: #FFFFFF;\n}\n.search-field .search-field__wrapper.disabled {\n background: #BFBBBB;\n border: none;\n color: #FFFFFF;\n}\n.search-field .search-field__wrapper.disabled:hover {\n border: none;\n outline: none;\n}\n.search-field .search-field__wrapper.disabled .delete-icon {\n cursor: default;\n}\n.search-field .search-field__wrapper.disabled .delete-icon:focus-visible {\n outline: 1px solid transparent;\n}\n.search-field .suggestions-dropdown {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n background: #FFFFFF;\n margin-top: 4px;\n border: 1px solid #EEEDED;\n box-shadow: 0px 6px 9px 0px rgba(29, 29, 29, 0.1);\n z-index: 1000;\n max-height: 300px;\n overflow-y: auto;\n container-type: inline-size;\n}\n.search-field .suggestions-dropdown .suggestions-header {\n font-family: Source Sans 3;\n font-size: 0.8125rem;\n font-weight: 600;\n line-height: 1.25rem;\n letter-spacing: 0.25em;\n text-transform: uppercase;\n color: #575352;\n border-bottom: 1px solid #EEEDED;\n padding: 12px 16px;\n}\n.search-field .suggestions-dropdown .suggestion-item {\n padding: 12px 16px;\n cursor: pointer;\n transition: background-color 0.2s ease;\n}\n.search-field .suggestions-dropdown .suggestion-item:last-child {\n border-bottom: none;\n}\n.search-field .suggestions-dropdown .suggestion-item:hover, .search-field .suggestions-dropdown .suggestion-item--selected {\n background-color: #EEEDED;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-icon {\n color: #575352;\n flex-shrink: 0;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-icon--history {\n color: #575352;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-text {\n flex: 1;\n display: flex;\n align-items: center;\n min-width: 0;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-text .suggestion-main-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex-shrink: 1;\n min-width: 0;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-text .suggestion-scope {\n color: #8D8786;\n flex-shrink: 0;\n white-space: nowrap;\n margin-left: 2px;\n font-weight: 600;\n font-size: 0.75rem;\n}\n@container (max-width: 320px) {\n .search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-text {\n flex-direction: column;\n align-items: flex-start;\n }\n .search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-text .suggestion-main-text {\n width: 100%;\n max-width: 100%;\n }\n .search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-text .suggestion-scope {\n margin-left: 0;\n margin-top: 0;\n width: 100%;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n flex-shrink: 1;\n }\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-count {\n color: #8D8786;\n margin-left: auto;\n flex-shrink: 0;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-delete-icon {\n opacity: 0;\n visibility: hidden;\n transition: opacity 0.2s ease, visibility 0.2s ease;\n cursor: pointer;\n margin-left: auto;\n flex-shrink: 0;\n color: #575352;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-delete-icon:hover {\n color: #3C3A39;\n}\n.search-field .suggestions-dropdown .suggestion-item:hover .suggestion-delete-icon {\n opacity: 1;\n visibility: visible;\n}\n.search-field .search-field__wrapper.dropdown-open {\n border-radius: 1px 1px 0 0;\n border-color: #0A8276;\n}';const l=class{constructor(e){s(this,e);this.ifxInput=i(this,"ifxInput",7);this.ifxSuggestionRequested=i(this,"ifxSuggestionRequested",7);this.ifxSuggestionSelected=i(this,"ifxSuggestionSelected",7);this.ifxFocus=i(this,"ifxFocus",7);this.ifxBlur=i(this,"ifxBlur",7);this.value="";this.suggestions=[];this.showSuggestions=false;this.maxSuggestions=10;this.maxHistoryItems=5;this.enableHistory=true;this.historyKey="ifx-search-history";this.historyHeaderText="Recent Searches";this.ariaLabel="Search Field";this.deleteIconAriaLabel="Clear search";this.historyDeleteAriaLabel="Remove from history";this.dropdownAriaLabel="Search suggestions and history";this.suggestionAriaLabel="Search suggestion";this.historyItemAriaLabel="Search history item";this.showDropdown=false;this.filteredSuggestions=[];this.selectedSuggestionIndex=-1;this.searchHistory=[];this.showDeleteIcon=false;this.showDeleteIconInternalState=false;this.disabled=false;this.size="l";this.isFocused=false;this.placeholder="Search...";this.autocomplete="off";this.maxlength=null;this.focusEmitted=false;this.handleInput=()=>{const s=this.inputElement.value;this.value=s;this.ifxInput.emit(this.value);if(this.showSuggestions){this.showDropdown=true;this.selectedSuggestionIndex=-1;this.requestSuggestions(s)}};this.handleDelete=()=>{if(!this.disabled){this.inputElement.value="";this.value="";this.ifxInput.emit(this.value);this.hideDropdown()}};this.handleSearch=()=>{if(this.value.trim()&&this.enableHistory){if(this.filteredSuggestions.length>0){this.addToHistory(this.value)}}this.hideDropdown()};this.handleHistoryDelete=(s,i)=>{s.stopPropagation();this.removeFromHistory(i)}}handleOutsideClick(s){const i=s.composedPath();if(!i.includes(this.inputElement)&&!i.includes(this.dropdownElement)){this.hideDropdown()}}handleKeyDown(s){if(!this.showDropdown)return;switch(s.key){case"ArrowDown":s.preventDefault();this.navigateSuggestions(1);break;case"ArrowUp":s.preventDefault();this.navigateSuggestions(-1);break;case"Enter":s.preventDefault();if(this.selectedSuggestionIndex>=0){this.selectSuggestion(this.filteredSuggestions[this.selectedSuggestionIndex])}else{this.handleSearch()}break;case"Escape":this.hideDropdown();break}}valueWatcher(s){if(this.inputElement&&s!==this.inputElement.value){this.inputElement.value=s}this.updateSuggestions()}suggestionsWatcher(){this.updateSuggestions()}focusInput(){if(!this.focusEmitted){this.focusEmitted=true;this.isFocused=true;this.ifxFocus.emit()}if(this.showSuggestions){if(this.value.length===0){this.showHistoryDropdown();this.showDropdown=this.enableHistory&&this.searchHistory.length>0}else{this.updateSuggestions();this.showDropdown=this.filteredSuggestions.length>0}}}blurInput(){setTimeout((()=>{this.isFocused=false;this.focusEmitted=false;this.ifxBlur.emit()}),150)}loadSearchHistory(){if(this.enableHistory&&typeof localStorage!=="undefined"){const s=localStorage.getItem(this.historyKey);this.searchHistory=s?JSON.parse(s):[];this.updateSuggestions();if(this.value.length===0&&this.searchHistory.length===0){this.showDropdown=false}}}clearSearchHistory(){if(this.enableHistory&&typeof localStorage!=="undefined"){localStorage.removeItem(this.historyKey);this.searchHistory=[];this.filteredSuggestions=[];this.selectedSuggestionIndex=-1;this.showDropdown=false;this.updateSuggestions()}}addToHistory(s){if(!this.enableHistory||!s.trim())return;const i=[...this.searchHistory];const e=i.indexOf(s);if(e>-1){i.splice(e,1)}i.unshift(s);this.searchHistory=i.slice(0,this.maxHistoryItems);if(typeof localStorage!=="undefined"){localStorage.setItem(this.historyKey,JSON.stringify(this.searchHistory))}}removeFromHistory(s){if(!this.enableHistory)return;const i=[...this.searchHistory];const e=i.indexOf(s);if(e>-1){i.splice(e,1);this.searchHistory=i;if(typeof localStorage!=="undefined"){localStorage.setItem(this.historyKey,JSON.stringify(this.searchHistory))}this.updateSuggestions();if(this.searchHistory.length===0&&this.value.length===0){this.showDropdown=false}}}requestSuggestions(s){this.ifxSuggestionRequested.emit(s);this.updateSuggestions()}updateSuggestions(){const s=this.value.toLowerCase();let i=[];if(s.length>0){if(this.suggestions&&this.suggestions.length>0){const e=this.suggestions.filter((i=>i.text.toLowerCase().includes(s)));i=[...i,...e]}if(this.enableHistory&&this.searchHistory.length>0){const e=this.searchHistory.filter((i=>i.toLowerCase().includes(s))).map(((s,i)=>({id:`history-${i}`,text:s,type:"history"})));i=[...i,...e]}i.sort(((i,e)=>{const t=i.text.toLowerCase();const n=e.text.toLowerCase();if(t===s&&n!==s)return-1;if(n===s&&t!==s)return 1;const o=t.startsWith(s);const r=n.startsWith(s);if(o&&!r)return-1;if(r&&!o)return 1;if(i.type==="suggestion"&&e.type==="history")return-1;if(i.type==="history"&&e.type==="suggestion")return 1;return t.localeCompare(n)}))}else{if(this.enableHistory&&this.searchHistory.length>0){const s=this.searchHistory.map(((s,i)=>({id:`history-${i}`,text:s,type:"history"})));i=s}}const e=i.reduce(((s,i)=>{const e=s.findIndex((s=>s.text.toLowerCase()===i.text.toLowerCase()&&s.scope===i.scope));if(e===-1){s.push(i)}else{if(i.type==="history"&&s[e].type!=="history"){s[e]=i}}return s}),[]);this.filteredSuggestions=e.slice(0,this.maxSuggestions);this.selectedSuggestionIndex=-1}navigateSuggestions(s){const i=this.filteredSuggestions.length-1;if(s>0){this.selectedSuggestionIndex=this.selectedSuggestionIndex<i?this.selectedSuggestionIndex+1:0}else{this.selectedSuggestionIndex=this.selectedSuggestionIndex>0?this.selectedSuggestionIndex-1:i}}selectSuggestion(s){this.value=s.text;this.inputElement.value=s.text;this.ifxSuggestionSelected.emit(s);this.ifxInput.emit(this.value);if(this.enableHistory){this.addToHistory(s.text)}this.hideDropdown()}hideDropdown(){this.showDropdown=false;this.selectedSuggestionIndex=-1;this.isFocused=false}showHistoryDropdown(){if(this.enableHistory&&this.searchHistory.length>0){const s=this.searchHistory.map(((s,i)=>({id:`history-${i}`,text:s,type:"history"})));this.filteredSuggestions=s.slice(0,this.maxSuggestions);this.selectedSuggestionIndex=-1}else{this.filteredSuggestions=[]}}isShowingOnlyHistory(){return this.value.length===0&&this.filteredSuggestions.length>0&&this.filteredSuggestions.every((s=>s.type==="history"))}renderHighlightedText(s,i){if(!i||i.length===0){return s}const t=s.toLowerCase();const n=i.toLowerCase();const o=t.indexOf(n);if(o===-1){return s}const r=s.substring(0,o);const h=s.substring(o,o+i.length);const a=s.substring(o+i.length);return[r,e("strong",null,h),a]}componentWillLoad(){this.loadSearchHistory()}async componentDidLoad(){if(!r(this.el)){const s=n();o("ifx-search-field",await s)}}componentWillUpdate(){if(this.value!==""){this.showDeleteIconInternalState=true}else this.showDeleteIconInternalState=false}render(){return e("div",{key:"d355ec7cdbe980ea99e4238cf02d907ddd76d59b","aria-disabled":this.disabled,"aria-value":this.value,class:"search-field"},e("div",{key:"2aa3d943caab35213ca10f071586c80358515f1c",class:this.getWrapperClassNames(),tabindex:1,onClick:()=>this.focusInput()},e("ifx-icon",{key:"eaa300dd0f8466a2396c55f3f2fffe9dcf5bbf44",icon:"search-16",class:"search-icon"}),e("input",{key:"cce86ee892ec624fe8671d7567434ae5433b8702",ref:s=>this.inputElement=s,type:"text",autocomplete:this.autocomplete,onInput:()=>this.handleInput(),onFocus:()=>this.focusInput(),onBlur:()=>this.blurInput(),placeholder:this.placeholder,disabled:this.disabled,maxlength:this.maxlength,value:this.value,role:"combobox","aria-controls":this.showDropdown?"suggestions-dropdown":undefined,"aria-expanded":this.showDropdown,"aria-autocomplete":"list","aria-haspopup":"listbox","aria-label":this.ariaLabel,"aria-labelledby":this.ariaLabelledBy,"aria-describedby":this.ariaDescribedBy,"aria-owns":this.showDropdown?"suggestions-dropdown":undefined,"aria-activedescendant":this.selectedSuggestionIndex>=0?`suggestion-${this.selectedSuggestionIndex}`:undefined}),this.showDeleteIcon&&this.showDeleteIconInternalState?e("ifx-icon",{icon:"cRemove16",class:"delete-icon",onClick:this.handleDelete,role:"button",tabindex:"0","aria-label":this.deleteIconAriaLabel,onKeyDown:s=>{if(s.key==="Enter"||s.key===" "){s.preventDefault();this.handleDelete()}}}):null),this.showDropdown&&this.filteredSuggestions.length>0&&e("div",{key:"d447e63087ac5b41d2109a16b8db37df4c9db860",ref:s=>this.dropdownElement=s,id:"suggestions-dropdown",class:"suggestions-dropdown",role:"listbox","aria-label":this.dropdownAriaLabel},this.isShowingOnlyHistory()&&e("div",{key:"6a4662d31fd8c755ec1ec9da4bb871750aa63a57",class:"suggestions-header"},this.historyHeaderText),this.filteredSuggestions.map(((s,i)=>e("div",{key:s.id,id:`suggestion-${i}`,class:this.getSuggestionClassNames(i),role:"option","aria-selected":i===this.selectedSuggestionIndex,"aria-label":`${s.type==="history"?this.historyItemAriaLabel:this.suggestionAriaLabel}: ${s.text}${s.scope?`, ${s.scope}`:""}${s.resultCount?`, ${s.resultCount} results`:""}`,onClick:()=>this.selectSuggestion(s),onMouseEnter:()=>this.selectedSuggestionIndex=i},e("div",{class:"suggestion-content"},s.type==="history"&&e("ifx-icon",{icon:"history-16",class:"suggestion-icon suggestion-icon--history"}),s.type==="suggestion"&&e("ifx-icon",{icon:"search-16",class:"suggestion-icon suggestion-icon--suggestion"}),e("span",{class:"suggestion-text"},e("span",{class:"suggestion-main-text"},this.renderHighlightedText(s.text,this.value)),s.scope&&e("span",{class:"suggestion-scope"},"– ",s.scope)),s.resultCount!==undefined&&s.scope&&e("span",{class:"suggestion-count"},s.resultCount),s.type==="history"&&e("ifx-icon",{icon:"cross16",class:"suggestion-delete-icon",role:"button",tabindex:"0","aria-label":`${this.historyDeleteAriaLabel}: ${s.text}`,onClick:i=>this.handleHistoryDelete(i,s.text),onKeyDown:i=>{if(i.key==="Enter"||i.key===" "){i.preventDefault();this.handleHistoryDelete(i,s.text)}}})))))))}getSizeClass(){return`${this.size}`==="s"?"search-field__wrapper-s":""}getWrapperClassNames(){return h(`search-field__wrapper`,`search-field__wrapper ${this.getSizeClass()}`,`${this.isFocused?"focused":""}`,`${this.showDropdown?"dropdown-open":""}`,`${this.disabled?"disabled":""}`)}getSuggestionClassNames(s){var i;return h("suggestion-item",{"suggestion-item--selected":s===this.selectedSuggestionIndex,"suggestion-item--history":((i=this.filteredSuggestions[s])===null||i===void 0?void 0:i.type)==="history"})}get el(){return t(this)}static get watchers(){return{value:["valueWatcher"],suggestions:["suggestionsWatcher"]}}};l.style=a;export{l as ifx_search_field};
2
- //# sourceMappingURL=p-4fba0543.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as e,c as r,h as o,a as i}from"./p-PqnYwNKt.js";import{d as t,t as c}from"./p-DcmcuUOA.js";import{i as n}from"./p-Bw2fh5LT.js";const a=':host{display:inline-flex;vertical-align:top}.checkbox__container{box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:top;padding:0px;gap:8px;font-family:"Source Sans 3";vertical-align:bottom}.checkbox__container .checkbox__wrapper{box-sizing:border-box;display:flex;position:relative;justify-content:center;align-items:center;width:20px;height:20px;background-color:#FFFFFF;border:1px solid #575352;border-radius:1px;flex:none;order:0;flex-grow:0;align-self:flex-start}.checkbox__container .checkbox__wrapper.checkbox-m{height:24px;width:24px}.checkbox__container .checkbox__wrapper.error{border-color:#CD002F}.checkbox__container .checkbox__wrapper:focus-visible{border:1px solid #575352;outline:2px solid #0A8276;outline-offset:2px}.checkbox__container .checkbox__wrapper:hover{background-color:#EEEDED;border:1px solid #575352;border-radius:1px;flex:none;order:0;flex-grow:0}.checkbox__container .checkbox__wrapper.disabled{background-color:#BFBBBB;border-color:#BFBBBB;border-radius:1px;flex:none;order:0;flex-grow:0}.checkbox__container .checkbox__wrapper.checked:not(.indeterminate){background-color:#0A8276;border-radius:1px;border-color:transparent;flex:none;order:0;flex-grow:0;color:#FFFFFF}.checkbox__container .checkbox__wrapper.checked:not(.indeterminate).error{background-color:#CD002F}.checkbox__container .checkbox__wrapper.checked:not(.indeterminate):focus-visible{border:1px solid transparent;outline:2px solid #0A8276;outline-offset:2px}.checkbox__container .checkbox__wrapper.checked:not(.indeterminate):hover{background-color:#0A8276;border-radius:1px;flex:none;order:0;flex-grow:0}.checkbox__container .checkbox__wrapper.checked:not(.indeterminate).disabled{background:#BFBBBB;border-radius:1px;flex:none;order:0;flex-grow:0}.checkbox__container .checkbox__wrapper.indeterminate:before{content:"";display:block;width:70%;height:2px;background-color:#08665C;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.checkbox__container .label{font-style:normal;font-weight:400;font-size:0.875rem;line-height:1.25rem;color:#1D1D1D;overflow-wrap:break-word;word-wrap:break-word;word-break:break-all;max-width:100%}.checkbox__container .label.label-m{font-size:1rem;line-height:1.5rem}.checkbox__container .label.disabled{color:#BFBBBB}.checkbox__container .checkbox__wrapper:hover,.checkbox__container .label:hover{cursor:pointer}';const s=class{constructor(o){e(this,o);this.ifxChange=r(this,"ifxChange",7);this.ifxError=r(this,"ifxError",7);if(o.$hostElement$["s-ei"]){this.internals=o.$hostElement$["s-ei"]}else{this.internals=o.$hostElement$.attachInternals();o.$hostElement$["s-ei"]=this.internals}this.disabled=false;this.checked=false;this.error=false;this.size="m";this.indeterminate=false}handleCheckbox(){if(!this.disabled){if(!this.inputElement.indeterminate){this.internalChecked=!this.internalChecked}this.ifxChange.emit(this.internalChecked)}}async isChecked(){return this.internalChecked}async toggleCheckedState(e){this.internalChecked=e}valueChanged(e,r){if(e!==r){this.internalChecked=e;this.inputElement.checked=this.internalChecked}}errorChanged(e,r){if(e!==r){this.ifxError.emit(e)}}indeterminateChanged(e,r){if(e!==r){this.internalIndeterminate=e;this.inputElement.indeterminate=this.internalIndeterminate}}handleKeydown(e){if(e.keyCode===32||e.keyCode===13){this.handleCheckbox();e.preventDefault()}}componentWillLoad(){this.internalChecked=this.checked;this.internalIndeterminate=this.indeterminate}async componentDidLoad(){if(!n(this.el)){const e=t();c("ifx-checkbox",await e)}}componentDidRender(){this.inputElement.indeterminate=this.internalIndeterminate}getCheckedClassName(){if(this.error){if(this.internalChecked){return"checked error"}else{return"error"}}else if(this.internalChecked){return"checked"}else return""}render(){const e=this.el.innerHTML;let r=false;if(e){r=true}return o("div",{key:"6605cecca0fc9ea377620c93c411747c6103d0fc",class:"checkbox__container"},o("input",{key:"e28753294d821fdc066f64e99295bb6ead4be86d",type:"checkbox",hidden:true,ref:e=>this.inputElement=e,checked:this.internalChecked,onChange:this.handleCheckbox.bind(this),id:"checkbox",value:`${this.value}`,disabled:this.disabled?true:undefined}),o("div",{key:"ff14245dcd1ff6285ec153591b52ffa3c3f06358",tabindex:"0",onClick:this.handleCheckbox.bind(this),onKeyDown:this.handleKeydown.bind(this),role:"checkbox","aria-checked":this.indeterminate?"mixed":this.internalChecked.toString(),"aria-disabled":this.disabled,"aria-labelledby":"label",class:`checkbox__wrapper \n ${this.getCheckedClassName()}\n ${this.size==="m"?"checkbox-m":""}\n ${this.indeterminate?"indeterminate":""}\n ${this.disabled?"disabled":""}`},this.internalChecked&&!this.internalIndeterminate&&o("ifx-icon",{key:"13e9e197e4375548b34a597c007ddf6866ad5e05",icon:"check-16","aria-hidden":"true"})),r&&o("div",{key:"8161ca9223da4df88bc82eb9d26989df68cedc19",id:"label",class:`label ${this.size==="m"?"label-m":""} ${this.disabled?"disabled":""} `,onClick:this.handleCheckbox.bind(this)},o("slot",{key:"29856bf622df0289f8803eb3c4a33f4738f50863"})))}get el(){return i(this)}static get watchers(){return{checked:["valueChanged"],error:["errorChanged"],indeterminate:["indeterminateChanged"]}}};s.style=a;export{s as ifx_checkbox};
2
- //# sourceMappingURL=p-5e3d0ff0.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["checkboxCss","Checkbox","constructor","hostRef","this","disabled","checked","error","size","indeterminate","handleCheckbox","inputElement","internalChecked","ifxChange","emit","isChecked","toggleCheckedState","newVal","valueChanged","newValue","oldValue","errorChanged","ifxError","indeterminateChanged","internalIndeterminate","handleKeydown","event","keyCode","preventDefault","componentWillLoad","componentDidLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","componentDidRender","getCheckedClassName","render","slot","innerHTML","hasSlot","h","key","class","type","hidden","ref","onChange","bind","id","value","undefined","tabindex","onClick","onKeyDown","role","toString","icon"],"sources":["src/components/checkbox/checkbox.scss?tag=ifx-checkbox&encapsulation=shadow","src/components/checkbox/checkbox.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n:host {\n display: inline-flex;\n vertical-align: top;\n}\n\n.checkbox__container {\n box-sizing: border-box;\n display: inline-flex;\n flex-direction: row;\n align-items: top;\n padding: 0px;\n gap: tokens.$ifxSpace100;\n font-family: tokens.$ifxFontFamilyBody;\n vertical-align: bottom;\n\n & .checkbox__wrapper {\n box-sizing: border-box;\n display: flex;\n position: relative; //needs to be added for the indeterminate state of the checkbox\n justify-content: center;\n align-items: center;\n width: tokens.$ifxSize250;\n height: tokens.$ifxSize250;\n background-color: tokens.$ifxColorBaseWhite;\n border: 1px solid tokens.$ifxColorEngineering500;\n border-radius: tokens.$ifxBorderRadius12;\n flex: none;\n order: 0;\n flex-grow: 0;\n align-self: flex-start;\n\n &.checkbox-m {\n height: tokens.$ifxSize300;\n width: tokens.$ifxSize300;\n }\n\n &.error {\n border-color: tokens.$ifxColorRed500;\n }\n\n &:focus-visible {\n border: 1px solid tokens.$ifxColorEngineering500;\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n }\n\n &:hover {\n background-color: tokens.$ifxColorEngineering200;\n border: 1px solid tokens.$ifxColorEngineering500;\n border-radius: tokens.$ifxBorderRadius12;\n flex: none;\n order: 0;\n flex-grow: 0;\n }\n\n &.disabled {\n background-color: tokens.$ifxColorEngineering300;;\n border-color: tokens.$ifxColorEngineering300;;\n border-radius: tokens.$ifxBorderRadius12;\n flex: none;\n order: 0;\n flex-grow: 0;\n }\n\n &.checked:not(.indeterminate) {\n background-color: tokens.$ifxColorOcean500;\n border-radius: tokens.$ifxBorderRadius12;\n border-color: tokens.$ifxColorBaseTransparent;\n flex: none;\n order: 0;\n flex-grow: 0;\n color: tokens.$ifxColorBaseWhite;\n\n &.error {\n background-color: tokens.$ifxColorRed500;\n }\n\n &:focus-visible {\n border: 1px solid transparent;\n outline: 2px solid #0A8276;\n outline-offset: 2px;\n }\n\n &:hover {\n background-color: tokens.$ifxColorOcean500;\n border-radius: tokens.$ifxBorderRadius12;\n flex: none;\n order: 0;\n flex-grow: 0;\n }\n\n &.disabled {\n background: tokens.$ifxColorEngineering300;;\n border-radius: tokens.$ifxBorderRadius12;\n flex: none;\n order: 0;\n flex-grow: 0;\n }\n }\n\n &.indeterminate {\n &:before {\n content: \"\";\n display: block;\n width: 70%; // Adjust as needed for the width of the minus sign\n height: 2px; // Adjust for thickness of the minus sign\n background-color: tokens.$ifxColorOcean600; // Color of the minus sign\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n }\n\n }\n\n & .label {\n font-style: normal;\n font-weight: 400;\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n color: tokens.$ifxColorBaseBlack;\n overflow-wrap: break-word;\n word-wrap: break-word;\n word-break: break-all;\n max-width: 100%;\n\n &.label-m {\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n }\n\n &.disabled {\n color: tokens.$ifxColorEngineering300;\n }\n }\n\n & .checkbox__wrapper,\n & .label {\n &:hover {\n cursor: pointer;\n }\n }\n}","import { Component, h, Prop, Element, State, Event, EventEmitter, Watch, Method, AttachInternals } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-checkbox',\n styleUrl: 'checkbox.scss',\n shadow: true,\n // formAssociated: true\n})\n\nexport class Checkbox {\n private inputElement: HTMLInputElement;\n\n @Element() el;\n @Prop() disabled: boolean = false;\n @Prop() checked: boolean = false;\n @Prop() error: boolean = false;\n @Prop() size: string = 'm';\n @Prop() indeterminate: boolean = false;\n @Prop() value: string;\n @State() internalChecked: boolean;\n @State() internalIndeterminate: boolean;\n\n @AttachInternals() internals: ElementInternals;\n\n @Event({ bubbles: true, composed: true }) ifxChange: EventEmitter;\n @Event({ bubbles: true, composed: true }) ifxError: EventEmitter;\n\n handleCheckbox() {\n if (!this.disabled) {\n if (!this.inputElement.indeterminate) {\n this.internalChecked = !this.internalChecked;\n } \n if (this.internalChecked && !this.internalIndeterminate) {\n if (this.value !== undefined) {\n //this.internals.setFormValue(this.value);\n } else {\n //this.internals.setFormValue(\"on\")\n }\n } else {\n //this.internals.setFormValue(null)\n }\n this.ifxChange.emit(this.internalChecked);\n }\n }\n\n @Method()\n async isChecked(): Promise<boolean> {\n return this.internalChecked;\n }\n\n @Method()\n async toggleCheckedState(newVal: boolean) {\n this.internalChecked = newVal;\n }\n\n @Watch('checked')\n valueChanged(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue) {\n this.internalChecked = newValue;\n this.inputElement.checked = this.internalChecked; // update the checkbox's checked property\n }\n }\n\n @Watch('error')\n errorChanged(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue) {\n this.ifxError.emit(newValue);\n }\n }\n\n @Watch('indeterminate')\n indeterminateChanged(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue) {\n this.internalIndeterminate = newValue;\n this.inputElement.indeterminate = this.internalIndeterminate; // update the checkbox's indeterminate property\n }\n }\n\n handleKeydown(event) {\n // Keycode 32 corresponds to the Space key, 13 corresponds to the Enter key\n if (event.keyCode === 32 || event.keyCode === 13) {\n this.handleCheckbox();\n event.preventDefault(); // prevent the default action when space or enter is pressed\n }\n }\n\n componentWillLoad() {\n this.internalChecked = this.checked;\n this.internalIndeterminate = this.indeterminate;\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-checkbox', await framework)\n }\n }\n\n componentDidRender() {\n this.inputElement.indeterminate = this.internalIndeterminate;\n }\n\n /**\n * Callback for form association.\n * Called whenever the form is reset.\n */\n // formResetCallback() {\n // this.internals.setFormValue(null);\n // }\n\n getCheckedClassName() {\n if (this.error) {\n if (this.internalChecked) {\n return \"checked error\"\n } else {\n return \"error\"\n }\n } else if (this.internalChecked) {\n return \"checked\";\n } else return \"\"\n }\n\n render() {\n const slot = this.el.innerHTML;\n let hasSlot = false;\n if (slot) {\n hasSlot = true;\n }\n return (\n <div class=\"checkbox__container\">\n <input\n type=\"checkbox\"\n hidden\n ref={(el) => (this.inputElement = el)}\n checked={this.internalChecked}\n onChange={this.handleCheckbox.bind(this)} // Listen for changes here\n id='checkbox'\n value={`${this.value}`}\n disabled={this.disabled ? true : undefined}\n />\n <div\n tabindex=\"0\"\n onClick={this.handleCheckbox.bind(this)}\n onKeyDown={this.handleKeydown.bind(this)}\n role=\"checkbox\"\n aria-checked={this.indeterminate ? 'mixed' : this.internalChecked.toString()}\n aria-disabled={this.disabled}\n aria-labelledby=\"label\"\n class={`checkbox__wrapper \n ${this.getCheckedClassName()}\n ${this.size === \"m\" ? \"checkbox-m\" : \"\"}\n ${this.indeterminate ? 'indeterminate' : \"\"}\n ${this.disabled ? 'disabled' : \"\"}`}\n >\n {this.internalChecked && !this.internalIndeterminate && <ifx-icon icon=\"check-16\" aria-hidden=\"true\"></ifx-icon>}\n </div>\n {hasSlot &&\n <div id=\"label\" class={`label ${this.size === \"m\" ? \"label-m\" : \"\"} ${this.disabled ? 'disabled' : \"\"} `} onClick={this.handleCheckbox.bind(this)}>\n <slot />\n </div>}\n </div>\n );\n }\n}"],"mappings":"wIAAA,MAAMA,EAAc,g1E,MCYPC,EAAQ,MAPrB,WAAAC,CAAAC,G,kPAWUC,KAAQC,SAAY,MACpBD,KAAOE,QAAY,MACnBF,KAAKG,MAAY,MACjBH,KAAII,KAAW,IACfJ,KAAaK,cAAY,KAkJlC,CAxIC,cAAAC,GACE,IAAKN,KAAKC,SAAU,CAClB,IAAKD,KAAKO,aAAaF,cAAe,CACpCL,KAAKQ,iBAAmBR,KAAKQ,e,CAW/BR,KAAKS,UAAUC,KAAKV,KAAKQ,gB,EAK7B,eAAMG,GACJ,OAAOX,KAAKQ,e,CAId,wBAAMI,CAAmBC,GACvBb,KAAKQ,gBAAkBK,C,CAIzB,YAAAC,CAAaC,EAAmBC,GAC9B,GAAID,IAAaC,EAAU,CACzBhB,KAAKQ,gBAAkBO,EACvBf,KAAKO,aAAaL,QAAUF,KAAKQ,e,EAKrC,YAAAS,CAAaF,EAAmBC,GAC9B,GAAID,IAAaC,EAAU,CACzBhB,KAAKkB,SAASR,KAAKK,E,EAKvB,oBAAAI,CAAqBJ,EAAmBC,GACtC,GAAID,IAAaC,EAAU,CACzBhB,KAAKoB,sBAAwBL,EAC7Bf,KAAKO,aAAaF,cAAgBL,KAAKoB,qB,EAI3C,aAAAC,CAAcC,GAEZ,GAAIA,EAAMC,UAAY,IAAMD,EAAMC,UAAY,GAAI,CAChDvB,KAAKM,iBACLgB,EAAME,gB,EAIV,iBAAAC,GACEzB,KAAKQ,gBAAkBR,KAAKE,QAC5BF,KAAKoB,sBAAwBpB,KAAKK,a,CAGpC,sBAAMqB,GACJ,IAAIC,EAAuB3B,KAAK4B,IAAK,CACnC,MAAMC,EAAYC,IAClBC,EAAe,qBAAsBF,E,EAIzC,kBAAAG,GACEhC,KAAKO,aAAaF,cAAgBL,KAAKoB,qB,CAWzC,mBAAAa,GACE,GAAIjC,KAAKG,MAAO,CACd,GAAIH,KAAKQ,gBAAiB,CACxB,MAAO,e,KACF,CACL,MAAO,O,OAEJ,GAAIR,KAAKQ,gBAAiB,CAC/B,MAAO,S,MACF,MAAO,E,CAGhB,MAAA0B,GACE,MAAMC,EAAOnC,KAAK4B,GAAGQ,UACrB,IAAIC,EAAU,MACd,GAAIF,EAAM,CACRE,EAAU,I,CAEZ,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,uBACTF,EAAA,SAAAC,IAAA,2CACEE,KAAK,WACLC,OAAM,KACNC,IAAMf,GAAQ5B,KAAKO,aAAeqB,EAClC1B,QAASF,KAAKQ,gBACdoC,SAAU5C,KAAKM,eAAeuC,KAAK7C,MACnC8C,GAAG,WACHC,MAAO,GAAG/C,KAAK+C,QACf9C,SAAUD,KAAKC,SAAW,KAAO+C,YAEnCV,EACE,OAAAC,IAAA,2CAAAU,SAAS,IACTC,QAASlD,KAAKM,eAAeuC,KAAK7C,MAClCmD,UAAWnD,KAAKqB,cAAcwB,KAAK7C,MACnCoD,KAAK,WAAU,eACDpD,KAAKK,cAAgB,QAAUL,KAAKQ,gBAAgB6C,WACnD,gBAAArD,KAAKC,SACJ,0BAChBuC,MAAO,iCACLxC,KAAKiC,kCACPjC,KAAKI,OAAS,IAAM,aAAe,eACnCJ,KAAKK,cAAgB,gBAAkB,eACvCL,KAAKC,SAAW,WAAa,MAE5BD,KAAKQ,kBAAoBR,KAAKoB,uBAAyBkB,EAAA,YAAAC,IAAA,2CAAUe,KAAK,WAAU,cAAa,UAE/FjB,GACCC,EAAA,OAAAC,IAAA,2CAAKO,GAAG,QAAQN,MAAO,SAASxC,KAAKI,OAAS,IAAM,UAAY,MAAMJ,KAAKC,SAAW,WAAa,MAAOiD,QAASlD,KAAKM,eAAeuC,KAAK7C,OAC1IsC,EAAQ,QAAAC,IAAA,8C","ignoreList":[]}