@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
@@ -0,0 +1 @@
1
+ {"version":3,"names":["contentSwitcherCss","IfxContentSwitcherStyle0","ContentSwitcher","constructor","hostRef","this","activeIndex","hoverIndex","focusIndex","dividers","Array","eventHandlers","Map","componentWillLoad","items","from","el","children","initializeDividers","addEventListeners","ensureSingleSelectedItem","componentDidLoad","isNestedInIfxComponent","framework","detectFramework","trackComponent","disconnectedCallback","removeEventListeners","forEach","item","index","length","divider","document","createElement","classList","add","after","push","handlers","click","selectItem","mouseenter","handleHover","mouseleave","focus","handleFocus","blur","Object","keys","event","addEventListener","set","removeEventListener","clear","isSelected","getAttribute","selected","removeAttribute","isActive","updateDividersOfItem","itemIndex","updateDividerVisibility","dividerIndex","hiddenDividers","Set","setDividerVisibility","has","hidden","toggle","oldIndex","setAttribute","ifxChange","emit","oldValue","getValueOfItem","newValue","toLocaleString","render","h","Host","key","class","role"],"sources":["src/components/content-switcher/content-switcher.scss?tag=ifx-content-switcher&encapsulation=shadow","src/components/content-switcher/content-switcher.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n.ifx-content-switcher {\n background-color: tokens.$ifxColorBaseWhite;\n border: 1px solid tokens.$ifxColorEngineering300;\n border-radius: tokens.$ifxBorderRadiusRound;\n height: tokens.$ifxSize450;\n width: fit-content;\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n\n & ::slotted(ifx-content-switcher-item) {\n position: relative;\n // top: -1px;\n }\n\n & ::slotted(ifx-content-switcher-item:first-child) {\n left: -1px;\n margin-right: -1px;\n }\n\n & ::slotted(ifx-content-switcher-item:last-child) {\n right: -1px;\n margin-left: -1px;\n }\n\n // Dividers\n & ::slotted(.ifx-content-switcher-divider) {\n width: tokens.$ifxSize12;\n height: tokens.$ifxSize250;\n background-color: tokens.$ifxColorEngineering400;\n margin: 0px 1px;\n visibility: visible;\n }\n\n & ::slotted(.ifx-content-switcher-divider.hidden) {\n visibility: hidden;\n }\n}","import { Component, h, Element, Event, EventEmitter, Host, 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\nexport type ChangeEvent = { oldValue: string; newValue: string };\n\ntype ContentSwitcherItem = Element & {\n selected: boolean;\n};\n\n@Component({\n tag: 'ifx-content-switcher',\n styleUrl: './content-switcher.scss',\n shadow: true,\n})\nexport class ContentSwitcher {\n @Element() el: HTMLElement;\n\n @State() items: Element[];\n @State() activeIndex = -1;\n @State() hoverIndex: number = -1;\n @State() focusIndex: number = -1;\n\n @State() dividers: Element[] = Array();\n\n @Event() ifxChange: EventEmitter<ChangeEvent>;\n\n private eventHandlers: Map<Element, { [key: string]: EventListener }> = new Map();\n\n componentWillLoad() {\n this.items = Array.from(this.el.children);\n this.initializeDividers();\n this.addEventListeners();\n this.ensureSingleSelectedItem();\n }\n\n componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-content-switcher', framework)\n }\n }\n\n disconnectedCallback() {\n this.removeEventListeners();\n }\n\n /**\n * Initialize the dividers between items.\n */\n initializeDividers() {\n this.items.forEach((item, index) => {\n if (index < this.items.length - 1) {\n const divider = document.createElement('div');\n divider.classList.add('ifx-content-switcher-divider');\n item.after(divider);\n this.dividers.push(divider);\n }\n });\n }\n\n /**\n * Add event listeners for each item.\n */\n addEventListeners() {\n this.items.forEach((item, index) => {\n const handlers = {\n click: () => this.selectItem(index),\n mouseenter: () => this.handleHover(index, true),\n mouseleave: () => this.handleHover(index, false),\n focus: () => this.handleFocus(index, true),\n blur: () => this.handleFocus(index, false),\n };\n\n Object.keys(handlers).forEach(event => {\n item.addEventListener(event, handlers[event]);\n });\n\n this.eventHandlers.set(item, handlers);\n });\n }\n\n /**\n * Remove all event listeners.\n */\n removeEventListeners() {\n this.eventHandlers.forEach((handlers, item) => {\n Object.keys(handlers).forEach(event => {\n item.removeEventListener(event, handlers[event]);\n });\n });\n this.eventHandlers.clear();\n }\n\n ensureSingleSelectedItem() {\n this.items.forEach((item, index) => {\n const isSelected = (item.getAttribute('selected') === 'true') || (item as ContentSwitcherItem).selected;\n if (isSelected) {\n if (this.activeIndex < 0) {\n this.selectItem(index);\n } else {\n item.removeAttribute('selected');\n (item as ContentSwitcherItem).selected = false;\n }\n }\n });\n }\n\n /**\n * Handle hover events on an item.\n * @param index - Index of the item.\n * @param isActive - Whether the item is hovered.\n */\n handleHover(index: number, isActive: boolean) {\n this.hoverIndex = isActive ? index : -1;\n this.updateDividersOfItem(index);\n }\n\n /**\n * Handle hover events on an item.\n * @param index - Index of the item.\n * @param isActive - Whether the item is focused.\n */\n handleFocus(index: number, isActive: boolean) {\n this.focusIndex = isActive ? index : -1;\n this.updateDividersOfItem(index);\n }\n\n /**\n * Update visibility of dividers adjacent to a specific item.\n * @param itemIndex - Index of the item.\n */\n updateDividersOfItem(itemIndex: number) {\n if (itemIndex < this.items.length - 1) {\n this.updateDividerVisibility(itemIndex);\n }\n if (itemIndex > 0) {\n this.updateDividerVisibility(itemIndex - 1);\n }\n }\n\n /**\n * Update visibility of a specific divider.\n * @param dividerIndex - Index of the divider.\n */\n updateDividerVisibility(dividerIndex: number) {\n const hiddenDividers = new Set([this.activeIndex, this.activeIndex - 1, this.hoverIndex, this.hoverIndex - 1, this.focusIndex, this.focusIndex - 1]);\n this.setDividerVisibility(dividerIndex, hiddenDividers.has(dividerIndex));\n }\n\n /**\n * Set the visibility of a specific divider.\n * @param dividerIndex - Index of the divider.\n * @param hidden - Whether the divider should be hidden.\n */\n setDividerVisibility(dividerIndex: number, hidden: boolean) {\n if (this.dividers[dividerIndex]) {\n this.dividers[dividerIndex].classList.toggle('hidden', hidden);\n }\n }\n\n /**\n * Select a specific item.\n * @param itemIndex - Index of the item to be selected.\n */\n selectItem(itemIndex: number) {\n if (itemIndex === this.activeIndex) return;\n const oldIndex = this.activeIndex;\n if (oldIndex >= 0) {\n this.items[oldIndex].removeAttribute('selected');\n }\n\n this.activeIndex = itemIndex;\n this.items[itemIndex].setAttribute('selected', 'true');\n\n this.ifxChange.emit({ oldValue: this.getValueOfItem(oldIndex), newValue: this.getValueOfItem(itemIndex) });\n this.updateDividersOfItem(oldIndex);\n this.updateDividersOfItem(itemIndex);\n }\n\n /**\n * Get the value property of the item at a specific index.\n * Falls back to the index if no value is set.\n * \n * @param index - Index of the item. \n * @returns The value of the item.\n */\n getValueOfItem(index: number): string {\n if (this.items[index] == null) return index.toLocaleString();\n return this.items[index].getAttribute('value') || index.toLocaleString();\n }\n\n render() {\n return (\n <Host>\n <div class=\"ifx-content-switcher\" role=\"group\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as i,h as o,a as t,g as f}from"./p-b7a462e5.js";import{d as a,t as n}from"./p-fd1c9465.js";import{i as e}from"./p-1ecafb97.js";const r=':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}}';const c=r;const _=class{constructor(o){i(this,o);this.variant="success";this.linkTarget="_blank"}componentWillLoad(){if(!e(this.el)){const i=a();n("ifx-notification",i)}}getClassName(){switch(this.variant){case"success":return"ifx-notification__wrapper--success";case"locked":return"ifx-notification__wrapper--locked";case"error":return"ifx-notification__wrapper--error";case"neutral":return"ifx-notification__wrapper--neutral";default:return"ifx-notification__wrapper--success"}}render(){return o(t,{key:"c17bf027743a67188f8f2d5939c32d1291cd5d17"},o("div",{key:"5b94bafadb00ff880d921968aebabdc1dc4a046a",class:"ifx-notification__wrapper "+this.getClassName()},o("div",{key:"883a1fa61c49c3cb9851a76f0b6e6ab40e08a578",class:"ifx-notification__icon"},o("ifx-icon",{key:"966365d2eae1eaeaef8cdbd9c656d56cc6d09ee1",icon:this.icon})),o("div",{key:"50a4c1af8864397efd1cd7b7c04444fdb3860eaf",class:"ifx-notification__body"},o("div",{key:"587eddd49c9006fed4dcf588b0ba04f17ca88677",class:"ifx-notification__slot"},o("slot",{key:"83e4cac618bad6c4e0e52297214013cd8f6c268e"})),this.linkText&&this.linkHref&&o("div",{key:"5e477f0dbc503f0cff2fbe0c72673939e41f7222",class:"ifx-notification__link"},o("ifx-link",{key:"4609e684a086bacb401ba57f011f064679c5f094",href:this.linkHref,target:this.linkTarget},this.linkText,o("ifx-icon",{key:"2b9bce01568ad57abc570fbcfaf401380c97c8ba",icon:"arrow-right-16"}))))))}get el(){return f(this)}};_.style=c;export{_ as ifx_notification};
2
- //# sourceMappingURL=p-75949a23.entry.js.map
1
+ import{r as i,h as o,a as t,g as f}from"./p-b7a462e5.js";import{d as a,t as n}from"./p-fd1c9465.js";import{i as e}from"./p-1ecafb97.js";const r=':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}}';const c=r;const _=class{constructor(o){i(this,o);this.variant="success";this.linkTarget="_blank"}componentDidLoad(){if(!e(this.el)){const i=a();n("ifx-notification",i)}}getClassName(){switch(this.variant){case"success":return"ifx-notification__wrapper--success";case"locked":return"ifx-notification__wrapper--locked";case"error":return"ifx-notification__wrapper--error";case"neutral":return"ifx-notification__wrapper--neutral";default:return"ifx-notification__wrapper--success"}}render(){return o(t,{key:"feb1f668acaee03c11e9b13375f109e24797c796"},o("div",{key:"c703f08f127a401b749ff61ca1cc644ba142cbc7",class:"ifx-notification__wrapper "+this.getClassName()},o("div",{key:"6c18213cf6ffa38345eb6e91b67b13b5e7515ae9",class:"ifx-notification__icon"},o("ifx-icon",{key:"875db2a87fb5bf57b7ebdcf9e6d775a8437a0301",icon:this.icon})),o("div",{key:"409d3d76a7b25d28a66ea96e0d7bb67ff2c32a4e",class:"ifx-notification__body"},o("div",{key:"d74630e8d8ca028dd6933c2d2ec21c53b3126a84",class:"ifx-notification__slot"},o("slot",{key:"d9733028952ed651e2a157fff0b1a59fdab8dd55"})),this.linkText&&this.linkHref&&o("div",{key:"79fd07e524ba0bd1c4912d8a06fa2150ecce2968",class:"ifx-notification__link"},o("ifx-link",{key:"0d837c96e414528e9f3af9098c3797bf18030b1a",href:this.linkHref,target:this.linkTarget},this.linkText,o("ifx-icon",{key:"ab2659a8065cf3786bb4107875e55cfc8753c017",icon:"arrow-right-16"}))))))}get el(){return f(this)}};_.style=c;export{_ as ifx_notification};
2
+ //# sourceMappingURL=p-80d1cc75.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["notificationCss","IfxNotificationStyle0","Notification","constructor","hostRef","this","variant","linkTarget","componentDidLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","getClassName","render","h","Host","key","class","icon","linkText","linkHref","href","target"],"sources":["src/components/notification/notification.scss?tag=ifx-notification&encapsulation=shadow","src/components/notification/notification.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n.ifx-notification__wrapper {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: tokens.$ifxSpace100 tokens.$ifxSpace200;\n\n background-color: tokens.$ifxColorBaseWhite;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n color: tokens.$ifxColorBaseBlack;\n\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering200;\n\n &.ifx-notification__wrapper--success {\n border-left: tokens.$ifxBorderWidth50 solid tokens.$ifxColorGreen500;\n\n & .ifx-notification__icon {\n color: tokens.$ifxColorGreen500;\n }\n }\n\n &.ifx-notification__wrapper--locked {\n border-left: tokens.$ifxBorderWidth50 solid tokens.$ifxColorOrange500;\n\n & .ifx-notification__icon {\n color: tokens.$ifxColorOrange500;\n }\n }\n\n &.ifx-notification__wrapper--error {\n border-left: tokens.$ifxBorderWidth50 solid tokens.$ifxColorRed500;\n\n & .ifx-notification__icon {\n color: tokens.$ifxColorRed500;\n }\n }\n\n &.ifx-notification__wrapper--neutral{\n border-left: tokens.$ifxBorderWidth50 solid tokens.$ifxColorOcean500;\n\n & .ifx-notification__icon {\n color: tokens.$ifxColorOcean500;\n }\n }\n\n & .ifx-notification__icon {\n margin-right: tokens.$ifxSpace100;\n display: flex;\n align-self: center;\n }\n\n & .ifx-notification__body {\n display: flex;\n flex-direction: row;\n flex-grow: 1;\n font-size: tokens.$ifxFontSizeS;\n\n & .ifx-notification__slot {\n flex-grow: 1;\n display: inline-flex;\n align-items: center;\n }\n }\n\n & .ifx-notification__link {\n font-size: tokens.$ifxFontSizeS;\n }\n\n @media (max-width: tokens.$ifxBreakpointXs) {\n & .ifx-notification__icon {\n align-self: flex-start;\n }\n\n & .ifx-notification__body {\n flex-direction: column;\n }\n\n & .ifx-notification__link {\n margin-top: tokens.$ifxSpace100;\n }\n }\n}","import { Component, h, Host, Prop, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nexport type NotificationVariant = 'success' | 'locked' | 'error' | 'neutral';\n\n@Component({\n tag: 'ifx-notification',\n styleUrl: 'notification.scss',\n shadow: true\n})\nexport class Notification {\n @Element() el;\n @Prop() icon: string;\n @Prop() variant: NotificationVariant = 'success';\n @Prop() linkText: string; \n @Prop() linkHref: string;\n @Prop() linkTarget: string = '_blank';\n\n componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-notification', framework)\n }\n }\n\n private getClassName(): string {\n switch (this.variant) {\n case 'success':\n return 'ifx-notification__wrapper--success';\n case 'locked':\n return 'ifx-notification__wrapper--locked';\n case 'error':\n return 'ifx-notification__wrapper--error';\n case 'neutral':\n return 'ifx-notification__wrapper--neutral';\n default:\n return 'ifx-notification__wrapper--success';\n }\n }\n\n render() {\n return (\n <Host>\n <div class={\"ifx-notification__wrapper \" + this.getClassName()}>\n <div class=\"ifx-notification__icon\">\n <ifx-icon icon={this.icon}></ifx-icon>\n </div>\n <div class=\"ifx-notification__body\">\n <div class=\"ifx-notification__slot\">\n <slot/>\n </div>\n { this.linkText && this.linkHref && \n <div class=\"ifx-notification__link\">\n <ifx-link href={this.linkHref} target={this.linkTarget}>\n {this.linkText}<ifx-icon icon=\"arrow-right-16\">\n </ifx-icon>\n </ifx-link>\n </div>\n }\n </div>\n </div>\n </Host>\n );\n }\n}"],"mappings":"wIAAA,MAAMA,EAAkB,ooDACxB,MAAAC,EAAeD,E,MCUFE,EAAY,MALzB,WAAAC,CAAAC,G,UAQUC,KAAAC,QAA+B,UAG/BD,KAAAE,WAAqB,Q,CAE7B,gBAAAC,GACE,IAAIC,EAAuBJ,KAAKK,IAAK,CACnC,MAAMC,EAAYC,IAClBC,EAAe,mBAAoBF,E,EAI/B,YAAAG,GACN,OAAQT,KAAKC,SACX,IAAK,UACH,MAAO,qCACT,IAAK,SACH,MAAO,oCACT,IAAK,QACH,MAAO,mCACT,IAAK,UACH,MAAO,qCACT,QACE,MAAO,qC,CAIb,MAAAS,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAO,6BAA+Bd,KAAKS,gBAC9CE,EAAA,OAAAE,IAAA,2CAAKC,MAAM,0BACTH,EAAA,YAAAE,IAAA,2CAAUE,KAAMf,KAAKe,QAEvBJ,EAAA,OAAAE,IAAA,2CAAKC,MAAM,0BACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,0BACTH,EAAA,QAAAE,IAAA,8CAEAb,KAAKgB,UAAYhB,KAAKiB,UACxBN,EAAA,OAAAE,IAAA,2CAAKC,MAAM,0BACTH,EAAA,YAAAE,IAAA,2CAAUK,KAAMlB,KAAKiB,SAAUE,OAAQnB,KAAKE,YACzCF,KAAKgB,SAASL,EAAA,YAAAE,IAAA,2CAAUE,KAAK,uB","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as e,h as t,a as n,g as o}from"./p-b7a462e5.js";import{d as i,t as d}from"./p-fd1c9465.js";import{i as a}from"./p-1ecafb97.js";import{c as r}from"./p-5cdc6210.js";const s=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{vertical-align:bottom;display:inline-flex;width:var(--bw, fit-content)}.btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0px 16px;gap:8px;color:#FFFFFF;font-weight:600;border-radius:1px;line-height:1.5rem;font-family:var(--ifx-font-family);font-style:normal;text-decoration:none;user-select:none;font-size:1rem;transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;width:var(--bw, fit-content)}.btn:not(.disabled){cursor:pointer}.btn.disabled{pointer-events:none}.btn-default{color:#FFFFFF;background-color:#0A8276}.btn-default:disabled,.btn-default.disabled{background-color:#BFBBBB;color:#FFFFFF;pointer-events:none}.btn-secondary-default{background-color:#FFFFFF;color:#0A8276;border:1px solid #0A8276}.btn-secondary-default:disabled,.btn-secondary-default.disabled{background-color:#FFFFFF;border:1px solid #BFBBBB;color:#BFBBBB;pointer-events:none}.btn-tertiary-default{background-color:transparent;color:#0A8276}.btn-tertiary-default:disabled,.btn-tertiary-default.disabled{color:#BFBBBB;pointer-events:none}.btn-danger{color:#FFFFFF;background-color:#CD002F;border-color:#CD002F}.btn-danger:disabled,.btn-danger.disabled{background-color:#BFBBBB;color:#FFFFFF;pointer-events:none}.btn-secondary-danger{background-color:#FFFFFF;color:#CD002F;border:1px solid #CD002F}.btn-secondary-danger:disabled,.btn-secondary-danger.disabled{background-color:#FFFFFF;border:1px solid #BFBBBB;color:#BFBBBB;pointer-events:none}.btn-tertiary-danger{background-color:transparent;color:#CD002F}.btn-tertiary-danger:disabled,.btn-tertiary-danger.disabled{background-color:#FFFFFF;color:#BFBBBB;pointer-events:none}.btn-inverse{color:#0A8276;background-color:#FFFFFF}.btn-inverse:disabled,.btn-inverse.disabled{opacity:1;background-color:#FFFFFF;color:#0A8276;pointer-events:none}.btn-secondary-inverse{color:#FFFFFF;border:1px solid #FFFFFF}.btn-secondary-inverse:disabled,.btn-secondary-inverse.disabled{border:1px solid #FFFFFF;color:#FFFFFF;pointer-events:none}.btn-tertiary-inverse{color:#FFFFFF}.btn-tertiary-inverse:disabled,.btn-tertiary-inverse.disabled{color:#FFFFFF;opacity:1;pointer-events:none}.btn ifx-icon:empty{display:none}.btn.btn-xs{font-size:0.875rem;height:32px;line-height:1rem}.btn.btn-s{font-size:0.875rem;height:36px;line-height:1.25rem}.btn.btn-l{font-size:1.25rem;height:48px;line-height:1.75rem}.btn.btn-default:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #0A8276}.btn.btn-default:not(:disabled,.disabled):hover{background-color:#08665C}.btn.btn-default:not(:disabled,.disabled):active,.btn.btn-default:not(:disabled,.disabled).active{background-color:#06534B}.btn.btn-secondary-default:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #0A8276}.btn.btn-secondary-default:not(:disabled,.disabled):hover{color:#FFFFFF;background-color:#08665C}.btn.btn-secondary-default:not(:disabled,.disabled):active,.btn.btn-secondary-default:not(:disabled,.disabled).active{background-color:#06534B}.btn.btn-secondary:not(:disabled,.disabled):hover{background-color:#9C216E}.btn.btn-secondary:not(:disabled,.disabled):active,.btn.btn-secondary:not(:disabled,.disabled).active{background-color:#9C216E}.btn.btn-danger:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #0A8276}.btn.btn-danger:not(:disabled,.disabled):hover{background-color:#A2001E}.btn.btn-danger:not(:disabled,.disabled):active,.btn.btn-danger:not(:disabled,.disabled).active{background-color:#900021}.btn.btn-secondary-danger:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #0A8276}.btn.btn-secondary-danger:not(:disabled,.disabled):hover{color:#FFFFFF;background-color:#A2001E}.btn.btn-secondary-danger:not(:disabled,.disabled):active,.btn.btn-secondary-danger:not(:disabled,.disabled).active{background-color:#900021}.btn.btn-inverse:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #0A8276, 0 0 0 4px #FFFFFF}.btn.btn-inverse:not(:disabled,.disabled):hover{background-color:#EEEDED}.btn.btn-inverse:not(:disabled,.disabled):active,.btn.btn-inverse:not(:disabled,.disabled).active{background-color:#BFBBBB}.btn.btn-secondary-inverse:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #0A8276, 0 0 0 4px #FFFFFF}.btn.btn-secondary-inverse:not(:disabled,.disabled):hover{color:#0A8276;background-color:#EEEDED}.btn.btn-secondary-inverse:not(:disabled,.disabled):active,.btn.btn-secondary-inverse:not(:disabled,.disabled).active{color:#0A8276;background-color:#BFBBBB}.btn.btn-tertiary-default:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #08665C}.btn.btn-tertiary-default:not(:disabled,.disabled):hover{color:#08665C}.btn.btn-tertiary-default:not(:disabled,.disabled):active,.btn.btn-tertiary-default:not(:disabled,.disabled).active{color:#06534B}.btn.btn-tertiary-danger:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #A2001E}.btn.btn-tertiary-danger:not(:disabled,.disabled):hover{color:#A2001E}.btn.btn-tertiary-danger:not(:disabled,.disabled):active,.btn.btn-tertiary-danger:not(:disabled,.disabled).active{color:#900021}.btn.btn-tertiary-inverse:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #0A8276, 0 0 0 4px #FFFFFF}.btn.btn-tertiary-inverse:not(:disabled,.disabled):hover{color:#EEEDED}.btn.btn-tertiary-inverse:not(:disabled,.disabled):active,.btn.btn-tertiary-inverse:not(:disabled,.disabled).active{color:#BFBBBB}';const b=s;const l=class{constructor(t){e(this,t);this.variant="primary";this.theme="default";this.size="m";this.disabled=false;this.target="_self";this.type="button";this.fullWidth=false;this.handleClick=e=>{if(this.el.shadowRoot){const t=this.el.closest("form");if(t){e.preventDefault();if(this.type==="reset"){this.resetClickHandler()}else{const e=document.createElement("button");if(this.type){e.type=this.type}e.style.display="none";t.appendChild(e);e.click();e.remove()}}}}}setInternalHref(e){this.internalHref=e}async setFocus(){this.focusableElement.focus()}insertNativeButton(){this.nativeButton=document.createElement("button");this.nativeButton.type=this.type;this.nativeButton.style.display="none";this.el.closest("form").appendChild(this.nativeButton)}handleFormAndInternalHref(){if(this.el.closest("form")){if(this.el.href){this.el.internalHref=undefined}this.insertNativeButton()}else{this.internalHref=this.href}}handleButtonWidth(){if(this.fullWidth){this.el.style.setProperty("--bw","100%")}else{this.el.style.setProperty("--bw","fit-content")}}componentWillLoad(){this.handleFormAndInternalHref();if(!a(this.el)){const e=i();d("ifx-button",e)}}componentWillRender(){this.handleButtonWidth()}resetClickHandler(){const e=this.el.closest("form");const t=e.querySelectorAll("ifx-text-field, ifx-textarea");t.forEach((e=>{e.reset()}))}handleKeyDown(e){if(e.key===" "||e.key==="Enter"&&!this.disabled){this.focusableElement.click()}}handleHostClick(e){if(this.disabled===true){e.stopImmediatePropagation()}}handleFocus(e){if(this.disabled){e.preventDefault();this.focusableElement.blur()}}render(){return t(n,{key:"4f6edce27cacd5d9859790e028cabf756b65463b"},t("a",{key:"d3a7759dbd2ed5128c5919e187c70ee82abfc643",role:this.href?"link":"button",tabIndex:this.disabled?-1:0,ref:e=>this.focusableElement=e,class:this.getClassNames(),href:!this.disabled?this.internalHref:undefined,target:this.target,onClick:this.handleClick,rel:this.target==="_blank"?"noopener noreferrer":undefined,onFocus:e=>this.handleFocus(e),"aria-disabled":this.disabled?"true":null,"aria-describedby":this.theme==="danger"?"Dangerous action":undefined,"aria-label":this.ariaLabel||undefined},t("slot",{key:"54e7e801f580008fc48688446cf58b304c283067"})))}getVariantClass(){return`${this.variant}`==="secondary"?`secondary-${this.theme}`:`${this.variant}`==="tertiary"?`tertiary-${this.theme}`:`${this.theme}`}getSizeClass(){if(`${this.size}`==="xs"){return"xs"}else if(`${this.size}`==="s"){return"s"}else if(`${this.size}`==="l"){return"l"}else return""}getClassNames(){return r("btn",this.size&&`btn-${this.getSizeClass()}`,`btn-${this.getVariantClass()}`,this.disabled?"disabled":"")}get el(){return o(this)}static get watchers(){return{href:["setInternalHref"]}}};l.style=b;export{l as ifx_button};
2
- //# sourceMappingURL=p-d791bc09.entry.js.map
1
+ import{r as e,h as t,a as n,g as o}from"./p-b7a462e5.js";import{d as i,t as d}from"./p-fd1c9465.js";import{i as a}from"./p-1ecafb97.js";import{c as r}from"./p-5cdc6210.js";const s=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{vertical-align:bottom;display:inline-flex;width:var(--bw, fit-content)}.btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0px 16px;gap:8px;color:#FFFFFF;font-weight:600;border-radius:1px;line-height:1.5rem;font-family:var(--ifx-font-family);font-style:normal;text-decoration:none;user-select:none;font-size:1rem;transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;width:var(--bw, fit-content)}.btn:not(.disabled){cursor:pointer}.btn.disabled{pointer-events:none}.btn-default{color:#FFFFFF;background-color:#0A8276}.btn-default:disabled,.btn-default.disabled{background-color:#BFBBBB;color:#FFFFFF;pointer-events:none}.btn-secondary-default{background-color:#FFFFFF;color:#0A8276;border:1px solid #0A8276}.btn-secondary-default:disabled,.btn-secondary-default.disabled{background-color:#FFFFFF;border:1px solid #BFBBBB;color:#BFBBBB;pointer-events:none}.btn-tertiary-default{background-color:transparent;color:#0A8276}.btn-tertiary-default:disabled,.btn-tertiary-default.disabled{color:#BFBBBB;pointer-events:none}.btn-danger{color:#FFFFFF;background-color:#CD002F;border-color:#CD002F}.btn-danger:disabled,.btn-danger.disabled{background-color:#BFBBBB;color:#FFFFFF;pointer-events:none}.btn-secondary-danger{background-color:#FFFFFF;color:#CD002F;border:1px solid #CD002F}.btn-secondary-danger:disabled,.btn-secondary-danger.disabled{background-color:#FFFFFF;border:1px solid #BFBBBB;color:#BFBBBB;pointer-events:none}.btn-tertiary-danger{background-color:transparent;color:#CD002F}.btn-tertiary-danger:disabled,.btn-tertiary-danger.disabled{background-color:#FFFFFF;color:#BFBBBB;pointer-events:none}.btn-inverse{color:#0A8276;background-color:#FFFFFF}.btn-inverse:disabled,.btn-inverse.disabled{opacity:1;background-color:#FFFFFF;color:#0A8276;pointer-events:none}.btn-secondary-inverse{color:#FFFFFF;border:1px solid #FFFFFF}.btn-secondary-inverse:disabled,.btn-secondary-inverse.disabled{border:1px solid #FFFFFF;color:#FFFFFF;pointer-events:none}.btn-tertiary-inverse{color:#FFFFFF}.btn-tertiary-inverse:disabled,.btn-tertiary-inverse.disabled{color:#FFFFFF;opacity:1;pointer-events:none}.btn ifx-icon:empty{display:none}.btn.btn-xs{font-size:0.875rem;height:32px;line-height:1rem}.btn.btn-s{font-size:0.875rem;height:36px;line-height:1.25rem}.btn.btn-l{font-size:1.25rem;height:48px;line-height:1.75rem}.btn.btn-default:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #0A8276}.btn.btn-default:not(:disabled,.disabled):hover{background-color:#08665C}.btn.btn-default:not(:disabled,.disabled):active,.btn.btn-default:not(:disabled,.disabled).active{background-color:#06534B}.btn.btn-secondary-default:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #0A8276}.btn.btn-secondary-default:not(:disabled,.disabled):hover{color:#FFFFFF;background-color:#08665C}.btn.btn-secondary-default:not(:disabled,.disabled):active,.btn.btn-secondary-default:not(:disabled,.disabled).active{background-color:#06534B}.btn.btn-secondary:not(:disabled,.disabled):hover{background-color:#9C216E}.btn.btn-secondary:not(:disabled,.disabled):active,.btn.btn-secondary:not(:disabled,.disabled).active{background-color:#9C216E}.btn.btn-danger:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #0A8276}.btn.btn-danger:not(:disabled,.disabled):hover{background-color:#A2001E}.btn.btn-danger:not(:disabled,.disabled):active,.btn.btn-danger:not(:disabled,.disabled).active{background-color:#900021}.btn.btn-secondary-danger:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #0A8276}.btn.btn-secondary-danger:not(:disabled,.disabled):hover{color:#FFFFFF;background-color:#A2001E}.btn.btn-secondary-danger:not(:disabled,.disabled):active,.btn.btn-secondary-danger:not(:disabled,.disabled).active{background-color:#900021}.btn.btn-inverse:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #0A8276, 0 0 0 4px #FFFFFF}.btn.btn-inverse:not(:disabled,.disabled):hover{background-color:#EEEDED}.btn.btn-inverse:not(:disabled,.disabled):active,.btn.btn-inverse:not(:disabled,.disabled).active{background-color:#BFBBBB}.btn.btn-secondary-inverse:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #0A8276, 0 0 0 4px #FFFFFF}.btn.btn-secondary-inverse:not(:disabled,.disabled):hover{color:#0A8276;background-color:#EEEDED}.btn.btn-secondary-inverse:not(:disabled,.disabled):active,.btn.btn-secondary-inverse:not(:disabled,.disabled).active{color:#0A8276;background-color:#BFBBBB}.btn.btn-tertiary-default:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #08665C}.btn.btn-tertiary-default:not(:disabled,.disabled):hover{color:#08665C}.btn.btn-tertiary-default:not(:disabled,.disabled):active,.btn.btn-tertiary-default:not(:disabled,.disabled).active{color:#06534B}.btn.btn-tertiary-danger:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #A2001E}.btn.btn-tertiary-danger:not(:disabled,.disabled):hover{color:#A2001E}.btn.btn-tertiary-danger:not(:disabled,.disabled):active,.btn.btn-tertiary-danger:not(:disabled,.disabled).active{color:#900021}.btn.btn-tertiary-inverse:not(:disabled,.disabled):focus:not(:active,.active){outline:none;box-shadow:0 0 0 2px #0A8276, 0 0 0 4px #FFFFFF}.btn.btn-tertiary-inverse:not(:disabled,.disabled):hover{color:#EEEDED}.btn.btn-tertiary-inverse:not(:disabled,.disabled):active,.btn.btn-tertiary-inverse:not(:disabled,.disabled).active{color:#BFBBBB}';const b=s;const l=class{constructor(t){e(this,t);this.variant="primary";this.theme="default";this.size="m";this.disabled=false;this.target="_self";this.type="button";this.fullWidth=false;this.handleClick=e=>{if(this.el.shadowRoot){const t=this.el.closest("form");if(t){e.preventDefault();if(this.type==="reset"){this.resetClickHandler()}else{const e=document.createElement("button");if(this.type){e.type=this.type}e.style.display="none";t.appendChild(e);e.click();e.remove()}}}}}setInternalHref(e){this.internalHref=e}async setFocus(){this.focusableElement.focus()}insertNativeButton(){this.nativeButton=document.createElement("button");this.nativeButton.type=this.type;this.nativeButton.style.display="none";this.el.closest("form").appendChild(this.nativeButton)}handleFormAndInternalHref(){if(this.el.closest("form")){if(this.el.href){this.el.internalHref=undefined}this.insertNativeButton()}else{this.internalHref=this.href}}handleButtonWidth(){if(this.fullWidth){this.el.style.setProperty("--bw","100%")}else{this.el.style.setProperty("--bw","fit-content")}}componentWillLoad(){this.handleFormAndInternalHref()}componentDidLoad(){if(!a(this.el)){const e=i();d("ifx-button",e)}}componentWillRender(){this.handleButtonWidth()}resetClickHandler(){const e=this.el.closest("form");const t=e.querySelectorAll("ifx-text-field, ifx-textarea");t.forEach((e=>{e.reset()}))}handleKeyDown(e){if(e.key===" "||e.key==="Enter"&&!this.disabled){this.focusableElement.click()}}handleHostClick(e){if(this.disabled===true){e.stopImmediatePropagation()}}handleFocus(e){if(this.disabled){e.preventDefault();this.focusableElement.blur()}}render(){return t(n,{key:"f576e333ecb33a35bfe8418ecdc6fa0616380bd7"},t("a",{key:"625ac29c56e789fcdf6b56d7bead8aba1b287afa",role:this.href?"link":"button",tabIndex:this.disabled?-1:0,ref:e=>this.focusableElement=e,class:this.getClassNames(),href:!this.disabled?this.internalHref:undefined,target:this.target,onClick:this.handleClick,rel:this.target==="_blank"?"noopener noreferrer":undefined,onFocus:e=>this.handleFocus(e),"aria-disabled":this.disabled?"true":null,"aria-describedby":this.theme==="danger"?"Dangerous action":undefined,"aria-label":this.ariaLabel||undefined},t("slot",{key:"ff594217326742db7bc06b25a6f30c1a4b45be04"})))}getVariantClass(){return`${this.variant}`==="secondary"?`secondary-${this.theme}`:`${this.variant}`==="tertiary"?`tertiary-${this.theme}`:`${this.theme}`}getSizeClass(){if(`${this.size}`==="xs"){return"xs"}else if(`${this.size}`==="s"){return"s"}else if(`${this.size}`==="l"){return"l"}else return""}getClassNames(){return r("btn",this.size&&`btn-${this.getSizeClass()}`,`btn-${this.getVariantClass()}`,this.disabled?"disabled":"")}get el(){return o(this)}static get watchers(){return{href:["setInternalHref"]}}};l.style=b;export{l as ifx_button};
2
+ //# sourceMappingURL=p-8a7a7589.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["buttonCss","IfxButtonStyle0","Button","constructor","hostRef","this","variant","theme","size","disabled","target","type","fullWidth","handleClick","ev","el","shadowRoot","parentForm","closest","preventDefault","resetClickHandler","fakeButton","document","createElement","style","display","appendChild","click","remove","setInternalHref","newValue","internalHref","setFocus","focusableElement","focus","insertNativeButton","nativeButton","handleFormAndInternalHref","href","undefined","handleButtonWidth","setProperty","componentWillLoad","componentDidLoad","isNestedInIfxComponent","framework","detectFramework","trackComponent","componentWillRender","formElement","customElements","querySelectorAll","forEach","element","reset","handleKeyDown","key","handleHostClick","event","stopImmediatePropagation","handleFocus","blur","render","h","Host","role","tabIndex","ref","class","getClassNames","onClick","rel","onFocus","ariaLabel","getVariantClass","getSizeClass","classNames"],"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}"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as e,c as t,h as o,a as n,g as i}from"./p-b7a462e5.js";import{d as a,t as s}from"./p-fd1c9465.js";import{i as r}from"./p-1ecafb97.js";function d(e,t,o,n=20,i=0){const a=[];if(i>=n){return a}const s=e=>{const a=e.assignedNodes().filter((e=>e.nodeType===1));if(a.length>0){const e=a[0].parentElement;return d(e,t,o,n,i+1)}return[]};const r=Array.from(e.children||[]);for(const e of r){if(t(e)){continue}if(o(e)){a.push(e)}if(e.shadowRoot!=null){a.push(...d(e.shadowRoot,t,o,n,i+1))}else if(e.tagName==="SLOT"){a.push(...s(e))}else{a.push(...d(e,t,o,n,i+1))}}return a}function c(e){return e.hasAttribute("hidden")||e.hasAttribute("aria-hidden")&&e.getAttribute("aria-hidden")!=="false"||e.style.display===`none`||e.style.opacity===`0`||e.style.visibility===`hidden`||e.style.visibility===`collapse`}function l(e){return e.hasAttribute("disabled")||e.hasAttribute("aria-disabled")&&e.getAttribute("aria-disabled")!=="false"}function f(e){if(e.getAttribute("tabindex")==="-1"||c(e)||l(e)){return false}return e.hasAttribute("tabindex")||(e instanceof HTMLAnchorElement||e instanceof HTMLAreaElement)&&e.hasAttribute("href")||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLIFrameElement}function h(e,t,o){const n=e.animate(t,Object.assign(Object.assign({},o),{fill:"both"}));n.addEventListener("finish",(()=>{n.commitStyles();n.cancel()}));return n}const b={easing:"cubic-bezier(0.390, 0.575, 0.565, 1.000)"};const m={fadeIn:[Object.assign(Object.assign({offset:0},b),{opacity:0}),Object.assign(Object.assign({offset:1},b),{opacity:1})],fadeOut:[Object.assign(Object.assign({offset:0},b),{opacity:1}),Object.assign(Object.assign({offset:1},b),{opacity:0})]};const u=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:block}.modal-container{display:none;justify-content:center;align-items:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:1060;overflow-y:auto;font-family:var(--ifx-font-family)}.modal-container.open{display:flex}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#1D1D1D;opacity:0.5;z-index:0}.modal-content-container{position:absolute;display:flex;justify-content:center;width:90%;min-height:218px;background-color:#fff;border-radius:0;box-shadow:0 2px 10px rgba(0, 0, 0, 0.1);box-sizing:border-box;align-items:stretch}.modal-content-container.no-overflow{overflow:hidden}.modal-content-container.no-overflow .modal-body{overflow-y:auto}@media screen and (min-width: 768px){.modal-content-container{width:540px;min-height:132px}.modal-content-container.m,.modal-content-container.l,.modal-content-container.s{width:90%}}@media screen and (min-width: 1024px){.modal-content-container.s{width:47vw}.modal-content-container.m{width:63vw}.modal-content-container.l{width:80%}}.modal-content{display:flex;flex-direction:column;width:100%;max-height:90vh}.modal-icon-container{display:flex;align-items:center;justify-content:center;width:32px;background-color:#0A8276;align-self:stretch}.modal-icon-container.danger{background-color:#CD002F}.modal-icon-container ifx-icon{color:#FFFFFF}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;min-height:76px;max-height:105px;box-sizing:border-box;border-radius:1px 1px 0px 0px;border-bottom:1px solid #EEEDED}.modal-caption{max-height:56px;display:-webkit-box;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.modal-header h2{margin:0;font-weight:600;font-size:1.25rem;line-height:28px}.modal-header button{background:none;border:none;font-size:1.5em;padding:0;cursor:pointer}.modal-close-button{align-self:flex-start;margin-right:-8px}.modal-body{padding:16px 24px;min-height:56px;box-sizing:border-box;flex:1}.modal-footer.buttons-present ::slotted(*){display:flex;justify-content:flex-end;gap:16px;padding:16px 24px 32px 16px}.modal-border{display:flex;align-items:center;justify-content:center;width:100%;font-size:1.5em;flex-grow:1}.modal-border.primary{background-color:#0A8276}.modal-border.secondary{background-color:#575352}.modal-border.danger{background-color:#CD002F}.modal-border.success{background-color:#4CA460}.modal-border.warning{background-color:#E16B25}.modal-border.orange{background-color:#E16B25}.modal-border.ocean{background-color:#0A8276}.modal-border.grey{background-color:#575352}.modal-border.grey-200{background-color:#EEEDED}.modal-border.red{background-color:#CD002F}.modal-border.green{background-color:#4CA460}.modal-border.berry{background-color:#9C216E}';const p=u;const g=class{constructor(o){e(this,o);this.ifxOpen=t(this,"ifxOpen",7);this.ifxClose=t(this,"ifxClose",7);this.opened=false;this.showModal=this.opened||false;this.caption="Modal Title";this.closeOnOverlayClick=true;this.variant="default";this.size="s";this.alertIcon="";this.okButtonLabel="OK";this.cancelButtonLabel="Cancel";this.slotButtonsPresent=false;this.showCloseButton=true;this.focusableElements=[];this.handleTopFocus=()=>{this.attemptFocus(this.getLastFocusableElement())};this.handleBottomFocus=()=>{this.attemptFocus(this.getFirstFocusableElement())};this.handleKeypress=e=>{if(!this.showModal){return}if(e.key==="Escape"){this.doBeforeClose("ESCAPE_KEY")}}}componentWillLoad(){if(!r(this.hostElement)){const e=a();s("ifx-modal",e)}}componentDidLoad(){this.focusableElements=d(this.hostElement.shadowRoot,(e=>c(e)||e.matches("[data-focus-trap-edge]")),f)}componentWillRender(){if(this.showModal){this.handleComponentOverflow()}}handleComponentOverflow(){const e=this.hostElement.shadowRoot.querySelector(".modal-content-container");if(this.showModal&&this.isModalContentContainerHeightReachedViewport()){e.classList.add("no-overflow")}else if(e===null||e===void 0?void 0:e.classList.contains("no-overflow")){e===null||e===void 0?void 0:e.classList.remove("no-overflow")}}getFirstFocusableElement(){return this.focusableElements[0]}getLastFocusableElement(){return this.focusableElements[this.focusableElements.length-1]}attemptFocus(e){if(e==null){setTimeout((()=>{this.closeButton.focus()}));return}setTimeout((()=>{e.focus()}),0)}open(){this.showModal=true;try{const e=h(this.modalContainer,m.fadeIn,{duration:200});e.addEventListener("finish",(()=>{setTimeout((()=>{var e,t;(e=this.getLastFocusableElement())===null||e===void 0?void 0:e.focus();(t=this.getLastFocusableElement())===null||t===void 0?void 0:t.blur()}),0);this.ifxOpen.emit()}));this.hostElement.addEventListener("keydown",this.handleKeypress)}catch(e){this.ifxOpen.emit()}}close(){try{const e=h(this.modalContainer,m.fadeOut,{duration:200});e.addEventListener("finish",(()=>{this.showModal=false;this.ifxClose.emit()}));this.hostElement.removeEventListener("keydown",this.handleKeypress)}catch(e){this.showModal=false;this.ifxClose.emit()}}doBeforeClose(e){const t=[];t.push(e);const o=t.some((e=>e.defaultPrevented));if(!o){this.opened=false}}openedChanged(e){if(e===true){this.open()}else{this.close()}}handleOverlayClick(){if(this.closeOnOverlayClick){this.doBeforeClose("BACKDROP")}}handleContentUpdate(e){const t=e.target;const o=t.assignedNodes();if(o.length>0){o.forEach((e=>{if(e.observer){e.observer.disconnect();delete e.observer}const t=new MutationObserver(((e,t)=>{for(let t of e){if(t.type==="childList"){if(this.showModal){this.handleComponentOverflow()}}}}));t.observe(e,{attributes:true,childList:true,subtree:true});e.observer=t}))}}handleButtonsSlotChange(e){var t;if(((t=e.currentTarget.assignedElements()[0])===null||t===void 0?void 0:t.childElementCount)>0){this.slotButtonsPresent=true}else{this.slotButtonsPresent=false}}isModalContentContainerHeightReachedViewport(){return new Promise((e=>{setTimeout((()=>{const t=this.hostElement.shadowRoot.querySelector(".modal-content");const o=t.offsetHeight;const n=window.innerHeight;e(o>=n*.9)}),100)}))}render(){const e=this.variant!=="default";return o(n,{key:"24c13df6af069b1d93d4e70c0930bd4381b2dcc1"},o("div",{key:"fc6a23f20309e087dac7665bb71df58ea44669aa",ref:e=>this.modalContainer=e,class:`modal-container ${this.showModal?"open":""}`},o("div",{key:"109e80dce5854beda04fc593efae49bdf8a4d4e0",class:"modal-overlay",onClick:()=>this.handleOverlayClick()}),o("div",{key:"eb35fdaf211ceef40b983d378304a4642fa839e8","data-focus-trap-edge":true,onFocus:this.handleTopFocus,tabindex:"0"}),o("div",{key:"0b7b0108c0563ffc5e14fd8f1c39d4bf3c80c03d",class:`modal-content-container ${this.size}`,role:"dialog","aria-modal":"true","aria-label":this.caption},e?o("div",{class:`modal-icon-container ${this.variant==="alert-brand"?"":"danger"}`},this.alertIcon?o("ifx-icon",{icon:this.alertIcon}):null):null,o("div",{key:"23113f6efc3df7ca24976bde7999f29b21c57a56",class:"modal-content"},o("div",{key:"d89ad9950a9d9ea8b64ab9ad41b3e47ee3a3a8c3",class:"modal-header"},o("h2",{key:"ebad8ef7e759f916325a0a5fe7e87a016f9e169a",class:"modal-caption"},this.caption),this.showCloseButton&&o("ifx-icon-button",{key:"8655efa78858838ee8ec697cb9adad04b27e882b",class:"modal-close-button",ref:e=>this.closeButton=e,icon:"cross-16",variant:"tertiary",onClick:()=>this.doBeforeClose("CLOSE_BUTTON")})),o("div",{key:"71fd706680ffecda83c792639cd3781e739fad74",class:"modal-body"},o("slot",{key:"e9607ce7823d9fc0020ae4c0135612c9bb688984",name:"content",onSlotchange:e=>this.handleContentUpdate(e)})),o("div",{key:"3283f090e75460790a0f31708c34aa54efa77548",class:`modal-footer ${this.slotButtonsPresent?"buttons-present":""}`},o("slot",{key:"59f2179f10110195b68a4f1671aa342209d0e51b",name:"buttons",onSlotchange:e=>this.handleButtonsSlotChange(e)})))),o("div",{key:"f3e0591f72a4e3f756fc1e3378e27733d3ee2707","data-focus-trap-edge":true,onFocus:this.handleBottomFocus,tabindex:"0"})))}get hostElement(){return i(this)}static get watchers(){return{opened:["openedChanged"]}}};g.style=p;export{g as ifx_modal};
2
- //# sourceMappingURL=p-29b23ff4.entry.js.map
1
+ import{r as e,c as t,h as o,a as n,g as i}from"./p-b7a462e5.js";import{d as a,t as s}from"./p-fd1c9465.js";import{i as r}from"./p-1ecafb97.js";function d(e,t,o,n=20,i=0){const a=[];if(i>=n){return a}const s=e=>{const a=e.assignedNodes().filter((e=>e.nodeType===1));if(a.length>0){const e=a[0].parentElement;return d(e,t,o,n,i+1)}return[]};const r=Array.from(e.children||[]);for(const e of r){if(t(e)){continue}if(o(e)){a.push(e)}if(e.shadowRoot!=null){a.push(...d(e.shadowRoot,t,o,n,i+1))}else if(e.tagName==="SLOT"){a.push(...s(e))}else{a.push(...d(e,t,o,n,i+1))}}return a}function c(e){return e.hasAttribute("hidden")||e.hasAttribute("aria-hidden")&&e.getAttribute("aria-hidden")!=="false"||e.style.display===`none`||e.style.opacity===`0`||e.style.visibility===`hidden`||e.style.visibility===`collapse`}function l(e){return e.hasAttribute("disabled")||e.hasAttribute("aria-disabled")&&e.getAttribute("aria-disabled")!=="false"}function f(e){if(e.getAttribute("tabindex")==="-1"||c(e)||l(e)){return false}return e.hasAttribute("tabindex")||(e instanceof HTMLAnchorElement||e instanceof HTMLAreaElement)&&e.hasAttribute("href")||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLIFrameElement}function h(e,t,o){const n=e.animate(t,Object.assign(Object.assign({},o),{fill:"both"}));n.addEventListener("finish",(()=>{n.commitStyles();n.cancel()}));return n}const b={easing:"cubic-bezier(0.390, 0.575, 0.565, 1.000)"};const m={fadeIn:[Object.assign(Object.assign({offset:0},b),{opacity:0}),Object.assign(Object.assign({offset:1},b),{opacity:1})],fadeOut:[Object.assign(Object.assign({offset:0},b),{opacity:1}),Object.assign(Object.assign({offset:1},b),{opacity:0})]};const u=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:block}.modal-container{display:none;justify-content:center;align-items:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:1060;overflow-y:auto;font-family:var(--ifx-font-family)}.modal-container.open{display:flex}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#1D1D1D;opacity:0.5;z-index:0}.modal-content-container{position:absolute;display:flex;justify-content:center;width:90%;min-height:218px;background-color:#fff;border-radius:0;box-shadow:0 2px 10px rgba(0, 0, 0, 0.1);box-sizing:border-box;align-items:stretch}.modal-content-container.no-overflow{overflow:hidden}.modal-content-container.no-overflow .modal-body{overflow-y:auto}@media screen and (min-width: 768px){.modal-content-container{width:540px;min-height:132px}.modal-content-container.m,.modal-content-container.l,.modal-content-container.s{width:90%}}@media screen and (min-width: 1024px){.modal-content-container.s{width:47vw}.modal-content-container.m{width:63vw}.modal-content-container.l{width:80%}}.modal-content{display:flex;flex-direction:column;width:100%;max-height:90vh}.modal-icon-container{display:flex;align-items:center;justify-content:center;width:32px;background-color:#0A8276;align-self:stretch}.modal-icon-container.danger{background-color:#CD002F}.modal-icon-container ifx-icon{color:#FFFFFF}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;min-height:76px;max-height:105px;box-sizing:border-box;border-radius:1px 1px 0px 0px;border-bottom:1px solid #EEEDED}.modal-caption{max-height:56px;display:-webkit-box;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.modal-header h2{margin:0;font-weight:600;font-size:1.25rem;line-height:28px}.modal-header button{background:none;border:none;font-size:1.5em;padding:0;cursor:pointer}.modal-close-button{align-self:flex-start;margin-right:-8px}.modal-body{padding:16px 24px;min-height:56px;box-sizing:border-box;flex:1}.modal-footer.buttons-present ::slotted(*){display:flex;justify-content:flex-end;gap:16px;padding:16px 24px 32px 16px}.modal-border{display:flex;align-items:center;justify-content:center;width:100%;font-size:1.5em;flex-grow:1}.modal-border.primary{background-color:#0A8276}.modal-border.secondary{background-color:#575352}.modal-border.danger{background-color:#CD002F}.modal-border.success{background-color:#4CA460}.modal-border.warning{background-color:#E16B25}.modal-border.orange{background-color:#E16B25}.modal-border.ocean{background-color:#0A8276}.modal-border.grey{background-color:#575352}.modal-border.grey-200{background-color:#EEEDED}.modal-border.red{background-color:#CD002F}.modal-border.green{background-color:#4CA460}.modal-border.berry{background-color:#9C216E}';const p=u;const g=class{constructor(o){e(this,o);this.ifxOpen=t(this,"ifxOpen",7);this.ifxClose=t(this,"ifxClose",7);this.opened=false;this.showModal=this.opened||false;this.caption="Modal Title";this.closeOnOverlayClick=true;this.variant="default";this.size="s";this.alertIcon="";this.okButtonLabel="OK";this.cancelButtonLabel="Cancel";this.slotButtonsPresent=false;this.showCloseButton=true;this.focusableElements=[];this.handleTopFocus=()=>{this.attemptFocus(this.getLastFocusableElement())};this.handleBottomFocus=()=>{this.attemptFocus(this.getFirstFocusableElement())};this.handleKeypress=e=>{if(!this.showModal){return}if(e.key==="Escape"){this.doBeforeClose("ESCAPE_KEY")}}}componentDidLoad(){if(!r(this.hostElement)){const e=a();s("ifx-modal",e)}this.focusableElements=d(this.hostElement.shadowRoot,(e=>c(e)||e.matches("[data-focus-trap-edge]")),f)}componentWillRender(){if(this.showModal){this.handleComponentOverflow()}}handleComponentOverflow(){const e=this.hostElement.shadowRoot.querySelector(".modal-content-container");if(this.showModal&&this.isModalContentContainerHeightReachedViewport()){e.classList.add("no-overflow")}else if(e===null||e===void 0?void 0:e.classList.contains("no-overflow")){e===null||e===void 0?void 0:e.classList.remove("no-overflow")}}getFirstFocusableElement(){return this.focusableElements[0]}getLastFocusableElement(){return this.focusableElements[this.focusableElements.length-1]}attemptFocus(e){if(e==null){setTimeout((()=>{this.closeButton.focus()}));return}setTimeout((()=>{e.focus()}),0)}open(){this.showModal=true;try{const e=h(this.modalContainer,m.fadeIn,{duration:200});e.addEventListener("finish",(()=>{setTimeout((()=>{var e,t;(e=this.getLastFocusableElement())===null||e===void 0?void 0:e.focus();(t=this.getLastFocusableElement())===null||t===void 0?void 0:t.blur()}),0);this.ifxOpen.emit()}));this.hostElement.addEventListener("keydown",this.handleKeypress)}catch(e){this.ifxOpen.emit()}}close(){try{const e=h(this.modalContainer,m.fadeOut,{duration:200});e.addEventListener("finish",(()=>{this.showModal=false;this.ifxClose.emit()}));this.hostElement.removeEventListener("keydown",this.handleKeypress)}catch(e){this.showModal=false;this.ifxClose.emit()}}doBeforeClose(e){const t=[];t.push(e);const o=t.some((e=>e.defaultPrevented));if(!o){this.opened=false}}openedChanged(e){if(e===true){this.open()}else{this.close()}}handleOverlayClick(){if(this.closeOnOverlayClick){this.doBeforeClose("BACKDROP")}}handleContentUpdate(e){const t=e.target;const o=t.assignedNodes();if(o.length>0){o.forEach((e=>{if(e.observer){e.observer.disconnect();delete e.observer}const t=new MutationObserver(((e,t)=>{for(let t of e){if(t.type==="childList"){if(this.showModal){this.handleComponentOverflow()}}}}));t.observe(e,{attributes:true,childList:true,subtree:true});e.observer=t}))}}handleButtonsSlotChange(e){var t;if(((t=e.currentTarget.assignedElements()[0])===null||t===void 0?void 0:t.childElementCount)>0){this.slotButtonsPresent=true}else{this.slotButtonsPresent=false}}isModalContentContainerHeightReachedViewport(){return new Promise((e=>{setTimeout((()=>{const t=this.hostElement.shadowRoot.querySelector(".modal-content");const o=t.offsetHeight;const n=window.innerHeight;e(o>=n*.9)}),100)}))}render(){const e=this.variant!=="default";return o(n,{key:"a6abb7c42860fb162bb5c31cb7deb1c18b1ff9dd"},o("div",{key:"7793092dbb3783d4e63f96e88d535ec9e1801787",ref:e=>this.modalContainer=e,class:`modal-container ${this.showModal?"open":""}`},o("div",{key:"78ffab400681f680d8318a17f3d3731a39f29d64",class:"modal-overlay",onClick:()=>this.handleOverlayClick()}),o("div",{key:"d2a6c10e664adf0eba31597501d6de7db50740b4","data-focus-trap-edge":true,onFocus:this.handleTopFocus,tabindex:"0"}),o("div",{key:"7c503f8799ece4c7ad6531c4538f61d4268bf8bf",class:`modal-content-container ${this.size}`,role:"dialog","aria-modal":"true","aria-label":this.caption},e?o("div",{class:`modal-icon-container ${this.variant==="alert-brand"?"":"danger"}`},this.alertIcon?o("ifx-icon",{icon:this.alertIcon}):null):null,o("div",{key:"9f91df2ba1923d1f54abe25ffbdf7f624a5fd4af",class:"modal-content"},o("div",{key:"9ac1e22c6d7b7204817190171d8abe671e79fa12",class:"modal-header"},o("h2",{key:"1946ff802f31ef0963f3bb4baf98a33275b1df9b",class:"modal-caption"},this.caption),this.showCloseButton&&o("ifx-icon-button",{key:"dc85ef0a50f668fc7765e430a07f82a1a519d276",class:"modal-close-button",ref:e=>this.closeButton=e,icon:"cross-16",variant:"tertiary",onClick:()=>this.doBeforeClose("CLOSE_BUTTON")})),o("div",{key:"629463ad78aa4d2163b72aeaff506abf173e441c",class:"modal-body"},o("slot",{key:"83b79b4116cbe87d47de6970526eb3ffc8e5f0ff",name:"content",onSlotchange:e=>this.handleContentUpdate(e)})),o("div",{key:"cb5b4afecb2d2ed2cc3529871fa7a28ed87aefec",class:`modal-footer ${this.slotButtonsPresent?"buttons-present":""}`},o("slot",{key:"44f2c8129ec640584497ed260aacb9e8689a027b",name:"buttons",onSlotchange:e=>this.handleButtonsSlotChange(e)})))),o("div",{key:"eccb9ec511a9ce19c93e19800d78b6b41db364ff","data-focus-trap-edge":true,onFocus:this.handleBottomFocus,tabindex:"0"})))}get hostElement(){return i(this)}static get watchers(){return{opened:["openedChanged"]}}};g.style=p;export{g as ifx_modal};
2
+ //# sourceMappingURL=p-98a2d242.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["queryShadowRoot","root","skipNode","isMatch","maxDepth","depth","matches","traverseSlot","$slot","assignedNodes","filter","node","nodeType","length","$slotParent","parentElement","children","Array","from","$child","push","shadowRoot","tagName","isHidden","$elem","hasAttribute","getAttribute","style","display","opacity","visibility","isDisabled","isFocusable","HTMLAnchorElement","HTMLAreaElement","HTMLButtonElement","HTMLInputElement","HTMLTextAreaElement","HTMLSelectElement","HTMLIFrameElement","animationTo","element","keyframes","options","animated","animate","Object","assign","fill","addEventListener","commitStyles","cancel","keyframeDefaults","easing","KEYFRAMES","fadeIn","offset","fadeOut","modalCss","IfxModalStyle0","IfxModal","constructor","hostRef","this","opened","showModal","caption","closeOnOverlayClick","variant","size","alertIcon","okButtonLabel","cancelButtonLabel","slotButtonsPresent","showCloseButton","focusableElements","handleTopFocus","attemptFocus","getLastFocusableElement","handleBottomFocus","getFirstFocusableElement","handleKeypress","event","key","doBeforeClose","componentDidLoad","isNestedInIfxComponent","hostElement","framework","detectFramework","trackComponent","el","componentWillRender","handleComponentOverflow","modalContentContainer","querySelector","isModalContentContainerHeightReachedViewport","classList","add","contains","remove","setTimeout","closeButton","focus","open","anim","modalContainer","duration","_a","_b","blur","ifxOpen","emit","err","close","ifxClose","removeEventListener","trigger","triggers","prevented","some","defaultPrevented","openedChanged","newValue","handleOverlayClick","handleContentUpdate","e","slotElement","target","nodes","forEach","observer","disconnect","MutationObserver","mutationsList","_","mutation","type","observe","attributes","childList","subtree","handleButtonsSlotChange","currentTarget","assignedElements","childElementCount","Promise","resolve","modalContent","modalContentHeight","offsetHeight","viewportHeight","window","innerHeight","render","isAlertVariant","h","Host","ref","class","onClick","onFocus","tabindex","role","icon","name","onSlotchange"],"sources":["src/global/utils/focus-trap.ts","src/global/utils/animation.ts","src/components/modal/modal.scss?tag=ifx-modal&encapsulation=shadow","src/components/modal/modal.tsx"],"sourcesContent":["/**\n * Copy/pasted from https://github.com/andreasbm/focus-trap\n */\n\n/**\n * Traverses the slots of the open shadowroots and returns all children matching the query.\n * We need to traverse each child-depth one at a time because if an element should be skipped\n * (for example because it is hidden) we need to skip all of it's children. If we use querySelectorAll(\"*\")\n * the information of whether the children is within a hidden parent is lost.\n * @param {ShadowRoot | HTMLElement} root\n * @param skipNode\n * @param isMatch\n * @param {number} maxDepth\n * @param {number} depth\n * @returns {HTMLElement[]}\n */\nexport function queryShadowRoot(\n root: ShadowRoot | HTMLElement,\n skipNode: ($elem: HTMLElement) => boolean,\n isMatch: ($elem: HTMLElement) => boolean,\n maxDepth: number = 20,\n depth: number = 0\n): HTMLElement[] {\n const matches: HTMLElement[] = [];\n\n // If the depth is above the max depth, abort the searching here.\n if (depth >= maxDepth) {\n return matches;\n }\n\n // Traverses a slot element\n const traverseSlot = ($slot: HTMLSlotElement) => {\n // Only check nodes that are of the type Node.ELEMENT_NODE\n // Read more here https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n const assignedNodes = $slot\n .assignedNodes()\n .filter((node) => node.nodeType === 1);\n if (assignedNodes.length > 0) {\n const $slotParent = assignedNodes[0].parentElement!;\n return queryShadowRoot(\n $slotParent,\n skipNode,\n isMatch,\n maxDepth,\n depth + 1\n );\n }\n\n return [];\n };\n\n // Go through each child and continue the traversing if necessary\n // Even though the typing says that children can't be undefined, Edge 15 sometimes gives an undefined value.\n // Therefore we fallback to an empty array if it is undefined.\n const children = Array.from(root.children || []) as HTMLElement[];\n for (const $child of children) {\n // Check if the element and its descendants should be skipped\n if (skipNode($child)) {\n // console.log('-- SKIP', $child);\n continue;\n }\n\n // console.log('$child', $child);\n\n // If the element matches we always add it\n if (isMatch($child)) {\n matches.push($child);\n }\n\n if ($child.shadowRoot != null) {\n // If the element has a shadow root we need to traverse it\n matches.push(\n ...queryShadowRoot(\n $child.shadowRoot,\n skipNode,\n isMatch,\n maxDepth,\n depth + 1\n )\n );\n } else if ($child.tagName === 'SLOT') {\n // If the child is a slot we need to traverse each assigned node\n matches.push(...traverseSlot($child as HTMLSlotElement));\n } else {\n // Traverse the children of the element\n matches.push(\n ...queryShadowRoot($child, skipNode, isMatch, maxDepth, depth + 1)\n );\n }\n }\n\n return matches;\n}\n\n/**\n * Returns whether the element is hidden.\n * @param $elem\n */\nexport function isHidden($elem: HTMLElement): boolean {\n return (\n $elem.hasAttribute('hidden') ||\n ($elem.hasAttribute('aria-hidden') &&\n $elem.getAttribute('aria-hidden') !== 'false') ||\n // A quick and dirty way to check whether the element is hidden.\n // For a more fine-grained check we could use \"window.getComputedStyle\" but we don't because of bad performance.\n // If the element has visibility set to \"hidden\" or \"collapse\", display set to \"none\" or opacity set to \"0\" through CSS\n // we won't be able to catch it here. We accept it due to the huge performance benefits.\n $elem.style.display === `none` ||\n $elem.style.opacity === `0` ||\n $elem.style.visibility === `hidden` ||\n $elem.style.visibility === `collapse`\n );\n\n // If offsetParent is null we can assume that the element is hidden\n // https://stackoverflow.com/questions/306305/what-would-make-offsetparent-null\n // || $elem.offsetParent == null;\n}\n\n/**\n * Returns whether the element is disabled.\n * @param $elem\n */\nexport function isDisabled($elem: HTMLElement): boolean {\n return (\n $elem.hasAttribute('disabled') ||\n ($elem.hasAttribute('aria-disabled') &&\n $elem.getAttribute('aria-disabled') !== 'false')\n );\n}\n\n/**\n * Determines whether an element is focusable.\n * Read more here: https://stackoverflow.com/questions/1599660/which-html-elements-can-receive-focus/1600194#1600194\n * Or here: https://stackoverflow.com/questions/18261595/how-to-check-if-a-dom-element-is-focusable\n * @param $elem\n */\nexport function isFocusable($elem: HTMLElement): boolean {\n // Discard elements that are removed from the tab order.\n if (\n $elem.getAttribute('tabindex') === '-1' ||\n isHidden($elem) ||\n isDisabled($elem)\n ) {\n return false;\n }\n\n return (\n // At this point we know that the element can have focus (eg. won't be -1) if the tabindex attribute exists\n $elem.hasAttribute('tabindex') ||\n // Anchor tags or area tags with a href set\n (($elem instanceof HTMLAnchorElement || $elem instanceof HTMLAreaElement) &&\n $elem.hasAttribute('href')) ||\n // Form elements which are not disabled\n $elem instanceof HTMLButtonElement ||\n $elem instanceof HTMLInputElement ||\n $elem instanceof HTMLTextAreaElement ||\n $elem instanceof HTMLSelectElement ||\n // IFrames\n $elem instanceof HTMLIFrameElement\n );\n}","export function animationTo(\n element: HTMLElement,\n keyframes: Keyframe | Keyframe[],\n options?: KeyframeAnimationOptions\n) {\n const animated = element.animate(keyframes, { ...options, fill: 'both' });\n animated.addEventListener('finish', () => {\n // @ts-ignore\n animated.commitStyles();\n animated.cancel();\n });\n\n return animated;\n}\n\nconst keyframeDefaults = {\n easing: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\n};\n\nexport const KEYFRAMES = {\n fadeIn: [\n {\n offset: 0,\n ...keyframeDefaults,\n opacity: 0,\n },\n {\n offset: 1,\n ...keyframeDefaults,\n opacity: 1,\n },\n ],\n fadeOut: [\n {\n offset: 0,\n ...keyframeDefaults,\n opacity: 1,\n },\n {\n offset: 1,\n ...keyframeDefaults,\n opacity: 0,\n },\n ],\n};","@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: block;\n}\n\n.modal-container {\n display: none;\n justify-content: center;\n align-items: center;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1060;\n overflow-y: auto;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n}\n\n.modal-container.open {\n display: flex;\n}\n\n.modal-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: tokens.$ifxColorBaseBlack;\n opacity: 0.5;\n z-index: 0;\n}\n\n.modal-content-container {\n position: absolute;\n display: flex;\n justify-content: center;\n width: 90%;\n min-height: 218px;\n background-color: #fff;\n border-radius: tokens.$ifxBorderRadiusNone;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n \n //overflow: hidden;\n\n box-sizing: border-box;\n align-items: stretch;\n}\n\n.modal-content-container {\n &.no-overflow { \n overflow: hidden;\n & .modal-body { \n overflow-y: auto;\n }\n }\n}\n\n/* Add desktop size here */\n@media screen and (min-width: 768px) {\n .modal-content-container {\n width: 540px;\n min-height: 132px;\n\n &.m,\n &.l,\n &.s {\n width: 90%;\n }\n }\n}\n\n@media screen and (min-width: 1024px) {\n .modal-content-container {\n\n &.s {\n width: 47vw;\n }\n\n &.m {\n width: 63vw;\n }\n\n &.l {\n width: 80%;\n }\n }\n}\n\n.modal-content {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-height: 90vh;\n}\n\n.modal-icon-container {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n background-color: tokens.$ifxColorOcean500;\n align-self: stretch;\n\n &.danger {\n background-color: tokens.$ifxColorRed500;\n }\n\n & ifx-icon {\n color: tokens.$ifxColorBaseWhite;\n }\n}\n\n.modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 24px;\n min-height: 76px;\n max-height: 105px;\n box-sizing: border-box;\n border-radius: 1px 1px 0px 0px;\n border-bottom: 1px solid tokens.$ifxColorEngineering200;\n}\n\n.modal-caption {\n max-height: 56px;\n display: -webkit-box;\n overflow: hidden;\n white-space: pre-wrap;\n word-wrap: break-word;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical; \n}\n\n.modal-header h2 {\n margin: 0;\n font-weight: tokens.$ifxFontWeightSemibold;\n font-size: tokens.$ifxFontSizeXl;\n line-height: 28px;\n}\n\n.modal-header button {\n background: none;\n border: none;\n font-size: 1.5em;\n padding: 0;\n cursor: pointer;\n}\n\n.modal-close-button {\n align-self: flex-start;\n margin-right: -8px;\n}\n\n.modal-body {\n padding: 16px 24px;\n min-height: 56px;\n box-sizing: border-box;\n flex: 1;\n \n //overflow-y: auto;\n}\n\n.modal-footer.buttons-present ::slotted(*){\n display: flex;\n justify-content: flex-end;\n gap: 16px;\n padding: 16px 24px 32px 16px\n}\n\n.modal-border {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n font-size: 1.5em;\n flex-grow: 1;\n\n &.primary {\n background-color: tokens.$ifxColorOcean500;\n }\n\n &.secondary {\n background-color: tokens.$ifxColorEngineering500;\n }\n\n &.danger {\n background-color: tokens.$ifxColorRed500;\n }\n\n &.success {\n background-color: tokens.$ifxColorGreen500;\n }\n\n &.warning {\n background-color: tokens.$ifxColorOrange500;\n }\n\n &.orange {\n background-color: tokens.$ifxColorOrange500;\n }\n\n &.ocean {\n background-color: tokens.$ifxColorOcean500;\n }\n\n &.grey {\n background-color: tokens.$ifxColorEngineering500;\n }\n\n &.grey-200 {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &.red {\n background-color: tokens.$ifxColorRed500;\n }\n\n &.green {\n background-color: tokens.$ifxColorGreen500;\n }\n\n &.berry {\n background-color: tokens.$ifxColorBerry500;\n }\n}","import { Component, Prop, Element, State, Event, Host, EventEmitter, h, Watch } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nimport { queryShadowRoot, isHidden, isFocusable } from '../../global/utils/focus-trap';\nimport { animationTo, KEYFRAMES } from '../../global/utils/animation';\n \ntype CloseEventTrigger = 'CLOSE_BUTTON' | 'ESCAPE_KEY' | 'BACKDROP';\n\nexport interface BeforeCloseEventDetail {\n trigger: CloseEventTrigger;\n}\n@Component({\n tag: 'ifx-modal',\n styleUrl: 'modal.scss',\n shadow: true\n})\nexport class IfxModal {\n @Prop({ reflect: true, mutable: true }) opened?: boolean = false;\n @State() showModal: boolean = this.opened || false;\n\n @Prop() caption: string = 'Modal Title';\n @Prop() closeOnOverlayClick: boolean = true;\n\n @Event() ifxOpen: EventEmitter;\n @Event() ifxClose: EventEmitter;\n\n @Prop() variant: 'default' | 'alert-brand' | 'alert-danger' = 'default';\n \n @Prop() size: 's' | 'm' | 'l' = 's';\n\n @Prop() alertIcon: string = '';\n @Prop() okButtonLabel: string = 'OK';\n @Prop() cancelButtonLabel: string = 'Cancel';\n @Element() hostElement: HTMLElement;\n\n @State() slotButtonsPresent: boolean = false;\n\n @Prop() showCloseButton: boolean = true;\n\n private modalContainer: HTMLElement;\n private focusableElements: HTMLElement[] = [];\n private closeButton: HTMLButtonElement | HTMLIfxIconButtonElement;\n\n componentDidLoad() {\n if(!isNestedInIfxComponent(this.hostElement)) { \n const framework = detectFramework();\n trackComponent('ifx-modal', framework)\n }\n // Query all focusable elements and store them in `focusableElements`.\n // Needed for the \"focus trap\" functionality.\n this.focusableElements = queryShadowRoot(\n this.hostElement.shadowRoot,\n (el) => isHidden(el) || el.matches('[data-focus-trap-edge]'),\n isFocusable\n );\n }\n\n componentWillRender() { \n if(this.showModal) { \n this.handleComponentOverflow();\n }\n }\n\n handleComponentOverflow() { \n const modalContentContainer = this.hostElement.shadowRoot.querySelector('.modal-content-container');\n if (this.showModal && this.isModalContentContainerHeightReachedViewport()) {\n modalContentContainer.classList.add('no-overflow')\n } else if(modalContentContainer?.classList.contains('no-overflow')) { \n modalContentContainer?.classList.remove('no-overflow')\n }\n }\n\n getFirstFocusableElement(): HTMLElement | null {\n return this.focusableElements[0];\n }\n\n getLastFocusableElement(): HTMLElement | null {\n return this.focusableElements[this.focusableElements.length - 1];\n }\n\n handleTopFocus = () => {\n this.attemptFocus(this.getLastFocusableElement());\n };\n\n handleBottomFocus = () => {\n this.attemptFocus(this.getFirstFocusableElement());\n };\n\n attemptFocus(element: HTMLElement | null) {\n if (element == null) {\n setTimeout(() => { //wait until DOM is fully loaded\n this.closeButton.focus();\n },);\n return;\n }\n\n setTimeout(() => { //wait until DOM is fully loaded\n element.focus();\n }, 0);\n }\n\n open() {\n this.showModal = true;\n try {\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeIn, {\n duration: 200,\n });\n anim.addEventListener('finish', () => {\n // Setting focus on last item and removing immediately\n // so, on tab press first element is focused\n setTimeout(() => {\n this.getLastFocusableElement()?.focus();\n this.getLastFocusableElement()?.blur();\n }, 0);\n\n this.ifxOpen.emit();\n });\n\n this.hostElement.addEventListener('keydown', this.handleKeypress);\n } catch (err) {\n this.ifxOpen.emit();\n }\n }\n\n close() {\n try {\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeOut, {\n duration: 200,\n });\n anim.addEventListener('finish', () => {\n this.showModal = false;\n this.ifxClose.emit();\n });\n this.hostElement.removeEventListener('keydown', this.handleKeypress);\n } catch (err) {\n this.showModal = false;\n this.ifxClose.emit();\n }\n }\n\n handleKeypress = (event: KeyboardEvent) => {\n if (!this.showModal) {\n return;\n }\n if (event.key === 'Escape') {\n this.doBeforeClose('ESCAPE_KEY');\n }\n };\n\n doBeforeClose(trigger: CloseEventTrigger) {\n const triggers = [];\n triggers.push(trigger);\n const prevented = triggers.some((event) => event.defaultPrevented);\n if (!prevented) {\n this.opened = false;\n }\n }\n\n @Watch('opened')\n openedChanged(newValue) {\n if (newValue === true) {\n this.open();\n } else {\n this.close()\n }\n }\n\n handleOverlayClick() {\n if (this.closeOnOverlayClick) {\n this.doBeforeClose('BACKDROP')\n }\n }\n\n handleContentUpdate(e) {\n const slotElement = e.target;\n const nodes = slotElement.assignedNodes();\n if(nodes.length > 0) {\n nodes.forEach(node => {\n if (node.observer) {\n node.observer.disconnect();\n delete node.observer;\n }\n const observer = new MutationObserver((mutationsList, _) => {\n for(let mutation of mutationsList) {\n if (mutation.type === 'childList') {\n if(this.showModal) { \n this.handleComponentOverflow();\n }\n }\n }\n });\n observer.observe(node, { attributes: true, childList: true, subtree: true });\n node.observer = observer;\n });\n } \n }\n\n handleButtonsSlotChange(e) {\n if(e.currentTarget.assignedElements()[0]?.childElementCount > 0) {\n this.slotButtonsPresent = true;\n }else{\n this.slotButtonsPresent = false;\n }\n }\n\n isModalContentContainerHeightReachedViewport() {\n //Adding timeout for proper height detection on Edge browser\n return new Promise(resolve => {\n setTimeout(() => {\n const modalContent = this.hostElement.shadowRoot.querySelector('.modal-content') as HTMLElement;\n const modalContentHeight = modalContent.offsetHeight;\n const viewportHeight = window.innerHeight;\n resolve(modalContentHeight >= viewportHeight * 0.9);\n }, 100);\n });\n}\n\n\n render() {\n const isAlertVariant = this.variant !== 'default';\n return (\n <Host>\n <div\n ref={(el) => (this.modalContainer = el)}\n class={`modal-container ${this.showModal ? 'open' : ''}`}\n >\n <div\n class=\"modal-overlay\"\n onClick={() => this.handleOverlayClick()}\n ></div>\n <div\n data-focus-trap-edge\n onFocus={this.handleTopFocus}\n tabindex=\"0\"\n ></div>\n <div\n class={`modal-content-container ${this.size}`}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={this.caption}>\n {isAlertVariant ? (\n <div class={`modal-icon-container ${this.variant === 'alert-brand' ? '' : 'danger'}`}>\n {this.alertIcon ? <ifx-icon icon={this.alertIcon} /> : null}\n </div>\n ) : null}\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h2 class=\"modal-caption\">{this.caption}</h2>\n { \n this.showCloseButton && \n <ifx-icon-button class = 'modal-close-button' ref={(el) => (this.closeButton = el)} icon=\"cross-16\" variant=\"tertiary\" onClick={() => this.doBeforeClose('CLOSE_BUTTON') }>\n </ifx-icon-button>\n }\n </div>\n <div class=\"modal-body\">\n <slot name=\"content\" onSlotchange={(e) => this.handleContentUpdate(e)} />\n </div>\n <div class={`modal-footer ${this.slotButtonsPresent ? 'buttons-present' : ''}`}>\n <slot name=\"buttons\" onSlotchange={(e)=>this.handleButtonsSlotChange(e)}>\n </slot>\n </div>\n </div>\n </div>\n <div\n data-focus-trap-edge\n onFocus={this.handleBottomFocus}\n tabindex=\"0\"\n ></div>\n </div>\n </Host>\n\n );\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as e,h as i,g as t}from"./p-b7a462e5.js";import{d as n,t as l}from"./p-fd1c9465.js";import{i as o}from"./p-1ecafb97.js";import{c as r}from"./p-5cdc6210.js";const s=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:inline-flex}.link{display:inline-flex;align-items:center;font-weight:400;font-size:1rem;text-decoration:none;color:#0A8276;gap:8px;line-height:1.6;font-family:var(--ifx-font-family)}.link:hover{cursor:pointer}.link:focus{outline-width:2px;outline-style:solid;outline-color:#0A8276;outline-offset:4px;border-radius:3px}.link.bold{font-weight:600}.link.bold:hover{text-decoration:underline}.link.bold:active{color:#08665C;font-style:normal;font-weight:600;text-decoration:underline}.link.underlined{text-decoration:underline;text-decoration-color:#0A8276;color:#1D1D1D;text-underline-offset:8px}.link.underlined:hover{color:#0A8276}.link.underlined:active{color:#0A8276}.link.underlined:disabled,.link.underlined.disabled{text-decoration-color:#BFBBBB}.link.title{text-decoration:none;font-weight:600;color:#1D1D1D}.link.title:hover{color:#0A8276}.link.title:active{color:#08665C}.link.menu{font-weight:400;font-style:normal;line-height:26px;color:#1D1D1D}.link.menu:hover{color:#0A8276}.link.menu:active{color:#08665C}.link.small{font-size:0.875rem}.link.medium{font-size:1rem}.link.large{font-size:1.125rem}.link.extraLarge{font-size:1.25rem}.link.underline{text-decoration:underline}.link:disabled,.link.disabled{color:#BFBBBB;cursor:default;pointer-events:none}';const d=s;const a=class{constructor(i){e(this,i);this.href=undefined;this.target="_self";this.variant="bold";this.disabled=false;this.internalHref="";this.internalTarget="";this.internalVariant=""}setInternalStates(){if(this.href){this.internalHref=this.href.trim()}else{this.internalHref=undefined}this.internalTarget=this.target.trim();this.internalVariant=this.variant.trim().toLowerCase()}componentWillRender(){this.setInternalStates()}handleKeyDown(e){if(this.disabled){e.preventDefault()}else if(e.key==="Enter"){e.preventDefault()}}componentWillLoad(){if(!o(this.el)){const e=n();l("ifx-link",e)}}render(){return i("a",{key:"50e6c71c8bea66f21bb620ddf7b9543b4d1b3b1e",role:"link","aria-label":this.ariaLabel,"aria-disabled":this.disabled||!this.internalHref,href:this.disabled?undefined:this.internalHref,download:this.download,target:this.internalTarget,class:this.linkClassNames()},i("slot",{key:"aa6e0c7c70dfcf03abb6233afe29591703e34ebd"}))}getSizeClass(){const e=this.size==="s"?"small":null;const i=this.size==="m"?"medium":null;const t=this.size==="l"?"large":null;const n=this.size==="xl"?"extraLarge":null;if(e){return e}else if(i){return i}else if(t){return t}else if(n&&this.internalVariant==="underlined"){return"large"}else if(n&&this.internalVariant!=="underlined"){return n}else return""}getVariantClass(){const e=this.internalVariant==="bold"?"bold":null;const i=this.internalVariant==="title"?"title":null;const t=this.internalVariant==="underlined"?"underlined":null;const n=this.internalVariant==="menu"?"menu":null;if(e){return e}else if(i){return i}else if(t){return t}else if(n){return n}else return e}linkClassNames(){return r("link","primary",this.getVariantClass(),this.getSizeClass(),this.disabled?"disabled":"")}get el(){return t(this)}};a.style=d;export{a as ifx_link};
2
- //# sourceMappingURL=p-abced0fa.entry.js.map
1
+ import{r as e,h as i,g as t}from"./p-b7a462e5.js";import{d as n,t as l}from"./p-fd1c9465.js";import{i as o}from"./p-1ecafb97.js";import{c as r}from"./p-5cdc6210.js";const s=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:inline-flex}.link{display:inline-flex;align-items:center;font-weight:400;font-size:1rem;text-decoration:none;color:#0A8276;gap:8px;line-height:1.6;font-family:var(--ifx-font-family)}.link:hover{cursor:pointer}.link:focus{outline-width:2px;outline-style:solid;outline-color:#0A8276;outline-offset:4px;border-radius:3px}.link.bold{font-weight:600}.link.bold:hover{text-decoration:underline}.link.bold:active{color:#08665C;font-style:normal;font-weight:600;text-decoration:underline}.link.underlined{text-decoration:underline;text-decoration-color:#0A8276;color:#1D1D1D;text-underline-offset:8px}.link.underlined:hover{color:#0A8276}.link.underlined:active{color:#0A8276}.link.underlined:disabled,.link.underlined.disabled{text-decoration-color:#BFBBBB}.link.title{text-decoration:none;font-weight:600;color:#1D1D1D}.link.title:hover{color:#0A8276}.link.title:active{color:#08665C}.link.menu{font-weight:400;font-style:normal;line-height:26px;color:#1D1D1D}.link.menu:hover{color:#0A8276}.link.menu:active{color:#08665C}.link.small{font-size:0.875rem}.link.medium{font-size:1rem}.link.large{font-size:1.125rem}.link.extraLarge{font-size:1.25rem}.link.underline{text-decoration:underline}.link:disabled,.link.disabled{color:#BFBBBB;cursor:default;pointer-events:none}';const d=s;const a=class{constructor(i){e(this,i);this.href=undefined;this.target="_self";this.variant="bold";this.disabled=false;this.internalHref="";this.internalTarget="";this.internalVariant=""}setInternalStates(){if(this.href){this.internalHref=this.href.trim()}else{this.internalHref=undefined}this.internalTarget=this.target.trim();this.internalVariant=this.variant.trim().toLowerCase()}componentWillRender(){this.setInternalStates()}handleKeyDown(e){if(this.disabled){e.preventDefault()}else if(e.key==="Enter"){e.preventDefault()}}componentDidLoad(){if(!o(this.el)){const e=n();l("ifx-link",e)}}render(){return i("a",{key:"ab25da50f0e98d433afb6c7c4da1554c9d88c493",role:"link","aria-label":this.ariaLabel,"aria-disabled":this.disabled||!this.internalHref,href:this.disabled?undefined:this.internalHref,download:this.download,target:this.internalTarget,class:this.linkClassNames()},i("slot",{key:"9b7769a79ed6dce641e5affaf7b0e1fc94d0c56b"}))}getSizeClass(){const e=this.size==="s"?"small":null;const i=this.size==="m"?"medium":null;const t=this.size==="l"?"large":null;const n=this.size==="xl"?"extraLarge":null;if(e){return e}else if(i){return i}else if(t){return t}else if(n&&this.internalVariant==="underlined"){return"large"}else if(n&&this.internalVariant!=="underlined"){return n}else return""}getVariantClass(){const e=this.internalVariant==="bold"?"bold":null;const i=this.internalVariant==="title"?"title":null;const t=this.internalVariant==="underlined"?"underlined":null;const n=this.internalVariant==="menu"?"menu":null;if(e){return e}else if(i){return i}else if(t){return t}else if(n){return n}else return e}linkClassNames(){return r("link","primary",this.getVariantClass(),this.getSizeClass(),this.disabled?"disabled":"")}get el(){return t(this)}};a.style=d;export{a as ifx_link};
2
+ //# sourceMappingURL=p-9d632192.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["linkCss","IfxLinkStyle0","Link","constructor","hostRef","this","href","undefined","target","variant","disabled","internalHref","internalTarget","internalVariant","setInternalStates","trim","toLowerCase","componentWillRender","handleKeyDown","event","preventDefault","key","componentDidLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","render","h","role","ariaLabel","download","class","linkClassNames","getSizeClass","small","size","medium","large","extraLarge","getVariantClass","bold","title","underlined","menu","classNames"],"sources":["src/components/link/link.scss?tag=ifx-link&encapsulation=shadow","src/components/link/link.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n}\n\n.link {\n display: inline-flex;\n align-items: center;\n font-weight: 400;\n font-size: tokens.$ifxFontSizeM;\n text-decoration: none;\n color: tokens.$ifxColorOcean500;\n gap: tokens.$ifxSpace100;\n line-height: 1.6;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n &:hover { \n cursor: pointer;\n }\n\n &:focus {\n outline-width: 2px;\n outline-style: solid;\n outline-color: #0A8276;\n outline-offset: 4px;\n border-radius: 3px;\n }\n\n &.bold {\n font-weight: tokens.$ifxFontWeightSemibold;\n\n &:hover {\n text-decoration: underline;\n }\n\n &:active {\n color: #08665C;\n font-style: normal;\n font-weight: 600;\n text-decoration: underline;\n }\n\n }\n\n &.underlined {\n text-decoration: underline;\n text-decoration-color: tokens.$ifxColorOcean500;\n color: #1D1D1D;\n text-underline-offset: 8px;\n \n &:hover {\n color: tokens.$ifxColorOcean500;;\n }\n \n &:active {\n color: #0A8276;\n }\n\n &:disabled,\n &.disabled {\n text-decoration-color: tokens.$ifxColorEngineering300;\n }\n }\n\n &.title {\n text-decoration: none;\n font-weight: tokens.$ifxFontWeightSemibold;\n color: #1D1D1D;\n\n &:hover {\n color: tokens.$ifxColorOcean500;\n }\n\n &:active {\n color: #08665C;\n }\n }\n\n &.menu {\n font-weight: 400;\n font-style: normal;\n line-height: 26px;\n color: #1D1D1D;\n\n &:hover {\n color: tokens.$ifxColorOcean500;\n }\n\n &:active {\n color: #08665C;\n }\n }\n\n &.small {\n font-size: tokens.$ifxFontSizeS;\n }\n\n &.medium {\n font-size: tokens.$ifxFontSizeM;\n }\n\n &.large {\n font-size: tokens.$ifxFontSizeL;\n }\n\n &.extraLarge {\n font-size: tokens.$ifxFontSizeXl;\n }\n\n &.underline {\n text-decoration: underline;\n }\n\n &:disabled,\n &.disabled {\n color: tokens.$ifxColorEngineering300;\n cursor: default;\n pointer-events: none;\n }\n\n}","import { Component, Prop, h, State, Element } from \"@stencil/core\";\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nimport classNames from 'classnames';\n \n@Component({\n tag: 'ifx-link',\n styleUrl: 'link.scss',\n shadow: true\n})\n\nexport class Link {\n @Element() el;\n @Prop() href: string = undefined;\n @Prop() target: string = '_self';\n @Prop() variant: string = 'bold';\n @Prop() size: string;\n @Prop() disabled: boolean = false;\n @Prop() download: string;\n @Prop() ariaLabel: string | null;\n @State() internalHref: string ='';\n @State() internalTarget: string = '';\n @State() internalVariant: string = '';\n\n setInternalStates() {\n if(this.href){\n this.internalHref = this.href.trim();\n }else{\n this.internalHref = undefined;\n }\n this.internalTarget = this.target.trim();\n this.internalVariant = this.variant.trim().toLowerCase();\n }\n\n componentWillRender(){\n this.setInternalStates();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) {\n event.preventDefault();\n } else if (event.key === 'Enter') {\n event.preventDefault();\n }\n }\n\n componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-link', framework)\n }\n }\n\n render() {\n return (\n <a\n role=\"link\"\n aria-label={this.ariaLabel}\n aria-disabled={this.disabled || !this.internalHref}\n href={this.disabled ? undefined : this.internalHref}\n download={this.download}\n target={this.internalTarget}\n class={this.linkClassNames()}>\n <slot></slot>\n </a>)\n }\n\n getSizeClass() {\n const small = this.size === 's' ? 'small' : null;\n const medium = this.size === 'm' ? 'medium' : null;\n const large = this.size === 'l' ? 'large' : null;\n const extraLarge = this.size === 'xl' ? 'extraLarge' : null;\n\n if (small) {\n return small;\n } else if (medium) {\n return medium;\n } else if (large) {\n return large;\n } else if (extraLarge && this.internalVariant === 'underlined') {\n return 'large';\n } else if (extraLarge && this.internalVariant !== 'underlined') {\n return extraLarge;\n } else return \"\";\n }\n\n getVariantClass() {\n const bold = this.internalVariant === 'bold' ? 'bold' : null;\n const title = this.internalVariant === 'title' ? 'title' : null;\n const underlined = this.internalVariant === 'underlined' ? 'underlined' : null;\n const menu = this.internalVariant === 'menu' ? 'menu' : null;\n\n if (bold) {\n return bold\n } else if (title) {\n return title;\n } else if (underlined) {\n return underlined;\n } else if (menu) {\n return menu;\n } else return bold;\n }\n\n linkClassNames() {\n return classNames(\n 'link',\n 'primary',\n this.getVariantClass(),\n this.getSizeClass(),\n this.disabled ? 'disabled' : '',\n );\n }\n}"],"mappings":"qKAAA,MAAMA,EAAU,6zCAChB,MAAAC,EAAeD,E,MCWFE,EAAI,MANjB,WAAAC,CAAAC,G,UAQUC,KAAAC,KAAeC,UACfF,KAAAG,OAAiB,QACjBH,KAAAI,QAAkB,OAElBJ,KAAAK,SAAoB,MAGnBL,KAAAM,aAAsB,GACtBN,KAAAO,eAAyB,GACzBP,KAAAQ,gBAA0B,E,CAEnC,iBAAAC,GACE,GAAGT,KAAKC,KAAK,CACXD,KAAKM,aAAeN,KAAKC,KAAKS,M,KAC3B,CACHV,KAAKM,aAAeJ,S,CAEtBF,KAAKO,eAAiBP,KAAKG,OAAOO,OAClCV,KAAKQ,gBAAkBR,KAAKI,QAAQM,OAAOC,a,CAG7C,mBAAAC,GACEZ,KAAKS,mB,CAGP,aAAAI,CAAcC,GACZ,GAAId,KAAKK,SAAU,CACjBS,EAAMC,gB,MACD,GAAID,EAAME,MAAQ,QAAS,CAChCF,EAAMC,gB,EAIV,gBAAAE,GACE,IAAIC,EAAuBlB,KAAKmB,IAAK,CACnC,MAAMC,EAAYC,IAClBC,EAAe,WAAYF,E,EAI/B,MAAAG,GACE,OACEC,EAAA,KAAAR,IAAA,2CACES,KAAK,OAAM,aACCzB,KAAK0B,UAAS,gBACX1B,KAAKK,WAAaL,KAAKM,aACtCL,KAAMD,KAAKK,SAAWH,UAAYF,KAAKM,aACvCqB,SAAU3B,KAAK2B,SACfxB,OAAQH,KAAKO,eACbqB,MAAO5B,KAAK6B,kBACZL,EAAA,QAAAR,IAAA,6C,CAIN,YAAAc,GACE,MAAMC,EAAQ/B,KAAKgC,OAAS,IAAM,QAAU,KAC5C,MAAMC,EAASjC,KAAKgC,OAAS,IAAM,SAAW,KAC9C,MAAME,EAAQlC,KAAKgC,OAAS,IAAM,QAAU,KAC5C,MAAMG,EAAanC,KAAKgC,OAAS,KAAO,aAAe,KAEvD,GAAID,EAAO,CACT,OAAOA,C,MACF,GAAIE,EAAQ,CACjB,OAAOA,C,MACF,GAAIC,EAAO,CAChB,OAAOA,C,MACF,GAAIC,GAAcnC,KAAKQ,kBAAoB,aAAc,CAC9D,MAAO,O,MACF,GAAI2B,GAAcnC,KAAKQ,kBAAoB,aAAc,CAC9D,OAAO2B,C,MACF,MAAO,E,CAGhB,eAAAC,GACE,MAAMC,EAAOrC,KAAKQ,kBAAoB,OAAS,OAAS,KACxD,MAAM8B,EAAQtC,KAAKQ,kBAAoB,QAAU,QAAU,KAC3D,MAAM+B,EAAavC,KAAKQ,kBAAoB,aAAe,aAAe,KAC1E,MAAMgC,EAAOxC,KAAKQ,kBAAoB,OAAS,OAAS,KAExD,GAAI6B,EAAM,CACR,OAAOA,C,MACF,GAAIC,EAAO,CAChB,OAAOA,C,MACF,GAAIC,EAAY,CACrB,OAAOA,C,MACF,GAAIC,EAAM,CACf,OAAOA,C,MACF,OAAOH,C,CAGhB,cAAAR,GACE,OAAOY,EACL,OACA,UACAzC,KAAKoC,kBACLpC,KAAK8B,eACL9B,KAAKK,SAAW,WAAa,G","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as i,c as t,h as s,g as h}from"./p-b7a462e5.js";import{d as e,t as a}from"./p-fd1c9465.js";import{i as n}from"./p-1ecafb97.js";import{c as o}from"./p-e459974a.js";const l=":host{display:inline-block}";const r=l;const c=class{constructor(s){i(this,s);this.ifxOpen=t(this,"ifxOpen",7);this.ifxClose=t(this,"ifxClose",7);this.ifxDropdown=t(this,"ifxDropdown",7);this.placement="bottom-start";this.defaultOpen=false;this.internalIsOpen=false;this.noAppendToBody=false;this.noCloseOnOutsideClick=false;this.noCloseOnMenuClick=false}componentWillLoad(){this.updateSlotContent();this.watchHandlerIsOpen(this.defaultOpen,this.internalIsOpen)}componentDidLoad(){if(!n(this.el)){const i=e();a("ifx-dropdown",i)}}watchHandlerIsOpen(i,t){if(i!==t&&i!==this.internalIsOpen){if(i){this.openDropdown()}else{this.closeDropdown()}}}watchHandlerDisabled(i){if(this.trigger){this.trigger.disabled=i}}watchHandlerSlot(){this.updateSlotContent()}updateSlotContent(){this.trigger=this.el.querySelector("ifx-dropdown-trigger-button, ifx-dropdown-trigger");if(this.trigger){this.trigger.disabled=this.disabled;this.trigger.removeEventListener("click",this.triggerClickHandler.bind(this));this.trigger.addEventListener("click",this.triggerClickHandler.bind(this))}if(!this.noAppendToBody){if(this.menu){this.menu.remove()}this.menu=this.el.querySelector("ifx-dropdown-menu");document.body.append(this.menu)}else{this.menu=this.el.querySelector("ifx-dropdown-menu")}this.menu.removeEventListener("click",this.menuClickHandler.bind(this));this.menu.addEventListener("click",this.menuClickHandler.bind(this))}menuClickHandler(){if(!this.noCloseOnMenuClick){this.closeDropdown()}}triggerClickHandler(){if(!this.internalIsOpen){this.openDropdown()}else{this.closeDropdown()}}disconnectedCallback(){if(this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}if(this.menu){this.menu.remove()}}async isOpen(){return this.internalIsOpen}async closeDropdown(){if(this.internalIsOpen){this.internalIsOpen=false;this.trigger.isOpen=false;this.menu.isOpen=false;this.ifxClose.emit()}if(this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}}async openDropdown(){if(!this.internalIsOpen&&!this.disabled){this.internalIsOpen=true;this.trigger.isOpen=true;this.menu.isOpen=true;this.popperInstance=o(this.el,this.menu,{placement:this.placement});this.ifxOpen.emit()}}handleOutsideClick(i){const t=i.target;if(!this.noCloseOnOutsideClick&&!this.el.contains(t)&&!this.menu.contains(t)){this.closeDropdown()}}render(){return s("div",{key:"67a30c83491c090017a1b5e2900ab6b3a17ceeb8","aria-label":"dropdown menu",class:"dropdown"},s("slot",{key:"3f7bc9ec6a6c17aac097d490bedb42febaa17697"}))}get el(){return h(this)}static get watchers(){return{defaultOpen:["watchHandlerIsOpen"],disabled:["watchHandlerDisabled"]}}};c.style=r;export{c as ifx_dropdown};
2
+ //# sourceMappingURL=p-abd24e4b.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["dropdownCss","IfxDropdownStyle0","Dropdown","constructor","hostRef","this","placement","defaultOpen","internalIsOpen","noAppendToBody","noCloseOnOutsideClick","noCloseOnMenuClick","componentWillLoad","updateSlotContent","watchHandlerIsOpen","componentDidLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","newValue","oldValue","openDropdown","closeDropdown","watchHandlerDisabled","trigger","disabled","watchHandlerSlot","querySelector","removeEventListener","triggerClickHandler","bind","addEventListener","menu","remove","document","body","append","menuClickHandler","disconnectedCallback","popperInstance","destroy","isOpen","ifxClose","emit","createPopper","ifxOpen","handleOutsideClick","event","target","contains","render","h","key","class"],"sources":["src/components/dropdown/dropdown.scss?tag=ifx-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n:host {\n display: inline-block;\n}","//dropdown.tsx\nimport { Component, Prop, h, Element, Listen, Method, Watch, State, EventEmitter, Event } from \"@stencil/core\";\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nimport { createPopper } from '@popperjs/core';\n \n\nimport { IOpenable } from './IOpenable';\n\nexport type Placement =\n | 'auto'\n | 'auto-start'\n | 'auto-end'\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end';\n\n@Component({\n tag: 'ifx-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true\n})\n\nexport class Dropdown {\n @Prop() placement: Placement = 'bottom-start';\n\n // isOpen prop\n @Prop() defaultOpen: boolean = false;\n // internal state for isOpen prop\n @State() internalIsOpen: boolean = false;\n\n // isOpen prop\n @Prop() noAppendToBody: boolean = false;\n\n // Custom events for opening and closing dropdown\n @Event() ifxOpen: EventEmitter;\n @Event() ifxClose: EventEmitter;\n @Event() ifxDropdown: EventEmitter;\n\n // determine if dropdown is disabled\n @Prop() disabled: boolean;\n\n @Prop() noCloseOnOutsideClick: boolean = false;\n @Prop() noCloseOnMenuClick: boolean = false;\n\n // Reference to host element\n @Element() el;\n // Dropdown trigger and menu\n @State() trigger: HTMLElement;\n @State() menu: HTMLElement\n // Popper instance for positioning\n popperInstance: any;\n\n\n\n componentWillLoad() {\n //maybe not needed\n this.updateSlotContent();\n this.watchHandlerIsOpen(this.defaultOpen, this.internalIsOpen);\n }\n\n componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-dropdown', framework)\n }\n }\n\n @Watch('defaultOpen')\n watchHandlerIsOpen(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue && newValue !== this.internalIsOpen) {\n if (newValue) {\n this.openDropdown();\n } else {\n this.closeDropdown();\n }\n }\n }\n\n @Watch('disabled')\n watchHandlerDisabled(newValue: boolean) {\n if (this.trigger) {\n (this.trigger as undefined as HTMLIfxDropdownTriggerButtonElement).disabled = newValue;\n }\n }\n\n\n @Listen('slotchange')\n watchHandlerSlot() {\n this.updateSlotContent();\n }\n\n\n\n // handling assignment of trigger and menu\n updateSlotContent() {\n // Get dropdown trigger. name has to start with ifx-dropdown-trigger\n this.trigger = this.el.querySelector('ifx-dropdown-trigger-button, ifx-dropdown-trigger');\n if (this.trigger) {\n (this.trigger as undefined as HTMLIfxDropdownTriggerButtonElement).disabled = this.disabled;\n this.trigger.removeEventListener('click', this.triggerClickHandler.bind(this));\n this.trigger.addEventListener('click', this.triggerClickHandler.bind(this));\n }\n // Remove menu if exists from body\n if (!this.noAppendToBody) {\n if (this.menu) {\n this.menu.remove();\n }\n // Get new menu and add to body\n this.menu = this.el.querySelector('ifx-dropdown-menu');\n\n // event handler for closing dropdown on menu click\n document.body.append(this.menu);\n } else {\n this.menu = this.el.querySelector('ifx-dropdown-menu');\n\n }\n this.menu.removeEventListener('click', this.menuClickHandler.bind(this));\n this.menu.addEventListener('click', this.menuClickHandler.bind(this));\n\n }\n\n menuClickHandler() {\n if (!this.noCloseOnMenuClick) {\n this.closeDropdown();\n }\n }\n\n triggerClickHandler() {\n if (!this.internalIsOpen) {\n this.openDropdown();\n } else {\n this.closeDropdown();\n }\n }\n\n disconnectedCallback() {\n // Destroy popper instance if exists\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n // Remove menu if exists\n if (this.menu) {\n this.menu.remove();\n }\n }\n\n @Method()\n async isOpen() {\n return this.internalIsOpen;\n }\n\n @Method()\n async closeDropdown() {\n if (this.internalIsOpen) {\n this.internalIsOpen = false;\n // sets isOpen prop on trigger and menu\n (this.trigger as unknown as IOpenable).isOpen = false;\n (this.menu as unknown as IOpenable).isOpen = false;\n // Emit close event\n this.ifxClose.emit();\n }\n // Destroy popper instance if exists\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n @Method()\n async openDropdown() {\n if (!this.internalIsOpen && !this.disabled) {\n this.internalIsOpen = true;\n // sets isOpen prop on trigger and menu\n (this.trigger as unknown as IOpenable).isOpen = true;\n (this.menu as unknown as IOpenable).isOpen = true;\n // Create popper instance for positioning\n this.popperInstance = createPopper(\n this.el,\n this.menu,\n { placement: this.placement });\n\n this.ifxOpen.emit();\n }\n }\n\n //emitted by and listening to it from the dropdown menu right now\n // @Listen('ifxDropdownMenu')\n // handleDropdownMenuEvents(event: CustomEvent) {\n // this.ifxDropdown.emit(event.detail)\n // console.log('Selected item received in higher-level parent:');\n // }\n\n @Listen('mousedown', { target: 'document' })\n handleOutsideClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n // Close dropdown if outside click\n if (!this.noCloseOnOutsideClick && !this.el.contains(target) && !this.menu.contains(target)) {\n this.closeDropdown();\n }\n }\n\n render() {\n return (\n <div aria-label='dropdown menu' class='dropdown'>\n <slot />\n </div>\n )\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as a,a as r,g as o}from"./p-b7a462e5.js";import{d,t as i}from"./p-fd1c9465.js";import{i as t}from"./p-1ecafb97.js";const c=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:inline-flex}.card{position:relative;display:inline-flex;flex-direction:column;word-wrap:break-word;background-color:#FFFFFF;background-clip:border-box;border:1px solid #EEEDED;border-radius:1px;width:350px;height:auto;font-family:var(--ifx-font-family)}.card:has(.card-href:focus),.card:has(.card-href:hover){outline:none;border-color:#0A8276}.card:has(.card-href:focus) ::slotted(ifx-card-headline),.card:has(.card-href:hover) ::slotted(ifx-card-headline){color:#0A8276}.card.noBtns .vertical .lower__body-wrapper{padding-bottom:24px}.card.noBtns .horizontal .lower__body-wrapper{padding-bottom:24px}.card .horizontal{display:flex;flex-direction:row;min-height:218px}.card .horizontal .card-img{flex:1;text-decoration:none}.card .horizontal .card-img.noImage{display:none}.card .horizontal .card-img ::slotted([slot=img]){width:100%;vertical-align:bottom}.card .horizontal .lower__body-wrapper{flex:1;display:grid;grid-template-rows:1fr auto}.card .horizontal .lower__body-wrapper .upper-body{display:flex;flex-direction:column;text-decoration:none;color:#1D1D1D;padding:24px 24px 0px 24px}.card .vertical .upper__body-wrapper{text-decoration:none;color:#1D1D1D}.card .vertical .upper__body-wrapper .card-img{height:190px}.card .vertical .upper__body-wrapper .card-img.noImage{display:none}.card .vertical .upper__body-wrapper .upper-body{padding:24px 24px 0px 24px}.card .vertical .lower__body-wrapper:hover{border-color:#EEEDED}.card.horizontal{flex-direction:row;width:538px}.card.horizontal .card-img{flex:1;order:2}.card.horizontal .card-img ::slotted([slot=img]){width:100%;height:100%;vertical-align:bottom;object-fit:cover}.card.horizontal.left .horizontal .card-img{order:1}.card.horizontal.left .horizontal .lower__body-wrapper{order:2}.card .card-href:focus{outline:none}';const s=c;const l=class{constructor(a){e(this,a);this.direction="vertical";this.href="";this.internalHref="";this.target="_self"}setImgPosition(e){this.alignment=e.detail}handleComponentAdjustment(){const e=this.el.querySelector("ifx-card-image");const a=this.el.querySelector("ifx-card-links");if(!e){this.noImg=true}else this.noImg=false;if(!a){this.noBtns=true}else this.noBtns=false;if(this.href.trim()===""){this.internalHref=undefined}else this.internalHref=this.href}handleClassList(e,a,r){e.classList[a](r)}componentWillLoad(){this.handleComponentAdjustment()}componentDidLoad(){if(!t(this.el)){const e=d();i("ifx-card",e)}}componentWillUpdate(){this.handleComponentAdjustment()}render(){return a(r,{key:"c86e34335adbe7b7db446c3ab3295dc0f3ee96f4"},a("div",{key:"068ec134bcf5dcf3b2007586438632e025a1176a","aria-label":this.ariaLabel,class:`card \n ${this.noBtns?"noBtns":""}\n ${this.direction} \n ${this.alignment}`,role:"region"},this.direction==="horizontal"&&a("div",{key:"f59f464e0172502cffb0a8300107cca3af6c1560",class:"horizontal"},a("a",{key:"97bdbd14405187cc82bbb8ab21ddacd74bd289ed",class:`card-img ${this.noImg?"noImage":""} ${this.internalHref?"card-href":""}`,href:this.internalHref},a("slot",{key:"d8c4372067f17adddae10de9b3ad96f5c44b8d37",name:"img"})),a("div",{key:"d3e4311ba021cfc37a4275b1efe7f3d141e005bb",class:"lower__body-wrapper"},a("a",{key:"be05b3dc5bab69b9646b293a9393db416b4beaef",class:`upper-body ${this.internalHref?"card-href":""}`,href:this.internalHref},a("slot",{key:"0a82ecdb07c9318a2c8dbc83152fdfe37f2ac59c"})),a("div",{key:"f8be0303d5d50a4d7b893a0b4c50496fd05afa36"},a("slot",{key:"75c5dc71b4b4a34eb4850ae412372d47a8a1a961",name:"buttons"})))),this.direction==="vertical"&&a("div",{key:"64c60e3183f998c222898c820efbb8160032b286",class:"vertical"},a("a",{key:"fee051655226a8285dbd4b0f55644bb41fa517b9",class:`upper__body-wrapper ${this.internalHref?"card-href":""}`,href:this.internalHref,target:this.target},a("div",{key:"b5ad518719de1c28162b8f3057a3b024ee954a80",class:`card-img ${this.noImg?"noImage":""}`},a("slot",{key:"e35f50d03d91ef0a5662a0aac19fd971876d0919",name:"img"})),a("div",{key:"add1d61b73011f3a323b4e2aa826cc5961b8ec51",class:"upper-body"},a("slot",{key:"7e98358c19ee4bc976e6cf22c47d346a87775554"}))),a("div",{key:"ee7d6a789d09bd5aa57ec5c3e4875627c396d181",class:"lower__body-wrapper"},a("slot",{key:"c80358b0954aa5833e408ff10536f4385797f502",name:"buttons"})))))}get el(){return o(this)}};l.style=s;export{l as ifx_card};
2
+ //# sourceMappingURL=p-af4c976b.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["cardCss","IfxCardStyle0","Card","constructor","hostRef","this","direction","href","internalHref","target","setImgPosition","event","alignment","detail","handleComponentAdjustment","image","el","querySelector","links","noImg","noBtns","trim","undefined","handleClassList","type","className","classList","componentWillLoad","componentDidLoad","isNestedInIfxComponent","framework","detectFramework","trackComponent","componentWillUpdate","render","h","Host","key","ariaLabel","class","role","name"],"sources":["src/components/card/card.scss?tag=ifx-card&encapsulation=shadow","src/components/card/card.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n}\n\n.card {\n position: relative;\n display: inline-flex;\n flex-direction: column;\n word-wrap: break-word;\n background-color: tokens.$ifxColorBaseWhite;\n background-clip: border-box;\n border: 1px solid tokens.$ifxColorEngineering200;\n border-radius: 1px;\n //width: 22rem;\n width: 350px;\n height: auto;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n // when the link is focused or hovered, the border color changes\n &:has(.card-href:focus), &:has(.card-href:hover) {\n outline: none;\n border-color: tokens.$ifxColorOcean500;\n\n ::slotted(ifx-card-headline) {\n color: tokens.$ifxColorOcean500;\n }\n }\n\n &.noBtns {\n & .vertical {\n & .lower__body-wrapper {\n padding-bottom: 24px;\n }\n }\n\n & .horizontal {\n & .lower__body-wrapper {\n padding-bottom: 24px;\n }\n }\n }\n\n & .horizontal {\n display: flex;\n flex-direction: row;\n min-height: 218px;\n\n & .card-img {\n flex: 1;\n text-decoration: none;\n\n &.noImage {\n display: none;\n }\n\n & ::slotted([slot=img]) {\n width: 100%;\n vertical-align: bottom;\n }\n }\n\n & .lower__body-wrapper {\n flex: 1;\n display: grid;\n grid-template-rows: 1fr auto;\n\n & .upper-body {\n display: flex;\n flex-direction: column;\n text-decoration: none;\n color: tokens.$ifxColorBaseBlack;\n padding: 24px 24px 0px 24px;\n }\n }\n }\n\n & .vertical {\n & .upper__body-wrapper {\n text-decoration: none;\n color: tokens.$ifxColorBaseBlack;\n\n & .card-img {\n height: 190px;\n\n &.noImage {\n display: none;\n }\n }\n\n & .upper-body {\n padding: 24px 24px 0px 24px;\n }\n }\n\n & .lower__body-wrapper {\n &:hover {\n border-color: tokens.$ifxColorEngineering200;\n }\n }\n }\n\n &.horizontal {\n flex-direction: row;\n width: 538px;\n\n & .card-img {\n flex: 1;\n order: 2;\n\n & ::slotted([slot=img]) {\n width: 100%;\n height: 100%;\n vertical-align: bottom;\n object-fit: cover;\n }\n }\n\n &.left {\n & .horizontal {\n & .card-img {\n order: 1;\n }\n\n & .lower__body-wrapper {\n order: 2;\n }\n }\n }\n }\n\n & .card-href:focus {\n outline: none;\n }\n}","import { Component, h, Host, Element, Prop, State, Listen } 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-card',\n styleUrl: 'card.scss',\n shadow: true,\n})\n\nexport class Card {\n @Element() el;\n @State() noBtns: boolean;\n @Prop() direction: 'horizontal' | 'vertical' = 'vertical';\n @State() alignment: string;\n @State() noImg: boolean;\n @Prop() href: string = \"\";\n @State() internalHref: string = \"\"\n @Prop() target: string = \"_self\";\n @Prop() ariaLabel: string | null;\n\n @Listen('imgPosition')\n setImgPosition(event) {\n this.alignment = event.detail\n }\n\n handleComponentAdjustment() {\n const image = this.el.querySelector('ifx-card-image')\n const links = this.el.querySelector('ifx-card-links')\n\n if (!image) {\n this.noImg = true;\n } else this.noImg = false;\n\n if (!links) {\n this.noBtns = true;\n } else this.noBtns = false;\n\n if (this.href.trim() === \"\") {\n this.internalHref = undefined;\n } else this.internalHref = this.href;\n }\n\n handleClassList(el, type, className) {\n el.classList[type](className)\n }\n\n\n componentWillLoad() {\n this.handleComponentAdjustment()\n }\n\n componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-card', framework)\n }\n }\n\n componentWillUpdate() {\n this.handleComponentAdjustment()\n }\n\nrender() {\n return (\n <Host>\n <div aria-label={this.ariaLabel} class={\n `card \n ${this.noBtns ? 'noBtns' : \"\"}\n ${this.direction} \n ${this.alignment}`\n }\n role=\"region\">\n\n {this.direction === 'horizontal' &&\n <div class=\"horizontal\">\n <a class={`card-img ${this.noImg ? 'noImage' : \"\"} ${this.internalHref ? 'card-href' : ''}`} href={this.internalHref}>\n <slot name=\"img\" />\n </a>\n\n <div class='lower__body-wrapper'>\n <a class={`upper-body ${this.internalHref ? 'card-href' : ''}`} href={this.internalHref}>\n <slot />\n </a>\n <div>\n <slot name='buttons' />\n </div>\n </div>\n </div>}\n\n {this.direction === 'vertical' &&\n <div class=\"vertical\">\n <a class={`upper__body-wrapper ${this.internalHref ? 'card-href' : ''}`} href={this.internalHref} target={this.target}>\n <div class={`card-img ${this.noImg ? 'noImage' : \"\"}`}>\n <slot name=\"img\" />\n </div>\n\n <div class='upper-body'>\n <slot />\n </div>\n </a>\n\n <div class='lower__body-wrapper'>\n <slot name='buttons' />\n </div>\n </div>}\n </div>\n </Host>\n );\n }\n}"],"mappings":"mIAAA,MAAMA,EAAU,q0DAChB,MAAAC,EAAeD,E,MCUFE,EAAI,MANjB,WAAAC,CAAAC,G,UASUC,KAAAC,UAAuC,WAGvCD,KAAAE,KAAe,GACdF,KAAAG,aAAuB,GACxBH,KAAAI,OAAiB,O,CAIzB,cAAAC,CAAeC,GACbN,KAAKO,UAAYD,EAAME,M,CAGzB,yBAAAC,GACE,MAAMC,EAAQV,KAAKW,GAAGC,cAAc,kBACpC,MAAMC,EAAQb,KAAKW,GAAGC,cAAc,kBAEpC,IAAKF,EAAO,CACVV,KAAKc,MAAQ,I,MACRd,KAAKc,MAAQ,MAEpB,IAAKD,EAAO,CACVb,KAAKe,OAAS,I,MACTf,KAAKe,OAAS,MAErB,GAAIf,KAAKE,KAAKc,SAAW,GAAI,CAC3BhB,KAAKG,aAAec,S,MACfjB,KAAKG,aAAeH,KAAKE,I,CAGlC,eAAAgB,CAAgBP,EAAIQ,EAAMC,GACxBT,EAAGU,UAAUF,GAAMC,E,CAIrB,iBAAAE,GACEtB,KAAKS,2B,CAGP,gBAAAc,GACE,IAAIC,EAAuBxB,KAAKW,IAAK,CACnC,MAAMc,EAAYC,IAClBC,EAAe,WAAYF,E,EAI/B,mBAAAG,GACE5B,KAAKS,2B,CAGT,MAAAoB,GACI,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,wDAAiBhC,KAAKiC,UAAWC,MAC/B,oBACElC,KAAKe,OAAS,SAAW,iBACzBf,KAAKC,yBACLD,KAAKO,YAET4B,KAAK,UAEFnC,KAAKC,YAAc,cAClB6B,EAAA,OAAAE,IAAA,2CAAKE,MAAM,cACTJ,EAAA,KAAAE,IAAA,2CAAGE,MAAO,YAAYlC,KAAKc,MAAQ,UAAY,MAAMd,KAAKG,aAAe,YAAc,KAAMD,KAAMF,KAAKG,cACtG2B,EAAA,QAAAE,IAAA,2CAAMI,KAAK,SAGbN,EAAA,OAAAE,IAAA,2CAAKE,MAAM,uBACTJ,EAAA,KAAAE,IAAA,2CAAGE,MAAO,cAAclC,KAAKG,aAAe,YAAc,KAAMD,KAAMF,KAAKG,cACzE2B,EAAA,QAAAE,IAAA,8CAEFF,EAAA,OAAAE,IAAA,4CACEF,EAAA,QAAAE,IAAA,2CAAMI,KAAK,eAKlBpC,KAAKC,YAAc,YAClB6B,EAAA,OAAAE,IAAA,2CAAKE,MAAM,YACTJ,EAAA,KAAAE,IAAA,2CAAGE,MAAO,uBAAuBlC,KAAKG,aAAe,YAAc,KAAMD,KAAMF,KAAKG,aAAcC,OAAQJ,KAAKI,QAC7G0B,EAAA,OAAAE,IAAA,2CAAKE,MAAO,YAAYlC,KAAKc,MAAQ,UAAY,MAC/CgB,EAAA,QAAAE,IAAA,2CAAMI,KAAK,SAGbN,EAAA,OAAAE,IAAA,2CAAKE,MAAM,cACTJ,EAAA,QAAAE,IAAA,+CAIJF,EAAA,OAAAE,IAAA,2CAAKE,MAAM,uBACTJ,EAAA,QAAAE,IAAA,2CAAMI,KAAK,e","ignoreList":[]}