@infineon/infineon-design-system-stencil 30.1.1--canary.1496.ada7ab553a087bc3fb372b950494343ccb1df41e.0 → 30.1.1--canary.1640.e4770f238d16196b9059daf4898d2d6ef7cdcbdd.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 (528) hide show
  1. package/dist/cjs/ifx-accordion_2.cjs.entry.js +3 -3
  2. package/dist/cjs/ifx-accordion_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/ifx-alert.cjs.entry.js +49 -0
  4. package/dist/cjs/ifx-alert.cjs.entry.js.map +1 -0
  5. package/dist/cjs/ifx-badge.cjs.entry.js +1 -1
  6. package/dist/cjs/ifx-basic-table.cjs.entry.js +1 -1
  7. package/dist/cjs/ifx-breadcrumb-item-label.cjs.entry.js +1 -1
  8. package/dist/cjs/ifx-breadcrumb-item.cjs.entry.js +1 -1
  9. package/dist/cjs/ifx-breadcrumb.cjs.entry.js +1 -1
  10. package/dist/cjs/ifx-button.cjs.entry.js +1 -1
  11. package/dist/cjs/ifx-card-headline.cjs.entry.js +1 -1
  12. package/dist/cjs/ifx-card-image.cjs.entry.js +1 -1
  13. package/dist/cjs/ifx-card-links.cjs.entry.js +1 -1
  14. package/dist/cjs/ifx-card-overline.cjs.entry.js +1 -1
  15. package/dist/cjs/ifx-card-text.cjs.entry.js +1 -1
  16. package/dist/cjs/ifx-card.cjs.entry.js +1 -1
  17. package/dist/cjs/ifx-checkbox.cjs.entry.js +1 -1
  18. package/dist/cjs/ifx-chip_3.cjs.entry.js +1 -1
  19. package/dist/cjs/ifx-content-switcher-item.cjs.entry.js +1 -1
  20. package/dist/cjs/ifx-content-switcher.cjs.entry.js +1 -1
  21. package/dist/cjs/ifx-date-picker.cjs.entry.js +1 -1
  22. package/dist/cjs/ifx-dropdown-header.cjs.entry.js +1 -1
  23. package/dist/cjs/ifx-dropdown-item.cjs.entry.js +1 -1
  24. package/dist/cjs/ifx-dropdown-menu.cjs.entry.js +1 -1
  25. package/dist/cjs/ifx-dropdown-separator.cjs.entry.js +1 -1
  26. package/dist/cjs/ifx-dropdown-trigger-button.cjs.entry.js +1 -1
  27. package/dist/cjs/ifx-dropdown-trigger.cjs.entry.js +1 -1
  28. package/dist/cjs/ifx-dropdown.cjs.entry.js +1 -1
  29. package/dist/cjs/ifx-faq.cjs.entry.js +2 -2
  30. package/dist/cjs/ifx-filter-accordion.cjs.entry.js +1 -1
  31. package/dist/cjs/ifx-filter-bar.cjs.entry.js +1 -1
  32. package/dist/cjs/ifx-filter-search.cjs.entry.js +1 -1
  33. package/dist/cjs/ifx-filter-type-group.cjs.entry.js +1 -1
  34. package/dist/cjs/ifx-footer-column.cjs.entry.js +1 -1
  35. package/dist/cjs/ifx-footer.cjs.entry.js +1 -1
  36. package/dist/cjs/ifx-icon-button.cjs.entry.js +1 -1
  37. package/dist/cjs/ifx-icon.cjs.entry.js +1 -1
  38. package/dist/cjs/ifx-icons-preview.cjs.entry.js +1 -1
  39. package/dist/cjs/ifx-link.cjs.entry.js +1 -1
  40. package/dist/cjs/ifx-list-entry.cjs.entry.js +1 -1
  41. package/dist/cjs/ifx-list-group.cjs.entry.js +1 -1
  42. package/dist/cjs/ifx-list-item.cjs.entry.js +1 -1
  43. package/dist/cjs/ifx-list-notification.cjs.entry.js +1 -1
  44. package/dist/cjs/ifx-list.cjs.entry.js +1 -1
  45. package/dist/cjs/ifx-modal.cjs.entry.js +9 -9
  46. package/dist/cjs/ifx-modal.cjs.entry.js.map +1 -1
  47. package/dist/cjs/{ifx-multiselect.cjs.entry.js → ifx-multiselect_2.cjs.entry.js} +75 -7
  48. package/dist/cjs/ifx-multiselect_2.cjs.entry.js.map +1 -0
  49. package/dist/cjs/ifx-navbar-item.cjs.entry.js +1 -1
  50. package/dist/cjs/ifx-navbar-profile.cjs.entry.js +1 -1
  51. package/dist/cjs/ifx-navbar.cjs.entry.js +1 -1
  52. package/dist/cjs/ifx-notification.cjs.entry.js +1 -1
  53. package/dist/cjs/ifx-number-indicator.cjs.entry.js +1 -1
  54. package/dist/cjs/ifx-overview-table.cjs.entry.js +1 -1
  55. package/dist/cjs/ifx-progress-bar.cjs.entry.js +1 -1
  56. package/dist/cjs/ifx-radio-button.cjs.entry.js +1 -1
  57. package/dist/cjs/ifx-search-bar.cjs.entry.js +6 -6
  58. package/dist/cjs/ifx-search-bar.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ifx-search-field.cjs.entry.js +1 -1
  60. package/dist/cjs/ifx-segment.cjs.entry.js +1 -1
  61. package/dist/cjs/ifx-segmented-control.cjs.entry.js +1 -1
  62. package/dist/cjs/ifx-select.cjs.entry.js +1 -1
  63. package/dist/cjs/ifx-set-filter.cjs.entry.js +1 -1
  64. package/dist/cjs/ifx-sidebar-item.cjs.entry.js +10 -10
  65. package/dist/cjs/ifx-sidebar-item.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ifx-sidebar-title.cjs.entry.js +1 -1
  67. package/dist/cjs/ifx-sidebar.cjs.entry.js +1 -1
  68. package/dist/cjs/ifx-slider.cjs.entry.js +1 -1
  69. package/dist/cjs/ifx-spinner.cjs.entry.js +35 -0
  70. package/dist/cjs/ifx-spinner.cjs.entry.js.map +1 -0
  71. package/dist/cjs/ifx-status.cjs.entry.js +1 -1
  72. package/dist/cjs/ifx-step.cjs.entry.js +1 -1
  73. package/dist/cjs/ifx-stepper.cjs.entry.js +1 -1
  74. package/dist/cjs/ifx-switch.cjs.entry.js +1 -1
  75. package/dist/cjs/ifx-tab.cjs.entry.js +1 -1
  76. package/dist/cjs/ifx-table.cjs.entry.js +1 -1
  77. package/dist/cjs/ifx-tabs.cjs.entry.js +1 -1
  78. package/dist/cjs/ifx-tag.cjs.entry.js +1 -1
  79. package/dist/cjs/ifx-textarea.cjs.entry.js +3 -3
  80. package/dist/cjs/ifx-tooltip.cjs.entry.js +5 -5
  81. package/dist/cjs/{index-155a65a3.js → index-f6c58643.js} +19 -30
  82. package/dist/cjs/index-f6c58643.js.map +1 -0
  83. package/dist/cjs/infineon-design-system-stencil.cjs.js +2 -2
  84. package/dist/cjs/loader.cjs.js +2 -2
  85. package/dist/collection/collection-manifest.json +0 -2
  86. package/dist/collection/components/accordion/accordion.stories.js +79 -3
  87. package/dist/collection/components/accordion/accordion.stories.js.map +1 -1
  88. package/dist/collection/components/accordion/accordionItem.js +4 -4
  89. package/dist/collection/components/accordion/accordionItem.js.map +1 -1
  90. package/dist/collection/components/alert/alert.stories.js +45 -12
  91. package/dist/collection/components/alert/alert.stories.js.map +1 -1
  92. package/dist/collection/components/badge/badge.stories.js +28 -7
  93. package/dist/collection/components/badge/badge.stories.js.map +1 -1
  94. package/dist/collection/components/breadcrumb/breadcrumb.stories.js +66 -7
  95. package/dist/collection/components/breadcrumb/breadcrumb.stories.js.map +1 -1
  96. package/dist/collection/components/button/button.stories.js +104 -9
  97. package/dist/collection/components/button/button.stories.js.map +1 -1
  98. package/dist/collection/components/card/card.stories.js +85 -2
  99. package/dist/collection/components/card/card.stories.js.map +1 -1
  100. package/dist/collection/components/checkbox/checkbox.stories.js +74 -13
  101. package/dist/collection/components/checkbox/checkbox.stories.js.map +1 -1
  102. package/dist/collection/components/content-switcher/content-switcher.stories.js +48 -3
  103. package/dist/collection/components/content-switcher/content-switcher.stories.js.map +1 -1
  104. package/dist/collection/components/date-picker/date-picker.stories.js +73 -6
  105. package/dist/collection/components/date-picker/date-picker.stories.js.map +1 -1
  106. package/dist/collection/components/dropdown/dropdown.stories.js +161 -64
  107. package/dist/collection/components/dropdown/dropdown.stories.js.map +1 -1
  108. package/dist/collection/components/footer/footer.stories.js +7 -1
  109. package/dist/collection/components/footer/footer.stories.js.map +1 -1
  110. package/dist/collection/components/icon/infineonIconStencil.stories.js +7 -2
  111. package/dist/collection/components/icon/infineonIconStencil.stories.js.map +1 -1
  112. package/dist/collection/components/icon-button/icon-button.stories.js +61 -5
  113. package/dist/collection/components/icon-button/icon-button.stories.js.map +1 -1
  114. package/dist/collection/components/link/link.stories.js +56 -4
  115. package/dist/collection/components/link/link.stories.js.map +1 -1
  116. package/dist/collection/components/modal/modal.js +10 -10
  117. package/dist/collection/components/modal/modal.js.map +1 -1
  118. package/dist/collection/components/modal/modal.stories.js +96 -19
  119. package/dist/collection/components/modal/modal.stories.js.map +1 -1
  120. package/dist/collection/components/navigation/navbar/navbar.stories.js +203 -12
  121. package/dist/collection/components/navigation/navbar/navbar.stories.js.map +1 -1
  122. package/dist/collection/components/navigation/sidebar/sidebar-item.js +11 -11
  123. package/dist/collection/components/navigation/sidebar/sidebar-item.js.map +1 -1
  124. package/dist/collection/components/navigation/sidebar/sidebar.stories.js +110 -17
  125. package/dist/collection/components/navigation/sidebar/sidebar.stories.js.map +1 -1
  126. package/dist/collection/components/notification/notification.stories.js +51 -4
  127. package/dist/collection/components/notification/notification.stories.js.map +1 -1
  128. package/dist/collection/components/number-indicator/number-indicator.stories.js +19 -0
  129. package/dist/collection/components/number-indicator/number-indicator.stories.js.map +1 -1
  130. package/dist/collection/components/pagination/pagination.stories.js +30 -3
  131. package/dist/collection/components/pagination/pagination.stories.js.map +1 -1
  132. package/dist/collection/components/progress-bar/progress-bar.stories.js +31 -8
  133. package/dist/collection/components/progress-bar/progress-bar.stories.js.map +1 -1
  134. package/dist/collection/components/radio-button/radio-button.stories.js +66 -13
  135. package/dist/collection/components/radio-button/radio-button.stories.js.map +1 -1
  136. package/dist/collection/components/search-bar/search-bar.js +6 -6
  137. package/dist/collection/components/search-bar/search-bar.js.map +1 -1
  138. package/dist/collection/components/search-bar/search-bar.stories.js +58 -9
  139. package/dist/collection/components/search-bar/search-bar.stories.js.map +1 -1
  140. package/dist/collection/components/search-field/search-field.stories.js +43 -7
  141. package/dist/collection/components/search-field/search-field.stories.js.map +1 -1
  142. package/dist/collection/components/select/multi-select/multiselect.js +6 -6
  143. package/dist/collection/components/select/multi-select/multiselect.js.map +1 -1
  144. package/dist/collection/components/select/multi-select/multiselect.stories.js +131 -5
  145. package/dist/collection/components/select/multi-select/multiselect.stories.js.map +1 -1
  146. package/dist/collection/components/select/single-select/select.stories.js +83 -26
  147. package/dist/collection/components/select/single-select/select.stories.js.map +1 -1
  148. package/dist/collection/components/slider/slider.stories.js +97 -13
  149. package/dist/collection/components/slider/slider.stories.js.map +1 -1
  150. package/dist/collection/components/spinner/spinner.stories.js +34 -2
  151. package/dist/collection/components/spinner/spinner.stories.js.map +1 -1
  152. package/dist/collection/components/status/status.stories.js +24 -1
  153. package/dist/collection/components/status/status.stories.js.map +1 -1
  154. package/dist/collection/components/stepper/stepper.stories.js +33 -16
  155. package/dist/collection/components/stepper/stepper.stories.js.map +1 -1
  156. package/dist/collection/components/switch/switch.stories.js +54 -4
  157. package/dist/collection/components/switch/switch.stories.js.map +1 -1
  158. package/dist/collection/components/table-advanced-version/table.stories.js +235 -13
  159. package/dist/collection/components/table-advanced-version/table.stories.js.map +1 -1
  160. package/dist/collection/components/table-basic-version/table.stories.js +17 -1
  161. package/dist/collection/components/table-basic-version/table.stories.js.map +1 -1
  162. package/dist/collection/components/tabs/tabs.stories.js +89 -23
  163. package/dist/collection/components/tabs/tabs.stories.js.map +1 -1
  164. package/dist/collection/components/tag/tag.stories.js +18 -0
  165. package/dist/collection/components/tag/tag.stories.js.map +1 -1
  166. package/dist/collection/components/text-field/text-field.js +4 -4
  167. package/dist/collection/components/text-field/text-field.stories.js +104 -13
  168. package/dist/collection/components/text-field/text-field.stories.js.map +1 -1
  169. package/dist/collection/components/textarea/textarea.js +2 -2
  170. package/dist/collection/components/tooltip/tooltip.js +4 -4
  171. package/dist/collection/components/tooltip/tooltip.stories.js +48 -4
  172. package/dist/collection/components/tooltip/tooltip.stories.js.map +1 -1
  173. package/dist/collection/index.js.map +1 -1
  174. package/dist/collection/stories/setup-and-installation/faq/faq.js +1 -1
  175. package/dist/components/ifx-accordion-item.js +1 -1
  176. package/dist/components/ifx-alert.js +68 -1
  177. package/dist/components/ifx-alert.js.map +1 -1
  178. package/dist/components/ifx-faq.js +2 -2
  179. package/dist/components/ifx-modal.js +8 -8
  180. package/dist/components/ifx-modal.js.map +1 -1
  181. package/dist/components/ifx-multiselect.js +1 -1
  182. package/dist/components/ifx-search-bar.js +5 -5
  183. package/dist/components/ifx-search-bar.js.map +1 -1
  184. package/dist/components/ifx-set-filter.js +2 -2
  185. package/dist/components/ifx-sidebar-item.js +11 -11
  186. package/dist/components/ifx-sidebar-item.js.map +1 -1
  187. package/dist/components/ifx-spinner.js +46 -1
  188. package/dist/components/ifx-spinner.js.map +1 -1
  189. package/dist/components/ifx-text-field.js +1 -1
  190. package/dist/components/ifx-textarea.js +2 -2
  191. package/dist/components/ifx-tooltip.js +4 -4
  192. package/dist/components/{p-0a68c458.js → p-78f3e867.js} +4 -4
  193. package/dist/components/{p-0a68c458.js.map → p-78f3e867.js.map} +1 -1
  194. package/dist/components/{p-96fbc3db.js → p-bac84326.js} +6 -6
  195. package/dist/components/p-bac84326.js.map +1 -0
  196. package/dist/components/{p-b537c83a.js → p-d5a199fb.js} +5 -5
  197. package/dist/components/{p-b537c83a.js.map → p-d5a199fb.js.map} +1 -1
  198. package/dist/esm/ifx-accordion_2.entry.js +3 -3
  199. package/dist/esm/ifx-accordion_2.entry.js.map +1 -1
  200. package/dist/{components/p-81263927.js → esm/ifx-alert.entry.js} +8 -35
  201. package/dist/esm/ifx-alert.entry.js.map +1 -0
  202. package/dist/esm/ifx-badge.entry.js +1 -1
  203. package/dist/esm/ifx-basic-table.entry.js +1 -1
  204. package/dist/esm/ifx-breadcrumb-item-label.entry.js +1 -1
  205. package/dist/esm/ifx-breadcrumb-item.entry.js +1 -1
  206. package/dist/esm/ifx-breadcrumb.entry.js +1 -1
  207. package/dist/esm/ifx-button.entry.js +1 -1
  208. package/dist/esm/ifx-card-headline.entry.js +1 -1
  209. package/dist/esm/ifx-card-image.entry.js +1 -1
  210. package/dist/esm/ifx-card-links.entry.js +1 -1
  211. package/dist/esm/ifx-card-overline.entry.js +1 -1
  212. package/dist/esm/ifx-card-text.entry.js +1 -1
  213. package/dist/esm/ifx-card.entry.js +1 -1
  214. package/dist/esm/ifx-checkbox.entry.js +1 -1
  215. package/dist/esm/ifx-chip_3.entry.js +1 -1
  216. package/dist/esm/ifx-content-switcher-item.entry.js +1 -1
  217. package/dist/esm/ifx-content-switcher.entry.js +1 -1
  218. package/dist/esm/ifx-date-picker.entry.js +1 -1
  219. package/dist/esm/ifx-dropdown-header.entry.js +1 -1
  220. package/dist/esm/ifx-dropdown-item.entry.js +1 -1
  221. package/dist/esm/ifx-dropdown-menu.entry.js +1 -1
  222. package/dist/esm/ifx-dropdown-separator.entry.js +1 -1
  223. package/dist/esm/ifx-dropdown-trigger-button.entry.js +1 -1
  224. package/dist/esm/ifx-dropdown-trigger.entry.js +1 -1
  225. package/dist/esm/ifx-dropdown.entry.js +1 -1
  226. package/dist/esm/ifx-faq.entry.js +2 -2
  227. package/dist/esm/ifx-filter-accordion.entry.js +1 -1
  228. package/dist/esm/ifx-filter-bar.entry.js +1 -1
  229. package/dist/esm/ifx-filter-search.entry.js +1 -1
  230. package/dist/esm/ifx-filter-type-group.entry.js +1 -1
  231. package/dist/esm/ifx-footer-column.entry.js +1 -1
  232. package/dist/esm/ifx-footer.entry.js +1 -1
  233. package/dist/esm/ifx-icon-button.entry.js +1 -1
  234. package/dist/esm/ifx-icon.entry.js +1 -1
  235. package/dist/esm/ifx-icons-preview.entry.js +1 -1
  236. package/dist/esm/ifx-link.entry.js +1 -1
  237. package/dist/esm/ifx-list-entry.entry.js +1 -1
  238. package/dist/esm/ifx-list-group.entry.js +1 -1
  239. package/dist/esm/ifx-list-item.entry.js +1 -1
  240. package/dist/esm/ifx-list-notification.entry.js +1 -1
  241. package/dist/esm/ifx-list.entry.js +1 -1
  242. package/dist/esm/ifx-modal.entry.js +9 -9
  243. package/dist/esm/ifx-modal.entry.js.map +1 -1
  244. package/dist/esm/{ifx-multiselect.entry.js → ifx-multiselect_2.entry.js} +75 -8
  245. package/dist/esm/ifx-multiselect_2.entry.js.map +1 -0
  246. package/dist/esm/ifx-navbar-item.entry.js +1 -1
  247. package/dist/esm/ifx-navbar-profile.entry.js +1 -1
  248. package/dist/esm/ifx-navbar.entry.js +1 -1
  249. package/dist/esm/ifx-notification.entry.js +1 -1
  250. package/dist/esm/ifx-number-indicator.entry.js +1 -1
  251. package/dist/esm/ifx-overview-table.entry.js +1 -1
  252. package/dist/esm/ifx-progress-bar.entry.js +1 -1
  253. package/dist/esm/ifx-radio-button.entry.js +1 -1
  254. package/dist/esm/ifx-search-bar.entry.js +6 -6
  255. package/dist/esm/ifx-search-bar.entry.js.map +1 -1
  256. package/dist/esm/ifx-search-field.entry.js +1 -1
  257. package/dist/esm/ifx-segment.entry.js +1 -1
  258. package/dist/esm/ifx-segmented-control.entry.js +1 -1
  259. package/dist/esm/ifx-select.entry.js +1 -1
  260. package/dist/esm/ifx-set-filter.entry.js +1 -1
  261. package/dist/esm/ifx-sidebar-item.entry.js +10 -10
  262. package/dist/esm/ifx-sidebar-item.entry.js.map +1 -1
  263. package/dist/esm/ifx-sidebar-title.entry.js +1 -1
  264. package/dist/esm/ifx-sidebar.entry.js +1 -1
  265. package/dist/esm/ifx-slider.entry.js +1 -1
  266. package/dist/{components/p-53704c65.js → esm/ifx-spinner.entry.js} +9 -28
  267. package/dist/esm/ifx-spinner.entry.js.map +1 -0
  268. package/dist/esm/ifx-status.entry.js +1 -1
  269. package/dist/esm/ifx-step.entry.js +1 -1
  270. package/dist/esm/ifx-stepper.entry.js +1 -1
  271. package/dist/esm/ifx-switch.entry.js +1 -1
  272. package/dist/esm/ifx-tab.entry.js +1 -1
  273. package/dist/esm/ifx-table.entry.js +1 -1
  274. package/dist/esm/ifx-tabs.entry.js +1 -1
  275. package/dist/esm/ifx-tag.entry.js +1 -1
  276. package/dist/esm/ifx-textarea.entry.js +3 -3
  277. package/dist/esm/ifx-tooltip.entry.js +5 -5
  278. package/dist/esm/{index-d021b985.js → index-fc6a5751.js} +20 -30
  279. package/dist/esm/index-fc6a5751.js.map +1 -0
  280. package/dist/esm/infineon-design-system-stencil.js +3 -3
  281. package/dist/esm/loader.js +3 -3
  282. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  283. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js.map +1 -1
  284. package/dist/infineon-design-system-stencil/{p-716f6675.entry.js → p-02be14a9.entry.js} +2 -2
  285. package/dist/infineon-design-system-stencil/{p-4082111f.entry.js → p-0b5ad497.entry.js} +2 -2
  286. package/dist/infineon-design-system-stencil/{p-4126ee6a.entry.js → p-0c570fa2.entry.js} +2 -2
  287. package/dist/infineon-design-system-stencil/p-0ddf85fc.entry.js +2 -0
  288. package/dist/infineon-design-system-stencil/p-0ddf85fc.entry.js.map +1 -0
  289. package/dist/infineon-design-system-stencil/{p-ca00d3c8.entry.js → p-1175d112.entry.js} +2 -2
  290. package/dist/infineon-design-system-stencil/{p-d517ea6c.entry.js → p-16348b9d.entry.js} +2 -2
  291. package/dist/infineon-design-system-stencil/{p-e76c8cce.entry.js → p-16f9a47c.entry.js} +2 -2
  292. package/dist/infineon-design-system-stencil/{p-b1543f1d.entry.js → p-1b9317bd.entry.js} +2 -2
  293. package/dist/infineon-design-system-stencil/{p-070a401c.entry.js → p-1d9e400c.entry.js} +2 -2
  294. package/dist/infineon-design-system-stencil/{p-e2c6464a.entry.js → p-1f329979.entry.js} +2 -2
  295. package/dist/infineon-design-system-stencil/{p-f037e2e1.entry.js → p-208b28b1.entry.js} +2 -2
  296. package/dist/infineon-design-system-stencil/p-227d384c.entry.js +2 -0
  297. package/dist/infineon-design-system-stencil/p-227d384c.entry.js.map +1 -0
  298. package/dist/infineon-design-system-stencil/p-25bf54c9.entry.js +2 -0
  299. package/dist/infineon-design-system-stencil/p-2849823e.entry.js +2 -0
  300. package/dist/infineon-design-system-stencil/p-2849823e.entry.js.map +1 -0
  301. package/dist/infineon-design-system-stencil/{p-3a64f78a.entry.js → p-2ae0a0d0.entry.js} +2 -2
  302. package/dist/infineon-design-system-stencil/{p-4626a7a5.entry.js → p-2d17e5b2.entry.js} +2 -2
  303. package/dist/infineon-design-system-stencil/{p-7973be1c.entry.js → p-2e8c0115.entry.js} +2 -2
  304. package/dist/infineon-design-system-stencil/{p-8bd1eb2e.entry.js → p-2fbad873.entry.js} +2 -2
  305. package/dist/infineon-design-system-stencil/{p-3b597917.entry.js → p-30640970.entry.js} +2 -2
  306. package/dist/infineon-design-system-stencil/{p-c9211767.entry.js → p-31889cb2.entry.js} +2 -2
  307. package/dist/infineon-design-system-stencil/{p-5269c5f6.entry.js → p-31e9d4f8.entry.js} +2 -2
  308. package/dist/infineon-design-system-stencil/{p-f98cae21.entry.js → p-336778c3.entry.js} +2 -2
  309. package/dist/infineon-design-system-stencil/{p-005cee40.entry.js → p-37654645.entry.js} +2 -2
  310. package/dist/infineon-design-system-stencil/{p-1e32dc46.entry.js → p-37ecac74.entry.js} +2 -2
  311. package/dist/infineon-design-system-stencil/{p-23fc1ac6.entry.js → p-39697853.entry.js} +2 -2
  312. package/dist/infineon-design-system-stencil/{p-8299d886.entry.js → p-3be58aa2.entry.js} +2 -2
  313. package/dist/infineon-design-system-stencil/p-3ca407c8.entry.js +2 -0
  314. package/dist/infineon-design-system-stencil/p-3ca407c8.entry.js.map +1 -0
  315. package/dist/infineon-design-system-stencil/{p-22c3e2a6.entry.js → p-4111bbdc.entry.js} +2 -2
  316. package/dist/infineon-design-system-stencil/{p-95c56362.entry.js → p-41b0849d.entry.js} +2 -2
  317. package/dist/infineon-design-system-stencil/{p-9256384e.entry.js → p-4349aa3a.entry.js} +2 -2
  318. package/dist/infineon-design-system-stencil/{p-1f0a54f5.entry.js → p-47476fcb.entry.js} +2 -2
  319. package/dist/infineon-design-system-stencil/p-492a9ab7.entry.js +2 -0
  320. package/dist/infineon-design-system-stencil/{p-4b7b93c4.entry.js → p-49872432.entry.js} +2 -2
  321. package/dist/infineon-design-system-stencil/p-4aab4af4.entry.js +2 -0
  322. package/dist/infineon-design-system-stencil/p-4aab4af4.entry.js.map +1 -0
  323. package/dist/infineon-design-system-stencil/{p-a4205f38.entry.js → p-4af08129.entry.js} +2 -2
  324. package/dist/infineon-design-system-stencil/{p-2deacdfc.entry.js → p-50e122c4.entry.js} +2 -2
  325. package/dist/infineon-design-system-stencil/{p-67efe96d.entry.js → p-5992e272.entry.js} +2 -2
  326. package/dist/infineon-design-system-stencil/{p-ec5fcb90.entry.js → p-5cc523fb.entry.js} +2 -2
  327. package/dist/infineon-design-system-stencil/{p-3e313cf5.entry.js → p-5edfe317.entry.js} +2 -2
  328. package/dist/infineon-design-system-stencil/{p-9e68df13.entry.js → p-666e0ea0.entry.js} +2 -2
  329. package/dist/infineon-design-system-stencil/{p-9c641115.entry.js → p-6ad287cf.entry.js} +2 -2
  330. package/dist/infineon-design-system-stencil/{p-d70843bb.entry.js → p-6e61295f.entry.js} +2 -2
  331. package/dist/infineon-design-system-stencil/{p-23061813.entry.js → p-7378190d.entry.js} +2 -2
  332. package/dist/infineon-design-system-stencil/p-80bb0959.js +3 -0
  333. package/dist/infineon-design-system-stencil/{p-7aa4082c.js.map → p-80bb0959.js.map} +1 -1
  334. package/dist/infineon-design-system-stencil/{p-a7b721e4.entry.js → p-8b089cd1.entry.js} +2 -2
  335. package/dist/infineon-design-system-stencil/{p-d4432905.entry.js → p-8c9887e3.entry.js} +2 -2
  336. package/dist/infineon-design-system-stencil/{p-6ff541a9.entry.js → p-951cf503.entry.js} +2 -2
  337. package/dist/infineon-design-system-stencil/{p-b10e3175.entry.js → p-985c7bdc.entry.js} +2 -2
  338. package/dist/infineon-design-system-stencil/{p-f2ba1590.entry.js → p-9c50bc3e.entry.js} +2 -2
  339. package/dist/infineon-design-system-stencil/{p-577e735a.entry.js → p-a10f9b3c.entry.js} +2 -2
  340. package/dist/infineon-design-system-stencil/{p-55e8c571.entry.js → p-a3c03169.entry.js} +2 -2
  341. package/dist/infineon-design-system-stencil/{p-d74b939d.entry.js → p-b010bfcb.entry.js} +2 -2
  342. package/dist/infineon-design-system-stencil/p-b1688ca4.entry.js +2 -0
  343. package/dist/infineon-design-system-stencil/p-b1688ca4.entry.js.map +1 -0
  344. package/dist/infineon-design-system-stencil/{p-83a3c6d9.entry.js → p-b30b66e5.entry.js} +2 -2
  345. package/dist/infineon-design-system-stencil/{p-10f2f4d2.entry.js → p-b3fb648f.entry.js} +2 -2
  346. package/dist/infineon-design-system-stencil/{p-a825eb1f.entry.js → p-bc40ad21.entry.js} +2 -2
  347. package/dist/infineon-design-system-stencil/{p-5a134c12.entry.js → p-c22f8c81.entry.js} +2 -2
  348. package/dist/infineon-design-system-stencil/{p-15c2d91e.entry.js → p-c2e6cbdb.entry.js} +2 -2
  349. package/dist/infineon-design-system-stencil/{p-8822c055.entry.js → p-c428a56a.entry.js} +2 -2
  350. package/dist/infineon-design-system-stencil/p-c428a56a.entry.js.map +1 -0
  351. package/dist/infineon-design-system-stencil/{p-21f9efe3.entry.js → p-c61a9185.entry.js} +2 -2
  352. package/dist/infineon-design-system-stencil/{p-cc49128c.entry.js → p-c9aca4b7.entry.js} +2 -2
  353. package/dist/infineon-design-system-stencil/{p-3f71f020.entry.js → p-cb0ddc9b.entry.js} +2 -2
  354. package/dist/infineon-design-system-stencil/{p-d0afd036.entry.js → p-ce9e5451.entry.js} +2 -2
  355. package/dist/infineon-design-system-stencil/{p-0b2330b1.entry.js → p-d31a6167.entry.js} +2 -2
  356. package/dist/infineon-design-system-stencil/{p-95c0da4c.entry.js → p-d323e4ed.entry.js} +2 -2
  357. package/dist/infineon-design-system-stencil/{p-6d82d306.entry.js → p-db4a364b.entry.js} +2 -2
  358. package/dist/infineon-design-system-stencil/{p-f93d0e29.entry.js → p-dba5e033.entry.js} +2 -2
  359. package/dist/infineon-design-system-stencil/{p-8c0caf65.entry.js → p-e6427f2e.entry.js} +2 -2
  360. package/dist/infineon-design-system-stencil/{p-da42f326.entry.js → p-e8cde48d.entry.js} +2 -2
  361. package/dist/infineon-design-system-stencil/{p-2cde10eb.entry.js → p-ea74d7ab.entry.js} +2 -2
  362. package/dist/infineon-design-system-stencil/{p-bbc7a00e.entry.js → p-ee68427e.entry.js} +2 -2
  363. package/dist/infineon-design-system-stencil/{p-d7b5242d.entry.js → p-f121e197.entry.js} +2 -2
  364. package/dist/infineon-design-system-stencil/{p-85b95a9b.entry.js → p-f3383274.entry.js} +2 -2
  365. package/dist/infineon-design-system-stencil/{p-0c6417aa.entry.js → p-fcf71895.entry.js} +2 -2
  366. package/dist/types/components/accordion/accordion.stories.d.ts +67 -1
  367. package/dist/types/components/accordion/accordionItem.d.ts +1 -1
  368. package/dist/types/components/alert/alert.stories.d.ts +38 -11
  369. package/dist/types/components/badge/badge.stories.d.ts +23 -3
  370. package/dist/types/components/breadcrumb/breadcrumb.stories.d.ts +66 -1
  371. package/dist/types/components/button/button.stories.d.ts +95 -16
  372. package/dist/types/components/card/card.stories.d.ts +95 -1
  373. package/dist/types/components/checkbox/checkbox.stories.d.ts +68 -10
  374. package/dist/types/components/content-switcher/content-switcher.stories.d.ts +50 -0
  375. package/dist/types/components/date-picker/date-picker.stories.d.ts +67 -2
  376. package/dist/types/components/dropdown/dropdown.stories.d.ts +111 -27
  377. package/dist/types/components/footer/footer.stories.d.ts +4 -0
  378. package/dist/types/components/icon/infineonIconStencil.stories.d.ts +5 -0
  379. package/dist/types/components/icon-button/icon-button.stories.d.ts +56 -8
  380. package/dist/types/components/link/link.stories.d.ts +52 -6
  381. package/dist/types/components/modal/modal.d.ts +2 -2
  382. package/dist/types/components/modal/modal.stories.d.ts +77 -3
  383. package/dist/types/components/navigation/navbar/navbar.stories.d.ts +243 -6
  384. package/dist/types/components/navigation/sidebar/sidebar-item.d.ts +2 -2
  385. package/dist/types/components/navigation/sidebar/sidebar.stories.d.ts +90 -7
  386. package/dist/types/components/notification/notification.stories.d.ts +44 -0
  387. package/dist/types/components/number-indicator/number-indicator.stories.d.ts +19 -0
  388. package/dist/types/components/pagination/pagination.stories.d.ts +27 -0
  389. package/dist/types/components/progress-bar/progress-bar.stories.d.ts +25 -4
  390. package/dist/types/components/radio-button/radio-button.stories.d.ts +59 -8
  391. package/dist/types/components/search-bar/search-bar.d.ts +1 -1
  392. package/dist/types/components/search-bar/search-bar.stories.d.ts +60 -3
  393. package/dist/types/components/search-field/search-field.stories.d.ts +36 -6
  394. package/dist/types/components/select/multi-select/multiselect.d.ts +1 -1
  395. package/dist/types/components/select/multi-select/multiselect.stories.d.ts +125 -0
  396. package/dist/types/components/select/single-select/select.stories.d.ts +67 -24
  397. package/dist/types/components/slider/slider.stories.d.ts +110 -0
  398. package/dist/types/components/spinner/spinner.stories.d.ts +32 -0
  399. package/dist/types/components/status/status.stories.d.ts +23 -2
  400. package/dist/types/components/stepper/stepper.stories.d.ts +21 -4
  401. package/dist/types/components/switch/switch.stories.d.ts +50 -1
  402. package/dist/types/components/table-advanced-version/table.stories.d.ts +243 -2
  403. package/dist/types/components/table-basic-version/table.stories.d.ts +19 -1
  404. package/dist/types/components/tabs/tabs.stories.d.ts +77 -7
  405. package/dist/types/components/tag/tag.stories.d.ts +20 -0
  406. package/dist/types/components/text-field/text-field.stories.d.ts +96 -11
  407. package/dist/types/components/tooltip/tooltip.stories.d.ts +41 -6
  408. package/dist/types/components.d.ts +10 -59
  409. package/package.json +1 -1
  410. package/dist/cjs/ifx-alert_2.cjs.entry.js +0 -201
  411. package/dist/cjs/ifx-alert_2.cjs.entry.js.map +0 -1
  412. package/dist/cjs/ifx-multiselect.cjs.entry.js.map +0 -1
  413. package/dist/cjs/ifx-spinner_2.cjs.entry.js +0 -103
  414. package/dist/cjs/ifx-spinner_2.cjs.entry.js.map +0 -1
  415. package/dist/cjs/ifx-templates-ui.cjs.entry.js +0 -61
  416. package/dist/cjs/ifx-templates-ui.cjs.entry.js.map +0 -1
  417. package/dist/cjs/index-155a65a3.js.map +0 -1
  418. package/dist/collection/components/templates/template/template.css +0 -76
  419. package/dist/collection/components/templates/template/template.js +0 -263
  420. package/dist/collection/components/templates/template/template.js.map +0 -1
  421. package/dist/collection/components/templates/templates-ui/templates-ui.css +0 -33
  422. package/dist/collection/components/templates/templates-ui/templates-ui.js +0 -75
  423. package/dist/collection/components/templates/templates-ui/templates-ui.js.map +0 -1
  424. package/dist/components/ifx-template.d.ts +0 -11
  425. package/dist/components/ifx-template.js +0 -8
  426. package/dist/components/ifx-template.js.map +0 -1
  427. package/dist/components/ifx-templates-ui.d.ts +0 -11
  428. package/dist/components/ifx-templates-ui.js +0 -123
  429. package/dist/components/ifx-templates-ui.js.map +0 -1
  430. package/dist/components/p-53704c65.js.map +0 -1
  431. package/dist/components/p-80d6c6e4.js +0 -211
  432. package/dist/components/p-80d6c6e4.js.map +0 -1
  433. package/dist/components/p-81263927.js.map +0 -1
  434. package/dist/components/p-96fbc3db.js.map +0 -1
  435. package/dist/esm/ifx-alert_2.entry.js +0 -196
  436. package/dist/esm/ifx-alert_2.entry.js.map +0 -1
  437. package/dist/esm/ifx-multiselect.entry.js.map +0 -1
  438. package/dist/esm/ifx-spinner_2.entry.js +0 -98
  439. package/dist/esm/ifx-spinner_2.entry.js.map +0 -1
  440. package/dist/esm/ifx-templates-ui.entry.js +0 -57
  441. package/dist/esm/ifx-templates-ui.entry.js.map +0 -1
  442. package/dist/esm/index-d021b985.js.map +0 -1
  443. package/dist/infineon-design-system-stencil/p-1a9b19fa.entry.js +0 -2
  444. package/dist/infineon-design-system-stencil/p-1a9b19fa.entry.js.map +0 -1
  445. package/dist/infineon-design-system-stencil/p-21ab54a8.entry.js +0 -2
  446. package/dist/infineon-design-system-stencil/p-21ab54a8.entry.js.map +0 -1
  447. package/dist/infineon-design-system-stencil/p-3419fe00.entry.js +0 -2
  448. package/dist/infineon-design-system-stencil/p-6c3947ee.entry.js +0 -2
  449. package/dist/infineon-design-system-stencil/p-6c3947ee.entry.js.map +0 -1
  450. package/dist/infineon-design-system-stencil/p-7aa4082c.js +0 -3
  451. package/dist/infineon-design-system-stencil/p-80d79ac2.entry.js +0 -2
  452. package/dist/infineon-design-system-stencil/p-80d79ac2.entry.js.map +0 -1
  453. package/dist/infineon-design-system-stencil/p-8822c055.entry.js.map +0 -1
  454. package/dist/infineon-design-system-stencil/p-8ccea8df.entry.js +0 -2
  455. package/dist/infineon-design-system-stencil/p-8ccea8df.entry.js.map +0 -1
  456. package/dist/infineon-design-system-stencil/p-a76a2ec0.entry.js +0 -2
  457. package/dist/infineon-design-system-stencil/p-a76a2ec0.entry.js.map +0 -1
  458. package/dist/infineon-design-system-stencil/p-e3ce1662.entry.js +0 -2
  459. package/dist/infineon-design-system-stencil/p-e3ce1662.entry.js.map +0 -1
  460. package/dist/infineon-design-system-stencil/p-ff8f6ddc.entry.js +0 -2
  461. package/dist/types/components/templates/template/template.d.ts +0 -33
  462. package/dist/types/components/templates/templates-ui/templates-ui.d.ts +0 -10
  463. /package/dist/infineon-design-system-stencil/{p-716f6675.entry.js.map → p-02be14a9.entry.js.map} +0 -0
  464. /package/dist/infineon-design-system-stencil/{p-4082111f.entry.js.map → p-0b5ad497.entry.js.map} +0 -0
  465. /package/dist/infineon-design-system-stencil/{p-4126ee6a.entry.js.map → p-0c570fa2.entry.js.map} +0 -0
  466. /package/dist/infineon-design-system-stencil/{p-ca00d3c8.entry.js.map → p-1175d112.entry.js.map} +0 -0
  467. /package/dist/infineon-design-system-stencil/{p-d517ea6c.entry.js.map → p-16348b9d.entry.js.map} +0 -0
  468. /package/dist/infineon-design-system-stencil/{p-e76c8cce.entry.js.map → p-16f9a47c.entry.js.map} +0 -0
  469. /package/dist/infineon-design-system-stencil/{p-b1543f1d.entry.js.map → p-1b9317bd.entry.js.map} +0 -0
  470. /package/dist/infineon-design-system-stencil/{p-070a401c.entry.js.map → p-1d9e400c.entry.js.map} +0 -0
  471. /package/dist/infineon-design-system-stencil/{p-e2c6464a.entry.js.map → p-1f329979.entry.js.map} +0 -0
  472. /package/dist/infineon-design-system-stencil/{p-f037e2e1.entry.js.map → p-208b28b1.entry.js.map} +0 -0
  473. /package/dist/infineon-design-system-stencil/{p-3419fe00.entry.js.map → p-25bf54c9.entry.js.map} +0 -0
  474. /package/dist/infineon-design-system-stencil/{p-3a64f78a.entry.js.map → p-2ae0a0d0.entry.js.map} +0 -0
  475. /package/dist/infineon-design-system-stencil/{p-4626a7a5.entry.js.map → p-2d17e5b2.entry.js.map} +0 -0
  476. /package/dist/infineon-design-system-stencil/{p-7973be1c.entry.js.map → p-2e8c0115.entry.js.map} +0 -0
  477. /package/dist/infineon-design-system-stencil/{p-8bd1eb2e.entry.js.map → p-2fbad873.entry.js.map} +0 -0
  478. /package/dist/infineon-design-system-stencil/{p-3b597917.entry.js.map → p-30640970.entry.js.map} +0 -0
  479. /package/dist/infineon-design-system-stencil/{p-c9211767.entry.js.map → p-31889cb2.entry.js.map} +0 -0
  480. /package/dist/infineon-design-system-stencil/{p-5269c5f6.entry.js.map → p-31e9d4f8.entry.js.map} +0 -0
  481. /package/dist/infineon-design-system-stencil/{p-f98cae21.entry.js.map → p-336778c3.entry.js.map} +0 -0
  482. /package/dist/infineon-design-system-stencil/{p-005cee40.entry.js.map → p-37654645.entry.js.map} +0 -0
  483. /package/dist/infineon-design-system-stencil/{p-1e32dc46.entry.js.map → p-37ecac74.entry.js.map} +0 -0
  484. /package/dist/infineon-design-system-stencil/{p-23fc1ac6.entry.js.map → p-39697853.entry.js.map} +0 -0
  485. /package/dist/infineon-design-system-stencil/{p-8299d886.entry.js.map → p-3be58aa2.entry.js.map} +0 -0
  486. /package/dist/infineon-design-system-stencil/{p-22c3e2a6.entry.js.map → p-4111bbdc.entry.js.map} +0 -0
  487. /package/dist/infineon-design-system-stencil/{p-95c56362.entry.js.map → p-41b0849d.entry.js.map} +0 -0
  488. /package/dist/infineon-design-system-stencil/{p-9256384e.entry.js.map → p-4349aa3a.entry.js.map} +0 -0
  489. /package/dist/infineon-design-system-stencil/{p-1f0a54f5.entry.js.map → p-47476fcb.entry.js.map} +0 -0
  490. /package/dist/infineon-design-system-stencil/{p-ff8f6ddc.entry.js.map → p-492a9ab7.entry.js.map} +0 -0
  491. /package/dist/infineon-design-system-stencil/{p-4b7b93c4.entry.js.map → p-49872432.entry.js.map} +0 -0
  492. /package/dist/infineon-design-system-stencil/{p-a4205f38.entry.js.map → p-4af08129.entry.js.map} +0 -0
  493. /package/dist/infineon-design-system-stencil/{p-2deacdfc.entry.js.map → p-50e122c4.entry.js.map} +0 -0
  494. /package/dist/infineon-design-system-stencil/{p-67efe96d.entry.js.map → p-5992e272.entry.js.map} +0 -0
  495. /package/dist/infineon-design-system-stencil/{p-ec5fcb90.entry.js.map → p-5cc523fb.entry.js.map} +0 -0
  496. /package/dist/infineon-design-system-stencil/{p-3e313cf5.entry.js.map → p-5edfe317.entry.js.map} +0 -0
  497. /package/dist/infineon-design-system-stencil/{p-9e68df13.entry.js.map → p-666e0ea0.entry.js.map} +0 -0
  498. /package/dist/infineon-design-system-stencil/{p-9c641115.entry.js.map → p-6ad287cf.entry.js.map} +0 -0
  499. /package/dist/infineon-design-system-stencil/{p-d70843bb.entry.js.map → p-6e61295f.entry.js.map} +0 -0
  500. /package/dist/infineon-design-system-stencil/{p-23061813.entry.js.map → p-7378190d.entry.js.map} +0 -0
  501. /package/dist/infineon-design-system-stencil/{p-a7b721e4.entry.js.map → p-8b089cd1.entry.js.map} +0 -0
  502. /package/dist/infineon-design-system-stencil/{p-d4432905.entry.js.map → p-8c9887e3.entry.js.map} +0 -0
  503. /package/dist/infineon-design-system-stencil/{p-6ff541a9.entry.js.map → p-951cf503.entry.js.map} +0 -0
  504. /package/dist/infineon-design-system-stencil/{p-b10e3175.entry.js.map → p-985c7bdc.entry.js.map} +0 -0
  505. /package/dist/infineon-design-system-stencil/{p-f2ba1590.entry.js.map → p-9c50bc3e.entry.js.map} +0 -0
  506. /package/dist/infineon-design-system-stencil/{p-577e735a.entry.js.map → p-a10f9b3c.entry.js.map} +0 -0
  507. /package/dist/infineon-design-system-stencil/{p-55e8c571.entry.js.map → p-a3c03169.entry.js.map} +0 -0
  508. /package/dist/infineon-design-system-stencil/{p-d74b939d.entry.js.map → p-b010bfcb.entry.js.map} +0 -0
  509. /package/dist/infineon-design-system-stencil/{p-83a3c6d9.entry.js.map → p-b30b66e5.entry.js.map} +0 -0
  510. /package/dist/infineon-design-system-stencil/{p-10f2f4d2.entry.js.map → p-b3fb648f.entry.js.map} +0 -0
  511. /package/dist/infineon-design-system-stencil/{p-a825eb1f.entry.js.map → p-bc40ad21.entry.js.map} +0 -0
  512. /package/dist/infineon-design-system-stencil/{p-5a134c12.entry.js.map → p-c22f8c81.entry.js.map} +0 -0
  513. /package/dist/infineon-design-system-stencil/{p-15c2d91e.entry.js.map → p-c2e6cbdb.entry.js.map} +0 -0
  514. /package/dist/infineon-design-system-stencil/{p-21f9efe3.entry.js.map → p-c61a9185.entry.js.map} +0 -0
  515. /package/dist/infineon-design-system-stencil/{p-cc49128c.entry.js.map → p-c9aca4b7.entry.js.map} +0 -0
  516. /package/dist/infineon-design-system-stencil/{p-3f71f020.entry.js.map → p-cb0ddc9b.entry.js.map} +0 -0
  517. /package/dist/infineon-design-system-stencil/{p-d0afd036.entry.js.map → p-ce9e5451.entry.js.map} +0 -0
  518. /package/dist/infineon-design-system-stencil/{p-0b2330b1.entry.js.map → p-d31a6167.entry.js.map} +0 -0
  519. /package/dist/infineon-design-system-stencil/{p-95c0da4c.entry.js.map → p-d323e4ed.entry.js.map} +0 -0
  520. /package/dist/infineon-design-system-stencil/{p-6d82d306.entry.js.map → p-db4a364b.entry.js.map} +0 -0
  521. /package/dist/infineon-design-system-stencil/{p-f93d0e29.entry.js.map → p-dba5e033.entry.js.map} +0 -0
  522. /package/dist/infineon-design-system-stencil/{p-8c0caf65.entry.js.map → p-e6427f2e.entry.js.map} +0 -0
  523. /package/dist/infineon-design-system-stencil/{p-da42f326.entry.js.map → p-e8cde48d.entry.js.map} +0 -0
  524. /package/dist/infineon-design-system-stencil/{p-2cde10eb.entry.js.map → p-ea74d7ab.entry.js.map} +0 -0
  525. /package/dist/infineon-design-system-stencil/{p-bbc7a00e.entry.js.map → p-ee68427e.entry.js.map} +0 -0
  526. /package/dist/infineon-design-system-stencil/{p-d7b5242d.entry.js.map → p-f121e197.entry.js.map} +0 -0
  527. /package/dist/infineon-design-system-stencil/{p-85b95a9b.entry.js.map → p-f3383274.entry.js.map} +0 -0
  528. /package/dist/infineon-design-system-stencil/{p-0c6417aa.entry.js.map → p-fcf71895.entry.js.map} +0 -0
@@ -1,211 +0,0 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h } from './p-4c09147f.js';
2
- import { d as defineCustomElement$5 } from './p-995af7ca.js';
3
- import { d as defineCustomElement$4 } from './p-a2411b44.js';
4
- import { d as defineCustomElement$3 } from './p-1d98a3a6.js';
5
- import { d as defineCustomElement$2 } from './p-53704c65.js';
6
- import { d as defineCustomElement$1 } from './p-b537c83a.js';
7
-
8
- const templateCss = ".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}";
9
- const IfxTemplateStyle0 = templateCss;
10
-
11
- const Template = /*@__PURE__*/ proxyCustomElement(class Template extends H {
12
- constructor() {
13
- super();
14
- this.__registerHost();
15
- this.__attachShadow();
16
- this.toggleTemplates = createEvent(this, "toggleTemplates", 7);
17
- this.fieldError = createEvent(this, "fieldError", 7);
18
- this.repoDetails = { name: "", desc: "", framework: "" };
19
- this.repoUrl = undefined;
20
- this.showDetails = false;
21
- this.isTemplatePage = false;
22
- this.isLoading = true;
23
- this.repoError = undefined;
24
- this.name = undefined;
25
- this.thumbnail = undefined;
26
- }
27
- authUser() {
28
- const clientId = undefined;
29
- const redirectUri = 'http://localhost:6262/?path=/docs/dds-templates--development';
30
- const scope = undefined;
31
- const state = undefined;
32
- const authorizationUrl = `https://github.com/login/oauth/authorize?` +
33
- `client_id=${clientId}&` +
34
- `redirect_uri=${redirectUri}&` +
35
- `scope=${scope}&` +
36
- `state=${state}`;
37
- window.open(authorizationUrl, '_blank');
38
- }
39
- componentDidLoad() {
40
- const url = new URL(window.location.href);
41
- const code = url.searchParams.get('code');
42
- const { templateName } = this.getLocalStorageValues();
43
- if (code && this.name === templateName) {
44
- this.isTemplatePage = true;
45
- this.toggleTemplates.emit('details');
46
- this.getUserToken(code);
47
- }
48
- }
49
- getLocalStorageValues() {
50
- const repoName = localStorage.getItem('repo_name');
51
- const repoDesc = localStorage.getItem('repo_desc');
52
- const repoFramework = localStorage.getItem('repo_framework');
53
- const templateName = localStorage.getItem('selectedTemplate');
54
- return { repoName, repoDesc, repoFramework, templateName };
55
- }
56
- async getUserToken(authCode) {
57
- const { repoName, repoDesc, repoFramework, templateName } = this.getLocalStorageValues();
58
- fetch(`http://localhost:5000/token/${authCode}/${repoName}/${repoDesc}/${repoFramework}/${templateName}`)
59
- .then(response => {
60
- if (response.ok) {
61
- return response.text();
62
- }
63
- else {
64
- return response.text().then(errorMessage => {
65
- throw new Error(errorMessage);
66
- });
67
- }
68
- })
69
- .then(data => {
70
- if (data) {
71
- this.isLoading = false;
72
- this.repoUrl = data;
73
- localStorage.clear();
74
- }
75
- })
76
- .catch(error => {
77
- this.repoError = error.message;
78
- console.error('Error:', error.message);
79
- });
80
- }
81
- handleUserInput(e, type) {
82
- if (type === 'name') {
83
- this.repoDetails = Object.assign(Object.assign({}, this.repoDetails), { name: e.target.value });
84
- }
85
- else if (type === 'desc') {
86
- this.repoDetails = Object.assign(Object.assign({}, this.repoDetails), { desc: e.target.value });
87
- }
88
- else if (type === 'framework') {
89
- this.repoDetails = Object.assign(Object.assign({}, this.repoDetails), { framework: e.target.value });
90
- }
91
- }
92
- submitUserData() {
93
- if (this.repoDetails.name && this.repoDetails.desc && this.repoDetails.framework) {
94
- localStorage.setItem('repo_name', this.repoDetails.name);
95
- localStorage.setItem('repo_desc', this.repoDetails.desc);
96
- localStorage.setItem('repo_framework', this.repoDetails.framework);
97
- localStorage.setItem('selectedTemplate', this.name);
98
- this.fieldError.emit(false);
99
- this.authUser();
100
- }
101
- else {
102
- this.fieldError.emit('All fields are mandatory');
103
- }
104
- }
105
- togglePadding(action) {
106
- let parent = this.el.parentElement;
107
- if (parent) {
108
- const rootNode = parent.getRootNode();
109
- if (rootNode instanceof ShadowRoot) {
110
- parent = rootNode.host.parentElement;
111
- }
112
- else {
113
- parent = parent.parentElement;
114
- }
115
- if (action === 'remove') {
116
- parent.parentElement.style.padding = '0px';
117
- }
118
- else if (action === 'add') {
119
- parent.parentElement.style.padding = '4rem 20px';
120
- }
121
- }
122
- }
123
- handleCurrentTemplate(e) {
124
- if (e && !this.showDetails) {
125
- this.togglePadding('remove');
126
- const targetTemplate = e.currentTarget;
127
- this.toggleTemplates.emit(targetTemplate);
128
- this.showDetails = true;
129
- }
130
- }
131
- async toggleTemplate(currTemp) {
132
- const templateWrapper = this.el.shadowRoot.querySelector('.react__template-wrapper');
133
- if (templateWrapper) {
134
- if (!templateWrapper.classList.contains('hide') && currTemp) {
135
- if (templateWrapper !== currTemp) {
136
- templateWrapper.classList.add('hide');
137
- }
138
- }
139
- else {
140
- if (this.showDetails) {
141
- this.showDetails = false;
142
- }
143
- this.togglePadding('add');
144
- templateWrapper.classList.remove('hide');
145
- }
146
- }
147
- }
148
- render() {
149
- return (h("div", { key: 'de9032e360a189b62a9b6b861f2dabbdd21cb409' }, this.isTemplatePage
150
- ?
151
- h("div", { class: "template__page-wrapper" }, !this.repoUrl && !this.repoError &&
152
- h("div", null, h("h3", null, "Your repository is getting ready.."), h("p", null, "This will only take a minute.")), this.isLoading && !this.repoError && h("div", null, h("ifx-spinner", { variant: 'default', size: 's' })), this.repoUrl && h("ifx-link", { href: this.repoUrl, target: "_parent", size: "m", variant: "underlined" }, "Your repository"), this.repoError && h("div", null, this.repoError))
153
- :
154
- h("div", { class: "react__template-container" }, h("div", { class: "react__template-wrapper", onClick: (e) => this.handleCurrentTemplate(e) }, h("div", { class: "image__wrapper" }, h("img", { src: this.thumbnail }))), this.showDetails &&
155
- h("div", { class: "details__wrapper" }, h("div", { class: "selection__buttons-wrapper" }, h("div", { class: "selection__input" }, h("input", { type: "radio", id: "react", name: "chosen_framework", value: "react", onInput: (e) => this.handleUserInput(e, 'framework') }), h("label", { htmlFor: "react" }, "React")), h("div", { class: "selection__input vue" }, h("input", { class: "vue__input", disabled: true, type: "radio", id: "vue", name: "chosen_framework", value: "vue", onInput: (e) => this.handleUserInput(e, 'framework') }), h("label", { class: "vue__label", htmlFor: "vue" }, "Vue"), " (Soon)")), h("div", { class: "input__fields-wrapper" }, h("ifx-text-field", { required: true, onInput: (e) => this.handleUserInput(e, 'name'), size: "m", icon: "c-info-16", placeholder: "Your repository name" }, "Repository Name"), h("ifx-text-field", { required: true, size: "m", icon: "c-info-16", onInput: (e) => this.handleUserInput(e, 'desc'), placeholder: "Your repository description" }, "Repository Description"), h("ifx-button", { fullWidth: true, onClick: () => this.submitUserData(), variant: 'primary' }, "Generate template"))))));
156
- }
157
- get el() { return this; }
158
- static get style() { return IfxTemplateStyle0; }
159
- }, [1, "ifx-template", {
160
- "name": [1],
161
- "thumbnail": [1],
162
- "repoDetails": [32],
163
- "repoUrl": [32],
164
- "showDetails": [32],
165
- "isTemplatePage": [32],
166
- "isLoading": [32],
167
- "repoError": [32],
168
- "toggleTemplate": [64]
169
- }]);
170
- function defineCustomElement() {
171
- if (typeof customElements === "undefined") {
172
- return;
173
- }
174
- const components = ["ifx-template", "ifx-button", "ifx-icon", "ifx-link", "ifx-spinner", "ifx-text-field"];
175
- components.forEach(tagName => { switch (tagName) {
176
- case "ifx-template":
177
- if (!customElements.get(tagName)) {
178
- customElements.define(tagName, Template);
179
- }
180
- break;
181
- case "ifx-button":
182
- if (!customElements.get(tagName)) {
183
- defineCustomElement$5();
184
- }
185
- break;
186
- case "ifx-icon":
187
- if (!customElements.get(tagName)) {
188
- defineCustomElement$4();
189
- }
190
- break;
191
- case "ifx-link":
192
- if (!customElements.get(tagName)) {
193
- defineCustomElement$3();
194
- }
195
- break;
196
- case "ifx-spinner":
197
- if (!customElements.get(tagName)) {
198
- defineCustomElement$2();
199
- }
200
- break;
201
- case "ifx-text-field":
202
- if (!customElements.get(tagName)) {
203
- defineCustomElement$1();
204
- }
205
- break;
206
- } });
207
- }
208
-
209
- export { Template as T, defineCustomElement as d };
210
-
211
- //# sourceMappingURL=p-80d6c6e4.js.map
@@ -1 +0,0 @@
1
- {"file":"p-80d6c6e4.js","mappings":"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","names":[],"sources":["src/components/templates/template/template.scss?tag=ifx-template&encapsulation=shadow","src/components/templates/template/template.tsx"],"sourcesContent":["\n.react__template-wrapper { \n display: flex;\n width: 300px;\n height: 200px;\n border-radius: 3px;\n border: 1px solid #ccc;\n\n &.hide { \n display: none;\n }\n \n &:hover { \n cursor: pointer;\n }\n}\n\n.template__page-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n text-align: center;\n\n & .repository__url { \n text-decoration: none;\n }\n}\n\n.input__fields-wrapper { \n display: flex;\n flex-direction: column;\n gap: 10px;\n\n}\n\n.details__wrapper { \n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.selection__buttons-wrapper { \n display: flex;\n gap: 10px;\n padding-top: 10px;\n align-items: center;\n & .vue__label { \n color: #ccc;\n }\n\n & label:not(.vue__label) { \n &:hover { \n cursor: pointer;\n }\n }\n\n & .selection__input { \n display: flex;\n align-items: center;\n gap: 5px;\n & input { \n margin: 0;\n height: 20px;\n width: 20px;\n &:hover:not(.vue__input) { \n cursor: pointer;\n }\n }\n }\n}\n\n.image__wrapper { \n img { \n position: relative;\n width: 300px;\n height: 100%;\n border-radius: 3px;\n object-fit: contain;\n transition: transform .2s;\n &:hover { \n transform: scale(2);\n top: 50px;\n z-index: 100;\n }\n }\n}","import { Component, h, Element, State, Prop, Event, EventEmitter, Method } from '@stencil/core';\n\n@Component({\n tag: 'ifx-template',\n styleUrl: 'template.scss',\n shadow: true,\n})\nexport class Template {\n @Element() el: HTMLElement;\n @State() repoDetails: { name: string, desc: string, framework: string } = { name: \"\", desc: \"\", framework: \"\" };\n @State() repoUrl: string;\n @State() showDetails: boolean = false;\n @State() isTemplatePage: boolean = false;\n @State() isLoading: boolean = true;\n @State() repoError: string;\n @Prop() name: string;\n @Event() toggleTemplates: EventEmitter;\n @Event() fieldError: EventEmitter;\n @Prop() thumbnail: string;\n\n authUser() { \n const clientId = process.env.CLIENT_ID;\n const redirectUri = 'http://localhost:6262/?path=/docs/dds-templates--development';\n const scope = process.env.SCOPE;\n const state = process.env.STATE;\n\n const authorizationUrl = `https://github.com/login/oauth/authorize?` +\n `client_id=${clientId}&` +\n `redirect_uri=${redirectUri}&` +\n `scope=${scope}&` +\n `state=${state}`;\n \n window.open(authorizationUrl, '_blank'); \n }\n\n componentDidLoad() { \n const url = new URL(window.location.href);\n const code = url.searchParams.get('code');\n const { templateName } = this.getLocalStorageValues()\n if(code && this.name === templateName) { \n this.isTemplatePage = true;\n this.toggleTemplates.emit('details')\n this.getUserToken(code)\n } \n }\n\n getLocalStorageValues() { \n const repoName = localStorage.getItem('repo_name');\n const repoDesc = localStorage.getItem('repo_desc');\n const repoFramework = localStorage.getItem('repo_framework');\n const templateName = localStorage.getItem('selectedTemplate');\n return { repoName, repoDesc, repoFramework, templateName }\n }\n\n async getUserToken(authCode) {\n const { repoName, repoDesc, repoFramework, templateName } = this.getLocalStorageValues();\n\n fetch(`http://localhost:5000/token/${authCode}/${repoName}/${repoDesc}/${repoFramework}/${templateName}`)\n .then(response => {\n if (response.ok) {\n return response.text();\n } else {\n return response.text().then(errorMessage => {\n throw new Error(errorMessage);\n });\n }\n })\n .then(data => { \n if(data) { \n this.isLoading = false;\n this.repoUrl = data;\n localStorage.clear();\n } \n })\n .catch(error => {\n this.repoError = error.message;\n console.error('Error:', error.message)\n });\n }\n\n handleUserInput(e, type) { \n if (type === 'name') {\n this.repoDetails = { ...this.repoDetails, name: e.target.value };\n } else if (type === 'desc') {\n this.repoDetails = { ...this.repoDetails, desc: e.target.value };\n } else if(type === 'framework') { \n this.repoDetails = { ...this.repoDetails, framework: e.target.value };\n }\n }\n\n submitUserData() { \n if(this.repoDetails.name && this.repoDetails.desc && this.repoDetails.framework) { \n localStorage.setItem('repo_name', this.repoDetails.name);\n localStorage.setItem('repo_desc', this.repoDetails.desc);\n localStorage.setItem('repo_framework', this.repoDetails.framework);\n localStorage.setItem('selectedTemplate', this.name);\n this.fieldError.emit(false)\n this.authUser()\n } else { \n this.fieldError.emit('All fields are mandatory')\n }\n }\n\n togglePadding(action) { \n let parent = this.el.parentElement;\n if (parent) {\n const rootNode = parent.getRootNode();\n if (rootNode instanceof ShadowRoot) {\n parent = rootNode.host.parentElement;\n } else {\n parent = parent.parentElement;\n }\n if(action === 'remove') { \n parent.parentElement.style.padding = '0px';\n } else if(action === 'add') { \n parent.parentElement.style.padding = '4rem 20px';\n }\n }\n }\n\n handleCurrentTemplate(e) { \n if(e && !this.showDetails) { \n this.togglePadding('remove')\n const targetTemplate = e.currentTarget;\n this.toggleTemplates.emit(targetTemplate)\n this.showDetails = true;\n } \n }\n\n @Method()\n async toggleTemplate(currTemp) { \n const templateWrapper = this.el.shadowRoot.querySelector('.react__template-wrapper');\n if(templateWrapper) { \n if(!templateWrapper.classList.contains('hide') && currTemp ) { \n if(templateWrapper !== currTemp) {\n templateWrapper.classList.add('hide')\n }\n } else { \n if(this.showDetails) { \n this.showDetails = false;\n }\n this.togglePadding('add')\n templateWrapper.classList.remove('hide')\n }\n }\n }\n\n \n render() {\n return (\n <div>\n {this.isTemplatePage \n ? \n <div class=\"template__page-wrapper\">\n {!this.repoUrl && !this.repoError && \n <div>\n <h3>Your repository is getting ready..</h3>\n <p>This will only take a minute.</p>\n </div>}\n {this.isLoading && !this.repoError && <div><ifx-spinner variant='default' size='s' /></div>}\n {this.repoUrl && <ifx-link href={this.repoUrl} target=\"_parent\" size=\"m\" variant=\"underlined\">Your repository</ifx-link>}\n {this.repoError && <div>{this.repoError}</div>}\n </div> \n : \n <div class=\"react__template-container\">\n <div class=\"react__template-wrapper\" onClick={(e) => this.handleCurrentTemplate(e)}>\n <div class=\"image__wrapper\">\n <img src={this.thumbnail} />\n </div>\n </div>\n {this.showDetails && \n <div class=\"details__wrapper\">\n <div class=\"selection__buttons-wrapper\">\n <div class=\"selection__input\">\n <input type=\"radio\" id=\"react\" name=\"chosen_framework\" value=\"react\" onInput={(e) => this.handleUserInput(e, 'framework')} />\n <label htmlFor=\"react\">React</label>\n </div>\n <div class=\"selection__input vue\">\n <input class=\"vue__input\" disabled type=\"radio\" id=\"vue\" name=\"chosen_framework\" value=\"vue\" onInput={(e) => this.handleUserInput(e, 'framework')}/>\n <label class=\"vue__label\" htmlFor=\"vue\">Vue</label> (Soon)\n </div>\n </div>\n \n\n <div class=\"input__fields-wrapper\">\n <ifx-text-field required={true} onInput={(e) => this.handleUserInput(e, 'name')} size=\"m\" icon=\"c-info-16\" placeholder=\"Your repository name\">Repository Name</ifx-text-field>\n\n <ifx-text-field required={true} size=\"m\" icon=\"c-info-16\" onInput={(e) => this.handleUserInput(e, 'desc')} placeholder=\"Your repository description\">Repository Description</ifx-text-field>\n\n <ifx-button fullWidth={true} onClick={() => this.submitUserData()} variant='primary'>Generate template</ifx-button>\n </div>\n \n </div>}\n </div>}\n </div>\n );\n }\n}"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-81263927.js","mappings":";;;AAAA,MAAM,QAAQ,GAAG,soFAAsoF,CAAC;AACxpF,uBAAe,QAAQ;;MCMV,KAAK;;;;;;QAQhB,yBAAoB,GAAG;YACrB,SAAS,EAAE,eAAe;YAC1B,SAAS,EAAE,eAAe;YAC1B,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,eAAe;YAC1B,MAAM,EAAE,eAAe;SACxB,CAAC;uBAbuE,SAAS;;wBAGtD,IAAI;wBACb,WAAW;;;IAW9B,WAAW;QACT,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACtB;IAED,iBAAiB;QACf,QACE,WAAK,KAAK,EAAC,oBAAoB,IAC7B,cAAQ,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAa,eAAe,IACtE,gBAAU,IAAI,EAAC,UAAU,GAAG,CACrB,CACL,EACN;KACH;IAED,gBAAgB,CAAC,MAAM,GAAG,IAAI;QAC5B,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;KAClE;IAED,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;SAChD;KACF;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,KAAK,MAAM,IAC5B,WAAK,KAAK,EAAC,qBAAqB,EAAC,IAAI,EAAC,OAAO,eAAY,IAAI,CAAC,QAAQ,sBAAoB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAkB,8BAA8B,IAC/K,WAAK,KAAK,EAAC,oBAAoB,IAC7B,WAAK,KAAK,EAAC,wBAAwB,IACjC,YAAM,IAAI,EAAC,UAAU,GAAG,CACpB,EACN,WAAK,EAAE,EAAE,qBAAqB,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAC,2BAA2B,IAC9E,YAAM,IAAI,EAAC,MAAM,GAAG,CAChB,CACF,EACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAC5C,KAEN,WAAK,KAAK,EAAE,SAAS,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAC,OAAO,IAC9C,IAAI,CAAC,IAAI,KACR,WAAK,KAAK,EAAC,cAAc,IACvB,gBAAU,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,CACzB,CACP,EACD,WAAK,KAAK,EAAC,YAAY,EAAC,EAAE,EAAE,cAAc,IAAI,CAAC,QAAQ,EAAE,IACvD,eAAQ,CACJ,EACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAC5C,CACP,CAAC;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/alert/alert.scss?tag=ifx-alert&encapsulation=shadow","src/components/alert/alert.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: block;\n}\n\n.alert__info-wrapper {\n display: flex;\n padding: 16px 24px;\n font-family: var(--ifx-font-family);\n box-shadow: 0px 6px 9px 0px #1D1D1D1A;\n\n\n & .info__text-wrapper {\n display: flex;\n flex-direction: column;\n gap: tokens.$ifxSpace100;\n width: 100%;\n\n & .info__headline-wrapper {\n display: -webkit-box;\n -webkit-line-clamp: 1;\n line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n & .info__headline-wrapper,\n .info__description-wrapper {\n color: #1D1D1D;\n font-size: 16px;\n font-style: normal;\n font-weight: 600;\n line-height: 24px;\n\n ::slotted(p) {\n padding: 0;\n margin: 0;\n }\n }\n\n & .info__description-wrapper {\n font-weight: 400;\n }\n }\n\n & .close-icon-wrapper {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-start;\n //min-width: tokens.$ifxSize500;\n\n & button {\n all: unset;\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 0;\n color: tokens.$ifxColorBaseBlack;\n height: tokens.$ifxSize300;\n width: tokens.$ifxSize300;\n\n\n &:focus {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n }\n }\n }\n}\n\n.alert {\n display: flex;\n border: 1px solid tokens.$ifxColorOcean500;\n border-radius: tokens.$ifxBorderRadius12;\n color: tokens.$ifxColorBaseBlack;\n background-color: tokens.$ifxColorBaseWhite;\n font-family: var(--ifx-font-family);\n box-shadow: 0px 6px 9px 0px #1D1D1D1A;\n\n\n & .close-icon-wrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: tokens.$ifxSize500;\n\n & button {\n all: unset;\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 0;\n color: tokens.$ifxColorBaseBlack;\n height: tokens.$ifxSize300;\n width: tokens.$ifxSize300;\n\n &:focus {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n }\n }\n }\n\n & .icon-wrapper {\n position: relative;\n min-width: tokens.$ifxSize600;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: tokens.$ifxColorOcean500;\n }\n\n & .alert-text {\n font-size: 16px;\n width: 100%;\n padding: 12px 0px 12px 12px;\n color: tokens.$ifxColorBaseBlack;\n\n white-space: pre-wrap;\n /* wraps text at spaces and within words */\n word-wrap: break-word;\n /* breaks text within a word if necessary */\n overflow-wrap: anywhere;\n /* breaks text at arbitrary points when needed */\n }\n\n &.primary {\n border: 1px solid tokens.$ifxColorOcean500;\n\n & .icon-wrapper {\n background-color: tokens.$ifxColorOcean500;\n color: tokens.$ifxColorBaseWhite;\n }\n }\n\n &.success {\n border: 1px solid tokens.$ifxColorGreen500;\n\n & .icon-wrapper {\n background-color: tokens.$ifxColorGreen500;\n color: tokens.$ifxColorBaseWhite;\n }\n }\n\n &.danger {\n border: 1px solid tokens.$ifxColorRed500;\n\n & .icon-wrapper {\n background-color: tokens.$ifxColorRed500;\n color: tokens.$ifxColorBaseWhite;\n }\n }\n\n &.warning {\n border: 1px solid tokens.$ifxColorOrange500;\n\n & .icon-wrapper {\n background-color: tokens.$ifxColorOrange500;\n color: tokens.$ifxColorBaseWhite;\n }\n }\n}\n\n.close-icon-wrapper {\n & ifx-icon {\n &:hover {\n cursor: pointer;\n }\n }\n}","import { Component, Prop, h, Event, EventEmitter, State } from '@stencil/core';\n\n@Component({\n tag: 'ifx-alert',\n styleUrl: 'alert.scss',\n shadow: true,\n})\nexport class Alert {\n @Prop() variant: 'primary' | 'success' | 'danger' | 'warning' | 'info' = 'primary';\n @Prop() icon: string;\n @Event() ifxClose: EventEmitter;\n @Prop() closable: boolean = true;\n @Prop() AriaLive = 'assertive';\n @State() uniqueId: string;\n\n alertTypeDescription = {\n \"primary\": 'Neutral alert',\n \"success\": 'Success Alert',\n \"danger\": 'Error Alert',\n \"warning\": 'Warning Alert',\n \"info\": 'Neutral alert',\n };\n\n handleClose() {\n this.ifxClose.emit();\n }\n\n renderCloseButton() {\n return (\n <div class=\"close-icon-wrapper\">\n <button onClick={this.handleClose.bind(this)} aria-label=\"Dismiss alert\">\n <ifx-icon icon=\"cross-16\" />\n </button>\n </div>\n );\n }\n\n generateUniqueId(prefix = 'id') {\n return `${prefix}-${Math.random().toString(36).substring(2, 9)}`;\n }\n\n componentWillLoad() { \n if (!this.uniqueId) {\n this.uniqueId = this.generateUniqueId('alert');\n }\n }\n\n render() {\n return this.variant === 'info' ? (\n <div class=\"alert__info-wrapper\" role=\"alert\" aria-live={this.AriaLive} aria-describedby={this.alertTypeDescription[this.variant]} aria-labelledby=\"alert-text alert-description\">\n <div class=\"info__text-wrapper\">\n <div class=\"info__headline-wrapper\">\n <slot name=\"headline\" />\n </div>\n <div id={`alert-description-${this.uniqueId}`} class=\"info__description-wrapper\">\n <slot name=\"desc\" />\n </div>\n </div>\n {this.closable ? this.renderCloseButton() : null}\n </div>\n ) : (\n <div class={`alert ${this.variant}`} role=\"alert\">\n {this.icon && (\n <div class=\"icon-wrapper\">\n <ifx-icon icon={this.icon} />\n </div>\n )}\n <div class=\"alert-text\" id={`alert-text-${this.uniqueId}`}>\n <slot />\n </div>\n {this.closable ? this.renderCloseButton() : null}\n </div>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-96fbc3db.js","mappings":"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","names":[],"sources":["src/components/select/multi-select/multiselect.scss?tag=ifx-multiselect&encapsulation=shadow","src/components/select/multi-select/multiselect.tsx"],"sourcesContent":["// @import '~choices.js/public/assets/styles/choices.css';\n@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../../global/font.scss\";\n\n.ifx-multiselect-container {\n position: relative;\n box-sizing: border-box;\n font-family: var(--ifx-font-family);\n\n &.small-select {\n height: 36px;\n }\n\n &.medium-select {\n height: 40px;\n }\n\n &:hover {\n cursor: pointer;\n }\n\n\n .ifx-label-wrapper {\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: anywhere;\n max-width: 100%;\n }\n\n .ifx-error-message-wrapper {\n color: #CD002F;\n font-size: tokens.$ifxFontSizeXs;\n line-height: tokens.$ifxLineHeightXs;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: anywhere;\n max-width: 100%;\n }\n\n .ifx-multiselect-wrapper {\n background-color: tokens.$ifxColorBaseWhite;\n box-sizing: border-box;\n position: relative;\n display: flex;\n align-items: center;\n border: 1px solid tokens.$ifxColorEngineering400;\n border-radius: tokens.$ifxBorderRadius12;\n width: 100%;\n font-weight: 400;\n font-style: normal;\n\n\n &.small-select {\n height: 36px;\n padding: 8px 12px;\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n }\n\n &.medium-select {\n height: 40px;\n padding: 8px 16px;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n }\n\n &:focus-visible {\n outline: none;\n }\n\n &:focus-visible:not(.active):not(:active) {\n outline: none;\n\n &::before {\n content: '';\n position: absolute;\n width: calc(100% + 4px);\n height: calc(100% + 4px);\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n border: 2px solid tokens.$ifxColorOcean500;\n border-radius: 2px;\n\n }\n }\n\n &.disabled {\n background: tokens.$ifxColorEngineering200;\n color: #575352;\n border-color: #575352;\n cursor: default;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n }\n\n &.error {\n border-color: #CD002F;\n }\n\n &:hover:not(.focus, :focus) {\n border-color: tokens.$ifxColorEngineering500;\n }\n\n &.active {\n border-color: tokens.$ifxColorOcean500 !important; // Active border color\n\n & .icon-wrapper-up {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: tokens.$ifxSpace100;\n }\n\n & .icon-wrapper-down {\n display: none\n }\n }\n\n\n & .icon-wrapper-up {\n display: none;\n }\n\n & .icon-wrapper-down {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: tokens.$ifxSpace100;\n }\n\n &.is-flipped {\n .ifx-multiselect-dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n }\n }\n\n .ifx-multiselect-input {\n flex-grow: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &.placeholder {\n opacity: 0.5;\n }\n\n }\n\n\n .ifx-multiselect-icon-container {\n margin-left: auto;\n align-items: center;\n display: flex;\n }\n\n\n .ifx-clear-button {\n display: flex;\n }\n\n .ifx-multiselect-dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n margin-top: 2px;\n background-color: #fff;\n box-shadow: 0px 6px 9px 0px rgba(29, 29, 29, 0.10);\n max-height: 300px;\n /* Adjust based on your design */\n overflow-y: auto;\n z-index: var(--dynamic-z-index, 1); // Fallback to 1\n\n .search-input {\n position: sticky;\n top: 0;\n left: 0;\n z-index: 1;\n width: 100%;\n padding: 8px 16px;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n font-style: normal;\n font-weight: 400;\n box-sizing: border-box;\n background-color: tokens.$ifxColorBaseWhite;\n border: none;\n border-bottom: 1px solid tokens.$ifxColorEngineering400;\n\n &:focus {\n outline: none;\n border: 1px solid tokens.$ifxColorOcean500;\n }\n\n // Optional: Placeholder style\n &::placeholder {\n color: #999;\n }\n }\n }\n\n .option {\n position: relative;\n padding: 8px 16px;\n gap: 8px;\n align-items: center;\n display: flex;\n font-style: normal;\n font-weight: 400;\n\n &.small-select {\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n }\n\n &.medium-select {\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n }\n\n &:hover {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &:focus:not(.disabled) {\n background-color: tokens.$ifxColorEngineering300;\n outline: none;\n }\n\n &.is-highlighted {\n background-color: tokens.$ifxColorEngineering200;\n ;\n }\n\n &.selected {\n // color: #0A8276;\n }\n\n &.sub-option {\n padding-left: 30px;\n /* or however much indentation you want */\n }\n\n &.disabled {\n &:hover {\n cursor: default;\n }\n }\n\n label {\n cursor: inherit;\n }\n }\n\n\n\n}\n\n.select-all-wrapper {\n padding-top: 8px;\n}","import { Component, Prop, State, Event, EventEmitter, Element, h, Watch, AttachInternals } from '@stencil/core';\nimport { Option } from './interfaces';\n\n// Debounce function\nfunction debounce(func, wait) {\n let timeout;\n return function executedFunction(...args) {\n const later = () => {\n clearTimeout(timeout);\n func(...args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n };\n};\n\n@Component({\n tag: 'ifx-multiselect',\n styleUrl: 'multiselect.scss',\n shadow: true,\n formAssociated: true\n})\n\n\n\nexport class Multiselect {\n\n @Prop() name: string;\n @Prop() options: any[] | string;\n @Prop() batchSize: number = 50;\n @Prop() size: string = 'medium (40px)';\n @Prop() disabled: boolean = false;\n @Prop() error: boolean = false;\n @State() internalError: boolean = false;\n @Prop() errorMessage: string = \"Error\";\n @State() internalErrorMessage: string;\n @Prop() label: string = \"\";\n @State() persistentSelectedOptions: Option[] = [];\n @Prop() placeholder: string = \"\";\n @State() dropdownOpen = false;\n @State() dropdownFlipped: boolean;\n @Prop() maxItemCount: number;\n @State() zIndex: number = 1; // default z-index value\n static globalZIndex = 1; // This will be shared among all instances of the component.\n private currentIndex: number = 0; //needed for option selection using keyboard\n @State() isLoading: boolean = false;\n @State() loadedOptions: Option[] = [];\n @State() filteredOptions: Option[] = [];\n @Prop() showSearch: boolean = true;\n @Prop() showSelectAll: boolean = true;\n @State() optionCount: number = 0; // number of all options (leaves of the tree)\n @State() optionsProcessed: boolean = false; // flag whether options have already been counted, intial selections saved\n\n\n @Event() ifxSelect: EventEmitter;\n @Event() ifxMultiselectIsOpen: EventEmitter;\n\n @Element() el: HTMLElement;\n dropdownElement!: HTMLElement;\n\n @AttachInternals() internals: ElementInternals;\n\n\n @Watch('options')\n updateOptions() { \n this.loadedOptions = [];\n this.filteredOptions = [];\n this.optionCount = 0;\n this.optionsProcessed = false;\n this.persistentSelectedOptions = [];\n\n this.loadInitialOptions();\n }\n\n\n async loadInitialOptions() {\n this.isLoading = true;\n this.internalError = this.error;\n this.internalErrorMessage = this.errorMessage;\n // Load the first batch of options (e.g., first 20)\n this.loadedOptions = await this.fetchOptions(0, this.batchSize);\n this.isLoading = false;\n }\n\n async fetchMoreOptions() {\n this.isLoading = true;\n const moreOptions = await this.fetchOptions(this.loadedOptions.length, this.batchSize);\n this.loadedOptions = [...this.loadedOptions, ...moreOptions];\n this.isLoading = false;\n }\n\n\n handleScroll(event: UIEvent) {\n const element = event.target as HTMLElement;\n const halfwayPoint = Math.floor((element.scrollHeight - element.clientHeight) / 2); //loading more options when the user has scrolled halfway through the current list\n\n if (element.scrollTop >= halfwayPoint) {\n this.fetchMoreOptions();\n }\n }\n\n\n\n\n async fetchOptions(startIndex: number, count: number): Promise<Option[]> {\n let allOptions: Option[] = [];\n\n // Parse options if it's a string, or use directly if it's an array\n if (typeof this.options === 'string') {\n try {\n allOptions = JSON.parse(this.options);\n \n } catch (err) {\n console.error('Failed to parse options:', err);\n }\n } else if (Array.isArray(this.options)) {\n allOptions = this.options;\n } else {\n console.error('Unexpected value for options:', this.options);\n }\n\n if (!this.optionsProcessed) {\n this.optionCount = this.countOptions(allOptions);\n const initiallySelected = this.collectSelectedOptions(allOptions);\n const initallySelectedNotInState = initiallySelected.filter(init => !this.persistentSelectedOptions.some(opt => opt.value == init.value));\n this.persistentSelectedOptions = [...this.persistentSelectedOptions, ...initallySelectedNotInState];\n this.optionsProcessed = true;\n }\n \n // Slice the options array based on startIndex and count\n const slicedOptions = allOptions.slice(startIndex, startIndex + count);\n return slicedOptions;\n }\n\n /**\n * Collects and returns all options that are selected.\n * When the parent is selected, then the value of the children will be overriden with selected as well.\n * It will only collect the leaves of the tree.\n * \n * @param options A list of options.\n * @returns A list with all selected options\n */\n private collectSelectedOptions(options: Option[]): Option[] {\n let selectedOptions: Option[] = [];\n \n for (const option of options) {\n if (option.selected) {\n if (option.children && option.children.length > 0) {\n // if parent is selected, then select all child options\n selectedOptions = selectedOptions.concat(this.collectLeafOptions(option.children));\n } else {\n selectedOptions.push(option);\n }\n } else {\n if (option.children && option.children.length > 0) {\n selectedOptions = selectedOptions.concat(this.collectSelectedOptions(option.children));\n }\n }\n }\n return selectedOptions;\n }\n\n /**\n * Collects all leaf children options.\n * \n * @param option A list with all leaf-children.\n */\n private collectLeafOptions(children: Option[]): Option[] {\n let leafOptions = [];\n \n for (const child of children) {\n if (child.children && child.children.length > 0) {\n leafOptions = leafOptions.concat(this.collectLeafOptions(child.children));\n } else {\n leafOptions.push(child);\n }\n } \n return leafOptions;\n }\n\n /**\n * Count the number of options. Only counts the leaves of the options tree.\n */\n countOptions(options: Option[]): number {\n let count = 0;\n for (const option of options) {\n if (option.children && option.children.length >= 0) {\n count += this.countOptions(option.children);\n } else {\n count++;\n }\n }\n return count;\n }\n\n\n handleSearch = debounce((targetElement: HTMLInputElement) => {\n const searchTerm = targetElement.value.toLowerCase();\n if (searchTerm === '') {\n this.filteredOptions = this.loadedOptions;\n } else {\n this.filteredOptions = this.loadedOptions.filter(option => option.label.toLowerCase().includes(searchTerm))\n }\n }, 300);\n\n componentDidLoad() {\n setTimeout(() => {\n this.positionDropdown();\n }, 500);\n\n // setInterval(this.handleScroll, 5000); // Runs every 5 seconds (5000 milliseconds)\n }\n\n componentWillLoad() {\n this.loadInitialOptions();\n this.filteredOptions = [...this.loadedOptions];\n }\n\n @Watch('error')\n updateInternalError() {\n this.internalError = this.error;\n }\n\n @Watch('errorMessage')\n updateInternalErrorMessage() {\n this.internalErrorMessage = this.errorMessage;\n }\n\n @Watch('loadedOptions')\n loadedOptionsChanged() {\n this.filteredOptions = [...this.loadedOptions];\n }\n\n @Watch('persistentSelectedOptions')\n onSelectionChange(newValue: Option[], _: Option[]) {\n const formData = new FormData();\n newValue.forEach(option => formData.append(this.name, option.value));\n this.internals.setFormValue(formData);\n }\n\n handleOptionClick(option: Option) {\n this.internalError = false;\n\n if (!option.selected && this.isSelectionLimitReached(option)) {\n option.checkboxRef.toggleCheckedState(false)\n this.internalError = true;\n this.internalErrorMessage = \"Please consider the maximum number of items to choose from\";\n return;\n }\n \n this.updateSelection(option);\n this.ifxSelect.emit(this.persistentSelectedOptions);\n }\n\n\n isSelectionLimitReached(option: Option): boolean {\n let newOptionsLength = option.children ? option.children.length : 1;\n return this.maxItemCount && this.persistentSelectedOptions.length + newOptionsLength > this.maxItemCount &&\n !this.persistentSelectedOptions.some(selectedOption => selectedOption.value === option.value)\n }\n\n updateSelection(option: Option) {\n const wasSelected = this.persistentSelectedOptions.some(selectedOption => selectedOption.value === option.value);\n\n if (option.children && option.children.length > 0) {\n this.handleParentOptionClick(option);\n } else {\n this.handleChildOptionClick(option, wasSelected);\n }\n }\n\n async selectAll() {\n const allOptions = await this.fetchOptions(0, this.optionCount);\n this.selectAllRecursive(allOptions);\n \n this.ifxSelect.emit(this.persistentSelectedOptions);\n }\n\n private selectAllRecursive(options: Option[]) {\n for (const opt of options) {\n if (opt.children && opt.children.length > 0) {\n this.selectAllRecursive(opt.children);\n } else {\n if (!this.persistentSelectedOptions.some((some) => some.value === opt.value )) {\n opt.selected = true;\n this.persistentSelectedOptions = [...this.persistentSelectedOptions, opt];\n }\n }\n }\n\n }\n\n handleParentOptionClick(option: Option) {\n const allChildrenSelected = option.children.every(child =>\n this.persistentSelectedOptions.some(selectedOption => selectedOption.value === child.value)\n );\n\n if (allChildrenSelected) {\n this.persistentSelectedOptions = [...this.persistentSelectedOptions.filter(\n selectedOption => !option.children.some(child => child.value === selectedOption.value)\n )];\n\n option.selected = false;\n option.children.forEach(child => {\n child.selected = false;\n })\n\n } else {\n const newChildren = [...option.children.filter(childOption =>\n !this.persistentSelectedOptions.some(selectedOption => selectedOption.value === childOption.value)\n )];\n option.selected = true;\n option.children.forEach(child => {\n child.selected = true;\n })\n this.persistentSelectedOptions = [...this.persistentSelectedOptions, ...newChildren];\n }\n }\n\n handleChildOptionClick(option: Option, wasSelected: boolean) {\n if (wasSelected) {\n this.persistentSelectedOptions = [...this.persistentSelectedOptions.filter(selectedOption => selectedOption.value !== option.value)];\n option.selected = false;\n } else {\n this.persistentSelectedOptions = [...this.persistentSelectedOptions, option];\n option.selected = true;\n }\n this.updateParentSelectedState();\n }\n\n updateParentSelectedState() {\n this.loadedOptions.forEach(option => {\n if(option.children?.length > 0) {\n if(option.children.every(child => child.selected === true)) option.selected = true;\n else {\n option.selected = false;\n if(this.isOptionIndeterminate(option)) {\n option.indeterminate = true;\n }else{\n option.indeterminate = false;\n }\n }\n }\n });\n }\n\n\n\n handleDocumentClick = (event: Event) => {\n const path = event.composedPath();\n if (!path.includes(this.dropdownElement)) {\n this.dropdownOpen = false;\n document.removeEventListener('click', this.handleDocumentClick);\n\n // Dispatch the ifxMultiselectIsOpen event\n this.ifxMultiselectIsOpen.emit(this.dropdownOpen);\n }\n }\n\n getSizeClass() {\n return `${this.size}` === \"s\"\n ? \"small-select\"\n : \"medium-select\";\n }\n\n toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n setTimeout(() => {\n if (this.dropdownOpen) {\n document.addEventListener('click', this.handleDocumentClick);\n }\n // Dispatch the ifxMultiselectIsOpen event\n this.ifxMultiselectIsOpen.emit(this.dropdownOpen);\n }, 0);\n this.zIndex = Multiselect.globalZIndex++;\n }\n\n\n waitForElement(querySelectorFunc: Function, callback: Function, maxTries = 50) {\n let tries = 0;\n function request() {\n requestAnimationFrame(() => {\n const elements = querySelectorFunc();\n if (elements.length > 0 || tries > maxTries) {\n callback(elements);\n } else {\n tries++;\n request();\n }\n });\n }\n request();\n }\n\n\n handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) return; // If it's disabled, don't do anything.\n\n const options = this.dropdownElement.querySelectorAll('.option');\n \n switch (event.code) {\n case 'Enter':\n this.toggleDropdown();\n // Wait a bit for the dropdown to finish rendering\n this.waitForElement(() => {\n return this.dropdownElement.querySelectorAll('.option');\n }, (options) => {\n this.updateHighlightedOption(options);\n });\n break;\n case 'Space': \n this.toggleDropdown();\n // Wait a bit for the dropdown to finish rendering\n this.waitForElement(() => {\n return this.dropdownElement.querySelectorAll('.option');\n }, (options) => {\n this.updateHighlightedOption(options);\n });\n break;\n case 'ArrowDown':\n this.handleArrowDown(options);\n if (this.dropdownOpen) {\n this.updateHighlightedOption(options);\n }\n break;\n case 'ArrowUp':\n this.handleArrowUp(options);\n if (this.dropdownOpen) {\n this.updateHighlightedOption(options);\n }\n break;\n }\n }\n\n handleWrapperClick(event: MouseEvent) {\n // This is your existing logic for positioning the dropdown\n this.positionDropdown();\n\n // Check if the event target is the wrapper itself and not a child element.\n if (event.currentTarget === event.target) {\n this.toggleDropdown();\n }\n }\n\n clearSelection() {\n this.persistentSelectedOptions = [];\n this.ifxSelect.emit(this.persistentSelectedOptions); // if you want to emit empty selection after clearing\n }\n\n positionDropdown() {\n const wrapperRect = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper')?.getBoundingClientRect();\n const spaceBelow = window.innerHeight - wrapperRect.bottom;\n const spaceAbove = wrapperRect.top;\n\n // If there's more space above than below the trigger and the dropdown doesn't fit below\n if ((spaceAbove > spaceBelow && wrapperRect.height > spaceBelow) || (wrapperRect.bottom > window.innerHeight)) {\n this.dropdownFlipped = true;\n } else {\n this.dropdownFlipped = false;\n }\n }\n\n\n\n // Helper function to update highlighted option based on currentIndex\n private updateHighlightedOption(options: NodeList) {\n // Clear all highlights\n options.forEach((option: Element) => option.classList.remove('is-highlighted'));\n\n // Apply highlight to the current option\n if (this.currentIndex >= 0 && this.currentIndex < options.length) {\n (options[this.currentIndex] as Element).classList.add('is-highlighted');\n (options[this.currentIndex] as HTMLElement).focus();\n }\n }\n\n // Helper function to handle arrow down navigation\n private handleArrowDown(options: NodeList) {\n if (this.currentIndex < options.length - 1) {\n this.currentIndex++;\n } else {\n this.currentIndex = 0; // Wrap to the beginning.\n }\n }\n\n // Helper function to handle arrow up navigation\n private handleArrowUp(options: NodeList) {\n if (this.currentIndex > 0) {\n this.currentIndex--;\n } else {\n this.currentIndex = options.length - 1; // Wrap to the end.\n }\n }\n \n handleOptionKeyDown(e: KeyboardEvent, option: Option) {\n if(e.key !== 'ArrowUp' && e.key !== 'ArrowDown') e.stopPropagation();\n if(e.key === 'Enter' || e.key === ' ') {\n this.handleOptionClick(option);\n }\n }\n\n renderOption(option: Option, index: number) {\n const isIndeterminate = this.isOptionIndeterminate(option);\n const isSelected = option.children ? isIndeterminate || this.isOptionSelected(option) : this.persistentSelectedOptions.some(selectedOption => selectedOption.value === option.value);\n const disableCheckbox = !isSelected && this.maxItemCount && this.persistentSelectedOptions.length >= this.maxItemCount;\n const uniqueId = `checkbox-${option.value}-${index}`; // Generate a unique ID using the index\n\n return (\n <div class=\"option-wrapper\">\n <div class={`option ${isSelected ? 'selected' : ''} ${disableCheckbox ? 'disabled' : ''} \n ${this.getSizeClass()}`}\n data-value={option.value}\n onKeyDown={(e) => !disableCheckbox && this.handleOptionKeyDown(e, option)}\n onClick={() => !disableCheckbox && this.handleOptionClick(option)}\n tabindex=\"0\"\n role={`${option.children?.length > 0 ? \"treeitem\" : \"option\"}`}>\n <ifx-checkbox tabIndex={-1} ref={(el) => option.checkboxRef = el} id={uniqueId} size=\"s\" checked={isIndeterminate ? false : isSelected} indeterminate={isIndeterminate} disabled={disableCheckbox}></ifx-checkbox>\n <label htmlFor={uniqueId} onClick={(e) => e.stopPropagation()}>{option.label}</label>\n </div>\n {option.children && option.children.map((child, childIndex) => this.renderSubOption(child, `${index}-${childIndex}`))}\n </div>\n );\n }\n\n isOptionSelected(option: Option): boolean {\n if (!option.children) return false;\n\n return option.children.every(child =>\n this.persistentSelectedOptions.some(persistentOption => persistentOption.value === child.value)\n );\n }\n\n\n isOptionIndeterminate(option: Option): boolean {\n if (!option.children) return false;\n\n const selectedChildren = option.children.filter(child =>\n this.persistentSelectedOptions.some(persistentOption => persistentOption.value === child.value)\n ).length;\n\n return selectedChildren > 0 && selectedChildren < option.children.length;\n }\n\n\n findInOptions(options: Option[], searchTerm: string): Option | null {\n for (const option of options) {\n if (option.value === searchTerm) {\n return option;\n }\n if (option.children) {\n const foundInChildren = this.findInOptions(option.children, searchTerm);\n if (foundInChildren) {\n return foundInChildren;\n }\n }\n }\n return null;\n }\n\n\n renderSubOption(option: Option, index: string) {\n const isSelected = this.persistentSelectedOptions.some(selectedOption => selectedOption.value === option.value);\n const disableCheckbox = !isSelected && this.maxItemCount && this.persistentSelectedOptions.length >= this.maxItemCount;\n const uniqueId = `checkbox-${option.value}-${index}`;\n\n return (\n <div class={`option sub-option ${isSelected ? 'selected' : ''} ${this.getSizeClass()} ${disableCheckbox ? 'disabled' : ''}`}\n data-value={option.value}\n role={`${option.children?.length > 0 ? \"option\" : \"treeitem\"}`}\n onKeyDown={(e) => !disableCheckbox && this.handleOptionKeyDown(e, option)}\n onClick={() => !disableCheckbox && this.handleOptionClick(option)}\n tabindex=\"0\">\n <ifx-checkbox tabIndex={-1} ref={(el) => option.checkboxRef = el} id={uniqueId} size=\"s\" checked={isSelected} disabled={disableCheckbox}></ifx-checkbox>\n <label htmlFor={uniqueId} onClick={(e) => e.stopPropagation()}>{option.label}</label>\n </div>\n );\n }\n\n private renderSelectAll() {\n const allSelected = this.persistentSelectedOptions.length === this.optionCount;\n const noneSelected = this.persistentSelectedOptions.length === 0;\n const indeterminate = this.optionCount > 0 && !noneSelected && !allSelected;\n\n const that = this;\n function toggleSelectAll() {\n if (allSelected) {\n that.clearSelection();\n } else {\n that.selectAll();\n }\n }\n\n function handleSelectAllKeydown(e: KeyboardEvent) {\n if(e.key !== 'ArrowUp' && e.key !== 'ArrowDown') e.stopPropagation();\n if(e.key === 'Enter' || e.key === ' ') {\n toggleSelectAll();\n }\n }\n\n return <div class=\"select-all-wrapper\">\n <div class={`option ${this.getSizeClass()}`} tabindex='0' onKeyDown={(e) => handleSelectAllKeydown(e)} onClick={toggleSelectAll}>\n <ifx-checkbox tabIndex={-1} id='selectAll' checked={allSelected} indeterminate={indeterminate} size=\"s\"></ifx-checkbox>\n <label htmlFor='selectAll'>Select all</label>\n </div>\n <ifx-dropdown-separator></ifx-dropdown-separator>\n </div>;\n }\n\n\n render() {\n // Create a label for the selected options\n const selectedOptionsLabels = this.persistentSelectedOptions\n .filter(option => {\n // check if option is a child and its parent is selected\n const isChildSelectedWithParent = this.persistentSelectedOptions.some(parentOption =>\n parentOption.children &&\n parentOption.children.some(child => child.value === option.value) &&\n parentOption.selected\n );\n return !isChildSelectedWithParent;\n })\n .map(option => option.label)\n .join(', ');\n\n return (\n <div class={`ifx-multiselect-container`} ref={el => this.dropdownElement = el as HTMLElement}>\n {\n this.label ?\n <div class=\"ifx-label-wrapper\">\n <span>{this.label}</span>\n </div> : null\n }\n <div class={`ifx-multiselect-wrapper \n ${this.getSizeClass()} \n ${this.dropdownOpen ? 'active' : ''} \n ${this.dropdownFlipped ? 'is-flipped' : ''}\n ${this.internalError ? 'error' : \"\"}\n ${this.disabled ? 'disabled' : \"\"}`}\n tabindex=\"0\"\n onClick={this.disabled ? undefined : (event) => this.handleWrapperClick(event)}\n onKeyDown={this.disabled ? undefined : (event) => this.handleKeyDown(event)} >\n <div class={`ifx-multiselect-input \n ${this.persistentSelectedOptions.length === 0 ? 'placeholder' : \"\"}\n `}\n onClick={this.disabled ? undefined : () => this.toggleDropdown()}\n >\n {this.persistentSelectedOptions.length > 0 ? selectedOptionsLabels : this.placeholder}\n </div>\n {this.dropdownOpen && (\n <div class=\"ifx-multiselect-dropdown-menu\"\n onScroll={(event) => this.handleScroll(event)}\n style={{ '--dynamic-z-index': this.zIndex.toString() }}>\n {this.showSearch && <input type=\"text\" role=\"textbox\" class=\"search-input\" onKeyDown={(e) => { e.stopPropagation() }} onInput={(event) => this.handleSearch(event.target)} placeholder=\"Search...\"></input>}\n {this.showSelectAll && this.renderSelectAll()}\n {this.filteredOptions.map((option, index) => this.renderOption(option, index))}\n {this.isLoading && <div>Loading more options...</div>}\n </div>\n )}\n <div class=\"ifx-multiselect-icon-container\">\n\n {/* Clear Button - will show only if there's a selection */}\n {this.persistentSelectedOptions.length > 0 && ( \n <div class=\"ifx-clear-button\" onClick={this.disabled ? undefined : () => this.clearSelection()}>\n <ifx-icon icon=\"cremove16\"></ifx-icon>\n </div>\n )}\n <div class=\"icon-wrapper-up\" onClick={this.disabled ? undefined : () => this.toggleDropdown()}>\n <ifx-icon\n key='icon-up'\n icon='chevronup-16'></ifx-icon>\n </div>\n <div class=\"icon-wrapper-down\" onClick={this.disabled ? undefined : () => this.toggleDropdown()}>\n <ifx-icon\n key='icon-down'\n icon='chevron-down-16'></ifx-icon>\n </div>\n </div>\n\n </div>\n {\n this.internalError ?\n <div class=\"ifx-error-message-wrapper\">\n <span>{this.internalErrorMessage}</span>\n </div> : null\n }\n </div>\n );\n }\n\n}\n"],"version":3}
@@ -1,196 +0,0 @@
1
- import { r as registerInstance, c as createEvent, h, g as getElement } from './index-d021b985.js';
2
-
3
- const alertCss = ":root{--ifx-font-family:\"Source Sans 3\";font-family:var(--ifx-font-family, 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}";
4
- const IfxAlertStyle0 = alertCss;
5
-
6
- const Alert = class {
7
- constructor(hostRef) {
8
- registerInstance(this, hostRef);
9
- this.ifxClose = createEvent(this, "ifxClose", 7);
10
- this.alertTypeDescription = {
11
- "primary": 'Neutral alert',
12
- "success": 'Success Alert',
13
- "danger": 'Error Alert',
14
- "warning": 'Warning Alert',
15
- "info": 'Neutral alert',
16
- };
17
- this.variant = 'primary';
18
- this.icon = undefined;
19
- this.closable = true;
20
- this.AriaLive = 'assertive';
21
- this.uniqueId = undefined;
22
- }
23
- handleClose() {
24
- this.ifxClose.emit();
25
- }
26
- renderCloseButton() {
27
- return (h("div", { class: "close-icon-wrapper" }, h("button", { onClick: this.handleClose.bind(this), "aria-label": "Dismiss alert" }, h("ifx-icon", { icon: "cross-16" }))));
28
- }
29
- generateUniqueId(prefix = 'id') {
30
- return `${prefix}-${Math.random().toString(36).substring(2, 9)}`;
31
- }
32
- componentWillLoad() {
33
- if (!this.uniqueId) {
34
- this.uniqueId = this.generateUniqueId('alert');
35
- }
36
- }
37
- render() {
38
- return this.variant === 'info' ? (h("div", { class: "alert__info-wrapper", role: "alert", "aria-live": this.AriaLive, "aria-describedby": this.alertTypeDescription[this.variant], "aria-labelledby": "alert-text alert-description" }, h("div", { class: "info__text-wrapper" }, h("div", { class: "info__headline-wrapper" }, h("slot", { name: "headline" })), h("div", { id: `alert-description-${this.uniqueId}`, class: "info__description-wrapper" }, h("slot", { name: "desc" }))), this.closable ? this.renderCloseButton() : null)) : (h("div", { class: `alert ${this.variant}`, role: "alert" }, this.icon && (h("div", { class: "icon-wrapper" }, h("ifx-icon", { icon: this.icon }))), h("div", { class: "alert-text", id: `alert-text-${this.uniqueId}` }, h("slot", null)), this.closable ? this.renderCloseButton() : null));
39
- }
40
- };
41
- Alert.style = IfxAlertStyle0;
42
-
43
- const templateCss = ".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}";
44
- const IfxTemplateStyle0 = templateCss;
45
-
46
- const Template = class {
47
- constructor(hostRef) {
48
- registerInstance(this, hostRef);
49
- this.toggleTemplates = createEvent(this, "toggleTemplates", 7);
50
- this.fieldError = createEvent(this, "fieldError", 7);
51
- this.repoDetails = { name: "", desc: "", framework: "" };
52
- this.repoUrl = undefined;
53
- this.showDetails = false;
54
- this.isTemplatePage = false;
55
- this.isLoading = true;
56
- this.repoError = undefined;
57
- this.name = undefined;
58
- this.thumbnail = undefined;
59
- }
60
- authUser() {
61
- const clientId = undefined;
62
- const redirectUri = 'http://localhost:6262/?path=/docs/dds-templates--development';
63
- const scope = undefined;
64
- const state = undefined;
65
- const authorizationUrl = `https://github.com/login/oauth/authorize?` +
66
- `client_id=${clientId}&` +
67
- `redirect_uri=${redirectUri}&` +
68
- `scope=${scope}&` +
69
- `state=${state}`;
70
- window.open(authorizationUrl, '_blank');
71
- }
72
- componentDidLoad() {
73
- const url = new URL(window.location.href);
74
- const code = url.searchParams.get('code');
75
- const { templateName } = this.getLocalStorageValues();
76
- if (code && this.name === templateName) {
77
- this.isTemplatePage = true;
78
- this.toggleTemplates.emit('details');
79
- this.getUserToken(code);
80
- }
81
- }
82
- getLocalStorageValues() {
83
- const repoName = localStorage.getItem('repo_name');
84
- const repoDesc = localStorage.getItem('repo_desc');
85
- const repoFramework = localStorage.getItem('repo_framework');
86
- const templateName = localStorage.getItem('selectedTemplate');
87
- return { repoName, repoDesc, repoFramework, templateName };
88
- }
89
- async getUserToken(authCode) {
90
- const { repoName, repoDesc, repoFramework, templateName } = this.getLocalStorageValues();
91
- fetch(`http://localhost:5000/token/${authCode}/${repoName}/${repoDesc}/${repoFramework}/${templateName}`)
92
- .then(response => {
93
- if (response.ok) {
94
- return response.text();
95
- }
96
- else {
97
- return response.text().then(errorMessage => {
98
- throw new Error(errorMessage);
99
- });
100
- }
101
- })
102
- .then(data => {
103
- if (data) {
104
- this.isLoading = false;
105
- this.repoUrl = data;
106
- localStorage.clear();
107
- }
108
- })
109
- .catch(error => {
110
- this.repoError = error.message;
111
- console.error('Error:', error.message);
112
- });
113
- }
114
- handleUserInput(e, type) {
115
- if (type === 'name') {
116
- this.repoDetails = Object.assign(Object.assign({}, this.repoDetails), { name: e.target.value });
117
- }
118
- else if (type === 'desc') {
119
- this.repoDetails = Object.assign(Object.assign({}, this.repoDetails), { desc: e.target.value });
120
- }
121
- else if (type === 'framework') {
122
- this.repoDetails = Object.assign(Object.assign({}, this.repoDetails), { framework: e.target.value });
123
- }
124
- }
125
- submitUserData() {
126
- if (this.repoDetails.name && this.repoDetails.desc && this.repoDetails.framework) {
127
- localStorage.setItem('repo_name', this.repoDetails.name);
128
- localStorage.setItem('repo_desc', this.repoDetails.desc);
129
- localStorage.setItem('repo_framework', this.repoDetails.framework);
130
- localStorage.setItem('selectedTemplate', this.name);
131
- this.fieldError.emit(false);
132
- this.authUser();
133
- }
134
- else {
135
- this.fieldError.emit('All fields are mandatory');
136
- }
137
- }
138
- togglePadding(action) {
139
- let parent = this.el.parentElement;
140
- if (parent) {
141
- const rootNode = parent.getRootNode();
142
- if (rootNode instanceof ShadowRoot) {
143
- parent = rootNode.host.parentElement;
144
- }
145
- else {
146
- parent = parent.parentElement;
147
- }
148
- if (action === 'remove') {
149
- parent.parentElement.style.padding = '0px';
150
- }
151
- else if (action === 'add') {
152
- parent.parentElement.style.padding = '4rem 20px';
153
- }
154
- }
155
- }
156
- handleCurrentTemplate(e) {
157
- if (e && !this.showDetails) {
158
- this.togglePadding('remove');
159
- const targetTemplate = e.currentTarget;
160
- this.toggleTemplates.emit(targetTemplate);
161
- this.showDetails = true;
162
- }
163
- }
164
- async toggleTemplate(currTemp) {
165
- const templateWrapper = this.el.shadowRoot.querySelector('.react__template-wrapper');
166
- if (templateWrapper) {
167
- if (!templateWrapper.classList.contains('hide') && currTemp) {
168
- if (templateWrapper !== currTemp) {
169
- templateWrapper.classList.add('hide');
170
- }
171
- }
172
- else {
173
- if (this.showDetails) {
174
- this.showDetails = false;
175
- }
176
- this.togglePadding('add');
177
- templateWrapper.classList.remove('hide');
178
- }
179
- }
180
- }
181
- render() {
182
- return (h("div", { key: 'de9032e360a189b62a9b6b861f2dabbdd21cb409' }, this.isTemplatePage
183
- ?
184
- h("div", { class: "template__page-wrapper" }, !this.repoUrl && !this.repoError &&
185
- h("div", null, h("h3", null, "Your repository is getting ready.."), h("p", null, "This will only take a minute.")), this.isLoading && !this.repoError && h("div", null, h("ifx-spinner", { variant: 'default', size: 's' })), this.repoUrl && h("ifx-link", { href: this.repoUrl, target: "_parent", size: "m", variant: "underlined" }, "Your repository"), this.repoError && h("div", null, this.repoError))
186
- :
187
- h("div", { class: "react__template-container" }, h("div", { class: "react__template-wrapper", onClick: (e) => this.handleCurrentTemplate(e) }, h("div", { class: "image__wrapper" }, h("img", { src: this.thumbnail }))), this.showDetails &&
188
- h("div", { class: "details__wrapper" }, h("div", { class: "selection__buttons-wrapper" }, h("div", { class: "selection__input" }, h("input", { type: "radio", id: "react", name: "chosen_framework", value: "react", onInput: (e) => this.handleUserInput(e, 'framework') }), h("label", { htmlFor: "react" }, "React")), h("div", { class: "selection__input vue" }, h("input", { class: "vue__input", disabled: true, type: "radio", id: "vue", name: "chosen_framework", value: "vue", onInput: (e) => this.handleUserInput(e, 'framework') }), h("label", { class: "vue__label", htmlFor: "vue" }, "Vue"), " (Soon)")), h("div", { class: "input__fields-wrapper" }, h("ifx-text-field", { required: true, onInput: (e) => this.handleUserInput(e, 'name'), size: "m", icon: "c-info-16", placeholder: "Your repository name" }, "Repository Name"), h("ifx-text-field", { required: true, size: "m", icon: "c-info-16", onInput: (e) => this.handleUserInput(e, 'desc'), placeholder: "Your repository description" }, "Repository Description"), h("ifx-button", { fullWidth: true, onClick: () => this.submitUserData(), variant: 'primary' }, "Generate template"))))));
189
- }
190
- get el() { return getElement(this); }
191
- };
192
- Template.style = IfxTemplateStyle0;
193
-
194
- export { Alert as ifx_alert, Template as ifx_template };
195
-
196
- //# sourceMappingURL=ifx-alert_2.entry.js.map