@infineon/infineon-design-system-stencil 37.13.1--canary.1987.3a00aa50ac2f53008f1e351eabf4b0c340894bb9.0 → 37.14.0--canary.1964.3cf2aed10bf7a9753cdb7124879aa7e2c314bcf8.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 (622) hide show
  1. package/dist/cjs/ifx-alert_2.cjs.entry.js +1 -1
  2. package/dist/cjs/ifx-basic-table.cjs.entry.js +1 -1
  3. package/dist/cjs/ifx-card.cjs.entry.js +21 -11
  4. package/dist/cjs/ifx-card.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ifx-card.entry.cjs.js.map +1 -1
  6. package/dist/cjs/ifx-checkbox-group.cjs.entry.js +3 -2
  7. package/dist/cjs/ifx-checkbox-group.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ifx-checkbox-group.entry.cjs.js.map +1 -1
  9. package/dist/cjs/ifx-chip.ifx-chip-item.ifx-pagination.entry.cjs.js.map +1 -1
  10. package/dist/cjs/ifx-chip_3.cjs.entry.js +12 -12
  11. package/dist/cjs/ifx-chip_3.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ifx-content-switcher-item.cjs.entry.js +1 -1
  13. package/dist/cjs/ifx-content-switcher.cjs.entry.js +1 -1
  14. package/dist/cjs/ifx-date-picker.cjs.entry.js +2 -2
  15. package/dist/cjs/ifx-download.cjs.entry.js +2 -2
  16. package/dist/cjs/ifx-dropdown-header.cjs.entry.js +1 -1
  17. package/dist/cjs/ifx-dropdown-separator.cjs.entry.js +1 -1
  18. package/dist/cjs/ifx-dropdown-trigger-button.cjs.entry.js +2 -2
  19. package/dist/cjs/ifx-dropdown-trigger.cjs.entry.js +1 -1
  20. package/dist/cjs/ifx-dropdown.cjs.entry.js +1 -1
  21. package/dist/cjs/ifx-faq.cjs.entry.js +1 -1
  22. package/dist/cjs/ifx-file-upload.cjs.entry.js +2 -2
  23. package/dist/cjs/ifx-filter-accordion.cjs.entry.js +2 -2
  24. package/dist/cjs/ifx-filter-bar.cjs.entry.js +1 -1
  25. package/dist/cjs/ifx-filter-search.cjs.entry.js +1 -1
  26. package/dist/cjs/ifx-filter-type-group.cjs.entry.js +1 -1
  27. package/dist/cjs/ifx-footer-column.cjs.entry.js +1 -1
  28. package/dist/cjs/ifx-footer.cjs.entry.js +4 -4
  29. package/dist/cjs/ifx-icon-button.cjs.entry.js +1 -1
  30. package/dist/cjs/ifx-icon.cjs.entry.js +1 -1
  31. package/dist/cjs/ifx-icons-preview.cjs.entry.js +1 -1
  32. package/dist/cjs/ifx-indicator.cjs.entry.js +2 -2
  33. package/dist/cjs/ifx-link.cjs.entry.js +1 -1
  34. package/dist/cjs/ifx-link.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ifx-link.entry.cjs.js.map +1 -1
  36. package/dist/cjs/ifx-list-entry.cjs.entry.js +1 -1
  37. package/dist/cjs/ifx-modal.cjs.entry.js +2 -2
  38. package/dist/cjs/ifx-multiselect_2.cjs.entry.js +4 -4
  39. package/dist/cjs/ifx-navbar-item.cjs.entry.js +5 -5
  40. package/dist/cjs/ifx-navbar-profile.cjs.entry.js +3 -3
  41. package/dist/cjs/ifx-navbar.cjs.entry.js +3 -3
  42. package/dist/cjs/ifx-notification.cjs.entry.js +2 -2
  43. package/dist/cjs/ifx-overview-table.cjs.entry.js +1 -1
  44. package/dist/cjs/ifx-progress-bar.cjs.entry.js +1 -1
  45. package/dist/cjs/ifx-progress-bar.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ifx-progress-bar.entry.cjs.js.map +1 -1
  47. package/dist/cjs/ifx-radio-button-group.cjs.entry.js +3 -2
  48. package/dist/cjs/ifx-radio-button-group.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ifx-radio-button-group.entry.cjs.js.map +1 -1
  50. package/dist/cjs/ifx-radio-button.cjs.entry.js +2 -2
  51. package/dist/cjs/ifx-search-bar.cjs.entry.js +1 -1
  52. package/dist/cjs/ifx-search-field.cjs.entry.js +2 -2
  53. package/dist/cjs/ifx-segment.cjs.entry.js +1 -1
  54. package/dist/cjs/ifx-segmented-control.cjs.entry.js +5 -3
  55. package/dist/cjs/ifx-segmented-control.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ifx-segmented-control.entry.cjs.js.map +1 -1
  57. package/dist/cjs/ifx-select.cjs.entry.js +27 -43
  58. package/dist/cjs/ifx-select.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ifx-select.entry.cjs.js.map +1 -1
  60. package/dist/cjs/ifx-sidebar-item.cjs.entry.js +6 -6
  61. package/dist/cjs/ifx-sidebar-item.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ifx-sidebar-item.entry.cjs.js.map +1 -1
  63. package/dist/cjs/ifx-sidebar-title.cjs.entry.js +1 -1
  64. package/dist/cjs/ifx-sidebar.cjs.entry.js +5 -5
  65. package/dist/cjs/ifx-slider.cjs.entry.js +4 -4
  66. package/dist/cjs/ifx-slider.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ifx-slider.entry.cjs.js.map +1 -1
  68. package/dist/cjs/ifx-spinner.ifx-text-field.entry.cjs.js.map +1 -1
  69. package/dist/cjs/ifx-spinner_2.cjs.entry.js +7 -7
  70. package/dist/cjs/ifx-spinner_2.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ifx-status.cjs.entry.js +1 -1
  72. package/dist/cjs/ifx-status.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ifx-status.entry.cjs.js.map +1 -1
  74. package/dist/cjs/ifx-step.cjs.entry.js +5 -5
  75. package/dist/cjs/ifx-step.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ifx-step.entry.cjs.js.map +1 -1
  77. package/dist/cjs/ifx-stepper.cjs.entry.js +2 -2
  78. package/dist/cjs/ifx-stepper.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ifx-stepper.entry.cjs.js.map +1 -1
  80. package/dist/cjs/ifx-switch.cjs.entry.js +1 -1
  81. package/dist/cjs/ifx-switch.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ifx-switch.entry.cjs.js.map +1 -1
  83. package/dist/cjs/ifx-tab.cjs.entry.js +1 -1
  84. package/dist/cjs/ifx-table.cjs.entry.js +2 -2
  85. package/dist/cjs/ifx-tabs.cjs.entry.js +2 -2
  86. package/dist/cjs/ifx-tag.cjs.entry.js +2 -2
  87. package/dist/cjs/ifx-tag.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ifx-tag.entry.cjs.js.map +1 -1
  89. package/dist/cjs/ifx-templates-ui.cjs.entry.js +1 -1
  90. package/dist/cjs/ifx-textarea.cjs.entry.js +3 -3
  91. package/dist/cjs/ifx-textarea.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ifx-textarea.entry.cjs.js.map +1 -1
  93. package/dist/cjs/ifx-tooltip.cjs.entry.js +4 -4
  94. package/dist/cjs/ifx-tooltip.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ifx-tooltip.entry.cjs.js.map +1 -1
  96. package/dist/cjs/ifx-tree-view-item.cjs.entry.js +2 -2
  97. package/dist/cjs/ifx-tree-view.cjs.entry.js +1 -1
  98. package/dist/cjs/infineon-design-system-stencil.cjs.js +1 -1
  99. package/dist/cjs/loader.cjs.js +1 -1
  100. package/dist/collection/components/card/card.css +2 -2
  101. package/dist/collection/components/card/card.js +20 -10
  102. package/dist/collection/components/card/card.js.map +1 -1
  103. package/dist/collection/components/checkbox-group/checkbox-group.css +15 -2
  104. package/dist/collection/components/checkbox-group/checkbox-group.js +22 -1
  105. package/dist/collection/components/checkbox-group/checkbox-group.js.map +1 -1
  106. package/dist/collection/components/checkbox-group/checkbox-group.stories.js +10 -1
  107. package/dist/collection/components/checkbox-group/checkbox-group.stories.js.map +1 -1
  108. package/dist/collection/components/chip/chip-item/chip-item.js +2 -2
  109. package/dist/collection/components/chip/chip.js +8 -8
  110. package/dist/collection/components/content-switcher/content-switcher-item.js +1 -1
  111. package/dist/collection/components/content-switcher/content-switcher.js +1 -1
  112. package/dist/collection/components/date-picker/date-picker.js +2 -2
  113. package/dist/collection/components/download/download.js +2 -2
  114. package/dist/collection/components/dropdown/dropdown-header/dropdown-header.js +1 -1
  115. package/dist/collection/components/dropdown/dropdown-seperator/dropdown-separator.js +1 -1
  116. package/dist/collection/components/dropdown/dropdown-trigger/dropdown-trigger.js +1 -1
  117. package/dist/collection/components/dropdown/dropdown-trigger-button/dropdown-trigger-button.js +2 -2
  118. package/dist/collection/components/dropdown/dropdown.js +1 -1
  119. package/dist/collection/components/file-upload/file-upload.js +2 -2
  120. package/dist/collection/components/footer/footer-column.js +1 -1
  121. package/dist/collection/components/footer/footer.js +4 -4
  122. package/dist/collection/components/icon/infineonIconStencil.js +1 -1
  123. package/dist/collection/components/icon-button/icon-button.js +1 -1
  124. package/dist/collection/components/icons-preview/icons-preview.js +1 -1
  125. package/dist/collection/components/indicator/indicator.js +2 -2
  126. package/dist/collection/components/link/link.js +1 -1
  127. package/dist/collection/components/link/link.js.map +1 -1
  128. package/dist/collection/components/modal/modal.js +2 -2
  129. package/dist/collection/components/navigation/navbar/navbar-item.js +5 -5
  130. package/dist/collection/components/navigation/navbar/navbar-profile.js +3 -3
  131. package/dist/collection/components/navigation/navbar/navbar.js +3 -3
  132. package/dist/collection/components/navigation/sidebar/sidebar-item.css +2 -6
  133. package/dist/collection/components/navigation/sidebar/sidebar-item.js +5 -5
  134. package/dist/collection/components/navigation/sidebar/sidebar-title.js +1 -1
  135. package/dist/collection/components/navigation/sidebar/sidebar.js +5 -5
  136. package/dist/collection/components/notification/notification.js +2 -2
  137. package/dist/collection/components/overview-table/overview-table.js +1 -1
  138. package/dist/collection/components/pagination/pagination.css +5 -5
  139. package/dist/collection/components/pagination/pagination.js +1 -1
  140. package/dist/collection/components/pagination/pagination.js.map +1 -1
  141. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  142. package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
  143. package/dist/collection/components/radio-button/radio-button.js +2 -2
  144. package/dist/collection/components/radio-button-group/radio-button-group.css +14 -2
  145. package/dist/collection/components/radio-button-group/radio-button-group.js +22 -1
  146. package/dist/collection/components/radio-button-group/radio-button-group.js.map +1 -1
  147. package/dist/collection/components/radio-button-group/radio-button-group.stories.js +10 -1
  148. package/dist/collection/components/radio-button-group/radio-button-group.stories.js.map +1 -1
  149. package/dist/collection/components/search-bar/search-bar.js +1 -1
  150. package/dist/collection/components/search-field/search-field.js +2 -2
  151. package/dist/collection/components/segmented-control/segment/segment.js +1 -1
  152. package/dist/collection/components/segmented-control/segmented-control.css +17 -3
  153. package/dist/collection/components/segmented-control/segmented-control.js +44 -2
  154. package/dist/collection/components/segmented-control/segmented-control.js.map +1 -1
  155. package/dist/collection/components/segmented-control/segmented-control.stories.js +24 -2
  156. package/dist/collection/components/segmented-control/segmented-control.stories.js.map +1 -1
  157. package/dist/collection/components/select/multi-select/multiselect-option.js +4 -4
  158. package/dist/collection/components/select/single-select/select.css +0 -6
  159. package/dist/collection/components/select/single-select/select.js +26 -42
  160. package/dist/collection/components/select/single-select/select.js.map +1 -1
  161. package/dist/collection/components/slider/slider.css +0 -8
  162. package/dist/collection/components/slider/slider.js +3 -22
  163. package/dist/collection/components/slider/slider.js.map +1 -1
  164. package/dist/collection/components/slider/slider.stories.js +0 -14
  165. package/dist/collection/components/slider/slider.stories.js.map +1 -1
  166. package/dist/collection/components/spinner/spinner.js +2 -21
  167. package/dist/collection/components/spinner/spinner.js.map +1 -1
  168. package/dist/collection/components/spinner/spinner.stories.js +2 -16
  169. package/dist/collection/components/spinner/spinner.stories.js.map +1 -1
  170. package/dist/collection/components/status/status.js +1 -1
  171. package/dist/collection/components/status/status.js.map +1 -1
  172. package/dist/collection/components/stepper/step/step.css +0 -4
  173. package/dist/collection/components/stepper/step/step.js +4 -4
  174. package/dist/collection/components/stepper/stepper.js +2 -40
  175. package/dist/collection/components/stepper/stepper.js.map +1 -1
  176. package/dist/collection/components/stepper/stepper.stories.js +0 -30
  177. package/dist/collection/components/stepper/stepper.stories.js.map +1 -1
  178. package/dist/collection/components/switch/switch.js +1 -1
  179. package/dist/collection/components/switch/switch.js.map +1 -1
  180. package/dist/collection/components/table-advanced-version/filter-bar/filter-bar.js +1 -1
  181. package/dist/collection/components/table-advanced-version/filter-type-group/filter-accordion/filter-accordion.js +2 -2
  182. package/dist/collection/components/table-advanced-version/filter-type-group/filter-search/filter-search.js +1 -1
  183. package/dist/collection/components/table-advanced-version/filter-type-group/filter-type-group.js +1 -1
  184. package/dist/collection/components/table-advanced-version/list/list-entry/list-entry.js +1 -1
  185. package/dist/collection/components/table-advanced-version/table.js +2 -2
  186. package/dist/collection/components/table-basic-version/table.js +1 -1
  187. package/dist/collection/components/tabs/tab.js +1 -1
  188. package/dist/collection/components/tabs/tabs.js +2 -2
  189. package/dist/collection/components/tag/tag.css +5 -2
  190. package/dist/collection/components/tag/tag.js +1 -39
  191. package/dist/collection/components/tag/tag.js.map +1 -1
  192. package/dist/collection/components/tag/tag.stories.js +1 -29
  193. package/dist/collection/components/tag/tag.stories.js.map +1 -1
  194. package/dist/collection/components/templates/template/template.js +1 -1
  195. package/dist/collection/components/templates/templates-ui/templates-ui.js +1 -1
  196. package/dist/collection/components/text-field/text-field.css +3 -12
  197. package/dist/collection/components/text-field/text-field.js +4 -23
  198. package/dist/collection/components/text-field/text-field.js.map +1 -1
  199. package/dist/collection/components/text-field/text-field.stories.js +2 -17
  200. package/dist/collection/components/text-field/text-field.stories.js.map +1 -1
  201. package/dist/collection/components/textarea/textarea.css +2 -2
  202. package/dist/collection/components/textarea/textarea.js +2 -2
  203. package/dist/collection/components/tooltip/tooltip.js +4 -23
  204. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  205. package/dist/collection/components/tooltip/tooltip.stories.js +1 -16
  206. package/dist/collection/components/tooltip/tooltip.stories.js.map +1 -1
  207. package/dist/collection/components/tree-view/tree-view-item.js +2 -2
  208. package/dist/collection/components/tree-view/tree-view.js +1 -1
  209. package/dist/collection/stories/setup-and-installation/faq/faq.js +1 -1
  210. package/dist/components/ifx-accordion-item.js +1 -1
  211. package/dist/components/ifx-alert.js +1 -1
  212. package/dist/components/ifx-basic-table.js +1 -1
  213. package/dist/components/ifx-breadcrumb-item-label.js +1 -1
  214. package/dist/components/ifx-card.js +21 -11
  215. package/dist/components/ifx-card.js.map +1 -1
  216. package/dist/components/ifx-checkbox-group.js +5 -3
  217. package/dist/components/ifx-checkbox-group.js.map +1 -1
  218. package/dist/components/ifx-checkbox.js +1 -1
  219. package/dist/components/ifx-chip-item.js +1 -1
  220. package/dist/components/ifx-chip.js +1 -1
  221. package/dist/components/ifx-content-switcher-item.js +1 -1
  222. package/dist/components/ifx-content-switcher.js +1 -1
  223. package/dist/components/ifx-date-picker.js +3 -3
  224. package/dist/components/ifx-download.js +3 -3
  225. package/dist/components/ifx-dropdown-header.js +1 -1
  226. package/dist/components/ifx-dropdown-item.js +1 -1
  227. package/dist/components/ifx-dropdown-separator.js +1 -1
  228. package/dist/components/ifx-dropdown-trigger-button.js +3 -3
  229. package/dist/components/ifx-dropdown-trigger.js +1 -1
  230. package/dist/components/ifx-dropdown.js +1 -1
  231. package/dist/components/ifx-faq.js +3 -3
  232. package/dist/components/ifx-file-upload.js +5 -5
  233. package/dist/components/ifx-filter-accordion.js +4 -4
  234. package/dist/components/ifx-filter-bar.js +2 -2
  235. package/dist/components/ifx-filter-search.js +3 -3
  236. package/dist/components/ifx-filter-type-group.js +1 -1
  237. package/dist/components/ifx-footer-column.js +1 -1
  238. package/dist/components/ifx-footer.js +4 -4
  239. package/dist/components/ifx-icon-button.js +1 -1
  240. package/dist/components/ifx-icon.js +1 -1
  241. package/dist/components/ifx-icons-preview.js +5 -5
  242. package/dist/components/ifx-indicator.js +1 -1
  243. package/dist/components/ifx-link.js +1 -1
  244. package/dist/components/ifx-list-entry.js +4 -4
  245. package/dist/components/ifx-list.js +2 -2
  246. package/dist/components/ifx-modal.js +4 -4
  247. package/dist/components/ifx-multiselect-option.js +1 -1
  248. package/dist/components/ifx-multiselect.js +1 -1
  249. package/dist/components/ifx-navbar-item.js +7 -7
  250. package/dist/components/ifx-navbar-profile.js +3 -3
  251. package/dist/components/ifx-navbar.js +4 -4
  252. package/dist/components/ifx-notification.js +1 -1
  253. package/dist/components/ifx-overview-table.js +4 -4
  254. package/dist/components/ifx-pagination.js +1 -1
  255. package/dist/components/ifx-progress-bar.js +1 -1
  256. package/dist/components/ifx-radio-button-group.js +5 -3
  257. package/dist/components/ifx-radio-button-group.js.map +1 -1
  258. package/dist/components/ifx-radio-button.js +1 -1
  259. package/dist/components/ifx-search-bar.js +3 -3
  260. package/dist/components/ifx-search-field.js +1 -1
  261. package/dist/components/ifx-segment.js +2 -2
  262. package/dist/components/ifx-segmented-control.js +9 -5
  263. package/dist/components/ifx-segmented-control.js.map +1 -1
  264. package/dist/components/ifx-select.js +1 -1
  265. package/dist/components/ifx-set-filter.js +7 -7
  266. package/dist/components/ifx-sidebar-item.js +8 -8
  267. package/dist/components/ifx-sidebar-item.js.map +1 -1
  268. package/dist/components/ifx-sidebar-title.js +1 -1
  269. package/dist/components/ifx-sidebar.js +5 -5
  270. package/dist/components/ifx-slider.js +5 -6
  271. package/dist/components/ifx-slider.js.map +1 -1
  272. package/dist/components/ifx-spinner.js +1 -1
  273. package/dist/components/ifx-status.js +1 -1
  274. package/dist/components/ifx-status.js.map +1 -1
  275. package/dist/components/ifx-step.js +6 -6
  276. package/dist/components/ifx-step.js.map +1 -1
  277. package/dist/components/ifx-stepper.js +2 -4
  278. package/dist/components/ifx-stepper.js.map +1 -1
  279. package/dist/components/ifx-switch.js +1 -1
  280. package/dist/components/ifx-switch.js.map +1 -1
  281. package/dist/components/ifx-tab.js +1 -1
  282. package/dist/components/ifx-table.js +10 -10
  283. package/dist/components/ifx-tabs.js +3 -3
  284. package/dist/components/ifx-tag.js +4 -6
  285. package/dist/components/ifx-tag.js.map +1 -1
  286. package/dist/components/ifx-template.js +1 -1
  287. package/dist/components/ifx-templates-ui.js +8 -8
  288. package/dist/components/ifx-text-field.js +1 -1
  289. package/dist/components/ifx-textarea.js +3 -3
  290. package/dist/components/ifx-textarea.js.map +1 -1
  291. package/dist/components/ifx-tooltip.js +5 -6
  292. package/dist/components/ifx-tooltip.js.map +1 -1
  293. package/dist/components/ifx-tree-view-item.js +4 -4
  294. package/dist/components/ifx-tree-view.js +1 -1
  295. package/dist/components/{p-BeILQ55F.js → p-2JFFbyg-.js} +3 -3
  296. package/dist/components/{p-BeILQ55F.js.map → p-2JFFbyg-.js.map} +1 -1
  297. package/dist/components/{p-Cwianh3O.js → p-8wciosDA.js} +8 -8
  298. package/dist/components/{p-Cwianh3O.js.map → p-8wciosDA.js.map} +1 -1
  299. package/dist/components/{p-C-KteFFX.js → p-A0BhYJXW.js} +4 -4
  300. package/dist/components/{p-C-KteFFX.js.map → p-A0BhYJXW.js.map} +1 -1
  301. package/dist/components/{p-VdirQ-rJ.js → p-ADIPRswj.js} +30 -46
  302. package/dist/components/p-ADIPRswj.js.map +1 -0
  303. package/dist/components/{p-r7hBylnC.js → p-B-erGWs9.js} +4 -4
  304. package/dist/components/{p-r7hBylnC.js.map → p-B-erGWs9.js.map} +1 -1
  305. package/dist/components/{p-DUpz5Fu_.js → p-B2j8iujQ.js} +6 -6
  306. package/dist/components/{p-DUpz5Fu_.js.map → p-B2j8iujQ.js.map} +1 -1
  307. package/dist/components/{p-CssgRUtq.js → p-B6Fm7iTY.js} +7 -7
  308. package/dist/components/p-B6Fm7iTY.js.map +1 -0
  309. package/dist/components/{p-aoMMugzu.js → p-B8kacvl9.js} +3 -3
  310. package/dist/components/p-B8kacvl9.js.map +1 -0
  311. package/dist/components/{p-hknsKJbL.js → p-B9dL8SWq.js} +3 -3
  312. package/dist/components/p-B9dL8SWq.js.map +1 -0
  313. package/dist/components/{p-CLgcoxeD.js → p-BUTrT3Q6.js} +4 -4
  314. package/dist/components/{p-CLgcoxeD.js.map → p-BUTrT3Q6.js.map} +1 -1
  315. package/dist/components/{p-Dt9X9aqI.js → p-BWgf6L-y.js} +5 -5
  316. package/dist/components/{p-Dt9X9aqI.js.map → p-BWgf6L-y.js.map} +1 -1
  317. package/dist/components/{p-Bq-GdSe7.js → p-BctmSAbW.js} +3 -3
  318. package/dist/components/{p-Bq-GdSe7.js.map → p-BctmSAbW.js.map} +1 -1
  319. package/dist/components/{p-CqzFm2Ow.js → p-BfmQxZSi.js} +3 -3
  320. package/dist/components/{p-CqzFm2Ow.js.map → p-BfmQxZSi.js.map} +1 -1
  321. package/dist/components/p-BlJijJEP.js +124 -0
  322. package/dist/components/p-BlJijJEP.js.map +1 -0
  323. package/dist/components/{p-C0tC8p0l.js → p-BrOTS__r.js} +12 -12
  324. package/dist/components/{p-C0tC8p0l.js.map → p-BrOTS__r.js.map} +1 -1
  325. package/dist/components/{p-CwnDj9-A.js → p-C7evM2QQ.js} +3 -3
  326. package/dist/components/{p-CwnDj9-A.js.map → p-C7evM2QQ.js.map} +1 -1
  327. package/dist/components/{p-frFN17iF.js → p-CC_GHbya.js} +5 -5
  328. package/dist/components/{p-frFN17iF.js.map → p-CC_GHbya.js.map} +1 -1
  329. package/dist/components/{p-By5SOUeF.js → p-Cu4C5pWD.js} +7 -7
  330. package/dist/components/{p-By5SOUeF.js.map → p-Cu4C5pWD.js.map} +1 -1
  331. package/dist/components/{p-C09NpLE0.js → p-DbtZVHL-.js} +5 -6
  332. package/dist/components/p-DbtZVHL-.js.map +1 -0
  333. package/dist/components/{p-C3VPtV-F.js → p-pGEk1iMS.js} +6 -6
  334. package/dist/components/{p-C3VPtV-F.js.map → p-pGEk1iMS.js.map} +1 -1
  335. package/dist/esm/ifx-alert_2.entry.js +1 -1
  336. package/dist/esm/ifx-basic-table.entry.js +1 -1
  337. package/dist/esm/ifx-card.entry.js +21 -11
  338. package/dist/esm/ifx-card.entry.js.map +1 -1
  339. package/dist/esm/ifx-checkbox-group.entry.js +3 -2
  340. package/dist/esm/ifx-checkbox-group.entry.js.map +1 -1
  341. package/dist/esm/ifx-chip.ifx-chip-item.ifx-pagination.entry.js.map +1 -1
  342. package/dist/esm/ifx-chip_3.entry.js +12 -12
  343. package/dist/esm/ifx-chip_3.entry.js.map +1 -1
  344. package/dist/esm/ifx-content-switcher-item.entry.js +1 -1
  345. package/dist/esm/ifx-content-switcher.entry.js +1 -1
  346. package/dist/esm/ifx-date-picker.entry.js +2 -2
  347. package/dist/esm/ifx-download.entry.js +2 -2
  348. package/dist/esm/ifx-dropdown-header.entry.js +1 -1
  349. package/dist/esm/ifx-dropdown-separator.entry.js +1 -1
  350. package/dist/esm/ifx-dropdown-trigger-button.entry.js +2 -2
  351. package/dist/esm/ifx-dropdown-trigger.entry.js +1 -1
  352. package/dist/esm/ifx-dropdown.entry.js +1 -1
  353. package/dist/esm/ifx-faq.entry.js +1 -1
  354. package/dist/esm/ifx-file-upload.entry.js +2 -2
  355. package/dist/esm/ifx-filter-accordion.entry.js +2 -2
  356. package/dist/esm/ifx-filter-bar.entry.js +1 -1
  357. package/dist/esm/ifx-filter-search.entry.js +1 -1
  358. package/dist/esm/ifx-filter-type-group.entry.js +1 -1
  359. package/dist/esm/ifx-footer-column.entry.js +1 -1
  360. package/dist/esm/ifx-footer.entry.js +4 -4
  361. package/dist/esm/ifx-icon-button.entry.js +1 -1
  362. package/dist/esm/ifx-icon.entry.js +1 -1
  363. package/dist/esm/ifx-icons-preview.entry.js +1 -1
  364. package/dist/esm/ifx-indicator.entry.js +2 -2
  365. package/dist/esm/ifx-link.entry.js +1 -1
  366. package/dist/esm/ifx-link.entry.js.map +1 -1
  367. package/dist/esm/ifx-list-entry.entry.js +1 -1
  368. package/dist/esm/ifx-modal.entry.js +2 -2
  369. package/dist/esm/ifx-multiselect_2.entry.js +4 -4
  370. package/dist/esm/ifx-navbar-item.entry.js +5 -5
  371. package/dist/esm/ifx-navbar-profile.entry.js +3 -3
  372. package/dist/esm/ifx-navbar.entry.js +3 -3
  373. package/dist/esm/ifx-notification.entry.js +2 -2
  374. package/dist/esm/ifx-overview-table.entry.js +1 -1
  375. package/dist/esm/ifx-progress-bar.entry.js +1 -1
  376. package/dist/esm/ifx-progress-bar.entry.js.map +1 -1
  377. package/dist/esm/ifx-radio-button-group.entry.js +3 -2
  378. package/dist/esm/ifx-radio-button-group.entry.js.map +1 -1
  379. package/dist/esm/ifx-radio-button.entry.js +2 -2
  380. package/dist/esm/ifx-search-bar.entry.js +1 -1
  381. package/dist/esm/ifx-search-field.entry.js +2 -2
  382. package/dist/esm/ifx-segment.entry.js +1 -1
  383. package/dist/esm/ifx-segmented-control.entry.js +5 -3
  384. package/dist/esm/ifx-segmented-control.entry.js.map +1 -1
  385. package/dist/esm/ifx-select.entry.js +27 -43
  386. package/dist/esm/ifx-select.entry.js.map +1 -1
  387. package/dist/esm/ifx-sidebar-item.entry.js +6 -6
  388. package/dist/esm/ifx-sidebar-item.entry.js.map +1 -1
  389. package/dist/esm/ifx-sidebar-title.entry.js +1 -1
  390. package/dist/esm/ifx-sidebar.entry.js +5 -5
  391. package/dist/esm/ifx-slider.entry.js +4 -4
  392. package/dist/esm/ifx-slider.entry.js.map +1 -1
  393. package/dist/esm/ifx-spinner.ifx-text-field.entry.js.map +1 -1
  394. package/dist/esm/ifx-spinner_2.entry.js +7 -7
  395. package/dist/esm/ifx-spinner_2.entry.js.map +1 -1
  396. package/dist/esm/ifx-status.entry.js +1 -1
  397. package/dist/esm/ifx-status.entry.js.map +1 -1
  398. package/dist/esm/ifx-step.entry.js +5 -5
  399. package/dist/esm/ifx-step.entry.js.map +1 -1
  400. package/dist/esm/ifx-stepper.entry.js +2 -2
  401. package/dist/esm/ifx-stepper.entry.js.map +1 -1
  402. package/dist/esm/ifx-switch.entry.js +1 -1
  403. package/dist/esm/ifx-switch.entry.js.map +1 -1
  404. package/dist/esm/ifx-tab.entry.js +1 -1
  405. package/dist/esm/ifx-table.entry.js +2 -2
  406. package/dist/esm/ifx-tabs.entry.js +2 -2
  407. package/dist/esm/ifx-tag.entry.js +2 -2
  408. package/dist/esm/ifx-tag.entry.js.map +1 -1
  409. package/dist/esm/ifx-templates-ui.entry.js +1 -1
  410. package/dist/esm/ifx-textarea.entry.js +3 -3
  411. package/dist/esm/ifx-textarea.entry.js.map +1 -1
  412. package/dist/esm/ifx-tooltip.entry.js +4 -4
  413. package/dist/esm/ifx-tooltip.entry.js.map +1 -1
  414. package/dist/esm/ifx-tree-view-item.entry.js +2 -2
  415. package/dist/esm/ifx-tree-view.entry.js +1 -1
  416. package/dist/esm/infineon-design-system-stencil.js +1 -1
  417. package/dist/esm/loader.js +1 -1
  418. package/dist/infineon-design-system-stencil/ifx-card.entry.esm.js.map +1 -1
  419. package/dist/infineon-design-system-stencil/ifx-checkbox-group.entry.esm.js.map +1 -1
  420. package/dist/infineon-design-system-stencil/ifx-chip.ifx-chip-item.ifx-pagination.entry.esm.js.map +1 -1
  421. package/dist/infineon-design-system-stencil/ifx-link.entry.esm.js.map +1 -1
  422. package/dist/infineon-design-system-stencil/ifx-progress-bar.entry.esm.js.map +1 -1
  423. package/dist/infineon-design-system-stencil/ifx-radio-button-group.entry.esm.js.map +1 -1
  424. package/dist/infineon-design-system-stencil/ifx-segmented-control.entry.esm.js.map +1 -1
  425. package/dist/infineon-design-system-stencil/ifx-select.entry.esm.js.map +1 -1
  426. package/dist/infineon-design-system-stencil/ifx-sidebar-item.entry.esm.js.map +1 -1
  427. package/dist/infineon-design-system-stencil/ifx-slider.entry.esm.js.map +1 -1
  428. package/dist/infineon-design-system-stencil/ifx-spinner.ifx-text-field.entry.esm.js.map +1 -1
  429. package/dist/infineon-design-system-stencil/ifx-status.entry.esm.js.map +1 -1
  430. package/dist/infineon-design-system-stencil/ifx-step.entry.esm.js.map +1 -1
  431. package/dist/infineon-design-system-stencil/ifx-stepper.entry.esm.js.map +1 -1
  432. package/dist/infineon-design-system-stencil/ifx-switch.entry.esm.js.map +1 -1
  433. package/dist/infineon-design-system-stencil/ifx-tag.entry.esm.js.map +1 -1
  434. package/dist/infineon-design-system-stencil/ifx-textarea.entry.esm.js.map +1 -1
  435. package/dist/infineon-design-system-stencil/ifx-tooltip.entry.esm.js.map +1 -1
  436. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  437. package/dist/infineon-design-system-stencil/p-03eee689.entry.js +2 -0
  438. package/dist/infineon-design-system-stencil/p-03eee689.entry.js.map +1 -0
  439. package/dist/infineon-design-system-stencil/{p-6ae1a75c.entry.js → p-09d191e0.entry.js} +2 -2
  440. package/dist/infineon-design-system-stencil/p-09d191e0.entry.js.map +1 -0
  441. package/dist/infineon-design-system-stencil/p-0c07a971.entry.js +2 -0
  442. package/dist/infineon-design-system-stencil/p-0c07a971.entry.js.map +1 -0
  443. package/dist/infineon-design-system-stencil/p-0f5b0903.entry.js +2 -0
  444. package/dist/infineon-design-system-stencil/{p-1453032c.entry.js.map → p-0f5b0903.entry.js.map} +1 -1
  445. package/dist/infineon-design-system-stencil/p-14e1cec1.entry.js +2 -0
  446. package/dist/infineon-design-system-stencil/{p-3d447d67.entry.js → p-16cc28da.entry.js} +2 -2
  447. package/dist/infineon-design-system-stencil/{p-3d447d67.entry.js.map → p-16cc28da.entry.js.map} +1 -1
  448. package/dist/infineon-design-system-stencil/p-179954e8.entry.js +2 -0
  449. package/dist/infineon-design-system-stencil/{p-189302bb.entry.js → p-19aa5352.entry.js} +2 -2
  450. package/dist/infineon-design-system-stencil/p-1e86db3e.entry.js +2 -0
  451. package/dist/infineon-design-system-stencil/p-1e86db3e.entry.js.map +1 -0
  452. package/dist/infineon-design-system-stencil/p-235650f4.entry.js +2 -0
  453. package/dist/infineon-design-system-stencil/{p-202d262d.entry.js.map → p-235650f4.entry.js.map} +1 -1
  454. package/dist/infineon-design-system-stencil/{p-993d003a.entry.js → p-23bcf3c6.entry.js} +2 -2
  455. package/dist/infineon-design-system-stencil/p-23bcf3c6.entry.js.map +1 -0
  456. package/dist/infineon-design-system-stencil/p-25713d78.entry.js +2 -0
  457. package/dist/infineon-design-system-stencil/p-25713d78.entry.js.map +1 -0
  458. package/dist/infineon-design-system-stencil/{p-1156b5e0.entry.js → p-2bd96917.entry.js} +2 -2
  459. package/dist/infineon-design-system-stencil/{p-09796daa.entry.js → p-2fa9ad54.entry.js} +2 -2
  460. package/dist/infineon-design-system-stencil/p-3601025f.entry.js +2 -0
  461. package/dist/infineon-design-system-stencil/{p-2908cc2a.entry.js → p-3f0760ab.entry.js} +2 -2
  462. package/dist/infineon-design-system-stencil/{p-733cc7f4.entry.js → p-3f21dace.entry.js} +2 -2
  463. package/dist/infineon-design-system-stencil/p-3f21dace.entry.js.map +1 -0
  464. package/dist/infineon-design-system-stencil/{p-98f57aed.entry.js → p-402f01e3.entry.js} +2 -2
  465. package/dist/infineon-design-system-stencil/{p-7dd092cf.entry.js → p-458d92ea.entry.js} +2 -2
  466. package/dist/infineon-design-system-stencil/{p-554d7431.entry.js → p-491dbc4c.entry.js} +2 -2
  467. package/dist/infineon-design-system-stencil/{p-c75a57a2.entry.js → p-4d7ea99b.entry.js} +2 -2
  468. package/dist/infineon-design-system-stencil/p-4d7ea99b.entry.js.map +1 -0
  469. package/dist/infineon-design-system-stencil/{p-d246597b.entry.js → p-5092ced0.entry.js} +2 -2
  470. package/dist/infineon-design-system-stencil/{p-8ca1da22.entry.js → p-50ee7b57.entry.js} +2 -2
  471. package/dist/infineon-design-system-stencil/{p-00672789.entry.js → p-564d8c2e.entry.js} +2 -2
  472. package/dist/infineon-design-system-stencil/{p-653d31bd.entry.js → p-5864bff0.entry.js} +2 -2
  473. package/dist/infineon-design-system-stencil/p-589b92d7.entry.js +2 -0
  474. package/dist/infineon-design-system-stencil/{p-8a960c92.entry.js → p-59378506.entry.js} +2 -2
  475. package/dist/infineon-design-system-stencil/{p-5f79d386.entry.js → p-5fcea1fe.entry.js} +2 -2
  476. package/dist/infineon-design-system-stencil/{p-ef8fabdf.entry.js → p-68d7c6bf.entry.js} +2 -2
  477. package/dist/infineon-design-system-stencil/{p-c648a109.entry.js → p-6e2293d4.entry.js} +2 -2
  478. package/dist/infineon-design-system-stencil/{p-05f154da.entry.js → p-728a11db.entry.js} +2 -2
  479. package/dist/infineon-design-system-stencil/{p-50cd0c8a.entry.js → p-743c7e0e.entry.js} +2 -2
  480. package/dist/infineon-design-system-stencil/{p-6a51e524.entry.js → p-7499257e.entry.js} +2 -2
  481. package/dist/infineon-design-system-stencil/{p-b3532d16.entry.js → p-77c8c387.entry.js} +2 -2
  482. package/dist/infineon-design-system-stencil/p-7873796d.entry.js +2 -0
  483. package/dist/infineon-design-system-stencil/p-7873796d.entry.js.map +1 -0
  484. package/dist/infineon-design-system-stencil/p-78a44314.entry.js +2 -0
  485. package/dist/infineon-design-system-stencil/{p-132d0b9d.entry.js → p-7fe8d1e6.entry.js} +2 -2
  486. package/dist/infineon-design-system-stencil/{p-5f5e674d.entry.js → p-84a13050.entry.js} +2 -2
  487. package/dist/infineon-design-system-stencil/{p-7a5101d6.entry.js → p-879fcf5b.entry.js} +2 -2
  488. package/dist/infineon-design-system-stencil/{p-8c646c1d.entry.js → p-88e1d1e9.entry.js} +2 -2
  489. package/dist/infineon-design-system-stencil/p-8d0ca3a9.entry.js +2 -0
  490. package/dist/infineon-design-system-stencil/p-8d0ca3a9.entry.js.map +1 -0
  491. package/dist/infineon-design-system-stencil/p-91663a1c.entry.js +2 -0
  492. package/dist/infineon-design-system-stencil/p-94244a62.entry.js +2 -0
  493. package/dist/infineon-design-system-stencil/p-94244a62.entry.js.map +1 -0
  494. package/dist/infineon-design-system-stencil/p-958796b1.entry.js +2 -0
  495. package/dist/infineon-design-system-stencil/p-958796b1.entry.js.map +1 -0
  496. package/dist/infineon-design-system-stencil/{p-ead84183.entry.js → p-9b204c5a.entry.js} +2 -2
  497. package/dist/infineon-design-system-stencil/p-9dff807a.entry.js +2 -0
  498. package/dist/infineon-design-system-stencil/{p-d61b483a.entry.js → p-ace11822.entry.js} +2 -2
  499. package/dist/infineon-design-system-stencil/p-bc89d9dd.entry.js +2 -0
  500. package/dist/infineon-design-system-stencil/{p-ade0ec39.entry.js → p-c0b08508.entry.js} +2 -2
  501. package/dist/infineon-design-system-stencil/p-c0b08508.entry.js.map +1 -0
  502. package/dist/infineon-design-system-stencil/{p-394548d7.entry.js → p-c5023809.entry.js} +2 -2
  503. package/dist/infineon-design-system-stencil/{p-b61430f7.entry.js → p-c99cff31.entry.js} +2 -2
  504. package/dist/infineon-design-system-stencil/{p-a10a1d46.entry.js → p-cead5ccf.entry.js} +2 -2
  505. package/dist/infineon-design-system-stencil/{p-633ca789.entry.js → p-d3501865.entry.js} +2 -2
  506. package/dist/infineon-design-system-stencil/{p-4d2dfb65.entry.js → p-d77af62a.entry.js} +2 -2
  507. package/dist/infineon-design-system-stencil/p-d77af62a.entry.js.map +1 -0
  508. package/dist/infineon-design-system-stencil/p-dabc95ae.entry.js +2 -0
  509. package/dist/infineon-design-system-stencil/p-dabc95ae.entry.js.map +1 -0
  510. package/dist/infineon-design-system-stencil/{p-a11b5f74.entry.js → p-e2a870b7.entry.js} +2 -2
  511. package/dist/infineon-design-system-stencil/{p-c378c228.entry.js → p-e33748eb.entry.js} +2 -2
  512. package/dist/infineon-design-system-stencil/{p-64803e16.entry.js → p-e6d9a677.entry.js} +2 -2
  513. package/dist/infineon-design-system-stencil/p-eef13138.entry.js +2 -0
  514. package/dist/infineon-design-system-stencil/p-eef13138.entry.js.map +1 -0
  515. package/dist/infineon-design-system-stencil/{p-6ab5c27f.entry.js → p-f158df88.entry.js} +2 -2
  516. package/dist/infineon-design-system-stencil/{p-582f7515.entry.js → p-fc14f24c.entry.js} +2 -2
  517. package/dist/types/components/card/card.d.ts +1 -0
  518. package/dist/types/components/checkbox-group/checkbox-group.d.ts +1 -0
  519. package/dist/types/components/checkbox-group/checkbox-group.stories.d.ts +13 -0
  520. package/dist/types/components/radio-button-group/radio-button-group.d.ts +1 -0
  521. package/dist/types/components/radio-button-group/radio-button-group.stories.d.ts +13 -0
  522. package/dist/types/components/segmented-control/segmented-control.d.ts +2 -0
  523. package/dist/types/components/segmented-control/segmented-control.stories.d.ts +20 -0
  524. package/dist/types/components/slider/slider.d.ts +0 -1
  525. package/dist/types/components/slider/slider.stories.d.ts +0 -13
  526. package/dist/types/components/spinner/spinner.d.ts +0 -1
  527. package/dist/types/components/spinner/spinner.stories.d.ts +0 -14
  528. package/dist/types/components/stepper/stepper.d.ts +0 -2
  529. package/dist/types/components/stepper/stepper.stories.d.ts +0 -28
  530. package/dist/types/components/tag/tag.d.ts +0 -2
  531. package/dist/types/components/tag/tag.stories.d.ts +0 -28
  532. package/dist/types/components/text-field/text-field.d.ts +0 -1
  533. package/dist/types/components/text-field/text-field.stories.d.ts +0 -14
  534. package/dist/types/components/tooltip/tooltip.d.ts +0 -1
  535. package/dist/types/components/tooltip/tooltip.stories.d.ts +0 -14
  536. package/dist/types/components.d.ts +32 -16
  537. package/package.json +1 -1
  538. package/dist/components/p-C09NpLE0.js.map +0 -1
  539. package/dist/components/p-CssgRUtq.js.map +0 -1
  540. package/dist/components/p-VdirQ-rJ.js.map +0 -1
  541. package/dist/components/p-aoMMugzu.js.map +0 -1
  542. package/dist/components/p-cqNsYK8s.js +0 -125
  543. package/dist/components/p-cqNsYK8s.js.map +0 -1
  544. package/dist/components/p-hknsKJbL.js.map +0 -1
  545. package/dist/infineon-design-system-stencil/p-08ac6334.entry.js +0 -2
  546. package/dist/infineon-design-system-stencil/p-08ac6334.entry.js.map +0 -1
  547. package/dist/infineon-design-system-stencil/p-1453032c.entry.js +0 -2
  548. package/dist/infineon-design-system-stencil/p-202d262d.entry.js +0 -2
  549. package/dist/infineon-design-system-stencil/p-3225e159.entry.js +0 -2
  550. package/dist/infineon-design-system-stencil/p-3a444f2d.entry.js +0 -2
  551. package/dist/infineon-design-system-stencil/p-47388e22.entry.js +0 -2
  552. package/dist/infineon-design-system-stencil/p-47388e22.entry.js.map +0 -1
  553. package/dist/infineon-design-system-stencil/p-4d2dfb65.entry.js.map +0 -1
  554. package/dist/infineon-design-system-stencil/p-4f951b7e.entry.js +0 -2
  555. package/dist/infineon-design-system-stencil/p-6ae1a75c.entry.js.map +0 -1
  556. package/dist/infineon-design-system-stencil/p-733cc7f4.entry.js.map +0 -1
  557. package/dist/infineon-design-system-stencil/p-7780665b.entry.js +0 -2
  558. package/dist/infineon-design-system-stencil/p-7780665b.entry.js.map +0 -1
  559. package/dist/infineon-design-system-stencil/p-7cf08e30.entry.js +0 -2
  560. package/dist/infineon-design-system-stencil/p-863e520d.entry.js +0 -2
  561. package/dist/infineon-design-system-stencil/p-9062208e.entry.js +0 -2
  562. package/dist/infineon-design-system-stencil/p-9062208e.entry.js.map +0 -1
  563. package/dist/infineon-design-system-stencil/p-993d003a.entry.js.map +0 -1
  564. package/dist/infineon-design-system-stencil/p-a5e5a2cf.entry.js +0 -2
  565. package/dist/infineon-design-system-stencil/p-ade0ec39.entry.js.map +0 -1
  566. package/dist/infineon-design-system-stencil/p-b288ba34.entry.js +0 -2
  567. package/dist/infineon-design-system-stencil/p-b9a871a7.entry.js +0 -2
  568. package/dist/infineon-design-system-stencil/p-b9a871a7.entry.js.map +0 -1
  569. package/dist/infineon-design-system-stencil/p-c51df9e9.entry.js +0 -2
  570. package/dist/infineon-design-system-stencil/p-c51df9e9.entry.js.map +0 -1
  571. package/dist/infineon-design-system-stencil/p-c75a57a2.entry.js.map +0 -1
  572. package/dist/infineon-design-system-stencil/p-caccdf14.entry.js +0 -2
  573. package/dist/infineon-design-system-stencil/p-cb838071.entry.js +0 -2
  574. package/dist/infineon-design-system-stencil/p-cb838071.entry.js.map +0 -1
  575. package/dist/infineon-design-system-stencil/p-d5ee7c5a.entry.js +0 -2
  576. package/dist/infineon-design-system-stencil/p-d5ee7c5a.entry.js.map +0 -1
  577. package/dist/infineon-design-system-stencil/p-f8f4af1c.entry.js +0 -2
  578. package/dist/infineon-design-system-stencil/p-f8f4af1c.entry.js.map +0 -1
  579. package/dist/infineon-design-system-stencil/p-fb11d0cc.entry.js +0 -2
  580. package/dist/infineon-design-system-stencil/p-fb11d0cc.entry.js.map +0 -1
  581. /package/dist/infineon-design-system-stencil/{p-a5e5a2cf.entry.js.map → p-14e1cec1.entry.js.map} +0 -0
  582. /package/dist/infineon-design-system-stencil/{p-4f951b7e.entry.js.map → p-179954e8.entry.js.map} +0 -0
  583. /package/dist/infineon-design-system-stencil/{p-189302bb.entry.js.map → p-19aa5352.entry.js.map} +0 -0
  584. /package/dist/infineon-design-system-stencil/{p-1156b5e0.entry.js.map → p-2bd96917.entry.js.map} +0 -0
  585. /package/dist/infineon-design-system-stencil/{p-09796daa.entry.js.map → p-2fa9ad54.entry.js.map} +0 -0
  586. /package/dist/infineon-design-system-stencil/{p-3a444f2d.entry.js.map → p-3601025f.entry.js.map} +0 -0
  587. /package/dist/infineon-design-system-stencil/{p-2908cc2a.entry.js.map → p-3f0760ab.entry.js.map} +0 -0
  588. /package/dist/infineon-design-system-stencil/{p-98f57aed.entry.js.map → p-402f01e3.entry.js.map} +0 -0
  589. /package/dist/infineon-design-system-stencil/{p-7dd092cf.entry.js.map → p-458d92ea.entry.js.map} +0 -0
  590. /package/dist/infineon-design-system-stencil/{p-554d7431.entry.js.map → p-491dbc4c.entry.js.map} +0 -0
  591. /package/dist/infineon-design-system-stencil/{p-d246597b.entry.js.map → p-5092ced0.entry.js.map} +0 -0
  592. /package/dist/infineon-design-system-stencil/{p-8ca1da22.entry.js.map → p-50ee7b57.entry.js.map} +0 -0
  593. /package/dist/infineon-design-system-stencil/{p-00672789.entry.js.map → p-564d8c2e.entry.js.map} +0 -0
  594. /package/dist/infineon-design-system-stencil/{p-653d31bd.entry.js.map → p-5864bff0.entry.js.map} +0 -0
  595. /package/dist/infineon-design-system-stencil/{p-caccdf14.entry.js.map → p-589b92d7.entry.js.map} +0 -0
  596. /package/dist/infineon-design-system-stencil/{p-8a960c92.entry.js.map → p-59378506.entry.js.map} +0 -0
  597. /package/dist/infineon-design-system-stencil/{p-5f79d386.entry.js.map → p-5fcea1fe.entry.js.map} +0 -0
  598. /package/dist/infineon-design-system-stencil/{p-ef8fabdf.entry.js.map → p-68d7c6bf.entry.js.map} +0 -0
  599. /package/dist/infineon-design-system-stencil/{p-c648a109.entry.js.map → p-6e2293d4.entry.js.map} +0 -0
  600. /package/dist/infineon-design-system-stencil/{p-05f154da.entry.js.map → p-728a11db.entry.js.map} +0 -0
  601. /package/dist/infineon-design-system-stencil/{p-50cd0c8a.entry.js.map → p-743c7e0e.entry.js.map} +0 -0
  602. /package/dist/infineon-design-system-stencil/{p-6a51e524.entry.js.map → p-7499257e.entry.js.map} +0 -0
  603. /package/dist/infineon-design-system-stencil/{p-b3532d16.entry.js.map → p-77c8c387.entry.js.map} +0 -0
  604. /package/dist/infineon-design-system-stencil/{p-b288ba34.entry.js.map → p-78a44314.entry.js.map} +0 -0
  605. /package/dist/infineon-design-system-stencil/{p-132d0b9d.entry.js.map → p-7fe8d1e6.entry.js.map} +0 -0
  606. /package/dist/infineon-design-system-stencil/{p-5f5e674d.entry.js.map → p-84a13050.entry.js.map} +0 -0
  607. /package/dist/infineon-design-system-stencil/{p-7a5101d6.entry.js.map → p-879fcf5b.entry.js.map} +0 -0
  608. /package/dist/infineon-design-system-stencil/{p-8c646c1d.entry.js.map → p-88e1d1e9.entry.js.map} +0 -0
  609. /package/dist/infineon-design-system-stencil/{p-3225e159.entry.js.map → p-91663a1c.entry.js.map} +0 -0
  610. /package/dist/infineon-design-system-stencil/{p-ead84183.entry.js.map → p-9b204c5a.entry.js.map} +0 -0
  611. /package/dist/infineon-design-system-stencil/{p-7cf08e30.entry.js.map → p-9dff807a.entry.js.map} +0 -0
  612. /package/dist/infineon-design-system-stencil/{p-d61b483a.entry.js.map → p-ace11822.entry.js.map} +0 -0
  613. /package/dist/infineon-design-system-stencil/{p-863e520d.entry.js.map → p-bc89d9dd.entry.js.map} +0 -0
  614. /package/dist/infineon-design-system-stencil/{p-394548d7.entry.js.map → p-c5023809.entry.js.map} +0 -0
  615. /package/dist/infineon-design-system-stencil/{p-b61430f7.entry.js.map → p-c99cff31.entry.js.map} +0 -0
  616. /package/dist/infineon-design-system-stencil/{p-a10a1d46.entry.js.map → p-cead5ccf.entry.js.map} +0 -0
  617. /package/dist/infineon-design-system-stencil/{p-633ca789.entry.js.map → p-d3501865.entry.js.map} +0 -0
  618. /package/dist/infineon-design-system-stencil/{p-a11b5f74.entry.js.map → p-e2a870b7.entry.js.map} +0 -0
  619. /package/dist/infineon-design-system-stencil/{p-c378c228.entry.js.map → p-e33748eb.entry.js.map} +0 -0
  620. /package/dist/infineon-design-system-stencil/{p-64803e16.entry.js.map → p-e6d9a677.entry.js.map} +0 -0
  621. /package/dist/infineon-design-system-stencil/{p-6ab5c27f.entry.js.map → p-f158df88.entry.js.map} +0 -0
  622. /package/dist/infineon-design-system-stencil/{p-582f7515.entry.js.map → p-fc14f24c.entry.js.map} +0 -0
@@ -104,7 +104,7 @@
104
104
  margin-left: 12px;
105
105
  }
106
106
 
107
- .page__button {
107
+ a {
108
108
  padding: 8px;
109
109
  border-radius: 100px;
110
110
  }
@@ -125,23 +125,23 @@ li {
125
125
  align-items: center;
126
126
  border-radius: 100px;
127
127
  }
128
- li:hover:not(.active) page__button {
128
+ li:hover:not(.active) a {
129
129
  background-color: #EEEDED;
130
130
  }
131
- li:active:not(.active) .page__button {
131
+ li:active:not(.active) a {
132
132
  background-color: #575352;
133
133
  color: #fff;
134
134
  }
135
135
  li.active {
136
136
  background-color: #0A8276;
137
137
  }
138
- li.active .page__button {
138
+ li.active a {
139
139
  color: #fff;
140
140
  }
141
141
  li:hover {
142
142
  cursor: pointer;
143
143
  }
144
- li .page__button {
144
+ li a {
145
145
  text-decoration: none;
146
146
  display: flex;
147
147
  width: 16px;
@@ -158,7 +158,7 @@ export class Pagination {
158
158
  this.initPagination();
159
159
  }
160
160
  render() {
161
- return (h("div", { key: '14f71cd0291d0b01d3b9da91ecec8d3908796107', class: "container" }, h("div", { key: 'd28f3b1a05cd937eec0efa30b661c1e5671542d3', class: "items__per-page-wrapper" }, h("div", { key: '504286b0c1d4d1a77e283612389e2f0a98f76ce3', class: "items__per-page-label" }, "Results per Page"), h("div", { key: '61fb210192777dc3ebf7810f0d311eae2abd3dc3', class: "items__per-page-field" }, h("ifx-select", { key: 'a576ef3d2ee4feb8d9f04550fa08e0a75fdafc07', id: 'itemsPerPageSelect', placeholder: 'false', "show-search": 'false', value: undefined, disabled: false, error: false, size: "s", options: this.filteredItemsPerPage, "placeholder-value": "Select" }))), h("nav", { key: '47646225b5ab6cfa65b5620fda57300bc39e23e9', class: "items__total-wrapper", "aria-label": `Pagination navigation, page ${this.internalPage} of ${this.numberOfPages.length}` }, h("div", { key: '6bdbf4cb181b372491efc177b26c75e1b7677c64', class: "pagination" }, h("ifx-icon-button", { key: 'ede2c6a66a75510ecc7244be7a7d00dae16f9d3a', class: "prev", icon: "arrow-left-16", "aria-label": 'Previous Page', onClick: () => this.changePage(this.internalPage - 1) }), h("ol", { key: '43f63193bf3fc7c93fdf714e328da4f1333aca88' }, this.visiblePages.map((page, i) => typeof page === 'number' ? (h("li", { key: `page-${page}`, class: { [this.CLASS_ACTIVE]: page === this.internalPage }, "data-page": page }, h("span", { class: 'page__button', role: "button", tabindex: "0", "aria-current": page === this.internalPage ? "page" : undefined, "aria-label": `Page ${page}`, onClick: () => this.changePage(page), onKeyDown: (e) => (e.key === 'Enter' || e.key === ' ') && this.changePage(page) }, page))) : (h("li", { class: "ellipsis", key: `ellipsis-${i}` }, h("span", { "aria-hidden": "true" }, "..."))))), h("ifx-icon-button", { key: '610f92b2a6af014529f5562409fa963d85654050', class: "next", icon: "arrow-right-16", "aria-label": 'Next Page', onClick: () => this.changePage(this.internalPage + 1) })))));
161
+ return (h("div", { key: '724b3d84f8dc469898c4126b76637c77567f195d', class: "container" }, h("div", { key: '171579231fc284e71acfe1df372e6750742a2973', class: "items__per-page-wrapper" }, h("div", { key: '916428fde974123aa1b805f4815eae6dc2a64097', class: "items__per-page-label" }, "Results per Page"), h("div", { key: '88e7827159c37eee23109dd956863bdc1335f043', class: "items__per-page-field" }, h("ifx-select", { key: '08fc2626e633d33dfa0565074464adc4533072f2', id: 'itemsPerPageSelect', placeholder: 'false', "show-search": 'false', value: undefined, disabled: false, error: false, size: "s", options: this.filteredItemsPerPage, "placeholder-value": "Select" }))), h("div", { key: '1e0299c9b3ba3bbe229039cfe0f298a821b90aea', class: "items__total-wrapper" }, h("div", { key: 'f8c507a16e070b199a75b30138829528ee434ccd', class: "pagination" }, h("ifx-icon-button", { key: 'c6fd48710f97119a71745ff0909b7072aa645e21', class: "prev", icon: "arrow-left-16", onClick: () => this.changePage(this.internalPage - 1) }), h("ol", { key: '860a2420df4b9cdfbed1df0630e8227531b61276' }, this.visiblePages.map((page, i) => typeof page === 'number' ? (h("li", { key: `page-${page}`, class: { [this.CLASS_ACTIVE]: page === this.internalPage }, "data-page": page }, h("a", { href: "javascript:void(0)" }, page))) : (h("li", { class: "ellipsis", key: `ellipsis-${i}` }, h("span", null, "..."))))), h("ifx-icon-button", { key: 'c3645817a9dbc92185d0eef3c71c2231246b3d90', class: "next", icon: "arrow-right-16", onClick: () => this.changePage(this.internalPage + 1) })))));
162
162
  }
163
163
  static get is() { return "ifx-pagination"; }
164
164
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/components/pagination/pagination.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Element, Event, EventEmitter, Prop, State, Listen, Watch } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-pagination',\n styleUrl: 'pagination.scss',\n shadow: true\n})\nexport class Pagination {\n @Element() el: HTMLElement;\n @Event() ifxPageChange: EventEmitter;\n @Event() ifxItemsPerPageChange: EventEmitter;\n @Prop() currentPage: number = 1;\n @State() internalPage: number = 1;\n @State() internalItemsPerPage: number = 10;\n @State() numberOfPages: number[] = [];\n @Prop() total: number = 1;\n @Prop() itemsPerPage: any[] | string;\n @State() filteredItemsPerPage: any[] = [];\n @State() visiblePages: (number | string)[] = [];\n \n private CLASS_DISABLED = \"disabled\";\n private CLASS_ACTIVE = \"active\";\n private prevInternalPage: number;\n\n @Watch('total')\n watchTotalHandler() {\n this.calculateNumberOfPages();\n this.updateVisiblePages();\n }\n\n @Watch('currentPage')\n currentPageWatcher(newVal: number) {\n this.internalPage = Math.max(1, Math.min(newVal, this.numberOfPages.length));\n this.calculateNumberOfPages();\n this.updateVisiblePages();\n }\n\n @Listen('ifxSelect')\n setItemsPerPage(e: CustomEvent) {\n const selectedValue = e.detail?.value || e.detail?.label; \n const newItemsPerPage = parseInt(selectedValue) || 10;\n\n if (newItemsPerPage === this.internalItemsPerPage) {\n return;\n }\n\n this.internalItemsPerPage = newItemsPerPage;\n this.internalPage = 1; \n this.calculateNumberOfPages();\n this.updateVisiblePages();\n this.handleEventEmission();\n }\n\n emitItemsPerPage(e) { \n this.ifxItemsPerPageChange.emit((e as any).detail.label)\n }\n\n async componentDidLoad() {\n const select = this.el.shadowRoot.querySelector('#itemsPerPageSelect');\n if(select) { \n select.addEventListener('ifxSelect', (e) => this.emitItemsPerPage(e))\n }\n\n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-pagination', await framework)\n }\n this.initPagination();\n }\n\n disconnectedCallback() {\n const select = this.el.shadowRoot.querySelector('#itemsPerPageSelect');\n if (select) {\n select.removeEventListener('ifxSelect', (e) => this.emitItemsPerPage(e));\n }\n }\n\n updateVisiblePages() {\n const buffer = 2;\n const totalPages = this.numberOfPages.length;\n const current = this.internalPage;\n let pages: (number | string)[] = [];\n \n if (totalPages <= 5) {\n pages = [...this.numberOfPages];\n } else {\n pages.push(1);\n \n if (current > buffer + 1) pages.push('...');\n \n let start = Math.max(2, current - buffer);\n let end = Math.min(totalPages - 1, current + buffer);\n \n if (current <= buffer + 1) end = buffer * 2 + 1;\n if (current >= totalPages - buffer) start = totalPages - buffer * 2;\n \n for (let i = start; i <= end; i++) pages.push(i);\n \n if (current < totalPages - buffer) pages.push('...');\n pages.push(totalPages);\n }\n \n this.visiblePages = [...new Set(pages)];\n }\n\n calculateNumberOfPages() {\n const totalPages = Math.ceil(this.total / this.internalItemsPerPage);\n this.numberOfPages = Array.from({ length: totalPages }, (_, i) => i + 1);\n this.internalPage = Math.max(1, Math.min(this.currentPage, totalPages));\n }\n\n filterOptionsArray() { \n const items = typeof this.itemsPerPage === 'string' ? \n JSON.parse(this.itemsPerPage) : this.itemsPerPage;\n this.filteredItemsPerPage = items.map(item => ({\n ...item,\n label: item.label || item.value\n }));\n }\n\n componentWillLoad() {\n this.filterOptionsArray();\n \n const selectedOption = this.filteredItemsPerPage.find(option => option.selected);\n if (selectedOption) {\n this.internalItemsPerPage = Number(selectedOption.value);\n } else if (this.filteredItemsPerPage.length > 0) {\n this.internalItemsPerPage = Number(this.filteredItemsPerPage[0].value);\n }\n\n this.calculateNumberOfPages();\n this.internalPage = Math.max(1, Math.min(this.currentPage, this.numberOfPages.length));\n this.updateVisiblePages();\n }\n\n componentWillUpdate() { \n if (this.prevInternalPage !== this.internalPage) {\n this.updateVisiblePages();\n this.prevInternalPage = this.internalPage;\n }\n }\n\n componentDidUpdate() {\n this.initPagination();\n }\n\n handleEventEmission() {\n this.ifxPageChange.emit({\n currentPage: this.internalPage,\n totalPages: this.numberOfPages.length,\n itemsPerPage: this.internalItemsPerPage\n });\n }\n\n initPagination() {\n const pagination = this.el.shadowRoot.querySelector('.pagination');\n if (!pagination) return;\n\n const updateButtons = () => {\n const prev = pagination.querySelector<HTMLButtonElement>('.prev');\n const next = pagination.querySelector<HTMLButtonElement>('.next');\n if (prev) {\n prev.disabled = this.internalPage === 1;\n prev.classList.toggle(this.CLASS_DISABLED, this.internalPage === 1);\n }\n if (next) {\n next.disabled = this.internalPage === this.numberOfPages.length;\n next.classList.toggle(this.CLASS_DISABLED, this.internalPage === this.numberOfPages.length);\n }\n };\n\n pagination.querySelectorAll('li').forEach(li => {\n li.removeEventListener('click', this.handlePageClick);\n li.addEventListener('click', this.handlePageClick);\n });\n\n updateButtons();\n }\n\n private handlePageClick = (e: Event) => {\n const li = e.currentTarget as HTMLLIElement;\n const page = parseInt(li.dataset.page);\n if (!isNaN(page)) this.changePage(page);\n };\n\n changePage(newPage: number) {\n newPage = Math.max(1, Math.min(newPage, this.numberOfPages.length));\n if (newPage === this.internalPage) return;\n \n this.internalPage = newPage;\n this.handleEventEmission();\n this.initPagination();\n }\n\n render() {\n return (\n <div class=\"container\">\n <div class=\"items__per-page-wrapper\">\n <div class=\"items__per-page-label\">Results per Page</div>\n <div class=\"items__per-page-field\">\n <ifx-select\n id='itemsPerPageSelect'\n placeholder='false'\n show-search='false'\n value={undefined}\n disabled={false}\n error={false}\n size=\"s\"\n options={this.filteredItemsPerPage}\n placeholder-value=\"Select\"\n ></ifx-select>\n </div>\n </div>\n \n <nav class=\"items__total-wrapper\" aria-label={`Pagination navigation, page ${this.internalPage} of ${this.numberOfPages.length}`}>\n <div class=\"pagination\">\n <ifx-icon-button\n class=\"prev\"\n icon=\"arrow-left-16\"\n aria-label='Previous Page'\n onClick={() => this.changePage(this.internalPage - 1)}\n ></ifx-icon-button>\n \n <ol>\n {this.visiblePages.map((page, i) => typeof page === 'number' ? (\n <li \n key={`page-${page}`}\n class={{ [this.CLASS_ACTIVE]: page === this.internalPage }}\n data-page={page}\n >\n <span \n class='page__button'\n role=\"button\"\n tabindex=\"0\"\n aria-current={page === this.internalPage ? \"page\" : undefined}\n aria-label={`Page ${page}`}\n onClick={() => this.changePage(page)}\n onKeyDown={(e) => (e.key === 'Enter' || e.key === ' ') && this.changePage(page)}\n >\n {page}\n </span>\n </li>\n ) : (\n <li class=\"ellipsis\" key={`ellipsis-${i}`}>\n <span aria-hidden=\"true\">...</span>\n </li>\n ))}\n </ol>\n \n <ifx-icon-button\n class=\"next\"\n icon=\"arrow-right-16\"\n aria-label='Next Page'\n onClick={() => this.changePage(this.internalPage + 1)}\n ></ifx-icon-button>\n </div>\n </nav>\n </div>\n );\n }\n}"]}
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/components/pagination/pagination.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Element, Event, EventEmitter, Prop, State, Listen, Watch } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-pagination',\n styleUrl: 'pagination.scss',\n shadow: true\n})\nexport class Pagination {\n @Element() el: HTMLElement;\n @Event() ifxPageChange: EventEmitter;\n @Event() ifxItemsPerPageChange: EventEmitter;\n @Prop() currentPage: number = 1;\n @State() internalPage: number = 1;\n @State() internalItemsPerPage: number = 10;\n @State() numberOfPages: number[] = [];\n @Prop() total: number = 1;\n @Prop() itemsPerPage: any[] | string;\n @State() filteredItemsPerPage: any[] = [];\n @State() visiblePages: (number | string)[] = [];\n \n private CLASS_DISABLED = \"disabled\";\n private CLASS_ACTIVE = \"active\";\n private prevInternalPage: number;\n\n @Watch('total')\n watchTotalHandler() {\n this.calculateNumberOfPages();\n this.updateVisiblePages();\n }\n\n @Watch('currentPage')\n currentPageWatcher(newVal: number) {\n this.internalPage = Math.max(1, Math.min(newVal, this.numberOfPages.length));\n this.calculateNumberOfPages();\n this.updateVisiblePages();\n }\n\n @Listen('ifxSelect')\n setItemsPerPage(e: CustomEvent) {\n const selectedValue = e.detail?.value || e.detail?.label; \n const newItemsPerPage = parseInt(selectedValue) || 10;\n\n if (newItemsPerPage === this.internalItemsPerPage) {\n return;\n }\n\n this.internalItemsPerPage = newItemsPerPage;\n this.internalPage = 1; \n this.calculateNumberOfPages();\n this.updateVisiblePages();\n this.handleEventEmission();\n }\n\n emitItemsPerPage(e) { \n this.ifxItemsPerPageChange.emit((e as any).detail.label)\n }\n\n async componentDidLoad() {\n const select = this.el.shadowRoot.querySelector('#itemsPerPageSelect');\n if(select) { \n select.addEventListener('ifxSelect', (e) => this.emitItemsPerPage(e))\n }\n\n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-pagination', await framework)\n }\n this.initPagination();\n }\n\n disconnectedCallback() {\n const select = this.el.shadowRoot.querySelector('#itemsPerPageSelect');\n if (select) {\n select.removeEventListener('ifxSelect', (e) => this.emitItemsPerPage(e));\n }\n }\n\n updateVisiblePages() {\n const buffer = 2;\n const totalPages = this.numberOfPages.length;\n const current = this.internalPage;\n let pages: (number | string)[] = [];\n \n if (totalPages <= 5) {\n pages = [...this.numberOfPages];\n } else {\n pages.push(1);\n \n if (current > buffer + 1) pages.push('...');\n \n let start = Math.max(2, current - buffer);\n let end = Math.min(totalPages - 1, current + buffer);\n \n if (current <= buffer + 1) end = buffer * 2 + 1;\n if (current >= totalPages - buffer) start = totalPages - buffer * 2;\n \n for (let i = start; i <= end; i++) pages.push(i);\n \n if (current < totalPages - buffer) pages.push('...');\n pages.push(totalPages);\n }\n \n this.visiblePages = [...new Set(pages)];\n }\n\n calculateNumberOfPages() {\n const totalPages = Math.ceil(this.total / this.internalItemsPerPage);\n this.numberOfPages = Array.from({ length: totalPages }, (_, i) => i + 1);\n this.internalPage = Math.max(1, Math.min(this.currentPage, totalPages));\n }\n\n filterOptionsArray() { \n const items = typeof this.itemsPerPage === 'string' ? \n JSON.parse(this.itemsPerPage) : this.itemsPerPage;\n this.filteredItemsPerPage = items.map(item => ({\n ...item,\n label: item.label || item.value\n }));\n }\n\n componentWillLoad() {\n this.filterOptionsArray();\n \n const selectedOption = this.filteredItemsPerPage.find(option => option.selected);\n if (selectedOption) {\n this.internalItemsPerPage = Number(selectedOption.value);\n } else if (this.filteredItemsPerPage.length > 0) {\n this.internalItemsPerPage = Number(this.filteredItemsPerPage[0].value);\n }\n\n this.calculateNumberOfPages();\n this.internalPage = Math.max(1, Math.min(this.currentPage, this.numberOfPages.length));\n this.updateVisiblePages();\n }\n\n componentWillUpdate() { \n if (this.prevInternalPage !== this.internalPage) {\n this.updateVisiblePages();\n this.prevInternalPage = this.internalPage;\n }\n }\n\n componentDidUpdate() {\n this.initPagination();\n }\n\n handleEventEmission() {\n this.ifxPageChange.emit({\n currentPage: this.internalPage,\n totalPages: this.numberOfPages.length,\n itemsPerPage: this.internalItemsPerPage\n });\n }\n\n initPagination() {\n const pagination = this.el.shadowRoot.querySelector('.pagination');\n if (!pagination) return;\n\n const updateButtons = () => {\n const prev = pagination.querySelector<HTMLButtonElement>('.prev');\n const next = pagination.querySelector<HTMLButtonElement>('.next');\n if (prev) {\n prev.disabled = this.internalPage === 1;\n prev.classList.toggle(this.CLASS_DISABLED, this.internalPage === 1);\n }\n if (next) {\n next.disabled = this.internalPage === this.numberOfPages.length;\n next.classList.toggle(this.CLASS_DISABLED, this.internalPage === this.numberOfPages.length);\n }\n };\n\n pagination.querySelectorAll('li').forEach(li => {\n li.removeEventListener('click', this.handlePageClick);\n li.addEventListener('click', this.handlePageClick);\n });\n\n updateButtons();\n }\n\n private handlePageClick = (e: Event) => {\n const li = e.currentTarget as HTMLLIElement;\n const page = parseInt(li.dataset.page);\n if (!isNaN(page)) this.changePage(page);\n };\n\n changePage(newPage: number) {\n newPage = Math.max(1, Math.min(newPage, this.numberOfPages.length));\n if (newPage === this.internalPage) return;\n \n this.internalPage = newPage;\n this.handleEventEmission();\n this.initPagination();\n }\n\n render() {\n return (\n <div class=\"container\">\n <div class=\"items__per-page-wrapper\">\n <div class=\"items__per-page-label\">Results per Page</div>\n <div class=\"items__per-page-field\">\n <ifx-select\n id='itemsPerPageSelect'\n placeholder='false'\n show-search='false'\n value={undefined}\n disabled={false}\n error={false}\n size=\"s\"\n options={this.filteredItemsPerPage}\n placeholder-value=\"Select\"\n ></ifx-select>\n </div>\n </div>\n \n <div class=\"items__total-wrapper\">\n <div class=\"pagination\">\n <ifx-icon-button\n class=\"prev\"\n icon=\"arrow-left-16\"\n onClick={() => this.changePage(this.internalPage - 1)}\n ></ifx-icon-button>\n \n <ol>\n {this.visiblePages.map((page, i) => typeof page === 'number' ? (\n <li \n key={`page-${page}`}\n class={{ [this.CLASS_ACTIVE]: page === this.internalPage }}\n data-page={page}\n >\n <a href=\"javascript:void(0)\">{page}</a>\n </li>\n ) : (\n <li class=\"ellipsis\" key={`ellipsis-${i}`}>\n <span>...</span>\n </li>\n ))}\n </ol>\n \n <ifx-icon-button\n class=\"next\"\n icon=\"arrow-right-16\"\n onClick={() => this.changePage(this.internalPage + 1)}\n ></ifx-icon-button>\n </div>\n </div>\n </div>\n );\n }\n}"]}
@@ -22,7 +22,7 @@ export class ProgressBar {
22
22
  }
23
23
  }
24
24
  render() {
25
- return (h("div", { key: '8fca691ec07d456af7fb2559047d88dfecd00b68', role: "progressbar", "aria-valuenow": this.internalValue, "aria-valuemin": "0", "aria-valuemax": "100", "aria-label": `Progress: ${this.internalValue}%`, class: `progress-bar ${this.size}` }, h("div", { key: 'd481b45e3bb67f6a3bbfaa2b31fd529941abb976', class: "progress", style: { width: `${this.internalValue}%` } }, this.showLabel && this.size !== "s" && this.internalValue !== 0 && h("span", { key: '17f2a5a50a42bba13e780b3a14e2f5e6046eb02e', class: "label" }, `${this.internalValue}%`))));
25
+ return (h("div", { key: '8b85b9583b257c2bb08471502ec81eaf18240299', "aria-label": 'a progress bar', "aria-value": this.value, class: `progress-bar ${this.size}` }, h("div", { key: '4d4ab3b145e47f2ef34b9515d85916bb27d7b2ce', class: "progress", style: { width: `${this.internalValue}%` } }, this.showLabel && this.size !== "s" && this.internalValue !== 0 && h("span", { key: '43ea3c707df2f815321e7d6a757cb164fbe11500', class: "label" }, `${this.internalValue}%`))));
26
26
  }
27
27
  static get is() { return "ifx-progress-bar"; }
28
28
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"progress-bar.js","sourceRoot":"","sources":["../../../src/components/progress-bar/progress-bar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAOzE,MAAM,OAAO,WAAW;IALxB;QAOU,UAAK,GAAW,CAAC,CAAC;QAElB,cAAS,GAAY,KAAK,CAAC;KAmCpC;IA9BC,YAAY,CAAC,QAAgB,EAAE,QAAgB;QAC7C,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAChC,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;YACpC,cAAc,CAAC,kBAAkB,EAAE,MAAM,SAAS,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CACL,4DAAK,IAAI,EAAC,aAAa,mBACN,IAAI,CAAC,aAAa,mBACnB,GAAG,mBACH,KAAK,gBACP,aAAa,IAAI,CAAC,aAAa,GAAG,EAAE,KAAK,EAAE,gBAAgB,IAAI,CAAC,IAAI,EAAE;YAClF,4DAAK,KAAK,EAAC,UAAU,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,EAAE,IAC7D,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,IAAI,6DAAM,KAAK,EAAC,OAAO,IAAE,GAAG,IAAI,CAAC,aAAa,GAAG,CAAQ,CACrH,CACF,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, State, Watch, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-progress-bar',\n styleUrl: 'progress-bar.scss',\n shadow: true\n})\nexport class ProgressBar {\n @Element() el: HTMLElement;\n @Prop() value: number = 0;\n @Prop() size: string;\n @Prop() showLabel: boolean = false;\n\n @State() internalValue: number;\n\n @Watch('value')\n valueChanged(newValue: number, oldValue: number) {\n if (newValue !== oldValue) {\n this.internalValue = newValue;\n }\n }\n\n componentWillLoad() {\n this.internalValue = this.value;\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-progress-bar', await framework)\n }\n }\n\n render() {\n return (\n <div role=\"progressbar\"\n aria-valuenow={this.internalValue}\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-label={`Progress: ${this.internalValue}%`} class={`progress-bar ${this.size}`}>\n <div class=\"progress\" style={{ width: `${this.internalValue}%` }}>\n {this.showLabel && this.size !== \"s\" && this.internalValue !== 0 && <span class=\"label\">{`${this.internalValue}%`}</span>}\n </div>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"progress-bar.js","sourceRoot":"","sources":["../../../src/components/progress-bar/progress-bar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAOzE,MAAM,OAAO,WAAW;IALxB;QAOU,UAAK,GAAW,CAAC,CAAC;QAElB,cAAS,GAAY,KAAK,CAAC;KA+BpC;IA1BC,YAAY,CAAC,QAAgB,EAAE,QAAgB;QAC7C,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAChC,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;YACpC,cAAc,CAAC,kBAAkB,EAAE,MAAM,SAAS,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CACL,0EAAgB,gBAAgB,gBAAa,IAAI,CAAC,KAAK,EAAG,KAAK,EAAE,gBAAgB,IAAI,CAAC,IAAI,EAAE;YAC1F,4DAAK,KAAK,EAAC,UAAU,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,EAAE,IAC7D,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,IAAI,6DAAM,KAAK,EAAC,OAAO,IAAE,GAAG,IAAI,CAAC,aAAa,GAAG,CAAQ,CACrH,CACF,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, State, Watch, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-progress-bar',\n styleUrl: 'progress-bar.scss',\n shadow: true\n})\nexport class ProgressBar {\n @Element() el: HTMLElement;\n @Prop() value: number = 0;\n @Prop() size: string;\n @Prop() showLabel: boolean = false;\n\n @State() internalValue: number;\n\n @Watch('value')\n valueChanged(newValue: number, oldValue: number) {\n if (newValue !== oldValue) {\n this.internalValue = newValue;\n }\n }\n\n componentWillLoad() {\n this.internalValue = this.value;\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-progress-bar', await framework)\n }\n }\n\n render() {\n return (\n <div aria-label='a progress bar' aria-value={this.value} class={`progress-bar ${this.size}`}>\n <div class=\"progress\" style={{ width: `${this.internalValue}%` }}>\n {this.showLabel && this.size !== \"s\" && this.internalValue !== 0 && <span class=\"label\">{`${this.internalValue}%`}</span>}\n </div>\n </div>\n );\n }\n}\n"]}
@@ -99,10 +99,10 @@ export class RadioButton {
99
99
  }
100
100
  }
101
101
  render() {
102
- return (h("div", { key: '70a3fcd52e6e216c89ab477df26405f77d4d56be', role: "radio", "aria-checked": String(this.internalChecked), "aria-disabled": String(this.disabled), class: `radioButton__container ${this.size} ${this.disabled ? 'disabled' : ''}`, onClick: (e) => this.handleRadioButtonClick(e), tabindex: this.disabled ? -1 : 0 }, h("div", { key: '9cd248817e1ceccae7cbd23fce48116054b9d0c6', class: `radioButton__wrapper
102
+ return (h("div", { key: '672fd8be8a134e481c7f4251b95a0978fa3d934e', role: "radio", "aria-checked": String(this.internalChecked), "aria-disabled": String(this.disabled), class: `radioButton__container ${this.size} ${this.disabled ? 'disabled' : ''}`, onClick: (e) => this.handleRadioButtonClick(e), tabindex: this.disabled ? -1 : 0 }, h("div", { key: '33e9862f00b7544eb320f43e5763edb44242c299', class: `radioButton__wrapper
103
103
  ${this.internalChecked ? 'checked' : ''}
104
104
  ${this.disabled ? 'disabled' : ''}
105
- ${this.error ? 'error' : ''}` }, this.internalChecked && h("div", { key: '03f787f6a6e124a4d4ae4059401bc47c91c0b79e', class: "radioButton__wrapper-mark" })), this.hasSlot && (h("div", { key: '372a031591d76cfba685bfd0519fbf5f8332701b', class: `label ${this.size === "m" ? "label-m" : ""} ${this.disabled ? 'disabled' : ''}` }, h("slot", { key: '72ff42a1a482e8003829b56b4b40f216e32a9fb9' }))), h("input", { key: '70e8526b7498b94e21e06eb33c21766c29af6804', type: "radio", hidden: true, ref: el => this.inputElement = el, name: this.name, value: this.value, checked: this.internalChecked, disabled: this.disabled, onClick: (e) => e.stopPropagation() })));
105
+ ${this.error ? 'error' : ''}` }, this.internalChecked && h("div", { key: 'b2e090f994f231c55fabaa55fa7f7bf0790c92af', class: "radioButton__wrapper-mark" })), this.hasSlot && (h("div", { key: 'b3b0f595a56ff3fb5f43f3d4fee7065a13932a3e', class: `label ${this.size === "m" ? "label-m" : ""} ${this.disabled ? 'disabled' : ''}` }, h("slot", { key: '6f235a7af0381d4dfcc15a80a32604ed4843eb89' }))), h("input", { key: 'd0c2bf2a3f1471221887fe4046760b9ebf9ce300', type: "radio", hidden: true, ref: el => this.inputElement = el, name: this.name, value: this.value, checked: this.internalChecked, disabled: this.disabled, onClick: (e) => e.stopPropagation() })));
106
106
  }
107
107
  static get is() { return "ifx-radio-button"; }
108
108
  static get encapsulation() { return "shadow"; }
@@ -22,13 +22,24 @@
22
22
  }
23
23
 
24
24
  .group-label {
25
- font: 400 0.75rem/1rem "Source Sans 3";
25
+ font-size: 1rem;
26
+ line-height: 1.5rem;
27
+ font-weight: 400;
26
28
  margin-bottom: 8px;
27
29
  text-align: left;
28
30
  text-underline-position: from-font;
29
31
  text-decoration-skip-ink: none;
30
32
  }
31
33
 
34
+ .group-label .required {
35
+ color: #575352;
36
+ margin-left: 4px;
37
+ }
38
+
39
+ .group-label .required.error {
40
+ color: #CD002F;
41
+ }
42
+
32
43
  .caption {
33
44
  margin-top: 8px;
34
45
  align-self: flex-start;
@@ -46,7 +57,8 @@
46
57
  }
47
58
 
48
59
  .caption-text {
49
- font: 400 0.75rem/1rem "Source Sans 3";
60
+ font-size: 0.75rem;
61
+ line-height: 1rem;
50
62
  flex: 1;
51
63
  text-align: left;
52
64
  text-underline-position: from-font;
@@ -7,6 +7,7 @@ export class RadioButtonGroup {
7
7
  this.errorStates = new Map();
8
8
  this.alignment = 'vertical';
9
9
  this.groupLabelText = 'Group Label Text';
10
+ this.required = false;
10
11
  this.hasErrors = false;
11
12
  this.handleSlotChange = () => {
12
13
  this.initializeState();
@@ -49,7 +50,7 @@ export class RadioButtonGroup {
49
50
  this.hasErrors = Array.from(this.errorStates.values()).some((error) => error);
50
51
  }
51
52
  render() {
52
- return (h("div", { key: '110dd90eedde21f29a02bf7844c046cc1b5de641', class: 'radio-button-group-container' }, this.showGroupLabel ? h("div", { class: 'group-label' }, this.groupLabelText, " *") : '', h("div", { key: '891bd69906ffeefeb2641e72f4d468c100f43b90', class: `radio-button-group ${this.alignment} ${this.size}` }, h("slot", { key: '32b754f9b0b47fb53bdaeb825740114b7b6fe737', onSlotchange: this.handleSlotChange })), this.showCaption ? (h("div", { class: `caption ${this.hasErrors ? 'error' : 'default'}` }, this.showCaptionIcon ? h("div", { class: 'caption-icon' }, h("ifx-icon", { icon: "c-info-16" })) : '', h("div", { class: 'caption-text' }, this.captionText))) : ''));
53
+ return (h("div", { key: 'ca42b9470187fb67619fad0e62c0c7aec3f5fb62', class: 'radio-button-group-container' }, this.showGroupLabel && (h("div", { key: 'b89340bfcabb087301338bdedf04215d87a3e661', class: "group-label" }, this.groupLabelText, this.required && h("span", { key: '6b851812a7f1cdbe3b0a8450bd8cb1569f3f893a', class: `required ${this.hasErrors ? 'error' : ''}` }, "*"))), h("div", { key: 'd46fc6be13198ccb04b50fa499c8d4680ae064b3', class: `radio-button-group ${this.alignment} ${this.size}` }, h("slot", { key: '89f23313cb670cb1d18060cb38f7ece2d5401d7d', onSlotchange: this.handleSlotChange })), this.showCaption ? (h("div", { class: `caption ${this.hasErrors ? 'error' : 'default'}` }, this.showCaptionIcon ? h("div", { class: 'caption-icon' }, h("ifx-icon", { icon: "c-info-16" })) : '', h("div", { class: 'caption-text' }, this.captionText))) : ''));
53
54
  }
54
55
  static get is() { return "ifx-radio-button-group"; }
55
56
  static get encapsulation() { return "shadow"; }
@@ -200,6 +201,26 @@ export class RadioButtonGroup {
200
201
  "getter": false,
201
202
  "setter": false,
202
203
  "reflect": false
204
+ },
205
+ "required": {
206
+ "type": "boolean",
207
+ "attribute": "required",
208
+ "mutable": false,
209
+ "complexType": {
210
+ "original": "boolean",
211
+ "resolved": "boolean",
212
+ "references": {}
213
+ },
214
+ "required": false,
215
+ "optional": false,
216
+ "docs": {
217
+ "tags": [],
218
+ "text": ""
219
+ },
220
+ "getter": false,
221
+ "setter": false,
222
+ "reflect": false,
223
+ "defaultValue": "false"
203
224
  }
204
225
  };
205
226
  }
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button-group.js","sourceRoot":"","sources":["../../../src/components/radio-button-group/radio-button-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, State, Prop, h, Element, Listen, Method } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-radio-button-group',\n styleUrl: 'radio-button-group.scss',\n shadow: true,\n formAssociated: true\n})\n\nexport class RadioButtonGroup {\n private errorStates: Map<HTMLElement, boolean> = new Map();\n\n @Element() el: HTMLElement;\n @Prop() alignment: 'horizontal' | 'vertical' = 'vertical';\n @Prop() size: string;\n @Prop() showGroupLabel: boolean;\n @Prop() groupLabelText: string = 'Group Label Text';\n @Prop() showCaption: boolean;\n @Prop() captionText: string;\n @Prop() showCaptionIcon: boolean;\n @State() hasErrors: boolean = false;\n \n @Listen('ifxError')\n handleRadioButtonError(event: CustomEvent) {\n const radioButton = event.target as HTMLElement;\n if (radioButton.tagName === 'ifx-radio-button') {\n this.errorStates.set(radioButton, event.detail);\n this.updateHasErrors();\n }\n }\n\n // Method to set the error state of all radio-butttons in the group\n @Method()\n async setGroupError(error: boolean) {\n const radioButtons = Array.from(this.el.querySelectorAll('ifx-radio-button'));\n radioButtons.forEach((radioButton) => {\n (radioButton as any).error = error;\n });\n }\n\n componentWillLoad() {\n this.initializeState();\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-radio-button-group', await framework)\n }\n }\n\n handleSlotChange = () => {\n this.initializeState();\n };\n\n private initializeState() {\n this.errorStates.clear();\n const radioButtons = Array.from(this.el.querySelectorAll('ifx-radio-button'));\n radioButtons.forEach((radioButton) => {\n if (!this.errorStates.has(radioButton)) {\n this.errorStates.set(radioButton, (radioButton as any).error || false);\n }\n });\n this.updateHasErrors();\n }\n\n private updateHasErrors() {\n this.hasErrors = Array.from(this.errorStates.values()).some((error) => error);\n }\n\n render() {\n return (\n <div class='radio-button-group-container'>\n {this.showGroupLabel ? <div class='group-label'>{this.groupLabelText} *</div> : ''}\n <div class={`radio-button-group ${this.alignment} ${this.size}`}>\n <slot onSlotchange={this.handleSlotChange} ></slot>\n </div>\n {this.showCaption ? (\n <div class={`caption ${this.hasErrors ? 'error' : 'default'}`}>\n {this.showCaptionIcon ? <div class='caption-icon'><ifx-icon icon=\"c-info-16\">\n </ifx-icon></div> : ''}\n <div class='caption-text'>{this.captionText}</div>\n </div>) : ''}\n </div>\n );\n }\n}"]}
1
+ {"version":3,"file":"radio-button-group.js","sourceRoot":"","sources":["../../../src/components/radio-button-group/radio-button-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, State, Prop, h, Element, Listen, Method } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-radio-button-group',\n styleUrl: 'radio-button-group.scss',\n shadow: true,\n formAssociated: true\n})\n\nexport class RadioButtonGroup {\n private errorStates: Map<HTMLElement, boolean> = new Map();\n\n @Element() el: HTMLElement;\n @Prop() alignment: 'horizontal' | 'vertical' = 'vertical';\n @Prop() size: string;\n @Prop() showGroupLabel: boolean;\n @Prop() groupLabelText: string = 'Group Label Text';\n @Prop() showCaption: boolean;\n @Prop() captionText: string;\n @Prop() showCaptionIcon: boolean;\n @Prop() required: boolean = false;\n @State() hasErrors: boolean = false;\n \n @Listen('ifxError')\n handleRadioButtonError(event: CustomEvent) {\n const radioButton = event.target as HTMLElement;\n if (radioButton.tagName === 'ifx-radio-button') {\n this.errorStates.set(radioButton, event.detail);\n this.updateHasErrors();\n }\n }\n\n // Method to set the error state of all radio-butttons in the group\n @Method()\n async setGroupError(error: boolean) {\n const radioButtons = Array.from(this.el.querySelectorAll('ifx-radio-button'));\n radioButtons.forEach((radioButton) => {\n (radioButton as any).error = error;\n });\n }\n\n componentWillLoad() {\n this.initializeState();\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-radio-button-group', await framework)\n }\n }\n\n handleSlotChange = () => {\n this.initializeState();\n };\n\n private initializeState() {\n this.errorStates.clear();\n const radioButtons = Array.from(this.el.querySelectorAll('ifx-radio-button'));\n radioButtons.forEach((radioButton) => {\n if (!this.errorStates.has(radioButton)) {\n this.errorStates.set(radioButton, (radioButton as any).error || false);\n }\n });\n this.updateHasErrors();\n }\n\n private updateHasErrors() {\n this.hasErrors = Array.from(this.errorStates.values()).some((error) => error);\n }\n\n render() {\n return (\n <div class='radio-button-group-container'>\n {this.showGroupLabel && (\n <div class=\"group-label\">\n {this.groupLabelText}\n {this.required && <span class={`required ${this.hasErrors ? 'error' : ''}`}>*</span>}\n </div>\n )}\n <div class={`radio-button-group ${this.alignment} ${this.size}`}>\n <slot onSlotchange={this.handleSlotChange} ></slot>\n </div>\n {this.showCaption ? (\n <div class={`caption ${this.hasErrors ? 'error' : 'default'}`}>\n {this.showCaptionIcon ? <div class='caption-icon'><ifx-icon icon=\"c-info-16\">\n </ifx-icon></div> : ''}\n <div class='caption-text'>{this.captionText}</div>\n </div>) : ''}\n </div>\n );\n }\n}"]}
@@ -13,6 +13,7 @@ export default {
13
13
  showCaption: false,
14
14
  captionText: 'Caption text, description, error notification',
15
15
  showCaptionIcon: false,
16
+ required: false,
16
17
  },
17
18
  argTypes: {
18
19
  amountOfItems: {
@@ -110,6 +111,14 @@ export default {
110
111
  defaultValue: { summary: 'false' }
111
112
  }
112
113
  },
114
+ required: {
115
+ description: 'Marks the radio-button-group as required.',
116
+ control: { type: 'boolean' },
117
+ table: {
118
+ category: 'ifx-radio-button-group props',
119
+ defaultValue: { summary: 'false' }
120
+ }
121
+ },
113
122
  setGroupError: {
114
123
  action: 'setGroupError',
115
124
  description: 'Method to set the error state of all checkboxes in the group.',
@@ -134,7 +143,7 @@ const Template = args => {
134
143
  }
135
144
  }
136
145
  const template = `
137
- <ifx-radio-button-group alignment="${args.alignment}" show-group-label="${args.showGroupLabel}" group-label-text="${args.groupLabelText}" show-caption="${args.showCaption}" caption-text="${args.captionText}" show-caption-icon="${args.showCaptionIcon}">
146
+ <ifx-radio-button-group alignment="${args.alignment}" show-group-label="${args.showGroupLabel}" group-label-text="${args.groupLabelText}" show-caption="${args.showCaption}" caption-text="${args.captionText}" show-caption-icon="${args.showCaptionIcon}" required="${args.required}">
138
147
  ${radioButtons}
139
148
  </ifx-radio-button-group>`;
140
149
  return template;
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button-group.stories.js","sourceRoot":"","sources":["../../../src/components/radio-button-group/radio-button-group.stories.ts"],"names":[],"mappings":"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","sourcesContent":["export default {\n title: 'Components/Radio Button Group',\n tags: ['autodocs'],\n args: {\n amountOfItems: 3,\n alignment: 'vertical',\n size: 'm',\n checked: false,\n disabled: false,\n error: false,\n showGroupLabel: false,\n groupLabelText: 'Group Label',\n showCaption: false,\n captionText: 'Caption text, description, error notification',\n showCaptionIcon: false,\n },\n argTypes: {\n amountOfItems: {\n categpry: 'story controls',\n name: 'Amount of Items',\n description: 'Set the amount of radio buttons.',\n control: { type: 'number' },\n table: {\n category: 'story controls',\n defaultValue: { summary: 3 }\n }\n },\n alignment: {\n description: 'Set the orientation of the radio button group.',\n options: ['vertical', 'horizontal'],\n control: { type: 'radio' },\n table: {\n category: 'ifx-radio-button-group props',\n defaultValue: { summary: 'vertical' }\n }\n },\n size: {\n description: 'Size options for the radio button.',\n options: ['s', 'm'],\n control: { type: 'radio' },\n table: {\n category: 'ifx-radio-button props',\n defaultValue: { summary: 's' },\n type: {\n summary: 's | m'\n }\n }\n },\n checked: {\n description: 'Set the checked state.',\n control: { type: 'boolean' },\n table: {\n category: 'ifx-radio-button props',\n defaultValue: { summary: 'false' }\n }\n },\n disabled: {\n description: 'Disable the radio button.',\n control: { type: 'boolean' },\n table: {\n category: 'ifx-radio-button props',\n defaultValue: { summary: 'false' }\n }\n },\n error: {\n description: 'Set the error state.',\n control: { type: 'boolean' },\n table: {\n category: 'ifx-radio-button props',\n defaultValue: { summary: 'false' }\n }\n },\n showGroupLabel: {\n description: 'Show the group label.',\n control: { type: 'boolean' },\n table: {\n category: 'ifx-radio-button-group props',\n defaultValue: { summary: 'false' }\n }\n },\n groupLabelText: {\n description: 'Set the group label text.',\n control: { type: 'text' },\n table: {\n category: 'ifx-radio-button-group props',\n defaultValue: { summary: '' }\n }\n },\n showCaption: {\n description: 'Show the caption.',\n control: { type: 'boolean' },\n table: {\n category: 'ifx-radio-button-group props',\n defaultValue: { summary: 'false' }\n }\n },\n captionText: {\n description: 'Set the caption text.',\n control: { type: 'text' },\n table: {\n category: 'ifx-radio-button-group props',\n defaultValue: { summary: '' }\n }\n },\n showCaptionIcon: {\n description: 'Show the caption icon.',\n control: { type: 'boolean' },\n table: {\n category: 'ifx-radio-button-group props',\n defaultValue: { summary: 'false' }\n }\n },\n setGroupError: {\n action: 'setGroupError',\n description: 'Method to set the error state of all checkboxes in the group.',\n table: {\n category: 'ifx-radio-buttton-group methods',\n type: {\n summary: 'error : boolean',\n detail: 'RadioButttonGroup.setGroupError(error)'\n }\n }\n }\n },\n};\n\nconst Template = args => {\n let radioButtons = '';\n for (let i = 0; i < args.amountOfItems; i++) {\n if (i === 0) {\n radioButtons += `<ifx-radio-button value=\"${i}\" disabled=\"${args.disabled}\" checked=\"${args.checked}\" error=\"${args.error}\" size=\"${args.size}\">Option ${i}</ifx-radio-button>`;\n }\n else {\n radioButtons += `<ifx-radio-button value=\"${i}\" size=\"${args.size}\">Option ${i}</ifx-radio-button>`;\n }\n }\n const template = `\n <ifx-radio-button-group alignment=\"${args.alignment}\" show-group-label=\"${args.showGroupLabel}\" group-label-text=\"${args.groupLabelText}\" show-caption=\"${args.showCaption}\" caption-text=\"${args.captionText}\" show-caption-icon=\"${args.showCaptionIcon}\">\n ${radioButtons}\n </ifx-radio-button-group>`;\n\n return template;\n}\n\nexport const Default = Template.bind({});"]}
1
+ {"version":3,"file":"radio-button-group.stories.js","sourceRoot":"","sources":["../../../src/components/radio-button-group/radio-button-group.stories.ts"],"names":[],"mappings":"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","sourcesContent":["export default {\n title: 'Components/Radio Button Group',\n tags: ['autodocs'],\n args: {\n amountOfItems: 3,\n alignment: 'vertical',\n size: 'm',\n checked: false,\n disabled: false,\n error: false,\n showGroupLabel: false,\n groupLabelText: 'Group Label',\n showCaption: false,\n captionText: 'Caption text, description, error notification',\n showCaptionIcon: false,\n required: false,\n },\n argTypes: {\n amountOfItems: {\n categpry: 'story controls',\n name: 'Amount of Items',\n description: 'Set the amount of radio buttons.',\n control: { type: 'number' },\n table: {\n category: 'story controls',\n defaultValue: { summary: 3 }\n }\n },\n alignment: {\n description: 'Set the orientation of the radio button group.',\n options: ['vertical', 'horizontal'],\n control: { type: 'radio' },\n table: {\n category: 'ifx-radio-button-group props',\n defaultValue: { summary: 'vertical' }\n }\n },\n size: {\n description: 'Size options for the radio button.',\n options: ['s', 'm'],\n control: { type: 'radio' },\n table: {\n category: 'ifx-radio-button props',\n defaultValue: { summary: 's' },\n type: {\n summary: 's | m'\n }\n }\n },\n checked: {\n description: 'Set the checked state.',\n control: { type: 'boolean' },\n table: {\n category: 'ifx-radio-button props',\n defaultValue: { summary: 'false' }\n }\n },\n disabled: {\n description: 'Disable the radio button.',\n control: { type: 'boolean' },\n table: {\n category: 'ifx-radio-button props',\n defaultValue: { summary: 'false' }\n }\n },\n error: {\n description: 'Set the error state.',\n control: { type: 'boolean' },\n table: {\n category: 'ifx-radio-button props',\n defaultValue: { summary: 'false' }\n }\n },\n showGroupLabel: {\n description: 'Show the group label.',\n control: { type: 'boolean' },\n table: {\n category: 'ifx-radio-button-group props',\n defaultValue: { summary: 'false' }\n }\n },\n groupLabelText: {\n description: 'Set the group label text.',\n control: { type: 'text' },\n table: {\n category: 'ifx-radio-button-group props',\n defaultValue: { summary: '' }\n }\n },\n showCaption: {\n description: 'Show the caption.',\n control: { type: 'boolean' },\n table: {\n category: 'ifx-radio-button-group props',\n defaultValue: { summary: 'false' }\n }\n },\n captionText: {\n description: 'Set the caption text.',\n control: { type: 'text' },\n table: {\n category: 'ifx-radio-button-group props',\n defaultValue: { summary: '' }\n }\n },\n showCaptionIcon: {\n description: 'Show the caption icon.',\n control: { type: 'boolean' },\n table: {\n category: 'ifx-radio-button-group props',\n defaultValue: { summary: 'false' }\n }\n },\n required: {\n description: 'Marks the radio-button-group as required.',\n control: { type: 'boolean' },\n table: {\n category: 'ifx-radio-button-group props',\n defaultValue: { summary: 'false' }\n }\n },\n setGroupError: {\n action: 'setGroupError',\n description: 'Method to set the error state of all checkboxes in the group.',\n table: {\n category: 'ifx-radio-buttton-group methods',\n type: {\n summary: 'error : boolean',\n detail: 'RadioButttonGroup.setGroupError(error)'\n }\n }\n }\n },\n};\n\nconst Template = args => {\n let radioButtons = '';\n for (let i = 0; i < args.amountOfItems; i++) {\n if (i === 0) {\n radioButtons += `<ifx-radio-button value=\"${i}\" disabled=\"${args.disabled}\" checked=\"${args.checked}\" error=\"${args.error}\" size=\"${args.size}\">Option ${i}</ifx-radio-button>`;\n }\n else {\n radioButtons += `<ifx-radio-button value=\"${i}\" size=\"${args.size}\">Option ${i}</ifx-radio-button>`;\n }\n }\n const template = `\n <ifx-radio-button-group alignment=\"${args.alignment}\" show-group-label=\"${args.showGroupLabel}\" group-label-text=\"${args.groupLabelText}\" show-caption=\"${args.showCaption}\" caption-text=\"${args.captionText}\" show-caption-icon=\"${args.showCaptionIcon}\" required=\"${args.required}\">\n ${radioButtons}\n </ifx-radio-button-group>`;\n\n return template;\n}\n\nexport const Default = Template.bind({});"]}
@@ -39,7 +39,7 @@ export class SearchBar {
39
39
  this.value = event.detail;
40
40
  }
41
41
  render() {
42
- return (h("div", { key: '09974ec9adab8f6dfa54364c8ba4665574cdebe9', role: "search", "aria-label": "a search field for user input", "aria-value": this.value, "aria-disabled": this.disabled, class: `search-bar ${this.internalState ? 'open' : 'closed'}` }, this.internalState ? (h("div", { class: "search-bar-wrapper" }, h("ifx-search-field", { autocomplete: this.autocomplete, disabled: this.disabled, value: this.value, maxlength: this.maxlength, onIfxInput: this.handleInput.bind(this) }, h("ifx-icon", { icon: "search-16", slot: "search-icon" })), h("a", { "aria-label": "Close button", href: 'javascript:void(0)', onClick: this.handleCloseButton }, "Close"))) : (h("div", { class: "search-bar_icon-wrapper", onClick: this.handleCloseButton }, h("ifx-icon", { icon: "search-16" })))));
42
+ return (h("div", { key: '7d45f985d7fd0b65e714f7cb129aa85dc1cc5a8b', role: "search", "aria-label": "a search field for user input", "aria-value": this.value, "aria-disabled": this.disabled, class: `search-bar ${this.internalState ? 'open' : 'closed'}` }, this.internalState ? (h("div", { class: "search-bar-wrapper" }, h("ifx-search-field", { autocomplete: this.autocomplete, disabled: this.disabled, value: this.value, maxlength: this.maxlength, onIfxInput: this.handleInput.bind(this) }, h("ifx-icon", { icon: "search-16", slot: "search-icon" })), h("a", { "aria-label": "Close button", href: 'javascript:void(0)', onClick: this.handleCloseButton }, "Close"))) : (h("div", { class: "search-bar_icon-wrapper", onClick: this.handleCloseButton }, h("ifx-icon", { icon: "search-16" })))));
43
43
  }
44
44
  static get is() { return "ifx-search-bar"; }
45
45
  static get encapsulation() { return "shadow"; }
@@ -366,12 +366,12 @@ export class SearchField {
366
366
  this.showDeleteIconInternalState = false;
367
367
  }
368
368
  render() {
369
- return (h("div", { key: '1464337ac84aa2707e9c17d6d21af2087253c233', "aria-disabled": this.disabled, "aria-value": this.value, class: 'search-field' }, h("div", { key: 'd7bace664f3b66a42feff790959c83d3cd86fbe0', class: this.getWrapperClassNames(), tabindex: 1, onClick: () => this.focusInput() }, h("ifx-icon", { key: 'deb5c77cf9ebde1146afdffc5279b260da4f757a', icon: "search-16", class: "search-icon" }), h("input", { key: 'cc247404c0d78ca0e8d163e9a1b315abd279f093', ref: (el) => (this.inputElement = el), type: "text", autocomplete: this.autocomplete, onInput: () => this.handleInput(), onFocus: () => this.focusInput(), onBlur: () => this.blurInput(), placeholder: this.placeholder, disabled: this.disabled, maxlength: this.maxlength, value: this.value, role: "combobox", "aria-expanded": this.showDropdown, "aria-autocomplete": "list", "aria-haspopup": "listbox", "aria-label": this.ariaLabel, "aria-labelledby": this.ariaLabelledBy, "aria-describedby": this.ariaDescribedBy, "aria-owns": this.showDropdown ? 'suggestions-dropdown' : undefined, "aria-activedescendant": this.selectedSuggestionIndex >= 0 ? `suggestion-${this.selectedSuggestionIndex}` : undefined }), this.showDeleteIcon && this.showDeleteIconInternalState ? (h("ifx-icon", { icon: "cRemove16", class: "delete-icon", onClick: this.handleDelete, role: "button", tabindex: "0", "aria-label": this.deleteIconAriaLabel, onKeyDown: (event) => {
369
+ return (h("div", { key: '63db140a599cfc988bcf0ea60a362bc84dbf830d', "aria-disabled": this.disabled, "aria-value": this.value, class: 'search-field' }, h("div", { key: 'a5e8dda10cf69739331c68da2f3caf42006ab0d9', class: this.getWrapperClassNames(), tabindex: 1, onClick: () => this.focusInput() }, h("ifx-icon", { key: 'fcb9692cc68524a3efcd6ec177f504a653c872d0', icon: "search-16", class: "search-icon" }), h("input", { key: '0ca39241326c6af91fd2f8d193f4f6e8aab49b07', ref: (el) => (this.inputElement = el), type: "text", autocomplete: this.autocomplete, onInput: () => this.handleInput(), onFocus: () => this.focusInput(), onBlur: () => this.blurInput(), placeholder: this.placeholder, disabled: this.disabled, maxlength: this.maxlength, value: this.value, role: "combobox", "aria-expanded": this.showDropdown, "aria-autocomplete": "list", "aria-haspopup": "listbox", "aria-label": this.ariaLabel, "aria-labelledby": this.ariaLabelledBy, "aria-describedby": this.ariaDescribedBy, "aria-owns": this.showDropdown ? 'suggestions-dropdown' : undefined, "aria-activedescendant": this.selectedSuggestionIndex >= 0 ? `suggestion-${this.selectedSuggestionIndex}` : undefined }), this.showDeleteIcon && this.showDeleteIconInternalState ? (h("ifx-icon", { icon: "cRemove16", class: "delete-icon", onClick: this.handleDelete, role: "button", tabindex: "0", "aria-label": this.deleteIconAriaLabel, onKeyDown: (event) => {
370
370
  if (event.key === 'Enter' || event.key === ' ') {
371
371
  event.preventDefault();
372
372
  this.handleDelete();
373
373
  }
374
- } })) : null), this.showDropdown && this.filteredSuggestions.length > 0 && (h("div", { key: '641b84e82bd07d44f6a657ac4e3af27af33f868a', ref: (el) => (this.dropdownElement = el), id: "suggestions-dropdown", class: "suggestions-dropdown", role: "listbox", "aria-label": this.dropdownAriaLabel }, this.isShowingOnlyHistory() && (h("div", { key: '66dbc2db67478154a79cc6a10796086e0ce819c3', class: "suggestions-header" }, this.historyHeaderText)), this.filteredSuggestions.map((suggestion, index) => (h("div", { key: suggestion.id, id: `suggestion-${index}`, class: this.getSuggestionClassNames(index), role: "option", "aria-selected": index === this.selectedSuggestionIndex, "aria-label": `${suggestion.type === 'history' ? this.historyItemAriaLabel : this.suggestionAriaLabel}: ${suggestion.text}${suggestion.scope ? `, ${suggestion.scope}` : ''}${suggestion.resultCount ? `, ${suggestion.resultCount} results` : ''}`, onClick: () => this.selectSuggestion(suggestion), onMouseEnter: () => this.selectedSuggestionIndex = index }, h("div", { class: "suggestion-content" }, suggestion.type === 'history' && (h("ifx-icon", { icon: "history-16", class: "suggestion-icon suggestion-icon--history" })), suggestion.type === 'suggestion' && (h("ifx-icon", { icon: "search-16", class: "suggestion-icon suggestion-icon--suggestion" })), h("span", { class: "suggestion-text" }, h("span", { class: "suggestion-main-text" }, this.renderHighlightedText(suggestion.text, this.value)), suggestion.scope && (h("span", { class: "suggestion-scope" }, "\u2013 ", suggestion.scope))), suggestion.resultCount !== undefined && suggestion.scope && (h("span", { class: "suggestion-count" }, suggestion.resultCount)), suggestion.type === 'history' && (h("ifx-icon", { icon: "cross16", class: "suggestion-delete-icon", role: "button", tabindex: "0", "aria-label": `${this.historyDeleteAriaLabel}: ${suggestion.text}`, onClick: (event) => this.handleHistoryDelete(event, suggestion.text), onKeyDown: (event) => {
374
+ } })) : null), this.showDropdown && this.filteredSuggestions.length > 0 && (h("div", { key: 'e02b8183ecc5a2a146d8a9c9f19e8b0c74a8c48a', ref: (el) => (this.dropdownElement = el), id: "suggestions-dropdown", class: "suggestions-dropdown", role: "listbox", "aria-label": this.dropdownAriaLabel }, this.isShowingOnlyHistory() && (h("div", { key: '0d77206d8a2e599a389d3df1a66151102390d9fe', class: "suggestions-header" }, this.historyHeaderText)), this.filteredSuggestions.map((suggestion, index) => (h("div", { key: suggestion.id, id: `suggestion-${index}`, class: this.getSuggestionClassNames(index), role: "option", "aria-selected": index === this.selectedSuggestionIndex, "aria-label": `${suggestion.type === 'history' ? this.historyItemAriaLabel : this.suggestionAriaLabel}: ${suggestion.text}${suggestion.scope ? `, ${suggestion.scope}` : ''}${suggestion.resultCount ? `, ${suggestion.resultCount} results` : ''}`, onClick: () => this.selectSuggestion(suggestion), onMouseEnter: () => this.selectedSuggestionIndex = index }, h("div", { class: "suggestion-content" }, suggestion.type === 'history' && (h("ifx-icon", { icon: "history-16", class: "suggestion-icon suggestion-icon--history" })), suggestion.type === 'suggestion' && (h("ifx-icon", { icon: "search-16", class: "suggestion-icon suggestion-icon--suggestion" })), h("span", { class: "suggestion-text" }, h("span", { class: "suggestion-main-text" }, this.renderHighlightedText(suggestion.text, this.value)), suggestion.scope && (h("span", { class: "suggestion-scope" }, "\u2013 ", suggestion.scope))), suggestion.resultCount !== undefined && suggestion.scope && (h("span", { class: "suggestion-count" }, suggestion.resultCount)), suggestion.type === 'history' && (h("ifx-icon", { icon: "cross16", class: "suggestion-delete-icon", role: "button", tabindex: "0", "aria-label": `${this.historyDeleteAriaLabel}: ${suggestion.text}`, onClick: (event) => this.handleHistoryDelete(event, suggestion.text), onKeyDown: (event) => {
375
375
  if (event.key === 'Enter' || event.key === ' ') {
376
376
  event.preventDefault();
377
377
  this.handleHistoryDelete(event, suggestion.text);
@@ -18,7 +18,7 @@ export class Segment {
18
18
  }
19
19
  }
20
20
  render() {
21
- return (h("div", { key: 'cd801960a7ce5e8112b0d544a0122ded889cfc1f', class: `segment ${this.selected ? 'segment--selected' : ''}`, tabIndex: 0, onClick: () => { this.handleSegmentClick(); }, onKeyDown: (e) => { this.handleSegmentKeyDown(e); } }, h("ifx-icon", { key: 'c81cddf4a652f00324cbc0b8a31c3598c1b62a08', icon: this.icon }), " ", h("slot", { key: '7b9786b4b20e69eaf30b5a6d140decff95e04423' })));
21
+ return (h("div", { key: 'a76781c607aad619d279d69346755e5d24e419f2', class: `segment ${this.selected ? 'segment--selected' : ''}`, tabIndex: 0, onClick: () => { this.handleSegmentClick(); }, onKeyDown: (e) => { this.handleSegmentKeyDown(e); } }, h("ifx-icon", { key: '1f0e9e14400d9f78c8c849e9073ae89b191d041e', icon: this.icon }), " ", h("slot", { key: '201ac1267f6a0930cd4baa0721c5010fa82de700' })));
22
22
  }
23
23
  static get is() { return "ifx-segment"; }
24
24
  static get encapsulation() { return "shadow"; }
@@ -6,15 +6,23 @@
6
6
  display: flex;
7
7
  flex-direction: column;
8
8
  justify-content: space-between;
9
- gap: 12px;
10
9
  }
11
10
 
12
11
  .group__label {
13
- font: 400 0.75rem/1rem "Source Sans 3";
12
+ font-size: 1rem;
13
+ line-height: 1.5rem;
14
+ font-weight: 400;
14
15
  }
15
16
  .group__label:empty {
16
17
  display: none;
17
18
  }
19
+ .group__label .required {
20
+ color: #575352;
21
+ margin-left: 4px;
22
+ }
23
+ .group__label .required.error {
24
+ color: #CD002F;
25
+ }
18
26
 
19
27
  .group__controls {
20
28
  display: flex;
@@ -27,8 +35,14 @@
27
35
  }
28
36
 
29
37
  .group__caption {
38
+ margin-top: 4px;
30
39
  display: flex;
31
40
  align-items: center;
32
41
  gap: 8px;
33
- font: 400 0.75rem/1rem "Source Sans 3";
42
+ font-weight: 400;
43
+ font-size: 0.75rem;
44
+ line-height: 1rem;
45
+ }
46
+ .group__caption.error {
47
+ color: #CD002F;
34
48
  }
@@ -7,6 +7,8 @@ export class SegmentedControl {
7
7
  this.caption = '';
8
8
  this.label = '';
9
9
  this.size = 'regular';
10
+ this.required = false;
11
+ this.error = false;
10
12
  this.selectedValue = '';
11
13
  }
12
14
  onSegmentSelect(event) {
@@ -65,8 +67,8 @@ export class SegmentedControl {
65
67
  this.setActiveSegment();
66
68
  }
67
69
  render() {
68
- return (h("div", { key: '7c7d870d32000a823ae2d365fb8b864d800ec9fe', "aria-value": this.selectedValue, "aria-label": 'segmented control', class: 'group' }, h("div", { key: '66e95707b6616e370e35cd98e4c3b89853b8501f', class: 'group__label' }, this.label.trim()), h("div", { key: 'ab8c969a145fa9e1071ee12426a641034ff8be4d', class: 'group__controls' }, h("slot", { key: '849c4bdf76a0951d829820620813258553b8a6df' })), this.caption.trim() &&
69
- h("div", { key: '905c964392ca304634aba610f96c43a4e5b95eb9', class: 'group__caption' }, h("ifx-icon", { key: '42fb13f0a7170a7b36ea2a9c8afb1d3ba9d579c9', icon: 'c-info-16' }), " ", this.caption.trim())));
70
+ return (h("div", { key: '89adf4eb1c9da0bdacac4d7d0a26bf0c4d01666d', "aria-value": this.selectedValue, "aria-label": 'segmented control', class: "group" }, h("div", { key: '5ed77f418047838589851b36d90d1a12eeb9b664', class: 'group__label' }, this.label.trim(), this.required && h("span", { key: '745973fd74bcbdadb4651a8148aa584c45a6999a', class: `required ${this.error ? 'error' : ''}` }, "*")), h("div", { key: '02a611e12d25901cd6657774d3e6dbebaeb2686d', class: 'group__controls' }, h("slot", { key: '601f72992d94bc5cefc1de872edd4ba1567c4564' })), this.caption.trim() &&
71
+ h("div", { key: 'b6e5ac307a1d908a5054ce225acc9a41db235618', class: `group__caption ${this.error ? 'error' : ''}` }, h("ifx-icon", { key: '3d44e4a1a64e608948d807fe6ec014c4adc45c6a', icon: 'c-info-16' }), " ", this.caption.trim())));
70
72
  }
71
73
  componentDidRender() {
72
74
  this.setSegmentSize();
@@ -144,6 +146,46 @@ export class SegmentedControl {
144
146
  "setter": false,
145
147
  "reflect": false,
146
148
  "defaultValue": "'regular'"
149
+ },
150
+ "required": {
151
+ "type": "boolean",
152
+ "attribute": "required",
153
+ "mutable": false,
154
+ "complexType": {
155
+ "original": "boolean",
156
+ "resolved": "boolean",
157
+ "references": {}
158
+ },
159
+ "required": false,
160
+ "optional": false,
161
+ "docs": {
162
+ "tags": [],
163
+ "text": ""
164
+ },
165
+ "getter": false,
166
+ "setter": false,
167
+ "reflect": false,
168
+ "defaultValue": "false"
169
+ },
170
+ "error": {
171
+ "type": "boolean",
172
+ "attribute": "error",
173
+ "mutable": false,
174
+ "complexType": {
175
+ "original": "boolean",
176
+ "resolved": "boolean",
177
+ "references": {}
178
+ },
179
+ "required": false,
180
+ "optional": false,
181
+ "docs": {
182
+ "tags": [],
183
+ "text": ""
184
+ },
185
+ "getter": false,
186
+ "setter": false,
187
+ "reflect": false,
188
+ "defaultValue": "false"
147
189
  }
148
190
  };
149
191
  }
@@ -1 +1 @@
1
- {"version":3,"file":"segmented-control.js","sourceRoot":"","sources":["../../../src/components/segmented-control/segmented-control.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h, Component, Element, Event, EventEmitter, Listen, Prop } from \"@stencil/core\";\nimport { trackComponent } from '../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component ({\n tag: 'ifx-segmented-control',\n styleUrl: 'segmented-control.scss',\n shadow: true\n})\n\nexport class SegmentedControl {\n @Element() SegmentedControl: HTMLIfxSegmentedControlElement;\n\n @Event() ifxChange: EventEmitter<{ previousValue: string, selectedValue: string }>;\n\n @Prop() caption: string = '';\n @Prop() label: string = '';\n @Prop() size: 'regular' | 'small' = 'regular';\n\n @Listen('segmentSelect')\n onSegmentSelect(event: CustomEvent) {\n const { previousValue, selectedValue } = this.unselectPreviousSegment(event.detail);\n this.selectedValue = selectedValue;\n this.ifxChange.emit({ previousValue, selectedValue });\n }\n\n private selectedValue: string = '';\n\n unselectPreviousSegment(newSelectedIndex: number): { previousValue: string, selectedValue: string } {\n let previousValue: string;\n let selectedValue: string;\n\n const segments: NodeList = this.getSegments();\n segments.forEach((control: HTMLIfxSegmentElement) => {\n if (control.selected) {\n if (control.segmentIndex !== newSelectedIndex) {\n control.selected = false;\n previousValue = control.value;\n } else {\n selectedValue = control.value;\n }\n }\n })\n\n return { previousValue, selectedValue };\n }\n\n getSegments(): NodeList {\n return this.SegmentedControl.querySelectorAll('ifx-segment');\n }\n\n setActiveSegment(): void {\n const segments: NodeList = this.getSegments();\n let activeSegmentedControlFound = false;\n segments.forEach((control: HTMLIfxSegmentElement, idx: number) => {\n control.segmentIndex = idx;\n if (activeSegmentedControlFound) {\n if (control.selected) control.selected = false;\n } else {\n if (control.selected) {\n activeSegmentedControlFound = true;\n this.selectedValue = control.value;\n }\n }\n });\n }\n\n setSegmentSize(): void {\n const segments: NodeList = this.getSegments();\n segments.forEach((control: HTMLIfxSegmentElement) => {\n control.shadowRoot.querySelector('.segment').classList.add(`segment--${this.size}`);\n });\n }\n\n async componentDidLoad() {\n if(!isNestedInIfxComponent(this.SegmentedControl)) { \n const framework = detectFramework();\n trackComponent('ifx-segmented-control', await framework)\n }\n this.setActiveSegment();\n }\n\n render() {\n return (\n <div aria-value={this.selectedValue} aria-label='segmented control' class='group'>\n <div class='group__label'>\n { this.label.trim() }\n </div>\n \n <div class='group__controls'>\n <slot />\n </div>\n \n {\n this.caption.trim() &&\n <div class='group__caption'>\n <ifx-icon icon='c-info-16'></ifx-icon> { this.caption.trim() }\n </div>\n }\n </div>\n );\n }\n\n componentDidRender() {\n this.setSegmentSize();\n }\n}"]}
1
+ {"version":3,"file":"segmented-control.js","sourceRoot":"","sources":["../../../src/components/segmented-control/segmented-control.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h, Component, Element, Event, EventEmitter, Listen, Prop } from \"@stencil/core\";\nimport { trackComponent } from '../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component ({\n tag: 'ifx-segmented-control',\n styleUrl: 'segmented-control.scss',\n shadow: true\n})\n\nexport class SegmentedControl {\n @Element() SegmentedControl: HTMLIfxSegmentedControlElement;\n\n @Event() ifxChange: EventEmitter<{ previousValue: string, selectedValue: string }>;\n\n @Prop() caption: string = '';\n @Prop() label: string = '';\n @Prop() size: 'regular' | 'small' = 'regular';\n @Prop() required: boolean = false;\n @Prop() error: boolean = false;\n\n\n @Listen('segmentSelect')\n onSegmentSelect(event: CustomEvent) {\n const { previousValue, selectedValue } = this.unselectPreviousSegment(event.detail);\n this.selectedValue = selectedValue;\n this.ifxChange.emit({ previousValue, selectedValue });\n }\n\n private selectedValue: string = '';\n\n unselectPreviousSegment(newSelectedIndex: number): { previousValue: string, selectedValue: string } {\n let previousValue: string;\n let selectedValue: string;\n\n const segments: NodeList = this.getSegments();\n segments.forEach((control: HTMLIfxSegmentElement) => {\n if (control.selected) {\n if (control.segmentIndex !== newSelectedIndex) {\n control.selected = false;\n previousValue = control.value;\n } else {\n selectedValue = control.value;\n }\n }\n })\n\n return { previousValue, selectedValue };\n }\n\n getSegments(): NodeList {\n return this.SegmentedControl.querySelectorAll('ifx-segment');\n }\n\n setActiveSegment(): void {\n const segments: NodeList = this.getSegments();\n let activeSegmentedControlFound = false;\n segments.forEach((control: HTMLIfxSegmentElement, idx: number) => {\n control.segmentIndex = idx;\n if (activeSegmentedControlFound) {\n if (control.selected) control.selected = false;\n } else {\n if (control.selected) {\n activeSegmentedControlFound = true;\n this.selectedValue = control.value;\n }\n }\n });\n }\n\n setSegmentSize(): void {\n const segments: NodeList = this.getSegments();\n segments.forEach((control: HTMLIfxSegmentElement) => {\n control.shadowRoot.querySelector('.segment').classList.add(`segment--${this.size}`);\n });\n }\n\n async componentDidLoad() {\n if(!isNestedInIfxComponent(this.SegmentedControl)) { \n const framework = detectFramework();\n trackComponent('ifx-segmented-control', await framework)\n }\n this.setActiveSegment();\n }\n\n render() {\n return (\n <div aria-value={this.selectedValue} aria-label='segmented control' class=\"group\">\n <div class='group__label'>\n { this.label.trim() }\n { this.required && <span class={`required ${this.error ? 'error' : ''}`}>*</span> }\n </div>\n \n <div class='group__controls'>\n <slot />\n </div>\n \n {\n this.caption.trim() &&\n <div class={`group__caption ${this.error ? 'error' : ''}`}>\n <ifx-icon icon='c-info-16'></ifx-icon> { this.caption.trim() }\n </div>\n }\n </div>\n );\n }\n\n componentDidRender() {\n this.setSegmentSize();\n }\n}"]}