@infineon/infineon-design-system-stencil 35.4.3--canary.1904.90022a886dec2f64593da4f951b1227f2fa11d99.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 -21
  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 -20
  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-d3dd57ef.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-5dde8493.js → p-186dacc8.js} +5 -10
  273. package/dist/components/p-186dacc8.js.map +1 -0
  274. package/dist/components/{p-73c58d6e.js → p-2a65d85a.js} +6 -6
  275. package/dist/components/{p-73c58d6e.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-ae9a64bd.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-0e204878.js → p-67573b5f.js} +6 -11
  285. package/dist/components/p-67573b5f.js.map +1 -0
  286. package/dist/components/{p-b4cf4976.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-41e6c3c0.js → p-a8d0ef73.js} +11 -16
  293. package/dist/components/p-a8d0ef73.js.map +1 -0
  294. package/dist/components/{p-111ee5b7.js → p-b0039ef1.js} +2 -8
  295. package/dist/components/p-b0039ef1.js.map +1 -0
  296. package/dist/components/{p-71eb750b.js → p-bb4de57d.js} +2 -24
  297. package/dist/components/p-bb4de57d.js.map +1 -0
  298. package/dist/components/{p-6846b5cd.js → p-c9aec5fa.js} +4 -9
  299. package/dist/components/p-c9aec5fa.js.map +1 -0
  300. package/dist/components/{p-5d67552b.js → p-cc5bd74b.js} +5 -10
  301. package/dist/components/p-cc5bd74b.js.map +1 -0
  302. package/dist/components/{p-7273d95d.js → p-cd833a9b.js} +3 -8
  303. package/dist/components/p-cd833a9b.js.map +1 -0
  304. package/dist/components/{p-c466748a.js → p-cd913238.js} +3 -3
  305. package/dist/components/{p-c466748a.js.map → p-cd913238.js.map} +1 -1
  306. package/dist/components/{p-05865217.js → p-d1790232.js} +2 -2
  307. package/dist/components/{p-05865217.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 -22
  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 -2
  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-0e204878.js.map +0 -1
  513. package/dist/components/p-111ee5b7.js.map +0 -1
  514. package/dist/components/p-1ecafb97.js +0 -18
  515. package/dist/components/p-1ecafb97.js.map +0 -1
  516. package/dist/components/p-41e6c3c0.js.map +0 -1
  517. package/dist/components/p-54b39a91.js.map +0 -1
  518. package/dist/components/p-5d67552b.js.map +0 -1
  519. package/dist/components/p-5dde8493.js.map +0 -1
  520. package/dist/components/p-6846b5cd.js.map +0 -1
  521. package/dist/components/p-6d95b3c1.js.map +0 -1
  522. package/dist/components/p-6ecb6a6f.js +0 -39
  523. package/dist/components/p-6ecb6a6f.js.map +0 -1
  524. package/dist/components/p-71eb750b.js.map +0 -1
  525. package/dist/components/p-7273d95d.js.map +0 -1
  526. package/dist/components/p-816b2612.js.map +0 -1
  527. package/dist/components/p-94da6823.js.map +0 -1
  528. package/dist/components/p-9ea9e274.js.map +0 -1
  529. package/dist/components/p-ae9a64bd.js.map +0 -1
  530. package/dist/components/p-b4cf4976.js.map +0 -1
  531. package/dist/components/p-cca71d97.js.map +0 -1
  532. package/dist/components/p-d3dd57ef.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-4cd3dd39.entry.js +0 -2
  558. package/dist/infineon-design-system-stencil/p-4cd3dd39.entry.js.map +0 -1
  559. package/dist/infineon-design-system-stencil/p-4d96fed0.js.map +0 -1
  560. package/dist/infineon-design-system-stencil/p-4eda4ef3.entry.js +0 -2
  561. package/dist/infineon-design-system-stencil/p-4eda4ef3.entry.js.map +0 -1
  562. package/dist/infineon-design-system-stencil/p-52420868.entry.js +0 -2
  563. package/dist/infineon-design-system-stencil/p-52420868.entry.js.map +0 -1
  564. package/dist/infineon-design-system-stencil/p-5493e6f5.entry.js +0 -2
  565. package/dist/infineon-design-system-stencil/p-5493e6f5.entry.js.map +0 -1
  566. package/dist/infineon-design-system-stencil/p-5a12d20a.entry.js +0 -2
  567. package/dist/infineon-design-system-stencil/p-5a12d20a.entry.js.map +0 -1
  568. package/dist/infineon-design-system-stencil/p-65255c40.entry.js +0 -2
  569. package/dist/infineon-design-system-stencil/p-65255c40.entry.js.map +0 -1
  570. package/dist/infineon-design-system-stencil/p-68423787.entry.js +0 -2
  571. package/dist/infineon-design-system-stencil/p-68423787.entry.js.map +0 -1
  572. package/dist/infineon-design-system-stencil/p-6d72ad32.entry.js +0 -2
  573. package/dist/infineon-design-system-stencil/p-6d72ad32.entry.js.map +0 -1
  574. package/dist/infineon-design-system-stencil/p-6ecb6a6f.js +0 -2
  575. package/dist/infineon-design-system-stencil/p-6ecb6a6f.js.map +0 -1
  576. package/dist/infineon-design-system-stencil/p-73d39ed6.entry.js +0 -2
  577. package/dist/infineon-design-system-stencil/p-73d39ed6.entry.js.map +0 -1
  578. package/dist/infineon-design-system-stencil/p-76914839.entry.js.map +0 -1
  579. package/dist/infineon-design-system-stencil/p-796675ed.entry.js +0 -2
  580. package/dist/infineon-design-system-stencil/p-796675ed.entry.js.map +0 -1
  581. package/dist/infineon-design-system-stencil/p-79b7d7a2.entry.js +0 -2
  582. package/dist/infineon-design-system-stencil/p-79b7d7a2.entry.js.map +0 -1
  583. package/dist/infineon-design-system-stencil/p-82c59e6b.entry.js +0 -2
  584. package/dist/infineon-design-system-stencil/p-82c59e6b.entry.js.map +0 -1
  585. package/dist/infineon-design-system-stencil/p-82dd7e7d.entry.js +0 -2
  586. package/dist/infineon-design-system-stencil/p-82dd7e7d.entry.js.map +0 -1
  587. package/dist/infineon-design-system-stencil/p-877e1d37.entry.js +0 -2
  588. package/dist/infineon-design-system-stencil/p-877e1d37.entry.js.map +0 -1
  589. package/dist/infineon-design-system-stencil/p-8a7bfe65.entry.js +0 -2
  590. package/dist/infineon-design-system-stencil/p-8a7bfe65.entry.js.map +0 -1
  591. package/dist/infineon-design-system-stencil/p-98532a0e.entry.js +0 -2
  592. package/dist/infineon-design-system-stencil/p-98532a0e.entry.js.map +0 -1
  593. package/dist/infineon-design-system-stencil/p-9c28f35f.entry.js.map +0 -1
  594. package/dist/infineon-design-system-stencil/p-a0006775.entry.js +0 -2
  595. package/dist/infineon-design-system-stencil/p-a0006775.entry.js.map +0 -1
  596. package/dist/infineon-design-system-stencil/p-ac7db8d1.entry.js +0 -2
  597. package/dist/infineon-design-system-stencil/p-ac7db8d1.entry.js.map +0 -1
  598. package/dist/infineon-design-system-stencil/p-ae8110b7.entry.js +0 -2
  599. package/dist/infineon-design-system-stencil/p-ae8110b7.entry.js.map +0 -1
  600. package/dist/infineon-design-system-stencil/p-aeaa6d0b.entry.js +0 -2
  601. package/dist/infineon-design-system-stencil/p-aeaa6d0b.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 +1 @@
1
- {"file":"ifx-tabs.entry.cjs.js","mappings":"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","names":["isNestedInIfxComponent","trackComponent","h","index"],"sources":["src/components/tabs/tabs.scss?tag=ifx-tabs&encapsulation=shadow","src/components/tabs/tabs.tsx"],"sourcesContent":["//ifxTabs.scss\n@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: flex;\n}\n\n.tabs {\n display: flex;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n width: 100%;\n}\n\n.tabs.horizontal {\n flex-direction: column;\n}\n\n.tabs.vertical {\n flex-direction: row;\n}\n\n.tabs-list {\n display: flex;\n list-style: none;\n padding: 0;\n margin: 0;\n position: relative;\n font-weight: tokens.$ifxFontWeightSemibold;\n}\n\n.tabs-list:focus-within .active-border {\n display: none;\n}\n\n.active-border {\n content: \"\";\n position: absolute;\n transition: left 0.3s ease-in-out, top 0.3s ease-in-out, height 0.3s ease-in-out;\n}\n\n.tabs.horizontal .active-border {\n bottom: 0;\n left: 0;\n height: 2px;\n background-color: tokens.$ifxColorOcean500;\n}\n\n.tabs.vertical .tabs-list {\n flex-direction: column;\n border-bottom: none;\n}\n\n.tabs.vertical .tab-content {\n padding-top: 0px;\n padding-left: 32px;\n}\n\n.tabs:not(.vertical) {\n & .tab-item {\n &.full-width { \n flex: 1;\n }\n }\n}\n\n.tab-item {\n // Reduced padding values\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: tokens.$ifxSpace100 tokens.$ifxSpace200;\n cursor: pointer;\n position: relative;\n\n &.icon__right {\n flex-direction: row-reverse;\n justify-content: flex-end;\n }\n \n &:hover {\n color: tokens.$ifxColorOcean500;\n }\n \n &:active,\n &.active {\n color: tokens.$ifxColorOcean500;\n }\n\n &:focus,\n &.focus {\n outline: none;\n border-radius: 1px;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean500;\n \n // Assuming .active-border is a sibling of .tab-item\n +.active-border {\n display: none; // Hide the active border when the tab is in focus\n }\n }\n \n &.disabled {\n color: tokens.$ifxColorEngineering300;\n pointer-events: none;\n }\n}\n\n.tabs.vertical .tab-item {\n border-right: 2px solid transparent;\n min-width: 7em;\n}\n\n.tabs.vertical .active-border {\n left: 0;\n top: 0;\n width: 2px;\n background-color: tokens.$ifxColorOcean500;\n}\n\n\n.tab-content {\n padding-top: 24px;\n padding-left: 0px;\n flex-grow: 1;\n}\n\n.tabs.small .tab-item {\n font-size: tokens.$ifxFontSizeS;\n}","import { Component, h, Prop, State, Element, Listen, Event, EventEmitter, Watch } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\n\n@Component({\n tag: 'ifx-tabs',\n styleUrl: 'tabs.scss',\n shadow: true\n})\nexport class IfxTabs {\n @Element() el: HTMLElement;\n\n @Prop() orientation: string = \"horizontal\";\n @Prop({ mutable: true }) activeTabIndex: number = 0;\n @Prop() fullWidth: boolean = false;\n\n @State() internalOrientation: string;\n @State() internalActiveTabIndex: number = 0;\n @State() internalFocusedTabIndex: number = 0;\n @State() tabRefs: HTMLElement[] = [];\n @State() tabHeaderRefs: HTMLElement[] = [];\n @State() disabledTabs: string[] = [];\n @State() tabObjects: any[] = [];\n\n @Event() ifxChange: EventEmitter;\n\n @Listen('resize', {target: 'window'})\n updateBorderOnWindowResize() {\n this.updateBorderAndFocus();\n }\n\n setActiveAndFocusedTab(index: number) {\n if (index >= this.tabObjects.length) {\n index = this.tabObjects.length - 1;\n }\n if (index < 0) {\n index = 0;\n }\n if (!this.tabObjects[index]?.disabled) {\n this.internalActiveTabIndex = index;\n this.internalFocusedTabIndex = index;\n }\n }\n\n @Listen('tabHeaderChange')\n handleTabHeaderChange(e) { \n const tabIndex = e.target.getAttribute('slot').replace('tab-', '');\n this.tabObjects[tabIndex].header = e.detail;\n this.tabObjects = [...this.tabObjects]; \n }\n \n\n @Watch('activeTabIndex')\n activeTabIndexChanged(newValue: number, oldValue: number) {\n if (newValue !== oldValue) {\n this.setActiveAndFocusedTab(newValue);\n }\n }\n\n componentWillLoad() {\n if(!isNestedInIfxComponent(this.el)) { \n trackComponent('ifx-tabs')\n }\n this.internalOrientation = this.orientation.toLowerCase() === 'vertical' ? 'vertical' : 'horizontal';\n if (this.internalActiveTabIndex !== this.activeTabIndex) {\n this.ifxChange.emit({ previousTab: this.internalActiveTabIndex, currentTab: this.activeTabIndex });\n };\n this.onSlotChange();\n this.setActiveAndFocusedTab(this.activeTabIndex);\n this.updateTabStyles();\n }\n\n updateTabStyles() {\n this.tabHeaderRefs.forEach((tab, index) => {\n tab.classList.toggle('active', index === this.internalActiveTabIndex);\n tab.setAttribute('aria-selected', index === this.internalActiveTabIndex ? 'true' : 'false')\n });\n }\n\n\n // needed for smooth border transition\n reRenderBorder() {\n const borderElement = this.el.shadowRoot.querySelector('.active-border') as HTMLElement;\n if (borderElement && this.tabHeaderRefs[this.internalActiveTabIndex]) {\n if (this.orientation === 'horizontal') {\n\n borderElement.style.left = `${this.tabHeaderRefs[this.internalActiveTabIndex].offsetLeft}px`;\n borderElement.style.width = `${this.tabHeaderRefs[this.internalActiveTabIndex].offsetWidth}px`;\n borderElement.style.top = '';\n borderElement.style.height = '';\n } else {\n borderElement.style.top = `${this.tabHeaderRefs[this.internalActiveTabIndex].offsetTop}px`;\n borderElement.style.height = `${this.tabHeaderRefs[this.internalActiveTabIndex].offsetHeight}px`;\n borderElement.style.left = '';\n borderElement.style.width = '';\n }\n }\n }\n\n\n // when a slot is removed / added\n @Listen('slotchange')\n onSlotChange() {\n const tabs = this.el.querySelectorAll('ifx-tab');\n this.tabObjects = Array.from(tabs).map((tab) => {\n return {\n header: tab?.header,\n disabled: tab?.disabled === true,\n icon: tab?.icon,\n iconPosition: tab?.iconPosition\n }\n });\n\n this.tabRefs = Array.from(tabs);\n this.tabRefs.forEach((tab, index) => {\n tab.setAttribute('slot', `tab-${index}`);\n });\n }\n\n setDefaultOrientation() {\n const validOrientations = ['horizontal', 'vertical'];\n const lowercaseOrientation = this.orientation.toLowerCase();\n\n if (!validOrientations.includes(lowercaseOrientation)) {\n this.internalOrientation = 'horizontal';\n } else this.internalOrientation = this.orientation;\n }\n\n componentDidLoad() {\n this.updateBorderAndFocus();\n // Add keyboard event listeners for each tab header\n this.tabHeaderRefs.forEach((tab, index) => {\n tab.addEventListener('focus', this.onTabFocus(index));\n });\n\n }\n\n onTabFocus(index) {\n return () => {\n this.internalFocusedTabIndex = index;\n };\n }\n\n disconnectedCallback() {\n // Remove keyboard event listeners when component is unmounted\n this.tabHeaderRefs.forEach((tab, index) => {\n tab.removeEventListener('focus', this.onTabFocus(index));\n });\n }\n componentDidUpdate() {\n this.updateBorderAndFocus();\n }\n\n private updateBorderAndFocus() {\n this.reRenderBorder()\n this.updateTabFocusability();\n }\n\n private updateTabFocusability() {\n this.tabHeaderRefs.forEach((tab, index) => {\n tab.tabIndex = index === this.internalActiveTabIndex ? 0 : -1;\n })\n }\n\n\n private focusNextTab() {\n let nextIndex = this.internalFocusedTabIndex + 1;\n while (nextIndex < this.tabHeaderRefs.length && this.tabObjects[nextIndex].disabled) {\n nextIndex++;\n }\n if (nextIndex >= 0 && nextIndex < this.tabHeaderRefs.length) {\n this.internalFocusedTabIndex = nextIndex;\n this.tabHeaderRefs[nextIndex].focus();\n }\n }\n\n private focusPreviousTab() {\n let prevIndex = this.internalFocusedTabIndex - 1;\n while ((prevIndex >= 0) && (this.tabObjects[prevIndex].disabled)) {\n prevIndex--;\n }\n if ((prevIndex >= 0) && (prevIndex < this.tabHeaderRefs.length)) {\n this.internalFocusedTabIndex = prevIndex;\n this.tabHeaderRefs[prevIndex].focus();\n }\n }\n\n\n private getTabItemClass(index: number) {\n const isActive = index === this.internalActiveTabIndex && !this.tabObjects[index].disabled;\n const isDisabled = this.tabObjects[index].disabled;\n const iconPosition = this.tabObjects[index].iconPosition\n return `tab-item ${this.fullWidth ? 'full-width' : \"\"} ${isActive ? 'active' : ''} ${isDisabled ? 'disabled' : ''} ${'icon__'+iconPosition}`;\n }\n\n private handleClick(tab, index) {\n this.ifxChange.emit({ previousTab: this.internalActiveTabIndex, currentTab: index })\n if (!tab.disabled) this.internalActiveTabIndex = index;\n\n }\n\n\n\n @Listen('keydown')\n handleKeyDown(ev: KeyboardEvent) {\n if (ev.key === 'Tab') {\n\n if (ev.shiftKey) {\n // Shift + Tab\n if (this.internalFocusedTabIndex === 0) {\n // Allow default behavior to move focus out of component\n return;\n } else {\n ev.preventDefault();\n this.focusPreviousTab();\n }\n } else {\n // Tab\n if (this.internalFocusedTabIndex === this.tabHeaderRefs.length - 1) {\n // Allow default behavior to move focus out of component\n return;\n } else {\n ev.preventDefault();\n this.focusNextTab();\n }\n }\n } else if (ev.key === 'Enter') {\n const path = ev.composedPath();\n const isTabHeader = path.some(el => this.tabHeaderRefs.includes(el as HTMLElement));\n if (!isTabHeader) {\n return;\n }\n \n if (this.internalFocusedTabIndex !== -1 && !this.tabObjects[this.internalFocusedTabIndex].disabled) {\n const previouslyActiveTabIndex = this.internalActiveTabIndex;\n this.internalActiveTabIndex = this.internalFocusedTabIndex;\n this.ifxChange.emit({ previousTab: previouslyActiveTabIndex, currentTab: this.internalFocusedTabIndex })\n }\n }\n }\n\n\n render() {\n return (\n <div aria-label=\"navigation tabs\" class={`tabs ${this.internalOrientation}`}>\n <ul role=\"tablist\" class=\"tabs-list\">\n {this.tabObjects?.map((tab, index) => (\n <li\n class={this.getTabItemClass(index)}\n ref={(el) => (this.tabHeaderRefs[index] = el)}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => this.handleClick(tab, index)}\n aria-selected={index === this.internalActiveTabIndex ? 'true' : 'false'}\n aria-disabled={tab.disabled ? 'true' : 'false'}\n role=\"tab\"\n > \n {tab?.icon ? <ifx-icon icon = {tab.icon}></ifx-icon> : ''}\n {tab?.header}\n </li>\n ))}\n <div class=\"active-border\"></div>\n </ul>\n <div class=\"tab-content\">\n {Array.from(this.tabObjects).map((_, index) => (\n <div style={{ display: index === this.internalActiveTabIndex ? 'block' : 'none' }}>\n <slot name={`tab-${index}`} />\n </div>\n ))}\n </div>\n </div>\n );\n }\n\n}"],"version":3}
1
+ {"file":"ifx-tabs.entry.cjs.js","mappings":"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","names":["h","index"],"sources":["src/components/tabs/tabs.scss?tag=ifx-tabs&encapsulation=shadow","src/components/tabs/tabs.tsx"],"sourcesContent":["//ifxTabs.scss\n@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: flex;\n}\n\n.tabs {\n display: flex;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n width: 100%;\n}\n\n.tabs.horizontal {\n flex-direction: column;\n}\n\n.tabs.vertical {\n flex-direction: row;\n}\n\n.tabs-list {\n display: flex;\n list-style: none;\n padding: 0;\n margin: 0;\n position: relative;\n font-weight: tokens.$ifxFontWeightSemibold;\n}\n\n.tabs-list:focus-within .active-border {\n display: none;\n}\n\n.active-border {\n content: \"\";\n position: absolute;\n transition: left 0.3s ease-in-out, top 0.3s ease-in-out, height 0.3s ease-in-out;\n}\n\n.tabs.horizontal .active-border {\n bottom: 0;\n left: 0;\n height: 2px;\n background-color: tokens.$ifxColorOcean500;\n}\n\n.tabs.vertical .tabs-list {\n flex-direction: column;\n border-bottom: none;\n}\n\n.tabs.vertical .tab-content {\n padding-top: 0px;\n padding-left: 32px;\n}\n\n.tabs:not(.vertical) {\n & .tab-item {\n &.full-width { \n flex: 1;\n }\n }\n}\n\n.tab-item {\n // Reduced padding values\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: tokens.$ifxSpace100 tokens.$ifxSpace200;\n cursor: pointer;\n position: relative;\n\n &.icon__right {\n flex-direction: row-reverse;\n justify-content: flex-end;\n }\n \n &:hover {\n color: tokens.$ifxColorOcean500;\n }\n \n &:active,\n &.active {\n color: tokens.$ifxColorOcean500;\n }\n\n &:focus,\n &.focus {\n outline: none;\n border-radius: 1px;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean500;\n \n // Assuming .active-border is a sibling of .tab-item\n +.active-border {\n display: none; // Hide the active border when the tab is in focus\n }\n }\n \n &.disabled {\n color: tokens.$ifxColorEngineering300;\n pointer-events: none;\n }\n}\n\n.tabs.vertical .tab-item {\n border-right: 2px solid transparent;\n min-width: 7em;\n}\n\n.tabs.vertical .active-border {\n left: 0;\n top: 0;\n width: 2px;\n background-color: tokens.$ifxColorOcean500;\n}\n\n\n.tab-content {\n padding-top: 24px;\n padding-left: 0px;\n flex-grow: 1;\n}\n\n.tabs.small .tab-item {\n font-size: tokens.$ifxFontSizeS;\n}","//ifxTabs.tsx\nimport { Component, h, Prop, State, Element, Listen, Event, EventEmitter, Watch } from '@stencil/core';\n \n\n\n@Component({\n tag: 'ifx-tabs',\n styleUrl: 'tabs.scss',\n shadow: true\n})\nexport class IfxTabs {\n @Element() el: HTMLElement;\n\n @Prop() orientation: string = \"horizontal\";\n @Prop({ mutable: true }) activeTabIndex: number = 0;\n @Prop() fullWidth: boolean = false;\n\n @State() internalOrientation: string;\n @State() internalActiveTabIndex: number = 0;\n @State() internalFocusedTabIndex: number = 0;\n @State() tabRefs: HTMLElement[] = [];\n @State() tabHeaderRefs: HTMLElement[] = [];\n @State() disabledTabs: string[] = [];\n @State() tabObjects: any[] = [];\n\n @Event() ifxChange: EventEmitter;\n\n @Listen('resize', {target: 'window'})\n updateBorderOnWindowResize() {\n this.updateBorderAndFocus();\n }\n\n setActiveAndFocusedTab(index: number) {\n if (index >= this.tabObjects.length) {\n index = this.tabObjects.length - 1;\n }\n if (index < 0) {\n index = 0;\n }\n if (!this.tabObjects[index]?.disabled) {\n this.internalActiveTabIndex = index;\n this.internalFocusedTabIndex = index;\n }\n }\n\n @Listen('tabHeaderChange')\n handleTabHeaderChange(e) { \n const tabIndex = e.target.getAttribute('slot').replace('tab-', '');\n this.tabObjects[tabIndex].header = e.detail;\n this.tabObjects = [...this.tabObjects]; \n }\n \n\n @Watch('activeTabIndex')\n activeTabIndexChanged(newValue: number, oldValue: number) {\n if (newValue !== oldValue) {\n this.setActiveAndFocusedTab(newValue);\n }\n }\n\n\n\n componentWillLoad() {\n this.internalOrientation = this.orientation.toLowerCase() === 'vertical' ? 'vertical' : 'horizontal';\n if (this.internalActiveTabIndex !== this.activeTabIndex) {\n this.ifxChange.emit({ previousTab: this.internalActiveTabIndex, currentTab: this.activeTabIndex });\n };\n this.onSlotChange();\n this.setActiveAndFocusedTab(this.activeTabIndex);\n this.updateTabStyles();\n }\n\n updateTabStyles() {\n this.tabHeaderRefs.forEach((tab, index) => {\n tab.classList.toggle('active', index === this.internalActiveTabIndex);\n tab.setAttribute('aria-selected', index === this.internalActiveTabIndex ? 'true' : 'false')\n });\n }\n\n\n // needed for smooth border transition\n reRenderBorder() {\n const borderElement = this.el.shadowRoot.querySelector('.active-border') as HTMLElement;\n if (borderElement && this.tabHeaderRefs[this.internalActiveTabIndex]) {\n if (this.orientation === 'horizontal') {\n\n borderElement.style.left = `${this.tabHeaderRefs[this.internalActiveTabIndex].offsetLeft}px`;\n borderElement.style.width = `${this.tabHeaderRefs[this.internalActiveTabIndex].offsetWidth}px`;\n borderElement.style.top = '';\n borderElement.style.height = '';\n } else {\n borderElement.style.top = `${this.tabHeaderRefs[this.internalActiveTabIndex].offsetTop}px`;\n borderElement.style.height = `${this.tabHeaderRefs[this.internalActiveTabIndex].offsetHeight}px`;\n borderElement.style.left = '';\n borderElement.style.width = '';\n }\n }\n }\n\n\n // when a slot is removed / added\n @Listen('slotchange')\n onSlotChange() {\n const tabs = this.el.querySelectorAll('ifx-tab');\n this.tabObjects = Array.from(tabs).map((tab) => {\n return {\n header: tab?.header,\n disabled: tab?.disabled === true,\n icon: tab?.icon,\n iconPosition: tab?.iconPosition\n }\n });\n\n this.tabRefs = Array.from(tabs);\n this.tabRefs.forEach((tab, index) => {\n tab.setAttribute('slot', `tab-${index}`);\n });\n }\n\n setDefaultOrientation() {\n const validOrientations = ['horizontal', 'vertical'];\n const lowercaseOrientation = this.orientation.toLowerCase();\n\n if (!validOrientations.includes(lowercaseOrientation)) {\n this.internalOrientation = 'horizontal';\n } else this.internalOrientation = this.orientation;\n }\n\n componentDidLoad() {\n this.updateBorderAndFocus();\n // Add keyboard event listeners for each tab header\n this.tabHeaderRefs.forEach((tab, index) => {\n tab.addEventListener('focus', this.onTabFocus(index));\n });\n\n }\n\n onTabFocus(index) {\n return () => {\n this.internalFocusedTabIndex = index;\n };\n }\n\n disconnectedCallback() {\n // Remove keyboard event listeners when component is unmounted\n this.tabHeaderRefs.forEach((tab, index) => {\n tab.removeEventListener('focus', this.onTabFocus(index));\n });\n }\n componentDidUpdate() {\n this.updateBorderAndFocus();\n }\n\n private updateBorderAndFocus() {\n this.reRenderBorder()\n this.updateTabFocusability();\n }\n\n private updateTabFocusability() {\n this.tabHeaderRefs.forEach((tab, index) => {\n tab.tabIndex = index === this.internalActiveTabIndex ? 0 : -1;\n })\n }\n\n\n private focusNextTab() {\n let nextIndex = this.internalFocusedTabIndex + 1;\n while (nextIndex < this.tabHeaderRefs.length && this.tabObjects[nextIndex].disabled) {\n nextIndex++;\n }\n if (nextIndex >= 0 && nextIndex < this.tabHeaderRefs.length) {\n this.internalFocusedTabIndex = nextIndex;\n this.tabHeaderRefs[nextIndex].focus();\n }\n }\n\n private focusPreviousTab() {\n let prevIndex = this.internalFocusedTabIndex - 1;\n while ((prevIndex >= 0) && (this.tabObjects[prevIndex].disabled)) {\n prevIndex--;\n }\n if ((prevIndex >= 0) && (prevIndex < this.tabHeaderRefs.length)) {\n this.internalFocusedTabIndex = prevIndex;\n this.tabHeaderRefs[prevIndex].focus();\n }\n }\n\n\n private getTabItemClass(index: number) {\n const isActive = index === this.internalActiveTabIndex && !this.tabObjects[index].disabled;\n const isDisabled = this.tabObjects[index].disabled;\n const iconPosition = this.tabObjects[index].iconPosition\n return `tab-item ${this.fullWidth ? 'full-width' : \"\"} ${isActive ? 'active' : ''} ${isDisabled ? 'disabled' : ''} ${'icon__'+iconPosition}`;\n }\n\n private handleClick(tab, index) {\n this.ifxChange.emit({ previousTab: this.internalActiveTabIndex, currentTab: index })\n if (!tab.disabled) this.internalActiveTabIndex = index;\n\n }\n\n\n\n @Listen('keydown')\n handleKeyDown(ev: KeyboardEvent) {\n if (ev.key === 'Tab') {\n\n if (ev.shiftKey) {\n // Shift + Tab\n if (this.internalFocusedTabIndex === 0) {\n // Allow default behavior to move focus out of component\n return;\n } else {\n ev.preventDefault();\n this.focusPreviousTab();\n }\n } else {\n // Tab\n if (this.internalFocusedTabIndex === this.tabHeaderRefs.length - 1) {\n // Allow default behavior to move focus out of component\n return;\n } else {\n ev.preventDefault();\n this.focusNextTab();\n }\n }\n } else if (ev.key === 'Enter') {\n const path = ev.composedPath();\n const isTabHeader = path.some(el => this.tabHeaderRefs.includes(el as HTMLElement));\n if (!isTabHeader) {\n return;\n }\n \n if (this.internalFocusedTabIndex !== -1 && !this.tabObjects[this.internalFocusedTabIndex].disabled) {\n const previouslyActiveTabIndex = this.internalActiveTabIndex;\n this.internalActiveTabIndex = this.internalFocusedTabIndex;\n this.ifxChange.emit({ previousTab: previouslyActiveTabIndex, currentTab: this.internalFocusedTabIndex })\n }\n }\n }\n\n\n render() {\n return (\n <div aria-label=\"navigation tabs\" class={`tabs ${this.internalOrientation}`}>\n <ul role=\"tablist\" class=\"tabs-list\">\n {this.tabObjects?.map((tab, index) => (\n <li\n class={this.getTabItemClass(index)}\n ref={(el) => (this.tabHeaderRefs[index] = el)}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => this.handleClick(tab, index)}\n aria-selected={index === this.internalActiveTabIndex ? 'true' : 'false'}\n aria-disabled={tab.disabled ? 'true' : 'false'}\n role=\"tab\"\n > \n {tab?.icon ? <ifx-icon icon = {tab.icon}></ifx-icon> : ''}\n {tab?.header}\n </li>\n ))}\n <div class=\"active-border\"></div>\n </ul>\n <div class=\"tab-content\">\n {Array.from(this.tabObjects).map((_, index) => (\n <div style={{ display: index === this.internalActiveTabIndex ? 'block' : 'none' }}>\n <slot name={`tab-${index}`} />\n </div>\n ))}\n </div>\n </div>\n );\n }\n\n}"],"version":3}
@@ -3,8 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-7f4df11a.js');
6
- const tracking = require('./tracking-f00364dc.js');
7
- const domUtils = require('./dom-utils-2c4573c2.js');
8
6
 
9
7
  const tagCss = ":root{--ifx-font-family:\"Source Sans 3\", \"Arial, sans-serif\"}:host{display:inline-flex}.container{display:inline-flex;align-items:center;padding:4px 16px;border:1px solid #BFBBBB;border-radius:9999px;background-color:#FFFFFF;gap:8px;font-family:var(--ifx-font-family)}.container:hover{cursor:pointer;border-color:#8D8786}.container:active,.container.active{border-color:#1D1D1D}.container:focus:not(:active,.active){outline:none;border-color:#1D1D1D}.container .label-wrapper{text-decoration:none}.container .label-wrapper .label{margin:0;font-weight:400;font-size:1rem;line-height:20px;color:#1D1D1D}";
10
8
  const IfxTagStyle0 = tagCss;
@@ -13,15 +11,9 @@ const Tag = class {
13
11
  constructor(hostRef) {
14
12
  index.registerInstance(this, hostRef);
15
13
  }
16
- componentWillLoad() {
17
- if (!domUtils.isNestedInIfxComponent(this.el)) {
18
- tracking.trackComponent('ifx-tag');
19
- }
20
- }
21
14
  render() {
22
- return (index.h("div", { key: '98035e8bf82d0f80a31b9bc8b58c37214ee17b61', "aria-label": "a tag", class: "container" }, this.icon && (index.h("ifx-icon", { key: 'c57606f3253ef1268a915238e93391c05436de11', icon: this.icon })), index.h("a", { key: '07deaea1330096f2a26d61f1adb910301e874aeb', href: "javascript:void(null);", class: "label-wrapper" }, index.h("p", { key: 'c6f243fe85ed36dde226d58f432e10f25be22d0a', class: "label" }, index.h("slot", { key: 'baafb8ed7bef9ff6451139caf315df8daeacf3a5' })))));
15
+ return (index.h("div", { key: '7d3cd6bbcd2b17053ddf88de92b752ca8beae04e', "aria-label": "a tag", class: "container" }, this.icon && (index.h("ifx-icon", { key: 'e4a9649f4c96f621d99659065b7686cc47405f3a', icon: this.icon })), index.h("a", { key: 'b970b5f7f9b9bbdd16178ec2e6ebf74bdc2975cc', href: "javascript:void(null);", class: "label-wrapper" }, index.h("p", { key: '16c29b68bedca92002a52db88f2449a646e47a9c', class: "label" }, index.h("slot", { key: 'd96adb622df3339e5ee0c6e6d8fed7d83560bed2' })))));
23
16
  }
24
- get el() { return index.getElement(this); }
25
17
  };
26
18
  Tag.style = IfxTagStyle0;
27
19
 
@@ -1 +1 @@
1
- {"file":"ifx-tag.entry.cjs.js","mappings":";;;;;;;;AAAA,MAAM,MAAM,GAAG,+lBAA+lB,CAAC;AAC/mB,qBAAe,MAAM;;MCQR,GAAG;;;;IAId,iBAAiB;QACf,IAAG,CAACA,+BAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACnCC,uBAAc,CAAC,SAAS,CAAC,CAAA;SAC1B;KACF;IAED,MAAM;QACJ,QACEC,gFAAgB,OAAO,EAAC,KAAK,EAAC,WAAW,IACtC,IAAI,CAAC,IAAI,KACRA,uEAAU,IAAI,EAAE,IAAI,CAAC,IAAI,GAAa,CAAC,EACzCA,gEAAG,IAAI,EAAC,wBAAwB,EAAC,KAAK,EAAC,eAAe,IACpDA,gEAAG,KAAK,EAAC,OAAO,IACdA,oEAAQ,CACN,CACF,CACA,EAEN;KACH;;;;;;;","names":["isNestedInIfxComponent","trackComponent","h"],"sources":["src/components/tag/tag.scss?tag=ifx-tag&encapsulation=shadow","src/components/tag/tag.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n}\n\n.container {\n display: inline-flex;\n align-items: center;\n padding: tokens.$ifxSpace50 tokens.$ifxSpace200;\n border: 1px solid tokens.$ifxColorEngineering300;\n border-radius: tokens.$ifxBorderRadiusRound;\n background-color: tokens.$ifxColorBaseWhite;\n gap: tokens.$ifxSpace100;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n &:hover {\n cursor: pointer;\n border-color: tokens.$ifxColorEngineering400;\n }\n\n &:active,\n &.active {\n border-color: tokens.$ifxColorBaseBlack;\n }\n\n &:focus:not(:active, .active) {\n outline: none;\n border-color: tokens.$ifxColorBaseBlack;\n }\n\n .label-wrapper {\n text-decoration: none;\n\n .label {\n margin: 0;\n font-weight: tokens.$ifxFontWeightRegular;\n font-size: tokens.$ifxFontSizeM;\n line-height: 20px;\n color: tokens.$ifxColorBaseBlack;\n }\n }\n}","import { Component, Prop, h, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\n\n@Component({\n tag: 'ifx-tag',\n styleUrl: 'tag.scss',\n shadow: true\n})\nexport class Tag {\n @Element() el: HTMLElement;\n @Prop() icon: string;\n\n componentWillLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n trackComponent('ifx-tag')\n }\n }\n\n render() {\n return (\n <div aria-label=\"a tag\" class=\"container\">\n {this.icon && (\n <ifx-icon icon={this.icon}></ifx-icon>)}\n <a href=\"javascript:void(null);\" class=\"label-wrapper\" >\n <p class=\"label\">\n <slot />\n </p>\n </a>\n </div>\n\n );\n }\n}"],"version":3}
1
+ {"file":"ifx-tag.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,MAAM,GAAG,+lBAA+lB,CAAC;AAC/mB,qBAAe,MAAM;;MCOR,GAAG;;;;IAKd,MAAM;QACJ,QACEA,gFAAgB,OAAO,EAAC,KAAK,EAAC,WAAW,IACtC,IAAI,CAAC,IAAI,KACRA,uEAAU,IAAI,EAAE,IAAI,CAAC,IAAI,GAAa,CAAC,EACzCA,gEAAG,IAAI,EAAC,wBAAwB,EAAC,KAAK,EAAC,eAAe,IACpDA,gEAAG,KAAK,EAAC,OAAO,IACdA,oEAAQ,CACN,CACF,CACA,EAEN;KACH;;;;;;","names":["h"],"sources":["src/components/tag/tag.scss?tag=ifx-tag&encapsulation=shadow","src/components/tag/tag.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n}\n\n.container {\n display: inline-flex;\n align-items: center;\n padding: tokens.$ifxSpace50 tokens.$ifxSpace200;\n border: 1px solid tokens.$ifxColorEngineering300;\n border-radius: tokens.$ifxBorderRadiusRound;\n background-color: tokens.$ifxColorBaseWhite;\n gap: tokens.$ifxSpace100;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n &:hover {\n cursor: pointer;\n border-color: tokens.$ifxColorEngineering400;\n }\n\n &:active,\n &.active {\n border-color: tokens.$ifxColorBaseBlack;\n }\n\n &:focus:not(:active, .active) {\n outline: none;\n border-color: tokens.$ifxColorBaseBlack;\n }\n\n .label-wrapper {\n text-decoration: none;\n\n .label {\n margin: 0;\n font-weight: tokens.$ifxFontWeightRegular;\n font-size: tokens.$ifxFontSizeM;\n line-height: 20px;\n color: tokens.$ifxColorBaseBlack;\n }\n }\n}","import { Component, Prop, h } from '@stencil/core';\n \n\n@Component({\n tag: 'ifx-tag',\n styleUrl: 'tag.scss',\n shadow: true\n})\nexport class Tag {\n @Prop() icon: string;\n\n\n\n render() {\n return (\n <div aria-label=\"a tag\" class=\"container\">\n {this.icon && (\n <ifx-icon icon={this.icon}></ifx-icon>)}\n <a href=\"javascript:void(null);\" class=\"label-wrapper\" >\n <p class=\"label\">\n <slot />\n </p>\n </a>\n </div>\n\n );\n }\n}"],"version":3}
@@ -3,8 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-7f4df11a.js');
6
- const tracking = require('./tracking-f00364dc.js');
7
- const domUtils = require('./dom-utils-2c4573c2.js');
8
6
 
9
7
  const textareaCss = ":root{--ifx-font-family:\"Source Sans 3\", \"Arial, sans-serif\"}:host{display:flex;flex-direction:column;width:100%}.wrapper__label{color:#1D1D1D;font:400 1rem/1.5rem \"Source Sans 3\"}:host(.wrapper--disabled) .wrapper__label{color:#575352}.wrapper__textarea{width:100%}.wrapper__textarea.fullWidth{width:100%}.wrapper__textarea.fullWidth textarea{width:100%;box-sizing:border-box}.wrapper__textarea textarea{border:1px solid #8D8786;border-radius:1px;padding:8px 16px;background-color:#FFFFFF;color:#1D1D1D;font:400 1rem/1.5rem \"Source Sans 3\";transition:all 100ms ease;transition-property:border-color}.wrapper__textarea textarea:hover{border:1px solid #575352}.wrapper__textarea textarea:focus-within{outline:none;border:1px solid #0A8276}:host(.wrapper--error) .wrapper__textarea textarea{border:1px solid #CD002F}:host(.wrapper--disabled) .wrapper__textarea textarea{border:1px solid #575352;background-color:#EEEDED}.wrapper__caption{color:#1D1D1D;font:400 0.75rem/1rem \"Source Sans 3\"}:host(.wrapper--error) .wrapper__caption{color:#CD002F}:host(.wrapper--disabled) .wrapper__caption{color:#575352}";
10
8
  const IfxTextareaStyle0 = textareaCss;
@@ -59,14 +57,11 @@ const TextArea = class {
59
57
  this.internals.setFormValue('');
60
58
  }
61
59
  componentWillLoad() {
62
- if (!domUtils.isNestedInIfxComponent(this.el)) {
63
- tracking.trackComponent('ifx-textarea');
64
- }
65
60
  this.internals.setFormValue(this.value);
66
61
  }
67
62
  render() {
68
63
  var _a, _b;
69
- return (index.h(index.Host, { key: '32e267fccaf70d7faf2e215e0da87f982ba9998a', class: `wrapper--${this.error ? 'error' : ''} wrapper--${this.disabled ? 'disabled' : ''}` }, index.h("label", { key: 'b82d2981aa6986283059f8238332242ca51b0883', class: 'wrapper__label', htmlFor: this.inputId }, (_a = this.label) === null || _a === void 0 ? void 0 : _a.trim()), index.h("div", { key: '72781756fc06c8d0242370b459e915a338ec383b', class: 'wrapper__textarea' }, index.h("textarea", { key: '4bfa47e1d6debbdfc389414c36178e1142b5c55d', "aria-label": 'a textarea', "aria-value": this.value, "aria-disabled": this.disabled, id: this.inputId, style: { resize: this.resize }, name: this.name ? this.name : this.inputId, cols: this.cols, rows: this.rows, maxlength: this.maxlength, wrap: this.wrap, disabled: this.disabled, readonly: this.readOnly, placeholder: this.placeholder, value: this.value, onInput: (e) => this.handleOnInput(e) })), ((_b = this.caption) === null || _b === void 0 ? void 0 : _b.trim()) && (index.h("div", { key: '82a1d29703dd587d694ee1cad3b20dc846b3af50', class: 'wrapper__caption' }, this.caption.trim()))));
64
+ return (index.h(index.Host, { key: '42ee0d156ab4e9687aec2fbef110e974eb7fd7aa', class: `wrapper--${this.error ? 'error' : ''} wrapper--${this.disabled ? 'disabled' : ''}` }, index.h("label", { key: '8f24ed08149d0fd39fa2c7f86c3fb58726f75d5f', class: 'wrapper__label', htmlFor: this.inputId }, (_a = this.label) === null || _a === void 0 ? void 0 : _a.trim()), index.h("div", { key: '7a393f85317dcbaa6395ed42d0d7af637e5eb158', class: 'wrapper__textarea' }, index.h("textarea", { key: 'eac8384d3a31383b2321ef2c5faaf523fa646700', "aria-label": 'a textarea', "aria-value": this.value, "aria-disabled": this.disabled, id: this.inputId, style: { resize: this.resize }, name: this.name ? this.name : this.inputId, cols: this.cols, rows: this.rows, maxlength: this.maxlength, wrap: this.wrap, disabled: this.disabled, readonly: this.readOnly, placeholder: this.placeholder, value: this.value, onInput: (e) => this.handleOnInput(e) })), ((_b = this.caption) === null || _b === void 0 ? void 0 : _b.trim()) && (index.h("div", { key: '4f7d9ca645f76723e5d52636f8663bba9215f755', class: 'wrapper__caption' }, this.caption.trim()))));
70
65
  }
71
66
  static get formAssociated() { return true; }
72
67
  get el() { return index.getElement(this); }
@@ -1 +1 @@
1
- {"file":"ifx-textarea.entry.cjs.js","mappings":";;;;;;;;AAAA,MAAM,WAAW,GAAG,ylCAAylC,CAAC;AAC9mC,0BAAe,WAAW;;MCUb,QAAQ;IAPrB;;;;;;;;;;QASS,YAAO,GAAW,gBAAgB,EAAE,UAAU,EAAE,CAAC;QAQjD,aAAQ,GAAY,KAAK,CAAC;QAC1B,UAAK,GAAY,KAAK,CAAC;QAKvB,aAAQ,GAAY,KAAK,CAAC;QAC1B,WAAM,GAAgD,MAAM,CAAC;QAG7D,SAAI,GAA4B,MAAM,CAAC;QACtB,cAAS,GAAW,OAAO,CAAC;KAiFrD;IA9EA,MAAM,KAAK;QACV,IAAI,CAAC,aAAa,EAAE,CAAC;KACrB;IAED,oBAAoB;QACnB,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAA;QAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;QAE1D,IAAI,WAAW,EAAE;YAClB,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;SACxC;aAAM,IAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC5D,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SAC5C;KACF;IAEF,kBAAkB;QACf,IAAI,CAAC,oBAAoB,EAAE,CAAA;KAC5B;IAEF,iBAAiB;QAChB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;KAChC;IAED,aAAa,CAAC,CAAa;QAC1B,IAAI,CAAC,KAAK,GAAI,CAAC,CAAC,MAA8B,CAAC,KAAK,CAAC;QACrD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC/B;IAED,aAAa;QACZ,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;KAChC;IAED,iBAAiB;QAChB,IAAG,CAACA,+BAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACpCC,uBAAc,CAAC,cAAc,CAAC,CAAA;SAC9B;QACD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxC;IAED,MAAM;;QACL,QACCC,QAACC,UAAI,qDAAC,KAAK,EAAE,YAAY,IAAI,CAAC,KAAK,GAAG,OAAO,GAAG,EAAE,aAAa,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAE,EAAE,EAAE,IAC9FD,oEAAO,KAAK,EAAC,gBAAgB,EAAC,OAAO,EAAG,IAAI,CAAC,OAAO,IACjD,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,EAAE,CACb,EAERA,kEAAK,KAAK,EAAC,mBAAmB,IAC7BA,qFACY,YAAY,gBACV,IAAI,CAAC,KAAK,mBACP,IAAI,CAAC,QAAQ,EAC7B,EAAE,EAAG,IAAI,CAAC,OAAO,EACjB,KAAK,EAAG,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,EAC7B,IAAI,EAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAC3C,IAAI,EAAG,IAAI,CAAC,IAAI,EAChB,IAAI,EAAG,IAAI,CAAC,IAAI,EAChB,SAAS,EAAG,IAAI,CAAC,SAAS,EAC1B,IAAI,EAAG,IAAI,CAAC,IAAI,EAChB,QAAQ,EAAG,IAAI,CAAC,QAAQ,EACxB,QAAQ,EAAG,IAAI,CAAC,QAAQ,EACxB,WAAW,EAAG,IAAI,CAAC,WAAW,EAC9B,KAAK,EAAG,IAAI,CAAC,KAAK,EAClB,OAAO,EAAG,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GACrC,CACG,EAEJ,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,EAAE,MACrBA,kEAAK,KAAK,EAAC,kBAAkB,IAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAChB,CACN,CACK,EACN;KACF;;;;AAGF,IAAI,UAAU,GAAG,CAAC,CAAC;;;;;","names":["isNestedInIfxComponent","trackComponent","h","Host"],"sources":["src/components/textarea/textarea.scss?tag=ifx-textarea&encapsulation=shadow","src/components/textarea/textarea.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n.wrapper__label {\n color: tokens.$ifxColorBaseBlack;\n font: tokens.$ifxBodyBody03;\n}\n:host(.wrapper--disabled) .wrapper__label {\n color: tokens.$ifxColorEngineering500;\n}\n\n.wrapper__textarea {\n width: 100%;\n &.fullWidth { \n width: 100%;\n & textarea { \n width: 100%;\n box-sizing: border-box; \n }\n }\n}\n\n.wrapper__textarea textarea {\n border: 1px solid tokens.$ifxColorEngineering400;\n border-radius: tokens.$ifxSpace12;\n padding: tokens.$ifxSpace100 tokens.$ifxSpace200;\n \n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorBaseBlack;\n font: tokens.$ifxBodyBody03;\n \n transition: all 100ms ease;\n transition-property: border-color;\n\n &:hover {\n border: 1px solid tokens.$ifxColorEngineering500;\n }\n \n &:focus-within {\n outline: none;\n border: 1px solid tokens.$ifxColorOcean500;\n }\n}\n\n:host(.wrapper--error) .wrapper__textarea textarea {\n border: 1px solid tokens.$ifxColorRed500;\n}\n:host(.wrapper--disabled) .wrapper__textarea textarea {\n border: 1px solid tokens.$ifxColorEngineering500;\n\n background-color: tokens.$ifxColorEngineering200;\n}\n\n.wrapper__caption {\n color: tokens.$ifxColorBaseBlack;\n font: tokens.$ifxBodyBody05;\n}\n:host(.wrapper--error) .wrapper__caption {\n color: tokens.$ifxColorRed500;\n}\n:host(.wrapper--disabled) .wrapper__caption {\n color: tokens.$ifxColorEngineering500;\n}","import { h, AttachInternals, Component, Event, EventEmitter, Host, Method, Prop, Element } from \"@stencil/core\"\nimport { trackComponent } from '../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\n\n@Component({\n\tformAssociated: true,\n\tshadow: true,\n\tstyleUrl: 'textarea.scss',\n\ttag: 'ifx-textarea'\n})\n\nexport class TextArea {\n\n\tprivate inputId: string = `ifx-textarea-${++textareaId}`;\n\n\t@AttachInternals() internals: ElementInternals;\n\n\t@Event() ifxInput: EventEmitter<String>;\n\t@Element() el;\n\t@Prop() caption: string;\n\t@Prop() cols: number;\n\t@Prop() disabled: boolean = false;\n\t@Prop() error: boolean = false;\n\t@Prop() label: string;\n\t@Prop() maxlength: number;\n\t@Prop() name: string;\n\t@Prop() placeholder: string;\n\t@Prop() readOnly: boolean = false;\n\t@Prop() resize: 'both' | 'horizontal' | 'vertical' | 'none' = 'both';\n\t@Prop() rows: number;\n\t@Prop({ mutable: true }) value: string;\n\t@Prop() wrap: 'hard' | 'soft' | 'off' = 'soft';\n\t@Prop({ reflect: true }) fullWidth: string = \"false\";\n\n\t@Method()\n\tasync reset() {\n\t\tthis.resetTextarea();\n\t}\n\n\thandleComponentWidth() {\n\t\tconst textareaWrapper = this.el.shadowRoot.querySelector('.wrapper__textarea')\n\t\tconst isFullWidth = this.fullWidth.toLowerCase() === \"true\";\n\t\t\n if (isFullWidth) {\n\t\t\ttextareaWrapper.classList.add('fullWidth')\n } else if(textareaWrapper.classList.contains('fullWidth')) {\n\t\t\ttextareaWrapper.classList.remove('fullWidth');\n }\n }\n\n\tcomponentDidRender() {\n this.handleComponentWidth()\n }\n\t\n\tformResetCallback(): void {\n\t\tthis.resetTextarea();\n\t\tthis.internals.setFormValue(\"\");\n\t}\n\t\n\thandleOnInput(e: InputEvent): void {\n\t\tthis.value = (e.target as HTMLTextAreaElement).value;\n\t\tthis.internals.setFormValue(this.value);\n\t\tthis.ifxInput.emit(this.value);\n\t}\n\n\tresetTextarea() {\n\t\tthis.value = '';\n\t\tthis.internals.setValidity({});\n\t\tthis.internals.setFormValue('');\n\t}\n\n\tcomponentWillLoad() {\n\t\tif(!isNestedInIfxComponent(this.el)) { \n\t\t\ttrackComponent('ifx-textarea')\n\t\t}\n\t\tthis.internals.setFormValue(this.value);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={`wrapper--${this.error ? 'error' : ''} wrapper--${this.disabled ? 'disabled': ''}`}>\n\t\t\t\t<label class='wrapper__label' htmlFor={ this.inputId }>\n\t\t\t\t\t{ this.label?.trim() }\n\t\t\t\t</label>\n\n\t\t\t\t<div class='wrapper__textarea'>\n\t\t\t\t\t<textarea\n\t\t\t\t\t\taria-label='a textarea'\n\t\t\t\t\t\taria-value={ this.value }\n\t\t\t\t\t\taria-disabled={ this.disabled }\n\t\t\t\t\t\tid={ this.inputId }\n\t\t\t\t\t\tstyle={ {resize: this.resize} }\n\t\t\t\t\t\tname={ this.name ? this.name : this.inputId}\n\t\t\t\t\t\tcols={ this.cols }\n\t\t\t\t\t\trows={ this.rows }\n\t\t\t\t\t\tmaxlength={ this.maxlength }\n\t\t\t\t\t\twrap={ this.wrap }\n\t\t\t\t\t\tdisabled={ this.disabled }\n\t\t\t\t\t\treadonly={ this.readOnly }\n\t\t\t\t\t\tplaceholder={ this.placeholder }\n\t\t\t\t\t\tvalue={ this.value }\n\t\t\t\t\t\tonInput={ (e) => this.handleOnInput(e) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t{ this.caption?.trim() && (\n\t\t\t\t\t<div class='wrapper__caption'>\n\t\t\t\t\t\t{ this.caption.trim() }\n\t\t\t\t\t</div> \n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n}\n\nlet textareaId = 0;"],"version":3}
1
+ {"file":"ifx-textarea.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,WAAW,GAAG,ylCAAylC,CAAC;AAC9mC,0BAAe,WAAW;;MCQb,QAAQ;IAPrB;;;;;;;;;;QASS,YAAO,GAAW,gBAAgB,EAAE,UAAU,EAAE,CAAC;QAQjD,aAAQ,GAAY,KAAK,CAAC;QAC1B,UAAK,GAAY,KAAK,CAAC;QAKvB,aAAQ,GAAY,KAAK,CAAC;QAC1B,WAAM,GAAgD,MAAM,CAAC;QAG7D,SAAI,GAA4B,MAAM,CAAC;QACtB,cAAS,GAAW,OAAO,CAAC;KA8ErD;IA3EA,MAAM,KAAK;QACV,IAAI,CAAC,aAAa,EAAE,CAAC;KACrB;IAED,oBAAoB;QACnB,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAA;QAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;QAE1D,IAAI,WAAW,EAAE;YAClB,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;SACxC;aAAM,IAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC5D,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SAC5C;KACF;IAEF,kBAAkB;QACf,IAAI,CAAC,oBAAoB,EAAE,CAAA;KAC5B;IAEF,iBAAiB;QAChB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;KAChC;IAED,aAAa,CAAC,CAAa;QAC1B,IAAI,CAAC,KAAK,GAAI,CAAC,CAAC,MAA8B,CAAC,KAAK,CAAC;QACrD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC/B;IAED,aAAa;QACZ,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;KAChC;IAED,iBAAiB;QAChB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxC;IAED,MAAM;;QACL,QACCA,QAACC,UAAI,qDAAC,KAAK,EAAE,YAAY,IAAI,CAAC,KAAK,GAAG,OAAO,GAAG,EAAE,aAAa,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAE,EAAE,EAAE,IAC9FD,oEAAO,KAAK,EAAC,gBAAgB,EAAC,OAAO,EAAG,IAAI,CAAC,OAAO,IACjD,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,EAAE,CACb,EAERA,kEAAK,KAAK,EAAC,mBAAmB,IAC7BA,qFACY,YAAY,gBACV,IAAI,CAAC,KAAK,mBACP,IAAI,CAAC,QAAQ,EAC7B,EAAE,EAAG,IAAI,CAAC,OAAO,EACjB,KAAK,EAAG,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,EAC7B,IAAI,EAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAC3C,IAAI,EAAG,IAAI,CAAC,IAAI,EAChB,IAAI,EAAG,IAAI,CAAC,IAAI,EAChB,SAAS,EAAG,IAAI,CAAC,SAAS,EAC1B,IAAI,EAAG,IAAI,CAAC,IAAI,EAChB,QAAQ,EAAG,IAAI,CAAC,QAAQ,EACxB,QAAQ,EAAG,IAAI,CAAC,QAAQ,EACxB,WAAW,EAAG,IAAI,CAAC,WAAW,EAC9B,KAAK,EAAG,IAAI,CAAC,KAAK,EAClB,OAAO,EAAG,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GACrC,CACG,EAEJ,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,EAAE,MACrBA,kEAAK,KAAK,EAAC,kBAAkB,IAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAChB,CACN,CACK,EACN;KACF;;;;AAGF,IAAI,UAAU,GAAG,CAAC,CAAC;;;;;","names":["h","Host"],"sources":["src/components/textarea/textarea.scss?tag=ifx-textarea&encapsulation=shadow","src/components/textarea/textarea.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n.wrapper__label {\n color: tokens.$ifxColorBaseBlack;\n font: tokens.$ifxBodyBody03;\n}\n:host(.wrapper--disabled) .wrapper__label {\n color: tokens.$ifxColorEngineering500;\n}\n\n.wrapper__textarea {\n width: 100%;\n &.fullWidth { \n width: 100%;\n & textarea { \n width: 100%;\n box-sizing: border-box; \n }\n }\n}\n\n.wrapper__textarea textarea {\n border: 1px solid tokens.$ifxColorEngineering400;\n border-radius: tokens.$ifxSpace12;\n padding: tokens.$ifxSpace100 tokens.$ifxSpace200;\n \n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorBaseBlack;\n font: tokens.$ifxBodyBody03;\n \n transition: all 100ms ease;\n transition-property: border-color;\n\n &:hover {\n border: 1px solid tokens.$ifxColorEngineering500;\n }\n \n &:focus-within {\n outline: none;\n border: 1px solid tokens.$ifxColorOcean500;\n }\n}\n\n:host(.wrapper--error) .wrapper__textarea textarea {\n border: 1px solid tokens.$ifxColorRed500;\n}\n:host(.wrapper--disabled) .wrapper__textarea textarea {\n border: 1px solid tokens.$ifxColorEngineering500;\n\n background-color: tokens.$ifxColorEngineering200;\n}\n\n.wrapper__caption {\n color: tokens.$ifxColorBaseBlack;\n font: tokens.$ifxBodyBody05;\n}\n:host(.wrapper--error) .wrapper__caption {\n color: tokens.$ifxColorRed500;\n}\n:host(.wrapper--disabled) .wrapper__caption {\n color: tokens.$ifxColorEngineering500;\n}","import { h, AttachInternals, Component, Event, EventEmitter, Host, Method, Prop, Element } from \"@stencil/core\"\n\n@Component({\n\tformAssociated: true,\n\tshadow: true,\n\tstyleUrl: 'textarea.scss',\n\ttag: 'ifx-textarea'\n})\n\nexport class TextArea {\n\n\tprivate inputId: string = `ifx-textarea-${++textareaId}`;\n\n\t@AttachInternals() internals: ElementInternals;\n\n\t@Event() ifxInput: EventEmitter<String>;\n\t@Element() el;\n\t@Prop() caption: string;\n\t@Prop() cols: number;\n\t@Prop() disabled: boolean = false;\n\t@Prop() error: boolean = false;\n\t@Prop() label: string;\n\t@Prop() maxlength: number;\n\t@Prop() name: string;\n\t@Prop() placeholder: string;\n\t@Prop() readOnly: boolean = false;\n\t@Prop() resize: 'both' | 'horizontal' | 'vertical' | 'none' = 'both';\n\t@Prop() rows: number;\n\t@Prop({ mutable: true }) value: string;\n\t@Prop() wrap: 'hard' | 'soft' | 'off' = 'soft';\n\t@Prop({ reflect: true }) fullWidth: string = \"false\";\n\n\t@Method()\n\tasync reset() {\n\t\tthis.resetTextarea();\n\t}\n\n\thandleComponentWidth() {\n\t\tconst textareaWrapper = this.el.shadowRoot.querySelector('.wrapper__textarea')\n\t\tconst isFullWidth = this.fullWidth.toLowerCase() === \"true\";\n\t\t\n if (isFullWidth) {\n\t\t\ttextareaWrapper.classList.add('fullWidth')\n } else if(textareaWrapper.classList.contains('fullWidth')) {\n\t\t\ttextareaWrapper.classList.remove('fullWidth');\n }\n }\n\n\tcomponentDidRender() {\n this.handleComponentWidth()\n }\n\t\n\tformResetCallback(): void {\n\t\tthis.resetTextarea();\n\t\tthis.internals.setFormValue(\"\");\n\t}\n\t\n\thandleOnInput(e: InputEvent): void {\n\t\tthis.value = (e.target as HTMLTextAreaElement).value;\n\t\tthis.internals.setFormValue(this.value);\n\t\tthis.ifxInput.emit(this.value);\n\t}\n\n\tresetTextarea() {\n\t\tthis.value = '';\n\t\tthis.internals.setValidity({});\n\t\tthis.internals.setFormValue('');\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.internals.setFormValue(this.value);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={`wrapper--${this.error ? 'error' : ''} wrapper--${this.disabled ? 'disabled': ''}`}>\n\t\t\t\t<label class='wrapper__label' htmlFor={ this.inputId }>\n\t\t\t\t\t{ this.label?.trim() }\n\t\t\t\t</label>\n\n\t\t\t\t<div class='wrapper__textarea'>\n\t\t\t\t\t<textarea\n\t\t\t\t\t\taria-label='a textarea'\n\t\t\t\t\t\taria-value={ this.value }\n\t\t\t\t\t\taria-disabled={ this.disabled }\n\t\t\t\t\t\tid={ this.inputId }\n\t\t\t\t\t\tstyle={ {resize: this.resize} }\n\t\t\t\t\t\tname={ this.name ? this.name : this.inputId}\n\t\t\t\t\t\tcols={ this.cols }\n\t\t\t\t\t\trows={ this.rows }\n\t\t\t\t\t\tmaxlength={ this.maxlength }\n\t\t\t\t\t\twrap={ this.wrap }\n\t\t\t\t\t\tdisabled={ this.disabled }\n\t\t\t\t\t\treadonly={ this.readOnly }\n\t\t\t\t\t\tplaceholder={ this.placeholder }\n\t\t\t\t\t\tvalue={ this.value }\n\t\t\t\t\t\tonInput={ (e) => this.handleOnInput(e) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t{ this.caption?.trim() && (\n\t\t\t\t\t<div class='wrapper__caption'>\n\t\t\t\t\t\t{ this.caption.trim() }\n\t\t\t\t\t</div> \n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n}\n\nlet textareaId = 0;"],"version":3}
@@ -3,8 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-7f4df11a.js');
6
- const tracking = require('./tracking-f00364dc.js');
7
- const domUtils = require('./dom-utils-2c4573c2.js');
8
6
  const popper = require('./popper-9a6aec9e.js');
9
7
 
10
8
  const tooltipCss = ":root{--ifx-font-family:\"Source Sans 3\", \"Arial, sans-serif\"}:host{display:inline-flex}.tooltip__container{display:inline-flex;flex-direction:column;position:relative;font-family:var(--ifx-font-family)}.tooltip-extended,.tooltip-compact,.tooltip-dismissible{background-color:#1D1D1D;border:1px solid black;z-index:1080;display:none;transition:opacity 0.3s;position:absolute;font-size:14px;font-style:normal;font-weight:400;line-height:20px;color:#FFFFFF;width:max-content;box-sizing:border-box;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;}.visible.tooltip-extended,.visible.tooltip-compact,.visible.tooltip-dismissible{display:flex !important;align-items:start}.tooltip-dismissible .close-button{all:unset;cursor:pointer;position:relative;order:2;margin-top:12px;margin-right:12px;line-height:0px}.tooltip-dismissible .tooltip-dismissible-content{display:flex;flex-direction:column;gap:12px;padding:12px;flex-grow:1;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}.tooltip-dismissible .tooltip-dismissible-header,.tooltip-dismissible .tooltip-dismissible-body{font-size:14px;font-style:normal;line-height:20px}.tooltip-dismissible .tooltip-dismissible-header{font-weight:600}.tooltip-dismissible .tooltip-dismissible-body{font-weight:400}.tooltip-compact{padding:4px 8px;text-align:center;flex-grow:1}.tooltip-extended{align-items:center;padding:12px;gap:10px}.tooltip-extended .extended_icon{display:flex;align-self:flex-start;align-items:center;cursor:pointer}.tooltip-extended .tooltip-extended-content{display:flex;flex-direction:column;gap:12px;flex-grow:1;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}.tooltip-extended .tooltip-extended-header,.tooltip-extended .tooltip-extended-body{font-size:14px;font-style:normal;line-height:20px}.tooltip-extended .tooltip-extended-header{font-weight:600}.tooltip-extended .tooltip-extended-body{font-weight:400}.tooltip__container .tooltip-arrow-svg{position:absolute;width:8px;height:8px}[data-placement=top].tooltip-extended>.tooltip-arrow-svg,[data-placement=top].tooltip-dismissible>.tooltip-arrow-svg,[data-placement=top].tooltip-compact>.tooltip-arrow-svg{bottom:-7px;left:50%;transform:rotate(180deg) translateX(-50%)}[data-placement=top-start].tooltip-extended>.tooltip-arrow-svg,[data-placement=top-start].tooltip-dismissible>.tooltip-arrow-svg,[data-placement=top-start].tooltip-compact>.tooltip-arrow-svg{bottom:-7px;left:10px;transform:rotate(180deg)}[data-placement=top-end].tooltip-extended>.tooltip-arrow-svg,[data-placement=top-end].tooltip-dismissible>.tooltip-arrow-svg,[data-placement=top-end].tooltip-compact>.tooltip-arrow-svg{bottom:-7px;right:10px;transform:rotate(180deg)}[data-placement=bottom].tooltip-extended>.tooltip-arrow-svg,[data-placement=bottom].tooltip-dismissible>.tooltip-arrow-svg,[data-placement=bottom].tooltip-compact>.tooltip-arrow-svg{top:-7px;left:50%;transform:translateX(-50%)}[data-placement=bottom-start].tooltip-extended>.tooltip-arrow-svg,[data-placement=bottom-start].tooltip-dismissible>.tooltip-arrow-svg,[data-placement=bottom-start].tooltip-compact>.tooltip-arrow-svg{top:-7px;left:10px}[data-placement=bottom-end].tooltip-extended>.tooltip-arrow-svg,[data-placement=bottom-end].tooltip-dismissible>.tooltip-arrow-svg,[data-placement=bottom-end].tooltip-compact>.tooltip-arrow-svg{top:-7px;right:10px}[data-placement=left].tooltip-extended>.tooltip-arrow-svg,[data-placement=left].tooltip-dismissible>.tooltip-arrow-svg,[data-placement=left].tooltip-compact>.tooltip-arrow-svg{right:-3px;top:50%;transform:rotate(90deg) translateY(-50%) translateX(-50%)}[data-placement=right].tooltip-extended>.tooltip-arrow-svg,[data-placement=right].tooltip-dismissible>.tooltip-arrow-svg,[data-placement=right].tooltip-compact>.tooltip-arrow-svg{left:-3px;top:50%;transform:rotate(270deg) translateY(-50%) translateX(50%)}.tooltip-compact{min-width:28px !important;max-width:145px !important}.tooltip-dismissible{min-width:145px !important;max-width:310px !important}.tooltip-extended{min-width:145px !important;max-width:310px !important}";
@@ -54,9 +52,6 @@ const Tooltip = class {
54
52
  };
55
53
  }
56
54
  componentWillLoad() {
57
- if (!domUtils.isNestedInIfxComponent(this.el)) {
58
- tracking.trackComponent('ifx-tooltip');
59
- }
60
55
  if (this.variant.toLowerCase().trim() === "") {
61
56
  this.variant = 'compact';
62
57
  }
@@ -161,10 +156,10 @@ const Tooltip = class {
161
156
  'tooltip-extended': true,
162
157
  'visible': this.tooltipVisible,
163
158
  };
164
- return (index.h("div", { key: '800412b42aedfe4a5f143af127c24178ecad72dc', "aria-label": "a tooltip showing important information", "aria-value": this.header, class: "tooltip__container" }, index.h("slot", { key: '804b2f8583a588b14fc2228f47d745834bc4f2b7' }), this.variant.toLowerCase() === 'dismissible' && index.h("div", { key: '779ed1568606807902d680313e09c4827c3a9cc3', class: tooltipDismissible }, index.h("button", { key: '7a6029a058bfc10806a5d9b1aa3a0b992e99db50', "aria-label": "Close Tooltip", class: "close-button", onClick: this.onDismissClick }, index.h("ifx-icon", { key: '85e7b2368a63d104447221f0dd0590bc6340308a', icon: "cross16" })), index.h("div", { key: 'ed006c7238ce366da215e44e1da7bcc2bf812196', class: "tooltip-dismissible-content" }, this.header && index.h("div", { key: 'f55620b3a915f322c2defca81cce2a4ed2fd917e', class: "tooltip-dismissible-header" }, this.header), index.h("div", { key: 'fe3945914787affc7144a915d0830ab47ea7169f', class: "tooltip-dismissible-body" }, this.text)), index.h("svg", { key: '564df15129ab41e14fa1a763d5ec7248698febf0', class: "tooltip-arrow-svg", width: "12", height: "8", viewBox: "0 0 12 8", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { key: 'fe4213845d82f9e0141b5fbff33811ac9b1a7e91', id: "Indicator", d: "M6 0L12 8L0 8L6 0Z", fill: "#1D1D1D" }))), this.variant.toLowerCase() === 'compact' &&
165
- index.h("div", { key: '3b651fbefe2348456b5e684c4de80fc8c5b3176e', class: tooltipCompact }, this.text, index.h("svg", { key: '05e2750f2f61ef91c5c02e30b578adbbbc1c69e2', class: "tooltip-arrow-svg", width: "12", height: "8", viewBox: "0 0 12 8", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { key: '240fb241aadaa3dc12b61f747fff118ea9d08fad', id: "Indicator", d: "M6 0L12 8L0 8L6 0Z", fill: "#1D1D1D" }))), this.variant.toLowerCase() === 'extended' &&
166
- index.h("div", { key: '806eecf6abb796404bbe63bcf1bf2ec31a45e47d', class: tooltipExtended }, index.h("slot", { key: '9253c2bbd7c4e2d7ba42c1c72a76e85e8309ff37', name: "icon" }, this.icon ? index.h("div", { class: "extended_icon" }, index.h("ifx-icon", { icon: this.icon })) :
167
- index.h("svg", { class: "extended_icon", xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "none", viewBox: "0 0 24 24" }, index.h("path", { stroke: "#fff", "stroke-linecap": "round", "stroke-linejoin": "round", d: "M20.5 2.5h-16a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-16a2 2 0 0 0-2-2Z" }), index.h("path", { stroke: "#fff", d: "M19 17H6l2.5-4 2.097 2.516.405.486.379-.506 4.118-5.49.003-.002L19 17Z" }), index.h("path", { fill: "#fff", d: "M10 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z" }))), index.h("div", { key: 'eaaf6a0ed69e81231c9e26cec682d97bd880e1b4', class: "tooltip-extended-content" }, this.header && index.h("div", { key: '0e31613f59b976d97c55d0609ddadc675df989b3', class: "tooltip-extended-header" }, this.header), index.h("div", { key: 'e529acccd2e26271414091702fc71ee5df0ab75b', class: "tooltip-extended-body" }, this.text)), index.h("svg", { key: 'd0a908924d6c383587b550439b11f2f70fcfe2ec', class: "tooltip-arrow-svg", width: "12", height: "8", viewBox: "0 0 12 8", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { key: 'e3b0afcaa7c00b350af5fd571cef872157dbf972', id: "Indicator", d: "M6 0L12 8L0 8L6 0Z", fill: "#1D1D1D" })))));
159
+ return (index.h("div", { key: 'c27f0ee7c19dd33830202b061034f9b3feb4d38c', "aria-label": "a tooltip showing important information", "aria-value": this.header, class: "tooltip__container" }, index.h("slot", { key: 'a4b7ae4b4d499bd2cdd91e20462b7b360aa62881' }), this.variant.toLowerCase() === 'dismissible' && index.h("div", { key: '1b0a2113a16d78495afe5f539f75d859251cb3b6', class: tooltipDismissible }, index.h("button", { key: 'c617375d54fa217ed33db4ac93186bbc010c1a72', "aria-label": "Close Tooltip", class: "close-button", onClick: this.onDismissClick }, index.h("ifx-icon", { key: '7c62090cbe3335cd4d629a616151a4b4aa0a9e22', icon: "cross16" })), index.h("div", { key: 'cb581e2c821fea55cc9ccc760c657cc02822ec0a', class: "tooltip-dismissible-content" }, this.header && index.h("div", { key: '308ae6a3639fb5a51dcb633d11b65e4d43204240', class: "tooltip-dismissible-header" }, this.header), index.h("div", { key: '5c48e7cfb8a4bb1a525f905fabf495b9feef3a1f', class: "tooltip-dismissible-body" }, this.text)), index.h("svg", { key: '56ea3a145bf161a0c57d649056e5989cc8521d51', class: "tooltip-arrow-svg", width: "12", height: "8", viewBox: "0 0 12 8", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { key: '546cd6feb96152a5383c30208448c64d25a4b631', id: "Indicator", d: "M6 0L12 8L0 8L6 0Z", fill: "#1D1D1D" }))), this.variant.toLowerCase() === 'compact' &&
160
+ index.h("div", { key: '7eac234540c0f6041cf8ad09916752e1549f83fe', class: tooltipCompact }, this.text, index.h("svg", { key: '80df222fe18e2aa4dcca94dc304e2274c3044350', class: "tooltip-arrow-svg", width: "12", height: "8", viewBox: "0 0 12 8", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { key: 'fa993b5b84a9ccaf5d499d525034feecdec1c538', id: "Indicator", d: "M6 0L12 8L0 8L6 0Z", fill: "#1D1D1D" }))), this.variant.toLowerCase() === 'extended' &&
161
+ index.h("div", { key: '50c43437dc4efb2e198b495043a4c1002403fbce', class: tooltipExtended }, index.h("slot", { key: '5d3a7f4686089289a7c7f952102a220deb07be4b', name: "icon" }, this.icon ? index.h("div", { class: "extended_icon" }, index.h("ifx-icon", { icon: this.icon })) :
162
+ index.h("svg", { class: "extended_icon", xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", fill: "none", viewBox: "0 0 24 24" }, index.h("path", { stroke: "#fff", "stroke-linecap": "round", "stroke-linejoin": "round", d: "M20.5 2.5h-16a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-16a2 2 0 0 0-2-2Z" }), index.h("path", { stroke: "#fff", d: "M19 17H6l2.5-4 2.097 2.516.405.486.379-.506 4.118-5.49.003-.002L19 17Z" }), index.h("path", { fill: "#fff", d: "M10 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z" }))), index.h("div", { key: '02738844aceb5c496ef8f590bc69bf1efdeaccf8', class: "tooltip-extended-content" }, this.header && index.h("div", { key: '8c768c18fe2cf0fa3e81e53d0c74b13a7722c29d', class: "tooltip-extended-header" }, this.header), index.h("div", { key: '7b84202d1306e30624bc3131c1747b67850304f1', class: "tooltip-extended-body" }, this.text)), index.h("svg", { key: 'c5ce78e1e29489a16a322a9f0db4143e688125d4', class: "tooltip-arrow-svg", width: "12", height: "8", viewBox: "0 0 12 8", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, index.h("path", { key: '9f2546ae745e8f27a4a5dda4c689d42eb83f8cde', id: "Indicator", d: "M6 0L12 8L0 8L6 0Z", fill: "#1D1D1D" })))));
168
163
  }
169
164
  get el() { return index.getElement(this); }
170
165
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"ifx-tooltip.entry.cjs.js","mappings":"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","names":["isNestedInIfxComponent","trackComponent","createPopper","h"],"sources":["src/components/tooltip/tooltip.scss?tag=ifx-tooltip&encapsulation=shadow","src/components/tooltip/tooltip.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n}\n\n.tooltip__container {\n display: inline-flex;\n flex-direction: column;\n position: relative;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n}\n\n%tooltip-common {\n background-color: tokens.$ifxColorBaseBlack;\n border: 1px solid black;\n z-index: 1080;\n display: none;\n transition: opacity 0.3s;\n position: absolute;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n color: tokens.$ifxColorBaseWhite;\n width: max-content;\n box-sizing: border-box;\n\n white-space: pre-wrap; /* wraps text at spaces and within words */\n word-wrap: break-word; /* breaks text within a word if necessary */\n overflow-wrap: anywhere; /* breaks text at arbitrary points when needed */\n\n &.visible {\n display: flex !important;\n align-items: start;\n //min-width: 100px;\n //width: auto;\n }\n}\n\n\n\n.tooltip-dismissible {\n @extend %tooltip-common;\n\n .close-button {\n all: unset;\n //position: absolute;\n //top: tokens.$ifxSpace150;\n //right: tokens.$ifxSpace150;\n cursor: pointer;\n position: relative;\n order: 2;\n margin-top: 12px;\n margin-right: 12px;\n line-height: 0px;\n }\n\n .tooltip-dismissible-content {\n display: flex;\n flex-direction: column;\n gap: tokens.$ifxSpace150;\n padding: tokens.$ifxSpace150;\n flex-grow: 1;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: anywhere;\n\n }\n\n .tooltip-dismissible-header,\n .tooltip-dismissible-body {\n font-size: 14px;\n font-style: normal;\n line-height: 20px;\n }\n\n .tooltip-dismissible-header {\n font-weight: tokens.$ifxFontWeightSemibold;\n }\n\n .tooltip-dismissible-body {\n font-weight: tokens.$ifxFontWeightRegular;\n }\n}\n\n.tooltip-compact {\n @extend %tooltip-common;\n padding: 4px 8px;\n text-align: center;\n flex-grow: 1;\n}\n\n\n.tooltip-extended {\n @extend %tooltip-common;\n //padding-left: 36px; // Added this line, adjust as per your icon width\n //padding-left: tokens.$ifxSpace150; // Added this line, adjust as per your icon width\n align-items: center;\n padding: tokens.$ifxSpace150;\n gap: 10px;\n\n .extended_icon {\n display: flex;\n align-self: flex-start;\n align-items: center;\n //padding-top: tokens.$ifxSpace150;\n cursor: pointer;\n }\n\n\n\n .tooltip-extended-content {\n display: flex;\n flex-direction: column;\n gap: tokens.$ifxSpace150;\n //padding: tokens.$ifxSpace150;\n flex-grow: 1;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: anywhere;\n }\n\n .tooltip-extended-header,\n .tooltip-extended-body {\n font-size: 14px;\n font-style: normal;\n line-height: 20px;\n }\n\n .tooltip-extended-header {\n font-weight: tokens.$ifxFontWeightSemibold;\n }\n\n .tooltip-extended-body {\n font-weight: tokens.$ifxFontWeightRegular;\n }\n}\n\n\n.tooltip__container .tooltip-arrow-svg {\n position: absolute;\n width: 8px;\n height: 8px;\n}\n\n\n%tooltip-arrow-positions {\n\n // For 'top' placement\n &[data-placement=\"top\"]>.tooltip-arrow-svg {\n bottom: -7px;\n left: 50%;\n transform: rotate(180deg) translateX(-50%);\n }\n\n // For 'top-start' placement\n &[data-placement=\"top-start\"]>.tooltip-arrow-svg {\n bottom: -7px;\n left: 10px; // Adjust as needed\n transform: rotate(180deg)\n }\n\n // For 'top-end' placement\n &[data-placement=\"top-end\"]>.tooltip-arrow-svg {\n bottom: -7px;\n right: 10px; // Adjust as needed\n transform: rotate(180deg);\n }\n\n // For 'bottom' placement\n &[data-placement=\"bottom\"]>.tooltip-arrow-svg {\n top: -7px;\n left: 50%;\n transform: translateX(-50%);\n }\n\n // For 'bottom-start' placement\n &[data-placement=\"bottom-start\"]>.tooltip-arrow-svg {\n top: -7px;\n left: 10px; // Adjust as needed\n }\n\n // For 'bottom-end' placement\n &[data-placement=\"bottom-end\"]>.tooltip-arrow-svg {\n top: -7px;\n right: 10px; // Adjust as needed\n }\n\n // For 'left' placement\n &[data-placement=\"left\"]>.tooltip-arrow-svg {\n right: -3px;\n top: 50%;\n transform: rotate(90deg) translateY(-50%) translateX(-50%);\n }\n\n // For 'right' placement\n &[data-placement=\"right\"]>.tooltip-arrow-svg {\n left: -3px;\n top: 50%;\n transform: rotate(270deg) translateY(-50%) translateX(50%);\n }\n}\n\n\n.tooltip-compact {\n @extend %tooltip-arrow-positions;\n min-width: 28px !important;\n max-width: 145px !important;\n}\n\n.tooltip-dismissible {\n @extend %tooltip-arrow-positions;\n min-width: 145px !important;\n max-width: 310px !important;\n}\n\n.tooltip-extended {\n @extend %tooltip-arrow-positions;\n min-width: 145px !important;\n max-width: 310px !important;\n}\n","import { Component, Prop, h, Element, State, Watch } from '@stencil/core';\nimport { createPopper } from '@popperjs/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\n\n@Component({\n tag: 'ifx-tooltip',\n styleUrl: 'tooltip.scss',\n shadow: true\n})\nexport class Tooltip {\n\n @Element() el: HTMLElement;\n @State() tooltipVisible: boolean = false;\n @Prop() header: string = '';\n @Prop() text: string = '';\n @Prop() position: 'bottom-start' | 'top-start' | 'left' | 'bottom-end' | 'top-end' | 'right' | 'bottom' | 'top' | 'auto' = 'auto';\n @State() internalPosition: 'bottom-start' | 'top-start' | 'left' | 'bottom-end' | 'top-end' | 'right' | 'bottom' | 'top' | 'auto' = 'auto';\n\n @Prop() variant: 'compact' | 'dismissible' | 'extended' = 'compact';\n @Prop() icon: string;\n\n tooltipEl: HTMLElement;\n referenceEl: HTMLElement;\n popperInstance: any = null;\n\n\n componentWillLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n trackComponent('ifx-tooltip')\n }\n if(this.variant.toLowerCase().trim() === \"\") { \n this.variant = 'compact'\n }\n }\n \n componentDidLoad() {\n const slotElement = this.el.shadowRoot.querySelector('.tooltip__container').firstChild;\n \n if(this.variant.toLowerCase() === 'compact' || this.variant.toLowerCase() === 'extended') {\n slotElement.addEventListener('mouseenter', this.onMouseEnter)\n slotElement.addEventListener('mouseleave', this.onMouseLeave)\n }else{\n slotElement.addEventListener('click', this.onClick);\n }\n\n }\n\n initializePopper() {\n if (this.popperInstance) return;\n\n this.referenceEl = this.el;\n this.tooltipEl;\n if (this.variant.toLowerCase() === 'compact') {\n this.tooltipEl = this.el.shadowRoot.querySelector('.tooltip-compact');\n }\n else if (this.variant.toLowerCase() === 'dismissible') {\n this.tooltipEl = this.el.shadowRoot.querySelector('.tooltip-dismissible');\n }\n else {\n this.tooltipEl = this.el.shadowRoot.querySelector('.tooltip-extended');\n\n }\n\n const effectivePosition = this.position === 'auto' ? this.determineBestPosition() : this.position;\n\n // Set the internalPosition\n this.internalPosition = effectivePosition;\n\n if (this.tooltipEl && this.referenceEl) {\n\n this.popperInstance = createPopper(this.referenceEl, this.tooltipEl, {\n placement: this.internalPosition,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 8] // this offset should be adjusted to ensure the tooltip doesn't overlap its reference element\n }\n },\n {\n name: 'arrow',\n options: {\n element: '.tooltip-arrow-svg'\n }\n }\n ]\n });\n\n }\n\n // Add this line to set the 'data-placement' attribute on the tooltip\n this.tooltipEl.setAttribute('data-placement', effectivePosition);\n\n\n }\n\n determineBestPosition() {\n // This is a simplified version, you can enhance this based on available viewport space.\n const rect = this.referenceEl.getBoundingClientRect();\n const yOffset = window.scrollY; // Get current scroll position\n const xOffset = window.scrollX; // Get current horizontal scroll position\n\n const verticalHalfwayPoint = rect.top + yOffset + rect.height / 2;\n const horizontalHalfwayPoint = rect.left + xOffset + rect.width / 2;\n\n if (this.position === 'auto') {\n if (verticalHalfwayPoint > window.innerHeight / 2) {\n if (horizontalHalfwayPoint > window.innerWidth / 2) {\n return 'top-end';\n } else {\n return 'top-start';\n }\n } else {\n if (horizontalHalfwayPoint > window.innerWidth / 2) {\n return 'bottom-end';\n } else {\n return 'bottom-start';\n }\n }\n } else {\n return this.position;\n }\n }\n\n @Watch('position')\n positionChanged(newVal: any) {\n this.internalPosition = newVal;\n this.popperInstance?.destroy();\n this.popperInstance = null; // Force re-initialization on next mouse enter\n }\n\n\n\n onMouseEnter = () => {\n // Enable the event listeners immediately\n this.popperInstance?.setOptions((options) => ({\n ...options,\n modifiers: [\n ...options.modifiers,\n { name: 'eventListeners', enabled: true },\n ],\n }));\n\n // Initialize the popper instance\n this.initializePopper();\n\n // Make the tooltip visible\n this.tooltipVisible = true;\n this.tooltipEl.style.display = 'block';\n\n // Update the popper instance immediately after initialization\n this.popperInstance?.update();\n }\n\n\n onMouseLeave = () => {\n this.tooltipVisible = false;\n this.tooltipEl.style.display = 'none';\n\n }\n\n disconnectedCallback() {\n this.popperInstance?.destroy();\n }\n\n onClick = () => {\n if (this.variant.toLowerCase() === 'dismissible') {\n this.initializePopper();\n this.tooltipVisible = !this.tooltipVisible;\n this.tooltipEl.style.display = this.tooltipVisible ? 'block' : 'none';\n this.popperInstance?.update();\n }\n }\n\n onDismissClick = () => {\n this.tooltipVisible = false;\n this.tooltipEl.style.display = 'none';\n }\n\n render() {\n const tooltipDismissible = {\n 'tooltip-dismissible': true,\n 'visible': this.tooltipVisible,\n };\n\n const tooltipCompact = {\n 'tooltip-compact': true,\n 'visible': this.tooltipVisible,\n };\n\n const tooltipExtended = {\n 'tooltip-extended': true,\n 'visible': this.tooltipVisible,\n };\n\n return (\n <div aria-label=\"a tooltip showing important information\" aria-value={this.header} class=\"tooltip__container\" >\n <slot></slot>\n\n {this.variant.toLowerCase() === 'dismissible' && <div class={tooltipDismissible}>\n <button aria-label=\"Close Tooltip\" class=\"close-button\" onClick={this.onDismissClick}>\n <ifx-icon icon=\"cross16\"></ifx-icon>\n </button>\n <div class=\"tooltip-dismissible-content\">\n {this.header && <div class=\"tooltip-dismissible-header\">{this.header}</div>}\n <div class=\"tooltip-dismissible-body\">{this.text}</div>\n </div>\n <svg class=\"tooltip-arrow-svg\" width=\"12\" height=\"8\" viewBox=\"0 0 12 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path id=\"Indicator\" d=\"M6 0L12 8L0 8L6 0Z\" fill=\"#1D1D1D\" />\n </svg>\n </div>\n }\n {this.variant.toLowerCase() === 'compact' &&\n <div class={tooltipCompact}>\n {this.text}\n <svg class=\"tooltip-arrow-svg\" width=\"12\" height=\"8\" viewBox=\"0 0 12 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path id=\"Indicator\" d=\"M6 0L12 8L0 8L6 0Z\" fill=\"#1D1D1D\" />\n </svg>\n </div>\n }\n {this.variant.toLowerCase() === 'extended' &&\n <div class={tooltipExtended}>\n <slot name=\"icon\">\n {this.icon ? <div class=\"extended_icon\"><ifx-icon icon={this.icon}></ifx-icon></div> :\n <svg class=\"extended_icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\" viewBox=\"0 0 24 24\">\n <path stroke=\"#fff\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M20.5 2.5h-16a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-16a2 2 0 0 0-2-2Z\" />\n <path stroke=\"#fff\" d=\"M19 17H6l2.5-4 2.097 2.516.405.486.379-.506 4.118-5.49.003-.002L19 17Z\" />\n <path fill=\"#fff\" d=\"M10 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\" />\n </svg>\n }\n </slot>\n <div class=\"tooltip-extended-content\">\n {this.header && <div class=\"tooltip-extended-header\">{this.header}</div>}\n <div class=\"tooltip-extended-body\">{this.text}</div>\n </div>\n <svg class=\"tooltip-arrow-svg\" width=\"12\" height=\"8\" viewBox=\"0 0 12 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path id=\"Indicator\" d=\"M6 0L12 8L0 8L6 0Z\" fill=\"#1D1D1D\" />\n </svg>\n </div >\n }\n </div>\n );\n }\n\n\n}"],"version":3}
1
+ {"file":"ifx-tooltip.entry.cjs.js","mappings":"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","names":["createPopper","h"],"sources":["src/components/tooltip/tooltip.scss?tag=ifx-tooltip&encapsulation=shadow","src/components/tooltip/tooltip.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n}\n\n.tooltip__container {\n display: inline-flex;\n flex-direction: column;\n position: relative;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n}\n\n%tooltip-common {\n background-color: tokens.$ifxColorBaseBlack;\n border: 1px solid black;\n z-index: 1080;\n display: none;\n transition: opacity 0.3s;\n position: absolute;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n color: tokens.$ifxColorBaseWhite;\n width: max-content;\n box-sizing: border-box;\n\n white-space: pre-wrap; /* wraps text at spaces and within words */\n word-wrap: break-word; /* breaks text within a word if necessary */\n overflow-wrap: anywhere; /* breaks text at arbitrary points when needed */\n\n &.visible {\n display: flex !important;\n align-items: start;\n //min-width: 100px;\n //width: auto;\n }\n}\n\n\n\n.tooltip-dismissible {\n @extend %tooltip-common;\n\n .close-button {\n all: unset;\n //position: absolute;\n //top: tokens.$ifxSpace150;\n //right: tokens.$ifxSpace150;\n cursor: pointer;\n position: relative;\n order: 2;\n margin-top: 12px;\n margin-right: 12px;\n line-height: 0px;\n }\n\n .tooltip-dismissible-content {\n display: flex;\n flex-direction: column;\n gap: tokens.$ifxSpace150;\n padding: tokens.$ifxSpace150;\n flex-grow: 1;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: anywhere;\n\n }\n\n .tooltip-dismissible-header,\n .tooltip-dismissible-body {\n font-size: 14px;\n font-style: normal;\n line-height: 20px;\n }\n\n .tooltip-dismissible-header {\n font-weight: tokens.$ifxFontWeightSemibold;\n }\n\n .tooltip-dismissible-body {\n font-weight: tokens.$ifxFontWeightRegular;\n }\n}\n\n.tooltip-compact {\n @extend %tooltip-common;\n padding: 4px 8px;\n text-align: center;\n flex-grow: 1;\n}\n\n\n.tooltip-extended {\n @extend %tooltip-common;\n //padding-left: 36px; // Added this line, adjust as per your icon width\n //padding-left: tokens.$ifxSpace150; // Added this line, adjust as per your icon width\n align-items: center;\n padding: tokens.$ifxSpace150;\n gap: 10px;\n\n .extended_icon {\n display: flex;\n align-self: flex-start;\n align-items: center;\n //padding-top: tokens.$ifxSpace150;\n cursor: pointer;\n }\n\n\n\n .tooltip-extended-content {\n display: flex;\n flex-direction: column;\n gap: tokens.$ifxSpace150;\n //padding: tokens.$ifxSpace150;\n flex-grow: 1;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: anywhere;\n }\n\n .tooltip-extended-header,\n .tooltip-extended-body {\n font-size: 14px;\n font-style: normal;\n line-height: 20px;\n }\n\n .tooltip-extended-header {\n font-weight: tokens.$ifxFontWeightSemibold;\n }\n\n .tooltip-extended-body {\n font-weight: tokens.$ifxFontWeightRegular;\n }\n}\n\n\n.tooltip__container .tooltip-arrow-svg {\n position: absolute;\n width: 8px;\n height: 8px;\n}\n\n\n%tooltip-arrow-positions {\n\n // For 'top' placement\n &[data-placement=\"top\"]>.tooltip-arrow-svg {\n bottom: -7px;\n left: 50%;\n transform: rotate(180deg) translateX(-50%);\n }\n\n // For 'top-start' placement\n &[data-placement=\"top-start\"]>.tooltip-arrow-svg {\n bottom: -7px;\n left: 10px; // Adjust as needed\n transform: rotate(180deg)\n }\n\n // For 'top-end' placement\n &[data-placement=\"top-end\"]>.tooltip-arrow-svg {\n bottom: -7px;\n right: 10px; // Adjust as needed\n transform: rotate(180deg);\n }\n\n // For 'bottom' placement\n &[data-placement=\"bottom\"]>.tooltip-arrow-svg {\n top: -7px;\n left: 50%;\n transform: translateX(-50%);\n }\n\n // For 'bottom-start' placement\n &[data-placement=\"bottom-start\"]>.tooltip-arrow-svg {\n top: -7px;\n left: 10px; // Adjust as needed\n }\n\n // For 'bottom-end' placement\n &[data-placement=\"bottom-end\"]>.tooltip-arrow-svg {\n top: -7px;\n right: 10px; // Adjust as needed\n }\n\n // For 'left' placement\n &[data-placement=\"left\"]>.tooltip-arrow-svg {\n right: -3px;\n top: 50%;\n transform: rotate(90deg) translateY(-50%) translateX(-50%);\n }\n\n // For 'right' placement\n &[data-placement=\"right\"]>.tooltip-arrow-svg {\n left: -3px;\n top: 50%;\n transform: rotate(270deg) translateY(-50%) translateX(50%);\n }\n}\n\n\n.tooltip-compact {\n @extend %tooltip-arrow-positions;\n min-width: 28px !important;\n max-width: 145px !important;\n}\n\n.tooltip-dismissible {\n @extend %tooltip-arrow-positions;\n min-width: 145px !important;\n max-width: 310px !important;\n}\n\n.tooltip-extended {\n @extend %tooltip-arrow-positions;\n min-width: 145px !important;\n max-width: 310px !important;\n}\n","import { Component, Prop, h, Element, State, Watch } from '@stencil/core';\nimport { createPopper } from '@popperjs/core';\n \n\n@Component({\n tag: 'ifx-tooltip',\n styleUrl: 'tooltip.scss',\n shadow: true\n})\nexport class Tooltip {\n\n @Element() el: HTMLElement;\n @State() tooltipVisible: boolean = false;\n @Prop() header: string = '';\n @Prop() text: string = '';\n @Prop() position: 'bottom-start' | 'top-start' | 'left' | 'bottom-end' | 'top-end' | 'right' | 'bottom' | 'top' | 'auto' = 'auto';\n @State() internalPosition: 'bottom-start' | 'top-start' | 'left' | 'bottom-end' | 'top-end' | 'right' | 'bottom' | 'top' | 'auto' = 'auto';\n\n @Prop() variant: 'compact' | 'dismissible' | 'extended' = 'compact';\n @Prop() icon: string;\n\n tooltipEl: HTMLElement;\n referenceEl: HTMLElement;\n popperInstance: any = null;\n\n\n componentWillLoad() { \n if(this.variant.toLowerCase().trim() === \"\") { \n this.variant = 'compact'\n }\n }\n \n componentDidLoad() {\n const slotElement = this.el.shadowRoot.querySelector('.tooltip__container').firstChild;\n \n if(this.variant.toLowerCase() === 'compact' || this.variant.toLowerCase() === 'extended') {\n slotElement.addEventListener('mouseenter', this.onMouseEnter)\n slotElement.addEventListener('mouseleave', this.onMouseLeave)\n }else{\n slotElement.addEventListener('click', this.onClick);\n }\n\n }\n\n initializePopper() {\n if (this.popperInstance) return;\n\n this.referenceEl = this.el;\n this.tooltipEl;\n if (this.variant.toLowerCase() === 'compact') {\n this.tooltipEl = this.el.shadowRoot.querySelector('.tooltip-compact');\n }\n else if (this.variant.toLowerCase() === 'dismissible') {\n this.tooltipEl = this.el.shadowRoot.querySelector('.tooltip-dismissible');\n }\n else {\n this.tooltipEl = this.el.shadowRoot.querySelector('.tooltip-extended');\n\n }\n\n const effectivePosition = this.position === 'auto' ? this.determineBestPosition() : this.position;\n\n // Set the internalPosition\n this.internalPosition = effectivePosition;\n\n if (this.tooltipEl && this.referenceEl) {\n\n this.popperInstance = createPopper(this.referenceEl, this.tooltipEl, {\n placement: this.internalPosition,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 8] // this offset should be adjusted to ensure the tooltip doesn't overlap its reference element\n }\n },\n {\n name: 'arrow',\n options: {\n element: '.tooltip-arrow-svg'\n }\n }\n ]\n });\n\n }\n\n // Add this line to set the 'data-placement' attribute on the tooltip\n this.tooltipEl.setAttribute('data-placement', effectivePosition);\n\n\n }\n\n determineBestPosition() {\n // This is a simplified version, you can enhance this based on available viewport space.\n const rect = this.referenceEl.getBoundingClientRect();\n const yOffset = window.scrollY; // Get current scroll position\n const xOffset = window.scrollX; // Get current horizontal scroll position\n\n const verticalHalfwayPoint = rect.top + yOffset + rect.height / 2;\n const horizontalHalfwayPoint = rect.left + xOffset + rect.width / 2;\n\n if (this.position === 'auto') {\n if (verticalHalfwayPoint > window.innerHeight / 2) {\n if (horizontalHalfwayPoint > window.innerWidth / 2) {\n return 'top-end';\n } else {\n return 'top-start';\n }\n } else {\n if (horizontalHalfwayPoint > window.innerWidth / 2) {\n return 'bottom-end';\n } else {\n return 'bottom-start';\n }\n }\n } else {\n return this.position;\n }\n }\n\n @Watch('position')\n positionChanged(newVal: any) {\n this.internalPosition = newVal;\n this.popperInstance?.destroy();\n this.popperInstance = null; // Force re-initialization on next mouse enter\n }\n\n\n\n onMouseEnter = () => {\n // Enable the event listeners immediately\n this.popperInstance?.setOptions((options) => ({\n ...options,\n modifiers: [\n ...options.modifiers,\n { name: 'eventListeners', enabled: true },\n ],\n }));\n\n // Initialize the popper instance\n this.initializePopper();\n\n // Make the tooltip visible\n this.tooltipVisible = true;\n this.tooltipEl.style.display = 'block';\n\n // Update the popper instance immediately after initialization\n this.popperInstance?.update();\n }\n\n\n onMouseLeave = () => {\n this.tooltipVisible = false;\n this.tooltipEl.style.display = 'none';\n\n }\n\n disconnectedCallback() {\n this.popperInstance?.destroy();\n }\n\n onClick = () => {\n if (this.variant.toLowerCase() === 'dismissible') {\n this.initializePopper();\n this.tooltipVisible = !this.tooltipVisible;\n this.tooltipEl.style.display = this.tooltipVisible ? 'block' : 'none';\n this.popperInstance?.update();\n }\n }\n\n onDismissClick = () => {\n this.tooltipVisible = false;\n this.tooltipEl.style.display = 'none';\n }\n\n render() {\n const tooltipDismissible = {\n 'tooltip-dismissible': true,\n 'visible': this.tooltipVisible,\n };\n\n const tooltipCompact = {\n 'tooltip-compact': true,\n 'visible': this.tooltipVisible,\n };\n\n const tooltipExtended = {\n 'tooltip-extended': true,\n 'visible': this.tooltipVisible,\n };\n\n return (\n <div aria-label=\"a tooltip showing important information\" aria-value={this.header} class=\"tooltip__container\" >\n <slot></slot>\n\n {this.variant.toLowerCase() === 'dismissible' && <div class={tooltipDismissible}>\n <button aria-label=\"Close Tooltip\" class=\"close-button\" onClick={this.onDismissClick}>\n <ifx-icon icon=\"cross16\"></ifx-icon>\n </button>\n <div class=\"tooltip-dismissible-content\">\n {this.header && <div class=\"tooltip-dismissible-header\">{this.header}</div>}\n <div class=\"tooltip-dismissible-body\">{this.text}</div>\n </div>\n <svg class=\"tooltip-arrow-svg\" width=\"12\" height=\"8\" viewBox=\"0 0 12 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path id=\"Indicator\" d=\"M6 0L12 8L0 8L6 0Z\" fill=\"#1D1D1D\" />\n </svg>\n </div>\n }\n {this.variant.toLowerCase() === 'compact' &&\n <div class={tooltipCompact}>\n {this.text}\n <svg class=\"tooltip-arrow-svg\" width=\"12\" height=\"8\" viewBox=\"0 0 12 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path id=\"Indicator\" d=\"M6 0L12 8L0 8L6 0Z\" fill=\"#1D1D1D\" />\n </svg>\n </div>\n }\n {this.variant.toLowerCase() === 'extended' &&\n <div class={tooltipExtended}>\n <slot name=\"icon\">\n {this.icon ? <div class=\"extended_icon\"><ifx-icon icon={this.icon}></ifx-icon></div> :\n <svg class=\"extended_icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\" viewBox=\"0 0 24 24\">\n <path stroke=\"#fff\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M20.5 2.5h-16a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-16a2 2 0 0 0-2-2Z\" />\n <path stroke=\"#fff\" d=\"M19 17H6l2.5-4 2.097 2.516.405.486.379-.506 4.118-5.49.003-.002L19 17Z\" />\n <path fill=\"#fff\" d=\"M10 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\" />\n </svg>\n }\n </slot>\n <div class=\"tooltip-extended-content\">\n {this.header && <div class=\"tooltip-extended-header\">{this.header}</div>}\n <div class=\"tooltip-extended-body\">{this.text}</div>\n </div>\n <svg class=\"tooltip-arrow-svg\" width=\"12\" height=\"8\" viewBox=\"0 0 12 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path id=\"Indicator\" d=\"M6 0L12 8L0 8L6 0Z\" fill=\"#1D1D1D\" />\n </svg>\n </div >\n }\n </div>\n );\n }\n\n\n}"],"version":3}
@@ -3,8 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-7f4df11a.js');
6
- const tracking = require('./tracking-f00364dc.js');
7
- const domUtils = require('./dom-utils-2c4573c2.js');
8
6
 
9
7
  const treeViewCss = ":host{display:block}.tree-view{font-family:var(--ifx-font-family, sans-serif);font-size:14px;color:var(--ifx-color-text, #1a1a1a);display:flex;flex-wrap:wrap;flex-direction:column;overflow-x:auto;overflow-y:hidden}.tree-view__label{font:600 1.125rem/1.625rem \"Source Sans 3\";margin-bottom:8px}";
10
8
  const IfxTreeViewStyle0 = treeViewCss;
@@ -39,15 +37,9 @@ const TreeView = class {
39
37
  handleDisableAllItemsChange(newValue) {
40
38
  this.ifxTreeViewDisableAllChange.emit(newValue);
41
39
  }
42
- componentWillLoad() {
43
- if (!domUtils.isNestedInIfxComponent(this.el)) {
44
- tracking.trackComponent('ifx-tree-view');
45
- }
46
- }
47
40
  render() {
48
- return (index.h("div", { key: 'eae9f1180919631437c70c7b215578e78c95a7f4', class: `tree-view ${this.disableAllItems ? ' tree-view--disabled' : ''}`, role: "tree", "aria-label": this.ariaLabel }, this.label && this.label.trim() !== '' && index.h("div", { key: 'ecc9de2d2d7e73ecc53264dac401e9bdfad16dec', class: "tree-view__label" }, this.label), index.h("slot", { key: '293cb205d9173d1c0d6b67bf0d9351ba0622dd2d', ref: this.handleSlotRef })));
41
+ return (index.h("div", { key: '96ea4bb07f84587d5aeaafade703051373c6e800', class: `tree-view ${this.disableAllItems ? ' tree-view--disabled' : ''}`, role: "tree", "aria-label": this.ariaLabel }, this.label && this.label.trim() !== '' && index.h("div", { key: '0333e4688680b64ffb1976645eff5361fbe3d72f', class: "tree-view__label" }, this.label), index.h("slot", { key: '6bd4bd71689fe0b6c73640471194c3704cb84345', ref: this.handleSlotRef })));
49
42
  }
50
- get el() { return index.getElement(this); }
51
43
  static get watchers() { return {
52
44
  "expandAllItems": ["handleExpandAllItemsChange"],
53
45
  "disableAllItems": ["handleDisableAllItemsChange"]
@@ -1 +1 @@
1
- {"file":"ifx-tree-view.entry.cjs.js","mappings":";;;;;;;;AAAA,MAAM,WAAW,GAAG,ySAAyS,CAAC;AAC9T,0BAAe,WAAW;;MCQb,QAAQ;IALrB;;;;QAQU,oBAAe,GAAY,KAAK,CAAC;QACjC,mBAAc,GAAY,KAAK,CAAC;QAgBhC,kBAAa,GAAG,CAAC,EAA0B;YACjD,IAAI,EAAE,EAAE;gBACN,IAAI,IAAI,CAAC,eAAe,EAAE;oBACxB,EAAE,CAAC,YAAY,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;iBACnD;qBAAM;oBACL,EAAE,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC;iBAC9C;gBACD,IAAI,IAAI,CAAC,cAAc,EAAE;oBACvB,EAAE,CAAC,YAAY,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;iBAClD;qBAAM;oBACL,EAAE,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;iBAC7C;aACF;SACF,CAAC;KAoBH;IA1CC,0BAA0B,CAAC,QAAiB;QAC1C,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAChD;IAGD,2BAA2B,CAAC,QAAiB;QAC3C,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACjD;IAiBD,iBAAiB;QACf,IAAG,CAACA,+BAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACnCC,uBAAc,CAAC,eAAe,CAAC,CAAA;SAChC;KACF;IAED,MAAM;QACJ,QACEC,kEACE,KAAK,EAAE,aAAa,IAAI,CAAC,eAAe,GAAG,sBAAsB,GAAG,EAAE,EAAE,EACxE,IAAI,EAAC,MAAM,gBACC,IAAI,CAAC,SAAS,IAEzB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAIA,kEAAK,KAAK,EAAC,kBAAkB,IAAE,IAAI,CAAC,KAAK,CAAO,EAC3FA,mEAAM,GAAG,EAAE,IAAI,CAAC,aAAa,GAAS,CAClC,EACN;KACH;;;;;;;;;;;","names":["isNestedInIfxComponent","trackComponent","h"],"sources":["src/components/tree-view/tree-view.scss?tag=ifx-tree-view&encapsulation=shadow","src/components/tree-view/tree-view.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n:host {\n display: block;\n}\n\n.tree-view {\n font-family: var(--ifx-font-family, sans-serif);\n font-size: 14px;\n color: var(--ifx-color-text, #1a1a1a);\n\n display: flex;\n flex-wrap: wrap;\n flex-direction: column;\n overflow-x: auto;\n overflow-y: hidden;\n\n &__label {\n font: tokens.$ifxHeadingHeading06;\n margin-bottom: tokens.$ifxSpace100;\n }\n}\n","import { Component, h, Prop, Event, EventEmitter, Watch, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\n\n@Component({\n tag: 'ifx-tree-view',\n styleUrl: 'tree-view.scss',\n shadow: true,\n})\nexport class TreeView {\n @Element() el: HTMLElement;\n @Prop() label?: string;\n @Prop() disableAllItems: boolean = false;\n @Prop() expandAllItems: boolean = false;\n @Prop() ariaLabel: string | null;\n\n @Event() ifxTreeViewExpandAllChange: EventEmitter<boolean>;\n @Event() ifxTreeViewDisableAllChange: EventEmitter<boolean>;\n\n @Watch('expandAllItems')\n handleExpandAllItemsChange(newValue: boolean) {\n this.ifxTreeViewExpandAllChange.emit(newValue);\n }\n\n @Watch('disableAllItems')\n handleDisableAllItemsChange(newValue: boolean) {\n this.ifxTreeViewDisableAllChange.emit(newValue);\n }\n\n private handleSlotRef = (el: HTMLSlotElement | null) => {\n if (el) {\n if (this.disableAllItems) {\n el.setAttribute('data-disable-all-items', 'true');\n } else {\n el.removeAttribute('data-disable-all-items');\n }\n if (this.expandAllItems) {\n el.setAttribute('data-expand-all-items', 'true');\n } else {\n el.removeAttribute('data-expand-all-items');\n }\n }\n };\n\n componentWillLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n trackComponent('ifx-tree-view')\n }\n }\n\n render() {\n return (\n <div\n class={`tree-view ${this.disableAllItems ? ' tree-view--disabled' : ''}`}\n role=\"tree\"\n aria-label={this.ariaLabel}\n >\n {this.label && this.label.trim() !== '' && <div class=\"tree-view__label\">{this.label}</div>}\n <slot ref={this.handleSlotRef}></slot>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ifx-tree-view.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,WAAW,GAAG,ySAAyS,CAAC;AAC9T,0BAAe,WAAW;;MCMb,QAAQ;IALrB;;;;QAOU,oBAAe,GAAY,KAAK,CAAC;QACjC,mBAAc,GAAY,KAAK,CAAC;QAgBhC,kBAAa,GAAG,CAAC,EAA0B;YACjD,IAAI,EAAE,EAAE;gBACN,IAAI,IAAI,CAAC,eAAe,EAAE;oBACxB,EAAE,CAAC,YAAY,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;iBACnD;qBAAM;oBACL,EAAE,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC;iBAC9C;gBACD,IAAI,IAAI,CAAC,cAAc,EAAE;oBACvB,EAAE,CAAC,YAAY,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;iBAClD;qBAAM;oBACL,EAAE,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;iBAC7C;aACF;SACF,CAAC;KAcH;IApCC,0BAA0B,CAAC,QAAiB;QAC1C,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAChD;IAGD,2BAA2B,CAAC,QAAiB;QAC3C,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACjD;IAiBD,MAAM;QACJ,QACEA,kEACE,KAAK,EAAE,aAAa,IAAI,CAAC,eAAe,GAAG,sBAAsB,GAAG,EAAE,EAAE,EACxE,IAAI,EAAC,MAAM,gBACC,IAAI,CAAC,SAAS,IAEzB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAIA,kEAAK,KAAK,EAAC,kBAAkB,IAAE,IAAI,CAAC,KAAK,CAAO,EAC3FA,mEAAM,GAAG,EAAE,IAAI,CAAC,aAAa,GAAS,CAClC,EACN;KACH;;;;;;;;;;","names":["h"],"sources":["src/components/tree-view/tree-view.scss?tag=ifx-tree-view&encapsulation=shadow","src/components/tree-view/tree-view.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n:host {\n display: block;\n}\n\n.tree-view {\n font-family: var(--ifx-font-family, sans-serif);\n font-size: 14px;\n color: var(--ifx-color-text, #1a1a1a);\n\n display: flex;\n flex-wrap: wrap;\n flex-direction: column;\n overflow-x: auto;\n overflow-y: hidden;\n\n &__label {\n font: tokens.$ifxHeadingHeading06;\n margin-bottom: tokens.$ifxSpace100;\n }\n}\n","import { Component, h, Prop, Event, EventEmitter, Watch } from '@stencil/core';\n\n@Component({\n tag: 'ifx-tree-view',\n styleUrl: 'tree-view.scss',\n shadow: true,\n})\nexport class TreeView {\n @Prop() label?: string;\n @Prop() disableAllItems: boolean = false;\n @Prop() expandAllItems: boolean = false;\n @Prop() ariaLabel: string | null;\n\n @Event() ifxTreeViewExpandAllChange: EventEmitter<boolean>;\n @Event() ifxTreeViewDisableAllChange: EventEmitter<boolean>;\n\n @Watch('expandAllItems')\n handleExpandAllItemsChange(newValue: boolean) {\n this.ifxTreeViewExpandAllChange.emit(newValue);\n }\n\n @Watch('disableAllItems')\n handleDisableAllItemsChange(newValue: boolean) {\n this.ifxTreeViewDisableAllChange.emit(newValue);\n }\n\n private handleSlotRef = (el: HTMLSlotElement | null) => {\n if (el) {\n if (this.disableAllItems) {\n el.setAttribute('data-disable-all-items', 'true');\n } else {\n el.removeAttribute('data-disable-all-items');\n }\n if (this.expandAllItems) {\n el.setAttribute('data-expand-all-items', 'true');\n } else {\n el.removeAttribute('data-expand-all-items');\n }\n }\n };\n\n render() {\n return (\n <div\n class={`tree-view ${this.disableAllItems ? ' tree-view--disabled' : ''}`}\n role=\"tree\"\n aria-label={this.ariaLabel}\n >\n {this.label && this.label.trim() !== '' && <div class=\"tree-view__label\">{this.label}</div>}\n <slot ref={this.handleSlotRef}></slot>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,15 +1,9 @@
1
+ //ifxAccordion.tsx
1
2
  import { h } from "@stencil/core";
2
- import { trackComponent } from "../../global/utils/tracking";
3
- import { isNestedInIfxComponent } from "../../global/utils/dom-utils";
4
3
  export class Accordion {
5
4
  constructor() {
6
5
  this.autoCollapse = false;
7
6
  }
8
- componentWillLoad() {
9
- if (!isNestedInIfxComponent(this.el)) {
10
- trackComponent('ifx-accordion');
11
- }
12
- }
13
7
  async onItemOpen(event) {
14
8
  if (this.autoCollapse) {
15
9
  const items = Array.from(this.el.querySelectorAll('ifx-accordion-item'));
@@ -22,7 +16,7 @@ export class Accordion {
22
16
  }
23
17
  }
24
18
  render() {
25
- return (h("div", { key: '09e451a9b0b348566d74ad71741d57bd48d3ec3a', class: "accordion-wrapper" }, h("slot", { key: '9338154dc8adc933eb6b6b6cbd1396adf839e80a' })));
19
+ return (h("div", { key: '663e6aac2f3002d3898856b854dbfd96d9519a68', class: "accordion-wrapper" }, h("slot", { key: '0f54044bc1e0d2860ccd3096ee2711eb0a1cb927' })));
26
20
  }
27
21
  static get is() { return "ifx-accordion"; }
28
22
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.js","sourceRoot":"","sources":["../../../src/components/accordion/accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAOtE,MAAM,OAAO,SAAS;IALtB;QAOU,iBAAY,GAAY,KAAK,CAAC;KA4BvC;IA1BC,iBAAiB;QACf,IAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACpC,cAAc,CAAC,eAAe,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IAGD,KAAK,CAAC,UAAU,CAAC,KAAkB;QACjC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACzE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,WAAW,GAAG,IAAmC,CAAC;gBACxD,IAAI,WAAW,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7D,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CACL,4DAAK,KAAK,EAAC,mBAAmB;YAC5B,8DAAQ,CACJ,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Listen, Element, Prop } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\n\n@Component({\n tag: 'ifx-accordion',\n styleUrl: 'accordion.scss',\n shadow: { delegatesFocus: true },\n})\nexport class Accordion {\n @Element() el: HTMLElement;\n @Prop() autoCollapse: boolean = false;\n\n componentWillLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n trackComponent('ifx-accordion')\n }\n }\n\n @Listen('ifxOpen')\n async onItemOpen(event: CustomEvent) {\n if (this.autoCollapse) {\n const items = Array.from(this.el.querySelectorAll('ifx-accordion-item'));\n for (const item of items) {\n const itemElement = item as HTMLIfxAccordionItemElement;\n if (itemElement !== event.target && (await itemElement.open)) {\n itemElement.open = false;\n }\n }\n }\n }\n\n render() {\n return (\n <div class=\"accordion-wrapper\">\n <slot />\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"accordion.js","sourceRoot":"","sources":["../../../src/components/accordion/accordion.tsx"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAOpE,MAAM,OAAO,SAAS;IALtB;QAOU,iBAAY,GAAY,KAAK,CAAC;KAuBvC;IAnBC,KAAK,CAAC,UAAU,CAAC,KAAkB;QACjC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACzE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,WAAW,GAAG,IAAmC,CAAC;gBACxD,IAAI,WAAW,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7D,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CACL,4DAAK,KAAK,EAAC,mBAAmB;YAC5B,8DAAQ,CACJ,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["//ifxAccordion.tsx\nimport { Component, h, Listen, Element, Prop } from '@stencil/core';\n\n@Component({\n tag: 'ifx-accordion',\n styleUrl: 'accordion.scss',\n shadow: { delegatesFocus: true },\n})\nexport class Accordion {\n @Element() el: HTMLElement;\n @Prop() autoCollapse: boolean = false;\n\n\n @Listen('ifxOpen')\n async onItemOpen(event: CustomEvent) {\n if (this.autoCollapse) {\n const items = Array.from(this.el.querySelectorAll('ifx-accordion-item'));\n for (const item of items) {\n const itemElement = item as HTMLIfxAccordionItemElement;\n if (itemElement !== event.target && (await itemElement.open)) {\n itemElement.open = false;\n }\n }\n }\n }\n\n render() {\n return (\n <div class=\"accordion-wrapper\">\n <slot />\n </div>\n );\n }\n}\n"]}
@@ -1,6 +1,4 @@
1
1
  import { h } from "@stencil/core";
2
- import { trackComponent } from "../../global/utils/tracking";
3
- import { isNestedInIfxComponent } from "../../global/utils/dom-utils";
4
2
  export class Alert {
5
3
  constructor() {
6
4
  this.variant = 'primary';
@@ -27,9 +25,6 @@ export class Alert {
27
25
  if (!this.uniqueId) {
28
26
  this.uniqueId = this.generateUniqueId('alert');
29
27
  }
30
- if (!isNestedInIfxComponent(this.el)) {
31
- trackComponent('ifx-alert');
32
- }
33
28
  }
34
29
  render() {
35
30
  return this.variant === 'info' ? (h("div", { class: "alert__info-wrapper", role: "alert", "aria-live": this.AriaLive, "aria-describedby": this.alertTypeDescription[this.variant], "aria-labelledby": "alert-text alert-description" }, h("div", { class: "info__text-wrapper" }, h("div", { class: "info__headline-wrapper" }, h("slot", { name: "headline" })), h("div", { id: `alert-description-${this.uniqueId}`, class: "info__description-wrapper" }, h("slot", { name: "desc" }))), this.closable ? this.renderCloseButton() : null)) : (h("div", { class: `alert ${this.variant}`, role: "alert" }, this.icon && (h("div", { class: "icon-wrapper" }, h("ifx-icon", { icon: this.icon }))), h("div", { class: "alert-text", id: `alert-text-${this.uniqueId}` }, h("slot", null)), this.closable ? this.renderCloseButton() : null));
@@ -152,6 +147,5 @@ export class Alert {
152
147
  }
153
148
  }];
154
149
  }
155
- static get elementRef() { return "el"; }
156
150
  }
157
151
  //# sourceMappingURL=alert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert.js","sourceRoot":"","sources":["../../../src/components/alert/alert.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, Event, EventEmitter, State, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\n\n@Component({\n tag: 'ifx-alert',\n styleUrl: 'alert.scss',\n shadow: true,\n})\nexport class Alert {\n @Element() el: HTMLElement;\n @Prop() variant: 'primary' | 'success' | 'danger' | 'warning' | 'info' = 'primary';\n @Prop() icon: string;\n @Event() ifxClose: EventEmitter;\n @Prop() closable: boolean = true;\n @Prop() AriaLive = 'assertive';\n @State() uniqueId: string;\n\n alertTypeDescription = {\n \"primary\": 'Neutral alert',\n \"success\": 'Success Alert',\n \"danger\": 'Error Alert',\n \"warning\": 'Warning Alert',\n \"info\": 'Neutral alert',\n };\n\n handleClose() {\n this.ifxClose.emit();\n }\n\n renderCloseButton() {\n return (\n <div class=\"close-icon-wrapper\">\n <button onClick={this.handleClose.bind(this)} aria-label=\"Dismiss alert\">\n <ifx-icon icon=\"cross-16\" />\n </button>\n </div>\n );\n }\n\n generateUniqueId(prefix = 'id') {\n return `${prefix}-${Math.random().toString(36).substring(2, 9)}`;\n }\n\n componentWillLoad() { \n if (!this.uniqueId) {\n this.uniqueId = this.generateUniqueId('alert');\n }\n\n if(!isNestedInIfxComponent(this.el)) {\n trackComponent('ifx-alert')\n }\n }\n\n render() {\n return this.variant === 'info' ? (\n <div class=\"alert__info-wrapper\" role=\"alert\" aria-live={this.AriaLive} aria-describedby={this.alertTypeDescription[this.variant]} aria-labelledby=\"alert-text alert-description\">\n <div class=\"info__text-wrapper\">\n <div class=\"info__headline-wrapper\">\n <slot name=\"headline\" />\n </div>\n <div id={`alert-description-${this.uniqueId}`} class=\"info__description-wrapper\">\n <slot name=\"desc\" />\n </div>\n </div>\n {this.closable ? this.renderCloseButton() : null}\n </div>\n ) : (\n <div class={`alert ${this.variant}`} role=\"alert\">\n {this.icon && (\n <div class=\"icon-wrapper\">\n <ifx-icon icon={this.icon} />\n </div>\n )}\n <div class=\"alert-text\" id={`alert-text-${this.uniqueId}`}>\n <slot />\n </div>\n {this.closable ? this.renderCloseButton() : null}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"alert.js","sourceRoot":"","sources":["../../../src/components/alert/alert.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAgB,KAAK,EAAE,MAAM,eAAe,CAAC;AAO/E,MAAM,OAAO,KAAK;IALlB;QAMU,YAAO,GAA0D,SAAS,CAAC;QAG3E,aAAQ,GAAY,IAAI,CAAC;QACzB,aAAQ,GAAG,WAAW,CAAC;QAG/B,yBAAoB,GAAG;YACrB,SAAS,EAAE,eAAe;YAC1B,SAAS,EAAE,eAAe;YAC1B,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,eAAe;YAC1B,MAAM,EAAE,eAAe;SACxB,CAAC;KAqDH;IAnDC,WAAW;QACT,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,iBAAiB;QACf,OAAO,CACL,WAAK,KAAK,EAAC,oBAAoB;YAC7B,cAAQ,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAa,eAAe;gBACtE,gBAAU,IAAI,EAAC,UAAU,GAAG,CACrB,CACL,CACP,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,MAAM,GAAG,IAAI;QAC5B,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACnE,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAC/B,WAAK,KAAK,EAAC,qBAAqB,EAAC,IAAI,EAAC,OAAO,eAAY,IAAI,CAAC,QAAQ,sBAAoB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAkB,8BAA8B;YAC/K,WAAK,KAAK,EAAC,oBAAoB;gBAC7B,WAAK,KAAK,EAAC,wBAAwB;oBACjC,YAAM,IAAI,EAAC,UAAU,GAAG,CACpB;gBACN,WAAK,EAAE,EAAE,qBAAqB,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAC,2BAA2B;oBAC9E,YAAM,IAAI,EAAC,MAAM,GAAG,CAChB,CACF;YACL,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAC5C,CACP,CAAC,CAAC,CAAC,CACF,WAAK,KAAK,EAAE,SAAS,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAC,OAAO;YAC9C,IAAI,CAAC,IAAI,IAAI,CACZ,WAAK,KAAK,EAAC,cAAc;gBACvB,gBAAU,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,CACzB,CACP;YACD,WAAK,KAAK,EAAC,YAAY,EAAC,EAAE,EAAE,cAAc,IAAI,CAAC,QAAQ,EAAE;gBACvD,eAAQ,CACJ;YACL,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAC5C,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Event, EventEmitter, State } from '@stencil/core';\n\n@Component({\n tag: 'ifx-alert',\n styleUrl: 'alert.scss',\n shadow: true,\n})\nexport class Alert {\n @Prop() variant: 'primary' | 'success' | 'danger' | 'warning' | 'info' = 'primary';\n @Prop() icon: string;\n @Event() ifxClose: EventEmitter;\n @Prop() closable: boolean = true;\n @Prop() AriaLive = 'assertive';\n @State() uniqueId: string;\n\n alertTypeDescription = {\n \"primary\": 'Neutral alert',\n \"success\": 'Success Alert',\n \"danger\": 'Error Alert',\n \"warning\": 'Warning Alert',\n \"info\": 'Neutral alert',\n };\n\n handleClose() {\n this.ifxClose.emit();\n }\n\n renderCloseButton() {\n return (\n <div class=\"close-icon-wrapper\">\n <button onClick={this.handleClose.bind(this)} aria-label=\"Dismiss alert\">\n <ifx-icon icon=\"cross-16\" />\n </button>\n </div>\n );\n }\n\n generateUniqueId(prefix = 'id') {\n return `${prefix}-${Math.random().toString(36).substring(2, 9)}`;\n }\n\n componentWillLoad() { \n if (!this.uniqueId) {\n this.uniqueId = this.generateUniqueId('alert');\n }\n }\n\n render() {\n return this.variant === 'info' ? (\n <div class=\"alert__info-wrapper\" role=\"alert\" aria-live={this.AriaLive} aria-describedby={this.alertTypeDescription[this.variant]} aria-labelledby=\"alert-text alert-description\">\n <div class=\"info__text-wrapper\">\n <div class=\"info__headline-wrapper\">\n <slot name=\"headline\" />\n </div>\n <div id={`alert-description-${this.uniqueId}`} class=\"info__description-wrapper\">\n <slot name=\"desc\" />\n </div>\n </div>\n {this.closable ? this.renderCloseButton() : null}\n </div>\n ) : (\n <div class={`alert ${this.variant}`} role=\"alert\">\n {this.icon && (\n <div class=\"icon-wrapper\">\n <ifx-icon icon={this.icon} />\n </div>\n )}\n <div class=\"alert-text\" id={`alert-text-${this.uniqueId}`}>\n <slot />\n </div>\n {this.closable ? this.renderCloseButton() : null}\n </div>\n );\n }\n}\n"]}
@@ -1,14 +1,7 @@
1
1
  import { h } from "@stencil/core";
2
- import { trackComponent } from "../../global/utils/tracking";
3
- import { isNestedInIfxComponent } from "../../global/utils/dom-utils";
4
2
  export class Badge {
5
- componentWillLoad() {
6
- if (!isNestedInIfxComponent(this.el)) {
7
- trackComponent('ifx-badge');
8
- }
9
- }
10
3
  render() {
11
- return (h("div", { key: 'e9ec98076bf306a0db597f50bb7e811caadb10fd', class: "badge__container" }, h("slot", { key: '968c7674c219d173c9b5d41d3a70596da7887962' })));
4
+ return (h("div", { key: 'eaa5be7836515fc284e17ed7fb6acfdcc6ce11f1', class: "badge__container" }, h("slot", { key: 'f00f0415cb6cdfa25ce8e7b0df798f8a98eb2373' })));
12
5
  }
13
6
  static get is() { return "ifx-badge"; }
14
7
  static get encapsulation() { return "shadow"; }
@@ -22,6 +15,5 @@ export class Badge {
22
15
  "$": ["badge.css"]
23
16
  };
24
17
  }
25
- static get elementRef() { return "el"; }
26
18
  }
27
19
  //# sourceMappingURL=badge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../src/components/badge/badge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAOtE,MAAM,OAAO,KAAK;IAGf,iBAAiB;QAChB,IAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACpC,cAAc,CAAC,WAAW,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CACL,4DAAK,KAAK,EAAC,kBAAkB;YAC3B,8DAAQ,CACJ,CACP,CAAC;IACJ,CAAC;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\n\n@Component({\n tag: 'ifx-badge',\n styleUrl: 'badge.scss',\n shadow: true\n})\nexport class Badge {\n @Element() el: HTMLElement;\n\n componentWillLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n trackComponent('ifx-badge')\n }\n }\n\n render() {\n return (\n <div class=\"badge__container\">\n <slot />\n </div>\n );\n }\n}"]}
1
+ {"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../src/components/badge/badge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAO7C,MAAM,OAAO,KAAK;IAIhB,MAAM;QACJ,OAAO,CACL,4DAAK,KAAK,EAAC,kBAAkB;YAC3B,8DAAQ,CACJ,CACP,CAAC;IACJ,CAAC;;;;;;;;;CACF","sourcesContent":["import { Component, h } from '@stencil/core';\n\n@Component({\n tag: 'ifx-badge',\n styleUrl: 'badge.scss',\n shadow: true\n})\nexport class Badge {\n\n\n\n render() {\n return (\n <div class=\"badge__container\">\n <slot />\n </div>\n );\n }\n}"]}
@@ -1,12 +1,5 @@
1
1
  import { h } from "@stencil/core";
2
- import { trackComponent } from "../../global/utils/tracking";
3
- import { isNestedInIfxComponent } from "../../global/utils/dom-utils";
4
2
  export class Breadcrumb {
5
- componentWillLoad() {
6
- if (!isNestedInIfxComponent(this.el)) {
7
- trackComponent('ifx-breadcrumb');
8
- }
9
- }
10
3
  componentDidLoad() {
11
4
  const element = this.el.shadowRoot.firstChild;
12
5
  this.validateBreadcrumbItemStructure(element);
@@ -33,7 +26,7 @@ export class Breadcrumb {
33
26
  }
34
27
  }
35
28
  render() {
36
- return (h("nav", { key: '1e5111c6a97987cf26f17a4ef391e805595d5f48', "aria-label": "Page navigation breadcrumb" }, h("ol", { key: '241741cbdacd345373a5f35ee8300e19cd1291de', class: "breadcrumb" }, h("slot", { key: '2a14681b1293570bf9f6ba5e78cf77bc51390695' }))));
29
+ return (h("nav", { key: '3d01af951d4a6a396545eb9cf26454cbe2b31ed0', "aria-label": "Page navigation breadcrumb" }, h("ol", { key: '95ae08a0de7099ecd7c3aa963c1bf9952918ecda', class: "breadcrumb" }, h("slot", { key: 'e9fed255fa08b28c8974498d329df69b1e92edf5' }))));
37
30
  }
38
31
  static get is() { return "ifx-breadcrumb"; }
39
32
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.js","sourceRoot":"","sources":["../../../src/components/breadcrumb/breadcrumb.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAOtE,MAAM,OAAO,UAAU;IAGrB,iBAAiB;QACf,IAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACpC,cAAc,CAAC,gBAAgB,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QAC9C,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAEO,+BAA+B,CAAC,OAAoB;QAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAG,IAAI,EAAE,CAAC;YACR,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,IAAI,CAAC,QAAQ,KAAK,qBAAqB,EAAE,CAAC;oBAC5C,MAAM,cAAc,GAAG,IAAoC,CAAC;oBAC5D,MAAM,mBAAmB,GAAG,cAAc,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;oBACtF,MAAM,kBAAkB,GAAG,cAAc,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;oBAC7E,IAAI,mBAAmB,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,kBAAkB,EAAE,CAAC;wBACnE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;oBACtF,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CACL,0EAAgB,4BAA4B;YAC1C,2DAAI,KAAK,EAAC,YAAY;gBACpB,8DAAQ,CACL,CACD,CACP,CAAC;IACJ,CAAC;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\n\n@Component({\n tag: 'ifx-breadcrumb',\n styleUrl: 'breadcrumb.scss',\n shadow: true\n})\nexport class Breadcrumb {\n @Element() el;\n\n componentWillLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n trackComponent('ifx-breadcrumb')\n }\n }\n\n componentDidLoad() {\n const element = this.el.shadowRoot.firstChild;\n this.validateBreadcrumbItemStructure(element);\n }\n\n private validateBreadcrumbItemStructure(element: HTMLElement) {\n if (!element) {\n console.error('element not found');\n return;\n }\n \n const slot = element.querySelector('slot');\n if(slot) { \n const assignedNodes = slot.assignedNodes();\n \n for (let i = 0; i < assignedNodes.length; i++) {\n const node = assignedNodes[i];\n if (node.nodeName === 'IFX-BREADCRUMB-ITEM') {\n const breadcrumbItem = node as HTMLIfxBreadcrumbItemElement;\n const breadcrumbItemLabel = breadcrumbItem.querySelector('ifx-breadcrumb-item-label');\n const breadcrumbDropdown = breadcrumbItem.querySelector('ifx-dropdown-menu');\n if (breadcrumbItemLabel.hasAttribute('href') && breadcrumbDropdown) {\n throw new Error('ifx-breadcrumb-item cannot have both a href and a dropdown menu.');\n }\n }\n }\n }\n }\n\n render() {\n return (\n <nav aria-label=\"Page navigation breadcrumb\">\n <ol class=\"breadcrumb\">\n <slot />\n </ol>\n </nav>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"breadcrumb.js","sourceRoot":"","sources":["../../../src/components/breadcrumb/breadcrumb.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAOtD,MAAM,OAAO,UAAU;IAGrB,gBAAgB;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QAC9C,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAEO,+BAA+B,CAAC,OAAoB;QAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAG,IAAI,EAAE,CAAC;YACR,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,IAAI,CAAC,QAAQ,KAAK,qBAAqB,EAAE,CAAC;oBAC5C,MAAM,cAAc,GAAG,IAAoC,CAAC;oBAC5D,MAAM,mBAAmB,GAAG,cAAc,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;oBACtF,MAAM,kBAAkB,GAAG,cAAc,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;oBAC7E,IAAI,mBAAmB,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,kBAAkB,EAAE,CAAC;wBACnE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;oBACtF,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CACL,0EAAgB,4BAA4B;YAC1C,2DAAI,KAAK,EAAC,YAAY;gBACpB,8DAAQ,CACL,CACD,CACP,CAAC;IACJ,CAAC;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Element } from '@stencil/core';\n\n@Component({\n tag: 'ifx-breadcrumb',\n styleUrl: 'breadcrumb.scss',\n shadow: true\n})\nexport class Breadcrumb {\n @Element() el;\n\n componentDidLoad() {\n const element = this.el.shadowRoot.firstChild;\n this.validateBreadcrumbItemStructure(element);\n }\n\n private validateBreadcrumbItemStructure(element: HTMLElement) {\n if (!element) {\n console.error('element not found');\n return;\n }\n \n const slot = element.querySelector('slot');\n if(slot) { \n const assignedNodes = slot.assignedNodes();\n \n for (let i = 0; i < assignedNodes.length; i++) {\n const node = assignedNodes[i];\n if (node.nodeName === 'IFX-BREADCRUMB-ITEM') {\n const breadcrumbItem = node as HTMLIfxBreadcrumbItemElement;\n const breadcrumbItemLabel = breadcrumbItem.querySelector('ifx-breadcrumb-item-label');\n const breadcrumbDropdown = breadcrumbItem.querySelector('ifx-dropdown-menu');\n if (breadcrumbItemLabel.hasAttribute('href') && breadcrumbDropdown) {\n throw new Error('ifx-breadcrumb-item cannot have both a href and a dropdown menu.');\n }\n }\n }\n }\n }\n\n render() {\n return (\n <nav aria-label=\"Page navigation breadcrumb\">\n <ol class=\"breadcrumb\">\n <slot />\n </ol>\n </nav>\n );\n }\n}\n"]}