@infineon/infineon-design-system-stencil 37.4.0 → 37.4.1--canary.1962.baa360da219f37054f79b2e93a00d1e1821bfba2.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 (626) hide show
  1. package/dist/cjs/framework-detection-26d47e36.js +158 -0
  2. package/dist/cjs/framework-detection-26d47e36.js.map +1 -0
  3. package/dist/cjs/ifx-accordion_2.cjs.entry.js +4 -4
  4. package/dist/cjs/ifx-accordion_2.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ifx-alert_2.cjs.entry.js +4 -2
  6. package/dist/cjs/ifx-alert_2.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ifx-badge.cjs.entry.js +4 -4
  8. package/dist/cjs/ifx-badge.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ifx-basic-table.cjs.entry.js +7 -7
  10. package/dist/cjs/ifx-basic-table.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ifx-breadcrumb.cjs.entry.js +4 -6
  12. package/dist/cjs/ifx-breadcrumb.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ifx-button.cjs.entry.js +5 -3
  14. package/dist/cjs/ifx-button.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ifx-card.cjs.entry.js +7 -5
  16. package/dist/cjs/ifx-card.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ifx-checkbox-group.cjs.entry.js +5 -3
  18. package/dist/cjs/ifx-checkbox-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ifx-checkbox.cjs.entry.js +7 -5
  20. package/dist/cjs/ifx-checkbox.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ifx-chip_3.cjs.entry.js +18 -16
  22. package/dist/cjs/ifx-chip_3.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ifx-content-switcher.cjs.entry.js +5 -3
  24. package/dist/cjs/ifx-content-switcher.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ifx-date-picker.cjs.entry.js +5 -7
  26. package/dist/cjs/ifx-date-picker.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ifx-dropdown.cjs.entry.js +5 -3
  28. package/dist/cjs/ifx-dropdown.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ifx-file-upload.cjs.entry.js +5 -7
  30. package/dist/cjs/ifx-file-upload.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ifx-footer.cjs.entry.js +8 -6
  32. package/dist/cjs/ifx-footer.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ifx-icon-button.cjs.entry.js +5 -3
  34. package/dist/cjs/ifx-icon-button.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ifx-icon.cjs.entry.js +5 -3
  36. package/dist/cjs/ifx-icon.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ifx-indicator.cjs.entry.js +6 -4
  38. package/dist/cjs/ifx-indicator.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ifx-link.cjs.entry.js +4 -4
  40. package/dist/cjs/ifx-link.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ifx-modal.cjs.entry.js +5 -7
  42. package/dist/cjs/ifx-modal.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ifx-multiselect_2.cjs.entry.js +6 -6
  44. package/dist/cjs/ifx-multiselect_2.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ifx-navbar.cjs.entry.js +7 -7
  46. package/dist/cjs/ifx-navbar.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ifx-notification.cjs.entry.js +5 -5
  48. package/dist/cjs/ifx-notification.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ifx-progress-bar.cjs.entry.js +6 -4
  50. package/dist/cjs/ifx-progress-bar.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ifx-radio-button-group.cjs.entry.js +6 -4
  52. package/dist/cjs/ifx-radio-button-group.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ifx-radio-button.cjs.entry.js +9 -7
  54. package/dist/cjs/ifx-radio-button.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ifx-search-bar.cjs.entry.js +7 -5
  56. package/dist/cjs/ifx-search-bar.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ifx-search-field.cjs.entry.js +4 -4
  58. package/dist/cjs/ifx-search-field.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ifx-segmented-control.cjs.entry.js +5 -7
  60. package/dist/cjs/ifx-segmented-control.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ifx-select.cjs.entry.js +8 -8
  62. package/dist/cjs/ifx-select.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ifx-sidebar.cjs.entry.js +9 -9
  64. package/dist/cjs/ifx-sidebar.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ifx-slider.cjs.entry.js +8 -8
  66. package/dist/cjs/ifx-slider.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ifx-spinner_2.cjs.entry.js +13 -11
  68. package/dist/cjs/ifx-spinner_2.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ifx-status.cjs.entry.js +4 -4
  70. package/dist/cjs/ifx-status.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ifx-stepper.cjs.entry.js +8 -8
  72. package/dist/cjs/ifx-stepper.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ifx-switch.cjs.entry.js +7 -7
  74. package/dist/cjs/ifx-switch.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ifx-table.cjs.entry.js +8 -8
  76. package/dist/cjs/ifx-table.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ifx-tabs.cjs.entry.js +8 -8
  78. package/dist/cjs/ifx-tabs.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ifx-tag.cjs.entry.js +4 -4
  80. package/dist/cjs/ifx-tag.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ifx-textarea.cjs.entry.js +6 -4
  82. package/dist/cjs/ifx-textarea.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ifx-tooltip.cjs.entry.js +10 -10
  84. package/dist/cjs/ifx-tooltip.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ifx-tree-view.cjs.entry.js +4 -4
  86. package/dist/cjs/ifx-tree-view.cjs.entry.js.map +1 -1
  87. package/dist/collection/components/accordion/accordion.js +3 -3
  88. package/dist/collection/components/accordion/accordion.js.map +1 -1
  89. package/dist/collection/components/alert/alert.js +3 -1
  90. package/dist/collection/components/alert/alert.js.map +1 -1
  91. package/dist/collection/components/badge/badge.js +3 -3
  92. package/dist/collection/components/badge/badge.js.map +1 -1
  93. package/dist/collection/components/breadcrumb/breadcrumb.js +3 -5
  94. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  95. package/dist/collection/components/button/button.js +4 -2
  96. package/dist/collection/components/button/button.js.map +1 -1
  97. package/dist/collection/components/card/card.js +6 -4
  98. package/dist/collection/components/card/card.js.map +1 -1
  99. package/dist/collection/components/checkbox/checkbox.js +6 -4
  100. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  101. package/dist/collection/components/checkbox-group/checkbox-group.js +4 -2
  102. package/dist/collection/components/checkbox-group/checkbox-group.js.map +1 -1
  103. package/dist/collection/components/chip/chip.js +11 -9
  104. package/dist/collection/components/chip/chip.js.map +1 -1
  105. package/dist/collection/components/content-switcher/content-switcher.js +4 -2
  106. package/dist/collection/components/content-switcher/content-switcher.js.map +1 -1
  107. package/dist/collection/components/date-picker/date-picker.js +4 -6
  108. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  109. package/dist/collection/components/dropdown/dropdown.js +4 -2
  110. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  111. package/dist/collection/components/file-upload/file-upload.js +4 -6
  112. package/dist/collection/components/file-upload/file-upload.js.map +1 -1
  113. package/dist/collection/components/footer/footer.js +7 -5
  114. package/dist/collection/components/footer/footer.js.map +1 -1
  115. package/dist/collection/components/icon/infineonIconStencil.js +4 -2
  116. package/dist/collection/components/icon/infineonIconStencil.js.map +1 -1
  117. package/dist/collection/components/icon-button/icon-button.js +4 -2
  118. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  119. package/dist/collection/components/indicator/indicator.js +5 -3
  120. package/dist/collection/components/indicator/indicator.js.map +1 -1
  121. package/dist/collection/components/link/link.js +3 -3
  122. package/dist/collection/components/link/link.js.map +1 -1
  123. package/dist/collection/components/modal/modal.js +4 -6
  124. package/dist/collection/components/modal/modal.js.map +1 -1
  125. package/dist/collection/components/navigation/navbar/navbar.js +6 -6
  126. package/dist/collection/components/navigation/navbar/navbar.js.map +1 -1
  127. package/dist/collection/components/navigation/sidebar/sidebar.js +8 -8
  128. package/dist/collection/components/navigation/sidebar/sidebar.js.map +1 -1
  129. package/dist/collection/components/notification/notification.js +4 -4
  130. package/dist/collection/components/notification/notification.js.map +1 -1
  131. package/dist/collection/components/pagination/pagination.js +6 -6
  132. package/dist/collection/components/pagination/pagination.js.map +1 -1
  133. package/dist/collection/components/progress-bar/progress-bar.js +5 -3
  134. package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
  135. package/dist/collection/components/radio-button/radio-button.js +8 -6
  136. package/dist/collection/components/radio-button/radio-button.js.map +1 -1
  137. package/dist/collection/components/radio-button-group/radio-button-group.js +5 -3
  138. package/dist/collection/components/radio-button-group/radio-button-group.js.map +1 -1
  139. package/dist/collection/components/search-bar/search-bar.js +6 -4
  140. package/dist/collection/components/search-bar/search-bar.js.map +1 -1
  141. package/dist/collection/components/search-field/search-field.js +3 -3
  142. package/dist/collection/components/search-field/search-field.js.map +1 -1
  143. package/dist/collection/components/segmented-control/segmented-control.js +4 -6
  144. package/dist/collection/components/segmented-control/segmented-control.js.map +1 -1
  145. package/dist/collection/components/select/multi-select/multiselect.js +5 -5
  146. package/dist/collection/components/select/multi-select/multiselect.js.map +1 -1
  147. package/dist/collection/components/select/single-select/select.js +7 -7
  148. package/dist/collection/components/select/single-select/select.js.map +1 -1
  149. package/dist/collection/components/slider/slider.js +7 -7
  150. package/dist/collection/components/slider/slider.js.map +1 -1
  151. package/dist/collection/components/spinner/spinner.js +4 -4
  152. package/dist/collection/components/spinner/spinner.js.map +1 -1
  153. package/dist/collection/components/status/status.js +3 -3
  154. package/dist/collection/components/status/status.js.map +1 -1
  155. package/dist/collection/components/stepper/stepper.js +7 -7
  156. package/dist/collection/components/stepper/stepper.js.map +1 -1
  157. package/dist/collection/components/switch/switch.js +6 -6
  158. package/dist/collection/components/switch/switch.js.map +1 -1
  159. package/dist/collection/components/table-advanced-version/table.js +7 -7
  160. package/dist/collection/components/table-advanced-version/table.js.map +1 -1
  161. package/dist/collection/components/table-basic-version/table.js +6 -6
  162. package/dist/collection/components/table-basic-version/table.js.map +1 -1
  163. package/dist/collection/components/tabs/tabs.js +7 -7
  164. package/dist/collection/components/tabs/tabs.js.map +1 -1
  165. package/dist/collection/components/tag/tag.js +3 -3
  166. package/dist/collection/components/tag/tag.js.map +1 -1
  167. package/dist/collection/components/text-field/text-field.js +8 -6
  168. package/dist/collection/components/text-field/text-field.js.map +1 -1
  169. package/dist/collection/components/textarea/textarea.js +5 -3
  170. package/dist/collection/components/textarea/textarea.js.map +1 -1
  171. package/dist/collection/components/tooltip/tooltip.js +9 -9
  172. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  173. package/dist/collection/components/tree-view/tree-view.js +3 -3
  174. package/dist/collection/components/tree-view/tree-view.js.map +1 -1
  175. package/dist/collection/global/utils/dom-ready.js +15 -0
  176. package/dist/collection/global/utils/dom-ready.js.map +1 -0
  177. package/dist/collection/global/utils/framework-detection.js +68 -33
  178. package/dist/collection/global/utils/framework-detection.js.map +1 -1
  179. package/dist/collection/global/utils/tracking.js +19 -3
  180. package/dist/collection/global/utils/tracking.js.map +1 -1
  181. package/dist/components/ifx-accordion-item.js +1 -1
  182. package/dist/components/ifx-accordion.js +1 -1
  183. package/dist/components/ifx-alert.js +1 -1
  184. package/dist/components/ifx-badge.js +4 -4
  185. package/dist/components/ifx-badge.js.map +1 -1
  186. package/dist/components/ifx-basic-table.js +7 -7
  187. package/dist/components/ifx-basic-table.js.map +1 -1
  188. package/dist/components/ifx-breadcrumb-item-label.js +1 -1
  189. package/dist/components/ifx-breadcrumb.js +4 -6
  190. package/dist/components/ifx-breadcrumb.js.map +1 -1
  191. package/dist/components/ifx-button.js +1 -1
  192. package/dist/components/ifx-card.js +7 -5
  193. package/dist/components/ifx-card.js.map +1 -1
  194. package/dist/components/ifx-checkbox-group.js +6 -4
  195. package/dist/components/ifx-checkbox-group.js.map +1 -1
  196. package/dist/components/ifx-checkbox.js +1 -1
  197. package/dist/components/ifx-chip-item.js +1 -1
  198. package/dist/components/ifx-chip.js +1 -1
  199. package/dist/components/ifx-content-switcher.js +5 -3
  200. package/dist/components/ifx-content-switcher.js.map +1 -1
  201. package/dist/components/ifx-date-picker.js +6 -8
  202. package/dist/components/ifx-date-picker.js.map +1 -1
  203. package/dist/components/ifx-download.js +1 -1
  204. package/dist/components/ifx-dropdown-item.js +1 -1
  205. package/dist/components/ifx-dropdown-trigger-button.js +2 -2
  206. package/dist/components/ifx-dropdown.js +5 -3
  207. package/dist/components/ifx-dropdown.js.map +1 -1
  208. package/dist/components/ifx-faq.js +3 -3
  209. package/dist/components/ifx-file-upload.js +9 -11
  210. package/dist/components/ifx-file-upload.js.map +1 -1
  211. package/dist/components/ifx-filter-accordion.js +2 -2
  212. package/dist/components/ifx-filter-bar.js +2 -2
  213. package/dist/components/ifx-filter-search.js +2 -2
  214. package/dist/components/ifx-footer.js +8 -6
  215. package/dist/components/ifx-footer.js.map +1 -1
  216. package/dist/components/ifx-icon-button.js +1 -1
  217. package/dist/components/ifx-icon.js +1 -1
  218. package/dist/components/ifx-icons-preview.js +4 -4
  219. package/dist/components/ifx-indicator.js +1 -1
  220. package/dist/components/ifx-link.js +1 -1
  221. package/dist/components/ifx-list-entry.js +3 -3
  222. package/dist/components/ifx-list.js +2 -2
  223. package/dist/components/ifx-modal.js +7 -9
  224. package/dist/components/ifx-modal.js.map +1 -1
  225. package/dist/components/ifx-multiselect-option.js +1 -1
  226. package/dist/components/ifx-multiselect.js +1 -1
  227. package/dist/components/ifx-navbar-item.js +2 -2
  228. package/dist/components/ifx-navbar.js +8 -8
  229. package/dist/components/ifx-navbar.js.map +1 -1
  230. package/dist/components/ifx-notification.js +1 -1
  231. package/dist/components/ifx-overview-table.js +3 -3
  232. package/dist/components/ifx-pagination.js +1 -1
  233. package/dist/components/ifx-progress-bar.js +1 -1
  234. package/dist/components/ifx-radio-button-group.js +7 -5
  235. package/dist/components/ifx-radio-button-group.js.map +1 -1
  236. package/dist/components/ifx-radio-button.js +1 -1
  237. package/dist/components/ifx-search-bar.js +9 -7
  238. package/dist/components/ifx-search-bar.js.map +1 -1
  239. package/dist/components/ifx-search-field.js +1 -1
  240. package/dist/components/ifx-segment.js +1 -1
  241. package/dist/components/ifx-segmented-control.js +6 -8
  242. package/dist/components/ifx-segmented-control.js.map +1 -1
  243. package/dist/components/ifx-select.js +1 -1
  244. package/dist/components/ifx-set-filter.js +7 -7
  245. package/dist/components/ifx-sidebar-item.js +2 -2
  246. package/dist/components/ifx-sidebar.js +9 -9
  247. package/dist/components/ifx-sidebar.js.map +1 -1
  248. package/dist/components/ifx-slider.js +9 -9
  249. package/dist/components/ifx-slider.js.map +1 -1
  250. package/dist/components/ifx-spinner.js +1 -1
  251. package/dist/components/ifx-status.js +4 -4
  252. package/dist/components/ifx-status.js.map +1 -1
  253. package/dist/components/ifx-step.js +1 -1
  254. package/dist/components/ifx-stepper.js +8 -8
  255. package/dist/components/ifx-stepper.js.map +1 -1
  256. package/dist/components/ifx-switch.js +7 -7
  257. package/dist/components/ifx-switch.js.map +1 -1
  258. package/dist/components/ifx-table.js +17 -17
  259. package/dist/components/ifx-table.js.map +1 -1
  260. package/dist/components/ifx-tabs.js +9 -9
  261. package/dist/components/ifx-tabs.js.map +1 -1
  262. package/dist/components/ifx-tag.js +5 -5
  263. package/dist/components/ifx-tag.js.map +1 -1
  264. package/dist/components/ifx-template.js +1 -1
  265. package/dist/components/ifx-templates-ui.js +8 -8
  266. package/dist/components/ifx-text-field.js +1 -1
  267. package/dist/components/ifx-textarea.js +6 -4
  268. package/dist/components/ifx-textarea.js.map +1 -1
  269. package/dist/components/ifx-tooltip.js +11 -11
  270. package/dist/components/ifx-tooltip.js.map +1 -1
  271. package/dist/components/ifx-tree-view-item.js +2 -2
  272. package/dist/components/ifx-tree-view.js +4 -4
  273. package/dist/components/ifx-tree-view.js.map +1 -1
  274. package/dist/components/{p-88385a57.js → p-01d74827.js} +7 -5
  275. package/dist/components/p-01d74827.js.map +1 -0
  276. package/dist/components/{p-bfd161fb.js → p-01eb3f5a.js} +10 -8
  277. package/dist/components/p-01eb3f5a.js.map +1 -0
  278. package/dist/components/{p-9bc468b4.js → p-02917273.js} +6 -6
  279. package/dist/components/{p-9bc468b4.js.map → p-02917273.js.map} +1 -1
  280. package/dist/components/{p-58b34e7f.js → p-212b675c.js} +2 -2
  281. package/dist/components/{p-58b34e7f.js.map → p-212b675c.js.map} +1 -1
  282. package/dist/components/{p-39116717.js → p-230bd20f.js} +6 -4
  283. package/dist/components/p-230bd20f.js.map +1 -0
  284. package/dist/components/{p-45c73d0e.js → p-32a7e613.js} +8 -8
  285. package/dist/components/p-32a7e613.js.map +1 -0
  286. package/dist/components/{p-29a39b8c.js → p-406ba50a.js} +5 -5
  287. package/dist/components/p-406ba50a.js.map +1 -0
  288. package/dist/components/{p-2ddcc02e.js → p-4cbea59b.js} +10 -10
  289. package/dist/components/p-4cbea59b.js.map +1 -0
  290. package/dist/components/{p-554fc743.js → p-5c80b0e2.js} +7 -5
  291. package/dist/components/p-5c80b0e2.js.map +1 -0
  292. package/dist/components/{p-65c39c71.js → p-5c912934.js} +3 -3
  293. package/dist/components/{p-65c39c71.js.map → p-5c912934.js.map} +1 -1
  294. package/dist/components/{p-bb9b541f.js → p-6342e893.js} +7 -5
  295. package/dist/components/p-6342e893.js.map +1 -0
  296. package/dist/components/{p-e7f270c1.js → p-646c0aee.js} +6 -4
  297. package/dist/components/p-646c0aee.js.map +1 -0
  298. package/dist/components/{p-ecd4fa31.js → p-6be846ce.js} +15 -13
  299. package/dist/components/p-6be846ce.js.map +1 -0
  300. package/dist/components/{p-d1692201.js → p-71ce7d58.js} +3 -3
  301. package/dist/components/{p-d1692201.js.map → p-71ce7d58.js.map} +1 -1
  302. package/dist/components/{p-6f1114a1.js → p-a306d3e7.js} +10 -10
  303. package/dist/components/p-a306d3e7.js.map +1 -0
  304. package/dist/components/{p-ed0f491c.js → p-a8af9b7b.js} +6 -6
  305. package/dist/components/p-a8af9b7b.js.map +1 -0
  306. package/dist/components/p-acbfa625.js +155 -0
  307. package/dist/components/p-acbfa625.js.map +1 -0
  308. package/dist/components/{p-80bd74d1.js → p-cb975b94.js} +5 -5
  309. package/dist/components/p-cb975b94.js.map +1 -0
  310. package/dist/components/{p-b695e1f1.js → p-cd30bb7d.js} +6 -4
  311. package/dist/components/p-cd30bb7d.js.map +1 -0
  312. package/dist/components/{p-af53698c.js → p-e8357008.js} +9 -7
  313. package/dist/components/p-e8357008.js.map +1 -0
  314. package/dist/components/{p-4c62f9ef.js → p-f347c4e9.js} +6 -6
  315. package/dist/components/p-f347c4e9.js.map +1 -0
  316. package/dist/components/{p-63e4dfb7.js → p-f611e5d5.js} +11 -9
  317. package/dist/components/p-f611e5d5.js.map +1 -0
  318. package/dist/components/{p-353138d9.js → p-fc0793b1.js} +11 -11
  319. package/dist/components/p-fc0793b1.js.map +1 -0
  320. package/dist/esm/framework-detection-e9695d02.js +155 -0
  321. package/dist/esm/framework-detection-e9695d02.js.map +1 -0
  322. package/dist/esm/ifx-accordion_2.entry.js +4 -4
  323. package/dist/esm/ifx-accordion_2.entry.js.map +1 -1
  324. package/dist/esm/ifx-alert_2.entry.js +4 -2
  325. package/dist/esm/ifx-alert_2.entry.js.map +1 -1
  326. package/dist/esm/ifx-badge.entry.js +4 -4
  327. package/dist/esm/ifx-badge.entry.js.map +1 -1
  328. package/dist/esm/ifx-basic-table.entry.js +7 -7
  329. package/dist/esm/ifx-basic-table.entry.js.map +1 -1
  330. package/dist/esm/ifx-breadcrumb.entry.js +4 -6
  331. package/dist/esm/ifx-breadcrumb.entry.js.map +1 -1
  332. package/dist/esm/ifx-button.entry.js +5 -3
  333. package/dist/esm/ifx-button.entry.js.map +1 -1
  334. package/dist/esm/ifx-card.entry.js +7 -5
  335. package/dist/esm/ifx-card.entry.js.map +1 -1
  336. package/dist/esm/ifx-checkbox-group.entry.js +5 -3
  337. package/dist/esm/ifx-checkbox-group.entry.js.map +1 -1
  338. package/dist/esm/ifx-checkbox.entry.js +7 -5
  339. package/dist/esm/ifx-checkbox.entry.js.map +1 -1
  340. package/dist/esm/ifx-chip_3.entry.js +18 -16
  341. package/dist/esm/ifx-chip_3.entry.js.map +1 -1
  342. package/dist/esm/ifx-content-switcher.entry.js +5 -3
  343. package/dist/esm/ifx-content-switcher.entry.js.map +1 -1
  344. package/dist/esm/ifx-date-picker.entry.js +5 -7
  345. package/dist/esm/ifx-date-picker.entry.js.map +1 -1
  346. package/dist/esm/ifx-dropdown.entry.js +5 -3
  347. package/dist/esm/ifx-dropdown.entry.js.map +1 -1
  348. package/dist/esm/ifx-file-upload.entry.js +5 -7
  349. package/dist/esm/ifx-file-upload.entry.js.map +1 -1
  350. package/dist/esm/ifx-footer.entry.js +8 -6
  351. package/dist/esm/ifx-footer.entry.js.map +1 -1
  352. package/dist/esm/ifx-icon-button.entry.js +5 -3
  353. package/dist/esm/ifx-icon-button.entry.js.map +1 -1
  354. package/dist/esm/ifx-icon.entry.js +5 -3
  355. package/dist/esm/ifx-icon.entry.js.map +1 -1
  356. package/dist/esm/ifx-indicator.entry.js +6 -4
  357. package/dist/esm/ifx-indicator.entry.js.map +1 -1
  358. package/dist/esm/ifx-link.entry.js +4 -4
  359. package/dist/esm/ifx-link.entry.js.map +1 -1
  360. package/dist/esm/ifx-modal.entry.js +5 -7
  361. package/dist/esm/ifx-modal.entry.js.map +1 -1
  362. package/dist/esm/ifx-multiselect_2.entry.js +6 -6
  363. package/dist/esm/ifx-multiselect_2.entry.js.map +1 -1
  364. package/dist/esm/ifx-navbar.entry.js +7 -7
  365. package/dist/esm/ifx-navbar.entry.js.map +1 -1
  366. package/dist/esm/ifx-notification.entry.js +5 -5
  367. package/dist/esm/ifx-notification.entry.js.map +1 -1
  368. package/dist/esm/ifx-progress-bar.entry.js +6 -4
  369. package/dist/esm/ifx-progress-bar.entry.js.map +1 -1
  370. package/dist/esm/ifx-radio-button-group.entry.js +6 -4
  371. package/dist/esm/ifx-radio-button-group.entry.js.map +1 -1
  372. package/dist/esm/ifx-radio-button.entry.js +9 -7
  373. package/dist/esm/ifx-radio-button.entry.js.map +1 -1
  374. package/dist/esm/ifx-search-bar.entry.js +7 -5
  375. package/dist/esm/ifx-search-bar.entry.js.map +1 -1
  376. package/dist/esm/ifx-search-field.entry.js +4 -4
  377. package/dist/esm/ifx-search-field.entry.js.map +1 -1
  378. package/dist/esm/ifx-segmented-control.entry.js +5 -7
  379. package/dist/esm/ifx-segmented-control.entry.js.map +1 -1
  380. package/dist/esm/ifx-select.entry.js +8 -8
  381. package/dist/esm/ifx-select.entry.js.map +1 -1
  382. package/dist/esm/ifx-sidebar.entry.js +9 -9
  383. package/dist/esm/ifx-sidebar.entry.js.map +1 -1
  384. package/dist/esm/ifx-slider.entry.js +8 -8
  385. package/dist/esm/ifx-slider.entry.js.map +1 -1
  386. package/dist/esm/ifx-spinner_2.entry.js +13 -11
  387. package/dist/esm/ifx-spinner_2.entry.js.map +1 -1
  388. package/dist/esm/ifx-status.entry.js +4 -4
  389. package/dist/esm/ifx-status.entry.js.map +1 -1
  390. package/dist/esm/ifx-stepper.entry.js +8 -8
  391. package/dist/esm/ifx-stepper.entry.js.map +1 -1
  392. package/dist/esm/ifx-switch.entry.js +7 -7
  393. package/dist/esm/ifx-switch.entry.js.map +1 -1
  394. package/dist/esm/ifx-table.entry.js +8 -8
  395. package/dist/esm/ifx-table.entry.js.map +1 -1
  396. package/dist/esm/ifx-tabs.entry.js +8 -8
  397. package/dist/esm/ifx-tabs.entry.js.map +1 -1
  398. package/dist/esm/ifx-tag.entry.js +4 -4
  399. package/dist/esm/ifx-tag.entry.js.map +1 -1
  400. package/dist/esm/ifx-textarea.entry.js +6 -4
  401. package/dist/esm/ifx-textarea.entry.js.map +1 -1
  402. package/dist/esm/ifx-tooltip.entry.js +10 -10
  403. package/dist/esm/ifx-tooltip.entry.js.map +1 -1
  404. package/dist/esm/ifx-tree-view.entry.js +4 -4
  405. package/dist/esm/ifx-tree-view.entry.js.map +1 -1
  406. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  407. package/dist/infineon-design-system-stencil/p-00ee896a.entry.js +2 -0
  408. package/dist/infineon-design-system-stencil/p-00ee896a.entry.js.map +1 -0
  409. package/dist/infineon-design-system-stencil/{p-c3acb336.entry.js → p-046acf7a.entry.js} +2 -2
  410. package/dist/infineon-design-system-stencil/p-046acf7a.entry.js.map +1 -0
  411. package/dist/infineon-design-system-stencil/p-0d809b76.entry.js +2 -0
  412. package/dist/infineon-design-system-stencil/p-0d809b76.entry.js.map +1 -0
  413. package/dist/infineon-design-system-stencil/p-0ebca0d6.entry.js +2 -0
  414. package/dist/infineon-design-system-stencil/p-0ebca0d6.entry.js.map +1 -0
  415. package/dist/infineon-design-system-stencil/{p-9f4f024a.entry.js → p-10cf1407.entry.js} +2 -2
  416. package/dist/infineon-design-system-stencil/p-10cf1407.entry.js.map +1 -0
  417. package/dist/infineon-design-system-stencil/p-148aa367.entry.js +2 -0
  418. package/dist/infineon-design-system-stencil/p-148aa367.entry.js.map +1 -0
  419. package/dist/infineon-design-system-stencil/p-17071628.entry.js +2 -0
  420. package/dist/infineon-design-system-stencil/p-17071628.entry.js.map +1 -0
  421. package/dist/infineon-design-system-stencil/{p-a1d02e8e.entry.js → p-17a2e764.entry.js} +2 -2
  422. package/dist/infineon-design-system-stencil/p-17a2e764.entry.js.map +1 -0
  423. package/dist/infineon-design-system-stencil/p-1baede5b.entry.js +2 -0
  424. package/dist/infineon-design-system-stencil/p-1baede5b.entry.js.map +1 -0
  425. package/dist/infineon-design-system-stencil/p-2177cd22.entry.js +2 -0
  426. package/dist/infineon-design-system-stencil/p-2177cd22.entry.js.map +1 -0
  427. package/dist/infineon-design-system-stencil/{p-7097e349.entry.js → p-29e20541.entry.js} +2 -2
  428. package/dist/infineon-design-system-stencil/p-29e20541.entry.js.map +1 -0
  429. package/dist/infineon-design-system-stencil/p-2a6bbb1f.entry.js +2 -0
  430. package/dist/infineon-design-system-stencil/p-2a6bbb1f.entry.js.map +1 -0
  431. package/dist/infineon-design-system-stencil/p-341ec9a9.entry.js +2 -0
  432. package/dist/infineon-design-system-stencil/p-341ec9a9.entry.js.map +1 -0
  433. package/dist/infineon-design-system-stencil/p-3ad6dad0.entry.js +2 -0
  434. package/dist/infineon-design-system-stencil/p-3ad6dad0.entry.js.map +1 -0
  435. package/dist/infineon-design-system-stencil/p-3cc5ece4.entry.js +2 -0
  436. package/dist/infineon-design-system-stencil/p-3cc5ece4.entry.js.map +1 -0
  437. package/dist/infineon-design-system-stencil/p-41c99cb0.entry.js +2 -0
  438. package/dist/infineon-design-system-stencil/p-41c99cb0.entry.js.map +1 -0
  439. package/dist/infineon-design-system-stencil/p-4306c893.entry.js +2 -0
  440. package/dist/infineon-design-system-stencil/p-4306c893.entry.js.map +1 -0
  441. package/dist/infineon-design-system-stencil/{p-754c7267.entry.js → p-4710694a.entry.js} +2 -2
  442. package/dist/infineon-design-system-stencil/p-4710694a.entry.js.map +1 -0
  443. package/dist/infineon-design-system-stencil/p-4b858e15.entry.js +2 -0
  444. package/dist/infineon-design-system-stencil/p-4b858e15.entry.js.map +1 -0
  445. package/dist/infineon-design-system-stencil/p-4fb8e2f3.entry.js +2 -0
  446. package/dist/infineon-design-system-stencil/p-4fb8e2f3.entry.js.map +1 -0
  447. package/dist/infineon-design-system-stencil/{p-8f3c079e.entry.js → p-5bacdf4d.entry.js} +2 -2
  448. package/dist/infineon-design-system-stencil/p-5bacdf4d.entry.js.map +1 -0
  449. package/dist/infineon-design-system-stencil/p-67430c36.entry.js +2 -0
  450. package/dist/infineon-design-system-stencil/p-67430c36.entry.js.map +1 -0
  451. package/dist/infineon-design-system-stencil/p-69ebf6df.entry.js +2 -0
  452. package/dist/infineon-design-system-stencil/p-69ebf6df.entry.js.map +1 -0
  453. package/dist/infineon-design-system-stencil/{p-5976c2b0.entry.js → p-6a14c7aa.entry.js} +2 -2
  454. package/dist/infineon-design-system-stencil/p-6a14c7aa.entry.js.map +1 -0
  455. package/dist/infineon-design-system-stencil/{p-44a61708.entry.js → p-7c3b6e40.entry.js} +2 -2
  456. package/dist/infineon-design-system-stencil/{p-44a61708.entry.js.map → p-7c3b6e40.entry.js.map} +1 -1
  457. package/dist/infineon-design-system-stencil/p-813d91ef.entry.js +2 -0
  458. package/dist/infineon-design-system-stencil/p-813d91ef.entry.js.map +1 -0
  459. package/dist/infineon-design-system-stencil/{p-77cbcda1.entry.js → p-819b6cde.entry.js} +2 -2
  460. package/dist/infineon-design-system-stencil/{p-77cbcda1.entry.js.map → p-819b6cde.entry.js.map} +1 -1
  461. package/dist/infineon-design-system-stencil/{p-51a70ef9.entry.js → p-863cc88f.entry.js} +2 -2
  462. package/dist/infineon-design-system-stencil/{p-51a70ef9.entry.js.map → p-863cc88f.entry.js.map} +1 -1
  463. package/dist/infineon-design-system-stencil/p-8c7ffd52.entry.js +2 -0
  464. package/dist/infineon-design-system-stencil/p-8c7ffd52.entry.js.map +1 -0
  465. package/dist/infineon-design-system-stencil/{p-bba99322.entry.js → p-8f3ce54b.entry.js} +2 -2
  466. package/dist/infineon-design-system-stencil/p-8f3ce54b.entry.js.map +1 -0
  467. package/dist/infineon-design-system-stencil/p-acbfa625.js +2 -0
  468. package/dist/infineon-design-system-stencil/p-acbfa625.js.map +1 -0
  469. package/dist/infineon-design-system-stencil/{p-89b4ee40.entry.js → p-b9157435.entry.js} +2 -2
  470. package/dist/infineon-design-system-stencil/p-b9157435.entry.js.map +1 -0
  471. package/dist/infineon-design-system-stencil/{p-29f36497.entry.js → p-c5068ad9.entry.js} +2 -2
  472. package/dist/infineon-design-system-stencil/p-c5068ad9.entry.js.map +1 -0
  473. package/dist/infineon-design-system-stencil/p-c807fd12.entry.js +2 -0
  474. package/dist/infineon-design-system-stencil/p-c807fd12.entry.js.map +1 -0
  475. package/dist/infineon-design-system-stencil/{p-0b4463ab.entry.js → p-c8e8be4b.entry.js} +2 -2
  476. package/dist/infineon-design-system-stencil/p-c8e8be4b.entry.js.map +1 -0
  477. package/dist/infineon-design-system-stencil/{p-431d50b8.entry.js → p-cafca519.entry.js} +2 -2
  478. package/dist/infineon-design-system-stencil/p-cafca519.entry.js.map +1 -0
  479. package/dist/infineon-design-system-stencil/p-cc9ca7ad.entry.js +2 -0
  480. package/dist/infineon-design-system-stencil/p-cc9ca7ad.entry.js.map +1 -0
  481. package/dist/infineon-design-system-stencil/{p-507107be.entry.js → p-d81f3867.entry.js} +2 -2
  482. package/dist/infineon-design-system-stencil/p-d81f3867.entry.js.map +1 -0
  483. package/dist/infineon-design-system-stencil/{p-61ddb367.entry.js → p-e3365ef8.entry.js} +2 -2
  484. package/dist/infineon-design-system-stencil/p-e3365ef8.entry.js.map +1 -0
  485. package/dist/infineon-design-system-stencil/p-e5c87a08.entry.js +2 -0
  486. package/dist/infineon-design-system-stencil/p-e5c87a08.entry.js.map +1 -0
  487. package/dist/infineon-design-system-stencil/{p-5c2386f1.entry.js → p-e6312b3a.entry.js} +3 -3
  488. package/dist/infineon-design-system-stencil/{p-5c2386f1.entry.js.map → p-e6312b3a.entry.js.map} +1 -1
  489. package/dist/infineon-design-system-stencil/p-f0a81689.entry.js +2 -0
  490. package/dist/infineon-design-system-stencil/p-f0a81689.entry.js.map +1 -0
  491. package/dist/infineon-design-system-stencil/{p-13ae34b7.entry.js → p-f98f363b.entry.js} +2 -2
  492. package/dist/infineon-design-system-stencil/p-f98f363b.entry.js.map +1 -0
  493. package/dist/types/components/accordion/accordion.d.ts +1 -1
  494. package/dist/types/components/alert/alert.d.ts +1 -0
  495. package/dist/types/components/badge/badge.d.ts +1 -1
  496. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -2
  497. package/dist/types/components/button/button.d.ts +1 -0
  498. package/dist/types/components/card/card.d.ts +1 -0
  499. package/dist/types/components/checkbox/checkbox.d.ts +1 -0
  500. package/dist/types/components/checkbox-group/checkbox-group.d.ts +1 -0
  501. package/dist/types/components/chip/chip.d.ts +1 -0
  502. package/dist/types/components/content-switcher/content-switcher.d.ts +1 -0
  503. package/dist/types/components/date-picker/date-picker.d.ts +1 -2
  504. package/dist/types/components/dropdown/dropdown.d.ts +1 -0
  505. package/dist/types/components/file-upload/file-upload.d.ts +1 -2
  506. package/dist/types/components/footer/footer.d.ts +1 -0
  507. package/dist/types/components/icon/infineonIconStencil.d.ts +1 -0
  508. package/dist/types/components/icon-button/icon-button.d.ts +1 -0
  509. package/dist/types/components/indicator/indicator.d.ts +1 -0
  510. package/dist/types/components/link/link.d.ts +1 -1
  511. package/dist/types/components/modal/modal.d.ts +1 -2
  512. package/dist/types/components/navigation/navbar/navbar.d.ts +1 -1
  513. package/dist/types/components/navigation/sidebar/sidebar.d.ts +1 -1
  514. package/dist/types/components/notification/notification.d.ts +1 -1
  515. package/dist/types/components/pagination/pagination.d.ts +1 -1
  516. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -0
  517. package/dist/types/components/radio-button/radio-button.d.ts +1 -0
  518. package/dist/types/components/radio-button-group/radio-button-group.d.ts +1 -0
  519. package/dist/types/components/search-bar/search-bar.d.ts +1 -0
  520. package/dist/types/components/search-field/search-field.d.ts +1 -1
  521. package/dist/types/components/segmented-control/segmented-control.d.ts +1 -2
  522. package/dist/types/components/select/multi-select/multiselect.d.ts +1 -1
  523. package/dist/types/components/select/single-select/select.d.ts +1 -1
  524. package/dist/types/components/slider/slider.d.ts +1 -1
  525. package/dist/types/components/spinner/spinner.d.ts +1 -1
  526. package/dist/types/components/status/status.d.ts +1 -1
  527. package/dist/types/components/stepper/stepper.d.ts +1 -1
  528. package/dist/types/components/switch/switch.d.ts +1 -1
  529. package/dist/types/components/table-advanced-version/table.d.ts +1 -1
  530. package/dist/types/components/table-basic-version/table.d.ts +1 -1
  531. package/dist/types/components/tabs/tabs.d.ts +1 -1
  532. package/dist/types/components/tag/tag.d.ts +1 -1
  533. package/dist/types/components/text-field/text-field.d.ts +1 -0
  534. package/dist/types/components/textarea/textarea.d.ts +1 -0
  535. package/dist/types/components/tooltip/tooltip.d.ts +1 -1
  536. package/dist/types/components/tree-view/tree-view.d.ts +1 -1
  537. package/dist/types/global/utils/dom-ready.d.ts +1 -0
  538. package/dist/types/global/utils/framework-detection.d.ts +1 -1
  539. package/package.json +1 -1
  540. package/dist/cjs/framework-detection-78986016.js +0 -93
  541. package/dist/cjs/framework-detection-78986016.js.map +0 -1
  542. package/dist/components/p-29a39b8c.js.map +0 -1
  543. package/dist/components/p-2ddcc02e.js.map +0 -1
  544. package/dist/components/p-353138d9.js.map +0 -1
  545. package/dist/components/p-39116717.js.map +0 -1
  546. package/dist/components/p-45c73d0e.js.map +0 -1
  547. package/dist/components/p-4c62f9ef.js.map +0 -1
  548. package/dist/components/p-554fc743.js.map +0 -1
  549. package/dist/components/p-63e4dfb7.js.map +0 -1
  550. package/dist/components/p-6f1114a1.js.map +0 -1
  551. package/dist/components/p-80bd74d1.js.map +0 -1
  552. package/dist/components/p-88385a57.js.map +0 -1
  553. package/dist/components/p-af53698c.js.map +0 -1
  554. package/dist/components/p-b695e1f1.js.map +0 -1
  555. package/dist/components/p-bb9b541f.js.map +0 -1
  556. package/dist/components/p-bfd161fb.js.map +0 -1
  557. package/dist/components/p-e7f270c1.js.map +0 -1
  558. package/dist/components/p-e8504e6b.js +0 -90
  559. package/dist/components/p-e8504e6b.js.map +0 -1
  560. package/dist/components/p-ecd4fa31.js.map +0 -1
  561. package/dist/components/p-ed0f491c.js.map +0 -1
  562. package/dist/esm/framework-detection-198a17af.js +0 -90
  563. package/dist/esm/framework-detection-198a17af.js.map +0 -1
  564. package/dist/infineon-design-system-stencil/p-0b4463ab.entry.js.map +0 -1
  565. package/dist/infineon-design-system-stencil/p-0feebdea.entry.js +0 -2
  566. package/dist/infineon-design-system-stencil/p-0feebdea.entry.js.map +0 -1
  567. package/dist/infineon-design-system-stencil/p-13ae34b7.entry.js.map +0 -1
  568. package/dist/infineon-design-system-stencil/p-218c8275.entry.js +0 -2
  569. package/dist/infineon-design-system-stencil/p-218c8275.entry.js.map +0 -1
  570. package/dist/infineon-design-system-stencil/p-24fa4b84.entry.js +0 -2
  571. package/dist/infineon-design-system-stencil/p-24fa4b84.entry.js.map +0 -1
  572. package/dist/infineon-design-system-stencil/p-29f36497.entry.js.map +0 -1
  573. package/dist/infineon-design-system-stencil/p-2a4642d0.entry.js +0 -2
  574. package/dist/infineon-design-system-stencil/p-2a4642d0.entry.js.map +0 -1
  575. package/dist/infineon-design-system-stencil/p-2b6fa7ea.entry.js +0 -2
  576. package/dist/infineon-design-system-stencil/p-2b6fa7ea.entry.js.map +0 -1
  577. package/dist/infineon-design-system-stencil/p-40be6362.entry.js +0 -2
  578. package/dist/infineon-design-system-stencil/p-40be6362.entry.js.map +0 -1
  579. package/dist/infineon-design-system-stencil/p-431d50b8.entry.js.map +0 -1
  580. package/dist/infineon-design-system-stencil/p-47e35811.entry.js +0 -2
  581. package/dist/infineon-design-system-stencil/p-47e35811.entry.js.map +0 -1
  582. package/dist/infineon-design-system-stencil/p-486f1f73.entry.js +0 -2
  583. package/dist/infineon-design-system-stencil/p-486f1f73.entry.js.map +0 -1
  584. package/dist/infineon-design-system-stencil/p-507107be.entry.js.map +0 -1
  585. package/dist/infineon-design-system-stencil/p-5976c2b0.entry.js.map +0 -1
  586. package/dist/infineon-design-system-stencil/p-5f433868.entry.js +0 -2
  587. package/dist/infineon-design-system-stencil/p-5f433868.entry.js.map +0 -1
  588. package/dist/infineon-design-system-stencil/p-61ddb367.entry.js.map +0 -1
  589. package/dist/infineon-design-system-stencil/p-6417bc5b.entry.js +0 -2
  590. package/dist/infineon-design-system-stencil/p-6417bc5b.entry.js.map +0 -1
  591. package/dist/infineon-design-system-stencil/p-7097e349.entry.js.map +0 -1
  592. package/dist/infineon-design-system-stencil/p-74190965.entry.js +0 -2
  593. package/dist/infineon-design-system-stencil/p-74190965.entry.js.map +0 -1
  594. package/dist/infineon-design-system-stencil/p-754c7267.entry.js.map +0 -1
  595. package/dist/infineon-design-system-stencil/p-7f9e8260.entry.js +0 -2
  596. package/dist/infineon-design-system-stencil/p-7f9e8260.entry.js.map +0 -1
  597. package/dist/infineon-design-system-stencil/p-816d8d89.entry.js +0 -2
  598. package/dist/infineon-design-system-stencil/p-816d8d89.entry.js.map +0 -1
  599. package/dist/infineon-design-system-stencil/p-89b4ee40.entry.js.map +0 -1
  600. package/dist/infineon-design-system-stencil/p-8f3c079e.entry.js.map +0 -1
  601. package/dist/infineon-design-system-stencil/p-97c37974.entry.js +0 -2
  602. package/dist/infineon-design-system-stencil/p-97c37974.entry.js.map +0 -1
  603. package/dist/infineon-design-system-stencil/p-9e9f166d.entry.js +0 -2
  604. package/dist/infineon-design-system-stencil/p-9e9f166d.entry.js.map +0 -1
  605. package/dist/infineon-design-system-stencil/p-9f4f024a.entry.js.map +0 -1
  606. package/dist/infineon-design-system-stencil/p-a1d02e8e.entry.js.map +0 -1
  607. package/dist/infineon-design-system-stencil/p-b1f276a9.entry.js +0 -2
  608. package/dist/infineon-design-system-stencil/p-b1f276a9.entry.js.map +0 -1
  609. package/dist/infineon-design-system-stencil/p-b51937f3.entry.js +0 -2
  610. package/dist/infineon-design-system-stencil/p-b51937f3.entry.js.map +0 -1
  611. package/dist/infineon-design-system-stencil/p-b7c74d53.entry.js +0 -2
  612. package/dist/infineon-design-system-stencil/p-b7c74d53.entry.js.map +0 -1
  613. package/dist/infineon-design-system-stencil/p-bb8d7729.entry.js +0 -2
  614. package/dist/infineon-design-system-stencil/p-bb8d7729.entry.js.map +0 -1
  615. package/dist/infineon-design-system-stencil/p-bba99322.entry.js.map +0 -1
  616. package/dist/infineon-design-system-stencil/p-bc216f6d.entry.js +0 -2
  617. package/dist/infineon-design-system-stencil/p-bc216f6d.entry.js.map +0 -1
  618. package/dist/infineon-design-system-stencil/p-c3acb336.entry.js.map +0 -1
  619. package/dist/infineon-design-system-stencil/p-d448d22c.entry.js +0 -2
  620. package/dist/infineon-design-system-stencil/p-d448d22c.entry.js.map +0 -1
  621. package/dist/infineon-design-system-stencil/p-e8504e6b.js +0 -2
  622. package/dist/infineon-design-system-stencil/p-e8504e6b.js.map +0 -1
  623. package/dist/infineon-design-system-stencil/p-ef7802f4.entry.js +0 -2
  624. package/dist/infineon-design-system-stencil/p-ef7802f4.entry.js.map +0 -1
  625. package/dist/infineon-design-system-stencil/p-f47071d5.entry.js +0 -2
  626. package/dist/infineon-design-system-stencil/p-f47071d5.entry.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"names":["datePickerCss","IfxDatePickerStyle0","DatePicker","constructor","hostRef","this","inputId","datePickerId","size","error","success","disabled","type","required","autocomplete","getDate","e","inputValue","target","value","selectedDate","Date","day","month","getMonth","year","getFullYear","internals","setFormValue","hours","getHours","minutes","getMinutes","ifxDate","emit","input","el","shadowRoot","querySelector","classList","add","toISOString","substring","handleInputFocusOnIconClick","focus","getBrowser","navigator","userAgent","indexOf","setFireFoxClasses","browser","contains","remove","componentWillLoad","isNestedInIfxComponent","framework","detectFramework","trackComponent","componentDidLoad","componentWillUpdate","formResetCallback","render","h","key","class","htmlFor","_a","label","trim","undefined","ariaLabel","max","min","onChange","role","onClick","icon","_b","caption"],"sources":["src/components/date-picker/date-picker.scss?tag=ifx-date-picker&encapsulation=shadow","src/components/date-picker/date-picker.tsx"],"sourcesContent":["@use '~@infineon/design-system-tokens/dist/tokens';\n\n.date__picker-container {\n display: flex;\n flex-direction: column;\n\n & .label__wrapper {\n color: tokens.$ifxColorBaseBlack;\n font: tokens.$ifxBodyBody03;\n\n & .asterisk { \n display: none;\n &.required {\n display: inline;\n margin-left: 4px;\n \n &.error {\n color: #CD002F;\n }\n }\n }\n\n }\n\n &.disabled {\n .label__wrapper {\n color: tokens.$ifxColorEngineering500;\n }\n }\n\n &.error {\n .caption__wrapper {\n color: tokens.$ifxColorRed500;\n }\n }\n\n &.disabled {\n .caption__wrapper {\n color: tokens.$ifxColorEngineering500;\n }\n }\n\n & .caption__wrapper {\n margin-top: tokens.$ifxSpace50;\n color: tokens.$ifxColorBaseBlack;\n font: tokens.$ifxBodyBody05;\n }\n}\n\n.date__picker-input {\n font-family: 'Source Sans 3';\n outline: none;\n width: 100%;\n cursor: pointer;\n border-radius: 1px;\n border: 1px solid tokens.$ifxColorEngineering400;\n height: 100%;\n\n &.firefox__classes {\n padding: 8px 16px;\n color: tokens.$ifxColorEngineering400;\n font-size: 16px;\n text-transform: uppercase;\n font-style: normal;\n font-weight: 400;\n line-height: 24px;\n cursor: pointer;\n }\n\n &:focus:not(.error, .success) {\n border-color: tokens.$ifxColorOcean500;\n }\n\n &:hover:not(:disabled, :focus, .error, .success) {\n border-color: tokens.$ifxColorEngineering500;\n }\n\n &:disabled {\n border-color: tokens.$ifxColorEngineering500;\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &.error {\n border-color: tokens.$ifxColorRed500;\n }\n\n &.success:not(.error) {\n border-color: tokens.$ifxColorGreen500;\n }\n\n &::-webkit-datetime-edit-text {\n color: tokens.$ifxColorEngineering400;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 24px;\n }\n\n &.has-value::-webkit-datetime-edit-text {\n color: tokens.$ifxColorBaseBlack;\n }\n\n &.has-value::-webkit-datetime-edit {\n color: tokens.$ifxColorBaseBlack;\n }\n}\n\n::-webkit-datetime-edit {\n color: tokens.$ifxColorEngineering400;\n font-size: 16px;\n text-transform: uppercase;\n font-style: normal;\n font-weight: 400;\n line-height: 24px;\n}\n\n::-webkit-datetime-edit-fields-wrapper {\n padding: 8px 16px;\n padding-bottom: 9px;\n transform: translateY(1px);\n}\n\n::-webkit-inner-spin-button {\n display: none;\n}\n\n::-webkit-calendar-picker-indicator {\n position: absolute;\n right: 15px;\n font-size: 19px;\n cursor: pointer;\n border-radius: 1px;\n &:focus-within {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n }\n}\n\n.input__wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n align-self: stretch;\n background: tokens.$ifxColorBaseWhite;\n position: relative;\n &.large {\n height: 40px;\n }\n\n &.small {\n height: 36px;\n }\n\n &.disabled {\n & .icon__wrapper {\n background-color: tokens.$ifxColorEngineering200;\n }\n }\n}\n\n.icon__wrapper {\n position: absolute;\n right: 17px;\n padding: 2px;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n pointer-events: none;\n z-index: 100;\n background-color: tokens.$ifxColorBaseWhite;\n line-height: 16px;\n\n & ifx-icon {\n vertical-align: middle;\n }\n}\n","import { AttachInternals } from '@stencil/core';\nimport { Component, Prop, h, Element, Event, EventEmitter } 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-date-picker',\n styleUrl: 'date-picker.scss',\n shadow: true,\n formAssociated: true,\n})\n\nexport class DatePicker {\n private inputId: string = `ifx-date-picker-${++datePickerId}`;\n\n @Element() el: HTMLElement;\n @Prop() size: string = 's';\n @Prop() error: boolean = false;\n @Prop() success: boolean = false;\n @Prop() disabled: boolean = false;\n @Prop() ariaLabel: string | null;\n @Prop() value: string;\n @Prop() type: string = 'date'\n @Prop() max: string;\n @Prop() min: string;\n @Prop() required: boolean = false;\n @Prop() label: string;\n @Prop() caption: string;\n @Prop() autocomplete: string = 'on';\n\n @AttachInternals() internals: ElementInternals;\n\n @Event() ifxDate: EventEmitter;\n\n getDate(e) { \n const inputValue = e.target.value;\n const selectedDate = new Date(inputValue);\n const day = selectedDate.getDate();\n const month = selectedDate.getMonth() + 1; \n const year = selectedDate.getFullYear();\n\n \n \n if (!inputValue) {\n this.internals.setFormValue(null);\n\n if(this.type === 'datetime-local') { \n const hours = selectedDate.getHours();\n const minutes = selectedDate.getMinutes();\n this.ifxDate.emit({day, month, year, hours, minutes});\n } else { \n this.ifxDate.emit({day, month, year});\n }\n return;\n }\n\n const input = this.el.shadowRoot.querySelector('.date__picker-input') as HTMLInputElement;\n input.classList.add('has-value');\n\n this.internals.setFormValue(selectedDate.toISOString().substring(0,10))\n if(this.type === 'datetime-local') { \n const hours = selectedDate.getHours();\n const minutes = selectedDate.getMinutes();\n this.ifxDate.emit({day, month, year, hours, minutes});\n } else { \n this.ifxDate.emit({day, month, year})\n }\n }\n\n handleInputFocusOnIconClick() { \n const input = this.el.shadowRoot.querySelector('.date__picker-input') as HTMLInputElement;\n if(input) { \n input.focus()\n }\n }\n\n getBrowser() {\n if( navigator.userAgent.indexOf(\"Chrome\") != -1 ) {\n return \"Chrome\";\n } else if( navigator.userAgent.indexOf(\"Opera\") != -1 ) {\n return \"Opera\";\n } else if( navigator.userAgent.indexOf(\"MSIE\") != -1 ) {\n return \"IE\";\n } else if( navigator.userAgent.indexOf(\"Firefox\") != -1 ) {\n return \"Firefox\";\n } else {\n return \"unknown\";\n }\n }\n\n setFireFoxClasses() { \n const browser = this.getBrowser()\n const input = this.el.shadowRoot.querySelector('.date__picker-input');\n\n if(browser === 'Firefox') { \n input.classList.add('firefox__classes')\n } else if(input.classList.contains('firefox__classes')) { \n input.classList.remove('firefox__classes')\n }\n }\n\n componentWillLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-date-picker', framework)\n }\n }\n\n componentDidLoad() { \n this.setFireFoxClasses()\n }\n\n componentWillUpdate() { \n if (this.value) {\n this.getDate({ target: { value: this.value } });\n }\n }\n\n formResetCallback() {\n this.internals.setFormValue(null);\n }\n\n render() {\n return (\n <div class={`date__picker-container ${this.error ? 'error' : ''} ${this.disabled ? 'disabled': ''}`}>\n\n <label class='label__wrapper' htmlFor={ this.inputId }>\n { this.label?.trim() }\n <span class={`asterisk ${this.required ? 'required' : \"\"} ${this.error ? 'error' : \"\"}`}>*</span>\n </label>\n\n <div class={`input__wrapper ${this.size === 'l' ? 'large' : 'small'} ${this.disabled ? 'disabled' : ''}`}>\n <input\n type={this.type}\n autocomplete={this.autocomplete}\n class={`date__picker-input ${this.error ? 'error' : \"\"} ${this.success ? \"success\" : \"\"}`}\n disabled={this.disabled ? true : undefined}\n aria-invalid={this.error ? true : undefined}\n aria-label={this.ariaLabel}\n max={this.max}\n min={this.min}\n value={this.value}\n required={this.required}\n onChange={(e) => this.getDate(e)} />\n <div class=\"icon__wrapper\" role=\"button\" onClick={() => this.handleInputFocusOnIconClick()}>\n <ifx-icon icon='calendar16' aria-hidden=\"true\"></ifx-icon>\n </div>\n </div>\n\n { this.caption?.trim() && (\n <div class='caption__wrapper'>\n { this.caption.trim() }\n </div> \n )}\n </div>\n )\n }\n}\n\nlet datePickerId = 0;"],"mappings":"wIAAA,MAAMA,EAAgB,qhFACtB,MAAAC,EAAeD,E,MCYFE,EAAU,MAPvB,WAAAC,CAAAC,G,2MAQUC,KAAAC,QAAkB,qBAAqBC,IAGvCF,KAAAG,KAAe,IACfH,KAAAI,MAAiB,MACjBJ,KAAAK,QAAmB,MACnBL,KAAAM,SAAoB,MAGpBN,KAAAO,KAAe,OAGfP,KAAAQ,SAAoB,MAGpBR,KAAAS,aAAuB,I,CAM/B,OAAAC,CAAQC,GACN,MAAMC,EAAaD,EAAEE,OAAOC,MAC5B,MAAMC,EAAe,IAAIC,KAAKJ,GAC9B,MAAMK,EAAMF,EAAaL,UACzB,MAAMQ,EAAQH,EAAaI,WAAa,EACxC,MAAMC,EAAOL,EAAaM,cAI1B,IAAKT,EAAY,CACfZ,KAAKsB,UAAUC,aAAa,MAE5B,GAAGvB,KAAKO,OAAS,iBAAkB,CACjC,MAAMiB,EAAQT,EAAaU,WAC3B,MAAMC,EAAUX,EAAaY,aAC7B3B,KAAK4B,QAAQC,KAAK,CAACZ,MAAKC,QAAOE,OAAMI,QAAOE,W,KACvC,CACL1B,KAAK4B,QAAQC,KAAK,CAACZ,MAAKC,QAAOE,Q,CAEjC,M,CAGF,MAAMU,EAAQ9B,KAAK+B,GAAGC,WAAWC,cAAc,uBAC/CH,EAAMI,UAAUC,IAAI,aAEpBnC,KAAKsB,UAAUC,aAAaR,EAAaqB,cAAcC,UAAU,EAAE,KACnE,GAAGrC,KAAKO,OAAS,iBAAkB,CACjC,MAAMiB,EAAQT,EAAaU,WAC3B,MAAMC,EAAUX,EAAaY,aAC7B3B,KAAK4B,QAAQC,KAAK,CAACZ,MAAKC,QAAOE,OAAMI,QAAOE,W,KACvC,CACL1B,KAAK4B,QAAQC,KAAK,CAACZ,MAAKC,QAAOE,Q,EAInC,2BAAAkB,GACE,MAAMR,EAAQ9B,KAAK+B,GAAGC,WAAWC,cAAc,uBAC/C,GAAGH,EAAO,CACRA,EAAMS,O,EAIX,UAAAC,GACG,GAAIC,UAAUC,UAAUC,QAAQ,YAAc,EAAI,CAChD,MAAO,Q,MACF,GAAIF,UAAUC,UAAUC,QAAQ,WAAa,EAAI,CACtD,MAAO,O,MACF,GAAIF,UAAUC,UAAUC,QAAQ,UAAY,EAAI,CACrD,MAAO,I,MACF,GAAIF,UAAUC,UAAUC,QAAQ,aAAe,EAAI,CACxD,MAAO,S,KACF,CACL,MAAO,S,EAIX,iBAAAC,GACE,MAAMC,EAAU7C,KAAKwC,aACrB,MAAMV,EAAQ9B,KAAK+B,GAAGC,WAAWC,cAAc,uBAE/C,GAAGY,IAAY,UAAW,CACxBf,EAAMI,UAAUC,IAAI,mB,MACf,GAAGL,EAAMI,UAAUY,SAAS,oBAAqB,CACtDhB,EAAMI,UAAUa,OAAO,mB,EAI3B,iBAAAC,GACE,IAAIC,EAAuBjD,KAAK+B,IAAK,CACnC,MAAMmB,EAAYC,IAClBC,EAAe,kBAAmBF,E,EAItC,gBAAAG,GACErD,KAAK4C,mB,CAGP,mBAAAU,GACE,GAAItD,KAAKc,MAAO,CACdd,KAAKU,QAAQ,CAAEG,OAAQ,CAAEC,MAAOd,KAAKc,Q,EAIzC,iBAAAyC,GACEvD,KAAKsB,UAAUC,aAAa,K,CAG9B,MAAAiC,G,QACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,0BAA0B3D,KAAKI,MAAQ,QAAU,MAAMJ,KAAKM,SAAW,WAAY,MAE7FmD,EAAA,SAAAC,IAAA,2CAAOC,MAAM,iBAAiBC,QAAU5D,KAAKC,UACzC4D,EAAA7D,KAAK8D,SAAK,MAAAD,SAAA,S,EAAEE,OACdN,EAAA,QAAAC,IAAA,2CAAMC,MAAO,YAAY3D,KAAKQ,SAAW,WAAa,MAAMR,KAAKI,MAAQ,QAAU,MAAI,MAGzFqD,EAAA,OAAAC,IAAA,2CAAKC,MAAO,kBAAkB3D,KAAKG,OAAS,IAAM,QAAU,WAAWH,KAAKM,SAAW,WAAa,MAClGmD,EAAA,SAAAC,IAAA,2CACAnD,KAAMP,KAAKO,KACXE,aAAcT,KAAKS,aACnBkD,MAAO,sBAAsB3D,KAAKI,MAAQ,QAAU,MAAMJ,KAAKK,QAAU,UAAY,KACrFC,SAAUN,KAAKM,SAAW,KAAO0D,UAAS,eAC5BhE,KAAKI,MAAQ,KAAO4D,UAAS,aAC/BhE,KAAKiE,UACjBC,IAAKlE,KAAKkE,IACVC,IAAKnE,KAAKmE,IACVrD,MAAOd,KAAKc,MACZN,SAAUR,KAAKQ,SACf4D,SAAWzD,GAAMX,KAAKU,QAAQC,KAC9B8C,EAAA,OAAAC,IAAA,2CAAKC,MAAM,gBAAgBU,KAAK,SAASC,QAAS,IAAMtE,KAAKsC,+BAC3DmB,EAAA,YAAAC,IAAA,2CAAUa,KAAK,aAAY,cAAa,aAI1CC,EAAAxE,KAAKyE,WAAO,MAAAD,SAAA,SAAAA,EAAET,SACZN,EAAA,OAAAC,IAAA,2CAAKC,MAAM,oBACP3D,KAAKyE,QAAQV,Q,mEAQ7B,IAAI7D,EAAe,E","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,c as i,h as s,g as t}from"./p-b7a462e5.js";import{d as c,t as o}from"./p-e8504e6b.js";import{i as r}from"./p-1ecafb97.js";const a=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:inline-block;user-select:none}.container{display:flex;flex-direction:row;align-items:center}.container.gap{gap:16px}.switch__checkbox-container{padding:4px;display:flex;align-items:center;position:relative;width:32px;height:16px;background-color:#FFFFFF;border:1px solid #575352;border-radius:20px;cursor:pointer;transition:background-color 0.3s ease;outline:none}.switch__checkbox-container:focus{outline:4px solid #0A8276;outline-offset:2px}.switch__checkbox-container:focus:not(:focus-visible){outline:none}.switch__checkbox-container:focus-visible{outline:2px solid #0A8276;outline-offset:2px}.switch__checkbox-container.disabled{cursor:default;border-color:#BFBBBB}.switch__label-wrapper label:hover{cursor:pointer}.switch__label-wrapper.disabled{color:#BFBBBB}.switch__checkbox-wrapper .switch{width:16px;height:16px;background-color:#575352;border-radius:50%;transition:transform 0.3s ease, background-color 0.3s ease}.switch__checkbox-wrapper .switch.disabled{background-color:#BFBBBB;border-color:#BFBBBB;cursor:default}.switch__checkbox-wrapper .switch.checked{transform:translateX(16px);background-color:#FFFFFF}.switch__checkbox-wrapper .switch.checked.disabled{cursor:default}.switch__checkbox-container:hover .toggle-switch{box-shadow:0 0 5px rgba(0, 0, 0, 0.2)}.switch__checkbox-container.checked{background-color:#0A8276;border-color:#0A8276}.switch__checkbox-container.checked.disabled{background-color:#BFBBBB;border-color:#BFBBBB;cursor:default}';const h=a;const n=class{constructor(s){e(this,s);this.ifxChange=i(this,"ifxChange",7);if(s.$hostElement$["s-ei"]){this.internals=s.$hostElement$["s-ei"]}else{this.internals=s.$hostElement$.attachInternals();s.$hostElement$["s-ei"]=this.internals}this.checked=false;this.name="";this.disabled=false;this.internalChecked=false}async isChecked(){return this.internalChecked}componentWillLoad(){if(!r(this.el)){const e=c();o("ifx-switch",e)}this.internalChecked=this.checked}toggleLabelGap(){const e=this.el.shadowRoot.querySelector("slot");const i=this.el.shadowRoot.querySelector(".container");if(e.assignedNodes().length){i.classList.add("gap")}else{i.classList.remove("gap")}}componentDidLoad(){this.toggleLabelGap()}valueChanged(e,i){if(e!==i){this.internalChecked=e}}toggleSwitch(){if(this.disabled)return;this.internalChecked=!this.internalChecked;if(this.internalChecked){if(this.value!==undefined){this.internals.setFormValue(this.value)}else{this.internals.setFormValue("on")}}else{this.internals.setFormValue(null)}this.ifxChange.emit(this.internalChecked)}handleKeyDown(e){if(this.disabled)return;if(e.key==="Enter"||e.key===" "){this.toggleSwitch()}}formResetCallback(){this.internals.setFormValue(null)}render(){return s("div",{key:"3c212c108c5bb59a557be61e558b26533085147e",class:"container",role:"switch","aria-checked":this.internalChecked?"true":"false","aria-label":this.name,onClick:()=>this.toggleSwitch(),onKeyDown:e=>this.handleKeyDown(e)},s("div",{key:"69327ff2fbfda37186744692c135765092709567",class:`switch__checkbox-container ${this.internalChecked?"checked":""} ${this.disabled?"disabled":""}`,tabindex:"0"},s("div",{key:"f664e500961e1f51aecdc83a6bf59e7b03d6b93a",class:"switch__checkbox-wrapper"},s("input",{key:"98536af7f7e62b540e62cdb9f18055a98f45950d",type:"checkbox",hidden:true,name:this.name,disabled:this.disabled,checked:this.internalChecked,value:`${this.value}`}),s("div",{key:"42ad6241bd82b4451e48a45201587689d97c24f3",class:`switch ${this.internalChecked?"checked":""} ${this.disabled?"disabled":""}`}))),s("div",{key:"8bb6f7b84d221e7a4c000139bfce18e1f961e79c",class:`switch__label-wrapper ${this.disabled?"disabled":""}`},s("label",{key:"1f105f1850527304b79ebf9bf4cf0c21b27a3c2d",htmlFor:"switch"},s("slot",{key:"77b0bbc5b621d9523fe3f11505391eef095b69a7",onSlotchange:()=>this.toggleLabelGap()}))))}static get formAssociated(){return true}get el(){return t(this)}static get watchers(){return{checked:["valueChanged"]}}};n.style=h;export{n as ifx_switch};
2
- //# sourceMappingURL=p-b1f276a9.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["switchCss","IfxSwitchStyle0","Switch","constructor","hostRef","this","checked","name","disabled","internalChecked","isChecked","componentWillLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","toggleLabelGap","slot","shadowRoot","querySelector","container","assignedNodes","length","classList","add","remove","componentDidLoad","valueChanged","newValue","oldValue","toggleSwitch","value","undefined","internals","setFormValue","ifxChange","emit","handleKeyDown","event","key","formResetCallback","render","h","class","role","onClick","onKeyDown","tabindex","type","hidden","htmlFor","onSlotchange"],"sources":["src/components/switch/switch.scss?tag=ifx-switch&encapsulation=shadow","src/components/switch/switch.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n/* switch.css */\n:host {\n display: inline-block;\n user-select: none;\n}\n\n.container {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n &.gap {\n gap: tokens.$ifxSpace200;\n }\n}\n\n\n.switch__checkbox-container {\n padding: tokens.$ifxSpace50;\n display: flex;\n align-items: center;\n position: relative;\n // Subtracting padding size from both height and width\n width: (tokens.$ifxSpace500)-8px;\n height: 16px;\n background-color: tokens.$ifxColorBaseWhite;\n border: 1px solid tokens.$ifxColorEngineering500;\n border-radius: 20px;\n cursor: pointer;\n transition: background-color 0.3s ease;\n outline: none;\n\n &:focus {\n outline: 4px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n &:focus-visible {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n }\n\n &.disabled {\n cursor: default;\n border-color: tokens.$ifxColorEngineering300;\n }\n\n\n}\n\n\n.switch__label-wrapper {\n\n & label { \n &:hover { \n cursor: pointer;\n }\n }\n\n &.disabled {\n color: tokens.$ifxColorEngineering300;\n }\n}\n\n\n.switch__checkbox-wrapper {\n\n .switch {\n // position: absolute;\n width: tokens.$ifxSpace200;\n height: tokens.$ifxSpace200;\n background-color: tokens.$ifxColorEngineering500;\n border-radius: 50%;\n transition: transform 0.3s ease, background-color 0.3s ease;\n\n &.disabled {\n background-color: tokens.$ifxColorEngineering300;\n border-color: tokens.$ifxColorEngineering300;\n cursor: default;\n }\n }\n\n .switch.checked {\n transform: translateX(16px);\n background-color: tokens.$ifxColorBaseWhite;\n\n &.disabled {\n cursor: default;\n }\n\n }\n\n}\n\n.switch__checkbox-container:hover .toggle-switch {\n box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);\n}\n\n\n\n.switch__checkbox-container.checked {\n background-color: tokens.$ifxColorOcean500;\n border-color: tokens.$ifxColorOcean500;\n\n &.disabled {\n background-color: tokens.$ifxColorEngineering300;\n border-color: tokens.$ifxColorEngineering300;\n cursor: default;\n }\n}","import { AttachInternals, Method } from '@stencil/core';\nimport { Component, Prop, State, Watch, h, Event, EventEmitter, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-switch',\n styleUrl: 'switch.scss',\n shadow: true,\n formAssociated: true\n})\nexport class Switch {\n @Prop() checked: boolean = false;\n @Prop() name: string = '';\n @Prop() disabled: boolean = false;\n @Prop() value: string;\n @State() internalChecked: boolean = false;\n\n @AttachInternals() internals: ElementInternals;\n\n @Element() el: HTMLIfxSwitchElement;\n\n @Event({ eventName: 'ifxChange' }) ifxChange: EventEmitter<boolean>;\n\n @Method()\n async isChecked(): Promise<boolean> {\n return this.internalChecked;\n }\n\n componentWillLoad() {\n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-switch', framework)\n }\n this.internalChecked = this.checked;\n }\n \n\n toggleLabelGap() {\n const slot = this.el.shadowRoot.querySelector('slot');\n const container = this.el.shadowRoot.querySelector('.container');\n if (slot.assignedNodes().length) {\n container.classList.add('gap')\n } else { \n container.classList.remove('gap')\n }\n }\n \n componentDidLoad() {\n this.toggleLabelGap();\n\n }\n \n @Watch('checked')\n valueChanged(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue) {\n this.internalChecked = newValue;\n }\n }\n\n toggleSwitch() {\n if (this.disabled) return;\n this.internalChecked = !this.internalChecked;\n\n if (this.internalChecked) {\n if (this.value !== undefined) {\n this.internals.setFormValue(this.value);\n } else {\n this.internals.setFormValue(\"on\")\n }\n } else {\n this.internals.setFormValue(null)\n }\n\n this.ifxChange.emit(this.internalChecked);\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) return;\n // If the pressed key is either 'Enter' or 'Space' \n if (event.key === 'Enter' || event.key === ' ') {\n this.toggleSwitch();\n }\n }\n\n /**\n * Callback for form association.\n * Called whenever the form is reset.\n */\n formResetCallback() {\n this.internals.setFormValue(null);\n }\n\n render() {\n return (\n <div\n class=\"container\"\n role=\"switch\"\n aria-checked={this.internalChecked ? 'true' : 'false'}\n aria-label={this.name}\n onClick={() => this.toggleSwitch()}\n onKeyDown={(event) => this.handleKeyDown(event)}\n >\n {/* Checkbox */}\n <div \n class={`switch__checkbox-container ${this.internalChecked ? 'checked' : ''} ${this.disabled ? 'disabled' : ''}`}\n tabindex=\"0\"\n >\n <div class=\"switch__checkbox-wrapper\">\n <input type=\"checkbox\" hidden\n name={this.name}\n disabled={this.disabled}\n checked={this.internalChecked}\n value={`${this.value}`} />\n <div class={`switch ${this.internalChecked ? 'checked' : ''} ${this.disabled ? 'disabled' : ''}`} />\n </div>\n </div >\n\n {/* Label */}\n <div class={`switch__label-wrapper ${this.disabled ? 'disabled' : ''}`} >\n <label htmlFor=\"switch\">\n <slot onSlotchange={() => this.toggleLabelGap()} />\n </label>\n </div>\n </div>\n )\n\n }\n}\n"],"mappings":"wIAAA,MAAMA,EAAY,sgDAClB,MAAAC,EAAeD,E,MCWFE,EAAM,MANnB,WAAAC,CAAAC,G,+MAOUC,KAAAC,QAAmB,MACnBD,KAAAE,KAAe,GACfF,KAAAG,SAAoB,MAEnBH,KAAAI,gBAA2B,K,CASpC,eAAMC,GACJ,OAAOL,KAAKI,e,CAGd,iBAAAE,GACE,IAAIC,EAAuBP,KAAKQ,IAAK,CACnC,MAAMC,EAAYC,IAClBC,EAAe,aAAcF,E,CAE/BT,KAAKI,gBAAkBJ,KAAKC,O,CAI9B,cAAAW,GACE,MAAMC,EAAOb,KAAKQ,GAAGM,WAAWC,cAAc,QAC9C,MAAMC,EAAYhB,KAAKQ,GAAGM,WAAWC,cAAc,cACnD,GAAIF,EAAKI,gBAAgBC,OAAQ,CAC/BF,EAAUG,UAAUC,IAAI,M,KACnB,CACLJ,EAAUG,UAAUE,OAAO,M,EAI/B,gBAAAC,GACEtB,KAAKY,gB,CAKP,YAAAW,CAAaC,EAAmBC,GAC9B,GAAID,IAAaC,EAAU,CACzBzB,KAAKI,gBAAkBoB,C,EAI3B,YAAAE,GACE,GAAI1B,KAAKG,SAAU,OACnBH,KAAKI,iBAAmBJ,KAAKI,gBAE7B,GAAIJ,KAAKI,gBAAiB,CACxB,GAAIJ,KAAK2B,QAAUC,UAAW,CAC5B5B,KAAK6B,UAAUC,aAAa9B,KAAK2B,M,KAC5B,CACL3B,KAAK6B,UAAUC,aAAa,K,MAEzB,CACL9B,KAAK6B,UAAUC,aAAa,K,CAG9B9B,KAAK+B,UAAUC,KAAKhC,KAAKI,gB,CAG3B,aAAA6B,CAAcC,GACZ,GAAIlC,KAAKG,SAAU,OAEnB,GAAI+B,EAAMC,MAAQ,SAAWD,EAAMC,MAAQ,IAAK,CAC9CnC,KAAK0B,c,EAQT,iBAAAU,GACEpC,KAAK6B,UAAUC,aAAa,K,CAG9B,MAAAO,GACE,OACEC,EAAA,OAAAH,IAAA,2CACEI,MAAM,YACNC,KAAK,SAAQ,eACCxC,KAAKI,gBAAkB,OAAS,QAAO,aACzCJ,KAAKE,KACjBuC,QAAS,IAAMzC,KAAK0B,eACpBgB,UAAYR,GAAUlC,KAAKiC,cAAcC,IAGzCI,EAAA,OAAAH,IAAA,2CACEI,MAAO,8BAA8BvC,KAAKI,gBAAkB,UAAY,MAAMJ,KAAKG,SAAW,WAAa,KAC3GwC,SAAS,KAETL,EAAA,OAAAH,IAAA,2CAAKI,MAAM,4BACTD,EAAA,SAAAH,IAAA,2CAAOS,KAAK,WAAWC,OAAM,KAC3B3C,KAAMF,KAAKE,KACXC,SAAUH,KAAKG,SACfF,QAASD,KAAKI,gBACduB,MAAO,GAAG3B,KAAK2B,UACjBW,EAAA,OAAAH,IAAA,2CAAKI,MAAO,UAAUvC,KAAKI,gBAAkB,UAAY,MAAMJ,KAAKG,SAAW,WAAa,SAKhGmC,EAAA,OAAAH,IAAA,2CAAKI,MAAO,yBAAyBvC,KAAKG,SAAW,WAAa,MAChEmC,EAAA,SAAAH,IAAA,2CAAOW,QAAQ,UACbR,EAAA,QAAAH,IAAA,2CAAMY,aAAc,IAAM/C,KAAKY,qB","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i,g as s,a as o}from"./p-b7a462e5.js";import{d as n,t as l}from"./p-e8504e6b.js";import{i as r}from"./p-1ecafb97.js";const c=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}.ifx-multiselect-container{position:relative;box-sizing:border-box;font-family:var(--ifx-font-family)}.ifx-multiselect-container:hover{cursor:pointer}.ifx-multiselect-container .ifx-label-wrapper{font-size:1rem;line-height:1.5rem;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;max-width:100%}.ifx-multiselect-container .ifx-error-message-wrapper{color:#CD002F;font-size:0.75rem;line-height:1rem;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;max-width:100%}.ifx-multiselect-container .ifx-multiselect-wrapper{background-color:#FFFFFF;box-sizing:border-box;display:flex;align-items:center;border:1px solid #8D8786;border-radius:1px;width:100%;font-weight:400;font-style:normal;height:40px;line-height:24px;padding:8px 16px;font-size:1rem;line-height:1.5rem}.ifx-multiselect-container .ifx-multiselect-wrapper:focus-visible{outline:none}.ifx-multiselect-container .ifx-multiselect-wrapper:focus-visible:not(.active):not(:active){outline:none}.ifx-multiselect-container .ifx-multiselect-wrapper:focus-visible:not(.active):not(:active)::before{content:"";position:absolute;width:calc(100% + 4px);height:calc(100% + 4px);top:50%;left:50%;transform:translate(-50%, -50%);border:2px solid #0A8276;border-radius:2px}.ifx-multiselect-container .ifx-multiselect-wrapper.disabled{background:#EEEDED;color:#575352;border-color:#575352;cursor:default;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ifx-multiselect-container .ifx-multiselect-wrapper.error{border-color:#CD002F}.ifx-multiselect-container .ifx-multiselect-wrapper:hover:not(.focus,:focus){border-color:#575352}.ifx-multiselect-container .ifx-multiselect-wrapper.active{border-color:#0A8276 !important}.ifx-multiselect-container .ifx-multiselect-wrapper.active .icon-wrapper-up{display:flex;align-items:center;justify-content:center;padding-left:8px}.ifx-multiselect-container .ifx-multiselect-wrapper.active .icon-wrapper-down{display:none}.ifx-multiselect-container .ifx-multiselect-wrapper .icon-wrapper-up{display:none}.ifx-multiselect-container .ifx-multiselect-wrapper .icon-wrapper-down{display:flex;align-items:center;justify-content:center;padding-left:8px}.ifx-multiselect-container .ifx-multiselect-wrapper.is-flipped .ifx-multiselect-dropdown-menu{top:auto;bottom:100%}.ifx-multiselect-container .ifx-multiselect-input{flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ifx-multiselect-container .ifx-multiselect-input.placeholder{opacity:0.5}.ifx-multiselect-container .ifx-multiselect-icon-container{margin-left:auto;display:flex;align-items:center;gap:8px}.ifx-multiselect-container .ifx-multiselect-icon-container .ifx-multiselect-icon-container{display:flex}.ifx-multiselect-container .ifx-multiselect-icon-container .icon-wrapper{display:flex;align-items:center;transition:transform 0.2s ease-in-out}.ifx-multiselect-container .ifx-multiselect-icon-container .icon-wrapper--open{transform:rotate(180deg)}.ifx-multiselect-container .ifx-clear-button{display:flex;align-items:center}.ifx-multiselect-container .ifx-clear-button.hide{display:none}.ifx-multiselect-container .ifx-multiselect-dropdown-menu{box-sizing:border-box;position:absolute;top:100%;left:0;width:100%;margin-top:4px;border:1px solid #EEEDED;background-color:#fff;box-shadow:0px 6px 9px 0px rgba(29, 29, 29, 0.1);max-height:300px;z-index:1000;display:flex;flex-direction:column}.ifx-multiselect-dropdown-functions{padding:12px 16px;border-bottom:1px solid #EEEDED;flex-shrink:0}.ifx-multiselect-dropdown-search{margin-bottom:12px}.ifx-multiselect-dropdown-controls{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.ifx-multiselect-dropdown-controls .select-all-wrapper{display:flex}.ifx-multiselect-dropdown-controls .expand-collapse-controls{display:flex;gap:12px}.ifx-multiselect-dropdown-controls .control-item{font-size:0.875rem;line-height:1.25rem}.ifx-multiselect-dropdown-controls .control-item:hover{color:#0A8276}.ifx-multiselect-dropdown-controls .control-item:active{color:#08665C}.ifx-multiselect-dropdown-controls .control-item:focus{outline:none}.ifx-multiselect-dropdown-controls .control-item:focus-visible{outline:2px solid #0A8276;outline-offset:2px;border-radius:1px}.ifx-multiselect-options{flex:1;overflow-y:auto;padding-top:12px;padding-bottom:12px}.ifx-multiselect-options.show-no-results .ifx-multiselect-no-results{display:block}.ifx-multiselect-no-results{padding-left:16px;padding-right:16px;display:none}';const a=c;function h(t,e){let i;return function s(...o){const n=()=>{clearTimeout(i);t(...o)};clearTimeout(i);i=setTimeout(n,e)}}const f=class{constructor(i){t(this,i);this.ifxSelect=e(this,"ifxSelect",7);this.ifxOpen=e(this,"ifxOpen",7);if(i.$hostElement$["s-ei"]){this.internals=i.$hostElement$["s-ei"]}else{this.internals=i.$hostElement$.attachInternals();i.$hostElement$["s-ei"]=this.internals}this.disabled=false;this.error=false;this.errorMessage="Error";this.label="";this.placeholder="";this.showSearch=true;this.showSelectAll=true;this.showClearButton=true;this.showExpandCollapse=true;this.noResultsMessage="No results found.";this.showNoResultsMessage=true;this.searchPlaceholder="Search";this.selectAllLabel="Select all";this.expandLabel="Expand";this.collapseLabel="Collapse";this.ariaMultiSelectLabel="Multi-select dropdown";this.ariaMultiSelectLabelledBy="";this.ariaMultiSelectDescribedBy="";this.ariaSearchLabel="Search options";this.ariaClearLabel="Clear all selections";this.ariaToggleLabel="Toggle dropdown";this.ariaSelectAllLabel="Select all options";this.ariaExpandAllLabel="Expand all categories";this.ariaCollapseAllLabel="Collapse all categories";this.internalError=false;this.persistentSelectedOptions=[];this.dropdownOpen=false;this.searchTerm="";this.handleSearch=h((t=>{const e=t.value.toLowerCase();const i=e!=="";this.searchTerm=e;const s=this.el.shadowRoot.querySelector(".ifx-multiselect-wrapper");if(s){if(i){s.classList.remove("active")}else{const t=this.el.shadowRoot.querySelector("ifx-search-field");const e=t&&t.matches(":focus-within");if(!e){s.classList.add("active")}}}const o=this.el.shadowRoot.querySelector(".ifx-multiselect-options");if(o){if(i){o.classList.add("has-search-filter")}else{o.classList.remove("has-search-filter")}}requestAnimationFrame((()=>{const t=this.el.querySelectorAll("ifx-multiselect-option");t.forEach((t=>{const s=new CustomEvent("ifx-search-filter",{detail:{searchTerm:e,isActive:i}});t.dispatchEvent(s)}));if(i){setTimeout((()=>{const t=this.el.querySelectorAll("ifx-multiselect-option");let e=0;t.forEach((t=>{const i=window.getComputedStyle(t);const s=t.getBoundingClientRect();if(i.display!=="none"&&i.visibility!=="hidden"&&i.opacity!=="0"&&s.height>0){e++}}));const i=this.el.shadowRoot.querySelector(".ifx-multiselect-options");if(i){if(e===0){i.classList.add("show-no-results")}else{i.classList.remove("show-no-results")}}}),200)}else{const t=this.el.shadowRoot.querySelector(".ifx-multiselect-options");if(t){t.classList.remove("show-no-results")}}}))}),150);this.pendingSelectionUpdate=false;this.handleDocumentClick=t=>{const e=t.composedPath();if(!e.includes(this.dropdownElement)){this.dropdownOpen=false;document.removeEventListener("click",this.handleDocumentClick);this.resetSearch();this.ifxOpen.emit(this.dropdownOpen)}}}parseChildOptions(){const t=[];const e=Array.from(this.el.children);e.forEach(((e,i)=>{if(e.tagName==="IFX-MULTISELECT-OPTION"){const s=this.parseOptionElement(e,i);if(s){t.push(s)}}}));return t}parseOptionElement(t,e){const i=t.getAttribute("value")||`option-${e}`;const s=t.hasAttribute("selected");const o=t.hasAttribute("disabled");const n=t.hasAttribute("indeterminate");const l={value:i,selected:s,disabled:o,indeterminate:n};const r=Array.from(t.children).filter((t=>t.tagName==="IFX-MULTISELECT-OPTION")).map(((t,e)=>this.parseOptionElement(t,e))).filter((t=>t!==null));if(r.length>0){l.children=r}return l}loadInitialOptions(){this.internalError=this.error;this.internalErrorMessage=this.errorMessage;const t=this.parseChildOptions();const e=this.collectSelectedOptions(t);const i=e.filter((t=>!this.persistentSelectedOptions.some((e=>e.value==t.value))));this.persistentSelectedOptions=[...this.persistentSelectedOptions,...i]}collectSelectedOptions(t){let e=[];for(const i of t){if(i.selected){if(i.children&&i.children.length>0){e=e.concat(this.collectLeafOptions(i.children))}else{if(!e.some((t=>t.value===i.value))){e.push(i)}}}else{if(i.children&&i.children.length>0){e=e.concat(this.collectSelectedOptions(i.children))}}}return e}collectLeafOptions(t){let e=[];for(const i of t){if(i.children&&i.children.length>0){e=e.concat(this.collectLeafOptions(i.children))}else{e.push(i)}}return e}handleSearchFocus(t){const e=this.el.shadowRoot.querySelector(".ifx-multiselect-wrapper");if(e){if(t||this.searchTerm!==""){e.classList.remove("active")}else{e.classList.add("active")}}}positionDropdown(){var t;const e=(t=this.el.shadowRoot.querySelector(".ifx-multiselect-wrapper"))===null||t===void 0?void 0:t.getBoundingClientRect();const i=window.innerHeight-e.bottom;const s=e.top;if(s>i&&e.height>i||e.bottom>window.innerHeight){this.dropdownFlipped=true}else{this.dropdownFlipped=false}}updateSlotBasedSelections(t=false){const e=this.el.querySelectorAll("ifx-multiselect-option");const i=[];e.forEach((t=>{const e=t["__stencil_instance"];if(e&&e.selected&&!e.hasChildren){i.push({value:e.value,selected:true,disabled:e.disabled})}}));this.persistentSelectedOptions=i;if(t){this.ifxSelect.emit(this.persistentSelectedOptions)}}updateInitialParentStates(){const t=this.el.querySelectorAll("ifx-multiselect-option");const e=Array.from(t).map((t=>({element:t,instance:t["__stencil_instance"],depth:parseInt(t.getAttribute("data-level")||"0")}))).filter((t=>t.instance)).sort(((t,e)=>e.depth-t.depth));e.forEach((({instance:t})=>{if(t.hasChildren){this.updateParentState(t)}}))}updateParentState(t){const e=Array.from(t.el.children).filter((t=>t.tagName==="IFX-MULTISELECT-OPTION")).map((t=>t["__stencil_instance"])).filter((t=>t!==null));const i=e.filter((t=>t.selected)).length;const s=e.filter((t=>t.indeterminate)).length;const o=e.length;if(i===o&&s===0){t.selected=true;t.indeterminate=false}else if(i===0&&s===0){t.selected=false;t.indeterminate=false}else{t.selected=false;t.indeterminate=true}}componentDidLoad(){setTimeout((()=>{this.positionDropdown()}),500);this.el.addEventListener("ifx-option-changed",(()=>{if(!this.pendingSelectionUpdate){this.pendingSelectionUpdate=true;requestAnimationFrame((()=>{this.updateSlotBasedSelections(true);setTimeout((()=>{this.pendingSelectionUpdate=false}),0)}))}}));setTimeout((()=>{this.updateSlotBasedSelections(false);this.updateInitialParentStates()}),100)}componentWillLoad(){if(!r(this.el)){const t=n();l("ifx-multiselect",t)}this.loadInitialOptions()}updateInternalError(){this.internalError=this.error}updateInternalErrorMessage(){this.internalErrorMessage=this.errorMessage}onSelectionChange(t,e){const i=new FormData;t.forEach((t=>i.append(this.name,t.value)));this.internals.setFormValue(i)}collapseAll(){const t=this.el.querySelectorAll("ifx-multiselect-option");t.forEach((t=>{const e=t["__stencil_instance"];if(e&&e.hasChildren){e.isExpanded=false}}))}expandAll(){const t=this.el.querySelectorAll("ifx-multiselect-option");t.forEach((t=>{const e=t["__stencil_instance"];if(e&&e.hasChildren){e.isExpanded=true}}))}selectAll(){this.resetSearch();const t=this.el.querySelectorAll("ifx-multiselect-option");t.forEach((t=>{const e=t["__stencil_instance"];if(e){if(e.hasChildren){e.isExpanded=true}else{e.selected=true}}}));setTimeout((()=>{this.updateInitialParentStates();this.updateSlotBasedSelections(false);this.ifxSelect.emit(this.persistentSelectedOptions)}),0)}async clearSelection(){const t=this.el.querySelectorAll("ifx-multiselect-option");t.forEach((t=>{const e=t["__stencil_instance"];if(e){e.selected=false;e.indeterminate=false;if(e.hasChildren){e.isExpanded=false}}}));this.persistentSelectedOptions=[];setTimeout((()=>{this.updateSlotBasedSelections(false);this.ifxSelect.emit(this.persistentSelectedOptions)}),0)}toggleDropdown(){this.dropdownOpen=!this.dropdownOpen;setTimeout((()=>{if(this.dropdownOpen){document.addEventListener("click",this.handleDocumentClick)}else{this.resetSearch()}this.ifxOpen.emit(this.dropdownOpen)}),0)}resetSearch(){this.searchTerm="";const t=this.el.shadowRoot.querySelector("ifx-search-field");if(t){t.value=""}const e=this.el.shadowRoot.querySelector(".ifx-multiselect-options");if(e){e.classList.remove("has-search-filter")}const i=this.el.querySelectorAll("ifx-multiselect-option");i.forEach((t=>{const e=new CustomEvent("ifx-search-filter",{detail:{searchTerm:"",isActive:false}});t.dispatchEvent(e)}))}handleWrapperClick(t){this.positionDropdown();if(t.currentTarget===t.target){this.toggleDropdown()}}handleKeyDown(t){if(this.disabled)return;if(!this.dropdownOpen){switch(t.code){case"Enter":case"Space":case"ArrowDown":t.preventDefault();this.toggleDropdown();break}return}switch(t.code){case"Escape":t.preventDefault();this.toggleDropdown();break;case"Enter":case"Space":const e=t.target;if(!e.closest(".ifx-multiselect-dropdown-functions")){t.preventDefault();this.toggleDropdown()}break;case"ArrowDown":case"ArrowUp":t.preventDefault();this.focusFirstOption();break}}focusFirstOption(){var t;const e=this.el.querySelector("ifx-multiselect-option:not(.search-hidden)");if(e){const i=(t=e.shadowRoot)===null||t===void 0?void 0:t.querySelector(".option-label");i===null||i===void 0?void 0:i.focus()}}renderSelectAll(){const t=this.el.querySelectorAll("ifx-multiselect-option");const e=Array.from(t).filter((t=>!t.hasChildren));const s=Array.from(t).filter((t=>!t.hasChildren&&t.selected));const o=e.length>0&&s.length===e.length;const n=t=>{if(t){t.preventDefault();t.stopPropagation()}if(o){this.clearSelection()}else{this.selectAll()}};return i("div",{class:"select-all-wrapper"},i("ifx-checkbox",{id:"selectAll",checked:o,size:"s","aria-label":this.ariaSelectAllLabel,onClick:n,onKeyDown:t=>{if(t.key==="Enter"||t.key===" "){t.preventDefault();t.stopPropagation();n(t)}}},this.selectAllLabel))}renderNoResultsMessage(){return i("div",{class:"ifx-multiselect-no-results"},i("div",{class:"no-results-content"},i("span",{class:"no-results-text"},this.noResultsMessage)))}render(){const t=this.persistentSelectedOptions.map((t=>{var e;const i=this.el.querySelector(`ifx-multiselect-option[value="${t.value}"]`);return((e=i===null||i===void 0?void 0:i.textContent)===null||e===void 0?void 0:e.trim())||t.value})).join(", ");const e=this.persistentSelectedOptions.length>0;let s=false;const o=this.el.querySelectorAll("ifx-multiselect-option");if(o.length>0){s=Array.from(o).every((t=>t.children.length===0))}return i("div",{class:`ifx-multiselect-container`,ref:t=>this.dropdownElement=t},this.label?i("div",{class:"ifx-label-wrapper"},i("span",null,this.label)):null,i("div",{class:`ifx-multiselect-wrapper\n ${this.dropdownOpen?"active":""}\n ${this.dropdownFlipped?"is-flipped":""}\n ${this.internalError?"error":""}\n ${this.disabled?"disabled":""}`,role:"combobox","aria-label":this.ariaMultiSelectLabel,"aria-labelledby":this.ariaMultiSelectLabelledBy||undefined,"aria-describedby":this.ariaMultiSelectDescribedBy||undefined,"aria-expanded":this.dropdownOpen,"aria-haspopup":"listbox","aria-disabled":this.disabled,tabindex:"0",onClick:this.disabled?undefined:t=>this.handleWrapperClick(t),onKeyDown:this.disabled?undefined:t=>this.handleKeyDown(t)},i("div",{class:`ifx-multiselect-input\n ${e?"":"placeholder"}\n `,onClick:this.disabled?undefined:()=>this.toggleDropdown()},e?t:this.placeholder),this.dropdownOpen&&i("div",{class:"ifx-multiselect-dropdown-menu"},(this.showSearch||this.showSelectAll||this.showExpandCollapse&&!s)&&i("div",{class:"ifx-multiselect-dropdown-functions",onClick:t=>t.stopPropagation()},this.showSearch&&i("div",{class:"ifx-multiselect-dropdown-search"},i("ifx-search-field",{class:"search-input",placeholder:this.searchPlaceholder,size:"s","show-delete-icon":"true","aria-label":this.ariaSearchLabel,onKeyDown:t=>{t.stopPropagation()},onIfxInput:t=>this.handleSearch(t.target),onFocus:()=>this.handleSearchFocus(true),onBlur:()=>this.handleSearchFocus(false)})),i("div",{class:"ifx-multiselect-dropdown-controls"},this.showSelectAll&&this.renderSelectAll(),this.showExpandCollapse&&!s&&i("div",{class:"expand-collapse-controls"},i("span",{class:"control-item",role:"button",tabIndex:0,"aria-label":this.ariaExpandAllLabel,onClick:t=>{t.stopPropagation();this.expandAll()},onKeyDown:t=>{if(t.key==="Enter"||t.key===" "){t.preventDefault();t.stopPropagation();this.expandAll()}}},this.expandLabel),i("span",{class:"control-item",role:"button",tabIndex:0,"aria-label":this.ariaCollapseAllLabel,onClick:t=>{t.stopPropagation();this.collapseAll()},onKeyDown:t=>{if(t.key==="Enter"||t.key===" "){t.preventDefault();t.stopPropagation();this.collapseAll()}}},this.collapseLabel)))),i("div",{class:"ifx-multiselect-options",role:"listbox","aria-multiselectable":"true"},i("slot",null),this.searchTerm&&this.showNoResultsMessage&&this.renderNoResultsMessage())),i("div",{class:"ifx-multiselect-icon-container"},this.persistentSelectedOptions.length>0&&i("div",{class:`ifx-clear-button ${!this.showClearButton?"hide":""}`,onClick:this.disabled?undefined:()=>this.clearSelection()},i("ifx-icon",{icon:"cRemove16"})),i("div",{class:"icon-wrapper-up",onClick:this.disabled?undefined:()=>this.toggleDropdown()},i("ifx-icon",{key:"icon-up",icon:"chevron-up-16"})),i("div",{class:"icon-wrapper-down",onClick:this.disabled?undefined:()=>this.toggleDropdown()},i("ifx-icon",{key:"icon-down",icon:"chevron-down-16"})))),this.internalError?i("div",{class:"ifx-error-message-wrapper"},i("span",null,this.internalErrorMessage)):null)}static get formAssociated(){return true}get el(){return s(this)}static get watchers(){return{error:["updateInternalError"],errorMessage:["updateInternalErrorMessage"],persistentSelectedOptions:["onSelectionChange"]}}};f.style=a;const d=":host{display:block;width:100%}.option{display:flex;flex-direction:column;position:relative;cursor:pointer;list-style:none}.option.option--expanded{position:relative}.option.option--has-children{position:relative}.option.option--has-children .option-item>.chevron-wrapper{display:flex}.option--disabled{cursor:not-allowed;pointer-events:none;color:#BFBBBB}.option.search-hidden{display:none !important}.option.search-match .option-item .option-label .search-highlight{font-weight:bold}.option-item{display:flex;flex-direction:row;align-items:center;white-space:nowrap;min-height:20px;padding:4px 16px;background-color:#FFFFFF;transition:background-color 0.2s ease-in-out}.option-item:hover{background-color:#F7F7F7}.option--disabled .option-item:hover{background-color:transparent}.option-children{display:block}.chevron-wrapper{display:none;align-items:center;justify-content:center;margin-right:8px;width:20px;height:20px;flex-shrink:0}.chevron-wrapper:focus{outline:none}.chevron-wrapper:focus-visible{outline:2px solid #0A8276;outline-offset:2px;border-radius:1px}.option--has-children .chevron-wrapper{display:flex}.chevron-wrapper .chevron{transition:transform 0.2s ease-in-out;color:#3C3A39}.chevron-wrapper .chevron.chevron--expanded{transform:rotate(90deg)}.chevron-wrapper .chevron.chevron--collapsed{transform:rotate(0deg)}.checkbox-wrapper{display:flex;align-items:center;margin-right:8px;flex-shrink:0}.option-label{flex-grow:1;display:flex;align-items:center;cursor:pointer;padding:2px 0;font-size:0.875rem}.option-label:focus{outline:none}.option-label:focus-visible{outline:2px solid #0A8276;outline-offset:2px;border-radius:1px}.option--disabled .option-label{cursor:not-allowed;color:#BFBBBB}";const p=d;const u=class{constructor(e){t(this,e);this.selected=false;this.disabled=false;this.indeterminate=false;this.isExpanded=false;this.hasChildren=false;this.depth=0;this.searchTerm="";this.isSearchActive=false;this.isSearchDisabled=false;this.handleSearchFilter=t=>{const{searchTerm:e,isActive:i}=t.detail;this.searchTerm=e.toLowerCase();this.isSearchActive=i;requestAnimationFrame((()=>{this.updateSearchClasses()}))};this.handleCheckboxClick=t=>{if(this.disabled||this.isSearchActive&&this.isSearchDisabled)return;t.stopPropagation();let e;if(this.indeterminate){e=true}else{e=!this.selected}this.selected=e;this.indeterminate=false;if(this.hasChildren){this.isExpanded=e;requestAnimationFrame((()=>{this.selectAllChildren(e);this.expandAllChildren(e)}))}this.updateParentStates();this.notifyMultiselect()};this.handleHeaderClick=t=>{t.stopPropagation();if(!this.disabled&&!(this.isSearchActive&&this.isSearchDisabled)){this.handleClick(t)}}}componentWillLoad(){this.hasChildren=this.el.children.length>0;this.depth=this.calculateDepth();this.el.setAttribute("data-level",this.depth.toString());if(this.hasChildren){const t=this.hasAnySelectedChildren();if(t){this.isExpanded=true}}}componentDidLoad(){this.el["__stencil_instance"]=this;this.notifyMultiselect();this.el.addEventListener("ifx-search-filter",this.handleSearchFilter)}disconnectedCallback(){this.el.removeEventListener("ifx-search-filter",this.handleSearchFilter)}updateSearchClasses(){var t;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(".option");if(!e)return;if(!this.isSearchActive){e.classList.remove("search-hidden","search-parent","search-match");this.removeHighlighting();this.isSearchDisabled=false;return}const i=this.getTextContent().toLowerCase();const s=i.includes(this.searchTerm);const o=this.hasMatchingParent();requestAnimationFrame((()=>{const t=this.hasMatchingChildren();e.classList.remove("search-hidden","search-parent","search-match");this.isSearchDisabled=false;if(s&&!this.hasChildren){e.classList.add("search-match");this.highlightSearchTerm()}else if(s&&this.hasChildren){e.classList.add("search-match");this.highlightSearchTerm();this.isExpanded=true}else if(!s&&this.hasChildren&&t){e.classList.add("search-parent");this.removeHighlighting();this.isExpanded=true;this.isSearchDisabled=true}else if(o){e.classList.add("search-match");this.removeHighlighting()}else{e.classList.add("search-hidden");this.removeHighlighting()}}))}highlightSearchTerm(){var t;if(!this.searchTerm)return;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(".option-label");if(!e)return;const i=e.querySelector("slot");if(!i)return;this.removeHighlighting();const s=this.getTextContent();const o=this.searchTerm.toLowerCase();const n=s.toLowerCase();if(!n.includes(o))return;const l=n.indexOf(o);if(l===-1)return;const r=s.substring(0,l);const c=s.substring(l,l+o.length);const a=s.substring(l+o.length);const h=document.createElement("span");h.className="highlighted-text";if(r){h.appendChild(document.createTextNode(r))}const f=document.createElement("strong");f.className="search-highlight";f.textContent=c;h.appendChild(f);if(a){h.appendChild(document.createTextNode(a))}e.setAttribute("data-original-content","true");i.style.display="none";e.appendChild(h)}removeHighlighting(){var t;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(".option-label");if(!e)return;const i=e.querySelector("slot");const s=e.querySelector(".highlighted-text");if(s){e.removeChild(s)}if(i){i.style.display=""}e.removeAttribute("data-original-content")}getTextContent(){let t="";Array.from(this.el.childNodes).forEach((e=>{var i;if(e.nodeType===Node.TEXT_NODE){t+=((i=e.textContent)===null||i===void 0?void 0:i.trim())||""}}));return t||this.value||""}hasMatchingChildren(){if(!this.hasChildren)return false;const t=Array.from(this.el.children).filter((t=>t.tagName==="IFX-MULTISELECT-OPTION"));return t.some((t=>{const e=t["__stencil_instance"];if(!e)return false;const i=e.getTextContent().toLowerCase();const s=i.includes(this.searchTerm);const o=e.hasMatchingChildren();return s||o}))}hasMatchingParent(){let t=this.el.parentElement;while(t&&t.tagName==="IFX-MULTISELECT-OPTION"){const e=t["__stencil_instance"];if(e){const t=e.getTextContent().toLowerCase();if(t.includes(this.searchTerm)){return true}}t=t.parentElement}return false}calculateDepth(){let t=0;let e=this.el.parentElement;while(e&&e.tagName!=="IFX-MULTISELECT"){if(e.tagName==="IFX-MULTISELECT-OPTION"){t++}e=e.parentElement}return t}handleClick(t){if(this.disabled||this.isSearchActive&&this.isSearchDisabled)return;t.stopPropagation();if(t.type==="click"&&t.target.closest(".chevron-wrapper")){this.toggleExpansion();return}let e;if(this.indeterminate){e=true}else{e=!this.selected}this.selected=e;this.indeterminate=false;if(this.hasChildren){this.isExpanded=e;requestAnimationFrame((()=>{this.selectAllChildren(e);this.expandAllChildren(e)}))}this.updateParentStates();this.notifyMultiselect()}handleKeyDown(t){if(this.disabled||this.isSearchActive&&this.isSearchDisabled)return;const e=t.target;if(e.closest(".chevron-wrapper")||e.closest(".checkbox-wrapper")){return}if(t.key!=="ArrowUp"&&t.key!=="ArrowDown"){t.stopPropagation()}if(t.key==="ArrowRight"&&this.hasChildren){this.isExpanded=true}if(t.key==="ArrowLeft"&&this.hasChildren){this.isExpanded=false}}notifyMultiselect(){const t=new CustomEvent("ifx-option-changed",{bubbles:true,detail:{value:this.value,selected:this.selected,indeterminate:this.indeterminate}});this.el.dispatchEvent(t)}selectAllChildren(t){const e=Array.from(this.el.children).filter((t=>t.tagName==="IFX-MULTISELECT-OPTION"));e.forEach((e=>{var i;const s=e["__stencil_instance"];if(s){s.selected=t;s.indeterminate=false;if(s.hasChildren){s.isExpanded=t;s.selectAllChildren(t)}(i=s.notifyMultiselect)===null||i===void 0?void 0:i.call(s)}}))}expandAllChildren(t){const e=Array.from(this.el.children).filter((t=>t.tagName==="IFX-MULTISELECT-OPTION"));e.forEach((e=>{const i=e["__stencil_instance"];if(i&&i.hasChildren){i.isExpanded=t;i.expandAllChildren(t)}}))}updateParentStates(){var t;let e=this.el.parentElement;while(e&&e.tagName==="IFX-MULTISELECT-OPTION"){const i=e["__stencil_instance"];if(!i){e=e.parentElement;continue}const s=Array.from(e.children).filter((t=>t.tagName==="IFX-MULTISELECT-OPTION")).map((t=>t["__stencil_instance"])).filter((t=>t!==null));const o=s.filter((t=>t.selected)).length;const n=s.filter((t=>t.indeterminate)).length;const l=s.length;if(o===l&&n===0){i.selected=true;i.indeterminate=false}else if(o===0&&n===0){i.selected=false;i.indeterminate=false}else{i.selected=false;i.indeterminate=true}(t=i.notifyMultiselect)===null||t===void 0?void 0:t.call(i);e=e.parentElement}}toggleExpansion(){this.isExpanded=!this.isExpanded}hasAnySelectedChildren(){const t=Array.from(this.el.children).filter((t=>t.tagName==="IFX-MULTISELECT-OPTION"));return t.some((t=>{const e=t.hasAttribute("selected");const i=this.checkForSelectedDescendants(t);return e||i}))}checkForSelectedDescendants(t){const e=Array.from(t.children).filter((t=>t.tagName==="IFX-MULTISELECT-OPTION"));return e.some((t=>{const e=t.hasAttribute("selected");const i=this.checkForSelectedDescendants(t);return e||i}))}render(){let t=false;const e=this.el.closest("ifx-multiselect");if(e){const i=Array.from(e.querySelectorAll("ifx-multiselect-option"));t=i.every((t=>t.children.length===0))}const s=this.depth*28+16;const n=this.hasChildren?0:28;let l=s+n;const r=t?undefined:{paddingLeft:`${l}px`};return i(o,{key:"f836f58884e2e57c4c5fb4953f10d5ff4a34c8da"},i("div",{key:"9eca6e87bb3c21512a051596b1e92931b707e88f",class:{option:true,"option--has-children":this.hasChildren,"option--expanded":this.isExpanded,"option--disabled":this.disabled,"option--selected":this.selected},role:"option","aria-expanded":this.hasChildren?this.isExpanded?"true":"false":undefined,"aria-selected":this.selected?"true":"false","aria-disabled":this.disabled?"true":"false","data-level":this.depth,"data-value":this.value},i("div",{key:"41d24ef38470f5f7f8aa36daa33b339b7d8079f3",class:"option-item",style:r},i("div",{key:"27d33336e7d15ccce1703429b70494fe86808214",class:"chevron-wrapper",tabIndex:this.hasChildren?0:-1,role:this.hasChildren?"button":undefined,"aria-label":this.hasChildren?this.isExpanded?"Collapse":"Expand":undefined,onClick:t=>{t.stopPropagation();this.toggleExpansion()},onKeyDown:t=>{if(t.key==="Enter"||t.key===" "){t.preventDefault();t.stopPropagation();this.toggleExpansion()}}},this.hasChildren&&i("ifx-icon",{key:"68e975b49b4aa9edf564b80644c5a55809185629",class:`chevron ${this.isExpanded?"chevron--expanded":"chevron--collapsed"}`,icon:"chevron-right-16"})),i("div",{key:"f651aefe4cc30db6056331ffaafd8e6ea17039fc",class:"checkbox-wrapper",onClick:t=>t.stopPropagation()},i("ifx-checkbox",{key:"e8cb2c7a75921a81e0321ff22718d9373cb6f437",size:"s",checked:this.isSearchActive&&this.isSearchDisabled?false:this.indeterminate?false:this.selected,indeterminate:this.isSearchActive&&this.isSearchDisabled?false:this.indeterminate,onClick:this.handleCheckboxClick,disabled:this.disabled||this.isSearchActive&&this.isSearchDisabled,onKeyDown:t=>{if(t.key==="Enter"||t.key===" "){t.preventDefault();t.stopPropagation();this.handleCheckboxClick(t)}}})),i("div",{key:"4f626380753927d4bedca0f78643e6647eff6356",class:"option-label",onClick:this.handleHeaderClick,tabIndex:-1},i("slot",{key:"8207d9f952bff231fda0bf0be43e1c567aa6a6da"}))),this.isExpanded&&i("div",{key:"930d611f27451ff393d1403386bb6cd6b4a54980",class:"option-children"},i("slot",{key:"269eb6381257f82b74b888188646559e6881a9d9",name:"children"}))))}get el(){return s(this)}};u.style=p;export{f as ifx_multiselect,u as ifx_multiselect_option};
2
- //# sourceMappingURL=p-b51937f3.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["multiselectCss","IfxMultiselectStyle0","debounce","func","wait","timeout","executedFunction","args","later","clearTimeout","setTimeout","Multiselect","constructor","hostRef","this","disabled","error","errorMessage","label","placeholder","showSearch","showSelectAll","showClearButton","showExpandCollapse","noResultsMessage","showNoResultsMessage","searchPlaceholder","selectAllLabel","expandLabel","collapseLabel","ariaMultiSelectLabel","ariaMultiSelectLabelledBy","ariaMultiSelectDescribedBy","ariaSearchLabel","ariaClearLabel","ariaToggleLabel","ariaSelectAllLabel","ariaExpandAllLabel","ariaCollapseAllLabel","internalError","persistentSelectedOptions","dropdownOpen","searchTerm","handleSearch","targetElement","value","toLowerCase","isSearchActive","wrapper","el","shadowRoot","querySelector","classList","remove","searchField","searchFieldHasFocus","matches","add","optionsContainer","requestAnimationFrame","allOptions","querySelectorAll","forEach","option","searchEvent","CustomEvent","detail","isActive","dispatchEvent","visibleCount","style","window","getComputedStyle","rect","getBoundingClientRect","display","visibility","opacity","height","pendingSelectionUpdate","handleDocumentClick","event","path","composedPath","includes","dropdownElement","document","removeEventListener","resetSearch","ifxOpen","emit","parseChildOptions","options","childElements","Array","from","children","child","index","tagName","parseOptionElement","push","element","getAttribute","selected","hasAttribute","indeterminate","nestedOptions","filter","map","childIndex","opt","length","loadInitialOptions","internalErrorMessage","initiallySelected","collectSelectedOptions","initiallySelectedNotInState","init","some","selectedOptions","concat","collectLeafOptions","existingOption","leafOptions","handleSearchFocus","hasFocus","positionDropdown","wrapperRect","_a","spaceBelow","innerHeight","bottom","spaceAbove","top","dropdownFlipped","updateSlotBasedSelections","emitEvent","allOptionElements","selectedLeafOptions","optionEl","instance","hasChildren","ifxSelect","updateInitialParentStates","optionsByDepth","depth","parseInt","item","sort","a","b","updateParentState","parentInstance","directChildren","selectedCount","indeterminateCount","totalCount","componentDidLoad","addEventListener","componentWillLoad","isNestedInIfxComponent","framework","detectFramework","trackComponent","updateInternalError","updateInternalErrorMessage","onSelectionChange","newValue","_","formData","FormData","append","name","internals","setFormValue","collapseAll","isExpanded","expandAll","selectAll","clearSelection","toggleDropdown","handleWrapperClick","currentTarget","target","handleKeyDown","code","preventDefault","closest","focusFirstOption","firstOption","labelElement","focus","renderSelectAll","allSelected","toggleSelectAll","stopPropagation","h","class","id","checked","size","onClick","onKeyDown","e","key","renderNoResultsMessage","render","selectedOptionsLabels","optionElement","textContent","trim","join","hasSelections","isFlatMultiselect","every","ref","role","undefined","tabindex","onIfxInput","onFocus","onBlur","tabIndex","icon","multiselectOptionCss","IfxMultiselectOptionStyle0","MultiselectOption","isSearchDisabled","handleSearchFilter","updateSearchClasses","handleCheckboxClick","newSelectedState","selectAllChildren","expandAllChildren","updateParentStates","notifyMultiselect","handleHeaderClick","handleClick","calculateDepth","setAttribute","toString","hasSelectedChildren","hasAnySelectedChildren","disconnectedCallback","optionDiv","removeHighlighting","getTextContent","matchesSearch","hasMatchingParent","hasMatchingChildren","highlightSearchTerm","slotElement","originalText","searchTermLower","originalTextLower","searchIndex","indexOf","beforeMatch","substring","matchText","afterMatch","highlightedContent","createElement","className","appendChild","createTextNode","boldElement","highlightedElement","removeChild","removeAttribute","text","childNodes","node","nodeType","Node","TEXT_NODE","childOptions","childInstance","childText","childMatches","grandChildrenMatch","parent","parentElement","parentText","type","toggleExpansion","updateEvent","bubbles","call","expanded","siblings","sibling","hasSelected","hasSelectedDescendants","checkForSelectedDescendants","nestedChild","isSelected","hasSelectedNested","parentMultiselect","basePadding","additionalPadding","totalPadding","optionItemStyle","paddingLeft","Host"],"sources":["src/components/select/multi-select/multiselect.scss?tag=ifx-multiselect&encapsulation=shadow","src/components/select/multi-select/multiselect.tsx","src/components/select/multi-select/multiselect-option.scss?tag=ifx-multiselect-option&encapsulation=shadow","src/components/select/multi-select/multiselect-option.tsx"],"sourcesContent":["// @import '~choices.js/public/assets/styles/choices.css';\n@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../../global/font.scss\";\n\n.ifx-multiselect-container {\n position: relative;\n box-sizing: border-box;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n &:hover {\n cursor: pointer;\n }\n\n .ifx-label-wrapper {\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: anywhere;\n max-width: 100%;\n }\n\n .ifx-error-message-wrapper {\n color: #CD002F;\n font-size: tokens.$ifxFontSizeXs;\n line-height: tokens.$ifxLineHeightXs;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: anywhere;\n max-width: 100%;\n }\n\n .ifx-multiselect-wrapper {\n background-color: tokens.$ifxColorBaseWhite;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n border: 1px solid tokens.$ifxColorEngineering400;\n border-radius: tokens.$ifxBorderRadius12;\n width: 100%;\n font-weight: 400;\n font-style: normal;\n height: 40px;\n line-height: 24px;\n padding: 8px 16px;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n\n &:focus-visible {\n outline: none;\n }\n\n &:focus-visible:not(.active):not(:active) {\n outline: none;\n\n &::before {\n content: '';\n position: absolute;\n width: calc(100% + 4px);\n height: calc(100% + 4px);\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n border: 2px solid tokens.$ifxColorOcean500;\n border-radius: 2px;\n\n }\n }\n\n &.disabled {\n background: tokens.$ifxColorEngineering200;\n color: #575352;\n border-color: #575352;\n cursor: default;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n }\n\n &.error {\n border-color: #CD002F;\n }\n\n &:hover:not(.focus, :focus) {\n border-color: tokens.$ifxColorEngineering500;\n }\n\n &.active {\n border-color: tokens.$ifxColorOcean500 !important; // Active border color\n\n & .icon-wrapper-up {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: tokens.$ifxSpace100;\n }\n\n & .icon-wrapper-down {\n display: none\n }\n }\n\n\n & .icon-wrapper-up {\n display: none;\n }\n\n & .icon-wrapper-down {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: tokens.$ifxSpace100;\n }\n\n &.is-flipped {\n .ifx-multiselect-dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n }\n }\n\n .ifx-multiselect-input {\n flex-grow: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &.placeholder {\n opacity: 0.5;\n }\n\n }\n\n\n .ifx-multiselect-icon-container {\n margin-left: auto;\n display: flex;\n align-items: center;\n gap: tokens.$ifxSpace100;\n\n .ifx-multiselect-icon-container {\n display: flex;\n }\n\n .icon-wrapper {\n display: flex;\n align-items: center;\n transition: transform 0.2s ease-in-out;\n }\n\n .icon-wrapper--open {\n transform: rotate(180deg);\n }\n }\n\n .ifx-clear-button {\n display: flex;\n align-items: center;\n\n &.hide {\n display: none;\n }\n }\n\n .ifx-multiselect-dropdown-menu {\n box-sizing: border-box;\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n margin-top: tokens.$ifxSpace50;\n border: 1px solid tokens.$ifxColorEngineering200;\n background-color: #fff;\n box-shadow: 0px 6px 9px 0px rgba(29, 29, 29, 0.10);\n max-height: 300px;\n z-index: 1000;\n display: flex;\n flex-direction: column;\n }\n}\n\n.ifx-multiselect-dropdown-functions {\n padding: tokens.$ifxSpace150 tokens.$ifxSpace200;\n border-bottom: 1px solid tokens.$ifxColorEngineering200;\n flex-shrink: 0;\n}\n\n.ifx-multiselect-dropdown-search {\n margin-bottom: tokens.$ifxSpace150;\n}\n\n.ifx-multiselect-dropdown-controls {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n gap: tokens.$ifxSpace100;\n\n .select-all-wrapper {\n display: flex;\n }\n\n .expand-collapse-controls {\n display: flex;\n gap: tokens.$ifxSpace150;\n }\n\n .control-item {\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n\n &:hover {\n color: tokens.$ifxColorOcean500;\n }\n\n &:active {\n color: tokens.$ifxColorOcean600;\n }\n\n &:focus {\n outline: none;\n }\n\n &:focus-visible {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n border-radius: tokens.$ifxBorderRadius12;\n }\n }\n}\n\n.ifx-multiselect-options {\n flex: 1;\n overflow-y: auto;\n padding-top: tokens.$ifxSpace150;\n padding-bottom: tokens.$ifxSpace150;\n\n &.show-no-results {\n .ifx-multiselect-no-results {\n display: block;\n }\n }\n}\n\n.ifx-multiselect-no-results {\n padding-left: tokens.$ifxSpace200;\n padding-right: tokens.$ifxSpace200;\n display: none;\n}\n\n","import { Component, Prop, State, Event, EventEmitter, Element, h, Watch, AttachInternals, Method } from '@stencil/core';\nimport { trackComponent } from '../../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../../global/utils/dom-utils';\nimport { detectFramework } from '../../../global/utils/framework-detection';\nimport { Option } from './interfaces';\n\nfunction debounce(func, wait) {\n let timeout;\n return function executedFunction(...args) {\n const later = () => {\n clearTimeout(timeout);\n func(...args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n };\n}\n\n@Component({\n tag: 'ifx-multiselect',\n styleUrl: 'multiselect.scss',\n shadow: true,\n formAssociated: true\n})\n\nexport class Multiselect {\n @Prop() name: string;\n @Prop() disabled: boolean = false;\n @Prop() error: boolean = false;\n @Prop() errorMessage: string = \"Error\";\n @Prop() label: string = \"\";\n @Prop() placeholder: string = \"\";\n @Prop() showSearch: boolean = true;\n @Prop() showSelectAll: boolean = true;\n @Prop() showClearButton: boolean = true;\n @Prop() showExpandCollapse: boolean = true;\n @Prop() noResultsMessage: string = \"No results found.\";\n @Prop() showNoResultsMessage: boolean = true;\n @Prop() searchPlaceholder: string = \"Search\";\n @Prop() selectAllLabel: string = \"Select all\";\n @Prop() expandLabel: string = \"Expand\";\n @Prop() collapseLabel: string = \"Collapse\";\n @Prop() ariaMultiSelectLabel: string = \"Multi-select dropdown\";\n @Prop() ariaMultiSelectLabelledBy: string = \"\";\n @Prop() ariaMultiSelectDescribedBy: string = \"\";\n @Prop() ariaSearchLabel: string = \"Search options\";\n @Prop() ariaClearLabel: string = \"Clear all selections\";\n @Prop() ariaToggleLabel: string = \"Toggle dropdown\";\n @Prop() ariaSelectAllLabel: string = \"Select all options\";\n @Prop() ariaExpandAllLabel: string = \"Expand all categories\";\n @Prop() ariaCollapseAllLabel: string = \"Collapse all categories\";\n\n @State() internalError: boolean = false;\n @State() internalErrorMessage: string;\n @State() persistentSelectedOptions: Option[] = [];\n @State() dropdownOpen = false;\n @State() dropdownFlipped: boolean;\n @State() searchTerm: string = '';\n\n @Event() ifxSelect: EventEmitter;\n @Event() ifxOpen: EventEmitter;\n\n @Element() el: HTMLElement;\n dropdownElement!: HTMLElement;\n\n @AttachInternals() internals: ElementInternals;\n private parseChildOptions(): Option[] {\n const options: Option[] = [];\n const childElements = Array.from(this.el.children);\n\n childElements.forEach((child, index) => {\n if (child.tagName === 'IFX-MULTISELECT-OPTION') {\n const option = this.parseOptionElement(child as HTMLElement, index);\n if (option) {\n options.push(option);\n }\n }\n });\n\n return options;\n }\n\n private parseOptionElement(element: HTMLElement, index: number): Option | null {\n const value = element.getAttribute('value') || `option-${index}`;\n const selected = element.hasAttribute('selected');\n const disabled = element.hasAttribute('disabled');\n const indeterminate = element.hasAttribute('indeterminate');\n\n const option: Option = {\n value,\n selected,\n disabled,\n indeterminate\n };\n\n const nestedOptions = Array.from(element.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION')\n .map((child, childIndex) => this.parseOptionElement(child as HTMLElement, childIndex))\n .filter(opt => opt !== null) as Option[];\n\n if (nestedOptions.length > 0) {\n option.children = nestedOptions;\n }\n\n return option;\n }\n\n loadInitialOptions() {\n this.internalError = this.error;\n this.internalErrorMessage = this.errorMessage;\n\n const allOptions = this.parseChildOptions();\n const initiallySelected = this.collectSelectedOptions(allOptions);\n const initiallySelectedNotInState = initiallySelected.filter(init =>\n !this.persistentSelectedOptions.some(opt => opt.value == init.value)\n );\n this.persistentSelectedOptions = [...this.persistentSelectedOptions, ...initiallySelectedNotInState];\n }\n\n private collectSelectedOptions(options: Option[]): Option[] {\n let selectedOptions: Option[] = [];\n\n for (const option of options) {\n if (option.selected) {\n if (option.children && option.children.length > 0) {\n selectedOptions = selectedOptions.concat(this.collectLeafOptions(option.children));\n } else {\n if (!selectedOptions.some(existingOption => existingOption.value === option.value)) {\n selectedOptions.push(option);\n }\n }\n } else {\n if (option.children && option.children.length > 0) {\n selectedOptions = selectedOptions.concat(this.collectSelectedOptions(option.children));\n }\n }\n }\n\n return selectedOptions;\n }\n\n private collectLeafOptions(children: Option[]): Option[] {\n let leafOptions = [];\n\n for (const child of children) {\n if (child.children && child.children.length > 0) {\n leafOptions = leafOptions.concat(this.collectLeafOptions(child.children));\n } else {\n leafOptions.push(child);\n }\n }\n return leafOptions;\n }\n\n handleSearch = debounce((targetElement: HTMLInputElement) => {\n const searchTerm = targetElement.value.toLowerCase();\n const isSearchActive = searchTerm !== '';\n\n this.searchTerm = searchTerm;\n\n const wrapper = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper');\n if (wrapper) {\n if (isSearchActive) {\n wrapper.classList.remove('active');\n } else {\n const searchField = this.el.shadowRoot.querySelector('ifx-search-field');\n const searchFieldHasFocus = searchField && searchField.matches(':focus-within');\n if (!searchFieldHasFocus) {\n wrapper.classList.add('active');\n }\n }\n }\n\n const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');\n if (optionsContainer) {\n if (isSearchActive) {\n optionsContainer.classList.add('has-search-filter');\n } else {\n optionsContainer.classList.remove('has-search-filter');\n }\n }\n\n requestAnimationFrame(() => {\n const allOptions = this.el.querySelectorAll('ifx-multiselect-option');\n allOptions.forEach(option => {\n const searchEvent = new CustomEvent('ifx-search-filter', {\n detail: { searchTerm, isActive: isSearchActive }\n });\n option.dispatchEvent(searchEvent);\n });\n\n if (isSearchActive) {\n setTimeout(() => {\n const allOptions = this.el.querySelectorAll('ifx-multiselect-option');\n let visibleCount = 0;\n\n allOptions.forEach(option => {\n const style = window.getComputedStyle(option);\n const rect = option.getBoundingClientRect();\n\n if (style.display !== 'none' &&\n style.visibility !== 'hidden' &&\n style.opacity !== '0' &&\n rect.height > 0) {\n visibleCount++;\n }\n });\n\n const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');\n if (optionsContainer) {\n if (visibleCount === 0) {\n optionsContainer.classList.add('show-no-results');\n } else {\n optionsContainer.classList.remove('show-no-results');\n }\n }\n }, 200);\n } else {\n const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');\n if (optionsContainer) {\n optionsContainer.classList.remove('show-no-results');\n }\n }\n });\n }, 150);\n\n private handleSearchFocus(hasFocus: boolean) {\n const wrapper = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper');\n if (wrapper) {\n if (hasFocus || this.searchTerm !== '') {\n wrapper.classList.remove('active');\n } else {\n wrapper.classList.add('active');\n }\n }\n }\n\n positionDropdown() {\n const wrapperRect = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper')?.getBoundingClientRect();\n const spaceBelow = window.innerHeight - wrapperRect.bottom;\n const spaceAbove = wrapperRect.top;\n\n if ((spaceAbove > spaceBelow && wrapperRect.height > spaceBelow) || (wrapperRect.bottom > window.innerHeight)) {\n this.dropdownFlipped = true;\n } else {\n this.dropdownFlipped = false;\n }\n }\n\n private pendingSelectionUpdate = false;\n public updateSlotBasedSelections(emitEvent: boolean = false) {\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n const selectedLeafOptions: Option[] = [];\n\n allOptionElements.forEach((optionEl: any) => {\n const instance = optionEl['__stencil_instance'];\n if (instance && instance.selected && !instance.hasChildren) {\n selectedLeafOptions.push({\n value: instance.value,\n selected: true,\n disabled: instance.disabled\n });\n }\n });\n\n this.persistentSelectedOptions = selectedLeafOptions;\n\n if (emitEvent) {\n this.ifxSelect.emit(this.persistentSelectedOptions);\n }\n }\n\n private updateInitialParentStates() {\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n const optionsByDepth = Array.from(allOptionElements)\n .map(el => ({\n element: el,\n instance: (el as any)['__stencil_instance'],\n depth: parseInt(el.getAttribute('data-level') || '0')\n }))\n .filter(item => item.instance)\n .sort((a, b) => b.depth - a.depth);\n\n optionsByDepth.forEach(({ instance }) => {\n if (instance.hasChildren) {\n this.updateParentState(instance);\n }\n });\n }\n\n private updateParentState(parentInstance: any) {\n const directChildren = Array.from(parentInstance.el.children as HTMLCollection)\n .filter((child: Element) => child.tagName === 'IFX-MULTISELECT-OPTION')\n .map(child => (child as any)['__stencil_instance'])\n .filter(instance => instance !== null);\n\n const selectedCount = directChildren.filter(child => child.selected).length;\n const indeterminateCount = directChildren.filter(child => child.indeterminate).length;\n const totalCount = directChildren.length;\n\n if (selectedCount === totalCount && indeterminateCount === 0) {\n parentInstance.selected = true;\n parentInstance.indeterminate = false;\n } else if (selectedCount === 0 && indeterminateCount === 0) {\n parentInstance.selected = false;\n parentInstance.indeterminate = false;\n } else {\n parentInstance.selected = false;\n parentInstance.indeterminate = true;\n }\n }\n\n componentDidLoad() {\n setTimeout(() => {\n this.positionDropdown();\n }, 500);\n\n this.el.addEventListener('ifx-option-changed', () => {\n if (!this.pendingSelectionUpdate) {\n this.pendingSelectionUpdate = true;\n requestAnimationFrame(() => {\n this.updateSlotBasedSelections(true);\n setTimeout(() => {\n this.pendingSelectionUpdate = false;\n }, 0);\n });\n }\n });\n\n setTimeout(() => {\n this.updateSlotBasedSelections(false);\n this.updateInitialParentStates();\n }, 100);\n }\n\n componentWillLoad() {\n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-multiselect', framework)\n }\n this.loadInitialOptions();\n }\n\n @Watch('error')\n updateInternalError() {\n this.internalError = this.error;\n }\n\n @Watch('errorMessage')\n updateInternalErrorMessage() {\n this.internalErrorMessage = this.errorMessage;\n }\n\n @Watch('persistentSelectedOptions')\n onSelectionChange(newValue: Option[], _: Option[]) {\n const formData = new FormData();\n newValue.forEach(option => formData.append(this.name, option.value));\n this.internals.setFormValue(formData);\n }\n collapseAll() {\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n allOptionElements.forEach((optionEl: any) => {\n const instance = optionEl['__stencil_instance'];\n if (instance && instance.hasChildren) {\n instance.isExpanded = false;\n }\n });\n }\n\n expandAll() {\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n allOptionElements.forEach((optionEl: any) => {\n const instance = optionEl['__stencil_instance'];\n if (instance && instance.hasChildren) {\n instance.isExpanded = true;\n }\n });\n }\n\n selectAll() {\n this.resetSearch();\n\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n\n allOptionElements.forEach((optionEl: any) => {\n const instance = optionEl['__stencil_instance'];\n if (instance) {\n if (instance.hasChildren) {\n instance.isExpanded = true;\n } else {\n instance.selected = true;\n }\n }\n });\n\n setTimeout(() => {\n this.updateInitialParentStates();\n this.updateSlotBasedSelections(false);\n this.ifxSelect.emit(this.persistentSelectedOptions);\n }, 0);\n }\n\n @Method()\n async clearSelection() {\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n allOptionElements.forEach((optionEl: any) => {\n const instance = optionEl['__stencil_instance'];\n if (instance) {\n instance.selected = false;\n instance.indeterminate = false;\n if (instance.hasChildren) {\n instance.isExpanded = false;\n }\n }\n });\n\n this.persistentSelectedOptions = [];\n\n setTimeout(() => {\n this.updateSlotBasedSelections(false);\n this.ifxSelect.emit(this.persistentSelectedOptions);\n }, 0);\n }\n\n handleDocumentClick = (event: Event) => {\n const path = event.composedPath();\n if (!path.includes(this.dropdownElement)) {\n this.dropdownOpen = false;\n document.removeEventListener('click', this.handleDocumentClick);\n this.resetSearch();\n this.ifxOpen.emit(this.dropdownOpen);\n }\n }\n\n toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n setTimeout(() => {\n if (this.dropdownOpen) {\n document.addEventListener('click', this.handleDocumentClick);\n } else {\n this.resetSearch();\n }\n this.ifxOpen.emit(this.dropdownOpen);\n }, 0);\n }\n\n private resetSearch() {\n this.searchTerm = '';\n\n const searchField = this.el.shadowRoot.querySelector('ifx-search-field') as any;\n if (searchField) {\n searchField.value = '';\n }\n\n const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');\n if (optionsContainer) {\n optionsContainer.classList.remove('has-search-filter');\n }\n\n const allOptions = this.el.querySelectorAll('ifx-multiselect-option');\n allOptions.forEach(option => {\n const searchEvent = new CustomEvent('ifx-search-filter', {\n detail: { searchTerm: '', isActive: false }\n });\n option.dispatchEvent(searchEvent);\n });\n }\n\n handleWrapperClick(event: MouseEvent) {\n this.positionDropdown();\n\n if (event.currentTarget === event.target) {\n this.toggleDropdown();\n }\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) return;\n\n // If dropdown is closed, only allow opening\n if (!this.dropdownOpen) {\n switch (event.code) {\n case 'Enter':\n case 'Space':\n case 'ArrowDown':\n event.preventDefault();\n this.toggleDropdown();\n break;\n }\n return;\n }\n\n // Dropdown is open - handle navigation and controls\n switch (event.code) {\n case 'Escape':\n event.preventDefault();\n this.toggleDropdown();\n break;\n case 'Enter':\n case 'Space':\n // Don't close dropdown when pressing space/enter in controls area\n const target = event.target as HTMLElement;\n if (!target.closest('.ifx-multiselect-dropdown-functions')) {\n event.preventDefault();\n this.toggleDropdown();\n }\n break;\n case 'ArrowDown':\n case 'ArrowUp':\n // Focus first/last option for navigation\n event.preventDefault();\n this.focusFirstOption();\n break;\n }\n }\n\n private focusFirstOption() {\n const firstOption = this.el.querySelector('ifx-multiselect-option:not(.search-hidden)');\n if (firstOption) {\n const labelElement = firstOption.shadowRoot?.querySelector('.option-label') as HTMLElement;\n labelElement?.focus();\n }\n }\n\n private renderSelectAll() {\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n const leafOptions = Array.from(allOptionElements).filter((el: any) => !el.hasChildren);\n const selectedLeafOptions = Array.from(allOptionElements).filter((el: any) => !el.hasChildren && el.selected);\n\n const allSelected = leafOptions.length > 0 && selectedLeafOptions.length === leafOptions.length;\n\n const toggleSelectAll = (event?: Event) => {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (allSelected) {\n this.clearSelection();\n } else {\n this.selectAll();\n }\n };\n\n return (\n <div class=\"select-all-wrapper\">\n <ifx-checkbox\n id='selectAll'\n checked={allSelected}\n size=\"s\"\n aria-label={this.ariaSelectAllLabel}\n onClick={toggleSelectAll}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n toggleSelectAll(e);\n }\n }}\n >\n {this.selectAllLabel}\n </ifx-checkbox>\n </div>\n );\n }\n\n private renderNoResultsMessage() {\n return (\n <div class=\"ifx-multiselect-no-results\">\n <div class=\"no-results-content\">\n <span class=\"no-results-text\">{this.noResultsMessage}</span>\n </div>\n </div>\n );\n }\n\n render() {\n const selectedOptionsLabels = this.persistentSelectedOptions\n .map((option) => {\n const optionElement = this.el.querySelector(`ifx-multiselect-option[value=\"${option.value}\"]`);\n return optionElement?.textContent?.trim() || option.value;\n })\n .join(', ');\n\n const hasSelections = this.persistentSelectedOptions.length > 0;\n\n let isFlatMultiselect = false;\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n if (allOptionElements.length > 0) {\n isFlatMultiselect = Array.from(allOptionElements).every(option => option.children.length === 0);\n }\n\n return (\n <div class={`ifx-multiselect-container`} ref={el => this.dropdownElement = el as HTMLElement}>\n {\n this.label ?\n <div class=\"ifx-label-wrapper\">\n <span>{this.label}</span>\n </div> : null\n }\n <div class={`ifx-multiselect-wrapper\n ${this.dropdownOpen ? 'active' : ''}\n ${this.dropdownFlipped ? 'is-flipped' : ''}\n ${this.internalError ? 'error' : \"\"}\n ${this.disabled ? 'disabled' : \"\"}`}\n role=\"combobox\"\n aria-label={this.ariaMultiSelectLabel}\n aria-labelledby={this.ariaMultiSelectLabelledBy || undefined}\n aria-describedby={this.ariaMultiSelectDescribedBy || undefined}\n aria-expanded={this.dropdownOpen}\n aria-haspopup=\"listbox\"\n aria-disabled={this.disabled}\n tabindex=\"0\"\n onClick={this.disabled ? undefined : (event) => this.handleWrapperClick(event)}\n onKeyDown={this.disabled ? undefined : (event) => this.handleKeyDown(event)} >\n <div class={`ifx-multiselect-input\n ${hasSelections ? '' : 'placeholder'}\n `}\n onClick={this.disabled ? undefined : () => this.toggleDropdown()}\n >\n {hasSelections ? selectedOptionsLabels : this.placeholder}\n </div>\n {this.dropdownOpen && (\n <div class=\"ifx-multiselect-dropdown-menu\">\n\n {(this.showSearch || this.showSelectAll || (this.showExpandCollapse && !isFlatMultiselect)) && (\n <div class=\"ifx-multiselect-dropdown-functions\" onClick={(e) => e.stopPropagation()}>\n {this.showSearch && (\n <div class=\"ifx-multiselect-dropdown-search\">\n <ifx-search-field\n class=\"search-input\"\n placeholder={this.searchPlaceholder}\n size=\"s\"\n show-delete-icon=\"true\"\n aria-label={this.ariaSearchLabel}\n onKeyDown={(e) => { e.stopPropagation() }}\n onIfxInput={(event) => this.handleSearch(event.target)}\n onFocus={() => this.handleSearchFocus(true)}\n onBlur={() => this.handleSearchFocus(false)}\n ></ifx-search-field>\n </div>\n )}\n\n <div class=\"ifx-multiselect-dropdown-controls\">\n {this.showSelectAll && this.renderSelectAll()}\n {this.showExpandCollapse && !isFlatMultiselect && (\n <div class=\"expand-collapse-controls\">\n <span\n class=\"control-item\"\n role=\"button\"\n tabIndex={0}\n aria-label={this.ariaExpandAllLabel}\n onClick={(e) => { e.stopPropagation(); this.expandAll(); }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n this.expandAll();\n }\n }}\n >\n {this.expandLabel}\n </span>\n <span\n class=\"control-item\"\n role=\"button\"\n tabIndex={0}\n aria-label={this.ariaCollapseAllLabel}\n onClick={(e) => { e.stopPropagation(); this.collapseAll(); }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n this.collapseAll();\n }\n }}\n >\n {this.collapseLabel}\n </span>\n </div>\n )}\n </div>\n </div>\n )}\n\n <div class=\"ifx-multiselect-options\" role=\"listbox\" aria-multiselectable=\"true\">\n <slot />\n {this.searchTerm && this.showNoResultsMessage && this.renderNoResultsMessage()}\n </div>\n </div>\n )}\n <div class='ifx-multiselect-icon-container'>\n\n {/* Clear Button - will show only if there's a selection */}\n {this.persistentSelectedOptions.length > 0 && (\n <div class={`ifx-clear-button ${!this.showClearButton ? 'hide' : ''}`} onClick={this.disabled ? undefined : () => this.clearSelection()}>\n <ifx-icon icon=\"cRemove16\"></ifx-icon>\n </div>\n )}\n <div class=\"icon-wrapper-up\" onClick={this.disabled ? undefined : () => this.toggleDropdown()}>\n <ifx-icon\n key='icon-up'\n icon='chevron-up-16'></ifx-icon>\n </div>\n <div class=\"icon-wrapper-down\" onClick={this.disabled ? undefined : () => this.toggleDropdown()}>\n <ifx-icon\n key='icon-down'\n icon='chevron-down-16'></ifx-icon>\n </div>\n </div>\n\n </div>\n {\n this.internalError ?\n <div class=\"ifx-error-message-wrapper\">\n <span>{this.internalErrorMessage}</span>\n </div> : null\n }\n </div>\n );\n }\n}\n","@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n:host {\n display: block;\n width: 100%;\n}\n\n.option {\n display: flex;\n flex-direction: column;\n position: relative;\n cursor: pointer;\n list-style: none;\n\n &.option--expanded {\n position: relative;\n }\n\n &.option--has-children {\n position: relative;\n\n .option-item > .chevron-wrapper {\n display: flex;\n }\n }\n\n &--disabled {\n cursor: not-allowed;\n pointer-events: none;\n color: tokens.$ifxColorEngineering300;\n }\n\n &--selected {\n // Additional styles for selected state if needed\n // .option-item {\n // background: red;\n // }\n }\n\n &.search-hidden {\n display: none !important;\n }\n\n &.search-match {\n .option-item {\n .option-label {\n .search-highlight {\n font-weight: bold;\n // color: tokens.$ifxColorOcean400;\n }\n }\n }\n }\n}\n\n.option-item {\n display: flex;\n flex-direction: row;\n align-items: center;\n white-space: nowrap;\n min-height: tokens.$ifxSize250;\n padding: tokens.$ifxSize50 tokens.$ifxSpace200;\n background-color: tokens.$ifxColorBaseWhite;\n transition: background-color 0.2s ease-in-out;\n\n &:hover {\n background-color: tokens.$ifxColorEngineering100;\n }\n\n .option--disabled & {\n &:hover {\n background-color: transparent;\n }\n }\n}\n\n.option-children {\n display: block;\n}\n\n.chevron-wrapper {\n display: none;\n align-items: center;\n justify-content: center;\n margin-right: tokens.$ifxSpace100;\n width: tokens.$ifxSize250;\n height: tokens.$ifxSize250;\n flex-shrink: 0;\n\n &:focus {\n outline: none;\n }\n\n &:focus-visible {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n border-radius: tokens.$ifxBorderRadius12;\n }\n\n .option--has-children & {\n display: flex;\n }\n\n .chevron {\n transition: transform 0.2s ease-in-out;\n color: tokens.$ifxColorEngineering600;\n\n &.chevron--expanded {\n transform: rotate(90deg);\n }\n\n &.chevron--collapsed {\n transform: rotate(0deg);\n }\n }\n}\n\n.checkbox-wrapper {\n display: flex;\n align-items: center;\n margin-right: tokens.$ifxSpace100;\n flex-shrink: 0;\n}\n\n.option-label {\n flex-grow: 1;\n display: flex;\n align-items: center;\n cursor: pointer;\n padding: tokens.$ifxSpace25 0;\n font-size: tokens.$ifxFontSizeS;\n\n &:focus {\n outline: none;\n }\n\n &:focus-visible {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n border-radius: tokens.$ifxBorderRadius12;\n }\n\n .option--disabled & {\n cursor: not-allowed;\n color: tokens.$ifxColorEngineering300;\n }\n}\n","import { Component, Prop, Element, h, Host, State, Listen } from '@stencil/core';\n\n@Component({\n tag: 'ifx-multiselect-option',\n styleUrl: 'multiselect-option.scss',\n shadow: true,\n})\nexport class MultiselectOption {\n @Element() el: HTMLElement;\n\n @Prop() value: string;\n @Prop({ reflect: true, mutable: true }) selected: boolean = false;\n @Prop({ reflect: true, mutable: true }) disabled: boolean = false;\n @Prop({ reflect: true, mutable: true }) indeterminate: boolean = false;\n\n @State() private isExpanded: boolean = false;\n @State() private hasChildren: boolean = false;\n @State() private depth: number = 0;\n @State() private searchTerm: string = '';\n @State() private isSearchActive: boolean = false;\n @State() private isSearchDisabled: boolean = false;\n\n componentWillLoad() {\n this.hasChildren = this.el.children.length > 0;\n this.depth = this.calculateDepth();\n\n this.el.setAttribute('data-level', this.depth.toString());\n\n if (this.hasChildren) {\n const hasSelectedChildren = this.hasAnySelectedChildren();\n if (hasSelectedChildren) {\n this.isExpanded = true;\n }\n }\n }\n\n componentDidLoad() {\n (this.el as any)['__stencil_instance'] = this;\n this.notifyMultiselect();\n this.el.addEventListener('ifx-search-filter', this.handleSearchFilter);\n }\n\n disconnectedCallback() {\n this.el.removeEventListener('ifx-search-filter', this.handleSearchFilter);\n }\n\n private handleSearchFilter = (event: CustomEvent) => {\n const { searchTerm, isActive } = event.detail;\n this.searchTerm = searchTerm.toLowerCase();\n this.isSearchActive = isActive;\n\n requestAnimationFrame(() => {\n this.updateSearchClasses();\n });\n }\n\n private updateSearchClasses() {\n const optionDiv = this.el.shadowRoot?.querySelector('.option');\n if (!optionDiv) return;\n\n if (!this.isSearchActive) {\n optionDiv.classList.remove('search-hidden', 'search-parent', 'search-match');\n this.removeHighlighting();\n this.isSearchDisabled = false;\n return;\n }\n\n const textContent = this.getTextContent().toLowerCase();\n const matchesSearch = textContent.includes(this.searchTerm);\n const hasMatchingParent = this.hasMatchingParent();\n\n requestAnimationFrame(() => {\n const hasMatchingChildren = this.hasMatchingChildren();\n\n optionDiv.classList.remove('search-hidden', 'search-parent', 'search-match');\n this.isSearchDisabled = false;\n\n if (matchesSearch && !this.hasChildren) {\n optionDiv.classList.add('search-match');\n this.highlightSearchTerm();\n } else if (matchesSearch && this.hasChildren) {\n optionDiv.classList.add('search-match');\n this.highlightSearchTerm();\n this.isExpanded = true;\n } else if (!matchesSearch && this.hasChildren && hasMatchingChildren) {\n optionDiv.classList.add('search-parent');\n this.removeHighlighting();\n this.isExpanded = true;\n this.isSearchDisabled = true;\n } else if (hasMatchingParent) {\n optionDiv.classList.add('search-match');\n this.removeHighlighting();\n } else {\n optionDiv.classList.add('search-hidden');\n this.removeHighlighting();\n }\n });\n }\n\n private highlightSearchTerm() {\n if (!this.searchTerm) return;\n\n const labelElement = this.el.shadowRoot?.querySelector('.option-label');\n if (!labelElement) return;\n\n const slotElement = labelElement.querySelector('slot');\n if (!slotElement) return;\n\n this.removeHighlighting();\n\n const originalText = this.getTextContent();\n const searchTermLower = this.searchTerm.toLowerCase();\n const originalTextLower = originalText.toLowerCase();\n\n if (!originalTextLower.includes(searchTermLower)) return;\n\n const searchIndex = originalTextLower.indexOf(searchTermLower);\n\n if (searchIndex === -1) return;\n\n const beforeMatch = originalText.substring(0, searchIndex);\n const matchText = originalText.substring(searchIndex, searchIndex + searchTermLower.length);\n const afterMatch = originalText.substring(searchIndex + searchTermLower.length);\n\n const highlightedContent = document.createElement('span');\n highlightedContent.className = 'highlighted-text';\n\n if (beforeMatch) {\n highlightedContent.appendChild(document.createTextNode(beforeMatch));\n }\n\n const boldElement = document.createElement('strong');\n boldElement.className = 'search-highlight';\n boldElement.textContent = matchText;\n highlightedContent.appendChild(boldElement);\n\n if (afterMatch) {\n highlightedContent.appendChild(document.createTextNode(afterMatch));\n }\n\n labelElement.setAttribute('data-original-content', 'true');\n slotElement.style.display = 'none';\n labelElement.appendChild(highlightedContent);\n }\n\n private removeHighlighting() {\n const labelElement = this.el.shadowRoot?.querySelector('.option-label');\n if (!labelElement) return;\n\n const slotElement = labelElement.querySelector('slot');\n const highlightedElement = labelElement.querySelector('.highlighted-text');\n\n if (highlightedElement) {\n labelElement.removeChild(highlightedElement);\n }\n\n if (slotElement) {\n slotElement.style.display = '';\n }\n\n labelElement.removeAttribute('data-original-content');\n }\n\n private getTextContent(): string {\n let text = '';\n Array.from(this.el.childNodes).forEach(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent?.trim() || '';\n }\n });\n return text || this.value || '';\n }\n\n private hasMatchingChildren(): boolean {\n if (!this.hasChildren) return false;\n\n const childOptions = Array.from(this.el.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION') as HTMLElement[];\n\n return childOptions.some(child => {\n const childInstance = (child as any)['__stencil_instance'];\n if (!childInstance) return false;\n\n const childText = childInstance.getTextContent().toLowerCase();\n const childMatches = childText.includes(this.searchTerm);\n const grandChildrenMatch = childInstance.hasMatchingChildren();\n\n return childMatches || grandChildrenMatch;\n });\n }\n\n private hasMatchingParent(): boolean {\n let parent = this.el.parentElement;\n while (parent && parent.tagName === 'IFX-MULTISELECT-OPTION') {\n const parentInstance = (parent as any)['__stencil_instance'];\n if (parentInstance) {\n const parentText = parentInstance.getTextContent().toLowerCase();\n if (parentText.includes(this.searchTerm)) {\n return true;\n }\n }\n parent = parent.parentElement;\n }\n return false;\n }\n\n private calculateDepth(): number {\n let depth = 0;\n let parent = this.el.parentElement;\n while (parent && parent.tagName !== 'IFX-MULTISELECT') {\n if (parent.tagName === 'IFX-MULTISELECT-OPTION') {\n depth++;\n }\n parent = parent.parentElement;\n }\n return depth;\n }\n\n @Listen('click')\n handleClick(event: Event) {\n if (this.disabled || (this.isSearchActive && this.isSearchDisabled)) return;\n\n event.stopPropagation();\n\n if (event.type === 'click' && (event.target as HTMLElement).closest('.chevron-wrapper')) {\n this.toggleExpansion();\n return;\n }\n\n let newSelectedState: boolean;\n\n if (this.indeterminate) {\n newSelectedState = true;\n } else {\n newSelectedState = !this.selected;\n }\n\n this.selected = newSelectedState;\n this.indeterminate = false;\n\n if (this.hasChildren) {\n this.isExpanded = newSelectedState;\n\n requestAnimationFrame(() => {\n this.selectAllChildren(newSelectedState);\n this.expandAllChildren(newSelectedState);\n });\n }\n\n this.updateParentStates();\n this.notifyMultiselect();\n }\n\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n if (this.disabled || (this.isSearchActive && this.isSearchDisabled)) return;\n\n const target = event.target as HTMLElement;\n\n if (target.closest('.chevron-wrapper') || target.closest('.checkbox-wrapper')) {\n return;\n }\n\n if (event.key !== 'ArrowUp' && event.key !== 'ArrowDown') {\n event.stopPropagation();\n }\n\n if (event.key === 'ArrowRight' && this.hasChildren) {\n this.isExpanded = true;\n }\n\n if (event.key === 'ArrowLeft' && this.hasChildren) {\n this.isExpanded = false;\n }\n }\n\n private notifyMultiselect() {\n const updateEvent = new CustomEvent('ifx-option-changed', {\n bubbles: true,\n detail: {\n value: this.value,\n selected: this.selected,\n indeterminate: this.indeterminate\n }\n });\n this.el.dispatchEvent(updateEvent);\n }\n\n private selectAllChildren(selected: boolean) {\n const directChildren = Array.from(this.el.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION') as any[];\n\n directChildren.forEach((child: any) => {\n const childInstance = child['__stencil_instance'];\n if (childInstance) {\n childInstance.selected = selected;\n childInstance.indeterminate = false;\n\n if (childInstance.hasChildren) {\n childInstance.isExpanded = selected;\n childInstance.selectAllChildren(selected);\n }\n childInstance.notifyMultiselect?.();\n }\n });\n }\n\n private expandAllChildren(expanded: boolean) {\n const directChildren = Array.from(this.el.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION') as any[];\n\n directChildren.forEach((child: any) => {\n const childInstance = child['__stencil_instance'];\n if (childInstance && childInstance.hasChildren) {\n childInstance.isExpanded = expanded;\n childInstance.expandAllChildren(expanded);\n }\n });\n }\n\n private updateParentStates() {\n let parent = this.el.parentElement;\n while (parent && parent.tagName === 'IFX-MULTISELECT-OPTION') {\n const parentInstance = (parent as any)['__stencil_instance'];\n if (!parentInstance) {\n parent = parent.parentElement;\n continue;\n }\n\n const siblings = Array.from(parent.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION')\n .map(child => (child as any)['__stencil_instance'])\n .filter(instance => instance !== null);\n\n const selectedCount = siblings.filter(sibling => sibling.selected).length;\n const indeterminateCount = siblings.filter(sibling => sibling.indeterminate).length;\n const totalCount = siblings.length;\n\n if (selectedCount === totalCount && indeterminateCount === 0) {\n parentInstance.selected = true;\n parentInstance.indeterminate = false;\n } else if (selectedCount === 0 && indeterminateCount === 0) {\n parentInstance.selected = false;\n parentInstance.indeterminate = false;\n } else {\n parentInstance.selected = false;\n parentInstance.indeterminate = true;\n }\n\n parentInstance.notifyMultiselect?.();\n parent = parent.parentElement;\n }\n }\n\n private toggleExpansion() {\n this.isExpanded = !this.isExpanded;\n }\n\n private handleCheckboxClick = (event: Event) => {\n if (this.disabled || (this.isSearchActive && this.isSearchDisabled)) return;\n\n event.stopPropagation();\n\n let newSelectedState: boolean;\n\n if (this.indeterminate) {\n newSelectedState = true;\n } else {\n newSelectedState = !this.selected;\n }\n\n this.selected = newSelectedState;\n this.indeterminate = false;\n\n if (this.hasChildren) {\n this.isExpanded = newSelectedState;\n\n requestAnimationFrame(() => {\n this.selectAllChildren(newSelectedState);\n this.expandAllChildren(newSelectedState);\n });\n }\n\n this.updateParentStates();\n this.notifyMultiselect();\n }\n\n private handleHeaderClick = (event: Event) => {\n event.stopPropagation();\n if (!this.disabled && !(this.isSearchActive && this.isSearchDisabled)) {\n this.handleClick(event);\n }\n }\n\n private hasAnySelectedChildren(): boolean {\n const childOptions = Array.from(this.el.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION') as HTMLElement[];\n\n return childOptions.some(child => {\n const hasSelected = child.hasAttribute('selected');\n const hasSelectedDescendants = this.checkForSelectedDescendants(child);\n\n return hasSelected || hasSelectedDescendants;\n });\n }\n\n private checkForSelectedDescendants(element: HTMLElement): boolean {\n const nestedOptions = Array.from(element.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION') as HTMLElement[];\n\n return nestedOptions.some(nestedChild => {\n const isSelected = nestedChild.hasAttribute('selected');\n const hasSelectedNested = this.checkForSelectedDescendants(nestedChild);\n\n return isSelected || hasSelectedNested;\n });\n }\n\n render() {\n let isFlatMultiselect = false;\n const parentMultiselect = this.el.closest('ifx-multiselect');\n if (parentMultiselect) {\n const allOptions = Array.from(parentMultiselect.querySelectorAll('ifx-multiselect-option'));\n isFlatMultiselect = allOptions.every(option => option.children.length === 0);\n }\n\n const basePadding = this.depth * 28 + 16;\n const additionalPadding = this.hasChildren ? 0 : 28;\n let totalPadding = basePadding + additionalPadding;\n\n const optionItemStyle = isFlatMultiselect ? undefined : { paddingLeft: `${totalPadding}px` };\n\n return (\n <Host>\n <div\n class={{\n 'option': true,\n 'option--has-children': this.hasChildren,\n 'option--expanded': this.isExpanded,\n 'option--disabled': this.disabled,\n 'option--selected': this.selected,\n }}\n role=\"option\"\n aria-expanded={this.hasChildren ? (this.isExpanded ? 'true' : 'false') : undefined}\n aria-selected={this.selected ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n data-level={this.depth}\n data-value={this.value}\n >\n <div\n class=\"option-item\"\n style={optionItemStyle}\n >\n <div\n class=\"chevron-wrapper\"\n tabIndex={this.hasChildren ? 0 : -1}\n role={this.hasChildren ? \"button\" : undefined}\n aria-label={this.hasChildren ? (this.isExpanded ? \"Collapse\" : \"Expand\") : undefined}\n onClick={(e) => { e.stopPropagation(); this.toggleExpansion(); }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n this.toggleExpansion();\n }\n }}\n >\n {this.hasChildren && (\n <ifx-icon\n class={`chevron ${this.isExpanded ? 'chevron--expanded' : 'chevron--collapsed'}`}\n icon=\"chevron-right-16\"\n />\n )}\n </div>\n\n <div class=\"checkbox-wrapper\" onClick={(e) => e.stopPropagation()}>\n <ifx-checkbox\n size='s'\n checked={(this.isSearchActive && this.isSearchDisabled) ? false : (this.indeterminate ? false : this.selected)}\n indeterminate={(this.isSearchActive && this.isSearchDisabled) ? false : this.indeterminate}\n onClick={this.handleCheckboxClick}\n disabled={this.disabled || (this.isSearchActive && this.isSearchDisabled)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n this.handleCheckboxClick(e);\n }\n }}\n />\n </div>\n\n <div\n class=\"option-label\"\n onClick={this.handleHeaderClick}\n tabIndex={-1}\n >\n <slot/>\n </div>\n </div>\n\n {this.isExpanded && <div class=\"option-children\"><slot name=\"children\"/></div>}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as o,h as r,g as e}from"./p-b7a462e5.js";import{d as n,t as d}from"./p-e8504e6b.js";import{i}from"./p-1ecafb97.js";const a=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:inline-block}.container{display:flex;min-height:1.25em;align-items:center;padding:0 8px;border-radius:9999px;font-family:var(--ifx-font-family)}.container.no-border{padding:0}.container.border-engineering-100{border:1px solid #F7F7F7}.container.border-engineering-200{border:1px solid #EEEDED}.container.border-engineering-300{border:1px solid #BFBBBB}.container.border-engineering-400{border:1px solid #8D8786}.container.border-engineering-500{border:1px solid #575352}.container.border-engineering-600{border:1px solid #3C3A39}.container.border-ocean-100{border:1px solid #DFF4F3}.container.border-ocean-200{border:1px solid #B8DEDA}.container.border-ocean-300{border:1px solid #6CB4AD}.container.border-ocean-400{border:1px solid #3B9B91}.container.border-ocean-500{border:1px solid #0A8276}.container.border-ocean-600{border:1px solid #08665C}.container.border-ocean-700{border:1px solid #06534B}.container.border-red-500{border:1px solid #CD002F}.container.border-red-600{border:1px solid #A2001E}.container.border-red-700{border:1px solid #900021}.container.border-orange-500{border:1px solid #E16B25}.container.border-green-500{border:1px solid #4CA460}.container.border-lawn-400{border:1px solid #B9D257}.container.border-lawn-500{border:1px solid #9BBA43}.container.border-lawn-700{border:1px solid #3C6C0F}.container.border-berry-400{border:1px solid #BE3283}.container.border-berry-500{border:1px solid #9C216E}.container.border-sun-400{border:1px solid #FF9737}.container.border-sun-500{border:1px solid #F97414}.container.border-sand-400{border:1px solid #FBE273}.container.border-sand-500{border:1px solid #FCD442}.text{margin:0;padding-left:4px;font-style:normal;font-weight:600;font-size:1rem;line-height:1.25rem;display:inline;color:#1D1D1D}.dot{display:inline-block;width:8px;height:8px;border-radius:9999px}.dot.engineering-100{background-color:#F7F7F7}.dot.engineering-200{background-color:#EEEDED}.dot.engineering-300{background-color:#BFBBBB}.dot.engineering-400{background-color:#8D8786}.dot.engineering-500{background-color:#575352}.dot.engineering-600{background-color:#3C3A39}.dot.ocean-100{background-color:#DFF4F3}.dot.ocean-200{background-color:#B8DEDA}.dot.ocean-300{background-color:#6CB4AD}.dot.ocean-400{background-color:#3B9B91}.dot.ocean-500{background-color:#0A8276}.dot.ocean-600{background-color:#08665C}.dot.ocean-700{background-color:#06534B}.dot.red-500{background-color:#CD002F}.dot.red-600{background-color:#A2001E}.dot.red-700{background-color:#900021}.dot.orange-500{background-color:#E16B25}.dot.green-500{background-color:#4CA460}.dot.lawn-400{background-color:#B9D257}.dot.lawn-500{background-color:#9BBA43}.dot.lawn-700{background-color:#3C6C0F}.dot.berry-400{background-color:#BE3283}.dot.berry-500{background-color:#9C216E}.dot.sun-400{background-color:#FF9737}.dot.sun-500{background-color:#F97414}.dot.sand-400{background-color:#FBE273}.dot.sand-500{background-color:#FCD442}';const c=a;const t=class{constructor(r){o(this,r);this.border=false;this.color="orange-500"}componentWillLoad(){if(!i(this.el)){const o=n();d("ifx-status",o)}}render(){var o;const e=((o=this.color)===null||o===void 0?void 0:o.trim())?this.color:"orange-500";const n=this.border?`container border-${e}`:"container no-border";return r("div",{key:"e59c9709a120a139f2ae8aeb134eb111661b9f4f","aria-label":"a status indicator","aria-value":this.label,class:n},r("span",{key:"0283879f8d95d0b6679044c30fd34718813de0d6",class:`dot ${e}`}),r("p",{key:"3afcf903285d55715bcdd2e13f862298d9eda67a",class:"text"},this.label))}get el(){return e(this)}};t.style=c;export{t as ifx_status};
2
- //# sourceMappingURL=p-b7c74d53.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["statusCss","IfxStatusStyle0","Status","constructor","hostRef","this","border","color","componentWillLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","render","effectiveColor","_a","trim","containerClass","h","key","label","class"],"sources":["src/components/status/status.scss?tag=ifx-status&encapsulation=shadow","src/components/status/status.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-block;\n}\n\n.container {\n display: flex;\n min-height: 1.25em;\n align-items: center;\n padding: 0 tokens.$ifxSpace100;\n border-radius: tokens.$ifxBorderRadiusRound;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n &.no-border {\n padding: 0; // Remove padding when border is not present\n }\n\n &.border-engineering-100{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering100;\n }\n\n &.border-engineering-200{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering200;\n }\n\n &.border-engineering-300{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering300;\n }\n\n &.border-engineering-400{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering400;\n }\n\n &.border-engineering-500{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering500;\n }\n\n &.border-engineering-600{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering600;\n }\n\n &.border-ocean-100 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean100;\n }\n\n &.border-ocean-200 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean200;\n }\n\n &.border-ocean-300 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean300;\n }\n\n &.border-ocean-400 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean400;\n }\n\n &.border-ocean-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean500;\n }\n\n &.border-ocean-600 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean600;\n }\n\n &.border-ocean-700 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean700;\n }\n\n &.border-red-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorRed500;\n }\n\n &.border-red-600 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorRed600;\n }\n\n &.border-red-700 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorRed700;\n }\n\n &.border-orange-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOrange500;\n }\n\n &.border-green-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorGreen500;\n }\n\n &.border-lawn-400 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorLawn400;\n }\n\n &.border-lawn-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorLawn500;\n }\n\n &.border-lawn-700 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorLawn700;\n }\n\n &.border-berry-400 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorBerry400;\n }\n\n &.border-berry-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorBerry500;\n }\n\n &.border-sun-400 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorSun400;\n }\n\n &.border-sun-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorSun500;\n }\n\n &.border-sand-400{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorSand400;\n }\n\n &.border-sand-500{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorSand500;\n }\n\n\n}\n\n.text {\n margin: 0;\n padding-left: tokens.$ifxSpace50;\n font-style: normal;\n font-weight: tokens.$ifxFontWeightSemibold;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightS;\n display: inline;\n color: tokens.$ifxColorBaseBlack;\n}\n\n.dot {\n display: inline-block;\n width: tokens.$ifxSize100;\n height: tokens.$ifxSize100;\n border-radius: tokens.$ifxBorderRadiusRound;\n}\n\n\n.dot {\n &.engineering-100 {\n background-color: tokens.$ifxColorEngineering100;\n }\n\n &.engineering-200 {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &.engineering-300 {\n background-color: tokens.$ifxColorEngineering300;\n }\n\n &.engineering-400 {\n background-color: tokens.$ifxColorEngineering400;\n }\n\n &.engineering-500 {\n background-color: tokens.$ifxColorEngineering500;\n }\n\n &.engineering-600 {\n background-color: tokens.$ifxColorEngineering600;\n }\n\n &.ocean-100 {\n background-color: tokens.$ifxColorOcean100;\n }\n\n &.ocean-200 {\n background-color: tokens.$ifxColorOcean200;\n }\n\n &.ocean-300 {\n background-color: tokens.$ifxColorOcean300;\n }\n\n &.ocean-400 {\n background-color: tokens.$ifxColorOcean400;\n }\n\n &.ocean-500 {\n background-color: tokens.$ifxColorOcean500;\n }\n\n &.ocean-600 {\n background-color: tokens.$ifxColorOcean600;\n }\n\n &.ocean-700 {\n background-color: tokens.$ifxColorOcean700;\n }\n\n &.red-500 {\n background-color: tokens.$ifxColorRed500;\n }\n\n &.red-600 {\n background-color: tokens.$ifxColorRed600;\n }\n\n &.red-700 {\n background-color: tokens.$ifxColorRed700;\n }\n\n &.orange-500 {\n background-color: tokens.$ifxColorOrange500;\n }\n\n &.green-500 {\n background-color: tokens.$ifxColorGreen500;\n }\n\n &.lawn-400{\n background-color: tokens.$ifxColorLawn400;\n }\n\n &.lawn-500{\n background-color: tokens.$ifxColorLawn500;\n }\n\n &.lawn-700 {\n background-color: tokens.$ifxColorLawn700;\n }\n\n &.berry-400 {\n background-color: tokens.$ifxColorBerry400;\n }\n\n &.berry-500 {\n background-color: tokens.$ifxColorBerry500;\n }\n\n &.sun-400 {\n background-color: tokens.$ifxColorSun400;\n }\n\n &.sun-500 {\n background-color: tokens.$ifxColorSun500;\n }\n\n &.sand-400{\n background-color: tokens.$ifxColorSand400;\n }\n\n &.sand-500{\n background-color: tokens.$ifxColorSand500;\n }\n}","import { Component, h, Prop, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-status',\n styleUrl: 'status.scss',\n shadow: true\n})\n\nexport class Status {\n @Element() el;\n @Prop() label: string;\n @Prop() border: boolean = false;\n @Prop() color: string = 'orange-500';\n\n componentWillLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-status', framework)\n }\n }\n\n render() {\n const effectiveColor = this.color?.trim() ? this.color : 'orange-500';\n const containerClass = this.border ? `container border-${effectiveColor}` : 'container no-border';\n\n return (\n <div aria-label=\"a status indicator\" aria-value={this.label} class={containerClass}>\n <span class={`dot ${effectiveColor}`}></span>\n <p class=\"text\">{this.label}</p>\n </div>\n );\n }\n}"],"mappings":"4HAAA,MAAMA,EAAY,87FAClB,MAAAC,EAAeD,E,MCUFE,EAAM,MANnB,WAAAC,CAAAC,G,UASUC,KAAAC,OAAkB,MAClBD,KAAAE,MAAgB,Y,CAExB,iBAAAC,GACE,IAAIC,EAAuBJ,KAAKK,IAAK,CACnC,MAAMC,EAAYC,IAClBC,EAAe,aAAcF,E,EAIjC,MAAAG,G,MACE,MAAMC,IAAiBC,EAAAX,KAAKE,SAAK,MAAAS,SAAA,SAAAA,EAAEC,QAASZ,KAAKE,MAAQ,aACzD,MAAMW,EAAiBb,KAAKC,OAAS,oBAAoBS,IAAmB,sBAE5E,OACEI,EAAA,OAAAC,IAAA,wDAAgB,qBAAoB,aAAaf,KAAKgB,MAAOC,MAAOJ,GAClEC,EAAA,QAAAC,IAAA,2CAAME,MAAO,OAAOP,MACpBI,EAAA,KAAAC,IAAA,2CAAGE,MAAM,QAAQjB,KAAKgB,O","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,c as i,h as t,g as s}from"./p-b7a462e5.js";import{d as a,t as n}from"./p-e8504e6b.js";import{i as l}from"./p-1ecafb97.js";const r=':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:1px solid #BFBBBB;border-radius:9999px;background:#FFFFFF;cursor:pointer;transition:border 100ms ease;font:400 0.875rem/1.25rem "Source Sans 3"}.chip__wrapper:hover,.chip__wrapper:focus-visible{outline:none;border:1px solid #575352}.chip__wrapper:focus{border:1px solid #0A8276}.chip__wrapper.chip__wrapper--small{padding:4px 12px}.chip__wrapper.chip__wrapper--large{padding:8px 16px}.chip__wrapper.chip__wrapper--opened{border:1px solid #0A8276}.chip__wrapper.chip__wrapper--opened .wrapper__open-button{transform:rotate(-180deg)}.chip__wrapper.chip__wrapper--selected{outline:3px solid #0A8276;outline-offset:-3px;color:#0A8276}.chip__wrapper.chip__wrapper--selected:hover,.chip__wrapper.chip__wrapper--selected:focus-visible{outline:3px solid #08665C;color:#08665C}.wrapper__label{display:inline-flex;align-items:center;gap:4px;font:400 0.875rem/1.25rem "Source Sans 3"}.wrapper__label .label__selected-options{font:600 0.875rem/1.25rem "Source Sans 3"}.wrapper__open-button{display:flex;align-items:center;transition:all 300ms ease}.wrapper__unselect-button{display:flex;align-items:center}.chip__dropdown{position:absolute;z-index:1;box-shadow:0px 6px 9px 0px rgba(29, 29, 29, 0.1019607843);border:1px solid #EEEDED;border-radius:1px;padding:8px 0;min-width:222px;background-color:#FFFFFF}';const c=r;const h=class{constructor(t){e(this,t);this.ifxChange=i(this,"ifxChange",7);this.placeholder="";this.size="large";this.value=undefined;this.variant="single";this.readOnly=false;this.opened=false;this.selectedOptions=[]}handleValueChange(e){this.syncSelectedOptionsWithProp(e)}handleReadOnlyChange(e){if(e){this.opened=false}}closeDropdownOnOutsideClick(e){const i=e.composedPath();const t=this.chip.shadowRoot.querySelector(".chip__wrapper");const s=this.chip.shadowRoot.querySelector(".chip__dropdown");if(!i.includes(s)&&!i.includes(t)&&this.opened){this.toggleDropdownMenu()}}handleKeyDown(e){if(e.code!=="Tab"){e.preventDefault()}if(e.target.tagName==="IFX-CHIP"){this.handleWrapperKeyDown(e)}else if(e.target.tagName==="IFX-CHIP-ITEM"){this.handleDropdownKeyDown(e)}}updateSelectedOptions(e){const i=e.detail;const t=[...this.selectedOptions];if(this.variant!=="multi"){if(i.selected){this.opened=false;const t=this.getChipItems();t.forEach((i=>{if(i.selected&&i!==e.target){i.chipState=Object.assign(Object.assign({},i.chipState),{emitIfxChipItemSelect:false});i.selected=false}}));this.selectedOptions=[i]}else{this.selectedOptions=[]}this.value=this.selectedOptions[0]?this.selectedOptions[0].value:undefined}else{if(i.selected){if(!this.selectedOptions.find((e=>e.value===i.value))){this.selectedOptions=[...this.selectedOptions,i]}}else{this.selectedOptions=this.selectedOptions.filter((e=>e.value!==i.value))}this.value=this.selectedOptions.map((e=>e.value))}if(i.emitIfxChange){this.ifxChange.emit({previousSelection:t,currentSelection:this.selectedOptions,name:this.placeholder})}}getChipItems(){return this.chip.querySelectorAll("ifx-chip-item")}getSelectedOptions(){if(this.variant!=="multi"){return this.selectedOptions.map((e=>e.label)).join("")}return this.selectedOptions.slice(0,2).map((e=>e.label)).join(", ")}toggleDropdownMenu(){if(this.readOnly)return;this.opened=!this.opened}focusChipItemAt(e=0){this.opened=true;const i=this.getChipItems();let t;if(e===-1){t=i.item(i.length-1)}else if(e>=0&&e<i.length){t=i.item(e)}else{console.error(`Invalid index: ${e}`);return}const s=t.shadowRoot.querySelector(".chip-item");if(s){setTimeout((()=>{s.focus()}),1)}}focusChip(){const e=this.chip.shadowRoot.querySelector(".chip__wrapper");e.focus()}handleUnselectButtonClick(e){e.stopPropagation();this.opened=false;let i=false;const t=this.getChipItems();t.forEach((e=>{if(e.selected){i=true;e.chipState=Object.assign(Object.assign({},e.chipState),{emitIfxChipItemSelect:false});e.selected=false}}));if(i){const e=this.selectedOptions;this.selectedOptions=[];this.value=[];this.ifxChange.emit({previousSelection:e,currentSelection:[],name:this.placeholder})}}handleWrapperClick(){if(!this.readOnly){this.toggleDropdownMenu()}}handleWrapperKeyDown(e){if(this.readOnly)return;if(!this.opened){switch(e.code){case"Space":case"Enter":case"ArrowDown":this.focusChipItemAt(0);break;case"ArrowUp":this.focusChipItemAt(-1);break}}else{switch(e.code){case"Escape":this.opened=false;this.focusChip();break}}}handleDropdownKeyDown(e){let i=this.getChipItems();let t=Array.from(i).indexOf(e.target);if(t===-1){console.error("Target not found in chip items");return}switch(e.code){case"ArrowDown":if(t===i.length-1)break;this.focusChipItemAt(t+1);break;case"ArrowUp":if(t===0)break;this.focusChipItemAt(t-1);break;case"Escape":this.opened=false;this.focusChip();break;case"Space":if(this.variant==="single"){this.opened=false;this.focusChip()}break;case"Enter":this.opened=false;this.focusChip();break}}syncChipState(){const e=this.getChipItems();let i=0;e.forEach((e=>{e.chipState={emitIfxChipItemSelect:true,size:this.size==="small"?"small":"large",variant:this.variant==="multi"?"multi":"single",key:i++}}))}syncSelectedOptionsWithProp(e){this.selectedOptions=[];const i=(()=>{let e=0;return()=>e++})();if(Array.isArray(e)){this.selectedOptions=e.map((e=>({value:e,label:e,selected:true,key:i(),emitIfxChange:true})))}else if(typeof e==="string"){this.selectedOptions=[{value:e,label:e,selected:true,key:i(),emitIfxChange:true}]}this.syncChipState()}componentWillLoad(){this.syncSelectedOptionsWithProp(this.value);if(!l(this.chip)){const e=a();n("ifx-chip",e)}}render(){return t("div",{key:"2887760be748d5a333b778a92c7975b48eceac6b",class:"chip"},t("div",{key:"0dc14b29f346fa5bab4e3e32975c365314472567",class:`chip__wrapper chip__wrapper--${this.size==="small"?"small":"large"}\n chip__wrapper--${this.variant==="multi"?"multi":"single"}\n ${this.opened&&!this.readOnly?"chip__wrapper--opened":""}\n ${this.selectedOptions.length?"chip__wrapper--selected":""}`,tabIndex:0,onClick:!this.readOnly?()=>{this.handleWrapperClick()}:undefined,role:"combobox","aria-label":this.ariaLabel,"aria-value":this.getSelectedOptions(),"aria-haspopup":!this.readOnly?"listbox":undefined,"aria-expanded":!this.readOnly?this.opened.toString():undefined,"aria-controls":!this.readOnly?"dropdown":undefined,"aria-readonly":this.readOnly?"true":undefined,"aria-multiselectable":this.variant==="multi"?"true":undefined},t("div",{key:"54c9693e8bba3aaff3b5b1cd7264135328324951",class:"wrapper__label"},this.selectedOptions.length===0&&`${this.placeholder}`,this.selectedOptions.length!==0&&(this.variant==="multi"||this.readOnly)&&this.placeholder!==""&&`${this.placeholder}:`,this.selectedOptions.length!==0&&t("div",{key:"201bfee34f671859fa9b750c94bfd6b8f6f47321",class:"label__selected-options"},this.getSelectedOptions()),this.selectedOptions.length>2&&this.variant==="multi"&&t("ifx-indicator",{key:"c3db767892120d8f7c90b2fe09cba833b3c0c22f",variant:"number",number:this.selectedOptions.length-2})),!this.readOnly&&(this.variant!=="multi"||this.variant==="multi"&&this.selectedOptions.length===0)&&t("div",{key:"de80135bb67fdfe7708f89025c8363eac1985fd6",class:"wrapper__open-button"},t("ifx-icon",{key:1,icon:`chevron-down-16`})),this.variant!=="multi"&&this.readOnly!==false&&this.selectedOptions.length>0&&t("div",{key:"d936033fa0ec350fa798fe1e43216d101378a233",class:"wrapper__unselect-button",onClick:e=>{this.handleUnselectButtonClick(e)}},t("ifx-icon",{key:2,icon:`cross16`})),this.selectedOptions.length>=1&&this.variant==="multi"&&t("div",{key:"649b60778aa9cd4c1318921ea6888ab6f4b3698c",class:"wrapper__unselect-button",onClick:e=>{this.handleUnselectButtonClick(e)}},t("ifx-icon",{key:2,icon:`cross16`}))),this.opened&&!this.readOnly&&t("div",{key:"ca66107d496bb8ff918b9d28e0c5e447daf6a92a",id:"dropdown",role:"listbox",class:"chip__dropdown"},t("slot",{key:"172d517f06ea70afff1650b1150812516ad763e7"})))}get chip(){return s(this)}static get watchers(){return{value:["handleValueChange"],readOnly:["handleReadOnlyChange"]}}};h.style=c;const o=':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 p=o;const d=class{constructor(t){e(this,t);this.ifxChipItemSelect=i(this,"ifxChipItemSelect",5);this.value=undefined;this.chipState={emitIfxChipItemSelect:true,variant:"multi",size:"large"};this.selected=false}updateItemSelection(e){if(this.chipState.variant==="single"){const i=e.target;if(this.chipItem!==i&&this.chipItem.parentElement===i.parentElement){this.selected=false}}}validateSelected(e,i){if(e!==i){if(this.chipState.emitIfxChipItemSelect){this.emitIfxChipItemSelectEvent()}else{this.chipState.emitIfxChipItemSelect=true}}}getItemLabel(){return this.chipItem.innerText}toggleItemSelection(){this.selected=!this.selected}emitIfxChipItemSelectEvent(e=true){this.ifxChipItemSelect.emit({emitIfxChange:e,key:this.chipState.key,label:this.getItemLabel(),selected:this.selected,value:this.value})}handleItemClick(){this.toggleItemSelection()}handleItemKeyDown(e){if(e.code==="Enter"||e.code==="Space"){this.toggleItemSelection()}}handleSelectedState(){if(this.selected){this.emitIfxChipItemSelectEvent(false)}}componentWillLoad(){this.handleSelectedState()}render(){return t("div",{key:"7ceff18d0a41b419a188d925fd854cc97d7a9ecd",class:`chip-item chip-item--${this.chipState.size} \n chip-item--${(this.selected&&this.chipState.variant)==="single"?"selected":""}`,tabIndex:0,onClick:()=>{this.handleItemClick()},onKeyDown:e=>{this.handleItemKeyDown(e)},role:"option","aria-selected":this.selected.toString()},this.chipState.variant==="multi"&&t("ifx-checkbox",{key:"d2f717951d288aa0863081e54cabf7edd1c6f7e6",checked:this.selected,tabIndex:-1,size:"s"}),t("div",{key:"fff335d9009c93863012f6a4307ed4322413c4f7",class:"chip-item__label"}," ",t("slot",{key:"a093e9caf2eecba28c58674dde3f788be1f5849b"})," "),t("div",{key:"ea76c6b3d0bdd2a687acfbe323ebd9e6d6034a40",class:"chip-item__selected-indicator"},t("ifx-icon",{key:"5d0ae125cb1ea0297d81d773c9981bd13f0c5759",icon:"check-16"}," ")))}get chipItem(){return s(this)}static get watchers(){return{selected:["validateSelected"]}}};d.style=p;const f='@charset "UTF-8";: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)}.container .items__per-page-wrapper{display:flex;align-items:center;gap:16px}.container .items__per-page-wrapper .items__per-page-label{color:#1D1D1D;font-size:14px;font-style:normal;font-weight:600;line-height:20px}.container .items__per-page-wrapper .items__per-page-field{display:flex;flex-direction:column;align-items:flex-start}.container .items__per-page-wrapper .items__per-page-field ifx-select{width:92px}.container .items__total-wrapper{display:flex;justify-content:center;align-items:center;gap:12px}.container .items__total-wrapper .items__total-button{display:flex;width:40px;height:40px;justify-content:center;align-items:center;border-radius:100px;border:1px solid #BFBBBB;background:#FFF}.container .items__total-wrapper .page__numbers-wrapper{display:flex;justify-content:center;align-items:center;gap:12px}.container .items__total-wrapper .page__numbers-wrapper .page__number-item{display:flex;padding:6px;flex-direction:column;justify-content:center;align-items:center;gap:10px;border-radius:100px}.container .items__total-wrapper .page__numbers-wrapper .page__number-item.active{background-color:#0A8276}.container .items__total-wrapper .page__numbers-wrapper .page__number-item.active span{color:#fff}.container .items__total-wrapper .page__numbers-wrapper .page__number-item:hover{cursor:pointer}.container .items__total-wrapper .page__numbers-wrapper .page__number-item:hover:not(.active){background-color:#ddd}.container .items__total-wrapper .page__numbers-wrapper .page__number-item:active:not(.active){background-color:#575352}.container .items__total-wrapper .page__numbers-wrapper .page__number-item span{display:flex;width:16px;height:16px;flex-direction:column;justify-content:center;color:#1D1D1D;text-align:center;font-size:13px;font-style:normal;font-weight:400;line-height:20px}.pagination{display:flex}.pagination ifx-icon-button:first-of-type{margin-right:12px}.pagination ifx-icon-button:last-of-type{margin-left:12px}a{padding:8px;border-radius:100px}ol{list-style-type:none;padding:0;margin:0;display:inline-flex;align-items:center;gap:12px}li{display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:100px}li:hover:not(.active) a{background-color:#EEEDED}li:active:not(.active) a{background-color:#575352;color:#fff}li.active{background-color:#0A8276}li.active a{color:#fff}li:hover{cursor:pointer}li a{text-decoration:none;display:flex;width:16px;height:16px;flex-direction:column;justify-content:center;color:#1D1D1D;text-align:center;font-size:13px;font-style:normal;font-weight:400;line-height:20px;align-items:center}.prev.disabled,.next.disabled{cursor:default}.prev.disabled:hover,.next.disabled:hover{cursor:default;text-decoration:none}.prev{margin-right:2.5px}.next{margin-left:2.5px}@media (min-width: 400px){li:first-child,li.active-sibling,li.active,li.active+li,li:last-child{display:inline-flex !important;flex-direction:row}li:first-child:nth-last-child(n+8)~li{display:none}li:first-child:nth-last-child(n+8)~li.active-sibling:before{content:"…";font-size:13px;display:inline-block;margin-right:6px}li:first-child:nth-last-child(n+8)~li.active+li:after{content:"…";font-size:13px;display:inline-block;margin-left:6px}li:first-child:nth-last-child(n+8)~li:nth-last-child(-n+5){display:inline-flex;flex-direction:row}li:first-child:nth-last-child(n+8)~li:nth-last-child(5):before{content:"…";font-size:13px;display:inline-block;margin-right:6px}li:first-child:nth-last-child(n+8)~li:nth-child(-n+2):before,li:first-child:nth-last-child(n+8)~li:nth-child(-n+2):after,li:first-child:nth-last-child(n+8)~li:nth-last-child(-n+2):before,li:first-child:nth-last-child(n+8)~li:nth-last-child(-n+2):after,li:first-child:nth-last-child(n+8)~li.active-sibling:nth-last-child(-n+4):before,li:first-child:nth-last-child(n+8)~li.active-sibling:nth-last-child(-n+4):after{display:none !important}li:first-child:nth-last-child(n+8).active~li:nth-last-child(-n+5),li:first-child:nth-last-child(n+8)~li.active~li:nth-last-child(-n+5){display:none}li:first-child:nth-last-child(n+8).active~li:nth-last-child(-n+5):before,li:first-child:nth-last-child(n+8)~li.active~li:nth-last-child(-n+5):before{display:none}li:first-child:nth-last-child(n+8).active~li:nth-child(-n+5),li:first-child:nth-last-child(n+8)~li.active~li:nth-child(-n+5){display:inline-flex !important;flex-direction:row}li:first-child:nth-last-child(n+8).active~li:nth-child(-n+4):after,li:first-child:nth-last-child(n+8)~li.active~li:nth-child(-n+4):after{display:none}li:first-child:nth-last-child(n+8).active~li:nth-child(5):after,li:first-child:nth-last-child(n+8)~li.active~li:nth-child(5):after{content:"…";font-size:13px;display:inline-block;margin-left:6px}li:first-child:nth-last-child(n+8).active:before,li:first-child:nth-last-child(n+8).active:after,li:first-child:nth-last-child(n+8)~li.active:before,li:first-child:nth-last-child(n+8)~li.active:after{display:none}}';const b=f;const m=class{constructor(t){e(this,t);this.ifxPageChange=i(this,"ifxPageChange",7);this.currentPage=1;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)}}setItemsPerPage(e){var i,t;const s=((i=e.detail)===null||i===void 0?void 0:i.value)||((t=e.detail)===null||t===void 0?void 0:t.label);const a=parseInt(s)||10;if(a===this.internalItemsPerPage){return}this.internalItemsPerPage=a;this.internalPage=1;this.calculateNumberOfPages();this.updateVisiblePages();this.handleEventEmission()}componentDidLoad(){this.initPagination()}updateVisiblePages(){const e=2;const i=this.numberOfPages.length;const t=this.internalPage;let s=[];if(i<=5){s=[...this.numberOfPages]}else{s.push(1);if(t>e+1)s.push("...");let a=Math.max(2,t-e);let n=Math.min(i-1,t+e);if(t<=e+1)n=e*2+1;if(t>=i-e)a=i-e*2;for(let e=a;e<=n;e++)s.push(e);if(t<i-e)s.push("...");s.push(i)}this.visiblePages=[...new Set(s)]}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(){if(!l(this.el)){const e=a();n("ifx-pagination",e)}this.calculateNumberOfPages();this.filterOptionsArray();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:"98a19f3a734e2ea13f5b7c18b5cbe38a4e30e1a8",class:"container"},t("div",{key:"bb5745952e8b98b7f1b489d93bd56d74701de792",class:"items__per-page-wrapper"},t("div",{key:"d9f2bd45ead71dc624697818c5e3f9e271b5e8e2",class:"items__per-page-label"},"Results per Page"),t("div",{key:"19e43c55fb617b4186f36899b759cb064ea3cd27",class:"items__per-page-field"},t("ifx-select",{key:"f9c7cb8d4db27762b3f6d5f3fe84274e8dc4d2c9",placeholder:"false","show-search":"false",value:undefined,disabled:false,error:false,size:"s",options:this.filteredItemsPerPage,"placeholder-value":"Select"}))),t("div",{key:"2b8022566d5d8e7de1627ae690715f316c0841bc",class:"items__total-wrapper"},t("div",{key:"ef6a95e53726f8da1a63f51e5201fb798deaf7ea",class:"pagination"},t("ifx-icon-button",{key:"2c0444ac7f6a400dc4df80b11cdb310bf97b08b6",class:"prev",icon:"arrow-left-16",onClick:()=>this.changePage(this.internalPage-1)}),t("ol",{key:"c6a00e46eafe0b57f3bc974973e7b251472fc8f2"},this.visiblePages.map(((e,i)=>typeof e==="number"?t("li",{key:`page-${e}`,class:{[this.CLASS_ACTIVE]:e===this.internalPage},"data-page":e},t("a",{href:"javascript:void(0)"},e)):t("li",{class:"ellipsis",key:`ellipsis-${i}`},t("span",null,"..."))))),t("ifx-icon-button",{key:"b716e5a25d49c14759debd206342224f45d47d2d",class:"next",icon:"arrow-right-16",onClick:()=>this.changePage(this.internalPage+1)}))))}get el(){return s(this)}};m.style=b;export{h as ifx_chip,d as ifx_chip_item,m as ifx_pagination};
2
- //# sourceMappingURL=p-bb8d7729.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["chipCss","IfxChipStyle0","Chip","constructor","hostRef","this","placeholder","size","value","undefined","variant","readOnly","opened","selectedOptions","handleValueChange","newValue","syncSelectedOptionsWithProp","handleReadOnlyChange","closeDropdownOnOutsideClick","event","path","composedPath","chipWrapper","chip","shadowRoot","querySelector","chipDropdown","includes","toggleDropdownMenu","handleKeyDown","code","preventDefault","target","tagName","handleWrapperKeyDown","handleDropdownKeyDown","updateSelectedOptions","eventDetail","detail","previousSelection","selected","chipItems","getChipItems","forEach","chipItem","chipState","Object","assign","emitIfxChipItemSelect","find","option","filter","map","emitIfxChange","ifxChange","emit","currentSelection","name","querySelectorAll","getSelectedOptions","label","join","slice","focusChipItemAt","index","item","length","console","error","shadowItem","setTimeout","focus","focusChip","handleUnselectButtonClick","stopPropagation","itemGotUnselected","handleWrapperClick","chipitems","targetIndex","Array","from","indexOf","syncChipState","key","generateKey","count","isArray","componentWillLoad","isNestedInIfxComponent","framework","detectFramework","trackComponent","render","h","class","tabIndex","onClick","role","ariaLabel","toString","number","icon","e","id","chipItemCss","IfxChipItemStyle0","ChipItem","updateItemSelection","parentElement","validateSelected","oldValue","emitIfxChipItemSelectEvent","getItemLabel","innerText","toggleItemSelection","ifxChipItemSelect","handleItemClick","handleItemKeyDown","handleSelectedState","onKeyDown","checked","paginationCss","IfxPaginationStyle0","Pagination","currentPage","internalPage","internalItemsPerPage","numberOfPages","total","filteredItemsPerPage","visiblePages","CLASS_DISABLED","CLASS_ACTIVE","handlePageClick","li","currentTarget","page","parseInt","dataset","isNaN","changePage","setItemsPerPage","selectedValue","_a","_b","newItemsPerPage","calculateNumberOfPages","updateVisiblePages","handleEventEmission","componentDidLoad","initPagination","buffer","totalPages","current","pages","push","start","Math","max","end","min","i","Set","ceil","_","filterOptionsArray","items","itemsPerPage","JSON","parse","el","componentWillUpdate","prevInternalPage","componentDidUpdate","ifxPageChange","pagination","updateButtons","prev","next","disabled","classList","toggle","removeEventListener","addEventListener","newPage","options","href"],"sources":["src/components/chip/chip.scss?tag=ifx-chip&encapsulation=shadow","src/components/chip/chip.tsx","src/components/chip/chip-item/chip-item.scss?tag=ifx-chip-item&encapsulation=shadow","src/components/chip/chip-item/chip-item.tsx","src/components/pagination/pagination.scss?tag=ifx-pagination&encapsulation=shadow","src/components/pagination/pagination.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-block;\n}\n\n.chip {\n position: relative;\n}\n\n.chip__wrapper {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: tokens.$ifxSpace100;\n\n box-sizing: border-box;\n border: 1px solid tokens.$ifxColorEngineering300;\n border-radius: tokens.$ifxBorderRadiusRound;\n \n background: tokens.$ifxColorBaseWhite;\n \n cursor: pointer; \n \n transition: border 100ms ease;\n\n font: tokens.$ifxBodyBody04;\n \n &:hover, &:focus-visible {\n outline: none;\n border: 1px solid tokens.$ifxColorEngineering500;\n }\n\n &:focus {\n border: 1px solid tokens.$ifxColorOcean500;\n }\n \n &.chip__wrapper--small {\n padding: tokens.$ifxSpace50 tokens.$ifxSpace150;\n }\n \n &.chip__wrapper--large {\n padding: tokens.$ifxSpace100 tokens.$ifxSpace200;\n }\n \n &.chip__wrapper--opened {\n border: 1px solid tokens.$ifxColorOcean500;\n \n .wrapper__open-button {\n transform: rotate(-180deg);\n }\n }\n \n &.chip__wrapper--selected {\n outline: 3px solid tokens.$ifxColorOcean500;\n outline-offset: -3px;\n \n color: tokens.$ifxColorOcean500;\n \n &:hover, &:focus-visible {\n outline: 3px solid tokens.$ifxColorOcean600;\n \n color: tokens.$ifxColorOcean600;\n }\n }\n}\n\n.wrapper__label {\n display: inline-flex;\n align-items: center;\n gap: tokens.$ifxSpace50;\n\n font: tokens.$ifxBodyBody04;\n \n .label__selected-options {\n font: tokens.$ifxBodyBodySemibold04;\n }\n}\n\n.wrapper__open-button {\n display:flex;\n align-items: center;\n \n transition: all 300ms ease;\n}\n\n.wrapper__unselect-button {\n display:flex;\n align-items: center;\n}\n\n.chip__dropdown {\n position: absolute;\n z-index: 1;\n\n box-shadow: 0px 6px 9px 0px #1D1D1D1A;\n border: 1px solid tokens.$ifxColorEngineering200;\n border-radius: tokens.$ifxBorderRadius12;\n padding: tokens.$ifxSpace100 0;\n\n min-width: 222px;\n \n background-color: tokens.$ifxColorBaseWhite;\n}\n","import { h, Component, Element, Event, EventEmitter, Listen, Prop, State, Watch } from '@stencil/core';\nimport { ChipItemSelectEvent } from './interfaces';\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' | 'large' = 'large';\n @Prop({ mutable: true }) value: Array<string> | string = undefined;\n @Prop() variant: 'single' | 'multi' = 'single';\n @Prop() readOnly: boolean = false;\n @Prop() ariaLabel: string | null;\n\n @State() opened: boolean = false;\n @State() selectedOptions: Array<ChipItemSelectEvent> = [];\n\n @Watch('value')\n handleValueChange(newValue: Array<string> | string) {\n this.syncSelectedOptionsWithProp(newValue);\n }\n\n @Watch('readOnly')\n handleReadOnlyChange(newValue: boolean) {\n if (newValue) {\n this.opened = false;\n }\n }\n\n @Listen('mousedown', { target: 'document' })\n closeDropdownOnOutsideClick(event: MouseEvent) {\n const path = event.composedPath();\n const chipWrapper: HTMLElement = this.chip.shadowRoot.querySelector('.chip__wrapper');\n const chipDropdown: HTMLElement = this.chip.shadowRoot.querySelector('.chip__dropdown');\n if (!path.includes(chipDropdown) && !path.includes(chipWrapper) && this.opened) {\n this.toggleDropdownMenu();\n }\n }\n\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n // override behavior of all keys except Tab. Users should be able to tab out of the component.\n if (event.code !== 'Tab') {\n event.preventDefault(); \n }\n\n if ((event.target as HTMLElement).tagName === 'IFX-CHIP') {\n this.handleWrapperKeyDown(event);\n } else if ((event.target as HTMLElement).tagName === 'IFX-CHIP-ITEM') {\n this.handleDropdownKeyDown(event);\n }\n }\n\n @Listen('ifxChipItemSelect')\n updateSelectedOptions(event: CustomEvent<ChipItemSelectEvent>) {\n const eventDetail: ChipItemSelectEvent = event.detail;\n const previousSelection: Array<ChipItemSelectEvent> = [...this.selectedOptions];\n\n if (this.variant !== 'multi') {\n if (eventDetail.selected) {\n this.opened = false;\n const chipItems: NodeList = this.getChipItems();\n chipItems.forEach((chipItem: HTMLIfxChipItemElement) => {\n if (chipItem.selected && chipItem !== event.target) {\n chipItem.chipState = {\n ...chipItem.chipState,\n emitIfxChipItemSelect: false,\n };\n chipItem.selected = false;\n }\n });\n this.selectedOptions = [eventDetail];\n } else {\n this.selectedOptions = [];\n }\n this.value = this.selectedOptions[0] ? this.selectedOptions[0].value : undefined;\n } else {\n if (eventDetail.selected) {\n // Prevent duplicate entries\n if (!this.selectedOptions.find(option => option.value === eventDetail.value)) {\n this.selectedOptions = [...this.selectedOptions, eventDetail];\n }\n } else {\n this.selectedOptions = this.selectedOptions.filter((option) => option.value !== eventDetail.value);\n }\n this.value = this.selectedOptions.map((option) => option.value);\n }\n\n if (eventDetail.emitIfxChange) {\n this.ifxChange.emit({\n previousSelection: previousSelection,\n currentSelection: this.selectedOptions,\n name: this.placeholder\n });\n }\n }\n\n getChipItems(): NodeList {\n return this.chip.querySelectorAll('ifx-chip-item');\n }\n\n getSelectedOptions(): string {\n if (this.variant !== 'multi') {\n return this.selectedOptions.map(option => option.label).join('');\n }\n return this.selectedOptions.slice(0, 2).map(option => option.label).join(', ');\n }\n\n toggleDropdownMenu() {\n if (this.readOnly) return;\n this.opened = !this.opened;\n }\n\n /**\n * Focuses the chip item at the specified index.\n * @param index the index of the chip item to focus. -1 will focus the last chip item.\n */\n focusChipItemAt(index: number = 0) {\n this.opened = true;\n const chipItems: NodeList = this.getChipItems();\n let item: HTMLIfxChipItemElement;\n \n if (index === -1) {\n item = chipItems.item(chipItems.length - 1) as HTMLIfxChipItemElement;\n } else if (index >= 0 && index < chipItems.length) {\n item = chipItems.item(index) as HTMLIfxChipItemElement;\n } else {\n console.error(`Invalid index: ${index}`);\n return;\n }\n\n const shadowItem = item.shadowRoot.querySelector('.chip-item') as HTMLDivElement;\n if (shadowItem) {\n // Delay needed for the shadow item to be rendered.\n setTimeout(() => {\n shadowItem.focus();\n }, 1);\n }\n }\n\n focusChip() {\n const chipWrapper: HTMLElement = this.chip.shadowRoot.querySelector('.chip__wrapper');\n chipWrapper.focus();\n }\n\n handleUnselectButtonClick(event: MouseEvent) {\n event.stopPropagation();\n this.opened = false;\n\n let itemGotUnselected = false;\n const chipItems: NodeList = this.getChipItems();\n chipItems.forEach((chipItem: HTMLIfxChipItemElement) => {\n if (chipItem.selected) {\n itemGotUnselected = true;\n chipItem.chipState = {\n ...chipItem.chipState,\n emitIfxChipItemSelect: false,\n }\n chipItem.selected = false;\n }\n });\n\n /* Emit event only if at least one item was unselected. */\n if (itemGotUnselected) {\n const previousSelection: Array<ChipItemSelectEvent> = this.selectedOptions;\n this.selectedOptions = [];\n this.value = [];\n this.ifxChange.emit({\n previousSelection: previousSelection,\n currentSelection: [],\n name: this.placeholder\n });\n }\n }\n\n handleWrapperClick() {\n if (!this.readOnly) {\n this.toggleDropdownMenu();\n }\n }\n\n handleWrapperKeyDown(event: KeyboardEvent) {\n // Keymap oriented at https://www.w3.org/WAI/ARIA/apg/patterns/combobox/#keyboard_interaction\n if (this.readOnly) return;\n\n if (!this.opened) {\n switch (event.code) {\n case 'Space':\n case 'Enter':\n case 'ArrowDown':\n this.focusChipItemAt(0);\n break;\n case 'ArrowUp':\n this.focusChipItemAt(-1);\n break;\n }\n } else {\n switch (event.code) {\n case 'Escape':\n this.opened = false;\n this.focusChip();\n break;\n }\n }\n }\n\n handleDropdownKeyDown(event: KeyboardEvent) {\n let chipitems = this.getChipItems();\n\n let targetIndex = Array.from(chipitems).indexOf(event.target as HTMLIfxChipItemElement);\n if (targetIndex === -1) {\n console.error('Target not found in chip items');\n return;\n }\n\n switch (event.code) {\n case 'ArrowDown':\n if (targetIndex === chipitems.length - 1) break;\n this.focusChipItemAt(targetIndex + 1);\n break;\n case 'ArrowUp':\n if (targetIndex === 0) break;\n this.focusChipItemAt( targetIndex - 1);\n break;\n case 'Escape':\n this.opened = false;\n this.focusChip();\n break;\n case 'Space':\n // selection is handled by the chip-item component\n if (this.variant === 'single') {\n // only close dropdown if single select\n this.opened = false;\n this.focusChip();\n }\n break;\n case 'Enter':\n // selection is handled by the chip-item component\n this.opened = false;\n this.focusChip();\n break;\n }\n }\n\n syncChipState() {\n const chipItems: NodeList = this.getChipItems();\n let key: number = 0;\n chipItems.forEach((chipItem: HTMLIfxChipItemElement) => {\n chipItem.chipState = {\n emitIfxChipItemSelect: true,\n size: (this.size === 'small' ? 'small' : 'large'),\n variant: (this.variant === 'multi' ? 'multi' : 'single'),\n key: key++\n };\n });\n }\n\n syncSelectedOptionsWithProp(newValue: Array<string> | string) {\n // Clear old selected options\n this.selectedOptions = [];\n\n const generateKey = (() => {\n let count = 0;\n return () => count++;\n })();\n\n if (Array.isArray(newValue)) {\n this.selectedOptions = newValue.map(value => ({\n value,\n label: value,\n selected: true,\n key: generateKey(),\n emitIfxChange: true\n }));\n } else if (typeof newValue === 'string') {\n this.selectedOptions = [{\n value: newValue,\n label: newValue,\n selected: true,\n key: generateKey(),\n emitIfxChange: true\n }];\n }\n\n this.syncChipState();\n }\n\n componentWillLoad() {\n this.syncSelectedOptionsWithProp(this.value);\n if(!isNestedInIfxComponent(this.chip)) { \n const framework = detectFramework();\n trackComponent('ifx-chip', framework)\n }\n }\n\n render() {\n return (\n <div class='chip'>\n <div class={`chip__wrapper chip__wrapper--${this.size === 'small' ? 'small' : 'large'}\n chip__wrapper--${this.variant === 'multi' ? 'multi' : 'single'}\n ${this.opened && !this.readOnly ? 'chip__wrapper--opened' : ''}\n ${this.selectedOptions.length ? 'chip__wrapper--selected' : ''}`}\n tabIndex={0}\n onClick={!this.readOnly ? () => { this.handleWrapperClick() } : undefined}\n role='combobox'\n aria-label={this.ariaLabel}\n aria-value={this.getSelectedOptions()}\n aria-haspopup={!this.readOnly ? 'listbox' : undefined}\n aria-expanded={!this.readOnly ? this.opened.toString() : undefined}\n aria-controls={!this.readOnly ? 'dropdown' : undefined}\n aria-readonly={this.readOnly ? 'true' : undefined}\n aria-multiselectable={this.variant === 'multi' ? 'true' : undefined}\n >\n\n <div class='wrapper__label'>\n {\n (this.selectedOptions.length === 0) && `${this.placeholder}`\n }\n\n {\n (this.selectedOptions.length !== 0 && (this.variant === 'multi' || this.readOnly) && this.placeholder !== '') &&\n `${this.placeholder}:`\n }\n\n {\n (this.selectedOptions.length !== 0) &&\n <div class='label__selected-options'>\n {this.getSelectedOptions()}\n </div>\n }\n\n {\n (this.selectedOptions.length > 2 && this.variant === 'multi') &&\n <ifx-indicator variant='number' 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 { \n (this.variant !== 'multi' && this.readOnly !== false && this.selectedOptions.length > 0) &&\n <div class='wrapper__unselect-button' onClick={(e) => { this.handleUnselectButtonClick(e) }}>\n <ifx-icon key={2} icon={`cross16`} />\n </div>\n }\n\n {\n ((this.selectedOptions.length >= 1) && this.variant === 'multi') &&\n <div class='wrapper__unselect-button' onClick={(e) => { this.handleUnselectButtonClick(e) }}>\n <ifx-icon key={2} icon={`cross16`} />\n </div>\n }\n\n </div>\n\n {\n this.opened && !this.readOnly &&\n <div id='dropdown' role='listbox' class='chip__dropdown'>\n <slot />\n </div>\n }\n </div>\n );\n }\n}\n","@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../../global/font.scss\";\n\n.chip-item {\n display: flex;\n align-items: center;\n gap: tokens.$ifxSpace100;\n \n padding: tokens.$ifxSpace100 tokens.$ifxSpace200;\n \n user-select: none;\n \n transition: all 100ms ease;\n transition-property: background, color;\n \n &:hover {\n cursor: pointer;\n \n background-color: tokens.$ifxColorEngineering200;\n }\n \n &:active {\n background-color: tokens.$ifxColorEngineering300;\n }\n\n &:focus {\n outline: 2px solid tokens.$ifxColorOcean500;\n }\n \n &.chip-item--large {\n font: tokens.$ifxBodyBody03;\n }\n \n &.chip-item--small {\n font: tokens.$ifxBodyBody04;\n }\n\n &.chip-item--selected {\n color: tokens.$ifxColorOcean500;\n\n .chip-item__selected-indicator {\n display: block;\n }\n }\n}\n\n.chip-item__selected-indicator {\n display: none;\n \n margin-left: auto;\n}\n\n","import { h,\n Component,\n Element,\n Event,\n EventEmitter, \n Listen,\n Prop, \n Watch } from '@stencil/core';\nimport { ChipItemSelectEvent, ChipState } from '../interfaces';\n\n@Component({\ntag: 'ifx-chip-item',\nstyleUrl: 'chip-item.scss',\nshadow: true\n})\n\nexport class ChipItem {\n@Element() chipItem: HTMLIfxChipItemElement;\n\n@Event({ composed: false }) ifxChipItemSelect: EventEmitter<ChipItemSelectEvent>;\n\n@Prop() value: string = undefined;\n@Prop() chipState: ChipState = { emitIfxChipItemSelect: true, variant: 'multi', size: 'large' }; \n@Prop({ mutable: true, reflect: true }) selected: boolean = false;\n\n@Listen('ifxChipItemSelect', { target: 'body' })\nupdateItemSelection(event: CustomEvent<ChipItemSelectEvent>) {\n if (this.chipState.variant === 'single') {\n const target = event.target as HTMLIfxChipItemElement;\n /* Also making sure chip items are from the same group (parent) while unselecting. */\n if (this.chipItem !== target && this.chipItem.parentElement === target.parentElement) {\n this.selected = false;\n }\n }\n} \n\n@Watch('selected')\nvalidateSelected(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue) {\n /* Do not emit if ChipState does not allow. */\n if (this.chipState.emitIfxChipItemSelect){\n this.emitIfxChipItemSelectEvent();\n } else {\n this.chipState.emitIfxChipItemSelect = true;\n }\n }\n} \n\ngetItemLabel(): string {\n return this.chipItem.innerText as string;\n}\n\ntoggleItemSelection() {\n this.selected = !this.selected;\n}\n \n\nemitIfxChipItemSelectEvent(emitIfxChange: boolean = true) {\n this.ifxChipItemSelect.emit({ emitIfxChange: emitIfxChange,\n key: this.chipState.key,\n label: this.getItemLabel(), \n selected: this.selected, \n value: this.value });\n}\n\nhandleItemClick() {\n this.toggleItemSelection();\n}\n\nhandleItemKeyDown(event: KeyboardEvent) {\n if (event.code === 'Enter' || event.code === 'Space') {\n this.toggleItemSelection();\n }\n}\n\nhandleSelectedState() {\n if (this.selected) {\n this.emitIfxChipItemSelectEvent(false);\n }\n}\n\n\ncomponentWillLoad() {\n /* Propogating the selected state to the Chip (Parent) component if it is set. */\n this.handleSelectedState();\n}\n\nrender() {\n return (\n <div class={`chip-item chip-item--${this.chipState.size} \n chip-item--${(this.selected && this.chipState.variant) === 'single' ? 'selected' : ''}`} \n tabIndex={0}\n onClick={() => {this.handleItemClick()}}\n onKeyDown={(e) => {this.handleItemKeyDown(e)}}\n role=\"option\"\n aria-selected={this.selected.toString()}> \n {/* Checkbox; renders only in 'multi' variant. */}\n { \n this.chipState.variant === 'multi' &&\n <ifx-checkbox checked={this.selected}\n tabIndex={-1} \n size='s'>\n </ifx-checkbox>\n }\n\n <div class='chip-item__label'> <slot /> </div>\n\n {/* Selected indicator only visible in 'single' variant. */}\n <div class='chip-item__selected-indicator'> \n <ifx-icon icon='check-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\n\n\n\n & .items__per-page-wrapper {\n display: flex;\n align-items: center;\n gap: 16px;\n\n & .items__per-page-label {\n color: #1D1D1D;\n font-size: 14px;\n font-style: normal;\n font-weight: 600;\n line-height: 20px;\n }\n\n & .items__per-page-field {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n\n & ifx-select {\n width: 92px;\n }\n }\n }\n\n & .items__total-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 12px;\n\n & .items__total-button {\n display: flex;\n width: 40px;\n height: 40px;\n justify-content: center;\n align-items: center;\n border-radius: 100px;\n border: 1px solid #BFBBBB;\n background: #FFF;\n }\n\n & .page__numbers-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 12px;\n\n & .page__number-item {\n display: flex;\n padding: 6px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 100px;\n\n &.active {\n background-color: #0A8276;\n\n & span {\n color: #fff;\n }\n }\n\n &:hover {\n cursor: pointer;\n }\n\n &:hover:not(.active) {\n background-color: #ddd;\n\n }\n\n &:active:not(.active) {\n background-color: #575352;\n }\n\n & span {\n display: flex;\n width: 16px;\n height: 16px;\n flex-direction: column;\n justify-content: center;\n color: #1D1D1D;\n text-align: center;\n font-size: 13px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n }\n }\n }\n }\n}\n\n\n.pagination {\n display: flex;\n\n & ifx-icon-button:first-of-type {\n margin-right: 12px;\n }\n\n & ifx-icon-button:last-of-type {\n margin-left: 12px;\n }\n}\n\na {\n padding: 8px;\n border-radius: 100px;\n}\n\nol {\n list-style-type: none;\n padding: 0;\n margin: 0;\n display: inline-flex;\n align-items: center;\n gap: 12px;\n}\n\nli {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n border-radius: 100px;\n\n &:hover:not(.active) {\n & a {\n background-color: #EEEDED;\n }\n }\n\n &:active:not(.active) {\n & a {\n background-color: #575352;\n color: #fff;\n }\n }\n\n &.active {\n background-color: #0A8276;\n\n & a {\n color: #fff;\n }\n }\n\n &:hover {\n cursor: pointer;\n }\n\n & a {\n text-decoration: none;\n display: flex;\n width: 16px;\n height: 16px;\n flex-direction: column;\n justify-content: center;\n color: #1D1D1D;\n text-align: center;\n font-size: 13px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n align-items: center;\n }\n}\n\n.prev,\n.next {\n &.disabled {\n cursor: default;\n\n &:hover {\n cursor: default;\n text-decoration: none;\n }\n }\n}\n\n.prev {\n margin-right: 2.5px;\n}\n\n.next {\n margin-left: 2.5px;\n}\n\n\n@mixin ellipsis($before: true) {\n content: \"\\2026\";\n font-size: 13px;\n display: inline-block;\n\n @if($before) {\n margin-right: 6px;\n }\n\n @else {\n margin-left: 6px;\n }\n}\n\n\n// @media(max-width:460px) {\n// li {\n\n// &:first-child,\n// &.active,\n// &.active-sibling:nth-last-child(2), // Show second to last child if the last one is active\n// &:last-child {\n// //display: inline-block !important;\n// display: inline-flex !important;\n// flex-direction: row;\n// }\n\n// $how-many-on-ends: 3; // 1,2,3,...,10 || 1,...,8,9,10\n// // There are >= 5 pages\n// &:first-child:nth-last-child(n+6) {\n\n// &~li {\n// // Start out with all siblings hidden\n// display: none;\n\n// // Show the last children in the list by default\n// &:nth-last-child(-n+#{$how-many-on-ends}) {\n// //display: inline-block;\n// display: inline-flex;\n// flex-direction: row;\n\n// }\n\n// // The child at the beginning of the last group shows ellipsis for the group\n// &:nth-last-child(#{$how-many-on-ends}) {\n// &:before {\n// @include ellipsis(true);\n// }\n// }\n\n// // The very beginning elements do not need to show ellipsis\n// // The very end elements do not need to show ellipsis\n// }\n\n\n// &.active,\n// &~li.active {\n\n// // Show ellipsis before and after the active element\n// &:before {\n// @include ellipsis(true);\n// }\n// &:after {\n// @include ellipsis(false);\n// }\n\n\n// // If the active element is in the first or last group, don't show ellipsis (siblings will take care of it)\n// &:nth-child(-n+#{$how-many-on-ends - 1}),\n// &:nth-last-child(-n+#{$how-many-on-ends - 1}) {\n// &:before, &:after {\n// display: none;\n// }\n// }\n\n// // Hide the last group if \"active\" comes before them\n// &~li:nth-last-child(-n+#{$how-many-on-ends}) {\n// display: none;\n// }\n\n// // Show the first group together if \"active\" comes before them\n// &~li:nth-child(-n+#{$how-many-on-ends}) {\n// //display: inline-block;\n// display: inline-flex;\n// flex-direction: row;\n// }\n\n// // If \"active\" is before the last member in the group, don't show ellipsis\n// &~li:nth-child(-n+#{$how-many-on-ends - 1}) {\n// &:after {\n// display: none;\n// }\n// }\n\n\n// // The child at the end of the first group shows ellipsis for the group\n// &~li:nth-child(#{$how-many-on-ends}) {\n// &:after {\n// @include ellipsis(false);\n// }\n// }\n// }\n// }\n// }\n// }\n\n@media (min-width: 400px) {\n li {\n\n &:first-child,\n &.active-sibling,\n &.active,\n &.active+li,\n &:last-child {\n //display: inline-block!important;\n display: inline-flex !important;\n flex-direction: row;\n }\n\n // There are >= 7 pages\n &:first-child:nth-last-child(n+8) {\n $how-many-on-ends: 5; // 1,2,3,4,5,...,10 || 1,...6,7,8,9,10\n\n &~li {\n // Start out with all siblings hidden\n display: none;\n\n // Show ellipsis before the previous one\n &.active-sibling:before {\n @include ellipsis(true);\n }\n\n // Show ellipsis after the next one\n &.active+li:after {\n @include ellipsis(false);\n }\n\n // Show the last children in the list by default\n &:nth-last-child(-n+#{$how-many-on-ends}) {\n //display: inline-block;\n display: inline-flex;\n flex-direction: row;\n }\n\n // The child at the beginning of the last group shows ellipsis for the group\n &:nth-last-child(#{$how-many-on-ends}) {\n &:before {\n @include ellipsis(true);\n }\n }\n\n // The very beginning elements do not need to show ellipsis\n &:nth-child(-n+#{$how-many-on-ends - 3}),\n // The very end elements do not need to show ellipsis\n &:nth-last-child(-n+#{$how-many-on-ends - 3}),\n // Even if it's a sibling to \"active\"\n &.active-sibling:nth-last-child(-n+#{$how-many-on-ends - 1}) {\n\n &:before,\n &:after {\n display: none !important;\n }\n }\n }\n\n &.active,\n &~li.active {\n\n // Hide the last group if \"active\" comes before them\n &~li:nth-last-child(-n+#{$how-many-on-ends}) {\n display: none;\n\n // If there is overlap, the element will show, but hide it's ellipsis\n &:before {\n display: none;\n }\n }\n\n // Show the first group together if \"active\" comes before them\n &~li:nth-child(-n+#{$how-many-on-ends}) {\n //display: inline-block;\n display: inline-flex !important;\n flex-direction: row;\n }\n\n // If \"active\" is before the last member in the group, don't show ellipsis\n &~li:nth-child(-n+#{$how-many-on-ends - 1}) {\n &:after {\n display: none;\n }\n }\n\n\n // The child at the end of the first group shows ellipsis for the group\n &~li:nth-child(#{$how-many-on-ends}) {\n &:after {\n @include ellipsis(false);\n }\n }\n\n // \"active\" should never show ellipsis\n &:before,\n &:after {\n display: none;\n }\n }\n }\n }\n}","import { Component, h, Element, Event, EventEmitter, Prop, State, Listen } from '@stencil/core';\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 @Prop() currentPage: number = 1;\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 @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 componentDidLoad() {\n this.initPagination();\n }\n\n updateVisiblePages() {\n const buffer = 2;\n const totalPages = this.numberOfPages.length;\n const current = this.internalPage;\n let pages: (number | string)[] = [];\n \n if (totalPages <= 5) {\n pages = [...this.numberOfPages];\n } else {\n pages.push(1);\n \n if (current > buffer + 1) pages.push('...');\n \n let start = Math.max(2, current - buffer);\n let end = Math.min(totalPages - 1, current + buffer);\n \n if (current <= buffer + 1) end = buffer * 2 + 1;\n if (current >= totalPages - buffer) start = totalPages - buffer * 2;\n \n for (let i = start; i <= end; i++) pages.push(i);\n \n if (current < totalPages - buffer) pages.push('...');\n pages.push(totalPages);\n }\n \n this.visiblePages = [...new Set(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 if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-pagination', framework)\n }\n this.calculateNumberOfPages();\n this.filterOptionsArray();\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 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 <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 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 <div class=\"items__total-wrapper\">\n <div class=\"pagination\">\n <ifx-icon-button\n class=\"prev\"\n icon=\"arrow-left-16\"\n onClick={() => this.changePage(this.internalPage - 1)}\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 <a href=\"javascript:void(0)\">{page}</a>\n </li>\n ) : (\n <li class=\"ellipsis\" key={`ellipsis-${i}`}>\n <span>...</span>\n </li>\n ))}\n </ol>\n \n <ifx-icon-button\n class=\"next\"\n icon=\"arrow-right-16\"\n onClick={() => this.changePage(this.internalPage + 1)}\n ></ifx-icon-button>\n </div>\n </div>\n </div>\n );\n }\n}"],"mappings":"wIAAA,MAAMA,EAAU,m/CAChB,MAAAC,EAAeD,E,MCUFE,EAAI,MALjB,WAAAC,CAAAC,G,+CASUC,KAAAC,YAAsB,GACtBD,KAAAE,KAA0B,QACTF,KAAAG,MAAgCC,UACjDJ,KAAAK,QAA8B,SAC9BL,KAAAM,SAAoB,MAGnBN,KAAAO,OAAkB,MAClBP,KAAAQ,gBAA8C,E,CAGvD,iBAAAC,CAAkBC,GAChBV,KAAKW,4BAA4BD,E,CAInC,oBAAAE,CAAqBF,GACnB,GAAIA,EAAU,CACZV,KAAKO,OAAS,K,EAKlB,2BAAAM,CAA4BC,GAC1B,MAAMC,EAAOD,EAAME,eACnB,MAAMC,EAA2BjB,KAAKkB,KAAKC,WAAWC,cAAc,kBACpE,MAAMC,EAA4BrB,KAAKkB,KAAKC,WAAWC,cAAc,mBACrE,IAAKL,EAAKO,SAASD,KAAkBN,EAAKO,SAASL,IAAgBjB,KAAKO,OAAQ,CAC9EP,KAAKuB,oB,EAKT,aAAAC,CAAcV,GAEZ,GAAIA,EAAMW,OAAS,MAAO,CACxBX,EAAMY,gB,CAGR,GAAKZ,EAAMa,OAAuBC,UAAY,WAAY,CACxD5B,KAAK6B,qBAAqBf,E,MACrB,GAAKA,EAAMa,OAAuBC,UAAY,gBAAiB,CACpE5B,KAAK8B,sBAAsBhB,E,EAK/B,qBAAAiB,CAAsBjB,GACpB,MAAMkB,EAAmClB,EAAMmB,OAC/C,MAAMC,EAAgD,IAAIlC,KAAKQ,iBAE/D,GAAIR,KAAKK,UAAY,QAAS,CAC5B,GAAI2B,EAAYG,SAAU,CACxBnC,KAAKO,OAAS,MACd,MAAM6B,EAAsBpC,KAAKqC,eACjCD,EAAUE,SAASC,IACjB,GAAIA,EAASJ,UAAYI,IAAazB,EAAMa,OAAQ,CAClDY,EAASC,UAASC,OAAAC,OAAAD,OAAAC,OAAA,GACbH,EAASC,WAAS,CACrBG,sBAAuB,QAEzBJ,EAASJ,SAAW,K,KAGxBnC,KAAKQ,gBAAkB,CAACwB,E,KACnB,CACLhC,KAAKQ,gBAAkB,E,CAEzBR,KAAKG,MAAQH,KAAKQ,gBAAgB,GAAKR,KAAKQ,gBAAgB,GAAGL,MAAQC,S,KAClE,CACL,GAAI4B,EAAYG,SAAU,CAExB,IAAKnC,KAAKQ,gBAAgBoC,MAAKC,GAAUA,EAAO1C,QAAU6B,EAAY7B,QAAQ,CAC5EH,KAAKQ,gBAAkB,IAAIR,KAAKQ,gBAAiBwB,E,MAE9C,CACLhC,KAAKQ,gBAAkBR,KAAKQ,gBAAgBsC,QAAQD,GAAWA,EAAO1C,QAAU6B,EAAY7B,O,CAE9FH,KAAKG,MAAQH,KAAKQ,gBAAgBuC,KAAKF,GAAWA,EAAO1C,O,CAG3D,GAAI6B,EAAYgB,cAAe,CAC7BhD,KAAKiD,UAAUC,KAAK,CAClBhB,kBAAmBA,EACnBiB,iBAAkBnD,KAAKQ,gBACvB4C,KAAMpD,KAAKC,a,EAKjB,YAAAoC,GACE,OAAOrC,KAAKkB,KAAKmC,iBAAiB,gB,CAGpC,kBAAAC,GACE,GAAItD,KAAKK,UAAY,QAAS,CAC5B,OAAOL,KAAKQ,gBAAgBuC,KAAIF,GAAUA,EAAOU,QAAOC,KAAK,G,CAE/D,OAAOxD,KAAKQ,gBAAgBiD,MAAM,EAAG,GAAGV,KAAIF,GAAUA,EAAOU,QAAOC,KAAK,K,CAG3E,kBAAAjC,GACE,GAAIvB,KAAKM,SAAU,OACnBN,KAAKO,QAAUP,KAAKO,M,CAOtB,eAAAmD,CAAgBC,EAAgB,GAC9B3D,KAAKO,OAAS,KACd,MAAM6B,EAAsBpC,KAAKqC,eACjC,IAAIuB,EAEJ,GAAID,KAAW,EAAG,CAChBC,EAAOxB,EAAUwB,KAAKxB,EAAUyB,OAAS,E,MACpC,GAAIF,GAAS,GAAKA,EAAQvB,EAAUyB,OAAQ,CACjDD,EAAOxB,EAAUwB,KAAKD,E,KACjB,CACLG,QAAQC,MAAM,kBAAkBJ,KAChC,M,CAGF,MAAMK,EAAaJ,EAAKzC,WAAWC,cAAc,cACjD,GAAI4C,EAAY,CAEdC,YAAW,KACTD,EAAWE,OAAO,GACjB,E,EAIP,SAAAC,GACE,MAAMlD,EAA2BjB,KAAKkB,KAAKC,WAAWC,cAAc,kBACpEH,EAAYiD,O,CAGd,yBAAAE,CAA0BtD,GACxBA,EAAMuD,kBACNrE,KAAKO,OAAS,MAEd,IAAI+D,EAAoB,MACxB,MAAMlC,EAAsBpC,KAAKqC,eACjCD,EAAUE,SAASC,IACjB,GAAIA,EAASJ,SAAU,CACrBmC,EAAoB,KACpB/B,EAASC,UAASC,OAAAC,OAAAD,OAAAC,OAAA,GACbH,EAASC,WAAS,CACrBG,sBAAuB,QAEzBJ,EAASJ,SAAW,K,KAKxB,GAAImC,EAAmB,CACrB,MAAMpC,EAAgDlC,KAAKQ,gBAC3DR,KAAKQ,gBAAkB,GACvBR,KAAKG,MAAQ,GACbH,KAAKiD,UAAUC,KAAK,CAClBhB,kBAAmBA,EACnBiB,iBAAkB,GAClBC,KAAMpD,KAAKC,a,EAKjB,kBAAAsE,GACE,IAAKvE,KAAKM,SAAU,CAClBN,KAAKuB,oB,EAIT,oBAAAM,CAAqBf,GAEnB,GAAId,KAAKM,SAAU,OAEnB,IAAKN,KAAKO,OAAQ,CAChB,OAAQO,EAAMW,MACZ,IAAK,QACL,IAAK,QACL,IAAK,YACHzB,KAAK0D,gBAAgB,GACrB,MACF,IAAK,UACH1D,KAAK0D,iBAAiB,GACtB,M,KAEC,CACL,OAAQ5C,EAAMW,MACZ,IAAK,SACHzB,KAAKO,OAAS,MACdP,KAAKmE,YACL,M,EAKR,qBAAArC,CAAsBhB,GACpB,IAAI0D,EAAYxE,KAAKqC,eAErB,IAAIoC,EAAcC,MAAMC,KAAKH,GAAWI,QAAQ9D,EAAMa,QACtD,GAAI8C,KAAiB,EAAG,CACtBX,QAAQC,MAAM,kCACd,M,CAGF,OAAQjD,EAAMW,MACZ,IAAK,YACH,GAAIgD,IAAgBD,EAAUX,OAAS,EAAG,MAC1C7D,KAAK0D,gBAAgBe,EAAc,GACnC,MACF,IAAK,UACH,GAAIA,IAAgB,EAAG,MACvBzE,KAAK0D,gBAAiBe,EAAc,GACpC,MACF,IAAK,SACHzE,KAAKO,OAAS,MACdP,KAAKmE,YACL,MACF,IAAK,QAEH,GAAInE,KAAKK,UAAY,SAAU,CAE7BL,KAAKO,OAAS,MACdP,KAAKmE,W,CAEP,MACF,IAAK,QAEHnE,KAAKO,OAAS,MACdP,KAAKmE,YACL,M,CAIN,aAAAU,GACE,MAAMzC,EAAsBpC,KAAKqC,eACjC,IAAIyC,EAAc,EAClB1C,EAAUE,SAASC,IACjBA,EAASC,UAAY,CACnBG,sBAAuB,KACvBzC,KAAOF,KAAKE,OAAS,QAAU,QAAU,QACzCG,QAAUL,KAAKK,UAAY,QAAU,QAAU,SAC/CyE,IAAKA,IACN,G,CAIL,2BAAAnE,CAA4BD,GAE1BV,KAAKQ,gBAAkB,GAEvB,MAAMuE,EAAc,MAClB,IAAIC,EAAQ,EACZ,MAAO,IAAMA,GACd,EAHmB,GAKpB,GAAIN,MAAMO,QAAQvE,GAAW,CAC3BV,KAAKQ,gBAAkBE,EAASqC,KAAI5C,IAAK,CACvCA,QACAoD,MAAOpD,EACPgC,SAAU,KACV2C,IAAKC,IACL/B,cAAe,Q,MAEZ,UAAWtC,IAAa,SAAU,CACvCV,KAAKQ,gBAAkB,CAAC,CACtBL,MAAOO,EACP6C,MAAO7C,EACPyB,SAAU,KACV2C,IAAKC,IACL/B,cAAe,M,CAInBhD,KAAK6E,e,CAGP,iBAAAK,GACElF,KAAKW,4BAA4BX,KAAKG,OACtC,IAAIgF,EAAuBnF,KAAKkB,MAAO,CACrC,MAAMkE,EAAYC,IAClBC,EAAe,WAAYF,E,EAI/B,MAAAG,GACE,OACEC,EAAA,OAAAV,IAAA,2CAAKW,MAAM,QACTD,EAAA,OAAAV,IAAA,2CAAKW,MAAO,gCAAgCzF,KAAKE,OAAS,QAAU,QAAU,6CACnDF,KAAKK,UAAY,QAAU,QAAU,+BACpDL,KAAKO,SAAWP,KAAKM,SAAW,wBAA0B,yBAC1DN,KAAKQ,gBAAgBqD,OAAS,0BAA4B,KACpE6B,SAAU,EACVC,SAAU3F,KAAKM,SAAW,KAAQN,KAAKuE,oBAAoB,EAAKnE,UAChEwF,KAAK,WAAU,aACH5F,KAAK6F,UAAS,aACd7F,KAAKsD,qBAAoB,iBACrBtD,KAAKM,SAAW,UAAYF,UAAS,iBACrCJ,KAAKM,SAAWN,KAAKO,OAAOuF,WAAa1F,UAAS,iBAClDJ,KAAKM,SAAW,WAAaF,UAAS,gBACvCJ,KAAKM,SAAW,OAASF,UAAS,uBAC3BJ,KAAKK,UAAY,QAAU,OAASD,WAG1DoF,EAAA,OAAAV,IAAA,2CAAKW,MAAM,kBAENzF,KAAKQ,gBAAgBqD,SAAW,GAAM,GAAG7D,KAAKC,cAI9CD,KAAKQ,gBAAgBqD,SAAW,IAAM7D,KAAKK,UAAY,SAAWL,KAAKM,WAAaN,KAAKC,cAAgB,IAC1G,GAAGD,KAAKC,eAIPD,KAAKQ,gBAAgBqD,SAAW,GACjC2B,EAAA,OAAAV,IAAA,2CAAKW,MAAM,2BACRzF,KAAKsD,sBAKPtD,KAAKQ,gBAAgBqD,OAAS,GAAK7D,KAAKK,UAAY,SACrDmF,EAAA,iBAAAV,IAAA,2CAAezE,QAAQ,SAAS0F,OAAQ/F,KAAKQ,gBAAgBqD,OAAS,MAKvE7D,KAAKM,WAAaN,KAAKK,UAAY,SAAYL,KAAKK,UAAY,SAAWL,KAAKQ,gBAAgBqD,SAAW,IAC5G2B,EAAA,OAAAV,IAAA,2CAAKW,MAAM,wBACTD,EAAA,YAAUV,IAAK,EAAGkB,KAAM,qBAMzBhG,KAAKK,UAAY,SAAWL,KAAKM,WAAa,OAASN,KAAKQ,gBAAgBqD,OAAS,GACtF2B,EAAA,OAAAV,IAAA,2CAAKW,MAAM,2BAA2BE,QAAUM,IAAQjG,KAAKoE,0BAA0B6B,EAAE,GACvFT,EAAA,YAAUV,IAAK,EAAGkB,KAAM,aAKxBhG,KAAKQ,gBAAgBqD,QAAU,GAAM7D,KAAKK,UAAY,SACxDmF,EAAA,OAAAV,IAAA,2CAAKW,MAAM,2BAA2BE,QAAUM,IAAQjG,KAAKoE,0BAA0B6B,EAAE,GACvFT,EAAA,YAAUV,IAAK,EAAGkB,KAAM,cAO5BhG,KAAKO,SAAWP,KAAKM,UACrBkF,EAAA,OAAAV,IAAA,2CAAKoB,GAAG,WAAWN,KAAK,UAAUH,MAAM,kBACtCD,EAAA,QAAAV,IAAA,8C,mICpXZ,MAAMqB,EAAc,iqBACpB,MAAAC,EAAeD,E,MCeFE,EAAQ,MANrB,WAAAvG,CAAAC,G,+DAWQC,KAAAG,MAAgBC,UAChBJ,KAAAwC,UAAuB,CAAEG,sBAAuB,KAAMtC,QAAS,QAASH,KAAM,SAC9CF,KAAAmC,SAAoB,K,CAG5D,mBAAAmE,CAAoBxF,GACjB,GAAId,KAAKwC,UAAUnC,UAAY,SAAU,CACrC,MAAMsB,EAASb,EAAMa,OAErB,GAAI3B,KAAKuC,WAAaZ,GAAU3B,KAAKuC,SAASgE,gBAAkB5E,EAAO4E,cAAe,CAClFvG,KAAKmC,SAAW,K,GAM3B,gBAAAqE,CAAiB9F,EAAmB+F,GACjC,GAAI/F,IAAa+F,EAAU,CAEvB,GAAIzG,KAAKwC,UAAUG,sBAAsB,CACrC3C,KAAK0G,4B,KACF,CACH1G,KAAKwC,UAAUG,sBAAwB,I,GAKlD,YAAAgE,GACG,OAAO3G,KAAKuC,SAASqE,S,CAGxB,mBAAAC,GACG7G,KAAKmC,UAAYnC,KAAKmC,Q,CAIzB,0BAAAuE,CAA2B1D,EAAyB,MACjDhD,KAAK8G,kBAAkB5D,KAAK,CAAEF,cAAeA,EACrB8B,IAAK9E,KAAKwC,UAAUsC,IACpBvB,MAAOvD,KAAK2G,eACZxE,SAAUnC,KAAKmC,SACfhC,MAAOH,KAAKG,O,CAGvC,eAAA4G,GACG/G,KAAK6G,qB,CAGR,iBAAAG,CAAkBlG,GACf,GAAIA,EAAMW,OAAS,SAAWX,EAAMW,OAAS,QAAS,CAClDzB,KAAK6G,qB,EAIZ,mBAAAI,GACG,GAAIjH,KAAKmC,SAAU,CACfnC,KAAK0G,2BAA2B,M,EAKvC,iBAAAxB,GAEGlF,KAAKiH,qB,CAGR,MAAA1B,GACG,OACIC,EAAA,OAAAV,IAAA,2CAAKW,MAAO,wBAAwBzF,KAAKwC,UAAUtC,0CACxBF,KAAKmC,UAAYnC,KAAKwC,UAAUnC,WAAa,SAAW,WAAa,KAC5FqF,SAAU,EACVC,QAAS,KAAO3F,KAAK+G,iBAAiB,EACtCG,UAAYjB,IAAOjG,KAAKgH,kBAAkBf,EAAE,EAC5CL,KAAK,SAAQ,gBACE5F,KAAKmC,SAAS2D,YAGzB9F,KAAKwC,UAAUnC,UAAY,SAC3BmF,EAAA,gBAAAV,IAAA,2CAAcqC,QAASnH,KAAKmC,SACxBuD,UAAW,EACXxF,KAAK,MAIbsF,EAAA,OAAAV,IAAA,2CAAKW,MAAM,oBAAkB,IAAED,EAAA,QAAAV,IAAA,6CAAQ,KAGvCU,EAAA,OAAAV,IAAA,2CAAKW,MAAM,iCACPD,EAAA,YAAAV,IAAA,2CAAUkB,KAAK,YAAU,M,uGC7GxC,MAAMoB,EAAgB,ohKACtB,MAAAC,EAAeD,E,MCSFE,EAAU,MALvB,WAAAxH,CAAAC,G,uDAQUC,KAAAuH,YAAsB,EACrBvH,KAAAwH,aAAuB,EACvBxH,KAAAyH,qBAA+B,GAC/BzH,KAAA0H,cAA0B,GAC3B1H,KAAA2H,MAAgB,EAEf3H,KAAA4H,qBAA8B,GAC9B5H,KAAA6H,aAAoC,GAErC7H,KAAA8H,eAAiB,WACjB9H,KAAA+H,aAAe,SAwHf/H,KAAAgI,gBAAmB/B,IACzB,MAAMgC,EAAKhC,EAAEiC,cACb,MAAMC,EAAOC,SAASH,EAAGI,QAAQF,MACjC,IAAKG,MAAMH,GAAOnI,KAAKuI,WAAWJ,EAAK,C,CAvHvC,eAAAK,CAAgBvC,G,QACd,MAAMwC,IAAgBC,EAAAzC,EAAEhE,UAAM,MAAAyG,SAAA,SAAAA,EAAEvI,UAASwI,EAAA1C,EAAEhE,UAAM,MAAA0G,SAAA,SAAAA,EAAEpF,OACnD,MAAMqF,EAAkBR,SAASK,IAAkB,GAEnD,GAAIG,IAAoB5I,KAAKyH,qBAAsB,CACjD,M,CAGFzH,KAAKyH,qBAAuBmB,EAC5B5I,KAAKwH,aAAe,EACpBxH,KAAK6I,yBACL7I,KAAK8I,qBACL9I,KAAK+I,qB,CAGT,gBAAAC,GACEhJ,KAAKiJ,gB,CAGP,kBAAAH,GACE,MAAMI,EAAS,EACf,MAAMC,EAAanJ,KAAK0H,cAAc7D,OACtC,MAAMuF,EAAUpJ,KAAKwH,aACrB,IAAI6B,EAA6B,GAEjC,GAAIF,GAAc,EAAG,CACnBE,EAAQ,IAAIrJ,KAAK0H,c,KACZ,CACL2B,EAAMC,KAAK,GAEX,GAAIF,EAAUF,EAAS,EAAGG,EAAMC,KAAK,OAErC,IAAIC,EAAQC,KAAKC,IAAI,EAAGL,EAAUF,GAClC,IAAIQ,EAAMF,KAAKG,IAAIR,EAAa,EAAGC,EAAUF,GAE7C,GAAIE,GAAWF,EAAS,EAAGQ,EAAMR,EAAS,EAAI,EAC9C,GAAIE,GAAWD,EAAaD,EAAQK,EAAQJ,EAAaD,EAAS,EAElE,IAAK,IAAIU,EAAIL,EAAOK,GAAKF,EAAKE,IAAKP,EAAMC,KAAKM,GAE9C,GAAIR,EAAUD,EAAaD,EAAQG,EAAMC,KAAK,OAC9CD,EAAMC,KAAKH,E,CAGbnJ,KAAK6H,aAAe,IAAI,IAAIgC,IAAIR,G,CAGlC,sBAAAR,GACE,MAAMM,EAAaK,KAAKM,KAAK9J,KAAK2H,MAAQ3H,KAAKyH,sBAC/CzH,KAAK0H,cAAgBhD,MAAMC,KAAK,CAAEd,OAAQsF,IAAc,CAACY,EAAGH,IAAMA,EAAI,IACtE5J,KAAKwH,aAAegC,KAAKC,IAAI,EAAGD,KAAKG,IAAI3J,KAAKuH,YAAa4B,G,CAG7D,kBAAAa,GACE,MAAMC,SAAejK,KAAKkK,eAAiB,SACzCC,KAAKC,MAAMpK,KAAKkK,cAAgBlK,KAAKkK,aACvClK,KAAK4H,qBAAuBqC,EAAMlH,KAAIa,GAAInB,OAAAC,OAAAD,OAAAC,OAAA,GACrCkB,GAAI,CACPL,MAAOK,EAAKL,OAASK,EAAKzD,S,CAI9B,iBAAA+E,GACE,IAAIC,EAAuBnF,KAAKqK,IAAK,CACnC,MAAMjF,EAAYC,IAClBC,EAAe,iBAAkBF,E,CAEnCpF,KAAK6I,yBACL7I,KAAKgK,qBACLhK,KAAK8I,oB,CAGP,mBAAAwB,GACG,GAAItK,KAAKuK,mBAAqBvK,KAAKwH,aAAc,CAChDxH,KAAK8I,qBACL9I,KAAKuK,iBAAmBvK,KAAKwH,Y,EAIjC,kBAAAgD,GACExK,KAAKiJ,gB,CAGP,mBAAAF,GACE/I,KAAKyK,cAAcvH,KAAK,CACtBqE,YAAavH,KAAKwH,aAClB2B,WAAYnJ,KAAK0H,cAAc7D,OAC/BqG,aAAclK,KAAKyH,sB,CAIvB,cAAAwB,GACE,MAAMyB,EAAa1K,KAAKqK,GAAGlJ,WAAWC,cAAc,eACpD,IAAKsJ,EAAY,OAEjB,MAAMC,EAAgB,KACpB,MAAMC,EAAOF,EAAWtJ,cAAiC,SACzD,MAAMyJ,EAAOH,EAAWtJ,cAAiC,SACzD,GAAIwJ,EAAM,CACRA,EAAKE,SAAW9K,KAAKwH,eAAiB,EACtCoD,EAAKG,UAAUC,OAAOhL,KAAK8H,eAAgB9H,KAAKwH,eAAiB,E,CAEnE,GAAIqD,EAAM,CACRA,EAAKC,SAAW9K,KAAKwH,eAAiBxH,KAAK0H,cAAc7D,OACzDgH,EAAKE,UAAUC,OAAOhL,KAAK8H,eAAgB9H,KAAKwH,eAAiBxH,KAAK0H,cAAc7D,O,GAIxF6G,EAAWrH,iBAAiB,MAAMf,SAAQ2F,IACxCA,EAAGgD,oBAAoB,QAASjL,KAAKgI,iBACrCC,EAAGiD,iBAAiB,QAASlL,KAAKgI,gBAAgB,IAGpD2C,G,CASF,UAAApC,CAAW4C,GACTA,EAAU3B,KAAKC,IAAI,EAAGD,KAAKG,IAAIwB,EAASnL,KAAK0H,cAAc7D,SAC3D,GAAIsH,IAAYnL,KAAKwH,aAAc,OAEnCxH,KAAKwH,aAAe2D,EACpBnL,KAAK+I,sBACL/I,KAAKiJ,gB,CAGP,MAAA1D,GACE,OACEC,EAAA,OAAAV,IAAA,2CAAKW,MAAM,aACTD,EAAA,OAAAV,IAAA,2CAAKW,MAAM,2BACTD,EAAA,OAAAV,IAAA,2CAAKW,MAAM,yBAAuB,oBAClCD,EAAA,OAAAV,IAAA,2CAAKW,MAAM,yBACTD,EAAA,cAAAV,IAAA,2CACE7E,YAAY,QAAO,cACP,QACZE,MAAOC,UACP0K,SAAU,MACV/G,MAAO,MACP7D,KAAK,IACLkL,QAASpL,KAAK4H,qBAAoB,oBAChB,aAKxBpC,EAAA,OAAAV,IAAA,2CAAKW,MAAM,wBACTD,EAAA,OAAAV,IAAA,2CAAKW,MAAM,cACTD,EAAA,mBAAAV,IAAA,2CACEW,MAAM,OACNO,KAAK,gBACLL,QAAS,IAAM3F,KAAKuI,WAAWvI,KAAKwH,aAAe,KAGrDhC,EAAA,MAAAV,IAAA,4CACC9E,KAAK6H,aAAa9E,KAAI,CAACoF,EAAMyB,WAAazB,IAAS,SAClD3C,EAAA,MACEV,IAAK,QAAQqD,IACb1C,MAAO,CAAE,CAACzF,KAAK+H,cAAeI,IAASnI,KAAKwH,cAAc,YAC/CW,GAEX3C,EAAA,KAAG6F,KAAK,sBAAsBlD,IAGhC3C,EAAA,MAAIC,MAAM,WAAWX,IAAK,YAAY8E,KACpCpE,EAAA,uBAKJA,EAAA,mBAAAV,IAAA,2CACEW,MAAM,OACNO,KAAK,iBACLL,QAAS,IAAM3F,KAAKuI,WAAWvI,KAAKwH,aAAe,O","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["tagCss","IfxTagStyle0","Tag","componentWillLoad","isNestedInIfxComponent","this","el","framework","detectFramework","trackComponent","render","h","key","class","icon","href"],"sources":["src/components/tag/tag.scss?tag=ifx-tag&encapsulation=shadow","src/components/tag/tag.tsx"],"sourcesContent":["@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 align-items: center;\n padding: tokens.$ifxSpace50 tokens.$ifxSpace200;\n border: 1px solid tokens.$ifxColorEngineering300;\n border-radius: tokens.$ifxBorderRadiusRound;\n background-color: tokens.$ifxColorBaseWhite;\n gap: tokens.$ifxSpace100;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n &:hover {\n cursor: pointer;\n border-color: tokens.$ifxColorEngineering400;\n }\n\n &:active,\n &.active {\n border-color: tokens.$ifxColorBaseBlack;\n }\n\n &:focus:not(:active, .active) {\n outline: none;\n border-color: tokens.$ifxColorBaseBlack;\n }\n\n .label-wrapper {\n text-decoration: none;\n\n .label {\n margin: 0;\n font-weight: tokens.$ifxFontWeightRegular;\n font-size: tokens.$ifxFontSizeM;\n line-height: 20px;\n color: tokens.$ifxColorBaseBlack;\n }\n }\n}","import { Component, Prop, h, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-tag',\n styleUrl: 'tag.scss',\n shadow: true\n})\nexport class Tag {\n @Element() el: HTMLElement;\n @Prop() icon: string;\n\n componentWillLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-tag', framework)\n }\n }\n\n render() {\n return (\n <div aria-label=\"a tag\" class=\"container\">\n {this.icon && (\n <ifx-icon icon={this.icon}></ifx-icon>)}\n <a href=\"javascript:void(null);\" class=\"label-wrapper\" >\n <p class=\"label\">\n <slot />\n </p>\n </a>\n </div>\n\n );\n }\n}"],"mappings":"iIAAA,MAAMA,EAAS,4lBACf,MAAAC,EAAeD,E,MCSFE,EAAG,M,yBAId,iBAAAC,GACE,IAAIC,EAAuBC,KAAKC,IAAK,CACnC,MAAMC,EAAYC,IAClBC,EAAe,UAAWF,E,EAI9B,MAAAG,GACE,OACEC,EAAA,OAAAC,IAAA,wDAAgB,QAAQC,MAAM,aAC3BR,KAAKS,MACJH,EAAA,YAAAC,IAAA,2CAAUE,KAAMT,KAAKS,OACvBH,EAAA,KAAAC,IAAA,2CAAGG,KAAK,yBAAyBF,MAAM,iBACrCF,EAAA,KAAAC,IAAA,2CAAGC,MAAM,SACPF,EAAA,QAAAC,IAAA,+C","ignoreList":[]}