@infineon/infineon-design-system-stencil 37.14.1--canary.1990.b13d1053b56bc94bb0208688a929b6d341856554.0 → 37.15.0--canary.1964.d1721fcfafcf4119f6427df261d727c9433e5b45.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 (483) 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-checkbox-group.cjs.entry.js +3 -2
  4. package/dist/cjs/ifx-checkbox-group.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ifx-checkbox-group.entry.cjs.js.map +1 -1
  6. package/dist/cjs/ifx-chip_3.cjs.entry.js +11 -11
  7. package/dist/cjs/ifx-content-switcher-item.cjs.entry.js +1 -1
  8. package/dist/cjs/ifx-content-switcher.cjs.entry.js +1 -1
  9. package/dist/cjs/ifx-date-picker.cjs.entry.js +2 -2
  10. package/dist/cjs/ifx-download.cjs.entry.js +2 -2
  11. package/dist/cjs/ifx-dropdown-header.cjs.entry.js +1 -1
  12. package/dist/cjs/ifx-dropdown-separator.cjs.entry.js +1 -1
  13. package/dist/cjs/ifx-dropdown-trigger-button.cjs.entry.js +2 -2
  14. package/dist/cjs/ifx-dropdown-trigger.cjs.entry.js +1 -1
  15. package/dist/cjs/ifx-dropdown.cjs.entry.js +1 -1
  16. package/dist/cjs/ifx-faq.cjs.entry.js +1 -1
  17. package/dist/cjs/ifx-file-upload.cjs.entry.js +2 -2
  18. package/dist/cjs/ifx-filter-accordion.cjs.entry.js +2 -2
  19. package/dist/cjs/ifx-filter-bar.cjs.entry.js +1 -1
  20. package/dist/cjs/ifx-filter-search.cjs.entry.js +1 -1
  21. package/dist/cjs/ifx-filter-type-group.cjs.entry.js +1 -1
  22. package/dist/cjs/ifx-footer-column.cjs.entry.js +1 -1
  23. package/dist/cjs/ifx-footer.cjs.entry.js +4 -4
  24. package/dist/cjs/ifx-icon-button.cjs.entry.js +1 -1
  25. package/dist/cjs/ifx-icon.cjs.entry.js +1 -1
  26. package/dist/cjs/ifx-icons-preview.cjs.entry.js +1 -1
  27. package/dist/cjs/ifx-indicator.cjs.entry.js +2 -2
  28. package/dist/cjs/ifx-link.cjs.entry.js +1 -1
  29. package/dist/cjs/ifx-list-entry.cjs.entry.js +1 -1
  30. package/dist/cjs/ifx-modal.cjs.entry.js +2 -2
  31. package/dist/cjs/ifx-multiselect_2.cjs.entry.js +4 -4
  32. package/dist/cjs/ifx-navbar-item.cjs.entry.js +5 -5
  33. package/dist/cjs/ifx-navbar-profile.cjs.entry.js +3 -3
  34. package/dist/cjs/ifx-navbar.cjs.entry.js +3 -3
  35. package/dist/cjs/ifx-notification.cjs.entry.js +2 -2
  36. package/dist/cjs/ifx-overview-table.cjs.entry.js +1 -1
  37. package/dist/cjs/ifx-progress-bar.cjs.entry.js +1 -1
  38. package/dist/cjs/ifx-radio-button-group.cjs.entry.js +3 -2
  39. package/dist/cjs/ifx-radio-button-group.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ifx-radio-button-group.entry.cjs.js.map +1 -1
  41. package/dist/cjs/ifx-radio-button.cjs.entry.js +2 -2
  42. package/dist/cjs/ifx-search-bar.cjs.entry.js +1 -1
  43. package/dist/cjs/ifx-search-field.cjs.entry.js +2 -2
  44. package/dist/cjs/ifx-segment.cjs.entry.js +1 -1
  45. package/dist/cjs/ifx-segmented-control.cjs.entry.js +5 -3
  46. package/dist/cjs/ifx-segmented-control.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ifx-segmented-control.entry.cjs.js.map +1 -1
  48. package/dist/cjs/ifx-select.cjs.entry.js +2 -2
  49. package/dist/cjs/ifx-sidebar-item.cjs.entry.js +5 -5
  50. package/dist/cjs/ifx-sidebar-title.cjs.entry.js +1 -1
  51. package/dist/cjs/ifx-sidebar.cjs.entry.js +5 -5
  52. package/dist/cjs/ifx-slider.cjs.entry.js +2 -2
  53. package/dist/cjs/ifx-spinner.ifx-text-field.entry.cjs.js.map +1 -1
  54. package/dist/cjs/ifx-spinner_2.cjs.entry.js +7 -7
  55. package/dist/cjs/ifx-spinner_2.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ifx-status.cjs.entry.js +1 -1
  57. package/dist/cjs/ifx-step.cjs.entry.js +4 -4
  58. package/dist/cjs/ifx-stepper.cjs.entry.js +2 -2
  59. package/dist/cjs/ifx-switch.cjs.entry.js +1 -1
  60. package/dist/cjs/ifx-tab.cjs.entry.js +1 -1
  61. package/dist/cjs/ifx-table.cjs.entry.js +2 -2
  62. package/dist/cjs/ifx-tabs.cjs.entry.js +2 -2
  63. package/dist/cjs/ifx-tag.cjs.entry.js +1 -1
  64. package/dist/cjs/ifx-templates-ui.cjs.entry.js +1 -1
  65. package/dist/cjs/ifx-textarea.cjs.entry.js +2 -2
  66. package/dist/cjs/ifx-tooltip.cjs.entry.js +4 -4
  67. package/dist/cjs/ifx-tree-view-item.cjs.entry.js +2 -2
  68. package/dist/cjs/ifx-tree-view.cjs.entry.js +1 -1
  69. package/dist/cjs/infineon-design-system-stencil.cjs.js +1 -1
  70. package/dist/cjs/loader.cjs.js +1 -1
  71. package/dist/collection/components/checkbox-group/checkbox-group.css +15 -2
  72. package/dist/collection/components/checkbox-group/checkbox-group.js +22 -1
  73. package/dist/collection/components/checkbox-group/checkbox-group.js.map +1 -1
  74. package/dist/collection/components/checkbox-group/checkbox-group.stories.js +10 -1
  75. package/dist/collection/components/checkbox-group/checkbox-group.stories.js.map +1 -1
  76. package/dist/collection/components/chip/chip-item/chip-item.js +2 -2
  77. package/dist/collection/components/chip/chip.js +8 -8
  78. package/dist/collection/components/content-switcher/content-switcher-item.js +1 -1
  79. package/dist/collection/components/content-switcher/content-switcher.js +1 -1
  80. package/dist/collection/components/date-picker/date-picker.js +2 -2
  81. package/dist/collection/components/download/download.js +2 -2
  82. package/dist/collection/components/dropdown/dropdown-header/dropdown-header.js +1 -1
  83. package/dist/collection/components/dropdown/dropdown-seperator/dropdown-separator.js +1 -1
  84. package/dist/collection/components/dropdown/dropdown-trigger/dropdown-trigger.js +1 -1
  85. package/dist/collection/components/dropdown/dropdown-trigger-button/dropdown-trigger-button.js +2 -2
  86. package/dist/collection/components/dropdown/dropdown.js +1 -1
  87. package/dist/collection/components/file-upload/file-upload.js +2 -2
  88. package/dist/collection/components/footer/footer-column.js +1 -1
  89. package/dist/collection/components/footer/footer.js +4 -4
  90. package/dist/collection/components/icon/infineonIconStencil.js +1 -1
  91. package/dist/collection/components/icon-button/icon-button.js +1 -1
  92. package/dist/collection/components/icons-preview/icons-preview.js +1 -1
  93. package/dist/collection/components/indicator/indicator.js +2 -2
  94. package/dist/collection/components/link/link.js +1 -1
  95. package/dist/collection/components/modal/modal.js +2 -2
  96. package/dist/collection/components/navigation/navbar/navbar-item.js +5 -5
  97. package/dist/collection/components/navigation/navbar/navbar-profile.js +3 -3
  98. package/dist/collection/components/navigation/navbar/navbar.js +3 -3
  99. package/dist/collection/components/navigation/sidebar/sidebar-item.js +5 -5
  100. package/dist/collection/components/navigation/sidebar/sidebar-title.js +1 -1
  101. package/dist/collection/components/navigation/sidebar/sidebar.js +5 -5
  102. package/dist/collection/components/notification/notification.js +2 -2
  103. package/dist/collection/components/overview-table/overview-table.js +1 -1
  104. package/dist/collection/components/pagination/pagination.js +1 -1
  105. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  106. package/dist/collection/components/radio-button/radio-button.js +2 -2
  107. package/dist/collection/components/radio-button-group/radio-button-group.css +14 -2
  108. package/dist/collection/components/radio-button-group/radio-button-group.js +22 -1
  109. package/dist/collection/components/radio-button-group/radio-button-group.js.map +1 -1
  110. package/dist/collection/components/radio-button-group/radio-button-group.stories.js +10 -1
  111. package/dist/collection/components/radio-button-group/radio-button-group.stories.js.map +1 -1
  112. package/dist/collection/components/search-bar/search-bar.js +1 -1
  113. package/dist/collection/components/search-field/search-field.js +2 -2
  114. package/dist/collection/components/segmented-control/segment/segment.js +1 -1
  115. package/dist/collection/components/segmented-control/segmented-control.css +17 -3
  116. package/dist/collection/components/segmented-control/segmented-control.js +44 -2
  117. package/dist/collection/components/segmented-control/segmented-control.js.map +1 -1
  118. package/dist/collection/components/segmented-control/segmented-control.stories.js +24 -2
  119. package/dist/collection/components/segmented-control/segmented-control.stories.js.map +1 -1
  120. package/dist/collection/components/select/multi-select/multiselect-option.js +4 -4
  121. package/dist/collection/components/select/single-select/select.js +2 -2
  122. package/dist/collection/components/slider/slider.js +2 -2
  123. package/dist/collection/components/spinner/spinner.js +2 -2
  124. package/dist/collection/components/status/status.js +1 -1
  125. package/dist/collection/components/stepper/step/step.js +4 -4
  126. package/dist/collection/components/stepper/stepper.js +2 -2
  127. package/dist/collection/components/switch/switch.js +1 -1
  128. package/dist/collection/components/table-advanced-version/filter-bar/filter-bar.js +1 -1
  129. package/dist/collection/components/table-advanced-version/filter-type-group/filter-accordion/filter-accordion.js +2 -2
  130. package/dist/collection/components/table-advanced-version/filter-type-group/filter-search/filter-search.js +1 -1
  131. package/dist/collection/components/table-advanced-version/filter-type-group/filter-type-group.js +1 -1
  132. package/dist/collection/components/table-advanced-version/list/list-entry/list-entry.js +1 -1
  133. package/dist/collection/components/table-advanced-version/table.js +2 -2
  134. package/dist/collection/components/table-basic-version/table.js +1 -1
  135. package/dist/collection/components/tabs/tab.js +1 -1
  136. package/dist/collection/components/tabs/tabs.js +2 -2
  137. package/dist/collection/components/tag/tag.js +1 -1
  138. package/dist/collection/components/templates/template/template.js +1 -1
  139. package/dist/collection/components/templates/templates-ui/templates-ui.js +1 -1
  140. package/dist/collection/components/text-field/text-field.css +1 -1
  141. package/dist/collection/components/text-field/text-field.js +4 -4
  142. package/dist/collection/components/text-field/text-field.js.map +1 -1
  143. package/dist/collection/components/textarea/textarea.js +2 -2
  144. package/dist/collection/components/tooltip/tooltip.js +4 -4
  145. package/dist/collection/components/tree-view/tree-view-item.js +2 -2
  146. package/dist/collection/components/tree-view/tree-view.js +1 -1
  147. package/dist/collection/stories/setup-and-installation/faq/faq.js +1 -1
  148. package/dist/components/ifx-accordion-item.js +1 -1
  149. package/dist/components/ifx-alert.js +1 -1
  150. package/dist/components/ifx-basic-table.js +1 -1
  151. package/dist/components/ifx-breadcrumb-item-label.js +1 -1
  152. package/dist/components/ifx-checkbox-group.js +5 -3
  153. package/dist/components/ifx-checkbox-group.js.map +1 -1
  154. package/dist/components/ifx-checkbox.js +1 -1
  155. package/dist/components/ifx-chip-item.js +1 -1
  156. package/dist/components/ifx-chip.js +1 -1
  157. package/dist/components/ifx-content-switcher-item.js +1 -1
  158. package/dist/components/ifx-content-switcher.js +1 -1
  159. package/dist/components/ifx-date-picker.js +3 -3
  160. package/dist/components/ifx-download.js +3 -3
  161. package/dist/components/ifx-dropdown-header.js +1 -1
  162. package/dist/components/ifx-dropdown-item.js +1 -1
  163. package/dist/components/ifx-dropdown-separator.js +1 -1
  164. package/dist/components/ifx-dropdown-trigger-button.js +3 -3
  165. package/dist/components/ifx-dropdown-trigger.js +1 -1
  166. package/dist/components/ifx-dropdown.js +1 -1
  167. package/dist/components/ifx-faq.js +3 -3
  168. package/dist/components/ifx-file-upload.js +5 -5
  169. package/dist/components/ifx-filter-accordion.js +4 -4
  170. package/dist/components/ifx-filter-bar.js +2 -2
  171. package/dist/components/ifx-filter-search.js +3 -3
  172. package/dist/components/ifx-filter-type-group.js +1 -1
  173. package/dist/components/ifx-footer-column.js +1 -1
  174. package/dist/components/ifx-footer.js +4 -4
  175. package/dist/components/ifx-icon-button.js +1 -1
  176. package/dist/components/ifx-icon.js +1 -1
  177. package/dist/components/ifx-icons-preview.js +5 -5
  178. package/dist/components/ifx-indicator.js +1 -1
  179. package/dist/components/ifx-link.js +1 -1
  180. package/dist/components/ifx-list-entry.js +4 -4
  181. package/dist/components/ifx-list.js +2 -2
  182. package/dist/components/ifx-modal.js +4 -4
  183. package/dist/components/ifx-multiselect-option.js +1 -1
  184. package/dist/components/ifx-multiselect.js +1 -1
  185. package/dist/components/ifx-navbar-item.js +7 -7
  186. package/dist/components/ifx-navbar-profile.js +3 -3
  187. package/dist/components/ifx-navbar.js +4 -4
  188. package/dist/components/ifx-notification.js +1 -1
  189. package/dist/components/ifx-overview-table.js +4 -4
  190. package/dist/components/ifx-pagination.js +1 -1
  191. package/dist/components/ifx-progress-bar.js +1 -1
  192. package/dist/components/ifx-radio-button-group.js +5 -3
  193. package/dist/components/ifx-radio-button-group.js.map +1 -1
  194. package/dist/components/ifx-radio-button.js +1 -1
  195. package/dist/components/ifx-search-bar.js +3 -3
  196. package/dist/components/ifx-search-field.js +1 -1
  197. package/dist/components/ifx-segment.js +2 -2
  198. package/dist/components/ifx-segmented-control.js +9 -5
  199. package/dist/components/ifx-segmented-control.js.map +1 -1
  200. package/dist/components/ifx-select.js +1 -1
  201. package/dist/components/ifx-set-filter.js +7 -7
  202. package/dist/components/ifx-sidebar-item.js +7 -7
  203. package/dist/components/ifx-sidebar-title.js +1 -1
  204. package/dist/components/ifx-sidebar.js +5 -5
  205. package/dist/components/ifx-slider.js +3 -3
  206. package/dist/components/ifx-spinner.js +1 -1
  207. package/dist/components/ifx-status.js +1 -1
  208. package/dist/components/ifx-step.js +5 -5
  209. package/dist/components/ifx-stepper.js +2 -2
  210. package/dist/components/ifx-switch.js +1 -1
  211. package/dist/components/ifx-tab.js +1 -1
  212. package/dist/components/ifx-table.js +10 -10
  213. package/dist/components/ifx-tabs.js +3 -3
  214. package/dist/components/ifx-tag.js +2 -2
  215. package/dist/components/ifx-template.js +1 -1
  216. package/dist/components/ifx-templates-ui.js +8 -8
  217. package/dist/components/ifx-text-field.js +1 -1
  218. package/dist/components/ifx-textarea.js +2 -2
  219. package/dist/components/ifx-tooltip.js +5 -5
  220. package/dist/components/ifx-tree-view-item.js +4 -4
  221. package/dist/components/ifx-tree-view.js +1 -1
  222. package/dist/components/{p-BeILQ55F.js → p-2JFFbyg-.js} +3 -3
  223. package/dist/components/{p-BeILQ55F.js.map → p-2JFFbyg-.js.map} +1 -1
  224. package/dist/components/{p-DI1Tz44s.js → p-ADIPRswj.js} +5 -5
  225. package/dist/components/{p-DI1Tz44s.js.map → p-ADIPRswj.js.map} +1 -1
  226. package/dist/components/{p-r7hBylnC.js → p-B-erGWs9.js} +4 -4
  227. package/dist/components/{p-r7hBylnC.js.map → p-B-erGWs9.js.map} +1 -1
  228. package/dist/components/{p-CwsunKGp.js → p-B6Fm7iTY.js} +6 -6
  229. package/dist/components/{p-CwsunKGp.js.map → p-B6Fm7iTY.js.map} +1 -1
  230. package/dist/components/{p-COBB2gby.js → p-B8kacvl9.js} +3 -3
  231. package/dist/components/{p-COBB2gby.js.map → p-B8kacvl9.js.map} +1 -1
  232. package/dist/components/{p-DEGJaJSs.js → p-B9dL8SWq.js} +3 -3
  233. package/dist/components/{p-DEGJaJSs.js.map → p-B9dL8SWq.js.map} +1 -1
  234. package/dist/components/{p-CkOHJ_UX.js → p-BEBd3obw.js} +8 -8
  235. package/dist/components/{p-CkOHJ_UX.js.map → p-BEBd3obw.js.map} +1 -1
  236. package/dist/components/{p-CLgcoxeD.js → p-BUTrT3Q6.js} +4 -4
  237. package/dist/components/{p-CLgcoxeD.js.map → p-BUTrT3Q6.js.map} +1 -1
  238. package/dist/components/{p-Dt9X9aqI.js → p-BWgf6L-y.js} +5 -5
  239. package/dist/components/{p-Dt9X9aqI.js.map → p-BWgf6L-y.js.map} +1 -1
  240. package/dist/components/{p-Bq-GdSe7.js → p-BctmSAbW.js} +3 -3
  241. package/dist/components/{p-Bq-GdSe7.js.map → p-BctmSAbW.js.map} +1 -1
  242. package/dist/components/{p-DyWw4V2x.js → p-BjsR5WjH.js} +5 -5
  243. package/dist/components/{p-DyWw4V2x.js.map → p-BjsR5WjH.js.map} +1 -1
  244. package/dist/components/{p-C0tC8p0l.js → p-BrOTS__r.js} +12 -12
  245. package/dist/components/{p-C0tC8p0l.js.map → p-BrOTS__r.js.map} +1 -1
  246. package/dist/components/{p-Bsg4XNJ8.js → p-C2W97E17.js} +6 -6
  247. package/dist/components/{p-Bsg4XNJ8.js.map → p-C2W97E17.js.map} +1 -1
  248. package/dist/components/{p-CwnDj9-A.js → p-C7evM2QQ.js} +3 -3
  249. package/dist/components/{p-CwnDj9-A.js.map → p-C7evM2QQ.js.map} +1 -1
  250. package/dist/components/{p-DL0DaOdR.js → p-D44F8FsC.js} +3 -3
  251. package/dist/components/{p-DL0DaOdR.js.map → p-D44F8FsC.js.map} +1 -1
  252. package/dist/components/{p-AfeIKrPd.js → p-DbtZVHL-.js} +4 -4
  253. package/dist/components/{p-AfeIKrPd.js.map → p-DbtZVHL-.js.map} +1 -1
  254. package/dist/components/{p-BdjtCY5d.js → p-Dlvk6j_W.js} +8 -8
  255. package/dist/components/p-Dlvk6j_W.js.map +1 -0
  256. package/dist/components/{p-CStEOh5u.js → p-kRbl4pfT.js} +4 -4
  257. package/dist/components/{p-CStEOh5u.js.map → p-kRbl4pfT.js.map} +1 -1
  258. package/dist/components/{p-BPtblWb0.js → p-pGEk1iMS.js} +6 -6
  259. package/dist/components/{p-BPtblWb0.js.map → p-pGEk1iMS.js.map} +1 -1
  260. package/dist/components/{p-FczSL6gb.js → p-wyS2KS0v.js} +7 -7
  261. package/dist/components/{p-FczSL6gb.js.map → p-wyS2KS0v.js.map} +1 -1
  262. package/dist/esm/ifx-alert_2.entry.js +1 -1
  263. package/dist/esm/ifx-basic-table.entry.js +1 -1
  264. package/dist/esm/ifx-checkbox-group.entry.js +3 -2
  265. package/dist/esm/ifx-checkbox-group.entry.js.map +1 -1
  266. package/dist/esm/ifx-chip_3.entry.js +11 -11
  267. package/dist/esm/ifx-content-switcher-item.entry.js +1 -1
  268. package/dist/esm/ifx-content-switcher.entry.js +1 -1
  269. package/dist/esm/ifx-date-picker.entry.js +2 -2
  270. package/dist/esm/ifx-download.entry.js +2 -2
  271. package/dist/esm/ifx-dropdown-header.entry.js +1 -1
  272. package/dist/esm/ifx-dropdown-separator.entry.js +1 -1
  273. package/dist/esm/ifx-dropdown-trigger-button.entry.js +2 -2
  274. package/dist/esm/ifx-dropdown-trigger.entry.js +1 -1
  275. package/dist/esm/ifx-dropdown.entry.js +1 -1
  276. package/dist/esm/ifx-faq.entry.js +1 -1
  277. package/dist/esm/ifx-file-upload.entry.js +2 -2
  278. package/dist/esm/ifx-filter-accordion.entry.js +2 -2
  279. package/dist/esm/ifx-filter-bar.entry.js +1 -1
  280. package/dist/esm/ifx-filter-search.entry.js +1 -1
  281. package/dist/esm/ifx-filter-type-group.entry.js +1 -1
  282. package/dist/esm/ifx-footer-column.entry.js +1 -1
  283. package/dist/esm/ifx-footer.entry.js +4 -4
  284. package/dist/esm/ifx-icon-button.entry.js +1 -1
  285. package/dist/esm/ifx-icon.entry.js +1 -1
  286. package/dist/esm/ifx-icons-preview.entry.js +1 -1
  287. package/dist/esm/ifx-indicator.entry.js +2 -2
  288. package/dist/esm/ifx-link.entry.js +1 -1
  289. package/dist/esm/ifx-list-entry.entry.js +1 -1
  290. package/dist/esm/ifx-modal.entry.js +2 -2
  291. package/dist/esm/ifx-multiselect_2.entry.js +4 -4
  292. package/dist/esm/ifx-navbar-item.entry.js +5 -5
  293. package/dist/esm/ifx-navbar-profile.entry.js +3 -3
  294. package/dist/esm/ifx-navbar.entry.js +3 -3
  295. package/dist/esm/ifx-notification.entry.js +2 -2
  296. package/dist/esm/ifx-overview-table.entry.js +1 -1
  297. package/dist/esm/ifx-progress-bar.entry.js +1 -1
  298. package/dist/esm/ifx-radio-button-group.entry.js +3 -2
  299. package/dist/esm/ifx-radio-button-group.entry.js.map +1 -1
  300. package/dist/esm/ifx-radio-button.entry.js +2 -2
  301. package/dist/esm/ifx-search-bar.entry.js +1 -1
  302. package/dist/esm/ifx-search-field.entry.js +2 -2
  303. package/dist/esm/ifx-segment.entry.js +1 -1
  304. package/dist/esm/ifx-segmented-control.entry.js +5 -3
  305. package/dist/esm/ifx-segmented-control.entry.js.map +1 -1
  306. package/dist/esm/ifx-select.entry.js +2 -2
  307. package/dist/esm/ifx-sidebar-item.entry.js +5 -5
  308. package/dist/esm/ifx-sidebar-title.entry.js +1 -1
  309. package/dist/esm/ifx-sidebar.entry.js +5 -5
  310. package/dist/esm/ifx-slider.entry.js +2 -2
  311. package/dist/esm/ifx-spinner.ifx-text-field.entry.js.map +1 -1
  312. package/dist/esm/ifx-spinner_2.entry.js +7 -7
  313. package/dist/esm/ifx-spinner_2.entry.js.map +1 -1
  314. package/dist/esm/ifx-status.entry.js +1 -1
  315. package/dist/esm/ifx-step.entry.js +4 -4
  316. package/dist/esm/ifx-stepper.entry.js +2 -2
  317. package/dist/esm/ifx-switch.entry.js +1 -1
  318. package/dist/esm/ifx-tab.entry.js +1 -1
  319. package/dist/esm/ifx-table.entry.js +2 -2
  320. package/dist/esm/ifx-tabs.entry.js +2 -2
  321. package/dist/esm/ifx-tag.entry.js +1 -1
  322. package/dist/esm/ifx-templates-ui.entry.js +1 -1
  323. package/dist/esm/ifx-textarea.entry.js +2 -2
  324. package/dist/esm/ifx-tooltip.entry.js +4 -4
  325. package/dist/esm/ifx-tree-view-item.entry.js +2 -2
  326. package/dist/esm/ifx-tree-view.entry.js +1 -1
  327. package/dist/esm/infineon-design-system-stencil.js +1 -1
  328. package/dist/esm/loader.js +1 -1
  329. package/dist/infineon-design-system-stencil/ifx-checkbox-group.entry.esm.js.map +1 -1
  330. package/dist/infineon-design-system-stencil/ifx-radio-button-group.entry.esm.js.map +1 -1
  331. package/dist/infineon-design-system-stencil/ifx-segmented-control.entry.esm.js.map +1 -1
  332. package/dist/infineon-design-system-stencil/ifx-spinner.ifx-text-field.entry.esm.js.map +1 -1
  333. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  334. package/dist/infineon-design-system-stencil/p-04f2237d.entry.js +2 -0
  335. package/dist/infineon-design-system-stencil/p-04f2237d.entry.js.map +1 -0
  336. package/dist/infineon-design-system-stencil/{p-79399588.entry.js → p-06586e96.entry.js} +2 -2
  337. package/dist/infineon-design-system-stencil/{p-cdbc14e1.entry.js → p-0a162122.entry.js} +2 -2
  338. package/dist/infineon-design-system-stencil/{p-12e9cb3c.entry.js → p-0e0d582c.entry.js} +2 -2
  339. package/dist/infineon-design-system-stencil/{p-0d9b2670.entry.js → p-0e5825a5.entry.js} +2 -2
  340. package/dist/infineon-design-system-stencil/p-17887cb2.entry.js +2 -0
  341. package/dist/infineon-design-system-stencil/{p-ea61b79e.entry.js → p-1943bc7f.entry.js} +2 -2
  342. package/dist/infineon-design-system-stencil/{p-61acd0a3.entry.js → p-19cd1513.entry.js} +2 -2
  343. package/dist/infineon-design-system-stencil/{p-b81d2f37.entry.js → p-1ce77237.entry.js} +2 -2
  344. package/dist/infineon-design-system-stencil/p-213b3a93.entry.js +2 -0
  345. package/dist/infineon-design-system-stencil/{p-0c0e6c8e.entry.js → p-2240a76c.entry.js} +2 -2
  346. package/dist/infineon-design-system-stencil/{p-1503b3bc.entry.js → p-2397df2c.entry.js} +2 -2
  347. package/dist/infineon-design-system-stencil/p-29799c87.entry.js +2 -0
  348. package/dist/infineon-design-system-stencil/{p-fa128756.entry.js → p-2b3fd394.entry.js} +2 -2
  349. package/dist/infineon-design-system-stencil/p-2f2dec57.entry.js +2 -0
  350. package/dist/infineon-design-system-stencil/{p-2418f067.entry.js.map → p-2f2dec57.entry.js.map} +1 -1
  351. package/dist/infineon-design-system-stencil/{p-2bffcd86.entry.js → p-3256c763.entry.js} +2 -2
  352. package/dist/infineon-design-system-stencil/p-382c4f85.entry.js +2 -0
  353. package/dist/infineon-design-system-stencil/{p-edd19eeb.entry.js.map → p-382c4f85.entry.js.map} +1 -1
  354. package/dist/infineon-design-system-stencil/p-4452873e.entry.js +2 -0
  355. package/dist/infineon-design-system-stencil/p-45392cf4.entry.js +2 -0
  356. package/dist/infineon-design-system-stencil/{p-41291d21.entry.js → p-46c95ba7.entry.js} +2 -2
  357. package/dist/infineon-design-system-stencil/{p-a405b6f4.entry.js → p-4aaf616d.entry.js} +2 -2
  358. package/dist/infineon-design-system-stencil/{p-7b091a06.entry.js → p-501f14a4.entry.js} +2 -2
  359. package/dist/infineon-design-system-stencil/{p-0eaf5a5e.entry.js → p-5745f007.entry.js} +2 -2
  360. package/dist/infineon-design-system-stencil/{p-bb927fbf.entry.js → p-5c92cb7b.entry.js} +2 -2
  361. package/dist/infineon-design-system-stencil/{p-cc0309cc.entry.js → p-5cb2aab1.entry.js} +2 -2
  362. package/dist/infineon-design-system-stencil/{p-92e5b3bd.entry.js → p-5d0d9e07.entry.js} +2 -2
  363. package/dist/infineon-design-system-stencil/{p-022667fd.entry.js → p-5f848e4c.entry.js} +2 -2
  364. package/dist/infineon-design-system-stencil/{p-296c1bd4.entry.js → p-5fb3fdea.entry.js} +2 -2
  365. package/dist/infineon-design-system-stencil/p-6a1e8666.entry.js +2 -0
  366. package/dist/infineon-design-system-stencil/p-6a1e8666.entry.js.map +1 -0
  367. package/dist/infineon-design-system-stencil/p-7165e0cf.entry.js +2 -0
  368. package/dist/infineon-design-system-stencil/p-7165e0cf.entry.js.map +1 -0
  369. package/dist/infineon-design-system-stencil/{p-abeffac5.entry.js → p-71d5251b.entry.js} +2 -2
  370. package/dist/infineon-design-system-stencil/{p-3411df03.entry.js → p-74fe3228.entry.js} +2 -2
  371. package/dist/infineon-design-system-stencil/{p-48fec115.entry.js → p-78899cd5.entry.js} +2 -2
  372. package/dist/infineon-design-system-stencil/{p-72bc047a.entry.js → p-7ca40483.entry.js} +2 -2
  373. package/dist/infineon-design-system-stencil/{p-7c017d8c.entry.js → p-80780865.entry.js} +2 -2
  374. package/dist/infineon-design-system-stencil/{p-2803322f.entry.js → p-81710c26.entry.js} +2 -2
  375. package/dist/infineon-design-system-stencil/{p-c47ac148.entry.js → p-87616bcc.entry.js} +2 -2
  376. package/dist/infineon-design-system-stencil/{p-7b4b783a.entry.js → p-955ba323.entry.js} +2 -2
  377. package/dist/infineon-design-system-stencil/{p-c863b508.entry.js → p-9a665d0a.entry.js} +2 -2
  378. package/dist/infineon-design-system-stencil/p-9cc912ed.entry.js +2 -0
  379. package/dist/infineon-design-system-stencil/{p-7462fff6.entry.js.map → p-9cc912ed.entry.js.map} +1 -1
  380. package/dist/infineon-design-system-stencil/p-a03e4f48.entry.js +2 -0
  381. package/dist/infineon-design-system-stencil/{p-62b09872.entry.js → p-a127befe.entry.js} +2 -2
  382. package/dist/infineon-design-system-stencil/p-a6d0163a.entry.js +2 -0
  383. package/dist/infineon-design-system-stencil/p-a7bdfd8b.entry.js +2 -0
  384. package/dist/infineon-design-system-stencil/p-a7bdfd8b.entry.js.map +1 -0
  385. package/dist/infineon-design-system-stencil/{p-2d068462.entry.js → p-adc266e9.entry.js} +2 -2
  386. package/dist/infineon-design-system-stencil/p-b07989b6.entry.js +2 -0
  387. package/dist/infineon-design-system-stencil/{p-7c32c3aa.entry.js → p-b69806b1.entry.js} +2 -2
  388. package/dist/infineon-design-system-stencil/{p-11c13738.entry.js → p-b8b06a31.entry.js} +2 -2
  389. package/dist/infineon-design-system-stencil/{p-4528750a.entry.js → p-bb947485.entry.js} +2 -2
  390. package/dist/infineon-design-system-stencil/{p-bf480e62.entry.js → p-c67c0cf5.entry.js} +2 -2
  391. package/dist/infineon-design-system-stencil/{p-f4bf3d68.entry.js → p-ccecd20d.entry.js} +2 -2
  392. package/dist/infineon-design-system-stencil/{p-262afd53.entry.js → p-dfdaeee3.entry.js} +2 -2
  393. package/dist/infineon-design-system-stencil/{p-772517cc.entry.js → p-e1e0d304.entry.js} +2 -2
  394. package/dist/infineon-design-system-stencil/{p-e2dd3eef.entry.js → p-e49604e9.entry.js} +2 -2
  395. package/dist/infineon-design-system-stencil/{p-15610863.entry.js → p-e5b508ec.entry.js} +2 -2
  396. package/dist/infineon-design-system-stencil/{p-bf51fc38.entry.js → p-ee54a9ba.entry.js} +2 -2
  397. package/dist/infineon-design-system-stencil/{p-66a4ed41.entry.js → p-f2fba247.entry.js} +2 -2
  398. package/dist/infineon-design-system-stencil/p-fbc93427.entry.js +2 -0
  399. package/dist/infineon-design-system-stencil/{p-34146964.entry.js.map → p-fbc93427.entry.js.map} +1 -1
  400. package/dist/infineon-design-system-stencil/{p-5c1a8c83.entry.js → p-fc09ec6b.entry.js} +2 -2
  401. package/dist/infineon-design-system-stencil/p-fe11b230.entry.js +2 -0
  402. package/dist/types/components/checkbox-group/checkbox-group.d.ts +1 -0
  403. package/dist/types/components/checkbox-group/checkbox-group.stories.d.ts +13 -0
  404. package/dist/types/components/radio-button-group/radio-button-group.d.ts +1 -0
  405. package/dist/types/components/radio-button-group/radio-button-group.stories.d.ts +13 -0
  406. package/dist/types/components/segmented-control/segmented-control.d.ts +2 -0
  407. package/dist/types/components/segmented-control/segmented-control.stories.d.ts +20 -0
  408. package/dist/types/components.d.ts +32 -0
  409. package/package.json +1 -1
  410. package/dist/components/p-BdjtCY5d.js.map +0 -1
  411. package/dist/infineon-design-system-stencil/p-2418f067.entry.js +0 -2
  412. package/dist/infineon-design-system-stencil/p-34146964.entry.js +0 -2
  413. package/dist/infineon-design-system-stencil/p-50867a1f.entry.js +0 -2
  414. package/dist/infineon-design-system-stencil/p-7424e1be.entry.js +0 -2
  415. package/dist/infineon-design-system-stencil/p-7424e1be.entry.js.map +0 -1
  416. package/dist/infineon-design-system-stencil/p-7462fff6.entry.js +0 -2
  417. package/dist/infineon-design-system-stencil/p-83b63d0e.entry.js +0 -2
  418. package/dist/infineon-design-system-stencil/p-86523f4e.entry.js +0 -2
  419. package/dist/infineon-design-system-stencil/p-8eb1ba71.entry.js +0 -2
  420. package/dist/infineon-design-system-stencil/p-8eb1ba71.entry.js.map +0 -1
  421. package/dist/infineon-design-system-stencil/p-c06b0a60.entry.js +0 -2
  422. package/dist/infineon-design-system-stencil/p-c75784ef.entry.js +0 -2
  423. package/dist/infineon-design-system-stencil/p-c75784ef.entry.js.map +0 -1
  424. package/dist/infineon-design-system-stencil/p-e0961fed.entry.js +0 -2
  425. package/dist/infineon-design-system-stencil/p-e3452084.entry.js +0 -2
  426. package/dist/infineon-design-system-stencil/p-edd19eeb.entry.js +0 -2
  427. package/dist/infineon-design-system-stencil/p-ee034faf.entry.js +0 -2
  428. package/dist/infineon-design-system-stencil/p-f00cf887.entry.js +0 -2
  429. package/dist/infineon-design-system-stencil/p-f53f7d80.entry.js +0 -2
  430. package/dist/infineon-design-system-stencil/p-f53f7d80.entry.js.map +0 -1
  431. package/dist/infineon-design-system-stencil/p-ffe479d0.entry.js +0 -2
  432. /package/dist/infineon-design-system-stencil/{p-79399588.entry.js.map → p-06586e96.entry.js.map} +0 -0
  433. /package/dist/infineon-design-system-stencil/{p-cdbc14e1.entry.js.map → p-0a162122.entry.js.map} +0 -0
  434. /package/dist/infineon-design-system-stencil/{p-12e9cb3c.entry.js.map → p-0e0d582c.entry.js.map} +0 -0
  435. /package/dist/infineon-design-system-stencil/{p-0d9b2670.entry.js.map → p-0e5825a5.entry.js.map} +0 -0
  436. /package/dist/infineon-design-system-stencil/{p-ffe479d0.entry.js.map → p-17887cb2.entry.js.map} +0 -0
  437. /package/dist/infineon-design-system-stencil/{p-ea61b79e.entry.js.map → p-1943bc7f.entry.js.map} +0 -0
  438. /package/dist/infineon-design-system-stencil/{p-61acd0a3.entry.js.map → p-19cd1513.entry.js.map} +0 -0
  439. /package/dist/infineon-design-system-stencil/{p-b81d2f37.entry.js.map → p-1ce77237.entry.js.map} +0 -0
  440. /package/dist/infineon-design-system-stencil/{p-83b63d0e.entry.js.map → p-213b3a93.entry.js.map} +0 -0
  441. /package/dist/infineon-design-system-stencil/{p-0c0e6c8e.entry.js.map → p-2240a76c.entry.js.map} +0 -0
  442. /package/dist/infineon-design-system-stencil/{p-1503b3bc.entry.js.map → p-2397df2c.entry.js.map} +0 -0
  443. /package/dist/infineon-design-system-stencil/{p-f00cf887.entry.js.map → p-29799c87.entry.js.map} +0 -0
  444. /package/dist/infineon-design-system-stencil/{p-fa128756.entry.js.map → p-2b3fd394.entry.js.map} +0 -0
  445. /package/dist/infineon-design-system-stencil/{p-2bffcd86.entry.js.map → p-3256c763.entry.js.map} +0 -0
  446. /package/dist/infineon-design-system-stencil/{p-c06b0a60.entry.js.map → p-4452873e.entry.js.map} +0 -0
  447. /package/dist/infineon-design-system-stencil/{p-50867a1f.entry.js.map → p-45392cf4.entry.js.map} +0 -0
  448. /package/dist/infineon-design-system-stencil/{p-41291d21.entry.js.map → p-46c95ba7.entry.js.map} +0 -0
  449. /package/dist/infineon-design-system-stencil/{p-a405b6f4.entry.js.map → p-4aaf616d.entry.js.map} +0 -0
  450. /package/dist/infineon-design-system-stencil/{p-7b091a06.entry.js.map → p-501f14a4.entry.js.map} +0 -0
  451. /package/dist/infineon-design-system-stencil/{p-0eaf5a5e.entry.js.map → p-5745f007.entry.js.map} +0 -0
  452. /package/dist/infineon-design-system-stencil/{p-bb927fbf.entry.js.map → p-5c92cb7b.entry.js.map} +0 -0
  453. /package/dist/infineon-design-system-stencil/{p-cc0309cc.entry.js.map → p-5cb2aab1.entry.js.map} +0 -0
  454. /package/dist/infineon-design-system-stencil/{p-92e5b3bd.entry.js.map → p-5d0d9e07.entry.js.map} +0 -0
  455. /package/dist/infineon-design-system-stencil/{p-022667fd.entry.js.map → p-5f848e4c.entry.js.map} +0 -0
  456. /package/dist/infineon-design-system-stencil/{p-296c1bd4.entry.js.map → p-5fb3fdea.entry.js.map} +0 -0
  457. /package/dist/infineon-design-system-stencil/{p-abeffac5.entry.js.map → p-71d5251b.entry.js.map} +0 -0
  458. /package/dist/infineon-design-system-stencil/{p-3411df03.entry.js.map → p-74fe3228.entry.js.map} +0 -0
  459. /package/dist/infineon-design-system-stencil/{p-48fec115.entry.js.map → p-78899cd5.entry.js.map} +0 -0
  460. /package/dist/infineon-design-system-stencil/{p-72bc047a.entry.js.map → p-7ca40483.entry.js.map} +0 -0
  461. /package/dist/infineon-design-system-stencil/{p-7c017d8c.entry.js.map → p-80780865.entry.js.map} +0 -0
  462. /package/dist/infineon-design-system-stencil/{p-2803322f.entry.js.map → p-81710c26.entry.js.map} +0 -0
  463. /package/dist/infineon-design-system-stencil/{p-c47ac148.entry.js.map → p-87616bcc.entry.js.map} +0 -0
  464. /package/dist/infineon-design-system-stencil/{p-7b4b783a.entry.js.map → p-955ba323.entry.js.map} +0 -0
  465. /package/dist/infineon-design-system-stencil/{p-c863b508.entry.js.map → p-9a665d0a.entry.js.map} +0 -0
  466. /package/dist/infineon-design-system-stencil/{p-e0961fed.entry.js.map → p-a03e4f48.entry.js.map} +0 -0
  467. /package/dist/infineon-design-system-stencil/{p-62b09872.entry.js.map → p-a127befe.entry.js.map} +0 -0
  468. /package/dist/infineon-design-system-stencil/{p-ee034faf.entry.js.map → p-a6d0163a.entry.js.map} +0 -0
  469. /package/dist/infineon-design-system-stencil/{p-2d068462.entry.js.map → p-adc266e9.entry.js.map} +0 -0
  470. /package/dist/infineon-design-system-stencil/{p-e3452084.entry.js.map → p-b07989b6.entry.js.map} +0 -0
  471. /package/dist/infineon-design-system-stencil/{p-7c32c3aa.entry.js.map → p-b69806b1.entry.js.map} +0 -0
  472. /package/dist/infineon-design-system-stencil/{p-11c13738.entry.js.map → p-b8b06a31.entry.js.map} +0 -0
  473. /package/dist/infineon-design-system-stencil/{p-4528750a.entry.js.map → p-bb947485.entry.js.map} +0 -0
  474. /package/dist/infineon-design-system-stencil/{p-bf480e62.entry.js.map → p-c67c0cf5.entry.js.map} +0 -0
  475. /package/dist/infineon-design-system-stencil/{p-f4bf3d68.entry.js.map → p-ccecd20d.entry.js.map} +0 -0
  476. /package/dist/infineon-design-system-stencil/{p-262afd53.entry.js.map → p-dfdaeee3.entry.js.map} +0 -0
  477. /package/dist/infineon-design-system-stencil/{p-772517cc.entry.js.map → p-e1e0d304.entry.js.map} +0 -0
  478. /package/dist/infineon-design-system-stencil/{p-e2dd3eef.entry.js.map → p-e49604e9.entry.js.map} +0 -0
  479. /package/dist/infineon-design-system-stencil/{p-15610863.entry.js.map → p-e5b508ec.entry.js.map} +0 -0
  480. /package/dist/infineon-design-system-stencil/{p-bf51fc38.entry.js.map → p-ee54a9ba.entry.js.map} +0 -0
  481. /package/dist/infineon-design-system-stencil/{p-66a4ed41.entry.js.map → p-f2fba247.entry.js.map} +0 -0
  482. /package/dist/infineon-design-system-stencil/{p-5c1a8c83.entry.js.map → p-fc09ec6b.entry.js.map} +0 -0
  483. /package/dist/infineon-design-system-stencil/{p-86523f4e.entry.js.map → p-fe11b230.entry.js.map} +0 -0
@@ -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("div", { key: '72e40aa84cb9ba69cb4fcbe8d057cf8c6067ac13', class: "items__total-wrapper" }, h("div", { key: 'bf3777a0d9c82cda57125b8bab4a1cdb49f1cfb2', class: "pagination" }, h("ifx-icon-button", { key: 'bcda07cf867ee60e5896d853709b244d2cf4d3ad', class: "prev", icon: "arrow-left-16", onClick: () => this.changePage(this.internalPage - 1) }), h("ol", { key: 'b3b9929e2a05c15aae434b3749dc748a46491cb4' }, 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: '719da5df49fe092465e856c43e72d187fc7231a5', class: "next", icon: "arrow-right-16", 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"; }
@@ -22,7 +22,7 @@ export class ProgressBar {
22
22
  }
23
23
  }
24
24
  render() {
25
- return (h("div", { key: 'ae14994774c95eca7dddebcef8896eab31e3784e', "aria-label": 'a progress bar', "aria-value": this.value, class: `progress-bar ${this.size}` }, h("div", { key: '160d93a72e857e49ca953939eb433a24e80f5c75', class: "progress", style: { width: `${this.internalValue}%` } }, this.showLabel && this.size !== "s" && this.internalValue !== 0 && h("span", { key: '87952d6c604aa81019dcb2701d923d0279144599', 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"; }
@@ -99,10 +99,10 @@ export class RadioButton {
99
99
  }
100
100
  }
101
101
  render() {
102
- return (h("div", { key: '78a2de1f0f88da1e4b9c7bed61d74b891f090418', 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: 'e8ab49ef8588f64a6105a4e800c6ac8c6b002ca0', class: `radioButton__wrapper
102
+ return (h("div", { key: '74f244bae485da0646d3f19cf963edc5e9f12792', 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: 'b0b057126b366171b6b135387826b41b8c0b1d9f', class: `radioButton__wrapper
103
103
  ${this.internalChecked ? 'checked' : ''}
104
104
  ${this.disabled ? 'disabled' : ''}
105
- ${this.error ? 'error' : ''}` }, this.internalChecked && h("div", { key: 'b1705b00d51a080c6422e994b58a0bc41ef217dd', class: "radioButton__wrapper-mark" })), this.hasSlot && (h("div", { key: '8fcf49828927047de1182d36b532952b437e2fc1', class: `label ${this.size === "m" ? "label-m" : ""} ${this.disabled ? 'disabled' : ''}` }, h("slot", { key: 'e4d1282ed7a91a4edcefcdccbe8fb38541bee326' }))), h("input", { key: '175a2b7fefb474c58d6c1ee36ce65136458ebb01', 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: '22cf46b8da8a71d6e5c9704e514582588a70655b', class: "radioButton__wrapper-mark" })), this.hasSlot && (h("div", { key: '3a3935ff99a461c9560b53492245dc5e565f2c1d', class: `label ${this.size === "m" ? "label-m" : ""} ${this.disabled ? 'disabled' : ''}` }, h("slot", { key: 'e2d213e88d610c45cec8c38229d2323728cfa302' }))), h("input", { key: 'ea30939d9e5eb16474821e44385451d8dd9cac8c', 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: '954a7ba0058a82a507cccb564935b43737990a73', class: 'radio-button-group-container' }, this.showGroupLabel ? h("div", { class: 'group-label' }, this.groupLabelText, " *") : '', h("div", { key: '7874bd7b2b6d34a1431a93f469f18e9c3e4d0445', class: `radio-button-group ${this.alignment} ${this.size}` }, h("slot", { key: 'f1f3075d2196c831ecd2bbccd5d61581c51e0eee', 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: 'c90a5b0aac233a17352406756ef4ea3aa4fa3507', class: 'radio-button-group-container' }, this.showGroupLabel && (h("div", { key: 'b85deef39cfe803fa0278ab9c99367ab56500bc2', class: "group-label" }, this.groupLabelText, this.required && h("span", { key: 'b344228eedaa49d880d9b2c92536879865f97695', class: `required ${this.hasErrors ? 'error' : ''}` }, "*"))), h("div", { key: '023bee6820528963569d77ed34d88e348f6b59f5', class: `radio-button-group ${this.alignment} ${this.size}` }, h("slot", { key: '386fdd5873830ecf2b16be33bdb24362b885e419', 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"; }
@@ -199,6 +200,26 @@ export class RadioButtonGroup {
199
200
  "getter": false,
200
201
  "setter": false,
201
202
  "reflect": false
203
+ },
204
+ "required": {
205
+ "type": "boolean",
206
+ "attribute": "required",
207
+ "mutable": false,
208
+ "complexType": {
209
+ "original": "boolean",
210
+ "resolved": "boolean",
211
+ "references": {}
212
+ },
213
+ "required": false,
214
+ "optional": false,
215
+ "docs": {
216
+ "tags": [],
217
+ "text": ""
218
+ },
219
+ "getter": false,
220
+ "setter": false,
221
+ "reflect": false,
222
+ "defaultValue": "false"
202
223
  }
203
224
  };
204
225
  }
@@ -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":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAQzE,MAAM,OAAO,gBAAgB;IAN7B;QAWY,YAAO,GAAW,EAAE,CAAC;QACrB,UAAK,GAAW,EAAE,CAAC;QACnB,SAAI,GAAwB,SAAS,CAAC;QACtC,aAAQ,GAAY,KAAK,CAAC;QAC1B,UAAK,GAAY,KAAK,CAAC;QAUvB,kBAAa,GAAW,EAAE,CAAC;KAiFtC;IAvFG,eAAe,CAAC,KAAkB;QAC9B,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC;IAC1D,CAAC;IAID,uBAAuB,CAAC,gBAAwB;QAC5C,IAAI,aAAqB,CAAC;QAC1B,IAAI,aAAqB,CAAC;QAE1B,MAAM,QAAQ,GAAa,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9C,QAAQ,CAAC,OAAO,CAAC,CAAC,OAA8B,EAAE,EAAE;YAChD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACnB,IAAI,OAAO,CAAC,YAAY,KAAK,gBAAgB,EAAE,CAAC;oBAC5C,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACzB,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACJ,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;gBAClC,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAA;QAEF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;IAC5C,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACjE,CAAC;IAED,gBAAgB;QACZ,MAAM,QAAQ,GAAa,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,2BAA2B,GAAG,KAAK,CAAC;QACxC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAA8B,EAAE,GAAW,EAAE,EAAE;YAC7D,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC;YAC3B,IAAI,2BAA2B,EAAE,CAAC;gBAC9B,IAAI,OAAO,CAAC,QAAQ;oBAAE,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACJ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACnB,2BAA2B,GAAG,IAAI,CAAC;oBACnC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;gBACvC,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,cAAc;QACV,MAAM,QAAQ,GAAa,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9C,QAAQ,CAAC,OAAO,CAAC,CAAC,OAA8B,EAAE,EAAE;YAChD,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,IAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAChD,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;YACpC,cAAc,CAAC,uBAAuB,EAAE,MAAM,SAAS,CAAC,CAAA;QAC5D,CAAC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM;QACF,OAAO,CACH,0EAAiB,IAAI,CAAC,aAAa,gBAAa,mBAAmB,EAAC,KAAK,EAAC,OAAO;YAC7E,4DAAK,KAAK,EAAC,cAAc;gBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBACjB,IAAI,CAAC,QAAQ,IAAI,6DAAM,KAAK,EAAE,YAAY,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,QAAU,CAC/E;YAEN,4DAAK,KAAK,EAAC,iBAAiB;gBACxB,8DAAQ,CACN;YAGF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;gBACnB,4DAAK,KAAK,EAAE,kBAAkB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBACrD,iEAAU,IAAI,EAAC,WAAW,GAAY;;oBAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAC1D,CAER,CACT,CAAC;IACN,CAAC;IAED,kBAAkB;QACd,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACJ","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}"]}
@@ -11,7 +11,9 @@ export default {
11
11
  size: 'regular',
12
12
  icon: 'star-16',
13
13
  selected: 'false',
14
- value: 'Value'
14
+ value: 'Value',
15
+ error: false,
16
+ required: false,
15
17
  },
16
18
  argTypes: {
17
19
  amountOfSegments: {
@@ -93,6 +95,24 @@ See the 2nd *<ifx-segment>* for effects`,
93
95
  required: true
94
96
  }
95
97
  },
98
+ error: {
99
+ description: 'Set the component to error state.',
100
+ table: {
101
+ category: 'ifx-segmented-control props',
102
+ defaultValue: {
103
+ summary: false,
104
+ }
105
+ }
106
+ },
107
+ required: {
108
+ description: 'Marks the component as required by displaying an asterisk next to the label.',
109
+ table: {
110
+ category: 'ifx-segmented-control props',
111
+ defaultValue: {
112
+ summary: false,
113
+ }
114
+ }
115
+ },
96
116
  ifxChange: {
97
117
  description: `Custom event emitted when the segment is changed.`,
98
118
  table: {
@@ -115,7 +135,9 @@ const Template = (args) => {
115
135
  <ifx-segmented-control
116
136
  caption = '${args.caption}'
117
137
  label = '${args.label}'
118
- size = '${args.size}'>
138
+ size = '${args.size}'
139
+ error = '${args.error}'
140
+ required = '${args.required}'>
119
141
  ${(() => {
120
142
  return Array.from({ length: args.amountOfSegments }, (_, segmentId) => {
121
143
  const segment = document.createElement('ifx-segment');
@@ -1 +1 @@
1
- {"version":3,"file":"segmented-control.stories.js","sourceRoot":"","sources":["../../../src/components/segmented-control/segmented-control.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,eAAe;IACX,KAAK,EAAE,8BAA8B;IACrC,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,IAAI,EAAE;QACF,gBAAgB,EAAE,CAAC;QACnB,cAAc,EAAE,OAAO;QACvB,OAAO,EAAE,uCAAuC;QAChD,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,OAAO;KACjB;IACD,QAAQ,EAAE;QACN,gBAAgB,EAAE;YACd,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE;YACnC,WAAW,EAAE,qDAAqD;YAClE,KAAK,EAAE;gBACH,QAAQ,EAAE,gBAAgB;gBAC1B,IAAI,EAAE;oBACF,OAAO,EAAE,IAAI;iBAChB;aACJ;SACJ;QACD,cAAc,EAAE;YACZ,IAAI,EAAE,kBAAkB;YACxB,WAAW,EAAE,6CAA6C;YAC1D,KAAK,EAAE;gBACH,QAAQ,EAAE,gBAAgB;aAC7B;SACJ;QACD,OAAO,EAAE;YACL,WAAW,EAAE,kDAAkD;YAC/D,KAAK,EAAE;gBACH,QAAQ,EAAE,6BAA6B;aAC1C;SACJ;QACD,KAAK,EAAE;YACH,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,iCAAiC;YAC9C,KAAK,EAAE;gBACH,QAAQ,EAAE,6BAA6B;aAC1C;SACJ;QACD,IAAI,EAAE;YACF,WAAW,EAAE,+CAA+C;YAC5D,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;YAC7B,KAAK,EAAE;gBACH,QAAQ,EAAE,6BAA6B;gBACvC,YAAY,EAAE;oBACV,OAAO,EAAE,SAAS;iBACrB;gBACD,IAAI,EAAE;oBACF,OAAO,EAAE,iBAAiB;iBAC7B;aACJ;SACJ;QACD,IAAI,EAAE;YACF,WAAW,EAAE,wBAAwB;YACrC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,KAAK,EAAE;gBACH,QAAQ,EAAE,mBAAmB;aAChC;SACJ;QACD,QAAQ,EAAE;YACN,WAAW,EAAE;wCACe;YAC5B,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE;gBACH,QAAQ,EAAE,mBAAmB;gBAC7B,YAAY,EAAE;oBACV,OAAO,EAAE,KAAK;iBACjB;gBACD,IAAI,EAAE;oBACF,OAAO,EAAE,SAAS;iBACrB;aACJ;SACJ;QACD,KAAK,EAAE;YACH,WAAW,EAAE,6CAA6C;YAC1D,KAAK,EAAE;gBACH,QAAQ,EAAE,mBAAmB;gBAC7B,IAAI,EAAE;oBACF,OAAO,EAAE,QAAQ;iBACpB;aACJ;YACD,IAAI,EAAE;gBACF,QAAQ,EAAE,IAAI;aACjB;SACJ;QACD,SAAS,EAAE;YACP,WAAW,EAAE,mDAAmD;YAChE,KAAK,EAAE;gBACH,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE;oBACF,OAAO,EAAE,uBAAuB;oBAChC,MAAM,EAAE;;;;2EAI+C;iBAC1D;aACJ;SACJ;KACJ;CACJ,CAAA;AAED,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE;IACtB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,GAAG;;aAEX,IAAI,CAAC,OAAO;WACd,IAAI,CAAC,KAAK;UACX,IAAI,CAAC,IAAI;MACb,CAAC,GAAG,EAAE;QACA,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE;YAClE,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YACtD,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC;YACxC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/D,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,SAAS,KAAK,CAAC;gBAAE,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACxF,OAAO,OAAO,CAAC,SAAS,CAAC;QAC7B,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC,CAAC,EACF;;CAEP,CAAC;IACE,MAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACxE,gBAAgB,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IAEpE,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC","sourcesContent":["import { action } from \"@storybook/addon-actions\";\nimport { icons } from '@infineon/infineon-icons';\n\nexport default {\n title: 'Components/Segmented Control',\n tags: ['autodocs'],\n args: {\n amountOfSegments: 5,\n labelOfSegment: 'Label',\n caption: 'Caption text to describe the controls',\n label: 'Group Label',\n size: 'regular',\n icon: 'star-16',\n selected: 'false',\n value: 'Value'\n },\n argTypes: {\n amountOfSegments: {\n name: 'Amount of Segments',\n control: { type: 'number', min: 2 },\n description: 'Control the number of *<ifx-segment>* in component.',\n table: {\n category: 'story controls',\n type: {\n summary: null\n }\n }\n },\n labelOfSegment: {\n name: 'Label of Segment',\n description: 'Set the label of *<ifx-segmented-control>*.',\n table: {\n category: 'story controls',\n }\n },\n caption: {\n description: 'Set the caption text of segmented control group.',\n table: {\n category: 'ifx-segmented-control props'\n }\n },\n label: {\n name: 'label',\n description: 'Set the label of control group.',\n table: {\n category: 'ifx-segmented-control props'\n }\n },\n size: {\n description: 'Switch between the size of Segmented Control.',\n control: 'radio',\n options: ['regular', 'small'],\n table: {\n category: 'ifx-segmented-control props',\n defaultValue: {\n summary: 'regular'\n },\n type: {\n summary: 'regular | small'\n }\n }\n },\n icon: {\n description: 'Set icon of a segment.',\n options: Object.keys(icons),\n control: { type: 'select' },\n table: {\n category: 'ifx-segment props'\n }\n },\n selected: {\n description: `Selects the segment when set true.\\n\nSee the 2nd *<ifx-segment>* for effects`,\n control: 'boolean',\n table: {\n category: 'ifx-segment props',\n defaultValue: {\n summary: false,\n },\n type: {\n summary: 'boolean'\n }\n }\n },\n value: {\n description: 'Set the value of *<ifx-segment>*. Required.',\n table: {\n category: 'ifx-segment props',\n type: {\n summary: 'string'\n }\n },\n type: {\n required: true\n }\n },\n ifxChange: {\n description: `Custom event emitted when the segment is changed.`,\n table: {\n category: 'custom events',\n type: {\n summary: 'Framework integration',\n detail: `\nReact: onIfxChange={handleChange}\nVue: @ifxChange=\"handleChange\"\nAngular: (ifxChange)=\"handleChange()\"\nVanillaJs: .addEventListener(\"ifxChange\", (event) => {/*handle change*/});`,\n }\n }\n }\n }\n}\n\nconst Template = (args) => {\n const wrapper = document.createElement('div');\n wrapper.innerHTML = `\n<ifx-segmented-control\ncaption = '${args.caption}'\nlabel = '${args.label}'\nsize = '${args.size}'>\n ${(() => {\n return Array.from({ length: args.amountOfSegments }, (_, segmentId) => {\n const segment = document.createElement('ifx-segment');\n segment.innerText = args.labelOfSegment;\n segment.setAttribute('value', `${args.value}${segmentId + 1}`);\n segment.setAttribute('icon', `${args.icon}`);\n if (args.selected === true && segmentId === 1) segment.setAttribute('selected', 'true');\n return segment.outerHTML;\n }).join(`\\n `);\n })()\n }\n</ifx-segmented-control> \n`;\n const segmentedControl = wrapper.querySelector('ifx-segmented-control');\n segmentedControl.addEventListener('ifxChange', action('ifxChange'));\n\n return segmentedControl;\n};\n\nexport const Default = Template.bind({});"]}
1
+ {"version":3,"file":"segmented-control.stories.js","sourceRoot":"","sources":["../../../src/components/segmented-control/segmented-control.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { action } from \"@storybook/addon-actions\";\nimport { icons } from '@infineon/infineon-icons';\n\nexport default {\n title: 'Components/Segmented Control',\n tags: ['autodocs'],\n args: {\n amountOfSegments: 5,\n labelOfSegment: 'Label',\n caption: 'Caption text to describe the controls',\n label: 'Group Label',\n size: 'regular',\n icon: 'star-16',\n selected: 'false',\n value: 'Value',\n error: false,\n required: false,\n },\n argTypes: {\n amountOfSegments: {\n name: 'Amount of Segments',\n control: { type: 'number', min: 2 },\n description: 'Control the number of *<ifx-segment>* in component.',\n table: {\n category: 'story controls',\n type: {\n summary: null\n }\n }\n },\n labelOfSegment: {\n name: 'Label of Segment',\n description: 'Set the label of *<ifx-segmented-control>*.',\n table: {\n category: 'story controls',\n }\n },\n caption: {\n description: 'Set the caption text of segmented control group.',\n table: {\n category: 'ifx-segmented-control props'\n }\n },\n label: {\n name: 'label',\n description: 'Set the label of control group.',\n table: {\n category: 'ifx-segmented-control props'\n }\n },\n size: {\n description: 'Switch between the size of Segmented Control.',\n control: 'radio',\n options: ['regular', 'small'],\n table: {\n category: 'ifx-segmented-control props',\n defaultValue: {\n summary: 'regular'\n },\n type: {\n summary: 'regular | small'\n }\n }\n },\n icon: {\n description: 'Set icon of a segment.',\n options: Object.keys(icons),\n control: { type: 'select' },\n table: {\n category: 'ifx-segment props'\n }\n },\n selected: {\n description: `Selects the segment when set true.\\n\nSee the 2nd *<ifx-segment>* for effects`,\n control: 'boolean',\n table: {\n category: 'ifx-segment props',\n defaultValue: {\n summary: false,\n },\n type: {\n summary: 'boolean'\n }\n }\n },\n value: {\n description: 'Set the value of *<ifx-segment>*. Required.',\n table: {\n category: 'ifx-segment props',\n type: {\n summary: 'string'\n }\n },\n type: {\n required: true\n }\n },\n error: {\n description: 'Set the component to error state.',\n table: {\n category: 'ifx-segmented-control props',\n defaultValue: {\n summary: false,\n }\n }\n },\n required: {\n description: 'Marks the component as required by displaying an asterisk next to the label.',\n table: {\n category: 'ifx-segmented-control props',\n defaultValue: {\n summary: false,\n }\n }\n },\n ifxChange: {\n description: `Custom event emitted when the segment is changed.`,\n table: {\n category: 'custom events',\n type: {\n summary: 'Framework integration',\n detail: `\nReact: onIfxChange={handleChange}\nVue: @ifxChange=\"handleChange\"\nAngular: (ifxChange)=\"handleChange()\"\nVanillaJs: .addEventListener(\"ifxChange\", (event) => {/*handle change*/});`,\n }\n }\n }\n }\n}\n\nconst Template = (args) => {\n const wrapper = document.createElement('div');\n wrapper.innerHTML = `\n<ifx-segmented-control\ncaption = '${args.caption}'\nlabel = '${args.label}'\nsize = '${args.size}'\nerror = '${args.error}'\nrequired = '${args.required}'>\n ${(() => {\n return Array.from({ length: args.amountOfSegments }, (_, segmentId) => {\n const segment = document.createElement('ifx-segment');\n segment.innerText = args.labelOfSegment;\n segment.setAttribute('value', `${args.value}${segmentId + 1}`);\n segment.setAttribute('icon', `${args.icon}`);\n if (args.selected === true && segmentId === 1) segment.setAttribute('selected', 'true');\n return segment.outerHTML;\n }).join(`\\n `);\n })()\n }\n</ifx-segmented-control> \n`;\n const segmentedControl = wrapper.querySelector('ifx-segmented-control');\n segmentedControl.addEventListener('ifxChange', action('ifxChange'));\n\n return segmentedControl;\n};\n\nexport const Default = Template.bind({});"]}
@@ -360,25 +360,25 @@ export class MultiselectOption {
360
360
  const additionalPadding = this.hasChildren ? 0 : 28;
361
361
  let totalPadding = basePadding + additionalPadding;
362
362
  const optionItemStyle = isFlatMultiselect ? undefined : { paddingLeft: `${totalPadding}px` };
363
- return (h(Host, { key: '53ab714e5bc86c83569b2c1cf6f479405f528880' }, h("div", { key: 'b5597349b4d3ef268b5826047f414dd7ce0c7854', class: {
363
+ return (h(Host, { key: 'bb8e548f32f1437bf90887848ba4920c5410e2ef' }, h("div", { key: 'de3cd2b3d7a37d7fbad176130d7be8435217f72f', class: {
364
364
  'option': true,
365
365
  'option--has-children': this.hasChildren,
366
366
  'option--expanded': this.isExpanded,
367
367
  'option--disabled': this.disabled,
368
368
  'option--selected': this.selected,
369
- }, role: "option", "aria-expanded": this.hasChildren ? (this.isExpanded ? 'true' : 'false') : undefined, "aria-selected": this.selected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "data-level": this.depth, "data-value": this.value }, h("div", { key: '3052a22b111e61ac0e48ecd64460c35aa2b06fea', class: "option-item", style: optionItemStyle }, h("div", { key: 'a392db43dbb81f06a4cfd4e5faad7672108bc4bb', class: "chevron-wrapper", tabIndex: this.hasChildren ? 0 : -1, role: this.hasChildren ? "button" : undefined, "aria-label": this.hasChildren ? (this.isExpanded ? "Collapse" : "Expand") : undefined, onClick: (e) => { e.stopPropagation(); this.toggleExpansion(); }, onKeyDown: (e) => {
369
+ }, role: "option", "aria-expanded": this.hasChildren ? (this.isExpanded ? 'true' : 'false') : undefined, "aria-selected": this.selected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "data-level": this.depth, "data-value": this.value }, h("div", { key: 'e044ecb428356e6ebdda2ef68897ae76193295f7', class: "option-item", style: optionItemStyle }, h("div", { key: '8adc3faf7fdcef383b70af280380f54eb61eeafd', class: "chevron-wrapper", tabIndex: this.hasChildren ? 0 : -1, role: this.hasChildren ? "button" : undefined, "aria-label": this.hasChildren ? (this.isExpanded ? "Collapse" : "Expand") : undefined, onClick: (e) => { e.stopPropagation(); this.toggleExpansion(); }, onKeyDown: (e) => {
370
370
  if (e.key === 'Enter' || e.key === ' ') {
371
371
  e.preventDefault();
372
372
  e.stopPropagation();
373
373
  this.toggleExpansion();
374
374
  }
375
- } }, this.hasChildren && (h("ifx-icon", { key: '033471dbc46d73d82f0ab44a07a1dfa5fd9625fb', class: `chevron ${this.isExpanded ? 'chevron--expanded' : 'chevron--collapsed'}`, icon: "chevron-right-16" }))), h("div", { key: 'd6fc07097a390e9e29f8c4dcc55c90f755b10fc9', class: "checkbox-wrapper", onClick: (e) => e.stopPropagation() }, h("ifx-checkbox", { key: '7d39f30d45c2f917edd924b3b8ce6c22f4146c19', size: 's', checked: (this.isSearchActive && this.isSearchDisabled) ? false : (this.indeterminate ? false : this.selected), indeterminate: (this.isSearchActive && this.isSearchDisabled) ? false : this.indeterminate, onClick: this.handleCheckboxClick, disabled: this.disabled || (this.isSearchActive && this.isSearchDisabled), onKeyDown: (e) => {
375
+ } }, this.hasChildren && (h("ifx-icon", { key: '52efbb8cd112aa0eeee29343ac0ec10ba1bc9205', class: `chevron ${this.isExpanded ? 'chevron--expanded' : 'chevron--collapsed'}`, icon: "chevron-right-16" }))), h("div", { key: '44bd32728a3ea912a8ef8093d2cac6bfc694b68f', class: "checkbox-wrapper", onClick: (e) => e.stopPropagation() }, h("ifx-checkbox", { key: 'a98c32908bb424bc1e288bcc1bf4efe3d82c3630', size: 's', checked: (this.isSearchActive && this.isSearchDisabled) ? false : (this.indeterminate ? false : this.selected), indeterminate: (this.isSearchActive && this.isSearchDisabled) ? false : this.indeterminate, onClick: this.handleCheckboxClick, disabled: this.disabled || (this.isSearchActive && this.isSearchDisabled), onKeyDown: (e) => {
376
376
  if (e.key === 'Enter' || e.key === ' ') {
377
377
  e.preventDefault();
378
378
  e.stopPropagation();
379
379
  this.handleCheckboxClick(e);
380
380
  }
381
- } })), h("div", { key: 'e09de6a2559a8334553abb9d45b901c1459a2da7', class: "option-label", onClick: this.handleHeaderClick, tabIndex: -1 }, h("slot", { key: '941edb6987ef6add787211833e0e1aad0d5b9066' }))), this.isExpanded && h("div", { key: 'b5248d64937e418587f1c807e434874be4952f48', class: "option-children" }, h("slot", { key: '8e6e69e5000661632c114279a5afc5c80f361b8e', name: "children" })))));
381
+ } })), h("div", { key: '7d237a5ca48f9dc65172b8ef618b84ed2e7b17d6', class: "option-label", onClick: this.handleHeaderClick, tabIndex: -1 }, h("slot", { key: '2373e7bb5fab0adfbf5b2ad168ef35e0862180cc' }))), this.isExpanded && h("div", { key: 'f94abd9c2fdd8db52030c4987859e11cc2fb47fd', class: "option-children" }, h("slot", { key: '9ed879225d6ad7dba8b13e690c3b89e2fbbbba0c', name: "children" })))));
382
382
  }
383
383
  static get is() { return "ifx-multiselect-option"; }
384
384
  static get encapsulation() { return "shadow"; }
@@ -227,9 +227,9 @@ export class Choices {
227
227
  // destroy choices element to restore previous dom structure
228
228
  // so vdom can replace the element correctly
229
229
  this.destroy();
230
- return (h("div", { key: 'd08be041b64aacef38748401e3dbac7a64ea2b8f', class: `ifx-select-container` }, this.label ? (h("div", { class: "ifx-label-wrapper" }, h("span", null, this.label))) : null, h("div", { key: '302f1ac659b7cea0d9ce22bcac93ba085ea7c9fd', class: `${choicesWrapperClass}
230
+ return (h("div", { key: '7635246674406b28c15ba740462ec8f8e2dfc129', class: `ifx-select-container` }, this.label ? (h("div", { class: "ifx-label-wrapper" }, h("span", null, this.label))) : null, h("div", { key: 'c3ecc9a0ec839ad5fbc3a77f884694c3a8a1a078', class: `${choicesWrapperClass}
231
231
  ${this.disabled ? 'disabled' : ''}
232
- ${this.error ? 'error' : ''}`, onClick: this.disabled ? undefined : (e) => this.handleWrapperClick(e), onKeyDown: event => this.handleKeyDown(event) }, h("select", Object.assign({ key: '38a4f3d737e2b29ba79fe23f860a402b7a87c57e', class: 'single__select-input-field', disabled: this.disabled }, attributes, { "data-trigger": true, onChange: () => this.handleChange() }), this.createSelectOptions(this.options)), h("div", { key: '93111de53b6730eb4961dc105411f20d64ed3df2', class: 'single__select-icon-container' }, this.optionIsSelected && (h("div", { key: '22dc4113a533c66d1bc95c80ac5f30417ccaba55', class: `ifx-choices__icon-wrapper-delete ${!this.showClearButton ? 'hide' : ''}` }, h("ifx-icon", { key: 'cfdb59808f17a1e2ac4e49020254cefde32f5903', icon: "cRemove16", onClick: () => this.clearSelection() }))), h("div", { key: '00c20bebd4a8a8e4f454f03e32ac2e60fe4f2fa3', class: "ifx-choices__icon-wrapper-up" }, h("ifx-icon", { key: "icon-up", icon: "chevron-up-16" })), h("div", { key: 'be67ce07e6a218303cab997a7e7dfa72d0d4ee32', class: "ifx-choices__icon-wrapper-down" }, h("ifx-icon", { key: "icon-down", icon: "chevron-down-16" })))), this.error ? (h("div", { class: "ifx-error-message-wrapper" }, h("span", null, this.errorMessage))) : null));
232
+ ${this.error ? 'error' : ''}`, onClick: this.disabled ? undefined : (e) => this.handleWrapperClick(e), onKeyDown: event => this.handleKeyDown(event) }, h("select", Object.assign({ key: 'da15a89e5cddb4e96b5a8a30d54bc39f0b918ec0', class: 'single__select-input-field', disabled: this.disabled }, attributes, { "data-trigger": true, onChange: () => this.handleChange() }), this.createSelectOptions(this.options)), h("div", { key: '5d6d13b9d7e398dff1e3dd7be1242e3ea371fb15', class: 'single__select-icon-container' }, this.optionIsSelected && (h("div", { key: '27e88333d3f484c902728bccc3cda3adb55fb792', class: `ifx-choices__icon-wrapper-delete ${!this.showClearButton ? 'hide' : ''}` }, h("ifx-icon", { key: '3e1307cfa3ca93bcd6da6eb69a4b8bc8d22b3127', icon: "cRemove16", onClick: () => this.clearSelection() }))), h("div", { key: '121f4029db4e17393d7029b91610bb0383b886b2', class: "ifx-choices__icon-wrapper-up" }, h("ifx-icon", { key: "icon-up", icon: "chevron-up-16" })), h("div", { key: '53d963cf1526db6f1039bdf9270183dbe1dacba2', class: "ifx-choices__icon-wrapper-down" }, h("ifx-icon", { key: "icon-down", icon: "chevron-down-16" })))), this.error ? (h("div", { class: "ifx-error-message-wrapper" }, h("span", null, this.errorMessage))) : null));
233
233
  }
234
234
  toggleDropdown() {
235
235
  const div = this.root.querySelector('.ifx-choices__wrapper');