@infineon/infineon-design-system-stencil 35.4.3--canary.1904.5a44a0d8adfddd7b335befcf9a46cca6dc9a338d.0 → 35.4.3--canary.1941.c9a5e850bd5cf754cf4864a37f2bcf38ec080efe.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 (628) hide show
  1. package/dist/cjs/{icons-2cd72a7d.js → icons-0d4d096d.js} +1 -4
  2. package/dist/cjs/icons-0d4d096d.js.map +1 -0
  3. package/dist/cjs/ifx-accordion_2.cjs.entry.js +1 -8
  4. package/dist/cjs/ifx-accordion_2.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ifx-alert_2.cjs.entry.js +0 -6
  6. package/dist/cjs/ifx-alert_2.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ifx-badge.cjs.entry.js +1 -9
  8. package/dist/cjs/ifx-badge.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ifx-basic-table.cjs.entry.js +1 -6
  10. package/dist/cjs/ifx-basic-table.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ifx-breadcrumb.cjs.entry.js +1 -8
  12. package/dist/cjs/ifx-breadcrumb.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ifx-button.cjs.entry.js +1 -6
  14. package/dist/cjs/ifx-button.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ifx-card.cjs.entry.js +3 -8
  16. package/dist/cjs/ifx-card.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ifx-checkbox-group.cjs.entry.js +1 -6
  18. package/dist/cjs/ifx-checkbox-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ifx-checkbox.cjs.entry.js +3 -8
  20. package/dist/cjs/ifx-checkbox.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ifx-chip_3.cjs.entry.js +9 -17
  22. package/dist/cjs/ifx-chip_3.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ifx-content-switcher.cjs.entry.js +1 -6
  24. package/dist/cjs/ifx-content-switcher.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ifx-date-picker.cjs.entry.js +2 -9
  26. package/dist/cjs/ifx-date-picker.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ifx-dropdown.cjs.entry.js +1 -6
  28. package/dist/cjs/ifx-dropdown.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ifx-file-upload.cjs.entry.js +2 -9
  30. package/dist/cjs/ifx-file-upload.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ifx-footer.cjs.entry.js +4 -9
  32. package/dist/cjs/ifx-footer.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ifx-icon-button.cjs.entry.js +1 -6
  34. package/dist/cjs/ifx-icon-button.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ifx-icon.cjs.entry.js +2 -32
  36. package/dist/cjs/ifx-icon.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ifx-icons-preview.cjs.entry.js +1 -1
  38. package/dist/cjs/ifx-indicator.cjs.entry.js +2 -7
  39. package/dist/cjs/ifx-indicator.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ifx-link.cjs.entry.js +1 -9
  41. package/dist/cjs/ifx-link.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ifx-modal.cjs.entry.js +2 -9
  43. package/dist/cjs/ifx-modal.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ifx-multiselect.cjs.entry.js +0 -5
  45. package/dist/cjs/ifx-multiselect.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ifx-navbar.cjs.entry.js +3 -5
  47. package/dist/cjs/ifx-navbar.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ifx-notification.cjs.entry.js +2 -10
  49. package/dist/cjs/ifx-notification.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ifx-progress-bar.cjs.entry.js +1 -7
  51. package/dist/cjs/ifx-progress-bar.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ifx-radio-button-group.cjs.entry.js +1 -6
  53. package/dist/cjs/ifx-radio-button-group.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ifx-radio-button.cjs.entry.js +2 -7
  55. package/dist/cjs/ifx-radio-button.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ifx-search-bar.cjs.entry.js +1 -6
  57. package/dist/cjs/ifx-search-bar.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ifx-search-field.cjs.entry.js +1 -9
  59. package/dist/cjs/ifx-search-field.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ifx-segmented-control.cjs.entry.js +2 -9
  61. package/dist/cjs/ifx-segmented-control.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ifx-select.cjs.entry.js +2 -7
  63. package/dist/cjs/ifx-select.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ifx-sidebar.cjs.entry.js +5 -7
  65. package/dist/cjs/ifx-sidebar.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ifx-slider.cjs.entry.js +2 -7
  67. package/dist/cjs/ifx-slider.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ifx-spinner_2.cjs.entry.js +6 -17
  69. package/dist/cjs/ifx-spinner_2.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ifx-status.cjs.entry.js +1 -9
  71. package/dist/cjs/ifx-status.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ifx-stepper.cjs.entry.js +2 -7
  73. package/dist/cjs/ifx-stepper.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ifx-switch.cjs.entry.js +1 -6
  75. package/dist/cjs/ifx-switch.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ifx-table.cjs.entry.js +2 -7
  77. package/dist/cjs/ifx-table.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ifx-tabs.cjs.entry.js +2 -7
  79. package/dist/cjs/ifx-tabs.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ifx-tag.cjs.entry.js +1 -9
  81. package/dist/cjs/ifx-tag.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ifx-textarea.cjs.entry.js +1 -6
  83. package/dist/cjs/ifx-textarea.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ifx-tooltip.cjs.entry.js +4 -9
  85. package/dist/cjs/ifx-tooltip.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ifx-tree-view.cjs.entry.js +1 -9
  87. package/dist/cjs/ifx-tree-view.cjs.entry.js.map +1 -1
  88. package/dist/collection/components/accordion/accordion.js +2 -8
  89. package/dist/collection/components/accordion/accordion.js.map +1 -1
  90. package/dist/collection/components/alert/alert.js +0 -6
  91. package/dist/collection/components/alert/alert.js.map +1 -1
  92. package/dist/collection/components/badge/badge.js +1 -9
  93. package/dist/collection/components/badge/badge.js.map +1 -1
  94. package/dist/collection/components/breadcrumb/breadcrumb.js +1 -8
  95. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  96. package/dist/collection/components/button/button.js +1 -6
  97. package/dist/collection/components/button/button.js.map +1 -1
  98. package/dist/collection/components/card/card.js +3 -8
  99. package/dist/collection/components/card/card.js.map +1 -1
  100. package/dist/collection/components/checkbox/checkbox.js +3 -8
  101. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  102. package/dist/collection/components/checkbox-group/checkbox-group.js +1 -6
  103. package/dist/collection/components/checkbox-group/checkbox-group.js.map +1 -1
  104. package/dist/collection/components/chip/chip.js +8 -13
  105. package/dist/collection/components/chip/chip.js.map +1 -1
  106. package/dist/collection/components/content-switcher/content-switcher.js +1 -6
  107. package/dist/collection/components/content-switcher/content-switcher.js.map +1 -1
  108. package/dist/collection/components/date-picker/date-picker.js +2 -9
  109. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  110. package/dist/collection/components/dropdown/dropdown.js +1 -6
  111. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  112. package/dist/collection/components/file-upload/file-upload.js +2 -9
  113. package/dist/collection/components/file-upload/file-upload.js.map +1 -1
  114. package/dist/collection/components/footer/footer.js +4 -9
  115. package/dist/collection/components/footer/footer.js.map +1 -1
  116. package/dist/collection/components/icon/infineonIconStencil.js +1 -31
  117. package/dist/collection/components/icon/infineonIconStencil.js.map +1 -1
  118. package/dist/collection/components/icon-button/icon-button.js +1 -6
  119. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  120. package/dist/collection/components/indicator/indicator.js +2 -7
  121. package/dist/collection/components/indicator/indicator.js.map +1 -1
  122. package/dist/collection/components/link/link.js +1 -9
  123. package/dist/collection/components/link/link.js.map +1 -1
  124. package/dist/collection/components/modal/modal.js +2 -9
  125. package/dist/collection/components/modal/modal.js.map +1 -1
  126. package/dist/collection/components/navigation/navbar/navbar.js +3 -5
  127. package/dist/collection/components/navigation/navbar/navbar.js.map +1 -1
  128. package/dist/collection/components/navigation/sidebar/sidebar.js +5 -7
  129. package/dist/collection/components/navigation/sidebar/sidebar.js.map +1 -1
  130. package/dist/collection/components/notification/notification.js +2 -10
  131. package/dist/collection/components/notification/notification.js.map +1 -1
  132. package/dist/collection/components/pagination/pagination.js +1 -6
  133. package/dist/collection/components/pagination/pagination.js.map +1 -1
  134. package/dist/collection/components/progress-bar/progress-bar.js +1 -7
  135. package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
  136. package/dist/collection/components/radio-button/radio-button.js +2 -7
  137. package/dist/collection/components/radio-button/radio-button.js.map +1 -1
  138. package/dist/collection/components/radio-button-group/radio-button-group.js +1 -6
  139. package/dist/collection/components/radio-button-group/radio-button-group.js.map +1 -1
  140. package/dist/collection/components/search-bar/search-bar.js +1 -6
  141. package/dist/collection/components/search-bar/search-bar.js.map +1 -1
  142. package/dist/collection/components/search-field/search-field.js +1 -9
  143. package/dist/collection/components/search-field/search-field.js.map +1 -1
  144. package/dist/collection/components/segmented-control/segmented-control.js +2 -9
  145. package/dist/collection/components/segmented-control/segmented-control.js.map +1 -1
  146. package/dist/collection/components/select/multi-select/multiselect.js +0 -5
  147. package/dist/collection/components/select/multi-select/multiselect.js.map +1 -1
  148. package/dist/collection/components/select/single-select/select.js +2 -7
  149. package/dist/collection/components/select/single-select/select.js.map +1 -1
  150. package/dist/collection/components/slider/slider.js +2 -7
  151. package/dist/collection/components/slider/slider.js.map +1 -1
  152. package/dist/collection/components/spinner/spinner.js +2 -10
  153. package/dist/collection/components/spinner/spinner.js.map +1 -1
  154. package/dist/collection/components/status/status.js +1 -9
  155. package/dist/collection/components/status/status.js.map +1 -1
  156. package/dist/collection/components/stepper/stepper.js +2 -7
  157. package/dist/collection/components/stepper/stepper.js.map +1 -1
  158. package/dist/collection/components/switch/switch.js +1 -6
  159. package/dist/collection/components/switch/switch.js.map +1 -1
  160. package/dist/collection/components/table-advanced-version/table.js +2 -7
  161. package/dist/collection/components/table-advanced-version/table.js.map +1 -1
  162. package/dist/collection/components/table-basic-version/table.js +1 -6
  163. package/dist/collection/components/table-basic-version/table.js.map +1 -1
  164. package/dist/collection/components/tabs/tabs.js +3 -7
  165. package/dist/collection/components/tabs/tabs.js.map +1 -1
  166. package/dist/collection/components/tag/tag.js +1 -9
  167. package/dist/collection/components/tag/tag.js.map +1 -1
  168. package/dist/collection/components/text-field/text-field.js +4 -9
  169. package/dist/collection/components/text-field/text-field.js.map +1 -1
  170. package/dist/collection/components/textarea/textarea.js +1 -6
  171. package/dist/collection/components/textarea/textarea.js.map +1 -1
  172. package/dist/collection/components/tooltip/tooltip.js +4 -9
  173. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  174. package/dist/collection/components/tree-view/tree-view.js +1 -9
  175. package/dist/collection/components/tree-view/tree-view.js.map +1 -1
  176. package/dist/components/ifx-accordion-item.js +1 -1
  177. package/dist/components/ifx-accordion.js +1 -1
  178. package/dist/components/ifx-alert.js +1 -1
  179. package/dist/components/ifx-badge.js +1 -9
  180. package/dist/components/ifx-badge.js.map +1 -1
  181. package/dist/components/ifx-basic-table.js +1 -6
  182. package/dist/components/ifx-basic-table.js.map +1 -1
  183. package/dist/components/ifx-breadcrumb-item-label.js +1 -1
  184. package/dist/components/ifx-breadcrumb.js +1 -8
  185. package/dist/components/ifx-breadcrumb.js.map +1 -1
  186. package/dist/components/ifx-button.js +1 -1
  187. package/dist/components/ifx-card.js +3 -8
  188. package/dist/components/ifx-card.js.map +1 -1
  189. package/dist/components/ifx-checkbox-group.js +2 -7
  190. package/dist/components/ifx-checkbox-group.js.map +1 -1
  191. package/dist/components/ifx-checkbox.js +1 -1
  192. package/dist/components/ifx-chip-item.js +1 -1
  193. package/dist/components/ifx-chip.js +1 -1
  194. package/dist/components/ifx-content-switcher.js +1 -6
  195. package/dist/components/ifx-content-switcher.js.map +1 -1
  196. package/dist/components/ifx-date-picker.js +3 -10
  197. package/dist/components/ifx-date-picker.js.map +1 -1
  198. package/dist/components/ifx-download.js +1 -1
  199. package/dist/components/ifx-dropdown-item.js +1 -1
  200. package/dist/components/ifx-dropdown-trigger-button.js +2 -2
  201. package/dist/components/ifx-dropdown.js +1 -6
  202. package/dist/components/ifx-dropdown.js.map +1 -1
  203. package/dist/components/ifx-faq.js +3 -3
  204. package/dist/components/ifx-file-upload.js +6 -13
  205. package/dist/components/ifx-file-upload.js.map +1 -1
  206. package/dist/components/ifx-filter-accordion.js +2 -2
  207. package/dist/components/ifx-filter-bar.js +2 -2
  208. package/dist/components/ifx-filter-search.js +2 -2
  209. package/dist/components/ifx-footer.js +4 -9
  210. package/dist/components/ifx-footer.js.map +1 -1
  211. package/dist/components/ifx-icon-button.js +1 -1
  212. package/dist/components/ifx-icon.js +1 -1
  213. package/dist/components/ifx-icons-preview.js +4 -4
  214. package/dist/components/ifx-indicator.js +1 -1
  215. package/dist/components/ifx-link.js +1 -1
  216. package/dist/components/ifx-list-entry.js +3 -3
  217. package/dist/components/ifx-list.js +2 -2
  218. package/dist/components/ifx-modal.js +4 -11
  219. package/dist/components/ifx-modal.js.map +1 -1
  220. package/dist/components/ifx-multiselect.js +1 -1
  221. package/dist/components/ifx-navbar-item.js +2 -2
  222. package/dist/components/ifx-navbar.js +4 -6
  223. package/dist/components/ifx-navbar.js.map +1 -1
  224. package/dist/components/ifx-notification.js +1 -1
  225. package/dist/components/ifx-overview-table.js +3 -3
  226. package/dist/components/ifx-pagination.js +1 -1
  227. package/dist/components/ifx-progress-bar.js +1 -1
  228. package/dist/components/ifx-radio-button-group.js +2 -7
  229. package/dist/components/ifx-radio-button-group.js.map +1 -1
  230. package/dist/components/ifx-radio-button.js +1 -1
  231. package/dist/components/ifx-search-bar.js +3 -8
  232. package/dist/components/ifx-search-bar.js.map +1 -1
  233. package/dist/components/ifx-search-field.js +1 -1
  234. package/dist/components/ifx-segment.js +1 -1
  235. package/dist/components/ifx-segmented-control.js +3 -10
  236. package/dist/components/ifx-segmented-control.js.map +1 -1
  237. package/dist/components/ifx-select.js +1 -1
  238. package/dist/components/ifx-set-filter.js +5 -5
  239. package/dist/components/ifx-sidebar-item.js +2 -2
  240. package/dist/components/ifx-sidebar.js +5 -7
  241. package/dist/components/ifx-sidebar.js.map +1 -1
  242. package/dist/components/ifx-slider.js +3 -8
  243. package/dist/components/ifx-slider.js.map +1 -1
  244. package/dist/components/ifx-spinner.js +1 -1
  245. package/dist/components/ifx-status.js +1 -9
  246. package/dist/components/ifx-status.js.map +1 -1
  247. package/dist/components/ifx-step.js +1 -1
  248. package/dist/components/ifx-stepper.js +2 -7
  249. package/dist/components/ifx-stepper.js.map +1 -1
  250. package/dist/components/ifx-switch.js +1 -6
  251. package/dist/components/ifx-switch.js.map +1 -1
  252. package/dist/components/ifx-table.js +11 -16
  253. package/dist/components/ifx-table.js.map +1 -1
  254. package/dist/components/ifx-tabs.js +3 -8
  255. package/dist/components/ifx-tabs.js.map +1 -1
  256. package/dist/components/ifx-tag.js +2 -10
  257. package/dist/components/ifx-tag.js.map +1 -1
  258. package/dist/components/ifx-template.js +1 -1
  259. package/dist/components/ifx-templates-ui.js +8 -8
  260. package/dist/components/ifx-text-field.js +1 -1
  261. package/dist/components/ifx-textarea.js +1 -6
  262. package/dist/components/ifx-textarea.js.map +1 -1
  263. package/dist/components/ifx-tooltip.js +5 -10
  264. package/dist/components/ifx-tooltip.js.map +1 -1
  265. package/dist/components/ifx-tree-view-item.js +2 -2
  266. package/dist/components/ifx-tree-view.js +1 -9
  267. package/dist/components/ifx-tree-view.js.map +1 -1
  268. package/dist/components/{p-0d6ca0f6.js → p-0c449780.js} +3 -8
  269. package/dist/components/p-0c449780.js.map +1 -0
  270. package/dist/components/{p-816b2612.js → p-17df0350.js} +2 -7
  271. package/dist/components/p-17df0350.js.map +1 -0
  272. package/dist/components/{p-13126216.js → p-186dacc8.js} +5 -10
  273. package/dist/components/p-186dacc8.js.map +1 -0
  274. package/dist/components/{p-13578a85.js → p-2a65d85a.js} +6 -6
  275. package/dist/components/{p-13578a85.js.map → p-2a65d85a.js.map} +1 -1
  276. package/dist/components/{p-54b39a91.js → p-357107c5.js} +3 -8
  277. package/dist/components/p-357107c5.js.map +1 -0
  278. package/dist/components/{p-465d3172.js → p-38396fe7.js} +3 -11
  279. package/dist/components/p-38396fe7.js.map +1 -0
  280. package/dist/components/{p-9ea9e274.js → p-53d4339c.js} +2 -10
  281. package/dist/components/p-53d4339c.js.map +1 -0
  282. package/dist/components/{p-6d95b3c1.js → p-5e9d3450.js} +2 -8
  283. package/dist/components/p-5e9d3450.js.map +1 -0
  284. package/dist/components/{p-24382260.js → p-67573b5f.js} +6 -11
  285. package/dist/components/p-67573b5f.js.map +1 -0
  286. package/dist/components/{p-8cb991f4.js → p-6d12f845.js} +5 -13
  287. package/dist/components/p-6d12f845.js.map +1 -0
  288. package/dist/components/{p-94da6823.js → p-9142f93b.js} +3 -8
  289. package/dist/components/p-9142f93b.js.map +1 -0
  290. package/dist/components/{p-e126ea6f.js → p-a4922416.js} +3 -11
  291. package/dist/components/p-a4922416.js.map +1 -0
  292. package/dist/components/{p-0905733d.js → p-a8d0ef73.js} +11 -16
  293. package/dist/components/p-a8d0ef73.js.map +1 -0
  294. package/dist/components/{p-830057b3.js → p-b0039ef1.js} +2 -8
  295. package/dist/components/p-b0039ef1.js.map +1 -0
  296. package/dist/components/{p-4fc475c9.js → p-bb4de57d.js} +2 -35
  297. package/dist/components/p-bb4de57d.js.map +1 -0
  298. package/dist/components/{p-1ad917f9.js → p-c9aec5fa.js} +4 -9
  299. package/dist/components/p-c9aec5fa.js.map +1 -0
  300. package/dist/components/{p-cf109552.js → p-cc5bd74b.js} +5 -10
  301. package/dist/components/p-cc5bd74b.js.map +1 -0
  302. package/dist/components/{p-347a1b14.js → p-cd833a9b.js} +3 -8
  303. package/dist/components/p-cd833a9b.js.map +1 -0
  304. package/dist/components/{p-ee0f87ac.js → p-cd913238.js} +3 -3
  305. package/dist/components/{p-ee0f87ac.js.map → p-cd913238.js.map} +1 -1
  306. package/dist/components/{p-fe90e932.js → p-d1790232.js} +2 -2
  307. package/dist/components/{p-fe90e932.js.map → p-d1790232.js.map} +1 -1
  308. package/dist/components/{p-cca71d97.js → p-ed739e86.js} +2 -9
  309. package/dist/components/p-ed739e86.js.map +1 -0
  310. package/dist/esm/{icons-75858876.js → icons-788fe290.js} +1 -4
  311. package/dist/esm/icons-788fe290.js.map +1 -0
  312. package/dist/esm/ifx-accordion_2.entry.js +1 -8
  313. package/dist/esm/ifx-accordion_2.entry.js.map +1 -1
  314. package/dist/esm/ifx-alert_2.entry.js +0 -6
  315. package/dist/esm/ifx-alert_2.entry.js.map +1 -1
  316. package/dist/esm/ifx-badge.entry.js +2 -10
  317. package/dist/esm/ifx-badge.entry.js.map +1 -1
  318. package/dist/esm/ifx-basic-table.entry.js +1 -6
  319. package/dist/esm/ifx-basic-table.entry.js.map +1 -1
  320. package/dist/esm/ifx-breadcrumb.entry.js +1 -8
  321. package/dist/esm/ifx-breadcrumb.entry.js.map +1 -1
  322. package/dist/esm/ifx-button.entry.js +1 -6
  323. package/dist/esm/ifx-button.entry.js.map +1 -1
  324. package/dist/esm/ifx-card.entry.js +3 -8
  325. package/dist/esm/ifx-card.entry.js.map +1 -1
  326. package/dist/esm/ifx-checkbox-group.entry.js +1 -6
  327. package/dist/esm/ifx-checkbox-group.entry.js.map +1 -1
  328. package/dist/esm/ifx-checkbox.entry.js +3 -8
  329. package/dist/esm/ifx-checkbox.entry.js.map +1 -1
  330. package/dist/esm/ifx-chip_3.entry.js +9 -17
  331. package/dist/esm/ifx-chip_3.entry.js.map +1 -1
  332. package/dist/esm/ifx-content-switcher.entry.js +1 -6
  333. package/dist/esm/ifx-content-switcher.entry.js.map +1 -1
  334. package/dist/esm/ifx-date-picker.entry.js +2 -9
  335. package/dist/esm/ifx-date-picker.entry.js.map +1 -1
  336. package/dist/esm/ifx-dropdown.entry.js +1 -6
  337. package/dist/esm/ifx-dropdown.entry.js.map +1 -1
  338. package/dist/esm/ifx-file-upload.entry.js +2 -9
  339. package/dist/esm/ifx-file-upload.entry.js.map +1 -1
  340. package/dist/esm/ifx-footer.entry.js +4 -9
  341. package/dist/esm/ifx-footer.entry.js.map +1 -1
  342. package/dist/esm/ifx-icon-button.entry.js +1 -6
  343. package/dist/esm/ifx-icon-button.entry.js.map +1 -1
  344. package/dist/esm/ifx-icon.entry.js +3 -33
  345. package/dist/esm/ifx-icon.entry.js.map +1 -1
  346. package/dist/esm/ifx-icons-preview.entry.js +1 -1
  347. package/dist/esm/ifx-indicator.entry.js +2 -7
  348. package/dist/esm/ifx-indicator.entry.js.map +1 -1
  349. package/dist/esm/ifx-link.entry.js +2 -10
  350. package/dist/esm/ifx-link.entry.js.map +1 -1
  351. package/dist/esm/ifx-modal.entry.js +2 -9
  352. package/dist/esm/ifx-modal.entry.js.map +1 -1
  353. package/dist/esm/ifx-multiselect.entry.js +0 -5
  354. package/dist/esm/ifx-multiselect.entry.js.map +1 -1
  355. package/dist/esm/ifx-navbar.entry.js +3 -5
  356. package/dist/esm/ifx-navbar.entry.js.map +1 -1
  357. package/dist/esm/ifx-notification.entry.js +3 -11
  358. package/dist/esm/ifx-notification.entry.js.map +1 -1
  359. package/dist/esm/ifx-progress-bar.entry.js +2 -8
  360. package/dist/esm/ifx-progress-bar.entry.js.map +1 -1
  361. package/dist/esm/ifx-radio-button-group.entry.js +1 -6
  362. package/dist/esm/ifx-radio-button-group.entry.js.map +1 -1
  363. package/dist/esm/ifx-radio-button.entry.js +2 -7
  364. package/dist/esm/ifx-radio-button.entry.js.map +1 -1
  365. package/dist/esm/ifx-search-bar.entry.js +1 -6
  366. package/dist/esm/ifx-search-bar.entry.js.map +1 -1
  367. package/dist/esm/ifx-search-field.entry.js +2 -10
  368. package/dist/esm/ifx-search-field.entry.js.map +1 -1
  369. package/dist/esm/ifx-segmented-control.entry.js +2 -9
  370. package/dist/esm/ifx-segmented-control.entry.js.map +1 -1
  371. package/dist/esm/ifx-select.entry.js +2 -7
  372. package/dist/esm/ifx-select.entry.js.map +1 -1
  373. package/dist/esm/ifx-sidebar.entry.js +5 -7
  374. package/dist/esm/ifx-sidebar.entry.js.map +1 -1
  375. package/dist/esm/ifx-slider.entry.js +2 -7
  376. package/dist/esm/ifx-slider.entry.js.map +1 -1
  377. package/dist/esm/ifx-spinner_2.entry.js +7 -18
  378. package/dist/esm/ifx-spinner_2.entry.js.map +1 -1
  379. package/dist/esm/ifx-status.entry.js +2 -10
  380. package/dist/esm/ifx-status.entry.js.map +1 -1
  381. package/dist/esm/ifx-stepper.entry.js +2 -7
  382. package/dist/esm/ifx-stepper.entry.js.map +1 -1
  383. package/dist/esm/ifx-switch.entry.js +1 -6
  384. package/dist/esm/ifx-switch.entry.js.map +1 -1
  385. package/dist/esm/ifx-table.entry.js +2 -7
  386. package/dist/esm/ifx-table.entry.js.map +1 -1
  387. package/dist/esm/ifx-tabs.entry.js +2 -7
  388. package/dist/esm/ifx-tabs.entry.js.map +1 -1
  389. package/dist/esm/ifx-tag.entry.js +2 -10
  390. package/dist/esm/ifx-tag.entry.js.map +1 -1
  391. package/dist/esm/ifx-textarea.entry.js +1 -6
  392. package/dist/esm/ifx-textarea.entry.js.map +1 -1
  393. package/dist/esm/ifx-tooltip.entry.js +4 -9
  394. package/dist/esm/ifx-tooltip.entry.js.map +1 -1
  395. package/dist/esm/ifx-tree-view.entry.js +2 -10
  396. package/dist/esm/ifx-tree-view.entry.js.map +1 -1
  397. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  398. package/dist/infineon-design-system-stencil/p-061bfdb1.entry.js +2 -0
  399. package/dist/infineon-design-system-stencil/p-061bfdb1.entry.js.map +1 -0
  400. package/dist/infineon-design-system-stencil/p-06bfabcf.entry.js +2 -0
  401. package/dist/infineon-design-system-stencil/p-06bfabcf.entry.js.map +1 -0
  402. package/dist/infineon-design-system-stencil/{p-76914839.entry.js → p-0d3e5a0d.entry.js} +2 -2
  403. package/dist/infineon-design-system-stencil/p-0d3e5a0d.entry.js.map +1 -0
  404. package/dist/infineon-design-system-stencil/p-1048ee19.entry.js +2 -0
  405. package/dist/infineon-design-system-stencil/p-1048ee19.entry.js.map +1 -0
  406. package/dist/infineon-design-system-stencil/p-142878ee.entry.js +2 -0
  407. package/dist/infineon-design-system-stencil/p-142878ee.entry.js.map +1 -0
  408. package/dist/infineon-design-system-stencil/p-17f3f2f5.entry.js +2 -0
  409. package/dist/infineon-design-system-stencil/p-17f3f2f5.entry.js.map +1 -0
  410. package/dist/infineon-design-system-stencil/p-2006c7a0.entry.js +2 -0
  411. package/dist/infineon-design-system-stencil/p-2006c7a0.entry.js.map +1 -0
  412. package/dist/infineon-design-system-stencil/{p-4d96fed0.js → p-27d2afb4.js} +2 -2
  413. package/dist/infineon-design-system-stencil/p-27d2afb4.js.map +1 -0
  414. package/dist/infineon-design-system-stencil/p-292cff35.entry.js +2 -0
  415. package/dist/infineon-design-system-stencil/p-292cff35.entry.js.map +1 -0
  416. package/dist/infineon-design-system-stencil/p-2d89c5e0.entry.js +2 -0
  417. package/dist/infineon-design-system-stencil/p-2d89c5e0.entry.js.map +1 -0
  418. package/dist/infineon-design-system-stencil/p-33a4fd0a.entry.js +2 -0
  419. package/dist/infineon-design-system-stencil/p-33a4fd0a.entry.js.map +1 -0
  420. package/dist/infineon-design-system-stencil/p-37d6c639.entry.js +2 -0
  421. package/dist/infineon-design-system-stencil/p-37d6c639.entry.js.map +1 -0
  422. package/dist/infineon-design-system-stencil/p-3d23deba.entry.js +2 -0
  423. package/dist/infineon-design-system-stencil/p-3d23deba.entry.js.map +1 -0
  424. package/dist/infineon-design-system-stencil/p-3ff96710.entry.js +2 -0
  425. package/dist/infineon-design-system-stencil/p-3ff96710.entry.js.map +1 -0
  426. package/dist/infineon-design-system-stencil/p-47a3e831.entry.js +2 -0
  427. package/dist/infineon-design-system-stencil/p-47a3e831.entry.js.map +1 -0
  428. package/dist/infineon-design-system-stencil/p-487d2155.entry.js +2 -0
  429. package/dist/infineon-design-system-stencil/p-487d2155.entry.js.map +1 -0
  430. package/dist/infineon-design-system-stencil/p-49252616.entry.js +2 -0
  431. package/dist/infineon-design-system-stencil/p-49252616.entry.js.map +1 -0
  432. package/dist/infineon-design-system-stencil/p-5b5c144f.entry.js +2 -0
  433. package/dist/infineon-design-system-stencil/p-5b5c144f.entry.js.map +1 -0
  434. package/dist/infineon-design-system-stencil/p-65fe2246.entry.js +2 -0
  435. package/dist/infineon-design-system-stencil/p-65fe2246.entry.js.map +1 -0
  436. package/dist/infineon-design-system-stencil/p-676fb63a.entry.js +2 -0
  437. package/dist/infineon-design-system-stencil/p-676fb63a.entry.js.map +1 -0
  438. package/dist/infineon-design-system-stencil/p-6790d912.entry.js +2 -0
  439. package/dist/infineon-design-system-stencil/p-6790d912.entry.js.map +1 -0
  440. package/dist/infineon-design-system-stencil/p-6bdca580.entry.js +2 -0
  441. package/dist/infineon-design-system-stencil/p-6bdca580.entry.js.map +1 -0
  442. package/dist/infineon-design-system-stencil/p-702a48f8.entry.js +2 -0
  443. package/dist/infineon-design-system-stencil/p-702a48f8.entry.js.map +1 -0
  444. package/dist/infineon-design-system-stencil/p-741ee6fd.entry.js +2 -0
  445. package/dist/infineon-design-system-stencil/p-741ee6fd.entry.js.map +1 -0
  446. package/dist/infineon-design-system-stencil/{p-9c28f35f.entry.js → p-7440ea9d.entry.js} +3 -3
  447. package/dist/infineon-design-system-stencil/p-7440ea9d.entry.js.map +1 -0
  448. package/dist/infineon-design-system-stencil/p-885adc48.entry.js +2 -0
  449. package/dist/infineon-design-system-stencil/p-885adc48.entry.js.map +1 -0
  450. package/dist/infineon-design-system-stencil/{p-aaf08082.entry.js → p-88af2e64.entry.js} +2 -2
  451. package/dist/infineon-design-system-stencil/p-9149a20a.entry.js +2 -0
  452. package/dist/infineon-design-system-stencil/p-9149a20a.entry.js.map +1 -0
  453. package/dist/infineon-design-system-stencil/p-959285a7.entry.js +2 -0
  454. package/dist/infineon-design-system-stencil/p-959285a7.entry.js.map +1 -0
  455. package/dist/infineon-design-system-stencil/p-9fc0f50d.entry.js +2 -0
  456. package/dist/infineon-design-system-stencil/p-9fc0f50d.entry.js.map +1 -0
  457. package/dist/infineon-design-system-stencil/p-aadd1a9d.entry.js +2 -0
  458. package/dist/infineon-design-system-stencil/p-aadd1a9d.entry.js.map +1 -0
  459. package/dist/infineon-design-system-stencil/p-acf0f4ed.entry.js +2 -0
  460. package/dist/infineon-design-system-stencil/p-acf0f4ed.entry.js.map +1 -0
  461. package/dist/infineon-design-system-stencil/p-ad1ec9d6.entry.js +2 -0
  462. package/dist/infineon-design-system-stencil/p-ad1ec9d6.entry.js.map +1 -0
  463. package/dist/infineon-design-system-stencil/p-b637c44c.entry.js +2 -0
  464. package/dist/infineon-design-system-stencil/p-b637c44c.entry.js.map +1 -0
  465. package/dist/infineon-design-system-stencil/p-b73a5f18.entry.js +2 -0
  466. package/dist/infineon-design-system-stencil/p-b73a5f18.entry.js.map +1 -0
  467. package/dist/infineon-design-system-stencil/p-c2791360.entry.js +2 -0
  468. package/dist/infineon-design-system-stencil/p-c2791360.entry.js.map +1 -0
  469. package/dist/infineon-design-system-stencil/p-c5a785d7.entry.js +2 -0
  470. package/dist/infineon-design-system-stencil/p-c5a785d7.entry.js.map +1 -0
  471. package/dist/infineon-design-system-stencil/p-c84ef603.entry.js +2 -0
  472. package/dist/infineon-design-system-stencil/p-c84ef603.entry.js.map +1 -0
  473. package/dist/infineon-design-system-stencil/p-dd28f3a1.entry.js +2 -0
  474. package/dist/infineon-design-system-stencil/p-dd28f3a1.entry.js.map +1 -0
  475. package/dist/infineon-design-system-stencil/p-e98d2280.entry.js +2 -0
  476. package/dist/infineon-design-system-stencil/p-e98d2280.entry.js.map +1 -0
  477. package/dist/infineon-design-system-stencil/p-ecc17497.entry.js +2 -0
  478. package/dist/infineon-design-system-stencil/p-ecc17497.entry.js.map +1 -0
  479. package/dist/infineon-design-system-stencil/p-ef6d0dc6.entry.js +2 -0
  480. package/dist/infineon-design-system-stencil/p-ef6d0dc6.entry.js.map +1 -0
  481. package/dist/infineon-design-system-stencil/p-f25f014d.entry.js +2 -0
  482. package/dist/infineon-design-system-stencil/p-f25f014d.entry.js.map +1 -0
  483. package/dist/infineon-design-system-stencil/p-f338fb85.entry.js +2 -0
  484. package/dist/infineon-design-system-stencil/p-f338fb85.entry.js.map +1 -0
  485. package/dist/types/components/accordion/accordion.d.ts +0 -1
  486. package/dist/types/components/alert/alert.d.ts +0 -1
  487. package/dist/types/components/badge/badge.d.ts +0 -2
  488. package/dist/types/components/breadcrumb/breadcrumb.d.ts +0 -1
  489. package/dist/types/components/date-picker/date-picker.d.ts +0 -1
  490. package/dist/types/components/file-upload/file-upload.d.ts +0 -1
  491. package/dist/types/components/icon/infineonIconStencil.d.ts +0 -3
  492. package/dist/types/components/link/link.d.ts +0 -2
  493. package/dist/types/components/modal/modal.d.ts +0 -1
  494. package/dist/types/components/notification/notification.d.ts +0 -2
  495. package/dist/types/components/progress-bar/progress-bar.d.ts +0 -1
  496. package/dist/types/components/search-field/search-field.d.ts +0 -2
  497. package/dist/types/components/segmented-control/segmented-control.d.ts +0 -1
  498. package/dist/types/components/spinner/spinner.d.ts +0 -2
  499. package/dist/types/components/status/status.d.ts +0 -2
  500. package/dist/types/components/tag/tag.d.ts +0 -2
  501. package/dist/types/components/tree-view/tree-view.d.ts +0 -2
  502. package/package.json +2 -2
  503. package/dist/cjs/dom-utils-2c4573c2.js +0 -20
  504. package/dist/cjs/dom-utils-2c4573c2.js.map +0 -1
  505. package/dist/cjs/icons-2cd72a7d.js.map +0 -1
  506. package/dist/cjs/tracking-f00364dc.js +0 -41
  507. package/dist/cjs/tracking-f00364dc.js.map +0 -1
  508. package/dist/collection/global/utils/dom-utils.js +0 -15
  509. package/dist/collection/global/utils/dom-utils.js.map +0 -1
  510. package/dist/collection/global/utils/tracking.js +0 -37
  511. package/dist/collection/global/utils/tracking.js.map +0 -1
  512. package/dist/components/p-0905733d.js.map +0 -1
  513. package/dist/components/p-0d6ca0f6.js.map +0 -1
  514. package/dist/components/p-13126216.js.map +0 -1
  515. package/dist/components/p-1ad917f9.js.map +0 -1
  516. package/dist/components/p-1ecafb97.js +0 -18
  517. package/dist/components/p-1ecafb97.js.map +0 -1
  518. package/dist/components/p-24382260.js.map +0 -1
  519. package/dist/components/p-347a1b14.js.map +0 -1
  520. package/dist/components/p-465d3172.js.map +0 -1
  521. package/dist/components/p-4fc475c9.js.map +0 -1
  522. package/dist/components/p-54b39a91.js.map +0 -1
  523. package/dist/components/p-6d95b3c1.js.map +0 -1
  524. package/dist/components/p-6ecb6a6f.js +0 -39
  525. package/dist/components/p-6ecb6a6f.js.map +0 -1
  526. package/dist/components/p-816b2612.js.map +0 -1
  527. package/dist/components/p-830057b3.js.map +0 -1
  528. package/dist/components/p-8cb991f4.js.map +0 -1
  529. package/dist/components/p-94da6823.js.map +0 -1
  530. package/dist/components/p-9ea9e274.js.map +0 -1
  531. package/dist/components/p-cca71d97.js.map +0 -1
  532. package/dist/components/p-cf109552.js.map +0 -1
  533. package/dist/components/p-e126ea6f.js.map +0 -1
  534. package/dist/esm/dom-utils-1988cdf1.js +0 -18
  535. package/dist/esm/dom-utils-1988cdf1.js.map +0 -1
  536. package/dist/esm/icons-75858876.js.map +0 -1
  537. package/dist/esm/tracking-a7efdbcd.js +0 -39
  538. package/dist/esm/tracking-a7efdbcd.js.map +0 -1
  539. package/dist/infineon-design-system-stencil/p-0c60ce87.entry.js +0 -2
  540. package/dist/infineon-design-system-stencil/p-0c60ce87.entry.js.map +0 -1
  541. package/dist/infineon-design-system-stencil/p-14842bbb.entry.js +0 -2
  542. package/dist/infineon-design-system-stencil/p-14842bbb.entry.js.map +0 -1
  543. package/dist/infineon-design-system-stencil/p-19fcf1db.entry.js +0 -2
  544. package/dist/infineon-design-system-stencil/p-19fcf1db.entry.js.map +0 -1
  545. package/dist/infineon-design-system-stencil/p-1ecafb97.js +0 -2
  546. package/dist/infineon-design-system-stencil/p-1ecafb97.js.map +0 -1
  547. package/dist/infineon-design-system-stencil/p-1fd80576.entry.js +0 -2
  548. package/dist/infineon-design-system-stencil/p-1fd80576.entry.js.map +0 -1
  549. package/dist/infineon-design-system-stencil/p-227fa186.entry.js +0 -2
  550. package/dist/infineon-design-system-stencil/p-227fa186.entry.js.map +0 -1
  551. package/dist/infineon-design-system-stencil/p-26c73456.entry.js +0 -2
  552. package/dist/infineon-design-system-stencil/p-26c73456.entry.js.map +0 -1
  553. package/dist/infineon-design-system-stencil/p-296f215f.entry.js +0 -2
  554. package/dist/infineon-design-system-stencil/p-296f215f.entry.js.map +0 -1
  555. package/dist/infineon-design-system-stencil/p-32b0dfda.entry.js +0 -2
  556. package/dist/infineon-design-system-stencil/p-32b0dfda.entry.js.map +0 -1
  557. package/dist/infineon-design-system-stencil/p-4d96fed0.js.map +0 -1
  558. package/dist/infineon-design-system-stencil/p-4eda4ef3.entry.js +0 -2
  559. package/dist/infineon-design-system-stencil/p-4eda4ef3.entry.js.map +0 -1
  560. package/dist/infineon-design-system-stencil/p-52420868.entry.js +0 -2
  561. package/dist/infineon-design-system-stencil/p-52420868.entry.js.map +0 -1
  562. package/dist/infineon-design-system-stencil/p-5493e6f5.entry.js +0 -2
  563. package/dist/infineon-design-system-stencil/p-5493e6f5.entry.js.map +0 -1
  564. package/dist/infineon-design-system-stencil/p-5a12d20a.entry.js +0 -2
  565. package/dist/infineon-design-system-stencil/p-5a12d20a.entry.js.map +0 -1
  566. package/dist/infineon-design-system-stencil/p-65255c40.entry.js +0 -2
  567. package/dist/infineon-design-system-stencil/p-65255c40.entry.js.map +0 -1
  568. package/dist/infineon-design-system-stencil/p-68423787.entry.js +0 -2
  569. package/dist/infineon-design-system-stencil/p-68423787.entry.js.map +0 -1
  570. package/dist/infineon-design-system-stencil/p-6d72ad32.entry.js +0 -2
  571. package/dist/infineon-design-system-stencil/p-6d72ad32.entry.js.map +0 -1
  572. package/dist/infineon-design-system-stencil/p-6ecb6a6f.js +0 -2
  573. package/dist/infineon-design-system-stencil/p-6ecb6a6f.js.map +0 -1
  574. package/dist/infineon-design-system-stencil/p-73d39ed6.entry.js +0 -2
  575. package/dist/infineon-design-system-stencil/p-73d39ed6.entry.js.map +0 -1
  576. package/dist/infineon-design-system-stencil/p-76914839.entry.js.map +0 -1
  577. package/dist/infineon-design-system-stencil/p-796675ed.entry.js +0 -2
  578. package/dist/infineon-design-system-stencil/p-796675ed.entry.js.map +0 -1
  579. package/dist/infineon-design-system-stencil/p-79b7d7a2.entry.js +0 -2
  580. package/dist/infineon-design-system-stencil/p-79b7d7a2.entry.js.map +0 -1
  581. package/dist/infineon-design-system-stencil/p-82c59e6b.entry.js +0 -2
  582. package/dist/infineon-design-system-stencil/p-82c59e6b.entry.js.map +0 -1
  583. package/dist/infineon-design-system-stencil/p-82dd7e7d.entry.js +0 -2
  584. package/dist/infineon-design-system-stencil/p-82dd7e7d.entry.js.map +0 -1
  585. package/dist/infineon-design-system-stencil/p-877e1d37.entry.js +0 -2
  586. package/dist/infineon-design-system-stencil/p-877e1d37.entry.js.map +0 -1
  587. package/dist/infineon-design-system-stencil/p-8a7bfe65.entry.js +0 -2
  588. package/dist/infineon-design-system-stencil/p-8a7bfe65.entry.js.map +0 -1
  589. package/dist/infineon-design-system-stencil/p-98532a0e.entry.js +0 -2
  590. package/dist/infineon-design-system-stencil/p-98532a0e.entry.js.map +0 -1
  591. package/dist/infineon-design-system-stencil/p-9c28f35f.entry.js.map +0 -1
  592. package/dist/infineon-design-system-stencil/p-a0006775.entry.js +0 -2
  593. package/dist/infineon-design-system-stencil/p-a0006775.entry.js.map +0 -1
  594. package/dist/infineon-design-system-stencil/p-ac7db8d1.entry.js +0 -2
  595. package/dist/infineon-design-system-stencil/p-ac7db8d1.entry.js.map +0 -1
  596. package/dist/infineon-design-system-stencil/p-ae8110b7.entry.js +0 -2
  597. package/dist/infineon-design-system-stencil/p-ae8110b7.entry.js.map +0 -1
  598. package/dist/infineon-design-system-stencil/p-aeaa6d0b.entry.js +0 -2
  599. package/dist/infineon-design-system-stencil/p-aeaa6d0b.entry.js.map +0 -1
  600. package/dist/infineon-design-system-stencil/p-b110d5d4.entry.js +0 -2
  601. package/dist/infineon-design-system-stencil/p-b110d5d4.entry.js.map +0 -1
  602. package/dist/infineon-design-system-stencil/p-b17a0e8c.entry.js +0 -2
  603. package/dist/infineon-design-system-stencil/p-b17a0e8c.entry.js.map +0 -1
  604. package/dist/infineon-design-system-stencil/p-bb7b2a3c.entry.js +0 -2
  605. package/dist/infineon-design-system-stencil/p-bb7b2a3c.entry.js.map +0 -1
  606. package/dist/infineon-design-system-stencil/p-c164c83b.entry.js +0 -2
  607. package/dist/infineon-design-system-stencil/p-c164c83b.entry.js.map +0 -1
  608. package/dist/infineon-design-system-stencil/p-c220733b.entry.js +0 -2
  609. package/dist/infineon-design-system-stencil/p-c220733b.entry.js.map +0 -1
  610. package/dist/infineon-design-system-stencil/p-c88876dc.entry.js +0 -2
  611. package/dist/infineon-design-system-stencil/p-c88876dc.entry.js.map +0 -1
  612. package/dist/infineon-design-system-stencil/p-e0978af0.entry.js +0 -2
  613. package/dist/infineon-design-system-stencil/p-e0978af0.entry.js.map +0 -1
  614. package/dist/infineon-design-system-stencil/p-e5018880.entry.js +0 -2
  615. package/dist/infineon-design-system-stencil/p-e5018880.entry.js.map +0 -1
  616. package/dist/infineon-design-system-stencil/p-ed869b07.entry.js +0 -2
  617. package/dist/infineon-design-system-stencil/p-ed869b07.entry.js.map +0 -1
  618. package/dist/infineon-design-system-stencil/p-eeb59f76.entry.js +0 -2
  619. package/dist/infineon-design-system-stencil/p-eeb59f76.entry.js.map +0 -1
  620. package/dist/infineon-design-system-stencil/p-f3f8d603.entry.js +0 -2
  621. package/dist/infineon-design-system-stencil/p-f3f8d603.entry.js.map +0 -1
  622. package/dist/infineon-design-system-stencil/p-fb6a813b.entry.js +0 -2
  623. package/dist/infineon-design-system-stencil/p-fb6a813b.entry.js.map +0 -1
  624. package/dist/infineon-design-system-stencil/p-fe22fc31.entry.js +0 -2
  625. package/dist/infineon-design-system-stencil/p-fe22fc31.entry.js.map +0 -1
  626. package/dist/types/global/utils/dom-utils.d.ts +0 -1
  627. package/dist/types/global/utils/tracking.d.ts +0 -9
  628. /package/dist/infineon-design-system-stencil/{p-aaf08082.entry.js.map → p-88af2e64.entry.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{r as e,c as t,h as i,g as r}from"./p-b7a462e5.js";import{t as a}from"./p-6ecb6a6f.js";import{i as s}from"./p-1ecafb97.js";const o='.date__picker-container{display:flex;flex-direction:column}.date__picker-container .label__wrapper{color:#1D1D1D;font:400 1rem/1.5rem "Source Sans 3"}.date__picker-container .label__wrapper .asterisk{display:none}.date__picker-container .label__wrapper .asterisk.required{display:inline;margin-left:4px}.date__picker-container .label__wrapper .asterisk.required.error{color:#CD002F}.date__picker-container.disabled .label__wrapper{color:#575352}.date__picker-container.error .caption__wrapper{color:#CD002F}.date__picker-container.disabled .caption__wrapper{color:#575352}.date__picker-container .caption__wrapper{margin-top:4px;color:#1D1D1D;font:400 0.75rem/1rem "Source Sans 3"}.date__picker-input{font-family:"Source Sans 3";outline:none;width:100%;cursor:pointer;border-radius:1px;border:1px solid #8D8786;height:100%}.date__picker-input.firefox__classes{padding:8px 16px;color:#8D8786;font-size:16px;text-transform:uppercase;font-style:normal;font-weight:400;line-height:24px;cursor:pointer}.date__picker-input:focus:not(.error,.success){border-color:#0A8276}.date__picker-input:hover:not(:disabled,:focus,.error,.success){border-color:#575352}.date__picker-input:disabled{border-color:#575352;background-color:#EEEDED}.date__picker-input.error{border-color:#CD002F}.date__picker-input.success:not(.error){border-color:#4CA460}.date__picker-input::-webkit-datetime-edit-text{color:#8D8786;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.date__picker-input.has-value::-webkit-datetime-edit-text{color:#1D1D1D}.date__picker-input.has-value::-webkit-datetime-edit{color:#1D1D1D}::-webkit-datetime-edit{color:#8D8786;font-size:16px;text-transform:uppercase;font-style:normal;font-weight:400;line-height:24px}::-webkit-datetime-edit-fields-wrapper{padding:8px 16px;padding-bottom:9px;transform:translateY(1px)}::-webkit-inner-spin-button{display:none}::-webkit-calendar-picker-indicator{position:absolute;right:15px;font-size:19px;cursor:pointer;border-radius:1px}::-webkit-calendar-picker-indicator:focus-within{outline:2px solid #0A8276;outline-offset:2px}.input__wrapper{display:flex;justify-content:space-between;align-items:center;align-self:stretch;background:#FFFFFF;position:relative}.input__wrapper.large{height:40px}.input__wrapper.small{height:36px}.input__wrapper.disabled .icon__wrapper{background-color:#EEEDED}.icon__wrapper{position:absolute;right:17px;padding:2px;display:flex;justify-content:flex-end;align-items:center;pointer-events:none;z-index:100;background-color:#FFFFFF;line-height:16px}.icon__wrapper ifx-icon{vertical-align:middle}';const n=o;const c=class{constructor(i){e(this,i);this.ifxDate=t(this,"ifxDate",7);if(i.$hostElement$["s-ei"]){this.internals=i.$hostElement$["s-ei"]}else{this.internals=i.$hostElement$.attachInternals();i.$hostElement$["s-ei"]=this.internals}this.inputId=`ifx-date-picker-${++p}`;this.size="s";this.error=false;this.success=false;this.disabled=false;this.type="date";this.required=false;this.autocomplete="on"}getDate(e){const t=e.target.value;const i=new Date(t);const r=i.getDate();const a=i.getMonth()+1;const s=i.getFullYear();if(!t){this.internals.setFormValue(null);if(this.type==="datetime-local"){const e=i.getHours();const t=i.getMinutes();this.ifxDate.emit({day:r,month:a,year:s,hours:e,minutes:t})}else{this.ifxDate.emit({day:r,month:a,year:s})}return}const o=this.el.shadowRoot.querySelector(".date__picker-input");o.classList.add("has-value");this.internals.setFormValue(i.toISOString().substring(0,10));if(this.type==="datetime-local"){const e=i.getHours();const t=i.getMinutes();this.ifxDate.emit({day:r,month:a,year:s,hours:e,minutes:t})}else{this.ifxDate.emit({day:r,month:a,year:s})}}handleInputFocusOnIconClick(){const e=this.el.shadowRoot.querySelector(".date__picker-input");if(e){e.focus()}}getBrowser(){if(navigator.userAgent.indexOf("Chrome")!=-1){return"Chrome"}else if(navigator.userAgent.indexOf("Opera")!=-1){return"Opera"}else if(navigator.userAgent.indexOf("MSIE")!=-1){return"IE"}else if(navigator.userAgent.indexOf("Firefox")!=-1){return"Firefox"}else{return"unknown"}}setFireFoxClasses(){const e=this.getBrowser();const t=this.el.shadowRoot.querySelector(".date__picker-input");if(e==="Firefox"){t.classList.add("firefox__classes")}else if(t.classList.contains("firefox__classes")){t.classList.remove("firefox__classes")}}componentWillLoad(){if(!s(this.el)){a("ifx-date-picker")}}componentDidLoad(){this.setFireFoxClasses()}componentWillUpdate(){if(this.value){this.getDate({target:{value:this.value}})}}formResetCallback(){this.internals.setFormValue(null)}render(){var e,t;return i("div",{key:"611b9da2e9922cc5221c57c503be407dd185013c",class:`date__picker-container ${this.error?"error":""} ${this.disabled?"disabled":""}`},i("label",{key:"26d63c058e9d9d1d3a346979bb124b1ae9c4b19c",class:"label__wrapper",htmlFor:this.inputId},(e=this.label)===null||e===void 0?void 0:e.trim(),i("span",{key:"65fccda39bee8d6d81cec71b7371b76ffcdf7aa8",class:`asterisk ${this.required?"required":""} ${this.error?"error":""}`},"*")),i("div",{key:"9e8c690a63e83334b5f4084991336bd9f4268853",class:`input__wrapper ${this.size==="l"?"large":"small"} ${this.disabled?"disabled":""}`},i("input",{key:"e2dcec3d13663bf52e9c1756f95d527aef6b9a99",type:this.type,autocomplete:this.autocomplete,class:`date__picker-input ${this.error?"error":""} ${this.success?"success":""}`,disabled:this.disabled?true:undefined,"aria-invalid":this.error?true:undefined,"aria-label":this.ariaLabel,max:this.max,min:this.min,value:this.value,required:this.required,onChange:e=>this.getDate(e)}),i("div",{key:"24b059bb6580122073ff8886c43d37f531e39958",class:"icon__wrapper",role:"button",onClick:()=>this.handleInputFocusOnIconClick()},i("ifx-icon",{key:"9804677d28d83002dec58ebf3c294d51ae738169",icon:"calendar16","aria-hidden":"true"}))),((t=this.caption)===null||t===void 0?void 0:t.trim())&&i("div",{key:"c5b2cee9eedc206e3f91cc0a0cb795309aa441fa",class:"caption__wrapper"},this.caption.trim()))}static get formAssociated(){return true}get el(){return r(this)}};let p=0;c.style=n;export{c as ifx_date_picker};
2
- //# sourceMappingURL=p-e0978af0.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["datePickerCss","IfxDatePickerStyle0","DatePicker","constructor","hostRef","this","inputId","datePickerId","size","error","success","disabled","type","required","autocomplete","getDate","e","inputValue","target","value","selectedDate","Date","day","month","getMonth","year","getFullYear","internals","setFormValue","hours","getHours","minutes","getMinutes","ifxDate","emit","input","el","shadowRoot","querySelector","classList","add","toISOString","substring","handleInputFocusOnIconClick","focus","getBrowser","navigator","userAgent","indexOf","setFireFoxClasses","browser","contains","remove","componentWillLoad","isNestedInIfxComponent","trackComponent","componentDidLoad","componentWillUpdate","formResetCallback","render","h","key","class","htmlFor","_a","label","trim","undefined","ariaLabel","max","min","onChange","role","onClick","icon","_b","caption"],"sources":["src/components/date-picker/date-picker.scss?tag=ifx-date-picker&encapsulation=shadow","src/components/date-picker/date-picker.tsx"],"sourcesContent":["@use '~@infineon/design-system-tokens/dist/tokens';\n\n.date__picker-container {\n display: flex;\n flex-direction: column;\n\n & .label__wrapper {\n color: tokens.$ifxColorBaseBlack;\n font: tokens.$ifxBodyBody03;\n\n & .asterisk { \n display: none;\n &.required {\n display: inline;\n margin-left: 4px;\n \n &.error {\n color: #CD002F;\n }\n }\n }\n\n }\n\n &.disabled {\n .label__wrapper {\n color: tokens.$ifxColorEngineering500;\n }\n }\n\n &.error {\n .caption__wrapper {\n color: tokens.$ifxColorRed500;\n }\n }\n\n &.disabled {\n .caption__wrapper {\n color: tokens.$ifxColorEngineering500;\n }\n }\n\n & .caption__wrapper {\n margin-top: tokens.$ifxSpace50;\n color: tokens.$ifxColorBaseBlack;\n font: tokens.$ifxBodyBody05;\n }\n}\n\n.date__picker-input {\n font-family: 'Source Sans 3';\n outline: none;\n width: 100%;\n cursor: pointer;\n border-radius: 1px;\n border: 1px solid tokens.$ifxColorEngineering400;\n height: 100%;\n\n &.firefox__classes {\n padding: 8px 16px;\n color: tokens.$ifxColorEngineering400;\n font-size: 16px;\n text-transform: uppercase;\n font-style: normal;\n font-weight: 400;\n line-height: 24px;\n cursor: pointer;\n }\n\n &:focus:not(.error, .success) {\n border-color: tokens.$ifxColorOcean500;\n }\n\n &:hover:not(:disabled, :focus, .error, .success) {\n border-color: tokens.$ifxColorEngineering500;\n }\n\n &:disabled {\n border-color: tokens.$ifxColorEngineering500;\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &.error {\n border-color: tokens.$ifxColorRed500;\n }\n\n &.success:not(.error) {\n border-color: tokens.$ifxColorGreen500;\n }\n\n &::-webkit-datetime-edit-text {\n color: tokens.$ifxColorEngineering400;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 24px;\n }\n\n &.has-value::-webkit-datetime-edit-text {\n color: tokens.$ifxColorBaseBlack;\n }\n\n &.has-value::-webkit-datetime-edit {\n color: tokens.$ifxColorBaseBlack;\n }\n}\n\n::-webkit-datetime-edit {\n color: tokens.$ifxColorEngineering400;\n font-size: 16px;\n text-transform: uppercase;\n font-style: normal;\n font-weight: 400;\n line-height: 24px;\n}\n\n::-webkit-datetime-edit-fields-wrapper {\n padding: 8px 16px;\n padding-bottom: 9px;\n transform: translateY(1px);\n}\n\n::-webkit-inner-spin-button {\n display: none;\n}\n\n::-webkit-calendar-picker-indicator {\n position: absolute;\n right: 15px;\n font-size: 19px;\n cursor: pointer;\n border-radius: 1px;\n &:focus-within {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n }\n}\n\n.input__wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n align-self: stretch;\n background: tokens.$ifxColorBaseWhite;\n position: relative;\n &.large {\n height: 40px;\n }\n\n &.small {\n height: 36px;\n }\n\n &.disabled {\n & .icon__wrapper {\n background-color: tokens.$ifxColorEngineering200;\n }\n }\n}\n\n.icon__wrapper {\n position: absolute;\n right: 17px;\n padding: 2px;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n pointer-events: none;\n z-index: 100;\n background-color: tokens.$ifxColorBaseWhite;\n line-height: 16px;\n\n & ifx-icon {\n vertical-align: middle;\n }\n}\n","import { AttachInternals } from '@stencil/core';\nimport { Component, Prop, h, Element, Event, EventEmitter } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\n \n@Component({\n tag: 'ifx-date-picker',\n styleUrl: 'date-picker.scss',\n shadow: true,\n formAssociated: true,\n})\n\nexport class DatePicker {\n private inputId: string = `ifx-date-picker-${++datePickerId}`;\n\n @Element() el: HTMLElement;\n @Prop() size: string = 's';\n @Prop() error: boolean = false;\n @Prop() success: boolean = false;\n @Prop() disabled: boolean = false;\n @Prop() ariaLabel: string | null;\n @Prop() value: string;\n @Prop() type: string = 'date'\n @Prop() max: string;\n @Prop() min: string;\n @Prop() required: boolean = false;\n @Prop() label: string;\n @Prop() caption: string;\n @Prop() autocomplete: string = 'on';\n\n @AttachInternals() internals: ElementInternals;\n\n @Event() ifxDate: EventEmitter;\n\n getDate(e) { \n const inputValue = e.target.value;\n const selectedDate = new Date(inputValue);\n const day = selectedDate.getDate();\n const month = selectedDate.getMonth() + 1; \n const year = selectedDate.getFullYear();\n\n \n \n if (!inputValue) {\n this.internals.setFormValue(null);\n\n if(this.type === 'datetime-local') { \n const hours = selectedDate.getHours();\n const minutes = selectedDate.getMinutes();\n this.ifxDate.emit({day, month, year, hours, minutes});\n } else { \n this.ifxDate.emit({day, month, year});\n }\n return;\n }\n\n const input = this.el.shadowRoot.querySelector('.date__picker-input') as HTMLInputElement;\n input.classList.add('has-value');\n\n this.internals.setFormValue(selectedDate.toISOString().substring(0,10))\n if(this.type === 'datetime-local') { \n const hours = selectedDate.getHours();\n const minutes = selectedDate.getMinutes();\n this.ifxDate.emit({day, month, year, hours, minutes});\n } else { \n this.ifxDate.emit({day, month, year})\n }\n }\n\n handleInputFocusOnIconClick() { \n const input = this.el.shadowRoot.querySelector('.date__picker-input') as HTMLInputElement;\n if(input) { \n input.focus()\n }\n }\n\n getBrowser() {\n if( navigator.userAgent.indexOf(\"Chrome\") != -1 ) {\n return \"Chrome\";\n } else if( navigator.userAgent.indexOf(\"Opera\") != -1 ) {\n return \"Opera\";\n } else if( navigator.userAgent.indexOf(\"MSIE\") != -1 ) {\n return \"IE\";\n } else if( navigator.userAgent.indexOf(\"Firefox\") != -1 ) {\n return \"Firefox\";\n } else {\n return \"unknown\";\n }\n }\n\n setFireFoxClasses() { \n const browser = this.getBrowser()\n const input = this.el.shadowRoot.querySelector('.date__picker-input');\n\n if(browser === 'Firefox') { \n input.classList.add('firefox__classes')\n } else if(input.classList.contains('firefox__classes')) { \n input.classList.remove('firefox__classes')\n }\n }\n\n componentWillLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n trackComponent('ifx-date-picker')\n }\n }\n\n componentDidLoad() { \n this.setFireFoxClasses()\n }\n\n componentWillUpdate() { \n if (this.value) {\n this.getDate({ target: { value: this.value } });\n }\n }\n\n formResetCallback() {\n this.internals.setFormValue(null);\n }\n\n render() {\n return (\n <div class={`date__picker-container ${this.error ? 'error' : ''} ${this.disabled ? 'disabled': ''}`}>\n\n <label class='label__wrapper' htmlFor={ this.inputId }>\n { this.label?.trim() }\n <span class={`asterisk ${this.required ? 'required' : \"\"} ${this.error ? 'error' : \"\"}`}>*</span>\n </label>\n\n <div class={`input__wrapper ${this.size === 'l' ? 'large' : 'small'} ${this.disabled ? 'disabled' : ''}`}>\n <input\n type={this.type}\n autocomplete={this.autocomplete}\n class={`date__picker-input ${this.error ? 'error' : \"\"} ${this.success ? \"success\" : \"\"}`}\n disabled={this.disabled ? true : undefined}\n aria-invalid={this.error ? true : undefined}\n aria-label={this.ariaLabel}\n max={this.max}\n min={this.min}\n value={this.value}\n required={this.required}\n onChange={(e) => this.getDate(e)} />\n <div class=\"icon__wrapper\" role=\"button\" onClick={() => this.handleInputFocusOnIconClick()}>\n <ifx-icon icon='calendar16' aria-hidden=\"true\"></ifx-icon>\n </div>\n </div>\n\n { this.caption?.trim() && (\n <div class='caption__wrapper'>\n { this.caption.trim() }\n </div> \n )}\n </div>\n )\n }\n}\n\nlet datePickerId = 0;"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,h as i,g as t}from"./p-b7a462e5.js";import{t as a}from"./p-6ecb6a6f.js";const r=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{height:100%;display:inline-flex}.sidebar__container{box-sizing:border-box;display:inline-flex;flex-direction:column;align-items:flex-start;padding:0px;background-color:#FFFFFF;border-right:1px solid #EEEDED;width:264px;height:100%;font-family:var(--ifx-font-family)}.sidebar__container .sidebar__top-container{display:flex;flex-direction:column;align-items:center;padding:0px;flex:1 1 auto;order:0;z-index:0;width:100%;overflow-y:auto}.sidebar__container .sidebar__top-container .sidebar__nav-bar{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;padding:12px 32px;background-color:#FFFFFF;flex:none;order:0;flex-grow:0;width:100%}.sidebar__container .sidebar__top-container .sidebar__nav-bar .sidebar__nav-bar-logo{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0px;gap:16px;flex:none;order:0;flex-grow:0}.sidebar__container .sidebar__top-container .sidebar__nav-bar .sidebar__nav-bar-logo .sidebar__nav-bar-logo-img{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0px;flex:none;order:0;flex-grow:0}.sidebar__container .sidebar__top-container .sidebar__nav-bar .sidebar__nav-bar-logo .sidebar__nav-bar-logo-img svg{width:91px;height:40px}.sidebar__container .sidebar__top-container .sidebar__nav-bar .sidebar__nav-bar-logo .sidebar__nav-bar-logo-text{font-style:normal;font-weight:600;font-size:1rem;line-height:1.5rem;display:flex;align-items:center;color:#1D1D1D;flex:none;order:1;flex-grow:0;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}.sidebar__container .sidebar__top-container .sidebar__nav-container{scrollbar-gutter:stable;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;padding:12px 32px;flex:1 1 auto;order:1;width:100%}.sidebar__container .sidebar__top-container .sidebar__nav-container ::slotted(*){width:100%}.sidebar__container .sidebar__footer-container{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:0px 32px;flex:none;order:1;align-self:stretch;flex-grow:1;z-index:1}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper{display:flex;flex-direction:column;align-items:flex-start;padding:24px 0px;gap:16px;border-top:1px solid #EEEDED;flex:none;order:0;flex-grow:0;width:100%}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-top-links{display:flex;align-items:flex-start;padding:0px;gap:12px;flex:none;order:0;align-self:stretch;flex-grow:0;flex-wrap:wrap}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-top-links a{font:400 0.875rem/1.25rem "Source Sans 3";display:flex;text-decoration:none;align-items:center;color:#1D1D1D;flex:none;flex-grow:0}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-top-links a:hover{color:#08665C}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-top-links a:focus{outline:none;color:#08665C}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-bottom-links{display:flex;flex-direction:column;align-items:center}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-bottom-links span{font:400 0.875rem/1.25rem "Source Sans 3";text-decoration:none;color:#575352;flex:none;order:1;flex-grow:0;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-bottom-links span:hover{cursor:initial}';const s=r;const o="active";const n="active-section";const d=".sidebar__nav-item";const c=class{constructor(i){e(this,i);this.applicationName="";this.initialCollapse=true;this.showFooter=true;this.showHeader=true;this.termsOfUse="#";this.imprint="#";this.privacyPolicy="#";this.target="_blank";this.currentYear=(new Date).getFullYear();this.copyrightText="© 1999 - "+this.currentYear+" Infineon Technologies AG";this.internalTermsofUse="";this.internalImprint="";this.internalPrivacyPolicy="";this.internalShowFooter=true;this.activeItem=null}expandActiveItems(){const e=async i=>{if(await i.isItemExpandable()!==true){if(i.active)return 1;return 0}let t=0;const a=this.getSidebarMenuItems(i);for(let i=0;i<a.length;i++){t=Math.max(t,await e(a[i]))}if(t>0){if(t==1){i.expandMenu(false)}else{i.expandMenu(true)}}return t?t+1:0};const i=this.getSidebarMenuItems(this.el);for(let t=0;t<i.length;t++){e(i[t])}}adjustTopBorder(){const e=this.el.children;if(!e.length)return;if(e[0].tagName==="IFX-SIDEBAR-TITLE"){e[0].shadowRoot.querySelector(".sidebar__title").classList.add("no-top-border")}if(e[0].tagName==="IFX-SIDEBAR-ITEM"&&e[0].shadowRoot.querySelector("div > a").classList.contains("header__section")){e[0].shadowRoot.querySelector("div > a").classList.add("no-top-border")}const i=this.el.querySelectorAll("ifx-sidebar-title");i.forEach((e=>{const i=e.nextElementSibling;if(i&&i.tagName==="IFX-SIDEBAR-ITEM"&&i.shadowRoot.querySelector("div > a").classList.contains("header__section")){i.shadowRoot.querySelector("div > a").classList.add("no-top-border")}}))}async addPaddingToTheLastItem(e){const i=this.getSidebarMenuItems(e);for(let e=0;e<i.length;e++){const t=i[e];const a=this.getNavItem(t.shadowRoot);const r=await t.isItemExpandable();if(r){this.addPaddingToTheLastItem(t)}if(e===i.length-1){this.handleClassList(a,"add","extra-padding__bottom")}}}async adjustItemsPadding(){const e=this.el.children;if(e.length===0)return;if(e[0].tagName.toUpperCase()==="IFX-SIDEBAR-ITEM"){const i=e[0].isItemExpandable();if(i){this.addPaddingToTheLastItem(e[0])}}for(let i=1;i<e.length;i++){const t=e[i];const a=e[i-1];const r=this.getNavItem(a.shadowRoot);if(t.tagName.toUpperCase()==="IFX-SIDEBAR-TITLE"){if(a.tagName.toUpperCase()==="IFX-SIDEBAR-ITEM"&&r&&!this.handleClassList(r,"contains","header__section")){this.handleClassList(r,"add","extra-padding__bottom")}}else if(t.tagName.toUpperCase()==="IFX-SIDEBAR-ITEM"){const e=this.getNavItem(t.shadowRoot);if(a.tagName.toUpperCase()==="IFX-SIDEBAR-ITEM"&&r&&!this.handleClassList(r,"contains","header__section")&&this.handleClassList(e,"contains","header__section")){this.handleClassList(r,"add","extra-padding__bottom")}const i=await t.isItemExpandable();if(i){this.addPaddingToTheLastItem(t)}}}}componentDidLoad(){this.adjustTopBorder();this.setInitialActiveItem();if(!this.initialCollapse){this.expandActiveItems()}this.adjustItemsPadding();this.applyActiveSectionToParent(this.el)}getSidebarMenuItems(e=this.el){var i;const t=e.querySelectorAll("ifx-sidebar-item");if(t.length===0){return(i=e.shadowRoot)===null||i===void 0?void 0:i.querySelectorAll("ifx-sidebar-item")}return t}setInitialActiveItem(){const e=i=>{const t=this.getSidebarMenuItems(i);let a=false;t===null||t===void 0?void 0:t.forEach((i=>{if(this.isActive(i)&&!a){a=true;this.handleBorderIndicatorDisplacement(i)}else if(this.isActive(i)&&a){i.setAttribute("active","false")}if(this.hasChildren(i.shadowRoot)&&!this.hasActiveChild(i.shadowRoot)){const e=this.getActiveItemSection(i);this.handleClassList(e,"remove","active-section")}if(this.hasChildren(i.shadowRoot)&&this.isOpen(i.shadowRoot)&&this.containsActiveSection(i)){const e=this.getActiveItemSection(i);this.handleClassList(e,"remove","active-section")}if(this.hasChildren(i.shadowRoot)){e(i.shadowRoot)}}))};const i=this.getSidebarMenuItems(this.el);i.forEach(e)}handleClassList(e,i,t){e.classList[i](t);if(i==="contains"){return e.classList.contains(t)}}getActiveItemSection(e){return this.getNavItem(e.shadowRoot)}getNavItem(e){return e===null||e===void 0?void 0:e.querySelector(".sidebar__nav-item")}hasChildren(e){return(e===null||e===void 0?void 0:e.querySelector(".item__arrow-wrapper"))!==null?true:false}handleBorderIndicatorDisplacement(e){const i=t=>{const a=this.isActive(t)||t===e;if(a){const e=this.getActiveItemSection(t);const i=this.hasChildren(e);if(i){this.handleClassList(e,"add","active-section")}}const r=this.getSidebarMenuItems(t);r.forEach(i)};const t=this.getSidebarMenuItems(this.el);t.forEach(i)}removeActiveClassesRecursively(){const e=i=>{const t=this.querySidebarItems(i);t.forEach((i=>{const t=i.shadowRoot.querySelector(d);t.classList.remove(n);t.classList.remove(o);if(i.getAttribute("active")){i.setAttribute("active","false")}e(i.shadowRoot)}))};e(this.el);if(this.activeItem){this.activeItem.setAttribute("active","false")}this.activeItem=null}hasActiveChild(e){const i=this.getSidebarMenuItems(e);if(i){for(let e of i){if(this.isActive(e)){return true}else if(this.hasChildren(e.shadowRoot)){if(this.hasActiveChild(e.shadowRoot)){return true}}}}return false}handleSidebarItemInteraction(e){const i=e.detail;if(!this.hasChildren(i.shadowRoot)||this.hasActiveChild(i.shadowRoot)){this.handleBorderIndicatorDisplacement(i)}if(this.hasChildren(i.shadowRoot)&&!this.hasActiveChild(i.shadowRoot)){const e=this.getActiveItemSection(i);this.handleClassList(e,"remove","active-section")}if(this.hasChildren(i.shadowRoot)&&this.isOpen(i.shadowRoot)&&this.containsActiveSection(i)){const e=this.getActiveItemSection(i);this.handleClassList(e,"remove","active-section")}}isOpen(e){return this.getNavItem(e).classList.contains("open")?true:false}containsActiveSection(e){const i=this.getSidebarMenuItems(e);for(let e of i){if(this.getNavItem(e.shadowRoot).classList.contains("active-section")||this.hasChildren(e.shadowRoot)&&this.containsActiveSection(e.shadowRoot)){this.handleClassList(e,"add","active-section");return true}}return false}applyActiveSectionToParent(e){const i=this.getSidebarMenuItems(e);i===null||i===void 0?void 0:i.forEach((e=>{if(this.hasActiveChild(e.shadowRoot)){const i=this.getActiveItemSection(e);this.handleClassList(i,"add","active-section")}this.applyActiveSectionToParent(e.shadowRoot)}))}querySidebarItems(e){return e.querySelectorAll("ifx-sidebar-item")}isActive(e){const i=e.getAttribute("active");const t=i==="true";return t}handleSidebarItemActivated(e){this.removeActiveClassesRecursively();this.activeItem=e.detail;this.activeItem.setAttribute("active","true");const i=this.getNavItem(e.detail.parentElement.parentElement.parentElement);if(i){this.handleClassList(i,"add","active-section")}}componentWillLoad(){a("ifx-sidebar");this.internalTermsofUse=this.termsOfUse.trim();this.internalPrivacyPolicy=this.privacyPolicy.trim();this.internalImprint=this.imprint.trim();this.internalShowFooter=this.showFooter;if(this.internalShowFooter&&!this.internalImprint&&!this.internalPrivacyPolicy&&!this.internalTermsofUse&&!this.copyrightText){this.internalShowFooter=false}}render(){return i("div",{key:"5c85dbd234af8527e7d81630f918a9d1f0660278","aria-label":"a navigation sidebar","aria-value":this.applicationName,class:"sidebar__container"},i("div",{key:"a1857081307205cd8e4f7c6a919537eda805a409",class:"sidebar__top-container"},this.showHeader&&i("div",{key:"47a6f17202b0ac8cb68bfd25ee98157aef1a8008",class:"sidebar__nav-bar"},i("div",{key:"295cd8a6076516ee1971caf19785eafca4731d08",class:"sidebar__nav-bar-logo"},i("div",{key:"6a74787769f88c3b6fa24970ff9d1fca2116d67f",class:"sidebar__nav-bar-logo-img"},i("svg",{key:"16be7a7d1f00ff1c0d4fceacfc79d4126195c1e1",width:"91",height:"40",viewBox:"0 0 91 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i("g",{key:"0b8d235604c555c6e6816bb52fa2a5abbbdd11b5","clip-path":"url(#clip0_2396_2480)"},i("path",{key:"3c6c9b0fdac53553ab345f0ec8ebcd5b882b5327",d:"M67.691 26.7766C71.0884 26.7766 72.1461 23.1841 72.1461 19.8802C72.1461 15.4536 70.2871 13.1441 67.691 13.1441C64.4219 13.1441 63.2681 16.7367 63.3001 19.9443C63.3322 23.1199 64.2296 26.7766 67.691 26.7766ZM66.0244 19.8481C66.0244 18.533 66.0244 15.4536 67.691 15.4536C69.4859 15.4536 69.4218 18.5009 69.4218 19.9123C69.4218 21.2595 69.4218 24.5313 67.7551 24.5313C65.9603 24.4992 66.0244 21.2274 66.0244 19.8481ZM57.8195 26.7766C59.1976 26.7766 60.3835 26.2313 61.5053 25.0445L60.5117 23.1841C59.7425 24.018 58.9733 24.4671 58.0438 24.4671C57.2746 24.4671 56.6336 24.018 56.249 23.2482C55.9285 22.5746 55.8644 21.8048 55.8644 20.9708V20.7142H61.6335V20.1368C61.6335 17.282 61.2809 15.7102 60.3835 14.5234C59.7104 13.6253 58.7169 13.1441 57.499 13.1441C56.2169 13.1441 55.1593 13.7215 54.39 14.8442C53.5567 16.0631 53.2042 17.699 53.2042 19.9443C53.1721 24.2426 54.8708 26.7766 57.8195 26.7766ZM57.531 15.2612C58.172 15.2612 58.5566 15.614 58.813 16.1914C59.0053 16.7046 59.1015 17.5707 59.1015 18.5971H55.8644C55.8964 16.3197 56.3772 15.2612 57.531 15.2612ZM74.2614 26.4559H76.7614V16.8329C77.3703 16.0952 78.0754 15.6782 78.5882 15.6782C78.9087 15.6782 79.2292 15.7423 79.4215 15.9989C79.6138 16.2876 79.71 16.7046 79.71 17.699V26.4559H82.21V16.5442C82.21 15.6782 82.1138 14.8121 81.601 14.1706C81.1523 13.5932 80.4472 13.2404 79.5497 13.2404C78.3959 13.2404 77.2101 13.914 76.569 14.6838C76.537 14.0102 76.3126 13.3687 76.2485 13.1441L73.9089 13.7536C74.0371 14.4593 74.2294 15.3253 74.2294 16.8971V26.4559H74.2614ZM45.2236 14.6838C45.1915 14.0102 44.9672 13.3687 44.9031 13.1441L42.5634 13.7536C42.6916 14.4593 42.8839 15.3253 42.8839 16.8971V26.4238H45.3838V16.8008C45.9928 16.0631 46.6979 15.6461 47.2107 15.6461C47.5312 15.6461 47.8517 15.7102 48.044 15.9669C48.2363 16.2555 48.3325 16.6725 48.3325 17.6669V26.4238H50.8324V16.5442C50.8324 15.6782 50.7363 14.8121 50.2235 14.1706C49.7748 13.5932 49.0696 13.2404 48.1722 13.2404C47.0505 13.2404 45.8646 13.914 45.2236 14.6838ZM14.6473 9.07042C16.1216 9.07042 17.3075 7.88359 17.3075 6.40807C17.3075 4.93256 16.1216 3.74573 14.6473 3.74573C13.173 3.74573 11.9871 4.93256 11.9871 6.40807C11.9871 7.88359 13.173 9.07042 14.6473 9.07042ZM26.9227 26.4559V16.5442C26.9227 15.6782 26.8265 14.8121 26.3137 14.1706C25.865 13.5932 25.1599 13.2404 24.2625 13.2404C23.1087 13.2404 21.9228 13.914 21.2818 14.6838C21.2497 14.0102 21.0254 13.3687 20.9613 13.1441L18.6536 13.7857C18.7818 14.4913 18.9741 15.3574 18.9741 16.9291V26.4559H21.4741V16.8329C22.0831 16.0952 22.7882 15.6782 23.301 15.6782C23.6215 15.6782 23.942 15.7423 24.1343 15.9989C24.3266 16.2876 24.4227 16.7046 24.4227 17.699V26.4559H26.9227ZM38.4289 8.36474C37.4994 8.36474 36.7622 9.10249 36.7622 10.0327C36.7622 10.9629 37.4994 11.7007 38.3968 11.7007C39.3263 11.7007 40.0634 10.9629 40.0634 10.0327C40.0634 9.10249 39.3263 8.36474 38.4289 8.36474ZM13.4614 26.4559H15.9614V10.8346L13.4614 11.1554V26.4559ZM33.8777 9.90441C34.3264 9.90441 34.7751 10.0648 35.0635 10.2893L35.7687 8.33266C35.0956 7.85151 34.3584 7.62698 33.429 7.62698C32.788 7.62698 32.1149 7.78736 31.5059 8.26851C30.897 8.78173 30.256 9.80818 30.256 11.7328C30.256 12.5667 30.288 13.4328 30.288 13.4328H29.4226V15.6461H30.288V26.4238H32.8521V15.6782H34.743L35.2238 13.4649H32.8841V11.4762C32.8841 10.5139 33.2687 9.90441 33.8777 9.90441ZM37.1468 26.4559H39.6788V13.2404L37.1468 13.5611V26.4559Z",fill:"#005DA9"}),i("path",{key:"5b649ff335b05379eff3255594009d1689e10d0c",d:"M77.0816 33.5126C68.6203 36.0146 58.3321 37.1052 48.2682 37.1052C22.7239 37.1052 6.24986 29.5993 5.09604 19.6877C4.67938 15.9668 7.59599 12.3422 12.4677 9.26285C11.6023 8.62132 11.0575 7.59488 11.0254 6.44012C3.97427 10.161 0 15.0366 0 19.9764C0 30.9145 19.5188 40.1525 48.5246 39.7676C58.6205 39.6393 67.0498 38.1958 74.6778 35.6939C83.7482 32.7428 89.4532 28.5087 90.8313 26.6483C89.1968 28.1238 85.3186 31.0748 77.0816 33.5126ZM23.2687 4.38723C24.9674 3.80985 27.3712 3.0721 27.3712 3.0721C34.1339 1.21166 41.6017 0.121063 48.5566 0.185215C40.544 -0.295931 33.2365 0.185215 26.8584 1.33997C26.8584 1.33997 24.743 1.69281 22.4675 2.27018C22.4675 2.27018 21.3777 2.55887 20.7047 2.75133C20.0316 2.94379 19.1021 3.2004 19.1021 3.2004C18.4611 3.39286 17.8201 3.6174 17.1791 3.84193C17.8201 4.48346 18.2047 5.31745 18.2368 6.27974C19.3586 5.76652 21.5059 4.99668 23.2687 4.38723Z",fill:"#E30034"})),i("defs",{key:"cdddf7e41a98bd6c42f21c932375c03ddffe1978"},i("clipPath",{key:"4126cf1519f0eca310b60f97c3ae3b7fbe88b29b",id:"clip0_2396_2480"},i("rect",{key:"97f015f24d1130d7e11d7d4ad34244c97da58f6b",width:"91",height:"40",fill:"white"}))))," "),i("div",{key:"9ccddff07a2ff7b647f371bfbdf3983e0c184527",class:"sidebar__nav-bar-logo-text"},this.applicationName))),i("div",{key:"7fec340c45c54cb69531101b23727d4bdfb69a2e",class:"sidebar__nav-container"},i("slot",{key:"834e630aca654dafe2b5110b48e9e88f05a0b01a"}))),this.internalShowFooter&&i("div",{key:"2cf8d40886a70ffba5430c27df44115c7ad99ac9",class:"sidebar__footer-container"},i("div",{key:"1a3d50611b08bca2f04f66123403b15398d3a9cf",class:"sidebar__footer-wrapper"},(this.internalTermsofUse||this.internalImprint||this.internalPrivacyPolicy)&&i("div",{key:"d71ebe4fb7c74e37be2196687a3305c7f5dac79b",class:"sidebar__footer-wrapper-top-links"},this.internalTermsofUse!==""&&i("a",{key:"bbd606eb515361237e9b4a6c228b268104d771f9",target:this.target,href:this.internalTermsofUse},"Terms of use"),this.internalImprint!==""&&i("a",{key:"36dcca84a31cef56c3e887c18d3ce03e9f776872",target:this.target,href:this.internalImprint},"Imprint"),this.internalPrivacyPolicy!==""&&i("a",{key:"282f6b23069a0da7eec39c5769aa7cd2cad16d26",target:this.target,href:this.internalPrivacyPolicy},"Privacy policy")),this.copyrightText&&i("div",{key:"883fddb2f2de443cd35bd763d57d347a52f7b9f8",class:"sidebar__footer-wrapper-bottom-links"},i("span",{key:"3ff9907df87bda6d691aa80c2c937ffd33cac75f"},this.copyrightText)))))}get el(){return t(this)}};c.style=s;export{c as ifx_sidebar};
2
- //# sourceMappingURL=p-e5018880.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["sidebarCss","IfxSidebarStyle0","ACTIVE","ACTIVE_SECTION","SIDEBAR_ITEM","Sidebar","constructor","hostRef","this","applicationName","initialCollapse","showFooter","showHeader","termsOfUse","imprint","privacyPolicy","target","currentYear","Date","getFullYear","copyrightText","internalTermsofUse","internalImprint","internalPrivacyPolicy","internalShowFooter","activeItem","expandActiveItems","expandRecursively","async","parent","isItemExpandable","active","currRes","children","getSidebarMenuItems","i","length","Math","max","expandMenu","topLevelItems","el","adjustTopBorder","tagName","shadowRoot","querySelector","classList","add","contains","allIfxTitles","querySelectorAll","forEach","element","nextSibling","nextElementSibling","addPaddingToTheLastItem","sidebarItem","sidebarChildItems","childItem","childNavItem","getNavItem","isChildItemExpandable","handleClassList","adjustItemsPadding","sidebarItems","toUpperCase","isFirstSidebarItemExpandable","previousSidebarItem","previousSidebarNavItem","sidebarNavItem","isSidebarItemExpandable","componentDidLoad","setInitialActiveItem","applyActiveSectionToParent","_a","handleItem","firstActiveFoundInGroup","item","isActive","handleBorderIndicatorDisplacement","setAttribute","hasChildren","hasActiveChild","clickedItemSection","getActiveItemSection","isOpen","containsActiveSection","type","className","clickedItem","activeMenuItemSection","isMenu","removeActiveClassesRecursively","removeClasses","root","querySidebarItems","child","remove","getAttribute","menuItem","handleSidebarItemInteraction","event","detail","subMenus","menu","menuItemSection","iteratedComponent","activeAttributeValue","handleSidebarItemActivated","parentElement","componentWillLoad","trackComponent","trim","render","h","key","class","width","height","viewBox","fill","xmlns","d","id","href"],"sources":["src/components/navigation/sidebar/sidebar.scss?tag=ifx-sidebar&encapsulation=shadow","src/components/navigation/sidebar/sidebar.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../../global/font.scss\";\n\n:host {\n height: 100%;\n display: inline-flex;\n}\n\n.sidebar__container {\n box-sizing: border-box;\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 0px;\n background-color: tokens.$ifxColorBaseWhite;\n border-right: 1px solid #EEEDED;\n width: 264px;\n height: 100%;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n & .sidebar__top-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 0px;\n flex: 1 1 auto;\n order: 0;\n z-index: 0;\n width: 100%;\n overflow-y: auto;\n\n //max-height: 440px;\n //overflow-y: auto;\n\n & .sidebar__nav-bar {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 12px 32px;\n background-color: tokens.$ifxColorBaseWhite;\n flex: none;\n order: 0;\n flex-grow: 0;\n width: 100%;\n\n & .sidebar__nav-bar-logo {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n padding: 0px;\n gap: tokens.$ifxSpace200;\n flex: none;\n order: 0;\n flex-grow: 0;\n\n & .sidebar__nav-bar-logo-img {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 0px;\n flex: none;\n order: 0;\n flex-grow: 0;\n\n & svg {\n width: 91px;\n height: tokens.$ifxSize500;\n }\n }\n\n & .sidebar__nav-bar-logo-text {\n font-style: normal;\n font-weight: tokens.$ifxFontWeightSemibold;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n display: flex;\n align-items: center;\n color: tokens.$ifxColorBaseBlack;\n flex: none;\n order: 1;\n flex-grow: 0;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: anywhere;\n }\n }\n }\n\n & .sidebar__nav-container {\n scrollbar-gutter: stable;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 12px 32px;\n flex: 1 1 auto;\n order: 1;\n width: 100%;\n // overflow-y: auto;\n\n & ::slotted(*) {\n width: 100%;\n }\n }\n }\n\n & .sidebar__footer-container {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n align-items: center;\n padding: 0px 32px;\n flex: none;\n order: 1;\n align-self: stretch;\n flex-grow: 1;\n z-index: 1;\n\n & .sidebar__footer-wrapper {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 24px 0px;\n gap: tokens.$ifxSpace200;\n border-top: 1px solid #EEEDED;\n flex: none;\n order: 0;\n flex-grow: 0;\n width: 100%;\n\n\n & .sidebar__footer-wrapper-top-links {\n display: flex;\n align-items: flex-start;\n padding: 0px;\n gap: 12px;\n flex: none;\n order: 0;\n align-self: stretch;\n flex-grow: 0;\n flex-wrap: wrap;\n\n & a {\n font: tokens.$ifxBodyBody04;\n display: flex;\n text-decoration: none;\n align-items: center;\n color: tokens.$ifxColorBaseBlack;\n flex: none;\n flex-grow: 0;\n\n &:hover {\n color: #08665C;\n }\n\n &:focus {\n outline: none;\n color: #08665C;\n }\n }\n }\n\n & .sidebar__footer-wrapper-bottom-links {\n display: flex;\n flex-direction: column;\n align-items: center;\n\n & span {\n font: tokens.$ifxBodyBody04;\n text-decoration: none;\n color: tokens.$ifxColorEngineering500;\n flex: none;\n order: 1;\n flex-grow: 0;\n white-space: pre-wrap;\n word-wrap: break-word; \n overflow-wrap: anywhere;\n\n &:hover {\n cursor: initial;\n }\n }\n }\n }\n }\n}","import { Component, h, Element, Prop, State, Listen } from '@stencil/core';\nimport { trackComponent } from '../../../global/utils/tracking';\n\nconst ACTIVE = 'active';\nconst ACTIVE_SECTION = 'active-section';\nconst SIDEBAR_ITEM = '.sidebar__nav-item';\n\n@Component({\n tag: 'ifx-sidebar',\n styleUrl: 'sidebar.scss',\n shadow: true\n})\n\nexport class Sidebar {\n @Element() el;\n @Prop() applicationName: string = ''\n @Prop() initialCollapse: boolean = true\n @Prop() showFooter: boolean = true\n @Prop() showHeader: boolean = true;\n @Prop() termsOfUse: string = \"#\"\n @Prop() imprint: string = \"#\"\n @Prop() privacyPolicy: string = \"#\"\n @Prop() target: string = \"_blank\"\n @State() currentYear: number = new Date().getFullYear()\n @Prop() copyrightText: string = '© 1999 - ' + this.currentYear + ' Infineon Technologies AG'\n @State() internalTermsofUse: string = \"\"\n @State() internalImprint: string = \"\"\n @State() internalPrivacyPolicy: string = \"\"\n @State() internalShowFooter: boolean = true\n\n @State() activeItem: HTMLElement | null = null;\n\n expandActiveItems(){\n const expandRecursively = async (parent) => {\n if(await parent.isItemExpandable() !== true){\n if(parent.active) return 1;\n return 0;\n }\n let currRes = 0;\n const children = this.getSidebarMenuItems(parent);\n for(let i = 0; i < children.length; i++){\n currRes = Math.max(currRes, await expandRecursively(children[i]));\n }\n if(currRes > 0){\n if(currRes == 1){\n parent.expandMenu(false);\n }else{\n parent.expandMenu(true);\n }\n }\n\n return (currRes ? currRes+1 : 0);\n }\n\n const topLevelItems = this.getSidebarMenuItems(this.el);\n for(let i = 0; i < topLevelItems.length; i++){\n expandRecursively(topLevelItems[i])\n }\n }\n\n adjustTopBorder() {\n const children = this.el.children;\n if(!children.length) return;\n if(children[0].tagName === 'IFX-SIDEBAR-TITLE'){\n children[0].shadowRoot.querySelector('.sidebar__title').classList.add('no-top-border')\n }\n \n if(children[0].tagName === 'IFX-SIDEBAR-ITEM' && children[0].shadowRoot.querySelector('div > a').classList.contains('header__section')){\n children[0].shadowRoot.querySelector('div > a').classList.add('no-top-border')\n }\n\n const allIfxTitles = this.el.querySelectorAll('ifx-sidebar-title');\n allIfxTitles.forEach(element => {\n const nextSibling = element.nextElementSibling;\n if(nextSibling && nextSibling.tagName === 'IFX-SIDEBAR-ITEM' && nextSibling.shadowRoot.querySelector('div > a').classList.contains('header__section')){\n nextSibling.shadowRoot.querySelector('div > a').classList.add('no-top-border')\n }\n });\n }\n\n async addPaddingToTheLastItem(sidebarItem) {\n const sidebarChildItems = this.getSidebarMenuItems(sidebarItem)\n\n for(let i = 0; i < sidebarChildItems.length; i++){\n\n const childItem = sidebarChildItems[i];\n const childNavItem = this.getNavItem(childItem.shadowRoot);\n const isChildItemExpandable = await childItem.isItemExpandable();\n\n if(isChildItemExpandable) {\n this.addPaddingToTheLastItem(childItem);\n }\n\n if(i === sidebarChildItems.length-1){\n this.handleClassList(childNavItem, 'add', 'extra-padding__bottom');\n }\n }\n }\n\n async adjustItemsPadding() {\n const sidebarItems = this.el.children;\n\n if(sidebarItems.length === 0) return;\n\n // Processing first item\n if(sidebarItems[0].tagName.toUpperCase() === 'IFX-SIDEBAR-ITEM') {\n const isFirstSidebarItemExpandable = sidebarItems[0].isItemExpandable();\n if(isFirstSidebarItemExpandable) {\n this.addPaddingToTheLastItem(sidebarItems[0]);\n }\n }\n\n // Processing remaining items\n for(let i = 1; i < sidebarItems.length; i++){\n\n const sidebarItem = sidebarItems[i];\n const previousSidebarItem = sidebarItems[i-1];\n const previousSidebarNavItem = this.getNavItem(previousSidebarItem.shadowRoot);\n\n if(sidebarItem.tagName.toUpperCase() === 'IFX-SIDEBAR-TITLE') {\n \n if(previousSidebarItem.tagName.toUpperCase() === 'IFX-SIDEBAR-ITEM' && previousSidebarNavItem && !this.handleClassList(previousSidebarNavItem, 'contains', 'header__section')) {\n this.handleClassList(previousSidebarNavItem, 'add', 'extra-padding__bottom');\n }\n\n } else if(sidebarItem.tagName.toUpperCase() === 'IFX-SIDEBAR-ITEM') {\n\n const sidebarNavItem = this.getNavItem(sidebarItem.shadowRoot);\n\n if(previousSidebarItem.tagName.toUpperCase() === 'IFX-SIDEBAR-ITEM' && previousSidebarNavItem && !this.handleClassList(previousSidebarNavItem, 'contains', 'header__section') && this.handleClassList(sidebarNavItem, 'contains', 'header__section')) {\n this.handleClassList(previousSidebarNavItem, 'add', 'extra-padding__bottom');\n }\n\n const isSidebarItemExpandable = await sidebarItem.isItemExpandable();\n\n if(isSidebarItemExpandable) {\n this.addPaddingToTheLastItem(sidebarItem);\n }\n }\n }\n\n }\n \n componentDidLoad() {\n this.adjustTopBorder();\n this.setInitialActiveItem();\n if(!this.initialCollapse){\n this.expandActiveItems();\n }\n this.adjustItemsPadding();\n this.applyActiveSectionToParent(this.el);\n }\n\n getSidebarMenuItems(el = this.el) {\n const sidebarItems = el.querySelectorAll('ifx-sidebar-item');\n if (sidebarItems.length === 0) {\n return el.shadowRoot?.querySelectorAll('ifx-sidebar-item');\n }\n return sidebarItems;\n }\n\n setInitialActiveItem() {\n const handleItem = (parent) => {\n const children = this.getSidebarMenuItems(parent);\n let firstActiveFoundInGroup = false;\n\n children?.forEach(item => {\n // If the item is active and it's the first active one in its group\n if (this.isActive(item) && !firstActiveFoundInGroup) {\n firstActiveFoundInGroup = true;\n this.handleBorderIndicatorDisplacement(item);\n }\n // If the item is active but it's not the first one in its group\n else if (this.isActive(item) && firstActiveFoundInGroup) {\n item.setAttribute('active', 'false'); // Set the 'active' attribute to 'false'\n }\n\n\n // If the clicked item is a menu and doesn't have any active children\n if (this.hasChildren(item.shadowRoot) && !this.hasActiveChild(item.shadowRoot)) {\n const clickedItemSection = this.getActiveItemSection(item);\n this.handleClassList(clickedItemSection, 'remove', 'active-section');\n }\n // If clickedItem is an opened menu and it contains another menu with 'active-section'\n if (this.hasChildren(item.shadowRoot) && this.isOpen(item.shadowRoot) && this.containsActiveSection(item)) {\n const clickedItemSection = this.getActiveItemSection(item);\n this.handleClassList(clickedItemSection, 'remove', 'active-section');\n }\n\n // Recursive call for child items\n if (this.hasChildren(item.shadowRoot)) {\n handleItem(item.shadowRoot);\n }\n });\n }\n // Start with the top-level items\n const topLevelItems = this.getSidebarMenuItems(this.el);\n topLevelItems.forEach(handleItem);\n }\n\n\n handleClassList(el, type, className) {\n el.classList[type](className)\n if (type === 'contains') {\n return el.classList.contains(className)\n }\n }\n\n\n getActiveItemSection(item) {\n return this.getNavItem(item.shadowRoot);\n }\n\n\n getNavItem(el) {\n return el?.querySelector('.sidebar__nav-item')\n }\n\n hasChildren(el) {\n return el?.querySelector('.item__arrow-wrapper') !== null ? true : false;\n }\n\n\n handleBorderIndicatorDisplacement(clickedItem) {\n // Recursive function to handle each item\n const handleItem = (item) => {\n // Check if current item is active or the one that was clicked\n const isActive = this.isActive(item) || item === clickedItem;\n\n if (isActive) {\n const activeMenuItemSection = this.getActiveItemSection(item);\n const isMenu = this.hasChildren(activeMenuItemSection);\n\n if (isMenu) {\n this.handleClassList(activeMenuItemSection, 'add', 'active-section');\n }\n }\n\n // Recursive call for child items\n const children = this.getSidebarMenuItems(item);\n children.forEach(handleItem);\n };\n\n // Start with the top-level items\n const topLevelItems = this.getSidebarMenuItems(this.el);\n topLevelItems.forEach(handleItem);\n }\n\n\n removeActiveClassesRecursively() {\n const removeClasses = (root) => {\n const children = this.querySidebarItems(root);\n children.forEach((child) => {\n const sidebarItem = child.shadowRoot.querySelector(SIDEBAR_ITEM);\n sidebarItem.classList.remove(ACTIVE_SECTION);\n sidebarItem.classList.remove(ACTIVE);\n if (child.getAttribute('active')) {\n child.setAttribute('active', 'false');\n }\n removeClasses(child.shadowRoot);\n });\n }\n removeClasses(this.el);\n if (this.activeItem) {\n this.activeItem.setAttribute('active', 'false');\n }\n this.activeItem = null;\n }\n\n hasActiveChild(menuItem) {\n const children = this.getSidebarMenuItems(menuItem);\n if (children) {\n for (let child of children) {\n // If the child item is active\n if (this.isActive(child)) {\n return true;\n }\n // If the child item has children, recurse into them\n else if (this.hasChildren(child.shadowRoot)) {\n if (this.hasActiveChild(child.shadowRoot)) {\n return true;\n }\n }\n }\n }\n return false;\n }\n\n\n @Listen('ifxSidebarMenu')\n handleSidebarItemInteraction(event: CustomEvent) {\n // This method can be used to handle the ifxSidebarMenu event\n // Get the element that triggered the event\n const clickedItem = event.detail;\n\n // If the clicked item is not a menu OR is a menu that has an active child\n if (!this.hasChildren(clickedItem.shadowRoot) || this.hasActiveChild(clickedItem.shadowRoot)) {\n this.handleBorderIndicatorDisplacement(clickedItem);\n }\n\n // If the clicked item is a menu and doesn't have any active children\n if (this.hasChildren(clickedItem.shadowRoot) && !this.hasActiveChild(clickedItem.shadowRoot)) {\n const clickedItemSection = this.getActiveItemSection(clickedItem);\n this.handleClassList(clickedItemSection, 'remove', 'active-section');\n }\n\n // If clickedItem is an opened menu and it contains another menu with 'active-section'\n if (this.hasChildren(clickedItem.shadowRoot) && this.isOpen(clickedItem.shadowRoot) && this.containsActiveSection(clickedItem)) {\n const clickedItemSection = this.getActiveItemSection(clickedItem);\n this.handleClassList(clickedItemSection, 'remove', 'active-section');\n }\n }\n\n isOpen(menuItem) {\n return this.getNavItem(menuItem).classList.contains('open') ? true : false;\n }\n\n containsActiveSection(menuItem) {\n const children = this.getSidebarMenuItems(menuItem);\n for (let child of children) {\n if (this.getNavItem(child.shadowRoot).classList.contains('active-section') || (this.hasChildren(child.shadowRoot) && this.containsActiveSection(child.shadowRoot))) {\n this.handleClassList(child, 'add', 'active-section')\n return true;\n }\n }\n return false;\n }\n\n applyActiveSectionToParent(el) {\n // Get all submenus of the given element\n const subMenus = this.getSidebarMenuItems(el);\n\n subMenus?.forEach(menu => {\n // If this submenu has an active child, add active-section class to it\n if (this.hasActiveChild(menu.shadowRoot)) {\n const menuItemSection = this.getActiveItemSection(menu);\n this.handleClassList(menuItemSection, 'add', 'active-section');\n }\n\n // Apply to submenu's children\n this.applyActiveSectionToParent(menu.shadowRoot);\n });\n }\n\n\n\n querySidebarItems(el) {\n return el.querySelectorAll('ifx-sidebar-item')\n }\n\n isActive(iteratedComponent) {\n const activeAttributeValue = iteratedComponent.getAttribute('active');\n const isActive = activeAttributeValue === 'true';\n return isActive;\n }\n\n @Listen('ifxSidebarNavigationItem')\n handleSidebarItemActivated(event: CustomEvent) {\n\n this.removeActiveClassesRecursively();\n\n this.activeItem = event.detail;\n this.activeItem.setAttribute('active', 'true');\n\n // Get the parent element of the activated item\n const parent = this.getNavItem(event.detail.parentElement.parentElement.parentElement);\n if (parent) {\n this.handleClassList(parent, 'add', 'active-section');\n }\n }\n\n componentWillLoad() {\n trackComponent('ifx-sidebar')\n this.internalTermsofUse = this.termsOfUse.trim();\n this.internalPrivacyPolicy = this.privacyPolicy.trim();\n this.internalImprint = this.imprint.trim();\n this.internalShowFooter = this.showFooter;\n if(this.internalShowFooter && !this.internalImprint && !this.internalPrivacyPolicy && !this.internalTermsofUse && !this.copyrightText){\n this.internalShowFooter = false;\n }\n }\n \n render() {\n return (\n <div aria-label=\"a navigation sidebar\" aria-value={this.applicationName} class='sidebar__container'>\n <div class='sidebar__top-container'>\n {\n this.showHeader && \n <div class=\"sidebar__nav-bar\">\n <div class=\"sidebar__nav-bar-logo\">\n <div class='sidebar__nav-bar-logo-img'>\n <svg width=\"91\" height=\"40\" viewBox=\"0 0 91 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_2396_2480)\">\n <path d=\"M67.691 26.7766C71.0884 26.7766 72.1461 23.1841 72.1461 19.8802C72.1461 15.4536 70.2871 13.1441 67.691 13.1441C64.4219 13.1441 63.2681 16.7367 63.3001 19.9443C63.3322 23.1199 64.2296 26.7766 67.691 26.7766ZM66.0244 19.8481C66.0244 18.533 66.0244 15.4536 67.691 15.4536C69.4859 15.4536 69.4218 18.5009 69.4218 19.9123C69.4218 21.2595 69.4218 24.5313 67.7551 24.5313C65.9603 24.4992 66.0244 21.2274 66.0244 19.8481ZM57.8195 26.7766C59.1976 26.7766 60.3835 26.2313 61.5053 25.0445L60.5117 23.1841C59.7425 24.018 58.9733 24.4671 58.0438 24.4671C57.2746 24.4671 56.6336 24.018 56.249 23.2482C55.9285 22.5746 55.8644 21.8048 55.8644 20.9708V20.7142H61.6335V20.1368C61.6335 17.282 61.2809 15.7102 60.3835 14.5234C59.7104 13.6253 58.7169 13.1441 57.499 13.1441C56.2169 13.1441 55.1593 13.7215 54.39 14.8442C53.5567 16.0631 53.2042 17.699 53.2042 19.9443C53.1721 24.2426 54.8708 26.7766 57.8195 26.7766ZM57.531 15.2612C58.172 15.2612 58.5566 15.614 58.813 16.1914C59.0053 16.7046 59.1015 17.5707 59.1015 18.5971H55.8644C55.8964 16.3197 56.3772 15.2612 57.531 15.2612ZM74.2614 26.4559H76.7614V16.8329C77.3703 16.0952 78.0754 15.6782 78.5882 15.6782C78.9087 15.6782 79.2292 15.7423 79.4215 15.9989C79.6138 16.2876 79.71 16.7046 79.71 17.699V26.4559H82.21V16.5442C82.21 15.6782 82.1138 14.8121 81.601 14.1706C81.1523 13.5932 80.4472 13.2404 79.5497 13.2404C78.3959 13.2404 77.2101 13.914 76.569 14.6838C76.537 14.0102 76.3126 13.3687 76.2485 13.1441L73.9089 13.7536C74.0371 14.4593 74.2294 15.3253 74.2294 16.8971V26.4559H74.2614ZM45.2236 14.6838C45.1915 14.0102 44.9672 13.3687 44.9031 13.1441L42.5634 13.7536C42.6916 14.4593 42.8839 15.3253 42.8839 16.8971V26.4238H45.3838V16.8008C45.9928 16.0631 46.6979 15.6461 47.2107 15.6461C47.5312 15.6461 47.8517 15.7102 48.044 15.9669C48.2363 16.2555 48.3325 16.6725 48.3325 17.6669V26.4238H50.8324V16.5442C50.8324 15.6782 50.7363 14.8121 50.2235 14.1706C49.7748 13.5932 49.0696 13.2404 48.1722 13.2404C47.0505 13.2404 45.8646 13.914 45.2236 14.6838ZM14.6473 9.07042C16.1216 9.07042 17.3075 7.88359 17.3075 6.40807C17.3075 4.93256 16.1216 3.74573 14.6473 3.74573C13.173 3.74573 11.9871 4.93256 11.9871 6.40807C11.9871 7.88359 13.173 9.07042 14.6473 9.07042ZM26.9227 26.4559V16.5442C26.9227 15.6782 26.8265 14.8121 26.3137 14.1706C25.865 13.5932 25.1599 13.2404 24.2625 13.2404C23.1087 13.2404 21.9228 13.914 21.2818 14.6838C21.2497 14.0102 21.0254 13.3687 20.9613 13.1441L18.6536 13.7857C18.7818 14.4913 18.9741 15.3574 18.9741 16.9291V26.4559H21.4741V16.8329C22.0831 16.0952 22.7882 15.6782 23.301 15.6782C23.6215 15.6782 23.942 15.7423 24.1343 15.9989C24.3266 16.2876 24.4227 16.7046 24.4227 17.699V26.4559H26.9227ZM38.4289 8.36474C37.4994 8.36474 36.7622 9.10249 36.7622 10.0327C36.7622 10.9629 37.4994 11.7007 38.3968 11.7007C39.3263 11.7007 40.0634 10.9629 40.0634 10.0327C40.0634 9.10249 39.3263 8.36474 38.4289 8.36474ZM13.4614 26.4559H15.9614V10.8346L13.4614 11.1554V26.4559ZM33.8777 9.90441C34.3264 9.90441 34.7751 10.0648 35.0635 10.2893L35.7687 8.33266C35.0956 7.85151 34.3584 7.62698 33.429 7.62698C32.788 7.62698 32.1149 7.78736 31.5059 8.26851C30.897 8.78173 30.256 9.80818 30.256 11.7328C30.256 12.5667 30.288 13.4328 30.288 13.4328H29.4226V15.6461H30.288V26.4238H32.8521V15.6782H34.743L35.2238 13.4649H32.8841V11.4762C32.8841 10.5139 33.2687 9.90441 33.8777 9.90441ZM37.1468 26.4559H39.6788V13.2404L37.1468 13.5611V26.4559Z\" fill=\"#005DA9\" />\n <path d=\"M77.0816 33.5126C68.6203 36.0146 58.3321 37.1052 48.2682 37.1052C22.7239 37.1052 6.24986 29.5993 5.09604 19.6877C4.67938 15.9668 7.59599 12.3422 12.4677 9.26285C11.6023 8.62132 11.0575 7.59488 11.0254 6.44012C3.97427 10.161 0 15.0366 0 19.9764C0 30.9145 19.5188 40.1525 48.5246 39.7676C58.6205 39.6393 67.0498 38.1958 74.6778 35.6939C83.7482 32.7428 89.4532 28.5087 90.8313 26.6483C89.1968 28.1238 85.3186 31.0748 77.0816 33.5126ZM23.2687 4.38723C24.9674 3.80985 27.3712 3.0721 27.3712 3.0721C34.1339 1.21166 41.6017 0.121063 48.5566 0.185215C40.544 -0.295931 33.2365 0.185215 26.8584 1.33997C26.8584 1.33997 24.743 1.69281 22.4675 2.27018C22.4675 2.27018 21.3777 2.55887 20.7047 2.75133C20.0316 2.94379 19.1021 3.2004 19.1021 3.2004C18.4611 3.39286 17.8201 3.6174 17.1791 3.84193C17.8201 4.48346 18.2047 5.31745 18.2368 6.27974C19.3586 5.76652 21.5059 4.99668 23.2687 4.38723Z\" fill=\"#E30034\" />\n </g>\n <defs>\n <clipPath id=\"clip0_2396_2480\">\n <rect width=\"91\" height=\"40\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg> </div>\n <div class='sidebar__nav-bar-logo-text'>{this.applicationName}</div>\n </div>\n </div>\n }\n <div class=\"sidebar__nav-container\">\n <slot />\n </div>\n </div>\n\n {\n this.internalShowFooter &&\n <div class='sidebar__footer-container'>\n <div class=\"sidebar__footer-wrapper\">\n {\n (this.internalTermsofUse || this.internalImprint || this.internalPrivacyPolicy) &&\n <div class='sidebar__footer-wrapper-top-links'>\n {\n this.internalTermsofUse !== '' && <a target={this.target} href={this.internalTermsofUse}>Terms of use</a>\n }\n {\n this.internalImprint !== '' && <a target={this.target} href={this.internalImprint}>Imprint</a>\n }\n {\n this.internalPrivacyPolicy !== '' && <a target={this.target} href={this.internalPrivacyPolicy}>Privacy policy</a>\n }\n </div>\n }\n \n {\n this.copyrightText &&\n <div class='sidebar__footer-wrapper-bottom-links'>\n <span>{this.copyrightText}</span>\n </div>\n }\n </div>\n </div>\n }\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,c as t,h as o,a as n,g as i}from"./p-b7a462e5.js";import{t as a}from"./p-6ecb6a6f.js";import{i as s}from"./p-1ecafb97.js";function r(e,t,o,n=20,i=0){const a=[];if(i>=n){return a}const s=e=>{const a=e.assignedNodes().filter((e=>e.nodeType===1));if(a.length>0){const e=a[0].parentElement;return r(e,t,o,n,i+1)}return[]};const d=Array.from(e.children||[]);for(const e of d){if(t(e)){continue}if(o(e)){a.push(e)}if(e.shadowRoot!=null){a.push(...r(e.shadowRoot,t,o,n,i+1))}else if(e.tagName==="SLOT"){a.push(...s(e))}else{a.push(...r(e,t,o,n,i+1))}}return a}function d(e){return e.hasAttribute("hidden")||e.hasAttribute("aria-hidden")&&e.getAttribute("aria-hidden")!=="false"||e.style.display===`none`||e.style.opacity===`0`||e.style.visibility===`hidden`||e.style.visibility===`collapse`}function c(e){return e.hasAttribute("disabled")||e.hasAttribute("aria-disabled")&&e.getAttribute("aria-disabled")!=="false"}function l(e){if(e.getAttribute("tabindex")==="-1"||d(e)||c(e)){return false}return e.hasAttribute("tabindex")||(e instanceof HTMLAnchorElement||e instanceof HTMLAreaElement)&&e.hasAttribute("href")||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLIFrameElement}function f(e,t,o){const n=e.animate(t,Object.assign(Object.assign({},o),{fill:"both"}));n.addEventListener("finish",(()=>{n.commitStyles();n.cancel()}));return n}const h={easing:"cubic-bezier(0.390, 0.575, 0.565, 1.000)"};const b={fadeIn:[Object.assign(Object.assign({offset:0},h),{opacity:0}),Object.assign(Object.assign({offset:1},h),{opacity:1})],fadeOut:[Object.assign(Object.assign({offset:0},h),{opacity:1}),Object.assign(Object.assign({offset:1},h),{opacity:0})]};const m=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:block}.modal-container{display:none;justify-content:center;align-items:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:1060;overflow-y:auto;font-family:var(--ifx-font-family)}.modal-container.open{display:flex}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#1D1D1D;opacity:0.5;z-index:0}.modal-content-container{position:absolute;display:flex;justify-content:center;width:90%;min-height:218px;background-color:#fff;border-radius:0;box-shadow:0 2px 10px rgba(0, 0, 0, 0.1);box-sizing:border-box;align-items:stretch}.modal-content-container.no-overflow{overflow:hidden}.modal-content-container.no-overflow .modal-body{overflow-y:auto}@media screen and (min-width: 768px){.modal-content-container{width:540px;min-height:132px}.modal-content-container.m,.modal-content-container.l,.modal-content-container.s{width:90%}}@media screen and (min-width: 1024px){.modal-content-container.s{width:47vw}.modal-content-container.m{width:63vw}.modal-content-container.l{width:80%}}.modal-content{display:flex;flex-direction:column;width:100%;max-height:90vh}.modal-icon-container{display:flex;align-items:center;justify-content:center;width:32px;background-color:#0A8276;align-self:stretch}.modal-icon-container.danger{background-color:#CD002F}.modal-icon-container ifx-icon{color:#FFFFFF}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;min-height:76px;max-height:105px;box-sizing:border-box;border-radius:1px 1px 0px 0px;border-bottom:1px solid #EEEDED}.modal-caption{max-height:56px;display:-webkit-box;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.modal-header h2{margin:0;font-weight:600;font-size:1.25rem;line-height:28px}.modal-header button{background:none;border:none;font-size:1.5em;padding:0;cursor:pointer}.modal-close-button{align-self:flex-start;margin-right:-8px}.modal-body{padding:16px 24px;min-height:56px;box-sizing:border-box;flex:1}.modal-footer.buttons-present ::slotted(*){display:flex;justify-content:flex-end;gap:16px;padding:16px 24px 32px 16px}.modal-border{display:flex;align-items:center;justify-content:center;width:100%;font-size:1.5em;flex-grow:1}.modal-border.primary{background-color:#0A8276}.modal-border.secondary{background-color:#575352}.modal-border.danger{background-color:#CD002F}.modal-border.success{background-color:#4CA460}.modal-border.warning{background-color:#E16B25}.modal-border.orange{background-color:#E16B25}.modal-border.ocean{background-color:#0A8276}.modal-border.grey{background-color:#575352}.modal-border.grey-200{background-color:#EEEDED}.modal-border.red{background-color:#CD002F}.modal-border.green{background-color:#4CA460}.modal-border.berry{background-color:#9C216E}';const u=m;const p=class{constructor(o){e(this,o);this.ifxOpen=t(this,"ifxOpen",7);this.ifxClose=t(this,"ifxClose",7);this.opened=false;this.showModal=this.opened||false;this.caption="Modal Title";this.closeOnOverlayClick=true;this.variant="default";this.size="s";this.alertIcon="";this.okButtonLabel="OK";this.cancelButtonLabel="Cancel";this.slotButtonsPresent=false;this.showCloseButton=true;this.focusableElements=[];this.handleTopFocus=()=>{this.attemptFocus(this.getLastFocusableElement())};this.handleBottomFocus=()=>{this.attemptFocus(this.getFirstFocusableElement())};this.handleKeypress=e=>{if(!this.showModal){return}if(e.key==="Escape"){this.doBeforeClose("ESCAPE_KEY")}}}componentWillLoad(){if(!s(this.hostElement)){a("ifx-modal")}}componentDidLoad(){this.focusableElements=r(this.hostElement.shadowRoot,(e=>d(e)||e.matches("[data-focus-trap-edge]")),l)}componentWillRender(){if(this.showModal){this.handleComponentOverflow()}}handleComponentOverflow(){const e=this.hostElement.shadowRoot.querySelector(".modal-content-container");if(this.showModal&&this.isModalContentContainerHeightReachedViewport()){e.classList.add("no-overflow")}else if(e===null||e===void 0?void 0:e.classList.contains("no-overflow")){e===null||e===void 0?void 0:e.classList.remove("no-overflow")}}getFirstFocusableElement(){return this.focusableElements[0]}getLastFocusableElement(){return this.focusableElements[this.focusableElements.length-1]}attemptFocus(e){if(e==null){setTimeout((()=>{this.closeButton.focus()}));return}setTimeout((()=>{e.focus()}),0)}open(){this.showModal=true;try{const e=f(this.modalContainer,b.fadeIn,{duration:200});e.addEventListener("finish",(()=>{setTimeout((()=>{var e,t;(e=this.getLastFocusableElement())===null||e===void 0?void 0:e.focus();(t=this.getLastFocusableElement())===null||t===void 0?void 0:t.blur()}),0);this.ifxOpen.emit()}));this.hostElement.addEventListener("keydown",this.handleKeypress)}catch(e){this.ifxOpen.emit()}}close(){try{const e=f(this.modalContainer,b.fadeOut,{duration:200});e.addEventListener("finish",(()=>{this.showModal=false;this.ifxClose.emit()}));this.hostElement.removeEventListener("keydown",this.handleKeypress)}catch(e){this.showModal=false;this.ifxClose.emit()}}doBeforeClose(e){const t=[];t.push(e);const o=t.some((e=>e.defaultPrevented));if(!o){this.opened=false}}openedChanged(e){if(e===true){this.open()}else{this.close()}}handleOverlayClick(){if(this.closeOnOverlayClick){this.doBeforeClose("BACKDROP")}}handleContentUpdate(e){const t=e.target;const o=t.assignedNodes();if(o.length>0){o.forEach((e=>{if(e.observer){e.observer.disconnect();delete e.observer}const t=new MutationObserver(((e,t)=>{for(let t of e){if(t.type==="childList"){if(this.showModal){this.handleComponentOverflow()}}}}));t.observe(e,{attributes:true,childList:true,subtree:true});e.observer=t}))}}handleButtonsSlotChange(e){var t;if(((t=e.currentTarget.assignedElements()[0])===null||t===void 0?void 0:t.childElementCount)>0){this.slotButtonsPresent=true}else{this.slotButtonsPresent=false}}isModalContentContainerHeightReachedViewport(){return new Promise((e=>{setTimeout((()=>{const t=this.hostElement.shadowRoot.querySelector(".modal-content");const o=t.offsetHeight;const n=window.innerHeight;e(o>=n*.9)}),100)}))}render(){const e=this.variant!=="default";return o(n,{key:"a708fd0da720aedaa40a0142146a026fa198e0bc"},o("div",{key:"2249783645e2856011e24a5e48fa43623e47c151",ref:e=>this.modalContainer=e,class:`modal-container ${this.showModal?"open":""}`},o("div",{key:"e80787c6ae011341234462185588b61e0699cc05",class:"modal-overlay",onClick:()=>this.handleOverlayClick()}),o("div",{key:"17e8a1e8fd121d45a2eb1e3b5ea815bd3e50c516","data-focus-trap-edge":true,onFocus:this.handleTopFocus,tabindex:"0"}),o("div",{key:"5b24d3bbc6d50a2e70aaa908e8b56207c6b535d6",class:`modal-content-container ${this.size}`,role:"dialog","aria-modal":"true","aria-label":this.caption},e?o("div",{class:`modal-icon-container ${this.variant==="alert-brand"?"":"danger"}`},this.alertIcon?o("ifx-icon",{icon:this.alertIcon}):null):null,o("div",{key:"7679ea4179f66915dd510f6b7c6c1c3e6d7869b8",class:"modal-content"},o("div",{key:"8ccb69bd7dd3229ce8ca0acd1b764a74e61e13bc",class:"modal-header"},o("h2",{key:"1f4c9699d3bfeaaf569a7f5fc97facabbc1e2b4a",class:"modal-caption"},this.caption),this.showCloseButton&&o("ifx-icon-button",{key:"2f3cb76f3775319ed4e5d745f014bc2062d9e872",class:"modal-close-button",ref:e=>this.closeButton=e,icon:"cross-16",variant:"tertiary",onClick:()=>this.doBeforeClose("CLOSE_BUTTON")})),o("div",{key:"4ed7e3019673dab1076db0b109badbc1e50fd02d",class:"modal-body"},o("slot",{key:"433d2413fa057aaa38357456958fe41175bd2061",name:"content",onSlotchange:e=>this.handleContentUpdate(e)})),o("div",{key:"4c2ea669417446d15cb13bc83ee6f7878b8ab211",class:`modal-footer ${this.slotButtonsPresent?"buttons-present":""}`},o("slot",{key:"f680cfeeccb82a7f69d0e1efaa6bb68d4c25fe18",name:"buttons",onSlotchange:e=>this.handleButtonsSlotChange(e)})))),o("div",{key:"c9e1fa9d91f31453a33b2b30b0c979de00c06827","data-focus-trap-edge":true,onFocus:this.handleBottomFocus,tabindex:"0"})))}get hostElement(){return i(this)}static get watchers(){return{opened:["openedChanged"]}}};p.style=u;export{p as ifx_modal};
2
- //# sourceMappingURL=p-ed869b07.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["queryShadowRoot","root","skipNode","isMatch","maxDepth","depth","matches","traverseSlot","$slot","assignedNodes","filter","node","nodeType","length","$slotParent","parentElement","children","Array","from","$child","push","shadowRoot","tagName","isHidden","$elem","hasAttribute","getAttribute","style","display","opacity","visibility","isDisabled","isFocusable","HTMLAnchorElement","HTMLAreaElement","HTMLButtonElement","HTMLInputElement","HTMLTextAreaElement","HTMLSelectElement","HTMLIFrameElement","animationTo","element","keyframes","options","animated","animate","Object","assign","fill","addEventListener","commitStyles","cancel","keyframeDefaults","easing","KEYFRAMES","fadeIn","offset","fadeOut","modalCss","IfxModalStyle0","IfxModal","constructor","hostRef","this","opened","showModal","caption","closeOnOverlayClick","variant","size","alertIcon","okButtonLabel","cancelButtonLabel","slotButtonsPresent","showCloseButton","focusableElements","handleTopFocus","attemptFocus","getLastFocusableElement","handleBottomFocus","getFirstFocusableElement","handleKeypress","event","key","doBeforeClose","componentWillLoad","isNestedInIfxComponent","hostElement","trackComponent","componentDidLoad","el","componentWillRender","handleComponentOverflow","modalContentContainer","querySelector","isModalContentContainerHeightReachedViewport","classList","add","contains","remove","setTimeout","closeButton","focus","open","anim","modalContainer","duration","_a","_b","blur","ifxOpen","emit","err","close","ifxClose","removeEventListener","trigger","triggers","prevented","some","defaultPrevented","openedChanged","newValue","handleOverlayClick","handleContentUpdate","e","slotElement","target","nodes","forEach","observer","disconnect","MutationObserver","mutationsList","_","mutation","type","observe","attributes","childList","subtree","handleButtonsSlotChange","currentTarget","assignedElements","childElementCount","Promise","resolve","modalContent","modalContentHeight","offsetHeight","viewportHeight","window","innerHeight","render","isAlertVariant","h","Host","ref","class","onClick","onFocus","tabindex","role","icon","name","onSlotchange"],"sources":["src/global/utils/focus-trap.ts","src/global/utils/animation.ts","src/components/modal/modal.scss?tag=ifx-modal&encapsulation=shadow","src/components/modal/modal.tsx"],"sourcesContent":["/**\n * Copy/pasted from https://github.com/andreasbm/focus-trap\n */\n\n/**\n * Traverses the slots of the open shadowroots and returns all children matching the query.\n * We need to traverse each child-depth one at a time because if an element should be skipped\n * (for example because it is hidden) we need to skip all of it's children. If we use querySelectorAll(\"*\")\n * the information of whether the children is within a hidden parent is lost.\n * @param {ShadowRoot | HTMLElement} root\n * @param skipNode\n * @param isMatch\n * @param {number} maxDepth\n * @param {number} depth\n * @returns {HTMLElement[]}\n */\nexport function queryShadowRoot(\n root: ShadowRoot | HTMLElement,\n skipNode: ($elem: HTMLElement) => boolean,\n isMatch: ($elem: HTMLElement) => boolean,\n maxDepth: number = 20,\n depth: number = 0\n): HTMLElement[] {\n const matches: HTMLElement[] = [];\n\n // If the depth is above the max depth, abort the searching here.\n if (depth >= maxDepth) {\n return matches;\n }\n\n // Traverses a slot element\n const traverseSlot = ($slot: HTMLSlotElement) => {\n // Only check nodes that are of the type Node.ELEMENT_NODE\n // Read more here https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n const assignedNodes = $slot\n .assignedNodes()\n .filter((node) => node.nodeType === 1);\n if (assignedNodes.length > 0) {\n const $slotParent = assignedNodes[0].parentElement!;\n return queryShadowRoot(\n $slotParent,\n skipNode,\n isMatch,\n maxDepth,\n depth + 1\n );\n }\n\n return [];\n };\n\n // Go through each child and continue the traversing if necessary\n // Even though the typing says that children can't be undefined, Edge 15 sometimes gives an undefined value.\n // Therefore we fallback to an empty array if it is undefined.\n const children = Array.from(root.children || []) as HTMLElement[];\n for (const $child of children) {\n // Check if the element and its descendants should be skipped\n if (skipNode($child)) {\n // console.log('-- SKIP', $child);\n continue;\n }\n\n // console.log('$child', $child);\n\n // If the element matches we always add it\n if (isMatch($child)) {\n matches.push($child);\n }\n\n if ($child.shadowRoot != null) {\n // If the element has a shadow root we need to traverse it\n matches.push(\n ...queryShadowRoot(\n $child.shadowRoot,\n skipNode,\n isMatch,\n maxDepth,\n depth + 1\n )\n );\n } else if ($child.tagName === 'SLOT') {\n // If the child is a slot we need to traverse each assigned node\n matches.push(...traverseSlot($child as HTMLSlotElement));\n } else {\n // Traverse the children of the element\n matches.push(\n ...queryShadowRoot($child, skipNode, isMatch, maxDepth, depth + 1)\n );\n }\n }\n\n return matches;\n}\n\n/**\n * Returns whether the element is hidden.\n * @param $elem\n */\nexport function isHidden($elem: HTMLElement): boolean {\n return (\n $elem.hasAttribute('hidden') ||\n ($elem.hasAttribute('aria-hidden') &&\n $elem.getAttribute('aria-hidden') !== 'false') ||\n // A quick and dirty way to check whether the element is hidden.\n // For a more fine-grained check we could use \"window.getComputedStyle\" but we don't because of bad performance.\n // If the element has visibility set to \"hidden\" or \"collapse\", display set to \"none\" or opacity set to \"0\" through CSS\n // we won't be able to catch it here. We accept it due to the huge performance benefits.\n $elem.style.display === `none` ||\n $elem.style.opacity === `0` ||\n $elem.style.visibility === `hidden` ||\n $elem.style.visibility === `collapse`\n );\n\n // If offsetParent is null we can assume that the element is hidden\n // https://stackoverflow.com/questions/306305/what-would-make-offsetparent-null\n // || $elem.offsetParent == null;\n}\n\n/**\n * Returns whether the element is disabled.\n * @param $elem\n */\nexport function isDisabled($elem: HTMLElement): boolean {\n return (\n $elem.hasAttribute('disabled') ||\n ($elem.hasAttribute('aria-disabled') &&\n $elem.getAttribute('aria-disabled') !== 'false')\n );\n}\n\n/**\n * Determines whether an element is focusable.\n * Read more here: https://stackoverflow.com/questions/1599660/which-html-elements-can-receive-focus/1600194#1600194\n * Or here: https://stackoverflow.com/questions/18261595/how-to-check-if-a-dom-element-is-focusable\n * @param $elem\n */\nexport function isFocusable($elem: HTMLElement): boolean {\n // Discard elements that are removed from the tab order.\n if (\n $elem.getAttribute('tabindex') === '-1' ||\n isHidden($elem) ||\n isDisabled($elem)\n ) {\n return false;\n }\n\n return (\n // At this point we know that the element can have focus (eg. won't be -1) if the tabindex attribute exists\n $elem.hasAttribute('tabindex') ||\n // Anchor tags or area tags with a href set\n (($elem instanceof HTMLAnchorElement || $elem instanceof HTMLAreaElement) &&\n $elem.hasAttribute('href')) ||\n // Form elements which are not disabled\n $elem instanceof HTMLButtonElement ||\n $elem instanceof HTMLInputElement ||\n $elem instanceof HTMLTextAreaElement ||\n $elem instanceof HTMLSelectElement ||\n // IFrames\n $elem instanceof HTMLIFrameElement\n );\n}","export function animationTo(\n element: HTMLElement,\n keyframes: Keyframe | Keyframe[],\n options?: KeyframeAnimationOptions\n) {\n const animated = element.animate(keyframes, { ...options, fill: 'both' });\n animated.addEventListener('finish', () => {\n // @ts-ignore\n animated.commitStyles();\n animated.cancel();\n });\n\n return animated;\n}\n\nconst keyframeDefaults = {\n easing: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\n};\n\nexport const KEYFRAMES = {\n fadeIn: [\n {\n offset: 0,\n ...keyframeDefaults,\n opacity: 0,\n },\n {\n offset: 1,\n ...keyframeDefaults,\n opacity: 1,\n },\n ],\n fadeOut: [\n {\n offset: 0,\n ...keyframeDefaults,\n opacity: 1,\n },\n {\n offset: 1,\n ...keyframeDefaults,\n opacity: 0,\n },\n ],\n};","@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: block;\n}\n\n.modal-container {\n display: none;\n justify-content: center;\n align-items: center;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1060;\n overflow-y: auto;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n}\n\n.modal-container.open {\n display: flex;\n}\n\n.modal-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: tokens.$ifxColorBaseBlack;\n opacity: 0.5;\n z-index: 0;\n}\n\n.modal-content-container {\n position: absolute;\n display: flex;\n justify-content: center;\n width: 90%;\n min-height: 218px;\n background-color: #fff;\n border-radius: tokens.$ifxBorderRadiusNone;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n \n //overflow: hidden;\n\n box-sizing: border-box;\n align-items: stretch;\n}\n\n.modal-content-container {\n &.no-overflow { \n overflow: hidden;\n & .modal-body { \n overflow-y: auto;\n }\n }\n}\n\n/* Add desktop size here */\n@media screen and (min-width: 768px) {\n .modal-content-container {\n width: 540px;\n min-height: 132px;\n\n &.m,\n &.l,\n &.s {\n width: 90%;\n }\n }\n}\n\n@media screen and (min-width: 1024px) {\n .modal-content-container {\n\n &.s {\n width: 47vw;\n }\n\n &.m {\n width: 63vw;\n }\n\n &.l {\n width: 80%;\n }\n }\n}\n\n.modal-content {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-height: 90vh;\n}\n\n.modal-icon-container {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n background-color: tokens.$ifxColorOcean500;\n align-self: stretch;\n\n &.danger {\n background-color: tokens.$ifxColorRed500;\n }\n\n & ifx-icon {\n color: tokens.$ifxColorBaseWhite;\n }\n}\n\n.modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 24px;\n min-height: 76px;\n max-height: 105px;\n box-sizing: border-box;\n border-radius: 1px 1px 0px 0px;\n border-bottom: 1px solid tokens.$ifxColorEngineering200;\n}\n\n.modal-caption {\n max-height: 56px;\n display: -webkit-box;\n overflow: hidden;\n white-space: pre-wrap;\n word-wrap: break-word;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical; \n}\n\n.modal-header h2 {\n margin: 0;\n font-weight: tokens.$ifxFontWeightSemibold;\n font-size: tokens.$ifxFontSizeXl;\n line-height: 28px;\n}\n\n.modal-header button {\n background: none;\n border: none;\n font-size: 1.5em;\n padding: 0;\n cursor: pointer;\n}\n\n.modal-close-button {\n align-self: flex-start;\n margin-right: -8px;\n}\n\n.modal-body {\n padding: 16px 24px;\n min-height: 56px;\n box-sizing: border-box;\n flex: 1;\n \n //overflow-y: auto;\n}\n\n.modal-footer.buttons-present ::slotted(*){\n display: flex;\n justify-content: flex-end;\n gap: 16px;\n padding: 16px 24px 32px 16px\n}\n\n.modal-border {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n font-size: 1.5em;\n flex-grow: 1;\n\n &.primary {\n background-color: tokens.$ifxColorOcean500;\n }\n\n &.secondary {\n background-color: tokens.$ifxColorEngineering500;\n }\n\n &.danger {\n background-color: tokens.$ifxColorRed500;\n }\n\n &.success {\n background-color: tokens.$ifxColorGreen500;\n }\n\n &.warning {\n background-color: tokens.$ifxColorOrange500;\n }\n\n &.orange {\n background-color: tokens.$ifxColorOrange500;\n }\n\n &.ocean {\n background-color: tokens.$ifxColorOcean500;\n }\n\n &.grey {\n background-color: tokens.$ifxColorEngineering500;\n }\n\n &.grey-200 {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &.red {\n background-color: tokens.$ifxColorRed500;\n }\n\n &.green {\n background-color: tokens.$ifxColorGreen500;\n }\n\n &.berry {\n background-color: tokens.$ifxColorBerry500;\n }\n}","import { Component, Prop, Element, State, Event, Host, EventEmitter, h, Watch } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { queryShadowRoot, isHidden, isFocusable } from '../../global/utils/focus-trap';\nimport { animationTo, KEYFRAMES } from '../../global/utils/animation';\n \ntype CloseEventTrigger = 'CLOSE_BUTTON' | 'ESCAPE_KEY' | 'BACKDROP';\n\nexport interface BeforeCloseEventDetail {\n trigger: CloseEventTrigger;\n}\n@Component({\n tag: 'ifx-modal',\n styleUrl: 'modal.scss',\n shadow: true\n})\nexport class IfxModal {\n @Prop({ reflect: true, mutable: true }) opened?: boolean = false;\n @State() showModal: boolean = this.opened || false;\n\n @Prop() caption: string = 'Modal Title';\n @Prop() closeOnOverlayClick: boolean = true;\n\n @Event() ifxOpen: EventEmitter;\n @Event() ifxClose: EventEmitter;\n\n @Prop() variant: 'default' | 'alert-brand' | 'alert-danger' = 'default';\n \n @Prop() size: 's' | 'm' | 'l' = 's';\n\n @Prop() alertIcon: string = '';\n @Prop() okButtonLabel: string = 'OK';\n @Prop() cancelButtonLabel: string = 'Cancel';\n @Element() hostElement: HTMLElement;\n\n @State() slotButtonsPresent: boolean = false;\n\n @Prop() showCloseButton: boolean = true;\n\n private modalContainer: HTMLElement;\n private focusableElements: HTMLElement[] = [];\n private closeButton: HTMLButtonElement | HTMLIfxIconButtonElement;\n\n componentWillLoad() { \n if(!isNestedInIfxComponent(this.hostElement)) { \n trackComponent('ifx-modal')\n }\n }\n\n componentDidLoad() {\n // Query all focusable elements and store them in `focusableElements`.\n // Needed for the \"focus trap\" functionality.\n this.focusableElements = queryShadowRoot(\n this.hostElement.shadowRoot,\n (el) => isHidden(el) || el.matches('[data-focus-trap-edge]'),\n isFocusable\n );\n }\n\n componentWillRender() { \n if(this.showModal) { \n this.handleComponentOverflow();\n }\n }\n\n handleComponentOverflow() { \n const modalContentContainer = this.hostElement.shadowRoot.querySelector('.modal-content-container');\n if (this.showModal && this.isModalContentContainerHeightReachedViewport()) {\n modalContentContainer.classList.add('no-overflow')\n } else if(modalContentContainer?.classList.contains('no-overflow')) { \n modalContentContainer?.classList.remove('no-overflow')\n }\n }\n\n getFirstFocusableElement(): HTMLElement | null {\n return this.focusableElements[0];\n }\n\n getLastFocusableElement(): HTMLElement | null {\n return this.focusableElements[this.focusableElements.length - 1];\n }\n\n handleTopFocus = () => {\n this.attemptFocus(this.getLastFocusableElement());\n };\n\n handleBottomFocus = () => {\n this.attemptFocus(this.getFirstFocusableElement());\n };\n\n attemptFocus(element: HTMLElement | null) {\n if (element == null) {\n setTimeout(() => { //wait until DOM is fully loaded\n this.closeButton.focus();\n },);\n return;\n }\n\n setTimeout(() => { //wait until DOM is fully loaded\n element.focus();\n }, 0);\n }\n\n open() {\n this.showModal = true;\n try {\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeIn, {\n duration: 200,\n });\n anim.addEventListener('finish', () => {\n // Setting focus on last item and removing immediately\n // so, on tab press first element is focused\n setTimeout(() => {\n this.getLastFocusableElement()?.focus();\n this.getLastFocusableElement()?.blur();\n }, 0);\n\n this.ifxOpen.emit();\n });\n\n this.hostElement.addEventListener('keydown', this.handleKeypress);\n } catch (err) {\n this.ifxOpen.emit();\n }\n }\n\n close() {\n try {\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeOut, {\n duration: 200,\n });\n anim.addEventListener('finish', () => {\n this.showModal = false;\n this.ifxClose.emit();\n });\n this.hostElement.removeEventListener('keydown', this.handleKeypress);\n } catch (err) {\n this.showModal = false;\n this.ifxClose.emit();\n }\n }\n\n handleKeypress = (event: KeyboardEvent) => {\n if (!this.showModal) {\n return;\n }\n if (event.key === 'Escape') {\n this.doBeforeClose('ESCAPE_KEY');\n }\n };\n\n doBeforeClose(trigger: CloseEventTrigger) {\n const triggers = [];\n triggers.push(trigger);\n const prevented = triggers.some((event) => event.defaultPrevented);\n if (!prevented) {\n this.opened = false;\n }\n }\n\n @Watch('opened')\n openedChanged(newValue) {\n if (newValue === true) {\n this.open();\n } else {\n this.close()\n }\n }\n\n handleOverlayClick() {\n if (this.closeOnOverlayClick) {\n this.doBeforeClose('BACKDROP')\n }\n }\n\n handleContentUpdate(e) {\n const slotElement = e.target;\n const nodes = slotElement.assignedNodes();\n if(nodes.length > 0) {\n nodes.forEach(node => {\n if (node.observer) {\n node.observer.disconnect();\n delete node.observer;\n }\n const observer = new MutationObserver((mutationsList, _) => {\n for(let mutation of mutationsList) {\n if (mutation.type === 'childList') {\n if(this.showModal) { \n this.handleComponentOverflow();\n }\n }\n }\n });\n observer.observe(node, { attributes: true, childList: true, subtree: true });\n node.observer = observer;\n });\n } \n }\n\n handleButtonsSlotChange(e) {\n if(e.currentTarget.assignedElements()[0]?.childElementCount > 0) {\n this.slotButtonsPresent = true;\n }else{\n this.slotButtonsPresent = false;\n }\n }\n\n isModalContentContainerHeightReachedViewport() {\n //Adding timeout for proper height detection on Edge browser\n return new Promise(resolve => {\n setTimeout(() => {\n const modalContent = this.hostElement.shadowRoot.querySelector('.modal-content') as HTMLElement;\n const modalContentHeight = modalContent.offsetHeight;\n const viewportHeight = window.innerHeight;\n resolve(modalContentHeight >= viewportHeight * 0.9);\n }, 100);\n });\n}\n\n\n render() {\n const isAlertVariant = this.variant !== 'default';\n return (\n <Host>\n <div\n ref={(el) => (this.modalContainer = el)}\n class={`modal-container ${this.showModal ? 'open' : ''}`}\n >\n <div\n class=\"modal-overlay\"\n onClick={() => this.handleOverlayClick()}\n ></div>\n <div\n data-focus-trap-edge\n onFocus={this.handleTopFocus}\n tabindex=\"0\"\n ></div>\n <div\n class={`modal-content-container ${this.size}`}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={this.caption}>\n {isAlertVariant ? (\n <div class={`modal-icon-container ${this.variant === 'alert-brand' ? '' : 'danger'}`}>\n {this.alertIcon ? <ifx-icon icon={this.alertIcon} /> : null}\n </div>\n ) : null}\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h2 class=\"modal-caption\">{this.caption}</h2>\n { \n this.showCloseButton && \n <ifx-icon-button class = 'modal-close-button' ref={(el) => (this.closeButton = el)} icon=\"cross-16\" variant=\"tertiary\" onClick={() => this.doBeforeClose('CLOSE_BUTTON') }>\n </ifx-icon-button>\n }\n </div>\n <div class=\"modal-body\">\n <slot name=\"content\" onSlotchange={(e) => this.handleContentUpdate(e)} />\n </div>\n <div class={`modal-footer ${this.slotButtonsPresent ? 'buttons-present' : ''}`}>\n <slot name=\"buttons\" onSlotchange={(e)=>this.handleButtonsSlotChange(e)}>\n </slot>\n </div>\n </div>\n </div>\n <div\n data-focus-trap-edge\n onFocus={this.handleBottomFocus}\n tabindex=\"0\"\n ></div>\n </div>\n </Host>\n\n );\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,g as s}from"./p-b7a462e5.js";import{t as o}from"./p-6ecb6a6f.js";import{i as n}from"./p-1ecafb97.js";const l=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}.ifx-multiselect-container{position:relative;box-sizing:border-box;font-family:var(--ifx-font-family)}.ifx-multiselect-container.small-select{height:36px}.ifx-multiselect-container.medium-select{height:40px}.ifx-multiselect-container:hover{cursor:pointer}.ifx-multiselect-container .ifx-label-wrapper{font-size:1rem;line-height:1.5rem;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;max-width:100%}.ifx-multiselect-container .ifx-error-message-wrapper{color:#CD002F;font-size:0.75rem;line-height:1rem;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;max-width:100%}.ifx-multiselect-container .ifx-multiselect-wrapper{background-color:#FFFFFF;box-sizing:border-box;position:relative;display:flex;align-items:center;border:1px solid #8D8786;border-radius:1px;width:100%;font-weight:400;font-style:normal}.ifx-multiselect-container .ifx-multiselect-wrapper.small-select{height:36px;padding:8px 12px;font-size:0.875rem;line-height:1.25rem}.ifx-multiselect-container .ifx-multiselect-wrapper.medium-select{height:40px;padding:8px 16px;font-size:1rem;line-height:1.5rem}.ifx-multiselect-container .ifx-multiselect-wrapper:focus-visible{outline:none}.ifx-multiselect-container .ifx-multiselect-wrapper:focus-visible:not(.active):not(:active){outline:none}.ifx-multiselect-container .ifx-multiselect-wrapper:focus-visible:not(.active):not(:active)::before{content:"";position:absolute;width:calc(100% + 4px);height:calc(100% + 4px);top:50%;left:50%;transform:translate(-50%, -50%);border:2px solid #0A8276;border-radius:2px}.ifx-multiselect-container .ifx-multiselect-wrapper.disabled{background:#EEEDED;color:#575352;border-color:#575352;cursor:default;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ifx-multiselect-container .ifx-multiselect-wrapper.error{border-color:#CD002F}.ifx-multiselect-container .ifx-multiselect-wrapper:hover:not(.focus,:focus){border-color:#575352}.ifx-multiselect-container .ifx-multiselect-wrapper.active{border-color:#0A8276 !important}.ifx-multiselect-container .ifx-multiselect-wrapper.active .icon-wrapper-up{display:flex;align-items:center;justify-content:center;padding-left:8px}.ifx-multiselect-container .ifx-multiselect-wrapper.active .icon-wrapper-down{display:none}.ifx-multiselect-container .ifx-multiselect-wrapper .icon-wrapper-up{display:none}.ifx-multiselect-container .ifx-multiselect-wrapper .icon-wrapper-down{display:flex;align-items:center;justify-content:center;padding-left:8px}.ifx-multiselect-container .ifx-multiselect-wrapper.is-flipped .ifx-multiselect-dropdown-menu{top:auto;bottom:100%}.ifx-multiselect-container .ifx-multiselect-input{flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ifx-multiselect-container .ifx-multiselect-input.placeholder{opacity:0.5}.ifx-multiselect-container .ifx-multiselect-icon-container{margin-left:auto;align-items:center;display:flex}.ifx-multiselect-container .ifx-clear-button{display:flex}.ifx-multiselect-container .ifx-clear-button.hide{display:none}.ifx-multiselect-container .ifx-multiselect-dropdown-menu{position:absolute;top:100%;left:0;width:100%;margin-top:2px;background-color:#fff;box-shadow:0px 6px 9px 0px rgba(29, 29, 29, 0.1);max-height:300px;overflow-y:auto;z-index:1000}.ifx-multiselect-container .ifx-multiselect-dropdown-menu .search-input{position:sticky;top:0;left:0;z-index:1;width:100%;padding:8px 16px;font-size:1rem;line-height:1.5rem;font-style:normal;font-weight:400;box-sizing:border-box;background-color:#FFFFFF;border:none;border-bottom:1px solid #8D8786}.ifx-multiselect-container .ifx-multiselect-dropdown-menu .search-input:focus{outline:none;border:1px solid #0A8276}.ifx-multiselect-container .ifx-multiselect-dropdown-menu .search-input::placeholder{color:#999}.ifx-multiselect-container .option{position:relative;padding:8px 16px;gap:8px;align-items:center;display:flex;font-style:normal;font-weight:400}.ifx-multiselect-container .option.small-select{font-size:0.875rem;line-height:1.25rem}.ifx-multiselect-container .option.medium-select{font-size:1rem;line-height:1.5rem}.ifx-multiselect-container .option:hover{background-color:#EEEDED}.ifx-multiselect-container .option:focus:not(.disabled){background-color:#BFBBBB;outline:none}.ifx-multiselect-container .option.is-highlighted{background-color:#EEEDED}.ifx-multiselect-container .option.sub-option{padding-left:30px;}.ifx-multiselect-container .option.disabled:hover{cursor:default}.ifx-multiselect-container .option label{cursor:inherit}.select-all-wrapper{padding-top:8px}';const r=l;function c(t,i){let e;return function s(...o){const n=()=>{clearTimeout(e);t(...o)};clearTimeout(e);e=setTimeout(n,i)}}const a=class{constructor(e){t(this,e);this.ifxSelect=i(this,"ifxSelect",7);this.ifxOpen=i(this,"ifxOpen",7);if(e.$hostElement$["s-ei"]){this.internals=e.$hostElement$["s-ei"]}else{this.internals=e.$hostElement$.attachInternals();e.$hostElement$["s-ei"]=this.internals}this.batchSize=50;this.size="medium (40px)";this.disabled=false;this.error=false;this.internalError=false;this.errorMessage="Error";this.label="";this.persistentSelectedOptions=[];this.placeholder="";this.dropdownOpen=false;this.currentIndex=0;this.isLoading=false;this.loadedOptions=[];this.filteredOptions=[];this.showSearch=true;this.showSelectAll=true;this.showClearButton=true;this.optionCount=0;this.optionsProcessed=false;this.handleSearch=c((t=>{const i=t.value.toLowerCase();if(i===""){this.filteredOptions=this.loadedOptions}else{this.filteredOptions=this.loadedOptions.filter((t=>{const e=t.label.toLowerCase().includes(i);if(t.children){const s=t.children.some((t=>t.label.toLowerCase().includes(i)));return e||s}return e}))}}),300);this.handleDocumentClick=t=>{const i=t.composedPath();if(!i.includes(this.dropdownElement)){this.dropdownOpen=false;document.removeEventListener("click",this.handleDocumentClick);this.filteredOptions=this.loadedOptions;this.ifxOpen.emit(this.dropdownOpen)}}}updateOptions(){this.loadedOptions=[];this.filteredOptions=[];this.optionCount=0;this.optionsProcessed=false;this.persistentSelectedOptions=[];this.loadInitialOptions()}async loadInitialOptions(){this.isLoading=true;this.internalError=this.error;this.internalErrorMessage=this.errorMessage;this.loadedOptions=await this.fetchOptions(0,this.batchSize);this.isLoading=false}async fetchMoreOptions(){this.isLoading=true;const t=await this.fetchOptions(this.loadedOptions.length,this.batchSize);this.loadedOptions=[...this.loadedOptions,...t];this.isLoading=false}handleScroll(t){const i=t.target;const e=Math.floor((i.scrollHeight-i.clientHeight)/2);if(i.scrollTop>=e){this.fetchMoreOptions()}}async fetchOptions(t,i){let e=[];if(typeof this.options==="string"){try{e=JSON.parse(this.options)}catch(t){console.error("Failed to parse options:",t)}}else if(Array.isArray(this.options)){e=this.options}else{console.error("Unexpected value for options:",this.options)}if(!this.optionsProcessed){this.optionCount=this.countOptions(e);const t=this.collectSelectedOptions(e);const i=t.filter((t=>!this.persistentSelectedOptions.some((i=>i.value==t.value))));this.persistentSelectedOptions=[...this.persistentSelectedOptions,...i];this.optionsProcessed=true}const s=e.slice(t,t+i);return s}collectSelectedOptions(t){let i=[];for(const e of t){if(e.selected){if(e.children&&e.children.length>0){i=i.concat(this.collectLeafOptions(e.children))}else{if(!i.some((t=>t.value===e.value))){i.push(e)}}}else{if(e.children&&e.children.length>0){i=i.concat(this.collectSelectedOptions(e.children))}}}return i}collectLeafOptions(t){let i=[];for(const e of t){if(e.children&&e.children.length>0){i=i.concat(this.collectLeafOptions(e.children))}else{i.push(e)}}return i}countOptions(t){let i=0;for(const e of t){if(e.children&&e.children.length>=0){i+=this.countOptions(e.children)}else{i++}}return i}componentDidLoad(){setTimeout((()=>{this.positionDropdown()}),500)}componentWillLoad(){if(!n(this.el)){o("ifx-multiselect")}this.loadInitialOptions();this.filteredOptions=[...this.loadedOptions]}updateInternalError(){this.internalError=this.error}updateInternalErrorMessage(){this.internalErrorMessage=this.errorMessage}loadedOptionsChanged(){this.filteredOptions=[...this.loadedOptions]}onSelectionChange(t,i){const e=new FormData;t.forEach((t=>e.append(this.name,t.value)));this.internals.setFormValue(e)}handleOptionClick(t){this.internalError=false;if(!t.selected&&this.isSelectionLimitReached(t)){t.checkboxRef.toggleCheckedState(false);this.internalError=true;this.internalErrorMessage="Please consider the maximum number of items to choose from";return}this.updateSelection(t);this.ifxSelect.emit(this.persistentSelectedOptions)}isSelectionLimitReached(t){let i=t.children?t.children.length:1;return this.maxItemCount&&this.persistentSelectedOptions.length+i>this.maxItemCount&&!this.persistentSelectedOptions.some((i=>i.value===t.value))}updateSelection(t){const i=this.persistentSelectedOptions.some((i=>i.value===t.value));if(t.children&&t.children.length>0){this.handleParentOptionClick(t)}else{this.handleChildOptionClick(t,i)}}async selectAll(){const t=await this.fetchOptions(0,this.optionCount);this.selectAllRecursive(t);this.ifxSelect.emit(this.persistentSelectedOptions)}selectAllRecursive(t){for(const i of t){if(i.children&&i.children.length>0){this.selectAllRecursive(i.children)}else{if(!this.persistentSelectedOptions.some((t=>t.value===i.value))){i.selected=true;this.persistentSelectedOptions=[...this.persistentSelectedOptions,i];this.optionCount=this.countOptions(this.persistentSelectedOptions)}}}}handleParentOptionClick(t){const i=t.children.every((t=>this.persistentSelectedOptions.some((i=>i.value===t.value))));if(i){this.persistentSelectedOptions=[...this.persistentSelectedOptions.filter((i=>!t.children.some((t=>t.value===i.value))))];t.selected=false;t.children.forEach((t=>{t.selected=false}))}else{const i=[...t.children.filter((t=>!this.persistentSelectedOptions.some((i=>i.value===t.value))))];t.selected=true;t.children.forEach((t=>{t.selected=true}));this.persistentSelectedOptions=[...this.persistentSelectedOptions,...i]}}handleChildOptionClick(t,i){if(i){this.persistentSelectedOptions=[...this.persistentSelectedOptions.filter((i=>i.value!==t.value))];t.selected=false}else{this.persistentSelectedOptions=[...this.persistentSelectedOptions,t];t.selected=true}this.updateParentSelectedState()}updateParentSelectedState(){this.loadedOptions.forEach((t=>{var i;if(((i=t.children)===null||i===void 0?void 0:i.length)>0){if(t.children.every((t=>t.selected===true)))t.selected=true;else{t.selected=false;if(this.isOptionIndeterminate(t)){t.indeterminate=true}else{t.indeterminate=false}}}}))}getSizeClass(){return`${this.size}`==="s"?"small-select":"medium-select"}toggleDropdown(){this.dropdownOpen=!this.dropdownOpen;setTimeout((()=>{if(this.dropdownOpen){document.addEventListener("click",this.handleDocumentClick)}this.ifxOpen.emit(this.dropdownOpen)}),0)}waitForElement(t,i,e=50){let s=0;function o(){requestAnimationFrame((()=>{const n=t();if(n.length>0||s>e){i(n)}else{s++;o()}}))}o()}handleKeyDown(t){if(this.disabled)return;const i=this.dropdownElement.querySelectorAll(".option");switch(t.code){case"Enter":this.toggleDropdown();this.waitForElement((()=>this.dropdownElement.querySelectorAll(".option")),(t=>{this.updateHighlightedOption(t)}));break;case"Space":this.toggleDropdown();this.waitForElement((()=>this.dropdownElement.querySelectorAll(".option")),(t=>{this.updateHighlightedOption(t)}));break;case"ArrowDown":this.handleArrowDown(i);if(this.dropdownOpen){this.updateHighlightedOption(i)}break;case"ArrowUp":this.handleArrowUp(i);if(this.dropdownOpen){this.updateHighlightedOption(i)}break}}handleWrapperClick(t){this.positionDropdown();if(t.currentTarget===t.target){this.toggleDropdown()}}clearSelection(){this.persistentSelectedOptions=[];this.ifxSelect.emit(this.persistentSelectedOptions)}positionDropdown(){var t;const i=(t=this.el.shadowRoot.querySelector(".ifx-multiselect-wrapper"))===null||t===void 0?void 0:t.getBoundingClientRect();const e=window.innerHeight-i.bottom;const s=i.top;if(s>e&&i.height>e||i.bottom>window.innerHeight){this.dropdownFlipped=true}else{this.dropdownFlipped=false}}updateHighlightedOption(t){t.forEach((t=>t.classList.remove("is-highlighted")));if(this.currentIndex>=0&&this.currentIndex<t.length){t[this.currentIndex].classList.add("is-highlighted");t[this.currentIndex].focus()}}handleArrowDown(t){if(this.currentIndex<t.length-1){this.currentIndex++}else{this.currentIndex=0}}handleArrowUp(t){if(this.currentIndex>0){this.currentIndex--}else{this.currentIndex=t.length-1}}handleOptionKeyDown(t,i){if(t.key!=="ArrowUp"&&t.key!=="ArrowDown")t.stopPropagation();if(t.key==="Enter"||t.key===" "){this.handleOptionClick(i)}}renderOption(t,i){var s;const o=this.isOptionIndeterminate(t);const n=t.children?o||this.isOptionSelected(t):this.persistentSelectedOptions.some((i=>i.value===t.value));const l=!n&&this.maxItemCount&&this.persistentSelectedOptions.length>=this.maxItemCount;const r=`checkbox-${t.value}-${i}`;return e("div",{class:"option-wrapper"},e("div",{class:`option ${n?"selected":""} ${l?"disabled":""} \n ${this.getSizeClass()}`,"data-value":t.value,onKeyDown:i=>!l&&this.handleOptionKeyDown(i,t),onClick:()=>!l&&this.handleOptionClick(t),tabindex:"0",role:`${((s=t.children)===null||s===void 0?void 0:s.length)>0?"treeitem":"option"}`},e("ifx-checkbox",{tabIndex:-1,ref:i=>t.checkboxRef=i,id:r,size:"s",checked:o?false:n,indeterminate:o,disabled:l}),e("label",{htmlFor:r,onClick:t=>t.stopPropagation()},t.label)),t.children&&t.children.map(((t,e)=>this.renderSubOption(t,`${i}-${e}`))))}isOptionSelected(t){if(!t.children)return false;return t.children.every((t=>this.persistentSelectedOptions.some((i=>i.value===t.value))))}isOptionIndeterminate(t){if(!t.children)return false;const i=t.children.filter((t=>this.persistentSelectedOptions.some((i=>i.value===t.value)))).length;return i>0&&i<t.children.length}findInOptions(t,i){for(const e of t){if(e.value===i){return e}if(e.children){const t=this.findInOptions(e.children,i);if(t){return t}}}return null}renderSubOption(t,i){var s;const o=this.persistentSelectedOptions.some((i=>i.value===t.value));const n=!o&&this.maxItemCount&&this.persistentSelectedOptions.length>=this.maxItemCount;const l=`checkbox-${t.value}-${i}`;return e("div",{class:`option sub-option ${o?"selected":""} ${this.getSizeClass()} ${n?"disabled":""}`,"data-value":t.value,role:`${((s=t.children)===null||s===void 0?void 0:s.length)>0?"option":"treeitem"}`,onKeyDown:i=>!n&&this.handleOptionKeyDown(i,t),onClick:()=>!n&&this.handleOptionClick(t),tabindex:"0"},e("ifx-checkbox",{tabIndex:-1,ref:i=>t.checkboxRef=i,id:l,size:"s",checked:o,disabled:n}),e("label",{htmlFor:l,onClick:t=>t.stopPropagation()},t.label))}renderSelectAll(){const t=this.persistentSelectedOptions.length===this.optionCount;const i=this.persistentSelectedOptions.length===0;const s=this.optionCount>0&&!i&&!t;const o=this;function n(){if(t){o.clearSelection()}else{o.selectAll()}}function l(t){if(t.key!=="ArrowUp"&&t.key!=="ArrowDown")t.stopPropagation();if(t.key==="Enter"||t.key===" "){n()}}return e("div",{class:"select-all-wrapper"},e("div",{class:`option ${this.getSizeClass()}`,tabindex:"0",onKeyDown:t=>l(t),onClick:n},e("ifx-checkbox",{tabIndex:-1,id:"selectAll",checked:t,indeterminate:s,size:"s"}),e("label",{htmlFor:"selectAll"},"Select all")),e("ifx-dropdown-separator",null))}render(){const t=this.persistentSelectedOptions.filter((t=>{const i=this.persistentSelectedOptions.some((i=>i.children&&i.children.some((i=>i.value===t.value))&&i.selected));return!i})).map((t=>t.label)).join(", ");return e("div",{class:`ifx-multiselect-container`,ref:t=>this.dropdownElement=t},this.label?e("div",{class:"ifx-label-wrapper"},e("span",null,this.label)):null,e("div",{class:`ifx-multiselect-wrapper \n ${this.getSizeClass()} \n ${this.dropdownOpen?"active":""} \n ${this.dropdownFlipped?"is-flipped":""}\n ${this.internalError?"error":""}\n ${this.disabled?"disabled":""}`,tabindex:"0",onClick:this.disabled?undefined:t=>this.handleWrapperClick(t),onKeyDown:this.disabled?undefined:t=>this.handleKeyDown(t)},e("div",{class:`ifx-multiselect-input \n ${this.persistentSelectedOptions.length===0?"placeholder":""}\n `,onClick:this.disabled?undefined:()=>this.toggleDropdown()},this.persistentSelectedOptions.length>0?t:this.placeholder),this.dropdownOpen&&e("div",{class:"ifx-multiselect-dropdown-menu",onScroll:t=>this.handleScroll(t)},this.showSearch&&e("input",{type:"text",role:"textbox",class:"search-input",onKeyDown:t=>{t.stopPropagation()},onInput:t=>this.handleSearch(t.target),placeholder:"Search..."}),this.showSelectAll&&this.renderSelectAll(),this.filteredOptions.map(((t,i)=>this.renderOption(t,i))),this.isLoading&&e("div",null,"Loading more options...")),e("div",{class:"ifx-multiselect-icon-container"},this.persistentSelectedOptions.length>0&&e("div",{class:`ifx-clear-button ${!this.showClearButton?"hide":""}`,onClick:this.disabled?undefined:()=>this.clearSelection()},e("ifx-icon",{icon:"cRemove16"})),e("div",{class:"icon-wrapper-up",onClick:this.disabled?undefined:()=>this.toggleDropdown()},e("ifx-icon",{key:"icon-up",icon:"chevron-up-16"})),e("div",{class:"icon-wrapper-down",onClick:this.disabled?undefined:()=>this.toggleDropdown()},e("ifx-icon",{key:"icon-down",icon:"chevron-down-16"})))),this.internalError?e("div",{class:"ifx-error-message-wrapper"},e("span",null,this.internalErrorMessage)):null)}static get formAssociated(){return true}get el(){return s(this)}static get watchers(){return{options:["updateOptions"],error:["updateInternalError"],errorMessage:["updateInternalErrorMessage"],loadedOptions:["loadedOptionsChanged"],persistentSelectedOptions:["onSelectionChange"]}}};a.globalZIndex=1e3;a.style=r;export{a as ifx_multiselect};
2
- //# sourceMappingURL=p-eeb59f76.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["multiselectCss","IfxMultiselectStyle0","debounce","func","wait","timeout","executedFunction","args","later","clearTimeout","setTimeout","Multiselect","constructor","hostRef","this","batchSize","size","disabled","error","internalError","errorMessage","label","persistentSelectedOptions","placeholder","dropdownOpen","currentIndex","isLoading","loadedOptions","filteredOptions","showSearch","showSelectAll","showClearButton","optionCount","optionsProcessed","handleSearch","targetElement","searchTerm","value","toLowerCase","filter","option","matchesSearchTerm","includes","children","childrenMatch","some","child","handleDocumentClick","event","path","composedPath","dropdownElement","document","removeEventListener","ifxOpen","emit","updateOptions","loadInitialOptions","internalErrorMessage","fetchOptions","fetchMoreOptions","moreOptions","length","handleScroll","element","target","halfwayPoint","Math","floor","scrollHeight","clientHeight","scrollTop","startIndex","count","allOptions","options","JSON","parse","err","console","Array","isArray","countOptions","initiallySelected","collectSelectedOptions","initallySelectedNotInState","init","opt","slicedOptions","slice","selectedOptions","selected","concat","collectLeafOptions","existingOption","push","leafOptions","componentDidLoad","positionDropdown","componentWillLoad","isNestedInIfxComponent","el","trackComponent","updateInternalError","updateInternalErrorMessage","loadedOptionsChanged","onSelectionChange","newValue","_","formData","FormData","forEach","append","name","internals","setFormValue","handleOptionClick","isSelectionLimitReached","checkboxRef","toggleCheckedState","updateSelection","ifxSelect","newOptionsLength","maxItemCount","selectedOption","wasSelected","handleParentOptionClick","handleChildOptionClick","selectAll","selectAllRecursive","allChildrenSelected","every","newChildren","childOption","updateParentSelectedState","_a","isOptionIndeterminate","indeterminate","getSizeClass","toggleDropdown","addEventListener","waitForElement","querySelectorFunc","callback","maxTries","tries","request","requestAnimationFrame","elements","handleKeyDown","querySelectorAll","code","updateHighlightedOption","handleArrowDown","handleArrowUp","handleWrapperClick","currentTarget","clearSelection","wrapperRect","shadowRoot","querySelector","getBoundingClientRect","spaceBelow","window","innerHeight","bottom","spaceAbove","top","height","dropdownFlipped","classList","remove","add","focus","handleOptionKeyDown","e","key","stopPropagation","renderOption","index","isIndeterminate","isSelected","isOptionSelected","disableCheckbox","uniqueId","h","class","onKeyDown","onClick","tabindex","role","tabIndex","ref","id","checked","htmlFor","map","childIndex","renderSubOption","persistentOption","selectedChildren","findInOptions","foundInChildren","renderSelectAll","allSelected","noneSelected","that","toggleSelectAll","handleSelectAllKeydown","render","selectedOptionsLabels","isChildSelectedWithParent","parentOption","join","undefined","onScroll","type","onInput","icon","globalZIndex"],"sources":["src/components/select/multi-select/multiselect.scss?tag=ifx-multiselect&encapsulation=shadow","src/components/select/multi-select/multiselect.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 &.small-select {\n height: 36px;\n }\n\n &.medium-select {\n height: 40px;\n }\n\n &:hover {\n cursor: pointer;\n }\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 position: relative;\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\n\n &.small-select {\n height: 36px;\n padding: 8px 12px;\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n }\n\n &.medium-select {\n height: 40px;\n padding: 8px 16px;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n }\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 align-items: center;\n display: flex;\n }\n\n .ifx-clear-button {\n display: flex;\n &.hide { \n display: none;\n }\n }\n\n .ifx-multiselect-dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n margin-top: 2px;\n background-color: #fff;\n box-shadow: 0px 6px 9px 0px rgba(29, 29, 29, 0.10);\n max-height: 300px;\n /* Adjust based on your design */\n overflow-y: auto;\n z-index: 1000; \n\n .search-input {\n position: sticky;\n top: 0;\n left: 0;\n z-index: 1;\n width: 100%;\n padding: 8px 16px;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n font-style: normal;\n font-weight: 400;\n box-sizing: border-box;\n background-color: tokens.$ifxColorBaseWhite;\n border: none;\n border-bottom: 1px solid tokens.$ifxColorEngineering400;\n\n &:focus {\n outline: none;\n border: 1px solid tokens.$ifxColorOcean500;\n }\n\n // Optional: Placeholder style\n &::placeholder {\n color: #999;\n }\n }\n }\n\n .option {\n position: relative;\n padding: 8px 16px;\n gap: 8px;\n align-items: center;\n display: flex;\n font-style: normal;\n font-weight: 400;\n\n &.small-select {\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n }\n\n &.medium-select {\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n }\n\n &:hover {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &:focus:not(.disabled) {\n background-color: tokens.$ifxColorEngineering300;\n outline: none;\n }\n\n &.is-highlighted {\n background-color: tokens.$ifxColorEngineering200;\n ;\n }\n\n &.sub-option {\n padding-left: 30px;\n /* or however much indentation you want */\n }\n\n &.disabled {\n &:hover {\n cursor: default;\n }\n }\n\n label {\n cursor: inherit;\n }\n }\n\n\n\n}\n\n.select-all-wrapper {\n padding-top: 8px;\n}","import { Component, Prop, State, Event, EventEmitter, Element, h, Watch, AttachInternals } from '@stencil/core';\nimport { trackComponent } from '../../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../../global/utils/dom-utils';\nimport { Option } from './interfaces';\n\n// Debounce function\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\n\n\nexport class Multiselect {\n\n @Prop() name: string;\n @Prop() options: any[] | string;\n @Prop() batchSize: number = 50;\n @Prop() size: string = 'medium (40px)';\n @Prop() disabled: boolean = false;\n @Prop() error: boolean = false;\n @State() internalError: boolean = false;\n @Prop() errorMessage: string = \"Error\";\n @State() internalErrorMessage: string;\n @Prop() label: string = \"\";\n @State() persistentSelectedOptions: Option[] = [];\n @Prop() placeholder: string = \"\";\n @State() dropdownOpen = false;\n @State() dropdownFlipped: boolean;\n @Prop() maxItemCount: number;\n static globalZIndex = 1000; // This will be shared among all instances of the component.\n private currentIndex: number = 0; //needed for option selection using keyboard\n @State() isLoading: boolean = false;\n @State() loadedOptions: Option[] = [];\n @State() filteredOptions: Option[] = [];\n @Prop() showSearch: boolean = true;\n @Prop() showSelectAll: boolean = true;\n @Prop() showClearButton: boolean = true;\n @State() optionCount: number = 0; // number of all options (leaves of the tree)\n @State() optionsProcessed: boolean = false; // flag whether options have already been counted, intial selections saved\n\n\n @Event() ifxSelect: EventEmitter;\n @Event() ifxOpen: EventEmitter;\n\n @Element() el: HTMLElement;\n dropdownElement!: HTMLElement;\n\n @AttachInternals() internals: ElementInternals;\n\n\n @Watch('options')\n updateOptions() { \n this.loadedOptions = [];\n this.filteredOptions = [];\n this.optionCount = 0;\n this.optionsProcessed = false;\n this.persistentSelectedOptions = [];\n\n this.loadInitialOptions();\n }\n\n\n async loadInitialOptions() {\n this.isLoading = true;\n this.internalError = this.error;\n this.internalErrorMessage = this.errorMessage;\n // Load the first batch of options (e.g., first 20)\n this.loadedOptions = await this.fetchOptions(0, this.batchSize);\n this.isLoading = false;\n }\n\n async fetchMoreOptions() {\n this.isLoading = true;\n const moreOptions = await this.fetchOptions(this.loadedOptions.length, this.batchSize);\n this.loadedOptions = [...this.loadedOptions, ...moreOptions];\n this.isLoading = false;\n }\n\n\n handleScroll(event: UIEvent) {\n const element = event.target as HTMLElement;\n const halfwayPoint = Math.floor((element.scrollHeight - element.clientHeight) / 2); //loading more options when the user has scrolled halfway through the current list\n\n if (element.scrollTop >= halfwayPoint) {\n this.fetchMoreOptions();\n }\n }\n\n\n\n\n async fetchOptions(startIndex: number, count: number): Promise<Option[]> {\n let allOptions: Option[] = [];\n\n // Parse options if it's a string, or use directly if it's an array\n if (typeof this.options === 'string') {\n try {\n allOptions = JSON.parse(this.options);\n \n } catch (err) {\n console.error('Failed to parse options:', err);\n }\n } else if (Array.isArray(this.options)) {\n allOptions = this.options;\n } else {\n console.error('Unexpected value for options:', this.options);\n }\n\n if (!this.optionsProcessed) {\n this.optionCount = this.countOptions(allOptions);\n const initiallySelected = this.collectSelectedOptions(allOptions);\n const initallySelectedNotInState = initiallySelected.filter(init => !this.persistentSelectedOptions.some(opt => opt.value == init.value));\n this.persistentSelectedOptions = [...this.persistentSelectedOptions, ...initallySelectedNotInState];\n this.optionsProcessed = true;\n }\n // Slice the options array based on startIndex and count\n const slicedOptions = allOptions.slice(startIndex, startIndex + count);\n return slicedOptions;\n }\n\n /**\n * Collects and returns all options that are selected.\n * When the parent is selected, then the value of the children will be overriden with selected as well.\n * It will only collect the leaves of the tree.\n * \n * @param options A list of options.\n * @returns A list with all selected options\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 // if parent is selected, then select all child options\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 /**\n * Collects all leaf children options.\n * \n * @param option A list with all leaf-children.\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 /**\n * Count the number of options. Only counts the leaves of the options tree.\n */\n countOptions(options: Option[]): number {\n let count = 0;\n for (const option of options) {\n if (option.children && option.children.length >= 0) {\n count += this.countOptions(option.children);\n } else {\n count++;\n }\n }\n return count;\n }\n\n\n handleSearch = debounce((targetElement: HTMLInputElement) => {\n const searchTerm = targetElement.value.toLowerCase();\n if (searchTerm === '') {\n this.filteredOptions = this.loadedOptions;\n } else {\n this.filteredOptions = this.loadedOptions.filter(option => {\n const matchesSearchTerm = option.label.toLowerCase().includes(searchTerm);\n if (option.children) {\n const childrenMatch = option.children.some(child => {\n return child.label.toLowerCase().includes(searchTerm);\n });\n return matchesSearchTerm || childrenMatch;\n }\n return matchesSearchTerm;\n });\n }\n }, 300);\n\n componentDidLoad() {\n setTimeout(() => {\n this.positionDropdown();\n }, 500);\n\n // setInterval(this.handleScroll, 5000); // Runs every 5 seconds (5000 milliseconds)\n }\n\n componentWillLoad() {\n if(!isNestedInIfxComponent(this.el)) { \n trackComponent('ifx-multiselect')\n }\n this.loadInitialOptions();\n this.filteredOptions = [...this.loadedOptions];\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('loadedOptions')\n loadedOptionsChanged() {\n this.filteredOptions = [...this.loadedOptions];\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\n handleOptionClick(option: Option) {\n this.internalError = false;\n\n if (!option.selected && this.isSelectionLimitReached(option)) {\n option.checkboxRef.toggleCheckedState(false)\n this.internalError = true;\n this.internalErrorMessage = \"Please consider the maximum number of items to choose from\";\n return;\n }\n \n this.updateSelection(option);\n this.ifxSelect.emit(this.persistentSelectedOptions);\n }\n\n\n isSelectionLimitReached(option: Option): boolean {\n let newOptionsLength = option.children ? option.children.length : 1;\n return this.maxItemCount && this.persistentSelectedOptions.length + newOptionsLength > this.maxItemCount &&\n !this.persistentSelectedOptions.some(selectedOption => selectedOption.value === option.value)\n }\n\n updateSelection(option: Option) {\n const wasSelected = this.persistentSelectedOptions.some(selectedOption => selectedOption.value === option.value);\n\n if (option.children && option.children.length > 0) {\n this.handleParentOptionClick(option);\n } else {\n this.handleChildOptionClick(option, wasSelected);\n }\n }\n\n async selectAll() {\n const allOptions = await this.fetchOptions(0, this.optionCount);\n this.selectAllRecursive(allOptions);\n \n this.ifxSelect.emit(this.persistentSelectedOptions);\n }\n\n private selectAllRecursive(options: Option[]) {\n for (const opt of options) {\n if (opt.children && opt.children.length > 0) {\n this.selectAllRecursive(opt.children);\n } else {\n if (!this.persistentSelectedOptions.some((some) => some.value === opt.value )) {\n opt.selected = true;\n this.persistentSelectedOptions = [...this.persistentSelectedOptions, opt];\n this.optionCount = this.countOptions( this.persistentSelectedOptions)\n }\n }\n }\n\n }\n\n handleParentOptionClick(option: Option) {\n const allChildrenSelected = option.children.every(child =>\n this.persistentSelectedOptions.some(selectedOption => selectedOption.value === child.value)\n );\n\n if (allChildrenSelected) {\n this.persistentSelectedOptions = [...this.persistentSelectedOptions.filter(\n selectedOption => !option.children.some(child => child.value === selectedOption.value)\n )];\n\n option.selected = false;\n option.children.forEach(child => {\n child.selected = false;\n })\n\n } else {\n const newChildren = [...option.children.filter(childOption =>\n !this.persistentSelectedOptions.some(selectedOption => selectedOption.value === childOption.value)\n )];\n option.selected = true;\n option.children.forEach(child => {\n child.selected = true;\n })\n this.persistentSelectedOptions = [...this.persistentSelectedOptions, ...newChildren];\n }\n }\n\n handleChildOptionClick(option: Option, wasSelected: boolean) {\n if (wasSelected) {\n this.persistentSelectedOptions = [...this.persistentSelectedOptions.filter(selectedOption => selectedOption.value !== option.value)];\n option.selected = false;\n } else {\n this.persistentSelectedOptions = [...this.persistentSelectedOptions, option];\n option.selected = true;\n }\n this.updateParentSelectedState();\n }\n\n updateParentSelectedState() {\n this.loadedOptions.forEach(option => {\n if(option.children?.length > 0) {\n if(option.children.every(child => child.selected === true)) option.selected = true;\n else {\n option.selected = false;\n if(this.isOptionIndeterminate(option)) {\n option.indeterminate = true;\n }else{\n option.indeterminate = false;\n }\n }\n }\n });\n }\n\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.filteredOptions = this.loadedOptions;\n // Dispatch the ifxMultiselectIsOpen event\n this.ifxOpen.emit(this.dropdownOpen);\n }\n }\n\n getSizeClass() {\n return `${this.size}` === \"s\"\n ? \"small-select\"\n : \"medium-select\";\n }\n\n toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n setTimeout(() => {\n if (this.dropdownOpen) {\n document.addEventListener('click', this.handleDocumentClick);\n }\n // Dispatch the ifxOpen event\n this.ifxOpen.emit(this.dropdownOpen);\n }, 0);\n }\n\n\n waitForElement(querySelectorFunc: Function, callback: Function, maxTries = 50) {\n let tries = 0;\n function request() {\n requestAnimationFrame(() => {\n const elements = querySelectorFunc();\n if (elements.length > 0 || tries > maxTries) {\n callback(elements);\n } else {\n tries++;\n request();\n }\n });\n }\n request();\n }\n\n\n handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) return; // If it's disabled, don't do anything.\n\n const options = this.dropdownElement.querySelectorAll('.option');\n \n switch (event.code) {\n case 'Enter':\n this.toggleDropdown();\n // Wait a bit for the dropdown to finish rendering\n this.waitForElement(() => {\n return this.dropdownElement.querySelectorAll('.option');\n }, (options) => {\n this.updateHighlightedOption(options);\n });\n break;\n case 'Space': \n this.toggleDropdown();\n // Wait a bit for the dropdown to finish rendering\n this.waitForElement(() => {\n return this.dropdownElement.querySelectorAll('.option');\n }, (options) => {\n this.updateHighlightedOption(options);\n });\n break;\n case 'ArrowDown':\n this.handleArrowDown(options);\n if (this.dropdownOpen) {\n this.updateHighlightedOption(options);\n }\n break;\n case 'ArrowUp':\n this.handleArrowUp(options);\n if (this.dropdownOpen) {\n this.updateHighlightedOption(options);\n }\n break;\n }\n }\n\n handleWrapperClick(event: MouseEvent) {\n // This is your existing logic for positioning the dropdown\n this.positionDropdown();\n\n // Check if the event target is the wrapper itself and not a child element.\n if (event.currentTarget === event.target) {\n this.toggleDropdown();\n }\n }\n\n clearSelection() {\n this.persistentSelectedOptions = [];\n this.ifxSelect.emit(this.persistentSelectedOptions); // if you want to emit empty selection after clearing\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 there's more space above than below the trigger and the dropdown doesn't fit below\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\n\n // Helper function to update highlighted option based on currentIndex\n private updateHighlightedOption(options: NodeList) {\n // Clear all highlights\n options.forEach((option: Element) => option.classList.remove('is-highlighted'));\n\n // Apply highlight to the current option\n if (this.currentIndex >= 0 && this.currentIndex < options.length) {\n (options[this.currentIndex] as Element).classList.add('is-highlighted');\n (options[this.currentIndex] as HTMLElement).focus();\n }\n }\n\n // Helper function to handle arrow down navigation\n private handleArrowDown(options: NodeList) {\n if (this.currentIndex < options.length - 1) {\n this.currentIndex++;\n } else {\n this.currentIndex = 0; // Wrap to the beginning.\n }\n }\n\n // Helper function to handle arrow up navigation\n private handleArrowUp(options: NodeList) {\n if (this.currentIndex > 0) {\n this.currentIndex--;\n } else {\n this.currentIndex = options.length - 1; // Wrap to the end.\n }\n }\n \n handleOptionKeyDown(e: KeyboardEvent, option: Option) {\n if(e.key !== 'ArrowUp' && e.key !== 'ArrowDown') e.stopPropagation();\n if(e.key === 'Enter' || e.key === ' ') {\n this.handleOptionClick(option);\n }\n }\n\n renderOption(option: Option, index: number) {\n const isIndeterminate = this.isOptionIndeterminate(option);\n const isSelected = option.children ? isIndeterminate || this.isOptionSelected(option) : this.persistentSelectedOptions.some(selectedOption => selectedOption.value === option.value);\n const disableCheckbox = !isSelected && this.maxItemCount && this.persistentSelectedOptions.length >= this.maxItemCount;\n const uniqueId = `checkbox-${option.value}-${index}`; // Generate a unique ID using the index\n \n return (\n <div class=\"option-wrapper\">\n <div class={`option ${isSelected ? 'selected' : ''} ${disableCheckbox ? 'disabled' : ''} \n ${this.getSizeClass()}`}\n data-value={option.value}\n onKeyDown={(e) => !disableCheckbox && this.handleOptionKeyDown(e, option)}\n onClick={() => !disableCheckbox && this.handleOptionClick(option)}\n tabindex=\"0\"\n role={`${option.children?.length > 0 ? \"treeitem\" : \"option\"}`}>\n <ifx-checkbox tabIndex={-1} ref={(el) => option.checkboxRef = el} id={uniqueId} size=\"s\" checked={isIndeterminate ? false : isSelected} indeterminate={isIndeterminate} disabled={disableCheckbox}></ifx-checkbox>\n <label htmlFor={uniqueId} onClick={(e) => e.stopPropagation()}>{option.label}</label>\n </div>\n {option.children && option.children.map((child, childIndex) => this.renderSubOption(child, `${index}-${childIndex}`))}\n </div>\n );\n }\n\n isOptionSelected(option: Option): boolean {\n if (!option.children) return false;\n\n return option.children.every(child =>\n this.persistentSelectedOptions.some(persistentOption => persistentOption.value === child.value)\n );\n }\n\n\n isOptionIndeterminate(option: Option): boolean {\n if (!option.children) return false;\n\n const selectedChildren = option.children.filter(child =>\n this.persistentSelectedOptions.some(persistentOption => persistentOption.value === child.value)\n ).length;\n\n return selectedChildren > 0 && selectedChildren < option.children.length;\n }\n\n\n findInOptions(options: Option[], searchTerm: string): Option | null {\n for (const option of options) {\n if (option.value === searchTerm) {\n return option;\n }\n if (option.children) {\n const foundInChildren = this.findInOptions(option.children, searchTerm);\n if (foundInChildren) {\n return foundInChildren;\n }\n }\n }\n return null;\n }\n\n\n renderSubOption(option: Option, index: string) {\n const isSelected = this.persistentSelectedOptions.some(selectedOption => selectedOption.value === option.value);\n const disableCheckbox = !isSelected && this.maxItemCount && this.persistentSelectedOptions.length >= this.maxItemCount;\n const uniqueId = `checkbox-${option.value}-${index}`;\n\n return (\n <div class={`option sub-option ${isSelected ? 'selected' : ''} ${this.getSizeClass()} ${disableCheckbox ? 'disabled' : ''}`}\n data-value={option.value}\n role={`${option.children?.length > 0 ? \"option\" : \"treeitem\"}`}\n onKeyDown={(e) => !disableCheckbox && this.handleOptionKeyDown(e, option)}\n onClick={() => !disableCheckbox && this.handleOptionClick(option)}\n tabindex=\"0\">\n <ifx-checkbox tabIndex={-1} ref={(el) => option.checkboxRef = el} id={uniqueId} size=\"s\" checked={isSelected} disabled={disableCheckbox}></ifx-checkbox>\n <label htmlFor={uniqueId} onClick={(e) => e.stopPropagation()}>{option.label}</label>\n </div>\n );\n }\n\n private renderSelectAll() {\n const allSelected = this.persistentSelectedOptions.length === this.optionCount;\n const noneSelected = this.persistentSelectedOptions.length === 0;\n const indeterminate = this.optionCount > 0 && !noneSelected && !allSelected;\n\n const that = this;\n function toggleSelectAll() {\n if (allSelected) {\n that.clearSelection();\n } else {\n that.selectAll();\n }\n }\n\n function handleSelectAllKeydown(e: KeyboardEvent) {\n if(e.key !== 'ArrowUp' && e.key !== 'ArrowDown') e.stopPropagation();\n if(e.key === 'Enter' || e.key === ' ') {\n toggleSelectAll();\n }\n }\n\n return <div class=\"select-all-wrapper\">\n <div class={`option ${this.getSizeClass()}`} tabindex='0' onKeyDown={(e) => handleSelectAllKeydown(e)} onClick={toggleSelectAll}>\n <ifx-checkbox tabIndex={-1} id='selectAll' checked={allSelected} indeterminate={indeterminate} size=\"s\"></ifx-checkbox>\n <label htmlFor='selectAll'>Select all</label>\n </div>\n <ifx-dropdown-separator></ifx-dropdown-separator>\n </div>;\n }\n\n\n render() {\n // Create a label for the selected options\n const selectedOptionsLabels = this.persistentSelectedOptions\n .filter(option => {\n // check if option is a child and its parent is selected\n const isChildSelectedWithParent = this.persistentSelectedOptions.some(parentOption =>\n parentOption.children &&\n parentOption.children.some(child => child.value === option.value) &&\n parentOption.selected\n );\n return !isChildSelectedWithParent;\n })\n .map(option => option.label)\n .join(', ');\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.getSizeClass()} \n ${this.dropdownOpen ? 'active' : ''} \n ${this.dropdownFlipped ? 'is-flipped' : ''}\n ${this.internalError ? 'error' : \"\"}\n ${this.disabled ? '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 ${this.persistentSelectedOptions.length === 0 ? 'placeholder' : \"\"}\n `}\n onClick={this.disabled ? undefined : () => this.toggleDropdown()}\n >\n {this.persistentSelectedOptions.length > 0 ? selectedOptionsLabels : this.placeholder}\n </div>\n {this.dropdownOpen && (\n <div class=\"ifx-multiselect-dropdown-menu\"\n onScroll={(event) => this.handleScroll(event)}>\n {this.showSearch && <input type=\"text\" role=\"textbox\" class=\"search-input\" onKeyDown={(e) => { e.stopPropagation() }} onInput={(event) => this.handleSearch(event.target)} placeholder=\"Search...\"></input>}\n {this.showSelectAll && this.renderSelectAll()}\n {this.filteredOptions.map((option, index) => this.renderOption(option, index))}\n {this.isLoading && <div>Loading more options...</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}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,h as i,g as n}from"./p-b7a462e5.js";import{t as r}from"./p-6ecb6a6f.js";import{i as t}from"./p-1ecafb97.js";const a=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:inline-flex}.indicator__container .dot__wrapper{display:flex;width:8px;height:8px;justify-content:center;align-items:center;flex-shrink:0;border-radius:50%;background-color:#0A8276}.indicator__container .number__container{height:16px;display:inline-flex;padding:0;min-width:16px;justify-content:center;align-items:center;border-radius:100px;background-color:#0A8276}.indicator__container .number__container .number__wrapper{padding:0 4px;color:#FFFFFF;text-align:center;font-size:0.875rem;font-style:normal;font-weight:600;line-height:16px}.indicator__container .number__container.inverted{background-color:#FFFFFF}.indicator__container .number__container.inverted .number__wrapper{color:#0A8276}';const o=a;const c=class{constructor(i){e(this,i);this.inverted=false;this.variant="number";this.number=0}handleNumber(){this.filteredNumber=!isNaN(this.number)&&this.number>99?"99+":this.number}componentWillLoad(){this.handleNumber();if(!t(this.el)){r("ifx-indicator")}}componentWillUpdate(){this.handleNumber()}render(){return i("div",{key:"eef97d49997e0007c0d9f57b9e6ee42c9f1e0658","aria-label":this.ariaLabel,class:"indicator__container"},this.variant==="number"&&i("div",{key:"cd7bf51af1c62eaf7d335f7078ea2a59a39f3cbc",class:`number__container ${this.inverted?"inverted":""}`},i("div",{key:"16e4e74ba3812702841762a136e794cb31a27c23",class:"number__wrapper"},this.filteredNumber)),this.variant==="dot"&&i("div",{key:"079148e275ba542ccb853d52235331b912e3b624",class:"dot__wrapper"}))}get el(){return n(this)}};c.style=o;export{c as ifx_indicator};
2
- //# sourceMappingURL=p-f3f8d603.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["indicatorCss","IfxIndicatorStyle0","Indicator","constructor","hostRef","this","inverted","variant","number","handleNumber","filteredNumber","isNaN","componentWillLoad","isNestedInIfxComponent","el","trackComponent","componentWillUpdate","render","h","key","ariaLabel","class"],"sources":["src/components/indicator/indicator.scss?tag=ifx-indicator&encapsulation=shadow","src/components/indicator/indicator.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n}\n\n.indicator__container { \n & .dot__wrapper { \n display: flex;\n width: 8px;\n height: 8px;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n border-radius: 50%;\n background-color: tokens.$ifxColorOcean500;\n }\n\n & .number__container {\n height: 16px;\n display: inline-flex;\n padding: 0; \n min-width: 16px; \n justify-content: center;\n align-items: center;\n border-radius: 100px;\n background-color: tokens.$ifxColorOcean500;\n\n & .number__wrapper {\n padding: 0 4px;\n color: tokens.$ifxColorBaseWhite;\n text-align: center;\n font-size: tokens.$ifxFontSizeS;\n font-style: normal;\n font-weight: tokens.$ifxFontWeightSemibold;\n line-height: 16px;\n }\n\n &.inverted {\n background-color: tokens.$ifxColorBaseWhite;\n\n & .number__wrapper {\n color: tokens.$ifxColorOcean500;\n }\n }\n }\n}\n\n\n","import { Component, h, Prop, Element, State } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\n\n@Component({\n tag: 'ifx-indicator',\n styleUrl: 'indicator.scss',\n shadow: true\n})\nexport class Indicator {\n @Element() el;\n @State() filteredNumber: string | number;\n @Prop() inverted: boolean = false;\n @Prop() ariaLabel: string | null;\n @Prop() variant: string = 'number'\n @Prop() number: number = 0;\n\n handleNumber() {\n this.filteredNumber = !isNaN(this.number) && this.number > 99 ? '99+' : this.number;\n }\n\n componentWillLoad() { \n this.handleNumber()\n if(!isNestedInIfxComponent(this.el)) { \n trackComponent('ifx-indicator')\n }\n }\n\n componentWillUpdate() {\n this.handleNumber()\n }\n\n render() {\n return (\n <div aria-label={this.ariaLabel} class='indicator__container'>\n {this.variant === 'number' && \n <div class={`number__container ${this.inverted ? 'inverted' : \"\"}`}>\n <div class=\"number__wrapper\">\n {this.filteredNumber}\n </div> \n </div>}\n {this.variant === 'dot' && <div class=\"dot__wrapper\"></div>}\n </div>\n );\n }\n}"],"mappings":"0HAAA,MAAMA,EAAe,swBACrB,MAAAC,EAAeD,E,MCQFE,EAAS,MALtB,WAAAC,CAAAC,G,UAQUC,KAAAC,SAAoB,MAEpBD,KAAAE,QAAkB,SAClBF,KAAAG,OAAiB,C,CAEzB,YAAAC,GACEJ,KAAKK,gBAAkBC,MAAMN,KAAKG,SAAWH,KAAKG,OAAS,GAAK,MAAQH,KAAKG,M,CAG/E,iBAAAI,GACEP,KAAKI,eACL,IAAII,EAAuBR,KAAKS,IAAK,CACnCC,EAAe,gB,EAInB,mBAAAC,GACEX,KAAKI,c,CAGP,MAAAQ,GACE,OACEC,EAAA,OAAAC,IAAA,wDAAiBd,KAAKe,UAAWC,MAAM,wBACrChB,KAAKE,UAAY,UAClBW,EAAA,OAAAC,IAAA,2CAAKE,MAAO,qBAAqBhB,KAAKC,SAAW,WAAa,MAC3DY,EAAA,OAAAC,IAAA,2CAAKE,MAAM,mBACRhB,KAAKK,iBAGVL,KAAKE,UAAY,OAASW,EAAA,OAAAC,IAAA,2CAAKE,MAAM,iB","ignoreList":[]}