@infineon/infineon-design-system-stencil 33.1.1--canary.1818.5df5522bb8df3d548089b44d93be80e3f4458726.0 → 33.1.1--canary.1824.75b5030250f4474f2c947b6e8dc7055bdc915c43.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 (664) 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 -2
  4. package/dist/cjs/ifx-alert_2.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ifx-badge.cjs.entry.js +1 -1
  6. package/dist/cjs/ifx-badge.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ifx-basic-table.cjs.entry.js +2 -2
  8. package/dist/cjs/ifx-basic-table.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ifx-breadcrumb-item.cjs.entry.js +1 -1
  10. package/dist/cjs/ifx-breadcrumb-item.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ifx-breadcrumb.cjs.entry.js +1 -1
  12. package/dist/cjs/ifx-breadcrumb.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ifx-button.cjs.entry.js +1 -1
  14. package/dist/cjs/ifx-button.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ifx-card-headline.cjs.entry.js +1 -1
  16. package/dist/cjs/ifx-card-headline.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ifx-card.cjs.entry.js +1 -1
  18. package/dist/cjs/ifx-card.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ifx-checkbox-group.cjs.entry.js +1 -1
  20. package/dist/cjs/ifx-checkbox-group.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ifx-checkbox.cjs.entry.js +1 -1
  22. package/dist/cjs/ifx-checkbox.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ifx-chip_3.cjs.entry.js +2 -2
  24. package/dist/cjs/ifx-chip_3.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ifx-dropdown-header.cjs.entry.js +1 -1
  26. package/dist/cjs/ifx-dropdown-header.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ifx-dropdown-item.cjs.entry.js +1 -1
  28. package/dist/cjs/ifx-dropdown-item.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ifx-dropdown-menu.cjs.entry.js +1 -1
  30. package/dist/cjs/ifx-dropdown-menu.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ifx-faq.cjs.entry.js +1 -1
  32. package/dist/cjs/ifx-file-upload.cjs.entry.js +322 -0
  33. package/dist/cjs/ifx-file-upload.cjs.entry.js.map +1 -0
  34. package/dist/cjs/ifx-filter-accordion.cjs.entry.js +2 -2
  35. package/dist/cjs/ifx-filter-bar.cjs.entry.js +1 -1
  36. package/dist/cjs/ifx-filter-search.cjs.entry.js +2 -2
  37. package/dist/cjs/ifx-filter-search.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ifx-filter-type-group.cjs.entry.js +1 -1
  39. package/dist/cjs/ifx-footer-column.cjs.entry.js +2 -2
  40. package/dist/cjs/ifx-footer-column.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ifx-footer.cjs.entry.js +5 -5
  42. package/dist/cjs/ifx-footer.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ifx-icon-button.cjs.entry.js +2 -2
  44. package/dist/cjs/ifx-icon-button.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ifx-icon.cjs.entry.js +1 -1
  46. package/dist/cjs/ifx-icons-preview.cjs.entry.js +1 -1
  47. package/dist/cjs/ifx-link.cjs.entry.js +2 -2
  48. package/dist/cjs/ifx-link.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ifx-list-entry.cjs.entry.js +1 -1
  50. package/dist/cjs/ifx-modal.cjs.entry.js +3 -3
  51. package/dist/cjs/ifx-modal.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ifx-multiselect.cjs.entry.js +1 -1
  53. package/dist/cjs/ifx-multiselect.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ifx-navbar-item.cjs.entry.js +6 -6
  55. package/dist/cjs/ifx-navbar-item.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ifx-navbar-profile.cjs.entry.js +4 -4
  57. package/dist/cjs/ifx-navbar-profile.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ifx-navbar.cjs.entry.js +4 -4
  59. package/dist/cjs/ifx-navbar.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ifx-notification.cjs.entry.js +3 -3
  61. package/dist/cjs/ifx-notification.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ifx-number-indicator.cjs.entry.js +1 -1
  63. package/dist/cjs/ifx-overview-table.cjs.entry.js +1 -1
  64. package/dist/cjs/ifx-progress-bar.cjs.entry.js +2 -2
  65. package/dist/cjs/ifx-progress-bar.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ifx-radio-button-group.cjs.entry.js +2 -2
  67. package/dist/cjs/ifx-radio-button-group.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ifx-radio-button.cjs.entry.js +3 -3
  69. package/dist/cjs/ifx-radio-button.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ifx-search-bar.cjs.entry.js +2 -2
  71. package/dist/cjs/ifx-search-bar.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ifx-search-field.cjs.entry.js +2 -2
  73. package/dist/cjs/ifx-search-field.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ifx-segment.cjs.entry.js +1 -1
  75. package/dist/cjs/ifx-segmented-control.cjs.entry.js +2 -2
  76. package/dist/cjs/ifx-select.cjs.entry.js +3 -3
  77. package/dist/cjs/ifx-select.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ifx-sidebar-item.cjs.entry.js +6 -6
  79. package/dist/cjs/ifx-sidebar-item.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ifx-sidebar-title.cjs.entry.js +1 -1
  81. package/dist/cjs/ifx-sidebar.cjs.entry.js +6 -6
  82. package/dist/cjs/ifx-sidebar.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ifx-slider.cjs.entry.js +2 -2
  84. package/dist/cjs/ifx-spinner_2.cjs.entry.js +7 -7
  85. package/dist/cjs/ifx-spinner_2.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ifx-status.cjs.entry.js +2 -2
  87. package/dist/cjs/ifx-status.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ifx-step.cjs.entry.js +4 -4
  89. package/dist/cjs/ifx-stepper.cjs.entry.js +2 -2
  90. package/dist/cjs/ifx-switch.cjs.entry.js +1 -1
  91. package/dist/cjs/ifx-tab.cjs.entry.js +1 -1
  92. package/dist/cjs/ifx-table.cjs.entry.js +3 -3
  93. package/dist/cjs/ifx-table.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ifx-tabs.cjs.entry.js +3 -3
  95. package/dist/cjs/ifx-tabs.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ifx-tag.cjs.entry.js +2 -2
  97. package/dist/cjs/ifx-tag.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ifx-templates-ui.cjs.entry.js +1 -1
  99. package/dist/cjs/ifx-textarea.cjs.entry.js +1 -1
  100. package/dist/cjs/ifx-tooltip.cjs.entry.js +5 -5
  101. package/dist/cjs/ifx-tooltip.cjs.entry.js.map +1 -1
  102. package/dist/cjs/index-c9480f70.js +12 -8
  103. package/dist/cjs/infineon-design-system-stencil.cjs.js +1 -1
  104. package/dist/cjs/loader.cjs.js +1 -1
  105. package/dist/collection/collection-manifest.json +1 -0
  106. package/dist/collection/components/accordion/accordion.css +1 -1
  107. package/dist/collection/components/accordion/accordionItem.css +1 -1
  108. package/dist/collection/components/alert/alert.css +2 -2
  109. package/dist/collection/components/badge/badge.css +1 -1
  110. package/dist/collection/components/breadcrumb/breadcrumb-item.css +1 -1
  111. package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
  112. package/dist/collection/components/button/button.css +1 -1
  113. package/dist/collection/components/card/card-headline/card-headline.css +1 -1
  114. package/dist/collection/components/card/card.css +1 -1
  115. package/dist/collection/components/checkbox/checkbox.css +1 -1
  116. package/dist/collection/components/checkbox-group/checkbox-group.css +1 -1
  117. package/dist/collection/components/dropdown/dropdown-header/dropdown-header.css +2 -2
  118. package/dist/collection/components/dropdown/dropdown-item/dropdown-item.css +1 -1
  119. package/dist/collection/components/dropdown/dropdown-menu/dropdown-menu.css +1 -1
  120. package/dist/collection/components/file-upload/file-upload.css +144 -0
  121. package/dist/collection/components/file-upload/file-upload.js +749 -0
  122. package/dist/collection/components/file-upload/file-upload.js.map +1 -0
  123. package/dist/collection/components/file-upload/file-upload.stories.js +144 -0
  124. package/dist/collection/components/file-upload/file-upload.stories.js.map +1 -0
  125. package/dist/collection/components/footer/footer-column.css +1 -1
  126. package/dist/collection/components/footer/footer-column.js +1 -1
  127. package/dist/collection/components/footer/footer.css +1 -1
  128. package/dist/collection/components/footer/footer.js +4 -4
  129. package/dist/collection/components/icon/infineonIconStencil.js +1 -1
  130. package/dist/collection/components/icon-button/icon-button.css +1 -1
  131. package/dist/collection/components/icon-button/icon-button.js +1 -1
  132. package/dist/collection/components/icons-preview/icons-preview.js +1 -1
  133. package/dist/collection/components/link/link.css +1 -1
  134. package/dist/collection/components/link/link.js +1 -1
  135. package/dist/collection/components/modal/modal.css +1 -1
  136. package/dist/collection/components/modal/modal.js +2 -2
  137. package/dist/collection/components/navigation/navbar/navbar-item.css +3 -3
  138. package/dist/collection/components/navigation/navbar/navbar-item.js +5 -5
  139. package/dist/collection/components/navigation/navbar/navbar-profile.js +3 -3
  140. package/dist/collection/components/navigation/navbar/navbar.css +2 -2
  141. package/dist/collection/components/navigation/navbar/navbar.js +3 -3
  142. package/dist/collection/components/navigation/sidebar/sidebar-item.css +1 -1
  143. package/dist/collection/components/navigation/sidebar/sidebar-item.js +5 -5
  144. package/dist/collection/components/navigation/sidebar/sidebar-title.js +1 -1
  145. package/dist/collection/components/navigation/sidebar/sidebar.css +1 -1
  146. package/dist/collection/components/navigation/sidebar/sidebar.js +5 -5
  147. package/dist/collection/components/notification/notification.css +1 -1
  148. package/dist/collection/components/notification/notification.js +2 -2
  149. package/dist/collection/components/number-indicator/number-indicator.js +1 -1
  150. package/dist/collection/components/overview-table/overview-table.js +1 -1
  151. package/dist/collection/components/pagination/pagination.css +1 -1
  152. package/dist/collection/components/pagination/pagination.js +1 -1
  153. package/dist/collection/components/progress-bar/progress-bar.css +1 -1
  154. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  155. package/dist/collection/components/radio-button/radio-button.css +1 -1
  156. package/dist/collection/components/radio-button/radio-button.js +2 -2
  157. package/dist/collection/components/radio-button-group/radio-button-group.css +1 -1
  158. package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
  159. package/dist/collection/components/search-bar/search-bar.css +1 -1
  160. package/dist/collection/components/search-bar/search-bar.js +1 -1
  161. package/dist/collection/components/search-field/search-field.css +1 -1
  162. package/dist/collection/components/search-field/search-field.js +1 -1
  163. package/dist/collection/components/segmented-control/segment/segment.js +1 -1
  164. package/dist/collection/components/segmented-control/segmented-control.js +2 -2
  165. package/dist/collection/components/select/multi-select/multiselect.css +1 -1
  166. package/dist/collection/components/select/single-select/select.css +1 -1
  167. package/dist/collection/components/select/single-select/select.js +2 -2
  168. package/dist/collection/components/slider/slider.js +2 -2
  169. package/dist/collection/components/spinner/spinner.js +2 -2
  170. package/dist/collection/components/status/status.css +1 -1
  171. package/dist/collection/components/status/status.js +1 -1
  172. package/dist/collection/components/stepper/step/step.js +4 -4
  173. package/dist/collection/components/stepper/stepper.js +2 -2
  174. package/dist/collection/components/switch/switch.js +1 -1
  175. package/dist/collection/components/table-advanced-version/filter-bar/filter-bar.js +1 -1
  176. package/dist/collection/components/table-advanced-version/filter-type-group/filter-accordion/filter-accordion.js +2 -2
  177. package/dist/collection/components/table-advanced-version/filter-type-group/filter-search/filter-search.css +2 -2
  178. package/dist/collection/components/table-advanced-version/filter-type-group/filter-search/filter-search.js +1 -1
  179. package/dist/collection/components/table-advanced-version/filter-type-group/filter-type-group.js +1 -1
  180. package/dist/collection/components/table-advanced-version/list/list-entry/list-entry.js +1 -1
  181. package/dist/collection/components/table-advanced-version/table.css +1 -1
  182. package/dist/collection/components/table-advanced-version/table.js +2 -2
  183. package/dist/collection/components/table-basic-version/table.css +1 -1
  184. package/dist/collection/components/table-basic-version/table.js +1 -1
  185. package/dist/collection/components/tabs/tab.js +1 -1
  186. package/dist/collection/components/tabs/tabs.css +1 -1
  187. package/dist/collection/components/tabs/tabs.js +2 -2
  188. package/dist/collection/components/tag/tag.css +1 -1
  189. package/dist/collection/components/tag/tag.js +1 -1
  190. package/dist/collection/components/templates/template/template.js +1 -1
  191. package/dist/collection/components/templates/templates-ui/templates-ui.js +1 -1
  192. package/dist/collection/components/text-field/text-field.css +1 -1
  193. package/dist/collection/components/text-field/text-field.js +4 -4
  194. package/dist/collection/components/textarea/textarea.js +1 -1
  195. package/dist/collection/components/tooltip/tooltip.css +1 -1
  196. package/dist/collection/components/tooltip/tooltip.js +4 -4
  197. package/dist/collection/stories/setup-and-installation/faq/faq.js +1 -1
  198. package/dist/components/ifx-accordion-item.js +1 -1
  199. package/dist/components/ifx-accordion.js +1 -1
  200. package/dist/components/ifx-alert.js +1 -1
  201. package/dist/components/ifx-badge.js +1 -1
  202. package/dist/components/ifx-badge.js.map +1 -1
  203. package/dist/components/ifx-basic-table.js +2 -2
  204. package/dist/components/ifx-basic-table.js.map +1 -1
  205. package/dist/components/ifx-breadcrumb-item-label.js +1 -1
  206. package/dist/components/ifx-breadcrumb-item.js +1 -1
  207. package/dist/components/ifx-breadcrumb-item.js.map +1 -1
  208. package/dist/components/ifx-breadcrumb.js +1 -1
  209. package/dist/components/ifx-breadcrumb.js.map +1 -1
  210. package/dist/components/ifx-button.js +1 -1
  211. package/dist/components/ifx-card-headline.js +1 -1
  212. package/dist/components/ifx-card-headline.js.map +1 -1
  213. package/dist/components/ifx-card.js +1 -1
  214. package/dist/components/ifx-card.js.map +1 -1
  215. package/dist/components/ifx-checkbox-group.js +2 -2
  216. package/dist/components/ifx-checkbox-group.js.map +1 -1
  217. package/dist/components/ifx-checkbox.js +1 -1
  218. package/dist/components/ifx-chip-item.js +1 -1
  219. package/dist/components/ifx-chip.js +1 -1
  220. package/dist/components/ifx-date-picker.js +1 -1
  221. package/dist/components/ifx-download.js +1 -1
  222. package/dist/components/ifx-dropdown-header.js +1 -1
  223. package/dist/components/ifx-dropdown-header.js.map +1 -1
  224. package/dist/components/ifx-dropdown-item.js +2 -2
  225. package/dist/components/ifx-dropdown-item.js.map +1 -1
  226. package/dist/components/ifx-dropdown-menu.js +1 -1
  227. package/dist/components/ifx-dropdown-menu.js.map +1 -1
  228. package/dist/components/ifx-dropdown-trigger-button.js +2 -2
  229. package/dist/components/ifx-faq.js +4 -4
  230. package/dist/components/ifx-file-upload.d.ts +11 -0
  231. package/dist/components/ifx-file-upload.js +377 -0
  232. package/dist/components/ifx-file-upload.js.map +1 -0
  233. package/dist/components/ifx-filter-accordion.js +4 -4
  234. package/dist/components/ifx-filter-bar.js +3 -3
  235. package/dist/components/ifx-filter-search.js +4 -4
  236. package/dist/components/ifx-filter-search.js.map +1 -1
  237. package/dist/components/ifx-filter-type-group.js +1 -1
  238. package/dist/components/ifx-footer-column.js +2 -2
  239. package/dist/components/ifx-footer-column.js.map +1 -1
  240. package/dist/components/ifx-footer.js +5 -5
  241. package/dist/components/ifx-footer.js.map +1 -1
  242. package/dist/components/ifx-icon-button.js +1 -1
  243. package/dist/components/ifx-icon.js +1 -1
  244. package/dist/components/ifx-icons-preview.js +4 -4
  245. package/dist/components/ifx-link.js +1 -1
  246. package/dist/components/ifx-list-entry.js +4 -4
  247. package/dist/components/ifx-list.js +2 -2
  248. package/dist/components/ifx-modal.js +5 -5
  249. package/dist/components/ifx-modal.js.map +1 -1
  250. package/dist/components/ifx-multiselect.js +1 -1
  251. package/dist/components/ifx-navbar-item.js +8 -8
  252. package/dist/components/ifx-navbar-item.js.map +1 -1
  253. package/dist/components/ifx-navbar-profile.js +4 -4
  254. package/dist/components/ifx-navbar-profile.js.map +1 -1
  255. package/dist/components/ifx-navbar.js +5 -5
  256. package/dist/components/ifx-navbar.js.map +1 -1
  257. package/dist/components/ifx-notification.js +1 -1
  258. package/dist/components/ifx-number-indicator.js +1 -1
  259. package/dist/components/ifx-overview-table.js +4 -4
  260. package/dist/components/ifx-pagination.js +1 -1
  261. package/dist/components/ifx-progress-bar.js +1 -49
  262. package/dist/components/ifx-progress-bar.js.map +1 -1
  263. package/dist/components/ifx-radio-button-group.js +3 -3
  264. package/dist/components/ifx-radio-button-group.js.map +1 -1
  265. package/dist/components/ifx-radio-button.js +1 -1
  266. package/dist/components/ifx-search-bar.js +4 -4
  267. package/dist/components/ifx-search-bar.js.map +1 -1
  268. package/dist/components/ifx-search-field.js +1 -1
  269. package/dist/components/ifx-segment.js +2 -2
  270. package/dist/components/ifx-segmented-control.js +3 -3
  271. package/dist/components/ifx-select.js +1 -1
  272. package/dist/components/ifx-set-filter.js +5 -5
  273. package/dist/components/ifx-sidebar-item.js +8 -8
  274. package/dist/components/ifx-sidebar-item.js.map +1 -1
  275. package/dist/components/ifx-sidebar-title.js +1 -1
  276. package/dist/components/ifx-sidebar.js +6 -6
  277. package/dist/components/ifx-sidebar.js.map +1 -1
  278. package/dist/components/ifx-slider.js +3 -3
  279. package/dist/components/ifx-spinner.js +1 -1
  280. package/dist/components/ifx-status.js +2 -2
  281. package/dist/components/ifx-status.js.map +1 -1
  282. package/dist/components/ifx-step.js +5 -5
  283. package/dist/components/ifx-stepper.js +2 -2
  284. package/dist/components/ifx-switch.js +1 -1
  285. package/dist/components/ifx-tab.js +1 -1
  286. package/dist/components/ifx-table.js +12 -12
  287. package/dist/components/ifx-table.js.map +1 -1
  288. package/dist/components/ifx-tabs.js +4 -4
  289. package/dist/components/ifx-tabs.js.map +1 -1
  290. package/dist/components/ifx-tag.js +3 -3
  291. package/dist/components/ifx-tag.js.map +1 -1
  292. package/dist/components/ifx-template.js +1 -1
  293. package/dist/components/ifx-templates-ui.js +9 -9
  294. package/dist/components/ifx-text-field.js +1 -1
  295. package/dist/components/ifx-textarea.js +1 -1
  296. package/dist/components/ifx-tooltip.js +6 -6
  297. package/dist/components/ifx-tooltip.js.map +1 -1
  298. package/dist/components/{p-c2c8b055.js → p-05c79468.js} +7 -7
  299. package/dist/components/{p-c2c8b055.js.map → p-05c79468.js.map} +1 -1
  300. package/dist/components/{p-519cb249.js → p-0e277223.js} +3 -3
  301. package/dist/components/{p-519cb249.js.map → p-0e277223.js.map} +1 -1
  302. package/dist/components/{p-c9e59d0f.js → p-1678fee6.js} +3 -3
  303. package/dist/components/{p-c9e59d0f.js.map → p-1678fee6.js.map} +1 -1
  304. package/dist/components/{p-f9e92fd3.js → p-18b340af.js} +3 -3
  305. package/dist/components/p-18b340af.js.map +1 -0
  306. package/dist/components/{p-0bdd8c1f.js → p-2bc9826e.js} +3 -3
  307. package/dist/components/p-2bc9826e.js.map +1 -0
  308. package/dist/components/p-2c77bbe2.js +116 -0
  309. package/dist/components/p-2c77bbe2.js.map +1 -0
  310. package/dist/components/{p-e7551b24.js → p-35d83f23.js} +2 -2
  311. package/dist/components/{p-e7551b24.js.map → p-35d83f23.js.map} +1 -1
  312. package/dist/components/{p-6974ad0b.js → p-461cf021.js} +4 -4
  313. package/dist/components/p-461cf021.js.map +1 -0
  314. package/dist/components/{p-1961c269.js → p-48f52e18.js} +4 -4
  315. package/dist/components/p-48f52e18.js.map +1 -0
  316. package/dist/components/{p-48300c0e.js → p-846923e6.js} +3 -3
  317. package/dist/components/p-846923e6.js.map +1 -0
  318. package/dist/components/{p-097c39fc.js → p-905fb988.js} +2 -2
  319. package/dist/components/p-905fb988.js.map +1 -0
  320. package/dist/components/{p-03acdbd0.js → p-9306088d.js} +2 -2
  321. package/dist/components/{p-03acdbd0.js.map → p-9306088d.js.map} +1 -1
  322. package/dist/components/{p-adfc43f2.js → p-ab514a04.js} +6 -6
  323. package/dist/components/p-ab514a04.js.map +1 -0
  324. package/dist/components/{p-4db82ee0.js → p-bef5241a.js} +5 -5
  325. package/dist/components/{p-4db82ee0.js.map → p-bef5241a.js.map} +1 -1
  326. package/dist/components/{p-5e8d7598.js → p-c2b0bf22.js} +2 -2
  327. package/dist/components/p-c2b0bf22.js.map +1 -0
  328. package/dist/components/{p-2eee9126.js → p-ccc83a43.js} +3 -3
  329. package/dist/components/p-ccc83a43.js.map +1 -0
  330. package/dist/components/{p-1d22dfb4.js → p-cd9e4789.js} +4 -4
  331. package/dist/components/p-cd9e4789.js.map +1 -0
  332. package/dist/components/p-cf1e2d94.js +53 -0
  333. package/dist/components/p-cf1e2d94.js.map +1 -0
  334. package/dist/components/{p-b024aa08.js → p-d1985f77.js} +3 -3
  335. package/dist/components/{p-b024aa08.js.map → p-d1985f77.js.map} +1 -1
  336. package/dist/components/p-fa58a72c.js +68 -0
  337. package/dist/components/p-fa58a72c.js.map +1 -0
  338. package/dist/components/{p-159bab57.js → p-fc183f8e.js} +4 -4
  339. package/dist/components/p-fc183f8e.js.map +1 -0
  340. package/dist/esm/ifx-accordion_2.entry.js +2 -2
  341. package/dist/esm/ifx-accordion_2.entry.js.map +1 -1
  342. package/dist/esm/ifx-alert_2.entry.js +2 -2
  343. package/dist/esm/ifx-alert_2.entry.js.map +1 -1
  344. package/dist/esm/ifx-badge.entry.js +1 -1
  345. package/dist/esm/ifx-badge.entry.js.map +1 -1
  346. package/dist/esm/ifx-basic-table.entry.js +2 -2
  347. package/dist/esm/ifx-basic-table.entry.js.map +1 -1
  348. package/dist/esm/ifx-breadcrumb-item.entry.js +1 -1
  349. package/dist/esm/ifx-breadcrumb-item.entry.js.map +1 -1
  350. package/dist/esm/ifx-breadcrumb.entry.js +1 -1
  351. package/dist/esm/ifx-breadcrumb.entry.js.map +1 -1
  352. package/dist/esm/ifx-button.entry.js +1 -1
  353. package/dist/esm/ifx-button.entry.js.map +1 -1
  354. package/dist/esm/ifx-card-headline.entry.js +1 -1
  355. package/dist/esm/ifx-card-headline.entry.js.map +1 -1
  356. package/dist/esm/ifx-card.entry.js +1 -1
  357. package/dist/esm/ifx-card.entry.js.map +1 -1
  358. package/dist/esm/ifx-checkbox-group.entry.js +1 -1
  359. package/dist/esm/ifx-checkbox-group.entry.js.map +1 -1
  360. package/dist/esm/ifx-checkbox.entry.js +1 -1
  361. package/dist/esm/ifx-checkbox.entry.js.map +1 -1
  362. package/dist/esm/ifx-chip_3.entry.js +2 -2
  363. package/dist/esm/ifx-chip_3.entry.js.map +1 -1
  364. package/dist/esm/ifx-dropdown-header.entry.js +1 -1
  365. package/dist/esm/ifx-dropdown-header.entry.js.map +1 -1
  366. package/dist/esm/ifx-dropdown-item.entry.js +1 -1
  367. package/dist/esm/ifx-dropdown-item.entry.js.map +1 -1
  368. package/dist/esm/ifx-dropdown-menu.entry.js +1 -1
  369. package/dist/esm/ifx-dropdown-menu.entry.js.map +1 -1
  370. package/dist/esm/ifx-faq.entry.js +1 -1
  371. package/dist/esm/ifx-file-upload.entry.js +318 -0
  372. package/dist/esm/ifx-file-upload.entry.js.map +1 -0
  373. package/dist/esm/ifx-filter-accordion.entry.js +2 -2
  374. package/dist/esm/ifx-filter-bar.entry.js +1 -1
  375. package/dist/esm/ifx-filter-search.entry.js +2 -2
  376. package/dist/esm/ifx-filter-search.entry.js.map +1 -1
  377. package/dist/esm/ifx-filter-type-group.entry.js +1 -1
  378. package/dist/esm/ifx-footer-column.entry.js +2 -2
  379. package/dist/esm/ifx-footer-column.entry.js.map +1 -1
  380. package/dist/esm/ifx-footer.entry.js +5 -5
  381. package/dist/esm/ifx-footer.entry.js.map +1 -1
  382. package/dist/esm/ifx-icon-button.entry.js +2 -2
  383. package/dist/esm/ifx-icon-button.entry.js.map +1 -1
  384. package/dist/esm/ifx-icon.entry.js +1 -1
  385. package/dist/esm/ifx-icons-preview.entry.js +1 -1
  386. package/dist/esm/ifx-link.entry.js +2 -2
  387. package/dist/esm/ifx-link.entry.js.map +1 -1
  388. package/dist/esm/ifx-list-entry.entry.js +1 -1
  389. package/dist/esm/ifx-modal.entry.js +3 -3
  390. package/dist/esm/ifx-modal.entry.js.map +1 -1
  391. package/dist/esm/ifx-multiselect.entry.js +1 -1
  392. package/dist/esm/ifx-multiselect.entry.js.map +1 -1
  393. package/dist/esm/ifx-navbar-item.entry.js +6 -6
  394. package/dist/esm/ifx-navbar-item.entry.js.map +1 -1
  395. package/dist/esm/ifx-navbar-profile.entry.js +4 -4
  396. package/dist/esm/ifx-navbar-profile.entry.js.map +1 -1
  397. package/dist/esm/ifx-navbar.entry.js +4 -4
  398. package/dist/esm/ifx-navbar.entry.js.map +1 -1
  399. package/dist/esm/ifx-notification.entry.js +3 -3
  400. package/dist/esm/ifx-notification.entry.js.map +1 -1
  401. package/dist/esm/ifx-number-indicator.entry.js +1 -1
  402. package/dist/esm/ifx-overview-table.entry.js +1 -1
  403. package/dist/esm/ifx-progress-bar.entry.js +2 -2
  404. package/dist/esm/ifx-progress-bar.entry.js.map +1 -1
  405. package/dist/esm/ifx-radio-button-group.entry.js +2 -2
  406. package/dist/esm/ifx-radio-button-group.entry.js.map +1 -1
  407. package/dist/esm/ifx-radio-button.entry.js +3 -3
  408. package/dist/esm/ifx-radio-button.entry.js.map +1 -1
  409. package/dist/esm/ifx-search-bar.entry.js +2 -2
  410. package/dist/esm/ifx-search-bar.entry.js.map +1 -1
  411. package/dist/esm/ifx-search-field.entry.js +2 -2
  412. package/dist/esm/ifx-search-field.entry.js.map +1 -1
  413. package/dist/esm/ifx-segment.entry.js +1 -1
  414. package/dist/esm/ifx-segmented-control.entry.js +2 -2
  415. package/dist/esm/ifx-select.entry.js +3 -3
  416. package/dist/esm/ifx-select.entry.js.map +1 -1
  417. package/dist/esm/ifx-sidebar-item.entry.js +6 -6
  418. package/dist/esm/ifx-sidebar-item.entry.js.map +1 -1
  419. package/dist/esm/ifx-sidebar-title.entry.js +1 -1
  420. package/dist/esm/ifx-sidebar.entry.js +6 -6
  421. package/dist/esm/ifx-sidebar.entry.js.map +1 -1
  422. package/dist/esm/ifx-slider.entry.js +2 -2
  423. package/dist/esm/ifx-spinner_2.entry.js +7 -7
  424. package/dist/esm/ifx-spinner_2.entry.js.map +1 -1
  425. package/dist/esm/ifx-status.entry.js +2 -2
  426. package/dist/esm/ifx-status.entry.js.map +1 -1
  427. package/dist/esm/ifx-step.entry.js +4 -4
  428. package/dist/esm/ifx-stepper.entry.js +2 -2
  429. package/dist/esm/ifx-switch.entry.js +1 -1
  430. package/dist/esm/ifx-tab.entry.js +1 -1
  431. package/dist/esm/ifx-table.entry.js +3 -3
  432. package/dist/esm/ifx-table.entry.js.map +1 -1
  433. package/dist/esm/ifx-tabs.entry.js +3 -3
  434. package/dist/esm/ifx-tabs.entry.js.map +1 -1
  435. package/dist/esm/ifx-tag.entry.js +2 -2
  436. package/dist/esm/ifx-tag.entry.js.map +1 -1
  437. package/dist/esm/ifx-templates-ui.entry.js +1 -1
  438. package/dist/esm/ifx-textarea.entry.js +1 -1
  439. package/dist/esm/ifx-tooltip.entry.js +5 -5
  440. package/dist/esm/ifx-tooltip.entry.js.map +1 -1
  441. package/dist/esm/index-c77e25a0.js +12 -8
  442. package/dist/esm/infineon-design-system-stencil.js +1 -1
  443. package/dist/esm/loader.js +1 -1
  444. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.css +1 -1
  445. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  446. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js.map +1 -1
  447. package/dist/infineon-design-system-stencil/p-021719f5.entry.js +2 -0
  448. package/dist/infineon-design-system-stencil/p-02bf3e6a.entry.js +2 -0
  449. package/dist/infineon-design-system-stencil/p-02bf3e6a.entry.js.map +1 -0
  450. package/dist/infineon-design-system-stencil/{p-e57f8890.entry.js → p-0306ed65.entry.js} +2 -2
  451. package/dist/infineon-design-system-stencil/{p-37e75e7c.entry.js → p-051f1f75.entry.js} +2 -2
  452. package/dist/infineon-design-system-stencil/p-08ded326.entry.js +2 -0
  453. package/dist/infineon-design-system-stencil/p-08ded326.entry.js.map +1 -0
  454. package/dist/infineon-design-system-stencil/{p-67c63b48.entry.js → p-0be5bec9.entry.js} +2 -2
  455. package/dist/infineon-design-system-stencil/{p-95b48437.entry.js → p-13e47c02.entry.js} +2 -2
  456. package/dist/infineon-design-system-stencil/p-18145ed5.entry.js +2 -0
  457. package/dist/infineon-design-system-stencil/p-18145ed5.entry.js.map +1 -0
  458. package/dist/infineon-design-system-stencil/p-1c80700d.entry.js +2 -0
  459. package/dist/infineon-design-system-stencil/p-1c80700d.entry.js.map +1 -0
  460. package/dist/infineon-design-system-stencil/p-1dbd5a8f.entry.js +2 -0
  461. package/dist/infineon-design-system-stencil/p-1fc608a3.entry.js +2 -0
  462. package/dist/infineon-design-system-stencil/p-1fc608a3.entry.js.map +1 -0
  463. package/dist/infineon-design-system-stencil/{p-7c142528.entry.js → p-2170ccf1.entry.js} +2 -2
  464. package/dist/infineon-design-system-stencil/p-2170ccf1.entry.js.map +1 -0
  465. package/dist/infineon-design-system-stencil/{p-1de4f93c.entry.js → p-31f3dba0.entry.js} +2 -2
  466. package/dist/infineon-design-system-stencil/{p-9feda3ff.entry.js → p-38a17a09.entry.js} +2 -2
  467. package/dist/infineon-design-system-stencil/{p-7abdbf1f.entry.js → p-38fd172b.entry.js} +2 -2
  468. package/dist/infineon-design-system-stencil/p-3d4c474f.entry.js +2 -0
  469. package/dist/infineon-design-system-stencil/p-3d4c474f.entry.js.map +1 -0
  470. package/dist/infineon-design-system-stencil/{p-4fa1f905.entry.js → p-3f5e136b.entry.js} +2 -2
  471. package/dist/infineon-design-system-stencil/p-3f5e136b.entry.js.map +1 -0
  472. package/dist/infineon-design-system-stencil/p-42234c99.entry.js +2 -0
  473. package/dist/infineon-design-system-stencil/p-42964c5d.entry.js +2 -0
  474. package/dist/infineon-design-system-stencil/p-42964c5d.entry.js.map +1 -0
  475. package/dist/infineon-design-system-stencil/p-44ffa393.entry.js +2 -0
  476. package/dist/infineon-design-system-stencil/p-44ffa393.entry.js.map +1 -0
  477. package/dist/infineon-design-system-stencil/p-4679e8ea.entry.js +2 -0
  478. package/dist/infineon-design-system-stencil/p-4679e8ea.entry.js.map +1 -0
  479. package/dist/infineon-design-system-stencil/{p-5ba50092.entry.js → p-474b0bda.entry.js} +2 -2
  480. package/dist/infineon-design-system-stencil/p-51c067b1.entry.js +2 -0
  481. package/dist/infineon-design-system-stencil/p-51c067b1.entry.js.map +1 -0
  482. package/dist/infineon-design-system-stencil/p-534ef91b.entry.js +2 -0
  483. package/dist/infineon-design-system-stencil/p-534ef91b.entry.js.map +1 -0
  484. package/dist/infineon-design-system-stencil/p-54d98fa9.entry.js +2 -0
  485. package/dist/infineon-design-system-stencil/p-54d98fa9.entry.js.map +1 -0
  486. package/dist/infineon-design-system-stencil/p-582970ed.entry.js +2 -0
  487. package/dist/infineon-design-system-stencil/{p-1abbcdbc.entry.js → p-5bc7c9cc.entry.js} +2 -2
  488. package/dist/infineon-design-system-stencil/p-5bef967e.entry.js +2 -0
  489. package/dist/infineon-design-system-stencil/p-5bef967e.entry.js.map +1 -0
  490. package/dist/infineon-design-system-stencil/p-5e300ee5.entry.js +2 -0
  491. package/dist/infineon-design-system-stencil/p-5e300ee5.entry.js.map +1 -0
  492. package/dist/infineon-design-system-stencil/p-63679e7a.entry.js +2 -0
  493. package/dist/infineon-design-system-stencil/p-63679e7a.entry.js.map +1 -0
  494. package/dist/infineon-design-system-stencil/p-68f13949.entry.js +2 -0
  495. package/dist/infineon-design-system-stencil/p-68f13949.entry.js.map +1 -0
  496. package/dist/infineon-design-system-stencil/p-7103bb15.entry.js +2 -0
  497. package/dist/infineon-design-system-stencil/p-7103bb15.entry.js.map +1 -0
  498. package/dist/infineon-design-system-stencil/p-7a977f98.entry.js +2 -0
  499. package/dist/infineon-design-system-stencil/{p-66b1eeab.entry.js.map → p-7a977f98.entry.js.map} +1 -1
  500. package/dist/infineon-design-system-stencil/p-7f777885.entry.js +2 -0
  501. package/dist/infineon-design-system-stencil/p-7f777885.entry.js.map +1 -0
  502. package/dist/infineon-design-system-stencil/{p-506dc67f.entry.js → p-81391688.entry.js} +2 -2
  503. package/dist/infineon-design-system-stencil/{p-506dc67f.entry.js.map → p-81391688.entry.js.map} +1 -1
  504. package/dist/infineon-design-system-stencil/p-81b2a882.entry.js +2 -0
  505. package/dist/infineon-design-system-stencil/p-81b2a882.entry.js.map +1 -0
  506. package/dist/infineon-design-system-stencil/p-8319c8c5.entry.js +2 -0
  507. package/dist/infineon-design-system-stencil/p-8319c8c5.entry.js.map +1 -0
  508. package/dist/infineon-design-system-stencil/{p-6ee1b4e7.entry.js → p-89f8f8c7.entry.js} +2 -2
  509. package/dist/infineon-design-system-stencil/p-97100c2f.entry.js +2 -0
  510. package/dist/infineon-design-system-stencil/p-97100c2f.entry.js.map +1 -0
  511. package/dist/infineon-design-system-stencil/{p-4c2ce98e.entry.js → p-99a53e43.entry.js} +2 -2
  512. package/dist/infineon-design-system-stencil/p-99a53e43.entry.js.map +1 -0
  513. package/dist/infineon-design-system-stencil/p-a26382ae.entry.js +2 -0
  514. package/dist/infineon-design-system-stencil/p-a26382ae.entry.js.map +1 -0
  515. package/dist/infineon-design-system-stencil/p-acf32338.entry.js +2 -0
  516. package/dist/infineon-design-system-stencil/p-acf32338.entry.js.map +1 -0
  517. package/dist/infineon-design-system-stencil/p-ad24c623.entry.js +2 -0
  518. package/dist/infineon-design-system-stencil/p-ad24c623.entry.js.map +1 -0
  519. package/dist/infineon-design-system-stencil/{p-6b9ecace.entry.js → p-af1d9944.entry.js} +2 -2
  520. package/dist/infineon-design-system-stencil/p-b2995f20.entry.js +2 -0
  521. package/dist/infineon-design-system-stencil/p-b2995f20.entry.js.map +1 -0
  522. package/dist/infineon-design-system-stencil/p-b4f0ce88.entry.js +2 -0
  523. package/dist/infineon-design-system-stencil/p-b4f0ce88.entry.js.map +1 -0
  524. package/dist/infineon-design-system-stencil/p-bbc83759.entry.js +2 -0
  525. package/dist/infineon-design-system-stencil/p-bbc83759.entry.js.map +1 -0
  526. package/dist/infineon-design-system-stencil/p-bdb0e937.entry.js +2 -0
  527. package/dist/infineon-design-system-stencil/{p-e2d0ad64.entry.js → p-be9c2a02.entry.js} +2 -2
  528. package/dist/infineon-design-system-stencil/p-c950abaf.entry.js +2 -0
  529. package/dist/infineon-design-system-stencil/p-c950abaf.entry.js.map +1 -0
  530. package/dist/infineon-design-system-stencil/p-ca42aecb.entry.js +2 -0
  531. package/dist/infineon-design-system-stencil/p-ca42aecb.entry.js.map +1 -0
  532. package/dist/infineon-design-system-stencil/{p-b7057914.entry.js → p-ce55b323.entry.js} +2 -2
  533. package/dist/infineon-design-system-stencil/p-cf96a19e.entry.js +2 -0
  534. package/dist/infineon-design-system-stencil/p-cf96a19e.entry.js.map +1 -0
  535. package/dist/infineon-design-system-stencil/p-d097a48f.entry.js +2 -0
  536. package/dist/infineon-design-system-stencil/p-d097a48f.entry.js.map +1 -0
  537. package/dist/infineon-design-system-stencil/{p-9e413f66.entry.js → p-d4a4c134.entry.js} +2 -2
  538. package/dist/infineon-design-system-stencil/p-d66fc7fa.entry.js +2 -0
  539. package/dist/infineon-design-system-stencil/p-d66fc7fa.entry.js.map +1 -0
  540. package/dist/infineon-design-system-stencil/p-e54766be.entry.js +2 -0
  541. package/dist/infineon-design-system-stencil/p-e54766be.entry.js.map +1 -0
  542. package/dist/infineon-design-system-stencil/p-e6f4865a.entry.js +2 -0
  543. package/dist/infineon-design-system-stencil/p-e6f4865a.entry.js.map +1 -0
  544. package/dist/infineon-design-system-stencil/p-ea24eca0.entry.js +2 -0
  545. package/dist/infineon-design-system-stencil/p-ea24eca0.entry.js.map +1 -0
  546. package/dist/infineon-design-system-stencil/p-edf98dc3.entry.js +2 -0
  547. package/dist/infineon-design-system-stencil/p-edf98dc3.entry.js.map +1 -0
  548. package/dist/types/components/file-upload/file-upload.d.ts +88 -0
  549. package/dist/types/components/file-upload/file-upload.stories.d.ts +7 -0
  550. package/dist/types/components.d.ts +68 -0
  551. package/package.json +1 -1
  552. package/dist/components/p-097c39fc.js.map +0 -1
  553. package/dist/components/p-0bdd8c1f.js.map +0 -1
  554. package/dist/components/p-159bab57.js.map +0 -1
  555. package/dist/components/p-1961c269.js.map +0 -1
  556. package/dist/components/p-1d22dfb4.js.map +0 -1
  557. package/dist/components/p-2eee9126.js.map +0 -1
  558. package/dist/components/p-4213a3a9.js +0 -68
  559. package/dist/components/p-4213a3a9.js.map +0 -1
  560. package/dist/components/p-48300c0e.js.map +0 -1
  561. package/dist/components/p-5e8d7598.js.map +0 -1
  562. package/dist/components/p-68f93ba6.js +0 -116
  563. package/dist/components/p-68f93ba6.js.map +0 -1
  564. package/dist/components/p-6974ad0b.js.map +0 -1
  565. package/dist/components/p-adfc43f2.js.map +0 -1
  566. package/dist/components/p-f9e92fd3.js.map +0 -1
  567. package/dist/infineon-design-system-stencil/p-0009a396.entry.js +0 -2
  568. package/dist/infineon-design-system-stencil/p-0009a396.entry.js.map +0 -1
  569. package/dist/infineon-design-system-stencil/p-00c52c84.entry.js +0 -2
  570. package/dist/infineon-design-system-stencil/p-0fbc70db.entry.js +0 -2
  571. package/dist/infineon-design-system-stencil/p-0fbc70db.entry.js.map +0 -1
  572. package/dist/infineon-design-system-stencil/p-127120bc.entry.js +0 -2
  573. package/dist/infineon-design-system-stencil/p-127120bc.entry.js.map +0 -1
  574. package/dist/infineon-design-system-stencil/p-12a8b8d9.entry.js +0 -2
  575. package/dist/infineon-design-system-stencil/p-12a8b8d9.entry.js.map +0 -1
  576. package/dist/infineon-design-system-stencil/p-1a882a37.entry.js +0 -2
  577. package/dist/infineon-design-system-stencil/p-1a882a37.entry.js.map +0 -1
  578. package/dist/infineon-design-system-stencil/p-1b59a7f9.entry.js +0 -2
  579. package/dist/infineon-design-system-stencil/p-1b870109.entry.js +0 -2
  580. package/dist/infineon-design-system-stencil/p-1b870109.entry.js.map +0 -1
  581. package/dist/infineon-design-system-stencil/p-20c1967d.entry.js +0 -2
  582. package/dist/infineon-design-system-stencil/p-20c1967d.entry.js.map +0 -1
  583. package/dist/infineon-design-system-stencil/p-21dee1b7.entry.js +0 -2
  584. package/dist/infineon-design-system-stencil/p-21dee1b7.entry.js.map +0 -1
  585. package/dist/infineon-design-system-stencil/p-32d311b7.entry.js +0 -2
  586. package/dist/infineon-design-system-stencil/p-32d311b7.entry.js.map +0 -1
  587. package/dist/infineon-design-system-stencil/p-3303a29d.entry.js +0 -2
  588. package/dist/infineon-design-system-stencil/p-3303a29d.entry.js.map +0 -1
  589. package/dist/infineon-design-system-stencil/p-4218b47a.entry.js +0 -2
  590. package/dist/infineon-design-system-stencil/p-4218b47a.entry.js.map +0 -1
  591. package/dist/infineon-design-system-stencil/p-46d704f4.entry.js +0 -2
  592. package/dist/infineon-design-system-stencil/p-46d704f4.entry.js.map +0 -1
  593. package/dist/infineon-design-system-stencil/p-4c031d6e.entry.js +0 -2
  594. package/dist/infineon-design-system-stencil/p-4c031d6e.entry.js.map +0 -1
  595. package/dist/infineon-design-system-stencil/p-4c2ce98e.entry.js.map +0 -1
  596. package/dist/infineon-design-system-stencil/p-4fa1f905.entry.js.map +0 -1
  597. package/dist/infineon-design-system-stencil/p-50ce73a9.entry.js +0 -2
  598. package/dist/infineon-design-system-stencil/p-50ce73a9.entry.js.map +0 -1
  599. package/dist/infineon-design-system-stencil/p-635c7fca.entry.js +0 -2
  600. package/dist/infineon-design-system-stencil/p-635c7fca.entry.js.map +0 -1
  601. package/dist/infineon-design-system-stencil/p-65d9faca.entry.js +0 -2
  602. package/dist/infineon-design-system-stencil/p-66b1eeab.entry.js +0 -2
  603. package/dist/infineon-design-system-stencil/p-66c03f4e.entry.js +0 -2
  604. package/dist/infineon-design-system-stencil/p-66c03f4e.entry.js.map +0 -1
  605. package/dist/infineon-design-system-stencil/p-6a1ff5df.entry.js +0 -2
  606. package/dist/infineon-design-system-stencil/p-6a1ff5df.entry.js.map +0 -1
  607. package/dist/infineon-design-system-stencil/p-711c9832.entry.js +0 -2
  608. package/dist/infineon-design-system-stencil/p-711c9832.entry.js.map +0 -1
  609. package/dist/infineon-design-system-stencil/p-73388693.entry.js +0 -2
  610. package/dist/infineon-design-system-stencil/p-73388693.entry.js.map +0 -1
  611. package/dist/infineon-design-system-stencil/p-75c2484b.entry.js +0 -2
  612. package/dist/infineon-design-system-stencil/p-75c2484b.entry.js.map +0 -1
  613. package/dist/infineon-design-system-stencil/p-796766bb.entry.js +0 -2
  614. package/dist/infineon-design-system-stencil/p-796766bb.entry.js.map +0 -1
  615. package/dist/infineon-design-system-stencil/p-7c142528.entry.js.map +0 -1
  616. package/dist/infineon-design-system-stencil/p-8dbe0add.entry.js +0 -2
  617. package/dist/infineon-design-system-stencil/p-98f8a17b.entry.js +0 -2
  618. package/dist/infineon-design-system-stencil/p-98f8a17b.entry.js.map +0 -1
  619. package/dist/infineon-design-system-stencil/p-99493a11.entry.js +0 -2
  620. package/dist/infineon-design-system-stencil/p-99493a11.entry.js.map +0 -1
  621. package/dist/infineon-design-system-stencil/p-a2450ed1.entry.js +0 -2
  622. package/dist/infineon-design-system-stencil/p-a2450ed1.entry.js.map +0 -1
  623. package/dist/infineon-design-system-stencil/p-b12bfbf9.entry.js +0 -2
  624. package/dist/infineon-design-system-stencil/p-b12bfbf9.entry.js.map +0 -1
  625. package/dist/infineon-design-system-stencil/p-bdf85a8a.entry.js +0 -2
  626. package/dist/infineon-design-system-stencil/p-bdf85a8a.entry.js.map +0 -1
  627. package/dist/infineon-design-system-stencil/p-c14d824b.entry.js +0 -2
  628. package/dist/infineon-design-system-stencil/p-c14d824b.entry.js.map +0 -1
  629. package/dist/infineon-design-system-stencil/p-c175ac96.entry.js +0 -2
  630. package/dist/infineon-design-system-stencil/p-c175ac96.entry.js.map +0 -1
  631. package/dist/infineon-design-system-stencil/p-c5b9e748.entry.js +0 -2
  632. package/dist/infineon-design-system-stencil/p-c5b9e748.entry.js.map +0 -1
  633. package/dist/infineon-design-system-stencil/p-ce80fe1a.entry.js +0 -2
  634. package/dist/infineon-design-system-stencil/p-ce80fe1a.entry.js.map +0 -1
  635. package/dist/infineon-design-system-stencil/p-e2106ed0.entry.js +0 -2
  636. package/dist/infineon-design-system-stencil/p-e2106ed0.entry.js.map +0 -1
  637. package/dist/infineon-design-system-stencil/p-e4de8215.entry.js +0 -2
  638. package/dist/infineon-design-system-stencil/p-f99197dd.entry.js +0 -2
  639. package/dist/infineon-design-system-stencil/p-f99197dd.entry.js.map +0 -1
  640. package/dist/infineon-design-system-stencil/p-fa3a3a00.entry.js +0 -2
  641. package/dist/infineon-design-system-stencil/p-fa3a3a00.entry.js.map +0 -1
  642. package/dist/infineon-design-system-stencil/p-fbd1163b.entry.js +0 -2
  643. package/dist/infineon-design-system-stencil/p-fbd1163b.entry.js.map +0 -1
  644. package/dist/infineon-design-system-stencil/p-fc9c81fa.entry.js +0 -2
  645. package/dist/infineon-design-system-stencil/p-fc9c81fa.entry.js.map +0 -1
  646. /package/dist/infineon-design-system-stencil/{p-1b59a7f9.entry.js.map → p-021719f5.entry.js.map} +0 -0
  647. /package/dist/infineon-design-system-stencil/{p-e57f8890.entry.js.map → p-0306ed65.entry.js.map} +0 -0
  648. /package/dist/infineon-design-system-stencil/{p-37e75e7c.entry.js.map → p-051f1f75.entry.js.map} +0 -0
  649. /package/dist/infineon-design-system-stencil/{p-67c63b48.entry.js.map → p-0be5bec9.entry.js.map} +0 -0
  650. /package/dist/infineon-design-system-stencil/{p-95b48437.entry.js.map → p-13e47c02.entry.js.map} +0 -0
  651. /package/dist/infineon-design-system-stencil/{p-00c52c84.entry.js.map → p-1dbd5a8f.entry.js.map} +0 -0
  652. /package/dist/infineon-design-system-stencil/{p-1de4f93c.entry.js.map → p-31f3dba0.entry.js.map} +0 -0
  653. /package/dist/infineon-design-system-stencil/{p-9feda3ff.entry.js.map → p-38a17a09.entry.js.map} +0 -0
  654. /package/dist/infineon-design-system-stencil/{p-7abdbf1f.entry.js.map → p-38fd172b.entry.js.map} +0 -0
  655. /package/dist/infineon-design-system-stencil/{p-8dbe0add.entry.js.map → p-42234c99.entry.js.map} +0 -0
  656. /package/dist/infineon-design-system-stencil/{p-5ba50092.entry.js.map → p-474b0bda.entry.js.map} +0 -0
  657. /package/dist/infineon-design-system-stencil/{p-e4de8215.entry.js.map → p-582970ed.entry.js.map} +0 -0
  658. /package/dist/infineon-design-system-stencil/{p-1abbcdbc.entry.js.map → p-5bc7c9cc.entry.js.map} +0 -0
  659. /package/dist/infineon-design-system-stencil/{p-6ee1b4e7.entry.js.map → p-89f8f8c7.entry.js.map} +0 -0
  660. /package/dist/infineon-design-system-stencil/{p-6b9ecace.entry.js.map → p-af1d9944.entry.js.map} +0 -0
  661. /package/dist/infineon-design-system-stencil/{p-65d9faca.entry.js.map → p-bdb0e937.entry.js.map} +0 -0
  662. /package/dist/infineon-design-system-stencil/{p-e2d0ad64.entry.js.map → p-be9c2a02.entry.js.map} +0 -0
  663. /package/dist/infineon-design-system-stencil/{p-b7057914.entry.js.map → p-ce55b323.entry.js.map} +0 -0
  664. /package/dist/infineon-design-system-stencil/{p-9e413f66.entry.js.map → p-d4a4c134.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["radioButtonGroupCss","IfxRadioButtonGroupStyle0","RadioButtonGroup","constructor","hostRef","this","errorStates","Map","alignment","groupLabelText","hasErrors","handleSlotChange","initializeState","handleRadioButtonError","event","radioButton","target","tagName","set","detail","updateHasErrors","setGroupError","error","radioButtons","Array","from","el","querySelectorAll","forEach","componentWillLoad","clear","has","values","some","render","h","key","class","showGroupLabel","size","onSlotchange","showCaption","showCaptionIcon","icon","captionText"],"sources":["src/components/radio-button-group/radio-button-group.scss?tag=ifx-radio-button-group&encapsulation=shadow","src/components/radio-button-group/radio-button-group.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n.radio-button-group-container {\n display: flex;\n flex-direction: column;\n}\n\n.radio-button-group {\n display: flex;\n font-family: var(--ifx-font-family);\n gap: tokens.$ifxSpace100;\n\n &.horizontal {\n flex-direction: row;\n column-gap: tokens.$ifxSpace150;\n }\n\n &.vertical {\n flex-direction: column;\n row-gap: tokens.$ifxSpace150;\n }\n}\n\n.group-label {\n font: tokens.$ifxBodyBody05;\n margin-bottom: tokens.$ifxSpace100;\n text-align: left;\n text-underline-position: from-font;\n text-decoration-skip-ink: none;\n}\n\n.caption {\n margin-top: tokens.$ifxSpace100;\n align-self: flex-start;\n display: flex;\n width: 100%;\n column-gap: tokens.$ifxSpace100;\n justify-content: space-between;\n align-items: center;\n\n &.default {\n color: tokens.$ifxColorBaseBlack;\n }\n\n &.error {\n color: tokens.$ifxColorRed500;\n }\n}\n\n.caption-text {\n font: tokens.$ifxBodyBody05;\n flex: 1;\n text-align: left;\n text-underline-position: from-font;\n text-decoration-skip-ink: none;\n}\n\n.caption-icon {\n flex:0;\n display: flex;\n}","import { Component, State, Prop, h, Element, Listen, Method } from '@stencil/core';\n\n@Component({\n tag: 'ifx-radio-button-group',\n styleUrl: 'radio-button-group.scss',\n shadow: true,\n formAssociated: true\n})\n\nexport class RadioButtonGroup {\n private errorStates: Map<HTMLElement, boolean> = new Map();\n\n @Element() el: HTMLElement;\n @Prop() alignment: 'horizontal' | 'vertical' = 'vertical';\n @Prop() size: string;\n @Prop() showGroupLabel: boolean;\n @Prop() groupLabelText: string = 'Group Label Text';\n @Prop() showCaption: boolean;\n @Prop() captionText: string;\n @Prop() showCaptionIcon: boolean;\n @State() hasErrors: boolean = false;\n \n @Listen('ifxError')\n handleRadioButtonError(event: CustomEvent) {\n const radioButton = event.target as HTMLElement;\n if (radioButton.tagName === 'ifx-radio-button') {\n this.errorStates.set(radioButton, event.detail);\n this.updateHasErrors();\n }\n }\n\n // Method to set the error state of all radio-butttons in the group\n @Method()\n async setGroupError(error: boolean) {\n const radioButtons = Array.from(this.el.querySelectorAll('ifx-radio-button'));\n radioButtons.forEach((radioButton) => {\n (radioButton as any).error = error;\n });\n }\n\n componentWillLoad() {\n this.initializeState();\n }\n\n handleSlotChange = () => {\n this.initializeState();\n };\n\n private initializeState() {\n this.errorStates.clear();\n const radioButtons = Array.from(this.el.querySelectorAll('ifx-radio-button'));\n radioButtons.forEach((radioButton) => {\n if (!this.errorStates.has(radioButton)) {\n this.errorStates.set(radioButton, (radioButton as any).error || false);\n }\n });\n this.updateHasErrors();\n }\n\n private updateHasErrors() {\n this.hasErrors = Array.from(this.errorStates.values()).some((error) => error);\n }\n\n render() {\n return (\n <div class='radio-button-group-container'>\n {this.showGroupLabel ? <div class='group-label'>{this.groupLabelText} *</div> : ''}\n <div class={`radio-button-group ${this.alignment} ${this.size}`}>\n <slot onSlotchange={this.handleSlotChange} ></slot>\n </div>\n {this.showCaption ? (\n <div class={`caption ${this.hasErrors ? 'error' : 'default'}`}>\n {this.showCaptionIcon ? <div class='caption-icon'><ifx-icon icon=\"c-info-16\">\n </ifx-icon></div> : ''}\n <div class='caption-text'>{this.captionText}</div>\n </div>) : ''}\n </div>\n );\n }\n}"],"mappings":"kDAAA,MAAMA,EAAsB,62BAC5B,MAAAC,EAAeD,E,MCQFE,EAAgB,MAP7B,WAAAC,CAAAC,G,UAQYC,KAAAC,YAAyC,IAAIC,IAG7CF,KAAAG,UAAuC,WAGvCH,KAAAI,eAAyB,mBAIxBJ,KAAAK,UAAqB,MAwB9BL,KAAAM,iBAAmB,KACfN,KAAKO,iBAAiB,C,CAtB1B,sBAAAC,CAAuBC,GACnB,MAAMC,EAAcD,EAAME,OAC1B,GAAID,EAAYE,UAAY,mBAAoB,CAC5CZ,KAAKC,YAAYY,IAAIH,EAAaD,EAAMK,QACxCd,KAAKe,iB,EAMX,mBAAMC,CAAcC,GAClB,MAAMC,EAAeC,MAAMC,KAAKpB,KAAKqB,GAAGC,iBAAiB,qBACzDJ,EAAaK,SAASb,IACnBA,EAAoBO,MAAQA,CAAK,G,CAIxC,iBAAAO,GACIxB,KAAKO,iB,CAOD,eAAAA,GACJP,KAAKC,YAAYwB,QACjB,MAAMP,EAAeC,MAAMC,KAAKpB,KAAKqB,GAAGC,iBAAiB,qBACzDJ,EAAaK,SAASb,IAClB,IAAKV,KAAKC,YAAYyB,IAAIhB,GAAc,CACpCV,KAAKC,YAAYY,IAAIH,EAAcA,EAAoBO,OAAS,M,KAGxEjB,KAAKe,iB,CAGD,eAAAA,GACJf,KAAKK,UAAYc,MAAMC,KAAKpB,KAAKC,YAAY0B,UAAUC,MAAMX,GAAUA,G,CAG3E,MAAAY,GACI,OACIC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,gCACNhC,KAAKiC,eAAiBH,EAAA,OAAKE,MAAM,eAAehC,KAAKI,eAAc,MAAY,GAChF0B,EAAA,OAAAC,IAAA,2CAAKC,MAAO,sBAAsBhC,KAAKG,aAAaH,KAAKkC,QACrDJ,EAAA,QAAAC,IAAA,2CAAMI,aAAcnC,KAAKM,oBAE5BN,KAAKoC,YACFN,EAAA,OAAKE,MAAO,WAAWhC,KAAKK,UAAY,QAAU,aAC7CL,KAAKqC,gBAAkBP,EAAA,OAAKE,MAAM,gBAAeF,EAAA,YAAUQ,KAAK,eAC7C,GACpBR,EAAA,OAAKE,MAAM,gBAAgBhC,KAAKuC,cAC1B,G","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as i,g as e}from"./p-e6edf72d.js";const o=':root{--ifx-font-family:"Source Sans 3";font-family:var(--ifx-font-family, sans-serif)}.checkbox-group-container{display:flex;flex-direction:column}.checkbox-group{display:flex;font-family:var(--ifx-font-family);gap:8px}.checkbox-group.horizontal{flex-direction:row;column-gap:12px}.checkbox-group.vertical{flex-direction:column;row-gap:12px}.group-label{font:400 0.75rem/1rem "Source Sans 3";margin-bottom:8px;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}.caption{margin-top:8px;align-self:flex-start;display:flex;width:100%;column-gap:8px;justify-content:space-between;align-items:center}.caption.default{color:#1D1D1D}.caption.error{color:#CD002F}.caption-text{font:400 0.75rem/1rem "Source Sans 3";flex:1;text-align:left;text-underline-position:from-font;text-decoration-skip-ink:none}.caption-icon{flex:0;display:flex}';const a=o;const s=class{constructor(i){t(this,i);this.errorStates=new Map;this.alignment="vertical";this.groupLabelText="Group Label Text";this.hasErrors=false;this.handleSlotChange=()=>{this.initializeState()}}handleCheckboxError(t){const i=t.target;if(i.tagName==="ifx-checkbox"){this.errorStates.set(i,t.detail);this.updateHasErrors()}}async setGroupError(t){const i=Array.from(this.el.querySelectorAll("ifx-checkbox"));i.forEach((i=>{i.error=t}))}componentWillLoad(){this.initializeState()}initializeState(){this.errorStates.clear();const t=Array.from(this.el.querySelectorAll("ifx-checkbox"));t.forEach((t=>{if(!this.errorStates.has(t)){this.errorStates.set(t,t.error||false)}}));this.updateHasErrors()}updateHasErrors(){this.hasErrors=Array.from(this.errorStates.values()).some((t=>t))}render(){return i("div",{key:"2f455a4fa40d089e1aafab0b669aa4f4ded80be0",class:"checkbox-group-container"},this.showGroupLabel?i("div",{class:"group-label"},this.groupLabelText," *"):"",i("div",{key:"eb6f16bf53e13620681c87eb7cb4062a37abd068",class:`checkbox-group ${this.alignment} ${this.size}`},i("slot",{key:"00ec08507a2ef1ff8e893b6c8b9aa917a7735224",onSlotchange:this.handleSlotChange})),this.showCaption?i("div",{class:`caption ${this.hasErrors?"error":"default"}`},this.showCaptionIcon?i("div",{class:"caption-icon"},i("ifx-icon",{icon:"c-info-16"})):"",i("div",{class:"caption-text"},this.captionText)):"")}static get formAssociated(){return true}get el(){return e(this)}};s.style=a;export{s as ifx_checkbox_group};
2
+ //# sourceMappingURL=p-ea24eca0.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["checkboxGroupCss","IfxCheckboxGroupStyle0","CheckboxGroup","constructor","hostRef","this","errorStates","Map","alignment","groupLabelText","hasErrors","handleSlotChange","initializeState","handleCheckboxError","event","checkbox","target","tagName","set","detail","updateHasErrors","setGroupError","error","checkboxes","Array","from","el","querySelectorAll","forEach","componentWillLoad","clear","has","values","some","render","h","key","class","showGroupLabel","size","onSlotchange","showCaption","showCaptionIcon","icon","captionText"],"sources":["src/components/checkbox-group/checkbox-group.scss?tag=ifx-checkbox-group&encapsulation=shadow","src/components/checkbox-group/checkbox-group.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n.checkbox-group-container {\n display: flex;\n flex-direction: column;\n}\n\n.checkbox-group {\n display: flex;\n font-family: var(--ifx-font-family);\n gap: tokens.$ifxSpace100;\n\n &.horizontal {\n flex-direction: row;\n column-gap: tokens.$ifxSpace150;\n }\n\n &.vertical {\n flex-direction: column;\n row-gap: tokens.$ifxSpace150;\n }\n}\n\n.group-label {\n font: tokens.$ifxBodyBody05;\n margin-bottom: tokens.$ifxSpace100;\n text-align: left;\n text-underline-position: from-font;\n text-decoration-skip-ink: none;\n}\n\n.caption {\n margin-top: tokens.$ifxSpace100;\n align-self: flex-start;\n display: flex;\n width: 100%;\n column-gap: tokens.$ifxSpace100;\n justify-content: space-between;\n align-items: center;\n\n &.default {\n color: tokens.$ifxColorBaseBlack;\n }\n\n &.error {\n color: tokens.$ifxColorRed500;\n }\n}\n\n.caption-text {\n font: tokens.$ifxBodyBody05;\n flex: 1;\n text-align: left;\n text-underline-position: from-font;\n text-decoration-skip-ink: none;\n}\n\n.caption-icon {\n flex:0;\n display: flex;\n}","import { Component, State, Prop, h, Element, Listen, Method } from '@stencil/core';\n\n@Component({\n tag: 'ifx-checkbox-group',\n styleUrl: 'checkbox-group.scss',\n shadow: true,\n formAssociated: true\n})\n\nexport class CheckboxGroup {\n private errorStates: Map<HTMLElement, boolean> = new Map();\n\n @Element() el: HTMLElement;\n @Prop() alignment: 'horizontal' | 'vertical' = 'vertical';\n @Prop() size: string;\n @Prop() showGroupLabel: boolean;\n @Prop() groupLabelText: string = 'Group Label Text';\n @Prop() showCaption: boolean;\n @Prop() captionText: string;\n @Prop() showCaptionIcon: boolean;\n @State() hasErrors: boolean = false;\n\n @Listen('ifxError')\n handleCheckboxError(event: CustomEvent) {\n const checkbox = event.target as HTMLElement;\n if (checkbox.tagName === 'ifx-checkbox') {\n this.errorStates.set(checkbox, event.detail);\n this.updateHasErrors();\n }\n }\n\n // Method to set the error state of all checkboxes in the group\n @Method()\n async setGroupError(error: boolean) {\n const checkboxes = Array.from(this.el.querySelectorAll('ifx-checkbox'));\n checkboxes.forEach((checkbox) => {\n (checkbox as any).error = error;\n });\n }\n\n componentWillLoad() {\n this.initializeState();\n }\n\n handleSlotChange = () => {\n this.initializeState();\n };\n\n private initializeState() {\n this.errorStates.clear();\n const checkboxes = Array.from(this.el.querySelectorAll('ifx-checkbox'));\n checkboxes.forEach((checkbox) => {\n if (!this.errorStates.has(checkbox)) {\n this.errorStates.set(checkbox, (checkbox as any).error || false);\n }\n });\n this.updateHasErrors();\n }\n\n private updateHasErrors() {\n this.hasErrors = Array.from(this.errorStates.values()).some((error) => error);\n }\n\n render() {\n return (\n <div class='checkbox-group-container'>\n {this.showGroupLabel ? <div class='group-label'>{this.groupLabelText} *</div> : ''}\n <div class={`checkbox-group ${this.alignment} ${this.size}`}>\n <slot onSlotchange={this.handleSlotChange}></slot>\n </div>\n {this.showCaption ? (\n <div class={`caption ${this.hasErrors ? 'error' : 'default'}`}>\n {this.showCaptionIcon ? <div class='caption-icon'><ifx-icon icon=\"c-info-16\">\n </ifx-icon></div> : ''}\n <div class='caption-text'>{this.captionText}</div>\n </div>) : ''}\n </div>\n );\n }\n}"],"mappings":"kDAAA,MAAMA,EAAmB,61BACzB,MAAAC,EAAeD,E,MCQFE,EAAa,MAP1B,WAAAC,CAAAC,G,UAQUC,KAAAC,YAAyC,IAAIC,IAG7CF,KAAAG,UAAuC,WAGvCH,KAAAI,eAAyB,mBAIxBJ,KAAAK,UAAqB,MAwB9BL,KAAAM,iBAAmB,KACjBN,KAAKO,iBAAiB,C,CAtBxB,mBAAAC,CAAoBC,GAClB,MAAMC,EAAWD,EAAME,OACvB,GAAID,EAASE,UAAY,eAAgB,CACvCZ,KAAKC,YAAYY,IAAIH,EAAUD,EAAMK,QACrCd,KAAKe,iB,EAMT,mBAAMC,CAAcC,GAClB,MAAMC,EAAaC,MAAMC,KAAKpB,KAAKqB,GAAGC,iBAAiB,iBACvDJ,EAAWK,SAASb,IACjBA,EAAiBO,MAAQA,CAAK,G,CAInC,iBAAAO,GACExB,KAAKO,iB,CAOC,eAAAA,GACNP,KAAKC,YAAYwB,QACjB,MAAMP,EAAaC,MAAMC,KAAKpB,KAAKqB,GAAGC,iBAAiB,iBACvDJ,EAAWK,SAASb,IAClB,IAAKV,KAAKC,YAAYyB,IAAIhB,GAAW,CACnCV,KAAKC,YAAYY,IAAIH,EAAWA,EAAiBO,OAAS,M,KAG9DjB,KAAKe,iB,CAGC,eAAAA,GACNf,KAAKK,UAAYc,MAAMC,KAAKpB,KAAKC,YAAY0B,UAAUC,MAAMX,GAAUA,G,CAGzE,MAAAY,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,4BACRhC,KAAKiC,eAAiBH,EAAA,OAAKE,MAAM,eAAehC,KAAKI,eAAc,MAAY,GAChF0B,EAAA,OAAAC,IAAA,2CAAKC,MAAO,kBAAkBhC,KAAKG,aAAaH,KAAKkC,QACnDJ,EAAA,QAAAC,IAAA,2CAAMI,aAAcnC,KAAKM,oBAE1BN,KAAKoC,YACJN,EAAA,OAAKE,MAAO,WAAWhC,KAAKK,UAAY,QAAU,aAC/CL,KAAKqC,gBAAkBP,EAAA,OAAKE,MAAM,gBAAeF,EAAA,YAAUQ,KAAK,eAC7C,GACpBR,EAAA,OAAKE,MAAM,gBAAgBhC,KAAKuC,cACxB,G","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as o,g as i}from"./p-e6edf72d.js";const t=':root{--ifx-font-family:"Source Sans 3";font-family:var(--ifx-font-family, sans-serif)}.col{display:flex;flex-direction:column;gap:12px;padding-right:8px;color:#1D1D1D;font-family:var(--ifx-font-family)}.col ::slotted([slot=title]){box-sizing:border-box;font-weight:600;font-size:1rem;line-height:1.5rem;margin:0;padding:0}.col span{display:flex;flex-direction:column;gap:12px;color:#1D1D1D}.col span ::slotted([slot=link]){box-sizing:border-box;font-weight:400;font-size:1rem;line-height:1.5rem}';const n=t;const l=class{constructor(o){e(this,o)}render(){return o("div",{key:"5dfa09918e188fb458f39267cef9c79d22064153",class:"col"},o("slot",{key:"012f89d3342fa74d45e378b64563b7a3d617dd2d",name:"title"}),o("span",{key:"9d413bf33552831e2d36b7f7e3118fa954d7179f","aria-label":"navigation link"},o("slot",{key:"dab46d915e2786f36009b483e613b3930336946e",name:"link"})))}get el(){return i(this)}};l.style=n;export{l as ifx_footer_column};
2
+ //# sourceMappingURL=p-edf98dc3.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["footerColumnCss","IfxFooterColumnStyle0","Card","render","h","key","class","name"],"sources":["src/components/footer/footer-column.scss?tag=ifx-footer-column&encapsulation=shadow","src/components/footer/footer-column.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n\n.col {\n display: flex;\n flex-direction: column;\n gap: tokens.$ifxSpace150;\n padding-right: 8px;\n color: tokens.$ifxColorBaseBlack;\n font-family: var(--ifx-font-family);\n\n & ::slotted([slot=title]) {\n box-sizing: border-box;\n font-weight: tokens.$ifxFontWeightSemibold;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n margin: 0;\n padding: 0;\n }\n\n & span {\n display: flex;\n flex-direction: column;\n gap: tokens.$ifxSpace150;\n color: tokens.$ifxColorBaseBlack;\n\n & ::slotted([slot=link]) {\n box-sizing: border-box;\n font-weight: 400;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n }\n }\n}","import { Component, h, Element } from '@stencil/core';\n\n@Component({\n tag: 'ifx-footer-column',\n styleUrl: './footer-column.scss',\n shadow: true,\n})\n\nexport class Card {\n @Element() el;\n\n\n render() {\n return (\n <div class=\"col\">\n <slot name=\"title\" />\n <span aria-label='navigation link'>\n <slot name=\"link\" />\n </span>\n </div>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAkB,mfACxB,MAAAC,EAAeD,E,MCOFE,EAAI,M,yBAIf,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,OACTF,EAAA,QAAAC,IAAA,2CAAME,KAAK,UACXH,EAAA,QAAAC,IAAA,wDAAiB,mBACfD,EAAA,QAAAC,IAAA,2CAAME,KAAK,U","ignoreList":[]}
@@ -0,0 +1,88 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ interface UploadTask {
3
+ file: File;
4
+ progress: number;
5
+ intervalId: number | null;
6
+ completed: boolean;
7
+ }
8
+ export declare class IfxFileUpload {
9
+ hostElement: HTMLElement;
10
+ dragAndDrop: boolean;
11
+ maxFileSizeMB: number;
12
+ allowedFileTypes: string | string[];
13
+ uploadHandler?: (file: File) => Promise<void>;
14
+ labelBrowseFiles: string;
15
+ labelDragAndDrop: string;
16
+ labelFileTooLarge: string;
17
+ labelUnsupportedFileType: string;
18
+ labelUploaded: string;
19
+ labelSupportedFormatsTemplate: string;
20
+ private showDemoStates?;
21
+ isDragOver: boolean;
22
+ files: File[];
23
+ uploadTasks: UploadTask[];
24
+ rejectedSizeFiles: string[];
25
+ rejectedTypeFiles: string[];
26
+ ifxFileUploadAdd: EventEmitter<{
27
+ addedFiles: File[];
28
+ files: File[];
29
+ }>;
30
+ ifxFileUploadRemove: EventEmitter<{
31
+ removedFile: File;
32
+ files: File[];
33
+ }>;
34
+ ifxFileUploadChange: EventEmitter<{
35
+ files: File[];
36
+ }>;
37
+ ifxFileUploadError: EventEmitter<{
38
+ errorType: string;
39
+ file: File;
40
+ message: string;
41
+ }>;
42
+ ifxFileUploadInvalid: EventEmitter<{
43
+ file: File;
44
+ reason: string;
45
+ }>;
46
+ ifxFileUploadStart: EventEmitter<{
47
+ file: File;
48
+ }>;
49
+ ifxFileUploadComplete: EventEmitter<{
50
+ file: File;
51
+ }>;
52
+ ifxFileUploadAbort: EventEmitter<{
53
+ file: File;
54
+ }>;
55
+ ifxFileUploadDrop: EventEmitter<{
56
+ droppedFiles: File[];
57
+ acceptedFiles: File[];
58
+ rejectedFiles: File[];
59
+ }>;
60
+ ifxFileUploadClick: EventEmitter<void>;
61
+ private fileInputEl;
62
+ private extensionToMimeMap;
63
+ private getNormalizedFileTypes;
64
+ handleFileChange(event: Event): void;
65
+ handleDrop(event: DragEvent): void;
66
+ handleDragOver(event: DragEvent): void;
67
+ handleDragLeave(event: DragEvent): void;
68
+ processFiles(fileList: FileList): void;
69
+ startUpload(file: File): void;
70
+ cancelUpload(file: File): void;
71
+ removeFile(file: File): void;
72
+ clearRejectedFile(fileName: string, type: 'size' | 'type'): void;
73
+ splitFileNameParts(file: File): {
74
+ base: string;
75
+ ext: string;
76
+ };
77
+ getFileIcon(file: File): string;
78
+ getFormattedSize(file: File): string;
79
+ getAcceptAttribute(): string;
80
+ private getSupportedFileText;
81
+ private getFormattedFileTooLargeText;
82
+ componentDidLoad(): void;
83
+ injectDemoState(): Promise<void>;
84
+ render(): any;
85
+ renderUploadArea(): any;
86
+ renderDragAndDropArea(): any;
87
+ }
88
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { Meta, StoryObj } from '@storybook/html';
2
+ declare const meta: Meta;
3
+ export default meta;
4
+ type Story = StoryObj;
5
+ export declare const UploadFileButton: Story;
6
+ export declare const UploadAreaDragDrop: Story;
7
+ export declare const UploadStatesDemo: Story;
@@ -178,6 +178,19 @@ export namespace Components {
178
178
  }
179
179
  interface IfxFaq {
180
180
  }
181
+ interface IfxFileUpload {
182
+ "allowedFileTypes": string | string[];
183
+ "dragAndDrop": boolean;
184
+ "injectDemoState": () => Promise<void>;
185
+ "labelBrowseFiles": string;
186
+ "labelDragAndDrop": string;
187
+ "labelFileTooLarge": string;
188
+ "labelSupportedFormatsTemplate": string;
189
+ "labelUnsupportedFileType": string;
190
+ "labelUploaded": string;
191
+ "maxFileSizeMB": number;
192
+ "uploadHandler"?: (file: File) => Promise<void>;
193
+ }
181
194
  interface IfxFilterAccordion {
182
195
  "filterGroupName": string;
183
196
  "maxVisibleItems": number;
@@ -639,6 +652,10 @@ export interface IfxDropdownMenuCustomEvent<T> extends CustomEvent<T> {
639
652
  detail: T;
640
653
  target: HTMLIfxDropdownMenuElement;
641
654
  }
655
+ export interface IfxFileUploadCustomEvent<T> extends CustomEvent<T> {
656
+ detail: T;
657
+ target: HTMLIfxFileUploadElement;
658
+ }
642
659
  export interface IfxFilterAccordionCustomEvent<T> extends CustomEvent<T> {
643
660
  detail: T;
644
661
  target: HTMLIfxFilterAccordionElement;
@@ -1075,6 +1092,32 @@ declare global {
1075
1092
  prototype: HTMLIfxFaqElement;
1076
1093
  new (): HTMLIfxFaqElement;
1077
1094
  };
1095
+ interface HTMLIfxFileUploadElementEventMap {
1096
+ "ifxFileUploadAdd": { addedFiles: File[]; files: File[] };
1097
+ "ifxFileUploadRemove": { removedFile: File; files: File[] };
1098
+ "ifxFileUploadChange": { files: File[] };
1099
+ "ifxFileUploadError": { errorType: string; file: File; message: string };
1100
+ "ifxFileUploadInvalid": { file: File; reason: string };
1101
+ "ifxFileUploadStart": { file: File };
1102
+ "ifxFileUploadComplete": { file: File };
1103
+ "ifxFileUploadAbort": { file: File };
1104
+ "ifxFileUploadDrop": { droppedFiles: File[]; acceptedFiles: File[]; rejectedFiles: File[] };
1105
+ "ifxFileUploadClick": void;
1106
+ }
1107
+ interface HTMLIfxFileUploadElement extends Components.IfxFileUpload, HTMLStencilElement {
1108
+ addEventListener<K extends keyof HTMLIfxFileUploadElementEventMap>(type: K, listener: (this: HTMLIfxFileUploadElement, ev: IfxFileUploadCustomEvent<HTMLIfxFileUploadElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1109
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1110
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1111
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1112
+ removeEventListener<K extends keyof HTMLIfxFileUploadElementEventMap>(type: K, listener: (this: HTMLIfxFileUploadElement, ev: IfxFileUploadCustomEvent<HTMLIfxFileUploadElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1113
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1114
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1115
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1116
+ }
1117
+ var HTMLIfxFileUploadElement: {
1118
+ prototype: HTMLIfxFileUploadElement;
1119
+ new (): HTMLIfxFileUploadElement;
1120
+ };
1078
1121
  interface HTMLIfxFilterAccordionElementEventMap {
1079
1122
  "ifxFilterAccordionChange": any;
1080
1123
  }
@@ -1711,6 +1754,7 @@ declare global {
1711
1754
  "ifx-dropdown-trigger": HTMLIfxDropdownTriggerElement;
1712
1755
  "ifx-dropdown-trigger-button": HTMLIfxDropdownTriggerButtonElement;
1713
1756
  "ifx-faq": HTMLIfxFaqElement;
1757
+ "ifx-file-upload": HTMLIfxFileUploadElement;
1714
1758
  "ifx-filter-accordion": HTMLIfxFilterAccordionElement;
1715
1759
  "ifx-filter-bar": HTMLIfxFilterBarElement;
1716
1760
  "ifx-filter-search": HTMLIfxFilterSearchElement;
@@ -1930,6 +1974,28 @@ declare namespace LocalJSX {
1930
1974
  }
1931
1975
  interface IfxFaq {
1932
1976
  }
1977
+ interface IfxFileUpload {
1978
+ "allowedFileTypes"?: string | string[];
1979
+ "dragAndDrop"?: boolean;
1980
+ "labelBrowseFiles"?: string;
1981
+ "labelDragAndDrop"?: string;
1982
+ "labelFileTooLarge"?: string;
1983
+ "labelSupportedFormatsTemplate"?: string;
1984
+ "labelUnsupportedFileType"?: string;
1985
+ "labelUploaded"?: string;
1986
+ "maxFileSizeMB"?: number;
1987
+ "onIfxFileUploadAbort"?: (event: IfxFileUploadCustomEvent<{ file: File }>) => void;
1988
+ "onIfxFileUploadAdd"?: (event: IfxFileUploadCustomEvent<{ addedFiles: File[]; files: File[] }>) => void;
1989
+ "onIfxFileUploadChange"?: (event: IfxFileUploadCustomEvent<{ files: File[] }>) => void;
1990
+ "onIfxFileUploadClick"?: (event: IfxFileUploadCustomEvent<void>) => void;
1991
+ "onIfxFileUploadComplete"?: (event: IfxFileUploadCustomEvent<{ file: File }>) => void;
1992
+ "onIfxFileUploadDrop"?: (event: IfxFileUploadCustomEvent<{ droppedFiles: File[]; acceptedFiles: File[]; rejectedFiles: File[] }>) => void;
1993
+ "onIfxFileUploadError"?: (event: IfxFileUploadCustomEvent<{ errorType: string; file: File; message: string }>) => void;
1994
+ "onIfxFileUploadInvalid"?: (event: IfxFileUploadCustomEvent<{ file: File; reason: string }>) => void;
1995
+ "onIfxFileUploadRemove"?: (event: IfxFileUploadCustomEvent<{ removedFile: File; files: File[] }>) => void;
1996
+ "onIfxFileUploadStart"?: (event: IfxFileUploadCustomEvent<{ file: File }>) => void;
1997
+ "uploadHandler"?: (file: File) => Promise<void>;
1998
+ }
1933
1999
  interface IfxFilterAccordion {
1934
2000
  "filterGroupName"?: string;
1935
2001
  "maxVisibleItems"?: number;
@@ -2368,6 +2434,7 @@ declare namespace LocalJSX {
2368
2434
  "ifx-dropdown-trigger": IfxDropdownTrigger;
2369
2435
  "ifx-dropdown-trigger-button": IfxDropdownTriggerButton;
2370
2436
  "ifx-faq": IfxFaq;
2437
+ "ifx-file-upload": IfxFileUpload;
2371
2438
  "ifx-filter-accordion": IfxFilterAccordion;
2372
2439
  "ifx-filter-bar": IfxFilterBar;
2373
2440
  "ifx-filter-search": IfxFilterSearch;
@@ -2453,6 +2520,7 @@ declare module "@stencil/core" {
2453
2520
  "ifx-dropdown-trigger": LocalJSX.IfxDropdownTrigger & JSXBase.HTMLAttributes<HTMLIfxDropdownTriggerElement>;
2454
2521
  "ifx-dropdown-trigger-button": LocalJSX.IfxDropdownTriggerButton & JSXBase.HTMLAttributes<HTMLIfxDropdownTriggerButtonElement>;
2455
2522
  "ifx-faq": LocalJSX.IfxFaq & JSXBase.HTMLAttributes<HTMLIfxFaqElement>;
2523
+ "ifx-file-upload": LocalJSX.IfxFileUpload & JSXBase.HTMLAttributes<HTMLIfxFileUploadElement>;
2456
2524
  "ifx-filter-accordion": LocalJSX.IfxFilterAccordion & JSXBase.HTMLAttributes<HTMLIfxFilterAccordionElement>;
2457
2525
  "ifx-filter-bar": LocalJSX.IfxFilterBar & JSXBase.HTMLAttributes<HTMLIfxFilterBarElement>;
2458
2526
  "ifx-filter-search": LocalJSX.IfxFilterSearch & JSXBase.HTMLAttributes<HTMLIfxFilterSearchElement>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infineon/infineon-design-system-stencil",
3
- "version": "33.1.1--canary.1818.5df5522bb8df3d548089b44d93be80e3f4458726.0",
3
+ "version": "33.1.1--canary.1824.75b5030250f4474f2c947b6e8dc7055bdc915c43.0",
4
4
  "private": false,
5
5
  "description": "Infineon design system Stencil web components",
6
6
  "homepage": "https://infineon.github.io/infineon-design-system-stencil",
@@ -1 +0,0 @@
1
- {"file":"p-097c39fc.js","mappings":";;AAAA,MAAM,YAAY,GAAG,+NAA+N,CAAC;AACrP,2BAAe,YAAY;;MCOd,SAAS;IALtB;;;;QAOU,iBAAY,GAAY,KAAK,CAAC;KAuBvC;IAnBC,MAAM,UAAU,CAAC,KAAkB;QACjC,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACzE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,MAAM,WAAW,GAAG,IAAmC,CAAC;gBACxD,IAAI,WAAW,KAAK,KAAK,CAAC,MAAM,KAAK,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE;oBAC5D,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC;iBAC1B;aACF;SACF;KACF;IAED,MAAM;QACJ,QACE,4DAAK,KAAK,EAAC,mBAAmB,IAC5B,8DAAQ,CACJ,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/accordion/accordion.scss?tag=ifx-accordion&encapsulation=shadow","src/components/accordion/accordion.tsx"],"sourcesContent":["// ifxAccordion.scss\n@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: block;\n}\n\n.accordion-wrapper {\n display: flex;\n flex-direction: column;\n gap: tokens.$ifxSpace100;\n font-family: var(--ifx-font-family, #{tokens.$ifxFontFamilyBody});\n\n}","//ifxAccordion.tsx\nimport { Component, h, Listen, Element, Prop } from '@stencil/core';\n\n@Component({\n tag: 'ifx-accordion',\n styleUrl: 'accordion.scss',\n shadow: { delegatesFocus: true },\n})\nexport class Accordion {\n @Element() el: HTMLElement;\n @Prop() autoCollapse: boolean = false;\n\n\n @Listen('ifxOpen')\n async onItemOpen(event: CustomEvent) {\n if (this.autoCollapse) {\n const items = Array.from(this.el.querySelectorAll('ifx-accordion-item'));\n for (const item of items) {\n const itemElement = item as HTMLIfxAccordionItemElement;\n if (itemElement !== event.target && (await itemElement.open)) {\n itemElement.open = false;\n }\n }\n }\n }\n\n render() {\n return (\n <div class=\"accordion-wrapper\">\n <slot />\n </div>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-0bdd8c1f.js","mappings":";;;AAAA,MAAM,gBAAgB,GAAG,gpCAAgpC,CAAC;AAC1qC,+BAAe,gBAAgB;;MCOlB,gBAAgB;IAL7B;;;;;;QAUK,SAAI,GAAY,KAAK,CAAC;QACjB,cAAS,GAAG,CAAC,CAAC;QACb,iBAAY,GAAY,KAAK,CAAC;KA0GxC;IAnGC,iBAAiB;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;KAC/B;IAED,gBAAgB;QACd,IAAI,CAAC,iBAAiB,EAAE,CAAA;KACzB;IAED,kBAAkB;QAChB,IAAI,CAAC,iBAAiB,EAAE,CAAA;KACzB;IAKD,WAAW,CAAC,QAAiB;QAC3B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;KAC9B;IAED,UAAU;QACR,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QAE9B,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;SAClD;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;SACtD;KACF;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,IAAI,CAAC;SACrE;aAAM;YACL,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC;SACtC;KACF;IAED,gBAAgB,CAAC,CAAC;QAChB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;QAC7B,MAAM,KAAK,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;QAE1C,IAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,KAAK,CAAC,OAAO,CAAC,IAAI;gBAChB,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,CAAC,aAAa,EAAE,CAAC;oBACrD,KAAI,IAAI,QAAQ,IAAI,aAAa,EAAE;wBACjC,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE;4BACjC,IAAI,IAAI,CAAC,YAAY,EAAE;gCACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;6BAC1B;yBACF;qBACF;iBACF,CAAC,CAAC;gBACH,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;aAC9E,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;KACF;IAKD,aAAa,CAAC,EAAiB;QAC7B,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC;QAE/B,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC/B,OAAO;SACR;QAED,QAAQ,EAAE,CAAC,GAAG;YACZ,KAAK,OAAO,CAAC;YACb,KAAK,GAAG;gBACN,EAAE,CAAC,cAAc,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,MAAM;SACT;KACF;IAGD,MAAM;QACJ,QACE,4DAAK,KAAK,EAAE,kBAAkB,IAAI,CAAC,YAAY,GAAG,MAAM,GAAG,EAAE,EAAE,IAC7D,4DAAK,IAAI,EAAC,QAAQ,mBAAgB,IAAI,CAAC,YAAY,mBAAgB,mBAAmB,EAAC,KAAK,EAAC,iBAAiB,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAC,GAAG,EAAC,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,OAAO,GAAG,EAAiB,CAAC,IAC3M,4EAAkB,MAAM,EAAC,IAAI,EAAC,SAAS,gBAAa,MAAM,CAAC,IAAI,CAAC,SAAS,CAAW,EAAE,KAAK,EAAC,gBAAgB,IAC1G,iEAAU,IAAI,EAAC,iBAAiB,GAAE,CAC7B,EACP,6DAAM,EAAE,EAAC,mBAAmB,EAAC,KAAK,EAAC,mBAAmB,IAAE,IAAI,CAAC,OAAO,CAAQ,CACxE,EACN,4DAAK,EAAE,EAAC,mBAAmB,EAAC,KAAK,EAAC,mBAAmB,EAAC,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,SAAS,GAAG,EAAiB,CAAC,EAAE,IAAI,EAAC,QAAQ,qBAAiB,mBAAmB,IACxJ,4DAAK,KAAK,EAAC,eAAe,IACxB,6DAAM,YAAY,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAI,CACnD,CACF,CACF,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/accordion/accordionItem.scss?tag=ifx-accordion-item&encapsulation=shadow","src/components/accordion/accordionItem.tsx"],"sourcesContent":["// ifxAccordionItem.scss\n@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n\n.accordion-item {\n border-radius: 3px;\n overflow: hidden;\n transition: all 0.3s;\n font-family: var(--ifx-font-family, #{tokens.$ifxFontFamilyBody});\n\n}\n\n.accordion-title:focus {\n outline: none;\n}\n\n// workaround to add corner radius to outline\n.accordion-title:focus::after {\n content: '';\n display: block;\n position: absolute;\n top: -4px;\n bottom: -4px;\n left: -4px;\n right: -4px;\n border-radius: 5px;\n border: 2px solid tokens.$ifxColorOcean500;\n box-sizing: border-box;\n}\n\n.accordion-title:hover {\n border: 1px solid tokens.$ifxColorEngineering200;\n color: tokens.$ifxColorOcean600;\n}\n\n.accordion-title {\n display: flex;\n align-items: center;\n position: relative;\n padding: tokens.$ifxSpace150 tokens.$ifxSpace200;\n gap: tokens.$ifxSpace150;\n color: tokens.$ifxColorOcean500;\n background-color: tokens.$ifxColorBaseWhite;\n border: 1px solid tokens.$ifxColorEngineering200;\n cursor: pointer;\n margin: 4px;\n}\n\n.accordion-caption {\n font-weight: tokens.$ifxFontWeightSemibold;\n font-size: tokens.$ifxFontSizeL;\n}\n\n.accordion-content {\n gap: tokens.$ifxSpace100;\n max-height: 0;\n overflow: hidden;\n transition: max-height 0.3s ease-in-out;\n line-height: 24px;\n font-size: tokens.$ifxFontSizeM;\n font-weight: 400;\n}\n\n.inner-content {\n background-color: tokens.$ifxColorBaseWhite;\n padding: tokens.$ifxSpace300;\n // white-space: pre-wrap;\n /* wraps text at spaces and within words */\n word-wrap: break-word;\n /* breaks text within a word if necessary */\n overflow-wrap: anywhere;\n align-self: stretch;\n\n /* breaks text at arbitrary points when needed */\n}\n\n.accordion-icon {\n font-weight: bold;\n display: inline-block;\n transition: transform 0.3s;\n\n &:hover {\n color: tokens.$ifxColorOcean600;\n\n }\n}\n\n\n\n.accordion-item.open .accordion-icon {\n transform: rotate(-180deg);\n}","//ifxAccordionItem\nimport { Component, Prop, h, State, Event, EventEmitter, Watch, Listen, Element } from '@stencil/core';\n\n@Component({\n tag: 'ifx-accordion-item',\n styleUrl: 'accordionItem.scss',\n shadow: true,\n})\nexport class IfxAccordionItem {\n @Element() el;\n @Prop() caption: string;\n @Prop({\n mutable: true,\n }) open: boolean = false;\n @Prop() AriaLevel = 3;\n @State() internalOpen: boolean = false;\n @Event() ifxOpen: EventEmitter;\n @Event() ifxClose: EventEmitter;\n private contentEl!: HTMLElement;\n private titleEl!: HTMLElement;\n\n\n componentWillLoad() {\n this.internalOpen = this.open;\n }\n\n componentDidLoad() {\n this.openAccordionItem()\n }\n\n componentDidUpdate() {\n this.openAccordionItem()\n }\n\n\n\n @Watch('open')\n openChanged(newValue: boolean) {\n this.internalOpen = newValue;\n }\n\n toggleOpen() {\n this.internalOpen = !this.internalOpen;\n this.open = this.internalOpen;\n\n if (this.internalOpen) {\n this.ifxOpen.emit({ isOpen: this.internalOpen });\n } else {\n this.ifxClose.emit({ isClosed: !this.internalOpen });\n }\n }\n\n openAccordionItem() {\n if (this.internalOpen) {\n this.contentEl.style.maxHeight = `${this.contentEl.scrollHeight}px`;\n } else {\n this.contentEl.style.maxHeight = '0';\n }\n }\n\n handleSlotChange(e) {\n const slotElement = e.target;\n const nodes = slotElement.assignedNodes();\n \n if(nodes.length > 0) {\n nodes.forEach(node => {\n const observer = new MutationObserver((mutationsList, _) => {\n for(let mutation of mutationsList) {\n if (mutation.type === 'childList') {\n if (this.internalOpen) {\n this.openAccordionItem();\n }\n }\n }\n });\n observer.observe(node, { attributes: true, childList: true, subtree: true });\n });\n }\n\n if (this.internalOpen) {\n this.openAccordionItem();\n }\n }\n\n \n\n @Listen('keydown')\n handleKeydown(ev: KeyboardEvent) {\n const path = ev.composedPath();\n\n if(!path.includes(this.titleEl)) { \n return;\n }\n\n switch (ev.key) {\n case 'Enter': // fallthrough\n case ' ': // space\n ev.preventDefault();\n this.toggleOpen();\n break;\n }\n }\n\n\n render() {\n return (\n <div class={`accordion-item ${this.internalOpen ? 'open' : ''}`}>\n <div role=\"button\" aria-expanded={this.internalOpen} aria-controls=\"accordion-content\" class=\"accordion-title\" onClick={() => this.toggleOpen()} tabindex='0' ref={(el) => (this.titleEl = el as HTMLElement)}>\n <span aria-hidden=\"true\" role=\"heading\" aria-level={String(this.AriaLevel) as string} class=\"accordion-icon\">\n <ifx-icon icon=\"chevron-down-12\"/>\n </span>\n <span id=\"accordion-caption\" class=\"accordion-caption\">{this.caption}</span>\n </div>\n <div id=\"accordion-content\" class=\"accordion-content\" ref={(el) => (this.contentEl = el as HTMLElement)} role=\"region\" aria-labelledby=\"accordion-caption\">\n <div class=\"inner-content\">\n <slot onSlotchange={(e) => this.handleSlotChange(e)} />\n </div>\n </div>\n </div>\n );\n }\n}"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-159bab57.js","mappings":";;;;AAAA,MAAM,aAAa,GAAG,u5EAAu5E,CAAC;AAC96E,4BAAe,aAAa;;MCSf,UAAU;IANvB;;;;QAYU,WAAM,GAAW,OAAO,CAAC;QACzB,UAAK,GAAW,OAAO,CAAC;KAgFjC;IA1EC,WAAW,CAAC,KAAY;QACtB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,CAAC,wBAAwB,EAAE,CAAC;SAClC;KACF;IAGD,MAAM,QAAQ;QACZ,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;KAC/B;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,EAAE;YACrB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;SACtB;KACF;IAED,MAAM;QACJ,QACE,EAAC,IAAI,uDACF,IAAI,CAAC,IAAI,IACR,0BACiB,IAAI,CAAC,QAAQ,gBACjB,yBAAyB,EACpC,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,EACzC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAC3B,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,EAC5C,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,GAAG,EAAE,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,qBAAqB,GAAG,SAAS,IAEjE,gBAAU,IAAI,EAAE,IAAI,CAAC,IAAI,GAAa,CACpC,KAEJ,cACE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAC3B,IAAI,EAAC,QAAQ,IAEb,gBAAU,IAAI,EAAE,IAAI,CAAC,IAAI,GAAa,CAC/B,CACV,CACI,EACP;KACH;IAED,eAAe;QACb,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,WAAW;cACpC,WAAW;cACX,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU;kBAC9B,UAAU;kBACV,SAAS,CAAC;KACjB;IAED,YAAY;QACV,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YAC3B,OAAO,IAAI,CAAA;SACZ;aACI,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE;YAC/B,OAAO,GAAG,CAAA;SACX;aACI,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE;YAC/B,OAAO,GAAG,CAAA;SACX;;YACI,OAAO,EAAE,CAAC;KAChB;IAED,aAAa;QACX,OAAO,UAAU,CACf,iBAAiB,EACjB,OAAO,IAAI,CAAC,KAAK,EAAE,EACnB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,EACzC,OAAO,IAAI,CAAC,eAAe,EAAE,EAAE,EAC/B,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE,CAChC,CAAC;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/icon-button/icon-button.scss?tag=ifx-icon-button&encapsulation=shadow","src/components/icon-button/icon-button.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n:host {\n display: inline-flex;\n}\n\n.btn {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: tokens.$ifxSize500;\n padding: 8px;\n gap: tokens.$ifxSpace100;\n color: tokens.$ifxColorBaseWhite;\n flex-direction: row;\n font-weight: tokens.$ifxFontWeightSemibold;\n border-radius: tokens.$ifxBorderRadius12;\n line-height: tokens.$ifxLineHeightM;\n outline: none;\n font-family: var(--ifx-font-family, #{tokens.$ifxFontFamilyBody});\n text-decoration: none;\n user-select: none;\n border: 1px solid rgba(0, 0, 0, 0);\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}\n\n.btn:not(.disabled) {\n cursor: pointer;\n}\n\n.btn-primary {\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\n.btn-secondary {\n color: tokens.$ifxColorOcean500;\n background-color: tokens.$ifxColorBaseWhite;\n border-color: 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 {\n background-color: transparent;\n color: tokens.$ifxColorBaseBlack;\n\n &:disabled,\n &.disabled {\n color: tokens.$ifxColorEngineering300;\n pointer-events: none;\n }\n}\n\n\n.btn {\n\n &.icon-button {\n min-width: initial;\n min-height: initial;\n width: tokens.$ifxSize500;\n height: tokens.$ifxSize500;\n padding: 0;\n justify-content: center;\n\n &.btn-round {\n border-radius: 100px;\n }\n\n &.btn-square {\n border-radius: tokens.$ifxBorderRadius12;\n }\n\n &.btn-s {\n width: tokens.$ifxSize400;\n height: tokens.$ifxSize400;\n padding: 8px;\n }\n\n\n &.btn-l {\n width: tokens.$ifxSize600;\n height: tokens.$ifxSize600;\n padding: 8px;\n }\n }\n\n &.btn-primary: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 border-color: tokens.$ifxColorOcean600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorOcean700;\n border-color: tokens.$ifxColorOcean700;\n }\n }\n\n\n &.btn-secondary: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 border-color: tokens.$ifxColorOcean600;\n color: tokens.$ifxColorBaseWhite;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorOcean700;\n border-color: tokens.$ifxColorOcean700;\n }\n }\n\n &.btn-tertiary:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n color: tokens.$ifxColorBaseBlack;\n box-shadow: 0 0 0 0px tokens.$ifxColorBaseWhite, 0 0 0 2px tokens.$ifxColorOcean500;\n }\n\n &:hover {\n color: tokens.$ifxColorOcean500;\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorOcean600;\n }\n }\n}","import { Component, Prop, h, Host, Method, Element, Listen } from '@stencil/core';\nimport classNames from 'classnames';\n \n\n@Component({\n tag: 'ifx-icon-button',\n styleUrl: 'icon-button.scss',\n shadow: true,\n})\n\nexport class IconButton {\n @Prop() variant: 'primary' | 'secondary' | 'tertiary';\n @Prop() size: string;\n @Prop() disabled: boolean;\n @Prop() icon: string;\n @Prop() href: string;\n @Prop() target: string = '_self';\n @Prop() shape: string = 'round';\n @Element() el;\n\n private focusableElement: HTMLElement;\n\n @Listen('click', { capture: true })\n handleClick(event: Event) {\n if (this.disabled) {\n event.stopImmediatePropagation();\n }\n }\n\n @Method()\n async setFocus() {\n this.focusableElement.focus();\n }\n\n componentWillLoad() {\n if (this.shape === '') {\n this.shape = 'round';\n }\n }\n\n render() {\n return (\n <Host>\n {this.href ? (\n <a\n aria-disabled={this.disabled}\n aria-label='a clickable icon button'\n ref={(el) => (this.focusableElement = el)}\n class={this.getClassNames()}\n href={!this.disabled ? this.href : undefined}\n target={this.target}\n rel={this.target === '_blank' ? 'noopener noreferrer' : undefined}\n >\n <ifx-icon icon={this.icon}></ifx-icon>\n </a>\n ) : (\n <button\n class={this.getClassNames()}\n type=\"button\"\n >\n <ifx-icon icon={this.icon}></ifx-icon>\n </button>\n )}\n </Host>\n );\n }\n\n getVariantClass() {\n return `${this.variant}` === \"secondary\"\n ? `secondary`\n : `${this.variant}` === 'tertiary'\n ? `tertiary`\n : `primary`;\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 icon-button',\n `btn-${this.shape}`,\n this.size && `btn-${this.getSizeClass()}`,\n `btn-${this.getVariantClass()}`,\n this.disabled ? 'disabled' : ''\n );\n }\n}"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-1961c269.js","mappings":"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","names":[],"sources":["src/components/select/multi-select/multiselect.scss?tag=ifx-multiselect&encapsulation=shadow","src/components/select/multi-select/multiselect.tsx"],"sourcesContent":["// @import '~choices.js/public/assets/styles/choices.css';\n@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../../global/font.scss\";\n\n.ifx-multiselect-container {\n position: relative;\n box-sizing: border-box;\n font-family: var(--ifx-font-family, #{tokens.$ifxFontFamilyBody});\n\n &.small-select {\n height: 36px;\n }\n\n &.medium-select {\n height: 40px;\n }\n\n &:hover {\n cursor: pointer;\n }\n\n\n .ifx-label-wrapper {\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: anywhere;\n max-width: 100%;\n }\n\n .ifx-error-message-wrapper {\n color: #CD002F;\n font-size: tokens.$ifxFontSizeXs;\n line-height: tokens.$ifxLineHeightXs;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: anywhere;\n max-width: 100%;\n }\n\n .ifx-multiselect-wrapper {\n background-color: tokens.$ifxColorBaseWhite;\n box-sizing: border-box;\n position: relative;\n display: flex;\n align-items: center;\n border: 1px solid tokens.$ifxColorEngineering400;\n border-radius: tokens.$ifxBorderRadius12;\n width: 100%;\n font-weight: 400;\n font-style: normal;\n\n\n &.small-select {\n height: 36px;\n padding: 8px 12px;\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n }\n\n &.medium-select {\n height: 40px;\n padding: 8px 16px;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n }\n\n &:focus-visible {\n outline: none;\n }\n\n &:focus-visible:not(.active):not(:active) {\n outline: none;\n\n &::before {\n content: '';\n position: absolute;\n width: calc(100% + 4px);\n height: calc(100% + 4px);\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n border: 2px solid tokens.$ifxColorOcean500;\n border-radius: 2px;\n\n }\n }\n\n &.disabled {\n background: tokens.$ifxColorEngineering200;\n color: #575352;\n border-color: #575352;\n cursor: default;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n }\n\n &.error {\n border-color: #CD002F;\n }\n\n &:hover:not(.focus, :focus) {\n border-color: tokens.$ifxColorEngineering500;\n }\n\n &.active {\n border-color: tokens.$ifxColorOcean500 !important; // Active border color\n\n & .icon-wrapper-up {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: tokens.$ifxSpace100;\n }\n\n & .icon-wrapper-down {\n display: none\n }\n }\n\n\n & .icon-wrapper-up {\n display: none;\n }\n\n & .icon-wrapper-down {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: tokens.$ifxSpace100;\n }\n\n &.is-flipped {\n .ifx-multiselect-dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n }\n }\n\n .ifx-multiselect-input {\n flex-grow: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &.placeholder {\n opacity: 0.5;\n }\n\n }\n\n\n .ifx-multiselect-icon-container {\n margin-left: auto;\n align-items: center;\n display: flex;\n }\n\n\n .ifx-clear-button {\n display: flex;\n }\n\n .ifx-multiselect-dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n margin-top: 2px;\n background-color: #fff;\n box-shadow: 0px 6px 9px 0px rgba(29, 29, 29, 0.10);\n max-height: 300px;\n /* Adjust based on your design */\n overflow-y: auto;\n z-index: 1000; \n\n .search-input {\n position: sticky;\n top: 0;\n left: 0;\n z-index: 1;\n width: 100%;\n padding: 8px 16px;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n font-style: normal;\n font-weight: 400;\n box-sizing: border-box;\n background-color: tokens.$ifxColorBaseWhite;\n border: none;\n border-bottom: 1px solid tokens.$ifxColorEngineering400;\n\n &:focus {\n outline: none;\n border: 1px solid tokens.$ifxColorOcean500;\n }\n\n // Optional: Placeholder style\n &::placeholder {\n color: #999;\n }\n }\n }\n\n .option {\n position: relative;\n padding: 8px 16px;\n gap: 8px;\n align-items: center;\n display: flex;\n font-style: normal;\n font-weight: 400;\n\n &.small-select {\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n }\n\n &.medium-select {\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n }\n\n &:hover {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &:focus:not(.disabled) {\n background-color: tokens.$ifxColorEngineering300;\n outline: none;\n }\n\n &.is-highlighted {\n background-color: tokens.$ifxColorEngineering200;\n ;\n }\n\n &.selected {\n // color: #0A8276;\n }\n\n &.sub-option {\n padding-left: 30px;\n /* or however much indentation you want */\n }\n\n &.disabled {\n &:hover {\n cursor: default;\n }\n }\n\n label {\n cursor: inherit;\n }\n }\n\n\n\n}\n\n.select-all-wrapper {\n padding-top: 8px;\n}","import { Component, Prop, State, Event, EventEmitter, Element, h, Watch, AttachInternals } from '@stencil/core';\nimport { Option } from './interfaces';\n\n// Debounce function\nfunction debounce(func, wait) {\n let timeout;\n return function executedFunction(...args) {\n const later = () => {\n clearTimeout(timeout);\n func(...args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n };\n};\n\n@Component({\n tag: 'ifx-multiselect',\n styleUrl: 'multiselect.scss',\n shadow: true,\n formAssociated: true\n})\n\n\n\nexport class Multiselect {\n\n @Prop() name: string;\n @Prop() options: any[] | string;\n @Prop() batchSize: number = 50;\n @Prop() size: string = 'medium (40px)';\n @Prop() disabled: boolean = false;\n @Prop() error: boolean = false;\n @State() internalError: boolean = false;\n @Prop() errorMessage: string = \"Error\";\n @State() internalErrorMessage: string;\n @Prop() label: string = \"\";\n @State() persistentSelectedOptions: Option[] = [];\n @Prop() placeholder: string = \"\";\n @State() dropdownOpen = false;\n @State() dropdownFlipped: boolean;\n @Prop() maxItemCount: number;\n static globalZIndex = 1000; // This will be shared among all instances of the component.\n private currentIndex: number = 0; //needed for option selection using keyboard\n @State() isLoading: boolean = false;\n @State() loadedOptions: Option[] = [];\n @State() filteredOptions: Option[] = [];\n @Prop() showSearch: boolean = true;\n @Prop() showSelectAll: boolean = true;\n @State() optionCount: number = 0; // number of all options (leaves of the tree)\n @State() optionsProcessed: boolean = false; // flag whether options have already been counted, intial selections saved\n\n\n @Event() ifxSelect: EventEmitter;\n @Event() ifxOpen: EventEmitter;\n\n @Element() el: HTMLElement;\n dropdownElement!: HTMLElement;\n\n @AttachInternals() internals: ElementInternals;\n\n\n @Watch('options')\n updateOptions() { \n this.loadedOptions = [];\n this.filteredOptions = [];\n this.optionCount = 0;\n this.optionsProcessed = false;\n this.persistentSelectedOptions = [];\n\n this.loadInitialOptions();\n }\n\n\n async loadInitialOptions() {\n this.isLoading = true;\n this.internalError = this.error;\n this.internalErrorMessage = this.errorMessage;\n // Load the first batch of options (e.g., first 20)\n this.loadedOptions = await this.fetchOptions(0, this.batchSize);\n this.isLoading = false;\n }\n\n async fetchMoreOptions() {\n this.isLoading = true;\n const moreOptions = await this.fetchOptions(this.loadedOptions.length, this.batchSize);\n this.loadedOptions = [...this.loadedOptions, ...moreOptions];\n this.isLoading = false;\n }\n\n\n handleScroll(event: UIEvent) {\n const element = event.target as HTMLElement;\n const halfwayPoint = Math.floor((element.scrollHeight - element.clientHeight) / 2); //loading more options when the user has scrolled halfway through the current list\n\n if (element.scrollTop >= halfwayPoint) {\n this.fetchMoreOptions();\n }\n }\n\n\n\n\n async fetchOptions(startIndex: number, count: number): Promise<Option[]> {\n let allOptions: Option[] = [];\n\n // Parse options if it's a string, or use directly if it's an array\n if (typeof this.options === 'string') {\n try {\n allOptions = JSON.parse(this.options);\n \n } catch (err) {\n console.error('Failed to parse options:', err);\n }\n } else if (Array.isArray(this.options)) {\n allOptions = this.options;\n } else {\n console.error('Unexpected value for options:', this.options);\n }\n\n if (!this.optionsProcessed) {\n this.optionCount = this.countOptions(allOptions);\n const initiallySelected = this.collectSelectedOptions(allOptions);\n const initallySelectedNotInState = initiallySelected.filter(init => !this.persistentSelectedOptions.some(opt => opt.value == init.value));\n this.persistentSelectedOptions = [...this.persistentSelectedOptions, ...initallySelectedNotInState];\n this.optionsProcessed = true;\n }\n // Slice the options array based on startIndex and count\n const slicedOptions = allOptions.slice(startIndex, startIndex + count);\n return slicedOptions;\n }\n\n /**\n * Collects and returns all options that are selected.\n * When the parent is selected, then the value of the children will be overriden with selected as well.\n * It will only collect the leaves of the tree.\n * \n * @param options A list of options.\n * @returns A list with all selected options\n */\n private collectSelectedOptions(options: Option[]): Option[] {\n let selectedOptions: Option[] = [];\n \n for (const option of options) {\n if (option.selected) {\n if (option.children && option.children.length > 0) {\n // if parent is selected, then select all child options\n selectedOptions = selectedOptions.concat(this.collectLeafOptions(option.children));\n } else {\n if (!selectedOptions.some(existingOption => existingOption.value === option.value)) {\n selectedOptions.push(option);\n }\n }\n } else {\n if (option.children && option.children.length > 0) {\n selectedOptions = selectedOptions.concat(this.collectSelectedOptions(option.children));\n }\n }\n }\n\n return selectedOptions;\n }\n\n /**\n * Collects all leaf children options.\n * \n * @param option A list with all leaf-children.\n */\n private collectLeafOptions(children: Option[]): Option[] {\n let leafOptions = [];\n \n for (const child of children) {\n if (child.children && child.children.length > 0) {\n leafOptions = leafOptions.concat(this.collectLeafOptions(child.children));\n } else {\n leafOptions.push(child);\n }\n } \n return leafOptions;\n }\n\n /**\n * Count the number of options. Only counts the leaves of the options tree.\n */\n countOptions(options: Option[]): number {\n let count = 0;\n for (const option of options) {\n if (option.children && option.children.length >= 0) {\n count += this.countOptions(option.children);\n } else {\n count++;\n }\n }\n return count;\n }\n\n\n handleSearch = debounce((targetElement: HTMLInputElement) => {\n const searchTerm = targetElement.value.toLowerCase();\n if (searchTerm === '') {\n this.filteredOptions = this.loadedOptions;\n } else {\n this.filteredOptions = this.loadedOptions.filter(option => {\n const matchesSearchTerm = option.label.toLowerCase().includes(searchTerm);\n if (option.children) {\n const childrenMatch = option.children.some(child => {\n return child.label.toLowerCase().includes(searchTerm);\n });\n return matchesSearchTerm || childrenMatch;\n }\n return matchesSearchTerm;\n });\n }\n }, 300);\n\n componentDidLoad() {\n setTimeout(() => {\n this.positionDropdown();\n }, 500);\n\n // setInterval(this.handleScroll, 5000); // Runs every 5 seconds (5000 milliseconds)\n }\n\n componentWillLoad() {\n this.loadInitialOptions();\n this.filteredOptions = [...this.loadedOptions];\n }\n\n @Watch('error')\n updateInternalError() {\n this.internalError = this.error;\n }\n\n @Watch('errorMessage')\n updateInternalErrorMessage() {\n this.internalErrorMessage = this.errorMessage;\n }\n\n @Watch('loadedOptions')\n loadedOptionsChanged() {\n this.filteredOptions = [...this.loadedOptions];\n }\n\n @Watch('persistentSelectedOptions')\n onSelectionChange(newValue: Option[], _: Option[]) {\n const formData = new FormData();\n newValue.forEach(option => formData.append(this.name, option.value));\n this.internals.setFormValue(formData);\n }\n\n handleOptionClick(option: Option) {\n this.internalError = false;\n\n if (!option.selected && this.isSelectionLimitReached(option)) {\n option.checkboxRef.toggleCheckedState(false)\n this.internalError = true;\n this.internalErrorMessage = \"Please consider the maximum number of items to choose from\";\n return;\n }\n \n this.updateSelection(option);\n this.ifxSelect.emit(this.persistentSelectedOptions);\n }\n\n\n isSelectionLimitReached(option: Option): boolean {\n let newOptionsLength = option.children ? option.children.length : 1;\n return this.maxItemCount && this.persistentSelectedOptions.length + newOptionsLength > this.maxItemCount &&\n !this.persistentSelectedOptions.some(selectedOption => selectedOption.value === option.value)\n }\n\n updateSelection(option: Option) {\n const wasSelected = this.persistentSelectedOptions.some(selectedOption => selectedOption.value === option.value);\n\n if (option.children && option.children.length > 0) {\n this.handleParentOptionClick(option);\n } else {\n this.handleChildOptionClick(option, wasSelected);\n }\n }\n\n async selectAll() {\n const allOptions = await this.fetchOptions(0, this.optionCount);\n this.selectAllRecursive(allOptions);\n \n this.ifxSelect.emit(this.persistentSelectedOptions);\n }\n\n private selectAllRecursive(options: Option[]) {\n for (const opt of options) {\n if (opt.children && opt.children.length > 0) {\n this.selectAllRecursive(opt.children);\n } else {\n if (!this.persistentSelectedOptions.some((some) => some.value === opt.value )) {\n opt.selected = true;\n this.persistentSelectedOptions = [...this.persistentSelectedOptions, opt];\n this.optionCount = this.countOptions( this.persistentSelectedOptions)\n }\n }\n }\n\n }\n\n handleParentOptionClick(option: Option) {\n const allChildrenSelected = option.children.every(child =>\n this.persistentSelectedOptions.some(selectedOption => selectedOption.value === child.value)\n );\n\n if (allChildrenSelected) {\n this.persistentSelectedOptions = [...this.persistentSelectedOptions.filter(\n selectedOption => !option.children.some(child => child.value === selectedOption.value)\n )];\n\n option.selected = false;\n option.children.forEach(child => {\n child.selected = false;\n })\n\n } else {\n const newChildren = [...option.children.filter(childOption =>\n !this.persistentSelectedOptions.some(selectedOption => selectedOption.value === childOption.value)\n )];\n option.selected = true;\n option.children.forEach(child => {\n child.selected = true;\n })\n this.persistentSelectedOptions = [...this.persistentSelectedOptions, ...newChildren];\n }\n }\n\n handleChildOptionClick(option: Option, wasSelected: boolean) {\n if (wasSelected) {\n this.persistentSelectedOptions = [...this.persistentSelectedOptions.filter(selectedOption => selectedOption.value !== option.value)];\n option.selected = false;\n } else {\n this.persistentSelectedOptions = [...this.persistentSelectedOptions, option];\n option.selected = true;\n }\n this.updateParentSelectedState();\n }\n\n updateParentSelectedState() {\n this.loadedOptions.forEach(option => {\n if(option.children?.length > 0) {\n if(option.children.every(child => child.selected === true)) option.selected = true;\n else {\n option.selected = false;\n if(this.isOptionIndeterminate(option)) {\n option.indeterminate = true;\n }else{\n option.indeterminate = false;\n }\n }\n }\n });\n }\n\n\n\n handleDocumentClick = (event: Event) => {\n const path = event.composedPath();\n if (!path.includes(this.dropdownElement)) {\n this.dropdownOpen = false;\n document.removeEventListener('click', this.handleDocumentClick);\n this.filteredOptions = this.loadedOptions;\n // Dispatch the ifxMultiselectIsOpen event\n this.ifxOpen.emit(this.dropdownOpen);\n }\n }\n\n getSizeClass() {\n return `${this.size}` === \"s\"\n ? \"small-select\"\n : \"medium-select\";\n }\n\n toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n setTimeout(() => {\n if (this.dropdownOpen) {\n document.addEventListener('click', this.handleDocumentClick);\n }\n // Dispatch the ifxOpen event\n this.ifxOpen.emit(this.dropdownOpen);\n }, 0);\n }\n\n\n waitForElement(querySelectorFunc: Function, callback: Function, maxTries = 50) {\n let tries = 0;\n function request() {\n requestAnimationFrame(() => {\n const elements = querySelectorFunc();\n if (elements.length > 0 || tries > maxTries) {\n callback(elements);\n } else {\n tries++;\n request();\n }\n });\n }\n request();\n }\n\n\n handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) return; // If it's disabled, don't do anything.\n\n const options = this.dropdownElement.querySelectorAll('.option');\n \n switch (event.code) {\n case 'Enter':\n this.toggleDropdown();\n // Wait a bit for the dropdown to finish rendering\n this.waitForElement(() => {\n return this.dropdownElement.querySelectorAll('.option');\n }, (options) => {\n this.updateHighlightedOption(options);\n });\n break;\n case 'Space': \n this.toggleDropdown();\n // Wait a bit for the dropdown to finish rendering\n this.waitForElement(() => {\n return this.dropdownElement.querySelectorAll('.option');\n }, (options) => {\n this.updateHighlightedOption(options);\n });\n break;\n case 'ArrowDown':\n this.handleArrowDown(options);\n if (this.dropdownOpen) {\n this.updateHighlightedOption(options);\n }\n break;\n case 'ArrowUp':\n this.handleArrowUp(options);\n if (this.dropdownOpen) {\n this.updateHighlightedOption(options);\n }\n break;\n }\n }\n\n handleWrapperClick(event: MouseEvent) {\n // This is your existing logic for positioning the dropdown\n this.positionDropdown();\n\n // Check if the event target is the wrapper itself and not a child element.\n if (event.currentTarget === event.target) {\n this.toggleDropdown();\n }\n }\n\n clearSelection() {\n this.persistentSelectedOptions = [];\n this.ifxSelect.emit(this.persistentSelectedOptions); // if you want to emit empty selection after clearing\n }\n\n positionDropdown() {\n const wrapperRect = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper')?.getBoundingClientRect();\n const spaceBelow = window.innerHeight - wrapperRect.bottom;\n const spaceAbove = wrapperRect.top;\n\n // If there's more space above than below the trigger and the dropdown doesn't fit below\n if ((spaceAbove > spaceBelow && wrapperRect.height > spaceBelow) || (wrapperRect.bottom > window.innerHeight)) {\n this.dropdownFlipped = true;\n } else {\n this.dropdownFlipped = false;\n }\n }\n\n\n\n // Helper function to update highlighted option based on currentIndex\n private updateHighlightedOption(options: NodeList) {\n // Clear all highlights\n options.forEach((option: Element) => option.classList.remove('is-highlighted'));\n\n // Apply highlight to the current option\n if (this.currentIndex >= 0 && this.currentIndex < options.length) {\n (options[this.currentIndex] as Element).classList.add('is-highlighted');\n (options[this.currentIndex] as HTMLElement).focus();\n }\n }\n\n // Helper function to handle arrow down navigation\n private handleArrowDown(options: NodeList) {\n if (this.currentIndex < options.length - 1) {\n this.currentIndex++;\n } else {\n this.currentIndex = 0; // Wrap to the beginning.\n }\n }\n\n // Helper function to handle arrow up navigation\n private handleArrowUp(options: NodeList) {\n if (this.currentIndex > 0) {\n this.currentIndex--;\n } else {\n this.currentIndex = options.length - 1; // Wrap to the end.\n }\n }\n \n handleOptionKeyDown(e: KeyboardEvent, option: Option) {\n if(e.key !== 'ArrowUp' && e.key !== 'ArrowDown') e.stopPropagation();\n if(e.key === 'Enter' || e.key === ' ') {\n this.handleOptionClick(option);\n }\n }\n\n renderOption(option: Option, index: number) {\n const isIndeterminate = this.isOptionIndeterminate(option);\n const isSelected = option.children ? isIndeterminate || this.isOptionSelected(option) : this.persistentSelectedOptions.some(selectedOption => selectedOption.value === option.value);\n const disableCheckbox = !isSelected && this.maxItemCount && this.persistentSelectedOptions.length >= this.maxItemCount;\n const uniqueId = `checkbox-${option.value}-${index}`; // Generate a unique ID using the index\n \n return (\n <div class=\"option-wrapper\">\n <div class={`option ${isSelected ? 'selected' : ''} ${disableCheckbox ? 'disabled' : ''} \n ${this.getSizeClass()}`}\n data-value={option.value}\n onKeyDown={(e) => !disableCheckbox && this.handleOptionKeyDown(e, option)}\n onClick={() => !disableCheckbox && this.handleOptionClick(option)}\n tabindex=\"0\"\n role={`${option.children?.length > 0 ? \"treeitem\" : \"option\"}`}>\n <ifx-checkbox tabIndex={-1} ref={(el) => option.checkboxRef = el} id={uniqueId} size=\"s\" checked={isIndeterminate ? false : isSelected} indeterminate={isIndeterminate} disabled={disableCheckbox}></ifx-checkbox>\n <label htmlFor={uniqueId} onClick={(e) => e.stopPropagation()}>{option.label}</label>\n </div>\n {option.children && option.children.map((child, childIndex) => this.renderSubOption(child, `${index}-${childIndex}`))}\n </div>\n );\n }\n\n isOptionSelected(option: Option): boolean {\n if (!option.children) return false;\n\n return option.children.every(child =>\n this.persistentSelectedOptions.some(persistentOption => persistentOption.value === child.value)\n );\n }\n\n\n isOptionIndeterminate(option: Option): boolean {\n if (!option.children) return false;\n\n const selectedChildren = option.children.filter(child =>\n this.persistentSelectedOptions.some(persistentOption => persistentOption.value === child.value)\n ).length;\n\n return selectedChildren > 0 && selectedChildren < option.children.length;\n }\n\n\n findInOptions(options: Option[], searchTerm: string): Option | null {\n for (const option of options) {\n if (option.value === searchTerm) {\n return option;\n }\n if (option.children) {\n const foundInChildren = this.findInOptions(option.children, searchTerm);\n if (foundInChildren) {\n return foundInChildren;\n }\n }\n }\n return null;\n }\n\n\n renderSubOption(option: Option, index: string) {\n const isSelected = this.persistentSelectedOptions.some(selectedOption => selectedOption.value === option.value);\n const disableCheckbox = !isSelected && this.maxItemCount && this.persistentSelectedOptions.length >= this.maxItemCount;\n const uniqueId = `checkbox-${option.value}-${index}`;\n\n return (\n <div class={`option sub-option ${isSelected ? 'selected' : ''} ${this.getSizeClass()} ${disableCheckbox ? 'disabled' : ''}`}\n data-value={option.value}\n role={`${option.children?.length > 0 ? \"option\" : \"treeitem\"}`}\n onKeyDown={(e) => !disableCheckbox && this.handleOptionKeyDown(e, option)}\n onClick={() => !disableCheckbox && this.handleOptionClick(option)}\n tabindex=\"0\">\n <ifx-checkbox tabIndex={-1} ref={(el) => option.checkboxRef = el} id={uniqueId} size=\"s\" checked={isSelected} disabled={disableCheckbox}></ifx-checkbox>\n <label htmlFor={uniqueId} onClick={(e) => e.stopPropagation()}>{option.label}</label>\n </div>\n );\n }\n\n private renderSelectAll() {\n const allSelected = this.persistentSelectedOptions.length === this.optionCount;\n const noneSelected = this.persistentSelectedOptions.length === 0;\n const indeterminate = this.optionCount > 0 && !noneSelected && !allSelected;\n\n const that = this;\n function toggleSelectAll() {\n if (allSelected) {\n that.clearSelection();\n } else {\n that.selectAll();\n }\n }\n\n function handleSelectAllKeydown(e: KeyboardEvent) {\n if(e.key !== 'ArrowUp' && e.key !== 'ArrowDown') e.stopPropagation();\n if(e.key === 'Enter' || e.key === ' ') {\n toggleSelectAll();\n }\n }\n\n return <div class=\"select-all-wrapper\">\n <div class={`option ${this.getSizeClass()}`} tabindex='0' onKeyDown={(e) => handleSelectAllKeydown(e)} onClick={toggleSelectAll}>\n <ifx-checkbox tabIndex={-1} id='selectAll' checked={allSelected} indeterminate={indeterminate} size=\"s\"></ifx-checkbox>\n <label htmlFor='selectAll'>Select all</label>\n </div>\n <ifx-dropdown-separator></ifx-dropdown-separator>\n </div>;\n }\n\n\n render() {\n // Create a label for the selected options\n const selectedOptionsLabels = this.persistentSelectedOptions\n .filter(option => {\n // check if option is a child and its parent is selected\n const isChildSelectedWithParent = this.persistentSelectedOptions.some(parentOption =>\n parentOption.children &&\n parentOption.children.some(child => child.value === option.value) &&\n parentOption.selected\n );\n return !isChildSelectedWithParent;\n })\n .map(option => option.label)\n .join(', ');\n\n return (\n <div class={`ifx-multiselect-container`} ref={el => this.dropdownElement = el as HTMLElement}>\n {\n this.label ?\n <div class=\"ifx-label-wrapper\">\n <span>{this.label}</span>\n </div> : null\n }\n <div class={`ifx-multiselect-wrapper \n ${this.getSizeClass()} \n ${this.dropdownOpen ? 'active' : ''} \n ${this.dropdownFlipped ? 'is-flipped' : ''}\n ${this.internalError ? 'error' : \"\"}\n ${this.disabled ? 'disabled' : \"\"}`}\n tabindex=\"0\"\n onClick={this.disabled ? undefined : (event) => this.handleWrapperClick(event)}\n onKeyDown={this.disabled ? undefined : (event) => this.handleKeyDown(event)} >\n <div class={`ifx-multiselect-input \n ${this.persistentSelectedOptions.length === 0 ? 'placeholder' : \"\"}\n `}\n onClick={this.disabled ? undefined : () => this.toggleDropdown()}\n >\n {this.persistentSelectedOptions.length > 0 ? selectedOptionsLabels : this.placeholder}\n </div>\n {this.dropdownOpen && (\n <div class=\"ifx-multiselect-dropdown-menu\"\n onScroll={(event) => this.handleScroll(event)}>\n {this.showSearch && <input type=\"text\" role=\"textbox\" class=\"search-input\" onKeyDown={(e) => { e.stopPropagation() }} onInput={(event) => this.handleSearch(event.target)} placeholder=\"Search...\"></input>}\n {this.showSelectAll && this.renderSelectAll()}\n {this.filteredOptions.map((option, index) => this.renderOption(option, index))}\n {this.isLoading && <div>Loading more options...</div>}\n </div>\n )}\n <div class=\"ifx-multiselect-icon-container\">\n\n {/* Clear Button - will show only if there's a selection */}\n {this.persistentSelectedOptions.length > 0 && ( \n <div class=\"ifx-clear-button\" onClick={this.disabled ? undefined : () => this.clearSelection()}>\n <ifx-icon icon=\"cremove16\"></ifx-icon>\n </div>\n )}\n <div class=\"icon-wrapper-up\" onClick={this.disabled ? undefined : () => this.toggleDropdown()}>\n <ifx-icon\n key='icon-up'\n icon='chevronup-16'></ifx-icon>\n </div>\n <div class=\"icon-wrapper-down\" onClick={this.disabled ? undefined : () => this.toggleDropdown()}>\n <ifx-icon\n key='icon-down'\n icon='chevron-down-16'></ifx-icon>\n </div>\n </div>\n\n </div>\n {\n this.internalError ?\n <div class=\"ifx-error-message-wrapper\">\n <span>{this.internalErrorMessage}</span>\n </div> : null\n }\n </div>\n );\n }\n\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-1d22dfb4.js","mappings":"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","names":["HTMLElement"],"sources":["src/components/radio-button/radio-button.scss?tag=ifx-radio-button&encapsulation=shadow","src/components/radio-button/radio-button.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n --_ifx-fallback-display: none !important;\n}\n\n._ifx-radiobutton-fallback {\n display: var(--_ifx-fallback-display);\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0,0,0,0) !important;\n border: 0 !important;\n }\n\n.radioButton__container {\n box-sizing: border-box;\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n padding: 0px;\n gap: tokens.$ifxSpace100;\n cursor: pointer;\n font-family: var(--ifx-font-family, #{tokens.$ifxFontFamilyBody});\n\n &.m .radioButton__wrapper {\n width: tokens.$ifxSize300;\n height: tokens.$ifxSize300;\n }\n\n .radioButton__wrapper {\n width: tokens.$ifxSize250;\n height: tokens.$ifxSize250;\n position: relative;\n display: block;\n border-radius: 50%;\n background-color: tokens.$ifxColorBaseWhite;\n border: 1px solid #575352;\n\n &:focus {\n outline: none;\n\n &::before {\n content: '';\n position: absolute;\n width: calc(100% + 4px);\n height: calc(100% + 4px);\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n border: 2px solid tokens.$ifxColorOcean500;\n border-radius: 50%;\n }\n }\n\n .radioButton__wrapper-mark {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #0A8276;\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n border-color: tokens.$ifxColorBaseTransparent;\n }\n\n &:hover {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &.disabled {\n background-color: #BFBBBB;\n border-color: #BFBBBB;\n\n &.error {\n\n &:hover,\n &:focus-visible {\n border-color: #CD002F;\n }\n }\n }\n\n &.checked {\n border-color: #0A8276;\n\n &::after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 10px;\n height: 10px;\n background-color: #0A8276;\n border-radius: 50%;\n }\n\n &.disabled::after {\n background-color: #BFBBBB;\n }\n\n\n &:hover {\n border-color: tokens.$ifxColorOcean600;\n\n & .radioButton__wrapper-mark {\n background-color: tokens.$ifxColorOcean600;\n }\n }\n\n &.disabled {\n background-color: tokens.$ifxColorBaseWhite;\n border-color: #BFBBBB;\n\n &.disabled::after {\n background-color: #BFBBBB;\n }\n\n & .radioButton__wrapper-mark {\n background-color: #BFBBBB;\n }\n }\n &.error::after {\n border-color: #CD002F;\n background-color: #CD002F;\n }\n }\n\n &.error:not(.disabled) {\n border-color: #CD002F;\n\n &:hover,\n &:focus-visible {\n border-color: #CD002F;\n }\n }\n }\n\n .label {\n display: flex;\n align-items: center;\n height: tokens.$ifxSize250;\n font-style: normal;\n font-weight: 400;\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n color: tokens.$ifxColorBaseBlack;\n flex: none;\n order: 1;\n flex-grow: 0;\n\n &.label-m {\n height: tokens.$ifxSize300;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n }\n\n &.disabled {\n color: #BFBBBB;\n }\n\n\n\n &:hover {\n cursor: pointer;\n }\n }\n}\n\n","import { Component, h, Prop, Element, State, Event, EventEmitter, Listen, Watch } from '@stencil/core';\n\n@Component({\n tag: 'ifx-radio-button',\n styleUrl: 'radio-button.scss',\n shadow: true,\n formAssociated: true\n})\nexport class RadioButton {\n @Element() el: HTMLElement;\n @Prop() disabled: boolean = false;\n @Prop() value: string;\n @Prop() error: boolean = false;\n @Prop({ reflect: true }) size: \"s\" | \"m\" = \"s\";\n @Prop({ reflect: true }) name: string;\n @Prop({ mutable: true }) checked: boolean;\n @State() internalChecked: boolean = false;\n @State() hasSlot: boolean = false;\n\n private inputElement: HTMLInputElement;\n private internals: ElementInternals;\n private fallbackInput: HTMLInputElement;\n\n @Event({ eventName: 'ifxChange' }) ifxChange: EventEmitter;\n @Event({ eventName: 'ifxError' }) ifxError: EventEmitter;\n\n componentWillLoad() {\n // Fallback for form association\n this.fallbackInput = document.createElement('input');\n this.fallbackInput.type = 'radio';\n this.fallbackInput.hidden = true;\n this.fallbackInput.className = '_ifx-radiobutton-fallback';\n this.fallbackInput.style.cssText = `\n display: none !important;\n position: absolute !important;\n opacity: 0 !important;\n pointer-events: none !important;\n width: 0 !important;\n height: 0 !important;\n `;\n this.fallbackInput.setAttribute('aria-hidden', 'true');\n this.fallbackInput.tabIndex = -1;\n this.el.appendChild(this.fallbackInput);\n\n // Initialize ElementInternals if supported\n if ('attachInternals' in HTMLElement.prototype) {\n try {\n this.internals = this.el.attachInternals();\n } catch (e) {\n console.warn('ElementInternals not supported');\n }\n }\n\n // Initial state\n this.internalChecked = this.checked || false;\n this.hasSlot = !!this.el.querySelector('[slot]') || this.el.innerHTML.trim() !== '';\n }\n\n @Watch('checked')\n handleCheckedChange(newValue: boolean) {\n this.internalChecked = newValue;\n }\n\n @Watch('internalChecked')\n updateFormValue() {\n // Update both ElementInternals and fallback input\n if (this.internals?.setFormValue) {\n this.internals.setFormValue(this.internalChecked ? this.value : null);\n }\n this.fallbackInput.checked = this.internalChecked;\n this.fallbackInput.name = this.name;\n this.fallbackInput.value = this.value;\n this.fallbackInput.disabled = this.disabled;\n }\n\n @Watch('error')\n errorChanged(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue) {\n this.ifxError.emit(newValue);\n }\n }\n\n handleRadioButtonClick(event: Event) {\n if (this.disabled) {\n event.stopPropagation();\n return;\n }\n\n this.inputElement.click();\n this.internalChecked = this.inputElement.checked;\n this.checked = this.internalChecked;\n this.ifxChange.emit(this.internalChecked);\n\n const changeEvent = new CustomEvent('change', {\n bubbles: true,\n composed: true,\n detail: { checked: this.internalChecked }\n });\n this.el.dispatchEvent(changeEvent);\n }\n\n @Listen('keydown')\n handleKeyDown(ev: KeyboardEvent) {\n if ([' ', 'Enter'].includes(ev.key)) {\n ev.preventDefault();\n this.handleRadioButtonClick(new PointerEvent('click'));\n }\n }\n\n @Listen('change', { target: 'document' })\n handleExternalChange(event: Event) {\n const target = event.target as HTMLElement;\n if (target === this.el || target.tagName.toLowerCase() !== 'ifx-radio-button') return;\n \n if (target.getAttribute('name') === this.name) {\n this.internalChecked = false;\n }\n }\n\n render() {\n return (\n <div\n role=\"radio\"\n aria-checked={String(this.internalChecked)}\n aria-disabled={String(this.disabled)}\n class={`radioButton__container ${this.size} ${this.disabled ? 'disabled' : ''}`}\n onClick={(e) => this.handleRadioButtonClick(e)}\n tabindex={this.disabled ? -1 : 0}\n >\n <div\n class={`radioButton__wrapper \n ${this.internalChecked ? 'checked' : ''} \n ${this.disabled ? 'disabled' : ''} \n ${this.error ? 'error' : ''}`}\n >\n {this.internalChecked && <div class=\"radioButton__wrapper-mark\"></div>}\n </div>\n\n {this.hasSlot && (\n <div class={`label ${this.size === \"m\" ? \"label-m\" : \"\"} ${this.disabled ? 'disabled' : ''}`}>\n <slot />\n </div>\n )}\n\n <input\n type=\"radio\"\n hidden\n ref={el => this.inputElement = el}\n name={this.name}\n value={this.value}\n checked={this.internalChecked}\n disabled={this.disabled}\n onClick={(e) => e.stopPropagation()}\n />\n </div>\n );\n }\n}"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-2eee9126.js","mappings":"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","names":[],"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 &: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 } from \"@stencil/core\";\nimport classNames from 'classnames';\n \n\n@Component({\n tag: 'ifx-link',\n styleUrl: 'link.scss',\n shadow: true\n})\n\nexport class Link {\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 @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\n render() {\n return (\n <a aria-label='a navigation link button' href={this.internalHref} download={this.download} target={this.internalTarget} class={this.linkClassNames()}>\n <slot></slot>\n </a>\n )\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}\n\n"],"version":3}
@@ -1,68 +0,0 @@
1
- import { p as proxyCustomElement, H, h, d as Host } from './p-2cc378b8.js';
2
- import { d as defineCustomElement$2 } from './p-e7551b24.js';
3
- import { d as defineCustomElement$1 } from './p-2eee9126.js';
4
-
5
- const notificationCss = ":root{--ifx-font-family:\"Source Sans 3\";font-family:var(--ifx-font-family, 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, Source Sans 3);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}}";
6
- const IfxNotificationStyle0 = notificationCss;
7
-
8
- const Notification = /*@__PURE__*/ proxyCustomElement(class Notification extends H {
9
- constructor() {
10
- super();
11
- this.__registerHost();
12
- this.__attachShadow();
13
- this.variant = 'success';
14
- this.linkTarget = '_blank';
15
- }
16
- getClassName() {
17
- switch (this.variant) {
18
- case 'success':
19
- return 'ifx-notification__wrapper--success';
20
- case 'locked':
21
- return 'ifx-notification__wrapper--locked';
22
- case 'error':
23
- return 'ifx-notification__wrapper--error';
24
- case 'neutral':
25
- return 'ifx-notification__wrapper--neutral';
26
- default:
27
- return 'ifx-notification__wrapper--success';
28
- }
29
- }
30
- render() {
31
- return (h(Host, { key: '58c1e582dacc8ce8e0023a33fbad8385256ee061' }, h("div", { key: '72b9751e1e25424ac7b65de457cdf19f58dc3c1d', class: "ifx-notification__wrapper " + this.getClassName() }, h("div", { key: '7e5278aa5a6d87f865a42ca43aee7218f8497758', class: "ifx-notification__icon" }, h("ifx-icon", { key: '51b76a1c0ac9b6a1a0ce8cb94402d985dc1f84bf', icon: this.icon })), h("div", { key: '0ec9c7e9e5f95d65f8ff3e0fd08b350f2147b9fc', class: "ifx-notification__body" }, h("div", { key: '3eb4c1b5dd82d6d8fcbad40f5894bae6ba6bbc46', class: "ifx-notification__slot" }, h("slot", { key: 'ab0f20176ba655ae1d6114436e5a91e2228b5382' })), this.linkText && this.linkHref &&
32
- h("div", { key: 'b1886bb5eda5799c83f2153eadde9559640594fc', class: "ifx-notification__link" }, h("ifx-link", { key: 'be4defdd90d68907de57cce3810e0c682a13141b', href: this.linkHref, target: this.linkTarget }, this.linkText, h("ifx-icon", { key: '1ffc89db07072d1e83f51f9c7ebba662d2254bff', icon: "arrow-right-16" })))))));
33
- }
34
- static get style() { return IfxNotificationStyle0; }
35
- }, [1, "ifx-notification", {
36
- "icon": [1],
37
- "variant": [1],
38
- "linkText": [1, "link-text"],
39
- "linkHref": [1, "link-href"],
40
- "linkTarget": [1, "link-target"]
41
- }]);
42
- function defineCustomElement() {
43
- if (typeof customElements === "undefined") {
44
- return;
45
- }
46
- const components = ["ifx-notification", "ifx-icon", "ifx-link"];
47
- components.forEach(tagName => { switch (tagName) {
48
- case "ifx-notification":
49
- if (!customElements.get(tagName)) {
50
- customElements.define(tagName, Notification);
51
- }
52
- break;
53
- case "ifx-icon":
54
- if (!customElements.get(tagName)) {
55
- defineCustomElement$2();
56
- }
57
- break;
58
- case "ifx-link":
59
- if (!customElements.get(tagName)) {
60
- defineCustomElement$1();
61
- }
62
- break;
63
- } });
64
- }
65
-
66
- export { Notification as N, defineCustomElement as d };
67
-
68
- //# sourceMappingURL=p-4213a3a9.js.map
@@ -1 +0,0 @@
1
- {"file":"p-4213a3a9.js","mappings":";;;;AAAA,MAAM,eAAe,GAAG,8qDAA8qD,CAAC;AACvsD,8BAAe,eAAe;;MCQjB,YAAY;IALzB;;;;QAOU,YAAO,GAAwB,SAAS,CAAC;QAGzC,eAAU,GAAW,QAAQ,CAAC;KA0CvC;IAvCS,YAAY;QAClB,QAAQ,IAAI,CAAC,OAAO;YAClB,KAAK,SAAS;gBACZ,OAAO,oCAAoC,CAAC;YAC9C,KAAK,QAAQ;gBACX,OAAO,mCAAmC,CAAC;YAC7C,KAAK,OAAO;gBACV,OAAO,kCAAkC,CAAC;YAC5C,KAAK,SAAS;gBACZ,OAAO,oCAAoC,CAAC;YAC9C;gBACE,OAAO,oCAAoC,CAAC;SAC/C;KACF;IAED,MAAM;QACJ,QACE,EAAC,IAAI,uDACH,4DAAK,KAAK,EAAE,4BAA4B,GAAG,IAAI,CAAC,YAAY,EAAE,IAC5D,4DAAK,KAAK,EAAC,wBAAwB,IACjC,iEAAU,IAAI,EAAE,IAAI,CAAC,IAAI,GAAa,CAClC,EACN,4DAAK,KAAK,EAAC,wBAAwB,IACjC,4DAAK,KAAK,EAAC,wBAAwB,IACjC,8DAAO,CACH,EACJ,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;YAChC,4DAAK,KAAK,EAAC,wBAAwB,IACjC,iEAAU,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,IACnD,IAAI,CAAC,QAAQ,EAAC,iEAAU,IAAI,EAAC,gBAAgB,GACrC,CACA,CACP,CAEF,CACF,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"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 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 } from '@stencil/core';\n \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 @Prop() icon: string;\n @Prop() variant: NotificationVariant = 'success';\n @Prop() linkText: string; \n @Prop() linkHref: string;\n @Prop() linkTarget: string = '_blank';\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}"],"version":3}