@infineon/infineon-design-system-stencil 37.3.1--canary.1962.3bee14affee3745a2653a6c02d19bdc74efc75be.0 → 37.3.1--canary.1962.fa824f7cbfd6e1e5355ac2fed0699bb92ef356cb.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 (571) hide show
  1. package/dist/cjs/ifx-accordion_2.cjs.entry.js +2 -2
  2. package/dist/cjs/ifx-accordion_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/ifx-alert_2.cjs.entry.js +2 -0
  4. package/dist/cjs/ifx-alert_2.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ifx-badge.cjs.entry.js +2 -2
  6. package/dist/cjs/ifx-badge.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ifx-basic-table.cjs.entry.js +5 -5
  8. package/dist/cjs/ifx-basic-table.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ifx-breadcrumb.cjs.entry.js +2 -4
  10. package/dist/cjs/ifx-breadcrumb.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ifx-button.cjs.entry.js +3 -1
  12. package/dist/cjs/ifx-button.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ifx-card.cjs.entry.js +5 -3
  14. package/dist/cjs/ifx-card.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ifx-checkbox-group.cjs.entry.js +3 -1
  16. package/dist/cjs/ifx-checkbox-group.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ifx-checkbox.cjs.entry.js +5 -3
  18. package/dist/cjs/ifx-checkbox.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ifx-chip_3.cjs.entry.js +14 -12
  20. package/dist/cjs/ifx-chip_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ifx-content-switcher.cjs.entry.js +3 -1
  22. package/dist/cjs/ifx-content-switcher.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ifx-date-picker.cjs.entry.js +3 -5
  24. package/dist/cjs/ifx-date-picker.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ifx-dropdown.cjs.entry.js +3 -1
  26. package/dist/cjs/ifx-dropdown.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ifx-file-upload.cjs.entry.js +3 -5
  28. package/dist/cjs/ifx-file-upload.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ifx-footer.cjs.entry.js +6 -4
  30. package/dist/cjs/ifx-footer.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ifx-icon-button.cjs.entry.js +3 -1
  32. package/dist/cjs/ifx-icon-button.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ifx-icon.cjs.entry.js +3 -1
  34. package/dist/cjs/ifx-icon.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ifx-indicator.cjs.entry.js +4 -2
  36. package/dist/cjs/ifx-indicator.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ifx-link.cjs.entry.js +2 -2
  38. package/dist/cjs/ifx-link.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ifx-modal.cjs.entry.js +3 -5
  40. package/dist/cjs/ifx-modal.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ifx-multiselect_2.cjs.entry.js +4 -4
  42. package/dist/cjs/ifx-multiselect_2.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ifx-navbar.cjs.entry.js +2 -2
  44. package/dist/cjs/ifx-navbar.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ifx-notification.cjs.entry.js +3 -3
  46. package/dist/cjs/ifx-notification.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ifx-progress-bar.cjs.entry.js +4 -2
  48. package/dist/cjs/ifx-progress-bar.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ifx-radio-button-group.cjs.entry.js +4 -2
  50. package/dist/cjs/ifx-radio-button-group.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ifx-radio-button.cjs.entry.js +8 -6
  52. package/dist/cjs/ifx-radio-button.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ifx-search-bar.cjs.entry.js +5 -3
  54. package/dist/cjs/ifx-search-bar.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ifx-search-field.cjs.entry.js +2 -2
  56. package/dist/cjs/ifx-search-field.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ifx-segmented-control.cjs.entry.js +3 -5
  58. package/dist/cjs/ifx-segmented-control.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ifx-select.cjs.entry.js +4 -4
  60. package/dist/cjs/ifx-select.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ifx-sidebar.cjs.entry.js +2 -2
  62. package/dist/cjs/ifx-sidebar.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ifx-slider.cjs.entry.js +6 -6
  64. package/dist/cjs/ifx-slider.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ifx-spinner_2.cjs.entry.js +10 -8
  66. package/dist/cjs/ifx-spinner_2.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ifx-status.cjs.entry.js +2 -2
  68. package/dist/cjs/ifx-status.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ifx-stepper.cjs.entry.js +4 -4
  70. package/dist/cjs/ifx-stepper.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ifx-switch.cjs.entry.js +5 -5
  72. package/dist/cjs/ifx-switch.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ifx-table.cjs.entry.js +6 -6
  74. package/dist/cjs/ifx-table.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ifx-tabs.cjs.entry.js +4 -4
  76. package/dist/cjs/ifx-tabs.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ifx-tag.cjs.entry.js +2 -2
  78. package/dist/cjs/ifx-tag.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ifx-textarea.cjs.entry.js +4 -2
  80. package/dist/cjs/ifx-textarea.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ifx-tooltip.cjs.entry.js +4 -4
  82. package/dist/cjs/ifx-tooltip.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ifx-tree-view.cjs.entry.js +2 -2
  84. package/dist/cjs/ifx-tree-view.cjs.entry.js.map +1 -1
  85. package/dist/collection/components/accordion/accordion.js +2 -2
  86. package/dist/collection/components/accordion/accordion.js.map +1 -1
  87. package/dist/collection/components/alert/alert.js +2 -0
  88. package/dist/collection/components/alert/alert.js.map +1 -1
  89. package/dist/collection/components/badge/badge.js +2 -2
  90. package/dist/collection/components/badge/badge.js.map +1 -1
  91. package/dist/collection/components/breadcrumb/breadcrumb.js +2 -4
  92. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  93. package/dist/collection/components/button/button.js +3 -1
  94. package/dist/collection/components/button/button.js.map +1 -1
  95. package/dist/collection/components/card/card.js +5 -3
  96. package/dist/collection/components/card/card.js.map +1 -1
  97. package/dist/collection/components/checkbox/checkbox.js +5 -3
  98. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  99. package/dist/collection/components/checkbox-group/checkbox-group.js +3 -1
  100. package/dist/collection/components/checkbox-group/checkbox-group.js.map +1 -1
  101. package/dist/collection/components/chip/chip.js +10 -8
  102. package/dist/collection/components/chip/chip.js.map +1 -1
  103. package/dist/collection/components/content-switcher/content-switcher.js +3 -1
  104. package/dist/collection/components/content-switcher/content-switcher.js.map +1 -1
  105. package/dist/collection/components/date-picker/date-picker.js +3 -5
  106. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  107. package/dist/collection/components/dropdown/dropdown.js +3 -1
  108. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  109. package/dist/collection/components/file-upload/file-upload.js +3 -5
  110. package/dist/collection/components/file-upload/file-upload.js.map +1 -1
  111. package/dist/collection/components/footer/footer.js +6 -4
  112. package/dist/collection/components/footer/footer.js.map +1 -1
  113. package/dist/collection/components/icon/infineonIconStencil.js +3 -1
  114. package/dist/collection/components/icon/infineonIconStencil.js.map +1 -1
  115. package/dist/collection/components/icon-button/icon-button.js +3 -1
  116. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  117. package/dist/collection/components/indicator/indicator.js +4 -2
  118. package/dist/collection/components/indicator/indicator.js.map +1 -1
  119. package/dist/collection/components/link/link.js +2 -2
  120. package/dist/collection/components/link/link.js.map +1 -1
  121. package/dist/collection/components/modal/modal.js +3 -5
  122. package/dist/collection/components/modal/modal.js.map +1 -1
  123. package/dist/collection/components/navigation/navbar/navbar.js +2 -2
  124. package/dist/collection/components/navigation/navbar/navbar.js.map +1 -1
  125. package/dist/collection/components/navigation/sidebar/sidebar.js +2 -2
  126. package/dist/collection/components/navigation/sidebar/sidebar.js.map +1 -1
  127. package/dist/collection/components/notification/notification.js +3 -3
  128. package/dist/collection/components/notification/notification.js.map +1 -1
  129. package/dist/collection/components/pagination/pagination.js +4 -4
  130. package/dist/collection/components/pagination/pagination.js.map +1 -1
  131. package/dist/collection/components/progress-bar/progress-bar.js +4 -2
  132. package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
  133. package/dist/collection/components/radio-button/radio-button.js +8 -6
  134. package/dist/collection/components/radio-button/radio-button.js.map +1 -1
  135. package/dist/collection/components/radio-button-group/radio-button-group.js +4 -2
  136. package/dist/collection/components/radio-button-group/radio-button-group.js.map +1 -1
  137. package/dist/collection/components/search-bar/search-bar.js +5 -3
  138. package/dist/collection/components/search-bar/search-bar.js.map +1 -1
  139. package/dist/collection/components/search-field/search-field.js +2 -2
  140. package/dist/collection/components/search-field/search-field.js.map +1 -1
  141. package/dist/collection/components/segmented-control/segmented-control.js +3 -5
  142. package/dist/collection/components/segmented-control/segmented-control.js.map +1 -1
  143. package/dist/collection/components/select/multi-select/multiselect.js +4 -4
  144. package/dist/collection/components/select/multi-select/multiselect.js.map +1 -1
  145. package/dist/collection/components/select/single-select/select.js +4 -4
  146. package/dist/collection/components/select/single-select/select.js.map +1 -1
  147. package/dist/collection/components/slider/slider.js +6 -6
  148. package/dist/collection/components/slider/slider.js.map +1 -1
  149. package/dist/collection/components/spinner/spinner.js +3 -3
  150. package/dist/collection/components/spinner/spinner.js.map +1 -1
  151. package/dist/collection/components/status/status.js +2 -2
  152. package/dist/collection/components/status/status.js.map +1 -1
  153. package/dist/collection/components/stepper/stepper.js +4 -4
  154. package/dist/collection/components/stepper/stepper.js.map +1 -1
  155. package/dist/collection/components/switch/switch.js +5 -5
  156. package/dist/collection/components/switch/switch.js.map +1 -1
  157. package/dist/collection/components/table-advanced-version/table.js +6 -6
  158. package/dist/collection/components/table-advanced-version/table.js.map +1 -1
  159. package/dist/collection/components/table-basic-version/table.js +5 -5
  160. package/dist/collection/components/table-basic-version/table.js.map +1 -1
  161. package/dist/collection/components/tabs/tabs.js +4 -4
  162. package/dist/collection/components/tabs/tabs.js.map +1 -1
  163. package/dist/collection/components/tag/tag.js +2 -2
  164. package/dist/collection/components/tag/tag.js.map +1 -1
  165. package/dist/collection/components/text-field/text-field.js +7 -5
  166. package/dist/collection/components/text-field/text-field.js.map +1 -1
  167. package/dist/collection/components/textarea/textarea.js +4 -2
  168. package/dist/collection/components/textarea/textarea.js.map +1 -1
  169. package/dist/collection/components/tooltip/tooltip.js +4 -4
  170. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  171. package/dist/collection/components/tree-view/tree-view.js +2 -2
  172. package/dist/collection/components/tree-view/tree-view.js.map +1 -1
  173. package/dist/components/ifx-accordion-item.js +1 -1
  174. package/dist/components/ifx-accordion.js +1 -1
  175. package/dist/components/ifx-alert.js +1 -1
  176. package/dist/components/ifx-badge.js +2 -2
  177. package/dist/components/ifx-badge.js.map +1 -1
  178. package/dist/components/ifx-basic-table.js +5 -5
  179. package/dist/components/ifx-basic-table.js.map +1 -1
  180. package/dist/components/ifx-breadcrumb-item-label.js +1 -1
  181. package/dist/components/ifx-breadcrumb.js +2 -4
  182. package/dist/components/ifx-breadcrumb.js.map +1 -1
  183. package/dist/components/ifx-button.js +1 -1
  184. package/dist/components/ifx-card.js +5 -3
  185. package/dist/components/ifx-card.js.map +1 -1
  186. package/dist/components/ifx-checkbox-group.js +4 -2
  187. package/dist/components/ifx-checkbox-group.js.map +1 -1
  188. package/dist/components/ifx-checkbox.js +1 -1
  189. package/dist/components/ifx-chip-item.js +1 -1
  190. package/dist/components/ifx-chip.js +1 -1
  191. package/dist/components/ifx-content-switcher.js +3 -1
  192. package/dist/components/ifx-content-switcher.js.map +1 -1
  193. package/dist/components/ifx-date-picker.js +4 -6
  194. package/dist/components/ifx-date-picker.js.map +1 -1
  195. package/dist/components/ifx-download.js +1 -1
  196. package/dist/components/ifx-dropdown-item.js +1 -1
  197. package/dist/components/ifx-dropdown-trigger-button.js +2 -2
  198. package/dist/components/ifx-dropdown.js +3 -1
  199. package/dist/components/ifx-dropdown.js.map +1 -1
  200. package/dist/components/ifx-faq.js +3 -3
  201. package/dist/components/ifx-file-upload.js +7 -9
  202. package/dist/components/ifx-file-upload.js.map +1 -1
  203. package/dist/components/ifx-filter-accordion.js +2 -2
  204. package/dist/components/ifx-filter-bar.js +2 -2
  205. package/dist/components/ifx-filter-search.js +2 -2
  206. package/dist/components/ifx-footer.js +6 -4
  207. package/dist/components/ifx-footer.js.map +1 -1
  208. package/dist/components/ifx-icon-button.js +1 -1
  209. package/dist/components/ifx-icon.js +1 -1
  210. package/dist/components/ifx-icons-preview.js +4 -4
  211. package/dist/components/ifx-indicator.js +1 -1
  212. package/dist/components/ifx-link.js +1 -1
  213. package/dist/components/ifx-list-entry.js +3 -3
  214. package/dist/components/ifx-list.js +2 -2
  215. package/dist/components/ifx-modal.js +5 -7
  216. package/dist/components/ifx-modal.js.map +1 -1
  217. package/dist/components/ifx-multiselect-option.js +1 -1
  218. package/dist/components/ifx-multiselect.js +1 -1
  219. package/dist/components/ifx-navbar-item.js +2 -2
  220. package/dist/components/ifx-navbar.js +3 -3
  221. package/dist/components/ifx-navbar.js.map +1 -1
  222. package/dist/components/ifx-notification.js +1 -1
  223. package/dist/components/ifx-overview-table.js +3 -3
  224. package/dist/components/ifx-pagination.js +1 -1
  225. package/dist/components/ifx-progress-bar.js +1 -1
  226. package/dist/components/ifx-radio-button-group.js +5 -3
  227. package/dist/components/ifx-radio-button-group.js.map +1 -1
  228. package/dist/components/ifx-radio-button.js +1 -1
  229. package/dist/components/ifx-search-bar.js +7 -5
  230. package/dist/components/ifx-search-bar.js.map +1 -1
  231. package/dist/components/ifx-search-field.js +1 -1
  232. package/dist/components/ifx-segment.js +1 -1
  233. package/dist/components/ifx-segmented-control.js +4 -6
  234. package/dist/components/ifx-segmented-control.js.map +1 -1
  235. package/dist/components/ifx-select.js +1 -1
  236. package/dist/components/ifx-set-filter.js +7 -7
  237. package/dist/components/ifx-sidebar-item.js +2 -2
  238. package/dist/components/ifx-sidebar.js +2 -2
  239. package/dist/components/ifx-sidebar.js.map +1 -1
  240. package/dist/components/ifx-slider.js +7 -7
  241. package/dist/components/ifx-slider.js.map +1 -1
  242. package/dist/components/ifx-spinner.js +1 -1
  243. package/dist/components/ifx-status.js +2 -2
  244. package/dist/components/ifx-status.js.map +1 -1
  245. package/dist/components/ifx-step.js +1 -1
  246. package/dist/components/ifx-stepper.js +4 -4
  247. package/dist/components/ifx-stepper.js.map +1 -1
  248. package/dist/components/ifx-switch.js +5 -5
  249. package/dist/components/ifx-switch.js.map +1 -1
  250. package/dist/components/ifx-table.js +15 -15
  251. package/dist/components/ifx-table.js.map +1 -1
  252. package/dist/components/ifx-tabs.js +5 -5
  253. package/dist/components/ifx-tabs.js.map +1 -1
  254. package/dist/components/ifx-tag.js +3 -3
  255. package/dist/components/ifx-tag.js.map +1 -1
  256. package/dist/components/ifx-template.js +1 -1
  257. package/dist/components/ifx-templates-ui.js +8 -8
  258. package/dist/components/ifx-text-field.js +1 -1
  259. package/dist/components/ifx-textarea.js +4 -2
  260. package/dist/components/ifx-textarea.js.map +1 -1
  261. package/dist/components/ifx-tooltip.js +5 -5
  262. package/dist/components/ifx-tooltip.js.map +1 -1
  263. package/dist/components/ifx-tree-view-item.js +2 -2
  264. package/dist/components/ifx-tree-view.js +2 -2
  265. package/dist/components/ifx-tree-view.js.map +1 -1
  266. package/dist/components/{p-136cf421.js → p-02d51cb4.js} +9 -7
  267. package/dist/components/p-02d51cb4.js.map +1 -0
  268. package/dist/components/{p-540745fa.js → p-5e160859.js} +9 -7
  269. package/dist/components/p-5e160859.js.map +1 -0
  270. package/dist/components/{p-2770c8cc.js → p-6234a7c7.js} +5 -3
  271. package/dist/components/p-6234a7c7.js.map +1 -0
  272. package/dist/components/{p-2c314a58.js → p-6cdb54a6.js} +7 -5
  273. package/dist/components/p-6cdb54a6.js.map +1 -0
  274. package/dist/components/{p-dba7abd3.js → p-7469727b.js} +4 -2
  275. package/dist/components/p-7469727b.js.map +1 -0
  276. package/dist/components/{p-3c36282d.js → p-75cf9c68.js} +6 -6
  277. package/dist/components/{p-3c36282d.js.map → p-75cf9c68.js.map} +1 -1
  278. package/dist/components/{p-be32c1b2.js → p-89bd3f13.js} +6 -6
  279. package/dist/components/{p-be32c1b2.js.map → p-89bd3f13.js.map} +1 -1
  280. package/dist/components/{p-406f159b.js → p-8aab7989.js} +3 -3
  281. package/dist/components/{p-406f159b.js.map → p-8aab7989.js.map} +1 -1
  282. package/dist/components/{p-e5c8a65c.js → p-9bacfb4f.js} +3 -3
  283. package/dist/components/{p-e5c8a65c.js.map → p-9bacfb4f.js.map} +1 -1
  284. package/dist/components/{p-f10d14b7.js → p-9dbcca51.js} +5 -3
  285. package/dist/components/p-9dbcca51.js.map +1 -0
  286. package/dist/components/{p-e8af6842.js → p-a64baa6c.js} +3 -3
  287. package/dist/components/{p-e8af6842.js.map → p-a64baa6c.js.map} +1 -1
  288. package/dist/components/{p-db63a8a5.js → p-b72cf91c.js} +4 -2
  289. package/dist/components/p-b72cf91c.js.map +1 -0
  290. package/dist/components/{p-c9352103.js → p-be4633dc.js} +4 -2
  291. package/dist/components/p-be4633dc.js.map +1 -0
  292. package/dist/components/{p-f8063e97.js → p-bf46e92b.js} +3 -3
  293. package/dist/components/{p-f8063e97.js.map → p-bf46e92b.js.map} +1 -1
  294. package/dist/components/{p-ef3625f7.js → p-d3d3eb63.js} +4 -4
  295. package/dist/components/{p-ef3625f7.js.map → p-d3d3eb63.js.map} +1 -1
  296. package/dist/components/{p-eb3e1093.js → p-dc421a52.js} +13 -11
  297. package/dist/components/p-dc421a52.js.map +1 -0
  298. package/dist/components/{p-24197d5c.js → p-dc6975ec.js} +2 -2
  299. package/dist/components/{p-24197d5c.js.map → p-dc6975ec.js.map} +1 -1
  300. package/dist/components/{p-1a8d5f72.js → p-de80aee8.js} +8 -8
  301. package/dist/components/{p-1a8d5f72.js.map → p-de80aee8.js.map} +1 -1
  302. package/dist/components/{p-2a2f7c54.js → p-e08b34d7.js} +8 -8
  303. package/dist/components/{p-2a2f7c54.js.map → p-e08b34d7.js.map} +1 -1
  304. package/dist/components/{p-e126d253.js → p-ec4680b1.js} +6 -6
  305. package/dist/components/{p-e126d253.js.map → p-ec4680b1.js.map} +1 -1
  306. package/dist/components/{p-a070e739.js → p-f5f2b031.js} +4 -4
  307. package/dist/components/{p-a070e739.js.map → p-f5f2b031.js.map} +1 -1
  308. package/dist/components/{p-af6c5174.js → p-f952879b.js} +5 -3
  309. package/dist/components/p-f952879b.js.map +1 -0
  310. package/dist/esm/ifx-accordion_2.entry.js +2 -2
  311. package/dist/esm/ifx-accordion_2.entry.js.map +1 -1
  312. package/dist/esm/ifx-alert_2.entry.js +2 -0
  313. package/dist/esm/ifx-alert_2.entry.js.map +1 -1
  314. package/dist/esm/ifx-badge.entry.js +2 -2
  315. package/dist/esm/ifx-badge.entry.js.map +1 -1
  316. package/dist/esm/ifx-basic-table.entry.js +5 -5
  317. package/dist/esm/ifx-basic-table.entry.js.map +1 -1
  318. package/dist/esm/ifx-breadcrumb.entry.js +2 -4
  319. package/dist/esm/ifx-breadcrumb.entry.js.map +1 -1
  320. package/dist/esm/ifx-button.entry.js +3 -1
  321. package/dist/esm/ifx-button.entry.js.map +1 -1
  322. package/dist/esm/ifx-card.entry.js +5 -3
  323. package/dist/esm/ifx-card.entry.js.map +1 -1
  324. package/dist/esm/ifx-checkbox-group.entry.js +3 -1
  325. package/dist/esm/ifx-checkbox-group.entry.js.map +1 -1
  326. package/dist/esm/ifx-checkbox.entry.js +5 -3
  327. package/dist/esm/ifx-checkbox.entry.js.map +1 -1
  328. package/dist/esm/ifx-chip_3.entry.js +14 -12
  329. package/dist/esm/ifx-chip_3.entry.js.map +1 -1
  330. package/dist/esm/ifx-content-switcher.entry.js +3 -1
  331. package/dist/esm/ifx-content-switcher.entry.js.map +1 -1
  332. package/dist/esm/ifx-date-picker.entry.js +3 -5
  333. package/dist/esm/ifx-date-picker.entry.js.map +1 -1
  334. package/dist/esm/ifx-dropdown.entry.js +3 -1
  335. package/dist/esm/ifx-dropdown.entry.js.map +1 -1
  336. package/dist/esm/ifx-file-upload.entry.js +3 -5
  337. package/dist/esm/ifx-file-upload.entry.js.map +1 -1
  338. package/dist/esm/ifx-footer.entry.js +6 -4
  339. package/dist/esm/ifx-footer.entry.js.map +1 -1
  340. package/dist/esm/ifx-icon-button.entry.js +3 -1
  341. package/dist/esm/ifx-icon-button.entry.js.map +1 -1
  342. package/dist/esm/ifx-icon.entry.js +3 -1
  343. package/dist/esm/ifx-icon.entry.js.map +1 -1
  344. package/dist/esm/ifx-indicator.entry.js +4 -2
  345. package/dist/esm/ifx-indicator.entry.js.map +1 -1
  346. package/dist/esm/ifx-link.entry.js +2 -2
  347. package/dist/esm/ifx-link.entry.js.map +1 -1
  348. package/dist/esm/ifx-modal.entry.js +3 -5
  349. package/dist/esm/ifx-modal.entry.js.map +1 -1
  350. package/dist/esm/ifx-multiselect_2.entry.js +4 -4
  351. package/dist/esm/ifx-multiselect_2.entry.js.map +1 -1
  352. package/dist/esm/ifx-navbar.entry.js +2 -2
  353. package/dist/esm/ifx-navbar.entry.js.map +1 -1
  354. package/dist/esm/ifx-notification.entry.js +3 -3
  355. package/dist/esm/ifx-notification.entry.js.map +1 -1
  356. package/dist/esm/ifx-progress-bar.entry.js +4 -2
  357. package/dist/esm/ifx-progress-bar.entry.js.map +1 -1
  358. package/dist/esm/ifx-radio-button-group.entry.js +4 -2
  359. package/dist/esm/ifx-radio-button-group.entry.js.map +1 -1
  360. package/dist/esm/ifx-radio-button.entry.js +8 -6
  361. package/dist/esm/ifx-radio-button.entry.js.map +1 -1
  362. package/dist/esm/ifx-search-bar.entry.js +5 -3
  363. package/dist/esm/ifx-search-bar.entry.js.map +1 -1
  364. package/dist/esm/ifx-search-field.entry.js +2 -2
  365. package/dist/esm/ifx-search-field.entry.js.map +1 -1
  366. package/dist/esm/ifx-segmented-control.entry.js +3 -5
  367. package/dist/esm/ifx-segmented-control.entry.js.map +1 -1
  368. package/dist/esm/ifx-select.entry.js +4 -4
  369. package/dist/esm/ifx-select.entry.js.map +1 -1
  370. package/dist/esm/ifx-sidebar.entry.js +2 -2
  371. package/dist/esm/ifx-sidebar.entry.js.map +1 -1
  372. package/dist/esm/ifx-slider.entry.js +6 -6
  373. package/dist/esm/ifx-slider.entry.js.map +1 -1
  374. package/dist/esm/ifx-spinner_2.entry.js +10 -8
  375. package/dist/esm/ifx-spinner_2.entry.js.map +1 -1
  376. package/dist/esm/ifx-status.entry.js +2 -2
  377. package/dist/esm/ifx-status.entry.js.map +1 -1
  378. package/dist/esm/ifx-stepper.entry.js +4 -4
  379. package/dist/esm/ifx-stepper.entry.js.map +1 -1
  380. package/dist/esm/ifx-switch.entry.js +5 -5
  381. package/dist/esm/ifx-switch.entry.js.map +1 -1
  382. package/dist/esm/ifx-table.entry.js +6 -6
  383. package/dist/esm/ifx-table.entry.js.map +1 -1
  384. package/dist/esm/ifx-tabs.entry.js +4 -4
  385. package/dist/esm/ifx-tabs.entry.js.map +1 -1
  386. package/dist/esm/ifx-tag.entry.js +2 -2
  387. package/dist/esm/ifx-tag.entry.js.map +1 -1
  388. package/dist/esm/ifx-textarea.entry.js +4 -2
  389. package/dist/esm/ifx-textarea.entry.js.map +1 -1
  390. package/dist/esm/ifx-tooltip.entry.js +4 -4
  391. package/dist/esm/ifx-tooltip.entry.js.map +1 -1
  392. package/dist/esm/ifx-tree-view.entry.js +2 -2
  393. package/dist/esm/ifx-tree-view.entry.js.map +1 -1
  394. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  395. package/dist/infineon-design-system-stencil/p-09e1f3fe.entry.js +2 -0
  396. package/dist/infineon-design-system-stencil/p-09e1f3fe.entry.js.map +1 -0
  397. package/dist/infineon-design-system-stencil/{p-2b70d548.entry.js → p-0a54d1f2.entry.js} +2 -2
  398. package/dist/infineon-design-system-stencil/{p-2b70d548.entry.js.map → p-0a54d1f2.entry.js.map} +1 -1
  399. package/dist/infineon-design-system-stencil/p-0e08a2b6.entry.js +2 -0
  400. package/dist/infineon-design-system-stencil/p-0e08a2b6.entry.js.map +1 -0
  401. package/dist/infineon-design-system-stencil/{p-c08f433b.entry.js → p-0f138939.entry.js} +2 -2
  402. package/dist/infineon-design-system-stencil/p-0f138939.entry.js.map +1 -0
  403. package/dist/infineon-design-system-stencil/{p-f0c63fec.entry.js → p-108b7539.entry.js} +2 -2
  404. package/dist/infineon-design-system-stencil/{p-f0c63fec.entry.js.map → p-108b7539.entry.js.map} +1 -1
  405. package/dist/infineon-design-system-stencil/{p-881b914a.entry.js → p-1774ffb5.entry.js} +2 -2
  406. package/dist/infineon-design-system-stencil/{p-881b914a.entry.js.map → p-1774ffb5.entry.js.map} +1 -1
  407. package/dist/infineon-design-system-stencil/p-1e99d8fd.entry.js +2 -0
  408. package/dist/infineon-design-system-stencil/p-1e99d8fd.entry.js.map +1 -0
  409. package/dist/infineon-design-system-stencil/{p-711adf21.entry.js → p-20b96166.entry.js} +2 -2
  410. package/dist/infineon-design-system-stencil/p-20b96166.entry.js.map +1 -0
  411. package/dist/infineon-design-system-stencil/{p-d4dd44b8.entry.js → p-25b7d4cc.entry.js} +2 -2
  412. package/dist/infineon-design-system-stencil/p-25b7d4cc.entry.js.map +1 -0
  413. package/dist/infineon-design-system-stencil/{p-9a8e7f8b.entry.js → p-3789de1f.entry.js} +2 -2
  414. package/dist/infineon-design-system-stencil/p-3789de1f.entry.js.map +1 -0
  415. package/dist/infineon-design-system-stencil/{p-21081b2d.entry.js → p-463fadea.entry.js} +2 -2
  416. package/dist/infineon-design-system-stencil/{p-21081b2d.entry.js.map → p-463fadea.entry.js.map} +1 -1
  417. package/dist/infineon-design-system-stencil/{p-e9437b47.entry.js → p-4760cdb4.entry.js} +2 -2
  418. package/dist/infineon-design-system-stencil/p-4760cdb4.entry.js.map +1 -0
  419. package/dist/infineon-design-system-stencil/{p-711e331f.entry.js → p-486e255f.entry.js} +2 -2
  420. package/dist/infineon-design-system-stencil/p-486e255f.entry.js.map +1 -0
  421. package/dist/infineon-design-system-stencil/p-4fad6021.entry.js +2 -0
  422. package/dist/infineon-design-system-stencil/p-4fad6021.entry.js.map +1 -0
  423. package/dist/infineon-design-system-stencil/{p-b38e5b12.entry.js → p-53606792.entry.js} +2 -2
  424. package/dist/infineon-design-system-stencil/{p-b38e5b12.entry.js.map → p-53606792.entry.js.map} +1 -1
  425. package/dist/infineon-design-system-stencil/{p-acf23b26.entry.js → p-56eee46c.entry.js} +2 -2
  426. package/dist/infineon-design-system-stencil/{p-acf23b26.entry.js.map → p-56eee46c.entry.js.map} +1 -1
  427. package/dist/infineon-design-system-stencil/p-5cf56fa3.entry.js +2 -0
  428. package/dist/infineon-design-system-stencil/p-5cf56fa3.entry.js.map +1 -0
  429. package/dist/infineon-design-system-stencil/p-5d3e1733.entry.js +2 -0
  430. package/dist/infineon-design-system-stencil/p-5d3e1733.entry.js.map +1 -0
  431. package/dist/infineon-design-system-stencil/p-6479f069.entry.js +2 -0
  432. package/dist/infineon-design-system-stencil/p-6479f069.entry.js.map +1 -0
  433. package/dist/infineon-design-system-stencil/p-6b69db7d.entry.js +2 -0
  434. package/dist/infineon-design-system-stencil/p-6b69db7d.entry.js.map +1 -0
  435. package/dist/infineon-design-system-stencil/{p-ce769800.entry.js → p-77f8d47b.entry.js} +2 -2
  436. package/dist/infineon-design-system-stencil/p-77f8d47b.entry.js.map +1 -0
  437. package/dist/infineon-design-system-stencil/p-79817498.entry.js +2 -0
  438. package/dist/infineon-design-system-stencil/p-79817498.entry.js.map +1 -0
  439. package/dist/infineon-design-system-stencil/{p-75949a23.entry.js → p-80d1cc75.entry.js} +2 -2
  440. package/dist/infineon-design-system-stencil/p-80d1cc75.entry.js.map +1 -0
  441. package/dist/infineon-design-system-stencil/{p-d791bc09.entry.js → p-8a7a7589.entry.js} +2 -2
  442. package/dist/infineon-design-system-stencil/p-8a7a7589.entry.js.map +1 -0
  443. package/dist/infineon-design-system-stencil/{p-29b23ff4.entry.js → p-98a2d242.entry.js} +2 -2
  444. package/dist/infineon-design-system-stencil/p-98a2d242.entry.js.map +1 -0
  445. package/dist/infineon-design-system-stencil/{p-abced0fa.entry.js → p-9d632192.entry.js} +2 -2
  446. package/dist/infineon-design-system-stencil/p-9d632192.entry.js.map +1 -0
  447. package/dist/infineon-design-system-stencil/p-abd24e4b.entry.js +2 -0
  448. package/dist/infineon-design-system-stencil/p-abd24e4b.entry.js.map +1 -0
  449. package/dist/infineon-design-system-stencil/p-af4c976b.entry.js +2 -0
  450. package/dist/infineon-design-system-stencil/p-af4c976b.entry.js.map +1 -0
  451. package/dist/infineon-design-system-stencil/{p-dff51d1d.entry.js → p-aff230fd.entry.js} +2 -2
  452. package/dist/infineon-design-system-stencil/p-aff230fd.entry.js.map +1 -0
  453. package/dist/infineon-design-system-stencil/{p-f29f0f8f.entry.js → p-b8827e47.entry.js} +2 -2
  454. package/dist/infineon-design-system-stencil/p-b8827e47.entry.js.map +1 -0
  455. package/dist/infineon-design-system-stencil/p-bb0c5ad8.entry.js +2 -0
  456. package/dist/infineon-design-system-stencil/p-bb0c5ad8.entry.js.map +1 -0
  457. package/dist/infineon-design-system-stencil/{p-353a18af.entry.js → p-bd3dcb26.entry.js} +2 -2
  458. package/dist/infineon-design-system-stencil/p-bd3dcb26.entry.js.map +1 -0
  459. package/dist/infineon-design-system-stencil/{p-db83a642.entry.js → p-c66630eb.entry.js} +2 -2
  460. package/dist/infineon-design-system-stencil/p-c66630eb.entry.js.map +1 -0
  461. package/dist/infineon-design-system-stencil/{p-a475193a.entry.js → p-c68bbcca.entry.js} +2 -2
  462. package/dist/infineon-design-system-stencil/{p-a475193a.entry.js.map → p-c68bbcca.entry.js.map} +1 -1
  463. package/dist/infineon-design-system-stencil/p-c85b8c84.entry.js +2 -0
  464. package/dist/infineon-design-system-stencil/p-c85b8c84.entry.js.map +1 -0
  465. package/dist/infineon-design-system-stencil/{p-51ce12aa.entry.js → p-cbd77b81.entry.js} +2 -2
  466. package/dist/infineon-design-system-stencil/p-cbd77b81.entry.js.map +1 -0
  467. package/dist/infineon-design-system-stencil/{p-f1574330.entry.js → p-ccce2af4.entry.js} +2 -2
  468. package/dist/infineon-design-system-stencil/{p-f1574330.entry.js.map → p-ccce2af4.entry.js.map} +1 -1
  469. package/dist/infineon-design-system-stencil/{p-f03c9384.entry.js → p-d0a6141c.entry.js} +2 -2
  470. package/dist/infineon-design-system-stencil/p-d0a6141c.entry.js.map +1 -0
  471. package/dist/infineon-design-system-stencil/p-e00c10f7.entry.js +2 -0
  472. package/dist/infineon-design-system-stencil/p-e00c10f7.entry.js.map +1 -0
  473. package/dist/infineon-design-system-stencil/p-e1dc0eb6.entry.js +2 -0
  474. package/dist/infineon-design-system-stencil/p-e1dc0eb6.entry.js.map +1 -0
  475. package/dist/infineon-design-system-stencil/p-e35c77d9.entry.js +2 -0
  476. package/dist/infineon-design-system-stencil/p-e35c77d9.entry.js.map +1 -0
  477. package/dist/infineon-design-system-stencil/{p-12de5ff2.entry.js → p-e99d8905.entry.js} +2 -2
  478. package/dist/infineon-design-system-stencil/p-e99d8905.entry.js.map +1 -0
  479. package/dist/types/components/accordion/accordion.d.ts +1 -1
  480. package/dist/types/components/alert/alert.d.ts +1 -0
  481. package/dist/types/components/badge/badge.d.ts +1 -1
  482. package/dist/types/components/breadcrumb/breadcrumb.d.ts +0 -1
  483. package/dist/types/components/button/button.d.ts +1 -0
  484. package/dist/types/components/card/card.d.ts +1 -0
  485. package/dist/types/components/checkbox/checkbox.d.ts +1 -0
  486. package/dist/types/components/checkbox-group/checkbox-group.d.ts +1 -0
  487. package/dist/types/components/chip/chip.d.ts +1 -0
  488. package/dist/types/components/content-switcher/content-switcher.d.ts +1 -0
  489. package/dist/types/components/date-picker/date-picker.d.ts +0 -1
  490. package/dist/types/components/dropdown/dropdown.d.ts +1 -0
  491. package/dist/types/components/file-upload/file-upload.d.ts +0 -1
  492. package/dist/types/components/footer/footer.d.ts +1 -0
  493. package/dist/types/components/icon/infineonIconStencil.d.ts +1 -0
  494. package/dist/types/components/icon-button/icon-button.d.ts +1 -0
  495. package/dist/types/components/indicator/indicator.d.ts +1 -0
  496. package/dist/types/components/link/link.d.ts +1 -1
  497. package/dist/types/components/modal/modal.d.ts +0 -1
  498. package/dist/types/components/notification/notification.d.ts +1 -1
  499. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -0
  500. package/dist/types/components/radio-button/radio-button.d.ts +1 -0
  501. package/dist/types/components/radio-button-group/radio-button-group.d.ts +1 -0
  502. package/dist/types/components/search-bar/search-bar.d.ts +1 -0
  503. package/dist/types/components/search-field/search-field.d.ts +1 -1
  504. package/dist/types/components/segmented-control/segmented-control.d.ts +0 -1
  505. package/dist/types/components/spinner/spinner.d.ts +1 -1
  506. package/dist/types/components/status/status.d.ts +1 -1
  507. package/dist/types/components/tag/tag.d.ts +1 -1
  508. package/dist/types/components/text-field/text-field.d.ts +1 -0
  509. package/dist/types/components/textarea/textarea.d.ts +1 -0
  510. package/dist/types/components/tree-view/tree-view.d.ts +1 -1
  511. package/package.json +1 -1
  512. package/dist/components/p-136cf421.js.map +0 -1
  513. package/dist/components/p-2770c8cc.js.map +0 -1
  514. package/dist/components/p-2c314a58.js.map +0 -1
  515. package/dist/components/p-540745fa.js.map +0 -1
  516. package/dist/components/p-af6c5174.js.map +0 -1
  517. package/dist/components/p-c9352103.js.map +0 -1
  518. package/dist/components/p-db63a8a5.js.map +0 -1
  519. package/dist/components/p-dba7abd3.js.map +0 -1
  520. package/dist/components/p-eb3e1093.js.map +0 -1
  521. package/dist/components/p-f10d14b7.js.map +0 -1
  522. package/dist/infineon-design-system-stencil/p-12de5ff2.entry.js.map +0 -1
  523. package/dist/infineon-design-system-stencil/p-29b23ff4.entry.js.map +0 -1
  524. package/dist/infineon-design-system-stencil/p-2f4ad59e.entry.js +0 -2
  525. package/dist/infineon-design-system-stencil/p-2f4ad59e.entry.js.map +0 -1
  526. package/dist/infineon-design-system-stencil/p-353a18af.entry.js.map +0 -1
  527. package/dist/infineon-design-system-stencil/p-39169508.entry.js +0 -2
  528. package/dist/infineon-design-system-stencil/p-39169508.entry.js.map +0 -1
  529. package/dist/infineon-design-system-stencil/p-44d6a7cb.entry.js +0 -2
  530. package/dist/infineon-design-system-stencil/p-44d6a7cb.entry.js.map +0 -1
  531. package/dist/infineon-design-system-stencil/p-4614ca8e.entry.js +0 -2
  532. package/dist/infineon-design-system-stencil/p-4614ca8e.entry.js.map +0 -1
  533. package/dist/infineon-design-system-stencil/p-47655cf5.entry.js +0 -2
  534. package/dist/infineon-design-system-stencil/p-47655cf5.entry.js.map +0 -1
  535. package/dist/infineon-design-system-stencil/p-51ce12aa.entry.js.map +0 -1
  536. package/dist/infineon-design-system-stencil/p-711adf21.entry.js.map +0 -1
  537. package/dist/infineon-design-system-stencil/p-711e331f.entry.js.map +0 -1
  538. package/dist/infineon-design-system-stencil/p-75949a23.entry.js.map +0 -1
  539. package/dist/infineon-design-system-stencil/p-7a6604c7.entry.js +0 -2
  540. package/dist/infineon-design-system-stencil/p-7a6604c7.entry.js.map +0 -1
  541. package/dist/infineon-design-system-stencil/p-7b7fd99c.entry.js +0 -2
  542. package/dist/infineon-design-system-stencil/p-7b7fd99c.entry.js.map +0 -1
  543. package/dist/infineon-design-system-stencil/p-7e6615af.entry.js +0 -2
  544. package/dist/infineon-design-system-stencil/p-7e6615af.entry.js.map +0 -1
  545. package/dist/infineon-design-system-stencil/p-90e7f7d7.entry.js +0 -2
  546. package/dist/infineon-design-system-stencil/p-90e7f7d7.entry.js.map +0 -1
  547. package/dist/infineon-design-system-stencil/p-9a8e7f8b.entry.js.map +0 -1
  548. package/dist/infineon-design-system-stencil/p-9cd0421b.entry.js +0 -2
  549. package/dist/infineon-design-system-stencil/p-9cd0421b.entry.js.map +0 -1
  550. package/dist/infineon-design-system-stencil/p-a0d20c2c.entry.js +0 -2
  551. package/dist/infineon-design-system-stencil/p-a0d20c2c.entry.js.map +0 -1
  552. package/dist/infineon-design-system-stencil/p-a3c34872.entry.js +0 -2
  553. package/dist/infineon-design-system-stencil/p-a3c34872.entry.js.map +0 -1
  554. package/dist/infineon-design-system-stencil/p-abced0fa.entry.js.map +0 -1
  555. package/dist/infineon-design-system-stencil/p-ac049d8b.entry.js +0 -2
  556. package/dist/infineon-design-system-stencil/p-ac049d8b.entry.js.map +0 -1
  557. package/dist/infineon-design-system-stencil/p-ae51bd85.entry.js +0 -2
  558. package/dist/infineon-design-system-stencil/p-ae51bd85.entry.js.map +0 -1
  559. package/dist/infineon-design-system-stencil/p-c08f433b.entry.js.map +0 -1
  560. package/dist/infineon-design-system-stencil/p-c180aca8.entry.js +0 -2
  561. package/dist/infineon-design-system-stencil/p-c180aca8.entry.js.map +0 -1
  562. package/dist/infineon-design-system-stencil/p-ce769800.entry.js.map +0 -1
  563. package/dist/infineon-design-system-stencil/p-d4dd44b8.entry.js.map +0 -1
  564. package/dist/infineon-design-system-stencil/p-d791bc09.entry.js.map +0 -1
  565. package/dist/infineon-design-system-stencil/p-db83a642.entry.js.map +0 -1
  566. package/dist/infineon-design-system-stencil/p-dce41d5a.entry.js +0 -2
  567. package/dist/infineon-design-system-stencil/p-dce41d5a.entry.js.map +0 -1
  568. package/dist/infineon-design-system-stencil/p-dff51d1d.entry.js.map +0 -1
  569. package/dist/infineon-design-system-stencil/p-e9437b47.entry.js.map +0 -1
  570. package/dist/infineon-design-system-stencil/p-f03c9384.entry.js.map +0 -1
  571. package/dist/infineon-design-system-stencil/p-f29f0f8f.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"file":"ifx-tooltip.js","mappings":"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","names":[],"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';\nimport { detectFramework } from '../../global/utils/framework-detection';\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 const framework = detectFramework();\n trackComponent('ifx-tooltip', framework)\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.js","mappings":";;;;;;AAAA,MAAM,UAAU,GAAG,2/HAA2/H,CAAC;AAC/gI,yBAAe,UAAU;;MCUZ,OAAO;IALpB;;;;QAQW,mBAAc,GAAY,KAAK,CAAC;QACjC,WAAM,GAAW,EAAE,CAAC;QACpB,SAAI,GAAW,EAAE,CAAC;QAClB,aAAQ,GAA2G,MAAM,CAAC;QACzH,qBAAgB,GAA2G,MAAM,CAAC;QAEnI,YAAO,GAA2C,SAAS,CAAC;QAKpE,mBAAc,GAAQ,IAAI,CAAC;QA+G3B,iBAAY,GAAG;;;YAEb,MAAA,IAAI,CAAC,cAAc,0CAAE,UAAU,CAAC,CAAC,OAAO,sCACnC,OAAO,KACV,SAAS,EAAE;oBACT,GAAG,OAAO,CAAC,SAAS;oBACpB,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,EAAE;iBAC1C,IACD,CAAC,CAAC;;YAGJ,IAAI,CAAC,gBAAgB,EAAE,CAAC;;YAGxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;;YAGvC,MAAA,IAAI,CAAC,cAAc,0CAAE,MAAM,EAAE,CAAC;SAC/B,CAAA;QAGD,iBAAY,GAAG;YACb,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SAEvC,CAAA;QAMD,YAAO,GAAG;;YACR,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,aAAa,EAAE;gBAChD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;gBAC3C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,GAAG,OAAO,GAAG,MAAM,CAAC;gBACtE,MAAA,IAAI,CAAC,cAAc,0CAAE,MAAM,EAAE,CAAC;aAC/B;SACF,CAAA;QAED,mBAAc,GAAG;YACf,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SACvC,CAAA;KAoEF;IA5NC,iBAAiB;QACf,IAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC3C,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;SACzB;KACF;IAED,gBAAgB;QACd,IAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACnC,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;YACpC,cAAc,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;SACzC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC;QAEvF,IAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,UAAU,EAAE;YACxF,WAAW,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;YAC7D,WAAW,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;SAC9D;aAAI;YACH,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SACrD;KAEF;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QAEhC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE;YAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;SACvE;aACI,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,aAAa,EAAE;YACrD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;SAC3E;aACI;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;SAExE;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,KAAK,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;;QAGlG,IAAI,CAAC,gBAAgB,GAAG,iBAAiB,CAAC;QAE1C,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE;YAEtC,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE;gBACnE,SAAS,EAAE,IAAI,CAAC,gBAAgB;gBAChC,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE;4BACP,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;yBACf;qBACF;oBACD;wBACE,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE;4BACP,OAAO,EAAE,oBAAoB;yBAC9B;qBACF;iBACF;aACF,CAAC,CAAC;SAEJ;;QAGD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;KAGlE;IAED,qBAAqB;;QAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAE/B,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAClE,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAEpE,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC5B,IAAI,oBAAoB,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE;gBACjD,IAAI,sBAAsB,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE;oBAClD,OAAO,SAAS,CAAC;iBAClB;qBAAM;oBACL,OAAO,WAAW,CAAC;iBACpB;aACF;iBAAM;gBACL,IAAI,sBAAsB,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE;oBAClD,OAAO,YAAY,CAAC;iBACrB;qBAAM;oBACL,OAAO,cAAc,CAAC;iBACvB;aACF;SACF;aAAM;YACL,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;KACF;IAGD,eAAe,CAAC,MAAW;;QACzB,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;QAC/B,MAAA,IAAI,CAAC,cAAc,0CAAE,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;KAC5B;IAgCD,oBAAoB;;QAClB,MAAA,IAAI,CAAC,cAAc,0CAAE,OAAO,EAAE,CAAC;KAChC;IAgBD,MAAM;QACJ,MAAM,kBAAkB,GAAG;YACzB,qBAAqB,EAAE,IAAI;YAC3B,SAAS,EAAE,IAAI,CAAC,cAAc;SAC/B,CAAC;QAEF,MAAM,cAAc,GAAG;YACrB,iBAAiB,EAAE,IAAI;YACvB,SAAS,EAAE,IAAI,CAAC,cAAc;SAC/B,CAAC;QAEF,MAAM,eAAe,GAAG;YACtB,kBAAkB,EAAE,IAAI;YACxB,SAAS,EAAE,IAAI,CAAC,cAAc;SAC/B,CAAC;QAEF,QACE,0EAAgB,yCAAyC,gBAAa,IAAI,CAAC,MAAM,EAAE,KAAK,EAAC,oBAAoB,IAC3G,8DAAa,EAEZ,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,aAAa,IAAI,4DAAK,KAAK,EAAE,kBAAkB,IAC7E,6EAAmB,eAAe,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAE,IAAI,CAAC,cAAc,IAClF,iEAAU,IAAI,EAAC,SAAS,GAAY,CAC7B,EACT,4DAAK,KAAK,EAAC,6BAA6B,IACrC,IAAI,CAAC,MAAM,IAAI,4DAAK,KAAK,EAAC,4BAA4B,IAAE,IAAI,CAAC,MAAM,CAAO,EAC3E,4DAAK,KAAK,EAAC,0BAA0B,IAAE,IAAI,CAAC,IAAI,CAAO,CACnD,EACN,4DAAK,KAAK,EAAC,mBAAmB,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,OAAO,EAAC,UAAU,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,IACpH,6DAAM,EAAE,EAAC,WAAW,EAAC,CAAC,EAAC,oBAAoB,EAAC,IAAI,EAAC,SAAS,GAAG,CACzD,CACF,EAEL,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,SAAS;YACvC,4DAAK,KAAK,EAAE,cAAc,IACvB,IAAI,CAAC,IAAI,EACV,4DAAK,KAAK,EAAC,mBAAmB,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,OAAO,EAAC,UAAU,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,IACpH,6DAAM,EAAE,EAAC,WAAW,EAAC,CAAC,EAAC,oBAAoB,EAAC,IAAI,EAAC,SAAS,GAAG,CACzD,CACF,EAEP,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,UAAU;YACxC,4DAAK,KAAK,EAAE,eAAe,IACzB,6DAAM,IAAI,EAAC,MAAM,IACd,IAAI,CAAC,IAAI,GAAG,WAAK,KAAK,EAAC,eAAe,IAAC,gBAAU,IAAI,EAAE,IAAI,CAAC,IAAI,GAAa,CAAM;gBAClF,WAAK,KAAK,EAAC,eAAe,EAAC,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,IAClH,YAAM,MAAM,EAAC,MAAM,oBAAgB,OAAO,qBAAiB,OAAO,EAAC,CAAC,EAAC,kFAAkF,GAAG,EAC1J,YAAM,MAAM,EAAC,MAAM,EAAC,CAAC,EAAC,wEAAwE,GAAG,EACjG,YAAM,IAAI,EAAC,MAAM,EAAC,CAAC,EAAC,8CAA8C,GAAG,CACjE,CAEH,EACP,4DAAK,KAAK,EAAC,0BAA0B,IAClC,IAAI,CAAC,MAAM,IAAI,4DAAK,KAAK,EAAC,yBAAyB,IAAE,IAAI,CAAC,MAAM,CAAO,EACxE,4DAAK,KAAK,EAAC,uBAAuB,IAAE,IAAI,CAAC,IAAI,CAAO,CAChD,EACN,4DAAK,KAAK,EAAC,mBAAmB,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,OAAO,EAAC,UAAU,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,IACpH,6DAAM,EAAE,EAAC,WAAW,EAAC,CAAC,EAAC,oBAAoB,EAAC,IAAI,EAAC,SAAS,GAAG,CACzD,CACD,CAEL,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"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';\nimport { detectFramework } from '../../global/utils/framework-detection';\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 if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-tooltip', framework)\n }\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,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment } from './p-f8e6a4ef.js';
2
- import { d as defineCustomElement$3 } from './p-2c314a58.js';
3
- import { d as defineCustomElement$2 } from './p-db63a8a5.js';
2
+ import { d as defineCustomElement$3 } from './p-6cdb54a6.js';
3
+ import { d as defineCustomElement$2 } from './p-b72cf91c.js';
4
4
 
5
5
  const treeViewItemCss = ".tree-item{position:relative;cursor:pointer;list-style:none}.tree-item.tree-item--expanded{position:relative}.tree-item.tree-item--has-children{position:relative}.tree-item.tree-item--has-children .tree-item__header>.tree-item__chevron-container{display:flex}.tree-item.tree-item--has-children.tree-item--expanded .tree-item__header>.tree-item__chevron-container::after{display:block}.tree-item--disabled{cursor:not-allowed;pointer-events:none;color:#BFBBBB}.tree-item__content{display:flex;flex-direction:row}.tree-item__content:hover .tree-item__checkbox-container,.tree-item__content:hover .tree-item__header{background-color:#F7F7F7}.tree-item__checkbox-container{position:sticky;left:0;z-index:10;padding:4px;background-color:#FFFFFF}.tree-item__header{flex-grow:1;display:flex;align-items:center;white-space:nowrap;height:20px;padding-top:4px;padding-right:16px;padding-bottom:4px;padding-left:8px}.tree-item__chevron-container{display:none;align-items:center;margin-right:8px;height:20px}.tree-item__chevron-container::after{--height-line-start:28px;display:none;content:\"\";position:absolute;z-index:1;top:var(--height-line-start);left:auto;margin-left:8px;width:1px;height:calc(100% - var(--height-line-start));background-color:#EEEDED}.tree-item--disabled .tree-item__chevron-container::after{color:#EEEDED}.tree-item__chevron.chevron-down{transform:rotate(90deg)}.tree-item__chevron.chevron-right{transform:rotate(0)}.tree-item__label-icon-container{display:flex;align-items:center}.tree-item__label-icon-container:focus{outline:none}.tree-item__label-icon-container:focus-visible{outline:2px solid #0A8276;outline-offset:2px;border-radius:1px}.tree-item__icon-container{position:relative;width:16px;height:16px}.tree-item__icon-container ifx-icon{position:absolute;left:0;top:0;opacity:1;transition:opacity 0.2s ease-in-out}.tree-item__icon-container ifx-icon.icon--hidden{opacity:0}.tree-item__label{padding-left:8px}.tree-item__children{display:none}.tree-item[aria-expanded=true]>.tree-item__children{display:block}";
6
6
  const IfxTreeViewItemStyle0 = treeViewItemCss;
@@ -37,14 +37,14 @@ const TreeView = /*@__PURE__*/ proxyCustomElement(class TreeView extends H {
37
37
  handleDisableAllItemsChange(newValue) {
38
38
  this.ifxTreeViewDisableAllChange.emit(newValue);
39
39
  }
40
- componentWillLoad() {
40
+ componentDidLoad() {
41
41
  if (!isNestedInIfxComponent(this.el)) {
42
42
  const framework = detectFramework();
43
43
  trackComponent('ifx-tree-view', framework);
44
44
  }
45
45
  }
46
46
  render() {
47
- return (h("div", { key: 'b772123548cdbaeb1f94cb88bc63df755a413d65', class: `tree-view ${this.disableAllItems ? ' tree-view--disabled' : ''}`, role: "tree", "aria-label": this.ariaLabel }, this.label && this.label.trim() !== '' && h("div", { key: 'daeecd95d3ff4cfe998f5a5af8a75bb81edb6f02', class: "tree-view__label" }, this.label), h("slot", { key: '029a8ff4dffb9c6cfcfbae4e5c02f1fc79f17cec', ref: this.handleSlotRef })));
47
+ return (h("div", { key: 'e4d29cb89c55645d37778ab486af7e2908110e0c', class: `tree-view ${this.disableAllItems ? ' tree-view--disabled' : ''}`, role: "tree", "aria-label": this.ariaLabel }, this.label && this.label.trim() !== '' && h("div", { key: '27e98feeac5cc4bf328a16cbe2b7bff4901c364c', class: "tree-view__label" }, this.label), h("slot", { key: '0ddc9bca33f3b3ea10dc5d76b78583aeb159593a', ref: this.handleSlotRef })));
48
48
  }
49
49
  get el() { return this; }
50
50
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"ifx-tree-view.js","mappings":";;;;AAAA,MAAM,WAAW,GAAG,ySAAyS,CAAC;AAC9T,0BAAe,WAAW;;MCSb,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;KAqBH;IA3CC,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,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACnC,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;YACpC,cAAc,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;SAC3C;KACF;IAED,MAAM;QACJ,QACE,4DACE,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,IAAI,4DAAK,KAAK,EAAC,kBAAkB,IAAE,IAAI,CAAC,KAAK,CAAO,EAC3F,6DAAM,GAAG,EAAE,IAAI,CAAC,aAAa,GAAS,CAClC,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/tree-view/tree-view.scss?tag=ifx-tree-view&encapsulation=shadow","src/components/tree-view/tree-view.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n:host {\n display: block;\n}\n\n.tree-view {\n font-family: var(--ifx-font-family, sans-serif);\n font-size: 14px;\n color: var(--ifx-color-text, #1a1a1a);\n\n display: flex;\n flex-wrap: wrap;\n flex-direction: column;\n overflow-x: auto;\n overflow-y: hidden;\n\n &__label {\n font: tokens.$ifxHeadingHeading06;\n margin-bottom: tokens.$ifxSpace100;\n }\n}\n","import { Component, h, Prop, Event, EventEmitter, Watch, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-tree-view',\n styleUrl: 'tree-view.scss',\n shadow: true,\n})\nexport class TreeView {\n @Element() el: HTMLElement;\n @Prop() label?: string;\n @Prop() disableAllItems: boolean = false;\n @Prop() expandAllItems: boolean = false;\n @Prop() ariaLabel: string | null;\n\n @Event() ifxTreeViewExpandAllChange: EventEmitter<boolean>;\n @Event() ifxTreeViewDisableAllChange: EventEmitter<boolean>;\n\n @Watch('expandAllItems')\n handleExpandAllItemsChange(newValue: boolean) {\n this.ifxTreeViewExpandAllChange.emit(newValue);\n }\n\n @Watch('disableAllItems')\n handleDisableAllItemsChange(newValue: boolean) {\n this.ifxTreeViewDisableAllChange.emit(newValue);\n }\n\n private handleSlotRef = (el: HTMLSlotElement | null) => {\n if (el) {\n if (this.disableAllItems) {\n el.setAttribute('data-disable-all-items', 'true');\n } else {\n el.removeAttribute('data-disable-all-items');\n }\n if (this.expandAllItems) {\n el.setAttribute('data-expand-all-items', 'true');\n } else {\n el.removeAttribute('data-expand-all-items');\n }\n }\n };\n\n componentWillLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-tree-view', framework)\n }\n }\n\n render() {\n return (\n <div\n class={`tree-view ${this.disableAllItems ? ' tree-view--disabled' : ''}`}\n role=\"tree\"\n aria-label={this.ariaLabel}\n >\n {this.label && this.label.trim() !== '' && <div class=\"tree-view__label\">{this.label}</div>}\n <slot ref={this.handleSlotRef}></slot>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ifx-tree-view.js","mappings":";;;;AAAA,MAAM,WAAW,GAAG,ySAAyS,CAAC;AAC9T,0BAAe,WAAW;;MCSb,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;KAqBH;IA3CC,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,gBAAgB;QACd,IAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACnC,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;YACpC,cAAc,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;SAC3C;KACF;IAED,MAAM;QACJ,QACE,4DACE,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,IAAI,4DAAK,KAAK,EAAC,kBAAkB,IAAE,IAAI,CAAC,KAAK,CAAO,EAC3F,6DAAM,GAAG,EAAE,IAAI,CAAC,aAAa,GAAS,CAClC,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/tree-view/tree-view.scss?tag=ifx-tree-view&encapsulation=shadow","src/components/tree-view/tree-view.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n:host {\n display: block;\n}\n\n.tree-view {\n font-family: var(--ifx-font-family, sans-serif);\n font-size: 14px;\n color: var(--ifx-color-text, #1a1a1a);\n\n display: flex;\n flex-wrap: wrap;\n flex-direction: column;\n overflow-x: auto;\n overflow-y: hidden;\n\n &__label {\n font: tokens.$ifxHeadingHeading06;\n margin-bottom: tokens.$ifxSpace100;\n }\n}\n","import { Component, h, Prop, Event, EventEmitter, Watch, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-tree-view',\n styleUrl: 'tree-view.scss',\n shadow: true,\n})\nexport class TreeView {\n @Element() el: HTMLElement;\n @Prop() label?: string;\n @Prop() disableAllItems: boolean = false;\n @Prop() expandAllItems: boolean = false;\n @Prop() ariaLabel: string | null;\n\n @Event() ifxTreeViewExpandAllChange: EventEmitter<boolean>;\n @Event() ifxTreeViewDisableAllChange: EventEmitter<boolean>;\n\n @Watch('expandAllItems')\n handleExpandAllItemsChange(newValue: boolean) {\n this.ifxTreeViewExpandAllChange.emit(newValue);\n }\n\n @Watch('disableAllItems')\n handleDisableAllItemsChange(newValue: boolean) {\n this.ifxTreeViewDisableAllChange.emit(newValue);\n }\n\n private handleSlotRef = (el: HTMLSlotElement | null) => {\n if (el) {\n if (this.disableAllItems) {\n el.setAttribute('data-disable-all-items', 'true');\n } else {\n el.removeAttribute('data-disable-all-items');\n }\n if (this.expandAllItems) {\n el.setAttribute('data-expand-all-items', 'true');\n } else {\n el.removeAttribute('data-expand-all-items');\n }\n }\n };\n\n componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-tree-view', framework)\n }\n }\n\n render() {\n return (\n <div\n class={`tree-view ${this.disableAllItems ? ' tree-view--disabled' : ''}`}\n role=\"tree\"\n aria-label={this.ariaLabel}\n >\n {this.label && this.label.trim() !== '' && <div class=\"tree-view__label\">{this.label}</div>}\n <slot ref={this.handleSlotRef}></slot>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,7 +1,7 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h } from './p-f8e6a4ef.js';
2
2
  import { d as detectFramework, t as trackComponent } from './p-fd1c9465.js';
3
3
  import { i as isNestedInIfxComponent } from './p-1ecafb97.js';
4
- import { d as defineCustomElement$1 } from './p-db63a8a5.js';
4
+ import { d as defineCustomElement$1 } from './p-b72cf91c.js';
5
5
 
6
6
  const textFieldCss = ":root{--ifx-font-family:\"Source Sans 3\", \"Arial, sans-serif\"}:host{display:flex}.textInput__container{display:flex;flex-direction:column;align-items:flex-start;padding:0px;width:100%;flex:none;order:0;align-self:stretch;flex-grow:0;font-family:var(--ifx-font-family)}.textInput__container.disabled .textInput__top-wrapper label{color:#575352}.textInput__container.disabled .textInput__bottom-wrapper input{border:1px solid #575352;background-color:#EEEDED}.textInput__container.disabled .textInput__bottom-wrapper input::placeholder{font-size:0.875rem;color:#575352}.textInput__container .textInput__top-wrapper{display:flex;flex-direction:row;align-items:flex-start;padding:0px;gap:4px;flex:none;order:0;align-self:stretch;flex-grow:0}.textInput__container .textInput__top-wrapper label{font-style:normal;font-weight:400;font-size:1rem;line-height:1.5rem;display:flex;align-items:center;color:#1D1D1D;flex:none;order:0;flex-grow:0}.textInput__container .textInput__top-wrapper label .optional-required{margin-left:4px}.textInput__container .textInput__top-wrapper label .optional{margin-left:4px}.textInput__container .textInput__top-wrapper label .required{margin-left:4px}.textInput__container .textInput__top-wrapper label .required.error{color:#CD002F}.textInput__container .input-container{position:relative;display:flex;align-items:center;width:100%}.textInput__container .textInput__bottom-wrapper{flex-grow:1;position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:0px;gap:4px;flex:none;order:1;align-self:stretch;flex-grow:0}.textInput__container .textInput__bottom-wrapper input{width:100%;box-sizing:border-box;display:flex;flex-direction:row;align-items:center;padding:8px 16px;gap:8px;height:40px;background-color:#FFFFFF;color:#1D1D1D;font-family:var(--ifx-font-family);font-size:1rem;line-height:1.5rem;border:1px solid #8D8786;border-radius:1px;flex:none;order:0;align-self:stretch;flex-grow:0;text-overflow:ellipsis}.textInput__container .textInput__bottom-wrapper input.input-s{height:36px;font-size:0.875rem;line-height:1.25rem}.textInput__container .textInput__bottom-wrapper input.input-s::placeholder{font-size:0.875rem;line-height:1.25rem}.textInput__container .textInput__bottom-wrapper input.icon{padding-left:40px}.textInput__container .textInput__bottom-wrapper input.error{border:1px solid #CD002F}.textInput__container .textInput__bottom-wrapper input.error:focus{outline:none}.textInput__container .textInput__bottom-wrapper input.success{border:1px solid #4CA460}.textInput__container .textInput__bottom-wrapper input.success:focus{outline:none}.textInput__container .textInput__bottom-wrapper input:focus:not(.error,.success){outline:none;border:1px solid #0A8276}.textInput__container .textInput__bottom-wrapper input:hover:not(:disabled,:focus,.error,.success){border:1px solid #575352}.textInput__container .textInput__bottom-wrapper input::placeholder{font-style:normal;font-weight:400;font-size:1rem;line-height:1.5rem;color:#8D8786;flex:none;order:1;flex-grow:1}.textInput__container .textInput__bottom-wrapper .input-icon{position:absolute;top:50%;transform:translateY(-50%);left:16px;transition:0.3s;color:#8D8786}.textInput__container .textInput__bottom-wrapper .textInput__bottom-wrapper-caption{font-style:normal;font-weight:400;font-size:0.75rem;line-height:1rem;letter-spacing:0.2px;color:#1D1D1D;flex:none;order:1;align-self:stretch;flex-grow:0}.textInput__container .textInput__bottom-wrapper .textInput__bottom-wrapper-caption.error{color:#CD002F}.textInput__container .textInput__bottom-wrapper .textInput__bottom-wrapper-caption.disabled{color:#575352}.textInput__container .delete-icon{position:absolute;right:16px}.textInput__container .delete-icon :hover{cursor:pointer}";
7
7
  const IfxTextFieldStyle0 = textFieldCss;
@@ -56,19 +56,21 @@ const TextField = /*@__PURE__*/ proxyCustomElement(class TextField extends H {
56
56
  this.internals.setFormValue("");
57
57
  }
58
58
  componentWillLoad() {
59
+ this.handleTypeProp();
60
+ }
61
+ componentDidLoad() {
59
62
  if (!isNestedInIfxComponent(this.el)) {
60
63
  const framework = detectFramework();
61
64
  trackComponent('ifx-text-field', framework);
62
65
  }
63
- this.handleTypeProp();
64
66
  }
65
67
  render() {
66
- return (h("div", { key: '21151d737a91ff22b989db308da0e61660a36b45', "aria-label": "a text field for user input", "aria-value": this.value, "aria-disabled": this.disabled, class: `textInput__container ${this.disabled ? 'disabled' : ""}` }, h("div", { key: 'f7344422e6e242335955313810090034b2a2fca3', class: "textInput__top-wrapper" }, h("label", { key: '10666f37b96b09057740b2672bb84faa8111ef6b', htmlFor: this.internalId }, h("slot", { key: 'c0b5335bcef3faaf59be3a7f3335579b4e912046' }), this.optional && this.required ? (h("span", { class: "optional-required" }, "(optional) *")) : this.optional ? (h("span", { class: "optional" }, "(optional)")) : this.required ? (h("span", { class: `required ${this.error ? 'error' : ""}` }, "*")) : null)), h("div", { key: 'ce1a93f45efae7b97b82760603ee12db0145039d', class: "textInput__bottom-wrapper" }, h("div", { key: 'd4a783a646a18ff4bf285503e8814bec4380f167', class: "input-container" }, this.icon && (h("ifx-icon", { key: '57d065166763bdc54ffd1ea0ac8866de43543b6a', class: 'input-icon', icon: this.icon })), h("input", { key: 'de16ad0dbc0b55b1b129cc933c801ae1eaf23d3d', ref: (el) => (this.inputElement = el), disabled: this.disabled, autocomplete: this.autocomplete, type: this.internalType, id: this.internalId, value: this.value, onInput: () => this.handleInput(), placeholder: this.placeholder, maxlength: this.maxlength, class: `${this.icon ? 'icon' : ""}
68
+ return (h("div", { key: '36f19fba5de51711f38795f4e6e892c86709ad48', "aria-label": "a text field for user input", "aria-value": this.value, "aria-disabled": this.disabled, class: `textInput__container ${this.disabled ? 'disabled' : ""}` }, h("div", { key: 'c9ff13b6d623a60b65dd80851a20d896a2010ce9', class: "textInput__top-wrapper" }, h("label", { key: '874bcf2f37b7a18558ee1a9c1aa44496fd3a7ccf', htmlFor: this.internalId }, h("slot", { key: '4967dbf87020c021b4319f5b307c9aaa94af764b' }), this.optional && this.required ? (h("span", { class: "optional-required" }, "(optional) *")) : this.optional ? (h("span", { class: "optional" }, "(optional)")) : this.required ? (h("span", { class: `required ${this.error ? 'error' : ""}` }, "*")) : null)), h("div", { key: '780ea52e8b7b077ec63a73148a210b2c05a7df43', class: "textInput__bottom-wrapper" }, h("div", { key: 'c1bde3387f015c64d24ad926e4bca9a9a6698329', class: "input-container" }, this.icon && (h("ifx-icon", { key: '93fca6943ed20ef2a0313c84e53745c2120f35d0', class: 'input-icon', icon: this.icon })), h("input", { key: '33429c18b81a9426d8b6e021cd4d11ddeed8a0a5', ref: (el) => (this.inputElement = el), disabled: this.disabled, autocomplete: this.autocomplete, type: this.internalType, id: this.internalId, value: this.value, onInput: () => this.handleInput(), placeholder: this.placeholder, maxlength: this.maxlength, class: `${this.icon ? 'icon' : ""}
67
69
  ${this.error ? 'error' : ""}
68
70
  ${this.size === "s" ? "input-s" : ""}
69
- ${this.success ? "success" : ""}` }), (this.showDeleteIcon && this.value) && (h("ifx-icon", { key: 'b21c3ff10ebcdb1feca9fd1f02b3a09f50727d99', class: "delete-icon", icon: "cRemove16", onClick: () => this.handleDeleteContent() }))), this.caption && !this.error &&
70
- h("div", { key: '44d7d1c60b268fc2c71514e21544f702fc6ec2b6', class: `textInput__bottom-wrapper-caption ${this.disabled} ? disabled : ""` }, this.caption), this.error &&
71
- h("div", { key: 'a09e9cd9ec401ead9e9fde5b3ef113c87125a58b', class: "textInput__bottom-wrapper-caption error" }, this.caption))));
71
+ ${this.success ? "success" : ""}` }), (this.showDeleteIcon && this.value) && (h("ifx-icon", { key: '5302bc6291e6dcad0db37ae0d7620b651f97ff84', class: "delete-icon", icon: "cRemove16", onClick: () => this.handleDeleteContent() }))), this.caption && !this.error &&
72
+ h("div", { key: '3e55f112adf577a185f0c5b3adbd664012f2d4e6', class: `textInput__bottom-wrapper-caption ${this.disabled} ? disabled : ""` }, this.caption), this.error &&
73
+ h("div", { key: '920366fa16b635a7b8d48c8c35314dce02351f44', class: "textInput__bottom-wrapper-caption error" }, this.caption))));
72
74
  }
73
75
  static get formAssociated() { return true; }
74
76
  get el() { return this; }
@@ -119,4 +121,4 @@ function defineCustomElement() {
119
121
 
120
122
  export { TextField as T, defineCustomElement as d };
121
123
 
122
- //# sourceMappingURL=p-136cf421.js.map
124
+ //# sourceMappingURL=p-02d51cb4.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-02d51cb4.js","mappings":";;;;;AAAA,MAAM,YAAY,GAAG,8qHAA8qH,CAAC;AACpsH,2BAAe,YAAY;;MCWd,SAAS;IAPtB;;;;;;QAUU,gBAAW,GAAW,aAAa,CAAA;QAClB,UAAK,GAAW,EAAE,CAAC;QACpC,UAAK,GAAY,KAAK,CAAC;QACvB,UAAK,GAAW,EAAE,CAAC;QACnB,SAAI,GAAW,EAAE,CAAC;QAClB,YAAO,GAAW,EAAE,CAAC;QACrB,SAAI,GAAW,GAAG,CAAC;QACnB,aAAQ,GAAY,KAAK,CAAC;QAC1B,aAAQ,GAAY,KAAK,CAAC;QAC1B,YAAO,GAAY,KAAK,CAAC;QACzB,aAAQ,GAAY,KAAK,CAAC;QAE1B,mBAAc,GAAY,KAAK,CAAC;QAChC,iBAAY,GAAW,IAAI,CAAA;QAC3B,SAAI,GAAwB,MAAM,CAAC;QACnC,eAAU,GAAW,YAAY,CAAA;KA2G1C;IAjGC,YAAY,CAAC,QAAgB;QAC3B,IAAI,QAAQ,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;YACxC,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC;SACpC;KACF;IAGD,MAAM,KAAK;QACT,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,EAAE,CAAC;KAC9B;IAED,mBAAmB;QACjB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;IAED,WAAW;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;IAED,cAAc;QACb,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAA;KACzF;IAED,iBAAiB;QACf,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;KACjC;IAED,iBAAiB;QACf,IAAI,CAAC,cAAc,EAAE,CAAA;KACtB;IAED,gBAAgB;QACd,IAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACnC,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;YACpC,cAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAA;SAC5C;KACF;IAED,MAAM;QACJ,QACE,0EAAgB,6BAA6B,gBAAa,IAAI,CAAC,KAAK,mBAAiB,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,wBAAwB,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE,EAAE,IAClK,4DAAK,KAAK,EAAC,wBAAwB,IACjC,8DAAO,OAAO,EAAE,IAAI,CAAC,UAAU,IAC7B,8DAAa,EACZ,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAC7B,YAAM,KAAK,EAAC,mBAAmB,mBAAoB,IACjD,IAAI,CAAC,QAAQ,IACf,YAAM,KAAK,EAAC,UAAU,iBAAkB,IACtC,IAAI,CAAC,QAAQ,IACf,YAAM,KAAK,EAAE,YAAY,IAAI,CAAC,KAAK,GAAG,OAAO,GAAG,EAAE,EAAE,QAAU,IAC5D,IAAI,CACF,CACJ,EAEN,4DAAK,KAAK,EAAC,2BAA2B,IACpC,4DAAK,KAAK,EAAC,iBAAiB,IACzB,IAAI,CAAC,IAAI,KACR,iEAAU,KAAK,EAAC,YAAY,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,CACjD,EACD,8DACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,EACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,IAAI,EAAE,IAAI,CAAC,YAAY,EACvB,EAAE,EAAE,IAAI,CAAC,UAAU,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,EACjC,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,KAAK,EACH,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,EAAE;kBACxB,IAAI,CAAC,KAAK,GAAG,OAAO,GAAG,EAAE;gBAC3B,IAAI,CAAC,IAAI,KAAK,GAAG,GAAG,SAAS,GAAG,EAAE;gBAClC,IAAI,CAAC,OAAO,GAAG,SAAS,GAAG,EAAE,EAAE,GAAI,EAEnC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,MAClC,iEAAU,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,WAAW,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,mBAAmB,EAAE,GAAa,CACtG,CACC,EACL,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK;YAC1B,4DAAK,KAAK,EAAE,qCAAqC,IAAI,CAAC,QAAQ,kBAAkB,IAC7E,IAAI,CAAC,OAAO,CACT,EACP,IAAI,CAAC,KAAK;YACT,4DAAK,KAAK,EAAC,yCAAyC,IACjD,IAAI,CAAC,OAAO,CACT,CACJ,CACF,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/text-field/text-field.scss?tag=ifx-text-field&encapsulation=shadow","src/components/text-field/text-field.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: flex;\n}\n\n.textInput__container {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 0px;\n width: 100%;\n flex: none;\n order: 0;\n align-self: stretch;\n flex-grow: 0;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n\n &.disabled {\n & .textInput__top-wrapper {\n & label {\n color: tokens.$ifxColorEngineering500;\n }\n }\n\n & .textInput__bottom-wrapper {\n input {\n border: 1px solid tokens.$ifxColorEngineering500;\n background-color: tokens.$ifxColorEngineering200;\n\n &::placeholder {\n font-size: tokens.$ifxFontSizeS;\n color: tokens.$ifxColorEngineering500;\n }\n }\n }\n }\n\n & .textInput__top-wrapper {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 0px;\n gap: 4px;\n flex: none;\n order: 0;\n align-self: stretch;\n flex-grow: 0;\n\n & label {\n font-style: normal;\n font-weight: 400;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n display: flex;\n align-items: center;\n color: tokens.$ifxColorBaseBlack;\n flex: none;\n order: 0;\n flex-grow: 0;\n\n & .optional-required {\n margin-left: 4px;\n }\n\n & .optional {\n margin-left: 4px;\n }\n\n & .required {\n margin-left: 4px;\n \n &.error {\n color: #CD002F;\n }\n }\n }\n }\n\n .input-container {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n }\n\n\n & .textInput__bottom-wrapper {\n flex-grow: 1;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 0px;\n gap: 4px;\n flex: none;\n order: 1;\n align-self: stretch;\n flex-grow: 0;\n\n & input {\n width: 100%;\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: tokens.$ifxSpace100 tokens.$ifxSpace200;\n gap: tokens.$ifxSpace100;\n height: tokens.$ifxSize500;\n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorBaseBlack;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n border: 1px solid tokens.$ifxColorEngineering400;\n border-radius: tokens.$ifxBorderRadius12;\n flex: none;\n order: 0;\n align-self: stretch;\n flex-grow: 0;\n text-overflow: ellipsis;\n\n &.input-s {\n height: tokens.$ifxSize450;\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n\n &::placeholder {\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n }\n\n }\n\n &.icon {\n padding-left: tokens.$ifxSpace500;\n }\n\n &.error {\n border: 1px solid #CD002F;\n\n &:focus {\n outline: none;\n }\n }\n\n &.success {\n border: 1px solid #4CA460;\n\n &:focus {\n outline: none;\n }\n }\n\n\n &:focus:not(.error, .success) {\n outline: none;\n border: 1px solid tokens.$ifxColorOcean500;\n }\n\n &:hover:not(:disabled, :focus, .error, .success) {\n border: 1px solid tokens.$ifxColorEngineering500;\n }\n\n &::placeholder {\n font-style: normal;\n font-weight: 400;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n color: #8D8786;\n flex: none;\n order: 1;\n flex-grow: 1;\n }\n }\n\n & .input-icon {\n // Position the icon within the icon container\n // Adjust the positioning as needed\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: tokens.$ifxSpace200;\n /* Adjust this value to control the icon's left offset */\n transition: .3s;\n color: tokens.$ifxColorEngineering400;\n }\n\n & .textInput__bottom-wrapper-caption {\n font-style: normal;\n font-weight: 400;\n font-size: tokens.$ifxFontSizeXs;\n line-height: tokens.$ifxLineHeightXs;\n letter-spacing: 0.2px;\n color: tokens.$ifxColorBaseBlack;\n flex: none;\n order: 1;\n align-self: stretch;\n flex-grow: 0;\n\n &.error {\n color: #CD002F;\n\n }\n\n &.disabled {\n color: tokens.$ifxColorEngineering500;\n }\n }\n\n \n }\n .delete-icon {\n position: absolute;\n right: tokens.$ifxSpace200;\n\n :hover {\n cursor: pointer;\n }\n }\n}","import { Component, h, Event, Element, Prop, EventEmitter, Watch, Method, AttachInternals, State } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-text-field',\n styleUrl: 'text-field.scss',\n shadow: true,\n formAssociated: true\n})\n\nexport class TextField {\n private inputElement: HTMLInputElement;\n @Element() el;\n @Prop() placeholder: string = \"Placeholder\"\n @Prop({ mutable: true }) value: string = '';\n @Prop() error: boolean = false;\n @Prop() label: string = \"\";\n @Prop() icon: string = \"\";\n @Prop() caption: string = \"\";\n @Prop() size: string = 'm';\n @Prop() required: boolean = false;\n @Prop() optional: boolean = false;\n @Prop() success: boolean = false;\n @Prop() disabled: boolean = false;\n @Prop() maxlength?: number;\n @Prop() showDeleteIcon: boolean = false;\n @Prop() autocomplete: string = 'on'\n @Prop() type: 'text' | 'password' = 'text';\n @Prop() internalId: string = \"text-field\"\n @State() internalType: string;\n @Event() ifxInput: EventEmitter<String>;\n // @Prop({ reflect: true })\n // resetOnSubmit: boolean = false;\n\n @AttachInternals() internals: ElementInternals;\n\n\n @Watch('value')\n valueWatcher(newValue: string) {\n if (newValue !== this.inputElement.value) {\n this.inputElement.value = newValue;\n }\n }\n\n @Method()\n async reset() {\n this.value = '';\n this.inputElement.value = '';\n }\n\n handleDeleteContent() {\n this.reset();\n this.ifxInput.emit(this.value);\n }\n\n handleInput() {\n const query = this.inputElement.value;\n this.value = query; // update the value property when input changes\n this.internals.setFormValue(query) // update form value\n this.ifxInput.emit(this.value);\n }\n\n handleTypeProp() { \n this.internalType = this.type === 'text' || this.type === 'password' ? this.type : 'text'\n }\n\n formResetCallback() {\n this.internals.setValidity({});\n this.internals.setFormValue(\"\");\n }\n\n componentWillLoad() { \n this.handleTypeProp()\n }\n\n componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-text-field', framework)\n }\n }\n\n render() {\n return (\n <div aria-label=\"a text field for user input\" aria-value={this.value} aria-disabled={this.disabled} class={`textInput__container ${this.disabled ? 'disabled' : \"\"}`}>\n <div class=\"textInput__top-wrapper\">\n <label htmlFor={this.internalId}>\n <slot></slot>\n {this.optional && this.required ? (\n <span class=\"optional-required\">(optional) *</span>\n ) : this.optional ? (\n <span class=\"optional\">(optional)</span>\n ) : this.required ? (\n <span class={`required ${this.error ? 'error' : \"\"}`}>*</span>\n ) : null}\n </label>\n </div>\n\n <div class=\"textInput__bottom-wrapper\">\n <div class=\"input-container\">\n {this.icon && (\n <ifx-icon class='input-icon' icon={this.icon} />\n )}\n <input\n ref={(el) => (this.inputElement = el)}\n disabled={this.disabled}\n autocomplete={this.autocomplete}\n type={this.internalType}\n id={this.internalId}\n value={this.value}\n onInput={() => this.handleInput()}\n placeholder={this.placeholder}\n maxlength={this.maxlength}\n class={\n `${this.icon ? 'icon' : \"\"}\n ${this.error ? 'error' : \"\"} \n ${this.size === \"s\" ? \"input-s\" : \"\"}\n ${this.success ? \"success\" : \"\"}`} />\n\n { (this.showDeleteIcon && this.value) && (\n <ifx-icon class=\"delete-icon\" icon=\"cRemove16\" onClick={() => this.handleDeleteContent()}></ifx-icon> \n )}\n </div>\n {this.caption && !this.error &&\n <div class={`textInput__bottom-wrapper-caption ${this.disabled} ? disabled : \"\"`}>\n {this.caption}\n </div>}\n {this.error &&\n <div class=\"textInput__bottom-wrapper-caption error\">\n {this.caption}\n </div>}\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -19,10 +19,6 @@ const RadioButton = /*@__PURE__*/ proxyCustomElement(class RadioButton extends H
19
19
  this.hasSlot = false;
20
20
  }
21
21
  componentWillLoad() {
22
- if (!isNestedInIfxComponent(this.el)) {
23
- const framework = detectFramework();
24
- trackComponent('ifx-radio-button', framework);
25
- }
26
22
  // Fallback for form association
27
23
  this.fallbackInput = document.createElement('input');
28
24
  this.fallbackInput.type = 'radio';
@@ -52,6 +48,12 @@ const RadioButton = /*@__PURE__*/ proxyCustomElement(class RadioButton extends H
52
48
  this.internalChecked = this.checked || false;
53
49
  this.hasSlot = !!this.el.querySelector('[slot]') || this.el.innerHTML.trim() !== '';
54
50
  }
51
+ componentDidLoad() {
52
+ if (!isNestedInIfxComponent(this.el)) {
53
+ const framework = detectFramework();
54
+ trackComponent('ifx-radio-button', framework);
55
+ }
56
+ }
55
57
  handleCheckedChange(newValue) {
56
58
  this.internalChecked = newValue;
57
59
  }
@@ -102,10 +104,10 @@ const RadioButton = /*@__PURE__*/ proxyCustomElement(class RadioButton extends H
102
104
  }
103
105
  }
104
106
  render() {
105
- return (h("div", { key: 'fd24cefee24acfa95408fa678c392f8ffe2e8d31', role: "radio", "aria-checked": String(this.internalChecked), "aria-disabled": String(this.disabled), class: `radioButton__container ${this.size} ${this.disabled ? 'disabled' : ''}`, onClick: (e) => this.handleRadioButtonClick(e), tabindex: this.disabled ? -1 : 0 }, h("div", { key: 'b772b58995ba09ee27c452156b999d3f38d16308', class: `radioButton__wrapper
107
+ return (h("div", { key: '6820a31dcfcdee4ae332fcc67b31b99c09d0d95e', role: "radio", "aria-checked": String(this.internalChecked), "aria-disabled": String(this.disabled), class: `radioButton__container ${this.size} ${this.disabled ? 'disabled' : ''}`, onClick: (e) => this.handleRadioButtonClick(e), tabindex: this.disabled ? -1 : 0 }, h("div", { key: 'ff8f081ab3cf365f5d193198c4cf4b59687bc4e1', class: `radioButton__wrapper
106
108
  ${this.internalChecked ? 'checked' : ''}
107
109
  ${this.disabled ? 'disabled' : ''}
108
- ${this.error ? 'error' : ''}` }, this.internalChecked && h("div", { key: 'b61958654a910ee90f030948c8771c50f287a62a', class: "radioButton__wrapper-mark" })), this.hasSlot && (h("div", { key: 'ced2361cf68a493412cc867294d25823269d1426', class: `label ${this.size === "m" ? "label-m" : ""} ${this.disabled ? 'disabled' : ''}` }, h("slot", { key: 'd99922c668e8ec29e81824c486988c18ae294fee' }))), h("input", { key: '9f2defbbf33ad4a4a71497426332d91ae0d90cf9', type: "radio", hidden: true, ref: el => this.inputElement = el, name: this.name, value: this.value, checked: this.internalChecked, disabled: this.disabled, onClick: (e) => e.stopPropagation() })));
110
+ ${this.error ? 'error' : ''}` }, this.internalChecked && h("div", { key: 'b78654a5a798ab13045ec4e8028c88ac2156be33', class: "radioButton__wrapper-mark" })), this.hasSlot && (h("div", { key: '823e4beb13c85adf100abd9d1cef54469609a404', class: `label ${this.size === "m" ? "label-m" : ""} ${this.disabled ? 'disabled' : ''}` }, h("slot", { key: '7792803c43ace6002f603dc410a731d78cdd6cfa' }))), h("input", { key: '514758f188c0c243c22d825e1ed9333344eb615a', type: "radio", hidden: true, ref: el => this.inputElement = el, name: this.name, value: this.value, checked: this.internalChecked, disabled: this.disabled, onClick: (e) => e.stopPropagation() })));
109
111
  }
110
112
  static get formAssociated() { return true; }
111
113
  get el() { return this; }
@@ -145,4 +147,4 @@ function defineCustomElement() {
145
147
 
146
148
  export { RadioButton as R, defineCustomElement as d };
147
149
 
148
- //# sourceMappingURL=p-540745fa.js.map
150
+ //# sourceMappingURL=p-5e160859.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-5e160859.js","mappings":"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","names":["HTMLElement"],"sources":["src/components/radio-button/radio-button.scss?tag=ifx-radio-button&encapsulation=shadow","src/components/radio-button/radio-button.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n --_ifx-fallback-display: none !important;\n}\n\n._ifx-radiobutton-fallback {\n display: var(--_ifx-fallback-display);\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0,0,0,0) !important;\n border: 0 !important;\n }\n\n.radioButton__container {\n box-sizing: border-box;\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n padding: 0px;\n gap: tokens.$ifxSpace100;\n cursor: pointer;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n &.m .radioButton__wrapper {\n width: tokens.$ifxSize300;\n height: tokens.$ifxSize300;\n }\n\n .radioButton__wrapper {\n width: tokens.$ifxSize250;\n height: tokens.$ifxSize250;\n position: relative;\n display: block;\n border-radius: 50%;\n background-color: tokens.$ifxColorBaseWhite;\n border: 1px solid #575352;\n\n &:focus {\n outline: none;\n\n &::before {\n content: '';\n position: absolute;\n width: calc(100% + 4px);\n height: calc(100% + 4px);\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n border: 2px solid tokens.$ifxColorOcean500;\n border-radius: 50%;\n }\n }\n\n .radioButton__wrapper-mark {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #0A8276;\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n border-color: tokens.$ifxColorBaseTransparent;\n }\n\n &:hover {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &.disabled {\n background-color: #BFBBBB;\n border-color: #BFBBBB;\n\n &.error {\n\n &:hover,\n &:focus-visible {\n border-color: #CD002F;\n }\n }\n }\n\n &.checked {\n border-color: #0A8276;\n\n &::after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 10px;\n height: 10px;\n background-color: #0A8276;\n border-radius: 50%;\n }\n\n &.disabled::after {\n background-color: #BFBBBB;\n }\n\n\n &:hover {\n border-color: tokens.$ifxColorOcean600;\n\n & .radioButton__wrapper-mark {\n background-color: tokens.$ifxColorOcean600;\n }\n }\n\n &.disabled {\n background-color: tokens.$ifxColorBaseWhite;\n border-color: #BFBBBB;\n\n &.disabled::after {\n background-color: #BFBBBB;\n }\n\n & .radioButton__wrapper-mark {\n background-color: #BFBBBB;\n }\n }\n &.error::after {\n border-color: #CD002F;\n background-color: #CD002F;\n }\n }\n\n &.error:not(.disabled) {\n border-color: #CD002F;\n\n &:hover,\n &:focus-visible {\n border-color: #CD002F;\n }\n }\n }\n\n .label {\n display: flex;\n align-items: center;\n height: tokens.$ifxSize250;\n font-style: normal;\n font-weight: 400;\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n color: tokens.$ifxColorBaseBlack;\n flex: none;\n order: 1;\n flex-grow: 0;\n\n &.label-m {\n height: tokens.$ifxSize300;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n }\n\n &.disabled {\n color: #BFBBBB;\n }\n\n\n\n &:hover {\n cursor: pointer;\n }\n }\n}\n\n","import { Component, h, Prop, Element, State, Event, EventEmitter, Listen, Watch } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-radio-button',\n styleUrl: 'radio-button.scss',\n shadow: true,\n formAssociated: true\n})\nexport class RadioButton {\n @Element() el: HTMLElement;\n @Prop() disabled: boolean = false;\n @Prop() value: string;\n @Prop() error: boolean = false;\n @Prop({ reflect: true }) size: \"s\" | \"m\" = \"s\";\n @Prop({ reflect: true }) name: string;\n @Prop({ mutable: true }) checked: boolean;\n @State() internalChecked: boolean = false;\n @State() hasSlot: boolean = false;\n\n private inputElement: HTMLInputElement;\n private internals: ElementInternals;\n private fallbackInput: HTMLInputElement;\n\n @Event({ eventName: 'ifxChange' }) ifxChange: EventEmitter;\n @Event({ eventName: 'ifxError' }) ifxError: EventEmitter;\n\n componentWillLoad() {\n // Fallback for form association\n this.fallbackInput = document.createElement('input');\n this.fallbackInput.type = 'radio';\n this.fallbackInput.hidden = true;\n this.fallbackInput.className = '_ifx-radiobutton-fallback';\n this.fallbackInput.style.cssText = `\n display: none !important;\n position: absolute !important;\n opacity: 0 !important;\n pointer-events: none !important;\n width: 0 !important;\n height: 0 !important;\n `;\n this.fallbackInput.setAttribute('aria-hidden', 'true');\n this.fallbackInput.tabIndex = -1;\n this.el.appendChild(this.fallbackInput);\n\n // Initialize ElementInternals if supported\n if ('attachInternals' in HTMLElement.prototype) {\n try {\n this.internals = this.el.attachInternals();\n } catch (e) {\n console.warn('ElementInternals not supported');\n }\n }\n\n // Initial state\n this.internalChecked = this.checked || false;\n this.hasSlot = !!this.el.querySelector('[slot]') || this.el.innerHTML.trim() !== '';\n }\n\n componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-radio-button', framework)\n }\n }\n\n @Watch('checked')\n handleCheckedChange(newValue: boolean) {\n this.internalChecked = newValue;\n }\n\n @Watch('internalChecked')\n updateFormValue() {\n // Update both ElementInternals and fallback input\n if (this.internals?.setFormValue) {\n this.internals.setFormValue(this.internalChecked ? this.value : null);\n }\n this.fallbackInput.checked = this.internalChecked;\n this.fallbackInput.name = this.name;\n this.fallbackInput.value = this.value;\n this.fallbackInput.disabled = this.disabled;\n }\n\n @Watch('error')\n errorChanged(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue) {\n this.ifxError.emit(newValue);\n }\n }\n\n handleRadioButtonClick(event: Event) {\n if (this.disabled) {\n event.stopPropagation();\n return;\n }\n\n this.inputElement.click();\n this.internalChecked = this.inputElement.checked;\n this.checked = this.internalChecked;\n this.ifxChange.emit(this.internalChecked);\n\n const changeEvent = new CustomEvent('change', {\n bubbles: true,\n composed: true,\n detail: { checked: this.internalChecked }\n });\n this.el.dispatchEvent(changeEvent);\n }\n\n @Listen('keydown')\n handleKeyDown(ev: KeyboardEvent) {\n if ([' ', 'Enter'].includes(ev.key)) {\n ev.preventDefault();\n this.handleRadioButtonClick(new PointerEvent('click'));\n }\n }\n\n @Listen('change', { target: 'document' })\n handleExternalChange(event: Event) {\n const target = event.target as HTMLElement;\n if (target === this.el || target.tagName.toLowerCase() !== 'ifx-radio-button') return;\n \n if (target.getAttribute('name') === this.name) {\n this.internalChecked = false;\n }\n }\n\n render() {\n return (\n <div\n role=\"radio\"\n aria-checked={String(this.internalChecked)}\n aria-disabled={String(this.disabled)}\n class={`radioButton__container ${this.size} ${this.disabled ? 'disabled' : ''}`}\n onClick={(e) => this.handleRadioButtonClick(e)}\n tabindex={this.disabled ? -1 : 0}\n >\n <div\n class={`radioButton__wrapper \n ${this.internalChecked ? 'checked' : ''} \n ${this.disabled ? 'disabled' : ''} \n ${this.error ? 'error' : ''}`}\n >\n {this.internalChecked && <div class=\"radioButton__wrapper-mark\"></div>}\n </div>\n\n {this.hasSlot && (\n <div class={`label ${this.size === \"m\" ? \"label-m\" : \"\"} ${this.disabled ? 'disabled' : ''}`}>\n <slot />\n </div>\n )}\n\n <input\n type=\"radio\"\n hidden\n ref={el => this.inputElement = el}\n name={this.name}\n value={this.value}\n checked={this.internalChecked}\n disabled={this.disabled}\n onClick={(e) => e.stopPropagation()}\n />\n </div>\n );\n }\n}"],"version":3}
@@ -19,6 +19,8 @@ const Indicator = /*@__PURE__*/ proxyCustomElement(class Indicator extends H {
19
19
  }
20
20
  componentWillLoad() {
21
21
  this.handleNumber();
22
+ }
23
+ componentDidLoad() {
22
24
  if (!isNestedInIfxComponent(this.el)) {
23
25
  const framework = detectFramework();
24
26
  trackComponent('ifx-indicator', framework);
@@ -28,8 +30,8 @@ const Indicator = /*@__PURE__*/ proxyCustomElement(class Indicator extends H {
28
30
  this.handleNumber();
29
31
  }
30
32
  render() {
31
- return (h("div", { key: 'ba1896b6c337c3aa31108c4177254eec3146166c', "aria-label": this.ariaLabel, class: 'indicator__container' }, this.variant === 'number' &&
32
- h("div", { key: '237541cb1dc4039587eea4fc62e98fb12d60cbbb', class: `number__container ${this.inverted ? 'inverted' : ""}` }, h("div", { key: '7cb63c9b7ac4cf81bb4f2584696a02c7615e3884', class: "number__wrapper" }, this.filteredNumber)), this.variant === 'dot' && h("div", { key: '7abfdc1a4a21f3d475baaf0c7d3d4f7546517303', class: "dot__wrapper" })));
33
+ return (h("div", { key: 'b84bdef7b1d306b5f80525441155a92d6df8f257', "aria-label": this.ariaLabel, class: 'indicator__container' }, this.variant === 'number' &&
34
+ h("div", { key: 'd7176eb85e4ad329e4a205524d1db171db5411b5', class: `number__container ${this.inverted ? 'inverted' : ""}` }, h("div", { key: '57d0058b768f16f552a5acc6afdb52c28f0276e9', class: "number__wrapper" }, this.filteredNumber)), this.variant === 'dot' && h("div", { key: '01e2ecae3feac842c2e635ddd4821bd10f796680', class: "dot__wrapper" })));
33
35
  }
34
36
  get el() { return this; }
35
37
  static get style() { return IfxIndicatorStyle0; }
@@ -56,4 +58,4 @@ function defineCustomElement() {
56
58
 
57
59
  export { Indicator as I, defineCustomElement as d };
58
60
 
59
- //# sourceMappingURL=p-2770c8cc.js.map
61
+ //# sourceMappingURL=p-6234a7c7.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-6234a7c7.js","mappings":";;;;AAAA,MAAM,YAAY,GAAG,ywBAAywB,CAAC;AAC/xB,2BAAe,YAAY;;MCSd,SAAS;IALtB;;;;QAQU,aAAQ,GAAY,KAAK,CAAC;QAE1B,YAAO,GAAW,QAAQ,CAAA;QAC1B,WAAM,GAAW,CAAC,CAAC;KAkC5B;IAhCC,YAAY;QACV,IAAI,CAAC,cAAc,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;KACrF;IAED,iBAAiB;QACf,IAAI,CAAC,YAAY,EAAE,CAAA;KACpB;IAED,gBAAgB;QACd,IAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACnC,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;YACpC,cAAc,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;SAC3C;KACF;IAED,mBAAmB;QACjB,IAAI,CAAC,YAAY,EAAE,CAAA;KACpB;IAED,MAAM;QACJ,QACE,0EAAiB,IAAI,CAAC,SAAS,EAAE,KAAK,EAAC,sBAAsB,IAC3D,IAAI,CAAC,OAAO,KAAK,QAAQ;YAC1B,4DAAK,KAAK,EAAE,qBAAqB,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE,EAAE,IAC/D,4DAAK,KAAK,EAAC,iBAAiB,IACzB,IAAI,CAAC,cAAc,CAChB,CACH,EACL,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,4DAAK,KAAK,EAAC,cAAc,GAAO,CACtD,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/indicator/indicator.scss?tag=ifx-indicator&encapsulation=shadow","src/components/indicator/indicator.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n}\n\n.indicator__container { \n & .dot__wrapper { \n display: flex;\n width: 8px;\n height: 8px;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n border-radius: 50%;\n background-color: tokens.$ifxColorOcean500;\n }\n\n & .number__container {\n height: 16px;\n display: inline-flex;\n padding: 0; \n min-width: 16px; \n justify-content: center;\n align-items: center;\n border-radius: 100px;\n background-color: tokens.$ifxColorOcean500;\n\n & .number__wrapper {\n padding: 0 4px;\n color: tokens.$ifxColorBaseWhite;\n text-align: center;\n font-size: tokens.$ifxFontSizeS;\n font-style: normal;\n font-weight: tokens.$ifxFontWeightSemibold;\n line-height: 16px;\n }\n\n &.inverted {\n background-color: tokens.$ifxColorBaseWhite;\n\n & .number__wrapper {\n color: tokens.$ifxColorOcean500;\n }\n }\n }\n}\n\n\n","import { Component, h, Prop, Element, State } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-indicator',\n styleUrl: 'indicator.scss',\n shadow: true\n})\nexport class Indicator {\n @Element() el;\n @State() filteredNumber: string | number;\n @Prop() inverted: boolean = false;\n @Prop() ariaLabel: string | null;\n @Prop() variant: string = 'number'\n @Prop() number: number = 0;\n\n handleNumber() {\n this.filteredNumber = !isNaN(this.number) && this.number > 99 ? '99+' : this.number;\n }\n\n componentWillLoad() { \n this.handleNumber()\n }\n\n componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-indicator', framework)\n }\n }\n\n componentWillUpdate() {\n this.handleNumber()\n }\n\n render() {\n return (\n <div aria-label={this.ariaLabel} class='indicator__container'>\n {this.variant === 'number' && \n <div class={`number__container ${this.inverted ? 'inverted' : \"\"}`}>\n <div class=\"number__wrapper\">\n {this.filteredNumber}\n </div> \n </div>}\n {this.variant === 'dot' && <div class=\"dot__wrapper\"></div>}\n </div>\n );\n }\n}"],"version":3}
@@ -1,7 +1,7 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h } from './p-f8e6a4ef.js';
2
2
  import { d as detectFramework, t as trackComponent } from './p-fd1c9465.js';
3
3
  import { i as isNestedInIfxComponent } from './p-1ecafb97.js';
4
- import { d as defineCustomElement$1 } from './p-db63a8a5.js';
4
+ import { d as defineCustomElement$1 } from './p-b72cf91c.js';
5
5
 
6
6
  const checkboxCss = ":host{display:inline-flex;vertical-align:top}.checkbox__container{box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:top;padding:0px;gap:8px;font-family:\"Source Sans 3\";vertical-align:bottom}.checkbox__container .checkbox__wrapper{box-sizing:border-box;display:flex;position:relative;justify-content:center;align-items:center;width:20px;height:20px;background-color:#FFFFFF;border:1px solid #575352;border-radius:1px;flex:none;order:0;flex-grow:0;align-self:flex-start}.checkbox__container .checkbox__wrapper.checkbox-m{height:24px;width:24px}.checkbox__container .checkbox__wrapper.error{border-color:#CD002F}.checkbox__container .checkbox__wrapper:focus-visible{border:1px solid #575352;outline:2px solid #0A8276;outline-offset:2px}.checkbox__container .checkbox__wrapper:hover{background-color:#EEEDED;border:1px solid #575352;border-radius:1px;flex:none;order:0;flex-grow:0}.checkbox__container .checkbox__wrapper.disabled{background-color:#BFBBBB;border-color:#BFBBBB;border-radius:1px;flex:none;order:0;flex-grow:0}.checkbox__container .checkbox__wrapper.checked:not(.indeterminate){background-color:#0A8276;border-radius:1px;border-color:transparent;flex:none;order:0;flex-grow:0;color:#FFFFFF}.checkbox__container .checkbox__wrapper.checked:not(.indeterminate).error{background-color:#CD002F}.checkbox__container .checkbox__wrapper.checked:not(.indeterminate):focus-visible{border:1px solid transparent;outline:2px solid #0A8276;outline-offset:2px}.checkbox__container .checkbox__wrapper.checked:not(.indeterminate):hover{background-color:#08665C;border-radius:1px;flex:none;order:0;flex-grow:0}.checkbox__container .checkbox__wrapper.checked:not(.indeterminate).disabled{background:#BFBBBB;border-radius:1px;flex:none;order:0;flex-grow:0}.checkbox__container .checkbox__wrapper.indeterminate:before{content:\"\";display:block;width:70%;height:2px;background-color:#08665C;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.checkbox__container .label{font-style:normal;font-weight:400;font-size:0.875rem;line-height:1.25rem;color:#1D1D1D;overflow-wrap:break-word;word-wrap:break-word;word-break:break-all;max-width:100%}.checkbox__container .label.label-m{font-size:1rem;line-height:1.5rem}.checkbox__container .label.disabled{color:#BFBBBB}.checkbox__container .checkbox__wrapper:hover,.checkbox__container .label:hover{cursor:pointer}";
7
7
  const IfxCheckboxStyle0 = checkboxCss;
@@ -72,6 +72,8 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends H {
72
72
  componentWillLoad() {
73
73
  this.internalChecked = this.checked;
74
74
  this.internalIndeterminate = this.indeterminate;
75
+ }
76
+ componentDidLoad() {
75
77
  if (!isNestedInIfxComponent(this.el)) {
76
78
  const framework = detectFramework();
77
79
  trackComponent('ifx-checkbox', framework);
@@ -108,12 +110,12 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends H {
108
110
  if (slot) {
109
111
  hasSlot = true;
110
112
  }
111
- return (h("div", { key: 'a6bba5f328719a82320f18bbc958c5daa362149d', class: "checkbox__container" }, h("input", { key: '0c1929fabffda01177fc247f275071e3fe68adc5', type: "checkbox", hidden: true, ref: (el) => (this.inputElement = el), checked: this.internalChecked, onChange: this.handleCheckbox.bind(this), id: 'checkbox', value: `${this.value}`, disabled: this.disabled ? true : undefined }), h("div", { key: '98fd3919902c25fe01debf2206f9594c2e4d2841', tabindex: "0", onClick: this.handleCheckbox.bind(this), onKeyDown: this.handleKeydown.bind(this), role: "checkbox", "aria-checked": this.indeterminate ? 'mixed' : this.internalChecked.toString(), "aria-disabled": this.disabled, "aria-labelledby": "label", class: `checkbox__wrapper
113
+ return (h("div", { key: '82f30cd2fd3a158ca2b663d605e72446438d52c7', class: "checkbox__container" }, h("input", { key: '1a7c8ded3704b165bf07bf3191a3947f6b9c5500', type: "checkbox", hidden: true, ref: (el) => (this.inputElement = el), checked: this.internalChecked, onChange: this.handleCheckbox.bind(this), id: 'checkbox', value: `${this.value}`, disabled: this.disabled ? true : undefined }), h("div", { key: '8211694e956d379b06e69ed4911ed887d36ffa32', tabindex: "0", onClick: this.handleCheckbox.bind(this), onKeyDown: this.handleKeydown.bind(this), role: "checkbox", "aria-checked": this.indeterminate ? 'mixed' : this.internalChecked.toString(), "aria-disabled": this.disabled, "aria-labelledby": "label", class: `checkbox__wrapper
112
114
  ${this.getCheckedClassName()}
113
115
  ${this.size === "m" ? "checkbox-m" : ""}
114
116
  ${this.indeterminate ? 'indeterminate' : ""}
115
- ${this.disabled ? 'disabled' : ""}` }, this.internalChecked && !this.internalIndeterminate && h("ifx-icon", { key: 'b180fdd792e07ce24050c599a42aea123e12138d', icon: "check-16", "aria-hidden": "true" })), hasSlot &&
116
- h("div", { key: 'c14393edb7e4c24863637f0f35c760a9d2415465', id: "label", class: `label ${this.size === "m" ? "label-m" : ""} ${this.disabled ? 'disabled' : ""} `, onClick: this.handleCheckbox.bind(this) }, h("slot", { key: '631b6bfd057ed7101d2318815ef19eaa3f894015' }))));
117
+ ${this.disabled ? 'disabled' : ""}` }, this.internalChecked && !this.internalIndeterminate && h("ifx-icon", { key: '9ff292a8463d3fa2ce776e010c5469e7df1b53d2', icon: "check-16", "aria-hidden": "true" })), hasSlot &&
118
+ h("div", { key: '560ce872fe8e02b07c52104b0037592701b56515', id: "label", class: `label ${this.size === "m" ? "label-m" : ""} ${this.disabled ? 'disabled' : ""} `, onClick: this.handleCheckbox.bind(this) }, h("slot", { key: '90d689b0eb0d10d5907f514bca533a6485fc1b43' }))));
117
119
  }
118
120
  static get formAssociated() { return true; }
119
121
  get el() { return this; }
@@ -160,4 +162,4 @@ function defineCustomElement() {
160
162
 
161
163
  export { Checkbox as C, defineCustomElement as d };
162
164
 
163
- //# sourceMappingURL=p-2c314a58.js.map
165
+ //# sourceMappingURL=p-6cdb54a6.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-6cdb54a6.js","mappings":"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","names":[],"sources":["src/components/checkbox/checkbox.scss?tag=ifx-checkbox&encapsulation=shadow","src/components/checkbox/checkbox.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n:host {\n display: inline-flex;\n vertical-align: top;\n}\n\n.checkbox__container {\n box-sizing: border-box;\n display: inline-flex;\n flex-direction: row;\n align-items: top;\n padding: 0px;\n gap: tokens.$ifxSpace100;\n font-family: tokens.$ifxFontFamilyBody;\n vertical-align: bottom;\n\n & .checkbox__wrapper {\n box-sizing: border-box;\n display: flex;\n position: relative; //needs to be added for the indeterminate state of the checkbox\n justify-content: center;\n align-items: center;\n width: tokens.$ifxSize250;\n height: tokens.$ifxSize250;\n background-color: tokens.$ifxColorBaseWhite;\n border: 1px solid #575352;\n border-radius: tokens.$ifxBorderRadius12;\n flex: none;\n order: 0;\n flex-grow: 0;\n align-self: flex-start;\n\n &.checkbox-m {\n height: tokens.$ifxSize300;\n width: tokens.$ifxSize300;\n }\n\n &.error {\n border-color: #CD002F;\n }\n\n &:focus-visible {\n border: 1px solid #575352;\n outline: 2px solid #0A8276;\n outline-offset: 2px;\n }\n\n &:hover {\n background-color: #EEEDED;\n border: 1px solid #575352;\n border-radius: tokens.$ifxBorderRadius12;\n flex: none;\n order: 0;\n flex-grow: 0;\n }\n\n &.disabled {\n background-color: #BFBBBB;\n border-color: #BFBBBB;\n border-radius: tokens.$ifxBorderRadius12;\n flex: none;\n order: 0;\n flex-grow: 0;\n }\n\n &.checked:not(.indeterminate) {\n background-color: #0A8276;\n border-radius: tokens.$ifxBorderRadius12;\n border-color: tokens.$ifxColorBaseTransparent;\n flex: none;\n order: 0;\n flex-grow: 0;\n color: tokens.$ifxColorBaseWhite;\n\n &.error {\n background-color: #CD002F;\n }\n\n &:focus-visible {\n border: 1px solid transparent;\n outline: 2px solid #0A8276;\n outline-offset: 2px;\n }\n\n &:hover {\n background-color: #08665C;\n border-radius: tokens.$ifxBorderRadius12;\n flex: none;\n order: 0;\n flex-grow: 0;\n }\n\n &.disabled {\n background: #BFBBBB;\n border-radius: tokens.$ifxBorderRadius12;\n flex: none;\n order: 0;\n flex-grow: 0;\n }\n }\n\n &.indeterminate {\n &:before {\n content: \"\";\n display: block;\n width: 70%; // Adjust as needed for the width of the minus sign\n height: 2px; // Adjust for thickness of the minus sign\n background-color: #08665C; // Color of the minus sign\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n }\n\n }\n\n & .label {\n font-style: normal;\n font-weight: 400;\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n color: tokens.$ifxColorBaseBlack;\n overflow-wrap: break-word;\n word-wrap: break-word;\n word-break: break-all;\n max-width: 100%;\n\n &.label-m {\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n }\n\n &.disabled {\n color: #BFBBBB;\n }\n }\n\n & .checkbox__wrapper,\n & .label {\n &:hover {\n cursor: pointer;\n }\n }\n}","import { Component, h, Prop, Element, State, Event, EventEmitter, Watch, Method, AttachInternals } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-checkbox',\n styleUrl: 'checkbox.scss',\n shadow: true,\n formAssociated: true\n})\n\nexport class Checkbox {\n private inputElement: HTMLInputElement;\n\n @Element() el;\n @Prop() disabled: boolean = false;\n @Prop() checked: boolean = false;\n @Prop() error: boolean = false;\n @Prop() size: string = 'm';\n @Prop() indeterminate: boolean = false;\n @Prop() value: string;\n @State() internalChecked: boolean;\n @State() internalIndeterminate: boolean;\n\n @AttachInternals() internals: ElementInternals;\n\n @Event({ bubbles: true, composed: true }) ifxChange: EventEmitter;\n @Event({ bubbles: true, composed: true }) ifxError: EventEmitter;\n\n handleCheckbox() {\n if (!this.disabled) {\n if (!this.inputElement.indeterminate) {\n this.internalChecked = !this.internalChecked;\n } \n if (this.internalChecked && !this.internalIndeterminate) {\n if (this.value !== undefined) {\n this.internals.setFormValue(this.value);\n } else {\n this.internals.setFormValue(\"on\")\n }\n } else {\n this.internals.setFormValue(null)\n }\n this.ifxChange.emit(this.internalChecked);\n }\n }\n\n @Method()\n async isChecked(): Promise<boolean> {\n return this.internalChecked;\n }\n\n @Method()\n async toggleCheckedState(newVal: boolean) {\n this.internalChecked = newVal;\n }\n\n @Watch('checked')\n valueChanged(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue) {\n this.internalChecked = newValue;\n this.inputElement.checked = this.internalChecked; // update the checkbox's checked property\n }\n }\n\n @Watch('error')\n errorChanged(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue) {\n this.ifxError.emit(newValue);\n }\n }\n\n @Watch('indeterminate')\n indeterminateChanged(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue) {\n this.internalIndeterminate = newValue;\n this.inputElement.indeterminate = this.internalIndeterminate; // update the checkbox's indeterminate property\n }\n }\n\n handleKeydown(event) {\n // Keycode 32 corresponds to the Space key, 13 corresponds to the Enter key\n if (event.keyCode === 32 || event.keyCode === 13) {\n this.handleCheckbox();\n event.preventDefault(); // prevent the default action when space or enter is pressed\n }\n }\n\n componentWillLoad() {\n this.internalChecked = this.checked;\n this.internalIndeterminate = this.indeterminate;\n }\n\n componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-checkbox', framework)\n }\n }\n\n componentDidRender() {\n this.inputElement.indeterminate = this.internalIndeterminate;\n }\n\n /**\n * Callback for form association.\n * Called whenever the form is reset.\n */\n formResetCallback() {\n this.internals.setFormValue(null);\n }\n\n getCheckedClassName() {\n if (this.error) {\n if (this.internalChecked) {\n return \"checked error\"\n } else {\n return \"error\"\n }\n } else if (this.internalChecked) {\n return \"checked\";\n } else return \"\"\n }\n\n render() {\n const slot = this.el.innerHTML;\n let hasSlot = false;\n if (slot) {\n hasSlot = true;\n }\n return (\n <div class=\"checkbox__container\">\n <input\n type=\"checkbox\"\n hidden\n ref={(el) => (this.inputElement = el)}\n checked={this.internalChecked}\n onChange={this.handleCheckbox.bind(this)} // Listen for changes here\n id='checkbox'\n value={`${this.value}`}\n disabled={this.disabled ? true : undefined}\n />\n <div\n tabindex=\"0\"\n onClick={this.handleCheckbox.bind(this)}\n onKeyDown={this.handleKeydown.bind(this)}\n role=\"checkbox\"\n aria-checked={this.indeterminate ? 'mixed' : this.internalChecked.toString()}\n aria-disabled={this.disabled}\n aria-labelledby=\"label\"\n class={`checkbox__wrapper \n ${this.getCheckedClassName()}\n ${this.size === \"m\" ? \"checkbox-m\" : \"\"}\n ${this.indeterminate ? 'indeterminate' : \"\"}\n ${this.disabled ? 'disabled' : \"\"}`}\n >\n {this.internalChecked && !this.internalIndeterminate && <ifx-icon icon=\"check-16\" aria-hidden=\"true\"></ifx-icon>}\n </div>\n {hasSlot &&\n <div id=\"label\" class={`label ${this.size === \"m\" ? \"label-m\" : \"\"} ${this.disabled ? 'disabled' : \"\"} `} onClick={this.handleCheckbox.bind(this)}>\n <slot />\n </div>}\n </div>\n );\n }\n}"],"version":3}
@@ -74,6 +74,8 @@ const Button = /*@__PURE__*/ proxyCustomElement(class Button extends H {
74
74
  }
75
75
  componentWillLoad() {
76
76
  this.handleFormAndInternalHref();
77
+ }
78
+ componentDidLoad() {
77
79
  if (!isNestedInIfxComponent(this.el)) {
78
80
  const framework = detectFramework();
79
81
  trackComponent('ifx-button', framework);
@@ -106,7 +108,7 @@ const Button = /*@__PURE__*/ proxyCustomElement(class Button extends H {
106
108
  }
107
109
  }
108
110
  render() {
109
- return (h(Host, { key: '4f6edce27cacd5d9859790e028cabf756b65463b' }, h("a", { key: 'd3a7759dbd2ed5128c5919e187c70ee82abfc643', role: this.href ? 'link' : 'button', tabIndex: this.disabled ? -1 : 0, ref: (el) => (this.focusableElement = el), class: this.getClassNames(), href: !this.disabled ? this.internalHref : undefined, target: this.target, onClick: this.handleClick, rel: this.target === '_blank' ? 'noopener noreferrer' : undefined, onFocus: (event) => this.handleFocus(event), "aria-disabled": this.disabled ? 'true' : null, "aria-describedby": this.theme === 'danger' ? 'Dangerous action' : undefined, "aria-label": this.ariaLabel || undefined }, h("slot", { key: '54e7e801f580008fc48688446cf58b304c283067' }))));
111
+ return (h(Host, { key: 'f576e333ecb33a35bfe8418ecdc6fa0616380bd7' }, h("a", { key: '625ac29c56e789fcdf6b56d7bead8aba1b287afa', role: this.href ? 'link' : 'button', tabIndex: this.disabled ? -1 : 0, ref: (el) => (this.focusableElement = el), class: this.getClassNames(), href: !this.disabled ? this.internalHref : undefined, target: this.target, onClick: this.handleClick, rel: this.target === '_blank' ? 'noopener noreferrer' : undefined, onFocus: (event) => this.handleFocus(event), "aria-disabled": this.disabled ? 'true' : null, "aria-describedby": this.theme === 'danger' ? 'Dangerous action' : undefined, "aria-label": this.ariaLabel || undefined }, h("slot", { key: 'ff594217326742db7bc06b25a6f30c1a4b45be04' }))));
110
112
  }
111
113
  getVariantClass() {
112
114
  return `${this.variant}` === "secondary"
@@ -167,4 +169,4 @@ function defineCustomElement() {
167
169
 
168
170
  export { Button as B, defineCustomElement as d };
169
171
 
170
- //# sourceMappingURL=p-dba7abd3.js.map
172
+ //# sourceMappingURL=p-7469727b.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-7469727b.js","mappings":"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","names":[],"sources":["src/components/button/button.scss?tag=ifx-button&encapsulation=shadow","src/components/button/button.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n vertical-align: bottom;\n display: inline-flex;\n width: var(--bw, fit-content);\n}\n\n.btn {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: tokens.$ifxSize500;\n padding: 0px tokens.$ifxSpace200;\n gap: tokens.$ifxSpace100;\n color: tokens.$ifxColorBaseWhite;\n font-weight: tokens.$ifxFontWeightSemibold;\n border-radius: tokens.$ifxBorderRadius12;\n line-height: tokens.$ifxLineHeightM;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n font-style: normal;\n text-decoration: none;\n user-select: none;\n font-size: tokens.$ifxFontSizeM;\n transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;\n width: var(--bw, fit-content);\n}\n\n.btn:not(.disabled) {\n cursor: pointer;\n}\n\n.btn.disabled {\n pointer-events: none;\n}\n\n.btn-default {\n //default variant=primary; default color=default\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorOcean500;\n\n &:disabled,\n &.disabled {\n background-color: tokens.$ifxColorEngineering300;\n color: tokens.$ifxColorBaseWhite;\n pointer-events: none;\n\n }\n}\n\n.btn-secondary-default {\n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorOcean500;\n border: 1px solid tokens.$ifxColorOcean500;\n\n &:disabled,\n &.disabled {\n background-color: tokens.$ifxColorBaseWhite;\n border: 1px solid tokens.$ifxColorEngineering300;\n color: tokens.$ifxColorEngineering300;\n pointer-events: none;\n\n }\n}\n\n.btn-tertiary-default {\n background-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorOcean500;\n\n &:disabled,\n &.disabled {\n color: tokens.$ifxColorEngineering300;\n pointer-events: none;\n\n }\n}\n\n\n.btn-danger {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorRed500;\n border-color: tokens.$ifxColorRed500;\n\n &:disabled,\n &.disabled {\n background-color: tokens.$ifxColorEngineering300;\n color: tokens.$ifxColorBaseWhite;\n pointer-events: none;\n\n }\n}\n\n.btn-secondary-danger {\n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorRed500;\n border: 1px solid tokens.$ifxColorRed500;\n\n &:disabled,\n &.disabled {\n background-color: tokens.$ifxColorBaseWhite;\n border: 1px solid tokens.$ifxColorEngineering300;\n color: tokens.$ifxColorEngineering300;\n pointer-events: none;\n\n }\n}\n\n.btn-tertiary-danger {\n //combination tertiary + danger not in design\n background-color: tokens.$ifxColorBaseTransparent;\n color: tokens.$ifxColorRed500;\n\n &:disabled,\n &.disabled {\n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorEngineering300;\n pointer-events: none;\n\n }\n}\n\n.btn-inverse {\n color: tokens.$ifxColorOcean500;\n background-color: tokens.$ifxColorBaseWhite;\n\n &:disabled,\n &.disabled {\n opacity: tokens.$ifxOpacity100;\n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorOcean500;\n pointer-events: none;\n }\n}\n\n.btn-secondary-inverse {\n color: tokens.$ifxColorBaseWhite;\n border: 1px solid tokens.$ifxColorBaseWhite;\n\n &:disabled,\n &.disabled {\n border: 1px solid tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorBaseWhite;\n pointer-events: none;\n\n }\n}\n\n\n.btn-tertiary-inverse {\n color: tokens.$ifxColorBaseWhite;\n\n &:disabled,\n &.disabled {\n color: tokens.$ifxColorBaseWhite;\n opacity: tokens.$ifxOpacity100;\n pointer-events: none;\n\n }\n}\n\n.btn {\n & ifx-icon:empty {\n display: none;\n }\n\n &.btn-xs {\n font-size: tokens.$ifxFontSizeS;\n height: tokens.$ifxSize400;\n line-height: tokens.$ifxLineHeightXs;\n }\n\n &.btn-s {\n font-size: tokens.$ifxFontSizeS;\n height: tokens.$ifxSize450;\n line-height: tokens.$ifxLineHeightS;\n }\n\n // &.btn-m { //default\n // font-size: tokens.$ifxFontSizeM;\n // height: tokens.$ifxSize400;\n // line-height: tokens.$ifxLineHeightM;\n // }\n\n\n &.btn-l {\n font-size: tokens.$ifxFontSizeXl;\n height: tokens.$ifxSize600;\n line-height: tokens.$ifxLineHeightXl;\n }\n\n\n\n &.btn-default:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean500;\n }\n\n &:hover {\n background-color: tokens.$ifxColorOcean600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorOcean700;\n }\n }\n\n &.btn-secondary-default:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean500;\n }\n\n &:hover {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorOcean600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorOcean700;\n }\n }\n\n &.btn-secondary:not(:disabled, .disabled) {\n\n &:hover {\n background-color: tokens.$ifxColorBerry500;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorBerry500;\n }\n }\n\n\n\n &.btn-danger:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean500;\n }\n\n &:hover {\n background-color: tokens.$ifxColorRed600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorRed700;\n }\n }\n\n &.btn-secondary-danger:not(:disabled, .disabled) {\n\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean500;\n }\n\n &:hover {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorRed600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorRed700;\n }\n }\n\n\n &.btn-inverse:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorOcean500, 0 0 0 4px tokens.$ifxColorBaseWhite;\n }\n\n &:hover {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorEngineering300;\n }\n }\n\n &.btn-secondary-inverse:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorOcean500, 0 0 0 4px tokens.$ifxColorBaseWhite;\n }\n\n &:hover {\n color: tokens.$ifxColorOcean500;\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorOcean500;\n background-color: tokens.$ifxColorEngineering300;\n }\n }\n\n\n\n &.btn-tertiary-default:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean600;\n }\n\n &:hover {\n color: tokens.$ifxColorOcean600;\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorOcean700;\n }\n\n\n }\n\n\n\n\n\n &.btn-tertiary-danger:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorRed600;\n }\n\n &:hover {\n color: tokens.$ifxColorRed600;\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorRed700;\n }\n\n }\n\n\n &.btn-tertiary-inverse:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorOcean500, 0 0 0 4px tokens.$ifxColorBaseWhite;\n }\n\n &:hover {\n color: tokens.$ifxColorEngineering200;\n\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorEngineering300;\n }\n }\n}","import { Component, Prop, h, Host, Method, Element, Listen, State, Watch } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nimport classNames from 'classnames';\n \n@Component({\n tag: 'ifx-button',\n styleUrl: 'button.scss',\n shadow: true,\n})\nexport class Button {\n @Prop() variant: 'primary' | 'secondary' | 'tertiary' = 'primary';\n @Prop() theme: 'default' | 'danger' | 'inverse' = 'default';\n @Prop() size: string = 'm';\n @Prop() disabled: boolean = false;\n @State() internalHref: string;\n @Prop() href: string;\n @Prop() target: string = '_self';\n @Prop() type: \"button\" | \"submit\" | \"reset\" = \"button\";\n @Prop() fullWidth: boolean = false;\n @Prop() ariaLabel: string | null;\n @Element() el;\n\n private focusableElement: HTMLElement;\n private nativeButton: HTMLButtonElement | HTMLInputElement;\n\n @Watch('href')\n setInternalHref(newValue: string) {\n this.internalHref = newValue;\n }\n\n @Method()\n async setFocus() {\n this.focusableElement.focus();\n }\n\n insertNativeButton() {\n this.nativeButton = document.createElement('button');\n this.nativeButton.type = this.type;\n this.nativeButton.style.display = 'none';\n this.el.closest('form').appendChild(this.nativeButton);\n }\n\n handleFormAndInternalHref() {\n if (this.el.closest('form')) {\n if (this.el.href) {\n this.el.internalHref = undefined;\n }\n this.insertNativeButton()\n } else {\n this.internalHref = this.href;\n }\n }\n\n handleButtonWidth() {\n if (this.fullWidth) {\n this.el.style.setProperty('--bw', '100%');\n } else {\n this.el.style.setProperty('--bw', 'fit-content');\n }\n }\n\n componentWillLoad() {\n this.handleFormAndInternalHref()\n }\n\n componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-button', framework)\n }\n }\n\n componentWillRender() {\n this.handleButtonWidth()\n }\n\n\n\n handleClick = (ev: Event) => {\n if (this.el.shadowRoot) {\n const parentForm = this.el.closest('form');\n if (parentForm) {\n ev.preventDefault();\n\n if (this.type === 'reset') {\n // If the button type is 'reset', manually reset all custom form fields\n this.resetClickHandler(); //this will reset all ifx-text-fields within a form\n } else {\n const fakeButton = document.createElement('button');\n if (this.type) {\n fakeButton.type = this.type;\n }\n fakeButton.style.display = 'none';\n parentForm.appendChild(fakeButton);\n fakeButton.click();\n fakeButton.remove();\n }\n }\n }\n }\n\n resetClickHandler() {\n const formElement = this.el.closest('form');\n const customElements = formElement.querySelectorAll('ifx-text-field, ifx-textarea');\n customElements.forEach(element => {\n element.reset();\n });\n }\n\n @Listen('keydown')\n handleKeyDown(ev: KeyboardEvent) {\n if ( ev.key === \" \" || ev.key === 'Enter' && !this.disabled) {\n this.focusableElement.click();\n }\n }\n\n @Listen('click', { capture: true })\n handleHostClick(event: Event) {\n if (this.disabled === true) {\n event.stopImmediatePropagation();\n }\n }\n\n handleFocus(event: FocusEvent) {\n if (this.disabled) {\n event.preventDefault();\n this.focusableElement.blur();\n }\n }\n\n render() {\n return (\n <Host>\n <a\n role={this.href ? 'link' : 'button'}\n tabIndex={this.disabled ? -1 : 0}\n ref={(el) => (this.focusableElement = el)}\n class={this.getClassNames()}\n href={!this.disabled ? this.internalHref : undefined}\n target={this.target}\n onClick={this.handleClick}\n rel={this.target === '_blank' ? 'noopener noreferrer' : undefined}\n onFocus={(event) => this.handleFocus(event)}\n aria-disabled={this.disabled ? 'true' : null}\n aria-describedby={this.theme === 'danger' ? 'Dangerous action' : undefined}\n aria-label={this.ariaLabel || undefined}\n >\n <slot></slot>\n </a>\n </Host>\n );\n }\n\n\n getVariantClass() {\n return `${this.variant}` === \"secondary\"\n ? `secondary-${this.theme}`\n : `${this.variant}` === 'tertiary'\n ? `tertiary-${this.theme}`\n : `${this.theme}`;\n }\n\n getSizeClass() {\n if (`${this.size}` === \"xs\") {\n return \"xs\"\n }\n else if (`${this.size}` === \"s\") {\n return \"s\"\n }\n else if (`${this.size}` === \"l\") {\n return \"l\"\n }\n else return \"\";\n }\n\n getClassNames() {\n return classNames(\n 'btn',\n this.size && `btn-${this.getSizeClass()}`,\n `btn-${this.getVariantClass()}`,\n this.disabled ? 'disabled' : ''\n );\n }\n}"],"version":3}
@@ -1,8 +1,8 @@
1
1
  import { p as proxyCustomElement, H, h, d as Host } from './p-f8e6a4ef.js';
2
2
  import { d as detectFramework, t as trackComponent } from './p-fd1c9465.js';
3
3
  import { i as isNestedInIfxComponent } from './p-1ecafb97.js';
4
- import { d as defineCustomElement$2 } from './p-db63a8a5.js';
5
- import { d as defineCustomElement$1 } from './p-f8063e97.js';
4
+ import { d as defineCustomElement$2 } from './p-b72cf91c.js';
5
+ import { d as defineCustomElement$1 } from './p-bf46e92b.js';
6
6
 
7
7
  const notificationCss = ":root{--ifx-font-family:\"Source Sans 3\", \"Arial, sans-serif\"}.ifx-notification__wrapper{display:flex;flex-direction:row;align-items:center;padding:8px 16px;background-color:#FFFFFF;font-family:var(--ifx-font-family);color:#1D1D1D;border:1px solid #EEEDED}.ifx-notification__wrapper.ifx-notification__wrapper--success{border-left:4px solid #4CA460}.ifx-notification__wrapper.ifx-notification__wrapper--success .ifx-notification__icon{color:#4CA460}.ifx-notification__wrapper.ifx-notification__wrapper--locked{border-left:4px solid #E16B25}.ifx-notification__wrapper.ifx-notification__wrapper--locked .ifx-notification__icon{color:#E16B25}.ifx-notification__wrapper.ifx-notification__wrapper--error{border-left:4px solid #CD002F}.ifx-notification__wrapper.ifx-notification__wrapper--error .ifx-notification__icon{color:#CD002F}.ifx-notification__wrapper.ifx-notification__wrapper--neutral{border-left:4px solid #0A8276}.ifx-notification__wrapper.ifx-notification__wrapper--neutral .ifx-notification__icon{color:#0A8276}.ifx-notification__wrapper .ifx-notification__icon{margin-right:8px;display:flex;align-self:center}.ifx-notification__wrapper .ifx-notification__body{display:flex;flex-direction:row;flex-grow:1;font-size:0.875rem}.ifx-notification__wrapper .ifx-notification__body .ifx-notification__slot{flex-grow:1;display:inline-flex;align-items:center}.ifx-notification__wrapper .ifx-notification__link{font-size:0.875rem}@media (max-width: 576px){.ifx-notification__wrapper .ifx-notification__icon{align-self:flex-start}.ifx-notification__wrapper .ifx-notification__body{flex-direction:column}.ifx-notification__wrapper .ifx-notification__link{margin-top:8px}}";
8
8
  const IfxNotificationStyle0 = notificationCss;
@@ -15,7 +15,7 @@ const Notification = /*@__PURE__*/ proxyCustomElement(class Notification extends
15
15
  this.variant = 'success';
16
16
  this.linkTarget = '_blank';
17
17
  }
18
- componentWillLoad() {
18
+ componentDidLoad() {
19
19
  if (!isNestedInIfxComponent(this.el)) {
20
20
  const framework = detectFramework();
21
21
  trackComponent('ifx-notification', framework);
@@ -36,8 +36,8 @@ const Notification = /*@__PURE__*/ proxyCustomElement(class Notification extends
36
36
  }
37
37
  }
38
38
  render() {
39
- return (h(Host, { key: 'c17bf027743a67188f8f2d5939c32d1291cd5d17' }, h("div", { key: '5b94bafadb00ff880d921968aebabdc1dc4a046a', class: "ifx-notification__wrapper " + this.getClassName() }, h("div", { key: '883a1fa61c49c3cb9851a76f0b6e6ab40e08a578', class: "ifx-notification__icon" }, h("ifx-icon", { key: '966365d2eae1eaeaef8cdbd9c656d56cc6d09ee1', icon: this.icon })), h("div", { key: '50a4c1af8864397efd1cd7b7c04444fdb3860eaf', class: "ifx-notification__body" }, h("div", { key: '587eddd49c9006fed4dcf588b0ba04f17ca88677', class: "ifx-notification__slot" }, h("slot", { key: '83e4cac618bad6c4e0e52297214013cd8f6c268e' })), this.linkText && this.linkHref &&
40
- h("div", { key: '5e477f0dbc503f0cff2fbe0c72673939e41f7222', class: "ifx-notification__link" }, h("ifx-link", { key: '4609e684a086bacb401ba57f011f064679c5f094', href: this.linkHref, target: this.linkTarget }, this.linkText, h("ifx-icon", { key: '2b9bce01568ad57abc570fbcfaf401380c97c8ba', icon: "arrow-right-16" })))))));
39
+ return (h(Host, { key: 'feb1f668acaee03c11e9b13375f109e24797c796' }, h("div", { key: 'c703f08f127a401b749ff61ca1cc644ba142cbc7', class: "ifx-notification__wrapper " + this.getClassName() }, h("div", { key: '6c18213cf6ffa38345eb6e91b67b13b5e7515ae9', class: "ifx-notification__icon" }, h("ifx-icon", { key: '875db2a87fb5bf57b7ebdcf9e6d775a8437a0301', icon: this.icon })), h("div", { key: '409d3d76a7b25d28a66ea96e0d7bb67ff2c32a4e', class: "ifx-notification__body" }, h("div", { key: 'd74630e8d8ca028dd6933c2d2ec21c53b3126a84', class: "ifx-notification__slot" }, h("slot", { key: 'd9733028952ed651e2a157fff0b1a59fdab8dd55' })), this.linkText && this.linkHref &&
40
+ h("div", { key: '79fd07e524ba0bd1c4912d8a06fa2150ecce2968', class: "ifx-notification__link" }, h("ifx-link", { key: '0d837c96e414528e9f3af9098c3797bf18030b1a', href: this.linkHref, target: this.linkTarget }, this.linkText, h("ifx-icon", { key: 'ab2659a8065cf3786bb4107875e55cfc8753c017', icon: "arrow-right-16" })))))));
41
41
  }
42
42
  get el() { return this; }
43
43
  static get style() { return IfxNotificationStyle0; }
@@ -74,4 +74,4 @@ function defineCustomElement() {
74
74
 
75
75
  export { Notification as N, defineCustomElement as d };
76
76
 
77
- //# sourceMappingURL=p-3c36282d.js.map
77
+ //# sourceMappingURL=p-75cf9c68.js.map