@infineon/infineon-design-system-stencil 39.4.4--canary.2130.4e289d5eee4c0769b9458514c7fb228750796ed6.0 → 39.4.4--canary.1723.72d4b66375fecde1ebf334fa524d5d0f7ab3c974.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 (786) hide show
  1. package/dist/cjs/ifx-accordion_2.cjs.entry.js +3 -1
  2. package/dist/cjs/ifx-accordion_2.cjs.entry.js.map +1 -0
  3. package/dist/cjs/ifx-action-list-item.cjs.entry.js +3 -1
  4. package/dist/cjs/ifx-action-list-item.cjs.entry.js.map +1 -0
  5. package/dist/cjs/ifx-action-list.cjs.entry.js +3 -1
  6. package/dist/cjs/ifx-action-list.cjs.entry.js.map +1 -0
  7. package/dist/cjs/ifx-alert_2.cjs.entry.js +3 -1
  8. package/dist/cjs/ifx-alert_2.cjs.entry.js.map +1 -0
  9. package/dist/cjs/ifx-basic-table.cjs.entry.js +3 -1
  10. package/dist/cjs/ifx-basic-table.cjs.entry.js.map +1 -0
  11. package/dist/cjs/ifx-breadcrumb-item-label.cjs.entry.js +3 -1
  12. package/dist/cjs/ifx-breadcrumb-item-label.cjs.entry.js.map +1 -0
  13. package/dist/cjs/ifx-breadcrumb-item.cjs.entry.js +3 -1
  14. package/dist/cjs/ifx-breadcrumb-item.cjs.entry.js.map +1 -0
  15. package/dist/cjs/ifx-breadcrumb.cjs.entry.js +3 -1
  16. package/dist/cjs/ifx-breadcrumb.cjs.entry.js.map +1 -0
  17. package/dist/cjs/ifx-button.cjs.entry.js +3 -1
  18. package/dist/cjs/ifx-button.cjs.entry.js.map +1 -0
  19. package/dist/cjs/ifx-card-headline.cjs.entry.js +3 -1
  20. package/dist/cjs/ifx-card-headline.cjs.entry.js.map +1 -0
  21. package/dist/cjs/ifx-card-image.cjs.entry.js +3 -1
  22. package/dist/cjs/ifx-card-image.cjs.entry.js.map +1 -0
  23. package/dist/cjs/ifx-card-links.cjs.entry.js +3 -1
  24. package/dist/cjs/ifx-card-links.cjs.entry.js.map +1 -0
  25. package/dist/cjs/ifx-card-overline.cjs.entry.js +3 -1
  26. package/dist/cjs/ifx-card-overline.cjs.entry.js.map +1 -0
  27. package/dist/cjs/ifx-card-text.cjs.entry.js +3 -1
  28. package/dist/cjs/ifx-card-text.cjs.entry.js.map +1 -0
  29. package/dist/cjs/ifx-card.cjs.entry.js +3 -1
  30. package/dist/cjs/ifx-card.cjs.entry.js.map +1 -0
  31. package/dist/cjs/ifx-checkbox-group.cjs.entry.js +3 -1
  32. package/dist/cjs/ifx-checkbox-group.cjs.entry.js.map +1 -0
  33. package/dist/cjs/ifx-checkbox.cjs.entry.js +3 -1
  34. package/dist/cjs/ifx-checkbox.cjs.entry.js.map +1 -0
  35. package/dist/cjs/ifx-chip_3.cjs.entry.js +3 -1
  36. package/dist/cjs/ifx-chip_3.cjs.entry.js.map +1 -0
  37. package/dist/cjs/ifx-content-switcher-item.cjs.entry.js +3 -1
  38. package/dist/cjs/ifx-content-switcher-item.cjs.entry.js.map +1 -0
  39. package/dist/cjs/ifx-content-switcher.cjs.entry.js +3 -1
  40. package/dist/cjs/ifx-content-switcher.cjs.entry.js.map +1 -0
  41. package/dist/cjs/ifx-date-picker.cjs.entry.js +3 -1
  42. package/dist/cjs/ifx-date-picker.cjs.entry.js.map +1 -0
  43. package/dist/cjs/ifx-download.cjs.entry.js +3 -1
  44. package/dist/cjs/ifx-download.cjs.entry.js.map +1 -0
  45. package/dist/cjs/ifx-dropdown-header.cjs.entry.js +3 -1
  46. package/dist/cjs/ifx-dropdown-header.cjs.entry.js.map +1 -0
  47. package/dist/cjs/ifx-dropdown-item.cjs.entry.js +3 -1
  48. package/dist/cjs/ifx-dropdown-item.cjs.entry.js.map +1 -0
  49. package/dist/cjs/ifx-dropdown-menu.cjs.entry.js +3 -1
  50. package/dist/cjs/ifx-dropdown-menu.cjs.entry.js.map +1 -0
  51. package/dist/cjs/ifx-dropdown-separator.cjs.entry.js +3 -1
  52. package/dist/cjs/ifx-dropdown-separator.cjs.entry.js.map +1 -0
  53. package/dist/cjs/ifx-dropdown-trigger-button.cjs.entry.js +3 -1
  54. package/dist/cjs/ifx-dropdown-trigger-button.cjs.entry.js.map +1 -0
  55. package/dist/cjs/ifx-dropdown-trigger.cjs.entry.js +3 -1
  56. package/dist/cjs/ifx-dropdown-trigger.cjs.entry.js.map +1 -0
  57. package/dist/cjs/ifx-dropdown.cjs.entry.js +3 -1
  58. package/dist/cjs/ifx-dropdown.cjs.entry.js.map +1 -0
  59. package/dist/cjs/ifx-faq.cjs.entry.js +3 -1
  60. package/dist/cjs/ifx-faq.cjs.entry.js.map +1 -0
  61. package/dist/cjs/ifx-file-upload.cjs.entry.js +3 -1
  62. package/dist/cjs/ifx-file-upload.cjs.entry.js.map +1 -0
  63. package/dist/cjs/ifx-filter-accordion.cjs.entry.js +3 -1
  64. package/dist/cjs/ifx-filter-accordion.cjs.entry.js.map +1 -0
  65. package/dist/cjs/ifx-filter-bar.cjs.entry.js +3 -1
  66. package/dist/cjs/ifx-filter-bar.cjs.entry.js.map +1 -0
  67. package/dist/cjs/ifx-filter-search.cjs.entry.js +3 -1
  68. package/dist/cjs/ifx-filter-search.cjs.entry.js.map +1 -0
  69. package/dist/cjs/ifx-filter-type-group.cjs.entry.js +3 -1
  70. package/dist/cjs/ifx-filter-type-group.cjs.entry.js.map +1 -0
  71. package/dist/cjs/ifx-footer-column.cjs.entry.js +3 -1
  72. package/dist/cjs/ifx-footer-column.cjs.entry.js.map +1 -0
  73. package/dist/cjs/ifx-footer.cjs.entry.js +3 -1
  74. package/dist/cjs/ifx-footer.cjs.entry.js.map +1 -0
  75. package/dist/cjs/ifx-icon-button.cjs.entry.js +3 -1
  76. package/dist/cjs/ifx-icon-button.cjs.entry.js.map +1 -0
  77. package/dist/cjs/ifx-icon.cjs.entry.js +3 -1
  78. package/dist/cjs/ifx-icon.cjs.entry.js.map +1 -0
  79. package/dist/cjs/ifx-icons-preview.cjs.entry.js +3 -1
  80. package/dist/cjs/ifx-icons-preview.cjs.entry.js.map +1 -0
  81. package/dist/cjs/ifx-indicator.cjs.entry.js +3 -1
  82. package/dist/cjs/ifx-indicator.cjs.entry.js.map +1 -0
  83. package/dist/cjs/ifx-link.cjs.entry.js +3 -1
  84. package/dist/cjs/ifx-link.cjs.entry.js.map +1 -0
  85. package/dist/cjs/ifx-list-entry.cjs.entry.js +3 -1
  86. package/dist/cjs/ifx-list-entry.cjs.entry.js.map +1 -0
  87. package/dist/cjs/ifx-list.cjs.entry.js +3 -1
  88. package/dist/cjs/ifx-list.cjs.entry.js.map +1 -0
  89. package/dist/cjs/ifx-modal.cjs.entry.js +3 -1
  90. package/dist/cjs/ifx-modal.cjs.entry.js.map +1 -0
  91. package/dist/cjs/ifx-modal.entry.cjs.js.map +1 -1
  92. package/dist/cjs/ifx-multiselect_2.cjs.entry.js +3 -1
  93. package/dist/cjs/ifx-multiselect_2.cjs.entry.js.map +1 -0
  94. package/dist/cjs/ifx-navbar-item.cjs.entry.js +3 -1
  95. package/dist/cjs/ifx-navbar-item.cjs.entry.js.map +1 -0
  96. package/dist/cjs/ifx-navbar-profile.cjs.entry.js +3 -1
  97. package/dist/cjs/ifx-navbar-profile.cjs.entry.js.map +1 -0
  98. package/dist/cjs/ifx-navbar.cjs.entry.js +3 -1
  99. package/dist/cjs/ifx-navbar.cjs.entry.js.map +1 -0
  100. package/dist/cjs/ifx-notification.cjs.entry.js +3 -1
  101. package/dist/cjs/ifx-notification.cjs.entry.js.map +1 -0
  102. package/dist/cjs/ifx-overview-table.cjs.entry.js +3 -1
  103. package/dist/cjs/ifx-overview-table.cjs.entry.js.map +1 -0
  104. package/dist/cjs/ifx-progress-bar.cjs.entry.js +3 -1
  105. package/dist/cjs/ifx-progress-bar.cjs.entry.js.map +1 -0
  106. package/dist/cjs/ifx-radio-button-group.cjs.entry.js +3 -1
  107. package/dist/cjs/ifx-radio-button-group.cjs.entry.js.map +1 -0
  108. package/dist/cjs/ifx-radio-button.cjs.entry.js +3 -1
  109. package/dist/cjs/ifx-radio-button.cjs.entry.js.map +1 -0
  110. package/dist/cjs/ifx-search-bar.cjs.entry.js +3 -1
  111. package/dist/cjs/ifx-search-bar.cjs.entry.js.map +1 -0
  112. package/dist/cjs/ifx-search-field.cjs.entry.js +3 -1
  113. package/dist/cjs/ifx-search-field.cjs.entry.js.map +1 -0
  114. package/dist/cjs/ifx-segment.cjs.entry.js +3 -1
  115. package/dist/cjs/ifx-segment.cjs.entry.js.map +1 -0
  116. package/dist/cjs/ifx-segmented-control.cjs.entry.js +3 -1
  117. package/dist/cjs/ifx-segmented-control.cjs.entry.js.map +1 -0
  118. package/dist/cjs/ifx-select.cjs.entry.js +3 -1
  119. package/dist/cjs/ifx-select.cjs.entry.js.map +1 -0
  120. package/dist/cjs/ifx-set-filter.cjs.entry.js +3 -1
  121. package/dist/cjs/ifx-set-filter.cjs.entry.js.map +1 -0
  122. package/dist/cjs/ifx-sidebar-item.cjs.entry.js +3 -1
  123. package/dist/cjs/ifx-sidebar-item.cjs.entry.js.map +1 -0
  124. package/dist/cjs/ifx-sidebar-title.cjs.entry.js +3 -1
  125. package/dist/cjs/ifx-sidebar-title.cjs.entry.js.map +1 -0
  126. package/dist/cjs/ifx-sidebar.cjs.entry.js +3 -1
  127. package/dist/cjs/ifx-sidebar.cjs.entry.js.map +1 -0
  128. package/dist/cjs/ifx-slider.cjs.entry.js +3 -1
  129. package/dist/cjs/ifx-slider.cjs.entry.js.map +1 -0
  130. package/dist/cjs/ifx-spinner_2.cjs.entry.js +3 -1
  131. package/dist/cjs/ifx-spinner_2.cjs.entry.js.map +1 -0
  132. package/dist/cjs/ifx-status.cjs.entry.js +3 -1
  133. package/dist/cjs/ifx-status.cjs.entry.js.map +1 -0
  134. package/dist/cjs/ifx-step.cjs.entry.js +3 -1
  135. package/dist/cjs/ifx-step.cjs.entry.js.map +1 -0
  136. package/dist/cjs/ifx-stepper.cjs.entry.js +3 -1
  137. package/dist/cjs/ifx-stepper.cjs.entry.js.map +1 -0
  138. package/dist/cjs/ifx-switch.cjs.entry.js +3 -1
  139. package/dist/cjs/ifx-switch.cjs.entry.js.map +1 -0
  140. package/dist/cjs/ifx-tab.cjs.entry.js +3 -1
  141. package/dist/cjs/ifx-tab.cjs.entry.js.map +1 -0
  142. package/dist/cjs/ifx-table.cjs.entry.js +3 -1
  143. package/dist/cjs/ifx-table.cjs.entry.js.map +1 -0
  144. package/dist/cjs/ifx-table.entry.cjs.js.map +1 -1
  145. package/dist/cjs/ifx-tabs.cjs.entry.js +3 -1
  146. package/dist/cjs/ifx-tabs.cjs.entry.js.map +1 -0
  147. package/dist/cjs/ifx-templates-ui.cjs.entry.js +3 -1
  148. package/dist/cjs/ifx-templates-ui.cjs.entry.js.map +1 -0
  149. package/dist/cjs/ifx-textarea.cjs.entry.js +3 -1
  150. package/dist/cjs/ifx-textarea.cjs.entry.js.map +1 -0
  151. package/dist/cjs/ifx-tooltip.cjs.entry.js +3 -1
  152. package/dist/cjs/ifx-tooltip.cjs.entry.js.map +1 -0
  153. package/dist/cjs/ifx-tree-view-item.cjs.entry.js +3 -1
  154. package/dist/cjs/ifx-tree-view-item.cjs.entry.js.map +1 -0
  155. package/dist/cjs/ifx-tree-view.cjs.entry.js +3 -1
  156. package/dist/cjs/ifx-tree-view.cjs.entry.js.map +1 -0
  157. package/dist/cjs/{index-DDktl7Xq.js → index-Dc5gCGlQ.js} +31 -88
  158. package/dist/cjs/index-Dc5gCGlQ.js.map +1 -0
  159. package/dist/cjs/index.cjs.js +2 -0
  160. package/dist/cjs/infineon-design-system-stencil.cjs.js +5 -3
  161. package/dist/cjs/infineon-design-system-stencil.cjs.js.map +1 -1
  162. package/dist/cjs/loader.cjs.js +4 -2
  163. package/dist/collection/collection-manifest.json +2 -2
  164. package/dist/collection/components/accordion/accordion.js +1 -1
  165. package/dist/collection/components/accordion/accordionItem.js +4 -4
  166. package/dist/collection/components/action-list/action-list-item.js +12 -12
  167. package/dist/collection/components/action-list/action-list.js +2 -2
  168. package/dist/collection/components/alert/alert.js +5 -5
  169. package/dist/collection/components/breadcrumb/breadcrumb-item-label.js +5 -5
  170. package/dist/collection/components/button/button.js +11 -11
  171. package/dist/collection/components/card/card-image/card-image.js +6 -6
  172. package/dist/collection/components/card/card.js +5 -5
  173. package/dist/collection/components/checkbox/checkbox.js +7 -7
  174. package/dist/collection/components/checkbox-group/checkbox-group.js +13 -13
  175. package/dist/collection/components/chip/chip-item/chip-item.js +3 -2
  176. package/dist/collection/components/chip/chip-item/chip-item.js.map +1 -1
  177. package/dist/collection/components/chip/chip.js +10 -10
  178. package/dist/collection/components/content-switcher/content-switcher-item.js +3 -3
  179. package/dist/collection/components/date-picker/date-picker.js +19 -19
  180. package/dist/collection/components/download/download.js +1 -1
  181. package/dist/collection/components/dropdown/dropdown-item/dropdown-item.js +5 -5
  182. package/dist/collection/components/dropdown/dropdown-menu/dropdown-menu.js +2 -2
  183. package/dist/collection/components/dropdown/dropdown-trigger/dropdown-trigger.js +1 -1
  184. package/dist/collection/components/dropdown/dropdown-trigger-button/dropdown-trigger-button.js +8 -8
  185. package/dist/collection/components/dropdown/dropdown.js +7 -7
  186. package/dist/collection/components/file-upload/file-upload.js +34 -33
  187. package/dist/collection/components/file-upload/file-upload.js.map +1 -1
  188. package/dist/collection/components/footer/footer.js +1 -1
  189. package/dist/collection/components/icon/infineonIconStencil.js +3 -3
  190. package/dist/collection/components/icon-button/icon-button.js +14 -14
  191. package/dist/collection/components/indicator/indicator.js +5 -5
  192. package/dist/collection/components/link/link.js +10 -10
  193. package/dist/collection/components/modal/modal.js +13 -13
  194. package/dist/collection/components/navigation/navbar/navbar-item.js +8 -8
  195. package/dist/collection/components/navigation/navbar/navbar-profile.js +6 -6
  196. package/dist/collection/components/navigation/navbar/navbar.js +5 -5
  197. package/dist/collection/components/navigation/sidebar/sidebar-item.js +8 -7
  198. package/dist/collection/components/navigation/sidebar/sidebar-item.js.map +1 -1
  199. package/dist/collection/components/navigation/sidebar/sidebar-title.js +1 -1
  200. package/dist/collection/components/navigation/sidebar/sidebar.js +12 -12
  201. package/dist/collection/components/notification/notification.js +8 -8
  202. package/dist/collection/components/pagination/pagination.js +5 -5
  203. package/dist/collection/components/progress-bar/progress-bar.js +4 -4
  204. package/dist/collection/components/radio-button/radio-button.js +9 -9
  205. package/dist/collection/components/radio-button-group/radio-button-group.js +13 -13
  206. package/dist/collection/components/search-bar/search-bar.js +7 -7
  207. package/dist/collection/components/search-field/search-field.js +24 -23
  208. package/dist/collection/components/search-field/search-field.js.map +1 -1
  209. package/dist/collection/components/segmented-control/segment/segment.js +7 -7
  210. package/dist/collection/components/segmented-control/segmented-control.js +5 -5
  211. package/dist/collection/components/select/multi-select/multiselect-option.js +5 -5
  212. package/dist/collection/components/select/multi-select/multiselect.js +27 -27
  213. package/dist/collection/components/select/single-select/select.js +86 -79
  214. package/dist/collection/components/select/single-select/select.js.map +1 -1
  215. package/dist/collection/components/slider/slider.js +22 -22
  216. package/dist/collection/components/spinner/spinner.js +7 -7
  217. package/dist/collection/components/status/status.js +4 -4
  218. package/dist/collection/components/stepper/step/step.js +6 -5
  219. package/dist/collection/components/stepper/step/step.js.map +1 -1
  220. package/dist/collection/components/stepper/stepper.js +8 -8
  221. package/dist/collection/components/switch/switch.js +5 -5
  222. package/dist/collection/components/table-advanced-version/filter-bar/filter-bar.js +2 -2
  223. package/dist/collection/components/table-advanced-version/filter-type-group/filter-accordion/filter-accordion.js +3 -3
  224. package/dist/collection/components/table-advanced-version/filter-type-group/filter-search/filter-search.js +10 -10
  225. package/dist/collection/components/table-advanced-version/list/list-entry/list-entry.js +6 -6
  226. package/dist/collection/components/table-advanced-version/list/list.js +5 -5
  227. package/dist/collection/components/table-advanced-version/set-filter/setFilter.js +9 -9
  228. package/dist/collection/components/table-advanced-version/table.js +19 -15
  229. package/dist/collection/components/table-advanced-version/table.js.map +1 -1
  230. package/dist/collection/components/table-basic-version/table.js +7 -7
  231. package/dist/collection/components/tabs/tab.js +6 -6
  232. package/dist/collection/components/tabs/tabs.js +3 -3
  233. package/dist/collection/components/templates/template/template.js +4 -4
  234. package/dist/collection/components/text-field/text-field.js +17 -17
  235. package/dist/collection/components/textarea/textarea.js +23 -23
  236. package/dist/collection/components/tooltip/tooltip.js +8 -8
  237. package/dist/collection/components/tree-view/tree-view-item.js +8 -8
  238. package/dist/collection/components/tree-view/tree-view.js +6 -6
  239. package/dist/components/ifx-accordion-item.js +1 -1
  240. package/dist/components/ifx-accordion.js +1 -1
  241. package/dist/components/ifx-action-list-item.js +2 -4
  242. package/dist/components/ifx-action-list-item.js.map +1 -1
  243. package/dist/components/ifx-action-list.js +2 -4
  244. package/dist/components/ifx-action-list.js.map +1 -1
  245. package/dist/components/ifx-alert.js +1 -1
  246. package/dist/components/ifx-basic-table.js +2 -4
  247. package/dist/components/ifx-basic-table.js.map +1 -1
  248. package/dist/components/ifx-breadcrumb-item-label.js +3 -5
  249. package/dist/components/ifx-breadcrumb-item-label.js.map +1 -1
  250. package/dist/components/ifx-breadcrumb-item.js +2 -4
  251. package/dist/components/ifx-breadcrumb-item.js.map +1 -1
  252. package/dist/components/ifx-breadcrumb.js +2 -4
  253. package/dist/components/ifx-breadcrumb.js.map +1 -1
  254. package/dist/components/ifx-button.js +1 -1
  255. package/dist/components/ifx-card-headline.js +2 -4
  256. package/dist/components/ifx-card-headline.js.map +1 -1
  257. package/dist/components/ifx-card-image.js +2 -4
  258. package/dist/components/ifx-card-image.js.map +1 -1
  259. package/dist/components/ifx-card-links.js +2 -4
  260. package/dist/components/ifx-card-links.js.map +1 -1
  261. package/dist/components/ifx-card-overline.js +2 -4
  262. package/dist/components/ifx-card-overline.js.map +1 -1
  263. package/dist/components/ifx-card-text.js +2 -4
  264. package/dist/components/ifx-card-text.js.map +1 -1
  265. package/dist/components/ifx-card.js +2 -4
  266. package/dist/components/ifx-card.js.map +1 -1
  267. package/dist/components/ifx-checkbox-group.js +3 -5
  268. package/dist/components/ifx-checkbox-group.js.map +1 -1
  269. package/dist/components/ifx-checkbox.js +1 -1
  270. package/dist/components/ifx-chip-item.js +1 -1
  271. package/dist/components/ifx-chip.js +1 -1
  272. package/dist/components/ifx-content-switcher-item.js +2 -4
  273. package/dist/components/ifx-content-switcher-item.js.map +1 -1
  274. package/dist/components/ifx-content-switcher.js +2 -4
  275. package/dist/components/ifx-content-switcher.js.map +1 -1
  276. package/dist/components/ifx-date-picker.js +3 -5
  277. package/dist/components/ifx-date-picker.js.map +1 -1
  278. package/dist/components/ifx-download.js +3 -5
  279. package/dist/components/ifx-download.js.map +1 -1
  280. package/dist/components/ifx-dropdown-header.js +2 -4
  281. package/dist/components/ifx-dropdown-header.js.map +1 -1
  282. package/dist/components/ifx-dropdown-item.js +3 -5
  283. package/dist/components/ifx-dropdown-item.js.map +1 -1
  284. package/dist/components/ifx-dropdown-menu.js +2 -4
  285. package/dist/components/ifx-dropdown-menu.js.map +1 -1
  286. package/dist/components/ifx-dropdown-separator.js +2 -4
  287. package/dist/components/ifx-dropdown-separator.js.map +1 -1
  288. package/dist/components/ifx-dropdown-trigger-button.js +4 -6
  289. package/dist/components/ifx-dropdown-trigger-button.js.map +1 -1
  290. package/dist/components/ifx-dropdown-trigger.js +2 -4
  291. package/dist/components/ifx-dropdown-trigger.js.map +1 -1
  292. package/dist/components/ifx-dropdown.js +2 -4
  293. package/dist/components/ifx-dropdown.js.map +1 -1
  294. package/dist/components/ifx-faq.js +5 -7
  295. package/dist/components/ifx-faq.js.map +1 -1
  296. package/dist/components/ifx-file-upload.js +7 -9
  297. package/dist/components/ifx-file-upload.js.map +1 -1
  298. package/dist/components/ifx-filter-accordion.js +4 -6
  299. package/dist/components/ifx-filter-accordion.js.map +1 -1
  300. package/dist/components/ifx-filter-bar.js +4 -6
  301. package/dist/components/ifx-filter-bar.js.map +1 -1
  302. package/dist/components/ifx-filter-search.js +4 -6
  303. package/dist/components/ifx-filter-search.js.map +1 -1
  304. package/dist/components/ifx-filter-type-group.js +2 -4
  305. package/dist/components/ifx-filter-type-group.js.map +1 -1
  306. package/dist/components/ifx-footer-column.js +2 -4
  307. package/dist/components/ifx-footer-column.js.map +1 -1
  308. package/dist/components/ifx-footer.js +2 -4
  309. package/dist/components/ifx-footer.js.map +1 -1
  310. package/dist/components/ifx-icon-button.js +1 -1
  311. package/dist/components/ifx-icon.js +1 -1
  312. package/dist/components/ifx-icons-preview.js +6 -8
  313. package/dist/components/ifx-icons-preview.js.map +1 -1
  314. package/dist/components/ifx-indicator.js +1 -1
  315. package/dist/components/ifx-link.js +1 -1
  316. package/dist/components/ifx-list-entry.js +5 -7
  317. package/dist/components/ifx-list-entry.js.map +1 -1
  318. package/dist/components/ifx-list.js +4 -6
  319. package/dist/components/ifx-list.js.map +1 -1
  320. package/dist/components/ifx-modal.js +4 -6
  321. package/dist/components/ifx-modal.js.map +1 -1
  322. package/dist/components/ifx-multiselect-option.js +1 -1
  323. package/dist/components/ifx-multiselect.js +1 -1
  324. package/dist/components/ifx-navbar-item.js +4 -6
  325. package/dist/components/ifx-navbar-item.js.map +1 -1
  326. package/dist/components/ifx-navbar-profile.js +2 -4
  327. package/dist/components/ifx-navbar-profile.js.map +1 -1
  328. package/dist/components/ifx-navbar.js +3 -5
  329. package/dist/components/ifx-navbar.js.map +1 -1
  330. package/dist/components/ifx-notification.js +1 -1
  331. package/dist/components/ifx-overview-table.js +5 -7
  332. package/dist/components/ifx-overview-table.js.map +1 -1
  333. package/dist/components/ifx-pagination.js +1 -1
  334. package/dist/components/ifx-progress-bar.js +1 -1
  335. package/dist/components/ifx-radio-button-group.js +3 -5
  336. package/dist/components/ifx-radio-button-group.js.map +1 -1
  337. package/dist/components/ifx-radio-button.js +1 -1
  338. package/dist/components/ifx-search-bar.js +4 -6
  339. package/dist/components/ifx-search-bar.js.map +1 -1
  340. package/dist/components/ifx-search-field.js +1 -1
  341. package/dist/components/ifx-segment.js +3 -5
  342. package/dist/components/ifx-segment.js.map +1 -1
  343. package/dist/components/ifx-segmented-control.js +3 -5
  344. package/dist/components/ifx-segmented-control.js.map +1 -1
  345. package/dist/components/ifx-select.js +1 -1
  346. package/dist/components/ifx-set-filter.js +9 -11
  347. package/dist/components/ifx-set-filter.js.map +1 -1
  348. package/dist/components/ifx-sidebar-item.js +5 -7
  349. package/dist/components/ifx-sidebar-item.js.map +1 -1
  350. package/dist/components/ifx-sidebar-title.js +2 -4
  351. package/dist/components/ifx-sidebar-title.js.map +1 -1
  352. package/dist/components/ifx-sidebar.js +3 -5
  353. package/dist/components/ifx-sidebar.js.map +1 -1
  354. package/dist/components/ifx-slider.js +3 -5
  355. package/dist/components/ifx-slider.js.map +1 -1
  356. package/dist/components/ifx-spinner.js +1 -1
  357. package/dist/components/ifx-status.js +2 -4
  358. package/dist/components/ifx-status.js.map +1 -1
  359. package/dist/components/ifx-step.js +4 -6
  360. package/dist/components/ifx-step.js.map +1 -1
  361. package/dist/components/ifx-stepper.js +2 -4
  362. package/dist/components/ifx-stepper.js.map +1 -1
  363. package/dist/components/ifx-switch.js +2 -4
  364. package/dist/components/ifx-switch.js.map +1 -1
  365. package/dist/components/ifx-tab.js +2 -4
  366. package/dist/components/ifx-tab.js.map +1 -1
  367. package/dist/components/ifx-table.js +15 -17
  368. package/dist/components/ifx-table.js.map +1 -1
  369. package/dist/components/ifx-tabs.js +4 -6
  370. package/dist/components/ifx-tabs.js.map +1 -1
  371. package/dist/components/ifx-template.js +1 -1
  372. package/dist/components/ifx-templates-ui.js +10 -12
  373. package/dist/components/ifx-templates-ui.js.map +1 -1
  374. package/dist/components/ifx-text-field.js +1 -1
  375. package/dist/components/ifx-textarea.js +2 -4
  376. package/dist/components/ifx-textarea.js.map +1 -1
  377. package/dist/components/ifx-tooltip.js +3 -5
  378. package/dist/components/ifx-tooltip.js.map +1 -1
  379. package/dist/components/ifx-tree-view-item.js +4 -6
  380. package/dist/components/ifx-tree-view-item.js.map +1 -1
  381. package/dist/components/ifx-tree-view.js +2 -4
  382. package/dist/components/ifx-tree-view.js.map +1 -1
  383. package/dist/components/index.js +25 -67
  384. package/dist/components/index.js.map +1 -1
  385. package/dist/components/{p-Clf62Zu5.js → p-4wfkxGlJ.js} +7 -9
  386. package/dist/components/p-4wfkxGlJ.js.map +1 -0
  387. package/dist/components/{p-DPN13Knu.js → p-BG0cmSVP.js} +7 -9
  388. package/dist/components/p-BG0cmSVP.js.map +1 -0
  389. package/dist/components/{p-BoK1X1nJ.js → p-BGgzlGhs.js} +4 -6
  390. package/dist/components/p-BGgzlGhs.js.map +1 -0
  391. package/dist/components/{p-Bt4MK7Mb.js → p-BQj9WQQe.js} +5 -7
  392. package/dist/components/p-BQj9WQQe.js.map +1 -0
  393. package/dist/components/{p-Dy153Xeh.js → p-BR9GBwm3.js} +4 -6
  394. package/dist/components/p-BR9GBwm3.js.map +1 -0
  395. package/dist/components/{p-1fzV7Zv1.js → p-BxahGQyq.js} +4 -6
  396. package/dist/components/p-BxahGQyq.js.map +1 -0
  397. package/dist/components/{p-CcrhUlD4.js → p-C12r4j5b.js} +4 -6
  398. package/dist/components/p-C12r4j5b.js.map +1 -0
  399. package/dist/components/{p-YPIdsxYd.js → p-CRSbKJxa.js} +5 -7
  400. package/dist/components/p-CRSbKJxa.js.map +1 -0
  401. package/dist/components/{p-CU8ZE6yG.js → p-CcGE_f9F.js} +7 -9
  402. package/dist/components/p-CcGE_f9F.js.map +1 -0
  403. package/dist/components/{p-BXtTIODa.js → p-CnXEcTdH.js} +5 -7
  404. package/dist/components/p-CnXEcTdH.js.map +1 -0
  405. package/dist/components/{p-MPqVXeG4.js → p-DFInpODO.js} +5 -7
  406. package/dist/components/p-DFInpODO.js.map +1 -0
  407. package/dist/components/{p-B0mNmKkJ.js → p-DHLzWSzN.js} +10 -12
  408. package/dist/components/p-DHLzWSzN.js.map +1 -0
  409. package/dist/components/{p-CB5foa-9.js → p-DNZFFt4T.js} +6 -8
  410. package/dist/components/p-DNZFFt4T.js.map +1 -0
  411. package/dist/components/{p-Bl0VvOaG.js → p-DRqwZrk0.js} +5 -7
  412. package/dist/components/p-DRqwZrk0.js.map +1 -0
  413. package/dist/components/{p-Crf-DluO.js → p-DdOsLLJc.js} +4 -6
  414. package/dist/components/p-DdOsLLJc.js.map +1 -0
  415. package/dist/components/{p-DPR3SJRC.js → p-DhNY6ZGA.js} +4 -6
  416. package/dist/components/p-DhNY6ZGA.js.map +1 -0
  417. package/dist/components/{p-B_8rp7VV.js → p-Djr4amRx.js} +6 -8
  418. package/dist/components/p-Djr4amRx.js.map +1 -0
  419. package/dist/components/{p-Cgqbp_bF.js → p-F-WOWp_H.js} +5 -7
  420. package/dist/components/p-F-WOWp_H.js.map +1 -0
  421. package/dist/components/{p-BDwn5rZl.js → p-R79iWjuc.js} +4 -6
  422. package/dist/components/p-R79iWjuc.js.map +1 -0
  423. package/dist/components/{p-BH1fOB-w.js → p-RF9z92mE.js} +4 -6
  424. package/dist/components/p-RF9z92mE.js.map +1 -0
  425. package/dist/components/{p-DHAEg73D.js → p-esRQWwdS.js} +9 -11
  426. package/dist/components/p-esRQWwdS.js.map +1 -0
  427. package/dist/components/{p-BgT5gPxL.js → p-v3vmQuAS.js} +6 -8
  428. package/dist/components/p-v3vmQuAS.js.map +1 -0
  429. package/dist/esm/ifx-accordion_2.entry.js +3 -1
  430. package/dist/esm/ifx-accordion_2.entry.js.map +1 -0
  431. package/dist/esm/ifx-action-list-item.entry.js +3 -1
  432. package/dist/esm/ifx-action-list.entry.js +3 -1
  433. package/dist/esm/ifx-alert_2.entry.js +3 -1
  434. package/dist/esm/ifx-alert_2.entry.js.map +1 -0
  435. package/dist/esm/ifx-basic-table.entry.js +3 -1
  436. package/dist/esm/ifx-breadcrumb-item-label.entry.js +3 -1
  437. package/dist/esm/ifx-breadcrumb-item.entry.js +3 -1
  438. package/dist/esm/ifx-breadcrumb.entry.js +3 -1
  439. package/dist/esm/ifx-button.entry.js +3 -1
  440. package/dist/esm/ifx-card-headline.entry.js +3 -1
  441. package/dist/esm/ifx-card-image.entry.js +3 -1
  442. package/dist/esm/ifx-card-links.entry.js +3 -1
  443. package/dist/esm/ifx-card-overline.entry.js +3 -1
  444. package/dist/esm/ifx-card-text.entry.js +3 -1
  445. package/dist/esm/ifx-card.entry.js +3 -1
  446. package/dist/esm/ifx-checkbox-group.entry.js +3 -1
  447. package/dist/esm/ifx-checkbox.entry.js +3 -1
  448. package/dist/esm/ifx-chip_3.entry.js +3 -1
  449. package/dist/esm/ifx-chip_3.entry.js.map +1 -0
  450. package/dist/esm/ifx-content-switcher-item.entry.js +3 -1
  451. package/dist/esm/ifx-content-switcher.entry.js +3 -1
  452. package/dist/esm/ifx-date-picker.entry.js +3 -1
  453. package/dist/esm/ifx-download.entry.js +3 -1
  454. package/dist/esm/ifx-dropdown-header.entry.js +3 -1
  455. package/dist/esm/ifx-dropdown-item.entry.js +3 -1
  456. package/dist/esm/ifx-dropdown-menu.entry.js +3 -1
  457. package/dist/esm/ifx-dropdown-separator.entry.js +3 -1
  458. package/dist/esm/ifx-dropdown-trigger-button.entry.js +3 -1
  459. package/dist/esm/ifx-dropdown-trigger.entry.js +3 -1
  460. package/dist/esm/ifx-dropdown.entry.js +3 -1
  461. package/dist/esm/ifx-faq.entry.js +3 -1
  462. package/dist/esm/ifx-file-upload.entry.js +3 -1
  463. package/dist/esm/ifx-filter-accordion.entry.js +3 -1
  464. package/dist/esm/ifx-filter-bar.entry.js +3 -1
  465. package/dist/esm/ifx-filter-search.entry.js +3 -1
  466. package/dist/esm/ifx-filter-type-group.entry.js +3 -1
  467. package/dist/esm/ifx-footer-column.entry.js +3 -1
  468. package/dist/esm/ifx-footer.entry.js +3 -1
  469. package/dist/esm/ifx-icon-button.entry.js +3 -1
  470. package/dist/esm/ifx-icon.entry.js +3 -1
  471. package/dist/esm/ifx-icons-preview.entry.js +3 -1
  472. package/dist/esm/ifx-indicator.entry.js +3 -1
  473. package/dist/esm/ifx-link.entry.js +3 -1
  474. package/dist/esm/ifx-list-entry.entry.js +3 -1
  475. package/dist/esm/ifx-list.entry.js +3 -1
  476. package/dist/esm/ifx-modal.entry.js +3 -1
  477. package/dist/esm/ifx-modal.entry.js.map +1 -1
  478. package/dist/esm/ifx-multiselect_2.entry.js +3 -1
  479. package/dist/esm/ifx-multiselect_2.entry.js.map +1 -0
  480. package/dist/esm/ifx-navbar-item.entry.js +3 -1
  481. package/dist/esm/ifx-navbar-profile.entry.js +3 -1
  482. package/dist/esm/ifx-navbar.entry.js +3 -1
  483. package/dist/esm/ifx-notification.entry.js +3 -1
  484. package/dist/esm/ifx-overview-table.entry.js +3 -1
  485. package/dist/esm/ifx-progress-bar.entry.js +3 -1
  486. package/dist/esm/ifx-radio-button-group.entry.js +3 -1
  487. package/dist/esm/ifx-radio-button.entry.js +3 -1
  488. package/dist/esm/ifx-search-bar.entry.js +3 -1
  489. package/dist/esm/ifx-search-field.entry.js +3 -1
  490. package/dist/esm/ifx-segment.entry.js +3 -1
  491. package/dist/esm/ifx-segmented-control.entry.js +3 -1
  492. package/dist/esm/ifx-select.entry.js +3 -1
  493. package/dist/esm/ifx-set-filter.entry.js +3 -1
  494. package/dist/esm/ifx-sidebar-item.entry.js +3 -1
  495. package/dist/esm/ifx-sidebar-title.entry.js +3 -1
  496. package/dist/esm/ifx-sidebar.entry.js +3 -1
  497. package/dist/esm/ifx-slider.entry.js +3 -1
  498. package/dist/esm/ifx-spinner_2.entry.js +3 -1
  499. package/dist/esm/ifx-spinner_2.entry.js.map +1 -0
  500. package/dist/esm/ifx-status.entry.js +3 -1
  501. package/dist/esm/ifx-step.entry.js +3 -1
  502. package/dist/esm/ifx-stepper.entry.js +3 -1
  503. package/dist/esm/ifx-switch.entry.js +3 -1
  504. package/dist/esm/ifx-tab.entry.js +3 -1
  505. package/dist/esm/ifx-table.entry.js +3 -1
  506. package/dist/esm/ifx-table.entry.js.map +1 -1
  507. package/dist/esm/ifx-tabs.entry.js +3 -1
  508. package/dist/esm/ifx-templates-ui.entry.js +3 -1
  509. package/dist/esm/ifx-textarea.entry.js +3 -1
  510. package/dist/esm/ifx-tooltip.entry.js +3 -1
  511. package/dist/esm/ifx-tree-view-item.entry.js +3 -1
  512. package/dist/esm/ifx-tree-view.entry.js +3 -1
  513. package/dist/esm/{index-Bq-7EdcD.js → index-PqnYwNKt.js} +31 -88
  514. package/dist/esm/index-PqnYwNKt.js.map +1 -0
  515. package/dist/esm/index.js +2 -0
  516. package/dist/esm/infineon-design-system-stencil.js +6 -4
  517. package/dist/esm/infineon-design-system-stencil.js.map +1 -1
  518. package/dist/esm/loader.js +5 -3
  519. package/dist/infineon-design-system-stencil/ifx-modal.entry.esm.js.map +1 -1
  520. package/dist/infineon-design-system-stencil/ifx-table.entry.esm.js.map +1 -1
  521. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  522. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js.map +1 -1
  523. package/dist/infineon-design-system-stencil/{p-1c9012fe.entry.js → p-05f66dcb.entry.js} +2 -2
  524. package/dist/infineon-design-system-stencil/p-05f66dcb.entry.js.map +1 -0
  525. package/dist/infineon-design-system-stencil/{p-72264e5b.entry.js → p-060845fd.entry.js} +2 -2
  526. package/dist/infineon-design-system-stencil/p-060845fd.entry.js.map +1 -0
  527. package/dist/infineon-design-system-stencil/{p-3bb3ac65.entry.js → p-06d2f85b.entry.js} +2 -2
  528. package/dist/infineon-design-system-stencil/p-06d2f85b.entry.js.map +1 -0
  529. package/dist/infineon-design-system-stencil/{p-cba6f231.entry.js → p-0929589d.entry.js} +2 -2
  530. package/dist/infineon-design-system-stencil/p-0929589d.entry.js.map +1 -0
  531. package/dist/infineon-design-system-stencil/{p-0bebb0de.entry.js → p-0be8f0c9.entry.js} +2 -2
  532. package/dist/infineon-design-system-stencil/p-0be8f0c9.entry.js.map +1 -0
  533. package/dist/infineon-design-system-stencil/{p-62010e7d.entry.js → p-0fb9f42b.entry.js} +2 -2
  534. package/dist/infineon-design-system-stencil/p-0fb9f42b.entry.js.map +1 -0
  535. package/dist/infineon-design-system-stencil/{p-cebd7759.entry.js → p-116c853e.entry.js} +2 -2
  536. package/dist/infineon-design-system-stencil/p-116c853e.entry.js.map +1 -0
  537. package/dist/infineon-design-system-stencil/{p-8a772962.entry.js → p-169f26ae.entry.js} +2 -2
  538. package/dist/infineon-design-system-stencil/p-169f26ae.entry.js.map +1 -0
  539. package/dist/infineon-design-system-stencil/{p-06078b1f.entry.js → p-1c1b1a1f.entry.js} +2 -2
  540. package/dist/infineon-design-system-stencil/p-1c1b1a1f.entry.js.map +1 -0
  541. package/dist/infineon-design-system-stencil/{p-f0b5f4c6.entry.js → p-1d494424.entry.js} +2 -2
  542. package/dist/infineon-design-system-stencil/p-1d494424.entry.js.map +1 -0
  543. package/dist/infineon-design-system-stencil/{p-b4b5caa9.entry.js → p-22e9960d.entry.js} +2 -2
  544. package/dist/infineon-design-system-stencil/p-22e9960d.entry.js.map +1 -0
  545. package/dist/infineon-design-system-stencil/{p-b1f9abc9.entry.js → p-2503d869.entry.js} +2 -2
  546. package/dist/infineon-design-system-stencil/p-2503d869.entry.js.map +1 -0
  547. package/dist/infineon-design-system-stencil/{p-83c22f84.entry.js → p-273907cb.entry.js} +2 -2
  548. package/dist/infineon-design-system-stencil/p-273907cb.entry.js.map +1 -0
  549. package/dist/infineon-design-system-stencil/{p-e789404b.entry.js → p-2813423a.entry.js} +2 -2
  550. package/dist/infineon-design-system-stencil/p-2813423a.entry.js.map +1 -0
  551. package/dist/infineon-design-system-stencil/{p-1d9689b0.entry.js → p-2b4b2b06.entry.js} +2 -2
  552. package/dist/infineon-design-system-stencil/p-2b4b2b06.entry.js.map +1 -0
  553. package/dist/infineon-design-system-stencil/{p-824fea39.entry.js → p-2e172019.entry.js} +2 -2
  554. package/dist/infineon-design-system-stencil/p-2e172019.entry.js.map +1 -0
  555. package/dist/infineon-design-system-stencil/p-307e6a72.entry.js +2 -0
  556. package/dist/infineon-design-system-stencil/p-307e6a72.entry.js.map +1 -0
  557. package/dist/infineon-design-system-stencil/{p-4a9ff9c4.entry.js → p-35d2266a.entry.js} +2 -2
  558. package/dist/infineon-design-system-stencil/p-35d2266a.entry.js.map +1 -0
  559. package/dist/infineon-design-system-stencil/{p-950f6deb.entry.js → p-380368ca.entry.js} +2 -2
  560. package/dist/infineon-design-system-stencil/p-380368ca.entry.js.map +1 -0
  561. package/dist/infineon-design-system-stencil/{p-c2e0b4a4.entry.js → p-39561a49.entry.js} +2 -2
  562. package/dist/infineon-design-system-stencil/p-39561a49.entry.js.map +1 -0
  563. package/dist/infineon-design-system-stencil/{p-3ac3d580.entry.js → p-3d77ef02.entry.js} +2 -2
  564. package/dist/infineon-design-system-stencil/p-3d77ef02.entry.js.map +1 -0
  565. package/dist/infineon-design-system-stencil/{p-d06b42ca.entry.js → p-3eeacac9.entry.js} +2 -2
  566. package/dist/infineon-design-system-stencil/p-3eeacac9.entry.js.map +1 -0
  567. package/dist/infineon-design-system-stencil/{p-bd24344b.entry.js → p-45dad0d1.entry.js} +2 -2
  568. package/dist/infineon-design-system-stencil/p-45dad0d1.entry.js.map +1 -0
  569. package/dist/infineon-design-system-stencil/{p-007bb0d4.entry.js → p-4669e01f.entry.js} +2 -2
  570. package/dist/infineon-design-system-stencil/p-4669e01f.entry.js.map +1 -0
  571. package/dist/infineon-design-system-stencil/{p-25297147.entry.js → p-4da5a2a5.entry.js} +2 -2
  572. package/dist/infineon-design-system-stencil/p-4da5a2a5.entry.js.map +1 -0
  573. package/dist/infineon-design-system-stencil/{p-ce392453.entry.js → p-4fba0543.entry.js} +2 -2
  574. package/dist/infineon-design-system-stencil/p-4fba0543.entry.js.map +1 -0
  575. package/dist/infineon-design-system-stencil/{p-b9b806ee.entry.js → p-5367db9d.entry.js} +2 -2
  576. package/dist/infineon-design-system-stencil/p-5367db9d.entry.js.map +1 -0
  577. package/dist/infineon-design-system-stencil/{p-10ecab1b.entry.js → p-58dd6f5c.entry.js} +2 -2
  578. package/dist/infineon-design-system-stencil/p-58dd6f5c.entry.js.map +1 -0
  579. package/dist/infineon-design-system-stencil/{p-65aaabf2.entry.js → p-5b571505.entry.js} +2 -2
  580. package/dist/infineon-design-system-stencil/p-5b571505.entry.js.map +1 -0
  581. package/dist/infineon-design-system-stencil/{p-dbaf7efe.entry.js → p-5e3d0ff0.entry.js} +2 -2
  582. package/dist/infineon-design-system-stencil/p-5e3d0ff0.entry.js.map +1 -0
  583. package/dist/infineon-design-system-stencil/{p-fb69c115.entry.js → p-5fb3eb8b.entry.js} +2 -2
  584. package/dist/infineon-design-system-stencil/p-5fb3eb8b.entry.js.map +1 -0
  585. package/dist/infineon-design-system-stencil/{p-b2eb2f1a.entry.js → p-6a07106e.entry.js} +2 -2
  586. package/dist/infineon-design-system-stencil/p-6a07106e.entry.js.map +1 -0
  587. package/dist/infineon-design-system-stencil/{p-63d3ebeb.entry.js → p-6e115707.entry.js} +2 -2
  588. package/dist/infineon-design-system-stencil/p-6e115707.entry.js.map +1 -0
  589. package/dist/infineon-design-system-stencil/{p-416ce394.entry.js → p-6eb6af05.entry.js} +2 -2
  590. package/dist/infineon-design-system-stencil/p-6eb6af05.entry.js.map +1 -0
  591. package/dist/infineon-design-system-stencil/{p-2ca43bf3.entry.js → p-744c1c8e.entry.js} +2 -2
  592. package/dist/infineon-design-system-stencil/p-744c1c8e.entry.js.map +1 -0
  593. package/dist/infineon-design-system-stencil/{p-925e40f0.entry.js → p-760cfc7e.entry.js} +2 -2
  594. package/dist/infineon-design-system-stencil/p-760cfc7e.entry.js.map +1 -0
  595. package/dist/infineon-design-system-stencil/{p-ded7b72c.entry.js → p-8a58c2be.entry.js} +2 -2
  596. package/dist/infineon-design-system-stencil/p-8a58c2be.entry.js.map +1 -0
  597. package/dist/infineon-design-system-stencil/{p-b3880945.entry.js → p-8ceb2ccc.entry.js} +2 -2
  598. package/dist/infineon-design-system-stencil/p-8ceb2ccc.entry.js.map +1 -0
  599. package/dist/infineon-design-system-stencil/{p-3e703c9d.entry.js → p-92ee6f73.entry.js} +2 -2
  600. package/dist/infineon-design-system-stencil/p-92ee6f73.entry.js.map +1 -0
  601. package/dist/infineon-design-system-stencil/{p-e4fe1f48.entry.js → p-94dfe026.entry.js} +2 -2
  602. package/dist/infineon-design-system-stencil/p-94dfe026.entry.js.map +1 -0
  603. package/dist/infineon-design-system-stencil/{p-b332712f.entry.js → p-9517d1b0.entry.js} +2 -2
  604. package/dist/infineon-design-system-stencil/p-9517d1b0.entry.js.map +1 -0
  605. package/dist/infineon-design-system-stencil/{p-477daa59.entry.js → p-97b2ac42.entry.js} +2 -2
  606. package/dist/infineon-design-system-stencil/p-97b2ac42.entry.js.map +1 -0
  607. package/dist/infineon-design-system-stencil/{p-1746e211.entry.js → p-9b06df76.entry.js} +2 -2
  608. package/dist/infineon-design-system-stencil/p-9b06df76.entry.js.map +1 -0
  609. package/dist/infineon-design-system-stencil/{p-a6cf79f3.entry.js → p-9ba730bb.entry.js} +2 -2
  610. package/dist/infineon-design-system-stencil/p-9ba730bb.entry.js.map +1 -0
  611. package/dist/infineon-design-system-stencil/{p-dfcccf3a.entry.js → p-9deaa65e.entry.js} +2 -2
  612. package/dist/infineon-design-system-stencil/p-9deaa65e.entry.js.map +1 -0
  613. package/dist/infineon-design-system-stencil/p-PqnYwNKt.js +3 -0
  614. package/dist/infineon-design-system-stencil/p-PqnYwNKt.js.map +1 -0
  615. package/dist/infineon-design-system-stencil/{p-e8be789f.entry.js → p-a4dd2fe1.entry.js} +2 -2
  616. package/dist/infineon-design-system-stencil/p-a4dd2fe1.entry.js.map +1 -0
  617. package/dist/infineon-design-system-stencil/{p-31fa2365.entry.js → p-a85754a5.entry.js} +3 -3
  618. package/dist/infineon-design-system-stencil/p-a85754a5.entry.js.map +1 -0
  619. package/dist/infineon-design-system-stencil/{p-d8f5253e.entry.js → p-ab326703.entry.js} +2 -2
  620. package/dist/infineon-design-system-stencil/p-ab326703.entry.js.map +1 -0
  621. package/dist/infineon-design-system-stencil/{p-9a6089d5.entry.js → p-abd8bd80.entry.js} +2 -2
  622. package/dist/infineon-design-system-stencil/p-abd8bd80.entry.js.map +1 -0
  623. package/dist/infineon-design-system-stencil/{p-eabddf02.entry.js → p-b7672947.entry.js} +2 -2
  624. package/dist/infineon-design-system-stencil/p-b7672947.entry.js.map +1 -0
  625. package/dist/infineon-design-system-stencil/{p-a4fb097a.entry.js → p-bd8c6834.entry.js} +2 -2
  626. package/dist/infineon-design-system-stencil/p-bd8c6834.entry.js.map +1 -0
  627. package/dist/infineon-design-system-stencil/{p-e0f467af.entry.js → p-beaba918.entry.js} +2 -2
  628. package/dist/infineon-design-system-stencil/p-beaba918.entry.js.map +1 -0
  629. package/dist/infineon-design-system-stencil/{p-9ed4711b.entry.js → p-c578a728.entry.js} +2 -2
  630. package/dist/infineon-design-system-stencil/p-c578a728.entry.js.map +1 -0
  631. package/dist/infineon-design-system-stencil/{p-4770ef94.entry.js → p-c6826c1e.entry.js} +2 -2
  632. package/dist/infineon-design-system-stencil/p-c6826c1e.entry.js.map +1 -0
  633. package/dist/infineon-design-system-stencil/{p-2f5b757e.entry.js → p-ca312cbb.entry.js} +2 -2
  634. package/dist/infineon-design-system-stencil/p-ca312cbb.entry.js.map +1 -0
  635. package/dist/infineon-design-system-stencil/{p-e73a47d4.entry.js → p-ca870353.entry.js} +2 -2
  636. package/dist/infineon-design-system-stencil/p-ca870353.entry.js.map +1 -0
  637. package/dist/infineon-design-system-stencil/{p-96bc02ea.entry.js → p-ce799b3d.entry.js} +2 -2
  638. package/dist/infineon-design-system-stencil/p-ce799b3d.entry.js.map +1 -0
  639. package/dist/infineon-design-system-stencil/{p-338f6827.entry.js → p-d267f6d2.entry.js} +2 -2
  640. package/dist/infineon-design-system-stencil/p-d267f6d2.entry.js.map +1 -0
  641. package/dist/infineon-design-system-stencil/{p-b804f249.entry.js → p-d2b076fe.entry.js} +2 -2
  642. package/dist/infineon-design-system-stencil/p-d2b076fe.entry.js.map +1 -0
  643. package/dist/infineon-design-system-stencil/{p-b2066117.entry.js → p-d4373c36.entry.js} +2 -2
  644. package/dist/infineon-design-system-stencil/p-d4373c36.entry.js.map +1 -0
  645. package/dist/infineon-design-system-stencil/{p-c896041a.entry.js → p-d65a334c.entry.js} +2 -2
  646. package/dist/infineon-design-system-stencil/p-d65a334c.entry.js.map +1 -0
  647. package/dist/infineon-design-system-stencil/{p-81e4dc33.entry.js → p-dac7d817.entry.js} +2 -2
  648. package/dist/infineon-design-system-stencil/p-dac7d817.entry.js.map +1 -0
  649. package/dist/infineon-design-system-stencil/{p-233d0bd2.entry.js → p-dbc6ae20.entry.js} +2 -2
  650. package/dist/infineon-design-system-stencil/p-dbc6ae20.entry.js.map +1 -0
  651. package/dist/infineon-design-system-stencil/{p-0e98b1aa.entry.js → p-dcd0af23.entry.js} +2 -2
  652. package/dist/infineon-design-system-stencil/p-dcd0af23.entry.js.map +1 -0
  653. package/dist/infineon-design-system-stencil/{p-c65ca68b.entry.js → p-e3c11b6c.entry.js} +2 -2
  654. package/dist/infineon-design-system-stencil/p-e3c11b6c.entry.js.map +1 -0
  655. package/dist/infineon-design-system-stencil/{p-73c855a4.entry.js → p-e6c4c4cf.entry.js} +2 -2
  656. package/dist/infineon-design-system-stencil/p-e6c4c4cf.entry.js.map +1 -0
  657. package/dist/infineon-design-system-stencil/p-e78ffc43.entry.js +2 -0
  658. package/dist/infineon-design-system-stencil/p-e78ffc43.entry.js.map +1 -0
  659. package/dist/infineon-design-system-stencil/{p-5bddfe84.entry.js → p-e7c656cd.entry.js} +2 -2
  660. package/dist/infineon-design-system-stencil/p-e7c656cd.entry.js.map +1 -0
  661. package/dist/infineon-design-system-stencil/{p-2151343a.entry.js → p-edbfa46e.entry.js} +2 -2
  662. package/dist/infineon-design-system-stencil/p-edbfa46e.entry.js.map +1 -0
  663. package/dist/infineon-design-system-stencil/{p-2128c3a9.entry.js → p-ee04eb6e.entry.js} +2 -2
  664. package/dist/infineon-design-system-stencil/p-ee04eb6e.entry.js.map +1 -0
  665. package/dist/infineon-design-system-stencil/{p-a5c003d6.entry.js → p-f06b0ae3.entry.js} +2 -2
  666. package/dist/infineon-design-system-stencil/p-f06b0ae3.entry.js.map +1 -0
  667. package/dist/infineon-design-system-stencil/{p-7ac20ef4.entry.js → p-f1ba768a.entry.js} +2 -2
  668. package/dist/infineon-design-system-stencil/p-f1ba768a.entry.js.map +1 -0
  669. package/dist/infineon-design-system-stencil/{p-6f77f59d.entry.js → p-f2c8c7a6.entry.js} +2 -2
  670. package/dist/infineon-design-system-stencil/p-f2c8c7a6.entry.js.map +1 -0
  671. package/dist/infineon-design-system-stencil/p-fb92000d.entry.js +2 -0
  672. package/dist/infineon-design-system-stencil/p-fb92000d.entry.js.map +1 -0
  673. package/dist/infineon-design-system-stencil/{p-b12e396b.entry.js → p-fc359efa.entry.js} +2 -2
  674. package/dist/infineon-design-system-stencil/p-fc359efa.entry.js.map +1 -0
  675. package/dist/infineon-design-system-stencil/{p-5a279eb2.entry.js → p-fcae5dc1.entry.js} +2 -2
  676. package/dist/infineon-design-system-stencil/p-fcae5dc1.entry.js.map +1 -0
  677. package/dist/infineon-design-system-stencil/{p-1939e98d.entry.js → p-ff4cc197.entry.js} +2 -2
  678. package/dist/infineon-design-system-stencil/p-ff4cc197.entry.js.map +1 -0
  679. package/dist/types/stencil-public-runtime.d.ts +2 -49
  680. package/package.json +2 -2
  681. package/dist/cjs/index-DDktl7Xq.js.map +0 -1
  682. package/dist/components/p-1fzV7Zv1.js.map +0 -1
  683. package/dist/components/p-B0mNmKkJ.js.map +0 -1
  684. package/dist/components/p-BDwn5rZl.js.map +0 -1
  685. package/dist/components/p-BH1fOB-w.js.map +0 -1
  686. package/dist/components/p-BXtTIODa.js.map +0 -1
  687. package/dist/components/p-B_8rp7VV.js.map +0 -1
  688. package/dist/components/p-BgT5gPxL.js.map +0 -1
  689. package/dist/components/p-Bl0VvOaG.js.map +0 -1
  690. package/dist/components/p-BoK1X1nJ.js.map +0 -1
  691. package/dist/components/p-Bt4MK7Mb.js.map +0 -1
  692. package/dist/components/p-CB5foa-9.js.map +0 -1
  693. package/dist/components/p-CU8ZE6yG.js.map +0 -1
  694. package/dist/components/p-CcrhUlD4.js.map +0 -1
  695. package/dist/components/p-Cgqbp_bF.js.map +0 -1
  696. package/dist/components/p-Clf62Zu5.js.map +0 -1
  697. package/dist/components/p-Crf-DluO.js.map +0 -1
  698. package/dist/components/p-DHAEg73D.js.map +0 -1
  699. package/dist/components/p-DPN13Knu.js.map +0 -1
  700. package/dist/components/p-DPR3SJRC.js.map +0 -1
  701. package/dist/components/p-Dy153Xeh.js.map +0 -1
  702. package/dist/components/p-MPqVXeG4.js.map +0 -1
  703. package/dist/components/p-YPIdsxYd.js.map +0 -1
  704. package/dist/esm/index-Bq-7EdcD.js.map +0 -1
  705. package/dist/infineon-design-system-stencil/p-007bb0d4.entry.js.map +0 -1
  706. package/dist/infineon-design-system-stencil/p-06078b1f.entry.js.map +0 -1
  707. package/dist/infineon-design-system-stencil/p-0bebb0de.entry.js.map +0 -1
  708. package/dist/infineon-design-system-stencil/p-0e98b1aa.entry.js.map +0 -1
  709. package/dist/infineon-design-system-stencil/p-10ecab1b.entry.js.map +0 -1
  710. package/dist/infineon-design-system-stencil/p-1746e211.entry.js.map +0 -1
  711. package/dist/infineon-design-system-stencil/p-1939e98d.entry.js.map +0 -1
  712. package/dist/infineon-design-system-stencil/p-1c9012fe.entry.js.map +0 -1
  713. package/dist/infineon-design-system-stencil/p-1d9689b0.entry.js.map +0 -1
  714. package/dist/infineon-design-system-stencil/p-2128c3a9.entry.js.map +0 -1
  715. package/dist/infineon-design-system-stencil/p-2151343a.entry.js.map +0 -1
  716. package/dist/infineon-design-system-stencil/p-233d0bd2.entry.js.map +0 -1
  717. package/dist/infineon-design-system-stencil/p-25297147.entry.js.map +0 -1
  718. package/dist/infineon-design-system-stencil/p-2ca43bf3.entry.js.map +0 -1
  719. package/dist/infineon-design-system-stencil/p-2f5b757e.entry.js.map +0 -1
  720. package/dist/infineon-design-system-stencil/p-31fa2365.entry.js.map +0 -1
  721. package/dist/infineon-design-system-stencil/p-338f6827.entry.js.map +0 -1
  722. package/dist/infineon-design-system-stencil/p-3ac3d580.entry.js.map +0 -1
  723. package/dist/infineon-design-system-stencil/p-3bb3ac65.entry.js.map +0 -1
  724. package/dist/infineon-design-system-stencil/p-3e703c9d.entry.js.map +0 -1
  725. package/dist/infineon-design-system-stencil/p-416ce394.entry.js.map +0 -1
  726. package/dist/infineon-design-system-stencil/p-4770ef94.entry.js.map +0 -1
  727. package/dist/infineon-design-system-stencil/p-477daa59.entry.js.map +0 -1
  728. package/dist/infineon-design-system-stencil/p-4a9ff9c4.entry.js.map +0 -1
  729. package/dist/infineon-design-system-stencil/p-5a279eb2.entry.js.map +0 -1
  730. package/dist/infineon-design-system-stencil/p-5bddfe84.entry.js.map +0 -1
  731. package/dist/infineon-design-system-stencil/p-5cce03bf.entry.js +0 -2
  732. package/dist/infineon-design-system-stencil/p-5cce03bf.entry.js.map +0 -1
  733. package/dist/infineon-design-system-stencil/p-62010e7d.entry.js.map +0 -1
  734. package/dist/infineon-design-system-stencil/p-63d3ebeb.entry.js.map +0 -1
  735. package/dist/infineon-design-system-stencil/p-65aaabf2.entry.js.map +0 -1
  736. package/dist/infineon-design-system-stencil/p-6dd50243.entry.js +0 -2
  737. package/dist/infineon-design-system-stencil/p-6dd50243.entry.js.map +0 -1
  738. package/dist/infineon-design-system-stencil/p-6f77f59d.entry.js.map +0 -1
  739. package/dist/infineon-design-system-stencil/p-72264e5b.entry.js.map +0 -1
  740. package/dist/infineon-design-system-stencil/p-73c855a4.entry.js.map +0 -1
  741. package/dist/infineon-design-system-stencil/p-7ac20ef4.entry.js.map +0 -1
  742. package/dist/infineon-design-system-stencil/p-81e4dc33.entry.js.map +0 -1
  743. package/dist/infineon-design-system-stencil/p-824fea39.entry.js.map +0 -1
  744. package/dist/infineon-design-system-stencil/p-83c22f84.entry.js.map +0 -1
  745. package/dist/infineon-design-system-stencil/p-8a772962.entry.js.map +0 -1
  746. package/dist/infineon-design-system-stencil/p-925e40f0.entry.js.map +0 -1
  747. package/dist/infineon-design-system-stencil/p-950f6deb.entry.js.map +0 -1
  748. package/dist/infineon-design-system-stencil/p-96bc02ea.entry.js.map +0 -1
  749. package/dist/infineon-design-system-stencil/p-981391c7.entry.js +0 -2
  750. package/dist/infineon-design-system-stencil/p-981391c7.entry.js.map +0 -1
  751. package/dist/infineon-design-system-stencil/p-9a6089d5.entry.js.map +0 -1
  752. package/dist/infineon-design-system-stencil/p-9ed4711b.entry.js.map +0 -1
  753. package/dist/infineon-design-system-stencil/p-Bq-7EdcD.js +0 -3
  754. package/dist/infineon-design-system-stencil/p-Bq-7EdcD.js.map +0 -1
  755. package/dist/infineon-design-system-stencil/p-a4fb097a.entry.js.map +0 -1
  756. package/dist/infineon-design-system-stencil/p-a5c003d6.entry.js.map +0 -1
  757. package/dist/infineon-design-system-stencil/p-a6cf79f3.entry.js.map +0 -1
  758. package/dist/infineon-design-system-stencil/p-b12e396b.entry.js.map +0 -1
  759. package/dist/infineon-design-system-stencil/p-b1f9abc9.entry.js.map +0 -1
  760. package/dist/infineon-design-system-stencil/p-b2066117.entry.js.map +0 -1
  761. package/dist/infineon-design-system-stencil/p-b2eb2f1a.entry.js.map +0 -1
  762. package/dist/infineon-design-system-stencil/p-b332712f.entry.js.map +0 -1
  763. package/dist/infineon-design-system-stencil/p-b3880945.entry.js.map +0 -1
  764. package/dist/infineon-design-system-stencil/p-b4b5caa9.entry.js.map +0 -1
  765. package/dist/infineon-design-system-stencil/p-b804f249.entry.js.map +0 -1
  766. package/dist/infineon-design-system-stencil/p-b9b806ee.entry.js.map +0 -1
  767. package/dist/infineon-design-system-stencil/p-bd24344b.entry.js.map +0 -1
  768. package/dist/infineon-design-system-stencil/p-c2e0b4a4.entry.js.map +0 -1
  769. package/dist/infineon-design-system-stencil/p-c65ca68b.entry.js.map +0 -1
  770. package/dist/infineon-design-system-stencil/p-c896041a.entry.js.map +0 -1
  771. package/dist/infineon-design-system-stencil/p-cba6f231.entry.js.map +0 -1
  772. package/dist/infineon-design-system-stencil/p-ce392453.entry.js.map +0 -1
  773. package/dist/infineon-design-system-stencil/p-cebd7759.entry.js.map +0 -1
  774. package/dist/infineon-design-system-stencil/p-d06b42ca.entry.js.map +0 -1
  775. package/dist/infineon-design-system-stencil/p-d8f5253e.entry.js.map +0 -1
  776. package/dist/infineon-design-system-stencil/p-dbaf7efe.entry.js.map +0 -1
  777. package/dist/infineon-design-system-stencil/p-ded7b72c.entry.js.map +0 -1
  778. package/dist/infineon-design-system-stencil/p-dfcccf3a.entry.js.map +0 -1
  779. package/dist/infineon-design-system-stencil/p-e0f467af.entry.js.map +0 -1
  780. package/dist/infineon-design-system-stencil/p-e4fe1f48.entry.js.map +0 -1
  781. package/dist/infineon-design-system-stencil/p-e73a47d4.entry.js.map +0 -1
  782. package/dist/infineon-design-system-stencil/p-e789404b.entry.js.map +0 -1
  783. package/dist/infineon-design-system-stencil/p-e8be789f.entry.js.map +0 -1
  784. package/dist/infineon-design-system-stencil/p-eabddf02.entry.js.map +0 -1
  785. package/dist/infineon-design-system-stencil/p-f0b5f4c6.entry.js.map +0 -1
  786. package/dist/infineon-design-system-stencil/p-fb69c115.entry.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["linkCss","Link","constructor","hostRef","this","href","undefined","target","variant","disabled","internalHref","internalTarget","internalVariant","setInternalStates","trim","toLowerCase","componentWillRender","handleKeyDown","event","preventDefault","key","componentDidLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","render","h","tabindex","role","ariaLabel","download","class","linkClassNames","getSizeClass","small","size","medium","large","extraLarge","getVariantClass","bold","title","underlined","menu","classNames"],"sources":["src/components/link/link.scss?tag=ifx-link&encapsulation=shadow","src/components/link/link.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n}\n\n.link {\n display: inline-flex;\n align-items: center;\n font-weight: 400;\n font-size: tokens.$ifxFontSizeM;\n text-decoration: none;\n color: tokens.$ifxColorOcean500;\n gap: tokens.$ifxSpace100;\n line-height: 1.6;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n &:hover { \n cursor: pointer;\n }\n\n &:focus {\n outline-width: 2px;\n outline-style: solid;\n outline-color: #0A8276;\n outline-offset: 4px;\n border-radius: 3px;\n }\n\n &.bold {\n font-weight: tokens.$ifxFontWeightSemibold;\n\n &:hover {\n text-decoration: underline;\n }\n\n &:active {\n color: #08665C;\n font-style: normal;\n font-weight: 600;\n text-decoration: underline;\n }\n\n }\n\n &.underlined {\n text-decoration: underline;\n text-decoration-color: tokens.$ifxColorOcean500;\n color: #1D1D1D;\n text-underline-offset: 8px;\n \n &:hover {\n color: tokens.$ifxColorOcean500;;\n }\n \n &:active {\n color: #0A8276;\n }\n\n &:disabled,\n &.disabled {\n text-decoration-color: tokens.$ifxColorEngineering300;\n }\n }\n\n &.title {\n text-decoration: none;\n font-weight: tokens.$ifxFontWeightSemibold;\n color: #1D1D1D;\n\n &:hover {\n color: tokens.$ifxColorOcean500;\n }\n\n &:active {\n color: #08665C;\n }\n }\n\n &.menu {\n font-weight: 400;\n font-style: normal;\n line-height: 26px;\n color: #1D1D1D;\n\n &:hover {\n color: tokens.$ifxColorOcean500;\n }\n\n &:active {\n color: #08665C;\n }\n }\n\n &.small {\n font-size: tokens.$ifxFontSizeS;\n }\n\n &.medium {\n font-size: tokens.$ifxFontSizeM;\n }\n\n &.large {\n font-size: tokens.$ifxFontSizeL;\n }\n\n &.extraLarge {\n font-size: tokens.$ifxFontSizeXl;\n }\n\n &.underline {\n text-decoration: underline;\n }\n\n &:disabled,\n &.disabled {\n color: tokens.$ifxColorEngineering300;\n cursor: default;\n pointer-events: none;\n }\n\n}","import { Component, Prop, h, State, Element } from \"@stencil/core\";\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nimport classNames from 'classnames';\n \n@Component({\n tag: 'ifx-link',\n styleUrl: 'link.scss',\n shadow: true\n})\n\nexport class Link {\n @Element() el;\n @Prop() href: string = undefined;\n @Prop() target: string = '_self';\n @Prop() variant: string = 'bold';\n @Prop() size: string;\n @Prop() disabled: boolean = false;\n @Prop() download: string;\n @Prop() ariaLabel: string | null;\n @State() internalHref: string ='';\n @State() internalTarget: string = '';\n @State() internalVariant: string = '';\n\n setInternalStates() {\n if(this.href){\n this.internalHref = this.href.trim();\n }else{\n this.internalHref = undefined;\n }\n this.internalTarget = this.target.trim();\n this.internalVariant = this.variant.trim().toLowerCase();\n }\n\n componentWillRender(){\n this.setInternalStates();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) {\n event.preventDefault();\n } else if (event.key === 'Enter') {\n event.preventDefault();\n }\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-link', await framework)\n }\n }\n\n render() {\n return (\n <a\n tabindex=\"0\"\n role=\"link\"\n aria-label={this.ariaLabel}\n aria-disabled={this.disabled || !this.internalHref}\n href={this.disabled ? undefined : this.internalHref}\n download={this.download}\n target={this.internalTarget}\n class={this.linkClassNames()}>\n <slot></slot>\n </a>)\n }\n\n getSizeClass() {\n const small = this.size === 's' ? 'small' : null;\n const medium = this.size === 'm' ? 'medium' : null;\n const large = this.size === 'l' ? 'large' : null;\n const extraLarge = this.size === 'xl' ? 'extraLarge' : null;\n\n if (small) {\n return small;\n } else if (medium) {\n return medium;\n } else if (large) {\n return large;\n } else if (extraLarge && this.internalVariant === 'underlined') {\n return 'large';\n } else if (extraLarge && this.internalVariant !== 'underlined') {\n return extraLarge;\n } else return \"\";\n }\n\n getVariantClass() {\n const bold = this.internalVariant === 'bold' ? 'bold' : null;\n const title = this.internalVariant === 'title' ? 'title' : null;\n const underlined = this.internalVariant === 'underlined' ? 'underlined' : null;\n const menu = this.internalVariant === 'menu' ? 'menu' : null;\n\n if (bold) {\n return bold\n } else if (title) {\n return title;\n } else if (underlined) {\n return underlined;\n } else if (menu) {\n return menu;\n } else return bold;\n }\n\n linkClassNames() {\n return classNames(\n 'link',\n 'primary',\n this.getVariantClass(),\n this.getSizeClass(),\n this.disabled ? 'disabled' : '',\n );\n }\n}"],"mappings":"6LAAA,MAAMA,EAAU,6zC,MCYHC,EAAI,MANjB,WAAAC,CAAAC,G,UAQUC,KAAIC,KAAWC,UACfF,KAAMG,OAAW,QACjBH,KAAOI,QAAW,OAElBJ,KAAQK,SAAY,MAGnBL,KAAYM,aAAU,GACtBN,KAAcO,eAAW,GACzBP,KAAeQ,gBAAW,EA2FpC,CAzFC,iBAAAC,GACE,GAAGT,KAAKC,KAAK,CACXD,KAAKM,aAAeN,KAAKC,KAAKS,M,KAC3B,CACHV,KAAKM,aAAeJ,S,CAEtBF,KAAKO,eAAiBP,KAAKG,OAAOO,OAClCV,KAAKQ,gBAAkBR,KAAKI,QAAQM,OAAOC,a,CAG7C,mBAAAC,GACEZ,KAAKS,mB,CAGP,aAAAI,CAAcC,GACZ,GAAId,KAAKK,SAAU,CACjBS,EAAMC,gB,MACD,GAAID,EAAME,MAAQ,QAAS,CAChCF,EAAMC,gB,EAIV,sBAAME,GACJ,IAAIC,EAAuBlB,KAAKmB,IAAK,CACnC,MAAMC,EAAYC,IAClBC,EAAe,iBAAkBF,E,EAIrC,MAAAG,GACE,OACEC,EACA,KAAAR,IAAA,2CAAAS,SAAS,IACPC,KAAK,OACO,aAAA1B,KAAK2B,UAAS,gBACX3B,KAAKK,WAAaL,KAAKM,aACtCL,KAAMD,KAAKK,SAAWH,UAAYF,KAAKM,aACvCsB,SAAU5B,KAAK4B,SACfzB,OAAQH,KAAKO,eACbsB,MAAO7B,KAAK8B,kBACZN,EAAa,QAAAR,IAAA,6C,CAInB,YAAAe,GACE,MAAMC,EAAQhC,KAAKiC,OAAS,IAAM,QAAU,KAC5C,MAAMC,EAASlC,KAAKiC,OAAS,IAAM,SAAW,KAC9C,MAAME,EAAQnC,KAAKiC,OAAS,IAAM,QAAU,KAC5C,MAAMG,EAAapC,KAAKiC,OAAS,KAAO,aAAe,KAEvD,GAAID,EAAO,CACT,OAAOA,C,MACF,GAAIE,EAAQ,CACjB,OAAOA,C,MACF,GAAIC,EAAO,CAChB,OAAOA,C,MACF,GAAIC,GAAcpC,KAAKQ,kBAAoB,aAAc,CAC9D,MAAO,O,MACF,GAAI4B,GAAcpC,KAAKQ,kBAAoB,aAAc,CAC9D,OAAO4B,C,MACF,MAAO,E,CAGhB,eAAAC,GACE,MAAMC,EAAOtC,KAAKQ,kBAAoB,OAAS,OAAS,KACxD,MAAM+B,EAAQvC,KAAKQ,kBAAoB,QAAU,QAAU,KAC3D,MAAMgC,EAAaxC,KAAKQ,kBAAoB,aAAe,aAAe,KAC1E,MAAMiC,EAAOzC,KAAKQ,kBAAoB,OAAS,OAAS,KAExD,GAAI8B,EAAM,CACR,OAAOA,C,MACF,GAAIC,EAAO,CAChB,OAAOA,C,MACF,GAAIC,EAAY,CACrB,OAAOA,C,MACF,GAAIC,EAAM,CACf,OAAOA,C,MACF,OAAOH,C,CAGhB,cAAAR,GACE,OAAOY,EACL,OACA,UACA1C,KAAKqC,kBACLrC,KAAK+B,eACL/B,KAAKK,SAAW,WAAa,G","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as e,h as o}from"./p-Bq-7EdcD.js";const a=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}.dropdown-header{display:flex;padding:8px 16px;align-items:center;gap:8px;align-self:stretch;border-bottom:1px solid #EEEDED;font-family:var(--ifx-font-family)}.dropdown-header span{color:#575352;font-family:var(--ifx-font-family);font-size:14px;font-style:normal;font-weight:400;line-height:20px;}';const r=class{constructor(o){e(this,o)}render(){return o("div",{key:"fb44be3a97b0d43bdc771a216cdf66dbb6d9fd60",class:"dropdown-header"},o("span",{key:"e5303390c42d9f6d536fe747e3aece317ba4cf18"},o("slot",{key:"a513ba5f1960a0c00099103b81449ee1ec30b9c1"})))}};r.style=a;export{r as ifx_dropdown_header};
2
- //# sourceMappingURL=p-d06b42ca.entry.js.map
1
+ import{r as e,h as o}from"./p-PqnYwNKt.js";const a=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}.dropdown-header{display:flex;padding:8px 16px;align-items:center;gap:8px;align-self:stretch;border-bottom:1px solid #EEEDED;font-family:var(--ifx-font-family)}.dropdown-header span{color:#575352;font-family:var(--ifx-font-family);font-size:14px;font-style:normal;font-weight:400;line-height:20px;}';const r=class{constructor(o){e(this,o)}render(){return o("div",{key:"fb44be3a97b0d43bdc771a216cdf66dbb6d9fd60",class:"dropdown-header"},o("span",{key:"e5303390c42d9f6d536fe747e3aece317ba4cf18"},o("slot",{key:"a513ba5f1960a0c00099103b81449ee1ec30b9c1"})))}};r.style=a;export{r as ifx_dropdown_header};
2
+ //# sourceMappingURL=p-3eeacac9.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["dropdownHeaderCss","DropdownHeader","render","h","key","class"],"sources":["src/components/dropdown/dropdown-header/dropdown-header.scss?tag=ifx-dropdown-header&encapsulation=shadow","src/components/dropdown/dropdown-header/dropdown-header.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../../global/font.scss\";\n\n.dropdown-header {\n display: flex;\n padding: 8px 16px;\n align-items: center;\n gap: 8px;\n align-self: stretch;\n border-bottom: 1px solid tokens.$ifxColorEngineering200;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n\n & span {\n color: tokens.$ifxColorEngineering500;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n /* 142.857% */\n }\n}","// dropdown-separator.tsx\nimport { Component, h } from \"@stencil/core\";\n\n@Component({\n tag: 'ifx-dropdown-header',\n styleUrl: 'dropdown-header.scss',\n shadow: true\n})\n\nexport class DropdownHeader {\n render() {\n return (\n <div class='dropdown-header'>\n <span>\n <slot />\n </span>\n </div>\n )\n }\n}"],"mappings":"2CAAA,MAAMA,EAAoB,0W,MCSbC,EAAc,M,yBACzB,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,mBACTF,EAAA,QAAAC,IAAA,4CACED,EAAQ,QAAAC,IAAA,8C","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,c as e,h as s,a as i}from"./p-Bq-7EdcD.js";const a=".list-entry{display:flex;align-items:center;margin-top:8px;align-self:stretch}";const r=class{constructor(s){t(this,s);this.ifxListEntryChange=e(this,"ifxListEntryChange",7)}valueChanged(t){if(t){this.host.setAttribute("value","true")}else{this.host.removeAttribute("value")}}handleFilterEntryChange(t){this.value=t.detail;this.ifxListEntryChange.emit({label:this.label,value:this.value,type:this.type})}render(){return s("div",{key:"696527cfd70dab938c5cb9ee45add98cfda271ec",class:"wrapper"},this.type==="checkbox"?s("div",{class:"list-entry"},s("ifx-checkbox",{size:"s",checked:this.value},this.label)):s("div",{class:"list-entry"},s("ifx-radio-button",{size:"s",checked:this.value},this.label)))}get host(){return i(this)}static get watchers(){return{value:["valueChanged"]}}};r.style=a;export{r as ifx_list_entry};
2
- //# sourceMappingURL=p-bd24344b.entry.js.map
1
+ import{r as t,c as e,h as s,a as i}from"./p-PqnYwNKt.js";const a=".list-entry{display:flex;align-items:center;margin-top:8px;align-self:stretch}";const r=class{constructor(s){t(this,s);this.ifxListEntryChange=e(this,"ifxListEntryChange",7)}valueChanged(t){if(t){this.host.setAttribute("value","true")}else{this.host.removeAttribute("value")}}handleFilterEntryChange(t){this.value=t.detail;this.ifxListEntryChange.emit({label:this.label,value:this.value,type:this.type})}render(){return s("div",{key:"696527cfd70dab938c5cb9ee45add98cfda271ec",class:"wrapper"},this.type==="checkbox"?s("div",{class:"list-entry"},s("ifx-checkbox",{size:"s",checked:this.value},this.label)):s("div",{class:"list-entry"},s("ifx-radio-button",{size:"s",checked:this.value},this.label)))}get host(){return i(this)}static get watchers(){return{value:["valueChanged"]}}};r.style=a;export{r as ifx_list_entry};
2
+ //# sourceMappingURL=p-45dad0d1.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["listEntryCss","ListEntry","valueChanged","newValue","this","host","setAttribute","removeAttribute","handleFilterEntryChange","event","value","detail","ifxListEntryChange","emit","label","type","render","h","key","class","size","checked"],"sources":["src/components/table-advanced-version/list/list-entry/list-entry.scss?tag=ifx-list-entry&encapsulation=shadow","src/components/table-advanced-version/list/list-entry/list-entry.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n\n.list-entry {\n display: flex;\n align-items: center;\n margin-top: tokens.$ifxSpace100; //gap doesnt apply to child elements\n align-self: stretch;\n}","import { Component, h, Prop, Event, EventEmitter, Listen, Watch, Element } from '@stencil/core';\n\n@Component({\n tag: 'ifx-list-entry',\n styleUrl: 'list-entry.scss',\n shadow: true,\n})\nexport class ListEntry {\n @Element() host: HTMLElement;\n @Prop({ mutable: true }) value: boolean;\n @Prop() label: string;\n\n @Prop() type: string;\n @Event() ifxListEntryChange: EventEmitter;\n\n\n @Watch('value')\n valueChanged(newValue: boolean) {\n if (newValue) {\n this.host.setAttribute('value', 'true');\n } else {\n this.host.removeAttribute('value');\n }\n }\n\n @Listen('ifxChange')\n handleFilterEntryChange(event: CustomEvent) {\n this.value = event.detail;\n this.ifxListEntryChange.emit({ label: this.label, value: this.value, type: this.type });\n }\n\n\n render() {\n return (\n <div class=\"wrapper\">\n {this.type === 'checkbox' ? (\n <div class=\"list-entry\">\n <ifx-checkbox size=\"s\" checked={this.value}>{this.label}</ifx-checkbox>\n </div>\n ) : (\n <div class=\"list-entry\">\n <ifx-radio-button size=\"s\" checked={this.value}>{this.label}</ifx-radio-button>\n </div>\n )}\n </div>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAe,iF,MCORC,EAAS,M,gFAUpB,YAAAC,CAAaC,GACX,GAAIA,EAAU,CACZC,KAAKC,KAAKC,aAAa,QAAS,O,KAC3B,CACLF,KAAKC,KAAKE,gBAAgB,Q,EAK9B,uBAAAC,CAAwBC,GACtBL,KAAKM,MAAQD,EAAME,OACnBP,KAAKQ,mBAAmBC,KAAK,CAAEC,MAAOV,KAAKU,MAAOJ,MAAON,KAAKM,MAAOK,KAAMX,KAAKW,M,CAIlF,MAAAC,GACE,OACEC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,WACRf,KAAKW,OAAS,WACbE,EAAK,OAAAE,MAAM,cACTF,EAAc,gBAAAG,KAAK,IAAIC,QAASjB,KAAKM,OAAQN,KAAKU,QAGpDG,EAAA,OAAKE,MAAM,cACTF,EAAA,oBAAkBG,KAAK,IAAIC,QAASjB,KAAKM,OAAQN,KAAKU,Q","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,c as s,h as i,a as e}from"./p-Bq-7EdcD.js";const h=".link-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:8px}";const r=class{constructor(i){t(this,i);this.ifxListUpdate=s(this,"ifxListUpdate",7);this.expanded=false;this.showMore=false;this.selectedCount=0;this.totalItems=0;this.name="";this.maxVisibleItems=6;this.type="checkbox";this.internalResetTrigger=false;this.handleMutation=()=>{const t=this.getTotalItems();if(t!==this.totalItems){this.totalItems=t;this.handleCheckedChange()}this.updateListEntriesType(this.type)};this.toggleList=t=>{t.stopPropagation();this.expanded=!this.expanded};this.toggleShowMore=t=>{t.stopPropagation();this.showMore=!this.showMore};this.handleCheckedChange=t=>{if(t&&t.detail.type==="radio-button"&&t.detail.value){const s=Array.from(this.el.querySelectorAll("ifx-list-entry")).filter((s=>s.getAttribute("type")==="radio-button"&&s!==t.target));s.forEach((t=>t.setAttribute("value","false")))}const s=this.getSelectedItems(this.el);this.selectedCount=s.length;this.ifxListUpdate.emit({name:this.name,selectedItems:s})}}handleTypeChange(t){this.updateListEntriesType(t)}resetTriggerChanged(t){if(t){this.reset();this.resetTrigger=false}}componentWillLoad(){this.setupListenersAndObservers();this.initializeList()}disconnectedCallback(){this.cleanupListenersAndObservers()}reset(){this.resetListEntries();this.expanded=false;this.showMore=false;this.selectedCount=0;this.ifxListUpdate.emit({name:this.name,selectedItems:[]})}render(){return this.renderList()}setupListenersAndObservers(){this.el.addEventListener("ifxListEntryChange",this.handleCheckedChange);this.observer=new MutationObserver(this.handleMutation);this.observer.observe(this.el,{childList:true})}cleanupListenersAndObservers(){this.el.removeEventListener("ifxListEntryChange",this.handleCheckedChange);this.observer.disconnect()}initializeList(){this.selectedCount=this.getSelectedItems(this.el).length;this.totalItems=this.getTotalItems();this.updateListEntriesType(this.type);this.checkRadioButtonConstraint()}updateListEntriesType(t){const s=Array.from(this.el.querySelectorAll("ifx-list-entry"));s.forEach((s=>s.setAttribute("type",t)))}resetListEntries(){const t=Array.from(this.el.querySelectorAll("ifx-list-entry"));t.forEach((t=>{t.value=false;t.setAttribute("value","false")}))}checkRadioButtonConstraint(){if(this.type==="radio-button"&&this.selectedCount>1){this.resetListEntries();this.selectedCount=0}}getTotalItems(){return this.el.querySelectorAll("ifx-list-entry").length}getSelectedItems(t){return Array.from(t.querySelectorAll("ifx-list-entry")).filter((t=>t.getAttribute("value")==="true")).map((t=>({label:t.getAttribute("label"),value:t.getAttribute("value"),type:t.getAttribute("type"),element:t})))}renderList(){const t=Array.from(this.el.querySelectorAll("ifx-list-entry"));const s=this.showMore?t:t.slice(0,this.maxVisibleItems);const e=t.length-s.length;return i("div",{class:"list-wrapper"},s.map((t=>i("slot",{name:t.getAttribute("slot")}))),(e>0||this.showMore)&&i("div",{class:"link-wrapper",onClick:this.toggleShowMore},i("ifx-icon",{key:this.showMore.toString(),icon:this.showMore?"chevron-up-16":"chevron-down-16"}),i("ifx-link",{size:"s",href:"",target:"_blank",variant:"underlined",disabled:false},this.showMore?"Show less":`Show ${e} more`)))}get el(){return e(this)}static get watchers(){return{type:["handleTypeChange"],resetTrigger:["resetTriggerChanged"]}}};r.style=h;export{r as ifx_list};
2
- //# sourceMappingURL=p-007bb0d4.entry.js.map
1
+ import{r as t,c as s,h as i,a as e}from"./p-PqnYwNKt.js";const h=".link-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:8px}";const r=class{constructor(i){t(this,i);this.ifxListUpdate=s(this,"ifxListUpdate",7);this.expanded=false;this.showMore=false;this.selectedCount=0;this.totalItems=0;this.name="";this.maxVisibleItems=6;this.type="checkbox";this.internalResetTrigger=false;this.handleMutation=()=>{const t=this.getTotalItems();if(t!==this.totalItems){this.totalItems=t;this.handleCheckedChange()}this.updateListEntriesType(this.type)};this.toggleList=t=>{t.stopPropagation();this.expanded=!this.expanded};this.toggleShowMore=t=>{t.stopPropagation();this.showMore=!this.showMore};this.handleCheckedChange=t=>{if(t&&t.detail.type==="radio-button"&&t.detail.value){const s=Array.from(this.el.querySelectorAll("ifx-list-entry")).filter((s=>s.getAttribute("type")==="radio-button"&&s!==t.target));s.forEach((t=>t.setAttribute("value","false")))}const s=this.getSelectedItems(this.el);this.selectedCount=s.length;this.ifxListUpdate.emit({name:this.name,selectedItems:s})}}handleTypeChange(t){this.updateListEntriesType(t)}resetTriggerChanged(t){if(t){this.reset();this.resetTrigger=false}}componentWillLoad(){this.setupListenersAndObservers();this.initializeList()}disconnectedCallback(){this.cleanupListenersAndObservers()}reset(){this.resetListEntries();this.expanded=false;this.showMore=false;this.selectedCount=0;this.ifxListUpdate.emit({name:this.name,selectedItems:[]})}render(){return this.renderList()}setupListenersAndObservers(){this.el.addEventListener("ifxListEntryChange",this.handleCheckedChange);this.observer=new MutationObserver(this.handleMutation);this.observer.observe(this.el,{childList:true})}cleanupListenersAndObservers(){this.el.removeEventListener("ifxListEntryChange",this.handleCheckedChange);this.observer.disconnect()}initializeList(){this.selectedCount=this.getSelectedItems(this.el).length;this.totalItems=this.getTotalItems();this.updateListEntriesType(this.type);this.checkRadioButtonConstraint()}updateListEntriesType(t){const s=Array.from(this.el.querySelectorAll("ifx-list-entry"));s.forEach((s=>s.setAttribute("type",t)))}resetListEntries(){const t=Array.from(this.el.querySelectorAll("ifx-list-entry"));t.forEach((t=>{t.value=false;t.setAttribute("value","false")}))}checkRadioButtonConstraint(){if(this.type==="radio-button"&&this.selectedCount>1){this.resetListEntries();this.selectedCount=0}}getTotalItems(){return this.el.querySelectorAll("ifx-list-entry").length}getSelectedItems(t){return Array.from(t.querySelectorAll("ifx-list-entry")).filter((t=>t.getAttribute("value")==="true")).map((t=>({label:t.getAttribute("label"),value:t.getAttribute("value"),type:t.getAttribute("type"),element:t})))}renderList(){const t=Array.from(this.el.querySelectorAll("ifx-list-entry"));const s=this.showMore?t:t.slice(0,this.maxVisibleItems);const e=t.length-s.length;return i("div",{class:"list-wrapper"},s.map((t=>i("slot",{name:t.getAttribute("slot")}))),(e>0||this.showMore)&&i("div",{class:"link-wrapper",onClick:this.toggleShowMore},i("ifx-icon",{key:this.showMore.toString(),icon:this.showMore?"chevron-up-16":"chevron-down-16"}),i("ifx-link",{size:"s",href:"",target:"_blank",variant:"underlined",disabled:false},this.showMore?"Show less":`Show ${e} more`)))}get el(){return e(this)}static get watchers(){return{type:["handleTypeChange"],resetTrigger:["resetTriggerChanged"]}}};r.style=h;export{r as ifx_list};
2
+ //# sourceMappingURL=p-4669e01f.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["listCss","List","constructor","hostRef","this","expanded","showMore","selectedCount","totalItems","name","maxVisibleItems","type","internalResetTrigger","handleMutation","newTotalItems","getTotalItems","handleCheckedChange","updateListEntriesType","toggleList","event","stopPropagation","toggleShowMore","detail","value","otherRadioButtons","Array","from","el","querySelectorAll","filter","entry","getAttribute","target","forEach","radioButton","setAttribute","selectedItems","getSelectedItems","length","ifxListUpdate","emit","handleTypeChange","newType","resetTriggerChanged","newValue","reset","resetTrigger","componentWillLoad","setupListenersAndObservers","initializeList","disconnectedCallback","cleanupListenersAndObservers","resetListEntries","render","renderList","addEventListener","observer","MutationObserver","observe","childList","removeEventListener","disconnect","checkRadioButtonConstraint","listEntries","map","label","element","visibleItems","slice","remainingItems","h","class","onClick","key","toString","icon","size","href","variant","disabled"],"sources":["src/components/table-advanced-version/list/list.scss?tag=ifx-list&encapsulation=shadow","src/components/table-advanced-version/list/list.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n.link-wrapper {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: tokens.$ifxSpace100;\n margin-top: tokens.$ifxSpace100;\n}","import { Component, h, Prop, State, Event, EventEmitter, Element, Watch } from '@stencil/core';\n\n@Component({\n tag: 'ifx-list',\n styleUrl: 'list.scss',\n shadow: true,\n})\nexport class List {\n @Element() private el: HTMLElement;\n @State() expanded: boolean = false;\n @State() showMore = false;\n @State() selectedCount: number = 0;\n @State() totalItems = 0;\n @Prop() name = \"\";\n @Prop() maxVisibleItems = 6;\n @Prop() type: string = \"checkbox\"; //default value\n @Prop({ mutable: true }) resetTrigger: boolean;\n @State() internalResetTrigger: boolean = false;\n\n @Event() ifxListUpdate: EventEmitter;\n\n observer: MutationObserver;\n\n @Watch('type')\n handleTypeChange(newType: string) {\n this.updateListEntriesType(newType);\n }\n\n @Watch('resetTrigger')\n resetTriggerChanged(newValue: boolean) {\n if (newValue) {\n this.reset();\n this.resetTrigger = false; // Resetting the trigger after the action is performed\n }\n }\n\n componentWillLoad() {\n this.setupListenersAndObservers();\n this.initializeList();\n }\n\n disconnectedCallback() {\n this.cleanupListenersAndObservers();\n }\n\n reset() {\n this.resetListEntries();\n this.expanded = false;\n this.showMore = false;\n this.selectedCount = 0;\n this.ifxListUpdate.emit({ name: this.name, selectedItems: [] });\n }\n\n\n render() {\n return this.renderList();\n }\n\n\n // Refactored methods for clarity and maintainability\n private setupListenersAndObservers() {\n this.el.addEventListener('ifxListEntryChange', this.handleCheckedChange);\n this.observer = new MutationObserver(this.handleMutation);\n this.observer.observe(this.el, { childList: true });\n }\n\n private cleanupListenersAndObservers() {\n this.el.removeEventListener('ifxListEntryChange', this.handleCheckedChange);\n this.observer.disconnect();\n }\n \n private initializeList() {\n this.selectedCount = this.getSelectedItems(this.el).length;\n this.totalItems = this.getTotalItems();\n this.updateListEntriesType(this.type);\n this.checkRadioButtonConstraint();\n }\n\n \n private updateListEntriesType(newType: string) {\n const listEntries = Array.from(this.el.querySelectorAll('ifx-list-entry'));\n listEntries.forEach(entry => entry.setAttribute('type', newType));\n }\n\n private resetListEntries() {\n const listEntries = Array.from(this.el.querySelectorAll('ifx-list-entry'));\n listEntries.forEach(entry => {\n entry.value = false;\n entry.setAttribute('value', 'false');\n });\n }\n\n private handleMutation = () => {\n const newTotalItems = this.getTotalItems();\n if (newTotalItems !== this.totalItems) {\n this.totalItems = newTotalItems;\n this.handleCheckedChange();\n }\n this.updateListEntriesType(this.type);\n }\n\n private checkRadioButtonConstraint() {\n if (this.type === 'radio-button' && this.selectedCount > 1) {\n this.resetListEntries(); // Reset all and let the user select again\n this.selectedCount = 0;\n }\n }\n\n getTotalItems() {\n return this.el.querySelectorAll('ifx-list-entry').length;\n }\n\n\n toggleList = (event: MouseEvent) => {\n event.stopPropagation();\n this.expanded = !this.expanded;\n }\n\n toggleShowMore = (event: MouseEvent) => {\n event.stopPropagation();\n this.showMore = !this.showMore;\n }\n\n getSelectedItems(el: HTMLElement) {\n return Array.from(el.querySelectorAll('ifx-list-entry'))\n .filter(entry => entry.getAttribute('value') === 'true')\n .map(entry => ({\n label: entry.getAttribute('label'),\n value: entry.getAttribute('value'),\n type: entry.getAttribute('type'),\n element: entry\n }));\n }\n\n\n handleCheckedChange = (event?: CustomEvent) => {\n // If the type of the changed entry is 'radio-button' and its value is true, deselect all other radio buttons\n if (event && event.detail.type === 'radio-button' && event.detail.value) {\n const otherRadioButtons = Array.from(this.el.querySelectorAll('ifx-list-entry'))\n .filter(entry => entry.getAttribute('type') === 'radio-button' && entry !== event.target);\n otherRadioButtons.forEach(radioButton => radioButton.setAttribute('value', 'false'));\n }\n\n const selectedItems = this.getSelectedItems(this.el);\n this.selectedCount = selectedItems.length;\n\n this.ifxListUpdate.emit({ name: this.name, selectedItems });\n }\n\n private renderList() {\n const listEntries = Array.from(this.el.querySelectorAll('ifx-list-entry'));\n const visibleItems = this.showMore ? listEntries : listEntries.slice(0, this.maxVisibleItems);\n const remainingItems = listEntries.length - visibleItems.length;\n\n return (\n <div class=\"list-wrapper\">\n {visibleItems.map(entry => <slot name={entry.getAttribute('slot')}></slot>)}\n {(remainingItems > 0 || this.showMore) && (\n <div class=\"link-wrapper\" onClick={this.toggleShowMore}>\n <ifx-icon key={this.showMore.toString()} icon={this.showMore ? 'chevron-up-16' : 'chevron-down-16'} />\n <ifx-link size=\"s\" href=\"\" target=\"_blank\" variant=\"underlined\" disabled={false} >\n {this.showMore ? 'Show less' : `Show ${remainingItems} more`}\n </ifx-link>\n </div>\n )}\n </div>\n );\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as e,c as i,h as t,a}from"./p-Bq-7EdcD.js";import{d as r,t as s}from"./p-DcmcuUOA.js";import{i as n}from"./p-Bw2fh5LT.js";const l=':root{--ifx-font-family:"Source Sans 3", "Arial, 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-radius:9999px;background:#FFFFFF;cursor:pointer;transition:border 100ms ease;font:400 0.875rem/1.25rem "Source Sans 3"}.chip__wrapper .icon__wrapper{display:flex}.chip__wrapper.outlined,.chip__wrapper.filled-dark,.chip__wrapper.filled-light{outline:2px solid transparent}.chip__wrapper.outlined:focus-visible,.chip__wrapper.filled-dark:focus-visible,.chip__wrapper.filled-light:focus-visible{outline:2px solid #0A8276;outline-offset:2px}.chip__wrapper.outlined.chip__wrapper--opened .wrapper__open-button,.chip__wrapper.filled-dark.chip__wrapper--opened .wrapper__open-button,.chip__wrapper.filled-light.chip__wrapper--opened .wrapper__open-button{transform:rotate(-180deg)}.chip__wrapper.outlined.chip__wrapper--selected .wrapper__label .label__selected-options,.chip__wrapper.filled-dark.chip__wrapper--selected .wrapper__label .label__selected-options,.chip__wrapper.filled-light.chip__wrapper--selected .wrapper__label .label__selected-options{font:400 0.875rem/1.25rem "Source Sans 3"}.chip__wrapper.filled-dark.chip__wrapper--selected:not(.read-only),.chip__wrapper.filled-light.chip__wrapper--selected:not(.read-only){background-color:#0A8276;color:white}.chip__wrapper.filled-dark.chip__wrapper--selected:not(.read-only):hover,.chip__wrapper.filled-light.chip__wrapper--selected:not(.read-only):hover{background-color:#08665C}.chip__wrapper.filled-dark.chip__wrapper--selected:not(.read-only):hover.disabled,.chip__wrapper.filled-light.chip__wrapper--selected:not(.read-only):hover.disabled{background-color:#0A8276}.chip__wrapper.outlined{border:1px solid #8D8786}.chip__wrapper.outlined:hover:not(.read-only){border-color:#575352;background-color:#F7F7F7}.chip__wrapper.outlined:active:not(.read-only){border-color:#575352;background-color:#BFBBBB}.chip__wrapper.outlined.chip__wrapper--opened{border:1px solid #0A8276}.chip__wrapper.outlined.chip__wrapper--selected{outline:3px solid #0A8276;border:1px solid transparent;background-color:white}.chip__wrapper.outlined.chip__wrapper--selected:focus-visible{outline-offset:0px}.chip__wrapper.outlined.chip__wrapper--selected:hover:not(.read-only){outline-color:#08665C}.chip__wrapper.outlined.chip__wrapper--selected.read-only{outline:none;border:1px solid black}.chip__wrapper.outlined.disabled{outline:none;color:#BFBBBB;border:1px solid #BFBBBB}.chip__wrapper.outlined.disabled:hover{outline:none;border-color:#BFBBBB;background-color:white}.chip__wrapper.outlined.read-only{border:1px solid black}.chip__wrapper.outlined.read-only:focus-visible{outline:2px solid #0A8276;outline-offset:2px}.chip__wrapper.filled-dark{background-color:#3C3A39;color:white}.chip__wrapper.filled-dark:hover:not(.chip__wrapper--selected,.disabled,.read-only){background-color:#575352}.chip__wrapper.filled-dark:active:not(.chip__wrapper--selected,.disabled,.read-only){background-color:#8D8786;color:black}.chip__wrapper.filled-dark.disabled{outline:none;color:#BFBBBB}.chip__wrapper.filled-dark.disabled:hover:not(.chip__wrapper--selected){background-color:#3C3A39}.chip__wrapper.filled-dark.chip__wrapper--selected.read-only{border:1px solid #8D8786}.chip__wrapper.filled-dark.read-only{border:1px solid #8D8786}.chip__wrapper.filled-light{background-color:#EEEDED}.chip__wrapper.filled-light:hover:not(.read-only){background-color:#BFBBBB}.chip__wrapper.filled-light:active:not(.read-only){background-color:#8D8786}.chip__wrapper.filled-light.disabled{outline:none;color:#BFBBBB}.chip__wrapper.filled-light.disabled:hover:not(.chip__wrapper--selected){background-color:#EEEDED}.chip__wrapper.filled-light.chip__wrapper--selected.read-only{border:1px solid black}.chip__wrapper.filled-light.read-only{border:1px solid black}.chip__wrapper.chip__wrapper--small{padding:4px 8px;height:24px}.chip__wrapper.chip__wrapper--medium{padding:4px 12px;height:28px}.chip__wrapper.chip__wrapper--large{padding:8px 12px;height:36px}.wrapper__label{display:inline-flex;align-items:center;gap:4px}.wrapper__label .label__selected-options{font:600 0.875rem/1.25rem "Source Sans 3"}.wrapper__open-button{display:flex;align-items:center}.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 o=class{constructor(t){e(this,t);this.ifxChange=i(this,"ifxChange",7);this.placeholder="";this.size="medium";this.value=undefined;this.variant="single";this.theme="outlined";this.readOnly=false;this.disabled=false;this.icon="";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 a=this.chip.shadowRoot.querySelector(".chip__dropdown");if(!i.includes(a)&&!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 a=t.shadowRoot.querySelector(".chip-item");if(a){setTimeout((()=>{a.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?this.size:"medium",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)}async componentDidLoad(){if(!n(this.chip)){const e=r();s("ifx-chip",await e)}}render(){return t("div",{key:"cd16644a94a1e31cea0b2cbbe39394d4a05a5a5b",class:"chip"},t("div",{key:"951decf38e88ff684f283a09f6bc513ca4a2c704",class:`chip__wrapper chip__wrapper--${this.size?this.size:"medium"}\n chip__wrapper--${this.variant==="multi"?"multi":"single"}\n ${this.opened&&!this.readOnly?"chip__wrapper--opened":""}\n ${this.selectedOptions.length?"chip__wrapper--selected":""}\n ${this.theme?this.theme:"outlined"}\n ${this.disabled?"disabled":""}\n ${this.readOnly?"read-only":""}`,tabIndex:0,onClick:!this.readOnly&&!this.disabled?()=>{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},this.icon&&t("div",{key:"cd8ab00ddfde3ba1dcdb7a82f963df1b81e4b5d5",class:"icon__wrapper"},t("ifx-icon",{key:"b14f92a609f24bc0b4617bb2b0d8262c52f11fab",icon:this.icon})),t("div",{key:"7ac3305d90985ddf45eb4df3cc22f9de89bf60de",class:"wrapper__label"},this.selectedOptions.length===0&&`${this.placeholder}`,this.selectedOptions.length!==0&&this.variant==="multi"&&this.placeholder!==""&&`${this.placeholder}:`,this.selectedOptions.length!==0&&t("div",{key:"e7c907adafd7e1601a4cbd05e1a7b415e1da05b6",class:"label__selected-options"},this.getSelectedOptions()),this.selectedOptions.length>2&&this.variant==="multi"&&t("ifx-indicator",{key:"4520777b0d729d95d57d87d5a32a95fcf44e0d84",variant:"number",inverted:this.theme==="outlined"?false:true,number:this.selectedOptions.length-2})),!this.readOnly&&(this.variant!=="multi"||this.variant==="multi"&&this.selectedOptions.length===0)&&t("div",{key:"ade24c6456b5443be577a4c0bd61d1b2dba68c91",class:"wrapper__open-button"},t("ifx-icon",{key:1,icon:`chevron-down-16`})),this.selectedOptions.length>=1&&this.variant==="multi"&&t("div",{key:"8b1937382b467ca305493896aaf065c10f7a01e8",class:"wrapper__unselect-button",onClick:!this.readOnly&&!this.disabled?e=>{this.handleUnselectButtonClick(e)}:undefined},t("ifx-icon",{key:2,icon:`cross16`}))),this.opened&&!this.readOnly&&t("div",{key:"073b6641d2320716a6d4b1149e72b61fa9b47dd8",id:"dropdown",role:"listbox",class:"chip__dropdown"},t("slot",{key:"55587cb1d438b11f0682c3b1d596a5dfb1d251d0"})))}get chip(){return a(this)}static get watchers(){return{value:["handleValueChange"],readOnly:["handleReadOnlyChange"]}}};o.style=l;const p=':root{--ifx-font-family:"Source Sans 3", "Arial, 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=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:"4d5ace01c02658ed46fbf42c36138a06c3d46049",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:"bf1af2aaf0944351eb33ace8c704bbb4973951d6",checked:this.selected,tabIndex:-1,size:"s"}),t("div",{key:"50347975f1554b7a02ef2bde34750b361daad549",class:"chip-item__label"}," ",t("slot",{key:"9667dd32c70e5f4a7946499f828883efb10caff2"})," "),t("div",{key:"f2fcab283b717837bc8b6c09b6b3c6c72675e40c",class:"chip-item__selected-indicator"},t("ifx-icon",{key:"84e489e9a638f2165c436b10bea8d826ae6db11c",icon:"check-16"}," ")))}get chipItem(){return a(this)}static get watchers(){return{selected:["validateSelected"]}}};c.style=p;const h=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:inline-flex}.container{display:inline-flex;justify-content:center;align-items:center;gap:32px;font-family:var(--ifx-font-family);flex-wrap:wrap}.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}.page__button{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) page__button{background-color:#EEEDED}li:active:not(.active) .page__button{background-color:#575352;color:#fff}li.active{background-color:#0A8276}li.active .page__button{color:#fff}li:hover{cursor:pointer}li .page__button{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 (max-width: 768px){.container{gap:16px;justify-content:left}.container .items__total-wrapper .pagination ol{gap:12px}}@media (max-width: 374px){.pagination .ellipsis+.active{margin-left:8px}.pagination .active+.ellipsis{margin-left:8px}}';const d=class{constructor(t){e(this,t);this.ifxPageChange=i(this,"ifxPageChange",7);this.ifxItemsPerPageChange=i(this,"ifxItemsPerPageChange",7);this.currentPage=1;this.showItemsPerPage=true;this.internalPage=1;this.internalItemsPerPage=10;this.numberOfPages=[];this.total=1;this.filteredItemsPerPage=[];this.visiblePages=[];this.CLASS_DISABLED="disabled";this.CLASS_ACTIVE="active";this.handlePageClick=e=>{const i=e.currentTarget;const t=parseInt(i.dataset.page);if(!isNaN(t))this.changePage(t)};this.handleResize=()=>{clearTimeout(this.resizeTimeout);this.resizeTimeout=setTimeout((()=>{this.updateVisiblePages()}),100)}}watchTotalHandler(){this.calculateNumberOfPages();this.updateVisiblePages()}currentPageWatcher(e){this.internalPage=Math.max(1,Math.min(e,this.numberOfPages.length));this.calculateNumberOfPages();this.updateVisiblePages()}setItemsPerPage(e){var i,t;const a=((i=e.detail)===null||i===void 0?void 0:i.value)||((t=e.detail)===null||t===void 0?void 0:t.label);const r=parseInt(a)||10;if(r===this.internalItemsPerPage){return}this.internalItemsPerPage=r;this.internalPage=1;this.calculateNumberOfPages();this.updateVisiblePages();this.handleEventEmission()}emitItemsPerPage(e){this.ifxItemsPerPageChange.emit(e.detail.label)}async componentDidLoad(){if(this.showItemsPerPage){const e=this.el.shadowRoot.querySelector("#itemsPerPageSelect");if(e){e.addEventListener("ifxSelect",(e=>this.emitItemsPerPage(e)))}}window.addEventListener("resize",this.handleResize);if(!n(this.el)){const e=r();s("ifx-pagination",await e)}this.initPagination()}disconnectedCallback(){if(this.showItemsPerPage){const e=this.el.shadowRoot.querySelector("#itemsPerPageSelect");if(e){e.removeEventListener("ifxSelect",(e=>this.emitItemsPerPage(e)))}}window.removeEventListener("resize",this.handleResize);if(this.resizeTimeout){clearTimeout(this.resizeTimeout)}}updateVisiblePages(){const e=window.innerWidth<375;const i=this.numberOfPages.length;const t=this.internalPage;let a=[];if(e){if(i<=5){a=[...this.numberOfPages]}else{a.push(1);if(t<=2){a.push(2,3,"...",i)}else if(t>=i-1){a.push("...",i-2,i-1,i)}else{a.push("...",t,"...",i)}}}else{const e=2;if(i<=7){a=[...this.numberOfPages]}else{a.push(1);let r=Math.max(2,t-e);let s=Math.min(i-1,t+e);if(t<=4){r=2;s=Math.min(i-1,5)}else if(t>=i-3){r=Math.max(2,i-4);s=i-1}else{r=t-1;s=t+1}if(r>2){a.push("...")}for(let e=r;e<=s;e++){a.push(e)}if(s<i-1){a.push("...")}a.push(i)}}this.visiblePages=a}calculateNumberOfPages(){const e=Math.ceil(this.total/this.internalItemsPerPage);this.numberOfPages=Array.from({length:e},((e,i)=>i+1));this.internalPage=Math.max(1,Math.min(this.currentPage,e))}filterOptionsArray(){const e=typeof this.itemsPerPage==="string"?JSON.parse(this.itemsPerPage):this.itemsPerPage;this.filteredItemsPerPage=e.map((e=>Object.assign(Object.assign({},e),{label:e.label||e.value})))}componentWillLoad(){this.filterOptionsArray();const e=this.filteredItemsPerPage.find((e=>e.selected));if(e){this.internalItemsPerPage=Number(e.value)}else if(this.filteredItemsPerPage.length>0){this.internalItemsPerPage=Number(this.filteredItemsPerPage[0].value)}this.calculateNumberOfPages();this.internalPage=Math.max(1,Math.min(this.currentPage,this.numberOfPages.length));this.updateVisiblePages()}componentWillUpdate(){if(this.prevInternalPage!==this.internalPage){this.updateVisiblePages();this.prevInternalPage=this.internalPage}}componentDidUpdate(){this.initPagination()}handleEventEmission(){this.ifxPageChange.emit({currentPage:this.internalPage,totalPages:this.numberOfPages.length,itemsPerPage:this.internalItemsPerPage})}initPagination(){const e=this.el.shadowRoot.querySelector(".pagination");if(!e)return;const i=()=>{const i=e.querySelector(".prev");const t=e.querySelector(".next");if(i){i.disabled=this.internalPage===1;i.classList.toggle(this.CLASS_DISABLED,this.internalPage===1)}if(t){t.disabled=this.internalPage===this.numberOfPages.length;t.classList.toggle(this.CLASS_DISABLED,this.internalPage===this.numberOfPages.length)}};e.querySelectorAll("li").forEach((e=>{e.removeEventListener("click",this.handlePageClick);e.addEventListener("click",this.handlePageClick)}));i()}changePage(e){e=Math.max(1,Math.min(e,this.numberOfPages.length));if(e===this.internalPage)return;this.internalPage=e;this.handleEventEmission();this.initPagination()}render(){return t("div",{key:"9a4b41bb714202dcc144f626b9a2096480852ad6",class:"container"},this.showItemsPerPage&&t("div",{key:"9e829381e98967180e89bf8f8988c67bbb998814",class:"items__per-page-wrapper"},t("div",{key:"be5d328337c18096cd1363f3c7c0c060693fe525",class:"items__per-page-label"},"Results per Page"),t("div",{key:"37f663194a695059779305e0723321c26f55d191",class:"items__per-page-field"},t("ifx-select",{key:"916cc188fd2f7d86243db5955f091e188defbacc",id:"itemsPerPageSelect",placeholder:"false","show-search":"false",value:undefined,disabled:false,error:false,size:"s",options:this.filteredItemsPerPage,"placeholder-value":"Select"}))),t("div",{key:"f6531ac8c0710f53ff375e8ee4fa19bb47be5cef",class:"items__total-wrapper"},t("div",{key:"4edaf3f1bc17c3423c2b39473a0f5ddc959278d6",class:"pagination"},t("ifx-icon-button",{key:"7341fced786739f5970cfc9940381b2b2901de63",class:"prev",icon:"arrow-left-16","aria-label":"Previous Page",onClick:()=>this.changePage(this.internalPage-1),variant:"secondary"}),t("ol",{key:"b7af29f3b08ee99b3c880c7af51b4d491630e55c"},this.visiblePages.map(((e,i)=>typeof e==="number"?t("li",{key:`page-${e}`,class:{[this.CLASS_ACTIVE]:e===this.internalPage},"data-page":e},t("span",{class:"page__button",role:"button",tabindex:"0","aria-current":e===this.internalPage?"page":undefined,"aria-label":`Page ${e}`,onClick:()=>this.changePage(e),onKeyDown:i=>(i.key==="Enter"||i.key===" ")&&this.changePage(e)},e)):t("li",{class:"ellipsis",key:`ellipsis-${i}`},t("span",{"aria-hidden":"true"},"..."))))),t("ifx-icon-button",{key:"5bdcefa2773fb49f8d7c4190a48fe5a98f6e0442",class:"next",icon:"arrow-right-16","aria-label":"Next Page",onClick:()=>this.changePage(this.internalPage+1),variant:"secondary"}))))}get el(){return a(this)}static get watchers(){return{total:["watchTotalHandler"],currentPage:["currentPageWatcher"]}}};d.style=h;export{o as ifx_chip,c as ifx_chip_item,d as ifx_pagination};
2
- //# sourceMappingURL=p-25297147.entry.js.map
1
+ import{r as e,c as i,h as t,a}from"./p-PqnYwNKt.js";import{d as r,t as s}from"./p-DcmcuUOA.js";import{i as n}from"./p-Bw2fh5LT.js";const l=':root{--ifx-font-family:"Source Sans 3", "Arial, 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-radius:9999px;background:#FFFFFF;cursor:pointer;transition:border 100ms ease;font:400 0.875rem/1.25rem "Source Sans 3"}.chip__wrapper .icon__wrapper{display:flex}.chip__wrapper.outlined,.chip__wrapper.filled-dark,.chip__wrapper.filled-light{outline:2px solid transparent}.chip__wrapper.outlined:focus-visible,.chip__wrapper.filled-dark:focus-visible,.chip__wrapper.filled-light:focus-visible{outline:2px solid #0A8276;outline-offset:2px}.chip__wrapper.outlined.chip__wrapper--opened .wrapper__open-button,.chip__wrapper.filled-dark.chip__wrapper--opened .wrapper__open-button,.chip__wrapper.filled-light.chip__wrapper--opened .wrapper__open-button{transform:rotate(-180deg)}.chip__wrapper.outlined.chip__wrapper--selected .wrapper__label .label__selected-options,.chip__wrapper.filled-dark.chip__wrapper--selected .wrapper__label .label__selected-options,.chip__wrapper.filled-light.chip__wrapper--selected .wrapper__label .label__selected-options{font:400 0.875rem/1.25rem "Source Sans 3"}.chip__wrapper.filled-dark.chip__wrapper--selected:not(.read-only),.chip__wrapper.filled-light.chip__wrapper--selected:not(.read-only){background-color:#0A8276;color:white}.chip__wrapper.filled-dark.chip__wrapper--selected:not(.read-only):hover,.chip__wrapper.filled-light.chip__wrapper--selected:not(.read-only):hover{background-color:#08665C}.chip__wrapper.filled-dark.chip__wrapper--selected:not(.read-only):hover.disabled,.chip__wrapper.filled-light.chip__wrapper--selected:not(.read-only):hover.disabled{background-color:#0A8276}.chip__wrapper.outlined{border:1px solid #8D8786}.chip__wrapper.outlined:hover:not(.read-only){border-color:#575352;background-color:#F7F7F7}.chip__wrapper.outlined:active:not(.read-only){border-color:#575352;background-color:#BFBBBB}.chip__wrapper.outlined.chip__wrapper--opened{border:1px solid #0A8276}.chip__wrapper.outlined.chip__wrapper--selected{outline:3px solid #0A8276;border:1px solid transparent;background-color:white}.chip__wrapper.outlined.chip__wrapper--selected:focus-visible{outline-offset:0px}.chip__wrapper.outlined.chip__wrapper--selected:hover:not(.read-only){outline-color:#08665C}.chip__wrapper.outlined.chip__wrapper--selected.read-only{outline:none;border:1px solid black}.chip__wrapper.outlined.disabled{outline:none;color:#BFBBBB;border:1px solid #BFBBBB}.chip__wrapper.outlined.disabled:hover{outline:none;border-color:#BFBBBB;background-color:white}.chip__wrapper.outlined.read-only{border:1px solid black}.chip__wrapper.outlined.read-only:focus-visible{outline:2px solid #0A8276;outline-offset:2px}.chip__wrapper.filled-dark{background-color:#3C3A39;color:white}.chip__wrapper.filled-dark:hover:not(.chip__wrapper--selected,.disabled,.read-only){background-color:#575352}.chip__wrapper.filled-dark:active:not(.chip__wrapper--selected,.disabled,.read-only){background-color:#8D8786;color:black}.chip__wrapper.filled-dark.disabled{outline:none;color:#BFBBBB}.chip__wrapper.filled-dark.disabled:hover:not(.chip__wrapper--selected){background-color:#3C3A39}.chip__wrapper.filled-dark.chip__wrapper--selected.read-only{border:1px solid #8D8786}.chip__wrapper.filled-dark.read-only{border:1px solid #8D8786}.chip__wrapper.filled-light{background-color:#EEEDED}.chip__wrapper.filled-light:hover:not(.read-only){background-color:#BFBBBB}.chip__wrapper.filled-light:active:not(.read-only){background-color:#8D8786}.chip__wrapper.filled-light.disabled{outline:none;color:#BFBBBB}.chip__wrapper.filled-light.disabled:hover:not(.chip__wrapper--selected){background-color:#EEEDED}.chip__wrapper.filled-light.chip__wrapper--selected.read-only{border:1px solid black}.chip__wrapper.filled-light.read-only{border:1px solid black}.chip__wrapper.chip__wrapper--small{padding:4px 8px;height:24px}.chip__wrapper.chip__wrapper--medium{padding:4px 12px;height:28px}.chip__wrapper.chip__wrapper--large{padding:8px 12px;height:36px}.wrapper__label{display:inline-flex;align-items:center;gap:4px}.wrapper__label .label__selected-options{font:600 0.875rem/1.25rem "Source Sans 3"}.wrapper__open-button{display:flex;align-items:center}.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 o=class{constructor(t){e(this,t);this.ifxChange=i(this,"ifxChange",7);this.placeholder="";this.size="medium";this.value=undefined;this.variant="single";this.theme="outlined";this.readOnly=false;this.disabled=false;this.icon="";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 a=this.chip.shadowRoot.querySelector(".chip__dropdown");if(!i.includes(a)&&!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 a=t.shadowRoot.querySelector(".chip-item");if(a){setTimeout((()=>{a.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?this.size:"medium",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)}async componentDidLoad(){if(!n(this.chip)){const e=r();s("ifx-chip",await e)}}render(){return t("div",{key:"cd16644a94a1e31cea0b2cbbe39394d4a05a5a5b",class:"chip"},t("div",{key:"951decf38e88ff684f283a09f6bc513ca4a2c704",class:`chip__wrapper chip__wrapper--${this.size?this.size:"medium"}\n chip__wrapper--${this.variant==="multi"?"multi":"single"}\n ${this.opened&&!this.readOnly?"chip__wrapper--opened":""}\n ${this.selectedOptions.length?"chip__wrapper--selected":""}\n ${this.theme?this.theme:"outlined"}\n ${this.disabled?"disabled":""}\n ${this.readOnly?"read-only":""}`,tabIndex:0,onClick:!this.readOnly&&!this.disabled?()=>{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},this.icon&&t("div",{key:"cd8ab00ddfde3ba1dcdb7a82f963df1b81e4b5d5",class:"icon__wrapper"},t("ifx-icon",{key:"b14f92a609f24bc0b4617bb2b0d8262c52f11fab",icon:this.icon})),t("div",{key:"7ac3305d90985ddf45eb4df3cc22f9de89bf60de",class:"wrapper__label"},this.selectedOptions.length===0&&`${this.placeholder}`,this.selectedOptions.length!==0&&this.variant==="multi"&&this.placeholder!==""&&`${this.placeholder}:`,this.selectedOptions.length!==0&&t("div",{key:"e7c907adafd7e1601a4cbd05e1a7b415e1da05b6",class:"label__selected-options"},this.getSelectedOptions()),this.selectedOptions.length>2&&this.variant==="multi"&&t("ifx-indicator",{key:"4520777b0d729d95d57d87d5a32a95fcf44e0d84",variant:"number",inverted:this.theme==="outlined"?false:true,number:this.selectedOptions.length-2})),!this.readOnly&&(this.variant!=="multi"||this.variant==="multi"&&this.selectedOptions.length===0)&&t("div",{key:"ade24c6456b5443be577a4c0bd61d1b2dba68c91",class:"wrapper__open-button"},t("ifx-icon",{key:1,icon:`chevron-down-16`})),this.selectedOptions.length>=1&&this.variant==="multi"&&t("div",{key:"8b1937382b467ca305493896aaf065c10f7a01e8",class:"wrapper__unselect-button",onClick:!this.readOnly&&!this.disabled?e=>{this.handleUnselectButtonClick(e)}:undefined},t("ifx-icon",{key:2,icon:`cross16`}))),this.opened&&!this.readOnly&&t("div",{key:"073b6641d2320716a6d4b1149e72b61fa9b47dd8",id:"dropdown",role:"listbox",class:"chip__dropdown"},t("slot",{key:"55587cb1d438b11f0682c3b1d596a5dfb1d251d0"})))}get chip(){return a(this)}static get watchers(){return{value:["handleValueChange"],readOnly:["handleReadOnlyChange"]}}};o.style=l;const p=':root{--ifx-font-family:"Source Sans 3", "Arial, 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=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:"4d5ace01c02658ed46fbf42c36138a06c3d46049",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:"bf1af2aaf0944351eb33ace8c704bbb4973951d6",checked:this.selected,tabIndex:-1,size:"s"}),t("div",{key:"50347975f1554b7a02ef2bde34750b361daad549",class:"chip-item__label"}," ",t("slot",{key:"9667dd32c70e5f4a7946499f828883efb10caff2"})," "),t("div",{key:"f2fcab283b717837bc8b6c09b6b3c6c72675e40c",class:"chip-item__selected-indicator"},t("ifx-icon",{key:"84e489e9a638f2165c436b10bea8d826ae6db11c",icon:"check-16"}," ")))}get chipItem(){return a(this)}static get watchers(){return{selected:["validateSelected"]}}};c.style=p;const h=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:inline-flex}.container{display:inline-flex;justify-content:center;align-items:center;gap:32px;font-family:var(--ifx-font-family);flex-wrap:wrap}.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}.page__button{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) page__button{background-color:#EEEDED}li:active:not(.active) .page__button{background-color:#575352;color:#fff}li.active{background-color:#0A8276}li.active .page__button{color:#fff}li:hover{cursor:pointer}li .page__button{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 (max-width: 768px){.container{gap:16px;justify-content:left}.container .items__total-wrapper .pagination ol{gap:12px}}@media (max-width: 374px){.pagination .ellipsis+.active{margin-left:8px}.pagination .active+.ellipsis{margin-left:8px}}';const d=class{constructor(t){e(this,t);this.ifxPageChange=i(this,"ifxPageChange",7);this.ifxItemsPerPageChange=i(this,"ifxItemsPerPageChange",7);this.currentPage=1;this.showItemsPerPage=true;this.internalPage=1;this.internalItemsPerPage=10;this.numberOfPages=[];this.total=1;this.filteredItemsPerPage=[];this.visiblePages=[];this.CLASS_DISABLED="disabled";this.CLASS_ACTIVE="active";this.handlePageClick=e=>{const i=e.currentTarget;const t=parseInt(i.dataset.page);if(!isNaN(t))this.changePage(t)};this.handleResize=()=>{clearTimeout(this.resizeTimeout);this.resizeTimeout=setTimeout((()=>{this.updateVisiblePages()}),100)}}watchTotalHandler(){this.calculateNumberOfPages();this.updateVisiblePages()}currentPageWatcher(e){this.internalPage=Math.max(1,Math.min(e,this.numberOfPages.length));this.calculateNumberOfPages();this.updateVisiblePages()}setItemsPerPage(e){var i,t;const a=((i=e.detail)===null||i===void 0?void 0:i.value)||((t=e.detail)===null||t===void 0?void 0:t.label);const r=parseInt(a)||10;if(r===this.internalItemsPerPage){return}this.internalItemsPerPage=r;this.internalPage=1;this.calculateNumberOfPages();this.updateVisiblePages();this.handleEventEmission()}emitItemsPerPage(e){this.ifxItemsPerPageChange.emit(e.detail.label)}async componentDidLoad(){if(this.showItemsPerPage){const e=this.el.shadowRoot.querySelector("#itemsPerPageSelect");if(e){e.addEventListener("ifxSelect",(e=>this.emitItemsPerPage(e)))}}window.addEventListener("resize",this.handleResize);if(!n(this.el)){const e=r();s("ifx-pagination",await e)}this.initPagination()}disconnectedCallback(){if(this.showItemsPerPage){const e=this.el.shadowRoot.querySelector("#itemsPerPageSelect");if(e){e.removeEventListener("ifxSelect",(e=>this.emitItemsPerPage(e)))}}window.removeEventListener("resize",this.handleResize);if(this.resizeTimeout){clearTimeout(this.resizeTimeout)}}updateVisiblePages(){const e=window.innerWidth<375;const i=this.numberOfPages.length;const t=this.internalPage;let a=[];if(e){if(i<=5){a=[...this.numberOfPages]}else{a.push(1);if(t<=2){a.push(2,3,"...",i)}else if(t>=i-1){a.push("...",i-2,i-1,i)}else{a.push("...",t,"...",i)}}}else{const e=2;if(i<=7){a=[...this.numberOfPages]}else{a.push(1);let r=Math.max(2,t-e);let s=Math.min(i-1,t+e);if(t<=4){r=2;s=Math.min(i-1,5)}else if(t>=i-3){r=Math.max(2,i-4);s=i-1}else{r=t-1;s=t+1}if(r>2){a.push("...")}for(let e=r;e<=s;e++){a.push(e)}if(s<i-1){a.push("...")}a.push(i)}}this.visiblePages=a}calculateNumberOfPages(){const e=Math.ceil(this.total/this.internalItemsPerPage);this.numberOfPages=Array.from({length:e},((e,i)=>i+1));this.internalPage=Math.max(1,Math.min(this.currentPage,e))}filterOptionsArray(){const e=typeof this.itemsPerPage==="string"?JSON.parse(this.itemsPerPage):this.itemsPerPage;this.filteredItemsPerPage=e.map((e=>Object.assign(Object.assign({},e),{label:e.label||e.value})))}componentWillLoad(){this.filterOptionsArray();const e=this.filteredItemsPerPage.find((e=>e.selected));if(e){this.internalItemsPerPage=Number(e.value)}else if(this.filteredItemsPerPage.length>0){this.internalItemsPerPage=Number(this.filteredItemsPerPage[0].value)}this.calculateNumberOfPages();this.internalPage=Math.max(1,Math.min(this.currentPage,this.numberOfPages.length));this.updateVisiblePages()}componentWillUpdate(){if(this.prevInternalPage!==this.internalPage){this.updateVisiblePages();this.prevInternalPage=this.internalPage}}componentDidUpdate(){this.initPagination()}handleEventEmission(){this.ifxPageChange.emit({currentPage:this.internalPage,totalPages:this.numberOfPages.length,itemsPerPage:this.internalItemsPerPage})}initPagination(){const e=this.el.shadowRoot.querySelector(".pagination");if(!e)return;const i=()=>{const i=e.querySelector(".prev");const t=e.querySelector(".next");if(i){i.disabled=this.internalPage===1;i.classList.toggle(this.CLASS_DISABLED,this.internalPage===1)}if(t){t.disabled=this.internalPage===this.numberOfPages.length;t.classList.toggle(this.CLASS_DISABLED,this.internalPage===this.numberOfPages.length)}};e.querySelectorAll("li").forEach((e=>{e.removeEventListener("click",this.handlePageClick);e.addEventListener("click",this.handlePageClick)}));i()}changePage(e){e=Math.max(1,Math.min(e,this.numberOfPages.length));if(e===this.internalPage)return;this.internalPage=e;this.handleEventEmission();this.initPagination()}render(){return t("div",{key:"9a4b41bb714202dcc144f626b9a2096480852ad6",class:"container"},this.showItemsPerPage&&t("div",{key:"9e829381e98967180e89bf8f8988c67bbb998814",class:"items__per-page-wrapper"},t("div",{key:"be5d328337c18096cd1363f3c7c0c060693fe525",class:"items__per-page-label"},"Results per Page"),t("div",{key:"37f663194a695059779305e0723321c26f55d191",class:"items__per-page-field"},t("ifx-select",{key:"916cc188fd2f7d86243db5955f091e188defbacc",id:"itemsPerPageSelect",placeholder:"false","show-search":"false",value:undefined,disabled:false,error:false,size:"s",options:this.filteredItemsPerPage,"placeholder-value":"Select"}))),t("div",{key:"f6531ac8c0710f53ff375e8ee4fa19bb47be5cef",class:"items__total-wrapper"},t("div",{key:"4edaf3f1bc17c3423c2b39473a0f5ddc959278d6",class:"pagination"},t("ifx-icon-button",{key:"7341fced786739f5970cfc9940381b2b2901de63",class:"prev",icon:"arrow-left-16","aria-label":"Previous Page",onClick:()=>this.changePage(this.internalPage-1),variant:"secondary"}),t("ol",{key:"b7af29f3b08ee99b3c880c7af51b4d491630e55c"},this.visiblePages.map(((e,i)=>typeof e==="number"?t("li",{key:`page-${e}`,class:{[this.CLASS_ACTIVE]:e===this.internalPage},"data-page":e},t("span",{class:"page__button",role:"button",tabindex:"0","aria-current":e===this.internalPage?"page":undefined,"aria-label":`Page ${e}`,onClick:()=>this.changePage(e),onKeyDown:i=>(i.key==="Enter"||i.key===" ")&&this.changePage(e)},e)):t("li",{class:"ellipsis",key:`ellipsis-${i}`},t("span",{"aria-hidden":"true"},"..."))))),t("ifx-icon-button",{key:"5bdcefa2773fb49f8d7c4190a48fe5a98f6e0442",class:"next",icon:"arrow-right-16","aria-label":"Next Page",onClick:()=>this.changePage(this.internalPage+1),variant:"secondary"}))))}get el(){return a(this)}static get watchers(){return{total:["watchTotalHandler"],currentPage:["currentPageWatcher"]}}};d.style=h;export{o as ifx_chip,c as ifx_chip_item,d as ifx_pagination};
2
+ //# sourceMappingURL=p-4da5a2a5.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["chipCss","Chip","constructor","hostRef","this","placeholder","size","value","undefined","variant","theme","readOnly","disabled","icon","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","componentDidLoad","isNestedInIfxComponent","framework","detectFramework","trackComponent","render","h","class","tabIndex","onClick","role","ariaLabel","toString","inverted","number","e","id","chipItemCss","ChipItem","updateItemSelection","parentElement","validateSelected","oldValue","emitIfxChipItemSelectEvent","getItemLabel","innerText","toggleItemSelection","ifxChipItemSelect","handleItemClick","handleItemKeyDown","handleSelectedState","onKeyDown","checked","paginationCss","Pagination","currentPage","showItemsPerPage","internalPage","internalItemsPerPage","numberOfPages","total","filteredItemsPerPage","visiblePages","CLASS_DISABLED","CLASS_ACTIVE","handlePageClick","li","currentTarget","page","parseInt","dataset","isNaN","changePage","handleResize","clearTimeout","resizeTimeout","updateVisiblePages","watchTotalHandler","calculateNumberOfPages","currentPageWatcher","newVal","Math","max","min","setItemsPerPage","selectedValue","_a","_b","newItemsPerPage","handleEventEmission","emitItemsPerPage","ifxItemsPerPageChange","select","el","addEventListener","window","initPagination","disconnectedCallback","removeEventListener","isMobile","innerWidth","totalPages","current","pages","push","buffer","start","end","i","ceil","_","filterOptionsArray","items","itemsPerPage","JSON","parse","selectedOption","Number","componentWillUpdate","prevInternalPage","componentDidUpdate","ifxPageChange","pagination","updateButtons","prev","next","classList","toggle","newPage","options","tabindex"],"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 box-sizing: border-box;\n border-radius: tokens.$ifxBorderRadiusRound;\n background: tokens.$ifxColorBaseWhite;\n cursor: pointer; \n transition: border 100ms ease;\n font: tokens.$ifxBodyBody04;\n\n & .icon__wrapper { \n display: flex;\n }\n\n &.outlined, &.filled-dark, &.filled-light { \n outline: 2px solid transparent;\n &:focus-visible {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n }\n \n &.chip__wrapper--opened {\n .wrapper__open-button {\n transform: rotate(-180deg);\n }\n }\n\n &.chip__wrapper--selected {\n .wrapper__label {\n .label__selected-options {\n font: tokens.$ifxBodyBody04;\n }\n }\n }\n }\n\n &.filled-dark, &.filled-light { \n &.chip__wrapper--selected:not(.read-only) {\n background-color: tokens.$ifxColorOcean500;\n color: white;\n &:hover { \n background-color: tokens.$ifxColorOcean600;\n }\n\n &:hover.disabled { \n background-color: tokens.$ifxColorOcean500;\n }\n }\n }\n \n &.outlined { \n border: 1px solid tokens.$ifxColorEngineering400;\n &:hover:not(.read-only) {\n border-color: tokens.$ifxColorEngineering500;\n background-color: tokens.$ifxColorEngineering100;\n }\n\n &:active:not(.read-only) { \n border-color: tokens.$ifxColorEngineering500;\n background-color: tokens.$ifxColorEngineering300;\n }\n\n &.chip__wrapper--opened {\n border: 1px solid tokens.$ifxColorOcean500;\n }\n\n &.chip__wrapper--selected {\n outline: 3px solid tokens.$ifxColorOcean500;\n border: 1px solid transparent;\n background-color: white;\n\n &:focus-visible {\n outline-offset: 0px;\n }\n &:hover:not(.read-only) { \n outline-color: tokens.$ifxColorOcean600;\n }\n\n &.read-only { \n outline: none;\n border: 1px solid black;\n }\n }\n\n &.disabled { \n outline: none;\n color: tokens.$ifxColorEngineering300;\n border: 1px solid tokens.$ifxColorEngineering300;\n &:hover { \n outline: none;\n border-color: tokens.$ifxColorEngineering300;\n background-color: white;\n }\n }\n\n &.read-only { \n border: 1px solid black;\n &:focus-visible { \n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n }\n }\n }\n\n &.filled-dark { \n background-color: tokens.$ifxColorEngineering600;\n color: white;\n\n &:hover:not(.chip__wrapper--selected, .disabled, .read-only) { \n background-color: tokens.$ifxColorEngineering500;\n }\n\n &:active:not(.chip__wrapper--selected, .disabled, .read-only) { \n background-color: tokens.$ifxColorEngineering400;\n color: black;\n }\n\n &.disabled { \n outline: none;\n color: tokens.$ifxColorEngineering300;\n &:hover:not(.chip__wrapper--selected) { \n background-color: tokens.$ifxColorEngineering600;\n }\n }\n\n &.chip__wrapper--selected { \n &.read-only { \n border: 1px solid tokens.$ifxColorEngineering400;\n }\n }\n\n &.read-only { \n border: 1px solid tokens.$ifxColorEngineering400;\n }\n }\n\n &.filled-light { \n background-color: tokens.$ifxColorEngineering200;\n\n &:hover:not(.read-only) { \n background-color: tokens.$ifxColorEngineering300;\n }\n\n &:active:not(.read-only) { \n background-color: tokens.$ifxColorEngineering400;\n }\n\n &.disabled { \n outline: none;\n color: tokens.$ifxColorEngineering300;\n &:hover:not(.chip__wrapper--selected) { \n background-color: tokens.$ifxColorEngineering200;\n }\n }\n\n &.chip__wrapper--selected { \n &.read-only { \n border: 1px solid black;\n }\n }\n\n &.read-only { \n border: 1px solid black;\n }\n }\n \n &.chip__wrapper--small {\n padding: tokens.$ifxSpace50 tokens.$ifxSpace100;\n height: tokens.$ifxSize300;\n }\n\n &.chip__wrapper--medium {\n padding: tokens.$ifxSpace50 tokens.$ifxSpace150;\n height: tokens.$ifxSize350;\n }\n \n &.chip__wrapper--large {\n padding: tokens.$ifxSpace100 tokens.$ifxSpace150;\n height: tokens.$ifxSize450;\n }\n}\n\n.wrapper__label {\n display: inline-flex;\n align-items: center;\n gap: tokens.$ifxSpace50;\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\n.wrapper__unselect-button {\n display:flex;\n align-items: center;\n}\n\n.chip__dropdown {\n position: absolute;\n z-index: 1;\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 min-width: 222px;\n background-color: tokens.$ifxColorBaseWhite;\n}\n","import { h, Component, Element, Event, EventEmitter, Listen, Prop, State, Watch } from '@stencil/core';\nimport { ChipItemSelectEvent } from './interfaces';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-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' | 'medium' | 'large' = 'medium';\n @Prop({ mutable: true }) value: Array<string> | string = undefined;\n @Prop() variant: 'single' | 'multi' = 'single';\n @Prop() theme: 'outlined' | 'filled-light' | 'filled-dark' = 'outlined';\n @Prop() readOnly: boolean = false;\n @Prop() ariaLabel: string | null;\n @Prop() disabled: boolean = false;\n @Prop() icon: 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 ? this.size : 'medium',\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 async componentDidLoad() { \n if(!isNestedInIfxComponent(this.chip)) { \n const framework = detectFramework();\n trackComponent('ifx-chip', await framework)\n }\n }\n\n render() {\n return (\n <div class='chip'>\n <div class={`chip__wrapper chip__wrapper--${this.size ? this.size : 'medium'}\n chip__wrapper--${this.variant === 'multi' ? 'multi' : 'single'}\n ${this.opened && !this.readOnly ? 'chip__wrapper--opened' : ''}\n ${this.selectedOptions.length ? 'chip__wrapper--selected' : ''}\n ${this.theme ? this.theme : 'outlined'}\n ${this.disabled ? 'disabled' : \"\"}\n ${this.readOnly ? 'read-only' : \"\"}`}\n tabIndex={0}\n onClick={!this.readOnly && !this.disabled ? () => { 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 {this.icon && \n <div class=\"icon__wrapper\">\n <ifx-icon icon={this.icon}></ifx-icon>\n </div>}\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.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-indicator variant='number' inverted={this.theme === 'outlined' ? false : true} number={this.selectedOptions.length - 2}></ifx-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={`chevron-down-16`} />\n </div>\n }\n\n {\n ((this.selectedOptions.length >= 1) && this.variant === 'multi') &&\n <div class='wrapper__unselect-button' onClick={!this.readOnly && !this.disabled ? (e) => { this.handleUnselectButtonClick(e) } : undefined}>\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-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: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n flex-wrap: wrap;\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\n.page__button {\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 & page__button {\n background-color: #EEEDED;\n }\n }\n\n &:active:not(.active) {\n & .page__button {\n background-color: #575352;\n color: #fff;\n }\n }\n\n &.active {\n background-color: #0A8276;\n\n & .page__button {\n color: #fff;\n }\n }\n\n &:hover {\n cursor: pointer;\n }\n\n & .page__button {\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@media (max-width: tokens.$ifxBreakpointM) {\n .container {\n gap: tokens.$ifxSpace200;\n justify-content: left;\n\n .items__total-wrapper {\n .pagination {\n ol {\n gap: tokens.$ifxSpace150;\n }\n }\n }\n }\n}\n\n@media (max-width: 374px) {\n .pagination {\n .ellipsis + .active {\n margin-left: tokens.$ifxSpace100;\n }\n\n .active + .ellipsis {\n margin-left: tokens.$ifxSpace100;\n }\n }\n}\n","import { Component, h, Element, Event, EventEmitter, Prop, State, Listen, Watch } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-pagination',\n styleUrl: 'pagination.scss',\n shadow: true\n})\nexport class Pagination {\n @Element() el: HTMLElement;\n @Event() ifxPageChange: EventEmitter;\n @Event() ifxItemsPerPageChange: EventEmitter;\n @Prop() currentPage: number = 1;\n @Prop() showItemsPerPage: boolean = true;\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 @State() visiblePages: (number | string)[] = [];\n\n private CLASS_DISABLED = \"disabled\";\n private CLASS_ACTIVE = \"active\";\n private prevInternalPage: number;\n\n @Watch('total')\n watchTotalHandler() {\n this.calculateNumberOfPages();\n this.updateVisiblePages();\n }\n\n @Watch('currentPage')\n currentPageWatcher(newVal: number) {\n this.internalPage = Math.max(1, Math.min(newVal, this.numberOfPages.length));\n this.calculateNumberOfPages();\n this.updateVisiblePages();\n }\n\n @Listen('ifxSelect')\n setItemsPerPage(e: CustomEvent) {\n const selectedValue = e.detail?.value || e.detail?.label;\n const newItemsPerPage = parseInt(selectedValue) || 10;\n\n if (newItemsPerPage === this.internalItemsPerPage) {\n return;\n }\n\n this.internalItemsPerPage = newItemsPerPage;\n this.internalPage = 1;\n this.calculateNumberOfPages();\n this.updateVisiblePages();\n this.handleEventEmission();\n }\n\n emitItemsPerPage(e) {\n this.ifxItemsPerPageChange.emit((e as any).detail.label)\n }\n\n async componentDidLoad() {\n if (this.showItemsPerPage) {\n const select = this.el.shadowRoot.querySelector('#itemsPerPageSelect');\n if(select) {\n select.addEventListener('ifxSelect', (e) => this.emitItemsPerPage(e))\n }\n }\n\n // Add resize listener to update pagination on screen size changes\n window.addEventListener('resize', this.handleResize);\n\n if(!isNestedInIfxComponent(this.el)) {\n const framework = detectFramework();\n trackComponent('ifx-pagination', await framework)\n }\n this.initPagination();\n }\n\n disconnectedCallback() {\n if (this.showItemsPerPage) {\n const select = this.el.shadowRoot.querySelector('#itemsPerPageSelect');\n if (select) {\n select.removeEventListener('ifxSelect', (e) => this.emitItemsPerPage(e));\n }\n }\n\n // Remove resize listener\n window.removeEventListener('resize', this.handleResize);\n\n // Clear any pending resize timeout\n if (this.resizeTimeout) {\n clearTimeout(this.resizeTimeout);\n }\n }\n\n updateVisiblePages() {\n // Check if screen is mobile (< 375px)\n const isMobile = window.innerWidth < 375;\n const totalPages = this.numberOfPages.length;\n const current = this.internalPage;\n let pages: (number | string)[] = [];\n\n if (isMobile) {\n // Mobile logic: maximum 5 elements\n if (totalPages <= 5) {\n pages = [...this.numberOfPages];\n } else {\n // Always show first page\n pages.push(1);\n\n if (current <= 2) {\n // Show: 1 2 3 … 10 (for pages 1 and 2)\n pages.push(2, 3, '...', totalPages);\n } else if (current >= totalPages - 1) {\n // Show: 1 … 23 24 25 (for last 2 pages only)\n pages.push('...', totalPages - 2, totalPages - 1, totalPages);\n } else {\n // Show: 1 … 5 … 10 (for middle pages, including page 3 and third-to-last page)\n pages.push('...', current, '...', totalPages);\n }\n }\n } else {\n // Desktop logic: maximum 7 elements\n const buffer = 2;\n\n if (totalPages <= 7) {\n pages = [...this.numberOfPages];\n } else {\n // Always show first page\n pages.push(1);\n\n // Determine the range around current page\n let start = Math.max(2, current - buffer);\n let end = Math.min(totalPages - 1, current + buffer);\n\n // Adjust range to ensure we show enough pages\n // If we're close to the beginning, extend the end\n if (current <= 4) {\n start = 2;\n end = Math.min(totalPages - 1, 5);\n }\n // If we're close to the end, extend the start\n else if (current >= totalPages - 3) {\n start = Math.max(2, totalPages - 4);\n end = totalPages - 1;\n }\n // For middle pages, show current +/- 1\n else {\n start = current - 1;\n end = current + 1;\n }\n\n // Add ellipsis before the range if there's a gap\n if (start > 2) {\n pages.push('...');\n }\n\n // Add the range of pages\n for (let i = start; i <= end; i++) {\n pages.push(i);\n }\n\n // Add ellipsis after the range if there's a gap\n if (end < totalPages - 1) {\n pages.push('...');\n }\n\n // Always show last page\n pages.push(totalPages);\n }\n }\n\n this.visiblePages = pages;\n }\n\n calculateNumberOfPages() {\n const totalPages = Math.ceil(this.total / this.internalItemsPerPage);\n this.numberOfPages = Array.from({ length: totalPages }, (_, i) => i + 1);\n this.internalPage = Math.max(1, Math.min(this.currentPage, totalPages));\n }\n\n filterOptionsArray() {\n const items = typeof this.itemsPerPage === 'string' ?\n JSON.parse(this.itemsPerPage) : this.itemsPerPage;\n this.filteredItemsPerPage = items.map(item => ({\n ...item,\n label: item.label || item.value\n }));\n }\n\n componentWillLoad() {\n this.filterOptionsArray();\n\n const selectedOption = this.filteredItemsPerPage.find(option => option.selected);\n if (selectedOption) {\n this.internalItemsPerPage = Number(selectedOption.value);\n } else if (this.filteredItemsPerPage.length > 0) {\n this.internalItemsPerPage = Number(this.filteredItemsPerPage[0].value);\n }\n\n this.calculateNumberOfPages();\n this.internalPage = Math.max(1, Math.min(this.currentPage, this.numberOfPages.length));\n this.updateVisiblePages();\n }\n\n componentWillUpdate() {\n if (this.prevInternalPage !== this.internalPage) {\n this.updateVisiblePages();\n this.prevInternalPage = this.internalPage;\n }\n }\n\n componentDidUpdate() {\n this.initPagination();\n }\n\n handleEventEmission() {\n this.ifxPageChange.emit({\n currentPage: this.internalPage,\n totalPages: this.numberOfPages.length,\n itemsPerPage: this.internalItemsPerPage\n });\n }\n\n initPagination() {\n const pagination = this.el.shadowRoot.querySelector('.pagination');\n if (!pagination) return;\n\n const updateButtons = () => {\n const prev = pagination.querySelector<HTMLButtonElement>('.prev');\n const next = pagination.querySelector<HTMLButtonElement>('.next');\n if (prev) {\n prev.disabled = this.internalPage === 1;\n prev.classList.toggle(this.CLASS_DISABLED, this.internalPage === 1);\n }\n if (next) {\n next.disabled = this.internalPage === this.numberOfPages.length;\n next.classList.toggle(this.CLASS_DISABLED, this.internalPage === this.numberOfPages.length);\n }\n };\n\n pagination.querySelectorAll('li').forEach(li => {\n li.removeEventListener('click', this.handlePageClick);\n li.addEventListener('click', this.handlePageClick);\n });\n\n updateButtons();\n }\n\n private handlePageClick = (e: Event) => {\n const li = e.currentTarget as HTMLLIElement;\n const page = parseInt(li.dataset.page);\n if (!isNaN(page)) this.changePage(page);\n };\n\n private handleResize = () => {\n // Debounce resize events to prevent excessive calls\n clearTimeout(this.resizeTimeout);\n this.resizeTimeout = setTimeout(() => {\n this.updateVisiblePages();\n }, 100);\n };\n\n private resizeTimeout: any;\n\n changePage(newPage: number) {\n newPage = Math.max(1, Math.min(newPage, this.numberOfPages.length));\n if (newPage === this.internalPage) return;\n\n this.internalPage = newPage;\n this.handleEventEmission();\n this.initPagination();\n }\n\n render() {\n return (\n <div class=\"container\">\n {this.showItemsPerPage && (\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 id='itemsPerPageSelect'\n placeholder='false'\n show-search='false'\n value={undefined}\n disabled={false}\n error={false}\n size=\"s\"\n options={this.filteredItemsPerPage}\n placeholder-value=\"Select\"\n ></ifx-select>\n </div>\n </div>\n )}\n\n <div class=\"items__total-wrapper\">\n <div class=\"pagination\">\n <ifx-icon-button\n class=\"prev\"\n icon=\"arrow-left-16\"\n aria-label='Previous Page'\n onClick={() => this.changePage(this.internalPage - 1)}\n variant=\"secondary\"\n ></ifx-icon-button>\n\n <ol>\n {this.visiblePages.map((page, i) => typeof page === 'number' ? (\n <li\n key={`page-${page}`}\n class={{ [this.CLASS_ACTIVE]: page === this.internalPage }}\n data-page={page}\n >\n <span \n class='page__button'\n role=\"button\"\n tabindex=\"0\"\n aria-current={page === this.internalPage ? \"page\" : undefined}\n aria-label={`Page ${page}`}\n onClick={() => this.changePage(page)}\n onKeyDown={(e) => (e.key === 'Enter' || e.key === ' ') && this.changePage(page)}\n >\n {page}\n </span>\n </li>\n ) : (\n <li class=\"ellipsis\" key={`ellipsis-${i}`}>\n <span aria-hidden=\"true\">...</span>\n </li>\n ))}\n </ol>\n\n <ifx-icon-button\n class=\"next\"\n icon=\"arrow-right-16\"\n aria-label='Next Page'\n onClick={() => this.changePage(this.internalPage + 1)}\n variant=\"secondary\"\n ></ifx-icon-button>\n </div>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as s,c as i,h as e,a as t}from"./p-Bq-7EdcD.js";import{d as n,t as o}from"./p-DcmcuUOA.js";import{i as r}from"./p-Bw2fh5LT.js";import{c as h}from"./p-DMLRPGid.js";import"./p-B85MJLTf.js";const a=':root {\n --ifx-font-family: "Source Sans 3", "Arial, sans-serif";\n}\n\n:host {\n display: flex;\n}\n\n.search-field {\n box-sizing: border-box;\n background-color: #FFFFFF;\n width: 100%;\n font-family: var(--ifx-font-family);\n position: relative;\n}\n.search-field .search-field__wrapper {\n box-sizing: border-box;\n height: 40px;\n display: flex;\n align-items: center;\n border: 1px solid #8d8786;\n border-radius: 1px;\n padding: 8px 16px;\n gap: 12px;\n flex: none;\n order: 0;\n align-self: stretch;\n flex-grow: 0;\n position: relative;\n width: 100%;\n outline: none;\n}\n.search-field .search-field__wrapper:focus-visible:not(.disabled) {\n outline: 2px solid #0A8276;\n outline-offset: 2px;\n}\n.search-field .search-field__wrapper.search-field__wrapper-s {\n height: 36px;\n}\n.search-field .search-field__wrapper:hover:not(.focused, :focus) {\n border: 1px solid #3c3a39;\n}\n.search-field .search-field__wrapper .delete-icon {\n outline: 1px solid transparent;\n right: 12px;\n cursor: pointer;\n}\n.search-field .search-field__wrapper .delete-icon:focus-visible {\n outline: 2px solid #0A8276;\n outline-offset: 1px;\n}\n.search-field .search-field__wrapper input[type=text] {\n font-style: normal;\n font-weight: 400;\n font-size: 16px;\n color: #8d8786;\n border: none;\n width: 100%;\n outline: none;\n height: 16px;\n}\n.search-field .search-field__wrapper input[type=text]:focus {\n outline: none;\n color: #1d1d1d;\n}\n.search-field .search-field__wrapper input[type=text]:disabled {\n background: #BFBBBB;\n color: #FFFFFF;\n}\n.search-field .search-field__wrapper input[type=text]:disabled::placeholder {\n color: #FFFFFF;\n}\n.search-field .search-field__wrapper.disabled {\n background: #BFBBBB;\n border: none;\n color: #FFFFFF;\n}\n.search-field .search-field__wrapper.disabled:hover {\n border: none;\n outline: none;\n}\n.search-field .search-field__wrapper.disabled .delete-icon {\n cursor: default;\n}\n.search-field .search-field__wrapper.disabled .delete-icon:focus-visible {\n outline: 1px solid transparent;\n}\n.search-field .suggestions-dropdown {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n background: #FFFFFF;\n margin-top: 4px;\n border: 1px solid #EEEDED;\n box-shadow: 0px 6px 9px 0px rgba(29, 29, 29, 0.1);\n z-index: 1000;\n max-height: 300px;\n overflow-y: auto;\n container-type: inline-size;\n}\n.search-field .suggestions-dropdown .suggestions-header {\n font-family: Source Sans 3;\n font-size: 0.8125rem;\n font-weight: 600;\n line-height: 1.25rem;\n letter-spacing: 0.25em;\n text-transform: uppercase;\n color: #575352;\n border-bottom: 1px solid #EEEDED;\n padding: 12px 16px;\n}\n.search-field .suggestions-dropdown .suggestion-item {\n padding: 12px 16px;\n cursor: pointer;\n transition: background-color 0.2s ease;\n}\n.search-field .suggestions-dropdown .suggestion-item:last-child {\n border-bottom: none;\n}\n.search-field .suggestions-dropdown .suggestion-item:hover, .search-field .suggestions-dropdown .suggestion-item--selected {\n background-color: #EEEDED;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-icon {\n color: #575352;\n flex-shrink: 0;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-icon--history {\n color: #575352;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-text {\n flex: 1;\n display: flex;\n align-items: center;\n min-width: 0;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-text .suggestion-main-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex-shrink: 1;\n min-width: 0;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-text .suggestion-scope {\n color: #8D8786;\n flex-shrink: 0;\n white-space: nowrap;\n margin-left: 2px;\n font-weight: 600;\n font-size: 0.75rem;\n}\n@container (max-width: 320px) {\n .search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-text {\n flex-direction: column;\n align-items: flex-start;\n }\n .search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-text .suggestion-main-text {\n width: 100%;\n max-width: 100%;\n }\n .search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-text .suggestion-scope {\n margin-left: 0;\n margin-top: 0;\n width: 100%;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n flex-shrink: 1;\n }\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-count {\n color: #8D8786;\n margin-left: auto;\n flex-shrink: 0;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-delete-icon {\n opacity: 0;\n visibility: hidden;\n transition: opacity 0.2s ease, visibility 0.2s ease;\n cursor: pointer;\n margin-left: auto;\n flex-shrink: 0;\n color: #575352;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-delete-icon:hover {\n color: #3C3A39;\n}\n.search-field .suggestions-dropdown .suggestion-item:hover .suggestion-delete-icon {\n opacity: 1;\n visibility: visible;\n}\n.search-field .search-field__wrapper.dropdown-open {\n border-radius: 1px 1px 0 0;\n border-color: #0A8276;\n}';const l=class{constructor(e){s(this,e);this.ifxInput=i(this,"ifxInput",7);this.ifxSuggestionRequested=i(this,"ifxSuggestionRequested",7);this.ifxSuggestionSelected=i(this,"ifxSuggestionSelected",7);this.ifxFocus=i(this,"ifxFocus",7);this.ifxBlur=i(this,"ifxBlur",7);this.value="";this.suggestions=[];this.showSuggestions=false;this.maxSuggestions=10;this.maxHistoryItems=5;this.enableHistory=true;this.historyKey="ifx-search-history";this.historyHeaderText="Recent Searches";this.ariaLabel="Search Field";this.deleteIconAriaLabel="Clear search";this.historyDeleteAriaLabel="Remove from history";this.dropdownAriaLabel="Search suggestions and history";this.suggestionAriaLabel="Search suggestion";this.historyItemAriaLabel="Search history item";this.showDropdown=false;this.filteredSuggestions=[];this.selectedSuggestionIndex=-1;this.searchHistory=[];this.showDeleteIcon=false;this.showDeleteIconInternalState=false;this.disabled=false;this.size="l";this.isFocused=false;this.placeholder="Search...";this.autocomplete="off";this.maxlength=null;this.focusEmitted=false;this.handleInput=()=>{const s=this.inputElement.value;this.value=s;this.ifxInput.emit(this.value);if(this.showSuggestions){this.showDropdown=true;this.selectedSuggestionIndex=-1;this.requestSuggestions(s)}};this.handleDelete=()=>{if(!this.disabled){this.inputElement.value="";this.value="";this.ifxInput.emit(this.value);this.hideDropdown()}};this.handleSearch=()=>{if(this.value.trim()&&this.enableHistory){if(this.filteredSuggestions.length>0){this.addToHistory(this.value)}}this.hideDropdown()};this.handleHistoryDelete=(s,i)=>{s.stopPropagation();this.removeFromHistory(i)}}handleOutsideClick(s){const i=s.composedPath();if(!i.includes(this.inputElement)&&!i.includes(this.dropdownElement)){this.hideDropdown()}}handleKeyDown(s){if(!this.showDropdown)return;switch(s.key){case"ArrowDown":s.preventDefault();this.navigateSuggestions(1);break;case"ArrowUp":s.preventDefault();this.navigateSuggestions(-1);break;case"Enter":s.preventDefault();if(this.selectedSuggestionIndex>=0){this.selectSuggestion(this.filteredSuggestions[this.selectedSuggestionIndex])}else{this.handleSearch()}break;case"Escape":this.hideDropdown();break}}valueWatcher(s){if(this.inputElement&&s!==this.inputElement.value){this.inputElement.value=s}this.updateSuggestions()}suggestionsWatcher(){this.updateSuggestions()}focusInput(){if(!this.focusEmitted){this.focusEmitted=true;this.isFocused=true;this.ifxFocus.emit()}if(this.showSuggestions){if(this.value.length===0){this.showHistoryDropdown();this.showDropdown=this.enableHistory&&this.searchHistory.length>0}else{this.updateSuggestions();this.showDropdown=this.filteredSuggestions.length>0}}}blurInput(){setTimeout((()=>{this.isFocused=false;this.focusEmitted=false;this.ifxBlur.emit()}),150)}loadSearchHistory(){if(this.enableHistory&&typeof localStorage!=="undefined"){const s=localStorage.getItem(this.historyKey);this.searchHistory=s?JSON.parse(s):[];this.updateSuggestions();if(this.value.length===0&&this.searchHistory.length===0){this.showDropdown=false}}}clearSearchHistory(){if(this.enableHistory&&typeof localStorage!=="undefined"){localStorage.removeItem(this.historyKey);this.searchHistory=[];this.filteredSuggestions=[];this.selectedSuggestionIndex=-1;this.showDropdown=false;this.updateSuggestions()}}addToHistory(s){if(!this.enableHistory||!s.trim())return;const i=[...this.searchHistory];const e=i.indexOf(s);if(e>-1){i.splice(e,1)}i.unshift(s);this.searchHistory=i.slice(0,this.maxHistoryItems);if(typeof localStorage!=="undefined"){localStorage.setItem(this.historyKey,JSON.stringify(this.searchHistory))}}removeFromHistory(s){if(!this.enableHistory)return;const i=[...this.searchHistory];const e=i.indexOf(s);if(e>-1){i.splice(e,1);this.searchHistory=i;if(typeof localStorage!=="undefined"){localStorage.setItem(this.historyKey,JSON.stringify(this.searchHistory))}this.updateSuggestions();if(this.searchHistory.length===0&&this.value.length===0){this.showDropdown=false}}}requestSuggestions(s){this.ifxSuggestionRequested.emit(s);this.updateSuggestions()}updateSuggestions(){const s=this.value.toLowerCase();let i=[];if(s.length>0){if(this.suggestions&&this.suggestions.length>0){const e=this.suggestions.filter((i=>i.text.toLowerCase().includes(s)));i=[...i,...e]}if(this.enableHistory&&this.searchHistory.length>0){const e=this.searchHistory.filter((i=>i.toLowerCase().includes(s))).map(((s,i)=>({id:`history-${i}`,text:s,type:"history"})));i=[...i,...e]}i.sort(((i,e)=>{const t=i.text.toLowerCase();const n=e.text.toLowerCase();if(t===s&&n!==s)return-1;if(n===s&&t!==s)return 1;const o=t.startsWith(s);const r=n.startsWith(s);if(o&&!r)return-1;if(r&&!o)return 1;if(i.type==="suggestion"&&e.type==="history")return-1;if(i.type==="history"&&e.type==="suggestion")return 1;return t.localeCompare(n)}))}else{if(this.enableHistory&&this.searchHistory.length>0){const s=this.searchHistory.map(((s,i)=>({id:`history-${i}`,text:s,type:"history"})));i=s}}const e=i.reduce(((s,i)=>{const e=s.findIndex((s=>s.text.toLowerCase()===i.text.toLowerCase()&&s.scope===i.scope));if(e===-1){s.push(i)}else{if(i.type==="history"&&s[e].type!=="history"){s[e]=i}}return s}),[]);this.filteredSuggestions=e.slice(0,this.maxSuggestions);this.selectedSuggestionIndex=-1}navigateSuggestions(s){const i=this.filteredSuggestions.length-1;if(s>0){this.selectedSuggestionIndex=this.selectedSuggestionIndex<i?this.selectedSuggestionIndex+1:0}else{this.selectedSuggestionIndex=this.selectedSuggestionIndex>0?this.selectedSuggestionIndex-1:i}}selectSuggestion(s){this.value=s.text;this.inputElement.value=s.text;this.ifxSuggestionSelected.emit(s);this.ifxInput.emit(this.value);if(this.enableHistory){this.addToHistory(s.text)}this.hideDropdown()}hideDropdown(){this.showDropdown=false;this.selectedSuggestionIndex=-1;this.isFocused=false}showHistoryDropdown(){if(this.enableHistory&&this.searchHistory.length>0){const s=this.searchHistory.map(((s,i)=>({id:`history-${i}`,text:s,type:"history"})));this.filteredSuggestions=s.slice(0,this.maxSuggestions);this.selectedSuggestionIndex=-1}else{this.filteredSuggestions=[]}}isShowingOnlyHistory(){return this.value.length===0&&this.filteredSuggestions.length>0&&this.filteredSuggestions.every((s=>s.type==="history"))}renderHighlightedText(s,i){if(!i||i.length===0){return s}const t=s.toLowerCase();const n=i.toLowerCase();const o=t.indexOf(n);if(o===-1){return s}const r=s.substring(0,o);const h=s.substring(o,o+i.length);const a=s.substring(o+i.length);return[r,e("strong",null,h),a]}componentWillLoad(){this.loadSearchHistory()}async componentDidLoad(){if(!r(this.el)){const s=n();o("ifx-search-field",await s)}}componentWillUpdate(){if(this.value!==""){this.showDeleteIconInternalState=true}else this.showDeleteIconInternalState=false}render(){return e("div",{key:"d355ec7cdbe980ea99e4238cf02d907ddd76d59b","aria-disabled":this.disabled,"aria-value":this.value,class:"search-field"},e("div",{key:"2aa3d943caab35213ca10f071586c80358515f1c",class:this.getWrapperClassNames(),tabindex:1,onClick:()=>this.focusInput()},e("ifx-icon",{key:"eaa300dd0f8466a2396c55f3f2fffe9dcf5bbf44",icon:"search-16",class:"search-icon"}),e("input",{key:"cce86ee892ec624fe8671d7567434ae5433b8702",ref:s=>this.inputElement=s,type:"text",autocomplete:this.autocomplete,onInput:()=>this.handleInput(),onFocus:()=>this.focusInput(),onBlur:()=>this.blurInput(),placeholder:this.placeholder,disabled:this.disabled,maxlength:this.maxlength,value:this.value,role:"combobox","aria-controls":this.showDropdown?"suggestions-dropdown":undefined,"aria-expanded":this.showDropdown,"aria-autocomplete":"list","aria-haspopup":"listbox","aria-label":this.ariaLabel,"aria-labelledby":this.ariaLabelledBy,"aria-describedby":this.ariaDescribedBy,"aria-owns":this.showDropdown?"suggestions-dropdown":undefined,"aria-activedescendant":this.selectedSuggestionIndex>=0?`suggestion-${this.selectedSuggestionIndex}`:undefined}),this.showDeleteIcon&&this.showDeleteIconInternalState?e("ifx-icon",{icon:"cRemove16",class:"delete-icon",onClick:this.handleDelete,role:"button",tabindex:"0","aria-label":this.deleteIconAriaLabel,onKeyDown:s=>{if(s.key==="Enter"||s.key===" "){s.preventDefault();this.handleDelete()}}}):null),this.showDropdown&&this.filteredSuggestions.length>0&&e("div",{key:"d447e63087ac5b41d2109a16b8db37df4c9db860",ref:s=>this.dropdownElement=s,id:"suggestions-dropdown",class:"suggestions-dropdown",role:"listbox","aria-label":this.dropdownAriaLabel},this.isShowingOnlyHistory()&&e("div",{key:"6a4662d31fd8c755ec1ec9da4bb871750aa63a57",class:"suggestions-header"},this.historyHeaderText),this.filteredSuggestions.map(((s,i)=>e("div",{key:s.id,id:`suggestion-${i}`,class:this.getSuggestionClassNames(i),role:"option","aria-selected":i===this.selectedSuggestionIndex,"aria-label":`${s.type==="history"?this.historyItemAriaLabel:this.suggestionAriaLabel}: ${s.text}${s.scope?`, ${s.scope}`:""}${s.resultCount?`, ${s.resultCount} results`:""}`,onClick:()=>this.selectSuggestion(s),onMouseEnter:()=>this.selectedSuggestionIndex=i},e("div",{class:"suggestion-content"},s.type==="history"&&e("ifx-icon",{icon:"history-16",class:"suggestion-icon suggestion-icon--history"}),s.type==="suggestion"&&e("ifx-icon",{icon:"search-16",class:"suggestion-icon suggestion-icon--suggestion"}),e("span",{class:"suggestion-text"},e("span",{class:"suggestion-main-text"},this.renderHighlightedText(s.text,this.value)),s.scope&&e("span",{class:"suggestion-scope"},"– ",s.scope)),s.resultCount!==undefined&&s.scope&&e("span",{class:"suggestion-count"},s.resultCount),s.type==="history"&&e("ifx-icon",{icon:"cross16",class:"suggestion-delete-icon",role:"button",tabindex:"0","aria-label":`${this.historyDeleteAriaLabel}: ${s.text}`,onClick:i=>this.handleHistoryDelete(i,s.text),onKeyDown:i=>{if(i.key==="Enter"||i.key===" "){i.preventDefault();this.handleHistoryDelete(i,s.text)}}})))))))}getSizeClass(){return`${this.size}`==="s"?"search-field__wrapper-s":""}getWrapperClassNames(){return h(`search-field__wrapper`,`search-field__wrapper ${this.getSizeClass()}`,`${this.isFocused?"focused":""}`,`${this.showDropdown?"dropdown-open":""}`,`${this.disabled?"disabled":""}`)}getSuggestionClassNames(s){var i;return h("suggestion-item",{"suggestion-item--selected":s===this.selectedSuggestionIndex,"suggestion-item--history":((i=this.filteredSuggestions[s])===null||i===void 0?void 0:i.type)==="history"})}get el(){return t(this)}static get watchers(){return{value:["valueWatcher"],suggestions:["suggestionsWatcher"]}}};l.style=a;export{l as ifx_search_field};
2
- //# sourceMappingURL=p-ce392453.entry.js.map
1
+ import{r as s,c as i,h as e,a as t}from"./p-PqnYwNKt.js";import{d as n,t as o}from"./p-DcmcuUOA.js";import{i as r}from"./p-Bw2fh5LT.js";import{c as h}from"./p-DMLRPGid.js";import"./p-B85MJLTf.js";const a=':root {\n --ifx-font-family: "Source Sans 3", "Arial, sans-serif";\n}\n\n:host {\n display: flex;\n}\n\n.search-field {\n box-sizing: border-box;\n background-color: #FFFFFF;\n width: 100%;\n font-family: var(--ifx-font-family);\n position: relative;\n}\n.search-field .search-field__wrapper {\n box-sizing: border-box;\n height: 40px;\n display: flex;\n align-items: center;\n border: 1px solid #8d8786;\n border-radius: 1px;\n padding: 8px 16px;\n gap: 12px;\n flex: none;\n order: 0;\n align-self: stretch;\n flex-grow: 0;\n position: relative;\n width: 100%;\n outline: none;\n}\n.search-field .search-field__wrapper:focus-visible:not(.disabled) {\n outline: 2px solid #0A8276;\n outline-offset: 2px;\n}\n.search-field .search-field__wrapper.search-field__wrapper-s {\n height: 36px;\n}\n.search-field .search-field__wrapper:hover:not(.focused, :focus) {\n border: 1px solid #3c3a39;\n}\n.search-field .search-field__wrapper .delete-icon {\n outline: 1px solid transparent;\n right: 12px;\n cursor: pointer;\n}\n.search-field .search-field__wrapper .delete-icon:focus-visible {\n outline: 2px solid #0A8276;\n outline-offset: 1px;\n}\n.search-field .search-field__wrapper input[type=text] {\n font-style: normal;\n font-weight: 400;\n font-size: 16px;\n color: #8d8786;\n border: none;\n width: 100%;\n outline: none;\n height: 16px;\n}\n.search-field .search-field__wrapper input[type=text]:focus {\n outline: none;\n color: #1d1d1d;\n}\n.search-field .search-field__wrapper input[type=text]:disabled {\n background: #BFBBBB;\n color: #FFFFFF;\n}\n.search-field .search-field__wrapper input[type=text]:disabled::placeholder {\n color: #FFFFFF;\n}\n.search-field .search-field__wrapper.disabled {\n background: #BFBBBB;\n border: none;\n color: #FFFFFF;\n}\n.search-field .search-field__wrapper.disabled:hover {\n border: none;\n outline: none;\n}\n.search-field .search-field__wrapper.disabled .delete-icon {\n cursor: default;\n}\n.search-field .search-field__wrapper.disabled .delete-icon:focus-visible {\n outline: 1px solid transparent;\n}\n.search-field .suggestions-dropdown {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n background: #FFFFFF;\n margin-top: 4px;\n border: 1px solid #EEEDED;\n box-shadow: 0px 6px 9px 0px rgba(29, 29, 29, 0.1);\n z-index: 1000;\n max-height: 300px;\n overflow-y: auto;\n container-type: inline-size;\n}\n.search-field .suggestions-dropdown .suggestions-header {\n font-family: Source Sans 3;\n font-size: 0.8125rem;\n font-weight: 600;\n line-height: 1.25rem;\n letter-spacing: 0.25em;\n text-transform: uppercase;\n color: #575352;\n border-bottom: 1px solid #EEEDED;\n padding: 12px 16px;\n}\n.search-field .suggestions-dropdown .suggestion-item {\n padding: 12px 16px;\n cursor: pointer;\n transition: background-color 0.2s ease;\n}\n.search-field .suggestions-dropdown .suggestion-item:last-child {\n border-bottom: none;\n}\n.search-field .suggestions-dropdown .suggestion-item:hover, .search-field .suggestions-dropdown .suggestion-item--selected {\n background-color: #EEEDED;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-icon {\n color: #575352;\n flex-shrink: 0;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-icon--history {\n color: #575352;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-text {\n flex: 1;\n display: flex;\n align-items: center;\n min-width: 0;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-text .suggestion-main-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex-shrink: 1;\n min-width: 0;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-text .suggestion-scope {\n color: #8D8786;\n flex-shrink: 0;\n white-space: nowrap;\n margin-left: 2px;\n font-weight: 600;\n font-size: 0.75rem;\n}\n@container (max-width: 320px) {\n .search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-text {\n flex-direction: column;\n align-items: flex-start;\n }\n .search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-text .suggestion-main-text {\n width: 100%;\n max-width: 100%;\n }\n .search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-text .suggestion-scope {\n margin-left: 0;\n margin-top: 0;\n width: 100%;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n flex-shrink: 1;\n }\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-count {\n color: #8D8786;\n margin-left: auto;\n flex-shrink: 0;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-delete-icon {\n opacity: 0;\n visibility: hidden;\n transition: opacity 0.2s ease, visibility 0.2s ease;\n cursor: pointer;\n margin-left: auto;\n flex-shrink: 0;\n color: #575352;\n}\n.search-field .suggestions-dropdown .suggestion-item .suggestion-content .suggestion-delete-icon:hover {\n color: #3C3A39;\n}\n.search-field .suggestions-dropdown .suggestion-item:hover .suggestion-delete-icon {\n opacity: 1;\n visibility: visible;\n}\n.search-field .search-field__wrapper.dropdown-open {\n border-radius: 1px 1px 0 0;\n border-color: #0A8276;\n}';const l=class{constructor(e){s(this,e);this.ifxInput=i(this,"ifxInput",7);this.ifxSuggestionRequested=i(this,"ifxSuggestionRequested",7);this.ifxSuggestionSelected=i(this,"ifxSuggestionSelected",7);this.ifxFocus=i(this,"ifxFocus",7);this.ifxBlur=i(this,"ifxBlur",7);this.value="";this.suggestions=[];this.showSuggestions=false;this.maxSuggestions=10;this.maxHistoryItems=5;this.enableHistory=true;this.historyKey="ifx-search-history";this.historyHeaderText="Recent Searches";this.ariaLabel="Search Field";this.deleteIconAriaLabel="Clear search";this.historyDeleteAriaLabel="Remove from history";this.dropdownAriaLabel="Search suggestions and history";this.suggestionAriaLabel="Search suggestion";this.historyItemAriaLabel="Search history item";this.showDropdown=false;this.filteredSuggestions=[];this.selectedSuggestionIndex=-1;this.searchHistory=[];this.showDeleteIcon=false;this.showDeleteIconInternalState=false;this.disabled=false;this.size="l";this.isFocused=false;this.placeholder="Search...";this.autocomplete="off";this.maxlength=null;this.focusEmitted=false;this.handleInput=()=>{const s=this.inputElement.value;this.value=s;this.ifxInput.emit(this.value);if(this.showSuggestions){this.showDropdown=true;this.selectedSuggestionIndex=-1;this.requestSuggestions(s)}};this.handleDelete=()=>{if(!this.disabled){this.inputElement.value="";this.value="";this.ifxInput.emit(this.value);this.hideDropdown()}};this.handleSearch=()=>{if(this.value.trim()&&this.enableHistory){if(this.filteredSuggestions.length>0){this.addToHistory(this.value)}}this.hideDropdown()};this.handleHistoryDelete=(s,i)=>{s.stopPropagation();this.removeFromHistory(i)}}handleOutsideClick(s){const i=s.composedPath();if(!i.includes(this.inputElement)&&!i.includes(this.dropdownElement)){this.hideDropdown()}}handleKeyDown(s){if(!this.showDropdown)return;switch(s.key){case"ArrowDown":s.preventDefault();this.navigateSuggestions(1);break;case"ArrowUp":s.preventDefault();this.navigateSuggestions(-1);break;case"Enter":s.preventDefault();if(this.selectedSuggestionIndex>=0){this.selectSuggestion(this.filteredSuggestions[this.selectedSuggestionIndex])}else{this.handleSearch()}break;case"Escape":this.hideDropdown();break}}valueWatcher(s){if(this.inputElement&&s!==this.inputElement.value){this.inputElement.value=s}this.updateSuggestions()}suggestionsWatcher(){this.updateSuggestions()}focusInput(){if(!this.focusEmitted){this.focusEmitted=true;this.isFocused=true;this.ifxFocus.emit()}if(this.showSuggestions){if(this.value.length===0){this.showHistoryDropdown();this.showDropdown=this.enableHistory&&this.searchHistory.length>0}else{this.updateSuggestions();this.showDropdown=this.filteredSuggestions.length>0}}}blurInput(){setTimeout((()=>{this.isFocused=false;this.focusEmitted=false;this.ifxBlur.emit()}),150)}loadSearchHistory(){if(this.enableHistory&&typeof localStorage!=="undefined"){const s=localStorage.getItem(this.historyKey);this.searchHistory=s?JSON.parse(s):[];this.updateSuggestions();if(this.value.length===0&&this.searchHistory.length===0){this.showDropdown=false}}}clearSearchHistory(){if(this.enableHistory&&typeof localStorage!=="undefined"){localStorage.removeItem(this.historyKey);this.searchHistory=[];this.filteredSuggestions=[];this.selectedSuggestionIndex=-1;this.showDropdown=false;this.updateSuggestions()}}addToHistory(s){if(!this.enableHistory||!s.trim())return;const i=[...this.searchHistory];const e=i.indexOf(s);if(e>-1){i.splice(e,1)}i.unshift(s);this.searchHistory=i.slice(0,this.maxHistoryItems);if(typeof localStorage!=="undefined"){localStorage.setItem(this.historyKey,JSON.stringify(this.searchHistory))}}removeFromHistory(s){if(!this.enableHistory)return;const i=[...this.searchHistory];const e=i.indexOf(s);if(e>-1){i.splice(e,1);this.searchHistory=i;if(typeof localStorage!=="undefined"){localStorage.setItem(this.historyKey,JSON.stringify(this.searchHistory))}this.updateSuggestions();if(this.searchHistory.length===0&&this.value.length===0){this.showDropdown=false}}}requestSuggestions(s){this.ifxSuggestionRequested.emit(s);this.updateSuggestions()}updateSuggestions(){const s=this.value.toLowerCase();let i=[];if(s.length>0){if(this.suggestions&&this.suggestions.length>0){const e=this.suggestions.filter((i=>i.text.toLowerCase().includes(s)));i=[...i,...e]}if(this.enableHistory&&this.searchHistory.length>0){const e=this.searchHistory.filter((i=>i.toLowerCase().includes(s))).map(((s,i)=>({id:`history-${i}`,text:s,type:"history"})));i=[...i,...e]}i.sort(((i,e)=>{const t=i.text.toLowerCase();const n=e.text.toLowerCase();if(t===s&&n!==s)return-1;if(n===s&&t!==s)return 1;const o=t.startsWith(s);const r=n.startsWith(s);if(o&&!r)return-1;if(r&&!o)return 1;if(i.type==="suggestion"&&e.type==="history")return-1;if(i.type==="history"&&e.type==="suggestion")return 1;return t.localeCompare(n)}))}else{if(this.enableHistory&&this.searchHistory.length>0){const s=this.searchHistory.map(((s,i)=>({id:`history-${i}`,text:s,type:"history"})));i=s}}const e=i.reduce(((s,i)=>{const e=s.findIndex((s=>s.text.toLowerCase()===i.text.toLowerCase()&&s.scope===i.scope));if(e===-1){s.push(i)}else{if(i.type==="history"&&s[e].type!=="history"){s[e]=i}}return s}),[]);this.filteredSuggestions=e.slice(0,this.maxSuggestions);this.selectedSuggestionIndex=-1}navigateSuggestions(s){const i=this.filteredSuggestions.length-1;if(s>0){this.selectedSuggestionIndex=this.selectedSuggestionIndex<i?this.selectedSuggestionIndex+1:0}else{this.selectedSuggestionIndex=this.selectedSuggestionIndex>0?this.selectedSuggestionIndex-1:i}}selectSuggestion(s){this.value=s.text;this.inputElement.value=s.text;this.ifxSuggestionSelected.emit(s);this.ifxInput.emit(this.value);if(this.enableHistory){this.addToHistory(s.text)}this.hideDropdown()}hideDropdown(){this.showDropdown=false;this.selectedSuggestionIndex=-1;this.isFocused=false}showHistoryDropdown(){if(this.enableHistory&&this.searchHistory.length>0){const s=this.searchHistory.map(((s,i)=>({id:`history-${i}`,text:s,type:"history"})));this.filteredSuggestions=s.slice(0,this.maxSuggestions);this.selectedSuggestionIndex=-1}else{this.filteredSuggestions=[]}}isShowingOnlyHistory(){return this.value.length===0&&this.filteredSuggestions.length>0&&this.filteredSuggestions.every((s=>s.type==="history"))}renderHighlightedText(s,i){if(!i||i.length===0){return s}const t=s.toLowerCase();const n=i.toLowerCase();const o=t.indexOf(n);if(o===-1){return s}const r=s.substring(0,o);const h=s.substring(o,o+i.length);const a=s.substring(o+i.length);return[r,e("strong",null,h),a]}componentWillLoad(){this.loadSearchHistory()}async componentDidLoad(){if(!r(this.el)){const s=n();o("ifx-search-field",await s)}}componentWillUpdate(){if(this.value!==""){this.showDeleteIconInternalState=true}else this.showDeleteIconInternalState=false}render(){return e("div",{key:"d355ec7cdbe980ea99e4238cf02d907ddd76d59b","aria-disabled":this.disabled,"aria-value":this.value,class:"search-field"},e("div",{key:"2aa3d943caab35213ca10f071586c80358515f1c",class:this.getWrapperClassNames(),tabindex:1,onClick:()=>this.focusInput()},e("ifx-icon",{key:"eaa300dd0f8466a2396c55f3f2fffe9dcf5bbf44",icon:"search-16",class:"search-icon"}),e("input",{key:"cce86ee892ec624fe8671d7567434ae5433b8702",ref:s=>this.inputElement=s,type:"text",autocomplete:this.autocomplete,onInput:()=>this.handleInput(),onFocus:()=>this.focusInput(),onBlur:()=>this.blurInput(),placeholder:this.placeholder,disabled:this.disabled,maxlength:this.maxlength,value:this.value,role:"combobox","aria-controls":this.showDropdown?"suggestions-dropdown":undefined,"aria-expanded":this.showDropdown,"aria-autocomplete":"list","aria-haspopup":"listbox","aria-label":this.ariaLabel,"aria-labelledby":this.ariaLabelledBy,"aria-describedby":this.ariaDescribedBy,"aria-owns":this.showDropdown?"suggestions-dropdown":undefined,"aria-activedescendant":this.selectedSuggestionIndex>=0?`suggestion-${this.selectedSuggestionIndex}`:undefined}),this.showDeleteIcon&&this.showDeleteIconInternalState?e("ifx-icon",{icon:"cRemove16",class:"delete-icon",onClick:this.handleDelete,role:"button",tabindex:"0","aria-label":this.deleteIconAriaLabel,onKeyDown:s=>{if(s.key==="Enter"||s.key===" "){s.preventDefault();this.handleDelete()}}}):null),this.showDropdown&&this.filteredSuggestions.length>0&&e("div",{key:"d447e63087ac5b41d2109a16b8db37df4c9db860",ref:s=>this.dropdownElement=s,id:"suggestions-dropdown",class:"suggestions-dropdown",role:"listbox","aria-label":this.dropdownAriaLabel},this.isShowingOnlyHistory()&&e("div",{key:"6a4662d31fd8c755ec1ec9da4bb871750aa63a57",class:"suggestions-header"},this.historyHeaderText),this.filteredSuggestions.map(((s,i)=>e("div",{key:s.id,id:`suggestion-${i}`,class:this.getSuggestionClassNames(i),role:"option","aria-selected":i===this.selectedSuggestionIndex,"aria-label":`${s.type==="history"?this.historyItemAriaLabel:this.suggestionAriaLabel}: ${s.text}${s.scope?`, ${s.scope}`:""}${s.resultCount?`, ${s.resultCount} results`:""}`,onClick:()=>this.selectSuggestion(s),onMouseEnter:()=>this.selectedSuggestionIndex=i},e("div",{class:"suggestion-content"},s.type==="history"&&e("ifx-icon",{icon:"history-16",class:"suggestion-icon suggestion-icon--history"}),s.type==="suggestion"&&e("ifx-icon",{icon:"search-16",class:"suggestion-icon suggestion-icon--suggestion"}),e("span",{class:"suggestion-text"},e("span",{class:"suggestion-main-text"},this.renderHighlightedText(s.text,this.value)),s.scope&&e("span",{class:"suggestion-scope"},"– ",s.scope)),s.resultCount!==undefined&&s.scope&&e("span",{class:"suggestion-count"},s.resultCount),s.type==="history"&&e("ifx-icon",{icon:"cross16",class:"suggestion-delete-icon",role:"button",tabindex:"0","aria-label":`${this.historyDeleteAriaLabel}: ${s.text}`,onClick:i=>this.handleHistoryDelete(i,s.text),onKeyDown:i=>{if(i.key==="Enter"||i.key===" "){i.preventDefault();this.handleHistoryDelete(i,s.text)}}})))))))}getSizeClass(){return`${this.size}`==="s"?"search-field__wrapper-s":""}getWrapperClassNames(){return h(`search-field__wrapper`,`search-field__wrapper ${this.getSizeClass()}`,`${this.isFocused?"focused":""}`,`${this.showDropdown?"dropdown-open":""}`,`${this.disabled?"disabled":""}`)}getSuggestionClassNames(s){var i;return h("suggestion-item",{"suggestion-item--selected":s===this.selectedSuggestionIndex,"suggestion-item--history":((i=this.filteredSuggestions[s])===null||i===void 0?void 0:i.type)==="history"})}get el(){return t(this)}static get watchers(){return{value:["valueWatcher"],suggestions:["suggestionsWatcher"]}}};l.style=a;export{l as ifx_search_field};
2
+ //# sourceMappingURL=p-4fba0543.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["searchFieldCss","SearchField","constructor","hostRef","this","value","suggestions","showSuggestions","maxSuggestions","maxHistoryItems","enableHistory","historyKey","historyHeaderText","ariaLabel","deleteIconAriaLabel","historyDeleteAriaLabel","dropdownAriaLabel","suggestionAriaLabel","historyItemAriaLabel","showDropdown","filteredSuggestions","selectedSuggestionIndex","searchHistory","showDeleteIcon","showDeleteIconInternalState","disabled","size","isFocused","placeholder","autocomplete","maxlength","focusEmitted","handleInput","query","inputElement","ifxInput","emit","requestSuggestions","handleDelete","hideDropdown","handleSearch","trim","length","addToHistory","handleHistoryDelete","event","term","stopPropagation","removeFromHistory","handleOutsideClick","path","composedPath","includes","dropdownElement","handleKeyDown","key","preventDefault","navigateSuggestions","selectSuggestion","valueWatcher","newValue","updateSuggestions","suggestionsWatcher","focusInput","ifxFocus","showHistoryDropdown","blurInput","setTimeout","ifxBlur","loadSearchHistory","localStorage","stored","getItem","JSON","parse","clearSearchHistory","removeItem","history","existingIndex","indexOf","splice","unshift","slice","setItem","stringify","index","ifxSuggestionRequested","toLowerCase","filteredExternal","filter","s","text","filteredHistory","map","id","type","sort","a","b","aText","bText","aStartsWith","startsWith","bStartsWith","localeCompare","historySuggestions","uniqueSuggestions","reduce","unique","current","findIndex","item","scope","push","direction","maxIndex","suggestion","ifxSuggestionSelected","isShowingOnlyHistory","every","renderHighlightedText","lowerText","lowerQuery","before","substring","match","after","h","componentWillLoad","componentDidLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","componentWillUpdate","render","class","getWrapperClassNames","tabindex","onClick","icon","ref","onInput","onFocus","onBlur","role","undefined","ariaLabelledBy","ariaDescribedBy","onKeyDown","getSuggestionClassNames","resultCount","onMouseEnter","getSizeClass","classNames","_a"],"sources":["src/components/search-field/search-field.scss?tag=ifx-search-field&encapsulation=shadow","src/components/search-field/search-field.tsx"],"sourcesContent":["@use '~@infineon/design-system-tokens/dist/tokens';\n@use '../../global/font.scss';\n\n:host {\n display: flex;\n}\n\n.search-field {\n box-sizing: border-box;\n background-color: tokens.$ifxColorBaseWhite;\n width: 100%;\n font-family: var(--ifx-font-family);\n position: relative; // Wichtig für absolute positioning des Dropdowns\n\n .search-field__wrapper {\n box-sizing: border-box;\n height: tokens.$ifxSize500;\n display: flex;\n align-items: center;\n border: 1px solid #8d8786;\n border-radius: tokens.$ifxBorderRadius12;\n padding: tokens.$ifxSpace100 tokens.$ifxSpace200;\n gap: tokens.$ifxSpace150;\n flex: none;\n order: 0;\n align-self: stretch;\n flex-grow: 0;\n position: relative;\n width: 100%;\n outline: none;\n\n &:focus-visible:not(.disabled) {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n }\n\n &.search-field__wrapper-s {\n height: 36px;\n }\n\n &:hover:not(.focused, :focus) {\n border: 1px solid #3c3a39;\n }\n\n & .delete-icon {\n outline: 1px solid transparent;\n right: 12px;\n cursor: pointer;\n &:focus-visible {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 1px;\n }\n }\n\n input[type='text'] {\n font-style: normal;\n font-weight: 400;\n font-size: 16px;\n //line-height: 24px;\n color: #8d8786;\n border: none;\n width: 100%;\n outline: none;\n //height: 100%;\n height: 16px;\n\n &:focus {\n outline: none;\n color: #1d1d1d;\n }\n\n &:disabled {\n background: tokens.$ifxColorEngineering300;\n color: tokens.$ifxColorBaseWhite;\n\n &::placeholder {\n color: tokens.$ifxColorBaseWhite;\n }\n }\n }\n\n &.disabled {\n background: tokens.$ifxColorEngineering300;\n border: none;\n color: tokens.$ifxColorBaseWhite;\n\n &:hover {\n border: none;\n outline: none;\n }\n\n & .delete-icon { \n cursor: default;\n &:focus-visible { \n outline: 1px solid transparent;\n }\n }\n }\n }\n\n // Suggestions Dropdown Styles\n .suggestions-dropdown {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n background: tokens.$ifxColorBaseWhite;\n margin-top: tokens.$ifxSpace50;\n border: 1px solid tokens.$ifxColorEngineering200;\n box-shadow: 0px 6px 9px 0px rgba(29, 29, 29, 0.1);\n z-index: 1000;\n max-height: 300px;\n overflow-y: auto;\n container-type: inline-size; // Enable container queries\n\n .suggestions-header {\n // font: tokens.$ifxEyebrowEyebrow02; TODO\n font-family: Source Sans 3;\n font-size: 0.8125rem;\n font-weight: 600;\n line-height: 1.25rem;\n\n letter-spacing: 0.25em;\n text-transform: uppercase;\n color: tokens.$ifxColorEngineering500;\n border-bottom: 1px solid tokens.$ifxColorEngineering200;\n padding: tokens.$ifxSpace150 tokens.$ifxSpace200;\n }\n\n .suggestion-item {\n padding: tokens.$ifxSpace150 tokens.$ifxSpace200;\n cursor: pointer;\n transition: background-color 0.2s ease;\n\n &:last-child {\n border-bottom: none;\n }\n\n &:hover,\n &--selected {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n .suggestion-content {\n display: flex;\n align-items: center;\n gap: tokens.$ifxSpace150;\n\n .suggestion-icon {\n color: tokens.$ifxColorEngineering500;\n flex-shrink: 0;\n\n &--history {\n color: tokens.$ifxColorEngineering500;\n }\n }\n\n .suggestion-text {\n flex: 1;\n display: flex;\n align-items: center;\n min-width: 0; // Important for flexbox truncation\n\n .suggestion-main-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex-shrink: 1;\n min-width: 0;\n }\n\n .suggestion-scope {\n color: tokens.$ifxColorEngineering400;\n flex-shrink: 0; // Never truncate the scope\n white-space: nowrap;\n margin-left: tokens.$ifxSpace25; // Add space before the scope\n font-weight: tokens.$ifxFontWeightSemibold;\n font-size: tokens.$ifxFontSizeXs;\n }\n\n // When container is narrow, stack scope below main text\n @container (max-width: 320px) {\n flex-direction: column;\n align-items: flex-start;\n\n .suggestion-main-text {\n width: 100%;\n max-width: 100%;\n }\n\n .suggestion-scope {\n margin-left: 0;\n margin-top: 0;\n width: 100%;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n flex-shrink: 1; // Allow truncation when narrow\n }\n }\n }\n\n .suggestion-count {\n color: tokens.$ifxColorEngineering400;\n margin-left: auto;\n flex-shrink: 0;\n }\n\n .suggestion-delete-icon {\n opacity: 0;\n visibility: hidden;\n transition: opacity 0.2s ease, visibility 0.2s ease;\n cursor: pointer;\n margin-left: auto;\n flex-shrink: 0;\n color: tokens.$ifxColorEngineering500;\n\n &:hover {\n color: tokens.$ifxColorEngineering600;\n }\n }\n }\n\n &:hover {\n .suggestion-delete-icon {\n opacity: 1;\n visibility: visible;\n }\n }\n }\n }\n\n // Wrapper modifications when dropdown is open\n .search-field__wrapper.dropdown-open {\n border-radius: tokens.$ifxBorderRadius12 tokens.$ifxBorderRadius12 0 0;\n border-color: tokens.$ifxColorOcean500;\n }\n}\n","import { Component, EventEmitter, h, Event, Prop, Watch, State, Listen, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nimport classNames from 'classnames';\n\nexport interface SuggestionItem {\n id: string;\n text: string;\n type?: 'suggestion' | 'history';\n scope?: string;\n resultCount?: number;\n metadata?: any;\n}\n\n@Component({\n tag: 'ifx-search-field',\n styleUrl: 'search-field.scss',\n shadow: true\n})\n\nexport class SearchField {\n @Element() el;\n private inputElement: HTMLInputElement;\n private dropdownElement: HTMLDivElement;\n\n @Prop({ mutable: true }) value: string = '';\n @Prop() suggestions: SuggestionItem[] = [];\n @Prop() showSuggestions: boolean = false;\n @Prop() maxSuggestions: number = 10;\n @Prop() maxHistoryItems: number = 5;\n @Prop() enableHistory: boolean = true;\n @Prop() historyKey: string = 'ifx-search-history';\n @Prop() historyHeaderText: string = 'Recent Searches';\n\n // ARIA Labels and Accessibility Props\n @Prop() ariaLabel: string | null = \"Search Field\"\n @Prop() ariaLabelledBy?: string | null;\n @Prop() ariaDescribedBy?: string | null;\n @Prop() deleteIconAriaLabel: string = 'Clear search';\n @Prop() historyDeleteAriaLabel: string = 'Remove from history';\n @Prop() dropdownAriaLabel: string = 'Search suggestions and history';\n @Prop() suggestionAriaLabel: string = 'Search suggestion';\n @Prop() historyItemAriaLabel: string = 'Search history item';\n\n @Event() ifxInput: EventEmitter<string>;\n @Event() ifxSuggestionRequested: EventEmitter<string>;\n @Event() ifxSuggestionSelected: EventEmitter<SuggestionItem>;\n @Event() ifxFocus: EventEmitter<void>;\n @Event() ifxBlur: EventEmitter<void>;\n\n @State() showDropdown: boolean = false;\n @State() filteredSuggestions: SuggestionItem[] = [];\n @State() selectedSuggestionIndex: number = -1;\n @State() searchHistory: string[] = [];\n\n @Prop() showDeleteIcon: boolean = false;\n @State() showDeleteIconInternalState: boolean = false;\n @Prop() disabled: boolean = false;\n @Prop() size: string = 'l';\n @State() isFocused: boolean = false;\n @Prop() placeholder: string = \"Search...\";\n @Prop() autocomplete: string = \"off\";\n @Prop() maxlength?: number = null;\n\n private focusEmitted: boolean = false;\n\n @Listen('mousedown', { target: 'document' })\n handleOutsideClick(event: MouseEvent) {\n const path = event.composedPath();\n if (!path.includes(this.inputElement) && !path.includes(this.dropdownElement)) {\n this.hideDropdown();\n }\n }\n\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n if (!this.showDropdown) return;\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n this.navigateSuggestions(1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n this.navigateSuggestions(-1);\n break;\n case 'Enter':\n event.preventDefault();\n if (this.selectedSuggestionIndex >= 0) {\n this.selectSuggestion(this.filteredSuggestions[this.selectedSuggestionIndex]);\n } else {\n this.handleSearch();\n }\n break;\n case 'Escape':\n this.hideDropdown();\n break;\n }\n }\n\n @Watch('value')\n valueWatcher(newValue: string) {\n if (this.inputElement && newValue !== this.inputElement.value) {\n this.inputElement.value = newValue;\n }\n this.updateSuggestions();\n }\n\n @Watch('suggestions')\n suggestionsWatcher() {\n this.updateSuggestions();\n }\n\n\n handleInput = () => {\n const query = this.inputElement.value;\n this.value = query;\n this.ifxInput.emit(this.value);\n\n if (this.showSuggestions) {\n this.showDropdown = true;\n this.selectedSuggestionIndex = -1;\n this.requestSuggestions(query);\n }\n };\n\n handleDelete = () => {\n if(!this.disabled) { \n this.inputElement.value = '';\n this.value = \"\";\n this.ifxInput.emit(this.value);\n this.hideDropdown();\n }\n }\n\n handleSearch = () => {\n if (this.value.trim() && this.enableHistory) {\n // Only add to history if there are actual results\n if (this.filteredSuggestions.length > 0) {\n this.addToHistory(this.value);\n }\n }\n this.hideDropdown();\n }\n\n focusInput() {\n // Only emit focus event if it hasn't been emitted already\n if (!this.focusEmitted) {\n this.focusEmitted = true;\n this.isFocused = true;\n this.ifxFocus.emit();\n }\n\n if (this.showSuggestions) {\n // On focus without input: Show only history\n if (this.value.length === 0) {\n this.showHistoryDropdown();\n // Only show dropdown if history is actually present\n this.showDropdown = this.enableHistory && this.searchHistory.length > 0;\n } else {\n // With existing input: Normal suggestion logic\n this.updateSuggestions();\n this.showDropdown = this.filteredSuggestions.length > 0;\n }\n }\n }\n\n blurInput() {\n setTimeout(() => {\n this.isFocused = false;\n this.focusEmitted = false; // Reset focus flag when blur occurs\n this.ifxBlur.emit();\n }, 150);\n }\n\n // Public method to update history from external sources\n public loadSearchHistory() {\n if (this.enableHistory && typeof localStorage !== 'undefined') {\n const stored = localStorage.getItem(this.historyKey);\n this.searchHistory = stored ? JSON.parse(stored) : [];\n\n // Update suggestions when history is loaded\n this.updateSuggestions();\n\n // If no input and no history left, close dropdown\n if (this.value.length === 0 && this.searchHistory.length === 0) {\n this.showDropdown = false;\n }\n }\n }\n\n // Public method to completely clear history\n public clearSearchHistory() {\n if (this.enableHistory && typeof localStorage !== 'undefined') {\n // Clear from localStorage\n localStorage.removeItem(this.historyKey);\n\n // Clear internal history\n this.searchHistory = [];\n\n // Reset all dropdown-relevant states\n this.filteredSuggestions = [];\n this.selectedSuggestionIndex = -1;\n this.showDropdown = false;\n\n // Update suggestions after reset\n this.updateSuggestions();\n }\n }\n\n // Suggestion Management Methods\n private addToHistory(term: string) {\n if (!this.enableHistory || !term.trim()) return;\n\n const history = [...this.searchHistory];\n const existingIndex = history.indexOf(term);\n\n if (existingIndex > -1) {\n history.splice(existingIndex, 1);\n }\n\n history.unshift(term);\n // Limit history to maxHistoryItems (default 5)\n this.searchHistory = history.slice(0, this.maxHistoryItems);\n\n if (typeof localStorage !== 'undefined') {\n localStorage.setItem(this.historyKey, JSON.stringify(this.searchHistory));\n }\n }\n\n // Remove individual history entry\n private removeFromHistory(term: string) {\n if (!this.enableHistory) return;\n\n const history = [...this.searchHistory];\n const index = history.indexOf(term);\n\n if (index > -1) {\n history.splice(index, 1);\n this.searchHistory = history;\n\n // Update localStorage\n if (typeof localStorage !== 'undefined') {\n localStorage.setItem(this.historyKey, JSON.stringify(this.searchHistory));\n }\n\n // Update suggestions after removal\n this.updateSuggestions();\n\n // Close dropdown if no history remains\n if (this.searchHistory.length === 0 && this.value.length === 0) {\n this.showDropdown = false;\n }\n }\n }\n\n // Handle click on history delete button\n private handleHistoryDelete = (event: Event, term: string) => {\n event.stopPropagation(); // Prevent selection of the entry\n this.removeFromHistory(term);\n }\n\n private requestSuggestions(query: string) {\n this.ifxSuggestionRequested.emit(query);\n this.updateSuggestions();\n }\n\n private updateSuggestions() {\n const query = this.value.toLowerCase();\n let suggestions: SuggestionItem[] = [];\n\n if (query.length > 0) {\n // For text input: Mix external suggestions and relevant history\n\n // 1. Filter external suggestions\n if (this.suggestions && this.suggestions.length > 0) {\n const filteredExternal = this.suggestions.filter(s =>\n s.text.toLowerCase().includes(query)\n );\n suggestions = [...suggestions, ...filteredExternal];\n }\n\n // 2. Filter relevant history entries\n if (this.enableHistory && this.searchHistory.length > 0) {\n const filteredHistory = this.searchHistory\n .filter(term => term.toLowerCase().includes(query))\n .map((term, index) => ({\n id: `history-${index}`,\n text: term,\n type: 'history' as const\n }));\n suggestions = [...suggestions, ...filteredHistory];\n }\n\n // 3. Sort by relevance (exact matches first, then prefix matches)\n suggestions.sort((a, b) => {\n const aText = a.text.toLowerCase();\n const bText = b.text.toLowerCase();\n\n // Exact match has highest priority\n if (aText === query && bText !== query) return -1;\n if (bText === query && aText !== query) return 1;\n\n // Prefix match has second highest priority\n const aStartsWith = aText.startsWith(query);\n const bStartsWith = bText.startsWith(query);\n\n if (aStartsWith && !bStartsWith) return -1;\n if (bStartsWith && !aStartsWith) return 1;\n\n // With equal relevance: external suggestions before history\n if (a.type === 'suggestion' && b.type === 'history') return -1;\n if (a.type === 'history' && b.type === 'suggestion') return 1;\n\n // Alphabetical sorting as last criterion\n return aText.localeCompare(bText);\n });\n\n } else {\n // For empty query: Show only history (no external suggestions)\n if (this.enableHistory && this.searchHistory.length > 0) {\n const historySuggestions = this.searchHistory.map((term, index) => ({\n id: `history-${index}`,\n text: term,\n type: 'history' as const\n }));\n\n suggestions = historySuggestions;\n }\n // For empty query DO NOT show external suggestions\n }\n\n // Remove duplicates based on text and scope combination (history takes precedence over external)\n const uniqueSuggestions = suggestions.reduce((unique: SuggestionItem[], current) => {\n const existingIndex = unique.findIndex(item =>\n item.text.toLowerCase() === current.text.toLowerCase() &&\n item.scope === current.scope\n );\n if (existingIndex === -1) {\n unique.push(current);\n } else {\n // If already exists, prefer history over external suggestions\n if (current.type === 'history' && unique[existingIndex].type !== 'history') {\n unique[existingIndex] = current;\n }\n }\n return unique;\n }, []);\n\n this.filteredSuggestions = uniqueSuggestions.slice(0, this.maxSuggestions);\n this.selectedSuggestionIndex = -1;\n }\n\n private navigateSuggestions(direction: number) {\n const maxIndex = this.filteredSuggestions.length - 1;\n\n if (direction > 0) {\n this.selectedSuggestionIndex = this.selectedSuggestionIndex < maxIndex\n ? this.selectedSuggestionIndex + 1\n : 0;\n } else {\n this.selectedSuggestionIndex = this.selectedSuggestionIndex > 0\n ? this.selectedSuggestionIndex - 1\n : maxIndex;\n }\n }\n\n private selectSuggestion(suggestion: SuggestionItem) {\n this.value = suggestion.text;\n this.inputElement.value = suggestion.text;\n this.ifxSuggestionSelected.emit(suggestion);\n this.ifxInput.emit(this.value);\n\n if (this.enableHistory) {\n // Always add selected suggestions to history since they are valid results\n this.addToHistory(suggestion.text);\n }\n\n this.hideDropdown();\n }\n\n private hideDropdown() {\n this.showDropdown = false;\n this.selectedSuggestionIndex = -1;\n this.isFocused = false;\n }\n\n // Show only history in dropdown (e.g. on focus without input)\n private showHistoryDropdown() {\n if (this.enableHistory && this.searchHistory.length > 0) {\n // Show only history entries\n const historySuggestions = this.searchHistory.map((term, index) => ({\n id: `history-${index}`,\n text: term,\n type: 'history' as const\n }));\n\n this.filteredSuggestions = historySuggestions.slice(0, this.maxSuggestions);\n this.selectedSuggestionIndex = -1;\n } else {\n this.filteredSuggestions = [];\n }\n }\n\n // Check if only history entries are displayed (without text input)\n private isShowingOnlyHistory(): boolean {\n return this.value.length === 0 &&\n this.filteredSuggestions.length > 0 &&\n this.filteredSuggestions.every(s => s.type === 'history');\n }\n\n // Render text with highlighted matches\n private renderHighlightedText(text: string, query: string) {\n if (!query || query.length === 0) {\n return text;\n }\n\n const lowerText = text.toLowerCase();\n const lowerQuery = query.toLowerCase();\n const index = lowerText.indexOf(lowerQuery);\n\n if (index === -1) {\n return text;\n }\n\n const before = text.substring(0, index);\n const match = text.substring(index, index + query.length);\n const after = text.substring(index + query.length);\n\n return [\n before,\n <strong>{match}</strong>,\n after\n ];\n }\n\n componentWillLoad() {\n this.loadSearchHistory();\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) {\n const framework = detectFramework()\n trackComponent('ifx-search-field', await framework)\n }\n }\n\n componentWillUpdate() {\n if (this.value !== \"\") {\n this.showDeleteIconInternalState = true;\n } else this.showDeleteIconInternalState = false;\n }\n\n render() {\n return (\n <div\n aria-disabled={this.disabled}\n aria-value={this.value}\n class='search-field'\n >\n <div\n class={this.getWrapperClassNames()}\n tabindex={1}\n onClick={() => this.focusInput()}\n >\n <ifx-icon icon=\"search-16\" class=\"search-icon\"></ifx-icon>\n <input\n ref={(el) => (this.inputElement = el)}\n type=\"text\"\n autocomplete={this.autocomplete}\n onInput={() => this.handleInput()}\n onFocus={() => this.focusInput()}\n onBlur={() => this.blurInput()}\n placeholder={this.placeholder}\n disabled={this.disabled}\n maxlength={this.maxlength}\n value={this.value}\n role=\"combobox\"\n aria-controls={this.showDropdown ? 'suggestions-dropdown' : undefined}\n aria-expanded={this.showDropdown}\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n aria-label={this.ariaLabel}\n aria-labelledby={this.ariaLabelledBy}\n aria-describedby={this.ariaDescribedBy}\n aria-owns={this.showDropdown ? 'suggestions-dropdown' : undefined}\n aria-activedescendant={this.selectedSuggestionIndex >= 0 ? `suggestion-${this.selectedSuggestionIndex}` : undefined}\n />\n {this.showDeleteIcon && this.showDeleteIconInternalState ? (\n <ifx-icon\n icon=\"cRemove16\"\n class=\"delete-icon\"\n onClick={this.handleDelete}\n role=\"button\"\n tabindex=\"0\"\n aria-label={this.deleteIconAriaLabel}\n onKeyDown={(event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.handleDelete();\n }\n }}>\n </ifx-icon>\n ) : null}\n </div>\n\n {/* Suggestions Dropdown */}\n {this.showDropdown && this.filteredSuggestions.length > 0 && (\n <div\n ref={(el) => (this.dropdownElement = el)}\n id=\"suggestions-dropdown\"\n class=\"suggestions-dropdown\"\n role=\"listbox\"\n aria-label={this.dropdownAriaLabel}\n >\n {/* History Header - only show when exclusively showing history entries */}\n {this.isShowingOnlyHistory() && (\n <div class=\"suggestions-header\">\n {this.historyHeaderText}\n </div>\n )}\n\n {this.filteredSuggestions.map((suggestion, index) => (\n <div\n key={suggestion.id}\n id={`suggestion-${index}`}\n class={this.getSuggestionClassNames(index)}\n role=\"option\"\n aria-selected={index === this.selectedSuggestionIndex}\n aria-label={`${suggestion.type === 'history' ? this.historyItemAriaLabel : this.suggestionAriaLabel}: ${suggestion.text}${suggestion.scope ? `, ${suggestion.scope}` : ''}${suggestion.resultCount ? `, ${suggestion.resultCount} results` : ''}`}\n onClick={() => this.selectSuggestion(suggestion)}\n onMouseEnter={() => this.selectedSuggestionIndex = index}\n >\n <div class=\"suggestion-content\">\n {suggestion.type === 'history' && (\n <ifx-icon icon=\"history-16\" class=\"suggestion-icon suggestion-icon--history\"></ifx-icon>\n )}\n {suggestion.type === 'suggestion' && (\n <ifx-icon icon=\"search-16\" class=\"suggestion-icon suggestion-icon--suggestion\"></ifx-icon>\n )}\n <span class=\"suggestion-text\">\n <span class=\"suggestion-main-text\">\n {this.renderHighlightedText(suggestion.text, this.value)}\n </span>\n {suggestion.scope && (\n <span class=\"suggestion-scope\">– {suggestion.scope}</span>\n )}\n </span>\n\n {suggestion.resultCount !== undefined && suggestion.scope && (\n <span class=\"suggestion-count\">{suggestion.resultCount}</span>\n )}\n\n {/* Delete Button only for history entries */}\n {suggestion.type === 'history' && (\n <ifx-icon\n icon=\"cross16\"\n class=\"suggestion-delete-icon\"\n role=\"button\"\n tabindex=\"0\"\n aria-label={`${this.historyDeleteAriaLabel}: ${suggestion.text}`}\n onClick={(event) => this.handleHistoryDelete(event, suggestion.text)}\n onKeyDown={(event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.handleHistoryDelete(event, suggestion.text);\n }\n }}\n ></ifx-icon>\n )}\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n );\n }\n\n getSizeClass() {\n return `${this.size}` === \"s\"\n ? \"search-field__wrapper-s\"\n : \"\";\n }\n\n getWrapperClassNames() {\n return classNames(\n `search-field__wrapper`,\n `search-field__wrapper ${this.getSizeClass()}`,\n `${this.isFocused ? 'focused' : \"\"}`,\n `${this.showDropdown ? 'dropdown-open' : \"\"}`,\n `${this.disabled ? 'disabled' : \"\"}`\n );\n }\n\n getSuggestionClassNames(index: number) {\n return classNames(\n 'suggestion-item',\n {\n 'suggestion-item--selected': index === this.selectedSuggestionIndex,\n 'suggestion-item--history': this.filteredSuggestions[index]?.type === 'history'\n }\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,h as e,a}from"./p-Bq-7EdcD.js";const i=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{pointer-events:none}.card__text-wrapper{padding-bottom:0px}.card__text-wrapper.hasBtn{padding-bottom:16px}.card-text{line-height:1.5rem;font-size:1rem;font-weight:400;white-space:wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}';const r=class{constructor(e){t(this,e)}componentWillLoad(){const t=this.el.closest("ifx-card").querySelector("ifx-link");const e=this.el.closest("ifx-card").querySelector("ifx-button");if(t||e){this.hasBtn=true}}render(){return e("div",{key:"5a2aabfe888a3828a6017412ee91188efe4d64c2",class:`card__text-wrapper ${this.hasBtn?"hasBtn":""}`},e("div",{key:"39aa1e521652e4b323dd571614e297a5a600cfa9",class:`card-text`},e("slot",{key:"b72bc79a33bb48e96ae9f825dd48ca9b9b44725f"})))}get el(){return a(this)}};r.style=i;export{r as ifx_card_text};
2
- //# sourceMappingURL=p-b9b806ee.entry.js.map
1
+ import{r as t,h as e,a}from"./p-PqnYwNKt.js";const i=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{pointer-events:none}.card__text-wrapper{padding-bottom:0px}.card__text-wrapper.hasBtn{padding-bottom:16px}.card-text{line-height:1.5rem;font-size:1rem;font-weight:400;white-space:wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}';const r=class{constructor(e){t(this,e)}componentWillLoad(){const t=this.el.closest("ifx-card").querySelector("ifx-link");const e=this.el.closest("ifx-card").querySelector("ifx-button");if(t||e){this.hasBtn=true}}render(){return e("div",{key:"5a2aabfe888a3828a6017412ee91188efe4d64c2",class:`card__text-wrapper ${this.hasBtn?"hasBtn":""}`},e("div",{key:"39aa1e521652e4b323dd571614e297a5a600cfa9",class:`card-text`},e("slot",{key:"b72bc79a33bb48e96ae9f825dd48ca9b9b44725f"})))}get el(){return a(this)}};r.style=i;export{r as ifx_card_text};
2
+ //# sourceMappingURL=p-5367db9d.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["cardTextCss","CardText","componentWillLoad","link","this","el","closest","querySelector","button","hasBtn","render","h","key","class"],"sources":["src/components/card/card-text/card-text.scss?tag=ifx-card-text&encapsulation=shadow","src/components/card/card-text/card-text.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../../global/font.scss\";\n\n:host {\n pointer-events: none;\n}\n\n.card__text-wrapper {\n padding-bottom: 0px;\n\n &.hasBtn {\n padding-bottom: 16px;\n }\n}\n\n.card-text {\n line-height: tokens.$ifxLineHeightM;\n font-size: tokens.$ifxFontSizeM;\n font-weight: 400;\n white-space: wrap;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n}","import { Component, h, Element, State} from '@stencil/core';\n\n@Component({\n tag: 'ifx-card-text',\n styleUrl: './card-text.scss',\n shadow: true,\n})\n\nexport class CardText {\n @Element() el;\n @State() hasBtn: boolean;\n\n componentWillLoad() { \n const link = this.el.closest('ifx-card').querySelector('ifx-link');\n const button = this.el.closest('ifx-card').querySelector('ifx-button');\n if(link || button) { \n this.hasBtn = true;\n }\n }\n\n render() {\n return (\n <div class={`card__text-wrapper ${this.hasBtn ? 'hasBtn' : \"\"}`}>\n <div class={`card-text`}>\n <slot />\n </div>\n </div>\n );\n }\n}\n"],"mappings":"6CAAA,MAAMA,EAAc,0W,MCQPC,EAAQ,M,yBAInB,iBAAAC,GACE,MAAMC,EAAOC,KAAKC,GAAGC,QAAQ,YAAYC,cAAc,YACvD,MAAMC,EAASJ,KAAKC,GAAGC,QAAQ,YAAYC,cAAc,cACzD,GAAGJ,GAAQK,EAAQ,CACjBJ,KAAKK,OAAS,I,EAIlB,MAAAC,GACE,OACEC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,sBAAsBT,KAAKK,OAAS,SAAW,MACzDE,EAAK,OAAAC,IAAA,2CAAAC,MAAO,aACVF,EAAQ,QAAAC,IAAA,8C","ignoreList":[]}