@infineon/design-system 0.0.0-stage → 41.11.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 (877) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cem.json +15580 -0
  3. package/dist/cjs/animation-DvEMST7j.js +42 -0
  4. package/dist/cjs/dom-utils-BdvOgC2b.js +19 -0
  5. package/dist/cjs/icons-oFc1Jyfp.js +1334 -0
  6. package/dist/cjs/ifx-accordion-item.cjs.entry.js +118 -0
  7. package/dist/cjs/ifx-accordion.cjs.entry.js +40 -0
  8. package/dist/cjs/ifx-action-list-item.cjs.entry.js +238 -0
  9. package/dist/cjs/ifx-action-list.cjs.entry.js +30 -0
  10. package/dist/cjs/ifx-ai-label.cjs.entry.js +23 -0
  11. package/dist/cjs/ifx-alert_2.cjs.entry.js +217 -0
  12. package/dist/cjs/ifx-basic-table.cjs.entry.js +218 -0
  13. package/dist/cjs/ifx-breadcrumb-item-label.cjs.entry.js +35 -0
  14. package/dist/cjs/ifx-breadcrumb-item.cjs.entry.js +116 -0
  15. package/dist/cjs/ifx-breadcrumb.cjs.entry.js +51 -0
  16. package/dist/cjs/ifx-button.cjs.entry.js +156 -0
  17. package/dist/cjs/ifx-card-headline.cjs.entry.js +33 -0
  18. package/dist/cjs/ifx-card-image.cjs.entry.js +37 -0
  19. package/dist/cjs/ifx-card-links.cjs.entry.js +18 -0
  20. package/dist/cjs/ifx-card-overline.cjs.entry.js +17 -0
  21. package/dist/cjs/ifx-card-text.cjs.entry.js +26 -0
  22. package/dist/cjs/ifx-card.cjs.entry.js +77 -0
  23. package/dist/cjs/ifx-checkbox-group.cjs.entry.js +77 -0
  24. package/dist/cjs/ifx-checkbox.cjs.entry.js +255 -0
  25. package/dist/cjs/ifx-chip-item_2.cjs.entry.js +392 -0
  26. package/dist/cjs/ifx-chip.cjs.entry.js +340 -0
  27. package/dist/cjs/ifx-content-switcher-item.cjs.entry.js +21 -0
  28. package/dist/cjs/ifx-content-switcher.cjs.entry.js +188 -0
  29. package/dist/cjs/ifx-counter.cjs.entry.js +74 -0
  30. package/dist/cjs/ifx-date-picker.cjs.entry.js +203 -0
  31. package/dist/cjs/ifx-download.cjs.entry.js +40 -0
  32. package/dist/cjs/ifx-dropdown-header.cjs.entry.js +17 -0
  33. package/dist/cjs/ifx-dropdown-item.cjs.entry.js +68 -0
  34. package/dist/cjs/ifx-dropdown-menu.cjs.entry.js +71 -0
  35. package/dist/cjs/ifx-dropdown-separator.cjs.entry.js +17 -0
  36. package/dist/cjs/ifx-dropdown-trigger-button.cjs.entry.js +29 -0
  37. package/dist/cjs/ifx-dropdown-trigger.cjs.entry.js +19 -0
  38. package/dist/cjs/ifx-dropdown.cjs.entry.js +257 -0
  39. package/dist/cjs/ifx-error-page.cjs.entry.js +54 -0
  40. package/dist/cjs/ifx-file-upload.cjs.entry.js +821 -0
  41. package/dist/cjs/ifx-filter-accordion.cjs.entry.js +67 -0
  42. package/dist/cjs/ifx-filter-bar.cjs.entry.js +119 -0
  43. package/dist/cjs/ifx-filter-search.cjs.entry.js +62 -0
  44. package/dist/cjs/ifx-filter-type-group.cjs.entry.js +168 -0
  45. package/dist/cjs/ifx-footer-column.cjs.entry.js +18 -0
  46. package/dist/cjs/ifx-footer.cjs.entry.js +35 -0
  47. package/dist/cjs/ifx-icon-button.cjs.entry.js +106 -0
  48. package/dist/cjs/ifx-icon.cjs.entry.js +134 -0
  49. package/dist/cjs/ifx-icons-preview.cjs.entry.js +15499 -0
  50. package/dist/cjs/ifx-indicator.cjs.entry.js +46 -0
  51. package/dist/cjs/ifx-link.cjs.entry.js +125 -0
  52. package/dist/cjs/ifx-list-entry.cjs.entry.js +44 -0
  53. package/dist/cjs/ifx-list.cjs.entry.js +143 -0
  54. package/dist/cjs/ifx-modal.cjs.entry.js +403 -0
  55. package/dist/cjs/ifx-multiselect-group.cjs.entry.js +42 -0
  56. package/dist/cjs/ifx-multiselect_2.cjs.entry.js +1151 -0
  57. package/dist/cjs/ifx-navbar-item.cjs.entry.js +438 -0
  58. package/dist/cjs/ifx-navbar-profile.cjs.entry.js +173 -0
  59. package/dist/cjs/ifx-navbar.cjs.entry.js +705 -0
  60. package/dist/cjs/ifx-notification.cjs.entry.js +58 -0
  61. package/dist/cjs/ifx-overview-table.cjs.entry.js +59 -0
  62. package/dist/cjs/ifx-popover.cjs.entry.js +340 -0
  63. package/dist/cjs/ifx-progress-bar.cjs.entry.js +46 -0
  64. package/dist/cjs/ifx-radio-button-group.cjs.entry.js +77 -0
  65. package/dist/cjs/ifx-radio-button.cjs.entry.js +148 -0
  66. package/dist/cjs/ifx-search-bar.cjs.entry.js +123 -0
  67. package/dist/cjs/ifx-search-field.cjs.entry.js +562 -0
  68. package/dist/cjs/ifx-segment.cjs.entry.js +46 -0
  69. package/dist/cjs/ifx-segmented-control.cjs.entry.js +151 -0
  70. package/dist/cjs/ifx-select-group.cjs.entry.js +43 -0
  71. package/dist/cjs/ifx-select_2.cjs.entry.js +574 -0
  72. package/dist/cjs/ifx-set-filter.cjs.entry.js +83 -0
  73. package/dist/cjs/ifx-sidebar-item.cjs.entry.js +290 -0
  74. package/dist/cjs/ifx-sidebar-separator.cjs.entry.js +17 -0
  75. package/dist/cjs/ifx-sidebar-title.cjs.entry.js +24 -0
  76. package/dist/cjs/ifx-sidebar.cjs.entry.js +454 -0
  77. package/dist/cjs/ifx-slider.cjs.entry.js +364 -0
  78. package/dist/cjs/ifx-spinner.cjs.entry.js +53 -0
  79. package/dist/cjs/ifx-status.cjs.entry.js +36 -0
  80. package/dist/cjs/ifx-step.cjs.entry.js +104 -0
  81. package/dist/cjs/ifx-stepper.cjs.entry.js +168 -0
  82. package/dist/cjs/ifx-switch.cjs.entry.js +190 -0
  83. package/dist/cjs/ifx-tab.cjs.entry.js +42 -0
  84. package/dist/cjs/ifx-table.cjs.entry.js +1466 -0
  85. package/dist/cjs/ifx-tabs.cjs.entry.js +380 -0
  86. package/dist/cjs/ifx-templates-ui.cjs.entry.js +58 -0
  87. package/dist/cjs/ifx-text-field.cjs.entry.js +131 -0
  88. package/dist/cjs/ifx-textarea.cjs.entry.js +132 -0
  89. package/dist/cjs/ifx-toast-container.cjs.entry.js +114 -0
  90. package/dist/cjs/ifx-toast.cjs.entry.js +193 -0
  91. package/dist/cjs/ifx-tooltip.cjs.entry.js +228 -0
  92. package/dist/cjs/ifx-tree-view-item.cjs.entry.js +404 -0
  93. package/dist/cjs/ifx-tree-view.cjs.entry.js +70 -0
  94. package/dist/cjs/index-BiOrxEib.js +3361 -0
  95. package/dist/cjs/index-Bp6Dd2i1.js +94 -0
  96. package/dist/cjs/index.cjs.js +121 -0
  97. package/dist/cjs/infineon-design-system-stencil.cjs.js +45 -0
  98. package/dist/cjs/loader.cjs.js +12 -0
  99. package/dist/cjs/main.esm-Y2lKtAqX.js +56050 -0
  100. package/dist/cjs/popper-Dmp8OTYh.js +1792 -0
  101. package/dist/cjs/toast-config-D0RjnbKw.js +21 -0
  102. package/dist/cjs/tracking-BPjaTlNR.js +144 -0
  103. package/dist/cjs/url-utils-CPE59br4.js +18 -0
  104. package/dist/collection/collection-manifest.json +105 -0
  105. package/dist/collection/components/accordion/accordion.css +10 -0
  106. package/dist/collection/components/accordion/accordion.js +76 -0
  107. package/dist/collection/components/accordion/accordionItem.css +128 -0
  108. package/dist/collection/components/accordion/accordionItem.js +250 -0
  109. package/dist/collection/components/action-list/action-list-item.css +71 -0
  110. package/dist/collection/components/action-list/action-list-item.js +409 -0
  111. package/dist/collection/components/action-list/action-list.css +8 -0
  112. package/dist/collection/components/action-list/action-list.js +56 -0
  113. package/dist/collection/components/ai-label/ai-label.css +55 -0
  114. package/dist/collection/components/ai-label/ai-label.js +68 -0
  115. package/dist/collection/components/alert/alert.css +142 -0
  116. package/dist/collection/components/alert/alert.js +167 -0
  117. package/dist/collection/components/breadcrumb/breadcrumb-item-label.css +33 -0
  118. package/dist/collection/components/breadcrumb/breadcrumb-item-label.js +121 -0
  119. package/dist/collection/components/breadcrumb/breadcrumb-item.css +52 -0
  120. package/dist/collection/components/breadcrumb/breadcrumb-item.js +146 -0
  121. package/dist/collection/components/breadcrumb/breadcrumb.css +14 -0
  122. package/dist/collection/components/breadcrumb/breadcrumb.js +54 -0
  123. package/dist/collection/components/button/button.css +247 -0
  124. package/dist/collection/components/button/button.js +383 -0
  125. package/dist/collection/components/card/card-headline/card-headline.css +36 -0
  126. package/dist/collection/components/card/card-headline/card-headline.js +41 -0
  127. package/dist/collection/components/card/card-image/card-image.css +24 -0
  128. package/dist/collection/components/card/card-image/card-image.js +136 -0
  129. package/dist/collection/components/card/card-links/card-links.css +18 -0
  130. package/dist/collection/components/card/card-links/card-links.js +20 -0
  131. package/dist/collection/components/card/card-overline/card-overline.css +25 -0
  132. package/dist/collection/components/card/card-overline/card-overline.js +18 -0
  133. package/dist/collection/components/card/card-text/card-text.css +30 -0
  134. package/dist/collection/components/card/card-text/card-text.js +33 -0
  135. package/dist/collection/components/card/card.css +187 -0
  136. package/dist/collection/components/card/card.js +221 -0
  137. package/dist/collection/components/checkbox/checkbox.css +154 -0
  138. package/dist/collection/components/checkbox/checkbox.js +546 -0
  139. package/dist/collection/components/checkbox-group/checkbox-group.css +70 -0
  140. package/dist/collection/components/checkbox-group/checkbox-group.js +278 -0
  141. package/dist/collection/components/chip/chip-item/chip-item.css +39 -0
  142. package/dist/collection/components/chip/chip-item/chip-item.js +199 -0
  143. package/dist/collection/components/chip/chip.css +180 -0
  144. package/dist/collection/components/chip/chip.js +581 -0
  145. package/dist/collection/components/chip/interfaces.js +1 -0
  146. package/dist/collection/components/content-switcher/content-switcher-item.css +38 -0
  147. package/dist/collection/components/content-switcher/content-switcher-item.js +65 -0
  148. package/dist/collection/components/content-switcher/content-switcher.css +32 -0
  149. package/dist/collection/components/content-switcher/content-switcher.js +223 -0
  150. package/dist/collection/components/counter/counter.css +69 -0
  151. package/dist/collection/components/counter/counter.js +131 -0
  152. package/dist/collection/components/date-picker/date-picker.css +206 -0
  153. package/dist/collection/components/date-picker/date-picker.js +522 -0
  154. package/dist/collection/components/download/download.css +0 -0
  155. package/dist/collection/components/download/download.js +65 -0
  156. package/dist/collection/components/dropdown/IOpenable.js +1 -0
  157. package/dist/collection/components/dropdown/dropdown-header/dropdown-header.css +18 -0
  158. package/dist/collection/components/dropdown/dropdown-header/dropdown-header.js +19 -0
  159. package/dist/collection/components/dropdown/dropdown-item/dropdown-item.css +58 -0
  160. package/dist/collection/components/dropdown/dropdown-item/dropdown-item.js +231 -0
  161. package/dist/collection/components/dropdown/dropdown-menu/dropdown-menu.css +32 -0
  162. package/dist/collection/components/dropdown/dropdown-menu/dropdown-menu.js +177 -0
  163. package/dist/collection/components/dropdown/dropdown-seperator/dropdown-separator.css +5 -0
  164. package/dist/collection/components/dropdown/dropdown-seperator/dropdown-separator.js +19 -0
  165. package/dist/collection/components/dropdown/dropdown-trigger/dropdown-trigger.css +4 -0
  166. package/dist/collection/components/dropdown/dropdown-trigger/dropdown-trigger.js +45 -0
  167. package/dist/collection/components/dropdown/dropdown-trigger-button/dropdown-trigger-button.css +14 -0
  168. package/dist/collection/components/dropdown/dropdown-trigger-button/dropdown-trigger-button.js +155 -0
  169. package/dist/collection/components/dropdown/dropdown.css +3 -0
  170. package/dist/collection/components/dropdown/dropdown.js +519 -0
  171. package/dist/collection/components/error-page/error-page.css +118 -0
  172. package/dist/collection/components/error-page/error-page.js +155 -0
  173. package/dist/collection/components/file-upload/file-upload.css +209 -0
  174. package/dist/collection/components/file-upload/file-upload.js +1796 -0
  175. package/dist/collection/components/footer/footer-column.css +28 -0
  176. package/dist/collection/components/footer/footer-column.js +20 -0
  177. package/dist/collection/components/footer/footer.css +137 -0
  178. package/dist/collection/components/footer/footer.js +67 -0
  179. package/dist/collection/components/icon/figma_code_connect_icons.js +34 -0
  180. package/dist/collection/components/icon/icon.css +10 -0
  181. package/dist/collection/components/icon/icon.js +183 -0
  182. package/dist/collection/components/icon-button/icon-button.css +131 -0
  183. package/dist/collection/components/icon-button/icon-button.js +321 -0
  184. package/dist/collection/components/icons-preview/icons-preview.css +93 -0
  185. package/dist/collection/components/icons-preview/icons-preview.js +78 -0
  186. package/dist/collection/components/indicator/indicator.css +45 -0
  187. package/dist/collection/components/indicator/indicator.js +137 -0
  188. package/dist/collection/components/link/link.css +107 -0
  189. package/dist/collection/components/link/link.js +298 -0
  190. package/dist/collection/components/modal/modal.css +196 -0
  191. package/dist/collection/components/modal/modal.js +560 -0
  192. package/dist/collection/components/navigation/navbar/navbar-item.css +278 -0
  193. package/dist/collection/components/navigation/navbar/navbar-item.js +812 -0
  194. package/dist/collection/components/navigation/navbar/navbar-profile.js +354 -0
  195. package/dist/collection/components/navigation/navbar/navbar.css +417 -0
  196. package/dist/collection/components/navigation/navbar/navbar.js +857 -0
  197. package/dist/collection/components/navigation/sidebar/sidebar-item.css +201 -0
  198. package/dist/collection/components/navigation/sidebar/sidebar-item.js +583 -0
  199. package/dist/collection/components/navigation/sidebar/sidebar-seperator/sidebar-separator.css +5 -0
  200. package/dist/collection/components/navigation/sidebar/sidebar-seperator/sidebar-separator.js +19 -0
  201. package/dist/collection/components/navigation/sidebar/sidebar-title.css +25 -0
  202. package/dist/collection/components/navigation/sidebar/sidebar-title.js +50 -0
  203. package/dist/collection/components/navigation/sidebar/sidebar.css +254 -0
  204. package/dist/collection/components/navigation/sidebar/sidebar.js +896 -0
  205. package/dist/collection/components/notification/notification.css +80 -0
  206. package/dist/collection/components/notification/notification.js +205 -0
  207. package/dist/collection/components/overview-table/overview-table.css +152 -0
  208. package/dist/collection/components/overview-table/overview-table.js +61 -0
  209. package/dist/collection/components/pagination/pagination.css +190 -0
  210. package/dist/collection/components/pagination/pagination.js +459 -0
  211. package/dist/collection/components/popover/popover.css +95 -0
  212. package/dist/collection/components/popover/popover.js +565 -0
  213. package/dist/collection/components/progress-bar/progress-bar.css +38 -0
  214. package/dist/collection/components/progress-bar/progress-bar.js +118 -0
  215. package/dist/collection/components/radio-button/radio-button.css +157 -0
  216. package/dist/collection/components/radio-button/radio-button.js +334 -0
  217. package/dist/collection/components/radio-button-group/radio-button-group.css +69 -0
  218. package/dist/collection/components/radio-button-group/radio-button-group.js +278 -0
  219. package/dist/collection/components/search-bar/search-bar.css +60 -0
  220. package/dist/collection/components/search-bar/search-bar.js +323 -0
  221. package/dist/collection/components/search-field/search-field.css +235 -0
  222. package/dist/collection/components/search-field/search-field.js +1156 -0
  223. package/dist/collection/components/segmented-control/segment/segment.css +46 -0
  224. package/dist/collection/components/segmented-control/segment/segment.js +145 -0
  225. package/dist/collection/components/segmented-control/segmented-control.css +47 -0
  226. package/dist/collection/components/segmented-control/segmented-control.js +319 -0
  227. package/dist/collection/components/select/multi-select/interfaces.js +1 -0
  228. package/dist/collection/components/select/multi-select/multiselect-group.css +18 -0
  229. package/dist/collection/components/select/multi-select/multiselect-group.js +92 -0
  230. package/dist/collection/components/select/multi-select/multiselect-option.css +113 -0
  231. package/dist/collection/components/select/multi-select/multiselect-option.js +530 -0
  232. package/dist/collection/components/select/multi-select/multiselect.css +337 -0
  233. package/dist/collection/components/select/multi-select/multiselect.js +1353 -0
  234. package/dist/collection/components/select/single-select/select-group.css +24 -0
  235. package/dist/collection/components/select/single-select/select-group.js +94 -0
  236. package/dist/collection/components/select/single-select/select-option.css +65 -0
  237. package/dist/collection/components/select/single-select/select-option.js +241 -0
  238. package/dist/collection/components/select/single-select/select.css +213 -0
  239. package/dist/collection/components/select/single-select/select.js +1030 -0
  240. package/dist/collection/components/slider/slider.css +157 -0
  241. package/dist/collection/components/slider/slider.js +703 -0
  242. package/dist/collection/components/spinner/spinner.css +66 -0
  243. package/dist/collection/components/spinner/spinner.js +151 -0
  244. package/dist/collection/components/status/status.css +196 -0
  245. package/dist/collection/components/status/status.js +102 -0
  246. package/dist/collection/components/stepper/interfaces.js +1 -0
  247. package/dist/collection/components/stepper/step/step.css +189 -0
  248. package/dist/collection/components/stepper/step/step.js +250 -0
  249. package/dist/collection/components/stepper/stepper.css +58 -0
  250. package/dist/collection/components/stepper/stepper.js +327 -0
  251. package/dist/collection/components/switch/switch.css +116 -0
  252. package/dist/collection/components/switch/switch.js +419 -0
  253. package/dist/collection/components/table-advanced-version/buttonCellRenderer.js +72 -0
  254. package/dist/collection/components/table-advanced-version/checkboxCellRenderer.js +67 -0
  255. package/dist/collection/components/table-advanced-version/checkboxHeaderRenderer.js +32 -0
  256. package/dist/collection/components/table-advanced-version/customLoadingOverlay.js +15 -0
  257. package/dist/collection/components/table-advanced-version/customNoRowsOverlay.js +17 -0
  258. package/dist/collection/components/table-advanced-version/filter-bar/filter-bar.css +64 -0
  259. package/dist/collection/components/table-advanced-version/filter-bar/filter-bar.js +195 -0
  260. package/dist/collection/components/table-advanced-version/filter-type-group/filter-accordion/filter-accordion.css +70 -0
  261. package/dist/collection/components/table-advanced-version/filter-type-group/filter-accordion/filter-accordion.js +124 -0
  262. package/dist/collection/components/table-advanced-version/filter-type-group/filter-search/filter-search.css +30 -0
  263. package/dist/collection/components/table-advanced-version/filter-type-group/filter-search/filter-search.js +216 -0
  264. package/dist/collection/components/table-advanced-version/filter-type-group/filter-type-group.css +14 -0
  265. package/dist/collection/components/table-advanced-version/filter-type-group/filter-type-group.js +231 -0
  266. package/dist/collection/components/table-advanced-version/filter-type-group/utils.js +12 -0
  267. package/dist/collection/components/table-advanced-version/iconButtonCellRenderer.js +69 -0
  268. package/dist/collection/components/table-advanced-version/interfaces.js +17 -0
  269. package/dist/collection/components/table-advanced-version/linkCellRenderer.js +50 -0
  270. package/dist/collection/components/table-advanced-version/list/list-entry/list-entry.css +7 -0
  271. package/dist/collection/components/table-advanced-version/list/list-entry/list-entry.js +134 -0
  272. package/dist/collection/components/table-advanced-version/list/list.css +8 -0
  273. package/dist/collection/components/table-advanced-version/list/list.js +255 -0
  274. package/dist/collection/components/table-advanced-version/set-filter/set-filter.css +1 -0
  275. package/dist/collection/components/table-advanced-version/set-filter/setFilter.js +207 -0
  276. package/dist/collection/components/table-advanced-version/statusCellRenderer.js +30 -0
  277. package/dist/collection/components/table-advanced-version/table.css +7362 -0
  278. package/dist/collection/components/table-advanced-version/table.js +1598 -0
  279. package/dist/collection/components/table-advanced-version/tooltipCellRenderer.js +59 -0
  280. package/dist/collection/components/table-basic-version/customLoadingOverlay.js +15 -0
  281. package/dist/collection/components/table-basic-version/customNoRowsOverlay.js +17 -0
  282. package/dist/collection/components/table-basic-version/interfaces.js +8 -0
  283. package/dist/collection/components/table-basic-version/table.css +7211 -0
  284. package/dist/collection/components/table-basic-version/table.js +318 -0
  285. package/dist/collection/components/tabs/tab.css +3 -0
  286. package/dist/collection/components/tabs/tab.js +240 -0
  287. package/dist/collection/components/tabs/tabs.css +341 -0
  288. package/dist/collection/components/tabs/tabs.js +606 -0
  289. package/dist/collection/components/templates/template/template.css +76 -0
  290. package/dist/collection/components/templates/template/template.js +272 -0
  291. package/dist/collection/components/templates/templates-ui/templates-ui.css +33 -0
  292. package/dist/collection/components/templates/templates-ui/templates-ui.js +75 -0
  293. package/dist/collection/components/text-field/text-field.css +193 -0
  294. package/dist/collection/components/text-field/text-field.js +514 -0
  295. package/dist/collection/components/textarea/textarea.css +97 -0
  296. package/dist/collection/components/textarea/textarea.js +485 -0
  297. package/dist/collection/components/toast/toast-config.js +17 -0
  298. package/dist/collection/components/toast/toast-container/toast-container.css +58 -0
  299. package/dist/collection/components/toast/toast-container/toast-container.js +280 -0
  300. package/dist/collection/components/toast/toast-controller.js +116 -0
  301. package/dist/collection/components/toast/toast.css +68 -0
  302. package/dist/collection/components/toast/toast.js +397 -0
  303. package/dist/collection/components/tooltip/tooltip.css +164 -0
  304. package/dist/collection/components/tooltip/tooltip.js +380 -0
  305. package/dist/collection/components/tree-view/tree-view-item.css +112 -0
  306. package/dist/collection/components/tree-view/tree-view-item.js +603 -0
  307. package/dist/collection/components/tree-view/tree-view.css +19 -0
  308. package/dist/collection/components/tree-view/tree-view.js +187 -0
  309. package/dist/collection/global/setup.js +5 -0
  310. package/dist/collection/index.js +2 -0
  311. package/dist/collection/shared/utils/animation.js +37 -0
  312. package/dist/collection/shared/utils/colorNames.js +1 -0
  313. package/dist/collection/shared/utils/dom-ready.js +15 -0
  314. package/dist/collection/shared/utils/dom-utils.js +15 -0
  315. package/dist/collection/shared/utils/focus-trap.js +120 -0
  316. package/dist/collection/shared/utils/framework-detection.js +74 -0
  317. package/dist/collection/shared/utils/tracking.js +60 -0
  318. package/dist/collection/shared/utils/url-utils.js +14 -0
  319. package/dist/collection/storybook/public/favicon.svg +5 -0
  320. package/dist/components/ifx-accordion-item.d.ts +11 -0
  321. package/dist/components/ifx-accordion-item.js +1 -0
  322. package/dist/components/ifx-accordion.d.ts +11 -0
  323. package/dist/components/ifx-accordion.js +1 -0
  324. package/dist/components/ifx-action-list-item.d.ts +11 -0
  325. package/dist/components/ifx-action-list-item.js +1 -0
  326. package/dist/components/ifx-action-list.d.ts +11 -0
  327. package/dist/components/ifx-action-list.js +1 -0
  328. package/dist/components/ifx-ai-label.d.ts +11 -0
  329. package/dist/components/ifx-ai-label.js +1 -0
  330. package/dist/components/ifx-alert.d.ts +11 -0
  331. package/dist/components/ifx-alert.js +1 -0
  332. package/dist/components/ifx-basic-table.d.ts +11 -0
  333. package/dist/components/ifx-basic-table.js +1 -0
  334. package/dist/components/ifx-breadcrumb-item-label.d.ts +11 -0
  335. package/dist/components/ifx-breadcrumb-item-label.js +1 -0
  336. package/dist/components/ifx-breadcrumb-item.d.ts +11 -0
  337. package/dist/components/ifx-breadcrumb-item.js +1 -0
  338. package/dist/components/ifx-breadcrumb.d.ts +11 -0
  339. package/dist/components/ifx-breadcrumb.js +1 -0
  340. package/dist/components/ifx-button.d.ts +11 -0
  341. package/dist/components/ifx-button.js +1 -0
  342. package/dist/components/ifx-card-headline.d.ts +11 -0
  343. package/dist/components/ifx-card-headline.js +1 -0
  344. package/dist/components/ifx-card-image.d.ts +11 -0
  345. package/dist/components/ifx-card-image.js +1 -0
  346. package/dist/components/ifx-card-links.d.ts +11 -0
  347. package/dist/components/ifx-card-links.js +1 -0
  348. package/dist/components/ifx-card-overline.d.ts +11 -0
  349. package/dist/components/ifx-card-overline.js +1 -0
  350. package/dist/components/ifx-card-text.d.ts +11 -0
  351. package/dist/components/ifx-card-text.js +1 -0
  352. package/dist/components/ifx-card.d.ts +11 -0
  353. package/dist/components/ifx-card.js +1 -0
  354. package/dist/components/ifx-checkbox-group.d.ts +11 -0
  355. package/dist/components/ifx-checkbox-group.js +1 -0
  356. package/dist/components/ifx-checkbox.d.ts +11 -0
  357. package/dist/components/ifx-checkbox.js +1 -0
  358. package/dist/components/ifx-chip-item.d.ts +11 -0
  359. package/dist/components/ifx-chip-item.js +1 -0
  360. package/dist/components/ifx-chip.d.ts +11 -0
  361. package/dist/components/ifx-chip.js +1 -0
  362. package/dist/components/ifx-content-switcher-item.d.ts +11 -0
  363. package/dist/components/ifx-content-switcher-item.js +1 -0
  364. package/dist/components/ifx-content-switcher.d.ts +11 -0
  365. package/dist/components/ifx-content-switcher.js +1 -0
  366. package/dist/components/ifx-counter.d.ts +11 -0
  367. package/dist/components/ifx-counter.js +1 -0
  368. package/dist/components/ifx-date-picker.d.ts +11 -0
  369. package/dist/components/ifx-date-picker.js +1 -0
  370. package/dist/components/ifx-download.d.ts +11 -0
  371. package/dist/components/ifx-download.js +1 -0
  372. package/dist/components/ifx-dropdown-header.d.ts +11 -0
  373. package/dist/components/ifx-dropdown-header.js +1 -0
  374. package/dist/components/ifx-dropdown-item.d.ts +11 -0
  375. package/dist/components/ifx-dropdown-item.js +1 -0
  376. package/dist/components/ifx-dropdown-menu.d.ts +11 -0
  377. package/dist/components/ifx-dropdown-menu.js +1 -0
  378. package/dist/components/ifx-dropdown-separator.d.ts +11 -0
  379. package/dist/components/ifx-dropdown-separator.js +1 -0
  380. package/dist/components/ifx-dropdown-trigger-button.d.ts +11 -0
  381. package/dist/components/ifx-dropdown-trigger-button.js +1 -0
  382. package/dist/components/ifx-dropdown-trigger.d.ts +11 -0
  383. package/dist/components/ifx-dropdown-trigger.js +1 -0
  384. package/dist/components/ifx-dropdown.d.ts +11 -0
  385. package/dist/components/ifx-dropdown.js +1 -0
  386. package/dist/components/ifx-error-page.d.ts +11 -0
  387. package/dist/components/ifx-error-page.js +1 -0
  388. package/dist/components/ifx-file-upload.d.ts +11 -0
  389. package/dist/components/ifx-file-upload.js +1 -0
  390. package/dist/components/ifx-filter-accordion.d.ts +11 -0
  391. package/dist/components/ifx-filter-accordion.js +1 -0
  392. package/dist/components/ifx-filter-bar.d.ts +11 -0
  393. package/dist/components/ifx-filter-bar.js +1 -0
  394. package/dist/components/ifx-filter-search.d.ts +11 -0
  395. package/dist/components/ifx-filter-search.js +1 -0
  396. package/dist/components/ifx-filter-type-group.d.ts +11 -0
  397. package/dist/components/ifx-filter-type-group.js +1 -0
  398. package/dist/components/ifx-footer-column.d.ts +11 -0
  399. package/dist/components/ifx-footer-column.js +1 -0
  400. package/dist/components/ifx-footer.d.ts +11 -0
  401. package/dist/components/ifx-footer.js +1 -0
  402. package/dist/components/ifx-icon-button.d.ts +11 -0
  403. package/dist/components/ifx-icon-button.js +1 -0
  404. package/dist/components/ifx-icon.d.ts +11 -0
  405. package/dist/components/ifx-icon.js +1 -0
  406. package/dist/components/ifx-icons-preview.d.ts +11 -0
  407. package/dist/components/ifx-icons-preview.js +1 -0
  408. package/dist/components/ifx-indicator.d.ts +11 -0
  409. package/dist/components/ifx-indicator.js +1 -0
  410. package/dist/components/ifx-link.d.ts +11 -0
  411. package/dist/components/ifx-link.js +1 -0
  412. package/dist/components/ifx-list-entry.d.ts +11 -0
  413. package/dist/components/ifx-list-entry.js +1 -0
  414. package/dist/components/ifx-list.d.ts +11 -0
  415. package/dist/components/ifx-list.js +1 -0
  416. package/dist/components/ifx-modal.d.ts +11 -0
  417. package/dist/components/ifx-modal.js +1 -0
  418. package/dist/components/ifx-multiselect-group.d.ts +11 -0
  419. package/dist/components/ifx-multiselect-group.js +1 -0
  420. package/dist/components/ifx-multiselect-option.d.ts +11 -0
  421. package/dist/components/ifx-multiselect-option.js +1 -0
  422. package/dist/components/ifx-multiselect.d.ts +11 -0
  423. package/dist/components/ifx-multiselect.js +1 -0
  424. package/dist/components/ifx-navbar-item.d.ts +11 -0
  425. package/dist/components/ifx-navbar-item.js +1 -0
  426. package/dist/components/ifx-navbar-profile.d.ts +11 -0
  427. package/dist/components/ifx-navbar-profile.js +1 -0
  428. package/dist/components/ifx-navbar.d.ts +11 -0
  429. package/dist/components/ifx-navbar.js +1 -0
  430. package/dist/components/ifx-notification.d.ts +11 -0
  431. package/dist/components/ifx-notification.js +1 -0
  432. package/dist/components/ifx-overview-table.d.ts +11 -0
  433. package/dist/components/ifx-overview-table.js +1 -0
  434. package/dist/components/ifx-pagination.d.ts +11 -0
  435. package/dist/components/ifx-pagination.js +1 -0
  436. package/dist/components/ifx-popover.d.ts +11 -0
  437. package/dist/components/ifx-popover.js +1 -0
  438. package/dist/components/ifx-progress-bar.d.ts +11 -0
  439. package/dist/components/ifx-progress-bar.js +1 -0
  440. package/dist/components/ifx-radio-button-group.d.ts +11 -0
  441. package/dist/components/ifx-radio-button-group.js +1 -0
  442. package/dist/components/ifx-radio-button.d.ts +11 -0
  443. package/dist/components/ifx-radio-button.js +1 -0
  444. package/dist/components/ifx-search-bar.d.ts +11 -0
  445. package/dist/components/ifx-search-bar.js +1 -0
  446. package/dist/components/ifx-search-field.d.ts +11 -0
  447. package/dist/components/ifx-search-field.js +1 -0
  448. package/dist/components/ifx-segment.d.ts +11 -0
  449. package/dist/components/ifx-segment.js +1 -0
  450. package/dist/components/ifx-segmented-control.d.ts +11 -0
  451. package/dist/components/ifx-segmented-control.js +1 -0
  452. package/dist/components/ifx-select-group.d.ts +11 -0
  453. package/dist/components/ifx-select-group.js +1 -0
  454. package/dist/components/ifx-select-option.d.ts +11 -0
  455. package/dist/components/ifx-select-option.js +1 -0
  456. package/dist/components/ifx-select.d.ts +11 -0
  457. package/dist/components/ifx-select.js +1 -0
  458. package/dist/components/ifx-set-filter.d.ts +11 -0
  459. package/dist/components/ifx-set-filter.js +1 -0
  460. package/dist/components/ifx-sidebar-item.d.ts +11 -0
  461. package/dist/components/ifx-sidebar-item.js +1 -0
  462. package/dist/components/ifx-sidebar-separator.d.ts +11 -0
  463. package/dist/components/ifx-sidebar-separator.js +1 -0
  464. package/dist/components/ifx-sidebar-title.d.ts +11 -0
  465. package/dist/components/ifx-sidebar-title.js +1 -0
  466. package/dist/components/ifx-sidebar.d.ts +11 -0
  467. package/dist/components/ifx-sidebar.js +1 -0
  468. package/dist/components/ifx-slider.d.ts +11 -0
  469. package/dist/components/ifx-slider.js +1 -0
  470. package/dist/components/ifx-spinner.d.ts +11 -0
  471. package/dist/components/ifx-spinner.js +1 -0
  472. package/dist/components/ifx-status.d.ts +11 -0
  473. package/dist/components/ifx-status.js +1 -0
  474. package/dist/components/ifx-step.d.ts +11 -0
  475. package/dist/components/ifx-step.js +1 -0
  476. package/dist/components/ifx-stepper.d.ts +11 -0
  477. package/dist/components/ifx-stepper.js +1 -0
  478. package/dist/components/ifx-switch.d.ts +11 -0
  479. package/dist/components/ifx-switch.js +1 -0
  480. package/dist/components/ifx-tab.d.ts +11 -0
  481. package/dist/components/ifx-tab.js +1 -0
  482. package/dist/components/ifx-table.d.ts +11 -0
  483. package/dist/components/ifx-table.js +1 -0
  484. package/dist/components/ifx-tabs.d.ts +11 -0
  485. package/dist/components/ifx-tabs.js +1 -0
  486. package/dist/components/ifx-template.d.ts +11 -0
  487. package/dist/components/ifx-template.js +1 -0
  488. package/dist/components/ifx-templates-ui.d.ts +11 -0
  489. package/dist/components/ifx-templates-ui.js +1 -0
  490. package/dist/components/ifx-text-field.d.ts +11 -0
  491. package/dist/components/ifx-text-field.js +1 -0
  492. package/dist/components/ifx-textarea.d.ts +11 -0
  493. package/dist/components/ifx-textarea.js +1 -0
  494. package/dist/components/ifx-toast-container.d.ts +11 -0
  495. package/dist/components/ifx-toast-container.js +1 -0
  496. package/dist/components/ifx-toast.d.ts +11 -0
  497. package/dist/components/ifx-toast.js +1 -0
  498. package/dist/components/ifx-tooltip.d.ts +11 -0
  499. package/dist/components/ifx-tooltip.js +1 -0
  500. package/dist/components/ifx-tree-view-item.d.ts +11 -0
  501. package/dist/components/ifx-tree-view-item.js +1 -0
  502. package/dist/components/ifx-tree-view.d.ts +11 -0
  503. package/dist/components/ifx-tree-view.js +1 -0
  504. package/dist/components/index.d.ts +221 -0
  505. package/dist/components/index.js +1 -0
  506. package/dist/components/p-6rWkhPoz.js +1 -0
  507. package/dist/components/p-94ZtGp9D.js +1 -0
  508. package/dist/components/p-B2BXeRbX.js +1 -0
  509. package/dist/components/p-B9Se0P8X.js +1 -0
  510. package/dist/components/p-BQusv3OP.js +1 -0
  511. package/dist/components/p-BT3Wl1wi.js +1 -0
  512. package/dist/components/p-BT_2CyMS.js +1 -0
  513. package/dist/components/p-BfP9ezJQ.js +1 -0
  514. package/dist/components/p-BfTCfPZ1.js +6 -0
  515. package/dist/components/p-BsM3UmwT.js +1 -0
  516. package/dist/components/p-BwNZsorZ.js +1 -0
  517. package/dist/components/p-ByHlxOiP.js +1 -0
  518. package/dist/components/p-By_rGGZ6.js +1 -0
  519. package/dist/components/p-C0ZpAymO.js +1 -0
  520. package/dist/components/p-C2NpYb5B.js +1 -0
  521. package/dist/components/p-CFIxSP2i.js +1 -0
  522. package/dist/components/p-CHllTWC_.js +1 -0
  523. package/dist/components/p-CKEkzlHL.js +1 -0
  524. package/dist/components/p-COoPXL_o.js +1 -0
  525. package/dist/components/p-CZkp3I3Z.js +1 -0
  526. package/dist/components/p-Cof8Iu4T.js +1 -0
  527. package/dist/components/p-D8rBTzjL.js +1 -0
  528. package/dist/components/p-DMAv4MDG.js +1 -0
  529. package/dist/components/p-DqacDHEO.js +1 -0
  530. package/dist/components/p-M9y7mTsF.js +1 -0
  531. package/dist/components/p-OJkXkXZS.js +1 -0
  532. package/dist/components/p-QgsB_-OM.js +1 -0
  533. package/dist/components/p-tjdx4F2u.js +1 -0
  534. package/dist/components/p-uQx-50k_.js +1 -0
  535. package/dist/docs.d.ts +480 -0
  536. package/dist/docs.json +21723 -0
  537. package/dist/esm/animation-BT3Wl1wi.js +39 -0
  538. package/dist/esm/dom-utils-CtINY9El.js +17 -0
  539. package/dist/esm/icons-ZeLzvI0y.js +1331 -0
  540. package/dist/esm/ifx-accordion-item.entry.js +116 -0
  541. package/dist/esm/ifx-accordion.entry.js +38 -0
  542. package/dist/esm/ifx-action-list-item.entry.js +236 -0
  543. package/dist/esm/ifx-action-list.entry.js +28 -0
  544. package/dist/esm/ifx-ai-label.entry.js +21 -0
  545. package/dist/esm/ifx-alert_2.entry.js +214 -0
  546. package/dist/esm/ifx-basic-table.entry.js +216 -0
  547. package/dist/esm/ifx-breadcrumb-item-label.entry.js +33 -0
  548. package/dist/esm/ifx-breadcrumb-item.entry.js +114 -0
  549. package/dist/esm/ifx-breadcrumb.entry.js +49 -0
  550. package/dist/esm/ifx-button.entry.js +154 -0
  551. package/dist/esm/ifx-card-headline.entry.js +31 -0
  552. package/dist/esm/ifx-card-image.entry.js +35 -0
  553. package/dist/esm/ifx-card-links.entry.js +16 -0
  554. package/dist/esm/ifx-card-overline.entry.js +15 -0
  555. package/dist/esm/ifx-card-text.entry.js +24 -0
  556. package/dist/esm/ifx-card.entry.js +75 -0
  557. package/dist/esm/ifx-checkbox-group.entry.js +75 -0
  558. package/dist/esm/ifx-checkbox.entry.js +253 -0
  559. package/dist/esm/ifx-chip-item_2.entry.js +389 -0
  560. package/dist/esm/ifx-chip.entry.js +338 -0
  561. package/dist/esm/ifx-content-switcher-item.entry.js +19 -0
  562. package/dist/esm/ifx-content-switcher.entry.js +186 -0
  563. package/dist/esm/ifx-counter.entry.js +72 -0
  564. package/dist/esm/ifx-date-picker.entry.js +201 -0
  565. package/dist/esm/ifx-download.entry.js +38 -0
  566. package/dist/esm/ifx-dropdown-header.entry.js +15 -0
  567. package/dist/esm/ifx-dropdown-item.entry.js +66 -0
  568. package/dist/esm/ifx-dropdown-menu.entry.js +69 -0
  569. package/dist/esm/ifx-dropdown-separator.entry.js +15 -0
  570. package/dist/esm/ifx-dropdown-trigger-button.entry.js +27 -0
  571. package/dist/esm/ifx-dropdown-trigger.entry.js +17 -0
  572. package/dist/esm/ifx-dropdown.entry.js +255 -0
  573. package/dist/esm/ifx-error-page.entry.js +52 -0
  574. package/dist/esm/ifx-file-upload.entry.js +819 -0
  575. package/dist/esm/ifx-filter-accordion.entry.js +65 -0
  576. package/dist/esm/ifx-filter-bar.entry.js +117 -0
  577. package/dist/esm/ifx-filter-search.entry.js +60 -0
  578. package/dist/esm/ifx-filter-type-group.entry.js +166 -0
  579. package/dist/esm/ifx-footer-column.entry.js +16 -0
  580. package/dist/esm/ifx-footer.entry.js +33 -0
  581. package/dist/esm/ifx-icon-button.entry.js +104 -0
  582. package/dist/esm/ifx-icon.entry.js +132 -0
  583. package/dist/esm/ifx-icons-preview.entry.js +15497 -0
  584. package/dist/esm/ifx-indicator.entry.js +44 -0
  585. package/dist/esm/ifx-link.entry.js +123 -0
  586. package/dist/esm/ifx-list-entry.entry.js +42 -0
  587. package/dist/esm/ifx-list.entry.js +141 -0
  588. package/dist/esm/ifx-modal.entry.js +401 -0
  589. package/dist/esm/ifx-multiselect-group.entry.js +40 -0
  590. package/dist/esm/ifx-multiselect_2.entry.js +1148 -0
  591. package/dist/esm/ifx-navbar-item.entry.js +436 -0
  592. package/dist/esm/ifx-navbar-profile.entry.js +171 -0
  593. package/dist/esm/ifx-navbar.entry.js +703 -0
  594. package/dist/esm/ifx-notification.entry.js +56 -0
  595. package/dist/esm/ifx-overview-table.entry.js +57 -0
  596. package/dist/esm/ifx-popover.entry.js +338 -0
  597. package/dist/esm/ifx-progress-bar.entry.js +44 -0
  598. package/dist/esm/ifx-radio-button-group.entry.js +75 -0
  599. package/dist/esm/ifx-radio-button.entry.js +146 -0
  600. package/dist/esm/ifx-search-bar.entry.js +121 -0
  601. package/dist/esm/ifx-search-field.entry.js +560 -0
  602. package/dist/esm/ifx-segment.entry.js +44 -0
  603. package/dist/esm/ifx-segmented-control.entry.js +149 -0
  604. package/dist/esm/ifx-select-group.entry.js +41 -0
  605. package/dist/esm/ifx-select_2.entry.js +571 -0
  606. package/dist/esm/ifx-set-filter.entry.js +81 -0
  607. package/dist/esm/ifx-sidebar-item.entry.js +288 -0
  608. package/dist/esm/ifx-sidebar-separator.entry.js +15 -0
  609. package/dist/esm/ifx-sidebar-title.entry.js +22 -0
  610. package/dist/esm/ifx-sidebar.entry.js +452 -0
  611. package/dist/esm/ifx-slider.entry.js +362 -0
  612. package/dist/esm/ifx-spinner.entry.js +51 -0
  613. package/dist/esm/ifx-status.entry.js +34 -0
  614. package/dist/esm/ifx-step.entry.js +102 -0
  615. package/dist/esm/ifx-stepper.entry.js +166 -0
  616. package/dist/esm/ifx-switch.entry.js +188 -0
  617. package/dist/esm/ifx-tab.entry.js +40 -0
  618. package/dist/esm/ifx-table.entry.js +1464 -0
  619. package/dist/esm/ifx-tabs.entry.js +378 -0
  620. package/dist/esm/ifx-templates-ui.entry.js +56 -0
  621. package/dist/esm/ifx-text-field.entry.js +129 -0
  622. package/dist/esm/ifx-textarea.entry.js +130 -0
  623. package/dist/esm/ifx-toast-container.entry.js +112 -0
  624. package/dist/esm/ifx-toast.entry.js +191 -0
  625. package/dist/esm/ifx-tooltip.entry.js +226 -0
  626. package/dist/esm/ifx-tree-view-item.entry.js +402 -0
  627. package/dist/esm/ifx-tree-view.entry.js +68 -0
  628. package/dist/esm/index-BfTCfPZ1.js +92 -0
  629. package/dist/esm/index-CY4s4b6R.js +3330 -0
  630. package/dist/esm/index.js +119 -0
  631. package/dist/esm/infineon-design-system-stencil.js +41 -0
  632. package/dist/esm/loader.js +10 -0
  633. package/dist/esm/main.esm-ByHlxOiP.js +56045 -0
  634. package/dist/esm/popper-BfP9ezJQ.js +1790 -0
  635. package/dist/esm/toast-config-CvlFl4bk.js +19 -0
  636. package/dist/esm/tracking-DNHOWgWh.js +141 -0
  637. package/dist/esm/url-utils-QgsB_-OM.js +16 -0
  638. package/dist/hydrate/index.d.ts +287 -0
  639. package/dist/hydrate/index.js +115426 -0
  640. package/dist/hydrate/index.mjs +115416 -0
  641. package/dist/hydrate/package.json +12 -0
  642. package/dist/index.cjs.js +1 -0
  643. package/dist/index.js +1 -0
  644. package/dist/infineon-design-system-stencil/index.esm.js +1 -0
  645. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.css +1 -0
  646. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -0
  647. package/dist/infineon-design-system-stencil/p-00e44b86.entry.js +1 -0
  648. package/dist/infineon-design-system-stencil/p-04b2ca48.entry.js +1 -0
  649. package/dist/infineon-design-system-stencil/p-056c97d1.entry.js +1 -0
  650. package/dist/infineon-design-system-stencil/p-068f8d94.entry.js +1 -0
  651. package/dist/infineon-design-system-stencil/p-080482d5.entry.js +1 -0
  652. package/dist/infineon-design-system-stencil/p-0824da97.entry.js +1 -0
  653. package/dist/infineon-design-system-stencil/p-0eb80b01.entry.js +1 -0
  654. package/dist/infineon-design-system-stencil/p-1bde9db6.entry.js +1 -0
  655. package/dist/infineon-design-system-stencil/p-1c5cdf00.entry.js +1 -0
  656. package/dist/infineon-design-system-stencil/p-1d282105.entry.js +1 -0
  657. package/dist/infineon-design-system-stencil/p-1dba3e82.entry.js +1 -0
  658. package/dist/infineon-design-system-stencil/p-1ee2ae36.entry.js +1 -0
  659. package/dist/infineon-design-system-stencil/p-200b5cf4.entry.js +1 -0
  660. package/dist/infineon-design-system-stencil/p-25b276e7.entry.js +1 -0
  661. package/dist/infineon-design-system-stencil/p-27d6189d.entry.js +1 -0
  662. package/dist/infineon-design-system-stencil/p-33cee615.entry.js +1 -0
  663. package/dist/infineon-design-system-stencil/p-387628c3.entry.js +1 -0
  664. package/dist/infineon-design-system-stencil/p-3d79452f.entry.js +1 -0
  665. package/dist/infineon-design-system-stencil/p-3d99137a.entry.js +1 -0
  666. package/dist/infineon-design-system-stencil/p-46025b1d.entry.js +1 -0
  667. package/dist/infineon-design-system-stencil/p-49abd04b.entry.js +1 -0
  668. package/dist/infineon-design-system-stencil/p-4b0cfd87.entry.js +1 -0
  669. package/dist/infineon-design-system-stencil/p-507c06f6.entry.js +1 -0
  670. package/dist/infineon-design-system-stencil/p-58d3465b.entry.js +1 -0
  671. package/dist/infineon-design-system-stencil/p-5ca1e5f9.entry.js +1 -0
  672. package/dist/infineon-design-system-stencil/p-5e787c60.entry.js +1 -0
  673. package/dist/infineon-design-system-stencil/p-622b768a.entry.js +1 -0
  674. package/dist/infineon-design-system-stencil/p-62c217d9.entry.js +1 -0
  675. package/dist/infineon-design-system-stencil/p-633f7103.entry.js +1 -0
  676. package/dist/infineon-design-system-stencil/p-6ad38b43.entry.js +1 -0
  677. package/dist/infineon-design-system-stencil/p-6bc72aa7.entry.js +1 -0
  678. package/dist/infineon-design-system-stencil/p-6d5608f3.entry.js +1 -0
  679. package/dist/infineon-design-system-stencil/p-6dbe3565.entry.js +1 -0
  680. package/dist/infineon-design-system-stencil/p-6feba4bd.entry.js +1 -0
  681. package/dist/infineon-design-system-stencil/p-7637f1a9.entry.js +1 -0
  682. package/dist/infineon-design-system-stencil/p-767d1120.entry.js +1 -0
  683. package/dist/infineon-design-system-stencil/p-7a632c59.entry.js +1 -0
  684. package/dist/infineon-design-system-stencil/p-7cd30e96.entry.js +1 -0
  685. package/dist/infineon-design-system-stencil/p-7cfaf0b0.entry.js +1 -0
  686. package/dist/infineon-design-system-stencil/p-7d1bce96.entry.js +1 -0
  687. package/dist/infineon-design-system-stencil/p-7e39ffb5.entry.js +1 -0
  688. package/dist/infineon-design-system-stencil/p-83ac00d0.entry.js +1 -0
  689. package/dist/infineon-design-system-stencil/p-83ed07c5.entry.js +1 -0
  690. package/dist/infineon-design-system-stencil/p-85699507.entry.js +1 -0
  691. package/dist/infineon-design-system-stencil/p-85cab510.entry.js +1 -0
  692. package/dist/infineon-design-system-stencil/p-86f8257b.entry.js +1 -0
  693. package/dist/infineon-design-system-stencil/p-8712ed7c.entry.js +1 -0
  694. package/dist/infineon-design-system-stencil/p-89ca7297.entry.js +1 -0
  695. package/dist/infineon-design-system-stencil/p-8a9c392b.entry.js +1 -0
  696. package/dist/infineon-design-system-stencil/p-8d6f90ce.entry.js +1 -0
  697. package/dist/infineon-design-system-stencil/p-8f7f4367.entry.js +1 -0
  698. package/dist/infineon-design-system-stencil/p-90055cc1.entry.js +1 -0
  699. package/dist/infineon-design-system-stencil/p-91f93a99.entry.js +1 -0
  700. package/dist/infineon-design-system-stencil/p-981a5d47.entry.js +1 -0
  701. package/dist/infineon-design-system-stencil/p-982379c6.entry.js +1 -0
  702. package/dist/infineon-design-system-stencil/p-98b1d319.entry.js +1 -0
  703. package/dist/infineon-design-system-stencil/p-9ed59a1b.entry.js +1 -0
  704. package/dist/infineon-design-system-stencil/p-BT3Wl1wi.js +1 -0
  705. package/dist/infineon-design-system-stencil/p-BfP9ezJQ.js +1 -0
  706. package/dist/infineon-design-system-stencil/p-BfTCfPZ1.js +6 -0
  707. package/dist/infineon-design-system-stencil/p-ByHlxOiP.js +1 -0
  708. package/dist/infineon-design-system-stencil/p-CY4s4b6R.js +3 -0
  709. package/dist/infineon-design-system-stencil/p-CtINY9El.js +1 -0
  710. package/dist/infineon-design-system-stencil/p-CvlFl4bk.js +1 -0
  711. package/dist/infineon-design-system-stencil/p-DNHOWgWh.js +1 -0
  712. package/dist/infineon-design-system-stencil/p-QgsB_-OM.js +1 -0
  713. package/dist/infineon-design-system-stencil/p-ZeLzvI0y.js +1 -0
  714. package/dist/infineon-design-system-stencil/p-a64b4893.entry.js +1 -0
  715. package/dist/infineon-design-system-stencil/p-a749b6af.entry.js +1 -0
  716. package/dist/infineon-design-system-stencil/p-adee38e7.entry.js +1 -0
  717. package/dist/infineon-design-system-stencil/p-b024ca63.entry.js +1 -0
  718. package/dist/infineon-design-system-stencil/p-b0db38b1.entry.js +1 -0
  719. package/dist/infineon-design-system-stencil/p-b52e98b3.entry.js +1 -0
  720. package/dist/infineon-design-system-stencil/p-b8027aac.entry.js +1 -0
  721. package/dist/infineon-design-system-stencil/p-bc74a63e.entry.js +1 -0
  722. package/dist/infineon-design-system-stencil/p-bdc53480.entry.js +1 -0
  723. package/dist/infineon-design-system-stencil/p-bfd5c624.entry.js +1 -0
  724. package/dist/infineon-design-system-stencil/p-c2955de7.entry.js +1 -0
  725. package/dist/infineon-design-system-stencil/p-c436d915.entry.js +1 -0
  726. package/dist/infineon-design-system-stencil/p-c8de164f.entry.js +1 -0
  727. package/dist/infineon-design-system-stencil/p-d3194d57.entry.js +1 -0
  728. package/dist/infineon-design-system-stencil/p-d7614c74.entry.js +1 -0
  729. package/dist/infineon-design-system-stencil/p-d96c1ee9.entry.js +1 -0
  730. package/dist/infineon-design-system-stencil/p-db3f7660.entry.js +1 -0
  731. package/dist/infineon-design-system-stencil/p-e3fc01c1.entry.js +1 -0
  732. package/dist/infineon-design-system-stencil/p-e616abd0.entry.js +1 -0
  733. package/dist/infineon-design-system-stencil/p-e97262eb.entry.js +1 -0
  734. package/dist/infineon-design-system-stencil/p-ea5f0a88.entry.js +1 -0
  735. package/dist/infineon-design-system-stencil/p-ec37b6a4.entry.js +1 -0
  736. package/dist/infineon-design-system-stencil/p-ec538561.entry.js +1 -0
  737. package/dist/infineon-design-system-stencil/p-ee84f6e7.entry.js +1 -0
  738. package/dist/infineon-design-system-stencil/p-f290a76e.entry.js +1 -0
  739. package/dist/infineon-design-system-stencil/p-f4e8f76a.entry.js +1 -0
  740. package/dist/infineon-design-system-stencil/p-f4f3916e.entry.js +1 -0
  741. package/dist/infineon-design-system-stencil/p-f5b65911.entry.js +1 -0
  742. package/dist/infineon-design-system-stencil/p-f740a48b.entry.js +1 -0
  743. package/dist/infineon-design-system-stencil/p-f9273ee7.entry.js +1 -0
  744. package/dist/infineon-design-system-stencil/p-fbdef7ac.entry.js +1 -0
  745. package/dist/loader/cdn.js +1 -0
  746. package/dist/loader/index.cjs.js +1 -0
  747. package/dist/loader/index.d.ts +24 -0
  748. package/dist/loader/index.es2017.js +1 -0
  749. package/dist/loader/index.js +2 -0
  750. package/dist/types/components/accordion/accordion.d.ts +8 -0
  751. package/dist/types/components/accordion/accordionItem.d.ts +31 -0
  752. package/dist/types/components/action-list/action-list-item.d.ts +59 -0
  753. package/dist/types/components/action-list/action-list.d.ts +9 -0
  754. package/dist/types/components/ai-label/ai-label.d.ts +7 -0
  755. package/dist/types/components/alert/alert.d.ts +22 -0
  756. package/dist/types/components/breadcrumb/breadcrumb-item-label.d.ts +14 -0
  757. package/dist/types/components/breadcrumb/breadcrumb-item.d.ts +25 -0
  758. package/dist/types/components/breadcrumb/breadcrumb.d.ts +6 -0
  759. package/dist/types/components/button/button.d.ts +41 -0
  760. package/dist/types/components/card/card-headline/card-headline.d.ts +7 -0
  761. package/dist/types/components/card/card-image/card-image.d.ts +17 -0
  762. package/dist/types/components/card/card-links/card-links.d.ts +4 -0
  763. package/dist/types/components/card/card-overline/card-overline.d.ts +3 -0
  764. package/dist/types/components/card/card-text/card-text.d.ts +6 -0
  765. package/dist/types/components/card/card.d.ts +28 -0
  766. package/dist/types/components/checkbox/checkbox.d.ts +88 -0
  767. package/dist/types/components/checkbox-group/checkbox-group.d.ts +30 -0
  768. package/dist/types/components/chip/chip-item/chip-item.d.ts +23 -0
  769. package/dist/types/components/chip/chip.d.ts +54 -0
  770. package/dist/types/components/chip/interfaces.d.ts +13 -0
  771. package/dist/types/components/content-switcher/content-switcher-item.d.ts +7 -0
  772. package/dist/types/components/content-switcher/content-switcher.d.ts +74 -0
  773. package/dist/types/components/counter/counter.d.ts +19 -0
  774. package/dist/types/components/date-picker/date-picker.d.ts +83 -0
  775. package/dist/types/components/download/download.d.ts +5 -0
  776. package/dist/types/components/dropdown/IOpenable.d.ts +3 -0
  777. package/dist/types/components/dropdown/dropdown-header/dropdown-header.d.ts +3 -0
  778. package/dist/types/components/dropdown/dropdown-item/dropdown-item.d.ts +23 -0
  779. package/dist/types/components/dropdown/dropdown-menu/dropdown-menu.d.ts +23 -0
  780. package/dist/types/components/dropdown/dropdown-seperator/dropdown-separator.d.ts +3 -0
  781. package/dist/types/components/dropdown/dropdown-trigger/dropdown-trigger.d.ts +6 -0
  782. package/dist/types/components/dropdown/dropdown-trigger-button/dropdown-trigger-button.d.ts +16 -0
  783. package/dist/types/components/dropdown/dropdown.d.ts +55 -0
  784. package/dist/types/components/error-page/error-page.d.ts +15 -0
  785. package/dist/types/components/file-upload/file-upload.d.ts +205 -0
  786. package/dist/types/components/footer/footer-column.d.ts +4 -0
  787. package/dist/types/components/footer/footer.d.ts +11 -0
  788. package/dist/types/components/icon/figma_code_connect_icons.d.ts +1 -0
  789. package/dist/types/components/icon/icon.d.ts +31 -0
  790. package/dist/types/components/icon-button/icon-button.d.ts +57 -0
  791. package/dist/types/components/icons-preview/icons-preview.d.ts +18 -0
  792. package/dist/types/components/indicator/indicator.d.ts +17 -0
  793. package/dist/types/components/link/link.d.ts +48 -0
  794. package/dist/types/components/modal/modal.d.ts +97 -0
  795. package/dist/types/components/navigation/navbar/navbar-item.d.ts +73 -0
  796. package/dist/types/components/navigation/navbar/navbar-profile.d.ts +41 -0
  797. package/dist/types/components/navigation/navbar/navbar.d.ts +70 -0
  798. package/dist/types/components/navigation/sidebar/sidebar-item.d.ts +65 -0
  799. package/dist/types/components/navigation/sidebar/sidebar-seperator/sidebar-separator.d.ts +3 -0
  800. package/dist/types/components/navigation/sidebar/sidebar-title.d.ts +7 -0
  801. package/dist/types/components/navigation/sidebar/sidebar.d.ts +87 -0
  802. package/dist/types/components/notification/notification.d.ts +23 -0
  803. package/dist/types/components/overview-table/overview-table.d.ts +11 -0
  804. package/dist/types/components/pagination/pagination.d.ts +45 -0
  805. package/dist/types/components/popover/popover.d.ts +55 -0
  806. package/dist/types/components/progress-bar/progress-bar.d.ts +14 -0
  807. package/dist/types/components/radio-button/radio-button.d.ts +37 -0
  808. package/dist/types/components/radio-button-group/radio-button-group.d.ts +30 -0
  809. package/dist/types/components/search-bar/search-bar.d.ts +60 -0
  810. package/dist/types/components/search-field/search-field.d.ts +178 -0
  811. package/dist/types/components/segmented-control/segment/segment.d.ts +16 -0
  812. package/dist/types/components/segmented-control/segmented-control.d.ts +40 -0
  813. package/dist/types/components/select/multi-select/interfaces.d.ts +9 -0
  814. package/dist/types/components/select/multi-select/multiselect-group.d.ts +15 -0
  815. package/dist/types/components/select/multi-select/multiselect-option.d.ts +43 -0
  816. package/dist/types/components/select/multi-select/multiselect.d.ts +123 -0
  817. package/dist/types/components/select/single-select/select-group.d.ts +17 -0
  818. package/dist/types/components/select/single-select/select-option.d.ts +31 -0
  819. package/dist/types/components/select/single-select/select.d.ts +129 -0
  820. package/dist/types/components/slider/slider.d.ts +76 -0
  821. package/dist/types/components/spinner/spinner.d.ts +27 -0
  822. package/dist/types/components/status/status.d.ts +11 -0
  823. package/dist/types/components/stepper/interfaces.d.ts +7 -0
  824. package/dist/types/components/stepper/step/step.d.ts +24 -0
  825. package/dist/types/components/stepper/stepper.d.ts +35 -0
  826. package/dist/types/components/switch/switch.d.ts +112 -0
  827. package/dist/types/components/table-advanced-version/buttonCellRenderer.d.ts +15 -0
  828. package/dist/types/components/table-advanced-version/checkboxCellRenderer.d.ts +15 -0
  829. package/dist/types/components/table-advanced-version/checkboxHeaderRenderer.d.ts +14 -0
  830. package/dist/types/components/table-advanced-version/customLoadingOverlay.d.ts +9 -0
  831. package/dist/types/components/table-advanced-version/customNoRowsOverlay.d.ts +9 -0
  832. package/dist/types/components/table-advanced-version/filter-bar/filter-bar.d.ts +26 -0
  833. package/dist/types/components/table-advanced-version/filter-type-group/filter-accordion/filter-accordion.d.ts +20 -0
  834. package/dist/types/components/table-advanced-version/filter-type-group/filter-search/filter-search.d.ts +22 -0
  835. package/dist/types/components/table-advanced-version/filter-type-group/filter-type-group.d.ts +29 -0
  836. package/dist/types/components/table-advanced-version/filter-type-group/utils.d.ts +5 -0
  837. package/dist/types/components/table-advanced-version/iconButtonCellRenderer.d.ts +15 -0
  838. package/dist/types/components/table-advanced-version/interfaces.d.ts +53 -0
  839. package/dist/types/components/table-advanced-version/linkCellRenderer.d.ts +12 -0
  840. package/dist/types/components/table-advanced-version/list/list-entry/list-entry.d.ts +11 -0
  841. package/dist/types/components/table-advanced-version/list/list.d.ts +38 -0
  842. package/dist/types/components/table-advanced-version/set-filter/setFilter.d.ts +20 -0
  843. package/dist/types/components/table-advanced-version/statusCellRenderer.d.ts +8 -0
  844. package/dist/types/components/table-advanced-version/table.d.ts +146 -0
  845. package/dist/types/components/table-advanced-version/tooltipCellRenderer.d.ts +12 -0
  846. package/dist/types/components/table-basic-version/customLoadingOverlay.d.ts +9 -0
  847. package/dist/types/components/table-basic-version/customNoRowsOverlay.d.ts +9 -0
  848. package/dist/types/components/table-basic-version/interfaces.d.ts +9 -0
  849. package/dist/types/components/table-basic-version/table.d.ts +34 -0
  850. package/dist/types/components/tabs/tab.d.ts +26 -0
  851. package/dist/types/components/tabs/tabs.d.ts +64 -0
  852. package/dist/types/components/templates/template/template.d.ts +37 -0
  853. package/dist/types/components/templates/templates-ui/templates-ui.d.ts +10 -0
  854. package/dist/types/components/text-field/text-field.d.ts +55 -0
  855. package/dist/types/components/textarea/textarea.d.ts +54 -0
  856. package/dist/types/components/toast/toast-config.d.ts +7 -0
  857. package/dist/types/components/toast/toast-container/toast-container.d.ts +43 -0
  858. package/dist/types/components/toast/toast-controller.d.ts +51 -0
  859. package/dist/types/components/toast/toast.d.ts +58 -0
  860. package/dist/types/components/tooltip/tooltip.d.ts +34 -0
  861. package/dist/types/components/tree-view/tree-view-item.d.ts +79 -0
  862. package/dist/types/components/tree-view/tree-view.d.ts +21 -0
  863. package/dist/types/components.d.ts +8540 -0
  864. package/dist/types/global/setup.d.ts +1 -0
  865. package/dist/types/index.d.ts +4 -0
  866. package/dist/types/shared/utils/animation.d.ts +13 -0
  867. package/dist/types/shared/utils/colorNames.d.ts +1 -0
  868. package/dist/types/shared/utils/dom-ready.d.ts +1 -0
  869. package/dist/types/shared/utils/dom-utils.d.ts +1 -0
  870. package/dist/types/shared/utils/focus-trap.d.ts +33 -0
  871. package/dist/types/shared/utils/framework-detection.d.ts +1 -0
  872. package/dist/types/shared/utils/tracking.d.ts +10 -0
  873. package/dist/types/shared/utils/url-utils.d.ts +1 -0
  874. package/dist/types/stencil-public-runtime.d.ts +1879 -0
  875. package/package.json +193 -3
  876. package/readme.md +229 -0
  877. package/README.md +0 -3
@@ -0,0 +1,1156 @@
1
+ import { h, } from "@stencil/core";
2
+ import classNames from "classnames";
3
+ import { isNestedInIfxComponent } from "../..//shared/utils/dom-utils";
4
+ import { detectFramework } from "../..//shared/utils/framework-detection";
5
+ import { trackComponent } from "../../shared/utils/tracking";
6
+ export class SearchField {
7
+ inputElement;
8
+ dropdownElement;
9
+ wrapperElement;
10
+ focusEmitted = false;
11
+ el;
12
+ /**
13
+ * Current input value. Mutates as the user types and can be set programmatically.
14
+ */
15
+ value = "";
16
+ /**
17
+ * External suggestion items used to populate the dropdown.
18
+ */
19
+ suggestions = [];
20
+ /**
21
+ * Enable the suggestion dropdown and request events while typing.
22
+ */
23
+ showSuggestions = false;
24
+ /**
25
+ * Maximum number of items shown in the dropdown (suggestions + history).
26
+ */
27
+ maxSuggestions = 10;
28
+ /**
29
+ * Maximum number of stored history entries.
30
+ */
31
+ maxHistoryItems = 5;
32
+ /**
33
+ * Enable local search history behavior and persistence.
34
+ */
35
+ enableHistory = true;
36
+ /**
37
+ * localStorage key used to persist search history.
38
+ * This is needed to allow multiple instances of the search field to maintain separate histories if desired, but can be left as default for a shared history across the application.
39
+ */
40
+ historyKey = "ifx-search-history";
41
+ /**
42
+ * Header text shown when only history entries are displayed.
43
+ */
44
+ historyHeaderText = "Recent Searches";
45
+ /**
46
+ * Accessible label for the input.
47
+ */
48
+ ariaLabelText = "Search Field";
49
+ /**
50
+ * ID of the element that labels the input.
51
+ */
52
+ ariaLabelledBy;
53
+ /**
54
+ * ID of the element that describes the input.
55
+ */
56
+ ariaDescribedBy;
57
+ /**
58
+ * Accessible label for the clear icon button.
59
+ */
60
+ deleteIconAriaLabel = "Clear search";
61
+ /**
62
+ * Accessible label for the history item delete button.
63
+ */
64
+ historyDeleteAriaLabel = "Remove from history";
65
+ /**
66
+ * Accessible label for the suggestions listbox.
67
+ */
68
+ dropdownAriaLabel = "Search suggestions and history";
69
+ /**
70
+ * Accessible label prefix for suggestion items.
71
+ */
72
+ suggestionAriaLabel = "Search suggestion";
73
+ /**
74
+ * Accessible label prefix for history items.
75
+ */
76
+ historyItemAriaLabel = "Search history item";
77
+ /**
78
+ * Show the clear icon when there is a non-empty value.
79
+ */
80
+ showDeleteIcon = false;
81
+ /**
82
+ * Disable the input and related interactions.
83
+ */
84
+ disabled = false;
85
+ /**
86
+ * Visual size variant. "s" enables compact styling, otherwise defaults to "l".
87
+ */
88
+ size = "l";
89
+ /**
90
+ * Placeholder text for the input.
91
+ */
92
+ placeholder = "Search";
93
+ /**
94
+ * Native autocomplete attribute value.
95
+ */
96
+ autocomplete = "off";
97
+ /**
98
+ * Maximum number of characters allowed in the input.
99
+ */
100
+ maxlength = undefined;
101
+ /**
102
+ * Emitted on input change with the current value.
103
+ */
104
+ ifxInput;
105
+ /**
106
+ * Emitted to request external suggestions for the given query.
107
+ */
108
+ ifxSuggestionRequested;
109
+ /**
110
+ * Emitted when a suggestion or history item is selected.
111
+ */
112
+ ifxSuggestionSelected;
113
+ /**
114
+ * Emitted when the input gains focus.
115
+ */
116
+ ifxFocus;
117
+ /**
118
+ * Emitted when the input loses focus.
119
+ */
120
+ ifxBlur;
121
+ showDeleteIconInternalState = false;
122
+ isFocused = false;
123
+ isFocusWithin = false;
124
+ suggestionsDismissed = false;
125
+ filteredSuggestions = [];
126
+ selectedSuggestionIndex = -1;
127
+ searchHistory = [];
128
+ suggestionAnnouncement = "";
129
+ announcementToken = 0;
130
+ get showDropdown() {
131
+ return (this.isFocusWithin &&
132
+ !this.suggestionsDismissed &&
133
+ (this.showSuggestions || this.enableHistory) &&
134
+ this.filteredSuggestions.length > 0);
135
+ }
136
+ handleOutsideClick(event) {
137
+ const path = event.composedPath();
138
+ const clickedInput = this.inputElement
139
+ ? path.includes(this.inputElement)
140
+ : false;
141
+ const clickedDropdown = this.dropdownElement
142
+ ? path.includes(this.dropdownElement)
143
+ : false;
144
+ const clickedWrapper = this.wrapperElement
145
+ ? path.includes(this.wrapperElement)
146
+ : false;
147
+ if (!clickedInput &&
148
+ !clickedDropdown &&
149
+ !clickedWrapper) {
150
+ this.dismissSuggestions();
151
+ }
152
+ }
153
+ handleKeyDown(event) {
154
+ switch (event.key) {
155
+ case "ArrowDown":
156
+ if (!this.showDropdown)
157
+ return;
158
+ event.preventDefault();
159
+ this.navigateSuggestions(1);
160
+ break;
161
+ case "ArrowUp":
162
+ if (!this.showDropdown)
163
+ return;
164
+ event.preventDefault();
165
+ this.navigateSuggestions(-1);
166
+ break;
167
+ case "Enter":
168
+ event.preventDefault();
169
+ if (this.showDropdown && this.selectedSuggestionIndex >= 0) {
170
+ this.selectSuggestion(this.filteredSuggestions[this.selectedSuggestionIndex]);
171
+ }
172
+ else {
173
+ this.handleSearch();
174
+ }
175
+ break;
176
+ case "Escape":
177
+ // Browser default for type="search" clears the value.
178
+ // We use two escape steps:
179
+ // 1. Escape: dismisses open suggestions without clearing
180
+ // 2. Escape: clear explicitly for consistent cross-agent behavior.
181
+ event.preventDefault();
182
+ if (this.showDropdown) {
183
+ this.dismissSuggestions();
184
+ }
185
+ else {
186
+ this.handleDelete();
187
+ }
188
+ break;
189
+ }
190
+ }
191
+ valueWatcher(newValue) {
192
+ if (this.inputElement && newValue !== this.inputElement.value) {
193
+ this.inputElement.value = newValue;
194
+ }
195
+ this.updateSuggestions();
196
+ }
197
+ suggestionsWatcher() {
198
+ this.updateSuggestions();
199
+ }
200
+ handleInput = () => {
201
+ this.suggestionsDismissed = false;
202
+ if (!this.inputElement)
203
+ return;
204
+ const query = this.inputElement.value;
205
+ this.value = query;
206
+ this.cancelSuggestionAnnouncement();
207
+ this.ifxInput.emit(this.value);
208
+ if (!this.showSuggestions && !this.enableHistory)
209
+ return;
210
+ this.selectedSuggestionIndex = -1;
211
+ if (this.showSuggestions) {
212
+ this.requestSuggestions(query);
213
+ }
214
+ else {
215
+ this.updateSuggestions();
216
+ }
217
+ };
218
+ handleDelete = () => {
219
+ if (!this.disabled && this.inputElement) {
220
+ this.inputElement.value = "";
221
+ this.value = "";
222
+ this.ifxInput.emit(this.value);
223
+ this.dismissSuggestions();
224
+ }
225
+ };
226
+ handleSearch = () => {
227
+ if (this.value.trim() && this.enableHistory) {
228
+ this.addToHistory(this.value);
229
+ }
230
+ this.dismissSuggestions();
231
+ };
232
+ focusInput() {
233
+ this.isFocused = true;
234
+ this.isFocusWithin = true;
235
+ this.suggestionsDismissed = false;
236
+ // Only emit focus event if it hasn't been emitted already
237
+ if (!this.focusEmitted) {
238
+ this.focusEmitted = true;
239
+ this.ifxFocus.emit();
240
+ }
241
+ if (this.showSuggestions || this.enableHistory) {
242
+ // On focus without input: Show only history
243
+ if (this.value.length === 0) {
244
+ this.showHistoryDropdown();
245
+ if (this.showDropdown) {
246
+ this.announceSuggestionCount();
247
+ }
248
+ }
249
+ else {
250
+ // With existing input: Normal suggestion logic
251
+ this.updateSuggestions();
252
+ }
253
+ }
254
+ }
255
+ blurInput() {
256
+ setTimeout(() => {
257
+ const activeElement = this.el.shadowRoot?.activeElement;
258
+ if (activeElement === this.inputElement) {
259
+ return;
260
+ }
261
+ this.isFocused = false;
262
+ if (!activeElement) {
263
+ this.isFocusWithin = false;
264
+ }
265
+ this.focusEmitted = false; // Reset focus flag when blur occurs
266
+ this.ifxBlur.emit();
267
+ }, 150);
268
+ }
269
+ handleFocusIn = () => {
270
+ this.isFocusWithin = true;
271
+ };
272
+ handleFocusOut = () => {
273
+ setTimeout(() => {
274
+ this.isFocusWithin = this.el.shadowRoot?.activeElement != null;
275
+ });
276
+ };
277
+ // Public method to update history from external sources
278
+ loadSearchHistory() {
279
+ if (this.enableHistory && typeof localStorage !== "undefined") {
280
+ const stored = localStorage.getItem(this.historyKey);
281
+ this.searchHistory = stored ? JSON.parse(stored) : [];
282
+ // Update suggestions when history is loaded
283
+ this.updateSuggestions();
284
+ // If no input and no history left, close the suggestion interaction
285
+ if (this.value.length === 0 && this.searchHistory.length === 0) {
286
+ this.dismissSuggestions();
287
+ }
288
+ }
289
+ }
290
+ /**
291
+ * Focuses the search input.
292
+ */
293
+ async setFocus() {
294
+ this.inputElement?.focus();
295
+ }
296
+ /**
297
+ * Public method to clear search history.
298
+ * This will clear the history from both localStorage and the internal state, and also reset any dropdown-related states.
299
+ */
300
+ async clearSearchHistory() {
301
+ if (this.enableHistory && typeof localStorage !== "undefined") {
302
+ // Clear from localStorage
303
+ localStorage.removeItem(this.historyKey);
304
+ // Clear internal history
305
+ this.searchHistory = [];
306
+ // Reset all dropdown-relevant states
307
+ this.filteredSuggestions = [];
308
+ this.dismissSuggestions();
309
+ // Update suggestions after reset
310
+ this.updateSuggestions();
311
+ }
312
+ }
313
+ // Suggestion Management Methods
314
+ addToHistory(term) {
315
+ if (!this.enableHistory || !term.trim())
316
+ return;
317
+ const history = [...this.searchHistory];
318
+ const existingIndex = history.indexOf(term);
319
+ if (existingIndex > -1) {
320
+ history.splice(existingIndex, 1);
321
+ }
322
+ history.unshift(term);
323
+ // Limit history to maxHistoryItems (default 5)
324
+ this.searchHistory = history.slice(0, this.maxHistoryItems);
325
+ if (typeof localStorage !== "undefined") {
326
+ localStorage.setItem(this.historyKey, JSON.stringify(this.searchHistory));
327
+ }
328
+ }
329
+ // Remove individual history entry
330
+ removeFromHistory(term) {
331
+ if (!this.enableHistory)
332
+ return;
333
+ const history = [...this.searchHistory];
334
+ const index = history.indexOf(term);
335
+ if (index > -1) {
336
+ history.splice(index, 1);
337
+ this.searchHistory = history;
338
+ // Update localStorage
339
+ if (typeof localStorage !== "undefined") {
340
+ localStorage.setItem(this.historyKey, JSON.stringify(this.searchHistory));
341
+ }
342
+ // Update suggestions after removal
343
+ this.updateSuggestions();
344
+ // End the suggestion interaction if no history remains
345
+ if (this.searchHistory.length === 0 && this.value.length === 0) {
346
+ this.dismissSuggestions();
347
+ }
348
+ }
349
+ }
350
+ // Handle click on history delete button
351
+ handleHistoryDelete = (event, term) => {
352
+ event.stopPropagation(); // Prevent selection of the entry
353
+ this.removeFromHistory(term);
354
+ };
355
+ requestSuggestions(query) {
356
+ this.ifxSuggestionRequested.emit(query);
357
+ this.updateSuggestions();
358
+ }
359
+ updateSuggestions() {
360
+ const query = this.value.toLowerCase();
361
+ const externalSuggestions = Array.isArray(this.suggestions)
362
+ ? this.suggestions
363
+ : [];
364
+ const historySuggestions = this.enableHistory && this.searchHistory.length > 0
365
+ ? this.searchHistory
366
+ .filter((term) => query.length === 0 || term.toLowerCase().includes(query))
367
+ .map((term, index) => ({
368
+ id: `history-${index}`,
369
+ text: term,
370
+ type: "history",
371
+ }))
372
+ : [];
373
+ const combinedSuggestions = [...externalSuggestions, ...historySuggestions];
374
+ // Remove duplicates based on text and scope combination (history takes precedence over external)
375
+ const uniqueSuggestions = combinedSuggestions.reduce((unique, current) => {
376
+ const existingIndex = unique.findIndex((item) => item.text.toLowerCase() === current.text.toLowerCase() &&
377
+ item.scope === current.scope);
378
+ if (existingIndex === -1) {
379
+ unique.push(current);
380
+ }
381
+ else {
382
+ // If already exists, prefer history over external suggestions
383
+ if (current.type === "history" &&
384
+ unique[existingIndex].type !== "history") {
385
+ unique[existingIndex] = current;
386
+ }
387
+ }
388
+ return unique;
389
+ }, []);
390
+ this.filteredSuggestions = uniqueSuggestions.slice(0, this.maxSuggestions);
391
+ this.selectedSuggestionIndex = -1;
392
+ this.announceSuggestionCount();
393
+ }
394
+ navigateSuggestions(direction) {
395
+ const maxIndex = this.filteredSuggestions.length - 1;
396
+ if (direction > 0) {
397
+ this.selectedSuggestionIndex =
398
+ this.selectedSuggestionIndex < maxIndex
399
+ ? this.selectedSuggestionIndex + 1
400
+ : 0;
401
+ }
402
+ else {
403
+ this.selectedSuggestionIndex =
404
+ this.selectedSuggestionIndex > 0
405
+ ? this.selectedSuggestionIndex - 1
406
+ : maxIndex;
407
+ }
408
+ }
409
+ // Scroll the currently selected suggestion into view within the dropdown
410
+ scrollSelectedSuggestionIntoView() {
411
+ if (!this.dropdownElement || this.selectedSuggestionIndex < 0)
412
+ return;
413
+ const selectedSuggestion = this.dropdownElement.querySelector(`#suggestion-${this.selectedSuggestionIndex}`);
414
+ selectedSuggestion?.scrollIntoView({ block: "nearest" });
415
+ }
416
+ selectSuggestion(suggestion) {
417
+ this.value = suggestion.text;
418
+ if (this.inputElement) {
419
+ this.inputElement.value = suggestion.text;
420
+ }
421
+ this.ifxSuggestionSelected.emit(suggestion);
422
+ this.ifxInput.emit(this.value);
423
+ if (this.enableHistory) {
424
+ // Always add selected suggestions to history since they are valid results
425
+ this.addToHistory(suggestion.text);
426
+ }
427
+ this.dismissSuggestions();
428
+ }
429
+ dismissSuggestions() {
430
+ this.suggestionsDismissed = true;
431
+ this.selectedSuggestionIndex = -1;
432
+ this.cancelSuggestionAnnouncement();
433
+ }
434
+ cancelSuggestionAnnouncement() {
435
+ this.announcementToken++;
436
+ this.suggestionAnnouncement = "";
437
+ }
438
+ announceSuggestionCount() {
439
+ this.suggestionAnnouncement = "";
440
+ const token = ++this.announcementToken;
441
+ requestAnimationFrame(() => {
442
+ if (token !== this.announcementToken)
443
+ return;
444
+ if (!this.showDropdown || this.filteredSuggestions.length === 0)
445
+ return;
446
+ const resultCount = this.filteredSuggestions.length;
447
+ this.suggestionAnnouncement = `${resultCount} ${resultCount === 1 ? "result" : "results"} available`;
448
+ });
449
+ }
450
+ // Show only history in dropdown (e.g. on focus without input)
451
+ showHistoryDropdown() {
452
+ if (this.enableHistory && this.searchHistory.length > 0) {
453
+ // Show only history entries
454
+ const historySuggestions = this.searchHistory.map((term, index) => ({
455
+ id: `history-${index}`,
456
+ text: term,
457
+ type: "history",
458
+ }));
459
+ this.filteredSuggestions = historySuggestions.slice(0, this.maxSuggestions);
460
+ this.selectedSuggestionIndex = -1;
461
+ }
462
+ else {
463
+ this.filteredSuggestions = [];
464
+ }
465
+ }
466
+ // Check if only history entries are displayed (without text input)
467
+ isShowingOnlyHistory() {
468
+ return (this.value.length === 0 &&
469
+ this.filteredSuggestions.length > 0 &&
470
+ this.filteredSuggestions.every((s) => s.type === "history"));
471
+ }
472
+ // Render text with highlighted matches
473
+ renderHighlightedText(text, query) {
474
+ if (!query || query.length === 0) {
475
+ return text;
476
+ }
477
+ const lowerText = text.toLowerCase();
478
+ const lowerQuery = query.toLowerCase();
479
+ const index = lowerText.indexOf(lowerQuery);
480
+ if (index === -1) {
481
+ return text;
482
+ }
483
+ const before = text.substring(0, index);
484
+ const match = text.substring(index, index + query.length);
485
+ const after = text.substring(index + query.length);
486
+ return [before, h("strong", null, match), after];
487
+ }
488
+ componentWillLoad() {
489
+ this.loadSearchHistory();
490
+ }
491
+ async componentDidLoad() {
492
+ if (!isNestedInIfxComponent(this.el)) {
493
+ const framework = detectFramework();
494
+ trackComponent("ifx-search-field", await framework);
495
+ }
496
+ }
497
+ componentDidRender() {
498
+ this.scrollSelectedSuggestionIntoView();
499
+ }
500
+ componentWillUpdate() {
501
+ if (this.value !== "") {
502
+ this.showDeleteIconInternalState = true;
503
+ }
504
+ else
505
+ this.showDeleteIconInternalState = false;
506
+ }
507
+ render() {
508
+ return (h("div", { key: '0fad0541006084547df01bc173db505e2e0ea7c9', "aria-disabled": this.disabled, class: "search-field", onFocusin: this.handleFocusIn, onFocusout: this.handleFocusOut }, h("output", { key: 'f035e49f366c82c31bc32956baa39e6ece8d7ad0', "aria-atomic": "true", "aria-live": "polite", class: "suggestion-status" }, this.suggestionAnnouncement), h("div", { key: '083b4f2939554d547554d0d3e42bf76373dd97b5', ref: (el) => (this.wrapperElement = el), class: this.getWrapperClassNames() }, h("label", { key: 'af24292a57fcb2de04baa008c4d447dfe25b6eed', class: "search-field__label" }, h("ifx-icon", { key: '1a4d3a47ec00f08cbb969ea653b563af955b7942', icon: "search-16", class: "search-icon" }), h("input", { key: 'a99f958e6ff77bb70adb9f800b95d991b383811a', ref: (el) => (this.inputElement = el), type: "search", autocomplete: this.autocomplete, onInput: () => this.handleInput(), onFocus: () => this.focusInput(), onBlur: () => this.blurInput(), placeholder: this.placeholder, disabled: this.disabled, maxlength: this.maxlength, value: this.value, "aria-controls": this.showDropdown ? "suggestions-dropdown" : undefined, "aria-autocomplete": "list", "aria-haspopup": "listbox", "aria-label": this.ariaLabelText, "aria-labelledby": this.ariaLabelledBy, "aria-describedby": this.ariaDescribedBy, "aria-activedescendant": this.selectedSuggestionIndex >= 0
509
+ ? `suggestion-${this.selectedSuggestionIndex}`
510
+ : undefined })), this.showDeleteIcon && this.showDeleteIconInternalState ? (h("ifx-icon", { icon: "cRemove16", class: "delete-icon", onClick: this.handleDelete, role: "button", tabindex: "0", "aria-label": this.deleteIconAriaLabel, onKeyDown: (event) => {
511
+ if (event.key === "Enter" || event.key === " ") {
512
+ event.preventDefault();
513
+ this.handleDelete();
514
+ }
515
+ } })) : null), this.showDropdown && this.filteredSuggestions.length > 0 && (h("div", { key: '534bdc8e0dc45953de57903578903a04a45f4f14', ref: (el) => (this.dropdownElement = el), id: "suggestions-dropdown", class: "suggestions-dropdown", role: "listbox", "aria-label": this.dropdownAriaLabel }, this.isShowingOnlyHistory() && (h("div", { key: 'f796dba6b3971eab3ac35f629db041be589fc950', class: "suggestions-header" }, this.historyHeaderText)), this.filteredSuggestions.map((suggestion, index) => (h("div", { key: suggestion.id, id: `suggestion-${index}`, class: this.getSuggestionClassNames(index), role: "option", tabIndex: 0, "aria-selected": index === this.selectedSuggestionIndex, "aria-label": `${suggestion.type === "history" ? this.historyItemAriaLabel : this.suggestionAriaLabel}: ${suggestion.text}${suggestion.scope ? `, ${suggestion.scope}` : ""}${suggestion.resultCount ? `, ${suggestion.resultCount} results` : ""}`, onClick: () => this.selectSuggestion(suggestion), onKeyDown: (event) => {
516
+ if (event.key === "Enter" || event.key === " ") {
517
+ event.preventDefault();
518
+ this.selectSuggestion(suggestion);
519
+ }
520
+ }, onMouseEnter: () => (this.selectedSuggestionIndex = index) }, h("div", { class: "suggestion-content" }, suggestion.type === "history" && (h("ifx-icon", { icon: "history-16", class: "suggestion-icon suggestion-icon--history" })), suggestion.type === "suggestion" && (h("ifx-icon", { icon: "search-16", class: "suggestion-icon suggestion-icon--suggestion" })), h("span", { class: "suggestion-text" }, h("span", { class: "suggestion-main-text" }, this.renderHighlightedText(suggestion.text, this.value)), suggestion.scope && (h("span", { class: "suggestion-scope" }, "\u2013 ", suggestion.scope))), suggestion.resultCount !== undefined && suggestion.scope && (h("span", { class: "suggestion-count" }, suggestion.resultCount)), suggestion.type === "history" && (h("ifx-icon", { icon: "cross16", class: "suggestion-delete-icon", role: "button", tabindex: "0", "aria-label": `${this.historyDeleteAriaLabel}: ${suggestion.text}`, onClick: (event) => this.handleHistoryDelete(event, suggestion.text), onKeyDown: (event) => {
521
+ if (event.key === "Enter" || event.key === " ") {
522
+ event.preventDefault();
523
+ this.handleHistoryDelete(event, suggestion.text);
524
+ }
525
+ } }))))))))));
526
+ }
527
+ getSizeClass() {
528
+ return `${this.size}` === "s" ? "search-field__wrapper-s" : "";
529
+ }
530
+ getWrapperClassNames() {
531
+ return classNames(`search-field__wrapper`, `${this.getSizeClass()}`, `${this.isFocused ? "focused" : ""}`, `${this.showDropdown ? "dropdown-open" : ""}`, `${this.disabled ? "disabled" : ""}`);
532
+ }
533
+ getSuggestionClassNames(index) {
534
+ return classNames("suggestion-item", {
535
+ "suggestion-item--selected": index === this.selectedSuggestionIndex,
536
+ "suggestion-item--history": this.filteredSuggestions[index]?.type === "history",
537
+ });
538
+ }
539
+ static get is() { return "ifx-search-field"; }
540
+ static get encapsulation() { return "shadow"; }
541
+ static get originalStyleUrls() {
542
+ return {
543
+ "$": ["search-field.scss"]
544
+ };
545
+ }
546
+ static get styleUrls() {
547
+ return {
548
+ "$": ["search-field.css"]
549
+ };
550
+ }
551
+ static get properties() {
552
+ return {
553
+ "value": {
554
+ "type": "string",
555
+ "mutable": true,
556
+ "complexType": {
557
+ "original": "string",
558
+ "resolved": "string",
559
+ "references": {}
560
+ },
561
+ "required": false,
562
+ "optional": false,
563
+ "docs": {
564
+ "tags": [],
565
+ "text": "Current input value. Mutates as the user types and can be set programmatically."
566
+ },
567
+ "getter": false,
568
+ "setter": false,
569
+ "reflect": false,
570
+ "attribute": "value",
571
+ "defaultValue": "\"\""
572
+ },
573
+ "suggestions": {
574
+ "type": "unknown",
575
+ "mutable": false,
576
+ "complexType": {
577
+ "original": "SuggestionItem[]",
578
+ "resolved": "SuggestionItem[]",
579
+ "references": {
580
+ "SuggestionItem": {
581
+ "location": "local",
582
+ "path": "/home/fp/Dev/IFX/infineon-design-system-stencil/packages/components/src/components/search-field/search-field.tsx",
583
+ "id": "src/components/search-field/search-field.tsx::SuggestionItem"
584
+ }
585
+ }
586
+ },
587
+ "required": false,
588
+ "optional": false,
589
+ "docs": {
590
+ "tags": [],
591
+ "text": "External suggestion items used to populate the dropdown."
592
+ },
593
+ "getter": false,
594
+ "setter": false,
595
+ "defaultValue": "[]"
596
+ },
597
+ "showSuggestions": {
598
+ "type": "boolean",
599
+ "mutable": false,
600
+ "complexType": {
601
+ "original": "boolean",
602
+ "resolved": "boolean",
603
+ "references": {}
604
+ },
605
+ "required": false,
606
+ "optional": false,
607
+ "docs": {
608
+ "tags": [],
609
+ "text": "Enable the suggestion dropdown and request events while typing."
610
+ },
611
+ "getter": false,
612
+ "setter": false,
613
+ "reflect": false,
614
+ "attribute": "show-suggestions",
615
+ "defaultValue": "false"
616
+ },
617
+ "maxSuggestions": {
618
+ "type": "number",
619
+ "mutable": false,
620
+ "complexType": {
621
+ "original": "number",
622
+ "resolved": "number",
623
+ "references": {}
624
+ },
625
+ "required": false,
626
+ "optional": false,
627
+ "docs": {
628
+ "tags": [],
629
+ "text": "Maximum number of items shown in the dropdown (suggestions + history)."
630
+ },
631
+ "getter": false,
632
+ "setter": false,
633
+ "reflect": false,
634
+ "attribute": "max-suggestions",
635
+ "defaultValue": "10"
636
+ },
637
+ "maxHistoryItems": {
638
+ "type": "number",
639
+ "mutable": false,
640
+ "complexType": {
641
+ "original": "number",
642
+ "resolved": "number",
643
+ "references": {}
644
+ },
645
+ "required": false,
646
+ "optional": false,
647
+ "docs": {
648
+ "tags": [],
649
+ "text": "Maximum number of stored history entries."
650
+ },
651
+ "getter": false,
652
+ "setter": false,
653
+ "reflect": false,
654
+ "attribute": "max-history-items",
655
+ "defaultValue": "5"
656
+ },
657
+ "enableHistory": {
658
+ "type": "boolean",
659
+ "mutable": false,
660
+ "complexType": {
661
+ "original": "boolean",
662
+ "resolved": "boolean",
663
+ "references": {}
664
+ },
665
+ "required": false,
666
+ "optional": false,
667
+ "docs": {
668
+ "tags": [],
669
+ "text": "Enable local search history behavior and persistence."
670
+ },
671
+ "getter": false,
672
+ "setter": false,
673
+ "reflect": false,
674
+ "attribute": "enable-history",
675
+ "defaultValue": "true"
676
+ },
677
+ "historyKey": {
678
+ "type": "string",
679
+ "mutable": false,
680
+ "complexType": {
681
+ "original": "string",
682
+ "resolved": "string",
683
+ "references": {}
684
+ },
685
+ "required": false,
686
+ "optional": false,
687
+ "docs": {
688
+ "tags": [],
689
+ "text": "localStorage key used to persist search history.\nThis is needed to allow multiple instances of the search field to maintain separate histories if desired, but can be left as default for a shared history across the application."
690
+ },
691
+ "getter": false,
692
+ "setter": false,
693
+ "reflect": false,
694
+ "attribute": "history-key",
695
+ "defaultValue": "\"ifx-search-history\""
696
+ },
697
+ "historyHeaderText": {
698
+ "type": "string",
699
+ "mutable": false,
700
+ "complexType": {
701
+ "original": "string",
702
+ "resolved": "string",
703
+ "references": {}
704
+ },
705
+ "required": false,
706
+ "optional": false,
707
+ "docs": {
708
+ "tags": [],
709
+ "text": "Header text shown when only history entries are displayed."
710
+ },
711
+ "getter": false,
712
+ "setter": false,
713
+ "reflect": false,
714
+ "attribute": "history-header-text",
715
+ "defaultValue": "\"Recent Searches\""
716
+ },
717
+ "ariaLabelText": {
718
+ "type": "string",
719
+ "mutable": false,
720
+ "complexType": {
721
+ "original": "string | null",
722
+ "resolved": "string",
723
+ "references": {}
724
+ },
725
+ "required": false,
726
+ "optional": false,
727
+ "docs": {
728
+ "tags": [],
729
+ "text": "Accessible label for the input."
730
+ },
731
+ "getter": false,
732
+ "setter": false,
733
+ "reflect": false,
734
+ "attribute": "aria-label-text",
735
+ "defaultValue": "\"Search Field\""
736
+ },
737
+ "ariaLabelledBy": {
738
+ "type": "string",
739
+ "mutable": false,
740
+ "complexType": {
741
+ "original": "string | null",
742
+ "resolved": "string",
743
+ "references": {}
744
+ },
745
+ "required": false,
746
+ "optional": true,
747
+ "docs": {
748
+ "tags": [],
749
+ "text": "ID of the element that labels the input."
750
+ },
751
+ "getter": false,
752
+ "setter": false,
753
+ "reflect": false,
754
+ "attribute": "aria-labelled-by"
755
+ },
756
+ "ariaDescribedBy": {
757
+ "type": "string",
758
+ "mutable": false,
759
+ "complexType": {
760
+ "original": "string | null",
761
+ "resolved": "string",
762
+ "references": {}
763
+ },
764
+ "required": false,
765
+ "optional": true,
766
+ "docs": {
767
+ "tags": [],
768
+ "text": "ID of the element that describes the input."
769
+ },
770
+ "getter": false,
771
+ "setter": false,
772
+ "reflect": false,
773
+ "attribute": "aria-described-by"
774
+ },
775
+ "deleteIconAriaLabel": {
776
+ "type": "string",
777
+ "mutable": false,
778
+ "complexType": {
779
+ "original": "string",
780
+ "resolved": "string",
781
+ "references": {}
782
+ },
783
+ "required": false,
784
+ "optional": false,
785
+ "docs": {
786
+ "tags": [],
787
+ "text": "Accessible label for the clear icon button."
788
+ },
789
+ "getter": false,
790
+ "setter": false,
791
+ "reflect": false,
792
+ "attribute": "delete-icon-aria-label",
793
+ "defaultValue": "\"Clear search\""
794
+ },
795
+ "historyDeleteAriaLabel": {
796
+ "type": "string",
797
+ "mutable": false,
798
+ "complexType": {
799
+ "original": "string",
800
+ "resolved": "string",
801
+ "references": {}
802
+ },
803
+ "required": false,
804
+ "optional": false,
805
+ "docs": {
806
+ "tags": [],
807
+ "text": "Accessible label for the history item delete button."
808
+ },
809
+ "getter": false,
810
+ "setter": false,
811
+ "reflect": false,
812
+ "attribute": "history-delete-aria-label",
813
+ "defaultValue": "\"Remove from history\""
814
+ },
815
+ "dropdownAriaLabel": {
816
+ "type": "string",
817
+ "mutable": false,
818
+ "complexType": {
819
+ "original": "string",
820
+ "resolved": "string",
821
+ "references": {}
822
+ },
823
+ "required": false,
824
+ "optional": false,
825
+ "docs": {
826
+ "tags": [],
827
+ "text": "Accessible label for the suggestions listbox."
828
+ },
829
+ "getter": false,
830
+ "setter": false,
831
+ "reflect": false,
832
+ "attribute": "dropdown-aria-label",
833
+ "defaultValue": "\"Search suggestions and history\""
834
+ },
835
+ "suggestionAriaLabel": {
836
+ "type": "string",
837
+ "mutable": false,
838
+ "complexType": {
839
+ "original": "string",
840
+ "resolved": "string",
841
+ "references": {}
842
+ },
843
+ "required": false,
844
+ "optional": false,
845
+ "docs": {
846
+ "tags": [],
847
+ "text": "Accessible label prefix for suggestion items."
848
+ },
849
+ "getter": false,
850
+ "setter": false,
851
+ "reflect": false,
852
+ "attribute": "suggestion-aria-label",
853
+ "defaultValue": "\"Search suggestion\""
854
+ },
855
+ "historyItemAriaLabel": {
856
+ "type": "string",
857
+ "mutable": false,
858
+ "complexType": {
859
+ "original": "string",
860
+ "resolved": "string",
861
+ "references": {}
862
+ },
863
+ "required": false,
864
+ "optional": false,
865
+ "docs": {
866
+ "tags": [],
867
+ "text": "Accessible label prefix for history items."
868
+ },
869
+ "getter": false,
870
+ "setter": false,
871
+ "reflect": false,
872
+ "attribute": "history-item-aria-label",
873
+ "defaultValue": "\"Search history item\""
874
+ },
875
+ "showDeleteIcon": {
876
+ "type": "boolean",
877
+ "mutable": false,
878
+ "complexType": {
879
+ "original": "boolean",
880
+ "resolved": "boolean",
881
+ "references": {}
882
+ },
883
+ "required": false,
884
+ "optional": false,
885
+ "docs": {
886
+ "tags": [],
887
+ "text": "Show the clear icon when there is a non-empty value."
888
+ },
889
+ "getter": false,
890
+ "setter": false,
891
+ "reflect": false,
892
+ "attribute": "show-delete-icon",
893
+ "defaultValue": "false"
894
+ },
895
+ "disabled": {
896
+ "type": "boolean",
897
+ "mutable": false,
898
+ "complexType": {
899
+ "original": "boolean",
900
+ "resolved": "boolean",
901
+ "references": {}
902
+ },
903
+ "required": false,
904
+ "optional": false,
905
+ "docs": {
906
+ "tags": [],
907
+ "text": "Disable the input and related interactions."
908
+ },
909
+ "getter": false,
910
+ "setter": false,
911
+ "reflect": false,
912
+ "attribute": "disabled",
913
+ "defaultValue": "false"
914
+ },
915
+ "size": {
916
+ "type": "string",
917
+ "mutable": false,
918
+ "complexType": {
919
+ "original": "'s' | 'l'",
920
+ "resolved": "\"l\" | \"s\"",
921
+ "references": {}
922
+ },
923
+ "required": false,
924
+ "optional": false,
925
+ "docs": {
926
+ "tags": [],
927
+ "text": "Visual size variant. \"s\" enables compact styling, otherwise defaults to \"l\"."
928
+ },
929
+ "getter": false,
930
+ "setter": false,
931
+ "reflect": false,
932
+ "attribute": "size",
933
+ "defaultValue": "\"l\""
934
+ },
935
+ "placeholder": {
936
+ "type": "string",
937
+ "mutable": false,
938
+ "complexType": {
939
+ "original": "string",
940
+ "resolved": "string",
941
+ "references": {}
942
+ },
943
+ "required": false,
944
+ "optional": false,
945
+ "docs": {
946
+ "tags": [],
947
+ "text": "Placeholder text for the input."
948
+ },
949
+ "getter": false,
950
+ "setter": false,
951
+ "reflect": false,
952
+ "attribute": "placeholder",
953
+ "defaultValue": "\"Search\""
954
+ },
955
+ "autocomplete": {
956
+ "type": "string",
957
+ "mutable": false,
958
+ "complexType": {
959
+ "original": "string",
960
+ "resolved": "string",
961
+ "references": {}
962
+ },
963
+ "required": false,
964
+ "optional": false,
965
+ "docs": {
966
+ "tags": [],
967
+ "text": "Native autocomplete attribute value."
968
+ },
969
+ "getter": false,
970
+ "setter": false,
971
+ "reflect": false,
972
+ "attribute": "autocomplete",
973
+ "defaultValue": "\"off\""
974
+ },
975
+ "maxlength": {
976
+ "type": "number",
977
+ "mutable": false,
978
+ "complexType": {
979
+ "original": "number",
980
+ "resolved": "number",
981
+ "references": {}
982
+ },
983
+ "required": false,
984
+ "optional": true,
985
+ "docs": {
986
+ "tags": [],
987
+ "text": "Maximum number of characters allowed in the input."
988
+ },
989
+ "getter": false,
990
+ "setter": false,
991
+ "reflect": false,
992
+ "attribute": "maxlength",
993
+ "defaultValue": "undefined"
994
+ }
995
+ };
996
+ }
997
+ static get states() {
998
+ return {
999
+ "showDeleteIconInternalState": {},
1000
+ "isFocused": {},
1001
+ "isFocusWithin": {},
1002
+ "suggestionsDismissed": {},
1003
+ "filteredSuggestions": {},
1004
+ "selectedSuggestionIndex": {},
1005
+ "searchHistory": {},
1006
+ "suggestionAnnouncement": {}
1007
+ };
1008
+ }
1009
+ static get events() {
1010
+ return [{
1011
+ "method": "ifxInput",
1012
+ "name": "ifxInput",
1013
+ "bubbles": true,
1014
+ "cancelable": true,
1015
+ "composed": true,
1016
+ "docs": {
1017
+ "tags": [],
1018
+ "text": "Emitted on input change with the current value."
1019
+ },
1020
+ "complexType": {
1021
+ "original": "string",
1022
+ "resolved": "string",
1023
+ "references": {}
1024
+ }
1025
+ }, {
1026
+ "method": "ifxSuggestionRequested",
1027
+ "name": "ifxSuggestionRequested",
1028
+ "bubbles": true,
1029
+ "cancelable": true,
1030
+ "composed": true,
1031
+ "docs": {
1032
+ "tags": [],
1033
+ "text": "Emitted to request external suggestions for the given query."
1034
+ },
1035
+ "complexType": {
1036
+ "original": "string",
1037
+ "resolved": "string",
1038
+ "references": {}
1039
+ }
1040
+ }, {
1041
+ "method": "ifxSuggestionSelected",
1042
+ "name": "ifxSuggestionSelected",
1043
+ "bubbles": true,
1044
+ "cancelable": true,
1045
+ "composed": true,
1046
+ "docs": {
1047
+ "tags": [],
1048
+ "text": "Emitted when a suggestion or history item is selected."
1049
+ },
1050
+ "complexType": {
1051
+ "original": "SuggestionItem",
1052
+ "resolved": "SuggestionItem",
1053
+ "references": {
1054
+ "SuggestionItem": {
1055
+ "location": "local",
1056
+ "path": "/home/fp/Dev/IFX/infineon-design-system-stencil/packages/components/src/components/search-field/search-field.tsx",
1057
+ "id": "src/components/search-field/search-field.tsx::SuggestionItem"
1058
+ }
1059
+ }
1060
+ }
1061
+ }, {
1062
+ "method": "ifxFocus",
1063
+ "name": "ifxFocus",
1064
+ "bubbles": true,
1065
+ "cancelable": true,
1066
+ "composed": true,
1067
+ "docs": {
1068
+ "tags": [],
1069
+ "text": "Emitted when the input gains focus."
1070
+ },
1071
+ "complexType": {
1072
+ "original": "void",
1073
+ "resolved": "void",
1074
+ "references": {}
1075
+ }
1076
+ }, {
1077
+ "method": "ifxBlur",
1078
+ "name": "ifxBlur",
1079
+ "bubbles": true,
1080
+ "cancelable": true,
1081
+ "composed": true,
1082
+ "docs": {
1083
+ "tags": [],
1084
+ "text": "Emitted when the input loses focus."
1085
+ },
1086
+ "complexType": {
1087
+ "original": "void",
1088
+ "resolved": "void",
1089
+ "references": {}
1090
+ }
1091
+ }];
1092
+ }
1093
+ static get methods() {
1094
+ return {
1095
+ "setFocus": {
1096
+ "complexType": {
1097
+ "signature": "() => Promise<void>",
1098
+ "parameters": [],
1099
+ "references": {
1100
+ "Promise": {
1101
+ "location": "global",
1102
+ "id": "global::Promise"
1103
+ }
1104
+ },
1105
+ "return": "Promise<void>"
1106
+ },
1107
+ "docs": {
1108
+ "text": "Focuses the search input.",
1109
+ "tags": []
1110
+ }
1111
+ },
1112
+ "clearSearchHistory": {
1113
+ "complexType": {
1114
+ "signature": "() => Promise<void>",
1115
+ "parameters": [],
1116
+ "references": {
1117
+ "Promise": {
1118
+ "location": "global",
1119
+ "id": "global::Promise"
1120
+ }
1121
+ },
1122
+ "return": "Promise<void>"
1123
+ },
1124
+ "docs": {
1125
+ "text": "Public method to clear search history.\nThis will clear the history from both localStorage and the internal state, and also reset any dropdown-related states.",
1126
+ "tags": []
1127
+ }
1128
+ }
1129
+ };
1130
+ }
1131
+ static get elementRef() { return "el"; }
1132
+ static get watchers() {
1133
+ return [{
1134
+ "propName": "value",
1135
+ "methodName": "valueWatcher"
1136
+ }, {
1137
+ "propName": "suggestions",
1138
+ "methodName": "suggestionsWatcher"
1139
+ }];
1140
+ }
1141
+ static get listeners() {
1142
+ return [{
1143
+ "name": "mousedown",
1144
+ "method": "handleOutsideClick",
1145
+ "target": "document",
1146
+ "capture": false,
1147
+ "passive": true
1148
+ }, {
1149
+ "name": "keydown",
1150
+ "method": "handleKeyDown",
1151
+ "target": undefined,
1152
+ "capture": false,
1153
+ "passive": false
1154
+ }];
1155
+ }
1156
+ }