@infineon/infineon-design-system-stencil 33.1.1--canary.1827.0eabedc97f4e514129bb536649b389971d5464b1.0 → 33.1.2--canary.1826.ab5192d6f17d4c267916d552789c086df5754943.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 (645) 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 +1 -1
  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 +1 -1
  8. package/dist/cjs/ifx-basic-table.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ifx-breadcrumb-item-label.cjs.entry.js +1 -1
  10. package/dist/cjs/ifx-breadcrumb-item-label.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ifx-breadcrumb-item.cjs.entry.js +1 -1
  12. package/dist/cjs/ifx-breadcrumb-item.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ifx-breadcrumb.cjs.entry.js +1 -1
  14. package/dist/cjs/ifx-breadcrumb.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ifx-button.cjs.entry.js +1 -1
  16. package/dist/cjs/ifx-button.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ifx-card-headline.cjs.entry.js +1 -1
  18. package/dist/cjs/ifx-card-headline.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ifx-card-links.cjs.entry.js +1 -1
  20. package/dist/cjs/ifx-card-links.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ifx-card-overline.cjs.entry.js +1 -1
  22. package/dist/cjs/ifx-card-overline.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ifx-card-text.cjs.entry.js +1 -1
  24. package/dist/cjs/ifx-card-text.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ifx-card.cjs.entry.js +1 -1
  26. package/dist/cjs/ifx-card.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ifx-checkbox-group.cjs.entry.js +1 -1
  28. package/dist/cjs/ifx-checkbox-group.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ifx-checkbox.cjs.entry.js +1 -1
  30. package/dist/cjs/ifx-checkbox.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ifx-chip_3.cjs.entry.js +3 -3
  32. package/dist/cjs/ifx-chip_3.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ifx-dropdown-header.cjs.entry.js +1 -1
  34. package/dist/cjs/ifx-dropdown-header.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ifx-dropdown-item.cjs.entry.js +1 -1
  36. package/dist/cjs/ifx-dropdown-item.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ifx-dropdown-menu.cjs.entry.js +1 -1
  38. package/dist/cjs/ifx-dropdown-menu.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ifx-filter-search.cjs.entry.js +1 -1
  40. package/dist/cjs/ifx-filter-search.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ifx-footer-column.cjs.entry.js +1 -1
  42. package/dist/cjs/ifx-footer-column.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ifx-footer.cjs.entry.js +1 -1
  44. package/dist/cjs/ifx-footer.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ifx-icon-button.cjs.entry.js +2 -2
  46. package/dist/cjs/ifx-icon-button.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ifx-link.cjs.entry.js +2 -11
  48. package/dist/cjs/ifx-link.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ifx-modal.cjs.entry.js +1 -1
  50. package/dist/cjs/ifx-modal.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ifx-multiselect.cjs.entry.js +1 -1
  52. package/dist/cjs/ifx-multiselect.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ifx-navbar-item.cjs.entry.js +1 -1
  54. package/dist/cjs/ifx-navbar-item.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ifx-navbar-profile.cjs.entry.js +1 -1
  56. package/dist/cjs/ifx-navbar-profile.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ifx-navbar.cjs.entry.js +1 -1
  58. package/dist/cjs/ifx-navbar.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ifx-notification.cjs.entry.js +1 -1
  60. package/dist/cjs/ifx-notification.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ifx-number-indicator.cjs.entry.js +1 -1
  62. package/dist/cjs/ifx-number-indicator.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ifx-progress-bar.cjs.entry.js +1 -1
  64. package/dist/cjs/ifx-progress-bar.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ifx-radio-button-group.cjs.entry.js +1 -1
  66. package/dist/cjs/ifx-radio-button-group.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ifx-radio-button.cjs.entry.js +1 -1
  68. package/dist/cjs/ifx-radio-button.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ifx-search-bar.cjs.entry.js +1 -1
  70. package/dist/cjs/ifx-search-bar.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ifx-search-field.cjs.entry.js +1 -1
  72. package/dist/cjs/ifx-search-field.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ifx-segment.cjs.entry.js +1 -1
  74. package/dist/cjs/ifx-segment.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ifx-segmented-control.cjs.entry.js +1 -1
  76. package/dist/cjs/ifx-segmented-control.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ifx-select.cjs.entry.js +1 -1
  78. package/dist/cjs/ifx-select.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ifx-sidebar-item.cjs.entry.js +1 -1
  80. package/dist/cjs/ifx-sidebar-item.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ifx-sidebar-title.cjs.entry.js +1 -1
  82. package/dist/cjs/ifx-sidebar-title.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ifx-sidebar.cjs.entry.js +1 -1
  84. package/dist/cjs/ifx-sidebar.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ifx-slider.cjs.entry.js +1 -1
  86. package/dist/cjs/ifx-slider.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ifx-spinner_2.cjs.entry.js +1 -1
  88. package/dist/cjs/ifx-spinner_2.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ifx-status.cjs.entry.js +1 -1
  90. package/dist/cjs/ifx-status.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ifx-step.cjs.entry.js +1 -1
  92. package/dist/cjs/ifx-step.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ifx-stepper.cjs.entry.js +1 -1
  94. package/dist/cjs/ifx-stepper.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ifx-switch.cjs.entry.js +1 -1
  96. package/dist/cjs/ifx-switch.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ifx-table.cjs.entry.js +1 -1
  98. package/dist/cjs/ifx-table.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ifx-tabs.cjs.entry.js +1 -1
  100. package/dist/cjs/ifx-tabs.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ifx-tag.cjs.entry.js +1 -1
  102. package/dist/cjs/ifx-tag.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ifx-textarea.cjs.entry.js +1 -1
  104. package/dist/cjs/ifx-textarea.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ifx-tooltip.cjs.entry.js +1 -1
  106. package/dist/cjs/ifx-tooltip.cjs.entry.js.map +1 -1
  107. package/dist/cjs/infineon-design-system-stencil.cjs.js +1 -1
  108. package/dist/cjs/loader.cjs.js +1 -1
  109. package/dist/collection/components/accordion/accordion.css +2 -3
  110. package/dist/collection/components/accordion/accordionItem.css +2 -3
  111. package/dist/collection/components/alert/alert.css +3 -4
  112. package/dist/collection/components/badge/badge.css +2 -3
  113. package/dist/collection/components/breadcrumb/breadcrumb-item-label.css +1 -2
  114. package/dist/collection/components/breadcrumb/breadcrumb-item.css +2 -3
  115. package/dist/collection/components/breadcrumb/breadcrumb.css +2 -3
  116. package/dist/collection/components/button/button.css +2 -3
  117. package/dist/collection/components/card/card-headline/card-headline.css +2 -3
  118. package/dist/collection/components/card/card-links/card-links.css +1 -2
  119. package/dist/collection/components/card/card-overline/card-overline.css +1 -2
  120. package/dist/collection/components/card/card-text/card-text.css +1 -2
  121. package/dist/collection/components/card/card.css +2 -3
  122. package/dist/collection/components/checkbox/checkbox.css +1 -1
  123. package/dist/collection/components/checkbox-group/checkbox-group.css +2 -3
  124. package/dist/collection/components/chip/chip-item/chip-item.css +1 -2
  125. package/dist/collection/components/chip/chip.css +1 -2
  126. package/dist/collection/components/dropdown/dropdown-header/dropdown-header.css +3 -4
  127. package/dist/collection/components/dropdown/dropdown-item/dropdown-item.css +2 -3
  128. package/dist/collection/components/dropdown/dropdown-menu/dropdown-menu.css +1 -1
  129. package/dist/collection/components/footer/footer-column.css +2 -3
  130. package/dist/collection/components/footer/footer.css +2 -3
  131. package/dist/collection/components/icon-button/icon-button.css +1 -1
  132. package/dist/collection/components/icon-button/icon-button.js +20 -1
  133. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  134. package/dist/collection/components/icon-button/icon-button.stories.js +9 -1
  135. package/dist/collection/components/icon-button/icon-button.stories.js.map +1 -1
  136. package/dist/collection/components/link/link.css +2 -3
  137. package/dist/collection/components/link/link.js +1 -29
  138. package/dist/collection/components/link/link.js.map +1 -1
  139. package/dist/collection/components/link/link.stories.js +2 -14
  140. package/dist/collection/components/link/link.stories.js.map +1 -1
  141. package/dist/collection/components/modal/modal.css +2 -3
  142. package/dist/collection/components/navigation/navbar/navbar-item.css +3 -3
  143. package/dist/collection/components/navigation/navbar/navbar.css +3 -4
  144. package/dist/collection/components/navigation/sidebar/sidebar-item.css +2 -3
  145. package/dist/collection/components/navigation/sidebar/sidebar-title.css +1 -2
  146. package/dist/collection/components/navigation/sidebar/sidebar.css +2 -3
  147. package/dist/collection/components/notification/notification.css +2 -3
  148. package/dist/collection/components/number-indicator/number-indicator.css +1 -2
  149. package/dist/collection/components/pagination/pagination.css +2 -3
  150. package/dist/collection/components/progress-bar/progress-bar.css +2 -3
  151. package/dist/collection/components/radio-button/radio-button.css +2 -3
  152. package/dist/collection/components/radio-button-group/radio-button-group.css +2 -3
  153. package/dist/collection/components/search-bar/search-bar.css +2 -3
  154. package/dist/collection/components/search-field/search-field.css +2 -3
  155. package/dist/collection/components/segmented-control/segment/segment.css +1 -2
  156. package/dist/collection/components/segmented-control/segmented-control.css +1 -2
  157. package/dist/collection/components/select/multi-select/multiselect.css +2 -3
  158. package/dist/collection/components/select/single-select/select.css +2 -3
  159. package/dist/collection/components/slider/slider.css +1 -2
  160. package/dist/collection/components/status/status.css +2 -3
  161. package/dist/collection/components/stepper/step/step.css +1 -2
  162. package/dist/collection/components/stepper/stepper.css +1 -2
  163. package/dist/collection/components/switch/switch.css +1 -2
  164. package/dist/collection/components/table-advanced-version/filter-type-group/filter-search/filter-search.css +2 -2
  165. package/dist/collection/components/table-advanced-version/table.css +2 -3
  166. package/dist/collection/components/table-basic-version/table.css +2 -3
  167. package/dist/collection/components/tabs/tabs.css +2 -3
  168. package/dist/collection/components/tag/tag.css +2 -3
  169. package/dist/collection/components/text-field/text-field.css +2 -3
  170. package/dist/collection/components/textarea/textarea.css +1 -2
  171. package/dist/collection/components/tooltip/tooltip.css +2 -3
  172. package/dist/collection/global/font-import.js +2 -0
  173. package/dist/collection/global/font-import.js.map +1 -0
  174. package/dist/collection/index.js +1 -0
  175. package/dist/collection/index.js.map +1 -1
  176. package/dist/components/ifx-accordion-item.js +1 -1
  177. package/dist/components/ifx-accordion.js +1 -1
  178. package/dist/components/ifx-alert.js +1 -1
  179. package/dist/components/ifx-badge.js +1 -1
  180. package/dist/components/ifx-badge.js.map +1 -1
  181. package/dist/components/ifx-basic-table.js +1 -1
  182. package/dist/components/ifx-basic-table.js.map +1 -1
  183. package/dist/components/ifx-breadcrumb-item-label.js +1 -1
  184. package/dist/components/ifx-breadcrumb-item-label.js.map +1 -1
  185. package/dist/components/ifx-breadcrumb-item.js +1 -1
  186. package/dist/components/ifx-breadcrumb-item.js.map +1 -1
  187. package/dist/components/ifx-breadcrumb.js +1 -1
  188. package/dist/components/ifx-breadcrumb.js.map +1 -1
  189. package/dist/components/ifx-button.js +1 -1
  190. package/dist/components/ifx-card-headline.js +1 -1
  191. package/dist/components/ifx-card-headline.js.map +1 -1
  192. package/dist/components/ifx-card-links.js +1 -1
  193. package/dist/components/ifx-card-links.js.map +1 -1
  194. package/dist/components/ifx-card-overline.js +1 -1
  195. package/dist/components/ifx-card-overline.js.map +1 -1
  196. package/dist/components/ifx-card-text.js +1 -1
  197. package/dist/components/ifx-card-text.js.map +1 -1
  198. package/dist/components/ifx-card.js +1 -1
  199. package/dist/components/ifx-card.js.map +1 -1
  200. package/dist/components/ifx-checkbox-group.js +1 -1
  201. package/dist/components/ifx-checkbox-group.js.map +1 -1
  202. package/dist/components/ifx-checkbox.js +1 -1
  203. package/dist/components/ifx-chip-item.js +1 -1
  204. package/dist/components/ifx-chip.js +1 -1
  205. package/dist/components/ifx-download.js +1 -1
  206. package/dist/components/ifx-dropdown-header.js +1 -1
  207. package/dist/components/ifx-dropdown-header.js.map +1 -1
  208. package/dist/components/ifx-dropdown-item.js +1 -1
  209. package/dist/components/ifx-dropdown-item.js.map +1 -1
  210. package/dist/components/ifx-dropdown-menu.js +1 -1
  211. package/dist/components/ifx-dropdown-menu.js.map +1 -1
  212. package/dist/components/ifx-dropdown-trigger-button.js +1 -1
  213. package/dist/components/ifx-faq.js +2 -2
  214. package/dist/components/ifx-filter-accordion.js +1 -1
  215. package/dist/components/ifx-filter-bar.js +1 -1
  216. package/dist/components/ifx-filter-search.js +2 -2
  217. package/dist/components/ifx-filter-search.js.map +1 -1
  218. package/dist/components/ifx-footer-column.js +1 -1
  219. package/dist/components/ifx-footer-column.js.map +1 -1
  220. package/dist/components/ifx-footer.js +1 -1
  221. package/dist/components/ifx-footer.js.map +1 -1
  222. package/dist/components/ifx-icon-button.js +1 -1
  223. package/dist/components/ifx-icons-preview.js +2 -2
  224. package/dist/components/ifx-link.js +1 -1
  225. package/dist/components/ifx-list-entry.js +2 -2
  226. package/dist/components/ifx-list.js +1 -1
  227. package/dist/components/ifx-modal.js +2 -2
  228. package/dist/components/ifx-modal.js.map +1 -1
  229. package/dist/components/ifx-multiselect.js +1 -1
  230. package/dist/components/ifx-navbar-item.js +2 -2
  231. package/dist/components/ifx-navbar-item.js.map +1 -1
  232. package/dist/components/ifx-navbar-profile.js +1 -1
  233. package/dist/components/ifx-navbar-profile.js.map +1 -1
  234. package/dist/components/ifx-navbar.js +1 -1
  235. package/dist/components/ifx-navbar.js.map +1 -1
  236. package/dist/components/ifx-notification.js +1 -1
  237. package/dist/components/ifx-number-indicator.js +1 -1
  238. package/dist/components/ifx-overview-table.js +2 -2
  239. package/dist/components/ifx-pagination.js +1 -1
  240. package/dist/components/ifx-progress-bar.js +1 -1
  241. package/dist/components/ifx-progress-bar.js.map +1 -1
  242. package/dist/components/ifx-radio-button-group.js +1 -1
  243. package/dist/components/ifx-radio-button-group.js.map +1 -1
  244. package/dist/components/ifx-radio-button.js +1 -1
  245. package/dist/components/ifx-search-bar.js +2 -2
  246. package/dist/components/ifx-search-bar.js.map +1 -1
  247. package/dist/components/ifx-search-field.js +1 -1
  248. package/dist/components/ifx-segment.js +1 -1
  249. package/dist/components/ifx-segment.js.map +1 -1
  250. package/dist/components/ifx-segmented-control.js +1 -1
  251. package/dist/components/ifx-segmented-control.js.map +1 -1
  252. package/dist/components/ifx-select.js +1 -1
  253. package/dist/components/ifx-set-filter.js +4 -4
  254. package/dist/components/ifx-sidebar-item.js +2 -2
  255. package/dist/components/ifx-sidebar-item.js.map +1 -1
  256. package/dist/components/ifx-sidebar-title.js +1 -1
  257. package/dist/components/ifx-sidebar-title.js.map +1 -1
  258. package/dist/components/ifx-sidebar.js +1 -1
  259. package/dist/components/ifx-sidebar.js.map +1 -1
  260. package/dist/components/ifx-slider.js +1 -1
  261. package/dist/components/ifx-slider.js.map +1 -1
  262. package/dist/components/ifx-status.js +1 -1
  263. package/dist/components/ifx-status.js.map +1 -1
  264. package/dist/components/ifx-step.js +1 -1
  265. package/dist/components/ifx-step.js.map +1 -1
  266. package/dist/components/ifx-stepper.js +1 -1
  267. package/dist/components/ifx-stepper.js.map +1 -1
  268. package/dist/components/ifx-switch.js +1 -1
  269. package/dist/components/ifx-switch.js.map +1 -1
  270. package/dist/components/ifx-table.js +9 -9
  271. package/dist/components/ifx-table.js.map +1 -1
  272. package/dist/components/ifx-tabs.js +1 -1
  273. package/dist/components/ifx-tabs.js.map +1 -1
  274. package/dist/components/ifx-tag.js +1 -1
  275. package/dist/components/ifx-tag.js.map +1 -1
  276. package/dist/components/ifx-template.js +1 -1
  277. package/dist/components/ifx-templates-ui.js +6 -6
  278. package/dist/components/ifx-text-field.js +1 -1
  279. package/dist/components/ifx-textarea.js +1 -1
  280. package/dist/components/ifx-textarea.js.map +1 -1
  281. package/dist/components/ifx-tooltip.js +1 -1
  282. package/dist/components/ifx-tooltip.js.map +1 -1
  283. package/dist/components/{p-2d148a20.js → p-1e3e101e.js} +3 -13
  284. package/dist/components/p-1e3e101e.js.map +1 -0
  285. package/dist/components/{p-19417832.js → p-228cfe27.js} +3 -3
  286. package/dist/components/p-228cfe27.js.map +1 -0
  287. package/dist/components/{p-47b9635d.js → p-23757cfd.js} +3 -3
  288. package/dist/components/{p-47b9635d.js.map → p-23757cfd.js.map} +1 -1
  289. package/dist/components/{p-5853aeb8.js → p-26e62031.js} +2 -2
  290. package/dist/components/p-26e62031.js.map +1 -0
  291. package/dist/components/{p-107fafa0.js → p-2e58d8c1.js} +4 -4
  292. package/dist/components/p-2e58d8c1.js.map +1 -0
  293. package/dist/components/{p-03acdbd0.js → p-327af560.js} +2 -2
  294. package/dist/components/{p-03acdbd0.js.map → p-327af560.js.map} +1 -1
  295. package/dist/components/{p-b024aa08.js → p-36fd2fbd.js} +3 -3
  296. package/dist/components/{p-b024aa08.js.map → p-36fd2fbd.js.map} +1 -1
  297. package/dist/components/{p-1718b5a9.js → p-3e92c1e4.js} +2 -2
  298. package/dist/components/{p-1718b5a9.js.map → p-3e92c1e4.js.map} +1 -1
  299. package/dist/components/{p-4ac265d2.js → p-4d64e776.js} +2 -2
  300. package/dist/components/p-4d64e776.js.map +1 -0
  301. package/dist/components/{p-f579ea93.js → p-59110a4e.js} +2 -2
  302. package/dist/components/p-59110a4e.js.map +1 -0
  303. package/dist/components/{p-905fb988.js → p-5b5399c2.js} +2 -2
  304. package/dist/components/p-5b5399c2.js.map +1 -0
  305. package/dist/components/{p-58a0ff65.js → p-7b38ddd5.js} +2 -2
  306. package/dist/components/p-7b38ddd5.js.map +1 -0
  307. package/dist/components/{p-94e019a6.js → p-7c7a5393.js} +2 -2
  308. package/dist/components/p-7c7a5393.js.map +1 -0
  309. package/dist/components/p-9689674e.js +89 -0
  310. package/dist/components/p-9689674e.js.map +1 -0
  311. package/dist/components/p-a6cdaeed.js +164 -0
  312. package/dist/components/p-a6cdaeed.js.map +1 -0
  313. package/dist/components/{p-eadd0c22.js → p-babc4920.js} +3 -3
  314. package/dist/components/p-babc4920.js.map +1 -0
  315. package/dist/components/{p-67e46230.js → p-cdc14ac4.js} +4 -4
  316. package/dist/components/{p-67e46230.js.map → p-cdc14ac4.js.map} +1 -1
  317. package/dist/components/{p-493b7a31.js → p-f36effad.js} +2 -2
  318. package/dist/components/p-f36effad.js.map +1 -0
  319. package/dist/esm/ifx-accordion_2.entry.js +2 -2
  320. package/dist/esm/ifx-accordion_2.entry.js.map +1 -1
  321. package/dist/esm/ifx-alert_2.entry.js +1 -1
  322. package/dist/esm/ifx-alert_2.entry.js.map +1 -1
  323. package/dist/esm/ifx-badge.entry.js +1 -1
  324. package/dist/esm/ifx-badge.entry.js.map +1 -1
  325. package/dist/esm/ifx-basic-table.entry.js +1 -1
  326. package/dist/esm/ifx-basic-table.entry.js.map +1 -1
  327. package/dist/esm/ifx-breadcrumb-item-label.entry.js +1 -1
  328. package/dist/esm/ifx-breadcrumb-item-label.entry.js.map +1 -1
  329. package/dist/esm/ifx-breadcrumb-item.entry.js +1 -1
  330. package/dist/esm/ifx-breadcrumb-item.entry.js.map +1 -1
  331. package/dist/esm/ifx-breadcrumb.entry.js +1 -1
  332. package/dist/esm/ifx-breadcrumb.entry.js.map +1 -1
  333. package/dist/esm/ifx-button.entry.js +1 -1
  334. package/dist/esm/ifx-button.entry.js.map +1 -1
  335. package/dist/esm/ifx-card-headline.entry.js +1 -1
  336. package/dist/esm/ifx-card-headline.entry.js.map +1 -1
  337. package/dist/esm/ifx-card-links.entry.js +1 -1
  338. package/dist/esm/ifx-card-links.entry.js.map +1 -1
  339. package/dist/esm/ifx-card-overline.entry.js +1 -1
  340. package/dist/esm/ifx-card-overline.entry.js.map +1 -1
  341. package/dist/esm/ifx-card-text.entry.js +1 -1
  342. package/dist/esm/ifx-card-text.entry.js.map +1 -1
  343. package/dist/esm/ifx-card.entry.js +1 -1
  344. package/dist/esm/ifx-card.entry.js.map +1 -1
  345. package/dist/esm/ifx-checkbox-group.entry.js +1 -1
  346. package/dist/esm/ifx-checkbox-group.entry.js.map +1 -1
  347. package/dist/esm/ifx-checkbox.entry.js +1 -1
  348. package/dist/esm/ifx-checkbox.entry.js.map +1 -1
  349. package/dist/esm/ifx-chip_3.entry.js +3 -3
  350. package/dist/esm/ifx-chip_3.entry.js.map +1 -1
  351. package/dist/esm/ifx-dropdown-header.entry.js +1 -1
  352. package/dist/esm/ifx-dropdown-header.entry.js.map +1 -1
  353. package/dist/esm/ifx-dropdown-item.entry.js +1 -1
  354. package/dist/esm/ifx-dropdown-item.entry.js.map +1 -1
  355. package/dist/esm/ifx-dropdown-menu.entry.js +1 -1
  356. package/dist/esm/ifx-dropdown-menu.entry.js.map +1 -1
  357. package/dist/esm/ifx-filter-search.entry.js +1 -1
  358. package/dist/esm/ifx-filter-search.entry.js.map +1 -1
  359. package/dist/esm/ifx-footer-column.entry.js +1 -1
  360. package/dist/esm/ifx-footer-column.entry.js.map +1 -1
  361. package/dist/esm/ifx-footer.entry.js +1 -1
  362. package/dist/esm/ifx-footer.entry.js.map +1 -1
  363. package/dist/esm/ifx-icon-button.entry.js +2 -2
  364. package/dist/esm/ifx-icon-button.entry.js.map +1 -1
  365. package/dist/esm/ifx-link.entry.js +2 -11
  366. package/dist/esm/ifx-link.entry.js.map +1 -1
  367. package/dist/esm/ifx-modal.entry.js +1 -1
  368. package/dist/esm/ifx-modal.entry.js.map +1 -1
  369. package/dist/esm/ifx-multiselect.entry.js +1 -1
  370. package/dist/esm/ifx-multiselect.entry.js.map +1 -1
  371. package/dist/esm/ifx-navbar-item.entry.js +1 -1
  372. package/dist/esm/ifx-navbar-item.entry.js.map +1 -1
  373. package/dist/esm/ifx-navbar-profile.entry.js +1 -1
  374. package/dist/esm/ifx-navbar-profile.entry.js.map +1 -1
  375. package/dist/esm/ifx-navbar.entry.js +1 -1
  376. package/dist/esm/ifx-navbar.entry.js.map +1 -1
  377. package/dist/esm/ifx-notification.entry.js +1 -1
  378. package/dist/esm/ifx-notification.entry.js.map +1 -1
  379. package/dist/esm/ifx-number-indicator.entry.js +1 -1
  380. package/dist/esm/ifx-number-indicator.entry.js.map +1 -1
  381. package/dist/esm/ifx-progress-bar.entry.js +1 -1
  382. package/dist/esm/ifx-progress-bar.entry.js.map +1 -1
  383. package/dist/esm/ifx-radio-button-group.entry.js +1 -1
  384. package/dist/esm/ifx-radio-button-group.entry.js.map +1 -1
  385. package/dist/esm/ifx-radio-button.entry.js +1 -1
  386. package/dist/esm/ifx-radio-button.entry.js.map +1 -1
  387. package/dist/esm/ifx-search-bar.entry.js +1 -1
  388. package/dist/esm/ifx-search-bar.entry.js.map +1 -1
  389. package/dist/esm/ifx-search-field.entry.js +1 -1
  390. package/dist/esm/ifx-search-field.entry.js.map +1 -1
  391. package/dist/esm/ifx-segment.entry.js +1 -1
  392. package/dist/esm/ifx-segment.entry.js.map +1 -1
  393. package/dist/esm/ifx-segmented-control.entry.js +1 -1
  394. package/dist/esm/ifx-segmented-control.entry.js.map +1 -1
  395. package/dist/esm/ifx-select.entry.js +1 -1
  396. package/dist/esm/ifx-select.entry.js.map +1 -1
  397. package/dist/esm/ifx-sidebar-item.entry.js +1 -1
  398. package/dist/esm/ifx-sidebar-item.entry.js.map +1 -1
  399. package/dist/esm/ifx-sidebar-title.entry.js +1 -1
  400. package/dist/esm/ifx-sidebar-title.entry.js.map +1 -1
  401. package/dist/esm/ifx-sidebar.entry.js +1 -1
  402. package/dist/esm/ifx-sidebar.entry.js.map +1 -1
  403. package/dist/esm/ifx-slider.entry.js +1 -1
  404. package/dist/esm/ifx-slider.entry.js.map +1 -1
  405. package/dist/esm/ifx-spinner_2.entry.js +1 -1
  406. package/dist/esm/ifx-spinner_2.entry.js.map +1 -1
  407. package/dist/esm/ifx-status.entry.js +1 -1
  408. package/dist/esm/ifx-status.entry.js.map +1 -1
  409. package/dist/esm/ifx-step.entry.js +1 -1
  410. package/dist/esm/ifx-step.entry.js.map +1 -1
  411. package/dist/esm/ifx-stepper.entry.js +1 -1
  412. package/dist/esm/ifx-stepper.entry.js.map +1 -1
  413. package/dist/esm/ifx-switch.entry.js +1 -1
  414. package/dist/esm/ifx-switch.entry.js.map +1 -1
  415. package/dist/esm/ifx-table.entry.js +1 -1
  416. package/dist/esm/ifx-table.entry.js.map +1 -1
  417. package/dist/esm/ifx-tabs.entry.js +1 -1
  418. package/dist/esm/ifx-tabs.entry.js.map +1 -1
  419. package/dist/esm/ifx-tag.entry.js +1 -1
  420. package/dist/esm/ifx-tag.entry.js.map +1 -1
  421. package/dist/esm/ifx-textarea.entry.js +1 -1
  422. package/dist/esm/ifx-textarea.entry.js.map +1 -1
  423. package/dist/esm/ifx-tooltip.entry.js +1 -1
  424. package/dist/esm/ifx-tooltip.entry.js.map +1 -1
  425. package/dist/esm/infineon-design-system-stencil.js +1 -1
  426. package/dist/esm/loader.js +1 -1
  427. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.css +1 -1
  428. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  429. package/dist/infineon-design-system-stencil/p-0333c09a.entry.js +2 -0
  430. package/dist/infineon-design-system-stencil/{p-0d2595c0.entry.js.map → p-0333c09a.entry.js.map} +1 -1
  431. package/dist/infineon-design-system-stencil/p-05d332bd.entry.js +2 -0
  432. package/dist/infineon-design-system-stencil/p-05d332bd.entry.js.map +1 -0
  433. package/dist/infineon-design-system-stencil/p-080456bc.entry.js +2 -0
  434. package/dist/infineon-design-system-stencil/p-080456bc.entry.js.map +1 -0
  435. package/dist/infineon-design-system-stencil/p-0d11b881.entry.js +2 -0
  436. package/dist/infineon-design-system-stencil/p-0d11b881.entry.js.map +1 -0
  437. package/dist/infineon-design-system-stencil/p-1f745731.entry.js +2 -0
  438. package/dist/infineon-design-system-stencil/{p-9e413f66.entry.js.map → p-1f745731.entry.js.map} +1 -1
  439. package/dist/infineon-design-system-stencil/p-2ed9a934.entry.js +2 -0
  440. package/dist/infineon-design-system-stencil/p-2ed9a934.entry.js.map +1 -0
  441. package/dist/infineon-design-system-stencil/p-2f87fada.entry.js +2 -0
  442. package/dist/infineon-design-system-stencil/{p-00c52c84.entry.js.map → p-2f87fada.entry.js.map} +1 -1
  443. package/dist/infineon-design-system-stencil/p-332313b0.entry.js +2 -0
  444. package/dist/infineon-design-system-stencil/p-332313b0.entry.js.map +1 -0
  445. package/dist/infineon-design-system-stencil/p-33f48cf1.entry.js +2 -0
  446. package/dist/infineon-design-system-stencil/{p-6abc7111.entry.js.map → p-33f48cf1.entry.js.map} +1 -1
  447. package/dist/infineon-design-system-stencil/p-41316712.entry.js +2 -0
  448. package/dist/infineon-design-system-stencil/p-41316712.entry.js.map +1 -0
  449. package/dist/infineon-design-system-stencil/p-427b82a8.entry.js +2 -0
  450. package/dist/infineon-design-system-stencil/{p-e57f8890.entry.js.map → p-427b82a8.entry.js.map} +1 -1
  451. package/dist/infineon-design-system-stencil/p-459389f2.entry.js +2 -0
  452. package/dist/infineon-design-system-stencil/p-459389f2.entry.js.map +1 -0
  453. package/dist/infineon-design-system-stencil/p-47893f7e.entry.js +2 -0
  454. package/dist/infineon-design-system-stencil/{p-e7c8d9bf.entry.js.map → p-47893f7e.entry.js.map} +1 -1
  455. package/dist/infineon-design-system-stencil/p-485ba923.entry.js +2 -0
  456. package/dist/infineon-design-system-stencil/p-485ba923.entry.js.map +1 -0
  457. package/dist/infineon-design-system-stencil/p-4a5ac145.entry.js +2 -0
  458. package/dist/infineon-design-system-stencil/p-4a5ac145.entry.js.map +1 -0
  459. package/dist/infineon-design-system-stencil/p-4ddb3e72.entry.js +2 -0
  460. package/dist/infineon-design-system-stencil/p-4ddb3e72.entry.js.map +1 -0
  461. package/dist/infineon-design-system-stencil/p-50793991.entry.js +2 -0
  462. package/dist/infineon-design-system-stencil/p-50793991.entry.js.map +1 -0
  463. package/dist/infineon-design-system-stencil/{p-a8eb23b6.entry.js → p-5d486e15.entry.js} +2 -2
  464. package/dist/infineon-design-system-stencil/p-5d486e15.entry.js.map +1 -0
  465. package/dist/infineon-design-system-stencil/p-5f6da116.entry.js +2 -0
  466. package/dist/infineon-design-system-stencil/p-5f6da116.entry.js.map +1 -0
  467. package/dist/infineon-design-system-stencil/p-602a1ada.entry.js +2 -0
  468. package/dist/infineon-design-system-stencil/p-602a1ada.entry.js.map +1 -0
  469. package/dist/infineon-design-system-stencil/p-661a7c0b.entry.js +2 -0
  470. package/dist/infineon-design-system-stencil/p-661a7c0b.entry.js.map +1 -0
  471. package/dist/infineon-design-system-stencil/p-66c73a3d.entry.js +2 -0
  472. package/dist/infineon-design-system-stencil/p-66c73a3d.entry.js.map +1 -0
  473. package/dist/infineon-design-system-stencil/p-69799784.entry.js +2 -0
  474. package/dist/infineon-design-system-stencil/{p-6b9ecace.entry.js.map → p-69799784.entry.js.map} +1 -1
  475. package/dist/infineon-design-system-stencil/p-6a8bfce7.entry.js +2 -0
  476. package/dist/infineon-design-system-stencil/{p-57351ddd.entry.js.map → p-6a8bfce7.entry.js.map} +1 -1
  477. package/dist/infineon-design-system-stencil/p-6c3c5b20.entry.js +2 -0
  478. package/dist/infineon-design-system-stencil/p-6c3c5b20.entry.js.map +1 -0
  479. package/dist/infineon-design-system-stencil/p-74fd43e9.entry.js +2 -0
  480. package/dist/infineon-design-system-stencil/{p-67c63b48.entry.js.map → p-74fd43e9.entry.js.map} +1 -1
  481. package/dist/infineon-design-system-stencil/p-76e2c9c5.entry.js +2 -0
  482. package/dist/infineon-design-system-stencil/p-76e2c9c5.entry.js.map +1 -0
  483. package/dist/infineon-design-system-stencil/p-7de29aa8.entry.js +2 -0
  484. package/dist/infineon-design-system-stencil/p-7de29aa8.entry.js.map +1 -0
  485. package/dist/infineon-design-system-stencil/p-7fc43aaa.entry.js +2 -0
  486. package/dist/infineon-design-system-stencil/p-7fc43aaa.entry.js.map +1 -0
  487. package/dist/infineon-design-system-stencil/{p-8b21a331.entry.js → p-8531337f.entry.js} +2 -2
  488. package/dist/infineon-design-system-stencil/p-8531337f.entry.js.map +1 -0
  489. package/dist/infineon-design-system-stencil/p-88e77974.entry.js +2 -0
  490. package/dist/infineon-design-system-stencil/p-88e77974.entry.js.map +1 -0
  491. package/dist/infineon-design-system-stencil/p-96ba5e8c.entry.js +2 -0
  492. package/dist/infineon-design-system-stencil/p-96ba5e8c.entry.js.map +1 -0
  493. package/dist/infineon-design-system-stencil/p-994ef70a.entry.js +2 -0
  494. package/dist/infineon-design-system-stencil/p-994ef70a.entry.js.map +1 -0
  495. package/dist/infineon-design-system-stencil/p-a1bb909f.entry.js +2 -0
  496. package/dist/infineon-design-system-stencil/p-a1bb909f.entry.js.map +1 -0
  497. package/dist/infineon-design-system-stencil/p-aac226ce.entry.js +2 -0
  498. package/dist/infineon-design-system-stencil/p-aac226ce.entry.js.map +1 -0
  499. package/dist/infineon-design-system-stencil/p-ad00518e.entry.js +2 -0
  500. package/dist/infineon-design-system-stencil/p-ad00518e.entry.js.map +1 -0
  501. package/dist/infineon-design-system-stencil/{p-86ba198c.entry.js → p-ae4f7c93.entry.js} +2 -2
  502. package/dist/infineon-design-system-stencil/{p-86ba198c.entry.js.map → p-ae4f7c93.entry.js.map} +1 -1
  503. package/dist/infineon-design-system-stencil/p-b1c2e67a.entry.js +2 -0
  504. package/dist/infineon-design-system-stencil/p-b1c2e67a.entry.js.map +1 -0
  505. package/dist/infineon-design-system-stencil/p-b39303be.entry.js +2 -0
  506. package/dist/infineon-design-system-stencil/p-b39303be.entry.js.map +1 -0
  507. package/dist/infineon-design-system-stencil/p-b6bdc0a5.entry.js +2 -0
  508. package/dist/infineon-design-system-stencil/p-b6bdc0a5.entry.js.map +1 -0
  509. package/dist/infineon-design-system-stencil/p-b6d2073e.entry.js +2 -0
  510. package/dist/infineon-design-system-stencil/p-b6d2073e.entry.js.map +1 -0
  511. package/dist/infineon-design-system-stencil/p-b84588f9.entry.js +2 -0
  512. package/dist/infineon-design-system-stencil/p-b84588f9.entry.js.map +1 -0
  513. package/dist/infineon-design-system-stencil/p-bf1f6439.entry.js +2 -0
  514. package/dist/infineon-design-system-stencil/p-bf1f6439.entry.js.map +1 -0
  515. package/dist/infineon-design-system-stencil/p-c183f92b.entry.js +2 -0
  516. package/dist/infineon-design-system-stencil/p-c183f92b.entry.js.map +1 -0
  517. package/dist/infineon-design-system-stencil/p-d9f7f285.entry.js +2 -0
  518. package/dist/infineon-design-system-stencil/{p-95b48437.entry.js.map → p-d9f7f285.entry.js.map} +1 -1
  519. package/dist/infineon-design-system-stencil/p-db9bdd7d.entry.js +2 -0
  520. package/dist/infineon-design-system-stencil/p-db9bdd7d.entry.js.map +1 -0
  521. package/dist/infineon-design-system-stencil/p-dba0c2d2.entry.js +2 -0
  522. package/dist/infineon-design-system-stencil/{p-1de4f93c.entry.js.map → p-dba0c2d2.entry.js.map} +1 -1
  523. package/dist/infineon-design-system-stencil/p-dc5ff11a.entry.js +2 -0
  524. package/dist/infineon-design-system-stencil/{p-e4de8215.entry.js.map → p-dc5ff11a.entry.js.map} +1 -1
  525. package/dist/infineon-design-system-stencil/p-e52a810f.entry.js +2 -0
  526. package/dist/infineon-design-system-stencil/p-e52a810f.entry.js.map +1 -0
  527. package/dist/infineon-design-system-stencil/p-e93396ed.entry.js +2 -0
  528. package/dist/infineon-design-system-stencil/p-e93396ed.entry.js.map +1 -0
  529. package/dist/infineon-design-system-stencil/p-f88b928c.entry.js +2 -0
  530. package/dist/infineon-design-system-stencil/{p-7a977f98.entry.js.map → p-f88b928c.entry.js.map} +1 -1
  531. package/dist/infineon-design-system-stencil/p-fc455450.entry.js +2 -0
  532. package/dist/infineon-design-system-stencil/p-fc455450.entry.js.map +1 -0
  533. package/dist/infineon-design-system-stencil/p-fe55dfcd.entry.js +2 -0
  534. package/dist/infineon-design-system-stencil/{p-7abdbf1f.entry.js.map → p-fe55dfcd.entry.js.map} +1 -1
  535. package/dist/types/components/icon-button/icon-button.d.ts +1 -0
  536. package/dist/types/components/icon-button/icon-button.stories.d.ts +10 -0
  537. package/dist/types/components/link/link.d.ts +0 -2
  538. package/dist/types/components/link/link.stories.d.ts +0 -12
  539. package/dist/types/components.d.ts +2 -2
  540. package/dist/types/global/font-import.d.ts +1 -0
  541. package/dist/types/index.d.ts +1 -0
  542. package/package.json +1 -1
  543. package/dist/components/p-107fafa0.js.map +0 -1
  544. package/dist/components/p-19417832.js.map +0 -1
  545. package/dist/components/p-2d148a20.js.map +0 -1
  546. package/dist/components/p-3954dc5f.js +0 -88
  547. package/dist/components/p-3954dc5f.js.map +0 -1
  548. package/dist/components/p-493b7a31.js.map +0 -1
  549. package/dist/components/p-4ac265d2.js.map +0 -1
  550. package/dist/components/p-5853aeb8.js.map +0 -1
  551. package/dist/components/p-58a0ff65.js.map +0 -1
  552. package/dist/components/p-905fb988.js.map +0 -1
  553. package/dist/components/p-94e019a6.js.map +0 -1
  554. package/dist/components/p-c2b0bf22.js +0 -164
  555. package/dist/components/p-c2b0bf22.js.map +0 -1
  556. package/dist/components/p-eadd0c22.js.map +0 -1
  557. package/dist/components/p-f579ea93.js.map +0 -1
  558. package/dist/infineon-design-system-stencil/p-00c52c84.entry.js +0 -2
  559. package/dist/infineon-design-system-stencil/p-02bf3e6a.entry.js +0 -2
  560. package/dist/infineon-design-system-stencil/p-02bf3e6a.entry.js.map +0 -1
  561. package/dist/infineon-design-system-stencil/p-0d2595c0.entry.js +0 -2
  562. package/dist/infineon-design-system-stencil/p-14b4d7f0.entry.js +0 -2
  563. package/dist/infineon-design-system-stencil/p-14b4d7f0.entry.js.map +0 -1
  564. package/dist/infineon-design-system-stencil/p-18145ed5.entry.js +0 -2
  565. package/dist/infineon-design-system-stencil/p-18145ed5.entry.js.map +0 -1
  566. package/dist/infineon-design-system-stencil/p-1c19f8ce.entry.js +0 -2
  567. package/dist/infineon-design-system-stencil/p-1c19f8ce.entry.js.map +0 -1
  568. package/dist/infineon-design-system-stencil/p-1de4f93c.entry.js +0 -2
  569. package/dist/infineon-design-system-stencil/p-1fc608a3.entry.js +0 -2
  570. package/dist/infineon-design-system-stencil/p-1fc608a3.entry.js.map +0 -1
  571. package/dist/infineon-design-system-stencil/p-1fca1eb2.entry.js +0 -2
  572. package/dist/infineon-design-system-stencil/p-1fca1eb2.entry.js.map +0 -1
  573. package/dist/infineon-design-system-stencil/p-33b93a7c.entry.js +0 -2
  574. package/dist/infineon-design-system-stencil/p-33b93a7c.entry.js.map +0 -1
  575. package/dist/infineon-design-system-stencil/p-3c039adc.entry.js +0 -2
  576. package/dist/infineon-design-system-stencil/p-3c039adc.entry.js.map +0 -1
  577. package/dist/infineon-design-system-stencil/p-4679e8ea.entry.js +0 -2
  578. package/dist/infineon-design-system-stencil/p-4679e8ea.entry.js.map +0 -1
  579. package/dist/infineon-design-system-stencil/p-48ea6a67.entry.js +0 -2
  580. package/dist/infineon-design-system-stencil/p-48ea6a67.entry.js.map +0 -1
  581. package/dist/infineon-design-system-stencil/p-500f71cc.entry.js +0 -2
  582. package/dist/infineon-design-system-stencil/p-500f71cc.entry.js.map +0 -1
  583. package/dist/infineon-design-system-stencil/p-5536a9c8.entry.js +0 -2
  584. package/dist/infineon-design-system-stencil/p-5536a9c8.entry.js.map +0 -1
  585. package/dist/infineon-design-system-stencil/p-57351ddd.entry.js +0 -2
  586. package/dist/infineon-design-system-stencil/p-58af50fc.entry.js +0 -2
  587. package/dist/infineon-design-system-stencil/p-58af50fc.entry.js.map +0 -1
  588. package/dist/infineon-design-system-stencil/p-59fb1317.entry.js +0 -2
  589. package/dist/infineon-design-system-stencil/p-59fb1317.entry.js.map +0 -1
  590. package/dist/infineon-design-system-stencil/p-67c63b48.entry.js +0 -2
  591. package/dist/infineon-design-system-stencil/p-68b06d9b.entry.js +0 -2
  592. package/dist/infineon-design-system-stencil/p-68b06d9b.entry.js.map +0 -1
  593. package/dist/infineon-design-system-stencil/p-6abc7111.entry.js +0 -2
  594. package/dist/infineon-design-system-stencil/p-6b9ecace.entry.js +0 -2
  595. package/dist/infineon-design-system-stencil/p-6f590954.entry.js +0 -2
  596. package/dist/infineon-design-system-stencil/p-6f590954.entry.js.map +0 -1
  597. package/dist/infineon-design-system-stencil/p-711d5051.entry.js +0 -2
  598. package/dist/infineon-design-system-stencil/p-711d5051.entry.js.map +0 -1
  599. package/dist/infineon-design-system-stencil/p-7a977f98.entry.js +0 -2
  600. package/dist/infineon-design-system-stencil/p-7abdbf1f.entry.js +0 -2
  601. package/dist/infineon-design-system-stencil/p-7f777885.entry.js +0 -2
  602. package/dist/infineon-design-system-stencil/p-7f777885.entry.js.map +0 -1
  603. package/dist/infineon-design-system-stencil/p-81b2a882.entry.js +0 -2
  604. package/dist/infineon-design-system-stencil/p-81b2a882.entry.js.map +0 -1
  605. package/dist/infineon-design-system-stencil/p-892b0030.entry.js +0 -2
  606. package/dist/infineon-design-system-stencil/p-892b0030.entry.js.map +0 -1
  607. package/dist/infineon-design-system-stencil/p-8a0b4540.entry.js +0 -2
  608. package/dist/infineon-design-system-stencil/p-8a0b4540.entry.js.map +0 -1
  609. package/dist/infineon-design-system-stencil/p-8b21a331.entry.js.map +0 -1
  610. package/dist/infineon-design-system-stencil/p-95b48437.entry.js +0 -2
  611. package/dist/infineon-design-system-stencil/p-97100c2f.entry.js +0 -2
  612. package/dist/infineon-design-system-stencil/p-97100c2f.entry.js.map +0 -1
  613. package/dist/infineon-design-system-stencil/p-9e413f66.entry.js +0 -2
  614. package/dist/infineon-design-system-stencil/p-a06f2543.entry.js +0 -2
  615. package/dist/infineon-design-system-stencil/p-a06f2543.entry.js.map +0 -1
  616. package/dist/infineon-design-system-stencil/p-a0d570a0.entry.js +0 -2
  617. package/dist/infineon-design-system-stencil/p-a0d570a0.entry.js.map +0 -1
  618. package/dist/infineon-design-system-stencil/p-a26382ae.entry.js +0 -2
  619. package/dist/infineon-design-system-stencil/p-a26382ae.entry.js.map +0 -1
  620. package/dist/infineon-design-system-stencil/p-a8eb23b6.entry.js.map +0 -1
  621. package/dist/infineon-design-system-stencil/p-b2995f20.entry.js +0 -2
  622. package/dist/infineon-design-system-stencil/p-b2995f20.entry.js.map +0 -1
  623. package/dist/infineon-design-system-stencil/p-b4f0ce88.entry.js +0 -2
  624. package/dist/infineon-design-system-stencil/p-b4f0ce88.entry.js.map +0 -1
  625. package/dist/infineon-design-system-stencil/p-b63754ff.entry.js +0 -2
  626. package/dist/infineon-design-system-stencil/p-b63754ff.entry.js.map +0 -1
  627. package/dist/infineon-design-system-stencil/p-cf96a19e.entry.js +0 -2
  628. package/dist/infineon-design-system-stencil/p-cf96a19e.entry.js.map +0 -1
  629. package/dist/infineon-design-system-stencil/p-d08d3dd7.entry.js +0 -2
  630. package/dist/infineon-design-system-stencil/p-d08d3dd7.entry.js.map +0 -1
  631. package/dist/infineon-design-system-stencil/p-d30f4aed.entry.js +0 -2
  632. package/dist/infineon-design-system-stencil/p-d30f4aed.entry.js.map +0 -1
  633. package/dist/infineon-design-system-stencil/p-dc49f3c8.entry.js +0 -2
  634. package/dist/infineon-design-system-stencil/p-dc49f3c8.entry.js.map +0 -1
  635. package/dist/infineon-design-system-stencil/p-e447fb1f.entry.js +0 -2
  636. package/dist/infineon-design-system-stencil/p-e447fb1f.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-e57f8890.entry.js +0 -2
  639. package/dist/infineon-design-system-stencil/p-e7c8d9bf.entry.js +0 -2
  640. package/dist/infineon-design-system-stencil/p-ea24eca0.entry.js +0 -2
  641. package/dist/infineon-design-system-stencil/p-ea24eca0.entry.js.map +0 -1
  642. package/dist/infineon-design-system-stencil/p-ecc58519.entry.js +0 -2
  643. package/dist/infineon-design-system-stencil/p-ecc58519.entry.js.map +0 -1
  644. package/dist/infineon-design-system-stencil/p-f99f62ec.entry.js +0 -2
  645. package/dist/infineon-design-system-stencil/p-f99f62ec.entry.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ButtonCellRenderer","init","params","this","createButton","getGui","eGui","refresh","updateButton","config","data","button","options","colDef","cellRendererParams","document","createElement","eButton","hasRequiredKeys","setButtonAttributes","appendChild","attachEventListener","innerHTML","detachEventListener","setAttribute","disabled","toString","variant","theme","type","size","fullWidth","target","href","textContent","text","eventListener","event","onButtonClick","addEventListener","removeEventListener","CustomNoRowsOverlay","noRowsMessageFunc","_params","CustomLoadingOverlay","tableCss","IfxTableStyle0","Table","constructor","hostRef","currentPage","rowData","colData","filterOptions","currentFilters","allRowData","rowHeight","tableHeight","pagination","paginationPageSize","filterOrientation","showSidebarFilters","matchingResultsCount","showLoading","originalRowData","handleChipChange","name","currentSelection","previousSelection","detail","updatedFilters","Object","assign","length","customEvent","CustomEvent","filterName","bubbles","composed","host","dispatchEvent","filterValues","map","selection","value","applyAllFilters","updateTableView","onButtonRendererOptionsChanged","getColData","gridApi","setColumnDefs","toggleSidebarFilters","updateFilterOptions","col","field","Set","row","handleSidebarFilterChange","filterGroups","forEach","filterGroup","filterGroupName","selectedItems","item","label","handleTopbarFilterChange","filters","filter","filterInfo","selectedValues","toLowerCase","textFilterMatched","property","hasOwnProperty","rowValue","String","some","filterValue","startsWith","includesUndefined","includes","startIndex","endIndex","visibleRowData","slice","setGridOption","clearAllFilters","onBtShowLoading","showLoadingOverlay","componentWillLoad","uniqueKey","Math","floor","random","getRowData","gridOptions","headerHeight","defaultColDef","resizable","suppressDragLeaveHidesColumns","enableCellTextSelection","onFirstDataRendered","bind","columnDefs","loadingOverlayComponent","noRowsOverlayComponent","noRowsOverlayComponentParams","icons","sortAscending","sortDescending","sortUnSort","rowDragManaged","dndSource","animateRows","componentDidRender","componentDidLoad","container","createGrid","sizeColumnsToFit","defaultMinWidth","paginationElement","shadowRoot","querySelector","handlePageChange","sidebarFilterElements","querySelectorAll","sidebarFilterElement","topbarFilterElements","topbarFilterElement","componentWillUnmount","sidebarFilters","sidebarFilter","topbarFilters","topbarFilter","isJSONParseable","str","JSON","parse","e","rows","undefined","Array","isArray","console","error","cols","buttonColumn","find","column","cellRenderer","valueFormatter","buttonRendererOptions","api","handleResetButtonClick","resetEvent","window","disconnectedCallback","resetButton","getTableClassNames","classNames","render","style","height","filterClass","h","Host","key","class","onClick","icon","keys","isMultiSelect","placeholder","readOnly","selected","id","ref","el","total","hasButtonCol","onDragOver","dragSupported","dataTransfer","dropEffect","preventDefault","onDrop","jsonData","getData","eJsonRow","classList","add","innerText","eJsonDisplay"],"sources":["src/components/table-advanced-version/buttonCellRenderer.ts","src/components/table-advanced-version/customNoRowsOverlay.ts","src/components/table-advanced-version/customLoadingOverlay.ts","src/components/table-advanced-version/table.scss?tag=ifx-table&encapsulation=shadow","src/components/table-advanced-version/table.tsx"],"sourcesContent":["import { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\nimport { ButtonInterface } from './interfaces';\n\nexport class ButtonCellRenderer implements ICellRendererComp {\n eGui!: HTMLDivElement;\n eButton!: HTMLElement; // Change to a generic HTMLElement to accommodate custom elements\n eventListener!: (event: Event) => void;\n\n init(params: ICellRendererParams) {\n this.createButton(params);\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(params: ICellRendererParams) {\n this.updateButton(params);\n return true;\n }\n\n private createButton(params: ICellRendererParams) {\n const config = params.data.button;\n const options = params.colDef.cellRendererParams || {};\n \n this.eGui = document.createElement('div');\n this.eButton = document.createElement('ifx-button') as HTMLElement;\n \n if (this.hasRequiredKeys(config)) {\n this.setButtonAttributes(config);\n this.eGui.appendChild(this.eButton);\n this.attachEventListener(options, params);\n } else {\n this.eGui.innerHTML = `<span>${config}</span>`;\n }\n }\n\n private updateButton(params: ICellRendererParams) {\n const config = params.data.button;\n const options = params.colDef.cellRendererParams || {};\n \n if (this.hasRequiredKeys(config)) {\n this.setButtonAttributes(config);\n this.detachEventListener();\n this.attachEventListener(options, params);\n } else {\n this.eGui.innerHTML = `<span>${config}</span>`;\n }\n }\n\n private setButtonAttributes(config: ButtonInterface) {\n this.eButton.setAttribute('disabled', config.disabled.toString());\n this.eButton.setAttribute('variant', config.variant);\n this.eButton.setAttribute('theme', config.theme);\n this.eButton.setAttribute('type', config.type);\n this.eButton.setAttribute('size', config.size);\n this.eButton.setAttribute('full-width', config.fullWidth.toString());\n this.eButton.setAttribute('target', config.target);\n this.eButton.setAttribute('href', config.href);\n this.eButton.textContent = config.text;\n }\n\n private attachEventListener(options: any, params: ICellRendererParams) {\n this.eventListener = (event: Event) => {\n if (options.onButtonClick) {\n options.onButtonClick(params, event);\n }\n };\n this.eButton.addEventListener('click', this.eventListener);\n }\n\n private detachEventListener() {\n if (this.eventListener) {\n this.eButton.removeEventListener('click', this.eventListener);\n }\n }\n\n private hasRequiredKeys(config: ButtonInterface): boolean {\n return config && config.text !== '' && config.variant !== '' && config.size !== '' && config.type !== '';\n }\n}\n","import { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\n\nexport class CustomNoRowsOverlay implements ICellRendererComp {\n eGui!: HTMLElement;\n\n init(params: ICellRendererParams & { noRowsMessageFunc: () => string }) {\n this.eGui = document.createElement('div');\n this.eGui.innerHTML = `\n <div role=\"presentation\" class=\"ag-overlay-loading-center\" >\n ${params.noRowsMessageFunc()}\n </div>\n `;\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(_params: ICellRendererParams): boolean {\n return false;\n }\n}","import { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\n\nexport class CustomLoadingOverlay implements ICellRendererComp {\n eGui!: HTMLElement;\n\n init(_params: ICellRendererParams & { loadingMessage: string }) {\n this.eGui = document.createElement('div');\n this.eGui.innerHTML = `<div class=\"ag-overlay-loading-center\" role=\"presentation\">\n<ifx-spinner></ifx-spinner>\n </div>`;\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(_params: ICellRendererParams): boolean {\n return false;\n }\n}","@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n@import \"~ag-grid-community/styles/ag-grid.css\";\n\n.zebra { \n & .ag-row-odd { \n background-color: tokens.$ifxColorEngineering100!important;\n }\n\n & .ag-row { \n border-bottom: none!important;\n }\n}\n\n.ag-header-viewport { \n background-color: tokens.$ifxColorEngineering200!important;\n}\n\n\n.table-container {\n display: block;\n}\n\n.sidebar-btn {\n margin-bottom: 24px;\n}\n\n.sidebar-container {\n margin-right: 24px;\n}\n\n.sidebar-layout {\n display: flex;\n flex-direction: row;\n}\n\n.topbar-layout {\n display: flex;\n flex-direction: column;\n}\n\n.table-pagination-wrapper {\n display: flex;\n flex-direction: column;\n align-items: stretch; // stretches items to fill the container horizontally\n width: 100%; // ensures the wrapper takes up the full width of its parent\n}\n\n#table-wrapper {\n flex: 1; // allows the table to take up the remaining space\n padding-bottom: tokens.$ifxSpace100;\n}\n\n\n.table-wrapper .ag-root-wrapper-body {\n height: auto !important;\n min-height: 100px !important;\n min-width: 100px;\n}\n\n.filter-chips { \n display:flex;\n gap:tokens.$ifxSpace100;\n margin-bottom: 12px;\n}\n\n.filter-chips > ifx-button { // ifx-button with icon and text has a paddingof 16 px. This is to remove the padding to align with the filter-chips container definition\n margin-left: -8px;\n}\n\n.set-filter-wrapper-sidebar {\n display: flex;\n flex-direction: column;\n margin-bottom: tokens.$ifxSpace100;\n}\n\n.set-filter-wrapper-topbar {\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n margin-bottom: tokens.$ifxSpace100;\n background: tokens.$ifxColorEngineering100;\n padding-top: 32px;\n padding-bottom: 32px;\n gap: 24px;\n }\n\n\n.ifx-ag-grid {\n display: grid;\n height: 100%;\n width: 100%;\n min-width: 100px;\n //padding-bottom: tokens.$ifxSpace100;\n}\n\n\n.ifx-ag-grid .ag-header-cell::after {\n outline: none !important;\n border: none !important;\n box-shadow: none !important;\n}\n\n.ifx-ag-grid .ag-header-cell:focus {\n outline: none !important;\n}\n\n.ifx-ag-grid *:not(.ag-header-cell):focus {\n outline: none;\n}\n\n\n.ifx-ag-grid .ag-header-cell:not(:last-child)::before {\n content: '';\n position: absolute;\n right: 0;\n top: calc(50% - 12px);\n height: 24px; \n width: 1px;\n background-color: tokens.$ifxColorEngineering300; \n}\n\n\n.ag-overlay-loading-center {\n border: none;\n background: none;\n border-radius: none;\n box-shadow: none;\n}\n\n\n.ag-root-wrapper {\n border: 1px solid tokens.$ifxColorEngineering200;\n}\n\n\n\n.ag-header {\n background-color: tokens.$ifxColorEngineering100;\n border-bottom: none;\n\n &.ag-header-active {\n outline: none !important;\n border-color: #0A8276 !important;\n }\n}\n\n.ag-header-cell {\n padding-left: 16px;\n padding-right: 16px;\n gap: 4px;\n}\n\n\n.ag-header-cell-focus {\n border: none !important;\n outline: none !important;\n}\n\n.ag-header-cell-text {\n font-size: 13px;\n font-style: normal;\n font-weight: 600;\n line-height: 20px;\n color: tokens.$ifxColorBaseBlack;\n font-family: tokens.$ifxFontFamilyBody;\n\n}\n\n.ag-row-focus {\n background-color: inherit !important;\n /* Reset the hover color to the row's original color */\n}\n\n.ag-row-hover {\n background-color: tokens.$ifxColorBaseWhite !important; //inherit !important;\n /* Reset the hover color to the row's original color */\n}\n\n\n.ag-cell-focus {\n border: none !important;\n outline: none !important;\n background-color: inherit !important;\n}\n\n\n\n.ag-row {\n background-color: tokens.$ifxColorBaseWhite;\n border-bottom: 1px solid tokens.$ifxColorEngineering200;\n font-size: 13px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n z-index: 1; //ensure the stacking order when used inside js frameworks\n}\n\n.ag-row-odd {\n background-color: tokens.$ifxColorBaseWhite;\n}\n\n.ag-cell {\n display: flex;\n padding-left: 16px;\n padding-right: 16px;\n align-items: center;\n\n}\n\n.ag-ltr .ag-sort-indicator-icon {\n padding-left: 0px;\n vertical-align: bottom;\n line-height: 12px;\n}\n\n.ag-sort-indicator-container .ag-sort-order { \n display: none;\n}\n\n.unsort-icon-custom-color {\n color: tokens.$ifxColorEngineering400;\n}\n\n\n// Table with set filters in sidebar orientation\n\n\n.filters-title {\n font-size: 24px;\n font-weight: 600;\n}\n\n\n.matching-results-container {\n display: flex;\n gap: 4px;\n font-size: 14px;\n}\n\n.matching-results-count {\n font-weight: 600;\n}\n\n.matching-results-text {\n font-weight: 400;\n}","import { Component, h, Host, Method, Element, Prop, State, Listen, Watch } from '@stencil/core';\nimport classNames from 'classnames';\n\nimport { createGrid, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\nimport { ButtonCellRenderer } from './buttonCellRenderer';\nimport { CustomNoRowsOverlay } from './customNoRowsOverlay';\nimport { CustomLoadingOverlay } from './customLoadingOverlay';\n\n\n@Component({\n tag: 'ifx-table',\n styleUrl: 'table.scss',\n shadow: true\n})\nexport class Table {\n gridOptions: GridOptions;\n gridApi: GridApi;\n @State() currentPage: number = 1;\n @Prop() cols: any;\n @Prop() rows: any;\n @Prop() buttonRendererOptions?: { onButtonClick?: (params: any, event: Event) => void;}; \n @State() rowData: any[] = [];\n @State() colData: any[] = [];\n @State() filterOptions: { [key: string]: string[] } = {};\n @State() currentFilters = {};\n @State() uniqueKey: string;\n allRowData: any[] = [];\n @Prop() rowHeight: string = 'default';\n @Prop() tableHeight: string = 'auto';\n @Prop() pagination: boolean = true;\n @Prop() paginationPageSize: number = 10;\n @Prop() filterOrientation: string = 'sidebar'; // topbar / none\n @State() showSidebarFilters: boolean = true;\n @State() matchingResultsCount: number = 0;\n @Prop() variant: string = 'default'\n\n @Prop() showLoading: boolean = false;\n private container: HTMLDivElement;\n @Element() host: HTMLElement;\n originalRowData: any[] = [];\n\n @Listen('ifxChange')\n handleChipChange(event: CustomEvent<{ previousSelection: Array<any>, currentSelection: Array<any>, name: string }>) {\n const { name, currentSelection, previousSelection } = event.detail;\n if(currentSelection && previousSelection) { \n // Clone the current filters state\n const updatedFilters = { ...this.currentFilters };\n \n if (currentSelection.length === 0) {\n // If there are no selections for this filter, delete the filter\n delete updatedFilters[name];\n \n // Emit event with specific filter name\n const customEvent = new CustomEvent('ifxUpdateSidebarFilter', { detail: { filterName: name }, bubbles: true, composed: true });\n this.host.dispatchEvent(customEvent);\n } else {\n // Otherwise, update the filter values with the current selection\n updatedFilters[name].filterValues = currentSelection.map(selection => selection.value);\n }\n \n // Update the component's filters\n this.currentFilters = updatedFilters;\n \n // Ensure table data is updated\n this.allRowData = this.applyAllFilters(this.originalRowData, this.currentFilters);\n this.updateTableView();\n }\n }\n\n @Watch('buttonRendererOptions')\n onButtonRendererOptionsChanged() {\n this.colData = this.getColData(); // Re-fetch column data to apply new renderer options\n if (this.gridApi) {\n this.gridApi.setColumnDefs(this.colData); // Update column definitions in the grid API\n }\n }\n\n toggleSidebarFilters() {\n this.showSidebarFilters = !this.showSidebarFilters;\n }\n\n updateFilterOptions() {\n const options = {};\n for (let col of this.colData) {\n options[col.field] = [...new Set(this.rowData.map(row => row[col.field]))];\n }\n this.filterOptions = options;\n }\n\n handleSidebarFilterChange(event: CustomEvent) {\n const filterGroups = event.detail;\n const updatedFilters = {};\n\n filterGroups.forEach(filterGroup => {\n const filterName = filterGroup.filterGroupName;\n let filterValues;\n let type;\n\n if (filterGroup.selectedItems && filterGroup.selectedItems.length > 0) {\n filterValues = filterGroup.selectedItems.map(item => item.label);\n type = 'multi-select';\n } else if (filterGroup.value) {\n filterValues = [filterGroup.value];\n type = 'text';\n } else {\n filterValues = [];\n }\n\n if (!(filterValues.length === 0 || (filterValues.length === 1 && type === 'text' && filterValues[0] === ''))) {\n updatedFilters[filterName] = { filterValues, type };\n }\n });\n\n this.allRowData = this.applyAllFilters(this.originalRowData, updatedFilters);\n this.updateTableView();\n this.currentFilters = updatedFilters;\n }\n\n\n handleTopbarFilterChange(event: CustomEvent) {\n const filters = event.detail;\n\n // Start by resetting the filter conditions to a blank object\n this.currentFilters = {};\n\n // Loop through each filter group provided in the event detail\n filters.forEach(filter => {\n const filterName = filter.filterName;\n let filterValues;\n\n let type = filter.type;\n\n if (type === 'text') {\n // Search/Text filter\n filterValues = filter.filterValues\n } else {\n // Multi-select/Single-Select\n filterValues = filter.filterValues.map(item => item.label);\n }\n\n // If there are no filter values, or the filter is a text filter with an empty value, remove the filter\n if (!(filterValues.length === 0 || (filterValues.length === 1 && type === 'text' && filterValues[0] === ''))) {\n // Add or update the filter in the currentFilters object\n this.currentFilters[filterName] = { filterValues, type };\n }\n });\n\n\n // Now that the currentFilters object has been updated, apply all filters to the data\n this.allRowData = this.applyAllFilters(this.originalRowData, this.currentFilters);\n\n // After filtering, update the table view with the new filtered data\n this.updateTableView();\n }\n\n\n applyAllFilters(data, filters) {\n return data.filter(row => {\n for (const filterName in filters) {\n const filterInfo = filters[filterName];\n let selectedValues = (filterInfo.filterValues || []).map(value => {\n if (typeof value === 'string') {\n return value.toLowerCase();\n } else if (typeof value === 'number' || typeof value === 'boolean') {\n return value.toString();\n }\n return '';\n });\n\n // For text filters, check if row values start with any of the selectedValues\n if (filterInfo.type === 'text') {\n let textFilterMatched = false;\n for (let property in row) {\n if (row.hasOwnProperty(property)) {\n let rowValue = row[property] != null ? String(row[property]).toLowerCase() : '';\n if (selectedValues.some(filterValue => rowValue.startsWith(filterValue))) {\n textFilterMatched = true;\n break;\n }\n }\n }\n if (!textFilterMatched) return false;\n }\n // For multi-select filters, this remains unchanged\n else if (filterInfo.type === 'multi-select') {\n let rowValue = row[filterName] != null ? String(row[filterName]).toLowerCase() : '';\n // Check if 'undefined' is a selected value and include rows with empty values in that case\n let includesUndefined = selectedValues.includes('undefined');\n if (!selectedValues.includes(rowValue) && !(includesUndefined && rowValue === '')) {\n return false;\n }\n }\n }\n return true;\n });\n }\n\n\n\n updateTableView() {\n // Calculate the slice of data to display based on pagination\n const startIndex = (this.currentPage - 1) * this.paginationPageSize;\n const endIndex = startIndex + this.paginationPageSize;\n const visibleRowData = this.allRowData.slice(startIndex, endIndex);\n\n // Update the row data in the table\n this.rowData = visibleRowData;\n this.gridApi.setGridOption('rowData', this.rowData);\n\n // Update matching results count\n this.matchingResultsCount = this.allRowData.length;\n }\n\n\n clearAllFilters() {\n this.currentFilters = {};\n this.allRowData = [...this.originalRowData];\n }\n\n\n @Method()\n async onBtShowLoading() {\n this.gridApi.showLoadingOverlay();\n }\n\n componentWillLoad() {\n this.uniqueKey = `unique-${Math.floor(Math.random() * 1000000)}`;\n\n this.rowData = this.getRowData();\n this.colData = this.getColData();\n this.updateFilterOptions();\n\n this.gridOptions = {\n\n rowHeight: this.rowHeight === 'default' ? 40 : 32,\n headerHeight: 40,\n defaultColDef: {\n resizable: true,\n },\n suppressDragLeaveHidesColumns: true,\n enableCellTextSelection: true,\n onFirstDataRendered: this.onFirstDataRendered.bind(this),\n columnDefs: this.colData,\n rowData: this.rowData,\n loadingOverlayComponent: CustomLoadingOverlay,\n noRowsOverlayComponent: CustomNoRowsOverlay,\n noRowsOverlayComponentParams: {\n noRowsMessageFunc: () =>\n 'No rows found' //at: ' + new Date().toLocaleTimeString(),\n },\n icons: {\n sortAscending: '<ifx-icon icon=\"arrowtriangleup16\"></ifx-icon>',\n sortDescending: '<ifx-icon icon=\"arrowtriangledown16\"></ifx-icon>',\n sortUnSort: '<a class=\"unsort-icon-custom-color\"><ifx-icon icon=\"arrowtrianglevertikal16\"></ifx-icon></a>'\n },\n rowDragManaged: this.colData.some(col => col.dndSource === true) ? true : false,\n animateRows: this.colData.some(col => col.dndSource === true) ? true : false,\n };\n\n }\n\n componentDidRender() {\n if (this.gridApi) {\n this.gridApi.setGridOption('columnDefs', this.colData);\n }\n }\n\n\n\n componentDidLoad() {\n if (this.container) {\n this.gridApi = createGrid(this.container, this.gridOptions);\n if (this.gridApi) {\n this.gridApi.sizeColumnsToFit({\n defaultMinWidth: 100,\n });\n this.gridApi.setGridOption('columnDefs', this.colData);\n this.gridApi.setGridOption('rowData', this.rowData);\n\n if (this.pagination) {\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.addEventListener('ifxPageChange', this.handlePageChange.bind(this));\n }\n }\n const sidebarFilterElements = this.host.querySelectorAll('ifx-filter-type-group');\n // Add an event listener to each SetFilter component\n sidebarFilterElements.forEach(sidebarFilterElement => {\n sidebarFilterElement.addEventListener('ifxSidebarFilterChange', this.handleSidebarFilterChange.bind(this));\n });\n const topbarFilterElements = this.host.querySelectorAll('ifx-filter-bar');\n // Add an event listener to each SetFilter component\n topbarFilterElements.forEach(topbarFilterElement => {\n topbarFilterElement.addEventListener('ifxTopbarFilterChange', this.handleTopbarFilterChange.bind(this));\n });\n }\n }\n }\n\n componentWillUnmount() {\n if (this.pagination) {\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.removeEventListener('ifxPageChange', this.handlePageChange.bind(this));\n }\n }\n const sidebarFilters = this.host.shadowRoot.querySelectorAll('ifx-filter-type-group');\n // Remove the event listener from each SetFilter component\n sidebarFilters.forEach(sidebarFilter => {\n sidebarFilter.removeEventListener('ifxSidebarFilterChange', this.handleSidebarFilterChange.bind(this));\n });\n const topbarFilters = this.host.shadowRoot.querySelectorAll('ifx-filter-type-group');\n // Remove the event listener from each SetFilter component\n topbarFilters.forEach(topbarFilter => {\n topbarFilter.removeEventListener('ifxTopbarFilterChange', this.handleTopbarFilterChange.bind(this));\n });\n }\n\n handlePageChange(event) {\n this.currentPage = event.detail.currentPage;\n const startIndex = (this.currentPage - 1) * this.paginationPageSize;\n const endIndex = startIndex + this.paginationPageSize;\n const visibleRowData = this.allRowData.slice(startIndex, endIndex);\n // Update the data in the grid\n if (this.gridApi) {\n this.gridApi.setGridOption('rowData', visibleRowData);\n }\n }\n\n isJSONParseable(str) {\n try {\n JSON.parse(str);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n\n getRowData() {\n let rows: any[] = [];\n if (this.rows === undefined || this.rows === null) {\n return rows;\n }\n \n if (this.isJSONParseable(this.rows)) {\n rows = [...JSON.parse(this.rows)];\n }\n else if (Array.isArray(this.rows) || typeof this.rows === 'object') {\n rows = [...this.rows];\n }\n else {\n console.error('Unexpected value for rows: ', this.rows);\n }\n\n this.allRowData = rows;\n this.originalRowData = [...rows]; // Deep copy the original data\n this.matchingResultsCount = this.allRowData.length;\n\n return rows.slice(0, this.paginationPageSize);\n }\n\n\n getColData() {\n let cols: any[] = [];\n if (this.cols === undefined || this.cols === null) {\n return cols;\n }\n \n if (this.isJSONParseable(this.cols)) {\n cols = [...JSON.parse(this.cols)];\n } else if (Array.isArray(this.cols) || typeof this.cols === 'object') {\n cols = [...this.cols];\n } else {\n console.error('Unexpected value for cols: ', this.cols);\n }\n \n const buttonColumn = cols.find(column => column.field === 'button');\n if (buttonColumn) {\n buttonColumn.cellRenderer = ButtonCellRenderer;\n buttonColumn.valueFormatter = params => params.value.text;\n \n // No JSON.parse needed now\n if (this.buttonRendererOptions && typeof this.buttonRendererOptions === 'object') {\n if (this.buttonRendererOptions.onButtonClick) {\n buttonColumn.cellRendererParams = {\n onButtonClick: this.buttonRendererOptions.onButtonClick\n };\n }\n }\n }\n \n return cols;\n }\n \n\n onFirstDataRendered(params: FirstDataRenderedEvent) {\n params.api.sizeColumnsToFit();\n }\n\n handleResetButtonClick() {\n const resetEvent = new CustomEvent('ifxResetFiltersEvent', { bubbles: true, composed: true });\n window.dispatchEvent(resetEvent); // Dispatch from the window object\n\n this.clearAllFilters();\n this.updateTableView(); // Update table view with the original data\n }\n\n\n disconnectedCallback() {\n if (this.pagination) {\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.removeEventListener('ifxPageChange', this.handlePageChange);\n }\n }\n\n const resetButton = this.host.shadowRoot.querySelector('#reset-filters-button');\n if (resetButton) {\n resetButton.removeEventListener('click', this.handleResetButtonClick.bind(this));\n }\n }\n\n\n\n getTableClassNames() {\n return classNames(\n this.tableHeight === 'auto' && 'table-wrapper ag-root-wrapper-body',\n 'table-wrapper',\n );\n }\n\n\n render() {\n let style = {};\n if (this.tableHeight !== 'auto') {\n style = {\n 'height': this.tableHeight\n };\n }\n const filterClass = this.filterOrientation === 'topbar' ? 'topbar-layout' : 'sidebar-layout';\n return (\n <Host>\n <div class=\"table-container\">\n {this.filterOrientation === 'sidebar' && (\n <div class=\"sidebar-btn\">\n <ifx-button\n type=\"button\"\n disabled={false}\n variant=\"secondary\"\n size=\"m\"\n target=\"_blank\"\n theme=\"default\"\n full-width=\"false\"\n onClick={() => this.toggleSidebarFilters()}\n >\n <ifx-icon icon=\"cross-12\"></ifx-icon>{this.showSidebarFilters ? 'Hide Filters' : 'Show Filters'}\n </ifx-button>\n </div>\n )}\n\n <div class={filterClass}>\n {this.filterOrientation === 'sidebar' && this.showSidebarFilters && (\n <div class=\"sidebar-container\">\n <div class=\"filters-title-container\">\n <span class=\"filters-title\">Filters</span>\n </div>\n <div class=\"set-filter-wrapper-sidebar\">\n {(this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && (\n <slot name=\"sidebar-filter\"></slot>\n )}\n </div>\n </div>\n )}\n\n {this.filterOrientation !== 'none' && this.filterOrientation !== 'sidebar' && (\n <div class=\"set-filter-wrapper-topbar\">\n {(this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && (\n <slot name=\"topbar-filter\"></slot>\n )}\n </div>\n )}\n\n <div class=\"table-pagination-wrapper\">\n <div class=\"filter-chips\">\n {this.filterOrientation !== 'none' && this.filterOrientation !== 'topbar' && this.showSidebarFilters && (\n Object.keys(this.currentFilters).map(name => {\n const filter = this.currentFilters[name];\n const filterValues = filter.filterValues;\n const isMultiSelect = filter.type !== 'text';\n\n return filterValues.length > 0 ? (\n <ifx-chip\n placeholder={name}\n size=\"large\"\n variant={isMultiSelect ? \"multi\" : \"single\"}\n readOnly={true}\n value={filterValues} // Ensure value prop is set\n key={name}\n >\n {filterValues.map(filterValue => (\n <ifx-chip-item value={filterValue} selected={true} key={filterValue}>\n {filterValue}\n </ifx-chip-item>\n ))}\n </ifx-chip>\n ) : null;\n })\n )}\n\n {this.filterOrientation !== 'none' && this.filterOrientation === 'sidebar' && this.showSidebarFilters && Object.keys(this.currentFilters).length > 0 && (\n <ifx-button type=\"button\" disabled={false} variant=\"tertiary\" size=\"m\" target=\"_blank\" theme=\"default\" full-width=\"false\" onClick={() => this.handleResetButtonClick()}\n >\n <ifx-icon icon=\"curved-arrow-left-16\"></ifx-icon>Reset all\n </ifx-button>\n )}\n </div>\n\n {this.filterOrientation !== 'none' && (\n <div class=\"matching-results-container\">\n <span class=\"matching-results-count\">\n {this.matchingResultsCount}\n </span>\n <span class=\"matching-results-text\">\n matching results\n </span>\n </div>\n )}\n\n <div id=\"table-wrapper\" class={this.getTableClassNames()}>\n <div id={`ifxTable-${this.uniqueKey}`} class={`ifx-ag-grid ${this.variant === 'zebra' ? 'zebra' : \"\"}`} style={style} ref={(el) => this.container = el}>\n </div>\n </div>\n {this.pagination ? <ifx-pagination total={this.allRowData.length} current-page={this.currentPage} items-per-page='[{\"value\":\"ten\",\"label\":\"10\",\"selected\":true}, {\"value\":\"Twenty\",\"label\":\"20\",\"selected\":false}, {\"value\":\"Thirty\",\"label\":\"30\",\"selected\":false}]'></ifx-pagination> : null}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n\n\n hasButtonCol(): boolean {\n return this.getColData().some(column => column.field === 'button');\n }\n\n onDragOver(event) {\n var dragSupported = event.dataTransfer.length;\n\n if (dragSupported) {\n event.dataTransfer.dropEffect = 'move';\n }\n\n event.preventDefault();\n }\n\n onDrop(event) {\n var jsonData = event.dataTransfer.getData('application/json');\n\n var eJsonRow = document.createElement('div');\n eJsonRow.classList.add('json-row');\n eJsonRow.innerText = jsonData;\n\n var eJsonDisplay = document.querySelector('#eJsonDisplay');\n\n eJsonDisplay.appendChild(eJsonRow);\n event.preventDefault();\n }\n\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,h as o,a as n,g as i}from"./p-e6edf72d.js";function a(e,t,o,n=20,i=0){const d=[];if(i>=n){return d}const s=e=>{const d=e.assignedNodes().filter((e=>e.nodeType===1));if(d.length>0){const e=d[0].parentElement;return a(e,t,o,n,i+1)}return[]};const r=Array.from(e.children||[]);for(const e of r){if(t(e)){continue}if(o(e)){d.push(e)}if(e.shadowRoot!=null){d.push(...a(e.shadowRoot,t,o,n,i+1))}else if(e.tagName==="SLOT"){d.push(...s(e))}else{d.push(...a(e,t,o,n,i+1))}}return d}function d(e){return e.hasAttribute("hidden")||e.hasAttribute("aria-hidden")&&e.getAttribute("aria-hidden")!=="false"||e.style.display===`none`||e.style.opacity===`0`||e.style.visibility===`hidden`||e.style.visibility===`collapse`}function s(e){return e.hasAttribute("disabled")||e.hasAttribute("aria-disabled")&&e.getAttribute("aria-disabled")!=="false"}function r(e){if(e.getAttribute("tabindex")==="-1"||d(e)||s(e)){return false}return e.hasAttribute("tabindex")||(e instanceof HTMLAnchorElement||e instanceof HTMLAreaElement)&&e.hasAttribute("href")||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLIFrameElement}function c(e,t,o){const n=e.animate(t,Object.assign(Object.assign({},o),{fill:"both"}));n.addEventListener("finish",(()=>{n.commitStyles();n.cancel()}));return n}const l={easing:"cubic-bezier(0.390, 0.575, 0.565, 1.000)"};const f={fadeIn:[Object.assign(Object.assign({offset:0},l),{opacity:0}),Object.assign(Object.assign({offset:1},l),{opacity:1})],fadeOut:[Object.assign(Object.assign({offset:0},l),{opacity:1}),Object.assign(Object.assign({offset:1},l),{opacity:0})]};const h=':root{font-family:"Source Sans 3", sans-serif}:host{display:block}.modal-container{display:none;justify-content:center;align-items:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:1060;overflow-y:auto;font-family:"Source Sans 3"}.modal-container.open{display:flex}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#1D1D1D;opacity:0.5;z-index:0}.modal-content-container{position:absolute;display:flex;justify-content:center;width:90%;min-height:218px;background-color:#fff;border-radius:0;box-shadow:0 2px 10px rgba(0, 0, 0, 0.1);box-sizing:border-box;align-items:stretch}@media screen and (min-width: 768px){.modal-content-container{width:540px;min-height:132px}.modal-content-container.m,.modal-content-container.l,.modal-content-container.s{width:90%}}@media screen and (min-width: 1024px){.modal-content-container.s{width:47vw}.modal-content-container.m{width:63vw}.modal-content-container.l{width:80%}}.modal-content{display:flex;flex-direction:column;width:100%;max-height:90vh}.modal-icon-container{display:flex;align-items:center;justify-content:center;width:32px;background-color:#0A8276;align-self:stretch}.modal-icon-container.danger{background-color:#CD002F}.modal-icon-container ifx-icon{color:#FFFFFF}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;min-height:76px;max-height:105px;box-sizing:border-box;border-radius:1px 1px 0px 0px;border-bottom:1px solid #EEEDED}.modal-caption{max-height:56px;display:-webkit-box;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.modal-header h2{margin:0;font-weight:600;font-size:1.25rem;line-height:28px}.modal-header button{background:none;border:none;font-size:1.5em;padding:0;cursor:pointer}.modal-close-button{align-self:flex-start;margin-right:-8px}.modal-body{padding:16px 24px;min-height:56px;box-sizing:border-box;flex:1}.modal-footer.buttons-present ::slotted(*){display:flex;justify-content:flex-end;gap:16px;padding:16px 24px 32px 16px}.modal-border{display:flex;align-items:center;justify-content:center;width:100%;font-size:1.5em;flex-grow:1}.modal-border.primary{background-color:#0A8276}.modal-border.secondary{background-color:#575352}.modal-border.danger{background-color:#CD002F}.modal-border.success{background-color:#4CA460}.modal-border.warning{background-color:#E16B25}.modal-border.orange{background-color:#E16B25}.modal-border.ocean{background-color:#0A8276}.modal-border.grey{background-color:#575352}.modal-border.grey-200{background-color:#EEEDED}.modal-border.red{background-color:#CD002F}.modal-border.green{background-color:#4CA460}.modal-border.berry{background-color:#9C216E}';const b=h;const u=class{constructor(o){e(this,o);this.ifxOpen=t(this,"ifxOpen",7);this.ifxClose=t(this,"ifxClose",7);this.opened=false;this.showModal=this.opened||false;this.caption="Modal Title";this.closeOnOverlayClick=true;this.variant="default";this.size="s";this.alertIcon="";this.okButtonLabel="OK";this.cancelButtonLabel="Cancel";this.slotButtonsPresent=false;this.showCloseButton=true;this.focusableElements=[];this.handleTopFocus=()=>{this.attemptFocus(this.getLastFocusableElement())};this.handleBottomFocus=()=>{this.attemptFocus(this.getFirstFocusableElement())};this.handleKeypress=e=>{if(!this.showModal){return}if(e.key==="Escape"){this.doBeforeClose("ESCAPE_KEY")}}}componentDidLoad(){this.focusableElements=a(this.hostElement.shadowRoot,(e=>d(e)||e.matches("[data-focus-trap-edge]")),r)}getFirstFocusableElement(){return this.focusableElements[0]}getLastFocusableElement(){return this.focusableElements[this.focusableElements.length-1]}attemptFocus(e){if(e==null){setTimeout((()=>{this.closeButton.focus()}));return}setTimeout((()=>{e.focus()}),0)}open(){this.showModal=true;try{const e=c(this.modalContainer,f.fadeIn,{duration:200});e.addEventListener("finish",(()=>{setTimeout((()=>{var e,t;(e=this.getLastFocusableElement())===null||e===void 0?void 0:e.focus();(t=this.getLastFocusableElement())===null||t===void 0?void 0:t.blur()}),0);this.ifxOpen.emit()}));this.hostElement.addEventListener("keydown",this.handleKeypress)}catch(e){this.ifxOpen.emit()}}close(){try{const e=c(this.modalContainer,f.fadeOut,{duration:200});e.addEventListener("finish",(()=>{this.showModal=false;this.ifxClose.emit()}));this.hostElement.removeEventListener("keydown",this.handleKeypress)}catch(e){this.showModal=false;this.ifxClose.emit()}}doBeforeClose(e){const t=[];t.push(e);const o=t.some((e=>e.defaultPrevented));if(!o){this.opened=false}}openedChanged(e){if(e===true){this.open()}else{this.close()}}handleOverlayClick(){if(this.closeOnOverlayClick){this.doBeforeClose("BACKDROP")}}handleButtonsSlotChange(e){var t;if(((t=e.currentTarget.assignedElements()[0])===null||t===void 0?void 0:t.childElementCount)>0){this.slotButtonsPresent=true}else{this.slotButtonsPresent=false}}render(){const e=this.variant!=="default";return o(n,{key:"ea8cc72507298fc769e75b6c04b0efd98d2e804d"},o("div",{key:"909dfb62f78fd771ca46c3c452aa73d8f4cc58c4",ref:e=>this.modalContainer=e,class:`modal-container ${this.showModal?"open":""}`},o("div",{key:"1f380c2d3619234fa6dd6bff95fd3b5b0f714427",class:"modal-overlay",onClick:()=>this.handleOverlayClick()}),o("div",{key:"a6f5a719151ffccdde3c95015ab331603646625e","data-focus-trap-edge":true,onFocus:this.handleTopFocus,tabindex:"0"}),o("div",{key:"570d67838b40e1f292a783ad0c4de54d25dc15f1",class:`modal-content-container ${this.size}`,role:"dialog","aria-modal":"true","aria-label":this.caption},e?o("div",{class:`modal-icon-container ${this.variant==="alert-brand"?"":"danger"}`},this.alertIcon?o("ifx-icon",{icon:this.alertIcon}):null):null,o("div",{key:"fd0a152494722c1453a401a448124f085c2383e1",class:"modal-content"},o("div",{key:"f4fa940f7d1f7efc7d2fb8adbe77df30ae841b0a",class:"modal-header"},o("h2",{key:"d8849e0d30cde669fcd39e655ceca9c7e82fb5ed",class:"modal-caption"},this.caption),this.showCloseButton&&o("ifx-icon-button",{key:"5496cd581f68d6cb48b7a51d3c971f7e6aab306c",class:"modal-close-button",ref:e=>this.closeButton=e,icon:"cross-24",variant:"tertiary",onClick:()=>this.doBeforeClose("CLOSE_BUTTON")})),o("div",{key:"830eddd92cb12f36918feb91634c7516207edd96",class:"modal-body"},o("slot",{key:"8e99c69225725aa169b526720baa05378394163f",name:"content"})),o("div",{key:"75ad5053564128df6c02d1feeb8078c229c069a9",class:`modal-footer ${this.slotButtonsPresent?"buttons-present":""}`},o("slot",{key:"b2d42250cc895c5f45cbadad6b5c58bb58848d16",name:"buttons",onSlotchange:e=>this.handleButtonsSlotChange(e)})))),o("div",{key:"7c79425ab61abc91c9d1d10c377452e93a2f8b25","data-focus-trap-edge":true,onFocus:this.handleBottomFocus,tabindex:"0"})))}get hostElement(){return i(this)}static get watchers(){return{opened:["openedChanged"]}}};u.style=b;export{u as ifx_modal};
2
+ //# sourceMappingURL=p-88e77974.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["queryShadowRoot","root","skipNode","isMatch","maxDepth","depth","matches","traverseSlot","$slot","assignedNodes","filter","node","nodeType","length","$slotParent","parentElement","children","Array","from","$child","push","shadowRoot","tagName","isHidden","$elem","hasAttribute","getAttribute","style","display","opacity","visibility","isDisabled","isFocusable","HTMLAnchorElement","HTMLAreaElement","HTMLButtonElement","HTMLInputElement","HTMLTextAreaElement","HTMLSelectElement","HTMLIFrameElement","animationTo","element","keyframes","options","animated","animate","Object","assign","fill","addEventListener","commitStyles","cancel","keyframeDefaults","easing","KEYFRAMES","fadeIn","offset","fadeOut","modalCss","IfxModalStyle0","IfxModal","constructor","hostRef","this","opened","showModal","caption","closeOnOverlayClick","variant","size","alertIcon","okButtonLabel","cancelButtonLabel","slotButtonsPresent","showCloseButton","focusableElements","handleTopFocus","attemptFocus","getLastFocusableElement","handleBottomFocus","getFirstFocusableElement","handleKeypress","event","key","doBeforeClose","componentDidLoad","hostElement","el","setTimeout","closeButton","focus","open","anim","modalContainer","duration","_a","_b","blur","ifxOpen","emit","err","close","ifxClose","removeEventListener","trigger","triggers","prevented","some","defaultPrevented","openedChanged","newValue","handleOverlayClick","handleButtonsSlotChange","e","currentTarget","assignedElements","childElementCount","render","isAlertVariant","h","Host","ref","class","onClick","onFocus","tabindex","role","icon","name","onSlotchange"],"sources":["src/global/utils/focus-trap.ts","src/global/utils/animation.ts","src/components/modal/modal.scss?tag=ifx-modal&encapsulation=shadow","src/components/modal/modal.tsx"],"sourcesContent":["/**\n * Copy/pasted from https://github.com/andreasbm/focus-trap\n */\n\n/**\n * Traverses the slots of the open shadowroots and returns all children matching the query.\n * We need to traverse each child-depth one at a time because if an element should be skipped\n * (for example because it is hidden) we need to skip all of it's children. If we use querySelectorAll(\"*\")\n * the information of whether the children is within a hidden parent is lost.\n * @param {ShadowRoot | HTMLElement} root\n * @param skipNode\n * @param isMatch\n * @param {number} maxDepth\n * @param {number} depth\n * @returns {HTMLElement[]}\n */\nexport function queryShadowRoot(\n root: ShadowRoot | HTMLElement,\n skipNode: ($elem: HTMLElement) => boolean,\n isMatch: ($elem: HTMLElement) => boolean,\n maxDepth: number = 20,\n depth: number = 0\n): HTMLElement[] {\n const matches: HTMLElement[] = [];\n\n // If the depth is above the max depth, abort the searching here.\n if (depth >= maxDepth) {\n return matches;\n }\n\n // Traverses a slot element\n const traverseSlot = ($slot: HTMLSlotElement) => {\n // Only check nodes that are of the type Node.ELEMENT_NODE\n // Read more here https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n const assignedNodes = $slot\n .assignedNodes()\n .filter((node) => node.nodeType === 1);\n if (assignedNodes.length > 0) {\n const $slotParent = assignedNodes[0].parentElement!;\n return queryShadowRoot(\n $slotParent,\n skipNode,\n isMatch,\n maxDepth,\n depth + 1\n );\n }\n\n return [];\n };\n\n // Go through each child and continue the traversing if necessary\n // Even though the typing says that children can't be undefined, Edge 15 sometimes gives an undefined value.\n // Therefore we fallback to an empty array if it is undefined.\n const children = Array.from(root.children || []) as HTMLElement[];\n for (const $child of children) {\n // Check if the element and its descendants should be skipped\n if (skipNode($child)) {\n // console.log('-- SKIP', $child);\n continue;\n }\n\n // console.log('$child', $child);\n\n // If the element matches we always add it\n if (isMatch($child)) {\n matches.push($child);\n }\n\n if ($child.shadowRoot != null) {\n // If the element has a shadow root we need to traverse it\n matches.push(\n ...queryShadowRoot(\n $child.shadowRoot,\n skipNode,\n isMatch,\n maxDepth,\n depth + 1\n )\n );\n } else if ($child.tagName === 'SLOT') {\n // If the child is a slot we need to traverse each assigned node\n matches.push(...traverseSlot($child as HTMLSlotElement));\n } else {\n // Traverse the children of the element\n matches.push(\n ...queryShadowRoot($child, skipNode, isMatch, maxDepth, depth + 1)\n );\n }\n }\n\n return matches;\n}\n\n/**\n * Returns whether the element is hidden.\n * @param $elem\n */\nexport function isHidden($elem: HTMLElement): boolean {\n return (\n $elem.hasAttribute('hidden') ||\n ($elem.hasAttribute('aria-hidden') &&\n $elem.getAttribute('aria-hidden') !== 'false') ||\n // A quick and dirty way to check whether the element is hidden.\n // For a more fine-grained check we could use \"window.getComputedStyle\" but we don't because of bad performance.\n // If the element has visibility set to \"hidden\" or \"collapse\", display set to \"none\" or opacity set to \"0\" through CSS\n // we won't be able to catch it here. We accept it due to the huge performance benefits.\n $elem.style.display === `none` ||\n $elem.style.opacity === `0` ||\n $elem.style.visibility === `hidden` ||\n $elem.style.visibility === `collapse`\n );\n\n // If offsetParent is null we can assume that the element is hidden\n // https://stackoverflow.com/questions/306305/what-would-make-offsetparent-null\n // || $elem.offsetParent == null;\n}\n\n/**\n * Returns whether the element is disabled.\n * @param $elem\n */\nexport function isDisabled($elem: HTMLElement): boolean {\n return (\n $elem.hasAttribute('disabled') ||\n ($elem.hasAttribute('aria-disabled') &&\n $elem.getAttribute('aria-disabled') !== 'false')\n );\n}\n\n/**\n * Determines whether an element is focusable.\n * Read more here: https://stackoverflow.com/questions/1599660/which-html-elements-can-receive-focus/1600194#1600194\n * Or here: https://stackoverflow.com/questions/18261595/how-to-check-if-a-dom-element-is-focusable\n * @param $elem\n */\nexport function isFocusable($elem: HTMLElement): boolean {\n // Discard elements that are removed from the tab order.\n if (\n $elem.getAttribute('tabindex') === '-1' ||\n isHidden($elem) ||\n isDisabled($elem)\n ) {\n return false;\n }\n\n return (\n // At this point we know that the element can have focus (eg. won't be -1) if the tabindex attribute exists\n $elem.hasAttribute('tabindex') ||\n // Anchor tags or area tags with a href set\n (($elem instanceof HTMLAnchorElement || $elem instanceof HTMLAreaElement) &&\n $elem.hasAttribute('href')) ||\n // Form elements which are not disabled\n $elem instanceof HTMLButtonElement ||\n $elem instanceof HTMLInputElement ||\n $elem instanceof HTMLTextAreaElement ||\n $elem instanceof HTMLSelectElement ||\n // IFrames\n $elem instanceof HTMLIFrameElement\n );\n}","export function animationTo(\n element: HTMLElement,\n keyframes: Keyframe | Keyframe[],\n options?: KeyframeAnimationOptions\n) {\n const animated = element.animate(keyframes, { ...options, fill: 'both' });\n animated.addEventListener('finish', () => {\n // @ts-ignore\n animated.commitStyles();\n animated.cancel();\n });\n\n return animated;\n}\n\nconst keyframeDefaults = {\n easing: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\n};\n\nexport const KEYFRAMES = {\n fadeIn: [\n {\n offset: 0,\n ...keyframeDefaults,\n opacity: 0,\n },\n {\n offset: 1,\n ...keyframeDefaults,\n opacity: 1,\n },\n ],\n fadeOut: [\n {\n offset: 0,\n ...keyframeDefaults,\n opacity: 1,\n },\n {\n offset: 1,\n ...keyframeDefaults,\n opacity: 0,\n },\n ],\n};","@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: block;\n}\n\n.modal-container {\n display: none;\n justify-content: center;\n align-items: center;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1060;\n overflow-y: auto;\n font-family: tokens.$ifxFontFamilyBody;\n\n}\n\n.modal-container.open {\n display: flex;\n}\n\n.modal-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: tokens.$ifxColorBaseBlack;\n opacity: 0.5;\n z-index: 0;\n}\n\n.modal-content-container {\n position: absolute;\n display: flex;\n justify-content: center;\n width: 90%;\n min-height: 218px;\n background-color: #fff;\n border-radius: tokens.$ifxBorderRadiusNone;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n // overflow: hidden;\n box-sizing: border-box;\n align-items: stretch;\n}\n\n/* Add desktop size here */\n@media screen and (min-width: 768px) {\n .modal-content-container {\n width: 540px;\n min-height: 132px;\n\n &.m,\n &.l,\n &.s {\n width: 90%;\n }\n }\n}\n\n@media screen and (min-width: 1024px) {\n .modal-content-container {\n\n &.s {\n width: 47vw;\n }\n\n &.m {\n width: 63vw;\n }\n\n &.l {\n width: 80%;\n }\n }\n}\n\n.modal-content {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-height: 90vh;\n}\n\n.modal-icon-container {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n background-color: tokens.$ifxColorOcean500;\n align-self: stretch;\n\n &.danger {\n background-color: tokens.$ifxColorRed500;\n }\n\n & ifx-icon {\n color: tokens.$ifxColorBaseWhite;\n }\n}\n\n.modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 24px;\n min-height: 76px;\n max-height: 105px;\n box-sizing: border-box;\n border-radius: 1px 1px 0px 0px;\n border-bottom: 1px solid tokens.$ifxColorEngineering200;\n}\n\n.modal-caption {\n max-height: 56px;\n display: -webkit-box;\n overflow: hidden;\n white-space: pre-wrap;\n word-wrap: break-word;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical; \n}\n\n.modal-header h2 {\n margin: 0;\n font-weight: tokens.$ifxFontWeightSemibold;\n font-size: tokens.$ifxFontSizeXl;\n line-height: 28px;\n}\n\n.modal-header button {\n background: none;\n border: none;\n font-size: 1.5em;\n padding: 0;\n cursor: pointer;\n}\n\n.modal-close-button {\n align-self: flex-start;\n margin-right: -8px;\n}\n\n.modal-body {\n padding: 16px 24px;\n min-height: 56px;\n box-sizing: border-box;\n flex: 1;\n // overflow-y: auto;\n}\n\n.modal-footer.buttons-present ::slotted(*){\n display: flex;\n justify-content: flex-end;\n gap: 16px;\n padding: 16px 24px 32px 16px\n}\n\n.modal-border {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n font-size: 1.5em;\n flex-grow: 1;\n\n &.primary {\n background-color: tokens.$ifxColorOcean500;\n }\n\n &.secondary {\n background-color: tokens.$ifxColorEngineering500;\n }\n\n &.danger {\n background-color: tokens.$ifxColorRed500;\n }\n\n &.success {\n background-color: tokens.$ifxColorGreen500;\n }\n\n &.warning {\n background-color: tokens.$ifxColorOrange500;\n }\n\n &.orange {\n background-color: tokens.$ifxColorOrange500;\n }\n\n &.ocean {\n background-color: tokens.$ifxColorOcean500;\n }\n\n &.grey {\n background-color: tokens.$ifxColorEngineering500;\n }\n\n &.grey-200 {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &.red {\n background-color: tokens.$ifxColorRed500;\n }\n\n &.green {\n background-color: tokens.$ifxColorGreen500;\n }\n\n &.berry {\n background-color: tokens.$ifxColorBerry500;\n }\n}","import { Component, Prop, Element, State, Event, Host, EventEmitter, h, Watch } from '@stencil/core';\nimport { queryShadowRoot, isHidden, isFocusable } from '../../global/utils/focus-trap';\nimport { animationTo, KEYFRAMES } from '../../global/utils/animation';\n \n\ntype CloseEventTrigger = 'CLOSE_BUTTON' | 'ESCAPE_KEY' | 'BACKDROP';\n\nexport interface BeforeCloseEventDetail {\n trigger: CloseEventTrigger;\n}\n@Component({\n tag: 'ifx-modal',\n styleUrl: 'modal.scss',\n shadow: true\n})\nexport class IfxModal {\n @Prop({ reflect: true, mutable: true }) opened?: boolean = false;\n @State() showModal: boolean = this.opened || false;\n\n @Prop() caption: string = 'Modal Title';\n @Prop() closeOnOverlayClick: boolean = true;\n\n @Event() ifxOpen: EventEmitter;\n @Event() ifxClose: EventEmitter;\n\n @Prop() variant: 'default' | 'alert-brand' | 'alert-danger' = 'default';\n \n @Prop() size: 's' | 'm' | 'l' = 's';\n\n @Prop() alertIcon: string = '';\n @Prop() okButtonLabel: string = 'OK';\n @Prop() cancelButtonLabel: string = 'Cancel';\n @Element() hostElement: HTMLElement;\n\n @State() slotButtonsPresent: boolean = false;\n\n @Prop() showCloseButton: boolean = true;\n\n private modalContainer: HTMLElement;\n private focusableElements: HTMLElement[] = [];\n private closeButton: HTMLButtonElement | HTMLIfxIconButtonElement;\n\n componentDidLoad() {\n // Query all focusable elements and store them in `focusableElements`.\n // Needed for the \"focus trap\" functionality.\n this.focusableElements = queryShadowRoot(\n this.hostElement.shadowRoot,\n (el) => isHidden(el) || el.matches('[data-focus-trap-edge]'),\n isFocusable\n );\n\n }\n\n getFirstFocusableElement(): HTMLElement | null {\n return this.focusableElements[0];\n }\n\n getLastFocusableElement(): HTMLElement | null {\n return this.focusableElements[this.focusableElements.length - 1];\n }\n\n handleTopFocus = () => {\n this.attemptFocus(this.getLastFocusableElement());\n };\n\n handleBottomFocus = () => {\n this.attemptFocus(this.getFirstFocusableElement());\n };\n\n\n attemptFocus(element: HTMLElement | null) {\n if (element == null) {\n setTimeout(() => { //wait until DOM is fully loaded\n this.closeButton.focus();\n },);\n return;\n }\n\n setTimeout(() => { //wait until DOM is fully loaded\n element.focus();\n }, 0);\n }\n\n\n open() {\n this.showModal = true;\n try {\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeIn, {\n duration: 200,\n });\n anim.addEventListener('finish', () => {\n // Setting focus on last item and removing immediately\n // so, on tab press first element is focused\n setTimeout(() => {\n this.getLastFocusableElement()?.focus();\n this.getLastFocusableElement()?.blur();\n }, 0);\n\n this.ifxOpen.emit();\n });\n\n this.hostElement.addEventListener('keydown', this.handleKeypress);\n } catch (err) {\n this.ifxOpen.emit();\n\n }\n\n\n }\n\n close() {\n try {\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeOut, {\n duration: 200,\n });\n anim.addEventListener('finish', () => {\n this.showModal = false;\n this.ifxClose.emit();\n });\n this.hostElement.removeEventListener('keydown', this.handleKeypress);\n } catch (err) {\n this.showModal = false;\n this.ifxClose.emit();\n }\n }\n\n handleKeypress = (event: KeyboardEvent) => {\n if (!this.showModal) {\n return;\n }\n if (event.key === 'Escape') {\n this.doBeforeClose('ESCAPE_KEY');\n }\n };\n\n\n doBeforeClose(trigger: CloseEventTrigger) {\n const triggers = [];\n triggers.push(trigger);\n const prevented = triggers.some((event) => event.defaultPrevented);\n if (!prevented) {\n this.opened = false;\n }\n }\n\n\n\n @Watch('opened')\n openedChanged(newValue) {\n if (newValue === true) {\n this.open();\n } else {\n this.close()\n }\n }\n\n\n handleOverlayClick() {\n if (this.closeOnOverlayClick) {\n this.doBeforeClose('BACKDROP')\n }\n }\n\n\n handleButtonsSlotChange(e) {\n if(e.currentTarget.assignedElements()[0]?.childElementCount > 0) {\n this.slotButtonsPresent = true;\n }else{\n this.slotButtonsPresent = false;\n }\n }\n\n\n render() {\n const isAlertVariant = this.variant !== 'default';\n return (\n <Host>\n <div\n ref={(el) => (this.modalContainer = el)}\n class={`modal-container ${this.showModal ? 'open' : ''}`}\n >\n <div\n class=\"modal-overlay\"\n onClick={() => this.handleOverlayClick()}\n ></div>\n <div\n data-focus-trap-edge\n onFocus={this.handleTopFocus}\n tabindex=\"0\"\n ></div>\n <div\n class={`modal-content-container ${this.size}`}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={this.caption}>\n {isAlertVariant ? (\n <div class={`modal-icon-container ${this.variant === 'alert-brand' ? '' : 'danger'}`}>\n {this.alertIcon ? <ifx-icon icon={this.alertIcon} /> : null}\n </div>\n ) : null}\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h2 class=\"modal-caption\">{this.caption}</h2>\n { \n this.showCloseButton && \n <ifx-icon-button class = 'modal-close-button' ref={(el) => (this.closeButton = el)} icon=\"cross-24\" variant=\"tertiary\" onClick={() => this.doBeforeClose('CLOSE_BUTTON') }>\n </ifx-icon-button>\n }\n </div>\n <div class=\"modal-body\">\n <slot name=\"content\" /*onSlotchange={() => console.log('slots children modified')}*/ />\n </div>\n <div class={`modal-footer ${this.slotButtonsPresent ? 'buttons-present' : ''}`}>\n <slot name=\"buttons\" onSlotchange={(e)=>this.handleButtonsSlotChange(e)}>\n </slot>\n </div>\n </div>\n </div>\n <div\n data-focus-trap-edge\n onFocus={this.handleBottomFocus}\n tabindex=\"0\"\n ></div>\n </div>\n </Host>\n\n );\n }\n}"],"mappings":"yEAgBgBA,EACdC,EACAC,EACAC,EACAC,EAAmB,GACnBC,EAAgB,GAEhB,MAAMC,EAAyB,GAG/B,GAAID,GAASD,EAAU,CACrB,OAAOE,C,CAIT,MAAMC,EAAgBC,IAGpB,MAAMC,EAAgBD,EACnBC,gBACAC,QAAQC,GAASA,EAAKC,WAAa,IACtC,GAAIH,EAAcI,OAAS,EAAG,CAC5B,MAAMC,EAAcL,EAAc,GAAGM,cACrC,OAAOf,EACLc,EACAZ,EACAC,EACAC,EACAC,EAAQ,E,CAIZ,MAAO,EAAE,EAMX,MAAMW,EAAWC,MAAMC,KAAKjB,EAAKe,UAAY,IAC7C,IAAK,MAAMG,KAAUH,EAAU,CAE7B,GAAId,EAASiB,GAAS,CAEpB,Q,CAMF,GAAIhB,EAAQgB,GAAS,CACnBb,EAAQc,KAAKD,E,CAGf,GAAIA,EAAOE,YAAc,KAAM,CAE7Bf,EAAQc,QACHpB,EACDmB,EAAOE,WACPnB,EACAC,EACAC,EACAC,EAAQ,G,MAGP,GAAIc,EAAOG,UAAY,OAAQ,CAEpChB,EAAQc,QAAQb,EAAaY,G,KACxB,CAELb,EAAQc,QACHpB,EAAgBmB,EAAQjB,EAAUC,EAASC,EAAUC,EAAQ,G,EAKtE,OAAOC,CACT,C,SAMgBiB,EAASC,GACvB,OACEA,EAAMC,aAAa,WAClBD,EAAMC,aAAa,gBAClBD,EAAME,aAAa,iBAAmB,SAKxCF,EAAMG,MAAMC,UAAY,QACxBJ,EAAMG,MAAME,UAAY,KACxBL,EAAMG,MAAMG,aAAe,UAC3BN,EAAMG,MAAMG,aAAe,UAM/B,C,SAMgBC,EAAWP,GACzB,OACEA,EAAMC,aAAa,aAClBD,EAAMC,aAAa,kBAClBD,EAAME,aAAa,mBAAqB,OAE9C,C,SAQgBM,EAAYR,GAE1B,GACEA,EAAME,aAAa,cAAgB,MACnCH,EAASC,IACTO,EAAWP,GACX,CACA,OAAO,K,CAGT,OAEEA,EAAMC,aAAa,cAEjBD,aAAiBS,mBAAqBT,aAAiBU,kBACvDV,EAAMC,aAAa,SAErBD,aAAiBW,mBACjBX,aAAiBY,kBACjBZ,aAAiBa,qBACjBb,aAAiBc,mBAEjBd,aAAiBe,iBAErB,C,SChKgBC,EACdC,EACAC,EACAC,GAEA,MAAMC,EAAWH,EAAQI,QAAQH,EAASI,OAAAC,OAAAD,OAAAC,OAAA,GAAOJ,GAAO,CAAEK,KAAM,UAChEJ,EAASK,iBAAiB,UAAU,KAElCL,EAASM,eACTN,EAASO,QAAQ,IAGnB,OAAOP,CACT,CAEA,MAAMQ,EAAmB,CACvBC,OAAQ,4CAGH,MAAMC,EAAY,CACvBC,OAAQ,C,6BAEJC,OAAQ,GACLJ,GAAgB,CACnBvB,QAAS,I,6BAGT2B,OAAQ,GACLJ,GAAgB,CACnBvB,QAAS,KAGb4B,QAAS,C,6BAELD,OAAQ,GACLJ,GAAgB,CACnBvB,QAAS,I,6BAGT2B,OAAQ,GACLJ,GAAgB,CACnBvB,QAAS,MCzCf,MAAM6B,EAAW,0pFACjB,MAAAC,EAAeD,E,MCcFE,EAAQ,MALrB,WAAAC,CAAAC,G,8EAM0CC,KAAAC,OAAmB,MAClDD,KAAAE,UAAqBF,KAAKC,QAAU,MAErCD,KAAAG,QAAkB,cAClBH,KAAAI,oBAA+B,KAK/BJ,KAAAK,QAAsD,UAEtDL,KAAAM,KAAwB,IAExBN,KAAAO,UAAoB,GACpBP,KAAAQ,cAAwB,KACxBR,KAAAS,kBAA4B,SAG3BT,KAAAU,mBAA8B,MAE/BV,KAAAW,gBAA2B,KAG3BX,KAAAY,kBAAmC,GAsB3CZ,KAAAa,eAAiB,KACfb,KAAKc,aAAad,KAAKe,0BAA0B,EAGnDf,KAAAgB,kBAAoB,KAClBhB,KAAKc,aAAad,KAAKiB,2BAA2B,EA4DpDjB,KAAAkB,eAAkBC,IAChB,IAAKnB,KAAKE,UAAW,CACnB,M,CAEF,GAAIiB,EAAMC,MAAQ,SAAU,CAC1BpB,KAAKqB,cAAc,a,GAzFvB,gBAAAC,GAGEtB,KAAKY,kBAAoB3E,EACvB+D,KAAKuB,YAAYjE,YAChBkE,GAAOhE,EAASgE,IAAOA,EAAGjF,QAAQ,2BACnC0B,E,CAKJ,wBAAAgD,GACE,OAAOjB,KAAKY,kBAAkB,E,CAGhC,uBAAAG,GACE,OAAOf,KAAKY,kBAAkBZ,KAAKY,kBAAkB9D,OAAS,E,CAYhE,YAAAgE,CAAapC,GACX,GAAIA,GAAW,KAAM,CACnB+C,YAAW,KACTzB,KAAK0B,YAAYC,OAAO,IAE1B,M,CAGFF,YAAW,KACT/C,EAAQiD,OAAO,GACd,E,CAIL,IAAAC,GACE5B,KAAKE,UAAY,KACjB,IACE,MAAM2B,EAAOpD,EAAYuB,KAAK8B,eAAgBvC,EAAUC,OAAQ,CAC9DuC,SAAU,MAEZF,EAAK3C,iBAAiB,UAAU,KAG9BuC,YAAW,K,SACTO,EAAAhC,KAAKe,6BAAyB,MAAAiB,SAAA,SAAAA,EAAEL,SAChCM,EAAAjC,KAAKe,6BAAyB,MAAAkB,SAAA,SAAAA,EAAEC,MAAM,GACrC,GAEHlC,KAAKmC,QAAQC,MAAM,IAGrBpC,KAAKuB,YAAYrC,iBAAiB,UAAWc,KAAKkB,e,CAClD,MAAOmB,GACPrC,KAAKmC,QAAQC,M,EAOjB,KAAAE,GACE,IACE,MAAMT,EAAOpD,EAAYuB,KAAK8B,eAAgBvC,EAAUG,QAAS,CAC/DqC,SAAU,MAEZF,EAAK3C,iBAAiB,UAAU,KAC9Bc,KAAKE,UAAY,MACjBF,KAAKuC,SAASH,MAAM,IAEtBpC,KAAKuB,YAAYiB,oBAAoB,UAAWxC,KAAKkB,e,CACrD,MAAOmB,GACPrC,KAAKE,UAAY,MACjBF,KAAKuC,SAASH,M,EAclB,aAAAf,CAAcoB,GACZ,MAAMC,EAAW,GACjBA,EAASrF,KAAKoF,GACd,MAAME,EAAYD,EAASE,MAAMzB,GAAUA,EAAM0B,mBACjD,IAAKF,EAAW,CACd3C,KAAKC,OAAS,K,EAOlB,aAAA6C,CAAcC,GACZ,GAAIA,IAAa,KAAM,CACrB/C,KAAK4B,M,KACA,CACL5B,KAAKsC,O,EAKT,kBAAAU,GACE,GAAIhD,KAAKI,oBAAqB,CAC5BJ,KAAKqB,cAAc,W,EAKvB,uBAAA4B,CAAwBC,G,MACtB,KAAGlB,EAAAkB,EAAEC,cAAcC,mBAAmB,MAAE,MAAApB,SAAA,SAAAA,EAAEqB,mBAAoB,EAAG,CAC/DrD,KAAKU,mBAAqB,I,KACvB,CACHV,KAAKU,mBAAqB,K,EAK9B,MAAA4C,GACE,MAAMC,EAAiBvD,KAAKK,UAAY,UACxC,OACEmD,EAACC,EAAI,CAAArC,IAAA,4CACHoC,EAAA,OAAApC,IAAA,2CACEsC,IAAMlC,GAAQxB,KAAK8B,eAAiBN,EACpCmC,MAAO,mBAAmB3D,KAAKE,UAAY,OAAS,MAEpDsD,EAAA,OAAApC,IAAA,2CACEuC,MAAM,gBACNC,QAAS,IAAM5D,KAAKgD,uBAEtBQ,EAAA,OAAApC,IAAA,uEAEEyC,QAAS7D,KAAKa,eACdiD,SAAS,MAEXN,EAAA,OAAApC,IAAA,2CACEuC,MAAO,2BAA2B3D,KAAKM,OACvCyD,KAAK,SAAQ,aACF,OAAM,aACL/D,KAAKG,SAChBoD,EACCC,EAAA,OAAKG,MAAO,wBAAwB3D,KAAKK,UAAY,cAAgB,GAAK,YACvEL,KAAKO,UAAYiD,EAAA,YAAUQ,KAAMhE,KAAKO,YAAgB,MAEvD,KACJiD,EAAA,OAAApC,IAAA,2CAAKuC,MAAM,iBACTH,EAAA,OAAApC,IAAA,2CAAKuC,MAAM,gBACTH,EAAA,MAAApC,IAAA,2CAAIuC,MAAM,iBAAiB3D,KAAKG,SAE9BH,KAAKW,iBACL6C,EAAA,mBAAApC,IAAA,2CAAiBuC,MAAQ,qBAAqBD,IAAMlC,GAAQxB,KAAK0B,YAAcF,EAAKwC,KAAK,WAAW3D,QAAQ,WAAWuD,QAAS,IAAM5D,KAAKqB,cAAc,mBAI7JmC,EAAA,OAAApC,IAAA,2CAAKuC,MAAM,cACTH,EAAA,QAAApC,IAAA,2CAAM6C,KAAK,aAEbT,EAAA,OAAApC,IAAA,2CAAKuC,MAAO,gBAAgB3D,KAAKU,mBAAqB,kBAAoB,MACxE8C,EAAA,QAAApC,IAAA,2CAAM6C,KAAK,UAAUC,aAAehB,GAAIlD,KAAKiD,wBAAwBC,QAK3EM,EAAA,OAAApC,IAAA,uEAEEyC,QAAS7D,KAAKgB,kBACd8C,SAAS,O","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as i,g as t}from"./p-e6edf72d.js";const a=':root{font-family:"Source Sans 3", sans-serif}:host{height:100%;display:inline-flex}.sidebar__container{box-sizing:border-box;display:inline-flex;flex-direction:column;align-items:flex-start;padding:0px;background-color:#FFFFFF;border-right:1px solid #EEEDED;width:264px;height:100%;font-family:"Source Sans 3"}.sidebar__container .sidebar__top-container{display:flex;flex-direction:column;align-items:center;padding:0px;flex:1 1 auto;order:0;z-index:0;width:100%;overflow-y:auto}.sidebar__container .sidebar__top-container .sidebar__nav-bar{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;padding:12px 32px;background-color:#FFFFFF;flex:none;order:0;flex-grow:0;width:100%}.sidebar__container .sidebar__top-container .sidebar__nav-bar .sidebar__nav-bar-logo{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0px;gap:16px;flex:none;order:0;flex-grow:0}.sidebar__container .sidebar__top-container .sidebar__nav-bar .sidebar__nav-bar-logo .sidebar__nav-bar-logo-img{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0px;flex:none;order:0;flex-grow:0}.sidebar__container .sidebar__top-container .sidebar__nav-bar .sidebar__nav-bar-logo .sidebar__nav-bar-logo-img svg{width:91px;height:40px}.sidebar__container .sidebar__top-container .sidebar__nav-bar .sidebar__nav-bar-logo .sidebar__nav-bar-logo-text{font-style:normal;font-weight:600;font-size:1rem;line-height:1.5rem;display:flex;align-items:center;color:#1D1D1D;flex:none;order:1;flex-grow:0;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}.sidebar__container .sidebar__top-container .sidebar__nav-container{scrollbar-gutter:stable;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;padding:12px 32px;flex:1 1 auto;order:1;width:100%}.sidebar__container .sidebar__top-container .sidebar__nav-container ::slotted(*){width:100%}.sidebar__container .sidebar__footer-container{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:0px 32px;flex:none;order:1;align-self:stretch;flex-grow:1;z-index:1}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper{display:flex;flex-direction:column;align-items:flex-start;padding:24px 0px;gap:16px;border-top:1px solid #EEEDED;flex:none;order:0;flex-grow:0;width:100%}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-top-links{display:flex;align-items:flex-start;padding:0px;gap:12px;flex:none;order:0;align-self:stretch;flex-grow:0;flex-wrap:wrap}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-top-links a{font:400 0.875rem/1.25rem "Source Sans 3";display:flex;text-decoration:none;align-items:center;color:#1D1D1D;flex:none;flex-grow:0}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-top-links a:hover{color:#08665C}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-top-links a:focus{outline:none;color:#08665C}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-bottom-links{display:flex;flex-direction:column;align-items:center}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-bottom-links span{font:400 0.875rem/1.25rem "Source Sans 3";text-decoration:none;color:#575352;flex:none;order:1;flex-grow:0;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-bottom-links span:hover{cursor:initial}';const r=a;const s="active";const o="active-section";const n=".sidebar__nav-item";const d=class{constructor(i){e(this,i);this.applicationName="";this.initialCollapse=true;this.showFooter=true;this.showHeader=true;this.termsOfUse="#";this.imprint="#";this.privacyPolicy="#";this.target="_blank";this.currentYear=(new Date).getFullYear();this.copyrightText="© 1999 - "+this.currentYear+" Infineon Technologies AG";this.internalTermsofUse="";this.internalImprint="";this.internalPrivacyPolicy="";this.internalShowFooter=true;this.activeItem=null}expandActiveItems(){const e=async i=>{if(await i.isItemExpandable()!==true){if(i.active)return 1;return 0}let t=0;const a=this.getSidebarMenuItems(i);for(let i=0;i<a.length;i++){t=Math.max(t,await e(a[i]))}if(t>0){if(t==1){i.expandMenu(false)}else{i.expandMenu(true)}}return t?t+1:0};const i=this.getSidebarMenuItems(this.el);for(let t=0;t<i.length;t++){e(i[t])}}adjustTopBorder(){const e=this.el.children;if(!e.length)return;if(e[0].tagName==="IFX-SIDEBAR-TITLE"){e[0].shadowRoot.querySelector(".sidebar__title").classList.add("no-top-border")}if(e[0].tagName==="IFX-SIDEBAR-ITEM"&&e[0].shadowRoot.querySelector("div > a").classList.contains("header__section")){e[0].shadowRoot.querySelector("div > a").classList.add("no-top-border")}const i=this.el.querySelectorAll("ifx-sidebar-title");i.forEach((e=>{const i=e.nextElementSibling;if(i&&i.tagName==="IFX-SIDEBAR-ITEM"&&i.shadowRoot.querySelector("div > a").classList.contains("header__section")){i.shadowRoot.querySelector("div > a").classList.add("no-top-border")}}))}async addPaddingToTheLastItem(e){const i=this.getSidebarMenuItems(e);for(let e=0;e<i.length;e++){const t=i[e];const a=this.getNavItem(t.shadowRoot);const r=await t.isItemExpandable();if(r){this.addPaddingToTheLastItem(t)}if(e===i.length-1){this.handleClassList(a,"add","extra-padding__bottom")}}}async adjustItemsPadding(){const e=this.el.children;if(e.length===0)return;if(e[0].tagName.toUpperCase()==="IFX-SIDEBAR-ITEM"){const i=e[0].isItemExpandable();if(i){this.addPaddingToTheLastItem(e[0])}}for(let i=1;i<e.length;i++){const t=e[i];const a=e[i-1];const r=this.getNavItem(a.shadowRoot);if(t.tagName.toUpperCase()==="IFX-SIDEBAR-TITLE"){if(a.tagName.toUpperCase()==="IFX-SIDEBAR-ITEM"&&r&&!this.handleClassList(r,"contains","header__section")){this.handleClassList(r,"add","extra-padding__bottom")}}else if(t.tagName.toUpperCase()==="IFX-SIDEBAR-ITEM"){const e=this.getNavItem(t.shadowRoot);if(a.tagName.toUpperCase()==="IFX-SIDEBAR-ITEM"&&r&&!this.handleClassList(r,"contains","header__section")&&this.handleClassList(e,"contains","header__section")){this.handleClassList(r,"add","extra-padding__bottom")}const i=await t.isItemExpandable();if(i){this.addPaddingToTheLastItem(t)}}}}componentDidLoad(){this.adjustTopBorder();this.setInitialActiveItem();if(!this.initialCollapse){this.expandActiveItems()}this.adjustItemsPadding();this.applyActiveSectionToParent(this.el)}getSidebarMenuItems(e=this.el){var i;const t=e.querySelectorAll("ifx-sidebar-item");if(t.length===0){return(i=e.shadowRoot)===null||i===void 0?void 0:i.querySelectorAll("ifx-sidebar-item")}return t}setInitialActiveItem(){const e=i=>{const t=this.getSidebarMenuItems(i);let a=false;t===null||t===void 0?void 0:t.forEach((i=>{if(this.isActive(i)&&!a){a=true;this.handleBorderIndicatorDisplacement(i)}else if(this.isActive(i)&&a){i.setAttribute("active","false")}if(this.hasChildren(i.shadowRoot)&&!this.hasActiveChild(i.shadowRoot)){const e=this.getActiveItemSection(i);this.handleClassList(e,"remove","active-section")}if(this.hasChildren(i.shadowRoot)&&this.isOpen(i.shadowRoot)&&this.containsActiveSection(i)){const e=this.getActiveItemSection(i);this.handleClassList(e,"remove","active-section")}if(this.hasChildren(i.shadowRoot)){e(i.shadowRoot)}}))};const i=this.getSidebarMenuItems(this.el);i.forEach(e)}handleClassList(e,i,t){e.classList[i](t);if(i==="contains"){return e.classList.contains(t)}}getActiveItemSection(e){return this.getNavItem(e.shadowRoot)}getNavItem(e){return e===null||e===void 0?void 0:e.querySelector(".sidebar__nav-item")}hasChildren(e){return(e===null||e===void 0?void 0:e.querySelector(".item__arrow-wrapper"))!==null?true:false}handleBorderIndicatorDisplacement(e){const i=t=>{const a=this.isActive(t)||t===e;if(a){const e=this.getActiveItemSection(t);const i=this.hasChildren(e);if(i){this.handleClassList(e,"add","active-section")}}const r=this.getSidebarMenuItems(t);r.forEach(i)};const t=this.getSidebarMenuItems(this.el);t.forEach(i)}removeActiveClassesRecursively(){const e=i=>{const t=this.querySidebarItems(i);t.forEach((i=>{const t=i.shadowRoot.querySelector(n);t.classList.remove(o);t.classList.remove(s);if(i.getAttribute("active")){i.setAttribute("active","false")}e(i.shadowRoot)}))};e(this.el);if(this.activeItem){this.activeItem.setAttribute("active","false")}this.activeItem=null}hasActiveChild(e){const i=this.getSidebarMenuItems(e);if(i){for(let e of i){if(this.isActive(e)){return true}else if(this.hasChildren(e.shadowRoot)){if(this.hasActiveChild(e.shadowRoot)){return true}}}}return false}handleSidebarItemInteraction(e){const i=e.detail;if(!this.hasChildren(i.shadowRoot)||this.hasActiveChild(i.shadowRoot)){this.handleBorderIndicatorDisplacement(i)}if(this.hasChildren(i.shadowRoot)&&!this.hasActiveChild(i.shadowRoot)){const e=this.getActiveItemSection(i);this.handleClassList(e,"remove","active-section")}if(this.hasChildren(i.shadowRoot)&&this.isOpen(i.shadowRoot)&&this.containsActiveSection(i)){const e=this.getActiveItemSection(i);this.handleClassList(e,"remove","active-section")}}isOpen(e){return this.getNavItem(e).classList.contains("open")?true:false}containsActiveSection(e){const i=this.getSidebarMenuItems(e);for(let e of i){if(this.getNavItem(e.shadowRoot).classList.contains("active-section")||this.hasChildren(e.shadowRoot)&&this.containsActiveSection(e.shadowRoot)){this.handleClassList(e,"add","active-section");return true}}return false}applyActiveSectionToParent(e){const i=this.getSidebarMenuItems(e);i===null||i===void 0?void 0:i.forEach((e=>{if(this.hasActiveChild(e.shadowRoot)){const i=this.getActiveItemSection(e);this.handleClassList(i,"add","active-section")}this.applyActiveSectionToParent(e.shadowRoot)}))}querySidebarItems(e){return e.querySelectorAll("ifx-sidebar-item")}isActive(e){const i=e.getAttribute("active");const t=i==="true";return t}handleSidebarItemActivated(e){this.removeActiveClassesRecursively();this.activeItem=e.detail;this.activeItem.setAttribute("active","true");const i=this.getNavItem(e.detail.parentElement.parentElement.parentElement);if(i){this.handleClassList(i,"add","active-section")}}componentWillLoad(){this.internalTermsofUse=this.termsOfUse.trim();this.internalPrivacyPolicy=this.privacyPolicy.trim();this.internalImprint=this.imprint.trim();this.internalShowFooter=this.showFooter;if(this.internalShowFooter&&!this.internalImprint&&!this.internalPrivacyPolicy&&!this.internalTermsofUse&&!this.copyrightText){this.internalShowFooter=false}}render(){return i("div",{key:"e29cd1c7bf8266a500d547b2a4200231d9bd4bc8","aria-label":"a navigation sidebar","aria-value":this.applicationName,class:"sidebar__container"},i("div",{key:"8055810a23fef774b058a0b3f905f16fce5b8e87",class:"sidebar__top-container"},this.showHeader&&i("div",{key:"d77baa74f0d675a8354ff024117f5c4ac369e6f7",class:"sidebar__nav-bar"},i("div",{key:"adee87ea5e2ca62935017363d03ddf7667c50670",class:"sidebar__nav-bar-logo"},i("div",{key:"1d9bf12c702c43e717e024e3e6cb19814b3af206",class:"sidebar__nav-bar-logo-img"},i("svg",{key:"4d2d8098b29525ae6fa619fd086023e0fa28526c",width:"91",height:"40",viewBox:"0 0 91 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i("g",{key:"54b0a272d955550fcc7bcdb35413ee5555e43de0","clip-path":"url(#clip0_2396_2480)"},i("path",{key:"e9ad87013d166fe4d538a434d0a7f00867b63264",d:"M67.691 26.7766C71.0884 26.7766 72.1461 23.1841 72.1461 19.8802C72.1461 15.4536 70.2871 13.1441 67.691 13.1441C64.4219 13.1441 63.2681 16.7367 63.3001 19.9443C63.3322 23.1199 64.2296 26.7766 67.691 26.7766ZM66.0244 19.8481C66.0244 18.533 66.0244 15.4536 67.691 15.4536C69.4859 15.4536 69.4218 18.5009 69.4218 19.9123C69.4218 21.2595 69.4218 24.5313 67.7551 24.5313C65.9603 24.4992 66.0244 21.2274 66.0244 19.8481ZM57.8195 26.7766C59.1976 26.7766 60.3835 26.2313 61.5053 25.0445L60.5117 23.1841C59.7425 24.018 58.9733 24.4671 58.0438 24.4671C57.2746 24.4671 56.6336 24.018 56.249 23.2482C55.9285 22.5746 55.8644 21.8048 55.8644 20.9708V20.7142H61.6335V20.1368C61.6335 17.282 61.2809 15.7102 60.3835 14.5234C59.7104 13.6253 58.7169 13.1441 57.499 13.1441C56.2169 13.1441 55.1593 13.7215 54.39 14.8442C53.5567 16.0631 53.2042 17.699 53.2042 19.9443C53.1721 24.2426 54.8708 26.7766 57.8195 26.7766ZM57.531 15.2612C58.172 15.2612 58.5566 15.614 58.813 16.1914C59.0053 16.7046 59.1015 17.5707 59.1015 18.5971H55.8644C55.8964 16.3197 56.3772 15.2612 57.531 15.2612ZM74.2614 26.4559H76.7614V16.8329C77.3703 16.0952 78.0754 15.6782 78.5882 15.6782C78.9087 15.6782 79.2292 15.7423 79.4215 15.9989C79.6138 16.2876 79.71 16.7046 79.71 17.699V26.4559H82.21V16.5442C82.21 15.6782 82.1138 14.8121 81.601 14.1706C81.1523 13.5932 80.4472 13.2404 79.5497 13.2404C78.3959 13.2404 77.2101 13.914 76.569 14.6838C76.537 14.0102 76.3126 13.3687 76.2485 13.1441L73.9089 13.7536C74.0371 14.4593 74.2294 15.3253 74.2294 16.8971V26.4559H74.2614ZM45.2236 14.6838C45.1915 14.0102 44.9672 13.3687 44.9031 13.1441L42.5634 13.7536C42.6916 14.4593 42.8839 15.3253 42.8839 16.8971V26.4238H45.3838V16.8008C45.9928 16.0631 46.6979 15.6461 47.2107 15.6461C47.5312 15.6461 47.8517 15.7102 48.044 15.9669C48.2363 16.2555 48.3325 16.6725 48.3325 17.6669V26.4238H50.8324V16.5442C50.8324 15.6782 50.7363 14.8121 50.2235 14.1706C49.7748 13.5932 49.0696 13.2404 48.1722 13.2404C47.0505 13.2404 45.8646 13.914 45.2236 14.6838ZM14.6473 9.07042C16.1216 9.07042 17.3075 7.88359 17.3075 6.40807C17.3075 4.93256 16.1216 3.74573 14.6473 3.74573C13.173 3.74573 11.9871 4.93256 11.9871 6.40807C11.9871 7.88359 13.173 9.07042 14.6473 9.07042ZM26.9227 26.4559V16.5442C26.9227 15.6782 26.8265 14.8121 26.3137 14.1706C25.865 13.5932 25.1599 13.2404 24.2625 13.2404C23.1087 13.2404 21.9228 13.914 21.2818 14.6838C21.2497 14.0102 21.0254 13.3687 20.9613 13.1441L18.6536 13.7857C18.7818 14.4913 18.9741 15.3574 18.9741 16.9291V26.4559H21.4741V16.8329C22.0831 16.0952 22.7882 15.6782 23.301 15.6782C23.6215 15.6782 23.942 15.7423 24.1343 15.9989C24.3266 16.2876 24.4227 16.7046 24.4227 17.699V26.4559H26.9227ZM38.4289 8.36474C37.4994 8.36474 36.7622 9.10249 36.7622 10.0327C36.7622 10.9629 37.4994 11.7007 38.3968 11.7007C39.3263 11.7007 40.0634 10.9629 40.0634 10.0327C40.0634 9.10249 39.3263 8.36474 38.4289 8.36474ZM13.4614 26.4559H15.9614V10.8346L13.4614 11.1554V26.4559ZM33.8777 9.90441C34.3264 9.90441 34.7751 10.0648 35.0635 10.2893L35.7687 8.33266C35.0956 7.85151 34.3584 7.62698 33.429 7.62698C32.788 7.62698 32.1149 7.78736 31.5059 8.26851C30.897 8.78173 30.256 9.80818 30.256 11.7328C30.256 12.5667 30.288 13.4328 30.288 13.4328H29.4226V15.6461H30.288V26.4238H32.8521V15.6782H34.743L35.2238 13.4649H32.8841V11.4762C32.8841 10.5139 33.2687 9.90441 33.8777 9.90441ZM37.1468 26.4559H39.6788V13.2404L37.1468 13.5611V26.4559Z",fill:"#005DA9"}),i("path",{key:"5602d3c181d3ad52ecb747ce5b52442d6b1b48f2",d:"M77.0816 33.5126C68.6203 36.0146 58.3321 37.1052 48.2682 37.1052C22.7239 37.1052 6.24986 29.5993 5.09604 19.6877C4.67938 15.9668 7.59599 12.3422 12.4677 9.26285C11.6023 8.62132 11.0575 7.59488 11.0254 6.44012C3.97427 10.161 0 15.0366 0 19.9764C0 30.9145 19.5188 40.1525 48.5246 39.7676C58.6205 39.6393 67.0498 38.1958 74.6778 35.6939C83.7482 32.7428 89.4532 28.5087 90.8313 26.6483C89.1968 28.1238 85.3186 31.0748 77.0816 33.5126ZM23.2687 4.38723C24.9674 3.80985 27.3712 3.0721 27.3712 3.0721C34.1339 1.21166 41.6017 0.121063 48.5566 0.185215C40.544 -0.295931 33.2365 0.185215 26.8584 1.33997C26.8584 1.33997 24.743 1.69281 22.4675 2.27018C22.4675 2.27018 21.3777 2.55887 20.7047 2.75133C20.0316 2.94379 19.1021 3.2004 19.1021 3.2004C18.4611 3.39286 17.8201 3.6174 17.1791 3.84193C17.8201 4.48346 18.2047 5.31745 18.2368 6.27974C19.3586 5.76652 21.5059 4.99668 23.2687 4.38723Z",fill:"#E30034"})),i("defs",{key:"b91857cf444cbcd3d108c08eecd32c74ffa7837f"},i("clipPath",{key:"7549b3c5240d84a34cfb0eead8c7d7f421a0546d",id:"clip0_2396_2480"},i("rect",{key:"2a008fbac65664328db9f6df3cf7a8a9d5cb3d01",width:"91",height:"40",fill:"white"}))))," "),i("div",{key:"3c51fa2fee76a24e9db0d254f49180960b988d12",class:"sidebar__nav-bar-logo-text"},this.applicationName))),i("div",{key:"4b5143c3cb3b107d6cd6c3a827bc9518a88fe923",class:"sidebar__nav-container"},i("slot",{key:"e1a182f2a1ede762b17b0080970c89a407a859c2"}))),this.internalShowFooter&&i("div",{key:"0e4d5357b77d0de7ee0d1dc30b1bccd3bb09aa95",class:"sidebar__footer-container"},i("div",{key:"da0cae5cd4e5cd78594615cf02d267171a83e07d",class:"sidebar__footer-wrapper"},(this.internalTermsofUse||this.internalImprint||this.internalPrivacyPolicy)&&i("div",{key:"491062e63c625ea6c8d4027ff7bf0fa9e631ce66",class:"sidebar__footer-wrapper-top-links"},this.internalTermsofUse!==""&&i("a",{key:"d89e98392641d85d33d7421bf65362786c61e8c5",target:this.target,href:this.internalTermsofUse},"Terms of use"),this.internalImprint!==""&&i("a",{key:"7d21252546491681736d30494c68a6fb0403edd0",target:this.target,href:this.internalImprint},"Imprint"),this.internalPrivacyPolicy!==""&&i("a",{key:"36be4654f254fb07f0f46b3695e3c02807eb0c2e",target:this.target,href:this.internalPrivacyPolicy},"Privacy policy")),this.copyrightText&&i("div",{key:"51288cb0202cf73073de3d53e44ea773ee955b04",class:"sidebar__footer-wrapper-bottom-links"},i("span",{key:"4d751a9d66c85b97827c8f7562c78150d6d33801"},this.copyrightText)))))}get el(){return t(this)}};d.style=r;export{d as ifx_sidebar};
2
+ //# sourceMappingURL=p-96ba5e8c.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["sidebarCss","IfxSidebarStyle0","ACTIVE","ACTIVE_SECTION","SIDEBAR_ITEM","Sidebar","constructor","hostRef","this","applicationName","initialCollapse","showFooter","showHeader","termsOfUse","imprint","privacyPolicy","target","currentYear","Date","getFullYear","copyrightText","internalTermsofUse","internalImprint","internalPrivacyPolicy","internalShowFooter","activeItem","expandActiveItems","expandRecursively","async","parent","isItemExpandable","active","currRes","children","getSidebarMenuItems","i","length","Math","max","expandMenu","topLevelItems","el","adjustTopBorder","tagName","shadowRoot","querySelector","classList","add","contains","allIfxTitles","querySelectorAll","forEach","element","nextSibling","nextElementSibling","addPaddingToTheLastItem","sidebarItem","sidebarChildItems","childItem","childNavItem","getNavItem","isChildItemExpandable","handleClassList","adjustItemsPadding","sidebarItems","toUpperCase","isFirstSidebarItemExpandable","previousSidebarItem","previousSidebarNavItem","sidebarNavItem","isSidebarItemExpandable","componentDidLoad","setInitialActiveItem","applyActiveSectionToParent","_a","handleItem","firstActiveFoundInGroup","item","isActive","handleBorderIndicatorDisplacement","setAttribute","hasChildren","hasActiveChild","clickedItemSection","getActiveItemSection","isOpen","containsActiveSection","type","className","clickedItem","activeMenuItemSection","isMenu","removeActiveClassesRecursively","removeClasses","root","querySidebarItems","child","remove","getAttribute","menuItem","handleSidebarItemInteraction","event","detail","subMenus","menu","menuItemSection","iteratedComponent","activeAttributeValue","handleSidebarItemActivated","parentElement","componentWillLoad","trim","render","h","key","class","width","height","viewBox","fill","xmlns","d","id","href"],"sources":["src/components/navigation/sidebar/sidebar.scss?tag=ifx-sidebar&encapsulation=shadow","src/components/navigation/sidebar/sidebar.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../../global/font.scss\";\n\n:host {\n height: 100%;\n display: inline-flex;\n}\n\n.sidebar__container {\n box-sizing: border-box;\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 0px;\n background-color: tokens.$ifxColorBaseWhite;\n border-right: 1px solid #EEEDED;\n width: 264px;\n height: 100%;\n font-family: tokens.$ifxFontFamilyBody;\n\n & .sidebar__top-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 0px;\n flex: 1 1 auto;\n order: 0;\n z-index: 0;\n width: 100%;\n overflow-y: auto;\n\n //max-height: 440px;\n //overflow-y: auto;\n\n & .sidebar__nav-bar {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 12px 32px;\n background-color: tokens.$ifxColorBaseWhite;\n flex: none;\n order: 0;\n flex-grow: 0;\n width: 100%;\n\n & .sidebar__nav-bar-logo {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n padding: 0px;\n gap: tokens.$ifxSpace200;\n flex: none;\n order: 0;\n flex-grow: 0;\n\n & .sidebar__nav-bar-logo-img {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 0px;\n flex: none;\n order: 0;\n flex-grow: 0;\n\n & svg {\n width: 91px;\n height: tokens.$ifxSize500;\n }\n }\n\n & .sidebar__nav-bar-logo-text {\n font-style: normal;\n font-weight: tokens.$ifxFontWeightSemibold;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n display: flex;\n align-items: center;\n color: tokens.$ifxColorBaseBlack;\n flex: none;\n order: 1;\n flex-grow: 0;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: anywhere;\n }\n }\n }\n\n & .sidebar__nav-container {\n scrollbar-gutter: stable;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 12px 32px;\n flex: 1 1 auto;\n order: 1;\n width: 100%;\n // overflow-y: auto;\n\n & ::slotted(*) {\n width: 100%;\n }\n }\n }\n\n & .sidebar__footer-container {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n align-items: center;\n padding: 0px 32px;\n flex: none;\n order: 1;\n align-self: stretch;\n flex-grow: 1;\n z-index: 1;\n\n & .sidebar__footer-wrapper {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 24px 0px;\n gap: tokens.$ifxSpace200;\n border-top: 1px solid #EEEDED;\n flex: none;\n order: 0;\n flex-grow: 0;\n width: 100%;\n\n\n & .sidebar__footer-wrapper-top-links {\n display: flex;\n align-items: flex-start;\n padding: 0px;\n gap: 12px;\n flex: none;\n order: 0;\n align-self: stretch;\n flex-grow: 0;\n flex-wrap: wrap;\n\n & a {\n font: tokens.$ifxBodyBody04;\n display: flex;\n text-decoration: none;\n align-items: center;\n color: tokens.$ifxColorBaseBlack;\n flex: none;\n flex-grow: 0;\n\n &:hover {\n color: #08665C;\n }\n\n &:focus {\n outline: none;\n color: #08665C;\n }\n }\n }\n\n & .sidebar__footer-wrapper-bottom-links {\n display: flex;\n flex-direction: column;\n align-items: center;\n\n & span {\n font: tokens.$ifxBodyBody04;\n text-decoration: none;\n color: tokens.$ifxColorEngineering500;\n flex: none;\n order: 1;\n flex-grow: 0;\n white-space: pre-wrap;\n word-wrap: break-word; \n overflow-wrap: anywhere;\n\n &:hover {\n cursor: initial;\n }\n }\n }\n }\n }\n}","import { Component, h, Element, Prop, State, Listen } from '@stencil/core';\n\nconst ACTIVE = 'active';\nconst ACTIVE_SECTION = 'active-section';\nconst SIDEBAR_ITEM = '.sidebar__nav-item';\n\n@Component({\n tag: 'ifx-sidebar',\n styleUrl: 'sidebar.scss',\n shadow: true\n})\n\nexport class Sidebar {\n @Element() el;\n @Prop() applicationName: string = ''\n @Prop() initialCollapse: boolean = true\n @Prop() showFooter: boolean = true\n @Prop() showHeader: boolean = true;\n @Prop() termsOfUse: string = \"#\"\n @Prop() imprint: string = \"#\"\n @Prop() privacyPolicy: string = \"#\"\n @Prop() target: string = \"_blank\"\n @State() currentYear: number = new Date().getFullYear()\n @Prop() copyrightText: string = '© 1999 - ' + this.currentYear + ' Infineon Technologies AG'\n @State() internalTermsofUse: string = \"\"\n @State() internalImprint: string = \"\"\n @State() internalPrivacyPolicy: string = \"\"\n @State() internalShowFooter: boolean = true\n\n @State() activeItem: HTMLElement | null = null;\n\n expandActiveItems(){\n const expandRecursively = async (parent) => {\n if(await parent.isItemExpandable() !== true){\n if(parent.active) return 1;\n return 0;\n }\n let currRes = 0;\n const children = this.getSidebarMenuItems(parent);\n for(let i = 0; i < children.length; i++){\n currRes = Math.max(currRes, await expandRecursively(children[i]));\n }\n if(currRes > 0){\n if(currRes == 1){\n parent.expandMenu(false);\n }else{\n parent.expandMenu(true);\n }\n }\n\n return (currRes ? currRes+1 : 0);\n }\n\n const topLevelItems = this.getSidebarMenuItems(this.el);\n for(let i = 0; i < topLevelItems.length; i++){\n expandRecursively(topLevelItems[i])\n }\n }\n\n adjustTopBorder() {\n const children = this.el.children;\n if(!children.length) return;\n if(children[0].tagName === 'IFX-SIDEBAR-TITLE'){\n children[0].shadowRoot.querySelector('.sidebar__title').classList.add('no-top-border')\n }\n \n if(children[0].tagName === 'IFX-SIDEBAR-ITEM' && children[0].shadowRoot.querySelector('div > a').classList.contains('header__section')){\n children[0].shadowRoot.querySelector('div > a').classList.add('no-top-border')\n }\n\n const allIfxTitles = this.el.querySelectorAll('ifx-sidebar-title');\n allIfxTitles.forEach(element => {\n const nextSibling = element.nextElementSibling;\n if(nextSibling && nextSibling.tagName === 'IFX-SIDEBAR-ITEM' && nextSibling.shadowRoot.querySelector('div > a').classList.contains('header__section')){\n nextSibling.shadowRoot.querySelector('div > a').classList.add('no-top-border')\n }\n });\n }\n\n async addPaddingToTheLastItem(sidebarItem) {\n const sidebarChildItems = this.getSidebarMenuItems(sidebarItem)\n\n for(let i = 0; i < sidebarChildItems.length; i++){\n\n const childItem = sidebarChildItems[i];\n const childNavItem = this.getNavItem(childItem.shadowRoot);\n const isChildItemExpandable = await childItem.isItemExpandable();\n\n if(isChildItemExpandable) {\n this.addPaddingToTheLastItem(childItem);\n }\n\n if(i === sidebarChildItems.length-1){\n this.handleClassList(childNavItem, 'add', 'extra-padding__bottom');\n }\n }\n }\n\n async adjustItemsPadding() {\n const sidebarItems = this.el.children;\n\n if(sidebarItems.length === 0) return;\n\n // Processing first item\n if(sidebarItems[0].tagName.toUpperCase() === 'IFX-SIDEBAR-ITEM') {\n const isFirstSidebarItemExpandable = sidebarItems[0].isItemExpandable();\n if(isFirstSidebarItemExpandable) {\n this.addPaddingToTheLastItem(sidebarItems[0]);\n }\n }\n\n // Processing remaining items\n for(let i = 1; i < sidebarItems.length; i++){\n\n const sidebarItem = sidebarItems[i];\n const previousSidebarItem = sidebarItems[i-1];\n const previousSidebarNavItem = this.getNavItem(previousSidebarItem.shadowRoot);\n\n if(sidebarItem.tagName.toUpperCase() === 'IFX-SIDEBAR-TITLE') {\n \n if(previousSidebarItem.tagName.toUpperCase() === 'IFX-SIDEBAR-ITEM' && previousSidebarNavItem && !this.handleClassList(previousSidebarNavItem, 'contains', 'header__section')) {\n this.handleClassList(previousSidebarNavItem, 'add', 'extra-padding__bottom');\n }\n\n } else if(sidebarItem.tagName.toUpperCase() === 'IFX-SIDEBAR-ITEM') {\n\n const sidebarNavItem = this.getNavItem(sidebarItem.shadowRoot);\n\n if(previousSidebarItem.tagName.toUpperCase() === 'IFX-SIDEBAR-ITEM' && previousSidebarNavItem && !this.handleClassList(previousSidebarNavItem, 'contains', 'header__section') && this.handleClassList(sidebarNavItem, 'contains', 'header__section')) {\n this.handleClassList(previousSidebarNavItem, 'add', 'extra-padding__bottom');\n }\n\n const isSidebarItemExpandable = await sidebarItem.isItemExpandable();\n\n if(isSidebarItemExpandable) {\n this.addPaddingToTheLastItem(sidebarItem);\n }\n }\n }\n\n }\n \n componentDidLoad() {\n this.adjustTopBorder();\n this.setInitialActiveItem();\n if(!this.initialCollapse){\n this.expandActiveItems();\n }\n this.adjustItemsPadding();\n this.applyActiveSectionToParent(this.el);\n }\n\n getSidebarMenuItems(el = this.el) {\n const sidebarItems = el.querySelectorAll('ifx-sidebar-item');\n if (sidebarItems.length === 0) {\n return el.shadowRoot?.querySelectorAll('ifx-sidebar-item');\n }\n return sidebarItems;\n }\n\n setInitialActiveItem() {\n const handleItem = (parent) => {\n const children = this.getSidebarMenuItems(parent);\n let firstActiveFoundInGroup = false;\n\n children?.forEach(item => {\n // If the item is active and it's the first active one in its group\n if (this.isActive(item) && !firstActiveFoundInGroup) {\n firstActiveFoundInGroup = true;\n this.handleBorderIndicatorDisplacement(item);\n }\n // If the item is active but it's not the first one in its group\n else if (this.isActive(item) && firstActiveFoundInGroup) {\n item.setAttribute('active', 'false'); // Set the 'active' attribute to 'false'\n }\n\n\n // If the clicked item is a menu and doesn't have any active children\n if (this.hasChildren(item.shadowRoot) && !this.hasActiveChild(item.shadowRoot)) {\n const clickedItemSection = this.getActiveItemSection(item);\n this.handleClassList(clickedItemSection, 'remove', 'active-section');\n }\n // If clickedItem is an opened menu and it contains another menu with 'active-section'\n if (this.hasChildren(item.shadowRoot) && this.isOpen(item.shadowRoot) && this.containsActiveSection(item)) {\n const clickedItemSection = this.getActiveItemSection(item);\n this.handleClassList(clickedItemSection, 'remove', 'active-section');\n }\n\n // Recursive call for child items\n if (this.hasChildren(item.shadowRoot)) {\n handleItem(item.shadowRoot);\n }\n });\n }\n // Start with the top-level items\n const topLevelItems = this.getSidebarMenuItems(this.el);\n topLevelItems.forEach(handleItem);\n }\n\n\n handleClassList(el, type, className) {\n el.classList[type](className)\n if (type === 'contains') {\n return el.classList.contains(className)\n }\n }\n\n\n getActiveItemSection(item) {\n return this.getNavItem(item.shadowRoot);\n }\n\n\n getNavItem(el) {\n return el?.querySelector('.sidebar__nav-item')\n }\n\n hasChildren(el) {\n return el?.querySelector('.item__arrow-wrapper') !== null ? true : false;\n }\n\n\n handleBorderIndicatorDisplacement(clickedItem) {\n // Recursive function to handle each item\n const handleItem = (item) => {\n // Check if current item is active or the one that was clicked\n const isActive = this.isActive(item) || item === clickedItem;\n\n if (isActive) {\n const activeMenuItemSection = this.getActiveItemSection(item);\n const isMenu = this.hasChildren(activeMenuItemSection);\n\n if (isMenu) {\n this.handleClassList(activeMenuItemSection, 'add', 'active-section');\n }\n }\n\n // Recursive call for child items\n const children = this.getSidebarMenuItems(item);\n children.forEach(handleItem);\n };\n\n // Start with the top-level items\n const topLevelItems = this.getSidebarMenuItems(this.el);\n topLevelItems.forEach(handleItem);\n }\n\n\n removeActiveClassesRecursively() {\n const removeClasses = (root) => {\n const children = this.querySidebarItems(root);\n children.forEach((child) => {\n const sidebarItem = child.shadowRoot.querySelector(SIDEBAR_ITEM);\n sidebarItem.classList.remove(ACTIVE_SECTION);\n sidebarItem.classList.remove(ACTIVE);\n if (child.getAttribute('active')) {\n child.setAttribute('active', 'false');\n }\n removeClasses(child.shadowRoot);\n });\n }\n removeClasses(this.el);\n if (this.activeItem) {\n this.activeItem.setAttribute('active', 'false');\n }\n this.activeItem = null;\n }\n\n hasActiveChild(menuItem) {\n const children = this.getSidebarMenuItems(menuItem);\n if (children) {\n for (let child of children) {\n // If the child item is active\n if (this.isActive(child)) {\n return true;\n }\n // If the child item has children, recurse into them\n else if (this.hasChildren(child.shadowRoot)) {\n if (this.hasActiveChild(child.shadowRoot)) {\n return true;\n }\n }\n }\n }\n return false;\n }\n\n\n @Listen('ifxSidebarMenu')\n handleSidebarItemInteraction(event: CustomEvent) {\n // This method can be used to handle the ifxSidebarMenu event\n // Get the element that triggered the event\n const clickedItem = event.detail;\n\n // If the clicked item is not a menu OR is a menu that has an active child\n if (!this.hasChildren(clickedItem.shadowRoot) || this.hasActiveChild(clickedItem.shadowRoot)) {\n this.handleBorderIndicatorDisplacement(clickedItem);\n }\n\n // If the clicked item is a menu and doesn't have any active children\n if (this.hasChildren(clickedItem.shadowRoot) && !this.hasActiveChild(clickedItem.shadowRoot)) {\n const clickedItemSection = this.getActiveItemSection(clickedItem);\n this.handleClassList(clickedItemSection, 'remove', 'active-section');\n }\n\n // If clickedItem is an opened menu and it contains another menu with 'active-section'\n if (this.hasChildren(clickedItem.shadowRoot) && this.isOpen(clickedItem.shadowRoot) && this.containsActiveSection(clickedItem)) {\n const clickedItemSection = this.getActiveItemSection(clickedItem);\n this.handleClassList(clickedItemSection, 'remove', 'active-section');\n }\n }\n\n isOpen(menuItem) {\n return this.getNavItem(menuItem).classList.contains('open') ? true : false;\n }\n\n containsActiveSection(menuItem) {\n const children = this.getSidebarMenuItems(menuItem);\n for (let child of children) {\n if (this.getNavItem(child.shadowRoot).classList.contains('active-section') || (this.hasChildren(child.shadowRoot) && this.containsActiveSection(child.shadowRoot))) {\n this.handleClassList(child, 'add', 'active-section')\n return true;\n }\n }\n return false;\n }\n\n applyActiveSectionToParent(el) {\n // Get all submenus of the given element\n const subMenus = this.getSidebarMenuItems(el);\n\n subMenus?.forEach(menu => {\n // If this submenu has an active child, add active-section class to it\n if (this.hasActiveChild(menu.shadowRoot)) {\n const menuItemSection = this.getActiveItemSection(menu);\n this.handleClassList(menuItemSection, 'add', 'active-section');\n }\n\n // Apply to submenu's children\n this.applyActiveSectionToParent(menu.shadowRoot);\n });\n }\n\n\n\n querySidebarItems(el) {\n return el.querySelectorAll('ifx-sidebar-item')\n }\n\n isActive(iteratedComponent) {\n const activeAttributeValue = iteratedComponent.getAttribute('active');\n const isActive = activeAttributeValue === 'true';\n return isActive;\n }\n\n @Listen('ifxSidebarNavigationItem')\n handleSidebarItemActivated(event: CustomEvent) {\n\n this.removeActiveClassesRecursively();\n\n this.activeItem = event.detail;\n this.activeItem.setAttribute('active', 'true');\n\n // Get the parent element of the activated item\n const parent = this.getNavItem(event.detail.parentElement.parentElement.parentElement);\n if (parent) {\n this.handleClassList(parent, 'add', 'active-section');\n }\n }\n\n componentWillLoad() {\n this.internalTermsofUse = this.termsOfUse.trim();\n this.internalPrivacyPolicy = this.privacyPolicy.trim();\n this.internalImprint = this.imprint.trim();\n this.internalShowFooter = this.showFooter;\n if(this.internalShowFooter && !this.internalImprint && !this.internalPrivacyPolicy && !this.internalTermsofUse && !this.copyrightText){\n this.internalShowFooter = false;\n }\n }\n \n render() {\n return (\n <div aria-label=\"a navigation sidebar\" aria-value={this.applicationName} class='sidebar__container'>\n <div class='sidebar__top-container'>\n {\n this.showHeader && \n <div class=\"sidebar__nav-bar\">\n <div class=\"sidebar__nav-bar-logo\">\n <div class='sidebar__nav-bar-logo-img'>\n <svg width=\"91\" height=\"40\" viewBox=\"0 0 91 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_2396_2480)\">\n <path d=\"M67.691 26.7766C71.0884 26.7766 72.1461 23.1841 72.1461 19.8802C72.1461 15.4536 70.2871 13.1441 67.691 13.1441C64.4219 13.1441 63.2681 16.7367 63.3001 19.9443C63.3322 23.1199 64.2296 26.7766 67.691 26.7766ZM66.0244 19.8481C66.0244 18.533 66.0244 15.4536 67.691 15.4536C69.4859 15.4536 69.4218 18.5009 69.4218 19.9123C69.4218 21.2595 69.4218 24.5313 67.7551 24.5313C65.9603 24.4992 66.0244 21.2274 66.0244 19.8481ZM57.8195 26.7766C59.1976 26.7766 60.3835 26.2313 61.5053 25.0445L60.5117 23.1841C59.7425 24.018 58.9733 24.4671 58.0438 24.4671C57.2746 24.4671 56.6336 24.018 56.249 23.2482C55.9285 22.5746 55.8644 21.8048 55.8644 20.9708V20.7142H61.6335V20.1368C61.6335 17.282 61.2809 15.7102 60.3835 14.5234C59.7104 13.6253 58.7169 13.1441 57.499 13.1441C56.2169 13.1441 55.1593 13.7215 54.39 14.8442C53.5567 16.0631 53.2042 17.699 53.2042 19.9443C53.1721 24.2426 54.8708 26.7766 57.8195 26.7766ZM57.531 15.2612C58.172 15.2612 58.5566 15.614 58.813 16.1914C59.0053 16.7046 59.1015 17.5707 59.1015 18.5971H55.8644C55.8964 16.3197 56.3772 15.2612 57.531 15.2612ZM74.2614 26.4559H76.7614V16.8329C77.3703 16.0952 78.0754 15.6782 78.5882 15.6782C78.9087 15.6782 79.2292 15.7423 79.4215 15.9989C79.6138 16.2876 79.71 16.7046 79.71 17.699V26.4559H82.21V16.5442C82.21 15.6782 82.1138 14.8121 81.601 14.1706C81.1523 13.5932 80.4472 13.2404 79.5497 13.2404C78.3959 13.2404 77.2101 13.914 76.569 14.6838C76.537 14.0102 76.3126 13.3687 76.2485 13.1441L73.9089 13.7536C74.0371 14.4593 74.2294 15.3253 74.2294 16.8971V26.4559H74.2614ZM45.2236 14.6838C45.1915 14.0102 44.9672 13.3687 44.9031 13.1441L42.5634 13.7536C42.6916 14.4593 42.8839 15.3253 42.8839 16.8971V26.4238H45.3838V16.8008C45.9928 16.0631 46.6979 15.6461 47.2107 15.6461C47.5312 15.6461 47.8517 15.7102 48.044 15.9669C48.2363 16.2555 48.3325 16.6725 48.3325 17.6669V26.4238H50.8324V16.5442C50.8324 15.6782 50.7363 14.8121 50.2235 14.1706C49.7748 13.5932 49.0696 13.2404 48.1722 13.2404C47.0505 13.2404 45.8646 13.914 45.2236 14.6838ZM14.6473 9.07042C16.1216 9.07042 17.3075 7.88359 17.3075 6.40807C17.3075 4.93256 16.1216 3.74573 14.6473 3.74573C13.173 3.74573 11.9871 4.93256 11.9871 6.40807C11.9871 7.88359 13.173 9.07042 14.6473 9.07042ZM26.9227 26.4559V16.5442C26.9227 15.6782 26.8265 14.8121 26.3137 14.1706C25.865 13.5932 25.1599 13.2404 24.2625 13.2404C23.1087 13.2404 21.9228 13.914 21.2818 14.6838C21.2497 14.0102 21.0254 13.3687 20.9613 13.1441L18.6536 13.7857C18.7818 14.4913 18.9741 15.3574 18.9741 16.9291V26.4559H21.4741V16.8329C22.0831 16.0952 22.7882 15.6782 23.301 15.6782C23.6215 15.6782 23.942 15.7423 24.1343 15.9989C24.3266 16.2876 24.4227 16.7046 24.4227 17.699V26.4559H26.9227ZM38.4289 8.36474C37.4994 8.36474 36.7622 9.10249 36.7622 10.0327C36.7622 10.9629 37.4994 11.7007 38.3968 11.7007C39.3263 11.7007 40.0634 10.9629 40.0634 10.0327C40.0634 9.10249 39.3263 8.36474 38.4289 8.36474ZM13.4614 26.4559H15.9614V10.8346L13.4614 11.1554V26.4559ZM33.8777 9.90441C34.3264 9.90441 34.7751 10.0648 35.0635 10.2893L35.7687 8.33266C35.0956 7.85151 34.3584 7.62698 33.429 7.62698C32.788 7.62698 32.1149 7.78736 31.5059 8.26851C30.897 8.78173 30.256 9.80818 30.256 11.7328C30.256 12.5667 30.288 13.4328 30.288 13.4328H29.4226V15.6461H30.288V26.4238H32.8521V15.6782H34.743L35.2238 13.4649H32.8841V11.4762C32.8841 10.5139 33.2687 9.90441 33.8777 9.90441ZM37.1468 26.4559H39.6788V13.2404L37.1468 13.5611V26.4559Z\" fill=\"#005DA9\" />\n <path d=\"M77.0816 33.5126C68.6203 36.0146 58.3321 37.1052 48.2682 37.1052C22.7239 37.1052 6.24986 29.5993 5.09604 19.6877C4.67938 15.9668 7.59599 12.3422 12.4677 9.26285C11.6023 8.62132 11.0575 7.59488 11.0254 6.44012C3.97427 10.161 0 15.0366 0 19.9764C0 30.9145 19.5188 40.1525 48.5246 39.7676C58.6205 39.6393 67.0498 38.1958 74.6778 35.6939C83.7482 32.7428 89.4532 28.5087 90.8313 26.6483C89.1968 28.1238 85.3186 31.0748 77.0816 33.5126ZM23.2687 4.38723C24.9674 3.80985 27.3712 3.0721 27.3712 3.0721C34.1339 1.21166 41.6017 0.121063 48.5566 0.185215C40.544 -0.295931 33.2365 0.185215 26.8584 1.33997C26.8584 1.33997 24.743 1.69281 22.4675 2.27018C22.4675 2.27018 21.3777 2.55887 20.7047 2.75133C20.0316 2.94379 19.1021 3.2004 19.1021 3.2004C18.4611 3.39286 17.8201 3.6174 17.1791 3.84193C17.8201 4.48346 18.2047 5.31745 18.2368 6.27974C19.3586 5.76652 21.5059 4.99668 23.2687 4.38723Z\" fill=\"#E30034\" />\n </g>\n <defs>\n <clipPath id=\"clip0_2396_2480\">\n <rect width=\"91\" height=\"40\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg> </div>\n <div class='sidebar__nav-bar-logo-text'>{this.applicationName}</div>\n </div>\n </div>\n }\n <div class=\"sidebar__nav-container\">\n <slot />\n </div>\n </div>\n\n {\n this.internalShowFooter &&\n <div class='sidebar__footer-container'>\n <div class=\"sidebar__footer-wrapper\">\n {\n (this.internalTermsofUse || this.internalImprint || this.internalPrivacyPolicy) &&\n <div class='sidebar__footer-wrapper-top-links'>\n {\n this.internalTermsofUse !== '' && <a target={this.target} href={this.internalTermsofUse}>Terms of use</a>\n }\n {\n this.internalImprint !== '' && <a target={this.target} href={this.internalImprint}>Imprint</a>\n }\n {\n this.internalPrivacyPolicy !== '' && <a target={this.target} href={this.internalPrivacyPolicy}>Privacy policy</a>\n }\n </div>\n }\n \n {\n this.copyrightText &&\n <div class='sidebar__footer-wrapper-bottom-links'>\n <span>{this.copyrightText}</span>\n </div>\n }\n </div>\n </div>\n }\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as i,h as t,g as s}from"./p-e6edf72d.js";const a=':root{font-family:"Source Sans 3", sans-serif}:host{display:inline-block}.chip{position:relative}.chip__wrapper{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;border:1px solid #BFBBBB;border-radius:9999px;background:#FFFFFF;cursor:pointer;transition:border 100ms ease;font:400 0.875rem/1.25rem "Source Sans 3"}.chip__wrapper:hover,.chip__wrapper:focus-visible{outline:none;border:1px solid #575352}.chip__wrapper:focus{border:1px solid #0A8276}.chip__wrapper.chip__wrapper--small{padding:4px 12px}.chip__wrapper.chip__wrapper--large{padding:8px 16px}.chip__wrapper.chip__wrapper--opened{border:1px solid #0A8276}.chip__wrapper.chip__wrapper--opened .wrapper__open-button{transform:rotate(-180deg)}.chip__wrapper.chip__wrapper--selected{outline:3px solid #0A8276;outline-offset:-3px;color:#0A8276}.chip__wrapper.chip__wrapper--selected:hover,.chip__wrapper.chip__wrapper--selected:focus-visible{outline:3px solid #08665C;color:#08665C}.wrapper__label{display:inline-flex;align-items:center;gap:4px;font:400 0.875rem/1.25rem "Source Sans 3"}.wrapper__label .label__selected-options{font:600 0.875rem/1.25rem "Source Sans 3"}.wrapper__open-button{display:flex;align-items:center;transition:all 300ms ease}.wrapper__unselect-button{display:flex;align-items:center}.chip__dropdown{position:absolute;z-index:1;box-shadow:0px 6px 9px 0px rgba(29, 29, 29, 0.1019607843);border:1px solid #EEEDED;border-radius:1px;padding:8px 0;min-width:222px;background-color:#FFFFFF}';const l=a;const n=class{constructor(t){e(this,t);this.ifxChange=i(this,"ifxChange",7);this.placeholder="";this.size="large";this.value=undefined;this.variant="single";this.readOnly=false;this.opened=false;this.selectedOptions=[]}handleValueChange(e){this.syncSelectedOptionsWithProp(e)}handleReadOnlyChange(e){if(e){this.opened=false}}closeDropdownOnOutsideClick(e){const i=e.composedPath();const t=this.chip.shadowRoot.querySelector(".chip__wrapper");const s=this.chip.shadowRoot.querySelector(".chip__dropdown");if(!i.includes(s)&&!i.includes(t)&&this.opened){this.toggleDropdownMenu()}}handleKeyDown(e){if(e.code!=="Tab"){e.preventDefault()}if(e.target.tagName==="IFX-CHIP"){this.handleWrapperKeyDown(e)}else if(e.target.tagName==="IFX-CHIP-ITEM"){this.handleDropdownKeyDown(e)}}updateSelectedOptions(e){const i=e.detail;const t=[...this.selectedOptions];if(this.variant!=="multi"){if(i.selected){this.opened=false;const t=this.getChipItems();t.forEach((i=>{if(i.selected&&i!==e.target){i.chipState=Object.assign(Object.assign({},i.chipState),{emitIfxChipItemSelect:false});i.selected=false}}));this.selectedOptions=[i]}else{this.selectedOptions=[]}this.value=this.selectedOptions[0]?this.selectedOptions[0].value:undefined}else{if(i.selected){if(!this.selectedOptions.find((e=>e.value===i.value))){this.selectedOptions=[...this.selectedOptions,i]}}else{this.selectedOptions=this.selectedOptions.filter((e=>e.value!==i.value))}this.value=this.selectedOptions.map((e=>e.value))}if(i.emitIfxChange){this.ifxChange.emit({previousSelection:t,currentSelection:this.selectedOptions,name:this.placeholder})}}getChipItems(){return this.chip.querySelectorAll("ifx-chip-item")}getSelectedOptions(){if(this.variant!=="multi"){return this.selectedOptions.map((e=>e.label)).join("")}return this.selectedOptions.slice(0,2).map((e=>e.label)).join(", ")}toggleDropdownMenu(){if(this.readOnly)return;this.opened=!this.opened}focusChipItemAt(e=0){this.opened=true;const i=this.getChipItems();let t;if(e===-1){t=i.item(i.length-1)}else if(e>=0&&e<i.length){t=i.item(e)}else{console.error(`Invalid index: ${e}`);return}const s=t.shadowRoot.querySelector(".chip-item");if(s){setTimeout((()=>{s.focus()}),1)}}focusChip(){const e=this.chip.shadowRoot.querySelector(".chip__wrapper");e.focus()}handleUnselectButtonClick(e){e.stopPropagation();this.opened=false;let i=false;const t=this.getChipItems();t.forEach((e=>{if(e.selected){i=true;e.chipState=Object.assign(Object.assign({},e.chipState),{emitIfxChipItemSelect:false});e.selected=false}}));if(i){const e=this.selectedOptions;this.selectedOptions=[];this.value=[];this.ifxChange.emit({previousSelection:e,currentSelection:[],name:this.placeholder})}}handleWrapperClick(){if(!this.readOnly){this.toggleDropdownMenu()}}handleWrapperKeyDown(e){if(this.readOnly)return;if(!this.opened){switch(e.code){case"Space":case"Enter":case"ArrowDown":this.focusChipItemAt(0);break;case"ArrowUp":this.focusChipItemAt(-1);break}}else{switch(e.code){case"Escape":this.opened=false;this.focusChip();break}}}handleDropdownKeyDown(e){let i=this.getChipItems();let t=Array.from(i).indexOf(e.target);if(t===-1){console.error("Target not found in chip items");return}switch(e.code){case"ArrowDown":if(t===i.length-1)break;this.focusChipItemAt(t+1);break;case"ArrowUp":if(t===0)break;this.focusChipItemAt(t-1);break;case"Escape":this.opened=false;this.focusChip();break;case"Space":if(this.variant==="single"){this.opened=false;this.focusChip()}break;case"Enter":this.opened=false;this.focusChip();break}}syncChipState(){const e=this.getChipItems();let i=0;e.forEach((e=>{e.chipState={emitIfxChipItemSelect:true,size:this.size==="small"?"small":"large",variant:this.variant==="multi"?"multi":"single",key:i++}}))}syncSelectedOptionsWithProp(e){this.selectedOptions=[];const i=(()=>{let e=0;return()=>e++})();if(Array.isArray(e)){this.selectedOptions=e.map((e=>({value:e,label:e,selected:true,key:i(),emitIfxChange:true})))}else if(typeof e==="string"){this.selectedOptions=[{value:e,label:e,selected:true,key:i(),emitIfxChange:true}]}this.syncChipState()}componentWillLoad(){this.syncSelectedOptionsWithProp(this.value)}render(){return t("div",{key:"fc668c031275a7c69f8cc2002fbf26c9252495ae",class:"chip"},t("div",{key:"4705146d122cc620644e24dbd3d4e26c73a72f53",class:`chip__wrapper chip__wrapper--${this.size==="small"?"small":"large"}\n chip__wrapper--${this.variant==="multi"?"multi":"single"}\n ${this.opened&&!this.readOnly?"chip__wrapper--opened":""}\n ${this.selectedOptions.length?"chip__wrapper--selected":""}`,tabIndex:0,onClick:!this.readOnly?()=>{this.handleWrapperClick()}:undefined,role:"combobox","aria-label":this.AriaLabel,"aria-value":this.getSelectedOptions(),"aria-haspopup":!this.readOnly?"listbox":undefined,"aria-expanded":!this.readOnly?this.opened.toString():undefined,"aria-controls":!this.readOnly?"dropdown":undefined,"aria-readonly":this.readOnly?"true":undefined,"aria-multiselectable":this.variant==="multi"?"true":undefined},t("div",{key:"8f1720b1940e2a722c45f6a2efaa42897e6f62f0",class:"wrapper__label"},this.selectedOptions.length===0&&`${this.placeholder}`,this.selectedOptions.length!==0&&(this.variant==="multi"||this.readOnly)&&this.placeholder!==""&&`${this.placeholder}:`,this.selectedOptions.length!==0&&t("div",{key:"048ca51b1fc52273cfee76fde5a0e15c21834590",class:"label__selected-options"},this.getSelectedOptions()),this.selectedOptions.length>2&&this.variant==="multi"&&t("ifx-number-indicator",{key:"8b1b5ad4331fbd3d74cdc6b4358cb952d0fcd500"}," ",`+${this.selectedOptions.length-2}`," ")),!this.readOnly&&(this.variant!=="multi"||this.variant==="multi"&&this.selectedOptions.length===0)&&t("div",{key:"d0d4782cd9ab4048ce57c09e7add80a6d232f96a",class:"wrapper__open-button"},t("ifx-icon",{key:1,icon:`chevrondown16`})),this.variant!=="multi"&&this.readOnly!==false&&this.selectedOptions.length>0&&t("div",{key:"9696e7c54fcfdfe911b84636405c8fac89205272",class:"wrapper__unselect-button",onClick:e=>{this.handleUnselectButtonClick(e)}},t("ifx-icon",{key:2,icon:`cross16`})),this.selectedOptions.length>=1&&this.variant==="multi"&&t("div",{key:"287a2f6e6167e1d595d7256fa7638d8be6184b2e",class:"wrapper__unselect-button",onClick:e=>{this.handleUnselectButtonClick(e)}},t("ifx-icon",{key:2,icon:`cross16`}))),this.opened&&!this.readOnly&&t("div",{key:"b1e1a33e17bb951b60f2086e4c16825a9194c3bb",id:"dropdown",role:"listbox",class:"chip__dropdown"},t("slot",{key:"64693b69905a1cbbdf6c16c70558e6087534523d"})))}get chip(){return s(this)}static get watchers(){return{value:["handleValueChange"],readOnly:["handleReadOnlyChange"]}}};n.style=l;const r=':root{font-family:"Source Sans 3", sans-serif}.chip-item{display:flex;align-items:center;gap:8px;padding:8px 16px;user-select:none;transition:all 100ms ease;transition-property:background, color}.chip-item:hover{cursor:pointer;background-color:#EEEDED}.chip-item:active{background-color:#BFBBBB}.chip-item:focus{outline:2px solid #0A8276}.chip-item.chip-item--large{font:400 1rem/1.5rem "Source Sans 3"}.chip-item.chip-item--small{font:400 0.875rem/1.25rem "Source Sans 3"}.chip-item.chip-item--selected{color:#0A8276}.chip-item.chip-item--selected .chip-item__selected-indicator{display:block}.chip-item__selected-indicator{display:none;margin-left:auto}';const c=r;const h=class{constructor(t){e(this,t);this.ifxChipItemSelect=i(this,"ifxChipItemSelect",5);this.value=undefined;this.chipState={emitIfxChipItemSelect:true,variant:"multi",size:"large"};this.selected=false}updateItemSelection(e){if(this.chipState.variant==="single"){const i=e.target;if(this.chipItem!==i&&this.chipItem.parentElement===i.parentElement){this.selected=false}}}validateSelected(e,i){if(e!==i){if(this.chipState.emitIfxChipItemSelect){this.emitIfxChipItemSelectEvent()}else{this.chipState.emitIfxChipItemSelect=true}}}getItemLabel(){return this.chipItem.innerText}toggleItemSelection(){this.selected=!this.selected}emitIfxChipItemSelectEvent(e=true){this.ifxChipItemSelect.emit({emitIfxChange:e,key:this.chipState.key,label:this.getItemLabel(),selected:this.selected,value:this.value})}handleItemClick(){this.toggleItemSelection()}handleItemKeyDown(e){if(e.code==="Enter"||e.code==="Space"){this.toggleItemSelection()}}handleSelectedState(){if(this.selected){this.emitIfxChipItemSelectEvent(false)}}componentWillLoad(){this.handleSelectedState()}render(){return t("div",{key:"7ceff18d0a41b419a188d925fd854cc97d7a9ecd",class:`chip-item chip-item--${this.chipState.size} \n chip-item--${(this.selected&&this.chipState.variant)==="single"?"selected":""}`,tabIndex:0,onClick:()=>{this.handleItemClick()},onKeyDown:e=>{this.handleItemKeyDown(e)},role:"option","aria-selected":this.selected.toString()},this.chipState.variant==="multi"&&t("ifx-checkbox",{key:"d2f717951d288aa0863081e54cabf7edd1c6f7e6",checked:this.selected,tabIndex:-1,size:"s"}),t("div",{key:"fff335d9009c93863012f6a4307ed4322413c4f7",class:"chip-item__label"}," ",t("slot",{key:"a093e9caf2eecba28c58674dde3f788be1f5849b"})," "),t("div",{key:"ea76c6b3d0bdd2a687acfbe323ebd9e6d6034a40",class:"chip-item__selected-indicator"},t("ifx-icon",{key:"b581de80777bbfe5a39bc393ec90af46276b7ae9",icon:`check${this.chipState.size==="small"?"12":"16"}`}," ")))}get chipItem(){return s(this)}static get watchers(){return{selected:["validateSelected"]}}};h.style=c;const o='@charset "UTF-8";:root{font-family:"Source Sans 3", sans-serif}:host{display:inline-flex}.container{display:inline-flex;justify-content:center;align-items:center;gap:32px;font-family:"Source Sans 3"}.container .items__per-page-wrapper{display:flex;align-items:center;gap:16px}.container .items__per-page-wrapper .items__per-page-label{color:#1D1D1D;font-size:14px;font-style:normal;font-weight:600;line-height:20px}.container .items__per-page-wrapper .items__per-page-field{display:flex;flex-direction:column;align-items:flex-start}.container .items__per-page-wrapper .items__per-page-field ifx-select{width:92px}.container .items__total-wrapper{display:flex;justify-content:center;align-items:center;gap:12px}.container .items__total-wrapper .items__total-button{display:flex;width:40px;height:40px;justify-content:center;align-items:center;border-radius:100px;border:1px solid #BFBBBB;background:#FFF}.container .items__total-wrapper .page__numbers-wrapper{display:flex;justify-content:center;align-items:center;gap:12px}.container .items__total-wrapper .page__numbers-wrapper .page__number-item{display:flex;padding:6px;flex-direction:column;justify-content:center;align-items:center;gap:10px;border-radius:100px}.container .items__total-wrapper .page__numbers-wrapper .page__number-item.active{background-color:#0A8276}.container .items__total-wrapper .page__numbers-wrapper .page__number-item.active span{color:#fff}.container .items__total-wrapper .page__numbers-wrapper .page__number-item:hover{cursor:pointer}.container .items__total-wrapper .page__numbers-wrapper .page__number-item:hover:not(.active){background-color:#ddd}.container .items__total-wrapper .page__numbers-wrapper .page__number-item:active:not(.active){background-color:#575352}.container .items__total-wrapper .page__numbers-wrapper .page__number-item span{display:flex;width:16px;height:16px;flex-direction:column;justify-content:center;color:#1D1D1D;text-align:center;font-size:13px;font-style:normal;font-weight:400;line-height:20px}.pagination{display:flex}.pagination ifx-icon-button:first-of-type{margin-right:12px}.pagination ifx-icon-button:last-of-type{margin-left:12px}a{padding:8px;border-radius:100px}ol{list-style-type:none;padding:0;margin:0;display:inline-flex;align-items:center;gap:12px}li{display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:100px}li:hover:not(.active) a{background-color:#EEEDED}li:active:not(.active) a{background-color:#575352;color:#fff}li.active{background-color:#0A8276}li.active a{color:#fff}li:hover{cursor:pointer}li a{text-decoration:none;display:flex;width:16px;height:16px;flex-direction:column;justify-content:center;color:#1D1D1D;text-align:center;font-size:13px;font-style:normal;font-weight:400;line-height:20px;align-items:center}.prev.disabled,.next.disabled{cursor:default}.prev.disabled:hover,.next.disabled:hover{cursor:default;text-decoration:none}.prev{margin-right:2.5px}.next{margin-left:2.5px}@media (min-width: 400px){li:first-child,li.active-sibling,li.active,li.active+li,li:last-child{display:inline-flex !important;flex-direction:row}li:first-child:nth-last-child(n+8)~li{display:none}li:first-child:nth-last-child(n+8)~li.active-sibling:before{content:"…";font-size:13px;display:inline-block;margin-right:6px}li:first-child:nth-last-child(n+8)~li.active+li:after{content:"…";font-size:13px;display:inline-block;margin-left:6px}li:first-child:nth-last-child(n+8)~li:nth-last-child(-n+5){display:inline-flex;flex-direction:row}li:first-child:nth-last-child(n+8)~li:nth-last-child(5):before{content:"…";font-size:13px;display:inline-block;margin-right:6px}li:first-child:nth-last-child(n+8)~li:nth-child(-n+2):before,li:first-child:nth-last-child(n+8)~li:nth-child(-n+2):after,li:first-child:nth-last-child(n+8)~li:nth-last-child(-n+2):before,li:first-child:nth-last-child(n+8)~li:nth-last-child(-n+2):after,li:first-child:nth-last-child(n+8)~li.active-sibling:nth-last-child(-n+4):before,li:first-child:nth-last-child(n+8)~li.active-sibling:nth-last-child(-n+4):after{display:none !important}li:first-child:nth-last-child(n+8).active~li:nth-last-child(-n+5),li:first-child:nth-last-child(n+8)~li.active~li:nth-last-child(-n+5){display:none}li:first-child:nth-last-child(n+8).active~li:nth-last-child(-n+5):before,li:first-child:nth-last-child(n+8)~li.active~li:nth-last-child(-n+5):before{display:none}li:first-child:nth-last-child(n+8).active~li:nth-child(-n+5),li:first-child:nth-last-child(n+8)~li.active~li:nth-child(-n+5){display:inline-flex !important;flex-direction:row}li:first-child:nth-last-child(n+8).active~li:nth-child(-n+4):after,li:first-child:nth-last-child(n+8)~li.active~li:nth-child(-n+4):after{display:none}li:first-child:nth-last-child(n+8).active~li:nth-child(5):after,li:first-child:nth-last-child(n+8)~li.active~li:nth-child(5):after{content:"…";font-size:13px;display:inline-block;margin-left:6px}li:first-child:nth-last-child(n+8).active:before,li:first-child:nth-last-child(n+8).active:after,li:first-child:nth-last-child(n+8)~li.active:before,li:first-child:nth-last-child(n+8)~li.active:after{display:none}}';const p=o;const d=class{constructor(t){e(this,t);this.ifxPageChange=i(this,"ifxPageChange",7);this.currentPage=0;this.internalPage=1;this.internalItemsPerPage=10;this.numberOfPages=[];this.total=1;this.CLASS_DISABLED="disabled";this.CLASS_ACTIVE="active";this.CLASS_SIBLING_ACTIVE="active-sibling";this.DATA_KEY="pagination"}setItemsPerPage(e){if(e.detail){this.internalItemsPerPage=parseInt(e.detail.label)}else{this.internalItemsPerPage=10}}componentDidLoad(){this.calculateVisiblePageIndices();var e=this.el.shadowRoot.querySelector(".pagination");let i=e.querySelector(".prev");this.navigateSinglePage(i,true)}calculateNumberOfPages(){if(isNaN(this.currentPage)){this.currentPage=1}const e=this.total<=this.internalItemsPerPage?this.internalItemsPerPage:this.total;const i=this.internalItemsPerPage;const t=Math.ceil(e/i);if(this.currentPage<=0){this.internalPage=1}else if(this.currentPage>t){this.internalPage=t}else this.internalPage=this.currentPage;this.numberOfPages=Array.from({length:t},((e,i)=>i+1))}filterOptionsArray(){let e=Array.isArray(this.itemsPerPage)?this.itemsPerPage:JSON.parse(this.itemsPerPage);for(let i=0;i<e.length;i++){let t=e[i];if(!t.label){t.label=t.value}}this.filteredItemsPerPage=e}componentWillLoad(){this.calculateNumberOfPages();this.filterOptionsArray()}componentDidUpdate(){var e=this.el.shadowRoot.querySelector(".pagination");var i=e.querySelectorAll("li");this.addEventListenersToPageItems(i,e);if(e.dataset[this.DATA_KEY]<this.numberOfPages){e.dataset[this.DATA_KEY]=e.dataset[this.DATA_KEY]}else e.dataset[this.DATA_KEY]=0;this.changePage(e,false)}componentWillUpdate(){this.calculateNumberOfPages()}handleEventEmission(e){let i=e+1;let t=this.numberOfPages.length;let s=e===0?null:e;let a=e+2>t?null:e+2;let l=this.internalItemsPerPage;this.ifxPageChange.emit({currentPage:i,totalPages:t,prevPage:s,nextPage:a,itemsPerPage:l})}addEventListenersToPageItems(e,i){e.forEach((e=>{e.addEventListener("click",(e=>{var t=i;let s=t.querySelectorAll("li");t.dataset[this.DATA_KEY]=Array.from(s).indexOf(e.currentTarget);this.changePage(t,false)}))}))}initPagination(e){var i=e.querySelectorAll("li");e.dataset[this.DATA_KEY]=Array.from(i).indexOf(e.querySelector(".active"));e.querySelector(".prev").addEventListener("click",(e=>this.navigateSinglePage(e,false)));e.querySelector(".next").addEventListener("click",(e=>this.navigateSinglePage(e,false)));this.addEventListenersToPageItems(i,e)}navigateSinglePage(e,i){let t=e;if(typeof e.target==="object"){t=e.target}if(!t.classList.contains(this.CLASS_DISABLED)){var s=t.closest(".pagination");var a=parseInt(s.dataset[this.DATA_KEY],10);a+=1*(t.classList.contains("prev")?-1:1);if(a===-1){a=0}s.dataset[this.DATA_KEY]=a;this.changePage(s,i)}}changePage(e,i){const t=e;var s=t.querySelectorAll("li");var a=parseInt(t.dataset[this.DATA_KEY],10);s.forEach((e=>{e.classList.remove(this.CLASS_ACTIVE);e.classList.remove(this.CLASS_SIBLING_ACTIVE)}));if(i&&this.internalPage>1){a=Math.floor(this.internalPage-1);t.dataset[this.DATA_KEY]=a}this.handleEventEmission(a);s[a].classList.add(this.CLASS_ACTIVE);if(a===0){t.querySelector(".prev").classList.add(this.CLASS_DISABLED);t.querySelector(".prev").disabled=true}else{s[a-1].classList.add(this.CLASS_SIBLING_ACTIVE);t.querySelector(".prev").classList.remove(this.CLASS_DISABLED);t.querySelector(".prev").disabled=false}if(a===s.length-1){t.querySelector(".next").classList.add(this.CLASS_DISABLED);t.querySelector(".next").disabled=true}else{t.querySelector(".next").classList.remove(this.CLASS_DISABLED);t.querySelector(".next").disabled=false}}calculateVisiblePageIndices(){var e=this.el.shadowRoot.querySelector(".pagination");this.initPagination(e)}render(){return t("div",{key:"b0c95fd2d1f3eff8c2a02773b7332fa8a0e8df4b","aria-label":"a pagination","aria-value":this.currentPage,class:"container"},t("div",{key:"5258c41927e8699f3abedd4e4cf127abc9b9d621",class:"items__per-page-wrapper"},t("div",{key:"c1613e4f10bddd59733f92a18b02df25fb2bd41c",class:"items__per-page-label"},"Results per Page"),t("div",{key:"c51981aec1cf851bba48ccac2bfdfc0d6889efdf",class:"items__per-page-field"},t("ifx-select",{key:"df0af4e9e347a3bad00477d187df5dfa2336a3a8",value:"undefined",size:"s",placeholder:"false","show-search":"false","search-placeholder-value":"Search...",disabled:false,error:false,"error-message":"Error",label:"","placeholder-value":"Placeholder",options:this.filteredItemsPerPage}))),t("div",{key:"ef3a823246abfd7c22f4e3a214c87880491a97ce",class:"items__total-wrapper"},t("div",{key:"d358a8c56ea8a2963b4de1cb0e3424e45bef5486",class:"page__numbers-wrapper"},t("div",{key:"e0fd96bf52b67c9010f567bc11856f57f1fb9128",class:"pagination"},t("ifx-icon-button",{key:"094f2b269326b82f332375bbf0bf94b25c895051",variant:"secondary",class:"prev",color:"primary",icon:"arrow-left-24"}),t("ol",{key:"1cbe4f1104728aaf5c384d2328db1f2cfc10e6e5"},this.numberOfPages.map((e=>t("li",{class:`${this.internalPage===e?"active":""}`},t("a",{href:undefined},e))))),t("ifx-icon-button",{key:"8befcf76b3fb5d7c349dbde7f45041b7cf661882",class:"next",variant:"secondary",color:"primary",icon:"arrow-right-24"})))))}get el(){return s(this)}};d.style=p;export{n as ifx_chip,h as ifx_chip_item,d as ifx_pagination};
2
+ //# sourceMappingURL=p-994ef70a.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["chipCss","IfxChipStyle0","Chip","constructor","hostRef","this","placeholder","size","value","undefined","variant","readOnly","opened","selectedOptions","handleValueChange","newValue","syncSelectedOptionsWithProp","handleReadOnlyChange","closeDropdownOnOutsideClick","event","path","composedPath","chipWrapper","chip","shadowRoot","querySelector","chipDropdown","includes","toggleDropdownMenu","handleKeyDown","code","preventDefault","target","tagName","handleWrapperKeyDown","handleDropdownKeyDown","updateSelectedOptions","eventDetail","detail","previousSelection","selected","chipItems","getChipItems","forEach","chipItem","chipState","Object","assign","emitIfxChipItemSelect","find","option","filter","map","emitIfxChange","ifxChange","emit","currentSelection","name","querySelectorAll","getSelectedOptions","label","join","slice","focusChipItemAt","index","item","length","console","error","shadowItem","setTimeout","focus","focusChip","handleUnselectButtonClick","stopPropagation","itemGotUnselected","handleWrapperClick","chipitems","targetIndex","Array","from","indexOf","syncChipState","key","generateKey","count","isArray","componentWillLoad","render","h","class","tabIndex","onClick","role","AriaLabel","toString","icon","e","id","chipItemCss","IfxChipItemStyle0","ChipItem","updateItemSelection","parentElement","validateSelected","oldValue","emitIfxChipItemSelectEvent","getItemLabel","innerText","toggleItemSelection","ifxChipItemSelect","handleItemClick","handleItemKeyDown","handleSelectedState","onKeyDown","checked","paginationCss","IfxPaginationStyle0","Pagination","currentPage","internalPage","internalItemsPerPage","numberOfPages","total","CLASS_DISABLED","CLASS_ACTIVE","CLASS_SIBLING_ACTIVE","DATA_KEY","setItemsPerPage","parseInt","componentDidLoad","calculateVisiblePageIndices","paginationElement","el","leftArrow","navigateSinglePage","calculateNumberOfPages","isNaN","itemsPerPage","totalPageNumber","Math","ceil","_","filterOptionsArray","obj","JSON","parse","i","filteredItemsPerPage","componentDidUpdate","listItems","addEventListenersToPageItems","dataset","changePage","componentWillUpdate","handleEventEmission","currActive","totalPages","prevPage","nextPage","ifxPageChange","paginationContainer","addEventListener","parent","currentTarget","initPagination","initialValue","classList","contains","closest","pagination","remove","floor","add","disabled","options","color","href"],"sources":["src/components/chip/chip.scss?tag=ifx-chip&encapsulation=shadow","src/components/chip/chip.tsx","src/components/chip/chip-item/chip-item.scss?tag=ifx-chip-item&encapsulation=shadow","src/components/chip/chip-item/chip-item.tsx","src/components/pagination/pagination.scss?tag=ifx-pagination&encapsulation=shadow","src/components/pagination/pagination.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-block;\n}\n\n.chip {\n position: relative;\n}\n\n.chip__wrapper {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: tokens.$ifxSpace100;\n\n box-sizing: border-box;\n border: 1px solid tokens.$ifxColorEngineering300;\n border-radius: tokens.$ifxBorderRadiusRound;\n \n background: tokens.$ifxColorBaseWhite;\n \n cursor: pointer; \n \n transition: border 100ms ease;\n\n font: tokens.$ifxBodyBody04;\n \n &:hover, &:focus-visible {\n outline: none;\n border: 1px solid tokens.$ifxColorEngineering500;\n }\n\n &:focus {\n border: 1px solid tokens.$ifxColorOcean500;\n }\n \n &.chip__wrapper--small {\n padding: tokens.$ifxSpace50 tokens.$ifxSpace150;\n }\n \n &.chip__wrapper--large {\n padding: tokens.$ifxSpace100 tokens.$ifxSpace200;\n }\n \n &.chip__wrapper--opened {\n border: 1px solid tokens.$ifxColorOcean500;\n \n .wrapper__open-button {\n transform: rotate(-180deg);\n }\n }\n \n &.chip__wrapper--selected {\n outline: 3px solid tokens.$ifxColorOcean500;\n outline-offset: -3px;\n \n color: tokens.$ifxColorOcean500;\n \n &:hover, &:focus-visible {\n outline: 3px solid tokens.$ifxColorOcean600;\n \n color: tokens.$ifxColorOcean600;\n }\n }\n}\n\n.wrapper__label {\n display: inline-flex;\n align-items: center;\n gap: tokens.$ifxSpace50;\n\n font: tokens.$ifxBodyBody04;\n \n .label__selected-options {\n font: tokens.$ifxBodyBodySemibold04;\n }\n}\n\n.wrapper__open-button {\n display:flex;\n align-items: center;\n \n transition: all 300ms ease;\n}\n\n.wrapper__unselect-button {\n display:flex;\n align-items: center;\n}\n\n.chip__dropdown {\n position: absolute;\n z-index: 1;\n\n box-shadow: 0px 6px 9px 0px #1D1D1D1A;\n border: 1px solid tokens.$ifxColorEngineering200;\n border-radius: tokens.$ifxBorderRadius12;\n padding: tokens.$ifxSpace100 0;\n\n min-width: 222px;\n \n background-color: tokens.$ifxColorBaseWhite;\n}\n","import { h, Component, Element, Event, EventEmitter, Listen, Prop, State, Watch } from '@stencil/core';\nimport { ChipItemSelectEvent } from './interfaces';\n\n@Component({\n tag: 'ifx-chip',\n styleUrl: 'chip.scss',\n shadow: true\n})\nexport class Chip {\n @Element() chip: HTMLIfxChipElement;\n\n @Event() ifxChange: EventEmitter<{ previousSelection: Array<ChipItemSelectEvent>, currentSelection: Array<ChipItemSelectEvent>, name: string }>;\n @Prop() placeholder: string = '';\n @Prop() size: 'small' | 'large' = 'large';\n @Prop({ mutable: true }) value: Array<string> | string = undefined;\n @Prop() variant: 'single' | 'multi' = 'single';\n @Prop() readOnly: boolean = false;\n @Prop() AriaLabel: string;\n\n @State() opened: boolean = false;\n @State() selectedOptions: Array<ChipItemSelectEvent> = [];\n\n @Watch('value')\n handleValueChange(newValue: Array<string> | string) {\n this.syncSelectedOptionsWithProp(newValue);\n }\n\n @Watch('readOnly')\n handleReadOnlyChange(newValue: boolean) {\n if (newValue) {\n this.opened = false;\n }\n }\n\n @Listen('mousedown', { target: 'document' })\n closeDropdownOnOutsideClick(event: MouseEvent) {\n const path = event.composedPath();\n const chipWrapper: HTMLElement = this.chip.shadowRoot.querySelector('.chip__wrapper');\n const chipDropdown: HTMLElement = this.chip.shadowRoot.querySelector('.chip__dropdown');\n if (!path.includes(chipDropdown) && !path.includes(chipWrapper) && this.opened) {\n this.toggleDropdownMenu();\n }\n }\n\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n // override behavior of all keys except Tab. Users should be able to tab out of the component.\n if (event.code !== 'Tab') {\n event.preventDefault(); \n }\n\n if ((event.target as HTMLElement).tagName === 'IFX-CHIP') {\n this.handleWrapperKeyDown(event);\n } else if ((event.target as HTMLElement).tagName === 'IFX-CHIP-ITEM') {\n this.handleDropdownKeyDown(event);\n }\n }\n\n @Listen('ifxChipItemSelect')\n updateSelectedOptions(event: CustomEvent<ChipItemSelectEvent>) {\n const eventDetail: ChipItemSelectEvent = event.detail;\n const previousSelection: Array<ChipItemSelectEvent> = [...this.selectedOptions];\n\n if (this.variant !== 'multi') {\n if (eventDetail.selected) {\n this.opened = false;\n const chipItems: NodeList = this.getChipItems();\n chipItems.forEach((chipItem: HTMLIfxChipItemElement) => {\n if (chipItem.selected && chipItem !== event.target) {\n chipItem.chipState = {\n ...chipItem.chipState,\n emitIfxChipItemSelect: false,\n };\n chipItem.selected = false;\n }\n });\n this.selectedOptions = [eventDetail];\n } else {\n this.selectedOptions = [];\n }\n this.value = this.selectedOptions[0] ? this.selectedOptions[0].value : undefined;\n } else {\n if (eventDetail.selected) {\n // Prevent duplicate entries\n if (!this.selectedOptions.find(option => option.value === eventDetail.value)) {\n this.selectedOptions = [...this.selectedOptions, eventDetail];\n }\n } else {\n this.selectedOptions = this.selectedOptions.filter((option) => option.value !== eventDetail.value);\n }\n this.value = this.selectedOptions.map((option) => option.value);\n }\n\n if (eventDetail.emitIfxChange) {\n this.ifxChange.emit({\n previousSelection: previousSelection,\n currentSelection: this.selectedOptions,\n name: this.placeholder\n });\n }\n }\n\n getChipItems(): NodeList {\n return this.chip.querySelectorAll('ifx-chip-item');\n }\n\n getSelectedOptions(): string {\n if (this.variant !== 'multi') {\n return this.selectedOptions.map(option => option.label).join('');\n }\n return this.selectedOptions.slice(0, 2).map(option => option.label).join(', ');\n }\n\n toggleDropdownMenu() {\n if (this.readOnly) return;\n this.opened = !this.opened;\n }\n\n /**\n * Focuses the chip item at the specified index.\n * @param index the index of the chip item to focus. -1 will focus the last chip item.\n */\n focusChipItemAt(index: number = 0) {\n this.opened = true;\n const chipItems: NodeList = this.getChipItems();\n let item: HTMLIfxChipItemElement;\n \n if (index === -1) {\n item = chipItems.item(chipItems.length - 1) as HTMLIfxChipItemElement;\n } else if (index >= 0 && index < chipItems.length) {\n item = chipItems.item(index) as HTMLIfxChipItemElement;\n } else {\n console.error(`Invalid index: ${index}`);\n return;\n }\n\n const shadowItem = item.shadowRoot.querySelector('.chip-item') as HTMLDivElement;\n if (shadowItem) {\n // Delay needed for the shadow item to be rendered.\n setTimeout(() => {\n shadowItem.focus();\n }, 1);\n }\n }\n\n focusChip() {\n const chipWrapper: HTMLElement = this.chip.shadowRoot.querySelector('.chip__wrapper');\n chipWrapper.focus();\n }\n\n handleUnselectButtonClick(event: MouseEvent) {\n event.stopPropagation();\n this.opened = false;\n\n let itemGotUnselected = false;\n const chipItems: NodeList = this.getChipItems();\n chipItems.forEach((chipItem: HTMLIfxChipItemElement) => {\n if (chipItem.selected) {\n itemGotUnselected = true;\n chipItem.chipState = {\n ...chipItem.chipState,\n emitIfxChipItemSelect: false,\n }\n chipItem.selected = false;\n }\n });\n\n /* Emit event only if at least one item was unselected. */\n if (itemGotUnselected) {\n const previousSelection: Array<ChipItemSelectEvent> = this.selectedOptions;\n this.selectedOptions = [];\n this.value = [];\n this.ifxChange.emit({\n previousSelection: previousSelection,\n currentSelection: [],\n name: this.placeholder\n });\n }\n }\n\n handleWrapperClick() {\n if (!this.readOnly) {\n this.toggleDropdownMenu();\n }\n }\n\n handleWrapperKeyDown(event: KeyboardEvent) {\n // Keymap oriented at https://www.w3.org/WAI/ARIA/apg/patterns/combobox/#keyboard_interaction\n if (this.readOnly) return;\n\n if (!this.opened) {\n switch (event.code) {\n case 'Space':\n case 'Enter':\n case 'ArrowDown':\n this.focusChipItemAt(0);\n break;\n case 'ArrowUp':\n this.focusChipItemAt(-1);\n break;\n }\n } else {\n switch (event.code) {\n case 'Escape':\n this.opened = false;\n this.focusChip();\n break;\n }\n }\n }\n\n handleDropdownKeyDown(event: KeyboardEvent) {\n let chipitems = this.getChipItems();\n\n let targetIndex = Array.from(chipitems).indexOf(event.target as HTMLIfxChipItemElement);\n if (targetIndex === -1) {\n console.error('Target not found in chip items');\n return;\n }\n\n switch (event.code) {\n case 'ArrowDown':\n if (targetIndex === chipitems.length - 1) break;\n this.focusChipItemAt(targetIndex + 1);\n break;\n case 'ArrowUp':\n if (targetIndex === 0) break;\n this.focusChipItemAt( targetIndex - 1);\n break;\n case 'Escape':\n this.opened = false;\n this.focusChip();\n break;\n case 'Space':\n // selection is handled by the chip-item component\n if (this.variant === 'single') {\n // only close dropdown if single select\n this.opened = false;\n this.focusChip();\n }\n break;\n case 'Enter':\n // selection is handled by the chip-item component\n this.opened = false;\n this.focusChip();\n break;\n }\n }\n\n syncChipState() {\n const chipItems: NodeList = this.getChipItems();\n let key: number = 0;\n chipItems.forEach((chipItem: HTMLIfxChipItemElement) => {\n chipItem.chipState = {\n emitIfxChipItemSelect: true,\n size: (this.size === 'small' ? 'small' : 'large'),\n variant: (this.variant === 'multi' ? 'multi' : 'single'),\n key: key++\n };\n });\n }\n\n syncSelectedOptionsWithProp(newValue: Array<string> | string) {\n // Clear old selected options\n this.selectedOptions = [];\n\n const generateKey = (() => {\n let count = 0;\n return () => count++;\n })();\n\n if (Array.isArray(newValue)) {\n this.selectedOptions = newValue.map(value => ({\n value,\n label: value,\n selected: true,\n key: generateKey(),\n emitIfxChange: true\n }));\n } else if (typeof newValue === 'string') {\n this.selectedOptions = [{\n value: newValue,\n label: newValue,\n selected: true,\n key: generateKey(),\n emitIfxChange: true\n }];\n }\n\n this.syncChipState();\n }\n\n componentWillLoad() {\n this.syncSelectedOptionsWithProp(this.value);\n }\n\n render() {\n return (\n <div class='chip'>\n <div class={`chip__wrapper chip__wrapper--${this.size === 'small' ? 'small' : 'large'}\n chip__wrapper--${this.variant === 'multi' ? 'multi' : 'single'}\n ${this.opened && !this.readOnly ? 'chip__wrapper--opened' : ''}\n ${this.selectedOptions.length ? 'chip__wrapper--selected' : ''}`}\n tabIndex={0}\n onClick={!this.readOnly ? () => { this.handleWrapperClick() } : undefined}\n role='combobox'\n aria-label={this.AriaLabel}\n aria-value={this.getSelectedOptions()}\n aria-haspopup={!this.readOnly ? 'listbox' : undefined}\n aria-expanded={!this.readOnly ? this.opened.toString() : undefined}\n aria-controls={!this.readOnly ? 'dropdown' : undefined}\n aria-readonly={this.readOnly ? 'true' : undefined}\n aria-multiselectable={this.variant === 'multi' ? 'true' : undefined}\n >\n\n <div class='wrapper__label'>\n {\n (this.selectedOptions.length === 0) && `${this.placeholder}`\n }\n\n {\n (this.selectedOptions.length !== 0 && (this.variant === 'multi' || this.readOnly) && this.placeholder !== '') &&\n `${this.placeholder}:`\n }\n\n {\n (this.selectedOptions.length !== 0) &&\n <div class='label__selected-options'>\n {this.getSelectedOptions()}\n </div>\n }\n\n {\n (this.selectedOptions.length > 2 && this.variant === 'multi') &&\n <ifx-number-indicator> {`+${this.selectedOptions.length - 2}`} </ifx-number-indicator>\n }\n </div>\n\n {\n !this.readOnly && (this.variant !== 'multi' || (this.variant === 'multi' && this.selectedOptions.length === 0)) &&\n <div class='wrapper__open-button'>\n <ifx-icon key={1} icon={`chevrondown16`} />\n </div>\n }\n\n\n { \n (this.variant !== 'multi' && this.readOnly !== false && this.selectedOptions.length > 0) &&\n <div class='wrapper__unselect-button' onClick={(e) => { this.handleUnselectButtonClick(e) }}>\n <ifx-icon key={2} icon={`cross16`} />\n </div>\n }\n\n {\n ((this.selectedOptions.length >= 1) && this.variant === 'multi') &&\n <div class='wrapper__unselect-button' onClick={(e) => { this.handleUnselectButtonClick(e) }}>\n <ifx-icon key={2} icon={`cross16`} />\n </div>\n }\n\n </div>\n\n {\n this.opened && !this.readOnly &&\n <div id='dropdown' role='listbox' class='chip__dropdown'>\n <slot />\n </div>\n }\n </div>\n );\n }\n}\n","@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../../global/font.scss\";\n\n.chip-item {\n display: flex;\n align-items: center;\n gap: tokens.$ifxSpace100;\n \n padding: tokens.$ifxSpace100 tokens.$ifxSpace200;\n \n user-select: none;\n \n transition: all 100ms ease;\n transition-property: background, color;\n \n &:hover {\n cursor: pointer;\n \n background-color: tokens.$ifxColorEngineering200;\n }\n \n &:active {\n background-color: tokens.$ifxColorEngineering300;\n }\n\n &:focus {\n outline: 2px solid tokens.$ifxColorOcean500;\n }\n \n &.chip-item--large {\n font: tokens.$ifxBodyBody03;\n }\n \n &.chip-item--small {\n font: tokens.$ifxBodyBody04;\n }\n\n &.chip-item--selected {\n color: tokens.$ifxColorOcean500;\n\n .chip-item__selected-indicator {\n display: block;\n }\n }\n}\n\n.chip-item__selected-indicator {\n display: none;\n \n margin-left: auto;\n}\n\n","import { h,\n Component,\n Element,\n Event,\n EventEmitter, \n Listen,\n Prop, \n Watch } from '@stencil/core';\nimport { ChipItemSelectEvent, ChipState } from '../interfaces';\n\n@Component({\ntag: 'ifx-chip-item',\nstyleUrl: 'chip-item.scss',\nshadow: true\n})\n\nexport class ChipItem {\n@Element() chipItem: HTMLIfxChipItemElement;\n\n@Event({ composed: false }) ifxChipItemSelect: EventEmitter<ChipItemSelectEvent>;\n\n@Prop() value: string = undefined;\n@Prop() chipState: ChipState = { emitIfxChipItemSelect: true, variant: 'multi', size: 'large' }; \n@Prop({ mutable: true, reflect: true }) selected: boolean = false;\n\n@Listen('ifxChipItemSelect', { target: 'body' })\nupdateItemSelection(event: CustomEvent<ChipItemSelectEvent>) {\n if (this.chipState.variant === 'single') {\n const target = event.target as HTMLIfxChipItemElement;\n /* Also making sure chip items are from the same group (parent) while unselecting. */\n if (this.chipItem !== target && this.chipItem.parentElement === target.parentElement) {\n this.selected = false;\n }\n }\n} \n\n@Watch('selected')\nvalidateSelected(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue) {\n /* Do not emit if ChipState does not allow. */\n if (this.chipState.emitIfxChipItemSelect){\n this.emitIfxChipItemSelectEvent();\n } else {\n this.chipState.emitIfxChipItemSelect = true;\n }\n }\n} \n\ngetItemLabel(): string {\n return this.chipItem.innerText as string;\n}\n\ntoggleItemSelection() {\n this.selected = !this.selected;\n}\n \n\nemitIfxChipItemSelectEvent(emitIfxChange: boolean = true) {\n this.ifxChipItemSelect.emit({ emitIfxChange: emitIfxChange,\n key: this.chipState.key,\n label: this.getItemLabel(), \n selected: this.selected, \n value: this.value });\n}\n\nhandleItemClick() {\n this.toggleItemSelection();\n}\n\nhandleItemKeyDown(event: KeyboardEvent) {\n if (event.code === 'Enter' || event.code === 'Space') {\n this.toggleItemSelection();\n }\n}\n\nhandleSelectedState() {\n if (this.selected) {\n this.emitIfxChipItemSelectEvent(false);\n }\n}\n\n\ncomponentWillLoad() {\n /* Propogating the selected state to the Chip (Parent) component if it is set. */\n this.handleSelectedState();\n}\n\nrender() {\n return (\n <div class={`chip-item chip-item--${this.chipState.size} \n chip-item--${(this.selected && this.chipState.variant) === 'single' ? 'selected' : ''}`} \n tabIndex={0}\n onClick={() => {this.handleItemClick()}}\n onKeyDown={(e) => {this.handleItemKeyDown(e)}}\n role=\"option\"\n aria-selected={this.selected.toString()}> \n {/* Checkbox; renders only in 'multi' variant. */}\n { \n this.chipState.variant === 'multi' &&\n <ifx-checkbox checked={this.selected}\n tabIndex={-1} \n size='s'>\n </ifx-checkbox>\n }\n\n <div class='chip-item__label'> <slot /> </div>\n\n {/* Selected indicator only visible in 'single' variant. */}\n <div class='chip-item__selected-indicator'> \n <ifx-icon icon={`check${this.chipState.size === 'small' ? '12' : '16'}`}> </ifx-icon> \n </div>\n\n </div>\n );\n}\n}","@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n}\n\n.container {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n gap: 32px;\n font-family: tokens.$ifxFontFamilyBody;\n\n\n & .items__per-page-wrapper {\n display: flex;\n align-items: center;\n gap: 16px;\n\n & .items__per-page-label {\n color: #1D1D1D;\n font-size: 14px;\n font-style: normal;\n font-weight: 600;\n line-height: 20px;\n }\n\n & .items__per-page-field {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n\n & ifx-select {\n width: 92px;\n }\n }\n }\n\n & .items__total-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 12px;\n\n & .items__total-button {\n display: flex;\n width: 40px;\n height: 40px;\n justify-content: center;\n align-items: center;\n border-radius: 100px;\n border: 1px solid #BFBBBB;\n background: #FFF;\n }\n\n & .page__numbers-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 12px;\n\n & .page__number-item {\n display: flex;\n padding: 6px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 100px;\n\n &.active {\n background-color: #0A8276;\n\n & span {\n color: #fff;\n }\n }\n\n &:hover {\n cursor: pointer;\n }\n\n &:hover:not(.active) {\n background-color: #ddd;\n\n }\n\n &:active:not(.active) {\n background-color: #575352;\n }\n\n & span {\n display: flex;\n width: 16px;\n height: 16px;\n flex-direction: column;\n justify-content: center;\n color: #1D1D1D;\n text-align: center;\n font-size: 13px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n }\n }\n }\n }\n}\n\n\n.pagination {\n display: flex;\n\n & ifx-icon-button:first-of-type {\n margin-right: 12px;\n }\n\n & ifx-icon-button:last-of-type {\n margin-left: 12px;\n }\n}\n\na {\n padding: 8px;\n border-radius: 100px;\n}\n\nol {\n list-style-type: none;\n padding: 0;\n margin: 0;\n display: inline-flex;\n align-items: center;\n gap: 12px;\n}\n\nli {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n border-radius: 100px;\n\n &:hover:not(.active) {\n & a {\n background-color: #EEEDED;\n }\n }\n\n &:active:not(.active) {\n & a {\n background-color: #575352;\n color: #fff;\n }\n }\n\n &.active {\n background-color: #0A8276;\n\n & a {\n color: #fff;\n }\n }\n\n &:hover {\n cursor: pointer;\n }\n\n & a {\n text-decoration: none;\n display: flex;\n width: 16px;\n height: 16px;\n flex-direction: column;\n justify-content: center;\n color: #1D1D1D;\n text-align: center;\n font-size: 13px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n align-items: center;\n }\n}\n\n.prev,\n.next {\n &.disabled {\n cursor: default;\n\n &:hover {\n cursor: default;\n text-decoration: none;\n }\n }\n}\n\n.prev {\n margin-right: 2.5px;\n}\n\n.next {\n margin-left: 2.5px;\n}\n\n\n@mixin ellipsis($before: true) {\n content: \"\\2026\";\n font-size: 13px;\n display: inline-block;\n\n @if($before) {\n margin-right: 6px;\n }\n\n @else {\n margin-left: 6px;\n }\n}\n\n\n// @media(max-width:460px) {\n// li {\n\n// &:first-child,\n// &.active,\n// &.active-sibling:nth-last-child(2), // Show second to last child if the last one is active\n// &:last-child {\n// //display: inline-block !important;\n// display: inline-flex !important;\n// flex-direction: row;\n// }\n\n// $how-many-on-ends: 3; // 1,2,3,...,10 || 1,...,8,9,10\n// // There are >= 5 pages\n// &:first-child:nth-last-child(n+6) {\n\n// &~li {\n// // Start out with all siblings hidden\n// display: none;\n\n// // Show the last children in the list by default\n// &:nth-last-child(-n+#{$how-many-on-ends}) {\n// //display: inline-block;\n// display: inline-flex;\n// flex-direction: row;\n\n// }\n\n// // The child at the beginning of the last group shows ellipsis for the group\n// &:nth-last-child(#{$how-many-on-ends}) {\n// &:before {\n// @include ellipsis(true);\n// }\n// }\n\n// // The very beginning elements do not need to show ellipsis\n// // The very end elements do not need to show ellipsis\n// }\n\n\n// &.active,\n// &~li.active {\n\n// // Show ellipsis before and after the active element\n// &:before {\n// @include ellipsis(true);\n// }\n// &:after {\n// @include ellipsis(false);\n// }\n\n\n// // If the active element is in the first or last group, don't show ellipsis (siblings will take care of it)\n// &:nth-child(-n+#{$how-many-on-ends - 1}),\n// &:nth-last-child(-n+#{$how-many-on-ends - 1}) {\n// &:before, &:after {\n// display: none;\n// }\n// }\n\n// // Hide the last group if \"active\" comes before them\n// &~li:nth-last-child(-n+#{$how-many-on-ends}) {\n// display: none;\n// }\n\n// // Show the first group together if \"active\" comes before them\n// &~li:nth-child(-n+#{$how-many-on-ends}) {\n// //display: inline-block;\n// display: inline-flex;\n// flex-direction: row;\n// }\n\n// // If \"active\" is before the last member in the group, don't show ellipsis\n// &~li:nth-child(-n+#{$how-many-on-ends - 1}) {\n// &:after {\n// display: none;\n// }\n// }\n\n\n// // The child at the end of the first group shows ellipsis for the group\n// &~li:nth-child(#{$how-many-on-ends}) {\n// &:after {\n// @include ellipsis(false);\n// }\n// }\n// }\n// }\n// }\n// }\n\n@media (min-width: 400px) {\n li {\n\n &:first-child,\n &.active-sibling,\n &.active,\n &.active+li,\n &:last-child {\n //display: inline-block!important;\n display: inline-flex !important;\n flex-direction: row;\n }\n\n // There are >= 7 pages\n &:first-child:nth-last-child(n+8) {\n $how-many-on-ends: 5; // 1,2,3,4,5,...,10 || 1,...6,7,8,9,10\n\n &~li {\n // Start out with all siblings hidden\n display: none;\n\n // Show ellipsis before the previous one\n &.active-sibling:before {\n @include ellipsis(true);\n }\n\n // Show ellipsis after the next one\n &.active+li:after {\n @include ellipsis(false);\n }\n\n // Show the last children in the list by default\n &:nth-last-child(-n+#{$how-many-on-ends}) {\n //display: inline-block;\n display: inline-flex;\n flex-direction: row;\n }\n\n // The child at the beginning of the last group shows ellipsis for the group\n &:nth-last-child(#{$how-many-on-ends}) {\n &:before {\n @include ellipsis(true);\n }\n }\n\n // The very beginning elements do not need to show ellipsis\n &:nth-child(-n+#{$how-many-on-ends - 3}),\n // The very end elements do not need to show ellipsis\n &:nth-last-child(-n+#{$how-many-on-ends - 3}),\n // Even if it's a sibling to \"active\"\n &.active-sibling:nth-last-child(-n+#{$how-many-on-ends - 1}) {\n\n &:before,\n &:after {\n display: none !important;\n }\n }\n }\n\n &.active,\n &~li.active {\n\n // Hide the last group if \"active\" comes before them\n &~li:nth-last-child(-n+#{$how-many-on-ends}) {\n display: none;\n\n // If there is overlap, the element will show, but hide it's ellipsis\n &:before {\n display: none;\n }\n }\n\n // Show the first group together if \"active\" comes before them\n &~li:nth-child(-n+#{$how-many-on-ends}) {\n //display: inline-block;\n display: inline-flex !important;\n flex-direction: row;\n }\n\n // If \"active\" is before the last member in the group, don't show ellipsis\n &~li:nth-child(-n+#{$how-many-on-ends - 1}) {\n &:after {\n display: none;\n }\n }\n\n\n // The child at the end of the first group shows ellipsis for the group\n &~li:nth-child(#{$how-many-on-ends}) {\n &:after {\n @include ellipsis(false);\n }\n }\n\n // \"active\" should never show ellipsis\n &:before,\n &:after {\n display: none;\n }\n }\n }\n }\n}","import { Component, h, Element, Event, EventEmitter, Prop, State, Listen } from '@stencil/core';\n \n\n@Component({\n tag: 'ifx-pagination',\n styleUrl: 'pagination.scss',\n shadow: true\n})\nexport class Pagination {\n @Element() el;\n @Event() ifxPageChange: EventEmitter;\n @Prop() currentPage: number = 0;\n @State() internalPage: number = 1;\n @State() internalItemsPerPage: number = 10;\n @State() numberOfPages: number[] = [];\n @Prop() total: number = 1;\n @Prop() itemsPerPage: any[] | string;\n @State() filteredItemsPerPage: any[]\n\n private CLASS_DISABLED = \"disabled\"\n private CLASS_ACTIVE = \"active\"\n private CLASS_SIBLING_ACTIVE = \"active-sibling\"\n private DATA_KEY = \"pagination\";\n\n @Listen('ifxSelect')\n setItemsPerPage(e) {\n if(e.detail) {\n this.internalItemsPerPage = parseInt(e.detail.label)\n } else { \n this.internalItemsPerPage = 10;\n }\n }\n\n componentDidLoad() {\n this.calculateVisiblePageIndices()\n var paginationElement = this.el.shadowRoot.querySelector(\".pagination\");\n let leftArrow = paginationElement.querySelector('.prev')\n this.navigateSinglePage(leftArrow, true)\n\n }\n\n calculateNumberOfPages() {\n if (isNaN(this.currentPage)) {\n this.currentPage = 1;\n }\n const total = this.total <= this.internalItemsPerPage ? this.internalItemsPerPage : this.total;\n const itemsPerPage = this.internalItemsPerPage;\n const totalPageNumber = Math.ceil(total / itemsPerPage);\n\n if (this.currentPage <= 0) {\n this.internalPage = 1;\n } else if (this.currentPage > totalPageNumber) {\n this.internalPage = totalPageNumber;\n } else this.internalPage = this.currentPage;\n\n this.numberOfPages = Array.from({ length: totalPageNumber }, (_, index) => index + 1);\n }\n\n filterOptionsArray() { \n let obj: any[] = Array.isArray(this.itemsPerPage) ? this.itemsPerPage : JSON.parse(this.itemsPerPage);\n for(let i = 0; i < obj.length; i++) { \n let item = obj[i];\n if(!item.label) { \n item.label = item.value;\n }\n }\n this.filteredItemsPerPage = obj;\n }\n\n componentWillLoad() {\n this.calculateNumberOfPages()\n this.filterOptionsArray()\n }\n\n componentDidUpdate() {\n var paginationElement = this.el.shadowRoot.querySelector(\".pagination\");\n var listItems = paginationElement.querySelectorAll(\"li\");\n this.addEventListenersToPageItems(listItems, paginationElement)\n\n if (paginationElement.dataset[this.DATA_KEY] < this.numberOfPages) {\n paginationElement.dataset[this.DATA_KEY] = paginationElement.dataset[this.DATA_KEY];\n } else paginationElement.dataset[this.DATA_KEY] = 0;\n\n this.changePage(paginationElement, false)\n }\n\n componentWillUpdate() {\n this.calculateNumberOfPages()\n }\n\n handleEventEmission(currActive) {\n let currentPage = currActive + 1;\n let totalPages = this.numberOfPages.length;\n let prevPage = currActive === 0 ? null : currActive;\n let nextPage = currActive + 2 > totalPages ? null : currActive + 2;\n let itemsPerPage = this.internalItemsPerPage\n this.ifxPageChange.emit({ currentPage, totalPages, prevPage, nextPage, itemsPerPage })\n }\n\n addEventListenersToPageItems(listItems, paginationContainer) {\n listItems.forEach((item) => {\n item.addEventListener(\"click\", (e) => {\n var parent = paginationContainer;\n let listItems = parent.querySelectorAll(\"li\");\n parent.dataset[this.DATA_KEY] = Array.from(listItems).indexOf(e.currentTarget)\n this.changePage(parent, false)\n });\n });\n }\n\n initPagination(paginationContainer) {\n var listItems = paginationContainer.querySelectorAll(\"li\");\n\n paginationContainer.dataset[this.DATA_KEY] = Array.from(listItems).indexOf(paginationContainer.querySelector(\".active\"));\n\n paginationContainer.querySelector(\".prev\").addEventListener(\"click\", (e) => this.navigateSinglePage(e, false));\n paginationContainer.querySelector(\".next\").addEventListener(\"click\", (e) => this.navigateSinglePage(e, false));\n\n this.addEventListenersToPageItems(listItems, paginationContainer)\n }\n\n navigateSinglePage(e, initialValue) {\n let el = e;\n if (typeof e.target === 'object') {\n el = e.target\n }\n\n if (!el.classList.contains(this.CLASS_DISABLED)) {\n var parent = el.closest(\".pagination\");\n var currActive = parseInt(parent.dataset[this.DATA_KEY], 10);\n currActive += 1 * (el.classList.contains(\"prev\") ? -1 : 1);\n\n if (currActive === -1) {\n currActive = 0;\n }\n\n parent.dataset[this.DATA_KEY] = currActive;\n this.changePage(parent, initialValue)\n }\n }\n\n changePage(pagination, initialValue) {\n const paginationContainer = pagination;\n var listItems = paginationContainer.querySelectorAll(\"li\");\n var currActive = parseInt(paginationContainer.dataset[this.DATA_KEY], 10);\n\n listItems.forEach((item) => {\n item.classList.remove(this.CLASS_ACTIVE);\n item.classList.remove(this.CLASS_SIBLING_ACTIVE);\n });\n\n if (initialValue && this.internalPage > 1) {\n currActive = Math.floor(this.internalPage - 1);\n paginationContainer.dataset[this.DATA_KEY] = currActive;\n }\n\n this.handleEventEmission(currActive)\n\n listItems[currActive].classList.add(this.CLASS_ACTIVE);\n\n if (currActive === 0) {\n paginationContainer.querySelector(\".prev\").classList.add(this.CLASS_DISABLED);\n paginationContainer.querySelector(\".prev\").disabled = true;\n\n } else {\n listItems[currActive - 1].classList.add(this.CLASS_SIBLING_ACTIVE);\n paginationContainer.querySelector(\".prev\").classList.remove(this.CLASS_DISABLED);\n paginationContainer.querySelector(\".prev\").disabled = false;\n }\n\n if (currActive === (listItems.length - 1)) {\n paginationContainer.querySelector(\".next\").classList.add(this.CLASS_DISABLED);\n paginationContainer.querySelector(\".next\").disabled = true;\n\n } else {\n paginationContainer.querySelector(\".next\").classList.remove(this.CLASS_DISABLED);\n paginationContainer.querySelector(\".next\").disabled = false;\n }\n }\n\n calculateVisiblePageIndices() {\n var paginationElement = this.el.shadowRoot.querySelector(\".pagination\");\n this.initPagination(paginationElement)\n }\n\n render() {\n return (\n <div aria-label='a pagination' aria-value={this.currentPage} class=\"container\">\n <div class='items__per-page-wrapper'>\n <div class='items__per-page-label'>Results per Page</div>\n <div class='items__per-page-field'>\n <ifx-select\n value='undefined'\n size='s'\n placeholder='false'\n show-search='false'\n search-placeholder-value='Search...'\n disabled={false}\n error={false}\n error-message='Error'\n label=''\n placeholder-value='Placeholder'\n options={this.filteredItemsPerPage} >\n </ifx-select>\n </div>\n </div>\n <div class='items__total-wrapper'>\n <div class='page__numbers-wrapper'>\n <div class=\"pagination\">\n <ifx-icon-button variant='secondary' class=\"prev\" color='primary' icon='arrow-left-24'></ifx-icon-button>\n <ol>\n {this.numberOfPages.map((item) =>\n <li class={`${this.internalPage === item ? 'active' : \"\"}`}><a href={undefined}>{item}</a></li>)}\n </ol>\n <ifx-icon-button class=\"next\" variant='secondary' color='primary' icon='arrow-right-24'></ifx-icon-button>\n </div>\n </div>\n </div>\n </div>\n );\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as e,c as i,g as r}from"./p-e6edf72d.js";import{c as n}from"./p-5cdc6210.js";const o=":host{display:inline-block}.spinner{position:relative;width:40px;height:40px}.spinner.s{width:24px;height:24px}.border{box-sizing:border-box;position:absolute;width:100%;height:100%;border:4px solid transparent;border-top-color:#0A8276;border-left-color:#0A8276;border-right-color:#0A8276;border-top-left-radius:1px;border-top-right-radius:1px;border-radius:50%;animation:spin 2s linear infinite}.border.inverted{border-top-color:#FFFFFF;border-left-color:#FFFFFF;border-right-color:#FFFFFF}.semiconductor{width:100%;height:100%;animation:spin 2s linear infinite}.semiconductor svg{fill:#0A8276}.semiconductor.inverted svg{fill:#FFFFFF}.semiconductor.s svg{width:24px;height:24px}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}";const s=o;const a=class{constructor(e){t(this,e);this.inverted=false}render(){return e("div",{key:"652c6fe6e0a08e3cf7238af351918a0c47fed005","aria-label":"spinner indicating a loading process",class:this.getClassNames()},e("div",{key:"03c1c7e9f20a988d3be881acf2e4e392e699fab2",class:`${this.variant!=="brand"?"border":""} ${this.inverted?"inverted":""}`}),this.variant==="brand"&&e("div",{key:"84486975487322399e1558b7184827e958f68f36",class:`semiconductor ${this.inverted?"inverted":""} ${this.getSizeClass()}`},e("svg",{key:"75095cf14fc4379ad614d19f3f17fbcc45522893",width:"40",height:"40",viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e("g",{key:"ac75f21b37bef789cac77fb0ba7ad32d137a059a",id:"spinner/conductor"},e("path",{key:"abec474d103c502e803abb0dc2b394200b6349bc",id:"Vector",d:"M38.75 18.75C39.4375 18.75 40 19.3125 40 20C40 20.6875 39.4409 21.25 38.75 21.25H35V26.25H38.75C39.4375 26.25 40 26.8125 40 27.5C40 28.1875 39.4409 28.75 38.75 28.75H35V30C35 32.7617 32.7617 35 30 35H28.75V38.75C28.75 39.4409 28.1875 40 27.5 40C26.8125 40 26.25 39.4409 26.25 38.75V35H21.25V38.75C21.25 39.4409 20.6875 40 20 40C19.3125 40 18.75 39.4409 18.75 38.75V35H13.75V38.75C13.75 39.4409 13.1875 40 12.5 40C11.8125 40 11.25 39.4409 11.25 38.75V35H10C7.23828 35 5 32.7617 5 30V28.75H1.25C0.559062 28.75 0 28.1875 0 27.5C0 26.8125 0.559062 26.25 1.25 26.25H5V21.25H1.25C0.559062 21.25 0 20.6875 0 20C0 19.3125 0.559062 18.75 1.25 18.75H5V13.75H1.25C0.559062 13.75 0 13.1875 0 12.5C0 11.8125 0.559062 11.25 1.25 11.25H5V10C5 7.23828 7.23828 5 10 5H11.25V1.25C11.25 0.5625 11.8125 0 12.5 0C13.1875 0 13.75 0.559063 13.75 1.25V5H18.75V1.25C18.75 0.559063 19.3091 0 20 0C20.6909 0 21.25 0.559063 21.25 1.25V5H26.25V1.25C26.25 0.559063 26.8091 0 27.5 0C28.1909 0 28.75 0.559063 28.75 1.25V5H30C32.7617 5 35 7.23828 35 10V11.25H38.75C39.4409 11.25 40 11.8091 40 12.5C40 13.1909 39.4409 13.75 38.75 13.75H35V18.75H38.75ZM32.5 10C32.5 8.62188 31.3781 7.5 30 7.5H10C8.62187 7.5 7.5 8.62188 7.5 10V30C7.5 31.3781 8.62187 32.5 10 32.5H30C31.3781 32.5 32.5 31.3781 32.5 30V10Z"})))))}getSizeClass(){return`${this.size}`==="s"?"s":""}getClassNames(){return n("spinner",this.size&&`spinner ${this.getSizeClass()}`)}};a.style=s;const p=':root{font-family:"Source Sans 3", sans-serif}:host{display:flex}.textInput__container{display:flex;flex-direction:column;align-items:flex-start;padding:0px;width:100%;flex:none;order:0;align-self:stretch;flex-grow:0;font-family:"Source Sans 3"}.textInput__container.disabled .textInput__top-wrapper label{color:#575352}.textInput__container.disabled .textInput__bottom-wrapper input{border:1px solid #575352;background-color:#EEEDED}.textInput__container.disabled .textInput__bottom-wrapper input::placeholder{font-size:0.875rem;color:#575352}.textInput__container .textInput__top-wrapper{display:flex;flex-direction:row;align-items:flex-start;padding:0px;gap:4px;flex:none;order:0;align-self:stretch;flex-grow:0}.textInput__container .textInput__top-wrapper label{font-style:normal;font-weight:400;font-size:1rem;line-height:1.5rem;display:flex;align-items:center;color:#1D1D1D;flex:none;order:0;flex-grow:0}.textInput__container .textInput__top-wrapper label .optional-required{margin-left:4px}.textInput__container .textInput__top-wrapper label .optional{margin-left:4px}.textInput__container .textInput__top-wrapper label .required{margin-left:4px}.textInput__container .textInput__top-wrapper label .required.error{color:#CD002F}.textInput__container .input-container{position:relative;display:flex;align-items:center;width:100%}.textInput__container .textInput__bottom-wrapper{flex-grow:1;position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:0px;gap:4px;flex:none;order:1;align-self:stretch;flex-grow:0}.textInput__container .textInput__bottom-wrapper input{width:100%;box-sizing:border-box;display:flex;flex-direction:row;align-items:center;padding:8px 16px;gap:8px;height:40px;background-color:#FFFFFF;color:#1D1D1D;font-family:"Source Sans 3";font-size:1rem;line-height:1.5rem;border:1px solid #8D8786;border-radius:1px;flex:none;order:0;align-self:stretch;flex-grow:0;text-overflow:ellipsis}.textInput__container .textInput__bottom-wrapper input.input-s{height:36px;font-size:0.875rem;line-height:1.25rem}.textInput__container .textInput__bottom-wrapper input.input-s::placeholder{font-size:0.875rem;line-height:1.25rem}.textInput__container .textInput__bottom-wrapper input.icon{padding-left:40px}.textInput__container .textInput__bottom-wrapper input.error{border:1px solid #CD002F}.textInput__container .textInput__bottom-wrapper input.error:focus{outline:none}.textInput__container .textInput__bottom-wrapper input.success{border:1px solid #4CA460}.textInput__container .textInput__bottom-wrapper input.success:focus{outline:none}.textInput__container .textInput__bottom-wrapper input:focus:not(.error,.success){outline:none;border:1px solid #0A8276}.textInput__container .textInput__bottom-wrapper input:hover:not(:disabled,:focus,.error,.success){border:1px solid #575352}.textInput__container .textInput__bottom-wrapper input::placeholder{font-style:normal;font-weight:400;font-size:1rem;line-height:1.5rem;color:#8D8786;flex:none;order:1;flex-grow:1}.textInput__container .textInput__bottom-wrapper .input-icon{position:absolute;top:50%;transform:translateY(-50%);left:16px;transition:0.3s;color:#8D8786}.textInput__container .textInput__bottom-wrapper .textInput__bottom-wrapper-caption{font-style:normal;font-weight:400;font-size:0.75rem;line-height:1rem;letter-spacing:0.2px;color:#1D1D1D;flex:none;order:1;align-self:stretch;flex-grow:0}.textInput__container .textInput__bottom-wrapper .textInput__bottom-wrapper-caption.error{color:#CD002F}.textInput__container .textInput__bottom-wrapper .textInput__bottom-wrapper-caption.disabled{color:#575352}.textInput__container .delete-icon{position:absolute;right:16px}.textInput__container .delete-icon :hover{cursor:pointer}';const l=p;const c=class{constructor(e){t(this,e);this.ifxInput=i(this,"ifxInput",7);if(e.$hostElement$["s-ei"]){this.internals=e.$hostElement$["s-ei"]}else{this.internals=e.$hostElement$.attachInternals();e.$hostElement$["s-ei"]=this.internals}this.placeholder="Placeholder";this.value="";this.error=false;this.label="";this.icon="";this.caption="";this.size="m";this.required=false;this.optional=false;this.success=false;this.disabled=false;this.showDeleteIcon=false;this.autocomplete="on";this.type="text";this.internalId="text-field"}valueWatcher(t){if(t!==this.inputElement.value){this.inputElement.value=t}}async reset(){this.value="";this.inputElement.value=""}handleDeleteContent(){this.reset();this.ifxInput.emit(this.value)}handleInput(){const t=this.inputElement.value;this.value=t;this.internals.setFormValue(t);this.ifxInput.emit(this.value)}handleTypeProp(){this.internalType=this.type==="text"||this.type==="password"?this.type:"text"}formResetCallback(){this.internals.setValidity({});this.internals.setFormValue("")}componentWillLoad(){this.handleTypeProp()}render(){return e("div",{key:"582030cd80a25e8961e3bf36f78d743ae21f7cc7","aria-label":"a text field for user input","aria-value":this.value,"aria-disabled":this.disabled,class:`textInput__container ${this.disabled?"disabled":""}`},e("div",{key:"ae7d79533a7cb384c4eb42aa04c10c0df9384069",class:"textInput__top-wrapper"},e("label",{key:"79e233964514cc87bca4d8f91caa1cd8570e3265",htmlFor:this.internalId},e("slot",{key:"46a1155d3de1f75344a7fa00286ecc2924b0f2fb"}),this.optional&&this.required?e("span",{class:"optional-required"},"(optional) *"):this.optional?e("span",{class:"optional"},"(optional)"):this.required?e("span",{class:`required ${this.error?"error":""}`},"*"):null)),e("div",{key:"69373ab3734b9bce032843336c8cea85b5b183d6",class:"textInput__bottom-wrapper"},e("div",{key:"345b0f6731cd0f3ccce9b25118bf6fe95f400b4a",class:"input-container"},this.icon&&e("ifx-icon",{key:"cd4171b329389594190611b9c026ece9454dfd13",class:"input-icon",icon:this.icon}),e("input",{key:"3b9cc25c0d3369bac079b681c05fe2c8fb224f0e",ref:t=>this.inputElement=t,disabled:this.disabled,autocomplete:this.autocomplete,type:this.internalType,id:this.internalId,value:this.value,onInput:()=>this.handleInput(),placeholder:this.placeholder,maxlength:this.maxlength,class:`${this.icon?"icon":""}\n ${this.error?"error":""} \n ${this.size==="s"?"input-s":""}\n ${this.success?"success":""}`}),this.showDeleteIcon&&this.value&&e("ifx-icon",{key:"4576d8ee4dc4e78d0b6206fe0e4cbe7fa49ce557",class:"delete-icon",icon:"cremove16",onClick:()=>this.handleDeleteContent()})),this.caption&&!this.error&&e("div",{key:"07198155e906c56d4c5e52392e193bfc31ecf58e",class:`textInput__bottom-wrapper-caption ${this.disabled} ? disabled : ""`},this.caption),this.error&&e("div",{key:"59b7eb623d6e836087491f328de218267140f7b9",class:"textInput__bottom-wrapper-caption error"},this.caption)))}static get formAssociated(){return true}get el(){return r(this)}static get watchers(){return{value:["valueWatcher"]}}};c.style=l;export{a as ifx_spinner,c as ifx_text_field};
2
+ //# sourceMappingURL=p-a1bb909f.entry.js.map