@infineon/infineon-design-system-stencil 39.4.3 → 39.4.4--canary.2130.4e289d5eee4c0769b9458514c7fb228750796ed6.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 (786) hide show
  1. package/dist/cjs/ifx-accordion_2.cjs.entry.js +1 -3
  2. package/dist/cjs/ifx-action-list-item.cjs.entry.js +1 -3
  3. package/dist/cjs/ifx-action-list.cjs.entry.js +1 -3
  4. package/dist/cjs/ifx-alert_2.cjs.entry.js +1 -3
  5. package/dist/cjs/ifx-basic-table.cjs.entry.js +1 -3
  6. package/dist/cjs/ifx-breadcrumb-item-label.cjs.entry.js +1 -3
  7. package/dist/cjs/ifx-breadcrumb-item.cjs.entry.js +1 -3
  8. package/dist/cjs/ifx-breadcrumb.cjs.entry.js +1 -3
  9. package/dist/cjs/ifx-button.cjs.entry.js +1 -3
  10. package/dist/cjs/ifx-card-headline.cjs.entry.js +1 -3
  11. package/dist/cjs/ifx-card-image.cjs.entry.js +1 -3
  12. package/dist/cjs/ifx-card-links.cjs.entry.js +1 -3
  13. package/dist/cjs/ifx-card-overline.cjs.entry.js +1 -3
  14. package/dist/cjs/ifx-card-text.cjs.entry.js +1 -3
  15. package/dist/cjs/ifx-card.cjs.entry.js +1 -3
  16. package/dist/cjs/ifx-checkbox-group.cjs.entry.js +1 -3
  17. package/dist/cjs/ifx-checkbox.cjs.entry.js +1 -3
  18. package/dist/cjs/ifx-chip_3.cjs.entry.js +1 -3
  19. package/dist/cjs/ifx-content-switcher-item.cjs.entry.js +1 -3
  20. package/dist/cjs/ifx-content-switcher.cjs.entry.js +1 -3
  21. package/dist/cjs/ifx-date-picker.cjs.entry.js +1 -3
  22. package/dist/cjs/ifx-download.cjs.entry.js +1 -3
  23. package/dist/cjs/ifx-dropdown-header.cjs.entry.js +1 -3
  24. package/dist/cjs/ifx-dropdown-item.cjs.entry.js +1 -3
  25. package/dist/cjs/ifx-dropdown-menu.cjs.entry.js +1 -3
  26. package/dist/cjs/ifx-dropdown-separator.cjs.entry.js +1 -3
  27. package/dist/cjs/ifx-dropdown-trigger-button.cjs.entry.js +1 -3
  28. package/dist/cjs/ifx-dropdown-trigger.cjs.entry.js +1 -3
  29. package/dist/cjs/ifx-dropdown.cjs.entry.js +1 -3
  30. package/dist/cjs/ifx-faq.cjs.entry.js +1 -3
  31. package/dist/cjs/ifx-file-upload.cjs.entry.js +1 -3
  32. package/dist/cjs/ifx-filter-accordion.cjs.entry.js +1 -3
  33. package/dist/cjs/ifx-filter-bar.cjs.entry.js +1 -3
  34. package/dist/cjs/ifx-filter-search.cjs.entry.js +1 -3
  35. package/dist/cjs/ifx-filter-type-group.cjs.entry.js +1 -3
  36. package/dist/cjs/ifx-footer-column.cjs.entry.js +1 -3
  37. package/dist/cjs/ifx-footer.cjs.entry.js +1 -3
  38. package/dist/cjs/ifx-icon-button.cjs.entry.js +1 -3
  39. package/dist/cjs/ifx-icon.cjs.entry.js +1 -3
  40. package/dist/cjs/ifx-icons-preview.cjs.entry.js +1 -3
  41. package/dist/cjs/ifx-indicator.cjs.entry.js +1 -3
  42. package/dist/cjs/ifx-link.cjs.entry.js +1 -3
  43. package/dist/cjs/ifx-list-entry.cjs.entry.js +1 -3
  44. package/dist/cjs/ifx-list.cjs.entry.js +1 -3
  45. package/dist/cjs/ifx-modal.cjs.entry.js +1 -3
  46. package/dist/cjs/ifx-modal.entry.cjs.js.map +1 -1
  47. package/dist/cjs/ifx-multiselect_2.cjs.entry.js +1 -3
  48. package/dist/cjs/ifx-navbar-item.cjs.entry.js +1 -3
  49. package/dist/cjs/ifx-navbar-profile.cjs.entry.js +1 -3
  50. package/dist/cjs/ifx-navbar.cjs.entry.js +1 -3
  51. package/dist/cjs/ifx-notification.cjs.entry.js +1 -3
  52. package/dist/cjs/ifx-overview-table.cjs.entry.js +1 -3
  53. package/dist/cjs/ifx-progress-bar.cjs.entry.js +1 -3
  54. package/dist/cjs/ifx-radio-button-group.cjs.entry.js +1 -3
  55. package/dist/cjs/ifx-radio-button.cjs.entry.js +1 -3
  56. package/dist/cjs/ifx-search-bar.cjs.entry.js +1 -3
  57. package/dist/cjs/ifx-search-field.cjs.entry.js +1 -3
  58. package/dist/cjs/ifx-segment.cjs.entry.js +1 -3
  59. package/dist/cjs/ifx-segmented-control.cjs.entry.js +1 -3
  60. package/dist/cjs/ifx-select.cjs.entry.js +1 -3
  61. package/dist/cjs/ifx-set-filter.cjs.entry.js +1 -3
  62. package/dist/cjs/ifx-sidebar-item.cjs.entry.js +1 -3
  63. package/dist/cjs/ifx-sidebar-title.cjs.entry.js +1 -3
  64. package/dist/cjs/ifx-sidebar.cjs.entry.js +1 -3
  65. package/dist/cjs/ifx-slider.cjs.entry.js +1 -3
  66. package/dist/cjs/ifx-spinner_2.cjs.entry.js +1 -3
  67. package/dist/cjs/ifx-status.cjs.entry.js +1 -3
  68. package/dist/cjs/ifx-step.cjs.entry.js +1 -3
  69. package/dist/cjs/ifx-stepper.cjs.entry.js +1 -3
  70. package/dist/cjs/ifx-switch.cjs.entry.js +1 -3
  71. package/dist/cjs/ifx-tab.cjs.entry.js +1 -3
  72. package/dist/cjs/ifx-table.cjs.entry.js +1 -3
  73. package/dist/cjs/ifx-table.entry.cjs.js.map +1 -1
  74. package/dist/cjs/ifx-tabs.cjs.entry.js +1 -3
  75. package/dist/cjs/ifx-templates-ui.cjs.entry.js +1 -3
  76. package/dist/cjs/ifx-textarea.cjs.entry.js +1 -3
  77. package/dist/cjs/ifx-tooltip.cjs.entry.js +1 -3
  78. package/dist/cjs/ifx-tree-view-item.cjs.entry.js +1 -3
  79. package/dist/cjs/ifx-tree-view.cjs.entry.js +1 -3
  80. package/dist/cjs/{index-Dc5gCGlQ.js → index-DDktl7Xq.js} +88 -31
  81. package/dist/cjs/index-DDktl7Xq.js.map +1 -0
  82. package/dist/cjs/index.cjs.js +0 -2
  83. package/dist/cjs/infineon-design-system-stencil.cjs.js +3 -5
  84. package/dist/cjs/infineon-design-system-stencil.cjs.js.map +1 -1
  85. package/dist/cjs/loader.cjs.js +2 -4
  86. package/dist/collection/collection-manifest.json +2 -2
  87. package/dist/collection/components/accordion/accordion.js +1 -1
  88. package/dist/collection/components/accordion/accordionItem.js +4 -4
  89. package/dist/collection/components/action-list/action-list-item.js +12 -12
  90. package/dist/collection/components/action-list/action-list.js +2 -2
  91. package/dist/collection/components/alert/alert.js +5 -5
  92. package/dist/collection/components/breadcrumb/breadcrumb-item-label.js +5 -5
  93. package/dist/collection/components/button/button.js +11 -11
  94. package/dist/collection/components/card/card-image/card-image.js +6 -6
  95. package/dist/collection/components/card/card.js +5 -5
  96. package/dist/collection/components/checkbox/checkbox.js +7 -7
  97. package/dist/collection/components/checkbox-group/checkbox-group.js +13 -13
  98. package/dist/collection/components/chip/chip-item/chip-item.js +2 -3
  99. package/dist/collection/components/chip/chip-item/chip-item.js.map +1 -1
  100. package/dist/collection/components/chip/chip.js +10 -10
  101. package/dist/collection/components/content-switcher/content-switcher-item.js +3 -3
  102. package/dist/collection/components/date-picker/date-picker.js +19 -19
  103. package/dist/collection/components/download/download.js +1 -1
  104. package/dist/collection/components/dropdown/dropdown-item/dropdown-item.js +5 -5
  105. package/dist/collection/components/dropdown/dropdown-menu/dropdown-menu.js +2 -2
  106. package/dist/collection/components/dropdown/dropdown-trigger/dropdown-trigger.js +1 -1
  107. package/dist/collection/components/dropdown/dropdown-trigger-button/dropdown-trigger-button.js +8 -8
  108. package/dist/collection/components/dropdown/dropdown.js +7 -7
  109. package/dist/collection/components/file-upload/file-upload.js +33 -34
  110. package/dist/collection/components/file-upload/file-upload.js.map +1 -1
  111. package/dist/collection/components/footer/footer.js +1 -1
  112. package/dist/collection/components/icon/infineonIconStencil.js +3 -3
  113. package/dist/collection/components/icon-button/icon-button.js +14 -14
  114. package/dist/collection/components/indicator/indicator.js +5 -5
  115. package/dist/collection/components/link/link.js +10 -10
  116. package/dist/collection/components/modal/modal.js +13 -13
  117. package/dist/collection/components/navigation/navbar/navbar-item.js +8 -8
  118. package/dist/collection/components/navigation/navbar/navbar-profile.js +6 -6
  119. package/dist/collection/components/navigation/navbar/navbar.js +5 -5
  120. package/dist/collection/components/navigation/sidebar/sidebar-item.js +7 -8
  121. package/dist/collection/components/navigation/sidebar/sidebar-item.js.map +1 -1
  122. package/dist/collection/components/navigation/sidebar/sidebar-title.js +1 -1
  123. package/dist/collection/components/navigation/sidebar/sidebar.js +12 -12
  124. package/dist/collection/components/notification/notification.js +8 -8
  125. package/dist/collection/components/pagination/pagination.js +5 -5
  126. package/dist/collection/components/progress-bar/progress-bar.js +4 -4
  127. package/dist/collection/components/radio-button/radio-button.js +9 -9
  128. package/dist/collection/components/radio-button-group/radio-button-group.js +13 -13
  129. package/dist/collection/components/search-bar/search-bar.js +7 -7
  130. package/dist/collection/components/search-field/search-field.js +23 -24
  131. package/dist/collection/components/search-field/search-field.js.map +1 -1
  132. package/dist/collection/components/segmented-control/segment/segment.js +7 -7
  133. package/dist/collection/components/segmented-control/segmented-control.js +5 -5
  134. package/dist/collection/components/select/multi-select/multiselect-option.js +5 -5
  135. package/dist/collection/components/select/multi-select/multiselect.js +27 -27
  136. package/dist/collection/components/select/single-select/select.js +79 -86
  137. package/dist/collection/components/select/single-select/select.js.map +1 -1
  138. package/dist/collection/components/slider/slider.js +22 -22
  139. package/dist/collection/components/spinner/spinner.js +7 -7
  140. package/dist/collection/components/status/status.js +4 -4
  141. package/dist/collection/components/stepper/step/step.js +5 -6
  142. package/dist/collection/components/stepper/step/step.js.map +1 -1
  143. package/dist/collection/components/stepper/stepper.js +8 -8
  144. package/dist/collection/components/switch/switch.js +5 -5
  145. package/dist/collection/components/table-advanced-version/filter-bar/filter-bar.js +2 -2
  146. package/dist/collection/components/table-advanced-version/filter-type-group/filter-accordion/filter-accordion.js +3 -3
  147. package/dist/collection/components/table-advanced-version/filter-type-group/filter-search/filter-search.js +10 -10
  148. package/dist/collection/components/table-advanced-version/list/list-entry/list-entry.js +6 -6
  149. package/dist/collection/components/table-advanced-version/list/list.js +5 -5
  150. package/dist/collection/components/table-advanced-version/set-filter/setFilter.js +9 -9
  151. package/dist/collection/components/table-advanced-version/table.js +15 -19
  152. package/dist/collection/components/table-advanced-version/table.js.map +1 -1
  153. package/dist/collection/components/table-basic-version/table.js +7 -7
  154. package/dist/collection/components/tabs/tab.js +6 -6
  155. package/dist/collection/components/tabs/tabs.js +3 -3
  156. package/dist/collection/components/templates/template/template.js +4 -4
  157. package/dist/collection/components/text-field/text-field.js +17 -17
  158. package/dist/collection/components/textarea/textarea.js +23 -23
  159. package/dist/collection/components/tooltip/tooltip.js +8 -8
  160. package/dist/collection/components/tree-view/tree-view-item.js +8 -8
  161. package/dist/collection/components/tree-view/tree-view.js +6 -6
  162. package/dist/components/ifx-accordion-item.js +1 -1
  163. package/dist/components/ifx-accordion.js +1 -1
  164. package/dist/components/ifx-action-list-item.js +4 -2
  165. package/dist/components/ifx-action-list-item.js.map +1 -1
  166. package/dist/components/ifx-action-list.js +4 -2
  167. package/dist/components/ifx-action-list.js.map +1 -1
  168. package/dist/components/ifx-alert.js +1 -1
  169. package/dist/components/ifx-basic-table.js +4 -2
  170. package/dist/components/ifx-basic-table.js.map +1 -1
  171. package/dist/components/ifx-breadcrumb-item-label.js +5 -3
  172. package/dist/components/ifx-breadcrumb-item-label.js.map +1 -1
  173. package/dist/components/ifx-breadcrumb-item.js +4 -2
  174. package/dist/components/ifx-breadcrumb-item.js.map +1 -1
  175. package/dist/components/ifx-breadcrumb.js +4 -2
  176. package/dist/components/ifx-breadcrumb.js.map +1 -1
  177. package/dist/components/ifx-button.js +1 -1
  178. package/dist/components/ifx-card-headline.js +4 -2
  179. package/dist/components/ifx-card-headline.js.map +1 -1
  180. package/dist/components/ifx-card-image.js +4 -2
  181. package/dist/components/ifx-card-image.js.map +1 -1
  182. package/dist/components/ifx-card-links.js +4 -2
  183. package/dist/components/ifx-card-links.js.map +1 -1
  184. package/dist/components/ifx-card-overline.js +4 -2
  185. package/dist/components/ifx-card-overline.js.map +1 -1
  186. package/dist/components/ifx-card-text.js +4 -2
  187. package/dist/components/ifx-card-text.js.map +1 -1
  188. package/dist/components/ifx-card.js +4 -2
  189. package/dist/components/ifx-card.js.map +1 -1
  190. package/dist/components/ifx-checkbox-group.js +5 -3
  191. package/dist/components/ifx-checkbox-group.js.map +1 -1
  192. package/dist/components/ifx-checkbox.js +1 -1
  193. package/dist/components/ifx-chip-item.js +1 -1
  194. package/dist/components/ifx-chip.js +1 -1
  195. package/dist/components/ifx-content-switcher-item.js +4 -2
  196. package/dist/components/ifx-content-switcher-item.js.map +1 -1
  197. package/dist/components/ifx-content-switcher.js +4 -2
  198. package/dist/components/ifx-content-switcher.js.map +1 -1
  199. package/dist/components/ifx-date-picker.js +5 -3
  200. package/dist/components/ifx-date-picker.js.map +1 -1
  201. package/dist/components/ifx-download.js +5 -3
  202. package/dist/components/ifx-download.js.map +1 -1
  203. package/dist/components/ifx-dropdown-header.js +4 -2
  204. package/dist/components/ifx-dropdown-header.js.map +1 -1
  205. package/dist/components/ifx-dropdown-item.js +5 -3
  206. package/dist/components/ifx-dropdown-item.js.map +1 -1
  207. package/dist/components/ifx-dropdown-menu.js +4 -2
  208. package/dist/components/ifx-dropdown-menu.js.map +1 -1
  209. package/dist/components/ifx-dropdown-separator.js +4 -2
  210. package/dist/components/ifx-dropdown-separator.js.map +1 -1
  211. package/dist/components/ifx-dropdown-trigger-button.js +6 -4
  212. package/dist/components/ifx-dropdown-trigger-button.js.map +1 -1
  213. package/dist/components/ifx-dropdown-trigger.js +4 -2
  214. package/dist/components/ifx-dropdown-trigger.js.map +1 -1
  215. package/dist/components/ifx-dropdown.js +4 -2
  216. package/dist/components/ifx-dropdown.js.map +1 -1
  217. package/dist/components/ifx-faq.js +7 -5
  218. package/dist/components/ifx-faq.js.map +1 -1
  219. package/dist/components/ifx-file-upload.js +9 -7
  220. package/dist/components/ifx-file-upload.js.map +1 -1
  221. package/dist/components/ifx-filter-accordion.js +6 -4
  222. package/dist/components/ifx-filter-accordion.js.map +1 -1
  223. package/dist/components/ifx-filter-bar.js +6 -4
  224. package/dist/components/ifx-filter-bar.js.map +1 -1
  225. package/dist/components/ifx-filter-search.js +6 -4
  226. package/dist/components/ifx-filter-search.js.map +1 -1
  227. package/dist/components/ifx-filter-type-group.js +4 -2
  228. package/dist/components/ifx-filter-type-group.js.map +1 -1
  229. package/dist/components/ifx-footer-column.js +4 -2
  230. package/dist/components/ifx-footer-column.js.map +1 -1
  231. package/dist/components/ifx-footer.js +4 -2
  232. package/dist/components/ifx-footer.js.map +1 -1
  233. package/dist/components/ifx-icon-button.js +1 -1
  234. package/dist/components/ifx-icon.js +1 -1
  235. package/dist/components/ifx-icons-preview.js +8 -6
  236. package/dist/components/ifx-icons-preview.js.map +1 -1
  237. package/dist/components/ifx-indicator.js +1 -1
  238. package/dist/components/ifx-link.js +1 -1
  239. package/dist/components/ifx-list-entry.js +7 -5
  240. package/dist/components/ifx-list-entry.js.map +1 -1
  241. package/dist/components/ifx-list.js +6 -4
  242. package/dist/components/ifx-list.js.map +1 -1
  243. package/dist/components/ifx-modal.js +6 -4
  244. package/dist/components/ifx-modal.js.map +1 -1
  245. package/dist/components/ifx-multiselect-option.js +1 -1
  246. package/dist/components/ifx-multiselect.js +1 -1
  247. package/dist/components/ifx-navbar-item.js +6 -4
  248. package/dist/components/ifx-navbar-item.js.map +1 -1
  249. package/dist/components/ifx-navbar-profile.js +4 -2
  250. package/dist/components/ifx-navbar-profile.js.map +1 -1
  251. package/dist/components/ifx-navbar.js +5 -3
  252. package/dist/components/ifx-navbar.js.map +1 -1
  253. package/dist/components/ifx-notification.js +1 -1
  254. package/dist/components/ifx-overview-table.js +7 -5
  255. package/dist/components/ifx-overview-table.js.map +1 -1
  256. package/dist/components/ifx-pagination.js +1 -1
  257. package/dist/components/ifx-progress-bar.js +1 -1
  258. package/dist/components/ifx-radio-button-group.js +5 -3
  259. package/dist/components/ifx-radio-button-group.js.map +1 -1
  260. package/dist/components/ifx-radio-button.js +1 -1
  261. package/dist/components/ifx-search-bar.js +6 -4
  262. package/dist/components/ifx-search-bar.js.map +1 -1
  263. package/dist/components/ifx-search-field.js +1 -1
  264. package/dist/components/ifx-segment.js +5 -3
  265. package/dist/components/ifx-segment.js.map +1 -1
  266. package/dist/components/ifx-segmented-control.js +5 -3
  267. package/dist/components/ifx-segmented-control.js.map +1 -1
  268. package/dist/components/ifx-select.js +1 -1
  269. package/dist/components/ifx-set-filter.js +11 -9
  270. package/dist/components/ifx-set-filter.js.map +1 -1
  271. package/dist/components/ifx-sidebar-item.js +7 -5
  272. package/dist/components/ifx-sidebar-item.js.map +1 -1
  273. package/dist/components/ifx-sidebar-title.js +4 -2
  274. package/dist/components/ifx-sidebar-title.js.map +1 -1
  275. package/dist/components/ifx-sidebar.js +5 -3
  276. package/dist/components/ifx-sidebar.js.map +1 -1
  277. package/dist/components/ifx-slider.js +5 -3
  278. package/dist/components/ifx-slider.js.map +1 -1
  279. package/dist/components/ifx-spinner.js +1 -1
  280. package/dist/components/ifx-status.js +4 -2
  281. package/dist/components/ifx-status.js.map +1 -1
  282. package/dist/components/ifx-step.js +6 -4
  283. package/dist/components/ifx-step.js.map +1 -1
  284. package/dist/components/ifx-stepper.js +4 -2
  285. package/dist/components/ifx-stepper.js.map +1 -1
  286. package/dist/components/ifx-switch.js +4 -2
  287. package/dist/components/ifx-switch.js.map +1 -1
  288. package/dist/components/ifx-tab.js +4 -2
  289. package/dist/components/ifx-tab.js.map +1 -1
  290. package/dist/components/ifx-table.js +17 -15
  291. package/dist/components/ifx-table.js.map +1 -1
  292. package/dist/components/ifx-tabs.js +6 -4
  293. package/dist/components/ifx-tabs.js.map +1 -1
  294. package/dist/components/ifx-template.js +1 -1
  295. package/dist/components/ifx-templates-ui.js +12 -10
  296. package/dist/components/ifx-templates-ui.js.map +1 -1
  297. package/dist/components/ifx-text-field.js +1 -1
  298. package/dist/components/ifx-textarea.js +4 -2
  299. package/dist/components/ifx-textarea.js.map +1 -1
  300. package/dist/components/ifx-tooltip.js +5 -3
  301. package/dist/components/ifx-tooltip.js.map +1 -1
  302. package/dist/components/ifx-tree-view-item.js +6 -4
  303. package/dist/components/ifx-tree-view-item.js.map +1 -1
  304. package/dist/components/ifx-tree-view.js +4 -2
  305. package/dist/components/ifx-tree-view.js.map +1 -1
  306. package/dist/components/index.js +67 -25
  307. package/dist/components/index.js.map +1 -1
  308. package/dist/components/{p-BxahGQyq.js → p-1fzV7Zv1.js} +6 -4
  309. package/dist/components/p-1fzV7Zv1.js.map +1 -0
  310. package/dist/components/{p-DHLzWSzN.js → p-B0mNmKkJ.js} +12 -10
  311. package/dist/components/p-B0mNmKkJ.js.map +1 -0
  312. package/dist/components/{p-R79iWjuc.js → p-BDwn5rZl.js} +6 -4
  313. package/dist/components/p-BDwn5rZl.js.map +1 -0
  314. package/dist/components/{p-RF9z92mE.js → p-BH1fOB-w.js} +6 -4
  315. package/dist/components/p-BH1fOB-w.js.map +1 -0
  316. package/dist/components/{p-CnXEcTdH.js → p-BXtTIODa.js} +7 -5
  317. package/dist/components/p-BXtTIODa.js.map +1 -0
  318. package/dist/components/{p-Djr4amRx.js → p-B_8rp7VV.js} +8 -6
  319. package/dist/components/p-B_8rp7VV.js.map +1 -0
  320. package/dist/components/{p-v3vmQuAS.js → p-BgT5gPxL.js} +8 -6
  321. package/dist/components/p-BgT5gPxL.js.map +1 -0
  322. package/dist/components/{p-DRqwZrk0.js → p-Bl0VvOaG.js} +7 -5
  323. package/dist/components/p-Bl0VvOaG.js.map +1 -0
  324. package/dist/components/{p-BGgzlGhs.js → p-BoK1X1nJ.js} +6 -4
  325. package/dist/components/p-BoK1X1nJ.js.map +1 -0
  326. package/dist/components/{p-BQj9WQQe.js → p-Bt4MK7Mb.js} +7 -5
  327. package/dist/components/p-Bt4MK7Mb.js.map +1 -0
  328. package/dist/components/{p-DNZFFt4T.js → p-CB5foa-9.js} +8 -6
  329. package/dist/components/p-CB5foa-9.js.map +1 -0
  330. package/dist/components/{p-CcGE_f9F.js → p-CU8ZE6yG.js} +9 -7
  331. package/dist/components/p-CU8ZE6yG.js.map +1 -0
  332. package/dist/components/{p-C12r4j5b.js → p-CcrhUlD4.js} +6 -4
  333. package/dist/components/p-CcrhUlD4.js.map +1 -0
  334. package/dist/components/{p-F-WOWp_H.js → p-Cgqbp_bF.js} +7 -5
  335. package/dist/components/p-Cgqbp_bF.js.map +1 -0
  336. package/dist/components/{p-4wfkxGlJ.js → p-Clf62Zu5.js} +9 -7
  337. package/dist/components/p-Clf62Zu5.js.map +1 -0
  338. package/dist/components/{p-DdOsLLJc.js → p-Crf-DluO.js} +6 -4
  339. package/dist/components/p-Crf-DluO.js.map +1 -0
  340. package/dist/components/{p-esRQWwdS.js → p-DHAEg73D.js} +11 -9
  341. package/dist/components/p-DHAEg73D.js.map +1 -0
  342. package/dist/components/{p-BG0cmSVP.js → p-DPN13Knu.js} +9 -7
  343. package/dist/components/p-DPN13Knu.js.map +1 -0
  344. package/dist/components/{p-DhNY6ZGA.js → p-DPR3SJRC.js} +6 -4
  345. package/dist/components/p-DPR3SJRC.js.map +1 -0
  346. package/dist/components/{p-BR9GBwm3.js → p-Dy153Xeh.js} +6 -4
  347. package/dist/components/p-Dy153Xeh.js.map +1 -0
  348. package/dist/components/{p-DFInpODO.js → p-MPqVXeG4.js} +7 -5
  349. package/dist/components/p-MPqVXeG4.js.map +1 -0
  350. package/dist/components/{p-CRSbKJxa.js → p-YPIdsxYd.js} +7 -5
  351. package/dist/components/p-YPIdsxYd.js.map +1 -0
  352. package/dist/esm/ifx-accordion_2.entry.js +1 -3
  353. package/dist/esm/ifx-action-list-item.entry.js +1 -3
  354. package/dist/esm/ifx-action-list.entry.js +1 -3
  355. package/dist/esm/ifx-alert_2.entry.js +1 -3
  356. package/dist/esm/ifx-basic-table.entry.js +1 -3
  357. package/dist/esm/ifx-breadcrumb-item-label.entry.js +1 -3
  358. package/dist/esm/ifx-breadcrumb-item.entry.js +1 -3
  359. package/dist/esm/ifx-breadcrumb.entry.js +1 -3
  360. package/dist/esm/ifx-button.entry.js +1 -3
  361. package/dist/esm/ifx-card-headline.entry.js +1 -3
  362. package/dist/esm/ifx-card-image.entry.js +1 -3
  363. package/dist/esm/ifx-card-links.entry.js +1 -3
  364. package/dist/esm/ifx-card-overline.entry.js +1 -3
  365. package/dist/esm/ifx-card-text.entry.js +1 -3
  366. package/dist/esm/ifx-card.entry.js +1 -3
  367. package/dist/esm/ifx-checkbox-group.entry.js +1 -3
  368. package/dist/esm/ifx-checkbox.entry.js +1 -3
  369. package/dist/esm/ifx-chip_3.entry.js +1 -3
  370. package/dist/esm/ifx-content-switcher-item.entry.js +1 -3
  371. package/dist/esm/ifx-content-switcher.entry.js +1 -3
  372. package/dist/esm/ifx-date-picker.entry.js +1 -3
  373. package/dist/esm/ifx-download.entry.js +1 -3
  374. package/dist/esm/ifx-dropdown-header.entry.js +1 -3
  375. package/dist/esm/ifx-dropdown-item.entry.js +1 -3
  376. package/dist/esm/ifx-dropdown-menu.entry.js +1 -3
  377. package/dist/esm/ifx-dropdown-separator.entry.js +1 -3
  378. package/dist/esm/ifx-dropdown-trigger-button.entry.js +1 -3
  379. package/dist/esm/ifx-dropdown-trigger.entry.js +1 -3
  380. package/dist/esm/ifx-dropdown.entry.js +1 -3
  381. package/dist/esm/ifx-faq.entry.js +1 -3
  382. package/dist/esm/ifx-file-upload.entry.js +1 -3
  383. package/dist/esm/ifx-filter-accordion.entry.js +1 -3
  384. package/dist/esm/ifx-filter-bar.entry.js +1 -3
  385. package/dist/esm/ifx-filter-search.entry.js +1 -3
  386. package/dist/esm/ifx-filter-type-group.entry.js +1 -3
  387. package/dist/esm/ifx-footer-column.entry.js +1 -3
  388. package/dist/esm/ifx-footer.entry.js +1 -3
  389. package/dist/esm/ifx-icon-button.entry.js +1 -3
  390. package/dist/esm/ifx-icon.entry.js +1 -3
  391. package/dist/esm/ifx-icons-preview.entry.js +1 -3
  392. package/dist/esm/ifx-indicator.entry.js +1 -3
  393. package/dist/esm/ifx-link.entry.js +1 -3
  394. package/dist/esm/ifx-list-entry.entry.js +1 -3
  395. package/dist/esm/ifx-list.entry.js +1 -3
  396. package/dist/esm/ifx-modal.entry.js +1 -3
  397. package/dist/esm/ifx-modal.entry.js.map +1 -1
  398. package/dist/esm/ifx-multiselect_2.entry.js +1 -3
  399. package/dist/esm/ifx-navbar-item.entry.js +1 -3
  400. package/dist/esm/ifx-navbar-profile.entry.js +1 -3
  401. package/dist/esm/ifx-navbar.entry.js +1 -3
  402. package/dist/esm/ifx-notification.entry.js +1 -3
  403. package/dist/esm/ifx-overview-table.entry.js +1 -3
  404. package/dist/esm/ifx-progress-bar.entry.js +1 -3
  405. package/dist/esm/ifx-radio-button-group.entry.js +1 -3
  406. package/dist/esm/ifx-radio-button.entry.js +1 -3
  407. package/dist/esm/ifx-search-bar.entry.js +1 -3
  408. package/dist/esm/ifx-search-field.entry.js +1 -3
  409. package/dist/esm/ifx-segment.entry.js +1 -3
  410. package/dist/esm/ifx-segmented-control.entry.js +1 -3
  411. package/dist/esm/ifx-select.entry.js +1 -3
  412. package/dist/esm/ifx-set-filter.entry.js +1 -3
  413. package/dist/esm/ifx-sidebar-item.entry.js +1 -3
  414. package/dist/esm/ifx-sidebar-title.entry.js +1 -3
  415. package/dist/esm/ifx-sidebar.entry.js +1 -3
  416. package/dist/esm/ifx-slider.entry.js +1 -3
  417. package/dist/esm/ifx-spinner_2.entry.js +1 -3
  418. package/dist/esm/ifx-status.entry.js +1 -3
  419. package/dist/esm/ifx-step.entry.js +1 -3
  420. package/dist/esm/ifx-stepper.entry.js +1 -3
  421. package/dist/esm/ifx-switch.entry.js +1 -3
  422. package/dist/esm/ifx-tab.entry.js +1 -3
  423. package/dist/esm/ifx-table.entry.js +1 -3
  424. package/dist/esm/ifx-table.entry.js.map +1 -1
  425. package/dist/esm/ifx-tabs.entry.js +1 -3
  426. package/dist/esm/ifx-templates-ui.entry.js +1 -3
  427. package/dist/esm/ifx-textarea.entry.js +1 -3
  428. package/dist/esm/ifx-tooltip.entry.js +1 -3
  429. package/dist/esm/ifx-tree-view-item.entry.js +1 -3
  430. package/dist/esm/ifx-tree-view.entry.js +1 -3
  431. package/dist/esm/{index-PqnYwNKt.js → index-Bq-7EdcD.js} +88 -31
  432. package/dist/esm/index-Bq-7EdcD.js.map +1 -0
  433. package/dist/esm/index.js +0 -2
  434. package/dist/esm/infineon-design-system-stencil.js +4 -6
  435. package/dist/esm/infineon-design-system-stencil.js.map +1 -1
  436. package/dist/esm/loader.js +3 -5
  437. package/dist/infineon-design-system-stencil/ifx-modal.entry.esm.js.map +1 -1
  438. package/dist/infineon-design-system-stencil/ifx-table.entry.esm.js.map +1 -1
  439. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  440. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js.map +1 -1
  441. package/dist/infineon-design-system-stencil/{p-4669e01f.entry.js → p-007bb0d4.entry.js} +2 -2
  442. package/dist/infineon-design-system-stencil/p-007bb0d4.entry.js.map +1 -0
  443. package/dist/infineon-design-system-stencil/{p-1c1b1a1f.entry.js → p-06078b1f.entry.js} +2 -2
  444. package/dist/infineon-design-system-stencil/p-06078b1f.entry.js.map +1 -0
  445. package/dist/infineon-design-system-stencil/{p-0be8f0c9.entry.js → p-0bebb0de.entry.js} +2 -2
  446. package/dist/infineon-design-system-stencil/p-0bebb0de.entry.js.map +1 -0
  447. package/dist/infineon-design-system-stencil/{p-dcd0af23.entry.js → p-0e98b1aa.entry.js} +2 -2
  448. package/dist/infineon-design-system-stencil/p-0e98b1aa.entry.js.map +1 -0
  449. package/dist/infineon-design-system-stencil/{p-58dd6f5c.entry.js → p-10ecab1b.entry.js} +2 -2
  450. package/dist/infineon-design-system-stencil/p-10ecab1b.entry.js.map +1 -0
  451. package/dist/infineon-design-system-stencil/{p-9b06df76.entry.js → p-1746e211.entry.js} +2 -2
  452. package/dist/infineon-design-system-stencil/p-1746e211.entry.js.map +1 -0
  453. package/dist/infineon-design-system-stencil/{p-ff4cc197.entry.js → p-1939e98d.entry.js} +2 -2
  454. package/dist/infineon-design-system-stencil/p-1939e98d.entry.js.map +1 -0
  455. package/dist/infineon-design-system-stencil/{p-05f66dcb.entry.js → p-1c9012fe.entry.js} +2 -2
  456. package/dist/infineon-design-system-stencil/p-1c9012fe.entry.js.map +1 -0
  457. package/dist/infineon-design-system-stencil/{p-2b4b2b06.entry.js → p-1d9689b0.entry.js} +2 -2
  458. package/dist/infineon-design-system-stencil/p-1d9689b0.entry.js.map +1 -0
  459. package/dist/infineon-design-system-stencil/{p-ee04eb6e.entry.js → p-2128c3a9.entry.js} +2 -2
  460. package/dist/infineon-design-system-stencil/p-2128c3a9.entry.js.map +1 -0
  461. package/dist/infineon-design-system-stencil/{p-edbfa46e.entry.js → p-2151343a.entry.js} +2 -2
  462. package/dist/infineon-design-system-stencil/p-2151343a.entry.js.map +1 -0
  463. package/dist/infineon-design-system-stencil/{p-dbc6ae20.entry.js → p-233d0bd2.entry.js} +2 -2
  464. package/dist/infineon-design-system-stencil/p-233d0bd2.entry.js.map +1 -0
  465. package/dist/infineon-design-system-stencil/{p-4da5a2a5.entry.js → p-25297147.entry.js} +2 -2
  466. package/dist/infineon-design-system-stencil/p-25297147.entry.js.map +1 -0
  467. package/dist/infineon-design-system-stencil/{p-744c1c8e.entry.js → p-2ca43bf3.entry.js} +2 -2
  468. package/dist/infineon-design-system-stencil/p-2ca43bf3.entry.js.map +1 -0
  469. package/dist/infineon-design-system-stencil/{p-ca312cbb.entry.js → p-2f5b757e.entry.js} +2 -2
  470. package/dist/infineon-design-system-stencil/p-2f5b757e.entry.js.map +1 -0
  471. package/dist/infineon-design-system-stencil/{p-a85754a5.entry.js → p-31fa2365.entry.js} +3 -3
  472. package/dist/infineon-design-system-stencil/p-31fa2365.entry.js.map +1 -0
  473. package/dist/infineon-design-system-stencil/{p-d267f6d2.entry.js → p-338f6827.entry.js} +2 -2
  474. package/dist/infineon-design-system-stencil/p-338f6827.entry.js.map +1 -0
  475. package/dist/infineon-design-system-stencil/{p-3d77ef02.entry.js → p-3ac3d580.entry.js} +2 -2
  476. package/dist/infineon-design-system-stencil/p-3ac3d580.entry.js.map +1 -0
  477. package/dist/infineon-design-system-stencil/{p-06d2f85b.entry.js → p-3bb3ac65.entry.js} +2 -2
  478. package/dist/infineon-design-system-stencil/p-3bb3ac65.entry.js.map +1 -0
  479. package/dist/infineon-design-system-stencil/{p-92ee6f73.entry.js → p-3e703c9d.entry.js} +2 -2
  480. package/dist/infineon-design-system-stencil/p-3e703c9d.entry.js.map +1 -0
  481. package/dist/infineon-design-system-stencil/{p-6eb6af05.entry.js → p-416ce394.entry.js} +2 -2
  482. package/dist/infineon-design-system-stencil/p-416ce394.entry.js.map +1 -0
  483. package/dist/infineon-design-system-stencil/{p-c6826c1e.entry.js → p-4770ef94.entry.js} +2 -2
  484. package/dist/infineon-design-system-stencil/p-4770ef94.entry.js.map +1 -0
  485. package/dist/infineon-design-system-stencil/{p-97b2ac42.entry.js → p-477daa59.entry.js} +2 -2
  486. package/dist/infineon-design-system-stencil/p-477daa59.entry.js.map +1 -0
  487. package/dist/infineon-design-system-stencil/{p-35d2266a.entry.js → p-4a9ff9c4.entry.js} +2 -2
  488. package/dist/infineon-design-system-stencil/p-4a9ff9c4.entry.js.map +1 -0
  489. package/dist/infineon-design-system-stencil/{p-fcae5dc1.entry.js → p-5a279eb2.entry.js} +2 -2
  490. package/dist/infineon-design-system-stencil/p-5a279eb2.entry.js.map +1 -0
  491. package/dist/infineon-design-system-stencil/{p-e7c656cd.entry.js → p-5bddfe84.entry.js} +2 -2
  492. package/dist/infineon-design-system-stencil/p-5bddfe84.entry.js.map +1 -0
  493. package/dist/infineon-design-system-stencil/p-5cce03bf.entry.js +2 -0
  494. package/dist/infineon-design-system-stencil/p-5cce03bf.entry.js.map +1 -0
  495. package/dist/infineon-design-system-stencil/{p-0fb9f42b.entry.js → p-62010e7d.entry.js} +2 -2
  496. package/dist/infineon-design-system-stencil/p-62010e7d.entry.js.map +1 -0
  497. package/dist/infineon-design-system-stencil/{p-6e115707.entry.js → p-63d3ebeb.entry.js} +2 -2
  498. package/dist/infineon-design-system-stencil/p-63d3ebeb.entry.js.map +1 -0
  499. package/dist/infineon-design-system-stencil/{p-5b571505.entry.js → p-65aaabf2.entry.js} +2 -2
  500. package/dist/infineon-design-system-stencil/p-65aaabf2.entry.js.map +1 -0
  501. package/dist/infineon-design-system-stencil/p-6dd50243.entry.js +2 -0
  502. package/dist/infineon-design-system-stencil/p-6dd50243.entry.js.map +1 -0
  503. package/dist/infineon-design-system-stencil/{p-f2c8c7a6.entry.js → p-6f77f59d.entry.js} +2 -2
  504. package/dist/infineon-design-system-stencil/p-6f77f59d.entry.js.map +1 -0
  505. package/dist/infineon-design-system-stencil/{p-060845fd.entry.js → p-72264e5b.entry.js} +2 -2
  506. package/dist/infineon-design-system-stencil/p-72264e5b.entry.js.map +1 -0
  507. package/dist/infineon-design-system-stencil/{p-e6c4c4cf.entry.js → p-73c855a4.entry.js} +2 -2
  508. package/dist/infineon-design-system-stencil/p-73c855a4.entry.js.map +1 -0
  509. package/dist/infineon-design-system-stencil/{p-f1ba768a.entry.js → p-7ac20ef4.entry.js} +2 -2
  510. package/dist/infineon-design-system-stencil/p-7ac20ef4.entry.js.map +1 -0
  511. package/dist/infineon-design-system-stencil/{p-dac7d817.entry.js → p-81e4dc33.entry.js} +2 -2
  512. package/dist/infineon-design-system-stencil/p-81e4dc33.entry.js.map +1 -0
  513. package/dist/infineon-design-system-stencil/{p-2e172019.entry.js → p-824fea39.entry.js} +2 -2
  514. package/dist/infineon-design-system-stencil/p-824fea39.entry.js.map +1 -0
  515. package/dist/infineon-design-system-stencil/{p-273907cb.entry.js → p-83c22f84.entry.js} +2 -2
  516. package/dist/infineon-design-system-stencil/p-83c22f84.entry.js.map +1 -0
  517. package/dist/infineon-design-system-stencil/{p-169f26ae.entry.js → p-8a772962.entry.js} +2 -2
  518. package/dist/infineon-design-system-stencil/p-8a772962.entry.js.map +1 -0
  519. package/dist/infineon-design-system-stencil/{p-760cfc7e.entry.js → p-925e40f0.entry.js} +2 -2
  520. package/dist/infineon-design-system-stencil/p-925e40f0.entry.js.map +1 -0
  521. package/dist/infineon-design-system-stencil/{p-380368ca.entry.js → p-950f6deb.entry.js} +2 -2
  522. package/dist/infineon-design-system-stencil/p-950f6deb.entry.js.map +1 -0
  523. package/dist/infineon-design-system-stencil/{p-ce799b3d.entry.js → p-96bc02ea.entry.js} +2 -2
  524. package/dist/infineon-design-system-stencil/p-96bc02ea.entry.js.map +1 -0
  525. package/dist/infineon-design-system-stencil/p-981391c7.entry.js +2 -0
  526. package/dist/infineon-design-system-stencil/p-981391c7.entry.js.map +1 -0
  527. package/dist/infineon-design-system-stencil/{p-abd8bd80.entry.js → p-9a6089d5.entry.js} +2 -2
  528. package/dist/infineon-design-system-stencil/p-9a6089d5.entry.js.map +1 -0
  529. package/dist/infineon-design-system-stencil/{p-c578a728.entry.js → p-9ed4711b.entry.js} +2 -2
  530. package/dist/infineon-design-system-stencil/p-9ed4711b.entry.js.map +1 -0
  531. package/dist/infineon-design-system-stencil/p-Bq-7EdcD.js +3 -0
  532. package/dist/infineon-design-system-stencil/p-Bq-7EdcD.js.map +1 -0
  533. package/dist/infineon-design-system-stencil/{p-bd8c6834.entry.js → p-a4fb097a.entry.js} +2 -2
  534. package/dist/infineon-design-system-stencil/p-a4fb097a.entry.js.map +1 -0
  535. package/dist/infineon-design-system-stencil/{p-f06b0ae3.entry.js → p-a5c003d6.entry.js} +2 -2
  536. package/dist/infineon-design-system-stencil/p-a5c003d6.entry.js.map +1 -0
  537. package/dist/infineon-design-system-stencil/{p-9ba730bb.entry.js → p-a6cf79f3.entry.js} +2 -2
  538. package/dist/infineon-design-system-stencil/p-a6cf79f3.entry.js.map +1 -0
  539. package/dist/infineon-design-system-stencil/{p-fc359efa.entry.js → p-b12e396b.entry.js} +2 -2
  540. package/dist/infineon-design-system-stencil/p-b12e396b.entry.js.map +1 -0
  541. package/dist/infineon-design-system-stencil/{p-2503d869.entry.js → p-b1f9abc9.entry.js} +2 -2
  542. package/dist/infineon-design-system-stencil/p-b1f9abc9.entry.js.map +1 -0
  543. package/dist/infineon-design-system-stencil/{p-d4373c36.entry.js → p-b2066117.entry.js} +2 -2
  544. package/dist/infineon-design-system-stencil/p-b2066117.entry.js.map +1 -0
  545. package/dist/infineon-design-system-stencil/{p-6a07106e.entry.js → p-b2eb2f1a.entry.js} +2 -2
  546. package/dist/infineon-design-system-stencil/p-b2eb2f1a.entry.js.map +1 -0
  547. package/dist/infineon-design-system-stencil/{p-9517d1b0.entry.js → p-b332712f.entry.js} +2 -2
  548. package/dist/infineon-design-system-stencil/p-b332712f.entry.js.map +1 -0
  549. package/dist/infineon-design-system-stencil/{p-8ceb2ccc.entry.js → p-b3880945.entry.js} +2 -2
  550. package/dist/infineon-design-system-stencil/p-b3880945.entry.js.map +1 -0
  551. package/dist/infineon-design-system-stencil/{p-22e9960d.entry.js → p-b4b5caa9.entry.js} +2 -2
  552. package/dist/infineon-design-system-stencil/p-b4b5caa9.entry.js.map +1 -0
  553. package/dist/infineon-design-system-stencil/{p-d2b076fe.entry.js → p-b804f249.entry.js} +2 -2
  554. package/dist/infineon-design-system-stencil/p-b804f249.entry.js.map +1 -0
  555. package/dist/infineon-design-system-stencil/{p-5367db9d.entry.js → p-b9b806ee.entry.js} +2 -2
  556. package/dist/infineon-design-system-stencil/p-b9b806ee.entry.js.map +1 -0
  557. package/dist/infineon-design-system-stencil/{p-45dad0d1.entry.js → p-bd24344b.entry.js} +2 -2
  558. package/dist/infineon-design-system-stencil/p-bd24344b.entry.js.map +1 -0
  559. package/dist/infineon-design-system-stencil/{p-39561a49.entry.js → p-c2e0b4a4.entry.js} +2 -2
  560. package/dist/infineon-design-system-stencil/p-c2e0b4a4.entry.js.map +1 -0
  561. package/dist/infineon-design-system-stencil/{p-e3c11b6c.entry.js → p-c65ca68b.entry.js} +2 -2
  562. package/dist/infineon-design-system-stencil/p-c65ca68b.entry.js.map +1 -0
  563. package/dist/infineon-design-system-stencil/{p-d65a334c.entry.js → p-c896041a.entry.js} +2 -2
  564. package/dist/infineon-design-system-stencil/p-c896041a.entry.js.map +1 -0
  565. package/dist/infineon-design-system-stencil/{p-0929589d.entry.js → p-cba6f231.entry.js} +2 -2
  566. package/dist/infineon-design-system-stencil/p-cba6f231.entry.js.map +1 -0
  567. package/dist/infineon-design-system-stencil/{p-4fba0543.entry.js → p-ce392453.entry.js} +2 -2
  568. package/dist/infineon-design-system-stencil/p-ce392453.entry.js.map +1 -0
  569. package/dist/infineon-design-system-stencil/{p-116c853e.entry.js → p-cebd7759.entry.js} +2 -2
  570. package/dist/infineon-design-system-stencil/p-cebd7759.entry.js.map +1 -0
  571. package/dist/infineon-design-system-stencil/{p-3eeacac9.entry.js → p-d06b42ca.entry.js} +2 -2
  572. package/dist/infineon-design-system-stencil/p-d06b42ca.entry.js.map +1 -0
  573. package/dist/infineon-design-system-stencil/{p-ab326703.entry.js → p-d8f5253e.entry.js} +2 -2
  574. package/dist/infineon-design-system-stencil/p-d8f5253e.entry.js.map +1 -0
  575. package/dist/infineon-design-system-stencil/{p-5e3d0ff0.entry.js → p-dbaf7efe.entry.js} +2 -2
  576. package/dist/infineon-design-system-stencil/p-dbaf7efe.entry.js.map +1 -0
  577. package/dist/infineon-design-system-stencil/{p-8a58c2be.entry.js → p-ded7b72c.entry.js} +2 -2
  578. package/dist/infineon-design-system-stencil/p-ded7b72c.entry.js.map +1 -0
  579. package/dist/infineon-design-system-stencil/{p-9deaa65e.entry.js → p-dfcccf3a.entry.js} +2 -2
  580. package/dist/infineon-design-system-stencil/p-dfcccf3a.entry.js.map +1 -0
  581. package/dist/infineon-design-system-stencil/{p-beaba918.entry.js → p-e0f467af.entry.js} +2 -2
  582. package/dist/infineon-design-system-stencil/p-e0f467af.entry.js.map +1 -0
  583. package/dist/infineon-design-system-stencil/{p-94dfe026.entry.js → p-e4fe1f48.entry.js} +2 -2
  584. package/dist/infineon-design-system-stencil/p-e4fe1f48.entry.js.map +1 -0
  585. package/dist/infineon-design-system-stencil/{p-ca870353.entry.js → p-e73a47d4.entry.js} +2 -2
  586. package/dist/infineon-design-system-stencil/p-e73a47d4.entry.js.map +1 -0
  587. package/dist/infineon-design-system-stencil/{p-2813423a.entry.js → p-e789404b.entry.js} +2 -2
  588. package/dist/infineon-design-system-stencil/p-e789404b.entry.js.map +1 -0
  589. package/dist/infineon-design-system-stencil/{p-a4dd2fe1.entry.js → p-e8be789f.entry.js} +2 -2
  590. package/dist/infineon-design-system-stencil/p-e8be789f.entry.js.map +1 -0
  591. package/dist/infineon-design-system-stencil/{p-b7672947.entry.js → p-eabddf02.entry.js} +2 -2
  592. package/dist/infineon-design-system-stencil/p-eabddf02.entry.js.map +1 -0
  593. package/dist/infineon-design-system-stencil/{p-1d494424.entry.js → p-f0b5f4c6.entry.js} +2 -2
  594. package/dist/infineon-design-system-stencil/p-f0b5f4c6.entry.js.map +1 -0
  595. package/dist/infineon-design-system-stencil/{p-5fb3eb8b.entry.js → p-fb69c115.entry.js} +2 -2
  596. package/dist/infineon-design-system-stencil/p-fb69c115.entry.js.map +1 -0
  597. package/dist/types/stencil-public-runtime.d.ts +49 -2
  598. package/package.json +2 -2
  599. package/dist/cjs/ifx-accordion_2.cjs.entry.js.map +0 -1
  600. package/dist/cjs/ifx-action-list-item.cjs.entry.js.map +0 -1
  601. package/dist/cjs/ifx-action-list.cjs.entry.js.map +0 -1
  602. package/dist/cjs/ifx-alert_2.cjs.entry.js.map +0 -1
  603. package/dist/cjs/ifx-basic-table.cjs.entry.js.map +0 -1
  604. package/dist/cjs/ifx-breadcrumb-item-label.cjs.entry.js.map +0 -1
  605. package/dist/cjs/ifx-breadcrumb-item.cjs.entry.js.map +0 -1
  606. package/dist/cjs/ifx-breadcrumb.cjs.entry.js.map +0 -1
  607. package/dist/cjs/ifx-button.cjs.entry.js.map +0 -1
  608. package/dist/cjs/ifx-card-headline.cjs.entry.js.map +0 -1
  609. package/dist/cjs/ifx-card-image.cjs.entry.js.map +0 -1
  610. package/dist/cjs/ifx-card-links.cjs.entry.js.map +0 -1
  611. package/dist/cjs/ifx-card-overline.cjs.entry.js.map +0 -1
  612. package/dist/cjs/ifx-card-text.cjs.entry.js.map +0 -1
  613. package/dist/cjs/ifx-card.cjs.entry.js.map +0 -1
  614. package/dist/cjs/ifx-checkbox-group.cjs.entry.js.map +0 -1
  615. package/dist/cjs/ifx-checkbox.cjs.entry.js.map +0 -1
  616. package/dist/cjs/ifx-chip_3.cjs.entry.js.map +0 -1
  617. package/dist/cjs/ifx-content-switcher-item.cjs.entry.js.map +0 -1
  618. package/dist/cjs/ifx-content-switcher.cjs.entry.js.map +0 -1
  619. package/dist/cjs/ifx-date-picker.cjs.entry.js.map +0 -1
  620. package/dist/cjs/ifx-download.cjs.entry.js.map +0 -1
  621. package/dist/cjs/ifx-dropdown-header.cjs.entry.js.map +0 -1
  622. package/dist/cjs/ifx-dropdown-item.cjs.entry.js.map +0 -1
  623. package/dist/cjs/ifx-dropdown-menu.cjs.entry.js.map +0 -1
  624. package/dist/cjs/ifx-dropdown-separator.cjs.entry.js.map +0 -1
  625. package/dist/cjs/ifx-dropdown-trigger-button.cjs.entry.js.map +0 -1
  626. package/dist/cjs/ifx-dropdown-trigger.cjs.entry.js.map +0 -1
  627. package/dist/cjs/ifx-dropdown.cjs.entry.js.map +0 -1
  628. package/dist/cjs/ifx-faq.cjs.entry.js.map +0 -1
  629. package/dist/cjs/ifx-file-upload.cjs.entry.js.map +0 -1
  630. package/dist/cjs/ifx-filter-accordion.cjs.entry.js.map +0 -1
  631. package/dist/cjs/ifx-filter-bar.cjs.entry.js.map +0 -1
  632. package/dist/cjs/ifx-filter-search.cjs.entry.js.map +0 -1
  633. package/dist/cjs/ifx-filter-type-group.cjs.entry.js.map +0 -1
  634. package/dist/cjs/ifx-footer-column.cjs.entry.js.map +0 -1
  635. package/dist/cjs/ifx-footer.cjs.entry.js.map +0 -1
  636. package/dist/cjs/ifx-icon-button.cjs.entry.js.map +0 -1
  637. package/dist/cjs/ifx-icon.cjs.entry.js.map +0 -1
  638. package/dist/cjs/ifx-icons-preview.cjs.entry.js.map +0 -1
  639. package/dist/cjs/ifx-indicator.cjs.entry.js.map +0 -1
  640. package/dist/cjs/ifx-link.cjs.entry.js.map +0 -1
  641. package/dist/cjs/ifx-list-entry.cjs.entry.js.map +0 -1
  642. package/dist/cjs/ifx-list.cjs.entry.js.map +0 -1
  643. package/dist/cjs/ifx-modal.cjs.entry.js.map +0 -1
  644. package/dist/cjs/ifx-multiselect_2.cjs.entry.js.map +0 -1
  645. package/dist/cjs/ifx-navbar-item.cjs.entry.js.map +0 -1
  646. package/dist/cjs/ifx-navbar-profile.cjs.entry.js.map +0 -1
  647. package/dist/cjs/ifx-navbar.cjs.entry.js.map +0 -1
  648. package/dist/cjs/ifx-notification.cjs.entry.js.map +0 -1
  649. package/dist/cjs/ifx-overview-table.cjs.entry.js.map +0 -1
  650. package/dist/cjs/ifx-progress-bar.cjs.entry.js.map +0 -1
  651. package/dist/cjs/ifx-radio-button-group.cjs.entry.js.map +0 -1
  652. package/dist/cjs/ifx-radio-button.cjs.entry.js.map +0 -1
  653. package/dist/cjs/ifx-search-bar.cjs.entry.js.map +0 -1
  654. package/dist/cjs/ifx-search-field.cjs.entry.js.map +0 -1
  655. package/dist/cjs/ifx-segment.cjs.entry.js.map +0 -1
  656. package/dist/cjs/ifx-segmented-control.cjs.entry.js.map +0 -1
  657. package/dist/cjs/ifx-select.cjs.entry.js.map +0 -1
  658. package/dist/cjs/ifx-set-filter.cjs.entry.js.map +0 -1
  659. package/dist/cjs/ifx-sidebar-item.cjs.entry.js.map +0 -1
  660. package/dist/cjs/ifx-sidebar-title.cjs.entry.js.map +0 -1
  661. package/dist/cjs/ifx-sidebar.cjs.entry.js.map +0 -1
  662. package/dist/cjs/ifx-slider.cjs.entry.js.map +0 -1
  663. package/dist/cjs/ifx-spinner_2.cjs.entry.js.map +0 -1
  664. package/dist/cjs/ifx-status.cjs.entry.js.map +0 -1
  665. package/dist/cjs/ifx-step.cjs.entry.js.map +0 -1
  666. package/dist/cjs/ifx-stepper.cjs.entry.js.map +0 -1
  667. package/dist/cjs/ifx-switch.cjs.entry.js.map +0 -1
  668. package/dist/cjs/ifx-tab.cjs.entry.js.map +0 -1
  669. package/dist/cjs/ifx-table.cjs.entry.js.map +0 -1
  670. package/dist/cjs/ifx-tabs.cjs.entry.js.map +0 -1
  671. package/dist/cjs/ifx-templates-ui.cjs.entry.js.map +0 -1
  672. package/dist/cjs/ifx-textarea.cjs.entry.js.map +0 -1
  673. package/dist/cjs/ifx-tooltip.cjs.entry.js.map +0 -1
  674. package/dist/cjs/ifx-tree-view-item.cjs.entry.js.map +0 -1
  675. package/dist/cjs/ifx-tree-view.cjs.entry.js.map +0 -1
  676. package/dist/cjs/index-Dc5gCGlQ.js.map +0 -1
  677. package/dist/components/p-4wfkxGlJ.js.map +0 -1
  678. package/dist/components/p-BG0cmSVP.js.map +0 -1
  679. package/dist/components/p-BGgzlGhs.js.map +0 -1
  680. package/dist/components/p-BQj9WQQe.js.map +0 -1
  681. package/dist/components/p-BR9GBwm3.js.map +0 -1
  682. package/dist/components/p-BxahGQyq.js.map +0 -1
  683. package/dist/components/p-C12r4j5b.js.map +0 -1
  684. package/dist/components/p-CRSbKJxa.js.map +0 -1
  685. package/dist/components/p-CcGE_f9F.js.map +0 -1
  686. package/dist/components/p-CnXEcTdH.js.map +0 -1
  687. package/dist/components/p-DFInpODO.js.map +0 -1
  688. package/dist/components/p-DHLzWSzN.js.map +0 -1
  689. package/dist/components/p-DNZFFt4T.js.map +0 -1
  690. package/dist/components/p-DRqwZrk0.js.map +0 -1
  691. package/dist/components/p-DdOsLLJc.js.map +0 -1
  692. package/dist/components/p-DhNY6ZGA.js.map +0 -1
  693. package/dist/components/p-Djr4amRx.js.map +0 -1
  694. package/dist/components/p-F-WOWp_H.js.map +0 -1
  695. package/dist/components/p-R79iWjuc.js.map +0 -1
  696. package/dist/components/p-RF9z92mE.js.map +0 -1
  697. package/dist/components/p-esRQWwdS.js.map +0 -1
  698. package/dist/components/p-v3vmQuAS.js.map +0 -1
  699. package/dist/esm/ifx-accordion_2.entry.js.map +0 -1
  700. package/dist/esm/ifx-alert_2.entry.js.map +0 -1
  701. package/dist/esm/ifx-chip_3.entry.js.map +0 -1
  702. package/dist/esm/ifx-multiselect_2.entry.js.map +0 -1
  703. package/dist/esm/ifx-spinner_2.entry.js.map +0 -1
  704. package/dist/esm/index-PqnYwNKt.js.map +0 -1
  705. package/dist/infineon-design-system-stencil/p-05f66dcb.entry.js.map +0 -1
  706. package/dist/infineon-design-system-stencil/p-060845fd.entry.js.map +0 -1
  707. package/dist/infineon-design-system-stencil/p-06d2f85b.entry.js.map +0 -1
  708. package/dist/infineon-design-system-stencil/p-0929589d.entry.js.map +0 -1
  709. package/dist/infineon-design-system-stencil/p-0be8f0c9.entry.js.map +0 -1
  710. package/dist/infineon-design-system-stencil/p-0fb9f42b.entry.js.map +0 -1
  711. package/dist/infineon-design-system-stencil/p-116c853e.entry.js.map +0 -1
  712. package/dist/infineon-design-system-stencil/p-169f26ae.entry.js.map +0 -1
  713. package/dist/infineon-design-system-stencil/p-1c1b1a1f.entry.js.map +0 -1
  714. package/dist/infineon-design-system-stencil/p-1d494424.entry.js.map +0 -1
  715. package/dist/infineon-design-system-stencil/p-22e9960d.entry.js.map +0 -1
  716. package/dist/infineon-design-system-stencil/p-2503d869.entry.js.map +0 -1
  717. package/dist/infineon-design-system-stencil/p-273907cb.entry.js.map +0 -1
  718. package/dist/infineon-design-system-stencil/p-2813423a.entry.js.map +0 -1
  719. package/dist/infineon-design-system-stencil/p-2b4b2b06.entry.js.map +0 -1
  720. package/dist/infineon-design-system-stencil/p-2e172019.entry.js.map +0 -1
  721. package/dist/infineon-design-system-stencil/p-307e6a72.entry.js +0 -2
  722. package/dist/infineon-design-system-stencil/p-307e6a72.entry.js.map +0 -1
  723. package/dist/infineon-design-system-stencil/p-35d2266a.entry.js.map +0 -1
  724. package/dist/infineon-design-system-stencil/p-380368ca.entry.js.map +0 -1
  725. package/dist/infineon-design-system-stencil/p-39561a49.entry.js.map +0 -1
  726. package/dist/infineon-design-system-stencil/p-3d77ef02.entry.js.map +0 -1
  727. package/dist/infineon-design-system-stencil/p-3eeacac9.entry.js.map +0 -1
  728. package/dist/infineon-design-system-stencil/p-45dad0d1.entry.js.map +0 -1
  729. package/dist/infineon-design-system-stencil/p-4669e01f.entry.js.map +0 -1
  730. package/dist/infineon-design-system-stencil/p-4da5a2a5.entry.js.map +0 -1
  731. package/dist/infineon-design-system-stencil/p-4fba0543.entry.js.map +0 -1
  732. package/dist/infineon-design-system-stencil/p-5367db9d.entry.js.map +0 -1
  733. package/dist/infineon-design-system-stencil/p-58dd6f5c.entry.js.map +0 -1
  734. package/dist/infineon-design-system-stencil/p-5b571505.entry.js.map +0 -1
  735. package/dist/infineon-design-system-stencil/p-5e3d0ff0.entry.js.map +0 -1
  736. package/dist/infineon-design-system-stencil/p-5fb3eb8b.entry.js.map +0 -1
  737. package/dist/infineon-design-system-stencil/p-6a07106e.entry.js.map +0 -1
  738. package/dist/infineon-design-system-stencil/p-6e115707.entry.js.map +0 -1
  739. package/dist/infineon-design-system-stencil/p-6eb6af05.entry.js.map +0 -1
  740. package/dist/infineon-design-system-stencil/p-744c1c8e.entry.js.map +0 -1
  741. package/dist/infineon-design-system-stencil/p-760cfc7e.entry.js.map +0 -1
  742. package/dist/infineon-design-system-stencil/p-8a58c2be.entry.js.map +0 -1
  743. package/dist/infineon-design-system-stencil/p-8ceb2ccc.entry.js.map +0 -1
  744. package/dist/infineon-design-system-stencil/p-92ee6f73.entry.js.map +0 -1
  745. package/dist/infineon-design-system-stencil/p-94dfe026.entry.js.map +0 -1
  746. package/dist/infineon-design-system-stencil/p-9517d1b0.entry.js.map +0 -1
  747. package/dist/infineon-design-system-stencil/p-97b2ac42.entry.js.map +0 -1
  748. package/dist/infineon-design-system-stencil/p-9b06df76.entry.js.map +0 -1
  749. package/dist/infineon-design-system-stencil/p-9ba730bb.entry.js.map +0 -1
  750. package/dist/infineon-design-system-stencil/p-9deaa65e.entry.js.map +0 -1
  751. package/dist/infineon-design-system-stencil/p-PqnYwNKt.js +0 -3
  752. package/dist/infineon-design-system-stencil/p-PqnYwNKt.js.map +0 -1
  753. package/dist/infineon-design-system-stencil/p-a4dd2fe1.entry.js.map +0 -1
  754. package/dist/infineon-design-system-stencil/p-a85754a5.entry.js.map +0 -1
  755. package/dist/infineon-design-system-stencil/p-ab326703.entry.js.map +0 -1
  756. package/dist/infineon-design-system-stencil/p-abd8bd80.entry.js.map +0 -1
  757. package/dist/infineon-design-system-stencil/p-b7672947.entry.js.map +0 -1
  758. package/dist/infineon-design-system-stencil/p-bd8c6834.entry.js.map +0 -1
  759. package/dist/infineon-design-system-stencil/p-beaba918.entry.js.map +0 -1
  760. package/dist/infineon-design-system-stencil/p-c578a728.entry.js.map +0 -1
  761. package/dist/infineon-design-system-stencil/p-c6826c1e.entry.js.map +0 -1
  762. package/dist/infineon-design-system-stencil/p-ca312cbb.entry.js.map +0 -1
  763. package/dist/infineon-design-system-stencil/p-ca870353.entry.js.map +0 -1
  764. package/dist/infineon-design-system-stencil/p-ce799b3d.entry.js.map +0 -1
  765. package/dist/infineon-design-system-stencil/p-d267f6d2.entry.js.map +0 -1
  766. package/dist/infineon-design-system-stencil/p-d2b076fe.entry.js.map +0 -1
  767. package/dist/infineon-design-system-stencil/p-d4373c36.entry.js.map +0 -1
  768. package/dist/infineon-design-system-stencil/p-d65a334c.entry.js.map +0 -1
  769. package/dist/infineon-design-system-stencil/p-dac7d817.entry.js.map +0 -1
  770. package/dist/infineon-design-system-stencil/p-dbc6ae20.entry.js.map +0 -1
  771. package/dist/infineon-design-system-stencil/p-dcd0af23.entry.js.map +0 -1
  772. package/dist/infineon-design-system-stencil/p-e3c11b6c.entry.js.map +0 -1
  773. package/dist/infineon-design-system-stencil/p-e6c4c4cf.entry.js.map +0 -1
  774. package/dist/infineon-design-system-stencil/p-e78ffc43.entry.js +0 -2
  775. package/dist/infineon-design-system-stencil/p-e78ffc43.entry.js.map +0 -1
  776. package/dist/infineon-design-system-stencil/p-e7c656cd.entry.js.map +0 -1
  777. package/dist/infineon-design-system-stencil/p-edbfa46e.entry.js.map +0 -1
  778. package/dist/infineon-design-system-stencil/p-ee04eb6e.entry.js.map +0 -1
  779. package/dist/infineon-design-system-stencil/p-f06b0ae3.entry.js.map +0 -1
  780. package/dist/infineon-design-system-stencil/p-f1ba768a.entry.js.map +0 -1
  781. package/dist/infineon-design-system-stencil/p-f2c8c7a6.entry.js.map +0 -1
  782. package/dist/infineon-design-system-stencil/p-fb92000d.entry.js +0 -2
  783. package/dist/infineon-design-system-stencil/p-fb92000d.entry.js.map +0 -1
  784. package/dist/infineon-design-system-stencil/p-fc359efa.entry.js.map +0 -1
  785. package/dist/infineon-design-system-stencil/p-fcae5dc1.entry.js.map +0 -1
  786. package/dist/infineon-design-system-stencil/p-ff4cc197.entry.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"names":["navbarItemCss","NavbarItem","constructor","hostRef","this","showLabel","icon","href","target","hideOnMobile","internalHref","isMenuItem","hasChildNavItems","isSidebarMenuItem","dotIndicator","handleFocusOut","event","parentTag","_b","_a","el","parentElement","tagName","toUpperCase","isStillInComponent","isFocusWithinComponent","relatedTarget","closeItemMenu","ifxNavItem","emit","component","action","handleNestedLayerMenu","handleOutsideClick","path","composedPath","itemMenu","getItemMenu","classList","contains","includes","hideComponent","style","display","showComponent","toggleChildren","arrowIcon","getChevronDownIconWrapper","handleClassList","moveChildComponentsIntoSubLayerMenu","subLayerMenu","subLayerMenuIsOpened","navbarItem","getNavBarItem","subLayerBackButton","getSubLayerBackButton","navItems","querySelectorAll","i","length","setAttribute","sublayerBackButton","shadowRoot","querySelector","toggleFirstLayerItem","actionOne","actionTwo","secondLayerMenu","getSubLayerMenu","openSubLayerMenu","rightArrowIcon","getRightArrowIcon","slotName","getAttribute","toLowerCase","parent","addMenuItemClass","moveChildComponentsBackIntoNavbar","returnToFirstLayer","menuItemRightIconWrapper","componentWillLoad","setHref","checkIfItemIsNested","checkIfItemHasChildren","removeEmptyItem","componentDidLoad","handleItemGap","handleLabelWrapper","getNavbarItems","relocateItemsToFirstlayer","componentDidUpdate","isLayerItemParent","setMenuItemPosition","menuPosition","getItemMenuPosition","itemPosition","type","className","navItem","forEach","item","trim","undefined","sidebarItems","setItemSideSpecifications","menuItem","slotValue","menu","getParentItemMenu","slot","getRootNode","host","toggleItemMenu","parentItemMenu","e","isInLightDOM","isInShadowDOM","rootNode","ShadowRoot","labelWrapper","assignedNodes","add","remove","innerContentWrapper","numberIndicatorWrapper","numberIndicator","hostElement","handleKeyDown","key","stopPropagation","preventDefault","render","h","tabIndex","class","onMouseLeave","onKeyDown","onMouseEnter","onClick","tabindex","isNaN","variant","number","name"],"sources":["src/components/navigation/navbar/navbar-item.scss?tag=ifx-navbar-item&encapsulation=shadow","src/components/navigation/navbar/navbar-item.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n:host(.hidden) {\n display: none;\n}\n\n.navbar__item {\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0px 8px;\n flex: none;\n order: 0;\n flex-grow: 0;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n text-decoration: none;\n font-weight: 400;\n font-size: 16px;\n color: tokens.$ifxColorBaseBlack;\n\n \n\n &.hide { \n display: none;\n }\n\n &.isParent { \n gap: 8px;\n }\n\n & .navItemIconWrapper { \n transition: .3s;\n display: flex;\n }\n\n &.open { \n & .navItemIconWrapper { \n transform: rotate(-180deg);\n transition: .3s;\n }\n }\n\n &:hover {\n color: tokens.$ifxColorOcean500;\n cursor: pointer;\n\n & .username__tooltip { \n display: block;\n }\n\n & .navbar__container-right-content-navigation-item-icon-wrapper { \n & .initials__wrapper { \n cursor: pointer;\n background-color: tokens.$ifxColorOcean600;\n }\n }\n }\n\n &.remove {\n display: none;\n }\n\n &.removeLabel {\n & .label__wrapper {\n display: none;\n }\n }\n\n & .number__indicator-wrapper { \n position: relative;\n top: -11px;\n }\n\n & .navbar__container-right-content-navigation-item-icon-wrapper {\n position: relative;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n padding: 0px;\n gap: 8px;\n flex: none;\n order: 0;\n flex-grow: 0;\n\n \n & .username__tooltip { \n display: none;\n position: absolute;\n top: 35px;\n right: 0;\n text-wrap: nowrap;\n padding: 1px 5px;\n font-size: 13px;\n font-family: \"Source Sans 3\";\n background-color: black;\n color: #fff;\n z-index: 99;\n }\n\n &:hover { \n & .username__tooltip { \n display: block;\n }\n }\n\n & .initials__wrapper { \n display: flex;\n width: 24px;\n height: 24px;\n justify-content: center;\n align-items: center;\n border-radius: 100%;\n background-color: tokens.$ifxColorOcean500;\n\n\n & .initials { \n color: #FFF;\n text-align: center;\n font-family: \"Source Sans 3\";\n font-size: 14px;\n font-style: normal;\n font-weight: 600;\n line-height: 20px; \n\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n \n }\n }\n\n & img { \n width: 24px; \n height: 24px;\n border-radius: 100%;\n }\n\n &.removeWrapper {\n display: none;\n }\n\n &.hide {\n display: none;\n }\n }\n}\n\n.container { \n position: relative;\n \n &:focus{\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean500;\n }\n\n & .sub__layer-back-button { \n display: none;\n &.show { \n display: flex;\n justify-content: flex-start;\n\n & .back__button-wrapper { \n display: flex;\n align-items: center;\n gap: tokens.$ifxSpace100;\n padding: tokens.$ifxSpace100 0 tokens.$ifxSpace200 0;\n color: tokens.$ifxColorOcean500;\n font-size: 16px;\n font-style: normal;\n font-weight: 600;\n line-height: 24px;\n\n & span, & ifx-icon { \n &:hover { \n cursor: pointer;\n }\n }\n\n }\n }\n }\n\n &.hide { \n display: none;\n }\n\n & .inner__content-wrapper { \n position: relative;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 8px;\n &.no-gap { \n gap: 0px;\n }\n\n & .navbar__container-right-content-navigation-item-icon-wrapper {\n &.no-gap { \n gap: 0px;\n }\n }\n\n & .number__indicator-wrapper { \n position: relative;\n top: -11px;\n }\n\n }\n}\n\n.navbar-menu {\n position: absolute;\n display: none;\n list-style-type: none;\n visibility: visible;\n flex-direction: column;\n width: 224px;\n min-width: 224px;\n background: tokens.$ifxColorBaseWhite;\n box-shadow: 0px 6px 9px 0px #1d1d1d1a;\n border: 1px solid tokens.$ifxColorEngineering200;\n padding: 8px 0px;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n &.open:not(.itemInMobileMenu) {\n display: flex;\n }\n\n &.itemInMobileMenu { \n display: none;\n }\n\n &.right { \n left: 100%;\n top: -40%;\n }\n\n &.left { \n top: -40%;\n right: 100%;\n }\n\n &.rightSideItemMenu { \n left: initial;\n right: 0px;\n }\n}\n\n.navbar__item { \n &.layer__item-parent { \n color: tokens.$ifxColorBaseBlack;\n font-size: 24px;\n font-style: normal;\n font-weight: 600;\n line-height: 32px; \n letter-spacing: -0.24px;\n cursor: initial;\n\n & .navbar__container-right-content-navigation-item-icon-wrapper { \n & ifx-icon { \n & svg { \n width: 24px;\n height: 24px;\n }\n }\n }\n }\n\n\n &.sidebarMenuItem { \n justify-content: space-between;\n padding: 0;\n }\n\n\n &.menuItem {\n text-decoration: none;\n color: tokens.$ifxColorBaseBlack;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 16px;\n gap: 8px;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n \n &.hide {\n display: none;\n }\n \n & .label__wrapper {\n color: tokens.$ifxColorBaseBlack;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 24px;\n }\n \n &:hover {\n cursor: pointer;\n background-color: tokens.$ifxColorEngineering200;\n }\n \n &:active {\n background-color: tokens.$ifxColorEngineering300;\n }\n }\n}\n\n.sub__layer-menu { \n padding: 5px;\n display: none;\n\n &.remove__margin { \n margin: 0;\n padding: 0;\n }\n \n &.open { \n display: block;\n }\n}\n\n.navbar__item { \n &.hide { \n display: none;\n }\n}\n\n.menuItemRightIconWrapper { \n &.hide { \n display: none;\n }\n}\n\n.navItemIconWrapper { \n &.hide { \n display: none;\n }\n}\n\n","import { Component, h, Element, Prop, State, Listen, Method, Event, EventEmitter } from \"@stencil/core\";\n\n@Component({\n tag: 'ifx-navbar-item',\n styleUrl: 'navbar-item.scss',\n shadow: true\n})\n\nexport class NavbarItem {\n @Element() el;\n @Prop() showLabel: boolean = true;\n @Prop() icon: string = \"\"\n @Prop() href: string = \"\"\n @Prop() target: string = \"_self\";\n @Prop() hideOnMobile: boolean = true;\n @State() internalHref: string = \"\"\n @State() isMenuItem: boolean = false;\n @State() hasChildNavItems: boolean = false;\n @State() isSidebarMenuItem: boolean = false;\n @State() itemPosition: string;\n @Event() ifxNavItem: EventEmitter;\n @Prop() numberIndicator: number;\n @Prop() dotIndicator: boolean = false;\n\n @Listen('focusout')\n handleFocusOut(event: FocusEvent) {\n const parentTag = this.el.parentElement?.tagName?.toUpperCase();\n\n if (parentTag === 'IFX-NAVBAR') {\n const isStillInComponent = this.isFocusWithinComponent(event.relatedTarget);\n if (!isStillInComponent) {\n this.closeItemMenu();\n this.ifxNavItem.emit({ component: this.el, action: 'hideFirstLayer' });\n }\n return;\n }\n\n this.handleNestedLayerMenu(event);\n }\n\n @Listen('mousedown', { target: 'document' })\n handleOutsideClick(event: MouseEvent) {\n const path = event.composedPath();\n const itemMenu = this.getItemMenu()\n if(itemMenu) { \n if(itemMenu.classList.contains('open')) { \n if (!path.includes(this.el)) {\n this.closeItemMenu();\n }\n }\n }\n }\n\n @Method()\n async hideComponent() { \n this.el.style.display = 'none';\n }\n\n @Method()\n async showComponent() { \n this.el.style.display = '';\n }\n\n @Method()\n async toggleChildren(action) { \n const itemMenu = this.getItemMenu()\n const arrowIcon = this.getChevronDownIconWrapper()\n if(itemMenu) { \n this.handleClassList(arrowIcon, action, 'hide')\n this.handleClassList(itemMenu, action, 'itemInMobileMenu')\n }\n }\n\n @Method()\n async moveChildComponentsIntoSubLayerMenu() { \n const subLayerMenu = this.getItemMenu()\n if(subLayerMenu) { \n const subLayerMenuIsOpened = this.handleClassList(subLayerMenu, 'contains', 'open')\n if(subLayerMenuIsOpened) { \n const navbarItem = this.getNavBarItem()\n const subLayerBackButton = this.getSubLayerBackButton()\n this.handleClassList(navbarItem, 'add', 'layer__item-parent')\n this.handleClassList(subLayerBackButton, 'add', 'show')\n this.ifxNavItem.emit({component: this.el, action: 'hideFirstLayer'})\n }\n }\n\n const navItems = this.el.querySelectorAll('[slot=\"first__layer\"]')\n this.isSidebarMenuItem = true;\n\n for(let i = 0; i < navItems.length; i++) { \n navItems[i].setAttribute('slot', 'second__layer')\n navItems[i].moveChildComponentsIntoSubLayerMenu()\n }\n }\n\n getSubLayerBackButton() { \n const sublayerBackButton = this.el.shadowRoot.querySelector('.sub__layer-back-button')\n return sublayerBackButton\n }\n\n @Method()\n async toggleFirstLayerItem(actionOne, actionTwo) { \n const navbarItem = this.getNavBarItem()\n const secondLayerMenu = this.getSubLayerMenu()\n const subLayerBackButton = this.getSubLayerBackButton()\n this.handleClassList(subLayerBackButton, [actionOne], 'show')\n this.handleClassList(navbarItem, [actionTwo], 'hide')\n this.handleClassList(secondLayerMenu, [actionTwo], 'remove__margin')\n }\n\n openSubLayerMenu() { \n if(this.hasChildNavItems) { \n const subLayerBackButton = this.getSubLayerBackButton()\n const rightArrowIcon = this.getRightArrowIcon()\n const navbarItem = this.getNavBarItem()\n const subLayerMenu = this.getSubLayerMenu()\n const slotName = this.el.getAttribute('slot')\n\n this.handleClassList(subLayerBackButton, 'add', 'show')\n this.handleClassList(rightArrowIcon, 'add', 'hide')\n this.handleClassList(navbarItem, 'add', 'layer__item-parent')\n this.handleClassList(subLayerMenu, 'add', 'open')\n \n if(slotName.toLowerCase() === 'second__layer') {\n this.ifxNavItem.emit({component: this.el, parent: this.el.parentElement, action: 'hideSecondLayer'})\n this.handleClassList(navbarItem, 'remove', 'menuItem')\n } else { \n this.ifxNavItem.emit({component: this.el, action: 'hideFirstLayer'})\n }\n }\n }\n\n @Method()\n async addMenuItemClass() { \n const navbarItem = this.getNavBarItem()\n this.handleClassList(navbarItem, 'add', 'menuItem')\n const rightArrowIcon = this.getRightArrowIcon()\n if(this.hasChildNavItems) { \n this.handleClassList(rightArrowIcon, 'remove', 'hide')\n }\n }\n\n @Method()\n async moveChildComponentsBackIntoNavbar() { \n const subLayerBackButton = this.getSubLayerBackButton()\n const navbarItem = this.getNavBarItem()\n const secondLayerMenu = this.getSubLayerMenu()\n\n this.handleClassList(subLayerBackButton, 'remove', 'show')\n this.handleClassList(navbarItem, 'remove', 'layer__item-parent')\n this.handleClassList(secondLayerMenu, 'remove', 'remove__margin')\n\n this.ifxNavItem.emit({component: this.el, action: 'show'})\n\n const navItems = this.el.querySelectorAll('[slot=\"second__layer\"]')\n this.isSidebarMenuItem = false;\n this.showComponent()\n this.handleClassList(navbarItem, 'remove', 'hide')\n\n for(let i = 0; i < navItems.length; i++) { \n navItems[i].setAttribute('slot', 'first__layer')\n navItems[i].moveChildComponentsBackIntoNavbar()\n navItems[i].addMenuItemClass()\n navItems[i].returnToFirstLayer()\n }\n }\n\n getRightArrowIcon() { \n const menuItemRightIconWrapper = this.el.shadowRoot.querySelector('.menuItemRightIconWrapper')\n return menuItemRightIconWrapper;\n }\n\n getChevronDownIconWrapper() { \n const arrowIcon = this.el.shadowRoot.querySelector('.navItemIconWrapper');\n return arrowIcon;\n }\n\n @Method()\n async returnToFirstLayer() { \n const subLayerBackButton = this.getSubLayerBackButton()\n const navbarItem = this.getNavBarItem()\n const rightArrowIcon = this.getRightArrowIcon()\n const subLayerMenu = this.getSubLayerMenu()\n const slotName = this.el.getAttribute('slot')\n\n this.handleClassList(subLayerBackButton, 'remove', 'show')\n this.handleClassList(navbarItem, 'remove', 'layer__item-parent')\n this.handleClassList(subLayerMenu, 'remove', 'open')\n if(this.hasChildNavItems) { \n this.handleClassList(rightArrowIcon, 'remove', 'hide')\n }\n\n if(slotName.toLowerCase() === 'second__layer') {\n this.ifxNavItem.emit({component: this.el, parent: this.el.parentElement, action: 'returnToSecondLayer'})\n this.handleClassList(navbarItem, 'add', 'menuItem')\n } else { \n this.ifxNavItem.emit({component: this.el, action: 'return'})\n }\n }\n\n componentWillLoad() {\n this.setHref()\n this.checkIfItemIsNested()\n this.checkIfItemHasChildren()\n this.removeEmptyItem()\n }\n\n componentDidLoad() { \n this.handleItemGap()\n this.handleLabelWrapper()\n if(this.hasChildNavItems) { \n const navItems = this.getNavbarItems();\n this.relocateItemsToFirstlayer(navItems)\n }\n }\n\n componentDidUpdate() { \n const navbarItem = this.getNavBarItem()\n const isLayerItemParent = this.handleClassList(navbarItem, 'contains', 'layer__item-parent')\n if(this.isSidebarMenuItem && isLayerItemParent) {\n const rightArrowIcon = this.getRightArrowIcon()\n this.handleClassList(rightArrowIcon, 'add', 'hide')\n }\n }\n\n @Method()\n async setMenuItemPosition() { \n if(this.isMenuItem && this.hasChildNavItems) { \n const menuPosition = this.getItemMenuPosition()\n if(menuPosition === 'left') { \n this.itemPosition = 'left'\n } else if(menuPosition === 'right') { \n this.itemPosition = 'right'\n }\n }\n }\n\n handleClassList(el, type, className) {\n if (!el) return false;\n el.classList[type](className)\n if (type === 'contains') {\n return el.classList.contains(className)\n }\n }\n\n getNavbarItems() {\n const navItems = this.el.querySelectorAll('ifx-navbar-item')\n return navItems;\n }\n \n getNavBarItem() { \n const navItem = this.el.shadowRoot.querySelector('.navbar__item')\n return navItem;\n }\n\n getSubLayerMenu() { \n const subLayerMenu = this.el.shadowRoot.querySelector('.sub__layer-menu')\n return subLayerMenu;\n }\n\n relocateItemsToFirstlayer(navItems) { \n navItems.forEach(item => {\n item.setAttribute('slot', 'first__layer')\n })\n }\n\n setHref() {\n if (this.href.toLowerCase().trim() === \"\") {\n this.internalHref = undefined;\n } else this.internalHref = this.href;\n }\n\n checkIfItemIsNested() {\n const parentElement = this.el.parentElement;\n if (parentElement.tagName.toUpperCase() === 'IFX-NAVBAR-ITEM' \n || parentElement.tagName.toUpperCase() === 'IFX-NAVBAR-PROFILE') {\n this.isMenuItem = true;\n return;\n } else {\n this.isMenuItem = false;\n }\n }\n\n checkIfItemHasChildren() { \n const sidebarItems = this.getNavbarItems();\n if (sidebarItems.length !== 0) {\n this.hasChildNavItems = true;\n } else {\n this.hasChildNavItems = false;\n } \n }\n\n @Method()\n async setItemSideSpecifications() { \n const menuItem = this.el;\n const itemMenu = this.getItemMenu()\n const slotValue = menuItem.getAttribute('slot')\n\n if(slotValue.toLowerCase().trim() === \"right-item\") { \n this.handleClassList(itemMenu, 'add', 'rightSideItemMenu')\n }\n\n return true;\n }\n\n getItemMenu() {\n const menu = this.el.shadowRoot.querySelector('.navbar-menu');\n return menu;\n }\n\n getParentItemMenu() {\n return this.el.parentElement?.shadowRoot.querySelector('.navbar-menu');\n }\n\n closeItemMenu() {\n const itemMenu = this.getItemMenu();\n const menuItem = this.getNavBarItem();\n\n if (itemMenu) {\n this.handleClassList(itemMenu, 'remove', 'open');\n this.handleClassList(menuItem, 'remove', 'open');\n }\n }\n\n getItemMenuPosition() {\n let parentElement = this.el;\n while(parentElement) {\n if(parentElement.tagName === 'IFX-NAVBAR-PROFILE' || parentElement.slot === 'right-item') {\n return 'left'\n }\n parentElement = parentElement.parentElement || parentElement.getRootNode().host;\n }\n return 'right'\n }\n \n toggleItemMenu() {\n const slotName = this.el.getAttribute('slot').toLowerCase();\n if (slotName === 'mobile-menu-top' || slotName === 'second__layer') {\n this.openSubLayerMenu();\n } else if (!this.internalHref) {\n if (this.hasChildNavItems) {\n const itemMenu = this.getItemMenu()\n const menuItem = this.getNavBarItem()\n this.handleClassList(itemMenu, 'toggle', 'open');\n this.handleClassList(menuItem, 'toggle', 'open');\n if (this.isMenuItem && !this.isSidebarMenuItem && itemMenu.classList.contains('open')) {\n this.handleNestedLayerMenu({ type: 'mouseenter' } as any);\n }\n } else {\n const parentItemMenu = this.getParentItemMenu();\n if (parentItemMenu) {\n this.handleClassList(parentItemMenu, 'toggle', 'open');\n }\n }\n }\n}\n\n handleNestedLayerMenu(e) { \n if(this.isMenuItem && this.hasChildNavItems && !this.isSidebarMenuItem) { \n const itemMenu = this.getItemMenu()\n const menuPosition = this.getItemMenuPosition()\n const type = e.type.toUpperCase();\n \n if(type === 'MOUSEENTER') { \n this.handleClassList(itemMenu, 'add', 'open')\n if(menuPosition === 'left') { \n this.handleClassList(itemMenu, 'add', 'left')\n } else if(menuPosition === 'right') { \n this.handleClassList(itemMenu, 'add', 'right')\n }\n }\n\n if(type === 'MOUSELEAVE') { \n this.handleClassList(itemMenu, 'remove', 'open')\n if(menuPosition === 'left') { \n this.handleClassList(itemMenu, 'remove', 'left')\n } else if (menuPosition === 'right') { \n this.handleClassList(itemMenu, 'remove', 'right')\n }\n }\n\n if(type === 'FOCUSOUT') { \n const isStillInComponent = this.isFocusWithinComponent(e.relatedTarget)\n if (!isStillInComponent) {\n this.handleClassList(itemMenu, 'remove', 'open')\n if(menuPosition === 'left') { \n this.handleClassList(itemMenu, 'remove', 'left')\n } else if (menuPosition === 'right') { \n this.handleClassList(itemMenu, 'remove', 'right')\n }\n }\n }\n }\n }\n\n private isFocusWithinComponent(relatedTarget: EventTarget | null): boolean {\n if (!relatedTarget) return false;\n \n const target = relatedTarget as Node;\n const isInLightDOM = this.el.contains(target);\n const isInShadowDOM = this.el.shadowRoot?.contains(target);\n \n const rootNode = target.getRootNode();\n \n if (rootNode instanceof ShadowRoot) {\n const shadowRoot = rootNode as ShadowRoot;\n if (this.el.contains(shadowRoot.host)) {\n return true;\n }\n }\n\n return isInLightDOM || isInShadowDOM;\n}\n\n handleLabelWrapper() { \n const labelWrapper = this.el.shadowRoot.querySelector('.label__wrapper');\n const navItem = this.getNavBarItem();\n const slot = labelWrapper.querySelector('slot');\n if (!slot.assignedNodes().length) {\n navItem.classList.add('removeLabel')\n } else if(this.showLabel && navItem.classList.contains('removeLabel')) {\n navItem.classList.remove('removeLabel')\n }\n }\n\n handleItemGap() { \n const innerContentWrapper = this.el.shadowRoot.querySelector('.navbar__item')\n const numberIndicatorWrapper = innerContentWrapper.querySelector('.navbar__container-right-content-navigation-item-icon-wrapper');\n if(this.numberIndicator || this.dotIndicator) { \n this.handleClassList(numberIndicatorWrapper, 'add', 'no-gap')\n } else { \n this.handleClassList(numberIndicatorWrapper, 'remove', 'no-gap')\n }\n }\n\n removeEmptyItem() { \n const hostElement = this.el.shadowRoot.host;\n if(!this.showLabel && !this.icon) { \n this.handleClassList(hostElement, 'add', 'hidden')\n }\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter') {\n event.stopPropagation();\n event.preventDefault();\n this.toggleItemMenu()\n }\n}\n\n render() {\n return (\n <div tabIndex={1} class=\"container\" onMouseLeave={e => this.handleNestedLayerMenu(e)} onKeyDown={(e) => this.handleKeyDown(e)} onMouseEnter={e => this.handleNestedLayerMenu(e)}>\n <div class=\"sub__layer-back-button\">\n <div class=\"back__button-wrapper\" onClick={() => this.returnToFirstLayer()}>\n <ifx-icon icon=\"arrow-left-16\" />\n <span>Back</span>\n </div>\n </div>\n <a tabindex={-1} href={this.internalHref} target={this.target} onClick={() => this.toggleItemMenu()} class= {`navbar__item ${this.isSidebarMenuItem ? 'sidebarMenuItem' : \"\"} ${!this.showLabel ? 'removeLabel' : \"\"} ${this.isMenuItem ? 'menuItem' : \"\"} ${this.hasChildNavItems ? 'isParent' : \"\"}`}>\n <div class=\"inner__content-wrapper\">\n <div class={`navbar__container-right-content-navigation-item-icon-wrapper ${!this.icon ? \"removeWrapper\" : \"\"}`}>\n {this.icon && <ifx-icon icon={this.icon}></ifx-icon>}\n {this.icon && !this.showLabel && !isNaN(this.numberIndicator) && \n <div class=\"number__indicator-wrapper\">\n <ifx-indicator variant=\"number\" number={this.numberIndicator}></ifx-indicator>\n </div>}\n {this.icon && !this.showLabel && !this.numberIndicator && this.dotIndicator && \n <div class=\"dot__indicator-wrapper\"></div>}\n </div>\n\n {this.itemPosition === 'left' \n && this.hasChildNavItems \n && this.isMenuItem && \n <div class=\"menuItemLeftIconWrapper\">\n <ifx-icon icon=\"chevron-left-16\" />\n </div>}\n\n <span class=\"label__wrapper\">\n <slot />\n </span>\n </div>\n\n {this.showLabel && this.numberIndicator && !isNaN(this.numberIndicator) ? \n <div class=\"number__indicator-wrapper\">\n <ifx-indicator variant=\"number\" number={this.numberIndicator}></ifx-indicator>\n </div> : \"\"}\n\n {this.showLabel && !this.numberIndicator && this.dotIndicator ? \n <ifx-indicator variant=\"dot\" /> : \"\"}\n\n <div class={`navItemIconWrapper ${this.hasChildNavItems && !this.isMenuItem && !this.isSidebarMenuItem ? '' : \"hide\"}`}>\n <ifx-icon icon=\"chevron-down-16\" />\n </div>\n \n {<div class={`menuItemRightIconWrapper ${((this.itemPosition === 'right' && this.hasChildNavItems && this.isMenuItem) || (this.isSidebarMenuItem && this.hasChildNavItems)) ? '' : \"hide\"}`}>\n <ifx-icon icon=\"chevron-right-16\" />\n </div>}\n </a>\n \n {this.hasChildNavItems && !this.isSidebarMenuItem && <ul class='navbar-menu'> <slot name=\"first__layer\" /> </ul>}\n {this.isSidebarMenuItem && <ul class='sub__layer-menu'> <slot name=\"second__layer\" /> </ul>}\n\n </div>\n )\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r,h as s}from"./p-PqnYwNKt.js";const o=":host{display:inline-block;cursor:pointer}";const t=class{constructor(s){r(this,s);this.isOpen=false}render(){return s("slot",{key:"39ffc845865675f32133ee990db668ed0e6264dd"})}};t.style=o;export{t as ifx_dropdown_trigger};
2
- //# sourceMappingURL=p-307e6a72.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["dropdownTriggerCss","DropdownItem","constructor","hostRef","this","isOpen","render","h","key"],"sources":["src/components/dropdown/dropdown-trigger/dropdown-trigger.scss?tag=ifx-dropdown-trigger&encapsulation=shadow","src/components/dropdown/dropdown-trigger/dropdown-trigger.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n:host {\n display: inline-block;\n cursor: pointer;\n}","// dropdown-trigger-button.tsx\nimport { Component, Prop, h } from \"@stencil/core\";\nimport { IOpenable } from '../IOpenable';\n\n@Component({\n tag: 'ifx-dropdown-trigger',\n styleUrl: 'dropdown-trigger.scss',\n shadow: true\n})\n\nexport class DropdownItem implements IOpenable {\n @Prop() isOpen: boolean = false;\n\n render() {\n return (\n <slot />\n )\n }\n}"],"mappings":"sCAAA,MAAMA,EAAqB,6C,MCUdC,EAAY,MANzB,WAAAC,CAAAC,G,UAOUC,KAAMC,OAAY,KAO3B,CALC,MAAAC,GACE,OACEC,EAAQ,QAAAC,IAAA,4C","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["progressBarCss","ProgressBar","constructor","hostRef","this","value","showLabel","valueChanged","newValue","oldValue","internalValue","componentWillLoad","componentDidLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","render","h","key","role","class","size","style","width"],"sources":["src/components/progress-bar/progress-bar.scss?tag=ifx-progress-bar&encapsulation=shadow","src/components/progress-bar/progress-bar.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: flex;\n width: 100%;\n}\n\n.progress-bar {\n height: tokens.$ifxSize200;\n bottom: 0;\n right: 0;\n top: 0;\n left: 0;\n display: flex;\n height: tokens.$ifxSize250;\n border-radius: tokens.$ifxBorderRadius12;\n width: 100%; // Ensure the bar itself can grow up to 100% width\n overflow: hidden; // Ensures that the inner progress bar doesn't exceed the width of the outer progress bar\n background-color: tokens.$ifxColorEngineering200;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n \n \n &.s {\n height: 4px;\n }\n\n .label {\n font-style: normal;\n font-size: tokens.$ifxFontSizeS;\n font-weight: 400;\n line-height: tokens.$ifxLineHeightS;\n color: tokens.$ifxColorBaseWhite;\n }\n \n .progress {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: fit-content;\n height: 100%;\n background-color: #0A8276;\n transition: width 0.2s ease;\n }\n}","import { Component, Prop, h, State, Watch, Element } 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-progress-bar',\n styleUrl: 'progress-bar.scss',\n shadow: true\n})\nexport class ProgressBar {\n @Element() el: HTMLElement;\n @Prop() value: number = 0;\n @Prop() size: string;\n @Prop() showLabel: boolean = false;\n\n @State() internalValue: number;\n\n @Watch('value')\n valueChanged(newValue: number, oldValue: number) {\n if (newValue !== oldValue) {\n this.internalValue = newValue;\n }\n }\n\n componentWillLoad() {\n this.internalValue = this.value;\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-progress-bar', await framework)\n }\n }\n\n render() {\n return (\n <div role=\"progressbar\"\n aria-valuenow={this.internalValue}\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-label={`Progress: ${this.internalValue}%`} class={`progress-bar ${this.size}`}>\n <div class=\"progress\" style={{ width: `${this.internalValue}%` }}>\n {this.showLabel && this.size !== \"s\" && this.internalValue !== 0 && <span class=\"label\">{`${this.internalValue}%`}</span>}\n </div>\n </div>\n );\n }\n}\n"],"mappings":"4HAAA,MAAMA,EAAiB,okB,MCUVC,EAAW,MALxB,WAAAC,CAAAC,G,UAOUC,KAAKC,MAAW,EAEhBD,KAASE,UAAY,KAmC9B,CA9BC,YAAAC,CAAaC,EAAkBC,GAC7B,GAAID,IAAaC,EAAU,CACzBL,KAAKM,cAAgBF,C,EAIzB,iBAAAG,GACEP,KAAKM,cAAgBN,KAAKC,K,CAG5B,sBAAMO,GACJ,IAAIC,EAAuBT,KAAKU,IAAK,CACnC,MAAMC,EAAYC,IAClBC,EAAe,yBAA0BF,E,EAI7C,MAAAG,GACE,OACEC,EAAK,OAAAC,IAAA,2CAAAC,KAAK,cACO,gBAAAjB,KAAKM,cACN,oBACA,sBAAK,aACP,aAAaN,KAAKM,iBAAkBY,MAAO,gBAAgBlB,KAAKmB,QAC5EJ,EAAK,OAAAC,IAAA,2CAAAE,MAAM,WAAWE,MAAO,CAAEC,MAAO,GAAGrB,KAAKM,mBAC3CN,KAAKE,WAAaF,KAAKmB,OAAS,KAAOnB,KAAKM,gBAAkB,GAAKS,EAAA,QAAAC,IAAA,2CAAME,MAAM,SAAS,GAAGlB,KAAKM,mB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["sidebarCss","ACTIVE","ACTIVE_SECTION","SIDEBAR_ITEM","Sidebar","constructor","hostRef","this","applicationName","initialCollapse","showFooter","showHeader","termsOfUse","imprint","privacyPolicy","target","currentYear","Date","getFullYear","copyrightText","internalTermsofUse","internalImprint","internalPrivacyPolicy","internalShowFooter","activeItem","collapsible","collapsed","hideMenuLabel","isCollapsed","handleHideMenuClick","toggleCollapse","handleHideMenuKeyDown","event","key","preventDefault","expandActiveItems","expandRecursively","async","parent","isItemExpandable","active","currRes","children","getSidebarMenuItems","i","length","Math","max","expandMenu","topLevelItems","el","adjustTopBorder","tagName","shadowRoot","querySelector","classList","add","contains","allIfxTitles","querySelectorAll","forEach","element","nextSibling","nextElementSibling","addPaddingToTheLastItem","sidebarItem","sidebarChildItems","childItem","childNavItem","getNavItem","isChildItemExpandable","handleClassList","adjustItemsPadding","sidebarItems","toUpperCase","isFirstSidebarItemExpandable","previousSidebarItem","previousSidebarNavItem","sidebarNavItem","isSidebarItemExpandable","componentDidLoad","framework","detectFramework","trackComponent","setInitialActiveItem","applyActiveSectionToParent","updateCollapsedState","_a","handleItem","firstActiveFoundInGroup","item","isActive","handleBorderIndicatorDisplacement","setAttribute","hasChildren","hasActiveChild","clickedItemSection","getActiveItemSection","isOpen","containsActiveSection","type","className","clickedItem","activeMenuItemSection","isMenu","removeActiveClassesRecursively","removeClasses","root","querySidebarItems","child","remove","getAttribute","menuItem","handleSidebarItemInteraction","detail","subMenus","menu","menuItemSection","iteratedComponent","activeAttributeValue","handleSidebarItemActivated","parentElement","componentWillLoad","trim","Boolean","handleCollapsibleChange","_newValue","forceUpdate","_b","call","now","toString","ifxSidebarCollapseChange","emit","collapse","expand","handleCollapsedPropChange","newValue","style","setProperty","setSidebarItemAttributes","removeProperty","allSidebarItems","icon","removeAttribute","render","h","class","width","height","viewBox","fill","xmlns","d","id","onClick","onKeyDown","tabIndex","role","href"],"sources":["src/components/navigation/sidebar/sidebar.scss?tag=ifx-sidebar&encapsulation=shadow","src/components/navigation/sidebar/sidebar.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../../global/font.scss\";\n\n:host {\n height: 100%;\n display: inline-flex;\n}\n\n.sidebar__container {\n box-sizing: border-box;\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 0px;\n background-color: tokens.$ifxColorBaseWhite;\n border-right: 1px solid #EEEDED;\n width: 264px;\n height: 100%;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n &--collapsed {\n width: tokens.$ifxSize600;\n\n .sidebar__hide-menu,\n .sidebar__nav-bar,\n .sidebar__nav-container {\n padding: tokens.$ifxSpace150 tokens.$ifxSpace100 !important;\n }\n\n\n .sidebar__nav-bar-logo-text,\n .sidebar__hide-menu-text {\n display: none !important;\n }\n\n .sidebar__footer-container {\n display: none !important;\n }\n\n .sidebar__nav-bar {\n\n .sidebar__nav-bar-logo {\n svg {\n width: tokens.$ifxSize400 !important;\n height: auto !important;\n }\n\n .sidebar__nav-bar-logo-text {\n display: none !important;\n }\n }\n }\n\n .sidebar__hide-menu {\n padding: tokens.$ifxSpace150 tokens.$ifxSpace200;\n justify-content: center;\n }\n }\n\n & .sidebar__top-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 0px;\n flex: 1 1 auto;\n order: 0;\n z-index: 0;\n width: 100%;\n overflow-y: auto;\n\n //max-height: 440px;\n //overflow-y: auto;\n\n & .sidebar__nav-bar {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 12px 32px;\n background-color: tokens.$ifxColorBaseWhite;\n flex: none;\n order: 0;\n flex-grow: 0;\n width: 100%;\n\n & .sidebar__nav-bar-logo {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n padding: 0px;\n gap: tokens.$ifxSpace200;\n flex: none;\n order: 0;\n flex-grow: 0;\n\n & .sidebar__nav-bar-logo-img {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 0px;\n flex: none;\n order: 0;\n flex-grow: 0;\n\n & svg {\n width: 91px;\n height: tokens.$ifxSize500;\n }\n }\n\n & .sidebar__nav-bar-logo-text {\n font-style: normal;\n font-weight: tokens.$ifxFontWeightSemibold;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n display: flex;\n align-items: center;\n color: tokens.$ifxColorBaseBlack;\n flex: none;\n order: 1;\n flex-grow: 0;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: anywhere;\n }\n }\n }\n\n & .sidebar__nav-container {\n scrollbar-gutter: stable;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 12px 32px;\n flex: 1 1 auto;\n order: 1;\n width: 100%;\n // overflow-y: auto;\n\n & ::slotted(*) {\n width: 100%;\n }\n }\n }\n\n & .sidebar__footer-container {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n align-items: center;\n padding: 0px 32px;\n flex: none;\n order: 1;\n align-self: stretch;\n flex-grow: 1;\n z-index: 1;\n\n & .sidebar__footer-wrapper {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 24px 0px;\n gap: tokens.$ifxSpace200;\n border-top: 1px solid #EEEDED;\n flex: none;\n order: 0;\n flex-grow: 0;\n width: 100%;\n\n\n & .sidebar__footer-wrapper-top-links {\n display: flex;\n align-items: flex-start;\n padding: 0px;\n gap: 12px;\n flex: none;\n order: 0;\n align-self: stretch;\n flex-grow: 0;\n flex-wrap: wrap;\n\n & a {\n font: tokens.$ifxBodyBody04;\n display: flex;\n text-decoration: none;\n align-items: center;\n color: tokens.$ifxColorBaseBlack;\n flex: none;\n flex-grow: 0;\n\n &:hover {\n color: #08665C;\n }\n\n &:focus {\n outline: none;\n color: #08665C;\n }\n }\n }\n\n & .sidebar__footer-wrapper-bottom-links {\n display: flex;\n flex-direction: column;\n align-items: center;\n\n & span {\n font: tokens.$ifxBodyBody04;\n text-decoration: none;\n color: tokens.$ifxColorEngineering500;\n flex: none;\n order: 1;\n flex-grow: 0;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: anywhere;\n\n &:hover {\n cursor: initial;\n }\n }\n }\n }\n }\n\n .sidebar__hide-menu {\n display: flex;\n align-items: center;\n padding: tokens.$ifxSpace150 tokens.$ifxSpace400;\n box-sizing: border-box;\n width: 100%;\n cursor: pointer;\n border-top: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering200;\n border-bottom: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering200;\n background-color: tokens.$ifxColorBaseWhite;\n gap: tokens.$ifxSpace200;\n\n &:hover {\n background-color: tokens.$ifxColorEngineering100;\n }\n\n &:focus {\n outline: tokens.$ifxBorderWidth25 solid tokens.$ifxColorOcean500;\n outline-offset: - tokens.$ifxBorderWidth25;\n }\n\n &-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n width: tokens.$ifxSize300;\n height: tokens.$ifxSize300;\n flex-shrink: 0;\n\n ifx-icon {\n width: tokens.$ifxSize200;\n height: tokens.$ifxSize200;\n color: tokens.$ifxColorBaseBlack;\n }\n }\n\n &-text {\n font-style: normal;\n font-weight: tokens.$ifxFontWeightRegular;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n color: tokens.$ifxColorBaseBlack;\n }\n }\n}\n","import { Component, h, Element, Prop, State, Listen, Method, Watch, Event, EventEmitter } from '@stencil/core';\nimport { trackComponent } from '../../../global/utils/tracking';\nimport { detectFramework } from '../../../global/utils/framework-detection';\n\nconst ACTIVE = 'active';\nconst ACTIVE_SECTION = 'active-section';\nconst SIDEBAR_ITEM = '.sidebar__nav-item';\n\n@Component({\n tag: 'ifx-sidebar',\n styleUrl: 'sidebar.scss',\n shadow: true\n})\n\nexport class Sidebar {\n @Element() el;\n @Prop() applicationName: string = ''\n @Prop() initialCollapse: boolean = true\n @Prop() showFooter: boolean = true\n @Prop() showHeader: boolean = true;\n @Prop() termsOfUse: string = \"#\"\n @Prop() imprint: string = \"#\"\n @Prop() privacyPolicy: string = \"#\"\n @Prop() target: string = \"_blank\"\n @State() currentYear: number = new Date().getFullYear()\n @Prop() copyrightText: string = '© 1999 - ' + this.currentYear + ' Infineon Technologies AG'\n @State() internalTermsofUse: string = \"\"\n @State() internalImprint: string = \"\"\n @State() internalPrivacyPolicy: string = \"\"\n @State() internalShowFooter: boolean = true\n\n @State() activeItem: HTMLElement | null = null;\n @Prop() collapsible: boolean = false;\n @Prop() collapsed: boolean = false; // New property for initial collapsed state\n @Prop() hideMenuLabel: string = \"Hide Menu\"; // New property for hide menu label\n @State() isCollapsed: boolean = false;\n\n @Event({ bubbles: true, composed: true }) ifxSidebarCollapseChange: EventEmitter<{ collapsed: boolean }>;\n\n expandActiveItems(){\n const expandRecursively = async (parent) => {\n if(await parent.isItemExpandable() !== true){\n if(parent.active) return 1;\n return 0;\n }\n let currRes = 0;\n const children = this.getSidebarMenuItems(parent);\n for(let i = 0; i < children.length; i++){\n currRes = Math.max(currRes, await expandRecursively(children[i]));\n }\n if(currRes > 0){\n if(currRes == 1){\n parent.expandMenu(false);\n }else{\n parent.expandMenu(true);\n }\n }\n\n return (currRes ? currRes+1 : 0);\n }\n\n const topLevelItems = this.getSidebarMenuItems(this.el);\n for(let i = 0; i < topLevelItems.length; i++){\n expandRecursively(topLevelItems[i])\n }\n }\n\n adjustTopBorder() {\n const children = this.el.children;\n if(!children.length) return;\n if(children[0].tagName === 'IFX-SIDEBAR-TITLE'){\n children[0].shadowRoot.querySelector('.sidebar__title').classList.add('no-top-border')\n }\n\n if(children[0].tagName === 'IFX-SIDEBAR-ITEM' && children[0].shadowRoot.querySelector('div > a').classList.contains('header__section')){\n children[0].shadowRoot.querySelector('div > a').classList.add('no-top-border')\n }\n\n const allIfxTitles = this.el.querySelectorAll('ifx-sidebar-title');\n allIfxTitles.forEach(element => {\n const nextSibling = element.nextElementSibling;\n if(nextSibling && nextSibling.tagName === 'IFX-SIDEBAR-ITEM' && nextSibling.shadowRoot.querySelector('div > a').classList.contains('header__section')){\n nextSibling.shadowRoot.querySelector('div > a').classList.add('no-top-border')\n }\n });\n }\n\n async addPaddingToTheLastItem(sidebarItem) {\n const sidebarChildItems = this.getSidebarMenuItems(sidebarItem)\n\n for(let i = 0; i < sidebarChildItems.length; i++){\n\n const childItem = sidebarChildItems[i];\n const childNavItem = this.getNavItem(childItem.shadowRoot);\n const isChildItemExpandable = await childItem.isItemExpandable();\n\n if(isChildItemExpandable) {\n this.addPaddingToTheLastItem(childItem);\n }\n\n if(i === sidebarChildItems.length-1){\n this.handleClassList(childNavItem, 'add', 'extra-padding__bottom');\n }\n }\n }\n\n async adjustItemsPadding() {\n const sidebarItems = this.el.children;\n\n if(sidebarItems.length === 0) return;\n\n // Processing first item\n if(sidebarItems[0].tagName.toUpperCase() === 'IFX-SIDEBAR-ITEM') {\n const isFirstSidebarItemExpandable = sidebarItems[0].isItemExpandable();\n if(isFirstSidebarItemExpandable) {\n this.addPaddingToTheLastItem(sidebarItems[0]);\n }\n }\n\n // Processing remaining items\n for(let i = 1; i < sidebarItems.length; i++){\n\n const sidebarItem = sidebarItems[i];\n const previousSidebarItem = sidebarItems[i-1];\n const previousSidebarNavItem = this.getNavItem(previousSidebarItem.shadowRoot);\n\n if(sidebarItem.tagName.toUpperCase() === 'IFX-SIDEBAR-TITLE') {\n\n if(previousSidebarItem.tagName.toUpperCase() === 'IFX-SIDEBAR-ITEM' && previousSidebarNavItem && !this.handleClassList(previousSidebarNavItem, 'contains', 'header__section')) {\n this.handleClassList(previousSidebarNavItem, 'add', 'extra-padding__bottom');\n }\n\n } else if(sidebarItem.tagName.toUpperCase() === 'IFX-SIDEBAR-ITEM') {\n\n const sidebarNavItem = this.getNavItem(sidebarItem.shadowRoot);\n\n if(previousSidebarItem.tagName.toUpperCase() === 'IFX-SIDEBAR-ITEM' && previousSidebarNavItem && !this.handleClassList(previousSidebarNavItem, 'contains', 'header__section') && this.handleClassList(sidebarNavItem, 'contains', 'header__section')) {\n this.handleClassList(previousSidebarNavItem, 'add', 'extra-padding__bottom');\n }\n\n const isSidebarItemExpandable = await sidebarItem.isItemExpandable();\n\n if(isSidebarItemExpandable) {\n this.addPaddingToTheLastItem(sidebarItem);\n }\n }\n }\n\n }\n\n async componentDidLoad() {\n const framework = detectFramework();\n trackComponent('ifx-sidebar', await framework)\n this.adjustTopBorder();\n this.setInitialActiveItem();\n if(!this.initialCollapse){\n this.expandActiveItems();\n }\n this.adjustItemsPadding();\n this.applyActiveSectionToParent(this.el);\n\n if (this.isCollapsed) {\n this.updateCollapsedState();\n }\n }\n\n getSidebarMenuItems(el = this.el) {\n const sidebarItems = el.querySelectorAll('ifx-sidebar-item');\n if (sidebarItems.length === 0) {\n return el.shadowRoot?.querySelectorAll('ifx-sidebar-item');\n }\n return sidebarItems;\n }\n\n setInitialActiveItem() {\n const handleItem = (parent) => {\n const children = this.getSidebarMenuItems(parent);\n let firstActiveFoundInGroup = false;\n\n children?.forEach(item => {\n // If the item is active and it's the first active one in its group\n if (this.isActive(item) && !firstActiveFoundInGroup) {\n firstActiveFoundInGroup = true;\n this.handleBorderIndicatorDisplacement(item);\n }\n // If the item is active but it's not the first one in its group\n else if (this.isActive(item) && firstActiveFoundInGroup) {\n item.setAttribute('active', 'false'); // Set the 'active' attribute to 'false'\n }\n\n\n // If the clicked item is a menu and doesn't have any active children\n if (this.hasChildren(item.shadowRoot) && !this.hasActiveChild(item.shadowRoot)) {\n const clickedItemSection = this.getActiveItemSection(item);\n this.handleClassList(clickedItemSection, 'remove', 'active-section');\n }\n // If clickedItem is an opened menu and it contains another menu with 'active-section'\n if (this.hasChildren(item.shadowRoot) && this.isOpen(item.shadowRoot) && this.containsActiveSection(item)) {\n const clickedItemSection = this.getActiveItemSection(item);\n this.handleClassList(clickedItemSection, 'remove', 'active-section');\n }\n\n // Recursive call for child items\n if (this.hasChildren(item.shadowRoot)) {\n handleItem(item.shadowRoot);\n }\n });\n }\n // Start with the top-level items\n const topLevelItems = this.getSidebarMenuItems(this.el);\n topLevelItems.forEach(handleItem);\n }\n\n\n handleClassList(el, type, className) {\n el.classList[type](className)\n if (type === 'contains') {\n return el.classList.contains(className)\n }\n }\n\n\n getActiveItemSection(item) {\n return this.getNavItem(item.shadowRoot);\n }\n\n\n getNavItem(el) {\n return el?.querySelector('.sidebar__nav-item')\n }\n\n hasChildren(el) {\n return el?.querySelector('.item__arrow-wrapper') !== null ? true : false;\n }\n\n\n handleBorderIndicatorDisplacement(clickedItem) {\n // Recursive function to handle each item\n const handleItem = (item) => {\n // Check if current item is active or the one that was clicked\n const isActive = this.isActive(item) || item === clickedItem;\n\n if (isActive) {\n const activeMenuItemSection = this.getActiveItemSection(item);\n const isMenu = this.hasChildren(activeMenuItemSection);\n\n if (isMenu) {\n this.handleClassList(activeMenuItemSection, 'add', 'active-section');\n }\n }\n\n // Recursive call for child items\n const children = this.getSidebarMenuItems(item);\n children.forEach(handleItem);\n };\n\n // Start with the top-level items\n const topLevelItems = this.getSidebarMenuItems(this.el);\n topLevelItems.forEach(handleItem);\n }\n\n\n removeActiveClassesRecursively() {\n const removeClasses = (root) => {\n const children = this.querySidebarItems(root);\n children.forEach((child) => {\n const sidebarItem = child.shadowRoot.querySelector(SIDEBAR_ITEM);\n sidebarItem.classList.remove(ACTIVE_SECTION);\n sidebarItem.classList.remove(ACTIVE);\n if (child.getAttribute('active')) {\n child.setAttribute('active', 'false');\n }\n removeClasses(child.shadowRoot);\n });\n }\n removeClasses(this.el);\n if (this.activeItem) {\n this.activeItem.setAttribute('active', 'false');\n }\n this.activeItem = null;\n }\n\n hasActiveChild(menuItem) {\n const children = this.getSidebarMenuItems(menuItem);\n if (children) {\n for (let child of children) {\n // If the child item is active\n if (this.isActive(child)) {\n return true;\n }\n // If the child item has children, recurse into them\n else if (this.hasChildren(child.shadowRoot)) {\n if (this.hasActiveChild(child.shadowRoot)) {\n return true;\n }\n }\n }\n }\n return false;\n }\n\n\n @Listen('ifxSidebarMenu')\n handleSidebarItemInteraction(event: CustomEvent) {\n // This method can be used to handle the ifxSidebarMenu event\n // Get the element that triggered the event\n const clickedItem = event.detail;\n\n // If the clicked item is not a menu OR is a menu that has an active child\n if (!this.hasChildren(clickedItem.shadowRoot) || this.hasActiveChild(clickedItem.shadowRoot)) {\n this.handleBorderIndicatorDisplacement(clickedItem);\n }\n\n // If the clicked item is a menu and doesn't have any active children\n if (this.hasChildren(clickedItem.shadowRoot) && !this.hasActiveChild(clickedItem.shadowRoot)) {\n const clickedItemSection = this.getActiveItemSection(clickedItem);\n this.handleClassList(clickedItemSection, 'remove', 'active-section');\n }\n\n // If clickedItem is an opened menu and it contains another menu with 'active-section'\n if (this.hasChildren(clickedItem.shadowRoot) && this.isOpen(clickedItem.shadowRoot) && this.containsActiveSection(clickedItem)) {\n const clickedItemSection = this.getActiveItemSection(clickedItem);\n this.handleClassList(clickedItemSection, 'remove', 'active-section');\n }\n }\n\n isOpen(menuItem) {\n return this.getNavItem(menuItem).classList.contains('open') ? true : false;\n }\n\n containsActiveSection(menuItem) {\n const children = this.getSidebarMenuItems(menuItem);\n for (let child of children) {\n if (this.getNavItem(child.shadowRoot).classList.contains('active-section') || (this.hasChildren(child.shadowRoot) && this.containsActiveSection(child.shadowRoot))) {\n this.handleClassList(child, 'add', 'active-section')\n return true;\n }\n }\n return false;\n }\n\n applyActiveSectionToParent(el) {\n // Get all submenus of the given element\n const subMenus = this.getSidebarMenuItems(el);\n\n subMenus?.forEach(menu => {\n // If this submenu has an active child, add active-section class to it\n if (this.hasActiveChild(menu.shadowRoot)) {\n const menuItemSection = this.getActiveItemSection(menu);\n this.handleClassList(menuItemSection, 'add', 'active-section');\n }\n\n // Apply to submenu's children\n this.applyActiveSectionToParent(menu.shadowRoot);\n });\n }\n\n\n\n querySidebarItems(el) {\n return el.querySelectorAll('ifx-sidebar-item')\n }\n\n isActive(iteratedComponent) {\n const activeAttributeValue = iteratedComponent.getAttribute('active');\n const isActive = activeAttributeValue === 'true';\n return isActive;\n }\n\n @Listen('ifxSidebarNavigationItem')\n handleSidebarItemActivated(event: CustomEvent) {\n\n this.removeActiveClassesRecursively();\n\n this.activeItem = event.detail;\n this.activeItem.setAttribute('active', 'true');\n\n // Get the parent element of the activated item\n const parent = this.getNavItem(event.detail.parentElement.parentElement.parentElement);\n if (parent) {\n this.handleClassList(parent, 'add', 'active-section');\n }\n }\n\n componentWillLoad() {\n this.internalTermsofUse = this.termsOfUse.trim();\n this.internalPrivacyPolicy = this.privacyPolicy.trim();\n this.internalImprint = this.imprint.trim();\n this.internalShowFooter = this.showFooter;\n if(this.internalShowFooter && !this.internalImprint && !this.internalPrivacyPolicy && !this.internalTermsofUse && !this.copyrightText){\n this.internalShowFooter = false;\n }\n\n // Set initial collapsed state from prop - independent of collapsible\n this.isCollapsed = Boolean(this.collapsed);\n }\n\n @Watch('collapsible')\n handleCollapsibleChange(_newValue: boolean) {\n // Force re-render when collapsible changes\n this.forceUpdate();\n }\n\n private forceUpdate() {\n // Trigger a re-render\n this.el.forceUpdate?.() || this.el.setAttribute('data-force-update', Date.now().toString());\n }\n\n @Method()\n async toggleCollapse() {\n this.isCollapsed = !this.isCollapsed;\n this.updateCollapsedState();\n // Emit event after state change\n this.ifxSidebarCollapseChange.emit({ collapsed: this.isCollapsed });\n }\n\n @Method()\n async collapse() {\n this.isCollapsed = true;\n this.updateCollapsedState();\n // Emit event after state change\n this.ifxSidebarCollapseChange.emit({ collapsed: this.isCollapsed });\n }\n\n @Method()\n async expand() {\n this.isCollapsed = false;\n this.updateCollapsedState();\n // Emit event after state change\n this.ifxSidebarCollapseChange.emit({ collapsed: this.isCollapsed });\n }\n\n @Watch('collapsed')\n handleCollapsedPropChange(newValue: boolean) {\n this.isCollapsed = newValue;\n this.updateCollapsedState();\n // Emit event when prop changes\n this.ifxSidebarCollapseChange.emit({ collapsed: this.isCollapsed });\n }\n\n private updateCollapsedState() {\n // Set CSS custom properties to handle Shadow DOM components\n if (this.isCollapsed) {\n this.el.style.setProperty('--ifx-sidebar-item-text-display', 'none');\n this.el.style.setProperty('--ifx-sidebar-item-without-icon-display', 'none');\n this.el.style.setProperty('--ifx-sidebar-title-display', 'none');\n this.el.style.setProperty('--ifx-sidebar-title-show-in-collapsed-display', 'block');\n this.el.style.setProperty('--ifx-sidebar-title-label-display', 'none');\n this.el.style.setProperty('--ifx-sidebar-title-padding', '0');\n this.el.style.setProperty('--ifx-sidebar-item-flex-direction', 'column');\n\n // Set attributes on all sidebar items\n this.setSidebarItemAttributes(true);\n } else {\n this.el.style.removeProperty('--ifx-sidebar-item-text-display');\n this.el.style.removeProperty('--ifx-sidebar-item-without-icon-display');\n this.el.style.removeProperty('--ifx-sidebar-title-display');\n this.el.style.removeProperty('--ifx-sidebar-title-show-in-collapsed-display');\n this.el.style.removeProperty('--ifx-sidebar-title-label-display');\n this.el.style.removeProperty('--ifx-sidebar-title-padding');\n this.el.style.removeProperty('--ifx-sidebar-item-flex-direction');\n\n // Remove attributes from all sidebar items\n this.setSidebarItemAttributes(false);\n }\n }\n\nprivate setSidebarItemAttributes(collapsed: boolean) {\n const allSidebarItems = this.el.querySelectorAll('ifx-sidebar-item');\n allSidebarItems.forEach(item => {\n if (collapsed) {\n item.setAttribute('data-sidebar-collapsed', 'true');\n if (!item.icon) { \n item.setAttribute('data-hide-in-collapsed', 'true');\n }\n } else {\n item.removeAttribute('data-sidebar-collapsed');\n item.removeAttribute('data-hide-in-collapsed');\n }\n });\n}\n\n private handleHideMenuClick = () => {\n this.toggleCollapse();\n }\n\n private handleHideMenuKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.toggleCollapse();\n }\n }\n\n render() {\n return (\n <div aria-label=\"a navigation sidebar\" aria-value={this.applicationName} class={`sidebar__container ${this.isCollapsed ? 'sidebar__container--collapsed' : ''}`}>\n <div class='sidebar__top-container'>\n {\n this.showHeader &&\n <div class=\"sidebar__nav-bar\">\n <div class=\"sidebar__nav-bar-logo\">\n <div class='sidebar__nav-bar-logo-img'>\n <svg width=\"91\" height=\"40\" viewBox=\"0 0 91 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_2396_2480)\">\n <path d=\"M67.691 26.7766C71.0884 26.7766 72.1461 23.1841 72.1461 19.8802C72.1461 15.4536 70.2871 13.1441 67.691 13.1441C64.4219 13.1441 63.2681 16.7367 63.3001 19.9443C63.3322 23.1199 64.2296 26.7766 67.691 26.7766ZM66.0244 19.8481C66.0244 18.533 66.0244 15.4536 67.691 15.4536C69.4859 15.4536 69.4218 18.5009 69.4218 19.9123C69.4218 21.2595 69.4218 24.5313 67.7551 24.5313C65.9603 24.4992 66.0244 21.2274 66.0244 19.8481ZM57.8195 26.7766C59.1976 26.7766 60.3835 26.2313 61.5053 25.0445L60.5117 23.1841C59.7425 24.018 58.9733 24.4671 58.0438 24.4671C57.2746 24.4671 56.6336 24.018 56.249 23.2482C55.9285 22.5746 55.8644 21.8048 55.8644 20.9708V20.7142H61.6335V20.1368C61.6335 17.282 61.2809 15.7102 60.3835 14.5234C59.7104 13.6253 58.7169 13.1441 57.499 13.1441C56.2169 13.1441 55.1593 13.7215 54.39 14.8442C53.5567 16.0631 53.2042 17.699 53.2042 19.9443C53.1721 24.2426 54.8708 26.7766 57.8195 26.7766ZM57.531 15.2612C58.172 15.2612 58.5566 15.614 58.813 16.1914C59.0053 16.7046 59.1015 17.5707 59.1015 18.5971H55.8644C55.8964 16.3197 56.3772 15.2612 57.531 15.2612ZM74.2614 26.4559H76.7614V16.8329C77.3703 16.0952 78.0754 15.6782 78.5882 15.6782C78.9087 15.6782 79.2292 15.7423 79.4215 15.9989C79.6138 16.2876 79.71 16.7046 79.71 17.699V26.4559H82.21V16.5442C82.21 15.6782 82.1138 14.8121 81.601 14.1706C81.1523 13.5932 80.4472 13.2404 79.5497 13.2404C78.3959 13.2404 77.2101 13.914 76.569 14.6838C76.537 14.0102 76.3126 13.3687 76.2485 13.1441L73.9089 13.7536C74.0371 14.4593 74.2294 15.3253 74.2294 16.8971V26.4559H74.2614ZM45.2236 14.6838C45.1915 14.0102 44.9672 13.3687 44.9031 13.1441L42.5634 13.7536C42.6916 14.4593 42.8839 15.3253 42.8839 16.8971V26.4238H45.3838V16.8008C45.9928 16.0631 46.6979 15.6461 47.2107 15.6461C47.5312 15.6461 47.8517 15.7102 48.044 15.9669C48.2363 16.2555 48.3325 16.6725 48.3325 17.6669V26.4238H50.8324V16.5442C50.8324 15.6782 50.7363 14.8121 50.2235 14.1706C49.7748 13.5932 49.0696 13.2404 48.1722 13.2404C47.0505 13.2404 45.8646 13.914 45.2236 14.6838ZM14.6473 9.07042C16.1216 9.07042 17.3075 7.88359 17.3075 6.40807C17.3075 4.93256 16.1216 3.74573 14.6473 3.74573C13.173 3.74573 11.9871 4.93256 11.9871 6.40807C11.9871 7.88359 13.173 9.07042 14.6473 9.07042ZM26.9227 26.4559V16.5442C26.9227 15.6782 26.8265 14.8121 26.3137 14.1706C25.865 13.5932 25.1599 13.2404 24.2625 13.2404C23.1087 13.2404 21.9228 13.914 21.2818 14.6838C21.2497 14.0102 21.0254 13.3687 20.9613 13.1441L18.6536 13.7857C18.7818 14.4913 18.9741 15.3574 18.9741 16.9291V26.4559H21.4741V16.8329C22.0831 16.0952 22.7882 15.6782 23.301 15.6782C23.6215 15.6782 23.942 15.7423 24.1343 15.9989C24.3266 16.2876 24.4227 16.7046 24.4227 17.699V26.4559H26.9227ZM38.4289 8.36474C37.4994 8.36474 36.7622 9.10249 36.7622 10.0327C36.7622 10.9629 37.4994 11.7007 38.3968 11.7007C39.3263 11.7007 40.0634 10.9629 40.0634 10.0327C40.0634 9.10249 39.3263 8.36474 38.4289 8.36474ZM13.4614 26.4559H15.9614V10.8346L13.4614 11.1554V26.4559ZM33.8777 9.90441C34.3264 9.90441 34.7751 10.0648 35.0635 10.2893L35.7687 8.33266C35.0956 7.85151 34.3584 7.62698 33.429 7.62698C32.788 7.62698 32.1149 7.78736 31.5059 8.26851C30.897 8.78173 30.256 9.80818 30.256 11.7328C30.256 12.5667 30.288 13.4328 30.288 13.4328H29.4226V15.6461H30.288V26.4238H32.8521V15.6782H34.743L35.2238 13.4649H32.8841V11.4762C32.8841 10.5139 33.2687 9.90441 33.8777 9.90441ZM37.1468 26.4559H39.6788V13.2404L37.1468 13.5611V26.4559Z\" fill=\"#005DA9\" />\n <path d=\"M77.0816 33.5126C68.6203 36.0146 58.3321 37.1052 48.2682 37.1052C22.7239 37.1052 6.24986 29.5993 5.09604 19.6877C4.67938 15.9668 7.59599 12.3422 12.4677 9.26285C11.6023 8.62132 11.0575 7.59488 11.0254 6.44012C3.97427 10.161 0 15.0366 0 19.9764C0 30.9145 19.5188 40.1525 48.5246 39.7676C58.6205 39.6393 67.0498 38.1958 74.6778 35.6939C83.7482 32.7428 89.4532 28.5087 90.8313 26.6483C89.1968 28.1238 85.3186 31.0748 77.0816 33.5126ZM23.2687 4.38723C24.9674 3.80985 27.3712 3.0721 27.3712 3.0721C34.1339 1.21166 41.6017 0.121063 48.5566 0.185215C40.544 -0.295931 33.2365 0.185215 26.8584 1.33997C26.8584 1.33997 24.743 1.69281 22.4675 2.27018C22.4675 2.27018 21.3777 2.55887 20.7047 2.75133C20.0316 2.94379 19.1021 3.2004 19.1021 3.2004C18.4611 3.39286 17.8201 3.6174 17.1791 3.84193C17.8201 4.48346 18.2047 5.31745 18.2368 6.27974C19.3586 5.76652 21.5059 4.99668 23.2687 4.38723Z\" fill=\"#E30034\" />\n </g>\n <defs>\n <clipPath id=\"clip0_2396_2480\">\n <rect width=\"91\" height=\"40\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg> </div>\n <div class='sidebar__nav-bar-logo-text'>{this.applicationName}</div>\n </div>\n </div>\n }\n {this.collapsible && (\n <div\n class=\"sidebar__hide-menu\"\n onClick={this.handleHideMenuClick}\n onKeyDown={this.handleHideMenuKeyDown}\n tabIndex={0}\n role=\"button\"\n aria-label={this.isCollapsed ? \"Expand sidebar\" : \"Collapse sidebar\"}\n >\n <div class=\"sidebar__hide-menu-icon\">\n <ifx-icon icon=\"menu-16\"></ifx-icon>\n </div>\n <div class=\"sidebar__hide-menu-text\">{this.hideMenuLabel}</div>\n </div>\n )}\n <div class=\"sidebar__nav-container\">\n <slot />\n </div>\n </div>\n\n {\n this.internalShowFooter &&\n <div class='sidebar__footer-container'>\n <div class=\"sidebar__footer-wrapper\">\n {\n (this.internalTermsofUse || this.internalImprint || this.internalPrivacyPolicy) &&\n <div class='sidebar__footer-wrapper-top-links'>\n {\n this.internalTermsofUse !== '' && <a target={this.target} href={this.internalTermsofUse}>Terms of use</a>\n }\n {\n this.internalImprint !== '' && <a target={this.target} href={this.internalImprint}>Imprint</a>\n }\n {\n this.internalPrivacyPolicy !== '' && <a target={this.target} href={this.internalPrivacyPolicy}>Privacy policy</a>\n }\n </div>\n }\n\n {\n this.copyrightText &&\n <div class='sidebar__footer-wrapper-bottom-links'>\n <span>{this.copyrightText}</span>\n </div>\n }\n </div>\n </div>\n }\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -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 +0,0 @@
1
- {"version":3,"names":["linkCss","Link","constructor","hostRef","this","href","undefined","target","variant","disabled","internalHref","internalTarget","internalVariant","setInternalStates","trim","toLowerCase","componentWillRender","handleKeyDown","event","preventDefault","key","componentDidLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","render","h","tabindex","role","ariaLabel","download","class","linkClassNames","getSizeClass","small","size","medium","large","extraLarge","getVariantClass","bold","title","underlined","menu","classNames"],"sources":["src/components/link/link.scss?tag=ifx-link&encapsulation=shadow","src/components/link/link.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n}\n\n.link {\n display: inline-flex;\n align-items: center;\n font-weight: 400;\n font-size: tokens.$ifxFontSizeM;\n text-decoration: none;\n color: tokens.$ifxColorOcean500;\n gap: tokens.$ifxSpace100;\n line-height: 1.6;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n &:hover { \n cursor: pointer;\n }\n\n &:focus {\n outline-width: 2px;\n outline-style: solid;\n outline-color: #0A8276;\n outline-offset: 4px;\n border-radius: 3px;\n }\n\n &.bold {\n font-weight: tokens.$ifxFontWeightSemibold;\n\n &:hover {\n text-decoration: underline;\n }\n\n &:active {\n color: #08665C;\n font-style: normal;\n font-weight: 600;\n text-decoration: underline;\n }\n\n }\n\n &.underlined {\n text-decoration: underline;\n text-decoration-color: tokens.$ifxColorOcean500;\n color: #1D1D1D;\n text-underline-offset: 8px;\n \n &:hover {\n color: tokens.$ifxColorOcean500;;\n }\n \n &:active {\n color: #0A8276;\n }\n\n &:disabled,\n &.disabled {\n text-decoration-color: tokens.$ifxColorEngineering300;\n }\n }\n\n &.title {\n text-decoration: none;\n font-weight: tokens.$ifxFontWeightSemibold;\n color: #1D1D1D;\n\n &:hover {\n color: tokens.$ifxColorOcean500;\n }\n\n &:active {\n color: #08665C;\n }\n }\n\n &.menu {\n font-weight: 400;\n font-style: normal;\n line-height: 26px;\n color: #1D1D1D;\n\n &:hover {\n color: tokens.$ifxColorOcean500;\n }\n\n &:active {\n color: #08665C;\n }\n }\n\n &.small {\n font-size: tokens.$ifxFontSizeS;\n }\n\n &.medium {\n font-size: tokens.$ifxFontSizeM;\n }\n\n &.large {\n font-size: tokens.$ifxFontSizeL;\n }\n\n &.extraLarge {\n font-size: tokens.$ifxFontSizeXl;\n }\n\n &.underline {\n text-decoration: underline;\n }\n\n &:disabled,\n &.disabled {\n color: tokens.$ifxColorEngineering300;\n cursor: default;\n pointer-events: none;\n }\n\n}","import { Component, Prop, h, State, Element } from \"@stencil/core\";\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nimport classNames from 'classnames';\n \n@Component({\n tag: 'ifx-link',\n styleUrl: 'link.scss',\n shadow: true\n})\n\nexport class Link {\n @Element() el;\n @Prop() href: string = undefined;\n @Prop() target: string = '_self';\n @Prop() variant: string = 'bold';\n @Prop() size: string;\n @Prop() disabled: boolean = false;\n @Prop() download: string;\n @Prop() ariaLabel: string | null;\n @State() internalHref: string ='';\n @State() internalTarget: string = '';\n @State() internalVariant: string = '';\n\n setInternalStates() {\n if(this.href){\n this.internalHref = this.href.trim();\n }else{\n this.internalHref = undefined;\n }\n this.internalTarget = this.target.trim();\n this.internalVariant = this.variant.trim().toLowerCase();\n }\n\n componentWillRender(){\n this.setInternalStates();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) {\n event.preventDefault();\n } else if (event.key === 'Enter') {\n event.preventDefault();\n }\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-link', await framework)\n }\n }\n\n render() {\n return (\n <a\n tabindex=\"0\"\n role=\"link\"\n aria-label={this.ariaLabel}\n aria-disabled={this.disabled || !this.internalHref}\n href={this.disabled ? undefined : this.internalHref}\n download={this.download}\n target={this.internalTarget}\n class={this.linkClassNames()}>\n <slot></slot>\n </a>)\n }\n\n getSizeClass() {\n const small = this.size === 's' ? 'small' : null;\n const medium = this.size === 'm' ? 'medium' : null;\n const large = this.size === 'l' ? 'large' : null;\n const extraLarge = this.size === 'xl' ? 'extraLarge' : null;\n\n if (small) {\n return small;\n } else if (medium) {\n return medium;\n } else if (large) {\n return large;\n } else if (extraLarge && this.internalVariant === 'underlined') {\n return 'large';\n } else if (extraLarge && this.internalVariant !== 'underlined') {\n return extraLarge;\n } else return \"\";\n }\n\n getVariantClass() {\n const bold = this.internalVariant === 'bold' ? 'bold' : null;\n const title = this.internalVariant === 'title' ? 'title' : null;\n const underlined = this.internalVariant === 'underlined' ? 'underlined' : null;\n const menu = this.internalVariant === 'menu' ? 'menu' : null;\n\n if (bold) {\n return bold\n } else if (title) {\n return title;\n } else if (underlined) {\n return underlined;\n } else if (menu) {\n return menu;\n } else return bold;\n }\n\n linkClassNames() {\n return classNames(\n 'link',\n 'primary',\n this.getVariantClass(),\n this.getSizeClass(),\n this.disabled ? 'disabled' : '',\n );\n }\n}"],"mappings":"6LAAA,MAAMA,EAAU,6zC,MCYHC,EAAI,MANjB,WAAAC,CAAAC,G,UAQUC,KAAIC,KAAWC,UACfF,KAAMG,OAAW,QACjBH,KAAOI,QAAW,OAElBJ,KAAQK,SAAY,MAGnBL,KAAYM,aAAU,GACtBN,KAAcO,eAAW,GACzBP,KAAeQ,gBAAW,EA2FpC,CAzFC,iBAAAC,GACE,GAAGT,KAAKC,KAAK,CACXD,KAAKM,aAAeN,KAAKC,KAAKS,M,KAC3B,CACHV,KAAKM,aAAeJ,S,CAEtBF,KAAKO,eAAiBP,KAAKG,OAAOO,OAClCV,KAAKQ,gBAAkBR,KAAKI,QAAQM,OAAOC,a,CAG7C,mBAAAC,GACEZ,KAAKS,mB,CAGP,aAAAI,CAAcC,GACZ,GAAId,KAAKK,SAAU,CACjBS,EAAMC,gB,MACD,GAAID,EAAME,MAAQ,QAAS,CAChCF,EAAMC,gB,EAIV,sBAAME,GACJ,IAAIC,EAAuBlB,KAAKmB,IAAK,CACnC,MAAMC,EAAYC,IAClBC,EAAe,iBAAkBF,E,EAIrC,MAAAG,GACE,OACEC,EACA,KAAAR,IAAA,2CAAAS,SAAS,IACPC,KAAK,OACO,aAAA1B,KAAK2B,UAAS,gBACX3B,KAAKK,WAAaL,KAAKM,aACtCL,KAAMD,KAAKK,SAAWH,UAAYF,KAAKM,aACvCsB,SAAU5B,KAAK4B,SACfzB,OAAQH,KAAKO,eACbsB,MAAO7B,KAAK8B,kBACZN,EAAa,QAAAR,IAAA,6C,CAInB,YAAAe,GACE,MAAMC,EAAQhC,KAAKiC,OAAS,IAAM,QAAU,KAC5C,MAAMC,EAASlC,KAAKiC,OAAS,IAAM,SAAW,KAC9C,MAAME,EAAQnC,KAAKiC,OAAS,IAAM,QAAU,KAC5C,MAAMG,EAAapC,KAAKiC,OAAS,KAAO,aAAe,KAEvD,GAAID,EAAO,CACT,OAAOA,C,MACF,GAAIE,EAAQ,CACjB,OAAOA,C,MACF,GAAIC,EAAO,CAChB,OAAOA,C,MACF,GAAIC,GAAcpC,KAAKQ,kBAAoB,aAAc,CAC9D,MAAO,O,MACF,GAAI4B,GAAcpC,KAAKQ,kBAAoB,aAAc,CAC9D,OAAO4B,C,MACF,MAAO,E,CAGhB,eAAAC,GACE,MAAMC,EAAOtC,KAAKQ,kBAAoB,OAAS,OAAS,KACxD,MAAM+B,EAAQvC,KAAKQ,kBAAoB,QAAU,QAAU,KAC3D,MAAMgC,EAAaxC,KAAKQ,kBAAoB,aAAe,aAAe,KAC1E,MAAMiC,EAAOzC,KAAKQ,kBAAoB,OAAS,OAAS,KAExD,GAAI8B,EAAM,CACR,OAAOA,C,MACF,GAAIC,EAAO,CAChB,OAAOA,C,MACF,GAAIC,EAAY,CACrB,OAAOA,C,MACF,GAAIC,EAAM,CACf,OAAOA,C,MACF,OAAOH,C,CAGhB,cAAAR,GACE,OAAOY,EACL,OACA,UACA1C,KAAKqC,kBACLrC,KAAK+B,eACL/B,KAAKK,SAAW,WAAa,G","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["dropdownHeaderCss","DropdownHeader","render","h","key","class"],"sources":["src/components/dropdown/dropdown-header/dropdown-header.scss?tag=ifx-dropdown-header&encapsulation=shadow","src/components/dropdown/dropdown-header/dropdown-header.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../../global/font.scss\";\n\n.dropdown-header {\n display: flex;\n padding: 8px 16px;\n align-items: center;\n gap: 8px;\n align-self: stretch;\n border-bottom: 1px solid tokens.$ifxColorEngineering200;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n\n & span {\n color: tokens.$ifxColorEngineering500;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n /* 142.857% */\n }\n}","// dropdown-separator.tsx\nimport { Component, h } from \"@stencil/core\";\n\n@Component({\n tag: 'ifx-dropdown-header',\n styleUrl: 'dropdown-header.scss',\n shadow: true\n})\n\nexport class DropdownHeader {\n render() {\n return (\n <div class='dropdown-header'>\n <span>\n <slot />\n </span>\n </div>\n )\n }\n}"],"mappings":"2CAAA,MAAMA,EAAoB,0W,MCSbC,EAAc,M,yBACzB,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,mBACTF,EAAA,QAAAC,IAAA,4CACED,EAAQ,QAAAC,IAAA,8C","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["listEntryCss","ListEntry","valueChanged","newValue","this","host","setAttribute","removeAttribute","handleFilterEntryChange","event","value","detail","ifxListEntryChange","emit","label","type","render","h","key","class","size","checked"],"sources":["src/components/table-advanced-version/list/list-entry/list-entry.scss?tag=ifx-list-entry&encapsulation=shadow","src/components/table-advanced-version/list/list-entry/list-entry.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n\n.list-entry {\n display: flex;\n align-items: center;\n margin-top: tokens.$ifxSpace100; //gap doesnt apply to child elements\n align-self: stretch;\n}","import { Component, h, Prop, Event, EventEmitter, Listen, Watch, Element } from '@stencil/core';\n\n@Component({\n tag: 'ifx-list-entry',\n styleUrl: 'list-entry.scss',\n shadow: true,\n})\nexport class ListEntry {\n @Element() host: HTMLElement;\n @Prop({ mutable: true }) value: boolean;\n @Prop() label: string;\n\n @Prop() type: string;\n @Event() ifxListEntryChange: EventEmitter;\n\n\n @Watch('value')\n valueChanged(newValue: boolean) {\n if (newValue) {\n this.host.setAttribute('value', 'true');\n } else {\n this.host.removeAttribute('value');\n }\n }\n\n @Listen('ifxChange')\n handleFilterEntryChange(event: CustomEvent) {\n this.value = event.detail;\n this.ifxListEntryChange.emit({ label: this.label, value: this.value, type: this.type });\n }\n\n\n render() {\n return (\n <div class=\"wrapper\">\n {this.type === 'checkbox' ? (\n <div class=\"list-entry\">\n <ifx-checkbox size=\"s\" checked={this.value}>{this.label}</ifx-checkbox>\n </div>\n ) : (\n <div class=\"list-entry\">\n <ifx-radio-button size=\"s\" checked={this.value}>{this.label}</ifx-radio-button>\n </div>\n )}\n </div>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAe,iF,MCORC,EAAS,M,gFAUpB,YAAAC,CAAaC,GACX,GAAIA,EAAU,CACZC,KAAKC,KAAKC,aAAa,QAAS,O,KAC3B,CACLF,KAAKC,KAAKE,gBAAgB,Q,EAK9B,uBAAAC,CAAwBC,GACtBL,KAAKM,MAAQD,EAAME,OACnBP,KAAKQ,mBAAmBC,KAAK,CAAEC,MAAOV,KAAKU,MAAOJ,MAAON,KAAKM,MAAOK,KAAMX,KAAKW,M,CAIlF,MAAAC,GACE,OACEC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,WACRf,KAAKW,OAAS,WACbE,EAAK,OAAAE,MAAM,cACTF,EAAc,gBAAAG,KAAK,IAAIC,QAASjB,KAAKM,OAAQN,KAAKU,QAGpDG,EAAA,OAAKE,MAAM,cACTF,EAAA,oBAAkBG,KAAK,IAAIC,QAASjB,KAAKM,OAAQN,KAAKU,Q","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["listCss","List","constructor","hostRef","this","expanded","showMore","selectedCount","totalItems","name","maxVisibleItems","type","internalResetTrigger","handleMutation","newTotalItems","getTotalItems","handleCheckedChange","updateListEntriesType","toggleList","event","stopPropagation","toggleShowMore","detail","value","otherRadioButtons","Array","from","el","querySelectorAll","filter","entry","getAttribute","target","forEach","radioButton","setAttribute","selectedItems","getSelectedItems","length","ifxListUpdate","emit","handleTypeChange","newType","resetTriggerChanged","newValue","reset","resetTrigger","componentWillLoad","setupListenersAndObservers","initializeList","disconnectedCallback","cleanupListenersAndObservers","resetListEntries","render","renderList","addEventListener","observer","MutationObserver","observe","childList","removeEventListener","disconnect","checkRadioButtonConstraint","listEntries","map","label","element","visibleItems","slice","remainingItems","h","class","onClick","key","toString","icon","size","href","variant","disabled"],"sources":["src/components/table-advanced-version/list/list.scss?tag=ifx-list&encapsulation=shadow","src/components/table-advanced-version/list/list.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n.link-wrapper {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: tokens.$ifxSpace100;\n margin-top: tokens.$ifxSpace100;\n}","import { Component, h, Prop, State, Event, EventEmitter, Element, Watch } from '@stencil/core';\n\n@Component({\n tag: 'ifx-list',\n styleUrl: 'list.scss',\n shadow: true,\n})\nexport class List {\n @Element() private el: HTMLElement;\n @State() expanded: boolean = false;\n @State() showMore = false;\n @State() selectedCount: number = 0;\n @State() totalItems = 0;\n @Prop() name = \"\";\n @Prop() maxVisibleItems = 6;\n @Prop() type: string = \"checkbox\"; //default value\n @Prop({ mutable: true }) resetTrigger: boolean;\n @State() internalResetTrigger: boolean = false;\n\n @Event() ifxListUpdate: EventEmitter;\n\n observer: MutationObserver;\n\n @Watch('type')\n handleTypeChange(newType: string) {\n this.updateListEntriesType(newType);\n }\n\n @Watch('resetTrigger')\n resetTriggerChanged(newValue: boolean) {\n if (newValue) {\n this.reset();\n this.resetTrigger = false; // Resetting the trigger after the action is performed\n }\n }\n\n componentWillLoad() {\n this.setupListenersAndObservers();\n this.initializeList();\n }\n\n disconnectedCallback() {\n this.cleanupListenersAndObservers();\n }\n\n reset() {\n this.resetListEntries();\n this.expanded = false;\n this.showMore = false;\n this.selectedCount = 0;\n this.ifxListUpdate.emit({ name: this.name, selectedItems: [] });\n }\n\n\n render() {\n return this.renderList();\n }\n\n\n // Refactored methods for clarity and maintainability\n private setupListenersAndObservers() {\n this.el.addEventListener('ifxListEntryChange', this.handleCheckedChange);\n this.observer = new MutationObserver(this.handleMutation);\n this.observer.observe(this.el, { childList: true });\n }\n\n private cleanupListenersAndObservers() {\n this.el.removeEventListener('ifxListEntryChange', this.handleCheckedChange);\n this.observer.disconnect();\n }\n \n private initializeList() {\n this.selectedCount = this.getSelectedItems(this.el).length;\n this.totalItems = this.getTotalItems();\n this.updateListEntriesType(this.type);\n this.checkRadioButtonConstraint();\n }\n\n \n private updateListEntriesType(newType: string) {\n const listEntries = Array.from(this.el.querySelectorAll('ifx-list-entry'));\n listEntries.forEach(entry => entry.setAttribute('type', newType));\n }\n\n private resetListEntries() {\n const listEntries = Array.from(this.el.querySelectorAll('ifx-list-entry'));\n listEntries.forEach(entry => {\n entry.value = false;\n entry.setAttribute('value', 'false');\n });\n }\n\n private handleMutation = () => {\n const newTotalItems = this.getTotalItems();\n if (newTotalItems !== this.totalItems) {\n this.totalItems = newTotalItems;\n this.handleCheckedChange();\n }\n this.updateListEntriesType(this.type);\n }\n\n private checkRadioButtonConstraint() {\n if (this.type === 'radio-button' && this.selectedCount > 1) {\n this.resetListEntries(); // Reset all and let the user select again\n this.selectedCount = 0;\n }\n }\n\n getTotalItems() {\n return this.el.querySelectorAll('ifx-list-entry').length;\n }\n\n\n toggleList = (event: MouseEvent) => {\n event.stopPropagation();\n this.expanded = !this.expanded;\n }\n\n toggleShowMore = (event: MouseEvent) => {\n event.stopPropagation();\n this.showMore = !this.showMore;\n }\n\n getSelectedItems(el: HTMLElement) {\n return Array.from(el.querySelectorAll('ifx-list-entry'))\n .filter(entry => entry.getAttribute('value') === 'true')\n .map(entry => ({\n label: entry.getAttribute('label'),\n value: entry.getAttribute('value'),\n type: entry.getAttribute('type'),\n element: entry\n }));\n }\n\n\n handleCheckedChange = (event?: CustomEvent) => {\n // If the type of the changed entry is 'radio-button' and its value is true, deselect all other radio buttons\n if (event && event.detail.type === 'radio-button' && event.detail.value) {\n const otherRadioButtons = Array.from(this.el.querySelectorAll('ifx-list-entry'))\n .filter(entry => entry.getAttribute('type') === 'radio-button' && entry !== event.target);\n otherRadioButtons.forEach(radioButton => radioButton.setAttribute('value', 'false'));\n }\n\n const selectedItems = this.getSelectedItems(this.el);\n this.selectedCount = selectedItems.length;\n\n this.ifxListUpdate.emit({ name: this.name, selectedItems });\n }\n\n private renderList() {\n const listEntries = Array.from(this.el.querySelectorAll('ifx-list-entry'));\n const visibleItems = this.showMore ? listEntries : listEntries.slice(0, this.maxVisibleItems);\n const remainingItems = listEntries.length - visibleItems.length;\n\n return (\n <div class=\"list-wrapper\">\n {visibleItems.map(entry => <slot name={entry.getAttribute('slot')}></slot>)}\n {(remainingItems > 0 || this.showMore) && (\n <div class=\"link-wrapper\" onClick={this.toggleShowMore}>\n <ifx-icon key={this.showMore.toString()} icon={this.showMore ? 'chevron-up-16' : 'chevron-down-16'} />\n <ifx-link size=\"s\" href=\"\" target=\"_blank\" variant=\"underlined\" disabled={false} >\n {this.showMore ? 'Show less' : `Show ${remainingItems} more`}\n </ifx-link>\n </div>\n )}\n </div>\n );\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -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 +0,0 @@
1
- {"version":3,"names":["searchFieldCss","SearchField","constructor","hostRef","this","value","suggestions","showSuggestions","maxSuggestions","maxHistoryItems","enableHistory","historyKey","historyHeaderText","ariaLabel","deleteIconAriaLabel","historyDeleteAriaLabel","dropdownAriaLabel","suggestionAriaLabel","historyItemAriaLabel","showDropdown","filteredSuggestions","selectedSuggestionIndex","searchHistory","showDeleteIcon","showDeleteIconInternalState","disabled","size","isFocused","placeholder","autocomplete","maxlength","focusEmitted","handleInput","query","inputElement","ifxInput","emit","requestSuggestions","handleDelete","hideDropdown","handleSearch","trim","length","addToHistory","handleHistoryDelete","event","term","stopPropagation","removeFromHistory","handleOutsideClick","path","composedPath","includes","dropdownElement","handleKeyDown","key","preventDefault","navigateSuggestions","selectSuggestion","valueWatcher","newValue","updateSuggestions","suggestionsWatcher","focusInput","ifxFocus","showHistoryDropdown","blurInput","setTimeout","ifxBlur","loadSearchHistory","localStorage","stored","getItem","JSON","parse","clearSearchHistory","removeItem","history","existingIndex","indexOf","splice","unshift","slice","setItem","stringify","index","ifxSuggestionRequested","toLowerCase","filteredExternal","filter","s","text","filteredHistory","map","id","type","sort","a","b","aText","bText","aStartsWith","startsWith","bStartsWith","localeCompare","historySuggestions","uniqueSuggestions","reduce","unique","current","findIndex","item","scope","push","direction","maxIndex","suggestion","ifxSuggestionSelected","isShowingOnlyHistory","every","renderHighlightedText","lowerText","lowerQuery","before","substring","match","after","h","componentWillLoad","componentDidLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","componentWillUpdate","render","class","getWrapperClassNames","tabindex","onClick","icon","ref","onInput","onFocus","onBlur","role","undefined","ariaLabelledBy","ariaDescribedBy","onKeyDown","getSuggestionClassNames","resultCount","onMouseEnter","getSizeClass","classNames","_a"],"sources":["src/components/search-field/search-field.scss?tag=ifx-search-field&encapsulation=shadow","src/components/search-field/search-field.tsx"],"sourcesContent":["@use '~@infineon/design-system-tokens/dist/tokens';\n@use '../../global/font.scss';\n\n:host {\n display: flex;\n}\n\n.search-field {\n box-sizing: border-box;\n background-color: tokens.$ifxColorBaseWhite;\n width: 100%;\n font-family: var(--ifx-font-family);\n position: relative; // Wichtig für absolute positioning des Dropdowns\n\n .search-field__wrapper {\n box-sizing: border-box;\n height: tokens.$ifxSize500;\n display: flex;\n align-items: center;\n border: 1px solid #8d8786;\n border-radius: tokens.$ifxBorderRadius12;\n padding: tokens.$ifxSpace100 tokens.$ifxSpace200;\n gap: tokens.$ifxSpace150;\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 &:focus-visible:not(.disabled) {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n }\n\n &.search-field__wrapper-s {\n height: 36px;\n }\n\n &:hover:not(.focused, :focus) {\n border: 1px solid #3c3a39;\n }\n\n & .delete-icon {\n outline: 1px solid transparent;\n right: 12px;\n cursor: pointer;\n &:focus-visible {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 1px;\n }\n }\n\n input[type='text'] {\n font-style: normal;\n font-weight: 400;\n font-size: 16px;\n //line-height: 24px;\n color: #8d8786;\n border: none;\n width: 100%;\n outline: none;\n //height: 100%;\n height: 16px;\n\n &:focus {\n outline: none;\n color: #1d1d1d;\n }\n\n &:disabled {\n background: tokens.$ifxColorEngineering300;\n color: tokens.$ifxColorBaseWhite;\n\n &::placeholder {\n color: tokens.$ifxColorBaseWhite;\n }\n }\n }\n\n &.disabled {\n background: tokens.$ifxColorEngineering300;\n border: none;\n color: tokens.$ifxColorBaseWhite;\n\n &:hover {\n border: none;\n outline: none;\n }\n\n & .delete-icon { \n cursor: default;\n &:focus-visible { \n outline: 1px solid transparent;\n }\n }\n }\n }\n\n // Suggestions Dropdown Styles\n .suggestions-dropdown {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n background: tokens.$ifxColorBaseWhite;\n margin-top: tokens.$ifxSpace50;\n border: 1px solid tokens.$ifxColorEngineering200;\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; // Enable container queries\n\n .suggestions-header {\n // font: tokens.$ifxEyebrowEyebrow02; TODO\n font-family: Source Sans 3;\n font-size: 0.8125rem;\n font-weight: 600;\n line-height: 1.25rem;\n\n letter-spacing: 0.25em;\n text-transform: uppercase;\n color: tokens.$ifxColorEngineering500;\n border-bottom: 1px solid tokens.$ifxColorEngineering200;\n padding: tokens.$ifxSpace150 tokens.$ifxSpace200;\n }\n\n .suggestion-item {\n padding: tokens.$ifxSpace150 tokens.$ifxSpace200;\n cursor: pointer;\n transition: background-color 0.2s ease;\n\n &:last-child {\n border-bottom: none;\n }\n\n &:hover,\n &--selected {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n .suggestion-content {\n display: flex;\n align-items: center;\n gap: tokens.$ifxSpace150;\n\n .suggestion-icon {\n color: tokens.$ifxColorEngineering500;\n flex-shrink: 0;\n\n &--history {\n color: tokens.$ifxColorEngineering500;\n }\n }\n\n .suggestion-text {\n flex: 1;\n display: flex;\n align-items: center;\n min-width: 0; // Important for flexbox truncation\n\n .suggestion-main-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex-shrink: 1;\n min-width: 0;\n }\n\n .suggestion-scope {\n color: tokens.$ifxColorEngineering400;\n flex-shrink: 0; // Never truncate the scope\n white-space: nowrap;\n margin-left: tokens.$ifxSpace25; // Add space before the scope\n font-weight: tokens.$ifxFontWeightSemibold;\n font-size: tokens.$ifxFontSizeXs;\n }\n\n // When container is narrow, stack scope below main text\n @container (max-width: 320px) {\n flex-direction: column;\n align-items: flex-start;\n\n .suggestion-main-text {\n width: 100%;\n max-width: 100%;\n }\n\n .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; // Allow truncation when narrow\n }\n }\n }\n\n .suggestion-count {\n color: tokens.$ifxColorEngineering400;\n margin-left: auto;\n flex-shrink: 0;\n }\n\n .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: tokens.$ifxColorEngineering500;\n\n &:hover {\n color: tokens.$ifxColorEngineering600;\n }\n }\n }\n\n &:hover {\n .suggestion-delete-icon {\n opacity: 1;\n visibility: visible;\n }\n }\n }\n }\n\n // Wrapper modifications when dropdown is open\n .search-field__wrapper.dropdown-open {\n border-radius: tokens.$ifxBorderRadius12 tokens.$ifxBorderRadius12 0 0;\n border-color: tokens.$ifxColorOcean500;\n }\n}\n","import { Component, EventEmitter, h, Event, Prop, Watch, State, Listen, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nimport classNames from 'classnames';\n\nexport interface SuggestionItem {\n id: string;\n text: string;\n type?: 'suggestion' | 'history';\n scope?: string;\n resultCount?: number;\n metadata?: any;\n}\n\n@Component({\n tag: 'ifx-search-field',\n styleUrl: 'search-field.scss',\n shadow: true\n})\n\nexport class SearchField {\n @Element() el;\n private inputElement: HTMLInputElement;\n private dropdownElement: HTMLDivElement;\n\n @Prop({ mutable: true }) value: string = '';\n @Prop() suggestions: SuggestionItem[] = [];\n @Prop() showSuggestions: boolean = false;\n @Prop() maxSuggestions: number = 10;\n @Prop() maxHistoryItems: number = 5;\n @Prop() enableHistory: boolean = true;\n @Prop() historyKey: string = 'ifx-search-history';\n @Prop() historyHeaderText: string = 'Recent Searches';\n\n // ARIA Labels and Accessibility Props\n @Prop() ariaLabel: string | null = \"Search Field\"\n @Prop() ariaLabelledBy?: string | null;\n @Prop() ariaDescribedBy?: string | null;\n @Prop() deleteIconAriaLabel: string = 'Clear search';\n @Prop() historyDeleteAriaLabel: string = 'Remove from history';\n @Prop() dropdownAriaLabel: string = 'Search suggestions and history';\n @Prop() suggestionAriaLabel: string = 'Search suggestion';\n @Prop() historyItemAriaLabel: string = 'Search history item';\n\n @Event() ifxInput: EventEmitter<string>;\n @Event() ifxSuggestionRequested: EventEmitter<string>;\n @Event() ifxSuggestionSelected: EventEmitter<SuggestionItem>;\n @Event() ifxFocus: EventEmitter<void>;\n @Event() ifxBlur: EventEmitter<void>;\n\n @State() showDropdown: boolean = false;\n @State() filteredSuggestions: SuggestionItem[] = [];\n @State() selectedSuggestionIndex: number = -1;\n @State() searchHistory: string[] = [];\n\n @Prop() showDeleteIcon: boolean = false;\n @State() showDeleteIconInternalState: boolean = false;\n @Prop() disabled: boolean = false;\n @Prop() size: string = 'l';\n @State() isFocused: boolean = false;\n @Prop() placeholder: string = \"Search...\";\n @Prop() autocomplete: string = \"off\";\n @Prop() maxlength?: number = null;\n\n private focusEmitted: boolean = false;\n\n @Listen('mousedown', { target: 'document' })\n handleOutsideClick(event: MouseEvent) {\n const path = event.composedPath();\n if (!path.includes(this.inputElement) && !path.includes(this.dropdownElement)) {\n this.hideDropdown();\n }\n }\n\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n if (!this.showDropdown) return;\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n this.navigateSuggestions(1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n this.navigateSuggestions(-1);\n break;\n case 'Enter':\n event.preventDefault();\n if (this.selectedSuggestionIndex >= 0) {\n this.selectSuggestion(this.filteredSuggestions[this.selectedSuggestionIndex]);\n } else {\n this.handleSearch();\n }\n break;\n case 'Escape':\n this.hideDropdown();\n break;\n }\n }\n\n @Watch('value')\n valueWatcher(newValue: string) {\n if (this.inputElement && newValue !== this.inputElement.value) {\n this.inputElement.value = newValue;\n }\n this.updateSuggestions();\n }\n\n @Watch('suggestions')\n suggestionsWatcher() {\n this.updateSuggestions();\n }\n\n\n handleInput = () => {\n const query = this.inputElement.value;\n this.value = query;\n this.ifxInput.emit(this.value);\n\n if (this.showSuggestions) {\n this.showDropdown = true;\n this.selectedSuggestionIndex = -1;\n this.requestSuggestions(query);\n }\n };\n\n handleDelete = () => {\n if(!this.disabled) { \n this.inputElement.value = '';\n this.value = \"\";\n this.ifxInput.emit(this.value);\n this.hideDropdown();\n }\n }\n\n handleSearch = () => {\n if (this.value.trim() && this.enableHistory) {\n // Only add to history if there are actual results\n if (this.filteredSuggestions.length > 0) {\n this.addToHistory(this.value);\n }\n }\n this.hideDropdown();\n }\n\n focusInput() {\n // Only emit focus event if it hasn't been emitted already\n if (!this.focusEmitted) {\n this.focusEmitted = true;\n this.isFocused = true;\n this.ifxFocus.emit();\n }\n\n if (this.showSuggestions) {\n // On focus without input: Show only history\n if (this.value.length === 0) {\n this.showHistoryDropdown();\n // Only show dropdown if history is actually present\n this.showDropdown = this.enableHistory && this.searchHistory.length > 0;\n } else {\n // With existing input: Normal suggestion logic\n this.updateSuggestions();\n this.showDropdown = this.filteredSuggestions.length > 0;\n }\n }\n }\n\n blurInput() {\n setTimeout(() => {\n this.isFocused = false;\n this.focusEmitted = false; // Reset focus flag when blur occurs\n this.ifxBlur.emit();\n }, 150);\n }\n\n // Public method to update history from external sources\n public loadSearchHistory() {\n if (this.enableHistory && typeof localStorage !== 'undefined') {\n const stored = localStorage.getItem(this.historyKey);\n this.searchHistory = stored ? JSON.parse(stored) : [];\n\n // Update suggestions when history is loaded\n this.updateSuggestions();\n\n // If no input and no history left, close dropdown\n if (this.value.length === 0 && this.searchHistory.length === 0) {\n this.showDropdown = false;\n }\n }\n }\n\n // Public method to completely clear history\n public clearSearchHistory() {\n if (this.enableHistory && typeof localStorage !== 'undefined') {\n // Clear from localStorage\n localStorage.removeItem(this.historyKey);\n\n // Clear internal history\n this.searchHistory = [];\n\n // Reset all dropdown-relevant states\n this.filteredSuggestions = [];\n this.selectedSuggestionIndex = -1;\n this.showDropdown = false;\n\n // Update suggestions after reset\n this.updateSuggestions();\n }\n }\n\n // Suggestion Management Methods\n private addToHistory(term: string) {\n if (!this.enableHistory || !term.trim()) return;\n\n const history = [...this.searchHistory];\n const existingIndex = history.indexOf(term);\n\n if (existingIndex > -1) {\n history.splice(existingIndex, 1);\n }\n\n history.unshift(term);\n // Limit history to maxHistoryItems (default 5)\n this.searchHistory = history.slice(0, this.maxHistoryItems);\n\n if (typeof localStorage !== 'undefined') {\n localStorage.setItem(this.historyKey, JSON.stringify(this.searchHistory));\n }\n }\n\n // Remove individual history entry\n private removeFromHistory(term: string) {\n if (!this.enableHistory) return;\n\n const history = [...this.searchHistory];\n const index = history.indexOf(term);\n\n if (index > -1) {\n history.splice(index, 1);\n this.searchHistory = history;\n\n // Update localStorage\n if (typeof localStorage !== 'undefined') {\n localStorage.setItem(this.historyKey, JSON.stringify(this.searchHistory));\n }\n\n // Update suggestions after removal\n this.updateSuggestions();\n\n // Close dropdown if no history remains\n if (this.searchHistory.length === 0 && this.value.length === 0) {\n this.showDropdown = false;\n }\n }\n }\n\n // Handle click on history delete button\n private handleHistoryDelete = (event: Event, term: string) => {\n event.stopPropagation(); // Prevent selection of the entry\n this.removeFromHistory(term);\n }\n\n private requestSuggestions(query: string) {\n this.ifxSuggestionRequested.emit(query);\n this.updateSuggestions();\n }\n\n private updateSuggestions() {\n const query = this.value.toLowerCase();\n let suggestions: SuggestionItem[] = [];\n\n if (query.length > 0) {\n // For text input: Mix external suggestions and relevant history\n\n // 1. Filter external suggestions\n if (this.suggestions && this.suggestions.length > 0) {\n const filteredExternal = this.suggestions.filter(s =>\n s.text.toLowerCase().includes(query)\n );\n suggestions = [...suggestions, ...filteredExternal];\n }\n\n // 2. Filter relevant history entries\n if (this.enableHistory && this.searchHistory.length > 0) {\n const filteredHistory = this.searchHistory\n .filter(term => term.toLowerCase().includes(query))\n .map((term, index) => ({\n id: `history-${index}`,\n text: term,\n type: 'history' as const\n }));\n suggestions = [...suggestions, ...filteredHistory];\n }\n\n // 3. Sort by relevance (exact matches first, then prefix matches)\n suggestions.sort((a, b) => {\n const aText = a.text.toLowerCase();\n const bText = b.text.toLowerCase();\n\n // Exact match has highest priority\n if (aText === query && bText !== query) return -1;\n if (bText === query && aText !== query) return 1;\n\n // Prefix match has second highest priority\n const aStartsWith = aText.startsWith(query);\n const bStartsWith = bText.startsWith(query);\n\n if (aStartsWith && !bStartsWith) return -1;\n if (bStartsWith && !aStartsWith) return 1;\n\n // With equal relevance: external suggestions before history\n if (a.type === 'suggestion' && b.type === 'history') return -1;\n if (a.type === 'history' && b.type === 'suggestion') return 1;\n\n // Alphabetical sorting as last criterion\n return aText.localeCompare(bText);\n });\n\n } else {\n // For empty query: Show only history (no external suggestions)\n if (this.enableHistory && this.searchHistory.length > 0) {\n const historySuggestions = this.searchHistory.map((term, index) => ({\n id: `history-${index}`,\n text: term,\n type: 'history' as const\n }));\n\n suggestions = historySuggestions;\n }\n // For empty query DO NOT show external suggestions\n }\n\n // Remove duplicates based on text and scope combination (history takes precedence over external)\n const uniqueSuggestions = suggestions.reduce((unique: SuggestionItem[], current) => {\n const existingIndex = unique.findIndex(item =>\n item.text.toLowerCase() === current.text.toLowerCase() &&\n item.scope === current.scope\n );\n if (existingIndex === -1) {\n unique.push(current);\n } else {\n // If already exists, prefer history over external suggestions\n if (current.type === 'history' && unique[existingIndex].type !== 'history') {\n unique[existingIndex] = current;\n }\n }\n return unique;\n }, []);\n\n this.filteredSuggestions = uniqueSuggestions.slice(0, this.maxSuggestions);\n this.selectedSuggestionIndex = -1;\n }\n\n private navigateSuggestions(direction: number) {\n const maxIndex = this.filteredSuggestions.length - 1;\n\n if (direction > 0) {\n this.selectedSuggestionIndex = this.selectedSuggestionIndex < maxIndex\n ? this.selectedSuggestionIndex + 1\n : 0;\n } else {\n this.selectedSuggestionIndex = this.selectedSuggestionIndex > 0\n ? this.selectedSuggestionIndex - 1\n : maxIndex;\n }\n }\n\n private selectSuggestion(suggestion: SuggestionItem) {\n this.value = suggestion.text;\n this.inputElement.value = suggestion.text;\n this.ifxSuggestionSelected.emit(suggestion);\n this.ifxInput.emit(this.value);\n\n if (this.enableHistory) {\n // Always add selected suggestions to history since they are valid results\n this.addToHistory(suggestion.text);\n }\n\n this.hideDropdown();\n }\n\n private hideDropdown() {\n this.showDropdown = false;\n this.selectedSuggestionIndex = -1;\n this.isFocused = false;\n }\n\n // Show only history in dropdown (e.g. on focus without input)\n private showHistoryDropdown() {\n if (this.enableHistory && this.searchHistory.length > 0) {\n // Show only history entries\n const historySuggestions = this.searchHistory.map((term, index) => ({\n id: `history-${index}`,\n text: term,\n type: 'history' as const\n }));\n\n this.filteredSuggestions = historySuggestions.slice(0, this.maxSuggestions);\n this.selectedSuggestionIndex = -1;\n } else {\n this.filteredSuggestions = [];\n }\n }\n\n // Check if only history entries are displayed (without text input)\n private isShowingOnlyHistory(): boolean {\n return this.value.length === 0 &&\n this.filteredSuggestions.length > 0 &&\n this.filteredSuggestions.every(s => s.type === 'history');\n }\n\n // Render text with highlighted matches\n private renderHighlightedText(text: string, query: string) {\n if (!query || query.length === 0) {\n return text;\n }\n\n const lowerText = text.toLowerCase();\n const lowerQuery = query.toLowerCase();\n const index = lowerText.indexOf(lowerQuery);\n\n if (index === -1) {\n return text;\n }\n\n const before = text.substring(0, index);\n const match = text.substring(index, index + query.length);\n const after = text.substring(index + query.length);\n\n return [\n before,\n <strong>{match}</strong>,\n after\n ];\n }\n\n componentWillLoad() {\n this.loadSearchHistory();\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) {\n const framework = detectFramework()\n trackComponent('ifx-search-field', await framework)\n }\n }\n\n componentWillUpdate() {\n if (this.value !== \"\") {\n this.showDeleteIconInternalState = true;\n } else this.showDeleteIconInternalState = false;\n }\n\n render() {\n return (\n <div\n aria-disabled={this.disabled}\n aria-value={this.value}\n class='search-field'\n >\n <div\n class={this.getWrapperClassNames()}\n tabindex={1}\n onClick={() => this.focusInput()}\n >\n <ifx-icon icon=\"search-16\" class=\"search-icon\"></ifx-icon>\n <input\n ref={(el) => (this.inputElement = el)}\n type=\"text\"\n autocomplete={this.autocomplete}\n onInput={() => this.handleInput()}\n onFocus={() => this.focusInput()}\n onBlur={() => this.blurInput()}\n placeholder={this.placeholder}\n disabled={this.disabled}\n maxlength={this.maxlength}\n value={this.value}\n role=\"combobox\"\n aria-controls={this.showDropdown ? 'suggestions-dropdown' : undefined}\n aria-expanded={this.showDropdown}\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n aria-label={this.ariaLabel}\n aria-labelledby={this.ariaLabelledBy}\n aria-describedby={this.ariaDescribedBy}\n aria-owns={this.showDropdown ? 'suggestions-dropdown' : undefined}\n aria-activedescendant={this.selectedSuggestionIndex >= 0 ? `suggestion-${this.selectedSuggestionIndex}` : undefined}\n />\n {this.showDeleteIcon && this.showDeleteIconInternalState ? (\n <ifx-icon\n icon=\"cRemove16\"\n class=\"delete-icon\"\n onClick={this.handleDelete}\n role=\"button\"\n tabindex=\"0\"\n aria-label={this.deleteIconAriaLabel}\n onKeyDown={(event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.handleDelete();\n }\n }}>\n </ifx-icon>\n ) : null}\n </div>\n\n {/* Suggestions Dropdown */}\n {this.showDropdown && this.filteredSuggestions.length > 0 && (\n <div\n ref={(el) => (this.dropdownElement = el)}\n id=\"suggestions-dropdown\"\n class=\"suggestions-dropdown\"\n role=\"listbox\"\n aria-label={this.dropdownAriaLabel}\n >\n {/* History Header - only show when exclusively showing history entries */}\n {this.isShowingOnlyHistory() && (\n <div class=\"suggestions-header\">\n {this.historyHeaderText}\n </div>\n )}\n\n {this.filteredSuggestions.map((suggestion, index) => (\n <div\n key={suggestion.id}\n id={`suggestion-${index}`}\n class={this.getSuggestionClassNames(index)}\n role=\"option\"\n aria-selected={index === this.selectedSuggestionIndex}\n aria-label={`${suggestion.type === 'history' ? this.historyItemAriaLabel : this.suggestionAriaLabel}: ${suggestion.text}${suggestion.scope ? `, ${suggestion.scope}` : ''}${suggestion.resultCount ? `, ${suggestion.resultCount} results` : ''}`}\n onClick={() => this.selectSuggestion(suggestion)}\n onMouseEnter={() => this.selectedSuggestionIndex = index}\n >\n <div class=\"suggestion-content\">\n {suggestion.type === 'history' && (\n <ifx-icon icon=\"history-16\" class=\"suggestion-icon suggestion-icon--history\"></ifx-icon>\n )}\n {suggestion.type === 'suggestion' && (\n <ifx-icon icon=\"search-16\" class=\"suggestion-icon suggestion-icon--suggestion\"></ifx-icon>\n )}\n <span class=\"suggestion-text\">\n <span class=\"suggestion-main-text\">\n {this.renderHighlightedText(suggestion.text, this.value)}\n </span>\n {suggestion.scope && (\n <span class=\"suggestion-scope\">– {suggestion.scope}</span>\n )}\n </span>\n\n {suggestion.resultCount !== undefined && suggestion.scope && (\n <span class=\"suggestion-count\">{suggestion.resultCount}</span>\n )}\n\n {/* Delete Button only for history entries */}\n {suggestion.type === 'history' && (\n <ifx-icon\n icon=\"cross16\"\n class=\"suggestion-delete-icon\"\n role=\"button\"\n tabindex=\"0\"\n aria-label={`${this.historyDeleteAriaLabel}: ${suggestion.text}`}\n onClick={(event) => this.handleHistoryDelete(event, suggestion.text)}\n onKeyDown={(event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.handleHistoryDelete(event, suggestion.text);\n }\n }}\n ></ifx-icon>\n )}\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n );\n }\n\n getSizeClass() {\n return `${this.size}` === \"s\"\n ? \"search-field__wrapper-s\"\n : \"\";\n }\n\n getWrapperClassNames() {\n return classNames(\n `search-field__wrapper`,\n `search-field__wrapper ${this.getSizeClass()}`,\n `${this.isFocused ? 'focused' : \"\"}`,\n `${this.showDropdown ? 'dropdown-open' : \"\"}`,\n `${this.disabled ? 'disabled' : \"\"}`\n );\n }\n\n getSuggestionClassNames(index: number) {\n return classNames(\n 'suggestion-item',\n {\n 'suggestion-item--selected': index === this.selectedSuggestionIndex,\n 'suggestion-item--history': this.filteredSuggestions[index]?.type === 'history'\n }\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["cardTextCss","CardText","componentWillLoad","link","this","el","closest","querySelector","button","hasBtn","render","h","key","class"],"sources":["src/components/card/card-text/card-text.scss?tag=ifx-card-text&encapsulation=shadow","src/components/card/card-text/card-text.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../../global/font.scss\";\n\n:host {\n pointer-events: none;\n}\n\n.card__text-wrapper {\n padding-bottom: 0px;\n\n &.hasBtn {\n padding-bottom: 16px;\n }\n}\n\n.card-text {\n line-height: tokens.$ifxLineHeightM;\n font-size: tokens.$ifxFontSizeM;\n font-weight: 400;\n white-space: wrap;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n}","import { Component, h, Element, State} from '@stencil/core';\n\n@Component({\n tag: 'ifx-card-text',\n styleUrl: './card-text.scss',\n shadow: true,\n})\n\nexport class CardText {\n @Element() el;\n @State() hasBtn: boolean;\n\n componentWillLoad() { \n const link = this.el.closest('ifx-card').querySelector('ifx-link');\n const button = this.el.closest('ifx-card').querySelector('ifx-button');\n if(link || button) { \n this.hasBtn = true;\n }\n }\n\n render() {\n return (\n <div class={`card__text-wrapper ${this.hasBtn ? 'hasBtn' : \"\"}`}>\n <div class={`card-text`}>\n <slot />\n </div>\n </div>\n );\n }\n}\n"],"mappings":"6CAAA,MAAMA,EAAc,0W,MCQPC,EAAQ,M,yBAInB,iBAAAC,GACE,MAAMC,EAAOC,KAAKC,GAAGC,QAAQ,YAAYC,cAAc,YACvD,MAAMC,EAASJ,KAAKC,GAAGC,QAAQ,YAAYC,cAAc,cACzD,GAAGJ,GAAQK,EAAQ,CACjBJ,KAAKK,OAAS,I,EAIlB,MAAAC,GACE,OACEC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,sBAAsBT,KAAKK,OAAS,SAAW,MACzDE,EAAK,OAAAC,IAAA,2CAAAC,MAAO,aACVF,EAAQ,QAAAC,IAAA,8C","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["breadcrumbCss","Breadcrumb","componentDidLoad","isNestedInIfxComponent","this","el","framework","detectFramework","trackComponent","element","shadowRoot","firstChild","validateBreadcrumbItemStructure","console","error","slot","querySelector","assignedNodes","i","length","node","nodeName","breadcrumbItem","breadcrumbItemLabel","breadcrumbDropdown","hasAttribute","Error","render","h","key","class"],"sources":["src/components/breadcrumb/breadcrumb.scss?tag=ifx-breadcrumb&encapsulation=shadow","src/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: flex;\n}\n\n.breadcrumb {\n list-style: none;\n padding: 0px;\n margin: 0px;\n display: flex;\n flex-direction: row;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n font-size: tokens.$ifxFontSizeS;\n align-items: flex-start;\n //gap: tokens.$ifxSpace200; //this is where the gap comes from\n\n}\n\n// .separator {\n// color: tokens.$ifxColorEngineering300;\n// margin: 0 16px;\n// }","import { Component, h, Element } 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-breadcrumb',\n styleUrl: 'breadcrumb.scss',\n shadow: true\n})\nexport class Breadcrumb {\n @Element() el;\n\n async componentDidLoad() {\n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-breadcrumb', await framework)\n }\n const element = this.el.shadowRoot.firstChild;\n this.validateBreadcrumbItemStructure(element);\n }\n\n private validateBreadcrumbItemStructure(element: HTMLElement) {\n if (!element) {\n console.error('element not found');\n return;\n }\n \n const slot = element.querySelector('slot');\n if(slot) { \n const assignedNodes = slot.assignedNodes();\n \n for (let i = 0; i < assignedNodes.length; i++) {\n const node = assignedNodes[i];\n if (node.nodeName === 'IFX-BREADCRUMB-ITEM') {\n const breadcrumbItem = node as HTMLIfxBreadcrumbItemElement;\n const breadcrumbItemLabel = breadcrumbItem.querySelector('ifx-breadcrumb-item-label');\n const breadcrumbDropdown = breadcrumbItem.querySelector('ifx-dropdown-menu');\n if (breadcrumbItemLabel.hasAttribute('href') && breadcrumbDropdown) {\n throw new Error('ifx-breadcrumb-item cannot have both a href and a dropdown menu.');\n }\n }\n }\n }\n }\n\n render() {\n return (\n <nav aria-label=\"Page navigation breadcrumb\">\n <ol class=\"breadcrumb\">\n <slot />\n </ol>\n </nav>\n );\n }\n}\n"],"mappings":"iIAAA,MAAMA,EAAgB,mP,MCUTC,EAAU,M,yBAGrB,sBAAMC,GACH,IAAIC,EAAuBC,KAAKC,IAAK,CACpC,MAAMC,EAAYC,IAClBC,EAAe,uBAAwBF,E,CAEzC,MAAMG,EAAUL,KAAKC,GAAGK,WAAWC,WACnCP,KAAKQ,gCAAgCH,E,CAG/B,+BAAAG,CAAgCH,GACtC,IAAKA,EAAS,CACZI,QAAQC,MAAM,qBACd,M,CAGF,MAAMC,EAAON,EAAQO,cAAc,QACnC,GAAGD,EAAM,CACP,MAAME,EAAgBF,EAAKE,gBAE3B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAcE,OAAQD,IAAK,CAC7C,MAAME,EAAOH,EAAcC,GAC3B,GAAIE,EAAKC,WAAa,sBAAuB,CAC3C,MAAMC,EAAiBF,EACvB,MAAMG,EAAsBD,EAAeN,cAAc,6BACzD,MAAMQ,EAAqBF,EAAeN,cAAc,qBACxD,GAAIO,EAAoBE,aAAa,SAAWD,EAAoB,CAClE,MAAM,IAAIE,MAAM,mE,KAO1B,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,wDAAgB,8BACdD,EAAI,MAAAC,IAAA,2CAAAC,MAAM,cACRF,EAAQ,QAAAC,IAAA,8C","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["segmentCss","Segment","constructor","hostRef","this","selected","handleSegmentClick","segmentSelect","emit","segmentIndex","handleSegmentKeyDown","event","code","render","h","key","class","tabIndex","onClick","onKeyDown","e","icon"],"sources":["src/components/segmented-control/segment/segment.scss?tag=ifx-segment&encapsulation=shadow","src/components/segmented-control/segment/segment.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../../global/font.scss\";\n\n.segment {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: tokens.$ifxSize100;\n position: relative;\n\n border: tokens.$ifxBorderRadius12 solid tokens.$ifxColorEngineering300;\n border-radius: tokens.$ifxBorderRadius12;\n padding: 0 tokens.$ifxSize100 0 tokens.$ifxSize100;\n \n height: 34px;\n\n background-color: tokens.$ifxColorBaseWhite;\n\n transition: all 100ms ease;\n transition-property: color, background;\n \n font: tokens.$ifxBodyBodySemibold04;\n\n &:focus-visible {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorOcean500;\n }\n\n &:hover { \n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorOcean600;\n \n cursor: pointer;\n }\n \n &:active {\n background-color: tokens.$ifxColorOcean700;\n }\n \n &.segment--selected {\n color: tokens.$ifxColorBaseWhite;\n \n background-color: tokens.$ifxColorOcean500;\n }\n\n &.segment--small {\n height: 30px;\n }\n}\n\n.segment::after {\n position: absolute;\n top: 0;\n left: 0;\n\n width: 100%;\n height: 100%;\n\n outline: tokens.$ifxBorderRadius12 solid tokens.$ifxColorEngineering300;\n border-radius: tokens.$ifxBorderRadius12;\n\n content: '';\n}","import { h, Component, Event, EventEmitter, Prop } from \"@stencil/core\";\n\n@Component ({\n tag: 'ifx-segment',\n styleUrl: 'segment.scss',\n shadow: true\n})\n\nexport class Segment {\n @Event({ composed: false }) segmentSelect: EventEmitter<number>;\n\n @Prop() icon: string;\n @Prop() segmentIndex: number;\n @Prop({ mutable: true }) selected: boolean = false;\n @Prop() value!: string;\n\n handleSegmentClick() {\n if (this.selected) return;\n this.selected = true;\n this.segmentSelect.emit(this.segmentIndex);\n }\n \n handleSegmentKeyDown(event: KeyboardEvent) {\n if (event.code === 'Enter' || event.code === 'Space') {\n if (this.selected) return;\n this.selected = true;\n this.segmentSelect.emit(this.segmentIndex);\n }\n }\n\n render() {\n return (\n <div class={`segment ${this.selected ? 'segment--selected' : ''}`} \n tabIndex={0}\n onClick={() => {this.handleSegmentClick()}}\n onKeyDown={(e) => {this.handleSegmentKeyDown(e)}}>\n <ifx-icon icon={this.icon}></ifx-icon> <slot />\n </div>\n );\n }\n}"],"mappings":"kDAAA,MAAMA,EAAa,uvB,MCQNC,EAAO,MANpB,WAAAC,CAAAC,G,uDAW6BC,KAAQC,SAAY,KA2BhD,CAxBG,kBAAAC,GACI,GAAIF,KAAKC,SAAU,OACnBD,KAAKC,SAAW,KAChBD,KAAKG,cAAcC,KAAKJ,KAAKK,a,CAGjC,oBAAAC,CAAqBC,GACjB,GAAIA,EAAMC,OAAS,SAAWD,EAAMC,OAAS,QAAS,CAClD,GAAIR,KAAKC,SAAU,OACnBD,KAAKC,SAAW,KAChBD,KAAKG,cAAcC,KAAKJ,KAAKK,a,EAIrC,MAAAI,GACI,OACIC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,WAAWZ,KAAKC,SAAW,oBAAsB,KACzDY,SAAU,EACVC,QAAS,KAAOd,KAAKE,oBAAoB,EACzCa,UAAYC,IAAOhB,KAAKM,qBAAqBU,EAAE,GAC/CN,EAAA,YAAAC,IAAA,2CAAUM,KAAMjB,KAAKiB,OAAiB,IAACP,EAAQ,QAAAC,IAAA,6C","ignoreList":[]}