@infineon/infineon-design-system-stencil 37.4.1--canary.1962.608bc5cf7f8c0c5180f517f39785bb29c28a5b0b.0 → 37.4.1--canary.1962.baa360da219f37054f79b2e93a00d1e1821bfba2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (595) hide show
  1. package/dist/cjs/{framework-detection-a322fb59.js → framework-detection-26d47e36.js} +47 -40
  2. package/dist/cjs/framework-detection-26d47e36.js.map +1 -0
  3. package/dist/cjs/ifx-accordion_2.cjs.entry.js +4 -4
  4. package/dist/cjs/ifx-accordion_2.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ifx-alert_2.cjs.entry.js +3 -3
  6. package/dist/cjs/ifx-alert_2.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ifx-badge.cjs.entry.js +4 -4
  8. package/dist/cjs/ifx-badge.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ifx-basic-table.cjs.entry.js +4 -4
  10. package/dist/cjs/ifx-basic-table.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ifx-breadcrumb.cjs.entry.js +4 -4
  12. package/dist/cjs/ifx-breadcrumb.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ifx-button.cjs.entry.js +4 -4
  14. package/dist/cjs/ifx-button.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ifx-card.cjs.entry.js +6 -6
  16. package/dist/cjs/ifx-card.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ifx-checkbox-group.cjs.entry.js +4 -4
  18. package/dist/cjs/ifx-checkbox-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ifx-checkbox.cjs.entry.js +6 -6
  20. package/dist/cjs/ifx-checkbox.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ifx-chip_3.cjs.entry.js +14 -14
  22. package/dist/cjs/ifx-chip_3.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ifx-content-switcher.cjs.entry.js +4 -4
  24. package/dist/cjs/ifx-content-switcher.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ifx-date-picker.cjs.entry.js +5 -5
  26. package/dist/cjs/ifx-date-picker.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ifx-dropdown.cjs.entry.js +4 -4
  28. package/dist/cjs/ifx-dropdown.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ifx-file-upload.cjs.entry.js +5 -5
  30. package/dist/cjs/ifx-file-upload.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ifx-footer.cjs.entry.js +7 -7
  32. package/dist/cjs/ifx-footer.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ifx-icon-button.cjs.entry.js +4 -4
  34. package/dist/cjs/ifx-icon-button.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ifx-icon.cjs.entry.js +4 -4
  36. package/dist/cjs/ifx-icon.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ifx-indicator.cjs.entry.js +5 -5
  38. package/dist/cjs/ifx-indicator.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ifx-link.cjs.entry.js +4 -4
  40. package/dist/cjs/ifx-link.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ifx-modal.cjs.entry.js +5 -5
  42. package/dist/cjs/ifx-modal.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ifx-multiselect_2.cjs.entry.js +3 -3
  44. package/dist/cjs/ifx-multiselect_2.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ifx-navbar.cjs.entry.js +6 -6
  46. package/dist/cjs/ifx-navbar.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ifx-notification.cjs.entry.js +5 -5
  48. package/dist/cjs/ifx-notification.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ifx-progress-bar.cjs.entry.js +4 -4
  50. package/dist/cjs/ifx-progress-bar.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ifx-radio-button-group.cjs.entry.js +4 -4
  52. package/dist/cjs/ifx-radio-button-group.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ifx-radio-button.cjs.entry.js +5 -5
  54. package/dist/cjs/ifx-radio-button.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ifx-search-bar.cjs.entry.js +4 -4
  56. package/dist/cjs/ifx-search-bar.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ifx-search-field.cjs.entry.js +4 -4
  58. package/dist/cjs/ifx-search-field.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ifx-segmented-control.cjs.entry.js +5 -5
  60. package/dist/cjs/ifx-segmented-control.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ifx-select.cjs.entry.js +5 -5
  62. package/dist/cjs/ifx-select.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ifx-sidebar.cjs.entry.js +8 -8
  64. package/dist/cjs/ifx-sidebar.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ifx-slider.cjs.entry.js +5 -5
  66. package/dist/cjs/ifx-slider.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ifx-spinner_2.cjs.entry.js +11 -11
  68. package/dist/cjs/ifx-spinner_2.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ifx-status.cjs.entry.js +4 -4
  70. package/dist/cjs/ifx-status.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ifx-stepper.cjs.entry.js +5 -5
  72. package/dist/cjs/ifx-stepper.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ifx-switch.cjs.entry.js +4 -4
  74. package/dist/cjs/ifx-switch.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ifx-table.cjs.entry.js +5 -5
  76. package/dist/cjs/ifx-table.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ifx-tabs.cjs.entry.js +5 -5
  78. package/dist/cjs/ifx-tabs.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ifx-tag.cjs.entry.js +4 -4
  80. package/dist/cjs/ifx-tag.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ifx-textarea.cjs.entry.js +4 -4
  82. package/dist/cjs/ifx-textarea.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ifx-tooltip.cjs.entry.js +7 -7
  84. package/dist/cjs/ifx-tooltip.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ifx-tree-view.cjs.entry.js +4 -4
  86. package/dist/cjs/ifx-tree-view.cjs.entry.js.map +1 -1
  87. package/dist/collection/components/accordion/accordion.js +3 -3
  88. package/dist/collection/components/accordion/accordion.js.map +1 -1
  89. package/dist/collection/components/alert/alert.js +2 -2
  90. package/dist/collection/components/alert/alert.js.map +1 -1
  91. package/dist/collection/components/badge/badge.js +3 -3
  92. package/dist/collection/components/badge/badge.js.map +1 -1
  93. package/dist/collection/components/breadcrumb/breadcrumb.js +3 -3
  94. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  95. package/dist/collection/components/button/button.js +3 -3
  96. package/dist/collection/components/button/button.js.map +1 -1
  97. package/dist/collection/components/card/card.js +5 -5
  98. package/dist/collection/components/card/card.js.map +1 -1
  99. package/dist/collection/components/checkbox/checkbox.js +5 -5
  100. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  101. package/dist/collection/components/checkbox-group/checkbox-group.js +3 -3
  102. package/dist/collection/components/checkbox-group/checkbox-group.js.map +1 -1
  103. package/dist/collection/components/chip/chip.js +10 -10
  104. package/dist/collection/components/chip/chip.js.map +1 -1
  105. package/dist/collection/components/content-switcher/content-switcher.js +3 -3
  106. package/dist/collection/components/content-switcher/content-switcher.js.map +1 -1
  107. package/dist/collection/components/date-picker/date-picker.js +4 -4
  108. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  109. package/dist/collection/components/dropdown/dropdown.js +3 -3
  110. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  111. package/dist/collection/components/file-upload/file-upload.js +4 -4
  112. package/dist/collection/components/file-upload/file-upload.js.map +1 -1
  113. package/dist/collection/components/footer/footer.js +6 -6
  114. package/dist/collection/components/footer/footer.js.map +1 -1
  115. package/dist/collection/components/icon/infineonIconStencil.js +3 -3
  116. package/dist/collection/components/icon/infineonIconStencil.js.map +1 -1
  117. package/dist/collection/components/icon-button/icon-button.js +3 -3
  118. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  119. package/dist/collection/components/indicator/indicator.js +4 -4
  120. package/dist/collection/components/indicator/indicator.js.map +1 -1
  121. package/dist/collection/components/link/link.js +3 -3
  122. package/dist/collection/components/link/link.js.map +1 -1
  123. package/dist/collection/components/modal/modal.js +4 -4
  124. package/dist/collection/components/modal/modal.js.map +1 -1
  125. package/dist/collection/components/navigation/navbar/navbar.js +5 -5
  126. package/dist/collection/components/navigation/navbar/navbar.js.map +1 -1
  127. package/dist/collection/components/navigation/sidebar/sidebar.js +7 -7
  128. package/dist/collection/components/navigation/sidebar/sidebar.js.map +1 -1
  129. package/dist/collection/components/notification/notification.js +4 -4
  130. package/dist/collection/components/notification/notification.js.map +1 -1
  131. package/dist/collection/components/pagination/pagination.js +3 -3
  132. package/dist/collection/components/pagination/pagination.js.map +1 -1
  133. package/dist/collection/components/progress-bar/progress-bar.js +3 -3
  134. package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
  135. package/dist/collection/components/radio-button/radio-button.js +4 -4
  136. package/dist/collection/components/radio-button/radio-button.js.map +1 -1
  137. package/dist/collection/components/radio-button-group/radio-button-group.js +3 -3
  138. package/dist/collection/components/radio-button-group/radio-button-group.js.map +1 -1
  139. package/dist/collection/components/search-bar/search-bar.js +3 -3
  140. package/dist/collection/components/search-bar/search-bar.js.map +1 -1
  141. package/dist/collection/components/search-field/search-field.js +3 -3
  142. package/dist/collection/components/search-field/search-field.js.map +1 -1
  143. package/dist/collection/components/segmented-control/segmented-control.js +4 -4
  144. package/dist/collection/components/segmented-control/segmented-control.js.map +1 -1
  145. package/dist/collection/components/select/multi-select/multiselect.js +2 -2
  146. package/dist/collection/components/select/multi-select/multiselect.js.map +1 -1
  147. package/dist/collection/components/select/single-select/select.js +4 -4
  148. package/dist/collection/components/select/single-select/select.js.map +1 -1
  149. package/dist/collection/components/slider/slider.js +4 -4
  150. package/dist/collection/components/slider/slider.js.map +1 -1
  151. package/dist/collection/components/spinner/spinner.js +4 -4
  152. package/dist/collection/components/spinner/spinner.js.map +1 -1
  153. package/dist/collection/components/status/status.js +3 -3
  154. package/dist/collection/components/status/status.js.map +1 -1
  155. package/dist/collection/components/stepper/stepper.js +4 -4
  156. package/dist/collection/components/stepper/stepper.js.map +1 -1
  157. package/dist/collection/components/switch/switch.js +3 -3
  158. package/dist/collection/components/switch/switch.js.map +1 -1
  159. package/dist/collection/components/table-advanced-version/table.js +4 -4
  160. package/dist/collection/components/table-advanced-version/table.js.map +1 -1
  161. package/dist/collection/components/table-basic-version/table.js +3 -3
  162. package/dist/collection/components/table-basic-version/table.js.map +1 -1
  163. package/dist/collection/components/tabs/tabs.js +4 -4
  164. package/dist/collection/components/tabs/tabs.js.map +1 -1
  165. package/dist/collection/components/tag/tag.js +3 -3
  166. package/dist/collection/components/tag/tag.js.map +1 -1
  167. package/dist/collection/components/text-field/text-field.js +6 -6
  168. package/dist/collection/components/text-field/text-field.js.map +1 -1
  169. package/dist/collection/components/textarea/textarea.js +3 -3
  170. package/dist/collection/components/textarea/textarea.js.map +1 -1
  171. package/dist/collection/components/tooltip/tooltip.js +6 -6
  172. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  173. package/dist/collection/components/tree-view/tree-view.js +3 -3
  174. package/dist/collection/components/tree-view/tree-view.js.map +1 -1
  175. package/dist/collection/global/utils/dom-ready.js +15 -0
  176. package/dist/collection/global/utils/dom-ready.js.map +1 -0
  177. package/dist/collection/global/utils/framework-detection.js +31 -38
  178. package/dist/collection/global/utils/framework-detection.js.map +1 -1
  179. package/dist/collection/global/utils/tracking.js +1 -1
  180. package/dist/collection/global/utils/tracking.js.map +1 -1
  181. package/dist/components/ifx-accordion-item.js +1 -1
  182. package/dist/components/ifx-accordion.js +1 -1
  183. package/dist/components/ifx-alert.js +1 -1
  184. package/dist/components/ifx-badge.js +4 -4
  185. package/dist/components/ifx-badge.js.map +1 -1
  186. package/dist/components/ifx-basic-table.js +4 -4
  187. package/dist/components/ifx-basic-table.js.map +1 -1
  188. package/dist/components/ifx-breadcrumb-item-label.js +1 -1
  189. package/dist/components/ifx-breadcrumb.js +4 -4
  190. package/dist/components/ifx-breadcrumb.js.map +1 -1
  191. package/dist/components/ifx-button.js +1 -1
  192. package/dist/components/ifx-card.js +6 -6
  193. package/dist/components/ifx-card.js.map +1 -1
  194. package/dist/components/ifx-checkbox-group.js +5 -5
  195. package/dist/components/ifx-checkbox-group.js.map +1 -1
  196. package/dist/components/ifx-checkbox.js +1 -1
  197. package/dist/components/ifx-chip-item.js +1 -1
  198. package/dist/components/ifx-chip.js +1 -1
  199. package/dist/components/ifx-content-switcher.js +4 -4
  200. package/dist/components/ifx-content-switcher.js.map +1 -1
  201. package/dist/components/ifx-date-picker.js +6 -6
  202. package/dist/components/ifx-date-picker.js.map +1 -1
  203. package/dist/components/ifx-download.js +1 -1
  204. package/dist/components/ifx-dropdown-item.js +1 -1
  205. package/dist/components/ifx-dropdown-trigger-button.js +2 -2
  206. package/dist/components/ifx-dropdown.js +4 -4
  207. package/dist/components/ifx-dropdown.js.map +1 -1
  208. package/dist/components/ifx-faq.js +3 -3
  209. package/dist/components/ifx-file-upload.js +9 -9
  210. package/dist/components/ifx-file-upload.js.map +1 -1
  211. package/dist/components/ifx-filter-accordion.js +2 -2
  212. package/dist/components/ifx-filter-bar.js +2 -2
  213. package/dist/components/ifx-filter-search.js +2 -2
  214. package/dist/components/ifx-footer.js +7 -7
  215. package/dist/components/ifx-footer.js.map +1 -1
  216. package/dist/components/ifx-icon-button.js +1 -1
  217. package/dist/components/ifx-icon.js +1 -1
  218. package/dist/components/ifx-icons-preview.js +4 -4
  219. package/dist/components/ifx-indicator.js +1 -1
  220. package/dist/components/ifx-link.js +1 -1
  221. package/dist/components/ifx-list-entry.js +3 -3
  222. package/dist/components/ifx-list.js +2 -2
  223. package/dist/components/ifx-modal.js +7 -7
  224. package/dist/components/ifx-modal.js.map +1 -1
  225. package/dist/components/ifx-multiselect-option.js +1 -1
  226. package/dist/components/ifx-multiselect.js +1 -1
  227. package/dist/components/ifx-navbar-item.js +2 -2
  228. package/dist/components/ifx-navbar.js +7 -7
  229. package/dist/components/ifx-navbar.js.map +1 -1
  230. package/dist/components/ifx-notification.js +1 -1
  231. package/dist/components/ifx-overview-table.js +3 -3
  232. package/dist/components/ifx-pagination.js +1 -1
  233. package/dist/components/ifx-progress-bar.js +1 -1
  234. package/dist/components/ifx-radio-button-group.js +5 -5
  235. package/dist/components/ifx-radio-button-group.js.map +1 -1
  236. package/dist/components/ifx-radio-button.js +1 -1
  237. package/dist/components/ifx-search-bar.js +6 -6
  238. package/dist/components/ifx-search-bar.js.map +1 -1
  239. package/dist/components/ifx-search-field.js +1 -1
  240. package/dist/components/ifx-segment.js +1 -1
  241. package/dist/components/ifx-segmented-control.js +6 -6
  242. package/dist/components/ifx-segmented-control.js.map +1 -1
  243. package/dist/components/ifx-select.js +1 -1
  244. package/dist/components/ifx-set-filter.js +7 -7
  245. package/dist/components/ifx-sidebar-item.js +2 -2
  246. package/dist/components/ifx-sidebar.js +8 -8
  247. package/dist/components/ifx-sidebar.js.map +1 -1
  248. package/dist/components/ifx-slider.js +6 -6
  249. package/dist/components/ifx-slider.js.map +1 -1
  250. package/dist/components/ifx-spinner.js +1 -1
  251. package/dist/components/ifx-status.js +4 -4
  252. package/dist/components/ifx-status.js.map +1 -1
  253. package/dist/components/ifx-step.js +1 -1
  254. package/dist/components/ifx-stepper.js +5 -5
  255. package/dist/components/ifx-stepper.js.map +1 -1
  256. package/dist/components/ifx-switch.js +4 -4
  257. package/dist/components/ifx-switch.js.map +1 -1
  258. package/dist/components/ifx-table.js +14 -14
  259. package/dist/components/ifx-table.js.map +1 -1
  260. package/dist/components/ifx-tabs.js +6 -6
  261. package/dist/components/ifx-tabs.js.map +1 -1
  262. package/dist/components/ifx-tag.js +5 -5
  263. package/dist/components/ifx-tag.js.map +1 -1
  264. package/dist/components/ifx-template.js +1 -1
  265. package/dist/components/ifx-templates-ui.js +8 -8
  266. package/dist/components/ifx-text-field.js +1 -1
  267. package/dist/components/ifx-textarea.js +4 -4
  268. package/dist/components/ifx-textarea.js.map +1 -1
  269. package/dist/components/ifx-tooltip.js +8 -8
  270. package/dist/components/ifx-tooltip.js.map +1 -1
  271. package/dist/components/ifx-tree-view-item.js +2 -2
  272. package/dist/components/ifx-tree-view.js +4 -4
  273. package/dist/components/ifx-tree-view.js.map +1 -1
  274. package/dist/components/{p-05a8dcef.js → p-01d74827.js} +6 -6
  275. package/dist/components/p-01d74827.js.map +1 -0
  276. package/dist/components/{p-de8c13bc.js → p-01eb3f5a.js} +6 -6
  277. package/dist/components/p-01eb3f5a.js.map +1 -0
  278. package/dist/components/{p-bc2ea37a.js → p-02917273.js} +6 -6
  279. package/dist/components/{p-bc2ea37a.js.map → p-02917273.js.map} +1 -1
  280. package/dist/components/{p-36e09819.js → p-212b675c.js} +2 -2
  281. package/dist/components/{p-36e09819.js.map → p-212b675c.js.map} +1 -1
  282. package/dist/components/{p-f86af116.js → p-230bd20f.js} +5 -5
  283. package/dist/components/p-230bd20f.js.map +1 -0
  284. package/dist/components/{p-e16b2c83.js → p-32a7e613.js} +8 -8
  285. package/dist/components/p-32a7e613.js.map +1 -0
  286. package/dist/components/{p-170317dc.js → p-406ba50a.js} +5 -5
  287. package/dist/components/p-406ba50a.js.map +1 -0
  288. package/dist/components/{p-ed59da76.js → p-4cbea59b.js} +7 -7
  289. package/dist/components/p-4cbea59b.js.map +1 -0
  290. package/dist/components/{p-2c9b0fdb.js → p-5c80b0e2.js} +6 -6
  291. package/dist/components/p-5c80b0e2.js.map +1 -0
  292. package/dist/components/{p-9ed7f46f.js → p-5c912934.js} +3 -3
  293. package/dist/components/{p-9ed7f46f.js.map → p-5c912934.js.map} +1 -1
  294. package/dist/components/{p-573858d1.js → p-6342e893.js} +5 -5
  295. package/dist/components/p-6342e893.js.map +1 -0
  296. package/dist/components/{p-e79c21ff.js → p-646c0aee.js} +5 -5
  297. package/dist/components/p-646c0aee.js.map +1 -0
  298. package/dist/components/{p-61642c10.js → p-6be846ce.js} +14 -14
  299. package/dist/components/p-6be846ce.js.map +1 -0
  300. package/dist/components/{p-6297cb52.js → p-71ce7d58.js} +3 -3
  301. package/dist/components/{p-6297cb52.js.map → p-71ce7d58.js.map} +1 -1
  302. package/dist/components/{p-c34e908d.js → p-a306d3e7.js} +7 -7
  303. package/dist/components/p-a306d3e7.js.map +1 -0
  304. package/dist/components/{p-b69be413.js → p-a8af9b7b.js} +6 -6
  305. package/dist/components/p-a8af9b7b.js.map +1 -0
  306. package/dist/components/{p-ee75a0aa.js → p-acbfa625.js} +47 -40
  307. package/dist/components/p-acbfa625.js.map +1 -0
  308. package/dist/components/{p-c9f445a4.js → p-cb975b94.js} +5 -5
  309. package/dist/components/p-cb975b94.js.map +1 -0
  310. package/dist/components/{p-2596c82f.js → p-cd30bb7d.js} +5 -5
  311. package/dist/components/p-cd30bb7d.js.map +1 -0
  312. package/dist/components/{p-b883e2d3.js → p-e8357008.js} +8 -8
  313. package/dist/components/p-e8357008.js.map +1 -0
  314. package/dist/components/{p-3af99291.js → p-f347c4e9.js} +6 -6
  315. package/dist/components/p-f347c4e9.js.map +1 -0
  316. package/dist/components/{p-dd01ab9e.js → p-f611e5d5.js} +9 -9
  317. package/dist/components/p-f611e5d5.js.map +1 -0
  318. package/dist/components/{p-8ad484a6.js → p-fc0793b1.js} +8 -8
  319. package/dist/components/p-fc0793b1.js.map +1 -0
  320. package/dist/esm/{framework-detection-ad7dea6c.js → framework-detection-e9695d02.js} +47 -40
  321. package/dist/esm/framework-detection-e9695d02.js.map +1 -0
  322. package/dist/esm/ifx-accordion_2.entry.js +4 -4
  323. package/dist/esm/ifx-accordion_2.entry.js.map +1 -1
  324. package/dist/esm/ifx-alert_2.entry.js +3 -3
  325. package/dist/esm/ifx-alert_2.entry.js.map +1 -1
  326. package/dist/esm/ifx-badge.entry.js +4 -4
  327. package/dist/esm/ifx-badge.entry.js.map +1 -1
  328. package/dist/esm/ifx-basic-table.entry.js +4 -4
  329. package/dist/esm/ifx-basic-table.entry.js.map +1 -1
  330. package/dist/esm/ifx-breadcrumb.entry.js +4 -4
  331. package/dist/esm/ifx-breadcrumb.entry.js.map +1 -1
  332. package/dist/esm/ifx-button.entry.js +4 -4
  333. package/dist/esm/ifx-button.entry.js.map +1 -1
  334. package/dist/esm/ifx-card.entry.js +6 -6
  335. package/dist/esm/ifx-card.entry.js.map +1 -1
  336. package/dist/esm/ifx-checkbox-group.entry.js +4 -4
  337. package/dist/esm/ifx-checkbox-group.entry.js.map +1 -1
  338. package/dist/esm/ifx-checkbox.entry.js +6 -6
  339. package/dist/esm/ifx-checkbox.entry.js.map +1 -1
  340. package/dist/esm/ifx-chip_3.entry.js +14 -14
  341. package/dist/esm/ifx-chip_3.entry.js.map +1 -1
  342. package/dist/esm/ifx-content-switcher.entry.js +4 -4
  343. package/dist/esm/ifx-content-switcher.entry.js.map +1 -1
  344. package/dist/esm/ifx-date-picker.entry.js +5 -5
  345. package/dist/esm/ifx-date-picker.entry.js.map +1 -1
  346. package/dist/esm/ifx-dropdown.entry.js +4 -4
  347. package/dist/esm/ifx-dropdown.entry.js.map +1 -1
  348. package/dist/esm/ifx-file-upload.entry.js +5 -5
  349. package/dist/esm/ifx-file-upload.entry.js.map +1 -1
  350. package/dist/esm/ifx-footer.entry.js +7 -7
  351. package/dist/esm/ifx-footer.entry.js.map +1 -1
  352. package/dist/esm/ifx-icon-button.entry.js +4 -4
  353. package/dist/esm/ifx-icon-button.entry.js.map +1 -1
  354. package/dist/esm/ifx-icon.entry.js +4 -4
  355. package/dist/esm/ifx-icon.entry.js.map +1 -1
  356. package/dist/esm/ifx-indicator.entry.js +5 -5
  357. package/dist/esm/ifx-indicator.entry.js.map +1 -1
  358. package/dist/esm/ifx-link.entry.js +4 -4
  359. package/dist/esm/ifx-link.entry.js.map +1 -1
  360. package/dist/esm/ifx-modal.entry.js +5 -5
  361. package/dist/esm/ifx-modal.entry.js.map +1 -1
  362. package/dist/esm/ifx-multiselect_2.entry.js +3 -3
  363. package/dist/esm/ifx-multiselect_2.entry.js.map +1 -1
  364. package/dist/esm/ifx-navbar.entry.js +6 -6
  365. package/dist/esm/ifx-navbar.entry.js.map +1 -1
  366. package/dist/esm/ifx-notification.entry.js +5 -5
  367. package/dist/esm/ifx-notification.entry.js.map +1 -1
  368. package/dist/esm/ifx-progress-bar.entry.js +4 -4
  369. package/dist/esm/ifx-progress-bar.entry.js.map +1 -1
  370. package/dist/esm/ifx-radio-button-group.entry.js +4 -4
  371. package/dist/esm/ifx-radio-button-group.entry.js.map +1 -1
  372. package/dist/esm/ifx-radio-button.entry.js +5 -5
  373. package/dist/esm/ifx-radio-button.entry.js.map +1 -1
  374. package/dist/esm/ifx-search-bar.entry.js +4 -4
  375. package/dist/esm/ifx-search-bar.entry.js.map +1 -1
  376. package/dist/esm/ifx-search-field.entry.js +4 -4
  377. package/dist/esm/ifx-search-field.entry.js.map +1 -1
  378. package/dist/esm/ifx-segmented-control.entry.js +5 -5
  379. package/dist/esm/ifx-segmented-control.entry.js.map +1 -1
  380. package/dist/esm/ifx-select.entry.js +5 -5
  381. package/dist/esm/ifx-select.entry.js.map +1 -1
  382. package/dist/esm/ifx-sidebar.entry.js +8 -8
  383. package/dist/esm/ifx-sidebar.entry.js.map +1 -1
  384. package/dist/esm/ifx-slider.entry.js +5 -5
  385. package/dist/esm/ifx-slider.entry.js.map +1 -1
  386. package/dist/esm/ifx-spinner_2.entry.js +11 -11
  387. package/dist/esm/ifx-spinner_2.entry.js.map +1 -1
  388. package/dist/esm/ifx-status.entry.js +4 -4
  389. package/dist/esm/ifx-status.entry.js.map +1 -1
  390. package/dist/esm/ifx-stepper.entry.js +5 -5
  391. package/dist/esm/ifx-stepper.entry.js.map +1 -1
  392. package/dist/esm/ifx-switch.entry.js +4 -4
  393. package/dist/esm/ifx-switch.entry.js.map +1 -1
  394. package/dist/esm/ifx-table.entry.js +5 -5
  395. package/dist/esm/ifx-table.entry.js.map +1 -1
  396. package/dist/esm/ifx-tabs.entry.js +5 -5
  397. package/dist/esm/ifx-tabs.entry.js.map +1 -1
  398. package/dist/esm/ifx-tag.entry.js +4 -4
  399. package/dist/esm/ifx-tag.entry.js.map +1 -1
  400. package/dist/esm/ifx-textarea.entry.js +4 -4
  401. package/dist/esm/ifx-textarea.entry.js.map +1 -1
  402. package/dist/esm/ifx-tooltip.entry.js +7 -7
  403. package/dist/esm/ifx-tooltip.entry.js.map +1 -1
  404. package/dist/esm/ifx-tree-view.entry.js +4 -4
  405. package/dist/esm/ifx-tree-view.entry.js.map +1 -1
  406. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  407. package/dist/infineon-design-system-stencil/p-00ee896a.entry.js +2 -0
  408. package/dist/infineon-design-system-stencil/{p-60a4087e.entry.js.map → p-00ee896a.entry.js.map} +1 -1
  409. package/dist/infineon-design-system-stencil/{p-372e530a.entry.js → p-046acf7a.entry.js} +2 -2
  410. package/dist/infineon-design-system-stencil/{p-372e530a.entry.js.map → p-046acf7a.entry.js.map} +1 -1
  411. package/dist/infineon-design-system-stencil/{p-72b4c7af.entry.js → p-0d809b76.entry.js} +2 -2
  412. package/dist/infineon-design-system-stencil/{p-72b4c7af.entry.js.map → p-0d809b76.entry.js.map} +1 -1
  413. package/dist/infineon-design-system-stencil/p-0ebca0d6.entry.js +2 -0
  414. package/dist/infineon-design-system-stencil/{p-5f7d76ec.entry.js.map → p-0ebca0d6.entry.js.map} +1 -1
  415. package/dist/infineon-design-system-stencil/{p-3b4a3cb3.entry.js → p-10cf1407.entry.js} +2 -2
  416. package/dist/infineon-design-system-stencil/{p-3b4a3cb3.entry.js.map → p-10cf1407.entry.js.map} +1 -1
  417. package/dist/infineon-design-system-stencil/p-148aa367.entry.js +2 -0
  418. package/dist/infineon-design-system-stencil/p-148aa367.entry.js.map +1 -0
  419. package/dist/infineon-design-system-stencil/p-17071628.entry.js +2 -0
  420. package/dist/infineon-design-system-stencil/p-17071628.entry.js.map +1 -0
  421. package/dist/infineon-design-system-stencil/{p-4e82822d.entry.js → p-17a2e764.entry.js} +2 -2
  422. package/dist/infineon-design-system-stencil/{p-4e82822d.entry.js.map → p-17a2e764.entry.js.map} +1 -1
  423. package/dist/infineon-design-system-stencil/{p-e2ee4d40.entry.js → p-1baede5b.entry.js} +2 -2
  424. package/dist/infineon-design-system-stencil/p-1baede5b.entry.js.map +1 -0
  425. package/dist/infineon-design-system-stencil/{p-7761c8c4.entry.js → p-2177cd22.entry.js} +2 -2
  426. package/dist/infineon-design-system-stencil/{p-7761c8c4.entry.js.map → p-2177cd22.entry.js.map} +1 -1
  427. package/dist/infineon-design-system-stencil/{p-60964f64.entry.js → p-29e20541.entry.js} +2 -2
  428. package/dist/infineon-design-system-stencil/{p-60964f64.entry.js.map → p-29e20541.entry.js.map} +1 -1
  429. package/dist/infineon-design-system-stencil/{p-0eeaeb0b.entry.js → p-2a6bbb1f.entry.js} +2 -2
  430. package/dist/infineon-design-system-stencil/{p-0eeaeb0b.entry.js.map → p-2a6bbb1f.entry.js.map} +1 -1
  431. package/dist/infineon-design-system-stencil/p-341ec9a9.entry.js +2 -0
  432. package/dist/infineon-design-system-stencil/p-341ec9a9.entry.js.map +1 -0
  433. package/dist/infineon-design-system-stencil/p-3ad6dad0.entry.js +2 -0
  434. package/dist/infineon-design-system-stencil/{p-fe6fb565.entry.js.map → p-3ad6dad0.entry.js.map} +1 -1
  435. package/dist/infineon-design-system-stencil/p-3cc5ece4.entry.js +2 -0
  436. package/dist/infineon-design-system-stencil/{p-4c3787f0.entry.js.map → p-3cc5ece4.entry.js.map} +1 -1
  437. package/dist/infineon-design-system-stencil/p-41c99cb0.entry.js +2 -0
  438. package/dist/infineon-design-system-stencil/{p-a94be9e8.entry.js.map → p-41c99cb0.entry.js.map} +1 -1
  439. package/dist/infineon-design-system-stencil/p-4306c893.entry.js +2 -0
  440. package/dist/infineon-design-system-stencil/p-4306c893.entry.js.map +1 -0
  441. package/dist/infineon-design-system-stencil/p-4710694a.entry.js +2 -0
  442. package/dist/infineon-design-system-stencil/{p-fbb5dfe1.entry.js.map → p-4710694a.entry.js.map} +1 -1
  443. package/dist/infineon-design-system-stencil/p-4b858e15.entry.js +2 -0
  444. package/dist/infineon-design-system-stencil/p-4b858e15.entry.js.map +1 -0
  445. package/dist/infineon-design-system-stencil/p-4fb8e2f3.entry.js +2 -0
  446. package/dist/infineon-design-system-stencil/p-4fb8e2f3.entry.js.map +1 -0
  447. package/dist/infineon-design-system-stencil/{p-254132b3.entry.js → p-5bacdf4d.entry.js} +2 -2
  448. package/dist/infineon-design-system-stencil/p-5bacdf4d.entry.js.map +1 -0
  449. package/dist/infineon-design-system-stencil/p-67430c36.entry.js +2 -0
  450. package/dist/infineon-design-system-stencil/{p-eb59fab2.entry.js.map → p-67430c36.entry.js.map} +1 -1
  451. package/dist/infineon-design-system-stencil/p-69ebf6df.entry.js +2 -0
  452. package/dist/infineon-design-system-stencil/p-69ebf6df.entry.js.map +1 -0
  453. package/dist/infineon-design-system-stencil/{p-98ea424e.entry.js → p-6a14c7aa.entry.js} +2 -2
  454. package/dist/infineon-design-system-stencil/{p-98ea424e.entry.js.map → p-6a14c7aa.entry.js.map} +1 -1
  455. package/dist/infineon-design-system-stencil/{p-642d776c.entry.js → p-7c3b6e40.entry.js} +2 -2
  456. package/dist/infineon-design-system-stencil/{p-642d776c.entry.js.map → p-7c3b6e40.entry.js.map} +1 -1
  457. package/dist/infineon-design-system-stencil/p-813d91ef.entry.js +2 -0
  458. package/dist/infineon-design-system-stencil/{p-6443b13f.entry.js.map → p-813d91ef.entry.js.map} +1 -1
  459. package/dist/infineon-design-system-stencil/{p-fc3de92f.entry.js → p-819b6cde.entry.js} +2 -2
  460. package/dist/infineon-design-system-stencil/{p-fc3de92f.entry.js.map → p-819b6cde.entry.js.map} +1 -1
  461. package/dist/infineon-design-system-stencil/{p-24aca9f1.entry.js → p-863cc88f.entry.js} +2 -2
  462. package/dist/infineon-design-system-stencil/{p-24aca9f1.entry.js.map → p-863cc88f.entry.js.map} +1 -1
  463. package/dist/infineon-design-system-stencil/p-8c7ffd52.entry.js +2 -0
  464. package/dist/infineon-design-system-stencil/p-8c7ffd52.entry.js.map +1 -0
  465. package/dist/infineon-design-system-stencil/{p-284cd9b3.entry.js → p-8f3ce54b.entry.js} +2 -2
  466. package/dist/infineon-design-system-stencil/{p-284cd9b3.entry.js.map → p-8f3ce54b.entry.js.map} +1 -1
  467. package/dist/infineon-design-system-stencil/p-acbfa625.js +2 -0
  468. package/dist/infineon-design-system-stencil/p-acbfa625.js.map +1 -0
  469. package/dist/infineon-design-system-stencil/{p-0e266e17.entry.js → p-b9157435.entry.js} +2 -2
  470. package/dist/infineon-design-system-stencil/{p-0e266e17.entry.js.map → p-b9157435.entry.js.map} +1 -1
  471. package/dist/infineon-design-system-stencil/{p-c68f4ba8.entry.js → p-c5068ad9.entry.js} +2 -2
  472. package/dist/infineon-design-system-stencil/p-c5068ad9.entry.js.map +1 -0
  473. package/dist/infineon-design-system-stencil/{p-fadce562.entry.js → p-c807fd12.entry.js} +2 -2
  474. package/dist/infineon-design-system-stencil/p-c807fd12.entry.js.map +1 -0
  475. package/dist/infineon-design-system-stencil/{p-257bcaa4.entry.js → p-c8e8be4b.entry.js} +2 -2
  476. package/dist/infineon-design-system-stencil/{p-257bcaa4.entry.js.map → p-c8e8be4b.entry.js.map} +1 -1
  477. package/dist/infineon-design-system-stencil/{p-cc3fbcbb.entry.js → p-cafca519.entry.js} +2 -2
  478. package/dist/infineon-design-system-stencil/{p-cc3fbcbb.entry.js.map → p-cafca519.entry.js.map} +1 -1
  479. package/dist/infineon-design-system-stencil/p-cc9ca7ad.entry.js +2 -0
  480. package/dist/infineon-design-system-stencil/p-cc9ca7ad.entry.js.map +1 -0
  481. package/dist/infineon-design-system-stencil/{p-a2a32fa3.entry.js → p-d81f3867.entry.js} +2 -2
  482. package/dist/infineon-design-system-stencil/{p-a2a32fa3.entry.js.map → p-d81f3867.entry.js.map} +1 -1
  483. package/dist/infineon-design-system-stencil/p-e3365ef8.entry.js +2 -0
  484. package/dist/infineon-design-system-stencil/{p-fbbd31ac.entry.js.map → p-e3365ef8.entry.js.map} +1 -1
  485. package/dist/infineon-design-system-stencil/p-e5c87a08.entry.js +2 -0
  486. package/dist/infineon-design-system-stencil/{p-1254a066.entry.js.map → p-e5c87a08.entry.js.map} +1 -1
  487. package/dist/infineon-design-system-stencil/{p-ea837cba.entry.js → p-e6312b3a.entry.js} +3 -3
  488. package/dist/infineon-design-system-stencil/{p-ea837cba.entry.js.map → p-e6312b3a.entry.js.map} +1 -1
  489. package/dist/infineon-design-system-stencil/p-f0a81689.entry.js +2 -0
  490. package/dist/infineon-design-system-stencil/{p-a563dfca.entry.js.map → p-f0a81689.entry.js.map} +1 -1
  491. package/dist/infineon-design-system-stencil/{p-1caf06c2.entry.js → p-f98f363b.entry.js} +2 -2
  492. package/dist/infineon-design-system-stencil/{p-1caf06c2.entry.js.map → p-f98f363b.entry.js.map} +1 -1
  493. package/dist/types/components/accordion/accordion.d.ts +1 -1
  494. package/dist/types/components/alert/alert.d.ts +1 -1
  495. package/dist/types/components/badge/badge.d.ts +1 -1
  496. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -1
  497. package/dist/types/components/button/button.d.ts +1 -1
  498. package/dist/types/components/card/card.d.ts +1 -1
  499. package/dist/types/components/checkbox/checkbox.d.ts +1 -1
  500. package/dist/types/components/checkbox-group/checkbox-group.d.ts +1 -1
  501. package/dist/types/components/chip/chip.d.ts +1 -1
  502. package/dist/types/components/content-switcher/content-switcher.d.ts +1 -1
  503. package/dist/types/components/date-picker/date-picker.d.ts +1 -1
  504. package/dist/types/components/dropdown/dropdown.d.ts +1 -1
  505. package/dist/types/components/file-upload/file-upload.d.ts +1 -1
  506. package/dist/types/components/footer/footer.d.ts +1 -1
  507. package/dist/types/components/icon/infineonIconStencil.d.ts +1 -1
  508. package/dist/types/components/icon-button/icon-button.d.ts +1 -1
  509. package/dist/types/components/indicator/indicator.d.ts +1 -1
  510. package/dist/types/components/link/link.d.ts +1 -1
  511. package/dist/types/components/modal/modal.d.ts +1 -1
  512. package/dist/types/components/navigation/navbar/navbar.d.ts +1 -1
  513. package/dist/types/components/navigation/sidebar/sidebar.d.ts +1 -1
  514. package/dist/types/components/notification/notification.d.ts +1 -1
  515. package/dist/types/components/pagination/pagination.d.ts +1 -1
  516. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -1
  517. package/dist/types/components/radio-button/radio-button.d.ts +1 -1
  518. package/dist/types/components/radio-button-group/radio-button-group.d.ts +1 -1
  519. package/dist/types/components/search-bar/search-bar.d.ts +1 -1
  520. package/dist/types/components/search-field/search-field.d.ts +1 -1
  521. package/dist/types/components/segmented-control/segmented-control.d.ts +1 -1
  522. package/dist/types/components/select/multi-select/multiselect.d.ts +1 -1
  523. package/dist/types/components/select/single-select/select.d.ts +1 -1
  524. package/dist/types/components/slider/slider.d.ts +1 -1
  525. package/dist/types/components/spinner/spinner.d.ts +1 -1
  526. package/dist/types/components/status/status.d.ts +1 -1
  527. package/dist/types/components/stepper/stepper.d.ts +1 -1
  528. package/dist/types/components/switch/switch.d.ts +1 -1
  529. package/dist/types/components/table-advanced-version/table.d.ts +1 -1
  530. package/dist/types/components/table-basic-version/table.d.ts +1 -1
  531. package/dist/types/components/tabs/tabs.d.ts +1 -1
  532. package/dist/types/components/tag/tag.d.ts +1 -1
  533. package/dist/types/components/text-field/text-field.d.ts +1 -1
  534. package/dist/types/components/textarea/textarea.d.ts +1 -1
  535. package/dist/types/components/tooltip/tooltip.d.ts +1 -1
  536. package/dist/types/components/tree-view/tree-view.d.ts +1 -1
  537. package/dist/types/global/utils/dom-ready.d.ts +1 -0
  538. package/dist/types/global/utils/framework-detection.d.ts +1 -1
  539. package/package.json +1 -1
  540. package/dist/cjs/framework-detection-a322fb59.js.map +0 -1
  541. package/dist/components/p-05a8dcef.js.map +0 -1
  542. package/dist/components/p-170317dc.js.map +0 -1
  543. package/dist/components/p-2596c82f.js.map +0 -1
  544. package/dist/components/p-2c9b0fdb.js.map +0 -1
  545. package/dist/components/p-3af99291.js.map +0 -1
  546. package/dist/components/p-573858d1.js.map +0 -1
  547. package/dist/components/p-61642c10.js.map +0 -1
  548. package/dist/components/p-8ad484a6.js.map +0 -1
  549. package/dist/components/p-b69be413.js.map +0 -1
  550. package/dist/components/p-b883e2d3.js.map +0 -1
  551. package/dist/components/p-c34e908d.js.map +0 -1
  552. package/dist/components/p-c9f445a4.js.map +0 -1
  553. package/dist/components/p-dd01ab9e.js.map +0 -1
  554. package/dist/components/p-de8c13bc.js.map +0 -1
  555. package/dist/components/p-e16b2c83.js.map +0 -1
  556. package/dist/components/p-e79c21ff.js.map +0 -1
  557. package/dist/components/p-ed59da76.js.map +0 -1
  558. package/dist/components/p-ee75a0aa.js.map +0 -1
  559. package/dist/components/p-f86af116.js.map +0 -1
  560. package/dist/esm/framework-detection-ad7dea6c.js.map +0 -1
  561. package/dist/infineon-design-system-stencil/p-0211e24e.entry.js +0 -2
  562. package/dist/infineon-design-system-stencil/p-0211e24e.entry.js.map +0 -1
  563. package/dist/infineon-design-system-stencil/p-06397da4.entry.js +0 -2
  564. package/dist/infineon-design-system-stencil/p-06397da4.entry.js.map +0 -1
  565. package/dist/infineon-design-system-stencil/p-0bf11c6b.entry.js +0 -2
  566. package/dist/infineon-design-system-stencil/p-0bf11c6b.entry.js.map +0 -1
  567. package/dist/infineon-design-system-stencil/p-1254a066.entry.js +0 -2
  568. package/dist/infineon-design-system-stencil/p-254132b3.entry.js.map +0 -1
  569. package/dist/infineon-design-system-stencil/p-36a21172.entry.js +0 -2
  570. package/dist/infineon-design-system-stencil/p-36a21172.entry.js.map +0 -1
  571. package/dist/infineon-design-system-stencil/p-4c3787f0.entry.js +0 -2
  572. package/dist/infineon-design-system-stencil/p-5f7d76ec.entry.js +0 -2
  573. package/dist/infineon-design-system-stencil/p-60a4087e.entry.js +0 -2
  574. package/dist/infineon-design-system-stencil/p-6443b13f.entry.js +0 -2
  575. package/dist/infineon-design-system-stencil/p-68f921fe.entry.js +0 -2
  576. package/dist/infineon-design-system-stencil/p-68f921fe.entry.js.map +0 -1
  577. package/dist/infineon-design-system-stencil/p-7fe80204.entry.js +0 -2
  578. package/dist/infineon-design-system-stencil/p-7fe80204.entry.js.map +0 -1
  579. package/dist/infineon-design-system-stencil/p-9fe2f303.entry.js +0 -2
  580. package/dist/infineon-design-system-stencil/p-9fe2f303.entry.js.map +0 -1
  581. package/dist/infineon-design-system-stencil/p-a563dfca.entry.js +0 -2
  582. package/dist/infineon-design-system-stencil/p-a94be9e8.entry.js +0 -2
  583. package/dist/infineon-design-system-stencil/p-c68f4ba8.entry.js.map +0 -1
  584. package/dist/infineon-design-system-stencil/p-d8f8978e.entry.js +0 -2
  585. package/dist/infineon-design-system-stencil/p-d8f8978e.entry.js.map +0 -1
  586. package/dist/infineon-design-system-stencil/p-e2ee4d40.entry.js.map +0 -1
  587. package/dist/infineon-design-system-stencil/p-eb59fab2.entry.js +0 -2
  588. package/dist/infineon-design-system-stencil/p-ed4f4b21.entry.js +0 -2
  589. package/dist/infineon-design-system-stencil/p-ed4f4b21.entry.js.map +0 -1
  590. package/dist/infineon-design-system-stencil/p-ee75a0aa.js +0 -2
  591. package/dist/infineon-design-system-stencil/p-ee75a0aa.js.map +0 -1
  592. package/dist/infineon-design-system-stencil/p-fadce562.entry.js.map +0 -1
  593. package/dist/infineon-design-system-stencil/p-fbb5dfe1.entry.js +0 -2
  594. package/dist/infineon-design-system-stencil/p-fbbd31ac.entry.js +0 -2
  595. package/dist/infineon-design-system-stencil/p-fe6fb565.entry.js +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"names":["chipCss","IfxChipStyle0","Chip","constructor","hostRef","this","placeholder","size","value","undefined","variant","readOnly","opened","selectedOptions","handleValueChange","newValue","syncSelectedOptionsWithProp","handleReadOnlyChange","closeDropdownOnOutsideClick","event","path","composedPath","chipWrapper","chip","shadowRoot","querySelector","chipDropdown","includes","toggleDropdownMenu","handleKeyDown","code","preventDefault","target","tagName","handleWrapperKeyDown","handleDropdownKeyDown","updateSelectedOptions","eventDetail","detail","previousSelection","selected","chipItems","getChipItems","forEach","chipItem","chipState","Object","assign","emitIfxChipItemSelect","find","option","filter","map","emitIfxChange","ifxChange","emit","currentSelection","name","querySelectorAll","getSelectedOptions","label","join","slice","focusChipItemAt","index","item","length","console","error","shadowItem","setTimeout","focus","focusChip","handleUnselectButtonClick","stopPropagation","itemGotUnselected","handleWrapperClick","chipitems","targetIndex","Array","from","indexOf","syncChipState","key","generateKey","count","isArray","componentWillLoad","componentDidLoad","isNestedInIfxComponent","framework","detectFramework","trackComponent","render","h","class","tabIndex","onClick","role","ariaLabel","toString","number","icon","e","id","chipItemCss","IfxChipItemStyle0","ChipItem","updateItemSelection","parentElement","validateSelected","oldValue","emitIfxChipItemSelectEvent","getItemLabel","innerText","toggleItemSelection","ifxChipItemSelect","handleItemClick","handleItemKeyDown","handleSelectedState","onKeyDown","checked","paginationCss","IfxPaginationStyle0","Pagination","currentPage","internalPage","internalItemsPerPage","numberOfPages","total","filteredItemsPerPage","visiblePages","CLASS_DISABLED","CLASS_ACTIVE","handlePageClick","li","currentTarget","page","parseInt","dataset","isNaN","changePage","setItemsPerPage","selectedValue","_a","_b","newItemsPerPage","calculateNumberOfPages","updateVisiblePages","handleEventEmission","el","initPagination","buffer","totalPages","current","pages","push","start","Math","max","end","min","i","Set","ceil","_","filterOptionsArray","items","itemsPerPage","JSON","parse","componentWillUpdate","prevInternalPage","componentDidUpdate","ifxPageChange","pagination","updateButtons","prev","next","disabled","classList","toggle","removeEventListener","addEventListener","newPage","options","href"],"sources":["src/components/chip/chip.scss?tag=ifx-chip&encapsulation=shadow","src/components/chip/chip.tsx","src/components/chip/chip-item/chip-item.scss?tag=ifx-chip-item&encapsulation=shadow","src/components/chip/chip-item/chip-item.tsx","src/components/pagination/pagination.scss?tag=ifx-pagination&encapsulation=shadow","src/components/pagination/pagination.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-block;\n}\n\n.chip {\n position: relative;\n}\n\n.chip__wrapper {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: tokens.$ifxSpace100;\n\n box-sizing: border-box;\n border: 1px solid tokens.$ifxColorEngineering300;\n border-radius: tokens.$ifxBorderRadiusRound;\n \n background: tokens.$ifxColorBaseWhite;\n \n cursor: pointer; \n \n transition: border 100ms ease;\n\n font: tokens.$ifxBodyBody04;\n \n &:hover, &:focus-visible {\n outline: none;\n border: 1px solid tokens.$ifxColorEngineering500;\n }\n\n &:focus {\n border: 1px solid tokens.$ifxColorOcean500;\n }\n \n &.chip__wrapper--small {\n padding: tokens.$ifxSpace50 tokens.$ifxSpace150;\n }\n \n &.chip__wrapper--large {\n padding: tokens.$ifxSpace100 tokens.$ifxSpace200;\n }\n \n &.chip__wrapper--opened {\n border: 1px solid tokens.$ifxColorOcean500;\n \n .wrapper__open-button {\n transform: rotate(-180deg);\n }\n }\n \n &.chip__wrapper--selected {\n outline: 3px solid tokens.$ifxColorOcean500;\n outline-offset: -3px;\n \n color: tokens.$ifxColorOcean500;\n \n &:hover, &:focus-visible {\n outline: 3px solid tokens.$ifxColorOcean600;\n \n color: tokens.$ifxColorOcean600;\n }\n }\n}\n\n.wrapper__label {\n display: inline-flex;\n align-items: center;\n gap: tokens.$ifxSpace50;\n\n font: tokens.$ifxBodyBody04;\n \n .label__selected-options {\n font: tokens.$ifxBodyBodySemibold04;\n }\n}\n\n.wrapper__open-button {\n display:flex;\n align-items: center;\n \n transition: all 300ms ease;\n}\n\n.wrapper__unselect-button {\n display:flex;\n align-items: center;\n}\n\n.chip__dropdown {\n position: absolute;\n z-index: 1;\n\n box-shadow: 0px 6px 9px 0px #1D1D1D1A;\n border: 1px solid tokens.$ifxColorEngineering200;\n border-radius: tokens.$ifxBorderRadius12;\n padding: tokens.$ifxSpace100 0;\n\n min-width: 222px;\n \n background-color: tokens.$ifxColorBaseWhite;\n}\n","import { h, Component, Element, Event, EventEmitter, Listen, Prop, State, Watch } from '@stencil/core';\nimport { ChipItemSelectEvent } from './interfaces';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-chip',\n styleUrl: 'chip.scss',\n shadow: true\n})\nexport class Chip {\n @Element() chip: HTMLIfxChipElement;\n\n @Event() ifxChange: EventEmitter<{ previousSelection: Array<ChipItemSelectEvent>, currentSelection: Array<ChipItemSelectEvent>, name: string }>;\n @Prop() placeholder: string = '';\n @Prop() size: 'small' | 'large' = 'large';\n @Prop({ mutable: true }) value: Array<string> | string = undefined;\n @Prop() variant: 'single' | 'multi' = 'single';\n @Prop() readOnly: boolean = false;\n @Prop() ariaLabel: string | null;\n\n @State() opened: boolean = false;\n @State() selectedOptions: Array<ChipItemSelectEvent> = [];\n\n @Watch('value')\n handleValueChange(newValue: Array<string> | string) {\n this.syncSelectedOptionsWithProp(newValue);\n }\n\n @Watch('readOnly')\n handleReadOnlyChange(newValue: boolean) {\n if (newValue) {\n this.opened = false;\n }\n }\n\n @Listen('mousedown', { target: 'document' })\n closeDropdownOnOutsideClick(event: MouseEvent) {\n const path = event.composedPath();\n const chipWrapper: HTMLElement = this.chip.shadowRoot.querySelector('.chip__wrapper');\n const chipDropdown: HTMLElement = this.chip.shadowRoot.querySelector('.chip__dropdown');\n if (!path.includes(chipDropdown) && !path.includes(chipWrapper) && this.opened) {\n this.toggleDropdownMenu();\n }\n }\n\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n // override behavior of all keys except Tab. Users should be able to tab out of the component.\n if (event.code !== 'Tab') {\n event.preventDefault(); \n }\n\n if ((event.target as HTMLElement).tagName === 'IFX-CHIP') {\n this.handleWrapperKeyDown(event);\n } else if ((event.target as HTMLElement).tagName === 'IFX-CHIP-ITEM') {\n this.handleDropdownKeyDown(event);\n }\n }\n\n @Listen('ifxChipItemSelect')\n updateSelectedOptions(event: CustomEvent<ChipItemSelectEvent>) {\n const eventDetail: ChipItemSelectEvent = event.detail;\n const previousSelection: Array<ChipItemSelectEvent> = [...this.selectedOptions];\n\n if (this.variant !== 'multi') {\n if (eventDetail.selected) {\n this.opened = false;\n const chipItems: NodeList = this.getChipItems();\n chipItems.forEach((chipItem: HTMLIfxChipItemElement) => {\n if (chipItem.selected && chipItem !== event.target) {\n chipItem.chipState = {\n ...chipItem.chipState,\n emitIfxChipItemSelect: false,\n };\n chipItem.selected = false;\n }\n });\n this.selectedOptions = [eventDetail];\n } else {\n this.selectedOptions = [];\n }\n this.value = this.selectedOptions[0] ? this.selectedOptions[0].value : undefined;\n } else {\n if (eventDetail.selected) {\n // Prevent duplicate entries\n if (!this.selectedOptions.find(option => option.value === eventDetail.value)) {\n this.selectedOptions = [...this.selectedOptions, eventDetail];\n }\n } else {\n this.selectedOptions = this.selectedOptions.filter((option) => option.value !== eventDetail.value);\n }\n this.value = this.selectedOptions.map((option) => option.value);\n }\n\n if (eventDetail.emitIfxChange) {\n this.ifxChange.emit({\n previousSelection: previousSelection,\n currentSelection: this.selectedOptions,\n name: this.placeholder\n });\n }\n }\n\n getChipItems(): NodeList {\n return this.chip.querySelectorAll('ifx-chip-item');\n }\n\n getSelectedOptions(): string {\n if (this.variant !== 'multi') {\n return this.selectedOptions.map(option => option.label).join('');\n }\n return this.selectedOptions.slice(0, 2).map(option => option.label).join(', ');\n }\n\n toggleDropdownMenu() {\n if (this.readOnly) return;\n this.opened = !this.opened;\n }\n\n /**\n * Focuses the chip item at the specified index.\n * @param index the index of the chip item to focus. -1 will focus the last chip item.\n */\n focusChipItemAt(index: number = 0) {\n this.opened = true;\n const chipItems: NodeList = this.getChipItems();\n let item: HTMLIfxChipItemElement;\n \n if (index === -1) {\n item = chipItems.item(chipItems.length - 1) as HTMLIfxChipItemElement;\n } else if (index >= 0 && index < chipItems.length) {\n item = chipItems.item(index) as HTMLIfxChipItemElement;\n } else {\n console.error(`Invalid index: ${index}`);\n return;\n }\n\n const shadowItem = item.shadowRoot.querySelector('.chip-item') as HTMLDivElement;\n if (shadowItem) {\n // Delay needed for the shadow item to be rendered.\n setTimeout(() => {\n shadowItem.focus();\n }, 1);\n }\n }\n\n focusChip() {\n const chipWrapper: HTMLElement = this.chip.shadowRoot.querySelector('.chip__wrapper');\n chipWrapper.focus();\n }\n\n handleUnselectButtonClick(event: MouseEvent) {\n event.stopPropagation();\n this.opened = false;\n\n let itemGotUnselected = false;\n const chipItems: NodeList = this.getChipItems();\n chipItems.forEach((chipItem: HTMLIfxChipItemElement) => {\n if (chipItem.selected) {\n itemGotUnselected = true;\n chipItem.chipState = {\n ...chipItem.chipState,\n emitIfxChipItemSelect: false,\n }\n chipItem.selected = false;\n }\n });\n\n /* Emit event only if at least one item was unselected. */\n if (itemGotUnselected) {\n const previousSelection: Array<ChipItemSelectEvent> = this.selectedOptions;\n this.selectedOptions = [];\n this.value = [];\n this.ifxChange.emit({\n previousSelection: previousSelection,\n currentSelection: [],\n name: this.placeholder\n });\n }\n }\n\n handleWrapperClick() {\n if (!this.readOnly) {\n this.toggleDropdownMenu();\n }\n }\n\n handleWrapperKeyDown(event: KeyboardEvent) {\n // Keymap oriented at https://www.w3.org/WAI/ARIA/apg/patterns/combobox/#keyboard_interaction\n if (this.readOnly) return;\n\n if (!this.opened) {\n switch (event.code) {\n case 'Space':\n case 'Enter':\n case 'ArrowDown':\n this.focusChipItemAt(0);\n break;\n case 'ArrowUp':\n this.focusChipItemAt(-1);\n break;\n }\n } else {\n switch (event.code) {\n case 'Escape':\n this.opened = false;\n this.focusChip();\n break;\n }\n }\n }\n\n handleDropdownKeyDown(event: KeyboardEvent) {\n let chipitems = this.getChipItems();\n\n let targetIndex = Array.from(chipitems).indexOf(event.target as HTMLIfxChipItemElement);\n if (targetIndex === -1) {\n console.error('Target not found in chip items');\n return;\n }\n\n switch (event.code) {\n case 'ArrowDown':\n if (targetIndex === chipitems.length - 1) break;\n this.focusChipItemAt(targetIndex + 1);\n break;\n case 'ArrowUp':\n if (targetIndex === 0) break;\n this.focusChipItemAt( targetIndex - 1);\n break;\n case 'Escape':\n this.opened = false;\n this.focusChip();\n break;\n case 'Space':\n // selection is handled by the chip-item component\n if (this.variant === 'single') {\n // only close dropdown if single select\n this.opened = false;\n this.focusChip();\n }\n break;\n case 'Enter':\n // selection is handled by the chip-item component\n this.opened = false;\n this.focusChip();\n break;\n }\n }\n\n syncChipState() {\n const chipItems: NodeList = this.getChipItems();\n let key: number = 0;\n chipItems.forEach((chipItem: HTMLIfxChipItemElement) => {\n chipItem.chipState = {\n emitIfxChipItemSelect: true,\n size: (this.size === 'small' ? 'small' : 'large'),\n variant: (this.variant === 'multi' ? 'multi' : 'single'),\n key: key++\n };\n });\n }\n\n syncSelectedOptionsWithProp(newValue: Array<string> | string) {\n // Clear old selected options\n this.selectedOptions = [];\n\n const generateKey = (() => {\n let count = 0;\n return () => count++;\n })();\n\n if (Array.isArray(newValue)) {\n this.selectedOptions = newValue.map(value => ({\n value,\n label: value,\n selected: true,\n key: generateKey(),\n emitIfxChange: true\n }));\n } else if (typeof newValue === 'string') {\n this.selectedOptions = [{\n value: newValue,\n label: newValue,\n selected: true,\n key: generateKey(),\n emitIfxChange: true\n }];\n }\n\n this.syncChipState();\n }\n\n componentWillLoad() {\n this.syncSelectedOptionsWithProp(this.value);\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.chip)) { \n const framework = detectFramework();\n trackComponent('ifx-chip', await framework)\n }\n }\n\n render() {\n return (\n <div class='chip'>\n <div class={`chip__wrapper chip__wrapper--${this.size === 'small' ? 'small' : 'large'}\n chip__wrapper--${this.variant === 'multi' ? 'multi' : 'single'}\n ${this.opened && !this.readOnly ? 'chip__wrapper--opened' : ''}\n ${this.selectedOptions.length ? 'chip__wrapper--selected' : ''}`}\n tabIndex={0}\n onClick={!this.readOnly ? () => { this.handleWrapperClick() } : undefined}\n role='combobox'\n aria-label={this.ariaLabel}\n aria-value={this.getSelectedOptions()}\n aria-haspopup={!this.readOnly ? 'listbox' : undefined}\n aria-expanded={!this.readOnly ? this.opened.toString() : undefined}\n aria-controls={!this.readOnly ? 'dropdown' : undefined}\n aria-readonly={this.readOnly ? 'true' : undefined}\n aria-multiselectable={this.variant === 'multi' ? 'true' : undefined}\n >\n\n <div class='wrapper__label'>\n {\n (this.selectedOptions.length === 0) && `${this.placeholder}`\n }\n\n {\n (this.selectedOptions.length !== 0 && (this.variant === 'multi' || this.readOnly) && this.placeholder !== '') &&\n `${this.placeholder}:`\n }\n\n {\n (this.selectedOptions.length !== 0) &&\n <div class='label__selected-options'>\n {this.getSelectedOptions()}\n </div>\n }\n\n {\n (this.selectedOptions.length > 2 && this.variant === 'multi') &&\n <ifx-indicator variant='number' number={this.selectedOptions.length - 2}></ifx-indicator>\n }\n </div>\n\n {\n !this.readOnly && (this.variant !== 'multi' || (this.variant === 'multi' && this.selectedOptions.length === 0)) &&\n <div class='wrapper__open-button'>\n <ifx-icon key={1} icon={`chevron-down-16`} />\n </div>\n }\n\n\n { \n (this.variant !== 'multi' && this.readOnly !== false && this.selectedOptions.length > 0) &&\n <div class='wrapper__unselect-button' onClick={(e) => { this.handleUnselectButtonClick(e) }}>\n <ifx-icon key={2} icon={`cross16`} />\n </div>\n }\n\n {\n ((this.selectedOptions.length >= 1) && this.variant === 'multi') &&\n <div class='wrapper__unselect-button' onClick={(e) => { this.handleUnselectButtonClick(e) }}>\n <ifx-icon key={2} icon={`cross16`} />\n </div>\n }\n\n </div>\n\n {\n this.opened && !this.readOnly &&\n <div id='dropdown' role='listbox' class='chip__dropdown'>\n <slot />\n </div>\n }\n </div>\n );\n }\n}\n","@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../../global/font.scss\";\n\n.chip-item {\n display: flex;\n align-items: center;\n gap: tokens.$ifxSpace100;\n \n padding: tokens.$ifxSpace100 tokens.$ifxSpace200;\n \n user-select: none;\n \n transition: all 100ms ease;\n transition-property: background, color;\n \n &:hover {\n cursor: pointer;\n \n background-color: tokens.$ifxColorEngineering200;\n }\n \n &:active {\n background-color: tokens.$ifxColorEngineering300;\n }\n\n &:focus {\n outline: 2px solid tokens.$ifxColorOcean500;\n }\n \n &.chip-item--large {\n font: tokens.$ifxBodyBody03;\n }\n \n &.chip-item--small {\n font: tokens.$ifxBodyBody04;\n }\n\n &.chip-item--selected {\n color: tokens.$ifxColorOcean500;\n\n .chip-item__selected-indicator {\n display: block;\n }\n }\n}\n\n.chip-item__selected-indicator {\n display: none;\n \n margin-left: auto;\n}\n\n","import { h,\n Component,\n Element,\n Event,\n EventEmitter, \n Listen,\n Prop, \n Watch } from '@stencil/core';\nimport { ChipItemSelectEvent, ChipState } from '../interfaces';\n\n@Component({\ntag: 'ifx-chip-item',\nstyleUrl: 'chip-item.scss',\nshadow: true\n})\n\nexport class ChipItem {\n@Element() chipItem: HTMLIfxChipItemElement;\n\n@Event({ composed: false }) ifxChipItemSelect: EventEmitter<ChipItemSelectEvent>;\n\n@Prop() value: string = undefined;\n@Prop() chipState: ChipState = { emitIfxChipItemSelect: true, variant: 'multi', size: 'large' }; \n@Prop({ mutable: true, reflect: true }) selected: boolean = false;\n\n@Listen('ifxChipItemSelect', { target: 'body' })\nupdateItemSelection(event: CustomEvent<ChipItemSelectEvent>) {\n if (this.chipState.variant === 'single') {\n const target = event.target as HTMLIfxChipItemElement;\n /* Also making sure chip items are from the same group (parent) while unselecting. */\n if (this.chipItem !== target && this.chipItem.parentElement === target.parentElement) {\n this.selected = false;\n }\n }\n} \n\n@Watch('selected')\nvalidateSelected(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue) {\n /* Do not emit if ChipState does not allow. */\n if (this.chipState.emitIfxChipItemSelect){\n this.emitIfxChipItemSelectEvent();\n } else {\n this.chipState.emitIfxChipItemSelect = true;\n }\n }\n} \n\ngetItemLabel(): string {\n return this.chipItem.innerText as string;\n}\n\ntoggleItemSelection() {\n this.selected = !this.selected;\n}\n \n\nemitIfxChipItemSelectEvent(emitIfxChange: boolean = true) {\n this.ifxChipItemSelect.emit({ emitIfxChange: emitIfxChange,\n key: this.chipState.key,\n label: this.getItemLabel(), \n selected: this.selected, \n value: this.value });\n}\n\nhandleItemClick() {\n this.toggleItemSelection();\n}\n\nhandleItemKeyDown(event: KeyboardEvent) {\n if (event.code === 'Enter' || event.code === 'Space') {\n this.toggleItemSelection();\n }\n}\n\nhandleSelectedState() {\n if (this.selected) {\n this.emitIfxChipItemSelectEvent(false);\n }\n}\n\n\ncomponentWillLoad() {\n /* Propogating the selected state to the Chip (Parent) component if it is set. */\n this.handleSelectedState();\n}\n\nrender() {\n return (\n <div class={`chip-item chip-item--${this.chipState.size} \n chip-item--${(this.selected && this.chipState.variant) === 'single' ? 'selected' : ''}`} \n tabIndex={0}\n onClick={() => {this.handleItemClick()}}\n onKeyDown={(e) => {this.handleItemKeyDown(e)}}\n role=\"option\"\n aria-selected={this.selected.toString()}> \n {/* Checkbox; renders only in 'multi' variant. */}\n { \n this.chipState.variant === 'multi' &&\n <ifx-checkbox checked={this.selected}\n tabIndex={-1} \n size='s'>\n </ifx-checkbox>\n }\n\n <div class='chip-item__label'> <slot /> </div>\n\n {/* Selected indicator only visible in 'single' variant. */}\n <div class='chip-item__selected-indicator'> \n <ifx-icon icon='check-16'> </ifx-icon> \n </div>\n\n </div>\n );\n}\n}","@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n}\n\n.container {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n gap: 32px;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n\n & .items__per-page-wrapper {\n display: flex;\n align-items: center;\n gap: 16px;\n\n & .items__per-page-label {\n color: #1D1D1D;\n font-size: 14px;\n font-style: normal;\n font-weight: 600;\n line-height: 20px;\n }\n\n & .items__per-page-field {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n\n & ifx-select {\n width: 92px;\n }\n }\n }\n\n & .items__total-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 12px;\n\n & .items__total-button {\n display: flex;\n width: 40px;\n height: 40px;\n justify-content: center;\n align-items: center;\n border-radius: 100px;\n border: 1px solid #BFBBBB;\n background: #FFF;\n }\n\n & .page__numbers-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 12px;\n\n & .page__number-item {\n display: flex;\n padding: 6px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 100px;\n\n &.active {\n background-color: #0A8276;\n\n & span {\n color: #fff;\n }\n }\n\n &:hover {\n cursor: pointer;\n }\n\n &:hover:not(.active) {\n background-color: #ddd;\n\n }\n\n &:active:not(.active) {\n background-color: #575352;\n }\n\n & span {\n display: flex;\n width: 16px;\n height: 16px;\n flex-direction: column;\n justify-content: center;\n color: #1D1D1D;\n text-align: center;\n font-size: 13px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n }\n }\n }\n }\n}\n\n\n.pagination {\n display: flex;\n\n & ifx-icon-button:first-of-type {\n margin-right: 12px;\n }\n\n & ifx-icon-button:last-of-type {\n margin-left: 12px;\n }\n}\n\na {\n padding: 8px;\n border-radius: 100px;\n}\n\nol {\n list-style-type: none;\n padding: 0;\n margin: 0;\n display: inline-flex;\n align-items: center;\n gap: 12px;\n}\n\nli {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n border-radius: 100px;\n\n &:hover:not(.active) {\n & a {\n background-color: #EEEDED;\n }\n }\n\n &:active:not(.active) {\n & a {\n background-color: #575352;\n color: #fff;\n }\n }\n\n &.active {\n background-color: #0A8276;\n\n & a {\n color: #fff;\n }\n }\n\n &:hover {\n cursor: pointer;\n }\n\n & a {\n text-decoration: none;\n display: flex;\n width: 16px;\n height: 16px;\n flex-direction: column;\n justify-content: center;\n color: #1D1D1D;\n text-align: center;\n font-size: 13px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n align-items: center;\n }\n}\n\n.prev,\n.next {\n &.disabled {\n cursor: default;\n\n &:hover {\n cursor: default;\n text-decoration: none;\n }\n }\n}\n\n.prev {\n margin-right: 2.5px;\n}\n\n.next {\n margin-left: 2.5px;\n}\n\n\n@mixin ellipsis($before: true) {\n content: \"\\2026\";\n font-size: 13px;\n display: inline-block;\n\n @if($before) {\n margin-right: 6px;\n }\n\n @else {\n margin-left: 6px;\n }\n}\n\n\n// @media(max-width:460px) {\n// li {\n\n// &:first-child,\n// &.active,\n// &.active-sibling:nth-last-child(2), // Show second to last child if the last one is active\n// &:last-child {\n// //display: inline-block !important;\n// display: inline-flex !important;\n// flex-direction: row;\n// }\n\n// $how-many-on-ends: 3; // 1,2,3,...,10 || 1,...,8,9,10\n// // There are >= 5 pages\n// &:first-child:nth-last-child(n+6) {\n\n// &~li {\n// // Start out with all siblings hidden\n// display: none;\n\n// // Show the last children in the list by default\n// &:nth-last-child(-n+#{$how-many-on-ends}) {\n// //display: inline-block;\n// display: inline-flex;\n// flex-direction: row;\n\n// }\n\n// // The child at the beginning of the last group shows ellipsis for the group\n// &:nth-last-child(#{$how-many-on-ends}) {\n// &:before {\n// @include ellipsis(true);\n// }\n// }\n\n// // The very beginning elements do not need to show ellipsis\n// // The very end elements do not need to show ellipsis\n// }\n\n\n// &.active,\n// &~li.active {\n\n// // Show ellipsis before and after the active element\n// &:before {\n// @include ellipsis(true);\n// }\n// &:after {\n// @include ellipsis(false);\n// }\n\n\n// // If the active element is in the first or last group, don't show ellipsis (siblings will take care of it)\n// &:nth-child(-n+#{$how-many-on-ends - 1}),\n// &:nth-last-child(-n+#{$how-many-on-ends - 1}) {\n// &:before, &:after {\n// display: none;\n// }\n// }\n\n// // Hide the last group if \"active\" comes before them\n// &~li:nth-last-child(-n+#{$how-many-on-ends}) {\n// display: none;\n// }\n\n// // Show the first group together if \"active\" comes before them\n// &~li:nth-child(-n+#{$how-many-on-ends}) {\n// //display: inline-block;\n// display: inline-flex;\n// flex-direction: row;\n// }\n\n// // If \"active\" is before the last member in the group, don't show ellipsis\n// &~li:nth-child(-n+#{$how-many-on-ends - 1}) {\n// &:after {\n// display: none;\n// }\n// }\n\n\n// // The child at the end of the first group shows ellipsis for the group\n// &~li:nth-child(#{$how-many-on-ends}) {\n// &:after {\n// @include ellipsis(false);\n// }\n// }\n// }\n// }\n// }\n// }\n\n@media (min-width: 400px) {\n li {\n\n &:first-child,\n &.active-sibling,\n &.active,\n &.active+li,\n &:last-child {\n //display: inline-block!important;\n display: inline-flex !important;\n flex-direction: row;\n }\n\n // There are >= 7 pages\n &:first-child:nth-last-child(n+8) {\n $how-many-on-ends: 5; // 1,2,3,4,5,...,10 || 1,...6,7,8,9,10\n\n &~li {\n // Start out with all siblings hidden\n display: none;\n\n // Show ellipsis before the previous one\n &.active-sibling:before {\n @include ellipsis(true);\n }\n\n // Show ellipsis after the next one\n &.active+li:after {\n @include ellipsis(false);\n }\n\n // Show the last children in the list by default\n &:nth-last-child(-n+#{$how-many-on-ends}) {\n //display: inline-block;\n display: inline-flex;\n flex-direction: row;\n }\n\n // The child at the beginning of the last group shows ellipsis for the group\n &:nth-last-child(#{$how-many-on-ends}) {\n &:before {\n @include ellipsis(true);\n }\n }\n\n // The very beginning elements do not need to show ellipsis\n &:nth-child(-n+#{$how-many-on-ends - 3}),\n // The very end elements do not need to show ellipsis\n &:nth-last-child(-n+#{$how-many-on-ends - 3}),\n // Even if it's a sibling to \"active\"\n &.active-sibling:nth-last-child(-n+#{$how-many-on-ends - 1}) {\n\n &:before,\n &:after {\n display: none !important;\n }\n }\n }\n\n &.active,\n &~li.active {\n\n // Hide the last group if \"active\" comes before them\n &~li:nth-last-child(-n+#{$how-many-on-ends}) {\n display: none;\n\n // If there is overlap, the element will show, but hide it's ellipsis\n &:before {\n display: none;\n }\n }\n\n // Show the first group together if \"active\" comes before them\n &~li:nth-child(-n+#{$how-many-on-ends}) {\n //display: inline-block;\n display: inline-flex !important;\n flex-direction: row;\n }\n\n // If \"active\" is before the last member in the group, don't show ellipsis\n &~li:nth-child(-n+#{$how-many-on-ends - 1}) {\n &:after {\n display: none;\n }\n }\n\n\n // The child at the end of the first group shows ellipsis for the group\n &~li:nth-child(#{$how-many-on-ends}) {\n &:after {\n @include ellipsis(false);\n }\n }\n\n // \"active\" should never show ellipsis\n &:before,\n &:after {\n display: none;\n }\n }\n }\n }\n}","import { Component, h, Element, Event, EventEmitter, Prop, State, Listen } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-pagination',\n styleUrl: 'pagination.scss',\n shadow: true\n})\nexport class Pagination {\n @Element() el: HTMLElement;\n @Event() ifxPageChange: EventEmitter;\n @Prop() currentPage: number = 1;\n @State() internalPage: number = 1;\n @State() internalItemsPerPage: number = 10;\n @State() numberOfPages: number[] = [];\n @Prop() total: number = 1;\n @Prop() itemsPerPage: any[] | string;\n @State() filteredItemsPerPage: any[] = [];\n @State() visiblePages: (number | string)[] = [];\n\n private CLASS_DISABLED = \"disabled\";\n private CLASS_ACTIVE = \"active\";\n private prevInternalPage: number;\n\n @Listen('ifxSelect')\n setItemsPerPage(e: CustomEvent) {\n const selectedValue = e.detail?.value || e.detail?.label; \n const newItemsPerPage = parseInt(selectedValue) || 10;\n\n if (newItemsPerPage === this.internalItemsPerPage) {\n return;\n }\n\n this.internalItemsPerPage = newItemsPerPage;\n this.internalPage = 1; \n this.calculateNumberOfPages();\n this.updateVisiblePages();\n this.handleEventEmission();\n }\n\n async componentDidLoad() {\n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-pagination', await framework)\n }\n this.initPagination();\n }\n\n updateVisiblePages() {\n const buffer = 2;\n const totalPages = this.numberOfPages.length;\n const current = this.internalPage;\n let pages: (number | string)[] = [];\n \n if (totalPages <= 5) {\n pages = [...this.numberOfPages];\n } else {\n pages.push(1);\n \n if (current > buffer + 1) pages.push('...');\n \n let start = Math.max(2, current - buffer);\n let end = Math.min(totalPages - 1, current + buffer);\n \n if (current <= buffer + 1) end = buffer * 2 + 1;\n if (current >= totalPages - buffer) start = totalPages - buffer * 2;\n \n for (let i = start; i <= end; i++) pages.push(i);\n \n if (current < totalPages - buffer) pages.push('...');\n pages.push(totalPages);\n }\n \n this.visiblePages = [...new Set(pages)];\n }\n\n calculateNumberOfPages() {\n const totalPages = Math.ceil(this.total / this.internalItemsPerPage);\n this.numberOfPages = Array.from({ length: totalPages }, (_, i) => i + 1);\n this.internalPage = Math.max(1, Math.min(this.currentPage, totalPages));\n }\n\n filterOptionsArray() { \n const items = typeof this.itemsPerPage === 'string' ? \n JSON.parse(this.itemsPerPage) : this.itemsPerPage;\n this.filteredItemsPerPage = items.map(item => ({\n ...item,\n label: item.label || item.value\n }));\n }\n\n componentWillLoad() {\n this.calculateNumberOfPages();\n this.filterOptionsArray();\n this.updateVisiblePages();\n }\n\n componentWillUpdate() { \n if (this.prevInternalPage !== this.internalPage) {\n this.updateVisiblePages();\n this.prevInternalPage = this.internalPage;\n }\n }\n\n componentDidUpdate() {\n this.initPagination();\n }\n\n handleEventEmission() {\n this.ifxPageChange.emit({\n currentPage: this.internalPage,\n totalPages: this.numberOfPages.length,\n itemsPerPage: this.internalItemsPerPage\n });\n }\n\n initPagination() {\n const pagination = this.el.shadowRoot.querySelector('.pagination');\n if (!pagination) return;\n\n const updateButtons = () => {\n const prev = pagination.querySelector<HTMLButtonElement>('.prev');\n const next = pagination.querySelector<HTMLButtonElement>('.next');\n if (prev) {\n prev.disabled = this.internalPage === 1;\n prev.classList.toggle(this.CLASS_DISABLED, this.internalPage === 1);\n }\n if (next) {\n next.disabled = this.internalPage === this.numberOfPages.length;\n next.classList.toggle(this.CLASS_DISABLED, this.internalPage === this.numberOfPages.length);\n }\n };\n\n pagination.querySelectorAll('li').forEach(li => {\n li.removeEventListener('click', this.handlePageClick);\n li.addEventListener('click', this.handlePageClick);\n });\n\n updateButtons();\n }\n\n private handlePageClick = (e: Event) => {\n const li = e.currentTarget as HTMLLIElement;\n const page = parseInt(li.dataset.page);\n if (!isNaN(page)) this.changePage(page);\n };\n\n changePage(newPage: number) {\n newPage = Math.max(1, Math.min(newPage, this.numberOfPages.length));\n if (newPage === this.internalPage) return;\n \n this.internalPage = newPage;\n this.handleEventEmission();\n this.initPagination();\n }\n\n render() {\n return (\n <div class=\"container\">\n <div class=\"items__per-page-wrapper\">\n <div class=\"items__per-page-label\">Results per Page</div>\n <div class=\"items__per-page-field\">\n <ifx-select\n placeholder='false'\n show-search='false'\n value={undefined}\n disabled={false}\n error={false}\n size=\"s\"\n options={this.filteredItemsPerPage}\n placeholder-value=\"Select\"\n ></ifx-select>\n </div>\n </div>\n \n <div class=\"items__total-wrapper\">\n <div class=\"pagination\">\n <ifx-icon-button\n class=\"prev\"\n icon=\"arrow-left-16\"\n onClick={() => this.changePage(this.internalPage - 1)}\n ></ifx-icon-button>\n \n <ol>\n {this.visiblePages.map((page, i) => typeof page === 'number' ? (\n <li \n key={`page-${page}`}\n class={{ [this.CLASS_ACTIVE]: page === this.internalPage }}\n data-page={page}\n >\n <a href=\"javascript:void(0)\">{page}</a>\n </li>\n ) : (\n <li class=\"ellipsis\" key={`ellipsis-${i}`}>\n <span>...</span>\n </li>\n ))}\n </ol>\n \n <ifx-icon-button\n class=\"next\"\n icon=\"arrow-right-16\"\n onClick={() => this.changePage(this.internalPage + 1)}\n ></ifx-icon-button>\n </div>\n </div>\n </div>\n );\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as i,c as t,h as s,g as h}from"./p-b7a462e5.js";import{d as e,t as a}from"./p-acbfa625.js";import{i as n}from"./p-1ecafb97.js";import{c as o}from"./p-e459974a.js";const l=":host{display:inline-block}";const r=l;const d=class{constructor(s){i(this,s);this.ifxOpen=t(this,"ifxOpen",7);this.ifxClose=t(this,"ifxClose",7);this.ifxDropdown=t(this,"ifxDropdown",7);this.placement="bottom-start";this.defaultOpen=false;this.internalIsOpen=false;this.noAppendToBody=false;this.noCloseOnOutsideClick=false;this.noCloseOnMenuClick=false}componentWillLoad(){this.updateSlotContent();this.watchHandlerIsOpen(this.defaultOpen,this.internalIsOpen)}async componentDidLoad(){if(!n(this.el)){const i=e();a("ifx-dropdown",await i)}}watchHandlerIsOpen(i,t){if(i!==t&&i!==this.internalIsOpen){if(i){this.openDropdown()}else{this.closeDropdown()}}}watchHandlerDisabled(i){if(this.trigger){this.trigger.disabled=i}}watchHandlerSlot(){this.updateSlotContent()}updateSlotContent(){this.trigger=this.el.querySelector("ifx-dropdown-trigger-button, ifx-dropdown-trigger");if(this.trigger){this.trigger.disabled=this.disabled;this.trigger.removeEventListener("click",this.triggerClickHandler.bind(this));this.trigger.addEventListener("click",this.triggerClickHandler.bind(this))}if(!this.noAppendToBody){if(this.menu){this.menu.remove()}this.menu=this.el.querySelector("ifx-dropdown-menu");document.body.append(this.menu)}else{this.menu=this.el.querySelector("ifx-dropdown-menu")}this.menu.removeEventListener("click",this.menuClickHandler.bind(this));this.menu.addEventListener("click",this.menuClickHandler.bind(this))}menuClickHandler(){if(!this.noCloseOnMenuClick){this.closeDropdown()}}triggerClickHandler(){if(!this.internalIsOpen){this.openDropdown()}else{this.closeDropdown()}}disconnectedCallback(){if(this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}if(this.menu){this.menu.remove()}}async isOpen(){return this.internalIsOpen}async closeDropdown(){if(this.internalIsOpen){this.internalIsOpen=false;this.trigger.isOpen=false;this.menu.isOpen=false;this.ifxClose.emit()}if(this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}}async openDropdown(){if(!this.internalIsOpen&&!this.disabled){this.internalIsOpen=true;this.trigger.isOpen=true;this.menu.isOpen=true;this.popperInstance=o(this.el,this.menu,{placement:this.placement});this.ifxOpen.emit()}}handleOutsideClick(i){const t=i.target;if(!this.noCloseOnOutsideClick&&!this.el.contains(t)&&!this.menu.contains(t)){this.closeDropdown()}}render(){return s("div",{key:"0ffd99254e002f76cd794c4a2acde1a18cad57a1","aria-label":"dropdown menu",class:"dropdown"},s("slot",{key:"59d55b2e78574b583a2e3aad577790214812233e"}))}get el(){return h(this)}static get watchers(){return{defaultOpen:["watchHandlerIsOpen"],disabled:["watchHandlerDisabled"]}}};d.style=r;export{d as ifx_dropdown};
2
+ //# sourceMappingURL=p-17071628.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["dropdownCss","IfxDropdownStyle0","Dropdown","constructor","hostRef","this","placement","defaultOpen","internalIsOpen","noAppendToBody","noCloseOnOutsideClick","noCloseOnMenuClick","componentWillLoad","updateSlotContent","watchHandlerIsOpen","componentDidLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","newValue","oldValue","openDropdown","closeDropdown","watchHandlerDisabled","trigger","disabled","watchHandlerSlot","querySelector","removeEventListener","triggerClickHandler","bind","addEventListener","menu","remove","document","body","append","menuClickHandler","disconnectedCallback","popperInstance","destroy","isOpen","ifxClose","emit","createPopper","ifxOpen","handleOutsideClick","event","target","contains","render","h","key","class"],"sources":["src/components/dropdown/dropdown.scss?tag=ifx-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n:host {\n display: inline-block;\n}","//dropdown.tsx\nimport { Component, Prop, h, Element, Listen, Method, Watch, State, EventEmitter, Event } from \"@stencil/core\";\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nimport { createPopper } from '@popperjs/core';\n \n\nimport { IOpenable } from './IOpenable';\n\nexport type Placement =\n | 'auto'\n | 'auto-start'\n | 'auto-end'\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end';\n\n@Component({\n tag: 'ifx-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true\n})\n\nexport class Dropdown {\n @Prop() placement: Placement = 'bottom-start';\n\n // isOpen prop\n @Prop() defaultOpen: boolean = false;\n // internal state for isOpen prop\n @State() internalIsOpen: boolean = false;\n\n // isOpen prop\n @Prop() noAppendToBody: boolean = false;\n\n // Custom events for opening and closing dropdown\n @Event() ifxOpen: EventEmitter;\n @Event() ifxClose: EventEmitter;\n @Event() ifxDropdown: EventEmitter;\n\n // determine if dropdown is disabled\n @Prop() disabled: boolean;\n\n @Prop() noCloseOnOutsideClick: boolean = false;\n @Prop() noCloseOnMenuClick: boolean = false;\n\n // Reference to host element\n @Element() el;\n // Dropdown trigger and menu\n @State() trigger: HTMLElement;\n @State() menu: HTMLElement\n // Popper instance for positioning\n popperInstance: any;\n\n\n\n componentWillLoad() {\n //maybe not needed\n this.updateSlotContent();\n this.watchHandlerIsOpen(this.defaultOpen, this.internalIsOpen);\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-dropdown', await framework)\n }\n }\n\n @Watch('defaultOpen')\n watchHandlerIsOpen(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue && newValue !== this.internalIsOpen) {\n if (newValue) {\n this.openDropdown();\n } else {\n this.closeDropdown();\n }\n }\n }\n\n @Watch('disabled')\n watchHandlerDisabled(newValue: boolean) {\n if (this.trigger) {\n (this.trigger as undefined as HTMLIfxDropdownTriggerButtonElement).disabled = newValue;\n }\n }\n\n\n @Listen('slotchange')\n watchHandlerSlot() {\n this.updateSlotContent();\n }\n\n\n\n // handling assignment of trigger and menu\n updateSlotContent() {\n // Get dropdown trigger. name has to start with ifx-dropdown-trigger\n this.trigger = this.el.querySelector('ifx-dropdown-trigger-button, ifx-dropdown-trigger');\n if (this.trigger) {\n (this.trigger as undefined as HTMLIfxDropdownTriggerButtonElement).disabled = this.disabled;\n this.trigger.removeEventListener('click', this.triggerClickHandler.bind(this));\n this.trigger.addEventListener('click', this.triggerClickHandler.bind(this));\n }\n // Remove menu if exists from body\n if (!this.noAppendToBody) {\n if (this.menu) {\n this.menu.remove();\n }\n // Get new menu and add to body\n this.menu = this.el.querySelector('ifx-dropdown-menu');\n\n // event handler for closing dropdown on menu click\n document.body.append(this.menu);\n } else {\n this.menu = this.el.querySelector('ifx-dropdown-menu');\n\n }\n this.menu.removeEventListener('click', this.menuClickHandler.bind(this));\n this.menu.addEventListener('click', this.menuClickHandler.bind(this));\n\n }\n\n menuClickHandler() {\n if (!this.noCloseOnMenuClick) {\n this.closeDropdown();\n }\n }\n\n triggerClickHandler() {\n if (!this.internalIsOpen) {\n this.openDropdown();\n } else {\n this.closeDropdown();\n }\n }\n\n disconnectedCallback() {\n // Destroy popper instance if exists\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n // Remove menu if exists\n if (this.menu) {\n this.menu.remove();\n }\n }\n\n @Method()\n async isOpen() {\n return this.internalIsOpen;\n }\n\n @Method()\n async closeDropdown() {\n if (this.internalIsOpen) {\n this.internalIsOpen = false;\n // sets isOpen prop on trigger and menu\n (this.trigger as unknown as IOpenable).isOpen = false;\n (this.menu as unknown as IOpenable).isOpen = false;\n // Emit close event\n this.ifxClose.emit();\n }\n // Destroy popper instance if exists\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n @Method()\n async openDropdown() {\n if (!this.internalIsOpen && !this.disabled) {\n this.internalIsOpen = true;\n // sets isOpen prop on trigger and menu\n (this.trigger as unknown as IOpenable).isOpen = true;\n (this.menu as unknown as IOpenable).isOpen = true;\n // Create popper instance for positioning\n this.popperInstance = createPopper(\n this.el,\n this.menu,\n { placement: this.placement });\n\n this.ifxOpen.emit();\n }\n }\n\n //emitted by and listening to it from the dropdown menu right now\n // @Listen('ifxDropdownMenu')\n // handleDropdownMenuEvents(event: CustomEvent) {\n // this.ifxDropdown.emit(event.detail)\n // console.log('Selected item received in higher-level parent:');\n // }\n\n @Listen('mousedown', { target: 'document' })\n handleOutsideClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n // Close dropdown if outside click\n if (!this.noCloseOnOutsideClick && !this.el.contains(target) && !this.menu.contains(target)) {\n this.closeDropdown();\n }\n }\n\n render() {\n return (\n <div aria-label='dropdown menu' class='dropdown'>\n <slot />\n </div>\n )\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as e,c as t,h as i,g as r}from"./p-b7a462e5.js";import{d as a,t as s}from"./p-ee75a0aa.js";import{i as o}from"./p-1ecafb97.js";const n='.date__picker-container{display:flex;flex-direction:column}.date__picker-container .label__wrapper{color:#1D1D1D;font:400 1rem/1.5rem "Source Sans 3"}.date__picker-container .label__wrapper .asterisk{display:none}.date__picker-container .label__wrapper .asterisk.required{display:inline;margin-left:4px}.date__picker-container .label__wrapper .asterisk.required.error{color:#CD002F}.date__picker-container.disabled .label__wrapper{color:#575352}.date__picker-container.error .caption__wrapper{color:#CD002F}.date__picker-container.disabled .caption__wrapper{color:#575352}.date__picker-container .caption__wrapper{margin-top:4px;color:#1D1D1D;font:400 0.75rem/1rem "Source Sans 3"}.date__picker-input{font-family:"Source Sans 3";outline:none;width:100%;cursor:pointer;border-radius:1px;border:1px solid #8D8786;height:100%}.date__picker-input.firefox__classes{padding:8px 16px;color:#8D8786;font-size:16px;text-transform:uppercase;font-style:normal;font-weight:400;line-height:24px;cursor:pointer}.date__picker-input:focus:not(.error,.success){border-color:#0A8276}.date__picker-input:hover:not(:disabled,:focus,.error,.success){border-color:#575352}.date__picker-input:disabled{border-color:#575352;background-color:#EEEDED}.date__picker-input.error{border-color:#CD002F}.date__picker-input.success:not(.error){border-color:#4CA460}.date__picker-input::-webkit-datetime-edit-text{color:#8D8786;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.date__picker-input.has-value::-webkit-datetime-edit-text{color:#1D1D1D}.date__picker-input.has-value::-webkit-datetime-edit{color:#1D1D1D}::-webkit-datetime-edit{color:#8D8786;font-size:16px;text-transform:uppercase;font-style:normal;font-weight:400;line-height:24px}::-webkit-datetime-edit-fields-wrapper{padding:8px 16px;padding-bottom:9px;transform:translateY(1px)}::-webkit-inner-spin-button{display:none}::-webkit-calendar-picker-indicator{position:absolute;right:15px;font-size:19px;cursor:pointer;border-radius:1px}::-webkit-calendar-picker-indicator:focus-within{outline:2px solid #0A8276;outline-offset:2px}.input__wrapper{display:flex;justify-content:space-between;align-items:center;align-self:stretch;background:#FFFFFF;position:relative}.input__wrapper.large{height:40px}.input__wrapper.small{height:36px}.input__wrapper.disabled .icon__wrapper{background-color:#EEEDED}.icon__wrapper{position:absolute;right:17px;padding:2px;display:flex;justify-content:flex-end;align-items:center;pointer-events:none;z-index:100;background-color:#FFFFFF;line-height:16px}.icon__wrapper ifx-icon{vertical-align:middle}';const c=n;const p=class{constructor(i){e(this,i);this.ifxDate=t(this,"ifxDate",7);if(i.$hostElement$["s-ei"]){this.internals=i.$hostElement$["s-ei"]}else{this.internals=i.$hostElement$.attachInternals();i.$hostElement$["s-ei"]=this.internals}this.inputId=`ifx-date-picker-${++l}`;this.size="s";this.error=false;this.success=false;this.disabled=false;this.type="date";this.required=false;this.autocomplete="on"}getDate(e){const t=e.target.value;const i=new Date(t);const r=i.getDate();const a=i.getMonth()+1;const s=i.getFullYear();if(!t){this.internals.setFormValue(null);if(this.type==="datetime-local"){const e=i.getHours();const t=i.getMinutes();this.ifxDate.emit({day:r,month:a,year:s,hours:e,minutes:t})}else{this.ifxDate.emit({day:r,month:a,year:s})}return}const o=this.el.shadowRoot.querySelector(".date__picker-input");o.classList.add("has-value");this.internals.setFormValue(i.toISOString().substring(0,10));if(this.type==="datetime-local"){const e=i.getHours();const t=i.getMinutes();this.ifxDate.emit({day:r,month:a,year:s,hours:e,minutes:t})}else{this.ifxDate.emit({day:r,month:a,year:s})}}handleInputFocusOnIconClick(){const e=this.el.shadowRoot.querySelector(".date__picker-input");if(e){e.focus()}}getBrowser(){if(navigator.userAgent.indexOf("Chrome")!=-1){return"Chrome"}else if(navigator.userAgent.indexOf("Opera")!=-1){return"Opera"}else if(navigator.userAgent.indexOf("MSIE")!=-1){return"IE"}else if(navigator.userAgent.indexOf("Firefox")!=-1){return"Firefox"}else{return"unknown"}}setFireFoxClasses(){const e=this.getBrowser();const t=this.el.shadowRoot.querySelector(".date__picker-input");if(e==="Firefox"){t.classList.add("firefox__classes")}else if(t.classList.contains("firefox__classes")){t.classList.remove("firefox__classes")}}componentDidLoad(){if(!o(this.el)){const e=a();s("ifx-date-picker",e)}this.setFireFoxClasses()}componentWillUpdate(){if(this.value){this.getDate({target:{value:this.value}})}}formResetCallback(){this.internals.setFormValue(null)}render(){var e,t;return i("div",{key:"74a0348b1bc78598825a04e0462cdcd795e90aed",class:`date__picker-container ${this.error?"error":""} ${this.disabled?"disabled":""}`},i("label",{key:"d88ad99e278405443b1bccfd44d2c3650f84f9fa",class:"label__wrapper",htmlFor:this.inputId},(e=this.label)===null||e===void 0?void 0:e.trim(),i("span",{key:"e775c64f5f1aa64e70addc710555eb636ce2f328",class:`asterisk ${this.required?"required":""} ${this.error?"error":""}`},"*")),i("div",{key:"93fa2daee0f79652d823ede1cb586b9ecee87658",class:`input__wrapper ${this.size==="l"?"large":"small"} ${this.disabled?"disabled":""}`},i("input",{key:"14dff76be07c753b8f1a9fc9f7f08c15d85b5ec5",type:this.type,autocomplete:this.autocomplete,class:`date__picker-input ${this.error?"error":""} ${this.success?"success":""}`,disabled:this.disabled?true:undefined,"aria-invalid":this.error?true:undefined,"aria-label":this.ariaLabel,max:this.max,min:this.min,value:this.value,required:this.required,onChange:e=>this.getDate(e)}),i("div",{key:"019d680213e9bcc70d0f9cd3b351941836596542",class:"icon__wrapper",role:"button",onClick:()=>this.handleInputFocusOnIconClick()},i("ifx-icon",{key:"11fb3f9a5626839973d0708c327a69c93ecd402d",icon:"calendar16","aria-hidden":"true"}))),((t=this.caption)===null||t===void 0?void 0:t.trim())&&i("div",{key:"5b35f7b0d3e76bcc81a76afba20cf69190cba53f",class:"caption__wrapper"},this.caption.trim()))}static get formAssociated(){return true}get el(){return r(this)}};let l=0;p.style=c;export{p as ifx_date_picker};
2
- //# sourceMappingURL=p-4e82822d.entry.js.map
1
+ import{r as e,c as t,h as i,g as r}from"./p-b7a462e5.js";import{d as a,t as s}from"./p-acbfa625.js";import{i as o}from"./p-1ecafb97.js";const n='.date__picker-container{display:flex;flex-direction:column}.date__picker-container .label__wrapper{color:#1D1D1D;font:400 1rem/1.5rem "Source Sans 3"}.date__picker-container .label__wrapper .asterisk{display:none}.date__picker-container .label__wrapper .asterisk.required{display:inline;margin-left:4px}.date__picker-container .label__wrapper .asterisk.required.error{color:#CD002F}.date__picker-container.disabled .label__wrapper{color:#575352}.date__picker-container.error .caption__wrapper{color:#CD002F}.date__picker-container.disabled .caption__wrapper{color:#575352}.date__picker-container .caption__wrapper{margin-top:4px;color:#1D1D1D;font:400 0.75rem/1rem "Source Sans 3"}.date__picker-input{font-family:"Source Sans 3";outline:none;width:100%;cursor:pointer;border-radius:1px;border:1px solid #8D8786;height:100%}.date__picker-input.firefox__classes{padding:8px 16px;color:#8D8786;font-size:16px;text-transform:uppercase;font-style:normal;font-weight:400;line-height:24px;cursor:pointer}.date__picker-input:focus:not(.error,.success){border-color:#0A8276}.date__picker-input:hover:not(:disabled,:focus,.error,.success){border-color:#575352}.date__picker-input:disabled{border-color:#575352;background-color:#EEEDED}.date__picker-input.error{border-color:#CD002F}.date__picker-input.success:not(.error){border-color:#4CA460}.date__picker-input::-webkit-datetime-edit-text{color:#8D8786;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.date__picker-input.has-value::-webkit-datetime-edit-text{color:#1D1D1D}.date__picker-input.has-value::-webkit-datetime-edit{color:#1D1D1D}::-webkit-datetime-edit{color:#8D8786;font-size:16px;text-transform:uppercase;font-style:normal;font-weight:400;line-height:24px}::-webkit-datetime-edit-fields-wrapper{padding:8px 16px;padding-bottom:9px;transform:translateY(1px)}::-webkit-inner-spin-button{display:none}::-webkit-calendar-picker-indicator{position:absolute;right:15px;font-size:19px;cursor:pointer;border-radius:1px}::-webkit-calendar-picker-indicator:focus-within{outline:2px solid #0A8276;outline-offset:2px}.input__wrapper{display:flex;justify-content:space-between;align-items:center;align-self:stretch;background:#FFFFFF;position:relative}.input__wrapper.large{height:40px}.input__wrapper.small{height:36px}.input__wrapper.disabled .icon__wrapper{background-color:#EEEDED}.icon__wrapper{position:absolute;right:17px;padding:2px;display:flex;justify-content:flex-end;align-items:center;pointer-events:none;z-index:100;background-color:#FFFFFF;line-height:16px}.icon__wrapper ifx-icon{vertical-align:middle}';const c=n;const p=class{constructor(i){e(this,i);this.ifxDate=t(this,"ifxDate",7);if(i.$hostElement$["s-ei"]){this.internals=i.$hostElement$["s-ei"]}else{this.internals=i.$hostElement$.attachInternals();i.$hostElement$["s-ei"]=this.internals}this.inputId=`ifx-date-picker-${++d}`;this.size="s";this.error=false;this.success=false;this.disabled=false;this.type="date";this.required=false;this.autocomplete="on"}getDate(e){const t=e.target.value;const i=new Date(t);const r=i.getDate();const a=i.getMonth()+1;const s=i.getFullYear();if(!t){this.internals.setFormValue(null);if(this.type==="datetime-local"){const e=i.getHours();const t=i.getMinutes();this.ifxDate.emit({day:r,month:a,year:s,hours:e,minutes:t})}else{this.ifxDate.emit({day:r,month:a,year:s})}return}const o=this.el.shadowRoot.querySelector(".date__picker-input");o.classList.add("has-value");this.internals.setFormValue(i.toISOString().substring(0,10));if(this.type==="datetime-local"){const e=i.getHours();const t=i.getMinutes();this.ifxDate.emit({day:r,month:a,year:s,hours:e,minutes:t})}else{this.ifxDate.emit({day:r,month:a,year:s})}}handleInputFocusOnIconClick(){const e=this.el.shadowRoot.querySelector(".date__picker-input");if(e){e.focus()}}getBrowser(){if(navigator.userAgent.indexOf("Chrome")!=-1){return"Chrome"}else if(navigator.userAgent.indexOf("Opera")!=-1){return"Opera"}else if(navigator.userAgent.indexOf("MSIE")!=-1){return"IE"}else if(navigator.userAgent.indexOf("Firefox")!=-1){return"Firefox"}else{return"unknown"}}setFireFoxClasses(){const e=this.getBrowser();const t=this.el.shadowRoot.querySelector(".date__picker-input");if(e==="Firefox"){t.classList.add("firefox__classes")}else if(t.classList.contains("firefox__classes")){t.classList.remove("firefox__classes")}}async componentDidLoad(){if(!o(this.el)){const e=a();s("ifx-date-picker",await e)}this.setFireFoxClasses()}componentWillUpdate(){if(this.value){this.getDate({target:{value:this.value}})}}formResetCallback(){this.internals.setFormValue(null)}render(){var e,t;return i("div",{key:"f875ef689c357c95a73bb541f3ac6457d6fe564c",class:`date__picker-container ${this.error?"error":""} ${this.disabled?"disabled":""}`},i("label",{key:"0d98faaa4319093e982a5d7eba2a4500bf8ceead",class:"label__wrapper",htmlFor:this.inputId},(e=this.label)===null||e===void 0?void 0:e.trim(),i("span",{key:"5b2e4e755d291daaae7c91a445f709346a6765d0",class:`asterisk ${this.required?"required":""} ${this.error?"error":""}`},"*")),i("div",{key:"6de0a53bc4d96f646845b1ee45143ec0c1d8e767",class:`input__wrapper ${this.size==="l"?"large":"small"} ${this.disabled?"disabled":""}`},i("input",{key:"5fdeb8217f0949e897639079dde94c898f859ed5",type:this.type,autocomplete:this.autocomplete,class:`date__picker-input ${this.error?"error":""} ${this.success?"success":""}`,disabled:this.disabled?true:undefined,"aria-invalid":this.error?true:undefined,"aria-label":this.ariaLabel,max:this.max,min:this.min,value:this.value,required:this.required,onChange:e=>this.getDate(e)}),i("div",{key:"6461b8951ec7cfb4ef206f85d499fa787c792bc2",class:"icon__wrapper",role:"button",onClick:()=>this.handleInputFocusOnIconClick()},i("ifx-icon",{key:"1ad41185d7c05db70102d5c5404ef19f1758e5cd",icon:"calendar16","aria-hidden":"true"}))),((t=this.caption)===null||t===void 0?void 0:t.trim())&&i("div",{key:"b81efc9cd12231b7e3c1e942d2795a23fe5230e0",class:"caption__wrapper"},this.caption.trim()))}static get formAssociated(){return true}get el(){return r(this)}};let d=0;p.style=c;export{p as ifx_date_picker};
2
+ //# sourceMappingURL=p-17a2e764.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["datePickerCss","IfxDatePickerStyle0","DatePicker","constructor","hostRef","this","inputId","datePickerId","size","error","success","disabled","type","required","autocomplete","getDate","e","inputValue","target","value","selectedDate","Date","day","month","getMonth","year","getFullYear","internals","setFormValue","hours","getHours","minutes","getMinutes","ifxDate","emit","input","el","shadowRoot","querySelector","classList","add","toISOString","substring","handleInputFocusOnIconClick","focus","getBrowser","navigator","userAgent","indexOf","setFireFoxClasses","browser","contains","remove","componentDidLoad","isNestedInIfxComponent","framework","detectFramework","trackComponent","componentWillUpdate","formResetCallback","render","h","key","class","htmlFor","_a","label","trim","undefined","ariaLabel","max","min","onChange","role","onClick","icon","_b","caption"],"sources":["src/components/date-picker/date-picker.scss?tag=ifx-date-picker&encapsulation=shadow","src/components/date-picker/date-picker.tsx"],"sourcesContent":["@use '~@infineon/design-system-tokens/dist/tokens';\n\n.date__picker-container {\n display: flex;\n flex-direction: column;\n\n & .label__wrapper {\n color: tokens.$ifxColorBaseBlack;\n font: tokens.$ifxBodyBody03;\n\n & .asterisk { \n display: none;\n &.required {\n display: inline;\n margin-left: 4px;\n \n &.error {\n color: #CD002F;\n }\n }\n }\n\n }\n\n &.disabled {\n .label__wrapper {\n color: tokens.$ifxColorEngineering500;\n }\n }\n\n &.error {\n .caption__wrapper {\n color: tokens.$ifxColorRed500;\n }\n }\n\n &.disabled {\n .caption__wrapper {\n color: tokens.$ifxColorEngineering500;\n }\n }\n\n & .caption__wrapper {\n margin-top: tokens.$ifxSpace50;\n color: tokens.$ifxColorBaseBlack;\n font: tokens.$ifxBodyBody05;\n }\n}\n\n.date__picker-input {\n font-family: 'Source Sans 3';\n outline: none;\n width: 100%;\n cursor: pointer;\n border-radius: 1px;\n border: 1px solid tokens.$ifxColorEngineering400;\n height: 100%;\n\n &.firefox__classes {\n padding: 8px 16px;\n color: tokens.$ifxColorEngineering400;\n font-size: 16px;\n text-transform: uppercase;\n font-style: normal;\n font-weight: 400;\n line-height: 24px;\n cursor: pointer;\n }\n\n &:focus:not(.error, .success) {\n border-color: tokens.$ifxColorOcean500;\n }\n\n &:hover:not(:disabled, :focus, .error, .success) {\n border-color: tokens.$ifxColorEngineering500;\n }\n\n &:disabled {\n border-color: tokens.$ifxColorEngineering500;\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &.error {\n border-color: tokens.$ifxColorRed500;\n }\n\n &.success:not(.error) {\n border-color: tokens.$ifxColorGreen500;\n }\n\n &::-webkit-datetime-edit-text {\n color: tokens.$ifxColorEngineering400;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 24px;\n }\n\n &.has-value::-webkit-datetime-edit-text {\n color: tokens.$ifxColorBaseBlack;\n }\n\n &.has-value::-webkit-datetime-edit {\n color: tokens.$ifxColorBaseBlack;\n }\n}\n\n::-webkit-datetime-edit {\n color: tokens.$ifxColorEngineering400;\n font-size: 16px;\n text-transform: uppercase;\n font-style: normal;\n font-weight: 400;\n line-height: 24px;\n}\n\n::-webkit-datetime-edit-fields-wrapper {\n padding: 8px 16px;\n padding-bottom: 9px;\n transform: translateY(1px);\n}\n\n::-webkit-inner-spin-button {\n display: none;\n}\n\n::-webkit-calendar-picker-indicator {\n position: absolute;\n right: 15px;\n font-size: 19px;\n cursor: pointer;\n border-radius: 1px;\n &:focus-within {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n }\n}\n\n.input__wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n align-self: stretch;\n background: tokens.$ifxColorBaseWhite;\n position: relative;\n &.large {\n height: 40px;\n }\n\n &.small {\n height: 36px;\n }\n\n &.disabled {\n & .icon__wrapper {\n background-color: tokens.$ifxColorEngineering200;\n }\n }\n}\n\n.icon__wrapper {\n position: absolute;\n right: 17px;\n padding: 2px;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n pointer-events: none;\n z-index: 100;\n background-color: tokens.$ifxColorBaseWhite;\n line-height: 16px;\n\n & ifx-icon {\n vertical-align: middle;\n }\n}\n","import { AttachInternals } from '@stencil/core';\nimport { Component, Prop, h, Element, Event, EventEmitter } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n \n@Component({\n tag: 'ifx-date-picker',\n styleUrl: 'date-picker.scss',\n shadow: true,\n formAssociated: true,\n})\n\nexport class DatePicker {\n private inputId: string = `ifx-date-picker-${++datePickerId}`;\n\n @Element() el: HTMLElement;\n @Prop() size: string = 's';\n @Prop() error: boolean = false;\n @Prop() success: boolean = false;\n @Prop() disabled: boolean = false;\n @Prop() ariaLabel: string | null;\n @Prop() value: string;\n @Prop() type: string = 'date'\n @Prop() max: string;\n @Prop() min: string;\n @Prop() required: boolean = false;\n @Prop() label: string;\n @Prop() caption: string;\n @Prop() autocomplete: string = 'on';\n\n @AttachInternals() internals: ElementInternals;\n\n @Event() ifxDate: EventEmitter;\n\n getDate(e) { \n const inputValue = e.target.value;\n const selectedDate = new Date(inputValue);\n const day = selectedDate.getDate();\n const month = selectedDate.getMonth() + 1; \n const year = selectedDate.getFullYear();\n\n \n \n if (!inputValue) {\n this.internals.setFormValue(null);\n\n if(this.type === 'datetime-local') { \n const hours = selectedDate.getHours();\n const minutes = selectedDate.getMinutes();\n this.ifxDate.emit({day, month, year, hours, minutes});\n } else { \n this.ifxDate.emit({day, month, year});\n }\n return;\n }\n\n const input = this.el.shadowRoot.querySelector('.date__picker-input') as HTMLInputElement;\n input.classList.add('has-value');\n\n this.internals.setFormValue(selectedDate.toISOString().substring(0,10))\n if(this.type === 'datetime-local') { \n const hours = selectedDate.getHours();\n const minutes = selectedDate.getMinutes();\n this.ifxDate.emit({day, month, year, hours, minutes});\n } else { \n this.ifxDate.emit({day, month, year})\n }\n }\n\n handleInputFocusOnIconClick() { \n const input = this.el.shadowRoot.querySelector('.date__picker-input') as HTMLInputElement;\n if(input) { \n input.focus()\n }\n }\n\n getBrowser() {\n if( navigator.userAgent.indexOf(\"Chrome\") != -1 ) {\n return \"Chrome\";\n } else if( navigator.userAgent.indexOf(\"Opera\") != -1 ) {\n return \"Opera\";\n } else if( navigator.userAgent.indexOf(\"MSIE\") != -1 ) {\n return \"IE\";\n } else if( navigator.userAgent.indexOf(\"Firefox\") != -1 ) {\n return \"Firefox\";\n } else {\n return \"unknown\";\n }\n }\n\n setFireFoxClasses() { \n const browser = this.getBrowser()\n const input = this.el.shadowRoot.querySelector('.date__picker-input');\n\n if(browser === 'Firefox') { \n input.classList.add('firefox__classes')\n } else if(input.classList.contains('firefox__classes')) { \n input.classList.remove('firefox__classes')\n }\n }\n\n componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-date-picker', framework)\n }\n this.setFireFoxClasses()\n }\n\n componentWillUpdate() { \n if (this.value) {\n this.getDate({ target: { value: this.value } });\n }\n }\n\n formResetCallback() {\n this.internals.setFormValue(null);\n }\n\n render() {\n return (\n <div class={`date__picker-container ${this.error ? 'error' : ''} ${this.disabled ? 'disabled': ''}`}>\n\n <label class='label__wrapper' htmlFor={ this.inputId }>\n { this.label?.trim() }\n <span class={`asterisk ${this.required ? 'required' : \"\"} ${this.error ? 'error' : \"\"}`}>*</span>\n </label>\n\n <div class={`input__wrapper ${this.size === 'l' ? 'large' : 'small'} ${this.disabled ? 'disabled' : ''}`}>\n <input\n type={this.type}\n autocomplete={this.autocomplete}\n class={`date__picker-input ${this.error ? 'error' : \"\"} ${this.success ? \"success\" : \"\"}`}\n disabled={this.disabled ? true : undefined}\n aria-invalid={this.error ? true : undefined}\n aria-label={this.ariaLabel}\n max={this.max}\n min={this.min}\n value={this.value}\n required={this.required}\n onChange={(e) => this.getDate(e)} />\n <div class=\"icon__wrapper\" role=\"button\" onClick={() => this.handleInputFocusOnIconClick()}>\n <ifx-icon icon='calendar16' aria-hidden=\"true\"></ifx-icon>\n </div>\n </div>\n\n { this.caption?.trim() && (\n <div class='caption__wrapper'>\n { this.caption.trim() }\n </div> \n )}\n </div>\n )\n }\n}\n\nlet datePickerId = 0;"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["datePickerCss","IfxDatePickerStyle0","DatePicker","constructor","hostRef","this","inputId","datePickerId","size","error","success","disabled","type","required","autocomplete","getDate","e","inputValue","target","value","selectedDate","Date","day","month","getMonth","year","getFullYear","internals","setFormValue","hours","getHours","minutes","getMinutes","ifxDate","emit","input","el","shadowRoot","querySelector","classList","add","toISOString","substring","handleInputFocusOnIconClick","focus","getBrowser","navigator","userAgent","indexOf","setFireFoxClasses","browser","contains","remove","componentDidLoad","isNestedInIfxComponent","framework","detectFramework","trackComponent","componentWillUpdate","formResetCallback","render","h","key","class","htmlFor","_a","label","trim","undefined","ariaLabel","max","min","onChange","role","onClick","icon","_b","caption"],"sources":["src/components/date-picker/date-picker.scss?tag=ifx-date-picker&encapsulation=shadow","src/components/date-picker/date-picker.tsx"],"sourcesContent":["@use '~@infineon/design-system-tokens/dist/tokens';\n\n.date__picker-container {\n display: flex;\n flex-direction: column;\n\n & .label__wrapper {\n color: tokens.$ifxColorBaseBlack;\n font: tokens.$ifxBodyBody03;\n\n & .asterisk { \n display: none;\n &.required {\n display: inline;\n margin-left: 4px;\n \n &.error {\n color: #CD002F;\n }\n }\n }\n\n }\n\n &.disabled {\n .label__wrapper {\n color: tokens.$ifxColorEngineering500;\n }\n }\n\n &.error {\n .caption__wrapper {\n color: tokens.$ifxColorRed500;\n }\n }\n\n &.disabled {\n .caption__wrapper {\n color: tokens.$ifxColorEngineering500;\n }\n }\n\n & .caption__wrapper {\n margin-top: tokens.$ifxSpace50;\n color: tokens.$ifxColorBaseBlack;\n font: tokens.$ifxBodyBody05;\n }\n}\n\n.date__picker-input {\n font-family: 'Source Sans 3';\n outline: none;\n width: 100%;\n cursor: pointer;\n border-radius: 1px;\n border: 1px solid tokens.$ifxColorEngineering400;\n height: 100%;\n\n &.firefox__classes {\n padding: 8px 16px;\n color: tokens.$ifxColorEngineering400;\n font-size: 16px;\n text-transform: uppercase;\n font-style: normal;\n font-weight: 400;\n line-height: 24px;\n cursor: pointer;\n }\n\n &:focus:not(.error, .success) {\n border-color: tokens.$ifxColorOcean500;\n }\n\n &:hover:not(:disabled, :focus, .error, .success) {\n border-color: tokens.$ifxColorEngineering500;\n }\n\n &:disabled {\n border-color: tokens.$ifxColorEngineering500;\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &.error {\n border-color: tokens.$ifxColorRed500;\n }\n\n &.success:not(.error) {\n border-color: tokens.$ifxColorGreen500;\n }\n\n &::-webkit-datetime-edit-text {\n color: tokens.$ifxColorEngineering400;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 24px;\n }\n\n &.has-value::-webkit-datetime-edit-text {\n color: tokens.$ifxColorBaseBlack;\n }\n\n &.has-value::-webkit-datetime-edit {\n color: tokens.$ifxColorBaseBlack;\n }\n}\n\n::-webkit-datetime-edit {\n color: tokens.$ifxColorEngineering400;\n font-size: 16px;\n text-transform: uppercase;\n font-style: normal;\n font-weight: 400;\n line-height: 24px;\n}\n\n::-webkit-datetime-edit-fields-wrapper {\n padding: 8px 16px;\n padding-bottom: 9px;\n transform: translateY(1px);\n}\n\n::-webkit-inner-spin-button {\n display: none;\n}\n\n::-webkit-calendar-picker-indicator {\n position: absolute;\n right: 15px;\n font-size: 19px;\n cursor: pointer;\n border-radius: 1px;\n &:focus-within {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n }\n}\n\n.input__wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n align-self: stretch;\n background: tokens.$ifxColorBaseWhite;\n position: relative;\n &.large {\n height: 40px;\n }\n\n &.small {\n height: 36px;\n }\n\n &.disabled {\n & .icon__wrapper {\n background-color: tokens.$ifxColorEngineering200;\n }\n }\n}\n\n.icon__wrapper {\n position: absolute;\n right: 17px;\n padding: 2px;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n pointer-events: none;\n z-index: 100;\n background-color: tokens.$ifxColorBaseWhite;\n line-height: 16px;\n\n & ifx-icon {\n vertical-align: middle;\n }\n}\n","import { AttachInternals } from '@stencil/core';\nimport { Component, Prop, h, Element, Event, EventEmitter } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n \n@Component({\n tag: 'ifx-date-picker',\n styleUrl: 'date-picker.scss',\n shadow: true,\n formAssociated: true,\n})\n\nexport class DatePicker {\n private inputId: string = `ifx-date-picker-${++datePickerId}`;\n\n @Element() el: HTMLElement;\n @Prop() size: string = 's';\n @Prop() error: boolean = false;\n @Prop() success: boolean = false;\n @Prop() disabled: boolean = false;\n @Prop() ariaLabel: string | null;\n @Prop() value: string;\n @Prop() type: string = 'date'\n @Prop() max: string;\n @Prop() min: string;\n @Prop() required: boolean = false;\n @Prop() label: string;\n @Prop() caption: string;\n @Prop() autocomplete: string = 'on';\n\n @AttachInternals() internals: ElementInternals;\n\n @Event() ifxDate: EventEmitter;\n\n getDate(e) { \n const inputValue = e.target.value;\n const selectedDate = new Date(inputValue);\n const day = selectedDate.getDate();\n const month = selectedDate.getMonth() + 1; \n const year = selectedDate.getFullYear();\n\n \n \n if (!inputValue) {\n this.internals.setFormValue(null);\n\n if(this.type === 'datetime-local') { \n const hours = selectedDate.getHours();\n const minutes = selectedDate.getMinutes();\n this.ifxDate.emit({day, month, year, hours, minutes});\n } else { \n this.ifxDate.emit({day, month, year});\n }\n return;\n }\n\n const input = this.el.shadowRoot.querySelector('.date__picker-input') as HTMLInputElement;\n input.classList.add('has-value');\n\n this.internals.setFormValue(selectedDate.toISOString().substring(0,10))\n if(this.type === 'datetime-local') { \n const hours = selectedDate.getHours();\n const minutes = selectedDate.getMinutes();\n this.ifxDate.emit({day, month, year, hours, minutes});\n } else { \n this.ifxDate.emit({day, month, year})\n }\n }\n\n handleInputFocusOnIconClick() { \n const input = this.el.shadowRoot.querySelector('.date__picker-input') as HTMLInputElement;\n if(input) { \n input.focus()\n }\n }\n\n getBrowser() {\n if( navigator.userAgent.indexOf(\"Chrome\") != -1 ) {\n return \"Chrome\";\n } else if( navigator.userAgent.indexOf(\"Opera\") != -1 ) {\n return \"Opera\";\n } else if( navigator.userAgent.indexOf(\"MSIE\") != -1 ) {\n return \"IE\";\n } else if( navigator.userAgent.indexOf(\"Firefox\") != -1 ) {\n return \"Firefox\";\n } else {\n return \"unknown\";\n }\n }\n\n setFireFoxClasses() { \n const browser = this.getBrowser()\n const input = this.el.shadowRoot.querySelector('.date__picker-input');\n\n if(browser === 'Firefox') { \n input.classList.add('firefox__classes')\n } else if(input.classList.contains('firefox__classes')) { \n input.classList.remove('firefox__classes')\n }\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-date-picker', await framework)\n }\n this.setFireFoxClasses()\n }\n\n componentWillUpdate() { \n if (this.value) {\n this.getDate({ target: { value: this.value } });\n }\n }\n\n formResetCallback() {\n this.internals.setFormValue(null);\n }\n\n render() {\n return (\n <div class={`date__picker-container ${this.error ? 'error' : ''} ${this.disabled ? 'disabled': ''}`}>\n\n <label class='label__wrapper' htmlFor={ this.inputId }>\n { this.label?.trim() }\n <span class={`asterisk ${this.required ? 'required' : \"\"} ${this.error ? 'error' : \"\"}`}>*</span>\n </label>\n\n <div class={`input__wrapper ${this.size === 'l' ? 'large' : 'small'} ${this.disabled ? 'disabled' : ''}`}>\n <input\n type={this.type}\n autocomplete={this.autocomplete}\n class={`date__picker-input ${this.error ? 'error' : \"\"} ${this.success ? \"success\" : \"\"}`}\n disabled={this.disabled ? true : undefined}\n aria-invalid={this.error ? true : undefined}\n aria-label={this.ariaLabel}\n max={this.max}\n min={this.min}\n value={this.value}\n required={this.required}\n onChange={(e) => this.getDate(e)} />\n <div class=\"icon__wrapper\" role=\"button\" onClick={() => this.handleInputFocusOnIconClick()}>\n <ifx-icon icon='calendar16' aria-hidden=\"true\"></ifx-icon>\n </div>\n </div>\n\n { this.caption?.trim() && (\n <div class='caption__wrapper'>\n { this.caption.trim() }\n </div> \n )}\n </div>\n )\n }\n}\n\nlet datePickerId = 0;"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,c as i,h as s,g as e}from"./p-b7a462e5.js";import{d as a,t as o}from"./p-ee75a0aa.js";import{i as n}from"./p-1ecafb97.js";const r=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:flex}.tabs{display:flex;font-family:var(--ifx-font-family);width:100%}.tabs.horizontal{flex-direction:column}.tabs.vertical{flex-direction:row}.tabs-list{display:flex;list-style:none;padding:0;margin:0;position:relative;font-weight:600}.tabs-list:focus-within .active-border{display:none}.active-border{content:"";position:absolute;transition:left 0.3s ease-in-out, top 0.3s ease-in-out, height 0.3s ease-in-out}.tabs.horizontal .active-border{bottom:0;left:0;height:2px;background-color:#0A8276}.tabs.vertical .tabs-list{flex-direction:column;border-bottom:none}.tabs.vertical .tab-content{padding-top:0px;padding-left:32px}.tabs:not(.vertical) .tab-item.full-width{flex:1}.tab-item{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;cursor:pointer;position:relative}.tab-item.icon__right{flex-direction:row-reverse;justify-content:flex-end}.tab-item:hover{color:#0A8276}.tab-item:active,.tab-item.active{color:#0A8276}.tab-item:focus,.tab-item.focus{outline:none;border-radius:1px;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #0A8276}.tab-item:focus+.active-border,.tab-item.focus+.active-border{display:none}.tab-item.disabled{color:#BFBBBB;pointer-events:none}.tabs.vertical .tab-item{border-right:2px solid transparent;min-width:7em}.tabs.vertical .active-border{left:0;top:0;width:2px;background-color:#0A8276}.tab-content{padding-top:24px;padding-left:0px;flex-grow:1}.tabs.small .tab-item{font-size:0.875rem}';const h=r;const l=class{constructor(s){t(this,s);this.ifxChange=i(this,"ifxChange",7);this.orientation="horizontal";this.activeTabIndex=0;this.fullWidth=false;this.internalActiveTabIndex=0;this.internalFocusedTabIndex=0;this.tabRefs=[];this.tabHeaderRefs=[];this.disabledTabs=[];this.tabObjects=[]}updateBorderOnWindowResize(){this.updateBorderAndFocus()}setActiveAndFocusedTab(t){var i;if(t>=this.tabObjects.length){t=this.tabObjects.length-1}if(t<0){t=0}if(!((i=this.tabObjects[t])===null||i===void 0?void 0:i.disabled)){this.internalActiveTabIndex=t;this.internalFocusedTabIndex=t}}handleTabHeaderChange(t){const i=t.target.getAttribute("slot").replace("tab-","");this.tabObjects[i].header=t.detail;this.tabObjects=[...this.tabObjects]}activeTabIndexChanged(t,i){if(t!==i){this.setActiveAndFocusedTab(t)}}componentWillLoad(){this.internalOrientation=this.orientation.toLowerCase()==="vertical"?"vertical":"horizontal";if(this.internalActiveTabIndex!==this.activeTabIndex){this.ifxChange.emit({previousTab:this.internalActiveTabIndex,currentTab:this.activeTabIndex})}this.onSlotChange();this.setActiveAndFocusedTab(this.activeTabIndex);this.updateTabStyles()}updateTabStyles(){this.tabHeaderRefs.forEach(((t,i)=>{t.classList.toggle("active",i===this.internalActiveTabIndex);t.setAttribute("aria-selected",i===this.internalActiveTabIndex?"true":"false")}))}reRenderBorder(){const t=this.el.shadowRoot.querySelector(".active-border");if(t&&this.tabHeaderRefs[this.internalActiveTabIndex]){if(this.orientation==="horizontal"){t.style.left=`${this.tabHeaderRefs[this.internalActiveTabIndex].offsetLeft}px`;t.style.width=`${this.tabHeaderRefs[this.internalActiveTabIndex].offsetWidth}px`;t.style.top="";t.style.height=""}else{t.style.top=`${this.tabHeaderRefs[this.internalActiveTabIndex].offsetTop}px`;t.style.height=`${this.tabHeaderRefs[this.internalActiveTabIndex].offsetHeight}px`;t.style.left="";t.style.width=""}}}onSlotChange(){const t=this.el.querySelectorAll("ifx-tab");this.tabObjects=Array.from(t).map((t=>({header:t===null||t===void 0?void 0:t.header,disabled:(t===null||t===void 0?void 0:t.disabled)===true,icon:t===null||t===void 0?void 0:t.icon,iconPosition:t===null||t===void 0?void 0:t.iconPosition})));this.tabRefs=Array.from(t);this.tabRefs.forEach(((t,i)=>{t.setAttribute("slot",`tab-${i}`)}))}setDefaultOrientation(){const t=["horizontal","vertical"];const i=this.orientation.toLowerCase();if(!t.includes(i)){this.internalOrientation="horizontal"}else this.internalOrientation=this.orientation}componentDidLoad(){if(!n(this.el)){const t=a();o("ifx-tabs",t)}this.updateBorderAndFocus();this.tabHeaderRefs.forEach(((t,i)=>{t.addEventListener("focus",this.onTabFocus(i))}))}onTabFocus(t){return()=>{this.internalFocusedTabIndex=t}}disconnectedCallback(){this.tabHeaderRefs.forEach(((t,i)=>{t.removeEventListener("focus",this.onTabFocus(i))}))}componentDidUpdate(){this.updateBorderAndFocus()}updateBorderAndFocus(){this.reRenderBorder();this.updateTabFocusability()}updateTabFocusability(){this.tabHeaderRefs.forEach(((t,i)=>{t.tabIndex=i===this.internalActiveTabIndex?0:-1}))}focusNextTab(){let t=this.internalFocusedTabIndex+1;while(t<this.tabHeaderRefs.length&&this.tabObjects[t].disabled){t++}if(t>=0&&t<this.tabHeaderRefs.length){this.internalFocusedTabIndex=t;this.tabHeaderRefs[t].focus()}}focusPreviousTab(){let t=this.internalFocusedTabIndex-1;while(t>=0&&this.tabObjects[t].disabled){t--}if(t>=0&&t<this.tabHeaderRefs.length){this.internalFocusedTabIndex=t;this.tabHeaderRefs[t].focus()}}getTabItemClass(t){const i=t===this.internalActiveTabIndex&&!this.tabObjects[t].disabled;const s=this.tabObjects[t].disabled;const e=this.tabObjects[t].iconPosition;return`tab-item ${this.fullWidth?"full-width":""} ${i?"active":""} ${s?"disabled":""} ${"icon__"+e}`}handleClick(t,i){this.ifxChange.emit({previousTab:this.internalActiveTabIndex,currentTab:i});if(!t.disabled)this.internalActiveTabIndex=i}handleKeyDown(t){if(t.key==="Tab"){if(t.shiftKey){if(this.internalFocusedTabIndex===0){return}else{t.preventDefault();this.focusPreviousTab()}}else{if(this.internalFocusedTabIndex===this.tabHeaderRefs.length-1){return}else{t.preventDefault();this.focusNextTab()}}}else if(t.key==="Enter"){const i=t.composedPath();const s=i.some((t=>this.tabHeaderRefs.includes(t)));if(!s){return}if(this.internalFocusedTabIndex!==-1&&!this.tabObjects[this.internalFocusedTabIndex].disabled){const t=this.internalActiveTabIndex;this.internalActiveTabIndex=this.internalFocusedTabIndex;this.ifxChange.emit({previousTab:t,currentTab:this.internalFocusedTabIndex})}}}render(){var t;return s("div",{key:"51e98a1dda12f755c07d85ab80a8f1e013313198","aria-label":"navigation tabs",class:`tabs ${this.internalOrientation}`},s("ul",{key:"f30f35c669f14ce97d854e8a0d7d86a1e2948366",role:"tablist",class:"tabs-list"},(t=this.tabObjects)===null||t===void 0?void 0:t.map(((t,i)=>s("li",{class:this.getTabItemClass(i),ref:t=>this.tabHeaderRefs[i]=t,onMouseDown:t=>t.preventDefault(),onClick:()=>this.handleClick(t,i),"aria-selected":i===this.internalActiveTabIndex?"true":"false","aria-disabled":t.disabled?"true":"false",role:"tab"},(t===null||t===void 0?void 0:t.icon)?s("ifx-icon",{icon:t.icon}):"",t===null||t===void 0?void 0:t.header))),s("div",{key:"18d8846d823a05ab772d23c229c0f07e2b398de6",class:"active-border"})),s("div",{key:"2801037c830b5c2486e1980fc6947d7ef7c4d6ae",class:"tab-content"},Array.from(this.tabObjects).map(((t,i)=>s("div",{style:{display:i===this.internalActiveTabIndex?"block":"none"}},s("slot",{name:`tab-${i}`}))))))}get el(){return e(this)}static get watchers(){return{activeTabIndex:["activeTabIndexChanged"]}}};l.style=h;export{l as ifx_tabs};
2
- //# sourceMappingURL=p-e2ee4d40.entry.js.map
1
+ import{r as t,c as i,h as s,g as e}from"./p-b7a462e5.js";import{d as a,t as o}from"./p-acbfa625.js";import{i as n}from"./p-1ecafb97.js";const r=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:flex}.tabs{display:flex;font-family:var(--ifx-font-family);width:100%}.tabs.horizontal{flex-direction:column}.tabs.vertical{flex-direction:row}.tabs-list{display:flex;list-style:none;padding:0;margin:0;position:relative;font-weight:600}.tabs-list:focus-within .active-border{display:none}.active-border{content:"";position:absolute;transition:left 0.3s ease-in-out, top 0.3s ease-in-out, height 0.3s ease-in-out}.tabs.horizontal .active-border{bottom:0;left:0;height:2px;background-color:#0A8276}.tabs.vertical .tabs-list{flex-direction:column;border-bottom:none}.tabs.vertical .tab-content{padding-top:0px;padding-left:32px}.tabs:not(.vertical) .tab-item.full-width{flex:1}.tab-item{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;cursor:pointer;position:relative}.tab-item.icon__right{flex-direction:row-reverse;justify-content:flex-end}.tab-item:hover{color:#0A8276}.tab-item:active,.tab-item.active{color:#0A8276}.tab-item:focus,.tab-item.focus{outline:none;border-radius:1px;box-shadow:0 0 0 2px #FFFFFF, 0 0 0 4px #0A8276}.tab-item:focus+.active-border,.tab-item.focus+.active-border{display:none}.tab-item.disabled{color:#BFBBBB;pointer-events:none}.tabs.vertical .tab-item{border-right:2px solid transparent;min-width:7em}.tabs.vertical .active-border{left:0;top:0;width:2px;background-color:#0A8276}.tab-content{padding-top:24px;padding-left:0px;flex-grow:1}.tabs.small .tab-item{font-size:0.875rem}';const h=r;const l=class{constructor(s){t(this,s);this.ifxChange=i(this,"ifxChange",7);this.orientation="horizontal";this.activeTabIndex=0;this.fullWidth=false;this.internalActiveTabIndex=0;this.internalFocusedTabIndex=0;this.tabRefs=[];this.tabHeaderRefs=[];this.disabledTabs=[];this.tabObjects=[]}updateBorderOnWindowResize(){this.updateBorderAndFocus()}setActiveAndFocusedTab(t){var i;if(t>=this.tabObjects.length){t=this.tabObjects.length-1}if(t<0){t=0}if(!((i=this.tabObjects[t])===null||i===void 0?void 0:i.disabled)){this.internalActiveTabIndex=t;this.internalFocusedTabIndex=t}}handleTabHeaderChange(t){const i=t.target.getAttribute("slot").replace("tab-","");this.tabObjects[i].header=t.detail;this.tabObjects=[...this.tabObjects]}activeTabIndexChanged(t,i){if(t!==i){this.setActiveAndFocusedTab(t)}}componentWillLoad(){this.internalOrientation=this.orientation.toLowerCase()==="vertical"?"vertical":"horizontal";if(this.internalActiveTabIndex!==this.activeTabIndex){this.ifxChange.emit({previousTab:this.internalActiveTabIndex,currentTab:this.activeTabIndex})}this.onSlotChange();this.setActiveAndFocusedTab(this.activeTabIndex);this.updateTabStyles()}updateTabStyles(){this.tabHeaderRefs.forEach(((t,i)=>{t.classList.toggle("active",i===this.internalActiveTabIndex);t.setAttribute("aria-selected",i===this.internalActiveTabIndex?"true":"false")}))}reRenderBorder(){const t=this.el.shadowRoot.querySelector(".active-border");if(t&&this.tabHeaderRefs[this.internalActiveTabIndex]){if(this.orientation==="horizontal"){t.style.left=`${this.tabHeaderRefs[this.internalActiveTabIndex].offsetLeft}px`;t.style.width=`${this.tabHeaderRefs[this.internalActiveTabIndex].offsetWidth}px`;t.style.top="";t.style.height=""}else{t.style.top=`${this.tabHeaderRefs[this.internalActiveTabIndex].offsetTop}px`;t.style.height=`${this.tabHeaderRefs[this.internalActiveTabIndex].offsetHeight}px`;t.style.left="";t.style.width=""}}}onSlotChange(){const t=this.el.querySelectorAll("ifx-tab");this.tabObjects=Array.from(t).map((t=>({header:t===null||t===void 0?void 0:t.header,disabled:(t===null||t===void 0?void 0:t.disabled)===true,icon:t===null||t===void 0?void 0:t.icon,iconPosition:t===null||t===void 0?void 0:t.iconPosition})));this.tabRefs=Array.from(t);this.tabRefs.forEach(((t,i)=>{t.setAttribute("slot",`tab-${i}`)}))}setDefaultOrientation(){const t=["horizontal","vertical"];const i=this.orientation.toLowerCase();if(!t.includes(i)){this.internalOrientation="horizontal"}else this.internalOrientation=this.orientation}async componentDidLoad(){if(!n(this.el)){const t=a();o("ifx-tabs",await t)}this.updateBorderAndFocus();this.tabHeaderRefs.forEach(((t,i)=>{t.addEventListener("focus",this.onTabFocus(i))}))}onTabFocus(t){return()=>{this.internalFocusedTabIndex=t}}disconnectedCallback(){this.tabHeaderRefs.forEach(((t,i)=>{t.removeEventListener("focus",this.onTabFocus(i))}))}componentDidUpdate(){this.updateBorderAndFocus()}updateBorderAndFocus(){this.reRenderBorder();this.updateTabFocusability()}updateTabFocusability(){this.tabHeaderRefs.forEach(((t,i)=>{t.tabIndex=i===this.internalActiveTabIndex?0:-1}))}focusNextTab(){let t=this.internalFocusedTabIndex+1;while(t<this.tabHeaderRefs.length&&this.tabObjects[t].disabled){t++}if(t>=0&&t<this.tabHeaderRefs.length){this.internalFocusedTabIndex=t;this.tabHeaderRefs[t].focus()}}focusPreviousTab(){let t=this.internalFocusedTabIndex-1;while(t>=0&&this.tabObjects[t].disabled){t--}if(t>=0&&t<this.tabHeaderRefs.length){this.internalFocusedTabIndex=t;this.tabHeaderRefs[t].focus()}}getTabItemClass(t){const i=t===this.internalActiveTabIndex&&!this.tabObjects[t].disabled;const s=this.tabObjects[t].disabled;const e=this.tabObjects[t].iconPosition;return`tab-item ${this.fullWidth?"full-width":""} ${i?"active":""} ${s?"disabled":""} ${"icon__"+e}`}handleClick(t,i){this.ifxChange.emit({previousTab:this.internalActiveTabIndex,currentTab:i});if(!t.disabled)this.internalActiveTabIndex=i}handleKeyDown(t){if(t.key==="Tab"){if(t.shiftKey){if(this.internalFocusedTabIndex===0){return}else{t.preventDefault();this.focusPreviousTab()}}else{if(this.internalFocusedTabIndex===this.tabHeaderRefs.length-1){return}else{t.preventDefault();this.focusNextTab()}}}else if(t.key==="Enter"){const i=t.composedPath();const s=i.some((t=>this.tabHeaderRefs.includes(t)));if(!s){return}if(this.internalFocusedTabIndex!==-1&&!this.tabObjects[this.internalFocusedTabIndex].disabled){const t=this.internalActiveTabIndex;this.internalActiveTabIndex=this.internalFocusedTabIndex;this.ifxChange.emit({previousTab:t,currentTab:this.internalFocusedTabIndex})}}}render(){var t;return s("div",{key:"0244ce6dc77d6da67a432dce7402452736fcacba","aria-label":"navigation tabs",class:`tabs ${this.internalOrientation}`},s("ul",{key:"a30222f3bf317a64f90c17d64f4b8a467e37da92",role:"tablist",class:"tabs-list"},(t=this.tabObjects)===null||t===void 0?void 0:t.map(((t,i)=>s("li",{class:this.getTabItemClass(i),ref:t=>this.tabHeaderRefs[i]=t,onMouseDown:t=>t.preventDefault(),onClick:()=>this.handleClick(t,i),"aria-selected":i===this.internalActiveTabIndex?"true":"false","aria-disabled":t.disabled?"true":"false",role:"tab"},(t===null||t===void 0?void 0:t.icon)?s("ifx-icon",{icon:t.icon}):"",t===null||t===void 0?void 0:t.header))),s("div",{key:"5cf174076e04f5a33b3075011f7287a083151a4e",class:"active-border"})),s("div",{key:"d1f4b3dde858228df2bae613cbcd6156b506f1bb",class:"tab-content"},Array.from(this.tabObjects).map(((t,i)=>s("div",{style:{display:i===this.internalActiveTabIndex?"block":"none"}},s("slot",{name:`tab-${i}`}))))))}get el(){return e(this)}static get watchers(){return{activeTabIndex:["activeTabIndexChanged"]}}};l.style=h;export{l as ifx_tabs};
2
+ //# sourceMappingURL=p-1baede5b.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["tabsCss","IfxTabsStyle0","IfxTabs","constructor","hostRef","this","orientation","activeTabIndex","fullWidth","internalActiveTabIndex","internalFocusedTabIndex","tabRefs","tabHeaderRefs","disabledTabs","tabObjects","updateBorderOnWindowResize","updateBorderAndFocus","setActiveAndFocusedTab","index","length","_a","disabled","handleTabHeaderChange","e","tabIndex","target","getAttribute","replace","header","detail","activeTabIndexChanged","newValue","oldValue","componentWillLoad","internalOrientation","toLowerCase","ifxChange","emit","previousTab","currentTab","onSlotChange","updateTabStyles","forEach","tab","classList","toggle","setAttribute","reRenderBorder","borderElement","el","shadowRoot","querySelector","style","left","offsetLeft","width","offsetWidth","top","height","offsetTop","offsetHeight","tabs","querySelectorAll","Array","from","map","icon","iconPosition","setDefaultOrientation","validOrientations","lowercaseOrientation","includes","componentDidLoad","isNestedInIfxComponent","framework","detectFramework","trackComponent","addEventListener","onTabFocus","disconnectedCallback","removeEventListener","componentDidUpdate","updateTabFocusability","focusNextTab","nextIndex","focus","focusPreviousTab","prevIndex","getTabItemClass","isActive","isDisabled","handleClick","handleKeyDown","ev","key","shiftKey","preventDefault","path","composedPath","isTabHeader","some","previouslyActiveTabIndex","render","h","class","role","ref","onMouseDown","event","onClick","_","display","name"],"sources":["src/components/tabs/tabs.scss?tag=ifx-tabs&encapsulation=shadow","src/components/tabs/tabs.tsx"],"sourcesContent":["//ifxTabs.scss\n@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: flex;\n}\n\n.tabs {\n display: flex;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n width: 100%;\n}\n\n.tabs.horizontal {\n flex-direction: column;\n}\n\n.tabs.vertical {\n flex-direction: row;\n}\n\n.tabs-list {\n display: flex;\n list-style: none;\n padding: 0;\n margin: 0;\n position: relative;\n font-weight: tokens.$ifxFontWeightSemibold;\n}\n\n.tabs-list:focus-within .active-border {\n display: none;\n}\n\n.active-border {\n content: \"\";\n position: absolute;\n transition: left 0.3s ease-in-out, top 0.3s ease-in-out, height 0.3s ease-in-out;\n}\n\n.tabs.horizontal .active-border {\n bottom: 0;\n left: 0;\n height: 2px;\n background-color: tokens.$ifxColorOcean500;\n}\n\n.tabs.vertical .tabs-list {\n flex-direction: column;\n border-bottom: none;\n}\n\n.tabs.vertical .tab-content {\n padding-top: 0px;\n padding-left: 32px;\n}\n\n.tabs:not(.vertical) {\n & .tab-item {\n &.full-width { \n flex: 1;\n }\n }\n}\n\n.tab-item {\n // Reduced padding values\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: tokens.$ifxSpace100 tokens.$ifxSpace200;\n cursor: pointer;\n position: relative;\n\n &.icon__right {\n flex-direction: row-reverse;\n justify-content: flex-end;\n }\n \n &:hover {\n color: tokens.$ifxColorOcean500;\n }\n \n &:active,\n &.active {\n color: tokens.$ifxColorOcean500;\n }\n\n &:focus,\n &.focus {\n outline: none;\n border-radius: 1px;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean500;\n \n // Assuming .active-border is a sibling of .tab-item\n +.active-border {\n display: none; // Hide the active border when the tab is in focus\n }\n }\n \n &.disabled {\n color: tokens.$ifxColorEngineering300;\n pointer-events: none;\n }\n}\n\n.tabs.vertical .tab-item {\n border-right: 2px solid transparent;\n min-width: 7em;\n}\n\n.tabs.vertical .active-border {\n left: 0;\n top: 0;\n width: 2px;\n background-color: tokens.$ifxColorOcean500;\n}\n\n\n.tab-content {\n padding-top: 24px;\n padding-left: 0px;\n flex-grow: 1;\n}\n\n.tabs.small .tab-item {\n font-size: tokens.$ifxFontSizeS;\n}","import { Component, h, Prop, State, Element, Listen, Event, EventEmitter, Watch } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-tabs',\n styleUrl: 'tabs.scss',\n shadow: true\n})\nexport class IfxTabs {\n @Element() el: HTMLElement;\n\n @Prop() orientation: string = \"horizontal\";\n @Prop({ mutable: true }) activeTabIndex: number = 0;\n @Prop() fullWidth: boolean = false;\n\n @State() internalOrientation: string;\n @State() internalActiveTabIndex: number = 0;\n @State() internalFocusedTabIndex: number = 0;\n @State() tabRefs: HTMLElement[] = [];\n @State() tabHeaderRefs: HTMLElement[] = [];\n @State() disabledTabs: string[] = [];\n @State() tabObjects: any[] = [];\n\n @Event() ifxChange: EventEmitter;\n\n @Listen('resize', {target: 'window'})\n updateBorderOnWindowResize() {\n this.updateBorderAndFocus();\n }\n\n setActiveAndFocusedTab(index: number) {\n if (index >= this.tabObjects.length) {\n index = this.tabObjects.length - 1;\n }\n if (index < 0) {\n index = 0;\n }\n if (!this.tabObjects[index]?.disabled) {\n this.internalActiveTabIndex = index;\n this.internalFocusedTabIndex = index;\n }\n }\n\n @Listen('tabHeaderChange')\n handleTabHeaderChange(e) { \n const tabIndex = e.target.getAttribute('slot').replace('tab-', '');\n this.tabObjects[tabIndex].header = e.detail;\n this.tabObjects = [...this.tabObjects]; \n }\n \n\n @Watch('activeTabIndex')\n activeTabIndexChanged(newValue: number, oldValue: number) {\n if (newValue !== oldValue) {\n this.setActiveAndFocusedTab(newValue);\n }\n }\n\n componentWillLoad() {\n this.internalOrientation = this.orientation.toLowerCase() === 'vertical' ? 'vertical' : 'horizontal';\n if (this.internalActiveTabIndex !== this.activeTabIndex) {\n this.ifxChange.emit({ previousTab: this.internalActiveTabIndex, currentTab: this.activeTabIndex });\n };\n this.onSlotChange();\n this.setActiveAndFocusedTab(this.activeTabIndex);\n this.updateTabStyles();\n }\n\n updateTabStyles() {\n this.tabHeaderRefs.forEach((tab, index) => {\n tab.classList.toggle('active', index === this.internalActiveTabIndex);\n tab.setAttribute('aria-selected', index === this.internalActiveTabIndex ? 'true' : 'false')\n });\n }\n\n\n // needed for smooth border transition\n reRenderBorder() {\n const borderElement = this.el.shadowRoot.querySelector('.active-border') as HTMLElement;\n if (borderElement && this.tabHeaderRefs[this.internalActiveTabIndex]) {\n if (this.orientation === 'horizontal') {\n\n borderElement.style.left = `${this.tabHeaderRefs[this.internalActiveTabIndex].offsetLeft}px`;\n borderElement.style.width = `${this.tabHeaderRefs[this.internalActiveTabIndex].offsetWidth}px`;\n borderElement.style.top = '';\n borderElement.style.height = '';\n } else {\n borderElement.style.top = `${this.tabHeaderRefs[this.internalActiveTabIndex].offsetTop}px`;\n borderElement.style.height = `${this.tabHeaderRefs[this.internalActiveTabIndex].offsetHeight}px`;\n borderElement.style.left = '';\n borderElement.style.width = '';\n }\n }\n }\n\n\n // when a slot is removed / added\n @Listen('slotchange')\n onSlotChange() {\n const tabs = this.el.querySelectorAll('ifx-tab');\n this.tabObjects = Array.from(tabs).map((tab) => {\n return {\n header: tab?.header,\n disabled: tab?.disabled === true,\n icon: tab?.icon,\n iconPosition: tab?.iconPosition\n }\n });\n\n this.tabRefs = Array.from(tabs);\n this.tabRefs.forEach((tab, index) => {\n tab.setAttribute('slot', `tab-${index}`);\n });\n }\n\n setDefaultOrientation() {\n const validOrientations = ['horizontal', 'vertical'];\n const lowercaseOrientation = this.orientation.toLowerCase();\n\n if (!validOrientations.includes(lowercaseOrientation)) {\n this.internalOrientation = 'horizontal';\n } else this.internalOrientation = this.orientation;\n }\n\n async componentDidLoad() {\n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-tabs', await framework)\n }\n this.updateBorderAndFocus();\n // Add keyboard event listeners for each tab header\n this.tabHeaderRefs.forEach((tab, index) => {\n tab.addEventListener('focus', this.onTabFocus(index));\n });\n\n }\n\n onTabFocus(index) {\n return () => {\n this.internalFocusedTabIndex = index;\n };\n }\n\n disconnectedCallback() {\n // Remove keyboard event listeners when component is unmounted\n this.tabHeaderRefs.forEach((tab, index) => {\n tab.removeEventListener('focus', this.onTabFocus(index));\n });\n }\n componentDidUpdate() {\n this.updateBorderAndFocus();\n }\n\n private updateBorderAndFocus() {\n this.reRenderBorder()\n this.updateTabFocusability();\n }\n\n private updateTabFocusability() {\n this.tabHeaderRefs.forEach((tab, index) => {\n tab.tabIndex = index === this.internalActiveTabIndex ? 0 : -1;\n })\n }\n\n\n private focusNextTab() {\n let nextIndex = this.internalFocusedTabIndex + 1;\n while (nextIndex < this.tabHeaderRefs.length && this.tabObjects[nextIndex].disabled) {\n nextIndex++;\n }\n if (nextIndex >= 0 && nextIndex < this.tabHeaderRefs.length) {\n this.internalFocusedTabIndex = nextIndex;\n this.tabHeaderRefs[nextIndex].focus();\n }\n }\n\n private focusPreviousTab() {\n let prevIndex = this.internalFocusedTabIndex - 1;\n while ((prevIndex >= 0) && (this.tabObjects[prevIndex].disabled)) {\n prevIndex--;\n }\n if ((prevIndex >= 0) && (prevIndex < this.tabHeaderRefs.length)) {\n this.internalFocusedTabIndex = prevIndex;\n this.tabHeaderRefs[prevIndex].focus();\n }\n }\n\n\n private getTabItemClass(index: number) {\n const isActive = index === this.internalActiveTabIndex && !this.tabObjects[index].disabled;\n const isDisabled = this.tabObjects[index].disabled;\n const iconPosition = this.tabObjects[index].iconPosition\n return `tab-item ${this.fullWidth ? 'full-width' : \"\"} ${isActive ? 'active' : ''} ${isDisabled ? 'disabled' : ''} ${'icon__'+iconPosition}`;\n }\n\n private handleClick(tab, index) {\n this.ifxChange.emit({ previousTab: this.internalActiveTabIndex, currentTab: index })\n if (!tab.disabled) this.internalActiveTabIndex = index;\n\n }\n\n\n\n @Listen('keydown')\n handleKeyDown(ev: KeyboardEvent) {\n if (ev.key === 'Tab') {\n\n if (ev.shiftKey) {\n // Shift + Tab\n if (this.internalFocusedTabIndex === 0) {\n // Allow default behavior to move focus out of component\n return;\n } else {\n ev.preventDefault();\n this.focusPreviousTab();\n }\n } else {\n // Tab\n if (this.internalFocusedTabIndex === this.tabHeaderRefs.length - 1) {\n // Allow default behavior to move focus out of component\n return;\n } else {\n ev.preventDefault();\n this.focusNextTab();\n }\n }\n } else if (ev.key === 'Enter') {\n const path = ev.composedPath();\n const isTabHeader = path.some(el => this.tabHeaderRefs.includes(el as HTMLElement));\n if (!isTabHeader) {\n return;\n }\n \n if (this.internalFocusedTabIndex !== -1 && !this.tabObjects[this.internalFocusedTabIndex].disabled) {\n const previouslyActiveTabIndex = this.internalActiveTabIndex;\n this.internalActiveTabIndex = this.internalFocusedTabIndex;\n this.ifxChange.emit({ previousTab: previouslyActiveTabIndex, currentTab: this.internalFocusedTabIndex })\n }\n }\n }\n\n\n render() {\n return (\n <div aria-label=\"navigation tabs\" class={`tabs ${this.internalOrientation}`}>\n <ul role=\"tablist\" class=\"tabs-list\">\n {this.tabObjects?.map((tab, index) => (\n <li\n class={this.getTabItemClass(index)}\n ref={(el) => (this.tabHeaderRefs[index] = el)}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => this.handleClick(tab, index)}\n aria-selected={index === this.internalActiveTabIndex ? 'true' : 'false'}\n aria-disabled={tab.disabled ? 'true' : 'false'}\n role=\"tab\"\n > \n {tab?.icon ? <ifx-icon icon = {tab.icon}></ifx-icon> : ''}\n {tab?.header}\n </li>\n ))}\n <div class=\"active-border\"></div>\n </ul>\n <div class=\"tab-content\">\n {Array.from(this.tabObjects).map((_, index) => (\n <div style={{ display: index === this.internalActiveTabIndex ? 'block' : 'none' }}>\n <slot name={`tab-${index}`} />\n </div>\n ))}\n </div>\n </div>\n );\n }\n\n}"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as e,h as a,g as i}from"./p-b7a462e5.js";import{d as o,t}from"./p-ee75a0aa.js";import{i as r}from"./p-1ecafb97.js";const s=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:inline-flex}.badge__container{display:inline-flex;justify-content:center;align-items:center;padding:4px 8px;gap:8px;border:1px solid #EEEDED;background-color:#EEEDED;border-radius:100px;font-family:var(--ifx-font-family);font-size:0.875rem;line-height:1.25rem;font-weight:400;color:#1D1D1D}';const n=s;const f=class{constructor(a){e(this,a)}componentDidLoad(){if(!r(this.el)){const e=o();t("ifx-badge",e)}}render(){return a("div",{key:"047c02190f5e251bada583ca9d33d74b1bf49282",class:"badge__container"},a("slot",{key:"1dbeb7f434fb60301957e842b9499929e1ec56ab"}))}get el(){return i(this)}};f.style=n;export{f as ifx_badge};
2
- //# sourceMappingURL=p-7761c8c4.entry.js.map
1
+ import{r as e,h as a,g as i}from"./p-b7a462e5.js";import{d as o,t}from"./p-acbfa625.js";import{i as r}from"./p-1ecafb97.js";const s=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:inline-flex}.badge__container{display:inline-flex;justify-content:center;align-items:center;padding:4px 8px;gap:8px;border:1px solid #EEEDED;background-color:#EEEDED;border-radius:100px;font-family:var(--ifx-font-family);font-size:0.875rem;line-height:1.25rem;font-weight:400;color:#1D1D1D}';const n=s;const f=class{constructor(a){e(this,a)}async componentDidLoad(){if(!r(this.el)){const e=o();t("ifx-badge",await e)}}render(){return a("div",{key:"44c69d2270a76422607d74bba05e797512662f3d",class:"badge__container"},a("slot",{key:"27f45fcfd63386ea536d965f3555a073ebc2e6d8"}))}get el(){return i(this)}};f.style=n;export{f as ifx_badge};
2
+ //# sourceMappingURL=p-2177cd22.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["badgeCss","IfxBadgeStyle0","Badge","componentDidLoad","isNestedInIfxComponent","this","el","framework","detectFramework","trackComponent","render","h","key","class"],"sources":["src/components/badge/badge.scss?tag=ifx-badge&encapsulation=shadow","src/components/badge/badge.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n}\n\n.badge__container {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 4px 8px;\n gap: tokens.$ifxSpace100;\n border: 1px solid tokens.$ifxColorEngineering200;\n background-color: tokens.$ifxColorEngineering200;\n border-radius: 100px;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n font-weight: 400;\n color: tokens.$ifxColorBaseBlack;\n}","import { Component, h, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-badge',\n styleUrl: 'badge.scss',\n shadow: true\n})\nexport class Badge {\n @Element() el: HTMLElement;\n\n componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-badge', framework)\n }\n }\n\n render() {\n return (\n <div class=\"badge__container\">\n <slot />\n </div>\n );\n }\n}"],"mappings":"4HAAA,MAAMA,EAAW,gXACjB,MAAAC,EAAeD,E,MCSFE,EAAK,M,yBAGf,gBAAAC,GACC,IAAIC,EAAuBC,KAAKC,IAAK,CACnC,MAAMC,EAAYC,IAClBC,EAAe,YAAaF,E,EAIhC,MAAAG,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,oBACTF,EAAA,QAAAC,IAAA,6C","ignoreList":[]}
1
+ {"version":3,"names":["badgeCss","IfxBadgeStyle0","Badge","componentDidLoad","isNestedInIfxComponent","this","el","framework","detectFramework","trackComponent","render","h","key","class"],"sources":["src/components/badge/badge.scss?tag=ifx-badge&encapsulation=shadow","src/components/badge/badge.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n}\n\n.badge__container {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 4px 8px;\n gap: tokens.$ifxSpace100;\n border: 1px solid tokens.$ifxColorEngineering200;\n background-color: tokens.$ifxColorEngineering200;\n border-radius: 100px;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n font-weight: 400;\n color: tokens.$ifxColorBaseBlack;\n}","import { Component, h, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-badge',\n styleUrl: 'badge.scss',\n shadow: true\n})\nexport class Badge {\n @Element() el: HTMLElement;\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-badge', await framework)\n }\n }\n\n render() {\n return (\n <div class=\"badge__container\">\n <slot />\n </div>\n );\n }\n}"],"mappings":"4HAAA,MAAMA,EAAW,gXACjB,MAAAC,EAAeD,E,MCSFE,EAAK,M,yBAGf,sBAAMC,GACL,IAAIC,EAAuBC,KAAKC,IAAK,CACnC,MAAMC,EAAYC,IAClBC,EAAe,kBAAmBF,E,EAItC,MAAAG,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,oBACTF,EAAA,QAAAC,IAAA,6C","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as a,c as s,h as e,g as r}from"./p-b7a462e5.js";import{d as i,t}from"./p-ee75a0aa.js";import{i as h}from"./p-1ecafb97.js";const o=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{width:100%;display:flex}.search-bar{box-sizing:border-box;height:40px;background-color:#FFFFFF;display:flex;flex-direction:row;align-items:center;width:100%;font-family:var(--ifx-font-family)}.search-bar.closed{display:flex;width:auto;justify-content:flex-start}.search-bar .search-bar-wrapper{display:flex;align-items:center;gap:16px;width:100%}.search-bar .search-bar-wrapper a{text-decoration:none;font-size:1rem;font-style:normal;font-weight:600;line-height:1.5rem;color:#0A8276;cursor:pointer}.search-bar .search-bar-wrapper ifx-search-field{width:100%}.search-bar .search-bar__icon-wrapper{display:none;flex-direction:row;align-items:center}.search-bar .search-bar__icon-wrapper ifx-icon:hover{cursor:pointer}.search-bar.closed .search-bar__icon-wrapper{display:flex}.search-bar.closed .search-bar-wrapper{display:none}';const c=o;const n=class{constructor(e){a(this,e);this.ifxInput=s(this,"ifxInput",7);this.ifxOpen=s(this,"ifxOpen",7);this.isOpen=true;this.disabled=false;this.autocomplete="on";this.handleCloseButton=()=>{this.internalState=!this.internalState;this.ifxOpen.emit(this.internalState)};this.handleFocus=()=>{this.internalState=true}}async onNavbarMobile(){this.ifxOpen.emit(false);this.internalState=false}handlePropChange(){this.internalState=this.isOpen}setInitialState(){this.internalState=this.isOpen}componentWillLoad(){this.setInitialState();this.ifxOpen.emit(this.internalState)}componentDidLoad(){if(!h(this.el)){const a=i();t("ifx-search-bar",a)}}handleInput(a){this.value=a.detail}render(){return e("div",{key:"20fa4657f0e623c108af83270d2962345b936f7f","aria-label":"a search bar","aria-disabled":this.disabled,class:`search-bar ${this.internalState?"open":"closed"}`},this.internalState?e("div",{class:"search-bar-wrapper"},e("ifx-search-field",{autocomplete:this.autocomplete,disabled:this.disabled,value:this.value,maxlength:this.maxlength,onIfxInput:this.handleInput.bind(this)},e("ifx-icon",{icon:"search-16",slot:"search-icon"})),e("a",{tabindex:"-1",href:"javascript:void(0)",onClick:this.handleCloseButton},"Close")):e("div",{class:"search-bar__icon-wrapper",onClick:this.handleCloseButton},e("ifx-icon",{icon:"search-16"})))}get el(){return r(this)}static get watchers(){return{isOpen:["handlePropChange"]}}};n.style=c;export{n as ifx_search_bar};
2
- //# sourceMappingURL=p-60964f64.entry.js.map
1
+ import{r as a,c as s,h as e,g as i}from"./p-b7a462e5.js";import{d as r,t}from"./p-acbfa625.js";import{i as h}from"./p-1ecafb97.js";const o=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{width:100%;display:flex}.search-bar{box-sizing:border-box;height:40px;background-color:#FFFFFF;display:flex;flex-direction:row;align-items:center;width:100%;font-family:var(--ifx-font-family)}.search-bar.closed{display:flex;width:auto;justify-content:flex-start}.search-bar .search-bar-wrapper{display:flex;align-items:center;gap:16px;width:100%}.search-bar .search-bar-wrapper a{text-decoration:none;font-size:1rem;font-style:normal;font-weight:600;line-height:1.5rem;color:#0A8276;cursor:pointer}.search-bar .search-bar-wrapper ifx-search-field{width:100%}.search-bar .search-bar__icon-wrapper{display:none;flex-direction:row;align-items:center}.search-bar .search-bar__icon-wrapper ifx-icon:hover{cursor:pointer}.search-bar.closed .search-bar__icon-wrapper{display:flex}.search-bar.closed .search-bar-wrapper{display:none}';const c=o;const n=class{constructor(e){a(this,e);this.ifxInput=s(this,"ifxInput",7);this.ifxOpen=s(this,"ifxOpen",7);this.isOpen=true;this.disabled=false;this.autocomplete="on";this.handleCloseButton=()=>{this.internalState=!this.internalState;this.ifxOpen.emit(this.internalState)};this.handleFocus=()=>{this.internalState=true}}async onNavbarMobile(){this.ifxOpen.emit(false);this.internalState=false}handlePropChange(){this.internalState=this.isOpen}setInitialState(){this.internalState=this.isOpen}componentWillLoad(){this.setInitialState();this.ifxOpen.emit(this.internalState)}async componentDidLoad(){if(!h(this.el)){const a=r();t("ifx-search-bar",await a)}}handleInput(a){this.value=a.detail}render(){return e("div",{key:"c129da69eba4feb77402b4e556f754184713ccd5","aria-label":"a search bar","aria-disabled":this.disabled,class:`search-bar ${this.internalState?"open":"closed"}`},this.internalState?e("div",{class:"search-bar-wrapper"},e("ifx-search-field",{autocomplete:this.autocomplete,disabled:this.disabled,value:this.value,maxlength:this.maxlength,onIfxInput:this.handleInput.bind(this)},e("ifx-icon",{icon:"search-16",slot:"search-icon"})),e("a",{tabindex:"-1",href:"javascript:void(0)",onClick:this.handleCloseButton},"Close")):e("div",{class:"search-bar__icon-wrapper",onClick:this.handleCloseButton},e("ifx-icon",{icon:"search-16"})))}get el(){return i(this)}static get watchers(){return{isOpen:["handlePropChange"]}}};n.style=c;export{n as ifx_search_bar};
2
+ //# sourceMappingURL=p-29e20541.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["searchBarCss","IfxSearchBarStyle0","SearchBar","constructor","hostRef","this","isOpen","disabled","autocomplete","handleCloseButton","internalState","ifxOpen","emit","handleFocus","onNavbarMobile","handlePropChange","setInitialState","componentWillLoad","componentDidLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","handleInput","event","value","detail","render","h","key","class","maxlength","onIfxInput","bind","icon","slot","tabindex","href","onClick"],"sources":["src/components/search-bar/search-bar.scss?tag=ifx-search-bar&encapsulation=shadow","src/components/search-bar/search-bar.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n width: 100%; //revert\n display: flex;\n}\n\n.search-bar {\n box-sizing: border-box;\n height: tokens.$ifxSize500;\n background-color: tokens.$ifxColorBaseWhite;\n display: flex;\n flex-direction: row;\n align-items: center;\n width: 100%;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n &.closed {\n display: flex;\n width: auto;\n justify-content: flex-start;\n }\n\n & .search-bar-wrapper {\n display: flex;\n align-items: center;\n gap: tokens.$ifxSpace200;\n width: 100%;\n\n & a {\n text-decoration: none;\n font-size: tokens.$ifxFontSizeM;\n font-style: normal;\n font-weight: tokens.$ifxFontWeightSemibold;\n line-height: tokens.$ifxLineHeightM;\n color: tokens.$ifxColorOcean500;\n cursor: pointer;\n }\n\n & ifx-search-field {\n width: 100%;\n }\n }\n\n .search-bar__icon-wrapper {\n display: none;\n flex-direction: row;\n align-items: center;\n\n & ifx-icon:hover {\n cursor: pointer;\n }\n }\n\n &.closed {\n .search-bar__icon-wrapper {\n display: flex;\n }\n\n .search-bar-wrapper {\n display: none;\n }\n }\n}","import { Component, h, Prop, Event, EventEmitter, State, Watch, Element, Method } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-search-bar',\n styleUrl: 'search-bar.scss',\n shadow: true,\n})\nexport class SearchBar {\n @Prop() isOpen: boolean = true;\n @Prop() disabled: boolean = false;\n @State() internalState: boolean;\n @Prop({ mutable: true }) value: string;\n @Prop() maxlength?: number;\n @Event() ifxInput: EventEmitter;\n @Event() ifxOpen: EventEmitter;\n @Prop() autocomplete: string = \"on\";\n @Element() el;\n\n @Method()\n async onNavbarMobile() {\n this.ifxOpen.emit(false)\n this.internalState = false;\n }\n\n @Watch('isOpen')\n handlePropChange() {\n this.internalState = this.isOpen;\n }\n\n handleCloseButton = () => {\n this.internalState = !this.internalState;\n this.ifxOpen.emit(this.internalState)\n }\n\n setInitialState() {\n this.internalState = this.isOpen;\n }\n\n componentWillLoad() {\n this.setInitialState();\n this.ifxOpen.emit(this.internalState)\n }\n\n componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-search-bar', framework)\n }\n }\n\n handleInput(event: CustomEvent) {\n this.value = event.detail;\n }\n\n handleFocus = () => {\n this.internalState = true;\n }\n\n\n render() {\n return (\n <div aria-label='a search bar' aria-disabled={this.disabled} class={`search-bar ${this.internalState ? 'open' : 'closed'}`}>\n {this.internalState ? (\n <div class=\"search-bar-wrapper\">\n <ifx-search-field autocomplete={this.autocomplete} disabled={this.disabled} value={this.value} maxlength={this.maxlength} onIfxInput={this.handleInput.bind(this)}>\n <ifx-icon icon=\"search-16\" slot=\"search-icon\"></ifx-icon>\n </ifx-search-field>\n\n <a tabindex=\"-1\" href='javascript:void(0)' onClick={this.handleCloseButton}>Close</a>\n </div>\n ) : (\n <div class=\"search-bar__icon-wrapper\" onClick={this.handleCloseButton}>\n <ifx-icon icon=\"search-16\"></ifx-icon>\n </div>\n )}\n </div>\n );\n }\n}\n"],"mappings":"mIAAA,MAAMA,EAAe,+3BACrB,MAAAC,EAAeD,E,MCSFE,EAAS,MALtB,WAAAC,CAAAC,G,8EAMUC,KAAAC,OAAkB,KAClBD,KAAAE,SAAoB,MAMnBF,KAAAG,aAAuB,KAchCH,KAAAI,kBAAoB,KAClBJ,KAAKK,eAAiBL,KAAKK,cAC3BL,KAAKM,QAAQC,KAAKP,KAAKK,cAAc,EAuBvCL,KAAAQ,YAAc,KACZR,KAAKK,cAAgB,IAAI,C,CApC3B,oBAAMI,GACJT,KAAKM,QAAQC,KAAK,OAClBP,KAAKK,cAAgB,K,CAIvB,gBAAAK,GACEV,KAAKK,cAAgBL,KAAKC,M,CAQ5B,eAAAU,GACEX,KAAKK,cAAgBL,KAAKC,M,CAG5B,iBAAAW,GACEZ,KAAKW,kBACLX,KAAKM,QAAQC,KAAKP,KAAKK,c,CAGzB,gBAAAQ,GACE,IAAIC,EAAuBd,KAAKe,IAAK,CACnC,MAAMC,EAAYC,IAClBC,EAAe,iBAAkBF,E,EAIrC,WAAAG,CAAYC,GACVpB,KAAKqB,MAAQD,EAAME,M,CAQrB,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,wDAAgB,eAAc,gBAAgBzB,KAAKE,SAAUwB,MAAO,cAAc1B,KAAKK,cAAgB,OAAS,YAC7GL,KAAKK,cACJmB,EAAA,OAAKE,MAAM,sBACTF,EAAA,oBAAkBrB,aAAcH,KAAKG,aAAcD,SAAUF,KAAKE,SAAUmB,MAAOrB,KAAKqB,MAAOM,UAAW3B,KAAK2B,UAAWC,WAAY5B,KAAKmB,YAAYU,KAAK7B,OAC1JwB,EAAA,YAAUM,KAAK,YAAYC,KAAK,iBAGlCP,EAAA,KAAGQ,SAAS,KAAKC,KAAK,qBAAqBC,QAASlC,KAAKI,mBAAiB,UAG5EoB,EAAA,OAAKE,MAAM,2BAA2BQ,QAASlC,KAAKI,mBAClDoB,EAAA,YAAUM,KAAK,e","ignoreList":[]}
1
+ {"version":3,"names":["searchBarCss","IfxSearchBarStyle0","SearchBar","constructor","hostRef","this","isOpen","disabled","autocomplete","handleCloseButton","internalState","ifxOpen","emit","handleFocus","onNavbarMobile","handlePropChange","setInitialState","componentWillLoad","componentDidLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","handleInput","event","value","detail","render","h","key","class","maxlength","onIfxInput","bind","icon","slot","tabindex","href","onClick"],"sources":["src/components/search-bar/search-bar.scss?tag=ifx-search-bar&encapsulation=shadow","src/components/search-bar/search-bar.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n width: 100%; //revert\n display: flex;\n}\n\n.search-bar {\n box-sizing: border-box;\n height: tokens.$ifxSize500;\n background-color: tokens.$ifxColorBaseWhite;\n display: flex;\n flex-direction: row;\n align-items: center;\n width: 100%;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n &.closed {\n display: flex;\n width: auto;\n justify-content: flex-start;\n }\n\n & .search-bar-wrapper {\n display: flex;\n align-items: center;\n gap: tokens.$ifxSpace200;\n width: 100%;\n\n & a {\n text-decoration: none;\n font-size: tokens.$ifxFontSizeM;\n font-style: normal;\n font-weight: tokens.$ifxFontWeightSemibold;\n line-height: tokens.$ifxLineHeightM;\n color: tokens.$ifxColorOcean500;\n cursor: pointer;\n }\n\n & ifx-search-field {\n width: 100%;\n }\n }\n\n .search-bar__icon-wrapper {\n display: none;\n flex-direction: row;\n align-items: center;\n\n & ifx-icon:hover {\n cursor: pointer;\n }\n }\n\n &.closed {\n .search-bar__icon-wrapper {\n display: flex;\n }\n\n .search-bar-wrapper {\n display: none;\n }\n }\n}","import { Component, h, Prop, Event, EventEmitter, State, Watch, Element, Method } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-search-bar',\n styleUrl: 'search-bar.scss',\n shadow: true,\n})\nexport class SearchBar {\n @Prop() isOpen: boolean = true;\n @Prop() disabled: boolean = false;\n @State() internalState: boolean;\n @Prop({ mutable: true }) value: string;\n @Prop() maxlength?: number;\n @Event() ifxInput: EventEmitter;\n @Event() ifxOpen: EventEmitter;\n @Prop() autocomplete: string = \"on\";\n @Element() el;\n\n @Method()\n async onNavbarMobile() {\n this.ifxOpen.emit(false)\n this.internalState = false;\n }\n\n @Watch('isOpen')\n handlePropChange() {\n this.internalState = this.isOpen;\n }\n\n handleCloseButton = () => {\n this.internalState = !this.internalState;\n this.ifxOpen.emit(this.internalState)\n }\n\n setInitialState() {\n this.internalState = this.isOpen;\n }\n\n componentWillLoad() {\n this.setInitialState();\n this.ifxOpen.emit(this.internalState)\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-search-bar', await framework)\n }\n }\n\n handleInput(event: CustomEvent) {\n this.value = event.detail;\n }\n\n handleFocus = () => {\n this.internalState = true;\n }\n\n\n render() {\n return (\n <div aria-label='a search bar' aria-disabled={this.disabled} class={`search-bar ${this.internalState ? 'open' : 'closed'}`}>\n {this.internalState ? (\n <div class=\"search-bar-wrapper\">\n <ifx-search-field autocomplete={this.autocomplete} disabled={this.disabled} value={this.value} maxlength={this.maxlength} onIfxInput={this.handleInput.bind(this)}>\n <ifx-icon icon=\"search-16\" slot=\"search-icon\"></ifx-icon>\n </ifx-search-field>\n\n <a tabindex=\"-1\" href='javascript:void(0)' onClick={this.handleCloseButton}>Close</a>\n </div>\n ) : (\n <div class=\"search-bar__icon-wrapper\" onClick={this.handleCloseButton}>\n <ifx-icon icon=\"search-16\"></ifx-icon>\n </div>\n )}\n </div>\n );\n }\n}\n"],"mappings":"mIAAA,MAAMA,EAAe,+3BACrB,MAAAC,EAAeD,E,MCSFE,EAAS,MALtB,WAAAC,CAAAC,G,8EAMUC,KAAAC,OAAkB,KAClBD,KAAAE,SAAoB,MAMnBF,KAAAG,aAAuB,KAchCH,KAAAI,kBAAoB,KAClBJ,KAAKK,eAAiBL,KAAKK,cAC3BL,KAAKM,QAAQC,KAAKP,KAAKK,cAAc,EAuBvCL,KAAAQ,YAAc,KACZR,KAAKK,cAAgB,IAAI,C,CApC3B,oBAAMI,GACJT,KAAKM,QAAQC,KAAK,OAClBP,KAAKK,cAAgB,K,CAIvB,gBAAAK,GACEV,KAAKK,cAAgBL,KAAKC,M,CAQ5B,eAAAU,GACEX,KAAKK,cAAgBL,KAAKC,M,CAG5B,iBAAAW,GACEZ,KAAKW,kBACLX,KAAKM,QAAQC,KAAKP,KAAKK,c,CAGzB,sBAAMQ,GACJ,IAAIC,EAAuBd,KAAKe,IAAK,CACnC,MAAMC,EAAYC,IAClBC,EAAe,uBAAwBF,E,EAI3C,WAAAG,CAAYC,GACVpB,KAAKqB,MAAQD,EAAME,M,CAQrB,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,wDAAgB,eAAc,gBAAgBzB,KAAKE,SAAUwB,MAAO,cAAc1B,KAAKK,cAAgB,OAAS,YAC7GL,KAAKK,cACJmB,EAAA,OAAKE,MAAM,sBACTF,EAAA,oBAAkBrB,aAAcH,KAAKG,aAAcD,SAAUF,KAAKE,SAAUmB,MAAOrB,KAAKqB,MAAOM,UAAW3B,KAAK2B,UAAWC,WAAY5B,KAAKmB,YAAYU,KAAK7B,OAC1JwB,EAAA,YAAUM,KAAK,YAAYC,KAAK,iBAGlCP,EAAA,KAAGQ,SAAS,KAAKC,KAAK,qBAAqBC,QAASlC,KAAKI,mBAAiB,UAG5EoB,EAAA,OAAKE,MAAM,2BAA2BQ,QAASlC,KAAKI,mBAClDoB,EAAA,YAAUM,KAAK,e","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as o,h as r,g as e}from"./p-b7a462e5.js";import{d as n,t as d}from"./p-ee75a0aa.js";import{i as a}from"./p-1ecafb97.js";const i=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:inline-block}.container{display:flex;min-height:1.25em;align-items:center;padding:0 8px;border-radius:9999px;font-family:var(--ifx-font-family)}.container.no-border{padding:0}.container.border-engineering-100{border:1px solid #F7F7F7}.container.border-engineering-200{border:1px solid #EEEDED}.container.border-engineering-300{border:1px solid #BFBBBB}.container.border-engineering-400{border:1px solid #8D8786}.container.border-engineering-500{border:1px solid #575352}.container.border-engineering-600{border:1px solid #3C3A39}.container.border-ocean-100{border:1px solid #DFF4F3}.container.border-ocean-200{border:1px solid #B8DEDA}.container.border-ocean-300{border:1px solid #6CB4AD}.container.border-ocean-400{border:1px solid #3B9B91}.container.border-ocean-500{border:1px solid #0A8276}.container.border-ocean-600{border:1px solid #08665C}.container.border-ocean-700{border:1px solid #06534B}.container.border-red-500{border:1px solid #CD002F}.container.border-red-600{border:1px solid #A2001E}.container.border-red-700{border:1px solid #900021}.container.border-orange-500{border:1px solid #E16B25}.container.border-green-500{border:1px solid #4CA460}.container.border-lawn-400{border:1px solid #B9D257}.container.border-lawn-500{border:1px solid #9BBA43}.container.border-lawn-700{border:1px solid #3C6C0F}.container.border-berry-400{border:1px solid #BE3283}.container.border-berry-500{border:1px solid #9C216E}.container.border-sun-400{border:1px solid #FF9737}.container.border-sun-500{border:1px solid #F97414}.container.border-sand-400{border:1px solid #FBE273}.container.border-sand-500{border:1px solid #FCD442}.text{margin:0;padding-left:4px;font-style:normal;font-weight:600;font-size:1rem;line-height:1.25rem;display:inline;color:#1D1D1D}.dot{display:inline-block;width:8px;height:8px;border-radius:9999px}.dot.engineering-100{background-color:#F7F7F7}.dot.engineering-200{background-color:#EEEDED}.dot.engineering-300{background-color:#BFBBBB}.dot.engineering-400{background-color:#8D8786}.dot.engineering-500{background-color:#575352}.dot.engineering-600{background-color:#3C3A39}.dot.ocean-100{background-color:#DFF4F3}.dot.ocean-200{background-color:#B8DEDA}.dot.ocean-300{background-color:#6CB4AD}.dot.ocean-400{background-color:#3B9B91}.dot.ocean-500{background-color:#0A8276}.dot.ocean-600{background-color:#08665C}.dot.ocean-700{background-color:#06534B}.dot.red-500{background-color:#CD002F}.dot.red-600{background-color:#A2001E}.dot.red-700{background-color:#900021}.dot.orange-500{background-color:#E16B25}.dot.green-500{background-color:#4CA460}.dot.lawn-400{background-color:#B9D257}.dot.lawn-500{background-color:#9BBA43}.dot.lawn-700{background-color:#3C6C0F}.dot.berry-400{background-color:#BE3283}.dot.berry-500{background-color:#9C216E}.dot.sun-400{background-color:#FF9737}.dot.sun-500{background-color:#F97414}.dot.sand-400{background-color:#FBE273}.dot.sand-500{background-color:#FCD442}';const c=i;const t=class{constructor(r){o(this,r);this.border=false;this.color="orange-500"}componentDidLoad(){if(!a(this.el)){const o=n();d("ifx-status",o)}}render(){var o;const e=((o=this.color)===null||o===void 0?void 0:o.trim())?this.color:"orange-500";const n=this.border?`container border-${e}`:"container no-border";return r("div",{key:"b9b5b96a361c6bbe91c25ee4fe3f31d17a54f99a","aria-label":"a status indicator","aria-value":this.label,class:n},r("span",{key:"ab2bdff7227c2ae8230d80eb5ef675b76e6ba794",class:`dot ${e}`}),r("p",{key:"14a81a557a54ab2b654cd1b83749b4dc1750ce32",class:"text"},this.label))}get el(){return e(this)}};t.style=c;export{t as ifx_status};
2
- //# sourceMappingURL=p-0eeaeb0b.entry.js.map
1
+ import{r as o,h as r,g as e}from"./p-b7a462e5.js";import{d as n,t as d}from"./p-acbfa625.js";import{i as a}from"./p-1ecafb97.js";const i=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:inline-block}.container{display:flex;min-height:1.25em;align-items:center;padding:0 8px;border-radius:9999px;font-family:var(--ifx-font-family)}.container.no-border{padding:0}.container.border-engineering-100{border:1px solid #F7F7F7}.container.border-engineering-200{border:1px solid #EEEDED}.container.border-engineering-300{border:1px solid #BFBBBB}.container.border-engineering-400{border:1px solid #8D8786}.container.border-engineering-500{border:1px solid #575352}.container.border-engineering-600{border:1px solid #3C3A39}.container.border-ocean-100{border:1px solid #DFF4F3}.container.border-ocean-200{border:1px solid #B8DEDA}.container.border-ocean-300{border:1px solid #6CB4AD}.container.border-ocean-400{border:1px solid #3B9B91}.container.border-ocean-500{border:1px solid #0A8276}.container.border-ocean-600{border:1px solid #08665C}.container.border-ocean-700{border:1px solid #06534B}.container.border-red-500{border:1px solid #CD002F}.container.border-red-600{border:1px solid #A2001E}.container.border-red-700{border:1px solid #900021}.container.border-orange-500{border:1px solid #E16B25}.container.border-green-500{border:1px solid #4CA460}.container.border-lawn-400{border:1px solid #B9D257}.container.border-lawn-500{border:1px solid #9BBA43}.container.border-lawn-700{border:1px solid #3C6C0F}.container.border-berry-400{border:1px solid #BE3283}.container.border-berry-500{border:1px solid #9C216E}.container.border-sun-400{border:1px solid #FF9737}.container.border-sun-500{border:1px solid #F97414}.container.border-sand-400{border:1px solid #FBE273}.container.border-sand-500{border:1px solid #FCD442}.text{margin:0;padding-left:4px;font-style:normal;font-weight:600;font-size:1rem;line-height:1.25rem;display:inline;color:#1D1D1D}.dot{display:inline-block;width:8px;height:8px;border-radius:9999px}.dot.engineering-100{background-color:#F7F7F7}.dot.engineering-200{background-color:#EEEDED}.dot.engineering-300{background-color:#BFBBBB}.dot.engineering-400{background-color:#8D8786}.dot.engineering-500{background-color:#575352}.dot.engineering-600{background-color:#3C3A39}.dot.ocean-100{background-color:#DFF4F3}.dot.ocean-200{background-color:#B8DEDA}.dot.ocean-300{background-color:#6CB4AD}.dot.ocean-400{background-color:#3B9B91}.dot.ocean-500{background-color:#0A8276}.dot.ocean-600{background-color:#08665C}.dot.ocean-700{background-color:#06534B}.dot.red-500{background-color:#CD002F}.dot.red-600{background-color:#A2001E}.dot.red-700{background-color:#900021}.dot.orange-500{background-color:#E16B25}.dot.green-500{background-color:#4CA460}.dot.lawn-400{background-color:#B9D257}.dot.lawn-500{background-color:#9BBA43}.dot.lawn-700{background-color:#3C6C0F}.dot.berry-400{background-color:#BE3283}.dot.berry-500{background-color:#9C216E}.dot.sun-400{background-color:#FF9737}.dot.sun-500{background-color:#F97414}.dot.sand-400{background-color:#FBE273}.dot.sand-500{background-color:#FCD442}';const c=i;const t=class{constructor(r){o(this,r);this.border=false;this.color="orange-500"}async componentDidLoad(){if(!a(this.el)){const o=n();d("ifx-status",await o)}}render(){var o;const e=((o=this.color)===null||o===void 0?void 0:o.trim())?this.color:"orange-500";const n=this.border?`container border-${e}`:"container no-border";return r("div",{key:"3497163896bfe9dcfa0b3598414823c57c1f5bcd","aria-label":"a status indicator","aria-value":this.label,class:n},r("span",{key:"9ae1b7fd87f9fa5fcb0fafb66694fe51457a1919",class:`dot ${e}`}),r("p",{key:"0ae2348bb56a5b972b2d7d230c8c8a557b213d40",class:"text"},this.label))}get el(){return e(this)}};t.style=c;export{t as ifx_status};
2
+ //# sourceMappingURL=p-2a6bbb1f.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["statusCss","IfxStatusStyle0","Status","constructor","hostRef","this","border","color","componentDidLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","render","effectiveColor","_a","trim","containerClass","h","key","label","class"],"sources":["src/components/status/status.scss?tag=ifx-status&encapsulation=shadow","src/components/status/status.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-block;\n}\n\n.container {\n display: flex;\n min-height: 1.25em;\n align-items: center;\n padding: 0 tokens.$ifxSpace100;\n border-radius: tokens.$ifxBorderRadiusRound;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n &.no-border {\n padding: 0; // Remove padding when border is not present\n }\n\n &.border-engineering-100{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering100;\n }\n\n &.border-engineering-200{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering200;\n }\n\n &.border-engineering-300{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering300;\n }\n\n &.border-engineering-400{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering400;\n }\n\n &.border-engineering-500{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering500;\n }\n\n &.border-engineering-600{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering600;\n }\n\n &.border-ocean-100 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean100;\n }\n\n &.border-ocean-200 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean200;\n }\n\n &.border-ocean-300 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean300;\n }\n\n &.border-ocean-400 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean400;\n }\n\n &.border-ocean-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean500;\n }\n\n &.border-ocean-600 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean600;\n }\n\n &.border-ocean-700 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean700;\n }\n\n &.border-red-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorRed500;\n }\n\n &.border-red-600 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorRed600;\n }\n\n &.border-red-700 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorRed700;\n }\n\n &.border-orange-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOrange500;\n }\n\n &.border-green-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorGreen500;\n }\n\n &.border-lawn-400 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorLawn400;\n }\n\n &.border-lawn-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorLawn500;\n }\n\n &.border-lawn-700 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorLawn700;\n }\n\n &.border-berry-400 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorBerry400;\n }\n\n &.border-berry-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorBerry500;\n }\n\n &.border-sun-400 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorSun400;\n }\n\n &.border-sun-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorSun500;\n }\n\n &.border-sand-400{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorSand400;\n }\n\n &.border-sand-500{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorSand500;\n }\n\n\n}\n\n.text {\n margin: 0;\n padding-left: tokens.$ifxSpace50;\n font-style: normal;\n font-weight: tokens.$ifxFontWeightSemibold;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightS;\n display: inline;\n color: tokens.$ifxColorBaseBlack;\n}\n\n.dot {\n display: inline-block;\n width: tokens.$ifxSize100;\n height: tokens.$ifxSize100;\n border-radius: tokens.$ifxBorderRadiusRound;\n}\n\n\n.dot {\n &.engineering-100 {\n background-color: tokens.$ifxColorEngineering100;\n }\n\n &.engineering-200 {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &.engineering-300 {\n background-color: tokens.$ifxColorEngineering300;\n }\n\n &.engineering-400 {\n background-color: tokens.$ifxColorEngineering400;\n }\n\n &.engineering-500 {\n background-color: tokens.$ifxColorEngineering500;\n }\n\n &.engineering-600 {\n background-color: tokens.$ifxColorEngineering600;\n }\n\n &.ocean-100 {\n background-color: tokens.$ifxColorOcean100;\n }\n\n &.ocean-200 {\n background-color: tokens.$ifxColorOcean200;\n }\n\n &.ocean-300 {\n background-color: tokens.$ifxColorOcean300;\n }\n\n &.ocean-400 {\n background-color: tokens.$ifxColorOcean400;\n }\n\n &.ocean-500 {\n background-color: tokens.$ifxColorOcean500;\n }\n\n &.ocean-600 {\n background-color: tokens.$ifxColorOcean600;\n }\n\n &.ocean-700 {\n background-color: tokens.$ifxColorOcean700;\n }\n\n &.red-500 {\n background-color: tokens.$ifxColorRed500;\n }\n\n &.red-600 {\n background-color: tokens.$ifxColorRed600;\n }\n\n &.red-700 {\n background-color: tokens.$ifxColorRed700;\n }\n\n &.orange-500 {\n background-color: tokens.$ifxColorOrange500;\n }\n\n &.green-500 {\n background-color: tokens.$ifxColorGreen500;\n }\n\n &.lawn-400{\n background-color: tokens.$ifxColorLawn400;\n }\n\n &.lawn-500{\n background-color: tokens.$ifxColorLawn500;\n }\n\n &.lawn-700 {\n background-color: tokens.$ifxColorLawn700;\n }\n\n &.berry-400 {\n background-color: tokens.$ifxColorBerry400;\n }\n\n &.berry-500 {\n background-color: tokens.$ifxColorBerry500;\n }\n\n &.sun-400 {\n background-color: tokens.$ifxColorSun400;\n }\n\n &.sun-500 {\n background-color: tokens.$ifxColorSun500;\n }\n\n &.sand-400{\n background-color: tokens.$ifxColorSand400;\n }\n\n &.sand-500{\n background-color: tokens.$ifxColorSand500;\n }\n}","import { Component, h, Prop, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-status',\n styleUrl: 'status.scss',\n shadow: true\n})\n\nexport class Status {\n @Element() el;\n @Prop() label: string;\n @Prop() border: boolean = false;\n @Prop() color: string = 'orange-500';\n\n componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-status', framework)\n }\n }\n\n render() {\n const effectiveColor = this.color?.trim() ? this.color : 'orange-500';\n const containerClass = this.border ? `container border-${effectiveColor}` : 'container no-border';\n\n return (\n <div aria-label=\"a status indicator\" aria-value={this.label} class={containerClass}>\n <span class={`dot ${effectiveColor}`}></span>\n <p class=\"text\">{this.label}</p>\n </div>\n );\n }\n}"],"mappings":"iIAAA,MAAMA,EAAY,87FAClB,MAAAC,EAAeD,E,MCUFE,EAAM,MANnB,WAAAC,CAAAC,G,UASUC,KAAAC,OAAkB,MAClBD,KAAAE,MAAgB,Y,CAExB,gBAAAC,GACE,IAAIC,EAAuBJ,KAAKK,IAAK,CACnC,MAAMC,EAAYC,IAClBC,EAAe,aAAcF,E,EAIjC,MAAAG,G,MACE,MAAMC,IAAiBC,EAAAX,KAAKE,SAAK,MAAAS,SAAA,SAAAA,EAAEC,QAASZ,KAAKE,MAAQ,aACzD,MAAMW,EAAiBb,KAAKC,OAAS,oBAAoBS,IAAmB,sBAE5E,OACEI,EAAA,OAAAC,IAAA,wDAAgB,qBAAoB,aAAaf,KAAKgB,MAAOC,MAAOJ,GAClEC,EAAA,QAAAC,IAAA,2CAAME,MAAO,OAAOP,MACpBI,EAAA,KAAAC,IAAA,2CAAGE,MAAM,QAAQjB,KAAKgB,O","ignoreList":[]}
1
+ {"version":3,"names":["statusCss","IfxStatusStyle0","Status","constructor","hostRef","this","border","color","componentDidLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","render","effectiveColor","_a","trim","containerClass","h","key","label","class"],"sources":["src/components/status/status.scss?tag=ifx-status&encapsulation=shadow","src/components/status/status.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-block;\n}\n\n.container {\n display: flex;\n min-height: 1.25em;\n align-items: center;\n padding: 0 tokens.$ifxSpace100;\n border-radius: tokens.$ifxBorderRadiusRound;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n &.no-border {\n padding: 0; // Remove padding when border is not present\n }\n\n &.border-engineering-100{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering100;\n }\n\n &.border-engineering-200{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering200;\n }\n\n &.border-engineering-300{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering300;\n }\n\n &.border-engineering-400{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering400;\n }\n\n &.border-engineering-500{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering500;\n }\n\n &.border-engineering-600{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering600;\n }\n\n &.border-ocean-100 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean100;\n }\n\n &.border-ocean-200 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean200;\n }\n\n &.border-ocean-300 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean300;\n }\n\n &.border-ocean-400 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean400;\n }\n\n &.border-ocean-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean500;\n }\n\n &.border-ocean-600 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean600;\n }\n\n &.border-ocean-700 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOcean700;\n }\n\n &.border-red-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorRed500;\n }\n\n &.border-red-600 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorRed600;\n }\n\n &.border-red-700 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorRed700;\n }\n\n &.border-orange-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorOrange500;\n }\n\n &.border-green-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorGreen500;\n }\n\n &.border-lawn-400 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorLawn400;\n }\n\n &.border-lawn-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorLawn500;\n }\n\n &.border-lawn-700 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorLawn700;\n }\n\n &.border-berry-400 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorBerry400;\n }\n\n &.border-berry-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorBerry500;\n }\n\n &.border-sun-400 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorSun400;\n }\n\n &.border-sun-500 {\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorSun500;\n }\n\n &.border-sand-400{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorSand400;\n }\n\n &.border-sand-500{\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorSand500;\n }\n\n\n}\n\n.text {\n margin: 0;\n padding-left: tokens.$ifxSpace50;\n font-style: normal;\n font-weight: tokens.$ifxFontWeightSemibold;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightS;\n display: inline;\n color: tokens.$ifxColorBaseBlack;\n}\n\n.dot {\n display: inline-block;\n width: tokens.$ifxSize100;\n height: tokens.$ifxSize100;\n border-radius: tokens.$ifxBorderRadiusRound;\n}\n\n\n.dot {\n &.engineering-100 {\n background-color: tokens.$ifxColorEngineering100;\n }\n\n &.engineering-200 {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &.engineering-300 {\n background-color: tokens.$ifxColorEngineering300;\n }\n\n &.engineering-400 {\n background-color: tokens.$ifxColorEngineering400;\n }\n\n &.engineering-500 {\n background-color: tokens.$ifxColorEngineering500;\n }\n\n &.engineering-600 {\n background-color: tokens.$ifxColorEngineering600;\n }\n\n &.ocean-100 {\n background-color: tokens.$ifxColorOcean100;\n }\n\n &.ocean-200 {\n background-color: tokens.$ifxColorOcean200;\n }\n\n &.ocean-300 {\n background-color: tokens.$ifxColorOcean300;\n }\n\n &.ocean-400 {\n background-color: tokens.$ifxColorOcean400;\n }\n\n &.ocean-500 {\n background-color: tokens.$ifxColorOcean500;\n }\n\n &.ocean-600 {\n background-color: tokens.$ifxColorOcean600;\n }\n\n &.ocean-700 {\n background-color: tokens.$ifxColorOcean700;\n }\n\n &.red-500 {\n background-color: tokens.$ifxColorRed500;\n }\n\n &.red-600 {\n background-color: tokens.$ifxColorRed600;\n }\n\n &.red-700 {\n background-color: tokens.$ifxColorRed700;\n }\n\n &.orange-500 {\n background-color: tokens.$ifxColorOrange500;\n }\n\n &.green-500 {\n background-color: tokens.$ifxColorGreen500;\n }\n\n &.lawn-400{\n background-color: tokens.$ifxColorLawn400;\n }\n\n &.lawn-500{\n background-color: tokens.$ifxColorLawn500;\n }\n\n &.lawn-700 {\n background-color: tokens.$ifxColorLawn700;\n }\n\n &.berry-400 {\n background-color: tokens.$ifxColorBerry400;\n }\n\n &.berry-500 {\n background-color: tokens.$ifxColorBerry500;\n }\n\n &.sun-400 {\n background-color: tokens.$ifxColorSun400;\n }\n\n &.sun-500 {\n background-color: tokens.$ifxColorSun500;\n }\n\n &.sand-400{\n background-color: tokens.$ifxColorSand400;\n }\n\n &.sand-500{\n background-color: tokens.$ifxColorSand500;\n }\n}","import { Component, h, Prop, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-status',\n styleUrl: 'status.scss',\n shadow: true\n})\n\nexport class Status {\n @Element() el;\n @Prop() label: string;\n @Prop() border: boolean = false;\n @Prop() color: string = 'orange-500';\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-status', await framework)\n }\n }\n\n render() {\n const effectiveColor = this.color?.trim() ? this.color : 'orange-500';\n const containerClass = this.border ? `container border-${effectiveColor}` : 'container no-border';\n\n return (\n <div aria-label=\"a status indicator\" aria-value={this.label} class={containerClass}>\n <span class={`dot ${effectiveColor}`}></span>\n <p class=\"text\">{this.label}</p>\n </div>\n );\n }\n}"],"mappings":"iIAAA,MAAMA,EAAY,87FAClB,MAAAC,EAAeD,E,MCUFE,EAAM,MANnB,WAAAC,CAAAC,G,UASUC,KAAAC,OAAkB,MAClBD,KAAAE,MAAgB,Y,CAExB,sBAAMC,GACJ,IAAIC,EAAuBJ,KAAKK,IAAK,CACnC,MAAMC,EAAYC,IAClBC,EAAe,mBAAoBF,E,EAIvC,MAAAG,G,MACE,MAAMC,IAAiBC,EAAAX,KAAKE,SAAK,MAAAS,SAAA,SAAAA,EAAEC,QAASZ,KAAKE,MAAQ,aACzD,MAAMW,EAAiBb,KAAKC,OAAS,oBAAoBS,IAAmB,sBAE5E,OACEI,EAAA,OAAAC,IAAA,wDAAgB,qBAAoB,aAAaf,KAAKgB,MAAOC,MAAOJ,GAClEC,EAAA,QAAAC,IAAA,2CAAME,MAAO,OAAOP,MACpBI,EAAA,KAAAC,IAAA,2CAAGE,MAAM,QAAQjB,KAAKgB,O","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,h as r,g as i}from"./p-b7a462e5.js";import{d as a,t as o}from"./p-acbfa625.js";import{i as s}from"./p-1ecafb97.js";const l=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:block}.alert__info-wrapper{display:flex;padding:16px 24px;font-family:var(--ifx-font-family);box-shadow:0px 6px 9px 0px rgba(29, 29, 29, 0.1019607843)}.alert__info-wrapper .info__text-wrapper{display:flex;flex-direction:column;gap:8px;width:100%}.alert__info-wrapper .info__text-wrapper .info__headline-wrapper{display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.alert__info-wrapper .info__text-wrapper .info__headline-wrapper,.alert__info-wrapper .info__text-wrapper .info__description-wrapper{color:#1D1D1D;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.alert__info-wrapper .info__text-wrapper .info__headline-wrapper ::slotted(p),.alert__info-wrapper .info__text-wrapper .info__description-wrapper ::slotted(p){padding:0;margin:0}.alert__info-wrapper .info__text-wrapper .info__description-wrapper{font-weight:400}.alert__info-wrapper .close-icon-wrapper{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.alert__info-wrapper .close-icon-wrapper button{all:unset;display:flex;align-items:center;justify-content:center;line-height:0;color:#1D1D1D;height:24px;width:24px}.alert__info-wrapper .close-icon-wrapper button:focus{outline:2px solid #0A8276;outline-offset:2px}.alert{display:flex;border:1px solid #0A8276;border-radius:1px;color:#1D1D1D;background-color:#FFFFFF;font-family:var(--ifx-font-family);box-shadow:0px 6px 9px 0px rgba(29, 29, 29, 0.1019607843)}.alert .close-icon-wrapper{display:flex;align-items:center;justify-content:center;min-width:40px}.alert .close-icon-wrapper button{all:unset;display:flex;align-items:center;justify-content:center;line-height:0;color:#1D1D1D;height:24px;width:24px}.alert .close-icon-wrapper button:focus{outline:2px solid #0A8276;outline-offset:2px}.alert .icon-wrapper{position:relative;min-width:48px;display:flex;justify-content:center;align-items:center;background-color:#0A8276}.alert .alert-text{font-size:16px;width:100%;padding:12px 0px 12px 12px;color:#1D1D1D;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;}.alert.primary{border:1px solid #0A8276}.alert.primary .icon-wrapper{background-color:#0A8276;color:#FFFFFF}.alert.success{border:1px solid #4CA460}.alert.success .icon-wrapper{background-color:#4CA460;color:#FFFFFF}.alert.danger{border:1px solid #CD002F}.alert.danger .icon-wrapper{background-color:#CD002F;color:#FFFFFF}.alert.warning{border:1px solid #E16B25}.alert.warning .icon-wrapper{background-color:#E16B25;color:#FFFFFF}.close-icon-wrapper ifx-icon:hover{cursor:pointer}';const n=l;const p=class{constructor(r){e(this,r);this.ifxClose=t(this,"ifxClose",7);this.variant="primary";this.closable=true;this.AriaLive="assertive";this.alertTypeDescription={primary:"Neutral alert",success:"Success Alert",danger:"Error Alert",warning:"Warning Alert",info:"Neutral alert"}}handleClose(){this.ifxClose.emit()}renderCloseButton(){return r("div",{class:"close-icon-wrapper"},r("button",{onClick:this.handleClose.bind(this),"aria-label":"Dismiss alert"},r("ifx-icon",{icon:"cross-16"})))}generateUniqueId(e="id"){return`${e}-${Math.random().toString(36).substring(2,9)}`}componentWillLoad(){if(!this.uniqueId){this.uniqueId=this.generateUniqueId("alert")}}async componentDidLoad(){if(!s(this.el)){const e=await a();o("ifx-alert",e)}}render(){return this.variant==="info"?r("div",{class:"alert__info-wrapper",role:"alert","aria-live":this.AriaLive,"aria-describedby":this.alertTypeDescription[this.variant],"aria-labelledby":"alert-text alert-description"},r("div",{class:"info__text-wrapper"},r("div",{class:"info__headline-wrapper"},r("slot",{name:"headline"})),r("div",{id:`alert-description-${this.uniqueId}`,class:"info__description-wrapper"},r("slot",{name:"desc"}))),this.closable?this.renderCloseButton():null):r("div",{class:`alert ${this.variant}`,role:"alert"},this.icon&&r("div",{class:"icon-wrapper"},r("ifx-icon",{icon:this.icon})),r("div",{class:"alert-text",id:`alert-text-${this.uniqueId}`},r("slot",null)),this.closable?this.renderCloseButton():null)}get el(){return i(this)}};p.style=n;const c=".react__template-wrapper{display:flex;width:300px;height:200px;border-radius:3px;border:1px solid #ccc}.react__template-wrapper.hide{display:none}.react__template-wrapper:hover{cursor:pointer}.template__page-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.template__page-wrapper .repository__url{text-decoration:none}.input__fields-wrapper{display:flex;flex-direction:column;gap:10px}.details__wrapper{display:flex;flex-direction:column;gap:10px}.selection__buttons-wrapper{display:flex;gap:10px;padding-top:10px;align-items:center}.selection__buttons-wrapper .vue__label{color:#ccc}.selection__buttons-wrapper label:not(.vue__label):hover{cursor:pointer}.selection__buttons-wrapper .selection__input{display:flex;align-items:center;gap:5px}.selection__buttons-wrapper .selection__input input{margin:0;height:20px;width:20px}.selection__buttons-wrapper .selection__input input:hover:not(.vue__input){cursor:pointer}.image__wrapper img{position:relative;width:300px;height:100%;border-radius:3px;object-fit:contain;transition:transform 0.2s}.image__wrapper img:hover{transform:scale(2);top:50px;z-index:100}";const d=c;const h=class{constructor(r){e(this,r);this.toggleTemplates=t(this,"toggleTemplates",7);this.fieldError=t(this,"fieldError",7);this.repoDetails={name:"",desc:"",framework:""};this.showDetails=false;this.isTemplatePage=false;this.isLoading=true;this.clientId="Ov23lixmXiNTTNb6V5W6";this.redirectUri="https://infineon.github.io/infineon-design-system-stencil/?path=/docs/dds-templates--development";this.scope="repo workflow";this.state="template123"}authUser(){const e=`https://github.com/login/oauth/authorize?`+`client_id=${this.clientId}&`+`redirect_uri=${this.redirectUri}&`+`scope=${this.scope}&`+`state=${this.state}`;window.open(e,"_blank")}componentDidLoad(){const e=new URL(window.location.href);const t=e.searchParams.get("code");const{templateName:r}=this.getLocalStorageValues();if(t&&this.name===r){this.isTemplatePage=true;this.toggleTemplates.emit("details");this.getUserToken(t)}}getLocalStorageValues(){const e=localStorage.getItem("repo_name");const t=localStorage.getItem("repo_desc");const r=localStorage.getItem("repo_framework");const i=localStorage.getItem("selectedTemplate");return{repoName:e,repoDesc:t,repoFramework:r,templateName:i}}async getUserToken(e){const{repoName:t,repoDesc:r,repoFramework:i,templateName:a}=this.getLocalStorageValues();fetch(`https://ddstemplate-srv.cfapps.eu10-004.hana.ondemand.com/token/${e}/${t}/${r}/${i}/${a}`).then((e=>{if(e.ok){return e.text()}else{return e.text().then((e=>{throw new Error(e)}))}})).then((e=>{if(e){this.isLoading=false;this.repoUrl=e;localStorage.clear()}})).catch((e=>{this.repoError=e.message;console.error("Error:",e.message)}))}handleUserInput(e,t){if(t==="name"){this.repoDetails=Object.assign(Object.assign({},this.repoDetails),{name:e.target.value})}else if(t==="desc"){this.repoDetails=Object.assign(Object.assign({},this.repoDetails),{desc:e.target.value})}else if(t==="framework"){this.repoDetails=Object.assign(Object.assign({},this.repoDetails),{framework:e.target.value})}}submitUserData(){if(this.repoDetails.name&&this.repoDetails.desc&&this.repoDetails.framework){localStorage.setItem("repo_name",this.repoDetails.name);localStorage.setItem("repo_desc",this.repoDetails.desc);localStorage.setItem("repo_framework",this.repoDetails.framework);localStorage.setItem("selectedTemplate",this.name);this.fieldError.emit(false);this.authUser()}else{this.fieldError.emit("All fields are mandatory")}}togglePadding(e){let t=this.el.parentElement;if(t){const r=t.getRootNode();if(r instanceof ShadowRoot){t=r.host.parentElement}else{t=t.parentElement}if(e==="remove"){t.parentElement.style.padding="0px"}else if(e==="add"){t.parentElement.style.padding="4rem 20px"}}}handleCurrentTemplate(e){if(e&&!this.showDetails){this.togglePadding("remove");const t=e.currentTarget;this.toggleTemplates.emit(t);this.showDetails=true}}async toggleTemplate(e){const t=this.el.shadowRoot.querySelector(".react__template-wrapper");if(t){if(!t.classList.contains("hide")&&e){if(t!==e){t.classList.add("hide")}}else{if(this.showDetails){this.showDetails=false}this.togglePadding("add");t.classList.remove("hide")}}}render(){return r("div",{key:"a6433871f9175e0616c40389d0a39a94797d67b3"},this.isTemplatePage?r("div",{class:"template__page-wrapper"},!this.repoUrl&&!this.repoError&&r("div",null,r("h3",null,"Your repository is getting ready.."),r("p",null,"This will only take a minute.")),this.isLoading&&!this.repoError&&r("div",null,r("ifx-spinner",{variant:"default",size:"s"})),this.repoUrl&&r("ifx-link",{href:this.repoUrl,target:"_parent",size:"m",variant:"underlined"},"Your repository"),this.repoError&&r("div",null,this.repoError)):r("div",{class:"react__template-container"},r("div",{class:"react__template-wrapper",onClick:e=>this.handleCurrentTemplate(e)},r("div",{class:"image__wrapper"},r("img",{src:this.thumbnail}))),this.showDetails&&r("div",{class:"details__wrapper"},r("div",{class:"selection__buttons-wrapper"},r("div",{class:"selection__input"},r("input",{type:"radio",id:"react",name:"chosen_framework",value:"react",onInput:e=>this.handleUserInput(e,"framework")}),r("label",{htmlFor:"react"},"React")),r("div",{class:"selection__input vue"},r("input",{class:"vue__input",disabled:true,type:"radio",id:"vue",name:"chosen_framework",value:"vue",onInput:e=>this.handleUserInput(e,"framework")}),r("label",{class:"vue__label",htmlFor:"vue"},"Vue")," (Soon)")),r("div",{class:"input__fields-wrapper"},r("ifx-text-field",{required:true,onInput:e=>this.handleUserInput(e,"name"),size:"m",icon:"c-info-16",placeholder:"Your repository name"},"Repository Name"),r("ifx-text-field",{required:true,size:"m",icon:"c-info-16",onInput:e=>this.handleUserInput(e,"desc"),placeholder:"Your repository description"},"Repository Description"),r("ifx-button",{fullWidth:true,onClick:()=>this.submitUserData(),variant:"primary"},"Generate template")))))}get el(){return i(this)}};h.style=d;export{p as ifx_alert,h as ifx_template};
2
+ //# sourceMappingURL=p-341ec9a9.entry.js.map