@infineon/infineon-design-system-stencil 37.4.1--canary.1962.b7d8ef9ebfd6ebfa169ce05a1ae77ed7feccc9c3.0 → 37.4.1--canary.1723.e5c005e909caaf751eb90a5630e372ec0fd6bde4.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 (626) hide show
  1. package/dist/cjs/framework-detection-78986016.js +93 -0
  2. package/dist/cjs/framework-detection-78986016.js.map +1 -0
  3. package/dist/cjs/ifx-accordion_2.cjs.entry.js +4 -4
  4. package/dist/cjs/ifx-accordion_2.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ifx-alert_2.cjs.entry.js +2 -4
  6. package/dist/cjs/ifx-alert_2.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ifx-badge.cjs.entry.js +4 -4
  8. package/dist/cjs/ifx-badge.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ifx-basic-table.cjs.entry.js +7 -7
  10. package/dist/cjs/ifx-basic-table.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ifx-breadcrumb.cjs.entry.js +6 -4
  12. package/dist/cjs/ifx-breadcrumb.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ifx-button.cjs.entry.js +3 -5
  14. package/dist/cjs/ifx-button.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ifx-card.cjs.entry.js +5 -7
  16. package/dist/cjs/ifx-card.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ifx-checkbox-group.cjs.entry.js +3 -5
  18. package/dist/cjs/ifx-checkbox-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ifx-checkbox.cjs.entry.js +5 -7
  20. package/dist/cjs/ifx-checkbox.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ifx-chip_3.cjs.entry.js +16 -18
  22. package/dist/cjs/ifx-chip_3.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ifx-content-switcher.cjs.entry.js +3 -5
  24. package/dist/cjs/ifx-content-switcher.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ifx-date-picker.cjs.entry.js +7 -5
  26. package/dist/cjs/ifx-date-picker.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ifx-dropdown.cjs.entry.js +3 -5
  28. package/dist/cjs/ifx-dropdown.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ifx-file-upload.cjs.entry.js +7 -5
  30. package/dist/cjs/ifx-file-upload.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ifx-footer.cjs.entry.js +6 -8
  32. package/dist/cjs/ifx-footer.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ifx-icon-button.cjs.entry.js +3 -5
  34. package/dist/cjs/ifx-icon-button.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ifx-icon.cjs.entry.js +3 -5
  36. package/dist/cjs/ifx-icon.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ifx-indicator.cjs.entry.js +4 -6
  38. package/dist/cjs/ifx-indicator.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ifx-link.cjs.entry.js +4 -4
  40. package/dist/cjs/ifx-link.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ifx-modal.cjs.entry.js +7 -5
  42. package/dist/cjs/ifx-modal.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ifx-multiselect_2.cjs.entry.js +6 -6
  44. package/dist/cjs/ifx-multiselect_2.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ifx-navbar.cjs.entry.js +7 -7
  46. package/dist/cjs/ifx-navbar.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ifx-notification.cjs.entry.js +5 -5
  48. package/dist/cjs/ifx-notification.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ifx-progress-bar.cjs.entry.js +4 -6
  50. package/dist/cjs/ifx-progress-bar.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ifx-radio-button-group.cjs.entry.js +4 -6
  52. package/dist/cjs/ifx-radio-button-group.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ifx-radio-button.cjs.entry.js +7 -9
  54. package/dist/cjs/ifx-radio-button.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ifx-search-bar.cjs.entry.js +5 -7
  56. package/dist/cjs/ifx-search-bar.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ifx-search-field.cjs.entry.js +4 -4
  58. package/dist/cjs/ifx-search-field.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ifx-segmented-control.cjs.entry.js +7 -5
  60. package/dist/cjs/ifx-segmented-control.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ifx-select.cjs.entry.js +8 -8
  62. package/dist/cjs/ifx-select.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ifx-sidebar.cjs.entry.js +9 -9
  64. package/dist/cjs/ifx-sidebar.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ifx-slider.cjs.entry.js +8 -8
  66. package/dist/cjs/ifx-slider.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ifx-spinner_2.cjs.entry.js +11 -13
  68. package/dist/cjs/ifx-spinner_2.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ifx-status.cjs.entry.js +4 -4
  70. package/dist/cjs/ifx-status.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ifx-stepper.cjs.entry.js +8 -8
  72. package/dist/cjs/ifx-stepper.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ifx-switch.cjs.entry.js +7 -7
  74. package/dist/cjs/ifx-switch.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ifx-table.cjs.entry.js +8 -8
  76. package/dist/cjs/ifx-table.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ifx-tabs.cjs.entry.js +8 -8
  78. package/dist/cjs/ifx-tabs.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ifx-tag.cjs.entry.js +4 -4
  80. package/dist/cjs/ifx-tag.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ifx-textarea.cjs.entry.js +4 -6
  82. package/dist/cjs/ifx-textarea.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ifx-tooltip.cjs.entry.js +10 -10
  84. package/dist/cjs/ifx-tooltip.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ifx-tree-view.cjs.entry.js +4 -4
  86. package/dist/cjs/ifx-tree-view.cjs.entry.js.map +1 -1
  87. package/dist/collection/components/accordion/accordion.js +3 -3
  88. package/dist/collection/components/accordion/accordion.js.map +1 -1
  89. package/dist/collection/components/alert/alert.js +1 -3
  90. package/dist/collection/components/alert/alert.js.map +1 -1
  91. package/dist/collection/components/badge/badge.js +3 -3
  92. package/dist/collection/components/badge/badge.js.map +1 -1
  93. package/dist/collection/components/breadcrumb/breadcrumb.js +5 -3
  94. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  95. package/dist/collection/components/button/button.js +2 -4
  96. package/dist/collection/components/button/button.js.map +1 -1
  97. package/dist/collection/components/card/card.js +4 -6
  98. package/dist/collection/components/card/card.js.map +1 -1
  99. package/dist/collection/components/checkbox/checkbox.js +4 -6
  100. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  101. package/dist/collection/components/checkbox-group/checkbox-group.js +2 -4
  102. package/dist/collection/components/checkbox-group/checkbox-group.js.map +1 -1
  103. package/dist/collection/components/chip/chip.js +9 -11
  104. package/dist/collection/components/chip/chip.js.map +1 -1
  105. package/dist/collection/components/content-switcher/content-switcher.js +2 -4
  106. package/dist/collection/components/content-switcher/content-switcher.js.map +1 -1
  107. package/dist/collection/components/date-picker/date-picker.js +6 -4
  108. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  109. package/dist/collection/components/dropdown/dropdown.js +2 -4
  110. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  111. package/dist/collection/components/file-upload/file-upload.js +6 -4
  112. package/dist/collection/components/file-upload/file-upload.js.map +1 -1
  113. package/dist/collection/components/footer/footer.js +5 -7
  114. package/dist/collection/components/footer/footer.js.map +1 -1
  115. package/dist/collection/components/icon/infineonIconStencil.js +2 -4
  116. package/dist/collection/components/icon/infineonIconStencil.js.map +1 -1
  117. package/dist/collection/components/icon-button/icon-button.js +2 -4
  118. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  119. package/dist/collection/components/indicator/indicator.js +3 -5
  120. package/dist/collection/components/indicator/indicator.js.map +1 -1
  121. package/dist/collection/components/link/link.js +3 -3
  122. package/dist/collection/components/link/link.js.map +1 -1
  123. package/dist/collection/components/modal/modal.js +6 -4
  124. package/dist/collection/components/modal/modal.js.map +1 -1
  125. package/dist/collection/components/navigation/navbar/navbar.js +6 -6
  126. package/dist/collection/components/navigation/navbar/navbar.js.map +1 -1
  127. package/dist/collection/components/navigation/sidebar/sidebar.js +8 -8
  128. package/dist/collection/components/navigation/sidebar/sidebar.js.map +1 -1
  129. package/dist/collection/components/notification/notification.js +4 -4
  130. package/dist/collection/components/notification/notification.js.map +1 -1
  131. package/dist/collection/components/pagination/pagination.js +6 -6
  132. package/dist/collection/components/pagination/pagination.js.map +1 -1
  133. package/dist/collection/components/progress-bar/progress-bar.js +3 -5
  134. package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
  135. package/dist/collection/components/radio-button/radio-button.js +6 -8
  136. package/dist/collection/components/radio-button/radio-button.js.map +1 -1
  137. package/dist/collection/components/radio-button-group/radio-button-group.js +3 -5
  138. package/dist/collection/components/radio-button-group/radio-button-group.js.map +1 -1
  139. package/dist/collection/components/search-bar/search-bar.js +4 -6
  140. package/dist/collection/components/search-bar/search-bar.js.map +1 -1
  141. package/dist/collection/components/search-field/search-field.js +3 -3
  142. package/dist/collection/components/search-field/search-field.js.map +1 -1
  143. package/dist/collection/components/segmented-control/segmented-control.js +6 -4
  144. package/dist/collection/components/segmented-control/segmented-control.js.map +1 -1
  145. package/dist/collection/components/select/multi-select/multiselect.js +5 -5
  146. package/dist/collection/components/select/multi-select/multiselect.js.map +1 -1
  147. package/dist/collection/components/select/single-select/select.js +7 -7
  148. package/dist/collection/components/select/single-select/select.js.map +1 -1
  149. package/dist/collection/components/slider/slider.js +7 -7
  150. package/dist/collection/components/slider/slider.js.map +1 -1
  151. package/dist/collection/components/spinner/spinner.js +4 -4
  152. package/dist/collection/components/spinner/spinner.js.map +1 -1
  153. package/dist/collection/components/status/status.js +3 -3
  154. package/dist/collection/components/status/status.js.map +1 -1
  155. package/dist/collection/components/stepper/stepper.js +7 -7
  156. package/dist/collection/components/stepper/stepper.js.map +1 -1
  157. package/dist/collection/components/switch/switch.js +6 -6
  158. package/dist/collection/components/switch/switch.js.map +1 -1
  159. package/dist/collection/components/table-advanced-version/table.js +7 -7
  160. package/dist/collection/components/table-advanced-version/table.js.map +1 -1
  161. package/dist/collection/components/table-basic-version/table.js +6 -6
  162. package/dist/collection/components/table-basic-version/table.js.map +1 -1
  163. package/dist/collection/components/tabs/tabs.js +7 -7
  164. package/dist/collection/components/tabs/tabs.js.map +1 -1
  165. package/dist/collection/components/tag/tag.js +3 -3
  166. package/dist/collection/components/tag/tag.js.map +1 -1
  167. package/dist/collection/components/text-field/text-field.js +6 -8
  168. package/dist/collection/components/text-field/text-field.js.map +1 -1
  169. package/dist/collection/components/textarea/textarea.js +3 -5
  170. package/dist/collection/components/textarea/textarea.js.map +1 -1
  171. package/dist/collection/components/tooltip/tooltip.js +9 -9
  172. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  173. package/dist/collection/components/tree-view/tree-view.js +3 -3
  174. package/dist/collection/components/tree-view/tree-view.js.map +1 -1
  175. package/dist/collection/global/utils/framework-detection.js +35 -70
  176. package/dist/collection/global/utils/framework-detection.js.map +1 -1
  177. package/dist/collection/global/utils/tracking.js +3 -19
  178. package/dist/collection/global/utils/tracking.js.map +1 -1
  179. package/dist/components/ifx-accordion-item.js +1 -1
  180. package/dist/components/ifx-accordion.js +1 -1
  181. package/dist/components/ifx-alert.js +1 -1
  182. package/dist/components/ifx-badge.js +4 -4
  183. package/dist/components/ifx-badge.js.map +1 -1
  184. package/dist/components/ifx-basic-table.js +7 -7
  185. package/dist/components/ifx-basic-table.js.map +1 -1
  186. package/dist/components/ifx-breadcrumb-item-label.js +1 -1
  187. package/dist/components/ifx-breadcrumb.js +6 -4
  188. package/dist/components/ifx-breadcrumb.js.map +1 -1
  189. package/dist/components/ifx-button.js +1 -1
  190. package/dist/components/ifx-card.js +5 -7
  191. package/dist/components/ifx-card.js.map +1 -1
  192. package/dist/components/ifx-checkbox-group.js +4 -6
  193. package/dist/components/ifx-checkbox-group.js.map +1 -1
  194. package/dist/components/ifx-checkbox.js +1 -1
  195. package/dist/components/ifx-chip-item.js +1 -1
  196. package/dist/components/ifx-chip.js +1 -1
  197. package/dist/components/ifx-content-switcher.js +3 -5
  198. package/dist/components/ifx-content-switcher.js.map +1 -1
  199. package/dist/components/ifx-date-picker.js +8 -6
  200. package/dist/components/ifx-date-picker.js.map +1 -1
  201. package/dist/components/ifx-download.js +1 -1
  202. package/dist/components/ifx-dropdown-item.js +1 -1
  203. package/dist/components/ifx-dropdown-trigger-button.js +2 -2
  204. package/dist/components/ifx-dropdown.js +3 -5
  205. package/dist/components/ifx-dropdown.js.map +1 -1
  206. package/dist/components/ifx-faq.js +3 -3
  207. package/dist/components/ifx-file-upload.js +11 -9
  208. package/dist/components/ifx-file-upload.js.map +1 -1
  209. package/dist/components/ifx-filter-accordion.js +2 -2
  210. package/dist/components/ifx-filter-bar.js +2 -2
  211. package/dist/components/ifx-filter-search.js +2 -2
  212. package/dist/components/ifx-footer.js +6 -8
  213. package/dist/components/ifx-footer.js.map +1 -1
  214. package/dist/components/ifx-icon-button.js +1 -1
  215. package/dist/components/ifx-icon.js +1 -1
  216. package/dist/components/ifx-icons-preview.js +4 -4
  217. package/dist/components/ifx-indicator.js +1 -1
  218. package/dist/components/ifx-link.js +1 -1
  219. package/dist/components/ifx-list-entry.js +3 -3
  220. package/dist/components/ifx-list.js +2 -2
  221. package/dist/components/ifx-modal.js +9 -7
  222. package/dist/components/ifx-modal.js.map +1 -1
  223. package/dist/components/ifx-multiselect-option.js +1 -1
  224. package/dist/components/ifx-multiselect.js +1 -1
  225. package/dist/components/ifx-navbar-item.js +2 -2
  226. package/dist/components/ifx-navbar.js +8 -8
  227. package/dist/components/ifx-navbar.js.map +1 -1
  228. package/dist/components/ifx-notification.js +1 -1
  229. package/dist/components/ifx-overview-table.js +3 -3
  230. package/dist/components/ifx-pagination.js +1 -1
  231. package/dist/components/ifx-progress-bar.js +1 -1
  232. package/dist/components/ifx-radio-button-group.js +5 -7
  233. package/dist/components/ifx-radio-button-group.js.map +1 -1
  234. package/dist/components/ifx-radio-button.js +1 -1
  235. package/dist/components/ifx-search-bar.js +7 -9
  236. package/dist/components/ifx-search-bar.js.map +1 -1
  237. package/dist/components/ifx-search-field.js +1 -1
  238. package/dist/components/ifx-segment.js +1 -1
  239. package/dist/components/ifx-segmented-control.js +8 -6
  240. package/dist/components/ifx-segmented-control.js.map +1 -1
  241. package/dist/components/ifx-select.js +1 -1
  242. package/dist/components/ifx-set-filter.js +7 -7
  243. package/dist/components/ifx-sidebar-item.js +2 -2
  244. package/dist/components/ifx-sidebar.js +9 -9
  245. package/dist/components/ifx-sidebar.js.map +1 -1
  246. package/dist/components/ifx-slider.js +9 -9
  247. package/dist/components/ifx-slider.js.map +1 -1
  248. package/dist/components/ifx-spinner.js +1 -1
  249. package/dist/components/ifx-status.js +4 -4
  250. package/dist/components/ifx-status.js.map +1 -1
  251. package/dist/components/ifx-step.js +1 -1
  252. package/dist/components/ifx-stepper.js +8 -8
  253. package/dist/components/ifx-stepper.js.map +1 -1
  254. package/dist/components/ifx-switch.js +7 -7
  255. package/dist/components/ifx-switch.js.map +1 -1
  256. package/dist/components/ifx-table.js +17 -17
  257. package/dist/components/ifx-table.js.map +1 -1
  258. package/dist/components/ifx-tabs.js +9 -9
  259. package/dist/components/ifx-tabs.js.map +1 -1
  260. package/dist/components/ifx-tag.js +5 -5
  261. package/dist/components/ifx-tag.js.map +1 -1
  262. package/dist/components/ifx-template.js +1 -1
  263. package/dist/components/ifx-templates-ui.js +8 -8
  264. package/dist/components/ifx-text-field.js +1 -1
  265. package/dist/components/ifx-textarea.js +4 -6
  266. package/dist/components/ifx-textarea.js.map +1 -1
  267. package/dist/components/ifx-tooltip.js +11 -11
  268. package/dist/components/ifx-tooltip.js.map +1 -1
  269. package/dist/components/ifx-tree-view-item.js +2 -2
  270. package/dist/components/ifx-tree-view.js +4 -4
  271. package/dist/components/ifx-tree-view.js.map +1 -1
  272. package/dist/components/{p-6fededb0.js → p-29a39b8c.js} +5 -5
  273. package/dist/components/p-29a39b8c.js.map +1 -0
  274. package/dist/components/{p-5e2d6dee.js → p-2ddcc02e.js} +10 -10
  275. package/dist/components/p-2ddcc02e.js.map +1 -0
  276. package/dist/components/{p-e16ae13e.js → p-353138d9.js} +11 -11
  277. package/dist/components/p-353138d9.js.map +1 -0
  278. package/dist/components/{p-051d7acc.js → p-39116717.js} +4 -6
  279. package/dist/components/p-39116717.js.map +1 -0
  280. package/dist/components/{p-f3392444.js → p-45c73d0e.js} +8 -8
  281. package/dist/components/p-45c73d0e.js.map +1 -0
  282. package/dist/components/{p-7fc63460.js → p-4c62f9ef.js} +6 -6
  283. package/dist/components/p-4c62f9ef.js.map +1 -0
  284. package/dist/components/{p-c74b70f5.js → p-554fc743.js} +5 -7
  285. package/dist/components/p-554fc743.js.map +1 -0
  286. package/dist/components/{p-3ba01839.js → p-58b34e7f.js} +2 -2
  287. package/dist/components/{p-3ba01839.js.map → p-58b34e7f.js.map} +1 -1
  288. package/dist/components/{p-805d4bab.js → p-63e4dfb7.js} +9 -11
  289. package/dist/components/p-63e4dfb7.js.map +1 -0
  290. package/dist/components/{p-bfddd89b.js → p-65c39c71.js} +3 -3
  291. package/dist/components/{p-bfddd89b.js.map → p-65c39c71.js.map} +1 -1
  292. package/dist/components/{p-9456bdbc.js → p-6f1114a1.js} +10 -10
  293. package/dist/components/p-6f1114a1.js.map +1 -0
  294. package/dist/components/{p-6ef9eb10.js → p-80bd74d1.js} +5 -5
  295. package/dist/components/p-80bd74d1.js.map +1 -0
  296. package/dist/components/{p-d55fe5cc.js → p-88385a57.js} +5 -7
  297. package/dist/components/p-88385a57.js.map +1 -0
  298. package/dist/components/{p-41818b03.js → p-9bc468b4.js} +6 -6
  299. package/dist/components/{p-41818b03.js.map → p-9bc468b4.js.map} +1 -1
  300. package/dist/components/{p-8d091a5d.js → p-af53698c.js} +7 -9
  301. package/dist/components/p-af53698c.js.map +1 -0
  302. package/dist/components/{p-fe2152fc.js → p-b695e1f1.js} +4 -6
  303. package/dist/components/p-b695e1f1.js.map +1 -0
  304. package/dist/components/{p-4b6e1516.js → p-bb9b541f.js} +5 -7
  305. package/dist/components/p-bb9b541f.js.map +1 -0
  306. package/dist/components/{p-06bcab30.js → p-bfd161fb.js} +8 -10
  307. package/dist/components/p-bfd161fb.js.map +1 -0
  308. package/dist/components/{p-d8ed82cd.js → p-d1692201.js} +3 -3
  309. package/dist/components/{p-d8ed82cd.js.map → p-d1692201.js.map} +1 -1
  310. package/dist/components/{p-ef6801dd.js → p-e7f270c1.js} +4 -6
  311. package/dist/components/p-e7f270c1.js.map +1 -0
  312. package/dist/components/p-e8504e6b.js +90 -0
  313. package/dist/components/p-e8504e6b.js.map +1 -0
  314. package/dist/components/{p-03b4e3fc.js → p-ecd4fa31.js} +13 -15
  315. package/dist/components/p-ecd4fa31.js.map +1 -0
  316. package/dist/components/{p-45b4df2f.js → p-ed0f491c.js} +6 -6
  317. package/dist/components/p-ed0f491c.js.map +1 -0
  318. package/dist/esm/framework-detection-198a17af.js +90 -0
  319. package/dist/esm/framework-detection-198a17af.js.map +1 -0
  320. package/dist/esm/ifx-accordion_2.entry.js +4 -4
  321. package/dist/esm/ifx-accordion_2.entry.js.map +1 -1
  322. package/dist/esm/ifx-alert_2.entry.js +2 -4
  323. package/dist/esm/ifx-alert_2.entry.js.map +1 -1
  324. package/dist/esm/ifx-badge.entry.js +4 -4
  325. package/dist/esm/ifx-badge.entry.js.map +1 -1
  326. package/dist/esm/ifx-basic-table.entry.js +7 -7
  327. package/dist/esm/ifx-basic-table.entry.js.map +1 -1
  328. package/dist/esm/ifx-breadcrumb.entry.js +6 -4
  329. package/dist/esm/ifx-breadcrumb.entry.js.map +1 -1
  330. package/dist/esm/ifx-button.entry.js +3 -5
  331. package/dist/esm/ifx-button.entry.js.map +1 -1
  332. package/dist/esm/ifx-card.entry.js +5 -7
  333. package/dist/esm/ifx-card.entry.js.map +1 -1
  334. package/dist/esm/ifx-checkbox-group.entry.js +3 -5
  335. package/dist/esm/ifx-checkbox-group.entry.js.map +1 -1
  336. package/dist/esm/ifx-checkbox.entry.js +5 -7
  337. package/dist/esm/ifx-checkbox.entry.js.map +1 -1
  338. package/dist/esm/ifx-chip_3.entry.js +16 -18
  339. package/dist/esm/ifx-chip_3.entry.js.map +1 -1
  340. package/dist/esm/ifx-content-switcher.entry.js +3 -5
  341. package/dist/esm/ifx-content-switcher.entry.js.map +1 -1
  342. package/dist/esm/ifx-date-picker.entry.js +7 -5
  343. package/dist/esm/ifx-date-picker.entry.js.map +1 -1
  344. package/dist/esm/ifx-dropdown.entry.js +3 -5
  345. package/dist/esm/ifx-dropdown.entry.js.map +1 -1
  346. package/dist/esm/ifx-file-upload.entry.js +7 -5
  347. package/dist/esm/ifx-file-upload.entry.js.map +1 -1
  348. package/dist/esm/ifx-footer.entry.js +6 -8
  349. package/dist/esm/ifx-footer.entry.js.map +1 -1
  350. package/dist/esm/ifx-icon-button.entry.js +3 -5
  351. package/dist/esm/ifx-icon-button.entry.js.map +1 -1
  352. package/dist/esm/ifx-icon.entry.js +3 -5
  353. package/dist/esm/ifx-icon.entry.js.map +1 -1
  354. package/dist/esm/ifx-indicator.entry.js +4 -6
  355. package/dist/esm/ifx-indicator.entry.js.map +1 -1
  356. package/dist/esm/ifx-link.entry.js +4 -4
  357. package/dist/esm/ifx-link.entry.js.map +1 -1
  358. package/dist/esm/ifx-modal.entry.js +7 -5
  359. package/dist/esm/ifx-modal.entry.js.map +1 -1
  360. package/dist/esm/ifx-multiselect_2.entry.js +6 -6
  361. package/dist/esm/ifx-multiselect_2.entry.js.map +1 -1
  362. package/dist/esm/ifx-navbar.entry.js +7 -7
  363. package/dist/esm/ifx-navbar.entry.js.map +1 -1
  364. package/dist/esm/ifx-notification.entry.js +5 -5
  365. package/dist/esm/ifx-notification.entry.js.map +1 -1
  366. package/dist/esm/ifx-progress-bar.entry.js +4 -6
  367. package/dist/esm/ifx-progress-bar.entry.js.map +1 -1
  368. package/dist/esm/ifx-radio-button-group.entry.js +4 -6
  369. package/dist/esm/ifx-radio-button-group.entry.js.map +1 -1
  370. package/dist/esm/ifx-radio-button.entry.js +7 -9
  371. package/dist/esm/ifx-radio-button.entry.js.map +1 -1
  372. package/dist/esm/ifx-search-bar.entry.js +5 -7
  373. package/dist/esm/ifx-search-bar.entry.js.map +1 -1
  374. package/dist/esm/ifx-search-field.entry.js +4 -4
  375. package/dist/esm/ifx-search-field.entry.js.map +1 -1
  376. package/dist/esm/ifx-segmented-control.entry.js +7 -5
  377. package/dist/esm/ifx-segmented-control.entry.js.map +1 -1
  378. package/dist/esm/ifx-select.entry.js +8 -8
  379. package/dist/esm/ifx-select.entry.js.map +1 -1
  380. package/dist/esm/ifx-sidebar.entry.js +9 -9
  381. package/dist/esm/ifx-sidebar.entry.js.map +1 -1
  382. package/dist/esm/ifx-slider.entry.js +8 -8
  383. package/dist/esm/ifx-slider.entry.js.map +1 -1
  384. package/dist/esm/ifx-spinner_2.entry.js +11 -13
  385. package/dist/esm/ifx-spinner_2.entry.js.map +1 -1
  386. package/dist/esm/ifx-status.entry.js +4 -4
  387. package/dist/esm/ifx-status.entry.js.map +1 -1
  388. package/dist/esm/ifx-stepper.entry.js +8 -8
  389. package/dist/esm/ifx-stepper.entry.js.map +1 -1
  390. package/dist/esm/ifx-switch.entry.js +7 -7
  391. package/dist/esm/ifx-switch.entry.js.map +1 -1
  392. package/dist/esm/ifx-table.entry.js +8 -8
  393. package/dist/esm/ifx-table.entry.js.map +1 -1
  394. package/dist/esm/ifx-tabs.entry.js +8 -8
  395. package/dist/esm/ifx-tabs.entry.js.map +1 -1
  396. package/dist/esm/ifx-tag.entry.js +4 -4
  397. package/dist/esm/ifx-tag.entry.js.map +1 -1
  398. package/dist/esm/ifx-textarea.entry.js +4 -6
  399. package/dist/esm/ifx-textarea.entry.js.map +1 -1
  400. package/dist/esm/ifx-tooltip.entry.js +10 -10
  401. package/dist/esm/ifx-tooltip.entry.js.map +1 -1
  402. package/dist/esm/ifx-tree-view.entry.js +4 -4
  403. package/dist/esm/ifx-tree-view.entry.js.map +1 -1
  404. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  405. package/dist/infineon-design-system-stencil/{p-0fd8b958.entry.js → p-0b4463ab.entry.js} +2 -2
  406. package/dist/infineon-design-system-stencil/p-0b4463ab.entry.js.map +1 -0
  407. package/dist/infineon-design-system-stencil/p-0feebdea.entry.js +2 -0
  408. package/dist/infineon-design-system-stencil/p-0feebdea.entry.js.map +1 -0
  409. package/dist/infineon-design-system-stencil/{p-42b5c8c8.entry.js → p-13ae34b7.entry.js} +2 -2
  410. package/dist/infineon-design-system-stencil/p-13ae34b7.entry.js.map +1 -0
  411. package/dist/infineon-design-system-stencil/p-218c8275.entry.js +2 -0
  412. package/dist/infineon-design-system-stencil/p-218c8275.entry.js.map +1 -0
  413. package/dist/infineon-design-system-stencil/p-24fa4b84.entry.js +2 -0
  414. package/dist/infineon-design-system-stencil/p-24fa4b84.entry.js.map +1 -0
  415. package/dist/infineon-design-system-stencil/{p-a322f0e3.entry.js → p-29f36497.entry.js} +2 -2
  416. package/dist/infineon-design-system-stencil/p-29f36497.entry.js.map +1 -0
  417. package/dist/infineon-design-system-stencil/p-2a4642d0.entry.js +2 -0
  418. package/dist/infineon-design-system-stencil/p-2a4642d0.entry.js.map +1 -0
  419. package/dist/infineon-design-system-stencil/p-2b6fa7ea.entry.js +2 -0
  420. package/dist/infineon-design-system-stencil/p-2b6fa7ea.entry.js.map +1 -0
  421. package/dist/infineon-design-system-stencil/p-40be6362.entry.js +2 -0
  422. package/dist/infineon-design-system-stencil/p-40be6362.entry.js.map +1 -0
  423. package/dist/infineon-design-system-stencil/{p-fb08c9f2.entry.js → p-431d50b8.entry.js} +2 -2
  424. package/dist/infineon-design-system-stencil/p-431d50b8.entry.js.map +1 -0
  425. package/dist/infineon-design-system-stencil/{p-1efb1772.entry.js → p-44a61708.entry.js} +2 -2
  426. package/dist/infineon-design-system-stencil/{p-1efb1772.entry.js.map → p-44a61708.entry.js.map} +1 -1
  427. package/dist/infineon-design-system-stencil/p-47e35811.entry.js +2 -0
  428. package/dist/infineon-design-system-stencil/p-47e35811.entry.js.map +1 -0
  429. package/dist/infineon-design-system-stencil/p-486f1f73.entry.js +2 -0
  430. package/dist/infineon-design-system-stencil/p-486f1f73.entry.js.map +1 -0
  431. package/dist/infineon-design-system-stencil/{p-d1bd4d45.entry.js → p-507107be.entry.js} +2 -2
  432. package/dist/infineon-design-system-stencil/p-507107be.entry.js.map +1 -0
  433. package/dist/infineon-design-system-stencil/{p-93fbad88.entry.js → p-51a70ef9.entry.js} +2 -2
  434. package/dist/infineon-design-system-stencil/{p-93fbad88.entry.js.map → p-51a70ef9.entry.js.map} +1 -1
  435. package/dist/infineon-design-system-stencil/{p-a6302467.entry.js → p-5976c2b0.entry.js} +2 -2
  436. package/dist/infineon-design-system-stencil/p-5976c2b0.entry.js.map +1 -0
  437. package/dist/infineon-design-system-stencil/{p-468053dd.entry.js → p-5c2386f1.entry.js} +3 -3
  438. package/dist/infineon-design-system-stencil/{p-468053dd.entry.js.map → p-5c2386f1.entry.js.map} +1 -1
  439. package/dist/infineon-design-system-stencil/p-5f433868.entry.js +2 -0
  440. package/dist/infineon-design-system-stencil/p-5f433868.entry.js.map +1 -0
  441. package/dist/infineon-design-system-stencil/{p-1bcbaf2a.entry.js → p-61ddb367.entry.js} +2 -2
  442. package/dist/infineon-design-system-stencil/p-61ddb367.entry.js.map +1 -0
  443. package/dist/infineon-design-system-stencil/p-6417bc5b.entry.js +2 -0
  444. package/dist/infineon-design-system-stencil/p-6417bc5b.entry.js.map +1 -0
  445. package/dist/infineon-design-system-stencil/{p-bea0af3b.entry.js → p-7097e349.entry.js} +2 -2
  446. package/dist/infineon-design-system-stencil/p-7097e349.entry.js.map +1 -0
  447. package/dist/infineon-design-system-stencil/p-74190965.entry.js +2 -0
  448. package/dist/infineon-design-system-stencil/p-74190965.entry.js.map +1 -0
  449. package/dist/infineon-design-system-stencil/{p-6e64e0fe.entry.js → p-754c7267.entry.js} +2 -2
  450. package/dist/infineon-design-system-stencil/p-754c7267.entry.js.map +1 -0
  451. package/dist/infineon-design-system-stencil/{p-9087e5eb.entry.js → p-77cbcda1.entry.js} +2 -2
  452. package/dist/infineon-design-system-stencil/{p-9087e5eb.entry.js.map → p-77cbcda1.entry.js.map} +1 -1
  453. package/dist/infineon-design-system-stencil/p-7f9e8260.entry.js +2 -0
  454. package/dist/infineon-design-system-stencil/p-7f9e8260.entry.js.map +1 -0
  455. package/dist/infineon-design-system-stencil/p-816d8d89.entry.js +2 -0
  456. package/dist/infineon-design-system-stencil/p-816d8d89.entry.js.map +1 -0
  457. package/dist/infineon-design-system-stencil/{p-85f82515.entry.js → p-89b4ee40.entry.js} +2 -2
  458. package/dist/infineon-design-system-stencil/p-89b4ee40.entry.js.map +1 -0
  459. package/dist/infineon-design-system-stencil/{p-6c5ba0a8.entry.js → p-8f3c079e.entry.js} +2 -2
  460. package/dist/infineon-design-system-stencil/p-8f3c079e.entry.js.map +1 -0
  461. package/dist/infineon-design-system-stencil/p-97c37974.entry.js +2 -0
  462. package/dist/infineon-design-system-stencil/p-97c37974.entry.js.map +1 -0
  463. package/dist/infineon-design-system-stencil/p-9e9f166d.entry.js +2 -0
  464. package/dist/infineon-design-system-stencil/p-9e9f166d.entry.js.map +1 -0
  465. package/dist/infineon-design-system-stencil/{p-81e486fa.entry.js → p-9f4f024a.entry.js} +2 -2
  466. package/dist/infineon-design-system-stencil/p-9f4f024a.entry.js.map +1 -0
  467. package/dist/infineon-design-system-stencil/{p-4c5f4ec6.entry.js → p-a1d02e8e.entry.js} +2 -2
  468. package/dist/infineon-design-system-stencil/p-a1d02e8e.entry.js.map +1 -0
  469. package/dist/infineon-design-system-stencil/p-b1f276a9.entry.js +2 -0
  470. package/dist/infineon-design-system-stencil/p-b1f276a9.entry.js.map +1 -0
  471. package/dist/infineon-design-system-stencil/p-b51937f3.entry.js +2 -0
  472. package/dist/infineon-design-system-stencil/p-b51937f3.entry.js.map +1 -0
  473. package/dist/infineon-design-system-stencil/p-b7c74d53.entry.js +2 -0
  474. package/dist/infineon-design-system-stencil/p-b7c74d53.entry.js.map +1 -0
  475. package/dist/infineon-design-system-stencil/p-bb8d7729.entry.js +2 -0
  476. package/dist/infineon-design-system-stencil/p-bb8d7729.entry.js.map +1 -0
  477. package/dist/infineon-design-system-stencil/{p-766364d7.entry.js → p-bba99322.entry.js} +2 -2
  478. package/dist/infineon-design-system-stencil/p-bba99322.entry.js.map +1 -0
  479. package/dist/infineon-design-system-stencil/p-bc216f6d.entry.js +2 -0
  480. package/dist/infineon-design-system-stencil/p-bc216f6d.entry.js.map +1 -0
  481. package/dist/infineon-design-system-stencil/{p-db03e76f.entry.js → p-c3acb336.entry.js} +2 -2
  482. package/dist/infineon-design-system-stencil/p-c3acb336.entry.js.map +1 -0
  483. package/dist/infineon-design-system-stencil/p-d448d22c.entry.js +2 -0
  484. package/dist/infineon-design-system-stencil/p-d448d22c.entry.js.map +1 -0
  485. package/dist/infineon-design-system-stencil/p-e8504e6b.js +2 -0
  486. package/dist/infineon-design-system-stencil/p-e8504e6b.js.map +1 -0
  487. package/dist/infineon-design-system-stencil/p-ef7802f4.entry.js +2 -0
  488. package/dist/infineon-design-system-stencil/p-ef7802f4.entry.js.map +1 -0
  489. package/dist/infineon-design-system-stencil/p-f47071d5.entry.js +2 -0
  490. package/dist/infineon-design-system-stencil/p-f47071d5.entry.js.map +1 -0
  491. package/dist/types/components/accordion/accordion.d.ts +1 -1
  492. package/dist/types/components/alert/alert.d.ts +0 -1
  493. package/dist/types/components/badge/badge.d.ts +1 -1
  494. package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -1
  495. package/dist/types/components/button/button.d.ts +0 -1
  496. package/dist/types/components/card/card.d.ts +0 -1
  497. package/dist/types/components/checkbox/checkbox.d.ts +0 -1
  498. package/dist/types/components/checkbox-group/checkbox-group.d.ts +0 -1
  499. package/dist/types/components/chip/chip.d.ts +0 -1
  500. package/dist/types/components/content-switcher/content-switcher.d.ts +0 -1
  501. package/dist/types/components/date-picker/date-picker.d.ts +2 -1
  502. package/dist/types/components/dropdown/dropdown.d.ts +0 -1
  503. package/dist/types/components/file-upload/file-upload.d.ts +2 -1
  504. package/dist/types/components/footer/footer.d.ts +0 -1
  505. package/dist/types/components/icon/infineonIconStencil.d.ts +0 -1
  506. package/dist/types/components/icon-button/icon-button.d.ts +0 -1
  507. package/dist/types/components/indicator/indicator.d.ts +0 -1
  508. package/dist/types/components/link/link.d.ts +1 -1
  509. package/dist/types/components/modal/modal.d.ts +2 -1
  510. package/dist/types/components/navigation/navbar/navbar.d.ts +1 -1
  511. package/dist/types/components/navigation/sidebar/sidebar.d.ts +1 -1
  512. package/dist/types/components/notification/notification.d.ts +1 -1
  513. package/dist/types/components/pagination/pagination.d.ts +1 -1
  514. package/dist/types/components/progress-bar/progress-bar.d.ts +0 -1
  515. package/dist/types/components/radio-button/radio-button.d.ts +0 -1
  516. package/dist/types/components/radio-button-group/radio-button-group.d.ts +0 -1
  517. package/dist/types/components/search-bar/search-bar.d.ts +0 -1
  518. package/dist/types/components/search-field/search-field.d.ts +1 -1
  519. package/dist/types/components/segmented-control/segmented-control.d.ts +2 -1
  520. package/dist/types/components/select/multi-select/multiselect.d.ts +1 -1
  521. package/dist/types/components/select/single-select/select.d.ts +1 -1
  522. package/dist/types/components/slider/slider.d.ts +1 -1
  523. package/dist/types/components/spinner/spinner.d.ts +1 -1
  524. package/dist/types/components/status/status.d.ts +1 -1
  525. package/dist/types/components/stepper/stepper.d.ts +1 -1
  526. package/dist/types/components/switch/switch.d.ts +1 -1
  527. package/dist/types/components/table-advanced-version/table.d.ts +1 -1
  528. package/dist/types/components/table-basic-version/table.d.ts +1 -1
  529. package/dist/types/components/tabs/tabs.d.ts +1 -1
  530. package/dist/types/components/tag/tag.d.ts +1 -1
  531. package/dist/types/components/text-field/text-field.d.ts +0 -1
  532. package/dist/types/components/textarea/textarea.d.ts +0 -1
  533. package/dist/types/components/tooltip/tooltip.d.ts +1 -1
  534. package/dist/types/components/tree-view/tree-view.d.ts +1 -1
  535. package/dist/types/global/utils/framework-detection.d.ts +1 -1
  536. package/package.json +1 -1
  537. package/dist/cjs/framework-detection-c7be738d.js +0 -158
  538. package/dist/cjs/framework-detection-c7be738d.js.map +0 -1
  539. package/dist/collection/global/utils/dom-ready.js +0 -15
  540. package/dist/collection/global/utils/dom-ready.js.map +0 -1
  541. package/dist/components/p-03b4e3fc.js.map +0 -1
  542. package/dist/components/p-051d7acc.js.map +0 -1
  543. package/dist/components/p-06bcab30.js.map +0 -1
  544. package/dist/components/p-1f6a8baa.js +0 -155
  545. package/dist/components/p-1f6a8baa.js.map +0 -1
  546. package/dist/components/p-45b4df2f.js.map +0 -1
  547. package/dist/components/p-4b6e1516.js.map +0 -1
  548. package/dist/components/p-5e2d6dee.js.map +0 -1
  549. package/dist/components/p-6ef9eb10.js.map +0 -1
  550. package/dist/components/p-6fededb0.js.map +0 -1
  551. package/dist/components/p-7fc63460.js.map +0 -1
  552. package/dist/components/p-805d4bab.js.map +0 -1
  553. package/dist/components/p-8d091a5d.js.map +0 -1
  554. package/dist/components/p-9456bdbc.js.map +0 -1
  555. package/dist/components/p-c74b70f5.js.map +0 -1
  556. package/dist/components/p-d55fe5cc.js.map +0 -1
  557. package/dist/components/p-e16ae13e.js.map +0 -1
  558. package/dist/components/p-ef6801dd.js.map +0 -1
  559. package/dist/components/p-f3392444.js.map +0 -1
  560. package/dist/components/p-fe2152fc.js.map +0 -1
  561. package/dist/esm/framework-detection-4f7178ab.js +0 -155
  562. package/dist/esm/framework-detection-4f7178ab.js.map +0 -1
  563. package/dist/infineon-design-system-stencil/p-00cd91e3.entry.js +0 -2
  564. package/dist/infineon-design-system-stencil/p-00cd91e3.entry.js.map +0 -1
  565. package/dist/infineon-design-system-stencil/p-0aa91753.entry.js +0 -2
  566. package/dist/infineon-design-system-stencil/p-0aa91753.entry.js.map +0 -1
  567. package/dist/infineon-design-system-stencil/p-0fd8b958.entry.js.map +0 -1
  568. package/dist/infineon-design-system-stencil/p-127520b6.entry.js +0 -2
  569. package/dist/infineon-design-system-stencil/p-127520b6.entry.js.map +0 -1
  570. package/dist/infineon-design-system-stencil/p-15a2edb2.entry.js +0 -2
  571. package/dist/infineon-design-system-stencil/p-15a2edb2.entry.js.map +0 -1
  572. package/dist/infineon-design-system-stencil/p-1bcbaf2a.entry.js.map +0 -1
  573. package/dist/infineon-design-system-stencil/p-1f6a8baa.js +0 -2
  574. package/dist/infineon-design-system-stencil/p-1f6a8baa.js.map +0 -1
  575. package/dist/infineon-design-system-stencil/p-1fab816b.entry.js +0 -2
  576. package/dist/infineon-design-system-stencil/p-1fab816b.entry.js.map +0 -1
  577. package/dist/infineon-design-system-stencil/p-2138e39a.entry.js +0 -2
  578. package/dist/infineon-design-system-stencil/p-2138e39a.entry.js.map +0 -1
  579. package/dist/infineon-design-system-stencil/p-3459a732.entry.js +0 -2
  580. package/dist/infineon-design-system-stencil/p-3459a732.entry.js.map +0 -1
  581. package/dist/infineon-design-system-stencil/p-3c5ee2f2.entry.js +0 -2
  582. package/dist/infineon-design-system-stencil/p-3c5ee2f2.entry.js.map +0 -1
  583. package/dist/infineon-design-system-stencil/p-42b5c8c8.entry.js.map +0 -1
  584. package/dist/infineon-design-system-stencil/p-4c5f4ec6.entry.js.map +0 -1
  585. package/dist/infineon-design-system-stencil/p-4e1dba2b.entry.js +0 -2
  586. package/dist/infineon-design-system-stencil/p-4e1dba2b.entry.js.map +0 -1
  587. package/dist/infineon-design-system-stencil/p-540d7e8a.entry.js +0 -2
  588. package/dist/infineon-design-system-stencil/p-540d7e8a.entry.js.map +0 -1
  589. package/dist/infineon-design-system-stencil/p-6c5ba0a8.entry.js.map +0 -1
  590. package/dist/infineon-design-system-stencil/p-6e64e0fe.entry.js.map +0 -1
  591. package/dist/infineon-design-system-stencil/p-766364d7.entry.js.map +0 -1
  592. package/dist/infineon-design-system-stencil/p-81e486fa.entry.js.map +0 -1
  593. package/dist/infineon-design-system-stencil/p-85f82515.entry.js.map +0 -1
  594. package/dist/infineon-design-system-stencil/p-8af19daa.entry.js +0 -2
  595. package/dist/infineon-design-system-stencil/p-8af19daa.entry.js.map +0 -1
  596. package/dist/infineon-design-system-stencil/p-923ccf97.entry.js +0 -2
  597. package/dist/infineon-design-system-stencil/p-923ccf97.entry.js.map +0 -1
  598. package/dist/infineon-design-system-stencil/p-9b2eb43c.entry.js +0 -2
  599. package/dist/infineon-design-system-stencil/p-9b2eb43c.entry.js.map +0 -1
  600. package/dist/infineon-design-system-stencil/p-a322f0e3.entry.js.map +0 -1
  601. package/dist/infineon-design-system-stencil/p-a32d25c1.entry.js +0 -2
  602. package/dist/infineon-design-system-stencil/p-a32d25c1.entry.js.map +0 -1
  603. package/dist/infineon-design-system-stencil/p-a6302467.entry.js.map +0 -1
  604. package/dist/infineon-design-system-stencil/p-aaf513b9.entry.js +0 -2
  605. package/dist/infineon-design-system-stencil/p-aaf513b9.entry.js.map +0 -1
  606. package/dist/infineon-design-system-stencil/p-b6b5111a.entry.js +0 -2
  607. package/dist/infineon-design-system-stencil/p-b6b5111a.entry.js.map +0 -1
  608. package/dist/infineon-design-system-stencil/p-bd647233.entry.js +0 -2
  609. package/dist/infineon-design-system-stencil/p-bd647233.entry.js.map +0 -1
  610. package/dist/infineon-design-system-stencil/p-bea0af3b.entry.js.map +0 -1
  611. package/dist/infineon-design-system-stencil/p-c8f5bf3a.entry.js +0 -2
  612. package/dist/infineon-design-system-stencil/p-c8f5bf3a.entry.js.map +0 -1
  613. package/dist/infineon-design-system-stencil/p-d1bd4d45.entry.js.map +0 -1
  614. package/dist/infineon-design-system-stencil/p-dad54459.entry.js +0 -2
  615. package/dist/infineon-design-system-stencil/p-dad54459.entry.js.map +0 -1
  616. package/dist/infineon-design-system-stencil/p-db03e76f.entry.js.map +0 -1
  617. package/dist/infineon-design-system-stencil/p-dccb6652.entry.js +0 -2
  618. package/dist/infineon-design-system-stencil/p-dccb6652.entry.js.map +0 -1
  619. package/dist/infineon-design-system-stencil/p-e204e9a0.entry.js +0 -2
  620. package/dist/infineon-design-system-stencil/p-e204e9a0.entry.js.map +0 -1
  621. package/dist/infineon-design-system-stencil/p-e5533f56.entry.js +0 -2
  622. package/dist/infineon-design-system-stencil/p-e5533f56.entry.js.map +0 -1
  623. package/dist/infineon-design-system-stencil/p-f2ca8d02.entry.js +0 -2
  624. package/dist/infineon-design-system-stencil/p-f2ca8d02.entry.js.map +0 -1
  625. package/dist/infineon-design-system-stencil/p-fb08c9f2.entry.js.map +0 -1
  626. package/dist/types/global/utils/dom-ready.d.ts +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"names":["multiselectCss","IfxMultiselectStyle0","debounce","func","wait","timeout","executedFunction","args","later","clearTimeout","setTimeout","Multiselect","constructor","hostRef","this","disabled","error","errorMessage","label","placeholder","showSearch","showSelectAll","showClearButton","showExpandCollapse","noResultsMessage","showNoResultsMessage","searchPlaceholder","selectAllLabel","expandLabel","collapseLabel","ariaMultiSelectLabel","ariaMultiSelectLabelledBy","ariaMultiSelectDescribedBy","ariaSearchLabel","ariaClearLabel","ariaToggleLabel","ariaSelectAllLabel","ariaExpandAllLabel","ariaCollapseAllLabel","internalError","persistentSelectedOptions","dropdownOpen","searchTerm","handleSearch","targetElement","value","toLowerCase","isSearchActive","wrapper","el","shadowRoot","querySelector","classList","remove","searchField","searchFieldHasFocus","matches","add","optionsContainer","requestAnimationFrame","allOptions","querySelectorAll","forEach","option","searchEvent","CustomEvent","detail","isActive","dispatchEvent","visibleCount","style","window","getComputedStyle","rect","getBoundingClientRect","display","visibility","opacity","height","pendingSelectionUpdate","handleDocumentClick","event","path","composedPath","includes","dropdownElement","document","removeEventListener","resetSearch","ifxOpen","emit","parseChildOptions","options","childElements","Array","from","children","child","index","tagName","parseOptionElement","push","element","getAttribute","selected","hasAttribute","indeterminate","nestedOptions","filter","map","childIndex","opt","length","loadInitialOptions","internalErrorMessage","initiallySelected","collectSelectedOptions","initiallySelectedNotInState","init","some","selectedOptions","concat","collectLeafOptions","existingOption","leafOptions","handleSearchFocus","hasFocus","positionDropdown","wrapperRect","_a","spaceBelow","innerHeight","bottom","spaceAbove","top","dropdownFlipped","updateSlotBasedSelections","emitEvent","allOptionElements","selectedLeafOptions","optionEl","instance","hasChildren","ifxSelect","updateInitialParentStates","optionsByDepth","depth","parseInt","item","sort","a","b","updateParentState","parentInstance","directChildren","selectedCount","indeterminateCount","totalCount","componentDidLoad","isNestedInIfxComponent","framework","detectFramework","trackComponent","addEventListener","componentWillLoad","updateInternalError","updateInternalErrorMessage","onSelectionChange","newValue","_","formData","FormData","append","name","internals","setFormValue","collapseAll","isExpanded","expandAll","selectAll","clearSelection","toggleDropdown","handleWrapperClick","currentTarget","target","handleKeyDown","code","preventDefault","closest","focusFirstOption","firstOption","labelElement","focus","renderSelectAll","allSelected","toggleSelectAll","stopPropagation","h","class","id","checked","size","onClick","onKeyDown","e","key","renderNoResultsMessage","render","selectedOptionsLabels","optionElement","textContent","trim","join","hasSelections","isFlatMultiselect","every","ref","role","undefined","tabindex","onIfxInput","onFocus","onBlur","tabIndex","icon","multiselectOptionCss","IfxMultiselectOptionStyle0","MultiselectOption","isSearchDisabled","handleSearchFilter","updateSearchClasses","handleCheckboxClick","newSelectedState","selectAllChildren","expandAllChildren","updateParentStates","notifyMultiselect","handleHeaderClick","handleClick","calculateDepth","setAttribute","toString","hasSelectedChildren","hasAnySelectedChildren","disconnectedCallback","optionDiv","removeHighlighting","getTextContent","matchesSearch","hasMatchingParent","hasMatchingChildren","highlightSearchTerm","slotElement","originalText","searchTermLower","originalTextLower","searchIndex","indexOf","beforeMatch","substring","matchText","afterMatch","highlightedContent","createElement","className","appendChild","createTextNode","boldElement","highlightedElement","removeChild","removeAttribute","text","childNodes","node","nodeType","Node","TEXT_NODE","childOptions","childInstance","childText","childMatches","grandChildrenMatch","parent","parentElement","parentText","type","toggleExpansion","updateEvent","bubbles","call","expanded","siblings","sibling","hasSelected","hasSelectedDescendants","checkForSelectedDescendants","nestedChild","isSelected","hasSelectedNested","parentMultiselect","basePadding","additionalPadding","totalPadding","optionItemStyle","paddingLeft","Host"],"sources":["src/components/select/multi-select/multiselect.scss?tag=ifx-multiselect&encapsulation=shadow","src/components/select/multi-select/multiselect.tsx","src/components/select/multi-select/multiselect-option.scss?tag=ifx-multiselect-option&encapsulation=shadow","src/components/select/multi-select/multiselect-option.tsx"],"sourcesContent":["// @import '~choices.js/public/assets/styles/choices.css';\n@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../../global/font.scss\";\n\n.ifx-multiselect-container {\n position: relative;\n box-sizing: border-box;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n &:hover {\n cursor: pointer;\n }\n\n .ifx-label-wrapper {\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: anywhere;\n max-width: 100%;\n }\n\n .ifx-error-message-wrapper {\n color: #CD002F;\n font-size: tokens.$ifxFontSizeXs;\n line-height: tokens.$ifxLineHeightXs;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: anywhere;\n max-width: 100%;\n }\n\n .ifx-multiselect-wrapper {\n background-color: tokens.$ifxColorBaseWhite;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n border: 1px solid tokens.$ifxColorEngineering400;\n border-radius: tokens.$ifxBorderRadius12;\n width: 100%;\n font-weight: 400;\n font-style: normal;\n height: 40px;\n line-height: 24px;\n padding: 8px 16px;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n\n &:focus-visible {\n outline: none;\n }\n\n &:focus-visible:not(.active):not(:active) {\n outline: none;\n\n &::before {\n content: '';\n position: absolute;\n width: calc(100% + 4px);\n height: calc(100% + 4px);\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n border: 2px solid tokens.$ifxColorOcean500;\n border-radius: 2px;\n\n }\n }\n\n &.disabled {\n background: tokens.$ifxColorEngineering200;\n color: #575352;\n border-color: #575352;\n cursor: default;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n }\n\n &.error {\n border-color: #CD002F;\n }\n\n &:hover:not(.focus, :focus) {\n border-color: tokens.$ifxColorEngineering500;\n }\n\n &.active {\n border-color: tokens.$ifxColorOcean500 !important; // Active border color\n\n & .icon-wrapper-up {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: tokens.$ifxSpace100;\n }\n\n & .icon-wrapper-down {\n display: none\n }\n }\n\n\n & .icon-wrapper-up {\n display: none;\n }\n\n & .icon-wrapper-down {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: tokens.$ifxSpace100;\n }\n\n &.is-flipped {\n .ifx-multiselect-dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n }\n }\n\n .ifx-multiselect-input {\n flex-grow: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &.placeholder {\n opacity: 0.5;\n }\n\n }\n\n\n .ifx-multiselect-icon-container {\n margin-left: auto;\n display: flex;\n align-items: center;\n gap: tokens.$ifxSpace100;\n\n .ifx-multiselect-icon-container {\n display: flex;\n }\n\n .icon-wrapper {\n display: flex;\n align-items: center;\n transition: transform 0.2s ease-in-out;\n }\n\n .icon-wrapper--open {\n transform: rotate(180deg);\n }\n }\n\n .ifx-clear-button {\n display: flex;\n align-items: center;\n\n &.hide {\n display: none;\n }\n }\n\n .ifx-multiselect-dropdown-menu {\n box-sizing: border-box;\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n margin-top: tokens.$ifxSpace50;\n border: 1px solid tokens.$ifxColorEngineering200;\n background-color: #fff;\n box-shadow: 0px 6px 9px 0px rgba(29, 29, 29, 0.10);\n max-height: 300px;\n z-index: 1000;\n display: flex;\n flex-direction: column;\n }\n}\n\n.ifx-multiselect-dropdown-functions {\n padding: tokens.$ifxSpace150 tokens.$ifxSpace200;\n border-bottom: 1px solid tokens.$ifxColorEngineering200;\n flex-shrink: 0;\n}\n\n.ifx-multiselect-dropdown-search {\n margin-bottom: tokens.$ifxSpace150;\n}\n\n.ifx-multiselect-dropdown-controls {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n gap: tokens.$ifxSpace100;\n\n .select-all-wrapper {\n display: flex;\n }\n\n .expand-collapse-controls {\n display: flex;\n gap: tokens.$ifxSpace150;\n }\n\n .control-item {\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n\n &:hover {\n color: tokens.$ifxColorOcean500;\n }\n\n &:active {\n color: tokens.$ifxColorOcean600;\n }\n\n &:focus {\n outline: none;\n }\n\n &:focus-visible {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n border-radius: tokens.$ifxBorderRadius12;\n }\n }\n}\n\n.ifx-multiselect-options {\n flex: 1;\n overflow-y: auto;\n padding-top: tokens.$ifxSpace150;\n padding-bottom: tokens.$ifxSpace150;\n\n &.show-no-results {\n .ifx-multiselect-no-results {\n display: block;\n }\n }\n}\n\n.ifx-multiselect-no-results {\n padding-left: tokens.$ifxSpace200;\n padding-right: tokens.$ifxSpace200;\n display: none;\n}\n\n","import { Component, Prop, State, Event, EventEmitter, Element, h, Watch, AttachInternals, Method } from '@stencil/core';\nimport { trackComponent } from '../../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../../global/utils/dom-utils';\nimport { detectFramework } from '../../../global/utils/framework-detection';\nimport { Option } from './interfaces';\n\nfunction debounce(func, wait) {\n let timeout;\n return function executedFunction(...args) {\n const later = () => {\n clearTimeout(timeout);\n func(...args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n };\n}\n\n@Component({\n tag: 'ifx-multiselect',\n styleUrl: 'multiselect.scss',\n shadow: true,\n formAssociated: true\n})\n\nexport class Multiselect {\n @Prop() name: string;\n @Prop() disabled: boolean = false;\n @Prop() error: boolean = false;\n @Prop() errorMessage: string = \"Error\";\n @Prop() label: string = \"\";\n @Prop() placeholder: string = \"\";\n @Prop() showSearch: boolean = true;\n @Prop() showSelectAll: boolean = true;\n @Prop() showClearButton: boolean = true;\n @Prop() showExpandCollapse: boolean = true;\n @Prop() noResultsMessage: string = \"No results found.\";\n @Prop() showNoResultsMessage: boolean = true;\n @Prop() searchPlaceholder: string = \"Search\";\n @Prop() selectAllLabel: string = \"Select all\";\n @Prop() expandLabel: string = \"Expand\";\n @Prop() collapseLabel: string = \"Collapse\";\n @Prop() ariaMultiSelectLabel: string = \"Multi-select dropdown\";\n @Prop() ariaMultiSelectLabelledBy: string = \"\";\n @Prop() ariaMultiSelectDescribedBy: string = \"\";\n @Prop() ariaSearchLabel: string = \"Search options\";\n @Prop() ariaClearLabel: string = \"Clear all selections\";\n @Prop() ariaToggleLabel: string = \"Toggle dropdown\";\n @Prop() ariaSelectAllLabel: string = \"Select all options\";\n @Prop() ariaExpandAllLabel: string = \"Expand all categories\";\n @Prop() ariaCollapseAllLabel: string = \"Collapse all categories\";\n\n @State() internalError: boolean = false;\n @State() internalErrorMessage: string;\n @State() persistentSelectedOptions: Option[] = [];\n @State() dropdownOpen = false;\n @State() dropdownFlipped: boolean;\n @State() searchTerm: string = '';\n\n @Event() ifxSelect: EventEmitter;\n @Event() ifxOpen: EventEmitter;\n\n @Element() el: HTMLElement;\n dropdownElement!: HTMLElement;\n\n @AttachInternals() internals: ElementInternals;\n private parseChildOptions(): Option[] {\n const options: Option[] = [];\n const childElements = Array.from(this.el.children);\n\n childElements.forEach((child, index) => {\n if (child.tagName === 'IFX-MULTISELECT-OPTION') {\n const option = this.parseOptionElement(child as HTMLElement, index);\n if (option) {\n options.push(option);\n }\n }\n });\n\n return options;\n }\n\n private parseOptionElement(element: HTMLElement, index: number): Option | null {\n const value = element.getAttribute('value') || `option-${index}`;\n const selected = element.hasAttribute('selected');\n const disabled = element.hasAttribute('disabled');\n const indeterminate = element.hasAttribute('indeterminate');\n\n const option: Option = {\n value,\n selected,\n disabled,\n indeterminate\n };\n\n const nestedOptions = Array.from(element.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION')\n .map((child, childIndex) => this.parseOptionElement(child as HTMLElement, childIndex))\n .filter(opt => opt !== null) as Option[];\n\n if (nestedOptions.length > 0) {\n option.children = nestedOptions;\n }\n\n return option;\n }\n\n loadInitialOptions() {\n this.internalError = this.error;\n this.internalErrorMessage = this.errorMessage;\n\n const allOptions = this.parseChildOptions();\n const initiallySelected = this.collectSelectedOptions(allOptions);\n const initiallySelectedNotInState = initiallySelected.filter(init =>\n !this.persistentSelectedOptions.some(opt => opt.value == init.value)\n );\n this.persistentSelectedOptions = [...this.persistentSelectedOptions, ...initiallySelectedNotInState];\n }\n\n private collectSelectedOptions(options: Option[]): Option[] {\n let selectedOptions: Option[] = [];\n\n for (const option of options) {\n if (option.selected) {\n if (option.children && option.children.length > 0) {\n selectedOptions = selectedOptions.concat(this.collectLeafOptions(option.children));\n } else {\n if (!selectedOptions.some(existingOption => existingOption.value === option.value)) {\n selectedOptions.push(option);\n }\n }\n } else {\n if (option.children && option.children.length > 0) {\n selectedOptions = selectedOptions.concat(this.collectSelectedOptions(option.children));\n }\n }\n }\n\n return selectedOptions;\n }\n\n private collectLeafOptions(children: Option[]): Option[] {\n let leafOptions = [];\n\n for (const child of children) {\n if (child.children && child.children.length > 0) {\n leafOptions = leafOptions.concat(this.collectLeafOptions(child.children));\n } else {\n leafOptions.push(child);\n }\n }\n return leafOptions;\n }\n\n handleSearch = debounce((targetElement: HTMLInputElement) => {\n const searchTerm = targetElement.value.toLowerCase();\n const isSearchActive = searchTerm !== '';\n\n this.searchTerm = searchTerm;\n\n const wrapper = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper');\n if (wrapper) {\n if (isSearchActive) {\n wrapper.classList.remove('active');\n } else {\n const searchField = this.el.shadowRoot.querySelector('ifx-search-field');\n const searchFieldHasFocus = searchField && searchField.matches(':focus-within');\n if (!searchFieldHasFocus) {\n wrapper.classList.add('active');\n }\n }\n }\n\n const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');\n if (optionsContainer) {\n if (isSearchActive) {\n optionsContainer.classList.add('has-search-filter');\n } else {\n optionsContainer.classList.remove('has-search-filter');\n }\n }\n\n requestAnimationFrame(() => {\n const allOptions = this.el.querySelectorAll('ifx-multiselect-option');\n allOptions.forEach(option => {\n const searchEvent = new CustomEvent('ifx-search-filter', {\n detail: { searchTerm, isActive: isSearchActive }\n });\n option.dispatchEvent(searchEvent);\n });\n\n if (isSearchActive) {\n setTimeout(() => {\n const allOptions = this.el.querySelectorAll('ifx-multiselect-option');\n let visibleCount = 0;\n\n allOptions.forEach(option => {\n const style = window.getComputedStyle(option);\n const rect = option.getBoundingClientRect();\n\n if (style.display !== 'none' &&\n style.visibility !== 'hidden' &&\n style.opacity !== '0' &&\n rect.height > 0) {\n visibleCount++;\n }\n });\n\n const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');\n if (optionsContainer) {\n if (visibleCount === 0) {\n optionsContainer.classList.add('show-no-results');\n } else {\n optionsContainer.classList.remove('show-no-results');\n }\n }\n }, 200);\n } else {\n const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');\n if (optionsContainer) {\n optionsContainer.classList.remove('show-no-results');\n }\n }\n });\n }, 150);\n\n private handleSearchFocus(hasFocus: boolean) {\n const wrapper = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper');\n if (wrapper) {\n if (hasFocus || this.searchTerm !== '') {\n wrapper.classList.remove('active');\n } else {\n wrapper.classList.add('active');\n }\n }\n }\n\n positionDropdown() {\n const wrapperRect = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper')?.getBoundingClientRect();\n const spaceBelow = window.innerHeight - wrapperRect.bottom;\n const spaceAbove = wrapperRect.top;\n\n if ((spaceAbove > spaceBelow && wrapperRect.height > spaceBelow) || (wrapperRect.bottom > window.innerHeight)) {\n this.dropdownFlipped = true;\n } else {\n this.dropdownFlipped = false;\n }\n }\n\n private pendingSelectionUpdate = false;\n public updateSlotBasedSelections(emitEvent: boolean = false) {\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n const selectedLeafOptions: Option[] = [];\n\n allOptionElements.forEach((optionEl: any) => {\n const instance = optionEl['__stencil_instance'];\n if (instance && instance.selected && !instance.hasChildren) {\n selectedLeafOptions.push({\n value: instance.value,\n selected: true,\n disabled: instance.disabled\n });\n }\n });\n\n this.persistentSelectedOptions = selectedLeafOptions;\n\n if (emitEvent) {\n this.ifxSelect.emit(this.persistentSelectedOptions);\n }\n }\n\n private updateInitialParentStates() {\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n const optionsByDepth = Array.from(allOptionElements)\n .map(el => ({\n element: el,\n instance: (el as any)['__stencil_instance'],\n depth: parseInt(el.getAttribute('data-level') || '0')\n }))\n .filter(item => item.instance)\n .sort((a, b) => b.depth - a.depth);\n\n optionsByDepth.forEach(({ instance }) => {\n if (instance.hasChildren) {\n this.updateParentState(instance);\n }\n });\n }\n\n private updateParentState(parentInstance: any) {\n const directChildren = Array.from(parentInstance.el.children as HTMLCollection)\n .filter((child: Element) => child.tagName === 'IFX-MULTISELECT-OPTION')\n .map(child => (child as any)['__stencil_instance'])\n .filter(instance => instance !== null);\n\n const selectedCount = directChildren.filter(child => child.selected).length;\n const indeterminateCount = directChildren.filter(child => child.indeterminate).length;\n const totalCount = directChildren.length;\n\n if (selectedCount === totalCount && indeterminateCount === 0) {\n parentInstance.selected = true;\n parentInstance.indeterminate = false;\n } else if (selectedCount === 0 && indeterminateCount === 0) {\n parentInstance.selected = false;\n parentInstance.indeterminate = false;\n } else {\n parentInstance.selected = false;\n parentInstance.indeterminate = true;\n }\n }\n\n async componentDidLoad() {\n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-multiselect', await framework)\n }\n setTimeout(() => {\n this.positionDropdown();\n }, 500);\n\n this.el.addEventListener('ifx-option-changed', () => {\n if (!this.pendingSelectionUpdate) {\n this.pendingSelectionUpdate = true;\n requestAnimationFrame(() => {\n this.updateSlotBasedSelections(true);\n setTimeout(() => {\n this.pendingSelectionUpdate = false;\n }, 0);\n });\n }\n });\n\n setTimeout(() => {\n this.updateSlotBasedSelections(false);\n this.updateInitialParentStates();\n }, 100);\n }\n\n componentWillLoad() {\n this.loadInitialOptions();\n }\n\n @Watch('error')\n updateInternalError() {\n this.internalError = this.error;\n }\n\n @Watch('errorMessage')\n updateInternalErrorMessage() {\n this.internalErrorMessage = this.errorMessage;\n }\n\n @Watch('persistentSelectedOptions')\n onSelectionChange(newValue: Option[], _: Option[]) {\n const formData = new FormData();\n newValue.forEach(option => formData.append(this.name, option.value));\n this.internals.setFormValue(formData);\n }\n collapseAll() {\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n allOptionElements.forEach((optionEl: any) => {\n const instance = optionEl['__stencil_instance'];\n if (instance && instance.hasChildren) {\n instance.isExpanded = false;\n }\n });\n }\n\n expandAll() {\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n allOptionElements.forEach((optionEl: any) => {\n const instance = optionEl['__stencil_instance'];\n if (instance && instance.hasChildren) {\n instance.isExpanded = true;\n }\n });\n }\n\n selectAll() {\n this.resetSearch();\n\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n\n allOptionElements.forEach((optionEl: any) => {\n const instance = optionEl['__stencil_instance'];\n if (instance) {\n if (instance.hasChildren) {\n instance.isExpanded = true;\n } else {\n instance.selected = true;\n }\n }\n });\n\n setTimeout(() => {\n this.updateInitialParentStates();\n this.updateSlotBasedSelections(false);\n this.ifxSelect.emit(this.persistentSelectedOptions);\n }, 0);\n }\n\n @Method()\n async clearSelection() {\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n allOptionElements.forEach((optionEl: any) => {\n const instance = optionEl['__stencil_instance'];\n if (instance) {\n instance.selected = false;\n instance.indeterminate = false;\n if (instance.hasChildren) {\n instance.isExpanded = false;\n }\n }\n });\n\n this.persistentSelectedOptions = [];\n\n setTimeout(() => {\n this.updateSlotBasedSelections(false);\n this.ifxSelect.emit(this.persistentSelectedOptions);\n }, 0);\n }\n\n handleDocumentClick = (event: Event) => {\n const path = event.composedPath();\n if (!path.includes(this.dropdownElement)) {\n this.dropdownOpen = false;\n document.removeEventListener('click', this.handleDocumentClick);\n this.resetSearch();\n this.ifxOpen.emit(this.dropdownOpen);\n }\n }\n\n toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n setTimeout(() => {\n if (this.dropdownOpen) {\n document.addEventListener('click', this.handleDocumentClick);\n } else {\n this.resetSearch();\n }\n this.ifxOpen.emit(this.dropdownOpen);\n }, 0);\n }\n\n private resetSearch() {\n this.searchTerm = '';\n\n const searchField = this.el.shadowRoot.querySelector('ifx-search-field') as any;\n if (searchField) {\n searchField.value = '';\n }\n\n const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');\n if (optionsContainer) {\n optionsContainer.classList.remove('has-search-filter');\n }\n\n const allOptions = this.el.querySelectorAll('ifx-multiselect-option');\n allOptions.forEach(option => {\n const searchEvent = new CustomEvent('ifx-search-filter', {\n detail: { searchTerm: '', isActive: false }\n });\n option.dispatchEvent(searchEvent);\n });\n }\n\n handleWrapperClick(event: MouseEvent) {\n this.positionDropdown();\n\n if (event.currentTarget === event.target) {\n this.toggleDropdown();\n }\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) return;\n\n // If dropdown is closed, only allow opening\n if (!this.dropdownOpen) {\n switch (event.code) {\n case 'Enter':\n case 'Space':\n case 'ArrowDown':\n event.preventDefault();\n this.toggleDropdown();\n break;\n }\n return;\n }\n\n // Dropdown is open - handle navigation and controls\n switch (event.code) {\n case 'Escape':\n event.preventDefault();\n this.toggleDropdown();\n break;\n case 'Enter':\n case 'Space':\n // Don't close dropdown when pressing space/enter in controls area\n const target = event.target as HTMLElement;\n if (!target.closest('.ifx-multiselect-dropdown-functions')) {\n event.preventDefault();\n this.toggleDropdown();\n }\n break;\n case 'ArrowDown':\n case 'ArrowUp':\n // Focus first/last option for navigation\n event.preventDefault();\n this.focusFirstOption();\n break;\n }\n }\n\n private focusFirstOption() {\n const firstOption = this.el.querySelector('ifx-multiselect-option:not(.search-hidden)');\n if (firstOption) {\n const labelElement = firstOption.shadowRoot?.querySelector('.option-label') as HTMLElement;\n labelElement?.focus();\n }\n }\n\n private renderSelectAll() {\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n const leafOptions = Array.from(allOptionElements).filter((el: any) => !el.hasChildren);\n const selectedLeafOptions = Array.from(allOptionElements).filter((el: any) => !el.hasChildren && el.selected);\n\n const allSelected = leafOptions.length > 0 && selectedLeafOptions.length === leafOptions.length;\n\n const toggleSelectAll = (event?: Event) => {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (allSelected) {\n this.clearSelection();\n } else {\n this.selectAll();\n }\n };\n\n return (\n <div class=\"select-all-wrapper\">\n <ifx-checkbox\n id='selectAll'\n checked={allSelected}\n size=\"s\"\n aria-label={this.ariaSelectAllLabel}\n onClick={toggleSelectAll}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n toggleSelectAll(e);\n }\n }}\n >\n {this.selectAllLabel}\n </ifx-checkbox>\n </div>\n );\n }\n\n private renderNoResultsMessage() {\n return (\n <div class=\"ifx-multiselect-no-results\">\n <div class=\"no-results-content\">\n <span class=\"no-results-text\">{this.noResultsMessage}</span>\n </div>\n </div>\n );\n }\n\n render() {\n const selectedOptionsLabels = this.persistentSelectedOptions\n .map((option) => {\n const optionElement = this.el.querySelector(`ifx-multiselect-option[value=\"${option.value}\"]`);\n return optionElement?.textContent?.trim() || option.value;\n })\n .join(', ');\n\n const hasSelections = this.persistentSelectedOptions.length > 0;\n\n let isFlatMultiselect = false;\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n if (allOptionElements.length > 0) {\n isFlatMultiselect = Array.from(allOptionElements).every(option => option.children.length === 0);\n }\n\n return (\n <div class={`ifx-multiselect-container`} ref={el => this.dropdownElement = el as HTMLElement}>\n {\n this.label ?\n <div class=\"ifx-label-wrapper\">\n <span>{this.label}</span>\n </div> : null\n }\n <div class={`ifx-multiselect-wrapper\n ${this.dropdownOpen ? 'active' : ''}\n ${this.dropdownFlipped ? 'is-flipped' : ''}\n ${this.internalError ? 'error' : \"\"}\n ${this.disabled ? 'disabled' : \"\"}`}\n role=\"combobox\"\n aria-label={this.ariaMultiSelectLabel}\n aria-labelledby={this.ariaMultiSelectLabelledBy || undefined}\n aria-describedby={this.ariaMultiSelectDescribedBy || undefined}\n aria-expanded={this.dropdownOpen}\n aria-haspopup=\"listbox\"\n aria-disabled={this.disabled}\n tabindex=\"0\"\n onClick={this.disabled ? undefined : (event) => this.handleWrapperClick(event)}\n onKeyDown={this.disabled ? undefined : (event) => this.handleKeyDown(event)} >\n <div class={`ifx-multiselect-input\n ${hasSelections ? '' : 'placeholder'}\n `}\n onClick={this.disabled ? undefined : () => this.toggleDropdown()}\n >\n {hasSelections ? selectedOptionsLabels : this.placeholder}\n </div>\n {this.dropdownOpen && (\n <div class=\"ifx-multiselect-dropdown-menu\">\n\n {(this.showSearch || this.showSelectAll || (this.showExpandCollapse && !isFlatMultiselect)) && (\n <div class=\"ifx-multiselect-dropdown-functions\" onClick={(e) => e.stopPropagation()}>\n {this.showSearch && (\n <div class=\"ifx-multiselect-dropdown-search\">\n <ifx-search-field\n class=\"search-input\"\n placeholder={this.searchPlaceholder}\n size=\"s\"\n show-delete-icon=\"true\"\n aria-label={this.ariaSearchLabel}\n onKeyDown={(e) => { e.stopPropagation() }}\n onIfxInput={(event) => this.handleSearch(event.target)}\n onFocus={() => this.handleSearchFocus(true)}\n onBlur={() => this.handleSearchFocus(false)}\n ></ifx-search-field>\n </div>\n )}\n\n <div class=\"ifx-multiselect-dropdown-controls\">\n {this.showSelectAll && this.renderSelectAll()}\n {this.showExpandCollapse && !isFlatMultiselect && (\n <div class=\"expand-collapse-controls\">\n <span\n class=\"control-item\"\n role=\"button\"\n tabIndex={0}\n aria-label={this.ariaExpandAllLabel}\n onClick={(e) => { e.stopPropagation(); this.expandAll(); }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n this.expandAll();\n }\n }}\n >\n {this.expandLabel}\n </span>\n <span\n class=\"control-item\"\n role=\"button\"\n tabIndex={0}\n aria-label={this.ariaCollapseAllLabel}\n onClick={(e) => { e.stopPropagation(); this.collapseAll(); }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n this.collapseAll();\n }\n }}\n >\n {this.collapseLabel}\n </span>\n </div>\n )}\n </div>\n </div>\n )}\n\n <div class=\"ifx-multiselect-options\" role=\"listbox\" aria-multiselectable=\"true\">\n <slot />\n {this.searchTerm && this.showNoResultsMessage && this.renderNoResultsMessage()}\n </div>\n </div>\n )}\n <div class='ifx-multiselect-icon-container'>\n\n {/* Clear Button - will show only if there's a selection */}\n {this.persistentSelectedOptions.length > 0 && (\n <div class={`ifx-clear-button ${!this.showClearButton ? 'hide' : ''}`} onClick={this.disabled ? undefined : () => this.clearSelection()}>\n <ifx-icon icon=\"cRemove16\"></ifx-icon>\n </div>\n )}\n <div class=\"icon-wrapper-up\" onClick={this.disabled ? undefined : () => this.toggleDropdown()}>\n <ifx-icon\n key='icon-up'\n icon='chevron-up-16'></ifx-icon>\n </div>\n <div class=\"icon-wrapper-down\" onClick={this.disabled ? undefined : () => this.toggleDropdown()}>\n <ifx-icon\n key='icon-down'\n icon='chevron-down-16'></ifx-icon>\n </div>\n </div>\n\n </div>\n {\n this.internalError ?\n <div class=\"ifx-error-message-wrapper\">\n <span>{this.internalErrorMessage}</span>\n </div> : null\n }\n </div>\n );\n }\n}\n","@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n:host {\n display: block;\n width: 100%;\n}\n\n.option {\n display: flex;\n flex-direction: column;\n position: relative;\n cursor: pointer;\n list-style: none;\n\n &.option--expanded {\n position: relative;\n }\n\n &.option--has-children {\n position: relative;\n\n .option-item > .chevron-wrapper {\n display: flex;\n }\n }\n\n &--disabled {\n cursor: not-allowed;\n pointer-events: none;\n color: tokens.$ifxColorEngineering300;\n }\n\n &--selected {\n // Additional styles for selected state if needed\n // .option-item {\n // background: red;\n // }\n }\n\n &.search-hidden {\n display: none !important;\n }\n\n &.search-match {\n .option-item {\n .option-label {\n .search-highlight {\n font-weight: bold;\n // color: tokens.$ifxColorOcean400;\n }\n }\n }\n }\n}\n\n.option-item {\n display: flex;\n flex-direction: row;\n align-items: center;\n white-space: nowrap;\n min-height: tokens.$ifxSize250;\n padding: tokens.$ifxSize50 tokens.$ifxSpace200;\n background-color: tokens.$ifxColorBaseWhite;\n transition: background-color 0.2s ease-in-out;\n\n &:hover {\n background-color: tokens.$ifxColorEngineering100;\n }\n\n .option--disabled & {\n &:hover {\n background-color: transparent;\n }\n }\n}\n\n.option-children {\n display: block;\n}\n\n.chevron-wrapper {\n display: none;\n align-items: center;\n justify-content: center;\n margin-right: tokens.$ifxSpace100;\n width: tokens.$ifxSize250;\n height: tokens.$ifxSize250;\n flex-shrink: 0;\n\n &:focus {\n outline: none;\n }\n\n &:focus-visible {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n border-radius: tokens.$ifxBorderRadius12;\n }\n\n .option--has-children & {\n display: flex;\n }\n\n .chevron {\n transition: transform 0.2s ease-in-out;\n color: tokens.$ifxColorEngineering600;\n\n &.chevron--expanded {\n transform: rotate(90deg);\n }\n\n &.chevron--collapsed {\n transform: rotate(0deg);\n }\n }\n}\n\n.checkbox-wrapper {\n display: flex;\n align-items: center;\n margin-right: tokens.$ifxSpace100;\n flex-shrink: 0;\n}\n\n.option-label {\n flex-grow: 1;\n display: flex;\n align-items: center;\n cursor: pointer;\n padding: tokens.$ifxSpace25 0;\n font-size: tokens.$ifxFontSizeS;\n\n &:focus {\n outline: none;\n }\n\n &:focus-visible {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n border-radius: tokens.$ifxBorderRadius12;\n }\n\n .option--disabled & {\n cursor: not-allowed;\n color: tokens.$ifxColorEngineering300;\n }\n}\n","import { Component, Prop, Element, h, Host, State, Listen } from '@stencil/core';\n\n@Component({\n tag: 'ifx-multiselect-option',\n styleUrl: 'multiselect-option.scss',\n shadow: true,\n})\nexport class MultiselectOption {\n @Element() el: HTMLElement;\n\n @Prop() value: string;\n @Prop({ reflect: true, mutable: true }) selected: boolean = false;\n @Prop({ reflect: true, mutable: true }) disabled: boolean = false;\n @Prop({ reflect: true, mutable: true }) indeterminate: boolean = false;\n\n @State() private isExpanded: boolean = false;\n @State() private hasChildren: boolean = false;\n @State() private depth: number = 0;\n @State() private searchTerm: string = '';\n @State() private isSearchActive: boolean = false;\n @State() private isSearchDisabled: boolean = false;\n\n componentWillLoad() {\n this.hasChildren = this.el.children.length > 0;\n this.depth = this.calculateDepth();\n\n this.el.setAttribute('data-level', this.depth.toString());\n\n if (this.hasChildren) {\n const hasSelectedChildren = this.hasAnySelectedChildren();\n if (hasSelectedChildren) {\n this.isExpanded = true;\n }\n }\n }\n\n componentDidLoad() {\n (this.el as any)['__stencil_instance'] = this;\n this.notifyMultiselect();\n this.el.addEventListener('ifx-search-filter', this.handleSearchFilter);\n }\n\n disconnectedCallback() {\n this.el.removeEventListener('ifx-search-filter', this.handleSearchFilter);\n }\n\n private handleSearchFilter = (event: CustomEvent) => {\n const { searchTerm, isActive } = event.detail;\n this.searchTerm = searchTerm.toLowerCase();\n this.isSearchActive = isActive;\n\n requestAnimationFrame(() => {\n this.updateSearchClasses();\n });\n }\n\n private updateSearchClasses() {\n const optionDiv = this.el.shadowRoot?.querySelector('.option');\n if (!optionDiv) return;\n\n if (!this.isSearchActive) {\n optionDiv.classList.remove('search-hidden', 'search-parent', 'search-match');\n this.removeHighlighting();\n this.isSearchDisabled = false;\n return;\n }\n\n const textContent = this.getTextContent().toLowerCase();\n const matchesSearch = textContent.includes(this.searchTerm);\n const hasMatchingParent = this.hasMatchingParent();\n\n requestAnimationFrame(() => {\n const hasMatchingChildren = this.hasMatchingChildren();\n\n optionDiv.classList.remove('search-hidden', 'search-parent', 'search-match');\n this.isSearchDisabled = false;\n\n if (matchesSearch && !this.hasChildren) {\n optionDiv.classList.add('search-match');\n this.highlightSearchTerm();\n } else if (matchesSearch && this.hasChildren) {\n optionDiv.classList.add('search-match');\n this.highlightSearchTerm();\n this.isExpanded = true;\n } else if (!matchesSearch && this.hasChildren && hasMatchingChildren) {\n optionDiv.classList.add('search-parent');\n this.removeHighlighting();\n this.isExpanded = true;\n this.isSearchDisabled = true;\n } else if (hasMatchingParent) {\n optionDiv.classList.add('search-match');\n this.removeHighlighting();\n } else {\n optionDiv.classList.add('search-hidden');\n this.removeHighlighting();\n }\n });\n }\n\n private highlightSearchTerm() {\n if (!this.searchTerm) return;\n\n const labelElement = this.el.shadowRoot?.querySelector('.option-label');\n if (!labelElement) return;\n\n const slotElement = labelElement.querySelector('slot');\n if (!slotElement) return;\n\n this.removeHighlighting();\n\n const originalText = this.getTextContent();\n const searchTermLower = this.searchTerm.toLowerCase();\n const originalTextLower = originalText.toLowerCase();\n\n if (!originalTextLower.includes(searchTermLower)) return;\n\n const searchIndex = originalTextLower.indexOf(searchTermLower);\n\n if (searchIndex === -1) return;\n\n const beforeMatch = originalText.substring(0, searchIndex);\n const matchText = originalText.substring(searchIndex, searchIndex + searchTermLower.length);\n const afterMatch = originalText.substring(searchIndex + searchTermLower.length);\n\n const highlightedContent = document.createElement('span');\n highlightedContent.className = 'highlighted-text';\n\n if (beforeMatch) {\n highlightedContent.appendChild(document.createTextNode(beforeMatch));\n }\n\n const boldElement = document.createElement('strong');\n boldElement.className = 'search-highlight';\n boldElement.textContent = matchText;\n highlightedContent.appendChild(boldElement);\n\n if (afterMatch) {\n highlightedContent.appendChild(document.createTextNode(afterMatch));\n }\n\n labelElement.setAttribute('data-original-content', 'true');\n slotElement.style.display = 'none';\n labelElement.appendChild(highlightedContent);\n }\n\n private removeHighlighting() {\n const labelElement = this.el.shadowRoot?.querySelector('.option-label');\n if (!labelElement) return;\n\n const slotElement = labelElement.querySelector('slot');\n const highlightedElement = labelElement.querySelector('.highlighted-text');\n\n if (highlightedElement) {\n labelElement.removeChild(highlightedElement);\n }\n\n if (slotElement) {\n slotElement.style.display = '';\n }\n\n labelElement.removeAttribute('data-original-content');\n }\n\n private getTextContent(): string {\n let text = '';\n Array.from(this.el.childNodes).forEach(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent?.trim() || '';\n }\n });\n return text || this.value || '';\n }\n\n private hasMatchingChildren(): boolean {\n if (!this.hasChildren) return false;\n\n const childOptions = Array.from(this.el.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION') as HTMLElement[];\n\n return childOptions.some(child => {\n const childInstance = (child as any)['__stencil_instance'];\n if (!childInstance) return false;\n\n const childText = childInstance.getTextContent().toLowerCase();\n const childMatches = childText.includes(this.searchTerm);\n const grandChildrenMatch = childInstance.hasMatchingChildren();\n\n return childMatches || grandChildrenMatch;\n });\n }\n\n private hasMatchingParent(): boolean {\n let parent = this.el.parentElement;\n while (parent && parent.tagName === 'IFX-MULTISELECT-OPTION') {\n const parentInstance = (parent as any)['__stencil_instance'];\n if (parentInstance) {\n const parentText = parentInstance.getTextContent().toLowerCase();\n if (parentText.includes(this.searchTerm)) {\n return true;\n }\n }\n parent = parent.parentElement;\n }\n return false;\n }\n\n private calculateDepth(): number {\n let depth = 0;\n let parent = this.el.parentElement;\n while (parent && parent.tagName !== 'IFX-MULTISELECT') {\n if (parent.tagName === 'IFX-MULTISELECT-OPTION') {\n depth++;\n }\n parent = parent.parentElement;\n }\n return depth;\n }\n\n @Listen('click')\n handleClick(event: Event) {\n if (this.disabled || (this.isSearchActive && this.isSearchDisabled)) return;\n\n event.stopPropagation();\n\n if (event.type === 'click' && (event.target as HTMLElement).closest('.chevron-wrapper')) {\n this.toggleExpansion();\n return;\n }\n\n let newSelectedState: boolean;\n\n if (this.indeterminate) {\n newSelectedState = true;\n } else {\n newSelectedState = !this.selected;\n }\n\n this.selected = newSelectedState;\n this.indeterminate = false;\n\n if (this.hasChildren) {\n this.isExpanded = newSelectedState;\n\n requestAnimationFrame(() => {\n this.selectAllChildren(newSelectedState);\n this.expandAllChildren(newSelectedState);\n });\n }\n\n this.updateParentStates();\n this.notifyMultiselect();\n }\n\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n if (this.disabled || (this.isSearchActive && this.isSearchDisabled)) return;\n\n const target = event.target as HTMLElement;\n\n if (target.closest('.chevron-wrapper') || target.closest('.checkbox-wrapper')) {\n return;\n }\n\n if (event.key !== 'ArrowUp' && event.key !== 'ArrowDown') {\n event.stopPropagation();\n }\n\n if (event.key === 'ArrowRight' && this.hasChildren) {\n this.isExpanded = true;\n }\n\n if (event.key === 'ArrowLeft' && this.hasChildren) {\n this.isExpanded = false;\n }\n }\n\n private notifyMultiselect() {\n const updateEvent = new CustomEvent('ifx-option-changed', {\n bubbles: true,\n detail: {\n value: this.value,\n selected: this.selected,\n indeterminate: this.indeterminate\n }\n });\n this.el.dispatchEvent(updateEvent);\n }\n\n private selectAllChildren(selected: boolean) {\n const directChildren = Array.from(this.el.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION') as any[];\n\n directChildren.forEach((child: any) => {\n const childInstance = child['__stencil_instance'];\n if (childInstance) {\n childInstance.selected = selected;\n childInstance.indeterminate = false;\n\n if (childInstance.hasChildren) {\n childInstance.isExpanded = selected;\n childInstance.selectAllChildren(selected);\n }\n childInstance.notifyMultiselect?.();\n }\n });\n }\n\n private expandAllChildren(expanded: boolean) {\n const directChildren = Array.from(this.el.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION') as any[];\n\n directChildren.forEach((child: any) => {\n const childInstance = child['__stencil_instance'];\n if (childInstance && childInstance.hasChildren) {\n childInstance.isExpanded = expanded;\n childInstance.expandAllChildren(expanded);\n }\n });\n }\n\n private updateParentStates() {\n let parent = this.el.parentElement;\n while (parent && parent.tagName === 'IFX-MULTISELECT-OPTION') {\n const parentInstance = (parent as any)['__stencil_instance'];\n if (!parentInstance) {\n parent = parent.parentElement;\n continue;\n }\n\n const siblings = Array.from(parent.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION')\n .map(child => (child as any)['__stencil_instance'])\n .filter(instance => instance !== null);\n\n const selectedCount = siblings.filter(sibling => sibling.selected).length;\n const indeterminateCount = siblings.filter(sibling => sibling.indeterminate).length;\n const totalCount = siblings.length;\n\n if (selectedCount === totalCount && indeterminateCount === 0) {\n parentInstance.selected = true;\n parentInstance.indeterminate = false;\n } else if (selectedCount === 0 && indeterminateCount === 0) {\n parentInstance.selected = false;\n parentInstance.indeterminate = false;\n } else {\n parentInstance.selected = false;\n parentInstance.indeterminate = true;\n }\n\n parentInstance.notifyMultiselect?.();\n parent = parent.parentElement;\n }\n }\n\n private toggleExpansion() {\n this.isExpanded = !this.isExpanded;\n }\n\n private handleCheckboxClick = (event: Event) => {\n if (this.disabled || (this.isSearchActive && this.isSearchDisabled)) return;\n\n event.stopPropagation();\n\n let newSelectedState: boolean;\n\n if (this.indeterminate) {\n newSelectedState = true;\n } else {\n newSelectedState = !this.selected;\n }\n\n this.selected = newSelectedState;\n this.indeterminate = false;\n\n if (this.hasChildren) {\n this.isExpanded = newSelectedState;\n\n requestAnimationFrame(() => {\n this.selectAllChildren(newSelectedState);\n this.expandAllChildren(newSelectedState);\n });\n }\n\n this.updateParentStates();\n this.notifyMultiselect();\n }\n\n private handleHeaderClick = (event: Event) => {\n event.stopPropagation();\n if (!this.disabled && !(this.isSearchActive && this.isSearchDisabled)) {\n this.handleClick(event);\n }\n }\n\n private hasAnySelectedChildren(): boolean {\n const childOptions = Array.from(this.el.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION') as HTMLElement[];\n\n return childOptions.some(child => {\n const hasSelected = child.hasAttribute('selected');\n const hasSelectedDescendants = this.checkForSelectedDescendants(child);\n\n return hasSelected || hasSelectedDescendants;\n });\n }\n\n private checkForSelectedDescendants(element: HTMLElement): boolean {\n const nestedOptions = Array.from(element.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION') as HTMLElement[];\n\n return nestedOptions.some(nestedChild => {\n const isSelected = nestedChild.hasAttribute('selected');\n const hasSelectedNested = this.checkForSelectedDescendants(nestedChild);\n\n return isSelected || hasSelectedNested;\n });\n }\n\n render() {\n let isFlatMultiselect = false;\n const parentMultiselect = this.el.closest('ifx-multiselect');\n if (parentMultiselect) {\n const allOptions = Array.from(parentMultiselect.querySelectorAll('ifx-multiselect-option'));\n isFlatMultiselect = allOptions.every(option => option.children.length === 0);\n }\n\n const basePadding = this.depth * 28 + 16;\n const additionalPadding = this.hasChildren ? 0 : 28;\n let totalPadding = basePadding + additionalPadding;\n\n const optionItemStyle = isFlatMultiselect ? undefined : { paddingLeft: `${totalPadding}px` };\n\n return (\n <Host>\n <div\n class={{\n 'option': true,\n 'option--has-children': this.hasChildren,\n 'option--expanded': this.isExpanded,\n 'option--disabled': this.disabled,\n 'option--selected': this.selected,\n }}\n role=\"option\"\n aria-expanded={this.hasChildren ? (this.isExpanded ? 'true' : 'false') : undefined}\n aria-selected={this.selected ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n data-level={this.depth}\n data-value={this.value}\n >\n <div\n class=\"option-item\"\n style={optionItemStyle}\n >\n <div\n class=\"chevron-wrapper\"\n tabIndex={this.hasChildren ? 0 : -1}\n role={this.hasChildren ? \"button\" : undefined}\n aria-label={this.hasChildren ? (this.isExpanded ? \"Collapse\" : \"Expand\") : undefined}\n onClick={(e) => { e.stopPropagation(); this.toggleExpansion(); }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n this.toggleExpansion();\n }\n }}\n >\n {this.hasChildren && (\n <ifx-icon\n class={`chevron ${this.isExpanded ? 'chevron--expanded' : 'chevron--collapsed'}`}\n icon=\"chevron-right-16\"\n />\n )}\n </div>\n\n <div class=\"checkbox-wrapper\" onClick={(e) => e.stopPropagation()}>\n <ifx-checkbox\n size='s'\n checked={(this.isSearchActive && this.isSearchDisabled) ? false : (this.indeterminate ? false : this.selected)}\n indeterminate={(this.isSearchActive && this.isSearchDisabled) ? false : this.indeterminate}\n onClick={this.handleCheckboxClick}\n disabled={this.disabled || (this.isSearchActive && this.isSearchDisabled)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n this.handleCheckboxClick(e);\n }\n }}\n />\n </div>\n\n <div\n class=\"option-label\"\n onClick={this.handleHeaderClick}\n tabIndex={-1}\n >\n <slot/>\n </div>\n </div>\n\n {this.isExpanded && <div class=\"option-children\"><slot name=\"children\"/></div>}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["linkCss","IfxLinkStyle0","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","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 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":"qKAAA,MAAMA,EAAU,6zCAChB,MAAAC,EAAeD,E,MCWFE,EAAI,MANjB,WAAAC,CAAAC,G,UAQUC,KAAAC,KAAeC,UACfF,KAAAG,OAAiB,QACjBH,KAAAI,QAAkB,OAElBJ,KAAAK,SAAoB,MAGnBL,KAAAM,aAAsB,GACtBN,KAAAO,eAAyB,GACzBP,KAAAQ,gBAA0B,E,CAEnC,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,EAAA,KAAAR,IAAA,2CACES,KAAK,OAAM,aACCzB,KAAK0B,UAAS,gBACX1B,KAAKK,WAAaL,KAAKM,aACtCL,KAAMD,KAAKK,SAAWH,UAAYF,KAAKM,aACvCqB,SAAU3B,KAAK2B,SACfxB,OAAQH,KAAKO,eACbqB,MAAO5B,KAAK6B,kBACZL,EAAA,QAAAR,IAAA,6C,CAIN,YAAAc,GACE,MAAMC,EAAQ/B,KAAKgC,OAAS,IAAM,QAAU,KAC5C,MAAMC,EAASjC,KAAKgC,OAAS,IAAM,SAAW,KAC9C,MAAME,EAAQlC,KAAKgC,OAAS,IAAM,QAAU,KAC5C,MAAMG,EAAanC,KAAKgC,OAAS,KAAO,aAAe,KAEvD,GAAID,EAAO,CACT,OAAOA,C,MACF,GAAIE,EAAQ,CACjB,OAAOA,C,MACF,GAAIC,EAAO,CAChB,OAAOA,C,MACF,GAAIC,GAAcnC,KAAKQ,kBAAoB,aAAc,CAC9D,MAAO,O,MACF,GAAI2B,GAAcnC,KAAKQ,kBAAoB,aAAc,CAC9D,OAAO2B,C,MACF,MAAO,E,CAGhB,eAAAC,GACE,MAAMC,EAAOrC,KAAKQ,kBAAoB,OAAS,OAAS,KACxD,MAAM8B,EAAQtC,KAAKQ,kBAAoB,QAAU,QAAU,KAC3D,MAAM+B,EAAavC,KAAKQ,kBAAoB,aAAe,aAAe,KAC1E,MAAMgC,EAAOxC,KAAKQ,kBAAoB,OAAS,OAAS,KAExD,GAAI6B,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,UACAzC,KAAKoC,kBACLpC,KAAK8B,eACL9B,KAAKK,SAAW,WAAa,G","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,h as o,g as i}from"./p-b7a462e5.js";import{d as e,t as a}from"./p-1f6a8baa.js";import{i as s}from"./p-1ecafb97.js";const c=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}.checkbox-group-container{display:flex;flex-direction:column}.checkbox-group{display:flex;font-family:var(--ifx-font-family);gap:8px}.checkbox-group.horizontal{flex-direction:row;column-gap:12px}.checkbox-group.vertical{flex-direction:column;row-gap:12px}.group-label{font:400 0.75rem/1rem "Source Sans 3";margin-bottom:8px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}.caption{margin-top:8px;align-self:flex-start;display:flex;width:100%;column-gap:8px;justify-content:space-between;align-items:center}.caption.default{color:#1D1D1D}.caption.error{color:#CD002F}.caption-text{font:400 0.75rem/1rem "Source Sans 3";flex:1;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}.caption-icon{flex:0;display:flex}';const r=c;const n=class{constructor(o){t(this,o);this.errorStates=new Map;this.alignment="vertical";this.groupLabelText="Group Label Text";this.hasErrors=false;this.handleSlotChange=()=>{this.initializeState()}}handleCheckboxError(t){const o=t.target;if(o.tagName==="ifx-checkbox"){this.errorStates.set(o,t.detail);this.updateHasErrors()}}async setGroupError(t){const o=Array.from(this.el.querySelectorAll("ifx-checkbox"));o.forEach((o=>{o.error=t}))}componentWillLoad(){this.initializeState()}async componentDidLoad(){if(!s(this.el)){const t=e();a("ifx-checkbox-group",await t)}}initializeState(){this.errorStates.clear();const t=Array.from(this.el.querySelectorAll("ifx-checkbox"));t.forEach((t=>{if(!this.errorStates.has(t)){this.errorStates.set(t,t.error||false)}}));this.updateHasErrors()}updateHasErrors(){this.hasErrors=Array.from(this.errorStates.values()).some((t=>t))}render(){return o("div",{key:"b3f10b860ca3a976439a7be6d24a92a4214aabbc",class:"checkbox-group-container"},this.showGroupLabel?o("div",{class:"group-label"},this.groupLabelText," *"):"",o("div",{key:"4d77558d3af07c48db430b3df5fa2aeeb288ee51",class:`checkbox-group ${this.alignment} ${this.size}`},o("slot",{key:"634221dfaef08e771d56ad17e3618e6dc2e3c59e",onSlotchange:this.handleSlotChange})),this.showCaption?o("div",{class:`caption ${this.hasErrors?"error":"default"}`},this.showCaptionIcon?o("div",{class:"caption-icon"},o("ifx-icon",{icon:"c-info-16"})):"",o("div",{class:"caption-text"},this.captionText)):"")}static get formAssociated(){return true}get el(){return i(this)}};n.style=r;export{n as ifx_checkbox_group};
2
- //# sourceMappingURL=p-dccb6652.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["checkboxGroupCss","IfxCheckboxGroupStyle0","CheckboxGroup","constructor","hostRef","this","errorStates","Map","alignment","groupLabelText","hasErrors","handleSlotChange","initializeState","handleCheckboxError","event","checkbox","target","tagName","set","detail","updateHasErrors","setGroupError","error","checkboxes","Array","from","el","querySelectorAll","forEach","componentWillLoad","componentDidLoad","isNestedInIfxComponent","framework","detectFramework","trackComponent","clear","has","values","some","render","h","key","class","showGroupLabel","size","onSlotchange","showCaption","showCaptionIcon","icon","captionText"],"sources":["src/components/checkbox-group/checkbox-group.scss?tag=ifx-checkbox-group&encapsulation=shadow","src/components/checkbox-group/checkbox-group.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n.checkbox-group-container {\n display: flex;\n flex-direction: column;\n}\n\n.checkbox-group {\n display: flex;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n gap: tokens.$ifxSpace100;\n\n &.horizontal {\n flex-direction: row;\n column-gap: tokens.$ifxSpace150;\n }\n\n &.vertical {\n flex-direction: column;\n row-gap: tokens.$ifxSpace150;\n }\n}\n\n.group-label {\n font: tokens.$ifxBodyBody05;\n margin-bottom: tokens.$ifxSpace100;\n text-align: left;\n text-underline-position: from-font;\n text-decoration-skip-ink: none;\n}\n\n.caption {\n margin-top: tokens.$ifxSpace100;\n align-self: flex-start;\n display: flex;\n width: 100%;\n column-gap: tokens.$ifxSpace100;\n justify-content: space-between;\n align-items: center;\n\n &.default {\n color: tokens.$ifxColorBaseBlack;\n }\n\n &.error {\n color: tokens.$ifxColorRed500;\n }\n}\n\n.caption-text {\n font: tokens.$ifxBodyBody05;\n flex: 1;\n text-align: left;\n text-underline-position: from-font;\n text-decoration-skip-ink: none;\n}\n\n.caption-icon {\n flex:0;\n display: flex;\n}","import { Component, State, Prop, h, Element, Listen, Method } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-checkbox-group',\n styleUrl: 'checkbox-group.scss',\n shadow: true,\n formAssociated: true\n})\n\nexport class CheckboxGroup {\n private errorStates: Map<HTMLElement, boolean> = new Map();\n\n @Element() el: HTMLElement;\n @Prop() alignment: 'horizontal' | 'vertical' = 'vertical';\n @Prop() size: string;\n @Prop() showGroupLabel: boolean;\n @Prop() groupLabelText: string = 'Group Label Text';\n @Prop() showCaption: boolean;\n @Prop() captionText: string;\n @Prop() showCaptionIcon: boolean;\n @State() hasErrors: boolean = false;\n\n @Listen('ifxError')\n handleCheckboxError(event: CustomEvent) {\n const checkbox = event.target as HTMLElement;\n if (checkbox.tagName === 'ifx-checkbox') {\n this.errorStates.set(checkbox, event.detail);\n this.updateHasErrors();\n }\n }\n\n // Method to set the error state of all checkboxes in the group\n @Method()\n async setGroupError(error: boolean) {\n const checkboxes = Array.from(this.el.querySelectorAll('ifx-checkbox'));\n checkboxes.forEach((checkbox) => {\n (checkbox as any).error = error;\n });\n }\n\n componentWillLoad() {\n this.initializeState();\n\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-checkbox-group', await framework)\n }\n }\n\n handleSlotChange = () => {\n this.initializeState();\n };\n\n private initializeState() {\n this.errorStates.clear();\n const checkboxes = Array.from(this.el.querySelectorAll('ifx-checkbox'));\n checkboxes.forEach((checkbox) => {\n if (!this.errorStates.has(checkbox)) {\n this.errorStates.set(checkbox, (checkbox as any).error || false);\n }\n });\n this.updateHasErrors();\n }\n\n private updateHasErrors() {\n this.hasErrors = Array.from(this.errorStates.values()).some((error) => error);\n }\n\n render() {\n return (\n <div class='checkbox-group-container'>\n {this.showGroupLabel ? <div class='group-label'>{this.groupLabelText} *</div> : ''}\n <div class={`checkbox-group ${this.alignment} ${this.size}`}>\n <slot onSlotchange={this.handleSlotChange}></slot>\n </div>\n {this.showCaption ? (\n <div class={`caption ${this.hasErrors ? 'error' : 'default'}`}>\n {this.showCaptionIcon ? <div class='caption-icon'><ifx-icon icon=\"c-info-16\">\n </ifx-icon></div> : ''}\n <div class='caption-text'>{this.captionText}</div>\n </div>) : ''}\n </div>\n );\n }\n}"],"mappings":"iIAAA,MAAMA,EAAmB,m0BACzB,MAAAC,EAAeD,E,MCWFE,EAAa,MAP1B,WAAAC,CAAAC,G,UAQUC,KAAAC,YAAyC,IAAIC,IAG7CF,KAAAG,UAAuC,WAGvCH,KAAAI,eAAyB,mBAIxBJ,KAAAK,UAAqB,MAgC9BL,KAAAM,iBAAmB,KACjBN,KAAKO,iBAAiB,C,CA9BxB,mBAAAC,CAAoBC,GAClB,MAAMC,EAAWD,EAAME,OACvB,GAAID,EAASE,UAAY,eAAgB,CACvCZ,KAAKC,YAAYY,IAAIH,EAAUD,EAAMK,QACrCd,KAAKe,iB,EAMT,mBAAMC,CAAcC,GAClB,MAAMC,EAAaC,MAAMC,KAAKpB,KAAKqB,GAAGC,iBAAiB,iBACvDJ,EAAWK,SAASb,IACjBA,EAAiBO,MAAQA,CAAK,G,CAInC,iBAAAO,GACExB,KAAKO,iB,CAIP,sBAAMkB,GACJ,IAAIC,EAAuB1B,KAAKqB,IAAK,CACnC,MAAMM,EAAYC,IAClBC,EAAe,2BAA4BF,E,EAQvC,eAAApB,GACNP,KAAKC,YAAY6B,QACjB,MAAMZ,EAAaC,MAAMC,KAAKpB,KAAKqB,GAAGC,iBAAiB,iBACvDJ,EAAWK,SAASb,IAClB,IAAKV,KAAKC,YAAY8B,IAAIrB,GAAW,CACnCV,KAAKC,YAAYY,IAAIH,EAAWA,EAAiBO,OAAS,M,KAG9DjB,KAAKe,iB,CAGC,eAAAA,GACNf,KAAKK,UAAYc,MAAMC,KAAKpB,KAAKC,YAAY+B,UAAUC,MAAMhB,GAAUA,G,CAGzE,MAAAiB,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,4BACRrC,KAAKsC,eAAiBH,EAAA,OAAKE,MAAM,eAAerC,KAAKI,eAAc,MAAY,GAChF+B,EAAA,OAAAC,IAAA,2CAAKC,MAAO,kBAAkBrC,KAAKG,aAAaH,KAAKuC,QACnDJ,EAAA,QAAAC,IAAA,2CAAMI,aAAcxC,KAAKM,oBAE1BN,KAAKyC,YACJN,EAAA,OAAKE,MAAO,WAAWrC,KAAKK,UAAY,QAAU,aAC/CL,KAAK0C,gBAAkBP,EAAA,OAAKE,MAAM,gBAAeF,EAAA,YAAUQ,KAAK,eAC7C,GACpBR,EAAA,OAAKE,MAAM,gBAAgBrC,KAAK4C,cACxB,G","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as i,h as o,g as t,c as e}from"./p-b7a462e5.js";import{d as a,t as n}from"./p-1f6a8baa.js";import{i as s}from"./p-1ecafb97.js";const c=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:block}.accordion-wrapper{display:flex;flex-direction:column;gap:8px;font-family:var(--ifx-font-family)}';const r=c;const d=class{constructor(o){i(this,o);this.autoCollapse=false}async componentDidLoad(){if(!s(this.el)){const i=a();n("ifx-accordion",await i)}}async onItemOpen(i){if(this.autoCollapse){const o=Array.from(this.el.querySelectorAll("ifx-accordion-item"));for(const t of o){const o=t;if(o!==i.target&&await o.open){o.open=false}}}}render(){return o("div",{key:"903cc44b4886b77e59e66ab2a5cdf681dafeb9bc",class:"accordion-wrapper"},o("slot",{key:"e0abec42188606e8c80fc3db44fba19a7aa69ed8"}))}static get delegatesFocus(){return true}get el(){return t(this)}};d.style=r;const f=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}.accordion-item{border-radius:3px;transition:all 0.3s;font-family:var(--ifx-font-family)}.accordion-title:focus{outline:none}.accordion-title:focus::after{content:"";display:block;position:absolute;top:-4px;bottom:-4px;left:-4px;right:-4px;border-radius:5px;border:2px solid #0A8276;box-sizing:border-box}.accordion-title:hover{border:1px solid #EEEDED;color:#08665C}.accordion-title{display:flex;align-items:center;position:relative;padding:12px 16px;gap:12px;color:#0A8276;background-color:#FFFFFF;border:1px solid #EEEDED;cursor:pointer;margin:4px}.accordion-caption{font-weight:600;font-size:1.125rem}.accordion-content{gap:8px;line-height:24px;font-size:1rem;font-weight:400}.inner-content{background-color:#FFFFFF;padding:24px;word-wrap:break-word;overflow-wrap:anywhere;align-self:stretch;}.accordion-icon{font-weight:bold;display:flex;transition:transform 0.3s}.accordion-icon:hover{color:#08665C}.accordion-item.open .accordion-icon{transform:rotate(-180deg)}';const l=f;const h=class{constructor(o){i(this,o);this.ifxOpen=e(this,"ifxOpen",7);this.ifxClose=e(this,"ifxClose",7);this.open=false;this.AriaLevel=3;this.internalOpen=false}componentWillLoad(){this.internalOpen=this.open}componentDidLoad(){this.openAccordionItem();this.contentEl=this.el.shadowRoot.querySelector("#accordion-content");if(this.contentEl){this.attachResizeObserver()}}componentDidUpdate(){this.openAccordionItem()}openChanged(i){this.internalOpen=i}toggleOpen(){this.internalOpen=!this.internalOpen;this.open=this.internalOpen;if(this.internalOpen){this.ifxOpen.emit({isOpen:this.internalOpen})}else{this.ifxClose.emit({isClosed:!this.internalOpen})}}openAccordionItem(){if(this.contentEl){if(this.internalOpen){this.contentEl.style.height="auto";const i=this.contentEl.scrollHeight;this.contentEl.style.height=`${i}px`;this.contentEl.style.overflow="visible"}else{this.contentEl.style.height="0";this.contentEl.style.overflow="hidden"}}}attachResizeObserver(){const i=this.el.shadowRoot.querySelector(".inner-content");if(i){this.resizeObserver=new ResizeObserver((()=>{if(this.internalOpen){this.openAccordionItem()}}));this.resizeObserver.observe(i)}}handleKeydown(i){const o=i.composedPath();if(!o.includes(this.titleEl)){return}switch(i.key){case"Enter":case" ":i.preventDefault();this.toggleOpen();break}}render(){return o("div",{key:"6f314f7ff18566be1de5fb8c169405df296ba346",class:`accordion-item ${this.internalOpen?"open":""}`},o("div",{key:"0c20697cd02a7af28f481c7104a6b100ad478081",role:"button","aria-expanded":this.internalOpen,"aria-controls":"accordion-content",class:"accordion-title",onClick:()=>this.toggleOpen(),tabindex:"0",ref:i=>this.titleEl=i},o("span",{key:"d41d3016e5f967f361dea497486673d786ba3d83","aria-hidden":"true",role:"heading","aria-level":String(this.AriaLevel),class:"accordion-icon"},o("ifx-icon",{key:"27308dfb2a2cd73303705521a41f706482cb8da3",icon:"chevron-down-16"})),o("span",{key:"c71749876b23310d9d9037552dcb4800f3b16d13",id:"accordion-caption",class:"accordion-caption"},this.caption)),o("div",{key:"23d3f2ee657ff35edd3d341e883aadb6d1858c79",id:"accordion-content",class:"accordion-content",ref:i=>this.contentEl=i,role:"region","aria-labelledby":"accordion-caption"},o("div",{key:"3716d880d2c26471e515ba60a0b1227758130a09",class:"inner-content"},o("slot",{key:"0ae80ac1d41934a1e3a84e3d3a8bdc97b5cf1e2c"}))))}get el(){return t(this)}static get watchers(){return{open:["openChanged"]}}};h.style=l;export{d as ifx_accordion,h as ifx_accordion_item};
2
- //# sourceMappingURL=p-e204e9a0.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["accordionCss","IfxAccordionStyle0","Accordion","constructor","hostRef","this","autoCollapse","componentDidLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","onItemOpen","event","items","Array","from","querySelectorAll","item","itemElement","target","open","render","h","key","class","accordionItemCss","IfxAccordionItemStyle0","IfxAccordionItem","AriaLevel","internalOpen","componentWillLoad","openAccordionItem","contentEl","shadowRoot","querySelector","attachResizeObserver","componentDidUpdate","openChanged","newValue","toggleOpen","ifxOpen","emit","isOpen","ifxClose","isClosed","style","height","updatedHeight","scrollHeight","overflow","innerContentEl","resizeObserver","ResizeObserver","observe","handleKeydown","ev","path","composedPath","includes","titleEl","preventDefault","role","onClick","tabindex","ref","String","icon","id","caption"],"sources":["src/components/accordion/accordion.scss?tag=ifx-accordion&encapsulation=shadow","src/components/accordion/accordion.tsx","src/components/accordion/accordionItem.scss?tag=ifx-accordion-item&encapsulation=shadow","src/components/accordion/accordionItem.tsx"],"sourcesContent":["// ifxAccordion.scss\n@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: block;\n}\n\n.accordion-wrapper {\n display: flex;\n flex-direction: column;\n gap: tokens.$ifxSpace100;\n font-family: var(--ifx-font-family) // tokens.$ifxFontFamilyBody;\n}","import { Component, h, Listen, Element, Prop } 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-accordion',\n styleUrl: 'accordion.scss',\n shadow: { delegatesFocus: true },\n})\nexport class Accordion {\n @Element() el: HTMLElement;\n @Prop() autoCollapse: boolean = false;\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-accordion', await framework)\n }\n }\n\n @Listen('ifxOpen')\n async onItemOpen(event: CustomEvent) {\n if (this.autoCollapse) {\n const items = Array.from(this.el.querySelectorAll('ifx-accordion-item'));\n for (const item of items) {\n const itemElement = item as HTMLIfxAccordionItemElement;\n if (itemElement !== event.target && (await itemElement.open)) {\n itemElement.open = false;\n }\n }\n }\n }\n\n render() {\n return (\n <div class=\"accordion-wrapper\">\n <slot />\n </div>\n );\n }\n}\n","// ifxAccordionItem.scss\n@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n\n.accordion-item {\n border-radius: 3px;\n transition: all 0.3s;\n font-family: var(--ifx-font-family) // tokens.$ifxFontFamilyBody;\n\n}\n\n.accordion-title:focus {\n outline: none;\n}\n\n// workaround to add corner radius to outline\n.accordion-title:focus::after {\n content: '';\n display: block;\n position: absolute;\n top: -4px;\n bottom: -4px;\n left: -4px;\n right: -4px;\n border-radius: 5px;\n border: 2px solid tokens.$ifxColorOcean500;\n box-sizing: border-box;\n}\n\n.accordion-title:hover {\n border: 1px solid tokens.$ifxColorEngineering200;\n color: tokens.$ifxColorOcean600;\n}\n\n.accordion-title {\n display: flex;\n align-items: center;\n position: relative;\n padding: tokens.$ifxSpace150 tokens.$ifxSpace200;\n gap: tokens.$ifxSpace150;\n color: tokens.$ifxColorOcean500;\n background-color: tokens.$ifxColorBaseWhite;\n border: 1px solid tokens.$ifxColorEngineering200;\n cursor: pointer;\n margin: 4px;\n}\n\n.accordion-caption {\n font-weight: tokens.$ifxFontWeightSemibold;\n font-size: tokens.$ifxFontSizeL;\n}\n\n.accordion-content {\n gap: tokens.$ifxSpace100;\n //transition: max-height 0.3s ease-in-out;\n line-height: 24px;\n font-size: tokens.$ifxFontSizeM;\n font-weight: 400;\n}\n\n.inner-content {\n background-color: tokens.$ifxColorBaseWhite;\n padding: tokens.$ifxSpace300;\n // white-space: pre-wrap;\n /* wraps text at spaces and within words */\n word-wrap: break-word;\n /* breaks text within a word if necessary */\n overflow-wrap: anywhere;\n align-self: stretch;\n\n /* breaks text at arbitrary points when needed */\n}\n\n.accordion-icon {\n font-weight: bold;\n display: flex;\n transition: transform 0.3s;\n\n &:hover {\n color: tokens.$ifxColorOcean600;\n\n }\n}\n\n\n\n.accordion-item.open .accordion-icon {\n transform: rotate(-180deg);\n}","//ifxAccordionItem\nimport { Component, Prop, h, State, Event, EventEmitter, Watch, Listen, Element } from '@stencil/core';\n\n@Component({\n tag: 'ifx-accordion-item',\n styleUrl: 'accordionItem.scss',\n shadow: true,\n})\nexport class IfxAccordionItem {\n @Element() el;\n @Prop() caption: string;\n @Prop({\n mutable: true,\n }) open: boolean = false;\n @Prop() AriaLevel = 3;\n @State() internalOpen: boolean = false;\n @Event() ifxOpen: EventEmitter;\n @Event() ifxClose: EventEmitter;\n private contentEl!: HTMLElement;\n private titleEl!: HTMLElement;\n private resizeObserver!: ResizeObserver;\n\n componentWillLoad() {\n this.internalOpen = this.open;\n }\n\n componentDidLoad() {\n this.openAccordionItem()\n\n this.contentEl = this.el.shadowRoot.querySelector('#accordion-content');\n if (this.contentEl) {\n this.attachResizeObserver();\n }\n }\n\n componentDidUpdate() {\n this.openAccordionItem()\n }\n\n @Watch('open')\n openChanged(newValue: boolean) {\n this.internalOpen = newValue;\n }\n\n toggleOpen() {\n this.internalOpen = !this.internalOpen;\n this.open = this.internalOpen;\n\n if (this.internalOpen) {\n this.ifxOpen.emit({ isOpen: this.internalOpen });\n } else {\n this.ifxClose.emit({ isClosed: !this.internalOpen });\n }\n }\n\n openAccordionItem() {\n if (this.contentEl) {\n if (this.internalOpen) {\n this.contentEl.style.height = 'auto'; \n const updatedHeight = this.contentEl.scrollHeight; \n this.contentEl.style.height = `${updatedHeight}px`; \n this.contentEl.style.overflow = 'visible';\n } else {\n this.contentEl.style.height = '0';\n this.contentEl.style.overflow = 'hidden';\n }\n }\n }\n\n attachResizeObserver() { \n const innerContentEl = this.el.shadowRoot.querySelector('.inner-content');\n\n if (innerContentEl) {\n this.resizeObserver = new ResizeObserver(() => {\n if (this.internalOpen) {\n this.openAccordionItem();\n }\n });\n\n this.resizeObserver.observe(innerContentEl); \n }\n }\n\n @Listen('keydown')\n handleKeydown(ev: KeyboardEvent) {\n const path = ev.composedPath();\n\n if(!path.includes(this.titleEl)) { \n return;\n }\n\n switch (ev.key) {\n case 'Enter': // fallthrough\n case ' ': // space\n ev.preventDefault();\n this.toggleOpen();\n break;\n }\n }\n\n\n render() {\n return (\n <div class={`accordion-item ${this.internalOpen ? 'open' : ''}`}>\n <div role=\"button\" aria-expanded={this.internalOpen} aria-controls=\"accordion-content\" class=\"accordion-title\" onClick={() => this.toggleOpen()} tabindex='0' ref={(el) => (this.titleEl = el as HTMLElement)}>\n <span aria-hidden=\"true\" role=\"heading\" aria-level={String(this.AriaLevel) as string} class=\"accordion-icon\">\n <ifx-icon icon=\"chevron-down-16\"/>\n </span>\n <span id=\"accordion-caption\" class=\"accordion-caption\">{this.caption}</span>\n </div>\n <div id=\"accordion-content\" class=\"accordion-content\" ref={(el) => (this.contentEl = el as HTMLElement)} role=\"region\" aria-labelledby=\"accordion-caption\">\n <div class=\"inner-content\">\n <slot />\n </div>\n </div>\n </div>\n );\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as i,c as t,h as s,g as h}from"./p-b7a462e5.js";import{d as e,t as a}from"./p-1f6a8baa.js";import{i as n}from"./p-1ecafb97.js";import{c as o}from"./p-e459974a.js";const l=":host{display:inline-block}";const r=l;const d=class{constructor(s){i(this,s);this.ifxOpen=t(this,"ifxOpen",7);this.ifxClose=t(this,"ifxClose",7);this.ifxDropdown=t(this,"ifxDropdown",7);this.placement="bottom-start";this.defaultOpen=false;this.internalIsOpen=false;this.noAppendToBody=false;this.noCloseOnOutsideClick=false;this.noCloseOnMenuClick=false}componentWillLoad(){this.updateSlotContent();this.watchHandlerIsOpen(this.defaultOpen,this.internalIsOpen)}async componentDidLoad(){if(!n(this.el)){const i=e();a("ifx-dropdown",await i)}}watchHandlerIsOpen(i,t){if(i!==t&&i!==this.internalIsOpen){if(i){this.openDropdown()}else{this.closeDropdown()}}}watchHandlerDisabled(i){if(this.trigger){this.trigger.disabled=i}}watchHandlerSlot(){this.updateSlotContent()}updateSlotContent(){this.trigger=this.el.querySelector("ifx-dropdown-trigger-button, ifx-dropdown-trigger");if(this.trigger){this.trigger.disabled=this.disabled;this.trigger.removeEventListener("click",this.triggerClickHandler.bind(this));this.trigger.addEventListener("click",this.triggerClickHandler.bind(this))}if(!this.noAppendToBody){if(this.menu){this.menu.remove()}this.menu=this.el.querySelector("ifx-dropdown-menu");document.body.append(this.menu)}else{this.menu=this.el.querySelector("ifx-dropdown-menu")}this.menu.removeEventListener("click",this.menuClickHandler.bind(this));this.menu.addEventListener("click",this.menuClickHandler.bind(this))}menuClickHandler(){if(!this.noCloseOnMenuClick){this.closeDropdown()}}triggerClickHandler(){if(!this.internalIsOpen){this.openDropdown()}else{this.closeDropdown()}}disconnectedCallback(){if(this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}if(this.menu){this.menu.remove()}}async isOpen(){return this.internalIsOpen}async closeDropdown(){if(this.internalIsOpen){this.internalIsOpen=false;this.trigger.isOpen=false;this.menu.isOpen=false;this.ifxClose.emit()}if(this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}}async openDropdown(){if(!this.internalIsOpen&&!this.disabled){this.internalIsOpen=true;this.trigger.isOpen=true;this.menu.isOpen=true;this.popperInstance=o(this.el,this.menu,{placement:this.placement});this.ifxOpen.emit()}}handleOutsideClick(i){const t=i.target;if(!this.noCloseOnOutsideClick&&!this.el.contains(t)&&!this.menu.contains(t)){this.closeDropdown()}}render(){return s("div",{key:"0ffd99254e002f76cd794c4a2acde1a18cad57a1","aria-label":"dropdown menu",class:"dropdown"},s("slot",{key:"59d55b2e78574b583a2e3aad577790214812233e"}))}get el(){return h(this)}static get watchers(){return{defaultOpen:["watchHandlerIsOpen"],disabled:["watchHandlerDisabled"]}}};d.style=r;export{d as ifx_dropdown};
2
- //# sourceMappingURL=p-e5533f56.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["dropdownCss","IfxDropdownStyle0","Dropdown","constructor","hostRef","this","placement","defaultOpen","internalIsOpen","noAppendToBody","noCloseOnOutsideClick","noCloseOnMenuClick","componentWillLoad","updateSlotContent","watchHandlerIsOpen","componentDidLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","newValue","oldValue","openDropdown","closeDropdown","watchHandlerDisabled","trigger","disabled","watchHandlerSlot","querySelector","removeEventListener","triggerClickHandler","bind","addEventListener","menu","remove","document","body","append","menuClickHandler","disconnectedCallback","popperInstance","destroy","isOpen","ifxClose","emit","createPopper","ifxOpen","handleOutsideClick","event","target","contains","render","h","key","class"],"sources":["src/components/dropdown/dropdown.scss?tag=ifx-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n:host {\n display: inline-block;\n}","//dropdown.tsx\nimport { Component, Prop, h, Element, Listen, Method, Watch, State, EventEmitter, Event } from \"@stencil/core\";\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nimport { createPopper } from '@popperjs/core';\n \n\nimport { IOpenable } from './IOpenable';\n\nexport type Placement =\n | 'auto'\n | 'auto-start'\n | 'auto-end'\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end';\n\n@Component({\n tag: 'ifx-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true\n})\n\nexport class Dropdown {\n @Prop() placement: Placement = 'bottom-start';\n\n // isOpen prop\n @Prop() defaultOpen: boolean = false;\n // internal state for isOpen prop\n @State() internalIsOpen: boolean = false;\n\n // isOpen prop\n @Prop() noAppendToBody: boolean = false;\n\n // Custom events for opening and closing dropdown\n @Event() ifxOpen: EventEmitter;\n @Event() ifxClose: EventEmitter;\n @Event() ifxDropdown: EventEmitter;\n\n // determine if dropdown is disabled\n @Prop() disabled: boolean;\n\n @Prop() noCloseOnOutsideClick: boolean = false;\n @Prop() noCloseOnMenuClick: boolean = false;\n\n // Reference to host element\n @Element() el;\n // Dropdown trigger and menu\n @State() trigger: HTMLElement;\n @State() menu: HTMLElement\n // Popper instance for positioning\n popperInstance: any;\n\n\n\n componentWillLoad() {\n //maybe not needed\n this.updateSlotContent();\n this.watchHandlerIsOpen(this.defaultOpen, this.internalIsOpen);\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-dropdown', await framework)\n }\n }\n\n @Watch('defaultOpen')\n watchHandlerIsOpen(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue && newValue !== this.internalIsOpen) {\n if (newValue) {\n this.openDropdown();\n } else {\n this.closeDropdown();\n }\n }\n }\n\n @Watch('disabled')\n watchHandlerDisabled(newValue: boolean) {\n if (this.trigger) {\n (this.trigger as undefined as HTMLIfxDropdownTriggerButtonElement).disabled = newValue;\n }\n }\n\n\n @Listen('slotchange')\n watchHandlerSlot() {\n this.updateSlotContent();\n }\n\n\n\n // handling assignment of trigger and menu\n updateSlotContent() {\n // Get dropdown trigger. name has to start with ifx-dropdown-trigger\n this.trigger = this.el.querySelector('ifx-dropdown-trigger-button, ifx-dropdown-trigger');\n if (this.trigger) {\n (this.trigger as undefined as HTMLIfxDropdownTriggerButtonElement).disabled = this.disabled;\n this.trigger.removeEventListener('click', this.triggerClickHandler.bind(this));\n this.trigger.addEventListener('click', this.triggerClickHandler.bind(this));\n }\n // Remove menu if exists from body\n if (!this.noAppendToBody) {\n if (this.menu) {\n this.menu.remove();\n }\n // Get new menu and add to body\n this.menu = this.el.querySelector('ifx-dropdown-menu');\n\n // event handler for closing dropdown on menu click\n document.body.append(this.menu);\n } else {\n this.menu = this.el.querySelector('ifx-dropdown-menu');\n\n }\n this.menu.removeEventListener('click', this.menuClickHandler.bind(this));\n this.menu.addEventListener('click', this.menuClickHandler.bind(this));\n\n }\n\n menuClickHandler() {\n if (!this.noCloseOnMenuClick) {\n this.closeDropdown();\n }\n }\n\n triggerClickHandler() {\n if (!this.internalIsOpen) {\n this.openDropdown();\n } else {\n this.closeDropdown();\n }\n }\n\n disconnectedCallback() {\n // Destroy popper instance if exists\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n // Remove menu if exists\n if (this.menu) {\n this.menu.remove();\n }\n }\n\n @Method()\n async isOpen() {\n return this.internalIsOpen;\n }\n\n @Method()\n async closeDropdown() {\n if (this.internalIsOpen) {\n this.internalIsOpen = false;\n // sets isOpen prop on trigger and menu\n (this.trigger as unknown as IOpenable).isOpen = false;\n (this.menu as unknown as IOpenable).isOpen = false;\n // Emit close event\n this.ifxClose.emit();\n }\n // Destroy popper instance if exists\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n @Method()\n async openDropdown() {\n if (!this.internalIsOpen && !this.disabled) {\n this.internalIsOpen = true;\n // sets isOpen prop on trigger and menu\n (this.trigger as unknown as IOpenable).isOpen = true;\n (this.menu as unknown as IOpenable).isOpen = true;\n // Create popper instance for positioning\n this.popperInstance = createPopper(\n this.el,\n this.menu,\n { placement: this.placement });\n\n this.ifxOpen.emit();\n }\n }\n\n //emitted by and listening to it from the dropdown menu right now\n // @Listen('ifxDropdownMenu')\n // handleDropdownMenuEvents(event: CustomEvent) {\n // this.ifxDropdown.emit(event.detail)\n // console.log('Selected item received in higher-level parent:');\n // }\n\n @Listen('mousedown', { target: 'document' })\n handleOutsideClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n // Close dropdown if outside click\n if (!this.noCloseOnOutsideClick && !this.el.contains(target) && !this.menu.contains(target)) {\n this.closeDropdown();\n }\n }\n\n render() {\n return (\n <div aria-label='dropdown menu' class='dropdown'>\n <slot />\n </div>\n )\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,c as a,h as t,g as s}from"./p-b7a462e5.js";import{d as i,t as l}from"./p-1f6a8baa.js";import{i as r}from"./p-1ecafb97.js";const n=':host{display:block}.tree-view{font-family:var(--ifx-font-family, sans-serif);font-size:14px;color:var(--ifx-color-text, #1a1a1a);display:flex;flex-wrap:wrap;flex-direction:column;overflow-x:auto;overflow-y:hidden}.tree-view__label{font:600 1.125rem/1.625rem "Source Sans 3";margin-bottom:8px}';const o=n;const d=class{constructor(t){e(this,t);this.ifxTreeViewExpandAllChange=a(this,"ifxTreeViewExpandAllChange",7);this.ifxTreeViewDisableAllChange=a(this,"ifxTreeViewDisableAllChange",7);this.disableAllItems=false;this.expandAllItems=false;this.handleSlotRef=e=>{if(e){if(this.disableAllItems){e.setAttribute("data-disable-all-items","true")}else{e.removeAttribute("data-disable-all-items")}if(this.expandAllItems){e.setAttribute("data-expand-all-items","true")}else{e.removeAttribute("data-expand-all-items")}}}}handleExpandAllItemsChange(e){this.ifxTreeViewExpandAllChange.emit(e)}handleDisableAllItemsChange(e){this.ifxTreeViewDisableAllChange.emit(e)}async componentDidLoad(){if(!r(this.el)){const e=i();l("ifx-tree-view",await e)}}render(){return t("div",{key:"ec08b68d133220d6e7a7bc7556c8007e6d26c918",class:`tree-view ${this.disableAllItems?" tree-view--disabled":""}`,role:"tree","aria-label":this.ariaLabel},this.label&&this.label.trim()!==""&&t("div",{key:"bbcfec059c56183de271d8455a9c4c198a530100",class:"tree-view__label"},this.label),t("slot",{key:"5b6e4e4ecc8285d1f3710159273a0bf4bda08b11",ref:this.handleSlotRef}))}get el(){return s(this)}static get watchers(){return{expandAllItems:["handleExpandAllItemsChange"],disableAllItems:["handleDisableAllItemsChange"]}}};d.style=o;export{d as ifx_tree_view};
2
- //# sourceMappingURL=p-f2ca8d02.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["treeViewCss","IfxTreeViewStyle0","TreeView","constructor","hostRef","this","disableAllItems","expandAllItems","handleSlotRef","el","setAttribute","removeAttribute","handleExpandAllItemsChange","newValue","ifxTreeViewExpandAllChange","emit","handleDisableAllItemsChange","ifxTreeViewDisableAllChange","componentDidLoad","isNestedInIfxComponent","framework","detectFramework","trackComponent","render","h","key","class","role","ariaLabel","label","trim","ref"],"sources":["src/components/tree-view/tree-view.scss?tag=ifx-tree-view&encapsulation=shadow","src/components/tree-view/tree-view.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n:host {\n display: block;\n}\n\n.tree-view {\n font-family: var(--ifx-font-family, sans-serif);\n font-size: 14px;\n color: var(--ifx-color-text, #1a1a1a);\n\n display: flex;\n flex-wrap: wrap;\n flex-direction: column;\n overflow-x: auto;\n overflow-y: hidden;\n\n &__label {\n font: tokens.$ifxHeadingHeading06;\n margin-bottom: tokens.$ifxSpace100;\n }\n}\n","import { Component, h, Prop, Event, EventEmitter, 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-tree-view',\n styleUrl: 'tree-view.scss',\n shadow: true,\n})\nexport class TreeView {\n @Element() el: HTMLElement;\n @Prop() label?: string;\n @Prop() disableAllItems: boolean = false;\n @Prop() expandAllItems: boolean = false;\n @Prop() ariaLabel: string | null;\n\n @Event() ifxTreeViewExpandAllChange: EventEmitter<boolean>;\n @Event() ifxTreeViewDisableAllChange: EventEmitter<boolean>;\n\n @Watch('expandAllItems')\n handleExpandAllItemsChange(newValue: boolean) {\n this.ifxTreeViewExpandAllChange.emit(newValue);\n }\n\n @Watch('disableAllItems')\n handleDisableAllItemsChange(newValue: boolean) {\n this.ifxTreeViewDisableAllChange.emit(newValue);\n }\n\n private handleSlotRef = (el: HTMLSlotElement | null) => {\n if (el) {\n if (this.disableAllItems) {\n el.setAttribute('data-disable-all-items', 'true');\n } else {\n el.removeAttribute('data-disable-all-items');\n }\n if (this.expandAllItems) {\n el.setAttribute('data-expand-all-items', 'true');\n } else {\n el.removeAttribute('data-expand-all-items');\n }\n }\n };\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-tree-view', await framework)\n }\n }\n\n render() {\n return (\n <div\n class={`tree-view ${this.disableAllItems ? ' tree-view--disabled' : ''}`}\n role=\"tree\"\n aria-label={this.ariaLabel}\n >\n {this.label && this.label.trim() !== '' && <div class=\"tree-view__label\">{this.label}</div>}\n <slot ref={this.handleSlotRef}></slot>\n </div>\n );\n }\n}\n"],"mappings":"wIAAA,MAAMA,EAAc,wSACpB,MAAAC,EAAeD,E,MCSFE,EAAQ,MALrB,WAAAC,CAAAC,G,0JAQUC,KAAAC,gBAA2B,MAC3BD,KAAAE,eAA0B,MAgB1BF,KAAAG,cAAiBC,IACvB,GAAIA,EAAI,CACN,GAAIJ,KAAKC,gBAAiB,CACxBG,EAAGC,aAAa,yBAA0B,O,KACrC,CACLD,EAAGE,gBAAgB,yB,CAErB,GAAIN,KAAKE,eAAgB,CACvBE,EAAGC,aAAa,wBAAyB,O,KACpC,CACLD,EAAGE,gBAAgB,wB,IAnBzB,0BAAAC,CAA2BC,GACzBR,KAAKS,2BAA2BC,KAAKF,E,CAIvC,2BAAAG,CAA4BH,GAC1BR,KAAKY,4BAA4BF,KAAKF,E,CAkBxC,sBAAMK,GACJ,IAAIC,EAAuBd,KAAKI,IAAK,CACnC,MAAMW,EAAYC,IAClBC,EAAe,sBAAuBF,E,EAI1C,MAAAG,GACE,OACEC,EAAA,OAAAC,IAAA,2CACEC,MAAO,aAAarB,KAAKC,gBAAkB,uBAAyB,KACpEqB,KAAK,OAAM,aACCtB,KAAKuB,WAEhBvB,KAAKwB,OAASxB,KAAKwB,MAAMC,SAAW,IAAMN,EAAA,OAAAC,IAAA,2CAAKC,MAAM,oBAAoBrB,KAAKwB,OAC/EL,EAAA,QAAAC,IAAA,2CAAMM,IAAK1B,KAAKG,gB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["radioButtonCss","IfxRadioButtonStyle0","RadioButton","constructor","hostRef","this","disabled","error","size","internalChecked","hasSlot","componentWillLoad","fallbackInput","document","createElement","type","hidden","className","style","cssText","setAttribute","tabIndex","el","appendChild","HTMLElement","prototype","internals","attachInternals","e","console","warn","checked","querySelector","innerHTML","trim","componentDidLoad","isNestedInIfxComponent","framework","detectFramework","trackComponent","handleCheckedChange","newValue","updateFormValue","_a","setFormValue","value","name","errorChanged","oldValue","ifxError","emit","handleRadioButtonClick","event","stopPropagation","inputElement","click","ifxChange","changeEvent","CustomEvent","bubbles","composed","detail","dispatchEvent","handleKeyDown","ev","includes","key","preventDefault","PointerEvent","handleExternalChange","target","tagName","toLowerCase","getAttribute","render","h","role","String","class","onClick","tabindex","ref"],"sources":["src/components/radio-button/radio-button.scss?tag=ifx-radio-button&encapsulation=shadow","src/components/radio-button/radio-button.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n --_ifx-fallback-display: none !important;\n}\n\n._ifx-radiobutton-fallback {\n display: var(--_ifx-fallback-display);\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0,0,0,0) !important;\n border: 0 !important;\n }\n\n.radioButton__container {\n box-sizing: border-box;\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n padding: 0px;\n gap: tokens.$ifxSpace100;\n cursor: pointer;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n &.m .radioButton__wrapper {\n width: tokens.$ifxSize300;\n height: tokens.$ifxSize300;\n }\n\n .radioButton__wrapper {\n width: tokens.$ifxSize250;\n height: tokens.$ifxSize250;\n position: relative;\n display: block;\n border-radius: 50%;\n background-color: tokens.$ifxColorBaseWhite;\n border: 1px solid #575352;\n\n &:focus {\n outline: none;\n\n &::before {\n content: '';\n position: absolute;\n width: calc(100% + 4px);\n height: calc(100% + 4px);\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n border: 2px solid tokens.$ifxColorOcean500;\n border-radius: 50%;\n }\n }\n\n .radioButton__wrapper-mark {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #0A8276;\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n border-color: tokens.$ifxColorBaseTransparent;\n }\n\n &:hover {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &.disabled {\n background-color: #BFBBBB;\n border-color: #BFBBBB;\n\n &.error {\n\n &:hover,\n &:focus-visible {\n border-color: #CD002F;\n }\n }\n }\n\n &.checked {\n border-color: #0A8276;\n\n &::after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 10px;\n height: 10px;\n background-color: #0A8276;\n border-radius: 50%;\n }\n\n &.disabled::after {\n background-color: #BFBBBB;\n }\n\n\n &:hover {\n border-color: tokens.$ifxColorOcean600;\n\n & .radioButton__wrapper-mark {\n background-color: tokens.$ifxColorOcean600;\n }\n }\n\n &.disabled {\n background-color: tokens.$ifxColorBaseWhite;\n border-color: #BFBBBB;\n\n &.disabled::after {\n background-color: #BFBBBB;\n }\n\n & .radioButton__wrapper-mark {\n background-color: #BFBBBB;\n }\n }\n &.error::after {\n border-color: #CD002F;\n background-color: #CD002F;\n }\n }\n\n &.error:not(.disabled) {\n border-color: #CD002F;\n\n &:hover,\n &:focus-visible {\n border-color: #CD002F;\n }\n }\n }\n\n .label {\n display: flex;\n align-items: center;\n height: tokens.$ifxSize250;\n font-style: normal;\n font-weight: 400;\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n color: tokens.$ifxColorBaseBlack;\n flex: none;\n order: 1;\n flex-grow: 0;\n\n &.label-m {\n height: tokens.$ifxSize300;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n }\n\n &.disabled {\n color: #BFBBBB;\n }\n\n\n\n &:hover {\n cursor: pointer;\n }\n }\n}\n\n","import { Component, h, Prop, Element, State, Event, EventEmitter, 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-radio-button',\n styleUrl: 'radio-button.scss',\n shadow: true,\n formAssociated: true\n})\nexport class RadioButton {\n @Element() el: HTMLElement;\n @Prop() disabled: boolean = false;\n @Prop() value: string;\n @Prop() error: boolean = false;\n @Prop({ reflect: true }) size: \"s\" | \"m\" = \"s\";\n @Prop({ reflect: true }) name: string;\n @Prop({ mutable: true }) checked: boolean;\n @State() internalChecked: boolean = false;\n @State() hasSlot: boolean = false;\n\n private inputElement: HTMLInputElement;\n private internals: ElementInternals;\n private fallbackInput: HTMLInputElement;\n\n @Event({ eventName: 'ifxChange' }) ifxChange: EventEmitter;\n @Event({ eventName: 'ifxError' }) ifxError: EventEmitter;\n\n componentWillLoad() {\n // Fallback for form association\n this.fallbackInput = document.createElement('input');\n this.fallbackInput.type = 'radio';\n this.fallbackInput.hidden = true;\n this.fallbackInput.className = '_ifx-radiobutton-fallback';\n this.fallbackInput.style.cssText = `\n display: none !important;\n position: absolute !important;\n opacity: 0 !important;\n pointer-events: none !important;\n width: 0 !important;\n height: 0 !important;\n `;\n this.fallbackInput.setAttribute('aria-hidden', 'true');\n this.fallbackInput.tabIndex = -1;\n this.el.appendChild(this.fallbackInput);\n\n // Initialize ElementInternals if supported\n if ('attachInternals' in HTMLElement.prototype) {\n try {\n this.internals = this.el.attachInternals();\n } catch (e) {\n console.warn('ElementInternals not supported');\n }\n }\n\n // Initial state\n this.internalChecked = this.checked || false;\n this.hasSlot = !!this.el.querySelector('[slot]') || this.el.innerHTML.trim() !== '';\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-radio-button', await framework)\n }\n }\n\n @Watch('checked')\n handleCheckedChange(newValue: boolean) {\n this.internalChecked = newValue;\n }\n\n @Watch('internalChecked')\n updateFormValue() {\n // Update both ElementInternals and fallback input\n if (this.internals?.setFormValue) {\n this.internals.setFormValue(this.internalChecked ? this.value : null);\n }\n this.fallbackInput.checked = this.internalChecked;\n this.fallbackInput.name = this.name;\n this.fallbackInput.value = this.value;\n this.fallbackInput.disabled = this.disabled;\n }\n\n @Watch('error')\n errorChanged(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue) {\n this.ifxError.emit(newValue);\n }\n }\n\n handleRadioButtonClick(event: Event) {\n if (this.disabled) {\n event.stopPropagation();\n return;\n }\n\n this.inputElement.click();\n this.internalChecked = this.inputElement.checked;\n this.checked = this.internalChecked;\n this.ifxChange.emit(this.internalChecked);\n\n const changeEvent = new CustomEvent('change', {\n bubbles: true,\n composed: true,\n detail: { checked: this.internalChecked }\n });\n this.el.dispatchEvent(changeEvent);\n }\n\n @Listen('keydown')\n handleKeyDown(ev: KeyboardEvent) {\n if ([' ', 'Enter'].includes(ev.key)) {\n ev.preventDefault();\n this.handleRadioButtonClick(new PointerEvent('click'));\n }\n }\n\n @Listen('change', { target: 'document' })\n handleExternalChange(event: Event) {\n const target = event.target as HTMLElement;\n if (target === this.el || target.tagName.toLowerCase() !== 'ifx-radio-button') return;\n \n if (target.getAttribute('name') === this.name) {\n this.internalChecked = false;\n }\n }\n\n render() {\n return (\n <div\n role=\"radio\"\n aria-checked={String(this.internalChecked)}\n aria-disabled={String(this.disabled)}\n class={`radioButton__container ${this.size} ${this.disabled ? 'disabled' : ''}`}\n onClick={(e) => this.handleRadioButtonClick(e)}\n tabindex={this.disabled ? -1 : 0}\n >\n <div\n class={`radioButton__wrapper \n ${this.internalChecked ? 'checked' : ''} \n ${this.disabled ? 'disabled' : ''} \n ${this.error ? 'error' : ''}`}\n >\n {this.internalChecked && <div class=\"radioButton__wrapper-mark\"></div>}\n </div>\n\n {this.hasSlot && (\n <div class={`label ${this.size === \"m\" ? \"label-m\" : \"\"} ${this.disabled ? 'disabled' : ''}`}>\n <slot />\n </div>\n )}\n\n <input\n type=\"radio\"\n hidden\n ref={el => this.inputElement = el}\n name={this.name}\n value={this.value}\n checked={this.internalChecked}\n disabled={this.disabled}\n onClick={(e) => e.stopPropagation()}\n />\n </div>\n );\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- export declare const waitForDOMReady: () => Promise<void>;